본문 바로가기
개발이야기

[EMV] 해외카드 EMV 로그분석 02

by 코저씨 2019. 6. 20.
728x90

Get Processing Option Command 로 PDOL데이터를 확인한다.

To IC : [80,A8,00,00,0A,83,08,00,00,00,00,12,34,04,10,]
바로 전 Final Select에서 9F 38 PDOL데이터가 9F,02,06,5F,2A,02 이였다. 9F02는 승인금액(6자리)이고
5F2A는 거래통화코드이며 각 값은 1234원 / 0410 (한국,원)이다. 이때 
Tag 83(Command data)에 + 길이 (2) 와 같이 넣으면 위와 같다.

From IC:  [80,0E,7C,00,08,01,02,00,10,01,06,01,20,01,02,00,90,00,]
수신되는 데이터는 80포맷으로 들어온 것으로 보아 Format 1 이다. 

80 / 0E / 7C,00, / 08,01 02,00, / 10,01 06,01, / 20,01 02 00
7C 00 은 AIP이며 SDA/DDA/Cardholder verfication 지원 등을 지원한다.

다음 4자리는 AFL이며 각의미는 다음과 같다. Read Record시 SFI가 00001 / 00010 / 00100 이며 읽을 레코드는 1~2 / 1~6 / 1~2번.

이제 Read Record를 하면 다음과 같다. 

To IC :  [00,B2,01,0C,00,] 1번 SFI / 1번 레코드
From IC:  [70,15,57,13,81,63,99,** ** **,0D,30,10,20,10,00,00,00,00,** ** ** **]
Tag 57(Track2 Data )  / 13 Len / 81,63,99,** ** **,0D,30,10,20,10,00,** ** ** ** 

To IC  :  [00,B2,02,0C,00,] 1번 SFI / 2번 레코드
From IC:  [70,05,5F,20,02,20,2F,]
Tag 5F20(Cardholder name) / 05 len / 5F,20,02,20,2F

To IC :  [00,B2,01,14,00,] 2번 SFI / 1번 레코드
From IC :  [70,4E,5F,25,03,16,08,01,5F,24,03,30,10,31,5A,07,81,63,99,99,** ** **,
5F,34,01,01,9F,07,02,FF,00,8E,0C,00,00,00,00,00,00,00,00,02,03,1F,00,9F,0D,05,D8,60,04,A8,00,9F,0E,05,00,10,98,00,00,9F,0F,05,D8,68,04,F8,00,5F,28,02,01,56,9F,08,02,00,30,]
Tag 5F25 (카드 발효기간)  / 03 len / 16,08,01 (16년 8월 1일)
Tag 5F,24 (유효기간) / len,03 / ,30,10,31 (30년 10월 31일 ? 엄청기네..)
Tag 5A(PAN, 계좌번호) / len 07 / ,81,63,99,99,** ** **
Tag 5F,34(PAN sequence num) /len 01 / 01
Tag 9F,07(Application usage control)/ len 02/,FF,00
Tag 8E(Cardholer Verification Method List) / len 0C / 00,00,00,00,00,00,00,00,02,03,1F,00
CVM처리시 사용 중요 ! 

Tag 9F,0D (Issuer Action Code Default, 거래방식에 대해 발급사가 지정한 데이터) / len ,05, / D8,60,04,A8,00
https://www.openscdp.org/scripts/tutorial/emv/terminalactionanalysis.html 를 참조.
Tag 9F,0E(Action Code Denial, 거절하기위한 코드) / len 05 / 00,10,98,00,00,
Tag 9F,0F(Action Code Online, 강제 거래하기 위한 코드) / len 05 / D8,68,04,F8,00
Tag 5F,28(Issuer Contry Code) / len 02 / 01,56 (CHINA)
Tag 9F,08,(
Application Version Number) / len 02 / 00,30

너무 기니 한턴 쉬고..

To IC :  [00,B2,02,14,00,] 2번 레코드 / 2번 SFI
From IC:  [70,81,B4,9F,46,81,B0,63,11,4F,96,C4,05,FB,5F,E9,B4,EB,B1,32,FE,A1,47,3A,F1,45,4F,5C,77,F0,90,
13,3C,5E,C1,98,52,AC,5A,97,41,15,AA,4E,72,8D,D1,A7,71,D1,23,B5,59,7D,7A,07,3D,8E,6B,1B,16,6D,EB,3B,31,93,37,10,95,E0,A3,93,B2,2A,69,5E,C9,8D,F0,62,3D,7B,5A,B3,31,CB,40,9F,AD,58,09,82,AB,4F,47,C7,C4,75,89,20,53,43,34,16,77,8E,49,F5,88,7B,AD,A1,F3,0A,2F,61,C6,84,69,9C,E1,95,09,D2,84,0E,26,E3,0C,DA,87,7E,73,1B,FE,E1,C2,A8,0B,F4,53,DE,70,53,37,6D,64,B6,15,F9,57,F1,80,31,B4,20,32,F9,13,BD,C3,25,80,BF,8C,FB,CB,BE,80,3B,E5,A6,AF,93,36,15,1F,0A,52,61,2D,BD,A8,]

70 / 81 B4 : 2바이트 len

Tag 9F 46 : ICC Public Key Certificate / 81 B0 : len 


To IC  :  [00,B2,03,14,00,] 3번 레코드 / 2번 SFI
From IC:  [70,81,B3,93,81,B0,61,E4,1E,5C,E9,11,D7,9F,AF,D0,BD,8D,F9,C9,61,D0,84,04,B7,9C,22,95,33,3A,35,5D,73,29,3A,94,C4,3F,EA,6A,E6,EA,EB,2B,C5,26,5C,A1,1D,7E,E6,52,08,E3,2A,61,A3,F8,3B,2B,95,51,29,6E,09,BF,38,E2,A3,8A,37,67,2B,42,07,79,52,1C,36,C8,BE,70,3B,0A,76,81,1B,B7,42,87,33,D2,45,F5,DE,D6,DC,17,72,62,46,08,DC,8D,67,F5,5D,EA,A8,D8,49,94,99,9B,EC,9D,A8,FB,77,93,D6,19,BF,0E,2B,CC,02,BF,9F,17,F9,CF,32,2A,D6,AC,7C,5F,B2,DB,A7,FC,22,B6,1F,02,C5,E2,82,95,27,12,63,0D,4A,F1,42,58,38,11,C5,FA,42,4D,6B,6F,EF,3A,81,9D,E3,AE,57,3F,36,B8,58,E3,37,2C,A4,EF,]

70 / 81 B3 : Len

Tag 93  Signed Static Application Data / 81 B0 len : SDA 수행 시 검증해야 하는 데이터


To IC :  [00,B2,04,14,00,] 4레코드 / 2번 SFI
From IC :  [70,08,9F,4A,01,82,9F,47,01,03,]

Tag 9F4A : Static Data Authentication Tag List : SDA 인증시 필요한 데이터

Tag 9F247 : ICC Public Key Exponent


To IC :  [00,B2,05,14,00,] 5번 레코드 / 2번 SFI
From IC:  [70,49,5F,30,02,02,01,9F,42,02,01,56,8C,1B,9F,02,06,9F,03,06,9F,1A,02,95,05,5F,2A,02,9A,03,9C,01,9F,37,04,9F,21,03,9F,4E,14,8D,1A,8A,02,9F,02,06,9F,03,06,9F,1A,02,95,05,5F,2A,02,9A,03,9C,01,9F,37,04,9F,21,03,9F,49,03,9F,37,04,]

Tag 5F30  Service code as defined in ISO/IEC 7813 for track 1 and track 2  / len 02 / 0201

Tag 9F42  Application Currency Code / 02 / 0156 (china)

8C Card Risk Management Data Object List 1  CDOL1데이터 , 1st Generate AC 에 사용 .

1st Generate AC시 보내야 할 데이터는 위 CDOL1의 커맨드의 응답이다. 각 자세한 값은 1st AC에서 알아보자.

    Tag 9F,02 / 06, : 결제금액 Amount, Authorised (Numeric) 이며 6자리.

    Tag 9F,03 / 06, :  캐시백 금액 Amount, Other (Numeric) 6자리

    Tag 9F,1A / 02 :  Terminal Country Code , 국가코드 0410 2바이트

    Tag 95 / 05 : Terminal Verification Results , 단말기 상태 5바이트

    Tag 5F2A / 02 : Transaction Currency Code , 결제환율코드 2바이트

    Tag9A / 03 :  Transaction Date , 결제날짜 3바이트

    Tag 9C / 01 :  Transaction Type , 결제타입 1바이트 (ISO 8583:1987)

    Tag 9F37 / 04 : Unpredictable Number , 암호화를 위한 랜덤코드 4바이트

    Tag 9F21 / 03 :Transaction Time, 로컬 거래 시간(3바이트)

    Tag 9F4E 14 : Merchant Name and Location, 3바이트

8D Card Risk Management Data Object List 2  CDOL2데이터 , 2nd Generate AC 에 사용 .

    Tag 8A/02 : Authorisation Response Code 인증응답코드 2바이트

    Tag 9F,02/06 :결제금액 Amount, Authorised (Numeric) 이며 6자리.

    Tag 9F,03/06 :캐시백 금액 Amount, Other (Numeric) 6자리

    Tag 9F,1A/02: Terminal Country Code , 국가코드 0410 2바이트

    Tag 95/05: Terminal Verification Results , 단말기 상태 5바이트
    Tag 5F,2A/02: Transaction Currency Code , 결제환율코드 2바이트
    Tag 9A/03: Transaction Date , 결제날짜 3바이트
    Tag 9C/01: Transaction Type , 결제타입 1바이트 (ISO 8583:1987)
    Tag 9F,37/04 : Unpredictable Number , 암호화를 위한 랜덤코드 4바이트
    Tag 9F,21/03: Transaction Time, 로컬 거래 시간(3바이트)

 

9F,49,03,9F,37,04 : DDOLDynamic Data Authentication Data Object List (DDOL) 


To IC  :  [00,B2,06,14,00,] 6번 레코드 / 2번 SFI (다읽었네 길다..)
From IC:  [70,08,9F,14,01,00,9F,23,01,00,]

 Tag 9F14 / len 01 / 00 : Lower Consecutive Offline Limit -> Terminal Risk Management 수행시 필요

 Tag 9F23 / len 01 / 00 : Upper Consecutive Offline Limit -> Terminal Risk Management 수행시 필요


To IC :  [00,B2,01,24,00,] 1번 레코드 / 3번 SFI
From IC:  [70,81,FB,90,81,F8,17,F4,E4,CD,D1,0B,B0,62,6A,12,45,CD,5D,1F,44,CC,49,AD,84,E4,2D,A1,6B,F6,F2,35,BD,EB,DE,C5,3D,A6,E6,0E,D9,2E,DB,B1,87,C1,9D,A0,C7,12,34,9E,81,63,BE,10,C4,F1,56,61,BF,57,6D,D3,4C,66,71,F1,A7,BC,7C,E1,70,C7,27,7A,3A,07,6A,29,7D,DF,83,7E,74,FD,D3,88,07,B3,61,E4,4E,84,5E,A3,BD,32,4F,7C,F8,EB,10,3A,1E,20,69,4D,96,55,73,F9,38,43,43,8B,42,CD,2C,7B,50,10,39,FB,FC,B5,A4,CE,16,91,B1,AF,C7,34,23,AD,25,61,7C,0D,C4,73,CD,72,C5,AB,17,AD,95,F0,40,F5,57,66,F5,E9,70,2F,C8,30,ED,89,0A,C0,07,56,78,10,7F,41,5D,07,53,AD,C8,32,66,D8,06,8A,17,61,8D,86,2F,C8,73,A1,DB,FA,7F,F5,73,C3,EC,C3,D0,51,17,24,87,2F,95,E5,91,DF,E3,43,B2,69,02,B9,00,B4,55,66,61,51,EB,E8,2A,39,51,EA,97,0C,9E,13,26,6B,CF,04,C9,CD,55,CE,BF,C0,6A,00,0F,81,70,78,18,D2,CB,6A,FD,C5,35,E0,83,89,]

 Tag 90 : Issuer Public Key Certificate , 이 값은 DDA 오프라인 인증시 사용된다.


To IC :  [00,B2,02,24,00,] 2번 레코드 / 3번 SFI
From IC :  [70,07,9F,32,01,03,8F,01,0B,]

Tag 9F32 / 01 / 03 :  Issuer Public Key Exponent 

Tag 8F / 01 / 0B : Certification Authority Public Key Index 

1st Genarate AC는 다음에 알아보자.

728x90