增強型一次性動態口令的認證方法及系統的製作方法
2023-05-11 11:25:51
增強型一次性動態口令的認證方法及系統的製作方法
【專利摘要】本發明涉及信息安全技術,尤其涉及增強型一次性動態口令的認證方法及系統,包括收集用戶信息,形成與所述用戶信息關聯的客戶端算法;客戶端結合第一環境信息、所述用戶信息及所述客戶端算法,生成第一動態口令;發送所述第一動態口令至認證伺服器;所述認證伺服器結合所述用戶信息及第二環境信息,生成第二動態口令;比較所述第一動態口令和所述第二動態口令,完成動態口令的認證。,本發明的客戶端中不存放密鑰文件,而是存放與用戶信息唯一對應的算法函數,解決了客戶端密鑰安全存儲問題,從而大大提高了本發明中認證系統的安全。且每個客戶端都不一樣,因而即使不法分子破解了一個客戶端,不會影響其他的客戶端,保障了客戶端用戶的安全。
【專利說明】增強型一次性動態口令的認證方法及系統
【技術領域】
[0001]本發明涉及信息安全技術,尤其涉及一種動態口令實現方法及系統。
【背景技術】
[0002]隨著計算機在各行各業的廣泛應用,計算機對人們的生活和工作變得越來越重要,如,在個人電腦上或手機上完成水電煤繳費、購物等在線支付的普及,然而其在改變和提高的生產效率的同時,也給人們留下了信息安全的隱患。各種各樣的軟、硬體加密技術及機制應運而生,以保障數據在線傳輸、處理和貯存過程中的安全,如,為了保障在線支付過程中的安全,各大銀行紛紛推出了電子密碼器產品,用戶首先從電子密碼器獲得一組動態口令,再將獲得的動態口令提交至銀行認證後臺,進而完成交易真偽的認證,由於動態口令的登陸方式與傳統口令的登陸方式幾乎無異,因而這種方式在網上銀行、手機銀行、電話銀行等多種交易渠道得到了廣泛的應用。
[0003]為了進一步保障交易過程中的安全,目前較為常用的是使用實體硬體作為動態口令的載體,其內置電池、晶片和顯示屏,產生並顯示動態密碼,但是這種動態令牌有一定的體積和厚度,長時間攜帶會給用戶帶來不便;當然,也有體積和厚度較小的令牌形式,如卡片式令牌,這種令牌雖然攜帶方便,但按鍵手感普遍較差,用戶輸入也不方便,同時成本也比較高;另外,人們也嘗試在智慧型手機上開發軟體令牌產品,但是其安全性無法保證,這種軟體令牌只能用於安全性要求不是很高的場所。
[0004]無論是實體硬體動態令牌還是軟體動態令牌,都有一個共同的弱點,其所有令牌的算法都相同且公開的,只是通過密鑰來實現不同用戶的身份認證過程,一旦密鑰被非法獲得,不法分子即可任意獲取動態密碼,動態令牌將不再安全,因而一種更能保障用戶安全的動態令牌的實現方法成為一種迫切地需求。
【發明內容】
[0005]針對上述問題,本發明提供了一種全新的動態口令認證方法及系統,在客戶端中存放與用戶信息關聯的唯一客戶端算法代替了傳統的密鑰文件,大大增強了動態口令的安全性能。
[0006]本發明提供的技術方案如下:
[0007]一種增強型一次性動態口令的認證方法,具體包括以下步驟:
[0008]SI收集用戶信息,形成與所述用戶信息關聯的客戶端算法;
[0009]S2客戶端結合第一環境信息、所述用戶信息及所述客戶端算法,生成第一動態口令;
[0010]S3發送所述第一動態口令至認證伺服器;
[0011]S4所述認證伺服器結合所述用戶信息及第二環境信息,生成第二動態口令;
[0012]S5比較所述第一動態口令和所述第二動態口令,完成動態口令的認證。
[0013]優選地,所述用戶信息包括用戶名。
[0014]優選地,所述第一環境信息和所述第二環境信息包括時間信息。
[0015]優選地,在步驟SI中,收集用戶信息,形成與所述用戶信息關聯的客戶端算法,具體包括:
[0016]Sll系統收集用戶信息,同時自動生成密鑰參數;
[0017]S12關聯所述用戶信息與所述密鑰參數;
[0018]S13結合所述密鑰參數生成第一用戶編制參數;
[0019]S14結合所述第一用戶編制參數形成客戶端算法。
[0020]優選地,在步驟S4中,所述認證伺服器結合所述用戶信息及第二環境信息,生成第二動態口令,具體包括:
[0021]S41認證伺服器結合所述用戶信息,獲取與所述用戶信息關聯的所述密鑰參數;
[0022]S42結合所述密鑰參數生成第二用戶編制參數;
[0023]S43獲取第二環境信息中的用戶信息,生成密鑰種子參數;
[0024]S44結合所述第二用戶編制參數與所述密鑰種子參數,生成所述第二動態口令。
[0025]優選地,所述密鑰參數和所述密鑰種子參數包括8個字節。
[0026]一種增強型一次性動態動態口令認證系統,包括客戶端,認證伺服器,還包括隨機數字發生裝置,與所述客戶端連接,用於生成與用戶信息關聯的密鑰參數;
[0027]轉換裝置,與所述隨機數字發生裝置連接,用於將所述密鑰參數轉換成用戶編制參數;
[0028]所述客戶端中包括結合所述用戶信息唯一確定的客戶端算法,用於生成第一動態口令;
[0029]所述認證伺服器生成第二動態口令,同時比對所述第一動態口令與所述第二動態口令。
[0030]本發明提供了一種增強型一次性動態口令的認證方法與系統,有益效果在於:
[0031]1.與傳統的動態口令認證系統不同,本發明的客戶端中不存放密鑰文件,而是存放與用戶信息唯一對應的客戶端算法函數,解決了客戶端密鑰安全存儲問題,從而大大提高了本發明中認證系統的安全。
[0032]2.本發明中的密鑰文件在認證伺服器中運行,而不出現在客戶端中,解決了傳統的認證系統中密鑰文件傳輸過程中存在的安全問題。
[0033]3.客戶端中存放的算法函數與用戶信息關聯,每個客戶端都不一樣,因而即使不法分子破解了一個客戶端,不會影響其他的客戶端,保障了客戶端用戶的安全。
【專利附圖】
【附圖說明】
[0034]下面結合附圖和【具體實施方式】對本發明作進一步詳細說明:
[0035]圖1是本發明中增強型一次性動態口令認證方法流程圖;
[0036]圖2是本發明中增強型一次性動態口令認證系統中客戶端算法形成結構示意圖。
【具體實施方式】
[0037]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面結合附圖和實施例對本發明進行具體的描述。下面描述中的附圖僅僅是本發明的一些實施例。對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0038]如圖1所示,本發明提供了一種增強型一次性動態口令認證方法,具體包括以下步驟:
[0039]SI收集用戶信息,形成與用戶信息關聯的客戶端算法;
[0040]S2客戶端結合第一環境信息、用戶信息及客戶端算法,生成第一動態口令;
[0041]S3發送第一動態口令至認證伺服器;
[0042]S4認證伺服器結合用戶信息及第二環境信息,生成第二動態口令;
[0043]S5比較第一動態口令和第二動態口令,完成動態口令的認證。
[0044]具體地,本發明提供了一種軟體形式的動態令牌,適用於任何需要用戶信息認證的場所,如網上銀行交易等,特別地,本發明對動態口令認證發明的應用場所不作具體限定,無論用於何種場所,只要該場所需要進行用戶信息的認證,是包含在本發明中。
[0045]優選地,在步驟SI中,上述用戶信息包括用戶名等,例如,當用戶需要進行網上銀行交易時,首先需要用戶輸入用戶信息,如用戶名,點擊交易頁面中的「註冊」按鈕進行註冊,系統獲取用戶信息,隨後形成與上述用戶信息唯一對應的客戶端算法,具體包括:
[0046]Sll系統收集用戶信息,同時自動生成密鑰參數;
[0047]S12關聯用戶信息與密鑰參數;
[0048]S13結合密鑰參數生成第一用戶編制參數;
[0049]S14結合第一用戶編制參數形成客戶端算法。
[0050]具體地,當系統獲取了用戶信息之後,系統將通過隨機數發生器生成,如16位的隨機數,即上述的密鑰參數,作為用戶的密鑰信息。隨後系統將上述用戶信息與密鑰參數進行綁定。
[0051]在步驟S13中,根據上述的密鑰參數轉換成第一用戶編制參數,具體地,第一用戶編制參數是密鑰參數經過轉換模塊轉而成的另一種數據表現形式,客戶端根據上述第一用戶編制參數生成與用戶信息關聯的客戶端算法,完成用戶註冊。特別地,客戶端應用程式形成的過程中調用上述客戶端算法來生成客戶端程序,即客戶端算法存放在客戶端程序中,以便調用。在本發明中,客戶端中存放與密鑰參數唯一對應的客戶端算法,每個客戶端中的客戶端算法都不相同,大大增強了認證方法的安全性能。進一步地,客戶端算法包括OTP (One-time Password,動態口令)算法,其每隔60s生成一個與時間相關的隨機數組合,且每個口令只能使用一次,即利用OTP算法生成的動態口令為一種一次性動態口令。特別地,本發明對客戶端算法的具體形式不作限定,無論何種算法,只要其能實現本發明的目的,都在本發明的保護範圍中。
[0052]在步驟S2中,第一環境包括當前的時間信息等。當需要進行用戶信息認證時,用戶在客戶端程序中輸入用戶名等相關信息,客戶端程序即調用上述客戶端算法,同時結合用戶名、密鑰參數等信息自動生成第一動態口令。優選地,第一動態口令包括8個字節。
[0053]在步驟S3中,當第一動態口令生成之後同時在客戶端顯示,用戶即在客戶端中動態口令的輸入窗口中輸入上述第一動態口令,客戶端程序則自動將用戶名、第一動態密碼等信息發送至認證伺服器中,等待認證服務對第一動態密碼的認證。
[0054]在步驟S4中,認證伺服器用戶信息及第二環境信息,生成第二動態口令,具體步驟包括:
[0055]S41認證伺服器結合用戶信息,獲取與用戶信息關聯的密鑰參數;
[0056]S42結合密鑰參數生成第二用戶編制參數;
[0057]S43獲取第二環境信息中的用戶信息,生成密鑰種子參數;
[0058]S44結合第二用戶編制參數與密鑰種子參數,生成第二動態口令。
[0059]具體地,首先認證伺服器根據客戶端程序發送過來的用戶信息,得到與用戶信息關聯的密鑰參數,進而生成第一用戶編制信息。與此同時,認證伺服器獲取第二環境信息的用戶信息,如當前時間認證伺服器獲取到的用戶名稱,生成與密鑰參數格式相同的密鑰種子參數。最後,結合上述第二用戶編制參數和密鑰種子參數,計算得出第二動態口令。
[0060]在步驟S5中,將客戶端程序發送過來的第一動態口令及認證伺服器生成的第二動態口令進行比較,若兩個動態口令完全相同,則認證成功,否則認證失敗,至此即完成了交易頁面中的身份認證過程。
[0061]如圖2所示為本發明提供的增強型一次性動態口令認證系統中客戶端算法的形成結構示意圖,包括輸入模塊、轉換模塊、隨機數字發生模塊及客戶端程序。具體地,當用戶需要進行用戶身份認證,如網上銀行交易認證,用戶首先在交易頁面中輸入模塊中輸入用戶信息,如用戶名,點擊「註冊」按鈕進行註冊,則系統通過上述隨機數發生模塊自動生成,如16位數的隨機數,用來作為本發明的密鑰參數,隨後系統自動將用戶信息與得到的密鑰參數進行關聯綁定。特別地,本發明中對用戶信息和隨機數發生模塊生成的隨機數的位數不作具體限定,只要用戶輸入的用戶信息能夠用於唯一標識需要進行認證的用戶,還可以包括如,郵箱地址、手機號碼等;只要隨機數的位數,如4位、8位、16位、32位等能通過隨機數發生模塊生成,都在本發明的保護範圍中。隨後系統通過與上述隨機數字發生模塊連接的轉換模塊將密鑰參數轉換成第一用戶編制參數,以將密鑰參數轉換成為能夠用於生成客戶端算法的格式,進而系統根據得到的的用戶編制參數形成客戶端算法,存儲在客戶端程序中,方便客戶端程序調用,同時完成了用戶的註冊過程。
[0062]當用戶需要進行身份認證時,首先在客戶端算中的輸入模塊中輸入用戶信息,如用戶名,則客戶端程序根據輸入的用戶信息調出客戶端算法運行,自動生成第一動態口令,同時在客戶端中的顯示模塊中進行顯示,特別地,本發明中第一動態口令的位數(字節數)與上述隨機發生模塊中生成的隨機數(密鑰參數)的位數相同,即客戶端中生成8位元組的一次性動態口令。
[0063]用戶從顯示模塊中獲取了客戶端生成的第一動態口令,進而在客戶端中的動態口令輸入窗口中輸入上述第一動態口令,同時客戶端將用戶信息和第一動態口令等信息發送至認證伺服器埠,等待認證伺服器驗證。
[0064]認證伺服器接收到了用戶信息,即同時自動獲取了與用戶信息關聯的密鑰參數,再根據密鑰參數生成第二用戶編制參數;與此同時,認證伺服器根據當前時間獲取到的用戶信息,生成密鑰種子參數,特別地,本發明中生成的密鑰種子參數的位數(字節數)與上述的密鑰參數和第一動態口令的位數(字節數)相同。隨後認證伺服器根據第二用戶編制參數及密鑰種子參數生成第二動態口令。
[0065]最後,通過認證伺服器中的比對模塊將第一動態口令和第二動態口令進行比較,如若兩個動態口令相同,則認證成功,否則則認證失敗。進一步地,認證伺服器將認證結果反饋至客戶端,若認證成功,則用戶直接進入交易頁面進行交易;若認證失敗,提示用戶重新驗證。更進一步地,本發明中的客戶端算法包括OTP算法,其每隔60s生成一個與時間相關的隨機數組合,且每個口令只能使用一次,因而若用戶在60s內多次輸入第一動態口令且驗證失敗,則系統生成新的第一動態口令,系統自動對用戶信息再次進行驗證。
[0066]本發明在客戶端中存放與用戶信息唯一對應的算法函數,且每個客戶端中存放的客戶端算法都不一樣,進而大大增加了不法分子破解密鑰文件的難度,大大提高了本發明中認證系統的安全。
[0067]採用上述優選方案,用戶即可在同一個界面上同時觀察到所需要的實體的數據,以及與該實體存在關係的實體的數據情況,給用戶一種更加直觀,更加全面的方式。使用戶可以從局部跳到全局,或者是深入更細節的了解需要了解的情況。
【權利要求】
1.一種增強型一次性動態口令的認證方法,其特徵在於,包括以下步驟: Si收集用戶信息,形成與所述用戶信息關聯的客戶端算法; S2客戶端結合第一環境信息、所述用戶信息及所述客戶端算法,生成第一動態口令; S3發送所述第一動態口令至認證伺服器; S4所述認證伺服器結合所述用戶信息及第二環境信息,生成第二動態口令; S5比較所述第一動態口令和所述第二動態口令,完成動態口令的認證。
2.如權利要求1所述動態口令認證方法,其特徵在於:所述用戶信息包括用戶名。
3.如權利要求1所述增強型一次性動態口令的認證方法,其特徵在於:所述第一環境信息和所述第二環境信息包括時間信息。
4.如權利要求1所述增強型一次性動態口令的認證方法,其特徵在於,在步驟SI中,收集用戶信息,形成與所述用戶信息關聯的客戶端算法,具體包括: Sll系統收集用戶信息,同時自動生成密鑰參數; S12關聯所述用戶信息與所述密鑰參數; S13結合所述密鑰參數生成第一用戶編制參數; S14結合所述第一用戶編制參數形成客戶端算法。
5.如權利要求4所述增強型一次性動態口令的認證方法,其特徵在於,在步驟S4中,所述認證伺服器結合所述用戶信息及第二環境信息,生成第二動態口令,具體包括: S41認證伺服器結合所述用戶信息,獲取與所述用戶信息關聯的所述密鑰參數; S42結合所述密鑰參數生成第二用戶編制參數; S43獲取第二環境信息中的用戶信息,生成密鑰種子參數; S44結合所述第二用戶編制參數與所述密鑰種子參數,生成所述第二動態口令。
6.如權利要求5所述增強型一次性動態口令的認證方法,其特徵在於,所述密鑰參數和所述密鑰種子參數包括8個字節。
7.一種增強型一次性動態動態口令認證系統,包括客戶端,認證伺服器,其特徵在於: 還包括隨機數字發生裝置,與所述客戶端連接,用於生成與用戶信息關聯的密鑰參數; 轉換裝置,與所述隨機數字發生裝置連接,用於將所述密鑰參數轉換成用戶編制參數; 所述客戶端中包括結合所述用戶信息唯一確定的客戶端算法,用於生成第一動態口令; 所述認證伺服器生成第二動態口令,同時比對所述第一動態口令與所述第二動態口令。
【文檔編號】H04L9/32GK104079413SQ201410333976
【公開日】2014年10月1日 申請日期:2014年7月14日 優先權日:2014年7月14日
【發明者】談劍鋒, 尤磊, 盛學明 申請人:上海眾人科技有限公司