当前位置: 首页 > 知识库问答 >
问题:

后端 - 如何做到真正的服务端加密存储,仅用户客户端解密后使用?

桂梓
2023-10-12

我现在是弄一个小程序,用户会添加非常敏感的安全信息,目前是用户端添加敏感数据时使用他的union_id和固定的key作为加解密密钥,然后再AES加密后再提交到服务端,然后下次请求服务器返回加密数据后解密再使用。

这里存在一个问题,如果有黑客拿到了我的数据库,和我的算法,然后就可以解密出用户的敏感数据。因为用户union_id是会记录到服务端数据库,客户端固定的key也是可以扒到。

有什么方案可以做到真的的加密云端存储,除了用户自己,其他人完全无法解密数据呢,包括我自己也无法查看用户的敏感数据?

跪求各位大佬推荐一个方案

共有3个答案

华献
2023-10-12

用端到端加密方法:在客户端生成一个密钥对,然后里面有公钥和私钥。公钥发给然后存起来。私钥永远不会离开用户的设备。 用户要加密数据时候,用他们的私钥来加密,然后再把加密后的数据发送到服务器。 要访问或解密数据时候,从服务器下载加密的数据,然后用客户端的私钥来解密。

郝玄天
2023-10-12

用户设定自己的密码,只保存在本地,每次传输都只传输加密后的数据。

左丘涵畅
2023-10-12

我能想到的一个办法,就是用户还要自定义一个密码,用这个密码作为AES加密的盐

 类似资料:
  • 我正在尝试像这样在客户端加密一个字符串 我试着在服务器端像这样解密。我正在使用jersey公开一个web服务。 AysmetricKeyCryptography类如下所示 当我在AsymetricKeyCryptograph类中运行main方法时,我得到了一个正确的结果,但是当我通过发送加密字符串调用Web服务时,它会抛出一个异常: 我不明白我哪里出错了

  • 我使用。NET Core2.0和ASP.NET Core2.0进行应用程序开发。“测试”应用程序是一个。NET核心控制台应用程序。我正在编写的核心代码是一个类库。一旦适当的测试。我选择这样做是因为我暂时不会使用它(它正在替换旧的ASPNET代码)。 无论如何,由于我必须处理各种服务的大量API密钥,所以我决定使用Microsoft Azure Key Vault来存储密钥。我有这一切设置,并理解这

  • 我有一个欧盟存储帐户(v1)和一个欧盟密钥库。我在保存和检索blob时进行客户端加密。加密/解密在这种情况下工作。 null 多谢了。

  • 问题内容: 我有一个客户端数据存储在localStorage中。出于安全原因,我要加密数据。有什么方法可以使用Angularjs加密/解密客户端数据(而非服务器数据)? 问题答案: 您可以使用cryptojs库对数据进行加密/解密。首先,您应该生成一些密钥以用于加密过程: 然后,您需要存储和声明数据的方法: 这里唯一的问题是秘密密钥存储在客户端,这是这种加密的一种破坏逻辑。

  • 我使用DynamoDB Encryption Client(Item Encryptor)(Lib Link)加密记录。现在我想解密它。我已经阅读了文档和GitHub页面,没有示例,所以很难弄清楚我弄错了哪部分。 这是DynamoDB事件的“新图像”。关键是“ID”。DynamoDB流记录 我尝试过: 使用decrypt\u dynamodb\u项- 使用ddb\u to\u dict,然后使用d

  • 问题内容: 我正在开发客户端/服务器身份验证程序,但是遇到了问题。客户端可以很好地与服务器建立连接,但是一旦我输入密码和用户名,它就不会返回有效的用户名/密码。如果用户使用正确的用户名/密码服务器登录,则应返回“ Welcome,username”,如果无效,则返回“登录失败”。我查看了printwriter和bufferedreader文档,以确保我使用正确的方法在服务器/客户端之间正确传递文本