一種認證方法及認證裝置的制造方法
【專利摘要】本發(fā)明適用于信息安全技術領域,提供了一種認證方法及認證裝置。所述認證方法包括:生成多張證書,所述多張證書包括簽名證書和登錄證書;在登錄流程中,使用所述登錄證書進行數(shù)字簽名;在簽名流程中,使用所述簽名證書進行數(shù)字簽名。本發(fā)明在登錄流程中,使用所述登錄證書進行數(shù)字簽名。所述登錄證書允許向數(shù)字證書終端裝置傳入Hash運算結果,再對Hash運算結果進行數(shù)字簽名。所述簽名證書保留原有功能,需要向數(shù)字證書終端裝置傳入報文原文,根據(jù)報文原文判斷是一代簽名,還是二代簽名。
【專利說明】
一種認證方法及認證裝置
技術領域
[0001 ]本發(fā)明屬于信息安全技術領域,尤其涉及一種認證方法及認證裝置。
【背景技術】
[0002]在使用SM2算法做數(shù)字簽名時,必須將報文原文傳入數(shù)字證書終端裝置(例如USBKey、音頻Key、藍牙Key等)內,再做Hash運算,然后將Hash運算后的結果,在數(shù)字證書終端裝置內做數(shù)字簽名,并根據(jù)報文格式判斷是一代簽名,還是二代簽名。然而,在SSL登錄流程中,輸入數(shù)字證書終端裝置內的是報文原文Hash運算后的結果,Hash運算后的結果傳入數(shù)字證書終端裝置中,數(shù)字證書終端裝置不能根據(jù)Hash運算后的結果判斷是一代簽名,還是二代簽名。
【發(fā)明內容】
[0003]鑒于此,本發(fā)明實施例提供一種認證方法及認證裝置,以在不改變安全等級的情況下,根據(jù)報文原文判斷是一代簽名,還是二代簽名。
[0004]第一方面,本發(fā)明實施例提供了一種認證方法,所述認證方法包括:
[0005]生成多張證書,所述多張證書包括簽名證書和登錄證書;
[0006]在登錄流程中,使用所述登錄證書進行數(shù)字簽名;
[0007]在簽名流程中,使用所述簽名證書進行數(shù)字簽名。
[0008]進一步的,所述在登錄流程中,使用所述登錄證書進行數(shù)字簽名包括:
[0009]在登錄流程中,獲取Hash運算后的結果,通過所述登錄證書對所述Hash運算后的結果進行數(shù)字簽名。
[0010]進一步的,在獲取Hash運算后的結果之前,還包括:
[0011]獲取報文原文;
[0012]對所述報文原文進行Hash運算,獲得Hash運算后的結果,并將所述Hash運算后的結果輸入至數(shù)字證書終端裝置內。
[0013]進一步的,所述在簽名流程中,使用所述簽名證書進行數(shù)字簽名包括:
[0014]在簽名流程中,獲取報文原文;
[0015]對所述報文原文進行Hash運算,獲得Hash運算后的結果;
[0016]通過所述簽名證書對所述Hash運算后的結果進行數(shù)字簽名。
[0017]進一步的,在對所述報文原文進行Hash運算之前,還包括:
[0018]解析所述報文原文,獲得所述報文原文的格式,根據(jù)所述格式確定為一代簽名或者二代簽名。
[0019 ]第二方面,本發(fā)明實施例提供了一種認證裝置,所述認證裝置包括:
[0020]證書生成模塊,用于生成多張證書,所述多張證書包括簽名證書和登錄證書;
[0021]第一簽名模塊,用于在登錄流程中,使用所述登錄證書進行數(shù)字簽名;
[0022]第二簽名模塊,用于在簽名流程中,使用所述簽名證書進行數(shù)字簽名。
[0023]進一步的,所述第一簽名模塊具體用于:
[0024]在登錄流程中,獲取Hash運算后的結果,通過所述登錄證書對所述Hash運算后的結果進行數(shù)字簽名。
[0025]進一步的,所述認證裝置還包括:
[0026]報文原文獲取模塊,用于在獲取Hash運算后的結果之前,獲取報文原文;
[0027]輸入模塊,用于對所述報文原文進行Hash運算,獲得Hash運算后的結果,并將所述Hash運算后的結果輸入至數(shù)字證書終端裝置內。
[0028]進一步的,所述第二簽名模塊包括:
[0029]報文原文獲取單元,用于在簽名流程中,獲取報文原文;
[0030]運算單元,用于對所述報文原文進行Hash運算,獲得Hash運算后的結果;
[0031]簽名單元,用于通過所述簽名證書對所述Hash運算后的結果進行數(shù)字簽名。
[0032]進一步的,所述第二簽名模塊還包括:
[0033]確定單元,用于在對所述報文原文進行Hash運算之前,解析所述報文原文,獲得所述報文原文的格式,根據(jù)所述格式確定為一代簽名或者二代簽名。
[0034]本發(fā)明實施例與現(xiàn)有技術相比存在的有益效果是:本發(fā)明實施例生成至少兩張證書,一張簽名證書,一張登錄證書。在登錄流程中,使用所述登錄證書進行數(shù)字簽名。所述登錄證書允許向數(shù)字證書終端裝置傳入Hash運算結果,再對Hash運算結果進行數(shù)字簽名。所述簽名證書保留原有功能,需要向數(shù)字證書終端裝置傳入報文原文,根據(jù)報文原文判斷是一代簽名,還是二代簽名。
【附圖說明】
[0035]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0036]圖1是本發(fā)明實施例提供的認證方法的實現(xiàn)流程示意圖;
[0037]圖2是本發(fā)明實施例提供的認證裝置的組成結構示意圖。
【具體實施方式】
[0038]以下描述中,為了說明而不是為了限定,提出了諸如特定系統(tǒng)結構、技術之類的具體細節(jié),以便透切理解本發(fā)明實施例。然而,本領域的技術人員應當清楚,在沒有這些具體細節(jié)的其它實施例中也可以實現(xiàn)本發(fā)明。在其它情況中,省略對眾所周知的系統(tǒng)、裝置、電路以及方法的詳細說明,以免不必要的細節(jié)妨礙本發(fā)明的描述。
[0039]為了說明本發(fā)明所述的技術方案,下面通過具體實施例來進行說明。
[0040]請參閱圖1,為本發(fā)明實施例提供的認證方法的實現(xiàn)流程,其主要包括以下步驟:[0041 ] 在步驟SlOl中,生成多張證書,所述多張證書包括簽名證書和登錄證書。
[0042]示例性的,在數(shù)字證書終端裝置(例如USBKey、音頻Key、藍牙Key等)內生成兩張SM2證書,一張簽名證書,一張登錄證書,并存儲生成的所述證書。
[0043]在步驟S102中,在登錄流程中,使用所述登錄證書進行數(shù)字簽名。
[0044]具體可以是,在安全套接層(Secure Sockets Layer,SSL)登錄流程中,獲取Hash運算后的結果,通過所述登錄證書對所述Hash運算后的結果進行數(shù)字簽名。
[0045]進一步的,在獲取Hash運算后的結果之前,還包括:
[0046]獲取報文原文;
[0047]對所述報文原文進行Hash運算,獲得Hash運算后的結果,并將所述Hash運算后的結果輸入至數(shù)字證書終端裝置內。
[0048]需要說明的是,本發(fā)明實施例所述獲取報文原文以及對所述報文原文進行Hash運算,獲得Hash運算后的結果可以在數(shù)字證書終端裝置外進行,即可以在數(shù)字證書終端裝置外獲得Hash運算后的結果,將所述獲得Hash運算后的結果傳入所述數(shù)字證書終端裝置內,再在所述數(shù)字證書終端裝置內通過所述登錄證書對所述Hash運算后的結果進行數(shù)字簽名。
[0049]另外,與現(xiàn)有技術不同的是,本發(fā)明實施例在登錄流程中,不再進行一代簽名或二代簽名的判斷。
[0050]在步驟S103中,在簽名流程中,使用所述簽名證書進行數(shù)字簽名。
[0051 ] 具體可以包括:
[0052]獲取報文原文;
[0053]對所述報文原文進行Hash運算,獲得Hash運算后的結果;
[0054]通過所述簽名證書對所述Hash運算后的結果進行數(shù)字簽名。
[0055]進一步的,在對所述報文原文進行Hash運算之前,還包括:
[0056]解析所述報文原文,獲得所述報文原文的格式,根據(jù)所述格式確定為一代簽名或者二代簽名。
[0057]進一步的,本發(fā)明實施例還可以包括:
[0058]當確定為二代簽名時,將所述報文原文的內容中需要顯示的內容(例如交易信息,包括收款賬號、金額、收款人姓名等)顯示在所述數(shù)字證書終端裝置的顯示屏幕上,以便于用戶確認數(shù)字簽名的內容沒有被篡改;當確定為一代簽名時,則不顯示所述報文原文。
[0059]需要說明的是,在簽名流程中,本發(fā)明實施例所述報文原文需要在數(shù)字證書終端裝置內進行Hash運算,并在數(shù)字證書終端裝置內通過所述簽名證書對所述Hash運算后的結果進行數(shù)字簽名。
[0060]應理解,上述實施例中各步驟的序號的大小并不意味著執(zhí)行順序的先后(例如步驟S102和步驟S103的執(zhí)行順序可以互換或者同時進行),各過程的執(zhí)行順序應以其功能和內在邏輯確定,而不應對本發(fā)明實施例的實施過程構成任何限定。
[0061]請參閱圖2,為本發(fā)明實施例提供的認證裝置的組成結構示意圖。為了便于說明,僅不出了與本發(fā)明實施例相關的部分。
[0062]所述認證裝置可以是內置于數(shù)字證書終端裝置內的軟件單元、硬件單元或者是軟硬結合的單元。
[0063]所述認證裝置包括:
[0064]證書生成模塊21,用于生成多張證書,所述多張證書包括簽名證書和登錄證書;
[0065]第一簽名模塊22,用于在登錄流程中,使用所述登錄證書進行數(shù)字簽名;
[0066]第二簽名模塊23,用于在簽名流程中,使用所述簽名證書進行數(shù)字簽名。
[0067]進一步的,所述第一簽名模塊22具體用于:
[0068]在登錄流程中,獲取Hash運算后的結果,通過所述登錄證書對所述Hash運算后的結果進行數(shù)字簽名。
[0069]進一步的,所述認證裝置還包括:
[0070]報文原文獲取模塊24,用于在獲取Hash運算后的結果之前,獲取報文原文;
[0071]輸入模塊25,用于對所述報文原文進行Hash運算,獲得Hash運算后的結果,并將所述Hash運算后的結果輸入至數(shù)字證書終端裝置內。
[0072]進一步的,所述第二簽名模塊22包括:
[0073]報文原文獲取單元221,用于在簽名流程中,獲取報文原文;
[0074]運算單元222,用于對所述報文原文進行Hash運算,獲得Hash運算后的結果;
[0075]簽名單元223,用于通過所述簽名證書對所述Hash運算后的結果進行數(shù)字簽名。
[0076]進一步的,所述第二簽名模塊22還包括:
[0077]確定單元224,用于在對所述報文原文進行Hash運算之前,解析所述報文原文,獲得所述報文原文的格式,根據(jù)所述格式確定為一代簽名或者二代簽名。
[0078]綜上所述,本發(fā)明實施例生成至少兩張證書,包括一張簽名證書,一張登錄證書。在簽名流程中,使用所述簽名證書,將報文原文傳入數(shù)字證書終端裝置內,在所述數(shù)字證書終端裝置內判斷是一代簽名,還是二代簽名。在登錄流程中,使用所述登錄證書,將報文原文的Hash運算結果傳入數(shù)字證書終端裝置內,在所述數(shù)字證書終端裝置內只做一代簽名。
[0079]所屬領域的技術人員可以清楚地了解到,為了描述的方便和簡潔,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據(jù)需要而將上述功能分配由不同的功能單元、模塊完成,即將所述認證裝置的內部結構劃分成不同的功能單元或模塊,以完成以上描述的全部或者部分功能。實施例中的各功能模塊可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中,上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。另外,各功能模塊的具體名稱也只是為了便于相互區(qū)分,并不用于限制本申請的保護范圍。上述認證裝置中模塊的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0080]本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
[0081]在本發(fā)明所提供的實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通訊連接可以是通過一些接口,裝置或單元的間接耦合或通訊連接,可以是電性,機械或其它的形式。
[0082]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
[0083]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
[0084]所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發(fā)明實施例的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)或處理器(processor)執(zhí)行本發(fā)明實施例各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(R0M,Read_0nly Memory)、隨機存取存儲器(RAM ,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0085]以上所述實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明實施例各實施例技術方案的精神和范圍。
【主權項】
1.一種認證方法,其特征在于,所述認證方法包括: 生成多張證書,所述多張證書包括簽名證書和登錄證書; 在登錄流程中,使用所述登錄證書進行數(shù)字簽名; 在簽名流程中,使用所述簽名證書進行數(shù)字簽名。2.如權利要求1所述的認證方法,其特征在于,所述在登錄流程中,使用所述登錄證書進行數(shù)字簽名包括: 在登錄流程中,獲取Hash運算后的結果,通過所述登錄證書對所述Hash運算后的結果進行數(shù)字簽名。3.如權利要求2所述的認證方法,其特征在于,在獲取Hash運算后的結果之前,還包括: 獲取報文原文; 對所述報文原文進行Hash運算,獲得Hash運算后的結果,并將所述Hash運算后的結果輸入至數(shù)字證書終端裝置內。4.如權利要求1所述的認證方法,其特征在于,所述在簽名流程中,使用所述簽名證書進行數(shù)字簽名包括: 在簽名流程中,獲取報文原文; 對所述報文原文進行Hash運算,獲得Hash運算后的結果; 通過所述簽名證書對所述Hash運算后的結果進行數(shù)字簽名。5.如權利要求4所述的認證方法,其特征在于,在對所述報文原文進行Hash運算之前,還包括: 解析所述報文原文,獲得所述報文原文的格式,根據(jù)所述格式確定為一代簽名或者二代簽名。6.一種認證裝置,其特征在于,所述認證裝置包括: 證書生成模塊,用于生成多張證書,所述多張證書包括簽名證書和登錄證書; 第一簽名模塊,用于在登錄流程中,使用所述登錄證書進行數(shù)字簽名; 第二簽名模塊,用于在簽名流程中,使用所述簽名證書進行數(shù)字簽名。7.如權利要求6所述的認證裝置,其特征在于,所述第一簽名模塊具體用于: 在登錄流程中,獲取Hash運算后的結果,通過所述登錄證書對所述Hash運算后的結果進行數(shù)字簽名。8.如權利要求7所述的認證裝置,其特征在于,所述認證裝置還包括: 報文原文獲取模塊,用于在獲取Hash運算后的結果之前,獲取報文原文; 輸入模塊,用于對所述報文原文進行Hash運算,獲得Hash運算后的結果,并將所述Hash運算后的結果輸入至數(shù)字證書終端裝置內。9.如權利要求6所述的認證裝置,其特征在于,所述第二簽名模塊包括: 報文原文獲取單元,用于在簽名流程中,獲取報文原文; 運算單元,用于對所述報文原文進行Hash運算,獲得Hash運算后的結果; 簽名單元,用于通過所述簽名證書對所述Hash運算后的結果進行數(shù)字簽名。10.如權利要求9所述的認證裝置,其特征在于,所述第二簽名模塊還包括: 確定單元,用于在對所述報文原文進行Hash運算之前,解析所述報文原文,獲得所述報文原文的格式,根據(jù)所述格式確定為一代簽名或者二代簽名。
【文檔編號】H04L29/06GK105897731SQ201610316119
【公開日】2016年8月24日
【申請日】2016年5月12日
【發(fā)明人】陳柳章
【申請人】深圳市文鼎創(chuàng)數(shù)據(jù)科技有限公司