英国在线银行卡读卡器识别熵

信息安全 银行
2021-08-14 01:52:31

在英国,通常使用智能卡和读卡器登录网上银行。您插入卡,输入 PIN 并从读卡器取回一个 8 位代码以进入网上银行网站。请注意,它无论如何都不是从银行播种的,您所需要的只是卡和 PIN 码。

我一直认为返回的 8 位代码不是很随机(特别是前两位数字相同),所以我开始跟踪。基本上8位代码每次单调增加约60,000到90,000。

根据我对它的理解,这似乎不正确。显然,在识别算法中植入的熵非常低(如果我理解正确,只使用卡上的内部计数器),但我认为卡上​​的 3DES 会产生类似噪声的 8 位代码序列。

这真的是系统应该如何工作的吗?

1个回答

该协议在Optimized to Fail: Card Readers for Online Banking - Drimmer, Murdoch and Anderson 2009中讨论

该论文展示了来自 Natwest & Barclays 的读者图片,并提到了 HBOS。从视觉上看,它们也与 Nationwide、Coop 和我相信其他人使用的阅读器相同。据我所知,这些设备自 2009 年以来就没有改变过——我当时有​​一个仍然可以工作的设备。

位过滤器似乎因银行而异。前几位似乎是“密码识别数据(CID)类型代码”,我想这将是跨事务的常量。接下来的几位(数量不同)似乎来自“应用程序事务计数器(ATC)” - 您希望随着每个事务的增加而增加。我希望这就是您看到的大增量的来源。

发行人申请数据也不是熵的来源。

这留下了“应用程序密码(AC)”。这是一个 MAC(一种散列形式 - 通常是 3DES CBC),涉及卡上的会话密钥。看起来其中的 10-20 位被占用,这将是熵的主要来源。