[计算机网络] 深入浅出HTTPS从原理到实战
作者:CC下载站 日期:2020-10-15 00:00:00 浏览:70 分类:玩电脑
深入浅出HTTPS从原理到实战
HTTP介绍
读者不要认为HTTP负责数据传输,它实际上负责数据请求和响应,真正的数据传输由其他网络层处理
Web 确切地说是一种信息索取方式,是互联网的某个子应用 。Web 最核 心的 组成部分是 HTTP,HTTP 由服务器和客户端组成,有了 HTTP ,互联网上的不同终端才能够交换信息。
HTTP 请求和响应结构
HTTP协议不安全的根本原因
- 数据没有加密
- 无法互相验证身份
- 数据容易被篡改
XSS攻击
恶意用户写入了一段恶意代码到论坛,其他人只要看到了他的论坛,就会执行恶意脚本。
W3C
Tim Berners -Lee 教授提出 Web 技术后成立了 W3C 组织,W3C 主要制定 Web 技术的标准,比如 HTML 标准、DOM 标准、css 标准、ECMA Script 标准
W3C 主要以HTTP 头部的方式提供安全保护,比如Access - Control - Allow-Origin 、X-XSS -Protection 、Strict-Transport-Security 、Content-Security-PolicyHTTP 头部,一 旦开发者和浏览器正确地遵守安全标准,就能缓解安全问题。
密码学
- 密码学是科学
- 密码学理论是公开的
- 密码学算法是相对安全的
- 密码学攻击方法是多样化的
- 密码学应用标准很重要
在使用密码学算法的时候也不要画蛇添足 , 一个简单的软件为了保障安全性可能使用一 种密码学算法即可,没有必要组合多种密码学算法 。
OpenSSL
https://www.openssl.org/
密码学中的随机数
块密码算法CTR模式
摘要算法
流密码算法
HASH算法
Hash算法的一个用途是解决数据的完整性问题
Hash算法的拓展
密码学中的Hash算法是一个非常重要的加密基元,密码学中的摘要、散列、指纹都是Hash算法
Hash算法的用途
文本比较: 例如两个文件的MD5值比较
身份验证: 在数据库中储存密码Hash而不是明文, 这个做法不安全
Hash算法的类型
MD5: MD5是不安全的算法,违反了抗碰撞性
SHA: SHA-1是不安全的,SHA-2推荐使用,SHA-3不是为了取代SHA-2而是在设计上和SHA-2完全不同
对称加密
对称加密算法可以用来解决数据的窃听问题
用同一个密钥可以对明文进行加密,可以对密文进行解密,有两种类型: 块密码算法和流密码算法
流密码算法
一次性密码本
密码本长度和明文一样长,他们异或起来就是密文,把密文和密码本异或可以得到明文
RC4算法
RC4的密码流来着随机数流,随机数种子就是密钥, so easy, RC4算法被证明不安全!
块密码算法
即将明文分块,对于无法分出的整数块进行填充,下面介绍模式,任何一种对称加密算法都可以与下面的模式相组合。
ECB模式(Eletronic Codebook)
对每一个块分别做加密,然后进行传输,这个过程可以并行处理,由于固定的明文块会得到固定的密文块,所以ECB模式是不安全的
CBC模式(Cipher Block Chaining)
引入初始化向量,在加密前对第一个块进行混淆,用加密结果对下一个块进行混淆,初始化向量是一个随机数
CTR模式(Counter)
CTR模式不需要填充,因为他对每一个块进行了流密码算法,有多少个块就有多少个密钥流,密钥流的密钥可以来源于前一个密钥流的密钥,第一个密钥流的密钥称之为Nonce,与CBC模式的IV类似
填充算法
消息验证码
消息验证码: Message Authentication Code (MAC)
HASH算法解决了数据的完整性问题,对称加密算法解决了数据的窃听问题,但是他们都不能解决数据的篡改问题
攻击者如何篡改消息?
由于攻击者的目标是篡改消息,而不是窃听和破坏消息,针对于ECB模式,它可以收集统计信息,将密文分块并篡改为以前的密文块等,然后重新HASH(HASH算法是公开的),并篡改HASH值后转发。
MAC算法
MAC算法致力于两点:
- 证明消息没有被篡改
- 证明消息来源于正确的发送者
MAC算法: 核心原理就是在消息中携带密钥,然后使用HASH算法和加密算法,由于篡改者没有密钥,所以他无法篡改数据
MAC算法的类型: HMAC,CBC-MAC,OMAC
HMac算法流程: 注意不是hash(message//key) , why not?
AE加密模式
结合对称加密算法和MAC算法又叫AE加密模式,Authenticated Encryption, 如何结合就有了多种选择
AEAD加密模式
结合对称加密算法和MAC算法如果处理不当会导致安全问题,AEAD模式(Authenticated Encryption with Associated Data)就是在底层组合了加密算法和MAC算法
CCM模式
CCM (Counter with CBC-MAC )模式是一种 AEAD 模式 , 不过在 HTTPS 中使用 得比较少 。 是AES算法的CRT模式组合了CBC-MAC算法,底层采用了MAC-then-Encrypt
GCM模式
GCM ( Galois/Counter Mode ) 是目 前比较流行的 AEAD 模式 。在 GCM 内部,采用GHASH 算法(一种 MAC 算法)进行 MAC 运算,使用块密码 AES 算法 CTR 模式的 一种变种进行加密运算,在效率和性能上,GCM 都是非常不错的。
非对称加密
非对称加密又叫公开密钥算法,公钥加密,私钥解密
RSA
单步加密
sequenceDiagram
client->>server : 1.connect
server->>client : 2.RSA public key(pk)
client->>client : 3.use pk encrypt message to xxx
client->>server : 4.xxx
server->>server : 5.use private key decode xxx to message
双向加密
sequenceDiagram
client->>server : 1.client RSA public key
server->>client : 2.server RSA public key
client->>client : 3.use server public key encrypt message1 to xxx1
client->>server : 4.xxx1
server->>server : 5.use server private key decode xxx1 to message1
server->>server : 6.use client public key encrypt message2 to xxx2
server->>client : 7.xxx2
client->>client : 8.use client private key decode xxx2 to message2
ECC
pass
密钥协商算法
RSA
缺点:
- 会话密钥完全由client决定
- 无法提供前向安全性
sequenceDiagram
client->>server : 1.connect
server->>client : 2.RSA public key
client->>client : 3.create a random number and encode to xxx
client->>server : 4.xxx
server->>server : 5.use private key decode xxx1 to number
DH
sequenceDiagram
client->>server : 1. connect
server->>client : 2. number: p number: g
client->>client : 3. create a random number a
client->>server : 4. (g^a)%p=yc
server->>server : 5. create a random number b
server->>server : 6. compute key=(yc^b)%p
server->>client : 7. (g^b)%p=ys
client->>client : 8. compute key=(ys^a)%p
ECDH
ECC+DH协商密钥, pass
数字签名
RSA签名
DSA签名
pass
ESDSA签名
pass
宏观理解TLS
TLS/SSL背后的算法
加密算法: 对称加密后者非对称加密,保证机密性
MAC算法: 保证完整性
密钥协商算法: 传输对称加密的密钥
密钥衍生算法: 通过一个不定长度的预备主密钥转换为固定长度的主密钥,然后用主密钥转化出任意数量,任意长度的密钥块
HTTPS总结
握手层
客户端在进行密钥交换前,必须验证服务器身份,用CA证书来解决
在握手阶段,客户端服务器需要协商出双方都认可的密码套件,这包括了身份验证算法,密码协商算法,加密算法加密模式,HMAC算法的加密基元,PRF算法的加密基元
加密层
流密码加密: RC4(MAC-then-Encrypt)
分组加密模式: AES-128-CBC(AES算法,密钥128比特,CBC分组)
AEAD:
- 上一篇:[国剧]《重启之极海听雷 第二季》全集
- 下一篇:[美剧]《异星灾变》第一季全
猜你还喜欢
- 03-29 [玩系统] Windows下强大的命令终端-Cmder
- 03-29 [系统技巧] Win10右键菜单添加“获取文件管理员权限”选项
- 03-29 [系统技巧] win10删除文件夹需要Administrator权限
- 03-09 [网络技巧] 如何使用IPv6地址直接访问http,https服务及Windows共享文件夹[UNC路径]
- 11-05 [系统技巧] 真的有后悔药!Win10超给力的备份功能你用过吗
- 11-05 [系统技巧] 发现Win11、Win10备份已禁用?帮你快速解决!
- 11-05 [电脑技巧] 科普|F1-F12快捷键有什么用?
- 11-05 [系统技巧] 永劫无间游戏卡顿、闪退 只需检查电脑这个设置
- 11-05 [系统技巧] Win10出现Runtime Error如何修复
- 11-05 [系统技巧] Win 10任务栏假死、无响应如何解决
- 11-05 [系统技巧] Win10的备份系统与还原 竟然这么简单
- 10-12 [系统技巧] ubuntu18.04安装openCV3.2.0详解(附加源码+第三方库)
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[课程] 女性必备护肤课,带你轻松养出逆龄好肌肤【完结】
[课程] 《风水 算命系列课程》九合集 新年顺风顺水[pdf.mp4]
[短剧] 下架短剧小合集
[动画] 功夫熊猫4 Kung Fu Panda 4.2024.HD 英语中字 [MP4/MKV]
[影视] 诺克斯离开了 WEB-DL版下载 2023 Knox Goes Away 10.01G
[资料] 抗战阵亡将士资料+续编
[教程] 国宴大师教做菜(120道菜大合集)
[音乐] 60-90年代经典老歌1100首,你想听的这里都有
[网赚] 赏颜阁-剪辑、变现全套教学
[报刊] 大中时报(天津)PDF
[资料] [大学期末救急课] 猴博士+高斯课堂+斐多课堂,全集视频合集
[云资源] 价值2万元的老男孩Python教程
[书库] 史上最全摄影书推荐(附700本PDF版打包下载)
[云资源] 花了一千多元买的私人健身教程
[下载工具] Internet Download Manager 6.42.7 (IDM)
[影视] 灌篮高手 WEB-DL版下载/Slam Dunk/スラムダンク/灌篮高手:THE FIRST/灌篮高手电影版 2022 The First Slam Dunk 61.35G
[即时通讯] 腾讯QQ PC版9.7.22.29315去广告绿色纯净版
[开发环境] PhpStorm2023中文激活版v2023.3.3 正式版
[资料] 3000 套电影电视剧 LOGO 宣传片常用音效合集包
[安卓软件] 酷我音乐APP_v10.7.6.4 去广告破解豪华VIP版
[云资源] 价值2万元的老男孩Python教程
[影视] 灌篮高手 WEB-DL版下载/Slam Dunk/スラムダンク/灌篮高手:THE FIRST/灌篮高手电影版 2022 The First Slam Dunk 61.35G
[云资源] 花了一千多元买的私人健身教程
[书库] 史上最全摄影书推荐(附700本PDF版打包下载)
[资料] 抗战阵亡将士资料+续编
[电视剧] 三体 (2024) 全8集 网飞版本 中文字幕 合集
[剧集] 繁花 (2023)[全30集][打包]
[影视] 三大队 WEB-DL版下载/Endless Journey/请转告局长,三大队任务完成了 2023 三大队 6.7G
[纪录片] 河西走廊【10集 国语 中文字幕 1080P 10.8G MP4】
[安卓软件] OfficeSuite中文版APP v14.2.50872.0破解版
- 最新评论
-
谢谢楼主xiaoqi 评论于:04-12 勿在线解压,勿手机解压,请在电脑上用最新款压缩软件解压!推荐360压缩或者好压CC下载站 评论于:04-10 无法解压啊,客服能不能给个解压教程ravengrey 评论于:04-10 谢谢支持!!CC下载站 评论于:03-26 很棒的资源,感谢分享云体风身 评论于:03-26 感谢分享,好东西云体风身 评论于:03-26 谢谢支持!CC下载站 评论于:03-14 央视精品,感谢付出提供。qwer9009 评论于:03-14 谢谢支持!!!CC下载站 评论于:03-13 谢谢分享!Ypc9182 评论于:03-12
- 热门tag