• 数据安全-数据加密学


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

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

      

     

  • 相关阅读:
    JavaScript-创建日志调试对象(面向对象实例)
    公有属性 公有方法(原型方法) 私有属性 私有方法 特权方法 静态属性 静态方法 对象字面量创建
    JS库创建
    无post按钮提交表单
    当浏览器窗口大小改变时,设置显示内容的高度
    单元测试(qunit)
    HTML定位(滚动条、元素,视口)定位
    document.compatMode(判断当前浏览器采用的渲染方式)
    jquery自定义方法
    jQuery选择器总结
  • 原文地址:https://www.cnblogs.com/hongjinping/p/13154809.html
Copyright © 2020-2023  润新知