首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库安全-加密和搜索

数据库安全-加密和搜索
EN

Security用户
提问于 2020-01-07 18:24:44
回答 1查看 223关注 0票数 3

我对密码学完全陌生,但我一直试图使自己熟悉这些概念和应用程序。我有一个项目,我相信密码学是有益的。

项目信息:

DB = MySQL 5.6

引擎= InnoDB

我的应用程序将驻留在网络防火墙后面的intranet web服务器上,它有一个非常小的白名单。此应用程序的用户很少能够从数据库中添加/删除值。更多的用户将能够读取这些值。我希望加密的值可以包括:

  • 电子邮件
  • 帐号
  • 路径
  • 日期
  • 唯一ids

最大的表(S)将有多达15万份参赛作品,总交易额可能保持在100点以下。

作为一个intranet站点,我假设(安全知识有限)我的主要威胁将是恶意用户、硬件盗窃和来自内部或外部源的持久XSS。我正在尽我最大的努力来减轻所有这些。

做一些研究,如何加密我的数据,同时允许搜索,留给我一些选择(请纠正错误的信息);

  • CipherSweet盲索引:需要库,可能过高,可能出现错误
  • MySQL AES_ENCRYPT/DECRYPT:如果日志被破坏,纯文本值也会受到损害
  • 应用程序端:运行时“噩梦”,负载很重,可能会导致多个线程运行时出现问题。

问题

  1. 虽然应用程序端的加密/解密实践很糟糕,但对于我的环境来说,应该接受吗?
  2. 对于我的数据集,CipherSweet出现假阳性的可能性是否可以忽略不计?
  3. 在我的环境中,让MySQL处理加密/解密是可以接受的(忽略硬件盗窃或服务器破坏)
  4. 奖金-考虑到我的环境,我应该担心外部的XSS吗?

我明白这个问题可能属于讨论范畴,如果是这样的话,请告诉我在哪里可以找到更多的资料,以缩小我的问题范围。

编辑

我现在还在探索使用CryptDB或TDE的可能性。

编辑2

我正在使用MySQL Community,所以我似乎无法使用TDE,除非有一种方法可以专门获取这个特性。继续研究其他选择。如有任何信息,将不胜感激。

为我的操作系统编辑3,我想我不能像在它的文档中那样使用CryptDB,它说:

  • 要求:>Ubuntu12.04,13.04;没有在不同的操作系统上进行测试。
EN

回答 1

Security用户

回答已采纳

发布于 2020-01-08 00:38:30

对于您提到的威胁,数据库加密并不是真正必要的。

  1. 恶意用户的定义过于宽泛。你预期会有什么威胁?例如,如果您所指的威胁是用户找到了在应用程序中获得比您分配的权限更多的权限,或者是用户可以将其冒充为其他用户的威胁,那么他将得到应用程序提供给他的数据,即未加密的数据。使用数据加密的数据库不会改变任何事情。
  2. 持久的XSS保护与数据库加密无关。如果您的XSS保护失败,那么应用程序将执行XSS触发的恶意操作,就像用户的任何其他操作一样。数据库是否加密并不重要。
  3. 硬件盗窃更复杂。如果攻击者可以启动操作系统,如果文件系统不受保护,则攻击者可以插入恶意代码或破解应用程序代码,启动应用程序并通过应用程序访问加密数据,甚至可以通过数据库API直接访问数据。我建议您使用加密的文件系统,并使用密码保护引导(从而解密)。当您创建备份(数据库、配置,可能是日志)时,也要对它们进行加密。然后,加密DB的使用将不会提供更多的额外安全性,而它将花费您很大的开销。这就是为什么你可以使用任何正常的数据库。
票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/223827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档