单点登录协议OpenID的安全性分析及改进
OpenID是一个开放的、基于URI/URL、以用户为中心的数字身份标识框架,用以减轻用户注册和管理账户的负担,为用户提供安全便捷的单点登录功能,是一种很有应用前景的互联网数字身份标识管理和认证通用解决方案.本文详细介绍了OpenID协议的认证流程,对当前这一协议所面临的安全问题进行了分析并给出了相应的应对措施. 对于OpenID协议中存在的漏洞,可以从以下几个方面进行防护。第一,在OpenID协议执行的过程中全程使用SSL协议对通信过程进行保护,包括用户与用户代理之间。使用SSL协议需要验证由信任机构签署的证书,一旦证明证书有效,将不能再被篡改。模拟一个SSL服务器需要伪造或窃取一个证书,卖施难度比直接在网络上攻击更为困难。RP使用有公信机构发出证书的SSL来获取用户信息,如果SSL没有在这些终端上正确的使用,SSL可以选择终止或者在开始阶段就拒绝该传输。第二,IdP在收到大量的、来源于同一RP的连接请求、认证请求或签名验证请求时,如果请求数量已经占据了IdP的大部分计算容量甚至全部计算容量时,IdP可以简单的通过提供基于IP的连接限制或拦截技术来减轻恶意RP对IdP资源的消耗。第三,OpenID协议中缺乏消息发送者和消息的联系,导致RP提供资源或信息时不能保证提供给原始的请求发送者。根据这一点,可以加强消息与发送者的联系,以防卫可能出现的假冒。用户向RP发起请求时,请求的数据中应该包含用RP密钥加密的用户身份信息,而且该信息在随后的协议传输过程中一直存在于消息之中。如果消息传送过程中被攻击者篡改,RP可以通过检验该加密信息以验证用户的身份。
计算机网络 单点登录 OpenID协议 安全性
刘俊良 姬东耀
中国科学院数据与通信保护研究教育中心,北京100093
国内会议
成都
中文
42-45
2015-11-06(万方平台首次上网日期,不代表论文的发表时间)