一种用于物联网设备可拓展的轻量级证明方法技术

技术编号:21634275 阅读:34 留言:0更新日期:2019-07-17 12:52
一种用于物联网设备可扩展的轻量级证明方法,包括以下具体步骤:验证器设置,使用K0作为承诺密钥初始化设备并执行递归检验其他密钥;证明者初始化,每个证明者P都使用公共和私有值进行初始化,每个验证器V通过用于认证和软件完整性的两个设备相关密钥初始化;启动远程证明,验证器V生成一个新的随机值Nnew并创建证明请求(Attestreq);密钥泄露,验证器V将验证密钥广播到附近的所有证明者P;认证报告,每个验证器V检查其群集ID是否包含在证明请求中的第二列表(Acalc);物理和远程攻击检测,通过无法参与证明报告的聚合来检测远程受损设备。本发明专利技术减少了运行时开销和内存占用,且可用于由数千个异构物联网设备组成的静态和动态网络。

A Lightweight Proof Method for Expansibility of Internet of Things Devices

【技术实现步骤摘要】
一种用于物联网设备可拓展的轻量级证明方法
本专利技术涉及一种用于物联网设备可拓展的轻量级证明方法。技术背景当代物联网应用程序呈现自然分布式,嵌入在广泛部署的异构计算设备中形成大型网状网络或群体物理。现代的物联网设备由于经常性处理隐私敏感问题并执行涉及安全的关键任务,创造了一个巨大的新攻击面。远程证明通过可信实体远程验证网络嵌入式设备的内部状态来检测网络威胁,用于揭示网络协议和物联网设备的不当行为。目前,流行的DARPA、SCAPI证明方法都考虑了远程物理攻击。但DARPA不适合低端嵌入设备且公钥加密昂贵;而SCAPI必须依赖一些硬性假设(比如要求网络中一半设备不妥协),并且由于临近发现和交换许多通道密钥导致内存占用和功耗极高。因此本专利技术针对上述问题,提出了一种可以在具有强大安全保证的资源受限的物联网设备上高效实施的可扩展的轻量级证明方法。
技术实现思路
本专利技术针对现有技术的上述缺陷,提出了一种可扩展的轻量级证明方法。本专利技术方法依赖于有效的广播认证方案以及对称密钥加密技术,高效识别网络中每个设备的精确状态从而有效抵御物理访问物联网设备的攻击,可以在网状网络低端嵌入式设备上高效运行。为实现上述目的,本专利技术可采取下述技术方案:一种可扩展的轻量级证明方法,包括如下步骤:1)验证器设置,具体包括:首先,验证器V通过随机选择最后一个密钥Kj以产生长度为j的单向密钥串,并通过连续应用单向散列函数F生成剩余值,其中Kj-1=F(Kj)。在部署期间,使用K0作为承诺密钥初始化设备并使用K0递归执行F来验证钥匙串中的所有其他密钥。其余密钥按顺序用作会话密钥,从K1开始到Kj结束,以验证在证明阶段交换的数据包。当验证器V需要更新密钥串时,通过广播包含新值K0并使用旧值加密的消息,即将K0更新为正确的值。其次,验证器V将时间划分为离散的时间间隔,其中一个时间间隔的最大持续时间Ta不应持续超过整体物理攻击时间Tt。Ta和Tt的取值都取决于应用程序。每个时间间隔被划分为多个不相等的离散时间子间隔。本专利技术假设每个时间间隔有四个非重叠时间子间隔。验证器V将单向钥匙串的每个会话密钥与一个时间子间隔关联作为消息认证码(MAC)密钥,以验证在该时间段内发送的所有数据包。在相应的时间子间隔期满时,验证器V在延迟之后暴露相关的会话密钥。2)证明者初始化,具体包括:证明者P都使用公共值和私有值进行初始化。公共值包括:证明者P本身的ID(Di)、证明者P父节点的ID(ParID)以及该证明者P在集群中的ID(ClusID)。其中证明者P父节点的ID值最初为空,并且在证明期间形成生成树之后仅由证明代码更新。设备按验证器V可分类到不同集群中,其中每个集群都有一个ClusID。这种分类是独立于协议的,可以基于各种因素(比如,静态网络的地理位置、设备之间的常见任务、网络流量分配等)。证明者P通过用于验证和软件完整性的两个相关设备的密钥初始化。一个是用于多播和证明的与集群相关的密钥Kc,另一个是组范围密钥链中最后一个且用于验证在集群级别交换会话密钥的密钥K0。此外每个验证器V保持组范围的密钥为Nonce状态,以确保验证信息不被重复使用以对抗重放攻击。在每个证明期间,此值安全地更新两次。更新以检测物理攻击的方式链接,其中缺少一个更新会阻止相应设备验证未来的消息。使用验证密钥Kt计算证明者P安全存储其内存安全状态的正确消息摘要,用Hs表示。3)启动远程证明,具体包括:在新时间间隔开始处,验证器V生成一个新的随机值Nnew,并使用在该时间点验证密钥计算该值的消息认证码,其中该密钥属于生成的密钥链。在初始化阶段,考虑到验证器V和证明者P是松散同步的,并且每个节点知道最大同步误差的上限,验证器V将新值及其消息认证码广播到范围内的所有设备而不泄露密钥。验证器V通过计算与随机生成的值链接的当前哈希值的哈希值来更新秘密随机数的值(例如,nonce=HASH(nonce||Nnew)。如果符合时间表,则所有接收节点接受该分组,将其存储在缓冲区中以便稍后进行身份验证,并将其再次重新广播到其相邻节点。在当前时间间隔的下一个时间间隔开始时,验证器V创建证明请求(Attestreq),包括:用于再次更新Nonce的新的随机值(Nnew);用于通知证明者P关于必须创建的n位向量的集群中的设备数(DevNum),用于确认物理存在,其中位置i处的1表示该设备实际存在于该集群中且未受到损害;以及两个不同集群ID的列表,其中属于第一列表(Asend)中的任一集群的验证器V必须发送反映状态的证据响应,而属于第二列表(Acalc)中提高的集群验证器V必须使用Kt计算其内存中现有软件的消息摘要,作为此证明例程的最后一步,以便在下一个证明期间快速生成证明报告。在传播聚合的证明报告之后进行消息摘要的计算,因此消耗的时间不计入证明整个群体所消耗的总时间。在任何证明期间,如果验证器V仅对证明集群中设备的物理存在感兴趣,则两个列表中的任何一个都可以为空。使用密钥对证明请求进行加密,该密钥是通过计算钥匙串中下一个会话密钥的散列值以及先前更新的随机数(KENC=HASH(K2,Nonce))而得到的。验证器V使用相同的会话密K2计算加密的证明请求的消息认证码,并将其广播到所有附近的设备。在验证器V侧,如果每个节点符合其时间表,则每个节点都将该请求存储在缓冲区中,并再次重新广播它以便被集群中的所有节点接收。作为当前时间子间隔的最后一步,验证器V第二次更新Nonce。4)密钥泄露,具体包括:在密钥泄露时,验证器V将验证密钥广播到附近的所有证明者P。如果根据时间表接收到该密钥,则接收证明者P将其重新广播给其他邻居。如果成功传递了该密钥的认证过程,则证明者P使用它来验证缓冲区中的相应数据包。在成功验证所有数据包后,证明者P执行该数据包的请求。5)认证报告,具体包括:生成树中的叶节点创建n位向量,其中n等于证明请求中提到的集群中的设备数。考虑到最大证明者ID在集群中不超过集群中的设备数,在进行认证期间,它仍然通过将一个值分配给第n位向量中的第i个位置来物理地确认其存在。作为传播证明报告的聚合之后的最后一步,每个验证器V检查其群集ID是否包含在证明请求中的第二列表(Acalc)中。如果是这样,它使用Kt计算其内存的消息摘要,并将其存储在不受保护的存储区中。具有此值可加速在下一个时段中创建证明报告,从而减少该证明方法运行时开销,因为计算消息认证码是耗时的活动。验证器V之间的所有通信都使用HASH(K0||Nonce)进行认证。6)物理和远程攻击检测,具体包括:通过无法参与证明报告的聚合来检测远程受损设备,而在协议执行期间通过它们的缺席检测到物理受损设备。在检测到物理攻击的情况下,如果在执行证明过程期间它正在窃听通信,则攻击者有可能解密所有群组范围的秘密通信。为了避免这种漏洞,验证器V通过广播等于健康集群数量的多个消息来更新所有组范围密码。每条消息都包含新的密钥值,并使用一个健康的群集的范围密钥Kc进行加密。对于受损群集中的操作健康设备,验证器V创建包含新群集范围密钥Kc的消息,使用每个单独的健康设备密钥Ka对此消息进行加密,将所有这些密钥相互附加在一条大消息中,然后广播它。之后,验证器V通广播包含新的组范围秘密的另本文档来自技高网...

【技术保护点】
1.一种用于物联网设备可扩展的轻量级证明方法,其特征在于,包括以下的具体步骤:1)验证器设置,具体包括:验证器V首先通过随机选择最后一个密钥Kj以产生长度为j的单向密钥串,并使用K0作为承诺密钥初始化设备并使用K0递归执行F来验证密钥串中的所有其他密钥;其余密钥按K1到Kj的顺序用作会话密钥,以验证在证明阶段交换的数据包;然后,验证器V将时间划分为离散的时间间隔,其中一个时间间隔的最大持续时间Ta不应持续超过整体物理攻击时间Tt;每个时间间隔被划分为多个不相等的离散时间子间隔;本专利技术假设每个时间间隔有四个非重叠时间子间隔;验证器V将单向钥匙串的每个会话密钥与一个时间子间隔关联作为消息认证码(MAC)密钥,以验证在该时间段内发送的所有数据包;在相应的时间子间隔期满时,验证器V在延迟之后暴露相关的会话密钥;2)证明者初始化,具体包括:证明者P通过用于验证和软件完整性的两个相关设备的密钥初始化;一个是用于多播和证明的与集群相关的密钥Kc,另一个是组范围密钥链中最后一个且用于验证在集群级别交换会话密钥的密钥K0;此外每个验证器V保持组范围的密钥为Nonce状态,以确保验证信息不被重复使用以对抗重放攻击;在每个证明期间,此值安全地更新两次;更新以检测物理攻击的方式链接,其中缺少一个更新会阻止相应设备验证未来的消息;使用验证密钥Kt计算证明者P安全存储其内存安全状态的正确消息摘要,用Hs表示;3)启动远程证明,具体包括:在新时间间隔开始处,验证器V生成一个新的随机值Nnew,并使用在该时间点验证密钥计算该值的消息认证码,其中该密钥属于生成的密钥链;验证器V通过计算与随机生成的值链接的当前哈希值的哈希值来更新秘密随机数的值(例如,nonce=HASH(nonce||Nnew);如果符合时间表,则所有接收节点接受该分组,将其存储在缓冲区中以便稍后进行身份验证,并将其再次重新广播到其相邻节点;在当前时间间隔的下一个时间间隔开始时,验证器V创建证明请求(Attestreq),在传播聚合的证明报告之后进行消息摘要的计算;使用密钥对证明请求进行加密;验证器V使用相同的会话密K2计算加密的证明请求的消息认证码,并将其广播到所有附近的设备;在验证器V侧,如果每个节点符合其时间表,则每个节点都将该请求存储在缓冲区中,并再次重新广播它以便被集群中的所有节点接收;作为当前时间子间隔的最后一步,验证器V第二次更新Nonce;4)密钥泄露,具体包括:在密钥泄露时,验证器V将验证密钥广播到附近的所有证明者P;如果根据时间表接收到该密钥,则接收证明者P将其重新广播给其他邻居;如果成功传递了该密钥的认证过程,则证明者P使用它来验证缓冲区中的相应数据包;在成功验证所有数据包后,证明者P执行该数据包的请求;5)认证报告,具体包括:作为传播证明报告的聚合之后的最后一步,每个验证器V检查其群集ID是否包含在证明请求中的第二列表(Acalc)中;如果是这样,它使用Kt计算其内存的消息摘要,并将其存储在不受保护的存储区中;具有此值可加速在下一个时段中创建证明报告,从而减少该证明方法运行时开销;验证器V之间的所有通信都使用HASH(K0||Nonce)进行认证;6)物理和远程攻击检测,具体包括:在检测到物理攻击的情况下,如果在执行证明过程期间它正在窃听通信,则攻击者有可能解密所有群组范围的秘密通信;为了避免这种漏洞,验证器V通过广播等于健康集群数量的多个消息来更新所有组范围密码;每条消息都包含新的密钥值,并使用一个健康的群集的范围密钥Kc进行加密;对于受损群集中的操作健康设备,验证器V创建包含新群集范围密钥Kc的消息,使用每个单独的健康设备密钥Ka对此消息进行加密,将所有这些密钥相互附加在一条大消息中,然后广播它;之后,验证器V通广播包含新的组范围秘密的另一个消息,并使用更新的集群范围密钥Kc加密。...

【技术特征摘要】
1.一种用于物联网设备可扩展的轻量级证明方法,其特征在于,包括以下的具体步骤:1)验证器设置,具体包括:验证器V首先通过随机选择最后一个密钥Kj以产生长度为j的单向密钥串,并使用K0作为承诺密钥初始化设备并使用K0递归执行F来验证密钥串中的所有其他密钥;其余密钥按K1到Kj的顺序用作会话密钥,以验证在证明阶段交换的数据包;然后,验证器V将时间划分为离散的时间间隔,其中一个时间间隔的最大持续时间Ta不应持续超过整体物理攻击时间Tt;每个时间间隔被划分为多个不相等的离散时间子间隔;本发明假设每个时间间隔有四个非重叠时间子间隔;验证器V将单向钥匙串的每个会话密钥与一个时间子间隔关联作为消息认证码(MAC)密钥,以验证在该时间段内发送的所有数据包;在相应的时间子间隔期满时,验证器V在延迟之后暴露相关的会话密钥;2)证明者初始化,具体包括:证明者P通过用于验证和软件完整性的两个相关设备的密钥初始化;一个是用于多播和证明的与集群相关的密钥Kc,另一个是组范围密钥链中最后一个且用于验证在集群级别交换会话密钥的密钥K0;此外每个验证器V保持组范围的密钥为Nonce状态,以确保验证信息不被重复使用以对抗重放攻击;在每个证明期间,此值安全地更新两次;更新以检测物理攻击的方式链接,其中缺少一个更新会阻止相应设备验证未来的消息;使用验证密钥Kt计算证明者P安全存储其内存安全状态的正确消息摘要,用Hs表示;3)启动远程证明,具体包括:在新时间间隔开始处,验证器V生成一个新的随机值Nnew,并使用在该时间点验证密钥计算该值的消息认证码,其中该密钥属于生成的密钥链;验证器V通过计算与随机生成的值链接的当前哈希值的哈希值来更新秘密随机数的值(例如,nonce=HASH(nonce||Nnew);如果符合时间表,则所有接收节点接受该分组,将其存储在缓冲区中以便稍后进行身份验证,并将其再次重新广播到其相邻节点...

【专利技术属性】
技术研发人员:袁江军王杰车菊燕邵睿智
申请(专利权)人:杭州职业技术学院
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1