日照网站建设费用石家庄疫情
1、 什么是HTTPS
HTTPS是基于HTTP的上层添加了一个叫做TLS的安全层,对数据的加密等操作都是在这个安全层中进行处理的,其底层还是应用的HTTP。
2、 什么是对称加密;
加密和解密都是用同一个秘钥
3、 什么是非对称加密;
加密和解密不是用同一个秘钥;
一把称之为公钥,一把称之为私钥,使用公钥加密的内容可以通过私钥进行解密,同样,使用私钥加密的内容使用公钥可以进行解密。公钥和私钥是相对而言的,通常而言,保留在己方不对外泄露称之为私钥,可公布公开的称之为公钥。
4、 什么是数字签名;
服务器的信息(字符串)通过散列获取到hash串(摘要),CA机构会使用自己的私钥对摘要进行加密。
补充:数字签名也叫指纹;
5、 什么是数字证书;
类似身份证(里面包含有有效期开始时间、结束时间、证书持有人、签名以及最关键的持有人的公钥信息等。),由受信任的数字证书颁发机构(简称CA)颁发。
补充:数字证书是经过颁发机构通过自己私钥加密的;
6、 单双向认证
单向认证:客户端请求服务端获取证书信息进行认证,这个就是单向认证,只是客户端认证服务端,但是服务端并没有认证客户端的请求。
双向认证的情况通常比较少见,常见于银行等领域,就像我们以前使用银行的U盾,这就是一种双向认证案例,还有就是在电脑上安装支付宝的证书等;双向认证比单向认证更加安全,但是需要对每一个客户端都进行分配证书。
HTTPS支持单向认证,也支持双向认证。
HTTPS通讯流程
客户端发送:
随机值R1+自己支持的加密算法
服务器回复:
服务器的数字证书+加密算法+随机数R2
客户端处理
1、 通过内置CA解密数字证书;
2、 明文数字证书通过散列获取到hash串,对比数字签名;
3、 用明文的数字证书的公钥对随机值R3加密;
4、 用R1+R2+R3组合成一串密钥用作对称加密用;
客户端发送:
加密后随机值R3给服务器
这时候服务器和客户端都共同拥有R1+R2+R3作为对称加密用;