1、加密方式
对称加密:加密算法+口令
DES(56bits),3DES,AES(128bits),Blowfish
特点:
加密,解密使用同一个口令
将原文分割成固定大小的数据块,对这些块进行加密
缺点:
1、口令传输
2、口令太多
密钥交换:(IKE)DH算法
用户认证:
数据完整性:
非对称加密(公钥加密):密钥对儿,公钥产生于私钥之中,
加密算法:RSA,EIGamal,DSA,
单向加密:之能从明文产生密文,反之不成,严格意义上来讲,它实现的是提取数据特征码
同一个数据,使用同一个算法,多次计算得到的结果一定相同,所以常用于验证数据完整性
定长输出,无论原数据大小是什么,加密后结果输入大小相同
$加密算法$8位随机字符$加密后的密码
算法:MD5:(centos5)
SHA1:
SHA512:(centos6,7采用)
PKI:Public Key Infrastucture 公钥基础架构
数据-->单向加密-->特征码-->私钥加密-->对称加密-->对方的公钥加密
完整性 发送者身份认证 私密性 口令传输
一次加密通信过程
发送者:
1、使用单向加密算法提取生成数据的特征码;
2、使用自己的私钥加密特征码附加在数据后面;
3、生成用于对称加密的临时密钥;
4、用此临时密钥加密数据和已经使用私钥加密后的特征码;
5、使用接收方的公钥加密此临时密钥,附加在对称加密后的数据后方;
接收方:
1、使用自己的私钥解密加密的临时密钥;从而获得对称密钥;
2、使用对称密钥解密对称加密的 数据和私钥加密的特征码密文;从而获得数据和特征码密文;
3、使用发送方的公钥解密特征码密文,从而获得从计算生成的特征码;
4、使用与对方同样的单向加密算法计算数据的特征码,并与解密而来的进行比较;
二、OPENSSL
NIST:
保密性:
数据保密性
隐私性
完整性:
数据完整性
系统完整性
可用性:
OSI: x.800
安全攻击:
被动攻击:监听
主动攻击:伪装、重放、消息篡改、拒绝服务
安全机制:
加密/解密、数字签名、访问控制、数据完整性、认证交换、流量填充、路由控制、公证
安全服务:
认证
访问控制
数据保密性
连接保密性
无连接保密性
选择域保密性
流量保密性
数据完整性
不可否认性
密码算法和协议:
对称加密
公钥加密
单向加密
认证协议
加密算法和协议:
对称加密:加密和解密使用同一个密钥;
依赖于:算法和密钥;
安全性依赖于密钥,而非算法;
1、openssl:套件,开源程序
libcrypto:通用功能的机密库
libssl:用于实现TLS/SSL的功能
openssl:多功能命令工具
生成密钥,创建数字证书,手动加密解密数据
2、加密解密技术常用的功能及算法:
对称加密:
算法:DES,3DES,AES,Blowfish,Twofish,RC6,CAST5
openssl enc -des3 -a -salt -in /path/to/input_file -out /path/to/cipher_)file
openssl enc -d -des3 -a salt in /path/to/cipher_file -ouut /path/to/clear_file
单向加密:
算法:md5:128bits
sha1:160bits
sha512:512bits
工具:sha1sum,md5sum,cksum,openssl dgst
[[email protected]_110 ~]# sha1sum /etc/fstab 4c0f1460d21e1141fcd3f93182cb87128702091f /etc/fstab [[email protected]_110 ~]# openssl dgst -sha1 /etc/fstab SHA1(/etc/fstab)= 4c0f1460d21e1141fcd3f93182cb87128702091f
3、单向加密的延伸应用
MAC:消息摘要码
用于实现在网络通信中保证所传输的数据完整性
机制:
CBC-MAC
HMAC:MD5,SHA1
用户认证:
工具:passwd,openssl passwd
[[email protected]_110 ~]# openssl passwd -1 Password: Verifying - Password: $1$xOAnQ50H$Fzkdh.P7I20vOD94LJl6B/ [[email protected]_110 ~]# openssl passwd -1 #随机加盐 Password: Verifying - Password: $1$DbZWmzRR$RBP9WNYeTya9Zc9IcShvg/ [[email protected]_110 ~]# openssl passwd -1 -salt 123abc Password: $1$123abc$rlOkS30UBZu06DOR0wEQd/ [[email protected]_110 ~]# openssl passwd -1 -salt 123abc "123456" $1$123abc$rlOkS30UBZu06DOR0wEQd/
公钥加密:(加密速度慢,主要用于:身份认证,秘钥交换,)
公钥:pkey
私钥:skey
算法:RSA,EIGmal
工具:gpg,openssl rsautl
数字签名:私钥加密,公钥解密
算法:RSA,EIGmal,DSA
工具: