gpt4 book ai didi

security - 本地主机上的 TCP 连接是否安全?

转载 作者:可可西里 更新时间:2023-11-01 02:32:24 25 4
gpt4 key购买 nike

我正在设计一款 ATM 软件,我想将必要的加密操作隐藏在“加密守护程序”的后面,它访问磁盘上的加密 key ,并为这些操作提供一个高级的、特定于应用程序的接口(interface)。

其他程序必须:

  • 向守护进程进行身份验证(有效的身份验证允许守护进程解密磁盘上的 key )
  • 向守护进程发出命令并接收响应

我有通过本地主机使用 TCP 进行这些操作的想法。完成 TCP 握手后,程序必须向守护程序进行身份验证,如果成功,则可以向守护程序发出加密命令。

真题

至少有两个假设必须成立,否则这在设计上是不安全的:

  1. 本地主机上的 TCP channel 不能被劫持/修改(管理员/root 除外)
  2. localhost 上的 TCP channel 是私有(private)的(无法窥视)(admin/root 除外)

这些假设是否正确?为什么?为什么不?还有什么问题吗?

最佳答案

环回连接通常不会受到中间人攻击(来自同一机器上的其他非根进程,或来自机器外)。

如果您打算使用环回作为穷人的传输安全(而不是 TLS),您将必须确保连接的两端都受到适当的保护:

  • 在客户端,未经授权的低权限进程被允许连接到服务器的后果是什么?如果客户端访问受明文密码保护,您可能会考虑对该密码进行暴力攻击,并通过密码复杂性和失败审计来解决这个问题。

  • 在服务器端,是否可以想象低权限进程导致服务器终止(例如,由于格式错误的输入或资源耗尽而导致服务器崩溃),并用窃取密码的特洛伊木马监听器替换它来自客户或返回误导性结果?您可能会考虑使用 Unix 的低端口号保护来阻止这种情况(但是您必须担心以 root/setuid/fork 运行)。

这取决于您的威胁模型,您对防止本地访问的关注程度;您可能认为您的红外线安全和监控足以抵消攻击者获得低权限帐户的情况。但在一般情况下,您最好还是硬着头皮使用众所周知的 TLS 解决方案。

关于security - 本地主机上的 TCP 连接是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17816577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com