论文部分内容阅读
联盟环境是由不同的相互信任的域共同构成的资源共享平台。在联盟环境中,每个域都设置有认证服务器,一方面对本域资源的安全访问进行管理,另一方面为用户提供认证服务。由于联盟环境中的用户经常会漫游到不同的信任域中访问资源,而目前通过产生临时凭证实现跨域身份认证的方法还存在着跨域能力弱、认证负载不均衡、Cookie的安全隐患、联盟域内口令猜测攻击、联盟域内重放攻击等方面的安全漏洞,因此,跨域认证和域内用户认证的安全管理成为目前亟待解决的问题。本文针对上述问题展开研究,主要包括:1)首先,在联盟环境下对域内身份认证和跨域身份认证过程进行安全性分析,以Kerberos为实例通过模拟攻击过程进行安全性验证,结果表明,当用户频繁访问跨域资源时,临时凭证的产生、交换、跨域、验证的过程被频繁调用,导致跨域效率降低,域间负载不均衡。传统的认证服务器本身的认证机制不具有跨域性,需要借助额外的Servlet进行跨域操作,通过协作完成复杂的认证操作和令牌发放过程,从而增加认证服务器负载和安全风险,例如,Cookie的明文存放给用户信息造成安全隐患,将用户口令用对称密钥进行加密的方法极易遭受口令猜测攻击,用对称密钥加密票据也存在被破解的可能,在时钟不同步的情况下,服务票据Tickets还存在重放攻击的威胁。2)针对联盟环境下的跨域身份认证,提出基于统一公钥加密的多代理认证机制和基于主动式令牌群发机制的跨域联盟身份认证模型。首先,采用统一公钥加密的多代理认证机制,在每个域的认证服务器中加入一个被分配了相同公私钥的Agent代理服务,负责域内Cookie、跨域Cookie的写入操作和跨域令牌的生成,并利用统一公钥进行信息加密传输,该方法一方面可以有效防止Cookie和令牌伪造,另一方面可以提高跨域访问效率;其次,在Agent代理服务中采用令牌群发机制,将原先认证模型的被动请求的方式转换为主动发放的形式,只要用户进行了登录操作,即将令牌发放给各个联盟域的认证服务器,该方法能够有效提高用户的跨域能力,极大缩短跨域操作时间,在跨域操作较多的联盟系统中,具有更高的应用价值。3)针对联盟环境下域内身份认证,对传统的Kerberos认证协议进行改进,提出基于动态口令和“一次一公钥”的Kerberos域内身份认证模型。首先,在域内处理跨域信息方面,利用多代理认证机制解决认证服务器不能跨域的问题,利用缓存机制管理认证票据信息,使已登录用户通过快速通道完成认证操作;其次,在域内用户认证方面,利用Diffie-Hellman的密码体制和动态口令方式解决口令猜测攻击的安全问题,同时采用一次一公钥的方法和基于ElGamal密码体制的公钥加密方法保证服务票据的安全,防止重放攻击的发生。4)对联盟环境下的跨域身份认证模型和域内身份认证模型进行实验分析。首先针对Kerberos域内身份认证进行安全检测,在口令传输阶段,通过对比改进前后的用户口令加密方法可知,利用动态口令的方法更能保证用户信息的安全;在服务票据传输阶段,对认证过程中的第五步数据传输进行监听,在拷贝数据包后进行重放攻击,通过对比改进前后的服务器应答结果可知,采用“一次一公钥”的方法能够更好的抵御重放攻击。其次针对跨域联盟身份认证过程进行安全检测,在用户完成跨域操作后,通过对比改进前后的跨域传输时间可知,基于令牌推送机制的跨域认证模型具有较好的认证效率;通过对比控制台中认证服务器的操作可知,改进后的认证模型负载均衡,不会发生单点崩溃;在Cookie的安全方面,模拟黑客伪造Cookie的攻击过程,通过对比服务器的应答情况可知,改进后的认证模型具有更高的安全性。