版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息安全
网络安全协议杨敏武汉大学国际软件学院1协议协议指的是双方或多方通过一系列规定的步骤来完成某项任务。协议的含义:协议自开始至终是有序的过程,每一步骤必须依次执行。协议至少需要两个参与者通过执行协议必须完成某项任务。2协议协议的特点协议的每一方必须事先知道此协议及要执行的步骤协议涉及的每一方必须同意遵守协议协议必须是非模糊的协议必须是完整的每一步的操作要么是由一方或多方进行计算,要么是在各方之间进行消息传递3密码协议使用密码算法的提供安全服务的协议称为密码协议或安全协议.根据协议的功能〔常用的〕认证协议(authenticationprotocol):一个实体向他所希望通信的另一个实体的提供身份的确认.密钥建立协议(keyestablishmentprotocol):建立共享秘密认证的密钥建立协议(authenticatedkeyestablishmentprotocol):与另一个身份已被或可被认证的实体之间建立共享秘密.4主要内容Kerberos协议IP安全:IPSec协议Web安全:SSL/TLS协议电子邮件安全:PGP5Kerberos项目背景Kerberos是MIT1985年开始的Athena计划中的一部分,是为UNIXTCP/IP网络设计的三方认证协议。网络上的Kerberos服务设施作为信赖的仲裁者。Kerberos提供安全的网络认证,允许一个用户访问网络上的不同机器。Kerberos基于对称密码技术。Kerberos第4版是“最初的〞Kerberos,还在广泛使用。第5版弥补了第4版中存在的某些安全漏洞,并已作为Internet标准草案发布〔RFC1510〕。6Kerberos问题的提出在一个公开的分布式环境中,工作站上的用户希望访问分布在网络中服务器上的服务。服务提供者那么希望服务器能限制授权用户的访问,并能对服务请求进行鉴别。因此,Kerberos不是建立一个精细的鉴别协议,而是提供一个集中的鉴别服务器,功能是实现服务器与用户间的相互鉴别。7KerberosKerberos的设计目标Kerberos假定一个分布的客户服务器结构,并使用一个或多个Kerberos服务器来提供鉴别服务。并期望满足下述需求:安全,可靠,透明,可扩缩。为了支持这些需求,Kerberos的总体方案是使用一个协议来提供可信的第三方鉴别服务。客户和服务器信任Kerberos能仲裁它们之间的相互鉴别,从这个意义上说它是可信的。假定Kerberos协议已经设计好,如果Kerberos服务器本身是安全的,那么鉴别服务就是安全的。8KerberosKerberos支持在分布式系统中实现认证Kerberos服务器向用户提供一种称为票据的已认证的令牌,用户利用票据向应用软件提出请求。票据是不能伪造、不能重放、已认证的对象票据是一种用户可以获得的用于命名一个用户或一种服务的加密数据结构,其中保护时间值和一些控制信息9Kerberos认证服务器〔AS〕数据库票据授权服务器〔TGS〕用户C应用服务器V5.请求服务6.服务器验证3.申请服务器票据4.票据+会话密钥2.许可票据+会话密钥Kerberos1011Kerberos优点网络中无口令信息的通信使用加密提供保密性,防止欺骗有效的有效期时间戳防止重放攻击相互认证12Kerberos缺点要求一个可信任的票据授权服务器连续可用服务器的真实性要求在票据授权服务器与每个服务器之间保持一种信任关系要求实时传输一个被安装破坏的工作站可存储用户口令,并在稍后重放该口令口令猜测攻击13KerberosKerberos5——协议的改进模型消除认证协议对安全时间服务的依赖性更好地防止重放攻击提高口令猜测的复杂度简化域间认证提供效率使用临时交互号nonce14Kerberos协议IP安全:IPSec协议Web安全:SSL/TLS协议电子邮件安全:PGP主要内容15TCP/IP协议应用层HTTP,SMTP,POP,TELNET,FTP传输层TCP,UDP网络层IP,ARP,RARP,ICMP,IGMP数据链路层MAC物理层网卡16
用户数据用户数据应用头应用数据TCP头应用数据TCP头IP头应用数据TCP头IP头以太网帧头TCP分段IP数据报以太网帧142020以太网帧尾446到1500字节应用TCPIP以太网驱动程序以太网用户数据经过协议栈的封装过程17TCP/IP协议体系TCP/IP协议体系是一个开放的协议平台,但是缺乏安全性数据泄漏数据完整性的破坏身份伪装拒绝服务18Internet安全性途径应用层——S/MIME,PGP,PEM,SET,Kerberos,SHTTP,SSH传输层——SSL/TLS网络层——IP安全性(IPSec)19IPSec的起源1994年IETF专门成立IP安全协议工作组,来制定和推动一套称为Ipsec的IP安全协议标准。1995年8月公布了一系列关于IPSec的建议标准1996年,IETF公布下一代IP的标准IPv6,把鉴别和加密作为必要的特征,IPSec成为其必要的组成部分1999年底,IETF完成了IPSec扩展,在IPSec中加上了ISAKMP〔因特网安全关联和密钥管理协议〕,IKE〔密钥交换协议〕和Oakley〔密钥确定协议〕。ISAKMP/IKE/Oakley支持自动建立加密、鉴别信道,以及密钥的自动安全分发和更新。幸运的是,IPv4也可以实现这些安全特性。20IPSec概述IPsec提供认证〔authentication〕:确保收到的数据报是从报头中的源端发出的机密性〔confidentiality〕:防止第三方窃听密钥协商〔keymanagement〕IPSec在IPv6中是强制的,在IPv4中是可选的,这两种情况下都是采用在主IP报头后面接续扩展报头的方法实现的。AH(AuthenticationHeader)是鉴别的扩展报头ESPheader(EncapsulatingSecurityPayload)是实现加密和鉴别(可选)的扩展报头21IPSec的应用IPSec的主要特征是可以支持IP层所有流量的加密和/或鉴别。因此可以增强所有分布式应用的安全性。IPSec为在LAN、WAN和Internet上的通讯提供安全性
分支办公机构通过Internet互连。(SecureVPN)通过Internet的远程访问。与合作伙伴建立extranet与intranet的互连。增强电子商务安全性22IPSec的应用方式端到端〔end-end):主机到主机的安全通信端到路由〔end-router):主机到路由设备之间的安全通信路由到路由〔router-router):路由设备之间的安全通信,常用于在两个网络之间建立虚拟私有网〔VPN〕。23一个IP安全的方案24IPSec的优点弥补IPv4在协议设计时缺乏安全性考虑的不足位于传输层之下,对应用和最终用户透明在防火墙或路由器中实现时,可以防止IP旁路。可以对所有跨越周界的流量实施强安全性。公司或工作组内部的通信不会导致招致与安全处理相关的开销。需要时IPSec可以提供个人安全性。25体系结构认证头〔AH〕封装安全载荷〔ESP〕密钥管理〔IKE〕IPSec26IPSec体系结构体系结构ESP协议AH协议加密算法鉴别算法解释域密钥管理27各组成部分说明体系结构:包括总体概念,安全需求,定义,以及定义IPSec技术的机制;ESP:使用ESP进行分组加密和可选的鉴别的分组格式和一般性问题AH:使用AH进行分组鉴别的格式和一般性问题;加密算法:描述将各种不同加密算法用于ESP的文档鉴别算法:描述将各种不同鉴别算法用于AH以及ESP鉴别选项的文档;密钥管理:描述密钥管理模式;解释域:包括一些参数,批准的加密和鉴别算法标识,以及运行参数等28IPSec文档RFC2401:安全结构概述RFC2402:IP扩展的包认证概述〔IPv4和IPv6〕RFC2406:IP扩展的包加密描述〔IPv4和IPv6〕RFC2408:特定加密机制……29安全关联SA(SercurityAssociation)SA的概念是IPsec的基础SA是发送与接收者之间对某些要素的一种协定,如IPsec协议的使用、协议的操作模式、密码算法、密钥、用于保护它们之间数据流的主密钥的生存期等SA是单向的,如果需要一个对等关系,即双向安全交换,那么需要两个SA。SA提供的安全服务取决于所选的安全协议〔AH或ESP〕、模式、SA作用的两端点和安全协议所需的服务30安全关联SA每个SA通过三个参数来唯一标识安全参数索引
(SPI,SecurityParametersIndex):一个与SA相关的位串,由AH和ESP携带,使得接收系统能选择合适的SA处理接收数据报IP目的地址:表示SA的目的地址,可以是用户终端系统、防火墙或路由器安全协议标识:表示该关联是一个AH安全关联或ESP安全关联31安全关联SA的管理SA管理的两大任务就是SA的创建和删除SA的管理可以手工进行安全参数由管理员按安全策略手工指定、维护容易出错,手工建立起来的SA没有生存周期限制也可以通过IKE完成如果安全策略要求建立安全、保密的连接,但却不存在相应的SA,IPsec的内核会自动启动或触发IKE进行协商32IPsec操作模式IPsec有两种操作模式传输模式〔TransportMode〕隧道模式〔TunnelMode〕33传输模式为上层协议提供保护,增加了IP包负载的保护使用原始的明文IP头,源/目的地址不变,只加密数据部分〔包括它的TCP和UDP头〕,所有安全相关信息包括在AH和/或ESP头中。传输模式适合于端到端的安全通信34隧道模式加密整个IP数据包——包括全部的TCP/IP或UDP/IP头和数据,并用自己的地址作为源地址加入到新的IP头当通过隧道的数据到达目的网关〔即隧道的另一头〕,利用AP和/或ESP头中的相关的安全信息对加密过的原IP数据报进行处理,将还原的高层数据按原IP数据报所标明的IP地址递送,完成真正的源到目的之间的安全传输隧道模式适合于路由到路由或端到路由的安全通信。35体系结构认证头〔AH〕封装安全载荷〔ESP〕密钥管理〔IKE〕IPSec36认证头〔AH〕AH为IP包提供数据完整性和认证功能,认证范围为整个包,不提供机密性。利用MAC码实现认证,双方必须共享一个密钥,认证算法由SA指定认证的范围:整个包两种认证模式:传输模式:不改变IP地址,插入一个AH;隧道模式:生成一个新的IP头,把AH和原来的整个IP包作为新IP包的载荷。37认证头〔AH〕NextHeader:8位,指示认证有效负载之后的下一个有效负载的位置PayloadLength:8位,以32位字为单位的认证数据字段的长度Reserved:16位,保留SPI:数据报识别SA的32位伪随机数SequenceNumber:单调递增计数值,用来避免重放攻击AuthenticationData:长度可变,但是32位的倍数。包含针对这个包的完整性校验值〔ICV〕或者MAC38AH认证的作用域〔IPv4〕传输模式隧道模式应用AH之前39AH认证的作用域〔IPv6〕传输模式隧道模式应用AH之前40体系结构认证头〔AH〕封装安全载荷〔ESP〕密钥管理〔IKE〕IPSec41ESP协议提供保密功能,包括报文内容的机密性和有限的通信量的机密性,也可以提供可选的认证服务将需要保密的IP分组或上层协议部分〔即传输层数据〕封装到一个ESP载荷中,然后对次载荷进行相应的安全处理,如进行加密、认证处理等。ESP只认证ESP头之后的信息。加密算法和认证算法由SA指定两种工作模式传输模式:将上层协议部分封装到ESP载荷之中,采用当前的IP头部隧道模式:将整个IP封装到ESP载荷之中,并在ESP头部添加新的IP头部,以网关地址为其源地址42ESP协议数据单元由三部分组成头部加密数据可选的尾部43ESP加密和认证的作用域〔IPv4〕传输模式隧道模式应用ESP之前44ESP加密和认证的作用域〔IPv6〕隧道模式应用ESP之前传输模式45AH和ESP联合使用〔1〕46AH和ESP联合使用〔2〕47体系结构认证头〔AH〕封装安全载荷〔ESP〕密钥管理〔IKE〕IPSec48IPsec的密钥管理完成安全参数的协商和管理。通过安全关联〔SA,SercurityAssociation〕描述IPSec数据封装的安全参数。SA创建方式:手工的:通过管理员手动的完成自动的:Internet密钥交换协议IKE作用:在IPSec通信双方之间,建立起共享安全参数及验证过的密钥〔建立“安全关联〞〕,IKE代表IPSec对SA进行协商49IKE协议IKE协议RFC2409,是Oakley和SKEME协议的一种混合Oakley和SKEME定义了通信双方建立共享密钥必须采取的步骤基于ISAKMP框架ISAKMP(InternetSecurityAssociationandKeyManagementProtocol)RFC2408,是一个针对认证和密钥交换的框架是一种常规用途的安全协议,其规范在DOI中定义50IKE协议IKE协商的最终结果:一个通过验证的密钥,以及建立双方共享的安全服务参数集合〔产生IPsec的SA〕根据生成密钥和保护对象的不同,IKE协议的执行分成两个独立的阶段:第一阶段:协商并创建一个通信信道〔IKESA〕,对该信道进行验证,为双方进一步的IKE通信提供机密性、消息完整性以及消息源认证服务;第二阶段:使用已建立的IKESA来建立IPsecSA51IPSec的安全性虽然到目前为止,全球安全专家普遍认为IPSec是最安全的IP协议,但也并非全是赞美之词,最主要的批评是它的复杂性。52Kerberos协议IP安全:IPSec协议Web安全:SSL/TLS协议电子邮件安全:PGP主要内容53Web安全Web是一个运行于internet和TCP/IPintranet之上的基本的client/server应用。Web安全性涉及前面讨论的所有计算机与网络的安全性内容。同时还具有新的挑战。54Web的安全需求Internet是双向的。Web对于Internet上针对Web服务器的攻击是非常脆弱的。Web越来越多地作为公司和产品信息的高度可视化的窗口和商业交互的平台。如果Web服务器被破坏,声誉可能被损害,经济会受到损失。尽管Web浏览器非常容易使用,Web服务器相对容易配置和管理,Web内容也越来越容易开发,但底层的软件却异乎寻常的复杂。这个复杂的软件可能隐藏了很多潜在的安全隐患。Web服务器可以被使用成进入公司或机构整个计算机系统的发射台。一旦Web服务器被破坏,攻击者可以访问不是Web一部分的而是连接到本地站点服务器上的数据和系统。不经意的和没有经过训练的用户〔从安全的角度来看〕是基于Web服务的常见客户。这样的用户并不是必须了解存在的安全风险,并且也没有工具或知识采取有效的对策。55Web所面临的安全威胁威胁后果对策完整性修改用户数据特洛伊木马浏览器对存储器的修改修改传输中的报文通信量信息丢失危及机器的安全容易受到其他所有威胁的攻击加密的检验和机密性在网上窃听从服务器上偷窃信息从客户那里偷窃数据有关网络配置的信息有关哪个客户与服务器交谈的信息信息丢失丢失秘密加密,Web代理(proxy)拒绝服务破坏用户线程用假的请求来淹没机器填满硬盘或存储器通过DNS攻击来孤立机器破坏性的骚扰性的阻止用户完成工作防治起来很困难鉴别扮演合法用户数据伪造误传用户相信假信息是合法的加密技术56按主动和被动攻击分类主动攻击包括假扮另一个用户,修改客户与服务器之间传输的信息,或修改一个Web站点的信息。被动攻击包括偷听测览器和服务器之间的网络通信量,获得对于Web站点受限制的信息的访问权。按位置分类服务器和浏览器的安全,属于计算机系统安全性的范畴。浏览器与服务器之间的网络通信量,属于网络安全的范畴。对Web安全威胁的分类57实现Web通信量安全性的方法网络级:在IP层实现,常用的是IPSec。此方法对于最终用户和应用程序来说是透明的,并且提供了通用的解决方法。传输级:TCP上实现,常用的是SSL/TLS。为了达到完全通用,SSL/TLS可以作为基本协议族的一个部分提供,因而对于应用程序是透明的。也可以将SSL嵌入到专门的软件包中,例如许多浏览器都配置了SSL,大多数Web服务器也已经实现了这个协议。应用级:与应用有关的安全服务被嵌入到特定的应用程序中。对于Web安全而言,这种方法的一个重要例子是SET。
UDP
HTTP
FTP
SMTP
TCP
IP
/IPSecHTTP
FTP
SMTP
TCP
IP
SSLTLS
S/MIME
PGP
SET
TCP
IP
HTTP
SMTP
Kerberos
(a)网络级
(b)传输级
(c)应用级
58SSL/TLS协议1994年Netscape开发了SSL(SecureSocketLayer)安全套接层协议,专门用于保护Web通讯版本和历史1.0,不成熟2.0,基本上解决了Web通讯的安全问题3.0,1996年发布,增加了一些算法,修改了一些缺陷TLS1.0(TransportLayerSecurity传输层安全协议,也被称为SSL3.1),1997年IETF发布了Draft1999年,发布RFC2246(TheTLSProtocolv1.0)59SSL协议SSL协议的目标:SSL被设计用来使用TCP提供一个可靠的端到端安全服务,为两个通讯个体之间提供保密性、完整性和合法性认证(身份鉴别)。SSL协议的作用:解决如下问题客户对服务器的身份确认。服务器对客户的身份确认建立起服务器和客户之间安全的数据通道60SSL的体系结构SSL不是单个协议,而是两层协议。底层:SSL记录协议。为不同的更高层协议提供了基本的安全服务。上层:握手协议、修改密文规约协议和告警协议。这些与SSL有关的协议用于管理SSL交换。61SSL记录协议和SSL握手协议SSL记录协议建立在可靠的传输协议(如TCP)之上它提供连接安全性,有两个特点保密性,使用了对称加密算法完整性,使用HMAC算法用来封装高层的协议SSL握手协议客户和服务器之间相互鉴别协商加密算法和密钥它提供连接安全性,有三个特点身份鉴别,至少对一方实现鉴别,也可以是双向鉴别协商得到的共享密钥是安全的,中间人不能够知道协商过程是可靠的62SSL连接和SSL会话SSL连接〔Connection〕:连接是提供恰当类型服务的传输〔在OSI分层模型的定义中〕。对于SSL,这样的连接是点对点的关系。连接是短暂的,每个连接与一个会话相联系。SSL会话〔Session〕:一个SSL的会话是客户和服务器之间的一个关联,会话通过握手协议来创建。会话定义了加密安全参数的一个集合,该集合可以被多个连接所共享。会话可以用来避免为每个连接进行昂贵的新安全参数的协商。63SSL会话状态参数会话标识符:服务器选择的任意字节序列,用来标识活动的或可恢复的会话状态。对方的证书:对方的X.509v3证书。状态的这个元素可以为空。压缩方法:在加密之前用来压缩数据的算法。密文规约〔Cipherspec〕:指明大块数据加密算法〔例如,空、DES等等〕,用于MAC计算的散列算法〔例如MD5或SHA-l〕。它还定义了加密属性,例如hash_size。主密码:48个字节长的客户和服务器共享的密码。可恢复性:指示会话是否可以用来初始化新的连接的标志。64SSL连接状态参数服务器和客户的随机数:服务器和客户为每个连接选择的字节序列。服务器写MAC密码:用于对服务器发送数据进行MAC操作的密钥。客户写MAC密码:用于对客户发送数据进行MAC操作的密钥。服务器写密钥:用于服务器对数据加密和客户对数据解密的常规加密密钥。客户写密钥:用于客户对数据加密和服务器对数据解密的常规加密密钥。初始化向量:当使用CBC模式的分组密文时,为每个密钥维护的初始化向量。这个字段首先被SSL握手协议初始化。然后每个记录最终的密文块被保留下来作为下一个记录的IV。序号:每一方为每个连接的传输和接收报文维持着单独的序号。当一方发送和接收修改密文规约报文时,相应的序号被设置成0。序号不能超过264-1。65SSL记录协议SSL记录层协议限定了所有发送和接收数据的打包,它提供了通信、身份认证功能,它是一个在面向连接的可靠传输协议。SSL记录协议为SSL连接提供两种服务。保密性。消息完整性。66SSL记录协议操作过程发送:记录协议接收传输的应用报文,将数据分片成可管理的块,可选地压缩数据,应用MAC,加密,增加首部,在TCP报文段中传输结果单元。接收:被接收的数据被解密、验证、解压和重新装配,然后交付给更高级的用户。67SSL记录格式在SSL中,所有数据被封装在记录中。一个记录由两部分组成:记录头和非零长度的数据。SSL第2层协议的报文要求必须放在一个SSL记录层的记录里,但应用层协议的报文允许占用多个SSL记录来传送。SSL记录的格式如下:68SSL记录协议首部构成内容类型〔8比特〕:用来处理这个包装的数据片的更高层协议。主要版本〔8比特〕:指示使用SSL的主要版本。对于SSLv3,字段值为3。次要版本〔8比特〕:指示使用的次要版本。对于SSLv3,字段值为0。压缩长度〔8比特〕:明文数据片以字节为单位的长度〔如果使用压缩就是压缩数据片〕。最大的值是214+2048。已经定义的内容类型是修改密码规约、告警、握手和应用数据。前三个是与SSL有关的协议。SSL记录格式69SSL修改密码规约协议这个协议由单个报文组成,该报文由值为1的单个字节组成。这个报文的惟一目的就是使得挂起状态被复制到当前状态,改变了这个连接将要使用的密码族。70SSL告警协议告警协议是用来将SSL有关的告警传送给对方实体。和其他使用SSL的应用一样,告警报文按照当前状态说明被压缩和加密。这个协议的每个报文由两个字节组成。第一个字节的值是警告〔warning〕〔1〕或致命的〔fatal〕〔2〕,用来传送报文的严重级别。如果级别是致命的,SSL立刻中止该连接。同一个会话的其他连接可以继续,但是这个会话不可以再建立新的连接了。第二个字节包含了指出特定告警的代码。71SSL握手协议SSL握手协议由客户端和服务器间交换的一系列消息组成,消息格式如以下图所示。类型〔一字节〕:指示10种消息中的一个。长度〔3字节〕:以字节为单位的报文长度。内容〔>0字节〕:和这个报文有关的参数。72SSL握手协议使用的消息报文类型参数hello_request空client_hello版本、随机数、会话ID、密文族、压缩方法server_hello版本、随机数、会话ID、密文族、压缩方法certificateX509v3证书链server_key_exchange参数、签名certificate_request类型、授权server_done空certificate_verify签名client_key_exchange参数、签名finished散列值73SSL握手协议的流程
客户
服务器
建立安全能力,包括协议版本、会话ID、密码簇、压缩方法和初始随机数
服务器可以发送证书、密钥交换和证书请求。服务器发出结束hello报文阶段的信号
如果请求的话,客户发送证书,客户发送密钥交换,客户可以发送证书验证报文
修正密码簇并结束握手协议
client_hello
server_hello
certificate
server_key_exchange
certificate_request
server_hello_done
certificate
client_key_exchange
certificate_verify
change_cipher_spec
finished
change_cipher_spec
finished
时间
74第一阶段:建立起安全协商客户发送一个client_hello消息,包括以下参数:版本、随机数(32位时间戳+28字节随机序列)、会话ID、客户支持的密码算法列表(CipherSuite)、客户支持的压缩方法列表然后,客户等待服务器的server_hello消息服务器发送server_hello消息,参数:客户建议的低版本以及服务器支持的最高版本、服务器产生的随机数、会话ID、服务器从客户建议的密码算法中选出的密码组、服务器从客户建议的压缩方法中选出的一个压缩算法75密码组参数说明密码组参数的第一个元素指定了密钥交换的方法,SSL支持以下一些方法:RSA,要求服务器提供一个RSA证书DH(Diffie-Hellman),要求服务器的证书中包含了由CA签名的DH公开参数。客户或者在证书中提供DH公开参数,或者在密钥交换消息中提供此参数瞬时DH(EphemeralDiffie-Hellman),产生临时的密钥,DH公开参数由发送者的私钥进行签名,接收者用对应的公钥进行验证匿名的DH,不加鉴别。会受到中间人攻击然后,指定以下信息加密算法,和类型(流还是分组密码算法)MAC算法,MD5还是SHA-1是否可出口HashSizeKeyMaterialIVSize76第二阶段:服务器鉴别和密钥交换服务器发送自己的证书,消息包含一个证书,或者一条证书链除了匿名DH之外的密钥交换方法都需要服务器发送server_key_exchange消息可选的,有些情况下可以不需要。只有当服务器的证书没有包含必需的数据的时候才发送此消息消息包含签名,被签名的内容包括两个随机数以及服务器参数服务器发送certificate_request消息非匿名server可以向客户请求一个证书包含证书类型和CAs服务器发送server_hello_done,然后等待应答77第三阶段:客户鉴别和密钥交换客户收到server_done消息后,它根据需要检查服务器提供的证书,并判断server_hello的参数是否可以接受,如果都没有问题的话,发送一个或多个消息给服务器如果服务器请求证书的话,那么客户首先发送一个certificate消息,假设客户没有证书,那么发送一个no_certificate警告然后客户发送client_key_exchange消息,消息的内容取决于密钥交换的类型最后,客户发送一个certificate_verify消息,其中包含一个签名,对从第一条消息以来的所有握手消息的HMAC值(用master_secret)进行签名78第四阶段:结束第四阶段建立起一个安全的连接客户发送一个change_cipher_spec消息,并且把协商得到的CipherSuite拷贝到当前连接的状态之中然后,客户用新的算法、密钥参数发送一个finished消息,这条消息可以检查密钥交换和鉴别过程是否已经成功。其中包括一个校验值,对所有以来的消息进行校验。服务器同样发送change_cipher_spec消息和finished消息。握手过程完成,客户和服务器可以交换应用层数据。79SSL协议采用的加密算法和认证算法加密算法和会话密钥SSL协议V2和V3支持的加密算法包括RC4、RC2、IDEA和DES而加密算法所用的密钥由消息散列函数MD5产生。〔密钥交换采用RSA或DH〕认证算法认证算法采用电子证书标准,是通过RSA算法进行数字签名来实现的。80SSL安全性分析SSL安全优势对抗监听和中间人式攻击,对抗报文重放式攻击SSL协议存在的问题密钥管理问题不支持数字签名加密强度问题81安全电子邮件E-mail是Internet上最大的应用,也是唯一的广泛跨平台、跨体系结构的分布式应用。安全的电子邮件主要是解决身份鉴别和保密性的安全问题。涉及到的问题:安全算法的选择系统邮件的信息格式如何实现认证和信任管理邮件服务器的可靠性应用实际例子:PGP、S/MIME、PEM、MOSS82Kerberos协议IP安全:IPSec协议Web安全:SSL/TLS协议电子邮件安全:PGP主要内容83PGPPGP-PrettyGoodPrivacyPhilipZimmermann提供可用于电子邮件和文件存储应用的保密与鉴别服务。://84PGP发展特点选择最好的可用加密算法作为系统的构造模块将这些算法集成到一个通用的应用程序中,该程序独立于操作系统和处理器,并且基于一个使用方便的小命令集。程序、文档,在Internet上公开。一个商业公司〔Viacrypt,即NetworkAssociates)提供全兼容、低价格的商业版本。85PGP广泛应用的原因提供免费版本,可用于多平台。DOS/Windows、Unix、Macintosh商业版本可以得到专业的技术支持。选用算法的生命力和安全性公众认可。应用范围广泛。不由政府或标准化组织控制。86PGP安全业务数字签名DSS/SHA或RSA/SHA消息加密CAST-128或IDEA或3DES+Diffie-Hellman或RSA数据压缩ZIP邮件兼容Radix64数据分段87PGP密码功能概要88记号说明:
Ks :会话密钥
KRa :用户A的私钥
KUa :用户A的公钥
EP :公钥加密
DP :公钥解密
EC :常规加密
DC :常规加密
H :散列函数
|| :连接
Z :用ZIP算法数据压缩
R64 :用radix64转换到ASCII格式89PGP功能描述90PGP操作:身份鉴别发送方产生消息M用SHA-1对M生成一个160位的散列码H用发送者的私钥对H加密,并与M连接接收方用发送者的公钥解密并恢复散列码H对消息M生成一个新的散列码,与H比较。如果一致,那么消息M被鉴别。91身份鉴别说明说明:1.RSA的强度保证了发送方的身份2.SHA-1的强度保证了签名的有效性3.DSS/SHA-1可选替代方案。签名与消息可以分离可以为消息保存分离的签名记录保存可执行程序的签名记录,日后可以检查病毒支持文档多方签名,可以避免嵌套签名92PGP操作:保密性发送方生成消息M并为该消息生成一个随机数作为会话密钥Ks。用会话密钥加密M用接收者的公钥加密会话密钥并与消息M结合接收方用自己的私钥解密恢复会话密钥用会话密钥解密恢复消息M93保密性说明采用CAST-128(或IDEA或3DES)、64位CFB方式。一次性密钥,单向分发,公钥算法保护。对称加密算法和公钥加密算法的结合可以缩短加密时间用公钥算法解决了会话密钥的分配问题不需要专门的会话密钥交换协议由于邮件系统的存储-转发的特性,用握手方式交换密钥不太可能每个消息都有自己的一次性密钥,进一步增强了保密强度。所以,每个密钥只加密很小部分的明文内容公开密钥算法的密钥长度决定安全性RSA〔768~3072〕、DSS〔1024〕94两种服务都需要时,发送者先用自己的私钥签名,然后用会话密钥加密,再用接收者的公钥加密会话密钥。PGP操作:保密与鉴别同时运用95PGP操作:数据压缩对邮件传输或存储都有节省空间的好处。压缩的位置:发生在签名后、加密前。压缩之前生成签名:〔1〕验证时无须压缩〔2〕压缩算法的多样性在加密前压缩:压缩后冗余信息少,因此压缩后再加密的报文更难分析96PGP操作:
E-mail兼容性加密后是任意的8位字节,然而许多电子邮件系统仅仅允许使用由ASCII正文组成的块。因此PGP提供了将8位二进制流要转换到ASCII字符的功能。采用的方案是Radix64,将3字节输入转换到4个ASCII字符,并带CRC校验。长度扩大33%与压缩综合后,长度为:1.33×0.5×M=0.665×M97PGP操作:分段与重组Email常常受限制于最大消息长度〔一般限制在最大50000字节〕更长的消息要进行分段,每一段分别邮寄。PGP自动分段并在接收时自动恢复。签名只需一次,在第一段中。PGP自动将太长的报文划分成足够小的报文段。分段是在所有其他的处理〔包括radix-64转换〕完成之后才进行的,因此会话密钥部分和签名部分只在第一个报文段的开始位置出现一次。98PGP消息的传送与接收
X←
文件
需要签名?
生成签名
X←
签名||X
压缩
X←
Z(X)
需要机密性?
转换成radix64
X←
R64[X]
是
否
加秘密钥X
X←
EKUb[Ks]||EKs[X]
是
否
从radix64转换
X←
R64-1[X]
需要机密性?
解秘密钥X
X←
DKRb[Ks];DKs[X]
是
否
解压
X←
Z-1(X)
需要签名?
从X中提取签名
验证签名
是
否
99PGP的密钥管理100加密密钥和密钥环PGP使用四种类型的密钥:一次性会话常规密钥,公钥,私钥,基于口令短语的常规密钥。需求:1、需要一种生成不可预知的会话密钥的手段2、需要某种手段来标识具体的密钥。一个用户拥有多个公钥/私钥对。3、每个PGP实体需要维护一个文件保存其公钥私钥对,和一个文件保存通信对方的公钥。101会话密钥的生成以CAST-128为例。128位的随机数是由CAST-128自己生成的。输入包括一个128位的密钥和两个64位的数据块作为加密的输入。使用CFB方式,CAST-128产生两个64位的加密数据块,这两个数据块的结合构成128位的会话密钥。〔算法基于〕作为明文输入的两个64位数据块,是从一个128位的随机数流中导出的。这些数是基于用户的键盘输入的。键盘输入时间和内容用来产生随机流。因此,如果用户以他通常的步调敲击任意键,将会产生合理的随机性。102密钥标识符一个用户有多个公钥/私钥对时,接收者如何知道发送者是用了哪个公钥来加密会话密钥?方法1,将公钥与消息一起传送。方法2,将一个标识符〔KeyID〕与一个公钥关联。对一个用户来说做到一一对应。将标识符与消息一起传送。定义密钥ID〔KeyID〕包括64个有效位。KeyID与每个公开密钥相关联,并由公开密钥的最低64比特组成,即,公开密钥KUa的KeyID是〔KUamod264〕。这个长度足以使KeyID重复概率非常小。103密钥标识符PGP的数字签名也需要密钥ID。因为发送者可能使用一组私有密钥中的一个来加密报文摘要,接收者必须知道应该使用哪个公开密钥来解密。相应地,报文的数字签名部分包括了需要的公开密钥的64bit密钥ID。当报文被收到时,接收者验证该密钥ID是它所知道的发送者的公开密钥,然后接着来验证签名。104发送消息的格式一个消息包含三部分成员:报文messagecomponent签名signature(optional)会话密钥sessionkeycomponent(optional)以下图为PGP消息的一般格式〔AtoB)从中可以看到KeyID对于PGP是如何关键。两个keyID包含在任何PGP消息中,提供保密与鉴别功能。105106密钥环需要一种系统化的方法存储和组织key以保证使用。PGP在每一个节点上提供一对数据结构:存储该节点拥有的公钥/私钥对;〔私钥环〕存储本节点知道的其他用户的公钥;〔公钥环〕107私钥环时间戳:该密钥对生成的日期/时间。密钥ID:这个实体的公钥的低位64比特。公钥:密钥对的公钥部分。私钥:密钥对的私钥部分;这个字段是加密的。用户ID:这个字段的典型值是用户的电
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版新型食用菌保健品区域总代销售与售后服务合同3篇
- 二零二五年度环保节能产品推广合同4篇
- 2025年陶瓷原料质量检测与认证合同2篇
- 2025年度门禁系统设备租赁与运营维护协议4篇
- 二手车交易市场租赁合同范本2024年适用
- 二零二五年度办公楼窗帘节能改造承包合同4篇
- 2025年度智慧停车场设计与运营服务合同4篇
- 2025年文化中心场地租赁合同终止及合作开发意向书3篇
- 天津市应急保障2025年度专用车辆租赁合同2篇
- 二零二五年度土地承包经营权转让合同流转规范版
- 2024-2025学年山东省潍坊市高一上册1月期末考试数学检测试题(附解析)
- 江苏省扬州市蒋王小学2023~2024年五年级上学期英语期末试卷(含答案无听力原文无音频)
- 数学-湖南省新高考教学教研联盟(长郡二十校联盟)2024-2025学年2025届高三上学期第一次预热演练试题和答案
- 决胜中层:中层管理者的九项修炼-记录
- 幼儿园人民币启蒙教育方案
- 单位就业人员登记表
- 卫生监督协管-医疗机构监督
- 记录片21世纪禁爱指南
- 腰椎间盘的诊断证明书
- 移动商务内容运营(吴洪贵)任务七 裂变传播
- 单级倒立摆系统建模与控制器设计
评论
0/150
提交评论