r>[0038] 時(shí)鐘偏移Λ為:
[0040] 在時(shí)間戳傳遞階段,應(yīng)用程序節(jié)點(diǎn)在T5時(shí)發(fā)送時(shí)間戳,傳感器節(jié)點(diǎn)在T 6時(shí)接收時(shí) 間戳,其中,T5表示應(yīng)用程序發(fā)送時(shí)間戳信息的時(shí)間,T 6表示傳感器節(jié)點(diǎn)接收到時(shí)間戳的時(shí) 間;
g示應(yīng)用程序發(fā)送認(rèn)證信息到達(dá)ΙΕΕΕ1588時(shí)鐘時(shí)的時(shí)間; 表示IEEE1588時(shí)鐘發(fā)送應(yīng)用程序所發(fā)送的認(rèn)證信息的時(shí)間; 表示傳感器節(jié)點(diǎn)返回認(rèn)證信息到達(dá)IEEE1588時(shí)鐘時(shí)的時(shí)間; 表示IEEE1588時(shí)鐘發(fā)送傳感器節(jié)點(diǎn)所返回的認(rèn)證信息的時(shí)間;
[0045] 其中,Dp D2分別表示外出延遲,其中,D ^體表示應(yīng)用程序發(fā)送認(rèn)證信息時(shí)到 IEEE1588時(shí)鐘時(shí)的外出延遲時(shí)間差,D2具體表示從IEEE1588到傳感器節(jié)點(diǎn)接收到認(rèn)證信 息時(shí)的外出延遲時(shí)間差;D 3、D4分別表示進(jìn)入延遲,其中,03具體表示傳感器節(jié)點(diǎn)返回認(rèn)證 信息到IEEE1588時(shí)鐘時(shí)的進(jìn)入延遲時(shí)間差,D 4具體表示從IEEE1588時(shí)鐘到應(yīng)用程序接收 到傳感器節(jié)點(diǎn)返回的認(rèn)證信息是時(shí)的進(jìn)入延遲時(shí)間差;
[0046] 通過以上的公式,得到時(shí)間戳傳遞階段真實(shí)的脈沖傳播時(shí)延d'為:
[0048] 通過計(jì)算所得到的真實(shí)的脈沖傳播時(shí)延d',同步時(shí)間戳T6被調(diào)整為以下的時(shí) 間:
[0049] T6= T5+d' +Δ 0
[0050] 優(yōu)選地,所述步驟S3中,應(yīng)用程序節(jié)點(diǎn)為主節(jié)點(diǎn),傳感器節(jié)點(diǎn)為從屬節(jié)點(diǎn),在考慮 脈沖傳播時(shí)延時(shí),應(yīng)用程序的當(dāng)?shù)貢r(shí)間被利用以同步傳感器節(jié)點(diǎn)的當(dāng)?shù)貢r(shí)間。
[0051] 與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
[0052] 1、在傳統(tǒng)的時(shí)間同步機(jī)制中,雖然在其中考慮到了安全需求,并且利用對稱密鑰 來認(rèn)證同步消息,然而它們都導(dǎo)致了高通信符合并且無法運(yùn)用在IS0/IEC/IEEE 21451中; 而在本發(fā)明中,傳感器節(jié)點(diǎn)間傳送的信息都是按照擴(kuò)展的SOAP定義的結(jié)構(gòu)傳送的,可以被 運(yùn)用到 IS0/IEC/IEEE 21451 中。
[0053] 2、在本發(fā)明中,通過利用簽名、節(jié)點(diǎn)ID的設(shè)置以及節(jié)點(diǎn)各自擁有的密鑰和哈希函 數(shù)的使用,使得認(rèn)證階段和時(shí)間戳傳遞階段都充分滿足了同步機(jī)制中的安全需求,提高了 安全性,一些虛假和無效的信息將在傳輸過程中被丟棄。
[0054] 3、本發(fā)明加入只會帶來時(shí)間延遲的微小增加,但是本發(fā)明在只有微小延遲的代價(jià) 下提高了時(shí)間同步的安全性能,同時(shí)可以運(yùn)用于基于IS0/IEC/IEEE 21451的傳感器網(wǎng)絡(luò) 中。
【附圖說明】
[0055] 通過閱讀參照以下附圖對非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、 目的和優(yōu)點(diǎn)將會變得更明顯:
[0056] 圖1為傳感器節(jié)點(diǎn)和應(yīng)用程序間的相互認(rèn)證示意圖;
[0057] 圖2為認(rèn)證階段和時(shí)間戳傳遞階段中的時(shí)間戳示意圖;
[0058] 圖3為接收信息包的比較示意圖;
[0059] 圖4為延遲時(shí)間的比較示意圖。
【具體實(shí)施方式】
[0060] 下面對本發(fā)明的實(shí)施例作詳細(xì)說明:本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行 實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程。應(yīng)當(dāng)指出的是,對本領(lǐng)域的普通技術(shù)人員 來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保 護(hù)范圍。
[0061] 實(shí)施例
[0062] 本實(shí)施例提供了一種IS0/IEC/IEEE 21451智能傳感器網(wǎng)絡(luò)中的輕量級安全同步 方法,包括如下步驟:
[0063] 步驟Sl,認(rèn)證階段:
[0064] 傳感器和應(yīng)用程序?qū)⒃趦烧咧g廣播認(rèn)證消息,廣播消息的形式如下所示,{UID, KN,EXpT,SIGSK[h(UID//ExpT//K N)]},其中 Uid表示節(jié)點(diǎn)的 ID,Kn表示節(jié)點(diǎn)的密鑰,ExpT 表 示動(dòng)態(tài)調(diào)整的截止時(shí)間,h(...)通過一個(gè)哈希函數(shù)所得到的以上三個(gè)信息的哈希值,SIGsk [...]表示通過一個(gè)私鑰得到的簽名。
[0065] 認(rèn)證階段具體如下所示,如圖1。首先,應(yīng)用程序生成UID、KN、ExpT、51&并且廣播 認(rèn)證消息,傳感器節(jié)點(diǎn)將會驗(yàn)證應(yīng)用程序節(jié)點(diǎn)的簽名的有效性以及應(yīng)用程序節(jié)點(diǎn)的身份。 一旦發(fā)送者(應(yīng)用程序節(jié)點(diǎn)或傳感器節(jié)點(diǎn))將以上信息發(fā)送給相應(yīng)的接受者(傳感器節(jié)點(diǎn) 或應(yīng)用程序節(jié)點(diǎn)),傳感器節(jié)點(diǎn)將能夠在網(wǎng)絡(luò)調(diào)度之前通過預(yù)先加載私鑰核實(shí)接收的信息。 因?yàn)槊總€(gè)節(jié)點(diǎn)都將發(fā)送類似的廣播信息,因此,它將在網(wǎng)絡(luò)上預(yù)先完成一個(gè)認(rèn)證,同時(shí),節(jié) 點(diǎn)之間的密鑰交換也將在此時(shí)完成。
[0066] 步驟S2,時(shí)間戳傳遞階段:
[0067] 在時(shí)間戳傳遞階段,時(shí)間戳信息將通過輕量的加密算法傳遞以保證通信的安全 性。應(yīng)用程序擁有自己的密鑰X,節(jié)點(diǎn)將通過等式g 得到自己的密鑰圮。所 有的節(jié)點(diǎn)都將得到其余節(jié)點(diǎn)的密鑰。我們假設(shè),應(yīng)用程序和傳感器節(jié)點(diǎn)將用Nl和Ν2表示, 應(yīng)用程序和傳感器已經(jīng)共享了各自的密鑰。
[0068] 在算法初始化階段,所有的對稱密鑰都已經(jīng)秘密的共享好。一開始,應(yīng)用程序節(jié)點(diǎn) 用哈希函數(shù)加密ID和X,得到g :。接著進(jìn)入應(yīng)用程序節(jié)點(diǎn)發(fā)送時(shí)間戳階段:應(yīng)用程序節(jié)點(diǎn) 通過哈希函數(shù)計(jì)算ID和人"、,得到h ;通過哈希函數(shù)計(jì)算時(shí)間戳timestamp,得到HMAC,并將 h與HMAC做異或運(yùn)算得到C,最后應(yīng)用程序廣播C和HMAC。接下來進(jìn)入傳感器節(jié)點(diǎn)接收時(shí) 間戳階段:首先傳感器節(jié)點(diǎn)同樣通過哈希函數(shù)計(jì)算ID和,得到h ;然后將C與h做異或 運(yùn)算得到時(shí)間戳timestamp^ ;之后將計(jì)算得到的時(shí)間戳timestan^/ ;通過哈希函數(shù)運(yùn)算 得到HMAC ;最后判斷計(jì)算得到的HMAC與應(yīng)用程序廣播的HMAC是否相等,如果二者相 等,則時(shí)間戳將按在時(shí)間同步階段計(jì)算的進(jìn)行調(diào)整并且同步傳感器節(jié)點(diǎn)的當(dāng)?shù)貢r(shí)鐘。
[0070] 1 :初始化
[0071] 2 : Vw e N;+,令,Jf;'
[0072] 3 :應(yīng)用程序發(fā)送時(shí)間戳階段
[0073] 4 : A <-
[0074] 5 :HMAC ^ hash (timestamp)
[0075] 6 : C <- limes lamp Θ h
[0076] 7 :廣播 <C,HMAO
[0077] 8 :傳感器節(jié)點(diǎn)接收時(shí)間戳階段
[0078] 9 -JK-Imsh(IDl^Ktfi)
[0079] 10 : timestamp' C Θ /?
[0080] 11 :ΗΜΑ(^ - hash (timestamp' )
[0081] 12: if (HMACr =HMAC)
[0082] 13 :調(diào)整時(shí)間并結(jié)束時(shí)間同步
[0083] 14 :endif
[0084] 15 :else 退出
[0085]
[0086] 步驟S3,時(shí)間同步階段:
[0087] 在時(shí)間同步階段,時(shí)間同步將會考慮傳播時(shí)延從而進(jìn)行進(jìn)一步調(diào)整。在認(rèn)證階段 和時(shí)間戳傳遞階段時(shí)間戳傳遞如圖2所示。
[0088] 在認(rèn)證階段,脈沖傳播延遲d為:
[0092] 在時(shí)間戳傳遞階段,應(yīng)用程序節(jié)點(diǎn)在T5是發(fā)送時(shí)間戳,傳感器節(jié)點(diǎn)在T 6時(shí)接收時(shí) 間戳。
[0097] 其中,D1D2代表外出延遲,D 3D4代表進(jìn)入延遲。
[0098] 通過以上的公式,我們可以得到真實(shí)的延遲為:
[0100] 通過計(jì)算所得到的延遲,同步時(shí)間戳1~6將被調(diào)整為以下的時(shí)間:
[0101] T6=T5+d, +Δ
[0102] 在時(shí)間同步過程中,應(yīng)用程序節(jié)點(diǎn)是主節(jié)點(diǎn),而傳感器節(jié)點(diǎn)是從屬節(jié)點(diǎn)。因此在考 慮傳播延遲的時(shí)候,應(yīng)用程序的當(dāng)?shù)貢r(shí)間將被利用以同步傳感器的當(dāng)?shù)貢r(shí)間。
[0103] 本實(shí)施例提供的IS0/IEC/IEEE 21451智能傳感器網(wǎng)絡(luò)中的輕