快手、孩子王、华为等专家分享大模型在电商运营、母婴消费、翻译等行业场景的实际应用 了解详情
写点什么

MongoDB 发布可查询加密预览版,数据库历史上首次

  • 2022-06-17
  • 本文字数:2425 字

    阅读完需:约 8 分钟

MongoDB发布可查询加密预览版,数据库历史上首次

近日,MongoDB 发布可查询加密(Queryable Encryption)预览版,该系统支持客户从客户端加密敏感数据,将完全随机加密的数据存储在数据库服务器端,并对加密数据执行表达式查询。

 

据悉,可查询加密由 MongoDB 高级密码学研究小组设计,加密搜索领域的开拓者 Seny Kamara 和 Tarik Moataz 担任小组负责人。研究小组在密码学领域开展前沿同行评审研究,并携手 MongoDB 工程团队,将密码学和隐私方面的最近创新成果应用到 MongoDB 数据平台。


过去,用户往往会面临两难选择,要么选择保证数据安全,要么选择数据是可查询的,如今有了可查询加密,用户将不再需要“二选一”。据介绍,MongoDB 是目前唯一一家支持客户对完全随机加密数据执行表达式查询的数据库提供商,包括等值查询(预览版中可用)、范围查询、前缀查询、后缀查询、子串查询等(即将推出)。


MongoDB CTO Mark Porter 在接受采访时表示:“这在数据库的历史上是第一次,用户可以针对随机加密数据做到非常复杂的表达式查询,这是非常有意义的一件事。”他还透露,后续可查询加密会进行开源公布,包括算法和数据方面的一些成果。

为什么可查询加密是一项重要技术?


随着越来越多的企业将各类数据传输和存储到云端,数据安全变得愈加重要。具有高敏感工作负载的企业需要采用额外的技术方案,以控制和限制对机密和受监管数据的访问。对于许多企业和机构客户来说,合规部门规定对部分敏感工作负载采用职责分离原则。例如,在证券公司,分析师可以查询客户和股票数量信息,经纪人可以代表投资者进行股票交易,数据库管理员(DBA)负责管理数据等,在这种环境下,需要将证件号码(SSN)这样的敏感和个人身份信息(PII)完全隐藏。

 

遵守数据隐私和客户数据保护是企业需要重点关注的另一个领域。这既适用于使用数据的客户,也适用于为客户存储数据的供应商。数据隐私法规涉及到遵守行业内外与保护敏感数据有关的法律。确保遵守所有保护客户敏感数据的措施是关键的一步骤。个人健康信息(PHI)和个人身份信息等高敏感性信息是典型的需要数据隐私保护的信息。

数据安全的现状和挑战


尽管现有加密解决方案(传输中的数据和静态数据)涵盖许多监管场景,但都无法在敏感数据使用过程中对其进行保护。对于金融服务、医疗保健和关键基础设施企业等领域的客户来说,高敏感性工作负载往往需要采用能够对使用中的数据进行加密的技术。目前,此类技术面临的挑战包括:

 

  • 针对使用中数据的加密技术极其复杂,需要使用来自应用程序端的自定义代码,以便对数据进行加密、处理、筛选和解密,并将其提供给用户。此外,该技术还涉及到加密密钥管理,以便对数据进行加密和解密。

  • 开发者需要掌握一定的密码学经验,以设计出安全的加密解决方案。

  • 当前解决方案的查询功能有限,甚至有一些不具备查询功能,这导致应用层数据加密变得格外困难。

  • 在针对海量加密数据搜索时,部分现有工具(如同态加密或安全隔区)要么需要专有硬件、要么难以满足性能要求、或者加密的安全性难以保证,或者具有不确定的安全属性。 

可查询加密简介


可查询加密消除了繁重的维护任务,在不影响数据保护、合规性和数据隐私安全要求的情况下,提升了应用程序开发速度。



加密字段始终以密文形式存储、传输、处理、检索及查询

 

以下是一个操作流程示例,一位认证用户希望查询数据,如今用户可查询完全随机加密的数据。在本例中,假设我们正在检索用户的社会安全号码。

 

  1. 应用程序提交查询后,MongoDB 驱动程序首先分析查询内容;

  2. 当驱动程序识别出查询内容为加密字段时,会向客户指定的密钥管理服务发出加密密钥请求,例如 AWS 密钥管理服务(AWS KMS)、谷歌云密钥管理服务(Google Cloud KMS)、Azure Key Vault,或任何支持密钥管理互操作协议(KMIP)的密钥管理程序,如 HashiCorp Vault;

  3. 驱动程序将查询的加密字段以密文方式,提交给 MongoDB 服务器;

  4. 可查询加密采用一种快速、可搜索的方式,支持服务器在对数据一无所知的情况下执行完全加密数据查询流程。在此过程中,数据和查询信息本身在服务器中始终保持加密状态;

  5. MongoDB 服务器将加密的查询结果返回给驱动程序;

  6. 查询结果经过驱动程序密钥解密,并以明文形式返回给客户端。

可查询加密的优势


  1. 丰富的加密数据查询功能:MongoDB 据称是目前唯一一家支持客户对加密数据执行丰富查询表达式(包括范围查询、等值查询、前缀查询和后缀查询等,其中等值搜索查询功能在预览版中可用,其余搜索功能将在未来版本中发布)的数据库提供商。对于那些既需要执行表达式查询,又需要确保数据安全的客户而言,可查询加密可以同时满足他们的需求。

  2. 数据全生命周期加密:可查询加密为最敏感的数据增加了另一层安全保障,确保数据在传输中、磁盘存储中、内存处理中、日志中和备份中都安全无虞。此外,可查询加密支持在服务器端采用完全随机的方式加密数据。

  3. 更强大的关键数据隐私保护技术、更广泛的应用场景:借助强大的技术保护功能,客户可使用基于标准的加密技术来满足最严苛的数据隐私要求(包括数据保密性和数据完整性)。客户可以始终保持对加密密钥的控制,确保数据加密/解密操作仅限于客户端。这样,可确保只有获得客户端应用程序访问权限和加密秘钥的授权用户才能看到明文数据。以上强大的控制功能可以助力客户满足各种全球数据安全规范,如健康保险可携性和责任法案(HIPAA 法案)、通用数据保护条例(GDPR)和加州消费者隐私法案(CCPA)等法律规定的数据隐私要求。

  4. 提升应用程序开发速度:开发者无需具备专家级的加密经验,也可以以最高级别的机密性和完整性保护数据。不像采用软件开发工具包(SDK)开发,SDK 的设计选择错误,安全性就会随之降低。可查询加密提供了一种更全面的加密解决方案,其采用基于标准的加密技术并支持强大的密钥管理功能。配置过程简单,且可以通过常见的 MongoDB 驱动程序的直接实现。

  5. 降低制度风险:迁移到云端的客户可放心地将敏感数据存储在 MongoDB Atlas 中。可查询加密不仅支持客户始终控制数据的使用,同时还提供丰富的表达式查询功能,使客户可以查询完全随机的加密数据。

 

2022-06-17 13:114032
用户头像
蔡芳芳 InfoQ主编

发布了 798 篇内容, 共 543.2 次阅读, 收获喜欢 2786 次。

关注

评论 1 条评论

发布
用户头像
完全随机是什么意思啊

可查询加密支持在服务器端采用完全随机的方式加密数据。

2022-06-25 10:48
回复
没有更多了
发现更多内容

疫情之下,延期返工,我竟然“远程面试”了3家公司(备战春招)

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

测试经验| 音视频通话相关app如何进行测试

anyRTC开发者

软件测试 音视频 实时通信

揭秘阿里云 RTS SDK 是如何实现直播降低延迟和卡顿

阿里云视频云

阿里云 直播架构 直播技术 视频直播 视频云

Maven 项目执行的时候提示 JAVA_HOME is not correctly set 错误

HoneyMoose

原理分析!如何将springboot项目打成war包放入tomcat中运行

Summer

Java 学习 程序员 架构 springboot

FastApi-12-Form表单

Python研究所

FastApi 8月日更

巧用Python访问台达AS228交互

林建

Python Modbus协议 台达 AS228T

Stack Overflow 2021 开发者调查报告出炉,开发浪潮中的变与不变

清秋

语言 & 开发 文化 & 方法 Stack Overflow 开发者报告 编程语言排行

最全总结 | 聊聊 Python 数据处理全家桶(PgSQL篇)

星安果

Python 数据库 postgresql PgSQL

Flink CDC 2.0 正式发布,详解核心改进

Apache Flink

flink

JavaScript 之事件循环(Event Loop)

网易云信

U2Net基于ModelArts Notbook的仿真实验

华为云开发者联盟

开源 modelarts 目标检测算法 U2Net Notbook

Java Arrays.asList 和 new ArrayList(Arrays.asList()) 的对比

HoneyMoose

金三银四,如何远程面试拿下大厂offer?(附大厂面经+面试宝典)

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

疫情在家“闭关修炼”,读完这些Java技术栈,愿金三银四过五斩六

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

Jetpack Compose 架构分层

Changing Lin

8月日更

Fil价格今日行情?Fil有投资的价值吗?

区块链 分布式存储 IPFS fil fil价格今日行情怎么样

终于有人!把双十一电商秒杀系统高并发架构全部讲清楚了

Java 程序员 面试 高并发 计算机

【SpringCloud 技术专题】「原生态 Fegin」打开 Fegin 之 RPC 技术的开端,你会使用原生态的 Fegin 吗?(下)

洛神灬殇

SpringCloud OpenFegin Fegin 8月日更

什么是工控主机?工控主机安卓主板有哪些配置?

双赞工控

微博SDK初始化问题 please init sdk before use it. Wb.install()

mengxn

微博sdk

FunTester框架教程(一)

FunTester

教程 接口测试 API测试 测试框架 FunTester

Flutter Android 端 FlutterInjector 及依赖流程源码分析

工匠若水

flutter android 8月日更

20张图让你彻底掌握负载均衡的秘密

负载均衡 编程 程序员 计算机

更智能更高效!区块链打造更“美” 服装行业

旺链科技

区块链 服装产业

【Vue2.x 源码学习】第三十三篇 - diff算法-收尾+阶段性总结

Brave

源码 vue2 8月日更

解决安全漏洞扫描,就靠它了

百度开发者中心

产品 最佳实践 企业动态 百度安全

初识 C#

若尘

C# 8月日更

区块链钱包搭建,去中心钱包搭建,仿IM钱包

啃完这些Spring知识点,我竟吊打了阿里面试官(附面经+笔记

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

Ipfs排名前十的公司有哪些?怎么选择靠谱的ipfs公司?

区块链 分布式存储 IPFS fil ipfs公司

MongoDB发布可查询加密预览版,数据库历史上首次_数据库_蔡芳芳_InfoQ精选文章