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

    文章源自:http://www.cnblogs.com/hack/archive/2010/08/19/1803838.html

    第十一章  信息安全技术


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

  • 相关阅读:
    去除测序reads中的接头:adaptor
    Python学习_13_继承和元类
    Matplotlib初体验
    Python学习_12_方法和类定制
    python+requests接口自动化测试框架实例详解教程
    typeof与instanceof运算符
    闭包与递归函数的区别
    添加SSH
    AndroidStudio常用快捷键总结
    git新建分支
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1803210.html
Copyright © 2011-2022 走看看