移动身份验证器如何工作

Bar*_* S. 4 php security authentication mobile

我想知道移动验证器是如何工作的(比如Battle.net,rift,有些银行有一个等等),所以我可以为我自己的网站制作一个(只是为了好玩).

我理解基本知识:authenticator具有与手机相关的代码和与网站相关的代码.用户在网站上输入电话代码.然后可以生成相关的令牌(使用电话和网站代码).

我只是想知道如何创建令牌.这有标准算法吗?算法如何工作?任何可以执行此类操作的现有PHP库(作为示例)?

mje*_*jec 6

看看Google身份验证器.已经有iPhone,Android和Blackberry应用程序,它是一个既定的协议.

他们已将其实现为开源PAM模块,您可以将其与PECL PAM软件包一起使用.

有一个纯PHP版本,但我没有使用它,所以不能保证它.

规范是不是复杂,所以你很可能实现它自己,尤其是当你转换C模块.与此相关的规范解释了它的全部细节.

编辑:我想回答原始问题,这是一个RFC,所以它有点标准化,它是一个完全开放的规范,使用它的工具是完全开源的.这些协议称为HOTP和TOTP.前者是基于计数器的HMAC(因此使用第n个密码),而后者是基于时间的(因此密码每30秒循环一次).