私钥/公钥,CSR,CA,CERT和签名如何相互关联?
我的理解是,如果Alice希望Bob有理由相信某些消息来自她,她可以使用她的私钥创建该数据的签名,并让Bob使用相关的公钥验证签名+消息。但是,Bob必须确信公钥实际上属于Alice,这就是我认为证书颁发机构派上用场的地方。
这是如何运作的?我真的不明白如何/何时/何时在Alice,Bob和CA之间创建和共享密钥和证书。
答案 0 :(得分:0)
- Alice(程序或安装程序的人)可以创建公钥/私钥吗?
醇>
是的。在现代计算机上创建非对称密钥对(相对)容易且(相对)便宜。
- 如果为1,Alice(或安装人员)可以从该公钥创建CSR(证书签名请求)吗?
醇>
Yessy-noey。 CSR的主体使用公钥,但应该使用私钥进行签名以获取证据。 (可能有些CA不检查签名)。
- 如果是2,Alice(或安装人员)可以将此CSR发送给CA(证书颁发机构)吗?
醇>
是的。任何人都可以将CSR发送给CA.然后CA执行他们的事情(经常涉及信用卡)并颁发证书。或者没有。
- 现在有证书吗?它是在1,2或3中创建的吗?
醇>
假设它是在步骤3(b)中创建的(CA作用于CSR)。
- 爱丽丝现在如何让Bob信任签名?
醇>
这是一个深刻的形而上学问题。
- (再次)Alice现在如何让Alice信任签名? Alice应该向他发送a)她的公钥或b)她的证书,以便Bob能以某种方式“安装”它,从而信任她,因为他也信任CA?
醇>
Alice应该发送证书,该证书提供{ her as a subject entity, the public key }
的关联以及CA认为提供的任何约束或认可。然后,如果Bob信任CA(或CA的CA等),他现在有理由相信这个公钥确实表明Alice就是那个做事的人。
- 5b不会以某种方式将Alice的私钥暴露给Bob吗?
醇>
不,证书只包含公钥(公共),元数据(公共)和签名(公共)。创建CSR需要Alice的私钥,生成证书需要CA的私钥。
如果预算足够大,有人可以从公钥中获取私钥,但在2018年,它对于RSA-2048密钥或ECC-256密钥是“不可行的”。所以... yessy-noey。< / p>
- Alice现在可以签署一条消息,并且Bob可以验证她的签名+消息,因为Bob确信公钥真的是Alice的公钥吗?
醇>
如果Alice发送a)消息,b)签名,以及c)证书;好的。如果某种程度上证书和一些Aliceness(Aliciosity?)已经关联,那么消息和签名以及“我可能是Alice”的上下文将让密钥被查找。
- (未提供)在没有证书的情况下,还有其他方案可行吗?
醇>
不确定。如果鲍勃可以证明爱丽丝是爱丽丝而爱丽丝给他一张公钥,则不需要中间人。然后Bob可以使用“我可能是Alice”并且他已经知道的公钥属于Alice,然后你又回到需要消息和签名的位置。但后来有一个问题是她如何举报妥协等等。