郁建
【摘 要】該文首先介紹了國內SM2算法升級背景情況,接著介紹了升級SM2算法方法與思路,重點闡述了構建SM2算法的CA系統(tǒng)架構設計,提出了應用系統(tǒng)如何使用SM2算法,并對現(xiàn)有CA系統(tǒng)改造支持SM2算法的系統(tǒng)關鍵技術進行了分析,最后總結對ECC算法的實際推廣應用起到了促進作用。
【關鍵詞】SM2算法,RSA算法、KM系統(tǒng)、CA系統(tǒng)
【中圖分類號】[TN918] 【文獻標識碼】A 【文章編號】1672-5158(2013)03-0167-01
1 引言
隨著全球范圍內密碼技術的發(fā)展和計算能力的提升,現(xiàn)有的基于RSA1024的密碼體系已不能滿足當前和今后應用的安全需求。根據(jù)世界著名研究機構的報告,1024 bits RSA密鑰只應使用至2010年,2048 bits RSA密鑰只應使用至2030年、3072 bits RSA密鑰可使用至2030年之后,從長遠來看,RSA公鑰密碼算法將被淘汰已是大勢所趨。為此國家對于電子認證領域技術的標準化、規(guī)范化,也不斷提出新的要求。國家密碼管理局為滿足電子認證服務系統(tǒng)等應用需求,公開發(fā)布了SM2橢圓曲線公鑰密碼算法,并于2010年12月發(fā)布了SM2橢圓曲線公鑰密碼算法,并要求為對現(xiàn)有基于RSA算法的電子認證系統(tǒng)、密鑰管理系統(tǒng)、應用系統(tǒng)進行升級改造[2][3]。
為實現(xiàn)CA系統(tǒng)升級后支持SM2國密算法這一最主要要求,同時又能保證CA數(shù)字證書服務提供的連續(xù)性,本文研究通過建設新的同時支持RSA與SM2算法的CA系統(tǒng),來實現(xiàn)原有業(yè)務的平滑過渡,同時滿足SM2國密算法支持的政策要求。
橢圓曲線密碼學(Elliptic curve cryptography,簡稱ECC)是基于橢圓曲線數(shù)學的一種公鑰密碼的方法是我國自主知識產權的SM2橢圓曲線密碼算法即是ECC算法的一種。我國已經(jīng)制定了具有自主知識產權的ECC國家標準算法(即SM2算法)。ECC算法比RSA算法在安全性和加解密速率方面具有顯著的優(yōu)勢,160位ECC算法的安全性與1024位RSA的算法相當,而210位ECC算法的安全性則與2048位RSA的算法相當[4]。
2 研究思路
升級改造的方法是在現(xiàn)有的僅支持RSA公鑰密碼算法的PKI系統(tǒng)上進行改造,改造后的系統(tǒng)支持SM2、1024位RSA、2048位RSA算法。改造升級過程中,贏充分利用現(xiàn)有的資源,如現(xiàn)有的機房環(huán)境、網(wǎng)絡設備,以及現(xiàn)有的安全管理制度、安全運行人員等[3][5]。
改造的支持雙算法的CA系統(tǒng)包含CA系統(tǒng)、KMC系統(tǒng)、RA系統(tǒng)、OCSP系統(tǒng)及新的同時支持RSA、SM2兩種算法的加密機。改造的雙算法CA系統(tǒng)與原CA系統(tǒng)共用同一套目錄服務系統(tǒng)實現(xiàn)數(shù)字證書與黑名單發(fā)布。改造完成后,原有CA系統(tǒng)的RSA證書數(shù)據(jù)都可以遷移到新的CA系統(tǒng)中,在確認數(shù)據(jù)使用正常后,可廢除原老版本CA系統(tǒng),由改造后的雙算法CA系統(tǒng)獨立承擔為用戶提供數(shù)字證書服務。
3 基于SM2系統(tǒng)架構研究
SM2系統(tǒng)的證書權威系統(tǒng)(CA系統(tǒng))分為根CA、下級CA兩部分,根CA為離線系統(tǒng),用于簽發(fā)自簽名CA及管理下級CA。下級CA 采用在線服務方式,可以為一個或多個RA同時提供證書服務。CA系統(tǒng)的密鑰對從硬件加密機獲取,證書簽名操作在加密機內完成,存放于加密機的密鑰對不可導出,從而保證最高級別的系統(tǒng)安全。CA系統(tǒng)采用J2EE架構,使用C/S模式進行系統(tǒng)管理,提供CA證書簽發(fā)、CA證書更新、CA證書吊銷、CA策略管理、證書模板管理、CRL策略管理、RA管理等功能。使用TCP協(xié)議提供證書對外服務,可以支持證書簽發(fā)、證書更新、證書恢復、證書吊銷等證書功能。CA系統(tǒng)和RA系統(tǒng)間使用安全通訊協(xié)議保證證書服務的安全,安全通訊協(xié)議采用國家密碼管理局批準使用的對稱算法。由于CA系統(tǒng)可以同時為多個RA提供服務,CA系統(tǒng)支持RA接入管理功能,CA系統(tǒng)通過RA部署碼的方式為RA系統(tǒng)的接入提供授權。CA系統(tǒng)通過支持多個加密機配置的方式來實現(xiàn)多種密鑰的證書服務,可以對管理根、RSA、SM2、安全通訊協(xié)議模塊分別配置加密機[6],SM2系統(tǒng)的非對稱密鑰管理系統(tǒng)(KM系統(tǒng))采用在線服務的方式為一個或者多個CA中心同時提供密鑰服務,通過專線保證相互之間的信息傳輸安全。
SM2系統(tǒng)的整體架構設計圖如下所示:
4 基于SM2應用系統(tǒng)改造方法
SM2算法升級改造的過程中,需對如何應用SM2公鑰密碼算法進行了認真研究,主要從幾個方面入手,具體如下:
1)開發(fā)了基于國密接口的數(shù)字證書客戶端簽名控件。
2)修改簽名驗證服務軟件,使之能夠同時支持SM2算法以及多個PKI系統(tǒng)。
3)逐步對數(shù)字證書用戶進行算法遷移。
4)支持SM2算法的認證中間件。
5)對應用接口不變。
5 關鍵技術
(一)基于SM2算法的SM2密鑰簽名及驗簽技術
1、SM2簽名控件
目前常用的WEB頁面簽名組件是capicom控件,但capicom控件不支持SM2密鑰,因此需要開發(fā)新的基于SM2密鑰的簽名組件。SM2簽名組件使用ActiveX技術開發(fā),通過PKCS#11接口和SM2密鑰介質交互,簽名數(shù)據(jù)采用PKCS#7格式,和capicom控件保持一致。系統(tǒng)根據(jù)密鑰介質的類型可以自動調用capicom控件或SM2簽名控件進行業(yè)務簽名,保證RSA、SM2兩類證書的良好兼容。
2、SM2簽名驗簽
和RSA密鑰或NIST推薦曲線SM2密鑰不同,由于基于SM2算法的SM2密鑰沒有公開曲線的G點,所以無法使用軟算法進行數(shù)字簽名驗證運算,必須在硬件加密機里進行。此次本系統(tǒng)可專門為SM2加密設備開發(fā)一套密鑰對外服務系統(tǒng),通過對外服務系統(tǒng)為RA、CA、KM提供基于SM2算法的簽名驗證。
(二)基于SM2密鑰的TLS技術
基于SSL協(xié)議的HTTPS通常用于保護WEB應用的數(shù)據(jù)安全,但當前瀏覽器使用的HTTPS只能支持RSA密鑰證書(有些瀏覽器支持SM2密鑰證書,但不支持國標曲線SM2證書),因此需要對SSL協(xié)議進行改造,使其支持國標SM2算法SM2證書,即SM2TLS協(xié)議?;赟M2TLS協(xié)議的安全套件包括服務端、客戶端二部分,采用C/S架構,客戶端瀏覽器以透明代理的方式通過SM2TLS客戶端和服務端進行安全通訊[5]。
6 結論
在現(xiàn)有CA認證系統(tǒng)基礎上,研究重新建設一套支持RSA與SM2雙算法的CA系統(tǒng),在平滑接管原有證書業(yè)務的同時,實現(xiàn)滿足國密局對SM2算法支持的規(guī)范性要求。提供了支持SM2算法的標準應用控件API,根據(jù)業(yè)務需要,可同時支持RSA算法和SM2算法,實現(xiàn)對用戶透明的SM2算法升級。ECC算法,提高了原有的加密速率,增強了系統(tǒng)安全級別[3],研究的方法對ECC算法的實際推廣應用起到了促進作用。對基于密碼產業(yè)的應用研發(fā)起到了良好的指導作用。
參考文獻:
[1]孫躍剛. 橢圓曲線密碼體制中若干問題的研究[D]. 吉林大學2009.
[2]李學俊. 基于橢圓曲線離散對數(shù)問題的公鑰密碼及其算法研究[D].
[3]王邦禮.IPsec隧道終點發(fā)現(xiàn)技術研究.信息安全與通信保密,2010(4
[4]秦工 鄒麗.ECC安全性能分析[J].開發(fā)研究與設計技術.2007:474-477