스마트 카드에서 Derivation Rule(Derived Key)란?
2013. 5. 9. 11:49ㆍIT관련
반응형
스마트 카드에는 키가 보안의 핵심요소라 할 수 있다.
해당 키를 이용하여 외부 entity와 인증을 맺은 후 데이터를 서로 주고 받을 수 있다.
간단히 말하면 신용카드(스마트 카드)내의 키를 알아야 신용 결제를 성공 할 수 있다고 보면 된다.
대략적인 결제 흐름을 보면
- 신용카드는 결제시 결제 데이터를 가지고 카드안에 들어 있는 특정키로 암호화하여 만든 암호문(Cryptogram)만든다.
- 결제단말기는 전달된 암호문(Cryptogram)을 신용카드사에 전달한다.
- 신용카드사는 해당 카드 내에 존재하는 키를 알고 있기 때문에 전달된 암호문(Cryptogram)이 정상인지 확인 후 승인/거절 처리를 한다.
결국은 신용카드사가 카드별로 키를 전부 알고 있어야 하는데 매일, 매월 발급되는 카드가 엄청나기 때문에 모든 키를 DB화 하여 구축하는 것은 비용적으로 큰 문제가 발생된다.
위 문제는 Derived Key(파생키)라는 것을 만들어 신용카드에 주입함으로써 문제를 해결 할 수 있다.
Derived Key = Encrypt(Derivation Data, Master Key)
Derivation Data와 Master Key를 알고 Encrypt 방식까지 정했다면 Derived Key를 생성할 수 있다.
즉, 신용카드사는 Master Key를 가지고 Encrypt 방식을 결정한 후 신용카드에 위와 같은 방식으로 Derived key를 만들어 주입을 하면 신용카드사는 위 3)번의 경우 카드내에 존재하는 파생키를 유추하여 암호문을 확인할 수 있게 된다. 단, Derivation Data를 암호문(Cryptogram)과 함께 신용카드 서버로 전달해야 한다.
이와 같이 된다면 신용카드사는 모든 키에 대하여 DB화를 할 필요가 없다는 의미가 된다.
스마트카드에서 일반적인 Derivation Rule로는 CPG라는 것이 있는데 이는 Card Production Guide의 약자로써 VISA에서 정의하는 규칙이다.
이 CPG 버전에 따라 방식이 다르며 일반적으로 CPG v2.0.4와 CPG v2.1.1을 일반적으로 사용한다.
반응형
'IT관련' 카테고리의 다른 글
The Java Card Applet Development Process (0) | 2014.05.16 |
---|---|
Datacard SCPM 버전 (0) | 2013.07.01 |
Gmail을 이용한 GTD(Getting Things Done) (0) | 2013.02.08 |
드래그 풀림 현상 해결 방법(로지텍 무선 마우스 M705) (58) | 2012.12.21 |
AID(Application Identifier) 구조 및 등록 방법 (2) | 2012.07.18 |