(一) 传统网络认证技术
1. 传统网络认证技术的形式
传统的网络认证技术主要采用基于口令的认证方法。当被认证对象要求访问提供服务的系统时,提供服务的认证方要求被认证对象提交该对象的口令,认证方收到口令后,将其与系统中存储的用户口令进行比较,以确认被认证对象是否为合法访问者。
2. 传统网络认证技术的优点
这种认证方法的优点在于一般的系统(如UNIX,Windows NT,NetWare等)都提供了对口令认证的支持,对于封闭的小型系统来说不失为一种简单可行的方法。
3. 传统网络认证方法的不足
(1) 用户每次访问系统时都要以明文方式输入口令,很容易泄密。
(2) 口令在传输过程中可能被截获。
(3) 系统中所有用户的口令以文件形式存储在认证方,攻击者可以利用系统中存在的漏洞获取系统的口令文件。
(4) 用户在访问多个不同安全级别的系统时,都要求用户提供口令,用户为了记忆的方便,往往采用相同的口令。低安全级别系统的口令更容易被攻击者获得,从而用来对高安全级别系统进行攻击。
(5) 只能进行单向认证,即系统可以认证用户,而用户无法对系统进行认证。攻击者可能伪装成系统骗取用户的口令。
对于第(2)点,系统可以对口令进行加密传输;对于第(3)点,系统可以对口令文件进行不可逆加密。尽管如此,攻击者还是可以利用一些工具很容易地将口令和口令文件解密。
(二) 双因素认证
所谓双因素认证技术,就是在传统的口令等认证因素的基础上,再配合一种认证方法,来达到安全认证的目的。广义上讲,利用一种以上认证技术的都被称为双因素认证,现在部分网络金融系统甚至出现了三种或更多的认证技术同时应用的情况(见图9-2)。
1. 双口令认证
这种方法是要求用户在登录网站访问或进行网上支付时,必须按照提示输入两个口令,只有两个口令都获得通过才可以进入用户系统或完成支付。如网络证券委托系统通常使用这种方式,用户需要输入通常的用户名及密码,还需要输入通讯密码,两者缺一不可;网络银行采取登录密码和支付密码分开的办法等,但是这种方法在用户系统被攻击的情况下或者用户本身失密时其实是毫无作用的。对于大多数用户来说,保管多个密码是件不容易的事情,出于安全,专家们建议用户要经常更换密码,并且建议用户在不同功能的应用中避免使用相同的密码,这样就需要用户保管大量的密码。有些用户为了避免密码遗忘、混淆而将其记录在纸上并保管在钱包等随身携带的物品中,而这个习惯大大增加了密码失窃的风险。
图9-2 网银现在使用的多种认证手段
2. 令牌口令认证
令牌口令认证是在双因素认证系统中,用户除了拥有口令外,还拥有系统颁发的令牌访问设备。当用户向系统登录或进行网上支付时,用户除了输入口令外,还要输入令牌访问设备所显示的口令。该口令由数字或字母组合而成,与认证服务器是同步的。令牌口令属于一次性密码(one time password,简称OTP),如果用户应用超时,那么就需要刷新页面以获得新的令牌口令。这样,远程控制者是无法实时得到与用户页面地址匹配的令牌口令的,且令牌口令往往以图片方式显示并故意任意扭曲,无法粘贴,成为一种无法通过技术手段窃取的口令,最大限度地保证免除远程攻击的侵犯。令牌口令还使另外一种技术攻击手段失效,那就是利用自动刷新方法的破解尝试。由于每次登录时页面需要将登录的信息传回服务器,实际上是对页面的刷新,这样如果登录失败,令牌系统就产生了新的口令。在单口令系统里,探测攻击者可以重复刷新来尝试,但是令牌系统使这种企图无法得逞。但是,当用户登录或支付口令失窃时,令牌口令就毫无保障意义了。
3. 动态口令
动态本质上也是一种令牌口令,但是采取了一种分离显示的功能。动态口令并不是在页面上直接显示,而是通过用户预留的手机号码实时以短信形式发送一个口令,用户必须在规定的时间里输入这个口令才能完成登录或者支付,超时则口令作废,需要再次点击发送按钮重新发送新的口令。这种方法的可靠之处在于:只有用户本人才可能立即收到动态口令的短信,即使有人获得了用户的登录或支付口令,但无法同时得到预留号码的手机的话,就无法获得动态口令。而且,动态口令一般在30秒内有效,如此短的时间里即使用技术手段破解也来不及。目前,很多银行的网银系统都使用了这样的动态口令,像中国银行推出专门的动态口令卡,用户申请后随身携带,方便使用;中国工商银行则推出了一种犹如银行卡大小的口令卡,用户在使用时则每次刮出一个口令供使用。
前沿观察
动态口令技术的发展
1982年,美国贝尔实验室的一位研究人员在一篇论文中提出了一次性口令的预设方案,这样即使其他人破解了密码,也无法再次使用。这是第一次比较系统地提出了动态口令的问题及解决方案。随后,美国RSA公司发现了这项技能的价值,对动态口令进行了深入的研究和改进,提出了“时间同步技术”,并且于1984年申请了专利。RSA于1986年开发出了第一个动态指令产品SecurID,并且在香港的工厂里生产出了第1个动态口令产品。可是,真正让这个产品成功的是在Security Dynamics Inc.收购了RSA之后。他们熟悉到RSA本身品牌的巨大价值与商业时机,保留了RSA的品牌,并将过去必须与操作体系或系统软件进行捆绑的销售方式转向应用领域,不久就在银行、政府、军队、保险和企业内部安全等领域取得了巨大的成功,并最终在2000年成为一个年销售额达到2.8亿美元的上市公司。在美洲,RSA现在已占领动态口令市场70%的份额, 2001年已生产出第1000万块SecurID。
动态口令产品目前在应用方面,主要集中在三个领域。
一是高端市场。例如:政府、军队、国家机要部门,安全是第一位的,对产品的安全性、可控性、不变性要求比较高,因此生产成本也相应较高。
二是大企业内部应用。企业员工可以采用动态口令进入公司的内部网络,进行业务操作。此外,对金融或证券机构的内部人员,通过动态口令来确认用户的身份与访问权限范围,这样就可以防止内部用户盗用其他人的密码,进行非法操作。这类动态口令需要与Directory Server,Microsoft Active Directory联合,并加上传道输送加密、CA证书等功能。
三是低端市场。主要是指金融机构的网上业务,如网上银行、网上证券等在线登录及交易、支付等。这一类产品应用广泛,价格比较低。
1995年,RSA就在中国内地配置了第一个办事处,1996年在中国第一届国际通信展上,RSA将其全线产品介绍到中国。可是因为当时我国的网络市场还处于起步阶段,绝大多数人对网络的概念尚不清楚,更不用说安全问题了,所以并没有受到重视。后来韩国的厂商也试图在国内推广类似的产品,同样无功而返。在动态口令卡的市场中,国外产品因为受到国家政策的限制,特别是1999年10月7日第273号国务院令《商用密码办理条例》公布之后,步入国内市场的困难程度加大。于是有的就采用打擦边球的方式,有的则将市场首要定位于外企内部办理领域。而国内的动态口令开发商的产品绝大部分都集中于第三类市场,技能差异很小,只能在价格上展开竞争。
案例
国内主要商业银行的网银动态口令
图9-3 中国银行的E-Token(www.xing528.com)
1. 中国银行的动态口令卡E-Token
中国银行在国内银行中率先大规模应用了国际流行的安全认证工具动态口令牌E-Token (见图9-3)。动态口令牌是一种内置电源、密码生成芯片和显示屏,根据专门的算法每隔一定时间自动更新动态口令的专用硬件。其使用十分简单,实现了与电脑的完全物理隔离,无需安装驱动和记忆密码,动态口令牌采取一次一密的方式,每60秒随机更新一次,使得不法分子难以仿冒合法用户的身份,大大提升了中国银行网上银行的安全性。用户在申领E-Token时将银行卡与之进行绑定,因此可以保证两者的同步。
中国银行目前对网银支付、转账等业务采取了多种安全手段,除了动态口令卡的使用,还必须同时接收手机动态口令,两者在时序上必须保持一致,使网银安全机制上升到新的高度。但是,从用户体验角度来说,过于复杂的安全口令系统可能导致部分用户的使用困难。
2. 中国工商银行的动态口令卡
中国工商银行的网银动态口令卡实质上就是动态密码卡,是在一张卡片上以矩阵形式印有若干字符串。客户在使用网络银行进行对外转账、B2C购物、缴费等支付交易时,网银系统会随机给出一组口令卡坐标,客户根据坐标从卡片中找到口令组合并输入网银系统,只有口令组合输入正确的客户才能完成相关交易,该口令组合一次有效,交易结束后即失效,即便黑客盗得密码,下次也不能使用(见图9-4)。中国工商银行的动态口令卡采取了一种密要机制,在申领时将其与用户银行卡进行了绑定,因此挂出的口令组合符合此密钥规则,借用他人的口令卡是无法使用的。
图9-4 中国工商银行的动态口令卡
3. 交通银行的手机动态口令
交通银行在网上转账等关键交易确认时,通过移动网络发送给客户的一次性的包含用户转账账号、金额、动态密码在内的短信,用户需要输入短信中与网上编号一致的动态密码,才能完成转账。短信密码无法在网上被截取,从而保证客户资金账户的安全(见图9-5)。
图9-5 交通银行的手机动态密码
其他银行网银使用的动态口令,大致与上述三种模式类似或相同,这是目前中国网络金融动态口令使用的基本方式。
4. 预留信息验证
预留信息验证是帮助用户有效识别银行网站、防范不法分子利用假银行网站进行网络诈骗的一项安全服务(见图9-6)。用户可以在银行预先记录一段文字(即“预留信息”),当登录个人网上银行时,首页自动显示预留的信息,以便用户验证是否登录真实的网上银行。如果网页上没有显示预留验证信息或显示的信息与用户的预留信息不符,应该立即停止交易并拨打银行24小时客户服务热线(必须拨打全国统一的客服电话号码,现在银行都有5位短号码,千万不能拨打该问题网页上的任何电话)。用户可以在网点注册个人网上银行时设置预留信息;也可在登录个人网上银行后,在“个人设置”功能菜单下的“客户信息修改”中进行设置或修改。
图9-6 验证预留信息
预留信息验证是一种反向认证手段,有效地让用户验证所登录的网银系统的真伪,免受“钓鱼网站”一类的不法侵犯,保证网银的安全。
(三) 提问握手认证协议CHAP
除双因素认证外,还可采用提问—响应(challenge-response)方法来解决上述问题。提问—握手认证协议CHAP(challenge handshake anthentication protocol)采用的就是提问—响应方法,它通过三次握手(3-way handshake)方式对被认证方的身份进行周期性的认证。其认证过程如下。
(1) 在通信双方链路建立阶段完成后,认证方(authenticator)向被认证方(peer)发送一个提问(challenge)信息。
(2) 被认证方向认证方发回一个响应(response)。该响应由单向散列函数计算得出,单向散列函数的输入参数由本次认证的标识符、秘诀(secret)和提问构成。
(3) 认证方将收到的响应与它自己根据认证标识符、秘诀和提问计算出的散列函数值进行比较,若相符则认证通过,向被认证方发送“成功”信息,否则,发送“失败”信息,断开连接。在双方通信过程中系统将以随机的时间间隔重复上述三步认证过程。
CHAP采用的单向散列函数算法可保证由已知的提问和响应不可能计算出秘诀。同时由于认证方的提问值每次都不一样,而且是不可预测的,因而具有很好的安全性。
CHAP具有以下优点。
(1) 通过不断地改变认证标识符和提问信息的值来防止回放(playback)攻击。
(2) 利用周期性的提问防止通信双方在长期会话过程中被攻击。
(3) 虽然CHAP进行的是单向认证,但在两个方向上进行CHAP协商,也能实现通信双方的相互认证。
(4) CHAP可用于认证多个不同的系统。
CHAP的不足之处是认证的关键是秘诀,CHAP的秘诀以明文形式存放和使用,不能利用通常的不可逆加密口令数据库。并且CHAP的秘诀是通信双方共享的,这一点类似于对称密钥体制,因此给秘诀的分发和更新带来了麻烦,要求每个通信对都有一个共享的秘诀,这不适合大规模的系统。
(四) Kerberos认证
Kerberos是由美国麻省理工学院提出的基于可信赖的第三方的认证系统。Kerberos提供了一种在开放式网络环境下进行身份认证的方法,它使网络上的用户可以相互证明自己的身份。Kerberos采用对称密钥体制对信息进行加密。其基本思想是能正确对信息进行解密的用户就是合法用户。用户在对应用服务器进行访问之前,必须先从第三方(Kerberos服务器)获取该应用服务器的访问许可证(Ticket)。Kerberos密钥分配中心KDC(即Kerberos服务器)由认证服务器AS和许可证颁发服务器TGS构成。
(五) X.509证书及认证框架
国际电信联盟的X.509建议(已成为事实上的标准)定义了一种提供认证服务的框架。采用基于X.509证书的认证技术类似于Kerberos技术,它也依赖于共同信赖的第三方CA来实现认证。所不同的是它采用非对称密码(公钥)机制,实现上更加简单明了。当用户向某一服务器提出访问请求时,服务器要求用户提交数字证书。收到用户的证书后,服务器利用CA的公钥对CA的签名进行解密,获得信息的散列码。然后服务器用与CA相同的散列算法对证书的信息部分进行处理,得到一个散列码,将此散列码与对签名解密所得到的散列码进行比较,若相等则表明此证书确实是CA签发的,而且是完整的未被篡改的证书。这样,用户便通过了身份认证。服务器从证书的信息部分取出用户的公钥,以后向用户传送数据时,便以此公钥加密,对该信息只有用户可以进行解密。
由于这种认证技术中采用了非对称密码体制,CA和用户的私钥都不会在网络上传输,避免了基于口令的认证中传输口令所带来的问题。攻击者即使截获了用户的证书,但由于无法获得用户的私钥,也就无法解读服务器传给用户的信息。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。