【发布时间】:2011-12-06 05:36:16
【问题描述】:
在我正在进行的当前项目中,我们遇到了以下问题。
我们的软件是一个基于位置的服务平台,应用程序可以使用 SOAP 通过我们公开的网络服务连接和使用我们的服务。到目前为止,我们的平台仅由内部应用程序使用,但现在我们希望将其开放给第三方应用程序。为此,我们需要一种身份验证机制。
由于我们客户的基础设施和负载平衡解决方案,我们无法使用 HTTPS。最初的想法是应用程序可以只使用 HTTPS 并发送我们验证的密码。
下一个解决方案是: 应用程序有密码。应用程序生成一个随机字符串(盐)并创建一个散列。然后应用程序创建一个发送哈希、盐和时间戳的 HTTP 请求。这三个足以让我们进行身份验证,因为我们可以生成相同的哈希并进行比较。
我的问题是,为此我们需要将密码以明文形式存储在我们的数据库中,因为我们需要使用给定的 salt 执行相同的过程,以便我们可以比较结果并验证应用程序。以明文形式存储密码是不可接受的。
您知道任何适合这种情况的身份验证/访问控制机制吗?一般来说,您知道有关应用程序身份验证/访问控制机制的任何好书/资料吗?
非常感谢任何帮助。提前致谢!
【问题讨论】:
标签: security authentication hash cryptography