【发布时间】:2015-11-29 18:20:14
【问题描述】:
一点背景知识:我将构建一个网络服务器,当我开始着手时,它可能是最新版本的 apache。它将使用我拥有的临时安全系统的感官信息进行更新。
作为同行,我正在设计一个与之配套的应用程序,它将自动联系网络服务器并每 1.5 分钟提取一次感官信息。
我希望有一种身份验证方法,以便普通 Bob 看不到这些信息,这主要是因为服务器中也会有一些命令和控制。
问题:我觉得简单的用户名和密码是错误的方法,因为它不是动态的,理论上看到频繁发送的相同凭据可能很危险,所以有没有其他身份验证方法可以减轻这种情况?
问题pt。 2:显然我想要一个加密通道,如果它每分半钟都尝试重新协商,https会不会自己绊倒?
我还没有开始这个项目,更不用说选择任何语言来编写它了,这意味着我对建议非常开放,非常感谢任何帮助。
【问题讨论】:
-
1.对于http服务器来说,每隔一分半钟根本没有负载,那里的https没有问题。 2. 如果您想让事情真正安全(昂贵),或者您可以通过配置的 IP 地址限制请求,您可以在客户端证书上获取 llok,但这仅适用于静态地址。但最重要的是:你所描述的是一个相当大的项目。确定您意识到等待您的工作量有多大?
-
感谢您的回复。我想我已经掌握了这个项目的范围。我当然愿意付出努力,以尽可能少的成本确保它的安全。我之前做过一个类似的项目,但没有身份验证和安全性。
-
我考虑过从受信任的 IP 领域接近它,但由于它将在我的 android 上,这根本行不通。我能想到的唯一另一种方法可能是在同一台机器上设置一个 VPN 并通过本地主机联系网络服务器,但这肯定会变得很麻烦,坦率地说,我不知道如何从安卓客户端。我还没考虑过客户端证书,为什么说贵呢?
-
问得好,我不得不承认我的经验有限。我写了“昂贵的”,因为需要对证书进行签名才能有意义,并由受信任的机构签名。这就是为什么您通常需要付费才能正确设置 https 服务器的原因。我假设您还必须为每个客户端证书付费,因为每个客户端证书都必须在创建后进行签名。但是我越想越同意这不是真的:您可以创建自己的 CA 并自己签名。由于您了解 CA,因此您可以信任它。这与 https 示例不同...
-
但是,这样的客户端证书不应该是唯一的身份验证方式,因为证书可以被复制和窃取而不会引起注意。所以是的,它们提供了一个优雅的选择来提高安全性和识别客户,但它们不应该被高估。
标签: security authentication web-applications https