(1.長沙大學 計算機科學與技術系, 長沙 410003; 2.中南大學 數學科學與計算技術學院 數學系, 長沙 410083; 3.長沙中力大方信息技術有限公司, 長沙 410001)
摘 要:針對文件安全問題,提出高安全橢圓曲線加密方案,并將其結合到UKey中,研制出基于ECC算法的UKey管理工具。通過UKey安全身份認證功能,有效解決了文件的安全存儲和安全傳輸兩大難題,并提出了軟件與網站知識產權保護的解決思路。
關鍵詞:橢圓曲線密碼; 身份認證; 文件安全; 知識產權
中圖分類號:TP309 文獻標志碼:A
文章編號:10013695(2009)03110103
Secure authentication and application of UKey based on ECC algorithm
XU Xiangyang1, ZENG Haiqun2, SHAO Kai3, WU Kun2
(1.Dept. of Computer Science Technology, Changsha University, Changsha410003 China; 2.Dept. of Mathematics, School of Mathematic Science Computing Technology, Central South University, Changsha 410083, China; 3.Trueleader Information Tec. Co. Ltd, Changsha 410001, China)
Abstract:Aiming at the document security demand, this paper presented a high security elliptic curve encryption scheme, integrated it into UKey, and designed a UKey management tool.Through the UKey’s secure authentication function, solved two major problems: document safe storage and transmission effectively, and put forward a solution to software and Web site intellectual property protection.
Key words:elliptic curve cryptosystem; authentication; document security; intellectual property
0 引言
橢圓曲線密碼系統(ECC)是當今眾多研究者最為關注的公鑰加密系統之一,具有許多優良的特性,與RSA相比具有安全強度高、密鑰長度短、計算速度快、節約通信帶寬、節省存儲空間等優點,因此發展極為迅速。
UKey 作為一種通過 USB 直接與計算機相連的便攜智能卡設備,由于其小巧、方便和內置安全體系等優勢,被越來越多地用來存儲敏感個人信息、私鑰和證書,并通過內嵌的RSA、DES等加密算法來實現硬件級安全體系。
將 ECC 與 UKey 結合起來是一種極為有益的技術探索,它不僅可以有效解決文件安全存放和安全傳輸的業界難題,而且可以預見它也將有著廣闊的市場前景,幾乎所有對信息敏感的機關、企業、事業單位均可以用 UKey 認證系統和橢圓曲線密碼模式方案來解決。應用領域包括認證中心的身份識別、數字簽名;電子銀行的內部業務、支持網關;證券系統中的證券交易;網站安全中的網絡安全;商業企業的電子商務和網絡購物等。
1 橢圓密碼的安全實現
1.1 參數配置
橢圓曲線密碼的安全性可分為三個層面進行相對獨立的研究,即數學基礎的安全性、密碼機制的安全性和工程實現的安全性。為了滿足橢圓曲線密碼安全性的第一個要求和計算機的實現,本文采用NIST推薦的二進制域及其上的Koblitz橢圓曲線[1]。整體參數組配置如下:
a)基域,GF(2163)
b)域多項式,f(x)=z163+z7+z6+z3+1
c)橢圓曲線, y2+xy=x3+x2+b
其中b=0x 00000002 0A601907 B8C953CA 1481EB10 512F7874 4A3205FD
d)曲線點個數#E=2n,其中n用十六進制表示:
n = 0x 00000004 00000000 00000000 000292FE 77E70C12 A4234C33
e)基點P=(x, y)的值,其中x、y用十六進制表示:
x = 0x 00000003 F0EBA162 86A2D57E A0991168 D4994637 E8343E36
y = 0x 00000000 D51FBC6C 71A0094F A2CDD545 B11C5C0C 797324F1
1.2 標量算法基礎
文獻[2]介紹了一種有效的乘法分解計算方法。假設k = (kn-1, …,k1, k0)2分解方法如下:
k=n-1i=0ki2i= (100…0)(n+1)-k-1(1)
其中:k=ki-1ki-2… k0,ki=0 ki=1
1 ki=0i=0,1,…,k-1。
利用式(1)得到二進制NAF算法[3]和改進的固定窗口基算法[4]。
1.3 高安全加密方案
一般而言,公鑰加密算法雖然安全強度高,但實現起來速度較慢,尤其在加密大量信息時,性能無法與對稱加密相比。基于安全性和效率的考慮,通常先用公鑰加密算法加密對稱密碼密鑰,再傳遞對稱加密密鑰;而對信息的加密卻仍用對稱密碼完成。也就是說,實際應用時,通常混合使用對稱密碼和公鑰密碼[5],如張勇在文獻[3]中提出了一個具體的基于ECC的綜合加/解密方案。
為提高文件的安全性,本文在文獻[3]ECC綜合加/解密方案基礎上設置了兩對ECC密鑰,一對用于數字簽名,另一對用于數據加密。在該加/解密方案中,對稱加密算法選用AES算法,消息摘要函數使用SHA512。
2 UKey管理工具開發
2.1 UKey管理程序功能
為了提供安全、高效的文件解決方案,基于ECC和UKey的認證系統采用安全登錄、文件加密和文件安全分發組件組合。安全登錄保證登錄系統者身份的合法性和惟一性;文件加密是基于UKey芯片的加密,最大程度保證了文件和文件在加密過程中的安全性;基于UKey的文件安全分發功能,可以對文件進行指定并進行加密,最大程度保證了文件傳輸的安全性。
UKey管理程序是管理UKey,實現前面提出的基于橢圓曲線加密系統的綜合加密方案的軟件平臺,同時該管理程序扮演CA(certification authority,認證中心)的角色,負責注冊、撤銷UKey用戶,載入用戶標志文件和重要的文件(電子簽章等),成為企業網絡安全終端和產品產權保護利器。
2.2 證書和簽章導入流程
管理端制作UKey是保障安全的第一步,每個終端有自己私密的安全證書或者根密鑰,而這個密鑰必須安全,它是加密和保障網絡安全的基礎。UKey管理端載入證書和導入簽章的流程如圖1所示。
2.3 身份驗證流程
由UKey管理軟件制作的UKey分發到各網絡客戶端(通過ActiveX控件來實現驗證)或者是作為軟件產品的加密狗。網絡客戶端的身份驗證流程如圖2所示。其中,LoginPage是系統登錄界面,UKeyPage 是 UKey 認證界面,ActUKey 是 ActivexUKey,用來操作 UKey,UKeyMem 是 UKey 存儲器。
3 文件安全問題解決
為解決文件的安全問題,楊晉吉等人[6]提出同一文件內部采用多模式加密,謝華峰等人[7]組合多種簡單加密算法對文件進行加密,鄒敏清[8]則提出基于 USB 智能卡的文件加密方法。
下面對文獻[9]中的物配信息安全傳輸方案進行改進,介紹基于 UKey 的文件安全方案。
3.1 文件的安全存放
為了便于說明,采用以下符號。S:發送方,R:接收方,M:文件信息明文,KS:發送方公鑰,KS′:發送方私鑰,KR:接收方公鑰,KR′:接收方私鑰,KCA:CA的公鑰,KM、KA分別是ECC分發的對稱加密算法的密鑰、消息認證碼MAC的密鑰。S(M,A):A對M簽名,E(M,K):用密鑰K對M加密的密文,MAC(M,K):用K對M計算的消息摘要。
為提高文件存放的安全性,UKey內置加密器使用兩對ECC密鑰(K1,K1′),(K2,K2′),前者用于ECC簽名,后者用于ECC加密,K1、K2是公鑰,K1′、K2′是私鑰。
如圖3所示,文件經過 UKey 內置加密器加密,將C(S(KM‖KA ,K1′), K2),C(M, KM),MAC(C(M, KM), KA)和C(S(MAC(C(M, KM), KA), K1′), K2)存儲于本地硬盤。當用戶拔出UKey后,文件自動隱藏,這樣就實現了文件的安全存放。
3.2 文件的安全傳輸
文件的安全傳輸流程與文件的安全存放流程類似:
1) 發送方S
文件信息M生成后,經UKey內置加密器加密隱藏于本地硬盤;然后到CA公鑰庫(UKeyMem)中查詢 R的公鑰KR,并用CA的公鑰KCA驗證KR的有效性;當確認有效后,利用內置安全hash函數生成對稱算法密鑰KM和消息認證密鑰KA,用KM對M加密,即 C(M, KM),然后利用KA計算出文件摘要MAC(C(M, KM),KA),用KS′、KR進行簽名和加密,然后將C(S(KM‖KA,KS′),KR), C(M, KM),MAC(C(M, KM), KA)和C(S(MAC(C(M, KM),KA), KS′), KR) 一起發送給R。
2) 接收方 R
R 接收密文后,根據發送方的用戶名或者 ID到公鑰庫中查詢發送方的公鑰 KS并驗證其有效性,然后用 UKey 內的私鑰KS′和發送方的公鑰KR解密C(S(KM‖KA, KS′), KR)得到對稱密鑰KM和消息驗證密鑰KA,并從密文中取出c=C(M, KM),t= MAC(C(M, KM), KA),再用KA驗證。若t= MAC(c, KA),則用KM解密c,得到明文 M,否則拒絕該密文。
4 安全Ukey的應用思路
4.1 軟件的知識產權保護
軟件的知識產權保護問題一直受到各方面的關注,網站的知識產權保護也得到越來越多的重視。對軟件的知識產權保護要貫穿于軟件的整個生命周期,即前期要進行軟件的加密、中期要進行許可證的管理、后期要進行盜版檢測[10]。基 于UKey 認證系統的優勢,利用 UKey 內置加密芯片對軟件的核心代碼進行加密,可以防止逆向工程,防范代碼竄改;利用 UKey 管理程序為軟件的合法持有者頒發應用許可,有效跟蹤軟件的使用情況,防范軟件盜版。而目前攻擊軟件知識產權的主要形式是軟件盜版,可以利用 UKey管理程序對抗軟件盜版,應用思路如下:
a)軟件發行商將軟件產品的作者、發行商、所有者、使用者、配置文件、激活碼等加密存儲于 UKeyMem中;
b)用戶在安裝軟件時,首先用自己的 UKey 用戶名與軟件發行商之間通過 UKey 管理程序實現雙向的身份認證,驗證通過后,用戶就可以下載 UKeyMem 中相應的加密文件到本地硬盤,并通過軟件發行商的公鑰、自己的私鑰進行解密,完成軟件的安裝。
4.2 網站的知識產權保護
對網站的知識產權保護,主要是要防止網站內容的侵權,利用UKey管理程序的應用思路如下:
a)通過UKey內置ECC綜合加密算法對網頁的HTMI源代碼加密,防止其被非法盜用;
b)用ECC綜合加密算法對網頁所有鏈接地址加密,防止離線瀏覽器自動識別超級鏈接而將整個網站內容下載到本地。
參考文獻:
[1]KOBLITZ N. Elliptic curve cryptosystems[J]. Mathematics of Computation, 1987, 48(177): 203209.
[2]BALASUBRAMANIAM P,KARTHIKEYAN E. Fast simultaneous scalar multiplication[J]. Applied Mathematics and Computation, 2007,192(1):399404.
[3]張勇.橢圓曲線密碼及其在電子商務中的應用[D].北京:北京郵電大學,2006.
[4]唐濤.OEF上的快速算法研究及其在ECC上的應用實現[D].成都:電子科技大學,2005.
[5]張慶勝,葉震,周兵斌,等.橢圓曲線加密算法在PKI中的應用[J].計算機工程與設計,2004,25(7):12291231.
[6]楊晉吉,李東明.一種基于多模式加密算法的文件保護方案[J].計算機應用研究,2007,24(6):121122,126.
[7]謝華鋒,謝錦龍,于炳松. 簡明高效的文件加密[J].計算機工程與設計,2005, 26(12):33783382.
[8]鄒敏清.基于USB智能卡的文件加密方法[J].科技廣場,2006(7):3032.
[9]丁要軍,施榮,華符寧.基于USBKEY安全認證的互聯網物配系統[J].計算機工程與應用,2004,40(36):134136.
[10]祁金華.知識產權保護:全周期管理[J].軟件世界,2006(3):91.