码迷,mamicode.com
首页 > 其他好文 > 详细

OpenSSL

时间:2016-01-19 10:49:16      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:style

OpenSSL
        NIST定义:
                保密性:
                        数据保密性
                        隐私性
                完整性:
                        数据完整性
                        系统完成性
                可用性

        安全攻击:
                被动攻击:窃听
                主动攻击:伪装、重放、消息篡改、拒绝服务

        安全机制:
                加密、数字签名、访问控制、数据完整性、认证交换机制、流量填充、路由控制、公证

        安全服务:
                认证
                访问控制
                数据保密性
                        连接保密性
                        无连接保密性
                        选择域保密性
                        流量保密性
                数据完整性
                不可否认性

        密码算法和协议:
                对称加密
                公钥加密
                单行加密
                认证协议

        Linux系统:OpenSSL,gpg(pgp)

        加密算法和协议:
                对称加密:加密和解密使用同一个密钥
                        DES:Data Encryption Standard(已被破解)
                        3DES:
                        AES:Advanced Encryption Standard(128bit、192bit、256bit、384bit、512bit)
                        Blowfish
                        Twofish
                        IDEA
                        RC6
                        CASTS

                        特性:
                                1、加密、解密使用同一个密钥
                                2、将原始数据分割成固定大小的块,逐个加密
                        缺点:
                                1、通信对象越多,密钥就越多
                                2、密钥分发

                公钥加密:密钥成对出现
                        公钥:公开给所有人
                        私钥:自己保留,必须保证其私密性

                        特性:
                                使用公钥加密数据,只能使用对应的私钥解密,反之依然

                        数字签名:让接收方确认发送方的身份
                        密钥交换:发送方使用对方的公钥加密一个对称密钥,并发送给对方
                        数据加密

                        算法:
                                RSA
                                DSA

                单向加密:只能加密,不能解密,提取数据指纹
                        特性:定长输出、雪崩效应

                        算法:
                                md5:        128bit
                                sha1:        160bit
                                sha224
                                sha256
                                sha384
                                sha512
                        功能:
                                完整性校验

                密钥交换:IKE
                        公钥加密
                        DH(Deffie-Hellman)

        PKI:Public Key Infrastructure
                签证机构:CA
                注册机构:RA
                证书吊销列表:crl
                证书存取库

        x.509:定义了证书的结构以及认证协议标准
                版本号
                序列号
                签名算法ID
                发行者名称
                有效期限
                主体名称
                主体公钥
                发行者唯一标识
                主体的唯一标识
                扩展
                发行者签名

        SSL:Secure Socket Layer
                1995:SSL 2.0 Netscape
                1996:SSL 3.0
        TLS:Transport Layer Security
                1999:TLS 1.0 
                2006:TLS 1.1 RFC4346
                2008:TLS 1.2 目前安全性最好
                2015:TLS 1.3

                分层设计:
                        1、最底层:基础算法原语的实现:aes、rsa、md5
                        2、向上一层:各种算法的实现 aes-128-cbc-pkcs7
                        3、再向上一层:组合算法实现的半成品
                        4、再向上一层:用各种组件拼装而成的各种成品密码学协议/软件(tls、ssh

                                http 文本编码
                                https 二进制编码

        OpenSSL:开源项目
                三个组件:
                        openssl:多用途命令行工具
                        libcrypto:公共加密库
                        libssl:库,实现了ssl和tls的功能

                openssl命令:
                        openssl version 查看版本信息

                        标准命令、信息摘要命令、加密命令

                        标准命令:
                                enc、ca、req

                        对称加密:
                                工具:openssl enc、gpg
                                算法:3des、aes、blowfish、twofish

                        enc命令
                                -e                加密
                                -d                解密
                                -des3          加密算法des3
                                -a                加密后以文本编码的方式保存
                                -salt            自动添加杂项
                                -in in.file      待加密文件
                                -out out.file 将要生成的加密文件

  1. [root@localhost openssl]# ll
  2. total 4
  3. -rw-r--r--. 1 root root 32 Jan 19 02:01 test
  4. [root@localhost openssl]# cat test 
  5. This is a test file for openssl
  6. [root@localhost openssl]# openssl enc -e -des3 -a -salt -in test -out test.enc
  7. enter des-ede3-cbc encryption password:
  8. Verifying - enter des-ede3-cbc encryption password:
  9. [root@localhost openssl]# ll
  10. total 8
  11. -rw-r--r--. 1 root root 32 Jan 19 02:01 test
  12. -rw-r--r--. 1 root root 78 Jan 19 02:01 test.enc
  13. [root@localhost openssl]# cat test.enc 
  14. U2FsdGVkX190e4nU2jq8PQU5Z1rvgicaTOjB7rO3hE+PKlRd0WbxtetKqMtWBBbF
  15. iNVfCb5kLuw=
  16. [root@localhost openssl]# rm -rf test
  17. [root@localhost openssl]# ll
  18. total 4
  19. -rw-r--r--. 1 root root 78 Jan 19 02:01 test.enc
  20. [root@localhost openssl]# openssl enc -d -des3 -a -salt -in test.enc -out test
  21. enter des-ede3-cbc decryption password:
  22. [root@localhost openssl]# ll
  23. total 8
  24. -rw-r--r--. 1 root root 32 Jan 19 02:02 test
  25. -rw-r--r--. 1 root root 78 Jan 19 02:01 test.enc
  26. [root@localhost openssl]# cat test
  27. This is a test file for openssl
  28. [root@localhost openssl]# 



























OpenSSL

标签:style

原文地址:http://www1707.blog.51cto.com/1184226/1736361

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!