좀 더 쉬운 코딩을 유도하는 EMV 지침서!
이 책은 EMV에 관한 새로운 개념을 설명하거나
새로운 내용을 논의하는 것은 더더욱 아니다.
다만 카드 단말기 개발자 특히, 소프트웨어 개발자들이
좀 더 쉬운 접근 및 쉬운 코딩을 유도하는 내용일 뿐이다.
먼저 IC Card(Integrated Circuit Card) 또는 스마트 카드(Smart Card)는 크게 접촉식 카드(Contact Card)와 비접촉식 카드(Contactless Card)로 나누어진다. 아마도 접촉식 카드가 먼저 나왔을 것으로 생각된다. 이전의 MS Card(Magnetic Stripe Card)는 카드 뒷면에 자성을 입혀 카드번호를 저장하여 사용되었는데, 위변조가 쉬운 문제가 발생하여 IC Card가 고안되었다. IC Card는 물리적으로 카드 내에 CPU를 가지고 있고 전원만 외부에서 공급받는 독립된 장치이다. 이에 대한 물리적 Assignment와 이를 단말기에 삽입했을 때 통신하기 위해 필요한 물리적/논리적 개념을 설명한 후 프로토콜을 간략하게 언급한다.
단말기가 관리해야 할 데이터 중 여러 개의 DOL(Data Object List)이 있는데, 이것의 개념을 설명하고, EMV 거래가 Application, Read Application, Offline Data Authentication, Processing Restrictions, Cardholder Verification, Terminal Risk Management, Terminal Action Analysis, Online Processing, Issuer-to-Card Script Processing 등을 단계별로 꼭 알아야 할 부분만을 언급하였다.
프롤로그
1. 서언
2. EMV 거래 이해를 위한 선행지식
2.1 | 데이터 엘리먼트 포맷(Data Element Format)
2.2 | IC Card에 대한 간단한 설명
2.3 | ATR(Answer To Reset)
2.4 | 카드와의 통신 프로토콜
2.5 | 커맨드 구조
2.5.1 C-APDU
2.5.2 R-APDU
2.6 | 파일 구조(File Structure)
2.7 | 파일 참조(File Referencing)
2.7.1 Name에 의한 참조
2.7.2 SFI에 의한 참조
2.8 | Application Selection
2.8.1 PSE(Payment System Environment) 사용하기(Using the PSE)
2.8.2 AID List 사용하기(Using a List of AIDs)
2.9 | SDA(Static Data Authentication)
2.10 | DDA(Dynamic Data Authentication)
2.11 | CDA(Combined DDA/Application Cryptogram Generation)
2.12 | PIN 암호화 및 증명(PIN Encipherment and Verication)
2.13 | DOL 사용 규칙(Rules for Using a Data Object List)
2.13.1 PDOL(Processing Options Data Object List)
2.13.2 CDOL1, CDOL2(Card Risk Management Data Object List)
2.13.3 TDOL(Transaction Certicate Data Object List)
2.13.4 DDOL(Dynamic Data Authentication Data Object List)
2.14 | Initiate Application Processing
2.14.1 GET PROCESSING OPTIONS RESPONSE Format 1
2.14.2 GET PROCESSING OPTIONS RESPONSE Format 2
2.15 | Read Application Data
2.16 | Ofine Data Authentication
2.17 | Processing Restrictions
2.17.1 Application Version Number
2.17.2 Application Usage Control
2.17.3 Application Effective/Expiration Dates Checking
2.18 | Cardholder Verication Method(CVM)
2.18.1 Ofine PIN 처리과정
2.18.2 Online PIN 처리과정
2.18.3 Signature 처리과정
2.19 | Terminal Risk Management(TRM)
2.19.1 Floor limit checking
2.19.2 Random transaction selection
2.19.3 Velocity checking
2.20 | Terminal Action Analysis(TAA)
2.21 | Card Action Analysis
2.22 | Online Processing
2.23 | Issuer-to-Card Script Processing
2.24 | Completion TLV Data Objects 룰(Rules for BER-TLV Data Objects)
3. EMV 거래데이터 분석
3.1 | Application Selection 데이터 분석
3.2 | Initiate Application 데이터 분석
3.3 | Read Record 데이터 분석
3.4 | Ofine Data Authentication 데이터 분석
3.5 | Cardholder Verication Method 데이터 분석
3.6 | Terminal Risk Management 데이터 분석
3.7 | Terminal Action Analysis 데이터 분석
3.8 | Issuer Script 데이터 분석
4. 부록
4.1 | PSE Selection with CUP
4.2 | PSE Selection with Visa
4.3 | AID List Selection with Mastercard
4.4 | SDA
4.5 | DDA
4.6 | CDA
4.7 | Plaintext PIN
4.8 | Enciphered PIN
4.9 | Online Enciphered PIN
4.10 | Terminal Action Analysis
4.11 | Issuer Script