为了实现验证在传输数据时是否被修改和其安全性我们通常对其加密
常见Linux加密方式
对称加密
公钥加密(非对称加密)
单向加密
1.对称加密
对称加密算法: DES(56bits) AES(128bits) 3DES Blowfish Twofish IDEA RC6 CAST5Serpent
对称加密特性: 加密/解密使用同一口令
将原文分隔成固定大小的数据块,对这些块进行加密
对称加密工具:gpg,openssl
指令:
加密 #openssl enc -des3 -a -salt -in /etc/passwd -out /tmp/passwd.cipher
解密 #openssl enc -d -des3 -a -salt -in /tmp/passwd.cipher/ -out /tmp/passwd.cleartext
查看 #cat /tmp/passwd.cleartext
2.单向加密
特性:One-Way-顾名思义单向;
雪崩效应-输入有点区别就会产生巨大的差距
算法:MD5(128bits)SHA1(160bits) SHA512(512bits)
工具:sha1sum,md5sum,cksum,openssl dgst
格式:openssl dgst [-md5|=md4|-md2|-sha1|-sha|-mdc2|ripemd160|- dssl] [-out filename] /path/to/somefile
范例:#openssl dgst -sha1sum passwd.cleartext
以sha1sum算法加密passwd.cleartext明文文件
MAC消息认证码
特性:单向加密的延伸
应用:消息认证码是基于密钥和消息摘要所获得的一个值,
可用于数据源发认证和完整性校验
工作机制:发送方首先使用通信双方协商好的散列函数计
算其摘要值。在 双方共享的会话密钥作用下,
由摘要值获得消息验证码。之后,它和数据一起
被发送。接收方收到报文后,首先利用会话密钥
还原摘要值,同时利用散列函数在本地计算所收
到数据的摘要值,同时利用散列函数在本地计算
所收到数据的摘要值,并将这两个数据进行比对。
若两者相等,则报文通过认证。
算法:HMAC,使用md5和sha1算法
用户认证
工具:passwd,openssl passwd
举例:openssl passwd-1 -salt AAABBB 出入密码后
1$AAABBB$r42gNYYXUTdXy00ZV0Pr4
3.公钥加密
特性:公钥加密,私钥解密 –非对称加密
算法:RSA,EIGaml
工具:gpg,openssl reautl
密钥对:公钥pkey 私钥skey
数字签名
特性:私钥加密,公钥解密
算法:RSA,EIGamal,DSA
其中DSA只提供数字认证,不提供加密
密钥交换
特性:IKE(互联网密钥交换)属于公钥加密
算法:DH(Diffie-Hellman)
数字证书
证书格式:x509、pkcs
x509格式:公钥和有效期限
持有者的个人合法身份信息(服务器主机名)
证书的使用方式
CA的信息
CA的数字签名
4.openssl 实现私有CA
1)配置文件 vim /etc/pki/tls/openssl.conf
wKioL1M1PKyAR-MeAAMXfizDx0Y000.jpg
2) 创建密钥对儿pkey skey
#(umask 077;openssl genrsa -out private/cakey.pem 2048)
生成自签证书
#openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3655
CA签署证书
将证书传回给请求者
#openssl ca -in httpd.csr httpd.crt -days 3650
吊销证书
openssl ca -revoke httpd.crt
下一篇:oracle常用语法