一種種子密鑰安全傳輸的方法
【專利摘要】本發(fā)明公開了一種種子密鑰安全傳輸的方法,屬于信息安全領域。所述方法包括:認證服務器根據觸發(fā)信息生成公私鑰數據,將私鑰數據保存,將公鑰數據生成公鑰文件并發(fā)送給種子生成系統(tǒng),種子生成系統(tǒng)根據接收到的令牌號查找種子密鑰,生成明文種子文件數據,生成隨機數,根據公鑰數據、明文種子文件數據和隨機數生成處理數據,并發(fā)送給認證服務器,認證服務器根據處理數據得到第一數據、第二數據和第三數據,獲取私鑰數據,根據第一數據、第二數據計算得到第二摘要值,當第二摘要值與第三數據相同時,獲取并保存第二解密數據的令牌號和種子密鑰至數據庫中,種子密鑰傳輸成功。采用本發(fā)明的方案,保證了種子密鑰在傳輸過程中的安全性。
【專利說明】一種種子密鑰安全傳輸的方法
【技術領域】
[0001]本發(fā)明涉及信息安全領域,尤其涉及一種種子密鑰安全傳輸的方法。
【背景技術】
[0002]動態(tài)令牌是用來生成動態(tài)口令的終端,動態(tài)口令是根據專門算法對內置的種子密鑰等進行計算,生成的一個不可預測的隨機數組合,采用動態(tài)口令的認證方式就是每次在用戶登錄時除了輸入常規(guī)的靜態(tài)口令外,還需要輸入一個每次都會變化的動態(tài)口令,保證了用戶登錄的安全性。
[0003]種子密鑰是動態(tài)令牌的核心,是由種子生成系統(tǒng)生成后,傳輸并導入認證服務器中,現有技術無法保證種子密鑰在傳輸過程中的安全性,因此種子密鑰傳輸的安全性是亟待解決的問題。
【發(fā)明內容】
[0004]本發(fā)明為解決現有技術中存在的問題,提供了一種種子密鑰安全傳輸的方法。
[0005]本發(fā)明采用的技術方案是:一種種子密鑰安全傳輸的方法,應用于種子生成系統(tǒng)和認證服務器組成的系統(tǒng)中,包括以下步驟:
[0006]步驟Al:認證服務器根據接收到的觸發(fā)信息,生成公鑰數據和私鑰數據,將所述私鑰數據保存,并根據所述公鑰數據生成公鑰文件,并將所述公鑰文件發(fā)送給種子生成系統(tǒng);
[0007]步驟A2:所述種子生成系統(tǒng)根據接收到的用戶選擇的令牌號,查找對應的種子密鑰,根據所述令牌號和所述種子密鑰生成明文種子文件,從所述明文種子文件中獲取明文種子文件數據;調用隨機數生成函數,生成隨機數;從所述公鑰文件中獲取所述公鑰數據;
[0008]步驟A3:所述種子生成系統(tǒng)應用所述公鑰數據,對所述隨機數進行加密,得到密文隨機數;根據所述隨機數對所述明文種子文件數據進行加密,得到密文種子數據;對所述明文種子文件數據進行摘要計算,得到第一摘要值;
[0009]步驟A4:所述種子生成系統(tǒng)根據所述密文隨機數、所述密文種子文件數據和所述第一摘要值,生成處理數據,并將所述處理數據發(fā)送給所述認證服務器;
[0010]步驟A5:所述認證服務器根據接收到的所述處理數據,得到第一數據、第二數據和第三數據;
[0011]步驟A6:所述認證服務器獲取保存的所述私鑰數據,使用所述私鑰數據對所述第一數據進行解密,得到第一解密數據;
[0012]步驟A7:所述認證服務器根據所述第一解密數據對所述第二數據進行解密,得到第二解密數據,對所述第二解密數據進行摘要計算,生成第二摘要值;
[0013]步驟AS:所述認證服務器判斷所述第三數據與所述第二摘要值是否相同,如果是,則執(zhí)行步驟A9,否則報錯,結束;
[0014]步驟A9:所述認證服務器解析所述第二解密數據,獲取所述第二解密數據中的令牌號和對應的種子密鑰,并保存至數據庫中,種子密鑰傳輸成功,結束。
[0015]所述步驟Al中,所述根據接收到的觸發(fā)信息,生成公鑰數據和私鑰數據,具體包括:認證服務器等待接收用戶選擇種子生成系統(tǒng)標識,當接收到用戶選擇的種子生成系統(tǒng)標識后,從預先保存的多條種子生成系統(tǒng)記錄中獲取對應的種子生成系統(tǒng)信息,根據所述種子生成系統(tǒng)信息,生成公鑰數據和私鑰數據。
[0016]所述根據所述種子生成系統(tǒng)信息,生成公鑰數據和私鑰數據,具體為:
[0017]步驟al:所述認證服務器根據所述種子生成系統(tǒng)信息中的種子生成系統(tǒng)標識,生成密碼;
[0018]步驟a2:所述認證服務器根據所述種子生成系統(tǒng)信息和密碼,生成公私鑰數據存儲文件;
[0019]步驟a3:所述認證服務器從公私鑰數據存儲文件中獲取私鑰對象,對所述私鑰對象進行編碼生成私鑰數據;
[0020]步驟a4:所述認證服務器解析所述公私鑰數據存儲文件中獲取公鑰數據。
[0021]所述步驟al,具體為:所述認證服務器將所述種子生成系統(tǒng)信息中的種子生成系統(tǒng)標識作為加密因子,應用預設加密算法對所述加密因子進行加密,生成密碼。
[0022]所述步驟a2,具體為:所述認證服務器調用cmd命令,將所述種子生成系統(tǒng)信息中的種子生成系統(tǒng)標識和種子生成系統(tǒng)名稱、過期時間、域名和密碼寫入公私鑰數據存儲文件中,生成公私鑰數據存儲文件。
[0023]所述步驟Al中,所述根據所述公鑰數據生成公鑰文件,具體為:將所述公鑰數據按照預設格式寫入公鑰文件中。
[0024]所述步驟A2中,所述根據接收到的用戶選擇的令牌號,查找對應的種子密鑰,具體為:所述種子生成系統(tǒng)預先生成多條包括令牌號和對應種子密鑰的令牌數據,根據需要選擇的令牌號,從所述令牌數據中獲取與所述令牌號對應的種子密鑰。
[0025]所述步驟A2中,所述從所述公鑰文件中獲取公鑰數據,具體包括:所述種子生成系統(tǒng)從所述公鑰文件中獲取公鑰數據,判斷是否能夠獲取到所述公鑰數據,如果是,則執(zhí)行步驟A3,否則報錯,結束。
[0026]所述步驟A3中,所述對所述隨機數進行加密,得到密文隨機數,具體為:對所述隨機數進行加密,得到第二預設長度的密文隨機數;
[0027]所述步驟A3中,所述對所述明文種子文件數據進行摘要計算,得到第一摘要值,具體為:對所述明文種子文件數據進行摘要計算,得到第三預設長度的第一摘要值;
[0028]對應的,所述步驟A4中,所述根據所述密文隨機數、所述密文種子文件數據和所述第一摘要值,生成所述處理數據,具體為:將第二預設長度的所述密文隨機數、所述密文種子文件數據和第三預設長度的所述第一摘要值進行順序拼接,得到所述處理數據;
[0029]對應的,所述步驟A5中,所述根據接收到的所述處理數據,得到第一數據、第二數據和第三數據,具體為:將所述處理數據的前第二預設長度的數據作為第一數據,將所述處理數據的后第三預設長度的數據作為第三數據,將所述處理數據中除第一數據和第三數據外的數據作為第二數據。
[0030]所述步驟A5之前還包括:所述認證服務器判斷接收到的所述處理數據的長度是否不為空且大于第二預設長度與第三預設長度之和,如果是,則執(zhí)行步驟A5,否則報錯,結束。
[0031]所述步驟A4中,所述將所述處理數據發(fā)送給所述認證服務器,具體為:所述種子生成系統(tǒng)將所述處理數據提供給使用所述認證服務器的用戶,當用戶接收到所述處理數據后,通過訪問所述認證服務器頁面,將所述處理數據上傳導入到所述認證服務器中。
[0032]所述步驟A2中,所述調用隨機數生成函數,生成隨機數,具體為:調用隨機數生成函數,生成第一預設長度的隨機數;
[0033]對應的,所述步驟A3,還包括:所述認證服務器判斷所述第一解密數據的長度是否為所述第一預設長度,如果是,則執(zhí)行步驟A4,否則報錯,結束。
[0034]本發(fā)明取得的有益效果是:采用本發(fā)明的技術方案,保證了種子密鑰在傳輸過程中的安全性。
【專利附圖】
【附圖說明】
[0035]為了更清楚的說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0036]圖1是本發(fā)明實施例1提供的一種種子密鑰安全傳輸的方法流程圖;
[0037]圖2和圖3是本發(fā)明實施例2提供的一種種子密鑰安全傳輸的方法流程圖;
[0038]圖4是本發(fā)明實施例3提供的一種種子密鑰安全傳輸的系統(tǒng)中認證服務器的工作流程圖;
[0039]圖5是本發(fā)明實施例4提供的一種種子密鑰安全傳輸的系統(tǒng)中種子生成系統(tǒng)的工作流程圖。
【具體實施方式】
[0040]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0041]實施例1
[0042]本發(fā)明實施例1提供了一種種子密鑰安全傳輸的方法,如圖1所示,包括:該方法應用于令牌認證服務器(以下簡稱認證服務器)和種子生成系統(tǒng)組成的系統(tǒng)中;
[0043]步驟101:認證服務器根據接收到的觸發(fā)信息,生成公鑰數據和私鑰數據,將所述私鑰數據保存,并根據所述公鑰數據生成公鑰文件;
[0044]步驟102:認證服務器將所述公鑰文件發(fā)送給種子生成系統(tǒng);
[0045]步驟103:所述種子生成系統(tǒng)根據接收到的用戶選擇的令牌號,查找對應的種子密鑰,根據所述令牌號和所述種子密鑰生成明文種子文件,從所述明文種子文件中獲取明文種子文件數據;調用隨機數生成函數,生成隨機數;從所述公鑰文件中獲取所述公鑰數據;
[0046]步驟104:所述種子生成系統(tǒng)應用所述公鑰數據,對所述隨機數進行加密,得到密文隨機數;根據所述隨機數對所述明文種子文件數據進行加密,得到密文種子數據;對所述明文種子文件數據進行摘要計算,得到第一摘要值;
[0047]步驟105:所述種子生成系統(tǒng)根據所述密文隨機數、所述密文種子文件數據和所述第一摘要值,生成處理數據;
[0048]步驟106:所述種子生成系統(tǒng)將所述處理數據發(fā)送給所述認證服務器;
[0049]步驟107:所述認證服務器根據接收到的所述處理數據,得到第一數據、第二數據和第三數據;
[0050]步驟108:所述認證服務器獲取保存的所述私鑰數據,使用所述私鑰數據對所述第一數據進行解密,得到第一解密數據;
[0051]步驟109:所述認證服務器根據所述第一解密數據對所述第二數據進行解密,得到第二解密數據,對所述第二解密數據進行摘要計算,生成第二摘要值;
[0052]步驟110:所述認證服務器判斷所述第三數據與所述第二摘要值是否相同,如果是,則執(zhí)行步驟111,否則報錯,結束;
[0053]步驟111:所述認證服務器解析所述第二解密數據,獲取所述第二解密數據中的令牌號和對應的種子密鑰,并保存至數據庫中,種子密鑰傳輸成功,結束。
[0054]實施例2
[0055]本發(fā)明實施例2提供了一種種子密鑰安全傳輸的方法,如圖2和圖3所示,包括:該方法應用于令牌認證服務器(以下簡稱認證服務器)和種子生成系統(tǒng)組成的系統(tǒng)中;
[0056]步驟201:認證服務器根據接收到的觸發(fā)信息,生成公鑰數據和私鑰數據,將私鑰數據保存在預設存儲區(qū)中;
[0057]本實施例中,所述根據接收到的觸發(fā)信息,生成公鑰數據和私鑰數據,具體為:認證服務器等待接收用戶對種子生成系統(tǒng)標識的選擇,當接收到用戶選擇的種子生成系統(tǒng)標識后,從預先保存的多條種子生成系統(tǒng)記錄中獲取對應的種子生成系統(tǒng)信息,根據所述種子生成系統(tǒng)信息,生成公鑰數據和私鑰數據;
[0058]其中,所述預先保存的多條種子系統(tǒng)記錄,具體包括:種子生成系統(tǒng)標識和種子生成系統(tǒng)名稱;例如,種子生成系統(tǒng)的信息包括:種子生成系統(tǒng)標識(1001)和種子生成系統(tǒng)的名稱(AB⑶);
[0059]進一步的,所述根據所述種子生成系統(tǒng)信息,生成公鑰數據和私鑰數據,具體為:
[0060]步驟al:認證服務器根據種子生成系統(tǒng)的信息中的種子生成系統(tǒng)標識,生成密碼;
[0061]具體為:認證服務器將種子生成系統(tǒng)標識作為加密因子,應用預設加密算法對加密因子進行加密,生成密碼,優(yōu)選的,預設加密算法RC4算法;
[0062]例如,認證服務器應用預設加密算法對加密因子,即種子生成系統(tǒng)標識1001進行加密,生成的密碼為A77E71⑶;
[0063]步驟a2:認證服務器根據種子生成系統(tǒng)的信息和密碼,生成公私鑰數據存儲文件;
[0064]具體為:認證服務器調用cmd 命令 Runtime rt=Runtime.getRuntime() ; Processprocess=rt.exec (keytool-genkey-validity3650-aliaslOOl-keyalg RSA-keystoreD:/1001.keystore-keysizel024-dname//CN=ABCD, OU=ABCD, O=ABCD, L=BJ, ST=BJ, C=CN"-storepass A77E7lCD-keypass A77E71CD) ;process, destroy ();將種子生成系統(tǒng)標識(1001)、種子生成系統(tǒng)名稱(ABCD)、過期時間(默認3650天)、域名(CN=ABCD, OU=ABCD, O=AB⑶,L=BJ, ST=BJ, C=CN)和密碼(A77E71⑶)寫入公私鑰數據存儲文件中,即生成公私鑰數據存儲文件;
[0065]步驟a3:認證服務器從公私鑰數據存儲文件中獲取私鑰對象,對所述私鑰對象進行編碼生成私鑰數據;
[0066]優(yōu)選的,認證服務器對所述私鑰對象采用BASE64編碼方式進行編碼,生成私鑰數據;
[0067]例如,本實施例中,生成的私鑰數據為:MIICdgIBADANBgkqhkiG9wOBAQEFAASCAmAwggJcAgEAAoGBALD29cy/aBEI4B71MXmyMxSHlvffcJwP2R3oF6BEG/59trH10S7YoxD2OOLN1......HupIAbYmA+f+vSIzC9LMlycLHwp8VYN0T f80BVfbYAlLoGlrIYLHQ==;
[0068]步驟a4:認證服務器解析公私鑰數據存儲文件,從公私鑰存儲文件中獲取公鑰數據;
[0069]例如,本實施例中,生成的公鑰數據為:MIICdgIBADANBgkqhkiG9wOBAQEFAASCAmAwggJcAgEAAoGBALD29cy/aBEI4B71MXmyMxSHlvffcJwP2R3oF6BEG/59trH10S7YoxD2OOLN1......HuplAbYmA+f+vSlzC9LMlycLHwp8VYN0T f80BVfbYAlLoGlrIYLHQ==;
[0070]步驟202:認證 服務器將公鑰數據按照預設格式寫入到公鑰文件中;
[0071]例如,本實施例中,公鑰文件為:
[0072]BEGIN CERTIFICATE-----
[0073]MIICdgIBADANBgkqhkiG9wOBAQ
[0074]EFAASCAmAwggJcAgEAAoGBALD29cy/aBEI4B71MXmyMxSHlvffcJwP2R3oF6BEG/59trHl0S7YoxD200LN1......HuplAbYmA+f+vSlzC9LMlycLHwp8VYN0T f80BVfbYAlLoGlrIYLHQ==
[0075]-----END CERTIFICATE-----
[0076]步驟203:認證服務器將公鑰文件發(fā)送給種子生成系統(tǒng);
[0077]其中,本實施例中,認證服務器將公鑰文件通過郵件或刻盤等的形式發(fā)送給種子生成系統(tǒng);
[0078]步驟204:種子生成系統(tǒng)根據接收到的用戶選擇的令牌號,查找對應的種子密鑰,根據令牌號和種子密鑰生成明文種子文件,從明文種子文件中獲取明文種子文件數據;
[0079]其中,種子生成系統(tǒng)預先生成多條令牌數據,包括令牌號和對應的種子密鑰,當訪問種子生成系統(tǒng)時,根據需要選擇的令牌號,從令牌數據中查找與令牌號對應的種子密鑰,根據種子密鑰生成明文種子文件,當種子生成系統(tǒng)接收到用戶點擊導出種子文件按鈕時,將明文種子文件導出;
[0080]例如,導出的明文種子文件數據為:
[0081]<?xml version="l.0"encoding="UTF_8"?>
[0082]〈TokenXml〉
[0083]<TokenHeader>
[0084]<Version>5.0</Version>
[0085]<0rigin>FT</0rigin>
[0086]<TokenType>0</TokenType>[0087]<FirstToken>3000000003197</FirstToken>
[0088]<LastToken>3000000003198</LastToken>
[0089]<TokenNum>2</TokenNum>
[0090]<TokenBirth>2014-02-2115:54:53</TokenBirth>
[0091]<TokenDeath>2019-02-2115:54:01</TokenDeath>
[0092]<MacKey>1622D3388D13B3FE40DC34B22728E89BBEDEE125</MacKey>
[0093]</TokenHeader>
[0094]<TokenList>
[0095]〈Token〉
[0096]〈SN>3000000003197〈/SN>〈Seed>gQA匪zAwMDAwMDAwMzE5NyDYnLmKdPHSrcqQH23QcoI6Vw wB/k6TmHr/akhcYGonf8SyAkZUAA0GQgAAAAAAPAAAAAAAAAAAAABTBwZNXG5ZGf///////wEBAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEgAAA AoAAAAEk9UUClTTTMtNjpRTjA2LVQxTRJPVFAtU00zLTY6UU42NClUMU00TlRQLVNNMy0201FOM DYAAAAAAAAAAAAAAAAKvc=</SeedXMacKey>E72EFAC244EB6CA62E4B19D942IEII50FD2EE361</MacKey>
[0097]〈/Token〉
[0098]〈Token〉
[0099]<SN>3000000003198</SNXSeed>gQANMzAwMDAwMDAwMzE50CCsG6HMN8RjqGSgY+WP+7Y904+I8qJ/dIT9PbM8RP⑶lllvAkZUAA0GQgAAAAAAPAAAAAAAAAAAAABTBwZNXG5ZGf////7/7wEBA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEgAA AAoAAAAEk9UUClTTTMtNjpRTjA2LVQxTRJPVFAtU00zLTY6UU42NClUMU00TlRQLV順My0201F0MDYAAAAAAAAAAAAAAAA0e4=</SeedXMacKey>CE88684EBFE2688417B281A9E07C9F5A0322B06C</MacKey>
[0100]〈/Token〉
[0101]</TokenList>
[0102]<TokenXmlMacXMacKey>9A7F714405AEDB62DlB87D59B99C2492ClE97C25</MacKey〉
[0103]〈/TokenXmlMac〉
[0104]〈/TokenXml〉
[0105]步驟205:種子生成系統(tǒng)調用隨機數生成函數,生成第一預設長度的隨機數;
[0106]優(yōu)選的,第一預設長度為16字節(jié);
[0107]例如,隨機生成的第一預設長度的隨機數為:_13,41,53,76,7,-114,-80, -104,-8
O,-10,O, -85,58,-10,37,-127 ;
[0108]步驟206:種子生成系統(tǒng)從所述公鑰文件中獲取公鑰數據,判斷是否能夠獲取到公鑰數據,如果是,則執(zhí)行步驟207,否則報錯,結束;
[0109]例如,本實施例中,從所述公鑰文件中獲取到的公鑰數據為:48,-127,-97,48,13,6,9,42,-122,72,-122,-9,13,I, I, I, 5,O, 3,-127,-115,O, 48,-127,-119,2,-127,-127,O,-80,-10,-11,-52,-65,104,17,8,-32,30,-11,49,121,-78,51,20,-121,-106,-11,-100,39,3,-10,71,122,5,-24,17,6,-1, -97,109,-84,121,78,75,-74,40,-60,61,-76,56,-77,98,82,113,74,-79,119,17,-113,91,-84,7,-81,-49,98,-37,39,89,-89,40,-21,-91,-38,-94,-110, 98,-70,-94,-57,-27,-62,-85,53,-109, -111, 24,-100, -62,10,-96,-79,-49,-28,67,47,-10,90,-13,38,-58,63,-102,61,-31,111, -83,45,I, 24,56,42,-30,-109,-21,-22,118,79,-98,114,-39,72,18,89,-108,-24,76,23,32,55,-27,-39,101,-12,83,-80,I05,2,3,I, 0, I ;
[0110]本實施例中,步驟204、205和206執(zhí)行順序可以互相調換;
[0111]步驟207:種子生成系統(tǒng)使用公鑰數據,對隨機數進行加密,得到第二預設長度的密文隨機數;
[0112]優(yōu)選的,種子生成系統(tǒng)使用公鑰數據,采用RSA_PKCS1_PADDING填充方式,對隨機數進行加密,得到第二預設長度的密文隨機數,其中,第二預設長度優(yōu)選為128字節(jié);
[0113]例如,生成的預設長度的密文隨機數為=109,-49,-122, I, 110,2,103,85, 56,-14,123,74,64,19,-115,10,11,83,5,29,28,-10,56,-7,39,61,50,-117,-33,-121,-13,-86,I27,-8,-51,-94,125,-91,102,20,56,-89,112,111,41,-34,116,-48,-92,12,-105,74,-122,-10,97,-94,-88,-120,123,63,-82,48,-30,26,81,-59,53,-60,88,80,96,64,101,-109,87,-126,-99,68,-54,O, 62,-100,-107,-116,-123,-81,-99,-92,-52,-76,20,42,-60,-9,66,-79,-29,22,121,-78,-51,70, 26,95,-116,63,-124,74,-48,71,-84,-71,-74,82,92,-123,123,107,115,110,-76,125,-42,31,-62,77,-28,88 ;
[0114]步驟208:種子生成系統(tǒng)使用隨機數和預設加密算法,對明文種子文件數據進行加密,得到密文種子文件數據;
[0115]優(yōu)選的,種子生成系統(tǒng)采用對稱加密算法aesl28_cbc,應用PKCS5Padding填充方式對明文種子文件數據進行加密;
[0116]本實施例中,得到的密文種子文件數據為:80,5,21,-35,-69,30,45,84,-4,-61,-79,100,-45,-39,41,-111,-40,-124,45,-37,124,82,80,68,31,66,42,79,87,-13,17,-26,32,103,-25,19,-50,21,67,54,49,-30,76,-126,-102,-120,49,-80,95,56,-95,-14,87,-73,-94,-61,I, -94,-94,41,-71,-76,-125,111,11,44,-17,-80,-88,-102,-9,-52,-50,2
I,83,-81,33,-124,-93,-1, 42,14,96,103,47,......-2,123,-95,-99,18,90,-90,-39,11,4
5,-19,-115,-9,115,77,-38,-14,52,-12,-73,O, -22,54,-11,95,107,-9,74,68,32,-56,-28,93,15,30,46,69,-51,-98,10,-74,30,50,88,29,-79,-41,-94,-66,-29,-116,4,-36,-3,65,124,-12,94,-61,-120,-117,27,-107,-126,108,60,-34,-20,86,-117,100,-14,-99,95,-97,43,40,62,12,46,-95,-62,122,67,-4,-103,85,121,4,105,32,-29,4,73,49,-69,-11,7,24,33,-79,124,108,-81,99,36,-59,-64,-88,-62,49,4,87,70, 20, -73, 8,74,-18,109,49,106,-127,-40,-17,-75,121,-60,120,-126 ;
[0117]步驟209:種子生成系統(tǒng)使用預設摘要算法對明文種子文件數據進行摘要計算,得到第三預設長度的第一摘要值;
[0118]優(yōu)選的,預設摘要算法為SHAl算法,除此之外,還可以為SHA256、MD5算法等,其中,第三預設長度優(yōu)選為20字節(jié);
[0119]本實施例中,得到的第一摘要值為:64,-91,-99,-1,45,-19, 89,-99, 90,-50,120,-126,97,-109,63,37,85,26,-56,-17 ;
[0120]本實施例中,步驟107、108和109順序可以互換;[0121]步驟210:種子生成系統(tǒng)根據第二預設長度的密文隨機數、密文種子文件數據和第三預設長度的第一摘要值,生成處理數據;
[0122]優(yōu)選的,種子生成系統(tǒng)將密文隨機數、密文種子文件數據和第一摘要值進行順序拼接,得到處理數據;除此之外,還可以將密文隨機數、密文種子文件數據和第一摘要值進行預設運算,將得到的值作為處理數據;
[0123]本實施例中,生成的處理數據為:109,-49,-122,I,110,2,103,85, 56,-14, 123, 74,64,19,-115,10,11,83,5,29,28,-10,56,-7,39,61,50,-117,-33,-121,-13,-86,127,-8,-51,-94,125,-91,102,20,56,-89,112,111,41,-34,116,-48,-92,12,-105,74,-122,-10,97,-94,-88,-120,123,63,-82,48,-30,26,81,-59,53,-60,88,80,96,64,101,-109,87,-1
26,-99,68,-54,O, 62,-100,-107,-116,-123,-81,-99,......-62,122,67,-4,-103,85,121,
4,105,32,-29,4,73,49,-69,-11,7,24,33,-79,124,108,-81,99,36,-59,-64,-88,-62,49,4,87,70,20,-73,8,74,-18,109,49,106,-127,-40,-17,-75,121,-60,120,-126,64,-91,-99,-1, 45,-19,89,-99,90,-50,120,-126,97,-109,63,37,85,26,-56,-17 ;
[0124]步驟211:種子生成系統(tǒng)將處理數據發(fā)送給認證服務器;
[0125]本實施例中,所述將處理數據發(fā)送給認證服務器,具體為:種子生成系統(tǒng)將處理數據提供給使用認證服務器的用戶,用戶接收到該處理數據后,訪問認證服務器頁面,將該處理數據上傳導入到認證服務器中;
[0126]步驟212:認證服務器根據接收到的處理數據,判斷所述處理數據是否不為空且長度是否大于第四預設長度,如果是,則執(zhí)行步驟213,否則報錯,結束;
[0127]優(yōu)選的,第四預設長度為第二預設長度與第三預設長度之和,本實施例優(yōu)選為128字節(jié)+20字節(jié)=148字節(jié);
[0128]步驟213:認證服務器根據所述處理數據,得到第一數據、第二數據和第三數據;
[0129]本實施例中,如果接收到的處理數據未被截取或篡改等,則從處理數據中獲取到的第一數據為密文隨機數、第二數據為密文種子文件數據、第三數據為第一摘要值;
[0130]優(yōu)選的,認證服務器對接收到的處理數據進行拆分,將前第二預設長度即128字節(jié)的數據作為第一數據,將后第三預設長度即20字節(jié)的數據作為第三數據,將中間數據作為第二數據;
[0131]其中,如果傳輸過程沒有錯誤,則拆分得到的第一數據為
`109,-49,-122,I, 110,2,103,85,56,-14,123,74,64,19,-115,10,11,83,5,29,......-71,-74,82,92,-123,123,107,115,110,-76,125,-42,31,-62,77,-28,88 ;
[0132]第二數據為:80,5,21,-35, -69, 30,45,84,_4,-61, -79,100,-45,-39,41,-111,-40,-124,45,-37,124,82,80,68,31,66,42,79,87,-13,17,-26,32,103,-25,19,-50,21,……121,4,105,32,-29,4,73,49,-69,-11,7,24,33,-79,124,108,-81,99,36,-59,-64,-88,-62,49,4,87,70,20,-73,8,74,-18,109,49,106,-127,-40,-17,-75,121,-60,120,-126 ;
[0133]第三數據為:64,-91,-99,-1, 45,-19, 89,-99, 90,-50,120,-126,97,-109,63,37,85,26,-56,-17 ;
[0134]步驟214:認證服務器從預設存儲區(qū)中獲取私鑰數據,使用私鑰數據,對第一數據進行解密,得到第一解密數據;
[0135]優(yōu)選的,認證服務器使用私鑰數據,采用RSA_PKCS1_PADDING填充方式,去掉填充數據,得到第一解密數據,如果過程無誤,則生成的第一解密數據即為隨機數;
[0136]進一步的,還包括:認證服務器判斷所述第一解密數據的長度是否為第一預設長度,如果是,則執(zhí)行步驟215,否則顯示錯誤信息,結束;
[0137]本實施例中,解密得到的第一解密數據為-13,41,53,76,7,-114,-80,-104,-80,-10,O, -85,58,-10,37,-127 ;
[0138]步驟215:認證服務器使用第一解密數據和預設解密算法,對第二數據進行解密,得到第二解密數據;
[0139]優(yōu)選的,認證服務器應用對稱解密算法aesl28_cbc,采用PKCS5Padding填充方式,對第二數據進行解密;
[0140]本實施例中,得到的第二解密數據為=60,63,120,109,108, 32, 118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,110,99,111,100,105,110,103,61,34,85,84,7
O,45,56,34,63,......84,111,107,101,110,88,109,108,77,97,99,62,10,60,47,84,111,I
07,101,110,88,109,108,62,10 ;
[0141]步驟216:認證服務器使用預設摘要算法對第二解密數據進行摘要計算,得到第二摘要值;
[0142]優(yōu)選的,預設摘要算法為SHAl算法,除此之外,還可以為SHA256、MD5算法等;
[0143]本實施例中,得到的第二摘要值為:64,-91,-99,-1, 45,-19, 89,-99, 90,-50,120,-126,97,-109,63,37,85,26,-56,-17 ;
[0144]步驟217:認證服務器判斷第三數據與第二摘要值是否相同,如果是,則執(zhí)行步驟218,否則種子密鑰傳輸失敗,報錯結束;
[0145]步驟218:認證服務器解析所述第二解密數據,判斷是否能夠解析成功,如果是,則從第二解密數據中獲取令牌號和對應的種子密鑰,并保存至數據庫中,種子密鑰傳輸成功,結束,否則報錯,結束;
[0146]本實施例中,如果解析成功,得到的第二解密數據即為明文種子文件數據,對所述明文種子文件數據進行解析,得到令牌號和對應的種子密鑰;
[0147]本實施例中,解析所述明文種子文件數據中〈SNX/SN〉和<SeedX/Seed>節(jié)點間的信息,即為令牌號和對應的種子密鑰;
[0148]例如,記錄到數據庫中的信息為:
[0149]〈SN>3000000003197〈/SN>〈Seed>gQA匪zAwMDAwMDAwMzE5NyDYnLmKdPHSrcqQH23QcoI6Vw wB/k6TmHr/akhcYGonf8SyAkZUAA0GQgAAAAAAPAAAAAAAAAAAAABTBwZNXG5ZGf///////wEBAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEgAAA AoAAAAEk9UUClTTTMtNjpRTjA2LVQxTRJPVFAtU00zLTY6UU42NClUMU00TlRQLVNNMy0201F0MDYAAAAAAAAAAAAAAAAKvc=</Seed>
[0150]<SN>3000000003198</SNXSeed>gQANMzAwMDAwMDAwMzE50CCsG6HMN8RjqGSgY+WP+7Y904+I8qJ/dIT9PbM8RPffl)lllvAkZUAA0GQgAAAAAAPAAAAAAAAAAAAABTBwZNXG5ZGf//7/7/7wEBA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEgAA AAoAAAAEk9UUClTTTMtNjpRTjA2LVQxTRJPVFAtU00zLTY6UU42NClUMU00TlRQLVNNMy0201F0MDYAAAAAAAAAAAAAAAA0e4=〈/Seed>。
[0151]實施例3[0152]參見圖4,本發(fā)明實施例3提供了一種種子密鑰安全傳輸的系統(tǒng)中認證服務器的工作流程,具體操作如下:
[0153]步驟301:認證服務器等待接收生成公私鑰數據觸發(fā);
[0154]步驟302:當認證服務器接收到生成公私鑰數據觸發(fā)時,生成公鑰數據和私鑰數據,將私鑰數據保存在預設存儲區(qū)中;
[0155]步驟303:認證服務器將公鑰數據按照預設格式寫入到公鑰文件中,并將所述公鑰文件發(fā)送給種子生成系統(tǒng);
[0156]步驟304:認證服務器等待接收種子生成系統(tǒng)返回的處理數據,當接收到處理數據后,判斷所述處理數據是否不為空且長度大于第二預設長度與第三預設長度之和,如果是,則執(zhí)行步驟305,否則報錯,結束;
[0157]步驟305:認證服務器根據所述處理數據,得到第一數據、第二數據和第三數據;
[0158]具體為:認證服務器對所述處理數據進行拆分,將前第二預設長度的數據作為第一數據,將所述處理數據的后第三預設長度的數據作為第三數據,將第一數據和第三數據之間的數據作為第二數據;
[0159]步驟306:認證服務器從所述預設存儲區(qū)中獲取私鑰數據,使用所述私鑰數據對所述第一數據進行解密,得到第一解密數據,判斷第一解密數據的長度是否為第一預設長度,如果是,則執(zhí)行步驟307,否則報錯,結束;
[0160]步驟307:認證服務器應用所述第一解密數據和預設解密算法,對所述第二數據進行解密,得到第二解密數據;
[0161]步驟308:認證服務器使用預設摘要算法對所述第二解密數據進行摘要計算,得到第二摘要值;
[0162]步驟309:認證服務器判斷第三數據與第二摘要值是否相同,如果是,則執(zhí)行步驟310,否則種子密鑰傳輸失敗,報錯結束;
[0163]步驟310:認證服務器解析所述第二解密數據,判斷是否能夠解析成功,如果是,則執(zhí)行步驟311,否則報錯,結束;
[0164]步驟311:認證服務器從第二解密數據中獲取令牌號和對應的種子密鑰,并保存至數據庫中,種子密鑰傳輸成功,返回步驟304。
[0165]實施例4
[0166]參見圖5,本發(fā)明實施例4提供了一種種子密鑰安全傳輸的系統(tǒng)中種子生成系統(tǒng)的工作流程,具體操作如下:
[0167]步驟401:種子生成系統(tǒng)等待接收用戶選擇的令牌號;
[0168]步驟402:當種子生成系統(tǒng)接收到用戶選擇的令牌號時,根據所述令牌號獲取對應的種子密鑰,根據所述令牌號和所述種子密鑰生成明文種子文件,從所述明文種子文件中獲取明文種子文件數據;
[0169]步驟403:種子生成系統(tǒng)調用隨機數生成函數,生成第一預設長度的隨機數;
[0170]步驟404:種子生成系統(tǒng)判斷是否能夠獲取到公鑰文件,如果是,則執(zhí)行步驟405,否則報錯,結束;
[0171]步驟405:種子生成系統(tǒng)從所述公鑰文件中獲取公鑰數據,判斷是否能夠獲取到公鑰數據,如果是,則執(zhí)行步驟406,否則報錯,結束;[0172]步驟406:種子生成系統(tǒng)使用所述公鑰數據,對所述隨機數進行加密,得到第二預設長度的密文隨機數;
[0173]步驟407:種子生成系統(tǒng)使用隨機數和預設加密算法,對明文種子文件數據進行加密,得到密文種子文件數據;
[0174]步驟408:種子生成系統(tǒng)使用預設摘要算法對所述明文種子文件數據進行摘要計算,生成第三預設長度的第一摘要值;
[0175]步驟409:種子生成系統(tǒng)根據所述第二預設長度的密文隨機數、密文種子文件數據和所述第三預設長度的第一摘要值,生成處理數據;
[0176]步驟410:種子生成系統(tǒng)將所述處理數據發(fā)送給認證服務器,返回執(zhí)行步驟401 ;
[0177]以上所述,僅為本發(fā)明較佳的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發(fā)明公開的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應該以權利要求的保護范圍為準。
【權利要求】
1.一種種子密鑰安全傳輸的方法,其特征在于,應用于種子生成系統(tǒng)和認證服務器組成的系統(tǒng)中,包括以下步驟: 步驟Al:認證服務器根據接收到的觸發(fā)信息,生成公鑰數據和私鑰數據,將所述私鑰數據保存,并根據所述公鑰數據生成公鑰文件,并將所述公鑰文件發(fā)送給種子生成系統(tǒng);步驟A2:所述種子生成系統(tǒng)根據接收到的用戶選擇的令牌號,查找對應的種子密鑰,根據所述令牌號和所述種子密鑰生成明文種子文件,從所述明文種子文件中獲取明文種子文件數據;調用隨機數生成函數,生成隨機數;從所述公鑰文件中獲取所述公鑰數據; 步驟A3:所述種子生成系統(tǒng)應用所述公鑰數據,對所述隨機數進行加密,得到密文隨機數;根據所述隨機數對所述明文種子文件數據進行加密,得到密文種子數據;對所述明文種子文件數據進行摘要計算,得到第一摘要值; 步驟A4:所述種子生成系統(tǒng)根據所述密文隨機數、所述密文種子文件數據和所述第一摘要值,生成處理數據,并將所述處理數據發(fā)送給所述認證服務器; 步驟A5:所述認證服務器根據接收到的所述處理數據,得到第一數據、第二數據和第三數據; 步驟A6:所述認證服務器獲取保存的所述私鑰數據,使用所述私鑰數據對所述第一數據進行解密,得到第一解密數據; 步驟A7:所述認證服務器根據所述第一解密數據對所述第二數據進行解密,得到第二解密數據,對所述第二解密數據進行摘要計算,生成第二摘要值; 步驟AS:所述認證服務器判斷所述第三數據與所述第二摘要值是否相同,如果是,則執(zhí)行步驟A9,否則報錯,結束; 步驟A9:所述認證服務器解析所述第二解密數據,獲取所述第二解密數據中的令牌號和對應的種子密鑰,并保存至數據庫中,種子密鑰傳輸成功,結束。
2.根據權利要求1所述的方法,其特征在于,所述步驟Al中,所述根據接收到的觸發(fā)信息,生成公鑰數據和私鑰數據,具體包括:認證服務器等待接收用戶選擇種子生成系統(tǒng)標識,當接收到用戶選擇的種子生成系統(tǒng)標識后,從預先保存的多條種子生成系統(tǒng)記錄中獲取對應的種子生成系統(tǒng)信息,根據所述種子生成系統(tǒng)信息,生成公鑰數據和私鑰數據。
3.根據權利要求2所述的方法,其特征在于,所述根據所述種子生成系統(tǒng)信息,生成公鑰數據和私鑰數據,具體為: 步驟al:所述認證服務器根據所述種子生成系統(tǒng)信息中的種子生成系統(tǒng)標識,生成密碼; 步驟a2:所述認證服務器根據所述種子生成系統(tǒng)信息和密碼,生成公私鑰數據存儲文件; 步驟a3:所述認證服務器從公私鑰數據存儲文件中獲取私鑰對象,對所述私鑰對象進行編碼生成私鑰數據; 步驟a4:所述認證服務器解析所述公私鑰數據存儲文件中獲取公鑰數據。
4.根據權利要求3所述的方法,其特征在于,所述步驟al,具體為:所述認證服務器將所述種子生成系統(tǒng)信息中的種子生成系統(tǒng)標識作為加密因子,應用預設加密算法對所述加密因子進行加密,生成密碼。
5.根據權利要求3所述的方法,其特征在于,所述步驟a2,具體為:所述認證服務器調用cmd命令,將所述種子生成系統(tǒng)信息中的種子生成系統(tǒng)標識和種子生成系統(tǒng)名稱、過期時間、域名和密碼寫入公私鑰數據存儲文件中,生成公私鑰數據存儲文件。
6.根據權利要求1所述的方法,其特征在于,所述步驟Al中,所述根據所述公鑰數據生成公鑰文件,具體為:將所述公鑰數據按照預設格式寫入公鑰文件中。
7.根據權利要求1所述的方法,其特征在于,所述步驟A2中,所述根據接收到的用戶選擇的令牌號,查找對應的種子密鑰,具體為:所述種子生成系統(tǒng)預先生成多條包括令牌號和對應種子密鑰的令牌數據,根據需要選擇的令牌號,從所述令牌數據中獲取與所述令牌號對應的種子密鑰。
8.根據權利要求1所述的方法,其特征在于,所述步驟A2中,所述從所述公鑰文件中獲取公鑰數據,具體包括:所述種子生成系統(tǒng)從所述公鑰文件中獲取公鑰數據,判斷是否能夠獲取到所述公鑰數據,如果是,則執(zhí)行步驟A3,否則報錯,結束。
9.根據權利要求1所述的方法,其特征在于, 所述步驟A3中,所述對所述隨機數進行加密,得到密文隨機數,具體為:對所述隨機數進行加密,得到第二預設長度的密文隨機數; 所述步驟A3中,所述對所述明文種子文件數據進行摘要計算,得到第一摘要值,具體為:對所述明文種子文件數據進行摘要計算,得到第三預設長度的第一摘要值; 對應的,所述步驟A4中,所述根據所述密文隨機數、所述密文種子文件數據和所述第一摘要值,生成所述處理數據,具體為:將第二預設長度的所述密文隨機數、所述密文種子文件數據和第三預設長度的所述第一摘要值進行順序拼接,得到所述處理數據; 對應的,所述步驟A5中,所述根據接收到的所述處理數據,得到第一數據、第二數據和第三數據,具體為:將所述處理數據的前第二預設長度的數據作為第一數據,將所述處理數據的后第三預設長度的數據作為第三數據,將所述處理數據中除第一數據和第三數據外的數據作為第二數據。
10.根據權利要求9所述的方法,其特征在于,所述步驟A5之前還包括:所述認證服務器判斷接收到的所述處理數據的長度是否不為空且大于第二預設長度與第三預設長度之和,如果是,則執(zhí)行步驟A5,否則報錯,結束。
11.根據權利要求1所述的方法,其特征在于,所述步驟A4中,所述將所述處理數據發(fā)送給所述認證服務器,具體為:所述種子生成系統(tǒng)將所述處理數據提供給使用所述認證服務器的用戶,當用戶接收到所述處理數據后,通過訪問所述認證服務器頁面,將所述處理數據上傳導入到所述認證服 務器中。
12.根據權利要求1所述的方法,其特征在于,所述步驟A2中,所述調用隨機數生成函數,生成隨機數,具體為:調用隨機數生成函數,生成第一預設長度的隨機數; 對應的,所述步驟A3,還包括:所述認證服務器判斷所述第一解密數據的長度是否為所述第一預設長度,如果是,則執(zhí)行步驟A4,否則報錯,結束。
【文檔編號】H04L9/00GK103888243SQ201410149134
【公開日】2014年6月25日 申請日期:2014年4月15日 優(yōu)先權日:2014年4月15日
【發(fā)明者】陸舟, 于華章 申請人:飛天誠信科技股份有限公司