免费预览已结束,剩余123页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2019/2/7 电子科技大学电子科技大学 计算机科学与工程学院计算机科学与工程学院 计算系统与网络安全计算系统与网络安全 computer system and network securitycomputer system and network security 2019/2/7 第第7章章 协议安全技术(安全协议实例)协议安全技术(安全协议实例) conclusions how to use the ssl in your security architecture how does ssl work? the architecture of ssl what is ssl? 2019/2/7 第第7章章 协议安全技术(安全协议实例)协议安全技术(安全协议实例) conclusions how to use the ssl in your security architecture how does ssl work? the architecture of ssl what is ssl? 2019/2/7 what is ssl ssl: secure sockets layer protocol ssl is a secure protocol between application layer and tcp layer which provides confidential communication in un- secure network 2019/2/7 arp rarp tcp udp ip icmp igmp smtp http telnet dns snmp 应用层应用层 传输层传输层 网络层网络层 网络接口层网络接口层 回顾:回顾:tcp/ip协议栈协议栈 2019/2/7 回顾:回顾:tcp/ip的安全性问题及其解决方法的安全性问题及其解决方法 arp rarp tcp udp ip icmp igmp smtp http telnet dns snmp 应用层应用层 传输层层传输层层 网络层网络层 网络接口层网络接口层 ip /ipsec 网络层安全网络层安全 2019/2/7 arp rarp tcp udp ip icmp igmp smtp http telnet dns snmp 应用层应用层 传输层层传输层层 网络层网络层 网络接口层网络接口层 ssl/tls ssl/tls 传输层安全传输层安全 回顾:回顾:tcp/ip的安全性问题及其解决方法的安全性问题及其解决方法 2019/2/7 the goals of ssl encryption(加密)(加密) ssl被设计用来使用被设计用来使用tcp提供一个可靠的端到端安全服提供一个可靠的端到端安全服 务务 为两个通信实体之间提供为两个通信实体之间提供 保密性保密性 完整性完整性 验证验证(身份鉴别(身份鉴别) 密钥交换密钥交换 scalability(可扩展性)(可扩展性) 新的密钥算法可以容易的加入新的密钥算法可以容易的加入 efficiency(高效性)(高效性) 减少对减少对cpu的使用的使用 透明性透明性 对应用层透明对应用层透明 2019/2/7 the goals of ssl (cont.) 透明性透明性 dh rsa des rc4 idea sha . 应用程序应用程序 . telnet http ftp tcp spx internet ethernet 可靠传输协议可靠传输协议 ssl协议实现协议实现 应用协议应用协议 明文数据流明文数据流 密文数据流密文数据流 2019/2/7 history of ssl netscape 公司于公司于1994开发开发 ssl v2 released in 1995 ssl v3 also released in 1995 due to bugs in v2 1996年年ietf成立工作组成立工作组 transport layer security (tls) committee 1999年推出年推出tls v1 tls v1 was based upon sslv3 2003年推出年推出tls 扩展扩展 2006年推出年推出tls v1.1 2019/2/7 cryptographic feature of ssl 连接是保密的,连接是保密的,对称加密算法对称加密算法用于数据加密用于数据加密 实体实体的身份通过的身份通过公钥加密算法公钥加密算法得到验证得到验证 连接是可靠的,加密的连接是可靠的,加密的消息摘要消息摘要用于保证消息的用于保证消息的 完整性完整性 2019/2/7 data encryption: rc2-40 rc4-128 des des 40 3des idea fortezza message digest: md5 sha. key exchange. rsa fixed diffie-hellman ephemeral diffie-hellman anonymous diffie-hellman fortezza data compression: pkzip winzip gzip cryptographic feature of ssl 2019/2/7 第第7章章 协议安全技术(安全协议实例)协议安全技术(安全协议实例) conclusions how to use the ssl in your security architecture how does ssl work? the architecture of ssl what is ssl? 2019/2/7 ssl中的通信实体中的通信实体 通信实体通信实体(entity)是指)是指ssl的参与者的参与者 在在ssl v3中定义了两个通信实体中定义了两个通信实体 客户客户 客户是协议的发起者客户是协议的发起者 服务器服务器 服务器是协议的响应者服务器是协议的响应者 ssl server(ssl服服 务器)务器) ssl client(ssl客户客户) 2019/2/7 ssl 的协议分层的协议分层 ip tcp ssl record protocol ssl handshake protocol ssl change cipher spec protocol ssl alert protocol http protocol 握手协议:用来实现密钥交换和握手协议:用来实现密钥交换和 认证认证 记录层协议:用来安全传输数据记录层协议:用来安全传输数据 加密规约修改协议:启用新的密加密规约修改协议:启用新的密 码参数码参数 报警协议:报警和错误报警协议:报警和错误 2019/2/7 一个问题一个问题 question:为什么在:为什么在ssl中存在两层:记录层和中存在两层:记录层和 握手层?握手层? 2019/2/7 key terms of ssl 在在ssl中,有几个关键概念;中,有几个关键概念; ssl session(ssl会话)会话) ssl connection(ssl连接)连接) ssl session state(ssl会话状态)会话状态) ssl connection state(ssl连接状态)连接状态) 2019/2/7 ssl会话会话 ssl session(会话)(会话) an association between client for asymmetric cryptographic computations (非对称密码算法计算)(非对称密码算法计算) the asymmetric algorithms are used in the handshake protocol to authenticate parties and to generate shared keys and secrets. the pre_master_secret should be deleted from memory once the master_secret has been computed(计算后需从内存中删除)(计算后需从内存中删除) 2019/2/7 主秘密的创建(续)主秘密的创建(续) 对于对于 rsa when rsa is used for server authentication and key exchange a 48-byte pre_master_secret is generated by the client encrypted under the servers public key, and sent to the server the server uses its private key to decrypt the pre_master_secret both parties then convert the pre_master_secret into the master_secret, as specified above. the pre_master_secret should be deleted from memory once the master_secret has been computed(计算后需(计算后需 从内存中删除)从内存中删除) master_secret = md5(pre_master_secret + sha(a + pre_master_secret + clienthello.random + serverhello.random) + md5(pre_master_secret + sha(bb + pre_master_secret + clienthello.random + serverhello.random) + md5(pre_master_secret + sha(ccc + pre_master_secret + clienthello.random + serverhello.random); 2019/2/7 主秘密的创建(续)主秘密的创建(续) 对于对于diffie-hellman a conventional diffie-hellman computation is performed the negotiated key (k) is used as the pre_master_secret and is converted into the master_secret, as specified above. master_secret = md5(pre_master_secret + sha(a + pre_master_secret + clienthello.random + serverhello.random) + md5(pre_master_secret + sha(bb + pre_master_secret + clienthello.random + serverhello.random) + md5(pre_master_secret + sha(ccc + pre_master_secret + clienthello.random + serverhello.random); 2019/2/7 其他密码参数的创建其他密码参数的创建 symmetric cryptographic calculations and the cipherspec(ssl中的密码规约参数)中的密码规约参数) the technique used to encrypt and verify the integrity of ssl records is specified by the currently active cipherspec(密码规约密码规约). a typical example would be to encrypt data using des and generate authentication codes using md5. the encryption and mac algorithms are set to ssl_null_with_null_null at the beginning of the ssl handshake protocol, indicating that no message authentication or encryption is performed (ssl协议开始是并不进行加密或完整性验证协议开始是并不进行加密或完整性验证). the handshake protocol is used to negotiate a more secure cipherspec and to generate cryptographic keys(握手协议用来协商密码参数,并生成密钥握手协议用来协商密码参数,并生成密钥) 2019/2/7 其他密码参数的创建:加密密钥和其他密码参数的创建:加密密钥和mac密钥密钥 converting the master secret into keys and mac secrets the master secret is hashed into a sequence of secure bytes, which are assigned to the mac secrets, keys, and non-export ivs required by the current cipherspec(当当 前的密码参数前的密码参数). cipherspecs require a client write mac secret, a server write mac secret, a client write key, a server write key, a client write iv, and a server write iv, which are generated from the master secret in that order. unused values, such as fortezza keys communicated in the keyexchange message, are empty. 2019/2/7 其他密码参数的创建:加密密钥和其他密码参数的创建:加密密钥和mac密钥(续)密钥(续) the following inputs are available to the key definition process: mastersecret48 clienthello.random serverhello.random when generating keys and mac secrets the master secret is used as an entropy source(熵源熵源) and the random values provide unencrypted salt material and ivs for exportable ciphers. 2019/2/7 其他密码参数的创建:加密密钥和其他密码参数的创建:加密密钥和mac密钥(续)密钥(续) key_block = md5(master_secret + sha(a + master_secret + serverhello.random + clienthello.random) + md5(master_secret + sha(bb + master_secret + serverhello.random + clienthello.random) + md5(master_secret + sha(ccc + master_secret + serverhello.random + clienthello.random) + .; until enough output has been generated. to generate the key material(计算方法)(计算方法): 2019/2/7 其他密码参数的创建:加密密钥和其他密码参数的创建:加密密钥和mac密钥(续)密钥(续) client_write_mac_secretcipherspec.hash_size server_write_mac_secretcipherspec.hash_size client_write_keycipherspec.key_material server_write_keycipherspec.key_material client_write_ivcipherspec.iv_size /* non-export ciphers */ server_write_ivcipherspec.iv_size /* non-export ciphers */ then the key_block is partitioned as follows. 2019/2/7 client server 2019/2/7 第第7章章 协议安全技术(安全协议实例)协议安全技术(安全协议实例) conclusions how to use the ssl in your security architecture how does ssl work? the architecture of ssl what is ssl? 2019/2/7 ssl的具体实现的具体实现 2019/2/7 ssl与与web安全安全 http -the first application layer secured with ssl rfc 2817 and rfc 2818 describes http over tls 2019/2/7 ssl与与web安全安全 first implementation of http over ssl was issued in 1995 by netscape netscape was prevented from choosing shttp s-http(secure http) another protocol for securing messages treats each request response pair as a single unit allows protect different messages between server- client differently 2019/2/7 http 1.0 close connection after each response images: require response/request pair http 1.1 connection : keep-alive (persistent connection) some browsers still open number of connections to load page with images in parallel large number of parallel connections is optimized by ssl session resumption. http connection behavior 2019/2/7 basic technologies http (hypertext transfer protocol) first protocol to use ssl request/response structure most browsers speak http protocol html (hypertext markup language) offers the ability to structure the document provide links to move to another documents url (uniform resource locator) 2019/2/7 security of websummary 2019/2/7 提供双向的服务,攻击防范能力脆弱提供双向的服务,攻击防范能力脆弱 作为可视化窗口和商业交互平台,提供多种作为可视化窗口和商业交互平台,提供多种 服务,事关声誉服务,事关声誉 底层软件庞大,如底层软件庞大,如apache约约10m,历来是漏,历来是漏 洞之最,攻击手段最多洞之最,攻击手段最多 如果被攻破可能导致成为进入企业的跳板如果被攻破可能导致成为进入企业的跳板 配置比较复杂配置比较复杂 web安全的特点安全的特点 2019/2/7 browser 安全安全 web server安全安全 browser 与与web server之间网络通信安全之间网络通信安全 http brower web server web安全的组成部分安全的组成部分 2019/2/7 网络层:网络层:ipsec 传输层:传输层:ssl/tls 应用层:应用层:set/shttp web安全方案安全方案 2019/2/7 client hello server hello server certificate serverhellodone clientkeyexchange e(kserv, pk) changecipherspec fin handshake (mac) changecipherspec fin handshake (mac) application_data http request application_data http response alert : close_notify alert : close_notify handshake data close http over ssl(tls): protocol 2019/2/7 client makes connection to the server handshakes ssl transmits data over ssl channel assigned port 443 special configuration of the server needed (mod_ssl), possible to configure another port no client data is sent until ssl connection established long web pages require spanning multiple ssl records http over ssl(tls): overview 2019/2/7 content types: changecipherspec handshake application data alert (signaling error and closure) ssl version record length content type encrypted data and mac record header data http over ssl(tls): protocol format 2019/2/7 when one side initiates closure must send close_notify optionally withholds its tcp fin until close_notify received from other side. if tcp fin received without close_notify this may indicate possible attack http over ssl(tls): connection closure 2019/2/7 when users browser receives certificate ca is a known ca browser compares: name of the site that it intended to connect with hostname in certificate http over ssl(tls): end-point authentication 2019/2/7 session resumption(会话恢复)(会话恢复) minimizes the number of ssl handshakes, within the same session sides speak with already established keys if the close was premature(过早)(过早) in no case ssl implementation should resume session http over ssl(tls): session resumption 2019/2/7 servers logs errors. later maybe examined by administrator clients receive via dialog boxes ssl implementation should: report legitimate errors(报告合法错误)(报告合法错误) not overwhelm the user (hide unimportant)(不致(不致 过渡影响用户)过渡影响用户) http over ssl(tls): error handling 201
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东工程职业技术学院《电力系统稳态分析》2024-2025学年第一学期期末试卷
- 儿童乐园行业发展方案
- 防水涂料热、碱、酸、人工气候老化处理试验记录
- 大学生职业生涯规划与就业创业指导(实践版)笔试题库 图形推理2
- 第三章 指数运算与指数函数(高效培优单元测试-提升卷)数学北师大版2019必修第一册(解析版)
- 秋季道德与法治五年级上册《美丽文字 民族瑰宝》简案
- 职业技术学院毕业设计(论文)与毕业答辩管理规定
- 论社会主义建设在探索曲折中发展
- 函授汉语言文学论文
- 建设工程项目全寿命的集成化管理探究
- 2025年师德师风知识竞赛考试试卷及答案(一)
- 项目建设众筹合同范本
- 2025法院司法辅助人员试题必考附答案
- 新能源汽车保养培训
- 徐汇区社工笔试题目及答案
- 小米智能家居培训
- (已压缩)(11)义务教育物理课程标准日常修订版(2022年版2025年修订)
- 企业融资方案设计及风险控制措施
- 初中生涯规划课程设计方案
- 国家赔偿法-形成性考核(一):第1-3章(占总成绩10%)-国开(ZJ)-参考资料
- DB34-T 4164-2022 住宅工程质量分户验收规程
评论
0/150
提交评论