认证过程

身份认证方法:

1)生物特征;

2)密码等私密信息;

3)个人物品;

目前多采用其中的两种,称为双因素的认证方式;

 

CA,服务器端必须部署的证书的来源。

客户端证书,一般是不需要的。

 

在用户登录服务器时,是不会直接传递用户名和明文密码的,都要经过一些简单的处理:

  最基本的不进行保护的authentication过程:

    

  1)originate A 发送它的用户名和密码到 recipient B;

  2)B直接发送用户名和密码到directory中,检索是否存在该记录;

  3)Directory 发送valid或者invalid到B;

  4)将authentication 的success或failure传送给A;

 

网站被脱库,怎么存储用户的登录密码:

  1)登录过程中传递登录密码的消息认证码(HMAC函数),服务器端只进行校验;

  2)加入随机的salt的哈希算法,来存储用户的密码;

    

  简单的authentication过程:

    

  1)origination A 发送protected identifying info给B,

    Protected1 = f1(T1, Q1, PassWd)

    AuthTag = t1, q1, A, Protected1

    引入了timestampT1,随机数Q1;hash function F1

  2)recipient B直接拿到directory中的PassWd,经过同样的运算之后,比较AuthTag值;

 

也可以对Protected1得到的值,在进行一次hash function操作,增加安全性。

 

认证过程在复杂一些,就必须要牵扯到证书,非对称加密的认证,签名

posted @ 2017-12-05 13:49  _9_8  阅读(362)  评论(0编辑  收藏  举报