发表了一篇2012年的帖子Prevent copying nfc chip signal,建议:
“建议不要使用标记的唯一ID作为安全功能。”
除了下面说明的原因之外,为什么使用唯一ID作为生成消息验证代码(MAC)的消息的一部分是一个安全问题?
我的应用是使用RFID应答器的8字节固定唯一ID,RFID的100个数据字节的一部分和一些随机数据*来导出MAC。此MAC将用于验证标记的消息。
将唯一ID合并到MAC中的主要原因是它阻止了标记消息的简单副本,而MAC到另一个标记不会产生合法的MAC。
MAC需要足够大,有/无ID。 MAC大小目标:512位(32字节)。
已知问题:
一种已知的攻击是直接复制整个标记的数据和ID,然后将其移植到标记模拟器,该模拟器可以在不同的标记上重新创建ID。所以使用ID无济于事。
MAC变化仅取决于ID变化(其他数据相同),可能有助于打破MAC。为了抵御此漏洞,MAC还必须依赖其他随机数据。
答案 0 :(得分:1)
在这种情况下,我不会将ID用作安全功能。它只是MAC生成输入的一部分。例如,使用ID作为安全特征可以依赖于ID是唯一的这一事实。这是一个危险的假设,因为它实际上可能是欺骗性的。