2.4.2 身份认证系统

2.4.2 身份认证系统

在实际的系统中,有多种不同类型和适用于不同场景的身份认证系统。下面介绍几种有代表性的身份认证系统。

1.Kerberos认证系统

当一群用户在使用相互独立的计算机,而计算机之间没有网络连接时,与每个用户相关的资源都是可以通过物理方式来保护的。例如,操作系统可以使用基于用户身份的操作控制策略,通过鉴别客户的合法身份来允许用户使用操作系统。然而,当许多计算机工作站和分散的服务器通过网络连接起来组成一个分布式体系结构时,需要更复杂的安全认证方案来支撑。

(1)Kerberos简介

Kerberos协议是20世纪80年代由MIT组织开发的一个公开源代码的网络认证协议,它是一种采用第三方作为认证中心的认证协议。Kerberos的命名来源于古希腊神话中地狱之门守护者——长有3个头的狗Cerberus。MIT开发的认证系统由服务方、被服务方以及第三方认证中心3部分组成,因而被贴切地命名为Kerberos。目前Kerberos已被开放软件基金会(OSF)的分布式计算环境(DCE)以及其他许多网络操作系统的供应商采用。

Kerberos是一种网络认证协议,基于对称密码算法实现,密码设计基于Needham-Schroeder协议。该协议的基本思想是使用可信的第三方把某个用户引见给某个服务器,引见方法是在用户和服务器间分发会话密钥,建立安全信道。其设计目标是通过密钥系统为客户端、服务器应用程序提供强大的认证服务。该认证过程的实现依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传输的数据包可以被任意地读取、修改和插入数据。Kerberos认证协议假定网络中的主机是不可信的,要求每个用户对每次业务请求证明其身份,不要求用户每次业务请求都输入密码。Kerberos系统应用广泛,比如构造Windows网络中的身份认证,服务器和服务器之间的认证。

Kerberos认证系统主要由以下3个部分组成。

①密钥分发中心。KDC服务器有两个部件:Kerberos认证服务器(AS,Authentication Server)和一个票据授权服务器(TGS,Ticket Granting Server)。AS和TGS是两个独立的结构,在实际的部署过程中,可以是一个AS和多个TGS共同存在。

②客户端(Client):需要向Server请求服务的被服务方。

③服务器端(Server):向授权客户提供服务的服务方。

(2)Kerberos身份证明资源

1)Tickets(票据)

每个业务请求需要一个Ticket,一个Ticket只能用于单个用户访问单个服务器,Ticket由TGS分发,TGS具备所有Server的加密密钥。Tickets对Client是无意义的,Client只是使用它们接入服务器。TGS用服务器的加密密钥加密每个Ticket,加密的Tickets可在网上安全传输,只有对应的服务器可以解密。大量用户每次在申请票据时会浪费资源而且加重TGS的工作负荷,所以每一个Ticket拥有一定范围的生存期,通常为几个小时,这样可以适当地减少系统的负担。

Ticket包含的内容为:Client名,即用户登录名;Server名,即服务器名称;Client主机网络地址;Client和Server之间的会话密钥,用于加密Client和Server间的请求和响应;Ticket的生存期;时间戳,表示发放Ticket的时间。

TGS作为可信第三方,为Client和Server分配密钥,通过TGS来验证用户的身份。用户在访问某服务器时,只凭借Ticket是不能做到的。因为在网络环境中,存在很多的“坏人”,Ticket可能会被窃取或重放,手持Ticket的用户和Ticket中对应的Client名未必一致,为了访问服务器,用户除Ticket之外还需要提交认证符。

2)Authenticators(认证符)

认证符能够证明Client身份,包括Client用户名、Client网络地址和时间戳(访问服务器的时间)。认证符以session key加密(Tickets内的会话密钥)。攻击者可以截取票据,但是无法得知会话密钥,没有办法构造合法的认证符。服务器利用session key获取认证符的网络地址和用户名信息,如果和Tickets中的网络地址和用户名一致,这样就可以确认用户的身份。

(3)Kerberos身份认证流程

Kerberos身份认证的认证过程可分为3个阶段:认证服务器交换(AS Exchange)、票据授权服务器交换(TGS Exchange)以及客户端/服务器交换(C/S Exchange),原理如图2.28所示。

图2.28 Kerberos身份认证流程原理图

在具体介绍认证流程之前,先列出下文所用到的基本名词,见表2.5。

表2.5 Kerberos身份认证中的名词

1)认证服务器交换

KDC中的认证服务器实现对Client身份的确认,并颁发给该Client一个票据授权票据(TGT,Ticket Granting Ticket),具体过程如下。

①Client→AS:KC{IDC||IDTGS}

Client向KDC的AS发送请求,为了确保仅限于自己和KDC知道该请求,Client使用自己的KC对其进行加密(KDC可以通过数据库获得该KC并进行解密)。请求包含Client的基本身份信息IDC以及TGS的基本信息IDTGS等。

②AS→Client:KC{SKC,TGS||IDTGS},TGT

TGT=KTGS{SKC,TGS||IDC||IPC||ETTGT}。验证通过之后,AS将一份回复信息发送给Client,该信息主要包含两个部分:KC加密过的SKC,TGS和被KTGS加密的TGT,其内容包括SKC,TGS、Client信息IDC、IPC以及有效期ETTGT等。

2)票据授权服务器交换

①Client→TGS:{TGT||Authenticator_1}

TGT是前一步骤中AS发送给Client的,此时由Client转发给TGS。Authenticator_1=SKC,TGS{IDC||TS||IDS}用以证明TGT的拥有者的身份,所以它用SKC,TGS加密,SKC,TGS包括Client的ID信息和时间戳(TS)。时间戳的作用是防止黑客截获数据包伪造合法用户(超过时间阈值的数据包无效)。最终,Client把要访问的应用服务器IDS、TGT和Authenticator_1一起加密发送给TGS。

②TGS→Client:SKC,TGS{SKC,S},KS{Ticket}

Ticket=KS{SKC,S||IDC||IPC||ETTicket}。TGS收到Client发来的信息,由于它没有SKC,TGS,故不能对Authenticator_1进行解密,只能先用自己的密钥KTGS对TGT解密,得到SKC,TGS、IDC、IPC、ETTGT,如果ETTicket在有效时间内,则继续进行。TGS使用得到的SKC,TGS对Authenticator_1解密,所得结果与TGT结果比对,IDC相同则通过验证。

此后,TGS会产生Client与应用服务器的会话密钥SKC,S和票据服务Ticket,它们分别被SKC,TGS与KS加密。票据服务的主要内容包括会话密钥SKC,S、用户ID、IP以及Ticket的有效期。TGS会将这两份加密信息同时发送给Client。

3)客户端/服务器交换

①Client→Sever:Ticket,Authenticator_2

Authenticator_2=SKC,S{IDC||TS}。Client收到后,先用SKC,TGS对第一个信息解密,得到SKC,S,再用SKC,S对用户信息和时间戳加密,得到Authenticator_2,连通从TGS收到的Ticket,一并发送给应用服务器。

②Sever→Client:SKC,S{TS+1}

服务器收到Client的信息后,先用自己的KS对Ticket解密,得到SKC,S和相关的客户信息,检验Ticket是否在有效期ETST内。若在有效期内,则用SKC,S对Authenticator_2解密,比较二者的IDC是否一致,一致则通过验证。

通过以上步骤,Server确认Ticket的持有者为合法客户端,二者会使用SKC,S加密通信数据,以此保障数据的安全。

(4)Kerberos认证协议的优缺点

综上所述,与传统的认证协议相比,Kerberos协议具有一系列的优势。首先,它支持双向的身份认证。大部分传统的认证协议基于服务器可信的网络环境,往往是只验证客户,但客户无法验证服务器。而Kerberos则没有这样的前提,正如之前所说,Kerberos协议中只有AS和TGS是可信的,网络的所有工作站、服务器都是不可信的。当用户与服务器进行交互时,Kerberos为其抵挡了网络的恶意攻击和欺骗。其次,Kerberos实现了一次性签放,在有效期内可多次使用。假如用户在一个开放的网络环境中需要访问多个服务器,如查询邮件、打印文件、访问FTP等(都在不同的服务器上),用户可以通过AS申请TGS的票据,之后在有效期内利用该票据与TGS多次请求不同的访问授权票据,降低用户输入口令的次数,从而提高用户的体验。最后,Kerberos提供了分布式网络环境下的域间认证机制,允许客户花费少量的资源即可访问其他子域的服务。这一点传统的认证协议难以实现。

但是,Kerberos协议也存在一些不足和安全隐患。Kerberos身份认证采用的是对称加密机制,加/解密需要相同的密钥,交换密钥时的安全性不能保障。Kerberos协议对时间的要求比较高,必须是在时间基本同步的环境中,如果引入时间同步机制则又需保证同步机制的安全;若时间不同步,攻击者可以通过调节时间来实现重放攻击。在Kerberos中,客户信息和服务器认证信息都集中存放在AS中,使Kerberos的安全严重依赖于AS和TGS的性能和安全。随着用户数量的增加,Kerberos需要维护复杂的密钥管理,这往往比较困难。

(5)多Kerberos域的跨域访问

Kerberos协议支持多个Kerberos域之间的跨域访问。如图2.29所示,域A和域B是以Kerberos协议作为认证机制的两个网络环境,每个域包括一个Kerberos服务器,该服务器维护了该域内所有用户的共享密钥信息和所有服务器的共享密钥信息。这样的域也被称为Kerberos域。Kerberos协议提供多个Kerberos子域之间的跨域访问,前提条件是两个子域的Kerberos服务器应该相互在对方系统上注册,也就是说两个Kerberos服务器应该共享一个通信密钥。

图2.29 Kerberos域的跨域访问

如图2.29所示,当域A中的客户端C希望访问域B的应用服务器S时,A首先向本地的Kerberos服务器申请访问域B的TGS的远程授权票据,获得授权票据后,C向域B的Kerberos服务器发送请求访问S的票据,通过验证后,Kerberos服务器返回访问S的授权票据,最后C可以携带域B的Kerberos服务器签发的票据来访问远程服务器S。任何两个子域之间的访问比单个子域内的访问多两步,性能影响不大。但是这种多域之间跨域访问的方式需要任意两个Kerberos服务器之间相互注册并维护这些通信密钥,其复杂度随着子域数的增长成O(N2)。

2.公钥基础设施(PKI)认证系统

公钥基础设施(PKI,Public Key Infrastructure)是基于公钥密码学算法的安全基础服务设施。在PKI中,由证书认证中心(CA,Certification Authority)签发数字证书,绑定用户的身份信息和公钥。在通信过程中,证书依赖方(Relying Party)获得通信对方的证书链,然后利用自身配置存储的根CA自签名证书来逐一验证证书链中的各张证书,可信地获得通信对方的公钥,从而用于机密性、数据完整性、身份鉴别、非否认等各种安全功能。

1978年,L.Kohnfelder首次提出证书的概念;1988年,第1版X.509标准推出,最新标准为2005年推出的第3版标准;1995年,IETF成立PKIX工作组,将X.509标准用于Internet,2013年IETF PKIX工作组结束工作任务。经过多年的技术研究,PKI技术已经得到了长足的发展和广泛的应用,在全球的信息系统中发挥了重要的安全支撑作用。

(1)PKI认证系统简述

身份认证的目的是要确定对方的身份是否真实或合法。为了达到这一目的,需要建立初始信任。但在网络环境下,建立信任意味着建立一条安全通道(单向的或双向的)。这一任务在公钥密码提出之前非常困难、代价很高。公钥密码提出后,人们可以通过公钥密码来传递秘密密钥,但公钥的真实性又难以保证。为了满足网络环境下陌生人之间安全通信的需求,基于可信第三方的公钥基础设施被提出来,这样,当陌生的A与B想要建立一条安全路径时,可以寻找共同信任的第三方,在可信第三方的帮助下实现A对B所拥有的公钥的鉴别,从而建立从B到A的安全通道。简单地说,公钥基础设施就是让可信第三方对用户的公钥签署证书,只要验证公钥证书的合法性,就可以相信公钥证书中所描述的公钥属主信息。

在通信双方A与B互不信任的情况下,要想使B确信某个公钥的确是A的公钥,必须有一个可信的第三方T向B证明,而T又必须有能力知道该公钥的确属于A,从而可以向B提供真实信息。为了使这种证明可以离线工作,即不必由T亲自向B证明,只要T预先出具一个证明,A向B提供这个证明即可。这种证明就是公钥证书。更确切地说,由一个用户都信任的被称为证书认证中心(CA)的第三方向每一个合法用户的公钥签署一个证书,该证书包含用户身份信息(如IP地址)、用户公钥信息、证书的签发时间和有效期等信息,CA对这些信息进行数字签名,该签名就是公钥证书。任何人收到这样一个公钥证书后,通过验证CA的签名是否合法以及证书是否还有效,就可知道证书中所包含的公钥属于谁。

为了能验证CA的签名,用户应该知道CA的公钥信息。如果用户不知道CA的公钥,即认为这是系统外的用户,不予考虑。系统中的用户知道CA的真实公钥是最基本的信任假设,缺少这个假设任何其他信任都很难建立起来。读者可能还有一系列的问题,如CA为什么要为用户签署公钥证书?答案很简单:CA是服务机构,或者是赢利机构,而用户是它的客户。CA如何知道用户提供的公钥是真实的?这一点毋庸置疑,因为没有哪个用户把别人的公钥当作自己的公钥去申请证书,那样只能给别人提供攻击自己的机会。那么CA如何知道用户的身份是真实的?这一点需要各个CA去掌握。在许多应用环境中,CA对用户提供的身份信息需要通过另外的途径去验证,如电话确认或让用户离线注册。

最后的问题是由谁来做CA。同样的回答是看具体情况。但不管是哪种情况,在整个世界都被互联网连接在一起的今天,没有谁能做全世界的CA,因为如果存在这样一个CA,那么它对用户身份的确认就是个问题,而且要服务世界范围内的用户,负担也太重,一旦网络出现问题或CA的服务器遭受攻击,所造成的损失将太大。为了实现在世界范围内,或者至少在较大的范围内(如一个国家)能对公钥签署证书,公钥基础设施(PKI)应运而生。PKI是一种签署和管理公钥证书的标准体系,它看起来似乎容易,但具体成为标准的话需要考虑很多方面的问题,如证书格式、证书的撤销和更新过程、证书的存放和查询、证书的验证,特别是跨CA证书的验证等。

(2)PKI认证系统体系结构

公钥证书、证书管理机构、证书管理系统、与证书服务相关的软硬件设备以及相应的法律基础共同构成PKI。PKI在实际的应用中是一套软硬件系统和安全策略的集合,它提供一整套安全机制,以数字证书为基础,通过一系列的信任关系来实现信息的真实性、完整性、保密性和不可否认性。基本的PKI组成如图2.30所示。

图2.30 基本的PKI组成

基本的PKI主要由证书颁发机构、注册认证机构和相应的PKI存储库等组成。为了确保用户的身份和用户所持有的密钥正确匹配,公钥系统需要可信的第三方担任认证中心(CA),以此来确认公钥拥有者的真正身份,签发并管理用户的数字证书;注册认证机构可以作为CA的代表处,负责证书申请者的信息录入、审核和证书发放等工作,也对发放的证书完成相应的管理工作;PKI存储库包括LDAP目录服务器和普通数据库,用于对用户申请、证书、密钥、证书撤销列表(CRL)和日志等信息进行存储和管理,也提供查询功能。

一个有效的PKI系统必须是安全的和透明的。PKI提供服务的过程应该是一个“黑匣子”,它的所有安全操作应隐藏在用户的后面,不需要额外的干预,不需要用户关注算法和密钥,不会因为用户的错误操作对安全造成危害,安全操作不需要特别的知识,不需要用户进行特殊的处理,除了初始的登录,PKI应当用一种对用户安全透明的方式完成所有与安全有关的工作。PKI能保证数目不受限制的应用程序、设备和服务器无缝地协调工作,安全地传输、存储和检索数据,安全地进行事务处理,安全地访问服务器。一个可用的PKI产品还必须提供相应的密钥管理服务,包括密钥的备份、恢复和更新等。一个好的密钥管理系统,将极大地影响一个PKI系统的规模、可伸缩性和在协调网络中的运行成本。

PKI必须具有认证机构、证书库、密钥备份及恢复系统、证书撤销处理系统以及PKI应用接口系统等主要部分,构建和实施一个PKI系统也将围绕这些部分来进行。一个典型的PKI系统包括PKI安全策略、软硬件系统、认证中心(CA)、注册中心(RA)、证书签发系统及PKI应用接口系统等基本部分,如图2.31所示。

图2.31 典型PKI系统的组成

下面我们来介绍一下各部分的功能。

1)PKI安全策略

PKI安全策略是一个包含如何在实际中支持安全策略的操作过程的详细文档,它定义了一个信息安全方面的指导思想,也定义了密码系统使用的处理方法和原则,包括一个组织如何处理私钥和有价值的信息,以及根据风险的级别定义安全控制的级别。PKI安全策略的内容一般包括认证策略的制定、技术标准的遵循、各CA之间的上下级或同级关系、安全策略、安全程度、服务对象、管理原则、认证规则、运作制度的规定以及所涉及的各方面法律关系和技术的实现。

2)软硬件系统

软硬件系统是系统运行所需的所有软硬件的集合,主要包括目录服务器以及客户端软件等。目录服务器的组成主要有:目录服务器软件,用来存储目录信息并响应访问请求;复制服务器软件,实现主目录服务器信息到从目录服务器信息的复制映射;目录服务器管理程序,便于目录管理员对目录服务器进行配置、维护和管理;图形客户端软件等。目录服务器一般为层次树状结构,一主多从,与子树组成级联方式。目录服务器一般使用一种masterslave模式,仅复制变化的部分,从而减少了网络通信量。客户端软件是一个可操作PKI的必要组成部分。PKI采用C/S或B/S结构,只有客户端提出请求服务,服务器端才会为此请求做出响应处理。客户端软件的功能有:完成PKI对证书的生命周期管理;为文档请求时间戳;进行传输加密或数字签名操作;进行证书路径处理等。没有客户端软件,PKI无法有效地提供很多安全服务。客户端软件应当独立于所有应用程序,来完成PKI服务的上述客户端功能。应用程序应当通过标准接口与客户端软件的连接来使用安全基础设施。

3)认证中心(CA)

CA,即认证中心。在网上的电子交易中,商家需要确认持卡人是否是信用卡的合法持有者,同时持卡人也要能够识别商家是否是合法商户,是否被授权接受某种品牌的信用卡支付。

数字证书就是参与网上交易活动的各方身份的证明。每次交易时,都要通过数字证书对各方的身份进行验证。CA作为权威的、可信赖的、公正的第三方,是发放、管理、撤销数字证书的机构,其作用是检查证书持有者身份的合法性,并签发证书,以防证书被伪造或篡改,以及对证书和密钥进行管理,解决公钥体系中公钥的合法性检验问题。CA是PKI体系的核心。

4)注册中心(RA)

注册中心(RA,Registration Authority)是PKI认证体系的重要组成部分,是用户和认证中心之间的一个接口。RA是CA系统的证书的注册、申请和审核批准机构,在这里进行该可信PKI域的用户实体的证书申请资质的验证。它主要具备收集用户信息和确认用户身份的功能,比如:录入客户信息,对客户信息进行添加、修改、删除和审核;对用户证书进行管理,能够发起证书更新、撤销、恢复、冻结和解冻等请求,并能够提供证书到期提示;提供现场单个或批量生产证书的功能;提供在线证书管理功能,能实现在线申请、在线下载等。RA可以设置在直接面对客户的业务部门,如银行的营业部。对于一个小规模的PKI应用系统来说,注册管理的职能可由CA来完成,而不设立独立运行的RA(将其作为认证中心的一项功能)。但PKI国际标准推荐由独立的RA来完成注册管理的任务,因为这样可以增强应用系统的安全性。

5)证书签发系统

证书签发系统是PKI的核心执行机构,它包括CA服务器的硬件和软件系统,具有签发和管理证书的全面功能;开放管理接口,具有层结构、高处理能力、大容量、安全可靠等特性;采用国家保密机构认可的加密机,私钥不出卡,支持硬件平台,具有对证书的管理统计功能。

6)PKI应用接口系统

一个完整的PKI系统必须提供良好的应用接口系统,以便各种应用都能够以安全、一致和可信的方式与PKI交互,确保建立起来的网络环境的可信性,降低管理和维护的成本。

(3)PKI认证系统原理

PKI的原理简单描述如下。假定有一个证书认证中心(CA)、一个证书注册中心(RA)、一个复杂的存放证书的公共数据库,那么证书的签署和使用等包括下列几个过程。

1)证书签署

用户向CA证明自己的合法身份并提供公钥,CA对此公钥签署公钥证书。用户可以对公钥证书进行正确性验证。用户的公钥证书可以证明该公钥属于该用户,需要使用该用户公钥的人都可以在获取该证书后进行验证以确信公钥是真实的。

2)证书存放

如何让其他需要使用该证书的用户得到该用户的公钥证书呢?最直观的方法是向该用户索取,但该用户并不是总处于在线状态,即使在线,也不一定能随时应答索取公钥证书的询问。另一种方法是用户将公钥证书放在自己的个人网页上,但问题是并非所有用户都有自己的个人网页,即使有个人网页,需要使用该证书的用户也不一定容易找到该个人网页。因此,PKI的解决方案是将公钥证书放在一个标准数据库中,需要使用公钥证书的用户可以到该数据库查询。因此,当用户申请到公钥证书时,需要到RA那里去注册,RA验证证书的合法性后,将证书连同用户信息存放在证书数据库中。

3)证书注销和更新

尽管公钥证书有其有效期,但由于各种原因,一个公钥证书可能在有效期内就需要更新或注销。当用户申请注销公钥证书时,需要用该公钥对应的私钥对一个固定格式的消息进行数字签名并传给RA,当RA验证签名的合法性后,将证书从数据库中删除,同时在一个叫作证书撤销列表(CRL)的数据库中添加被注销的证书信息。当用户需要更新自己的证书时,选取一个新的公钥,用原来公钥对应的私钥对新公钥进行签名,将签名信息传给CA,CA验证签名的有效性后签署一个新的公钥证书。用户再将该新公钥证书连同用原私钥签名的证书更新请求传给RA,RA在验证签名以及新证书的合法性后,将原来的证书从数据库中删除,添加新证书,同时在证书撤销列表中添加被注销的证书信息。

4)证书的获取

当其他用户需要某个用户的公钥证书时,向RA提出咨询请求。RA根据请求所给出的用户信息查找到公钥证书,然后将公钥证书传给咨询者。有时候,咨询者已经有某个用户的公钥证书,只想查看一下该公钥证书是否仍然有效,对这种需求,RA只需检查CRL中是否包含所咨询的公钥证书的信息即可。为了方便查询,每个公钥证书都有一个身份标识,因此,查询有效性时不需要对整个证书的数据进行传输,只需要传输证书的身份标识以及其是否被注销的信息即可。

5)证书的验证

当得到某个用户的证书后,需要验证证书的合法性,以确定证书中所含公钥信息的真实性。当验证者和证书持有人有相同的CA时,这个问题很容易解决,因为验证者知道CA的公钥信息,通过验证CA在证书上的数字签名,即可确定证书的合法性。但是,当验证者和证书持有人没有相同的CA时,这个问题就变得复杂多了。正如前面的讨论,单一CA的假设是不合理的,在大的应用范围内,必将由多个CA来完成证书签署工作。但RA和证书数据库可以只有一个,或在逻辑上只有一个,即实际分布式的数据库;用户感知不到数据库的结构。

(4)PKI技术研究进展

目前PKI技术已经较为成熟,并进入了大规模应用的阶段。随着PKI技术在实际应用系统中的大量部署以及被各种重要的应用领域采纳,近10年来相继出现了大量全新的PKI技术研究成果。这些成果克服了应用推广部署中的种种难题。近10年来的PKI技术研究进展,主要包括以下几个方面。

①SSL/TLS协议是目前应用最为广泛的PKI技术。研究表明,SSL/TLS协议中的证书验证安全漏洞大量存在于各种系统中,会导致严重的中间人攻击;相关的攻击检测、防护技术成果随之被提出。2013年,Google公司提出的Certificate Transparency技术被正式采纳为IETFRFC6962,用于提升SSL/TLS协议的服务器证书的可信程度;在Certificate Transparency技术的基础上,又有多种改进方案被提出。作为证书依赖方,SSL/TLS协议客户端(通常是浏览器)的根CA证书配置直接影响SSL/TLS服务器证书的验证结果;各种改进的CA证书配置管理方案可用于限制恶意CA的攻击效果。

②如上文所述,PKI技术已经进入大规模的应用阶段。随着PKI系统在全球电子护照、DNS系统、HTTPS服务器等信息服务中的部署,研究人员总结了多种全新的技术挑战,也提出了相应的解决方案。

③长期以来,证书撤销方案都是PKI技术研究的重要内容。由于不存在普遍最优适用的证书撤销方案,针对不同的应用场景,各种证书撤销方案各有优势和不足,所以,针对新型应用场景的证书撤销方案、基于新型技术的证书撤销方案,近年来仍然不断有相关的成果出现。

PKI技术作为能够实现身份鉴别、机密性、完整性、非否认等核心安全服务的基础设施,在信息系统安全中发挥着重要的作用。作为典型的密码应用技术,近10年来,PKI系统在走向大规模应用推广的过程中,相关的技术研究达到了新的高度。这些研究成果得益于PKI技术在智能移动平台、SSL/TLS、大规模网络系统等领域的深入应用。我们有理由相信,作为具有普适性的安全基础设施,随着信息技术的发展,PKI技术将扩展到新的应用领域,未来必定会有更丰硕的研究成果。PKI证书服务的安全性、大规模PKI应用技术、新型领域的PKI技术(包括物联网、虚拟环境、无线通信领域和下一代高速网络等场景)等将会在未来得到进一步的探讨和研究。