CN110489971A - 安全的数据集管理 - Google Patents

安全的数据集管理 Download PDF

Info

Publication number
CN110489971A
CN110489971A CN201810462520.2A CN201810462520A CN110489971A CN 110489971 A CN110489971 A CN 110489971A CN 201810462520 A CN201810462520 A CN 201810462520A CN 110489971 A CN110489971 A CN 110489971A
Authority
CN
China
Prior art keywords
record
data set
key word
response
keyword
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810462520.2A
Other languages
English (en)
Inventor
闫莺
郭众鑫
周礼栋
小柴笃史
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN201810462520.2A priority Critical patent/CN110489971A/zh
Priority to US17/044,278 priority patent/US20210073410A1/en
Priority to JP2020564172A priority patent/JP7358396B2/ja
Priority to KR1020207032859A priority patent/KR20210008486A/ko
Priority to PCT/US2019/029555 priority patent/WO2019221893A1/en
Priority to EP19723271.3A priority patent/EP3794479A1/en
Publication of CN110489971A publication Critical patent/CN110489971A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Abstract

根据本公开的实现,提出了一种用于安全的数据集管理的方案。在该方案中,获取包括至少一个记录的数据集,该至少一个记录中的记录至少包括:用于标识记录的关键字,以及与关键字相对应的值。继而,基于至少一个记录的各自的关键字,在可信执行环境中创建关键字索引。在此的关键字索引描述至少一个记录的关键字集合。通过该方案,可以在可信执行环境中为数据集中的记录创建关键字索引,并且基于该关键字索引,可以以更为安全和可靠的方式来管理数据集,以便检测在数据集中可能出现的异常。

Description

安全的数据集管理
背景技术
随着数据存储技术以及数据安全技术的发展,目前已经开发出了基于加密-解密技术的数据存储方案,以便提高数据存储的安全性。然而,存储的数据通常会面临诸如病毒的恶意程序或者其他诸多风险的威胁,因而期望能够开发出更为安全并且可靠的数据存储环境。尤其是对于金融机构或者诸如政府机关等机构而言,更需要进一步提高数据管理的安全性。目前,已经提出了具有更高安全等级的数据安全技术。例如,基于硬件和/或软件的可信执行环境(Trusted Execution Environment,缩写为TEE)可以有效地隔离来自外界的威胁,并且为应用提供安全并且受保护的执行环境。
然而,一方面,通常可信执行环境较为昂贵,并且所提供的计算资源和存储资源都存在限制。另一方面,当期望将现有的基于数据存储的应用移植到可信执行环境中时,通常需要将现有的应用以及数据存储两者进行修改,以便适应于可信执行环境,而修改现有应用及数据存储必然会产生额外的开销。因而,期望能够提供一种以更为方便并且可靠的方式来提高应用尤其是基于数据存储的应用的安全性的技术方案。
发明内容
根据本公开的实现,提供了一种用于安全的数据集管理的方案。在该方案中,获取包括至少一个记录的数据集,至少一个记录中的记录至少包括:用于标识记录的关键字,以及与关键字相对应的值;基于至少一个记录的各自的关键字,在可信执行环境中创建关键字索引,关键字索引描述至少一个记录的关键字集合。
提供发明内容部分是为了简化的形式来介绍对概念的选择,其在下文的具体实施方式中将被进一步描述。发明内容部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。
附图说明
图1示意性示出了能够实施本公开的多个实现的计算环境的框图;
图2示意性示出了根据本公开的一个实现的用于安全的数据集管理方案的概要框图;
图3示意性示出了根据本公开的一个实现的用于安全的数据集管理的方法的流程图;
图4示意性示出了根据本公开的一个实现的用于向数据集添加新记录的方法的流程图;
图5示意性示出了根据本公开的一个实现的用于安全的数据集管理的详细框图;
图6A和图6B分别示意性示出了根据本公开的实现的用于检测在数据集中存在的异常的框图;
图7示意性示出了根据本公开的一个实现的用于管理基于区块链的数据库的框图;以及
图8示意性示出了根据本公开的一个实现的用于管理关系数据库的框图。
这些附图中,相同或相似参考符号用于表示相同或相似元素。
具体实施方式
现在将参照若干示例实现来论述本公开。应当理解,论述了这些实现仅是为了使得本领域普通技术人员能够更好地理解且因此实现本公开,而不是暗示对本主题的范围的任何限制。
如本文所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实现”和“一种实现”要被解读为“至少一个实现”。术语“另一个实现”要被解读为“至少一个其他实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
目前,多个公司已经开发出了各自的可信执行环境。例如,公司已经开发出被称为软件保护扩展(Software Guard Extensions,缩写为SGX)的技术。SGX可以保护应用和相应的数据存储(例如,数据库)免于被披露或被修改。该技术通过使用围圈(enclave)技术,即在内存中受保护的执行区域中部署应用和数据库,使这种保护成为可能。基于SGX技术,可将期望获得更高安全性保障的应用放入围圈中。在围圈中运行的应用可以免受恶意程序的攻击,即使是操作系统或者和虚拟机管理程序也无法影响围圈中的应用和数据库。以此方式,可以提供基于硬件的可信执行环境。
目前,还提出了基于软件的可信执行环境技术方案。例如, 公司开发的Windows虚拟安全模式(Virtual Secure Mode,缩写VSM)是基于软件的可信执行环境的一个示例。基于VSM技术,可以在无需额外购买专业硬件的情况下,为应用和数据提供更高的安全保障。
将会理解,尽管在本公开的上下文中以SGX技术和VSM技术来作为可信执行环境的具体示例。本领域技术人员可以理解,随着技术的进步,还可以开发出更多的可信执行环境。并且在本公开中描述的可信执行环境可以是目前已经开发的或者将在未来开发的其他执行环境。
目前,已经开发了用于将现有的应用和数据库移植到可信执行环境中的技术方案。在一个技术方案中,可以将数据库以及用于访问数据库的应用全部移植到可信执行环境中。然而,这需要极大的人力和时间开销,并且对于可信执行环境的各方面的资源(例如,计算资源和存储资源)都提出了极高的要求。因而,此技术方案难以被广泛应用,尤其是难以被应用至涉及较大数据量的应用。
在另一技术方案中,可以将应用以及应用中与访问数据库相关联的接口部分移植到可信执行环境中。尽管此方式可以在一定程度上降低移植期间所涉及的各种开销,该技术方案仍然需要大量技术人员来重新编写数据库接口部分的代码,并且对于技术人员的技术水平要求较高。
因而,期望可以提供一种以方便并且有效的方式来提高应用以及数据存储的安全性的技术方案。进一步,期望该技术方案可以与现有的数据存储系统相兼容,并且在尽量不改变现有数据存储系统的硬件配置的情况下实现更加安全的数据存储。
示例环境
以下参考附图来说明本公开的基本原理和若干示例实现。图1示意性示出了能够实施本公开的多个实现的计算环境100的框图。如图1所示,该计算环境100可以包括具有不同安全等级的执行环境。例如,基于上文描述的SGX技术或者VSM技术,计算设备190可以包括具有较高安全等级的可信执行环境170,并且可以在该可信执行环境170中运行应用172。进一步,该计算设备190可以与外界的具有较低安全等级的不可信执行环境180通信。例如,可信执行环境170中的应用172可以访问该不可信执行环境180中的数据集182。
在此示例环境中,可信执行环境170例如可以是基于由公司开发的SGX技术方案、或由公司开发的VSM技术方案。在此的不可信执行环境180例如可以指常规的计算环境,换言之,即未使用SGX技术或VSM技术的常规计算环境。将会理解,尽管在本公开中仅以SGX和VSM技术作为可信执行环境170的具体示例,随着更多数据安全技术的出现,在此的可信执行环境170可以是现在已知或者将在未来开发的任何可信执行环境。
应当理解,图1所示出的计算设备190仅仅是示例性的,而不应当构成对本公开所描述的实现的功能和范围的任何限制。如图1所示,计算设备190包括通用计算设备形式的计算设备190。计算设备190的组件可以包括但不限于一个或多个处理器或处理单元110、存储器120、存储设备130、一个或多个通信单元140、一个或多个输入设备150以及一个或多个输出设备160。
在一些实现中,计算设备190可以被实现为各种用户终端或服务终端。服务终端可以是各种服务提供方提供的服务器、大型计算设备等。用户终端诸如是任意类型的移动终端、固定终端或便携式终端,包括移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,计算设备190能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。
处理单元110可以是实际或虚拟处理器并且能够根据存储器120中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备190的并行处理能力。处理单元110也可以被称为中央处理单元(CPU)、微处理器、控制器、微控制器。
计算设备190通常包括多个计算机存储介质。这样的介质可以是计算设备190可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或其某种组合。存储设备130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如内存、闪存驱动、磁盘或者任何其他介质,其能够用于存储信息和/或数据并且可以在计算设备190内被访问。
计算设备190可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管在图1中未示出,可以提供用于从可拆卸、非易失性磁盘进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。
通信单元140实现通过通信介质与另外的计算设备进行通信。附加地,计算设备190的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备190可以使用与一个或多个其他服务器、个人计算机(PC)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。
输入设备150可以是一个或多个各种输入设备,例如鼠标、键盘、追踪球、语音输入设备等。输出设备160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备190还可以根据需要通过通信单元140与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备190交互的设备进行通信,或者与使得计算设备190与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
可以在如图1所示的计算设备190中实现用于安全的数据集管理的方法。采用本公开的方法,可以确保可信执行环境170中的应用172以更为安全并且可靠的方式来访问不可信执行环境180中的数据集182。概括而言,可以在可信执行环境170和不可信执行环境180之间建立通信接口,以用于提高数据集182的安全性。
工作原理
在下文中,各附图详细描述本公开的方案的工作原理。根据本公开的实现,提供了一种用于安全的数据集管理的方案。首先参见图2概括描述该方案,图2示意性示出了根据本公开的一个实现的用于安全的数据集管理的概要框图200。如图2所示,在可信执行环境170中的应用172和不可信执行环境180中的数据集182之间,可以提供安全管理模块210来作为应用172与数据集182之间的接口。安全管理模块210接收来自应用172的请求,并且基于该请求来访问数据集182。继而,该安全管理模块210将来自数据集182的结果返回至应用172。
在此实现中,数据集182可以包括多个记录230、232等,并且每个记录可以包括用于标识该记录的关键字220以及与关键字220相对应的值222。例如,数据集182可以存储有关银行账户的数据,此时关键字220例如可以表示账户姓名,并且值222例如可以表示账户余额。将会理解,尽管在图2中仅示意性示出了包括关键字和值两个字段的数据集182,在其他实现中,数据集182还可以包括更多的字段。例如,数据集182还可以包括账户的其他属性,例如,性别、职业等。
将会理解,由于数据集182被部署在不可信执行环境180中,并且易于遭受例如病毒等恶意程序的攻击。恶意程序可能会向数据集182中添加新的记录,例如,向其中插入并不存在的账户的记录。或者,恶意程序还可能从数据集182中删除正常账户的记录。此时,即使应用172运行在安全可靠的可信执行环境170中,由于不可信执行环境180中的数据集182中的数据安全已经遭到破坏,则应用172将会获得错误的结果。
如图2所示,为了提高数据集182的安全性,本公开的实现提供了安全管理模块210和关键字索引212。具体地,可以获取包括至少一个记录的数据集182。继而,基于数据集182中的至少一个记录的各自的关键字220,在可信执行环境170中创建关键字索引212。在此,关键字索引212可以描述至少一个记录的关键字集合,并且可以用于以更高的安全等级来管理数据集182。
在本公开的实现中,关键字索引212中记载了在正常状态下获得的数据集182中的关键字的集合。即使随后数据集182中出现异常(例如,被恶意程序添加了新的账户信息),通过比较基于正确数据集构建的关键字索引212与数据集182中的关键字,即可确定数据集182中是否存在异常。以此方式,可以提高数据集182的安全性,进而确保可信执行环境170中的应用172的可靠性。
示例过程
在下文中,将参见图3详细描述本公开的方法的详细操作流程。图3示意性示出了根据本公开的一个实现的用于安全的数据集管理的方法的流程图300。如图3所示,可以获取310包括至少一个记录的数据集182。在此实现中,至少一个记录中的每个记录至少包括:用于标识记录的关键字200,以及与关键字相对应的值222。将会理解,可以采用不同的方式获取该数据集182。例如,由于应用172运行在可信执行环境170中,因而可以认为来自应用172的数据是真实可靠的数据。由此,可以在应用172向数据集182中添加记录时,获取数据集182。又例如,还可以在确认数据集182正常期间的任意时间点获取数据集182中的记录。此时,由于数据集182中的记录是正确的并且没有遭受恶意程序的攻击,因而基于获得的数据集182中的记录来创建的关键字索引212将是安全并且可信的,由此可以作为后续管理数据集182的基础。
继而,可以基于至少一个记录的各自的关键字220,在可信执行环境170中创建320关键字索引212以用于管理数据集182。在此,该关键字索引212描述至少一个记录的关键字集合。将会理解,可以以多种方式来创建关键字索引212。例如,在一个简化的实现中,可以建立列表,并且将数据集182中的全部记录的关键字加入该列表来形成关键字索引212。又例如,还可以建立集合,并且将数据集182中的全部记录的关键字加入该集合来形成关键字索引212。
将会理解,当数据集182中包括大量记录时,以上文描述的列表或者集合的方式创建的关键字索引212将会占用大量存储空间,并且可能导致后期管理数据集182时存在检索效率低下的问题。因而,还可以基于哈希函数来创建关键字索引212。具体地,可以通过哈希函数将数据集182中的每个关键字220映射至位图中的一个位。当需要确定在关键字索引212中是否包括特定关键字时,可以查找位图中与该特定关键字相对应的位的数值即可。基于上述原理,本领域技术人员可以采用不同的哈希函数创建关键字索引212。具体地,由于布隆过滤器在存储空间和搜索时间方面都有巨大的优势,因而可以基于布隆滤波器来实现关键字索引212。
将会理解,在应用172运行期间,应用172可能会向数据集182中添加新的记录。例如,在上文银行账户数据库的示例,当用户到银行开设新账户时,则可以向数据集182中添加新的账户记录。在此情况下,在更新数据集182中的记录以外,还需要更新关键字索引212的内容。
具体地,图4示意性示出了根据本公开的一个实现的用于向数据集182添加新记录的方法的流程图400。如图4所示,如果接收到410向数据集182添加新记录的请求,则可以基于新记录的关键字更新420关键字索引212,并且向数据集182添加新记录。将会理解,尽管在图4中以串行方式示出了更新关键字索引212以及向数据集182添加新记录的操作,在其他实现中上述操作可以以并行方式执行或者以相反的顺序执行。
将会理解,在应用172运行期间,应用172可能会从数据集182中删除已有记录。例如,在上文银行账户数据库的示例,当用户从银行取消账户时,则可以从数据集182删除已有账户的记录。此时,在更新数据集182中的记录以外,同样需要更新关键字索引212的内容。
将会理解,尽管在本公开中描述了可以向数据集182添加新记录以及从数据集182删除已有记录的情况,在某些情况下可以仅允许向数据集182添加新纪录,而不允许从中删除已有记录。例如,假设应用172是监视计算设备190的运行状态的应用,则随着计算设备190的运行,应用172将会按照预定时间间隔向数据集182中插入新的日志数据。此时,并不允许从数据集182删除已有的日志。
在可信执行环境中的实现示例
根据本公开的一个示例性实现,为了以更为安全和可靠的方式管理数据集182,可以在可信执行环境170中创建关键字索引212。在下文中,将参见图5详细描述在可信执行环境170中的更多具体实现。图5示意性示出了根据本公开的一个实现的用于针对数据集182进行安全管理的详细框图500。如图5所示,可以将根据本公开的安全管理模块210部署在可信执行环境170中。
将会理解,由于可信执行环境210提供的安全等级远远高于不可信执行环境180,因而在可信执行环境170中创建和存储关键字索引212将确保关键字索引212本身是安全的,并且保证该关键字索引212免受诸如病毒等恶意程序的攻击。此时,关键字索引212是可信的,并且可以作为后续与数据集182中的各个关键字进行比较的基础。以此方式,可以进一步提高数据集182的安全性。
在本公开的一个示例性实现中,安全管理模块210还可以包括高速缓存510。此时,如果接收到针对数据集182进行访问的访问请求,可以将与访问请求相关联的记录加入可信执行环境170中的高速缓存510(如图5中以虚线框示出)。将会理解,可信执行环境170中所包括的各种资源的数量都是有限的。在一些实现中,可以基于可信执行环境170的具体配置以及应用172对于数据访问效率的要求等因素,来设置高速缓存510的大小。高速缓存510例如可以按照最近最少使用原则来更新。在此实现中,高速缓存510位于可信执行环境170内部,一方面可以提供较高的安全性,另一方面还可以针对应用172提供更快的响应速度。
在本公开的一个示例性实现中,可以在可信执行环境170中执行根据本公开的方法。例如,可以部署如图5所示的安全管理模块210(例如,以计算机程序实现),并且将该安全管理模块210加载至可信执行环境170中。在此实现中,用于针对数据集182执行安全管理的安全管理模块210、关键字索引212、以及高速缓存510都被部署在可信执行环境170中。以此方式,可以确保在执行安全管理中所涉及的各方面因素都是安全的。因而,可以认为如图5所示的可信执行环境170内执行的全部操作都是安全的。
检测数据集的状态
在本公开的一个示例性实现中,可以基于比较数据集182中的关键字与关键字索引212中的关键字是否相匹配,来确定在数据集182中是否存在异常。以上文描述的存储银行账户信息的数据集182为示例,假设位于不可信执行环境180中的数据集182遭受攻击,并且其中被添加了新的账户记录。此时,通过比较数据集182中的关键字和关键字索引212,即可发现新的账户记录并不存在于关键字索引212中,进而可以确定在数据集182中是否存在异常。
将会理解,当以不同方式来实现关键字索引212时,判断“匹配”/“不匹配”的方式可以有所不同。例如,当采用上文描述的列表/集合来实现关键字索引212时,当在列表/集合中包括特定关键字时,则认为该特定关键字与关键字索引212相匹配;否则,认为不匹配。又例如,当采用上文描述的哈希函数来实现关键字索引212时,通过检查关键字索引212中的与特定关键字相对应的位的数值,可以获得“匹配”/“不匹配”的结果。在一个示例中,如果与特定关键字相对应的位的数值为“1”(或者其他预定义的数值),则判断结果为“匹配”,否则判断结果为“不匹配”。
在本公开的一个示例性实现中,可以周期性地执行上述比较操作。备选地,还可以在接收到针对数据集182的访问请求时,执行上述比较操作。具体地,可以基于比较结果为“匹配”/“不匹配”来确定在数据集182中是否出现异常。。
在本公开的一个示例性实现中,可以基于接收到的请求来确定与请求相关联的目标关键字。在此,目标关键字是指在请求中所定义的期望被访问的记录的关键字。例如,对于期望访问有关ALICE的记录的请求而言,目标关键字为“ALICE”。例如,假设关键字索引212包括ALICE和BOB。如果接收到读取关键字为ALICE的记录的请求,可以首先在数据集182中查找是否存在关键字为ALICE的记录。如果存在,则找到的记录以加密形式返回可信执行环境170。如果在可信执行环境170环境中解密成功,则确定关键字为ALICE的记录是原本存在于数据集182中的记录,而并非被恶意程序添加的记录。此时,可以确定数据集182处于正常状态,并且返回找到的目标记录。备选地,如果在数据集182中找到关键字为ALICE的记录,还可以首先确定关键字ALICE是否存在于关键字索引212中,如果存在则表示数据集182正常继而可以执行后续的解密操作。以此方式,可以预先判断返回的加密形式的记录是否是可信的,并且仅在可信时执行后续的解密操作。
在本公开的一个示例性实现中,假设关键字索引212包括ALICE和BOB。如果接收到读取关键字为TOM的记录的请求,可以在数据集182中查找是否包括关键字TOM的目标记录。如果在数据库182中未找到包括关键字TOM的目标记录,可以进一步确定关键字TOM是否存在于关键字索引212中。如果不存在,则可以返回在数据集182中不存在关键字为TOM的记录的指示。此时,数据集182处于正常状态。
在上文中已经介绍了数据集182处于正常状态的情况。在下文中,将参见图6A和图6B详细描述如何检测数据集182中的异常。图6A示意性示出了根据本公开的一个实现的用于检测在数据集中存在的异常的框图600A。如图6A示出了采用本公开的实现创建的关键字索引620A,此时关键字索引620A包括2个关键字ALICE和BOB。应当注意,由于关键字索引620A是在可信执行环境170中创建和存储的,因而可以认为关键字索引620A是安全并且可靠的。
假设位于不可信执行环境180中的数据集610A遭受了攻击并且其中被添加了有关新账户TOM的记录。此时,在接收到从数据集610A中读取有关账户TOM的信息的读取请求630A时,从数据集610A中可以返回加密的记录640A(该记录中记载了账户TOM的余额为3000元)。在可信执行环境170中,如果解密失败,则表示关键字TOM并不存在于关键字索引620A中。因而,可以确定数据集610A中有关账户TOM的记录是被恶意程序添加的,进而可以确定数据集610A中存在异常。备选地,还可以在不执行解密的情况下首先确定关键字TOM是否存在于关键字索引620A中,如果不存在则可以直接确定数据集610A异常。以此方式,在现有的基于加密-解密的数据安全管理之外,还可以提供附加的数据安全管理方案。
图6B示意性示出了根据本公开的实现的用于检测在数据集182中存在的异常的框图600B。如图6B示出了采用本公开的实现创建的关键字索引620B,此时关键字索引620B包括3个关键字ALICE、BOB和TOM。应当注意,由于关键字索引620B是在可信执行环境170中创建和存储的,因而可以认为关键字索引620B是安全并且可靠的。
假设位于不可信执行环境180中的数据集610B遭受了攻击并且其中有关账户TOM的记录被删除。此时,在接收到从数据集610B中读取有关账户TOM的信息的读取请求630B时,查询结果为空。此时,由于在关键字索引620B中包括关键字TOM但查询结果为空,可以确定数据集610B中有关账户TOM的记录被恶意程序删除,并且可以确定数据集610B中存在异常。
在上述实现中,可以简单地通过比较数据集182中的关键字与关键字索引212是否相匹配,来确定数据集182中是否存在异常。以此方式,可以在无需较大运算量的情况下,以更为简单并且有效的方式检测数据集182的状态。
尽管在上文中描述了恶意程序可以向数据集182添加新记录以及从数据集182删除已有记录的情况。例如当数据集182用于存储日志记录时,可以仅检测数据集182中被添加了新的记录。
数据集的示例
在上文中已经以包括账户姓名和账户余额的简单数据集182为示例而描述了用于针对数据集182进行安全管理的具体过程。在下文中,将描述数据集182的更多具体示例。应当注意,在本公开的上下文中,并不限制数据集182中的各个记录所包括的字段的数量。在其他实现中,数据集还可以包括更多的字段。例如,用于存储银行账户数据的数据集182还可以包括账户的其他属性,例如,性别、职业等。
在本公开的一个示例性实现中,数据集182可以是基于区块链的数据库的数据集,以及数据集182中的至少一个记录中的记录描述区块链中的节点的关键字和值。将会理解,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,区块链的数据结构提供了可追踪、可验证完整性的性质。区块链中各个节点的数据并不能被修改,而是新增的节点可以以附加方式被添加至区块链的末端。由于区块链技术可以有效地防止对数据的篡改,并且可以以更加可靠的方式记录针对所存储数据的操作历史,因而区块链技术已经得到了广泛使用。
在下文中将参见图7详细描述在基于区块链的数据库中应用本公开的方法的更多细节。图7示意性示出了根据本公开的一个实现的用于管理基于区块链的数据库的数据集的框图700。图7上部示意性示出了基于区块链的数据库的逻辑视图。在该逻辑视图中,块1(以节点710表示)和块2(以节点720表示)已被链接在一起,并且位置在后的节点720记录在较后的时间点发生的事件。
可以基于Merkle树来创建区块链。将会理解,Merkle是一种树状结构,例如可以是二叉树,也可以多叉树。Merkle树的叶节点可以具有值(其中包括期望保存的内容相关的数据),而非叶子节点的值是根据它下层的所有叶节点的值计算而得的。例如,在Merkle哈希树中,叶节点中可以存储需要保存的数据(例如,如上文描述的包括账户名称和账户余额的账户信息),而非叶结点中存储该非叶节点的子节点内容的哈希值。
在如图7所示的Merkle树中,节点710可以记录在第一时刻的账户信息,并且节点710的子节点712例如可以记录账户ALICE的余额为1000元。假设在第二时刻,从账户ALICE向账户BOB转账500元,则此时账户ALICE和账户BOB中的余额都将发生变化。节点720可以记录在第二时刻的各个账户信息。例如,叶节点728和730可以记录在第二时刻的账户ALICE和账户BOB的余额分别为500元和500元。叶节点724可以记录从账户ALICE向账户BOB的转账操作。可以按照Merkle的原理来确定其他中间节点的数据。
图7下部示出了用于存储基于区块链的数据库的物理视图。在该物理视图中,有关各个节点中的数据按照“关键字-值”的方式进行存储。例如,记录740存储有关块1的信息,其中“关键字”字段中存储该块1的哈希值,并且在“值”字段中存储块1的数据。逻辑视图中的其他节点的数据也可以按照类似的方式进行存储,在此不再赘述。将会理解,在图7中仅仅示意性示出了存储有第一时刻和第二时刻的账户信息的示意性区块链。在其他实现中,基于区块链的数据库中还可以包括更多时刻的账户信息,或者还可以包括诸如存款、取款、转账等更为复杂的操作。
基于上文描述的原理可知,无论基于区块链的数据库的逻辑视图如何,物理存储都将包括如图7所示的物理视图中的数据集。因而,可以针对区块链的物理存储来使用如本公开描述的方法。在本公开的一个示例性实现中,上文描述的不可信执行环境180中的数据集182可以是区块链的物理存储。具体地,可以首先获取区块链的物理存储中包括的各个记录,并且基于各个记录中的相应的关键字来构造关键字索引212,并且在区块链数据库的操作期间用于以更高的安全等级来管理区块链数据库。在此实现中,可以将区块链的物理存储本身部署在如上文描述的不可信执行环境180中,并且将用于访问区块链数据库的应用172(例如,银行的账户管理应用)部署在可信执行环境170中。
以此方式,基于区块链的数据库一方面可以受益于区块链技术的安全保障,另一方面,该基于区块链的数据库还可以受益于本公开所提供的在可信执行环境170中监视区块链的物理存储中是否出现异常的额外保障。将会理解,尽管在上文中描述了恶意程序可能向不可信执行环境180中的数据集182中添加记录或者删除记录的情况,在基于区块链的数据库中,由于基于区块链的物理存储中的记录是附加式的并且是不可修改(immutable)的,因而仅涉及检测在数据集中是否被添加记录的情况。
在本公开的一个示例性实现中,上文描述的不可信执行环境180中的数据集182还可以是关系数据库中的数据表。图8示意性示出了根据本公开的一个实现的用于管理关系数据库的框图800。具体地,图8示意性示出了用于记录操作系统的日志的数据表的示意图,其中关键字字段可以存储时间戳数据,并且值字段可以存储所检测到的操作系统的状态。例如,记录810可以表示在2018年1月1日0点0分时操作系统的状态:CPU使用率为50%,存储器的使用率为20%。在此实现中,由于日志记录是附加式的并且是不可修改的,因而仅涉及检测在数据集中是否被添加记录的情况。在本公开的一个示例性实现中,当数据集182是其他形式的数据表(例如上文描述的银行账户数据库)时,还可以检测到恶意程序向数据集182中添加新记录或者从中删除已有数据的异常。
以此方式,如图8所示的数据库一方面可以受益于数据库本身的例如基于加密-解密技术的安全保障,另一方面,该数据库还可以受益于本公开所提供的在可信执行环境170中数据库中是否出现异常的额外保障。
示例实现方式
以下列出了本公开的一些示例实现方式。
在一方面,本公开提供了一种计算机实现的方法。该方法包括:获取包括至少一个记录的数据集,至少一个记录中的记录至少包括:用于标识记录的关键字,以及与关键字相对应的值;基于至少一个记录的各自的关键字,在可信执行环境中创建关键字索引,关键字索引描述至少一个记录的关键字集合。
在一些实现中,该方法进一步包括:响应于接收到向数据集添加新记录的请求,基于新记录的关键字更新关键字索引;以及向数据集添加新记录。
在一些实现中,该方法进一步包括:响应于接收到读取数据集中的记录的请求,确定与请求相关联的目标关键字;响应于在数据集中未找到包括目标关键字的目标记录,比较目标关键字与关键字索引;以及响应于目标关键字与关键字索引相匹配,提供在数据集中出现异常的指示。
在一些实现中,该方法进一步包括:响应于目标关键字与关键字索引不相匹配,提供在数据集中不包括与请求相关联的记录的指示。
在一些实现中,该方法进一步包括:响应于接收到读取数据集中的记录的请求,确定与请求相关联的目标关键字;响应于在数据集中找到包括目标关键字的目标记录,比较目标关键字与关键字索引;以及响应于目标关键字与关键字索引相匹配,提供在数据集中包括与请求相关联的目标记录的指示。
在一些实现中,该方法进一步包括:响应于目标关键字与关键字索引不相匹配,提供在数据集中出现异常的指示。
在一些实现中,数据集是基于区块链的数据库的数据集,以及数据集中的至少一个记录中的记录描述区块链中的节点的关键字和值。
在一些实现中,数据集被存储在不可信执行环境中。
在一些实现中,该方法进一步包括:响应于接收到针对数据集进行访问的访问请求,将与访问请求相关联的记录加入可信执行环境中的高速缓存。
在一些实现中,该方法在可信执行环境中被执行。
在又一方面,本公开提供了一种计算机实现的设备。该设备包括:处理单元;以及存储器,耦合至处理单元并且包含存储于其上的指令,指令在由处理单元执行时使设备执行以下动作。该动作包括:获取包括至少一个记录的数据集,至少一个记录中的记录至少包括:用于标识记录的关键字,以及与关键字相对应的值;基于至少一个记录的各自的关键字,在可信执行环境中创建关键字索引,关键字索引描述至少一个记录的关键字集合。
在一些实现中,该动作进一步包括:响应于接收到向数据集添加新记录的请求,基于新记录的关键字更新关键字索引;以及向数据集添加新记录。
在一些实现中,该动作进一步包括:响应于接收到读取数据集中的记录的请求,确定与请求相关联的目标关键字;响应于在数据集中未找到包括目标关键字的目标记录,比较目标关键字与关键字索引;以及响应于目标关键字与关键字索引相匹配,提供在数据集中出现异常的指示。
在一些实现中,该动作进一步包括:响应于目标关键字与关键字索引不相匹配,提供在数据集中不包括与请求相关联的记录的指示。
在一些实现中,该动作进一步包括:响应于接收到读取数据集中的记录的请求,确定与请求相关联的目标关键字;响应于在数据集中找到包括目标关键字的目标记录,比较目标关键字与关键字索引;以及响应于目标关键字与关键字索引相匹配,提供在数据集中包括与请求相关联的目标记录的指示。
在一些实现中,该动作进一步包括:响应于目标关键字与关键字索引不相匹配,提供在数据集中出现异常的指示。
在一些实现中,数据集是基于区块链的数据库的数据集,以及数据集中的至少一个记录中的记录描述区块链中的节点的关键字和值。
在一些实现中,数据集被存储在不可信执行环境中。
在一些实现中,该动作进一步包括:响应于接收到针对数据集进行访问的访问请求,将与访问请求相关联的记录加入可信执行环境中的高速缓存。
在一些实现中,方法在可信执行环境中被执行。
在又一方面,本公开提供了非瞬态计算机存储介质,其中包括机器可执行指令,机器可执行指令在由设备执行时使设备执行上述任一方面的方法。
在又一方面,本公开提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,机器可执行指令在由设备执行时使设备执行上述任一方面的方法。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (21)

1.一种计算机实现的方法,包括:
获取包括至少一个记录的数据集,所述至少一个记录中的记录至少包括:
用于标识所述记录的关键字,以及
与所述关键字相对应的值;
基于所述至少一个记录的各自的关键字,在可信执行环境中创建关键字索引,所述关键字索引描述所述至少一个记录的关键字集合。
2.根据权利要求1所述的方法,进一步包括:
响应于接收到向所述数据集添加新记录的请求,基于所述新记录的关键字更新所述关键字索引;以及
向所述数据集添加所述新记录。
3.根据权利要求1所述的方法,进一步包括:
响应于接收到读取所述数据集中的记录的请求,确定与所述请求相关联的目标关键字;
响应于在所述数据集中未找到包括所述目标关键字的目标记录,比较所述目标关键字与所述关键字索引;以及
响应于所述目标关键字与所述关键字索引相匹配,提供在所述数据集中出现异常的指示。
4.根据权利要求3所述的方法,进一步包括:
响应于所述目标关键字与所述关键字索引不相匹配,提供在所述数据集中不包括与所述请求相关联的记录的指示。
5.根据权利要求1所述的方法,进一步包括:
响应于接收到读取所述数据集中的记录的请求,确定与所述请求相关联的目标关键字;
响应于在所述数据集中找到包括所述目标关键字的目标记录,比较所述目标关键字与所述关键字索引;以及
响应于所述目标关键字与所述关键字索引相匹配,提供在所述数据集中包括与所述请求相关联的目标记录的指示。
6.根据权利要求5所述的方法,进一步包括:
响应于所述目标关键字与所述关键字索引不相匹配,提供在所述数据集中出现异常的指示。
7.根据权利要求1所述的方法,其中所述数据集是基于区块链的数据库的数据集,以及所述数据集中的至少一个记录中的记录描述所述区块链中的节点的关键字和值。
8.根据权利要求1所述的方法,其中所述数据集被存储在不可信执行环境中。
9.根据权利要求1所述的方法,进一步包括:
响应于接收到针对所述数据集进行访问的访问请求,将与所述访问请求相关联的记录加入所述可信执行环境中的高速缓存。
10.根据权利要求1所述的方法,其中所述方法在所述可信执行环境中被执行。
11.一种设备,包括:
处理单元;以及
存储器,耦合至所述处理单元并且包含存储于其上的指令,所述指令在由所述处理单元执行时使所述设备执行以下动作:
获取包括至少一个记录的数据集,所述至少一个记录中的记录至少包括:
用于标识所述记录的关键字,以及
与所述关键字相对应的值;
基于所述至少一个记录的各自的关键字,在可信执行环境中创建关键字索引,所述关键字索引描述所述至少一个记录的关键字集合。
12.根据权利要求11所述的设备,其中所述动作进一步包括:
响应于接收到向所述数据集添加新记录的请求,基于所述新记录的关键字更新所述关键字索引;以及
向所述数据集添加所述新记录。
13.根据权利要求11所述的设备,其中所述动作进一步包括:
响应于接收到读取所述数据集中的记录的请求,确定与所述请求相关联的目标关键字;
响应于在所述数据集中未找到包括所述目标关键字的目标记录,比较所述目标关键字与所述关键字索引;以及
响应于所述目标关键字与所述关键字索引相匹配,提供在所述数据集中出现异常的指示。
14.根据权利要求13所述的设备,其中所述动作进一步包括:
响应于所述目标关键字与所述关键字索引不相匹配,提供在所述数据集中不包括与所述请求相关联的记录的指示。
15.根据权利要求11所述的设备,其中所述动作进一步包括:
响应于接收到读取所述数据集中的记录的请求,确定与所述请求相关联的目标关键字;
响应于在所述数据集中找到包括所述目标关键字的目标记录,比较所述目标关键字与所述关键字索引;以及
响应于所述目标关键字与所述关键字索引相匹配,提供在所述数据集中包括与所述请求相关联的目标记录的指示。
16.根据权利要求15所述的设备,其中所述动作进一步包括:
响应于所述目标关键字与所述关键字索引不相匹配,提供在所述数据集中出现异常的指示。
17.根据权利要求11所述的设备,其中所述数据集是基于区块链的数据库的数据集,以及所述数据集中的至少一个记录中的记录描述所述区块链中的节点的关键字和值。
18.根据权利要求11所述的设备,其中所述数据集被存储在不可信执行环境中。
19.根据权利要求11所述的设备,其中所述动作进一步包括:
响应于接收到针对所述数据集进行访问的访问请求,将与所述访问请求相关联的记录加入所述可信执行环境中的高速缓存。
20.根据权利要求11所述的设备,其中所述方法在所述可信执行环境中被执行。
21.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求1-10中任一项所述的方法。
CN201810462520.2A 2018-05-15 2018-05-15 安全的数据集管理 Pending CN110489971A (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201810462520.2A CN110489971A (zh) 2018-05-15 2018-05-15 安全的数据集管理
US17/044,278 US20210073410A1 (en) 2018-05-15 2019-04-29 Secure dataset management
JP2020564172A JP7358396B2 (ja) 2018-05-15 2019-04-29 安全なデータセット管理
KR1020207032859A KR20210008486A (ko) 2018-05-15 2019-04-29 안전한 데이터세트 관리
PCT/US2019/029555 WO2019221893A1 (en) 2018-05-15 2019-04-29 Secure dataset management
EP19723271.3A EP3794479A1 (en) 2018-05-15 2019-04-29 Secure dataset management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810462520.2A CN110489971A (zh) 2018-05-15 2018-05-15 安全的数据集管理

Publications (1)

Publication Number Publication Date
CN110489971A true CN110489971A (zh) 2019-11-22

Family

ID=66476850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810462520.2A Pending CN110489971A (zh) 2018-05-15 2018-05-15 安全的数据集管理

Country Status (6)

Country Link
US (1) US20210073410A1 (zh)
EP (1) EP3794479A1 (zh)
JP (1) JP7358396B2 (zh)
KR (1) KR20210008486A (zh)
CN (1) CN110489971A (zh)
WO (1) WO2019221893A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177048A (zh) * 2021-04-28 2021-07-27 中国工商银行股份有限公司 数据处理方法、终端、节点、系统、电子设备和存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102544628B1 (ko) * 2019-03-08 2023-06-19 한국전자통신연구원 블록체인 기반의 분산 데이터 공유 환경에서 데이터 공유 플랫폼을 위한 시스템, 상기 시스템에서 데이터 검색 방법 및 상기 시스템에서 검색 인덱스를 제공하는 방법
CN111444198B (zh) * 2020-06-15 2020-09-25 支付宝(杭州)信息技术有限公司 一种基于中心化块链式账本的交易存储、查询方法
US11514088B2 (en) 2021-01-26 2022-11-29 Microsoft Technology Licensing, Llc Aliased data retrieval for key-value stores
CN114816512B (zh) * 2022-06-28 2022-09-23 广州博士信息技术研究院有限公司 一种资源池构建方法、系统及云平台

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096653A (ja) * 1995-06-19 1997-01-10 Hitachi Ltd データベースのチェックを行う情報処理装置
US20040024736A1 (en) * 2002-02-22 2004-02-05 Akio Sakamoto Method and apparatus for monitoring a database system
US7007015B1 (en) * 2002-05-01 2006-02-28 Microsoft Corporation Prioritized merging for full-text index on relational store
US20060123250A1 (en) * 1999-07-16 2006-06-08 Intertrust Technologies Corporation Trusted storage systems and methods
US20080086317A1 (en) * 2006-10-09 2008-04-10 Daniel Horacio Jones Method and system for creating a non-repudiable chat log
US20100306222A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Cache-friendly b-tree accelerator
US20100310068A1 (en) * 2009-06-08 2010-12-09 Nagravision Sa Method for monitoring execution of data processing program instructions in a security module
CN102075813A (zh) * 2009-08-28 2011-05-25 耶德托存取公司 接收机中数据流的可靠且不可篡改处理
US8549581B1 (en) * 2008-05-28 2013-10-01 Zscaler, Inc. Distributed network security system deploying guard tables
US20140283098A1 (en) * 2013-03-15 2014-09-18 Vinay Phegade Mutually assured data sharing between distrusting parties in a network environment
JP2014174661A (ja) * 2013-03-07 2014-09-22 Ibaraki Univ 検索システム、検索方法および検索プログラム
US20150058619A1 (en) * 2011-08-09 2015-02-26 CloudPassage, Inc. Systems and methods for implementing computer security
US20160085618A1 (en) * 2014-09-24 2016-03-24 Freescale Semiconductor, Inc. Electronic device having a runtime integrity checker
CN105450406A (zh) * 2014-07-25 2016-03-30 华为技术有限公司 数据处理的方法和装置
CN105574414A (zh) * 2014-11-05 2016-05-11 欧贝特科技公司 将文件加载到电子装置中的随机存取存储器中的方法和相关联电子装置
WO2016116278A1 (de) * 2015-01-22 2016-07-28 Giesecke & Devrient Gmbh Verfahren zum betreiben einer computereinheit mit einer sicheren laufzeitumgebung sowie eine solche computereinheit
WO2017022149A1 (ja) * 2015-07-31 2017-02-09 パナソニックIpマネジメント株式会社 処理装置、車載端末装置、処理装置の起動方法、及び処理装置の起動プログラム
US20170093852A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Secure sensor data transport and processing
US9613208B1 (en) * 2013-03-13 2017-04-04 Sprint Communications Company L.P. Trusted security zone enhanced with trusted hardware drivers
CN106682530A (zh) * 2017-01-10 2017-05-17 杭州电子科技大学 一种基于区块链技术的医疗信息共享隐私保护方法及装置
US20180006820A1 (en) * 2016-06-30 2018-01-04 Microsoft Technology Licensing, Llc Controlling verification of key-value stores
CN107622212A (zh) * 2017-10-13 2018-01-23 上海海事大学 一种基于双陷门的混合密文检索方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375235A (en) * 1991-11-05 1994-12-20 Northern Telecom Limited Method of indexing keywords for searching in a database recorded on an information recording medium
JP2502023B2 (ja) * 1992-04-13 1996-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ・ファイルの比較方法及びシステム
US6094649A (en) * 1997-12-22 2000-07-25 Partnet, Inc. Keyword searches of structured databases
CN100470550C (zh) * 2007-04-02 2009-03-18 华为技术有限公司 一种信息存储的方法、信息查找的方法及引擎装置
CN102624699B (zh) * 2012-01-19 2015-07-08 歌尔声学股份有限公司 一种保护数据的方法和系统
US8955039B2 (en) * 2012-09-12 2015-02-10 Intel Corporation Mobile platform with sensor data security
KR20140111943A (ko) * 2013-03-12 2014-09-22 삼성전자주식회사 보안 환경 장치 및 구현 방법
US9280655B2 (en) * 2013-03-13 2016-03-08 Samsung Electronics Co., Ltd Application authentication method and electronic device supporting the same
US9246690B1 (en) * 2014-09-03 2016-01-26 Amazon Technologies, Inc. Secure execution environment services
US9904793B2 (en) * 2015-03-23 2018-02-27 Intel Corporation Systems, methods, and apparatus to provide private information retrieval
US9697371B1 (en) * 2015-06-30 2017-07-04 Google Inc. Remote authorization of usage of protected data in trusted execution environments
US20170132625A1 (en) * 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for use of a blockchain in a transaction processing network
US10516651B2 (en) * 2015-12-22 2019-12-24 Intel IP Corporation Securely routing sensor data from sensors to a trusted execution environment (TEE)
JP2018006852A (ja) * 2016-06-28 2018-01-11 富士通株式会社 情報処理装置、情報処理システム、端末、判定装置、処理プログラム、及び情報処理方法
US20180096143A1 (en) * 2016-09-30 2018-04-05 Li Xiaoning Secure change log for drive analysis
CN110337649B (zh) * 2016-12-30 2023-10-31 罗伯特·博世有限公司 用于搜索模式未察觉的动态对称可搜索加密的方法和系统
US10972265B2 (en) * 2017-01-26 2021-04-06 Microsoft Technology Licensing, Llc Addressing a trusted execution environment

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096653A (ja) * 1995-06-19 1997-01-10 Hitachi Ltd データベースのチェックを行う情報処理装置
US20060123250A1 (en) * 1999-07-16 2006-06-08 Intertrust Technologies Corporation Trusted storage systems and methods
US20040024736A1 (en) * 2002-02-22 2004-02-05 Akio Sakamoto Method and apparatus for monitoring a database system
US7007015B1 (en) * 2002-05-01 2006-02-28 Microsoft Corporation Prioritized merging for full-text index on relational store
US20080086317A1 (en) * 2006-10-09 2008-04-10 Daniel Horacio Jones Method and system for creating a non-repudiable chat log
US8549581B1 (en) * 2008-05-28 2013-10-01 Zscaler, Inc. Distributed network security system deploying guard tables
US20100306222A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Cache-friendly b-tree accelerator
US20100310068A1 (en) * 2009-06-08 2010-12-09 Nagravision Sa Method for monitoring execution of data processing program instructions in a security module
CN102075813A (zh) * 2009-08-28 2011-05-25 耶德托存取公司 接收机中数据流的可靠且不可篡改处理
US20150058619A1 (en) * 2011-08-09 2015-02-26 CloudPassage, Inc. Systems and methods for implementing computer security
JP2014174661A (ja) * 2013-03-07 2014-09-22 Ibaraki Univ 検索システム、検索方法および検索プログラム
US9613208B1 (en) * 2013-03-13 2017-04-04 Sprint Communications Company L.P. Trusted security zone enhanced with trusted hardware drivers
US20140283098A1 (en) * 2013-03-15 2014-09-18 Vinay Phegade Mutually assured data sharing between distrusting parties in a network environment
CN105450406A (zh) * 2014-07-25 2016-03-30 华为技术有限公司 数据处理的方法和装置
US20160085618A1 (en) * 2014-09-24 2016-03-24 Freescale Semiconductor, Inc. Electronic device having a runtime integrity checker
CN105574414A (zh) * 2014-11-05 2016-05-11 欧贝特科技公司 将文件加载到电子装置中的随机存取存储器中的方法和相关联电子装置
WO2016116278A1 (de) * 2015-01-22 2016-07-28 Giesecke & Devrient Gmbh Verfahren zum betreiben einer computereinheit mit einer sicheren laufzeitumgebung sowie eine solche computereinheit
WO2017022149A1 (ja) * 2015-07-31 2017-02-09 パナソニックIpマネジメント株式会社 処理装置、車載端末装置、処理装置の起動方法、及び処理装置の起動プログラム
US20170093852A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Secure sensor data transport and processing
US20180006820A1 (en) * 2016-06-30 2018-01-04 Microsoft Technology Licensing, Llc Controlling verification of key-value stores
CN106682530A (zh) * 2017-01-10 2017-05-17 杭州电子科技大学 一种基于区块链技术的医疗信息共享隐私保护方法及装置
CN107622212A (zh) * 2017-10-13 2018-01-23 上海海事大学 一种基于双陷门的混合密文检索方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177048A (zh) * 2021-04-28 2021-07-27 中国工商银行股份有限公司 数据处理方法、终端、节点、系统、电子设备和存储介质

Also Published As

Publication number Publication date
EP3794479A1 (en) 2021-03-24
WO2019221893A1 (en) 2019-11-21
KR20210008486A (ko) 2021-01-22
JP7358396B2 (ja) 2023-10-10
JP2021523483A (ja) 2021-09-02
US20210073410A1 (en) 2021-03-11

Similar Documents

Publication Publication Date Title
Vo et al. Research Directions in Blockchain Data Management and Analytics.
CN110489971A (zh) 安全的数据集管理
US9176994B2 (en) Content analytics system configured to support multiple tenants
KR20210133289A (ko) 블록체인 네트워크에서 데이터 추출
CN101589397B (zh) Usb令牌上的密钥容器
CN104067287B (zh) 用于数据完整性保护的方法、装置、系统和机器可读介质
US20180285596A1 (en) System and method for managing sensitive data
CN106295406A (zh) 一种用于区块链自安全存储系统及其方法
US11394528B2 (en) System and method for on-demand unsupervised data analytics on blockchain
US10587652B2 (en) Generating false data for suspicious users
CN113711221A (zh) 可链记录的高效存取
Venkatesh et al. A study on use of big data in cloud computing environment
CN116601630A (zh) 通过动态蜜罐数据库响应生成防御目标数据库攻击
US20120254972A1 (en) Trust system
Basu et al. Feasibility of a privacy preserving collaborative filtering scheme on the Google App Engine: a performance case study
Ramya et al. Analyzing Big Data challenges and security issues in data privacy
US11893132B2 (en) Discovery of personal data in machine learning models
US20150006498A1 (en) Dynamic search system
US9852288B2 (en) Securing data on a computing system
Nguyen et al. The benefits and challenges of applying Blockchain technology into Big Data: A literature review
Shu et al. Rapid screening of big data against inadvertent leaks
Adeel Big data virtualization and visualization: On the cloud
Oo Forensic Investigation on Hadoop Big Data Platform
Singh Improving the Processing of Large Volume of Data Using Hadoop
Arshad Revolutionizing Open Data Privacy Unveiling COBAD's Superiority over Traditional Methods

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination