网络安全 : 报文鉴别 ( 密码散列函数 | 报文摘要算法 MD5 | 安全散列算法 SHA-1 | MAC 报文鉴别码 )

作者阿里云代理 文章分类 分类:linux图文教程 阅读次数 已被围观 647

跟着我们的体系负载越来越高,体系的功用就会有所下降,此刻,我们能够很自然地想到运用缓存来处理数据读写功用低下的问题。但是,立志成为资深架构师的你,是否能够在高并发环境下合理而且高效的构建运用级缓存呢?

文章目录

一、报文辨别

二、辨别分类

三、报文辨别

四、暗码散列函数

五、MD5 算法

六、SHA-1 安全散列算法

七、MAC 报文辨别码





一、报文辨别


核算机网络安全措施 :


① 针对被动进犯 ( 截获 ) : 加密 ;


② 针对主动进犯 ( 篡改 , 假造 ) : 需求运用 辨别 ;



报文辨别 : 接收方 能够 验证其接收到的 报文的真伪 ; 包括 发送者身份 , 内容 , 发送时刻 , 报文序列等 ;


报文辨别办法 : 加密 能够 完成 报文辨别 , 但是网络中关于保密性不高的数据来说 , 能够不进行加密 , 接收者 需求运用 简略办法承认报文的真伪 ;



辨别与授权 区别 : 这是两个不同的概念 ; 授权是指 所履行的操作是否被体系允许 ; 如 访问权限 , 读写权限 等 ;






二、辨别分类


辨别分类 :


① 报文辨别 : 端点辨别 + 报文完整性辨别 ; 承认 报文 是由 发送者 发出 , 不是假造的 ;


② 实体辨别 : 端点辨别 ; 承认 报文 发送者 实体 ( 运用进程 / 主机设备 / 人员 ) ;






三、报文辨别


报文辨别 : 报文 接收者 需求辨别报文真伪 , 需求运用 数字签名 ;


① 弊端 : 添加核算负担 , 对数据很长的报文 进行 数字签名 , 需求 很大的核算量 ;


② 需求 : 在不需求对数据进行加密时 , 运用 简略办法 进行报文的真伪辨别 ;


不需加密时 , 运用暗码散列函数进行 真伪辨别 ;






四、暗码散列函数


散列函数 : 是非常简略的 报文 辨别办法 , 核算量小 ;


① 散列值 : 散列函数 输入 很长的 值 , 输出 较短的 固定的值 ; 输出值 称为 散列值 / 散列 ;


② 对应联系 : 输入 和 输出 是 多对一 的 , 不同的输入 可能对应 相同的输出 ;



暗码散列函数 :


① 概念 : 暗码学 中运用的 散列函数 , 称为 暗码散列函数 ;


② 单向性 ( 输入值 -> 散列值 ) : 给定 一个散列值 , 无法经过核算得出 输入值 ; 只能从 输入值 核算出 散列值 , 不能依据 散列值 核算 输入值 ;


③ 不可假造 : 即便 固定长度的 散列值 被截获 , 截获者无法假造出一个 对应的输入值 ( 明文 / 发送数据 ) ;



暗码散列函数 示例 :


报文摘要算法 MD5

安全散列算法 SHA-1

功能比较 : SHA-1 的核算量 高于 MD5 , SHA-1 安全性高与 MD5 ;





五、MD5 算法


MD5 算法 :


① 称号来历 : 报文摘要 ( Message Digest ) 算法 第五版 , 简称为 MD5 ;


② 无法核算反推报文 : 依据 MD5 算法 , 反推出报文 , 核算上几乎不可能 ; ( 撞库能够 , 但不是核算出来的 )


③ 原理 : 运用复杂的算法 , 将报文数据位打乱 , MD5 码每一位 都与 原报文中的每一位有关 , 原报文只需有一位改动 , 对应的 MD5 完全不同 ;




MD5 算法步骤 :


① 长度项 : 将 报文数据 模 2 64 2^{64}2

64

 核算余数 , 该余数 64 6464 位 , 追加在报文数据末尾 , 组成新的报文 ; 追加的余数 称为 长度项 ;


② 填充项 : 在 报文 和 长度项 之间填充 1 ~ 512 位数据 , 使填充后的 整体报文长度是 512 512512 的整数倍 , 填充项 第一位是 1 11 , 后面都是 0 00 ;


③ 数据分组 : 将 填充后的 报文 分割成 512 位数据块 , 再将每个 512 位的数据块 分割成 四个 128 位小数据块 ;


④ 核算 : 将 四个 128 位数据块 , 按照顺序 运用不同的 散列函数 进行 四轮核算 ; 每轮核算中 , 128 位数据块拆分红 四个 32 位 小数据块进行核算 ;


直到核算出最后的 128 位的 MD5 值 ;






六、SHA-1 安全散列算法


SHA-1 安全散列算法 :


① 功能 : 比 MD5 算法更安全 , 但是核算复杂性高于 MD5 ;


② 版本 : SHA-1 , SHA-2 , SHA-3 ;




SHA-1 安全散列算法 原理 :


① 算法输入输出 : 输入码长 低于 2 64 2^{64}2

64

 位 , 输出码长 160 160160 位 ;


② 核算进程 : 将明文 分割成 512 位数据块 , 每块都与当时的 报文摘要 集合 , 产生下一个报文摘要中心值 , 直到所有的数据库核算结束 ;


③ 履行次数 : 上述作业共履行 五次 ;


④ 功能 : SHA-1 功率低于 MD5 , 抗穷举性高与 MD5 ;






七、MAC 报文辨别码


MD5 缺点 : MD5 报文辨别 能够防止 篡改 , 但 不能防止 假造 ; 不能完成报文辨别 ;



假造 示例 :


① 假造报文 : 黑客 假造了一个报文 , 并核算出其散列值 , 然后冒充 发送者 A 将其发给 接收者 B ;


② 验证假造报文成功 : 接收者 B 收到 报文 和 散列值 , 经过核算后 , 发现该 报文 与 散列值 对应 , 就认为 该报文是 A 发送的 ;




MAC 报文辨别码 :


① 散列值加密 : 上述 黑客 假造了 报文 和 散列值 , 导致接收者接收了假造报文 ; 这儿为了防止上述情况 , 对 散列值 进行私钥加密 , 黑客没有对应的私钥 , 因此 无法假造出对应加密的 散列值 , 接收者运用公钥解密 , 必定无法与假造的报文对应 , 这儿就完成了身份辨别 ;


② 报文辨别码 MAC : 对散列值加密后的密文 , 称为 报文辨别码 ( Message Authentication Code ) ;


报文辨别码 能够 防假造 , 防否认 ;


本公司销售:阿里云、腾讯云、百度云、天翼云、金山大米云、金山企业云盘!可签订合同,开具发票。

我有话说: