网络安全最新TLS、运输层安全协议(5),网络安全基础编程

写在最后

在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。

需要完整版PDF学习资源私我

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

·2018 年 8 月,IETF 发布了经历了 28 个草案后才通过的最新版本TLS 1.3 [RFC 8446,建议标准](不向后兼容)。

·2020 年,旧版本 TLS 1.0/1.1 均被废弃。

1.1 协议 TLS 的位置

·在发送方,TLS 接收应用层的数据,对数据进行加密,然后把加密后的数据送往 TCP 套接字。

·在接收方,TSL 从 TCP 套接字读取数据,解密后把数据交给应用层。

1.2 TLS 与应用层协议独立无关

·TLS 提供了一个简单的带有套接字的应用程序接口 API,与 TCP 的API 相似。

·应用层使用 TLS 最多的就是 HTTP。TLS 可用于任何应用层协议。

·应用程序 HTTP 调用 TLS 对整个网页进行加密时,网页上会提示用户,在网址栏原来显示 http 的地方,现在变成了 https。

·s 代表 security,表明现在使用的是提供安全服务的 HTTP 协议(TCP 的 HTTPS 端口号是 443,而不是平时使用的端口号 80)。

1.3 协议 TLS 具有双向鉴别的功能

·常用单向鉴别:客户端(浏览器)需要鉴别服务器,确信即将访问的网站服务器是安全和可信的。

·两个前提

1.服务器需要有一个有效的 CA 证书来证明自己。CA 证书是运输层安全协议 TLS 的基石。

2.浏览器应具有一些手段来证明服务器是安全和可信的。

·建立安全会话两个阶段

1.握手阶段:使用握手协议

2.会话阶段:使用记录协议

1.4 TLS 建立安全会话的工作原理

TLS 的握手阶段

·验证服务器,生成会话阶段所需的共享密钥

1.协商加密算法。 (1)浏览器 A 向服务器 B 发送浏览器的 TLS 版本号和一些可选的加密算法。 (2)B 从中选定自己所支持的算法(如 RSA),并告知 A,同时把自己的 CA 数字证书发送给 A。

2.服务器鉴别。(3)客户 A 用数字证书中 CA 的公钥对数字证书进行验证鉴别。

3.生成主密钥。(4)客户 A 按照双方确定的密钥交换算法生成主密钥 MS (Master Secret)。 (5)客户 A 用 B 的公钥 PKB 对主密钥 MS 加密,得出加密的主密钥 PKB(MS),发送给服务器 B。

4.服务器 B 用自己的私钥把主密钥解密出来 :SKB(PKB(MS)) = MS 。这样,客户 A 和服务器 B 都有了为后面数据传输使用的共同的主密钥 MS。

5.生成会话密钥(7)和(8)。为了使双方的通信更加安全,客户 A 和服务器 B 最好使用不同的密钥。主密钥被分割成 4 个不同的密钥。每一方都拥有这样 4 个密钥(注意:这些都是对称密钥):

·客户 A 发送数据时使用的会话密钥 KA

·客户 A 发送数据时使用的 MAC 密钥 MA

·服务器 B 发送数据时使用的会话密钥 KB

·服务器 B 发送数据时使用的 MAC 密钥 MB

TLS 的会话阶段

·保证传送数据的机密性和完整性

·把长的数据划分为较小的数据块,叫做记录 (record)。对每一个记录进行鉴别运算和加密运算。

·记录协议对每一个记录按发送顺序赋予序号,第一个记录作为 0。发送下一个记录时序号就加 1,序号最大值不得超过 264 – 1,且不允许序号绕回。

·序号未写在记录之中,而是在进行散列运算时,把序号包含进去。客户 A 向服务器 B 发送一个明文记录时,对 MAC 密钥 MA 、记录的当前序号和明文记录进行散列运算,鉴别明文记录的完整性(内容和顺序均无误)。使用会话密钥 KA 进行加解密。

这种对记录加密的方法称为带关联数据的鉴别加密 AEAD (Authenticated Encryption with Associated Data) 。

1.5 TLS 传送的记录格式

·类型字段:指明所传送的记录是握手阶段的报文,还是应用程序传送的报文,或最后要关闭 TLS 连接的报文。

·长度字段:字节数,用于从 TCP 报文中提取 TLS 记录。

2 协议 TLS 必须包含的措施

·握手阶段补充的措施

1.客户 A 和服务器 B相互发送不重数,防止重放攻击。

2.生成预主密钥 PMS (Pre-Master Secret),为下一步生成主密钥使用。

3.生成主密钥。客户 A 和服务器 B 各自使用同样的(已商定的)算法,使用预主密钥 PMS 、客户的不重数和服务器的不重数,生成主密钥 MS。

4.客户 A 向服务器 B 发送的全部握手阶段报文的 MAC。

5.服务器 B 向客户 A 发送的全部握手阶段报文的 MAC。

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

😝朋友们如果有需要的话,可以联系领取~

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

2️⃣视频配套工具&国内外网安书籍、文档
① 工具

② 视频

image1

③ 书籍

image2

资源较为敏感,未展示全面,需要的最下面获取

在这里插入图片描述在这里插入图片描述

② 简历模板

在这里插入图片描述

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 28
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值