IT관련(197)
-
GP Command - Class Byte Coding(CLA)
APDU는 "CLA" + "INS" + "P1" + "P2" + "Lc" + "Data" + "Le"의 구조로 되어 있다.자세한 내용은 http://jasmine125.tistory.com/581을 참조한다. 이중 CLA(Class Byte Coding)는 아래의 규칙을 따라 작성된다. 일반적으로 CLA는 아래의 값을 가진다.0x00 -- ISO/IEC 7816에 정의된 Command라는 의미0x80 -- GP에 정의된 Command라는 의미0x84 -- GP에 정의된 Command인데 GP에 정의한 secure message라는 의미, 0x84는 반드시 상호인증(INITIALIZE UPDATE/ EXTERNAL AUTHENTICATE command)이 먼저 수행되어야 한다.)
2014.05.21 -
Smart Card에 Load된 Applet의 버전 확인 방법
일반적으로 GP card에 Load 상태인 Applet은 버전에 바뀌더라도 Executable Load File AID는 대부분 동일하기 때문에 버전을 확인하는 방법은 없다.이 경우 대부분은 install을 반드시 해야만 추가적인 정보를 통해 버전을 확인한다.그런데 install을 하면 상황에 따라 install 된 instance를 삭제하지 못하는 경우가 있어 이전 상태로 돌릴수가 없다. (특히 EMV 신용 Applet의 경우...) 그런데 GP command 중에 GET STATUS command라는 것이 있는데 이 명령어를 통해 Executable Load File내의 Executable Module AID를 확인할 수 가 있다.이것을 이용하면 Applet의 버전이 업데이트 되면서 Module AI..
2014.05.21 -
DGI(Data Grouping Identifiers)
DGI란?Data Grouping Identifiers 의 약자이며 2 bytes로 구성되어 있다.첫번째 바이트는 SFI(Short File ID)에 해당하며 범위는(01~1E)이며, 두번째 바이트는 레코드 넘버에 해당한다. Grouping of DGIs?DGI는 GROUP mechanism으로 grouping할 수 있다. 즉, Grouping시 복수개의 DGI가 포함되는데 DGI간의 구분자는 존재하지 않는다.예를 들어 DGI '0208', '0209'가 GROUP #1에 포함된다면 '02080209'라고 grouping할 수 있다. Length가 2 bytes로 고정이기 때문이다.그리고 Group은 STORE DATA command를 이용하여 EMV Applet perso시 사용된다. 실제 EMV에서 ..
2014.05.20 -
The Java Card Applet Development Process
Java Card는 CAP(Converted Applet)을 만들기 위해 아래와 같은 과정을 수행한다. Step1Java Compiler를 이용하여 Java --> class로 변환한다. Step2Java Card Simulator로 디버깅. Step3Java Card에 Applet을 load & install 하기 위해서는 반드시 compile된 class 파일들을 Java Card Converter를 이용하여 convert 해야만 한다.Converter를 사용하면 총 3가지의 파일이 생성된다.JCA(Java Card Assembly)CAP(Converted Applet)EXP(Export file) Convert를 해야 하는 이유Java Card VM은 가장 작은 Java VM이라서 기능의 제약이 상..
2014.05.16 -
Datacard SCPM 버전
스마트 카드를 발급하는 장비인 Datacard SCPM은 현재 v5.x까지 나와 있다고 한다.제품 명칭의 변화가 좀 있었는데...SCPM v1.1 --> 현재 거의 사용되지 않음.SCPM v3.1 --> 일부 제조사에서 사용되며, SDK 판매가 되었음.Affina v4.0 --> SCPM의 제품명이 Affina로 변경이 되었음. 거의 사용되지 않음.SCS(Syntera Customization Suite) v5.x --> Affina 제품명이 SCS로 변경이 되었음. 현재 가장 많이 사용되는 버전임. 결국은 SCPM에서 Affina 그리고 SCS로 버전업 되었으며, 다행히 하위 호환을 지원하기 때문에 구형 SCPM용으로 개발된 발급 DLL들의 사용이 가능하다.
2013.07.01 -
스마트 카드에서 Derivation Rule(Derived Key)란?
스마트 카드에는 키가 보안의 핵심요소라 할 수 있다.해당 키를 이용하여 외부 entity와 인증을 맺은 후 데이터를 서로 주고 받을 수 있다. 간단히 말하면 신용카드(스마트 카드)내의 키를 알아야 신용 결제를 성공 할 수 있다고 보면 된다. 대략적인 결제 흐름을 보면신용카드는 결제시 결제 데이터를 가지고 카드안에 들어 있는 특정키로 암호화하여 만든 암호문(Cryptogram)만든다.결제단말기는 전달된 암호문(Cryptogram)을 신용카드사에 전달한다.신용카드사는 해당 카드 내에 존재하는 키를 알고 있기 때문에 전달된 암호문(Cryptogram)이 정상인지 확인 후 승인/거절 처리를 한다.결국은 신용카드사가 카드별로 키를 전부 알고 있어야 하는데 매일, 매월 발급되는 카드가 엄청나기 때문에 모든 키를 D..
2013.05.09