我为双向SSL是如何工作的有些困惑。 客户如何创建它的证书发送到服务器? 它与服务器生成并分发到客户端?
此外,什么是双向SSL的优势在单路SSL?
我为双向SSL是如何工作的有些困惑。 客户如何创建它的证书发送到服务器? 它与服务器生成并分发到客户端?
此外,什么是双向SSL的优势在单路SSL?
这两个证书应先于连接存在。 他们通常是由证书颁发机构创建的(不一定是相同的)。 (有替代情况下,验证可以做不同的,但一些验证将需要进行。)
服务器证书应该由一个CA客户端信任(和以下所定义的命名约定创建RFC 6125 )。
客户端证书应该由一个CA服务器信任创建。
这是给每一方选择什么信任。
有网上CA工具,可以让你申请你的浏览器中的证书,并把它安装在那里,一旦CA已经发布了。 他们不必是请求客户端证书身份验证的服务器上。
证书分发和信任管理是公共密钥基础设施(PKI),通过CA的实现的作用。 在SSL / TLS的客户端和服务器,然后仅仅是PKI的用户。
当客户端连接到请求客户端证书身份验证的服务器,服务器会发送一个列表的CA它愿意接受作为客户端证书请求的一部分。 该客户端就能够发送其客户端证书,如果它希望和合适的一个是可用的。
客户端证书身份验证的主要优点是:
您可能感兴趣的客户端身份验证客户端证书的优势? (上Security.SE) 。
你叫“双向SSL”什么通常称为与客户证书验证TLS / SSL。
在一个“正常”的TLS连接到example.com,只有在客户端验证它确实与服务器进行通信example.com。 服务器不知道客户是谁。 如果服务器需要验证客户端通常就是用密码,所以客户端需要一个用户名和密码发送到服务器,但出现这种情况的TLS连接作为内部协议的一部分内(例如HTTP),它不是TLS协议本身的一部分。 缺点是,你需要为每个网站单独的密码,因为您将密码发送到服务器。 所以,如果你对例如PayPal和MyPonyForum使用相同的密码,然后登录到MyPonyForum每次发送此密码MyPonyForum的服务器,以便该服务器的运营商可以拦截它,并尝试在PayPal和可以发出你的名字付款。
客户端证书身份验证提供了另一种在TLS连接验证客户端。 在对比密码登录,客户证书验证被指定为TLS协议的一部分。 它的工作原理类似于客户端对服务器进行验证的方法:客户端生成公私密钥对,并提交公钥进行签名可信CA。 CA将返回可用于验证客户端一个客户端证书。 现在,客户端可以使用相同的证书来验证不同的服务器(例如,你可以使用贝宝和MyPonyForum相同的证书,而不用担心它会被滥用)。 它的工作方式是服务器发送它的证书后,它会要求客户提供证书了。 然后一些公钥奇迹发生了(如果你想知道的细节读RFC 5246 ),现在的客户知道它与正确的服务器通信,服务器知道它与正确的客户端进行通信,并且都具有一些共同的关键材料来加密和验证连接。
在双向SSL客户端请求的服务器数字证书和服务器要求从客户端相同。 它是更安全,因为它是双向的,虽然它的速度有点慢。 一般来说,我们不遵循它作为对客户的身份,服务器不关心,但客户需要确保它是连接到服务器的完整性。