CN114556869A - 加密数据的密钥管理 - Google Patents

加密数据的密钥管理 Download PDF

Info

Publication number
CN114556869A
CN114556869A CN202080070451.6A CN202080070451A CN114556869A CN 114556869 A CN114556869 A CN 114556869A CN 202080070451 A CN202080070451 A CN 202080070451A CN 114556869 A CN114556869 A CN 114556869A
Authority
CN
China
Prior art keywords
key
key encryption
keys
decryption
encrypted
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
CN202080070451.6A
Other languages
English (en)
Other versions
CN114556869B (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.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to CN202310596921.8A priority Critical patent/CN116405315A/zh
Publication of CN114556869A publication Critical patent/CN114556869A/zh
Application granted granted Critical
Publication of CN114556869B publication Critical patent/CN114556869B/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/602Providing cryptographic facilities or services
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • H04L63/064Hierarchical key distribution, e.g. by multi-tier trusted parties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

用于加密数据(280)的密钥管理包括建立密钥解密密钥(140)的高速缓存(150),以及周期性地从高速缓存中移除密钥。还创建密钥加密密钥(120)的池(110),并且周期性地从服务中移除所选择的密钥加密密钥。值得注意的是,加密密钥的移除速率(110A)不同于解密密钥的高速缓存移除速率(150A)。此后,用密码(100)加密明文(280)以产生密文(190),并且用从池中选择的密钥加密密钥加密密码。最后,响应于对清除数据的访问请求,尝试在高速缓存中定位用于加密密码的密钥解密密钥(170)。如果尝试失败,则从远程存储器检索密钥解密密钥。最后,用所定位的密钥对加密的密码进行解密,并且对密文进行解密以产生明文数据。

Description

加密数据的密钥管理
技术领域
本发明涉及数据安全领域,尤其涉及在数据处理***中保护数据。
背景技术
在数据处理领域中,静止数据是指以包括在数据库内的任何数字形式物理地存储的非活动数据,包括数据库、数据仓库、文档(包括电子表格)、数字档案或其他持久存储器(包括移动设备内存储器)。可以将静止的数据与使用中的数据和传输中的数据进行比较,从而定义数字数据的三种已知状态。与传输中的数据和使用中的数据一样,静止的数据也必须由未授权的实体保护以便于查看。为此,数据加密通常用于保护静止的数据。用于静止数据和使用中的数据的一般加密技术包括强加密方法,例如高级加密标准(AES)或Rivest-Shamir-Adleman(RSA),并确保当访问控制(例如用户名和口令)失败时,加密数据保持加密。通常,在容纳数据的数据库上以及在物理存储器上实现加密技术,在物理存储器中,数据库存储有定期更新的数据加密密钥,同时与数据分开存储。
数据的一般加密,尤其是静止的数据,不是没有它的挑战。在这一点上,对静止的数据的加密几乎不能防止恶意行为者获得对已经输入密码短语的运行服务器的远程特权访问的入侵。同样,如果访问加密文件或数据库的应用程序本身不是安全的,则穿透一个应用程序的恶意行为者可以获得对数据的访问,无论是否加密。此外,当在物理服务器上启用全磁盘加密时,需要人工干预来在启动时将密码短语手动输入到控制台。对于数据库级加密,密码必须在数据库启动时输入。因此,静止数据的数据安全性只需要适当的加密。
发明内容
本公开的示例解决了现有技术在保护包括静止数据和使用数据的数据方面的缺陷,并且提供了一种新颖和非显而易见的用于加密数据的密钥管理的方法,***和计算机程序产品。该方法包括首先在宿主计算***的本地存储器中建立密钥解密密钥的高速缓存,并且周期性地删除解密密钥。同样,该方法包括在本地存储器中创建密钥加密密钥池,以及周期性地从服务中去除密钥加密密钥池中的密钥加密密钥中所选择的密钥加密密钥。在导入时,从服务中删除所选择的密钥加密密钥的速率与从高速缓存中逐出所选择的密钥解密密钥的速率不同。
该方法还包括用密码加密本地存储器中的清除数据以产生密文,然后用池中密钥加密密钥中选定的一个密钥加密密码。随后,接收访问加密数据的请求。响应于该请求,尝试在高速缓存中定位对应于加密密码的密钥解密密钥。如果密钥解密密钥不能位于高速缓存中,则密钥解密密钥可以通过计算机通信网络从远程存储器中检索。但是,在任何一种情况下,使用所定位的密钥解密密钥对加密的密码进行解密。最后,用解密的密码对密文进行解密,以便产生明文数据。
在本公开的一个方面,密钥加密密钥和密钥解密密钥是相同的。这样,高速缓存和池可以是统一结构,使得密钥加密密钥和密钥解密密钥被存储在统一结构内。然后对密钥加密密钥进行注释,以指示密钥加密密钥是否处于用作密钥加密密钥的活动服务中,或者密钥加密密钥是否将被严格用作密钥解密密钥而不是处于用作密钥加密密钥的活动服务中。在本发明的另一个方面中,高速缓存和池是单独的结构。
在本公开的又一方面中,密钥加密密钥中的每一个被从服务中移除的速率取决于由密钥加密密钥中的每一个被选择的密钥加密的字节的阈值数,使得密钥加密密钥中的每一个被从服务中移除,之后加密超过阈值数的字节。或者,密钥加密密钥中的每一个被选择的密钥加密密钥从服务中移除的速率取决于使用的阈值数,使得密钥加密密钥中的每一个被选择的密钥加密密钥在已经在超过阈值数的加密操作中使用之后从服务中移除。最后,在本公开的又一方面,对于要被加密的每个密码,在活动服务中的池中的密钥加密密钥之一在随机的基础上被选择用于加密密码。
在本公开的另一个配置中,提供了一种用于加密数据的密钥管理数据处理***。该***包括具有存储器和至少一个处理器的计算机以及加密模块。加密模块包括在计算机的存储器中执行的计算机程序指令。在执行期间,加密模块在计算机的本地存储器中建立密钥解密密钥的高速缓存,并且周期性地删除解密密钥。同样,计算机程序指令在本地存储器中创建密钥加密密钥池,并周期性地从服务中去除密钥加密密钥池中所选择的密钥加密密钥。在导入时,从服务中移除所选密钥加密密钥的速率不同于从高速缓存中逐出所选密钥解密密钥的速率。
程序指令还用密码加密本地存储器中的清除数据以产生密文,并用池中密钥加密密钥中选定的一个密钥加密密码。随后,程序指令接收访问加密数据的请求。最后,程序指令通过在高速缓存中定位对应于加密的密码的密钥解密密钥来响应请求,并且如果密钥解密密钥不能定位在高速缓存中,则通过计算机通信网络从远程存储器检索密钥解密密钥,用所定位的密钥解密密钥解密加密的密码,并且用解密的密码解密密文以产生明文。
本公开的其它方面将部分地在随后的描述中阐述,并且部分地将从描述中显而易见,或者可以通过实施本公开来获知。本公开的各方面将通过在所附权利要求中特别指出的元件和组合来实现和获得。应当理解,前面的一般描述和下面的详细描述仅是示例性的和解释性的,而不是对所要求保护的本公开的限制。
附图说明
结合在本说明书中并构成本说明书一部分的附图示出了本公开的示例,并与说明书一起用于解释本公开的原理。本文所示的实施例目前是优选的,然而,应理解,本公开不限于所示的精确布置和手段,其中:
图1是用于加密数据的密钥管理的过程的图示;
图2是为加密数据的密钥管理而配置的数据处理***的示意图;和,
图3是用于说明加密数据的密钥管理的过程的流程图。
具体实施方式
本公开的示例为加密数据提供密钥管理。根据本公开的示例,维护密钥加密密钥池和密钥解密密钥的高速缓存,以便于在池中旋转使用不同的加密密钥以增强安全性,同时允许对最近使用的密钥解密密钥进行本地的就绪访问,而不需要远程检索所需的解密密钥。然而,去除池中的加密密钥以有利于***到池中的新密钥的速率与高速缓存的移除速率不同,从而避免恶意行为者将两者相关联的能力。此后,可以使用密码将明文加密成密文,并且在将两者彼此关联地存储在本地数据库中之前,可以使用池中的密钥之一对密码本身进行加密。响应于从数据库检索明文的请求,尝试在高速缓存中定位必需的解密密钥,以便解密密码。如果在高速缓存中没有发现,则从远程密钥管理中检索解密密钥,然后解密密码。最后,使用密码对密文进行解密,并将明文返回给请求者。
在进一步的说明中,图1是用于加密数据的密钥管理的过程的图示说明。如图1所示,建立密钥加密密钥池110,其中不同的密钥加密密钥120被置于服务中,而保持在库存130中的密钥加密密钥120的不同的选择则停止服务。当接收到加密所使用的密码100的请求时,在加密明文180以产生密码文本190时,可以选择池110中的密钥加密密钥120中的一个来加密密码100以产生加密的密码170。特别地,密钥加密密钥120中的一个密钥加密密钥120可以在随机的基础上选择,或者根据循环策略在周期性的基础上选择,在该循环策略中,仅在密钥加密密钥120中的每一个密钥加密密钥120被使用一次之后才重新使用池110中的每一个密钥加密密钥120。注意,池110在图1中被示出为与库存130分离,然而,在本公开的一个方面,池110和库存130可以被组合成一个数据结构,使得该结构中的每个条目包括元数据,该元数据指示密钥加密密钥120中的对应密钥加密密钥120是在池110中处于服务中还是在库存130中处于服务中。
周期性地,根据密钥移除速率110A,池110中的密钥加密密钥120中的密钥加密密钥120被从服务中移除,并被置于库存130中作为服务外,并被处于库存130中的密钥加密密钥120和服务外的密钥加密密钥120中的密钥加密密钥120所替代。在这点上,可以按照根据每个密钥的使用的阈值数定义的密钥移除速率110A从池110中移除密钥加密密钥120中所选择的密钥加密密钥120。一旦在加密密码100中使用的阈值数被超过,密钥加密密钥120中被选择的一个密钥被从池110移入库存130。或者,可以按照根据由每个密钥加密的字节的阈值数定义的密钥移除速率110A从池110中移除密钥加密密钥120中所选择的密钥加密密钥120。一旦超过了加密字节的阈值数,密钥加密密钥120中所选择的一个密钥加密密钥被从池110移入库存130。
如图1所示,建立了解密密钥高速缓存150,其中存储了最近使用的能够对相应的加密密码170进行解密的解密密钥140。可选地,在对称加密技术的情况下,每个解密密钥140与相应的一个加密密钥140相同。或者,在非对称加密技术的情况下,每个解密密钥140与相应的一个加密密钥120不对称地相关。在任一情况下,如在池110的情况下,周期性地根据高速缓存移除速率150A从解密密钥高速缓存150删除解密密钥140中的各个解密密钥。高速缓存移除速率150A可根据高速缓存删除策略(例如最近最少使用或最不频繁使用)而变化,但在所有情况下,高速缓存移除速率150A与池110的密钥移除速率110A不同。
在任何情况下,随着时间的推移,接收不同的请求以从已经用密码100加密的本地数据库检索明文180,并将其存储为密文190和加密密码170的组合。响应于每个请求,首先搜索解密高速缓冲存储器150以寻找密钥解密密钥140中的必要密钥解密密钥,所述密钥解密密钥140被启用来解密经加密的密码170以产生密码100,所述密码100进而被启用来将密文190解密成明文180。在解密密钥高速缓存150中不能找到密钥解密密钥140中所需的密钥解密密钥的范围内,可以通过计算机通信网络从远程字典160中检索密钥解密密钥140中所需的密钥解密密钥的范围。在任何情况下,一旦所需的一个密钥解密密钥140位于解密密钥高速缓存器150中或远程字典160中,则加密的密码170被解密成密码100,并且密文190使用密码100被解密成明文180。
结合图1阐述的过程可以在数据处理***中实现。在进一步的说明中,图2示意性地示出了被配置用于加密数据的密钥管理的数据处理***。该***包括宿主计算平台210,其包括一个或多个计算机,每个计算机具有存储器和至少一个处理器。宿主计算平台210支持计算机程序240的多个不同实例的执行,每个实例使用数据库220中的数据的就地加密技术从计算机通信网络200上安全地访问数据库220中的数据280。为此,宿主计算平台210还支持密钥管理模块300的操作,利用密钥管理模块300在加密和解密一个或多个密码290的过程中管理加密和解密密钥,密码290用于加密和解密要存储的数据280并随后从数据库220中检索。
在这点上,密钥管理模块300包括计算机程序指令,当由主机计算平台的一个或多个处理器执行时,可操作地建立密钥加密密钥池260,其中一组在职密钥的密钥被维护,以便按需用于加密其中一个密码290,用于加密数据280之前将数据280作为密文存储在数据库220。该程序指令还可以操作,根据移除速率定期删除池260中的一个密钥加密密钥,并将已删除的密钥加密密钥放置在密钥加密密钥的停止服务库存270中,并将已删除的密钥加密密钥替换为停止服务库存270中的其它密钥加密密钥。
程序指令还可操作来创建解密密钥高速缓存250A,最近使用的密钥解密密钥与相应的密码290的解密相关地被放置在该解密密钥高速缓存250A中,以便当计算机程序240的实例中的一个实例请求时允许对数据库220中的密文进行解密以产生数据280。注意,密钥解密密钥高速缓存250A的高速缓存移除速率与密钥加密密钥池260的移除速率不同。在操作中,当从计算机程序240的一个实例接收到检索数据280的请求时,程序指令检索用于数据280的密文和用于生成密文的相应一个密码290的加密形式的组合。然后,程序指令尝试在高速缓存250A中定位必需的密钥解密密钥,该密钥解密密钥然后可用于解密相应的一个密码290的加密形式。然而,在程序指令不能在高速缓存250A中定位必需的密钥解密密钥的情况下,程序指令从计算机通信网络200上的远程字典250B远程地检索必需的密钥解密密钥。一旦使用必要密钥解密密钥解密了相应的一个密码290,就使用相应的一个密码290将密文解密为数据290,以便作为明文返回到计算机程序240的请求实例。
在密钥管理模块300的操作的更进一步的说明中,图3是说明用于加密数据的密钥管理的过程的流程图。从框310开始,接收与要存储在数据库中的内容有关的加密请求,并且在框320中,使用密码对内容进行加密,以便产生密文。在框330,从密钥加密密钥池内选择密钥加密密钥,并在框340用于加密密码。此后,在框350中,将密文和加密的密码一起存储在框360中的数据库中。在框370中,然后确定所选密钥加密密钥的利用率。
在判定框380中,如果利用率超过阈值,例如所选择的密钥加密密钥的使用次数,或者利用密钥加密密钥加密的字节的选择次数,则在框390中,从池中去除所选择的密钥加密密钥,将其放入服务外清单中,并用服务外清单中的服务外一个密钥加密密钥代替。这样,响应于将数据存储在数据库中的请求,从池中周期性地移除这种密钥加密密钥定义了与密钥解密密钥高速缓存的高速缓存移除速率不同的移除速率,其中密钥解密密钥高速缓存基于最不频繁使用或最近最少使用的基础来移除,以响应于从数据库中检索数据的请求。因为移除速率总是不同于高速缓存移除速率,所以可以阻止恶意行为者的密钥加密密钥与密钥解密密钥的关联。
本公开可包括在***,方法,计算机程序产品或其任何组合内。计算机程序产品可以包括计算机可读存储介质或其上具有计算机可读程序指令的介质,用于使处理器执行本公开的各方面。计算机可读存储介质可以是能够保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是,例如,但不限于,电子存储设备,磁存储设备,光存储设备,电磁存储设备,半导体存储设备,或前述的任何合适的组合。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络下载到外部计算机或外部存储设备。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上执行,部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。这里参考根据本公开的示例的方法、装置(***)和计算机程序产品的流程图和/或框图来描述本公开的方面。应当理解,流程图和/或框图的每个块以及流程图和/或框图中的块的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可被提供给通用计算机,专用计算机或其它可编程数据处理设备的处理器以产生机器,使得经由计算机或其它可编程数据处理设备的处理器执行的指令创建用于实现流程图和/或框图块中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,所述计算机可读存储介质可以引导计算机,可编程数据处理设备和/或其它设备以特定方式运行,使得其中存储有指令的计算机可读存储介质包括制品,所述制品包括实现在流程图和/或框图的一个或多个块中指定的功能/动作的方面的指令。
计算机可读程序指令还可以被加载到计算机,其它可编程数据处理装置或其它设备上,以使得在计算机,其它可编程装置或其它设备上执行一系列操作步骤,从而产生计算机实现的过程,使得在计算机,其它可编程装置或其它设备上执行的指令实现在流程图和/或框图的一个或多个块中指定的功能/动作。
附图中的流程图和框图示出了根据本公开的各种示例的***,方法和计算机程序产品的可能实现的体系结构,功能和操作。在这点上,流程图或框图中的每个块可以表示模块,段或指令的一部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些替换实现中,在块中所注明的功能可以不按图中所注明的顺序发生。例如,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意到,框图和/或流程图说明的每个块,以及框图和/或流程图说明中的块的组合,可以通过执行指定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的***来实现。
最后,本文所用的术语仅用于描述特定实例的目的,而不旨在限制本公开。如本文所用,单数形式“一个”、“一种”和“该”旨在也包括复数形式,除非上下文另外清楚地指示。还应当理解,当在本说明书中使用时,术语“包括”和/或“包括”指定所陈述的特征,整体,步骤,操作,元件和/或组件的存在,但不排除一个或多个其它特征,整体,步骤,操作,元件,组件和/或其组的存在或添加。
在下面的权利要求书中的所有装置或步骤加上功能元件的相应结构,材料,动作和等同物旨在包括用于与具体要求保护的其它要求保护的元件组合来执行功能的任何结构,材料或动作。本公开的描述是为了说明和描述的目的而给出的,但并不旨在穷举或限于所公开的形式的公开。在不脱离本公开的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择和描述实施例是为了最好地解释本公开的原理和实际应用,并且使本领域的其他普通技术人员能够理解本公开的各种实施例,其具有适于预期的特定用途的各种修改。
已经详细描述了本申请的公开内容并通过参考其实施例,显然,在不脱离如下所附权利要求中限定的本发明的范围的情况下,可以进行修改和变化。

Claims (20)

1.一种用于加密数据(280)的密钥管理的方法,其特征在于,所述方法包括:
在宿主计算***的本地存储器中建立密钥解密密钥(140)的高速缓存(150),并删除所述解密密钥(140)中的密钥解密密钥(140);
在所述本地存储器中创建密钥加密密钥(120)的池(110),并且周期性地从服务中移除作为所述密钥加密密钥(120)的所述池(110)中的所述密钥加密密钥(120)中所选择的所述密钥加密密钥(120),将所述密钥加密密钥(120)中所选择的所述密钥加密密钥(120)从服务中移除的速率(110A)不同于所述密钥解密密钥(140)中所选择的所述密钥解密密钥(140)从所述高速缓存(150)中移除的速率(150A);
利用密码(100)对所述本地存储器中的所述明文数据(280)进行加密,生成密文(190),利用从所述池(110)中的所述密钥加密密钥(120)中选择的一个密钥加密密钥对所述密码(100)进行加密;
随后接收访问加密所述数据(280)的请求;并且,
响应所述请求的方式为:
在所述高速缓存(150)中定位对应于所述加密密码(170)的密钥解密密钥(140),并且如果所述密钥解密密钥(140)不能定位在所述高速缓存(150)中,则通过计算机通信网络(200)从远程存储器检索所述密钥解密密钥(140),
用所定位的所述密钥解密密钥(140)对所述加密密码(170)进行解密,以及
用解密的所述密码(100)解密所述密文(190)以产生所述明文数据(280)。
2.根据权利要求1所述的方法,其特征在于,所述密钥加密密钥(120)和所述密钥解密密钥(140)是相同的。
3.根据权利要求2所述的方法,其特征在于,所述高速缓存(150)和所述池(110)是统一结构,并且所述密钥加密密钥(120)和所述密钥解密密钥(140)被存储在所述统一结构内,注释所述密钥加密密钥(120)以指示所述密钥加密密钥(120)是否处于用作所述密钥加密密钥(120)的活动服务中,或者所述密钥加密密钥(120)是否将被严格用作所述密钥解密密钥(140),并且不作为密钥加密密钥(120)处于活动服务中。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述高速缓存(150)和所述池(110)是单独的结构。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述密钥加密密钥(120)中选定的所述密钥加密密钥(120)中的每一个从服务移除的速率取决于由所述密钥加密密钥(120)中选定的所述密钥加密密钥(120)中的每一个加密的字节的阈值数,使得所述密钥加密密钥(120)中选定的所述密钥加密密钥(120)中的每一个在已加密超过所述阈值数的字节数之后从所述服务移除。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述密钥加密密钥(120)中选定的所述密钥加密密钥(120)中的每一个从服务移除的速率取决于使用的阈值数,使得所述密钥加密密钥(120)中选定的所述密钥加密密钥(120)中的每一个在已在超过所述阈值数的加密操作中使用之后从所述服务移除。
7.根据权利要求1-6中任一项所述的方法,其特征在于,对于要被加密的每个密码(100),随机选择活动服务中的所述池(110)中的所述密钥加密密钥(120)中的一个密钥加密密钥(120),用于加密所述密码(100)。
8.一种用于加密数据(280)的密钥管理数据(280)处理***,其特征在于,所述***包括:
具有存储器和至少一个处理器的计算机;以及
加密模块,包括在所述计算机的所述存储器中执行的计算机程序(240)指令,并且在执行期间执行:
在所述计算机的本地存储器中建立密钥解密密钥(140)的高速缓存(150),周期性地删除所述解密密钥(140)中的密钥解密密钥(140);
在所述本地存储器中创建密钥加密密钥(120)的池(110),并且周期性地从服务中移除作为所述密钥加密密钥(120)的所述池(110)中的所述密钥加密密钥(120)中所选择的所述密钥加密密钥(120),从所述服务中移除所述密钥加密密钥(120)中所选择的所述密钥加密密钥(120)的速率不同于从所述高速缓存(150)中移除所述密钥解密密钥(140)中所选择的所述密钥解密密钥(140)的速率;
利用密码(100)对所述本地存储器中的所述明文数据(280)进行加密,生成密文(190),利用从所述池(110)中的所述密钥加密密钥(120)中选择的一个密钥加密密钥对所述密码(100)进行加密;
随后接收访问加密所述数据(280)的请求;以及
响应所述请求的方式为:
在所述高速缓存(150)中定位对应于所述加密密码(170)的密钥解密密钥(140),并且如果所述密钥解密密钥(140)不能定位在所述高速缓存(150)中,则通过计算机通信网络(200)从远程存储器检索所述密钥解密密钥(140),
用所定位的所述密钥解密密钥(140)对所述加密密码(170)进行解密,以及
用解密的所述密码(100)解密所述密文(190)以产生所述明文数据(280)。
9.根据权利要求8所述的***,其特征在于,所述密钥加密密钥(120)和所述密钥解密密钥(140)是相同的。
10.根据权利要求9所述的***,其特征在于,所述高速缓存(150)和所述池(110)是统一结构,并且所述密钥加密密钥(120)和所述密钥解密密钥(140)存储在所述统一结构内,注释所述密钥加密密钥(120)以指示所述密钥加密密钥(120)是否处于用作所述密钥加密密钥(120)的活动服务中,或者所述密钥加密密钥(120)是否将被严格用作所述密钥解密密钥(140),并且不作为密钥加密密钥(120)处于活动服务中。
11.根据权利要求8-10中任一项所述的***,其特征在于,所述高速缓存(150)和所述池(110)是单独的结构。
12.根据权利要求8-11中任一项所述的***,其特征在于,所述密钥加密密钥(120)中选定的所述密钥加密密钥(120)中的每一个从服务移除的速率取决于由所述密钥加密密钥(120)中选定的所述密钥加密密钥(120)中的每一个加密的字节的阈值数,使得所述密钥加密密钥(120)中选定的所述密钥加密密钥(120)中的每一个在已加密超过所述阈值数的字节数之后从所述服务移除。
13.根据权利要求8-12中任一项所述的***,其特征在于,所述密钥加密密钥(120)中选定的所述密钥加密密钥(120)中的每一个从服务移除的速率取决于使用的阈值数,使得所述密钥加密密钥(120)中选定的所述密钥加密密钥(120)中的每一个在已在超过所述阈值数的加密操作中使用之后从所述服务移除。
14.一种用于加密数据(280)的密钥管理的计算机程序(240)产品,其特征在于,所述计算机程序(240)产品包括计算机可读存储介质,所述计算机可读存储介质具有用其实现的程序指令,所述程序指令可由设备执行以使得所述设备执行一种方法,所述方法包括:
在宿主计算***(210)的本地存储器中建立密钥解密密钥(140)的高速缓存(150),周期性地删除所述解密密钥(140)中的密钥解密密钥(140);
在所述本地存储器中创建密钥加密密钥(120)的池(110),并且周期性地从服务中移除作为所述密钥加密密钥(120)的所述池(110)中的所述密钥加密密钥(120)中选定的所述密钥加密密钥(120),从所述服务中移除所述密钥加密密钥(120)中所选择的所述密钥加密密钥(120)的速率不同于从所述高速缓存(150)中移除所述密钥解密密钥(140)中所选择的所述密钥解密密钥(140)的速率;
利用密码(100)对所述本地存储器中的所述明文数据(280)进行加密,生成密文(190),利用从所述池(110)中的所述密钥加密密钥(120)中选择的一个密钥加密密钥对所述密码(100)进行加密;
随后接收访问加密所述数据(280)的请求;以及
响应所述请求的方式为:
在所述高速缓存(150)中定位对应于所述加密密码(170)的密钥解密密钥(140),并且如果所述密钥解密密钥(140)不能定位在所述高速缓存(150)中,则通过计算机通信网络(200)从远程存储器检索所述密钥解密密钥(140),
用所定位的所述密钥解密密钥(140)对所述加密密码(170)进行解密,以及用解密的所述密码(100)解密所述密文(190)以产生所述明文数据(280)。
15.根据权利要求14所述的计算机程序(240)产品,其特征在于,所述密钥加密密钥和所述密钥解密密钥(140)是相同的。
16.根据权利要求15所述的计算机程序(240)产品,其特征在于,所述高速缓存(150)和所述池(110)是统一结构,并且所述密钥加密密钥(120)和所述密钥解密密钥(140)存储在所述统一结构内,注释所述密钥加密密钥(120)以指示所述密钥加密密钥(120)是否处于用作所述密钥加密密钥(120)的活动服务中,或者所述密钥加密密钥(120)是否将被严格用作所述密钥解密密钥(140),并且不作为密钥加密密钥(120)处于活动服务中。
17.根据权利要求14-16中任一项所述的计算机程序(240)产品,其特征在于,所述高速缓存(150)和所述池(110)是单独的结构。
18.根据权利要求14所述的计算机程序(240)产品,其特征在于,所述密钥加密密钥(120)中选定的所述密钥加密密钥(120)中的每一个从服务中移除的速率取决于由所述密钥加密密钥(120)中选定的所述密钥加密密钥(120)中的每一个加密的字节的阈值数,使得所述密钥加密密钥(120)中选定的所述密钥加密密钥(120)中的每一个在已加密超过所述阈值数的字节数之后从所述服务中移除。
19.根据权利要求14所述的计算机程序(240)产品,其特征在于,所述密钥加密密钥(120)中选定的所述密钥加密密钥(120)中的每一个从服务中移除的速率取决于使用的阈值数,使得所述密钥加密密钥(120)中选定的所述密钥加密密钥(120)中的每一个在已超过所述阈值数的加密操作中使用之后从所述服务中移除。
20.根据权利要求14所述的计算机程序(240)产品,其特征在于,对于要加密的每个所述密码(100),在用于加密所述密码(100)的随机基础上选择活动服务中的所述池(110)中的所述密钥加密密钥(120)中的一个密钥加密密钥(120)。
CN202080070451.6A 2019-10-09 2020-10-09 用于加密数据的密钥管理方法、数据处理***及存储介质 Active CN114556869B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310596921.8A CN116405315A (zh) 2019-10-09 2020-10-09 加密数据的密钥管理

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/597,265 US11233631B2 (en) 2019-10-09 2019-10-09 Key management for encrypted data
US16/597,265 2019-10-09
PCT/US2020/055125 WO2021072304A1 (en) 2019-10-09 2020-10-09 Key management for encrypted data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310596921.8A Division CN116405315A (zh) 2019-10-09 2020-10-09 加密数据的密钥管理

Publications (2)

Publication Number Publication Date
CN114556869A true CN114556869A (zh) 2022-05-27
CN114556869B CN114556869B (zh) 2023-06-16

Family

ID=73139412

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080070451.6A Active CN114556869B (zh) 2019-10-09 2020-10-09 用于加密数据的密钥管理方法、数据处理***及存储介质
CN202310596921.8A Pending CN116405315A (zh) 2019-10-09 2020-10-09 加密数据的密钥管理

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202310596921.8A Pending CN116405315A (zh) 2019-10-09 2020-10-09 加密数据的密钥管理

Country Status (4)

Country Link
US (2) US11233631B2 (zh)
EP (1) EP4042657A1 (zh)
CN (2) CN114556869B (zh)
WO (1) WO2021072304A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11483141B2 (en) * 2020-06-03 2022-10-25 Capital One Services, Llc Key broker for a network monitoring device, and applications thereof
CN114884716B (zh) * 2022-04-28 2024-02-27 世融能量科技有限公司 加密解密方法、装置及介质
CN115987698B (zh) * 2023-03-22 2023-05-30 深圳市移联通信技术有限责任公司 一种gps定位信息加密传输方法及***
CN117150519A (zh) * 2023-08-08 2023-12-01 枣庄福缘网络科技有限公司 一种文本加密的多层级安全算法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102271037A (zh) * 2010-06-03 2011-12-07 微软公司 基于在线密钥的密钥保护装置
US20120131354A1 (en) * 2009-06-22 2012-05-24 Barclays Bank Plc Method and system for provision of cryptographic services
US20140258719A1 (en) * 2012-12-26 2014-09-11 Sookasa Inc. Distributed encryption and access control scheme in a cloud environment
US20190097791A1 (en) * 2017-09-27 2019-03-28 Salesforce.Com, Inc. Distributed key caching for encrypted keys

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09275397A (ja) * 1996-04-08 1997-10-21 Mita Ind Co Ltd 暗号通信装置
JP2000066586A (ja) * 1998-08-24 2000-03-03 Toshiba Corp データ処理装置及び通信システム並びに記録媒体
US8719589B2 (en) * 2010-05-25 2014-05-06 Via Technologies, Inc. Microprocessor that facilitates task switching between multiple encrypted programs having different associated decryption key values
US9911008B2 (en) * 2010-05-25 2018-03-06 Via Technologies, Inc. Microprocessor with on-the-fly switching of decryption keys
US8812871B2 (en) * 2010-05-27 2014-08-19 Cisco Technology, Inc. Method and apparatus for trusted execution in infrastructure as a service cloud environments
US8443149B2 (en) * 2010-09-01 2013-05-14 International Business Machines Corporation Evicting data from a cache via a batch file
US8516271B2 (en) * 2011-03-11 2013-08-20 Hewlett-Packard Development Company, L. P. Securing non-volatile memory regions
US20130173853A1 (en) * 2011-09-26 2013-07-04 Nec Laboratories America, Inc. Memory-efficient caching methods and systems
US9037870B1 (en) * 2013-08-16 2015-05-19 Intuit Inc. Method and system for providing a rotating key encrypted file system
US9792063B2 (en) * 2014-01-15 2017-10-17 Intel Corporation Deduplication-based data security
US10601782B2 (en) * 2016-04-01 2020-03-24 Egnyte, Inc. Systems and methods for proxying encryption key communications between a cloud storage system and a customer security module
US10404667B2 (en) * 2016-11-17 2019-09-03 Bank Of America Corporation Secure, autonomous file encryption and decryption
US10469254B2 (en) * 2017-03-29 2019-11-05 Intuit Inc. Method and system for hierarchical cryptographic key management
US10491576B1 (en) * 2017-06-16 2019-11-26 Intuit Inc. System and method for security breach response using hierarchical cryptographic key management
US20180375838A1 (en) * 2017-06-27 2018-12-27 Salesforce.Com, Inc. Filtering and unicity with deterministic encryption
US10476913B2 (en) * 2017-09-08 2019-11-12 Salesforce.Com, Inc. Intercepting calls for encryption handling in persistent access multi-key systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120131354A1 (en) * 2009-06-22 2012-05-24 Barclays Bank Plc Method and system for provision of cryptographic services
CN102271037A (zh) * 2010-06-03 2011-12-07 微软公司 基于在线密钥的密钥保护装置
US20140258719A1 (en) * 2012-12-26 2014-09-11 Sookasa Inc. Distributed encryption and access control scheme in a cloud environment
US20160246972A1 (en) * 2012-12-26 2016-08-25 Barracuda Networks, Inc. Distributed encryption and access control scheme in a cloud environment
US20190097791A1 (en) * 2017-09-27 2019-03-28 Salesforce.Com, Inc. Distributed key caching for encrypted keys

Also Published As

Publication number Publication date
US20210111879A1 (en) 2021-04-15
EP4042657A1 (en) 2022-08-17
US20220141006A1 (en) 2022-05-05
WO2021072304A1 (en) 2021-04-15
US11791991B2 (en) 2023-10-17
CN114556869B (zh) 2023-06-16
CN116405315A (zh) 2023-07-07
US11233631B2 (en) 2022-01-25

Similar Documents

Publication Publication Date Title
CN114556869B (zh) 用于加密数据的密钥管理方法、数据处理***及存储介质
US8555059B2 (en) Secure local update of content management software
US8045714B2 (en) Systems and methods for managing multiple keys for file encryption and decryption
CN110352413B (zh) 一种基于策略的实时数据文件访问控制方法与***
KR101613146B1 (ko) 데이터베이스 암호화 방법
WO2021164166A1 (zh) 一种业务数据保护方法、装置、设备及可读存储介质
US7315859B2 (en) Method and apparatus for management of encrypted data through role separation
CN106992851B (zh) 基于TrustZone的数据库文件口令加解密方法、装置及终端设备
US8181028B1 (en) Method for secure system shutdown
CN107040520B (zh) 一种云计算数据共享***及方法
CN104618096A (zh) 保护密钥授权数据的方法、设备和tpm密钥管理中心
CN110221990B (zh) 数据的存储方法及装置、存储介质、计算机设备
US20160371499A1 (en) Deleting information to maintain security level
US11310035B2 (en) Securing data at rest utilizing cloud provider service agnostic encrypted data transportability
US20190012435A1 (en) Secure Document Management
Loftus et al. Android 7 file based encryption and the attacks against it
US11283600B2 (en) Symmetrically encrypt a master passphrase key
US11163908B2 (en) Device state driven encryption key management
JP4338185B2 (ja) ファイルの暗号化・復号方法
KR102199283B1 (ko) 애플리케이션 데이터 보안 시스템 및 그 방법
WO2023119554A1 (ja) 制御方法、情報処理装置および制御プログラム
KR101498193B1 (ko) 메모리카드를 이용한 데이터 관리 방법
CN118260264A (zh) 一种用于分布式文件***的用户友好型加密存储***及方法

Legal Events

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