[发明专利]一次性密码验证的方法和系统有效
申请号: | 201410381702.9 | 申请日: | 2005-10-17 |
公开(公告)号: | CN104104517B | 公开(公告)日: | 2017-11-07 |
发明(设计)人: | N.波普;D.姆赖希;L.哈特 | 申请(专利权)人: | 弗里塞恩公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 中国专利代理(香港)有限公司72001 | 代理人: | 徐予红,汤春龙 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一次性 密码 验证 方法 系统 | ||
技术领域
本发明的领域是计算机安全性,具体地是通过一次性密码的认证。
背景技术
如今,双因素认证的部署在范围和规模上仍存在极大的限制。尽管威胁和攻击的水平越来越高,但是大多数因特网应用仍依赖于薄弱的认证方案来监控(policing)用户访问。硬件和软件技术供应商之间缺乏可互操作性已经成为采用双因素认证技术时的限制因素。具体来说,硬件和软件组件常常通过专有技术紧密地结合,从而导致高成本解决方案,不佳的采用和有限的创新。
最近两年来,网络威胁的快速增加暴露出作为因特网上主要的认证方式的静态密码的不足。同时,目前的方法要求终端用户携带昂贵且功能单一的装置仅仅是用于至网络的认证,显然不是正确的答案。为了在因特网上传播两因素认证,需要在能够跨广泛应用范围工作的更灵活的装置中嵌入它。
一次性密码肯定是用于确保网络访问安全的两因素认证的最简单和最流行的方式。例如,在大企业中,虚拟专用网络访问常常需要使用一次性密码令牌来实现远程用户认证。一次性密码常常比更强的认证形式(例如PKI或生物认证)更受青睐,因为空气隔离装置无需在用户的机器上安装任何客户机桌面软件,由此使它们在包括家庭计算机、自动售货机和个人数字助理的多个机器上漫游。
发明内容
根据本发明的实施例,可以由任何硬件制造商或软件开发商来实施一次性密码算法以创建可互操作认证装置与软件代理。该算法可以是基于事件的,以便可以将其嵌入在例如Java智能卡、USB安全装置(dongle)和GSM SIM卡的高容量装置中。可以在因特网工程师任务组(IETF)的条款和条件下将该算法自由地提供给开发者团体。
具体实施方式
根据本发明的实施例,该算法可以是基于序列号或计数器的,并且可以通过将对电池、按钮数量、计算马力和显示器尺寸的要求最小化来经济地在硬件中实施。它可以使用不支持任何数字输入的令牌来工作,但是也可以配合例如安全密码键盘的更复杂的装置使用。
用户可以容易地读取令牌上显示的值并将其输入到另一个装置中,例如输入到个人计算机、蜂窝电话、自动应答机或任何其他适合的装置中。这要求一次性密码(OTP)值为合理长度。在许多情况中,基于安全性的原因,OTP值应该至少为6位(digit)值。仅为数字对于OTP值可能是个优点,因为可以容易地在具有简单的小键盘的装置(例如电话)上输入它。
可以有用户友好的机制用于与计数器再次同步。该算法应该使用强共享的密钥。为此,共享的密钥的长度可以是128比特或更长。
使用如下标记和符号来描述根据本发明的算法的实施例。
字符串表示二进制字符串,意味着0和1的序列。
如果s是字符串,则|s|表示它的长度。
如果n是数值,则|n|表示它的绝对值。
如果s是字符串,则s[i]表示它的第i比特。这些比特从位于0的比特开始编号,以此类推,s=s[0]s[1]...s[n-1],其中n=|s|是s的长度。
假设StToNum(字符串转数值)表示返回输入的字符串s的二进制值的十进制表示的函数。例如,StToNum(110)=6。
将如下标记用于符号表示:
C 8字节计数器值,可调因子。可以在OTP发生器(例如客户机)和OTP验证器(例如服务器)之间将该计数器同步。
K 客户机和服务器之间共享的密钥。每个OTP发生器可以具有不同且唯一的密钥K。
T 抑制(throttling)参数:在T次不成功认证尝试之后,服务器可以拒绝来自用户的连接,或者向接收方发送抑制信号以指示来自给定源有过多次数的验证尝试。
S 再次同步参数:该服务器可以尝试跨s个连续的计数器值验证接收的认证符
Digit OTP值中位的数目,它可以是系统参数
根据本发明的OTP算法可以基于递增的计数器值和仅对于该令牌和验证服务是已知的静态对称密钥。为了创建OTP值,可以使用HMAC-SHA-1算法,正如M.Bellare、R.Canetti和H.Krawczyk所著的“HMAC:用于消息认证的键控散列“(HMAC:Keyed-Hashing for Message Authentication),IETF网络工作组,RFC 2104,1997年2月中定义的。
HMAC-SHA1计算的输出是160比特,可以截取成用户能够容易地输入的大小的值。因此,
HOTP(K,C)=Truncate(HMAC-SHA-1(K,C)),
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于弗里塞恩公司,未经弗里塞恩公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410381702.9/2.html,转载请声明来源钻瓜专利网。