基于TCP/IP应用层密码认证协议的研究

安全 数据安全
所谓认证,即身份认证是声称者向验证者出示自己的身份的证明过程,认证目的是使别的成员获得对声称者所声称的事实的信任. 常见的认证协议主要有用户口令认证协议(PAP),挑战-握手协议(CHAP),Kerberos认证协议和X.509协议等.本文简单描述这些认证协议的基本思想,并且从系统的实用性,扩展性和管理性几个方面进行综合对比,给出其使用的环境.重点对Kerberos认证协议进行详细地讨论,并提出了对其改进的认证协议设计思想.
Internet在全世界盛行,它的基础协议就是传输控制协议/网际协议(TCP/IP).TCP/IP是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来以及传送方式.
 
但是,在TCP/IP协议设计之初,并没有考虑协议的安全问题,因此TCP/IP协议的安全性是与TCP/IP体系结构的分层模型相对应,通过”增补”方式来实现的.譬如,在应用层的安全性中,包括S-HTTP, PGP, S/MIME,SET等协议,其中认证协议是获得系统服务所必需的第一道关卡,研究和分析系统认证协议,是保证网络安全通信的必要条件。
 
所谓认证,即身份认证是声称者向验证者出示自己的身份的证明过程,认证目的是使别的成员获得对声称者所声称的事实的信任. 常见的认证协议主要有用户口令认证协议(PAP),挑战-握手协议(CHAP),Kerberos认证协议和X.509协议等.本文简单描述这些认证协议的基本思想,并且从系统的实用性,扩展性和管理性几个方面进行综合对比,给出其使用的环境.重点对Kerberos认证协议进行详细地讨论,并提出了对其改进的认证协议设计思想.
 
Kerberos认证协议的研究
 
Kerberos认证协议是一个典型网络安全认证协议,它是应用对称密钥来对客户机(Client)/服务器(Server)应用程序作精确鉴定的。它主要解决的问题是:在公开的分布式环境中,工作站上的用户希望访问分布在网络上的服务器,希望服务器能限制授权用户的访问,并能对服务请求进行认证[6]。Kerberos认证协议的总体框架图如下:
 

从图可知,在Kerberos认证协议中,存在4种不同的角色:客户端,即用户(C),提供某种服务的服务器(S),认证服务器(AS)和票据准许服务器(TGS).它们之间通过对称加密机制作为加密/解密算法,每个用户(C)必须拥有一个认证密钥Kc,该认证密钥由用户和认证服务器AS之间共享一对对称加密密钥Ktgs,而票据准许服务器(TGS)和服务器(S)之间共享一对对称加密密钥Ks.

总体来说, Kerberos认证协议可以分为以下3个步骤:

第一步:认证服务交换.包括消息(1)和(2),用户(C)向认证服务器(AS)证明自己的身份,以便获得票据许可票据(TGT).协议的形式化描述如下:

(1)C → AS    (2)AS → C  

第二步:票据许可服务交换.包括消息(3)和(4),用户向票据准许服务器(TGS)索取访问服务器(S)的服务许可票据(SGT).协议的形式化描述如下:

(3)TGS → C   (4)C → TGS

第三步:用户与服务器交换.包括消息(5)和(6),用户使用所请求的服务.

(5)C → S     (6)S → C

从以上的过程分析中,我们可以发现Kerberos认证协议存在以下问题:

1). 所有的用户(C)帐号信息都存放在一台认证服务器(AS)中,如果该服务器被入侵,则一定会危及整个网络的安全。

2).原有的认证服务可能被存储或替换.虽然时间戳是专门用于防止重放攻击的,但在票据的有效时间内仍然可能奏效.因为事实上,攻击者可以事先把伪造的消息准备好,一旦得到票据就马上发出伪造的票据,在相当短的时间内是难以检查出来的。

3).服务许可票据的正确性是基于网络中所有的时钟保持同步,如果主机的时间发生错误,则原来的认证票据就是可能被替换的。因为大多数网络的时间协议是不安全的,所以,分布式计算机系统中这将导致极为严重的问题。

4). Kerberos防止口令猜测攻击的能力很弱,攻击者通过长期监听可以收集大量的票据,经过计算和密钥分析进行口令猜测。当用户选择的口令不够强时,就不能有效地防止口令猜测攻击。

5).Kerberos服务器与用户共享的秘密是用户的口令字,服务器在回应时不验证用户的真实性,而是假设只有合法用户拥有口令字。如果攻击者记录申请回答报文,就易形成代码本攻击。

6).实际上,最严重的攻击是恶意软件攻击。Kerberos认证协议依赖于Kerberos软件的绝对可信,而攻击者可以用执行Kerberos协议和记录用户口令的软件来代替所有用户的Kerberos软件,达到攻击的目的。一般而言,装在不安全计算机内的密码软件都会面临这一问题。

7).虽然Kerberos认证协议可以在较大规模网络环境中使用,但是在分布式系统中,认证中心星罗棋布,共享密钥的管理分配、存储和更新是一个非常困难的问题.以及它的配置也不是一件简单的事情。

从对于Kerberos的局限性和问题分析中可以得出,其很多缺陷均是由于单独采用对称密钥技术造成的。因此建议可以将公钥加密机制有机地融合到Kerberos认证协议中去,便能克服其保密性不强,扩展性差等缺点。

应用层其他安全认证协议的研究 

除了Kerberos认证协议以外, TCP/IP的应用层安全认证协议还包括用户口令认证协议(PAP),挑战-握手协议(CHAP)和X.509协议.下面从系统的实用性,扩展性和管理性等几个方面进行综合对比,给出其优缺点和使用环境,以作参考.如下表3.1所示:

 

以上通过应用层安全认证协议的对比可以看出,X.509认证协议是目前基于公钥体制的使用最为广泛的认证标准和协议,其次就是Kerberos认证协议.因此,在实际的应用中,我们可以根据所用系统的实用性,扩展性,管理性以及成本等方面来综合考虑,来决定选用哪种安全认证协议[8].

结束语

认证是信息安全防护系统中的核心和基础,是许多安全处理过程的前提.本文简单对TCP/IP应用层上的安全认证协议进行研究,并且从系统的实用性,扩展性和管理性等几个方面进行综合对比评价,给出其参考的使用环境.其中重点对Kerberos认证协议进行详细地讨论,并提出了对其改进的认证协议设计思想.希望这对当前网络信息安全的应用有一定的技术价值和理论意义.

 

 

责任编辑:桑丘 来源: 中国软件评测中心
相关推荐

2014-06-27 10:04:55

网络协议ipv4IP

2024-01-08 09:08:53

2010-06-13 17:46:47

2010-06-09 10:25:18

SET应用层协议

2010-06-21 17:58:06

2010-06-13 17:51:16

SET应用层协议

2010-06-25 15:22:16

2010-06-09 10:28:20

2010-06-28 15:52:17

2015-10-16 10:10:18

应用层通信协议

2010-09-27 13:25:58

TCP IP协议栈

2016-11-29 15:22:47

协议应用层安全层

2010-09-08 15:24:28

TCP IP协议栈

2019-09-30 09:41:04

五层协议OSITCP

2010-06-13 14:49:40

TCP IP协议优化

2010-06-08 15:10:08

2010-06-13 13:39:46

TCP IP协议栈

2013-08-26 15:38:36

2017-05-11 09:10:31

CAN-bus应用层协议

2012-12-25 19:09:02

点赞
收藏

51CTO技术栈公众号