zoukankan      html  css  js  c++  java
  • 令牌

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

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

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

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

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

    1.质询/响应令牌

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

    操作过程如:

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

    2时间令牌

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

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

  • 相关阅读:
    Codeforces Round #603 (Div. 2)
    【bzoj1997】[Hnoi2010]Planar(平面图+2-sat)
    【poj3207】Ikki's Story IV
    【HDU1814】Peaceful Commission(2-sat+暴力染色)
    Educational Codeforces Round 77 (Rated for Div. 2)
    【hdu3311】Dig The Wells(斯坦纳树+dp)
    [USACO3.3] A Game
    [TJOI2013] 单词
    [USACO3.3] Home on the Range
    [NOI2011] 阿狸的打字机
  • 原文地址:https://www.cnblogs.com/weichuo/p/1352679.html
Copyright © 2011-2022 走看看