challenge
Challenge/Response认证的过程如下:
1) 客户端向服务器发出认证请求;
2) 认证服务器从用户数据库中查询用户是否是合法的用户,若不是,则不做进一步的处理;
3) 认证服务器内部产生一个随机数,作为Challenge,发送给用户;
4) 客户将口令和随机数合并,使用单向Hash函数 ( 例如MD5算法 ) 生成一个字节串作为Response;
5) 认证服务器将Response与自己的计算结果比较,如两者相同,则通过一次认证,反之认证失败;
6) 认证服务器通知客户端认证成功或失败。
以后的认证由客户不定时发起,过程中没有了客户认证请求一步。两次认证的时间间隔不能太短,否则就给网络、客户和认证服务器带来太大的开销;但也不能太长,否则不能保证用户不被他人盗用IP地址,一般定为1-2分钟。
密钥的分配和管理:
密钥的分配由维护模块负责,当用户进行注册时,自行设定自己的口令。用户的密钥由口令生成。
一个口令必须经过两次口令检查。第一次由注册程序检查,强制口令必须有足够的长度。口令被加密后送入数据库,这个口令标记为“未检查的”。第二次,由离线的口令检查工具进行检查,将弱口令进行标记,当下次用户认证时,认证服务器将强制用户修改口令。
密钥的在线修改由认证服务器完成,其过程与认证过程基本类似。
Challenge/Response认证的安全性分析:
下面就常见的对认证服务器攻击方法来分析其安全性。
1) 网络侦听 ( sniffer )
认证过程中,密钥和口令不是明文不在网络上传输,所以sniffer很难从听到的报文中得到用户的口令。在密钥在线修改过程中,新口令使用旧密钥加密传送,sniffer攻击仍然无效。
2) replay attack
每次challenge不同,所以replay attack无效。
3) password guessing
在知道了认证算法后,侦听者可以对用户的口令进行猜测。这种攻击方法直接有效,特别是当用户的口令有缺陷时。解决方法是使用合适的口令。
4) 跟踪地址攻击
攻击者在看到用户认证后,设法将自己的机器地址改为用户的IP地址,从而冒充用户。但由于攻击者无法完成后续的认证,在1-2分钟内,攻击失效。
转自https://blog.csdn.net/zy531/article/details/6205306
相关阅读
SSL双向认证以及证书的制作和使用-https+客户端身份验
以下内容转载自 http://blog.csdn.net/helloguoke/article/details/54288670 客户端认证服务器:正规的做法是:到国际知名的证书颁
淘宝复核认证每年都要进行一次,并且是不定期进行淘宝复核认证检查。那么2018淘宝复核认证操作步骤及淘宝复核认证地址是什么?seo实
【拍照准备】像素800万以上的手机或相机(使用阿里钱盾和手机淘宝认证的用户只能用手机进行拍摄)其他所需资料(如:身份证、户口本、
最近seo实验室小编看到很多企业公司都在认证天猫国际的官方标志,其实有一些朋友肯定有疑问,天猫国际的商品是真货吗?能不能够放心的
淘宝商家们都知道,要想在淘宝开店,身份信息认证方面是肯定要处理的,很多的店铺开成功后,出现了这样的情况,那就是淘宝身份认证信息不符