你的位置:首页 > 软件开发 > ASP.net > Coding 两步认证技术介绍

Coding 两步认证技术介绍

发布时间:2015-08-24 17:00:12
什么是两步认证在介绍两步认证之前,首先来看下目前主流的几种认证方式。 上图中的认证方式大体上可以分为三大类1.You know : 比如密码,这种只有我们知道的2.You are : 比如指纹,这种只有我们拥有的3.You have : 比如信用卡,这种只属 ...

什么是两步认证

在介绍两步认证之前,首先来看下目前主流的几种认证方式。

 

Coding 两步认证技术介绍

 

上图中的认证方式大体上可以分为三大类

1.You know : 比如密码,这种只有我们知道的

2.You are : 比如指纹,这种只有我们拥有的

3.You have : 比如信用卡,这种只属于你的

了解上面所说的三大类之后,我们就很容易的理解下面几点。

什么是两步认证?

两步验证,对应的英文是 Two-factor Authentication(2FA),从名字可以看出,「两步」是 2FA 的重点,而两步就是我们上面所提到的 You know + You Have ,也就是 密码 + 一次性密码(One Time Password,OTP)

为什么我们需要两步验证?

传统的密码认证方式,如果在用户名密码在其他网站上泄露,任何用户都可以使用你的账号密码进行登陆做任何操作。但有了两步认证就能在一定程度上有效的避免这种情况的发生。因为在每次登录时,不仅需要输入您的帐户密码,还需输入移动设备为您生成的一次性动态验证码

OTP

前面说过,2FA 中使用的是一次性密码(One Time Password,OTP),也被称作动态密码。一般 OTP 有两种策略:HOTP ( HMAC-based One Time Password) 和TOTP ( Time-based One-time Password) 。目前被广泛使用的正是后者这种基于时间的动态密码生成策略。

算法大体是这样:

  1. 客户端和服务器事先协商好一个SECRET,用于一次性密码的生成过程,此密钥不被任何第三方所知道。此外,客户端和服务器都采用时间做计数器。
  2. 客户端对密钥和计数器的组合(SECRET,time/30)使用HMAC(Hash-based Message Authentication Code)算法计算一次性密码,公式如下:HMAC-SHA-1(SECRET, time/30)
  3. 各种算法加特效后成6位数字

在这里就只简要介绍该算法,如想深入了解

原标题:Coding 两步认证技术介绍

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录