7 PKI和密码应用

目录

7.1 非对称密码

7.1.1 公钥和私钥

7.2.2 RSA

7.1.3 El Gamal

7.1.4椭圆曲线

7.2 散列函数

7.2.1 安全散列算法(SHA)

 7.2.2 消息摘要2(MD2)

  7.2.3 消息摘要4(MD4)

7.2.4 消息摘要5(MD5)

7.3数字签名

7.3.1 HMAC

7.3.2 数字签名标准

7.4 公钥基础设施(PKI)

7.4.1 证书

   7.4.2 发证机构(CA)

7.4.3 证书的生成和销毁

7.5 非对称密钥管理

7.6 应用密码学

7.6.1 便携设备

 7.6.2 电子邮件

7.6.3 Web应用程序

7.6.4 数字版权管理(DRM)

7.6.5 联网

 1. 线路加密

2. 互 联网协议安全(IPsec) 标准

3、互联网安全关联和密钥管理协议(ISAKMP)

4. 无线联网

7.7 密码攻击


7.1 非对称密码

        本节将介绍三种常用的公钥密码系统,RSA,El Gamal和椭圆曲线密码(ECC)

        PKI:公钥基础设施。

7.1.1 公钥和私钥

        每个通信方都有一把私钥和一把公钥。

        发送方通过对方的公钥加密,接受方通过私钥解密。

        公钥系统使用的密钥必须比私钥系统所用的密钥更长,才能产生同等强度的密码系统。

7.2.2 RSA

        RSA 算法所依靠的是因式分解大素数的天然计算难度。

        各种密钥的强度还会因为你使用的密码系统而表现出巨大差异。下表所示 个非对称密码 系统的密钥长度都将提供同等级别的保护:

7.1.3 El Gamal

        基于Diffie-Helhnan算法扩展而来。

        相对于RSA优势:未申请专利,RSA在2000年才公开。

        劣势:把由它加密的任何消息都加长了一倍。这在加密长消息或将 通过窄带宽通信线路传输的数据时,会造成很大的困难。

7.1.4椭圆曲线

        1024 RSA 密钥在密码强度上等同千 160 位椭圆曲线密码系统密钥。

7.1.5 零知识证明

        只告诉别人应该知道的信息,不会提供任何重要的信息,同时能证明自己的身份。

7.2 散列函数

        执行数字签名是为了证明消息的不可否认性,散列函数是现代数字签名的算法。

        散列函数确保了消息的完整性,数字签名确保了消息的身份验证和不可否认性。

        散列函数的目的:从一个长消息衍生出一个唯一输出值,这就是消息摘要。发送者和接收者会比较消息摘要是否相同。

        消息摘要同生成消息摘要的整条消息一起发送给对方,有两个原因

        (1)接受者可用同一个散列函数根据整条消息重算消息摘要。

        (2)消息摘要可用来执行数字签名算法。

        消息摘要的不同表示方法:散列、散列值、散列总和、CRC、指纹、校验和数字ID。

        消息摘要128位或者更长。

        散列函数的基本要求:

        (1)输入可以是任意长度;

        (2)输出有一个固定长度;

        (3)为任何输入计算散列函数都相对容易。

        (4)散列函数是单向的。

        (5)散列函数无冲突,没有相同散列值的两条消息。

        本章计算四种常用散列算法:安全散列算法(SHA),消息摘要2(MD2),消息摘要4(MD4)、消息摘要5(MD5)。

7.2.1 安全散列算法(SHA)

        安全散列算法(SHA),还有后面衍生的SHA1、SHA2、SHA3。

        SHA1:可以提取任意输入长度,生成160的消息摘要。处理512位中的消息,不足则用数据填充。

        SHA2:有四个变体。

                • SHA-256, 512 位块大小生成 256 位消息摘要。

                • SHA-224, 借用了 SHA-256 散列的缩减版,用 512 位块大小生成 224 位消息摘要。
                • SHA-512, 1024 位块大小生成 512 位消息摘要。
                • SHA-384, 借用了 SHA-512 散列的缩减版,用 1024 位块大小生成 384 位消息摘要。

        SHA3:通过一种更安全的算法提供与SHA2相同的变体和散列长度。

 7.2.2 消息摘要2(MD2)

        MD2会生成128位消息摘要。为8位处理器提供安全散列函数。消息长度要达到16字节的整数倍。

        后来证明MD2不是一个单向函数。

  7.2.3 消息摘要4(MD4)

       支持32位处理器并提高安全性。消息的长度比512位消息小64位。

        MD4算法静态3轮计算处理512位消息块。输出128位消息摘要。

        MD4也被证明不是安全的散列算法。容易找到冲突(同一个散列值的两条不同消息)

7.2.4 消息摘要5(MD5)

        MD5还是处理512位消息块,通过4轮计算生成128位消息摘要。消息长度要求同MD4相同。

        MD5执行了新的安全性能,大幅降低了消息摘要的生成速度。

        MD5也容易产生冲突。

        下面的列表非常重要:

7.3数字签名

        将消息摘要加密就变成了数字签名。一般用发送方的私钥加密,对方用公钥解密。

        数字签名的两个目的:

        (1)有数字签名的消息可以向接收者保证,消息确实来自声称的发送者。

        (2)有数字签名的消息,可以向接收者保证,消息传递过程中没有改动过。

        数字签名依靠公钥加密法和散列函数发挥作用。

         请注意,数字签名流程并不对自己所含内容以及签名本身提供任何隐私保护。它只确保实 现密码的完整性、鉴别和不可否认性目标。如果要 提供消息的隐藏性,可以对消息用对方的公钥加密,然后对方用私钥解密。

        如何选择密钥:

        (1)如果你要加密消息,使用接收者的公钥。

       (2) 如果你要解密发送给你的消息,使用自己的私钥。 ·

       (3) 如果你要给将发送给别人的消息加上数字签名,使用自己的私钥。

        (4)如果你要验证别人发来的消息上的签名,使用发送者的公钥。

7.3.1 HMAC

        经过散列处理的消息鉴别码(HMAC)算法执行部分数字签名,只保证消息传输过程中的完整性,但不提供不可否认性的服务。

        HMAC 可通过一个共享秘密密钥与任何标准消息摘要生成算法(例如 SHA-3)配套使用。因

此,只有知道密钥的通信参与方可以生成或验证数字签名。
        简而言之, HMAC 是介于不经加密使用一种消息摘要算法,与基于公钥加密法、 计算成本昂贵的数字签名算法之间的一个中点。

 

7.3.2 数字签名标准

       DSS中规定, 联邦批准的所有数字签名算法都必须使用 SHA-3 散列函数。

        DSS 还规定了可用来支持数字签名基础设施的加密算法。当前得到批准的标准加密算法有 三种:

        • FIPS 186-4 规定的数字签名算法 (DSA);
        • ANSIX9.31 规定的 Rivest-Shamir-Adleman(RSA) 算法;
        • ANSIX9.62 规定的椭圆曲线 DSA(ECDSA)
        有两种数字答名算法, Schnorr 签名算法和 Nyberg-Rueppel 签名算法。
         密码学内的所有可能选择,因为不同的步骤和算法提供了不同类型的安全服务:
        (1)消息可以加密,这提供了机密性;
        (2)消息可以散列运算,这提供了完整性;
        (3)消息可以数字签名,这提供了身份验证、不可否认性以及完整性;
        (4)消息既可以加密又数字亲们,这提供了机密性、身份验证、不可否认性及完整性。

7.4 公钥基础设施(PKI)

7.4.1 证书

        数字证书向通信双方保证,与他们通信的确实是他们声称的人。数字证书其实就是一个人 的公钥的签注副本。当用户验证一份证书由一个可信发证机构(CA) 签署时,他们知道,公钥是 合法的。

        数字证书的构成受国际标准 X.509 辖制,内容主要包括:

        (1)证书遵守的 X.509 版本;

        (2)序号(证书创建者编制);

        (3)签名算法标识符(规定了发证机构给证书内容数字签名时采用的技术);
        (4)发证者名称(标识签发证书的发证机构);
        (5)有效期(规定了证书保持有效的日期和时间一—起始日期和时间以及终止日期和时间);
        (6)主体名称(含拥有证书所含公钥的实体的可识别名, DN);
        (7)主体的公钥(证书的主要内容一一证书拥有者用来建立安全通信的实际公钥)。

   7.4.2 发证机构(CA)

        发证机构(CA) 是将公钥基础设施结合到一起的粘合剂。这些中性机构提供数字证书公证服 务。
        下面列出几大 CA, 它们提供的数字证书被广泛接受:
        • Symantec
        • IdenTrust
        • Amazon Web Services
        • GlobalSign
        • Comodo
        • Certum
        • GoDaddy
        • DigiCert
        • Secom
        • Entrust
        • Actalis
        • Trustwave
        注册机构(RA) 分担了 CA 签发数字证书前验证用户身份的负担。

7.4.3 证书的生成和销毁

        下面将讨论发证机构用千创建、验证和注销客户 端证书的流程。
        1、 注册
        
        你要是想得到一份数字证书,你首先必须以某种方式向 CA 证明自己的身份;这个过程就 是注册。
        注册需要向机构提供自己的公钥,机构接下来会创建一个X.509 数字证书,内含你的身份识别信息和一个公钥拷贝。 CA 随后会在证书上用 CA 的私钥写上数字签名,并把签了名的数字证书拷贝一个副本交给你。
        2、验证
        必须对照证书注销列表(CRL)或在线证书状态协议(OCSP)对证书进行检查,确保这份证书
未被注销。需要满足以下条件,公钥才是真实的。
        
        • CA 的数字签名真实;
        • 你信任这家 CA;
        • 证书没有列在 CRL 上;
        • 证书确实包含你信任的数据。
        许多流行的 Web 浏览和电子邮件客户端都嵌入了数字证书验证算法,因此你通常不需要介
入验证流程的细节。  
        3、注销 
        发证机构偶尔需要注销证书。这种情况的出现可能由以下原因造成:
        证书失信(例如,证书拥有者意外泄霹了私钥)。
         • 证书误发(例如, CA 未经适当验证就错误签发了证书)。
         • 证书细节更改(例如,主体名称发生变化)。
         • 安全关联变更(例如,主体不再被申请证书的机构雇用)。
以下两种技术手段可以帮助你验证证书的真实性和识别被注销的证书:
        (1)证书注销列表(CRL)
        (2)在线证书状态协议(OCSP)

7.5 非对称密钥管理

        (1)挑选加密系统时要理智审慎。挑选的系统,配备的算法已在公共领域公开,经历了业界专家的百殷挑剔。这样的系统最可靠。

        (2)必须以合适的方式挑选密钥。所用密钥的长度要能在安全要求和性能考虑之间取得平

衡。此外,你还要确保密钥确实是随机生成的。
        (3)若使用公钥加密,你必须为私钥严格保密。
        (4)密钥完成使命后要退役。
        (5)备份自己的密钥。

7.6 应用密码学

        下面将探讨如何用密码技术来保护静止中的数据(例如存储在便携设备里的数据),以及借
助安全电子邮件、加密的 Web 通信、联网等技术传输的数据。

7.6.1 便携设备

        流行操作系统的当前版本如今都有硬盘加密能力,便于用户在便携设备上使用和管理加密。
        
        例如, Microsoft Windows 配备了 BitLocker Encrypting File System(EFS) 技术, MacOSX 配备 FileVault 加密,而 VeraCrypt 开放源程序包可用来在 Linux Windows Mac 系统上给硬盘 加密。
        可信平台模块(TPM):TPM 是安放在设备主板上的一块芯片,可发挥诸多作用,其中包括保存和管理用千全硬盘加密(PDE)解决方案的密钥。 TPM 向操作系统提供密钥访问权,防止有人从设备上移除硬盘驱动器并将其插进另一设备以访问驱动器上的数据。
        
        市场上有许多现成的商用工具可以提供额外的性能和管理能力。这些工具的主要差别在于,它们怎样保护保存在内存中的密钥,它们所提供的是全硬盘加密还是卷加密,以及它们是否能
基于硬件的 TPM 集成到一起提供额外的安全保护。

 7.6.2 电子邮件

        下面介绍几条有关电子邮件加密的简单规则:
        (1)如果电子邮件需要保密性,邮件加密。
        (2)如果必须保持完整性,邮件进行一次散列运算。
        (3)如果需要鉴别、完整性和/或不可否认性邮件加上数字签名。
        (4)如果要求保密性、完整性、鉴别和不可否认性,邮件加密后再加上数 字签名。
        密码学的最大应用需求之一是给电子邮件消息加密和签名。
        几种广泛使用的几个安全电子邮件标准:
        1、良好隐私(PGP)
        它把本章前文描述过的 CA 层级体系与“信任网”概念结合到了一起,必须得到一名或多名PGP 用户的信任才能开始使用系统。接下来,要接受其他用户对新增用户有效性的判断,以此类推,还要信任一个从最初获得信任判断的级别逐级往下延续的多层级用户“网”。
        PGP 有两个可用版本。
        商业版用 RSA 进行密钥交换,用 IDEA 进行加密/解密,用 MD5 生成消息摘要。
        免费版用 Diffie-Hellman 进行密钥交换,用 Carlisle Adams/Stafford Tavares(CAST)128 位加密/解密算法进行加密/解密,用 SHA-1 散列函数 生成消息摘要。
        2. 安全/多用途互联网邮件扩展(S/MIME)
       协议已经成为加密电子邮件的事实标准。  使用 RSA 加密算法。
        S/lV瓜庄目前已被大量商业产品采用,其中包括:
        • Microsoft Outlook Office 365;
        • Mozilla Thunderbird;
        • Mac OS X Mail;
        • GSuite 企业版。
        S/MIME通过 X.509 证书交换密码密钥。这些证书包含的公钥用千数字签名和交换对称密
钥,而这些对称密钥将用于较长的通信会话。 RSA 是S/MIME唯一支持的公钥密码协议。这一
协议支持 AES 和 3DES 对称加密算法。
        尽管 S/lV瓜庄标准得到业界强力支持,基于 Web 的主流邮件系统并不支持它。

7.6.3 Web应用程序

        下来将探讨在 Web 浏览器中 负责小锁锁定图标(small lock icon) 的两项技术一—安全套接字层 (SSL) 和传输层安全 (TLS)。
        SSL可向客户端/服务端提供 Web 流量加密。
        SSL 依靠交换服务器数字证书在浏览器与 Web 服务器之间协商加密/解密参数。它依赖千对称和非对称加密法的相互结合。
        TLS在 SSL 技术的基础上采用了许多安全强化方案。SSL出现过严重漏洞,目前只支持TLS。TLS还有一个外号,SSL3.0。
        隐写术和水印:隐写术 (Steganography)是通过加密技术把秘密消息嵌入另一条消息的技艺。隐写术也可以用千合法目的。给文件加上数字水印(watermark) 以保护知识产权,就是通过隐写术实现的。

7.6.4 数字版权管理(DRM)

        通过加密在数字媒体上执行版权限制。
        1. 音乐 DRM
        被消费者抵制。目前, DRM 技术在音乐领域主要用于基千订阅的服务,如 Napster Kazaa, 这些服务在用户订阅期结束时利用 DRM 技术撤消用户对已下载音乐的访问权。
        2 电影 DRM
        用来对付电影盗版。
        以下是用来保护大众传播媒体的两项主要技术:
        (1)高带宽数字内容保护(HDCP) ,可为通过数字连接(包括 HDMI DisplayPort DVI 接口)
传送的内容提供 DRM 保护。
        (2)高级访问内容系统 (AACS) ,可保护存储在 Blu-Ray HD DVD 介质中的内容。
        3. 电子书 DRM
        部署 DRM 技术的最成功案例。
        4. 电子游戏 DRM
        5. 文档 DRM
        用 DRM 来保护以 PDF 文件、 办公文档和其他格式保存的敏感信息的安全。
        下面列几个文档 DRM 解决方案限制的常见许可权:
        ·读文件;
        ·修改文件内容;
        ·移除文件水印;
        ·下载/保存文件;
        ·打印文件;
        ·文件内容截图。

7.6.5 联网

 1. 线路加密

        安全管理员可用两种加密技术保护在网络上传送的数据:

      (1)链路加密。通过在两点之间创建一条安全隧道来保护整个通信线路;有软件解决方案和硬件解决方案。硬件就是用私有线路;软件就是在隧道的一端加 密进入的所有通信流,然后在另一端解密流出的所有通信流。

        (2)端到端加密。独立于链路加密执行,保护通信双方(例如一个客户端和一台服务器)之间

的通信。TLS就是一个例子。
        链路加密和端到端加密之间的关键差别:
        
        (1)在链路加密中,所有数据(包括消息报头、消 息尾部、地址和路由数据)都是被加密的。所以传输速度慢。
        (2)到端加密不给报头、尾部、地址和路由数据加密。速度快,但是非常脆弱。

2. 互 联网协议安全(IPsec) 标准

        支持安全通信的一个架构。用于交换信息的两个实体之间建立安全信道。
        通过 IPsec 进行通信的实体可以是两个系统、两台路由器、两个网关或任何实体组合。 IPsec 虽然一般用于连接两个网络,但也可以用于连接单个计算机。
        
        IPsec 通过公钥加密法提供加密、访问控制、不可否认性和消息鉴别,全部使用基于IP  协议。
        IPsec 所依靠的是安全关联(SA),其中包含两个主要成分:
       
        (1)身份验证头(AH) 提供消息完整性和不可否认性保障。 AH 还提供鉴别和访问控制,可 抵御重放攻击。
        (2)封装安全载荷(ESP) 提供数据包内容的保密性和完整性保障。 ESP 还提供加密和有限 的鉴别,也可抵御重放攻击。
        IPsec 可在两种离散模式下运行:
        (1) IPsec 在传输模式下使用时,只加密数据包载荷。这种模 式是为对等通信设计的。        
        (2)IPsec 在隧道模式下使用时,将加密包括报头在内的整个数据包。这一 模式是为网关到网关的通信设计的。
        IPsec 的最大长处中,有一些来自于它能基于每个 SA 对通信进行过滤或管理,这样一来,
存在安全关联的客户端或网关,无论它们使用哪些协议或服务,只要能够使用 IPsec 连接,就
能受到严格管理。

3、互联网安全关联和密钥管理协议(ISAKMP)

        通过协商、建立、修改和删除安全关联(SA)为 IPsec 提供后台安全支待服务。
        这些 SA 通过 ISAKMP 接受管理。互联网 RFC 2408 ISAKMP 提出了四点基本要求:
        (1)鉴别通信伙伴;
        (2)创建和管理安全关联;
        (3)提供密钥生成机制;
        (4)抵御威胁(例如重放和拒绝服务攻击)。

4. 无线联网

        用于保护无线 网络安全的方案主要有两类:
        (1)有线等效保密。有线等效保密( WEP) 为保护无线局域网内的通信 提供 64 、 128 位加密选项。 IEEE 802.11 WEP 描述为无线联网标准的一个可选成分。
        (2)WiFi 受保护访问。 WiFi 受保护访问 (WPA) 以执行临时密钥完整性协议 (TKIP) 的方式消除破 WEP 的密码缺陷,从而提高了 WEP 加密的安全水平。这一技术的进一步改进版叫 WPA2,
增加了 AES 密码。 WPA2 提供的安个符法适千在现代无线网络上使用。
        另一项常用安全标准是 IEEE 802.lx ,可为有线和无线网络内的鉴别和密钥管理提供一个灵
活框架。
        客户端通过鉴别后,网络交换机或无线访问点将允许客户端访问网络。 WPA 就是为 802.lx 鉴别服务器交互而设计的。
        密码分析已确凿证明 WEP 算法存在重大缺陷,绝不可在无线网络上使用 WEP 加密。
        WPA 并不提供瑞到瑞安全解决方案。它只给一部移动计算机与最近的无线访问点之间的通信流加密。通信流到达有线网后将变回明文。

7.7 密码攻击

        1、分析攻击。这是试图降低算法复杂性的一种代数操作。
        2、 执行攻击。这是探寻密码系统在执行过程中暴露的弱点的一种攻击。它着重于挖掘软件代
码,其中不仅包括错误和缺陷,还涉及用来给加密系统编程的方法。
        3、统计攻击。统计攻击探寻密码系统的统计学弱点。
        4、蛮力攻击。蛮力攻击是直截了当的攻击。
         蛮力攻击如今做了两点改进,蛮力攻击的效果由此得到提升:
                (1)彩虹表为密码散列提供预先算出的值。彩虹表通常用于破解以散列形式保存在系统中的 口令。
                (2)专为蛮力攻击设计的专用可扩展计算硬件,可以大幅提高这一攻击手段的效率。
        假眼保护指令让蛮力攻击难度增大。
        5、 频率分析和唯密文攻击。许多时候,可供攻击者摆弄的只有经过加密的密文消息一一这种情景就是唯密文攻击。
        6、已知明文。在已知明文攻击中,攻击者掌握了加密消息的拷贝以及用千生成密文(拷贝)的明文消息。
        7、选择密文。在选择密文攻击中,攻击者能够解密密文消息中被选中的部分,然后用解密后
的那部分消息来发现密钥。
        8、中间相遇。攻击者可能通过中间相遇攻击手段来击败采用两轮加密的加密算法。恰恰因为
这种攻击的出现,造成作为 DES 加密可行强化版的双重 DES(2DES) 很快被弃用,被三重 DES(3DES)取代。
        攻击者在中间相遇攻击中使用一条已知的明文消息。这条明文消息随后用每个可能的密钥
PKI 和密码应用 (kl)加密,得出的密文再用所有可能的密钥 (k2) 解密。找到匹配时,对应的一对 (kl k2) 将代表 双重加密的两个部分。
        9、 中间人。在中间人攻击中,一个心怀歹意之人在位千两个通信方之间的一个地方拦截所有通信(其中包括密码会话的设定)。攻击者回应原发者的初始化请求并与原发者建立一个安全会话。攻击者随后用一个不同的密钥冒充原发者与预期接收者建立第二个安全会话。攻击者这时便“位于通信中间”了,可以读取两个通信参与方之间的所有流经通信内容。
        10、生日。生日攻击也叫碰撞攻击或反向散列匹配(请见第 14 章中有关蛮力攻击和词典攻击的讨论)。这种攻击寻求从散列函数的一对一性质中找出破绽。实施生日攻击时,心怀歹意者尝试在有数字签名的通估中换用一条可生成相同消息摘要的不同消恩,从而保持原始数字签名的有效性。
        11、重放。重放攻击用千针对没有采用临时保护措施的密码算法。在这种攻击中,心怀歹意之人在通信双方之间拦截经过加密的消息(常常是鉴别请求),然后通过“重放”捕捉来的消息建立一个新会话。采用时间戳并给每条消息设定过期时间,可以挫败重放攻击。
        
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值