zoukankan      html  css  js  c++  java
  • ECHAP:身份认证的安全协议

    ECHAP:身份认证
    的安全协议

    格方网络安全有限公司 李志录 何敏


    ---- 身份认证在计算机系统和网络中非常重要。目前采用的身份认证技术主要有三种:固定密码的身份认证(如普通的PAP认证、人体指纹等生理上的认证)、动态密码身份认证(如动态口令等)和采用数字证书认证方式。其中,前两种方式比较适合不需要经过第三方认证的系统,如企业内部网络或借助互联网连接的专用网络,而第三种方式则适合于跨部门、跨企业的业务往来。在第一种和第二种方式中,动态密码的认证方式更为可靠,其优点是用户每一次登录网络的密码都不一样,杜绝了因在网络上窃听密码而造成的系统不安全。

    ----目前,动态密码的认证方式基本上采用CHAP(Challenge Handshake Authentication Protocol)安全认证协议。CHAP协议能保证用户密码的安全,但其安全性又建立在用户客户机和服务器共享相同的用于认证用户身份的秘密值。为了用户的利益,用户当然会安全地保存自己的秘密值,但服务器秘密值的安全性依赖于服务器本身的安全,谁又能保证超级用户不泄露或复制用户的秘密值?谁又能担保系统被黑客侵入后用户的资料不丢失?

    ----ECHAP(Extended Challenge Handshake Authentication Protocol)是一种更安全、灵活的CHAP扩展认证协议。ECHAP实现了安全的身份认证和用户敏感验证信息(秘密信息)在服务器和客户端的安全存储,防止了因超级用户泄露或复制用户的秘密值的安全隐患。

    传统的CHAP

    ----CHAP是一种通过验证方与被验证方之间的三次信息交互(握手)来验证访问者身份的认证协议。验证方周期性地检验登录和访问请求,一旦检测到,就生成和发送一个随机数Challenge给被验证者。被验证者据此生成一单向加密(One-way encryption)的摘要值作为应答(Response),传给验证方。验证方根据收到的 Response来判断用户身份合法性。

    ----CHAP成功认证的前题是验证双方共享同样的秘密值和单向加密算法(实际上就是HASH算法)。在实际验证中,服务器端在发出随机数的同时,会和客户端一道以共享的秘密值和Challenge为因子,计算报文摘要,并把二者计算的结果汇总、比较。若二者相等,则认可该次访问,反之予以拒绝。

    ----根据客户端秘密值的存储和定义,往往演化出单因子和双因子两种不同的认证机制。在传统单因子认证中,秘密值就是Password,存于用户的脑海;而在双因子认证当中,秘密值则存于软盘、SmartCard或SKey等便携存储介质里。

    ----这种认证的好处在于关键的用户认证信息(秘密值)不在网上传输,避免了网上侦听的威胁。但在服务器端,秘密值的保存和管理却不容易做到既方便又安全。对许多信息安全需求较高的应用客户来说,来自系统内部的账号信息泄密反而成为更值得担心的问题。

    ECHAP认证

    ----格方网络安全有限公司在开发格方强双因子身份认证系统中提出了ECHAP协议。在该协议中,引入多种加密技术,对传统CHAP认证进行了变通和扩展,从而使身份认证的过程和用户账号信息管理都更完善、安全。

    ----首先,ECHAP在验证方为每个注册用户生成了一个随机秘密值S,并采用某种对称加密算法(如RC4)对其加密存储;同时,加密(秘密值)的密钥K和原始秘密值S则存于某种便携安全存储介质(如SmartCard、SKey)中交给用户保管,在服务器端没有加密的密钥。这样做一方面源于双因子认证比传统单因子认证更可靠、安全,另一方面保证了敏感账号信息在客户和服务器两端的存储安全。

    ----原始数据和加密原始数据的密钥保存在客户的Smart卡、软盘或Skey中,怎样保证加密原始数据的密钥安全传送到服务器?

    ----当服务器检测到用户登录或访问请求时,首先生成 Challenge和一对临时会话密钥(Pb,Pv),然后将其中的公钥和Challenge编码后传到客户端。客户端收到后,从该用户的存储介质中读取原始秘密值和密钥K,以秘密值和收到的 Challenge为入口参数计算报文摘要W1,用Pb加密K(得到Pb(K)),连同W1一道传给服务器。服务器收到后,首先用会话密钥对中的私钥Pv解密Pb(K),得到原始加密密钥K,再用K解密本地加密存储的秘密值,还原出S,并以Challenge和S为入口参数计算出W2。比较W1、W2,若相等,则认证成功,反之认证失败(见图)。

    ----ECHAP由于在服务器端对秘密值进行加密存储,提高了敏感信息存储的安全性;而密钥不在服务器保存,又避免了系统管理人员窃取用户账号信息的可能性。最后,为保证认证过程密钥传递的安全及重复攻击(Replay Attack),采用了公钥加密和一次性密钥技术,圆满实现了传统认证过程信息传递和数据存储的安全。采用该协议,格方网络安全有限公司开发了格方强双因子系列产品,如RASA远程拨号安全认证服务系统、LASA局域网络安全认证系统和基于Web服务器浏览器安全身份认证系统。系统具有防密码猜测、防网上密码盗窃、防用户个人隐私泄密等功能。

  • 相关阅读:
    c# Array或List有个很实用的ForEach方法,可以直接传入一个方法对集合中元素操作
    js 检查字符串中是否包含中文(正则)
    Js 数组对象排序
    Js日期处理
    JS 检测字符串是否还有某个字符
    js获取URL传参
    使用JavaScript修改浏览器URL地址栏的实现代码
    上传、裁剪图片-----Jcrop图片裁剪插件
    zip拉链方法
    内置函数如help()...
  • 原文地址:https://www.cnblogs.com/adylee/p/967540.html
Copyright © 2011-2022 走看看