已阅读5页,还剩99页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第八章 网络安全,本章主要内容,关于网络安全 加密算法:对称密钥算法,公开密钥算法 消息鉴别 数字签名 公钥管理 通信安全:IPSec,VPN,防火墙 鉴别服务 电子邮件安全 Web安全,1 关于网络安全,网络安全从本质上说就是网络上的信息安全。 广义地说,凡是涉及网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论,都是网络安全要研究的领域。,OSI安全体系,OSI安全体系包括三个部分的内容: 安全攻击:任何损害信息安全的行为。 安全机制:用于检测和预防安全攻击或从安全攻击中恢复的任何机制。 安全服务:用于增强信息系统安全性及信息传输安全性的服务。,安全攻击,被动攻击: 试图从系统中获取信息,但不影响系统资源。 两种类型: 偷听:为了获得正在传输的内容。 流量分析:为了从通信频度、消息长度等流量模式来推断通信的性质。 对付被动攻击的最好方法是预防而不是检测,如可用加密来保护正在传输的信息,通过制造一些虚假的流量来防止流量分析。,安全攻击(续),主动攻击: 试图改变系统资源或影响系统的操作。 四种类型: 伪装:一个实体假冒另一个实体。 重放:从网络中被动地获取一个数据单元,经过一段时间后重新发送到网络中。 消息修改:改变消息的部分内容、推迟发送消息或改变消息的发送顺序。 拒绝服务:阻止通信设施的正常使用或管理。 对付主动攻击的主要方法是检测攻击,然后设法从攻击造成的破坏中恢复。,常见的一些安全机制,加密:使用数学算法对数据进行变换,使其不易理解。 鉴别:通过消息交换确信一个实体的身份,以防假冒。 数据完整性:用于保护数据单元或数据单元流的完整性,以防消息修改。 数字签名:附加在一个数据单元后面的数据,用来证明数据单元的起源及完整性,以防伪造及抵赖。 流量填充:在数据流间隙中插入比特,以挫败流量分析的企图。 访问控制:通过授权机制限制用户对资源的访问,防止越权。,2 加密技术,密码学的一些基本术语: 明文(plaintext):欲加密的数据,一般用P表示。 密文(ciphertext):明文经加密算法作用后的输出,一般用C表示。 密钥(key):加密和解密时需要使用的参数,一般用k表示。 密码分析(cryptanalysis):破译密文。 密码学(cryptology):设计密码和破译密码的技术统称为密码学。,加密模型,密码的安全性,密码学的基本原则: 加密与解密的算法是公开的,只有密钥是需要保密的。 一个加密算法被称为是计算安全的,如果由该算法产生的密文满足以下两个条件之一: 破译密文的代价超过信息本身的价值 破译密文所需的时间超过信息的有效生命期 现代密码学中,密码的安全性是通过算法的复杂性和密钥的长度来保证的。,加密算法的分类,按照加密密钥与解密密钥是否相同,加密算法分为: 对称加密(秘密密钥)算法:加密密钥与解密密钥相同 非对称加密(公开密钥)算法:加密密钥与解密密钥不同 按照明文被处理的方式,加密算法分为: 块加密:每次处理一个明文块,生成一个密文块。 流加密:处理连续输入的明文流,并生成连续输出的密文流。,(1)传统加密方法,替换密码 用密文字母替换明文字母,但字母位置不变。 例子:循环移动字母表、单字母表替换、多字母表替换等。 换位密码 保留明文字母不变,但改变字母的位置。 例子:列换位密码。,列换位密码的例子,替换和换位的硬件实现,P盒、S盒和乘积密码,(2)数据加密标准DES,Data Encryption Standard(DES): DES是一种块加密算法,每次处理64比特的明文块,输出64比特的密文块。 算法使用一个56比特的主密钥,包括16次迭代过程,每次迭代使用一个不同的48比特子密钥,子密钥从主密钥中生成。 DES是一种对称密钥算法,其加密和解密使用相同的函数,两者的不同只是子密钥的次序刚好相反。,DES处理过程,Triple DES(3DES),DES的缺点: 密钥长度不够长,迭代次数不够多,存在破译的可能。 3DES使用两个密钥进行三轮DES计算: 第一轮使用密钥K1对明文P进行加密 第二轮令DES设备工作于解码模式,使用密钥K2对第一轮的输出进行变换 第三轮令DES设备工作于加密模式,再用密钥K1对第二轮的输出进行变换,输出密文。,有关3DES的几个问题,为什么使用两个密钥而不是三个密钥? 112比特的密钥已经足够长。 为什么不使用两重DES(EE模式)而是三重DES? 考虑采用EE模式的两重DES,且攻击者已经拥有了一个匹配的明文密文对(P1,C1),即有C1EK2 (EK1 (P1 ) )。 令XEK1(P1)DK2(C1)。攻击者分别计算EK1(P1)和DK2(C1),并寻找使它们相等的K1和K2,则穷尽整个密钥空间只需256的攻击量而不是2112。 以上攻击方式称为中途攻击。,有关3DES的问题(续),为什么是EDE而不是EEE? 为了与单次DES兼容。3DES用户解密单次DES用户加密的数据,只需令K1K2就行了。,(4)公开(不对称)密钥算法,算法思想:加密密钥与解密密钥不同,且从加密密钥推导不出解密密钥,因此加密密钥可以公开。 公开密钥算法必须满足的条件: 从计算上说,生成一对加密密钥和解密密钥是容易的; 从计算上说,已知加密密钥,从明文计算出密文是容易的; 从计算上说,已知解密密钥,从密文计算出明文是容易的; 从计算上说,从加密密钥推出解密密钥是不可能的; 从计算上说,从加密密钥和密文计算出原始明文是不可能的。,公开密钥算法的使用,加密和解密: 每个希望接收秘密报文的用户生成一对加密密钥和解密密钥,并将加密密钥放在一个公开的文件中发布,解密密钥妥善保管。 当A希望向B发送一个加密报文P时,A从公开的文件中查到B的加密密钥,用B的加密密钥加密报文P,发送给B 。 B用自己的解密密钥解密报文,其他任何人不可能解密该报文。 公开密钥和私有密钥: 公开密钥:即加密密钥,由其他人用来发送加密信息。 私有密钥:即解密密钥,用来解密消息。,RSA算法,密钥计算方法: 选择两个大素数和(典型值为大于10100) 计算 npq 和 z(p-1) (q-1) 选择一个与 z 互质的数,令其为 d 找到一个 e 使满足 ed1 (mod z) 公开密钥为 (e, n),私有密钥为 (d, n) 加密方法: 将明文看成是一个比特串,将其划分成一个个数据块P,且有0Pn 。 对每个数据块P,计算CPe (mod n),C即为P的密文。 解密方法: 对每个密文块C,计算PCd (mod n),P即为要求的明文。,RSA算法举例(1),密钥计算: 取p3,q11 则有n33,z20 7和20没有公因子,可取d7 解方程7e1(mod 20),得到e3 公钥为(3, 33),私钥为(7, 33) 加密: 若明文P4,则密文CPe (mod n)43 (mod 33)31。 解密: 计算PCd (mod n)317(mod 33)4,恢复出原文。,RSA的特点,优点: 安全性好。RSA的安全性建立在难于对大数提取因子的基础上,这是目前数学家尚未解决的难题。 使用方便,免除了传递密钥的麻烦。 缺点: 计算开销大,速度慢。 RSA的应用: RSA一般用来加密少量数据,如用于鉴别、数字签名或发送一次性会话密钥等。,3 消息鉴别,一个消息被称为是可信的,如果它是真实的并且来自声称的源。 消息鉴别: 允许通信各方检验收到的消息是否可信的过程。 消息鉴别涉及两个方面: 数据起源鉴别 数据完整性检查,使用常规加密算法进行消息鉴别,如果发送方和接收方共享一个秘密密钥,使用常规加密算法进行消息鉴别是可能的: 发送方用共享的密钥加密整个消息,发送给接收方。 如果接收方能够正确解密收到的消息,则消息必是可信的。 这种方法的缺点: 混淆了加密和鉴别两个概念,有时我们只想知道消息是否可信,而消息本身并不需要保密。 加密整个消息会带来不必要的计算开销。,将消息鉴别与数据保密分开,设想: 发送者用明文发送消息,并在消息后面附上一个标签,允许接收者利用这个标签来鉴别消息的真伪。 用于鉴别消息的标签必须满足两个条件: 能够验证消息的完整性,即能辨别消息是否被修改 不可能被伪造 问题: 如何验证消息的完整性? 如何保证鉴别消息的标签不被伪造?,消息摘要与消息的完整性,消息摘要(数字指纹): 将一个散列函数作用到一个任意长的消息m上,生成一个固定长度的散列值H(m),这个散列值称为该消息的数字指纹,也称消息摘要(message digest,MD)。 使用消息摘要验证消息的完整性: 发送者对发送的消息计算一个消息摘要,和消息一起发给接收者。 接收者对收到的消息也计算一个消息摘要,和收到的消息摘要进行比较。,如何保证消息摘要不被修改?,方法一: 发送方先计算报文的消息摘要,然后用与接收方共享的秘密密钥加密消息摘要,形成消息鉴别标签。 方法二: 发送方先计算报文的消息摘要,然后用发送方的私钥加密消息摘要,形成消息鉴别标签。(这得到的其实是数字签名),使用加密散列函数的消息鉴别,为什么要开发一个不需要加密算法的消息鉴别技术? 加密软件通常运行得很慢,即使只加密少量的数据 加密硬件的代价是不能忽略的 加密算法可能受专利保护(如RSA),因而使用代价很高 加密算法可能受到出口控制(如DES),因此有些组织可能无法得到加密算法 使用加密散列函数(cryptographic hash function)的消息鉴别: 使用加密散列函数计算消息摘要时需要包含一个密钥,但它并不用来做加密运算。 发送方用双方共享的一个秘密密钥KAB添加到消息前,然后计算消息摘要:MD = H ( KAB | m )。,用于消息鉴别的散列函数,用于消息鉴别的散列函数H必须满足以下特性: H能够作用于任意长度的数据块,并生成固定长度的输出。 对于任意给定的数据块x,H(x)很容易计算。 对于任意给定的值h,要找到一个x满足H(x)=h,在计算上是不可能的(单向性)。(这一点对使用加密散列函数的消息鉴别很重要) 对于任意给定的数据块x,要找到一个yx并满足H(y) = H(x),在计算上是不可能的。(这一点对使用加密算法计算消息鉴别标签的方法很重要) 要找到一对(x, y)满足H(y) = H(x),在计算上是不可能的。(抵抗生日攻击) 满足前四个特性的散列函数称为弱散列函数,满足所有五个特性的散列函数称为强散列函数。,散列函数标准,目前使用最多的两种散列函数: MD5:散列码长度为128比特。 SHA-1:美国联邦政府的标准,散列码长度为160比特。 目前获得最多支持的加密散列函数方案为HMAC(Hashed Message Authentication Code),已应用到许多安全协议中。,4 数字签名,一个可以替代手写签名的数字签名必须满足以下三个条件: 接收方通过文件中的签名能够鉴别发送方的身份(起源鉴别) 发送方过后不能否认发送过签名的文件(防抵赖) 接收方不可能伪造文件的内容,使用公开密钥算法的数字签名,若使用公开密钥算法进行数字签名,则该公开密钥算法还必须满足: E ( D ( P ) )P。 发送方先计算报文的消息摘要,然后用自己的私钥加密消息摘要,形成数字签名。数字签名附加在消息后面一起发送。 接收方用发送方的公钥得到原始的消息摘要,然后对收到的消息计算消息摘要,如果两者相符,表明消息的真实性。,5 公钥管理,对称密钥体系需要通信双方事先协商好他们的共享密钥,在一个不可靠的网络中安全地分发密钥是一个复杂的过程。 公开密钥体系避免了密钥分发的问题,却需要解决如何安全地获取公钥的问题。,公钥认证与证书机制,为使公钥密码体系有实际应用,每个实体必须能够确定它得到的公钥确实来自声称的实体。 解决方案是引入证书机制: 使用证书(certificate)来证明某个主体(principal)拥有某个公钥。 证书由一个可信任的第三方机构颁发,该机构称为认证权威CA(certification authority)。 证书包含主体的公钥和CA的签名,任何人无法篡改证书的内容。 当一个主体获得证书后,可将其放在任何一个可公开访问的地方。,X.509证书,目前最常用的证书标准是X.509,它定义了证书的结构和基于公钥证书的鉴别协议。 X.509建立在公开密钥算法和数字签名的基础上: CA对证书内容先进行SHA-1散列,然后用CA的私钥对消息摘要加密,形成数字签名。 为验证公钥证书的真实性: 验证方用CA的公钥解开证书的签名,得到证书内容的消息摘要。 对收到的证书内容计算消息摘要,并与解密得到的消息摘要进行比较,两者相同表明这是合法的公钥证书。,X.509证书格式,如何管理公钥和证书?,使用一个CA签发全世界所有的证书是不合适的。(流量压力,单故障点) 由一个组织运行多个CA也不可行。(密钥泄露,信任问题) 公钥基础设施(Public Key Infrastructure,PKI)是提供公钥加密和数字签名服务的系统或平台,它包含由不同组织运行的CA,每个CA拥有自己的私钥,负责为一部分用户签发证书。,CA的一种组织结构,(a) A hierarchical PKI. (b) A chain of certificates.,信任锚与信任链,信任锚(trust anchor): 信任锚是信任的起点,系统中所有实体都以根CA的公钥作为它们的信任锚,信任锚必须通过安全的物理途径获取。 信任链(chain of trust): 也称证书路径(certification path ),指从叶结点到根CA的证书系列。 根CA的选择: 实际中有许多根CA,每个根CA都有自己的一个分级结构,所有根CA间可以进行交叉认证。 用户可以自行决定信任哪个根CA。 实际上,许多根CA的公钥被预装在浏览器上,这些根CA由浏览器厂商认证并嵌入到软件中,随软件一起发布。,证书的撤销,每个证书都有有效期,过期后证书自动失效。 CA也可以显式地撤销证书,这要求CA定期地发布证书撤销列表(Certificate Revocation List,CRL),表中给出已经撤销的证书序列号。 每个用户在使用一个证书前都要去获取CRL,检查该证书是否在CRL中。,证书目录,证书存放在哪里? 使用DNS作为证书目录,该方案的标准为DNSSEC。 使用专门的目录服务器存放证书,该方案的标准为LDAP。 证书撤销列表通常与证书存放在一起,CA定期地将CRL推进目录,由目录负责将CRL中列出的证书清除掉。,6 通信安全,通信安全涉及将数据秘密而完整地从发送端传送到接收端。 本节主要内容: IP安全协议(IPSec) 虚拟专用网(VPN) 防火墙(Firewall),6.1 IP安全协议,IP安全是整个TCP/IP安全的基础,是因特网安全的核心。 IPv4在设计时没有考虑安全性: 缺乏对通信双方身份的鉴别能力,容易遭受地址欺骗攻击。 缺乏对网络中数据的完整性和机密性的保护,数据很容易被监听、修改甚至劫持。 IPSec(IP Security)是指IETF以RFC形式公布的一组安全IP协议集,其目标是把安全特征集成到IP层,以便对因特网中的安全业务提供低层的支持。,IPSec提供了一个安全体系框架,IPSec提供了一个用于集成多种安全服务、加密算法及安全控制粒度的安全体系框架。 IPSec提供的安全服务主要包括访问控制、无连接完整性、数据起源认证、抗重放攻击、机密性等。 IPSec的安全机制独立于算法,因此在选择和改变算法时不会影响其它部分的实现。 IPSec提供多种安全控制粒度,包括一条TCP连接上的通信,一对主机间的通信,一对安全路由器之间的所有通信。 用户可以为自己的数据通信选择合适的安全服务、算法、协议和控制粒度。,IPSec的组成,从技术上说,IPSec主要包括两个部分: IPSec安全协议:包括AH和ESP两个安全协议,定义了用于安全通信的IP扩展头和字段以提供机密性、完整性和源鉴别服务。 密钥管理协议:定义了通信实体间进行身份鉴别、协商加密算法以及生成共享会话密钥的方法。 将以上两部分绑定在一起的是称为安全关联(SA)的抽象。,Security Association(SA),SA是通信对等实体之间对某些要素的协定,如使用的安全协议、协议的操作模式、使用的密码算法、密钥及密钥的生存期等。 SA是两个通信端点间的一个单工连接,由一个安全参数索引(SPI)唯一标识,如果在两个方向都需要安全通信,则需要建立两个SA。 SPI携带在数据包中,由数据包的处理进程用来查找密钥及相关信息。 SA可以建立在一对主机之间、一台主机与一个安全网关之间、或一对安全网关之间。,IPSec的使用模式,传输模式:IPSec头被插入到原始IP头和传输层头之间,路由器根据原始IP头转发数据包。 隧道模式:原始数据包被封装在一个新的IP包中,IPSec头被放在新的IP头和原始IP头之间,路由器根据外层IP头的信息转发数据包。隧道的端点(外层IP头中的地址)通常是一个支持IPSec的安全网关。,两种模式的比较,传输模式比隧道模式占用较少的带宽。 隧道模式更安全: 可隐藏内部网络的细节(原始IP头不可见)。 内部网络上的主机可以不运行IPSec,它们的安全性由安全网关来保证。 隧道模式可以将一对端点间的通信聚合成一个加密流,从而有效地防止入侵者进行流量分析。,鉴别头(Authentication Header)协议,SPI:32比特的数,和端地址合起来唯一标识数据报的SA。 SeqNum:对SA上发送的数据包进行编号,供接收端检测重放攻击。一个SA上的序号不能重用,因此在传输的数据包数量达到232之前,必须协商一个新的SA和新的密钥。 Authentication Data:包含消息鉴别码的可变长度域。所有AH实现必须支持HMAC-MD5-96和HMAC-SHA-1-96。,AH头在传输模式和隧道模式中的位置,传输模式,隧道模式,AH协议提供的安全服务,AH协议提供无连接完整性、数据起源认证和抗重放攻击,但不提供机密性服务。 HMAC覆盖数据包的载荷部分,因而可提供无连接完整性服务。 HMAC覆盖原始IP头中的不变域(传输模式)或整个原始IP头(隧道模式),因而可提供数据起源认证。 AH头中有序号,且被HMAC覆盖,因而可抵抗重放攻击。,封装安全载荷(Encapsulating Security Payload),ESP数据包大致分为以下几个部分: ESP头:包含SPI和SeqNum。 载荷:原始数据包中被加密部分的密文。 ESP尾:包括填充(需要的话)、填充长度和下一个头,ESP尾也要被加密。 鉴别数据:覆盖ESP头、载荷和ESP尾的消息鉴别标签。,传输模式和隧道模式下的ESP封装形式,(a) ESP in transport mode. (b) ESP in tunnel mode.,ESP协议提供的安全服务,ESP协议提供数据机密性、无连接完整性、抗重放攻击、数据起源鉴别和有限的数据流机密性服务: 原始数据包的载荷部分被加密,因而可提供数据机密性服务。 HMAC覆盖数据包的载荷部分,可提供无连接完整性服务。 ESP头中有序号,且被HMAC覆盖,可抵抗重放攻击。 ESP隧道模式中,原始IP头也被HMAC覆盖,因而ESP隧道模式可提供数据起源鉴别。 ESP隧道模式中,原始IP头也被加密,路由器只能看到外层IP头,因而ESP隧道模式可提供数据流机密性服务。,AH协议和ESP协议的安全性,ESP隧道模式的安全性强于ESP传输模式。 就鉴别服务而言: ESP隧道模式的鉴别服务,安全性强于AH。 ESP传输模式的鉴别服务,安全性不如AH。,6.2 虚拟专用网,专用网: 通过电信专线将分散在各地的计算机(网络)连接而成的网络。 安全性好,但代价高。 虚拟专用网(Virtual Private Network): 建立在公用网上的一个覆盖网络(overlay),具有专用网的大部分特性。,专用网和虚拟专用网,(a) A leased-line private network. (b) A virtual private network.,虚拟专用网的实现,VPN的典型结构: 在每个局域网上设置一个安全网关,在每一对安全网关间创建一条穿过因特网的隧道,在隧道中使用IPSec。 系统建立时,每一对安全网关必须协商它们的SA参数,此后在它们之间传输的数据流就绑定到这个SA上。,VPN的优点,可以在一对局域网间提供完整性控制及机密性服务,甚至对流量分析也有相当的抵御能力。 对因特网中的路由器及用户软件是透明的,只要系统管理员设置好安全网关就可以了,安全网关会自动建立和管理SA。 防火墙、VPN和IPSec(特别是隧道模式下的ESP)是实践中最常见的组合。,6.3 防火墙(Firewall),防火墙: 在可信的内部网络(专用网络)与不可信的外部网络(公用网络)之间执行访问控制策略的一个硬件或软件系统,目的是保护内部网络免受来自外部网络的攻击。 防火墙提供可控的通信过滤服务。 防火墙的设计目标: 所有进出网络的流量必须通过防火墙 只允许合法的流量通过防火墙 从理论上说,防火墙是穿不透的,防火墙的典型结构,防火墙的典型结构(续),由两个分组过滤路由器和一个应用网关组成: 分组过滤路由器:利用 IP头及传输层报头的某些域(IP地址、端口、协议类型等)过滤分组。 应用网关:根据应用层的信息(应用层协议的域、报文内容等)过滤分组。 两个分组过滤路由器分别位于外网和内网上并通过应用网关相连,迫使每个分组必须通过应用网关的检查。 应用网关通常运行在一个独立的计算机系统(称堡垒主机)上。堡垒主机必须是非常安全的,其操作系统必须具有较高的安全级别,并只安装必需的网络服务。,防火墙的基本机制(1),分组过滤(packet filtering): 分组过滤路由器按照配置的访问控制列表(Access Control List,ACL)转发或丢弃分组。 分组过滤通常基于分组的以下域进行:源/目的IP地址,源/目的传输层端口,协议字段。 优点:运行速度快。 缺点: 控制粒度粗,无法基于用户身份或消息内容进行过滤。 内部主机地址暴露。,防火墙的基本机制(2),应用代理(application proxy): 代理是运行在堡垒主机上的特定应用程序或服务程序,其作用是在用户与外部服务器之间中继应用层流量。 用户并不与外部服务器建立直接的TCP连接,用户只与堡垒主机建立连接,而堡垒主机与外部服务器建立连接。 优点: 外部服务器只能看到堡垒主机,内部网络细节对外是完全屏蔽的。 能够实现基于用户身份和内容的过滤。 除公共可访问的服务器外,其余内部主机可以使用私有地址。 缺点: 必须为每一个支持的应用安装代理,每一个应用会话都必须被代理,处理开销大,对网络速度的影响较大。,防火墙的局限性,防火墙不能抵抗以下攻击: 伪造数据包的源地址,以逃过地址过滤。 对文件进行加密或将文件扫描成JPEG文件,以逃过字符过滤器的检查。 来自防火墙内部的攻击 拒绝服务(DoS)攻击 ,6.4 网络地址转换(NAT),网络地址转换(Network Address Translation)技术允许在网络内部使用专用地址,而仅使用全局地址访问因特网。,网络地址转换器(NAT box),NAT box负责在两种地址之间进行转换: 对于外出的分组:将分组的源地址替换为自己的全局地址。 对于进入的分组:将分组的目的地址更换为相应节点的专用地址。,如何确定进入分组的目的地址?,静态地址转换(NAT box使用一个IP地址): 通信必须由专用网发起,NAT box 记录外出分组的,然后转换源地址。 收到进入分组时,NAT box 用分组的源地址查找地址转换表,确定目的地址。 这种方法只允许同时有一台内部主机连接到一台特定的外部主机上。,只使用一个IP地址的NAT方案,动态地址转换,NAT box使用有N个全局地址的地址池: 通信由专用网发起,NAT box 从地址池中选择一个作为源地址,进行源地址转换,并在相应的地址转换表中记录地址绑定。地址池中的每个地址使用一个地址转换表。 收到进入分组时,NAT box 用分组的目的地址确定要查找的地址转换表,然后用分组的源地址确定目的地址。 最多允许有N台内部主机同时连接到一台外部主机上。,NAT和ISP,将客户分组,每一组对应一个全局地址,每一组使用一个地址转换表。,端口地址转换,NAT box将请求分组的源地址和源端口号转换为一个全局IP地址和大于1024的端口号,在端口地址转换表中记录该绑定。 NAT box利用响应分组中的目的地址和目的端口号查表,找到对应的内部地址和端口号,进行转换。 允许专用网主机和外部服务器程序之间有多对多的关系。,7 鉴别服务,鉴别服务主要用于鉴别通信双方的身份,并传递一个会话密钥。 目前有两种主要的鉴别协议: Kerberos:基于对称加密技术的鉴别协议,目前已获得广泛支持并用于许多系统中。 X.509:提供基于公钥加密技术的鉴别服务。,X.509的鉴别服务,X.509定义了三种鉴别程序,供不同的应用选择: 单向鉴别:涉及一个用户到另一个用户的一次消息传输。 双向鉴别:允许通信的双方相互鉴别。 三向鉴别:允许通信双方相互鉴别,并提供消息同步机制。,单向鉴别(one-way authentication),AB:tA |rA| IDB | sgnData | EKUbKab | signatureA 说明: tA:时间戳,由消息的产生时间和到期时间组成,供接收者判断消息是否过时。 rA:A随机选择的一个序号,供接收者检测重放攻击。 IDB:B的标识,指示消息的接收者。 sgnData:消息中包含的信息,被签名覆盖以保证真实性和完整性。 Kab :若sgnData需要保密,则Kab为A加密sgnData使用的密钥。 KUb :B的公开密钥,用于加密会话密钥Kab。 signatureA :A的数字签名,对tA、rA、IDB和sgnData的明文生成。 B用自己的私钥解出Kab,用Kab解密sgnData,计算前面4个部分的消息摘要,用自己的公钥从签名中得到原始的消息摘要。,双向鉴别和三向鉴别,双向鉴别(two-way authentication): AB:tA | rA | IDB | sgnData | EKUb Kab | signatureA BA:tB | rB | IDA | rA| sgnData | EKUaKba | signatureB 三向鉴别(three-way authentication): AB:tA | rA | IDB | sgnData | EKUb Kab | signatureA BA:tB | rB | IDA | rA| sgnData | EKUaKba | signatureB AB:rB | signatureA,8 电子邮件安全,电子邮件的安全包括真实性和机密性两个方面。 目前最流行的两个安全电子邮件协议: PGP:一个开放源码的安全电子邮件软件包,提供对邮件的保密、鉴别、数字签名和压缩服务。PGP较多地用于个人电子邮件安全。 S/MIME:基于公钥加密技术对MIME所做的安全扩充。S/MIME较可能作为一种工业标准被商业组织或一些机构使用。,8.1 Pretty Good Privacy(PGP),PGP提供五种服务: 鉴别,机密性,压缩,兼容电子邮件,分段 鉴别: PGP使用基于公开密钥的数字签名提供鉴别服务。 过程: 发送方创建电子邮件(消息)。 用SHA-1计算邮件的消息摘要,然后用发送者的私钥加密消息摘要,形成数字签名。 将数字签名附在消息的前面,与消息一起发送: Sgn | Data。,PGP的机密性服务,PGP使用对称密钥算法保护邮件的机密性。一次性会话密钥用接收方的公钥加密后,与消息一起发送给接收方。 仅使用机密性服务的过程: 发送方(A)生成一个消息和一个随机的128比特数(会话密钥)。 先用会话密钥加密消息,再用接收方(B)的公钥加密会话密钥。 将加密后的会话密钥放在消息前面,与消息一起发送: EKUb(KAB) | EKAB(Data),鉴别 + 机密性服务,同时使用鉴别和机密性服务的过程: 发送方对明文消息计算一个签名,将签名加在消息的前面。 用会话密钥对签名和明文消息一起加密。 用接收方的公钥加密会话密钥,放在消息的前面: EKUb(KAB) | EKAB (Sgn | Data),PGP的压缩服务,缺省地,PGP在完成签名之后、在加密消息之前对消息进行压缩,压缩算法采用ZIP: EKUb(KAB) | EKAB (Zip (Sgn | Data) 在压缩消息之前计算数字签名,是为了方便日后对消息的验证。 在加密消息之前进行压缩,一方面可以减少要加密的数据量,另一方面压缩后的消息冗余很少,增加密码分析的困难。,PGP的兼容电子邮件服务,PGP使用Base64编码将二进制数据流转换成可打印ASCII文本,以解决邮件的传输问题。 PGP可被配置为仅对消息中的某些部分(如签名部分)进行Base64编码转换。,鉴别 + 机密性 + 压缩 + 兼容性,同时使用以上四种服务的过程: 发送方先对明文消息计算签名,将签名放在消息前面。 签名与明文一起被压缩。 用会话密钥对压缩后的数据块进行加密。 用接收方的公钥加密会话密钥,放在消息的前面。 将整个数据块转换成Base64编码格式: EncodeBase64(EKUb(KAB) | EKAB (Zip (Sgn | Data),PGP的邮件分段服务,许多电子邮件系统能够接收的最大消息长度不超过50,000字节。 PGP在完成对消息的全部处理后,自动将超过长度的消息分成小块传输,会话密钥和签名只在第一个片段中出现。 接收端去掉每个片段的信头,然后将所有的片段重新组装成一个数据块。,使用PGP发送一个消息,PGP的密钥管理,PGP使用4种密钥: 一次性会话密钥,公开密钥,私有密钥,基于短语的对称密钥。 对密钥的要求: 一次性会话密钥必须是不可预测的。 用户可以同时拥有多个公钥/私钥对,因而需要有一种方法来标识不同的密钥。,一次性会话密钥的产生,PGP一般使用CAST-128加密算法加密消息,一次性会话密钥由CAST-128自己产生: 将一个128比特的密钥和两个64比特的数据块输入一个随机数生成器,这两个64比特的数据块作为明文被加密,生成的两个64比特密文块串接在一起形成128比特的会话密钥。 作为明文的128比特数据来自用户键盘输入产生的随机数流。 这个随机输入与CAST-128前一次输出的会话密钥相结合,形成随机数生成器使用的加密密钥。,密钥标识,PGP用公钥的最低64比特作为该公钥的ID,用户ID和密钥ID(几乎)可以唯一地标识一个密钥。 实际上,消息的签名部分包括4个字段: 生成签名的时间戳 数字签名 消息摘要的前两个字节 发送者公钥的ID 消息的会话密钥也包含2个字段: 用接收者公钥加密的会话密钥 接收者公钥的ID,密钥环(key ring),PGP在每个节点上用私钥环和公钥环保存密钥。 私钥环 保存用户自己的公钥/私钥对,由用户ID或密钥ID索引。 私钥用CAST-128(或IDEA,3DES)加密后放入私钥环。 公钥环 用于保存其他用户的公钥,由用户ID或密钥ID索引。 每一项对应一个公钥证书。,私钥的存储,私钥加密后放入私钥环: 当系统生成一个公钥/私钥对时,要求用户输入一个用于加密私钥的短语。 用户选择一个短语,系统用SHA-1得到该短语的散列码(160比特),将短语丢弃。 系统用散列码中的128比特作为密钥,采用某种加密算法对私钥进行加密,然后将散列码丢弃。 当用户想从密钥环获取一个私钥时,他必须提供相应的短语;PGP计算短语的散列码,从中得到密钥,然后解密私钥。,公钥管理,PGP使用一种以用户为中心的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苯甲苯课程设计
- 醒目饮料活动策划方案(3篇)
- matlab课程设计个人总结
- java坦克大战课程设计
- 2025 板块运动的形式课件
- 大型化碱性电解水制氢项目可行性研究报告
- 2026年中国高性能专用改性塑料行业市场规模及投资前景预测分析报告
- 2026年中国高强高韧结构陶瓷行业市场规模及投资前景预测分析报告
- 2026七年级下语文整体感知方法指导
- 内镜巡回护理质量改进
- 青马工程笔试题库及答案
- 护理核心制度的有效落实
- 2024年江苏安全技术职业学院高职单招语文历年参考题库含答案解析
- 食品加工厂应急预案
- 部队消防安全
- 低钠血症的中国专家共识2023解读
- 员工手册(劳务派遣)-
- 糖尿病足皮肤护理
- 地球的演化过程(专项训练)-2025年上海高考地理一轮复习(解析版)
- 《智能网联汽车智能传感器测试与装调》电子教案
- 《法律职业伦理(第三版)》课件全套 王进喜 第1-21章 法律职业-司法鉴定职业伦理
评论
0/150
提交评论