标签: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
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 将要生成的加密文件
[root@localhost openssl]# ll
total 4
-rw-r--r--. 1 root root 32 Jan 19 02:01 test
[root@localhost openssl]# cat test
This is a test file for openssl
[root@localhost openssl]# openssl enc -e -des3 -a -salt -in test -out test.enc
enter des-ede3-cbc encryption password:
Verifying - enter des-ede3-cbc encryption password:
[root@localhost openssl]# ll
total 8
-rw-r--r--. 1 root root 32 Jan 19 02:01 test
-rw-r--r--. 1 root root 78 Jan 19 02:01 test.enc
[root@localhost openssl]# cat test.enc
U2FsdGVkX190e4nU2jq8PQU5Z1rvgicaTOjB7rO3hE+PKlRd0WbxtetKqMtWBBbF
iNVfCb5kLuw=
[root@localhost openssl]# rm -rf test
[root@localhost openssl]# ll
total 4
-rw-r--r--. 1 root root 78 Jan 19 02:01 test.enc
[root@localhost openssl]# openssl enc -d -des3 -a -salt -in test.enc -out test
enter des-ede3-cbc decryption password:
[root@localhost openssl]# ll
total 8
-rw-r--r--. 1 root root 32 Jan 19 02:02 test
-rw-r--r--. 1 root root 78 Jan 19 02:01 test.enc
[root@localhost openssl]# cat test
This is a test file for openssl
[root@localhost openssl]#
OpenSSL
标签:style
原文地址:http://www1707.blog.51cto.com/1184226/1736361