1.对称加密算法特性
常见对称加密算法:DES、AES
2.非对称加密特性
常见非对称加密算法:RSA、DSA、ECC
3.单向哈希算法特性
常见算法:md5、sha1、sha224、
常见工具:md5sum、openssl
自签名的证书:自己签发自己的公钥
使用证书授权机构:生成证书请求、将证书请求csr发送给CA、CA签名颁发证书
版本号、序列号、签名算法、颁发者、有效期限、主体名称
Handshake协议:包括协商安全参数和密码套件、服务器身份认证、密钥交换
ChangeCipherSpec协议:一条消息表明握手协议已经完成
Alert协议:对握手协议中一些异常的错误提醒,分为fatal和warning两个级别
Record协议:包括对消息的分段、压缩、消息认证和完整性保护、加密等
HTTPS协议:就是http协议和SSL/TLS协议的组合
包括三个组件
libcrypto:用于实现加密和解密的库
libssl:用于实现ssl通信协议的安全库
openssl:多用途命令行工具
两种运行模式:交互模式和批处理模式
三种子命令:标准命令、消息摘要命令、加密命令
工具:openssl dgst
算法:md5sum,sha1sum,sha224sum,sha256sum
openssl dgst [-hex默认] /PATH/SOMEFILE
补充知识:
MAC:单向加密的一种延伸应用
HMAC:使用哈希算法
openssl passwd
随机数生成器:伪随机数字,利用键盘和鼠标,块设备中断生成随机数
/dev/random 仅从熵池返回随机数:随机数用尽,阻塞
/dev/urandom 从熵池返回随机数;随机数用尽,会利用软件生成伪随机数,非阻塞
openssl rand -base64|-hex NUM
生成私钥
openssl genersa -out /PATH/TO/PRIVATEKEY.FILE [-aes128] [-aes256]
解密加密的私钥?
openssl rsa -in /PATH/TO/PRIVATEKEY.FILE -out /PATH/TO/PRIVATEKEY2.FILE
从私钥中提取公钥
openssl rsa -in PRIVATEKEY.FILE -puboot -out PUBLUICKEY.FILE
?