计算机安全-密码学(4)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息科学与工程学院 计算机科学系
网络信息安全
密码学理论及应用:鉴别技术
鉴别技术
信息安全中另一个重要领域是消息鉴别,用户 通过网络传输大量的消息(或报文),因此,必 须对消息的有效性和合法性进行鉴别或认证。 防范信息伪造和篡改则需要消息鉴别技术。消息 鉴别提供了一种证实的报文来自可信源且未被窜 改的手段。
A B
提供保密 -仅B有KR b能解密 不提供鉴别 -任何一方均可以使用KU b加密报文而假称它是发自A的
私钥加密-鉴别和签名
A B
提供鉴别和签名 -仅A有KR a可进行加密 -传输中不会被更改 -需要某种结构或冗余 -任何一方均能使用KU a验证签名
非对称算法-保密、鉴别和签名
A B
提供保密 -仅A和B共享k 提供一定程度的鉴别 -仅来自A -传输中不会被更改 -需要某种结构和冗余 不提供签名 -接收人可以伪造报文 -发送人可以伪造报文
明文M的自动确定
M定义为有意义的明文序列,便于自动识别 强制定义明文的某种结构,来自百度文库种结构是易于识别
但又不能复制且无需借助加密的
中国海洋大学
信息科学与工程学院 计算机科学系
计算机安全技术
密码学理论及应用: 加密技术
信息安全的任务
保密性(confidentiality): 即保证信息为授权者享用而不泄漏给未经授权者。 完整性(integrity): 包括数据完整性(即未被未授权篡改或者损坏)和系 统完整性(即系统未被非授权操纵,按既定的功能 运行)。 可用性(availability): 即保证信息和信息系统随时为授权者提供服务,而 不要出现非授权者滥用却对授权者拒绝服务的情况。
非对称密钥算法,又称公开密钥算法:加密密钥和 解密密钥不相同,从一个很难推出另一个。
–只需保管私钥、可以相当长的时间保持不变、需要的数 目较小。 –运算速度慢、密钥尺寸大、历史短
基于公开密钥的加密过程
用户拥有自己的密钥对(KU,KR),公钥KU公开,而私钥KR保 密。AB: Y=EKUb(X) ,B: DKRb(Y)= DKRb(EKUb(X))=X
数字信封
中国海洋大学
信息科学与工程学院 计算机科学系
网络信息安全
密码学理论及应用:数字签名技术
数字签名
鉴别用以保护双方之间的数据交换不被第三方侵犯; 但它并不保证双方自身的相互欺骗和抵赖。假定A发 送一个认证的信息给B,双方之间的争议可能有多种 形式:
B伪造一个不同的消息,但声称是从A收到的。 A可以否认发过该消息,B无法证明A确实发了该消息
基于DES的报文鉴别码
算法来源
FIPS publication (FIPS PUB 113) ANSI standard (X9.17)
使用CBC(Cipher Block Chaining)方式, 初始向量为IV=0
基于DES的报文鉴别码
将数据按64位分组,D1, D2, … , DN,必要时最后
数字签名技术主要解决以下问题:
否认:发送方不承认自己发送过的某一个报文。 伪造:接收方自己伪造一份报文,并声称它来自发送方 冒充:网络上的某个用户冒充另一个用户接收或发送报文 篡改:接收方对收到的信息进行篡改。
保密性 vs 真实性
保密性与真实性是两个不同的概念。 根本上,信息加密提供的是保密性而非真实性 加密代价大(公钥算法代价更大)。 鉴别函数与保密函数的分离能提供功能上的灵 活性。 某些信息只需要真实性,不需要保密性 广播的信息难以使用加密(信息量大) 网络管理信息等只需要真实性 政府/权威部门的公告
数字签名工作流程
1. 采用散列算法对原始报文进行运算,得到一个固定 长度的数字串,称为报文摘要(message digest)。 2. 发送方生成报文的报文摘要,用自己的私有密钥对 摘要进行加密来形成发送方的数字签名。 3. 这个数字签名将作为报文的附件和报文一起发送给 接收方。 4. 接收方首先从接收到的原始报文中用同样的算法计 算出新的报文摘要,再用发送方的公钥对报文附件 的数字签名进行解密,来判断报文是否被篡改。
系统分析者
不安 全信 道
消息源
x
加密机 k 密钥源
y
解密机
x
消息宿
安全信道
加密算法分类
对称密码算法:又称传统密码算法,秘密密钥算 法:就是加密密钥和解密密钥相同,或实质上等 同,即从一个易于推出另一个。
运算速度快、密钥短、多种用途(随机数产生、Hash函数)、 历史悠久。 密钥管理困难(分发、更换),密钥量大,无法实现数字签名。
数字签名算法
数字签名算法主要由两个算法组成,即 签名算法和验证算法,用户签名算法签 名一个消息,所得到的签名能通过一个 公开的验证算法来验证。
普通数字签名算法 – RSA – EIGamal – DSS(数字签名标准)/DSA 不可否认的数字签名算法 群签名算法 盲签名算法
中国海洋大学
鉴别的主要目的:
– 验证信息的发送者是真正的,而不是冒充的,此为 信源识别。(实体或身份鉴别) – 验证信息的完整性,在传送或存储过程中未被篡改, 重放或延迟等。(消息鉴别)
鉴别系统的组成
鉴别编码器和鉴别译码器可抽象为鉴别函数, 用于产生鉴别的认证符或认证码。 一个安全的鉴别系统,需满足: 接收者能够检验和证实消息的合法性、真实性 和完整性 (消息鉴别) 消息的发送者和接收者不能抵赖 (身份鉴别) 除了合法的消息发送者,其它人不能伪造合法 的消息。 首先要选好合适的鉴别函数,该函数产生一个认 证标识,然后在此基础上,给出合理的鉴别协议 (Authentication Protocol),使接收者完成消息的鉴 别。
必须能够验证作者及其签名的日期时间; 必须能够认证签名时刻的内容; 签名必须能够由第三方验证,以解决争议; 数字签名机制提供了一种抗否认性,使用户无 法对其网络行为进行抵赖。 数字签名技术也具有防止信息伪造和窜改能力。
数字签名技术
数字签名技术是将摘要信息用发送者的私钥加密, 与原文一起传送给接收者。接收者只有用发送的 公钥才能解密被加密的摘要信息,然后用HASH函 数对收到的原文产生一个摘要信息,与解密的摘 要信息对比。如果相同,则说明收到的信息是完 整的,在传输过程中没有被修改,否则说明信息 被修改过,因此数字签名能够验证信息的完整性。 数字签名主要的功能是:保证信息传输的完整性、 发送者的身份认证、防止交易中的抵赖发生。
数字信封
发方:
A1:生成对称密钥, 用该密钥对报文加密;
A2 :用收方的公钥加密上述对称密钥;
A3 :将A1、A2步骤的结果传给收方;
收方: B1: 用自己的私钥解密对称密钥; B2 :用得到的对称密钥解密报文。
数字信封
在数字信封中,信息发送方采用对称密钥来加密信息内容, 然后将此对称密钥用接收方的公开密钥来加密(这部分称 数字信封)之后,将它和加密后的信息一起发送给接收方, 接收方先用相应的私有密钥打开数字信封,得到对称密钥, 然后使用对称密钥解开加密信息。 这种技术的安全性相当高。数字信封主要包括数字信封打 包和数字信封拆解,数字信封打包是使用对方的公钥将加 密密钥进行加密的过程,只有对方的私钥才能将加密后的 数据(通信密钥)还原;数字信封拆解是使用私钥将加密过 的数据解密的过程。
KR a提供鉴别和签名 KUb可提供保密性
对称加密:保密性与鉴别
对称加密算法: – 提供保密 – 提供鉴别 (实体鉴别) – 不提供签名
基于散列函数(hash)的鉴别方式
基于散列函数的鉴别方法是使用所谓密钥散列函数技术. 散列函数是一个确定的函数,它将任意长的比特串映射 为定长比特串的散列值. 设h表示散列函数, 其输出长度 为 |h|, h具有如下性质:
数字签名与传统签名的比较
传统签名的基本特点: 与被签的文件在物理上不可分割 签名者不能否认自己的签名 签名不能被伪造 容易被验证 数字签名是传统签名的数字化,基本要求: 能与所签文件“绑定” 签名者不能否认自己的签名 签名不能被伪造 容易被自动验证
数字签名应具有的性质
一个单纯鉴别系统的模型
窜扰者
信源 鉴别编码器 信道 安全信道 密钥源 鉴别译码器 信宿
鉴别函数分类1
鉴别的方式分类
消息加密:整个消息的密文作为认证标识 消息鉴别码(MAC):公开函数+密钥产生一个 固定长度的值作为认证标识 散列函数:一个公开函数将任意长度的消息映 射到一个固定长度的哈希值,作为认证标识
签名与加密的关系
签名提供真实性(authentication) 加密提供保密性(confidentiality) “签名+加密”提供“真实性+保密性” 两种实现方式: (AB) 先签名,后加密: EKUb{M||SigA(M)} 先加密,后签名: {EKUb(M)||SigA(EKUb(M))} 方式的问题: 发生争议时,B需要向仲裁者提供自己的私钥 安全漏洞: 攻击者E截获消息,把SigA(EKUb(M))换成
公钥密钥的应用范围
加密/解密 数字签名(身份认证) 密钥交换
公钥算法 RSA Dieffie-Hellman
加/解密 数字签名 密钥交换 是 否 是 否 是 是
DSS
否
是
否
数字信封
数字信封(DIGITAL ENVELOPE) : 对数据进行加密的密钥必须经常更换。 数字信封解决两个难题:取长补短 单钥体制:密钥分发困难;高效;数据的加密 公钥体制:加解密时间长;灵活;密钥的加密 目的:利用数据接收者的公钥来封装保护加密 数据的密钥。
可以在加密前对每个报文附加检错码,即所谓的帧检验
序列号或检验和FCS
内部差错控制和外部差错控制
差错控制
提供鉴别 保证数据 完整性
更难于构 造
提供鉴 别
基于分组加密方式的MAC
对称加密方式由于信息源A和信息宿B共享加密 解密的密钥,因此,对称加密方式同时提供了 保密和鉴别的功能。 利用CBC分组密码加密模式进行加密,所得到的 最后一个分组和初始向量IV: (IV,Cl) 作为MAC 附在M后发出 . (消息鉴别) M=m1,m2,…,ml , 设 C0=IV 作为随机初始向量, Ci EK(mi Ci-1) , i= 1,2,…,l 只有知道密钥K的人才能生成和验证Cm, 可以 实现鉴别发送者的身份。(身份鉴别)
鉴别函数分类2
鉴别技术分为对称技术和非对称技术:
对称技术分为两种
基于密钥散列函数的MAC 基于分组加密算法得MAC
使用非对称技术分为两种
数字签字技术
对称加密-保密和鉴别
A B
A与B共享密钥k A : Ek ( M ) B B : Dk ( M ),查看M 是否为有意义的明文
对称加密-保密和鉴别
一个数据块用0向右填充
运用DES算法E,密钥K 数据认证码(DAC)的计算如下:
O1 = EK(D1) O2 = EK(D2O1) O3 = EK(D3O2) … ON = EK(DNON-1) 选取ON中的部分或全 部字节 作为数据的MAC
FIPS PUB 113
公钥加密-保密性
信息安全的任务
信息的不可否认性(Non-repudiation ): 要求无论发送方还是接收方都不能抵赖已发送的 消息。 认证性(Authentication): 消息的接收者应那个确认消息的来源。
加密通信的shannon模型
密码学的目的:实现消息源和消息宿在不安 全的信道上进行通信,而系统分析者(破译者) 不能理解他们通信的内容。
SigE(EKUb(M)),让B以为该消息来自E 保存信息多:除了M,SigA(EKUb(M)), 还要保存EKUb(M) (∵KUb可能过期)
消息认证与数字签名的区别: 前者能验证消息来源及完整性,防范第三者;
后者在收发双方产生利害冲突时,解决纠纷。
数字签名需要解决的一些问题 签字后的文件可能被B重复使用。如果签字后的 文件是一张支票,B很容易多次用该电子支票兑 换现金,为此A需要在文件中加上一些该支票的 特有的凭证,如timestamp等,以防止上述情况 发生。
网络信息安全
密码学理论及应用:鉴别技术
鉴别技术
信息安全中另一个重要领域是消息鉴别,用户 通过网络传输大量的消息(或报文),因此,必 须对消息的有效性和合法性进行鉴别或认证。 防范信息伪造和篡改则需要消息鉴别技术。消息 鉴别提供了一种证实的报文来自可信源且未被窜 改的手段。
A B
提供保密 -仅B有KR b能解密 不提供鉴别 -任何一方均可以使用KU b加密报文而假称它是发自A的
私钥加密-鉴别和签名
A B
提供鉴别和签名 -仅A有KR a可进行加密 -传输中不会被更改 -需要某种结构或冗余 -任何一方均能使用KU a验证签名
非对称算法-保密、鉴别和签名
A B
提供保密 -仅A和B共享k 提供一定程度的鉴别 -仅来自A -传输中不会被更改 -需要某种结构和冗余 不提供签名 -接收人可以伪造报文 -发送人可以伪造报文
明文M的自动确定
M定义为有意义的明文序列,便于自动识别 强制定义明文的某种结构,来自百度文库种结构是易于识别
但又不能复制且无需借助加密的
中国海洋大学
信息科学与工程学院 计算机科学系
计算机安全技术
密码学理论及应用: 加密技术
信息安全的任务
保密性(confidentiality): 即保证信息为授权者享用而不泄漏给未经授权者。 完整性(integrity): 包括数据完整性(即未被未授权篡改或者损坏)和系 统完整性(即系统未被非授权操纵,按既定的功能 运行)。 可用性(availability): 即保证信息和信息系统随时为授权者提供服务,而 不要出现非授权者滥用却对授权者拒绝服务的情况。
非对称密钥算法,又称公开密钥算法:加密密钥和 解密密钥不相同,从一个很难推出另一个。
–只需保管私钥、可以相当长的时间保持不变、需要的数 目较小。 –运算速度慢、密钥尺寸大、历史短
基于公开密钥的加密过程
用户拥有自己的密钥对(KU,KR),公钥KU公开,而私钥KR保 密。AB: Y=EKUb(X) ,B: DKRb(Y)= DKRb(EKUb(X))=X
数字信封
中国海洋大学
信息科学与工程学院 计算机科学系
网络信息安全
密码学理论及应用:数字签名技术
数字签名
鉴别用以保护双方之间的数据交换不被第三方侵犯; 但它并不保证双方自身的相互欺骗和抵赖。假定A发 送一个认证的信息给B,双方之间的争议可能有多种 形式:
B伪造一个不同的消息,但声称是从A收到的。 A可以否认发过该消息,B无法证明A确实发了该消息
基于DES的报文鉴别码
算法来源
FIPS publication (FIPS PUB 113) ANSI standard (X9.17)
使用CBC(Cipher Block Chaining)方式, 初始向量为IV=0
基于DES的报文鉴别码
将数据按64位分组,D1, D2, … , DN,必要时最后
数字签名技术主要解决以下问题:
否认:发送方不承认自己发送过的某一个报文。 伪造:接收方自己伪造一份报文,并声称它来自发送方 冒充:网络上的某个用户冒充另一个用户接收或发送报文 篡改:接收方对收到的信息进行篡改。
保密性 vs 真实性
保密性与真实性是两个不同的概念。 根本上,信息加密提供的是保密性而非真实性 加密代价大(公钥算法代价更大)。 鉴别函数与保密函数的分离能提供功能上的灵 活性。 某些信息只需要真实性,不需要保密性 广播的信息难以使用加密(信息量大) 网络管理信息等只需要真实性 政府/权威部门的公告
数字签名工作流程
1. 采用散列算法对原始报文进行运算,得到一个固定 长度的数字串,称为报文摘要(message digest)。 2. 发送方生成报文的报文摘要,用自己的私有密钥对 摘要进行加密来形成发送方的数字签名。 3. 这个数字签名将作为报文的附件和报文一起发送给 接收方。 4. 接收方首先从接收到的原始报文中用同样的算法计 算出新的报文摘要,再用发送方的公钥对报文附件 的数字签名进行解密,来判断报文是否被篡改。
系统分析者
不安 全信 道
消息源
x
加密机 k 密钥源
y
解密机
x
消息宿
安全信道
加密算法分类
对称密码算法:又称传统密码算法,秘密密钥算 法:就是加密密钥和解密密钥相同,或实质上等 同,即从一个易于推出另一个。
运算速度快、密钥短、多种用途(随机数产生、Hash函数)、 历史悠久。 密钥管理困难(分发、更换),密钥量大,无法实现数字签名。
数字签名算法
数字签名算法主要由两个算法组成,即 签名算法和验证算法,用户签名算法签 名一个消息,所得到的签名能通过一个 公开的验证算法来验证。
普通数字签名算法 – RSA – EIGamal – DSS(数字签名标准)/DSA 不可否认的数字签名算法 群签名算法 盲签名算法
中国海洋大学
鉴别的主要目的:
– 验证信息的发送者是真正的,而不是冒充的,此为 信源识别。(实体或身份鉴别) – 验证信息的完整性,在传送或存储过程中未被篡改, 重放或延迟等。(消息鉴别)
鉴别系统的组成
鉴别编码器和鉴别译码器可抽象为鉴别函数, 用于产生鉴别的认证符或认证码。 一个安全的鉴别系统,需满足: 接收者能够检验和证实消息的合法性、真实性 和完整性 (消息鉴别) 消息的发送者和接收者不能抵赖 (身份鉴别) 除了合法的消息发送者,其它人不能伪造合法 的消息。 首先要选好合适的鉴别函数,该函数产生一个认 证标识,然后在此基础上,给出合理的鉴别协议 (Authentication Protocol),使接收者完成消息的鉴 别。
必须能够验证作者及其签名的日期时间; 必须能够认证签名时刻的内容; 签名必须能够由第三方验证,以解决争议; 数字签名机制提供了一种抗否认性,使用户无 法对其网络行为进行抵赖。 数字签名技术也具有防止信息伪造和窜改能力。
数字签名技术
数字签名技术是将摘要信息用发送者的私钥加密, 与原文一起传送给接收者。接收者只有用发送的 公钥才能解密被加密的摘要信息,然后用HASH函 数对收到的原文产生一个摘要信息,与解密的摘 要信息对比。如果相同,则说明收到的信息是完 整的,在传输过程中没有被修改,否则说明信息 被修改过,因此数字签名能够验证信息的完整性。 数字签名主要的功能是:保证信息传输的完整性、 发送者的身份认证、防止交易中的抵赖发生。
数字信封
发方:
A1:生成对称密钥, 用该密钥对报文加密;
A2 :用收方的公钥加密上述对称密钥;
A3 :将A1、A2步骤的结果传给收方;
收方: B1: 用自己的私钥解密对称密钥; B2 :用得到的对称密钥解密报文。
数字信封
在数字信封中,信息发送方采用对称密钥来加密信息内容, 然后将此对称密钥用接收方的公开密钥来加密(这部分称 数字信封)之后,将它和加密后的信息一起发送给接收方, 接收方先用相应的私有密钥打开数字信封,得到对称密钥, 然后使用对称密钥解开加密信息。 这种技术的安全性相当高。数字信封主要包括数字信封打 包和数字信封拆解,数字信封打包是使用对方的公钥将加 密密钥进行加密的过程,只有对方的私钥才能将加密后的 数据(通信密钥)还原;数字信封拆解是使用私钥将加密过 的数据解密的过程。
KR a提供鉴别和签名 KUb可提供保密性
对称加密:保密性与鉴别
对称加密算法: – 提供保密 – 提供鉴别 (实体鉴别) – 不提供签名
基于散列函数(hash)的鉴别方式
基于散列函数的鉴别方法是使用所谓密钥散列函数技术. 散列函数是一个确定的函数,它将任意长的比特串映射 为定长比特串的散列值. 设h表示散列函数, 其输出长度 为 |h|, h具有如下性质:
数字签名与传统签名的比较
传统签名的基本特点: 与被签的文件在物理上不可分割 签名者不能否认自己的签名 签名不能被伪造 容易被验证 数字签名是传统签名的数字化,基本要求: 能与所签文件“绑定” 签名者不能否认自己的签名 签名不能被伪造 容易被自动验证
数字签名应具有的性质
一个单纯鉴别系统的模型
窜扰者
信源 鉴别编码器 信道 安全信道 密钥源 鉴别译码器 信宿
鉴别函数分类1
鉴别的方式分类
消息加密:整个消息的密文作为认证标识 消息鉴别码(MAC):公开函数+密钥产生一个 固定长度的值作为认证标识 散列函数:一个公开函数将任意长度的消息映 射到一个固定长度的哈希值,作为认证标识
签名与加密的关系
签名提供真实性(authentication) 加密提供保密性(confidentiality) “签名+加密”提供“真实性+保密性” 两种实现方式: (AB) 先签名,后加密: EKUb{M||SigA(M)} 先加密,后签名: {EKUb(M)||SigA(EKUb(M))} 方式的问题: 发生争议时,B需要向仲裁者提供自己的私钥 安全漏洞: 攻击者E截获消息,把SigA(EKUb(M))换成
公钥密钥的应用范围
加密/解密 数字签名(身份认证) 密钥交换
公钥算法 RSA Dieffie-Hellman
加/解密 数字签名 密钥交换 是 否 是 否 是 是
DSS
否
是
否
数字信封
数字信封(DIGITAL ENVELOPE) : 对数据进行加密的密钥必须经常更换。 数字信封解决两个难题:取长补短 单钥体制:密钥分发困难;高效;数据的加密 公钥体制:加解密时间长;灵活;密钥的加密 目的:利用数据接收者的公钥来封装保护加密 数据的密钥。
可以在加密前对每个报文附加检错码,即所谓的帧检验
序列号或检验和FCS
内部差错控制和外部差错控制
差错控制
提供鉴别 保证数据 完整性
更难于构 造
提供鉴 别
基于分组加密方式的MAC
对称加密方式由于信息源A和信息宿B共享加密 解密的密钥,因此,对称加密方式同时提供了 保密和鉴别的功能。 利用CBC分组密码加密模式进行加密,所得到的 最后一个分组和初始向量IV: (IV,Cl) 作为MAC 附在M后发出 . (消息鉴别) M=m1,m2,…,ml , 设 C0=IV 作为随机初始向量, Ci EK(mi Ci-1) , i= 1,2,…,l 只有知道密钥K的人才能生成和验证Cm, 可以 实现鉴别发送者的身份。(身份鉴别)
鉴别函数分类2
鉴别技术分为对称技术和非对称技术:
对称技术分为两种
基于密钥散列函数的MAC 基于分组加密算法得MAC
使用非对称技术分为两种
数字签字技术
对称加密-保密和鉴别
A B
A与B共享密钥k A : Ek ( M ) B B : Dk ( M ),查看M 是否为有意义的明文
对称加密-保密和鉴别
一个数据块用0向右填充
运用DES算法E,密钥K 数据认证码(DAC)的计算如下:
O1 = EK(D1) O2 = EK(D2O1) O3 = EK(D3O2) … ON = EK(DNON-1) 选取ON中的部分或全 部字节 作为数据的MAC
FIPS PUB 113
公钥加密-保密性
信息安全的任务
信息的不可否认性(Non-repudiation ): 要求无论发送方还是接收方都不能抵赖已发送的 消息。 认证性(Authentication): 消息的接收者应那个确认消息的来源。
加密通信的shannon模型
密码学的目的:实现消息源和消息宿在不安 全的信道上进行通信,而系统分析者(破译者) 不能理解他们通信的内容。
SigE(EKUb(M)),让B以为该消息来自E 保存信息多:除了M,SigA(EKUb(M)), 还要保存EKUb(M) (∵KUb可能过期)
消息认证与数字签名的区别: 前者能验证消息来源及完整性,防范第三者;
后者在收发双方产生利害冲突时,解决纠纷。
数字签名需要解决的一些问题 签字后的文件可能被B重复使用。如果签字后的 文件是一张支票,B很容易多次用该电子支票兑 换现金,为此A需要在文件中加上一些该支票的 特有的凭证,如timestamp等,以防止上述情况 发生。