7.1 网络安全和加密原理

1.网络安全

2.加密原理

3.证书


1.网络安全

csharp 复制代码
a.机密性: 只有发送方和预订的接收方能理解传输的报文内容

- 发送方加密报文

- 接收方解密报文

b.认证: 发送方, 接收方需要确认对方的身份

c.报文完整性: 发送方, 接收方需要确认报文在传输的过程中有没有被改变

d.访问控制和服务的可用性: 对于正常的用户提供服务, 对于非正常的用户(比如: 攻击服务器)拒绝访问

2.加密原理

csharp 复制代码
加密分为: 对称加密和非对称加密(公开密钥)

csharp 复制代码
1).对称加密 - 用同一把密钥

a.核心思想: 加密和解密使用同一把密钥

b.比喻: 你打造了一个带锁的盒子(加密算法), 和一把唯一的钥匙(密钥); 你把信放进盒子锁上(加密),然后把盒子寄给朋友

你的朋友必须用同一把钥匙的副本才能打开盒子读信(解密)

c.工作流程

- 你和对方事先约定好使用哪把钥匙(密钥协商)

- 通过加密算法将钥匙和明文变成密文(加密数据)

- 发送密文

- 对方用同样的钥匙打开盒子, 取出明文

d.代表算法: DES, AES

e.优点: 速度快, 效率快, 适合加密大量数据

f.缺点: 钥匙怎么安全地交给对方, 如果钥匙在传递过程中被坏人截获, 整个通信就不再安全

csharp 复制代码
2).非对称加密

a.核心思想: 一个公钥, 一个私钥

b.比喻: 

- 公钥是锁头, 可以公开给全世界

- 私钥是唯一钥匙, 必须自己严格保密

c.加密通信("用公钥加密, 私钥解密")

- 场景: 你的网友bob想给你发秘密消息

- 过程: Bob拿到你公开的公钥, 把消息锁进盒子, 寄给你; 只有私钥才能打开; 即时盒子被截断, 别人也打不开

d.数字签名("用私钥签名, 公钥验证")

- 场景: 你想发布一个公告, 并让大家相信这确实是你发的

- 过程: 你用你的"唯一钥匙"(私钥)对公告内容做一个独特的"魔法印记"(签名), 然后连同公告一起发出; 任何人都可以用

你公开的"锁头"(公钥)来验证这个印记; 如果验证通过, 就证明这条消息一定是你发的, 且中途没有被篡改

e.代表算法: RSA

f.优点: 完美解决了密钥分发问题, 身份验证能力超强

g.缺点: 速度非常慢, 比对称加密慢成百上千倍

3.证书

csharp 复制代码
如果没有证书, 客户端无法确定收到的公钥是否真的来自它想要通信的服务器; 证书的出现就是为了解决这个问题的, 证书是

由受信任的第三方(Certificate Authority, CA)颁发的, 它用CA的私钥对服务器的公钥和一些相关信息进行签名, 从而证明

这个公钥属于这个服务器

csharp 复制代码
1).根证书通常包含以下部分

a.证书持有者的信息

这个证书是属于谁的? (例如, 网站域名www.example.com, 公司名称等)

b.证书颁发者(CA)的信息

这个身份证是哪个"公安局"发的?(例如, DigiCert, Let's Encrypt, Globalsign 等)

c.证书的有效期

身份证的"签发日期"和"过期日期", 过期了就无效了

d.核心部分: 证书持有者的公钥

e.核心部分: 证书颁发者(CA)的数字签名

这是证书防伪的关键, CA机构会用它们自己的私钥, 对整个证书的内容(包括你的公钥、你的信息等)计算一个数字签名, 并

把这个签名也放在证书里

csharp 复制代码
2).证书是如何工作的? (身份认证流程)

当你的浏览器(客户端)访问一个HTTPS网站(如: https://www.example.com)时, 会发生以下事情:

a.服务器发送证书

网站服务器会把它的"数字证书"发送给你的浏览器

b.浏览器验证证书, 你的浏览器会做一系列严格的检查

- 检查颁发者: 颁发这个证书的CA机构是否是我信任的? 浏览器和操作系统内部都预装了一个受信任的根证书列表

- 检查有效期: 证书在有效期内吗

- 检查域名: 证书上写的域名和你正在访问的域名一致吗

- 最关键的一步 "验证签名"

浏览器用CA机构的公钥(这个公钥已经在浏览器预装的信任列表里了)去解密证书里的那个数字签名, 得到一份"摘要A"; 浏览

器自己再用同样的算法, 对证书的明文内容, 包括网站的公钥、信息等计算一次"摘要B", 如果摘要A和摘要B完全一致, 就证

明了两件事:

这个证书的内容是完整的, 没有被篡改过; 这个证书确实是由那个可信的CA机构颁发的, 里面的公钥是真实有效的

c.建立信任: 只有以上所有检查都通过了, 浏览器才会确信: 这个www.example.com不是假冒的, 它给我的这个公钥确实

是它的, 我可以放心地用这个公钥来加密信息了
相关推荐
2601_963282777 小时前
寒地窄带通信工程实践:黑龙江哈尔滨对讲机选型、组网与合规运维总结
运维·服务器·网络
是真的小外套8 小时前
网络安全实战第14期:Week2周末闯关
网络·安全·web安全
xbzb8 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron
QXWZ_IA10 小时前
边坡监测预算有限时的建设顺序:虚拟基准站与成本账
网络·数据库
聪明蛋子哟14 小时前
大模型应用“最后一公里”:从Prompt工程到MCP协议,如何实现跨系统的高可用集成?
网络·prompt
科创致远14 小时前
ESOP 电子作业指导书 WiFi 网络应用实测报告
运维·服务器·网络
承渊政道14 小时前
Linux网络学习【从NAT与代理服务理解网络转发、探索内网穿透原理、再到认识DNS与ICMP、最后动手部署并测试内网穿透】
linux·网络·学习·内网穿透·dns·nat
最强小杰14 小时前
minimax-m3 突然报 HTTP 529 怎么办?连续重试为何更难恢复,退避时间该怎么算?
网络·网络协议·http·ai
程序员清风15 小时前
AI 编程助手的权限边界:文件、命令、密钥与人工确认
运维·服务器·网络
别讲概念15 小时前
JavaEE(5)网络原理初识
网络·java-ee·智能路由器