Openssl加密解密及PKI,创建私有CA
一、什么是SSL?
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
2008: TLS 1.2
2015: TLS 1.3
二、SSL协议出现的目的?
为http安全传输的的保密性,完整性,可用性而存在。
三、密码算法
1、对称加密:加密解密使用同一个密钥
作用:数据加密
缺陷:密钥分发,密钥过多
算法:EDS 3DES AES (常用)
2、非对称加密(公钥加密):密钥成对出现
公钥(pubkey)公开所有人
私钥(secret key)自己保存
作用:身份验证,密钥交换
特点:使用公钥加密只能与之配对的私钥解密,反之亦然。
算法:RSA(常用) DSA
3、单向加密:只能加密不能解密
作用:验证数据的完整性
特点:定长输出,雪崩效应
算法:md5 sha1 sha224 sha256 ……..
四、SSL握手通信
TCP/IP建立三次握手连接后,申请网站CA证书,网站把证书发给客户,客户校验网站名称与CA名称是否一致。
客户端自己内置的受信任的CA机构公钥对其网站证书进行公钥解密,确认身份。
然后通过解密的特征码通过md5或sha1算法进行对比,完成数据的认证。
继续验证证书是否被吊销
之后用IKE密钥交换(HD算法或公钥算法)发自己的对称密钥发过去,以后的传输就通过密钥进行发送数据。通过
五、IKE是啥?
密钥交换,可以根据DH或者非对称密钥来实现。
六、PKI是啥?
七、Openssl开源项目
openssl
多用途命令行工具libcrypto
公共加密库,调用加密库功能libssl
库,实现ssl和tls依赖库功能
八、创建私有CA
创建CA服务器,创建私有CA
httpd端
九、吊销证书
附:Openssh基于密钥认证
#ssh -keygen -t rsa #会在家目录下.ssh/生成一个公钥和私钥。
#ssh-copy-id -i id_key.pub 192.168.31.254 #把公钥传到~/.ssh/authorized_keys注意必须是600权限。
这样就可以实现基于密钥认证。
原创文章,作者:Net18-糖糖,如若转载,请注明出处:http://www.178linux.com/13707
评论列表(1条)
18期小伙伴的文章简直要逆天呀,赞 !已置顶