KR101177184B1 - 스마트카드가 내장된 유에스비 동글과 호스트 사이의 통신 방법 및 이를 위한 유에스비 동글장치 - Google Patents
스마트카드가 내장된 유에스비 동글과 호스트 사이의 통신 방법 및 이를 위한 유에스비 동글장치 Download PDFInfo
- Publication number
- KR101177184B1 KR101177184B1 KR1020100004749A KR20100004749A KR101177184B1 KR 101177184 B1 KR101177184 B1 KR 101177184B1 KR 1020100004749 A KR1020100004749 A KR 1020100004749A KR 20100004749 A KR20100004749 A KR 20100004749A KR 101177184 B1 KR101177184 B1 KR 101177184B1
- Authority
- KR
- South Korea
- Prior art keywords
- class driver
- host
- ums
- usb
- wrapper
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/08—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Systems (AREA)
Abstract
본 발명은 스마트카드가 내장된 USB 동글(Dongle)과 호스트 사이의 USB 매스 스토리지 통신을 하게 하는 방법 및 이를 위한 USB 동글 장치에 관한 것이다.
본 발명은, 스마트카드가 내장된 유에스비 동글과 호스트 사이의 통신 방법에 있어서,
호스트(20)가 유에스비 동글(10)에서 데이터 블록을 독출 시에,
유에스비 동글(10) 측에 존재하고 메스 스토리지를 제어하는 제1 UMS 클래스 드라이버(13)에, 호스트(20) 측에 존재하고 메스 스토리지를 제어하는 제2 UMS 클래스 드라이버(23)가, 코멘드 블록 관련 정보를 가지고 있는 패킷인 코멘드 블럭 랩퍼(CBW)를 전송하는 단계; 상기 코멘드 블럭 랩퍼(CBW)를 수신한 상기 제1 UMS 클래스 드라이버(13)가, 제2 UMS 클래스 드라이버(23)에 데이터 블록을 전송하는 단계; 데이터 블록을 전송한 상기 제1 UMS 클래스 드라이버(13)가, 앞선 코멘드 블록의 상태를 가지고 있는 패킷인 코멘트 상태 랩퍼(CSW)를 상기 제2 UMS 클래스 드라이버(23)에 전송하는 단계를 포함하고,
호스트(20)가 유에스비 동글(10)에 데이터 블록을 기록 시에,
상기 제2 UMS 클래스 드라이버(23)가 상기 제1 UMS 클래스 드라이버(13)에, 상기 코멘드 블럭 랩퍼(CBW)를 전송하는 단계; 상기 코멘드 블럭 랩퍼(CBW)를 전송한 상기 제2 UMS 클래스 드라이버(23)가, 상기 제1 UMS 클래스 드라이버(23)에 데이터 블록을 전송하는 단계; 데이터 블록을 수신한 상기 제1 UMS 클래스 드라이버(13)가, 코멘드 상태 랩퍼(CSW)를 상기 제2 UMS 클래스 드라이버(23)에 전송하는 단계를 포함하는 것을 특징으로 한다.
이상과 같은 본 발명을 이용하면, 스마트 카드와 호스트가 통신 가능하게 하는 통신 방법 및 이를 위한 USB 동글 장치를 제공하여, 강력한 보안성과 가입자 확인이 가능하고, 서비스 제공자들이 원하는 다양한 어플리케이션을 탑재 할 수 있는 스마트 카드를 유통함으로써, 저작권 보호, 마케팅 등을 위한 유연한 라이센스 정책을 실현할 수 있게 된다.
본 발명은, 스마트카드가 내장된 유에스비 동글과 호스트 사이의 통신 방법에 있어서,
호스트(20)가 유에스비 동글(10)에서 데이터 블록을 독출 시에,
유에스비 동글(10) 측에 존재하고 메스 스토리지를 제어하는 제1 UMS 클래스 드라이버(13)에, 호스트(20) 측에 존재하고 메스 스토리지를 제어하는 제2 UMS 클래스 드라이버(23)가, 코멘드 블록 관련 정보를 가지고 있는 패킷인 코멘드 블럭 랩퍼(CBW)를 전송하는 단계; 상기 코멘드 블럭 랩퍼(CBW)를 수신한 상기 제1 UMS 클래스 드라이버(13)가, 제2 UMS 클래스 드라이버(23)에 데이터 블록을 전송하는 단계; 데이터 블록을 전송한 상기 제1 UMS 클래스 드라이버(13)가, 앞선 코멘드 블록의 상태를 가지고 있는 패킷인 코멘트 상태 랩퍼(CSW)를 상기 제2 UMS 클래스 드라이버(23)에 전송하는 단계를 포함하고,
호스트(20)가 유에스비 동글(10)에 데이터 블록을 기록 시에,
상기 제2 UMS 클래스 드라이버(23)가 상기 제1 UMS 클래스 드라이버(13)에, 상기 코멘드 블럭 랩퍼(CBW)를 전송하는 단계; 상기 코멘드 블럭 랩퍼(CBW)를 전송한 상기 제2 UMS 클래스 드라이버(23)가, 상기 제1 UMS 클래스 드라이버(23)에 데이터 블록을 전송하는 단계; 데이터 블록을 수신한 상기 제1 UMS 클래스 드라이버(13)가, 코멘드 상태 랩퍼(CSW)를 상기 제2 UMS 클래스 드라이버(23)에 전송하는 단계를 포함하는 것을 특징으로 한다.
이상과 같은 본 발명을 이용하면, 스마트 카드와 호스트가 통신 가능하게 하는 통신 방법 및 이를 위한 USB 동글 장치를 제공하여, 강력한 보안성과 가입자 확인이 가능하고, 서비스 제공자들이 원하는 다양한 어플리케이션을 탑재 할 수 있는 스마트 카드를 유통함으로써, 저작권 보호, 마케팅 등을 위한 유연한 라이센스 정책을 실현할 수 있게 된다.
Description
본 발명은 스마트카드가 내장된 USB 동글(Dongle)과 호스트 사이의 USB 매스 스토리지 통신 방법 및 이를 위한 USB 동글 장치에 관한 것이다.
스마트 카드에는 마이크로 프로세서, 보안 모듈, 메모리(저장장치) 등을 구비한 집적회로(IC) 칩이 장착되어 있어서, 다양한 정보의 기록이나 신원 확인, 전자 화폐, 신용카드 또는 전자 통장 등의 결제 수단으로 널리 사용되고 있다.
그래서, 최근에는 휴대폰과 같은 이동통신단말기에 탈착식으로 스마트 카드의 일종인 SIM(USIM)카드를 장착하고, 이 SIM카드의 메모리에 대용량의 플래시 메모리를 사용하여, 이 SIM 카드에 가입자 확인 정보나 자신의 전화번호부(폰북)나 SMS/MMS 뿐만 아니라, 통신 사업자/사용자들의 대용량 멀티미디어 데이터 등의 다양한 콘텐츠나 어플리케이션을 저장하여 사용 가능하게 되었다.
이때, 일반적으로 스마트카드와 단말기 사이에서는 APDU통신(SIO통신)을 수행하여, 데이터 교환에 사용되는 전송 프로토콜은 Character based T=0 와 Block Based T=1 이고, 스마트카드와 단말기가 통신을 하기 위해서는 스마트카드는 T=0 protocol 을 기본으로 제공해야 하며, 단말기는 T=0 와 T=1 protocol 모두를 기본으로 지원해야 한다.
한편, 호스트(PC)가 서버에 연결되어 있는 콘텐츠(예:인터넷 강의 등)를 사용하기 위해서는, 기존에는 일반 사용자가 해당 서버용 ID와 패스워드를 입력하면 누구나 무단으로 콘텐츠를 이용할 수 있고 하드디스크나 USB 메모리 장치에 관련 데이터를 다운받을 수 있다.
이로 인해 불법 복제 및 ID와 패스워드 공유가 많아, 특히 온라인 유통 시장에서 컨텐츠 제공자(Contents Provider) 입장에선 많은 손실이 있을 수 밖에 없다.
그래서 서비스 제공자(Service Provider)는, 컨텐츠 제공자에게 다양한 컨텐츠 라이센싱(Licensing)을 보증 할 수 있는 신뢰성 있는 유통 시장 제공과 개인 정보 활용 및 보호의 필요성을 항상 제기하여 왔다.
이로 인해 불법 복제 및 ID와 패스워드 공유가 많아, 특히 온라인 유통 시장에서 컨텐츠 제공자(Contents Provider) 입장에선 많은 손실이 있을 수 밖에 없다.
그래서 서비스 제공자(Service Provider)는, 컨텐츠 제공자에게 다양한 컨텐츠 라이센싱(Licensing)을 보증 할 수 있는 신뢰성 있는 유통 시장 제공과 개인 정보 활용 및 보호의 필요성을 항상 제기하여 왔다.
삭제
삭제
본 발명은 이상과 같은 필요성을 감안하여, 스마트 카드와 호스트가 통신 가능하게 하는 통신 방법 및 이를 위한 USB 동글 장치를 제공하여, 강력한 보안성과 가입자 확인이 가능하고, 서비스 제공자들이 원하는 다양한 어플리케이션을 탑재 할 수 있는 스마트 카드를 유통함으로써, 저작권 보호, 마케팅 등을 위한 유연한 라이센스 정책을 실현할 수 있게 한다.
이상과 같은 기술적 과제를 달성하기 위하여, 본 발명의 일실시예에서는, 스마트카드가 내장된 유에스비 동글과 호스트 사이의 통신 방법에 있어서,
호스트(20)가 유에스비 동글(10)에서 데이터 블록을 독출 시에,
유에스비 동글(10) 측에 존재하고 메스 스토리지를 제어하는 제1 UMS 클래스 드라이버(13)에, 호스트(20) 측에 존재하고 메스 스토리지를 제어하는 제2 UMS 클래스 드라이버(23)가, 코멘드 블록 관련 정보를 가지고 있는 패킷인 코멘드 블럭 랩퍼(CBW)를 전송하는 단계; 상기 코멘드 블럭 랩퍼(CBW)를 수신한 상기 제1 UMS 클래스 드라이버(13)가, 제2 UMS 클래스 드라이버(23)에 데이터 블록을 전송하는 단계; 데이터 블록을 전송한 상기 제1 UMS 클래스 드라이버(13)가, 앞선 코멘드 블록의 상태를 가지고 있는 패킷인 코멘트 상태 랩퍼(CSW)를 상기 제2 UMS 클래스 드라이버(23)에 전송하는 단계를 포함하고,
호스트(20)가 유에스비 동글(10)에 데이터 블록을 기록 시에,
상기 제2 UMS 클래스 드라이버(23)가 상기 제1 UMS 클래스 드라이버(13)에, 상기 코멘드 블럭 랩퍼(CBW)를 전송하는 단계; 상기 코멘드 블럭 랩퍼(CBW)를 전송한 상기 제2 UMS 클래스 드라이버(23)가, 상기 제1 UMS 클래스 드라이버(23)에 데이터 블록을 전송하는 단계; 데이터 블록을 수신한 상기 제1 UMS 클래스 드라이버(13)가, 코멘드 상태 랩퍼(CSW)를 상기 제2 UMS 클래스 드라이버(23)에 전송하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 실시예에서는, 스마트카드가 내장된 유에스비 동글 장치에 있어서,
유에스비 장치 포트(11); 상기 유에스비 장치를 제어하는 유에스비 장치 드라이버(12); 메스 스토리지(17)를 제어하는 UMS 클래스 드라이버(13); 상기 UMS 디바이스 드라이버(13)와 자바카드 VM 솔루션(15) 사이에서, 성능 및 동작을 달성하기 위한 커스터마이징 및 튜닝을 하고, APDU 통신을 수행하는 APDU 랩퍼(14)를 포함하는 것을 특징으로 한다.
이상과 같은 본 발명을 이용하면, 스마트 카드와 호스트가 통신 가능하게 하는 통신 방법 및 이를 위한 USB 동글 장치를 제공하여, 강력한 보안성과 가입자 확인이 가능하고, 서비스 제공자들이 원하는 다양한 어플리케이션을 탑재 할 수 있는 스마트 카드를 유통함으로써, 저작권 보호, 마케팅 등을 위한 유연한 라이센스 정책을 실현할 수 있게 된다.
도1은 본 발명의 전체적인 구성을 나타내는 도면.
도2는 본 발명의 USB 동글의 구성 및 외형을 도시함.
도3은 본 발명에서 데이터 블럭을 읽고 쓰는 방법을 도시함.
도4, 5는 본 발명의 데이터 송수신을 하기 위한 패킷 포맷을 도시함.
도6은 호스트가 애플렛/어플리케이션과 데이터를 송수신하는 과정을 설명하는 순서도.
도2는 본 발명의 USB 동글의 구성 및 외형을 도시함.
도3은 본 발명에서 데이터 블럭을 읽고 쓰는 방법을 도시함.
도4, 5는 본 발명의 데이터 송수신을 하기 위한 패킷 포맷을 도시함.
도6은 호스트가 애플렛/어플리케이션과 데이터를 송수신하는 과정을 설명하는 순서도.
본 발명은 스마트 카드가 USB 동글(Dongle) 형태로 T=0 와 T=1 프로토콜이 지원되지 않는 호스트(PC)와 통신을 하게 하는 통신 방법에 관한 것이다.
도1은 본 발명의 스마트카드가 내장된 USB동글(10)과 호스트(PC)(20)간의 관계와, USB동글(10)의 내부 구성을 나타내는 도면이다.
USB 동글(10)은 호스트(20)와 USB포트(11, 21)를 통해 USB 케이블로 연결된다.
USB 동글(10)에는 USB 디바이스 드라이버(12), UMS(USB Mass Storage) 클래스 드라이버(13), APDU Wrapper(14), Javacard2.2.1&VM(15), Applets(16)가 존재하고, UMS(USB Mass Storage) 클래스 드라이버(13)를 통해 대용량 저장장치(Mass Storage)인 NAND 플래시 메모리(17)에 데이터를 쓰거나 NAND 플래시 메모리(17)로부터 데이터를 읽어낸다.
호스트(20)에는 USB 호스트 드라이버(22), UMS 클래스 드라이버(23), APDU Wrapper(24), Host PC OS(25), Host PC file System(26), Application(27)이 존재한다.
UMS 클래스 드라이버(13, 23)는 메스 스토리지(Mass Storage)를 제어하는 드라이버이다.
APDU Wrapper(14, 24)는 UMS를 통해 APDU 통신을 할 수 있는 모듈로서, UMS 디바이스 드라이버(12, 22)와 COS/Java Card 2.2VM Solution(15)/HOST PC OS(25) 사이에서, 적합한 성능 및 동작을 달성하기 위한 Customizing 및 Tuning을 수행하며, 이하의 도4에서 기록시의 데이터 포맷에 나타난 Magic Number(4 bytes), File Status(4 bytes), Command(1 byte)를 점검한 뒤 이 부분을 짤라내고 나머지 부분에 대해서 T=0, T=1 프로토콜 수행하고, 프로토콜 수행 후 응답 결과(SW1, SW2) (이하에서 설명하는 도5에서 읽을 때의 데이터 포맷에 도시됨)에 대해 적합한 Magic Number(4 bytes), File Status(1 bytes), Length(2 byte)를 붙여서 데이터 포멧을 형성하여 송신하는 기능을 수행한다. 나머지 모듈은 통상적인 것들이므로 추가적인 설명을 생략한다.
도2는 본 발명에 적용된 스마트카드 장착 가능 USB 동글(10)의 내부 구성(도2의 왼쪽 도면) 및 외형도(도3의 오른쪽 도면)이다.
도2의 왼쪽 도면에 나타난 바와 같이, 스마트카드 장착 가능 USB 동글(10)의 외형은 USB 메모리 장치와 유사하여 사용자가 이 장치를 호스트(PC)의 USB 포트에 끼우면 된다.
내부에는 도2의 오른쪽에 나타난 구성들이 포함되어 있는데, 스마트카드용 소켓(SIM 소켓)이 존재하여 여기에 스마트카드를 장착하면 된다.
또한, 이러한 본 발명의 USB 동글(10)이 서비스 프로바이더들이 일반 사용자들에게 무료로 제공할 가능성이 높기 때문에, 제조 단가를 낮추기 위하여 스마트카드에는 다양한 어플리케이션과 저장 기능을 할 수 있게 하는 NAND 메모리(도2에서는 128M bytes)를 제공하고, 사용자가 큰 용량의 저장공간이 필요한 경우에는 사용자가 Micro SD 카드(MSD)를 구입하여 장착함으로써 저장공간을 확장 가능하게 MSD 소켓이 제공되어 있다. MSD 콘트롤러(MSD C)는 확장되는 MSD를 제어하는 제어 장치이다.
도3은 USB 동글(10)과 호스트(20) 사이에서 데이터 블럭을 읽고 쓰는 방법을 도시한 것이다.
USB 동글(10)과 호스트(20) 각각에는 USB 통신을 위한 UMS 클래스 드라이버(13, 23)가 존재한다. 그리고 CBW(Command Block Wrapper)는 Command Block과 관련 정보를 가지고 있는 패킷이고, CSW(Command Status Wrapper)는 앞선 Command Block의 Status를 가지고 있는 패킷이다.
그래서, USB 동글(10)에서 블록 데이터를 읽을 때(Block Data Read)시에는 호스트(20)의 UMS 클래스 드라이버(23)는 CBW(READ10)을 USB 동글(10)의 UMS 클래스 드라이버(13)에 송신하고 나서, Data Block을 USB 동글(10)측에서 수신한 후에, CSW를 USB 동글(10) 측에서 수신한다.
USB 동글(10)로 블록 데이터를 기록할 때(Block Data Write)에는 호스트(20)의 UMS 클래스 드라이버(23)는 CBW(WRITE10)을 USB 동글(10)의 UMS 클래스 드라이버(13)에 송신하고 나서, Data Block을 USB 동글(10)측에 송신한 후에, CSW를 USB 동글(10) 측에서 수신한다.
여기서, 참고로 READ10와 WRITE10는 USB 스펙에 있는 SCSI Command 중의 하나이고, SCSI Command는 SCSI(Small Computer Systems Interface)병렬 인터페이스를 사용하는 저장 장치를 위한 명령이고, 이 장치의 정보를 알아내고, 장치의 동작을 제어하며, 이 장치로부터 데이터 블록을 읽고 쓸 수 있는 기반을 제공한다.
이 SCSI Command에서, READ10은 호스트가 READ 명령을 디바이스에 보내서 디바이스의 저장매체로부터 블록 데이터를 요청하는 명령이고, WRITE10은 호스트가 WRITE 명령을 디바이스에 보내서 디바이스가 블록 데이터를 저장매체에 쓰도록 요청하는 명령이다.
결국, 호스트(20)는 앞선 CBW의 CSW를 수신하기 전에는 새로운 CBW를 보낼 수 없다. 그래서 호스트(20)가 두 개의 연속적인 CBW를 CSW 또는 RESET 없이 전송한다면, 두 번째 CBW는 무시한다. 즉, 단일 Command로 양방향 데이터 전송을 지원하지 않는다.
이렇게 단방향 전송만을 수행하는 것은, 본 발명에서 호스트(20)와 USB 동글(10)이 도1에서와 같이 외형적으로는 USB 포트(11, 21)를 이용한 USB 통신을 수행하고, USB 통신이 한쪽 방향으로만 전송이 이루어지는 Half Duplex(반 이중 방식) 통신을 하기 때문이다.
다음으로, 본 발명의 UMS 데이터 송수신을 하기 위한 패킷 포맷(Data Format)에 대해 도4, 5를 통해 살펴 보기로 한다.
도4은 기록시의 패킷 포맷을 나타내는 것이고, 도5는 읽을 때의 패킷 포맷을 나타낸다. 여기서, Magic Number(4 bytes)는 유효한 파일인지 검사하기 위한 값이고, File Status(4 bytes)는 USB 동글(10)의 파일 연산에 대한 값을 설정하며, Command(1byte)는 USB 동글(10)과 호스트(20) 사이의 API의 인터페이스를 정의한다. CLA , INS, P1, P2, Lc, Le, SW1, SW2는 스펙 ISO/IEC 7816-4와 ETSI TS 102.221에 정의된 스펙 용어이므로, 자세한 설명을 생략한다.
USB 동글(10) 내의 스마트카드는 호스트(20)가 송신한 명령을 처리한 후, 그 결과를 Status 바이트인 SW1과 SW2를 이용하여 호스트(20)로 전송하게 된다.
이때, 한번에 송수신하는 데이터의 최대 크기는 512Byte이다.
이제, 도6을 참고로 하여, 호스트(20)가 USB 동글(10)에 내장된 스마트카드의 애플렛(Applets)(16) 또는 호스트(20)내의 어플리케이션(27)에 데이터를 전달하고, 애플렛(16) 또는 어플리케이션(27)이 수신한 데이터를 이용하여 처리를 한 후에 그 결과를 호스트(20)에 전달하는 과정을 설명하기로 한다.
먼저, 호스트(20)는 WRITE10_CMD를 UMS 클래스 드라이버(13, 23)에 송신하고 나서, 블록 데이터 패킷(CPROS Packet)을 UMS 클래스 드라이버(13, 23)에 송신하면, UMS 클래스 드라이버(13, 23)는 호스트(20)에 CWS를 송신한다.
이제, UMS 클래스 드라이버(13, 23)는, 수신한 블록 데이터 패킷(CPROS Packet)을 APDU Wrapper(14, 24)에 송신하고, APDU Wrapper(14, 24)는 위에서 설명한 Customizing 및 Tuning을 수행하여 애플렛(16) 또는 어플리케이션(27)에 데이터를 전달하고, 애플렛(16) 또는 어플리케이션(27)은 이 데이터를 수신하여 처리를 수행한 후에 그 결과(Result)를 APDU Wrapper(14, 24)와 UMS 클래스 드라이버(13, 23)에 전달한다.
그러면, 호스트(20)는 READ10_CMD를 송신하고, UMS 클래스 드라이버(13, 23)는 결과(Result)를 호스트(20)에 송신하고 CSW를 송신한다.
이상에서는 본 발명의 바람직한 실시예를 설명하였지만, 본 발명은 이러한 실시예에 한정되는 것이 아니라 본 발명의 정신을 벗어나지 않는 범위 내에서 다양한 변형 및 변경이 가능하다는 것을 유의해야 한다.
10 : USM 동글
20 : 호스트
11 : USB 포트
12 : USB 디바이스 드라이버
13, 23 : USB 메스 스토리지 클래스 드라이버
14, 24: APDU 랩퍼
16 : 애플렛
20 : 호스트
11 : USB 포트
12 : USB 디바이스 드라이버
13, 23 : USB 메스 스토리지 클래스 드라이버
14, 24: APDU 랩퍼
16 : 애플렛
Claims (6)
- 스마트카드가 내장된 유에스비 동글과 호스트 사이의 통신 방법에 있어서,
호스트(20)가 유에스비 동글(10)에서 데이터 블록을 독출 시에,
유에스비 동글(10) 측에 존재하고 메스 스토리지를 제어하는 제1 UMS 클래스 드라이버(13)에, 호스트(20) 측에 존재하고 메스 스토리지를 제어하는 제2 UMS 클래스 드라이버(23)가, 코멘드 블록 관련 정보를 가지고 있는 패킷인 코멘드 블럭 랩퍼(CBW)를 전송하는 단계;
상기 코멘드 블럭 랩퍼(CBW)를 수신한 상기 제1 UMS 클래스 드라이버(13)가, 제2 UMS 클래스 드라이버(23)에 데이터 블록을 전송하는 단계;
데이터 블록을 전송한 상기 제1 UMS 클래스 드라이버(13)가, 앞선 코멘드 블록의 상태를 가지고 있는 패킷인 코멘트 상태 랩퍼(CSW)를 상기 제2 UMS 클래스 드라이버(23)에 전송하는 단계를 포함하고,
호스트(20)가 유에스비 동글(10)에 데이터 블록을 기록 시에,
상기 제2 UMS 클래스 드라이버(23)가 상기 제1 UMS 클래스 드라이버(13)에, 상기 코멘드 블럭 랩퍼(CBW)를 전송하는 단계;
상기 코멘드 블럭 랩퍼(CBW)를 전송한 상기 제2 UMS 클래스 드라이버(23)가, 상기 제1 UMS 클래스 드라이버(23)에 데이터 블록을 전송하는 단계;
데이터 블록을 수신한 상기 제1 UMS 클래스 드라이버(13)가, 코멘드 상태 랩퍼(CSW)를 상기 제2 UMS 클래스 드라이버(23)에 전송하는 단계를 포함하고,
유에스비 동글(10)과 상기 호스트(20) 각각에는 유에스비 메스 스토리지를 통해 APDU 통신을 수행하며, 상기 제1, 2 UMS 디바이스 드라이버(13, 23)와 자바카드 VM 솔루션(15) 또는 호스트 OS(25) 사이에서, 성능 및 동작을 달성하기 위한 커스터마이징 및 튜닝을 수행하는 APDU 랩퍼(14, 24)는, 상기 기록시에는 상기 패킷 포맷에서 매직 넘버 영역과 파일 상태 영역과 코멘트 영역을 잘라낸 나머지 부분에 대해 T=0, T=1 프로토콜을 수행하며, 상기 독출시에는 프로토콜 수행 후 응답 결과(SW1, SW2)에 매직 넘버 영역과 파일 상태 영역과 길이 영역(Length)을 붙여서 송신하는 기능을 수행하는 것을 특징으로 하는, 스마트카드가 내장된 유에스비 동글과 호스트 사이의 통신 방법. - 제1항에 있어서,
상기 제1 UMS 클래스 드라이버(13)에 의해 제어되는 상기 유에스비 동글(10) 측의 메스 스토리지는 낸드 플래시 메모리인 것을 특징으로 하는, 스마트카드가 내장된 유에스비 동글과 호스트 사이의 통신 방법.
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100004749A KR101177184B1 (ko) | 2010-01-19 | 2010-01-19 | 스마트카드가 내장된 유에스비 동글과 호스트 사이의 통신 방법 및 이를 위한 유에스비 동글장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100004749A KR101177184B1 (ko) | 2010-01-19 | 2010-01-19 | 스마트카드가 내장된 유에스비 동글과 호스트 사이의 통신 방법 및 이를 위한 유에스비 동글장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100012889A KR20100012889A (ko) | 2010-02-08 |
KR101177184B1 true KR101177184B1 (ko) | 2012-08-24 |
Family
ID=42086996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100004749A KR101177184B1 (ko) | 2010-01-19 | 2010-01-19 | 스마트카드가 내장된 유에스비 동글과 호스트 사이의 통신 방법 및 이를 위한 유에스비 동글장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101177184B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100631620B1 (ko) | 2005-05-06 | 2006-10-09 | 삼성전자주식회사 | 저장 수단에 대한 접근을 허용하는 장치 및 방법 |
KR100781926B1 (ko) | 2005-02-24 | 2007-12-04 | 엔이씨 일렉트로닉스 가부시키가이샤 | 컴퓨터 시스템 및 그 제어 방법 |
-
2010
- 2010-01-19 KR KR1020100004749A patent/KR101177184B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100781926B1 (ko) | 2005-02-24 | 2007-12-04 | 엔이씨 일렉트로닉스 가부시키가이샤 | 컴퓨터 시스템 및 그 제어 방법 |
KR100631620B1 (ko) | 2005-05-06 | 2006-10-09 | 삼성전자주식회사 | 저장 수단에 대한 접근을 허용하는 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20100012889A (ko) | 2010-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7350717B2 (en) | High speed smart card with flash memory | |
EP1473664B1 (en) | Smart card device as mass storage device | |
EP1643372B1 (en) | USB device with secondary USB on-the-go function | |
JP2008210301A (ja) | 記憶媒体、通信システム、並びに制御装置。 | |
KR20080100172A (ko) | 근거리 무선 통신 케이퍼빌리티를 갖는 네스팅된 메모리시스템 | |
US20100181377A1 (en) | Card reader with near field communication function and near field communication device thereof | |
US20060053244A1 (en) | Generic universal serial bus device operable at low and full speed and adapted for use in a smart card device | |
US7328849B2 (en) | Smart card providing data mapping for multiple applications and related methods | |
GB2434661A (en) | Portable communication device with smart card functionality | |
CN101359413B (zh) | 一种处理重个人化智能卡的无线终端及方法 | |
US8276188B2 (en) | Systems and methods for managing storage devices | |
GB2345781A (en) | A smart card having a serial data interface and a second serial or parallel data interface | |
KR200329847Y1 (ko) | 스마트카드리드기 겸용 유에스비 드라이브 장치 | |
US20050240704A1 (en) | Smart card with self-reconfiguration features and related methods | |
KR101177184B1 (ko) | 스마트카드가 내장된 유에스비 동글과 호스트 사이의 통신 방법 및 이를 위한 유에스비 동글장치 | |
JP2003022427A (ja) | アップロード機能付き記憶装置 | |
KR20080082000A (ko) | 결합형 sim 및 대용량 저장 카드의 데이터 액세스를위한 방법 및 디바이스 | |
US8756425B2 (en) | Data security authentication system and related multi-function memory card and computer program product | |
KR100638383B1 (ko) | 스마트 카드를 탑재한 usb 저장장치 및 그 사용 방법 | |
CN101754448B (zh) | 一种用于移动通信的双核智能卡及其数据传输处理方法 | |
KR100738032B1 (ko) | 대용량 메모리 지원 스마트 카드 및 지원 방법 | |
KR100762205B1 (ko) | 플래시 메모리를 구비한 스마트카드와 이를 구비한유에스비 장치와 이를 이용한 휴대용기기 | |
EP2159711A1 (en) | A method for managing data between a terminal and a token, corresponding token and system | |
KR20120029521A (ko) | 보안 메모리 카드 | |
EP2211264A1 (en) | Versatile electronic storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150723 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180821 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190719 Year of fee payment: 8 |