当前位置:文档之家› Internet安全协议及标准.

Internet安全协议及标准.

• 制作一组密钥
(3)
– 原则上,使用同一个密钥来完成不同类型的加密操作被认为是 糟糕的思想 – 每个方向上需要两个密钥,分别用于加密和消息鉴别(MAC)
• 可通过密钥导出函数(KDF)由MS和nonce导出 • KDF一般基于Hash算法
– 一种最简单的KDF可能(当然现实的协议应该用更好的)如下:
– 不需为每个数据包都动用昂贵的公开密钥操作 – 实现证书发现
Page:6 7/8/2003
Internet安全协议及标准
TSP
• 基本步骤
– 假设通信双方:Alice, Bob – 握手(Handshake)
(1)
• Alice和Bob使用他们的证书和私钥来对对方进行身份鉴别并交换 共享密钥
– 导出密钥(Key derivation)
安全消息系统-发送方
Page:4 7/8/2003
Internet安全协议及标准
安全消息系统-接收方
Page:5 7/8/2003
Internet安全协议及标准
安全消息系统-存在的问题
• 对单条消息工作得很好
– 可方便地用于电子邮件、文件等的安全传送
• 对要传输任意信息不适用
– 交互式应用
• 引入一个简单的安全协议(TSP: Toy Security Protocol)
• 控制信息
(6)
– 如何防止攻击者恶意切断连接 – 需要有一种机制使得Alice能告诉Bob(或反之),她已完成数据 传送 – 两种方法
– 增加类型字段后的记录格式
• • • • • 传送长度为0的记录 • 增加类型字段
长度 + 序号 + 类型 + 数据 + MAC 类型为0:普通数据 类型为1:结束记录 类型为其他:报告错误信息
Internet安全协议及标准
TSP
• 握手阶段(Handshake)
(2)
Alice
Bob
单向鉴别
Page:8 7/8/2003
Internet安全协议及标准
TSP
• 握手阶段(Handshake)
(2)
Alice
Bob
双向鉴别
Page:9 7/8/2003
Internet安全协议及标准
TSP
– – – – 握手 密钥交换 双向鉴别 保密传输
• 遗漏的部分
– 不完整,不包括具体实现细节
• • • • 数据结构定义 每一字段大小 使用何种算法 涉及到数据结构表示、翻译等问题
– 更重要的是
• 缺少协商(negotiation)功能 • 涉及到Policy/Mechanism的问题 Page:15 7/8/2003
Internet安全协议及标准
协议实现中的同消息传递有关的问题
• 可靠传输/不可靠传输
– 发送方能否知道传输中的错误 – 如果不能保证可靠传递,应用程序必须自己处理应答
• 阻塞/非阻塞 (Blocking/Nonblocking)
– 非阻塞
• 发出消息,然后返回
– 更加灵活,但难以调试
– 阻塞
• 发出消息,等待发送成功
ASN.1 - Overview
• 一种独立于机器的描述语言,用于描述在网络上传递 的消息 • ITU-T(X.680)和ISO (ISO 8824-1)标准
– 定义应用程序数据的抽象语法 – 定义应用程序数据结构和表示协议数据单元(PDUs) – 独立于机器、语言及应用程序内部表示 • ASN.1特别适合表示现代通信应用中那些复杂的、变化的及可扩 展的数据结构 • 类似标准有
Internet安全协议与标准
第4课
唐礼勇 博士 tly@
7/8/2003
安全协议基础
7/8/2003
Agenda
• • • • 何谓协议 Base64编码 加密算法同明文相关的几个问题 一个简单协议的分析
Page:3 7/8/2003
Internet安全协议及标准
Page:16 7/8/2003
Internet安全协议及标准
ASN.1初步
7/8/2003
Agenda
• Abstract Syntax Notation One (ASN.1)
– – – – Overview 类型和值定义 简单类型 构造类型
• Basic Encoding Rules (BER)
– MAC的计算
• M=MAC(Mx, Sequence || Type || D)
Internet安全协议及标准
Page:13 7/8/2003
Alice
TSP – 完整图示
Bob
Page:14 7/8/2003
Internet安全协议及标准
TSP – 小结
• 实际上,TSP已经包含了SSL绝大多数的核心功能
– 如何对数据打包 – 设想成在传输数据时对恒定的数据流加密
• MAC如何处理?放最后吗?
– 解决方法
• 将数据分割成一系列记录,每个记录自带MAC
– 记录大小
• 定长:不经济 • 理想的应是变长记录,加上长度字段
– 记录格式
• 长度 + 数据 + MAC
– MAC计算
• M=MAC(Mx,D)
Page:11 7/8/2003 Internet安全协议及标准
• 其他编码方式
– Overview – Type-Length-Value/Identifier-Length-Content – 编码示例 – Distinguished Encoding Rules (DER)
• ASN.1开发流程
Page:18 7/8/2003
Internet安全协议及标准
TSP
• 序号
– 重放、删除、重排攻击 – 需要增加序号
(5)
• 序号必须是MAC输入的一部分 • 可以放在记录中 • 在基于TCP的连接中,也可以使用隐含序号
– MAC的计算
• M=MAC(Mx, Sequence || D)
Page:12 7/8/2003
Internet安全协议及标准TSP• • • • Ecs=Hash(MS,nonce,”ECS”) Mcs=Hash(MS,nonce,”MCS”) Esc=Hash(MS,nonce,”ESC”) Msc=Hash(MS,nonce,”MSC”)
Page:10 7/8/2003
Internet安全协议及标准
TSP
• 数据记录
(4)
• Alice和Bob使用他们达成一致的共享密钥导出一组用于保护将要 传输的数据的密钥
– 数据传输(Data transfer)
• 将要传输的数据分割成一系列的记录,并对每条记录加以保护
– 关闭连接(Connection closure)
• 使用特殊的、经过保护的关闭消息,安全地关闭连接
Page:7 7/8/2003
相关主题