首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >芯片和PIN PIN哨兵,它在签署时实际上是做什么的?

芯片和PIN PIN哨兵,它在签署时实际上是做什么的?
EN

Security用户
提问于 2016-10-10 09:37:00
回答 1查看 562关注 0票数 3

当我和我的银行一起使用网上银行时,我使用了一个叫做针哨的东西,即:

(维基媒体共用图片)

为了使用它,我插入我的芯片插脚卡(芯片侧),并按下三个最上面的按钮之一:识别、响应或签名。哨兵向我要PIN,并生成一个8位数的代码,然后我在网上银行使用。

哨兵本身不包含到我帐户上的任何密钥( EMV已经使用了公钥密码学),因为我可以使用其他人的PIN哨兵。但我不知道它到底能做些什么来产生这些数字。

我猜

起初,我认为它对1单位货币执行了离线授权,这种授权永远不会被清除。然后哨兵会打印出HMAC的第一个数字。但这种猜测有两个问题:

  1. 在某个时候,卡片会想上网,并拒绝执行离线授权。我对此进行了测试(连续多次使用哨兵,而卡片从未拒绝)。
  2. EMV有UN (不可预测的数字,即9F37上的随机数),它由卡生成并作为事务的一部分发送。据我所知,在HMAC计算中使用了UN,因此检查HMAC的发行者需要联合国。但是,如果发行人只收到来自HMAC的数字,他就无法验证。

所以是的,我想不出这东西是怎么工作的。但是我还有一个关于这个设备和PCI的问题。因此,问题摘要如下:

问题

  1. PIN哨兵生成一个8位数字的数字代码,这是相对容易的蛮力。这怎么能与PCI兼容?
  2. PIN哨兵不太可能为一种货币进行交易。因此,它如何使用芯片来验证PIN并产生一个可以由发行者检查的输出?
EN

回答 1

Security用户

回答已采纳

发布于 2016-10-10 11:57:46

EMV有一个子规范,称为芯片认证程序 (用于MasterCard)或Dynamic身份验证(用于Visa)。

我以前从未遇到过这种情况,但根据维基百科的说法,你的“一种货币单位”的猜测非常接近。设备首先为(假) $0事务生成取消消息,然后使用存储在卡上的掩码(颁发者身份验证指示符)从ARQC响应中选择某些位,这些比特被转换为显示的数字。

至于强制代码的野蛮行为,那是在银行:因为设备只在与你的银行交互时使用,银行会立即意识到任何不正确的代码尝试,如果检测到太多,就可以锁定你的帐户。类似地,该设备使用卡的标准PIN计数器,所以如果您错误的PIN太多次,卡将锁定自己,直到它可以进行在线交易。

票数 3
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/139301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档