PKI基础知识
- PKI概述
PKI是Public Key Infrastructure 的缩写,即公开密钥基础设施,是国际上解决开放式互联网络信息安全需求的一套体系。
PKI体系支持身份认证、信息传输、存储的完整性、消息传输、存储的机密性,以及操作的不可否认性。
PKI的作用就是只要遵从必要的原则,不同的实体都可以方便的使用基础设施提供的服务。
PKI的核心是认证中心(CA)。CA会像公安局发放身份证一样发放一个叫做“数字证书”的身份证明。
这个证书包含了用户身份的部分信息,以及用户持有的公钥。CA利用本身的私钥为数字证书加上了数字签名。其核心基础是公钥密码学的“加密”和“签名”技术。 - 什么是数字证书
数字证书就是网络通信中标志通信各方身份信息的一系列数据
最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。
一般情况下证书中还包括密钥的有效时间、发证机关(证书授权中心)的名称、该证书的序列号等信息。
证书格式遵从ITUT X.509国际标准,一个标准的X.509数字证书包含以下一些内容。
- 证书的版本号
- 证书的序列号,每个证书对于特定的CA都有一个唯一的证书序列号
- 证书所使用的签名算法
- 证书的发行机构名称,命名规则一般采用X.500格式
- 证书的有效期。现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049
- 证书所有人的名称,命名规则一般采用X.500
- 证书所有人的公开密钥
- 证书发行者对证书的签名
1.2.1 数字认证的原理
- 数字证书采用公钥体制,即利用一对相互匹配的密钥进行加密、解密。
- 每个用户可以设定一把特定的仅为本人所知的私有密钥(私钥),用其进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。
- 当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密
- 公开密钥密码体制中,常用的一种是RSA加密算法,其数学原理是将一个大数分解为两个质数的乘积,加密和解密用的是两个不同的密钥。
- 用户可以通过数字签名实现数据完整性和有效性,只需采用私钥对数据进行加密处理,由于私钥仅为用户个人拥有,一次能够保证签名文件的唯一性,即保证数据由签名者自己签名发送,签名者不能否认或者难以否认
1.2.2 数字认证是如何颁发的
- 数字证书是由认证中心颁发的,该证书是认证中心与用户建立信任关系的基础。
- 认证中心是一家能向用户签发数字证书以确认用户身份的管理机构
证书颁发过程如下:
- 用户产生了自己的密钥对,并将公钥及部分个人身份信息传送给认证中心。
- 认证中心核实身份,执行一些步骤后确认请求确实由用户发送而来
- 确认身份后,认证中心将发给用户一个数字证书。该证书附有用户和它的密钥等信息,还附有对认证中心公钥加以确认的数字证书。当用户想证明其公钥合法性时就可以提供该数字证书。
- 为什么要使用数字证书
- 数据传输的保密性:大部分的网络信息传播中,数据均又加密的要求。
- 交易者身份的确认性:网络能促成超远距离交易,但是交易双方身份难以确认。数字证书能够方便可靠的确认对方身份。
- 发送信息的不可否认性:数字证书提供了一种在网上验证身份的方式。证书体制采用了公开密钥体制,其他还包括对称密钥加密、数字签名、数字信封等技术。
而此时可以使用数字证书。通过运用对称与非对称密码体制等密码技术建立起一套严密的身份认证系统,从而保证:
- 信息除发送方和接收方外不被其他人窃取;
- 信息在传输过程中不被篡改;
- 发送方能够通过数字证书来确认接收方的身份;
- 发送方对于自己的信息不能抵赖;
- 数据交换的完整性:在数据交换中必须保证数据的完整性。
- 加密技术
加密技术利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或者不同的手段还原(解密)
加密包括两个元素:算法和密钥
- 一个加密算法是将将普通文本(或者可以理解的信息)与一串数字(密钥)结合,产生不可理解的密文的步骤.密钥和算法对加密同等重要。
- 密钥是用来对数据进行编码和解码的一种算法.在安全保密中,可通过适当的密钥加密技术和管理机制来保证网络的信息通信安全。
密钥加密技术的密码体制分为对称密钥体制和非对称密钥。
而对数据加密的技术分为两类:即对称加密和非对称加密(公开密钥加密)。
对称加密:
- 以数据加密标准(DES,Data Encryption Standard)算法为典型代表。
- 加密密钥和解密密钥相同
非对称加密:
- 以RSA(Rivest Shamir Adleman)算法为代表
- 加密密钥和解密密钥不同
加密密钥可以公开,而解密密钥需要保密。
4.1 对称加密技术
特点:采用对称密码编码技术,其特点是加密和解密使用相同的密钥,即加密密钥也可以作解密密钥
优点:简单快捷、密钥较短、破译困难
典型:DES、3DES、AES、IDEA。
主要问题:
- 在首次通信时需要协商一个共同的密钥,若面对面协商难以实施,则双方需要一条安全的通道使通信双方协商密钥。而借助于邮件或者电话等其他手段相对不够安全。
- 密钥的数目难于管理。对每一个合作者搜需要使用不同的密钥,很难适应开放社会中大量的信息交流
- 对称加密算法一般不能提供信息完整性的鉴别。它无法验证发送者和接受者的身份。
- 对称密钥的管理和分发工作是一件具有潜在危险的、繁琐的过程。对称加密是基于共同保守秘密来实现的,采用对称加密的贸易双方必须保证采用的是相同的密钥,保证彼此而交换是安全可靠的,同时还要设定防止密钥泄露和更改密钥的程序。
4.2 非对称加密技术
特点:需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是成对的,一方对数据进行加密,只有另一方才能对数据进行解密。
优点:保密性较好,消除了最终用户交换密钥的需要。
典型:公开密钥系统
主要问题:
- 不适合对文件进行加密,只适合加密少量的数据。
公开密钥对文件进行加密传输的实际过程:
- 发送方生成会话密钥(对称密钥)并用接收方的公开密钥对会话秘钥进行解密,然后通过网络传输给接受方。
- 发送方对需要传输的文件用会话密钥进行加密,然后通过网络把加密过的文件传输到接收方。
- 接收方用自己的私有秘钥进行解密后得到会话密钥。
- 接收方用会话密钥对文件进行解密,得到明文的形式。
文件传输过程中实现了两个加密解密过程:文件本身的加密解密与会话密钥的加密解密,分别通过对称加密解密和非对称加密解密来实现。这就是常说的数字信封概念。 - 数字签名技术
- 数字签名
完整的数字签名应该具备签字方不能抵赖、他人不能伪造、在公证人面前能够验证真伪的能力。
采用数字签名有以下两点可以确认:
- 信息是由签名者发送
- 信息自签发后到收到为止未曾做过任何修改
- 时间戳
数字时间戳服务(DTS:Digital Time Stamp Serive)是网上电子商务安全服务项目之一,能够提供电子文件的日期和时间信息的安全保护,有专门的机构提供。
时间戳是一个经加密后形成的凭证文档:
- 需要加时间戳的文件的摘要(digist).
- DTS 收到的文件的日期和时间。
- DTS 的数字签名。
时间戳的产生过程:
- 首先将需要加时间戳的文件用Hash编码加密形成摘要
- 将该摘要发送至DTS
- DTS 在加入了收到文件摘要的日期和时间信息后在对该文件加密(数字签名)
- 送回用户