除了客户端的密钥/证书管理之外,还有其他原因吗?
发布于 2012-11-11 20:34:21
什么是身份验证?确保在隧道另一端的人就是你所相信的人。这真的取决于你想要使用的身份类型。
对于大多数网站来说,有趣的概念是连续性。他们并不真正关心谁是连接者;事实上,网站的意义在于让每个人都能读懂。Web站点希望实现的真实性是确保两个连续的请求确实来自同一个客户端(无论该客户端是谁)。这是因为Web站点的体验是由用户的操作(单击的链接)驱动的页面的逻辑顺序,以及对类似电影的框架的干预是攻击者所追求的。用户和网站设计人员从会话的角度考虑,攻击者想要劫持会话。
这种真实性是通过以下几种机制来实现的:
cookie足以确保连续性。
客户端证书会增加什么额外价值?嗯,不多。证书是分发密钥/名称绑定的一种方法。在大多数情况下,客户机证书(在Web上下文中)是相关的:
在Web服务器的常见情况下,这些方案都不适用。因此不使用客户端证书,因为它们会引起实际问题,同时不增加任何额外的价值。这将是一个寻找问题的解决方案。
发布于 2012-11-11 13:09:22
主要原因是95%的互联网用户不知道客户端证书是什么,更不用说如何使用证书了。有些用户几乎无法使用用户名和密码,而且大多数用户仍然不需要进行双因素身份验证。在不同的设备(台式机、膝上型电脑、平板电脑、智能手机等)上安装客户端证书也是一个麻烦。用于对单个服务的身份验证。
因此,关于一个简短的列表:
所以,虽然看到大规模的客户端证书是件好事,但我真的不认为它会发生,除非一个严重的事件迫使供应商这么做。
发布于 2012-11-11 19:34:19
客户端试图访问URL中标识的特定服务器。因此客户端需要对服务器进行身份验证。
另一方面,在大多数HTTPS的使用中,任何客户端都可以与服务器联系。服务器对客户端没有任何先验知识。因此,服务器不需要对客户端进行身份验证。服务器希望对用户进行身份验证,而不是对客户端机器进行验证。
在Internet设置中,客户端可能位于代理后面、动态IP地址等。服务器没有任何需要验证的内容。对客户端进行身份验证的唯一目的是记录其身份以供将来使用,或者用于法医目的,或者通过多个连接跟踪客户端。由于用户可以从多台机器连接,因此跟踪客户端计算机没有多大意义。记录客户端身份对于在事实发生后识别恶意客户端或用户非常有用(攻击者可能已经生成了一个没有提供任何有用信息的证书),因此不值得花费任何努力。
在intranet设置中,只有已知的客户端应该连接到服务器,客户端身份验证是有用的,并且是使用的。
https://security.stackexchange.com/questions/23880
复制相似问题