zoukankan      html  css  js  c++  java
  • 系统架构师学习笔记_第十一章(上)_连载

    第十一章  信息安全技术


    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,其完整性由数字签名来保证,因此不需要额外的安全机制。

  • 相关阅读:
    C++中整型变量的存储大小和范围
    A1038 Recover the Smallest Number (30 分)
    A1067 Sort with Swap(0, i) (25 分)
    A1037 Magic Coupon (25 分)
    A1033 To Fill or Not to Fill (25 分)
    A1070 Mooncake (25 分)
    js 获取控件
    C#代码对SQL数据库添加表或者视图
    JS 动态操作表格
    jQuery取得下拉框选择的文本与值
  • 原文地址:https://www.cnblogs.com/lmule/p/1814702.html
Copyright © 2011-2022 走看看