賀文華 劉浩 賀勁松 彭智朝



摘 要:保密信息的安全傳輸在商業貿易、網絡通信、國防軍事等領域有著廣泛的應用需求,然而信息安全的核心無疑是密碼技術,密鑰分配與管理又是密碼技術的關鍵。本文闡述了傳統密碼算法的密鑰分配、身份密碼體制的密鑰分配、基于生物特征的密鑰分配、量子密鑰分配的常用技術,我們對它們進行了必要的分析和比較教學,達到了教學的目的,并提高了教學效果。
關鍵詞:傳統密鑰;身份密鑰;生物特征密鑰;量子密鑰;密鑰分配
中圖分類號:TP393 文獻標識碼:A
Abstract:Secure transmission of confidential information has broad application requirements in the fields of commercial trade,network communication,national defense and military,etc.Beyond all doubt,cryptography technology is the core of information security,while key distribution and management is the critical point ofcryptography technology.This paper expounds the common distribution techniques of the traditional key,the identity key,the biometric key and the quantum key.Through necessary analysis and comparison of the techniques,the teaching goal is achieved and the teaching effect is effectively improved.
Keywords:traditional key;identity key;biometric key;quantum key;key distribution
1 引言(Introduction)
密碼學分為密碼編碼學和密碼分析學兩大部分。密碼編碼學是保持明文的秘密以防止入侵者知曉;密碼分析學是不知密鑰的情況下,恢復明文的科學。正是因為密碼編碼學和密碼分析學的此消彼長,促進了密碼學的迅速發展。目前密碼體制分成兩大類,一類是基于數學的密碼理論,主要包括對稱密碼、非對稱密碼、身份認證、密鑰管理等,另外一類是基于非數學的密碼理論,主要包括量子密碼、生物特征密碼、密鑰管理等。
隨著社會的信息化進程的推進,信息安全在生產和生活中的重要性越來越突出,加密技術被廣泛地應用于國防軍事、企業、商業和個人隱私等的保護工作中?,F代密碼中,加解密算法是完全公開的,當有了確定的加解密算法,密鑰的保密性成為了密碼系統的核心。因此,密鑰管理是數據加解密技術中的重要一環,其在整個保密系統中占有重要地位[1]??梢娦畔⒌陌踩允怯蓪γ荑€的保護性來決定的,而不是由對算法或硬件本身的保護來決定的,而密鑰安全又是網絡環境中密鑰管理要遵守的宗旨。事實上,不僅安全密碼算法和協議設計十分困難,而且密鑰管理則更加艱難[2]。因此,若密鑰得不到合理的保護和管理,無論算法設計得多么精巧和復雜,保密系統也是脆弱的,而密鑰管理中的一個關鍵環節又是密鑰分配。
2 密鑰分配(Key distribution)
密鑰分配是密鑰產生后到使用者獲得密鑰的全過程。密鑰分配技術一方面為減輕負擔,提高效率,引入自動密鑰分配機制;另一方面為提高安全性,盡可能減少系統中駐留的密鑰量。故密鑰必須通過安全的信道進行分配,通常,不同密碼系統采用不同的分配方法。密鑰分配需要完成兩個功能,也就是將密鑰分發給雙方和雙方互相認證。
2.1 密鑰分配方法
假設通信雙方是Alice和Bob,常用的密鑰分配方法如下:
①由Alice選定密鑰后用物理手段安全地傳送給Bob。
②由可信的第三方選定密鑰后并用物理手段安全地發送給Alice和Bob。
③假設Alice和Bob已擁有一個密鑰,則任意一方選定新密鑰后并用已擁有的密鑰加密新密鑰發送給對方。
④假設Alice和Bob能通過保密信道與可信的第三方通信,則可信的第三方選定密鑰后就可安全地發送給Alice和Bob。
⑤假設由可信的第三方發布Alice和Bob的公開密鑰,則Alice和Bob可用對方的公開密鑰進行保密通信。
前兩種人工配送方法不可取。對于第三種方法,攻擊者一旦獲得一個密鑰就可獲取以后所有的密鑰;而且用這種方法對所有用戶分配初始密鑰時,代價仍然很大[3]。第4、5種方法是目前常用的方法。
2.2 傳統密碼算法的密鑰分配
傳統密碼體制目前分為單鑰密碼和雙鑰密碼體制,單鑰密碼體制也就是對稱密碼體制,它的加密密鑰和解密密鑰是同一把密碼鑰匙;雙鑰密碼體制也就是非對稱密碼體制,它的加密密鑰與解密密鑰不是同一把密碼鑰匙,而是各不相同,也被稱為公鑰體制。
(1) 對稱密碼技術的密鑰分配
a.集中式密鑰分配
密鑰分配中心KDC(Key Distribution Center)是集中式密鑰分配的第三方,負責分配密鑰。假定發起者A和響應者B的身份分別是IDA和IDB,它們與密鑰分配中心KDC有一個共享密鑰(也稱為主密鑰)Ka和Kb,通過共享密鑰分配給發起者A和響應者B的密鑰被稱為會話密鑰,發起者A要與響應者B建立一個連接,且用會話密鑰保護連接傳輸的數據,通信傳輸完成后,會話密鑰即被銷毀。如圖1所示。
具體過程如下:
①發起者A向密鑰分配中心KDC發送會話密鑰請求的信息IDA∥IDB∥N1,其中唯一標識符N1,通常是時間戳、計數器或隨機數。
②密鑰分配中心KDC向發起者A返回應答信息EKa[Ks∥IDA∥IDB∥N1∥EKb[Ks∥IDA]]。應答信息用Ka加密,又含有會話密鑰Ks。應答信息只有發起者A才能解密,同時將會話密鑰Ks存儲起來,并且發起者A也據此確信應答信息是由密鑰分配中心KDC發送。
③發起者A向響應者B發送含有會話密鑰Ks的請求信息EKb[Ks∥IDA]。此請求信息用Kb加密,響應者B收到后解密,獲到會話密鑰Ks,同時將會話密鑰Ks存儲起來,且根據EKb確信Ks來自KDC,根據IDA判斷對方是發起者A。因為由發起者A轉發的是由密鑰分配中心KDC用Kb加密后的密文,所以轉發過程不存被竊聽、竊取。至此,會話密鑰Ks的密鑰分配已經完成。
④響應者B向發起者A返回應答信息EKs[N2]。響應者 B用會話密鑰Ks加密隨機數N2后發送給發起者A,也就是通知告訴發起者A,響應者B當前是可以通信的。
⑤發起者A向響應者B再返回應答信息EKs[f(N2)]。發起者A應答響應者B發送的信息N2,并對N2作函數變換,且用會話密鑰Ks加密后發送給響應者B。
事實上第④、⑤兩步結合第③步完成發起者A和響應者B的相互認證,且響應者B能確信所收到的信息沒有產生重放。
隨著網絡用戶數的增加,一個密鑰分配中心KDC成為整個系統的瓶頸,承擔不了密鑰分配的重任,于是采用多個KDC的分層結構方法來解決[1]。
b.分布式密鑰分配
如果網絡中通信各方擁有相同的地位,且協商解決相互之間的密鑰分配,不受任何限制,這就是分布式密鑰分配。如果網絡中有n個用戶,則需有n(n-1)/2個主密鑰。當n很大時,整個網絡中的主密鑰很多,但每個節點最多只保存個n-1主密鑰。本方案是適用的是小型網絡或局域網。在大型網絡中,由于用戶數太多,本方案是不適用[1]。
假設發起者A和響應者B的身份分別是IDA和IDB,每個用戶事先和其他用戶之間存在一個主密鑰MKm,用主密鑰來產生會話密鑰,則發起者A和響應者B之間產生會話密鑰的過程如圖2所示。
具體過程如下:
①發起者A向響應者B發送會話密鑰請求的信息IDA∥IDB∥N1。其中唯一標識符N1,通常是時間戳、計數器或隨機數,告知發起者A希望與響應者B通信。
②響應者B向發起者A返回應答信息EMKm[Ks∥IDA∥IDB∥f(N1)∥N2]。應答信息用共享的主密鑰MKm加密,并含有響應者B產生的會話密鑰Ks和發起者A向響應者B身份標識符與函數變換f(N1)及隨機數N2。發起者A用共享的主密鑰MKm解密應答信息獲取會話密鑰Ks,用于雙方通信。
③發起者A向響應者B返回應答信息EKs[f(N2)]。發起者A用會話密鑰Ks對函數變換f(N2)加密發送給響應者B,使響應者B能確信信息沒有產生重放。
此外,我們常利用非對稱密碼技術的密鑰分配來進行對稱密碼技術的密鑰分配。
(2) 非對稱密碼技術的密鑰分配
在公鑰體制中,公鑰分配的方法通常有公開發布、公用目錄、公鑰機構和公鑰證書等多種。
a.公開發布
公開發布就是網絡用戶把自己的公開密碼鑰匙發送給或廣播給其他網絡用戶,這種方法的不足是可能會產生偽造、冒充。
b.公用目錄
公用目錄中含有每個網絡用戶的一個目錄項,即進行安全認證的網絡用戶身份標識符和公開密碼鑰匙等,通常是由可信任的機構或組織來建立和維護這個動態目錄。網絡用戶可以從這個動態目錄獲取所需的公開密碼鑰匙。公用目錄比公開發布的安全性較好,但嚴重不足是攻擊者獲得目錄管理機構私有密碼鑰匙后可偽造公開密碼鑰匙,產生欺騙行為。
c.公鑰機構
為克服公用目錄的弱點,引入公鑰管理機構,來進一步提高安全性。假設發起者A和響應者B的身份分別是IDA和IDB,發起者A和響應者B都可靠地知道公鑰管理機構的公開密碼鑰匙,且公鑰管理機構自己的私鑰為KRauth,公鑰分配過程如圖3所示[3]。
具體過程如下:
①發起者A向公鑰管理機構發送獲取響應者B公開密碼鑰匙的請求信息。其中唯一標識符Time1是時間戳。
②公鑰管理機構向發起者A返回應答信息。應答信息中含有響應者B的公開密碼鑰匙KUB和發起者A的請求及時間戳Time1,并用公鑰管理機構的私鑰KRauth加密。返回發起者A的請求以驗證請求信息沒有被篡改,返回時間戳Time1以告之發起者A不是一個舊信息。
③發起者A向響應者B發送用響應者B的公開密碼鑰匙KUB加密的信息。信息中含有發起者A的身份IDA和唯一標識符N1。
④響應者B用類似①②步驟的方法從公鑰管理機構獲取發起者A的公開密碼鑰匙KUA。至此,公開密碼鑰匙KUA和KUB分配完畢,雙方可進行保密通信。
⑤響應者B向發起者A發送用發起者A的公開密碼鑰匙KUA加密的信息。信息中含有唯一標識符N1和N2。因只有響應者B才能解密③的信息,所以發起者A據此(收到的信息中的唯一標識符N1)確信通信的另一方確實是響應者B,實現發起者A對響應者B的身份認證。
⑥發起者A向響應者B發送用響應者B的公開密碼鑰匙KUB加密的信息,響應者B解密后確信通信的另一方確實是發起者A,實現響應者B對發起者A的身份認證。在這個過程中,如果發起者A用響應者B的公開密碼鑰匙只對N2加密,則響應者B不能確信通信的另一方是發起者A,原因是可能產生重放。
獲得對方公開密鑰后可保存起來供以后使用。然而還必須定期地通過公鑰管理機構獲取通信對方的公鑰,以保證對方公鑰更新后仍能進行保密通信。
當網絡用戶數增加時,公鑰管理機構可能會成為系統的瓶頸,承擔不了密鑰分配的重任,于是采用多個KDC的分層結構方法來解決[1]。
d.公鑰證書
公鑰管理機構分配公鑰存在公鑰管理機構可能會成為系統的瓶頸,為解決此問題引入公鑰證書。用戶通過交換公鑰證書來互相交換自己的公鑰。
證書一般由第三方發行,這個第三方稱為證書權威中心(Certificate Authority, CA),證書由CA簽名表明證書的擁有者所具有的公鑰等信息。假設IDA是用戶A的身份標識,PKA是用戶A的公鑰,T是當前時間戳,PKCA是CA的公鑰,SKCA是CA的私鑰。證書由CA用它的私鑰簽名,其他用戶可以用CA的公鑰驗證證書的真假。公鑰證書的分配過程如圖4所示 。
用戶利用公鑰證書也可將自己的公鑰發給其他用戶,對方接收后用PKCA驗證證書,即DPKCA[ESKCA[T,IDA,PKA]]=[T,IDA,PKA]。
此外,由于公鑰算法速度很慢,在通信中一般不使用公鑰加密消息,而是使用會話密鑰(對稱密碼密鑰)加密消息。因此一般的做法是用會話密鑰加密消息,用公鑰來實現會話密鑰的分配。
2.3 身份密碼體制的密鑰分配
通過前面的闡述,我們知曉公鑰密碼體制中重點是保證公鑰的真實性,于是引入證書機制來實現。然而由于證書的產生、發布與分配、存儲與管理、撤銷與驗證等所占用資源太多,密鑰管理開銷越來越大,實時性能明顯降低,于是引入基于身份密碼體制。
以用戶的身份標識直接作為用戶公鑰或者可計算出用戶公鑰的密碼體制稱為身份密碼體制IBC(Identity-Based Cryptography)。身份標識是任意唯一的字符串標識符,用戶公鑰(也稱身份公鑰)是身份標識的函數,身份標識是用戶公鑰的擔保[4]。通過可信第三方私鑰產生中心PKG(Private Key Generator)利用用戶公鑰和系統主密鑰來產生用戶私鑰(也稱身份私鑰),并安全發放。由于用戶公鑰是直接計算出來的,從而避免了證書的存儲與管理等開銷,優化了密鑰管理,實時性明顯提高。
目前有一種稱為可分離匿名的私鑰分發方案(簡稱SAKI)。2009年,Chow提出了將加密方案中的接收者身份匿名,采用匿名分發私鑰的方式,PKG無法將密鑰和用戶身份聯系起來,也就無法進行對應的解密行為[5]。
2.4 基于生物特征的密鑰分配
生理特征和行為特征統稱為生物特征,利用計算機或終端設備來進行人體的生理特征或行為特征來實現身份鑒別稱為生物特征識別,從而實現了用戶數字身份和物理身份的統一。在生物特征加密技術中,我們用密鑰綁定來獲取與自身特征相對應的密碼鑰匙。利用生物特征的唯一性、不可替代性來解決傳統密碼學中密鑰容易遺忘和被竊取等問題。文獻[6]提出了模糊匹配協議和基于拉格朗日插值法的Fuzzy vault協議兩種方法用于安全傳輸用戶的生物特征密鑰。
傳統的密碼技術,基于數學的密碼理論,主要包括對稱密碼、非對稱密碼、身份認證、密鑰管理等,都存在一定的安全缺陷。主要原因是安全性限于當前的計算能力,密鑰管理難度大,同時,網絡傳輸密鑰,存在竊取與篡改,安全性問題難以解決。
2.5 量子密鑰分配
現代密碼學認為,加密和解密算法都可以公開,其安全性在于密鑰的保密性。由于竊聽的存在,通信雙方絕對安全密鑰是難以保證的。然而,今天的量子密碼已成這現實,過去的DES、RSA算法不再安全了。
量子信息論包括量子計算和絕對安全保密通信的量子密鑰分配。量子計算對公鑰體制有著顛覆性的打擊,特別是安全特性;而量子保密通信又是連量子計算也無法破解的絕對安全通信。量子密鑰分配原理來源于光子偏振,基于量子態的概率特性,是用量子態來編碼密鑰,在多用戶間傳輸單個或糾纏量子進行密鑰分配的,其安全性是由量子力學的三條基本物理定律(測量塌縮理論、海森堡不確定原理和量子不可克隆定律)來保證的,而不是由計算復雜度保證的。
量子密鑰分配協議是發送和接收方利用量子態時所共同遵循的信息加載、探測、比對方式和后處理過程。主要的量子密鑰分配協議有采用單光子的BB84、B92、SARG、六態協議和采用糾纏光源的E91協議等[2]。
3 結論(Conclusion)
傳統密碼、身份密碼、生物特征密碼的理論已成熟,已被廣泛應用在電子商務、電子政務、身份認證、數字簽名等領域中,而量子密碼離實際應用尚有一定的距離。信息安全的核心是密碼技術,密鑰分配又是密碼技術的關鍵。在2016年“信息安全理論與技術”課程教學中,我們對傳統密碼算法的密鑰分配、身份密碼體制的密鑰分配、基于生物特征的密鑰分配、量子密鑰分配的常用技術進行了講授,并進行了必要的分析和比較教學,達到了教學的目的,期末筆試考試密鑰管理答題同上屆比較,優秀率從21%提高到了36.6%,不及格率從23%下降到了8.8%,提高了教學效果。
參考文獻(References)
[1] 李飛,吳春旺,王敏.信息安全理論與技術[M].陜西:西安電子科技大學出版社,2016.
[2] 閆鴻濱,密鑰管理技術研究綜述[J].南通職業大學學報,2011
(01):79-83.
[3] 郭亞軍,宋建華,李莉.信息安全原理與技術[M].北京:清華大學出版社,2012.
[4] 李楠.基于身份密碼體制的密鑰管理技術研究[D].解放軍信息工程大學,2010.
[5] 張波.基于身份密碼方案的研究[D].山東大學,2010.
[6] 蔣磊.基于 Biometrics 的無線 BASN 安全機制的研究[D].電子科技大學,2010.
作者簡介:
賀文華(1964-),男,碩士,教授.研究領域:計算機網絡與信息安全.
劉 浩(1976-),男,博士,副教授.研究領域:計算機網絡與信息安全.
賀勁松(1989-),男,研究生.研究領域:計算機網絡與安全.
彭智朝(1975-),男,博士,副教授.研究領域:計算機網絡與大數據.