智能傳感器網(wǎng)絡(luò)中的輕量級(jí)安全同步方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,具體地,涉及一種IS0/IEC/IEEE 21451智能傳感器網(wǎng) 絡(luò)中的輕量級(jí)安全同步方法。
【背景技術(shù)】
[0002] 隨著通信技術(shù),嵌入式技術(shù),傳感器技術(shù)的迅猛發(fā)展,傳感器網(wǎng)絡(luò)已經(jīng)被運(yùn)用到了 很多領(lǐng)域。然而,傳感器網(wǎng)絡(luò)通信協(xié)議及標(biāo)準(zhǔn)的多樣性極大地限制了傳感器網(wǎng)絡(luò)的異構(gòu)融 合和良性發(fā)展。IS0/IEC/IEEE 21451標(biāo)準(zhǔn)的制定,使得基于不同通信協(xié)議的傳感器可以相 互交換信息。作為一個(gè)融合大量異構(gòu)傳感節(jié)點(diǎn)的分布式系統(tǒng),IS0/IEC/IEEE 21451標(biāo)準(zhǔn)中 規(guī)定的傳感器網(wǎng)絡(luò)通過(guò)及時(shí)的物理的改變來(lái)控制和相互作用。時(shí)間同步作為傳感器網(wǎng)絡(luò)的 支撐技術(shù),其設(shè)計(jì)和應(yīng)用具有關(guān)鍵作用。然而由于硬件時(shí)鐘的限制,傳感器節(jié)點(diǎn)上時(shí)鐘可能 會(huì)與系統(tǒng)時(shí)鐘存在時(shí)間差,這將限制控制網(wǎng)絡(luò)的性能,如響應(yīng)時(shí)間抖動(dòng),不能完成時(shí)間敏感 任務(wù)和分布式系統(tǒng)對(duì)象間的實(shí)時(shí)通信任務(wù)。因此,IS0/IEC/IEEE 21451標(biāo)準(zhǔn)下的傳感網(wǎng)絡(luò) 亟需一個(gè)時(shí)間同步方法來(lái)實(shí)現(xiàn)系統(tǒng)時(shí)間的同步。
[0003] 同時(shí),傳統(tǒng)的同步方法NTP和GPS因復(fù)雜度和能量問(wèn)題、代價(jià)及尺寸因素都不適用 于資源受限的傳感器網(wǎng)絡(luò)。而一些基于傳感器網(wǎng)絡(luò)的時(shí)間同步算法例如RBS算法,它通過(guò) 采用接受者之間進(jìn)行同步的方法,在關(guān)鍵路徑中排除了發(fā)送方發(fā)送時(shí)間和訪問(wèn)時(shí)間對(duì)同步 精度造成的影響,得到了很好的同步精度。然而RBS對(duì)網(wǎng)絡(luò)有一定的要求,同時(shí)其有很大的 交換次數(shù),當(dāng)節(jié)點(diǎn)很大時(shí),將會(huì)造成相當(dāng)高的能耗。IS0/IEC/IEEE 21541標(biāo)準(zhǔn)為傳感器接 入網(wǎng)絡(luò)提供了信息和通信模型,而已有的時(shí)間同步方法并不完全支持IS0/IEC/IEEE 21541 標(biāo)準(zhǔn)中規(guī)定的通信協(xié)議,因此它們都無(wú)法運(yùn)用于IS0/IEC/IEEE 21451標(biāo)準(zhǔn)。
[0004] IS0/IEC/IEEE 21451 :智能傳感器接口與通信標(biāo)準(zhǔn);
[0005] NTP :網(wǎng)絡(luò)時(shí)間協(xié)議(Network Time Protocol);
[0006] GPS :全球定位系統(tǒng)(Global Positioning System);
[0007] RBS 算法:參照廣播時(shí)間同步算法(Reference Broadcast Synchronization Algorithm);
[0008] SOAP :簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(Simple Object Access Protocol)。
【發(fā)明內(nèi)容】
[0009] 針對(duì)現(xiàn)有技術(shù)中存在的上述不足,本發(fā)明的目的是提供一種IS0/IEC/IEEE 21451 智能傳感器網(wǎng)絡(luò)中的輕量級(jí)安全同步方法,本發(fā)明在實(shí)現(xiàn)精確的時(shí)間同步和性能之間取 得了較好的平衡,同時(shí),滿足了可信性、完整性、保密性、不可抵賴性以及可行性等多種安全 需求。本發(fā)明通過(guò)輕量的加密算法傳遞時(shí)間戳信息以保證通信的安全性,并且減少了為了 更精確的時(shí)間同步而消耗的計(jì)算時(shí)間,同時(shí)這一時(shí)間同步機(jī)制可以運(yùn)用到IS0/IEC/IEEE 21451傳感器網(wǎng)絡(luò)接口與通信協(xié)議中。
[0010] 在實(shí)現(xiàn)傳感器網(wǎng)絡(luò)同步機(jī)制的時(shí)候,本發(fā)明首先使得應(yīng)用程序和傳感器之間相互 得到認(rèn)證。之后,時(shí)間戳信息將通過(guò)輕量加密算法傳遞,根據(jù)接收到的時(shí)間戳,傳感器的當(dāng) 地時(shí)間將會(huì)進(jìn)行調(diào)整以實(shí)現(xiàn)時(shí)間同步。在這一過(guò)程中,充分保證了時(shí)間同步中的安全性,同 時(shí)延遲時(shí)間并沒(méi)有明顯的變化。
[0011] 為實(shí)現(xiàn)上述目的,本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的。
[0012] -種智能傳感器網(wǎng)絡(luò)中的輕量級(jí)安全同步方法,包括如下步驟:
[0013] 步驟Sl,認(rèn)證階段:
[0014] 在傳感器和應(yīng)用程序兩者之間相互廣播認(rèn)證消息;
[0015] 步驟S2,時(shí)間戳傳遞階段:
[0016] 時(shí)間戳信息通過(guò)輕量的加密算法進(jìn)行傳遞以保證通信的安全性;
[0017] 步驟S3,時(shí)間同步階段:
[0018] 考慮認(rèn)證階段和時(shí)間戳傳遞階段的脈沖傳播時(shí)延,從而進(jìn)行時(shí)間同步調(diào)整。
[0019] 優(yōu)選地,在步驟Sl中,傳感器和應(yīng)用程序分別作為節(jié)點(diǎn),所述認(rèn)證消息采用如下 形式:
[0020] {UID, KN, ExpT, SIGsk [h (UID//ExpT//KN) ]};
[0021] 其中,Uid表示節(jié)點(diǎn)的ID,K N表示節(jié)點(diǎn)的密鑰,ExpT表示動(dòng)態(tài)調(diào)整的截止時(shí)間,h() 為通過(guò)一個(gè)哈希函數(shù)得到UID、ExpT、K n三個(gè)信息的哈希值,SIGsk□表示通過(guò)一個(gè)主節(jié)點(diǎn)的 私鑰SK得到的簽名,運(yùn)算符//表示將不同的信息合并。
[0022] 優(yōu)選地,所述步驟Sl具體包括如下步驟:
[0023] 應(yīng)用程序節(jié)點(diǎn)或傳感器節(jié)點(diǎn)首先作為發(fā)送者生成UID、KN、ExpT、SIG 1,并且廣播認(rèn) 證消息至相對(duì)應(yīng)的傳感器節(jié)點(diǎn)或應(yīng)用程序節(jié)點(diǎn),傳感器節(jié)點(diǎn)或應(yīng)用程序節(jié)點(diǎn)作為接收者驗(yàn) 證接收到的發(fā)送者的簽名SIG 1的有效性以及發(fā)送者的身份,完成一次認(rèn)證;其中,SIG1表示 作為發(fā)送者的節(jié)點(diǎn)i的簽名;
[0024] 重復(fù)上述過(guò)程,實(shí)現(xiàn)網(wǎng)絡(luò)上所有節(jié)點(diǎn)之間的消息認(rèn)證。
[0025] 優(yōu)選地,所述步驟S2中,節(jié)點(diǎn)通過(guò)等式以=FosMiDi,X)得到自己的密鑰砥,其 中,尤;^表示節(jié)點(diǎn)i的密鑰,10 1表示節(jié)點(diǎn)i的ID,X表示應(yīng)用程序自己的密鑰;網(wǎng)絡(luò)上每一 個(gè)節(jié)點(diǎn)均得到其余節(jié)點(diǎn)的密鑰。
[0026] 優(yōu)選地,所述輕量的加密算法包括如下步驟:
[0027] 步驟S201 :加密算法的初始化階段:應(yīng)用程序節(jié)點(diǎn)和傳感器節(jié)點(diǎn)之間相互共享了 密鑰;應(yīng)用程序通過(guò)哈希函數(shù)加密應(yīng)用程序節(jié)點(diǎn)的ID和應(yīng)用程序節(jié)點(diǎn)的密鑰X,得到 其中,欠丨表示節(jié)點(diǎn)i的密鑰;
[0028] 步驟S202 :進(jìn)入應(yīng)用程序節(jié)點(diǎn)發(fā)送時(shí)間戳階段:應(yīng)用程序節(jié)點(diǎn)通過(guò)哈希函數(shù)計(jì)算 應(yīng)用程序節(jié)點(diǎn)的ID和得到h ;通過(guò)哈希函數(shù)計(jì)算時(shí)間戳timestamp,得到HMAC,并將h 與timestamp做異或運(yùn)算得到C,最后應(yīng)用程序節(jié)點(diǎn)廣播C和HMAC ;其中,h表示節(jié)點(diǎn)ID和 它對(duì)應(yīng)的密鑰通過(guò)哈希運(yùn)算得到的哈希值,HMC表示時(shí)間戳通過(guò)哈希運(yùn)算得到的哈希值,C 表示h與timestamp做異或運(yùn)算得到的值;
[0029] 所述ID和與h之間的關(guān)系式為:KU:
[0030] 所述時(shí)間戳 timestamp 與 HMAC 之間的關(guān)系式為:HMAC = hash (timestamp);
[0031] 所述timestamp與C之間的關(guān)系式為:細(xì)夢(mèng)??;
[0032] 步驟S203 :進(jìn)入傳感器節(jié)點(diǎn)接收時(shí)間戳階段:首先傳感器節(jié)點(diǎn)通過(guò)哈希函數(shù)計(jì) 算傳感器節(jié)點(diǎn)ID和/<,得到h;然后將C與h做異或運(yùn)算得到時(shí)間戳timestamp';之后 將計(jì)算得到的時(shí)間戳timestamp^,通過(guò)哈希函數(shù)運(yùn)算得到HMAC ;最后判斷計(jì)算得到的 HMC與應(yīng)用程序節(jié)點(diǎn)廣播的HMAC是否相等,如果二者相等,則時(shí)間戳將按照時(shí)間同步階 段的計(jì)算進(jìn)行調(diào)整,并且同步傳感器節(jié)點(diǎn)的當(dāng)?shù)貢r(shí)鐘;其中,HMAC'表示傳感器節(jié)點(diǎn)通過(guò)獲 得的節(jié)點(diǎn)ID,/C、哈希運(yùn)算后,再與C異或運(yùn)算得到的新的時(shí)間戳,最后再對(duì)時(shí)間戳通過(guò)哈 希函數(shù)運(yùn)算得到的值;
[0033] 戶斤述時(shí)間戳 timestamp,與 HMAC,之間的關(guān)系式為:HMAC, = hash (timestamp,);
[0034] 所述 timestamp ' 與 C 之間的關(guān)系式為:timcshinip' = (:? h。
[0035] 優(yōu)選地,所述步驟S3中:
[0036] 在認(rèn)證階段,脈沖傳播時(shí)延d為:
其中,T1表示在認(rèn)證階段應(yīng)用程序發(fā)送認(rèn)證信息的時(shí)間,T 2 表示傳感器節(jié)點(diǎn)接收到認(rèn)證信息的時(shí)間,T3表示傳感器節(jié)點(diǎn)廣播它的認(rèn)證信息的時(shí)間,T4 表示應(yīng)用程序接收到傳感器節(jié)點(diǎn)所發(fā)出的認(rèn)證信息的時(shí)間;
當(dāng)前第1頁(yè)
1 
2 
3