你有一些很好的问题,也有一些误解。让我们试着解开它们。
我对其他好处也有一些想法(例如 HTTP/2 带来的速度好处)。
另一个重要的问题:搜索引擎优化,因为您通过 TLS 获得 GooglePoints。(这有点符合您的观点,即网站管理员需要外部激励......)
我想是因为我还知道我正在与之交易的客户是经过认证的,并且我发送给他们的信息是加密的。...但是任何客户 [原文如此] 都不能使用自签名证书访问我的网站吗?
是的,不是的,是的,……不是的。让我们解开这个问题。
TLS 客户端身份验证(要求客户端提供证书)是您通常在 VPN 服务器、企业 WPA2 WiFi 接入点和企业 Intranet 上看到的内容。这些都是封闭系统,系统管理员可以完全控制向用户颁发证书,并使用它来控制哪些用户可以访问哪些资源。这在公共网站设置中毫无意义,并且绝对是 HTTPS 网络服务器的非标准配置。
也就是说,你得到的是:
Encrypted TLS session
| Client loads login page
| Client sends username / password
| Client does "logged in things"
因此,您确实获得了额外的信心,即用户就是他们所说的那个人,因为用户名/密码不再以明文形式发送,因此中间人不再可能拦截/修改/窃取。
之后,客户端发送到服务器或从服务器获取的任何数据都被端到端加密到客户端。一般来说,你是对的:这比服务器更能保护客户端,但它确实阻止了中间人将恶意内容注入用户上传的文件,注入恶意命令以执行,就好像它们来自该用户一样.
但是,任何客户都不能不道德地行事并使用自签名证书等访问我的网站,自称是他们喜欢的任何人吗?
有点,是的。对于公共网站,任何人都可以打开 TLS 连接。如果您希望用户进行身份验证,则需要在顶部有一个登录机制,TLS 通常不会为您提供此功能(除非您使用的是上述客户端证书机制)。
但我最近想知道的是,该网站是否会以类似的方式从这笔交易中受益。
基本上,对服务器的好处是发送给用户的任何数据都只会被目标用户查看。例如,如果您向他们发送财务报表的副本,那么您的律师会很高兴听到这个消息。这也意味着从用户那里收到的任何数据实际上都来自该用户,而不是来自伪装成他们的攻击者。
如果您的合法用户有恶意行为,那么这是一个不同的问题,毕竟,您选择让他们访问系统。TLS(+您自己的登录框架)所做的是确保只有合法用户才能访问。他们对该访问所做的事情不是 TLS 的问题。