维护一个动态可访问的公钥目录可以获得更大程度的安全性,某可信的实体或者组织负责公开目录的维护和分配,如图所示

  • 管理员通过位每一个通信方建立一个目录项来维护
  • 每个通信方通过目录管理员来注册一个公钥
  • 通信方在任何时候可以用新的密钥替代当前密钥
  • 通信方可以访问该目录,为了实现这一目标,必须有从管理员到通信方的安全的认证通信

这些方法比个人公开发布公钥要安全,但是如果攻击者得到了管理员的密钥,就可以假冒任何通信方,窃取发送给通信方的消息。攻击者可以通过修改目录管理员保存的记录。

公钥授权

通过更加严格的控制目录中的公钥分配,可使公钥分配更加安全。一个典型的公钥分配方案如图所示

前面四个交互不会很频繁,A和B可以存储彼此的公钥(暂时存储),但用户需要周期性的请求当前公钥信息来确保通信中的公钥是当前的公钥。

公钥证书

上图描述的公钥方案有缺陷,用户与其他用户通信,就要向目录管理员申请对方公钥,公钥管理员成为系统的瓶颈。

通信双方可以使用证书来交换密钥而不是通过公钥管理员,这种方案与直接从公钥管理员处获取密钥的可靠性相同,证书包含公钥和公钥拥有者的标志,整个数据块由可信的第三方进行签名,第三方为证书管理员(政府等)。一个用户以安全的方式将公钥交给管理员,从而获得证书,接着公开证书。这种方案应该满足:

  • 任何通信方可以读取证书并确定证书拥有者的姓名和公钥
  • 任何通信方可以验证证书出自证书管理员,而不是伪造
  • 只有证书管理员可以生成并更新证书
  • 任何通信方可以验证证书的时效性

证书的使用方法如图所示

通信方向证书管理员提供一个公钥并申请证书,管理员提供证书

接收方使用证书管理员的公钥解密证书,只有证书管理员的公钥财迷解密,可以验证证书来自证书管理员。

实例:X.509认证服务

ITU-T建议书中的X.509是X.500系列中定义目录服务的一部分,目录是一个服务器或者管理用户信息的分布式的服务器集合。X.509是关于证书结构和认证协议的一种重要标准,并广泛应用,它基于公钥密码体制和数字签名服务。

一个公钥证书的生成过程如图所示

X.509的核心是与每个用户相关的公钥证书,这些证书由一些可信的签证几个(CA)创建并被CA或者用户放入目录服务器中。目录服务器本身不创建公钥和证书,仅为用户获得证书提供一个简单的存取方式。

CA生成的用户证书的特点:

  • 任何可以访问CA公钥的用户都可以获得证书中的用户公钥
  • 只有CA可以修改证书

由于证书不可伪造,因此证书可以存放在目录中,不需要对目录进行保护。但是每个用户都需要一个CA的公钥用于验证签名,该公钥必须以绝对安全的方式提供给每个用户。

证书的常用格式:

每个证书都有一个有效期,证书撤销的原因有:

  • 用户私钥被认为是不安全的
  • 用户不再信任CA
  • CA证书被认为是不安全的

每个CA必须保留一张表,其中包含所有被CA撤销且未到期的证书,包括发给用户和其他CA的证书。每个放在目录中的证书撤销表(CRL)均被发行者签名,并包含发行者的名字、表创建时间、下一张表发放时间以及每个撤销证书的入口。当一个用户在一个消息中接收一个证书时,必须确定该证书的是否已经被撤销。

简单看一下公钥基础设施(PKI)系统的结构图(PKIX):由硬件、软件、人、策略和程序构成的一整套体系,包括用户注册、初始化、认证、密钥对的恢复、密钥对更新、证书撤销请求和交叉认证等一系列事务处理。

【密码学原理】密钥管理和分发——公钥分发相关推荐

  1. 一、区块链技术与应用-密码学原理

    密码学原理: 哈希: 加密货币(crypto-currency) 密码学中所用的哈希函数被称为cryptographic hash function 它有两个重要的性质: 1.      collis ...

  2. 北大肖臻老师《区块链技术与应用》系列课程学习笔记[1]Bitcoin中用到的密码学原理和数据结构

    目录 一.比特币系统中用到的密码学原理 1.什么是比特币 2.哈希函数 3.非对称密码体系 4.数字签名 二.比特币中的数据结构--哈希指针和Merkle Tree 1.哈希指针 2.区块链 3.Me ...

  3. ukey的密码学原理

    USBKey的密码学原理 首先,大致说下U盾的工作流程. 你的数字证书有一对,一份在U盾里的私钥,一份在银行的公钥(其实两份银行都有).U盾的原理很类似于双向认证的TLS(SSL)或者其它用到RSA的 ...

  4. 数据安全 密码学原理与概论

    数据安全 密码学原理与概论 1.1. 密码学方向(公钥方向) 2 1.2. 古典密码主要靠算法,现代靠密钥 2 1.3. 香农三大定理 2 2. 古典密码 3 2.1. 古典密码学可以分为代替密码(也 ...

  5. Android 事件分发,分发机制

    1. 基础认知 1.1 事件分发的对象是谁? 答:点击事件(Touch事件) 定义 当用户触摸屏幕时(View 或 ViewGroup派生的控件),将产生点击事件(Touch事件) Touch事件的相 ...

  6. 如何搭建APP分发平台分发平台搭建教程

    如何搭建APP分发平台分发平台搭建教程 大家好我是艾西今天跟大家聊聊什么是分发平台,分发平台怎么搭建. 什么是App分发平台?其实App分发平台就是当你的软件做好了之后,你需要一个平台把你的安装包上传 ...

  7. 密码学原理-篇1:古典密码学

    密码学原理-篇1:古典密码学 关键词: 恺撒密码 单表替换密码 多表替换密码 重合指数 古典密码学之所以被称为古典,是因为区别于现代密码学,这些密码理论虽然很有价值,但是现在很少使用.因此,学习古典密 ...

  8. expect--自动批量分发公钥脚本

    1.在使用之前,先安装epel源,yum install expect -y 2.写分发脚本,后缀为exp #!/usr/bin/expect set host_ip [lindex $argv 0] ...

  9. 【现代密码学原理】——公钥密码学与RSA(学习笔记)

最新文章

  1. python 写脚本 预约课程_Python盘纪念币系列之三:自动预约脚本编写 03 系列总结...
  2. vue.js 第四课
  3. asp.net性能的技巧
  4. 零基础实践深度学习之数学基础
  5. leetcode 64. 最小路径和(递归 / 动态规划解法图解)(Java版)
  6. linux进程管理 pdf,高效与精细的结合--Linux的进程管理.pdf
  7. mvc 返回一个对象 到视图接收
  8. java开发_Runtime
  9. CCF NOI1059 表达式求值
  10. 记一次%转义引发的血案
  11. ZigBee学习之——ZStack API解读
  12. 吴俊计算机音乐研究者,音乐与科学有效整合的研究
  13. 《数理统计学教程》序言(陈希孺)
  14. eviews建立时间序列模型_模型建立——时间序列 eviews协整检验(EG两步法(Engle-Granger))...
  15. 读 Irving M. Copi 之《逻辑学导论》
  16. VMware Explore 2022 China,赋能中国企业加速实现云智能
  17. aruino四轮蓝牙小车控制
  18. 进程已结束,退出代码-1073740791 (0xC0000409)
  19. Excel与Word链接操作:使用邮件合并工具
  20. html简单的任务管理系统实现,用Javascript实现Windows任务管理器的代码

热门文章

  1. c语言拆礼盒,关于疯狂转发的微信拆礼盒案例
  2. 设计模式——高耦合低内聚
  3. 六级高频词汇——Group01
  4. 有没有想过:malloc分配的内存空间地址连续吗
  5. Codevs4245 Cww的作业
  6. 小波变换(matlab)-wavelet toolbox
  7. Cisco双ISP线路之单路由器解决方案
  8. 《UDS/OBD诊断需求编辑工具》总目录
  9. 安利一款功能强大,简单好用的录屏软件!
  10. 算法题:求两个单链表相交的第一个节点