基于网络安全中身份认证技术的探讨
2011-05-08朱珠
朱珠
(调峰调频发电公司,广东 广州 510000)
随着网络规模及其应用的飞速发展,对包括身份认证在内的一体化网络管理,提出了日益紧迫的要求。我们在尽情享受互联网所带来的好处的同时,必须要清醒地认识到。网络存在着许多漏洞.网络安全存在着许多威胁。作为网络安全的第一道防线,身份认证有着至关重要的作用。
一、身份认证技术
1.基于口令的认证方式。传统的认证技术主要采用基于口令的认证方法。这种认证方法很简单,系统事先保存每个用户的二元组信息fID,PW)。进入系统时用户输入ID和PW,系统根据保存的用户信息和用户输入的信息相比较。从而判断用户身份的合法性。这种认证方法的优点在于:一般的系统(如UNIX,WindowsNT等)都提供了对口令认证的支持,对于封闭的小型系统来说不失为一种简单可行的方法。但由于用户经常选择姓名、生日等易被猜测破解的口令。使得这种技术变得极不安全;口令以明文形式在网络传输。使得攻击者很容易通过搭线窃听获取用户口令;另外,攻击者可能利用系统漏洞获取并破解系统保留的用户口令文件,整个系统的安全性就受到了威胁。为提高该技术的安全强度,通常使用密码算法对口令进行加密保存和加密传输,但对重传和假冒攻击也毫无抵抗能力。
2.基于物理证件的认证方式。基于物理证件的认证方式是一种利用用户所拥有的某种东西进行认证的方式。主要的物理证件有智能卡和目前流行的USBKey等。智能卡具有硬件加密功能,有较高的安全性。基于智能卡的用户身份认证方式结合了用户所知和用户所拥有两个方面,用户信息(ID,PW)存在物理证件中,AS中存入某个事先由用户选择的某个随机数。用户访问系统资源时,用户输入(ID,PW)。系统首先判断智能卡的合法性,然后由智能卡鉴别用户身份,若用户身份合法。再将智能卡中的随机数送给AS作进一步认证。
3.基于硬件信息的认证方式。基于硬件信息的认证方式是最新发展起来的。它是通过计算机本身的唯一硬件特征来标识使用者的身份。结合PIN码的使用.可以实现一种高强度的双因子认证。这种认证依然是建立在公钥密码体制之上的。它的基本假定就是:对于固定的用户,其使用的计算机也是相对固定的(在公用的计算机上是不应该执行任何涉及个人机密的操作的,否则安全根本得不到任何保障),那么,通过对这台计算机的识别,加上对当时使用计算机的用户识别,就可以实现对用户的远程认证。其难点和重点在于识别计算机的唯一硬件特征。我们使用的网卡都有一个全球唯一的MAC地址,网卡生产商都遵循统一的规定,按照统一的分配来给自己生产的网卡指定MAC地址。同样的,对于CPU、硬盘、主板等其他计算机部件,都存在着相应的协议和规范。而这些参数的联合,足够构成一个全球唯一的硬件标识号码。
其工作原理是:首先对合法用户的计算机进行硬件特征采集。通过对于硬件标识号码的实时获取,可以实时地认证一台具有唯一特征值的计算机是否是已经注册的合法使用者。
二、一次性口令认证技术
1.设计思想与特点
(用户PIN─USBkey─USB接口─IPM)身份代码和某种不确定因素作为密码算法的输入参数。经过算法变换得到一个变化的结果,即一次性口令,将其作为用户的登录口令;认证服务器端使用相应的算法进行计算,并将计算结果与用户的登录口令进行匹配,若合法则接受登录。由此得到变化的、不重复的一次性口令,且无需用户记忆,一个口令只能使用一次,重复使用将被拒绝接受。例如:登录口令=MD5(用户名+密码+登录时间),系统接收到登录I=l令后做一次验算即可验证用户的合法性
2.技术的实现方式
目前,一次性口令认证技术主要有以下四种实现方式:Lamport方式也称为哈希链(Hash chains)方式。在初始化阶段选取一个口令PW和一个迭代数N,及一个单向散列函数F,计算Y=Fn(PW)(Fn()表示进行n次散列运算),并把Y和N的值存到服务器上。用户端计算Y/=Fn-1(PW)的值,再提交给服务器。服务器则计算Z=F(Y/),最后服务器将z值同服务器上保存的Y/进行比较。如果Z=Y/,则验证成功,然后用Y/的值取代服务器上Y的值,同时N的值递减1。通过Lamport方式,用户每次登录到服务器端的口令都不相同。这种方案易于实现,且无须特殊硬件的支持。但其安全性依赖于单向散列函数F,不宜在分布式的网络环境下使用。
时间同步方式(TimeSynchronization)每个用户都持有相应的时间同步令牌(Token)。令牌内置时钟、种子密钥和加密算法。时间同步令牌根据当前时间和种子密钥每分钟动态生成一个一次性口令。用户需要访问系统时,将令牌生成的动态口令传送到认证服务器。服务器通过其种子密钥副本和当前时问计算出所期望的输出值。对用户进行验证。如果相匹配,则登录通过。时间同步方式的关键在于认证服务器和令牌的时钟要保持同步,这样在同一时钟内两者才能计算出相同的动态口令。挑战,
应答方式(Challenge/Response)每个用户同样需要持有相应的挑战,应答令牌。令牌内置种子密钥和加密算法。用户在访问系统时,服务器随机生成一个挑战(Challenge)数据,并将挑战数据发送给用户,用户将收到的挑战数据手工输入到挑战,应答令牌中,挑战,应答令牌利用内置的种子密钥和加密算法计算出相应的应答((Re—sponse)数据。用户再将应答数据上传给服务器。服务器根据该用户存储的种子密钥和加密算法计算出相应的应答数据,再和用户上传的应答数进行比较来实施认证。该方式可以保证很高的安全性。是目前最可靠有效的认证方式。但该方式直接应用在网络环境下还存在一些缺陷:需要特殊硬件(挑战,应答令牌)的支持,增加了该方式的实现成本;用户需多次手工输入数据,易造成较多的输入失误,使用起来不方便;用户的身份ID直接在网络上明文传输.攻击者可能很容易地截获它,留下了安全隐患;没有实现用户和服务器间的相互认证,不能抵抗来自服务器端的假冒攻击;挑战数据每次都由服务器随机生成,造成了服务器开销过大。
异或运算方式将异或运算、加法运算等低复杂度的运算与散列运算相结合,认证双方通过这些运算方式计算双方交换的认证数据进行一次性口令身份认证。这种方式的特点是设计简单、运算量较小。而且实施的成本也较低。
结束语
总之,身份认证是信息安全技术的一个重要方面,是其他安全机制的基础。而目前在网络应用系统中应用最为广泛的技术是静态口令的身份认证技术。这种身份认证方法操作十分简单,但同时又最不安全,因为其安全性仅仅基于用户口令的保密性,而用户口令一般较短且容易猜测,同时由于口令的明文传输使得系统攻击者很容易通过搭线窃听方法窃取用户口令。
[1]曲毅.络安全中身份认证技术的研究[J].淮海工学院学报,2001.10.
[2]刘凤贵,郑睿,高翔云.网络安全中身份认证技术研究[J].电脑知识与技术,2008.S1.