物联网中的信任机制与密钥管理
立即解锁
发布时间: 2025-08-29 11:14:40 阅读量: 8 订阅数: 11 AIGC 

# 物联网中的信任机制与密钥管理
## 1. 匿名身份的真实性
身份真实性通常是验证一方是否拥有特定身份,但在某些情况下,真实身份会被隐藏,这使得身份真实性的验证变得复杂。一个匿名身份认证方案应具备以下特性:
- 能够验证身份的真实性。
- 保持身份的匿名性。
要在验证身份真实性的同时保持其匿名性并非易事。如果匿名的目的只是隐藏真实身份,简单加密即可解决问题;但如果匿名意味着身份与其活动(如移动物体的轨迹)之间的关联,静态加密则无法解决,因为加密后的身份形式可被视为代表同一目标对象的新身份。因此,常用的匿名认证方法包括使用概率加密,或在每次成功认证后将身份映射为随机字符串。
在实际应用中,临时移动用户身份(TMSI)的使用就是移动通信网络中采用的一种匿名认证技术。
## 2. 身份认证协议
定义身份后,就可以验证其是否被授权。然而,在网络环境中,身份冒充是常见的攻击手段。为了验证通信方是否真的是其声称的身份,需要进行身份认证。最有效的身份认证方法是使用认证协议,认证协议种类繁多,有简单的也有复杂的。
### 2.1 认证方法
认证的目的是验证并确认远程通信实体确实代表其声称的身份。具体而言,认证要确认以下几点:
#### 2.1.1 你知道的信息
例如密码或你知晓的密钥。验证你知道的信息时,并非让你提供秘密,而是利用该秘密生成他人在不知晓秘密的情况下无法伪造的内容,且可由验证者(无论其是否知晓该秘密)进行验证。
可以使用对称密钥密码系统或公钥密码系统来验证你知道的信息。若使用对称密钥密码系统,验证者需与用户共享一个秘密,用户要证明其知晓该秘密;若使用公钥密码系统,验证者应知晓并信任用户的公钥,身份认证过程是让用户证明其知晓相应的私钥。身份认证过程不应泄露任何关于秘密(无论是密钥还是私钥)的信息。
最常见的验证方法是挑战 - 响应机制,其工作流程如下:
1. 验证者生成一个称为挑战的消息,并将其发送给证明者。
2. 证明者使用秘密和挑战计算一个称为响应的消息,并将响应发送给验证者。
3. 验证者检查响应是否正确。
这种认证只有在以下条件满足时才有意义:
- 只有拥有秘密的一方才能计算出正确的响应。
- 验证者能够检查响应是否正确。
- 每次认证时挑战都会改变。
#### 2.1.2 你拥有的物品
例如使用刷卡进入安全区域、访问银行账户或操作某些机器。用于识别刷卡的信息应存储在验证刷卡的服务器中。刷卡过程是读取刷卡中的信息,将其与数据库中存储的信息进行比较,以确定是否允许访问。刷卡中的信息可能有也可能没有安全保护。
验证你拥有的物品时,假设用户拥有的设备能够使用嵌入其中的密钥提供正确的计算结果,并且验证者(通常是数据中心)与该设备共享相同的秘密。
验证你拥有的物品的机制是检查设备进行的加密是否正确。一个安全的认证协议通常满足以下条件:
- 只有授权设备才能正确加密指定消息。
- 验证者(如数据中心)可以解密设备生成的密文。
- 加密过程应引入一些随机性(如时间戳),以确保消息不重复。
#### 2.1.3 你的生物特征
这涉及生物特征安全,例如指纹。要访问特定的数据中心,需要收集你的生物特征信息(如指纹)并存储在认证数据库中。基于生物特征信息的认证过程是读取你的指纹,并与数据库中存储的信息进行比较。如果匹配,则允许访问。这种比较是模糊匹配,因为精确匹配在实际中是不可能的。
验证你的生物特征就是验证生物特征信息,验证者事先拥有用户的一些生物特征信息,验证过程是进行模糊匹配,假设非法用户无法提供正确的生物特征信息,但在实际中这一假设并不总是成立。
在一些物联网应用中,需要多种认证机制,这就是所谓的多因素认证,最实用的方法是双因素认证。例如,用户需要将硬件设备连接到计算机并输入密码才能访问网上银行系统,这种认证就是双因素认证。
上述认证机制的原理如下:你知道的信息是一个秘密,除验证者(验证者可以是个人、平台或数据库)外,其他人没有该秘密,因此无法伪造认证;你拥有的物品基于你能将物理物品妥善保管的假设,但这个假设很薄弱,因为刷卡可能会丢失;你是基于生物特征信息的唯一性,假设其他人没有能通过模糊匹配的相似生物特征信息,但攻击者可能能够读取和复制你的生物特征信息,从而非法通过认证。这表明,你拥有的物品和你的生物特征不能提供高级别的安全性,只是为了方便。对于安全通信,你知道的信息是安全基础。
认证协议有多种,最常用的认证方法是挑战 - 响应,挑战是验证者创建的不可预测的消息,响应是证明者提供给验证者的答案。响应应该是使用只有证明者(有时验证者也知道)知道的秘密信息创建的可验证内容。
为了节省通信成本,可以设计非交互式认证协议。虽然非交互式认证协议没有挑战 - 响应过程,但其机制与挑战 - 响应类似。非交互式认证协议不使用随机数作为挑战,而是使用证明者计算的具有一定随机性且证明者无法操纵的内容。
### 2.2 基于共享密钥的认证
在认证协议中,有两个参与方:声称自己是某身份并试图证明该声明的证明者,以及检查证明者声明是否真实的验证者。假设证明者和验证者共享一个密钥 k,并且双方都可以使用对称密钥加密算法 E。那么认证协议可以如下进行:
1. 验证者生成一个随机数 R,使用共享密钥 k 对 R 进行加密:c = Ek(R),并将密文 c 发送给证明者。
2. 证明者解密密文 c 得到 R,并将 R 发送回验证者。
3. 验证者检查接收到的 R 是否与之前生成的 R 相同。如果相同,则认证成功,否则认证失败。
该协议还有其他变体。例如,验证者可以直接将 R 发送给证明者,证明者使用共享密钥 k 对 R 进行加密并将密文发送回验证者,验证者对 R 进行加密并检查加密结果是否与从证明者收到的消息相同。同样,可以轻松设计出更多的协议变体。
由于验证者认为没有其他人知道 k,无法伪造响应,因此成功的协议确认证明者是真实的。
### 2.3 基于密码的认证协议
密码是需要记忆的秘密。由于随机数难以记忆,密码通常格式不太随机且易于记忆。因此,密码通常比相同长度的随机生成的秘密更弱。许多信息系统和基于网络的应用程序使用基于密码的认证。例如,登录计算机系统、从数据中心登录用户账户或访问银行账户
0
0
复制全文
相关推荐










