분류 전체보기(433)
-
GP Command - DELETE Command
DELETE command는 Object(Executable Load File, Install 된 instance 혹은 삭제하려는 Executable Load File과 연계된 다른 Object들을 한꺼번에)나 Key를 삭제할때 사용된다. 이 command를 수행하기 위해서는 미리 상호인증(Mutual Authentication)이나 전자서명(Digital signature) 검사가 수행되어야만 한다. DELETE command 구성은 다음과 같다. P1이 0x00인 경우 더 이상 보낼 DELETE command가 없다는 것을 의미하고 0x80은 더 보낼 DELETE command가 있다는 의미이다. P1이 0x80으로 사용되는 경우는 APDU의 data field의 길이가 255 bytes 보다 길때 ..
2014.05.30 -
GP Command - Instruction(INS)
APDU는 "CLA" + "INS" + "P1" + "P2" + "Lc" + "Data" + "Le"의 구조로 되어 있다.자세한 내용은 http://jasmine125.tistory.com/581을 참조한다. INS(Instruction)은 이 명령어가 무슨 명령어인지를 나타낸다. Command INS DELETE E4 GET DATA CA GET STATUS F2 INSTALL E6 LOAD E8 MANAGE CHANNEL 70 PUT KEY D8 SELECT A4 SET STATUS F0 STORE DATA E2 INITIALIZE UPDATE 50 EXTERNAL AUTHENTICATE 82
2014.05.21 -
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