【问题标题】:Payment Application - EMV支付应用程序 - EMV
【发布时间】:2019-02-18 02:32:13
【问题描述】:

我正在为 Android 开发一个支付应用程序。我已经阅读了所有四本 EMV 书籍(4.3 版),这些书籍用于实现与终端通信的协议。我还从 Mastercard 购买了终端模拟器套件来测试我的应用程序。

使用这个模拟器,我可以从我的真实实体借记卡中读取数据,以获取发行者公钥证书等信息。我将这些信息放入我的应用程序中以“模拟”一张卡。但是有些数据我没有通过终端模拟器收到,例如用于生成应用程序密码的颁发者主密钥。

所以我的问题是是否有可能获得丢失的数据?也许它可以在线获得?还是我必须与发卡行合作? 很抱歉这个一般性问题,但我真的很感谢你给我的每一个提示!谢谢!

【问题讨论】:

    标签: payment emv pos


    【解决方案1】:

    我可以说您正在尝试在 Android 上创建一个 NFC 钱包并尝试在 MasterCard 的模拟器上对其进行测试吗?

    并非所有内容都可以从卡中取出,否则每个人都会开始克隆,市场上就会充斥着假卡:)

    EMV 交易的安全性受到密码保护。每笔交易都使用密钥携带不同的密码。检查thisthis

    但无论是安全元素钱包还是 HCE,发行者主密钥都不会直接加载到钱包中。在安全元件的情况下,受信任的服务器连接到钱包并共享从发行者主密钥派生的卡密钥,并且在交易期间,会话密钥是从生成密码的卡密钥生成的。当它是 HSE 时,您将主要只存储会话密钥,因为它不如 SE 安全。您可以存储几个会话密钥,每次使用一次或一个会话密钥可以多次使用,- 全部取决于您的实现。

    【讨论】:

    • 是的,你可以这么说。
    • 我回答你的问题了吗?还是有遗漏的部分?
    • 但是例如据说 SDA 不如 DDA 安全,因此可以使用 SDA 复制卡。
    • 那么您是否建议与发卡行合作,因为您认为卡不能被复制?
    • SDA 只能保证数据发出后不被篡改。
    【解决方案2】:
    But there is some data I don't receive through the terminal simulator like the Issuer Master Key for generating the Application Cryptogram.
    

    您只能从卡中读取一些数据,例如根据 AFL 个性化的记录,而无法从卡中读取密码密钥等敏感信息。

    Real Process is like:-
    

    1 - 卡使用其 AC 密钥生成密码,并将密码发送到主机进行验证,

    2 - 主机使用其密钥计算密码,如果两个密码匹配,它将成功。

    正如您所说,您使用的是实时借记卡,实际上几乎不可能猜出其中的 AC 密钥。

    希望对你有帮助。

    【讨论】:

      【解决方案3】:

      发行者主密钥生成并保存在发行者的主机 HSM 中。每张已发行的卡都装有来自发行者主密钥的派生密钥。因此,每张卡都有自己的派生密钥。由于密钥用于应用程序密码计算并且必须信任 AC,因此永远无法读取密钥(如果可以,则 EMV 的安全性被破坏)。因此,Issuer 不会与任何人共享 Issuer Master Keys,而只会保存在 HSM 中!

      【讨论】:

        猜你喜欢
        • 2020-05-09
        • 2021-08-01
        • 2014-07-08
        • 1970-01-01
        • 2014-07-08
        • 2015-08-23
        • 1970-01-01
        • 1970-01-01
        • 2014-02-27
        相关资源
        最近更新 更多