[發明專利]一種基于時間和事件的一次性口令生成和驗證方法有效
| 申請號: | 201010572216.7 | 申請日: | 2010-12-03 |
| 公開(公告)號: | CN102045349A | 公開(公告)日: | 2011-05-04 |
| 發明(設計)人: | 劉建偉;孫鈺;鄭志明;修春娣;毛劍;尚濤 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L9/08 |
| 代理公司: | 北京慧泉知識產權代理有限公司 11232 | 代理人: | 王順榮;唐愛華 |
| 地址: | 100191 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 時間 事件 一次性 口令 生成 驗證 方法 | ||
1.一種基于時間和事件的一次性口令生成和驗證方法,其特征在于:它是依次按下述三個階段進行,其步驟如下:
1.初始化階段:
系統管理員為用戶生成共享密鑰Key,管理員先將用戶ID、共享密鑰、計數器初始值寫入認證服務器的數據庫中,然后將共享密鑰和計數器初始值寫入令牌中并將令牌分發給對應的用戶;為了提高系統的可用性,服務器將計數器的窗口設為為n,即服務器認為從數據庫記錄的Counter到Counter+(n-1)都是合法的計數器值。對時間的窗口設為m,即服務器認為在服務器本地時間time前后m分鐘內的時間值都是合法的;
2.一次性口令生成階段:
步驟1:令牌根據共享密鑰Key和當前計數器值Counter,并計算出Digest1=h(Key||Counter),h()為一摘要函數,||為串接運算,即將Key和Counter的二進制值收尾相接,Digest1為步驟1計算出的摘要值。計算器Counter值加1;
步驟2:將Digest1截短,作為OTP的后兩位,記為OTP[4-5];
步驟3:令牌從板載的時間芯片中獲得當前時間,以分鐘為單位取整,記為Time,讓后計算Digest2=h(Digest1||Time);
步驟4:將Digest2截短,作為OTP的前四位,記為OTP[0-3];
步驟5:令牌將步驟4生成的OTP[0-3]和步驟2生成的OTP[4-5]拼接,構成完整的六位OTP;認證客戶端用戶輸入的將用戶名和OTP安全的發送至服務器接受驗證,并等待認證結果;
3.一次性口令驗證階段:
步驟6:服務器收到客戶端傳來的用戶名和OTP后,根據用戶名檢索認證數據庫得到此用戶計數器的值Counter0;
步驟7:服務器認根據計數器窗口值計算Counter0到Countern-1=Counter0+(n-1),分別計算對應的摘要值n個摘要值:Digest1i=h(Key||Counteri),其中i∈[0,n-1],Counteri=Counter0+i,摘要算法與步驟1中的摘要算法相同;
步驟8:服務器將n個Digest1i逐個截短,截短算法與步驟2的截短算法相同,得到OTP[4-5]i,其中i∈[0,n-1];
其中i∈[0,n-1];
步驟9:服務器將n個OTP[4-5]i與收到的OTP的后兩位比較,如果存在I∈[0,n-1],使OTP[4-5]l與收到OTP的后兩位相等,則將Counterl+1寫入數據庫后進入步驟10,否則向客戶端返回認證失敗;若有多個I滿足上述條件,則請求用戶再次輸入OTP值;從步驟1重新開始;
步驟10:設服務器時間為Times,服務器逐個計算Digest1l與時間窗口Times-m,Times-m+1,...,Times,Times+1,...Times+m,共計2m+1個時間值的摘要值Digest2j=h(Digest1||Timej),其中j∈[-m,m],Timej=Times+k;
步驟11:服務器將2m+1個Digest2j逐個截短,截短算法與步驟4的截短算法相同,得到OTP[0-3]i,其中j∈[-m,m]。
步驟12:服務器將2m+1個OTP[0-3]j與收到的OTP的前四位比較,如果存在」∈[-m,m],使OTP[0-3]」與收到OTP的前四位相等,則像客戶端返回認證成功,否則向客戶端返回認證失敗。客戶端根據返回的結果提示用戶。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010572216.7/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種旋轉手機
- 下一篇:一種用于對網絡中的應用服務器實施策略管理的方法和設備





