令牌

令牌分为:质询/响应令牌和时间令牌;

     令牌有点像一个小计算器,粗略一看也有点像汽车的遥控器,所有的令牌差不多都有一个处理器,一个液晶屏和一个电池,有些令牌还有供用户输入信息的小键盘和一个时钟。每个牌都有一个唯一的种子数,种子可确保令牌输出唯一的代码集。令牌产生的伪随机数称为一次性口令或者一次通行码。

     用户在访问受保护的资源时,输入用户名,令牌上显示的通行码和PIN,而不是口令。每个通行码用一次后就不再使用,大多数系统中,认证系统不直接检验通行码,而是让所信任的认证服务器去做这个事情。

     认证服务器必须知道每个令牌的编程种子数,因为认证系统知道每个特定令牌的种子数后,才能检查访问用户提供的伪随机数是否正确。

     令牌认证是双因素认证或者称2-因素认证,要使用令牌认证必须拥有令牌和PIN,两者缺一不可

1.质询/响应令牌

       使用令牌时,令牌和认证服务器需要有相同的种子数。种子数是一个适当长度的随机数,不同令牌的种子数不同,令牌中的种子数是不向外公开的,由于令牌没有接口接收质询,所以用户需要看到认证服务器返回的质询后,将其输入到令牌中

操作过程如:

令牌_第1张图片

使用散列算法而不是加密算法主要以下几个方面的考虑,散列算法容易实现而且需要的CPU资源比加密运算少,这对低当的令牌处理器极为有利,即节省成本又延长电池寿命。

2时间令牌

令牌_第2张图片

 

在服务器端认证的时侯,如果服务器发现通行码不匹配,这时服务器会向前或者向后调一下时间再一次做散列处理后,进行匹配; 如果还不匹配的话,服务器还会扩大向前或向后调整时间的范围,再做散列处理,进行匹配。如果匹配成功后,服务器记录下令牌与服务器时间的偏移量。向前或者向后调整超过一定范围后就被认为失败.

 

 

从令牌安全角度来讲,在用户使用令牌的时候需要输入一个PIN,如果输入正确的PIN后会产生一个正确的种子数;输入错的话也不会提示失败,而是给出一个错误的种子数,继续使用。每个令牌都有一种特定的错误种子数,以便服务器跟踪

转载于:https://www.cnblogs.com/weichuo/archive/2008/12/11/1352679.html

你可能感兴趣的:(令牌)