《网络信息安全》课程 第四讲消息验证与数字签名 主讲:段云所副教授 北京大学计算机系
网络信息安全 课程 第四讲 消息验证与数字签名 消息验证与数字签名 主讲 段云所 副教授 北京大学计算机系 北京大学计算机系
问题的提出 通信威胁 1.泄露:把消息内容发布给任何人或没有合法密钥的进程; 2.流量分析:发现团体之间信息流的结构模式。在一个面向 连接的应用中,可以用来确定连接的频率和持续时间长度。 3.伪造:从一个假冒信息源向网络中插入消息。 4.内容修改:消息内容被插入、删除、变换、修改。 5.顺序修改:插入、删除或重组消息序列。 6.时间修改:消息延迟或重放。 7.否认:接受者否认收到消息;发送者否认发送过消息
通信威胁 1. 泄露 把消息内容发布给任何人或没有合法密钥的进程 2. 流量分析 发现团体之间信息流的结构模式 在一个面向 连接的应用中 可以用来确定连接的频率和持续时间长度 3. 伪造 从一个假冒信息源向网络中插入消息 4. 内容修改 消息内容被插入 删除 变换 修改 5. 顺序修改 插入 删除或重组消息序列 6. 时间修改 消息延迟或重放 7. 否认 接受者否认收到消息 发送者否认发送过消息 问题的提出
1信息认证 网络系统安全要考虑两个方面。一方面,用密码保护传 送的信息使其不被破译;另一方面,就是防止对手对系统进 行主动攻击,如伪造,篡改信息等。认证( authentication) 则是防止主动攻击的重要技术,它对于开放的网络中的各种 信息系统的安全性有重要作用。认证的主要目的有二: 第一,验证信息的发送者是真正的,而不是冒充的,此 为信源识别; 第二,验证信息的完整性,在传送或存储过程中未被篡改, 重放或延迟等
1 信息认证 网络系统安全要考虑两个方面 一方面 用密码保护传 送的信息使其不被破译 另一方面 就是防止对手对系统进 行主动攻击 如伪造 篡改信息等 认证 authentication 则是防止主动攻击的重要技术 它对于开放的网络中的各种 信息系统的安全性有重要作用 认证的主要目的有二 第一 验证信息的发送者是真正的 而不是冒充的 此 为信源识别 第二 验证信息的完整性 在传送或存储过程中未被篡改 重放或延迟等
保密和认证同时是信息系统安全的两个方面,但 它们是两个不同属性的问题,认证不能自动提供 保密性,而保密性也不能自然提供认证功能。 个纯认证系统的模型如下图所示 窜扰者 信源认证编码器}认证译码器↓信宿 信道 安全信道 密钥源
窜扰者 信源 认证编码器 认证译码器 信宿 信道 安全信道 密钥源 保密和认证同时是信息系统安全的两个方面 但 它们是两个不同属性的问题 认证不能自动提供 保密性 而保密性也不能自然提供认证功能 一 个纯认证系统的模型如下图所示 认证系统的模型如下图所示
2认证函数 可用来做认证的函数分为三类: (1)信息加密函数( Message encryption 用完整信息的密文作为对信息的认证。 2)信息认证码 MAC(Message authentication Code 是对信源消息的一个编码函数。 (3)散列函数( Hash function) 是一个公开的函数,它将任意长的信息映射成 个固定长度的信息
2 认证函数 可用来做认证的函数分为三类 (1) 信息加密函数(Message encryption) 用完整信息的密文作为对信息的认证 (2) 信息认证码MAC(Message Authentication Code) 是对信源消息的一个编码函数 (3) 散列函数(Hash Function) 是一个公开的函数 它将任意长的信息映射成一 个固定长度的信息
信息加密函数作认证 信息加密函数分二种,一种是常规的对称密钥加 密函数,另一种是公开密钥的双密钥加密函数。下 图的通信双方是,用户A为发信方,用户B为接收方。 用户B接收到信息后,通过解密来判决信息是否来自 A,信息是否是完整的,有无窜扰。 諷M 信宿 EKOM A方 DKEKOM B方 (a)常规加密:具有机密性,可认证
信息加密函数作认证 信息加密函数分二种 一种是常规的对称密钥加 密函数 另一种是公开密钥的双密钥加密函数 下 图的通信双方是 用户 A为发信方 用户 B为接收方 用户 B接收到信息后 通过解密来判决信息是否来自 A 信息是否是完整的 有无窜扰 信源 信宿 M E E k(M) D M A 方 k D k B 方 k(E k(M)) (a) 常规加密 具有机密性 可认证
M KUb A方 KUb(B方的 B方 DKR 公钥) (b)公钥加密:具有机密性 M M A方KRa KUa B方 (c)公钥加密:认证和签名
KUb(B方的 公钥) M E EKUb(M) D M A方 B方 DkRb (b) 公钥加密 具有机密性 M E EkRa(M) D M A方 KRa KUa B方 (c) 公钥加密 认证和签名
M甲飞M中单 KUbIKR A方 KR KU kRi 9 B方 KR (d)公钥加密:机密性,可认证和签名
M E EkRa(M) E EKUb(EkRa(M)) A方 KRa KUb D EkRa(M) D M B方 KRb KUa (d) 公钥加密 机密性 可认证和签名
信息认证码MAC 设S为通信中的发方A发送的所有可能的信源集合。 为了达到防窜扰的目的,发方A和收方B设计一个编码法 则。发方A根据这个法则对信源S进行编码,信源经编码 后成为消息,M表示所有可能的消息集合。发方A通信时, 发送的是消息。用简单的例子说明:设S={0,1}, M={0.01,1,定义四个不同的编码法则e0,el,e2e3 00011011 e00 e201
信息认证码(MAC) 设S为通信中的发方A发送的所有可能的信源集合 为了达到防窜扰的目的 发方A和收方B设计一个编码法 则 发方A根据这个法则对信源S进行编码 信源经编码 后成为消息 M表示所有可能的消息集合 发方A通信时 发送的是消息 用简单的例子说明 设S={0,1}, M={00,01,10,11}, 定义四个不同的编码法则e0,e1,e2,e3: 00 01 10 11 e0 0 1 e1 0 1 e2 0 1 e3 0 1
这样就构成一个认证码MAC。发方A和收方B在通信前先 秘密约定使用的编码法则。例如,若决定采用e0,则以 发送消息00代表信源0;发送消息10代表信源1,我们称 消息00和10在e0之下是合法的。而消息01和1e之下不 合法,收方将拒收这二个消息。 信息的认证和保密是不同的两个方面,一个认证码 可具有保密功能,也可没有保密功能。 认证编码的基本方法是要在发送的消息中引入多余 度,使通过信道传送的可能序列集Y大于消息集X。对于 任何选定的编码规则(相应于某一特定密钥):发方从Y中选 出用来代表消息的许用序列,即码字;收方根据编码规 则唯一地确定出发方按此规则向他传来的消息。窜扰者 由于不知道密钥,因而所伪造的假码字多是Y中的禁用序
这样就构成一个认证码MAC 发方A和收方B在通信前先 秘密约定使用的编码法则 例如 若决定采用e0 则以 发送消息00代表信源0 发送消息10代表信源1 我们称 消息00和10在e0之下是合法的 而消息01和11在e0之下不 合法 收方将拒收这二个消息 信息的认证和保密是不同的两个方面 一个认证码 可具有保密功能 也可没有保密功能 认证编码的基本方法是要在发送的消息中引入多余 度 使通过信道传送的可能序列集Y大于消息集X 对于 任何选定的编码规则(相应于某一特定密钥):发方从Y中选 出用来代表消息的许用序列 即码字 收方根据编码规 则唯一地确定出发方按此规则向他传来的消息 窜扰者 由于不知道密钥 因而所伪造的假码字多是Y中的禁用序