热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PBOC规范研究之五、安全相关的PKI基础知识(转)

 公钥基础设施PKI(PublicKeyInfrastructure)是以不对称秘钥加密技术为基础,以数据机密性,完整性、身份认证,行为不可抵赖性为安全目的,来提供安全服务的具有普

 公钥基础设施PKI(Public Key Infrastructure)是以不对称秘钥加密技术为基础,以数据机密性,完整性、身份认证,行为不可抵赖性为安全目的,来提供安全服务的具有普遍适用性的安全基础设施。它的主要内容包括数字证书、不对称密码技术、认证中心。证书和秘钥的管理、安全代理软件、不可否认服务、时间戳服务,相关的信息标准等,具体来说,PKI解决了信息传递中一系列必须解决的问题,例如:接收信息的人是否就是应该接收该信息的人?接收信息的人是否具有相应的安全等级来看这些信息?数据在传输和保存时,是否本人暗中修改过?数据的加密措施是否可靠?等等!必须承认,要解决上述问题虽然PKI不是唯一的方案,但是可以说PKI是目前最完善的唯一最可行的技术。PKI的主要构成如下:

 

PBOC规范研究之五、安全相关的PKI基础知识

 

第一、数字证书

 

   
是由认证机构经过数字签名后发给网上信息交易主体(企业或者个人,设备或者程序)的一段电子文档。这段文档包括主体名称、证书序列号、发证机构名称、证书有效期、秘钥算法标识、公钥和私钥信息等。签名证书和加密证书分开,最常用的证书格式为X.509
v3,x.509的证书结构如下图所示:

PBOC规范研究之五、安全相关的PKI基础知识

 

X.509证书格式

版本1、2、3

序列号

在CA内部唯一

签名算法标识符

指该证书中的签名算法

签发人名字

CA的名字

有效时间

起始和终止时间

个体名字

个体的公钥信息

算法

参数

密钥

签发人唯一标识符

个体唯一标识符

扩展域

签名

 

第二、认证中心(CA Certification
Atuthority)

 

   
CA是PKI的核心。它是公正、权威、可信的第三方网上认证机构,负责数字证书的签发、撤销、生命周期管理、秘钥管理和证书在线查询等服务;CA为使用公开密钥的用户发放数字证书,以此证明证书中列出的用户名称与证书中列出的公开密钥相对应;CA在数字证书上的数字签名使得攻击者不能伪造和篡改数字证书;

CA还负责数字证书的撤销,公布列入CRL的证书

CA的主要职责如下:

接收验证最终用户数字证书的申请。

确定是否接受最终用户数字证书的申请-证书的审批。

向申请者颁发、拒绝颁发数字证书-证书的发放。

接收、处理最终用户的数字证书更新请求-证书的更新。

接收最终用户数字证书的查询、撤销。

产生和发布证书废止列表CRL(Certificate Revocation List)

数字证书的归档。

密钥归档。

历史数据归档。

 

第三、证书注册审批机构(RA Rregistration
Authority)

 

   
RA是CA的数字证书发放、管理的延伸。它负责数字证书申请者的信息录入、审核、以及数字证书的发放工作,同时对发放的数字证书进行管理。RA系统是整个CA中心正常运营不可缺少的一部分,是CA和用户的接口。

主体注册证书的个人认证,确认主体所提供的信息的有效性。这里的信息可以是书面形式的,也可以是电子形式的。但签发证书所需的公钥必须是电子形式的。

   
根据请求信息,验证请求者的身份检查请求信息是否完整和正确。如果正确,则进行下一步,否则,退回请求。对该请求分配一个身份识别符,且该身份识别符是唯一的,并对该请求信息、数字公钥和身份识别符进行签名。将上述签名连同以上信息提交给证书机构CA,并把提交信息在本地做一个备份,在这里信息提交的信道应该是加密的,而且对提交的请求应做数字签名

 

第四、端实体

 

    
包括持有者和验证者两种。持有者是证书的拥有者,是证书所声明的主体。持有者向管理实体申请并获得证书,也可以在需要时请求更新或撤销证书。持有者使用证书向对方证实自己的身份,从而获得相应的权利。验证者通常是授权的,确认对方所提供的证书的有效性和对方是否为该证书的真正拥有者,只有在成功鉴别之后才可授权对方。

 

第五、证书库

 

    证书库中存取的对象是证书和CRL,其完整性由数字签名保证,因此对证书库的操作可在无特殊安全保护的信道上传输。

   
不同的实体间通过PKI操作完成证书的请求、确认、发布和撤销、更新和获取等过程。PKI操作分为存取操作和管理操作两类。前者涉及管理实体、终端实体与证书库之间的交互,操作的目的是向证书库存放证书和CRL,或从证书库中读取证书和CRL;后者涉及管理实体与端实体之间或管理实体内部的交互,操作的目的是完成证书的各项管理任务和建立证书链。各实体共同构成了一个PKI系统。

 

第六、其它 

 

秘钥和证书管理工具:管理和审计数字证书的工具,认证中心使用它来管理一个CA上的证书。

双证书体系:PKI采用双证书体系,非对称算法支持RSA和ECC算法,对称秘钥算法支持国家密码管理委员后制定的算法。

产生、验证和分发密钥方式:

用户自己产生密钥对:用户自己生成密钥对,然后将公钥以安全的方式传送给CA,该过程必须保证用户公钥的可验证性和完整性。

CA为用户产生密钥对:
CA替用户生成密钥对,然后将其安全地传给用户,该过程必须确保密钥对的机密性、完整性和可验证性。该方式下由于用户的私钥为CA所知,故对CA的可信性要求更高。

CA(包括PAA、PCA、CA)自己产生自己的密钥对

 

双秘钥证书的生成过程:

1、用户使用客户端产生双秘钥对

2、用户的签名私钥保存在客户端

3、用户将签名秘钥对中的公钥发给CA中心

4、CA中心为用户的公钥签名,产生签名证书

5、CA中心将该签名证书传给客户端保存

6、KMC为用户产生加密秘钥对

7、KMC备份加密秘钥用于密钥恢复

8、CA中心为加密秘钥对生成加密证书

9、CA中心将用户的加密私钥和加密证书打包成标准格式PKCS#12格式

10、将打包后的文件传给客户端

11、用户客户端装入加密公钥证书和加密私钥

 

用到的关键技术

 

数字时间戳技术

   
时间戳是用来标明一个事件发生的日期和时间的一种记号,它一般是同生成该记号的人或机构的身份联系在一起的。这个标记一般被附加在消息的后面,或以某种方式使其与消息形成逻辑上的关联。

时间戳是由交易各方、可信任的第三方以及电信服务提供商们为了某种目的而生成的。

可信任的第三方会让专门的时间戳服务机构在消息或摘要里附上时间数据后,再对结果进行数字签名。这种时间戳就可以用来作为支持不可否认性的证据。

 

数字签名

   
利用发信者的私钥和可靠的秘钥算法对待发送信息或者电子摘要进行加密处理,这个过程和结果就称为数字签名。收信者可以利用发信者的公钥对收到的信息进行解密从而辨别真伪。经过数字签名后的信息具有真实性和不可否认性。 如下图所示,显示了一个完整的验证过程:PBOC规范研究之五、安全相关的PKI基础知识

首先,甲需要验证乙所用证书的真伪。当乙在网络上将证书传送给甲时,甲使用CA的公钥解开证书上的数字签名,如果签名通过验证,则证明乙持有的证书是真的;其次,甲还需要验证乙身份的真伪。乙可以将自己的口令用自己的私钥进行数字签名传送给甲,甲已经从乙的证书中或从证书库中查得了乙的公钥,甲就可以用乙的公钥来验证乙的数字签名,如果该签名通过验证,乙在网络中的真实身份就能够确定,并能获得甲的的信任,反之,当乙确定了甲的真实身份后,甲乙双方就可以建立相互信任关系 


推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • Google在I/O开发者大会详细介绍Android N系统的更新和安全性提升
    Google在2016年的I/O开发者大会上详细介绍了Android N系统的更新和安全性提升。Android N系统在安全方面支持无缝升级更新和修补漏洞,引入了基于文件的数据加密系统和移动版本的Chrome浏览器可以识别恶意网站等新的安全机制。在性能方面,Android N内置了先进的图形处理系统Vulkan,加入了JIT编译器以提高安装效率和减少应用程序的占用空间。此外,Android N还具有自动关闭长时间未使用的后台应用程序来释放系统资源的机制。 ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
author-avatar
书友56952614
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有