專利名稱:一種網絡密鑰分配方法
技術領域:
本發明是一種用于信息網絡、特別是無線傳感器網絡中的密鑰分配方法,屬于計算機與信息安全技術領域。
背景技術:
近幾年來互聯網以及通信網在全球范圍內得到了迅猛的的發展,它對人類社會的生活方式產生了極大的影響和改變,而隨之而來的網絡信息安全問題就顯得越來越重要。網絡黑客、病毒、信息竊取和干擾等手段的出現,使網絡的安全面臨嚴重的挑釁。為此人們采用數據加密方法以保證數據的私密性。
加密方法主要有兩種對稱加密算法和非對稱加密算法。對稱加密算法只有一個密鑰,加密和解密計算量小,但密鑰的管理比較復雜,因為通信的雙方都有密鑰。非對稱加密算法有兩個鑰匙公鑰和密鑰。非對稱加密算法的計算量較大,但密鑰的管理比較方便。人們始終在尋求新的加密算法,以便充分利用對稱加密算法和非對稱加密算法的優點。2001年人們提出了一種實用的以身份標識為公鑰的非對稱加密算法。它是一種橢圓曲線類型的加密算法,與通常的非對稱加密算法相比,在認證和計算量方面有一定的優勢。
不管采用什么加碼算法,在雙方通信開始前,有一個將密鑰或公鑰送給對方的過程,稱為密鑰分配過程。若采用對稱加密算法,就存在如何有效地將密鑰送給對方。若采用非對稱加密算法,就必須利用可信的第三方進行認證,方法過程復雜,對一些特殊的網絡不具可行性,如傳感器網絡的計算能力和內存容量都比較小,針對一般網絡的非對稱加密算法不能直接應用到傳感器網絡。
由于對稱加密算法計算量小,如果能有效得解決其密鑰分配問題,就能充分發揮其優勢。
發明內容
技術問題本發明解決的技術問題是為通信雙方提供一種網絡密鑰分配方法,為網絡、特別是傳感器網絡提供了一個實用可行的密鑰分配方法,不需要服務器或認證中心的存在,可以安全將對稱加密系統的密鑰傳送給對方。具有防竊取和偽造、單點被破譯不影響其他點安全等性能。
技術方案為了敘述方便,記網絡中有兩個通信雙方為A和B,它們的身份標識為IdA和IdB。我們要解決把一個對稱密鑰K安全送到A和B,使它們能夠使用密鑰K進行信息加密。
本發明就是提供一種安全有效的對稱密鑰系統密鑰交換分配方法。
技術要點是首先生成要交換的信息參數,這些信息將被通信對端用來計算對稱密鑰。然后采用基于身份標識的非對稱加密算法(Identity-Based Encryption,IBE)對要交換的信息進行加密,加密后傳送給對方。對方在收到加密信息后,進行解密,再計算對稱加密算法的密碼。本技術方案充分利用兩種不同密碼系統的優點,達到安全有效實現對稱密碼的密鑰分配。
本發明網絡密鑰分配方法的流程為a)初始化階段隨機產生素數q,計算q的本原根α;將得到的q和α分別存于通信的雙方A和B節點,b)應用Diffie-Hellman算法計算將要交換的對稱密碼系統的參數在A節點隨機選擇XA<q,計算YA=αXAmodq;]]>B節點隨機選擇XB<q,計算YB=αXBmodq;]]>其中mod為取余運算,XA為A節點隨機選取的參數,YA為A節點要送給節點B的參數,XB為B節點隨機選取的參數,YB為B節點要送給A節點的參數,c)應用基于身份標識的加密算法對要交換的信息進行加密和交換即交換對稱密碼系統的參數YA和YB在A節點采用身份標識算法和公鑰IdB對明文m=<YA,IdA>進行加密,得到密文c,并發送給B節點;在B節點利用身份標識算法的的密鑰KId-B對c進行解密,得到明文m=<YA,IdA>;在B節點采用身份標識算法和公鑰IdA對明文m=<YB,IdB>進行加密,得到密文c,并發送給A節點;在A節點利用身份標識算法的密鑰KId-A對c進行解密,得到明文m=<YB,IdB>,d)在信息交換后,再次應用Diffie-Hellman算法計算對稱密鑰此時,在A節點得到了YB和IdB,在B節點得到了YA和IdA;在A節點計算K=(YB)XAmodq;]]>在B節點計算K=(YA)XBmodq,]]>這樣A和B就獲取了對稱加密系統的密鑰K,就可以使用任何一種對稱算法進行信息的加密和解密。
有益效果本發明的意義在于為網絡、特別是傳感器網絡提供了一個實用可行的密鑰分配方法,不需要服務器或認證中心的存在,可以安全將對稱加密系統的密鑰傳送給對方。具有防竊取和偽造、單點被破譯不影響其他點安全等性能,具體優點如下●采用非對稱加密算法進行對稱加密算法的密鑰交換,交換由非對稱加密算法完成,而通信中的數據由對稱加密算法完成,充分利用了兩者的優點。
●非對稱加密算法為2001年最新提出的基于身份標識的加密算法,該算法以通信對端的身份標識為公鑰,與傳統的公鑰選擇不同,使身份認證過程簡單化,因此,特別適合傳感器網絡的密鑰交換。
●交換的信息是計算密鑰的參數,不是密鑰本身,其理論基礎為Diffie-Hellman密鑰交換算法,攻擊者即使獲取了所有的傳輸信息,也無法計算出密鑰,所以,安全性得到保證。
●傳感器網絡的密鑰分配算法到目前為止還沒有理想的方法。該方法可以使傳感器網絡節點只與其相鄰節點交換密鑰,且只需保存這些密鑰,減少了存儲空間。
具體實施例方式
密鑰分配方案流程1.初始化階段●隨機產生素數q,計算q的本原根α,●將得到的q和α分別存于A和B節點,2.計算將要進行交換的對稱密碼系統的參數●在A節點隨機選擇XA<q,計算YA=αXAmodq.]]>其中mod為取余運算,
●B節點隨機選擇XB<q,計算YB=αXBmodq,]]>3.交換對稱密碼系統的參數YA和YB●在A節點采用身份標識算法和公鑰IdB對明文m=<YA,IdA>進行加密,得到密文c,并發送給B節點,●在B節點利用身份標識算法的的密鑰KId-B對c進行解密,得到明文m=<YA,IdA>,●在B節點采用身份標識算法和公鑰IdA對明文m=<YB,IdB>進行加密,得到密文c,并發送給A節點,●在A節點利用身份標識算法的密鑰KId-A對c進行解密,得到明文m=<YB,IdB>,4.計算對稱密碼系統的密鑰此時,在A節點得到了YB和IdB,在B節點得到了YA和IdA,●在A節點計算K=(YB)XAmodq,]]>●在B節點計算K=(YA)XBmodq,]]>這樣A和B就獲取了對稱加密系統的密鑰K,就可以使用任何一種對稱算法進行信息的加密和解密。
實例1.初始化階段●隨機產生素數q=353,產生q的本原根α=3。
●將得到的q和α分別存于A和B節點,且設節點標識為IdA=111,IdB=222。
2.計算將要進行交換的對稱密碼系統的參數●在A節點隨機選擇XA=97,計算YA=αXAmodq=397mod353=40.]]>●B節點隨機選擇XB=233,計算YB=αXBmodq=3233mod353=248.]]>3.交換對稱密碼系統的參數YA和YB●A、B兩節點采用身份標識加密算法交換YA、YB。
4.計算對稱密碼系統的密鑰此時,在A節點得到了YB,在B節點得到了YA。
●在A節點計算K=(YB)XAmod q=24897mod 353=160。
●在B節點計算K=(YA)XBmod q=40233mod 353=160。
這樣A和B就獲取了對稱加密系統的同一個密鑰K,就可以使用任何一種對稱算法進行信息的加密和解密。
假設攻擊者已竊取了q=353,=3,YA=40,YB=248,但他也無法計算出K=160。
這是一個已經證明了的數學不可計算問題即對充分大的q,上述問題K是不可求得的。
權利要求
1.一種網絡密鑰分配方法,其特征為其密鑰分配方案流程為a)初始化階段隨機產生素數q,計算q的本原根a;將得到的q和a分別存于通信的雙方A和B節點,b)應用Diffie-Hellman算法計算將要交換的對稱密碼系統的參數在A節點隨機選擇XA<q,計算YA=αXAmodq;]]>B節點隨機選擇XB<q,計算YB=αXBmodq;]]>其中mod為取余運算,XA為A節點隨機選取的參數,YA為A節點要送給節點B的參數,XB為B節點隨機選取的參數,YB為B節點要送給A節點的參數,c)應用基于身份標識的加密算法對要交換的信息進行加密和交換即交換對稱密碼系統的參數TA和TB在A節點采用身份標識算法和公鑰IdB對明文m=<TA,IdA>進行加密,得到密文c,并發送給B節點;在B節點利用身份標識算法的的密鑰KId-B對c進行解密,得到明文m=<YA,IdA>;在B節點采用身份標識算法和公鑰IdA對明文m=<YB,IdB>進行加密,得到密文c,并發送給A節點;在A節點利用身份標識算法的密鑰KId-A對c進行解密,得到明文m=<YB,IdB>,d)在信息交換后,再次應用Diffie-Hellman算法計算對稱密鑰此時,在A節點得到了YB和IdB,在B節點得到了YA和IdA;在A節點計算K=(YB)XAmodq;]]>在B節點計算K=(YA)XBmodq,]]>這樣A和B就獲取了對稱加密系統的密鑰K,就可以使用任何一種對稱算法進行信息的加密和解密。
全文摘要
網絡密鑰分配方法是一種用于信息網絡、特別是無線傳感器網絡中的密鑰分配方法,其密鑰分配方案流程為初始化階段應用Diffie-Hellman算法計算將要交換的對稱密碼系統的參數;應用基于身份標識的加密算法對要交換的信息進行加密和交換即交換對稱密碼系統的參數Y
文檔編號H04L9/08GK1761186SQ200510095390
公開日2006年4月19日 申請日期2005年11月11日 優先權日2005年11月11日
發明者楊庚, 程宏兵, 王江濤, 黃曉 申請人:南京郵電大學