• 《HTTP 权威指南》笔记:第十四章 安全 HTTP


    HTTPS 与 HTTP 不同,其在传输层与应用层之间添加了一个 SSL/TLS 的安全层.
    机制:所有的 HTTP 请求与响应都要通过 SSL/TLS 先进行加密,再进行传输.

    基础知识

    密码 cipher:

    一套编码的算法,用于编码和以后解码的结合体
    工作原理: 通过算法将 plaintext 编码为 ciphertext

    密钥 key:

    改变密码的工作方式的数字化参数,从而使得密码机有不同的行为.
    数字密钥:数字密钥是编/解码算法的数字化参数
    工作原理:一个加密算法可产生众多的虚拟加密算法,每一种算法即为一种密钥.

    对称密钥技术

    定义:在编码时使用的密钥和解码时使用的密钥相同
    缺陷:在发送着与接受者互相对话之前,一定要有一个共享密钥;若有 N 个节点进行相互之间的安全对话,那么总共需要的保密密钥数量庞大,不便于管理.

    公开密钥加密技术

    定义:编码的密钥为公开密钥,所有人都可以对其进行编码;解码的密钥称为私有密钥,只有其私有者惨鞥够对报文进行解码
    功能:

    1. 在安全协议下全球范围内发送报文
    2. 解决了对称密钥数量庞大的问题

    数字签名

    定义:数字签名是用来验证报文未被伪造或篡改的校验和.
    机制:

    1. 证明身份:作者拥有私有密钥,因此只有作者能计算出校验和
    2. 防止篡改:当报文被恶意攻击,进行修改了之后,无法计算出正确的校验和

    流程:
    发送端:

    1. 报文转变为摘要
    2. 应用私有密钥的加密算法对摘要编码,计算出数字签名

    接受端:

    1. 接收到明文报文与签名
    2. 把接受到的明文报文计算出其报文摘要 ,同时将签名通过公共密钥的反函数计算出其报文摘要
    3. 将两报文摘要进行对比

    数字证书

    定义:在 HTTPS 建立一个安全事务之后,浏览器获取其数字证书,它的内容基本如下:

    1. Web 站点的名称和主机名
    2. Web 站点的公开密钥
    3. 签名颁发机构的名称
    4. 数字签名

    浏览器会对证书内容进行检查:

    1. 签名颁发机构可信度
    2. 日期检测
    3. 签名检测
    4. 站点身份检测

    通过这些检测来判断是否信任这一证书.

    SSL 握手

    机制:在 HTTPS 中,客户端首先打开一条到 443 服务端口的连接.之后就会初始化 SSL 层,对加密参数进行沟通,并交换密钥.这个流程叫做「握手」,握手完成之后, SSL 初始化就完成了.

    握手基本流程如下:

    1. 客户端发送可供选择的密码并请求证书
    2. 服务器发送选中的密码和证书
    3. 客户端发送保密信息;客户端与服务器生成密钥
    4. 客户端与服务器交换密钥,互相告知





  • 相关阅读:
    多元化时代敏捷软件开发的崛起与传统软件工程的延续
    敏捷软件开发与传统软件工程概述比较
    结构化方法和面向对象方法的比较
    sql server 的Maintenance Plans(维护计划)详解
    sql server 如何查询出数据库作业所有者的信息并完成批量替换
    sql server 运维时CPU,内存,操作系统等信息查询(用sql语句)
    sql server 数据导出(入)方法总结
    sql server 转置 和实现随机分配和一串代码的含义拼在一行
    python 之路初(一):pycharm 安装 和 环境配置 和 中文乱码问题
    Qt5.9.6 vs2015 SQlite 数据库增删改查
  • 原文地址:https://www.cnblogs.com/FBsharl/p/10661040.html
Copyright © 2020-2023  润新知