CN115048657B - 用于保护密码密钥的系统、方法和计算机可读介质 - Google Patents
用于保护密码密钥的系统、方法和计算机可读介质 Download PDFInfo
- Publication number
- CN115048657B CN115048657B CN202210039883.1A CN202210039883A CN115048657B CN 115048657 B CN115048657 B CN 115048657B CN 202210039883 A CN202210039883 A CN 202210039883A CN 115048657 B CN115048657 B CN 115048657B
- Authority
- CN
- China
- Prior art keywords
- key
- shares
- encrypted
- remote
- page key
- 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.)
- Active
Links
Classifications
-
- 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
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- 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
-
- 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/602—Providing cryptographic facilities or services
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/0819—Key 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)
-
- 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/0819—Key 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/0822—Key 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
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
提供了用于保护密码密钥的系统、方法和计算机可读介质。每个密码密钥被划分为多个份额,用于存储在远程位置和存储在本地设备上。
Description
技术领域
本发明可以涉及用于保护密码密钥的系统、方法和计算机可读介质。
背景技术
对于期望安全存储他们的数据的公司和个人来说,数据泄露已经成为经常发生且代价高昂的事件。数据常常被加密以防止攻击者访问数据。密码密钥被用于加密和解密数据。因此,攻击者将其攻击重点放在获取密码密钥上,以便他们可以访问数据。因而,需要更有效的技术来保护密码密钥。
发明内容
提供了用于保护密码密钥的系统、方法和计算机可读介质。每个密码密钥被划分为多个份额(share),用于存储在远程位置和存储在本地设备上。
提供本概述以总结一些示例实施例,以便提供对本文档中描述的主题的一些方面的基本理解。因而,将认识到的是,本发明内容中描述的特征仅仅是示例并且不应当被解释为以任何方式缩小本文描述的主题的范围或精神。除非另有说明,否则在一个示例的上下文中描述的特征可以与在一个或多个其它示例的上下文中描述的特征组合或与其一起使用。本文描述的主题的其它特征、方面和优点将从以下具体实施方式、附图说明和权利要求书中变得明显。
附图说明
结合附图考虑以下详细描述,本公开的以上和其它方面、其性质和各种特征将变得更加明显,其中相同的附图标记可以始终指相同的部分,其中:
图1示出了根据实施例的示例系统的示意图。
图2示出了根据实施例使用的密钥分发方案的说明性框图。
图3示出了根据实施例的说明性处理。
图4是根据实施例的专用计算机系统的框图。
具体实施方式
参考图1-4提供和描述用于保护密码密钥的系统、方法和计算机可读介质。密钥被拆分为多个份额并根据本文讨论的密钥保护方案进行分发。
如本文所定义的,通信流是指在通信系统的使用期间生成的记录。
如本文所定义的,使用密码密钥来加密数据。密码密钥还被用于解密加密的数据以提供其原始未加密形式的数据。
如本文所定义的,页密钥是用于加密数据页的明文密码密钥。
如本文所定义的,数据页是指离散数量的数据。
如本文所定义的,加密的页密钥是已经加密的页密钥。
如本文所定义的,远程分发的份额或远程份额是已被指定为存储或已经存储在远程服务器上的加密的页密钥的一部分。
如本文所定义的,本地保持的份额或本地份额是已本地存储在终端设备上的加密的页密钥的一部分。
如本文所定义的,终端设备或服务器是指用户正在使用的通信系统内的接入点。
如本文所定义的,远程服务器或远程对等体(peer)是指存储已由根据本文讨论的实施例的密钥分发方案分发的远程份额的装备。
流传输的数据加密(诸如全盘加密、数据库加密或存储器页加密),由于期望的性能特性,数据通常使用对称密钥按块加密。加密一般是指或者仅加密或者加密并防止篡改的密码处理。许多常规系统在终端设备上生成密码密钥并将其存储在其中。这些常规系统中的一些使用外部输入(例如,用户的密码)与加密引擎相结合来生成密码密钥。因此,每当用户改变其密码时,密码密钥都要求重新加密。这种方法的安全性取决于用户密码的强度,并且只有用户知道。但是,用户密码很少与用于加密的实际对称密钥具有相同的位长度。因此,这是用户密码不直接用作密码密钥,而是用作密钥加密密钥的主要原因。这些用户密码的较低位尺寸意味着攻击加密的数据块的最简单方式是追踪用户密码,因为信息的其余部分采用加密的格式。
安全飞地(enclave)的发展和生物识别传感器的使用使这些密码能够被高速缓存在安全飞地的安全存储器中,由指纹/虹膜/面部ID锁定。利用生物识别认证可以无缝地简化用户体验,因为它要求减少的密码录入,但是,这削弱了系统的整体安全性,因为生物识别传感器可以容易地被骗来解锁用户已知的密码,从而导致对称密钥的恢复。
密码学的进步以及安全协议和技术的不断发展,尤其是在端到端(E2E)加密系统中,已迫使攻击者设计更复杂的攻击,尤其是在针对密码组件时。在过去的20年中,攻击已从密码点转变为协议漏洞,再到对终端设备的针对性攻击。随着硬件密码协处理器、安全飞地或可信执行环境的演化,带来了额外的安全优势,越来越多的解决方案开发人员在设计安全通信系统时采用开箱即用。大多数E2E安全通信系统都采用诸如证书锁定、第二因素协定和相互公钥白名单或临时密码密钥之类的技术来防止中间人(MiTM)攻击,以确保通道安全。虽然这有效地保护了通道本身,但攻击者已将注意力转移到这个处理中最薄弱的环节,这常常是终端设备本身。
终端设备可以用作数据处理器,其解封装加密的信息并将其存储在本地。本地存储的信息(无论是否被加密)是攻击者的主要目标,因为它绕过了破坏通道并在其源或目的地访问数据的需要。保护静态数据的机构的发展速度与密码方法和通信协议的发展速度不同。即,通信记录历史通常保持在加密的数据库(连续块)中,该数据库由给定应用加载并解密到存储器中。数据库是有针对性的攻击中期望的攻击点,因为它是最容易安装的。如果数据库遭到破坏,那么攻击者可以访问整个通信历史。此类攻击假设攻击者可以从存储器中窃取(一个或多个)密钥并捕获传输中的数据或通过远程访问终端设备的通信历史数据库来捕获数据。这个数据库是攻击者的目标,因为它提供了大量的弱点。例如,一个弱点是解密密钥存储器位置,因为数据库要求密钥在读/写周期的整个持续时间内都驻留在存储器中。另一个弱点是丢弃时不适当的密钥管理;密钥以开发人员无法控制的方式从存储器中释放。很少从安全角度审查数据库内部结构,尤其是在开源解决方案中。
图1示出了根据实施例的示例系统100的示意图。系统100可以包括终端设备110、终端设备112、互联网120和服务器131-133。通信流可以存在于终端设备110和终端设备112之间或与服务器131-133中的任何一个或多个之间。通信流可以包括传入和传出通信。例如,传出通信可以源自终端设备110并被传输到终端设备112或服务器131-133中的一个或多个,并且传入通信可以从终端设备112或服务器131-133之一传输并由终端设备110接收。例如,终端设备110可以是与第二智能电话(由设备112表示)进行聊天通信的第一智能电话。在另一个示例中,终端设备110可以将图片或视频上传到由服务器131-133之一托管的云存储装置。
终端设备110可以表示正被用户用来访问文件或参与通信方案的设备。服务器131-133可以表示位于终端设备110远程的设备并且可以用作关于终端设备110的通信端点或用作存储位置以供以后检索。互联网120可以表示使得能够在设备110和112以及服务器131-133之间进行通信的任何计算机网络。例如,计算机网络可以是公共网络或专用网络。
本文公开的实施例使用密钥保护方案创建对服务器的有意远程依赖性以提供加密的密钥的份额。本文讨论的实施例包括通过将整个生成/密钥组装处理分解成多因素(和多存在)处理来保护密码密钥的系统、方法和计算机可读介质,该处理创建对(1)用户输入、(2)设备秘密和(3)服务器对应方(counterpart)的有意依赖性。利用这三个依赖性最小化了潜在的攻击向量,并提供对拒绝访问密码密钥和密码密钥所基于的原语的控制。本文讨论的实施例可以应用于任何系统或服务,包括流传输数据,其中数据页被加密并且使用密码密钥保护免受意外修改并且存储在最终终端上。
图2示出了根据实施例的在系统200内使用的密钥分发方案的说明性框图。图2被布置为示出系统200在远程服务器210和终端设备220之间拆分。终端设备220可以经由网络201与服务器211-213中的任何一个通信。在操作期间,从数据流222接收到的数据可以被组织成数据页,诸如数据页224。数据流222可以是任何合适的数据源,诸如例如由终端设备220生成或访问的聊天消息、抄本、电子邮件、照片、视频、语音记录等。数据流222可以包含与通信流相关联的数据。从数据流222接收的数据可以被聚集成离散的数据块,在本文称为数据页。因此应当认识到的是,从数据流222接收到的数据可以被封装到许多不同的数据页中。图2中只示出了一个这样的数据页,数据页224。
每个数据页224使用数据加密/解密方框226被加密以产生加密的数据页227,其可以存储在存储装置228中。加密/解密方框226可以使用页密钥232对数据页224进行加密。页密钥232是用于加密/解密操作的密码密钥的明文等价物。每个页密钥232对于每个数据页224是唯一的并且可以以确定性方式(例如,使用密钥导出函数)生成。即,对于每个被加密的数据页,使用唯一的加密的密钥/页密钥。
解密例程沿着相反方向遵循相同的路径。从存储装置228中检索加密的数据页227。加密的数据页227在块226中使用与加密的数据页227相关联的适当页密钥被解密。这种解密产生数据页224。
虚线方框230包括用于实现根据各种实施例的密钥分发方案的各种组件。如图所示,方框230包括页密钥232、密钥加密/解密方框234、加密的页密钥236、密钥拆分/重构方框240和第二因素方框250。例如,当不再需要页密钥232来加密数据页或解密加密的数据时,页密钥232经由密钥加密/解密方框234被加密以产生加密的页密钥236。此外,在页密钥232被加密(作为加密的页密钥236)之后,页密钥232从存储器中被丢弃。加密的页密钥236被临时存储在存储器中,使得密钥拆分方框240可以将加密的页密钥236拆分成若干份额,其中一些将被分发以用于服务器210上的远程存储并且被保持用于终端设备230上的本地存储。在方框240已经拆分加密的页密钥236并且份额已经存储在适当位置之后,可以丢弃加密的页密钥236。
密钥加密/解密方框234可以从第二因素方框250接收输入。从第二因素方框接收的输入可以提供由方框234使用的附加加密/解密保护层。第二因素方框250可以要求经由终端输入251的用户输入,用户可以在终端输入251中录入PIN、密码或存储在硬件安全模块(HSM)中的秘密密钥。通过在提供任何第二因素输入密钥加密/解密方框234之前在连续尝试之间添加滞后,密钥推导函数(KDF)方框252可以被用于防止暴力破解终端输入251。由方框250提供的输入在密钥分发方案的上下文中被认为是外部输入。外部输入被视为潜在的攻击向量(例如,拦截、暴力破解或入侵生物识别系统以解锁高速缓存的加密的页密钥或页密钥)。因此,出于方框250表示潜在外部威胁的原因,加密的页密钥236或其未锁定的对应方页密钥232仅在加密数据页224或解密加密的数据页227时维持在存储器(或高速缓存)中。当不需要它们时,清除机构以密码安全的方式丢弃页密钥232和加密的页密钥236。
密钥拆分/重构方框240可操作以将加密的密钥页236拆分为N个份额,其中要求K个份额来重组加密的密钥页236。份额可以被分类为远程存储份额(示为份额242)和(一个或多个)本地存储份额(示为份额244)。远程存储份额242经由网络201分布以存储在远程服务器210上。例如,远程存储份额242a-242c存储在相应的远程服务器211-213上。本地存储份额244存储在终端设备230上。在远程存储份额242被分发并存储在远程服务器210上之后,远程存储份额242可以被丢弃,并且存储在终端设备230上的唯一份额是本地份额244。
值N表示生成的份额的池,并且需要子集值K。密钥分发方案的最终用户可以定义N个份额、K个份额、远程份额和本地份额的关系。在更安全的设置中K=N,并且在K个份额中,A个在本地保持,并且K-A个被指定为远程。如果N>K,那么远程份额的数量(R)优选地指定如下:R<K<N。这三个参数可以以许多不同的方式布置。在第一种布置中,K=N。这种布置确保存在有意的服务器依赖性,并且这里没有密钥恢复。此外,在这种布置中,R<K=N。
在另一种布置中,K=N。这种布置确保有意的服务器依赖性和密钥恢复。在这种设置中,R=K=N。这种设置允许将所有K个份额都视为远程。因此,如果用户丢失了终端设备,那么可以通过具有K=R个份额的服务器来完全重构密钥。
在又一种布置中,K=N。这种布置提供了服务器依赖性,但没有密钥恢复。在这种设置中,R<K<N,其中额外的N-K个密钥份额被指定为本地份额。不推荐这种方法。
在又一种布置中,K<N,其提供了有意的服务器依赖性和密钥恢复。在这种设置中,R>=K<N。
将加密的页密钥236拆分为(被远程存储的)份额242和(被本地存储的)份额244防止任何服务器份额组合重组加密的页密钥236。这种有意的依赖性使用户能够通过使用备选渠道阻止服务器向潜在攻击者提供缺失的份额,从而在发生折中、没收(confiscation)、攻击或疑似数据泄露尝试的情况下控制数据的安全性。即,如果应急模式(panic mode)被激活(例如,响应于攻击事件),那么可以指示远程服务器210响应于份额获取请求而不提供任何存储的份额。应急模式可以使用终端设备230和远程服务器210之间的辅助通信信道。
当例如需要特定页密钥来解密加密的数据页时,终端设备230可以指示密钥拆分/重构方框240利用从远程服务器210获取的远程存储的份额242和存储在终端设备230上的本地存储的份额244重构与特定页密钥相关联的适当的加密的页密钥。当检索到所有份额(远程存储的和本地存储的份额)时,方框240可以完全重构加密的页密钥236。加密的页密钥236可以经由密钥加密/解密方框234被解密以产生页密钥232,其可以被用于在方框226中解密加密的数据页227。
密钥拆分/重构方框240可以可操作以将K-1个份额存储在远程服务器210上,如上面所讨论的,其中1个份额被本地存储。如上面所提到的,K是重组加密的密钥页所需的份额数。优选地,存储在远程服务器上的份额数总是小于K。如果期望,密钥拆分/重构方框240可以将所有K个份额存储在远程服务器210上,从而消除了任何一个或多个份额的本地存储。在另一个实施例中,密钥拆分/重构方框240可以将K-A个份额存储在远程服务器上并在本地存储A个份额(其中A小于K)。
还如上面所提到的,密钥拆分/重构方框240可以将加密的页密钥拆分为N个份额。在一些实施例中,N等于K。当N等于K时,远程存储的份额可以没有冗余性,从而要求分离的服务器仅存储一个份额。因此,在获取操作期间,将需要访问所有服务器以获取所有远程存储的份额。在另一个实施例中,N可以等于X*K,其中X是2或更大的整数。在这种方法中,每个远程服务器可以存储多于一个远程存储的份额(例如,如果X是2,那么每个服务器有2个份额),从而减少在获取操作期间要访问的远程服务器的数量。
图3示出了根据实施例的说明性处理300。例如,处理300可以在系统200中实现。处理300可以开始于步骤301,在步骤302确定是否要求新的页密钥。如果步骤302的确定为“是”,那么处理300可以生成页密钥(例如,页密钥232)。这个页密钥是用于加密数据页和解密那个数据页的加密版本的对称密钥。页密钥可以以密码安全的方式生成。页密钥可以随机生成或确定性地生成。在步骤306处,页密钥被加密以产生加密的页密钥(例如,加密的页密钥236)。如果期望,那么步骤307可以提示用户输入密码、PIN或产生用于保护页密钥的二级认证的质询响应(例如,方框250)。第二认证可以被用作加密/解密方框(例如,方框234)的输入以加密页密钥。加密的页密钥可以存储在终端设备的存储器中。在步骤308处,以安全的方式丢弃页密钥。
在步骤310处,加密的页密钥被拆分为N个份额,要求K个份额以重构加密的页密钥。在K个份额当中,R个份额被指定为远程存储的份额,而L个份额被指定为本地存储的份额,使得R+L=K,如步骤312中所示。在步骤314处,R个份额被分发到远程服务器(例如,远程服务器210)并且L个份额被本地存储在终端设备(例如,230)上。通过在终端设备上维护L个份额,R个份额的任何组合都不能使黑客重组加密的页密钥。在步骤316处,丢弃加密的页密钥。
在步骤316之后,或者如果在步骤301不要求页密钥,那么处理300前进到步骤320,该步骤确定是否针对现有的页密钥做出数据请求。如果步骤320的确定为“否”,那么处理300返回到开始方框301。如果步骤320处的确定为“是”,那么处理300可以在步骤322处从远程服务器获取R个份额。在一个实施例中,所获取的R个份额可以仅与被访问的数据页相关联,或者要求先前为其生成的页密钥来访问数据页。在步骤324处,使用获取的R个存储份额和本地存储的L个份额重构加密的数据页。作为重构的一部分,源自R个份额和L个份额的所有K个份额都被检索。R个份额可以在少于R个服务器之间以冗余方式共享,以减少终端设备为获取其所有缺失的份额所需的远程连接总数。有多于1个服务器存储各个份额增加了系统的安全级别,因为为了组装所有缺失的份额,终端设备需要联系更多服务器,而具有更多冗余的方法提高了协议的可用性。
步骤325可以提示用户输入密码、PIN或产生用于在步骤326处解密加密的页密钥的二级认证(例如,方框250)的质询响应。未加密的页密钥作为页密钥存储在存储器中(在步骤326中)。在步骤328处,加密的页密钥和R个份额被擦除。
页密钥被用于步骤330中的预期目的。处理300可以在步骤332中周期性地检查是否仍然需要页密钥。这个检查可以通过一系列环境变量进行调节,诸如设备状态(锁定/解锁)、应用状态(活动/后台)、系统事件(诸如互联网连接性、飞行模式、中断、超时、电源状态等)。这是为了防止在存储器中长时间保留有意义的信息。数据在正常情况下总是可以重构的,由于所涉及的协议而损失的时间可以忽略不计。如果确定不再使用页密钥,那么在步骤334擦除页密钥并且处理300可以在步骤336处结束。
应当理解的是,图3中所示的步骤仅仅是说明性的,可以添加附加的步骤,可以重新布置步骤的次序,并且可以省略一些步骤。
图4是根据实施例的专用计算机系统400的框图。本文描述的方法和处理可以类似地由有形的、非暂态计算机可读存储介质和/或计算机程序产品来实现,这些介质和/或计算机程序产品指导计算机系统执行本文描述的方法和处理的动作。每个这样的计算机程序产品可以包括实施在计算机可读介质上的指令集(例如,代码),其指导计算机系统的处理器执行对应的操作。指令可以被配置为按顺序次序运行,或并行运行(诸如在不同的处理线程下),或它们的组合。
专用计算机系统400包括计算机402、耦合到计算机402的监视器104、耦合到计算机402的一个或多个附加用户输出设备406(可选)、耦合到计算机402的一个或多个用户输入设备408(例如,键盘、鼠标、轨迹球、触摸屏)、耦合到计算机402的可选通信接口410,以及包括在计算机402中或计算机402可访问的有形计算机可读存储介质412的计算机程序产品。存储在计算机可读存储介质412上的指令可以指导系统400执行本文描述的方法和处理。计算机402可以包括经由总线子系统416与多个外围设备通信的一个或多个处理器414。这些外围设备可以包括(一个或多个)用户输出设备406、(一个或多个)用户输入设备408、通信接口410和存储子系统,诸如随机存取存储器(RAM)418和非易失性存储驱动器420(例如,盘驱动器、光驱、固态驱动器),它们是有形计算机可读存储器的形式。
计算机可读介质412可以被加载到随机存取存储器418中,存储在非易失性存储驱动器420中,或者以其它方式可由计算机402的一个或多个组件访问。每个处理器414可以包括微处理器,诸如来自或Advanced Micro Devices,/>等的微处理器。为了支持计算机可读介质412,计算机402运行处置计算机可读介质412和上述组件之间的通信以及支持计算机可读介质412的上述组件之间的通信的操作系统。示例性操作系统包括来自Microsoft Corporation的/>等、来自Sun Microsystems的/>LINUX、UNIX等。在许多实施例中并且如本文所述,计算机程序产品可以是包括计算机可读介质(例如,盘、存储器芯片等)的装置(例如,包括外壳、读/写头等的硬盘驱动器,包括外壳的计算机盘,包括连接器、外壳的存储卡,等等)。在其它实施例中,计算机程序产品可以包括指令集或代码模块本身,并且实施在计算机可读介质上。
用户输入设备408包括将信息输入到计算机系统402的所有可能类型的设备和机构。这些可以包括键盘、小键盘、鼠标、扫描仪、数字绘图板、集成到显示器中的触摸屏、音频输入设备(诸如语音识别系统)、麦克风和其它类型的输入设备。在各种实施例中,用户输入设备408通常被实施为计算机鼠标、轨迹球、轨迹板、操纵杆、无线遥控器、绘图平板、语音命令系统。用户输入设备408通常允许用户经由诸如点击按钮等的命令来选择出现在监视器404上的对象、图标、文本等。用户输出设备406包括输出来自计算机402的信息的所有可能类型的设备和机构。这些可以包括显示器(例如,监视器404)、打印机、非视觉显示器(诸如音频输出设备)等。
通信接口410提供到其它通信网络和设备的接口并且可以被用作经由有线或无线通信网络422从其它系统、WAN和/或互联网接收数据和向其它系统、WAN和/或互联网传输数据的接口。通信接口410的实施例通常包括以太网卡、调制解调器(电话、卫星、电缆、ISDN)、(异步)数字订户线(DSL)单元、接口、/>接口、无线网络适配器等。例如,通信接口410可以耦合到计算机网络、/>总线等。在其它实施例中,通信接口410可以物理地集成在计算机402的主板上,和/或可以是软件程序等。
RAM 418和非易失性存储驱动器420是有形计算机可读介质的示例,其被配置为存储诸如本发明的计算机程序产品实施例之类的数据,包括可执行计算机代码、人类可读代码等。其它类型的有形计算机可读介质包括软盘、可移动硬盘、光存储介质(诸如CD-ROM、DVD、条形码)、半导体存储器(诸如闪存)、只读存储器(ROM)、电池供电的易失性存储器、联网的存储设备等。如上所述,RAM 418和非易失性存储驱动器420可以被配置为存储提供本发明的各种实施例的功能性的基本编程和数据构造。
提供本发明的功能性的软件指令集可以存储在计算机可读介质412、RAM 418和/或非易失性存储驱动器420中。这些指令集或代码可以由(一个或多个)处理器414执行。计算机可读介质412、RAM 418和/或非易失性存储驱动器420还可以提供储存库以存储根据本发明使用的数据和数据结构。RAM 418和非易失性存储驱动器420可以包括多个存储器,包括在程序执行期间存储指令和数据的主随机存取存储器(RAM)和其中存储固定指令的只读存储器(ROM)。RAM 418和非易失性存储驱动器420可以包括提供程序和/或数据文件的持久(非易失性)存储的文件存储子系统。RAM 418和非易失性存储驱动器420还可以包括可移动存储系统,诸如可移动闪存。
总线子系统416提供允许计算机402的各种组件和子系统如预期的那样彼此通信的机构。虽然总线子系统416被示意性地示为单条总线,但是总线子系统的备选实施例可以利用计算机402内的多条总线或通信路径。
对于固件和/或软件实施方式,方法可以用执行本文描述的功能的模块(例如,过程、函数等)来实现。任何有形地实施指令的机器可读介质都可以用于实现本文描述的方法。例如,软件代码可以存储在存储器中。存储器可以在处理器内或处理器外实现。如本文所使用的,术语“存储器”是指任何类型的长期、短期、易失性、非易失性或其它存储介质,并且不限于存储器的任何特定类型或存储器的数量,或在其上存储存储器的介质的类型。
而且,如本文所公开的,术语“存储介质”可以表示用于存储数据的一个或多个存储器,包括只读存储器(ROM)、随机存取存储器(RAM)、磁RAM、核心存储器、磁盘存储介质、光学存储介质、闪存设备,和/或用于存储信息的其它机器可读介质。术语“机器可读介质”包括但不限于便携式或固定存储设备、光学存储设备、无线信道和/或能够存储包含或携带(一个或多个)指令和/或数据的各种其它存储介质。
虽然在阅读前述描述之后本发明的许多变更和修改无疑将对本领域普通技术人员变得显而易见,但是应该理解的是,通过说明的方式示出和描述的特定实施例是决非意图被认为是限制性的。
而且,关于图1-4中的一个或多个描述的处理以及本公开的任何其它方面可以各自通过软件来实现,但是也可以在硬件、固件或软件、硬件和固件的任何组合中实现。用于执行这些处理的指令也可以被实施为记录在机器或计算机可读介质上的机器或计算机可读代码。在一些实施例中,计算机可读介质可以是非暂态计算机可读介质。这种非暂态计算机可读介质的示例包括但不限于只读存储器、随机存取存储器、闪存、CD-ROM、DVD、磁带、可移动存储卡,以及光学数据存储设备。在其它实施例中,计算机可读介质可以是暂态计算机可读介质。在此类实施例中,暂态计算机可读介质可以分布在网络耦合的计算机系统上,从而以分布式方式存储和执行计算机可读代码。例如,这种暂态计算机可读介质可以使用任何合适的通信协议从一个电子设备传送到另一个电子设备。这种暂态计算机可读介质可以在经调制的数据信号中实施计算机可读代码、指令、数据结构、程序模块或其它数据,诸如载波或其它运输机构,并且可以包括任何信息递送介质。经调制的数据信号可以是其一个或多个特点以在信号中编码信息的方式设置或改变的信号。
应该理解的是,任何系统、设备或服务器中的任何一个或多个的任何或每个模块可以作为软件构造、固件构造、一个或多个硬件组件或其组合来提供,并且可以在可以由一个或多个计算机或其它设备执行的计算机可执行指令(诸如程序模块)的一般上下文中描述。一般而言,程序模块可以包括一个或多个例程、程序、对象、组件和/或数据结构,它们可以执行一个或多个特定任务或者可以实现一个或多个特定抽象数据类型。还应理解的是,任何系统、设备或服务器中的任何一个或多个的模块的数量、配置、功能性和互连仅仅是说明性的,并且现有模块的数量、配置、功能性和互连可以被修改或省略,可以添加附加的模块,并且可以更改某些模块的互连。
虽然已经描述了用于启用用户电子设备对介质电子设备处的介质应用的高效控制的系统、方法和计算机可读介质,但是应该理解的是,在不脱离本公开的精神和范围的情况下,可以在其中进行许多改变。本领域普通技术人员看来现在已知的或以后设计的对要求保护的主题的非实质性改变被明确地预期为等同地在权利要求的范围内。因此,本领域普通技术人员现在或以后已知的明显替换被定义为在所定义元素的范围内。
因此,本领域技术人员将认识到的是,本发明可以通过所描述的实施例以外的其它实施例来实践,这些实施例是出于说明而非限制的目的呈现的。
Claims (15)
1.一种在终端设备中实现的用于保护密钥的方法,包括:
生成用于加密数据页的页密钥;
加密页密钥以提供加密的页密钥;
将密钥分发方案应用于加密的页密钥以生成多个远程份额和至少一个本地份额;
在对加密的密钥应用密钥分发方案之后丢弃加密的页密钥;
将远程份额分发到多个远程服务器;
将所述至少一个本地份额存储在终端设备上;
重构加密的页密钥,包括:
从所述多个远程服务器获取远程份额;
从终端设备检索所述至少一个本地份额;以及
组合获取的远程份额和检索出的至少一个本地份额以重构加密的页密钥;
在远程份额被分发到所述多个远程服务器之后或在已经重构加密的页密钥之后,从终端设备丢弃远程份额;以及
响应于活动应急模式,指示所述多个远程服务器不提供存储在其中的任何远程份额。
2.如权利要求1所述的方法,其中所述应用密钥分发方案包括:
将加密的页密钥拆分为N个份额,其中需要K个份额来重构加密的页密钥;
将R个份额指定为所述多个远程份额;以及
将L个份额指定为所述至少一个本地份额,并且
其中N、K、R或L均为大于零的整数。
3.如权利要求2所述的方法,其中当K等于N时,R+L=N,并且其中当N>K时,R<K<N。
4.如权利要求1所述的方法,还包括在页密钥已经被加密以提供加密的页密钥之后丢弃页密钥。
5.如权利要求1所述的方法,还包括用页密钥加密数据页。
6.如权利要求1所述的方法,还包括在加密的页密钥已经被重构之后解密加密的页密钥以提供页密钥。
7.如权利要求6所述的方法,还使用页密钥对加密的数据页进行解密。
8.一种包含用于由应用执行的用于保护密钥的方法的程序指令的计算机可读存储介质,所述应用包括用于在运行时期间由所述应用调用的一个或多个组件的代码,其中程序指令由计算机系统的一个或多个处理器的执行使所述一个或多个处理器执行包括以下的步骤:
生成用于加密数据页的页密钥;
加密页密钥以提供加密的页密钥;
将密钥分发方案应用于加密的页密钥以生成多个远程份额和至少一个本地份额;
在对加密的密钥应用密钥分发方案之后丢弃加密的页密钥;
将远程份额分发到多个远程服务器;
将所述至少一个本地份额存储在终端设备上;
重构加密的页密钥,包括:
从所述多个远程服务器获取远程份额;
从终端设备检索所述至少一个本地份额;以及
组合获取的远程份额和检索出的至少一个本地份额以重构加密的页密钥;
在远程份额被分发到所述多个远程服务器之后或在已经重构加密的页密钥之后,从终端设备丢弃远程份额;以及
响应于活动应急模式,指示所述多个远程服务器不提供存储在其中的任何远程份额。
9.如权利要求8所述的计算机可读存储介质,其中所述应用密钥分发方案包括:
将加密的页密钥拆分为N个份额,其中需要K个份额来重构加密的页密钥;
将R个份额指定为所述多个远程份额;以及
将L个份额指定为所述至少一个本地份额,并且
其中N、K、R或L均为大于零的整数。
10.如权利要求9所述的计算机可读存储介质,其中K等于N或K小于N。
11.如权利要求8所述的计算机可读存储介质,其中所述方法还包括:在页密钥已经被加密以提供加密的页密钥之后丢弃页密钥。
12.如权利要求8所述的计算机可读存储介质,其中所述方法还包括:用页密钥加密数据页。
13.如权利要求8所述的计算机可读存储介质,其中所述方法包括:在加密的页密钥已经被重构之后解密加密的页密钥以提供页密钥。
14.如权利要求13所述的计算机可读存储介质,其中所述方法还使用页密钥对加密的数据页进行解密。
15.一种用于保护密钥的系统,包括:
终端设备,可操作以
生成用于加密数据页的页密钥;
加密页密钥以提供加密的页密钥;
将密钥分发方案应用于加密的页密钥以生成多个远程份额和至少一个本地份额;
在对加密的密钥应用密钥分发方案之后丢弃加密的页密钥;
将远程份额分发到多个远程服务器;
将所述至少一个本地份额存储在终端设备上;
通过从所述多个远程服务器获取远程份额,从终端设备检索所述至少一个本地份额,以及组合获取的远程份额和检索出的至少一个本地份额以重构加密的页密钥;
在远程份额被分发到所述多个远程服务器之后或在已经重构加密的页密钥之后,从终端设备丢弃远程份额;以及
响应于活动应急模式,指示所述多个远程服务器不提供存储在其中的任何远程份额。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/196,341 | 2021-03-09 | ||
US17/196,341 US11196558B1 (en) | 2021-03-09 | 2021-03-09 | Systems, methods, and computer-readable media for protecting cryptographic keys |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115048657A CN115048657A (zh) | 2022-09-13 |
CN115048657B true CN115048657B (zh) | 2023-09-15 |
Family
ID=78818863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210039883.1A Active CN115048657B (zh) | 2021-03-09 | 2022-01-14 | 用于保护密码密钥的系统、方法和计算机可读介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11196558B1 (zh) |
EP (1) | EP4057566B1 (zh) |
CN (1) | CN115048657B (zh) |
WO (1) | WO2022189850A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11196558B1 (en) * | 2021-03-09 | 2021-12-07 | Technology Innovation Institute | Systems, methods, and computer-readable media for protecting cryptographic keys |
US20230198966A1 (en) * | 2021-12-22 | 2023-06-22 | Mastercard Technologies Canada ULC | Protecting sensitive data in internet-of-things (iot) device |
CN117395000B (zh) * | 2023-12-06 | 2024-04-05 | 鼎铉商用密码测评技术(深圳)有限公司 | 多方授权方法、多方授权设备以及可读存储介质 |
CN117459233A (zh) * | 2023-12-21 | 2024-01-26 | 法琛堂(昆明)医疗科技有限公司 | 医疗信息多层加密方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103748827A (zh) * | 2011-08-05 | 2014-04-23 | 苹果公司 | 用于无线数据保护的系统和方法 |
US9813244B1 (en) * | 2015-12-30 | 2017-11-07 | EMC IP Holding Company LLC | Distributed proactive password-based secret sharing |
CN108337090A (zh) * | 2018-05-21 | 2018-07-27 | 上海众人网络安全技术有限公司 | 一种动态密码获取方法、装置、终端和存储介质 |
CN111222152A (zh) * | 2020-01-03 | 2020-06-02 | 上海达梦数据库有限公司 | 一种数据写入方法、装置、设备及存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060206793A1 (en) * | 2005-03-10 | 2006-09-14 | Kabushiki Kaisha Toshiba | Document file management apparatus, document file management method and document file management program |
US20110138475A1 (en) * | 2008-07-30 | 2011-06-09 | Telefonaktiebolaget L M Ericsson (Publ) | Systems and method for providing trusted system functionalities in a cluster based system |
CN102301374B (zh) * | 2009-02-16 | 2014-06-25 | 松下电器产业株式会社 | 非法模块确定装置、信息处理装置、非法模块确定方法、非法模块无效化系统及非法模块无效化方法 |
US8774403B2 (en) * | 2011-12-08 | 2014-07-08 | Dark Matter Labs, Inc. | Key creation and rotation for data encryption |
WO2014008495A2 (en) * | 2012-07-06 | 2014-01-09 | Cornell University | Managing dependencies between operations in a distributed system |
US20150142733A1 (en) * | 2013-11-18 | 2015-05-21 | Ori Software Development Ltd. | System and method for efficient management of big data in a database using streaming tables |
WO2017163109A1 (en) * | 2016-03-23 | 2017-09-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Cyber-physical context-dependent cryptography |
US10423387B2 (en) * | 2016-08-23 | 2019-09-24 | Interana, Inc. | Methods for highly efficient data sharding |
US10503714B2 (en) * | 2017-06-02 | 2019-12-10 | Facebook, Inc. | Data placement and sharding |
US10747814B2 (en) * | 2017-09-29 | 2020-08-18 | Oracle International Corporation | Handling semi-structured and unstructured data in a sharded database environment |
WO2019178559A1 (en) * | 2018-03-15 | 2019-09-19 | Medici Ventures, Inc. | Splitting encrypted key and encryption key used to encrypt key into key components allowing assembly with subset of key components to decrypt encrypted key |
US10911431B2 (en) * | 2018-05-21 | 2021-02-02 | Wickr Inc. | Local encryption for single sign-on |
US11196558B1 (en) * | 2021-03-09 | 2021-12-07 | Technology Innovation Institute | Systems, methods, and computer-readable media for protecting cryptographic keys |
-
2021
- 2021-03-09 US US17/196,341 patent/US11196558B1/en active Active
-
2022
- 2022-01-05 EP EP22150329.5A patent/EP4057566B1/en active Active
- 2022-01-14 CN CN202210039883.1A patent/CN115048657B/zh active Active
- 2022-02-24 WO PCT/IB2022/000079 patent/WO2022189850A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103748827A (zh) * | 2011-08-05 | 2014-04-23 | 苹果公司 | 用于无线数据保护的系统和方法 |
US9813244B1 (en) * | 2015-12-30 | 2017-11-07 | EMC IP Holding Company LLC | Distributed proactive password-based secret sharing |
CN108337090A (zh) * | 2018-05-21 | 2018-07-27 | 上海众人网络安全技术有限公司 | 一种动态密码获取方法、装置、终端和存储介质 |
CN111222152A (zh) * | 2020-01-03 | 2020-06-02 | 上海达梦数据库有限公司 | 一种数据写入方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4057566B1 (en) | 2024-03-06 |
EP4057566C0 (en) | 2024-03-06 |
US11196558B1 (en) | 2021-12-07 |
EP4057566A1 (en) | 2022-09-14 |
CN115048657A (zh) | 2022-09-13 |
WO2022189850A1 (en) | 2022-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10903994B2 (en) | Many-to-many symmetric cryptographic system and method | |
CN115048657B (zh) | 用于保护密码密钥的系统、方法和计算机可读介质 | |
CN111448779A (zh) | 用于混合秘密共享的系统、设备和方法 | |
US11087017B1 (en) | Systems, methods, and computer-readable media for utilizing anonymous sharding techniques to protect distributed data | |
CN110868291B (zh) | 一种数据加密传输方法、装置、系统及存储介质 | |
US8953786B2 (en) | User input based data encryption | |
US20020021804A1 (en) | System and method for data encryption | |
CN112469036A (zh) | 一种消息加解密方法、装置、移动终端和存储介质 | |
CA3056814A1 (en) | Symmetric cryptographic method and system and applications thereof | |
JP2010011109A (ja) | 認証ユニット、認証端末、認証システム、認証方法およびプログラム | |
US11290277B2 (en) | Data processing system | |
Junghanns et al. | Engineering of secure multi-cloud storage | |
US10432596B2 (en) | Systems and methods for cryptography having asymmetric to symmetric key agreement | |
US11646870B2 (en) | Securing mobile device by RAM-encryption | |
JPH10271104A (ja) | 暗号化方法及び復号化方法 | |
Sarhan et al. | Secure android-based mobile banking scheme | |
CN113595982B (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN113924571A (zh) | 密码系统 | |
Glet | SECURITY ANALYSIS OF SIGNALS DATA STORAGE MECHANISMS IN IOS VERSION. | |
Sri et al. | SECURE FILE STORAGE USING HYBRID CRYPTOGRAPHY | |
CN116866029B (zh) | 随机数加密数据传输方法、装置、计算机设备及存储介质 | |
Reddy et al. | Data Storage on Cloud using Split-Merge and Hybrid Cryptographic Techniques | |
Mazhar et al. | SECURITY ISSUES IN CLOUD COMPUTING AND THEIR SOLUTIONS | |
US20210143983A1 (en) | Hybrid Content Protection Architecture | |
CN113449345A (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 |