系统架构师学习笔记_第十一章(上)_连载
第十一章 信息安全技术
11.1 信息安全关键技术
11.1.1 加密和解密
有意的计算机犯罪 和 无意的数据破坏
被动攻击:非法地从传输信道上截取信息,或从存储载体上 偷窃、复制 信息。
主动攻击:对传输或存储的数据进行 恶意的删除、篡改 等。
密码技术是防止数据攻击的一种有效而经济的方法。
信源、信宿、明文、密文。
传输消息的通道称为信道,参数 称为 密钥,解密算法是加密算法的逆运算。
加密密钥与解密密钥相同,或者可以简单相互推导 的密码体质 称为 对称密码体质。
不能(在有效时间内)相互推导的,称为 非对称密码体质。
1、对称密钥密码体质及典型算法
对称算法(Symmetric Algorithm),有时又称为 传统密码算法,也称 单密钥算法。
安全通信之前,商定一个密钥,安全性依赖于密钥,密钥的保密性对通信至关重要。
优点:算法实现的 效率高、速度快。
缺点:密钥的管理过于复杂。
1. DES 算法简介
DES(Data Encryption Standard,数据加密标准)是IBM公司研制,美国国家标准局 1977年公布,作为 非机要部门 使用的数据加密标准。
DES 是一个分组加密算法,以64位为分组对数据加密。密钥长度56位(因为每个第8位都用作奇偶校验)。
2. IDEA 算法简介
国际数据加密算法(International Data Encryption Algorithm,IDEA)前身是 推荐加密标准(Proposed Encryption Standard,PES)。
分组长度 64b,密钥长度128b。
运算非常简单,只是 异或,速度极快,穷举破解不现实。
2、不对称密码加密算法
不对称密码体制又称 双密钥和公钥密码体质,1976年 由 Diffie 和 Hellman 提出的。
私钥 秘密保存。
不需要事先通过安全秘密管道交换密钥。
RSA 的安全性依赖于大素数分解。公钥和私钥 都是两个大素数(大于100个十进制 位)的函数。
据猜测,从一个 密钥和密文 中,推断出明文的难度 等同于 分解两个大素数的 积。
具体操作时 考虑到 安全性 和 M信息量 较大等因素,一般是 先做 HASH 运算。
速度慢一直是 RSA 的缺陷,因此一般来说,RSA只用于少量数据加密。
11.1.2 散列函数与数字签名
1、MD5 散列算法
散列函数是一种公开的数学函数。散列函数运算的输入信息叫做 报文,运算后所得的结果叫做 散列码 或 消息摘要。
特点:
1. 给定 M,要找到另一消息 M,使 H(M)= H(M')很难。
2. 散列函数都是 单向的,反推 M 很难。
3. 对于任何一个报文,无法预知它的散列码。
4. 散列码具有固定的长度,不管原始报文长度如何。
常见的散列函数有:MD5、SHA、HMAC 等。
MD5(Message Digest 5)已成为国际标准,产生128位(16字节)长度的散列值(或称 消息摘要)。
通过以下4个步骤:
1. 附加填充位,填充后数据长度 MOD 512 后 余 448。如果数据长度正好 MOD 512 余 448,增加 512 个填充位,填充个数也就是1~512。
填充位第一个为 1,其余全部是 0。
2. 补足长度。
3. 初始化 MD缓存器。
4个32位寄存器,A、B、C、D,初始化为:
A: 01 23 45 67
B: 89 AB CD EF
C: FE DC BA 98
D: 76 54 32 10
4. 处理数据段。
2、数字签名与数字水印
1. 数字签名可以解决 否认、伪造、篡改、冒充 等问题。
凡是需要对用户身份进行判断的情况 都可以使用数字签名。
三个过程:系统的初始化过程、签名产生过程、签名验证过程。
签名者必须注意保护好私有密钥,因为它是公开密钥体系安全的重要基础。
如果密钥丢失,应该立即报告鉴定中心取消认证,鉴定中心必须能够迅速确定用户的身份及其密钥的关系。
RSA、ElGamal、Fiat-Shamir、美国的数字签名标准/算法(DSS/DSA)、椭圆曲线 等多种。
2. 数字水印(Digital Watermarking)是实现版权保护的有效办法,也是信息隐藏技术研究领域的重要分支。
通过在原始数据中嵌入秘密信息——水印(Watermark)来证实该数据段所有权。
水印可以是一段 文字、标识、序列号 等,通常是不可见或不可察的,与原始数据紧密结合并隐藏其中。
数字水印技术必须具有较强的 鲁棒性、安全性、透明性。
数字水印主要应用领域:
版权保护,作品被盗版或出现版权纠纷时,所有者即可 从盗版作品或水印版作品中 获取水印信号作为依据。
加指纹,将不同用户端 ID 或 序列号 作为不同的水印(指纹)嵌入作品的合法备份中,一旦发现未授权的备份,就可以 确定它的来源。
标题与注释。
篡改提示,可将原始图像分成多个独立块,再将每个块加入不同的水印,来确定作品的完整性,这类水印必须是脆弱的,并且检测水印信号时,不需要原始数据。
使用控制,防复制。
空域算法、变换域算法、压缩域算法、NEC算法、生理模型算法 等。
11.1.3 密钥分配中心与公钥基础设施
现代密码系统中,算法本身的保密已经不重要了,只要密钥能够保密,即使加密算法公开,甚至加密设备丢失,也不会对加密系统的坚固性和正常使用产生多大影响。
如何高效地分配密钥、安全地管理密钥 对保证数据安全来说 至关重要。
1、密钥分配中心
密钥自动分配 是 密钥分配中心(Key Distribution Center,KDC)技术。
2、数字证书和公开密钥基础设施
数字证书的内容一般包括:唯一标识证书所有者的名称、唯一标识证书签发者的名称、证书所有者的公开密钥、证书签发者的数字签名、证书的有效期、证书的序列号 等。
PKI(Public Key Infrastructure,公钥基础设施)的结构模型有三类实体:管理实体、端实体、证书库。
管理实体是PKI的核心,是服务的提供者,端实体是PKI的用户。
CA 和 RA 是两种管理实体,CA 能够 发布和撤销 证书,维护证书的生命周期。RA负责处理用户请求。
证书库的存取对象为证书和CRL,其完整性由数字签名来保证,因此不需要额外的安全机制。