SSL TLS

解决三个问题:窃听,篡改,冒充
单独使用非对称加密也是不安全的,公钥是公开的,如果黑客劫持了服务器发送过来的用私钥加密的信息,也是可以用公钥解密的。
一个私钥对应一个公钥。
非对称加密一般用于公钥加密和公钥认证。


SSL/TLS
版本:ssl3.0,tls1.0,tls1.1,tls1.2
浏览器与服务器使用https交互第一步是:
客户端发送一组算法套件(例如: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA  )给服务器,服务器从中选择自己支持的一个算法套件。
算法套件一般包含四类型算法:
密钥交换算法:RSA,Diffie-Hellman
加密算法:DES 56/56, RC2 56/128, RC4 128/128, AES 128/128, AES 256/256
信息完整性算法:MD5,SHA
PRF(伪随机数函数):用于生成“master secret”

数字签名:
先用信息摘要算法将明文生成信息摘要再用私钥加密,将生成该加密信息附在明文下面,收到此信息的人可以先取出数字签名,用公钥解密得到信息摘要,再取出明文也生成信息摘要,将两者对比看是否一样,签名的作用是保证此信息是由公钥相应的私钥发过来的信息,保证数据的完整性防止篡改。

数字证书:
三个元素:私钥,公钥证书,CA证书
公钥证书:是由证书申请人信息,证书颁发方信息以及最重要的公钥组成,此公钥是由证书颁发方的私钥加密而成。
CA证书:主要包含了证书颁发方的公钥。
拿https交互为例:请求https,服务器发送公钥证书,浏览器用本地的CA证书解密公钥证书,拿到的公钥便是与服务器上的私钥相对应的公钥。
证书的作用是:公钥与配对的私钥可以加解密成功,但是不能保证生成公钥和私钥人的身份,如果证书是权威的第三颁发便能保证这一点。


证书(Certificate) - *.cer *.crt
私钥(Private Key) - *.key
证书签名请求(Certificate sign request) - *.csr
至于pem和der,是编码方式,以上三类均可以使用这两种编码方式,因此*.pem和*.der(少见)不一定是以上三种(Cert,Key,CSR)中的某一种
pem - base64编码
der - 二进制编码

openssl模拟客户端获取服务端证书:
openssl s_client -CApath /etc/ssl/certs/ -showcerts -connect wwwcie.ups.com:443 > certs.txt


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值