殷愛菡,熊 松,王勝凱
(華東交通大學信息工程學院,江西 南昌 330013)
近年來無線通信正在迅速發(fā)展,筆記本式計算機,PAD等終端手持設備以其方便靈活性在無線通信中迅速發(fā)展,但無線通信的安全至關重要,現在越來越多的焦點轉向用戶身份的安全認證。在用戶被授權接入網絡以前,GSM和UMTS等蜂窩網使用對稱加密算法去執(zhí)行認證和會話密鑰管理。對于無線局域網[1](WLAN),對稱加密算法RC4的WEP(Wired Equivalent Privacy)協議中說明:即使對無線接入控制采用對稱加密技術的認證機制,安全漏洞還是很容易被發(fā)現。同時對于克服安全漏洞的無線通信的公鑰加密認證協議相繼被提出,但大多計算復雜度都很高,后來有人提出使用ECC(Elliptic Curve Cryptosystems)方法進行加密和會話,盡管減少了一些計算復雜度,但沒有對用戶會話密鑰進行檢驗,網絡沒有得到認證,用戶無法辨認。
本文使用了對稱加密算法AES和非對稱加密算法NTRU和HASH函數在無線網絡中構建雙向認證和會話密鑰管理協議。NTRU[2]是一種新的公鑰加密體制。它是一個在多項式環(huán)Z[X]/(XN-1)上的密碼系統。NTRU的優(yōu)點是在高安全等級時有較高的加解密速度、簽名驗證速度和密鑰生成速度,因此被使用在無線網絡環(huán)境中。NTRU的安全是基于多項式環(huán)上的最近向量問題,也是一個NP問題。
相比有線,無線傳輸的信息更容易被竊取和篡改,一些常見的無線通信威脅包含竊聽移動用戶身份和用戶談話內容,假裝合法用戶,追蹤用戶位置。因此,安全認證是非常重要的,所以無線網絡基本安全要求是:1)無線傳輸信息保密;2)用戶位置信息保密;3)防止認證中的偽裝;4)防止重復攻擊;5)防止不可抵賴性服務。
此外,由于非對稱加密有一定的計算復雜度,認證機制應該有更少的計算復雜度和用戶存儲要求。交換信息應該保持在有限帶寬范圍。
協議主要符號名稱及其代表意義如表1所示。
由于 NTRU[3]系統工作在多項式環(huán) R=Z[X]/(XN-1),元素F∈R將被看成一個多項式或向量
表1 協議主要符號名稱及其代表意義
使用“*”表示在R中的卷積運算。例如,設F∈R和G∈R,使H=F*G可表示為
因為H=F+G,在多項式環(huán)R=Z[X]/(XN-1)計算H的系數為
本文使用NTRU加密算法和簽名算法構建認證協議,在 NTRU 算法中基本的安全參數{N,p,q,Lf,Lg,Lm}能共享,系統參數為{Dmin,Dmax,Lφ,Lw}。通常指定 P=3,p 和 q 互為素數。在參數中,{Lf,Lg,Lφ,Lw,Lm}被指定為N-1階多項式樣本空間。Dmin和Dmax是驗證NSS簽名的邊界參數。Dev(a,b)表示在多項式環(huán)a(mod q)和b(mod q)系數不同的個數。
假設在協議中有一個發(fā)證機構CA(Certifying Authority)創(chuàng)造和分發(fā)證書給用戶和網絡認證服務器AS(Authentication Server)。CA包含一個請求接入的臨時身份,這個身份可能是用戶或AS。文中不區(qū)分MS即用戶和訂閱者。
在用戶和AS執(zhí)行真正的注冊之前,首先從CA獲得自己的證書,也就是初始化。文中假設發(fā)布證書是足夠安全的。
在初始化中,CA發(fā)布證書給用戶和AS,CA先為NSS簽名算法產生公鑰和私鑰對,隨機選擇兩個多項式:f∈Lf,g∈Lg滿足 f=f0+pf1和 g=g0+pg1,f0和 g0通常是固定的(f0=1和g0={1,-1})。然后計算公鑰
CA產生公鑰PKCA=h,保密私鑰SKCA=f。假設用戶和AS都知道f0和g0。
在用戶初始化過程中,用戶首先選擇兩個隨機多項式SKu∈Lf和gu∈Lg,然后根據加密算法計算公鑰PKu。用戶保留公私鑰對,然后通過安全信道發(fā)送信息,信息包含公鑰和IDu給CA,在CA收到信息后,CA使用私鑰和NSS簽名算法時信息進行簽名,信息是HASH函數對公鑰、臨時身份TIDu和作為用戶證書Cu的有限期限tu的串聯,用戶的CA有唯一的TIDu,成功后,CA發(fā)送證書Cu,PKCA,TIDu和tu給用戶,收到后,用戶核查證書信息。
同理在初始化中提到的AS也從CA得到Cs,TIDs,ts和PKCA。
在初始化完成后,認證過程開始執(zhí)行。圖1顯示了詳細的執(zhí)行過程。
圖1 雙向認證協議圖
步驟1:用戶發(fā)送信號給服務器嘗試登入,在圖中省略這步,接入后,AS選擇隨機多項式rs。然后AS發(fā)送證書Cs同時攜帶公鑰PKs,臨時身份TIDs和證書有效時間ts和rs給用戶。
步驟2:在步驟1收到信息后,用戶首先核查ts是否有效。假如不是,認證過程將被終止。反之,用戶根據NSS簽名算法[4]核查AS的證書,在核查中,用戶選擇3個隨機多項式: φu,ru1,ru2,其中 ru1是作為密鑰[5],加密簽名ru2防止中間攻擊,并且ru2被用作對驗證AS的應答。然后,用戶通過NTRU加密算法加密ru1||ru2得到eu。
隨后,用戶通過簽名HASH函數的摘要,即串聯TIDu,TIDs,eu和 rs計算 su,這是作為使用 NSS 簽名的應答。最后,用戶發(fā)送 eu和 Cu,TIDu,PKu,tu,su給 AS。
步驟3:收到用戶的信息后,AS核查tu,假如過期,認證終止。反之,驗證用戶的證書,首先用HASH函數計算用戶的PKu,TIDu和tu,得到mu。然后根據NSS,核查Dev(f0*mu,Cu)∈[Dmin,Dmax]是真的還是假的,假如是真的,還需要核查 Dev[g0*mu,Cu*PKCA(mod q)]是否在[Dmin,Dmax]中。假如都通過了,則驗證了用戶的證書。然后解密eu去獲得ru1和ru2。為了判斷ru1的正確性,和核查用戶的身份篡改和假扮,AS仍然需要驗證簽名su。假如所有以上驗證都通過了,用戶通信是合法的,然后產生ru2的簽名ss,用戶可以使用ss驗證AS的身份,然后發(fā)送用對稱密鑰ru1加密的簽名ss給用戶。
步驟4:在收到加密數據后,用戶計算D(E(ru1,ss),ru1)去獲得AS的簽名ss。然后用戶通過NSS簽名算法驗證AS的身份。假如通過了,用戶和AS之間的驗證就完成了。最后通過TIDu,TIDs,ru2和rs獲得會話密鑰Ksu
該方案很好地滿足了上文描述的安全要求,在協議的時間認證過程中真實的身份沒有傳輸,只有使用臨時的身份,因此,攻擊者不能竊取用戶的身份和發(fā)送追蹤攻擊。攻擊者可以在無線通信時通過中斷信息傳輸來攻擊協議,攻擊者也能獲得用戶和AS的公鑰,但是很難從公鑰找到私鑰,因為很難在最大格中找到最短向量。所以,攻擊者不能找到加密信息,并且偽造簽名。協議也能防止攻擊者假冒用戶或AS,用戶到AS的應答被用戶簽名,攻擊者不能得到用戶的私鑰和偽造簽名,因此,這種攻擊也是失敗的。
直到認證結束,兩邊都能計算會話密鑰。每一次認證,會話密鑰是不同的,因為隨機數ru2是被保密和更新的。隨機數的更新使得會話密鑰更新,因此協議能有效抵制已知明文攻擊。用戶側協議的計算復雜度比其他協議更低,因為通過NTRU加密的基本運算僅僅涉及小于255的數。NTRU加密和解密比ECC[6]快大約2個數量級。
此外,仍然可以優(yōu)化算法提高協議安全,通過采用填補技術,NTRU能防止選擇密文攻擊,使得方案更安全。通過低漢明權重的使用,加密解密和簽名速度能被提高。
以下NTRU算法的實現完全采用Java語言編寫[7],JDK為SUN公司提供的J2SE5.0,模擬器為SUN公司提供的WTK2.2。試驗用PC的CPU為AMD Athlon 2.20 GHz。試驗分別對 RSA(Rivest-Shamir-Adleman)、ECC和NTRU進行加密數據分析,結果如表2所示。
表2 數據分析表
由表2可見,在相對安全級下,NTRU在加解密速度上較ECC[8]和RSA算法有明顯優(yōu)勢,所以使用NTRU算法加快了加密速度,解決了在雙向認證過程的延時問題,使無線通信加密過程在安全狀態(tài)下運行。
下圖2為3種加密算法簽名認證過程的時延曲線,其中NTRU比ECC和RSA明顯時延短,最后趨于穩(wěn)定。
圖2 3種加密算法簽名認證時延曲線圖
本文提出了運用NTRU公鑰加密算法、對稱加密算法和HASH函數的一種新的雙向認證方案,該協議不僅能克服一些常見的安全漏洞,也能滿足無線非對稱加密的需求。目前NTRU算法仍然在發(fā)展,有待完善,其安全等級高、速度快、計算復雜度低等特性,使其適于為將來的無線通信網絡提供安全保障。
[1]張斌,湯紅波,張汝云,等.下一代無線局域網安全性研究[J].電視技術,2007,31(1):62-64.
[2]HOFFSTEIN J,PIPHER J,SILVERMAN J H.NTRU:a ring based public key cryptosystem.[C]//Proc.Algorithmic Number Theory.Berlin:Spring er-Verlag,1998:267-288.
[3]HOFFST EIN J,PIPHER J,SILVERMAN J H.NTRU:a new high speed public key cryptosystem [C ]//Proc.ANTS.Berlin:Springer-Verlag,1998:267-288.
[4]JEFFREY H,JILL P,SILVERMAN J H.NSS:the NTRU signature scheme[C]//Proc.Eurocrypt2001.[S.l.]:Springer- Verlag,2001:211-228.
[5]DAEMEN J,RIJNDEAN V.高級加密標準(AES)算法-RIJNDEAL的設計[M].北京:清華大學出版社,2003.
[6]MENEZES A J,OORSCHOT P C,VANSTONE S A.應用密碼學手冊[M].北京:電子工業(yè)出版社,2005.
[7]徐迎曉.安全性編程實例[M].北京:清華大學出版社,2004.
[8]金純,聶增麗.數字電視多媒體消息業(yè)務認證系統安全研究[J].電視技術,2011,35(11):01-04.