美文网首页
笔记:网络加密

笔记:网络加密

作者: 一剑书生 | 来源:发表于2017-05-21 19:05 被阅读31次
加密算法

分为两类:

  • 对称密钥加密(Symmetric-key algorithms):加密、解密都是用相同的密钥,速度相对 非对称加密 较快。 常见有DES、AES算法。
  • 非对称加密(Asymmetric cryptography):也就是公开密钥加密(public-key cryptography),一对密钥,对外公开的叫公钥,公钥可提供给所有人,私钥是保密的不对外公开。常见有RSA算法。
    使用公钥加密的信息,只有私钥才能解密(私钥加密的数据,用公钥也能解密)。
数字签名(Digital Signature)与摘要(digest)
  • 摘要:针对 原始数据 通过 hash 算法计算得到一串固定长度的字符,不同数据通过 hash 算法得到的字符串是不一样的,摘要主要用来判断数据是否被篡改了;
  • 将摘要用私钥加密得到的密文就称作 数字签名
数字证书(Digital Certificate)
  • 由 数字证书认证机构(Certificate Authority)颁发,用户可向 CA 申请(世界上有多个CA机构);2)自签名,即自己制作,不会被广泛信任;
  • 数字证书,主要包含了1)认证的CA机构名称、2)证书持有者的公钥、3)证书内容本身的数字签名(CA用它的私钥加密)4)证书的签名算法标识,包括公开密钥算法和 hash 算法;

简单举例:以用户上网通过浏览器访问安全网站为例:

  1. 浏览器使用网站的公钥加密数据后发给网站,传输途中数据如果被第三方监听窃取了也没关系(第三方没有网站的私钥解密不了)
  2. 网站接收到数据,使用其私钥解密,就可以得到用户的明文数据;
  3. 网站加密数据返回给用户

几个问题:

  1. 浏览器怎么获取公钥呢?
  • 网站会把数字证书发给浏览器,数字证书中包含公钥了信息(这里,公钥的形式就是 数字证书
  1. 为什么用数字证书?
    为了确保浏览器收到的网站公钥不是第三方伪造或篡改了,浏览器会内置大多数权威可靠的CA根证书(含有CA的公钥!),当接收到网站的数字证书,会校验证书:

    • 证书颁发的机构是否伪造的,浏览器不认识不信任,则列为危险证书;
    • 根据证书的机构名称找到了内置CA证书中的公钥,对证书的数字签名(由CA机构用CA私钥加密了的)解密,解密失败则列为危险证书;
    • 解密成功的话,得到了证书的摘要 A;此时还要根据证书中标明的 hash 算法重新计算得到证书的摘要 B,两者比较,不相同的话,说明证书内容被篡改了,公钥可能被修改了;
  2. 网站怎么加密数据返回给用户?

    • 方案一:用网站的私钥加密返回,浏览器再用网站公钥解密得到明文;但是在数据传输过程中第三方获取了该加密数据的话,也可以用网站的公钥解密出来,所以这方案不靠谱。
    • 实际方案:使用对称密钥,网站和浏览器都用相同的密钥加解密数据;问题是网站和浏览器得先协商出一个对称密钥,保证对称密钥不被第三方知道窃取;另外使用对称密钥的原因出自于性能,使用对称加密速度更快,
  3. 对称密钥的生成?(使用RSA算法为例)

  • 浏览器发送随机数 client_random 、支持的加密方式(明文传输)
  • 网站返回随机数 server_random 、选择的加密方式和证书 (明文传输)
  • 浏览器验证网站的证书,使用证书中的公钥加密随机数 premaster secret 发送给网站 (加密传输)
  • 网站接收数据后,使用私钥解密 premaster secret
  • 浏览器与网站都有了三个随机数,通过约定的加密方式使用client_random server_random premaster secret 生成了一把对称密钥,称作会话密钥,之前的步骤称为 握手阶段(handshake)
  • 随后浏览器与网站使用这把对称密钥 加密数据进行通信;
image.png
学习来源

相关文章

  • 笔记:网络加密

    加密算法 分为两类: 对称密钥加密(Symmetric-key algorithms):加密、解密都是用相同的密钥...

  • 移动端与后端数据传输加密

    学习笔记对称加密:对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高非对...

  • 如何自动解锁Linux上的加密磁盘

    通过使用网络绑定磁盘加密(NBDE),无需手动输入密码即可打开加密磁盘。 通过使用网络绑定磁盘加密(NBDE),无...

  • 网络加密

    网络加密技术 信息安全包括系统安全和数据安全。系统安全一般采用防火墙、病毒查杀等被动措施;数据安全主要采用现代密码...

  • RSA加密

    网络安全 最初的网络安全都是基于对称加密。后来地球上出现了迄今为止最重要的非对称加密RSA算法。 对称加密 加密和...

  • 前端初级加密学习

    感谢王亚伟同志对本笔记RSA部分的支持。 都知道加密分为 对称加密 和 非对称加密。 1.对称加密 这种加密方式原...

  • 技能tree

    iOS 1、网络通信:socket、网络协议、request 2、安全方案:数据加密、传输加密、代码安全 3、数据...

  • HTTPS详解

    因为早期HTTP是明文传输,随着网络的发达,对网络的安全要求越来越高,所以有了HTTPs 加密模型 对称加密:加密...

  • 惘蚊浆糊

    网络图片加密平台 “惘蚊浆糊”http://wangwenjianghu.com 是一个可以对图片进行加密的网络平...

  • 密码学之基本概念

    密码学笔记 常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法。 一、对称加密 指加密和解密使...

网友评论

      本文标题:笔记:网络加密

      本文链接:https://www.haomeiwen.com/subject/ufepxxtx.html