无法使用EMV非接触式(Interac Flash)从借记卡读取PAN

时间:2014-03-17 02:36:22

标签: java nfc smartcard-reader emv contactless-smartcard

尝试在支持NFC Interac Flash的卡上使用标准EMV协议读取借记卡号码。

这是我的交易顺序:

Request1:00A404000E325041592E5359532E444446303100(选择2PAY.SYS.DDF01获取PSE目录)

Response1:6F2C840E325041592E5359532E4444463031A51ABF0C1761154F07A00000027710105007496E74657261638701019000(AID A0000002771010 found,Interac)

Request2:00A4040007A000000277101000(选择AID A0000002771010)

Response2:6F348407A0000002771010A5295007496E74657261638701015F2D02656E9F38159F59039F5A019F02069F1A025F2A029F37049F58016285(选定的AID,响应包括PDOL,见下图。

http://i.stack.imgur.com/c9FjM.png

Request3:80A800001583130000990000000000000001240124000001230000(获取处理选项,基于上述结构)

回应3: 6985 (不允许命令;不满足使用条件。)

我无法通过6985错误;经过2天的规范阅读和反复试验。

从借记卡(Interac)读取卡号的任何提示/想法/成功示例?正在测试的卡是具有Interac Flash非接触功能的TD借记卡。

非常感谢!

---注意:我可以在没有GET PROCESSING OPTION的情况下从Visa和MasterCard读取卡号。但是因为我在没有GPO的情况下持续获得6985,所以我尝试这样做,但失败了。我真的不需要做GPO,只需要获取卡号和有效期。 ---

2 个答案:

答案 0 :(得分:7)

直接支付的双接口读卡器/终端规格版本1.4表示当内部应用程序事务计数器(ATC)达到其最大值时,卡应响应SW1 SW2 = 6985:

  

3.2.6获取处理选项命令

     

...如果ATC达到其最大值('FFFF'),则卡响应   获取处理选项是SW1SW2 = '69 85'。

但是,由于对其请求的PDOL的响应无效,该卡可能会拒绝GET PROCESSING OPTIONS(GPO)命令。以下是GPO命令中发送的值与有效Interac Flash事务中的值的比较:

TAG  LEN MEANING                                YOUR SAMPLE    VALID SAMPLE
9F59 03  Terminal Transaction Information       000099         C08000
9F5A 01  Terminal transaction Type              00             00               
9F02 06  amount, authorised                     000000000000   000000001000
9F1A 02  Terminal country code                  0124           0124
5F2A 02  Transaction currency code              0124           0124
9F37 04  Unpredictable number                   00000123       823DDE7A 
9F58 01  Merchant Type Indicator                00             01

你会注意到:

  1. 终端交易信息似乎无效。应根据您的阅读器功能进行设置。
  2. 该卡可能不支持该金额:您正在尝试购买0美元。
  3. 商家类型指示符无效(有效值范围为01至05)
  4. 一旦你纠正了这些值,卡片很可能会接受GPO命令,你将能够使用READ RECORD命令读取PAN。

    希望这有帮助。

    以下是可接受的InteracFlash购买示例,直至接受的GPO命令。 PCD识别非接触式读卡器/终端发送的命令,PICC识别来自InteracFlash卡的响应:

    PCD     Select File
    PCD         CLA: 00
    PCD         INS: A4
    PCD         P1: 04
    PCD         P2: 00
    PCD         Lc: 0E
    PCD         Data: 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31
    PCD         Le: 00
    PICC    Successful
    PICC        Data (46 bytes)
    PICC            Tag 6F:FCI Template
    PICC            Length:2C
    PICC            Value :84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 
            A5 1A BF 0C 17 61 15 4F 07 A0 00 00 02 77 10 10 
            87 01 01 50 07 49 4E 54 45 52 41 43
    PICC                Tag 84:Dedicated File (DF) Name
    PICC                Length:0E
    PICC                Value :32 50 41 59 2E 53 59 53 2E 44 44 46 30 31
    PICC                Tag A5:FCI Proprietary Template
    PICC                Length:1A
    PICC                Value :BF 0C 17 61 15 4F 07 A0 00 00 02 77 10 10 87 01 
            01 50 07 49 4E 54 45 52 41 43
    PICC                    Tag BF0C:FCI Discretionary Data
    PICC                    Length:17
    PICC                    Value :61 15 4F 07 A0 00 00 02 77 10 10 87 01 01 50 07 
            49 4E 54 45 52 41 43
    PICC                        Tag 61:Application Template
    PICC                        Length:15
    PICC                        Value :4F 07 A0 00 00 02 77 10 10 87 01 01 50 07 49 4E 
            54 45 52 41 43
    PICC                            Tag 4F:Application Identifier
    PICC                            Length:07
    PICC                            Value :A0 00 00 02 77 10 10
    PICC                            Tag 87:Application Priority Indicator
    PICC                            Length:01
    PICC                            Value :01
    PICC                            Tag 50:Application Label
    PICC                            Length:07
    PICC                            Value :49 4E 54 45 52 41 43
    PICC                            ASCII Value:INTERAC
    PICC            SW1 SW2: 90 00
    PCD     Select File
    PCD         CLA: 00
    PCD         INS: A4
    PCD         P1: 04
    PCD         P2: 00
    PCD         Lc: 07
    PCD         Data: A0 00 00 02 77 10 10
    PCD         Le: 00
    PICC    Successful
    PICC        Data (62 bytes)
    PICC            Tag 6F:FCI Template
    PICC            Length:3C
    PICC            Value :84 07 A0 00 00 02 77 10 10 A5 31 50 07 49 4E 54 
            45 52 41 43 87 01 01 9F 38 15 9F 59 03 9F 5A 01 
            9F 02 06 9F 1A 02 5F 2A 02 9F 37 04 9F 58 01 5F 
            2D 02 65 6E BF 0C 05 9F 4D 02 0B 14
    PICC                Tag 84:Dedicated File (DF) Name
    PICC                Length:07
    PICC                Value :A0 00 00 02 77 10 10
    PICC                Tag A5:FCI Proprietary Template
    PICC                Length:31
    PICC                Value :50 07 49 4E 54 45 52 41 43 87 01 01 9F 38 15 9F 
            59 03 9F 5A 01 9F 02 06 9F 1A 02 5F 2A 02 9F 37 
            04 9F 58 01 5F 2D 02 65 6E BF 0C 05 9F 4D 02 0B 
            14
    PICC                    Tag 50:Application Label
    PICC                    Length:07
    PICC                    Value :49 4E 54 45 52 41 43
    PICC                    ASCII Value:INTERAC
    PICC                    Tag 87:Application Priority Indicator
    PICC                    Length:01
    PICC                    Value :01
    PICC                    Tag 9F38:Processing Options Data Object List (PDOL)
    PICC                    Length:15
    PICC                    Value :9F 59 03 9F 5A 01 9F 02 06 9F 1A 02 5F 2A 02 9F 
            37 04 9F 58 01
    PICC                        Tag 9F59:Terminal Transaction Information
    PICC                        Length:03
    PICC                        Tag 9F5A:Terminal transaction Type
    PICC                        Length:01
    PICC                        Tag 9F02:Amount, Authorized (Numeric)
    PICC                        Length:06
    PICC                        Tag 9F1A:Terminal Country Code
    PICC                        Length:02
    PICC                        Tag 5F2A:Transaction Currency Code
    PICC                        Length:02
    PICC                        Tag 9F37:Unpredictable Number
    PICC                        Length:04
    PICC                        Tag 9F58:Merchant Type Indicator
    PICC                        Length:01
    PICC                    Tag 5F2D:Language Preference
    PICC                    Length:02
    PICC                    Value :65 6E
    PICC                    ASCII Value:en
    PICC                    Tag BF0C:FCI Discretionary Data
    PICC                    Length:05
    PICC                    Value :9F 4D 02 0B 14
    PICC                        Tag 9F4D:Log Entry
    PICC                        Length:02
    PICC                        Value :0B 14
    PICC            SW1 SW2: 90 00
    PCD     Get Processing Options
    PCD         CLA: 80
    PCD         INS: A8
    PCD         P1: 00
    PCD         P2: 00
    PCD         Lc: 15
    PCD         Data: 83 13 C0 80 00 00 00 00 00 00 10 00 01 24 01 24 
            82 3D DE 7A 01
    PCD         Le: 00
    PICC    Successful
    PICC        Data (23 bytes)
    PICC            Tag 77:Response Message Template Format 2
    PICC            Length:15
    PICC            Value :82 02 18 00 94 08 08 01 01 00 10 01 02 00 9F 63 
            04 00 10 00 00
    PICC                Tag 82:Application Interchange Profile
    PICC                Length:02
    PICC                Value :18 00
    PICC                Tag 94:Application File Locator (AFL)
    PICC                Length:08
    PICC                Value :08 01 01 00 10 01 02 00
    PICC                Tag 9F63:Card Transaction Information
    PICC                Length:04
    PICC                Value :00 10 00 00
    PICC            SW1 SW2: 90 00
    ...
    

答案 1 :(得分:3)

以下是整个工作流程,包括GPO和READ RECORD指令。

Request1: 00A404000E325041592E5359532E444446303100
Response1: 6F2C840E325041592E5359532E4444463031A51ABF0C1761154F07A00000027710105007496E74657261638701019000

Request2: 00A4040007A000000277101000  (SELECT)
Response2: 6F348407A0000002771010A5295007496E74657261638701015F2D02656E9F38159F59039F5A019F02069F1A025F2A029F37049F58019000

Request3: 80A80000158313C080000000000000100001240124823DDE7A0100 (GPO)
Response3: 7711820218009404100102009F6304001000009000

Request4: 00B2011400 (READ RECORD)
Response4: 70615A08XXXXXXXXXXXXXXXXX5F3401015F24031711308E0C0000000000000000010302038C159F02069F03069F1A0295055F2A029A039C019F37048D09910A8A0295059F37049F0D05FCF8FCF8F09F0E0500100000009F0F05FCF8FCF8F09F070229009000

感谢Nicolas Riousset。我的问题包括错误的PDOL响应,死EMV卡,最后在READ RECORD中,我需要读取记录2来获取轨道数据。 (不是记录1)