网络安全概论——网络加密与密钥管理

ops/2024/12/1 9:53:04/

网络加密的方式及实现">一、网络加密的方式及实现

1、常见的加密算法

常见的密钥加密算法类型大体可以分为三类:对称加密非对称加密单向加密

对称加密算法采用单密钥加密,在通信过程中,数据发送方将原始数据分割成固定大小的块,经过密钥和加密算法逐个加密后,发送给接收方;接收方收到加密 后的报文后,结合密钥和解密算法解密组合后得出原始数据。由于加解密算法是公开的,因此在这过程中,密钥的安全传递就成为了至关重要的事了。而密钥通常来说是通过双方协商,以物理的方式传递给对方,或者利用第三方平台传递给对方,且这过程出现了密钥泄露,不怀好意的人就能结合相应的算法拦截解密出其加密传输的内容。

https://i-blog.csdnimg.cn/img_convert/7bb679265c99793c950d2cb19194469b.png" width="1032" />

非对称加密算法采用公钥私钥两种不同的密码来进行加解密。公钥和私钥是成对存在,公钥是从私钥中提取产生公开给所有人的,如果使用公钥对数据进行加密,那么只有对应的私钥才能解密,反之亦然。

公钥加密,私钥解密。
私钥数字签名,公钥验证。

https://i-blog.csdnimg.cn/img_convert/14a47164c6e2b375c8609c46ab64da1d.png" width="1004" />

单向加密算法常用于提取数据指纹,验证数据的完整性。发送者将明文通过单向加密算法加密生成定长的密文串,然后传递给接收方。接收方在收到加密的报文后进行解密,将解密获取到的明文使用相同的单向加密算法进行加密,得出加密后的密文串。随后将之与发送者发送过来的密文串进行对比,若发送前和发送后 的密文串相一致,则说明传输过程中数据没有损坏,若不一致,说明传输过程中数据丢失了。单向加密算法只能用于对数据的加密,无法被解密,其特点为定长输出、雪崩效应。

https://i-blog.csdnimg.cn/img_convert/b98c0587cc43777baced8f95e8933bf9.png" width="993" />

链路加密:报头以密文传输,中间节点存在明文。开销大,需要对链路两端的加密设备进行系统同步。

节点加密:报头以明文传输,中间节点不存在明文。开销大,需要对链路两端的加密设备进行系统同步。

端到端加密:报头以明文传输,中间节点不存在明文。开销小,无需系统同步。

链路与端到端混合加密:报头以密文传输,中间节点不存在明文。开销大,需要对链路两端的加密设备进行系统同步。

二、密钥管理

密钥的种类

https://i-blog.csdnimg.cn/img_convert/e0c10e13da17b5405bbc51660096f0ae.png" width="704" />

  1. 基本密钥:kp(Base Key),在较长时间由一对用户专用的密钥
  2. 会话密钥:ks(Session Key),两个通信终端用户在一次通话或交换数据时所用的密钥
  3. 密钥加密密钥:ke(Key Encrypting Key),用于对传送的会话或文件加密进行加密的密钥
  4. 主机主密钥:km(Host Master Key),对密钥加密密钥进行加密的密钥,存于主机处理器中
  5. 数据加密密钥:也称为工作密钥。
  6. 在双钥体制下,有公钥和私钥、签名密钥和证实密钥之分

密钥认证的分类

  1. 隐式密钥认证
  2. 密钥确证
  3. 显式密钥认证

三、密钥分配

密钥分配的方法

  1. 利用安全信道实现密钥传递
  2. 利用双钥体系建立安全信道传递
  3. 利用特定的物理现象(量子传递)实现密钥传递

密钥分配的模式

  1. 点对点密钥分配
  2. 密钥分配中心
  3. 密钥转递中心

四、可信第三方TTP

可信第三方的三种工作模式:

协调(In line)

联机(On line)

脱机(Off line)

在协调方式下,T是一个中间人,为A与B之间通信提供实时服务;

在联机方式下,T实时参与A和B每次协议的执行,但A和B之间的通信不必经过T;

在脱机方式下,T不实时参与A和B的协议,而是预先向A和B提供双方执行协议所需的信息。

https://i-blog.csdnimg.cn/img_convert/9cc8388337ec81794820aa93bc87f930.png" width="415" />

当A和B属于不同的安全区域时,协调方式特别重要。证书发送管理机构常采用脱机方式。脱机方式对计算资源的要求较低,但在撤销权宜上不如其他两种方式方便。

TTP功能

  • 密钥服务器
  • 密钥管理设备
  • 密钥查阅服务
  • 时戳代理
  • 仲裁代理
  • 托管代理

密钥交换协议

  1. 采用单钥体制的密钥建立协议:通信双方需要依赖Trent,他的安全性也完全依赖于Trent,Trent可能成为影响系统性能的瓶颈。
  2. 采用双钥体制的密钥交换协议:通信双方的公钥被可信第三方签名后存入数据库中。不能阻挡中间人攻击。
  3. 联锁协议(一半密文传输):可以抵挡中间人攻击,中间人既不能对一半密文解密,也不能用一方的公钥加密。
  4. 采用数字签名的密钥交换:可以防止中间人攻击
  5. 密钥和消息广播:与多人通信
  6. Diffie-hellman密钥交换协议:不能抵抗中间人攻击,没有对通信双方的身份进行验证。

连锁协议

若通信双方是Alice和Bob,联锁协议主要过程如下:

  1. Alice将其公钥发送给Bob
  2. Bob将其公钥发送给Alice
  3. Alice用Bob的公钥对消息加密,此后,她将一半密文发送给Bob
  4. Bob用Alice的公钥对消息加密,此后,她将一半密文发送给Alice
  5. Alice发送另一半密文给Bob
  6. Bob将Alice发送的两部分密文结合在一起,并采用自己的私钥解密,Bob发送另一半密文给Alice
  7. Alice将Bob发送的两部分密文结合在一起,并采用自己的密钥解密

联锁协议抵抗中间人攻击的原理:

攻击者仅获得一半密文而没有获得另一半密文时,这些数据对攻击者来说毫无意义,因为攻击者无法解密。当Mallory截获Alice发送给Bob的一半消息时,他既不能对其解密。也不能用Bob的公钥重新加密。他必须产生一个全新的消息,并将其一半发给Bob。当他在第4步中截获Bob发给Alice的一半消息时,他会遇到相同的问题即:他既不能对其解密,也不能用Alice的公钥重新加密。他必须产生一个全新的消息。并将其一半发送给Alice。当Mallory在第5步和第6步截获真正的第二部消息时,对他来说为时已晚,他已来不及对前面伪造的消息进行修改。Alice和Bob会发现这种攻击,因为他们谈话的内容与伪造的消息有可能完全不同。

五、密钥保护

  1. 终端密钥保护
  2. 主机密钥保护
  3. 密钥分级保护管理法

按照协议的功能分类,密钥协议可以分为认证建立协议,密钥建立协议,认证的密钥建立协议

六、密钥的有效期

  • 短期密钥,如会话密钥,试用期较短,具体期限由数据的价值、给定周期内加密数据的量来决定
  • 密钥加密密钥属于长期密钥,不需要经常更换,一般一个月或一年更换一次
  • 用于加密数据文件或存储数据的密钥不能经常更换
  • 公钥密码的秘密密钥,使用期限由具体应用确定,过期密钥也要保留

http://www.ppmy.cn/ops/138163.html

相关文章

【论文笔记】Towards Online Continuous Sign Language Recognition and Translation

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: Towards Online Continuou…

ASP.NET Core面试题汇总

1.如何在controller中注入service? 在configservices方法中配置这个service。 在controller的构造函数中,添加这个依赖注入。 2.ASP.NET Core 比 ASP.NET 更具优势的地方是什么? 跨平台,ASP.NET Core 可以运行在 Windows 、Linux 和 MAC 系统…

无人机:智能航点规划技术!

一、核心技术 环境感知技术 环境感知是智能航点规划的基础,通过传感器(如雷达、摄像头、激光雷达等)实时收集飞行环境的信息,包括地形、障碍物、天气等。 这些信息被用于构建飞行环境的数字模型,为后续的航点规划提…

Redis进行性能优化可以考虑的一些策略

选择合适的数据结构 根据实际的需求选择合适的数据结构,以高效地访问和存储多个属性。 比如如果你需要存储用户的多个属性,如用户名、邮箱等,使用哈希可以比使用多个字符串键值对更节省内存 避免大key/value 较大地key和value会占用更多的…

宠物领养平台构建:SpringBoot技术路线图

摘 要 如今社会上各行各业,都在用属于自己专用的软件来进行工作,互联网发展到这个时候,人们已经发现离不开了互联网。互联网的发展,离不开一些新的技术,而新技术的产生往往是为了解决现有问题而产生的。针对于宠物领养…

Spring 的 DI, 设计模式的 DI, ApiHug 的 DI

ApiHug - API Design & Develop New Paradigm.ApiHug - API Design & Develop New Paradigm.https://apihug.com/zhCN 快速开启 - ApiHug如何在15分钟内,使用 ApiHug 启动一个API开发项目.https://apihug.com/zhCN-docs/start Spring DI(依赖注…

什么是默克尔树(Merkle Tree)?如何计算默克尔根?

默克尔树的概念 默克尔树(Merkle Tree)是一种特殊的二叉树,它的每个节点都存储了一个数据块的哈希值。哈希值是一种可以将任意长度的数据转换为固定长度的字符串的算法,它具有唯一性和不可逆性的特点,即不同的数据块会产生不同的哈希值&…

git的使用(简洁版)

什么是 Git? Git 是一个分布式版本控制系统 (DVCS),用于跟踪文件的更改并协调多人之间的工作。它由 Linus Torvalds 在 2005 年创建,最初是为了管理 Linux 内核的开发。Git 的主要目标是提供高效、易用的版本控制工具,使得开发者…