数字证书技术大全

一、认证与加密

认证(鉴权)就是指用户必须提供他是谁的证明, 他是某个雇员, 某个组织的代理、某个软件过程(如股票交易系统或Web订货系统的软件过程)。认证的标准方法就是弄清楚他是谁,他具有什么特征, 他知道什么可用于识别他的东西。比如说, 系统中存储了他的指纹, 他接入网络时, 就必须在连接到网络的电子指纹机上提供他的指纹(这就防止他以假的指纹或其它电子信息欺骗系统), 只有指纹相符才允许他访问系统。更普通的是通过视网膜血管分布图来识别, 原理与指纹识别相同, 声波纹识别也是商业系统采用的一种识别方式。网络通过用户拥有什么东西来识别的方法, 一般是用智能卡或其它特殊形式的标志, 这类标志可以从连接到计算机上的读出器读出来。至于说到“他知道什么”, 最普通的就是口令, 口令具有共享秘密的属性。例如, 要使服务器操作系统识别要入网的用户, 那么用户必须把他的用户名和口令送服务器。服务器就将它仍与数据库里的用户名和口令进行比较, 如果相符, 就通过了认证, 可以上网访问。这个口令就由服务器和用户共享。更保密的认证可以是几种方法组合而成。例如用ATM卡和PIN卡。在安全方面最薄弱的一环是规程分析仪的窃听, 如果口令以明码(未加密)传输, 接入到网上的规程分析仪就会在用户输入帐户和口令时将它记录下来, 任何人只要获得这些信息就可以上网工作。

两种加密方法



如果口令在不安全的信道内传输, 必须要对口令进行加密, 加密方法有两种: 公共密钥加密和专用密钥加密。专用密钥加密具有对称性, 即加密密钥也可以用作解密。最有名的专用密钥加密系统就是数据加密标准(DES), 这个标准现在由美国国家安全局和国家标准与技术局来管理。另一个系统是国际数据加密算法(IDEA), 它比DES的加密性好, 而且需要的计算机功能也不么强。IDEA加密标准由PGP(Pretty Good Privacy)系统使用。公共密钥加密使用两个不同的密钥, 因此是一种不对称的加密系统。它的一个密钥是公开的, 而系统的基本功能也是有公共密钥的人可以访问的, 公共密钥可以保存在系统目录内或保存在未加密的电子邮件信息中。它的另一个密钥是专用的, 它用来加密信息但公共密钥可以解密该信息, 它也可以对公共密钥加密的信息解密。在提供同等安全性的前提下, 专用密钥加密的系统速度比较快。

由于专用密钥由双方共享, 所以没有办法确定哪一方始发信息, 这就为合法的争议留下了缺口。专用密钥和公共密钥的鉴权过程是相同的, 主要问题是密钥分配。怎样使密钥保存在手边或记在脑子里(人、计算机、软件模块都会有密钥, 我们将他们称为密钥持有者), 在使用时不被窃听者截获? 用得最多的专用密钥认证系统就是Kerberos, 它需要有一个保密性好的服务器来保存与所有密钥持有者通信的主密钥, 密钥持有者想要进行认证或解密, 与其它密钥持有者的会话, 就要发布与他们秘密通信的密钥, Kerberos只是部分实现了OSF的分布式计算环境(DCE)规范。Kerberos也是Windows NT 5.0安全系统的一部分, 基于Kerberos的系统尚未被广泛采用。公共密钥加密没有密钥分配问题, 它可以放在目录内, 电话黄页(商业电话)上或公告牌里。公共密钥存在的问题是能否信任使用密钥的密钥持有者, 因为任何人都可获得公共密钥。目前使用的第三个版本的ITU的X. 509标准定义了兼容 的数字证书模块, 其主要模块是密钥持有者的名称、密钥持有者的公共密钥信息和证书管理(CA)的数字签名(数字签名保证证书不被修改, 也不可姳环袢?)。X. 509 V3数字证书还包括证书发行人的名字, 发行人的唯一识别码, 密钥持有者的唯一识别码和证书的序列号及有效期和证书的版本号和签字算法等。使用Novell目录服务、Lotus Notes和PGP的用户使用数字证书, 但它们不使用X. 509标准。

实现公共密钥基础结构的障碍

证书管理是一个十分陈旧而且不直观的机制, 它不仅发布数字证书, 它还要建立维护证书取消清单(CRL)。如果你的专用密钥丢失或被偷了, 或者你被解雇了, 或者你找到了新的工作不需要访问现在的东西, 那么必须有一种方法使你原来有效的证书失效。因此需要一个验证数字证书有效性的过程, 它检查证书管理者的公共密钥对证书是否有效, 验证证书是否被修改, 验证证书是否过期, 检验证书是否被取消。信息安全方面的人士很关心CRL的可伸缩性, 如果有效期过长, CRL就不断加长, 就需要更多的计算机资源来搜索它, 如果证书更新太快, 又给管理带来麻烦。

证书管理的另一个问题是如何相互作用。例如公司X对证书管理,这经与公司Y相互证明, 公司Y也对证书管理。但是我是否愿意信任某个想与我在Internet上做生意的证书管理(CA)呢? 或者说, 信任是否可以传递: 如果CAY信任CAZ, 而且CAX信任CAY, 那么CAX是否能自动信任CAZ呢? 如果这样做是合理的, 那么我是否可以在与我信任的CA和我不知道的CA之间找到一个闭合的链路呢? 如果能得到这样一个信任链, 那么它们的扩展是否可以接受呢, 或者说将花掉过多的计算费用、引起时延? X. 509标准提供一个所谓的反向证书, 它包括其它CA经过认证的密钥, 这种能力提供了灵活的交叉认证, 但它不能解决识别和实现信任链的体系结构问题。

证书和密钥管理



证书有一定的生存期, 从发布、分布到取消, 它可以到其期, 再更新。当然, 任何CA的数据库都必须进行有效地备份, 并为任何的不测作好准备。应该为CA制定政策(如果可能的话还应该公布), 它要指明证书的有效期, 与密钥持有人的密钥对连接的证据, 以及防范正在雇用但不被信任的雇员应采取的步骤。CA系统应具备最起码的性能, 还有很高的保密性。在一个可以互操作的公共密钥体系结构中, 折衷的密钥可能可破许多信任链并使特殊CA用户的安全性消失。对专用密钥的访问就好象是用口令保护一样, 处理被忘掉的口令的方法也值得认真考虑, 除了密钥持有人外, 其它人员是不能使用专用密钥进行访问的。用于加密的密钥也需要作备份, 否则密钥丢失或改变, 用此密钥加密的数据也会丢失(但是数字签名的密钥却不能被工具所备份, 因为如果有人丢失了用于数字签名的专用密钥, 还可以产生一个新的专用密钥使它与原来的公共密钥一起工作。)将密钥交与第三方保存是与密钥备份不同的另一个问题。一般来说, 有一个或多个第三方保存密钥的工具或部分密钥工具, 所有第三方钥密持有人一起才能生成一个完整的工具。另一个较好的方法是周期更新密钥, 就象当初生成公共/专用密钥对一样, 更新密钥也要花费CPU的周期, 比较好的主意是错开更新的日期。


二、CA认证系统知识点滴

什么是CA?

¤CA是Certificate Authority的缩写,通常翻译成认证权威或者认证中心,主要用途是为用户发放数字证书。这个数字证书包含了用户身份的部分信息及用户所持有的公钥,同时利用CA本身的私钥为数字证书加上数字签名,其他用户只要能验证证书是真实的,并且信任颁发证书的认证中心,就可以确认用户身份,完成认证工作。

¤CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户名称与证书中列出的公开密钥相对应。CA中心的数字签名使得攻击者不能伪造和篡改数字证书。

为什么要使用CA?

¤为了使PKI的业务能够广泛应用,一个基本而关键的问题是公钥的分发与管理。由此引发出了某一公钥究竟属于谁的问题,它必须是由一个公众都信赖的权威机构进行认证,否则整个业务体系都将出现致命的安全漏洞。目前国际上通用的解决办法就是建立证书签证机关(Certificate Authority,即CA),由CA对公钥进行统一的管理并将公钥以公钥证书的形式对外分发。

CA的功能?

¤参考TongCA的功能

1、生成、撤销、更新证书。

2、发行证书和黑名单到目录服务器。

3、维护证书和黑名单数据库。

4、生成和维护自己的密钥:为了安全起见,CA目前的密钥(?)是CA自己生成的,并加密保存到具有超级用户权限的目录中。

5、维护审计日志。

6、增加、删除本级RA:由CA操作员来完成。

7、保证CA、RA和目录服务器三者数据内容的一致性。

¤概括地说,认证中心(CA)的功能有:证书发放、证书更新、证书撤销和证书验证。CA的核心功能就是发放和管理数字证书,具体描述如下: 

(1)接收验证最终用户数字证书的申请。 

(2)确定是否接受最终用户数字证书的申请-证书的审批。 

(3)向申请者颁发、拒绝颁发数字证书-证书的发放。 

(4)接收、处理最终用户的数字证书更新请求-证书的更新。 

(5)接收最终用户数字证书的查询、撤销。 

(6)产生和发布证书废止列表(CRL)。 

(7)数字证书的归档。 

(8)密钥归档。 

(9)历史数据归档。 

认证中心为了实现其功能,主要由以下三部分组成: 

注册服务器:通过 Web Server 建立的站点,可为客户提供每日24小时的服务。因此客户可在自己方便的时候在网上提出证书申请和填写相应的证书申请表,免去了排队等候等烦恼。 

证书申请受理和审核机构:负责证书的申请和审核。它的主要功能是接受客户证书申请并进行审核。 

认证中心服务器:是数字证书生成、发放的运行实体,同时提供发放证书的管理、证书废止列表(CRL)的生成和处理等服务。

目前CA认证系统都由哪几部分组成?各部分都具有什么功能?

¤目前CA认证系统主要由以下三部分组成:在客户端面向证书用户的数字证书申请、查询和下载系统;在RA端由RA管理员对证书申请进行审批的证书授权系统;在CA控制台,签发用户证书的证书签发系统。

三、数字证书知识点滴

什么是数字证书? 

¤是由证书签证机关(CA)签发的对用户的公钥的认证。因此,证书的内容应包括CA的信息、用户信息、用户公钥及CA签发时间及有效期等内容。目前国际上对证书的格式及认证方法遵从X.509体系标准。

¤数字证书实际上是一份电子文档

¤数字证书是一段包含用户身份信息、用户公钥信息以及身份验证机构数字签名的数据。身份验证机构的数字签名可以确保证书信息的真实性。证书格式及证书内容遵循X.509标准。

¤数字证书又称为数字标识(Digital Certificate,Digital ID)。它提供了一种在Internet上身份验证的方式,是用来标志和证明网络通信双方身份的数字信息文件,与司机驾照或日常生活中的身份证相似。在网上进行电子商务活动时,交易双方需要使用数字证书来表明自己的身份,并使用数字证书来进行有关的交易操作。通俗地讲,数字证书就是个人或单位在Internet的身份证。数字证书主要包括三方面的内容:证书所有者的信息、证书所有者的公开密钥和证书颁发机构的签名。 

证书里包含了什么?

¤一个标准的X.509数字证书包含以下一些内容: 

证书的版本信息; 

证书的序列号,每个证书都有一个唯一的证书序列号; 

证书所使用的签名算法;  

证书的发行机构名称,命名规则一般采用X.500格式;  

证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049;  

证书所有人的名称,命名规则一般采用X.500格式; 

证书所有人的公开密钥;  

证书发行者对证书的签名。

数字证书能解决什么问题?

在使用数字证书的过程中应用公开密钥加密技术,建立起一套严密的身份认证系统,它能够保证: 

信息除发送方和接受方外不被其他人窃取;

信息在传输过程中不被篡改;

接收方能够通过数字证书来确认发送方的身份;

发送方对于自己发送的信息不能抵赖。

以电子邮件为例,数字证书主要可以解决:

保密性:通过使用发件人的数字证书对电子邮件加密,只有收件人才能阅读加密的邮件,这样保证在Internet上传递的电子邮件信息不会被他人窃取,即使发错邮件,收件人由于无法解密而不能够看到邮件内容。

完整性:利用发件人数字证书在传送前对电子邮件进行数字签名不仅可确定发件人身份,而且可以判断发送的信息在传递的过程中是否被篡改过。

身份认证:在Internet上传递电子邮件的双方互相不能见面,所以必须有方法确定对方的身份。利用发件人数字证书在传送前对电子邮件进行数字签名即可确定发件人身份,而不是他人冒充的。

不可否认性:发件人的数字证书只有发件人唯一拥有,故发件人利用其数字证书在传送前对电子邮件进行数字签名后,发件人就无法否认发送过此电子邮件。

数字证书的原理是什么? 

数字证书采用PKI(Public Key Infrastructure)公开密钥基础架构技术,利用一对互相匹配的密钥进行加密和解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥),由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,通过数字的手段保证加解密过程是一个不可逆过程,即只有用私有密钥才能解密,这样保证信息安全无误地到达目的地。用户也可以采用自己的私钥对发送信息加以处理,形成数字签名。由于私钥为本人所独有,这样可以确定发送者的身份,防止发送者对发送信息的抵赖性。接收方通过验证签名还可以判断信息是否被篡改过。在公开密钥基础架构技术中,最常用一种算法是RSA算法,其数学原理是将一个大数分解成两个质数的乘积,加密和解密用的是两个不同的密钥。即使已知明文、密文和加密密钥(公开密钥),想要推导出解密密钥(私密密钥),在计算上是不可能的。按现在的计算机技术水平,要破解目前采用的1024位RSA密钥,需要上千年的计算时间。

数字证书的应用

现有持证人甲向持证人乙传送数字信息,为了保证信息传送的真实性、完整性和不可否认性,需要对要传送的信息进行数字加密和数字签名,其传送过程如下: 

(1) 甲准备好要传送的数字信息(明文)。 

(2) 甲对数字信息进行哈希(hash)运算,得到一个信息摘要。 

(3) 甲用自己的私钥(SK)对信息摘要进行加密得到甲的数字签名,并将其附在数字信息上。 

(4) 甲随机产生一个加密密钥(DES密钥),并用此密钥对要发送的信息进行加密,形成密文。 

(5) 甲用乙的公钥(PK)对刚才随机产生的加密密钥进行加密,将加密后的DES密钥连同密文一起传送给乙。 

(6) 乙收到甲传送过来的密文和加过密的DES密钥,先用自己的私钥(SK)对加密的DES密钥进行解密,得到DES密钥。 

(7) 乙然后用DES密钥对收到的密文进行解密,得到明文的数字信息,然后将DES密钥抛弃(即DES密钥作废)。 

(8) 乙用甲的公钥(PK)对甲的数字签名进行解密,得到信息摘要。 

(9) 乙用相同的hash算法对收到的明文再进行一次hash运算,得到一个新的信息摘要。 

(10)乙将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。 



在(5)处用到的PK,是否来自乙所持有的的数字证书?若是,从何处得到该数字证书?关于此过程的加密解密,是怎样实现?

A 如何获得通讯对方的公钥并且相信此公钥是由某个身份确定的人拥有的,这就要用到电子证书。电子证书是由大家共同信任的第三方---认证中心(Certificate Authority,CA)来颁发的,有某人的身份信息、公钥和CA的数字签名。任何一个信任CA的通讯一方,都可以通过验证对方电子证书上的CA数字签名来建立起和对方的信任,并且获得对方的公钥以备使用。



数字证书的使用

每一个用户有一个各不相同的名字,一个可信的证书认证中心(CA)给每个用户分配一个唯一的名字并签发一个包含名字和用户公开密钥的证书。

如果甲想和乙通信,他首先必须从数据库中取得乙的证书,然后对它进行验证。如果他们使用相同的CA,事情就很简单。甲只需验证乙证书上CA的签名;如果他们使用不同的CA,问题就复杂了。甲必须从CA的树形结构底部开始,从底层CA往上层CA查询,一直追踪到同一个CA为止,找出共同的信任CA。

证书可以存储在网络中的数据库中。用户可以利用网络彼此交换证书。当证书撤销后,它将从证书目录中删除,然而签发此证书的CA仍保留此证书的副本,以备日后解决可能引起的纠纷。

如果用户的密钥或CA的密钥被破坏,从而导致证书的撤销。每一个CA必须保留一个已经撤销但还没有过期的证书废止列表(CRL)。当甲收到一个新证书时,首先应该从证书废止列表(CRL)中检查证书是否已经被撤销。

数字证书由谁来颁发,如何颁发? 

数字证书是由认证中心颁发的。 

认证中心是一家能向用户签发数字证书以确认用户身份的管理机构。为了防止数字凭证的伪造,认证中心的公共密钥必须是可靠的,认证中心必须公布其公共密钥或由更高级别的认证中心提供一个电子凭证来证明其公共密钥的有效性,后一种方法导致了多级别认证中心的出现。 

数字证书颁发过程如下:用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。用户就可以使用自己的数字证书进行相关的各种活动。


四、PKI/CA 技术的介绍


PKI 就是 Public Key Infrastructure 的缩写,翻译过来就是公开密钥基础设施。它是利用公开密钥技术所构建的,解决网络安全问题的,普遍适用的一种基础设施。美国政府的一个报告中把 PKI 定义为全面解决安全问题的基础结构,从而大大扩展了 PKI 的概念。而我们认为,采用了公开密钥技术的基础设施就可以称为 PKI 。公开密钥技术也就是利用非对称算法的技术。说 PKI 是基础设施,就意味着它对信息网络的重要。将 PKI 在网络信息空间的地位与电力基础设施在工业生活中的地位进行类比非常确切。电力系统,通过伸到用户的标准插座为用户提供能源。 PKI 通过延伸到用户本地的接口,为各种应用提供安全的服务,如认证、身份识别、数字签名、加密等。从概念上讲,如果离开使用 PKI 的应用系统, PKI 本身没有任何实际的用处,正如电力系统离开电器设备也没有用一样。有了 PKI ,安全应用程序的开发者不用再关心那些复杂的数学运算和模型,而直接按照标准使用一种插座(接口)。用户也不用关心如何进行对方的身份鉴别而可以直接使用标准的插座,正如在电力基础设施上使用电吹风一样。 

PKI 中最基本的元素就是数字证书。所有安全的操作主要通过证书来实现。 PKI 的硬设备还包括签置这些证书的证书机构 (CA) ,登记和批准证书签置的登记机构 (RA) ,以及存储和发布这些证书的电子目录。 PKI 中还包括证书策略,证书路径以及证书的使用者。所有这些都是 PKI 的基本元素。许多这样的基本元素有机地结合在一起就构成了 PKI 。 

PKI 到底是什么,通过类比可以让我们有更好的理解。 

首先看看产出。电力基础设施提供能源, PKI 提供网络安全服务。能源可以用于许多需要能源的设备,而安全服务可以为其他需要安全的应用提供保障。 PKI 可以提供的安全服务包括保密、完整、真实和不可否认。服务原理也是一个基础设施的重要特征,电力系统通过输送电子(电压)提供电能, PKI 通过传播数字证书保证安全。数字证书是一段数字,该数字说明了一个身份,是由 CA 通过数字签名获得的。任何人无法修改它,因为任何人都不能假冒 CA 但却可以验证数字证书是否正确。数字证书是可以公开的。数字证书在分发过程中没有被篡改的问题。这一点,在讨论 PKI 的安全时必须清楚。正是由于数字证书的不可修改,才使得 PKI 的管理和维护变得简单可行。 

通过其组成我们从另一个侧面理解 PKI 。电力系统包括各种发电厂,连接电缆,并网控制设备,变电站,用电接口(如插座)等, PKI 包括 CA (证书机构), RA (登记机构),资料库,客户接口等。 CA 是签发证书的场所, RA 是登记的场所,资料库是管理证书的地方,客户接口是提供服务的标准接口。 

系统结构也能表达一个基础设施的特征。一个发电机加两根电线可能不是电力基础结构,甚至连电力基础结构中的部件都不是。同样,一个 CA 和几个用户也不能算是 PKI 。一个不满足一定规范的 CA 可能都不能称为 PKI 的部件。 PKI 的部件的重要特点就是能够互操作。而互操作规范就是一种评判一个设备是否为 PKI 部件的一个标准。 PKI 应该是由多个可以互操作的 CA 、 RA 、资料库和众多接口组成的大的系统。 

PKI 是目前唯一的能够基本全面解决安全问题的可能的方案。 PKI 通过电子证书以及管理这些电子证书的一整套设施,维持网络世界的秩序;通过提供一系列的安全服务,为网络电子商务、电子政务提供有力的安全保障。各国政府和许多民间机构都在纷纷研究和开发 PKI 产品,以望走在信息安全的前列。 PKI 同时是一个安全产品,可以成为对网络社会进行管理和维护的重要手段。谁拥有这项技术,谁就可能拥有对整个网络的控制权。 PKI 中最重要的设备就是 CA 。 CA 不仅是发放证书的机构,同时它也可以拥有密钥恢复能力。 

控制 CA 和 CA 技术就非常关键。从国家安全的角度来说,“统一领导、集中管理、定点研制、专控经营、满足使用”就非常有意义。我们必须拥有自己的 CA 极其外围软件的自主的知识产权,拥有自己的,别人无法替代的位置。 

为保证用户之间在网上传递信息的安全性、真实性、可靠性、完整性和不可抵赖性,不仅需要对用户的身份真实性进行验证,也需要有一个具有权威性、公正性、唯一性的机构,负责向电子商务的各个主体颁发并管理符合国内、国际安全电子交易协议标准的电子商务安全证书 , CA 体系应酝而生。 

CA 机构,又称为证书授证 (Certificate Authority) 中心,是一个负责发放和管理数字证书的权威机构 , 它作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。 CA 中心为每个使用公开密钥的用户发放一个数字证书,以实现公钥的分发并证明其合法性。数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件 , 作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。 CA 机构的数字签名使得攻击者不能伪造和篡改证书。在 SET 交易中, CA 不仅对持卡人、商户发放证书,还要对获款的银行、网关发放证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。 

电子商务 CA 体系包括两大部分,即符合 SET 标准的 SET CA 认证体系和其他基于 X.509 的 CA 认证体系。 

对于一个大型的应用环境,认证中心往往采用一种多层次的分级结构,各级的认证中心类似于各级行政机关,上级认证中心负责签发和管理下级认证中心的证书,最下一级的认证中心直接面向最终用户。 

认证中心主要有以下五种功能: 

•  证书的颁发 

中心接收、验证用户 ( 包括下级认证中心和最终用户 ) 的数字证书的申请,将申请的内容进行备案,并根据申请的内容确定是否受理该数字证书申请。如果中心接受该数字证书申请,则进一步确定给用户颁发何种类型的证书。新证书用认证中心的私钥签名以后,发送到目录服务器供用户下载和查询。为了保证消息的完整性,返回给用户的所有应答信息都要使用认证中心的签名。 

•  证书的更新 

认证中心可以定期更新所有用户的证书,或者根据用户的请求来更新用户的证书。 

•  证书的查询 

证书的查询可以分为两类,其一是证书申请的查询,认证中心根据用户的查询请求返回当前用户证书申请的处理过程;其二是用户证书的查询,这类查询由目录服务器来完成,目录服务器根据用户的请求返回适当的证书。 

(4) 证书的作废 

当用户的私钥由于泄密等原因造成用户证书需要申请作废时,用户需要向认证中心提出证书作废的请求,认证中心根据用户的请求确定是否将该证书作废。另外一种证书作废的情况是证书已经过了有效期,认证中心自动将该证书作废。认证中心通过维护证书作废列表 (Certificate Revocation List,CRL) 来完成上述功能。 

•  证书的归档 

证书具有一定的有效期,证书过了有效期之后就将作废,但是我们不能将作废的证书简单地丢弃,因为有时我们可能需要验证以前的某个交易过程中产生的数字签名,这时我们就需要查询作废的证书。基于此类考虑,认证中心还应当具备管理作废证书和作废私钥的功能。总的说来,基于认证中心的安全方案应该很好地解决网上用户身份认证和信息安全传输问题。


五、数字证书应用全攻略——10个数字证书应用实例


数字证书主要应用于各种需要身份认证的场合,目前广泛应用于网上银行、网上交易等商务应用外,数字整数还可以应用于发送安全电子邮件、加密文件等方面,以下是10个数字证书最常用的应用实例,从中读者可以更好地了解数字证书技术及其应用。

一、保证网上银行的安全

只要你申请并使用了银行提供的数字证书,即可保证网上银行业务的安全,即使黑客窃取了你的帐户密码,因为他没有你的数字证书,所以也无法进入你的网上银行帐户。下面我们以建设银行的网上银行为例,介绍数字证书的安装与使用:

1、安装根证书

首先到银行营业厅办理网上银行申请手续;然后登录到各地建设银行网站,点击网站“同意并立即下载根证书”,将弹出下载根证书的对话框,点“保存”,把root.crt保存到你的硬盘上;双击该文件,在弹出的窗口中单击“安装证书”,安装根证书。

2、生成用户证书

接下来要填写你的账户信息,按照你存折上的信息进行填写,提交表单,按“确定”后出现操作成功提示,记住你的账号和密码;进入证书下载的页面,点击“下载”,在新画面中(见图5)选择存放证书的介质为“本机硬盘(高级加密强度))”,点击“生成证书”按钮,将询问你是否请求一个新证书,接着询问你“是否要添加新的证书”,信任该站点,点“是”;系统将自动安装证书,最后出现“安装成功”画面。  

如图1


3、使用数字证书

现在,你可以使用证书来确保网上银行的安全了,建议你把证书保存在USB盘上,使用网上银行时才插到电脑上,防止证书被盗。

重新进入建设银行网站,选择“证书客户登录”,选择正确的证书号,输入用户号和密码,即可登录你的网上银行帐户,办理转账、网上速汇通等业务。

二、通过证书防范你的网站被假冒

目前许多著名的电子商务网站,都使用数字证书来维护和证实信息安全。为了防范黑客假冒你的网站,你可以到广东省电子商务认证中心

(http://www.cnca.net/)申请一个服务器证书,然后在自己的网站上安装服务器证书。安装成功后,在你的网站醒目位置将显示“VeriSign安全站点”签章、并提示用户点击验证此签章。只要你一点击此签章,就会连接VeriSign全球数据库验证网站信息,然后显示真实站点的域名信息、及该站点服务器证书的状态,这样别人即可知道你的网站使用了服务器证书,是个真实的安全网站,可以放心地在你的网站上进行交易或提交重要信息。

另外,如果你发现某个网站有以下两样标志,则表明该网站激活了服务器证书,此时已建立了SSL连接,你在该网站上提交的信息将会全部加密传输,因此能确保你隐私信息的安全。

1、观察网址

观察要你提交个人信息页面的网址前,是否带有“https://”标志(这里的S代表安全网站);

2、网页状态栏是否有金色小锁

观察网页的状态栏中是否有一把金色小锁,双击该锁会弹出该站点的服务器证书,里面包含了真实站点的域名及证书有效期。如果状态栏中没有金锁、或者它是打开的,那么表示你提交的信息将不会被加密。

三、发送安全邮件

数字证书最常见的应用就是发送安全邮件,即利用安全邮件数字证书对电子邮件签名和加密,这样即可保证发送的签名邮件不会被篡改,外人又无法阅读加密邮件的内容。现在我们以Outlook XP为例,介绍安全发送邮件的方法:

1、邮件帐号与数字证书绑定

启动Outlook XP,在主窗口点击菜单“工具”/选项/安全,单击“设置”按钮,弹出“更改安全设置”画面(见图6),输入安全设置名称lacl,勾选默认安全设置,点击“选择”为帐户绑定一个数字证书,最后单击“确定”退出。以后发送数字签名邮件时,将使用该证书进行签名。

如图2


2、发送带数字签名的邮件

单击“新建”进入写邮件窗口,开始撰写一封新邮件。填上发件人、收件人、标题,写好信,点击工具栏上的“选项”按钮,在邮件选项中,点击“安全设置”按钮,在弹出的窗口中(见图7),勾选“为此邮件添加数字签名”,最后按“发送”把它发送出去。

如图3


当对方收到并打开该邮件时,将看到“数字签名邮件”的提示信息,在邮件内容窗口的右边,有个红色的“数字签名”图标,点击之可看到数字签名信息,由此便可确认该邮件是你发出的、并且中途没有被篡改过。

如图4

3、发送加密邮件

你必须首先获得对方的公钥,然后才能给他发加密邮件。

(1)获得对方公钥的方法

你可以让收件人先给你发送一份签名邮件来获取对方的公钥,或者直接到电子商务安全认证中心的网站(例如http://www.cnca.net或者http://www.ca365.com/)上查询并下载对方的公钥。

(2)创建邮件并发送

加密邮件的发送方法,与以上发送签名邮件的方法类似,不过当你点击“安全设置”按钮,在安全属性窗口中,要勾选“加密邮件内容和附件”。

四、对付网上投假票

目前网上投票,一般采用限制投票IP地址的方法来对付作假,但是断线后重新上网,你就会拥有一个新IP地址,因此只要你不断上网和下网,即可重复投票。为了杜绝此类造假,建议网上投票使用数字证书技术,要求每个投票者都安装使用数字证书,在网上投票前要进行数字签名,没有签名的投票一律视为无效。由于每个人的数字签名都是唯一的,即使他不断上网、下网,每次投票的数字签名都会相同的,因此无法再投假票。

五、使用代码签名证书,维护自己的软件名誉

天威诚信(www.itrus.com.cn)提供了代码签名证书,你可以利用代码签名证书、给你的软件签名,防止别人篡改了你的软件(例如在你的软件中添加木马或病毒),维护你的软件名誉。

利用上文提到的微软Authenticode工具包,其中有一个signcode.exe,可以专门给代码签名,能对32位的、后缀为.exe(PE 文件)、.cab、.dll 、.vbd和 .ocx 的文件进行数字签名,给自己的程序签名方法:

运行signcode.exe出现一个向导,先选择你要签名的程序文件,然后出现签名选项,选择“自定义”(右图8);当提示选择使用的签名证书时,按“从文件选择”按钮,文件类型选择X.509,选择你的签名证书lacl.cer;按“下一步”,然后点“浏览”安装私匙文件lacl.pvk;最后在提示你加入时间戳时,选择“不加入时间戳”。

如图5


完成签名后,你可以右击经过数字签名的代码文件,然后选择“属性”/数字签名,查看其签名和证书,即可得知该软件是否为你发布的。

六、保护Office文档安全

Office可以通过数字证书来确认来源的可靠,你可以利用数字证书对Office文件或宏进行数字签名,从而确保它们都是你编写的、没有被他人或病毒篡改过。

1、用数字证书进行宏的签名

宏测试完毕确认后,再对宏进行签名。打开包含要签名的宏方案的文件,在“工具/宏/Visual Basic编辑器/工程资源管理器”中,选择要签名的方案;再点击“工具/数字签名”命令即可。

如果要防止用户因意外修改宏方案而导致签名失效,请在签发之前锁定宏方案。您的数字签名只能说明您保证该方案是安全的,并不能证明是您编写了该方案。因此锁定宏方案不能防止其他用户利用另一个签名替换您的数字签名。

2、用数字证书对文档签名

打开要签名的Word 文档(Office XP),单击菜单“工具/选项”,点击打开“安全性”选项卡(见图9),其中有个“数字签名”按钮,单击之给该文件加上你的数字签名,随之会弹出一个窗口,要求添加你的数字证书,单击“添加”按钮,从你的数字证书中选择一个进行添加;然后按“确定”返回,现在你的数字证书就加到该文档中了。


如图6

如图7



以后别人打开该文档,单击“工具”/选项/安全性”菜单,在此处看到你的数字证书,就知道该文档是你编写的,因为有你的数字签名。

为了防止别人修改你的文档资料,你还应该在图9所示的画面中,给文档添加一个修改权限密码,即在“修改权限密码”一栏,输入密码123,最后按“确定”退出保存。这样以后再次打开该文档时,就会要求你输入这个修改权限密码,假如你不知道密码,就不能修改该文档、只能以只读形式打开之。


七、为加密的NTFS分区制作“钥匙”

如果你的硬盘上有NTFS分区、并且对该分区中的数据进行了加密,那么应该及时备份密钥,假如你没有这样做,以后一旦重新安装系统,你就会无法访问NTFS分区上的加密数据,备份密钥的方法是:

在IE中点击“工具/Internet选项”,进入“内容”选项卡,点击“证书”按钮,在打开的“证书”窗口中选中要导出的证书,单击“导出”;按照向导的提示,一路按“下一步”;直至向导询问你是否导出私钥,选择“导出私钥”即可,其他的选项均保留默认设置,最后输入该用户的密码和想要保存的路径并确认,导出工作就完成了。

导出的证书是一个以PFX 为后缀的文件。以后你重装系统后,可以找到该PFX 文件,鼠标右击之并选择“安装PFX”,系统将会弹出一个导入向导,按照提示导入备份密钥,这样即可打开之前加密的数据文件。

八、检查Windows是否为微软原版

如果你想知道自己的Windows是否为微软原版,只要验证其核心文件是否被替换过即可,那么如何知道核心文件未被替换过呢?你可以使用工具来检查这些文件的数字签名,Windows XP/2000中有“文件签名验证”工具,Windows 9x则提供了“系统文件检查器”,使用这些工具你可以知道系统文件的数字签名状态,假如它们都经过了数字签名,则说明Windows未被篡改过、是微软原版的,下面我们以WindowsXP/2000为例,介绍验证的方法。

单击菜单“开始/运行”,键入“sigverif”打开“文件签名验证”窗口,然后点击“开始”按钮检查每个系统文件的数字签名,过一会儿将显示一个画面(见图10),列出所有未经过数字签名的文件,如果你发现列表中有winlogon.exe、licdll.dll这两个文件,那么你的Windows就被篡改过了,否则即为微软原版的。

如图8 


九、不再弹出签名验证警告

Windows XP自带的驱动程序都通过了微软的WHQL数字签名,当你安装未经过微软数字签名的驱动程序时,就会显示警告信息“没有通过Windows徽标测试,无法验证它同Windows XP的相容性”,如果要求不再弹出驱动程序签名验证警告,你可以这样设置:

单击“开始/设置/控制面板/系统”,打开“系统属性”窗口,切换到“硬件”选项页,点击“驱动程序签名”按钮,弹出一个窗口(见图11),选择“忽略—安装软件,不用征求我的同意”,在“系统管理员选项”下,选中“将这个操作作为系统默认值应用”复选框,最后按“确定”退出。

如图 9


十、屏蔽插件安装窗口

众所周知,用IE上网浏览时,经常会要求你安装各种插件,例如3721、IE搜索伴侣、百度等。有些人需要安装这些插件,假如你不想安装它们,弹出的这些插件安装窗口,就会让你非常烦恼!其实使用Windows的证书机制,把插件的证书安装到“非信任区域”,即可屏蔽这些插件的安装窗口,下面我们以屏蔽Flash播放插件为例,加以说明:

在弹出的Flash播放插件安装窗口中,有个“其发行者为:”,在它下面有个发行者名称的链接(即“Macromedia”),点击该发行者链接,会出现一个证书窗口,选择“不信任的证书”的选项,把证书安装到“非信任区域”,点击确定,这样以后就不会再弹出该插件安装窗口了。


六、数字证书应用全攻略——认识数字证书

认识数字证书

一、什么是数字证书? 

数字证书也叫数字标识 (Digital Certificate,Digital ID),是一种应用广泛的信息安全技术,一般由权威公正的第三方机构即CA(Certificate Authority)中心签发,主要用于网上安全交往的身份认证,通俗地讲,数字证书就是个人或单位在网络上的身份证。数字证书以密码学为基础,采用数字签名、数字信封、时间戳服务等技术,在Internet上建立安全有效的信任机制。

数字证书文件通常就是一个.cer文件,采用ITUT X.509国际标准格式,其内容包含证书所有者的信息、公开密钥和证书颁发机构的签名等信息。在IE中单击菜单“工具/Internet选项”,选择“内容”选项卡,点击“证书”按钮;然后在“个人”选项卡中,选定某个数字证书,单击“查看/详细信息”,即可看到数字证书的主要内容
(见图10)。 



从图中可以看出,数字证书主要包括以下内容:

证书的版本信息,图中V3表示该证书是X.509 V3版本;

证书的序列号,每个证书都有一个唯一的证书序列号;

证书所使用的签名算法; 

证书的发行机构名称,命名规则一般采用X.500格式; 

证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049; 

证书所有人的名称,命名规则一般采用X.500格式; 

证书所有人的公开密钥(即公钥);

   证书发行者对证书的签名等。

二、数字证书的类型

数字证书有代码签名证书、安全电子邮件证书、个人和单位身份证书以及服务器证书等几种类型,分别应用于不同的场合。例如代码签名证书主要用于给程序签名;安全电子邮件证书,用于给邮件数字签名;而个人数字证书用途则很广,可以用来给Office XP文档、软件代码、XML文件、Email等文件数字签名。

数字证书可以存放在计算机的硬盘、随身软盘、IC卡或CUP卡中。如果数字证书存放在硬盘上,就有可能被盗,所以建议你把它存放在IC卡或CUP卡中,这样密钥可以不出卡,安全级别最高。

三、数字认证原理

利用数字证书技术进行网上安全传输数据的基本原理是:首先传输双方互相交换证书,验证彼此的身份;然后,发送方利用证书中的公钥和自己的私钥,对要传输的数据进行加密和签名,这样即可保证只有合法的用户才能解密数据,同时也保证了传输数据的真实性和不可否认性。

1、数据加密

数字证书技术利用一对互相匹配的密钥进行加密、解密。当你申请证书的时候,会得到一把私钥和一个数字证书(公钥)。其中公钥可以发给他人使用,而私钥你应该保管好、不能泄露给其他人,否则别人将能用它以你的名义签名。

当你向朋友发送一份保密文件时,需要使用对方的公钥对数据加密,朋友收到文件后,则使用自己的私钥解密,如果你没有私钥,就不能解密文件,从而保证数据的安全保密性。这种加密是不可逆的,即使你已知明文、密文和公钥,也无法推导出私钥。

2、数字签名

另外,你也可以对文件进行数字签名,即用你的私钥对数据进行加密处理。由于私钥仅为你一个人拥有、别人是无法仿造的,因此经过你签名的文件一定是你自己签名发送的,而且它还未曾篡改过。你可以右击某个文件,查看文件属性,假如没有有效的数字签名,那么你将无法得知该文件的来源,或者无法确保它在发行之后未被篡改过(可能由病毒篡改)。

七、数字证书应用全攻略——如何获取数字证书


数字证书可以在网上向相关CA机构申请获得,或者使用makecert之类的工具自己生成。你可以申请个人和单位数字证书、安全电子邮件证书、代码签名证书以及服务器证书,分别应用于不同的场合。

一、网上申请数字证书

你可以在网上向一些CA中心申请数字证书,目前网上有很多专门提供数字证书的CA中心,例如中国数字认证网(http://www.ca365.com)、广东省电子商务认证中心(http://www.cnca.net/)、博大证书(http://ca.foxmail.com.cn/)、天威诚信(http://www.itrus.com.cn)等,一些CA中心还向你提供了免费的试用型数字证书,不过试用期结束后,如果你要继续使用该数字证书,就需要花钱购买了,申请步骤如下:

打开http://www.cnca.net/网页,点击“个人数字证书”栏下的“立即试用”,弹出一个页面,要求你安装根证书(即CA证书链),单击“安装证书链”按钮,系统将提示是否将证书添加到根证书存储区,选择“是”;然后进入“基本信息”表单,输入你的个人资料,在CSP栏目中选择“Microsoft Base Cryptagraphic Provider V1.0”,填写补充信息,例如有效证件类型、证件号码、出生日期等等,存储介质选择“本地”将证书保存在本机硬盘上;最后点击“提交”按钮进行申请。

如图1


接下来,系统将发送一封申请成功的信件到你申请时所用的邮箱内,其中包括业务受理号、密码以及数字证书下载的地址;点击数字证书的下载地址链接,并填写业务受理号和密码并提交,即可安装数字证书,当提示“证书成功下载并装入应用程序中”,则表明数字证书安装成功。

二、用makecert生成数字证书

首先下载微软的Authenticode for Internet Explorer 5.0(下载地址http://www.microsoft.com/downloa ... amp;displaylang=en),该工具包中有个makecert.exe程序,你可以用它来制作自己的数字证书。这种方法生成的数字证书虽然不属于受信任的证书,但完全能够正常使用,操作步骤是:在命令提示行中,用CD命令进入makecert.exe所在目录,然后输入以下命令:

makecert -sv lacl.pvk -n "CN=lacl" -ss My  -b 01/01/2005 -e 01/01/2095 lacl.cer

命令中各参数的含义见附表。

如图2


以上命令执行后,将弹出一个窗口,要求你设置私匙密码,如果你不设密码,点“无”按钮即可。

于是在makecert.exe程序所在目录下,就生成了数字证书文件lacl.cer和对应的私匙文件lacl.pvk。注意:私钥文件为你个人所有,不能泄露给其他人,否则别人可以使用它、已你的名义签名。

八、数字证书应用全攻略——检查电脑上中的数字证书


如果你要查看自己的电脑上有哪些数字证书,可以使用以下四种方法:

一、用MMC来查看

单击“开始/运行”,输入MMC打开“控制台”,点击菜单“文件→添加/删除管理单元”,在弹出的对话框中点击“添加”按钮,然后在管理单元列表中双击“证书”,选中“我的用户账户”,再点击“完成”按钮,回到“控制台根节点”,窗口下面显示就是当前用户的所有证书。

如图3 

二、用certmgr.msc查看

单击“开始/运行”,输入certmgr.msc,在打开的窗口中(见图3),单击“个人”下面的“证书”,可看到你的所有证书。



三、用Certmgr查看

上文提过的Authenticode for Internet Explorer 5.0工具包,里面有个Certmgr.exe程序,可以查看你的电脑上有哪些数字证书。双击Certmgr.exe,就会弹出一个窗口,显示你的数字证书列表。如果你单击“导入”按钮,选择证书文件,可以安装根证书。

四、在Internet选项中查看

运行Internet Explorer,单击菜单“工具”/Internet选项,选择“内容”选项卡,点击“证书”按钮,也可以查看本机上的数字证书。

在“证书”对话框中,点击“个人”选项卡,即可看到你的个人数字证书列表;选定某个数字证书,单击“查看”按钮,可以看到该数字证书的详细信息。

如图4 


九、数字证书应用全攻略——数字证书的管理


一、删除误安装的数字证书

如果你不小心将数字证书添加到了不信任区域了,可以这样删除:单击“开始→运行”,输入“certmgr.msc”,在打开的窗口中选择“不信任的证书→证书”,找到该证书并右击之,选择“删除”即可。

二、数字证书失效时处理技巧

根源证书是用来验证其它证书(包括安全性证书在内)的应用程序。如果电脑上的根源证书失效了,或者“日期/时间”设置错误,都会造成数字证书失效。

假如是根源证书失效了,你可以登录www.verisign.com/support/site/update.html,下载最新版本的根源证书;如果是“日期/时间”设置错误、引起数字证书失效,你可以双击任务栏右边的时间,设置正确的日期和时间。

三、备份数字证书

如图5 


按照以上查看证书的方法,打开证书窗口,选中要进行备份的数字证书,点击“导出”按钮,按照向导的提示,一路按“下一步”(见图4)进行备份。注意如果你是为了备份而导出的,就要导出私钥,否则就不要这样做。

四、恢复数字证书

按照以上查看证书的方法,打开证书窗口,选中要导入证书的逻辑存储区域(比如“个人”),单击“导入”按钮,打开“证书导入向导”,按照提示即可完成证书导入。如果导入的是具有保护密码的证书,则还需要输入相应的密码。


转自:http://blog.csdn.net/zhouyuqwert/article/details/5977578

发布了25 篇原创文章 · 获赞 5 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章