APP下载

数字证书在信息化项目中一证多用的研究与实现

2017-04-11程国青

中国管理信息化 2017年6期
关键词:数字证书

程国青

[摘 要]数字证书是互联网应用中身份安全的重要技术保障。证书机构大量签发的数字证书往往都是绑定单一应用系统,在给用户带来不便的同时,也增加了社会成本。本文深入研究了数字证书的结构和安全机制,并提出了一证多用技术,以通过证书服务器解决一证多用中数字证书的多样性和复杂性。

[关键词]数字证书;一证多用;身份安全

doi:10.3969/j.issn.1673 - 0194.2017.06.093

[中图分类号]TP393.08 [文献标识码]A [文章编号]1673-0194(2017)06-0-03

0 引 言

随着Internet的普及和发展,电子商务活动和电子政务活动已成为大众日常生活的一部分。互联网环境下存在着大量的应用服务和互不相识的众多用户,这些互联网上的“实体”如何识别彼此和保障通讯安全,一直伴随着互联网的发展而存在。

数字证书(CA)是互联网中标志通讯各方身份信息的一串字符,它提供一种在互联网上验证通信实体身份的方式。它是由权威机构证书授权中心签发的,可以用来在互联网上识别通讯对方的身份。数字证书的应用已经十分普遍和广泛,如发送安全电子邮件、访问安全站点、网上招标投标、网上签约、网上购物、公文安全传送、网上缴费、网上缴税和网上报关等。

随着网络安全意识的加强和各类应用的推广,在数字证书授权机构的推动下,数字证书的发行数量越来越多。很多时候一个应用系统就要有一张相应的数字证书,且各个应用的数字证书互不通用。如网银用户使用农业银行网银时,要用农业银行的数字证书,工商银行的网银要使用工商银行的数字证书;在不同城市的公共资源交易服务中心投标时,要办理不同的数字证书进行投标。

1 数字证书相关技术分析

1.1 数字证书的格式

数字证书的格式普遍采用的是国际标准X.509格式,一个标准的X.509数字证书一般包含以下信息:①证书的版本信息-Version;②证书的序列号,每张证书有唯一的证书序列号-Serial Number;③证书所使用的签名算法- Algorithm Identifier;④证书的发行机构名称- Issuer,命名规则一般采用X.500格式;⑤证书的有效期- Period of Validity,一般采用UTC时间格式;⑥证书所有人的名称- Subject,命名规则一般采用X.500格式;⑦证书所有人的公开密钥- Subject's Public Key;⑧证书发行者对证书的签名- Signature。

数字证书存储文件的格式通常有.cer格式文件和.pfx格式文件。PKCS#12标准定义,带有私钥的证书文件一般以.pfx为文件后缀名,以.cer为文件后缀名的是不包含私钥的证书文件,p7b格式文件是证书链存储文件,包含一张或多张数字证书,不包含私钥。证书文件编码可以是DER二进制编码格式或者是BASE64编码格式。

1.2 数字证书的工作原理

数字证书采用PKI(Public Key Infrastructure)公开密钥基础架构技术,即利用一对相互匹配的公、私密钥进行加密和解密。证书用户设定仅为本人所知的私有密钥(以下简称私钥),并用它进行解密和签名。同时对应匹配的这个私钥有一个公开密钥(以下简称公钥),公钥可以发布给通讯相关方,用于对端的加密和验证签名。当需要传递保密信息时,发送方使用接收方的公钥对数据加密,接收方收到加密数据后,使用私钥进行解密。PKI技术保证加、解密过程是一个不可逆的过程,即只能用私钥解密公钥加密的数据。用户也可以用私钥签名要发送的数据,形成数字签名,这个数字签名只能用对应的公钥解密,以验证签名,数字签名有防抵赖性和防篡改性。签名与验证签名流程示意图,如图1所示。

在公开密码基础架构技术中,最常用的非对称算法是RSA算法,其数学原理是将一个超大数分解质因数,私钥和公钥是2个匹配的质因数,从数学逻辑上讲,在已知明文、密文和公钥的情况下,很难推导出私钥。在这样的数学原理上数字签名可以保障以下2点:①签名者不能否认自己所发的信息;②信息自签发后到接收方收文的过程中未被修改过,签名的文件是真实文件。数字证书是绑定了公钥和其私钥持有者真实身份的文件,并经过认证中心审核签发的电子数据。可以方便快捷地在互联上做身份识别和传递加密数据。

1.3 数字证书的签发过程

数字证书通常是由CA证书中心(通称CA机构)创建和签发,CA机构为一个称为安全域(security domain)的有限群体发放证书。创建证书时,CA机构首先要获取用户的证书请求信息,其中包括用户公钥(公钥一般由用户端产生,如电子邮件程序、浏览器、U-KEY等),CA机构根据用户的请求信息产生证书,并用CA机构的私钥对证书进行签名。其他用户、应用程序或实体将使用CA机构的公钥对证书进行验证。如果CA机构是可信的机构,则验证证书的用户可以确信,其所验证的证书是代表着一个可信的实体。

国家授权的CA机构同时要负责维护和发布证书废除列表CRL(即证书黑名单)。当一个证书的公钥因故无效时或证书需要注销时,CRL提供了一种通知用户和其他应用的管理方式。CA系统生成CRL以后,通常会放到LDAP服务器或Web服务器中,供用户直接查询或下载。

一个典型的CA机构的证书签发系统会包括安全加密服务器、注册RA服务器、CA服务器、LDAP目录服务器和数据库服务器等。如图2所示。

1.4 数字证书的应用

CA机构签发的数据证书大体有个人数字证书、企业数字证书、服务器数字证书、代码签名数字证书等几种类型。数字证书广泛应用在电子政务、电子商务、内部信息化管理等领域。其应用范围涉及需要身份认证及数据安全的各个行业,包括传统的商业、制造业、流通业的网上交易以及行政公共事业、金融服务业、工商税务海关、政府行政辦公、教育科研单位、保险和医疗等网上业务系统。典型的应用场景有网上购物、企业与企业的电子贸易、安全电子邮件、网上证券交易、网上银行、网上招投标、网上报税和行政申报等方面。

2 一证多用的技术实现

2.1 需求分析

由于数字证书自身的安全特点,如信息保密、不可篡改、抗抵赖等。这些特性可以较好地满足互联网交易中的安全需求。随着互联网和信息化应用的发展,数字证书的应用领域在不断拓宽,应用深度也在不断加深。如国内各大银行的网银系统都需要数字证书登录使用。

随着数字证书的应用推广,随之而来的一个普遍问题是,用户发现自己具有为使用不同应用系统所发放的不同数字证书。如各家银行的网银证书(每家网银都对应有自己的数字证书)、单位报税的税务证书、公司办公业务系统的身份证书等。这些数字证书对应不同的应用系统,分别由不同的CA机构签发。

对普通用户来说,保管好这些证书(U-KEY)并记住这些数字证书的对应密码就是一件不简单的任务,同时用户还要在自己的电脑设备上安装不同证书对应的证书驱动管理程序。对国家社会来讲,大量反复发放的数字证书,大大增加了社会成本,而这些数字证书几乎都在解决一个相似的安全问题,造成了不必要的社会浪费。

鉴于此,数字证书的一证多用问题逐渐被社会所关注。即用户能否通过一家合法机构签发的一张数字证书即可登录多个不同的应用系统,并完成自己网络、工作、生活的需要。

2.2 设计与实现

根据文中的需求分析,筆者对方案的总体设计思想如下。

(1)依托电子签名法,采用拥有《电子认证服务许可证》的合法第三方认证服务机构签发的证书。

(2)通过认证服务的“中间件”,实现数字证书与应用的无缝集成,从而实现应用的身份认证、信息保密性和完整性。并可在关键业务环节使用数字签名和防抵赖,建立安全可靠的认定机制。

(3)最大程度上减少客户端安装使用的复杂性,本方案将客户端证书生命周期管理、注销管理移动到认证服务“中间件”中完成,方便用户获取和使用数字证书服务。

(4)认证服务“中间件”可以支持多种形态和不同认证机构签发的符合X.509标准格式的数字证书,也包括文件证书和硬件介质证书等。

(5)本方案要最大程序减少对业务系统的影响,本方案技术实现要对业务系统的透明化,以方便现有的业务系统升级改造,实现系统的最小改造代价。

(6)本方案技术的实现要最大利用用户手上现有的数字证书和设备,最大化地节约用户使用成本和社会运行成本。

考虑到用户端设备环境的复杂性和证书的多样性,要实现一证多用,其难度很大。本方案是通过在应用系统与用户端证书之间增加一台或多台证书服务器(包含有认证服务“中间件”),通过证书服务器解决一证多用的困难。证书服务器要实现:①支持对不同证书机构所签发证书的证书链验证;②完成对数字证书所代表的用户身份与后端业务系统中的用户身份绑定;③完成对数字证书有效期及CRL黑名单的验证;④对通过身份验证的用户建立SSL安全通道,确保用户的安全链接。证书服务器介于数字证书用户与业务系统之间,为不同数字证书用户与业务系统之间构建一条安全可靠的通讯链路,其总体应用架构设计如图3所示。

本方案的一证多用系统是对现有业务系统的升级部署,其主要工作集中在服务端完成,对系统的普通用户来说是基本透明,对用户的正常使用系统影响很小。其部署周期和升级成本都相对较小,一般完成升级部署需要经过以下几个部署过程。

(1)安装配置数字证书服务器设备。

(2)根据业务系统支持的证书情况,向数字证书服务器导入对应的证书链文件,可以一次性导入,也可以后期逐步导入。

(3)完成用户证书与业务系统账号的身份影射和绑定,可以在数字证书上批量绑定,也可以让用户自己使用原账号登录系统后自助绑定。

(4)完成身份绑定后,业务系统关闭原来的身份验证方式,如口令、密码验证。

3 结 语

身份认证是互联网应用安全的第一道关卡,是确保合法用户安全使用系统的基础。数字证书是目前被普遍认可的身份安全认证技术,但数字证书一方面使用和维护成本高,另一方面大量数字证书闲置率高,利用率低。一证多用技术可以最大化节约社会成本,提高互联网应用的安全性。本文设计和实现的一证多用系统,采用了成熟软件架构和安全技术实现各模块的功能,系统具有良好的扩展性和易维护性,业务系统升级成本低,系统采用的技术路线和设计方法是有效和可行的,且方案对安全性要求较高的信息化项目可提供基础的安全支撑。

主要参考文献

[1]李星宜,李陶深,葛志辉,等.基于数字证书的身份认证系统的设计与实现[J].计算机技术与发展,2011(12).

[2]管军.基于数字证书认证机制的应用研究[J].信息化研究,2010(3).

[3]彭英慧,刘海丰.基于数字证书X.509的身份认证系统的研究[J].计算机安全,2008(11).

[4]水仲飞,李承浩.一种基于X.509的USB Key政务环境身份认证方案[J].电子技术设计与运用,2010(1).

猜你喜欢

数字证书
国家发改委:推动矿业权出让应用网络共享数字证书
无线网络安全认证研究
移动商务安全工作模式中WPKI技术的应用
电子签名在医院信息系统的集成与应用分析
当心黑客利用数字证书的漏洞
基于数字证书的军事信息系统安全防护方案
PKI技术在SSLVPN中的应用
以数字证书为核心的信息安全技术之研究
管理好系统中的数字证书
数字签名保护Word文档