百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

MongoDB为数据安全提供覆盖全生命周期的保护

itomcoil 2025-02-24 16:48 5 浏览

MongoDB可查询加密(Queryable Encryption)由MongoDB加密研究小组(Cyptography Research Group)开发,是具有突破性意义的业界首创技术。该技术允许客户对应用中的敏感数据进行加密,不但可以将其以加密状态安全地存储在MongoDB数据库中,还可直接在加密数据上执行等值查询和范围查询,且无需具备加密专业知识。在原有可查询加密技术中增加了范围查询,进一步增强了数据检索功能,使搜索更加灵活和强大。目前,可查询加密在MongoDB Atlas、企业高级版(Enterprise Advanced)和社区版(Community Edition)中均可用。


覆盖数据安全全生命周期的加密技术

企业要确保对于敏感数据的保护并符合各种相关法律法规,如欧盟的《通用数据保护条例》(GDPR)等,加密技术至关重要。这涉及将数据转换为任何没有解密密钥的人都无法读取的形式。加密可以通过三种方式保护数据:传输中(通过网络时)、静态(存储时)、使用中(处理期间)。传输中和静态数据的加密是所有数据库的标配(MongoDB也不例外),但使用中的数据加密却带来了独特的挑战。

对于使用中数据的加密之所以困难,是因为加密后的数据不可读,看起来像是一串随机的字符和符号。传统上,数据库无法直接对加密数据进行查询,而必须先将其解密为可读形式。然而,如果数据库没有解密密钥,它就必须将加密数据发送回拥有密钥的应用程序或系统(如客户端),以便在查询之前进行解密。很显然,这种模式在实际应用中不具备扩展性。

这使企业陷入两难境地:对使用中数据的加密在数据隐私保护和法规合规性方面至关重要,但却难以实现。过去,公司要么选择不对使用中的敏感数据进行加密,要么采用安全性较低的变通方法,而后者会导致操作变得更加复杂。

MongoDB可查询加密:保护使用中的数据,且不影响效率

MongoDB可查询加密解决了这一难题。它允许组织对敏感数据(如个人身份、医疗信息等)进行加密,并能够在不解密的情况下直接对这些数据执行等值查询和范围查询。

可查询加密由MongoDB加密研究小组(Cyptography Research Group)开发,得益于团队成员所具备的密码学和加密搜索领域领先的专业知识,已经通过了全球顶尖密码学专家的同行评审。让MongoDB独特于业界其他厂商的是,MongoDB是目前唯一一个允许客户直接在非确定性加密数据上运行复杂查询的数据平台。客户可以因此获得突破性的优势,能够对敏感数据进行表达式查询,在不牺牲运营效率或开发者生产力的同时,为敏感数据提供强大的保护。

各行各业、各种规模的组织都能从可查询加密带来的显著成果中受益,例如:

· 数据保护更强:数据在传输、存储和使用中的每个阶段都保持加密状态,从而降低了敏感数据泄露或被攻破的风险。

· 增强法规合规性:通过确保数据在每个阶段都进行加密,为客户提供遵守如GDPR等数据保护法规所需的工具。

· 简化操作:无需昂贵的定制解决方案、专业的加密团队或复杂的第三方工具,即可简化加密过程。

· 明确的职责分离:支持更严格的访问控制,甚至MongoDB和客户自身的数据库管理员(DBA)都无法访问敏感数据。

MongoDB可查询加密的使用场景

MongoDB可查询加密可广泛用于各类需要对敏感数据进行保护的组织,不论其所在行业和规模大小。而且,可查询加密新增了对范围查询的支持,这进一步扩大了使用场景。以下为部分示例,用以说明可以如何使用可查询加密来保护和查询敏感数据:

· 金融服务

o 信用评分:通过查询加密数据(如信用评分和收入水平)来评估信用度。例如,根据信用评分在某个分数范围内的客户来进行客户细分。

o 欺诈检测:通过查询加密的交易金额,查找超越一般消费模式的异常值,如交易金额超过10万元的交易,以此来检测欺诈行为。

· 保险

o 风险评估:通过查询加密的客户数据,在指定范围内查找风险等级,从而个性化提供保险建议,提升客户服务质量,同时不披露敏感信息。

o 理赔处理:通过查询加密的理赔数据,查找金额在特定范围内或特定时间段内的理赔案件,实现理赔处理自动化,在简化操作流程的同时保护信息安全。

· 医疗健康

o 医学研究:对加密的医疗记录执行基于范围的搜索,例如查询特定年龄段内的患者或医学研究中异常的实验室结果的加密数据集。

o 账单和保险处理:对加密的账单数据执行安全的范围查询,以处理保险索赔和支付,同时保护患者的财务信息。

· 教育

o 评分系统:处理加密的学生分数,以在特定范围内评定分数等级,保护学生隐私并维护数据安全。

o 经济资助分配:分析特定范围内的加密收入数据,以确定学生是否符合奖学金、助学金的资格。

保护数据安全生命周期的每一个环节

MongoDB可查询加密技术,可以为敏感数据在其整个生命周期内(无论是在传输、静态还是使用中)提供无与伦比的保护。现在,通过增加对范围查询的支持,MongoDB可查询加密技术更好地满足了现代应用程序的需求,并解锁了新的使用场景。如需了解更多信息,可登录查阅MongoDB可查询加密网页。

相关推荐

MySql安装与使用

介绍mysql是目前最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件...

使用AI来搭建一个用户系统,步骤应该是怎样的呢?

我给AI的第一个问题是这样的:创建一个java21+springboot3.4+mysql21的一个用户系统,需要使用JWT,支持多语言,使用swagger,这个用户系统都应该包含哪...

Mysql 8.4数据库安装、新建用户和数据库、表单

1、下载MySQL数据库yuminstall-ywgetperlnet-toolslibtirpc#安装wget和perl、net-tools、libtirpcwgethtt...

介绍如何在 MySQL 中创建新用户并授予权限?

MySQL是一个开源的关系型数据库管理系统,常用于存储和管理大量的结构化数据。在使用MySQL进行数据管理时,为了安全和方便管理,通常需要创建新用户并授予相应的权限。本文将介绍如何在MySQL...

Mysql创建用户和权限管理

MySQL是一个多用户的数据库,最高权限管理者是root用户,它拥有着最高的权限操作。包括select、update、delete、update、grant等操作。如果有其他用户想使用MySQL,那么...

Mysql:创建用户详解

1、创建并授权用户--创建可从任何主机连接的用户CREATEUSER'myuser'@'%'IDENTIFIEDBY'mypassword'...

Python 实现【字符匹配】

defis_match(s,pattern):m,n=len(s),len(pattern)dp=[[False]*(n+1)for_inrange...

Python自动化:openpyxl工作簿、工作表相关操作

新建工作簿、工作表importopenpyxl#创建空白工作簿,会自动生成一个工作表:Sheetwb=openpyxl.Workbook()#新建工作表#create_sheet...

python每日一练之三数排序

概述今天主要分享一个三树排序的实例,大家可以自己测试玩一下~需求输入三个整数x,y,z,请把这三个数由小到大输出。方法一:如果是要练练手就随便找个排序算法实现一下#usr/bin/python#...

Python输出语句print()

Python中的输出语句主要通过内置函数print()实现,它可以灵活输出文本、变量、表达式结果等内容到控制台或其他文件。以下是详细介绍及示例:一、print()基本语法print(*object...

Python设置excel表格格式,这3个属性6个模块,要表格好看

前言:通过前面两篇文章,我们用Python处理excel数据得到了结果并保存了文件。打开文件会发现,文件里表格是没有设置格式的,还需手动调整行高列宽等样式,很麻烦。其实,通过Python库模块,能轻松...

python入门-day5-循环语句

以下是为“Day5:循环语句”设计的详细学习任务计划。这个任务旨在帮助初学者掌握Python中的循环语句(for和while),并通过实践理解它们的应用场景。Day5:循环语句学习目标...

Python基础编程必备!涵盖常见语法与操作的代码示例合集

以下是一份Python基础代码示例合集,涵盖了常见的语法和操作,适合初学者快速掌握基本编程概念:1.基础语法python#打印输出print("Hello,World!")#变...

Python循环语句实用教程

一、循环基础1.while循环基本语法:while条件表达式:循环体代码while循环流程图:应用示例:#简单计数器count=0whilecount<5:...

在 Python 中如何向一个已排序的数组(列表) 中插入一个数呢

在Python中如何向一个已排序的数组(列表)中插入一个数呢?方法有很多种,关键在于原来数组是什么样的排序,用到啥排序方法效率高,就用哪种。我们来练习其中的几种插入方法,另外也掌握下遍历数组的...