一種保護(hù)安全套接層會(huì)話密鑰的設(shè)備及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,更進(jìn)一步涉及一種通信安全技術(shù)領(lǐng)域的一種保護(hù)安全套接層(Secure Sockets Layer,SSL)會(huì)話密鑰的設(shè)備及方法。本發(fā)明可用于在安全套接層(Secure Sockets Layer,SSL)通信過程中,從硬件級(jí)別確保會(huì)話密鑰的安全使用。
【背景技術(shù)】
[0002]基于萬維網(wǎng)的網(wǎng)上銀行和電子商務(wù)等新興應(yīng)用多使用SSL協(xié)議來保證網(wǎng)絡(luò)上傳輸數(shù)據(jù)的安全,尤其是基于SSL協(xié)議的HTTPs更是被廣泛應(yīng)用于保護(hù)Web服務(wù)器和瀏覽器之間的通信安全。此外SSL協(xié)議還可以用于保護(hù)基于TCP協(xié)議的應(yīng)用的傳輸安全,很大程度上改善了萬維網(wǎng)的安全環(huán)境。
[0003]目前的安全類硬件產(chǎn)品,如加密卡、智能密碼鑰匙等,往往只做到將私鑰置于硬件加密設(shè)備中,私鑰相關(guān)密碼運(yùn)算在硬件加密設(shè)備內(nèi)部完成,使得私鑰及其使用受硬件級(jí)的保護(hù)。但是這一類硬件設(shè)備并不能很好地適用于SSL協(xié)議,在使用SSL協(xié)議的通信過程中,即使協(xié)議雙方的私鑰受硬件加密設(shè)備的保護(hù),但由于會(huì)話密鑰是按照自己特定的方式協(xié)商出來的,因此會(huì)話密鑰未受硬件的保護(hù)。為了提高安全性,會(huì)話密鑰應(yīng)該在密碼設(shè)備內(nèi)部,受硬件級(jí)保護(hù)。但是現(xiàn)有的密碼設(shè)備接口、通用密碼服務(wù)接口內(nèi)的MAC,與對(duì)稱加密相關(guān)接口不能直接用于SSL協(xié)議中。
[0004]三星電子株式會(huì)社擁有的專利技術(shù)“重新使用會(huì)話密鑰安全通信的方法和設(shè)備”(專利申請(qǐng)?zhí)?200510075094.X,授權(quán)公告號(hào):CN 1708003 B)。該專利技術(shù)提供了一種用于客戶端和服務(wù)器之間的安全通信的方法和設(shè)備,該方法包括:將證書發(fā)送到至少一個(gè)客戶端;接收由客戶端產(chǎn)生的會(huì)話密鑰;產(chǎn)生相應(yīng)于該會(huì)話密鑰的會(huì)話認(rèn)證信息;將該會(huì)話認(rèn)證信息發(fā)送到客戶端;使用該會(huì)話密鑰解密從客戶端接收的加密的信息,并使用該會(huì)話密鑰來加密將被發(fā)送到客戶端的消息。該設(shè)備包括:會(huì)話認(rèn)證消息產(chǎn)生模塊,用于產(chǎn)生會(huì)話認(rèn)證消息;發(fā)送接收模塊,用于將證書發(fā)送到訪問客戶端,從客戶端接收會(huì)話密鑰,將由會(huì)話認(rèn)證消息產(chǎn)生模塊產(chǎn)生的會(huì)話認(rèn)證消息發(fā)送到客戶端,并且發(fā)送和接收使用會(huì)話密鑰加密的消息;加密模塊,用于使用由發(fā)送接收模塊接收的會(huì)話密鑰加密將被發(fā)送到客戶端的消息,并且使用會(huì)話密鑰解密由發(fā)送接收模塊接收的加密的信息。該專利技術(shù)公開的方法存在的不足是,在用于SSL協(xié)議的通信時(shí),由通信雙方協(xié)商產(chǎn)生會(huì)話密鑰的過程并未受到硬件設(shè)備的保護(hù)。該專利公開的設(shè)備存在的不足是,沒有一個(gè)模塊專用于管理會(huì)話,使得會(huì)話管理效率不高,隨機(jī)信息的生成不是由設(shè)備實(shí)現(xiàn),使得隨機(jī)數(shù)的隨機(jī)性不高,發(fā)送接收模塊僅僅是接收會(huì)話密鑰,會(huì)話密鑰的產(chǎn)生和保存都在硬件中過程并未在硬件中完成,未受到硬件設(shè)備的保護(hù),影響系統(tǒng)的安全性。
[0005]北京融易通信息技術(shù)有限公司擁有的專利技術(shù)“一種基于HTTP的信道加密方法、信道簡化加密方法及系統(tǒng)”(專利申請(qǐng)?zhí)?201110023350.6,授權(quán)公告號(hào):CN 102082796A)公開了一種在HTTP通信協(xié)議下產(chǎn)生會(huì)話密鑰的方法及系統(tǒng)。該方法包括:客戶端向服務(wù)器發(fā)送ClientHello。服務(wù)器接收客戶端發(fā)送的ClientHello,并向客戶端發(fā)送ServerHello??蛻舳私邮辗?wù)器端發(fā)送的ServerHello,根據(jù)ServerHello生成客戶端信道驗(yàn)證Finished消息及包含客戶端預(yù)主密鑰PMS、客戶端主密鑰MS的ClientKeyExchange,并將Cl ientKeyExchange、確認(rèn)加密算法集及客戶端信道驗(yàn)證Fini shed消息發(fā)送到服務(wù)器。服務(wù)器接收ClientKeyExchange、確認(rèn)加密算法集及客戶端信道驗(yàn)證Finished消息,利用私鑰解密并取出PMS、服務(wù)器隨機(jī)數(shù)及擴(kuò)展域,利用PMS、RNC及RNS計(jì)算MS。生成服務(wù)器預(yù)主密鑰PMS2、服務(wù)器主密鑰MS2、服務(wù)器信道驗(yàn)證Finished消息。根據(jù)本次會(huì)話的加密算法,對(duì)RNS2與PMS2執(zhí)行HMAC,并保存在ServerKeyExchange中??蛻舳私邮誗erverKeyExchange、確認(rèn)加密算法集及服務(wù)器信道驗(yàn)證Finished消息,驗(yàn)證服務(wù)器信道Finished消息。根據(jù)本次會(huì)話的加密算法集解密ServerKeyExchange,驗(yàn)證HMAC摘要簽名,利用PMS2、RNC、RNS生成MS2,通過MS2、RNC、RNS生成會(huì)話密鑰,并將RNS2保存在本地緩存中。該系統(tǒng)包括=ClientHello處理單元,用于客戶端向服務(wù)器發(fā)送包含客戶端隨機(jī)數(shù)、客戶端時(shí)間戳、支持的加密算法集的ClientHello。ServerHello處理單元,用于服務(wù)器接收客戶端發(fā)送的ClientHeHo,建立會(huì)話,存儲(chǔ)客戶端時(shí)間戳、客戶端隨機(jī)數(shù),根據(jù)支持的算法集選擇本次會(huì)話的加密算法,并向所述客戶端發(fā)送包含服務(wù)器時(shí)間戳、服務(wù)器隨機(jī)數(shù)、服務(wù)器會(huì)話、本次會(huì)話指定加密算法、服務(wù)器公鑰證書的ServerHello。ClientKeyExchange處理單元,用于客戶端接收服務(wù)器端發(fā)送的ServerHello,根據(jù)ServerHello生成客戶端信道驗(yàn)證Finished消息及包含客戶端預(yù)主密鑰PMS、客戶端主密鑰MS的ClientKeyExchange,并將ClientKeyExchange、確認(rèn)加密算法集及客戶端信道驗(yàn)證Finished消息發(fā)送到服務(wù)器。ServerKeyExchange處理單元,用于服務(wù)器接收ClientKeyExchange、確認(rèn)加密算法集及客戶端信道驗(yàn)證Finished消息,利用私鑰解密并取出PMS,服務(wù)器時(shí)間戳、服務(wù)器隨機(jī)數(shù)及擴(kuò)展域,利用PMS、RNC及RNS計(jì)算MS。生成服務(wù)器預(yù)主密鑰PMS2、服務(wù)器主密鑰MS2、服務(wù)器信道驗(yàn)證Finished消息,根據(jù)本次會(huì)話的加密算法對(duì)RNS2、PMS2計(jì)算HMacValue,并保存在ServerKeyExchange中,并將ServerKeyExchange及服務(wù)器信道驗(yàn)證Finished消息發(fā)送到客戶端。加密驗(yàn)證單元,用于客戶端接收ServerKeyExchange,確認(rèn)驗(yàn)證服務(wù)器信道Finished消息,根據(jù)本次會(huì)話的加密算法集解密所述ServerKeyExchange,驗(yàn)證HMAC摘要簽名,利用PMS2、RNC、RNS生成MS2,再通過MS2、RNC、RNS生成會(huì)話密鑰素材,并將RNS2保存在本地緩存中。該專利公開的方法存在的不足是,會(huì)話密鑰的協(xié)商產(chǎn)生過程并未在硬件中完成,未受到硬件的保護(hù)。該專利公開的系統(tǒng)存在的不足是,會(huì)話管理沒有專門的處理,隨機(jī)信息的生成不是由硬件實(shí)現(xiàn),隨機(jī)性和可信性不足,計(jì)算HMacValue、MS和會(huì)話密鑰的過程沒有在硬件參與下完成,會(huì)話密鑰的保存和使用并未在硬件中完成,未受到硬件的保護(hù),系統(tǒng)的安全性受到影響。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于克服上述已有技術(shù)的不足,提出一種保護(hù)安全套接層會(huì)話密鑰的設(shè)備及方法,并提出可具體實(shí)施的系統(tǒng)實(shí)現(xiàn)方案。根據(jù)“密鑰信息不以明文形式暴露在軟件環(huán)境中”這一原則,實(shí)現(xiàn)基于硬件密鑰保護(hù)的安全套接層通信方法的關(guān)鍵是,需要通過引入一個(gè)保護(hù)會(huì)話密鑰的設(shè)備,控制安全套接層SSL協(xié)議通信過程中密鑰的生成、運(yùn)算和存儲(chǔ),來確保密鑰的安全性和可靠性,從而保證安全套接層SSL協(xié)議的安全。
[0007]通過可信第三方機(jī)構(gòu)為安全套接層協(xié)議通信雙方配備本發(fā)明提出的一種保護(hù)安全套接層會(huì)話密鑰的設(shè)備,保證安全套階層協(xié)議會(huì)話密鑰的安全,從而保證協(xié)議雙方通信數(shù)據(jù)的安全,會(huì)話密鑰設(shè)備包括會(huì)話管理模塊、隨機(jī)信息生成模塊、認(rèn)證模塊、加解密運(yùn)算模塊和密鑰存儲(chǔ)模塊。
[0008]會(huì)話管理模塊,用于創(chuàng)建并存儲(chǔ)新標(biāo)識(shí)ID會(huì)話和查詢會(huì)話標(biāo)識(shí)ID標(biāo)識(shí)的會(huì)話是否存在;隨機(jī)信息生成模塊,用于產(chǎn)生客戶問候信息ClientHello和服務(wù)器問候信息ServerHello所需的隨機(jī)數(shù);認(rèn)證模塊,用于接收證書的公鑰、驗(yàn)證證書發(fā)送方的身份是否合法和計(jì)算并認(rèn)證消息摘要;加解密運(yùn)算模塊,用于生成