gpt4 book ai didi

windows - 如何在 Windows 中的进程之间传输敏感数据?

转载 作者:可可西里 更新时间:2023-11-01 09:57:08 25 4
gpt4 key购买 nike

我想将用户名和密码信息从一个进程传输到在 Windows 中同一服务器上运行的另一个进程。以安全方式实现此传输的最佳方法是什么?一种简单的方法是将密码复制到一个文件,然后让另一个进程从文件中读取,然后在读取后删除该文件。虽然这很简单,但我担心它是否安全,因为即使它只存在很短的时间,某人仍然有可能获得对该文件的访问权限,并且如果另一个文件也有可能被遗漏处理错误或崩溃。像套接字和命名管道这样的 IPC 似乎是解决这个问题的过度杀伤力。我更倾向于使用内存映射文件,如以下链接中所述,该链接讨论了跨进程共享内存。这是正确的方法吗?此外,在释放/删除之前用虚拟数据填充内存以防止恶意进程从该内存位置清除数据是否是个好主意?

http://msdn.microsoft.com/en-us/library/aa366551(VS.85).aspx

最佳答案

RPC 在这里是你的 friend (我不会使用命名管道来传输安全数据,因为它们有一些严重的问题(因为它们在全局命名空间中运行,因此容易受到抢注攻击))。

由于数据不是通过网络传输的,因此加密并不像一些人描述的那么重要。相反,让一个进程实现 RPC 服务器并让另一端绑定(bind)到该服务器,使用凭据发出 RPC 调用并销毁绑定(bind)句柄 - 这应该会拆除中间数据结构。

不要忘记在使用完内存后将内存安全清零(否则它可能会持久保存到磁盘)。

如果您确实想使用加密,请使用 CryptProtectMemory,它将以可用于 IPC 的方式加密数据。

关于windows - 如何在 Windows 中的进程之间传输敏感数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/983342/

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