开发者社区> 问答> 正文

加密的数据库查询

我刚刚发现了关于Stack Overflow的信息,我只是在检查是否有与项目中的一些朋友一起遇到约束的想法,尽管这更多是我一直在尝试找到的理论问题一个答案一段时间。

我不太喜欢密码学,但是如果我不太清楚,我将尝试编辑/评论以澄清任何问题。

简而言之,环境是这样的:

前端用于访问加密/解密密钥,后端用于存储和查询的应用程序。

例如,拥有一个您无法访问几个字段的数据库,让我们说“地址”,它通常是文本/ varchar。

您无权访问用于解密信息的密钥,并且所有信息到达已加密的数据库。

主要问题是这样的事情,如何在数据库中一致地进行查询,所以不可能执行“诸如'%F§YU/´〜#JKSks23%'之类的地址”之类的事情。(如果有人有答案,请随时射击)。

但是可以where address='±!NNsj3~^º-:'吗?还是会完全吞噬数据库?

可能适用的另一个限制是,前端没有太多可用的处理能力,因此已经加密/解密的信息已开始将其推向极限。(这样做只是为了避免诸如“将表的连接导出到前端并在那里查询”之类的答复。)

有人可以指出我继续思考的方向吗?

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 17:19:29 585 0
1 条回答
写回答
取消 提交回答
  • 4

    您可以按照描述的方式进行操作-例如,有效地查询哈希,但是并没有多少具有该要求的系统,因为在那一点上,安全性要求正在干扰系统的其他可用要求-即,没有部分匹配,因为加密排除了这种情况。压缩也是同样的问题。多年前,在非常小的环境中,我不得不先压缩数据,然后再将其放入数据格式。当然,不能轻易地搜索这些字段。

    最终,在更典型的应用程序中,密钥将可供链中某人(可能是Web服务器)使用。

    对于最终用户流量,SSL保护该管道。某些网络交换机可以在Web服务器和数据库之间保护它,并且可以在数据库中存储加密的数据,但是您不会像这样查询加密的数据。

    一旦数据显示出来,就可以在计算机上使用它,因此任何通用计算设备都可以在这一点上被规避,并且您的应用程序之外还具有外围防御功能。

    2019-11-18 17:20:30
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载