本申請涉及通信領域,特別涉及一種減少SSL占用空間的方法及系統(tǒng)。
背景技術:
SSL(Secure Sockets Layer安全套接層),是為網(wǎng)絡通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。隨著技術的發(fā)展,人們對減少SSL占用空間的要求越來越高。
現(xiàn)有的SSL建立連接之前,客戶端需要裝載一個用戶SSL連接的根證書,用戶驗證服務器傳過來的證書的合法性,這樣需要提供幾k字節(jié)的存儲空間來存儲證書文件,且證書文件是一個加密文件,需要消耗較多的CPU時間和內(nèi)存空間來解密根證書,在SSL握手過程中,同樣需要較多的CPU時間和內(nèi)存空間來解密服務器發(fā)送過來的服務器證書,非常浪費內(nèi)存空間和CPU處理時間。
因此,如何能夠減少SSL占用空間是本領域技術人員目前需要解決的技術問題。
技術實現(xiàn)要素:
本申請所要解決的技術問題是提供一種減少SSL占用空間的方法及系統(tǒng),解決了現(xiàn)有技術中浪費內(nèi)存空間和CPU處理時間的問題。
其具體方案如下:
一種減少SSL占用空間的方法,將服務器信息寫入客戶端的SSL軟件代碼中,并且預先在客戶端和服務器端分別建立一個相同的預設密鑰,該方法包括:
所述客戶端向所述服務器端發(fā)送連接請求;
所述服務器端接收到所述連接請求后,向所述客戶端發(fā)送利用所述預設密鑰加密后的偽證書文件,所述偽證書文件包含所述服務器的公鑰數(shù)據(jù)和身份信息;
所述客戶端接收到所述偽證書文件后,利用所述預設密鑰對所述偽證書文件進行解密,得到所述服務器的公鑰數(shù)據(jù)和身份信息;
所述客戶端比較所述身份信息與所述寫入客戶端的SSL軟件代碼中的服務器信息是否相符合,若是,則所述服務器滿足預設的服務器,若否,則所述客戶端斷掉與所述服務器的連接。
上述的方法,優(yōu)選的,所述服務器信息包括:
簽名算法、用戶名稱、證書有效期和公鑰信息。
上述的方法,優(yōu)選的,還包括:
存儲所述加密后的偽證書文件和所述服務器的公鑰數(shù)據(jù)和身份信息。
上述的方法,優(yōu)選的,還包括:
查詢所述服務器的公鑰數(shù)據(jù)和身份信息。
一種減少SSL占用空間的系統(tǒng),該系統(tǒng)包括:
第一發(fā)送單元,用于所述客戶端向所述服務器端發(fā)送連接請求;
第二發(fā)送單元,用于所述服務器端接收到所述連接請求后,向所述客戶端發(fā)送利用所述預設密鑰加密后的偽證書文件,所述偽證書文件包含所述服務器的公鑰數(shù)據(jù)和身份信息;
解密單元,用于所述客戶端接收到所述偽證書文件后,利用所述預設密鑰對所述偽證書文件進行解密,得到所述服務器的公鑰數(shù)據(jù)和身份信息;
比較單元,用于所述客戶端比較所述身份信息與所述寫入客戶端的SSL軟件代碼中的服務器信息是否相符合,若是,則所述服務器滿足預設的服務器,若否,則所述客戶端斷掉與所述服務器的連接。
上述的系統(tǒng),優(yōu)選的,還包括:
寫入單元,用于將服務器信息寫入客戶端的SSL軟件代碼中;
建立單元,用于預先在客戶端和服務器端分別建立一個相同的預設密鑰。
上述的系統(tǒng),優(yōu)選的,還包括:
存儲單元,用于存儲所述加密后的偽證書文件和所述服務器的公鑰數(shù)據(jù)和身份信息。
上述的系統(tǒng),優(yōu)選的,還包括:
查詢單元,用于查詢所述服務器的公鑰數(shù)據(jù)和身份信息。
本申請?zhí)峁┑囊环N減少SSL占用空間的方法,進行所述SSL連接之前,需要將服務器信息寫入客戶端的SSL軟件代碼中,并且預先在客戶端和服務器端分別建立一個相同的預設密鑰,然后再執(zhí)行所述SSL連接的過程,包括所述客戶端向所述服務器端發(fā)送連接請求;所述服務器端接收到所述連接請求后,向所述客戶端發(fā)送利用所述預設密鑰加密后的偽證書文件,所述偽證書文件包含所述服務器的公鑰數(shù)據(jù)和身份信息;所述客戶端接收到所述偽證書文件后,利用所述預設密鑰對所述偽證書文件進行解密,得到所述服務器的公鑰數(shù)據(jù)和身份信息;所述客戶端比較所述身份信息與所述寫入客戶端的SSL軟件代碼中的服務器信息是否相符合,若是,則所述服務器滿足預設的服務器,若否,則所述客戶端斷掉與所述服務器的連接。本申請中不再在客戶端下載根證書文件,而是所述服務器直接向所述客戶端發(fā)送一個偽證書文件,所述偽證書文件為一個明文文件,包含了所述服務器的公鑰數(shù)據(jù)和身份信息,節(jié)省了存儲根證書文件的空間,以及解密所述根證書文件的空間和時間,減少了證書對CPU、內(nèi)存和Flash等的消耗。
附圖說明
為了更清楚地說明本申請實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請的一種減少SSL占用空間的方法實施例1的流程圖;
圖2為本申請的一種減少SSL占用空間的系統(tǒng)實施例1的結構示意圖;
圖3為本申請的一種減少SSL占用空間的系統(tǒng)實施例2的結構示意圖。
具體實施方式
本發(fā)明的核心是提供一種減少SSL占用空間的方法及系統(tǒng),解決了現(xiàn)有技術中浪費內(nèi)存空間和CPU處理時間的問題。
下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
參考圖1,示出了本申請一種減少SSL占用空間的方法實施例1的流程圖,可以包括以下步驟:
步驟S101:所述客戶端向所述服務器端發(fā)送連接請求。
本申請中,在進行所述SSL連接之前,需要先將服務器信息寫入客戶端的SSL軟件代碼中,并且預先在客戶端和服務器端分別建立一個相同的預設密鑰。
所述服務器信息一般是相同的,包括:
簽名算法、用戶名稱、證書有效期和公鑰信息等信息。
步驟S102:所述服務器端接收到所述連接請求后,向所述客戶端發(fā)送利用所述預設密鑰加密后的偽證書文件,所述偽證書文件包含所述服務器的公鑰數(shù)據(jù)和身份信息。
所述服務器端向所述客戶端發(fā)送一個按照所述預設密鑰加密后的偽證書文件,所述偽證書文件為不加密的明文文件,所述按照預設密鑰加密是為了保證傳輸過程中所述偽證書文件的安全性,只是對傳輸過程中進行的加密,所述偽證書文件中包含的明文信息為所述服務器的公鑰數(shù)據(jù)和身份信息。
步驟S103:所述客戶端接收到所述偽證書文件后,利用所述預設密鑰對所述偽證書文件進行解密,得到所述服務器的公鑰數(shù)據(jù)和身份信息。
所述客戶端接收到所述偽證書文件后,利用預先在所述客戶端建立的預設密鑰對所述偽證書文件進行解密,解密出所述偽證書文件,直接獲取所述偽證書文件中的明文信息。
步驟S104:所述客戶端比較所述身份信息與所述寫入客戶端的SSL軟件代碼中的服務器信息是否相符合,若是,則執(zhí)行步驟S105:所述服務器滿足預設的服務器,若否,則執(zhí)行步驟S106:所述客戶端斷掉與所述服務器的連接。
所述客戶端得到所述服務器傳過來的明文信息后,將所述身份信息與所述客戶端SSL代碼中寫入的服務器信息相比較,如果所述身份信息與所述客戶端SSL代碼中寫入的服務器信息相符合,那么證明所述服務器為所述客戶端想要連接的服務器,如果所述身份信息與所述客戶端SSL代碼中寫入的服務器信息不相符合,那么所述服務器不是所述客戶端想要連接的服務器,此時,所述客戶端斷掉與所述服務器的連接。
本申請?zhí)峁┑囊环N減少SSL占用空間的方法,進行所述SSL連接之前,需要將服務器信息寫入客戶端的SSL軟件代碼中,并且預先在客戶端和服務器端分別建立一個相同的預設密鑰,然后再執(zhí)行所述SSL連接的過程,包括所述客戶端向所述服務器端發(fā)送連接請求;所述服務器端接收到所述連接請求后,向所述客戶端發(fā)送利用所述預設密鑰加密后的偽證書文件,所述偽證書文件包含所述服務器的公鑰數(shù)據(jù)和身份信息;所述客戶端接收到所述偽證書文件后,利用所述預設密鑰對所述偽證書文件進行解密,得到所述服務器的公鑰數(shù)據(jù)和身份信息;所述客戶端比較所述身份信息與所述寫入客戶端的SSL軟件代碼中的服務器信息是否相符合,若是,則所述服務器滿足預設的服務器,若否,則所述客戶端斷掉與所述服務器的連接。本申請中不再在客戶端下載根證書文件,而是所述服務器直接向所述客戶端發(fā)送一個偽證書文件,所述偽證書文件為一個明文文件,包含了所述服務器的公鑰數(shù)據(jù)和身份信息,節(jié)省了存儲根證書文件的空間,以及解密所述根證書文件的空間和時間,減少了證書對CPU、內(nèi)存和Flash等的消耗。
本申請中,還包括:
存儲所述加密后的偽證書文件和所述服務器的公鑰數(shù)據(jù)和身份信息。
方便后續(xù)對所述加密后的偽證書文件和所述服務器的公鑰數(shù)據(jù)和身份信息進行查詢。
查詢所述服務器的公鑰數(shù)據(jù)和身份信息。
與上述本申請一種減少SSL占用空間的方法實施例1所提供的方法相對應,參見圖2,本申請還提供了一種減少SSL占用空間的系統(tǒng)實施例1,在本實施例中,該系統(tǒng)包括:
第一發(fā)送單元201,用于所述客戶端向所述服務器端發(fā)送連接請求。
第二發(fā)送單元202,用于所述服務器端接收到所述連接請求后,向所述客戶端發(fā)送利用所述預設密鑰加密后的偽證書文件,所述偽證書文件包含所述服務器的公鑰數(shù)據(jù)和身份信息。
解密單元203,用于所述客戶端接收到所述偽證書文件后,利用所述預設密鑰對所述偽證書文件進行解密,得到所述服務器的公鑰數(shù)據(jù)和身份信息。
比較單元204,用于所述客戶端比較所述身份信息與所述寫入客戶端的SSL軟件代碼中的服務器信息是否相符合,若是,則所述服務器滿足預設的服務器,若否,則所述客戶端斷掉與所述服務器的連接。
參見圖3,本申請還提供了一種減少SSL占用空間的系統(tǒng)實施例2,在本實施例中,該系統(tǒng)包括:
寫入單元301,用于將服務器信息寫入客戶端的SSL軟件代碼中。
建立單元302,用于預先在客戶端和服務器端分別建立一個相同的預設密鑰。
本申請中,還包括:
存儲單元,用于存儲所述加密后的偽證書文件和所述服務器的公鑰數(shù)據(jù)和身份信息。
本申請中,還包括:
查詢單元,用于查詢所述服務器的公鑰數(shù)據(jù)和身份信息。
綜上所述,本申請?zhí)峁┝艘环N減少SSL占用空間的方法及系統(tǒng),能夠減少SSL的占用空間。
需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置類實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)。基于這樣的理解,本申請的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本申請各個實施例或者實施例的某些部分所述的方法。
以上對本申請所提供的一種減少SSL占用空間的方法及系統(tǒng)進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本申請的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本申請的限制。