如何验证硬件是否合法

信息安全 验证 密钥管理 硬件
2021-08-11 05:22:29

我们正在研究一种传感器,它将收集数据,将其传递给智能手机,然后将数据存储在数据库中。我需要能够验证硬件是否合法,以便存储在数据库中的数据也是合法的。

我目前的想法是在硬件上存储一个密钥,当硬件第一次连接时,它会被加密并发送。如果验证失败,则拒绝以下数据。

是否有验证硬件的标准,以防止恶意硬件冒充真实设备?

1个回答

这听起来像是公钥加密的工作。对来自设备的消息进行签名,使其具有嵌入式私钥。然后在移动应用程序和他们报告的服务器上进行验证。

我建议:

  1. 在每个硬件传感器中嵌入一个唯一的私钥。
  2. 为设备提供来自(您创建的)私有证书颁发机构的证书。
  3. 将 CA 的公钥放入手机应用程序中。
  4. 使用传感器中的私钥对每个数据事件进行签名,并包括传感器的身份和日期/时间,以及每个事件中的唯一标识符(以防止重放攻击)。还包括事件的证书。
  5. 使用签名和证书,手机应用程序可以验证事件来自合法传感器,而无需任何方式篡改事件。
  6. 该应用程序将整个事件+签名+证书传递给您的中央服务器,中央服务器可以使用唯一 ID 和日期/时间来验证事件没有重复。

您还需要考虑您的攻击者:他们是否只会查看手机应用程序,还是会尝试破坏您的传感器。他们可以在签名之前更改读数吗(例如温度计上的吹风机:-))