一、数据加密方式
加密方式分为:单向加密、对称加密和公钥加密。
1.对称加密
对称加密:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。在对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK、AES等。
特性:
1、加密、解密使用同一个密钥;
2、将原始数据分割成固定大小的块,逐个进行加密;
缺陷:
1、密钥过多;
2、密钥分发;
对称加密过程如下图所示:
2.公钥加密
公钥加密,也叫非对称(密钥)加密(public key encryption),属于通信科技下的网络安全二级学科,指的是由对应的一对唯一性密钥(即公开密钥和私有密钥)组成的加密方法。它解决了密钥的发布和管理问题,是目前商业密码的核心。在公钥加密体制中,没有公开的是明文,公开的是密文,公钥,算法。
常见算法有RSA、ElGamal、背包算法、Rabin(Rabin的加密法可以说是RSA方法的特例)、Diffie-Hellman (D-H) 密钥交换协议中的公钥加密算法、Elliptic Curve Cryptography(ECC,椭圆曲线加密算法)。使用最广泛的是RSA算法(由发明者Rivest、Shmir和Adleman姓氏首字母缩写而来)是著名的公开金钥加密算法,ElGamal是另一种常用的非对称加密算法。
公钥加密过程如下图:
3.单向加密
单向加密是非可逆加密,就是不可解密的加密方法,提取数据的指纹。常见的加密算法有MD5、SHA、HMAC这三种加密算法。我们通常只把他们作为加密的基础,单纯的以上三种的加密并不可靠。
单向加密如下图:
二、KPI
PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施;PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。
1.基本组成
PKI公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书。一个机构通过采用PKI框架管理密钥和证书可以建立一个安全的网络环境。PKI 主要包括四个部分:X.509 格式的证书(X.509 V3)和证书废止列表CRL(X.509 V2);CA 操作协议;CA 管理协议;CA 政策制定。一个典型、完整、有效的PKI 应用系统至少应具有以下五个部分:
(1)认证中心CA
CA 是PKI 的核心,CA 负责管理PKI 结构下的所有用户(包括各种应用程序)的证书,把用户的公钥和用户的其他信息捆绑在一起,在网上验证用户的身份,CA 还要负责用户证书的黑名单登记和黑名单发布,后面有CA 的详细描述。
(2)X.500目录服务器
X.500 目录服务器用于发布用户的证书和黑名单信息,用户可通过标准的LDAP协议查询自己或其他人的证书和下载黑名单信息。
(3)具有高强度密码算法(SSL)的安全WWW服务器
Secure socket layer(SSL)协议最初由Netscape企业发展,现已成为网络用来鉴别网站和网页浏览者身份,以及在浏览器使用者及网页服务器之间进行加密通讯的全球化标准。
(4)Web(安全通信平台)
Web 有Web Client端和Web Server端两部分,分别安装在客户端和服务器端,通过具有高强度密码算法的SSL协议保证客户端和服务器端数据的机密性、完整性、身份验证。
(5)自开发安全应用系统
自开发安全应用系统是指各行业自开发的各种具体应用系统,例如银行、证券的应用系统等。完整的PKI 包括认证政策的制定(包括遵循的技术标准、各CA 之间的上下级或同级关系、安全策略、安全程度、服务对象、管理原则和框架等)、认证规则、运作制度的制定、所涉及的各方法律关系内容以及技术的实现等。
2.CA
认证中心CA作为PKI的核心部分,CA实现了PKI中一些很重要的功能,概括地说,认证中心(CA)的功能有:证书发放、证书更新、证书撤销和证书验证。CA的核心功能就是发放和管理数字证书,具体描述如下:
(1)接收验证最终用户数字证书的申请。
(2)确定是否接受最终用户数字证书的申请-证书的审批。
(3)向申请者颁发、拒绝颁发数字证书-证书的发放。
(4)接收、处理最终用户的数字证书更新请求-证书的更新。
(5)接收最终用户数字证书的查询、撤销。
(6)产生和发布证书废止列表(CRL)。
(7)数字证书的归档。
(8)密钥归档。
(9)历史数据归档。
认证中心CA为了实现其功能,主要由以下三部分组成:
注册服务器:通过 Web Server 建立的站点,可为客户提供24×7 不间断的服务。客户在网上提出证书申请和填写相应的证书申请表。
证书申请受理和审核机构:负责证书的申请和审核。它的主要功能是接受客户证书申请并进行审核。
认证中心服务器:是数字证书生成、发放的运行实体,同时提供发放证书的管理、证书废止列表(CRL)的生成和处理等服务。
在具体实施时,CA的必须做到以下几点:
1) 验证并标识证书申请者的身份。
2) 确保CA 用于签名证书的非对称密钥的质量。
3) 确保整个签证过程的安全性,确保签名私钥的安全性。
4) 证书资料信息(包括公钥证书序列号,CA标识等)的管理。
5) 确定并检查证书的有效期限。
6) 确保证书主体标识的唯一性,防止重名。
7) 发布并维护作废证书列表。
8) 对整个证书签发过程做日志记录。
9) 向申请人发出通知。
在这其中最重要的是CA自己的一对密钥的管理,它必须确保其高度的机密性,防止他方伪造证书。CA的公钥在网上公开,因此整个网络系统必须保证完整性。CA的数字签名保证了证书(实质是持有者的公钥)的合法性和权威性。
三、OpenSSL