【发布时间】:2016-10-12 00:27:09
【问题描述】:
我有一个简单的问题,我找不到简单的答案,可能是我遗漏了一些东西,或者我不知道某些网络概念是如何工作的。我想知道我不知道的事情。
简单来说,问题是虽然窃听是可能的,但服务器如何知道请求来自客户端,而不是窃听黑客。
场景:
无论我有什么安全策略,我都应该向客户发送一些东西。它可能是非对称加密令牌或某事。客户端没有私钥,因此无论客户端能够做什么,发送等,黑客都可以做,也可以发送。
保护 Web 应用程序背后的逻辑可能是什么。应该有一些只有客户知道的秘密。
顺便说一句,我正在学习 JWT,这是我第一次学习 auth。但是这个简单的问题是我仍然无法找到答案的问题。
【问题讨论】:
-
想象一个已经建立的到标准登录网页的 HTTPS 连接(连接是安全的)。黑客可以创建完全相同的连接。现在客户端可以登录 - 只有客户端知道凭据(一些纯文本“秘密”)才能继续。在这种情况下,服务器相信连接是安全的,并且基于提供的有效凭据相信客户端就是他们的身份。这与要求 SSL 客户端证书不同,后者将客户端真实性建立为 HTTPS 连接本身的一部分。无论如何,请参阅Key exchange。
-
(HTTPS 连接是通过密钥交换建立的,以提供共享密钥:这可以保护通道免受窃听者的侵害,但不足以证明客户端不是攻击者。每当客户端必须证明自己时,客户端必须知道(秘密)某事 - 或者在多因素身份验证的情况下,拥有(受控)某事 -可以验证。)
标签: security authentication web client-server