- 了解基础的加密协议
- 掌握在RHEL中实现加密
- 为常见网络协议配置加密服务
加密的需求
。可疑的未加密的流量 。监听密码/数据 。数据操作 。认证操作 。雷同于邮寄一个信用卡 。之前的不安全协议 。telnet,FTP,POP3......:对密码不安全 。sendmail,NFS,NIS......对信息不安全 。rsh,rcp......:对认证不安全
。随机数生成器 。单向散列hash 。对称算法 。非对称(公钥)算法 。公钥架构 。数字签名 。实现: 。openssl,gpg #openssl #接上面命令之后输入help #man md5看md5用法
随机数生成器
。伪随机数和源 。键盘和鼠标事件 。块设备终端 。内核提供源 。/dev/random: 。最好的源 。当池耗尽时停止 。/dev/urandom: 。伪随机生成器 openssl rand [-base64] num
由于/dev/random产生随机数不多,建议以后使用urandom,可以将原来的/dev/random移除,之后ln -s /dev/urandom /dev/random来创建快捷方式
使用random测试是否能创建给定数值的文件
#dd if=/dev/random of=./1024.txt bs=1 count=1024
#cat < /dev/urandom //将urandom作为输入设备查看生成随机数
#cat < /dev/random //测试random产生的随机数
#openssl rand help 等同于#openssl #rand help
单向Hash散列
。大量的数据较少为小的“指纹” 。不同长度的输入 。固定长度输出 。如果数据更改了,指纹也改变(“不冲突”) 。数据不能通过指纹重新生成(“单向的”) 。常用算法 。md2,md5,mdc2,rmd160,sha,sha1 。常用工具 。sha1sum [--check] file 。md5sum [--check] file 。openssl,gpg 。rpm -V
操作:
#cat ./passwd | openssl sha1 //查看文件的sha1值 #sha1sum ./passwd //使用sha1算法查看passwd文件的校验值 #md5sum ./passwd //使用md5检验passwd文件的值 #cat ./passwd | openssl md5 //查看文件的md5值 Linux rpm包 #rpm -qf /etc/yum.conf #rpm -V yum //查看yum是否报错 #vim /etc/yum.conf //随便修改一个值 #rpm -V yum //查看是否报错校验初始结果。 微软 HashCalc软件
对称加密
。基于单个秘钥 。同时用在加密和解密中 常见算法 。DES,3DES,Blowfish,RC2,RC4,RC5,IDEA,CAST5 。常见工具 。passwd(修改后的DES) 。gpg(3DES,CAST5,Blowfish) 。openssl
#openssl --help
#openssl base64 -in passwd -out passwd.enc //将passwd文件使用base64算法加密
#openssl base64 -d -in passwd.enc -out passwd //将passwd.enc解密
#openssl des3 -in passwd -out passwd.des3 //使用des3加密,需要输入密码
#openssl des3 -d -in passwd.des3 //显示在屏幕,解密也需要输入密码
非对称加密I
。基于 公/私钥对 。什么是密钥加密,什么是解密 。协议I:加密的密钥不同步 。接受者 。生成公/私钥对:P和S 。发布公钥P,保护好私钥S 。发送者 。使用接受者的公钥加密信息 。发送P(M)给接受者 。接受者 。使用密钥解密回复消息:M=S(P(M))
RSA,DSA
非对称机密II
。协议II:数字签名 。发送者 .生产 公/私密钥对:P和S .发布公钥P,保护好私钥S .使用私钥S加密消息M .发送给接收方S(M) 。接收方 .使用发送者的公钥 解密发送的M=P(S(M)) .组合签名和加密 .分离签名
GNU(gnu private guide)
#gpg --help #gpg -e //e参数加密,d参数解密,其他的参考帮助文档 #gpg --gen-key 提示选择1 提示选择2048 提示输入2y 提示输入y realname :yangkun email address:hong*@egoonet.com comment:server128 提示输入ok enter passphrase:test #gpg --list-keys #gpg --export --armor >server128.key 客户端B操作 #gpg --import server128.key //导入key #gpg --list-kys #gpg -e -r yangkun ./myrule.txt
此章节内容需要查找相关文档补充后续时间操作。。。