zoukankan      html  css  js  c++  java
  • 数据安全-数据加密学

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

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

      

     

  • 相关阅读:
    1295. 统计位数为偶数的数字『简单』
    1281. 整数的各位积和之差『简单』
    697. 数组的度『简单』
    748. 最短完整词『简单』
    832. 翻转图像『简单』
    1446. 连续字符『简单』
    1455. 检查单词是否为句中其他单词的前缀『简单』
    1160. 拼写单词『简单』
    1304. 和为零的N个唯一整数『简单』
    1103. 分糖果 II『简单』
  • 原文地址:https://www.cnblogs.com/hongjinping/p/13154809.html
Copyright © 2011-2022 走看看