在uri中存储加密信息是个好主意吗?

问题描述

在Web后端服务器中,我要设计图像/视频uri模式,这也是从对象存储中获取文件内容的关键。

我的想法是连接UUID和一些重要的加密文件信息,例如{UUID}_{encrypted_info1}_{encrypted_info2}.jpg,例如Efr5YlfUwAYDdBs_jJFKfda_fdjaJFD1fd.jpg

原因是:

  • “ UUID”是唯一性
  • “一些重要的加密文件信息”是因为无需MysqL DB即可访问这些信息,这有助于提高性能

那么这是一个好主意/设计吗?

解决方法

我个人不推荐这种架构:

  1. 攻击的表面:不要在不需要时将加密信息公开给公共渠道。在安全方面,您必须始终从多层防御的角度来考虑,它们都不是100%安全的。
  2. 动态密钥:您没有使用动态密钥。使用加密,您必须始终考虑有一天您的密钥将被泄露的情况(这就是TLS或IPSEC协议协商临时对称密钥的原因)。就像雇员离开公司而不再应该再解密数据一样简单。
  3. 耦合资源位置/数据模型:如果在数据库中更新了“重要文件信息”怎么办?您怎么知道给定文件的信息仍是最新的?