动态信息基础设施下统一身份鉴别技术

2015-06-24 13:56马进胜
中国电子科学研究院学报 2015年6期
关键词:跨域公钥单点

马进胜

基础理论

动态信息基础设施下统一身份鉴别技术

马进胜

(中国电子科学研究院,北京 100041)

对传统基于安全断言标记语言的单点登录机制进行了改进,结合组合公钥体制建立了统一身份鉴别机制,实现同一安全域内用户对多个应用系统的单点登录。在此基础上,通过在各安全域的统一身份鉴别服务器间通过可信链路共享组合公钥系统的公钥矩阵参数,构建了跨安全域的统一身份鉴别模型,实现用户在不同安全域之间的单点登录,适应动态信息基础设施随需伸缩的特点,同时能够保证身份鉴别过程的安全性和可靠性。

动态信息基础设施;统一身份鉴别;组合公钥体制;安全断言标记语言

0 引 言

信息基础设施是通信基础设施、计算机基础设施及其提供的公用服务与通用软件、公共信息资源、信息安全保障与网络运行管理等构成的信息支撑和保障平台。为了支持各种异构资源的整合和集成,支持应用的快速开发和部署,支持资源的按需共享和协同,信息基础设施应能够柔性组合、随需适变、按需服务,根据需要快速扩展、收缩和重新部署,以适应业务的动态变化。

身份鉴别是实施访问控制的基础,是确认信任的重要手段。在信息基础设施动态变化情况下,高效、准确、适应柔性重组环境的身份鉴别技术是实现请求者单点登录系统、按需访问资源的基础。

Kerberos[1,2]协议使用对称密钥进行加密,随着终端实体数增加,其密钥管理将变得异常复杂,难以适用于大规模的网络,而且需要服务器保持在线运行,无法满足动态环境使用要求。公钥基础设施(Public Key Infrastructure,PKI)证书管理机构复杂,运行效率低,且需要保持认证机构在线运行[3]。基于IBE(Identity-Based Encryption)的身份鉴别[4]以密钥中心(Private Key Generator,PKG)为核心,无需靠第三方证明的层次化的CA机构链,但需保留大量终端实体参数,需要参数库的在线支持,处理能力有限[4,5]。

安全断言标记语言(Security Assertion Markup Language,SAML)是用于在不同的安全域之间交换认证和授权信息的安全架构,传统的基于SAML的单点登录方案,由于安全性不足、开放性差、实现复杂,无法直接用于跨域的动态基础设施中的身份鉴别。

1 传统单点登录模式缺陷分析

传统单点登录模式是以单点登录服务为核心的服务模式。终端实体登录单点登录服务后,即可使用所有支持单点登录的服务。

其具体工作流程如下:

(1)终端实体使用在单点登录服务中注册的身份信息登录单点登录服务;

(2)单点登录服务创建一个会话,将与该会话相关的访问鉴别令牌发回终端实体;

(3)终端实体使用该令牌访问某个支持单点登录服务的业务服务;

(4)该业务服务将令牌发送给单点登录服务以其有效性;

(5)单点登录服务确认令牌有效性并返回给业务服务;

(6)业务服务返回授权决策信息给终端实体。

该单点登录模式的缺点分析如下[6]:

首先,难以实现跨域单点登录。许多基于Web的单点登录系统都使用cookie和session作为终端实体令牌,而这些信息在当前DNS域内可用,无法跨域被别的服务器识别。因此,若不对终端实体令牌进行适当调整,该方式不具备跨域实现能力。

其次,安全性有所欠缺。现行的Web安全保证机制,包括SSL(Secure Socket Layer)和IPSec(IPSecurity),都可以保证传输过程中信息的完整性和机密性,但只对点对点的方式有效。由于SOAP消息在传递时可能经过没有信任关系的中间媒体,导致端到端的安全性无法得到保障,即便端点之间的通信链路是安全可信。

最后,实现较复杂。大多数单点登录系统中,当终端实体在站点间切换时,站点间需要进行通信,获取终端实体身份信息以便进行验证。该方式导致登录流程十分复杂,且站点间频繁的信息传输增加了安全风险。

2 跨域统一身份鉴别模型

本文对SAML单点登录方案进行了改进,并采用了组合公钥密码(CPK:Combined Public Key)机制,提出了统一身份鉴别模型,能够适应动态信息基础设施,实现跨域身份鉴别。

2.1组合公钥密码体制

CPK以离散对数难题的数学原理为基础构建公开密钥与私有密钥矩阵,采用散列函数和密码变换将实体的标识直接映射为矩阵的行列坐标序列,通过对矩阵元素进行选取与组合,生成数量庞大的公私钥对,从而实现基于标识的超大规模的密钥生产与分发[7]。

CPK密钥管理体制中密钥生产与管理集中进行,通过注册部(RA)、生产部(PA)和发行部(DA)接受实体的申请,对身份进行核实,生产基于标识的私钥,并向实体静态分发。各实体私钥分散保存,公开密钥矩阵可采用最容易访问的方式存放,供任意实体调用,调用者均可根据密钥矩阵和实体标识生成其公开密钥,用以对专供该实体使用的信息进行加密。

CPK采用种子密钥组合的方法,可生产超大规模的基于标识的密钥,处理规模大;密钥本身直接证明标识真伪,而无需第三方证明,认证直接在终端实体间进行,公钥无需在网络上传递,支持离线认证,占用资源小,运行效率高且维护成本低;同时,CPK体制可提供数据完整性、保密性、抗抵赖服务,为跨域的身份鉴别与访问控制提供了全新的选择。

2.2安全性断言标记语言

SAML基于XML,面向Web服务,用于网络系统间安全信息交换,可使跨域的网络应用实现联邦身份(Identity Federation)。在此环境下,服务提供者无需审核终端实体的身份信息,而依赖于1个或多个终端实体身份提供者提供的断言来完成验证。

基于SAML的单点登录机制通过安全断言在服务提供者间传递终端实体身份信息,终端实体在服务站点间切换时,站点间必须进行安全信息交换,包括SAML断言及助诊文件,并且各站点必须保存和维护全部终端实体的安全信息。这种方式导致以下问题:

(1)实现复杂,每个站点都必须适应性改造,以与其他站点进行信息交换;

(2)服务站点负担较重,终端实体数量的增长将导致所有服务站点存储空间的巨大需求,成本增加,且管理困难;

(3)网络带宽消耗严重,跨域访问的终端实体数量增大时,服务站点间大量信息交换会导致网络拥塞、服务器无法响应;

(4)更重要的是,安全性无法保障,服务站点间频繁地大量交换重要安全信息,致使安全风险变大,而且服务站点存储所有来访的终端实体安全信息,一旦遭受攻击,存在泄漏大量终端实体安全信息的可能。

2.3密钥生成过程

终端实体的密钥生成过程如图1所示。

图1 实体密钥生成过程示意图

具体步骤如下:

(1)终端实体向终端实体标识管理中心发送标识,为了使实体可在不同安全域鉴别,标识采用实体标识与安全域标识组合的形式;

(2)终端实体标识管理中心验证终端实体的身份,检查在域范围内是否唯一,通过后发送给密钥生产中心,否则驳回请求;

(3)密钥生产中心初始化系统,明确生成密钥所用参数,并将其发送到密钥管理中心;

(4)密钥管理中心构建公私钥矩阵,确定终端实体密钥标识,计算实体的私钥,并发送回终端实体标识管理中心;

(5)终端实体标识管理中心保存终端实体私钥,将私钥和公钥矩阵发回终端实体。

2.4域内统一身份鉴别

设置域内业务服务共用的身份鉴别服务器,利用CPK体制对安全域内实体统一进行密钥管理与身份鉴别,基于SAML实现实体安全断言的生成与传递,从而完成实体对多个服务站点的单点登录[8]。为降低网络带宽消耗和业务服务站点负担,安全断言分散保存在各终端实体端,需要访问业务服务时向目标服务器传送,各业务服务之间无需直接通信。

域内单点登录流程如图2所示,图中信息交换通道都应为安全通道:

图2 统一身份鉴别单点登录流程示意图

(1)终端实体未进行身份鉴别,发出对服务1的初始访问请求;

(2)服务1鉴别模块在访问请求中查找SAML断言并进行检查,由于未发现断言,将实体访问重定向到统一身份鉴别服务器;

(3)统一身份鉴别服务器要求实体进行身份认证、完成登录;

(4)终端实体使用相应的安全信息登录,该安全信息经过终端实体私钥签名,并再使用统一身份鉴别服务器的公钥进行加密;

(5)统一身份鉴别服务器使用自己的私钥对其解密,得到经终端实体私钥签名的安全信息以及终端实体标识,基于组合公钥机制通过终端实体标识获取终端实体公钥,并验证数字签名。若验证通过,统一身份鉴别服务器生成终端实体令牌即SAML断言,并使用终端实体公钥进行加密后发回给终端实体,完成实体身份鉴别。否则,返回错误信息,并中断连接;

(6)终端实体向服务1发送收到的SAML断言;

(7)服务1再次检查验证终端实体访问请求中的SAML断言后,根据实体的角色与权限,为其提供相应的服务;

(8)终端实体直接向服务2发出访问请求,或者在访问服务1时,由服务1向服务2请求资源,访问请求中都将附带终端实体的SAML断言;

(9)服务2检查验证该安全断言,并根据访问控制策略,提供相应服务。

从而实现了域内统一身份鉴别,并且降低了安全威胁,提高了可靠性。

2.5跨域统一身份鉴别

为在动态信息基础设施环境下实现实体在整个基础设施内的单点登录,需要为各安全域分别配置独立的统一身份鉴别系统,并在各身份鉴别服务器间共享公钥矩阵,实体能够由其他安全域的身份鉴别系统进行身份鉴别,获得其他安全域的认证,完成跨域的身份鉴别。跨域身份鉴别的机制见图3。

图3 跨域身份鉴别过程示意图

具体过程如下:

(1)终端实体首先通过本域的身份鉴别,取得跨域访问的资格;

(2)实体向目标安全域的应用服务1发出资源访问请求,应用服务1自动将该请求信息(含身份信息)重定向到目标域的统一身份鉴别服务器;

(3)由于实体所在域身份鉴别服务器向目标安全域身份鉴别服务器共享了公钥矩阵,目标安全域身份鉴别系统在本地完成实体身份鉴别;

(4)身份鉴别通过后,由应用服务1授权模块对实体进行授权;

(5)应用服务1根据实体权限为其提供相应的资源;

(6)终端实体访问目标域应用服务2,请求中包含了目标域身份鉴别服务器生成的安全断言;

(7)应用服务2检查验证实体的安全断言,根据其权限提供相应的资源。

通过这种方式,实现了身份鉴别系统能够随着信息基础设施的任意动态伸缩而对终端实体进行实时的身份鉴别,保证终端实体在整个信息基础设施范围内只需登录一次,即可“到处”访问资源。

需要注意的是,各域身份鉴别服务器只应向特定对象共享公钥矩阵,并设置严格的访问控制策略,共享信息传输也必须在安全通道内进行,因此要求各安全域的连接必须安全可信。

3 结 语

动态信息基础设施下的统一身份鉴别模型,通过组合公钥体制,实现了对超大规模实体的密钥管理和身份鉴别;采用SAML机制,提供了轻量级的身份信息安全断言生成和传递能力;设置集中身份鉴别服务器,提供了实体在域内统一身份鉴别、单点登录的能力;在身份鉴别服务器间共享公钥矩阵,确保了实体跨安全域的一致身份鉴别与单点登录机制的实现。

统一身份鉴别模型可降低业务服务负担和网络带宽消耗,提高可靠性;避免身份安全信息的过度存储和交换,提升安全性;增强安全域之间以及安全域内不同服务之间的独立性,提高灵活性。统一身份鉴别模型适用于基础设施动态伸缩变化的情形,克服了传统身份鉴别技术在跨安全域条件下所面临的问题,确保了跨域身份鉴别的安全可靠。

[1] B.C.Neuman,Ts'o Theodore.Kerberos,An Authentication Service for Computer Networks[J].IEEE Communications,1994,32(9):33-38.

[2] L.Zhu,K.Jaganathan,S.Hartman.The Kerberos Version 5 Generic Security Service Application Program Interface(GSS-API)Mechanism:Version 2[S],RFC 4121,2005

[3] R.Housley,W.Ford,W.Polk,et al.Internet X.509 Public Key Infrastructure Certificate and CRL Profile,RFC2425[S].1999.

[4] Shamir A..Identity-based cryptosystems and signature schemes[A].Advances in Cryptology-Proceedings of CRYPTO’84[C].Newyork:Springer-Verlag,1985:47-53.

[5] D.Boneh,M.Franklin.Identity-Based encryption from the Weil pairing.Advances in Cryptology CRYPTO'2001.Berlin,Heidelberg:Springer-Verlag,2001:213-229.

[6] 张慧,李建华,马华.一种基于SAML的Web单点登录模型的研究与实现[J].计算机系统应用,2008,7:49-52.

[7] 南湘浩.CPK组合公钥体制(v8.0)[J].信息安全与通信保密,2013,3:39-41,44.

[8] 付佳.基于SAML和CPK的统一身份鉴别技术研究

[D].成都:四川大学硕士论文,2006.

Unified Identity Authentication Technology Under Dynamic Information Infrastructure

MA Jin-sheng
(China Academy of Electronic Information Technology,Beijing 100041)

A unified identity authentication model is constructed by improving the traditional single sign on mechanism based on a cross domain by introducing combined public key.Through setting up centralized identity authentication server in each domain and sharing the public key matrix,the cross-domain unified identity authentication is realized to comply with flexible reorganization of the information infrastructure and to ensure the security and performance of identity authentication.

dynamic information infrastructure;unified identity authentication;combined public key;security assertion markup language

TP 309

:A

:1673-5692(2015)06-563-04

10.3969/j.issn.1673-5692.2015.06.001

2015-10-30

2015-11-20

武器装备预先研究项目(51306020301)。

马进胜(1972—),男,山西文水人,博士,高级工程师,主要研究方向为网络信息安全;

E-mail:ma-j-s@sina.com

猜你喜欢
跨域公钥单点
基于多标签协同学习的跨域行人重识别
为群众办实事,崂山区打出“跨域通办”组合拳
混合跨域神经网络的草图检索算法
案例教学法在公钥密码体制难点教学中的应用——以ssh服务中双向认证为例
G-SRv6 Policy在跨域端到端组网中的应用
历元间载波相位差分的GPS/BDS精密单点测速算法
神奇的公钥密码
国密SM2密码算法的C语言实现
P2X7 receptor antagonism in amyotrophic lateral sclerosis
数字电视地面传输用单频网与单点发射的效果比较