基於時間型動態口令實現多業務種子分散的方法
2023-07-01 12:52:51 2
基於時間型動態口令實現多業務種子分散的方法
【專利摘要】本發明公開了基於時間型動態口令實現多業務種子分散的方法,該方法分別在認證系統以及硬體令牌兩端,在計算時間型動態口令時,在相同時間因子的情況下根據不同的業務形成對應的計算密鑰,並以此來生成對應於不同業務的時間型動態口令。該方法在時間型動態口令生成的過程中,在相同的時間因子、同一個步進值範圍內,產生不同的時間型動態口令。
【專利說明】基於時間型動態口令實現多業務種子分散的方法
【技術領域】
[0001]本發明涉及動態口令認證技術,具體涉及一種動態口令多業務種子分散的方法。【背景技術】
[0002]動態口令:是根據專門的算法生成一個不可預測的隨機數字組合,每個密碼只能使用一次,目前被廣泛運用在網銀、網遊、電信運營商、電子商務、企業等應用領域。
[0003]目前動態口令按技術主要分兩種:同步口令技術、異步口令技術。
[0004]同步口令技術又分為:時間同步口令、事件同步口令,其中時間同步口令基於令牌和伺服器的時間同步,通過運算來生成一致的動態口令,基於時間同步的令牌,一般更新率為60秒,每60秒產生一個新口令。
[0005]步進值:動態口令包含一個步進值參數,比如時間型動態口令的步進值,一般採用60秒;表示在每一個60秒內的生成的動態口令是相同的,而該動態口令在認證系統端進行認證時僅允許被認證一次,在下一個60秒內生成的動態口令則變成了另一個不同的動態口令。
[0006]種子密鑰:用於根據一些參數,來計算生成動態口令的種子密鑰。
[0007]參見圖1,當前的動態口令在硬體令牌生成當前時間、每一個步進值(比如60秒)一變的動態口令,然後認證系統端使用與硬體令牌裡面相同的種子密鑰生成一個動態口令,並於硬體令牌生成的動態口令進行比對,進行認證;
[0008]如果在動態口令的步進值(比如時間型動態庫步進值為60秒的硬體令牌,則為在60秒的時間範圍內)範圍內,每次將生成相同的應答值:即時間型動態口令均是一樣的。
[0009]如此的認證方式,在一個動態口令的步進值內,只能夠實現一種業務的安全認證。例如:
[0010]銀行系統在進行「網上轉帳」功能時,要求使用動態口令來認證客戶,在60秒內(即動態口令的步進值)網銀端的認證系統會利用種子密鑰結合時間因子生成相應的動態口令;與此同時網銀客戶將在硬體令牌上利用其內的種子密鑰根據時間因子計算出相應的動態口令,並傳遞到網銀端的認證系統進行認證。
[0011]而在該60秒內(即同一步進值範圍內),該客戶若使用其它業務,比如「網上支付」功能時,如果使用相同的時間因子,則可能生成相同的動態口令,而服務端在認證該口令時,將可能會認為是重放攻擊,無法進行認證。
【發明內容】
[0012]針對現有時間型類型的動態口令在認證過程中所存在的問題,本發明的目的在於提供基於時間型動態口令實現多業務的種子分散的方法,該方法能夠在時間型動態口令生成的過程中,在相同的時間因子、同一個步進值範圍內,產生不同的時間型動態口令。
[0013]為了達到上述目的,本發明採用如下的技術方案:
[0014]基於時間型動態口令實現多業務種子分散的方法,所述方法分別在認證系統以及硬體令牌兩端,在計算時間型動態口令時,在相同時間因子的情況下根據不同的業務形成對應的計算密鑰,並以此來生成對應於不同業務的時間型動態口令。
[0015]在優選實例中,認證系統端以及硬體令牌端根據不同的業務引入對應的業務代碼參數,將原始的種子密鑰與對應的業務代碼參數進行運算,得到對應於不同業務的計算密鑰;再使用該計算密鑰結合對應的時間因子計算得到對應於不同業務的時間型動態口令。
[0016]進一步的,所述業務代碼參數為一個整形的數值,在令牌端顯示為功能菜單的序號。
[0017]再進一步的,在交易過程中,認證系統端會根據業務需要選擇指定業務代碼,並形成對應的業務代碼要求提示,客戶在操作令牌時根據認證系統端提示的要求,在令牌上選擇對應的業務功能,以保持令牌與服務端的業務代碼一致。
[0018]進一步的,所述認證系統端以及硬體令牌端中使用分散算法計算得到計算密鑰。
[0019]再進一步的,在利用分散算法計算密鑰時,由原始種子數據,根據業務代碼分散出計算密鑰,具體計算時由工作密鑰+業務代碼構成消息,雜湊值作動態口令的計算密鑰。
[0020]再進一步的,所述計算密鑰的公式如下:
[0021]Calc_Seed=SM3(ffork_Seed|alg_type_l);
[0022]其中,W0rk_Seed(Byte):原始工作密鑰,若令牌包含激活功能,則為激活後的工作密鑰;
[0023]alg_type_l (4Byte):業務代碼,高位在前;
[0024]Calc_Seed:輸出的計算密鑰,最大32位元組;若需要的種子長度小於32位元組,則進行截取。
[0025]本發明通過引入了多業務種子分散策略的方法,實現在相同的種子密鑰、不同的業務代碼、同一個步進值範圍內,用於生成時間型動態口令的種子密鑰不同,從而實現,在相同的時間因子、同一個步進值範圍內,產生不同的時間型動態口令,可以實現在同一個步進值範圍內對多個業務進行認證。
【專利附圖】
【附圖說明】
[0026]以下結合附圖和【具體實施方式】來進一步說明本發明。
[0027]圖1為現有時間型口令計算認證原理圖;
[0028]圖2為本發明的實現原理圖。
【具體實施方式】
[0029]為了使本發明實現的技術手段、創作特徵、達成目的與功效易於明白了解,下面結合具體圖示,進一步闡述本發明。
[0030]本發明通過引入多業務種子分散策略,實現在時間型動態口令生成的過程中,在相同的時間因子、同一個步進值範圍內,產生不同的時間型動態口令,從而實現在同一個步進值範圍內對多業務的認證。
[0031]參見圖2,其所示本發明提供的基於時間型動態口令實現多業務種子分散的方法的原理圖。由圖可知,本方法分別在認證系統以及硬體令牌兩端,在計算時間型動態口令時,根據所要認證的不同業務引入對應的業務代碼參數形成對應於不同業務的計算密鑰,並以此來生成對應於不同業務的時間型動態口令。
[0032]該業務代碼參數具體可以為一個整形的數值,在令牌端顯示為功能菜單的序號,比如「 1-轉帳,2-支付,3-繳費」等。
[0033]基於上述原理,本方案在具體實現認證時,首先認證系統端和硬體令牌端在某步進值範圍內生成相應的時間因子。
[0034]接著,認證系統端以及硬體令牌端在使用種子密鑰生成動態口令前,根據需要認證的業務引用對應的業務代碼參數,並使用一個分散算法,將其內原始的種子密鑰與引用的業務代碼參數進行運算,得到一個對應相應業務的計算密鑰。
[0035]業務代碼參數是在實際的交易應用中,由認證服務端決定,並提示用戶在令牌使用過程中選擇使用對應的業務功能,這樣可以達到客戶使用的令牌業務與服務端的業務代
碼一致。
[0036]例如,在交易過程中,網銀或服務端會根據業務需要選擇指定業務代碼(比如1-轉帳),並形成對應的指示要求;客戶在操作令牌時將會根據網銀或服務端提示的要求,在令牌上選擇對應的業務功能。這樣客戶手中的令牌將會與服務端的業務代碼一致。
[0037]這裡使用的分散算法,主要是由原始種子數據,根據業務代碼分散出計算密鑰,其具體的計算過程如下:
[0038]由工作密鑰+業務代碼(4Byte)構成消息,雜湊值作動態口令的計算密鑰,公式如下:
[0039]Calc_Seed=SM3(ffork_Seed|alg_type_l);
[0040]其中,W0rk_Seed(Byte):原始工作密鑰,若令牌包含激活功能,則為激活後的工作密鑰;
[0041]alg_type_l (4Byte):業務代碼,高位在前,如業務代碼I則以0x000x000x000x01
的字節數組形式參與運算;
[0042]Calc_Seed:輸出的計算密鑰,最大32位元組;若需要的種子長度小於32位元組,則進行截取,截取算法參考SM3種子截取算法說明。
[0043]然後,認證系統端以及硬體令牌端使用計算得到的計算密鑰再根據相應的時間因子、生成動態口令的一些其它參數生成時間型動態口令。
[0044]最後,將硬體令牌端生成的時間型動態口令輸入到認證系統端完成認證。
[0045]基於上述方案,如果還需要在同一步進值範圍內認證其它不同業務時,由於在同一步進值範圍內,故認證系統中形成的時間因子相同,而認證系統和硬體令牌需要再根據該業務選擇對應的業務代碼參數,並計算得到相應的計算密鑰,最後再利用該計算密鑰根據此時的時間因子、生成動態口令的一些其它參數生成對應不同業務的時間型動態口令。
[0046]由於不同業務對應的業務代碼參數不一樣,故前後根據不同業務計算得到的計算密鑰也不相同。再者由於在同一步進值範圍內,認證系統中形成的時間因子相同,且由於是相同的認證系統和動態令牌,故生成動態口令的一些其它參數也相同,
[0047]這樣前後基於不同的計算密鑰、相同的時間因子、以及相同的生成動態口令的一些其它參數,計算生成的時間型動態口令不相同,即可實現對不同業務的「同時」(即同一步進值範圍內)認證。
[0048]由此,本方案能夠通過不同的業務代碼生成不同的用於生成時間型動態口令的計算密鑰,從而確保在相同的種子密鑰、不同的業務代碼、相同的時間因子、同一個步進值範圍內,使得生成出來的時間型動態口令不一樣,實現對不同業務的「同時」(即同一步進值範圍內)認證。
[0049]再者,本方案在實際操作過程中,當在同一步進值範圍內時,需要同時認證兩種不同業務時,認證系統根據不同業務選擇對應的業務參數計算產生兩個不同的動態口令,同時形成業務參數提示要求,要求客戶在操作令牌時根據網銀或服務端提示的要求,在令牌上選擇對應的業務功能,以此來避免認證的混亂或者錯誤。即通過服務端(比如網銀系統)提示用戶必須在使用令牌時必須選擇何種業務的功能,來避免認證出現錯誤。
[0050]比如:銀行認證系統中設定「轉帳業務」認證對應於動態令牌上的「 1-轉帳」的令牌功能,用戶登錄網銀在做轉帳業務時,此時網銀認證系統根據轉帳業務形成提示,提示用戶必須使用令牌上的「 1-轉帳」功能,如果用戶選擇了錯誤的業務功能或者不選,將會導致無法認證的情況。
[0051]以下通過一具體應用實例來說明,利用本方案在相同的種子密鑰、相同的時間因子的情況下,在同一個步進值範圍內實現多業務認證的過程。
[0052]該實例中涉及的動態令牌中對應的業務代碼參數為一個整形的數值,具體顯示為功能菜單的序號:「1_轉帳,2-支付,3-繳費」。
[0053]當用戶需要在網銀端使用同一帳號進行轉帳、支付兩種不同業務時,且兩者涉及的金額相同都是35000元。
[0054]由此,針對兩種不同業務需要採用不同的動態口令來對兩種業務分別進行認證,且兩者業務所要轉帳和支付的金額相同,都是35000元,即可實現在同一步進值範圍內,對兩種業務的認證,其過程如下:
[0055]首先,用戶使用當前帳號進行轉帳時,在網銀端選擇轉帳功能,並輸入金額35000元,在一個60s的步進值範圍內,網銀端的認證系統首先根據用戶輸入的金額35000元形成相應的時間因子,同時根據用戶選擇的轉帳業務功能形成相應的轉帳業務參數1,並使用一個分散算法,將其內原始的種子密鑰與業務參數I進行運算,得到一個轉帳業務的計算密鑰,並利用該計算密鑰與形成的時間因子計算得到網銀端認證的轉帳認證動態口令;且網銀端還形成「請在令牌選擇1-轉帳功能」的提示。
[0056]與此同時,在動態令牌端,用戶輸入金額35000元,動態令牌根據用戶輸入的金額35000元形成相應的時間因子;用戶根據網銀端的提示,輸入轉帳業務功能按鈕1,動態令牌端通過業務功能按鈕輸入的數值形成相應的轉帳業務參數I,並使用一個分散算法,將其內原始的種子密鑰與業務參數I進行運算,得到一個轉帳業務的計算密鑰(其與網銀端生成的計算密鑰相同),並利用該計算密鑰與形成的時間因子計算得到動態口令,並利用該動態口令與網銀認證端生成的轉帳認證動態口令完成轉帳業務的認證。
[0057]在完整轉帳業務後,用戶還需要在該60s的步進值範圍內,進行支付業務的認證,由於還處於同一個步進值範圍內,網銀端內的時間因子與之前轉帳業務認證時的時間因子相同,同時根據用戶選擇的支付業務功能形成相應的支付業務參數2,並使用一個分散算法,將其內原始的種子密鑰與支付業務參數2進行運算,得到一個支付業務的計算密鑰,並利用該計算密鑰與形成的時間因子計算得到網銀端認證的支付認證動態口令;且網銀端還形成「請在令牌選擇2-支付功能」的提示。[0058]與此同時,在動態令牌端,由於還處於同一個步進值範圍內,此時動態令牌端內的時間因子與之前轉帳業務認證時的時間因子相同;用戶根據網銀端的提示,輸入支付業務功能按鈕2,動態令牌端根據業務功能按鈕輸入的數值形成相應的支付業務參數2,並使用一個分散算法,將其內原始的種子密鑰與支付業務參數2進行運算,得到一個支付業務的計算密鑰(其與網銀端生成的支付計算密鑰相同),並利用該計算密鑰與其內的時間因子計算得到動態口令,並利用該動態口令與網銀認證端生成的支付認證動態口令完成支付業務的認證。
[0059]以上顯示和描述了本發明的基本原理、主要特徵和本發明的優點。本行業的技術人員應該了解,本發明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發明的原理,在不脫離本發明精神和範圍的前提下,本發明還會有各種變化和改進,這些變化和改進都落入要求保護的本發明範圍內。本發明要求保護範圍由所附的權利要求書及其等效物界定。
【權利要求】
1.基於時間型動態口令實現多業務種子分散的方法,其特徵在於, 所述方法分別在認證系統以及硬體令牌兩端,在計算時間型動態口令時,在相同時間因子的情況下根據不同的業務形成對應的計算密鑰,並以此來生成對應於不同業務的時間型動態口令。
2.根據權利要求1所述的基於時間型動態口令實現多業務種子分散的方法,其特徵在於,認證系統端以及硬體令牌端根據不同的業務引入對應的業務代碼參數,將原始的種子密鑰與對應的業務代碼參數進行運算,得到對應於不同業務的計算密鑰;再使用該計算密鑰結合對應的時間因子計算得到對應於不同業務的時間型動態口令。
3.根據權利要求1所述的基於時間型動態口令實現多業務種子分散的方法,其特徵在於,所述業務代碼參數為一個整形的數值,在令牌端顯示為功能菜單的序號。
4.根據權利要 求1或2或3所述的基於時間型動態口令實現多業務種子分散的方法,其特徵在於,在交易過程中,認證系統端會根據業務需要選擇指定業務代碼,並形成對應的業務代碼要求提示,客戶在操作令牌時根據認證系統端提示的要求,在令牌上選擇對應的業務功能,以保持令牌與服務端的業務代碼一致。
5.根據權利要求1所述的基於時間型動態口令實現多業務種子分散的方法,其特徵在於,所述認證系統端以及硬體令牌端中使用分散算法計算得到計算密鑰。
6.根據權利要求5所述的基於時間型動態口令實現多業務種子分散的方法,其特徵在於,在利用分散算法計算密鑰時,由原始種子數據,根據業務代碼分散出計算密鑰,具體計算時由工作密鑰+業務代碼構成消息,雜湊值作動態口令的計算密鑰。
7.根據權利要求6所述的基於時間型動態口令實現多業務種子分散的方法,其特徵在於,所述計算密鑰的公式如下:
Calc_Seed=SM3(ffork_Seed|alg_type_l); 其中,ffork_Seed(Byte):原始工作密鑰,若令牌包含激活功能,則為激活後的工作密鑰; alg_type_l (4Byte):業務代碼,高位在前; Calc_Seed:輸出的計算密鑰,最大32位元組。
【文檔編號】H04L9/32GK103916247SQ201410127602
【公開日】2014年7月9日 申請日期:2014年3月31日 優先權日:2014年3月31日
【發明者】王翔平, 沈勇堅, 胡永剛 申請人:上海動聯信息技術股份有限公司