![《应用密码学》课件15-密码学应用_第1页](http://file4.renrendoc.com/view12/M08/28/2C/wKhkGWaXtwuAYYyMAAAqTGh2TT8903.jpg)
![《应用密码学》课件15-密码学应用_第2页](http://file4.renrendoc.com/view12/M08/28/2C/wKhkGWaXtwuAYYyMAAAqTGh2TT89032.jpg)
![《应用密码学》课件15-密码学应用_第3页](http://file4.renrendoc.com/view12/M08/28/2C/wKhkGWaXtwuAYYyMAAAqTGh2TT89033.jpg)
![《应用密码学》课件15-密码学应用_第4页](http://file4.renrendoc.com/view12/M08/28/2C/wKhkGWaXtwuAYYyMAAAqTGh2TT89034.jpg)
![《应用密码学》课件15-密码学应用_第5页](http://file4.renrendoc.com/view12/M08/28/2C/wKhkGWaXtwuAYYyMAAAqTGh2TT89035.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
密码学应用本章内容密码学在电子商务应用密码学在数字通信应用密码学在工业控制应用密码学在电子商务应用SSL协议SET协议TCP/IP协议栈中的安全机制SSL简介SSL(SecureSocketLayer)介于TCP层和应用层之间提供保密通信服务对应用层透明设计初衷是支持各类应用层协议,如:HTTP,FTP,Telnet等目前主要应用范围是支持HTTP协议SSL的发展最初由Netscape公司设计开发1994年推出SSLV2.0Internet-Draft版本1996年推出SSLV3.0Internet-Draft版本1999年IETF在其基础上推出TLSV1.0版本又称为SSLV3.1版本SSL的设计目标加密安全所传输消息的安全/对称加密体制所传输消息的完整性/MAC通信双方的身份/非对称加密体制互操作性不同厂商的SSL实现可以实现对接SSL的设计目标可扩展性可以支持新的对称(非对称)的加密算法效率主要是防止非对称加密算法运行占用过多资源会话高速缓存机制来实现SSL的分层结构压缩/解压缩加密/解密生成MAC/验证MAC身份验证各类参数的协商及交换对称加密算法:序列:RC4分组:RC2/DES/3DES/IDEA/Fortezza出口指定使用40位的DES40非对称加密算法:RSA密钥交换算法:RSADiffie-HellmanFortezza-dms数字签名算法:RSA/DSA散列算法:SHA/MD5SSL的分层结构记录协议层(RecordProtocolLayer)压缩/解压缩加密/解密生成MAC/验证MAC握手协议层(HandshakeProtocolLayer)身份验证各类参数的协商及交换SSL支持的算法对称加密算法序列:RC4分组:RC2/DES/3DES/IDEA/Fortezza出口指定使用40位的DES40非对称加密算法RSASSL支持的算法密钥交换算法RSADiffie-HellmanFortezza-dms数字签名算法RSA/DSA散列算法SHA/MD5美国出口管制的例子VPNet技术公司说它在争取某VPN硬件的56比特DES版本的出口许可证时有困难.它只使部分的三次DES的运行无效,而不是彻底地除去三次DES算法VPNet公司的副总裁RickKegan说:“美国国家安全局是‘一行一行地检查代码’”的SSL提供的安全服务用户和服务器的合法性认证usingX.509v3digitalcertificates传输数据的机密性usingoneofDES,TripleDES,IDEA,RC2,RC4,…传输数据的完整性usingMACwithMD5orSHA-1SSL的通信主体客户及服务器与通常讲的C/S结构的客户与服务器有区别SSL解决的问题(功能)客户对服务器的身份认证SSL服务器允许客户的浏览器使用标准的公钥加密技术和一些可靠的认证中心(CA)的证书,来确认服务器的合法性。服务器对客户的身份认证也可通过公钥技术和证书进行认证,也可通过用户名,password来认证。建立服务器与客户之间安全的数据通道SSL要求客户与服务器之间的所有发送的数据都被发送端加密、接收端解密,同时还检查数据的完整性IPSSLChangeCipherSpecProtocolSSLAlertProtocolApplicationProtocolTCPSSLRecordProtocolSSLHandshakeProtocolSSLArchitecture
SSLProtocolStackHTTPLDAPIMAPSSL位于TCP/IP协议和应用协议之间
SSL的体系结构应用层获得数据恢复应用数据建立客户与服务器之间的安全通道,该协议包括双方的相互认证,交换密钥参数改变密码参数对端指示其安全错误封装以上三种协议或应用层数据(记录类型20=改变密码规格,21=告警,22=握手,23=应用层数据)SSL的工作原理采用握手协议建立客户与服务器之间的安全通道,该协议包括双方的相互认证,交换密钥参数采用告警协议向对端指示其安全错误采用改变密码规格协议改变密码参数采用记录协议封装以上三种协议或应用层数据(记录类型20=改变密码规格,21=告警,22=握手,23=应用层数据)SSL协议中的状态会话状态(sessionstate)一个会话定义了一套安全加密参数(cryptographicsecurityparameters)一个会话定义的参数可以被多个连接共享连接状态(connectionstate)连接建立在会话基础上连接是用后即消失的SSL协议中的状态会话状态sessionidentifier:会话标识符peercertificate:X.509格式证书compressionmethod:压缩算法cipherspec:加密参数mastersecret:双方共享的48字节秘密值isresumable:是否可以用于建立新连接SSL协议中的状态连接状态serverandclientrandoms:选择的随机数serverwriteMACsecret:服务器发送消息时,生成MAC所用的秘密值,对应clientreadMACsecretclientwriteMACsecretSSL协议中的状态serverwritekey:服务器加密数据所用的密钥,对应clientreadkeyclientwritekeyinitializationvectors:初始向量sequencenumbers:消息序列号,当加密参数改变时清零SSL协议中的状态预备状态(pendingstate)协商成功的各类参数/细分当前状态(currentoperatingstate)当前正在使用的各类参数/细分收到/发送changecipherspec后,将预备读/写状态的参数复制到当前读/写状态中,并清空预备读/写状态的参数SSL记录协议层SSLRecordProtocollayer。为高层协议提供基本的安全服务。记录层封装各种高层协议。具体实施压缩解压缩、加密解密、计算和校验MAC等与安全有关的操作。SSL记录协议SSL记录协议为SSL连接提供两种服务保密性。利用握手协议所定义的共享密钥对SSL净荷(payload)加密。完整性。利用握手协议所定义的共享的MAC密值来生成报文的鉴别码(MAC)。记录协议层SSL工作过程和SSL记录格式SSL握手协议的消息格式SSLRecordFormat记录协议层接收数据,分块数据压缩计算MAC值和加密记录协议层MAC的生成方法hash(MAC_write_secret+pad_2+hash(MAC_write_secret+pad_1+seq_num+SSLcompressed.length+SSLcompressed.fragment))pad_1和pad_2均为填充值SSL握手协议层SSLHandShakeProtocollayer。用于SSL管理信息的交换,允许应用协议传送数据之前相互验证,协商加密算法和生成密钥等。握手过程:建立一个新会话或者恢复一个会话的过程包括:SSL握手协议(SSLHandShakeProtocol);SSL密码参数修改协议(SSLChangeCipherSpecProtocol);应用数据协议(ApplicationDataProtocol);SSL告警协议(SSLAlertProtocol)。SSL握手协议层(1)加密规约修改协议仅定义了一个由单个字节“1”构成的消息报文;该消息将改变了连接所使用的加密规约。告警协议用于将SSL有关的告警传送给对方实体;分为警告性告警(warning)或致命性告警(fatal)两个级别。Alert协议用于报告发生的异常情况或错误一共12类报警消息,均加密后传送按照严重程度分为:警告和致命按照功能分为:close_notify和error_alertsclose_notify:相当于关闭连接,可恢复error_alerts:立即终止,不可恢复SSL握手协议层(2)握手协议(SSLHandshakeProtocol)是SSL中最复杂的一个部分。其功能是使服务器和客户能够相互鉴别对方的身份,并且协商一系列安全参数。这些安全参数包括用于加密和MAC算法,以及用于在SSL记录中保护发送数据的加密密钥。TheSSLHandshakeProtocolAliceBob加密算法协商发送ID认证加密CryptosuitesIsupport,RaCertificate,CryptosuiteIchoose,Rb<S>Pubkey-b,{keyedhashofhandshakemsgs}{keyedhashofhandshakemsgs}DataprotectedwithkeysderivedfromKK=Prf(S,Ra,Rb)K=Prf(S,Ra,Rb)关于证书及验证SSL中的证书密钥交换证书签名证书支持多种CA模式hierarchicalcertificationcrosscertification关于证书及验证握手协议层握手协议过程(1)第一阶段安全能力的建立
(1)客户→服务器:client_hello。
(2)服务器→客户:server_hello。第二阶段服务器认证和密钥交换
(3)服务器→客户:server_certificate。
(4)服务器→客户:server_key_exchange。
(5)服务器→客户:certificate_request。
(6)服务器→客户:server_hello_done。握手协议过程(2)第三阶段客户认证和密钥交换
(7)客户→服务器:client_certificate。
(8)客户→服务器:client_key_exchange。
(9)客户→服务器:certificate_verify。第四阶段结束阶段
(10)客户→服务器:change_cipher_spec。
(11)客户→服务器:finished。
(12)服务器→客户:change_cipher_spec。
(13)服务器→客户:finished。握手协议层握手协议定义的消息类型(1)消息类型说明参数hello_request握手请求,服务器可在任何时候向客户端发送该消息。若客户端正在进行握手过程就可忽略该消息。否则客户端发送cleint_hello消息,启动握手过程。无client_hello客户启动握手请求,该消息时当客户第一次连接服务器时向服务器发送的第一条消息。该消息中包括了客户端支持的各种算法。若服务器端不能支持,则本次会话可能失败。版本、随机数、会话ID、密文族、压缩方法server_hello其结构与client_hello消息,该消息是服务器对客户端client_hello消息的恢复。版本、随机数、会话ID、密文族、压缩方法server_certificate服务器提供的证书。如果客户要求对服务器进行认证,则服务器在发送server_hello消息后,向客户端发送该消息。证书的类型一般是X.509v3。X.509v3证书链server_key_exchange服务器密钥交换。当服务器不使用证书,或其证书中仅提供签名而不提供密钥时,需要使用本消息来交换密钥。参数、签名握手协议定义的消息类型(2)消息类型说明参数certificate_request用于服务器向客户端要求一个客户证书。类型、授权server_hello_done该消息表明服务器端的握手请求报文已经发送完毕,正在等待客户端的响应。客户端在收到该消息时,将检查服务器提供的证书及其他参数是否是有效、可以接受的。无client_certificate客户端对服务器certificate_request消息的响应,只有在服务器端要求客户证书的时候使用。一般该消息是客户端收到server_hello_done消息后所发送的第一条消息。若客户端没有合适的证书,则向服务器端发送no_certificate的告警消息(无证书可能导致握手失败)X.509v3证书链client_key_exchange客户密钥交换。当客户不使用证书,或其证书中仅提供签名而不提供密钥时,需要使用本消息来交换密钥。参数、签名certificate_verify该消息用于向服务器提供对客户证书的验证。签名finished该消息在“加密规约修改”(ChangeCipherSpec)消息之后发送,以证实握手过程已经成功完成。本消息发送后,发送方开始使用协商的新参数来执行操作。该消息需要在两个方向上传送。散列值握手协议层本质上是密钥交换协议蕴含了三种验证模式(四种模式)客户和服务器均被验证只验证服务器,不验证客户(应用最广)完全匿名恢复一个已存在的会话密钥生成两大步骤通过pre_master_secret生成master_secret通过master_secret生成对称加密密钥/生成MAC使用的秘密值/初始向量等通过不同的值的连接后散列生成密钥生成pre_master_secret的生成RSA:客户生成,服务器公钥加密后发送到服务器Diffie-Hellmen:双方协商的秘密值Fortezza:客户生成,用TEK(TokenEncryptionKey)和IV加密后发送到服务器密钥生成密钥/MAC秘密/IV的生成利用master_secret生成key_block利用足够长度的key_block截取生成各类密码参数IV只用于非出口加密出口加密参数的生成握手过程
SSL握手协议(
HandshakeProtocol)SSL工作过程发送方的工作过程从上层接收要发送的数据(包括各种消息和数据);对信息进行分段,成若干记录;使用指定的压缩算法进行数据压缩数据(可选);使用指定的MAC算法生成MAC;使用指定的加密算法进行数据加密;发送数据。接收方的工作过程接收数据;使用指定的解密算法解密数据;使用指定的MAC算法校验MAC;使用压缩算法对数据解压缩(在需要时进行);将记录进行数据重组;将数据发送给高层。SsL协议总结SSL简介设计目标/发展/支持的算法等SSL的状态SSL的各子协议记录层协议/Changeciphespec协议/Alert协议/握手协议SSL中密钥的生成SET协议简介安全电子交易协议SET(SecureElectronicTransaction)是由国际信用卡巨头Visa公司和MasterCard公司联合1997年开发设计的,得到了IBM、HP、Microsoft等很多大公司的支持,目前己获得IETF标准的认可,是一个为在Internet上进行在线交易而设立的一个开放的电子交易规范。用于划分与界定电子商务活动中的消费者、商家、银行、信用卡组织之间的权利义务关系,它可以对交易各方进行认证,可以防止商家欺诈。SET协议结合了对称加密算法的快速、低成本和公钥密码算法的可靠性,有效的保证了在开放网络上传输的个人信息、交易信息的安全,而且它还解决了SSL协议所不能解决的交易双方的身份认证问题SET协议采用的核心技术包括X.509电子证书标准、数字签名技术、消息摘要、数字信封、双重签名等技术。SET协议简介SET协议参与者SET协议工作原理SET协议与SSL协议比较认证机制方面:SET的安全需求较高,所有成员(客户,商家,支付网关)都必须中请求数字证书来标示身份。而在SSL中只有商家端的服务器需要认证,客户端认证则是可选的。安全性:一般公认SET的安全性较SSL高,主要原因是在整个交易过程中,包括持卡人到商家,商家到网关再到银行网络,都受到严格的保护。而SSL的安全范围只限于持卡人到商家的信息交流。用户方便性:SET需要安装专门的软件,SSL一般与浏览器集成在一起PGP(prettygoodprivacy)是目前使用最为普遍的一种电子邮件系统,该系统能为电子邮件和文件存储应用过程提供认证业务和保密业务。本节分别介绍PGP的运行方式、密钥的产生和存储以及公钥的管理。PGP有5种业务:认证性、保密性、压缩、电子邮件的兼容性、分段。总共有5种业务的总结。其中CAST-128是一种分组密码,算法具有传统Feistel网络结构,采用16轮迭代,明文分组长度为64比特,密钥长以8比特为增量,从40比特到128比特可变。(一)运行方式PGP的认证业务和保密业务PGP的认证业务和保密业务示意图,
KS:分组加密算法所用的会话密钥
EC和DC:分别为分组加密算法和解密算法
EP和DP:分别为公钥加密算法和解密算法
SKA和PKA:分别为发送方的秘密钥和公开钥
SKB和PKB:分别为接收方的秘密钥和公开钥
H:表示杂凑函数
‖表示链接
Z:为ZIP压缩算法
R64:表示基数64变换。1.认证业务图(a)表示PGP中通过数字签字提供认证的过程,分为5步:①发送方产生消息M。②用SHA产生160比特长的消息摘要H(M)。③发送方用自己的秘密钥SKA按RSA算法对H(M)加密,并将加密结果EPSKA[H(M)]与M链接后发送。④接收方用发送方的公开钥对EPSKA[H(M)]解密得H(M)。⑤接收方对收到的M计算消息摘要,并与④中的H(M)比较。如果一致,则认为M是真实的。过程中结合使用了SHA和RSA算法,类似地也可结合使用DSS算法和SHA算法。以上过程将消息的签字与消息链接后一起发送或存储。在有些情况下,需要将消息的签字与消息分开发送或存储。例如将可执行程序的签字分开存储,以后可用来检查程序是否有病毒感染。再如多人签署同一文件(如法律合同),每人的签字都应与被签文件分开存放。否则第一个人签完字后将消息与签字链接在一起,第2个人签字时既要签消息,又要签第1个人的签字,因此就形成了签字的嵌套。2.保密业务PGP的另一业务是为传输或存储的文件提供加密的保密性业务。加密算法用CAST-128,也可用IDEA或三重DES,运行模式为64比特CFB模式。加密算法的密钥为一次性的,即每加密一消息时都需产生一新的密钥,称为一次性会话密钥,且新密钥也需用接收方的公开钥加密后与消息一起发往接收方,整个过程如下(见图(b)):①发送方产生消息M及一次性会话密钥KS。②用密钥KS按CAST-128(或IDEA或3DES)加密M。③用接收方的公开钥PKB按RSA算法加密一次性会话密钥KS,将②、③中的两个加密结果链接起来发往接收方。④接收方用自己的秘密钥按RSA算法恢复一次性会话密钥。⑤接收方用一次性会话密钥恢复发送方发来的消息。PGP为加密一次性会话密钥还提供了ElGamal算法以供选用。3.保密性与认证性如果对同一消息同时提供保密性与认证性,可使用图(c)的方式。发送方首先用自己的秘密钥对消息签字,将明文消息和签字链接在一起,再使用一次性会话密钥按CAST-128(或IDEA或3DES)对其加密,同时用ElGamal算法对会话密钥加密,最后将两个加密结果一同发往接收方。这一过程中,先对消息签字再对签字加密。这一顺序优于先加密、再对加密结果签字。这是因为将签字与明文消息在一起存储比与密文消息在一起存储会带来很多方便,同时也给第三方对签字的验证带来方便。4.压缩图中Z表示ZIP压缩算法,Z-1表示解压算法。压缩的目的是为邮件的传输或文件的存储节省空间。压缩运算的位置是在签字以后、加密以前,压缩前产生签字的原因有二:①对不压缩的消息签字,可便于以后对签字的验证。如果对压缩后的消息签字,则为了以后对签字的验证,还需存储压缩后的消息或在验证签字时对消息重做压缩。②即使用户愿意对压缩后的消息签字且愿意验证时对原消息重做压缩,实现起来也极为困难,这是因为ZIP压缩算法是不确定性的,该算法在不同的实现中会由于在运行速度和压缩率之间产生不同的折中,因而产生出不同的压缩结果(虽然解压结果相同)。对消息压缩后再进行加密可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六年级语文桥听评课记录
- 北师大版数学八年级上册4《平行线的性质》听评课记录1
- 人教版数学七年级上册《模式3:整式的加减》听评课记录
- 北师大版道德与法治八年级上册第1课第3站《关爱他人生命》听课评课记录
- 八年级上册历史人教版同步听课评课记录第18课《从九一八事变到西安事变》
- 小学二年级上册数学口算竞赛题
- 北师大版历史九年级上册第11课《英国资产阶级革命》听课评课记录1
- (新人教版)八年级历史上册期末复习-第七八单元解放战争近代经济社会生活与教育文化事业的发展-复习听课评课记录
- 人民版道德与法治九年级上册2.2《扛起你的责任》听课评课记录
- 水泥搅拌桩施工分包合同范本
- 2024年同等学力申硕英语考试真题
- 浙江省杭州市2024年中考语文试卷(含答案)
- 世说新语原文及翻译-副本
- 电力通信光缆检修标准化作业指导书
- 种植二期手种植义齿II期手术护理配合流程
- 安全隐患举报奖励制度
- 2024-2025学年深圳市南山区六年级数学第一学期期末学业水平测试试题含解析
- 工贸行业企业安全生产标准化建设实施指南
- T-CACM 1560.6-2023 中医养生保健服务(非医疗)技术操作规范穴位贴敷
- 2024年全国统一考试高考新课标Ⅱ卷数学试题(真题+答案)
- 人教版小学数学一年级下册第1-4单元教材分析
评论
0/150
提交评论