内容摘要:用户所有的凭证,和传统的密码方式最大的不同在于,用户所有的凭证,对用户来说是他所有的一个物品,用户不需要了解它们具体是怎么运作的,只需要在系统要求用户进行身份验证时提供它们即可。
下面J0ker将给大家介绍目前使用最为广泛的两种用户所有凭证方案,一次性密码(OTP)和智能卡:
一次性密码(One Time Password,OTP)和传统的可多次使用密码不一样,一次性密码只能使用一次,使用之后便告失效。这样,即使用户的一次性密码被攻击者所获取,攻击者也不能使用一次性密码再去登录用户的系统,因为这个一次性密码已经失效。
和大家认为的不一样,一次性密码使用的历史相当长,一次性密码的使用甚至还早于计算机出现——近代军事和间谍领域常用的密码本,便可以认为是一次性密码的前身。直到现在,将许多个一次性密码列表打印在纸上,并交给用户使用,仍然是最为廉价但安全性相当高的一种一次性密码方案,国内有的银行在加强网上银行安全性的时候便选择了这样的一次性密码实现方式,大家可以在使用相关银行的网上银行时留意一下。当然,这种一次性密码实现的安全取决于用户是否能妥善保管打印有一次性密码的密码本。
更多的一次性密码方案采用电子和计算机技术来实现,这类一次性密码方案的用户端通常是一个类似于小的计算器或钥匙吊坠般外形的设备,上面有个数不等的按钮,行业里也将这个设备称为令牌设备(Token Device)。用户按照一定的规则向令牌设备输入数据,令牌设备计算后返回一个结果给用户,这个结果就是用户登录系统的一次性密码。令牌设备可以根据实现方式分成同步式令牌设备和异步式令牌设备:
同步式令牌设备(Synchronous Token):令牌设备内保存有和验证服务器相同的一个基准值,如精确到微秒的时间,或用管理员设置的一个可变数值。基于时间同步的令牌设备称为Clock-based Token,而基于可变数值计算的则称为Counter-based Token。它们生成一次性密码的方式大致相同,都是用户输入密码后,由令牌设备利用与服务器同步的变量作为一个参数,重新生成一个用于登录系统的一次性密码。而验证服务器端则会使用相同的变量及算法处理保存在数据库中的用户密码,如果用户提供的一次性密码和验证服务器计算的相同,就可以证明该用户是系统的合法用户。
来源:51CTO.com 作者:梁林 责编:豆豆技术应用
- Django是否已经达到顶峰?
- GitHub:基于Rails的Git库托管
- Java 7的并行支持:Fork/Join
- Daemon Tools自甘堕落 强行驻留用户电脑
- 微软官方密码强度测试工具帮你测试密码是否强悍
- 专家详解Netfilter/iptables FAQ
- 史上最牛的三大病毒结局大盘点
- 黑客眼中的OpenSSL:强大的密码工具
- CISSP的成长之路(二十三):逻辑访问控制方案
- CISSP的成长之路(二十二):用户的生物特征
- CISSP的成长之路(二十三):逻辑访问控制方案
- CISSP的成长之路(二十二):用户的生物特征
- CISSP的成长之路(二十一):用户持有凭证
- CISSP的成长之路(二十):讲解身份验证过程
- CISSP的成长之路(十九):详述安全威胁控制手段
- CISSP的成长之路(十六):复习访问控制(1)
- CISSP的成长之路(十五):系统架构和设计之安全标准
- CISSP的成长之路(十四):系统架构和设计之保护机制
- CISSP的成长之路(十三):安全架构和设计之安全模型
- CISSP的成长之路(十二):安全架构和设计(1)