亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

SSL會(huì)話重用的方法、服務(wù)器和系統(tǒng)與流程

文檔序號(hào):11842876閱讀:918來源:國(guó)知局
SSL會(huì)話重用的方法、服務(wù)器和系統(tǒng)與流程

本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種SSL會(huì)話重用的方法、服務(wù)器和系統(tǒng)。



背景技術(shù):

SSL(Secure Sockets Layer,安全套接層)/TLS(Transport Layer Security,傳輸安全協(xié)議)協(xié)議是IETF(The Internet Engineering Task Force,國(guó)際互聯(lián)網(wǎng)工程任務(wù)組)提出的安全網(wǎng)絡(luò)傳輸協(xié)議,主要是為了保護(hù)在互聯(lián)網(wǎng)中傳遞的機(jī)密信息,該協(xié)議包括兩個(gè)過程:握手階段和數(shù)據(jù)傳輸階段。握手階段:客戶端(client)生成預(yù)主加密串(PreMaster Secret字串),用服務(wù)器(server)的公鑰(public key)對(duì)預(yù)主加密串進(jìn)行加密,將加密后的預(yù)主加密串發(fā)送給服務(wù)器;服務(wù)器接收加密后的預(yù)主加密串,用與公鑰匹配的私鑰(private key)對(duì)加密后的預(yù)主加密串進(jìn)行解密,得到預(yù)主加密串,利用預(yù)主加密串生成對(duì)稱秘鑰相關(guān)信息(session_info)(包括主密鑰(master secret)、服務(wù)器隨機(jī)數(shù)和客戶端隨機(jī)數(shù)等),利用對(duì)稱秘鑰相關(guān)信息生成對(duì)稱秘鑰。數(shù)據(jù)傳輸階段:服務(wù)器利用握手階段生成的對(duì)稱秘鑰對(duì)明文進(jìn)行加密,將加密后的明文發(fā)送到客戶端;客戶端接收加密后的明文后,利用客戶端的預(yù)主加密串生成對(duì)稱秘鑰相關(guān)信息,利用對(duì)稱秘鑰相關(guān)信息生成對(duì)稱秘鑰,利用對(duì)稱秘鑰對(duì)加密后的明文進(jìn)行解密即可得到明文繼續(xù)處理。

為了提高握手的效率,提出了SSL會(huì)話重用(session reuse)的方法,具體過程如下:在客戶端首次握手階段,客戶端向服務(wù)器發(fā)送會(huì)話標(biāo)識(shí)長(zhǎng)度(SESSION ID LENGTH)信息;服務(wù)器接收客戶端會(huì)話標(biāo)識(shí)長(zhǎng)度信息后,如果支持會(huì)話重用就生成并回復(fù)客戶端一個(gè)會(huì)話標(biāo)識(shí)(SESSION ID);客戶端接收會(huì)話標(biāo)識(shí),用服務(wù)器的公鑰對(duì)預(yù)主加密串進(jìn)行加密,將加密后的預(yù)主加密串發(fā)送給服務(wù)器;服務(wù)器接收加密后的預(yù)主加密串,用與公鑰匹配的私 鑰對(duì)加密后的預(yù)主加密串進(jìn)行解密,得到預(yù)主加密串,利用預(yù)主加密串生成對(duì)稱秘鑰相關(guān)信息,利用對(duì)稱秘鑰相關(guān)信息生成對(duì)稱秘鑰;當(dāng)客戶端再次請(qǐng)求握手時(shí),向服務(wù)器發(fā)送會(huì)話標(biāo)識(shí);服務(wù)器接收會(huì)話標(biāo)識(shí)后,回復(fù)客戶端相同的會(huì)話標(biāo)識(shí),然后直接向客戶端發(fā)送結(jié)束(finish)報(bào)文;客戶端和服務(wù)器利用本端的預(yù)主加密串生成對(duì)稱秘鑰相關(guān)信息,利用對(duì)稱秘鑰相關(guān)信息生成對(duì)稱秘鑰,雙方利用對(duì)稱秘鑰進(jìn)行數(shù)據(jù)加密傳輸。

通過上述過程可以看出SSL會(huì)話重用的方法,可以直接通過對(duì)稱秘鑰相關(guān)信息恢復(fù)出對(duì)稱秘鑰進(jìn)行數(shù)據(jù)加密傳輸,將握手階段的非對(duì)稱加密過程省略,可以節(jié)約時(shí)間,加快SSL會(huì)話的速度。然而,現(xiàn)有SSL會(huì)話重用的方法,對(duì)稱秘鑰相關(guān)信息是哪個(gè)服務(wù)器生成,就由哪個(gè)服務(wù)器保存,當(dāng)遇到服務(wù)器集群(由多個(gè)服務(wù)器組成)時(shí),客戶端每一次的訪問可能會(huì)被定向到服務(wù)器集群中不同的服務(wù)器,例如:當(dāng)客戶端的一次訪問被定位到服務(wù)器集群中的服務(wù)器A,由服務(wù)器A生成對(duì)稱秘鑰相關(guān)信息,當(dāng)客戶端下一次訪問時(shí),又被定位到服務(wù)器集群中的服務(wù)器B,此時(shí)服務(wù)器B無法獲知由服務(wù)器A生成的對(duì)稱秘鑰相關(guān)信息,從而無法實(shí)現(xiàn)SSL會(huì)話重用。



技術(shù)實(shí)現(xiàn)要素:

為了解決上述問題,本發(fā)明提供了一種SSL會(huì)話重用的方法、服務(wù)器和系統(tǒng),將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中,可以實(shí)現(xiàn)對(duì)稱密鑰相關(guān)信息生成和存儲(chǔ)的分離,服務(wù)器集群中的任一服務(wù)器都可以從預(yù)設(shè)存儲(chǔ)器中獲取到對(duì)稱密鑰相關(guān)信息,可以在服務(wù)器集群中實(shí)現(xiàn)SSL會(huì)話重用。

為了解決上述問題,本發(fā)明公開了一種SSL會(huì)話重用的方法,所述方法包括:

服務(wù)器與客戶端進(jìn)行握手過程中,為所述客戶端生成會(huì)話標(biāo)識(shí),將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端,根據(jù)所述客戶端返回的預(yù)主加密串生成對(duì)稱密鑰相關(guān)信息,將所述會(huì)話標(biāo)識(shí)和所述對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中;

所述服務(wù)器與所述客戶端再次進(jìn)行握手過程中,當(dāng)所述服務(wù)器能夠從所 述客戶端獲取到所述會(huì)話標(biāo)識(shí)時(shí),所述服務(wù)器根據(jù)所述會(huì)話標(biāo)識(shí),從所述預(yù)設(shè)存儲(chǔ)器中查詢得到所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息;

所述服務(wù)器根據(jù)所述對(duì)稱密鑰相關(guān)信息生成對(duì)稱密鑰,利用所述對(duì)稱密鑰與所述客戶端進(jìn)行加密數(shù)據(jù)傳輸。

進(jìn)一步地,服務(wù)器與客戶端進(jìn)行握手過程中,為所述客戶端生成會(huì)話標(biāo)識(shí),將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端,根據(jù)所述客戶端返回的預(yù)主加密串生成對(duì)稱密鑰相關(guān)信息,將所述會(huì)話標(biāo)識(shí)和所述對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中,包括:

所述服務(wù)器接收所述客戶端的SSL請(qǐng)求,獲取所述SSL請(qǐng)求中攜帶的會(huì)話標(biāo)識(shí)長(zhǎng)度信息;

所述服務(wù)器根據(jù)所述會(huì)話標(biāo)識(shí)長(zhǎng)度信息確定會(huì)話標(biāo)識(shí)長(zhǎng)度為零時(shí),為所述客戶端生成所述會(huì)話標(biāo)識(shí),并將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端,使得所述客戶端接收會(huì)話標(biāo)識(shí),生成并將加密后的所述預(yù)主加密串發(fā)送給所述服務(wù)器;

所述服務(wù)器接收并對(duì)所述客戶端發(fā)送的加密后的所述預(yù)主加密串進(jìn)行解密得到所述預(yù)主加密串,根據(jù)所述預(yù)主加密串生成所述對(duì)稱密鑰相關(guān)信息,將所述會(huì)話標(biāo)識(shí)和所述對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在所述預(yù)設(shè)存儲(chǔ)器中;

所述服務(wù)器根據(jù)所述對(duì)稱密鑰相關(guān)信息生成所述對(duì)稱密鑰,利用所述對(duì)稱密鑰與所述客戶端進(jìn)行加密數(shù)據(jù)傳輸。

進(jìn)一步地,所述服務(wù)器接收所述客戶端的SSL請(qǐng)求,獲取所述SSL請(qǐng)求中攜帶的會(huì)話標(biāo)識(shí)長(zhǎng)度信息之后,還包括:

所述服務(wù)器根據(jù)所述會(huì)話標(biāo)識(shí)長(zhǎng)度信息確定所述會(huì)話標(biāo)識(shí)長(zhǎng)度不為零時(shí),確定所述服務(wù)器與所述客戶端再次進(jìn)行握手過程中;

相應(yīng)地,當(dāng)所述服務(wù)器能夠從所述客戶端獲取到所述會(huì)話標(biāo)識(shí)時(shí),所述服務(wù)器根據(jù)所述會(huì)話標(biāo)識(shí),從所述預(yù)設(shè)存儲(chǔ)器中查詢得到所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息,包括:

所述服務(wù)器判斷所述SSL請(qǐng)求中是否攜帶所述會(huì)話標(biāo)識(shí);

如果所述SSL請(qǐng)求中攜帶所述會(huì)話標(biāo)識(shí),則所述服務(wù)器獲取所述SSL請(qǐng)求中的所述會(huì)話標(biāo)識(shí),所述服務(wù)器根據(jù)所述會(huì)話標(biāo)識(shí),從所述預(yù)設(shè)存儲(chǔ)器中查詢得到所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息,將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端,并向所述客戶端發(fā)送握手結(jié)束信息。

進(jìn)一步地,所述服務(wù)器判斷所述SSL請(qǐng)求中是否攜帶所述會(huì)話標(biāo)識(shí)之后,還包括:

如果所述SSL請(qǐng)求中沒有攜帶所述會(huì)話標(biāo)識(shí),則執(zhí)行為所述客戶端生成所述會(huì)話標(biāo)識(shí),并將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端的步驟。

進(jìn)一步地,所述服務(wù)器根據(jù)所述會(huì)話標(biāo)識(shí),從所述預(yù)設(shè)存儲(chǔ)器中查詢得到所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息,包括:

所述服務(wù)器根據(jù)所述會(huì)話標(biāo)識(shí),查詢所述預(yù)設(shè)存儲(chǔ)器中所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息是否存在;

如果所述預(yù)設(shè)存儲(chǔ)器中所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息存在,則執(zhí)行將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端,并向所述客戶端發(fā)送握手結(jié)束信息的步驟;

如果所述預(yù)設(shè)存儲(chǔ)器中所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息不存在,則執(zhí)行為所述客戶端生成所述會(huì)話標(biāo)識(shí),并將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端的步驟。

進(jìn)一步地,所述對(duì)稱密鑰相關(guān)信息包括:主密鑰master secret、服務(wù)器隨機(jī)數(shù)和客戶端隨機(jī)數(shù)。

進(jìn)一步地,所述服務(wù)器為服務(wù)器集群中的任一所述服務(wù)器,所述預(yù)設(shè)存儲(chǔ)器獨(dú)立于所述服務(wù)器集群中的任一所述服務(wù)器。

為了解決上述問題,本發(fā)明還公開了一種SSL會(huì)話重用的服務(wù)器,所述服務(wù)器包括:

處理模塊,用于在所述服務(wù)器與客戶端進(jìn)行握手過程中,為所述客戶端生成會(huì)話標(biāo)識(shí),將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端,根據(jù)所述客戶端返回的預(yù)主加密串生成對(duì)稱密鑰相關(guān)信息,將所述會(huì)話標(biāo)識(shí)和所述對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中;

查詢模塊,用于在所述服務(wù)器與所述客戶端再次進(jìn)行握手過程中,當(dāng)所述服務(wù)器能夠從所述客戶端獲取到所述會(huì)話標(biāo)識(shí)時(shí),根據(jù)所述會(huì)話標(biāo)識(shí),從所述預(yù)設(shè)存儲(chǔ)器中查詢得到所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息;

傳輸模塊,用于根據(jù)所述對(duì)稱密鑰相關(guān)信息生成對(duì)稱密鑰,利用所述對(duì)稱密鑰與所述客戶端進(jìn)行加密數(shù)據(jù)傳輸。

進(jìn)一步地,所述處理模塊包括:

處理單元,用于接收所述客戶端的SSL請(qǐng)求,獲取所述SSL請(qǐng)求中攜帶的會(huì)話標(biāo)識(shí)長(zhǎng)度信息;

生成單元,用于根據(jù)所述會(huì)話標(biāo)識(shí)長(zhǎng)度信息確定會(huì)話標(biāo)識(shí)長(zhǎng)度為零時(shí),為所述客戶端生成所述會(huì)話標(biāo)識(shí),并將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端,使得所述客戶端接收會(huì)話標(biāo)識(shí),生成并將加密后的所述預(yù)主加密串發(fā)送給所述服務(wù)器;

存儲(chǔ)單元,用于接收并對(duì)所述客戶端發(fā)送的加密后的所述預(yù)主加密串進(jìn)行解密得到所述預(yù)主加密串,根據(jù)所述預(yù)主加密串生成所述對(duì)稱密鑰相關(guān)信息,將所述會(huì)話標(biāo)識(shí)和所述對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在所述預(yù)設(shè)存儲(chǔ)器中;

傳輸單元,用于根據(jù)所述對(duì)稱密鑰相關(guān)信息生成所述對(duì)稱密鑰,利用所述對(duì)稱密鑰與所述客戶端進(jìn)行加密數(shù)據(jù)傳輸。

進(jìn)一步地,所述處理模塊還包括:

確定單元,用于根據(jù)所述會(huì)話標(biāo)識(shí)長(zhǎng)度信息確定所述會(huì)話標(biāo)識(shí)長(zhǎng)度不為零時(shí),確定所述服務(wù)器與所述客戶端再次進(jìn)行握手過程中;

相應(yīng)地,所述查詢模塊包括:

判斷單元,用于判斷所述SSL請(qǐng)求中是否攜帶所述會(huì)話標(biāo)識(shí);

查詢單元,用于如果所述SSL請(qǐng)求中攜帶所述會(huì)話標(biāo)識(shí),則獲取所述SSL請(qǐng)求中的所述會(huì)話標(biāo)識(shí),根據(jù)所述會(huì)話標(biāo)識(shí),從所述預(yù)設(shè)存儲(chǔ)器中查詢得到所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息,將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端,并向所述客戶端發(fā)送握手結(jié)束信息。

進(jìn)一步地,所述處理模塊還包括:

通知單元,用于如果所述SSL請(qǐng)求中沒有攜帶所述會(huì)話標(biāo)識(shí),則通知所述生成單元執(zhí)行為所述客戶端生成所述會(huì)話標(biāo)識(shí),并將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端的步驟。

進(jìn)一步地,所述查詢單元包括:

查詢子單元,用于根據(jù)所述會(huì)話標(biāo)識(shí),查詢所述預(yù)設(shè)存儲(chǔ)器中所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息是否存在;

第一通知子單元,用于如果所述預(yù)設(shè)存儲(chǔ)器中所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息存在,則通知所述查詢單元執(zhí)行將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端,并向所述客戶端發(fā)送握手結(jié)束信息的步驟;

第二通知子單元,用于如果所述預(yù)設(shè)存儲(chǔ)器中所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息不存在,則通知所述生成單元執(zhí)行為所述客戶端生成所述會(huì)話標(biāo)識(shí),并將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端的步驟。

進(jìn)一步地,所述對(duì)稱密鑰相關(guān)信息包括:主密鑰master secret、服務(wù)器隨機(jī)數(shù)和客戶端隨機(jī)數(shù)。

進(jìn)一步地,所述服務(wù)器為服務(wù)器集群中的任一所述服務(wù)器,所述預(yù)設(shè)存儲(chǔ)器獨(dú)立于所述服務(wù)器集群中的任一所述服務(wù)器。

為了解決上述問題,本發(fā)明還公開了一種SSL會(huì)話重用的系統(tǒng),所述系統(tǒng)包括:服務(wù)器和預(yù)設(shè)存儲(chǔ)器;所述服務(wù)器包括:

處理模塊,用于在所述服務(wù)器與客戶端進(jìn)行握手過程中,為所述客戶端生成會(huì)話標(biāo)識(shí),將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端,根據(jù)所述客戶端返回的預(yù)主加密串生成對(duì)稱密鑰相關(guān)信息,將所述會(huì)話標(biāo)識(shí)和所述對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在所述預(yù)設(shè)存儲(chǔ)器中;

查詢模塊,用于在所述服務(wù)器與所述客戶端再次進(jìn)行握手過程中,當(dāng)所述服務(wù)器能夠從所述客戶端獲取到所述會(huì)話標(biāo)識(shí)時(shí),根據(jù)所述會(huì)話標(biāo)識(shí),從所述預(yù)設(shè)存儲(chǔ)器中查詢得到所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息;

傳輸模塊,用于根據(jù)所述對(duì)稱密鑰相關(guān)信息生成對(duì)稱密鑰,利用所述對(duì)稱密鑰與所述客戶端進(jìn)行加密數(shù)據(jù)傳輸;

所述預(yù)設(shè)存儲(chǔ)器,用于將所述會(huì)話標(biāo)識(shí)和所述對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存 儲(chǔ)。

進(jìn)一步地,所述處理模塊包括:

處理單元,用于接收所述客戶端的SSL請(qǐng)求,獲取所述SSL請(qǐng)求中攜帶的會(huì)話標(biāo)識(shí)長(zhǎng)度信息;

生成單元,用于根據(jù)所述會(huì)話標(biāo)識(shí)長(zhǎng)度信息確定會(huì)話標(biāo)識(shí)長(zhǎng)度為零時(shí),為所述客戶端生成所述會(huì)話標(biāo)識(shí),并將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端,使得所述客戶端接收會(huì)話標(biāo)識(shí),生成并將加密后的所述預(yù)主加密串發(fā)送給所述服務(wù)器;

存儲(chǔ)單元,用于接收并對(duì)所述客戶端發(fā)送的加密后的所述預(yù)主加密串進(jìn)行解密得到所述預(yù)主加密串,根據(jù)所述預(yù)主加密串生成所述對(duì)稱密鑰相關(guān)信息,將所述會(huì)話標(biāo)識(shí)和所述對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在所述預(yù)設(shè)存儲(chǔ)器中;

傳輸單元,用于根據(jù)所述對(duì)稱密鑰相關(guān)信息生成所述對(duì)稱密鑰,利用所述對(duì)稱密鑰與所述客戶端進(jìn)行加密數(shù)據(jù)傳輸。

進(jìn)一步地,所述處理模塊還包括:

確定單元,用于根據(jù)所述會(huì)話標(biāo)識(shí)長(zhǎng)度信息確定所述會(huì)話標(biāo)識(shí)長(zhǎng)度不為零時(shí),確定所述服務(wù)器與所述客戶端再次進(jìn)行握手過程中;

相應(yīng)地,所述查詢模塊包括:

判斷單元,用于判斷所述SSL請(qǐng)求中是否攜帶所述會(huì)話標(biāo)識(shí);

查詢單元,用于如果所述SSL請(qǐng)求中攜帶所述會(huì)話標(biāo)識(shí),則獲取所述SSL請(qǐng)求中的所述會(huì)話標(biāo)識(shí),根據(jù)所述會(huì)話標(biāo)識(shí),從所述預(yù)設(shè)存儲(chǔ)器中查詢得到所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息,將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端,并向所述客戶端發(fā)送握手結(jié)束信息。

進(jìn)一步地,所述處理模塊還包括:

通知單元,用于如果所述SSL請(qǐng)求中沒有攜帶所述會(huì)話標(biāo)識(shí),則通知所述生成單元執(zhí)行為所述客戶端生成所述會(huì)話標(biāo)識(shí),并將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端的步驟。

進(jìn)一步地,所述查詢單元包括:

查詢子單元,用于根據(jù)所述會(huì)話標(biāo)識(shí),查詢所述預(yù)設(shè)存儲(chǔ)器中所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息是否存在;

第一通知子單元,用于如果所述預(yù)設(shè)存儲(chǔ)器中所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息存在,則通知所述查詢單元執(zhí)行將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端,并向所述客戶端發(fā)送握手結(jié)束信息的步驟;

第二通知子單元,用于如果所述預(yù)設(shè)存儲(chǔ)器中所述會(huì)話標(biāo)識(shí)對(duì)應(yīng)的所述對(duì)稱密鑰相關(guān)信息不存在,則通知所述生成單元執(zhí)行為所述客戶端生成所述會(huì)話標(biāo)識(shí),并將所述會(huì)話標(biāo)識(shí)發(fā)送給所述客戶端的步驟。

進(jìn)一步地,所述對(duì)稱密鑰相關(guān)信息包括:主密鑰master secret、服務(wù)器隨機(jī)數(shù)和客戶端隨機(jī)數(shù)。

進(jìn)一步地,所述服務(wù)器為系統(tǒng)集群中的任一所述服務(wù)器,所述預(yù)設(shè)存儲(chǔ)器獨(dú)立于所述服務(wù)器集群中的任一所述服務(wù)器。

與現(xiàn)有技術(shù)相比,本發(fā)明可以獲得包括以下技術(shù)效果:

1)將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中,可以實(shí)現(xiàn)對(duì)稱密鑰相關(guān)信息生成和存儲(chǔ)的分離,服務(wù)器集群中的任一服務(wù)器都可以從預(yù)設(shè)存儲(chǔ)器中獲取到對(duì)稱密鑰相關(guān)信息,可以在服務(wù)器集群中實(shí)現(xiàn)SSL會(huì)話重用。

2)將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中,使得對(duì)稱密鑰相關(guān)信息的保存時(shí)間可以完全獨(dú)立,從而無論服務(wù)器down機(jī)或者休眠、重啟等,都不會(huì)影響到對(duì)稱密鑰相關(guān)信息的有效期,實(shí)現(xiàn)了服務(wù)器集群中SSL會(huì)話重用的高可用性。

當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品必不一定需要同時(shí)達(dá)到以上所述的所有技術(shù)效果。

附圖說明

此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的 不當(dāng)限定。在附圖中:

圖1是本發(fā)明實(shí)施例的第一種SSL會(huì)話重用的方法流程圖;

圖2是本發(fā)明實(shí)施例的一種服務(wù)器和預(yù)設(shè)存儲(chǔ)器關(guān)系示意圖;

圖3是本發(fā)明實(shí)施例的第二種SSL會(huì)話重用的方法流程圖;

圖4是本發(fā)明實(shí)施例的另一種服務(wù)器和預(yù)設(shè)存儲(chǔ)器關(guān)系示意圖;

圖5是本發(fā)明實(shí)施例的一種SSL會(huì)話重用的服務(wù)器結(jié)構(gòu)示意圖;

圖6是本發(fā)明實(shí)施例的一種SSL會(huì)話重用的系統(tǒng)結(jié)構(gòu)示意圖。

具體實(shí)施方式

以下將配合附圖及實(shí)施例來詳細(xì)說明本發(fā)明的實(shí)施方式,藉此對(duì)本發(fā)明如何應(yīng)用技術(shù)手段來解決技術(shù)問題并達(dá)成技術(shù)功效的實(shí)現(xiàn)過程能充分理解并據(jù)以實(shí)施。

在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。

內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(ROM)或閃存(flash RAM)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。

計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、其他類型的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括非暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號(hào)和載波。

如在說明書及權(quán)利要求當(dāng)中使用了某些詞匯來指稱特定組件。本領(lǐng)域技 術(shù)人員應(yīng)可理解,硬件制造商可能會(huì)用不同名詞來稱呼同一個(gè)組件。本說明書及權(quán)利要求并不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來作為區(qū)分的準(zhǔn)則。如在通篇說明書及權(quán)利要求當(dāng)中所提及的“包含”為一開放式用語,故應(yīng)解釋成“包含但不限定于”?!按笾隆笔侵冈诳山邮盏恼`差范圍內(nèi),本領(lǐng)域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述技術(shù)問題,基本達(dá)到所述技術(shù)效果。此外,“耦接”一詞在此包含任何直接及間接的電性耦接手段。因此,若文中描述一第一服務(wù)器耦接于一第二服務(wù)器,則代表所述第一服務(wù)器可直接電性耦接于所述第二服務(wù)器,或通過其他服務(wù)器或耦接手段間接地電性耦接至所述第二服務(wù)器。說明書后續(xù)描述為實(shí)施本發(fā)明的較佳實(shí)施方式,然所述描述乃以說明本發(fā)明的一般原則為目的,并非用以限定本發(fā)明的范圍。本發(fā)明的保護(hù)范圍當(dāng)視所附權(quán)利要求所界定者為準(zhǔn)。

還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素。

實(shí)施例描述

下面以一實(shí)施例對(duì)本發(fā)明方法的實(shí)現(xiàn)作進(jìn)一步說明。如圖1所示,為本發(fā)明實(shí)施例的一種SSL會(huì)話重用的方法流程圖,該方法包括:

S101:服務(wù)器與客戶端進(jìn)行握手過程中,為客戶端生成會(huì)話標(biāo)識(shí),將會(huì)話標(biāo)識(shí)發(fā)送給客戶端,根據(jù)客戶端返回的預(yù)主加密串生成對(duì)稱密鑰相關(guān)信息,將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中。

具體地,對(duì)稱密鑰相關(guān)信息(session_info)包括:主密鑰(master secret)、服務(wù)器隨機(jī)數(shù)和客戶端隨機(jī)數(shù)等。其中,主密鑰是根據(jù)預(yù)主加密串(PreMaster Secret字串)、服務(wù)器隨機(jī)數(shù)和客戶端隨機(jī)數(shù)等生成的,具體生成過程與現(xiàn)有方法類似,此處不再贅述,服務(wù)器隨機(jī)數(shù)是服務(wù)器隨機(jī)生成的隨機(jī)數(shù),可以在與客戶端交互過程中發(fā)送給客戶端,客戶端隨機(jī)數(shù)是客戶端隨機(jī)生成的隨機(jī)數(shù),可以在與服務(wù)器交互過程中發(fā)送給服務(wù)器。并且,對(duì)稱密鑰相關(guān)信 息還可以包括對(duì)稱密鑰相關(guān)信息的有效時(shí)間等,以便監(jiān)控對(duì)稱密鑰相關(guān)信息是否已經(jīng)過期失效。

具體地,參見圖2,服務(wù)器可以為服務(wù)器集群中的任一服務(wù)器,預(yù)設(shè)存儲(chǔ)器獨(dú)立于服務(wù)器集群中的任一服務(wù)器,當(dāng)服務(wù)器集群中包括多個(gè)服務(wù)器時(shí),多個(gè)服務(wù)器可以通過負(fù)載均衡器與終端設(shè)備進(jìn)行交互,以實(shí)現(xiàn)多個(gè)服務(wù)器之間的任務(wù)均衡。服務(wù)器可以是能夠提供SSL接入服務(wù)的服務(wù)器,包括但不限于HTTPs、POPs、SMTPs、FTPs,預(yù)設(shè)存儲(chǔ)器可以是任何高性能存儲(chǔ)裝置。

S102:服務(wù)器與客戶端再次進(jìn)行握手過程中,當(dāng)服務(wù)器能夠從客戶端獲取到會(huì)話標(biāo)識(shí)時(shí),服務(wù)器根據(jù)會(huì)話標(biāo)識(shí),從預(yù)設(shè)存儲(chǔ)器中查詢得到會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息。

具體地,服務(wù)器能夠從預(yù)設(shè)存儲(chǔ)器中查詢得到會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息,則說明對(duì)稱密鑰相關(guān)信息還沒有過期或沒有因?yàn)轭A(yù)設(shè)存儲(chǔ)器重啟等原因而失效,對(duì)稱密鑰相關(guān)信息可以用來生成對(duì)稱密鑰。

S103:服務(wù)器根據(jù)對(duì)稱密鑰相關(guān)信息生成對(duì)稱密鑰,利用對(duì)稱密鑰與客戶端進(jìn)行加密數(shù)據(jù)傳輸。

具體地,服務(wù)器利用對(duì)稱密鑰與客戶端進(jìn)行加密數(shù)據(jù)傳輸時(shí),客戶端會(huì)根據(jù)客戶端的預(yù)主加密串、服務(wù)器隨機(jī)數(shù)和客戶端隨機(jī)數(shù)等生成主密鑰,然后根據(jù)主密鑰、服務(wù)器隨機(jī)數(shù)和客戶端隨機(jī)數(shù)等生成對(duì)稱密鑰,利用對(duì)稱密鑰對(duì)服務(wù)器發(fā)送過來的利用對(duì)稱密鑰加密后的明文進(jìn)行解密,利用對(duì)稱密鑰對(duì)發(fā)送到服務(wù)器的明文進(jìn)行加密等,實(shí)現(xiàn)加密數(shù)據(jù)傳輸。

具體地,在本實(shí)施例的一優(yōu)選實(shí)施例中,參見圖3,SSL會(huì)話重用的方法包括:

S201:服務(wù)器接收客戶端的SSL請(qǐng)求,獲取SSL請(qǐng)求中攜帶的會(huì)話標(biāo)識(shí)長(zhǎng)度信息。

具體地,客戶端的SSL請(qǐng)求可以是客戶端(Client)Hello報(bào)文。會(huì)話標(biāo)識(shí)長(zhǎng)度信息可能是SESSOIIN ID LENGTH:0、或SESSOIIN ID LENGTH:32 等。

具體地,如果SSL請(qǐng)求中沒有攜帶會(huì)話標(biāo)識(shí)長(zhǎng)度信息,服務(wù)器沒有獲取到SSL請(qǐng)求中攜帶的會(huì)話標(biāo)識(shí)長(zhǎng)度信息,則證明客戶端不接受SSL會(huì)話重用,則服務(wù)器后續(xù)不會(huì)生成會(huì)話標(biāo)識(shí),服務(wù)器和客戶端之間按照現(xiàn)有的非SSL會(huì)話重用的方法進(jìn)行握手過程和數(shù)據(jù)加密傳輸過程。

S202:服務(wù)器根據(jù)會(huì)話標(biāo)識(shí)長(zhǎng)度信息判斷會(huì)話標(biāo)識(shí)長(zhǎng)度是否為零,如果會(huì)話標(biāo)識(shí)長(zhǎng)度為零,則執(zhí)行S203;如果會(huì)話標(biāo)識(shí)長(zhǎng)度不為零,則執(zhí)行S206。

具體地,如果會(huì)話標(biāo)識(shí)長(zhǎng)度信息為SESSOIIN ID LENGTH:32,則會(huì)話標(biāo)識(shí)長(zhǎng)度不為零,如果會(huì)話標(biāo)識(shí)長(zhǎng)度信息為SESSOIIN ID LENGTH:0,則會(huì)話標(biāo)識(shí)長(zhǎng)度為零。

S203:服務(wù)器為客戶端生成會(huì)話標(biāo)識(shí),并將會(huì)話標(biāo)識(shí)發(fā)送給客戶端,使得客戶端接收會(huì)話標(biāo)識(shí),生成并將加密后的預(yù)主加密串發(fā)送給服務(wù)器。

具體地,根據(jù)SSL/TLS協(xié)議,會(huì)話標(biāo)識(shí)(SESSION ID)可以是一個(gè)32字節(jié)且非零的隨機(jī)數(shù)、隨機(jī)字符串等(SESSION ID:token<32長(zhǎng)>)。

S204:服務(wù)器接收并對(duì)客戶端發(fā)送的加密后的預(yù)主加密串進(jìn)行解密得到預(yù)主加密串,根據(jù)預(yù)主加密串生成對(duì)稱密鑰相關(guān)信息,將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中。

具體地,根據(jù)預(yù)主加密串生成對(duì)稱密鑰相關(guān)信息可以是根據(jù)預(yù)主加密串、服務(wù)器隨機(jī)數(shù)和客戶端隨機(jī)數(shù)等生成主密鑰,然后將主密鑰、服務(wù)器隨機(jī)數(shù)和客戶端隨機(jī)數(shù)作為對(duì)稱密鑰相關(guān)信息。

具體地,服務(wù)器接收并對(duì)客戶端發(fā)送的加密后的預(yù)主加密串進(jìn)行解密得到預(yù)主加密串后,還可以先判斷預(yù)主加密串是否完整無缺,如果預(yù)主加密串完整無缺,再根據(jù)預(yù)主加密串生成對(duì)稱密鑰相關(guān)信息,將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中;如果預(yù)主加密串不是完整無缺,則服務(wù)器向客戶端發(fā)送結(jié)束報(bào)文,斷開與客戶端的連接,不再進(jìn)行后續(xù)操作。

S205:服務(wù)器根據(jù)對(duì)稱密鑰相關(guān)信息生成對(duì)稱密鑰,利用對(duì)稱密鑰與客戶端進(jìn)行加密數(shù)據(jù)傳輸,然后結(jié)束。

S206:服務(wù)器判斷SSL請(qǐng)求中是否攜帶會(huì)話標(biāo)識(shí),如果SSL請(qǐng)求中攜 帶會(huì)話標(biāo)識(shí),則執(zhí)行S207;如果SSL請(qǐng)求中沒有攜帶會(huì)話標(biāo)識(shí),則執(zhí)行S203。

具體地,服務(wù)器根據(jù)會(huì)話標(biāo)識(shí)長(zhǎng)度信息確定會(huì)話標(biāo)識(shí)長(zhǎng)度不為零時(shí),確定服務(wù)器與客戶端可能是再次進(jìn)行握手過程中,SSL請(qǐng)求中可能攜帶服務(wù)器在初次握手過程中為客戶端生成的會(huì)話標(biāo)識(shí)。

S207:服務(wù)器獲取SSL請(qǐng)求中的會(huì)話標(biāo)識(shí)。

S208:服務(wù)器根據(jù)會(huì)話標(biāo)識(shí),查詢預(yù)設(shè)存儲(chǔ)器中會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息是否存在,如果預(yù)設(shè)存儲(chǔ)器中會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息存在,則執(zhí)行S209;如果預(yù)設(shè)存儲(chǔ)器中會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息不存在,則執(zhí)行S203。

具體地,如果預(yù)設(shè)存儲(chǔ)器中會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息存在,則說明對(duì)稱密鑰相關(guān)信息還沒有過期或沒有因?yàn)轭A(yù)設(shè)存儲(chǔ)器重啟等原因而失效,對(duì)稱密鑰相關(guān)信息可以用來生成對(duì)稱密鑰。如果預(yù)設(shè)存儲(chǔ)器中會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息不存在,則說明對(duì)稱密鑰相關(guān)信息可能因?yàn)檫^期或預(yù)設(shè)存儲(chǔ)器重啟等原因而失效。

S209:服務(wù)器將會(huì)話標(biāo)識(shí)發(fā)送給客戶端,并向客戶端發(fā)送握手結(jié)束信息,然后執(zhí)行S205。

具體地,服務(wù)器將會(huì)話標(biāo)識(shí)發(fā)送給客戶端,并向客戶端發(fā)送握手結(jié)束信息(例如:finish報(bào)文),以告知客戶端本次握手過程完成可以進(jìn)行后續(xù)流程。

為了便于理解,當(dāng)服務(wù)器為服務(wù)器集群中的任一服務(wù)器,預(yù)設(shè)存儲(chǔ)器獨(dú)立于服務(wù)器集群中的任一服務(wù)器時(shí),參見圖4,服務(wù)器集群中的服務(wù)器1與客戶端進(jìn)行握手過程中,為客戶端生成會(huì)話標(biāo)識(shí),將會(huì)話標(biāo)識(shí)發(fā)送給客戶端,根據(jù)客戶端返回的預(yù)主加密串生成對(duì)稱密鑰相關(guān)信息,將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中;服務(wù)器集群中的服務(wù)器2與客戶端再次進(jìn)行握手過程中,當(dāng)服務(wù)器2能夠從客戶端獲取到會(huì)話標(biāo)識(shí)時(shí),服務(wù)器2根據(jù)會(huì)話標(biāo)識(shí),從預(yù)設(shè)存儲(chǔ)器中查詢得到會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息;服務(wù)器2根據(jù)對(duì)稱密鑰相關(guān)信息生成對(duì)稱密鑰,利用對(duì)稱密鑰與客戶端進(jìn)行加密數(shù)據(jù)傳輸。

本實(shí)施例所述的SSL會(huì)話重用的方法,將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中,可以實(shí)現(xiàn)對(duì)稱密鑰相關(guān)信息生成和存儲(chǔ)的分離,服務(wù)器集群中的任一服務(wù)器都可以從預(yù)設(shè)存儲(chǔ)器中獲取到對(duì)稱密鑰相關(guān)信息,可以在服務(wù)器集群中實(shí)現(xiàn)SSL會(huì)話重用。將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中,使得對(duì)稱密鑰相關(guān)信息的保存時(shí)間可以完全獨(dú)立,從而無論服務(wù)器down機(jī)或者休眠、重啟等,都不會(huì)影響到對(duì)稱密鑰相關(guān)信息的有效期,實(shí)現(xiàn)了服務(wù)器集群中SSL會(huì)話重用的高可用性。

如圖5所示,是本發(fā)明實(shí)施例的一種SSL會(huì)話重用的服務(wù)器結(jié)構(gòu)圖,該服務(wù)器包括:

處理模塊301,用于在服務(wù)器與客戶端進(jìn)行握手過程中,為客戶端生成會(huì)話標(biāo)識(shí),將會(huì)話標(biāo)識(shí)發(fā)送給客戶端,根據(jù)客戶端返回的預(yù)主加密串生成對(duì)稱密鑰相關(guān)信息,將會(huì)話標(biāo)識(shí)和所述對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中;

查詢模塊302,用于在服務(wù)器與客戶端再次進(jìn)行握手過程中,當(dāng)服務(wù)器能夠從客戶端獲取到會(huì)話標(biāo)識(shí)時(shí),根據(jù)會(huì)話標(biāo)識(shí),從預(yù)設(shè)存儲(chǔ)器中查詢得到會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息;

傳輸模塊303,用于根據(jù)對(duì)稱密鑰相關(guān)信息生成對(duì)稱密鑰,利用對(duì)稱密鑰與客戶端進(jìn)行加密數(shù)據(jù)傳輸。

進(jìn)一步地,處理模塊301包括:

處理單元,用于接收客戶端的SSL請(qǐng)求,獲取SSL請(qǐng)求中攜帶的會(huì)話標(biāo)識(shí)長(zhǎng)度信息;

生成單元,用于根據(jù)會(huì)話標(biāo)識(shí)長(zhǎng)度信息確定會(huì)話標(biāo)識(shí)長(zhǎng)度為零時(shí),為客戶端生成會(huì)話標(biāo)識(shí),并將會(huì)話標(biāo)識(shí)發(fā)送給客戶端,使得客戶端接收會(huì)話標(biāo)識(shí),生成并將加密后的預(yù)主加密串發(fā)送給服務(wù)器;

存儲(chǔ)單元,用于接收并對(duì)客戶端發(fā)送的加密后的預(yù)主加密串進(jìn)行解密得到預(yù)主加密串,根據(jù)預(yù)主加密串生成對(duì)稱密鑰相關(guān)信息,將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中;

傳輸單元,用于根據(jù)對(duì)稱密鑰相關(guān)信息生成對(duì)稱密鑰,利用對(duì)稱密鑰與客戶端進(jìn)行加密數(shù)據(jù)傳輸。

進(jìn)一步地,處理模塊301還包括:

確定單元,用于根據(jù)會(huì)話標(biāo)識(shí)長(zhǎng)度信息確定會(huì)話標(biāo)識(shí)長(zhǎng)度不為零時(shí),確定服務(wù)器與客戶端再次進(jìn)行握手過程中;

相應(yīng)地,查詢模塊302包括:

判斷單元,用于判斷SSL請(qǐng)求中是否攜帶會(huì)話標(biāo)識(shí);

查詢單元,用于如果SSL請(qǐng)求中攜帶會(huì)話標(biāo)識(shí),則獲取SSL請(qǐng)求中的會(huì)話標(biāo)識(shí),根據(jù)會(huì)話標(biāo)識(shí),從預(yù)設(shè)存儲(chǔ)器中查詢得到會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息,將會(huì)話標(biāo)識(shí)發(fā)送給客戶端,并向客戶端發(fā)送握手結(jié)束信息。

進(jìn)一步地,處理模塊301還包括:

通知單元,用于如果SSL請(qǐng)求中沒有攜帶會(huì)話標(biāo)識(shí),則通知生成單元執(zhí)行為客戶端生成會(huì)話標(biāo)識(shí),并將會(huì)話標(biāo)識(shí)發(fā)送給客戶端的步驟。

進(jìn)一步地,查詢單元包括:

查詢子單元,用于根據(jù)會(huì)話標(biāo)識(shí),查詢預(yù)設(shè)存儲(chǔ)器中會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息是否存在;

第一通知子單元,用于如果預(yù)設(shè)存儲(chǔ)器中會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息存在,則通知查詢單元執(zhí)行將會(huì)話標(biāo)識(shí)發(fā)送給客戶端,并向客戶端發(fā)送握手結(jié)束信息的步驟;

第二通知子單元,用于如果預(yù)設(shè)存儲(chǔ)器中會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息不存在,則通知生成單元執(zhí)行為客戶端生成會(huì)話標(biāo)識(shí),并將會(huì)話標(biāo)識(shí)發(fā)送給客戶端的步驟。

進(jìn)一步地,對(duì)稱密鑰相關(guān)信息包括:主密鑰master secret、服務(wù)器隨機(jī)數(shù)和客戶端隨機(jī)數(shù)。

進(jìn)一步地,服務(wù)器為服務(wù)器集群中的任一服務(wù)器,預(yù)設(shè)存儲(chǔ)器獨(dú)立于服務(wù)器集群中的任一服務(wù)器。

本實(shí)施例所述的SSL會(huì)話重用的服務(wù)器,將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信 息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中,可以實(shí)現(xiàn)對(duì)稱密鑰相關(guān)信息生成和存儲(chǔ)的分離,服務(wù)器集群中的任一服務(wù)器都可以從預(yù)設(shè)存儲(chǔ)器中獲取到對(duì)稱密鑰相關(guān)信息,可以在服務(wù)器集群中實(shí)現(xiàn)SSL會(huì)話重用。將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中,使得對(duì)稱密鑰相關(guān)信息的保存時(shí)間可以完全獨(dú)立,從而無論服務(wù)器down機(jī)或者休眠、重啟等,都不會(huì)影響到對(duì)稱密鑰相關(guān)信息的有效期,實(shí)現(xiàn)了服務(wù)器集群中SSL會(huì)話重用的高可用性。

如圖6所示,是本發(fā)明實(shí)施例的一種SSL會(huì)話重用的系統(tǒng)結(jié)構(gòu)圖,該系統(tǒng)包括:服務(wù)器40和預(yù)設(shè)存儲(chǔ)器50;服務(wù)器40包括:

處理模塊401,用于在服務(wù)器40與客戶端進(jìn)行握手過程中,為客戶端生成會(huì)話標(biāo)識(shí),將會(huì)話標(biāo)識(shí)發(fā)送給客戶端,根據(jù)客戶端返回的預(yù)主加密串生成對(duì)稱密鑰相關(guān)信息,將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器50中;

查詢模塊402,用于在服務(wù)器40與客戶端再次進(jìn)行握手過程中,當(dāng)服務(wù)器40能夠從客戶端獲取到會(huì)話標(biāo)識(shí)時(shí),根據(jù)會(huì)話標(biāo)識(shí),從預(yù)設(shè)存儲(chǔ)器50中查詢得到會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息;

傳輸模塊403,用于根據(jù)對(duì)稱密鑰相關(guān)信息生成對(duì)稱密鑰,利用對(duì)稱密鑰與客戶端進(jìn)行加密數(shù)據(jù)傳輸;

預(yù)設(shè)存儲(chǔ)器50,用于將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)。

進(jìn)一步地,處理模塊401包括:

處理單元,用于接收客戶端的SSL請(qǐng)求,獲取SSL請(qǐng)求中攜帶的會(huì)話標(biāo)識(shí)長(zhǎng)度信息;

生成單元,用于根據(jù)會(huì)話標(biāo)識(shí)長(zhǎng)度信息確定會(huì)話標(biāo)識(shí)長(zhǎng)度為零時(shí),為客戶端生成會(huì)話標(biāo)識(shí),并將會(huì)話標(biāo)識(shí)發(fā)送給客戶端,使得客戶端接收會(huì)話標(biāo)識(shí),生成并將加密后的所述預(yù)主加密串發(fā)送給服務(wù)器40;

存儲(chǔ)單元,用于接收并對(duì)客戶端發(fā)送的加密后的預(yù)主加密串進(jìn)行解密得到預(yù)主加密串,根據(jù)預(yù)主加密串生成對(duì)稱密鑰相關(guān)信息,將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器50中;

傳輸單元,用于根據(jù)對(duì)稱密鑰相關(guān)信息生成對(duì)稱密鑰,利用對(duì)稱密鑰與客戶端進(jìn)行加密數(shù)據(jù)傳輸。

進(jìn)一步地,處理模塊401還包括:

確定單元,用于根據(jù)會(huì)話標(biāo)識(shí)長(zhǎng)度信息確定會(huì)話標(biāo)識(shí)長(zhǎng)度不為零時(shí),確定服務(wù)器與客戶端再次進(jìn)行握手過程中;

相應(yīng)地,查詢模塊包括:

判斷單元,用于判斷SSL請(qǐng)求中是否攜帶會(huì)話標(biāo)識(shí);

查詢單元,用于如果SSL請(qǐng)求中攜帶會(huì)話標(biāo)識(shí),則獲取SSL請(qǐng)求中的會(huì)話標(biāo)識(shí),根據(jù)會(huì)話標(biāo)識(shí),從預(yù)設(shè)存儲(chǔ)器50中查詢得到會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息,將會(huì)話標(biāo)識(shí)發(fā)送給客戶端,并向客戶端發(fā)送握手結(jié)束信息。

進(jìn)一步地,處理模塊401還包括:

通知單元,用于如果SSL請(qǐng)求中沒有攜帶會(huì)話標(biāo)識(shí),則通知生成單元執(zhí)行為客戶端生成會(huì)話標(biāo)識(shí),并將會(huì)話標(biāo)識(shí)發(fā)送給客戶端的步驟。

進(jìn)一步地,查詢單元包括:

查詢子單元,用于根據(jù)會(huì)話標(biāo)識(shí),查詢預(yù)設(shè)存儲(chǔ)器50中會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息是否存在;

第一通知子單元,用于如果預(yù)設(shè)存儲(chǔ)器50中會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息存在,則通知查詢單元執(zhí)行將會(huì)話標(biāo)識(shí)發(fā)送給客戶端,并向客戶端發(fā)送握手結(jié)束信息的步驟;

第二通知子單元,用于如果預(yù)設(shè)存儲(chǔ)器50中會(huì)話標(biāo)識(shí)對(duì)應(yīng)的對(duì)稱密鑰相關(guān)信息不存在,則通知生成單元執(zhí)行為客戶端生成會(huì)話標(biāo)識(shí),并將會(huì)話標(biāo)識(shí)發(fā)送給客戶端的步驟。

進(jìn)一步地,對(duì)稱密鑰相關(guān)信息包括:主密鑰master secret、服務(wù)器隨機(jī)數(shù)和客戶端隨機(jī)數(shù)。

進(jìn)一步地,服務(wù)器40為服務(wù)器集群中的任一服務(wù)器40,預(yù)設(shè)存儲(chǔ)器50獨(dú)立于服務(wù)器集群中的任一服務(wù)器40。

本實(shí)施例所述的SSL會(huì)話重用的系統(tǒng),將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息 對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中,可以實(shí)現(xiàn)對(duì)稱密鑰相關(guān)信息生成和存儲(chǔ)的分離,服務(wù)器集群中的任一服務(wù)器都可以從預(yù)設(shè)存儲(chǔ)器中獲取到對(duì)稱密鑰相關(guān)信息,可以在服務(wù)器集群中實(shí)現(xiàn)SSL會(huì)話重用。將會(huì)話標(biāo)識(shí)和對(duì)稱密鑰相關(guān)信息對(duì)應(yīng)存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中,使得對(duì)稱密鑰相關(guān)信息的保存時(shí)間可以完全獨(dú)立,從而無論服務(wù)器down機(jī)或者休眠、重啟等,都不會(huì)影響到對(duì)稱密鑰相關(guān)信息的有效期,實(shí)現(xiàn)了服務(wù)器集群中SSL會(huì)話重用的高可用性。

服務(wù)器、系統(tǒng)與前述的方法流程描述對(duì)應(yīng),不足之處參考上述方法流程的敘述,不再一一贅述。

上述說明示出并描述了本發(fā)明的若干優(yōu)選實(shí)施例,但如前所述,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對(duì)其他實(shí)施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識(shí)進(jìn)行改動(dòng)。而本領(lǐng)域人員所進(jìn)行的改動(dòng)和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1