openssl
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openssl相关的知识,希望对你有一定的参考价值。
NIST:
保密性:数据保密、隐私性
完整性:数据完整性、系统完整性
可用性
安全攻击:
被动攻击:窃听
主动攻击:伪装、重放、消息篡改、拒绝服务
安全机制:
加密、数字签名、访问控制、数据完整性、认证交换、流量填充、路由控制、公证
安全服务:
认证、访问控制、数据保密性、数据完整性、不可否认性
密码算法和协议:
对称加密、公钥加密、单向加密、认证协议
Linux系统:OpenSSL, gpg(pgp)
加密算法和协议:
1、对称加密,加密解密使用同一个秘钥
des\3des\aes\blowfish\twofish\idea\rc6\cast5
特性:加密解密使用同一个秘钥,将原始数据分割成固定大小的块,逐个进行加密
缺陷:秘钥过多、秘钥分发
2、公钥加密:密钥是成对儿出现
公钥:公开给所有人;pubkey
私钥:自己留存,必须保证其私密性;secret key
特点:用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然;
数字签名:主要在于让接收方确认发送方身份;
密钥交换:发送方用对方的公钥加密一个对称密钥,并发送给对方;
数据加密:
算法:RSA, DSA, ELGamal
3、单向加密:只能解密,不能解密;提取数据指纹;
特性:定长输出、雪崩效应;
算法:md5、sha1、sha224、sha256、sha384、sha512...
主要功能:保证数据完整性
4、密钥交换:IKE
DH (Deffie-Hellman)
A: p, g
B: p, g
A: x --> p^x%g
B: y --> p^y%g
p^x%g^y = p^xy%g
OpenSSL:
PKI: Public Key Infrastructure
签证机构:CA | 注册机构:RA | 证书吊销列表:CRL | 证书存取库 |
X.509
证书的结构以及认证协议标准:
版本号\序列号\签名算法ID\发行者名称\有效期限\主体名称\主体公钥\发行者惟一标识\主体的惟一标识\扩展\发行者签名
SSL: Secure Socket Layer
TLS: Transport Layer Security
1995:SSL 2.0, Netscape
1996: SSL 3.0
1999: TLS 1.0
2006: TLS 1.1 RFC 4346
2008:TLS 1.2
2015: TLS 1.3
应用层 |
1/2层:ssl、tls
传输层 |
链路层 |
物理层 |
openssl:
三个组件:
openssl: 多用途的命令行工具;
libcrypto: 公共加密库;
libssl: 库,实现了ssl及tls;
command:
openssl version:程序版本号
对称加密:openssl enc, gpg
3des, aes, blowfish, twofish
enc命令:
加密:~]# openssl enc -e -des3 -a -salt -in fstab -out fstab.ciphertext
解密:~]# openssl enc -d -des3 -a -salt -in fstab.ciphertext -out fstab
-des3
openssl ?
单向加密:
工具:md5sum, sha1sum, sha224sum, sha256sum,..., openssl dgst
dgst命令:
openssl dgst -md5 /PATH/TO/SOMEFILE
MAC: Message Authentication Code,单向加密的一种延伸应用,用于实现在网络通信中保证所传输的数据的完整性;
机制:
CBC-MAC
HMAC:使用md5或sha1算法
生成用户密码:passwd命令 openssl passwd -1 -salt SALT
生成随机数:openssl rand -base64|-hex NUM
NUM: 表示字节数;-hex时,每个字符4位,出现的字符数为NUM*2;
公钥加密:
加密:
算法:RSA, ELGamal
工具:gpg, openssl rsautl
数字签名:
算法:RSA, DSA, ELGamal
密钥交换:
算法:dh
DSA: Digital Signature Algorithm
DSS:Digital Signature Standard
RSA:
生成密钥对儿:
openssl genrsa -out /PATH/TO/PRIVATEKEY.FILE NUM_BITS
# (umask 077; openssl genrsa -out key.pri 2048)
提取出公钥:
# openssl rsa -in /PATH/FROM/PRIVATEKEY.FILE -pubout
随机数生成器:
/dev/random:仅从熵池返回随机数;随机数用尽,阻塞;
/dev/urandom:从熵池返回随机数;随机数用尽,会利用软件生成伪随机数;非阻塞;
本文出自 “勤能补拙” 博客,请务必保留此出处http://echoroot.blog.51cto.com/11804540/1946267
以上是关于openssl的主要内容,如果未能解决你的问题,请参考以下文章