數字證書的生成方法和系統的製作方法
2023-05-11 20:40:01
專利名稱:數字證書的生成方法和系統的製作方法
技術領域:
本發明涉及信息安全技術領域,特別涉及一種數字證書的生成方法和一種數字證書的生成系統。
背景技術:
近年來,伴隨網際網路以及金融信息化的快速發展,網上銀行因其便利、高效等優點迅速得到用戶和銀行業界的普遍推崇,其中數字證書是通過網上銀行進行交易時用戶和銀行伺服器的身份標識,可以保證網上交易的安全。目前,用戶數字證書的生成均由銀行伺服器完成,經過第三方電子商務認證伺服器認證之後再下發給用戶所使用的終端。存在的問題是,銀行伺服器在下發的數字證書給終端的過程中,銀行伺服器可能不知道所發送的具體終端,從而有可能遭到攔截,數字證書在下發的過程中存在被盜取的安全隱患。
發明內容
本發明的目的旨在至少解決上述技術缺陷之一。為達到上述目的,本發明第一個目的在於提出一種數字證書的生成方法,該方法包括以下步驟a、移動終端接收註冊指令,並根據所述註冊指令與銀行綜合伺服器建立連接,以及生成一對用戶公鑰和私鑰;b、所述移動終端根據所述銀行綜合伺服器的公鑰對用戶信息進行加密,並將加密之後的所述用戶信息發送至所述銀行綜合伺服器;c、所述銀行綜合伺服器根據所述銀行綜合伺服器的私鑰對所述移動終端發送的加密之後的所述用戶信息進行解密並驗證,並在驗證通過後向所述移動終端發送驗證信息;d、所述移動終端接收所述銀行綜合伺服器發送 的驗證信息之後,對用戶公鑰進行加密,並將加密後的用戶公鑰發送給所述銀行綜合伺服器;以及e、所述銀行綜合伺服器驗證所述用戶公鑰的正確性,並在驗證通過之後將所述用戶公鑰發送至第三方電子商務認證伺服器進行認證籤名以生成用戶公鑰證書。根據本發明實施例的數字證書的生成方法,在移動終端生成用戶公鑰和私鑰,將用戶信息和用戶公鑰發送至銀行綜合伺服器之前,移動終端和銀行綜合伺服器雙方進行驗證,並在驗證之後以數字證書的方式存儲在銀行,保證用戶公鑰傳輸通路的安全性,增加攻擊的難度。同時銀行綜合伺服器經過對移動終端進行驗證,可以明確知道與自己通信的是哪個移動終端,防止假冒移動終端與銀行進行交互,保證了安全。為達到上述目的,本發明第二個目的在於提出一種數字證書的生成系統,該系統包括移動終端、銀行綜合伺服器和第三方電子商務認證伺服器,其中,所述移動終端,用於接收註冊指令,並根據所述註冊指令與所述銀行綜合伺服器建立連接,以及生成一對用戶公鑰和私鑰,並根據所述銀行綜合伺服器的公鑰對用戶信息進行加密,並將加密之後的所述用戶信息發送至所述銀行綜合伺服器;所述銀行綜合伺服器,用於根據所述銀行綜合伺服器的私鑰對所述移動終端發送的加密之後的所述用戶信息進行解密並驗證,並在驗證通過後向所述移動終端發送驗證信息;所述移動終端,還用於接收所述銀行綜合伺服器發送的驗證信息之後,對用戶公鑰進行加密,並將加密後的用戶公鑰發送給所述銀行綜合伺服器;所述銀行綜合伺服器,還用於驗證所述用戶公鑰的正確性,並在驗證通過之後將所述用戶公鑰發送至第三方電子商務認證伺服器進行認證籤名以生成用戶公鑰證書。根據本發明實施例的數字證書的生成系統,在移動終端生成用戶公鑰和私鑰,分別將用戶信息和用戶公鑰發送至銀行綜合伺服器之前,移動終端和銀行綜合伺服器雙方進行驗證,使得用戶公鑰在驗證之後以數字證書的形式存儲在銀行,保證用戶公鑰傳輸通路的安全性,增加攻擊的難度。同時移動銀行伺服器經過對移動終端進行驗證,可以明確知道與自己通信的是哪個移動終端,防止假冒移動終端與銀行進行交互,保證了安全。本發明附加的方面和優點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發明的實踐了解到。
本發明上述的和/或附加的方面和優點從下面結合附圖對實施例的描述中將變得明顯和容易理解,其中圖1為根據本發明一個實施例的數字證書的生成方法的流程圖;圖2為根據本發明一個具體實施例的數字證書的生成方法的流程圖;圖3為根據本發明一個實施例的數字證書的生成系統的結構示意圖;以及
圖4為根據本發明一個具體實施例的數字證書的生成系統的結構示意圖。
具體實施例方式下面詳細描述本發明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用於解釋本發明,而不能理解為對本發明的限制。相反,本發明的實施例包括落入所附加權利要求書的精神和內涵範圍內的所有變化、修改和等同物。在本發明的描述中,需要理解的是,術語「第一」、「第二」等僅用於描述目的,而不能理解為指示或暗示相對重要性。在本發明的描述中,需要說明的是,除非另有明確的規定和限定,術語「相連」、「連接」應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連。對於本領域的普通技術人員而言,可以具體情況理解上述術語在本發明中的具體含義。此外,在本發明的描述中,除非另有說明,「多個」的含義是兩個或兩個以上。流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用於實現特定邏輯功能或過程的步驟的可執行指令的代碼的模塊、片段或部分,並且本發明的優選實施方式的範圍包括另外的實現,其中可以不按所示出或討論的順序,包括根據所涉及的功能按基本同時的方式或按相反的順序,來執行功能,這應被本發明的實施例所屬技術領域的技術人員所理解。下面參考附圖描述根據本發明實施例的數字證書的生成方法和系統。圖1為根據本發明一個實施例的數字證書的生成方法的流程圖。
如圖1所示,根據本發明實施例的數字證書的生成方法包括下述步驟。步驟S101,移動終端接收註冊指令,並根據註冊指令與銀行綜合伺服器建立連接,以及生成一對用戶公鑰和私鑰。具體地,移動終端下載銀行客戶端軟體,在安裝客戶端軟體時,從所加載的軟體中獲取銀行綜合伺服器的公鑰,並根據註冊指令對銀行綜合伺服器的公鑰進行驗證,以及在驗證通過之後根據註冊指令與銀行綜合伺服器建立連接,並將驗證通過之後的銀行綜合伺服器的公鑰保存在移動終端中,生成一對用戶公鑰和私鑰,當用戶啟動銀行客戶端軟體之後可以進入登陸/註冊界面。步驟S102,移動終端根據銀行綜合伺服器的公鑰對用戶信息進行加密,並將加密之後的用戶信息發送至銀行綜合伺服器。其中,用戶信息包括手機號碼、銀行卡號、註冊完畢後的登錄密碼;或者手機號碼、銀行卡號、註冊完畢後的登錄密碼的哈希值。在本步驟中,發送加密的用戶信息的同時,還可以發送驗證信息,以便銀行綜合伺服器對移動終端進行驗證,保證安全性。步驟S103,銀行綜合伺服器根據銀行綜合伺服器的私鑰對移動終端發送的加密之後的用戶信息進行解密並驗證,並在驗證通過後向移動終端發送驗證信息。
步驟S104,移動終端接收銀行綜合伺服器發送的驗證信息之後,對用戶公鑰進行加密,並將加密後的用戶公鑰發送給銀行綜合伺服器。步驟S105,銀行綜合伺服器驗證用戶公鑰的正確性,並在驗證通過之後將用戶公鑰發送至第三方電子商務認證伺服器進行認證籤名以生成用戶公鑰證書。具體地,第三方電子商務認證伺服器對用戶的公鑰進行認證籤名,可以防止用戶公鑰被冒充,並將籤名之後的用戶公鑰儲存在銀行綜合伺服器中,銀行綜合伺服器存儲籤名的用戶公鑰之後提示用戶公鑰證書生成成功。根據本發明實施例的數字證書的生成方法,在移動終端生成用戶公鑰和私鑰,分別將用戶信息和用戶公鑰發送至銀行綜合伺服器之前,移動終端和銀行綜合伺服器雙方進行驗證,使得用戶公鑰在驗證之後以數字證書的形式存儲在銀行,保證用戶公鑰傳輸通路的安全性,增加攻擊的難度。同時移動銀行伺服器經過對移動終端進行驗證,可以明確知道與自己通信的是哪個移動終端,防止假冒移動終端與銀行進行交互,保證了安全。圖2為根據本發明一個具體實施例的數字證書的生成方法的流程圖。如圖2所示,根據本發明實施例的數字證書的生成方法包括下述步驟。步驟S201,移動終端接收註冊指令,並根據註冊指令與銀行綜合伺服器建立連接,以及生成一對用戶公鑰和私鑰。具體的,移動終端下載銀行客戶端軟體,在安裝客戶端軟體時,從所加載的軟體中獲取銀行綜合伺服器的公鑰,並根據註冊指令對銀行綜合伺服器的公鑰進行驗證,以及在驗證通過之後根據註冊指令與銀行綜合伺服器建立連接。具體地,銀行客戶端軟體在進行安裝時,銀行綜合伺服器的公鑰的根證書提前預置在移動終端中,在發送註冊請求時,可以根據預置的根證書驗證銀行綜合伺服器的公鑰是否正確,其中在銀行綜合伺服器的公鑰正確時才可以繼續執行下述步驟,在銀行綜合伺服器的公鑰錯誤時提示錯誤信息。在本發明的一個實施例中,銀行綜合伺服器包括移動銀行伺服器和銀行綜合前置伺服器,移動終端從所加載的軟體(例如銀行客戶端軟體)中獲取移動銀行伺服器的公鑰和銀行綜合前置伺服器的公鑰,並根據註冊指令對移動銀行伺服器的公鑰和銀行綜合前置伺服器的公鑰進行驗證,以及在驗證通過之後根據註冊指令與移動銀行伺服器建立連接。具體地,銀行客戶端軟體在進行安裝時,移動銀行伺服器的公鑰和銀行綜合前置伺服器的公鑰的根證書提前預置在移動終端中,在發送註冊請求時,可以根據預置的根證書驗證移動銀行伺服器的公鑰和銀行綜合前置伺服器的公鑰是否正確,其中在移動銀行伺服器的公鑰和銀行綜合前置伺服器的公鑰正確時才可以繼續執行下述步驟,在移動銀行伺服器的公鑰和銀行綜合前置伺服器的公鑰錯誤時提示錯誤信息。其中,移動銀行服務端的私鑰存儲在移動銀行伺服器中,移動銀行伺服器的公鑰和私鑰用於對移動終端與移動銀行服務端之間的通訊數據進行加密;銀行服務端的私鑰存儲在銀行綜合前置伺服器中,銀行綜合前置伺服器的公鑰和私鑰用於對交易過程中的銀行卡等敏感信息進行加密。步驟S202,移動終端接收移動銀行伺服器生成的圖形驗證碼。其中採用圖形驗證碼的方式進行註冊可以有效地防止攻擊。
具體的,移動終端可以接收移動銀行伺服器生成的圖形驗證碼並將該圖形驗證碼顯示出來,以供用戶查看並輸入。當然,上述步驟S201中,生成的用戶公鑰和私鑰的步驟也可以在本步驟中同時執行。步驟S203,移動終端根據移動銀行伺服器的公鑰對手機號碼、銀行卡號、登錄密碼/登陸密碼的哈希值、硬體特徵信息/硬體特徵信息的哈希值、第一隨機數和圖形驗證碼進行加密,並將加密之後的用戶信息發送至移動銀行伺服器,其中第一隨機數由移動終端生成。本實施例中的用戶信息包括手機號碼、銀行卡號、登錄密碼、硬體特徵信息;或者用戶信息包括手機號碼、銀行卡號、登錄密碼的哈希值、硬體特徵信息;或者用戶信息包括手機號碼、銀行卡號、登錄密碼、硬體特徵信息的哈希值;或者用戶信息包括手機號碼、銀行卡號、登錄密碼的哈希值、硬體特徵信息的哈希值。在本發明的一個實施例中,移動終端接收移動銀行伺服器生成的圖形驗證碼;移動終端根據移動銀行伺服器的公鑰對用戶輸入的手機號碼、用戶輸入的銀行卡號、用戶輸入的登錄密碼/計算得到的該登陸密碼的哈希值、用戶輸入的硬體特徵信息/計算得到的該硬體特徵信息的哈希值、生成的第一隨機數和用戶輸入的圖形驗證碼顯示的字符進行加密,並將加密之後的用戶信息發送至移動銀行伺服器。具體地,移動終端提取硬體特徵信息,硬體特徵信息可以包括移動終端的設備序列號或網卡的MAC地址等,以便移動銀行伺服器對移動終端進行綁定和驗證,當然,本實施例中,移動終端提取移動終端的硬體特徵信息後,還可以計算該硬體特徵信息的哈希值,從而可以防止在信息傳輸過程中硬體特徵信息被獲取。同時,移動終端還可以生成第一隨機數。當然,上述步驟S201中,生成的用戶公鑰和私鑰的步驟也可以在本步驟與提取硬體特徵信息和/或生成第一隨機數同時執行。
步驟S204,移動銀行伺服器根據移動銀行伺服器的私鑰對移動終端發送的加密之後的用戶信息進行解密以獲得用戶信息,並在圖形驗證碼驗證通過之後將手機號碼和銀行卡號發送至銀行綜合前置伺服器。步驟S205,銀行綜合前置伺服器在手機號碼和銀行卡號驗證通過之後發送驗證通過信息至移動銀行伺服器。其中,銀行綜合前置伺服器和移動銀行伺服器之間建立加密通道,數據全部加密傳送。步驟S206,移動銀行伺服器根據驗證通過信息生成第二隨機數和簡訊驗證碼,並根據第一隨機數對第二隨機數進行加密,並將簡訊驗證碼和加密後的第二隨機數作為驗證信息發送至移動終端。具體的,簡訊驗證碼以簡訊的形式發送至移動終端,例如以銀行特服號955XX的方式發送至移動終端。步驟S207,移動終端根據第一隨機數和第二隨機數對簡訊驗證碼和用戶公鑰進行加密以生成第一分段消息驗證碼,並根據用戶私鑰對硬體特徵信息/硬體特徵信息的哈希值進行籤名以生成第一籤名信息,並將第一分段消息驗證碼、用戶公鑰和第一籤名信息發送至移動銀行伺服器。首先,移動終端根據第一隨機數對第二隨機數進行解密以獲取第二隨機數。然後,根據第一隨機數和第二隨機數對用戶輸入的簡訊驗證碼和用戶公鑰進行加密以生成第一分段消息驗證碼,此時移動終端使用第一隨機數和第二隨機數作為新的密鑰。再重新提取硬體特徵信息/計算提取的硬體特徵信息的哈希值,並根據用戶私鑰對硬體特徵信息/硬體特徵信息的哈希值進行籤名以生成第一籤名信息,並將第一分段消息驗證碼、用戶公鑰和第一籤名信息發送至移動銀行伺服器。另外,移動終 端在發送上述信息之前還可以通過移動銀行伺服器的公鑰對第一分段消息驗證碼、用戶公鑰和第一籤名信息進行加密。步驟S208,移動銀行伺服器根據存儲的第一隨機數和第二隨機數對簡訊驗證碼和用戶公鑰進行加密以生成第二分段消息驗證碼,並根據用戶公鑰對第一籤名信息進行驗籤,並判斷第一分段消息驗證碼與第二分段消息驗證碼是否一致,第一籤名信息是否通過驗籤。具體地,移動銀行伺服器對接收到移動終端發送的第一分段消息驗證碼、用戶公鑰和第一籤名信息之後,移動銀行伺服器根據自己存儲的第一隨機數和第二隨機數對簡訊驗證碼和用戶公鑰進行加密以生成第二分段消息驗證碼,並根據用戶公鑰對第一籤名信息進行驗籤,然後判斷第一分段消息驗證碼與第二分段消息驗證碼是否一致,第一籤名信息是否通過驗籤。步驟S209,如果判斷出第一分段消息驗證碼與第二分段消息驗證碼一致,第一籤名信息通過驗籤,則驗證通過。步驟S210,移動銀行伺服器在驗證通過之後將用戶公鑰發送至第三方電子商務認證伺服器進行認證籤名以生成用戶公鑰證書。在本發明的一個實施例中,移動終端還生成第三隨機數,根據硬體特徵信息/硬體特徵信息的哈希值、登錄密碼/登陸密碼的哈希值和第三隨機數生成對稱密鑰,並根據對稱密鑰對用戶私鑰進行加密保存。其中,將第三隨機數發送至移動銀行伺服器進行保存,移動銀行伺服器可以利用第三隨機數在交易時驗證用戶私鑰。根據本發明實施例的數字證書的生成方法,在移動終端生成用戶公鑰和私鑰,分別將用戶信息和用戶公鑰發送至銀行綜合伺服器之前,移動終端和銀行綜合伺服器雙方進行驗證,使得用戶公鑰在驗證之後以數字證書的形式存儲在銀行,保證用戶公鑰傳輸通路的安全性,增加攻擊的難度。同時移動銀行伺服器經過對移動終端進行驗證,可以明確知道與自己通信的是哪個移動終端,防止假冒移動終端與銀行進行交互,保證了安全。圖3為根據本發明一個實施例的數字證書的生成系統的結構框圖。如圖3所示,根據本發明實施例的交易系統包括移動終端10、銀行綜合伺服器20和第三方電子商務認證伺服器30。具體地,移動終端10用於接收註冊指令,並根據註冊指令與銀行綜合伺服器20建立連接,以及生成一對用戶公鑰和私鑰,並根據預存的銀行綜合伺服器20的公鑰對用戶信息進行加密,並將加密之後的用戶信息發送至銀行綜合伺服器20。具體地,移動終端10下載銀行客戶端軟體,在安裝客戶端軟體時,從所加載的軟體中獲取銀行綜合伺服器20的公鑰,並根據註冊指令對銀行綜合伺服器20的公鑰進行驗證,以及在驗證通過之後根據註冊指令與銀行綜合伺服器20建立連接,並將驗證通過之後的銀行綜合伺服器20的公鑰保存在移動終端10中,生成一對用戶公鑰和私鑰,當用戶啟動銀行客戶端軟體之後可以進入登陸/註冊界面。銀行綜合伺服器20用於根據銀行綜合伺服器20的私鑰對移動終端10發送的加密之後的用戶信息進行解密並驗證,並在驗證通過後向移動終端10發送驗證信息。其中,用戶信息包括手機號碼、銀行卡號、註冊完畢後的登錄密碼;或者手機號碼、銀行卡 號、註冊完畢後的登錄密碼的哈希值。移動終端10發送加密的用戶信息的同時,還可以發送驗證信息,以便銀行綜合伺服器20對移動終端10進行驗證,保證安全性。移動終端10還用於接收銀行綜合伺服器20發送的驗證信息,對用戶公鑰進行加密,並將加密後的用戶公鑰發送給銀行綜合伺服器20,銀行綜合伺服器20還用於驗證用戶公鑰的正確性,並在驗證通過之後將用戶公鑰發送至第三方電子商務認證伺服器30進行認證籤名以生成用戶公鑰證書。第三方電子商務認證伺服器30對用戶的公鑰進行認證籤名,可以防止用戶公鑰被冒充,並將籤名之後的用戶公鑰儲存在銀行綜合伺服器20中,銀行綜合伺服器20存儲籤名的用戶公鑰之後提示用戶公鑰證書生成成功。根據本發明實施例的數字證書的生成系統,在移動終端生成用戶公鑰和私鑰,分別將用戶信息和用戶公鑰發送至銀行綜合伺服器之前,移動終端和銀行綜合伺服器雙方進行驗證,使得用戶公鑰在驗證之後以數字證書的形式存儲在銀行,保證用戶公鑰傳輸通路的安全性,增加攻擊的難度。同時移動銀行伺服器經過對移動終端進行驗證,可以明確知道與自己通信的是哪個移動終端,防止假冒移動終端與銀行進行交互,保證了安全。圖4為根據本發明一個具體實施例的數字證書的生成系統的結構框圖。如圖4所示,根據本發明實施例的交易系統包括移動終端10、銀行綜合伺服器20、移動銀行伺服器21、銀行綜合前置伺服器22和第三方電子商務認證伺服器30。其中,銀行綜合伺服器20包括移動銀行伺服器21和銀行綜合前置伺服器22。
在本發明的一個實施例中,在圖3所示實施例的基礎上,移動終端10還用於從所加載的軟體中獲取移動銀行伺服器21的公鑰和銀行綜合前置伺服器22的公鑰,並根據註冊指令對移動銀行伺服器21的公鑰和銀行綜合前置伺服器22的公鑰進行驗證,以及在驗證通過之後根據註冊指令與移動銀行伺服器21建立連接。其中,移動銀行服務端21的私鑰存儲在移動銀行伺服器21中,移動銀行伺服器21的公鑰和私鑰用於對移動終端10與移動銀行服務端21之間的通訊數據進行加密;銀行服務端22的私鑰存儲在銀行綜合前置伺服器22中,銀行綜合前置伺服器22的公鑰和私鑰用於對交易過程中的銀行卡等敏感信息進行加密。移動終端10還用於接收移動銀行伺服器21生成的圖形驗證碼,其中採用圖形驗證碼可以防止攻擊,並根據移動銀行伺服器21的公鑰對手機號碼、銀行卡號、登錄密碼/登陸密碼的哈希值、硬體特徵信息/硬體特徵信息的哈希值、第一隨機數和用戶輸入的圖形驗證碼進行加密,並將加密之後的用戶信息發送至移動銀行伺服器21,其中第一隨機數由移動終端10生成。本實施例中的用戶信息包括手機號碼、銀行卡號、登錄密碼、硬體特徵信息;或者用戶信息包括手機號碼、銀行卡號、登錄密碼的哈希值、硬體特徵信息;或者用戶信息包括手機號碼、銀行卡號、登錄密碼、硬體特徵信息的哈希值;或者用戶信息包括手機號碼、銀行卡號、登錄密碼的哈希值、硬體特徵信息的哈希值。本實施例中,移動終端10還用於接收移動銀行伺服器21生成的圖形驗證碼,並根據移動銀行伺服器21的公鑰 對用戶輸入的手機號碼、用戶輸入的銀行卡號、用戶數輸入的登錄密碼/計算得到的該登陸密碼的哈希值、提取的硬體特徵信息/計算得到的該硬體特徵信息的哈希值、生成的第一隨機數和用戶輸入的圖形驗證碼顯示的字符進行加密,並將加密之後的用戶信息發送至移動銀行伺服器21。具體地,移動終端10提取硬體特徵信息,硬體特徵信息可以包括移動終端10的設備序列號或網卡的MAC地址等,以便移動銀行伺服器21對移動終端10進行綁定和驗證,當然,本實施例中,移動終端10提取移動終端的硬體特徵信息後,還可以計算該硬體特徵信息的哈希值,從而可以防止在信息傳輸過程中硬體特徵信息被獲取。在本發明的一個實施例中,移動銀行伺服器21還用於根據移動銀行伺服器21的私鑰對移動終端10發送的加密之後的用戶信息進行解密以獲得用戶信息,並在圖形驗證碼驗證通過之後將手機號碼和銀行卡號發送至銀行綜合前置伺服器22,其中,銀行綜合前置伺服器22和移動銀行伺服器21之間建立加密通道,數據全部加密傳送,銀行綜合前置伺服器22還用於在手機號碼和銀行卡號驗證通過之後發送驗證通過信息至移動銀行伺服器21,移動銀行伺服器21根據驗證通過信息生成第二隨機數和簡訊驗證碼,並根據第一隨機數對第二隨機數進行加密,並將簡訊驗證碼和加密後的第二隨機數作為驗證信息發送至移動終端10。其中,簡訊驗證碼可以以簡訊的形式發送至移動終端10,例如以銀行特服號955XX的方式發送至移動終端10。在本發明的一個實施例中,移動終端10還用於根據第一隨機數和第二隨機數對簡訊驗證碼和用戶公鑰進行加密以生成第一分段消息驗證碼,並根據用戶私鑰對硬體特徵信息/硬體特徵信息的哈希值進行籤名以生成第一籤名信息,並將第一分段消息驗證碼、用戶公鑰和第一籤名信息發送至移動銀行伺服器21。具體地,移動終端10根據第一隨機數對第二隨機數進行解密以獲取第二隨機數。然後,根據第一隨機數和第二隨機數對簡訊驗證碼和用戶公鑰進行加密以生成第一分段消息驗證碼,此時移動終端10使用第一隨機數和第二隨機數作為新的密鑰。再重新提取硬體特徵信息/計算提取的硬體特徵信息的哈希值,並根據用戶私鑰對硬體特徵信息/硬體特徵信息的哈希值進行籤名以生成第一籤名信息,並將第一分段消息驗證碼、用戶公鑰和第一籤名信息發送至移動銀行伺服器21。另外,移動終端10在發送上述信息之前利用移動銀行伺服器21的公鑰對第一分段消息驗證碼、用戶公鑰和第一籤名信息進行加密。移動銀行伺服器21在驗證通過之後將用戶公鑰發送至第三方電子商務認證伺服器30進行認證籤名以生成用戶公鑰證書。在本發明的一個實施例中,移動銀行伺服器21還用於根據存儲的第一隨機數和第二隨機數對簡訊驗證碼和用戶公鑰進行加密以生成第二分段消息驗證碼,並根據用戶公鑰對第一籤名信息進行驗籤,並判斷第一分段消息驗證碼與第二分段消息驗證碼是否一致,第一籤名信息是否通過驗籤,在判斷出第一分段消息驗證碼與第二分段消息驗證碼一致,第一籤名信息通過驗籤後,通過驗證。在本發明的一個實施例中,移動終端10還用於生成第三隨機數,根據硬體特徵信息/硬體特徵信息的哈希值、登錄密碼/登陸密碼的哈希值和第三隨機數生成對稱密鑰,並根據對稱密鑰對用戶私鑰進行加密保存。其中,將第三隨機數發送至移動銀行伺服器21進行保存,移動銀行伺服器21可以利用第三隨機數在交易時驗證用戶私鑰。根據本發明實施例的數字證書的生成系統,在移動終端生成用戶公鑰和私鑰,分別將用戶信息和用戶公鑰發送 至銀行綜合伺服器之前,移動終端和銀行綜合伺服器雙方進行驗證,使得用戶公鑰在驗證之後以數字證書的形式存儲在銀行,保證用戶公鑰傳輸通路的安全性,增加攻擊的難度。同時移動銀行伺服器經過對移動終端進行驗證,可以明確知道與自己通信的是哪個移動終端,防止假冒移動終端與銀行進行交互,保證了安全。儘管已經示出和描述了本發明的實施例,對於本領域的普通技術人員而言,可以理解在不脫離本發明的原理和精神的情況下可以對這些實施例進行多種變化、修改、替換和變型,本發明的範圍由所附權利要求及其等同限定。
權利要求
1.一種數字證書的生成方法,其特徵在於,該方法包括 a、移動終端接收註冊指令,並根據所述註冊指令與銀行綜合伺服器建立連接,以及生成一對用戶公鑰和私鑰; b、所述移動終端根據所述銀行綜合伺服器的公鑰對用戶信息進行加密,並將加密之後的所述用戶信息發送至所述銀行綜合伺服器; C、所述銀行綜合伺服器根據所述銀行綜合伺服器的私鑰對所述移動終端發送的加密之後的所述用戶信息進行解密並驗證,並在驗證通過後向所述移動終端發送驗證信息; d、所述移動終端接收所述銀行綜合伺服器發送的驗證信息之後,對用戶公鑰進行加密,並將加密後的用戶公鑰發送給所述銀行綜合伺服器;以及 e、所述銀行綜合伺服器驗證所述用戶公鑰的正確性,並在驗證通過之後將所述用戶公鑰發送至第三方電子商務認證伺服器進行認證籤名以生成用戶公鑰證書。
2.根據權利要求1所述的方法,其特徵在於,所述銀行綜合伺服器包括移動銀行伺服器和銀行綜合前置伺服器,所述步驟a中的移動終端接收註冊指令,並根據所述註冊指令與銀行綜合伺服器建立連接的步驟包括 所述移動終端從所加載的軟體中獲取移動銀行伺服器的公鑰和銀行綜合前置伺服器的公鑰,並根據所述註冊指令對所述移動銀行伺服器的公鑰和所述銀行綜合前置伺服器的公鑰進行驗證,以及在驗證通過之後根據所述註冊指令與所述移動銀行伺服器建立連接。
3.根據權利要求1所述的方法,其特徵在於,所述銀行綜合伺服器包括移動銀行伺服器和銀行綜合前置伺服器,所述步驟b包括 所述移動終端接收所述移動銀行伺服器生成的圖形驗證碼;以及 所述移動終端根據所述移動銀行伺服器的公鑰對手機號碼、銀行卡號、登錄密碼、硬體特徵信息、第一隨機數和所述圖形驗證碼進行加密,並將加密之後的所述用戶信息發送至所述移動銀行伺服器,其中所述第一隨機數由所述移動終端生成。
4.根據權利要求1所述的方法,其特徵在於,所述銀行綜合伺服器包括移動銀行伺服器和銀行綜合前置伺服器,所述步驟b包括 所述移動終端接收所述移動銀行伺服器生成的圖形驗證碼; 所述移動終端根據所述移動銀行伺服器的公鑰對接收的手機號碼、接收的銀行卡號、計算得到的登錄密碼的哈希值、計算得到的硬體特徵信息的哈希值、生成的第一隨機數和接收的所述圖形驗證碼進行加密,並將加密之後的所述用戶信息發送至所述移動銀行伺服器。
5.根據權利要求3或4所述的方法,其特徵在於,所述步驟c包括 所述移動銀行伺服器根據所述移動銀行伺服器的私鑰對所述移動終端發送的加密之後的所述用戶信息進行解密以獲得所述用戶信息,並在所述圖形驗證碼驗證通過之後將所述手機號碼和銀行卡號發送至銀行綜合前置伺服器; 所述銀行伺服器在所述手機號碼和銀行卡號驗證通過之後發送驗證通過信息至所述移動銀行伺服器; 所述移動銀行伺服器根據所述驗證通過信息生成第二隨機數和簡訊驗證碼,並根據所述第一隨機數對所述第二隨機數進行加密,並將所述簡訊驗證碼和所述加密後的第二隨機數作為所述驗證信息發送至所述移動終端。
6.根據權利要求5所述的方法,其特徵在於,所述步驟d包括 所述移動終端根據所述第一隨機數和所述第二隨機數對所述簡訊驗證碼和所述用戶公鑰進行加密以生成第一分段消息驗證碼,並根據所述用戶私鑰對所述硬體特徵信息進行籤名以生成第一籤名信息,並將所述第一分段消息驗證碼、用戶公鑰和第一籤名信息發送至所述移動銀行伺服器。
7.根據權利要求6所述的方法,其特徵在於,所述步驟e中的所述移動銀行伺服器驗證所述用戶公鑰的正確性的步驟包括 所述移動銀行伺服器根據存儲的所述第一隨機數和所述第二隨機數對所述簡訊驗證碼和所述用戶公鑰進行加密以生成第二分段消息驗證碼,並根據所述用戶公鑰對所述第一籤名信息進行驗籤,並判斷所述第一分段消息驗證碼與所述第二分段消息驗證碼是否一致,所述第一籤名信息是否通過驗籤;以及 如果所述第一分段消息驗證碼與所述第二分段消息驗證碼一致,所述第一籤名信息通過驗籤,則所述用戶公鑰通過驗證。
8.根據權利要求5所述的方法,其特徵在於,所述簡訊驗證碼以簡訊的形式發送至所述移動終端,所述移動終端在所述用戶輸入所述簡訊驗證碼之後根據所述第一隨機數對所述第二隨機數進行解密。
9.根據權利要求3所述的方法,其特徵在於,該方法還包括 所述移動終端還生成第三隨機數,根據所述硬體特徵信息、所述登錄密碼和所述第三隨機數生成對稱密鑰,並根據所述對稱密鑰對所述用戶私鑰進行加密保存;或 所述移動終端還生成第三隨機數,根據所述硬體特徵信息的哈希值、所述登錄密碼的哈希值和所述第三隨機數生成對稱密鑰,並根據所述對稱密鑰對所述用戶私鑰進行加密保存。
10.一種數字證書的生成系統,其特徵在於,該系統包括移動終端、銀行綜合伺服器和第三方電子商務認證伺服器,其中, 所述移動終端,用於接收註冊指令,並根據所述註冊指令與所述銀行綜合伺服器建立連接,以及生成一對用戶公鑰和私鑰,並根據所述銀行綜合伺服器的公鑰對用戶信息進行加密,並將加密之後的所述用戶信息發送至所述銀行綜合伺服器; 所述銀行綜合伺服器,用於根據所述銀行綜合伺服器的私鑰對所述移動終端發送的加密之後的所述用戶信息進行解密並驗證,並在驗證通過後向所述移動終端發送驗證信息; 所述移動終端,還用於接收所述銀行綜合伺服器發送的驗證信息之後,對用戶公鑰進行加密,並將加密後的用戶公鑰發送給所述銀行綜合伺服器; 所述銀行綜合伺服器,還用於驗證所述用戶公鑰的正確性,並在驗證通過之後將所述用戶公鑰發送至第三方電子商務認證伺服器進行認證籤名以生成用戶公鑰證書。
11.根據權利要求10所述的系統,其特徵在於,所述銀行綜合伺服器包括移動銀行伺服器和銀行綜合前置伺服器,所述移動終端還用於 從所加載的軟體中獲取移動銀行伺服器的公鑰和銀行綜合前置伺服器的公鑰,並根據所述註冊指令對所述移動銀行伺服器的公鑰和所述銀行綜合前置伺服器的公鑰進行驗證,以及在驗證通過之後根據所述註冊指令與所述移動銀行伺服器建立連接。
12.根據權利要求10所述的系統,其特徵在於,所述銀行綜合伺服器包括移動銀行伺服器和銀行綜合前置伺服器,所述移動終端還用於 接收所述移動銀行伺服器生成的圖形驗證碼,並根據所述移動銀行伺服器的公鑰對手機號碼、銀行卡號、登錄密碼、硬體特徵信息、第一隨機數和所述圖形驗證碼進行加密,並將加密之後的所述用戶信息發送至所述移動銀行伺服器,其中所述第一隨機數由所述移動終端生成。
13.根據權利要求10所述的系統,其特徵在於,所述銀行綜合伺服器包括移動銀行伺服器和銀行綜合前置伺服器,所述移動終端還用於 接收所述移動銀行伺服器生成的圖形驗證碼,並根據所述移動銀行伺服器的公鑰對接收的手機號碼、接收的銀行卡號、計算得到的登錄密碼的哈希值、計算得到的硬體特徵信息的哈希值、生成的第一隨機數和接收的所述圖形驗證碼進行加密,並將加密之後的所述用戶信息發送至所述移動銀行伺服器。
14.根據權利要求12或13所述的系統,其特徵在於, 所述移動銀行伺服器還用於根據所述移動銀行伺服器的私鑰對所述移動終端發送的加密之後的所述用戶信息進行解密以獲得所述用戶信息,並在所述圖形驗證碼驗證通過之後將所述手機號碼和銀行卡號發送至銀行綜合前置伺服器; 所述銀行綜合前置伺服器還用於在所述手機號碼和銀行卡號驗證通過之後發送驗證通過信息至所述移動銀行伺服器; 其中,所述移動銀行伺服器根據所述驗證通過信息生成第二隨機數和簡訊驗證碼,並根據所述第一隨機數對所述第二隨機數進行加密,並將所述簡訊驗證碼和所述加密後的第二隨機數作為所述驗證信息發送至所述移動終端。
15.根據權利要求14所述的系統,其特徵在於,所述移動終端還用於 根據所述第一隨機數和所述第二隨機數對所述簡訊驗證碼和所述用戶公鑰進行加密以生成第一分段消息驗證碼,並根據所述用戶私鑰對所述硬體特徵信息進行籤名以生成第一籤名信息,並將所述第一分段消息驗證碼、用戶公鑰和第一籤名信息發送至所述移動銀行伺服器。
16.根據權利要求15所述的系統,其特徵在於,所述移動銀行伺服器還用於 根據存儲的所述第一隨機數和所述第二隨機數對所述簡訊驗證碼和所述用戶公鑰進行加密以生成第二分段消息驗證碼,並根據所述用戶公鑰對所述第一籤名信息進行驗籤,並判斷所述第一分段消息驗證碼與所述第二分段消息驗證碼是否一致,所述第一籤名信息是否通過驗籤,並在所述第一分段消息驗證碼與所述第二分段消息驗證碼一致,所述第一籤名信息通過驗籤後,判斷所述用戶公鑰通過驗證。
17.根據權利要求14所述的系統,其特徵在於,所述簡訊驗證碼以簡訊的形式發送至所述移動終端,所述移動終端在所述用戶輸入所述簡訊驗證碼之後根據所述第一隨機數對所述第二隨機數進行解密。
18.根據權利要求12所述的系統,其特徵在於,所述移動終端還用於 生成第三隨機數,根據所述硬體特徵信息、所述登錄密碼和所述第三隨機數生成對稱密鑰,並根據所述對稱密鑰對所述用戶私鑰進行加密保存;或 生成第三隨機數,根據所述硬體特徵信息的哈希值、所述登錄密碼的哈希值和所述第三隨機數生成對稱密鑰,並根據所述對稱密鑰對所述用戶私鑰進行加密保存。
全文摘要
本發明提出一種數字證書的生成方法和系統,其中該方法包括以下步驟移動終端接收註冊指令,並與銀行綜合伺服器建立連接,生成一對用戶公鑰和私鑰;移動終端根據銀行綜合伺服器的公鑰對用戶信息加密並發送至銀行綜合伺服器;銀行綜合伺服器對用戶信息進行解密並驗證,並在驗證通過後向移動終端發送驗證信息;移動終端接收驗證信息之後,對用戶公鑰進行加密,並將加密後的用戶公鑰發送給銀行綜合伺服器;以及銀行綜合伺服器驗證用戶公鑰的正確性,並在驗證通過之後將用戶公鑰發送至第三方電子商務認證伺服器進行認證籤名以生成用戶公鑰證書。根據本發明可增加攻擊的難度,提高安全性。
文檔編號H04L9/32GK103067402SQ20131000956
公開日2013年4月24日 申請日期2013年1月10日 優先權日2013年1月10日
發明者李東聲 申請人:天地融科技股份有限公司