数据加密、解密分为三种: 对称加密
公钥加密
单向加密
1、对称加密:其加密和解密是使用同一个密码,具有机密性
对称加密算法:DES
AES
AES256
2、公钥加密:其比对称加密慢的多,很少用于数据加密
功能:1、密钥交换: 用于互联网的密钥交换
2、数字签名: 用于身份的认证
算法:RSA: 加密、签名
DSA:数字签名算法
3、单向加密:它是提取数据的特征码,实现验证数据的完整性,具有雪崩效应
常见算法:md5
SHA1
SHA256
SHA512
数字证书:Digit Certificate
数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身证。它是由一个由权威机构-----CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。
CA 证书颁发机构:CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。包含公共CA和是有CA。
PKI 公钥基础设施: Public Key Infrastructure,是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,简单来说,PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。用户可利用PKI平台提供的服务进行安全的电子交易,通信和互联网上的各种活动。其核心为CA。
SSL:Secure Sockets Layer安全套接层协议层。 SSL 协议指定了一种在应用程序协议(如 HTTP、Telenet、NMTP和FTP等)和TCP/IP 协议之间提供数据安全性分层的机制,它为 TCP/IP 连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。
TLS:Transport Layer Security 安全传输层协议 用于在两个通信应用程序之间提供保密性和数据完整性。
该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLSHandshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面。
openssl:openssl 是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
它的配置文件为/etc/pki/tls/openssl.conf
OpenSSL的基本功能
OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
openssl创建CA的步骤:
1、先给自己发一证书;
自己生成一对密钥
2、某主机或用户自己生成证书颁发请求; .csr格式
3、递交请求;
4、验证信息,并签署,传输给客户端
openssl创建CA详细步骤:
⑴、CA服务器配置文件的修改
1、vim /etc/pki/tls/openssl.cnf
dir=/etc/pki/CA
2、cd /etc/pki/CA -----> 创建三个目录
#make certs newcerts crl
#touch index.txt
#echo 01 > serial
⑵、自签证书
#(umask 077;openssl genrsa -out private/cakey.pem 2048)
# openssl req -x509 -new -key private/cakey.pem -out cacert.pem -days 365
然后生成一个证书文件:cacert.pem
查看证书内容:#openssl x509 -noout -in cacert.pem -text
⑶、证书申请方:
1、为某服务生成密钥对
#cd /etc/vsftpd ----> 密钥存放地
#mkdir ssl
#cd ssl/
#(umask 077; openssl genrsa 1024 > vsftpd.key)
#openssl req -new -key vsftpd.key -out vsftpd.csr
2、将此请求通过某方式传递给CA服务器
3、CA签署证书(在CA服务器上操作)
#openssl ca -in vsftpd.csr -out vsftpd.crt -days 365