消息认证与数字签名
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子商务信息安全技术
消息认证与数字签名
曹健
消息认证与数字签名
• 消息认证 • 数字签名 • 复合型加密体制PGP
消息认证与数字签名
用户A
保密性、可访问性 完整性、不可否认性
用户B
传送给B的信息
传输介质
transmission medium
B收到信息
截取 篡改
பைடு நூலகம்攻击
伪造 中断
入侵者C
消息认证
“憨豆先生” 罗恩·阿特金森
消息认证
散列函数
• 又称哈希(Hash)函数或杂凑函数,一般称其结 果为散列值(Hash Value)
• 可以表示为 h = H(M)
用户A
M H() h
H()
h’ 比较 h
用户B
消息认证
散列函数的基本要求 • 输入长度任意 • 输出长度固定,至少取128bit • 单向性(从M计算h容易,而从h计算M不可能)。 • 无碰撞性(找到两个不同的输入消息对应同
人的签名。
无论签名人有多少,不会过多
地增加签名验证人的负担。
数字签名
数字签名与手写签名的区别
• 手工签名是模拟的,因人而异,而数字签名是数 字式的(0、1数字串),因消息而异。
• 数字签名可以解决手写签名中的签字人否认签字 或其他人伪造签字等问题。
数字签名
数字签名应用实例
• 数字时间戳(Digital Time-stamp) • 电子汇款 • 电子数据交换(EDI) • 数据库保护
• 利用密钥和消息生成一个固定长度的短数据块, 并将其附加在消息之后。
认证符:一个用来认证消息的值。由消息的发送方产生 认证符,并传递给接收方。 认证函数:产生认证符的函数,认证函数实际上代表了 一种产生认证符的方法。
消息认证
消息认证码
• MAC函数与加密函数类似,都需要明文、密钥和 算法的参与。
2个(两方通讯)
算法速度 较快
较慢
算法对称性
对称,解密密钥可以从加密 不对称,解密密钥不能从加密
密钥中推算出来
密钥中推算出来
主要应用领域 大规模数据的加密和解密
对数据进行数字签名、确认、 鉴定、密钥管理和数字封装等
典型算法实例 DES、IDEA、AES等
RSA、ElGamal、背包加密体 制、椭圆曲线加密体制等
西班牙首相萨帕特罗
消息认证
消息认证(Message Authentication) • 消息认证用于抗击主动攻击 • 验证接收消息的真实性和完整性
– 真实性——的确是由所声称的实体发过来的 – 完整性——未被篡改、插入和删除
消息认证(消息鉴别)是一个证实收到的 消息来自可信的源点且未被篡改的过程。
的消息; (3)收方对已收到的签名消息不能否认,即有收报认
证; (4)第三者可以确认收发双方之间的消息传递,但不
能伪造这一过程。
数字签名
数字签名(Digital Signature)
数字签名采用一定的数据交换协议,使得通信双 方能够满足两个条件:接收方能够认证发送方所 宣称的身份,发送方以后不能否认他发送过数据 这一事实。
数字签名
手写签名的特征
– 签名是可信的 – 签名是不可伪造的 – 签名不可重用 – 签名后的文件是不可变的 – 签名是不可抵赖的
直接扫描手写签名的问题:
– 签名的扫描图像易于复制 – 文件在签名后易于修改
数字签名
数字签名的基本要求
(1)收方能够确认或证实发方的签名,但不能伪造; (2)发方向收方发出签名的消息后,不能否认其签发
• 但MAC算法不要求可逆性,而加密算法必须是可 逆的。
• 认证函数比加密函数更不易被攻破,因为即便攻 破也无法验证其正确性(加密函数是一对一的, 而认证函数是多对一的)。
消息认证
为什么不直接使用加密而使用分离的消息认证码?
• 保密性与完整性是两个不同的概念 • 根本上,信息加密提供的是保密性而非完整性 • 加密代价大(公钥算法代价更大) • 鉴别函数与保密函数的分离能提供功能上的灵活性 • 某些信息只需要完整性,不需要保密性
这不是 我发的!
文件
我没有 收到
数字签名
基本的数字签名方案(公钥密码体制)
1. A用其私钥加密消息,从而对文件签名 2. A将签名后的消息发送给B 3. B用A的公钥解密消息,从而验证签名
发送方A
明文
用发送方A的私 匙加密
密文
用发送方A的公 匙解密
密文
网络
明文
接收方B
数字签名的分类
按照使用的算法分类 • RSA签名体制 • ElGamal签名体制 • 数字签名标准(Digital Signature Standard, DSS)
– 数字签名算法(Digital Signature Algorithm,DSA)
数字签名的分类
按照使用方式分类:
• 盲签名 ——有时需要某人对一个文件签名,
• 定向签名
而又不让他知道文件内容。
• 多重签名 ——将多个人的数字签名汇总成一
• 代理签名
个签名数据进行传送,收方只 需验证一个签名便可确认多个
一个散列值在计算上不可行)。
消息认证
常用散列函数算法
• MD5 – 消息摘要算法第五版(Message Digest Algorithm 5) – 经MD2、MD3和MD4发展而来 – 输出长度128bit
• SHA算法 – 安全散列算法(Secure Hash Algorithm) – 除SHA-1之外还有SHA-256、SHA-384、SHA-512 – 输出长度160-512 bit
消息认证
散列函数应用实例
• 密码存储
– Unix系统用户密码 – 银行计算机内的用户密码
• 下载软件的完整性
数字签名
消息认证的不足
• 消息认证使得收方能验证消息发送者及所发消息 内容是否被篡改——保证了完整性
• 可防止第三者破坏,但不能解决收发双方的利害 冲突——不能保证不可否认性
当收发双方发生争执的时候,第三方(仲裁机构)能 够根据消息上的数字签名来裁定这条消息是否确实由 发送方发出,从而实现抗抵赖服务。
复合型加密体制PGP
• PGP(Pretty Good Privacy)是一个广泛应用于电子邮 件和其它文件加密的软件,推出后受到亿万用户 的支持,已成为电子邮件加密的事实上的标准;
• PGP 软件功能强,速度快,而且源代码全免费, 使用方便(它把整个加密技术交给用户);
• PGP兼有数据加密和数字签名两种功能,其加密 功能和签名功能可以单独使用,也可以同时使用 (由用户自定)。
习题
简述消息认证和数字签名的区别。 数字签名的基本要求是什么? 简述在公钥密码体制下的基本数字签名方
案。 叙述PGP加密体制的基本原理和主要特性。
消息认证
消息认证码(Message Authenticaion Code,MAC)
K
用户A
M
C
MAC
MAC C
比较
用户B
MAC K
• A和B共享密钥K • A计算MAC=Ck(M), • M和MAC一起发送到B • B对收到的M,计算MAC,比较两个MAC是否相同。
消息认证
消息认证码
• 消息认证码是消息和密钥的公开函数,它产生 定长的值,以该值作为认证符。
复合型加密体制PGP
混合加密系统:
– 国际数据加密算法(IDEA) – 非对称加密(RSA或Diffie-Hellman) – SHA(Secure Hash algorithm) – 标准随机数发生器
复合型加密体制PGP
对称密码技术和非对称密码技术的比较
对称密码技术
非对称密码技术
密码个数 1个(两方通讯)
– 广播的信息难以使用加密(信息量大) – 网络管理信息等只需要完整性 – 政府/权威部门的公告
消息认证
消息摘要(Message Digest)
消息认证
消息摘要(Message Digest)
……
消息认证
消息摘要
• 又称消息文摘,数字指纹(Digital Finger Print) • 与消息认证码不同的是, 产生过程中不使用密钥。 • 长度——一般为128位或160位 • 作用——检验数据的完整性 • 实现方法——散列技术(散列函数)
消息认证
消息加密认证
用户A
E
M
Ke
D M
Kd
用户B
EK(M)
• 由于攻击者不知道密钥K,也就不知道如何改变密文 中的信息位才能在明文中产生预期的改变。
• 接收方可以根据解密后的明文是否具有合理的语法 结构来进行消息认证。
消息认证
发送的明文本身并没有明显的语法结构或特征,例如 二进制文件,很难确定解密后的消息就是明文本身。
消息认证与数字签名
曹健
消息认证与数字签名
• 消息认证 • 数字签名 • 复合型加密体制PGP
消息认证与数字签名
用户A
保密性、可访问性 完整性、不可否认性
用户B
传送给B的信息
传输介质
transmission medium
B收到信息
截取 篡改
பைடு நூலகம்攻击
伪造 中断
入侵者C
消息认证
“憨豆先生” 罗恩·阿特金森
消息认证
散列函数
• 又称哈希(Hash)函数或杂凑函数,一般称其结 果为散列值(Hash Value)
• 可以表示为 h = H(M)
用户A
M H() h
H()
h’ 比较 h
用户B
消息认证
散列函数的基本要求 • 输入长度任意 • 输出长度固定,至少取128bit • 单向性(从M计算h容易,而从h计算M不可能)。 • 无碰撞性(找到两个不同的输入消息对应同
人的签名。
无论签名人有多少,不会过多
地增加签名验证人的负担。
数字签名
数字签名与手写签名的区别
• 手工签名是模拟的,因人而异,而数字签名是数 字式的(0、1数字串),因消息而异。
• 数字签名可以解决手写签名中的签字人否认签字 或其他人伪造签字等问题。
数字签名
数字签名应用实例
• 数字时间戳(Digital Time-stamp) • 电子汇款 • 电子数据交换(EDI) • 数据库保护
• 利用密钥和消息生成一个固定长度的短数据块, 并将其附加在消息之后。
认证符:一个用来认证消息的值。由消息的发送方产生 认证符,并传递给接收方。 认证函数:产生认证符的函数,认证函数实际上代表了 一种产生认证符的方法。
消息认证
消息认证码
• MAC函数与加密函数类似,都需要明文、密钥和 算法的参与。
2个(两方通讯)
算法速度 较快
较慢
算法对称性
对称,解密密钥可以从加密 不对称,解密密钥不能从加密
密钥中推算出来
密钥中推算出来
主要应用领域 大规模数据的加密和解密
对数据进行数字签名、确认、 鉴定、密钥管理和数字封装等
典型算法实例 DES、IDEA、AES等
RSA、ElGamal、背包加密体 制、椭圆曲线加密体制等
西班牙首相萨帕特罗
消息认证
消息认证(Message Authentication) • 消息认证用于抗击主动攻击 • 验证接收消息的真实性和完整性
– 真实性——的确是由所声称的实体发过来的 – 完整性——未被篡改、插入和删除
消息认证(消息鉴别)是一个证实收到的 消息来自可信的源点且未被篡改的过程。
的消息; (3)收方对已收到的签名消息不能否认,即有收报认
证; (4)第三者可以确认收发双方之间的消息传递,但不
能伪造这一过程。
数字签名
数字签名(Digital Signature)
数字签名采用一定的数据交换协议,使得通信双 方能够满足两个条件:接收方能够认证发送方所 宣称的身份,发送方以后不能否认他发送过数据 这一事实。
数字签名
手写签名的特征
– 签名是可信的 – 签名是不可伪造的 – 签名不可重用 – 签名后的文件是不可变的 – 签名是不可抵赖的
直接扫描手写签名的问题:
– 签名的扫描图像易于复制 – 文件在签名后易于修改
数字签名
数字签名的基本要求
(1)收方能够确认或证实发方的签名,但不能伪造; (2)发方向收方发出签名的消息后,不能否认其签发
• 但MAC算法不要求可逆性,而加密算法必须是可 逆的。
• 认证函数比加密函数更不易被攻破,因为即便攻 破也无法验证其正确性(加密函数是一对一的, 而认证函数是多对一的)。
消息认证
为什么不直接使用加密而使用分离的消息认证码?
• 保密性与完整性是两个不同的概念 • 根本上,信息加密提供的是保密性而非完整性 • 加密代价大(公钥算法代价更大) • 鉴别函数与保密函数的分离能提供功能上的灵活性 • 某些信息只需要完整性,不需要保密性
这不是 我发的!
文件
我没有 收到
数字签名
基本的数字签名方案(公钥密码体制)
1. A用其私钥加密消息,从而对文件签名 2. A将签名后的消息发送给B 3. B用A的公钥解密消息,从而验证签名
发送方A
明文
用发送方A的私 匙加密
密文
用发送方A的公 匙解密
密文
网络
明文
接收方B
数字签名的分类
按照使用的算法分类 • RSA签名体制 • ElGamal签名体制 • 数字签名标准(Digital Signature Standard, DSS)
– 数字签名算法(Digital Signature Algorithm,DSA)
数字签名的分类
按照使用方式分类:
• 盲签名 ——有时需要某人对一个文件签名,
• 定向签名
而又不让他知道文件内容。
• 多重签名 ——将多个人的数字签名汇总成一
• 代理签名
个签名数据进行传送,收方只 需验证一个签名便可确认多个
一个散列值在计算上不可行)。
消息认证
常用散列函数算法
• MD5 – 消息摘要算法第五版(Message Digest Algorithm 5) – 经MD2、MD3和MD4发展而来 – 输出长度128bit
• SHA算法 – 安全散列算法(Secure Hash Algorithm) – 除SHA-1之外还有SHA-256、SHA-384、SHA-512 – 输出长度160-512 bit
消息认证
散列函数应用实例
• 密码存储
– Unix系统用户密码 – 银行计算机内的用户密码
• 下载软件的完整性
数字签名
消息认证的不足
• 消息认证使得收方能验证消息发送者及所发消息 内容是否被篡改——保证了完整性
• 可防止第三者破坏,但不能解决收发双方的利害 冲突——不能保证不可否认性
当收发双方发生争执的时候,第三方(仲裁机构)能 够根据消息上的数字签名来裁定这条消息是否确实由 发送方发出,从而实现抗抵赖服务。
复合型加密体制PGP
• PGP(Pretty Good Privacy)是一个广泛应用于电子邮 件和其它文件加密的软件,推出后受到亿万用户 的支持,已成为电子邮件加密的事实上的标准;
• PGP 软件功能强,速度快,而且源代码全免费, 使用方便(它把整个加密技术交给用户);
• PGP兼有数据加密和数字签名两种功能,其加密 功能和签名功能可以单独使用,也可以同时使用 (由用户自定)。
习题
简述消息认证和数字签名的区别。 数字签名的基本要求是什么? 简述在公钥密码体制下的基本数字签名方
案。 叙述PGP加密体制的基本原理和主要特性。
消息认证
消息认证码(Message Authenticaion Code,MAC)
K
用户A
M
C
MAC
MAC C
比较
用户B
MAC K
• A和B共享密钥K • A计算MAC=Ck(M), • M和MAC一起发送到B • B对收到的M,计算MAC,比较两个MAC是否相同。
消息认证
消息认证码
• 消息认证码是消息和密钥的公开函数,它产生 定长的值,以该值作为认证符。
复合型加密体制PGP
混合加密系统:
– 国际数据加密算法(IDEA) – 非对称加密(RSA或Diffie-Hellman) – SHA(Secure Hash algorithm) – 标准随机数发生器
复合型加密体制PGP
对称密码技术和非对称密码技术的比较
对称密码技术
非对称密码技术
密码个数 1个(两方通讯)
– 广播的信息难以使用加密(信息量大) – 网络管理信息等只需要完整性 – 政府/权威部门的公告
消息认证
消息摘要(Message Digest)
消息认证
消息摘要(Message Digest)
……
消息认证
消息摘要
• 又称消息文摘,数字指纹(Digital Finger Print) • 与消息认证码不同的是, 产生过程中不使用密钥。 • 长度——一般为128位或160位 • 作用——检验数据的完整性 • 实现方法——散列技术(散列函数)
消息认证
消息加密认证
用户A
E
M
Ke
D M
Kd
用户B
EK(M)
• 由于攻击者不知道密钥K,也就不知道如何改变密文 中的信息位才能在明文中产生预期的改变。
• 接收方可以根据解密后的明文是否具有合理的语法 结构来进行消息认证。
消息认证
发送的明文本身并没有明显的语法结构或特征,例如 二进制文件,很难确定解密后的消息就是明文本身。