使用一次性密码解决方案更安全地验证身份
2009-02-09 10:20:21 来源:WEB开发网一次性密码
传统的静态密码通常只在需要时才进行更改:当它过期时或者当用户忘记密码并需要重置时。由于密码缓存在计算机硬盘上并存储在服务器上,因此它们很容易被破解。便携式计算机尤其如此,因为它们容易被盗。
许多企业都为员工配备了便携式计算机,并将网络打开以允许远程访问。他们还会雇用临时员工和供应商。在此环境中,简单的静态密码解决方案可能成为一种不利因素。
与静态密码不同,一次性密码会在用户每次登录时发生更改。密码有以下两种生成方式:与时间同步或与计数器同步。两种方法通常都要求用户携带一个与服务器同步的小型硬件设备(通常可以挂在钥匙链上),并且通常都使用一些算法来生成密码。
与时间同步的 OTP 已得到广泛部署,但可能出现时钟偏差问题。即,如果身份验证服务器和用户令牌的时间不同,则无法生成预期的 OTP 值,并且用户身份验证将失败。使用与时间同步的 OTP 时,用户通常必须在特定时间段内输入该密码,否则会将其视为过期且必须生成另一密码。
与计数器同步的 OTP 解决方案将同步客户端设备与服务器之间的计数器。每次请求设备的 OTP 值时,计数器都会增加。就像使用与时间同步的 OTP 一样,当用户想要登录时,他必须输入设备上当前显示的 OTP。
用于应对复杂情况的 OTP 是一种特殊情况,它们通常还会使用硬件设备。但是,用户必须提供一个已知值(如个人标识号 (PIN))才能生成 OTP。此类 OTP 目前正在欧洲广泛应用,用于为信用卡和借记卡增加身份验证。目前使用的 OTP 解决方案均建立在某种加密处理之上,以根据同步参数(即时间或计数器值)、密钥以及可能需要的 PIN 生成当前密码。
例如,基于哈希的 OTP 使用加密哈希算法来计算密码。如您所知,加密哈希是一种单向函数,即将任意长度的消息映射为固定长度的摘要。因此,基于哈希的 OTP 首先进行输入(同步参数、密钥、PIN),然后通过单向函数运行它们,并且生成固定长度的密码。
更多精彩
赞助商链接