0

我有两个系统(A 和 B),我需要使用 Web 服务相互集成,所以我正在考虑实施以下安全机制:-

  1. 系统 B 将向系统 A 发送一个包含用户名和密码的请求,要求提供一次 64 字符的密码。

  2. 系统 A 将向系统 B 发送一个包含 64 个字符的一次性密码。

  3. 系统 B 将使用 64 个字符的密码调用系统 A Web 服务。

  4. 系统 A 将检查 64 字符密码是否有效。

  5. 系统 A 将响应系统 B 的请求。

  6. 系统 A 将从有效密码中删除 64 位密码(因此,如果系统 B 或其他系统使用先前生成的 64 字符密码调用系统 A Web 服务,则调用将失败)

  7. 系统 A 将生成一个新的 64 字符密码,并在需要时将其发送给系统 B。

  8. 系统 B 使用新的 64 位密码调用系统 A Web 服务。

所以我的问题是这种方法是否安全,我将在 https 下实现两个系统之间的通信。此致

4

1 回答 1

1

有许多安全因素需要考虑。所以让我们开始吧:

  • 两个系统都可以公开访问吗?
  • 两个系统 WS 都可以公开访问吗?
  • 你想实现 encrypton 吗?在运输或访问控制中?

据我所知,我认为您的系统 WS 不可公开访问,假设代理包含某种证书身份验证作为额外的控制层,以及某种形式的访问控制列表来限制客户端系统的 IP 范围。

第二件事是您可能想做某种访问控制而不是加密,即用户A可以查看文档aaab,您的系统 A 知道这些规则,但系统 B 不知道,但他拥有实际数据。

分析您的协议 如果系统 A 针对系统 B 进行身份验证并获得有效的 OTP,则需要考虑一些事项

  • 这种 otp 的有效期是多久?
  • 你将如何提供唯一性?
  • 它们会依赖于上下文吗?

所有这些都是必需的,因为您不希望普通用户替换数据标识符并使​​用有效的 OPT 访问他/她不应该访问的东西。安全性是一个棘手的主题,我推荐罗斯·安德森(Ross Anderson)的安全工程和迪特·戈尔曼(Dieter Gollman)的计算机安全作为初学者:)。

于 2012-11-26T18:38:41.053 回答