Skip to main content

安全基础知识

A 方发送信息给 B 方,存在以下 4 个安全问题 窃听、欺骗、伪造、否认

加密基础知识

明文 ^ 密钥 = 密文
明文 = 密钥 ^ 密文

哈希

给定相同的输入, 输出必定相同
输入稍微有差异, 输出也会发生非常大的变化
不可逆, 且如果采用相同的哈希函数 输出长度一定

共有密钥加密

对称加密,加密和解密使用的是同一个密钥 发送方 A 使用密钥 K 加密信息后将密文 S 发送给接收方 B, 同时要将密钥发送给 B 方... ... 但是攻击者 X, 也可以窃听到密钥, 然后... ...如何安全的传输密钥?

公开密钥加密

非对称加密, 加密和解密使用不同的密钥 接收方想要接收数据, 需要生成一对公私钥, 公钥 PB, 私钥 PS,然后将公钥 PB 发送给发送方 A,发送方使用 PB 加密数据得到密文, 然后将密文发送给接收方 B, 接收方使用私钥 PS 堆密文进行解密

加密解密需要时间, 不适合来回交换少量数据

混合加密

数据采用对称加密的方式传输, 密钥采用非堆成加密的方式传输

迪菲.赫尔曼密钥交换

讯息鉴别码

验证数据有没有被篡改

使用公开密钥加密的方式对密文签名 记为 sign,接收方接收到数据后进行验签 结果一致则数据是确实为发送者所发, 且数据没有被篡改 这其中的公开密钥一般为 一个 hash 函数

数字签名

在讯息鉴别码中使用公开密钥对密文进行签名, 即拥有密钥的人都可以是发送者, 所以存在否认的问题 数字签名系统不再使用 MAC, 而是使用只有发送者可以创建的数据作为特定的依据,这些数据叫做数字签名

发送者准备发送的信息,自己创建的密钥对 发送者将公钥发送给接收方 B,然后使用私钥加密信息 -作为 sign, 将信息和 sign 发送给接收方 B,接收方 B 使用公钥解开 sign。 确认 信息和解开的信息一致。

数字证书

公开密钥加密和数字签名系统中不能够保证公钥的所属问题, 发送方得到权威认证机构认证颁发的数字证书,权威认证机构使用自己的私钥加密发送方的相关信息, 返还给发送方证书, 保留公钥等接受方获取公钥 发送方将该数字证书发送给接收方, 接收方获得权威机构的公开密钥, 解密得到 A 的公钥

分组密码体制

分组密码体制: 所谓分组密码体制就是指将明文切成一段一段的来加密, 然后再把一段一段的密文拼起来形成最终密文的加密方式. AES 采用分组密码体制, 即 AES 加密会首先把明文切成一段一段的, 而且每段数据的长度要求必须是 128 位 16 个字节, 如果最后一段不够 16 个字节了, 就需要用 Padding 来把这段数据填满 16 个字节, 然后分别对每段数据进行加密, 最后再把每段加密数据拼起来形成最终的密文.