Web applications 如何为web应用程序执行PGP

Web applications 如何为web应用程序执行PGP,web-applications,cryptography,pgp,Web Applications,Cryptography,Pgp,我有一个文本处理服务。目前,它没有任何类型的加密(SSL除外)保护。因为它收集了大量的用户数据,所以我需要实现一些安全权衡决策。这就是我认为这种[非对称]简化的密码可能的样子 单独的数据库层。应该只存储加密的私有数据,而不存储其他内容(没有私钥,没有公钥) 微服务。我的服务被大约10个主要独立的微服务划分。当用户存储数据时,数据被当前微服务实例的公钥加密并存储在数据库层。Microservice不应将其私钥存储为纯文本。私钥应该通过请求(通过用户http请求)使用运行时令牌从密钥服务器请求的密钥

我有一个文本处理服务。目前,它没有任何类型的加密(SSL除外)保护。因为它收集了大量的用户数据,所以我需要实现一些安全权衡决策。这就是我认为这种[非对称]简化的密码可能的样子

  • 单独的数据库层。应该只存储加密的私有数据,而不存储其他内容(没有私钥,没有公钥)
  • 微服务。我的服务被大约10个主要独立的微服务划分。当用户存储数据时,数据被当前微服务实例的公钥加密并存储在数据库层。Microservice不应将其私钥存储为纯文本。私钥应该通过请求(通过用户http请求)使用运行时令牌从密钥服务器请求的密钥进行解密
  • 密钥存储。它保留微服务的私钥解密密钥,并且只能在专用网络中访问。当microservice(2)启动时,它在密钥存储中使用经过验证的运行时令牌进行身份验证,并获得手动批准,并获得对私钥解密密钥的访问权。每次都会记录这些按键尝试

  • 这些方法能否帮助我确保用户的私人数据基本安全?

    这一切都很好,但其有效的安全性完全取决于密钥存储的安全性。坦率地说,我看不出使用这样的存储微服务与将密钥存储在磁盘上(如果它被存储的话)之间有什么真正的区别。那么,为什么要这么努力呢?在我看来,如果私钥根本没有存储,而只是根据请求动态提供,这是有道理的。这意味着入侵您的系统将不允许解密数据,这在您的方法中肯定是可能的。这一切都很好,但其有效的安全性完全取决于密钥存储的安全性。坦率地说,我看不出使用这样的存储微服务与将密钥存储在磁盘上(如果它被存储的话)之间有什么真正的区别。那么,为什么要这么努力呢?在我看来,如果私钥根本没有存储,而只是根据请求动态提供,这是有道理的。这意味着入侵您的系统将不允许对数据进行解密,这在您的方法中肯定是可能的。