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

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

1、常见的加密算法

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

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

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

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

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

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

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

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

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

二、密钥管理

密钥的种类

  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提供双方执行协议所需的信息。

当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.mzph.cn/news/774555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLM应用:Prompt flow vs LangChain

背景 Prompt flow和LangChain都是LLM时代,为高效地构建LLM应用而生。 Prompt flow是Microsoft开源的,其诞生时,LangChain已经很有名气了。 所以作为后生的Prompt flow会为我们带来哪些新的东西呢? ​​​​​​​ Prompt flo…

Solana 低至 0.4 Sol 创建OpenBook市场ID教程

Raydium上线代币之前,需要OpenBook ID,但是Raydium官方提供的链接创建需要花费 3-4 SOL。这成本使得我们对发行代币望而却步。 本篇文章介绍OpenBook的概念和教大家如何更低成本 (最低0.4 SOL) 创建 OpenBook Market ID。 目录 1、Raydium加池子创建为什…

实名羡慕!这些人已经用上了Sora

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 发布在https://it.weoknow.com 更多资源欢迎关注 Sora 第三方口碑出炉,或许带给艺术家们最大的好处是:…

C++入门 (1) >>命名空间与缺省参数

1. c与c语言的区别 c兼容c语言90&#xff05;以上的语法与规则&#xff0c;c语言相当于用锤子和凿子制作工艺品&#xff0c;c相当于用电钻&#xff0c;电动雕刻刀制作工艺品。 2. c的框架 #include<iostream> //stdio.h的升级版 using namespace std; //展开命…

【笔记】Python学习记录

Python学习记录 Hello World变量简单数据类型字符串大小写转换插入变量Tab和Enter删除前后空格删除前后缀 Hello World 老调调了&#xff0c;如何在终端输出信息呢&#xff1f; print("Hello World")Hello World变量 变量命名遵从代码变量命名通则&#xff0c;几乎…

3.27作业

1、完成下面类 #include <iostream> #include <cstring> using namespace std;class myString { private:char *str; //记录c风格的字符串int size; //记录字符串的实际长度 public://无参构造myString():size(10){str new char[size]; …

计算机网络安全 —— 非对称加密算法 RSA 和数字签名

一、非对称加密算法基本概念 ​ 在对称密钥系统中&#xff0c;两个参与者要共享同一个秘密密钥。但怎样才能做到这一点呢&#xff1f;一种是事先约定&#xff0c;另一种是用信使来传送。在高度自动化的大型计算机网络中&#xff0c;用信使来传送密钥显然是不合适的。如果事先约…

【动态规划】【卡特兰数】Leetcode 96. 不同的二叉搜索树

【动态规划】【卡特兰数】Leetcode 96. 不同的二叉搜索树 动态规划卡特兰数 ---------------&#x1f388;&#x1f388;96. 不同的二叉搜索树 题目链接&#x1f388;&#x1f388;------------------- 动态规划 &#x1f612;: 我的代码实现> 动规五部曲 ✒️确定dp数组…

Palindromes(回文、镜像字符串)

描述 A regular palindrome is a string of numbers or letters that is the same forward as backward. For example, the string "ABCDEDCBA" is a palindrome because it is the same when the string is read from left to right as when the string is read fr…

linux命令在线查询工具

您提供的链接是一个名为“Linux 命令在线查询工具 - 轻松查找命令信息”的在线工具页面。这个工具旨在帮助用户快速查找和了解Linux命令的详细信息&#xff0c;从而提高工作效率。 工具概述 Linux命令在线查询工具是一个便捷的资源&#xff0c;它允许用户通过简单的搜索功能来…

SpringMvc之映射器HandlerMapping

简介 在springmvc的处理流程中&#xff0c;第一步就是查询请求对应的映射器&#xff0c;然后组装成处理器链处理请求&#xff0c;本文意在梳理该过程 重要实现 HandlerMapping是一个接口&#xff0c;该接口用于通过HttpServletRequest寻找对应的处理器&#xff0c;接口介绍如下…

攻防世界逆向刷题

阅读须知&#xff1a; 探索者安全团队技术文章仅供参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作,由于传播、利用本公众号所提供的技术和信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者 本人负责&#xff0c;作者不为此承担任何责任,如…

使用`scipy.stats.wasserstein_distance`来计算两个一维分布之间的Earth Mover‘s Distance (EMD)距离

在Python中&#xff0c;计算Earth Mover’s Distance (EMD)通常使用scipy库中的scipy.stats.wasserstein_distance函数&#xff0c;该函数计算的是Wasserstein距离&#xff0c;它与EMD非常相似&#xff0c;都是用来衡量两个分布之间的距离。 以下是一个简单的Python程序例子&a…

超好用的快捷回复软件

随着直播经济和短视频平台的兴起&#xff0c;品牌营销阵地不再局限于传统的电商巨头——淘宝、天猫、京东和拼多多&#xff0c;越来越多的品牌正积极布局快手、抖音等新晋电商平台&#xff0c;同步打造社群矩阵以拓宽产品推广渠道。这种多维度的市场渗透策略有力地提升了品牌的…

C语言看完我这篇编译与链接就够啦!!!

1. 前言 Hello&#xff01;大家好我是小陈&#xff0c;今天来给大家介绍最详细的C语言编译与链接。 2. 编译和链接 我们通常用的编译器&#xff0c;比如Visual Sudio,这样的IDE(集成开发环境&#xff09;一般将编译和链接的过程一步完成&#xff0c;通常将这这种编译和链接合…

算法(6)KMP+trie

KMP&#xff1a; 最浅显易懂的 KMP 算法讲解_哔哩哔哩_bilibili 该视频使用python书写代码&#xff0c;不会python的小伙伴也可以看看了解kmp的大致思路。 问题描述&#xff1a; kmp&#xff1a;字符串匹配算法&#xff0c;用来找一个长字符串中出现了几次小字符串&#xf…

【机器学习300问】54、如何找到有效的组合特征?

一、为什么需要去寻找有效的组合特征&#xff1f; 因为并不是所有的特征组合都会意义&#xff0c;都能带来价值。 例如在房价预测场景中&#xff0c;卧室数量和浴室数量的比值有意义&#xff0c;但房屋面积与建造年份相组合作为新的组合特征&#xff0c;可能就没有实际含义&…

【ORB-SLAM3】在 Ubuntu20.04 上编译 ORM-SLAM3 并使用 D435i、EuRoC 和 TUM-VI 运行测试

【ORB-SLAM3】在 Ubuntu20.04 上编译 ORM-SLAM3 并使用 D435i、EuRoC 和 TUM-VI 运行测试 1 Prerequisites1.1 C11 or C0x Compiler1.2 Pangolin1.3 OpenCV1.4 Eigen3 2 安装 Intel RealSense™ SDK 2.02.1 测试设备2.2 编译源码安装 (Recommend)2.3 预编译包安装 3 编译 ORB-S…

PTA L2-037 包装机

一种自动包装机的结构如图 1 所示。首先机器中有 N 条轨道&#xff0c;放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时&#xff0c;活塞向左推动&#xff0c;将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时&#xff0c;机械手将抓取筐顶部的一件物品&#x…

07、Lua 流程控制

Lua 流程控制 Lua 流程控制控制结构语句 Lua 流程控制 Lua编程语言流程控制语句通过程序设定一个或多个条件语句来设定。在条件为 true 时执行指定程序代码&#xff0c;在条件为 false 时执行其他指定代码。 以下是典型的流程控制流程图&#xff1a; 控制结构的条件表达式结…