Kerberos 和PKI 两大域,本文保持原有的PKI 域的认证机制,重点将分析二级信任域中 Kerberos 域如何完成对PKI 域实体的认证,以及三级信任域中Kerberos 域与Kerberos 域间 不同实体的认证,最后对Kerberos 协议进行安全性分析,提出改进方案。 140 2.2.1 一级信任域 一级信任域中Root CA 为二级信任域中次根级CA 提供其公钥和票据,它存储了二级根 的证书,这也是最基础、最关键的部分。它具有两大主要功能:一是私钥与票据的管理和保 存;二是如何实现证书对票据的转换,完成Kerberos 域对PKI 域的认证。 由于一级信任域采用的模型类似于集中式层次CA 模型,而集中式模型不适用于网格环 145 境的一个重要原因是海量的动态用户和数据传输会给Root CA 带来过大的计算量,从而影 响认证的效率。针对此缺陷,本文将一级域下层的二级域设为Kerberos 信任域和PKI 信任 域,其重要的原因是为了减轻Root CA 的工作量。在该模型中,Root CA 只需完成域间认证 的一半过程,即只需完成Kerberos 协议域对X.509 证书域的认证,即PKI 域中的用户访问 Kerberos 域中的资源,而其反过程则由二级信任域来完成,这就为模型的可行性提供了计算 150 方面的保证。 一级信任域主要负责二层域中Root K 和Root P 两个次根级节点的认证,在该域CA 认 证中心采用基于KX.509 方案的认证方案,同时本文模型在KDC 中增加XCA(X.509 Certificate Authority),其作用是提取X.509 证书信息,转换为Kerberos 票据所需的信息,然 后提交给TGS,由TGS 来签发成票据,从而进行认证,其过程如下图所示。一级域中CA 155 需要保存访问过服务的PKI 用户的票据,在票据有效期内,已申请过服务的用户可以从CA 中寻找对应的票据信息,而不需要再次由认证中心生成票据。这样的方式提高了认证的效率, 但同时也增加了CA 中数据库存储和更新的计算量。 图2 PKI 域中用户访问Kerberos 域资源 160 Fig.2 The user from PKI layer visit the source of Kerberos layer XCA 可以要完成两个任务:一是可以提取X.509 的证书信息给TGS,;二是可以与TGS 结合,直接与交叉的PKI 域间的CA 进行认证。域内的用户共享TGS 的公钥,而其私钥由 自己保存。在同一域内,用户和TGS 通过公钥证书的认证来建立信任关系,同时,也可以 165 通过公钥证书来与PKI 域间建立信任关系。PKI 中用户User2 要访问Kerberos 域中资源的主 要过程为:User2 将访问请求上溯到二级域中的Root P,Root P 将User2 的身份标识以及访 问的目标服务器等信息提交到CA 中,CA 首先查看数据库中是否保存有User2 的票据信息, 如果有,则直接与Root K 进行交互,如果没有,则按照图中的步骤,利用XCA 来提取User2 的证书信息,并由TGS 最终生成该用户的票据信息。 170 该域中对Root CA 的要求很高,其中,私钥和票据的管理制约着整个模型的安全性能, 一旦受到攻击或被泄露,对模型的安全性会带来巨大的灾难。在网格环境下并不是所以服务 都涉及域间的转换,因此,Root CA 也没有必要总是处于在线连接状态,将Root CA 在多数 时间设置为离线状态既是节约资源的一种方法,更是对私钥保护的一种方法。 2.2.2 二级信任域 本文的认证模型中,二级信任域分为两个175 CA,Kerberos 协议组CA(Root K)和PKI 证书 组CA(Root P),Root K 和Root P 的任务为:分别作为Kerberos 域内和PKI 域内的Root CA, 接收下层域内的服务请求;完成PKI 域的服务对Kerberos 域用户的认证。 PKI 域的服务对Kerberos 域用户的认证是指Kerberos 域中用户申请访问PKI 域中的资 源时进行的认证。其认证的主要过程为[10]: 180 (1) 用户首先查看本地服务器是否缓存有已转换的X.509 证书,如果有则进行下一步; 如果没有,则向TGS 发送身份认证请求,先获得访问KCA 的票据,然后由KCA 通过验证 用户身份之后,KCA 签发X.509 证书。 (2) Kerberos 域中通过X.509 证书域PKI 域中CA 通过公钥证书建立信任关系,PKI 域 通过对接收证书的验证,然后为验证成功的用户签发访问PKI 域内资源的证书。 185 (3) 用户在得到访问PKI 域内资源的证书后,通过该证书向目的资源发送访问请求,同 时将此证书存放在本地缓存中;PKI 域内资源对证书的有效性进行验证,验证成功后,为用 户建立一条有效的从PKI 域内CA 到用户TGS 的证书路径,路径建立之后用户即可以访问 PKI 域中的资源了。需要说明的是,用户在该过程中所获得的证书时临时的,不需要撤销, 也就是说,只要在证书的有效期内,用户就可以一直使用此证书来申请PKI 域中的资源, 190 这在一定程度上减少了网格环境下服务请求的工作量。 2.2.3 三级信任域 三级信任域包含了海量的用户终端和数据终端,它在二级域的划分规则下形成多层次的 CA 认证结构,其中Kerberos 域和PKI 域分别进行管理,也就是说三级信任域中只完成相同 策略方式之间的实体认证,如果想要访问不同策略域内的资源,则用户终端需要先于该域中 195 的Root 进行交互,从而将此任务设定在二级域内完成。 其中,Kerberos 域内使用Kerberos V5 协议,它可以提供支持跨域认证的功能,通过建 立多个域间的信任关系,然后支持跨域认证,这种信任关系可以分为直接信任和间接信任两 种。 直接信任关系中两个域的信任关系通过域间KDC 之间共享密钥来实现互相信任,不同 200 域内KDC 共享的密钥叫做跨域密钥,本地KDC 作为远程KDC 的一个用户来进行添加。间 接信任关系反映的是信任的传递性,比如域A 和域B 互相信任,域A 和域C 互相信任,那 么可以得出域B 和域C 也具有信任关系,此时不需要为域B 和域C 来建立直接信任关系, 而是通过可传递的信任关系来建立跨域的信任途径。 本模型中,Kerberos 域内认证是指Kerberos 域中的用户a 访问另一个Kerberos 域中的 205 资源的过程。其过程为: (1) 用户首先需要从本地KDC 获得授权的票据,因此先查看本地服务器中是否保存有 访问TGSa 的票据,如果有继续下一步,如果没有,则用户a 需要先将用户身份标识等信息 提交给AS 进行认证,在获得AS 的身份认证后,AS 将访问TGS 的票据发送给用户。 (2) 用户a 在取得访问TGSa 的票据之后将票据提交给TGSa,并发送访问远程资源的票 210 据申请;用户所在域的TGSa 验证票据的有效性,然后定位访问资源所在域的TGSn,将包 含了用户和自身TGSa 信息以及要访问的资源名称的信息经过签名加密发送给远程的 TGSn;远程TGSn 验证所接收的信息,解压得到用户a 身份标识和其域内TGSa 信息,然后 查看本地服务器是否缓存有TGSn 的证书路径,如果有则进行下一步,如果没有,则重新构 建出一条从TGSn 到TGSa 的证书路径,该路径由各自的公钥证书建立信任关系,同时TGSn 215 为TGSa 签发一个访问资源服务器的票据。 (3) TGSa 和TGSn 之间建立信任关系之后,用户a 即可以获得允许访问资源服务器的票 据,通过将此票据及用户身份标识等信息提交给资源服务器申请服务,资源服务器对其身份 和票据的有效性进行验证,验证成功后即可提供用户所申请的服务[11]。 在Kerberos 跨域认证的过程中,用户与目标KDC 之间若存在直接信任关系,则会减少 220 认证的计算量;若没有直接关系,也可以根据已有的信任关系来匹配一条可信任的路径,在 此过程中,路径中的KDC 为用户签发访问下一个KDC 的票据,同时生成与之相交互的共 享密钥,用户获得该共享密钥和票据后即建立了信任关系。 三级信任域中PKI 域内用户间的PKI 机制和认证主要过程为: (1) 终端用户向RA(Registration Authoity,注册中心)发送申请服务的请求,将用户标识 225 和密钥对信息等向RA 提交。 (2) RA 首先验证用户提交的信息,验证用户的身份是否合法,验证成功后,再将服务请 求发送给CA 认证中心。 (3) CA 接收请求后,完成两个步骤:一是为可信任的用户签发X.509 证书;二是将证书 发布、更新或撤销等的操作通知给证书及CRL 库,及时更新证书信息。 230 (4) 得到证书的终端用户通过证书及CRL 库查询并得到证书更新和作废等消息。 (5) 终端用户将取得的证书、要访问的目的资源等信息提交给桥CA,桥CA 读取用户 提交的信息,并与目的资源域的根CA 进行交互,为终端用户和目的资源之间建立可到达的 证书路径,通过验证以后,用户端和资源提供端就可以进行交互。 3 对改进模型的分析 235 新的认证模型在KX.509 的基础上通过设定双层域来进行改进,具有以下特点: (1) 由于用户需要先访问TGS 后访问KCA,这样的顺序决定了将Kerberos 票据转化为 X.509 证书是简单的,改进的模型在PKI 域用户访问Kerberos 域资源时,将此工作交给上级 信任域来完成,通过新增的XCA,将PKI 域中的用户证书转换为相应的票据,并为其存储 票据,方便用户下次申请资源时使用。 240 (2) 用户域分为不同的级别,不同级别有不同的认证策略。当有新的用户动态加入时, 可以根据所属的认证方式来方便的进行定位,为其选择合适的路径加入到模型中。同时,若 有用户动态退出时,也可以方便的释放资源。这都是因为该模型建立了一个逻辑清晰的路径 分配方法。并且,由于整体模型分为了三个层次,每个层次可以独立的完成其相应的认证服 务,比如同一Kerberos 域或PKI 域内的用户间认证,只需涉及本层很少的资源,而不需要 245 涉及策略模式的转换,这种方式减少了网格计算中认证过程的计算量,为高效率的服务提供 了基础保证。 (3) 在该模型三级信任域中,同时涉及了PKI 机制和Kerberos 机制,这两种机制各有优 势,而存在的缺点也可以通过另一方来互补。总的来说,这两种机制都支持双向认证,适用 于网格环境,Kerberos 机制采用对称密钥体制,与PKI 机制的非对称密钥体制相比计算量比 250 较小,但要存储更多的密钥;Kerberos 机制中票据的有效期比较短,PKI 机制的证书往往有 较长的有效期,同时也增加了对证书管理的工作。本文的模型没有单纯的选择一种认证机制, 而是通过寻找两者之间新的相互认证机制来将两者兼容在网格环境中,这为模型的实现提供 了物理可行性。 4 结论 255 传统网络安全认证技术发展比较成熟,应用最广泛的是Kerberos 认证机制和基于X.509 学术论文网Tag:代写硕士论文 计算机论文 代发论文 职称论文发表 |