首页 理论教育 如何进行身份鉴别:简介Kerberos鉴别系统

如何进行身份鉴别:简介Kerberos鉴别系统

时间:2023-06-09 理论教育 版权反馈
【摘要】:用户首先到设备上进行鉴别,远程系统就会发送一个称为“质询”的随机数,用户将其输入到设备中。Kerberos的思想基础是:中心服务器提供一种称为票据的已鉴别令牌,向应用软件提出请求。其中,票据是一种不能伪造、不能重放和鉴别的对象。

如何进行身份鉴别:简介Kerberos鉴别系统

在网络中,安全地实现鉴别可能会很困难,因为网络环境中可能出现窃听和偷听。而且,通信的双方可能需要相互鉴别:在通过网络发送密码之前,用户想知道自己确实在和所期望的主机进行通信。下面介绍适用于网络环境中的鉴别方法。

1.一次性密码

偷听威胁意味着在一个不安全的网络中传输的用户密码很容易被窃听。采用一次性密码可以预防远程主机的偷听和欺骗。

顾名思义,一次性密码(One-Time Password)只能使用一次。要想知道它是怎样工作的,先来考虑最早出现的情况。用户和主机都能访问同样的密码列表,用户在第一次登录时使用第一个密码,第二次登录时使用第二个密码,以此类推。由于密码列表是保密的,而且没有人能根据一个密码猜测出另一个密码,因此即使通过偷听获得了一个密码也是毫无用处的。然而,正如一次一密乱码本一样,人们在维护这张密码列表时会遇到麻烦。

为了解决这个问题,可以使用一个密码令牌(Password Token)。这是一种专门的设备,用于产生一个不能预测但可以在接收端通过验证的密码。最简单的密码令牌形式是同步密码令牌,如RSA Security公司的SecurID设备。这种设备能显示出一个随机数,而且每分钟会产生一个新的随机数。给每个用户一台不同的设备(以保证产生不同的密钥序列)。用户读取设备显示的数据,将其作为一个一次性密码输入进去。接收端的计算机执行算法产生适合于当前时刻的密码。如果用户的密码与远程计算得出的密码相符,则该用户就能通过鉴别。由于设备之间可能会出现偏差(如一台设备的时钟比另一台设备的时钟走得稍快一点),所以这些设备还需要使用相应的规则来解决时间的漂移问题。

这种方法有什么优缺点呢?首先,它容易使用,因为杜绝了通过偷听重用密码的可能性。由于它采用了一种强密码生成算法,所以也能避免被欺骗。然而,如果丢失了密码生成器,或者遇到更糟糕的情况,密码生成器落入了一名攻击者的手中,系统就会面临危险。由于仅仅每隔一分钟就会产生一个新密码,所以只有一个很小(一分钟)的脆弱性窗口留给窃听者可以重用一个窃听的密码。

2.质询—响应系统

为了避免丢失和重用问题,一种更好的一次一密方案是使用质询和响应方案。质询和响应设备看起来就像一个简单的计算器。用户首先到设备上进行鉴别(通常使用PIN),远程系统就会发送一个称为“质询”的随机数,用户将其输入到设备中。然后,设备使用另一个数字进行响应,而后用户将其传递给系统。

系统在用户每次使用时都会用一个新的“质询”来提示用户,因此,使用这种设备消除了用户重用一个时间敏感的鉴别符的弱点。没有PIN,响应生成器即使落入其他人的手中也是毫无用处的。然而,用户也必须使用响应生成器来登录,而且设备遭到破坏也会造成用户得不到服务。值得注意的是,这些设备不能排除远程主机是“无赖”的可能性。

3.Digital分布式鉴别

早在20世纪80年代,Digital公司就已经意识到需要在一个计算系统中鉴别除人之外的其他实体。例如,一个进程接收了一个用户查询,然后重构它的格式或者进行限制,最后提交给一个数据库管理器。数据库管理器和查询处理器都希望能确保它们之间的通信信道是可信任的。这些服务器既不在人的直接控制下运行,也没有人对其进行监控(尽管每一个进程都是由人来启动的)。因此,适用于人的访问控制用在这里是不合适的。

Digital公司为这种需求建立了一种简单的结构,能有效防范以下威胁:

●一个“无赖”进程假冒其中一台服务器,因为两台服务器都涉及鉴别。

●窃听或者修改服务器之间交换的数据。

●重放一个以前的鉴别。

在这种结构中,假设每一台服务器都有自己的私有密钥,而且需要建立一个鉴别信道的进程可以获得相应的公钥或已持有该公钥。为了在服务器A和服务器B之间开始一次鉴别通信,服务器A向服务器B发送了一个经过服务器B的公钥加密的请求。服务器B将该请求解密,并使用一条经过服务器A的公钥加密的消息作为响应。为了避免重放,服务器A和服务器B可以附加一个随机数到加密的消息中。

只要服务器A和服务器B的任一方选择一个加密密钥(用于保密密钥算法),并在鉴别消息中将密钥发送给对方,就可以由此建立起一个私有信道。一旦鉴别完成,所有基于该保密密钥的通信都可以认为是安全的。为了保证信道的保密性,Gasser推荐了一种分离的加密处理器(如智能卡),可以使私钥永远不会暴露在处理器之外。

这种鉴别机制在实现的时候仍然需要解决两个难题:怎样才能发布大量的公钥?这些公钥怎样发布才能确保安全地将一个进程与该密钥进行绑定?Digital公司意识到需要一台密钥服务器(也许有若干个类似的服务器)来分发密钥。第二个难题采用证书和证明等级来解决。

协议的其余部分在某种程度上本身就暗示了这两种设计结果。另外一种不同的方法是由Kerberos提出的,接下来对其进行介绍。

4.Kerberos

Kerberos是一个系统,支持在分布式系统中实现鉴别。在最初设计时,采用的是保密密钥加密的工作方式。在最近的版本中,使用公钥技术支持密钥交换。Kerberos系统是由麻省理工学院设计出来的。

Kerberos用于智能进程之间的鉴别,如客户端对服务器或者用户工作站对其他主机的鉴别。Kerberos的思想基础是:中心服务器提供一种称为票据(Ticket)的已鉴别令牌,向应用软件提出请求。其中,票据是一种不能伪造、不能重放和鉴别的对象。也就是说,它是一种用户可以获得的用于命名一个用户或者一种服务的加密数据结构,其中也包含一个时间值和一些控制信息。

Kerberos通过仔细地设计来抵御分布式环境中的各种攻击:

●网络中的无密码通信。

●加密保护可以防止欺骗。(www.xing528.com)

●有限的有效期

●时间戳阻止重放攻击。

●相互鉴别。

Kerberos不是解决分布式系统安全问题的完美答案,存在着以下问题:

●Kerberos要求一台可信任的票据授权服务器连续可用。

●服务器的真实性要求在票据授权服务器与每一台服务器之间保持一种信任关系。

●Kerberos要求实时传输。

●一个被暗中破坏的工作站可以存储用户密码并在稍后重放该密码。

●密码猜测仍能奏效。

●Kerberos不具有可伸缩性。

●Kerberos是一整套解决方案,不能与其他方案结合使用。

5.WEP协议

802.11无线标准依赖的加密协议称为有线等效保密(Wired Equivalent Privacy,WEP)协议。WEP协议提供的用户保密性等效于有线专用的保密性,可防止偷听和假冒攻击。WEP协议在客户端与无线访问点间使用共享密钥。为了鉴别用户,无线访问点发送一个随机的数字给客户端,客户端使用共享密钥加密,再返回给无线访问点。从这时起,客户端与无线访问点已被鉴别,可以使用共享密钥进行通信。

WEP协议标准使用64位或128位密钥。用户以任何方便的方式输入密钥,通常是十六进制数字,或可转换为数字的包含文字和数字的字符串。输入十六进制数的64位或128位数字要求客户端和访问点选择并正确地输入16个或32个符号。常见的十六进制字符串如C0DE C0DE…(C和D之间是数字0)。在字典攻击面前,密码是脆弱的。

即使密钥是强壮的,在算法中的使用方式还是决定了密钥的有效长度只有40位或104位。对于40位密钥,“暴力”攻击会很快成功。甚至对于104位密钥,RC4算法中的缺陷及其使用方式也将导致WEP协议安全失效。以WEPCrack和AirSnort开始,有几个工具帮助攻击者通常能在几分钟内破解WEP协议加密。

基于上述原因,2001年,IEEE开始对无线设备设计一个新鉴别和加密方案。遗憾的是,一些仍然在市场上流通的无线设备仍在使用WEP的假安全。

6.WPA和WPA2

替代WEP的一项安全技术是2003年通过的WiFi保护访问(WiFi Protected Access,WPA)。2004年通过了WPA2,它是IEEE标准802.1li,是WPA的扩展版。WPA是如何改进WEP的呢?

首先,直到用户在客户端和无线访问点输入新的密钥之前,WEP使用的密钥是不能改变的。因为一个固定的密钥给攻击者提供了大量的密文来进行尝试,并有充足的时间来分析它,所以,加密学家“讨厌”不改变密钥。WPA有一种密钥改变方法,称为暂时密钥集成程序(Temporal Key Integrity Program,TKIP),使用TKIP可针对每个包自动改变密钥。

其次,尽管不安全,WEP仍然使用密钥作为鉴别器。WPA使用可扩展鉴别协议(Extensible Authentication Protocol,EAP),在这种协议中,密码、令牌、数字证书或其他机制均可用于鉴别。对小型网络(家用网络)用户,可能仍然共享密钥,这还是不理想。用户易于选择弱密钥,如短数字或密码而遭受字典攻击。

WEP协议的加密算法是RC4,这种算法在密钥长度和设计上有加密缺陷。在WEP协议中,针对RC4算法,初始化向量只有24位,太短,以至于经常发生碰撞;此外,不经检查就重用初始化向量。WPA2增加AES作为可能使用的加密算法(基于兼容性考虑,仍然支持RC4)。

WEP协议包含与数据分开的32位完整性检查。但因为WEP协议加密易于遭受密码分析破译法攻击,完整性检查也将遭受攻击,这样,攻击者可能修改内容和相应的检查数据,而不需要知道关联的密钥。WPA包括64位加密的完整性检查。

WPA和WPA2建立的协议比WEP的更健壮。WPA协议的建立涉及3个步骤:鉴别、4次握手(确保客户端可生成加密密钥,在通信的两端,为加密与完整性生成并安装密钥)和可选的组密钥握手(针对组播通信)。WPA和WPA2解决了WEP协议存在的安全性问题。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈