適用于移動通信系統(tǒng)的公鑰加密認證方案
隨著移動通信提供的業(yè)務(wù)越來越廣泛,用戶對通信中的安全和其隱私的要求也越來越高。第三代移動通信系統(tǒng)雖然較第二代移動通信系統(tǒng)在安全方面有了較大的改善,但是它仍然采用的是私鑰認證體制的用戶認證方案。那么我今天就給大家介紹一個適用于移動通信系統(tǒng)的公鑰加密認證方案。
一、認證和密鑰交換協(xié)議
在通信系統(tǒng)中,為實現(xiàn)安全通信,用戶和網(wǎng)絡(luò)運營商在初始化時就先得到權(quán)威機構(gòu)分配的、經(jīng)過認證的密鑰。公鑰加密就是得到一對基于某種公鑰密碼體制的公私密鑰對,其中公鑰以證書的形式對外發(fā)布,以供使用者相互之間驗證彼此的身份。而在驗證身份后,通話過程中使用的會話密鑰通常按照會話密鑰產(chǎn)生方案由雙方協(xié)商決定,因此會話密鑰也需要雙方的認證確認。為了簡化過程,提高運行效率,可以把它與雙方身份的認證合并進行。
1、_協(xié)議的設(shè)計原則
由于移動通信的終端設(shè)備多以運算能力相對較弱、存儲量小的智能卡為主,因此設(shè)計移動通信系統(tǒng)中的認證協(xié)議應(yīng)遵循原則:
(1) 盡量減少移動臺的運算量
采用計算簡單的加密算法,將執(zhí)行協(xié)議所需要的計算盡可能多的轉(zhuǎn)移到網(wǎng)絡(luò)服務(wù)器端在認證協(xié)議中使用的安全密碼算法有兩種:Hash 函數(shù)和簽名算法。Hash函數(shù)可以選擇信息—摘要算法(Message-Digest Algorithm5, MD5)、安全雜湊算法(Secure Hash Algorithm, SHA)等;簽名函數(shù)則應(yīng)該選擇橢圓曲線體制的簽名算法,因為它在同等安全條件下,較通用關(guān)鍵子密碼算法(Rivest-Shamir-Adleman algorithm,RSA)等加密算法運算量要小得多。
(2)使傳送的消息簡短
由于無線通信的帶寬比較窄,信道差錯率比較高,因此盡可能使傳送的消息簡短,減少相互傳遞的認證信息的個數(shù)。
2、基本標識符
采用如下的標識符來描述協(xié)議:CA為證書權(quán)威,caid為證書權(quán)威的身份;r是網(wǎng)絡(luò)運營商NO產(chǎn)生的隨機數(shù),它屬于基于大素數(shù)p的一個循環(huán)群Zp*,CertN和CertU分別是證書權(quán)威頒發(fā)給NO和U的證書;K是用戶產(chǎn)生的隨機數(shù),它也屬于基于大素數(shù)p的一個循環(huán)群Zp*,同時它也作為雙方的會話密鑰;IMSI是用戶U的永久身份,Sigu和Signo分別是U和NO擁有的一種簽名算法。PK_N,PR_N分別是NO的公鑰和私鑰;PK_U,PR_U分別是U的公鑰和私鑰;EPK_X(Y)就是用X的公鑰對Y進行加密(X為U或NO);)DPR_X(Y)就是用X的私鑰對Y進行解密(X為U或NO);X′是接收方為了驗證收到的信息X,而從本地檢索出的與X對應(yīng)的那個值,X′直接從本地檢索出,原則上X=X′,在本協(xié)議中X為K或者r。
3、協(xié)議描述
協(xié)議設(shè)計的前提是用戶U和網(wǎng)絡(luò)運營商NO雙方彼此都不知道對方的公鑰,但他們都已經(jīng)擁有了由CA頒發(fā)的證書CertU和CertN。各自都可以獲得自己的證書,但并沒有獲得對方的證書。U和NO雙方都擁有一個CA的公鑰PK來檢驗他們的證書。本協(xié)議在U和NO之間展開,不需要與權(quán)威的認證機構(gòu)進行通信。U與NO之間執(zhí)行如圖所示的協(xié)議。

具體步驟為:
(1) U發(fā)送CA的身份信息caid給NO。
(2) NO收到caid后,可以據(jù)此識別CA的身份,然后產(chǎn)生一個隨機數(shù)r∈ZP*,并把證書CertN和r一起發(fā)送給U。
(3) U收到NO發(fā)來的消息后,從CertN中檢索出NO的公鑰PK_N,產(chǎn)生隨機數(shù)K∈ZP*作為會話密鑰,這同時也是一個挑戰(zhàn)信息,然后用自己的私鑰對K、IMSI、CertU和隨機數(shù)r作簽名運算得us,再用NO的公鑰對K、IMSI、CertU、r和us進行加密運算得a,U把a發(fā)送給NO。
(4) NO收到a后,首先用自己的私鑰解密a得(K,IMSI,CertU,r,Su)檢查r=r′是否成立,若成立,從CertU中檢索出用戶的公鑰PK_U,并用該公鑰通過U的驗證簽名算法檢驗簽名su=Siguh(K||IMSI||CertU||r)=是否成立,若成立,則會話密鑰K得到確認,再檢查用戶身份IMSI;用自己的私鑰計算簽名sn=Sigon h(k),然后用U的公鑰加密計算,b=Epk_u(k,sn),NO發(fā)送b給U。
(5) U收到b后,用私鑰解密得(K,Sn),檢查K=K′是否成立,若成立,則NO的身份得到驗證;然后U從CertN中檢索出NO的公鑰和其驗證簽名算法來驗證它的簽名sn=Sigon h(k)是否成立,若成立,會話密鑰K得到確認。
二、協(xié)議的性能分析
協(xié)議滿足第三代移動通信的安全要求,應(yīng)用公鑰加密,提高了協(xié)議安全性,同時雙方通過使用數(shù)字簽名,可提供業(yè)務(wù)的不可否認性;雖然使用了公鑰加密,但計算量并不太大,可滿足移動通信終端的要求。
1、協(xié)議實現(xiàn)的基本功能
(1)U對NO的身份驗證:
通過檢驗(K,Sn),用戶知道K是他原來發(fā)送的,確信與其通信的NO知道對應(yīng)的私鑰,并且通過NO公鑰驗證簽名sn=Sigon h(k)進一步驗證了NO的身份。
(2) NO對U的身份驗證:
NO通過檢驗它產(chǎn)生的隨機數(shù)r,可以知道r是他原來產(chǎn)生的,確信與其通信的U是這個IMSI對應(yīng)的U,而通過用戶的公鑰驗證簽名su=Siguh(K||IMSI||CertU||r),進一步驗證了U的身份。
(3) 協(xié)議產(chǎn)生的會話密鑰:
協(xié)議產(chǎn)生的會話密鑰K是由U產(chǎn)生的,因此對U來說是新鮮的,而對NO來說,K是由其公鑰加密得來的,只有它本身用私鑰解密才能得到相應(yīng)的K,因此可以保證K是新鮮的,而通過驗證用戶的簽名us進一步確認了會話密鑰K的新鮮屬性。
(4) 會話密鑰K得到了U和NO的確認:
U用自己的私鑰解密得到K和ns,通過驗證KK′=的成立及NO的簽名ns可以確認NO已經(jīng)擁有了會話密鑰;而NO通過驗證r=r′及U的簽名us可以確認,K就是U所要用的會話密鑰。
5) U和NO雙方所發(fā)數(shù)據(jù)都不可抵賴:
NO通過驗證U的簽名su=Siguh(K||IMSI||CertU||r),從而使U所發(fā)的數(shù)據(jù)不可抵賴;U通過驗證NO的簽名sn=Sigon h(k),從而使NO發(fā)的數(shù)據(jù)不可抵賴。
2、協(xié)議的抗攻擊性
本協(xié)議安全的前提是假定協(xié)議中所采用的各種密碼算法是安全的。
(1) 協(xié)議產(chǎn)生的會話密鑰是安全的:
即使非法攻擊者能夠截獲傳遞的信息a、b,然而他們都是用公鑰加密的,由于計算離散對數(shù)的困難性,他無法得到會話密鑰。
(2) 協(xié)議能抗中間人攻擊:
攻擊者作為中間人,雖然可以得到未加密的caid、CertN和r,但由于caid和CertN本來就是公開的,即使得到也沒有實際的意義;而對于隨機數(shù)r,攻擊者雖然可以得到這一新鮮信息,但它無法得到已被公鑰加密了的K、IMSI及CertU等信息,因此它無法通過NO的簽名驗證,而且它也得不到雙方的會話密鑰K。而對于加密信息a和b,攻擊者冒充任一方得到這兩個信息,都由于不知道相應(yīng)的私鑰而無法完成協(xié)議的認證功能。
(3) 協(xié)議能抗重放攻擊:
為了防止重放攻擊,協(xié)議里的信息包含一些“新鮮”屬性。在認證過程中,U和NO各自產(chǎn)生一個會話密鑰K和隨機數(shù)r作為新鮮信息,在5)中,U根據(jù)),(nsK檢查K是否新鮮;在4)中,NO檢查r和us來確知信息的新鮮屬性。只要認證雙方有一方是合法的,并按協(xié)議的規(guī)則執(zhí)行,則攻擊者重放已截獲的信息無法得到有效的會話密鑰,同時其身份認證也無法通過。
(4) 協(xié)議能抗窮舉密鑰攻擊:
許多業(yè)務(wù)的安全系統(tǒng)廣泛使用密碼認證,但是密碼在窮舉攻擊下是很脆弱的,攻擊者可以成功的猜出密碼,然而用公鑰加密提供了一種阻止窮舉攻擊的方法。因此,使用公鑰加密信息,窮舉攻擊行不通。
(5) 用戶身份得到了保護:
用戶的身份信息發(fā)送到網(wǎng)絡(luò)時,使用網(wǎng)絡(luò)的公鑰加密,攻擊者無法獲取用戶的身份信息。
3、協(xié)議的效率
(1) 協(xié)議的執(zhí)行不涉及第三方:身份認證和會話密鑰的建立由通信雙方完成,不需要密鑰生成中心或其他第三方的協(xié)助,因而協(xié)議結(jié)構(gòu)簡單,通信次數(shù)少。
(2) 用戶端計算量少:用戶端涉及的公鑰密碼體制的算法簡單,運算量少,達到了協(xié)議設(shè)計所要求的目標,適合移動通信終端。
本文基于公鑰密碼體制設(shè)計了一個有效的適用于移動通信系統(tǒng)的身份認證和會話密鑰分配方案,該方案能夠滿足通信雙方進行相互身份認證的要求,也能為通信雙方分配一個經(jīng)過雙方確認的會話密鑰,而且可以提供業(yè)務(wù)的不可抵賴性。同時這個協(xié)議計算復(fù)雜程度低,簡單而又足夠安全,高效實用,可以為未來移動通信中的諸多業(yè)務(wù)需要不同水平的安全考慮提供技術(shù)支持。
小知識之公鑰加密
由對應(yīng)的一對唯一性密鑰(即公開密鑰和私有密鑰)組成的加密方法。它解決了密鑰的發(fā)布和管理問題,是目前商業(yè)密碼的核心。










