CN102448062B - 6LoWPAN网络密钥建立方法 - Google Patents

6LoWPAN网络密钥建立方法 Download PDF

Info

Publication number
CN102448062B
CN102448062B CN201210003524.7A CN201210003524A CN102448062B CN 102448062 B CN102448062 B CN 102448062B CN 201210003524 A CN201210003524 A CN 201210003524A CN 102448062 B CN102448062 B CN 102448062B
Authority
CN
China
Prior art keywords
rank
message
key
node
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210003524.7A
Other languages
English (en)
Other versions
CN102448062A (zh
Inventor
杨德兴
史红周
刘钦明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai united information Polytron Technologies Inc
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201210003524.7A priority Critical patent/CN102448062B/zh
Publication of CN102448062A publication Critical patent/CN102448062A/zh
Application granted granted Critical
Publication of CN102448062B publication Critical patent/CN102448062B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

本发明提供一种6LoWPAN网络密钥建立方法,包括:步骤1、内部路由器节点Rx接收到第一个来自路由器节点Ru的DIO消息后,向节点Ru发送消息请求得到组密钥;步骤2、Ru收到消息后,根据消息中的k值计算f(k)和f(k+Δ1);步骤3、Ru使用f(k)解密{f(k+Δ1)||KI}f(k)信息,然后把解密出的f(k+Δ1)与自己计算的值进行比较,如果相等,则Ru对Rx认证通过,否则认证不通过;步骤4、如果Rx认证通过,则Ru把KI作为与Rx之间的对密钥进行保存,并且向Rx回应消息;步骤5、Rx收到回应消息后,通过KI解密整个消息,得到Ru的接口标识IIu,然后和数据包源地址中的接口标识进行对比实现对Ru的认证;步骤6、如果Ru认证通过,Rx得到组密钥KG,并把Ru作为自己的父节点、存储两者之间的对密钥KI。上述利用多次Hash的密钥建立方法计算量小。

Description

6LoWPAN网络密钥建立方法
技术领域
本发明涉及计算机网络领域,尤其涉及一种6LoWPAN网络密钥建立方法。
背景技术
随着物联网的兴起,结合了IPv6和无线传感器网络(WSN)的6LoWPAN技术得到很大的发展。
6LoWPAN网络由三种节点组成:边缘路由器、内部路由器和普通节点。通过RPL路由协议,所有路由器构造成一个以边缘路由器为根节点的有向无环图(DAG)。每个路由器都有一个Rank值(一般为正整数),且在DAG中,子节点的Rank值一般比父节点的Rank值大。通过邻居协议,每个普通节点都会选择一个默认路由器,两者类似于DAG中的父子关系,普通节点也可以看作是DAG的一部分。普通节点向网络中的远端节点发送信息时,通过默认路由器进行转发。密钥建立作为保障上述节点之间安全通信的一个基本方法,提供了通信的机密性、完整性和认证等安全服务。
在传统的WSN中,尽管已经对密钥建立进行了很多的研究,但是由于传感器网络结构和通信机制的多样性,使得相应的密钥建立方法与具体的网络结构和通信机制相关,不具有通用性,不适合直接应用于6LoWPAN中。6LoWPAN从网络结构、路由协议、邻居协议等都有相关标准(主要由IETF制定),所以6LoWPAN网络中的密钥建立方法,需要与现有的网络结构和通信机制相结合。
目前一些研究人员对6LoWPAN安全问题的研究考虑如何把互联网中的安全机制移植到6LoWPAN网络中,如轻量级的IPSec、SSL技术。现有轻量级IPSec和SSL的研究主要针对节点与互联网上的设备之间实现安全通信,并没有涉及到6LoWPAN网络内部节点之间的安全通信。
从现有的研究情况中可以看出轻量级IPsec和SSL不太适合节点之间的密钥建立,因为采用了公钥算法,计算量大,比较耗时,导致通信时间相对较长。
发明内容
本发明的目的是提供一种6LoWPAN网络密钥建立方法,计算量小,节省通信时间。
根据本发明的一个方面,提供一种6LoWPAN网络密钥建立方法,包括:
步骤1、内部路由器节点Rx接收到第一个来自路由器节点Ru的DIO消息后,向节点Ru发送消息请求得到组密钥,该消息为:
Rx→Ru:k+{f(k+Δ1)||KI}f(k)
其中,k为Rx的Rank值,也表示为Rank(Rx),KI为初始密钥,||表示串接,{f(k+Δ1)||KI}f(k)表示根据AES加密算法用f(k)加密f(k+Δ1)和KI串接后的数据;并且,
f(k)=F(f(k-1)||salt(k))
其中,k>1,salt(k)表示进行第k次Hash计算所用的加盐值,F(f(k-1)||salt(k))表示对f(k-1)||salt(k)进行Hash函数值计算;
步骤2、Ru收到消息后,根据消息中的k值计算f(k)和f(k+Δ1);
步骤3、Ru使用f(k)解密{f(k+Δ1)||KI}f(k)信息,然后把解密出的f(k+Δ1)与自己计算的值进行比较,如果相等,则Ru对Rx认证通过,否则认证不通过;
步骤4、如果Rx认证通过,则Ru把KI作为与Rx之间的对密钥进行保存,并且向Rx回应消息:
Ru→Rx:{KG||f(Rank(u))||salt(Rank(u)+1)||Rank(u)||IIu}KI
其中,salt(Rank(u)+1)表示进行第Rank(u)+1次Hash计算所用的加盐值;
步骤5、Rx收到回应消息后,通过KI解密整个消息,得到Ru的接口标识IIu,然后和数据包源地址中的接口标识进行对比实现对Ru的认证;
步骤6、如果Ru认证通过,Rx得到组密钥KG,并把Ru作为自己的父节点、存储两者之间的对密钥KI;Rx得到的其它信息包括Rank(u)、f(Rank(u))和salt(Rank(u)+1)。
可选的,在步骤6后还包括:
步骤7、Rx收到来自邻居节点Ru和Rv的DIO消息后,用组密钥KG解密该消息,并按照RPL路由协议根据DIO中的Rank值重新选择父节点;
步骤8、如果Rx选择的父节点仍然是Ru,则Rx先依据Ru的Rank(u)值,按照RPL协议计算Rank(x),然后根据所述f(Rank(u))和salt(Rank(u)+1)计算出f(Rank(x))和salt(Rank(x)+1);
步骤9、如果选择的父节点是Rv,则Rx使用多播地址发送对密钥建立消息,消息中包含的信息为IIv+Rank(x),IIv指明要建立对密钥的父节点接口标识,Rank(x)指明用于响应消息加密的密钥f(Rank(x)),多播消息使用组密钥生成消息验证码MAC,并用组密钥进行加密:
Rx→*:MAC+{IIv||Rank(x)}KG
步骤10、邻居节点收到对密钥建立消息后,根据组密钥对消息验证码MAC进行验证,验证通过后解密该消息,然后根据IIv的值判断是否是和自己建立对密钥;
步骤11、对于Rv来说,根据IIv的值判断Rx是与自己建立对密钥,随机生成对密钥KP,然后回应消息,用f(Rank(x))进行加密:
Rv→Rx:{f(Rank(v))||salt(Rank(v)+1)||KP}f(Rank(x))
步骤12、Rx收到响应消息后,通过f(Rank(x))解密出其中的信息,把Rv作为自己的父节点,保存两者之间的对密钥KP,然后根据f(Rank(v))和salt(Rank(v)+1)重新计算自己拥有f(Rank(x))和salt(Rank(x)+1)。
可选的,计算{f(k+Δ1)||KI}f(k)包括:
步骤1A、随机生成一个长字节数据串作为Hash函数计算的初始数据,并确定常量整数Δ1的值;
步骤1B、根据内部路由器节点部署在树状结构的层次深度,估算一个Rank值k;
步骤1C、计算f(k)和f(k+Δ1);和
步骤1D、随机生成一个初始密钥KI,然后根据AES加密算法用f(k)加密f(k+Δ1)和KI串接后的数据,生成加密后的数据{f(k+Δ1)||KI}f(k)。
可选的,在步骤12后还包括:
步骤13、普通节点Hy发送消息,包括RS、k和{f(k+Δ1)||KI}f(k):
Hy→*:RS+k+{f(k+Δ1)||KI}f(k)
步骤14、邻居路由器Rn收到消息后,计算f(k)和f(k+Δ1);
步骤15、使用f(k)解密{f(k+Δ1)||KI}f(k)信息,然后把解密出的f(k+Δ1)与自己计算的值进行比较,如果相等,则Rn对Hy认证通过,否则认证不通过;
步骤16、认证通过后,Rn把KI作为两者之间的对密钥进行保存,然后回应路由通告消息,并使用KI对关键信息进行加密:
Rn→Hy:RA+{Rank(n)||f(Rank(n))||salt(Rank(n)+1)||KG||IIn}KI
步骤17、Hy收到消息后,把Rn作为默认路由器;通过KI解密消息,得到IIn,然后和数据包中的接口标识进行对比实现对Rn的认证;保存组密钥KG,在Rank(n)上增加一个数值计算Rank(y),然后在f(Rank(n))和salt(Rank(n)+1)的基础上计算出f(Rank(y))和salt(Rank(y)+1);KI作为与Rn之间的对密钥进行保存。
可选的,在步骤17后还包括:
步骤18、普通节点A选择随机整数m,使得m>Rank(A),然后向普通节点B发送HELLO消息和m值;
A→B:HELLO+m
步骤19、普通节点B收到HELLO消息后,判断m和Rank(B)的大小;
如果m≥Rank(B),则普通节点B生成两者的会话密钥KAB,然后向普通节点A发送密钥消息,内容为{KAB}f(m),KAB用f(m)加密:
B→A:{KAB}f(m)
如果m<Rank(B),则普通节点B选择随机整数n使得m<n(例如差值小于10不要太大),然后向普通节点A发送HELLO消息和值n:
B→A:HELLO+n
步骤20、普通节点A接收到消息后,如果是密钥消息,通过计算f(m)解密出会话密钥KAB;如果是HELLO消息,则生成两者的会话密钥KAB,然后向B发送密钥消息,内容为{KAB}f(n),KAB用f(n)加密:
A→B:{KAB}f(n)
步骤21、普通节点B收到密钥消息后,通过计算f(n)解密出会话密钥。
可选的,在步骤17后还包括:
步骤22、Hy在使用NS+ARO消息向Rn进行地址注册时,使用两者之间的对密钥KI生成消息验证码MAC:
Hy→Rn:NS,ARO,MAC
步骤23、Rn收到注册消息后,使用对密钥和MAC对消息进行认证;
如果认证不成功,则地址注册失败,Rn不会为Hy建立任何缓存项信息,从而当Hy向网络中发送数据包时丢弃数据包、不进行转发;
如果成功,Rn会为Hy建立缓存项信息,从而当Hy向网络中发送的数据包时由Rn进行转发。
可选的,步骤2进一步包括:
步骤2A、如果Rank(u)<k,计算f(Rank(u)+i),直到Rank(u)+i=k;
步骤2B、如果Rank(u)>k,则Ru通过消息把k值发送给自己的父节点Re让其计算Hash值,所述消息包括k和Rx的接口标识IIx:
Ru→Re:k+IIx;
步骤2C、父节点Re计算完成后回应消息给Ru,该消息经过两者之间的对密钥Kup加密:
Re→Ru:{IIx||f(k)||salt(k+1)}Kup
步骤2D、如果Rank(u)=k,则f(k)=f(Rank(u))。
根据本发明的另一个方面,提供一种6LoWPAN中基于多次Hash的密钥建立方法,包括:
步骤1、普通节点Hy发送消息,包括RS、k和{f(k+Δ1)||KI}f(k):
Hy→*:RS+k+{f(k+Δ1)||KI}f(k)
其中,k为Hy的Rank值,也表示为Rank(Hy),KI为初始密钥,||表示串接,{f(k+Δ1)||KI}f(k)表示根据AES加密算法用f(k)加密f(k+Δ1)和KI串接后的数据;并且,
f(k)=F(f(k-1)||salt(k)),
其中,k>1,salt(k)表示进行第k次Hash计算所用的加盐值,F(f(k-1)||salt(k))表示对f(k-1)||salt(k)进行Hash函数值计算;
步骤2、邻居路由器Rn收到消息后,计算f(k)和f(k+Δ1);
步骤3、Rn使用f(k)解密{f(k+Δ1)||KI}f(k)信息,然后把解密出的f(k+Δ1)与自己计算的值进行比较,如果相等,则Rn对Hy认证通过,否则认证不通过;
步骤4、认证通过后,Rn把KI作为两者之间的对密钥进行保存,然后回应路由通告消息,使用KI对关键信息进行加密:
Rn→Hy:RA+{Rank(n)||f(Rank(n))||salt(Rank(n)+1)||KG||IIn}KI
步骤5、Hy收到消息后,把Rn作为默认路由器;通过KI解密消息,得到IIn,然后和数据包中的接口标识进行对比实现对Rn的认证;保存组密钥KG,在Rank(n)上增加一个数值计算Rank(y),然后在f(Rank(n))和salt(Rank(n)+1)的基础上计算出f(Rank(y))和salt(Rank(y)+1);KI作为与Rn之间的对密钥进行保存。
可选的,在步骤5后还包括:
步骤6、普通节点A选择随机整数m,使得m>Rank(A),然后向普通节点B发送HELLO消息和m值;
A→B:HELLO+m
步骤7、普通节点B收到HELLO消息后,判断m和Rank(B)的大小;
如果m≥Rank(B),则普通节点B生成两者的会话密钥KAB,然后向普通节点A发送密钥消息,内容为{KAB}f(m),KAB用f(m)加密:
B→A:{KAB}f(m)
如果m<Rank(B),则普通节点B选择随机整数n使得m<n(例如差值小于10不要太大),然后向普通节点A发送HELLO消息和值n:
B→A:HELLO+n
步骤8、普通节点A接收到消息后,如果是密钥消息,通过计算f(m)解密出会话密钥KAB;如果是HELLO消息,则生成两者的会话密钥KAB,然后向B发送密钥消息,内容为{KAB}f(n),KAB用f(n)加密:
A→B:{KAB}f(n)
步骤9、B收到密钥消息后,通过计算f(n)解密出会话密钥。
可选的,在步骤5后还包括:
步骤10、Hy在使用NS+ARO消息向Rn进行地址注册时,使用两者之间的对密钥KI生成消息验证码MAC:
Hy→Rn:NS,ARO,MAC
步骤11、Rn收到注册消息后,使用对密钥和MAC对消息进行认证;
如果认证不成功,则地址注册失败,Rn不会为Hy建立任何缓存项信息,从而当Hy向网络中发送数据包时丢弃数据包、不进行转发;
如果成功,Rn会为Hy建立缓存项信息,从而当Hy向网络中发送的数据包时由Rn进行转发。
与现有技术相比,本发明的优点在于:
(1)多次Hash的密钥建立方法计算量小;
(2)利用Hash函数计算的不可逆性,并且通过迭代的方式计算多次Hash值,保证了Hash函数计算的安全强度;
(3)内部路由器和普通节点在入网时都进行了双向认证,可以抵御恶意节点的攻击。
附图说明
图1是现有技术中6LoWPAN中通过RPL路由协议和邻居协议构造的有向无环图(DAG)的示意图;
图2是本发明一个实施例中提供的6LoWPAN中基于多次Hash的密钥建立方法流程图;
图3是本发明一个实施例中路由器Rx经过双向认证后加入到网络并得到组密钥的过程示意图;其中,方框的内容表示在通信之前,节点已经拥有的信息;
图4是本发明一个实施例中路由器Rx与新的父节点Rv建立组密钥的过程示意图;其中,方框的内容表示在通信之前,节点已经拥有的信息;
图5是本发明一个实施例中普通节点Hy经过双向认证加入到网络的过程示意图;其中,方框的内容表示在通信之前,节点已经拥有的信息;
图6是本发明一个实施例中普通节点A和B建立会话密钥的过程示意图;其中,方框的内容表示在通信之前,节点已经拥有的信息。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本文中,Hash对应的中文术语为“散列”,是指把任意长度的输入通过散列算法变换成固定长度的输出。
6LoWPAN网络如图1所示,整个网络包含一个边缘路由器,若干(≥0)内部路由器和若干(≥1)普通节点,边缘路由器、内部路由器和普通节点统称为节点,普通节点为计算终端;路由器通过RPL路由协议构造成以边缘路由器为根节点的有向无环图(DAG),普通节点通过邻居协议选择一个默认路由器连接到网络中。其中,顶端的是边缘路由器,灰圈表示内部路由器,白圈表示普通节点,实线表示DAG中通过认证后建立起的父子连接,虚线表示待认证建立的连接。
其中,组密钥用于网络中所有节点间多播地址消息安全通信;对密钥在路由结构有向无环图中具有父子关系节点之间建立,用于安全传送路由信息以及普通节点和路由器之间的通信认证,对密钥可以只用于单跳安全通信;会话密钥用于任意两个普通节点之间进行安全通信,数据可以通过单跳或者多跳转发。一般情况下,节点间发送组播消息时用组密钥加密,路由器之间发送消息时使用对密钥,而普通节点之间通信使用会话密钥。
发明人经过研究发现,在6LoWPAN网络中的RPL路由协议和邻居协议的通信机制基础上,可以基于多次Hash计算建立组密钥、对密钥和会话密钥。
基于上述分析,本发明一个实施例中,提供一种6LoWPAN中基于多次Hash的密钥建立方法。如图2所示,该方法包括:
S11、节点初始化;
S12、内部路由器加入网络并获得组密钥;
S13、内部路由器与父节点建立对密钥;
S14、普通节点加入网络;和
S15、普通节点之间建立会话密钥。
上述步骤中,如果网络中只包含边缘路由器和普通节点,则普通节点直接和边缘路由器建立连接,步骤S12和S13可以省略;如果还包括路由器节点,则需要在进行完S12和S13之后,再进行S14和S15步骤。下面将详细描述每一个步骤的内容。
步骤S11(节点初始化)
对于路由器节点和普通节点,根据每个节点的大概部署位置,估算一个Rank值k;k值可以根据节点部署在树状结构的层次深度计算,每个节点估算的k可以都不相同,k可以不连续,如值为9,15等。
随机生成一个初始密钥KI,然后计算f(k+Δ1),将f(k+Δ1)和KI串接,两者串接后根据AES算法用f(k)加密(后续加密如无说明也采用AES算法),生成加密后的数据:
{f(k+Δ1)||KI}f(k)
其中,Δ1为常量整数,且Δ1>1,||表示串接,{f(k+Δ1)||KI}f(k)表示用f(k)加密{f(k+Δ1)||KI};f(k)为k次Hash计算的值,计算方式为:
f(k)=F(f(k-1)||salt(k))(1)
其中,k>1,salt(k)表示进行第k次Hash计算所用的加盐值,F(f(k-1)||salt(k))表示对f(k-1)||salt(k)进行Hash函数值计算,Hash函数可以采用MD5或SHA-1算法。
公式(1)的含义为在第k-1次Hash计算值f(k-1)的基础上通过一次F(x)函数计算,就可以得到f(k)。公式(1)是一个迭代公式,先计算出先前的Hash值才能够计算出后续的值。在公式中引入参数salt(k),可以增强安全性,防止攻击者只知道f(k-1)后就计算出第k次及后续所有的Hash值。对于salt(k)的选择,可以选择一个固定的值,每次计算都使用该值。但这种方式安全性不是最高,如果攻击者获得了这个固定的值,仍可以计算后续的Hash值。
根据本发明的一个实施例,salt(k)的值采用动态变化的值,为
Figure BDA0000129176050000091
表示取f(k-2)中的第8和9两个字节,这样实际的计算公式为如下:
f ( k ) = F ( f ( k - 1 ) | | f 8 9 ( k - 2 ) ) , k > 2 - - - ( 2 )
动态变化的salt(k)值不限定于上述方式产生的值,其它方式比如选取f(k-2)或f(k-3)的第1和第4个字节亦可。
在实际计算时,对于f(1),随机选择一个长字节数据串(例如长度至少16字节),用Hash函数计算值,对于f(2)的计算,salt(2)取0值,即f(2)=F(f(1)||00),对于后续的f(k),采用公式(1)或(2)计算即可。
根据本发明的一个实施例,S11可以包括如下步骤:
S111、随机生成一个长字节数据串作为Hash函数计算的初始数据,并确定常量整数Δ1的值(例如选择大于1且小于10的数);
S112、随机生成一个组密钥KG(例如长度为16字节),为边缘路由器设定Rank值为Rank(E)(例如,至少是大于2的整数),按照上述公式(1)计算出f(Rank(E))和salt(Rank(E)+1)的值例如
Figure BDA0000129176050000093
并且将KG、f(Rank(E))和
Figure BDA0000129176050000094
写入到边缘路由器中;
S113、根据内部路由器和普通节点部署在树状结构的层次深度,估算一个Rank值k,按照上述公式(1)计算出f(k)和f(k+Δ1);
S114、随机生成一个初始密钥KI(例如长度为16字节),然后根据AES加密算法用f(k)加密f(k+Δ1)和KI串接后的数据,生成加密后的数据{f(k+Δ1)||KI}f(k),并且将k、KI和{f(k+Δ1)||KI}f(k)写入到内部路由器和普通节点中。
步骤S12(内部路由器加入网络并获得组密钥)
一般情况下,从边缘路由器开始,每个路由器节点逐层加入到网络。每个已经入网的路由器定时的发送用组密钥加密和认证的多播地址DIO消息,新入网节点通过DIO消息选择父节点入网。初始状态时因为没有任何节点加入网络,新入网节点就选择边缘路由器作为父节点。边缘路由器对与它一跳远的节点入网认证过程与下面说明的一般情况是相同的。下面以节点Rx来说明。
已入网路由器Ru和Rv(见图1)定时发送DIO消息,两者拥有的相关信息分别为:(Rank(u)、f(Rank(u))、
Figure BDA0000129176050000101
和(Rank(v)、f(Rank(v))、 f 8 9 ( Rank ( v ) - 1 ) .
步骤S12的通信过程如图3所示,具体包括如下步骤:
S121、路由器节点Rx接收到第一个来自Ru的DIO消息后,由于没有组密钥,不能解密得到DIO消息中的具体信息,所以,Rx向Ru发送Request_Group_Key消息(包括k和{f(k+Δ1)||KI}f(k)),请求得到组密钥:
Rx→Ru:k+{f(k+Δ1)||KI}f(k)
S122、Ru收到消息后,根据消息中的k值和自己的Rank(u)值计算出f(k)。具体计算过程如下:
(1)如果Rank(u)<k,计算f(Rank(u)+i),直到Rank(u)+i=k;
(2)如果Rank(u)>k,则Ru通过Request_K_Hash消息把k值发送给自己的父节点Re让其计算Hash值,所述消息包括k和Rx的接口标识IIx:
Ru→Re:k+IIx
父节点Re收到消息后,也根据此计算过程计算第k次Hash值f(k)。计算完成后回应Response_K_Hash消息给Ru,发送的消息经过两者之间的对密钥Kup(该对密钥已经在Ru加入网络时,在Ru与其父节点Re之间建立完成)加密:
Re→Ru:{IIx||f(k)||salt(k+1)}Kup
其中,salt(k+1)表示进行第k+1次Hash计算所用的salt值,例如值为
Figure BDA0000129176050000103
(3)如果Rank(u)=k,则f(k)=f(Rank(u))。
经过上述计算过程,Ru得到f(k)和f(k+Δ1)值。
接着使用f(k)解密{f(k+Δ1)||KI}f(k)信息,然后把解密出的f(k+Δ1)与自己计算的值进行比较,如果相等,则Ru对Rx认证通过,否则认证不通过。这里进行相等判断主要是为了防止恶意节点进入到网络中。恶意节点不是用户部署的节点,而是攻击者部署到网络中的节点,便于攻击网络。攻击者由于不知道f(k+Δ1)的计算值,所以在这种情况下会出现f(k+Δ1)不等的情况。
如果认证通过,则Ru把KI作为与Rx之间的对密钥进行保存,并且向Rx回应Response_Group_Key消息:
Ru→Rx:{KG||f(Rank(u))||salt(Rank(u)+1)||Rank(u)||IIu}KI
其中,salt(Rank(u)+1)表示进行第Rank(u)+1次Hash计算所用的salt值,例如可以为
Figure BDA0000129176050000111
Response_Group_Key消息为:
Ru → Rx : { K G | | f ( Rank ( u ) ) | | f 8 9 ( Rank ( u ) - 1 ) | | Rank ( u ) | | IIu } K I
S123、Rx收到回应消息后,通过KI解密整个消息,得到IIu,然后和数据包源地址中的接口标识进行对比实现对Ru的认证。认证通过后,Rx得到组密钥KG,并把Ru暂时作为自己的父节点存储两者之间的对密钥KI,Rx得到的其它信息包括Rank(u)、f(Rank(u))和
Figure BDA0000129176050000113
S124、Rx等待接收新的DIO消息,以选择更优的父节点。
步骤S13(路由器与父节点建立对密钥)
Rx得到组密钥后,对邻居节点后续发送的用组密钥加密的DIO消息,能够进行处理,并且选择更优的父节点。父节点选定后,通过消息与其建立对密钥。
步骤S13整个通信过程如图4所示,具体包括如下步骤:
S131、Rx收到由Ru和Rv发出的新的DIO消息后,用组密钥解密该消息,根据DIO中的Rank值重新选择父节点(选择方法根据RPL路由协议)。
如果选择的父节点仍然是Ru,则Rx先依据Ru的Rank(u)值,按照RPL协议中的计算方法得到Rank(x),而且由于父子关系有Rank(u)<Rank(x),然后根据先前保存的f(Rank(u))和利用公式(2)计算出f(Rank(x))和 f 8 9 ( Rank ( x ) - 1 ) .
如果选择的父节点是Rv,则使用多播地址发送对密钥建立消息Request_Pairwise_Key,消息中包含的信息为IIv+Rank(x),IIv指明要建立对密钥的父节点接口标识,Rank(x)指明用于响应消息加密的密钥f(Rank(x)),多播消息使用组密钥生成消息验证码MAC,并用组密钥进行加密:
Rx→*:MAC+{IIv||Rank(x)}KG
S132、邻居节点收到对密钥建立消息后,根据组密钥对消息验证码MAC进行验证,验证通过后解密该消息,然后根据IIv的值判断是否是和自己建立对密钥。
对于Ru来说,不是和自己建立对密钥,删除先前已经与Rx建立的对密钥。
对于Rv来说,与自己建立对密钥,随机生成对密钥KP,然后回应Response_Pairwise_Key消息,用f(Rank(x))进行加密:
Rv → Rx : { f ( Rank ( v ) ) | | f 8 9 ( Rank ( v ) - 1 ) | | K P } f ( Rank ( x ) )
S133、Rx收到响应消息后,通过f(Rank(x))解密出其中的信息,把Rv作为自己的父节点,保存两者之间的对密钥KP。最后Rx根据f(Rank(v))利用公式(2)重新计算自己拥有f(Rank(x))和
Figure BDA0000129176050000122
S134、Rx继续接收其它节点发送的DIO消息,如果发现比Rv更优(计算方法由RPL路由协议规定),则把它作为新的父节点通过上述过程与其建立对密钥;如果不比Rv更优,则仍然保留Rv作为自己的父节点。
步骤S14(普通节点加入网络)
普通节点加入网络使用6LoWPAN邻居协议,节点通过发送RS(路由请求)消息来查找默认路由器,通过发送消息进行双向认证后加入到网络中,图5显示了其通信过程。在6LoWPAN网络中,普通节点本身不计算Rank值,但可以在默认路由器的Rank值上增加一个常值作为普通节点的Rank值,具体计算方法如下,[IIN]8表示取普通节点N的接口标识的最后一个字节:
Rank(N)=Rank(R)+[IIN]8mod 128
其中,N表示普通节点,R表示默认路由器,Rank()表示上述节点拥有的Rank值。
步骤S14整个通信过程如图5所示,具体包括如下步骤:
S141、普通节点Hy启动后发送消息(包括RS、k和{f(k+Δ1)||KI}f(k)):
Hy→*:RS+k+{f(k+Δ1)||KI}f(k)
S142、邻居路由器Rn收到消息后,根据S122中的计算过程得到f(k)和f(k+Δ1),然后对Hy认证,方法和对路由器的认证一样。认证通过后,Rn把KI作为两者之间的对密钥进行保存,然后回应RA(路由通告)消息,使用了KI对关键信息进行加密:
Rn → Hy : RA + { Rank ( n ) | | f ( Rank ( n ) ) | | f 8 9 ( Rank ( n ) - 1 ) | | K G | | IIn } K I
S143、Hy收到消息后,把Rn作为默认路由器。通过KI解密消息,得到IIn,然后和数据包中的接口标识进行对比实现对Rn的认证。认证通过后,Hy使用公式(2)计算出Rank(y)值,然后在f(Rank(n))和
Figure BDA0000129176050000124
的基础上计算出自己的f(Rank(y)),保存组密钥KG,KI作为与Rn之间的对密钥进行保存。
S144、Hy在使用NS+ARO(邻居请求+地址注册选项)消息向Rn进行地址注册时,使用两者之间的对密钥KI生成消息验证码(MAC):
Hy→Rn:NS,ARO,MAC
S145、Rn收到注册消息后,使用对密钥和MAC对消息进行认证。
如果认证不成功,则地址注册失败,Rn不会为Hy建立任何缓存项信息。当Hy向网络中发送数据包时,如果Rn中没有Hy的缓存项信息,则丢弃数据包,不进行转发。通过这种方式可以防止攻击者向网络中发送大量无用信息,以消耗节点的资源。
如果成功,Rn会为Hy建立缓存项信息,这样Hy向网络中发送的数据包时,Rn才会进行转发。
步骤S15(普通节点之间建立会话密钥)
例如,普通节点A和B之间要建立会话密钥,通过两个节点的直接通信来完成。A和B在入网后拥有的信息分别为:(Rank(A),f(Rank(A)),
Figure BDA0000129176050000131
和(Rank(B),f(Rank(B)),
步骤S15的工作是在A和B之间协商出一个都能计算出的f(k)值,从而用f(k)加密以保证会话密钥的安全。如图6所示,步骤S15具体包括:
S151、A选择随机整数m,使得m>Rank(A)(例如差值小于10,差值越大计算量越大),然后向B发送HELLO消息和m值:
A→B:HELLO+m
S152、B收到HELLO消息后,判断m和Rank(B)的大小。
如果m≥Rank(B),则B生成两者的会话密钥KAB,然后向A发送密钥消息,内容为{KAB}f(m),KAB用f(m)加密:
B→A:{KAB}f(m)
如果m<Rank(B),则B选择随机整数n使得m<n(例如差值小于10不要太大),然后向A发送HELLO消息和值n:
B→A:HELLO+n
S153、A收到消息后,如果是密钥消息,通过计算f(m)解密出会话密钥。如果是HELLO消息,则生成两者的会话密钥KAB,然后向B发送密钥消息,内容为{KAB}f(n),KAB用f(n)加密:
A→B:{KAB}f(n)
S154、B收到密钥消息后,通过计算f(n)解密出会话密钥。
上述建立密钥的方法使用Hash算法,计算量小,节点入网时进行双向认证不需要第三方认证中心的参与,通信量少,而且可抵御恶意节点攻击。各种密钥直接是两点之间安全通信进行建立,不需要第三方节点进行密钥分发,多种密钥的建立保证了不同类型通信的安全。基于上述特点,该方法能够适用于6LoWPAN这种节点资源受限的环境,而且还能满足6LoWPAN网络的移动特性。上述建立密钥的方法可以用于6LoWPAN中多播地址消息安全通信,单跳和多跳的安全通信。
上述方法的优点在于:(1)利用了Hash函数计算的不可逆性,并且通过迭代的方式计算多次Hash值,保证了Hash函数计算的安全强度;每个节点的Hash计算次数都不同,根据其Rank值动态确定的,即进行Rank次Hash计算;(2)路由器和普通节点在入网时都进行了双向认证,可以抵御恶意节点的攻击;(3)各个路由器之间建立起对密钥后,路由信息就可以在网络中安全的传送,保证了网络的路由安全;路由器和普通节点在进行组播通信时,通过组密钥可以实现对组播消息的加密和认证;两个普通节点要进行通信时,通过会话密钥来保障信息的安全;(4)普通节点要向网络中发送消息时,默认路由器使用两者之间的对密钥认证后,才会把数据包转发出去,这样就可以防止攻击者向网络发送大量无用的信息;(5)此外,该方法还适用于节点移动的场景。
应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。

Claims (8)

1.一种6LoWPAN网络密钥建立方法,包括:
步骤1、内部路由器节点Rx接收到第一个来自路由器节点Ru的DIO消息后,向节点Ru发送消息请求得到组密钥,该消息为:
Rx→Ru:k+{f(k+Δ1)||KI}f(k)
其中,k为Rx的Rank值,也表示为Rank(Rx),Δ1为大于1的常量整数,KI为初始密钥,||表示串接,{f(k+Δ1)||KI}f(k)表示根据AES加密算法用f(k)加密f(k+Δ1)和KI串接后的数据;并且,
f(k)=F(f(k-1)||salt(k))
其中,k>1,salt(k)表示进行第k次Hash计算所用的加盐值,F(f(k-1)||salt(k))表示对f(k-1)||salt(k)进行Hash函数值计算;
其中,计算{f(k+Δ1)||KI}f(k)包括:
步骤1A、随机生成一个长字节数据串作为Hash函数计算的初始数据,并确定常量整数Δ1的值,其中Δ1大于1;
步骤1B、根据内部路由器节点Rx部署在树状结构的层次深度,估算一个Rank值k;
步骤1C、计算f(k)和f(k+Δ1);和
步骤1D、随机生成一个初始密钥KI,然后根据AES加密算法用f(k)加密f(k+Δ1)和KI串接后的数据,生成加密后的数据{f(k+Δ1)||KI}f(k);
步骤2、Ru收到消息后,根据消息中的k值计算f(k)和f(k+Δ1);包括:
步骤2A、如果Rank(u)<k,计算f(Rank(u)+i),直到Rank(u)+i=k;其中,Rank(u)为Ru的Rank值,是根据节点Ru部署在树状结构的层次深度所估算的一个值;
步骤2B、如果Rank(u)>k,则Ru通过消息把k值发送给自己的父节点Re让其计算Hash值,所述消息包括k和Rx的接口标识IIx:
Ru→Re:k+IIx;
步骤2C、父节点Re计算完成后回应消息给Ru,该消息经过两者之间的对密钥Kup加密:
Re→Ru:{IIx||f(k)||salt(k+1)}Kup
步骤2D、如果Rank(u)=k,则f(k)=f(Rank(u));
步骤3、Ru使用f(k)解密{f(k+Δ1)||KI}f(k)信息,然后把解密出的f(k+Δ1)与自己计算的值进行比较,如果相等,则Ru对Rx认证通过,否则认证不通过;
步骤4、如果Rx认证通过,则Ru把KI作为与Rx之间的对密钥进行保存,并且向Rx回应消息:
Ru→Rx:{KG||f(Rank(u))||salt(Rank(u)+1)||Rank(u)||IIu}KI
其中,salt(Rank(u)+1)表示进行第Rank(u)+1次Hash计算所用的加盐值;
步骤5、Rx收到回应消息后,通过KI解密整个消息,得到Ru的接口标识IIu,然后和数据包源地址中的接口标识进行对比实现对Ru的认证;
步骤6、如果Ru认证通过,Rx得到组密钥KG,并把Ru作为自己的父节点、存储两者之间的对密钥KI;Rx得到的其它信息包括Rank(u)、f(Rank(u))和salt(Rank(u)+1)。
2.根据权利要求1所述的密钥建立方法,在步骤6后还包括:
步骤7、Rx收到来自邻居节点Ru和Rv的DIO消息后,用组密钥KG解密该消息,并按照RPL路由协议根据DIO中的Rank值重新选择父节点;
步骤8、如果Rx选择的父节点仍然是Ru,则Rx先依据Ru的Rank(u)值,按照RPL协议计算Rank(x),然后根据所述f(Rank(u))和salt(Rank(u)+1)计算出f(Rank(x))和salt(Rank(x)+1);
步骤9、如果选择的父节点是Rv,则Rx使用多播地址发送对密钥建立消息,消息中包含的信息为IIv+Rank(x),IIv指明要建立对密钥的父节点接口标识,Rank(x)指明用于响应消息加密的密钥f(Rank(x)),多播消息使用组密钥生成消息验证码MAC,并用组密钥进行加密:
Rx→*:MAC+{IIv||Rank(x)}KG
其中,*表示Rx的邻居节点;
步骤10、邻居节点收到对密钥建立消息后,根据组密钥对消息验证码MAC进行验证,验证通过后解密该消息,然后根据IIv的值判断是否是和自己建立对密钥;
步骤11、对于Rv来说,根据IIv的值判断Rx是与自己建立对密钥,随机生成对密钥KP,然后回应消息,用f(Rank(x))进行加密:
Rv→Rx:{f(Rank(v))||salt(Rank(v)+1)||KP}f(Rank(x))
步骤12、Rx收到响应消息后,通过f(Rank(x))解密出其中的信息,把Rv作为自己的父节点,保存两者之间的对密钥KP,然后根据f(Rank(v))和salt(Rank(v)+1)重新计算自己拥有f(Rank(x))和salt(Rank(x)+1)。
3.根据权利要求2所述的密钥建立方法,在步骤12后还包括:
步骤13、普通节点Hy发送消息,包括RS、k和{f(k+Δ1)||KI}f(k):
Hy→*:RS+k+{f(k+Δ1)||KI}f(k)
其中,*表示Hy的邻居节点,RS为路由请求;
步骤14、邻居路由器Rn收到消息后,计算f(k)和f(k+Δ1);
步骤15、使用f(k)解密{f(k+Δ1)||KI}f(k)信息,然后把解密出的f(k+Δ1)与自己计算的值进行比较,如果相等,则Rn对Hy认证通过,否则认证不通过;
步骤16、认证通过后,Rn把KI作为两者之间的对密钥进行保存,然后回应路由通告消息,并使用KI对关键信息进行加密:
Rn→Hy:RA+{Rank(n)||f(Rank(n))||salt(Rank(n)+1)||KG||IIn}KI
其中,RA为路由通告,Rank(n)为Rn的Rank值,是根据节点Rn部署在树状结构的层次深度所估算的一个值;
步骤17、Hy收到消息后,把Rn作为默认路由器;通过KI解密消息,得到IIn,然后和数据包中的接口标识进行对比实现对Rn的认证;保存组密钥KG,在Rank(n)上增加一个数值计算Rank(y),然后在f(Rank(n))和salt(Rank(n)+1)的基础上计算出f(Rank(y))和salt(Rank(y)+1);KI作为与Rn之间的对密钥进行保存,其中Rank(y)为普通节点Hy加入网络后的Rank值。
4.根据权利要求3所述的密钥建立方法,在步骤17后还包括:
步骤18、普通节点A选择随机整数m,使得m>Rank(A),然后向普通节点B发送HELLO消息和m值;其中,Rank(A)为普通节点A加入网络后的Rank值;
A→B:HELLO+m
步骤19、普通节点B收到HELLO消息后,判断m和Rank(B)的大小;其中,Rank(B)为普通节点B加入网络后的Rank值;
如果m≥Rank(B),则普通节点B生成两者的会话密钥KAB,然后向普通节点A发送密钥消息,内容为{KAB}f(m),KAB用f(m)加密:
B→A:{KAB}f(m)
如果m<Rank(B),则普通节点B选择随机整数n使得m<n,然后向普通节点A发送HELLO消息和值n:
B→A:HELLO+n
步骤20、普通节点A接收到消息后,如果是密钥消息,通过计算f(m)解密出会话密钥KAB;如果是HELLO消息,则生成两者的会话密钥KAB,然后向B发送密钥消息,内容为{KAB}f(n),KAB用f(n)加密:
A→B:{KAB}f(n)
步骤21、普通节点B收到密钥消息后,通过计算f(n)解密出会话密钥。
5.根据权利要求3所述的密钥建立方法,在步骤17后还包括:
步骤22、Hy在使用NS+ARO消息向Rn进行地址注册时,使用两者之间的对密钥KI生成消息验证码MAC:
Hy→Rn:NS,ARO,MAC
其中,NS为邻居请求,ARO为地址注册选项;
步骤23、Rn收到注册消息后,使用对密钥和MAC对消息进行认证;
如果认证不成功,则地址注册失败,Rn不会为Hy建立任何缓存项信息,从而当Hy向网络中发送数据包时丢弃数据包、不进行转发;
如果成功,Rn会为Hy建立缓存项信息,从而当Hy向网络中发送的数据包时由Rn进行转发。
6.一种6LoWPAN中基于多次Hash的密钥建立方法,包括:
步骤1、普通节点Hy发送消息,包括RS、k和{f(k+Δ1)||KI}f(k):
Hy→*:RS+k+{f(k+Δ1)||KI}f(k)
其中,*表示Hy的邻居节点,RS为路由请求;k为Hy的Rank值,也表示为Rank(Hy),Δ1为大于1的常量整数,KI为初始密钥,||表示串接,{f(k+Δ1)||KI}f(k)表示根据AES加密算法用f(k)加密f(k+Δ1)和KI串接后的数据;并且,
f(k)=F(f(k-1)||salt(k)),
其中,k>1,salt(k)表示进行第k次Hash计算所用的加盐值,F(f(k-1)||salt(k))表示对f(k-1)||salt(k)进行Hash函数值计算;其中,计算{f(k+Δ1)||KI}f(k)包括:
步骤1a、随机生成一个长字节数据串作为Hash函数计算的初始数据,并确定常量整数Δ1的值,其中Δ1大于1;
步骤1b、根据普通节点Hy部署在树状结构的层次深度,估算一个Rank值k;
步骤1c、计算f(k)和f(k+Δ1);和
步骤1d、随机生成一个初始密钥KI,然后根据AES加密算法用f(k)加密f(k+Δ1)和KI串接后的数据,生成加密后的数据{f(k+Δ1)||KI}f(k);
步骤2、邻居路由器Rn收到消息后,计算f(k)和f(k+Δ1);包括:
步骤2a、如果Rank(n)<k,计算f(Rank(n)+i),直到Rank(n)+i=k;其中,Rank(n)为Rn的Rank值,是根据节点Rn部署在树状结构的层次深度所估算的一个值;
步骤2b、如果Rank(n)>k,则Rn通过消息把k值发送给自己的父节点Re让其计算Hash值,所述消息包括k和Hy的接口标识IIx:
Rn→Re:k+IIx;
步骤2c、父节点Re计算完成后回应消息给Rn,该消息经过两者之间的对密钥Kup加密:
Re→Rn:{IIx||f(k)||salt(k+1)}Kup
步骤2d、如果Rank(n)=k,则f(k)=f(Rank(n));
步骤3、Rn使用f(k)解密{f(k+Δ1)||KI}f(k)信息,然后把解密出的f(k+Δ1)与自己计算的值进行比较,如果相等,则Rn对Hy认证通过,否则认证不通过;
步骤4、认证通过后,Rn把KI作为两者之间的对密钥进行保存,然后回应路由通告消息,使用KI对关键信息进行加密:
Rn→Hy:RA+{Rank(n)||f(Rank(n))||salt(Rank(n)+1)||KG||IIn}KI
其中,RA为路由通告;
步骤5、Hy收到消息后,把Rn作为默认路由器;通过KI解密消息,得到IIn,然后和数据包中的接口标识进行对比实现对Rn的认证;保存组密钥KG,在Rank(n)上增加一个数值计算Rank(y),然后在f(Rank(n))和salt(Rank(n)+1)的基础上计算出f(Rank(y))和salt(Rank(y)+1);KI作为与Rn之间的对密钥进行保存,其中Rank(y)为普通节点Hy加入网络后的Rank值。
7.根据权利要求6所述的密钥建立方法,在步骤5后还包括:
步骤6、普通节点A选择随机整数m,使得m>Rank(A),然后向普通节点B发送HELLO消息和m值,其中,Rank(A)为普通节点A加入网络后的Rank值;
A→B:HELLO+m
步骤7、普通节点B收到HELLO消息后,判断m和Rank(B)的大小,其中,Rank(B)为普通节点B加入网络后的Rank值;
如果m≥Rank(B),则普通节点B生成两者的会话密钥KAB,然后向普通节点A发送密钥消息,内容为{KAB}f(m),KAB用f(m)加密:
B→A:{KAB}f(m)
如果m<Rank(B),则普通节点B选择随机整数n使得m<n,然后向普通节点A发送HELLO消息和值n:
B→A:HELLO+n
步骤8、普通节点A接收到消息后,如果是密钥消息,通过计算f(m)解密出会话密钥KAB;如果是HELLO消息,则生成两者的会话密钥KAB,然后向B发送密钥消息,内容为{KAB}f(n),KAB用f(n)加密:
A→B:{KAB}f(n)
步骤9、B收到密钥消息后,通过计算f(n)解密出会话密钥。
8.根据权利要求6所述的密钥建立方法,在步骤5后还包括:
步骤10、Hy在使用NS+ARO消息向Rn进行地址注册时,使用两者之间的对密钥KI生成消息验证码MAC:
Hy→Rn:NS,ARO,MAC
其中,NS为邻居请求,ARO为地址注册选项;
步骤11、Rn收到注册消息后,使用对密钥和MAC对消息进行认证;
如果认证不成功,则地址注册失败,Rn不会为Hy建立任何缓存项信息,从而当Hy向网络中发送数据包时丢弃数据包、不进行转发;
如果成功,Rn会为Hy建立缓存项信息,从而当Hy向网络中发送的数据包时由Rn进行转发。
CN201210003524.7A 2012-01-06 2012-01-06 6LoWPAN网络密钥建立方法 Active CN102448062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210003524.7A CN102448062B (zh) 2012-01-06 2012-01-06 6LoWPAN网络密钥建立方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210003524.7A CN102448062B (zh) 2012-01-06 2012-01-06 6LoWPAN网络密钥建立方法

Publications (2)

Publication Number Publication Date
CN102448062A CN102448062A (zh) 2012-05-09
CN102448062B true CN102448062B (zh) 2014-03-12

Family

ID=46010041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210003524.7A Active CN102448062B (zh) 2012-01-06 2012-01-06 6LoWPAN网络密钥建立方法

Country Status (1)

Country Link
CN (1) CN102448062B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2518469B (en) * 2014-04-02 2016-03-16 Photonstar Led Ltd Wireless nodes with security key
CN104301887B (zh) * 2014-10-10 2017-11-17 北京交通大学 一种基于rpl的传感器网络密钥管理方法
CN107733656A (zh) * 2017-10-23 2018-02-23 北京深思数盾科技股份有限公司 一种密码认证方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101489248A (zh) * 2009-03-03 2009-07-22 中国科学院软件研究所 一种无线传感器网络拓扑的轻量级监视方法
CN102131195A (zh) * 2011-04-25 2011-07-20 上海电机学院 基于多哈希链的无线传感器网络密钥分配和管理协议

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100974628B1 (ko) * 2008-08-22 2010-08-09 고려대학교 산학협력단 무선 센서 네트워크에서의 브로드 캐스팅 메시지 인증을 통한 그룹키 분배 방법, 그 시스템 및 이를 기록한 기록매체
US9025767B2 (en) * 2010-03-24 2015-05-05 Nokia Corporation Method and apparatus for querying content protected by identity-based encryption

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101489248A (zh) * 2009-03-03 2009-07-22 中国科学院软件研究所 一种无线传感器网络拓扑的轻量级监视方法
CN102131195A (zh) * 2011-04-25 2011-07-20 上海电机学院 基于多哈希链的无线传感器网络密钥分配和管理协议

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Tobias Heer,Oscar Garcia-Morchon,René Hummen,Sye Loong Keo.Security Challenges in the IP-based Internet of Things.《Security Challenges in the IP-based Internet of Things》.IETF,2011,1-16. *
任伟,宋军,叶敏,刘宇靓.物联网自治安全适配层模型以及T2ToI中T2T匿名认证协议.《计算机研究与发展》.2011,第48卷(第S2期),1-7. *

Also Published As

Publication number Publication date
CN102448062A (zh) 2012-05-09

Similar Documents

Publication Publication Date Title
Qiu et al. A mutual authentication and key establishment scheme for M2M communication in 6LoWPAN networks
Dutertre et al. Lightweight key management in wireless sensor networks by leveraging initial trust
KR100956482B1 (ko) 알려지지 않은 두 통신 당사자 간의 신뢰성 있는 관계의 확립 방법, 그 관계 확립의 개시와 완성 방법, 통신 장치 및 컴퓨터 판독가능한 기록매체
Sharma et al. Secure data transmission on MANET by hybrid cryptography technique
CN102098318B (zh) 多跳网络的端到端匿名安全通信方法
CN104584602A (zh) 加密发现分组中的服务宣告消息
Lavanya et al. Lightweight key agreement protocol for IoT based on IKEv2
JP2006514789A (ja) 安全な移動体アドホック・ネットワーク及び関連の方法
CN104604206A (zh) 使mac地址模糊化
CN104584516A (zh) 协商mac地址的改变
Asokan et al. Towards securing disruption-tolerant networking
KR101452124B1 (ko) 사물간 통신 네트워크에서 암호화 기반 기기 인증 및 세션키 생성 방법
Sengupta et al. End to end secure anonymous communication for secure directed diffusion in IoT
Sundaram et al. ZHLS Security Enhancement by integrating SHA256, AES, DH in MANETS
CN102448062B (zh) 6LoWPAN网络密钥建立方法
Arafath et al. Incorporating privacy and security in military application based on opportunistic sensor network
Wan et al. Anonymous user communication for privacy protection in wireless metropolitan mesh networks
Lizardo et al. End-to-end secure group communication for the Internet of Things
Sudarsono et al. An implementation of secure data exchange in wireless delay tolerant network using attribute-based encryption
Porambage et al. Group key establishment for secure multicasting in IoT-enabled Wireless Sensor Networks
Hwang et al. A new efficient authentication protocol for mobile networks
Veeramallu et al. Confidentiality in wireless sensor networks
Pan et al. MASR: an efficient strong anonymous routing protocol for mobile ad hoc networks
Choudhury et al. DTLS based secure group communication scheme for Internet of Things
Wang et al. Pseudonym-based cryptography and its application in vehicular ad hoc networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160113

Address after: 200031 Shanghai, Hunan Road, No. 121, building 10, building

Patentee after: SHANGHAI YINGLIAN SOMATOSENSORY INTELLIGENT TECHNOLOGY CO., LTD.

Address before: 100190 Haidian District, Zhongguancun Academy of Sciences, South Road, No. 6, No.

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 200031 Shanghai, Hunan Road, No. 121, building 10, building

Patentee after: Shanghai united information Polytron Technologies Inc

Address before: 200031 Shanghai, Hunan Road, No. 121, building 10, building

Patentee before: SHANGHAI YINGLIAN SOMATOSENSORY INTELLIGENT TECHNOLOGY CO., LTD.