亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種加密密鑰獲取方法及系統(tǒng)與流程

文檔序號:11147438閱讀:805來源:國知局
一種加密密鑰獲取方法及系統(tǒng)與制造工藝

本發(fā)明涉及一種電子技術領域,尤其涉及一種加密密鑰獲取方法及系統(tǒng)。



背景技術:

2012年11月22日,中華人民共和國國家質(zhì)量監(jiān)督檢驗檢疫總局頒布了《GM-T 0016-2012智能密碼鑰匙密碼應用接口規(guī)范》,規(guī)定了基于PKI密碼體制的智能密碼鑰匙密碼應用接口,描述了密碼應用接口的函數(shù)、數(shù)據(jù)類型、參數(shù)的定義和設備的安全要求,適用于智能密碼鑰匙產(chǎn)品的研制、使用和檢測。

然而在上述現(xiàn)有規(guī)范《GM-T 0016-2012智能密碼鑰匙密碼應用接口規(guī)范》中,目前存在以下風險:簽名公鑰由本地終端生成并上傳至服務器,加密私鑰由服務器生成并發(fā)送至本地終端,但在下載過程中,現(xiàn)有規(guī)范中的服務器利用簽名公鑰對加密私鑰進行加密后發(fā)送至本地終端,由于簽名公鑰可被第三方獲取,這就導致第三方能夠模擬服務器使用簽名公鑰對數(shù)據(jù)進行加密,大量地向終端發(fā)送簽名公鑰加密的密文,通過能終端的解密結果進行監(jiān)控,從而獲得終端的簽名私鑰,導致終端中的簽名私鑰被泄漏。



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

本發(fā)明旨在解決上述問題之一。

為達到上述目的,本發(fā)明的技術方案具體是這樣實現(xiàn)的:

本發(fā)明提供了一種加密密鑰獲取方法,包括以下步驟:終端基于第一安全算法生成并保存所述終端的簽名公鑰和簽名私鑰,基于第二安全算法生成并保存臨時公鑰和臨時私鑰,并將第一數(shù)據(jù)包發(fā)送至服務器,其中,所述第一數(shù)據(jù)包至少包括:所述簽名公鑰和所述臨時公鑰;所述服務器接收所述第一數(shù)據(jù)包,獲取所述簽名公鑰和所述臨時公鑰,保存所述終端的所述簽名公鑰;所述服務器基于第三安全算法生成并保存所述終端的加密公鑰和加密私鑰,基于第四安全算法生成并保存終端的數(shù)據(jù)加密碼和數(shù)據(jù)解密碼;所述服務器利用所述數(shù)據(jù)加密碼對所述加密私鑰進行加密操作,生成第一加密信息;利用所述臨時公鑰對所述數(shù)據(jù)解密碼進行加密操作,生成第二加密信息;并將第二數(shù)據(jù)包發(fā)送至所述終端,其中,所述第二數(shù)據(jù)包至少包括:所述第一加密信息和所述第二加密信息;所述終端接收所述第二數(shù)據(jù)包,獲取所述第一加密信息,利用所述臨時私鑰對所述第二加密信息進行解密操作,獲得所述數(shù)據(jù)解密碼,利用所述數(shù)據(jù)解密碼對所述第一加密信息進行解密操作,獲得所述加密私鑰;所述終端保存所述加密私鑰。

可選地,所述終端生成所述簽名公鑰和所述臨時公鑰之后,將所述第一數(shù)據(jù)包發(fā)送至所述服務器之前,還包括:所述終端基于第一私鑰對所述簽名公鑰和所述臨時公鑰進行簽名操作,生成第一簽名信息;所述第一數(shù)據(jù)包還包括所述第一簽名信息;所述服務器接收到所述第一數(shù)據(jù)包之后,獲取所述簽名公鑰和所述臨時公鑰之前,還包括:所述服務器基于所述第一私鑰對應的第一公鑰對所述第一簽名息進行認證操作,且認證成功。

可選地,所述終端基于第一私鑰對所述簽名公鑰和所述臨時公鑰進行簽名操作,生成第一簽名信息,包括:所述終端基于所述第一私鑰對所述簽名公鑰進行簽名操作,生成簽名公鑰簽名信息;基于所述第一私鑰對所述臨時公鑰進行簽名操作,生成臨時公鑰簽名信息,并基于所述簽名公鑰簽名信息和所述臨時公鑰簽名信息生成所述第一簽名信息;所述服務器基于第一公鑰對所述第一簽名信息進行認證操作,包括:所述服務器提取所述第一簽名信息中的所述簽名公鑰簽名信息和所述臨時公鑰簽名信息,基于所述第一公鑰對所述簽名公鑰簽名信息進行認證操作,基于所述第一公鑰對所述臨時公鑰簽名信息進行認證操作。

可選地,所述終端基于第一私鑰對所述簽名公鑰和所述臨時公鑰進行簽名操作,生成第一簽名信息,包括以下步驟:所述終端基于所述第一私鑰對所述簽名公鑰進行簽名操作,生成簽名公鑰簽名信息;基于所述簽名私鑰對所述臨時公鑰進行簽名操作,生成臨時公鑰簽名信息,并基于所述簽名公鑰簽名信息和所述臨時公鑰簽名信息生成所述第一簽名信息;所述服務器基于第一公鑰對所述第一簽名信息進行認證操作,包括步驟:所述服務器提取所述第一簽名信息中的所述簽名公鑰簽名信息、所述臨時公鑰簽名信息和所述簽名公鑰,基于所述第一公鑰對所述簽名公鑰簽名信息進行認證操作,基于所述簽名公鑰對所述臨時公鑰簽名信息進行認證操作。

可選地,所述服務器生成所述第一加密信息之后,將所述第二數(shù)據(jù)包發(fā)送至所述終端之前,還包括步驟:所述服務器利用第二私鑰對所述第一加密信息進行簽名操作,生成第二簽名信息;所述第二數(shù)據(jù)包還包括所述第二簽名信息;所述終端接收到所述第二數(shù)據(jù)包之后,獲取所述第一加密信息之前,還包括:所述終端基于與所述第二私鑰對應的第二公鑰對所述第二簽名信息進行認證操作,認證成功后,獲取所述第一加密信息。

可選地,在所述服務器將第二數(shù)據(jù)包發(fā)送至所述終端之后,所述方法還包括:所述服務器清除所述臨時公鑰;在所述終端獲得所述加密私鑰之后,所述方法還包括:所述終端清除所述臨時私鑰。

根據(jù)本發(fā)明另一個方面,提供了一種加密密鑰獲取系統(tǒng),包括終端和服務器,其中,所述終端,用于基于第一安全算法生成并保存簽名公鑰和簽名私鑰,基于第二安全算法生成并保存臨時公鑰和臨時私鑰,并將第一數(shù)據(jù)包發(fā)送至所述服務器,其中,所述第一數(shù)據(jù)包至少包括:所述簽名公鑰和所述臨時公鑰;所述服務器,用于接收所述第一數(shù)據(jù)包,獲取所述簽名公鑰和所述臨時公鑰,并保存所述簽名公鑰;基于第三安全算法生成并保存所述終端的加密公鑰和加密私鑰,基于第四安全算法生成并保存數(shù)據(jù)加密碼和數(shù)據(jù)解密碼;利用所述數(shù)據(jù)加密碼對所述加密私鑰進行加密操作,生成第一加密信息;利用所述臨時公鑰對所述數(shù)據(jù)解密碼進行加密操作,生成第二加密信息;將第二數(shù)據(jù)包發(fā)送至所述終端,其中,所述第二數(shù)據(jù)包至少包括:所述第一加密信息和所述第二加密信息;所述終端,還用于接收所述第二數(shù)據(jù)包,獲取所述第一加密信息,利用所述臨時私鑰對所述第二加密信息進行解密操作,獲得所述數(shù)據(jù)解密碼,利用所述數(shù)據(jù)解密碼對所述第一加密信息進行解密操作,獲得所述加密私鑰;保存所述加密私鑰。

可選地,所述終端,還用于在生成所述簽名公鑰和所述臨時公鑰之后,將所述第一數(shù)據(jù)包發(fā)送至所述服務器之前,基于第一私鑰對所述簽名公鑰和所述臨時公鑰進行簽名操作,生成第一簽名信息;所述第一數(shù)據(jù)包還包括所述第一簽名信息;所述服務器,還用于在接收到所述第一數(shù)據(jù)包之后,獲取所述簽名公鑰和所述臨時公鑰之前,基于所述第一公鑰對所述第一簽名信息進行認證操作,認證成功后,獲取所述簽名公鑰和所述臨時公鑰。

可選地,所述終端具體用于通過以下方式生成所述第一簽名信息:基于所述第一私鑰對所述簽名公鑰進行簽名操作,生成簽名公鑰簽名信息;基于所述第一私鑰對所述臨時公鑰進行簽名操作,生成臨時公鑰簽名信息,并基于所述簽名公鑰簽名信息和所述臨時公鑰簽名信息生成所述第一簽名信息;所述服務器具體用于通過以下方式對所述第一簽名信息進行認證信操作:提取所述第一簽名信息中的所述簽名公鑰簽名信息和所述臨時公鑰簽名信息,基于所述第一公鑰對所述簽名公鑰簽名信息進行認證操作,基于所述第一公鑰對所述臨時公鑰簽名信息進行認證操作。

可選地,所述服務器具體用于通過以下方式生成所述第一簽名信息:基于所述第一私鑰對所述簽名公鑰進行簽名操作,生成簽名公鑰簽名信息;基于所述簽名私鑰對所述臨時公鑰進行簽名操作,生成臨時公鑰簽名信息,并基于所述簽名公鑰簽名信息和所述臨時公鑰簽名信息生成所述第一簽名信息;所述服務器具體用于通過以下方式對所述第一簽名信息進行認證操作:提取所述第一簽名信息中的所述簽名公鑰簽名信息、所述臨時公鑰簽名信息和所述簽名公鑰,基于所述第一公鑰對所述簽名公鑰簽名信息進行認證操作,基于所述簽名公鑰對所述臨時公鑰簽名信息進行認證操作。

可選地,所述服務器,還用于在生成所述第一加密信息之后,將所述第二數(shù)據(jù)包發(fā)送至所述終端之前,利用第二私鑰對所述第一加密信息進行簽名操作,生成第二簽名信息;所述第二數(shù)據(jù)包還包括所述第二簽名信息;所述終端,還用于在接收到所述第二數(shù)據(jù)包之后,獲取所述第一加密信息之前,基于第二公鑰對所述第二簽名信息進行認證操作,認證成功后,獲取所述第一加密信息。

可選地,所述服務器還用于在將第二數(shù)據(jù)包發(fā)送至所述終端之后,清除所述臨時公鑰;所述終端還用于在獲得所述加密私鑰之后,清除所述臨時公鑰和所述臨時私鑰。

由上述本發(fā)明提供的技術方案可以看出,在本實施例提供的方案中,終端在生成簽名公鑰和簽名私鑰對時,同時生成一對臨時公鑰和臨時私鑰,將簽名公鑰和臨時公鑰發(fā)送服務器,服務器在接收簽名公鑰和臨時公鑰之后,在生成終端的加密公鑰和加密私鑰時,生成數(shù)據(jù)加密碼和數(shù)據(jù)解密碼,使用數(shù)據(jù)加密碼對加密私鑰進行加密,再使用臨時公鑰對數(shù)據(jù)解密碼進行加密,因此,即使加密的加密私鑰在傳輸過程中被第三方截取,但由于第三方?jīng)]有臨時私鑰無法對加密的數(shù)據(jù)解密碼進行解密,從而無法對加密的加密私鑰進行解密,從而保證了加密私鑰的安全。另外,由于服務器采用臨時公鑰對數(shù)據(jù)解密碼進行加密并外發(fā),因此,即使第三方向終端大量發(fā)送加密密文,終端也只會使用臨時私鑰對密文進行解密,第三方通過監(jiān)控只能獲得到終端的臨時私鑰,從而保護了終端的簽名私鑰。

附圖說明

為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域的普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他附圖。

圖1為本發(fā)明實施例1提供的一種加密密鑰獲取方法的流程圖;以及

圖2為本發(fā)明實施例1提供的一種加密密鑰獲取系統(tǒng)的架構示意圖。

具體實施方式

下面結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明的保護范圍。

在本發(fā)明的描述中,需要理解的是,術語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或數(shù)量或位置。

在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術語“安裝”、“相連”、“連接”應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內(nèi)部的連通。對于本領域的普通技術人員而言,可以具體情況理解上述術語在本發(fā)明中的具體含義。

下面將結合附圖對本發(fā)明實施例作進一步地詳細描述。

實施例1

本實施例提供一種加密密鑰獲取方法。

圖1為本實施例提供的一種加密密鑰獲取方法的流程圖,如圖1所示,本實施例的加密密鑰獲取方法主要包括以下步驟S101至步驟S108。

S101,終端基于第一安全算法生成并保存終端的簽名公鑰和簽名私鑰,基于第二安全算法生成臨時公鑰和臨時私鑰。

其中,在本實施例中,終端為能夠進行非對稱加解密的終端設備,例如,可以為USBKEY、智能卡、手機、可穿戴設備等終端設備,第一安全算法與第二安全算法均為終端內(nèi)存儲的預設非對稱算法,用于產(chǎn)生公私鑰對,根據(jù)第一安全算法生成的簽名公鑰和簽名私鑰為終端用于交易簽名的私鑰及相應公鑰,且簽名公鑰和簽名私鑰為終端用于交易簽名及驗簽的唯一公私鑰對。在本實施例中,簽名公鑰和簽名私鑰只在交易中使用,并且,在某些終端中,例如,USBKEY,由于交易過程需要用戶確認終端才能使用簽名私鑰進行簽名,因此,第三方也無法使用簽名公鑰進行加密向終端發(fā)送大量密文,而通過監(jiān)測終端對使用簽名私鑰對大量密文進行解密而獲取終端的簽名私鑰。

在本實施例中,臨時公鑰和臨時私鑰為終端根據(jù)第二安全算法臨時生成的公私鑰對,該臨時公私鑰對只作為臨時使用,在本實施例中,臨時公私鑰對只在本次密鑰獲取過程中使用,在密鑰獲取結束之后失效。因此,即使在密鑰獲取過程中臨時私鑰被外部竊取,由于后續(xù)終端不會再使用該臨時公私鑰對,因此,所以不法人員也無法將本次生成的臨時私鑰用于下次交互過程,不會對用戶的安全造成影響。

S102,終端將第一數(shù)據(jù)包發(fā)送至服務器,其中,第一數(shù)據(jù)包至少包括:簽名公鑰和臨時公鑰。

在具體應用中,終端可以通過數(shù)據(jù)通信通道將簽名公鑰和臨時公鑰發(fā)送至服務器,終端可以通過有線數(shù)據(jù)通信通道或無線數(shù)據(jù)通信通道進行數(shù)據(jù)傳輸,包括但不限于藍牙通道、紅外通道、RFID通道、ZigBee通道、超寬頻(Ultra WideBand)通道、短距通信(NFC)通道、WiMedia通道、GPS通道、以及DECT通道等。

S103,服務器接收第一數(shù)據(jù)包,獲取簽名公鑰和臨時公鑰,并保存終端的簽名公鑰。

在本實施例中,服務器通過上述通信通道進行第一數(shù)據(jù)包接收,并在接收到第一數(shù)據(jù)包之后,提取第一數(shù)據(jù)包中的簽名公鑰和臨時公鑰,將簽名公鑰保存為上述終端的簽名公鑰,從而可以在后續(xù)交易過程中,使用該簽名公鑰對終端發(fā)送的簽名數(shù)據(jù)進行驗簽。

S104,服務器基于第三安全算法生成并保存終端的加密公鑰和加密私鑰,基于第四安全算法生成并保存終端的數(shù)據(jù)加密碼和數(shù)據(jù)解密碼。

在本實施例中,第三安全算法為服務器中預設的非對稱算法,用于產(chǎn)生公私鑰對,第四安全算法為服務器中預設的安全算法,可以為非對稱算法,也可以為對稱算法。

在本實施例中,服務器根據(jù)第三安全算法生成終端的加密公鑰和加密私鑰,加密公私鑰可以在終端登錄服務器時使用,例如,可以在終端登錄時使用加密私鑰對用戶輸入的登錄密碼進行加密,提交到服務器之后,服務器根據(jù)用戶設置的登錄密碼,使用該終端的加密公鑰,對用戶提交的登錄密碼進行驗證。

另外,在本實施例中,數(shù)據(jù)加密碼和數(shù)據(jù)解密碼可以用于服務器與終端之間的傳輸數(shù)據(jù)的加解密,在本實施例中,數(shù)據(jù)加密碼和數(shù)據(jù)解密碼用于對終端的加密私鑰的加解密操作,可選地,數(shù)據(jù)加密碼和數(shù)據(jù)解密碼可以為服務器隨機生成的一組隨機數(shù),具體形式本實施例不作限定。

S105,服務器利用數(shù)據(jù)加密碼對加密私鑰進行加密操作,生成第一加密信息;利用臨時公鑰對數(shù)據(jù)解密碼進行加密操作,生成第二加密信息。

在本實施例中,服務器利用數(shù)據(jù)加密碼將生成的加密私鑰進行加密操作,獲得第一加密信息,并利用從終端獲取的臨時公鑰對數(shù)據(jù)解密碼進行加密操作,獲得第二加密信息,通過對數(shù)據(jù)解密碼和加密私鑰分別進行加密后進行傳輸,保證數(shù)據(jù)傳輸?shù)陌踩浴?/p>

S106,服務器將第二數(shù)據(jù)包發(fā)送至終端,其中,第二數(shù)據(jù)包至少包括:第一加密信息、第二加密信息。

在本實施例中,服務器可以通過與所述終端的數(shù)據(jù)通信通道將第二數(shù)據(jù)包發(fā)送至終端,例如,服務器可以通過有線數(shù)據(jù)通信通道或無線數(shù)據(jù)通信通道進行數(shù)據(jù)傳輸,包括但不限于藍牙通道、紅外通道、RFID通道、ZigBee通道、超寬頻(Ultra WideBand)通道、短距通信(NFC)通道、WiMedia通道、GPS通道、DECT通道等。

S107,終端接收第二數(shù)據(jù)包,獲取第一加密信息,利用臨時私鑰對第二加密信息進行解密操作,獲得數(shù)據(jù)解密碼,利用數(shù)據(jù)解密碼對第一加密信息進行解密操作,獲得加密私鑰。

在本實施例中,終端接收到第二數(shù)據(jù)包后,為獲取服務器生成的加密私鑰,需要進行兩步解密操作,第一,利用終端自身生成的臨時私鑰對第二加密信息進行解密操作,獲得數(shù)據(jù)解密碼;第二,利用數(shù)據(jù)解密碼對第一加密信息進行解密操作,獲得加密私鑰,通過兩步解密操作,大大增強了加密私鑰在傳輸過程中的安全性。

在本發(fā)明實施例的一個可選實施方案中,為了保證臨時公私鑰對只能被使用一次,在步驟S106之后,服務器可以清除該終端的臨時公鑰。而在步驟S107中,終端在獲取加密私鑰之后,可以清除所述臨時私鑰。通過該可選實施方式中,即使第三方獲取到終端的臨時公鑰和簽名公鑰,模擬服務器向終端發(fā)送加密私鑰進而對終端進行密文攻擊,攻破終端的臨時私鑰,但由于終端在獲取到加密私鑰之后,不會再使用該臨時公私鑰對,因此,不會對用戶造成安全困擾,給用戶帶來安全隱患。

在本發(fā)明實施例的一個可選實施方案中,終端利用臨時私鑰對第二加密信息進行解密操作得到數(shù)據(jù)解密碼之后,可以保存該數(shù)據(jù)解密碼,在后續(xù)與服務器的交互過程中,使用該數(shù)據(jù)解密碼對服務器發(fā)送的數(shù)據(jù)進行解密。

S108,終端保存加密私鑰。

在具體應用中,在執(zhí)行步驟S108時,終端可以將獲得的加密私鑰寫入安全存儲器,安全存儲器能夠保證加密私鑰不可被外部獲取,也就是說,終端一旦將加密私鑰寫入終端內(nèi)部的安全存儲器,不法分子無法從終端讀取加密私鑰,從而保證了加密私鑰的安全性。

在本發(fā)明實施例的一個可選實施方案中,在終端向服務器發(fā)送第一數(shù)據(jù)包(即步驟S102)之前,為了保證服務器可以確定第一數(shù)據(jù)包是終端發(fā)送的,該方法還可以包括步驟:終端基于第一私鑰對簽名公鑰和臨時公鑰進行簽名操作,生成第一簽名信息;而步驟S102發(fā)送的第一數(shù)據(jù)包中還可以包括第一簽名信息。相應地,在步驟S103中,在服務器接收到第一數(shù)據(jù)包之后,在服務器獲取簽名公鑰和臨時公鑰之前,還包括步驟:服務器基于第一公鑰對第一簽名信息進行認證操作,認證成功后,獲取簽名公鑰和臨時公鑰。通過該可選實施方式,終端對發(fā)送的簽名公鑰和臨時公鑰進行簽名,以保證發(fā)送簽名公鑰和臨時公鑰的身份,而服務器對簽名公鑰和臨時公鑰的簽名信息進行驗簽,在驗證通過之后,再獲取終端發(fā)送的簽名公鑰和臨時公鑰,從而可以保證簽名公鑰和臨時公鑰來源的可靠性,避免第三方偽裝終端向服務器發(fā)送簽名公鑰和臨時公鑰,進而獲取到服務器為終端生成的加密私鑰,從而導致終端的加密私鑰被泄漏。

在上述可選實施方式中,第一私鑰可以為預存在終端中的私鑰,例如出生證私鑰,相應地,服務器中預存有與第一私鑰相對應的第一公鑰,可對第一私鑰簽名后的數(shù)據(jù)進行驗簽操作。

在本實施例中,終端對簽名公鑰和臨時公鑰進行簽名操作包括但不限于以下三種方案:

方案一:終端利用第一私鑰對簽名公鑰進行簽名操作,生成簽名公鑰簽名信息,并利用第一私鑰對臨時公鑰進行簽名操作,生成臨時公鑰簽名信息,并基于簽名公鑰簽名信息和臨時公鑰簽名信息生成第一簽名信息,例如,第一簽名信息可以由簽名公鑰簽名信息和臨時公鑰簽名信息組成;

方案二:終端利用第一私鑰對簽名公鑰進行簽名操作,生成簽名公鑰簽名信息,并利用簽名私鑰對臨時公鑰進行簽名操作,生成臨時公鑰簽名信息,并基于簽名公鑰簽名信息和臨時公鑰簽名信息生成第一簽名信息,例如,第一簽名信息可以由簽名公鑰簽名信息和臨時公鑰簽名信息組成;

方案三:終端利用第一私鑰對臨時公鑰進行簽名操作,生成簽名公鑰簽名信息,并利用臨時私鑰對簽名公鑰進行簽名操作,生成臨時公鑰簽名信息,并基于簽名公鑰簽名信息和臨時公鑰簽名信息生成第一簽名信息,例如,第一簽名信息可以由簽名公鑰簽名信息和臨時公鑰簽名信息組成;

相應地,服務器在對第一簽名信息進行認證操作時,可以采用與終端對應的簽名方案進行相應的認證操作。

例如,與上述方案一相對應,服務器基于第一公鑰對第一簽名信息進行認證操作的方案為:服務器基于第一公鑰對簽名公鑰簽名信息進行認證操作,認證成功后獲取簽名公鑰,并基于第一公鑰對臨時公鑰簽名信息進行認證操作,認證成功后獲取臨時公鑰;

與上述方案二相對應,服務器基于第一公鑰對第一簽名信息進行認證操作的方案為:服務器基于第一公鑰對簽名公鑰簽名信息進行認證操作,認證成功后獲取簽名公鑰,基于簽名公鑰對臨時公鑰簽名信息進行認證操作,認證成功后獲取臨時公鑰;

與上述方案三相對應,服務器基于第一公鑰對第一簽名信息進行認證操作的方案為:服務器基于第一公鑰對臨時公鑰簽名信息進行認證操作,認證成功后獲取臨時公鑰,基于臨時公鑰對簽名公鑰簽名信息進行認證操作,認證成功后獲取簽名公鑰。

在本發(fā)明實施例的一個可選實施方案中,為了保證服務器的身份,在步驟S105之后,步驟S106之前,該方法還可以包括步驟:服務器利用第二私鑰對第一加密信息進行簽名操作,生成第二簽名信息;第二數(shù)據(jù)包還包括第二簽名信息;相應地,在步驟S107中,終端接收到第二數(shù)據(jù)包之后,獲取第一加密信息之前,該方法還可以包括步驟:終端基于第二公鑰對第二簽名信息進行認證操作,認證成功后,獲取第一加密信息。其中,在該可選實施方式中,第二私鑰為服務器的CA私鑰,預存于服務器中,與第二私鑰相對于的第二公鑰可以是預存于終端中,也可以是終端與服務器交互過程中由服務器發(fā)送至終端。在該可選實施方式中,服務器通過利用第二私鑰對第一加密信息進行簽名操作,終端對第一加密信息進行認證,在認證成功之后,獲取第一加密信息,從而保證第一加密信息來源的可靠性,避免第三方模擬服務器向終端發(fā)送加密私鑰,從而給用戶帶來安全隱患。

通過本實施例提供的加密密鑰獲取方法,服務器接收終端發(fā)送的簽名公鑰之前,對終端進行認證操作,保證簽名公鑰的真實性,終端接收服務器發(fā)送的加密私鑰之前,對服務器進行認證,保證加密私鑰的真實性,從而避免終端或服務器將虛假服務器或終端發(fā)送的信息判斷為有效信息。此外,在本實施例提供的方案中,服務器采用臨時公鑰而非簽名公鑰進行加密傳輸,即使在傳輸過程中被第三方截取并破譯,外界也僅能夠得知臨時私鑰,無法獲知簽名私鑰,從而避免了選擇性攻擊帶來的安全隱患,保證終端中簽名私鑰的安全性。

實施例2

本實施例提供一種加密密鑰獲取系統(tǒng),該系統(tǒng)可以用于實現(xiàn)實施例1所述的加密密鑰獲取方法。

圖2為本實施例提供的一種加密密鑰獲取系統(tǒng)的架構示意圖,如圖2所示,該系統(tǒng)主要包括終端201和服務器202。

在本實施例中,終端201,用于基于第一安全算法生成并保存簽名公鑰和簽名私鑰,基于第二安全算法生成并保存臨時公鑰和臨時私鑰,并將第一數(shù)據(jù)包發(fā)送至服務器202,其中,第一數(shù)據(jù)包至少包括:簽名公鑰和臨時公鑰;服務器202,用于接收第一數(shù)據(jù)包,獲取簽名公鑰和臨時公鑰,并保存簽名公鑰;基于第三安全算法生成并保存所述終端的加密公鑰和加密私鑰,基于第四安全算法生成并保存數(shù)據(jù)加密碼和數(shù)據(jù)解密碼;利用數(shù)據(jù)加密碼對加密私鑰進行加密操作,生成第一加密信息;利用臨時公鑰對數(shù)據(jù)解密碼進行加密操作,生成第二加密信息;并將第二數(shù)據(jù)包發(fā)送至終端201,其中,第二數(shù)據(jù)包至少包括:第一加密信息、第二加密信息;終端201,還用于接收第二數(shù)據(jù)包,獲取第一加密信息,利用臨時私鑰對第二加密信息進行解密操作,獲得數(shù)據(jù)解密碼,利用數(shù)據(jù)解密碼對第一加密信息進行解密操作,獲得加密私鑰;保存加密私鑰。

在本實施例中,終端201基于第一安全算法生成并保存簽名公鑰和簽名私鑰,基于第二安全算法生成并保存臨時公鑰和臨時私鑰。其中,終端201為能夠進行非對稱加解密的終端201設備,可以為USBKEY、智能卡、手機、可穿戴設備等終端201設備,第一安全算法與第二安全算法均為終端201內(nèi)存儲的預設非對稱算法,用于產(chǎn)生公私鑰對,根據(jù)第一安全算法生成的簽名公鑰和簽名私鑰可以為終端201用于交易簽名的私鑰及相應公鑰,且簽名公鑰和簽名私鑰為終端201用于交易簽名及驗簽的唯一公私鑰對。即在本實施例中,簽名公鑰和簽名私鑰只在交易中使用,并且,在某些終端中,例如,USBKEY,由于交易過程需要用戶確認終端才能使用簽名私鑰進行簽名,因此,第三方也無法使用簽名公鑰進行加密向終端發(fā)送大量密文,而通過監(jiān)測終端對使用簽名私鑰對大量密文進行解密而獲取終端的簽名私鑰。

在本實施例中,臨時公鑰和臨時私鑰為終端201根據(jù)第二安全算法臨時生成的公私鑰對,該臨時公私鑰對只作為臨時使用,在本實施例中,臨時公私鑰對只在本次密鑰獲取過程中使用,在密鑰獲取結束之后失效。因此,即使在密鑰獲取過程中臨時私鑰被外部竊取,由于后續(xù)終端不會再使用該臨時公私鑰對,因此,所以不法人員也無法將本次生成的臨時私鑰用于下次交互過程,不會對用戶的安全造成影響。

在本實施例中,終端201可以通過數(shù)據(jù)通信通道將簽名公鑰和臨時公鑰發(fā)送至服務器202,具體地,終端201可以通過有線數(shù)據(jù)通信通道或無線數(shù)據(jù)通信通道進行數(shù)據(jù)傳輸,包括但不限于藍牙通道、紅外通道、RFID通道、ZigBee通道、超寬頻(Ultra WideBand)通道、短距通信(NFC)通道、WiMedia通道、GPS通道、DECT通道等;服務器202通過上述通信通道進行第一數(shù)據(jù)包接收。

在本實施例中,第三安全算法為服務器202中預設的非對稱算法,用于產(chǎn)生公私鑰對,第四安全算法為服務器202中預設的安全算法,可以為非對稱算法,也可以為對稱算法;服務器202根據(jù)第三安全算法生成加密公鑰和加密私鑰,加密公私鑰可以在終端登錄服務器時使用,例如,可以在終端登錄時使用加密私鑰對用戶輸入的登錄密碼進行加密,提交到服務器之后,服務器根據(jù)用戶設置的登錄密碼,使用該終端的加密公鑰,對用戶提交的登錄密碼進行驗證。

另外,在本實施例中,數(shù)據(jù)加密碼和數(shù)據(jù)解密碼可以用于服務器202與終端201之間的傳輸數(shù)據(jù)的加解密,在本實施例中,數(shù)據(jù)加密碼和數(shù)據(jù)解密碼用于對終端201的加密私鑰的加解密操作,可選地,數(shù)據(jù)加密碼和數(shù)據(jù)解密碼可以為服務器202隨機生成的一組隨機數(shù),具體形式本實施例不作限定。

在本發(fā)明實施例的一個可選實施方案中,為了保證臨時公私鑰對只能被使用一次,服務器202在向終端201發(fā)送第一加密信息之后,可以清除終端201的臨時公鑰。終端201在獲取加密私鑰之后,可以清除所述臨時私鑰。通過該可選實施方式中,即使第三方獲取到終端201的臨時公鑰和簽名公鑰,模擬服務器202向終端201發(fā)送加密私鑰進而對終端201進行密文攻擊,攻破終端201的臨時私鑰,但由于終端201在獲取到加密私鑰之后,不會再使用該臨時公私鑰對,因此,不會對用戶造成安全困擾,給用戶帶來安全隱患。

在本發(fā)明實施例的一個可選實施方案中,終端201利用臨時私鑰對第二加密信息進行解密操作得到數(shù)據(jù)解密碼之后,可以保存該數(shù)據(jù)解密碼,在后續(xù)與服務器202的交互過程中,使用該數(shù)據(jù)解密碼對服務器202發(fā)送的數(shù)據(jù)進行解密。

終端201在保存加密私鑰時,可以將獲得的加密私鑰寫入安全存儲器,安全存儲器能夠保證加密私鑰不可被外部獲取,也就是說,終端201一旦將加密私鑰寫入終端201內(nèi)部的安全存儲器,不法份子無法從終端201讀取加密私鑰,從而保證了加密私鑰的安全性。

在本發(fā)明實施例的一個可選實施方案中,為了保證服務器202可以確定第一數(shù)據(jù)包是終端201發(fā)送的,終端201還用于在向服務器202發(fā)送第一數(shù)據(jù)包之前,基于第一私鑰對簽名公鑰和臨時公鑰進行簽名操作,生成第一簽名信息;第一數(shù)據(jù)包還包括第一簽名信息;服務器202還用于在獲取簽名公鑰和臨時公鑰之前,基于第一公鑰對第一簽名信息進行認證操作,認證成功后,才獲取簽名公鑰和臨時公鑰。

在上述可選實施方式中,第一私鑰為預存在終端201中的私鑰,例如出生證私鑰,相應地,服務器202中預存有與第一私鑰相對應的第一公鑰,可對第一私鑰簽名后的數(shù)據(jù)進行驗簽操作。

在本發(fā)明實施例的一個可選實施方案中,終端201具體用于通過但不限于以下三種簽名方案對所述簽名公鑰和臨時公鑰進行簽名得到第一簽名信息:

方案一:終端201利用第一私鑰對簽名公鑰進行簽名操作,生成簽名公鑰簽名信息,并利用第一私鑰對臨時公鑰進行簽名操作,生成臨時公鑰簽名信息,并基于簽名公鑰簽名信息和臨時公鑰簽名信息生成第一簽名信息;

方案二:終端201利用第一私鑰對簽名公鑰進行簽名操作,生成簽名公鑰簽名信息,并利用簽名私鑰對臨時公鑰進行簽名操作,生成臨時公鑰簽名信息,并基于簽名公鑰簽名信息和臨時公鑰簽名信息生成第一簽名信息;

方案三:終端201利用第一私鑰對臨時公鑰進行簽名操作,生成簽名公鑰簽名信息,并利用臨時私鑰對簽名公鑰進行簽名操作,生成臨時公鑰簽名信息,并基于簽名公鑰簽名信息和臨時公鑰簽名信息生成第一簽名信息。

對應于終端201基于第一私鑰對簽名公鑰和臨時公鑰進行簽名操作的三種方案,服務器202具體用于通過但不限于以下三種認證方案對第一簽名信息進行認證:

方案一:服務器202基于第一公鑰對簽名公鑰簽名信息進行認證操作,認證成功后獲取簽名公鑰,基于第一公鑰對臨時公鑰簽名信息進行認證操作,認證成功后獲取臨時公鑰;

方案二:服務器202基于第一公鑰對簽名公鑰簽名信息進行認證操作,認證成功后獲取簽名公鑰,基于簽名公鑰對臨時公鑰簽名信息進行認證操作,認證成功后獲取臨時公鑰;

方案三:服務器202基于第一公鑰對臨時公鑰簽名信息進行認證操作,認證成功后獲取臨時公鑰,基于臨時公鑰對簽名公鑰簽名信息進行認證操作,認證成功后獲取簽名公鑰。

在本發(fā)明實施例的一個可選實施方案中,為了保證服務器的身份,服務器202,還用于在向終端201發(fā)送第一加密信息之前,利用第二私鑰對第一加密信息進行簽名操作,生成第二簽名信息;第二數(shù)據(jù)包還包括第二簽名信息;終端201,還用于在獲取第一加密信息之前,基于第二公鑰對第二簽名信息進行認證操作,認證成功后,獲取第一加密信息。相應地,終端201還用于在接收到第二數(shù)據(jù)包之后,獲取第一加密信息之前,基于第二公鑰對第二簽名信息進行認證操作,認證成功后,獲取第一加密信息。

在上述可選實施方式中,第二私鑰可以為CA私鑰,預存于服務器202中,與第二私鑰相對于的第二公鑰可以是預存于終端201中,也可以是終端201與服務器202交互過程中由服務器202發(fā)送至終端201。在該可選實施方式中,服務器202通過利用第二私鑰對第一加密信息進行簽名操作,終端201對第一加密信息進行認證,在認證成功之后,獲取第一加密信息,從而保證第一加密信息來源的可靠性,避免第三方模擬服務器202向終端201發(fā)送加密私鑰,從而給用戶帶來安全隱患。

通過本實施例提供的密鑰生成系統(tǒng),服務器202接收終端201發(fā)送的簽名公鑰之前,對終端201進行認證操作,保證簽名公鑰的真實性,終端201接收服務器202發(fā)送的加密私鑰之前,對服務器202進行認證,保證加密私鑰的真實性,從而避免終端201或服務器202將虛假服務器202或終端201發(fā)送的信息判斷為有效信息,此外,在本實施例提供的方案中,服務器202采用臨時公鑰而非簽名公鑰進行加密傳輸,即使在傳輸過程中被第三方截取并破譯,外界也僅能夠得知臨時私鑰,無法獲知簽名私鑰,從而避免了選擇性攻擊帶來的安全隱患,保證終端201中簽名私鑰的安全性。

流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應被本發(fā)明的實施例所屬技術領域的技術人員所理解。

應當理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。

本技術領域的普通技術人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。

此外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中。

上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。

在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。

盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領域的普通技術人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。本發(fā)明的范圍由所附權利要求及其等同限定。

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