我有一个MySQL数据库表,其中包含一些需要搜索的加密数据(使用不同密钥加密的不同子集)。如果用户经过身份验证并且具有授予某个子集的访问权限(因此具有加密数据的密钥),那么他们如何搜索表的子集?即不仅是EncryptedKey =
,还有EncryptedData LIKE
和其他条件?
数据以以下格式存储:
+--------+----------+--------------+---------------+---------------+
| DataID | SubsetID | EncryptedKey | EncryptedData | EncryptedAttr |
+--------+----------+--------------+---------------+---------------+
| 1 | 1 | xxxxxxxxxxxx | xxxxxxxxxxxxx | xxxxxxxxxxxxx |
+--------+----------+--------------+---------------+---------------+
| 2 | 1 | xxxxxxxxxxxx | xxxxxxxxxxxxx | xxxxxxxxxxxxx |
+--------+----------+--------------+---------------+---------------+
| 3 | 1 | xxxxxxxxxxxx | xxxxxxxxxxxxx | xxxxxxxxxxxxx |
+--------+----------+--------------+---------------+---------------+
| 4 | 2 | xxxxxxxxxxxx | xxxxxxxxxxxxx | xxxxxxxxxxxxx |
+--------+----------+--------------+---------------+---------------+
我还没有决定使用加密套件,而我正在考虑使用数据库服务器本机。