http与https(前端面试)

1.http与https

1.http与https的区别

1.http:

  • http是一种明文传输,当传入过程中被黑客拦截了,就会导致传输过程中的数据给泄漏了。即黑客可能获取了你的用户密码等等
  • http对报文直接传输,不用加密和解密,相对来说要信息传输快一点,但是不安全。
  • http默认端口号为80
  • http 不用收费。
    2.https:
  • https是一种经过加密处理的传输协议,相对http来说,传输的数据为经过加密的密文,即使被黑客拦截,信息也是比较安全的。
  • https要收费。
  • https默认端口为443
2.加密的方式
  1. 对称加密:
    加密和解密使用的同一个密钥
    在这里插入图片描述
    当客户端和服务器建立链接时,在传输数据之前客户端和浏览器约定密钥为XXX
    后面客户端和服务器都使用密钥加密即可。

缺陷: 若果黑客在客户端和服务器交流密钥中获取到了一个加密的密钥,后续传输的数据对于黑客来说也是可见。

  1. 非对称加密(公私钥)
    在这里插入图片描述
    公钥加密,私钥解密,或者公钥加密,私钥解密
    建立通信:
    1.服务器端会给一个公钥给客户端
    2.客户端用服务器给的公钥去加密 后续交流的对称加密的密钥
    3.服务器通过自己的私钥解密数据,获取客户端用公钥加密的密文,获取对称加密的密钥。
    4.后面客户端和服务器就可以使用对称加密的密钥去加密传输的数据。

破解点:
中间人攻击,
在这里插入图片描述

具体步骤:
1.中间人将自己的公钥发送给客户端,客户端使用中间人的密钥进行加密自己的对称密钥KEY1,中间人可以获取用户的对称密钥,并使用服务器真正的公钥密钥去加密对称密钥KEY1

2.服务器和客户端都以为自己和对面链接上了,开始使用对称密钥key1加密传输的数据,其实经过了一个中间人的处理,中间人还是可以获取服务器和客户端传递的所有内容。

  1. CA认证证书颁发机构
    CA认证的具体过程:
    服务端: server 客户端:client
    1.server 将自己的公钥发送给CA机构,并产生一个公钥SP key的hash值,CA机构用自己的私钥进行对server的公钥 SP key产生的hash进行加密,将加密后的密文和hash一起返回给服务器端生成一个证书。
    2.当客户端访问一个服务器之后,服务器会把他的证书发送过去,客户端会用自己存储的CA的公钥对证书的CA私钥加密后的(SP key)公钥进行解密,得到服务器的公钥的hash值,与证书中的hash值做比较,如果正确就表示是一个可信的证书,从而获取了一个可信的服务端公钥。
    接着重复上面的过程进行正常的服务端客户端通信即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值