说到信息加密就离不开加密算法,所谓加密算法其实就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,一般称为“密文”,使其只能在输入相应的密钥以后才能显示出原本内容,经过这样的途径来达到保护数据不被非法人窃取、阅读的目的。主要有对称加密、非对称加密和单项加密。
对称加密:
通讯的双方使用方式用一样的密钥进行加密和解密。密钥其实是一种算法,通讯发送方使用这种算法加密数据,接收方再以一样的算法解密数据。
因为在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
优势:算法公开、计算量小、加密速度快、加密效率高;
缺点:通讯双方都使用一样钥匙,安全性得不到保证;用户每次使用对称加密算法时,都须要使用其余人不知道的唯一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增加,密钥管理成为用户的负担。
常见的对称加密算法有:DES、AES、3DES等。
非对称加密:
非对称加密算法使用两把彻底不一样但又是彻底匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,并且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是惟一知道本身私钥的人。
简单的说也就是若是发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,而后利用收信方的公钥来加密原文;收信方收到加密密文后,使用本身的私钥才能解密密文。
优势:非对称加密算法的保密性比较好,它消除了最终用户交换密钥的须要;
缺点:但加密和解密花费时间长、速度慢,所以它不适合于对文件加密而只适用于对少许数据进行加密。
常见的非对称加密有:DSA、RSA等。
单向加密:
单向加密是指经过提取特征值的方法对数据进行加密,此种加密不可逆,且具备“雪崩效应”即元数据有一点点改变就会引发加密后的密码变化很大。
常见的单项加密算法有:
MD5:MD5 -- message-digest algorithm 5 (信息-摘要算法)缩写,普遍用于加密、解密技术和数据的校验。
SHA1:(Secure Hash Algorithm,安全散列算法),数字签名等密码学应用中重要的工具,被普遍地应用于电子商务等信息安全领域。
他们都具备定长输出的特色,md5的输出长度为128位,sha1的输出长度为160位。
PKI
PKI(Public Key Infrastructure)。是基于公开密钥理论和技术创建起来的安全体系,是提供信息安全服务具备广泛性的安全基础设施。该体系在统一的安全认证标准和规范基础上提供了在线身份认证,是CA认证、数字证书、数字签名以及相关的安全应用组件的集合。PKI的核心是解决信息网络空间中的信任问题,肯定信息网络、信息空间中各类经济、军事、和管理行为行为主体(包括组织和我的)身份的惟一性、真实性和合法性。是解决网上身份认证、信息完整性和抗抵赖等安全问题的技术保障体系。管理PKI的机构即为CA中心。
做为一个安全基础设施的全功能的PKI由一系列组件和服务构成:
1. 证书机构
2. 证书库
3. 证书撤消
4. 密钥备份和恢复
5. 自动密钥更新
6. 密钥文档管理
7. 交差认证
8. 支持不能否认
9. 时间戳
10. 客户端软件
什么是数字证书?
数字证书就是网络通信中标志通信各方身份信息的一系列数据,其做用相似于现实生活中的×××。它是由一个权威机构发行的,人们能够在交往中用它来识别对方的身份。
最简单的证书包含一个公开密钥、名称以及证书受权中心的数字签名。通常状况下证书中还包括密钥的有效时间,发证机关(证书受权中心)的名称,该证书的序列号等信息,证书的格式遵循ITUT X.509国际标准。
使用数字证书,经过运用对称和非对称密码体制等密码技术创建起一套严密的身份认证系统,从而保证:信息除发送方和接收方外不被其它人窃取;信息在传输过程当中不被篡改;发送方可以经过数字证书来确认接收方的身份;发送方对于本身的信息不能抵赖。
Linux服务器实现CA功能
在linux服务器上实现CA功能须要使用到Openssl,Openssl是一个基于密码学的安全开发包,囊括了主要的密码算法、经常使用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
1.在服务器生成供CA使用的openssl证书

cd /etc/pki/CA

(umask 66; open; openssl genrsa 2048 >
private/cakey.pem)

#先生成CA的密钥

openssl req –
new –x509 –key –days 3650
private/cakey.pem –
out cacert.pem

#向本身提出发证请求
2.配置CA
CA的配置文件位于/etc/pki/CA/openssl.conf中

mkdir certs crl newcert

touch index.txt

echo “01” > serial

#建立几个CA配置文件中要用到的目录
3.将收到的签名请求(.csr)作成证书

openssl ca –
in web.csr –
out web.crt
客户端证书的得到:
1.针对须要证书的服务创建对应目录

mkdir /etc/httpd/ssl
2.生成httpd的公钥

(umask 66; openssl genrsa 2048 > web.key)
3.生成签名(.csr)文件

openssl req –
new –key web.key –
out web.csr
4. 将生成的签名.csr文件发送给CA