【发布时间】:2023-06-24 23:28:01
【问题描述】:
我想将我的用户的私钥安全地存储在单独的服务器上(我们称之为 B),它用于签名、解密信息。 B 将密钥存储在数据库 (postgres) 中。服务器 A(公开)向 B 发送信息。理想情况下,B 需要获取私钥,使用 信息 对令牌进行签名并将其发送回 A。而不是将私钥发送给 A,这可能是一个安全问题(如果服务器 A 受到威胁)。
我的选择是:
问题:
- 还有其他选项可以安全地与两台服务器通信吗?
- 如果服务器 B 位于端口“7000”上,我如何确保只有服务器 A 可以访问它?
- 在我的情况下,HSM 服务器如何提供帮助以及它如何与其他服务器(websocket 或 https 请求)通信?
我可以采取简单的路线,在端口“7000”上连接服务器 B 的数据库,然后从 A 运行查询,但正如我所说,它并不安全。我听说 HSM 处理/解密信息并将其发回,所以我虽然可以对普通服务器做类似的事情。
感谢任何帮助,将不胜感激
更新
@zaph 已回答问题 2 和 3。
问题:服务器A是否需要做一个https请求并包含服务器的私有ip地址B,例如https://203.0.113.25?然后服务器 B 将使用 API 路由器 来处理请求。但是 ip 不是 DNS,因此由于证书原因它无法工作。那么服务器如何通信、发送/接收数据呢?
参考:http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario3.html
【问题讨论】:
-
第二季度。不要将服务器 B 连接到 Internet,使用服务器 B 与服务器 A 上的第二个以太网端口之间的直接以太网连接。这种方式使服务器 B 像一个没有防篡改功能的 HSM。
-
@zaph haha,谢谢 tamper-resstance 是我需要的 :) 如果使用 HSM,服务器 A 是否需要特别/不同地配置?除了防篡改之外,它还有其他特殊功能吗?您将如何将信息存储在 HSM、内存或数据库中?
-
下方投票者评论...
-
没有特定于服务器 A 的内容,服务器 B 必须是完全安全的,或者尽可能安全,必须仔细控制访问,至少 2 因素身份验证。但真正的第一步是创建一个威胁模型,什么是有风险的,以及对包括攻击者在内的各方的价值。您在时间、技能和资源方面要防御的攻击者的能力:一个好奇的青少年到一个资助良好的民族国家。您无法创建 100% 的安全性,因此您需要定义所需的内容。
-
再说一次,我无能为力。
标签: security amazon-web-services networking amazon-ec2 hsm