计算机安全密码学.ppt_第1页
计算机安全密码学.ppt_第2页
计算机安全密码学.ppt_第3页
计算机安全密码学.ppt_第4页
计算机安全密码学.ppt_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机安全技术 密码学理论及应用 加密技术 信息安全的任务 保密性 confidentiality 即保证信息为授权者享用而不泄漏给未经授权者 完整性 integrity 包括数据完整性 即未被未授权篡改或者损坏 和系统完整性 即系统未被非授权操纵 按既定的功能运行 可用性 availability 即保证信息和信息系统随时为授权者提供服务 而不要出现非授权者滥用却对授权者拒绝服务的情况 信息安全的任务 信息的不可否认性 Non repudiation 要求无论发送方还是接收方都不能抵赖已发送的消息 认证性 Authentication 消息的接收者应那个确认消息的来源 密码学的目的 实现消息源和消息宿在不安全的信道上进行通信 而系统分析者 破译者 不能理解他们通信的内容 加密通信的shannon模型 加密算法分类 对称密码算法 又称传统密码算法 秘密密钥算法 就是加密密钥和解密密钥相同 或实质上等同 即从一个易于推出另一个 运算速度快 密钥短 多种用途 随机数产生 Hash函数 历史悠久 密钥管理困难 分发 更换 密钥量大 无法实现数字签名 非对称密钥算法 又称公开密钥算法 加密密钥和解密密钥不相同 从一个很难推出另一个 只需保管私钥 可以相当长的时间保持不变 需要的数目较小 运算速度慢 密钥尺寸大 历史短 基于公开密钥的加密过程 用户拥有自己的密钥对 KU KR 公钥KU公开 而私钥KR保密 A B Y EKUb X B DKRb Y DKRb EKUb X X 公钥密钥的应用范围 加密 解密数字签名 身份认证 密钥交换 数字信封 数字信封 DIGITALENVELOPE 对数据进行加密的密钥必须经常更换 数字信封解决两个难题 取长补短单钥体制 密钥分发困难 高效 数据的加密公钥体制 加解密时间长 灵活 密钥的加密目的 利用数据接收者的公钥来封装保护加密数据的密钥 数字信封 发方 A1 生成对称密钥 用该密钥对报文加密 A2 用收方的公钥加密上述对称密钥 A3 将A1 A2步骤的结果传给收方 收方 B1 用自己的私钥解密对称密钥 B2 用得到的对称密钥解密报文 数字信封 在数字信封中 信息发送方采用对称密钥来加密信息内容 然后将此对称密钥用接收方的公开密钥来加密 这部分称数字信封 之后 将它和加密后的信息一起发送给接收方 接收方先用相应的私有密钥打开数字信封 得到对称密钥 然后使用对称密钥解开加密信息 这种技术的安全性相当高 数字信封主要包括数字信封打包和数字信封拆解 数字信封打包是使用对方的公钥将加密密钥进行加密的过程 只有对方的私钥才能将加密后的数据 通信密钥 还原 数字信封拆解是使用私钥将加密过的数据解密的过程 数字信封 网络信息安全 密码学理论及应用 数字签名技术 数字签名 鉴别用以保护双方之间的数据交换不被第三方侵犯 但它并不保证双方自身的相互欺骗和抵赖 假定A发送一个认证的信息给B 双方之间的争议可能有多种形式 B伪造一个不同的消息 但声称是从A收到的 A可以否认发过该消息 B无法证明A确实发了该消息 数字签名技术主要解决以下问题 否认 发送方不承认自己发送过的某一个报文 伪造 接收方自己伪造一份报文 并声称它来自发送方冒充 网络上的某个用户冒充另一个用户接收或发送报文篡改 接收方对收到的信息进行篡改 保密性vs真实性 保密性与真实性是两个不同的概念 根本上 信息加密提供的是保密性而非真实性加密代价大 公钥算法代价更大 鉴别函数与保密函数的分离能提供功能上的灵活性 某些信息只需要真实性 不需要保密性广播的信息难以使用加密 信息量大 网络管理信息等只需要真实性政府 权威部门的公告 签名与加密的关系 签名提供真实性 authentication 加密提供保密性 confidentiality 签名 加密 提供 真实性 保密性 两种实现方式 A B 先签名 后加密 EKUb M SigA M 先加密 后签名 EKUb M SigA EKUb M 方式 的问题 发生争议时 B需要向仲裁者提供自己的私钥安全漏洞 攻击者E截获消息 把SigA EKUb M 换成SigE EKUb M 让B以为该消息来自E保存信息多 除了M SigA EKUb M 还要保存EKUb M KUb可能过期 消息认证与数字签名的区别 前者能验证消息来源及完整性 防范第三者 后者在收发双方产生利害冲突时 解决纠纷 数字签名需要解决的一些问题签字后的文件可能被B重复使用 如果签字后的文件是一张支票 B很容易多次用该电子支票兑换现金 为此A需要在文件中加上一些该支票的特有的凭证 如timestamp等 以防止上述情况发生 数字签名与传统签名的比较 传统签名的基本特点 与被签的文件在物理上不可分割签名者不能否认自己的签名签名不能被伪造容易被验证数字签名是传统签名的数字化 基本要求 能与所签文件 绑定 签名者不能否认自己的签名签名不能被伪造容易被自动验证 数字签名应具有的性质 必须能够验证作者及其签名的日期时间 必须能够认证签名时刻的内容 签名必须能够由第三方验证 以解决争议 数字签名机制提供了一种抗否认性 使用户无法对其网络行为进行抵赖 数字签名技术也具有防止信息伪造和窜改能力 数字签名技术 数字签名技术是将摘要信息用发送者的私钥加密 与原文一起传送给接收者 接收者只有用发送的公钥才能解密被加密的摘要信息 然后用HASH函数对收到的原文产生一个摘要信息 与解密的摘要信息对比 如果相同 则说明收到的信息是完整的 在传输过程中没有被修改 否则说明信息被修改过 因此数字签名能够验证信息的完整性 数字签名主要的功能是 保证信息传输的完整性 发送者的身份认证 防止交易中的抵赖发生 数字签名工作流程 采用散列算法对原始报文进行运算 得到一个固定长度的数字串 称为报文摘要 messagedigest 发送方生成报文的报文摘要 用自己的私有密钥对摘要进行加密来形成发送方的数字签名 这个数字签名将作为报文的附件和报文一起发送给接收方 接收方首先从接收到的原始报文中用同样的算法计算出新的报文摘要 再用发送方的公钥对报文附件的数字签名进行解密 来判断报文是否被篡改 数字签名算法 数字签名算法主要由两个算法组成 即签名算法和验证算法 用户签名算法签名一个消息 所得到的签名能通过一个公开的验证算法来验证 普通数字签名算法RSAEIGamalDSS 数字签名标准 DSA不可否认的数字签名算法群签名算法盲签名算法 网络信息安全 密码学理论及应用 鉴别技术 鉴别技术 信息安全中另一个重要领域是消息鉴别 用户通过网络传输大量的消息 或报文 因此 必须对消息的有效性和合法性进行鉴别或认证 防范信息伪造和篡改则需要消息鉴别技术 消息鉴别提供了一种证实的报文来自可信源且未被窜改的手段 鉴别的主要目的 验证信息的发送者是真正的 而不是冒充的 此为信源识别 实体或身份鉴别 验证信息的完整性 在传送或存储过程中未被篡改 重放或延迟等 消息鉴别 鉴别系统的组成 鉴别编码器和鉴别译码器可抽象为鉴别函数 用于产生鉴别的认证符或认证码 一个安全的鉴别系统 需满足 接收者能够检验和证实消息的合法性 真实性和完整性 消息鉴别 消息的发送者和接收者不能抵赖 身份鉴别 除了合法的消息发送者 其它人不能伪造合法的消息 首先要选好合适的鉴别函数 该函数产生一个认证标识 然后在此基础上 给出合理的鉴别协议 AuthenticationProtocol 使接收者完成消息的鉴别 一个单纯鉴别系统的模型 鉴别函数分类1 鉴别的方式分类消息加密 整个消息的密文作为认证标识消息鉴别码 MAC 公开函数 密钥产生一个固定长度的值作为认证标识散列函数 一个公开函数将任意长度的消息映射到一个固定长度的哈希值 作为认证标识 鉴别函数分类2 鉴别技术分为对称技术和非对称技术 对称技术分为两种基于密钥散列函数的MAC基于分组加密算法得MAC使用非对称技术分为两种数字签字技术 对称加密 保密和鉴别 A B 对称加密 保密和鉴别 明文M的自动确定 M定义为有意义的明文序列 便于自动识别强制定义明文的某种结构 这种结构是易于识别但又不能复制且无需借助加密的可以在加密前对每个报文附加检错码 即所谓的帧检验序列号或检验和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 可以实现鉴别发送者的身份 身份鉴别 基于DES的报文鉴别码 算法来源FIPSpublication FIPSPUB113 ANSIstandard X9 17 使用CBC CipherBlockChaining 方式 初始向量为IV 0 基于DES的报文鉴别码 将数据按64位分组 D1 D2 DN 必要时最后一个数据块用0向右填充运用DES算法E 密钥K数据认证码 DAC 的计算如下 O1 EK D1 O2 EK D2 O1 O3 EK D3 O2 ON EK DN ON 1 选取ON中的部分或全部字节作为数据的MAC FIPSPUB113 公钥加密 保密性 A B 私钥加密 鉴别和签名 A B 非对称算法 保密 鉴别和签名 A B 对称加密 保密性与鉴别 对称加密算法 提供保密提供鉴别 实体鉴别 不提供签名 基于散列函数 hash 的鉴别方式 基于散列函数的鉴别方法是使用所谓密钥散列函数技术 散列函数是一个确定的函数 它将任意长的比特串映射为定长比特串的散列值 设h表示散列函数 其输出长度为 h h具有如下性质 混合变换 对于任意得输入x 输出的散列值h x 应当和区间 0 2 h 中均匀的二进制串在计算上是不可区分的 抗碰撞攻击 找两个输入x和y 且x y 使得h x h y 在计算上是不可行的 要求h的输出空间足够大 h 最小为128 而典型值为160抗原像攻击 已知一个散列值h 找一个输入串x 使得h h x 在计算上是不可行的 实用性 给定一个输入串x h x 的计算可以在关于x的长度规模的低阶多项式时间内完成 MD5 消息摘要算法 简介 Merkle于1989年提出hashfunction模型 MIT教授RonRivest于1990年提出MD4算法 RonRivest于1992年提出MD5算法 MD5把数据分成512 bit块MD5的hash值是128 bit前几年 MD5被认为是非常安全的 也是最主要 普遍被使用的安全散列算法 但是 目前 随着软硬件技术的发展 以及对MD5算法的研究 MD5算法已经被认为是易受攻击的散列算法 安全散列算法 SHA 安全散列算法 SHA 是由NIST提出 SHA算法也是基于MD4 它允许的最大输入报文长度步超过264位 输出160位的消息摘要 SHA 1算法计算时也是按512位的分组进行处理 总体处理过程与MD5结构相似 SHA 1算法更复杂 更安全 MD5 SHA 1被中国密码学家王小云攻破 hash函数小结 hash函数把变长信息映射到定长信息hash函数不具备可逆性hash函数速度较快hash函数与对称密钥加密算法有某种相似性对hash函数的密码分析比对称密钥密码更困难hash函数可用于消息摘要hash函数可用于数字签名 基于散列函数的鉴别方式 网络 算法C MAC 报文M M 密钥K 比较 密钥K 算法C 鉴别结果 MAC h k M HMAC h k M k HMAC H K opad H k ipad M Ipad 将00110110重复于K等长Opad 将01011010重复于K等长 散列函数基本用法 1 A B EK M H M 提供鉴别加密保护H M 提供保密仅A和B共享密钥K 散列函数基本用法 2 A B M EK H M 提供鉴别加密保护H M 散列函数基本用法 3 散列函数基本用法 4 A B EK M EKRa H M 提供鉴别和数字签字加密保护H M 提供保密仅A和B共享密钥K 散列函数基本用法 5 A B M H M S 提供鉴别和数字签字仅A和B共享S 散列函数基本用法 6 A B EK M H M S 提供鉴别和数字签字仅A和B共享S提供保密仅A和B共享密钥K 密码功能模块基本用法 6 网络信息安全 密码学理论及应用 密码协议设计与分析 签字 密码学研究范畴 加密 单向函数 现代观念 应用系统 加密 密码协议 签字 随机数 零知识证明 计算难题 单向函数 传统观念 密码协议的定义 协议 两个或两个以上的参与者为完成某项特定的任务而采取的一系列的步骤 包括三层含义协议是有序的过程 每一步必须依次执行协议至少需要两个参与者通过协议的执行必须能够完成某项任务 协议参与者Alice协议的第一参与者Bob协议的第二参与者Trent协议中的可信第三方Malice协议中的攻击者 密码协议威胁模型 攻击者Malice具有如下特征他能获得经过网络的任何消息他是网络的一个合法使用者 因而能够发起与任何其他用户的对话他有机会成为任何主体发出消息的接收者他能冒充任何别的主体给任意主体发送消息他不能猜到从足够大的空间选出的随机数没有正确的密钥 私钥 他不能由给定的密文恢复出明文 对于完善加密算法 他不能从给定的明文构造出正确的密文他不能从给定的公钥中恢复出私钥他不能控制计算环境中许多私有区域 比如离线的存储器 密钥共享协议 假定Alice和Bob以前从未见过面 因而不能事先就有一个共享密钥 也不能确定对方的公钥 如何通过不安全的网络进行安全通信 直接方式 Alice和Bob见面建立共享密钥或交换对方公钥的知识 间接方式 通过可信第三方 TTP 进行可信第三方是一种特殊的主体 它行为老实并必须得到用户的信赖 在系统中称为认证服务器 Trent 在同一个认证服务器下 假定Alice Bob 同Trent共享一个密钥 设密钥由KAT KBT 表示 这个密钥称为密钥 加密密钥 一般的要长期使用 又称为长期密钥 认证密钥建立的安全属性 设K表示Alice和Bob要建立的共享密钥 应该具有以下安全性质 只有Alice和Bob 或者可能还有他们都信任的某个主体 能够知道KAlice和Bob应当知道对方主体知道K 活现性 Alice和Bob应当知道K是新生成的密钥管理原则 当一个密钥是共享密钥 并用于大量数据加密时 只能使用较短时间这种密钥称为会话密钥和短语密钥 利用加密的认证密钥建立协议 1 协议2 2来自Trent的会话密钥假定Alice和Trent共享密钥KAT Bob和Trent共享密钥KBT目标Alice和Bob想要建立一个新的共享密钥K Alice Trent Bob 1 2 3 Alice向Trent发送 Alice Bob Trent找出密钥KAT KBT 随机生成K 发送Alice Alice K KAT K KBTAlice解密 K KAT并发送给Bob Trent Alice K KBTBob解密 K KBT恢复K 向Alice发送 你好 Alice 我是Bob K 4 利用加密的认证密钥建立协议 2 攻击2 12对 来自Trent的会话密钥 的一种攻击假定除原假定外 Malice和Trent共享密钥KMT攻击结果Alice认为和Bob共享密钥K 实际上是和Malice共享密钥K Alice Malice Bob 1 2 3 Alice向Malice Trent 发送 Alice BobMalice向Trent发送 Alice Malice 篡改伪造 Trent找出密钥KAT KMT 随机生成KAM 发送Alice Alice KAM KAT KAM KMTAlice解密 K KAT并发送给Malice Bob Trent Alice K KmTMalice Bob 解密 K KmT向Alice发送 你好 Alice 我是Bob KAM 5 Trent 4 篡改 修补1Alice向Trent发送 Alice Bob KAT 攻击 Malice Alice 向Trent发送 Alice Malice KAT 利用加密的认证密钥建立协议 3 Alice Malice Bob 1 2 3 Alice向Malice Trent 发送 Alice BobMalice Trent 发送Alice Alice K AM KAT K AM KMTAlice解密 K KAT并发送给Malice Bob Trent Alice K KmTMalice Bob 向Alice发送 你好 Alice 我是Bob K AM 4 Trent 消息篡改 另一种攻击 通过 解密 检验 实现 消息认证 数据完整性 协议 协议2 3来自Trent的会话密钥假定Alice和Trent共享密钥KAT Bob和Trent共享密钥KBT目标Alice和Bob想要建立一个新的共享密钥K Alice Trent Bob 1 2 3 1 Alice向Trent发送 Alice Bob 2 Trent找出密钥KAT KBT 随机生成K 发送Alice Bob K KAT Alice K KBT3 Alice解密 Bob K KAT验证Bob身份 并发送给Bob Trent Alice K KBT4 Bob解密 Alice K KBT验证Alice身份 向Alice发送 你好 Alice 我是Bob K 4 对消息认证协议的攻击 攻击2 3对消息认证协议的攻击假定Alice和Trent共享密钥KAT Bob和Trent共享密钥KBT结果Alice和Malice建立一个新的共享密钥K Alice Malice Bob 1 2 3 Alice向Malice Trent 发送 Alice BobMalice Trent 向Alice发送 Alice Bob K AM KAT Alice K AM KMTAlice解密 K KAT并发送给Malice Bob Trent Alice K KmTMalice Bob 解密 K KmT向Alice发送 你好 Alice 我是Bob KAM Trent 4 重放攻击 询问 应答协议 Needham Schroeder对称密钥认证协议 协议2 3来自Trent的会话密钥假定Alice和Trent共享密钥KAT Bob和Trent共享密钥KBT目标Alice和Bob想要建立一个新的共享密钥K Alice Trent Bob 1 2 3 1 Alice随机生成NA 向Trent发送 Alice Bob NA2 Trent找出密钥KAT KBT 随机生成K 发送Alice NABob K Alice K KBT KAT3 Alice解密 Bob K KAT验证NA 验证Bob身份 并发送给Bob Trent Alice K KBT4 Bob解密 Alice K KBT验证Alice身份 随机生成NB 向Alice发送 我是Bob NB K5 Alice向Bob发送 我是Alice NB 1 K 4 5 对N S对称密钥认证协议攻击 攻击2 4来自Trent的会话密钥假定Alice和Trent共享密钥KAT Bob和Trent共享密钥KBT结果Bob认为他正和Alice共享一个会话密钥 但实际上这个密钥并不是新的 Malice可能知道 Alice Trent Bob 1 2 3 1 Alice随机生成NA 向Trent发送 Alice Bob NA2 Trent找出密钥KAT KBT 随机生成K 发送Alice NABob K Alice K KBT KAT3 Malice向Bob发送 Trent Alice K KBT 活现性的实体认证 消息的认证 4 Bob解密 Alice K KBT验证Alice身份 向Malice Alice 发送 我是Bob NB K 5 Malice Alice 向Bob发送 我是Alice NB 1 K 4 5 Malice 3 重放 实体认证协议 协议2 3来自Trent的会话密钥假定Alice和Trent共享密钥KAT Bob和Trent共享密钥KBT 设T表示一个时戳目标Alice和Bob想要建立一个新的共享密钥K Alice Trent Bob 1 2 3 1 Alice随机生成NA 向Trent发送 Alice Bob NA2 Trent找出密钥KAT KBT 随机生成K 发送Alice T Bob K Alice K T KBT KAT3 Alice解密 Bob K KAT 验证Bob身份和时间 并发送给Bob Trent Alice K T KBT4 Bob解密 A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论