HTTP和HTTPS有什么区别

host
host
host
33
文章
0
评论
2021年7月23日17:33:15HTTP和HTTPS有什么区别已关闭评论154

HTTP和HTTPS有什么区别

  1. 端口不同:HTTP使用的是80端口,HTTPS使用的是443端口
  2. HTTP(超文本传输协议)信息是明文传输,HTTPS运行在SSL(Secure Socket Layer)之上,添加了加密和认证机制,更加安全
  3. HTTPS由于加密解密会带来更大的CPU和内存开销
  4. HTTPS通信需要证书,一般需要向证书颁发机构(CA)购买

HTTPS的连接过程

  1. 客户端向服务器发送请求,同时发送客户端支持的一套加密规则(包括对称加密、非对称加密、摘要算法);
  2. 服务器从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥(用于非对称加密),以及证书的颁发机构等信息(证书中的私钥只能用于服务器端进行解密);
  3. 客户端验证服务器的合法性,包括:证书是否过期,CA是否可靠,发行者证书的公钥能否正确揭开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配;
  4. 如果证书受信任,或者用户接收了不受信任的证书,浏览器会生成一个随机密钥(用于对称算法),并用服务器提供的公钥加密(采用非对称加密算法对密钥加密);使用HASH算法对握手消息进行摘要计算,并对摘要使用之前产生的密钥加密(对称算法);将加密后的随机密钥和摘要一起发送给服务器。
  5. 服务器使用自己的私钥解密,得到对称加密的密钥,用这个密钥解密出HASH摘要值,并验证握手消息是否一致;如果一致,服务器使用对称加密的密钥加密握手消息发给浏览器;
  6. 浏览器解密并验证摘要,若一致,则握手结束。之后的数据传输都适用对成加密的密钥进行加密。

总结:非对称加密算法用于在握手过程中加密生成的密码;对成加密算法用于对真正传输的数据进行加密;HASH算法用于验证数据的完整性。

输入 www.baidu.com,怎么变成 https://www.baidu.com 的,怎么确定用HTTP还是HTTPS?

一种是原始的302跳转,服务器把所有的HTTP流量跳转到HTTPS。但这样有一个漏洞,就是中间人可能在第一次访问站点的时候就劫持。解决方法就是引入HSTS机制,用户浏览器在访问站点的时候强制使用HTTPS

HTTPS连接的时候,怎么确定收到的包是服务器发来的(中间人攻击)?

  1. 验证域名、有效期等信息是否正确。证书上都有包含这些信息,比较容易完成验证
  2. 判断证书的来源是否合法。每份签发证书都可以根据验证链查找到对应的根证书,操作系统、浏览器会在本地存储权威机构的根证书,利用本地根证书可以对对应机构签发证书完成来源验证
  3. 判断证书是否被篡改,需要与CA服务器进行校验
  4. 判断证书是否已吊销。通过CRL(Certificate Revocation List 证书注销列表)和 OCSP(Online Certificate Status Protocol 在线证书状态协议)实现,其中 OCSP 可用于第3步中以减少与 CA 服务器的交互,提高验证效率

什么是对称加密、非对称加密?区别是什么?

  • 对称加密:加密和解密采用相同的密钥。如:DES、RC2、RC4
  • 非对称加密:需要两个密钥:公钥和私钥。如果用公钥加密,需要用私钥才能解密。如RSA
  • 区别:对称加密速度更快,通常用于大量数据的加密;非对称加密安全性更高(不需要传送私钥)

数字签名、报文摘要的原理

  • 发送者A用私钥进行签名,接收者B用公钥验证签名。因为除A外没有人有私钥,所以B相信签名是来自A。A不可抵赖,B也不能伪造报文。
  • 摘要算法:MD5、SHA
host
  • 本文由 发表于 2021年7月23日17:33:15
  • 转载请务必保留本文链接:https://www.zenook.cn/news/industry/http-https.html
conda常用命令 大数据

conda常用命令

  1. 创建虚拟环境 xxx(指定python版本,如python=3.6) conda create -n xxx python=3.6 2. 激活虚拟环境 conda activate...
全球九大农业大数据经典案例 大数据

全球九大农业大数据经典案例

基于物联网等技术的应用,农业领域积累了大量的数据,为大数据应用于农业奠定了基础。从国内国际的发展来看,大数据正在驱动农业发展路径发生变化,以提高农业效率,保障食品安全,实现农产品优质优价,农业大数据蕴...