本發明涉及通信領域,具體而言,涉及一種信息處理方法和裝置。
背景技術:
目前,安全套接層(securesocketslayer,簡稱為ssl)網關的服務器多為專有的網關設備。而對于ssl服務器軟件,通常采用的算法為國際算法。
服務器軟件通常只能配置一張站點證書,比如,只支持簽名證書的配置。不支持國密ssl,如apache、nginx等。如果重新改造國際常規的服務器軟件,現有的云廠商以及服務器都需要重新部署,后期的部署工作量和工作難度都較大。因此在國密改造過程中,通常采用重新采購ssl硬件網關的方法。
針對現有技術中在國密改造過程中,改造成本大的問題,目前尚未提出有效的解決方案。
技術實現要素:
本發明的主要目的在于提供一種信息處理方法和裝置,以至少解決在國密改造過程中,改造成本大的問題。
為了實現上述目的,根據本發明的一個方面,提供了一種信息處理方法。該信息處理方法包括:接收客戶端發送的第一請求,其中,第一請求用于請求與目標服務器進行握手操作;通過目標服務器識別出第一請求攜帶的第一握手信息;當第一握手信息指示第一請求為國密請求時,獲取目標簽名證書,其中,目標簽名證書中包括用于標識目標加密證書的標識信息;由標識信息和/或客戶端請求的目標服務器的地址信息,查找到目標加密證書;由目標服務器生成證書應答包,并向客戶端發送證書應答包,其中,客戶端根據證書應答包與目標服務器繼續進行握手操作。
可選地,在生成服務端的證書應答包之前,該信息處理方法還包括:解析目標簽名證書,得到目標簽名證書信息;從目標簽名證書信息中提取出標識信息;根據標識信息從預設證書庫中查找目標加密證書,其中,預設證書庫用于存儲多個國密證書,多個國密證書包括目標加密證書。
可選地,由標識信息和/或客戶端請求的目標服務器的地址信息,查找到目標加密證書包括:獲取第一請求攜帶的目標服務器的地址信息;根據標識信息和地址信息從預設證書庫中查找目標加密證書,其中,目標加密證書用于客戶端與地址信息對應的目標服務器進行握手操作。
可選地,在獲取目標簽名證書之前,該信息處理方法還包括:根據多個服務器的地址信息在預設配置項中配置多張簽名證書,其中,多張簽名證書包括目標簽名證書,多張簽名證書分別包括用于標識加密證書的標識信息;將多張簽名證書配置在預設證書庫中。
可選地,目標簽名證書為國密ssl簽名證書,目標加密證書為國密ssl加密證書。
可選地,證書應答包包括:目標簽名證書、目標加密證書和目標服務器的信息。
為了實現上述目的,根據本發明的另一方面,還提供了一種信息處理裝置。該信息處理裝置包括:接收單元,用于接收客戶端發送的第一請求,其中,第一請求用于請求與目標服務器進行握手操作;識別單元,用于通過目標服務器識別出第一請求攜帶的第一握手信息;獲取單元,用于當第一握手信息指示第一請求為國密請求時,獲取目標簽名證書,其中,目標簽名證書中包括用于標識目標加密證書的標識信息;查找單元,由標識信息和/或客戶端請求的目標服務器的地址信息,查找到目標加密證書;生成單元,用于由目標服務器生成證書應答包,并向客戶端發送證書應答包,其中,客戶端根據證書應答包與目標服務器繼續進行握手操作。
可選地,該查找單元包括:解析模塊,用于在生成服務端的證書應答包之前,解析目標簽名證書,得到目標簽名證書信息;提取模塊,用于從目標簽名證書信息中提取出標識信息;查找模塊,用于根據標識信息從預設證書庫中查找目標加密證書,其中,預設證書庫用于存儲多個國密證書,多個國密證書包括目標加密證書。
可選地,該查找模塊包括:獲取子模塊,用于獲取第一請求攜帶的目標服務器的地址信息;查找子模塊,用于根據標識信息和/或地址信息從預設證書庫中查找目標加密證書,其中,目標加密證書用于客戶端與地址信息對應的目標服務器進行握手操作。
為了實現上述目的,根據本發明的另一方面,還提供了一種存儲介質。該存儲介質包括存儲的程序,其中,在程序運行時控制存儲介質所在設備執行本發明中的信息處理方法。
為了實現上述目的,根據本發明的另一方面,還提供了一種處理器。該處理器用于運行程序,其中,程序運行時執行本發明的信息處理方法。
通過本發明,采用接收客戶端發送的第一請求,其中,第一請求用于請求與目標服務器進行握手操作;通過目標服務器識別出第一請求攜帶的第一握手信息;當第一握手信息指示第一請求為國密請求時,獲取目標簽名證書,其中,目標簽名證書中包括用于標識目標加密證書的標識信息;由標識信息和/或客戶端請求的目標服務器的地址信息,查找到目標加密證書;由目標服務器生成證書應答包,并向客戶端發送證書應答包,其中,客戶端根據證書應答包與目標服務器繼續進行握手操作。由于通過算法自助查找國密的加密證書,實現了在不改造國際常用服務器軟件的基礎上,在服務器軟件上依然支持國密證書的目的,解決了在國密改造過程中,改造成本大的問題,進而達到了降低在國密改造過程中的改造成本的效果。
附圖說明
構成本申請的一部分的附圖用來提供對本發明的進一步理解,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
圖1是根據本發明實施例的一種信息處理方法的流程圖;以及
圖2是根據本發明實施例的一種信息處理裝置的示意圖。
具體實施方式
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發明。
為了使本技術領域的人員更好地理解本申請方案,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分的實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本申請保護的范圍。
需要說明的是,本申請的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本申請的實施例。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
實施例1
本發明實施例提供了一種信息處理方法。
圖1是根據本發明實施例的一種信息處理方法的流程圖。如圖1所示,該信息處理方法包括以下步驟:
步驟s102,接收客戶端發送的第一請求。
在本發明上述步驟s102提供的技術方案中,接收客戶端發送的第一請求,其中,第一請求用于請求與目標服務器進行握手操作。
該實施例的信息處理方法執行在服務器底層算法庫中。客戶端發送第一請求,該第一請求為ssl請求,用于與目標服務器進行握手操作。其中,目標服務器可以為網站(web)服務器,該網站服務器為駐留于因特網上某種類型計算機的程序,可以向瀏覽器提供文檔,可以為web客戶端放置網站文件,也可以放置數據文件。該實施例的目標服務器不僅能夠存儲信息,還能在用戶通過web瀏覽器提供的信息的基礎上運行腳本和程序,具有多個站點,比如,百度站點、網易站點等,此處不做限制。不同的站點都有自己的證書。接收客戶端發送的用于與目標服務器進行握手操作的第一請求。
步驟s104,通過目標服務器識別出第一請求攜帶的第一握手信息。
在本發明上述步驟s104提供的技術方案中,識別出第一請求攜帶的第一握手信息。
第一請求攜帶第一握手信息,比如,第一握手信息為標準協議流程的信息clienthello,該clienthello中包括了請求版本。第一握手信息還可以包括客戶端的隨機數、第一請求的發送時間、請求進行握手操作的服務器信息等。
在接收客戶端發送的第一請求之后,通過目標服務器識別出第一請求攜帶的第一握手信息。
步驟s106,當第一握手信息指示第一請求為國密請求時,獲取目標簽名證書。
在本發明上述步驟s106提供的技術方案中,當第一握手信息指示第一請求為國密請求時,獲取目標簽名證書,其中,目標簽名證書中包括用于標識目標加密證書的標識信息。
國密ssl在握手過程中需要使用國密雙證書。在通過目標服務器識別出第一請求攜帶的第一握手信息之后,判斷第一握手信息指示的第一請求的版本,當第一握手信息指示第一請求為國密請求時,獲取目標簽名證書。該目標簽名證書為預先配置的簽名證書,可以預先配置在web服務器站點證書的配置項中,該目標簽名證書包括用于標識目標加密證書的標識信息,為國密ssl站點證書中的一種。
步驟s108,由標識信息和/或客戶端請求的目標服務器的地址信息,查找到目標加密證書。
可選地,對目標簽名證書進行解析,得到目標簽名證書的簽名證書信息,從簽名證書信息中提取出用于標識目標加密證書的標識信息,根據標識信息在國密證書庫中查找并識別目標加密證書。其中,國密證書庫可以為國密證書存儲庫,為加密證書的存儲位置,簽名證書中包括加密證書的標識信息,如,在簽名證書的文件擴展信息中記錄加密證書的標識信息,該標識信息可以為加密證書的頒發信息、指紋信息、序列號、公鑰信息等,其中,頒發信息可以為加密證書的頒發者,此處不做限定。
可選地,對目標簽名證書進行解析,得到目標簽名證書的簽名證書信息,從簽名證書信息中提取出標識信息;獲取客戶端請求的目標服務器的地址信息;根據標識信息和客戶端請求的目標服務器的地址信息在國密證書庫中查找并識別目標加密證書。
可選地,根據客戶端請求的目標服務器的地址信息在國密證書庫中查找并識別目標加密證書。
需要說明的是,本發明實施例的獲取目標加密證書的方法僅為本發明的優選實施方式,并不限定本發明的獲取目標加密證書的方法僅為上述方式,任何可以獲取目標加密證書的方法,且達到降低國密改造過程中的成本的方法都在本發明的保護范圍之內,此處不再一一舉例說明。
步驟s110,由目標服務器生成證書應答包,并向客戶端發送證書應答包。
在本發明上述步驟s108提供的技術方案中,由目標服務器生成證書應答包,其中,客戶端根據證書應答包與目標服務器進行握手操作。
在由標識信息和/或客戶端請求的目標服務器的地址信息,查找到目標加密證書之后,由目標服務器生成證書應答包,證書應答包也即證書應答數據包,所述證書應答包包括目標簽名證書、目標加密證書和目標服務器的信息,所述目標服務器信息為目標服務器與客戶端在交互過程中產生的信息。
客戶端在接收到證書應答包之后,根據證書應答包與目標服務器繼續進行ssl握手操作。
該實施例采用接收客戶端發送的第一請求,其中,第一請求用于請求與目標服務器進行握手操作;通過目標服務器識別出第一請求攜帶的第一握手信息;當第一握手信息指示第一請求為國密請求時,獲取目標簽名證書,其中,目標簽名證書中包括用于標識目標加密證書的標識信息;由標識信息和/或客戶端請求的目標服務器的地址信息,查找到目標加密證書;由目標服務器生成證書應答包,并向客戶端發送證書應答包,其中,客戶端根據證書應答包與目標服務器繼續進行握手操作。由于通過在服務器底層算法上實現上述方法,實現了自助查找國密的加密證書的目的,并且在不改造國際常用服務器軟件的基礎上,達到在服務器軟件上依然支持國密證書的目的,解決了在國密改造過程中,改造成本大的問題,進而達到了降低在國密改造過程中的改造成本的效果。
作為一種可選的實施方式,在由目標簽名證書和由標識信息標識的目標加密證書生成證書應答包之前,該信息處理方法還包括:解析目標簽名證書,得到目標簽名證書信息;從目標簽名證書信息中提取出標識信息;根據標識信息從預設證書庫中查找目標加密證書,其中,預設證書庫用于存儲多個國密證書,多個國密證書包括目標加密證書。
在獲取目標簽名證書之后,在由目標簽名證書和由標識信息標識的目標加密證書生成證書應答包之前,對目標簽名證書進行解析,得到目標簽名證書信息,該目標簽名證書信息可以包括目標加密證書的標識信息,比如,目標加密證書的頒發信息、指紋信息、序列號、公鑰信息等,其中,頒發信息包括加密證書的頒發者。在得到目標證書信息之后,從目標簽名證書信息中提取出標識信息。
該實施例的預設證書庫用于存儲根據不同站點配置的加密證書,該預設證書庫用于確定加密證書的存儲路徑,可以為國密證書存儲庫,也即,為國密證書庫。在從目標簽名證書信息中提取出標識信息之后,根據標識信息從預設證書庫中查找并通過目標服務器識別目標服務器對應的目標加密證書,從而實現了在服務器的底層算法庫中,根據目標簽名證書包括的標識信息獲取目標加密證書的目的。
作為一種可選的實施方式,由標識信息和/或客戶端請求的目標服務器的地址信息,查找到目標加密證書包括:獲取第一請求攜帶的目標服務器的地址信息;根據標識信息和地址信息從預設證書庫中查找目標加密證書,其中,目標加密證書用于客戶端與地址信息對應的目標服務器進行握手操作。
目標服務器信息包括目標服務器的地址信息,該地址信息可以為目標服務器對應的不同站點的地址信息,比如,該站點為百度站點、網易站點等,每個站點的地址信息不同。第一請求攜帶目標服務器的地址信息,根據目標簽名證書的標識信息和目標服務器的地址信息從預設證書庫中查找并識別目標加密證書,該目標加密證書用于客戶端與地址信息對應的目標服務器進行握手操作,具體地,目標簽名證書用于與目標服務器對應的站點進行握手操作。
作為一種可選的實施方式,在獲取目標簽名證書之前,該信息處理方法還包括:根據多個服務器的地址信息在預設配置項中配置多張簽名證書,其中,多張簽名證書包括目標簽名證書,多張簽名證書分別包括用于標識加密證書的標識信息;將多張簽名證書配置在預設證書庫中。
可選地,證書應答包包括:目標簽名證書、目標加密證書和所述目標服務器的信息。
需要說明的是,上述生成證書應答包的方式僅為本發明實施例的優選實施方式,并不限定本發明實施例只由目標簽名證書、目標加密證書和目標服務器的信息生成證書應答包,任何可以結合目標簽名證書、目標加密證書和目標服務器的信息生成證書應答包,且達到降低國密改造過程中的成本的方法都在本發明的保護范圍之內,此處不再一一舉例說明。
該實施例的服務器可以為sslweb服務器。在sslweb服務器上,預先根據服務器的不同站點配置相應的兩張國密ssl站點證書,其中,一張ssl站點證書為簽名證書,一張站點證書為加密證書。可選地,簽名證書的文件擴展信息中記錄有加密證書的標識信息,比如,加密證書的頒發信息、指紋信息、序列號、公鑰信息等,將國密ssl簽名證書配置在web服務器站點證書的配置項中,將加密證書配置在國密證書存儲庫中,從而實現了對不同站點的簽名證書和加密證書的預配置,以便于客戶端與服務器的不同站點進行握手操作。
需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。
實施例2
下面結合優選的實施方式對本發明的技術方案進行說明。
本發明實施例主要實現了一種使得web服務器軟件支持國密ssl證書的方法。可選地,通過如下技術手段來實現上述使得web服務器軟件支持國密ssl證書的方法。
在sslweb服務器端,預先根據sslweb服務器的不同站點配置相應的兩張國密ssl站點證書。其中,一張國密ssl站點證書為簽名證書,另一張國密ssl站點證書為加密證書。可選地,國密ssl簽名證書的文件擴展信息中記錄有加密證書標識信息,比如,加密證書標識信息為加密證書的頒發信息、指紋信息、序列化、公鑰信息等。將每個站點的國密ssl簽名證書配置在web服務器站點證書的配置項中,將每個站點的國密ssl加密證書配置在國密證書存儲庫中,從而實現了對每個站點的簽名證書和加密證書進行預先配置,進而替換web服務器的底層算法庫。
客戶端在發起ssl請求時,請求clienthello中包含了ssl(國密/國際)請求版本信息和請求進行握手操作的服務器信息。
服務端接收并識別請求clienthello中包含的請求版本信息以及請求的服務器信息。當服務器識別出客戶端發送的ssl請求為國密請求時,進行國密ssl算法流程,向客戶端發送serverhello,同時獲取web服務器端預先配置的簽名證書,解析簽名證書,得到簽名證書信息。根據解析出的簽名證書信息和/或客戶端請求的服務器地址信息在國密證書存儲庫中查找并識別國密ssl加密證書,通過國密ssl加密證書組織servercertificate數據包、serverhellodone數據包,向客戶端發送servercertificate數據包、serverhellodone數據包和服務器相關信息。在客戶端接收到servercertificate數據包、serverhellodone數據包和服務器相關信息之后,客戶端根據server包與服務器端進行ssl握手。最后,服務器使用國密算法證書與客戶端完成國密ssl握手過程。
由上述可知,該實施例實現了國密ssl服務端獲取國密證書的方法,以及在不改造國際常用ssl軟件的基礎上使用國密ssl,上述步驟由底層算法庫來實現,通過算法自助查找國密ssl加密證書,實現了在不改造國際常用ssl軟件的基礎上,在常規web服務器軟件上支持國密證書的目的,也避免了由于通常web服務器只支持一張站點證書的配置,而導致重新改造國際常規軟件,后期的部署工作較大,現有云廠商及服務器都需要重新部署的問題。
實施例3
本發明實施例還提供了一種信息處理裝置。需要說明的是,該實施例的信息處理裝置可以用于執行本發明實施例的信息處理方法。
圖2是根據本發明實施例的一種信息處理裝置的示意圖。如圖2所示,該信息處理裝置包括:接收單元10、識別單元20、獲取單元30、查找單元40和生成單元50。
接收單元10,用于接收客戶端發送的第一請求,其中,第一請求用于請求與目標服務器進行握手操作。
識別單元20,用于通過目標服務器識別出第一請求攜帶的第一握手信息。
獲取單元30,用于當第一握手信息指示第一請求為國密請求時,獲取目標簽名證書,其中,目標簽名證書中包括用于標識目標加密證書的標識信息。
查找單元40,由標識信息和/或客戶端請求的目標服務器的地址信息,查找到目標加密證書。
生成單元50,用于由目標服務器生成證書應答包,并向客戶端發送證書應答包,其中,客戶端根據證書應答包與目標服務器繼續進行握手操作。
可選地,該查找單元包括:解析模塊和提取模塊。其中,解析模塊,用于在由目標簽名證書和由標識信息標識的目標加密證書生成證書應答包之前,解析目標簽名證書,得到目標簽名證書信息;提取模塊,用于從目標簽名證書信息中提取出標識信息;查找模塊,用于根據標識信息從預設證書庫中查找目標加密證書,其中,預設證書庫用于存儲多個國密證書,多個國密證書包括目標加密證書。
可選地,查找模塊包括:獲取子模塊和查找子模塊。其中,獲取子模塊,用于獲取第一請求攜帶的目標服務器的地址信息;查找子模塊,用于根據標識信息和/或地址信息從預設證書庫中查找目標加密證書,其中,目標加密證書用于客戶端與地址信息對應的目標服務器進行握手操作。
可選地,該裝置還包括:第一配置單元和第二配置單元。其中,第一配置單元,用于在獲取目標簽名證書之前,根據多個服務器的地址信息在預設配置項中配置多張簽名證書,其中,多張簽名證書包括目標簽名證書,多張簽名證書分別包括用于標識加密證書的標識信息;第二配置單元,用于將多張簽名證書配置在預設證書庫中。
可選地,上述目標簽名證書為國密ssl簽名證書,目標加密證書為國密ssl加密證書。
可選地,該信息處理裝置中的證書應答包包括:目標簽名證書、目標加密證書和目標服務器的信息。
實施例4
本發明實施例還提供了一種存儲介質。該存儲介質包括存儲的程序,其中,在程序運行時控制存儲介質所在設備執行本發明實施例的信息處理方法。
實施例5
本發明實施例還提供了一種處理器。該處理器用于運行程序,其中,程序運行時執行本發明實施例的信息處理方法。
顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬件和軟件結合。
以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。