前言:
网络出现之初并没有过多的考虑过完全问题。所以在TCP/IP的网络架构中,网络服务的传输都是基于明文的。但随着上网用户的增多和业务的不断发展。电子商务对网络的安全性要求更加的突显。所以就出现了网络安全的加密解密,以及构建在整个互联网电子商务之下的PKI架构体系。它除了提供安全服务的:认证、访问控制、数据保密性、数据完整性和不可否认性以外,还提供了第三方的安全认证。openssl就是其中最常用的工具。
-----------------------------------------------------------------------------------------------------
加密方式:
1.对称加密:
1)使用同一个密码进行加密。
2)将原文分割成固定块大小,进行加密。
2.非对称加密:
使用公钥和私钥,公钥任何人都可以拥有,私钥只有自己拥有。而公钥加密的文件,只有私钥才能解开。
用途:可以对任意长度的数据进行加密。
3.单向加密:
提取数据的特征码,保证了数据的完整性。
用途:只对简短的数据进行加密。
-----------------------------------------------------------------------------------------------------
加密过程:
1.使用单向加密,加密数据,生成一个特征码。
2.使用自己的私钥对特征码进行加密。
3.对数据和加密过的特征码,再进行一次对称加密(密码)。
4.用对方公钥加密对称加密的密码。
解密过程:
1.使用自己的私钥解密对称加密的密码。
2.用对称加密的密码,解密加密后的数据和特征码。
3.使用单向加密,加密解密出来的数据。
4.使用对方公钥,加密数据特征码。
5.对比3、4步中的特征码是否一致。
-----------------------------------------------------------------------------------------------------
openssl:
功能:
1.手动加密解密数据
2.生成秘钥
3.创建数字证书
组成:
libcrypto //通用功能的加密库
libssl //用于实现TLS/SSL的功能
openssl //多功能命令工具
具体实现:
1.加密解密:
#openssl enc -e -des3 -a -salt -in /etc/passwd -out ./passwd.openssl //加密
#openssl enc -d -des3 -a -salt -in ./passwd.openssl -out passwd.out //解密
2.自建CA:
1)进入CA目录
#cd /etc/pki/CA/
2)生成秘钥对
#(umask 077;openssl genrsa -out private/cakey.pem 2048)
3)生成自签证书
#openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365
4)在CA下创建index.txt、serial、crlnumber等文件
#touch index.txt serial crlnumber
#echo 00 > serial
3.申请证书:
1)在httpd下生成ssl目录:
#mkdir /etc/httpd/ssl
2)生成秘钥:
#(umask 077;openssl genrsa -out httpd.key 1024)
3)生成证书签署请求文件
#openssl req -new -key httpd.key -out httpd.csr
4)请求文件发送给CA
#scp httpd.csr 192.168.100.1:/etc/pki/sign
4.CA签署证书:
#openssl ca -in httpd.csr -out httpd.crt -days 365
#scp httpd.crt 192.168.100.1:/etc/httpd/ssl
5.吊销证书:
#openssl ca -revoke httpd.crt