0


密码学的应用

密码学的应用

文章目录

1 密钥管理

  • 一切秘密寓于密钥之中
  • 密码算法是固定的,密钥作为系统的一个可变的输入部分,与被加密的内容进行融合,生成密文

1.1密钥产生及管理概述

一个密钥在生存期内一般要经历以下几个阶段:

  • 密钥的产生
  • 密钥的分发
  • 密钥的更新
  • 密钥的存储和备份
  • 密钥的撤销和销毁

1.密钥的产生

  • 手工方式: - 应考虑密钥空间、弱密钥问题,例如:姓名、生日、常用单词等,这样的密钥都是弱密钥。字典攻击可破解40%的密钥。- 解决方法:增加复杂性、随机机
  • 自动方式: - 更好的方式用自动处理设备产生的随机位串- 随机噪声- 伪随机位串

2.密钥的分发

  • 对称密钥分发 - 用主密钥加密会话密钥- 用公钥加密体制分发会话密钥
  • 非对称密钥 - 分发数字证书

3.密钥的更新

  • 使用单向散列函数操作

4.密钥的存储

  • ROM、智能卡。
  • 用密钥加密密钥(用DES密钥加密RSA私钥)。

5.密钥的备份

  • 密钥托管
  • 密钥共享协议
  • (m,n)门限方案 +[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IcG0yooN-1664188508122)(C:\Users\76708\AppData\Roaming\Typora\typora-user-images\image-20220925144853433.png)]

6.密钥的撤销和销毁

  • 密钥使用的时间越长,泄露的机会就越多,受攻击的可能性和可行性也越大;
  • 密钥已受到威胁或安全级别不够高等情况,应该被撤销并停止使用;
  • 过了有效期限的密钥自动撤销并重新生成和启用新的密钥;
  • 被撤销的旧密钥仍需要继续保密;
  • 密钥的销毁要清除一个密钥所有的踪迹

1.2 对称密码体制的密钥管理

(1)密钥分配中心KDC

  • KDC与每一个用户之间共享一个不同的永久密钥KA、KB ;
  • 用户A和B要进行通信时,由KDC产生一个双方会话使用的密钥K;
  • KDC将KA(K)发给A,KB(K)发给B;A、B接收到加密的会话密钥后,将之解密得到K,然后用K来加密通信数据。
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uMWy317y-1664188508124)(C:\Users\76708\AppData\Roaming\Typora\typora-user-images\image-20220925145229382.png)]

(2)基于公钥体制的密钥分配

  • 首先A通过一定的途径获得B的公钥;
  • 然后A随机产生一个对称密钥K,并用B的公钥加密对称密钥K发送给B;
  • B接收到加密的密钥后,用自己的私钥解密得到密钥K。
  • 在这个对称密钥的分配过程中,不再需要在线的密钥分配中心,也节省了大量的通信开销。

1.3 公开密钥体制的密钥管理

公钥体系的密钥管理需求:

  • 公钥的完整性要求 - 如何保证公钥确实属于声称的所有者?
  • 私钥的机密性要求

公钥管理模式:

一种采用证书的方式,另一种是PGP采用的分布式密钥管理模式。

  • (1)公钥证书 - 公钥证书是由一个可信的人或机构签发的,它包括证书持有人的身份标识、公钥等信息,并由证书颁发者对证书签字。
  • (2)分布式密钥管理 - 在某些情况下,集中的密钥管理方式是不可能的,比如:没有通信双方都信任的CA。用于PGP的分布式密钥管理,采用了通过介绍人(introducer)的密钥转介方式

2 消息认证

  • Message Authentication:消息认证(封装、完整性验证)
  • 认证:消息的接收者对消息进行的验证 - 真实性:消息确实来自于其真正的发送者,而非假冒;(来源认证)- 防抵赖性- 完整性:消息的内容没有被篡改。(内容认证)
  • 是一个证实收到的消息来自可信的源点且未被篡改的过程。

消息认证过程

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dwGGeRFK-1664188508124)(C:\Users\76708\AppData\Roaming\Typora\typora-user-images\image-20220925150356332.png)]
  • H – 实现消息认证的算法
  • 附件-消息认证码MAC(Message Authentication Code)

消息认证码产生方式

  • 使用对称密钥体制产生MAC。- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LpJOmvLR-1664188508125)(C:\Users\76708\AppData\Roaming\Typora\typora-user-images\image-20220925150449763.png)]
  • 使用散列函数产生MAC。- Hash Function - 哈希函数、摘要函数- 输入:任意长度的消息报文 M- 输出:一个固定长度的散列码值 H(M)- 是报文中所有比特的函数值- 单向函数

3 数字签名

  • Digital Signature- 传统签名的基本特点 - 签名是可信的:能与被签的文件在物理上不可分割- 签名是不可抵赖的:签名者不能否认自己的签名- 签名不能被伪造:除了合法者外,其他任何人不能伪造其签名- 签名是不可复制的:对一个消息的签名不能通过复制的方式变为另外一个消息的签名- 签名是不可改变的:经签名的消息不能被篡改- 容易被验证- 数字签名是传统签名的数字化 - 能与所签文件“绑定”- 签名者不能否认自己的签名- 容易被自动验证- 签名不能被伪造
  • 数字签名分类:- 使用对称加密和仲裁者的数字签名- 使用公开密钥体制的数字签名- 使用公开密钥体制与单向散列函数的数字签名- 加入时间标记的签名- 多重签名- 盲签名

1.使用仲裁者实现数字签名

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WJCJ7O4Y-1664188508126)(C:\Users\76708\AppData\Roaming\Typora\typora-user-images\image-20220925151618714.png)]
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tVMKO0vs-1664188508127)(C:\Users\76708\AppData\Roaming\Typora\typora-user-images\image-20220925151631688.png)]
  • 仲裁签名安全分析- 可信的:A和B都信任C;- 不可伪造; KAC只有A与仲裁者有,别人无法用KAC与仲裁者通信;- 不可复制:如果B把仲裁者的证明S(证明消息来自于A)附在别的文件上,通过仲裁者时,仲裁者就会发现消息与证明S不符合。- 不可抵赖:A不承认自己发送的消息M时,仲裁者的证明S可以帮助解决问题;

2.使用公钥体制的数字签名

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HCAgobFP-1664188508127)(C:\Users\76708\AppData\Roaming\Typora\typora-user-images\image-20220925151802519.png)]

3.使用公钥体制与单向散列函数的数字签名

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-etRv7qRB-1664188508128)(C:\Users\76708\AppData\Roaming\Typora\typora-user-images\image-20220925151818537.png)]

4.带时间标记的签名

  • 潜在威胁:把签名和文件一起重用;
  • 解决办法:把消息加上时间标记,然后再进行签名
  • 例:B第一次到银行里进行支票的转账时,银行验证签名并将之存储在数据库里;如果B再次使用这个数字支票,银行验证时,搜索数据库时会发现该支票上的时间标记与数据库中记录的已转账的支票的时间一样

5.多重签名

  • 即对同一消息需要多人的签名。利用公钥加密体制与单向散列函数也很容易做到这一点。 - 1)A用自己的私人密钥对文件的散列值进行签名。- 2)B用自己的私人密钥对文件的散列值进行签名。- 3)B把文件与自己的签名及A的签名一起发送给C。- 4)C用A的公开密钥验证A的签名,用B的公开密钥验证B的签名。

6.盲签名

  • 1)A将消息m乘以一个随机数得到m′,这个随机数通常称为盲因子,A将盲消息发给B。
  • 2)B在收到的消息m′上签名,然后将签名Sig(m′)发给A。
  • 3)A通过去除盲因子可从B在m′上的签名Sig(m′)中获得B对m的签名Sig(m)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vI3A9eOp-1664188508129)(C:\Users\76708\AppData\Roaming\Typora\typora-user-images\image-20220925152108706.png)]

  • 特点:签名者对消息的内容是不可见的
  • 盲签名应用 - [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HzPjypaN-1664188508129)(C:\Users\76708\AppData\Roaming\Typora\typora-user-images\image-20220925152140265.png)]

4 公钥基础设施——PKI

​ 从广义上讲,PKI就是一个用公钥概念和技术实现的、为网络的数据和其它资源提供具有普适性安全服务的安全基础设施。

4.1 完整的PKI系统

完整的PKI系统:

  • 权威认证机关(CA)、
  • 数字证书库、
  • 密钥备份及恢复系统、
  • 证书作废系统、
  • 应用接口等基本构成部分。

认证机关(CA):

​ CA是一个基于服务器的应用,是数字证书的申请及签发机关。

​ CA必须具备权威性;用户相信CA的行为和能力对于保障整个系统的安全性和可靠性是值行信赖的。

数字证书库:

​ 存储已签发的数字证书及公钥,用户可由此获得所需的其他用户的证书及公钥;

​ 一个基于LDAP协议的目录服务。与已注册证书的人进行安全通信,任何人都可以从该目录服务器获取注册者的公钥。

密钥备份及恢复系统:

​ 如果用户丢失了用于解密数据的密钥,则数据将无法被解密,这将造成合法数据丢失。为避免这种情况的,PKI提供备份与恢复密钥的机制。但须注意,密钥的备份与恢复必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥为确保其唯一性而不能够作备份。

证书作废系统:

​ 证书作废处理系统是PKI的一个必备的组件。与日常生活中的各种身份证件一样,证书有效期以内也可能需要作废,原因可能是密钥介质丢失或用户身份变更等。为实现这一点,PKI必须提供作废证书的一系列机制。

应用接口:

​ PKI的价值在于使用户能够方便地使用加密、数字签名等安全服务,因此一个完整的PKI必须提供良好的应用接口系统,使得各种各样的应用能够以安全、一致、可信的方式与PKI交互,确保安全网络环境的完整性和易用性

4.2 CA的功能

(1)证书颁发

​ 申请者在CA的注册机构(RA)进行注册,申请证书;CA对申请者进行审核,审核通过则生成证书;颁发给申请者。证书的申请可采取在线申请和亲自到RA申请两种方式。证书的颁发也可采取两种方式,一是在线直接从CA下载,一是CA将证书制作成介质(磁盘或IC卡)后,由申请者带走。

(2)证书更新

​ 当证书持有者的证书过期、证书被窃取、丢失时;证书的更新包括证书的更换和证书的延期两种情况;证书的更换实际上是重新颁发证书,因此证书的更换的过程和证书的申请流程基本情况一致。而证书的延期只是将证书有效期延长,其签名和加密信息的公/私密钥没有改变

(3)证书撤销

​ 证书持有者可以向CA申请撤销证书。CA通过认证核实,即可履行撤销证书职责,通知有关组织和个人,并写入CRL。

(4)证书和CRL的公布

​ CA通过LDAP服务器维护用户证书和证书撤销列表(CRL)。

​ 用户通过访问LDAP服务器就能够得到他人的数字证书或能够访问CRL。

(5)证书状态的在线查询

​ 通常CRL发布为一日一次,CRL的状态同当前证书状态有一定的滞后

​ 证书状态的在线查询通过向OCSP(Online Certificate Status Protocol)服务器发送OCSP查询包实现,在线证书状态查询比CRL更具有时效性。

(6)证书认证

​ CA对证书进行有效性和真实性的认证,在多个CA的系统中,由特定CA发放证书的所有用户组成一个域。

​ 同一域中的用户可以直接进行证书交换和认证;

​ 不同域的用户的公钥安全认证和递送, 需要通过建立一个可信赖的证书链或证书通路实现。如图为一个简单的证书链。若用户U1与用户U2进行安全通信,只需要涉及三个证书(U1、U2、CA1的证书),若U1与U3进行安全通信,则需要涉及五个证书(U1、CA1、PCA、CA3、U3)。

(7)制定政策

​ CA私钥的保护:CA签发证书所用的私钥要受到严格的保护,不能被毁坏,也不能非法使用。

​ CRL的更新频率:CA的管理员可以设定一个时间间隔,系统会按时更新CRL。

​ 通知服务:对于用户的申请和证书过期、废除等有关事宜的回复。

​ 保护CA服务器:必须采取必要的措施以保证CA服务器的安全。您必须保证该主机不被任何人直接访问,当然CA使用的http服务端口除外。

​ 审计与日志检查:为了安全起见,CA对一些重要的操作应记入系统日志。

4.3 PKI的体系结构

1、 单个CA的PKI结构

​ 单个CA的PKI结构中,只有一个CA,它是PKI中的所有用户的信任点,为所有用户提供PKI服务。在这个结构中,所有用户都能通过该CA实现相互之间的认证。单个CA的PKI结构简单,容易实现;但对于具有大量的、不同群体用户的组织不太适应,其扩展性较差。

2、分层结构的PKI

​ 一个以主从CA关系建立的PKI称为分层结构的PKI。在这种结构中,所有的用户都信任最高层的要CA,上一层CA向下一层CA发放公钥证书。若一个持有由特定CA发证的公钥用户要与由另一个CA发放公钥证书的用户进行安全通信,需解决跨域的认证问题,这一认证过程在于建立一个从根出发的可信赖的证书链。

3、网络结构的PKI系统

​ 以对等的CA关系建立的交叉认证扩展了CA域之间的第三方信任关系,这样的PKI系统称为网状结构的PKI。

​ 交叉认证包括两个操作:一个操作是两个域之间信任关系的建立,这通常是一个一次性操作。在双边交叉认证的情况下,每个CA签发一张“交叉证书”;第二个操作由客户端软件来完成,这个操作就是验证由已经交叉认证的CA签发的用户证书的可信赖性,是一个经常性执行的操作。

5 数字证书

5.1 数字证书的类型及格式

  • 个人证书- 中包含证书持有者的个人身份信息、公钥及CA的签名,在网络通讯中标识证书持有者的个人身份,可用于网上购物、网上证券、网上金融、网上拍卖、网上保险等多种应用系统。
  • Web服务器证书- 是Web Server与用户浏览器之间建立安全连接时所使用的数字证书。Web Server申请了证书并装载成功,进行相关的配置后,即可与用户浏览器建立安全连接。可以要求浏览器客户端拥有数字证书,建立通信时Web Server和浏览器交换证书,验证对方身份后建立安全连接通道。
  • 代码签名证书- 是CA中心签发给软件开发者的数字证书,包含证书持有者的身份信息、公钥及CA 的签名。软件开发者使用代码签名证书对软件进行签名 .
  • 企业证书- 中包含企业身份信息、公钥及CA的签名,在网络通讯中标识证书持有企业的身份,可用于网上税务申报、网上办公系统、网上招标投标、拍买拍卖、网上签约等多种应用系统。

5.2 证书的验证

​ 证书的验证,是验证一个证书的有效性、完整性、可用性的过程。证书验证主要包括以下几方面的内容:

  • 验证证书签名的是否正确有效,这需要知道签发证书的CA的真正公钥,有时可能要涉及证书路径的处理。
  • 验证证书的完整性,即验证CA签名的证书散列值与单独计算出的散列值是否一致。
  • 验证证书是否在有效期内
  • 查看证书撤销列表,验证证书没有被撤销。
  • 验证证书的使用方式与任何声明的策略和使用限制一致。
标签: 安全 网络 web安全

本文转载自: https://blog.csdn.net/phoenix7670/article/details/127058566
版权归原作者 星河如雨落 所有, 如有侵权,请联系我们删除。

“密码学的应用”的评论:

还没有评论