HTTPS

281 阅读3分钟

HTTP的缺陷:

浏览器 -> 代理服务器 -> 链路 -> 服务器

这个过程中可能发生窃听和篡改:

窃听密码等敏感信息 篡改:插⼊广告 重定向到其他网站(JS 和 Head头)

 #查看需要经过的节点

 traceroute www.baidu.com
使用HTTPS是时代趋势:
  • ⽬前全球互联⽹正在从HTTP向HTTPS的⼤迁移
  • Chrome和⽕狐浏览器将对不采用HTTPS 加密的⽹站提示不安全
  • 苹果要求所有APP通信都必须采用HTTPS加密
  • ⼩程序强制要求服务器端使用HTTPS请求
特点:
  • 保密性 (防泄密)
  • 完整性(防篡改)
  • 真实性(防假冒)

对称不对称,是指加密和解密所使用的密钥是不是一样的。加密和解密所使用的密钥一样,我们就称它为对称密钥。这里的“对称”指的不是加解密过程

HTTP + SSL = HTTPS

SSL证书分类
  • 入门级DVSSL 证明域名有效(没有被篡改),无门槛
  • 企业型OVSSL 企业资质 个人资质
  • 增强型EVSSL 浏览器给予绿色地址栏显示公司名字
DES对称加密

A -----> ------> B

A使用公用的秘钥利用通用的加密算法加密把消息给B

B使用相同的秘钥和配套的解密算法进行解密

缺点

秘钥丢失后无法验证消息是否A发送的

不对称加密

产生一对秘钥,公钥负责加密,私钥负责解密,私钥无法解开说明公钥无效(抗抵赖)

缺点: 计算复杂对性能有影响(极端情况下 1000倍),通常用于验证

image.png

常⻅算法 RSA(⼤质数)、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)

RSA原理

只能被1和本身整除的数叫质数,例如13,质数是无穷多的.得到两个巨大质数的乘积是简单的事,但想 从该乘积反推出这两个巨⼤质数却没有任何有效的办法,这种不可逆的单向数学关系,是国际数学界 公认的质因数分解难题.

R、S、A三⼈人巧妙利利用这⼀一假说,设计出RSA公匙加密算法的基本原理:

1、让计算机随机⽣成两个大质数p和q,得出乘积n;

2、利用p和q有条件的⽣成加密钥e;

3、通过⼀一系列计算,得到与n互为质数的解密钥d,置于操作系统才知道的地方;

4、操作系统将n和e共同作为公匙对外发布,将私匙d秘密保存,把初始质数p和q秘密丢弃.

国际数学和密码学界已证明,企图利利⽤公匙和密⽂推断出明文--或者企图利利用公匙推断出私匙的难度等同于分解两个巨大质数的积.这就是Eve不可能对Alice的密⽂解密以及公匙可以在⽹上公布的原因.

至于"巨⼤质数"要多大才能保证安全的问题不⽤担心:利用当前可预测的计算能力,在⼗进制下,分解两个250位质数的积要⽤数⼗万年的时间;并且质数用尽或两台计算机偶然使用相同质数的概率 小到可以被忽略.