KR100426304B1 - 스마트 카드 에뮬레이터 및 그 에뮬레이션 방법 - Google Patents

스마트 카드 에뮬레이터 및 그 에뮬레이션 방법 Download PDF

Info

Publication number
KR100426304B1
KR100426304B1 KR10-2001-0057083A KR20010057083A KR100426304B1 KR 100426304 B1 KR100426304 B1 KR 100426304B1 KR 20010057083 A KR20010057083 A KR 20010057083A KR 100426304 B1 KR100426304 B1 KR 100426304B1
Authority
KR
South Korea
Prior art keywords
module
smart card
emulation
emulator
interface
Prior art date
Application number
KR10-2001-0057083A
Other languages
English (en)
Other versions
KR20030024100A (ko
Inventor
박지만
전용성
박영수
정교일
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR10-2001-0057083A priority Critical patent/KR100426304B1/ko
Publication of KR20030024100A publication Critical patent/KR20030024100A/ko
Application granted granted Critical
Publication of KR100426304B1 publication Critical patent/KR100426304B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0723Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips the record carrier comprising an arrangement for non-contact communication, e.g. wireless communication circuits on transponder cards, non-contact smart cards or RFIDs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

본 발명은 간단한 하드웨어 로직의 설계 변경을 통해 접촉/비접촉 겸용의 스마트 카드와 USB 카드 개발을 효과적으로 실현할 수 있도록 한다는 것으로, 이를 위하여 본 발명은, 접촉/비접촉 겸용의 스마트 카드 및 그 운영 시스템을 개발할 수 있는 하드웨어적인 기능을 제공하지 않는 종래 에뮬레이터와는 달리, 간단한 VHDL 코딩이 변형을 통해 카드의 논리적인 하드웨어 설계 변경을 손쉽게 수행할 수 있도록 함으로써, 다양한 종류의 스마트 카드의 구조, 카드 OS, 범용 인터페이스를 이용하는 ASIC 등의 개발용으로 이용할 수 있으며, USB 인터페이스 및 UART 인터페이스 수단을 채용함으로써, 카드 리더를 필요로 하지 않는 스마트 카드(구조, OS, ASIC)를 효과적으로 개발할 수 있는 것이다.

Description

스마트 카드 에뮬레이터 및 그 에뮬레이션 방법{SMART CARD EMULATOR AND EMULATION METHOD THEREOF}
본 발명은 스마트 카드 에뮬레이터 기법에 관한 것으로, 더욱 상세하게는 접촉 또는 비접촉 방식의 데이터 인터페이스를 수행하며, 출입문 카드, 건강 카드, 버스 카드 등에 사용하는데 적합한 접촉 비접촉 겸용의 스마트 카드를 에뮬레이션하는데 접합한 스마트 카드 에뮬레이터 및 그 에뮬레이션 방법에 관한 것이다.
최근 들어, 신용 및 보안에 대한 사회적 인식이 확산되면서 스마트 카드에 대한 수요가 급팽창하고 있는데, 이러한 스마트 카드로는 접촉식, 비접촉식, 접촉/비접촉식이 있으며, 접촉식은 스마트 카드를 카드 리더에 스캔하여 인터페이스하는 방식이고, 비접촉식은 스마트 카드를 카드 리더의 근접 거리로 접근시켜 인터페이스하는 방식이다.
따라서, 다양한 용도 및 형태의 카드 시스템을 제조하기 위해서는 카드 시스템의 기능 및 성능을 테스트하기 위한 에뮬레이터의 사용이 필수적이라 할 수 있다.
종래의 대표적인 테스트 기술로는, 일 예로서 도 7에 도시된 바와 같은 구성을 갖는 암(ARM) 에뮬레이터가 있으며, 이러한 종래 암 에뮬레이터는, 크게 구분해 볼 때, 하나의 마더 보드(710), n개의 코어 보드(720) 및 하나의 논리 보드(730)를 포함하며, 각 보드간은 도시 생략된 커넥터를 통해 유기적으로 결합된다.
도 7을 참조하면, 마더 보드(710)는 시스템 버스를 통해 상호 유기적으로 연결되는 FPGA(field programmable gate array)(711), 플래시 메모리(712), SRAM(713), 부트 ROM(714) 등을 포함하고, 각 코어 보드(720)도 시스템 버스를 통해 상호 유기적으로 연결되는 FPGA(721), SDRAM(722), SSRAM(723), ARM 코어(724) 등을 포함하며, 논리 보드(730) 또한 시스템 버스를 통해 상호 유기적으로 연결되는 FPGA(731), 메모리(732) 등을 포함한다. 또한, 동 도면에서의 도시는 생략하였으나, 각 보드에는 에뮬레이션 수행에 필요한 각종 소자들(예를 들면, 각종 모듈 커넥터, 각종 버스 인터페이스, 각종 인터페이스 커넥터, 컴퓨터와의 연결 장치, 임의 조작을 위한 각종 버튼 등)이 채용된다.
따라서, 상술한 바와 같은 구성을 갖는 종래 암 에뮬레이터는 도시 생략된 인터페이스 보드를 통해 에뮬레이션을 위한 신호가 마더 보드(710)로 입력될 때, 커넥터를 통해 상호 유기적으로 연결된 마더 보드(710), 코어 보드(720) 및 논리 보드(730)내의 각 블록들을 경유하는 신호 처리를 통해 에뮬레이션을 수행하게 된다.
한편, 상술한 바와 같은 종래 암 에뮬레이터는 저 전력용 시스템(예를 들면, 셀룰러폰, 개인 휴대 통신(PCS), 개인 휴대 단말(PDA)의 개발을 위한 에뮬레이션을 수행하는데 이용되는 것으로, 접촉/비접촉 겸용의 스마트 카드 및 그 운용 시스템과 USB(universal serial bus) 카드의 개발을 위한 에뮬레이션을 수행할 수 있는 하드웨어적인 기능을 전혀 제공하지 못하고 있는 실정이다.
즉, 접촉/비접촉 겸용의 스마트 카드 및 그 운용 시스템과 USB 카드의 개발을 위한 에뮬레이션을 위해서는 접촉/비접촉 겸용의 인터페이스 보드, 스마트 카드 또는 USB 카드의 에뮬레이션을 위한 자체 CPU, UART 통신 회로 등과 같은 다양한 구현해야만 하는데, 종래 암 에뮬레이터에서는 이들의 구현을 위한 하드웨어 기능을 채용하고 있지 않기 때문에 스마트 카드, USB 카드의 개발을 위한 에뮬레이션을 전혀 제공할 수 없었다.
한편, 종래 암 에뮬레이터를 이용하여 접촉/비접촉 겸용의 스마트 카드 및 그 운용 시스템과 USB 카드의 개발을 위한 에뮬레이션을 실행할 수 있도록 하기 위하여 필요로 하는 하드웨어 기능들을 추가하는 방식으로 구현할 수도 있겠으나, 이 경우 실제로 카드 에뮬레이션을 실행하는데 필요로 하지 않는 많은 하드웨어 기능들을 갖는 결과가 됨으로써, 시스템 운영체계인 COS(card operating system)를 실제 카드처럼 개발할 수 없다는 문제, 즉 카드의 표준 구현이 곤란하다는 문제가 있으며, 칩으로 제작할 경우 시스템의 정확한 기능을 표현할 방법이 없다는 문제가 있다..
더욱이, 종래 암 에뮬레이터에 하드웨어 기능을 추가하는 방식의 경우, 에뮬레이터의 구조가 불필요하게 복잡하게 될 뿐만 아니라 그로 인해 에뮬레이터의 가격이 상승하게 되는 또 다른 문제가 있다.
그러므로, 종래 기술에 따르면, 표준 프로토콜의 실제적인 적용과 칩 환경을 고려한 접촉/비접촉 겸용 스마트 카드, USB 카드, UART 카드 기반의 카드 개발에 많은 어려움이 수반될 수밖에 없었다.
본 발명은 상기한 종래 기술의 문제점을 해결하기 위한 것으로, 간단한 하드웨어 로직의 설계 변경을 통해 접촉/비접촉 겸용의 스마트 카드와 USB 카드 개발을 효과적으로 실현할 수 있는 스마트 카드 에뮬레이터 및 그 에뮬레이션 방법을 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 일 관점에 따른 본 발명은, 임의의 스마트 카드 및 그 운영 시스템의 설계를 위한 에뮬레이션을 수행하는 스마트 카드 에뮬레이터에 있어서, 사용자 조작에 의거하여 하드웨어 로직 설계를 위한 VHDL 코드를 생성하며, 에뮬레이션 실행 결과를 제공받아 출력하는 입출력 수단; 상기 생성된 VHDL 코드를 저장하고, 에뮬레이션의 실행에 필요한 실행 프로그램 및 다수의 응용 프로그램을 저장하는 메모리 수단; 상기 에뮬레이션의 실행에 필요한 전반적인 제어 기능을 수행하는 제어 수단; 상기 저장된 VHDL 코드에 의거하여 하드웨어 논리를 설계하고, 상기 실행 프로그램 및 임의의 응용 프로그램에 따라 상기 설계된 하드웨어 논리를 통해 접촉식 또는 비접촉식 스마트 카드의 에뮬레이션을 실행하며, 에뮬레이션의 실행 결과를 상기 입출력 수단에 제공하는 신호 처리 수단; 및 상기 에뮬레이션의 실행을 위해 외부 장치와 상기 신호 처리 수단간의 데이터를 인터페이스하는 인터페이스 수단으로 이루어진 스마트 카드 에뮬레이터를 제공한다.
상기 목적을 달성하기 위한 다른 관점에 따른 본 발명은, 임의의 스마트 카드 및 그 운영 시스템의 설계를 위한 에뮬레이션을 수행하는 스마트 카드 에뮬레이션 방법에 있어서, 목표로 하는 접촉식 또는 비접촉식의 스마트 카드 및 그 운영 시스템의 설계에 필요한 VHDL 코드를 생성하는 제 1 과정; 상기 생성된 VHDL 코드에 의거하여 필드 프로그래머블 게이트 어레이(FPGA)를 하드웨어 논리로 자동 설계하는 제 2 과정; 준비된 다수의 응용 프로그램 중 상기 설계된 하드웨어 논리에 대응하는 응용 프로그램과 실행 프로그램을 이용하여 외부 장치와의 데이터 인터페이스를 수행함으로써 상기 접촉식 또는 비접촉식 스마트 카드에 대한 에뮬레이션을 수행하는 제 3 과정; 상기 에뮬레이션 결과를 모니터 상에 디스플레이하는 제 4 과정; 및 사용자가 상기 VHDL 코드의 일부를 변형시킬 때마다 그에 응답하여 상기 하드웨어 논리를 변경시킨 후 상기 제 3 과정 및 제 4 과정을 반복 수행하는 제 5 과정으로 이루어진 스마트 카드 에뮬레이션 방법을 제공한다.
도 1은 본 발명의 바람직한 실시 예에 따른 스마트 카드 에뮬레이터의 블록 구성도,
도 2는 도 1에 도시된 제 2 메모리 블록의 세부 구성도,
도 3은 도 1에 도시된 신호 처리 블록에 대한 일 실시 예의 세부 구성도,
도 4는 도 1에 도시된 인터페이스 블록에 대한 일 실시 예의 세부 구성도,
도 5는 도 1에 도시된 신호 처리 블록에 대한 다른 실시 예의 세부 구성도,
도 6은 도 1에 도시된 인터페이스 블록에 대한 다른 실시 예의 세부 구성도,
도 7은 종래 암 에뮬레이터의 개략적인 블록구성도.
<도면의 주요 부분에 대한 부호의 설명>
100 : 컴퓨터 202 : 제어 블록
204, 208 : 포트 206, 210 : 메모리 블록
212 : 클럭 발생 블록 214 : 신호 처리 블록
216 : 인터페이스 블록 2102 : SRAM
2104 : ROM 2106, 2120 : 플래시 메모리
2108 : EEPROM 2142a, 2142b : 내부 버스
2144 : 암호화 모듈 2146 : 난수 발생 모듈
2148 : 버스 제어 모듈 2150 : 메모리 관리 모듈
2152 : 브리지 모듈 2154 : 타이머
2156 : 인터럽트 모듈 2158 : RFI 모듈
2160 : SCI 모듈 2162 : USB 모듈
2164 : UART 모듈 2172 : RFC 인터페이스 보드
2174 : SCI 인터페이스 보드 2176 : USB 인터페이스 보드
2178 : UART 인터페이스 보드
본 발명의 상기 및 기타 목적과 여러 가지 장점은 이 기술분야에 숙련된 사람들에 의해 첨부된 도면을 참조하여 하기에 기술되는 본 발명의 바람직한 실시 예로부터 더욱 명확하게 될 것이다.
이하 첨부된 도면을 참조하여 본 고안의 바람직한 실시 예에 대하여 상세하게 설명한다.
도 1은 본 발명의 바람직한 실시 예에 따른 스마트 카드 에뮬레이터의 블록 구성도로서, 본 발명의 스마트 카드 에뮬레이터는 컴퓨터(100), 제어 블록(202), 두 개의 포트(204, 208), 제 1 메모리 블록(206), 제 2 메모리 블록(210), 클럭 발생 블록(212), 신호 처리 블록(214) 및 인터페이스 블록(216)을 포함한다.
도 1을 참조하면, 제어 블록(202)은, 스마트 카드의 에뮬레이션을 수행하는데 필요한 전반적인 제어(즉, 스마트 카드 표준에 따른 프로토콜의 제어)를 수행하는 마이크로 프로세서인 것으로, 클럭 발생 블록(212)으로부터 제공되는 클럭에 의거하여 신호 처리 블록(214)의 동작 제어 및 컴퓨터(100)와의 메시지 전달을 수행하며, 또한 포트(204)를 통해 접촉식 또는 비접촉식 스마트 카드에 대한 에뮬레이션 결과 데이터를 컴퓨터(100)로 전달한다. 따라서, 접촉식 또는 비접촉식 스마트 카드에 대한 에뮬레이션을 수행하면 컴퓨터(100)의 모니터 상에는 그 결과 데이터가 디스플레이된다.
다음에, 제 1 메모리 블록(206)은, 예를 들면 PROM인 것으로, 하드웨어 로직을 설계하는데 필요한 VHDL(VHSIC(very high speed integrated circuit) hardware description language) 코드가 저장, 즉 포트(208)를 통해 컴퓨터(100)로부터 제공되는 VHDL 코드가 저장되며, 여기에 저장된 VHDL 코드는 버스를 통해 신호 처리 블록(214)으로 다운로드 된다. 여기에서, VHDL은 초고속 집적 회로 하드웨어 기술 언어인 것으로, 장치 규격의 시뮬레이션, 설계, 검증 등에 적합하도록 설계된 언어이다.
또한, 제 2 메모리 블록(210)은, 일 예로서 도 2에 도시된 바와 같이, SRAM(2102), ROM(2104), EEPROM(2108) 및 두 개의 플래시 메모리(2106, 2120)로 구성될 수 있는데, SRAM(2102)은 에뮬레이터의 실행에 따른 내용을 읽어 들여 읽고 쓰는 기능을 수행하고, ROM(2104)에는 에뮬레이터의 O/S 프로그램(실행 프로그램)이 저장되며, EEPROM(2108)에는 각종 스마트 카드(예를 들면, 출입문 카드, 건강 카드, 버스 카드 등)의 응용 프로그램이 저장된다. 여기에서, ROM(2104)에 연결되는 플래시 메모리(2106)와 EEPROM(2108)에 연결되는 플래시 메모리(2120)는 이중화를 위한 병렬 처리용 메모리이다.
한편, 신호 처리 블록(214)은, 사용자 정의의 추가 기능 모듈의 구현을 위한 FPGA(field programmable gate array), 즉 집적회로 설계의 프로토타입 제작용으로 주로 이용되는 FPGA인 것으로, 제 1 메모리 블록(206)을 통해 다운로드받은 VHDL 코드에 따라 가변적인 논리 연결 시스템(즉, 하드웨어 논리)을 구성하여, 제어 블록(202)으로부터의 제어에 따라 접촉식 또는 비접촉식 스마트 카드의 시뮬레이션을 실행, 즉 내부 버스를 통해 상호 물리적으로 연결되는 제어 블록(202), 제 1 메모리 블록(208), 제 2 메모리 블록(210) 및 인터페이스 블록(216)간의 신호 처리를 통해 시뮬레이션을 실행(즉, 스마트 카드에 필요한 기능 모듈을 구현하기 위해 VHDL 코드로 프로그래밍되어 구현됨)하는데, 이러한 신호 처리 블록(214)은, 일 예로서 도 3에 도시된 바와 같은 구성을 갖는다.
도 3은 도 1에 도시된 신호 처리 블록에 대한 일 실시 예의 세부 구성도로서, 내부 버스(2142a)를 통해 상호 물리적으로 연결되는 암호화 모듈(2144), 난수발생 모듈(2146), 버스 제어 모듈(2148), 메모리 관리 모듈(2150) 및 브리지 모듈(2152)을 포함하고, 내부 버스(2142b)를 통해 브리지 모듈(2152)에 상호 물리적으로 연결되는 타이머(2154), 인터럽트 모듈(2156), RFI(radio frequency interface) 모듈(2158), SCI(smart card interface) 모듈(2160) 및 USB(universal serial bus) 모듈(2162)을 포함한다. 여기에서, 이중 버스 구조를 갖는 신호 처리 블록(214)내의 내부 버스(2142a)는 고속의 버스 라인이고, 내부 버스(2142b)는 상대적으로 저속의 버스 라인이다. 여기에서, 타이머(2154)는 에뮬레이션에 필요한 타이밍을 발생하고, 인터럽트 모듈(2156)은 에뮬레이션 시에 필요로 하는 인터럽트 신호를 발생한다.
도 3을 참조하면, 암호화 모듈(2144)은 각 응용분야에 따른 보안성을 고려하여, RSA(Rivest Shamir Adleman), 타원곡선, 3-DES(Data Encryption Standard) 암호 알고리즘을 하드웨어 모듈로 구현하여 데이터를 암호화하고, 난수 발생 모듈(2146)은 도시 생략된 카드 리더 사이의 상호 인증을 위한 난수를 발생한다.
여기에서, 본 발명은 제어 블록(202)을 마스터(Master)로 구성하고 신호 처리 블록(214)내의 모듈들(암호화 모듈(2144), 난수 발생 모듈(2146), 버스 제어 모듈(2148), 메모리 관리 모듈(2150), 브리지 모듈(2152))을 슬래브(Slave)로 구성하여 에뮬레이터의 버스를 제어하도록 구성하거나 혹은 제어 블록(202)과 암호화 모듈(2144)을 마스터로 구성하고 나머지 모듈들(난수 발생 모듈(2146), 버스 제어 모듈(2148), 메모리 관리 모듈(2150), 브리지 모듈(2152))을 슬래브(Slave)로 구성하여 에뮬레이터의 버스를 제어하도록 구성할 수 있다.
다음에, 메모리 관리 모듈(2150)은 도 1에 도시된 제 2 메모리 블록(210)내 각 메모리의 효율적인 사용을 관리하며, 브리지 모듈(2152)은 고속의 내부 버스(2142a)와 저속의 내부 버스(2142b)간을 연결함으로써 입출력 인터페이스 모듈(즉, RFI 모듈(2158), SCI 모듈(2160), USB 모듈(2162))들과 기타 모듈들간을 물리적으로 연결시켜 주는 기능을 수행한다.
한편, RFI 모듈(2158)은 비접촉식 스마트 카드를 위한 인터페이스 모듈인 것으로, 송수신 신호인 TX 및 RX 스마트 카드의 통신 속도를 위해 후술하는 도 4에 도시된 RFC(radio frequency circuit) 인터페이스 보드(2172)에서 발생되는 클럭을 받아들이며, 비접촉식 스마트 카드의 프로토콜을 위한 서브 캐리어 온 신호(Sub_On)를 발생하는 등의 기능을 수행한다.
또한, SCI 모듈(2160)은 접촉식 스마트 카드를 위한 인터페이스 모듈인 것으로, 송수신 신호인 TX 및 RX가 접촉 입출력 단자에 직접 연결되고, 스마트 카드의 통신 속도를 클럭 접촉 단자에서 발생되는 클럭, 즉 스마트 카드의 프로토콜을 위해 사용되는 클럭을 받아들인다.
다음에, USB 모듈(2162)은 별도의 카드 리더가 필요 없이 서버 또는 컴퓨터와 직접 통신을 수행하는데 필요한 인터페이스를 제공하는 것으로, 단지 접촉 단자만 물리적으로 제작하여 연결함으로써 통신을 수행할 수 있도록 해 준다.
따라서, 상기한 바와 같은 인터페이스 모듈들(2158, 2160, 2162)에 대응할 수 있도록 도 1의 인터페이스 블록(216)은, 예를 들어 도 4에 도시된 바와 같은 구성을 갖는다.
즉, 도 4를 참조하면, 도 1의 인터페이스 모듈(216)내 RFC 인터페이스 보드(2172)는 RFC와 안테나를 구비하여 도 3의 RFI 모듈(2158)과 카드 리더간의 비접촉식 통신을 인터페이스하고, SCI 인터페이스 보드(2174)는 SCI 모듈(2160)과 카드 리더간의 접촉식 통신을 인터페이스하며, USB 인터페이스 보드(2176)는 USB 모듈(2162)과 유선 케이블을 통해 연결되는 서버 또는 컴퓨터간의 직접 통신을 인터페이스한다.
따라서, 상술한 바와 같은 구성을 갖는 본 실시 예에 따른 신호 처리 블록을 채용하는 본 발명의 스마트 카드 에뮬레이터는 VHDL 코딩을 통해 사용자가 원하는 접촉식 또는 비접촉식의 스마트 카드(예를 들면, 출입문 카드, 건강 카드, 버스 카드 등)에 대한 하드웨어를 설계한 후 카드 리더를 통해 스마트 카드와 에뮬레이터간에 통신을 수행하여 그 결과를 컴퓨터 모니터 상에 디스플레이하며, 모니터 상에 디스플레이되는 에뮬레이션 결과에 근거하여 필요에 따른 VHDL 변형을 통해 하드웨어 로직 설계를 부분적으로 변경해 가는 방식으로 다양한 종류의 스마트 카드에 대한 설계 및 검증을 수행함으로써, 접촉식 또는 비접촉식의 각종 스마트 카드 및 그 운영 시스템을 효율적으로 개발할 수 있다.
즉, 본 발명에서는 설계하고자 하는 임의의 스마트 카드에 대응하는 VHDL 코드를 생성하고, 이 생성된 VHDL 코드를 이용하여 하드웨어 논리를 설계하여 접촉/비접촉 또는 직접 통신 방식으로 에뮬레이션을 수행한 후 그 결과를 컴퓨터의 모니터 상에 디스플레이하며, 이를 통해 에뮬레이션 동작 결과에 대한 이상 여부를 체크한다. 여기에서의 체크 결과 이상이 검출될 때 사용자가 이상을 유발시킨 VHDL코드의 일부를 변형하여 하드웨어 논리의 설계를 일부 변경한 후 다시 에뮬레이션을 수행하는 방식으로 하여 최적의 하드웨어 논리를 설계하는 방식을 취하기 때문에 이러한 에뮬레이션을 통해 접촉식 또는 비접촉식의 각종 스마트 카드 및 그 운영 시스템을 효율적으로 개발할 수 있다.
또한, 본 실시 예의 스마트 카드 에뮬레이터는 서버 또는 컴퓨터에 연결할 수 있는 USB 인터페이스를 채용하기 때문에 카드 리더를 필요로 하지 않는 다양한 종류의 스마트 카드 운영 시스템에 대한 개발을 더욱 효과적으로 지원할 수 있다.
다른 한편, 본 발명에 따른 스마트 카드 에뮬레이터에 채용되는 신호 처리 블록(214)은, 도 3에 도시된 구조와는 달리, 일 예로서 도 5에 도시된 바와 같이 구성할 수도 있다.
즉, 도 5는 도 1에 도시된 신호 처리 블록에 대한 다른 실시 예의 세부 구성도이다.
도 5를 참조하면, 본 실시 예에 따른 신호 처리 블록은, 저속의 내부 버스(2142b)를 통해 브리지 모듈(2152)에 연결되는 UART(universal asynchronous receiver/transmitter : 범용 비동기화 송수신기) 모듈(2164)을 더 포함하여 구성한다는 점이 도 3에 도시된 신호 처리 블록의 구성과 다르며, 그 이외의 구성부재들은 실질적으로 동일하다.
따라서, 도 5에서는, 이해의 증진을 위해, 도 3에 도시된 구성부재와 실질적으로 동일한 구성부재에 대해서는 동일한 참조번호로 표시하였으며, 이하에서는, 명세서의 간결화를 위한 불필요한 중복기재를 피하기 위하여, 실질적으로 동일한구성부재에 대해서는 그 설명을 생략한다.
즉, 본 실시 예에 따르면, UART 통신 장치와의 직렬 통신을 위한 UART 모듈(2164)을 신호 처리 블록(214)내에 포함하고, 이에 대응하여, 일 예로서 도 6에 도시된 바와 같이, 인터페이스 블록(216)내에 UART 인터페이스 보드(2178)를 더 채용하며, 이를 통해 스마트 카드 에뮬레이터와 UART 통신 장치의 통신을 실현함으로써, 카드 리더를 필요치 않는 카드 운영 시스템을 효과적으로 설계할 수 있다. 즉, 접촉 단자만 물리적으로 제작하여 UART 통신 장치와 연결함으로써 통신을 수행할 수 있다.
따라서, 상술한 바와 같이 UART 인터페이스 수단을 채용하는 본 실시 예의 스마트 카드 에뮬레이터는 UART 인터페이스 수단을 채용하지 않는 스마트 에뮬레이터와 동일한 효과를 얻을 수 있을 뿐만 아니라 카드 리더를 필요로 하지 않는 UART 통신 장치를 이용한 다양한 종류의 스마트 카드 운영 시스템을 더욱 효과적으로 개발할 수 있다.
더욱이, 본 발명의 실시 예에서는 USB 및 UART를 각각 하나씩 채용하는 것으로 하여 설명하였으나 본 발명이 반드시 이에 한정되는 것은 아니며, 필요 또는 용도에 따라 각각 다수개를 채용할 수도 있다.
한편, 상술한 바람직한 실시 예에서의 도시는 생략하였으나 본 발명의 스마트 카드 에뮬레이터는 카드의 보안 기능을 강화할 수 있는 해독 방지 모듈을 장착할 수도 있으며, 이를 통해 제어 블록, 메모리 블록 및 인터페이스 블록에서 발생하는 데이터 신호를 무단 해킹으로부터 보호할 수 있다.
이상 설명한 바와 같이 본 발명에 따르면, 접촉/비접촉 겸용의 스마트 카드 및 그 운영 시스템을 개발할 수 있는 하드웨어적인 기능을 제공하지 않는 종래 에뮬레이터와는 달리, 간단한 VHDL 코딩의 변형을 통해 카드의 논리적인 하드웨어 설계 변경을 손쉽게 수행할 수 있도록 함으로써, 다양한 종류의 스마트 카드의 구조, 카드 OS, 범용 인터페이스를 이용하는 ASIC 등의 개발용으로 이용할 수 있으며, 더욱이 USB 인터페이스 및 UART 인터페이스 수단을 채용함으로써, 카드 리더를 필요로 하지 않는 스마트 카드(구조, OS, ASIC)를 효과적으로 개발할 수 있다.

Claims (10)

  1. 임의의 스마트 카드 및 그 운영 시스템의 설계를 위한 에뮬레이션을 수행하는 스마트 카드 에뮬레이터에 있어서,
    사용자 조작에 의거하여 하드웨어 로직 설계를 위한 VHDL 코드를 생성하며, 에뮬레이션 실행 결과를 제공받아 출력하는 입출력 수단;
    상기 생성된 VHDL 코드를 저장하고, 에뮬레이션의 실행에 필요한 실행 프로그램 및 다수의 응용 프로그램을 저장하는 메모리 수단;
    상기 에뮬레이션의 실행에 필요한 전반적인 제어 기능을 수행하는 제어 수단;
    상기 저장된 VHDL 코드에 의거하여 하드웨어 논리를 설계하고, 상기 실행 프로그램 및 임의의 응용 프로그램에 따라 상기 설계된 하드웨어 논리를 통해 접촉식 또는 비접촉식 스마트 카드의 에뮬레이션을 실행하며, 에뮬레이션의 실행 결과를 상기 입출력 수단에 제공하는 신호 처리 수단; 및
    상기 에뮬레이션의 실행을 위해 외부 장치와 상기 신호 처리 수단간의 데이터를 인터페이스하는 인터페이스 수단으로 이루어진 스마트 카드 에뮬레이터.
  2. 제 1 항에 있어서, 상기 신호 처리 수단은:
    상기 에뮬레이션을 수행할 때 발생하는 데이터를 암호화하는 암호화 모듈;
    외부 카드 리더 사이의 상호 인증을 위한 난수를 발생하는 난수 발생 모듈;
    각 모듈간을 물리적으로 연결하는 내부 버스를 제어하는 버스 제어 모듈;
    상기 제 2 메모리 블록의 메모리 사용을 관리하는 메모리 관리 모듈;
    타이밍 신호를 발생하는 타이머;
    인터럽트 신호를 발생하는 인터럽트 모듈;
    비접촉식 스마트 카드를 위한 인터페이스를 수행하는 RFI 모듈;
    접촉식 스마트 카드를 위한 인터페이스를 수행하는 SCI 모듈;
    서버 또는 컴퓨터와 직접 통신을 위한 인터페이스를 수행하는 적어도 하나의 USB 모듈; 및
    상기 내부 버스를 통해 상기 각 모듈들을 물리적으로 연결시켜 주는 기능을 수행하는 브리지 모듈을 포함하는 것을 특징으로 하는 스마트 카드 에뮬레이터.
  3. 제 2 항에 있어서, 상기 신호 처리 수단은, UART 통신 장치와의 직접 통신을 위한 인터페이스를 수행하는 적어도 하나의 UART 모듈을 더 포함하는 것을 특징으로 하는 스마트 카드 에뮬레이터.
  4. 제 2 항에 있어서, 상기 에뮬레이터는, 상기 제어 블록을 마스터로 구성하고 상기 각 모듈들을 슬래브로 구성하여 에뮬레이터의 버스를 제어하는 것을 특징으로 하는 스마트 카드 에뮬레이터.
  5. 제 2 항에 있어서, 상기 에뮬레이터는, 상기 제어 블록과 암호화 모듈을 마스터로 구성하고 상기 나머지 모듈들을 슬래브로 구성하여 에뮬레이터의 버스를 제어하는 것을 특징으로 하는 스마트 카드 에뮬레이터.
  6. 제 2 항에 있어서, 상기 신호 처리 수단은 고속 및 저속의 이중 버스 구조를 가지며, 상기 고속의 내부 버스가 상기 암호화 모듈, 난수 발생 모듈, 버스 제어 모듈, 메모리 관리 모듈 및 브리지 모듈을 연결하고, 상기 저속의 내부 버스가 상기 브리지 모듈, 타이머, 인터럽트 모듈, RFI 모듈, SCI 모듈 및 USB 모듈을 연결하는 것을 특징으로 하는 스마트 카드 에뮬레이터.
  7. 제 2 항에 있어서, 상기 인터페이스 수단은:
    상기 RFI 모듈과 카드 리더간의 비접촉 통신을 위한 데이터를 인터페이스하는 RFC 인터페이스 보드;
    상기 SCI 모듈과 카드 리더간의 접촉 통신을 위한 데이터를 인터페이스하는 SCI 인터페이스 보드; 및
    상기 USB 모듈과 상기 서버 또는 컴퓨터와의 직접 통신을 위한 데이터를 인터페이스하는 적어도 하나의 USB 인터페이스 보드를 포함하는 것을 특징으로 하는 스마트 카드 에뮬레이터.
  8. 제 7 항에 있어서, 상기 인터페이스 수단은, UART 모듈과 UART 통신 장치와의 직접 통신을 위한 데이터를 인터페이스하는 적어도 하나의 UART 인터페이스 보드를 더 포함하는 것을 특징으로 하는 스마트 카드 에뮬레이터.
  9. 임의의 스마트 카드 및 그 운영 시스템의 설계를 위한 에뮬레이션을 수행하는 스마트 카드 에뮬레이션 방법에 있어서,
    목표로 하는 접촉식 또는 비접촉식의 스마트 카드 및 그 운영 시스템의 설계에 필요한 VHDL 코드를 생성하는 제 1 과정;
    상기 생성된 VHDL 코드에 의거하여 필드 프로그래머블 게이트 어레이(FPGA)를 하드웨어 논리로 자동 설계하는 제 2 과정;
    준비된 다수의 응용 프로그램 중 상기 설계된 하드웨어 논리에 대응하는 응용 프로그램과 실행 프로그램을 이용하여 외부 장치와의 데이터 인터페이스를 수행함으로써 상기 접촉식 또는 비접촉식 스마트 카드에 대한 에뮬레이션을 수행하는 제 3 과정;
    상기 에뮬레이션 결과를 모니터 상에 디스플레이하는 제 4 과정; 및
    사용자가 상기 VHDL 코드의 일부를 변형시킬 때마다 그에 응답하여 상기 하드웨어 논리를 변경시킨 후 상기 제 3 과정 및 제 4 과정을 반복 수행하는 제 5 과정으로 이루어진 스마트 카드 에뮬레이션 방법.
  10. 제 9 항에 있어서, 상기 외부 장치는, 접촉식 또는 비접촉식의 카드 리더, 서버, 컴퓨터 및 UART 통신 장치 중 어느 하나인 것을 특징으로 하는 스마트 카드 에뮬레이션 방법.
KR10-2001-0057083A 2001-09-17 2001-09-17 스마트 카드 에뮬레이터 및 그 에뮬레이션 방법 KR100426304B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0057083A KR100426304B1 (ko) 2001-09-17 2001-09-17 스마트 카드 에뮬레이터 및 그 에뮬레이션 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0057083A KR100426304B1 (ko) 2001-09-17 2001-09-17 스마트 카드 에뮬레이터 및 그 에뮬레이션 방법

Publications (2)

Publication Number Publication Date
KR20030024100A KR20030024100A (ko) 2003-03-26
KR100426304B1 true KR100426304B1 (ko) 2004-04-08

Family

ID=27724201

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0057083A KR100426304B1 (ko) 2001-09-17 2001-09-17 스마트 카드 에뮬레이터 및 그 에뮬레이션 방법

Country Status (1)

Country Link
KR (1) KR100426304B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101028829B1 (ko) 2010-07-02 2011-04-12 부산대학교 산학협력단 센서리더 에뮬레이터

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100865990B1 (ko) * 2002-05-02 2008-10-29 주식회사 케이티 인터페이스 카드의 양방향 에뮬레이터
KR100965138B1 (ko) * 2003-02-14 2010-06-23 주식회사 비즈모델라인 네트워크 카드 단말기
US7044390B2 (en) * 2003-06-02 2006-05-16 Stmicroelectronics, Inc. Smart card emulator and related methods using buffering interface
KR100788603B1 (ko) * 2007-02-16 2007-12-26 에스케이 텔레콤주식회사 소프트웨어 컴포넌트가 탑재된 스마트 카드와 이동 통신단말기 간의 통신 장치 및 방법
KR100859720B1 (ko) * 2007-03-23 2008-09-23 한국전자통신연구원 Rfid 태그 에뮬레이터 및 에뮬레이팅 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920013106A (ko) * 1990-12-27 1992-07-28 가나이 쓰또무 에뮬레이터 및 에뮬레이션 방법
JPH08129494A (ja) * 1994-11-01 1996-05-21 Texas Instr Japan Ltd エミュレーション時のレジスタモニタ方法
US5604888A (en) * 1994-04-07 1997-02-18 Zycad Corporation Emulation system employing motherboard and flexible daughterboards
JPH09259006A (ja) * 1996-03-26 1997-10-03 Mitsubishi Electric Corp プログラム評価システム
KR20000034907A (ko) * 1998-11-17 2000-06-26 김만복 전자 회로 설계 검증 장치 및 방법
KR20000060737A (ko) * 1999-03-19 2000-10-16 윤덕용 프로세서와 재설정가능 칩을 사용한 집적회로 에뮬레이터

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920013106A (ko) * 1990-12-27 1992-07-28 가나이 쓰또무 에뮬레이터 및 에뮬레이션 방법
US5604888A (en) * 1994-04-07 1997-02-18 Zycad Corporation Emulation system employing motherboard and flexible daughterboards
JPH08129494A (ja) * 1994-11-01 1996-05-21 Texas Instr Japan Ltd エミュレーション時のレジスタモニタ方法
JPH09259006A (ja) * 1996-03-26 1997-10-03 Mitsubishi Electric Corp プログラム評価システム
KR20000034907A (ko) * 1998-11-17 2000-06-26 김만복 전자 회로 설계 검증 장치 및 방법
KR20000060737A (ko) * 1999-03-19 2000-10-16 윤덕용 프로세서와 재설정가능 칩을 사용한 집적회로 에뮬레이터

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101028829B1 (ko) 2010-07-02 2011-04-12 부산대학교 산학협력단 센서리더 에뮬레이터

Also Published As

Publication number Publication date
KR20030024100A (ko) 2003-03-26

Similar Documents

Publication Publication Date Title
US20180260585A1 (en) System with secure soc connections among ip and multiple gpios, and corresponding method
US7413129B2 (en) USB device with secondary USB on-the-go function
US7372290B2 (en) System and method for using dummy cycles to mask operations in a secure microcontroller
Plos et al. Security-enabled near-field communication tag with flexible architecture supporting asymmetric cryptography
US20110238880A1 (en) Interface card system
US20070067539A1 (en) Enhanced CCID circuits and systems utilizing USB and PCI functions
CN113557515A (zh) 外围设备与安全电路系统的兼容性
Feng et al. TEEM: A user-oriented trusted mobile device for multi-platform security applications
KR100426304B1 (ko) 스마트 카드 에뮬레이터 및 그 에뮬레이션 방법
Kim et al. Design and implementation of mobile trusted module for trusted mobile computing
EP1475720B1 (en) Smart card for performing advance operations to enhance performance and related system, integrated circuit and methods
US20080021695A1 (en) ROM emulator and ROM testing method using the same
US10810476B2 (en) Electronic circuit for interconnecting a smartcard chip
KR100426302B1 (ko) 범용 직렬 버스 인터페이스 기능이 포함된 스마트 카드
CN106201938B (zh) 一种芯片、集线器、电子设备及中断usb信号的方法
JP6814305B2 (ja) セキュリティ要素と一体化される端末チップ
KR20040076708A (ko) Arm 코어를 가지는 soc의 fpga를 사용하는 확장가능형 검증 보드
CN214751393U (zh) 微控制器和计算系统
CN109783436B (zh) 一种片上系统
Swastika et al. Design and implementation of smart card interface device on Zynq-7000 system-on-chip
KR20050120341A (ko) 다중 씨피유에서의 메모리 카드 공유 장치
US8352239B2 (en) Emulator interface device and method thereof
Farulla et al. An object-oriented open software architecture for security applications
JPH05334460A (ja) シングルチップマイクロコンピュータ
Jeřábek et al. Emulator of contactless smart cards in FPGA

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130304

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140303

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee