ECHAP:身份认证
的安全协议

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


----

----目前,动态密码的认证方式基本上采用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服务器浏览器安全身份认证系统。系统具有防密码猜测、防网上密码盗窃、防用户个人隐私泄密等功能。