|
知识路径: > 安全性 > 通信和网络安全 > 计算机网络安全 >
|
相关知识点:17个
|
|
|
|
单点登录(Single Sign-On, SSO)技术是通过用户的一次性认证登录,即可获得需要访问系统和应用软件的授权,在此条件下,管理员不需要修改或干涉用户登录就能方便地实现希望得到的安全控制。
|
|
|
|
Kerberos v5是业界的标准网络身份认证协议,该协议的基础是基于信任第三方,它提供了在开放型网络中进行身份认证的方法,认证实体可以是用户也可以是用户服务。这种认证不依赖宿主机的操作系统或主机的IP地址,不需要保证网络上所有主机的物理安全性,并且假定数据包在传输中可被随机窃取和篡改。
|
|
|
Kerberos的安全机制在于首先对发出请求的用户进行身份验证,确认其是否是合法的用户;如是合法的用户,再审核该用户是否有权对他所请求的服务或主机进行访问。从加密算法上来讲,其验证是建立在对称加密的基础上的。密钥分配中心(Key Distribution Cernter, KDC)保存与所有密钥持有者通信的保密密钥,其认证过程颇为复杂,下面简化叙述之。
|
|
|
首先客户(C)向KDC发送初始票据TGT(Ticket Granting Ticket,票据授予票据),申请访问服务器(S)的许可证。KDC确认合法客户后,临时生成一个C与S通信时用的保密密钥Kcs,并用C的密钥Kc加密Kcs后传给C,并附上用S的密钥Ks加密的“访问S的许可证Ts,内含Kcs”。当C收到上述两信件后,用他的Kc解密获得Kcs,而把Ts原封不动地传给S,并附上用Kcs加密的客户身份和时间。当S收到这两信件后,先用他的Ks解密Ts获得其中的Kcs,然后用Kcs解密获得客户身份和时间,告之客户成功。之后C和S用Kcs加密通信信息。
|
|
|
Kerberos系统在分布式计算环境中得到了广泛的应用,因为它具有以下的特点:
|
|
|
(1)安全性高。Kerberos系统对用户的口令进行加密后作为用户的私钥,从而避免了用户的口令在网络上显示传输,使得窃听者难以在网络上取得相应的口令信息。
|
|
|
(2)透明性高。用户在使用过程中,仅在登录时要求输入口令,与平常的操作完全一样,Kerberos的存在对于合法用户来说是透明的。
|
|
|
(3)可扩展性好。Kerberos为每一个服务提供认证,确保应用的安全。
|
|
|
Kerberos有其优点,同时也有其缺点,主要是:
|
|
|
(1)Kerberos服务器与用户共享的秘密是用户的口令字,服务器在回应时不验证用户的真实性,假设只有合法用户拥有口令字。如攻击者记录申请回答报文,就易形成代码本攻击。
|
|
|
(2)AS和TGS是集中式管理,容易形成瓶颈,系统的性能和安全也严重依赖于AS和TGS的性能和安全。在AS和TGS前应该有访问控制,以增强AS和TGS的安全;
|
|
|
(3)随用户数增加,密钥管理较复杂。Kerberos拥有每个用户的口令字的散列值,AS与TGS负责用户间通信密钥的分配。当N个用户想同时通信时,仍需要N×(N-1)/2个密钥。
|
|
|
(4)Kerberos不能保护一台计算机或者服务的可用性。
|
|
|
(5)KDC是一个单一故障点。如果KDC出错,那么没有人能够访问所需的资源。KDC必须能够以实时的方式处理大量请求。
|
|
|
(6)密钥要暂时性的存放在用户的工作站上,这意味着入侵者有可能获得这个密钥。会话密钥被解密然后驻留在用户的服务器或者密码列表的缓存中,入侵者同样可以获取这个密钥。Kerberos对于密码猜测非常脆弱。KDC不能发现一个正在发生字典式攻击。
|
|
|
(7)如果没有应用加密功能,Kerberos不能保护网络流量。
|
|
|
(8)当用户改变密码时,Kerberos就改变了密钥,KDC用户数据库需要进行更新。
|
|
|
|
通过原始认证进入系统外壳,然后外壳就会激发各种专用平台的脚本来激活目标平台的账号以及资源的访问。这种方式简化了用户的登录,但没有提供同步的口令字以及其他管理方法。
|
|
|
另外,单点登录的实施也可以采用通用安全服务应用程序接口和分布式计算环境。一个理想的SSO产品应该具备以下的特征和功能。
|
|
|
|
(2)终端用户管理灵活性:包括通常的账号创建、口令管理和用户识别。口令管理包括口令维护、历史记录以及文法规则等。支持各种类型的令牌设备、生物学设备。
|
|
|
(3)应用管理灵活性:若多个会话同时与一个公共主体相关,设备场景管理能保证若其中一个会话发生改变,其他相关会话自动更新;应用监控能监控特定信息的使用;应用融合可将各种应用绑定在一起来保证应用的一致性。
|
|
|
(4)移动用户管理:保证用户在不同的地点对信息资源进行访问。
|
|
|
(5)加密和认证:加密保证信息在终端用户和安全服务器之间传输时的安全性;认证保证用户的真实性。
|
|
|
(6)访问控制:保证只有用户被授权访问的应用可以提供给用户。
|
|
|
(7)可靠性和性能:包括SSO和其他访问控制程序之间的接口的可靠性和性能以及接口的复杂度等。
|
|
|