GP(10)
-
Privileges
GP 카드에 설치된 SD, Application에는 Privilege라고 부르는 권한을 부여할 수 있다.GP 2.2.1 기준으로 정의된 privilege는 아래와 같다. Privilege Number #8 ~ #19는 GP 2.2.x에 추가되었다. 그래서 GP 2.1.x에서는 Privilege가 1 byte로 표현 가능했으나 GP 2.2.x 부터는 Privilege가 3 bytes로 늘어나게 되었다.3 bytes로 늘어난 Privilege는 아래와 같이 표현된다.
2014.06.10 -
GP Command - SET STATUS Command
이 SET STATUS command는 Card Life Cycle 혹은 Application Life Cycle을 수정할 때 사용한다.이 명령어는 아래와 같이 구성된다. P1(Status Type)은 변경할 ISD, SD, Application을 가리키며 아래와 같이 구성된다. P2는 변경하고자 하는 life cycle의 값을 나타내며, 변경하고자 하는 대상에 따라 구성이 달라진다.
2014.06.09 -
GP Command - PUT KEY Command
이 PUT KEY command는 아래의 경우에 사용이 된다.새로운 key로 기존에 존재하던 key를 교체할 때. (Key Version Number가 같으면 교체, 다르면 추가)새로운 key들로 기존에 존재하던 multiple key를 교체할 때. (Key Version Number가 같으면 교체, 다르면 추가)새로운 key를 추가 할 때. (새로운 key는 기 존재하는 key와 다른 Key ID, Key Version Number의 조합이어야 한다.)새로운 multiple key를 추가할 때. (새로운 key는 기 존재하는 key와 다른 Key ID, Key Version Number의 조합이어야 한다.) PUT KEY command는 아래와 같이 구성된다. P1은 Key Version Number를..
2014.06.09 -
GP Command - MANAGE CHANNEL Command
MANAGE CHANNEL command는 Smart Card가 제공하는 Logical Channel을 Open하거나 Close할때 사용된다.단, 이 command를 사용하기 위해선 Smart Card가 Logical Channel을 지원해야 하며 어떤 카드든 Basic Logical Channel(channel number '0')은 절대로 close될 수 없다. 이 명령어의 구성은 아래와 같다. P1 = 0x80은 Open된 Logical Channel을 Close한다.P1 = 0x10은 다음 가용한 Logical Channel을 Open한다. P2는 Open/ Close하고자 하는 Logical Channel을 지정한다. Logical Channel '0'은 Basic Logical Channel이..
2014.06.09 -
GP Command - LOAD Command
LOAD command는 Smart Card에 Executable Load File을 Loading할때 사용을 한다.Smart Card 외부에서 Loading하고자 하는 application의 data를 APDU로 보내게 되는데, 이때 로그를 spy하면 loading하고 있는 application의 binary를 만들어 낼수가 있다.Loading하고자 하는 application의 사이즈에 따라 LOAD command는 하나 이상 호출이 된다. 아래는 LOAD command의 구성이다. P1이 0x00일 경우에는 다음에 또 다시 LOAD command가 올거라는 의미이며P1이 0x80일 경우에는 현재 LOAD command가 마지막 LOAD command라는 의미를 가진다. P2는 Block number로..
2014.06.02 -
GP Command - GET STATUS Command
GET STATUS command는 ISD(Issuer Security Domain), Executable Load File, Executable Module, Application, Security Domain들의 Life Cycle 정보를 얻어온다.이 명령어를 수행하기 이전에 상호인증(Mutual Authentication)이 성공해야 한다. GET STATUS command 구성은 아래와 같다. P1은 응답에 포함할 Object를 지정한다. P2는 GET STATUS command로 얻을 정보가 너무 많아서 한번에 얻어오지 못할 경우에 Get next occurrence(b1=1)으로 이어서 얻어올 수 있는데, 이 bit는 P1을 0x80(Issuer Security Domain)으로 했을 경우 동..
2014.05.30