CN102422590A - 数据库中加密密钥的保护 - Google Patents

数据库中加密密钥的保护 Download PDF

Info

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
Application number
CN2010800205143A
Other languages
English (en)
Other versions
CN102422590B (zh
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.)
Sybase Inc
Original Assignee
Sybase Inc
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 Sybase Inc filed Critical Sybase Inc
Publication of CN102422590A publication Critical patent/CN102422590A/zh
Application granted granted Critical
Publication of CN102422590B publication Critical patent/CN102422590B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, 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”语法如下:
Figure BPA00001462613600111
Figure BPA00001462613600121
这里,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密钥副本。
在一个实施例中,主密钥或双主密钥可以被改变以增加密钥副本。需要主密钥副本来提供针对用于自动主密钥访问的主密钥或双主密钥的访问,并支持主密钥的恢复。
增加主密钥副本的示例性语法如下:
Figure BPA00001462613600161
这里
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。
用于改变主密钥副本以改变它们的密码的示例性语法是:
Figure BPA00001462613600181
这里,
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.一种其中存储了控制逻辑的计算机程序产品,所述控制逻辑使得处理器能够保护数据库中的加密密钥,所述控制逻辑包括:
用于使处理器能够生成由第一实体提供的主密钥的第一计算机可读程序代码装置;
用于使处理器能够生成由第二实体提供的双主密钥的第二计算机可读程序代码装置;和
用于使处理器能够使用所述主密钥和所述双主密钥加密所述加密密钥的第三计算机可读程序代码装置。
CN201080020514.3A 2009-05-12 2010-05-05 数据库中加密密钥的保护 Active CN102422590B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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