公钥基础设施pki简介
我将从加密本身开始。 我们为什么需要它? 至少有三个原因–机密性,身份验证和完整性。 机密性是最明显的。 显而易见,我们需要加密技术才能对他人隐藏信息。 身份验证确认消息是由我们可以识别的主题发送的,并且我们对此的主张是真实的。 最后,Integrity确保在传输过程中不会修改或破坏邮件。
是的,它工作正常–很难修改加密的消息。 如您所料,对称密码术存在一个大问题-该问题是“共享机密”。 这两个词……它们甚至彼此不匹配。 如果某人知道某事,那就不再是秘密。 此外,要共享该秘密,必须以某种方式转移该秘密,在此过程中,有太多的秘密可以被窃取。 这意味着这种类型的密码很难解决我们的问题。 但是它仍在使用,并且可以很好地用于其目的。 它的速度非常快,可以用于大量数据的加密/解密,例如您的硬盘。 而且,它的速度比不对称加密快数百甚至数千倍,它用于混合模式(如TLS aka SSL),其中不对称加密仅用于传输对称密钥,而加密/解密则通过对称算法完成。
现在,如果收件人想要验证创建邮件的主题,他将使用主题的公钥(即身份验证)对该哈希进行加密,并将其与收件人方生成的哈希(完整性)进行比较。 实际上,哈希不是完全加密的,而是用于特殊的签名算法中,但是总体概念是相同的。 重要的是要注意,在非对称密码学中,每对密钥仅用于一个目的,例如,如果将这对密钥用于签名,则不能将其用于加密。
假设在我们的情况下,验证成功(如果不是,则浏览器将显示红色的大警告消息,如该消息)-证书中具有适当的名称,并由受信任的证书颁发机构签名。 它给我们带来什么? 只是一件事-我们知道我们在www.amazon.co.uk上 ,该名称后面的服务器是Amazon服务器,而不是看起来像Amazon的某些狡猾网站。 当我们输入信用卡详细信息时,我们可以相对确定地将其发送到Amazon,但不会发送到黑客的数据库。 我们的希望基于这样的假设,即像VeriSign这样的证书颁发机构不会提供不可靠的证书,并且不会损害Amazon服务器。 好了,聊胜于无Ĵ
- 相互认证。 证书通常经过验证,但不仅限于客户,还需要双方验证。 客户端必须将其证书发送到服务器。
- 证书颁发机构,托管在公司内部。
当CA在公司内部时,我们几乎可以确定证书将仅颁发给经过正确验证的主题。 它使黑客确信,即使他可以访问网络基础结构,也无法注入服务器。 仅当CA受到攻击或某些服务器的私钥受到攻击时,才有可能发起攻击。
当某人想要获得证书时,他必须将称为证书签名请求的证书请求发送到证书颁发机构。 该证书由受试者的身份信息,受试者的公共密钥和签名组成,由受试者的私钥创建,以确保发送请求的受试者具有适当的私钥。 在签署证书颁发机构之前,该请求会传递给注册管理机构,该机构将验证所有详细信息,确保遵循正确的流程,等等。证书颁发机构也可以充当注册机构。 毕竟,如果一切正常,那么证书颁发机构将创建由其私钥签名的新证书,并将其发送回请求证书的主题。
- 证书数据验证–有效日期,必填字段的存在,其值等
- 验证证书是由受信任的证书颁发机构颁发的。 如果您正在浏览Internet,则该列表已内置在浏览器中。 如果这是两个系统之间的通信,则每个系统都有一个受信任的证书颁发机构列表; 通常这只是一个带有证书的文件。
- 证书的签名有效,并由签署该证书的证书颁发机构进行。
- 验证证书未被吊销。
- 密钥验证–证明服务器可以解码通过证书的公共密钥加密的消息。
上面提到的证书吊销可能由于多种原因而发生–证书可能被盗用 ,或者在公司环境中,雇员,拥有证书的公司,离开公司或已停用证书的服务器等。为了验证证书吊销,请使用浏览器或任何其他软件,都必须使用以下一种或两种技术:
- 证书吊销列表(CRL)。 那只是一个文件,可以在http服务器上托管。 它包含已撤销证书ID的列表。 该方法简单明了,不需要大量的实现工作,但是有三个缺点–只是一个文件,这意味着它不是实时的,可以使用大量的网络流量,并且默认情况下不进行检查即使证书具有指向CRL的链接,也可以由大多数浏览器(甚至所有浏览器都可以)表示。
- 在线证书状态协议(OCSP)。 最好的解决方案是利用专用服务器,该服务器实现协议,该协议将通过其ID返回证书的吊销状态。 如果浏览器(至少FireFox> v.3.0)会在证书中找到指向该服务器的链接,它将进行调用以确认证书未被吊销。 唯一的缺点是OCSP服务器必须非常可靠并且能够始终响应请求。
在Internet证书中,证书通常包含指向CRL或OCSP的链接。 在公司网络中使用证书时,这些链接通常是所有各方都知道的,因此无需将其包含在证书中。
- 订阅者。 证书的用户。 客户和拥有证书的客户。
- 证书。
- 证书颁发机构和注册机构。
- 证书吊销基础结构。 具有证书吊销列表的服务器或OCSP服务器。
- 证书策略和实践文件。 描述证书的格式,证书请求的格式,必须撤消证书的时间等。基本上,所有与基础结构有关的过程。
- 硬件安全模块,通常用于保护根CA的私钥。
- 公钥密码术。
- 证书发行。
- 证书验证。
- 证书吊销。
翻译自: https://www.javacodegeeks.com/2012/01/public-key-infrastructure.html
公钥基础设施pki简介