https原理

1.网络传输的安全性

  • http 协议:不安全,未加密

  • https 协议:安全,对请求报文和响应报文做加密

2.对称加密与非对称加密

2.1 对称加密

  • 特点:

    加解密使用 相同 秘钥 高效,适用于大量数据的加密场景 算法公开,安全性取决于秘钥大小,但秘钥越大效率越低,需要权衡在安全和效率中做权衡

  • 缺点:

    算法本身安全,但使用场景不够安全,因为解密和加密都是同一个秘钥

2.2 非对称加密

  • 使用 匹配的一对密钥分别进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)

  • 注意:公钥加密的数据 只能 用 对应的私钥解密,同理,私钥加密的数据 只能用 对应的公钥解密

  • 算法:RSA、ECC、Elgamal、背包算法、Rabin、D-H 等

  • 特点:安全性高

  • 缺点:加解密复杂,效率低,耗时较长

  • 用法概要:

    • 加密:对数据做加密

    • 签名:证明数据是谁发的

2.3 非对称加密用法

  • 准备工作:

    1.生成一对匹配的 私钥 和 公钥 (ps:公钥其实是根据私钥生成的)

    2.将公钥公布给外界

2.3.1 公钥加密

  • 场景: 用来针对互联网上加密数据传递

    Linda 用 James的公钥 对数据进行加密,然后发给 James,James用自己的私钥解密

因为一个公钥加密的数据 只有 对应的 私钥才能解密,所以密文很安全

补充:如果要在网络上相互发送密文,可以让对方也发对方的公钥过来,用对方的公钥来加密

2.3.2 私钥签名

  • 场景: 目的是为了将明文公布给别人,同时证明是自己发的;可以防止明文被篡改。

    第一步: James 用 James的私钥 对明文的hash值进行加密,把密文(签名)和明文一起发给 Linda

第二步: Linda 用 James的公钥 进行解密,解密后的明文hash值 和 接收到的明文的hash值进行对比,如果一样则是 James 发的

3. https协议

  • 端口 443

3.1 问题

  • Q1:如何在网络中安全的将数据加密 传给 对方呢?

    • A1:加密
  • Q2:用什么方式加密么?

    • A2:对称加密 -> 秘钥传送安全问题

    • A2:非对称加密 -> 公钥传送安全问题

  • Q3:解决方案

    • A3:使用 权威认证机构(CA) 来证明 网站的公钥没被篡改 -- https

3.2 基本流程

  • 操作系统内置 权威证书认证机构(CA-CertificateAuthority)的 机构证书X

  • 网站A 获取认证证书

    • 生成自己的 公钥A私钥A

    • 找认证机构 生成 网站A证书,并保存在服务器中

      • 证书(SSL)包含信息:

        • 网站的域名,证书有效期,证书颁发机构

        • 网站自己的公钥A

  • 浏览器 请求获取 网站A证书

  • 浏览器 用 机构证书X 解密 网站A证书

    • 解密成功:获取 网站A公钥(只要解密成功,就说明 是 机构认证的)

    • 解密失败:认证失败

  • 浏览器 将自己的秘钥 发给服务器

    • 使用对称加密算法 生成 会话秘钥B

    • 使用网站A公钥会话秘钥B 做加密,并发给 服务器

  • 浏览器和服务器 使用 浏览器会话秘钥B 来对 请求报文 和 响应报文 做加密

3.2 证书认证机构

  • 如果证书颁发机构过多的话,不容易识别,防伪和管理,于是形成了少数几家国际权威的证书颁发机构,这些机构非常权威,默认是所有人都可信的,它们成为根证书。

  • 但是除了这些机构外,其他的机构也需要被信任,因而,需要这些权威的机构去授信颁发证书,于是就形成了一级证书机构,一级证书机构又可以继续授信下级机构,于是成为树状结构,对于任何一个组织到根证书就是链状结构。

3.3 CA证书的保存

  • 保存在系统中

转载:作者:黑马老邹
链接:https://juejin.cn/post/7036551179517558791
来源:稀土掘金

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值