HTTP和HTTPS以及HTTPS的具体加密流程

  • HTTP是一个超文本传输协议,且信息是明文传输的,存在安全风险问题。HTTPS能够解决这一问题,因为HTTPS是一个在HTTP协议基础上加上了一层SSL / TLS安全协议,让报文能够加密传输。
  • 二者的默认端口不一样,HTTP的默认端口号是80,而HTTPS的默认端口号是443。
  • HTTP建立连接相对比较简单,TCP三次握手之后就可以进行HTTP的报文传输,但是HTTPS实在TCP建立玩三次握手以后,还要再创建一层SSL / TLS协议的握手过程,之后才能进行加密传输。
  • 最后一点,也是重要的一点,就是HTTPS协议需要想CA(国家的证书全文机构)申请数字证书,其中数字证书包括(摘要与数字签名),来保证服务器的身份史可靠的。

以下是HTTPS加密的具体过程:

第一步:客户端向服务器端申请连接,服务器向CA机构申请证书。

第二步:CA机构通过线上或者线下的方式验证确定服务器的合法性。

第三步:验证通过之后,就要开始制作证书。

第四步:制作证书签名(首先通过哈希算法提取摘要,在用CA的私钥对摘要进行加密得到数字签名)。

第五步:向服务器发送证书。

第六步:服务器收到证书之后要进行验证其是否可靠。(用哈希算法(MD5)对证书中的数据进行提取摘要(S_摘),用CA的公钥对数字证书进行解密得到数字签名(CA_摘),将CA_摘和S_摘进行比对,如果相同,则证明此证书是可靠的)

第七步:将这个证书发送给客户端,客户端也进行验证。(验证流程和第六步一样)

第八步:客户端验证通过之后,就会生成一个加密密钥(C_对)。

第九步:使用可靠的服务器端公钥(S_公)进行加密生成对称加密密钥。

第十步:将加密后的对称加密密钥发送给服务器。

第十一步:服务器收到这个加密密钥之后,使用S_公加密生成对称加密密钥C_对。

第十二步:服务器使用S_私进行解密,得到明文的C_对。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值