移動終端數(shù)字證書電子簽名方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動通信技術(shù)領(lǐng)域,尤其涉及一種移動終端數(shù)字證書電子簽名方法。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)電子商務(wù)的迅猛發(fā)展,形同U盤的USBkey這種硬件數(shù)字證書已經(jīng)在網(wǎng)銀業(yè)務(wù)中得到廣泛應(yīng)用。然而,當(dāng)今更多的電子商務(wù)與交易在向移動互聯(lián)網(wǎng)過度和發(fā)展,在移動終端(手機)中使用數(shù)字證書做電子簽名的需求與日俱增。但是,不同于PC電腦,手機無法插入USBkey也就無法使用硬件數(shù)字證書。在手機中發(fā)放數(shù)字證書并簽名的技術(shù)本身并無難度,問題在于如何有效的保障含有個人身份信息的數(shù)字證書以及用戶私鑰不被泄漏,不能依靠簡單的文件加密形式來處理,需要一種創(chuàng)新的方式來確保申請證書、簽發(fā)證書、保存證書、使用證書的各個環(huán)節(jié)安全。能夠防止黑客木馬竊取證書文件,防止網(wǎng)絡(luò)抓包解析,防止抓屏截獲密碼,防止軟件反編譯獲悉算法的技術(shù)。例如,通常的服務(wù)器驗密都是將用戶密碼經(jīng)過加密后存入在服務(wù)器上,待用戶登錄時解出密碼與用戶本次登錄提交的密碼進行比對,此種做法的不足在于在服務(wù)器上存有用戶密碼,雖然是經(jīng)過加密但歸根結(jié)底還是存在服務(wù)器上,無法避免內(nèi)部技術(shù)人員有機會破解和掌握用戶密碼。
【發(fā)明內(nèi)容】
[0003]為了解決以上問題,本發(fā)明提供了一種不僅能確保申請證書、簽發(fā)證書、保存證書、使用證書的各個環(huán)節(jié)安全,而且能夠防止黑客木馬竊取證書文件,防止網(wǎng)絡(luò)抓包解析,防止抓屏截獲密碼,防止軟件反編譯獲悉算法的移動終端數(shù)字證書電子簽名方法。
[0004]本發(fā)明的具體技術(shù)方案如下:
[0005]上述的移動終端數(shù)字證書電子簽名方法,包括以下步驟:
[0006](1)數(shù)字證書簽發(fā),即用戶在手機中下載安裝移動客戶端簽名工具,用該移動客戶端簽名工具發(fā)起申辦數(shù)字證書的請求,由發(fā)證系統(tǒng)代理受理申請、核驗申請人身份、簽發(fā)數(shù)字證書、向認證機構(gòu)提交報備;移動客戶端進行安全處理私鑰及證書的存儲;
[0007](2)數(shù)字證書簽名,即用戶在網(wǎng)銀或其他電子商務(wù)網(wǎng)站中登錄或簽約或交易確認或其他重要環(huán)節(jié)需要進行電子簽名時,由網(wǎng)站方在頁面中生成二維碼,二維碼中信息為經(jīng)過加密后的待簽信息或交易報文;用戶使用手機中的移動客戶端簽名工具拍照掃碼,即而獲得待簽內(nèi)容或報文到手機,在手機中仔細驗看待簽內(nèi)容無誤后進行簽名確認,簽名后的密文直接發(fā)回網(wǎng)頁;
[0008](3)簽名核驗,即網(wǎng)銀或電子商務(wù)網(wǎng)站將用戶簽名密文提交認證機構(gòu)進行驗簽;然后認證機構(gòu)返回簽名者身份、證書有效性、驗簽結(jié)果貨其他信息;接著網(wǎng)站方根據(jù)認證機構(gòu)返回的驗簽結(jié)果決定其下一步動作,確認簽約或確認交易。
[0009]所述移動終端數(shù)字證書電子簽名方法,其中,所述步驟(1)中的移動客戶端進行安全處理私鑰及證書的存儲具體包括以下步驟:
[0010](1.1)私鑰離散存儲,即對私鑰指數(shù)e和d做自加密時是先將指數(shù)切割,分成8或9段小信息,再分別對分段數(shù)據(jù)進行加密,以實現(xiàn)私鑰加密私鑰;
[0011](1.2)丟棄私鑰,即在客戶端初始化時將公鑰模數(shù)η提交給服務(wù)器做云端保存,而用私鑰加密私鑰指數(shù)e和n,之后丟棄私鑰;
[0012](1.3)云端密碼保存公鑰模數(shù),即公鑰模數(shù)η存放在遠端服務(wù)器上,每次客戶端需要做簽名或其他行為時需要通過KeyPasswd驗證才能從服務(wù)器段取回公鑰模數(shù)n,之后組合n+d還原出公鑰,再逐一解出被切割并分段加密的私鑰指數(shù);在內(nèi)存中將公鑰模數(shù)η、指數(shù)e和d組合并還原成用戶私鑰;使用后釋放內(nèi)存依然將私鑰丟棄回復(fù)原狀態(tài);下次使用需要用戶再次輸入KeyPasswd再次重復(fù)上述運算;
[0013](1.4)申請電子簽名數(shù)字證書,即用戶填寫申請所需的身份要素后,客戶端簽名工具向發(fā)證系統(tǒng)服務(wù)器提交PKCS#10的請求報文;發(fā)證系統(tǒng)通過身份審核后,針對申請人簽發(fā)X509數(shù)字證書;證書以pem后綴文件形式保存在服務(wù)器端,與用戶提交的公鑰一同建檔存庫。
[0014]所述移動終端數(shù)字證書電子簽名方法,其中,所述步驟(2)具體包括以下步驟:
[0015](2.1)本地驗密遠端存取,即將二維碼中信息的加密結(jié)果送去服務(wù)器保存,每次登錄時從服務(wù)器返回被加密的內(nèi)容,在用戶終端中進行解密;解密后將明文結(jié)果送回服務(wù)器,服務(wù)器與預(yù)留的明文信息做比對,吻合則表明用戶輸入的密碼正確;
[0016](2.2)客戶端與服務(wù)器會話,即移動終端客戶端預(yù)植服務(wù)器公鑰,每次通訊時先與服務(wù)器握手交換臨時密鑰對,確保每次通訊都使用新產(chǎn)生的密鑰對;由移動終端客戶端產(chǎn)生一對臨時回話密鑰對,將客戶端臨時密鑰對的公鑰做DES加密,DES密碼再用預(yù)植的服務(wù)器公鑰加密,發(fā)送至服務(wù)器請求交換密鑰;服務(wù)器收到握手后,先使用服務(wù)器私鑰解出DES密碼;隨后產(chǎn)生一對臨時回話密鑰,將新產(chǎn)生的服務(wù)器端臨時回話密鑰的公鑰做DES加密,使用移動終端客戶端臨時會話公鑰對DES密碼進行加密,回傳給移動終端客戶端;至此,完成本次客戶端與服務(wù)器之間會話的握手環(huán)節(jié),即雙方交換了各自臨時產(chǎn)生的會話密鑰的公鑰,隨機,雙方使用臨時會話密鑰進行交互;
[0017](2.3)掃碼及簽名回送,即移動終端客戶端掃碼后解密出帶簽名的原始信息,經(jīng)用戶查看確認無誤后用戶輸入KeyPassword進行簽名;簽名后的簽名密文再經(jīng)過DES加密,并用網(wǎng)站公鑰對DES密碼進行加密,一并送回至二維碼中攜帶的回送網(wǎng)站;網(wǎng)站收到后使用網(wǎng)站私鑰解密還原出簽名密文,再將簽名密文送至認證機構(gòu)進行驗簽,并從認證機構(gòu)獲得相關(guān)確認信息。
[0018]所述移動終端數(shù)字證書電子簽名方法,其中:所述步驟(2.3)中從認證機構(gòu)獲得的確認信息包括簽名者身份確認信息、證書有效性確認信息、簽名內(nèi)容驗證確認信息、哈稀比對確認信息及其他確認信息。
[0019]所述移動終端數(shù)字證書電子簽名方法,其中:所述發(fā)證系統(tǒng)負責(zé)的功能包括受理、審核、發(fā)證、掛失、吊銷及其他功能。
[0020]所述移動終端數(shù)字證書電子簽名方法,其中,所述電子簽名方法在實際應(yīng)用環(huán)境中,網(wǎng)銀或電子商務(wù)網(wǎng)站可將需要用戶簽名的內(nèi)容進行加密生成二維碼顯示在網(wǎng)頁中;除待簽內(nèi)容信息外,二維碼中還包括一些要素信息如網(wǎng)站名稱、網(wǎng)站代碼、簽名回送網(wǎng)址URL、端口號、網(wǎng)站公鑰及其他要素信息;二維碼中的密文長度控制在700byte左右。
[0021]有益效果:
[0022]本發(fā)明移動終端數(shù)字證書電子簽名方法構(gòu)思巧妙、合理,其充分利用非對稱密鑰的特點,在客戶端初始化時將公鑰模數(shù)(η)提交給服務(wù)器做云端保存,而用私鑰加密私鑰指數(shù)(e)和(η),之后丟棄私鑰;存在移動終端上的密文就只能用公鑰來解開,而公鑰模數(shù)(η)又不在本地保存,因而相比于一般的對稱密碼文件加密更加安全可靠;同時,將公鑰通過網(wǎng)絡(luò)提交給服務(wù)器進行妥善保存,而在移動終端客戶端本地卻沒有直接存儲私鑰,而是用私鑰對e和d進行了加密,而后丟棄私鑰本身,被加密的實際上又只是不完整的密鑰結(jié)構(gòu)其中的一部分,因為屬于不完整信息缺少模數(shù)(η),因而可絕對避免黑客木馬等盜取密鑰文件進行字典攻擊暴力破解,起到了安全存儲私鑰的作用,該部分技術(shù)理念顛覆了傳統(tǒng)的非對稱密鑰私鑰存儲方式,并非簡單的通過加密文件保存私鑰。
[0023]本發(fā)明還具有以下優(yōu)點:
[0024](1)本發(fā)明通過私鑰自加密后丟棄私鑰,能有效避免本地存儲私鑰以及數(shù)字證書遭惡意破解;
[0025](2)本發(fā)明通過遠端存取本地驗密,能有效避免服務(wù)器端存儲用戶密碼,防止內(nèi)部技術(shù)人員作弊;
[0026](3)本發(fā)明能有效解決非對稱密鑰不能加密信息量過大內(nèi)容的問題;
[0027](4)本發(fā)明采用每次通訊一更換密鑰對的策略,一方面是可以避免網(wǎng)絡(luò)抓包破譯并篡改內(nèi)容信息,另一方面是可有效避免重放攻擊。
【附圖說明】
[0028]圖1為本發(fā)明移動終端數(shù)字證書電子簽名方法在網(wǎng)銀登陸和交易簽名中的應(yīng)用流程圖。
【具體實施方式】
[0029]本發(fā)明移動終端數(shù)字證書電子簽名方法,其包括以下步驟:
[0030]
[0031]S010、數(shù)字證書簽發(fā)
[0032]即用戶在手機中下載安裝移動客戶端簽名工具,用該移動客戶端簽名工具發(fā)起申辦數(shù)字證書的請求,由發(fā)證系統(tǒng)(RA)代理受理申請、核驗申請人身份、簽發(fā)數(shù)字證書、向認證機構(gòu)(CA)提交報備;移動客戶端進行安全處理私鑰及證書的存儲;
[0033]其中,移動客戶端進行安全處理私鑰及證書的存儲具體包括以下步驟:
[0034]S011、私鑰離散存儲
[0035]對私鑰指數(shù)(e)和(d)做自加密時是先將指數(shù)切割,分成8或9段小信息,再分別對分段數(shù)據(jù)進行加密,以實現(xiàn)私鑰加密私鑰;
[0036]S012、丟棄私鑰
[0037]在客戶端初始化時將公鑰模數(shù)(η)提交給服務(wù)器做云端保存,而用私鑰加密私鑰指數(shù)(e)和(η),之后丟棄私鑰;
[0038]S013、云端密碼保存公鑰模數(shù)
[0039]即公鑰模數(shù)(η)存放在遠端服務(wù)器上,每次客戶端需要做簽名等行為時需要通過KeyPasswd驗證才能從服務(wù)器段取回公鑰模數(shù)(η),之后組合n+d還原出公鑰,再逐一解出被切割并分段加密的私鑰指數(shù);在內(nèi)存中將公鑰模數(shù)(η)指數(shù)(e)和(d)組合并還原成用戶私鑰;使用后釋放內(nèi)存依然將私鑰丟棄回復(fù)原狀態(tài);下次使用需要用戶再次輸入KeyPasswd再次重復(fù)上述運算;
[0040]S014、申請電子簽名數(shù)字證書
[0041]即用戶填寫申請所需的身份要素后,客戶端簽名工具向發(fā)證系統(tǒng)(RA)服務(wù)器提交PKCS#10的請求報文;發(fā)證系統(tǒng)(RA)通過身份審核后,針對申請人簽發(fā)X509數(shù)字證書;證書以pem后綴文件形式保存在服務(wù)器端,與用戶