本发明所设计的是针对物联网环境中终端设备的无身份通用认证方法,本发明高效、安全,能够抵御大部分传统攻击,同时能够弥补终端设备的硬件限制,属于信息安全领域。
技术背景
物联网正不断改变我们的生活,工作和学习方式,它能够随时随地收集有价值的数据,从收集的数据中提取知识创造出一个更加智能的世界。然而,物联网在带来诸多便利的同时也带来了许多安全问题。比如,物联网系统收集了大量用户信息可能会导致用户信息的泄露。个人信息是敏感信息也是用户隐私,保护用户隐私是现如今一个重要问题。
经过研究发现,对设备的隐私性需求越高则越需要保护设备的身份安全,而这就需要弱化设备的身份标识,甚至隐藏设备的身份标识(也就是让设备无身份标识)。相对地,在物联网系统中终端认证过程安全性需求越高,则需要的身份属性越高,具有强身份对于安全性尤其在认证方面很有用。因此,在隐私保护与安全性能之间的如何取得平衡就成为了一个设计难题。
近年来,物联网系统已经提出了几种认证协议,但是只有少数可以实现隐私保护的功能。第一类认证协议使用对称加密算法,因为对称加密算法的计算成本低,然而,这些协议可能会受到中间人攻击,隐私信息将不可避免地被泄露;这些协议的另一个缺点是隐私保护的固有可扩展性问题,该类协议无疑是不切实际的。第二类认证协议定期更新终端设备的凭证,然而,在证书的有效期内终端设备的强身份仍然可以被跟踪;此外,这样的协议要求每个终端设备存储大量认证和假名,这意味着很难去除受到攻击的终端设备。第三类认证协议使用基于委托的机制,这种协议的优点在于计算成本低,但缺点是不能轻易实现私有存储的性能。
技术实现要素:
针对上述现有技术中的不足,我们设计了一个适用于物联网终端设备无身份通用认证方法,具有通用性;在本发明中用户设备无身份标识,实现了无身份终端注册认证过程,终端设备的安全性和隐私性都能得到很好的保证。框架考虑了终端资源受限的情况下,对收集的信息进行加密,以及在无身份的情况下,当设备信息异常时,框架如何进行回溯追责来保证整个系统的安全运行。
本发明为解决上述技术问题采用以下技术方案:
物联网中终端设备无身份通用认证方法,包括步骤:
s1.注册阶段:
步骤s1-1.引入边缘设备,所述边缘设备向云中心发送其标识特征进行注册;引入可信第三方ta,所述可信第三方ta使用所述云中心的身份idc生成云中心私钥
步骤s1-2.所述可信第三方ta为每一个终端设备建立大小为n的单向哈希链hc,每个所述终端设备的链头h0均不一致;同时所述可信第三方ta给所述边缘设备发送所有终端设备的单向哈希链的链头h0;之后可信第三方下线;所述单向哈希链hc具体为:选择哈希函数
s2.会话密钥生成阶段:
步骤s2-1.所述边缘设备选择一随机数
步骤s2-2.所述云中心接收到所述边缘设备发送的密文后,先用自己的私钥
步骤s2-3.所述云中心选择一随机数
步骤s2-4.所述边缘设备生成密文
s3.指令生成阶段:
步骤s3-1.所述边缘设备与相邻的终端设备建立通信,并向所述终端设备发送随机数r;所述终端设备记录所述随机数r;
步骤s3-2.所述终端设备保存每一个时间片tj的哈希值hj=h(hj+1||tj+1),1≤j≤n,并据此和随机数计算与所述边缘设备会话的对称加密密钥
步骤s3-3.所述边缘设备接收所述终端设备发送的密文,读取当前时间片的哈希值h′j=h(h′j+1||tj+1)和对称加密密钥
步骤s3-4.所述终端设备生成指令ci,并加上时间戳t,生成密文ekey(ci,t)发送给所述边缘设备;
步骤s3-5.所述边缘设备接收所述密文ekey(ci,t),并获取所述指令ci和时间戳t;
s4.指令验证并执行阶段:
步骤s4-1.所述边缘设备对所述指令生成签名sig(ci,hj),并生成密文ek(sig(ci,hj),ci,hj)发送给所述云中心;
步骤s4-2.所述云中心接收所述密文,并用会话密钥k输出明文(sig(ci,hj),ci,hj),对签名进行校验,如果指令没有异常,将执行相应的指令ci;若出现异常,则进行指令追踪。
所述指令追踪包括如下步骤:
步骤s5-1.若所述云中心校验指令失败,对所述指令进行分析,将消息trace(hj)返回给所述边缘设备;
步骤s5-2.所述边缘设备接收到trace(hj),根据得到的hj推算出单向哈希链链头h0,若是计算出的h0与保存的单向哈希链链头值相等,则使用该链头定位到对应的终端设备,追踪定位该终端设备,关闭和该终端设备的连接,做出异常反馈。
与现有的物联网中终端通用认证协议相比,本发明提出的认证协议框架具有如下的优点:
1、认证协议中仅根据终端设备的随机身份,不公开其任何基本属性,很好地保护了设备的身份信息,实现了隐私保护的功能。
2、考虑到物联网设备计算能力的限制,使用哈希链技术实现无身份终端轻量级的认证协议。
附图说明
图1是本发明中物联网三层结构图。
图2是本发明所设计的物联网中无身份终端通用的认证协议框架图。
图3是单向哈希链时间分片对应的哈希值和密钥分配图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
图1是本发明中物联网三层结构图。如图1所示,物联网包括三层结构,分别为物理层、边缘层和云层。
第一层是物理层(thingslayer),用来收集数据和控制物理世界。以智能家居系统为例,假设其为物理层,其中有一些终端设备,如热探测器,摄像机和烟雾探测器,它们具有感知物理世界和发送关键控制指令的能力。物理层中的大多数终端设备都是资源受限的,只有具有低至64字节的内存和2048字节的存储空间。因此,使用非对称加密算法的许多常规安全机制是不合适的,因为它们需要较高的计算能力和资源消耗。此外,隐私问题也是物联网系统中终端设备的一个重要问题,因为当终端设备部署在日常生活环境中时会收集大量的个人数据,而物理层的终端设备身份信息会威胁到个人隐私,但越高的隐私需求往往需要对身份进行保护,因此需要对个人隐私信息进行保护。
第二层是边缘层(edgelayer),引入边缘设备用来辅助终端设备。边缘设备(如智能手机,路由器和家庭服务器)有助于将终端设备连接到云端。在边缘层设置安全服务具有一些优势:第一,边缘设备拥有比终端设备更多的资源,此外,终端设备可以利用这些资源来处理高计算量的任务,如非对称加密操作和密钥生成;第二,边缘设备物理上更靠近终端设备,可以建立相对稳定的关系,这种稳定的关系对于建立边缘设备和终端设备之间的信任非常有益;第三,边缘设备具有关于整个物联网系统的更多信息,因此,边缘设备可以使用更好的安全管理机制;最后,边缘设备可以使用安全认证协议来保护终端设备的隐私。
第三层是云层(cloudlayer),拥有丰富的资源,能够处理复杂的数据,对数据进行分析从而提取有价值的信息,使我们的生活更加智能。边缘层能够与云层高速连接,可以根据需要从云层获得额外支持。云层对从边缘层获取到的信息进行分析,当数据信息存在异常时,云层会及时反馈给边缘设备,边缘层根据反馈回来的信息,对物理层的终端设备执行相应的处理。
本发明目标是为物联网终端设备设计具有隐私保护功能的无身份认证协议。认证方案涉及三方:终端设备,边缘设备和云中心。大多数物联网系统中,终端设备通常会以不同的角色在不同环境下运行,例如智能家居中的温度传感器、烟雾探测器、智能探头等等,这些设备身份信息包括唯一标识。而往往在物联网应用中对终端设备有较高的隐私要求,因为一旦公开了身份信息,终端设备将暴露,会受到攻击。因此引入边缘设备与终端设备建立信任关系,边缘设备以组单位管理终端设备。
基于以上考虑,具有隐私保护性质的认证框架的需求可以描述如下:
1)安全性:该物联网架构考虑的一个问题是如何保护终端设备和边缘设备之间的通信(仅支持通信协议,如wi-fi,蓝牙和zigbee)。因此,框架应实现终端设备和边缘设备之间的安全密钥建立和分发。
2)有效性:大多数终端设备都是资源受限的,因此非对称密钥算法不适用。
3)隐私保护:给定的认证应仅归结于终端设备的随机身份,而不会公开任何其基本属性。
4)问责性:在云中心的帮助下,边缘设备可以充当组管理器,将身份验证过程链接到负责的相应终端设备。
5)动态删除:认证框架应允许动态删除出错的终端设备。
为了实现上述提出的认证框架的五个需求,我们应该使用对称加密算法来实现终端设备和边缘设备之间的通信,并将认证任务委托给边缘设备。本发明所设计的物联网环境中终端设备的无身份通用认证协议框架,包括以下六个步骤:
s1.注册阶段:
步骤s1-1.边缘设备需要向云中心注册:边缘设备向云中心发送可信身份信息进行注册;所述可信身份信息是指身份基加密中用户的身份,即唯一标识特征。边缘设备注册过程中将采用基于身份的认证方式保证通信的安全。
引入可信第三方ta(trustedauthority)进行私钥的生成与分发:可信第三方使用云中心的身份idc生成云中心私钥
步骤s1-2.ta为每一个终端设备建立大小为n的单向哈希链hc(onewayhashchain),每个终端设备的链头h0均不一致。同时ta给边缘设备发送所有终端设备单向哈希链的链头h0。所述单向哈希链hc具体为:选择哈希函数
s2.会话密钥生成阶段:
步骤s2-1.云中心和边缘设备完成身份认证,云中心需要和边缘设备协商生成会话密钥k:边缘设备选择一随机数
步骤s2-2云中心接收到密文后,先用自己的私钥
步骤s2-3云中心选择一随机数
步骤s2-4边缘设备生成密文
s3.指令生成阶段:
步骤s3-1终端设备需要向边缘设备注册:边缘设备与相邻的终端设备建立通信,边缘设备向终端设备发送随机数r,终端设备记录所述随机数r。随机数r将作为边缘设备和终端设备通信加密密钥合成的一个重要关键字。
步骤s3-2此时边缘设备开始分配会话密钥:终端设备保存每一个时间片的哈希值hj=h(hj+1||tj+1),1≤j≤n,并据此和随机数计算与边缘设备会话的对称加密密钥
步骤s3-3边缘设备接收终端设备发送的密文,读取当前时间片的哈希值h′j=h(h′j+1||tj+1)和对称加密密钥
步骤s3-4终端设备生成指令ci,如温度探测器发出的温度过高的警报指令,如果该指令被伪造会有不良的影响,或者也可以是传感器开启关闭的控制指令等等,加上时间戳t,生成密文ekey(ci,t)发送给边缘设备。在此,通过加入时间戳有效防止了重放攻击(发送之前成功的数据包进行欺骗)。
步骤s3-5边缘设备接收密文ekey(ci,t),并获取指令ci和时间戳t;
s4.指令验证并执行阶段:
步骤s4-1边缘设备代表无身份终端对指令生成签名sig(ci,hj),并生成密文ek(sig(ci,hj),ci,hj)发送给云中心;
步骤s4-2云中心接收所述密文,用会话密钥k输出明文(sig(ci,hj),ci,hj),对签名进行校验,即与之前得到的sig(ci,hj)做对比,若不同则说明指令ci被篡改,是伪造的;如果指令没有异常,将执行相应的指令ci;若出现异常,则将执行s5阶段;
s5.指令追踪阶段:
步骤s5-1若云中心校验指令失败,对指令进行分析,将消息trace(hj)返回给边缘设备;
步骤s5-2边缘设备接收到trace(hj),根据得到的hj推算出单向哈希链链头h0,若是计算出的h0与保存的单向哈希链链头值相等,则使用该链头定位到对应的终端设备,追踪定位该终端设备,关闭和该终端设备的连接,做出异常反馈。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。