專利名稱:一種生成傳輸密鑰的裝置的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,尤其涉及一種生成傳輸密鑰的裝置,生成的 傳輸密鑰配合對(duì)稱加密算法,可以實(shí)現(xiàn)安全的加密數(shù)據(jù)傳輸。
背景技術(shù):
高涉密級(jí)行業(yè)經(jīng)常涉及大量的私密信息傳輸場(chǎng)景,需要使用安全傳輸協(xié)議和安全 網(wǎng)絡(luò)環(huán)境。在使用安全傳輸協(xié)議和安全網(wǎng)絡(luò)環(huán)境的同時(shí),目前廣泛應(yīng)用的是對(duì)稱密碼加密 方法來傳輸私密信息,比如3DES等。在使用對(duì)稱加密方法時(shí),生成傳輸密鑰的算法是實(shí)現(xiàn)的核心;而如何生成與保存 傳輸密鑰則是加密方法安全強(qiáng)度和實(shí)現(xiàn)性能的根本保證。一個(gè)好的密鑰實(shí)現(xiàn)方案,應(yīng)該具 備以下特點(diǎn)保證傳輸過程中密鑰完全保密,能夠便捷的及時(shí)更新密鑰,能夠抵御常見的攻 擊方法等。目前的大多密鑰傳輸系統(tǒng),采用了各種各樣的安全傳輸算法和通訊通道以及協(xié)商 機(jī)制,但是都基于一個(gè)共同點(diǎn)需要事先產(chǎn)生一個(gè)密鑰,同時(shí)此密鑰需要保存在雙方服務(wù)器 一定長(zhǎng)的時(shí)間用于后續(xù)應(yīng)用。一旦在這段時(shí)間內(nèi)被攻擊者獲取到密鑰,后續(xù)通訊內(nèi)容就完 全暴露了,所以,為了避免這種風(fēng)險(xiǎn),大多數(shù)密鑰傳輸系統(tǒng)都要求周期更換密鑰以盡可能的 減少暴露后帶來的損失。但是這種做法必定不能完全規(guī)避風(fēng)險(xiǎn),而且更換一次密鑰需要重 新生成、協(xié)商以及傳輸過程,太過頻繁會(huì)很大程度的提高實(shí)現(xiàn)成本。
實(shí)用新型內(nèi)容(一)要解決的技術(shù)問題有鑒于此,本實(shí)用新型的主要目的在于提供一種生成傳輸密鑰的裝置,以提高傳 輸密鑰的安全性,降低基于對(duì)稱加密算法傳輸系統(tǒng)的密鑰被破解或竊取的風(fēng)險(xiǎn)。( 二 )技術(shù)方案為達(dá)到上述目的,本實(shí)用新型提供了一種生成傳輸密鑰的裝置,該裝置包括通過 網(wǎng)絡(luò)相互耦合連接的密鑰控件派發(fā)裝置1、信息發(fā)送裝置2和信息接收裝置3,其中密鑰控件派發(fā)裝置1,是作為通訊雙方的信息發(fā)送裝置2和信息接收裝置3的第三 方,產(chǎn)生密鑰控件和密鑰控件信息,該密鑰控件包含有交互密鑰生成算法和傳輸密鑰生成 算法,將該密鑰控件信息添加到該密鑰控件,并發(fā)送給信息發(fā)送裝置2和信息接收裝置3 ;信息發(fā)送裝置2和信息接收裝置3,均是一個(gè)web服務(wù)器,接收由密鑰控件派發(fā)裝 置1發(fā)送的密鑰控件,分別根據(jù)密鑰控件中被添加的控件信息對(duì)所接收的密鑰控件進(jìn)行認(rèn) 證,并分別利用密鑰控件中的交互密鑰生成算法生成控件生成各自的交互密鑰,再使用校 驗(yàn)碼、時(shí)間戳以及認(rèn)證信息組成交互密鑰信息包,然后將所述交互密鑰信息包傳輸給對(duì)方, 在分別收到對(duì)方的交互密鑰信息包后,利用本地私鑰和接收到的對(duì)方的交互密鑰,通過調(diào) 用傳輸密鑰生成控件中的傳輸密鑰生成算法生成各自的傳輸密鑰,該兩個(gè)傳輸密鑰相等; 最后,各自利用生成的傳輸密鑰對(duì)需要傳輸?shù)男畔⑦M(jìn)行加解密。[0011]上述方案中,所述密鑰控件派發(fā)裝置1包括相互連接的控件信息生成單元11和密 鑰控件生成單元12,其中控件信息生成單元11,產(chǎn)生密鑰控件信息,該密鑰控件信息至少包括安全控制 ID、版本號(hào)和控件使用期限。密鑰控件生成單元12,抽用各種算法生成密鑰控件,該密鑰控件包括交互密鑰生 成算法控件和傳輸密鑰生成算法控件。上述方案中,所述信息發(fā)送裝置2或信息接收裝置3均包括私鑰生成單元201、交 互密鑰生成單元202、傳輸密鑰生成單元203、簽名信息認(rèn)證單元204、校驗(yàn)碼認(rèn)證單元205、 時(shí)間戳校驗(yàn)單元206、數(shù)據(jù)保存清理單元207、信息發(fā)送單元208和主控單元209,且私鑰生 成單元201、交互密鑰生成單元202、傳輸密鑰生成單元203、簽名信息認(rèn)證單元204、校驗(yàn)碼 認(rèn)證單元205、時(shí)間戳校驗(yàn)單元206、數(shù)據(jù)保存清理單元207和信息發(fā)送單元208均連接于 主控單元209。上述方案中,所述主控單元209接收來自密鑰控件派發(fā)裝置1的數(shù)據(jù),并協(xié)調(diào)內(nèi)部 私鑰生成單元201、交互密鑰生成單元202、傳輸密鑰生成單元203、簽名信息認(rèn)證單元204、 校驗(yàn)碼認(rèn)證單元205、時(shí)間戳校驗(yàn)單元206、數(shù)據(jù)保存清理單元207和信息發(fā)送單元208完 成密鑰生成、交互以及認(rèn)證工作。上述方案中,所述私鑰生成單元201生成本地私鑰,并提供給主控單元209,作為 交互密鑰生成單元的輸入。上述方案中,所述交互密鑰生成單元202從主控單元209接收密鑰控件派發(fā)裝置 1發(fā)送來的交互密鑰生成控件F(X),將所述私鑰生成單元201生成的本地私鑰作為輸入,生 成交互密鑰。上述方案中,所述傳輸密鑰生成單元203從主控單元209接收密鑰控件派發(fā)裝置 1發(fā)送來的交互密鑰生成控件G (X,Y),利用對(duì)方裝置發(fā)送來的已生成的對(duì)方交互密鑰和本 地私鑰信息,生成傳輸密鑰。上述方案中,所述簽名信息認(rèn)證單元204驗(yàn)證交互信息中的簽名數(shù)據(jù),密鑰控制 派發(fā)裝置1在提供兩種密鑰生成控件時(shí)均加入了控件信息,簽名信息認(rèn)證單元204使用公 知的密鑰控件派發(fā)裝置的簽名公鑰對(duì)兩種加密后的密鑰生成控件進(jìn)行解密,只有來自合法 密鑰控制派發(fā)裝置的控件才可以解出正確明文,解出明文后首先驗(yàn)證身份ID是否正確,然 后判斷當(dāng)前日期是否在控件有效范圍內(nèi),最后獲取版本信息用作后續(xù)交互確認(rèn)控件一致 性。上述方案中,所述簽名信息認(rèn)證單元204進(jìn)一步在向?qū)Ψ窖b置發(fā)送交互密鑰前, 先使用自身的簽名私鑰對(duì)交互密鑰信息包進(jìn)行加密,在接收到對(duì)方的交互密鑰信息包之后 才能使用公知的對(duì)方簽名公鑰解密交互信息包,然后交由主控單元209分發(fā)處理。上述方案中,所述校驗(yàn)碼認(rèn)證單元205調(diào)用自身包含的某種校驗(yàn)碼算法對(duì)已生成 的交互密鑰信息包增加檢驗(yàn)碼信息,以保證形成更安全的交互密鑰信息包,其中校驗(yàn)碼認(rèn) 證單元205包含有多種校驗(yàn)碼算法,該校驗(yàn)碼算法至少是CRC校驗(yàn)算法或奇偶校驗(yàn)算法。上述方案中,所述校驗(yàn)碼認(rèn)證單元205進(jìn)一步從主控單元209接收對(duì)方裝置發(fā)送 來的交互密鑰信息包,并對(duì)其校驗(yàn)碼進(jìn)行驗(yàn)證。上述方案中,所述時(shí)間戳認(rèn)證單元206認(rèn)證密鑰交互傳輸包是否已經(jīng)失效,并根據(jù)包內(nèi)時(shí)間戳信息與各自系統(tǒng)的本地時(shí)間進(jìn)行比較,判斷是否超時(shí)以防止簡(jiǎn)單的重放攻
擊ο上述方案中,所述數(shù)據(jù)保存清理單元207保存密鑰交互期間的臨時(shí)數(shù)據(jù)以及交互 結(jié)束后的數(shù)據(jù)清理工作。上述方案中,所述數(shù)據(jù)保存清理單元207還包括一個(gè)對(duì)稱加密模塊,所述主控單 元209將臨時(shí)數(shù)據(jù)存入本單元之前,首先通過該對(duì)稱加密模塊調(diào)用主控單元209的簽名密 鑰對(duì)臨時(shí)信息進(jìn)行加密,以密文模式放入數(shù)據(jù)保存清理單元進(jìn)行安全的存儲(chǔ),當(dāng)其他單元 需要調(diào)用臨時(shí)信息時(shí)先通過該對(duì)稱加密模塊解密密文,從而獲取明文信息交付其他單元使用。上述方案中,所述信息發(fā)送單元208從主控單元209獲取待發(fā)送的交互密鑰信息 包。(三)有益效果從上述技術(shù)方案可以看出,本實(shí)用新型提供的這種生成傳輸密鑰的裝置,可以廣 泛用于使用對(duì)稱密鑰加密算法交互細(xì)密信息的應(yīng)用場(chǎng)景,實(shí)現(xiàn)安全的密鑰交互,其優(yōu)點(diǎn)體 現(xiàn)在如下方面1、防截取攻擊在交互信道,即使攻擊者截獲了交互密鑰Ka和Kb,但是,因?yàn)楦髯?的隨機(jī)密鑰a,b是不再網(wǎng)絡(luò)中通訊的,攻擊者無法獲取。同時(shí)進(jìn)一步保證F(X) =Y算法是 不可逆的,則a和b也無法通過計(jì)算獲得,可以保證傳輸密鑰K的安全。2、密鑰更換由于雙方的隨機(jī)密鑰a和b都是每次交互前隨機(jī)生成的,也就使得實(shí) 際的交互密鑰或者傳輸密鑰每次也都是隨機(jī)變化的,從而避免了密鑰長(zhǎng)時(shí)間使用帶來的泄 漏風(fēng)險(xiǎn)。3、防重放,防阻塞通過將交互密鑰組成信息包,添加校驗(yàn)碼和時(shí)間戳可以起到防 重放防阻塞的作用。
圖1是本實(shí)用新型提供的生成傳輸密鑰裝置的結(jié)構(gòu)示意圖;圖2是密鑰控件派發(fā)裝置的結(jié)構(gòu)示意圖;圖3是信息發(fā)送裝置和信息接收裝置的結(jié)構(gòu)示意圖;圖4是依照本實(shí)用新型第一個(gè)實(shí)施例生成傳輸密鑰的方法流程圖;圖5是依照本實(shí)用新型第二個(gè)實(shí)施例生成傳輸密鑰的方法流程圖;圖6是交互密鑰信息包的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本實(shí)用新型的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并 參照附圖,對(duì)本實(shí)用新型進(jìn)一步詳細(xì)說明。本實(shí)用新型的技術(shù)核心是,傳輸密鑰是由通訊雙方根據(jù)本方產(chǎn)生的私鑰和對(duì)方傳 輸過來的交互密鑰,通過第三方派發(fā)的傳輸密鑰生成算法共同生成,即使對(duì)方傳輸過來的 交互密鑰在網(wǎng)絡(luò)中被截取也無法單獨(dú)生成傳輸密鑰,所述第三方派發(fā)的傳輸密鑰生成算法 使得雙方使用的算法一致,并且在雙方本地生成的傳輸密鑰相等,從而達(dá)到對(duì)稱加密算法的效果。雙方的本地私鑰通過隨機(jī)生成,使用一次就失效,保證了傳輸密鑰即使被竊取或破 解也不會(huì)對(duì)下一次傳輸造成影響。傳輸密鑰生成算法由第三方派發(fā),對(duì)于通訊雙方透明且 一致,可以是每次重新派發(fā),或者是定期、不定期派發(fā),還可以是隨機(jī)派發(fā),進(jìn)一步提升交互 密鑰和傳輸密鑰的安全。圖1是本實(shí)用新型提供的生成傳輸密鑰裝置的結(jié)構(gòu)示意圖,該裝置包含密鑰控件 派發(fā)裝置1、信息發(fā)送裝置2和信息接收裝置3,且密鑰控件派發(fā)裝置1、信息發(fā)送裝置2和 信息接收裝置3通過網(wǎng)絡(luò)相互耦合連接。所述密鑰控件派發(fā)裝置1是通訊雙方公認(rèn)的第三方,可以是一個(gè)PC服務(wù)器或主 機(jī),用于產(chǎn)生密鑰控件和密鑰控件信息(密鑰控件包括交互密鑰生成算法控件和傳輸密鑰 生成算法控件,密鑰控件信息包括安全控制ID、版本號(hào)和控件使用期限等),將該密鑰控件 信息添加到該密鑰控件,形成包含有交互密鑰生成算法以及傳輸密鑰生成算法的密鑰控 件,然后發(fā)送給信息發(fā)送裝置2和信息接收裝置3。如圖2所示,圖2是密鑰控件派發(fā)裝置的結(jié)構(gòu)示意圖。密鑰控件派發(fā)裝置1包括 控件信息生成單元11和密鑰控件生成單元12。所述控件信息生成單元11用于產(chǎn)生密鑰控 件信息,該密鑰控件信息包括安全控制ID、版本號(hào)和控件使用期限等。所述密鑰控件生成單 元12,用于抽用各種算法生成密鑰控件,該密鑰控件包括交互密鑰生成算法控件和傳輸密 鑰生成算法控件。所述信息發(fā)送裝置2和信息接收裝置3,均可以是一個(gè)web服務(wù)器,用于接收由密 鑰控件派發(fā)裝置1發(fā)送的密鑰控件,分別根據(jù)密鑰控件中被添加的控件信息對(duì)所接收的密 鑰控件進(jìn)行認(rèn)證,并分別利用密鑰控件中的交互密鑰生成算法生成各自的交互密鑰,再使 用校驗(yàn)碼、時(shí)間戳以及認(rèn)證信息組成交互密鑰信息包,以保證所交互的密鑰信息的完整性 和準(zhǔn)確性,然后將所述交互密鑰信息包傳輸給對(duì)方。所述交互密鑰信息包組成見圖6。信息發(fā)送裝置2和信息接收裝置3在分別收到對(duì)方的交互密鑰信息包后,對(duì)信息 包數(shù)據(jù)合法性進(jìn)行認(rèn)證,認(rèn)證通過后利用本地私鑰和接收到的對(duì)方的交互密鑰,通過調(diào)用 傳輸密鑰生成控件中的傳輸密鑰生成算法生成各自的傳輸密鑰,該兩個(gè)傳輸密鑰相等。最 后,信息發(fā)送裝置2和信息發(fā)送裝置3利用生成的傳輸密鑰對(duì)需要傳輸?shù)男畔⑦M(jìn)行加解密。圖3是信息發(fā)送裝置和信息接收裝置的結(jié)構(gòu)示意圖,信息發(fā)送裝置2和信息接收 裝置3均包含私鑰生成單元201、交互密鑰生成單元202、傳輸密鑰生成單元203、簽名信息 認(rèn)證單元204、校驗(yàn)碼認(rèn)證單元205、時(shí)間戳校驗(yàn)單元206、數(shù)據(jù)保存清理單元207、信息發(fā)送 單元208和主控單元209。所述主控單元209用于接收來自密鑰控件派發(fā)裝置1的數(shù)據(jù),并協(xié)調(diào)內(nèi)部各功能 單元完成密鑰生成、交互以及認(rèn)證等工作。所述私鑰生成單元201,用于生成本地私鑰,并提供給主控單元209,作為交互密 鑰生成單元的輸入。例如,該單元內(nèi)部在符合密鑰強(qiáng)度的數(shù)值區(qū)間中可隨機(jī)產(chǎn)生一個(gè)密鑰 數(shù)值,即私鑰,并提供給主控單元209,同時(shí)將這個(gè)私鑰加入作廢列表,后續(xù)不再使用,且作 廢列表定期清空。所述交互密鑰生成單元202 負(fù)責(zé)從主控單元209接收密鑰控件派發(fā)裝置1發(fā)送 來的交互密鑰生成控件F (X),將上述私鑰生成單元201生成的本地私鑰作為輸入,生成交 互密鑰。[0049]所述傳輸密鑰生成單元203 負(fù)責(zé)從主控單元209接收密鑰控件派發(fā)裝置1發(fā)送 來的交互密鑰生成控件G (X,Y),利用對(duì)方裝置發(fā)送來的已生成的對(duì)方交互密鑰和本地私鑰 信息,從而生成傳輸密鑰。所述簽名信息認(rèn)證單元204 用于驗(yàn)證交互信息中的簽名數(shù)據(jù),密鑰控制派發(fā)裝 置1在提供兩種密鑰生成控件時(shí),均加入了控件信息,簽名信息認(rèn)證單元204使用公知的密 鑰控件派發(fā)裝置的簽名公鑰對(duì)兩種加密后的密鑰生成控件進(jìn)行解密,只有來自合法密鑰控 制派發(fā)裝置的控件才可以解出正確明文,解出明文后首先驗(yàn)證身份ID是否正確,然后判斷 當(dāng)前日期是否在控件有效范圍內(nèi),最后獲取版本信息用作后續(xù)交互確認(rèn)控件一致性。同時(shí),所述簽名信息認(rèn)證單元204還負(fù)責(zé)在向?qū)Ψ窖b置發(fā)送交互密鑰前,先使用 自身的簽名私鑰對(duì)交互密鑰信息包進(jìn)行加密,從而在接收到對(duì)方的交互密鑰信息包之后才 能使用公知的對(duì)方簽名公鑰解密交互信息包,然后交由主控單元209分發(fā)處理。所述校驗(yàn)碼認(rèn)證單元205 包含有多種校驗(yàn)碼算法,所述校驗(yàn)碼算法可以是CRC校 驗(yàn)算法,奇偶校驗(yàn)算法等。該單元負(fù)責(zé)調(diào)用某種校驗(yàn)碼算法對(duì)已生成的交互密鑰信息包增 加檢驗(yàn)碼信息以保證形成更安全的交互密鑰信息包;進(jìn)一步,所述校驗(yàn)碼認(rèn)證單元205還 負(fù)責(zé)從主控單元209接收對(duì)方裝置發(fā)送來的交互密鑰信息包,并對(duì)其校驗(yàn)碼進(jìn)行驗(yàn)證。所述時(shí)間戳認(rèn)證單元206 用于認(rèn)證密鑰交互傳輸包是否已經(jīng)失效,并根據(jù)包內(nèi) 時(shí)間戳信息與各自系統(tǒng)的本地時(shí)間進(jìn)行比較,判斷是否超時(shí)以防止重放攻擊。所述數(shù)據(jù)保存清理單元207 用于保存密鑰交互期間的臨時(shí)數(shù)據(jù)以及進(jìn)行交互結(jié) 束后的數(shù)據(jù)清理工作;進(jìn)一步,數(shù)據(jù)保存清理單元207還可以增加一個(gè)簡(jiǎn)單的對(duì)稱加密模 塊,主控單元209將臨時(shí)數(shù)據(jù)存入本單元之前,首先通過所述對(duì)稱加密模塊調(diào)用主控單元 的簽名密鑰將臨時(shí)信息進(jìn)行加密,以密文模式放入數(shù)據(jù)保存清理單元進(jìn)行安全的存儲(chǔ),當(dāng) 其他單元需要調(diào)用臨時(shí)信息時(shí)需要先通過此對(duì)稱加密模塊解密密文,從而獲取明文信息, 才能交付其他單元使用。此裝置可以保證每次使用的私鑰、交互密鑰以及傳輸密鑰的安全 性,防止在應(yīng)用過程中被竊取。所述信息發(fā)送單元208 用于從主控單元209獲取待發(fā)送的交互密鑰信息包?;趫D1至圖3所示的生成傳輸密鑰的裝置,本實(shí)用新型還提供了一種生成傳輸 密鑰的方法,該方法包括以下步驟步驟1 密鑰控件派發(fā)裝置1產(chǎn)生密鑰控件和密鑰控件信息,將該密鑰控件信息添 加到該密鑰控件,并將形成的密鑰控件發(fā)送給信息發(fā)送裝置2和信息接收裝置3 ;步驟2 信息發(fā)送裝置2和信息接收裝置3接收該密鑰控件,分別根據(jù)密鑰控件中 被添加的控件信息對(duì)所接收的密鑰控件進(jìn)行認(rèn)證;步驟3 信息發(fā)送裝置2和信息接收裝置3分別生成各自的交互密鑰,再使用校驗(yàn) 碼、時(shí)間戳以及認(rèn)證信息組成交互密鑰信息包,然后將該交互密鑰信息包傳輸給對(duì)方;步驟4 在信息發(fā)送裝置2和信息接收裝置3分別收到對(duì)方的交互密鑰信息包后, 利用本地私鑰和接收到的對(duì)方的交互密鑰,通過調(diào)用傳輸密鑰生成控件中的傳輸密鑰生成 算法生成各自的傳輸密鑰,該兩個(gè)傳輸密鑰相等。其中,步驟1中所述密鑰控件派發(fā)裝置1產(chǎn)生密鑰控件和密鑰控件信息,并對(duì)產(chǎn)生 的密鑰控件進(jìn)行加密,包括密鑰控件派發(fā)裝置1產(chǎn)生密鑰控件和密鑰控件信息,該密鑰控 件包含有交互密鑰生成算法和傳輸密鑰生成算法,將該密鑰控件信息添加到該密鑰控件,并使用簽名私鑰對(duì)添加了密鑰控件信息的交互密鑰生成算法和傳輸密鑰生成算法進(jìn)行加
r t [ ο步驟3中所述信息發(fā)送裝置2和信息接收裝置3分別生成各自的交互密鑰,再使 用校驗(yàn)碼、時(shí)間戳以及認(rèn)證信息組成交互密鑰信息包,包括信息發(fā)送裝置2和信息接收裝 置3分別在本地生成私鑰,并分別利用密鑰控件中的交互密鑰生成算法生成各自的交互密 鑰,再使用校驗(yàn)碼、時(shí)間戳以及認(rèn)證信息組成交互密鑰信息包。另外,該方法在步驟4生成各自的傳輸密鑰后還包括信息發(fā)送裝置2和信息接收 裝置3各自利用生成的傳輸密鑰對(duì)需要傳輸?shù)男畔⑦M(jìn)行加解密。下面結(jié)合圖4和圖5對(duì)本實(shí)用新型提供的生成傳輸密鑰的方法做進(jìn)一步的詳細(xì)說 明。圖4是依照本實(shí)用新型第一個(gè)實(shí)施例生成傳輸密鑰的方法流程圖,本實(shí)施例以一 個(gè)簡(jiǎn)單的交互作為例子,雙方指的是信息發(fā)送裝置2和信息接收裝置3,其具體步驟如下步驟401 提出操作請(qǐng)求;步驟402 密鑰控件派發(fā)裝置1調(diào)用控件信息生成單元11,生成包括安全控制ID、 版本號(hào)和控件使用期限的控件信息,并調(diào)用密鑰控件生成單元12,選取兩種密鑰生成控件 算法,例如F(X) =64X*G(X,Y) =X*Y,分別生成交互密鑰生成控件和傳輸密鑰生成控件, 再將控件信息加至已生成上述兩種密鑰生成控件,然后加上密鑰控件派發(fā)裝置1的私鑰進(jìn) 行簽名,最終形成密鑰生成控件信息包,派發(fā)至信息發(fā)送裝置2和信息接收裝置3 ;所述的 控件信息包括安全控制ID,例如“NCAA. Ltd. co.安全部”、版本號(hào),例如“2. 0. 3”、控件使用 期限,例如"2009-12-01to2010-02-01";步驟403 雙方主控單元209調(diào)用各自的簽名信息認(rèn)證單元204,分別根據(jù)密鑰控 件派發(fā)裝置1派發(fā)的密鑰控件信息包根據(jù)已知的密鑰控件派發(fā)裝置1的公鑰在本地進(jìn)行解 密,獲取控件認(rèn)證信息,所述已獲取控件認(rèn)證信息包括安全控制ID“NCAA. Ltd. CO.安全部”、 版本號(hào) “2. 0. 3”、控件使用期限"2009-12-01to2010-02-01";步驟404 雙方主控單元209對(duì)所述控件認(rèn)證信息進(jìn)行合法性校驗(yàn),通過驗(yàn)證安全 控制ID確認(rèn)接收到的信息是否為已約定的第三方ID內(nèi)容、通過驗(yàn)證控件使用期限確認(rèn)各 自裝置本地的系統(tǒng)時(shí)間是否在接收到的控件使用期限之內(nèi);若驗(yàn)證通過,則進(jìn)入步驟406, 若驗(yàn)證未通過,交易中斷,進(jìn)入步驟405 ;步驟405 交易中斷,校驗(yàn)未通過一方的主控單元209調(diào)用信息發(fā)送單元208向密 鑰控件派發(fā)裝置發(fā)出重新發(fā)送的通知,結(jié)束;步驟406 驗(yàn)證通過,信息發(fā)送裝置2的主控單元209調(diào)用信息發(fā)送單元208向信 息接收裝置3發(fā)起密鑰交互請(qǐng)求;步驟406在驗(yàn)證通過后還包括雙方主控單元209調(diào)用數(shù) 據(jù)保存清理單元204,用于保存接收到的控件信息包中的密鑰控件算法信息,以保證信息的 安全性;步驟407 信息接收裝置3確認(rèn)接收到的請(qǐng)求,并與信息發(fā)送裝置2建立SSL連 接;步驟408 雙方SSL連接建立后,對(duì)控件版本信息進(jìn)行交互;步驟409 雙方驗(yàn)證交互的版本信息是否一致,若一致,則驗(yàn)證通過,進(jìn)行下一步; 若不一致,則交易中斷,雙方通知各自主控單元209聯(lián)系密鑰控件派發(fā)裝置1進(jìn)行重發(fā),結(jié)束;步驟410 —致性驗(yàn)證通過后,雙方主控單元209分別調(diào)用各自私鑰生成單元201 生成本地私鑰,此實(shí)例中取私鑰數(shù)值分別為a = 923和b = 672,主控單元209再分別調(diào)用 數(shù)據(jù)保存清理單元207以保證隨機(jī)密鑰a和b保存到本單元的安全區(qū)域內(nèi)從而保證私鑰的 安全性;步驟411 雙方主控單元209分別調(diào)用數(shù)據(jù)保存清理單元204中的交互密鑰算 法控件,使用控件中的算法F(X) = 64*X,根據(jù)已經(jīng)生成的本地私鑰分別生成各自的交 互密鑰數(shù)Ka = 64*a = 59072和Kb = 64*b = 43008,再調(diào)用交互密鑰生成單元202,將 時(shí)間戳添加至交互密鑰Ka和Kb,然后調(diào)用校驗(yàn)碼認(rèn)證單元205,使用其中的“奇偶校驗(yàn) 算法”生成校驗(yàn)碼,以一方為例將Ka= 59072和時(shí)間戳200912122048各位相加求和,5 +9+0+7+2+2+0+0+9+1+2+1+2+2+0+4+8 = 54,是偶數(shù)所以其奇偶校驗(yàn)碼為0,同理可以計(jì) 算出另一方奇偶校驗(yàn)碼為1,最后再補(bǔ)充控件版本信息組成各自的密鑰交互信息包A = 59027 I 200912122048 | 0 | 2. 0. 3 和 B = 43008 | 200912122048 111 2. 0. 3,最后對(duì)各自的信息包 進(jìn)行簽名;步驟412 雙方主控單元209調(diào)用各自信息發(fā)送單元208,并通過已建立的SSL通 信連接對(duì)密鑰交互信息包明文數(shù)據(jù)進(jìn)行交換;步驟413 雙方主控單元209調(diào)用數(shù)據(jù)保存清理單元將接收到的對(duì)方交互信息包 明文數(shù)據(jù)進(jìn)行存儲(chǔ)以保證信息的安全性,再在本地對(duì)密鑰交互信息進(jìn)行解密從而獲取交互 信息包中密文數(shù)據(jù);步驟414 雙方主控單元209分別調(diào)用各自校驗(yàn)碼認(rèn)證單元205和時(shí)間戳校驗(yàn)單 元206對(duì)保存在數(shù)據(jù)保存清理單元207的密文數(shù)據(jù)進(jìn)行奇偶校驗(yàn)和時(shí)間戳校驗(yàn),校驗(yàn)通過 則進(jìn)行下一步交易,若校驗(yàn)未通過,則調(diào)用信息發(fā)送單元208聯(lián)系密鑰控件派發(fā)裝置1進(jìn)行 重發(fā),結(jié)束;進(jìn)一步的,所述步驟414中的奇偶校驗(yàn)具體步驟為雙方主控單元209調(diào)用校驗(yàn)碼 認(rèn)證單元205按照步驟411所述奇偶校驗(yàn)方法對(duì)接收到的數(shù)據(jù)進(jìn)行奇偶校驗(yàn),通過后主控 單元209再調(diào)用時(shí)間戳校驗(yàn)單元206對(duì)密鑰交互信息包的時(shí)間戳200912122048與當(dāng)前系 統(tǒng)時(shí)間進(jìn)行比較,若時(shí)間戳所示時(shí)間大于當(dāng)前系統(tǒng)時(shí)間1分鐘以上則判斷為超時(shí),拒絕進(jìn)
一步交易;步驟415 雙方主控單元209調(diào)用數(shù)據(jù)保存清理單元207,從中取出各自的私鑰a =923和b = 672,以及對(duì)方傳輸過來的交互密鑰,調(diào)用傳輸密鑰生成控件203,例如G (X,Y) =X*Y算出最終的傳輸密鑰K,此實(shí)施例中K = a*Kb = 923*43008 = 39696384和K = b*Ka =672*59072 = 39696384 ;步驟416 雙方主控單元209分別調(diào)用數(shù)據(jù)發(fā)送單元208,用所述步驟415中生成 的傳輸密鑰將需要傳輸?shù)臄?shù)據(jù)進(jìn)行加密后發(fā)送給信息接受裝置3 ;步驟417:結(jié)束。圖5是依照本實(shí)用新型第二個(gè)實(shí)施例生成傳輸密鑰的方法流程圖。本實(shí)施例以另 一種算法Diffie-Hellman (簡(jiǎn)稱DH算法——一種公開的非對(duì)稱加密算法,屬于公鑰密碼體 制)進(jìn)一步說明本實(shí)用新型生成傳輸密鑰的方法。同上述第一個(gè)實(shí)施例,雙方指的是信息 發(fā)送裝置2和信息接收裝置3,其具體包括以下步驟[0085]步驟501 提出操作請(qǐng)求;步驟502 密鑰控件派發(fā)裝置1調(diào)用控件信息生成單元11,生成包括安全控 制ID、版本號(hào)和控件使用期限的控件信息,并調(diào)用密鑰控件生成單元12,選取兩種密鑰 生成控件算法,例如F(X) = gx mod n(l < g< n,且g和η需為較大的質(zhì)數(shù))和G(X, Y) =Yx mod n,分別生成交互密鑰生成控件和傳輸密鑰生成控件,再將控件信息加至已 生成上述兩種密鑰生成控件,然后加上密鑰控件派發(fā)裝置1的私鑰進(jìn)行簽名,最終形成 密鑰生成控件信息包,派發(fā)至信息發(fā)送裝置2和信息接收裝置3 ;所述的控件信息包括 安全控制ID,例如“FIFA. ACCA. COM. hk.,,、版本號(hào),例如“V+2. 7. 0,,、控件使用期限,例如 “2010-01-28to2010-02-10”。步驟503 雙方主控單元209調(diào)用各自的簽名信息認(rèn)證單元204,分別根據(jù)密鑰控 件派發(fā)裝置1派發(fā)的密鑰控件信息包根據(jù)已知的密鑰控件派發(fā)裝置1的公鑰在本地進(jìn)行解 密,獲取控件認(rèn)證信息,所述已獲取控件認(rèn)證信息包括安全控制ID“FIFA. ACCA. COM. hk”、版 本號(hào)"V+2. 7. 0”、控件使用期限"2010-01-28to2010-02-10";步驟504 雙方主控單元209對(duì)所述控件認(rèn)證信息進(jìn)行合法性校驗(yàn),通過驗(yàn)證安全 控制ID確認(rèn)接收到的信息是否為已約定的第三方ID內(nèi)容、通過驗(yàn)證控件使用期限確認(rèn)各 自裝置本地的系統(tǒng)時(shí)間是否在接收到的控件使用期限之內(nèi);若驗(yàn)證通過,則進(jìn)入步驟506, 若驗(yàn)證未通過,交易中斷,進(jìn)入步驟505 ;步驟505 交易中斷,校驗(yàn)未通過一方的主控單元209調(diào)用信息發(fā)送單元208向密 鑰控件派發(fā)裝置發(fā)出重新發(fā)送的通知,結(jié)束;步驟506 驗(yàn)證通過,信息發(fā)送裝置2的主控單元209調(diào)用信息發(fā)送單元208向信 息接收裝置3發(fā)起密鑰交互請(qǐng)求;步驟506在驗(yàn)證通過后還包括雙方主控單元209調(diào)用數(shù) 據(jù)保存清理單元204,用于保存接收到的控件信息包中的密鑰控件算法信息,以保證信息的 安全性;步驟507 信息接收裝置3確認(rèn)接收到的請(qǐng)求,并與信息發(fā)送裝置2建立SSL連 接;步驟508 雙方SSL連接建立后,對(duì)控件版本信息進(jìn)行交互;步驟509 雙方驗(yàn)證交互的版本信息是否一致,若一致,則驗(yàn)證通過,進(jìn)行下一步; 若不一致,則交易中斷,雙方通知各自主控單元209聯(lián)系密鑰控件派發(fā)裝置1進(jìn)行重發(fā),結(jié) 束;步驟510 —致性驗(yàn)證通過后,雙方主控單元209分別調(diào)用各自私鑰生成單元201 生成本地私鑰,此實(shí)例中取私鑰數(shù)值分別為a = e和b = f,主控單元209再分別調(diào)用數(shù)據(jù) 保存清理單元207以保證隨機(jī)密鑰a和b保存到本單元的安全區(qū)域內(nèi)從而保證私鑰的安全 性;步驟511 雙方主控單元209分別調(diào)用數(shù)據(jù)保存清理單元204中的交互密鑰算法 控件,使用控件中的算法F(X) = gx mod n(l < g < n,且g和η需為較大的質(zhì)數(shù)),根據(jù)已 經(jīng)生成的本地私鑰分別生成各自的交互密鑰數(shù)Ka = ge mod n和Kb = gf mod n,再調(diào)用交 互密鑰生成單元202,將時(shí)間戳添加至交互密鑰Ka和Kb,然后調(diào)用校驗(yàn)碼認(rèn)證單元205,使 用其中的任意一種校驗(yàn)碼生成算法生成校驗(yàn)碼,最后再補(bǔ)充控件版本信息組成各自的密鑰 交互信息包 A = ge mod η | 201001051357 11 和 B = gf mod η | 201001051357 | 0,最后對(duì)各自的信息包進(jìn)行簽名;步驟512 雙方主控單元209調(diào)用各自信息發(fā)送單元208,并通過已建立的SSL通 信連接對(duì)密鑰交互信息包明文數(shù)據(jù)進(jìn)行交換;步驟513 雙方主控單元209調(diào)用數(shù)據(jù)保存清理單元將接收到的對(duì)方交互信息包 明文數(shù)據(jù)進(jìn)行存儲(chǔ)以保證信息的安全性,再在本地對(duì)密鑰交互信息進(jìn)行解密從而獲取交互 信息包中密文數(shù)據(jù);步驟514 雙方主控單元209分別調(diào)用各自校驗(yàn)碼認(rèn)證單元205和時(shí)間戳校驗(yàn)單 元206對(duì)保存在數(shù)據(jù)保存清理單元207的密文數(shù)據(jù)進(jìn)行奇偶校驗(yàn)和時(shí)間戳校驗(yàn),校驗(yàn)通過 則進(jìn)行下一步交易,若校驗(yàn)未通過,則調(diào)用信息發(fā)送單元208聯(lián)系密鑰控件派發(fā)裝置1進(jìn)行 重發(fā),結(jié)束;進(jìn)一步的,所述步驟514所述奇偶校驗(yàn)具體步驟為雙方主控單元209調(diào)用校驗(yàn)碼 認(rèn)證單元205按照步驟511所述奇偶校驗(yàn)方法對(duì)接收到的數(shù)據(jù)進(jìn)行奇偶校驗(yàn),通過后主控 單元209再調(diào)用時(shí)間戳校驗(yàn)單元206對(duì)密鑰交互信息包的時(shí)間戳201001051357與當(dāng)前系 統(tǒng)時(shí)間進(jìn)行比較,若時(shí)間戳所示時(shí)間大于當(dāng)前系統(tǒng)時(shí)間1分鐘以上則判斷為超時(shí),拒絕進(jìn)
一步交易;步驟515 雙方主控單元209調(diào)用數(shù)據(jù)保存清理單元207,從中取出各自的私鑰a =e和b = f,以及對(duì)方傳輸過來的交互密鑰,調(diào)用傳輸密鑰生成控件203,例如G (X,Y) = Yx mod n,算出最終的傳輸密鑰K,此實(shí)施例中K = [Kb]a mod η = [gf mod n]e mod η = (gf) 6 mod n, = gf* emod η 禾口 K = [Kjb modn = [ge mod n]f mod η = (ge)f mod n, = ge*f mod η ;步驟516 雙方主控單元209分別調(diào)用數(shù)據(jù)發(fā)送單元208,用所述步驟417中生成 的傳輸密鑰將需要傳輸?shù)臄?shù)據(jù)進(jìn)行加密后發(fā)送給信息接受裝置3 ;步驟517:結(jié)束。以上所述的具體實(shí)施例,對(duì)本實(shí)用新型的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一 步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本實(shí)用新型的具體實(shí)施例而已,并不用于限制本 實(shí)用新型,凡在本實(shí)用新型的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包 含在本實(shí)用新型的保護(hù)范圍之內(nèi)。
權(quán)利要求一種生成傳輸密鑰的裝置,其特征在于,該裝置包括通過網(wǎng)絡(luò)相互耦合連接的密鑰控件派發(fā)裝置(1)、信息發(fā)送裝置(2)和信息接收裝置(3),其中密鑰控件派發(fā)裝置(1),是作為通訊雙方的信息發(fā)送裝置(2)和信息接收裝置(3)的第三方,產(chǎn)生密鑰控件和密鑰控件信息,該密鑰控件包含有交互密鑰生成算法和傳輸密鑰生成算法,將該密鑰控件信息添加到該密鑰控件,并發(fā)送給信息發(fā)送裝置(2)和信息接收裝置(3);信息發(fā)送裝置(2)和信息接收裝置(3),均是一個(gè)web服務(wù)器,接收由密鑰控件派發(fā)裝置(1)發(fā)送的密鑰控件,分別根據(jù)密鑰控件中被添加的控件信息對(duì)所接收的密鑰控件進(jìn)行認(rèn)證,并分別利用密鑰控件中的交互密鑰生成算法生成各自的交互密鑰,再使用校驗(yàn)碼、時(shí)間戳以及認(rèn)證信息組成交互密鑰信息包,然后將所述交互密鑰信息包傳輸給對(duì)方,在分別收到對(duì)方的交互密鑰信息包后,利用本地私鑰和接收到的對(duì)方的交互密鑰,通過調(diào)用傳輸密鑰生成控件中的傳輸密鑰生成算法生成各自的傳輸密鑰,該兩個(gè)傳輸密鑰相等;最后,各自利用生成的傳輸密鑰對(duì)需要傳輸?shù)男畔⑦M(jìn)行加解密。
2.根據(jù)權(quán)利要求1所述的生成傳輸密鑰的裝置,其特征在于,所述密鑰控件派發(fā)裝置 (1)包括相互連接的控件信息生成單元(11)和密鑰控件生成單元(12),其中控件信息生成單元(11),產(chǎn)生密鑰控件信息,該密鑰控件信息至少包括安全控制ID、 版本號(hào)和控件使用期限,密鑰控件生成單元(12),抽用各種算法生成密鑰控件,該密鑰控件包括交互密鑰生成 算法控件和傳輸密鑰生成算法控件。
3.根據(jù)權(quán)利要求1所述的生成傳輸密鑰的裝置,其特征在于,所述信息發(fā)送裝置(2) 或信息接收裝置(3)均包括私鑰生成單元(201)、交互密鑰生成單元(202)、傳輸密鑰生成 單元(203)、簽名信息認(rèn)證單元(204)、校驗(yàn)碼認(rèn)證單元(205)、時(shí)間戳校驗(yàn)單元(206)、數(shù)據(jù) 保存清理單元(207)、信息發(fā)送單元(208)和主控單元(209),且私鑰生成單元(201)、交互 密鑰生成單元(202)、傳輸密鑰生成單元(203)、簽名信息認(rèn)證單元(204)、校驗(yàn)碼認(rèn)證單元 (205)、時(shí)間戳校驗(yàn)單元(206)、數(shù)據(jù)保存清理單元(207)和信息發(fā)送單元(208)均連接于主 控單元(209)。
4.根據(jù)權(quán)利要求3所述的生成傳輸密鑰的裝置,其特征在于,所述主控單元(209)接 收來自密鑰控件派發(fā)裝置(1)的數(shù)據(jù),并協(xié)調(diào)內(nèi)部私鑰生成單元(201)、交互密鑰生成單元 (202)、傳輸密鑰生成單元(203)、簽名信息認(rèn)證單元(204)、校驗(yàn)碼認(rèn)證單元(205)、時(shí)間戳 校驗(yàn)單元(206)、數(shù)據(jù)保存清理單元(207)和信息發(fā)送單元(208)完成密鑰生成、交互以及 認(rèn)證工作。
5.根據(jù)權(quán)利要求3所述的生成傳輸密鑰的裝置,其特征在于,所述私鑰生成單元(201) 生成本地私鑰,并提供給主控單元(209),作為交互密鑰生成單元的輸入。
6.根據(jù)權(quán)利要求3所述的生成傳輸密鑰的裝置,其特征在于,所述交互密鑰生成單元(202)從主控單元(209)接收密鑰控件派發(fā)裝置(1)發(fā)送來的交互密鑰生成控件F(X)Jf 所述私鑰生成單元(201)生成的本地私鑰作為輸入,生成交互密鑰。
7.根據(jù)權(quán)利要求3所述的生成傳輸密鑰的裝置,其特征在于,所述傳輸密鑰生成單元(203)從主控單元(209)接收密鑰控件派發(fā)裝置(1)發(fā)送來的交互密鑰生成控件G(X,Y), 利用對(duì)方裝置發(fā)送來的已生成的對(duì)方交互密鑰和本地私鑰信息,生成傳輸密鑰。
8.根據(jù)權(quán)利要求3所述的生成傳輸密鑰的裝置,其特征在于,所述簽名信息認(rèn)證單元 (204)驗(yàn)證交互信息中的簽名數(shù)據(jù),密鑰控制派發(fā)裝置(1)在提供兩種密鑰生成控件時(shí)均 加入了控件信息,簽名信息認(rèn)證單元(204)使用公知的密鑰控件派發(fā)裝置的簽名公鑰對(duì)兩 種加密后的密鑰生成控件進(jìn)行解密,只有來自合法密鑰控制派發(fā)裝置的控件才可以解出正 確明文,解出明文后首先驗(yàn)證身份ID是否正確,然后判斷當(dāng)前日期是否在控件有效范圍 內(nèi),最后獲取版本信息用作后續(xù)交互確認(rèn)控件一致性。
9.根據(jù)權(quán)利要求8所述的生成傳輸密鑰的裝置,其特征在于,所述簽名信息認(rèn)證單元(204)進(jìn)一步在向?qū)Ψ窖b置發(fā)送交互密鑰前,先使用自身的簽名私鑰對(duì)交互密鑰信息包進(jìn) 行加密,在接收到對(duì)方的交互密鑰信息包之后才能使用公知的對(duì)方簽名公鑰解密交互信 息包,然后交由主控單元(209)分發(fā)處理。
10.根據(jù)權(quán)利要求3所述的生成傳輸密鑰的裝置,其特征在于,所述校驗(yàn)碼認(rèn)證單元(205)調(diào)用自身包含的某種校驗(yàn)碼算法對(duì)已生成的交互密鑰信息包增加檢驗(yàn)碼信息,以保 證形成更安全的交互密鑰信息包,其中校驗(yàn)碼認(rèn)證單元(205)包含有多種校驗(yàn)碼算法,該 校驗(yàn)碼算法至少是CRC校驗(yàn)算法或奇偶校驗(yàn)算法。
11.根據(jù)權(quán)利要求10所述的生成傳輸密鑰的裝置,其特征在于,所述校驗(yàn)碼認(rèn)證單元(205)進(jìn)一步從主控單元(209)接收對(duì)方裝置發(fā)送來的交互密鑰信息包,并對(duì)其校驗(yàn)碼進(jìn) 行驗(yàn)證。
12.根據(jù)權(quán)利要求3所述的生成傳輸密鑰的裝置,其特征在于,所述時(shí)間戳認(rèn)證單元(206)認(rèn)證密鑰交互傳輸包是否已經(jīng)失效,并根據(jù)包內(nèi)時(shí)間戳信息與各自系統(tǒng)的本地時(shí)間 進(jìn)行比較,判斷是否超時(shí)以防止簡(jiǎn)單的重放攻擊。
13.根據(jù)權(quán)利要求3所述的生成傳輸密鑰的裝置,其特征在于,所述數(shù)據(jù)保存清理單元(207)保存密鑰交互期間的臨時(shí)數(shù)據(jù)以及交互結(jié)束后的數(shù)據(jù)清理工作。
14.根據(jù)權(quán)利要求13所述的生成傳輸密鑰的裝置,其特征在于,所述數(shù)據(jù)保存清理單 元(207)還包括一個(gè)對(duì)稱加密模塊,所述主控單元(209)將臨時(shí)數(shù)據(jù)存入本單元之前,首先 通過該對(duì)稱加密模塊調(diào)用主控單元(209)的簽名密鑰對(duì)臨時(shí)信息進(jìn)行加密,以密文模式放 入數(shù)據(jù)保存清理單元進(jìn)行安全的存儲(chǔ),當(dāng)其他單元需要調(diào)用臨時(shí)信息時(shí)先通過該對(duì)稱加密 模塊解密密文,從而獲取明文信息交付其他單元使用。
15.根據(jù)權(quán)利要求3所述的生成傳輸密鑰的裝置,其特征在于,所述信息發(fā)送單元(208)從主控單元(209)獲取待發(fā)送的交互密鑰信息包。
專利摘要本實(shí)用新型公開了一種生成傳輸密鑰的裝置。傳輸密鑰是由通訊雙方根據(jù)本方產(chǎn)生的私鑰和對(duì)方傳輸過來的交互密鑰,通過第三方派發(fā)的傳輸密鑰生成算法共同生成,即使對(duì)方傳輸過來的交互密鑰在網(wǎng)絡(luò)中被截取也無法單獨(dú)生成傳輸密鑰,所述第三方派發(fā)的傳輸密鑰生成算法使得雙方使用的算法一致,并且在雙方本地生成的傳輸密鑰相等,從而達(dá)到對(duì)稱加密算法的效果。雙方的本地私鑰通過隨機(jī)生成,使用一次就失效,保證了傳輸密鑰即使被竊取或破解也不會(huì)對(duì)下一次傳輸造成影響。傳輸密鑰生成算法由第三方派發(fā),對(duì)于通訊雙方透明且一致,可以是每次重新派發(fā),或者是定期、不定期派發(fā),還可以是隨機(jī)派發(fā),進(jìn)一步提升交互密鑰和傳輸密鑰的安全。
文檔編號(hào)H04L29/06GK201656997SQ201020177118
公開日2010年11月24日 申請(qǐng)日期2010年4月28日 優(yōu)先權(quán)日2010年4月28日
發(fā)明者趙暉 申請(qǐng)人:中國(guó)工商銀行股份有限公司