encryption - 您使用什么系统为一群人加密文件(首选与操作系统无关)?

标签 encryption pki

假设您有一堆文件。 假设您可以将元数据存储到这些文件中。 比如说,这些元属性之一称为“加密” 假设每个人都可以查看这些文件,但由于它们是加密的,只有知道如何解密它们的人才能真正读取内容。 比如说,对于每个给定的“加密”值,一群人共享有关如何解密标有该值的文件的知识。 假设您希望能够以与操作系统无关的方式(如果可能)以编程方式执行此操作

您将使用哪些值来“加密”? 您将如何存储 key ? 您将如何组织对 key 的访问?

我目前倾向于以下实现:

  • “加密”字段的值包含 key 的名称,也可能表示所使用的算法
  • 每个用户都可以访问一组 key 。这可以通过用户在类似 LDAP/ActiveDirectory 的结构中所具有的角色来定义,也可以只是用户配置文件/主目录中安全目录中的文件。
  • 在查看文件时,查看器(我正在尝试构建文档管理系统)会检查用户 key ,如果找到匹配的 key 则解密文件。

您会使用什么加密?对称(AES)?或者不对称(什么是好的)?

使用非对称 key 还有一个额外的好处,可以区分读取文件和写入文件:写入文件需要访问私钥,访问公钥(仅半公开,因为只有某些角色)有权访问它)将允许读取该文件。我是不是完全搞错了?

中小型企业使用哪些常见系统来解决这些问题?

编辑:似乎没有通用的解决方案。因此,我将更清楚地说明我试图解决的问题:

想象一个以分布式方式运行的文档管理系统:每个文档都被复制到(公司控制的私有(private))P2P 网络中的各个节点。使用确保文档冗余的算法来确保所有文档(包括修订版)的备份。该系统在后台作为服务/守护进程运行,并来回铲除文档。

这意味着,用户最终会得到可能不适合他们在本地工作站(公司控制的 PC 或笔记本电脑或其他东西)上看到的文档 - 设置是由中小企业 IT 人员设置并控制这一切谁是 P2P 网络的一部分)。

这排除了基于目录访问的方案,因为用户可能能够访问数据。我这里是不是搞错了?是否可以对本地文件夹进行加密,使其只能由域用户访问?这有多安全?

我知道用户共享文件的解密版本 - 这在技术上很难抑制。这不是我想要解决的问题。

最佳答案

这里,加密并不是困难的部分。了解业务需求,尤其是您要防范哪些威胁,是最困难的部分。 key 管理不是一件小事。

强烈推荐《Applied Cryptography》这本书,帮助你更好地理解协议(protocol)层的问题。

关于encryption - 您使用什么系统为一群人加密文件(首选与操作系统无关)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/184265/

相关文章:

ios - 如何测试 Core Data SQLite 文件是否加密?

amazon-web-services - 即使我没有在客户端上明确保存实例的公钥,ssh 如何连接到 aws EC2 实例?

android - Android 的 Sqlite 加密

java - 如何在 Java 中使用 AES 加密数据

c# - 从 CngKey 或 X509Certificate(2) 实例生成 CSR

ssl - 使用新 SSL 证书时出现 "tlsv1 alert unknown ca"错误

c - 加密解密错误(一次性一密加密)

linux - 如何从 .key 文件中提取公钥和私钥?

java - 如何使用 native Java 创建证书签名请求

ssl - gRPC 是否在 TLS 握手期间检查 CRL/OCSP 响应程序?