基于芯片的信用卡(智能卡)背后的密码学?

信息安全 密码学 公钥基础设施 智能卡
2021-08-27 19:23:08

为什么芯片比磁条更安全?

上述问题的答案解释了基于芯片的卡不能被克隆,因为“秘密号码”嵌入在芯片中并通过使用公钥密码术进行保护。该芯片还执行一些加密操作来验证自己,而不会泄露实际的秘密信息。

我想知道这些加密操作是什么可以实现安全的金融交易。我搜索了 sec.SE 并确实遇到了一个类似的问题,但答案并没有解释协议的工作原理。他们更多地关注可能的攻击,并且只说“一些加密数学”。

我希望我已经说清楚了。

PS我很想知道密码协议的工作原理以及它如何实现安全性。我知道密码学的基本概念。

2个回答

确切的密码学取决于银行。通信标准 ( ISO 7816 ) 很灵活,不强制要求特定的加密算法。在实践中,您会发现以下两种模型:

  1. 该卡仅执行对称加密(对称加密,MAC)。该卡有一个静态标识符(粗略地说,它包含卡号和类似信息),该标识符已由发卡机构签名(该签名的副本由卡存储,卡将其发送到支付终端)。卡芯片包含银行也知道的秘密值;该秘密用作根据交易详细信息计算的 MAC 的密钥。

  2. 该卡可以计算数字签名它包含一个其他实体不知道的私钥(特别是发卡行也不知道私钥)。相应的公钥由银行认证,即银行已签署包含该公钥和卡 ID 的包。该签名存储在卡上,并发送到支付终端。

在这两种情况下,PIN 码都会发送到芯片,以说服其合法所有者在场,因此芯片应 MAC/签署交易细节。两种型号的主要区别在于:

  • 在第二种模式中,支付终端可以离线方式确保它与真正的卡对话,方法是通过卡 ID 和公钥验证银行签名,然后使用卡验证卡计算签名本身公钥和已知的交易细节。对于第一种模式,支付终端无法确保它与真正的卡通话;通过卡 ID 上的银行签名,终端可以确保存在具有该特定 ID 的有效卡,但实际插入终端的卡可能是克隆,它会喷出随机垃圾而不是预期的 MAC。

  • 在第一个模型中,由于银行拥有卡密钥的副本,理论上它可以通过计算虚假交易来构建卡所有者。使用第二种模式,银行可以声称,由于它不拥有卡私钥的副本,因此交易必然是真实的。在银行与其客户之间发生诉讼的情况下,从法律角度来看,这可能很重要。这不是绝对的——我们在这里进入了一个律师出没的战场,数学只是其中的一个元素——但第二种模式可能会通过银行自己的针对付款违约的保险系统来降低银行的成本。

  • 可以进行非对称加密的卡比只能进行对称加密的卡更昂贵。价差大大缩小;一个数量级将是 0.1 美元对 2 美元(建筑价格)。然而,卡市场有巨大的延迟,因为协议的变化只有在卡过期和支付终端更新后才能渗透(后者是两者中最慢的)。

十年前,法国所有的支付卡(“Carte Bleue”)都沿用了第一种模式。这意味着通常离线的支付终端可能会被包含有效卡 ID 副本的卡克隆所欺骗,但只会产生垃圾而不是 MAC。所以在实践中,终端只允许少量的离线模式(比如,少于 60 美元左右),即使这样也需要在线模式(终端要求存放在包含调制解调器或以太网插头的充电底座上)在随机的基础上。在后来的几年里,WiFi 和 3G 让终端上网更加频繁、顺畅(餐厅服务员可以在客户的餐桌旁,在营业期间一直陪伴)。

大约在 2000 年,还有另一个问题,即银行的签名(通过卡 ID)使用 320 位 RSA。分解 320 位模数在计算上很容易。一位自学成才的工程师,名叫Serge Humpich注意到,考虑到模数,造了一张假卡(即根本不是克隆,但仍然被离线支付终端接受),并认为自己是个天才。然后,他试图向管理法国银行智能卡标准的组织“推销他的专业知识”(传闻他通过律师联系了他们,他选择了一位盲人律师,使该男子无法描述他的面部特征,应该发生合法的hijinks)。该团伙认为这是敲诈勒索,并报了警。Humpich 在一次涉及两张地铁票和一张假卡的示威活动中被捕(十几名无辜的旁观者突然变成了十几名便衣警察)。整个故事都是错误的混合:2000 年的 320 位 RSA 模数,无疑是严重无能的标志(即使在 1980 年代后期选择它时,就已知的学术密码分析结果而言,它已经太小了);Humpich 行为的可笑古怪的细节表明,他对他的“发现”的新颖性非常迷惑。

它使用数字签名。

存储在卡上的密码是私钥。为了执行交易,读卡器生成交易摘要:日期、时间、金额、商户 ID 等。读卡器将其发送到卡。该卡使用其私钥生成交易详细信息的数字签名,并将其发送回读卡器。然后,阅读器可以使用此签名来证明该卡存在。但是,私钥永远不会泄露,因此阅读器无法生成任何其他数字签名。

精确的协议相当复杂并且有许多变化(例如在线/离线操作)。它被标准化为 ISO/IEC 7816,以确保来自不同制造商的卡和读卡器可以相互工作。如果您对底层细节感兴趣,这篇Wikipedia 文章是一个好的开始。