PKI(Public Key Infrastucture)介绍

根据Wikipedia PKI词条整理。

PKI(Public Key Infrastucture)是一系列的规则、策略以及过程,可以用来创建、管理、分发、使用、存储、移除数字证书以及管理公钥加密。PKI是用来实现信息的安全传输,在包括电子贸易、网上银行、保密电邮等网络活动中。在一些活动中,简单的密码验证已经不再适用,需要更加严格的验证来确认信息交互参与者的身份并验证正在传输的信息。

在密码学中,PKI是一种将实体的标识(identity)与公钥绑定在一起的组织结构。这种绑定是通过 Certificate Authority(CA)注册和颁发证书的过程建立的。根据绑定的保证级别,这可以通过自动化过程或在人工监督下进行。

PKI中实现有效正确的注册的角色称之为Registration Authority(RA),RA负责接受对数字证书的请求,并对发出请求的实体进行身份验证。

一个实体必须根据该实体的信息在每个CA域中惟一地标识。第三方验证机构(VA)可以代表CA提供此实体信息。

公钥加密技术可以在不可靠的公共网络中实现安全通讯,并通过数字签名技术来验证实体的身份。PKI是这样一个系统,用来创建、存储、分发数字签名,这些数字签名用来验证一个特定的公钥属于某个特定实体。PKI创建数字签名,这些数字签名将公钥map到实体上,并且在中心仓库中安全的存储这些签名,也会移除失效的签名。

PKI包含如下几个部分:

  • Certificate Authority (CA),存储、发行、签署证书
  • Registration Authority(RA),通过查询他们存储在CA中的数字签名来验证实体的身份
  • Central Directory,存储索引键值得位置
  • Certificate Management System,管理证书的存储或者证书分发等事情
  • Certificate Policy,说明PKI对其程序的要求。它的目的是让外人分析PKI的可信度。

Methods of certification

有三方法实现这种证书加密,分别是:certificate authorities (CAs), web of trust (WoT), and simple public key infrastructure (SPKI).

Certificate authorities

CA的主要角色是数字签名的签署分发,以及将公钥绑定到用户实体。这个过程是基于CA自己的私钥完成的,因此对用户密钥的信任依赖于对CA密钥有效性的信任。当CA是从用户系统分离的第三方应用时,它被称为 Registration Authority (RA),可以从CA中分离。"Key—User"的绑定关系的建立依赖于绑定保证的等级,根据保证等级可以选择软件自动化实现或者在人的监管下进行。

Issuer market share

在这种信任关系的模型中,CA是一个受信任的第三方,同时被证书的拥有者及依赖于证书的其他部分所信任。

Temporary certificates and single sign-on

这种方法引入了一个Single sign-on 服务器,作为一个离线的证书颁发角色。这个服务器会向客户端颁发数字证书,但是不会存储他们。用户可以用临时的证书来执行程序,这在基于X.509的证书中是很常见的。

PKI(Public Key Infrastucture)介绍的更多相关文章

  1. PKI系统深入的介绍

    公钥基础设施(Public Key Infrastructure,缩写PKI)的基础与核心.是电子商务安全实施的基本保障.因此.对PKI技术的研究和开发成为眼下信息安全领域的热点. 本文对PKI技术进 ...

  2. windows下git库的ssh连接,使用public key的方法

    在windows下进行项目开发,使用git,通过ssh方式与git库连接,而ssh方式用public key实现连接. 首先需要下载mygit,安装后使用git bash.git bash(有GUI界 ...

  3. Xshell配置密钥公钥(Public key)与私钥(Private Key)登录

    ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到linux/unix的方法. 使用密钥登录分为3步:1.生成密钥( ...

  4. Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录【已成功实例】

    本文转自https://blog.csdn.net/qjc_501165091/article/details/51278696 ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口 ...

  5. Xshell配置ssh免密码登录-密钥公钥(Public key)

    1 简介 ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到linux/unix的方法. 使用密钥登录分为3步: 1 ...

  6. The Salt Master has rejected this minion's public key!

    salt查看日志: salt --log-level=all "10.199.165.244" state.highstate 进入调试模式: salt-minion -l deb ...

  7. Domino----The Address Book does not contain a cross certificate capable of validating the public key.

    The Address Book does not contain a cross certificate capable of validating the public key. 地址本不包含交叉 ...

  8. 在iOS中使用OpenSSL的Public Key 进行加密

    这几天一直潜心于iOS开发,刚好把遇到的问题都记录一下.这次遇到的问题就是如果根据得到的Public Key在iOS 客户端对用户名和密码进行加密. Public Key如下: -----BEGIN ...

  9. windows,linux,mac生成ssh public key 和 private key

    https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair Creating the key How you create your SSH ...

随机推荐

  1. 爬虫实战:汽车之家配置页面 破解伪元素和混淆JS

    本篇介绍如何破解汽车之家配置页面的伪元素和混淆的JS. ** 温馨提示:如需转载本文,请注明内容出处.** 本文链接:https://www.cnblogs.com/grom/p/9242156.ht ...

  2. iOS文本文件的编码检测

    windows上很多文本未必是用UTF8,所以在iOS上读取的时候,如何得到文件的编码是个问题.网上有很多读取中文的例子,但是那些不够通用.比如说要读取日文,韩文,阿拉伯文等等的时候,就不行了(虽然一 ...

  3. vs code 修改文件的缩进

    百度这个问题的都是强迫症患者. 前人代码是2个空格缩进,我习惯3个, step1:打开  文件 —>  首选项 —> 设置,进入用户设置 step2:设置缩进量,(加两句代码) step3 ...

  4. js 里常用的字符串操作方法

    /*var str='啦啦啦'; var str1='哈哈哈' //charAt() 返回指定索引处的字符串 console.log(str.charAt(3)) //charCodeAt() 返回指 ...

  5. iOS 基于APNS消息推送原理与实现(包括JAVA后台代码)

    Push的原理: Push 的工作机制可以简单的概括为下图   图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider. APNS 是Apple ...

  6. Bugku一段base64

    本文转自:本文为博主原创文章,如有转载请注明出处,谢谢. https://blog.csdn.net/pdsu161530247/article/details/74640746 链接中高手给出的解题 ...

  7. C++快速开发样本工程的建立--编写常用组件

    在添加的main.h里面添加如下功能: 主要使用标准C++和boost,界面部分采用QT 1.运行目录环境 2.使用的字体 3.使用的样式 4.使用的主题

  8. 如何将M文件转成独立可执行程序

    如何将MATLAB程序编译成独立可执行的程序?生成独立可执行的程序(exe文件)步骤    1.安装编译器.可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS 2013实现 ...

  9. SAP SM13 V2更新队列批量执行

    SE38输入程序名RSM13005 Function Module 输入MCEX_UPDATE_03 Client 输入800 其他默认 执行

  10. 20155318 2016-2017-2 《Java程序设计》第十周学习总结

    20155318 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 学习目标 了解计算机网络基础 掌握Java Socket编程 理解混合密码系统 掌握Java ...