CN102422590A - 数据库中加密密钥的保护 - Google Patents
数据库中加密密钥的保护 Download PDFInfo
- Publication number
- CN102422590A CN102422590A CN2010800205143A CN201080020514A CN102422590A CN 102422590 A CN102422590 A CN 102422590A CN 2010800205143 A CN2010800205143 A CN 2010800205143A CN 201080020514 A CN201080020514 A CN 201080020514A CN 102422590 A CN102422590 A CN 102422590A
- Authority
- CN
- China
- Prior art keywords
- key
- master
- master key
- encryption
- password
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本文中描述用于保护数据库中的加密密钥的系统、方法、计算机程序产品实施例和其组合以及子组合。一个实施例包括主密钥和双主密钥,两个都用来对数据库中的加密密钥加密。为了访问加密的数据,主密钥和双主密钥必须通过两个单独的实体提供给数据库服务器,因此需要主密钥和双主密钥的双重控制。而且,用于主密钥和双主密钥的密码必须单独且独立地提供,因此要求访问主密钥和双主密钥的分离知识。在另一实施例中,主密钥和从用户密码导出的密钥加密密钥用于双重控制。一个实施例还包括通过服务器专用文件为主密钥和双主密钥提供秘密。
Description
技术领域
本发明涉及数据库中加密密钥的保护。
背景技术
近年来,已经出现许多身份证盗窃和信用卡欺诈事件,造成的损失高达数亿美元。结果,对抗这些威胁成为处理机密用户数据的任何企业优先考虑的事情。
零售商、在线商店、大学和保健机构在加强诸如社会保障号的个人可识别信息(PII)的安全措施。要求处理信用卡数据的商店和服务提供商符合支付卡工业数据安全标准(PCI-DSS)。
支付卡工业数据安全标准(PCI-DSS)是由PCI安全标准委员会编写的对于支付卡安全的一组要求,包括对安全性管理、政策、手续、网络架构、软件设计和其它关键保护措施的要求。
保护数据并符合PCI-DSS的一种方式是通过对存储数据的数据库使用加密技术。加密对于保护传输中和静止的数据是重要的。通过使用加密,即使入侵者或其它任何威胁回避其它网络安全性控制,并获得对加密数据的访问,在无适当密钥的情况下,数据对该人是不可读的、不可使用的。
相应地,需要在符合也许存在的安全性标准,诸如但不限于PCI-DSS,的同时提供密钥加密的鲁棒方法的系统、方法和计算机程序产品。
发明内容
简单讲,本发明包括用于保护数据库中的加密密钥的系统、方法、计算机程序产品实施例和其组合以及子组合。
一个实施例包括主密钥和双(dual)主密钥,两个都用来使用双重控制和分离(split)知识来对数据库中的加密密钥加密。因此,在任何用户访问加密的数据之前,主密钥和双主密钥必须通过两个单独的实体(例如两个密钥管理员)提供给数据库服务器,因此需要双重控制加密的数据。而且,主密钥和双主密钥是使用必须通过SQL命令单独和独立提供的密码来保护的,因此需要分离知识来访问主密钥和双主密钥。
另一实施例包括主密钥和由用户密码导出的密钥加密密钥。在此实施例中,在任何用户访问加密的数据之前,主密钥和导出的密钥必须通过两个实体提供给数据库服务器,因此实现密钥的双重控制。用于主密钥的密码和导出密钥加密密钥的密码必须通过SQL命令单独提供,因此需要密码的分离知识。
另一实施例包括通过服务器专用文件(称作主密钥启动文件)提供主密钥和双主密钥的秘密(或密码)。主密钥或双主密钥的所有人可以为主或双主密钥创建自动访问密钥副本。密钥管理员或系统安全官员然后可以配置数据库服务器以在不需要密钥管理员输入密码情况下,自动地访问主和双主密钥。在此实施例中,无论何时当需要主或双主密钥时,数据库服务器从主密钥启动文件中读取主密钥加密密钥或从双主密钥启动文件中读取双主密钥加密密钥,并解密自动访问密钥副本以得到主或双主密钥。
以此方式,在任何数据库用户可以访问加密的数据之前,数据库中的加密密钥可以两个实体必须独立提供彼此不知道的密码的方式受到保护。这允许本发明的实施例提供分离知识和密钥的双重控制,允许改进的加密密钥的保护。
下面参照附图详细描述本发明的另外的实施例、特征和优点以及本发明的各个实施例的结构和操作。
附图说明
附图并入本文并形成说明书的一部分,图解说明本发明的实施例,并与描述一起进一步用来解释本发明的原理,使相关领域的技术人员能够制造和使用本发明。
图1图解说明根据本发明的实施例的示例性数据库管理系统(DBMS)。
图2图解说明根据本发明的实施例的密钥管理模块。
图3A是图解说明根据本发明的实施例来创建主密钥和双主密钥的流程图。
图3B是图解说明根据本发明的实施例来使用主密钥(和双主密钥)对密钥加密的示例性方法的流程图。
图3C是图解说明根据本发明的实施例来使用导出密钥或导出密钥和主密钥对密钥加密的示例性方法的流程图。
图3D是图解说明根据本发明的实施例的用于改变密钥加密的示例性方法的流程图。
图3E是图解说明根据本发明的实施例的用于以配置的自动主密钥访问来操作数据库服务器的示例性方法的流程图。
图4A是图解说明根据本发明的实施例来将主密钥加密密钥写入主密钥启动文件的流程图。
图4B是图解说明根据本发明的实施例来解密主密钥自动访问副本的流程图。
图5是图解说明根据本发明的实施例来改变主密钥或双主密钥密码的流程图。
图6是图解说明根据本发明的实施例来重新生成主密钥或双主密钥的流程图。
图7是图解说明根据本发明的实施例的用于丢掉主或双主密钥的示例性方法的流程图。
图8图解说明用于实现本发明的实施例的组件的示例性计算机。
结合附图通过下文给出的详细描述,本发明的特征和优点将变得更加明显。在图中,相似的附图标记通常表示相同、功能相似和/或结构相似的元件。通常,元件在其中首次出现的附图以相应附图标记的最左边的数字来表示。
具体实施方式
尽管在本文中参照用于具体应用的说明性实施例描述了本发明,但应理解本发明并不局限于此。本领域技术人员在本文提供的教导下会认识到在其范围以及本发明会有大量应用的其它领域内的附加修改、应用和实施例。
如本文中使用的术语“密钥”指任何形式的秘密信息。举一个例子,密钥可以包括长度取决于加密算法的一串比特位。
术语“密钥管理员”根据实施例,指管理密钥和它们的密码的任何实体或人。举一个例子,密钥管理员可以是具有keycustodian_role的用户。keycustodian_role是包含密钥管理,诸如创建加密密钥、改变加密密钥等,所需的特权的系统角色。
术语“分离知识”根据实施例,指两个或多个实体分别具有密钥分量的条件,所述密钥分量不单独传送所产生的密码(cryptographic)密钥知识。
术语“双重控制”(或“多重控制”)根据实施例,指使用两个(或多个)单独的个人(或实体),(但利用分离知识)一起操作以保护敏感功能或信息,使得没有一个人能够访问或使用材料(诸如密码密钥)的过程。
术语“系统安全官员(SSO)”根据实施例,指执行安全相关任务的人。SSO可以访问任何数据库(例如能够检查),但通常对数据库对象没有特殊许可。安全任务包括:授予并撤销系统安全官员和密钥管理员角色;管理检查系统;更改密码;添加新注册;锁定和解锁注册帐户;创建和授予用户定义的角色;管理基于网络的安全性;和授予使用设置代理或设置会话授权命令的许可;并设置密码过期间隔。sso_role是给SSO授予特权的系统角色。
DBMS概述
本发明的实施例可以操作于如图1中所示的示例性客户机/服务器数据库系统100。系统100包括一个或多个客户机110,其通过网络120与服务器130通信。数据库管理系统(DBMS)140驻存于服务器130中。注意,示例性客户机/服务器数据库系统100示于图1中,在本文中只出于图解说明而不是限制的目的来进行讨论。本发明并不局限于图1的示例。
操作中,客户机110通过向DBMS 140发布SQL语句将数据存储到数据库表150的行155中,或从数据库表150的行155中检索数据。从客户机110接收的SQL语句被DBMS 140的查询引擎160处理。SQL是众所周知的,在许多可获得的公开的文献中有描述,包括由美国国家标准协会以美国国家标准ANSI/ISO/IEC 9075:1992出版的“Information Technology-Database Languages-SQL”,其通过引用全文合并于此。
在一个实施例中,查询引擎160包括解析器161、标准器163、编译器165、查询优化器166、代码生成器167、执行单元169和访问方法170,现在大致对它们进行描述。
从客户机110接收的SQL语句传送到解析器161,解析器将该语句转换成查询树,查询树是代表为系统方便选择的格式的查询分量的二进制树形数据结构。在这方面,解析器161使用众所周知的解析方法(例如递归下降解析)。
查询树通过标准器163标准化。标准化包括例如去掉冗余数据。此外,标准器163可以执行误差校验,诸如确认出现在查询中的表名和列名是有效的(例如,可用且适应彼此)。标准器163还可以查询存在的任何引用完整性约束,并把它们添加到查询中。
在标准化之后,查询树传送到编译器165,编译器165包括查询优化器166和代码生成器167。查询优化器166负责优化查询树。在一个实施例中,查询优化器166执行基于成本的分析以用来制定查询执行计划。查询优化器166将例如选择表的连接顺序,并选择相关索引145。查询优化器166因此执行查询分析,并从多个生成的执行计划中确定最佳执行计划,这里“最佳”是根据任意定义标准判断的,这又导致在执行单元169的查询执行过程中调用具体的访问方法170。
密钥管理概述
密钥管理包括加密中最重要的方面之一:密码密钥的生成和安全存储。在一个实施例中,提供大的密钥大小(至少128位),不过通常本发明可以任何大小的密钥操作。用户可以创建长度为192、256或更大的密钥以获得更好的安全性。
举一个例子,数据库服务器130使用任意加密算法,诸如众所周知的AES算法,来在磁盘上加密密钥。密钥存储的脆弱性在于用户提供的用来保护密钥的密码。如果用户提供的密码太短或容易猜到,则加密密钥的安全性可能被打折。
通过具有有限寿命,密钥可进一步受到保护。如果用户怀疑攻击者可能已经获得该密钥,则密钥应该被认为损坏,其使用中止。用户可以创建另一密钥,执行改变表以用新密钥加密数据,然后丢弃损坏密钥。密钥的创建日期保存在“sysobjects”(系统表)中,使得用户可以判定密钥的使用时间以及是否需要改变。改变密钥通常需要使该表不可访问,同时数据被解密,并用新密钥重新加密。
图2图解说明与执行单元169关联的密钥管理模块250。在一个实施例中,不旨在限制本发明,本发明的功能在查询执行阶段出现。例如,管理加密密钥的过程是在查询执行阶段过程中实现的,查询执行阶段是通过密钥管理模块250实现的。因此,数据库服务器130内的密钥管理模块250包括用于创建、更改和丢掉加密密钥的功能。主密钥
在一个实施例中,主密钥是数据库级的密钥,由具有sso_role或keycustodian_role的用户创建,用作密钥加密密钥(KEK)或用于用户创建的加密密钥的KEK的一部分。双主密钥也是数据库级的密钥,由具有sso_role或keycustodian_role的用户创建,并与主密钥一起作为KEK来保护用户创建的加密密钥。为了获得分离知识和双重控制,数据库的双主密钥的创建者必须与创建同一数据库中的主密钥的用户不同。举一个例子,不旨在限制本发明,主密钥是由“sysobjects”系统表和具有示例性内部名称“sysencrmasterkey”的“sysencryptkeys”系统表中的项目定义的。同样,例如,双主密钥可以使用内部名称“sybencrdualmasterkey”。
主密钥还可以与从明确的密码导出的密钥加密密钥结合使用来提供双重控制和用于用户创建的加密密钥的分离知识。
创建主密钥和双主密钥
如之前描述的,主密钥和双主密钥是数据库级的密钥,由具有sso_role或keycustodian_role的用户创建。
用于创建主密钥或双主密钥的示例性语法是:
create encryption key[dual]master
[for AES]with passwd<char_literal>
在上述语法中,“master”和“dual master”描述只用来加密同一数据库中的其它密钥的数据库级的密钥。主和双主密钥是密钥加密密钥,不用来加密数据。
参数“with passwd”用来提供用于密码保护主密钥或双主密钥的字符串密码。在一个实施例中,“with passwd”子句对于主密钥和双主密钥两者是强制性的。密码应该足够复杂以避免脆弱性。
在一个实施例中,每个数据库可以有一个主密钥和一个双主密钥。
现在参照图3A中的流程图300来描述根据本发明的实施例的用于创建主或双主密钥的示例性方法。
在步骤302,用户提供“创建加密密钥”命令给数据库服务器130。
在步骤304,用户提供“密码”参数以导出保护主或双主密钥的KEK。
在步骤306,数据库服务器130从在步骤304中接收的密码中导出密钥。
在步骤308,数据库服务器130使用在步骤302和304中接收的输入创建主或双主密钥。
在步骤310,数据库服务器130使用在步骤306中导出的密钥对主/双主密钥加密。
在一个实施例中,数据库服务器130执行主密钥和双主密钥的所有权分离。
考虑下面的示例性语法:
create encryption key master
with passwd‘unforgettablethatswhatur’
当上面的命令由具有sso_role或keycustodian_role的用户发布时,数据库服务器130用内部名称“sybencrmasterkey”创建由从“unforgettablethatswhatur”导出的KEK加密的新的主密钥。
如之前所述,双主密钥是在“creat encryption key”语法之后通过指定“dual master”参数创建的。举一个例子,双主密钥可以在创建主密钥之后创建。
考虑下面的示例性语法:
create encryption key dual master
with passwd‘doublyunforgettable’
当上述命令由具有sso_role或keycustodian_role的用户发布时,数据库服务器创建内部名称为“sybencrdualmasterkey”的由从“doublyunforgettable”导出的密钥加密密钥(KEK)加密的密钥。
当用户在CREATE ENCRYPTION KEY和ALTER ENCRYPTIONKEY语句上指定“dual_control”时,数据库服务器130然后使用双主密钥与主密钥的结合。
为主密钥和双主密钥设置加密密码
如之前所述,在密钥可以被使用之前,用于主密钥和双主密钥的密码必须由单独的实体(例如密钥所有者)提供给服务器。
当上面的命令由密钥管理员发布时,数据库服务器130将密码存储在其存储器中,直到解密操作的加密需要使用主或双主密钥时。此时,数据库服务器130使用从所存储的密码中导出的KEK解密主或双主密钥。
通过使用本发明的实施例,为数据库中的主或双主密钥设置加密密码的示例性语法如下:
set encryption passwd‘password_phrase’
for key[dual]master
保护具有主和双主密钥的加密密钥
使用本发明的实施例,创建密钥的示例性语法如下:
create encryption key keyname[as default]
[for algorithm_name]
[with[keylength numbits]
[passwd‘password_phrase’]
[init_vector{NULL|random}]
[pad{NULL|random]
[[no]dual_control]]
这里,‘[no]dual_control’表示是否应该使用(或不使用)双重控制来加密新密钥。在一个实施例中,缺省配置是不包括双重控制的配置。
下面的例子显示主密钥作为用于加密密钥的KEK的角色。如果主密钥已经被创建,它变成用于保护不指定密码的加密密钥的缺省密钥。
下面的示例性语法用主密钥加密“k1”。
create encryption key k1 with keylength 192
图3B图解说明根据上文显示的示例性语法的用于密钥加密的示例性方法308。
在步骤310,用户提供“创建加密密钥”命令到数据库服务器130。
在步骤312,用户提供keylength(密钥长度)参数。例如,如示例性语法中所示,keylength参数可以是192位。
在步骤314,数据库服务器130检查用户是否已经指定使用双重控制。如果指定使用双重控制,则数据库服务器130用主密钥和双主密钥的组合来对密钥加密(步骤316)。
返回步骤314,如果没有指定双重控制,则数据库服务器130用主密钥对密钥加密(步骤318)。
下一示例性语法用主密钥和双主密钥的组合来加密“k2”:
create encryption key k2 with init_Vector random
dual_control
下面的示例性命令用主密钥和从“Ybother”导出的密钥来加密“k3”。在此双重控制情形中不使用双主密钥。在此例子中,双重控制和分离知识存在于主密钥的所有人和“k3”的所有人之间。
create encryption key k3
with passwd‘Ybother’
dual_control
图3C图解说明根据上文所示的示例性语法,使用密码对密钥加密的示例性方法319。
在步骤320,用户提供“创建加密密钥”命令到数据库服务器130.
在步骤322,用户提供密码参数。例如,如示例性语法中所示,密码参数可以是“Ybother”。
在步骤324,数据库服务器130从步骤322中用户提供的密码中导出加密密钥。
在步骤326,数据库服务器130检查用户是否已经指定使用双重控制。如果指定使用双重控制,数据库服务器130用主密钥和从密码导出的密钥(例如从密码“Ybother”导出的密钥)的组合来对密钥加密(步骤328)。
返回步骤326,如果没有指定双重控制(步骤326),数据库服务器130用从密码导出的密钥来对密钥加密(步骤330)。
使用主密钥和从密码导出的密钥的组合的加密必须以可以重新生成主密钥以及在不知道密钥的密码(即第二秘密)时重新加密受影响的加密密钥的方式来进行。在一个实施例中,此操作可以通过加密原始加密密钥两次来实现,第一次是通过从密码导出的密钥,第二次是通过主密钥。
改变加密密钥指定以使用主密钥
如之前所述,如果主密钥存在,并且当创建加密密钥不指定待用作KEK的密码时,数据库服务器130使用主密钥作为KEK。
加密密钥的示例性的“alter encryption key”语法如下:
这里,master key(MODIFY动词之前的WITH子句)-表示当前加密使用主密钥。在一个实施例中,可以不必指定密码login_passwd,也不必指定主密钥,原因是服务器130判定密钥是如何用“sysencryptkeys”系统表中的状态位来加密的。
master key(在MODIFY动词之后的WITH子句)-表示密钥是将用主密钥重新加密的。
[no]dual control-表示密钥的加密是否应该在双重控制下进行。在一个实施例中,缺省配置是非双重控制。
以下的例子图解说明根据本发明的实施例的数据库服务器130改变加密密钥指定的操作。
例子1
在此例子中,k1当前是通过用户密码“goodbye2U”加密的。用户想使用主密钥作为k1的KEK。在此示例性语法中,MODIFY动作之后的“with master key”子句允许用户改变加密来使用主密钥。
alter encryption key k1
with passwd‘goodbye2U’
modify encryption
with master key
图3D图解说明根据上文所示的示例性语法,改变当前通过密码加密的密钥的加密的示例性方法332。
在步骤334,用户提供“改变加密密钥”命令给数据库服务器130。
在步骤336,用户提供密码参数。例如,如示例性语法所示,密码参数可以是当前用来对密钥“k1”加密的密码。
在步骤337,数据库服务器130使用从步骤336中的密码导出的密钥来解密密钥“k1”。
在步骤338,“修改加密密钥”命令提供给数据库服务器130。
在步骤340,数据库服务器130检查用户是否指定使用双重控制。如果指定使用双重控制,则数据库服务器130用主密钥和双主密钥的组合来对密钥加密(步骤342)。
返回步骤340,如果没指定双重控制,数据库服务器130用主密钥来对密钥加密(步骤344)。
以此方式,根据本发明的实施例,密钥的加密必须被改变。以下例子显示改变密钥加密的其它实施例。
例子2
在此例子中,k2当前是通过主密钥加密的。此示例性语法改变“k2”以在双重控制下通过主和双主密钥重新加密。
alter encryption key k2
modify encryption
with master key
dual_control
可替代地,以下语法可以用来重新加密“k2”:
alter encryption key k2
modify encryption
with dual_control
例子3
在此例子中,k3当前是在双重控制下使用密码“Bnice2day”和主密钥来加密的。此示例性语法从“k3”中去掉了双重控制,将其返回到在从“Bnice2day”导出的KEK的单控制的形式。
alter encryption key k3 with passwd‘Bnice2day’
modify encryption
with passwd‘Bnice2day’
no dual_control
在一个实施例中,数据库服务器130可以在不知道其密码的情况下将密码保护的加密密钥改变为单控制,原因是双重控制会在通过主密钥的“外部”加密之后,通过从密码导出的KEK在内部采用“内部”加密的形式。去掉双重控制等于用主密钥解密。
例子4
在此例子中,如果k4当前是通过主密钥加密的,以下命令会使用从密码“BytheC”导出的密钥和主密钥来用双重控制来对其加密。
alter encryption key k4
modify encryption
with passwd‘BytheC’
dual_control
自动主密钥访问的配置选项
在一个实施例中,存在可由具有sso_role的用户设置的自动主密钥访问的配置选项。自动主密钥访问配置表示数据库服务器130是否应该操作于自动主密钥访问模式。此配置选项包括整数自变量,这里值“1”打开该选项,“0”关闭该选项。
如之前所描述的,在自动主密钥访问模式下,如果automatic_access密钥副本对于那些主密钥是可得到的,则即使在不设置主密钥的密码的情况下,数据库服务器130也允许用户访问数据库的主密钥。
在一个实施例中,数据库服务器130在主密钥或双主密钥被改变以增加对于automatic_access的密钥副本时,将主或双主密钥的KEK写入主密钥启动文件或双主密钥启动文件中(在此描述中,加密主密钥或双主密钥的KEK称作外部MKEK)。
当服务器以配置的自动主密钥访问来启动时,或者当自动主密钥访问使能时,数据库服务器130从服务器专用主密钥启动文件中将用于所有数据库的主密钥和双主密钥的外部MKEK读入服务器存储器中。
当访问数据库中的主密钥或双主密钥时,代替检索基础密钥(原始的主或双主密钥),数据库服务器130检索automatic_access密钥副本,并用从服务器存储器取得的MKEK来解密密钥副本。
图3E图解说明用于以配置的自动主密钥访问来操作数据库服务器130的示例性方法360。
在步骤362,数据库服务器130以配置的自动主密钥访问来启动。
在步骤364,数据库服务器130从服务器专用主密钥启动文件中将外部MKEK读入到存储器中。
在步骤366,数据库服务器130在访问数据库130中的主或双主密钥时,检索“automatic_access”副本。
在步骤368,数据库服务器130用来自数据库服务器130的存储器的MKEK来解密“automatic_access”副本。
如果配置自动主密钥访问,并且数据库的主密钥或双主密钥具有automatic_access副本,则主或双主密钥不可被访问,直到外部MKEK可用于数据库服务器130。
在一个实施例中,SSO可通过诸如“sp_encryptionmkey_startup_file”的管理命令指定特定主密钥或双主密钥启动文件的名称和位置。如果没有指定特定的主密钥启动文件的名称和位置,则可以使用缺省主密钥启动文件,例如在包含安全性相关文件的目录中。
用于自动访问和密钥恢复的主密钥副本
在一个实施例中,数据库服务器130是以′自动主密钥访问’模式配置的。在自动主密钥访问模式下,即使主密钥的密码不是在服务器存储器中设置的,数据库服务器130也可以是能够访问数据库的主密钥。
在自动主密钥访问模式下,数据库服务器130使用从主密钥启动文件中读取的主KEK来解密主密钥。为了将数据库服务器130配置于自动主密钥访问模式,除了允许在服务器级实现自动主密钥访问,SSO或密钥管理员需要在数据库中为主或双主密钥创建automatic_access密钥副本。
在一个实施例中,主密钥或双主密钥可以被改变以增加密钥副本。需要主密钥副本来提供针对用于自动主密钥访问的主密钥或双主密钥的访问,并支持主密钥的恢复。
增加主密钥副本的示例性语法如下:
这里
passwd(第一个引用)-指定目前加密基础主密钥或双主密钥的密码。
passwd(第二个引用)-对于恢复主密钥副本来说必须被提供。对于automatic_access主密钥副本来说可以不使用。
for user-表示恢复密钥副本将要被分配给的用户。举一个例子,数据库中除了密钥所有人的任何使用者可以是密钥恢复副本的分配人。
for recovery-表示在丢失密码的情况下将用作恢复主或双主密钥的密钥副本。
for automatic_access-表示在配置为“自动主密钥访问”的数据库服务器130启动之后,密钥副本要被用来访问主/双主密钥。
当对于automatic_access增加主密钥副本时,数据库服务器130由随机数据在内部创建MKEK,加密主密钥副本,且还将MKEK写到通过诸如‘sp_encryption mkey_startup_file’的管理命令提供的缺省或配置的服务器专用主密钥启动文件。
当数据库服务器130接着在“自动主密钥访问”模式启动时,数据库服务器130会从主密钥启动文件中读取主密钥副本的MKEK,并用它来解密主密钥的automatic_access副本。
如果还没有设置automatic_access密钥副本,SSO或密钥管理员必须在用户可以访问由受主密钥和双主密钥保护的密钥加密的数据之前,使用一组加密密码命令来提供主和双主密钥的密码。
现在参照图4A中的流程图400来描述根据本发明的实施例的向主密钥启动文件中写入MKEK的示例性方法。
在步骤402,数据库服务器130由随机数据创建MKEK。
在步骤404,数据库服务器130使用在步骤402创建的MKEK来加密主密钥副本。
在步骤406,数据库服务器130将在步骤402中创建的MKEK写到主密钥启动文件中。
现在参照图4B中的流程图410来描述根据本发明的实施例的解密主密钥的自动访问副本的示例性方法。
在步骤412,它发生在数据库服务器130接着在自动主密钥访问模式启动时,数据库服务器130从主密钥启动文件中读取主密钥副本的MKEK。
在步骤414,数据库服务器130使用在步骤412中获得的MKEK来解密主密钥的自动访问副本。可设置相似机制以解密双主密钥的自动访问副本。
以此方式,通过允许分离秘密(例如主密钥和双主密钥)被安全地施加到数据库服务器130,用户可以借助数据库服务器130的自动主密钥访问来满足双重控制和分离知识的要求。此外,如果数据库服务器130在任何时间毁坏或遇到故障,可以使用自动主密钥访问来恢复数据库操作。
改变主密钥副本以改变密码/MKEK
通过SSO或密钥管理员可以修改主密钥副本,以改变它们的密码,或对于automatic_access密钥副本来改变内部生成并在外部存储的MKEK。
用于改变主密钥副本以改变它们的密码的示例性语法是:
这里,
passwd(第一个引用)-是在创建主密钥命令或在改变双主密钥或主密钥的密码的最后一个命令上指定的密码。如果指定“[forrecovery]”,它是恢复密钥副本的当前密码。
passwd(第二个引用)-是为改变恢复主密钥副本的密码而提供的。它为恢复密钥副本提供新密码。
modify encryption-用于改变基础密钥、恢复副本或automatic_access密钥副本上的明确的密码。
可以通过密钥管理员或SSO(借助主密钥的密码的知识)来执行下面的示例性语法,以改变用来加密主密钥的automatic_access密钥副本的外部MKEK:
alter encryption key master
with passwd‘unforgettablethatswhatur’
modify encryption for automatic_access
在一个实施例中,当修改automatic_access密钥副本时,数据库服务器130用从“passwd”(在此例子中是‘unforgettablethatswhatur’)导出的MKEK来解密基础主密钥。
数据库服务器130然后创建新的外部MKEK,并代替主密钥启动文件中之前的MKEK。然后,数据库服务器130通过使用新的外部MKEK对主密钥加密来创建新的automatic_access密钥副本,并以与新的automatic_access密钥副本来代替sysencryptkeys中的老的automatic_access密钥副本。在一个实施例中,数据库服务器130以与对主密钥相同的方式在双主密钥上改变automatic_access密钥副本。
下列示例性语法将主密钥的加密密码从`unforgetablethatswhatur’变成`cole1951’。
alter encryption key master
with passwd‘unforgettablethatswhatur’
modify encryption with passwd‘cole 1951’
现在参照图5中的流程图500来描述根据本发明的实施例生成改变的主或双主密钥的示例性方法。
在步骤502,用户(例如密钥管理员或SSO)提供“改变加密密钥”命令给数据库服务器130。
在步骤504,用户提供第一密码参数,它是用户想改变的密码。
在步骤506,用户提供第二密码参数,它是与主或双主密钥关联的新的密码。
在步骤508,数据库服务器130基于在步骤502、504和506中从用户接收的输入来重新加密主或双主密钥。
恢复主密钥或双主密钥
在一个实施例中,用于恢复主或双主密钥的程序与用于恢复常规加密密钥的程序是一样的。
用于恢复主或双主密钥的示例性语法如下:
alter encryption key[dual]master
with passwd<char_string>
recover encryption
with passwd<char_string>
上面用于恢复主密钥的语法可以由密钥管理员或由SSO执行。在上面的语法中,第一个“passwd”引用是从密钥恢复器获得的恢复密钥副本的密码。第二个“passwd”引用是用于基础密钥的新密码。
重新生成主密钥或双主密钥
如之前所述,主和双主密钥是用于加密密钥的KEK。好的密钥管理策略要求管理者周期性地通过重新生成KEK来改变KEK。
在一个实施例中,代替允许创建超过一个的主或双主密钥,然后强迫用户通过更新的主和双主密钥去改变待被重新加密的每个加密密钥,数据库服务器130支持使用“重新生成”命令的主密钥的重新生成。
“regenerate”命令用新的原始密钥代替主或双主密钥的原始密钥值,并重新加密通过主或双主密钥加密的所有加密密钥。
用于重新生成主或双主密钥的示例性语法如下:
alter encryption key[dual]master
with passwd<char_string>
regenerate key
[with passwd<char_string>]
图6图解说明描述通过数据库服务器130重新生成主或双主密钥的方法600。
在步骤601,用户提供‘改变加密密钥主/双主重新生成密钥’命令。
在步骤602,数据库服务器130确认“passwd”解密基础主或双主密钥。
在步骤604,数据库服务器130创建新的主或双主密钥。
在步骤606,数据库服务器130通过新的主或双主密钥重新加密所有(单独或部分)加密的主/双主加密密钥。
在步骤610,数据库服务器用通过从以下数据导出的KEK加密的新的密钥来代替主或双主密钥,a)如果没提供第二可选“passwd”,则是第一引用“passwd”或b)新提供的密码。
在步骤612,数据库服务器130丢弃密钥恢复副本。主密钥所有人必须执行改变加密密钥以增加新的恢复密钥副本,并通知新密码的指定密钥恢复器。
在步骤614,如果存在一个automatic_access密钥副本,数据库服务器130重新生成automatic_access密钥副本。
丢掉主密钥、恢复密钥副本或“automatic_access”密钥副本
用于丢弃(或丢掉)主密钥或双主密钥的示例性语法如下:
drop encryption key[dual]master
在一个实施例中,如果保持正在被丢掉的由主或双主密钥加密的任何密钥,则数据库服务器130可能不允许“丢掉”命令。上面的命令可以通过密钥管理员或SSO执行。
在一个实施例中,一旦由数据库服务器130执行“丢掉”命令,则数据库服务器130丢掉主密钥(或双主密钥)和其密钥副本,即自动访问密钥副本和恢复密钥副本,并且如果automatic_access密钥副本存在,还从主密钥启动文件恢复外部MKEK。
举一个例子,可以用下面的示例性语法来丢掉恢复密钥副本。
alter encryption key[dual]master
drop encryption for recovery
例如,automatic_access密钥副本用下面的语法丢掉,这会从主密钥启动文件中去掉外部MKEK,并且如果配置自动主密钥访问,则会从服务器存储器中丢掉MKEK。
alter encryption key[dual]master
drop encryption for automatic_access
图7图解说明根据上文显示的示例性语法的用于丢掉加密密钥的示例性方法700。
在步骤702,用户提供“丢掉加密密钥”命令到数据库服务器130。
在步骤704,数据库服务器130丢掉主密钥或双主密钥和其密钥副本。
在步骤706,数据库服务器130从主密钥启动文件中去掉外部MKEK。
示例性计算机实施例
在本发明的实施例中,本文中描述的实施例的系统和组件是使用已知的计算机,诸如图8中所示的示例性计算机802,实现的。例如,数据库服务器130可以使用计算机802实现。
计算机802可以是任何可购买和已知的能够执行本文描述的功能的计算机,诸如可从International Business Machines、Apple、Sun、HP、Dell、Compaq、Digital、Cray等购买的计算机。
计算机802包括一个或多个处理器(也称作中央处理单元或CPU),诸如处理器806。处理器806连接到通信总线804。
计算机802还包括主或主要存储器808,诸如随机存取存储器(RAM)。主存储器808其中存储了控制逻辑826A(计算机软件)和数据。
计算机802还包括一个或多个第二存储装置810。第二存储装置810包括例如硬盘驱动器812和/或可移动存储装置或驱动器814,以及其它类型的存储装置,诸如存储卡和存储棒。可移动存储装置814代表软盘驱动器、磁带驱动器、光盘驱动器、光存储装置和磁带备份等。
可移动存储装置814与可移动存储单元816相接。可移动存储单元816包括其中存储计算机软件828B(控制逻辑)和/或数据的计算机可用或可读存储介质824。可移动存储单元816代表软盘、磁带、光盘、DVD、光存储盘或其它任何计算机数据存储装置。可移动存储驱动器814以已知方式读取和/或写入到可移动存储单元816。
计算机802还包括输入/输出/显示装置822,诸如监视器、键盘、指针装置等等。
计算机802进一步包括通信或网络接口818。网络接口818使得计算机802能够与远程装置通信。例如,网络接口818允许计算机802通过诸如LAN、WAN、因特网等的通信网络或介质824B(代表计算机可用或可读介质的形式)通信。网络接口818可以通过有线或无线连接与远程站点或网络相接。
控制逻辑828C可以通过通信介质828B与计算机802来回传送。更具体地,计算机802可通过通信介质824B接收并发送用控制逻辑830调制的载波(电磁信号)。
任何包括其中存储了控制逻辑(软件)的计算机可用或可读介质的设备或制造品在本文中称作计算机程序产品或程序存储装置。这包括但不局限于计算机802、主存储器808、第二存储装置810、可移动存储单元816和用控制逻辑830调制的载波。其中存储了控制逻辑的此计算机程序产品在由一个或多个数据处理装置执行时,使此数据处理装置能够以本文描述的方式工作,代表本发明的实施例。
本发明可以以除了本文中描述的那些之外的软件、硬件和/或操作系统实现来工作。可以使用适于执行本文描述的功能的任何软件、硬件和操作系统实现。
结论
发明内容和摘要部分给出了发明人考虑到的一个或多个但不是所有的本发明的示例性实施例,因此,不旨在以任何方式限制本发明和所附权利要求。
借助图解说明实现特定功能和其关系的功能构建块,上面已经描述了本发明。为了便于描述,在本文中已经任意定义了这些功能构建块的界限。只要特定功能和其关系是适当执行的,可以定义可替代界限。
特定实施例的前述描述会非常全面地揭露本发明的基本性质,在不通过大量实验,不偏离本发明的基本概念下,其它人通过应用本领域的知识可容易地修改和/或适应诸如特定实施例的各种应用。因此,基于本文提出的教导和指点,此适应性修改和改变旨在所公开的实施例的等同物的含义和范围内。应理解,本文的措词或术语用于描述目的,不用于限制,使得本说明书的术语或措词由本领域技术人员根据教导和指点来解读。
本发明的宽度和范围不应由上述的示例性实施例中的任何一个来限制,而应该只根据下面的权利要求和其等同物来定义。
Claims (27)
1.一种用于保护数据库中的加密密钥的方法,包括:
(1)生成由第一实体提供的主密钥;
(2)生成由第二实体提供的双主密钥;和
(3)使用所述主密钥和所述双主密钥加密所述加密密钥。
2.根据权利要求1所述的方法,其中步骤(1)包括:
接收创建所述主密钥的命令;
接收保护所述主密钥的密码。
3.根据权利要求1所述的方法,进一步包括:
(4)以自动主密钥访问模式配置与所述数据库关联的数据库服务器。
4.根据权利要求3所述的方法,其中所述配置步骤包括:
为所述数据库服务器启用自动主密钥访问;和
为所述主密钥和所述双主密钥创建自动访问密钥副本。
5.根据权利要求4所述的方法,进一步包括:
由随机数据创建密钥加密密钥;
使用所述密钥加密密钥来加密所述主密钥自动访问副本;和
将所述密钥加密密钥存储在服务器专用主密钥启动文件中。
6.根据权利要求1所述的方法,进一步包括:
以自动主密钥访问模式初始化与所述数据库关联的数据库服务器。
7.根据权利要求6所述的方法,其中所述初始化步骤进一步包括:
从主密钥启动文件中读出主密钥副本的密钥加密密钥;
使用所述密钥加密密钥来解密主密钥自动访问副本。
8.根据权利要求1所述的方法,进一步包括:
改变所述主密钥的密码。
9.根据权利要求8所述的方法,其中所述改变步骤包括:
接收第一密码;
接收第二密码;和
接收改变所述主密钥的命令,
其中所述第一密码是当前与所述主密钥关联的密码,所述第二密码是代替所述第一密码的密码。
10.根据权利要求1所述的方法,进一步包括:
恢复所述主密钥和所述双主密钥。
11.根据权利要求1所述的方法,进一步包括:
重新生成所述主密钥和所述双主密钥。
12.根据权利要求11所述的方法,其中所述重新生成步骤包括:
用新原始密钥值来代替所述主密钥和所述双主密钥的原始密钥值;和
以重新生成的主密钥和双主密钥来重新加密所述加密密钥。
13.根据权利要求1所述的方法,进一步包括:
使用所述主密钥和从密码导出的密钥的组合来加密所述加密密钥。
14.根据权利要求13所述的方法,进一步包括:
通过经由不同实体提供所述主密钥和所述从密码导出的密钥来访问加密的数据。
15.根据权利要求1所述的方法,进一步包括更新主密钥启动文件。
16.一种用于保护数据库中的加密密钥的数据库服务器,包括:
生成从第一实体获得的主密钥的第一模块;
生成从第二实体获得的双主密钥的第二模块;和
使用所述主密钥和所述双主密钥加密所述加密密钥的第三模块。
17.根据权利要求16所述的系统,其中所述数据库服务器包括密钥管理模块。
18.根据权利要求16所述的系统,其中所述主密钥和所述双主密钥是数据库级的密钥。
19.根据权利要求16所述的系统,其中所述主密钥和所述双主密钥是用于用户创建的密钥的密钥加密密钥(KEK)。
20.根据权利要求16所述的系统,其中所述第一模块使用所述主密钥与所述双主密钥的组合作为合成密钥以為所有用户创建的密钥提供双重控制和分离知识。
21.根据权利要求16所述的系统,其中所述第一模块使用所述主密钥与明确的密码的组合来提供用户创建的加密密钥的分离知识和双重控制。
22.根据权利要求16所述的系统,进一步包括所述数据库的系统表,所述主密钥是在所述系统表中定义的。
23.根据权利要求16所述的系统,其中所述数据库服务器是以自动主密钥访问模式配置的。
24.根据权利要求23所述的系统,其中所述数据库服务器为所述自动主密钥访问模式创建主密钥启动文件。
25.根据权利要求24所述的系统,其中所述数据库服务器从所述主密钥启动文件中将用于所有数据库的所述主密钥和所述双主密钥的外部MKEK读入到服务器存储器中。
26.根据权利要求24所述的系统,其中所述数据库服务器将所述主密钥启动文件创建为只读文件。
27.一种其中存储了控制逻辑的计算机程序产品,所述控制逻辑使得处理器能够保护数据库中的加密密钥,所述控制逻辑包括:
用于使处理器能够生成由第一实体提供的主密钥的第一计算机可读程序代码装置;
用于使处理器能够生成由第二实体提供的双主密钥的第二计算机可读程序代码装置;和
用于使处理器能够使用所述主密钥和所述双主密钥加密所述加密密钥的第三计算机可读程序代码装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/464,617 US9158933B2 (en) | 2007-08-17 | 2009-05-12 | Protection of encryption keys in a database |
US12/464,617 | 2009-05-12 | ||
PCT/US2010/033699 WO2010132251A2 (en) | 2009-05-12 | 2010-05-05 | Protection of encryption keys in a database |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102422590A true CN102422590A (zh) | 2012-04-18 |
CN102422590B CN102422590B (zh) | 2016-01-06 |
Family
ID=43068525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080020514.3A Active CN102422590B (zh) | 2009-05-12 | 2010-05-05 | 数据库中加密密钥的保护 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9158933B2 (zh) |
EP (1) | EP2430789B1 (zh) |
CN (1) | CN102422590B (zh) |
WO (1) | WO2010132251A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103391187A (zh) * | 2012-05-09 | 2013-11-13 | 天津书生投资有限公司 | 一种云存储安全控制的方法 |
CN104935429A (zh) * | 2014-03-17 | 2015-09-23 | Tcl集团股份有限公司 | 一种采用多重加密的数据处理方法及其系统 |
CN106104562A (zh) * | 2014-03-10 | 2016-11-09 | 钱晓燕 | 机密数据安全储存和恢复系统及方法 |
CN111639357A (zh) * | 2020-06-05 | 2020-09-08 | 杭州安恒信息技术股份有限公司 | 一种加密网盘系统及其认证方法和装置 |
Families Citing this family (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9672333B2 (en) * | 2007-05-25 | 2017-06-06 | Adobe Systems Incorporated | Trusted storage |
US8326814B2 (en) | 2007-12-05 | 2012-12-04 | Box, Inc. | Web-based file management system and service |
US8510552B2 (en) * | 2010-04-07 | 2013-08-13 | Apple Inc. | System and method for file-level data protection |
WO2012099617A1 (en) | 2011-01-20 | 2012-07-26 | Box.Net, Inc. | Real time notification of activities that occur in a web-based collaboration environment |
US9015601B2 (en) | 2011-06-21 | 2015-04-21 | Box, Inc. | Batch uploading of content to a web-based collaboration environment |
WO2013009337A2 (en) | 2011-07-08 | 2013-01-17 | Arnold Goldberg | Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof |
GB2503625A (en) | 2011-07-08 | 2014-01-01 | Box Inc | Collaboration sessions in a workspace on cloud-based content management system |
US9197718B2 (en) | 2011-09-23 | 2015-11-24 | Box, Inc. | Central management and control of user-contributed content in a web-based collaboration environment and management console thereof |
US8515902B2 (en) | 2011-10-14 | 2013-08-20 | Box, Inc. | Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution |
US11210610B2 (en) | 2011-10-26 | 2021-12-28 | Box, Inc. | Enhanced multimedia content preview rendering in a cloud content management system |
US9098474B2 (en) | 2011-10-26 | 2015-08-04 | Box, Inc. | Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience |
WO2013082320A1 (en) | 2011-11-29 | 2013-06-06 | Box, Inc. | Mobile platform file and folder selection functionalities for offline access and synchronization |
CN102508931B (zh) * | 2011-12-12 | 2013-04-10 | 山东瀚高科技有限公司 | 一种保护数据库的方法 |
US9081875B2 (en) * | 2011-12-30 | 2015-07-14 | General Electric Company | Systems and methods for organizing clinical data using models and frames |
US9904435B2 (en) | 2012-01-06 | 2018-02-27 | Box, Inc. | System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment |
US11232481B2 (en) | 2012-01-30 | 2022-01-25 | Box, Inc. | Extended applications of multimedia content previews in the cloud-based content management system |
US9965745B2 (en) | 2012-02-24 | 2018-05-08 | Box, Inc. | System and method for promoting enterprise adoption of a web-based collaboration environment |
US9195636B2 (en) | 2012-03-07 | 2015-11-24 | Box, Inc. | Universal file type preview for mobile devices |
US8458494B1 (en) * | 2012-03-26 | 2013-06-04 | Symantec Corporation | Systems and methods for secure third-party data storage |
US9054919B2 (en) | 2012-04-05 | 2015-06-09 | Box, Inc. | Device pinning capability for enterprise cloud service and storage accounts |
US9575981B2 (en) | 2012-04-11 | 2017-02-21 | Box, Inc. | Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system |
US9413587B2 (en) | 2012-05-02 | 2016-08-09 | Box, Inc. | System and method for a third-party application to access content within a cloud-based platform |
GB2514947B (en) | 2012-05-04 | 2015-06-17 | Box Inc | Repository redundancy implementation of a system which incrementally updates clients with events that occured via a cloud-enabled platform |
US9691051B2 (en) | 2012-05-21 | 2017-06-27 | Box, Inc. | Security enhancement through application access control |
US8914900B2 (en) | 2012-05-23 | 2014-12-16 | Box, Inc. | Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform |
GB2505072A (en) | 2012-07-06 | 2014-02-19 | Box Inc | Identifying users and collaborators as search results in a cloud-based system |
US9712510B2 (en) | 2012-07-06 | 2017-07-18 | Box, Inc. | Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform |
US9792320B2 (en) | 2012-07-06 | 2017-10-17 | Box, Inc. | System and method for performing shard migration to support functions of a cloud-based service |
US9237170B2 (en) | 2012-07-19 | 2016-01-12 | Box, Inc. | Data loss prevention (DLP) methods and architectures by a cloud service |
US9794256B2 (en) | 2012-07-30 | 2017-10-17 | Box, Inc. | System and method for advanced control tools for administrators in a cloud-based service |
US8745267B2 (en) | 2012-08-19 | 2014-06-03 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
US9369520B2 (en) | 2012-08-19 | 2016-06-14 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
US9317715B2 (en) * | 2012-08-24 | 2016-04-19 | Sap Se | Data protection compliant deletion of personally identifiable information |
US9558202B2 (en) | 2012-08-27 | 2017-01-31 | Box, Inc. | Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment |
US9135462B2 (en) * | 2012-08-29 | 2015-09-15 | Box, Inc. | Upload and download streaming encryption to/from a cloud-based platform |
US9117087B2 (en) | 2012-09-06 | 2015-08-25 | Box, Inc. | System and method for creating a secure channel for inter-application communication based on intents |
US9311071B2 (en) | 2012-09-06 | 2016-04-12 | Box, Inc. | Force upgrade of a mobile application via a server side configuration file |
US9195519B2 (en) | 2012-09-06 | 2015-11-24 | Box, Inc. | Disabling the self-referential appearance of a mobile application in an intent via a background registration |
US9292833B2 (en) | 2012-09-14 | 2016-03-22 | Box, Inc. | Batching notifications of activities that occur in a web-based collaboration environment |
US9553758B2 (en) | 2012-09-18 | 2017-01-24 | Box, Inc. | Sandboxing individual applications to specific user folders in a cloud-based service |
US10915492B2 (en) | 2012-09-19 | 2021-02-09 | Box, Inc. | Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction |
US9959420B2 (en) | 2012-10-02 | 2018-05-01 | Box, Inc. | System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment |
US9705967B2 (en) | 2012-10-04 | 2017-07-11 | Box, Inc. | Corporate user discovery and identification of recommended collaborators in a cloud platform |
US9495364B2 (en) | 2012-10-04 | 2016-11-15 | Box, Inc. | Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform |
US9665349B2 (en) | 2012-10-05 | 2017-05-30 | Box, Inc. | System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform |
US9756022B2 (en) | 2014-08-29 | 2017-09-05 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
US9628268B2 (en) * | 2012-10-17 | 2017-04-18 | Box, Inc. | Remote key management in a cloud-based environment |
US10235383B2 (en) | 2012-12-19 | 2019-03-19 | Box, Inc. | Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment |
US9396245B2 (en) | 2013-01-02 | 2016-07-19 | Box, Inc. | Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US9953036B2 (en) | 2013-01-09 | 2018-04-24 | Box, Inc. | File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US9507795B2 (en) | 2013-01-11 | 2016-11-29 | Box, Inc. | Functionalities, features, and user interface of a synchronization client to a cloud-based environment |
US10599671B2 (en) | 2013-01-17 | 2020-03-24 | Box, Inc. | Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform |
US10725968B2 (en) | 2013-05-10 | 2020-07-28 | Box, Inc. | Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform |
US10846074B2 (en) | 2013-05-10 | 2020-11-24 | Box, Inc. | Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client |
US9633037B2 (en) | 2013-06-13 | 2017-04-25 | Box, Inc | Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform |
US9805050B2 (en) | 2013-06-21 | 2017-10-31 | Box, Inc. | Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform |
US10229134B2 (en) | 2013-06-25 | 2019-03-12 | Box, Inc. | Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform |
US10110656B2 (en) | 2013-06-25 | 2018-10-23 | Box, Inc. | Systems and methods for providing shell communication in a cloud-based platform |
US9535924B2 (en) | 2013-07-30 | 2017-01-03 | Box, Inc. | Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US10162858B2 (en) | 2013-07-31 | 2018-12-25 | Sap Se | Local versus remote optimization in encrypted query processing |
US9213684B2 (en) | 2013-09-13 | 2015-12-15 | Box, Inc. | System and method for rendering document in web browser or mobile device regardless of third-party plug-in software |
US9704137B2 (en) | 2013-09-13 | 2017-07-11 | Box, Inc. | Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform |
GB2518298A (en) | 2013-09-13 | 2015-03-18 | Box Inc | High-availability architecture for a cloud-based concurrent-access collaboration platform |
US10509527B2 (en) | 2013-09-13 | 2019-12-17 | Box, Inc. | Systems and methods for configuring event-based automation in cloud-based collaboration platforms |
US8892679B1 (en) | 2013-09-13 | 2014-11-18 | Box, Inc. | Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform |
US9535909B2 (en) | 2013-09-13 | 2017-01-03 | Box, Inc. | Configurable event-based automation architecture for cloud-based collaboration platforms |
US10866931B2 (en) | 2013-10-22 | 2020-12-15 | Box, Inc. | Desktop application for accessing a cloud collaboration platform |
US10354084B2 (en) * | 2013-10-28 | 2019-07-16 | Sepior Aps | System and a method for management of confidential data |
US9639710B2 (en) | 2013-12-23 | 2017-05-02 | Symantec Corporation | Device-based PIN authentication process to protect encrypted data |
US9679160B1 (en) * | 2014-01-13 | 2017-06-13 | Symantec Corporation | Systems and methods for maintaining encrypted search indexes on third-party storage systems |
US9760710B2 (en) | 2014-02-28 | 2017-09-12 | Sap Se | Password recovering for mobile applications |
US10530854B2 (en) | 2014-05-30 | 2020-01-07 | Box, Inc. | Synchronization of permissioned content in cloud-based environments |
US9602514B2 (en) | 2014-06-16 | 2017-03-21 | Box, Inc. | Enterprise mobility management and verification of a managed application by a content provider |
US9258121B2 (en) * | 2014-06-20 | 2016-02-09 | Gemalto Sa | Method to manage modification of encryption credentials |
US10038731B2 (en) | 2014-08-29 | 2018-07-31 | Box, Inc. | Managing flow-based interactions with cloud-based shared content |
US9894119B2 (en) | 2014-08-29 | 2018-02-13 | Box, Inc. | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
US10574442B2 (en) | 2014-08-29 | 2020-02-25 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
US10892889B2 (en) * | 2015-04-07 | 2021-01-12 | Coleridge Enterprises Llc | Systems and methods for an enhanced XOR cipher through extensions |
CN104881280B (zh) * | 2015-05-13 | 2018-05-08 | 南京邮电大学 | 一种支持多查询的密文数据库中间件的设计方法 |
CN106302312B (zh) | 2015-05-13 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 获取电子文件的方法及装置 |
CN106326763B (zh) | 2015-06-15 | 2020-01-14 | 阿里巴巴集团控股有限公司 | 获取电子文件的方法及装置 |
US10454900B2 (en) | 2015-09-25 | 2019-10-22 | Mcafee, Llc | Remote authentication and passwordless password reset |
CN107292618B (zh) * | 2016-04-11 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 数据库中密文数据换密失败的处理方法和装置 |
US10846668B1 (en) | 2016-04-12 | 2020-11-24 | Wells Fargo Bank, N.A. | Systems and methods for completing transactions via curbside service |
US10592679B2 (en) * | 2016-06-10 | 2020-03-17 | Apple Inc. | Support for changing encryption classes of files |
US10460118B2 (en) | 2016-08-30 | 2019-10-29 | Workday, Inc. | Secure storage audit verification system |
US10187203B2 (en) * | 2016-08-30 | 2019-01-22 | Workday, Inc. | Secure storage encryption system |
US10177908B2 (en) * | 2016-08-30 | 2019-01-08 | Workday, Inc. | Secure storage decryption system |
US10382428B2 (en) * | 2016-09-21 | 2019-08-13 | Mastercard International Incorporated | Systems and methods for providing single sign-on authentication services |
US10615969B1 (en) | 2017-02-10 | 2020-04-07 | Wells Fargo Bank, N.A. | Database encryption key management |
US10615970B1 (en) | 2017-02-10 | 2020-04-07 | Wells Fargo Bank, N.A. | Secure key exchange electronic transactions |
US10841089B2 (en) | 2017-08-25 | 2020-11-17 | Nutanix, Inc. | Key managers for distributed computing systems |
US11804955B1 (en) | 2019-09-13 | 2023-10-31 | Chol, Inc. | Method and system for modulated waveform encryption |
CN111639348B (zh) * | 2020-05-14 | 2022-12-16 | 瀚高基础软件股份有限公司 | 数据库秘钥的管理方法及装置 |
GB2608435B (en) * | 2021-07-02 | 2023-07-12 | Worldr Tech Limited | System and method for managing transparent data encryption of database |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020071566A1 (en) * | 2000-12-11 | 2002-06-13 | Kurn David Michael | Computer system employing a split-secret cryptographic key linked to a password-based cryptographic key security scheme |
US20060053112A1 (en) * | 2004-09-03 | 2006-03-09 | Sybase, Inc. | Database System Providing SQL Extensions for Automated Encryption and Decryption of Column Data |
US20080077806A1 (en) * | 2006-09-27 | 2008-03-27 | International Business Machines Corporation | Encrypting and decrypting database records |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4375579A (en) | 1980-01-30 | 1983-03-01 | Wisconsin Alumni Research Foundation | Database encryption and decryption circuit and method using subkeys |
US5191611A (en) | 1989-04-03 | 1993-03-02 | Lang Gerald S | Method and apparatus for protecting material on storage media and for transferring material on storage media to various recipients |
FR2671210A1 (fr) | 1990-12-28 | 1992-07-03 | Villa Pierre | Procede d'identification et d'authentification d'informations caracterisant un individu. |
US5163097A (en) | 1991-08-07 | 1992-11-10 | Dynamicserve, Ltd. | Method and apparatus for providing secure access to a limited access system |
SE501128C2 (sv) | 1993-11-30 | 1994-11-21 | Anonymity Prot In Sweden Ab | Anordning och metod för lagring av datainformation |
US5737419A (en) | 1994-11-09 | 1998-04-07 | Bell Atlantic Network Services, Inc. | Computer system for securing communications using split private key asymmetric cryptography |
US6029160A (en) | 1995-05-24 | 2000-02-22 | International Business Machines Corporation | Method and means for linking a database system with a system for filing data |
US5790668A (en) * | 1995-12-19 | 1998-08-04 | Mytec Technologies Inc. | Method and apparatus for securely handling data in a database of biometrics and associated data |
US5719941A (en) * | 1996-01-12 | 1998-02-17 | Microsoft Corporation | Method for changing passwords on a remote computer |
US5956400A (en) | 1996-07-19 | 1999-09-21 | Digicash Incorporated | Partitioned information storage systems with controlled retrieval |
ATE320634T1 (de) | 1996-07-22 | 2006-04-15 | Cyva Res Corp | Werkzeug zur sicherheit und zum austauch von persönlichen daten |
US6446092B1 (en) | 1996-11-01 | 2002-09-03 | Peerdirect Company | Independent distributed database system |
US5924094A (en) | 1996-11-01 | 1999-07-13 | Current Network Technologies Corporation | Independent distributed database system |
US5920630A (en) | 1997-02-25 | 1999-07-06 | United States Of America | Method of public key cryptography that includes key escrow |
WO1998038762A2 (en) | 1997-02-26 | 1998-09-03 | Siebel Systems, Inc. | Determining visibility to a remote database client |
US6038315A (en) | 1997-03-17 | 2000-03-14 | The Regents Of The University Of California | Method and system for normalizing biometric variations to authenticate users from a public database and that ensures individual biometric data privacy |
GB9712459D0 (en) | 1997-06-14 | 1997-08-20 | Int Computers Ltd | Secure database system |
US6272631B1 (en) * | 1997-06-30 | 2001-08-07 | Microsoft Corporation | Protected storage of core data secrets |
US6549626B1 (en) * | 1997-10-20 | 2003-04-15 | Sun Microsystems, Inc. | Method and apparatus for encoding keys |
US5940823A (en) * | 1997-11-10 | 1999-08-17 | International Business Machines Corporation | System for the distribution and storage of electronic mail information |
US6185685B1 (en) | 1997-12-11 | 2001-02-06 | International Business Machines Corporation | Security method and system for persistent storage and communications on computer network systems and computer network systems employing the same |
US5991399A (en) | 1997-12-18 | 1999-11-23 | Intel Corporation | Method for securely distributing a conditional use private key to a trusted entity on a remote system |
US6336121B1 (en) | 1998-03-24 | 2002-01-01 | Entrust Technologies, Ltd. | Method and apparatus for securing and accessing data elements within a database |
US7093137B1 (en) | 1999-09-30 | 2006-08-15 | Casio Computer Co., Ltd. | Database management apparatus and encrypting/decrypting system |
US20050015608A1 (en) * | 2003-07-16 | 2005-01-20 | Pkware, Inc. | Method for strongly encrypting .ZIP files |
EP1154348B9 (en) | 2000-05-11 | 2007-06-13 | Matsushita Electric Industrial Co., Ltd. | File management apparatus |
US7111005B1 (en) | 2000-10-06 | 2006-09-19 | Oracle International Corporation | Method and apparatus for automatic database encryption |
US6963980B1 (en) * | 2000-11-16 | 2005-11-08 | Protegrity Corporation | Combined hardware and software based encryption of databases |
US20070079119A1 (en) | 2000-11-16 | 2007-04-05 | Ulf Mattsson | Encryption key rotation |
JP2002169808A (ja) | 2000-11-30 | 2002-06-14 | Hitachi Ltd | セキュアマルチデータベースシステム |
US20020071560A1 (en) * | 2000-12-12 | 2002-06-13 | Kurn David Michael | Computer system having an autonomous process for centralized cryptographic key administration |
US7266699B2 (en) | 2001-08-30 | 2007-09-04 | Application Security, Inc. | Cryptographic infrastructure for encrypting a database |
US7269729B2 (en) * | 2001-12-28 | 2007-09-11 | International Business Machines Corporation | Relational database management encryption system |
US20030210791A1 (en) * | 2002-05-07 | 2003-11-13 | Binder Garritt C. | Key management |
US7886359B2 (en) | 2002-09-18 | 2011-02-08 | Symantec Corporation | Method and apparatus to report policy violations in messages |
US7548621B1 (en) * | 2002-09-26 | 2009-06-16 | Ncr Corporation | System and method for securing a base derivation key for use in injection of derived unique key per transaction devices |
US7155612B2 (en) | 2003-04-30 | 2006-12-26 | International Business Machines Corporation | Desktop database data administration tool with row level security |
US10339336B2 (en) | 2003-06-11 | 2019-07-02 | Oracle International Corporation | Method and apparatus for encrypting database columns |
US7580521B1 (en) * | 2003-06-25 | 2009-08-25 | Voltage Security, Inc. | Identity-based-encryption system with hidden public key attributes |
US7591012B2 (en) | 2004-03-02 | 2009-09-15 | Microsoft Corporation | Dynamic negotiation of encryption protocols |
US7797342B2 (en) | 2004-09-03 | 2010-09-14 | Sybase, Inc. | Database system providing encrypted column support for applications |
US7688980B2 (en) | 2004-12-06 | 2010-03-30 | First Data Corporation | Cryptographic-key generation and management |
US8064604B2 (en) | 2006-04-04 | 2011-11-22 | Oracle International Corporation | Method and apparatus for facilitating role-based cryptographic key management for a database |
US7565539B2 (en) * | 2006-07-03 | 2009-07-21 | Viasat Inc. | Method and apparatus for secure communications |
US7860246B2 (en) * | 2006-11-01 | 2010-12-28 | International Business Machines Corporation | System and method for protecting data in a secure system |
-
2009
- 2009-05-12 US US12/464,617 patent/US9158933B2/en active Active
-
2010
- 2010-05-05 WO PCT/US2010/033699 patent/WO2010132251A2/en active Application Filing
- 2010-05-05 EP EP10775280.0A patent/EP2430789B1/en active Active
- 2010-05-05 CN CN201080020514.3A patent/CN102422590B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020071566A1 (en) * | 2000-12-11 | 2002-06-13 | Kurn David Michael | Computer system employing a split-secret cryptographic key linked to a password-based cryptographic key security scheme |
US20060053112A1 (en) * | 2004-09-03 | 2006-03-09 | Sybase, Inc. | Database System Providing SQL Extensions for Automated Encryption and Decryption of Column Data |
US20080077806A1 (en) * | 2006-09-27 | 2008-03-27 | International Business Machines Corporation | Encrypting and decrypting database records |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103391187A (zh) * | 2012-05-09 | 2013-11-13 | 天津书生投资有限公司 | 一种云存储安全控制的方法 |
WO2013166751A1 (zh) * | 2012-05-09 | 2013-11-14 | 天津书生投资有限公司 | 一种云存储安全控制的方法 |
CN103391187B (zh) * | 2012-05-09 | 2016-12-14 | 天津书生云科技有限公司 | 一种云存储安全控制的方法 |
CN106104562A (zh) * | 2014-03-10 | 2016-11-09 | 钱晓燕 | 机密数据安全储存和恢复系统及方法 |
CN106104562B (zh) * | 2014-03-10 | 2020-04-28 | 钱晓燕 | 机密数据安全储存和恢复系统及方法 |
CN104935429A (zh) * | 2014-03-17 | 2015-09-23 | Tcl集团股份有限公司 | 一种采用多重加密的数据处理方法及其系统 |
CN104935429B (zh) * | 2014-03-17 | 2019-06-04 | Tcl集团股份有限公司 | 一种采用多重加密的数据处理方法及其系统 |
CN111639357A (zh) * | 2020-06-05 | 2020-09-08 | 杭州安恒信息技术股份有限公司 | 一种加密网盘系统及其认证方法和装置 |
CN111639357B (zh) * | 2020-06-05 | 2023-05-16 | 杭州安恒信息技术股份有限公司 | 一种加密网盘系统及其认证方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102422590B (zh) | 2016-01-06 |
US9158933B2 (en) | 2015-10-13 |
WO2010132251A3 (en) | 2011-01-20 |
EP2430789A4 (en) | 2016-09-14 |
EP2430789B1 (en) | 2018-11-21 |
WO2010132251A2 (en) | 2010-11-18 |
EP2430789A2 (en) | 2012-03-21 |
US20100290623A1 (en) | 2010-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102422590B (zh) | 数据库中加密密钥的保护 | |
JP7104248B2 (ja) | 暗号化された資産暗号化鍵パーツのサブセットを使用して資産暗号化鍵のアセンブリを可能にする暗号化された資産暗号化鍵パーツ | |
CN101587479B (zh) | 面向数据库管理系统内核的数据加解密系统及其方法 | |
Deshmukh et al. | Transparent Data Encryption--Solution for Security of Database Contents | |
US9959583B2 (en) | Secure content distribution system | |
CN102236766B (zh) | 安全的数据项级数据库加密方法 | |
US20180144148A1 (en) | Encryption and decryption system and method | |
US20060053112A1 (en) | Database System Providing SQL Extensions for Automated Encryption and Decryption of Column Data | |
US20080033960A1 (en) | Database System Providing Encrypted Column Support for Applications | |
CN102891876B (zh) | 云计算环境下分布式数据加密方法及系统 | |
JP2004528615A (ja) | 自動データベース暗号化の方法および装置 | |
CN102185695A (zh) | 信息管理系统、信息管理方法及装置、加密方法及程序 | |
Kollu | Blockchain techniques for secure storage of data in cloud environment | |
CN104361297B (zh) | 一种基于Linux操作系统的文件加解密方法 | |
JPH11272681A (ja) | 個人情報の記録方法およびその記録媒体 | |
CN101339589B (zh) | 一种利用虚拟机技术实现信息安全的方法 | |
Wu et al. | Application of Symmetric Encryption Algorithm Sensor in the Research of College Student Security Management System | |
TWI444849B (zh) | 透過伺服器驗證並授權解密以監控個資檔案之系統及方法 | |
CN103366129A (zh) | 基于网络的数据文件控管系统及其数据文件控管方法 | |
ArockiamȦ et al. | Security framework to ensure the confidentiality of outsourced data in public cloud storage | |
CA3133947A1 (en) | Cryptographic systems | |
Coles et al. | Expert SQL server 2008 encryption | |
WO2022137779A1 (ja) | データ処理システム | |
Husain | Security of database contents using transparent data encryption in microsoft sql server enterprise edition | |
Shapiro et al. | DARUMA: Regaining Trust in Cloud Storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |