我们要确保只有我们的设备正在与服务器通信(身份验证)。
据我所知,我公司将拥有自己的密钥对,将用于对中间密钥对进行签名,而中间密钥对又将用于对所有设备密钥对进行签名。
我的问题是-服务器如何“知道”终端设备是合法的?
#1 楼
规范的密码答案是每个设备上的客户端证书或某种机密。考虑以下示例,其中Microchip详细说明了如何通过Google IoT Cloud认证ATECC608A。细节在这里给出。您将需要一个秘密私钥和一个安全算法。当然,这意味着您必须在芯片上进行批量生产时安全地部署这些秘密。
评论
问题中描述的体系结构的重点是产品的每个副本都有唯一的密钥。这将折衷的成本区分开来-如果有人买了一个盒子并将其拆开,他们只能假冒那个盒子。如果有人窃取或滥用工厂的生产设备,他们只会获得一份中间证书,并且可以永久识别出由该受害密钥签名的单位。
–克里斯·斯特拉顿(Chris Stratton)
18年4月21日在17:16
我同意@ChrisStratton,可以假冒被拆散的单个设备。关于工厂生产,您将需要进行适当的审核,以跟踪哪些密钥已被盗用。
– Helmar♦
18年4月22日在9:27
您知道密钥被盗用的最可能的方式是,您在签名注册的产品证书中看到一个未生产的序列号,试图注册或放在后端的帐户中。或者,您开始在不同帐户的不同位置看到重复的序列号。相反,如果您开始看到成千上万个重复的序列号,则有人将产品拆开并提取了其密钥。
–克里斯·斯特拉顿(Chris Stratton)
18年4月22日在14:04