通过一些研究我知道
- 公钥/私钥如何工作
- SSL证书包裹公钥
- 根据证书签名请求 (CSR),证书颁发机构 (CA) 颁发证书
- 当用户首次连接到受 SSL 保护的网站时,用户首先会向受信任的第三方验证证书
我读到 SSL 证书向用户 promise 他们正在连接到他们认为正在连接的一方。 这是什么意思?与仅拥有公钥本身相比,包装公钥可以为我们提供什么额外的安全性?一个例子将不胜感激。
例如如果 Facebook 只给我它的公钥,而不是包装公钥的 SSL 证书,我会面临什么危险?确保地址栏显示为 https://www.facebook.com/还不够吗?
Is making sure the address bar reading https://www.facebook.com/ not enough?
公钥没有名字,所以你会连接到一个主机,它会给你一个 key ,就是这样。如果攻击者能够拦截您的请求,他们只会给您他们自己的公钥,而您无法通过任何方式知道他不是 facebook.com
what dangers would I be exposed to?
中间人是主要威胁。针对它的防御都在证书中:
- 证书的 SubjectAltNames 扩展名或 Subject 值说明了证书的预期属性。
- 证书说明了是谁颁发的。所以你可以说“是吗?sez 谁?”,它会说“嗯,VeriSign 说”。
- 然后您可以查看 VeriSign 是否是您愿意为您做出信任决定的人(也就是说,VeriSign 是否在您的根信任列表中)
- CA 可以跟踪客户端何时报告其 key 被盗,因此 CA 可以将证书标记为已撤销。
- 这意味着,尽管它说它对 facebook.com 有用,但 CA 说它一无是处,而且您可能正在与窃取它的人交谈,而不是与 facebook.com 交谈。
我是一名优秀的程序员,十分优秀!