0

我通过从卡发送和接收 APDU 来获取 NFC 标签的 uid。将它们存储在数据库中。在登录时,我将登录的用户标签 ID 与数据库进行比较以进行身份​​验证。这可行,但这是按照标准安全策略进行 NFC 身份验证的正确方法吗?我有点困惑,因为 PKI 涉及证书处理和使用公钥绑定用户。

4

1 回答 1

0

使用 UID 进行身份验证不是一个好主意,因为它是世界可读的,任何人都可以复制它并使用它来编程允许它的卡之一。一些非接触式设备在每次开机时都会生成不同的随机 UID。

有很多选择,比如这两个非常简单的选择:

  • 使用标准安全通道之一(SCP02、SCP03)执行相互认证读卡器,然后发送标识符。每张卡都必须配备一组对称密钥(在上述情况下为 3DES 或 AES),并且读卡器可以从某个卡的唯一标识符中获取它们。

  • 使用公私钥。例如,您可以在注册时将私钥存储在卡中,然后用于身份验证,使用它来签署由阅读器发出的质询 + 一些与证书中的公钥相关联的 ID。

环顾四周,您可能会找到更好的想法。祝你好运!

于 2018-11-30T17:48:38.047 回答