数据安全-数据加密学

  • 了解基础的加密协议
  • 掌握在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)

扫描二维码关注公众号,回复: 11335937 查看本文章
#gpg --help
#gpg -e    //e参数加密,d参数解密,其他的参考帮助文档
#gpg --gen-key
提示选择1
提示选择2048
提示输入2y
提示输入y
realname :yangkun
email address:[email protected]
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   

此章节内容需要查找相关文档补充后续时间操作。。。  

  

 

猜你喜欢

转载自www.cnblogs.com/hongjinping/p/13154809.html
今日推荐