CN117859290A - 安全存储密钥 - Google Patents

安全存储密钥 Download PDF

Info

Publication number
CN117859290A
CN117859290A CN202280055700.3A CN202280055700A CN117859290A CN 117859290 A CN117859290 A CN 117859290A CN 202280055700 A CN202280055700 A CN 202280055700A CN 117859290 A CN117859290 A CN 117859290A
Authority
CN
China
Prior art keywords
key
shares
component
key component
components
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280055700.3A
Other languages
English (en)
Inventor
斯尔詹·卡普昆
马里奥·马蒂亚舍维奇
韦德兰·诺沃瑟拉克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fortress Technology Co ltd
Original Assignee
Fortress Technology Co ltd
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 Fortress Technology Co ltd filed Critical Fortress Technology Co ltd
Publication of CN117859290A publication Critical patent/CN117859290A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

一种分布式存储密钥(11)的方法包括生成多个密钥组件,其中每个密钥组件由不同的计算设备或飞地(41、42;53、54)生成。所述密钥组件适合处理依赖于所有密钥组件而生成的密钥。所述方法包括在秘密共享生成过程(13、14;20、21)中处理第一密钥组件以生成多个份额,使得第一密钥组件可以从至少预定阈值大小的份额的任何子集中重构。所述方法进一步包括在第一存储区(43、44、45、46、47;55、56、57、58)中存储第一份额,并在第二存储区(43、44、45、46、47;55、56、57、58)中存储第二份额。

Description

安全存储密钥
发明背景
本发明涉及安全存储密钥的装置和方法。
密钥可用于密码算法,对数据进行加密和解密,以及对消息进行签名和认证。密钥可以是对称的,即同一密钥用于加密和解密,或用于签名和认证;也可以是非对称的,即密钥对包括一个私钥和一个相应的公钥,公钥用于加密或签名验证,私钥用于解密或签名生成。
通常,密钥(对称密钥或非对称私钥)的安全存储非常重要,以免被未经授权的人发现和使用,例如解密秘密消息或生成欺诈性密码签名。同样重要的是,密钥不会意外丢失,例如因硬件故障而丢失。
这一点在加密货币系统中尤为明显,如果用户用于签署加密货币交易的密钥从存储密钥的数据存储区(例如,服务器)被盗或丢失,大量财富可能被盗或无法访问。
降低这些风险的一种方法是使用秘密共享过程将密钥拆分成k个不同的份额(即不同的数值),所述份额可以分别存储,例如存储在不同的安全数据存储区中。秘密共享过程使得从至少含有阈值t数目的任一份额中可以重构出密钥。这种阈值秘密共享过程的例子包括:Shamir秘密共享;Blakley秘密共享;以及基于中国剩余定理的秘密共享。即使攻击者成功入侵了存储其中一个密钥份额的设备,攻击者也无法重构密钥(假设t>1)。相反,如果其中一个份额永久或暂时丢失或不可用,合法用户仍可通过访问至少部分剩余的份额来重构密钥(假设t<k)。
虽然与将整个密钥存储在单个数据存储区中相比,这种秘密共享可以提供更好的安全性和恢复能力,但更希望能提供更高的安全性。因此,本发明的实施例旨在提供一种更安全的密钥存储方法。
发明内容
第一方面,本发明提供了一种用于分布式存储密钥的方法,所述方法包括:
生成多个密钥组件,所述密钥组件是适用于在密钥组装过程中处理的各个值,以生成一个值取决于所有多个密钥组件的密钥;
在秘密共享生成过程中,处理多个密钥组件中的第一密钥组件,以生成第一密钥组件的多个份额,使得可以使用相应的秘密共享重构过程,从至少一个预定阈值大小的份额子集中重构第一密钥组件,所述阈值小于份额数量;
将多个份额中的第一份额存储在第一存储区中;以及
将多个份额中的第二份额存储在第二存储区中。
第二方面,本发明提供了一种用于分布式存储密钥的系统,所述系统包括一个密钥组件生成装置,配置为:
生成多个密钥组件,所述密钥组件是适用于在密钥组装过程中处理的各个值,以生成一个值取决于所有多个密钥组件的密钥;
在秘密共享生成过程中,处理多个密钥组件中的第一密钥组件,以生成第一密钥组件的多个份额,使得可以使用相应的秘密共享重构过程,从至少一个预定阈值大小的份额子集中重构第一密钥组件,所述阈值小于份额数量;
将多个份额中的第一份额输出存储到第一存储区中;以及
将多个份额中的第二份额输出存储到第二存储区中。
第三方面,本发明提供了计算机软件以及存储所述软件的暂时或非暂时存储介质,其中包括指令,当在计算处理系统上执行指令时,使得计算处理系统执行以下操作:
生成多个密钥组件,所述密钥组件是适用于在密钥组装过程中处理的各个值,以生成一个值取决于所有多个密钥组件的密钥;
在秘密共享生成过程中,处理多个密钥组件中的第一密钥组件,以生成第一密钥组件的多个份额,使得可以使用相应的秘密共享重构过程,从至少一个预定阈值大小的份额子集中重构第一密钥组件,所述阈值小于份额数量;
将多个份额中的第一份额输出存储到第一存储区中;以及
将多个份额中的第二份额输出存储到第二存储区中。
因此,根据本发明实施例可以看出,密钥是由密钥各个组件的若干份额来表示,而不是直接共享完整密钥,并且这些份额存储在各自存储区中。通过这种方式,即使攻击者设法破坏了超过阈值数量的份额,通常来说,这可能仍不足以让攻击者构造出密钥,因为攻击者可能仍然无法重构生成密钥所需的所有密钥组件。
通过考虑一个简单的例子来理解。假设一个密钥依赖于10个密钥组件,使用阈值为t的秘密共享生成过程将每个密钥组件分成10个份额,对于重构需要5个份额(t=5)。即使攻击者设法破坏了100个份额中的50个份额,密钥仍将保持安全,除非攻击者例外地设法破坏了10个密钥组件中每个组件的5个份额。更有可能的情况是,如果攻击者破坏了5个密钥组件中每个组件的8个份额,以及剩余5个密钥组件中每个组件的2个份额,则攻击者将没有足够的信息来重构剩下的5个密钥组件,因此无法生成密钥,因为密钥取决于所有10个密钥组件。相比之下,如果通过应用秘密共享过程天真地将完整的密钥直接分为100个份额,阈值t=50,那么破坏100个份额中任何50个份额的子集都将使攻击者能够确定密钥。
多个密钥组件优选地彼此独立地生成。在优选实施例中,每个密钥组件由不同的计算设备或飞地生成。
应理解的是,本文公开的方法不需要集中生成密钥,然后将其拆分为多个组件,而是能够以分布式方式生成代表密钥的所有数据(即密钥组件和相应的份额)。这有助于在生成密钥组件和共享的过程中不需要将整个密钥保存在任何单个位置,保护密钥生成和存储过程免受攻击。
秘密共享生成过程可以包括Shamir秘密共享、Blakley秘密共享,或者基于中国剩余定理或任何其他适当的算法。在一组优选实施例中,使用Shamir秘密共享处理第一密钥组件以生成多个份额。
第一份额优选地不存储在第二存储区中,第二份额优选地不存储在第一存储区中。这有助于确保任何一个存储区的受损都不足以让攻击者确定第一密钥组件。
第一密钥组件的份额可以是任意数量,例如5、10、50、100或更多。阈值可以有任何值,例如3、5、10、50或更多。阈值优选地大于1。第一密钥组件的多个份额中的每一个可以存储在多个存储区的各自存储区中,或输出以供存储。在一些实施例中,第一密钥组件的任何两个份额都不会存储或输出以供存储在同一个存储区中。
多个密钥组件中的一个或多个,或者每个额外密钥组件,可能会在各自秘密共享生成过程中进行处理,以生成所述额外密钥组件的相应多个份额。相同的秘密共享生成过程可以应用于每个密钥组件(尽管可以使用此过程的不同实例,例如在不同的处理器上执行)。秘密共享生成过程可以从包含至少相应的预定阈值数量份额的密钥组件的任何子集中重构每个密钥组件。每个这样的额外密钥组件的至少第一以及第二份额,或所有份额,可能分别存储在不同的存储区中。
所述系统可能包括第一和第二存储区,也可能包括多个存储区。每个存储区可能由存储介质提供,例如磁盘或固态硬盘。所述存储区可能由各自的计算设备提供。
在一些实施例中,至少两个密钥存储区是由具有不同的处理器体系结构和/或计算机体系结构(例如,不同的硬件和/或操作系统)的相应计算系统提供(即在系统上实现)。每个处理器或计算系统可能由不同的制造商制造,例如Intel CorporationTM、ArmLimitedTM和/或由不同的运营商提供或操作,例如Amazon Web Services(AWS)TM等。这有助于提供更强大的鲁棒性和免受攻击的保护,例如侧信道攻击,因为由于处理器体系结构的差异,针对每个密钥存储区的单一类型攻击成功的可能性可以显著降低。
优选地,密钥组件生成装置被配置为随机地生成密钥组件(即,使用伪随机或真随机过程)。每个密钥组件可以是一个随机数。在一些实施例中,所有密钥组件可能具有相同的比特长度,可能等于所需密钥的比特长度,并且每个密钥组件可能是所述比特长度的真随机值或伪随机值。优选地,密钥组件生成装置被配置为使用随机数生成器生成密钥组件。每个密钥组件生成设备或飞地(属于密钥组件生成装置)可能配置为使用随机数生成器生成相应的密钥组件。尽管在一些实施例中可能使用共享的随机数生成器,但是每个密钥组件生成设备或飞地优选地包含或配置为访问不同的随机数生成器。每个随机数生成器可以在硬件或软件中实现。
通过随机生成密钥组件,而不是从已存在的密钥中派生,例如,可以生成密钥组件,以便提供密码性强的密钥,而无需在使用密钥进行密码操作之前构造密钥。
密钥组件生成装置可以包括多个密钥组件生成设备,每个设备配置为生成多个密钥组件中的各个密钥组件。每个密钥组件生成设备可以由具有不同处理器体系结构和/或计算机体系结构的相应计算系统提供,例如,具有与上述密钥存储有关的任何相似特征。优选地,每个密钥组件是独立生成的。生成密钥组件优选地不需要知道组装的密钥。这与用于生成每个密钥组件份额的秘密共享生成过程形成对比,在所述过程中,首先生成密钥组件,然后通过将密钥组件主动拆分成份额将其分解。在不知道任何其他密钥组件或最终密钥的情况下,独立地生成每个密钥组件为密钥生成过程提供安全性。
每个密钥组件生成设备可能配置为在各自的秘密共享生成过程中处理相应的密钥组件,以生成所述密钥组件的多个份额。每个设备可能配置为将多个份额中的两个或多个份额输出到各自的存储区中。
将相同和/或不同密钥组件的至少一些份额存储在彼此不同的各自存储区中可以提高安全级别。这也可以提供对于特定存储区中数据的暂时或永久不可用或丢失(例如,由于硬件故障)的鲁棒性。
如上所述,通过使不同密钥组件的份额根据所需的策略分布在不同的存储实体和/或地理位置之间,使用密钥组件可以提供更进一步的安全性和/或灵活性。例如,可以使不同密钥组件的份额存储在不同的企业网络上,这样即使整个企业网络泄露,也只会泄漏一个密钥组件,而不是整个密钥。
虽然在分布式存储密钥的方法中生成密钥并非必需(即不一定需要执行密钥组装过程),但在一些优选实施例中,密钥作为所述方法的一部分生成。例如,当密钥是非对称密钥对的私钥时,这可能特别有用,因为可能希望在同一方法中生成相应的公钥。因此,在一些实施例中,所述方法进一步包括在密钥组装过程中处理多个密钥组件以生成密钥。如上所述,优选地,只有在生成了所有密钥组件之后,才会计算密钥(即第一次计算)。
然而,至少在一些优选实施例中,密钥是通过从各自的密钥份额集重构密钥组件生成的,而不是通过直接处理作为分布式存储过程的一部分生成的密钥组件。在一些实施例中,通过避免在不同处理模块之间传递密钥组件的需求,可以提供安全优势。所述方法可以包括,对于多个密钥组件的一个或多个中的每个密钥组件,处理至少阈值大小的相应份额集,以在各自的秘密共享重构过程中重构各自的密钥组件。这样做可以生成密钥。
进一步的,所述系统可能包括一个密钥组装装置,配置为:
从第一存储区中接收第一密钥组件的第一份额;
从第二存储区中接收第一密钥组件的第二份额;
在秘密共享重构过程中处理第一密钥组件的一组份额,至少包括第一和第二份额,以重构第一密钥组件;
接收或重构多个密钥组件中的每个额外密钥组件;以及
在密钥组装过程中处理多个密钥组件以生成密钥。
密钥组装装置可能配置为接收一个或多个或每个额外密钥组件的每个相应份额集。所述装置可以在各自的秘密共享重构过程中处理每个接收到的份额集,以重构相应的额外密钥组件。
密钥组装过程可以包括从多个组件值确定输出值的任何过程,使得输出值至少部分取决于每个组件值。密钥组装过程可以是这样的,即更改任何一个密钥组件的任何一个比特将导致输出值的变化。密钥组装过程优选地是这样的,即生成密钥需要所有多个密钥组件(即不仅仅是密钥组件的子集)。优选地,密钥组装过程不使用(即不涉及)秘密共享重构。优选地,密钥组装过程包括处理与密钥相对应的所有密钥组件。
密钥组装过程优选地包括处理一组密钥组件,所述密钥组件优选地是所有多个密钥组件。优选地,密钥组装过程是这样的,即在所处理的密钥组件集中包含额外密钥组件将改变密钥组装过程的输出。密钥组装过程可以是这样的,即密钥受密钥组件集的每个密钥组件的影响,而与形成密钥组件集的密钥组件数量无关。优选地,形成密钥组件集的密钥组件是能够用于组装密钥的唯一密钥组件。在一些实施例中,密钥组装过程生成对于所处理的密钥组件集唯一的密钥。
在一些实施例中,组装过程可能包括串联多个组件值。然而,在一组优选实施例中,密钥组装过程包括或由计算多个密钥组件的按位异或(exclusive OR,XOR)组成。密钥组件可能都具有相同的比特长度,所述长度可以等于密钥的比特长度(例如,256比特)。XOR的使用提高了计算效率,同时确保密钥完全依赖于每个密钥组件的每个比特。此外,XOR的使用还允许基于可以独立生成的密钥组件生成密钥,而不是从密钥本身生成密钥组件。因此,XOR的使用支持独立、分布式生成密钥组件。
密钥可以是对称密钥或非对称私钥。该密钥可能是椭圆曲线密钥。该密钥可能适用于解密数据和/或生成数字签名。当密钥是非对称私钥时,系统可以配置为生成与密钥相对应的非对称公钥。
重构密钥可以与初始生成密钥份额分开进行,例如稍后执行。重构密钥可以在多个较晚的时机进行,优选地,每次需要密钥执行密码操作时,因为在优选实施例中,密钥并未以重构形式存储在系统的任何永久存储区中,而是仅作为分布在多个存储区中的密钥份额。
第四方面,本发明提供了一种用于重构密钥的方法,所述方法包括:
从第一存储区中接收密钥的第一密钥组件的第一份额;
从第二存储区中接收第一密钥组件的第二份额;
在秘密共享重构过程中处理第一密钥组件的一组份额,至少包括第一和第二份额,以重构第一密钥组件;
接收或重构密钥的一个或多个额外密钥组件;以及
在密钥组装过程中处理第一密钥组件以及一个或多个额外密钥组件以生成密钥。
第五方面,本发明提供了一种用于重构密钥的系统,所述系统包括一个密钥组装装置,配置为:
从第一存储区中接收密钥的第一密钥组件的第一份额;
从第二存储区中接收第一密钥组件的第二份额;
在秘密共享重构过程中处理第一密钥组件的一组份额,至少包括第一和第二份额,以重构第一密钥组件;
接收或重构密钥的一个或多个额外密钥组件;以及
在密钥组装过程中处理第一密钥组件以及一个或多个额外密钥组件以生成密钥。
第六方面,本发明提供了计算机软件以及存储所述软件的暂时或非暂时介质,其中包括指令,当在计算处理系统上执行指令时,使得计算处理系统执行以下操作:
从第一存储区中接收密钥的第一密钥组件的第一份额;
从第二存储区中接收第一密钥组件的第二份额;
在秘密共享重构过程中处理第一密钥组件的一组份额,至少包括第一和第二份额,以重构第一密钥组件;
接收或重构密钥的一个或多个额外密钥组件;以及
在密钥组装过程中处理第一密钥组件以及一个或多个额外密钥组件以生成密钥。
前述任何方面或实施例的特征也可能是这些方面的实施例的特征。特别是,如本发明所公开的,用于重构密钥的系统也可以是一个用于分布式存储密钥的系统。所述系统可能包括一个密钥组件生成装置以及一个密钥组装装置。
优选地,共享每个密钥组件使用相同的秘密共享生成过程,以及优选地,重构每个密钥组件使用相同的秘密共享重构过程。可以对每个密钥组件使用相同数量的份额和相同的阈值。然而,在一些实施例中,至少两个密钥组件之间的份额数量可能不同。至少两个密钥组件的阈值可能不同。份额数量和/或每个密钥组件的阈值是可配置的。系统可以包括用于接收参数数据的输入,所述参数数据代表每个密钥组件生成的份额数量和/或代表用于处理每个密钥组件的相应秘密共享生成过程的预定阈值。这可以在确定如何分配份额以及重构密钥所需的可能来自不同实体的最小份额数量方面提供更大的灵活性,例如,可以促使关于签署特定交易所需的签署者数量以及来自哪些组织的复杂策略,比如加密货币交易。
密钥组装装置可以进一步配置为使用密钥执行密码操作,例如加密操作或签名操作。在一组优选实施例中,密钥组装装置配置为在椭圆曲线数字签名算法(Elliptic-CurveDigital Signature Algorithm,ECDSA)中使用密钥。密钥组装装置可以配置为使用密钥签署加密货币交易。
密钥组装装置可以配置为在接收到使用密钥执行密码操作的指令后生成密钥。优选地,密钥组装装置配置为在完成密码操作后从装置的存储器中擦除密钥。优选地,在完成操作后立即擦除密钥,这降低了密钥暴露给敌手的风险。
在优选实施例中,所述系统包括具有存储器和处理器的计算设备(例如服务器或工作站),配置为提供可信执行环境(Trusted Execution Environment,TEE),用于安全地解密和执行存储在设备飞地中加密的软件指令。所述TEE可以由支持软件保护扩展(Software Guard Extensions,SGX)的Intel处理器提供,或者由支持TrustZone的Arm处理器提供,或者由配置为提供TEE的任何其他处理器提供。所述飞地可以存储在设备的存储器中。飞地可以是特定于密钥的,也可以由多个密钥共享。所述系统可以包括多个此类设备,设备可以通过网络进行通信连接。这些设备可以配置为通过加密和认证的通道相互通信。
每个密钥组件可以在系统的不同飞地中生成(在本文中称为密钥组件生成飞地)。优选地,在同一飞地中对密钥组件执行秘密共享生成过程。优选地,在完成密钥组件的秘密共享生成过程后从飞地中擦除密钥组件。
每个存储区可以由系统的不同飞地提供(在本文中称为存储飞地)。
所述系统(例如,密钥组装装置)可以配置为在密钥组装装置的飞地中(在本文中称为密钥组装飞地)重构每个密钥组件,并在密钥组装过程中处理密钥组件以生成密钥。系统可以在同一飞地中使用密钥执行密码操作。系统可以配置为确保密钥永远不会离开飞地。在完成密码操作后,优选地擦除飞地中的密钥组件和密钥。
这些飞地中的每一个可以是单个计算设备上提供的不同飞地,但是所有或至少一些飞地优选地由不同设备的存储器提供。这些设备可能地理上分布,例如位于不同的建筑物、城镇、地点或国家。
分布式生成密钥组件意味着即使攻击者入侵了一个参与密钥生成过程的设备,也不会危及整个密钥。这是因为参与密钥生成过程的设备无需存储完整的密钥即可生成密钥组件。相比之下,如果使用天真的方法直接在一个设备上将密钥拆分成份额,如果攻击者入侵生成密钥份额的设备,攻击者可能从一开始就危害密钥。
密钥组装装置可能提供多个密钥组装飞地,例如在不同的设备上。虽然在任何特定的密钥生成操作中优选地只使用一个飞地,但选择多个飞地或设备可以实现有效的负载平衡,并在硬件故障的情况下提供恢复能力。
所述系统可能包括一个用于为客户端提供接口的接口设备。所述接口可能使客户端能够指示系统生成新的密钥(或密钥对),或者在密码操作中重构和使用存储的密钥。系统可能配置为在执行指令前认证客户端和/或接收到的指令。系统可能向客户端提供证明信息,可以证明已接收指令的参与执行的每个飞地。
在适当的情况下,本文描述的任何方面或实施例的特征均可用于本文描述的任何其他方面或实施例。在参考不同的实施例或实施例组时,应理解它们不一定是相互独立的,可能会存在重叠。
附图的简要说明
现在,仅通过示例的方式描述本发明的一些优选实施例,参考附图,其中:
图1是体现本发明的用于初始生成并安全存储加密私钥的示意图;
图2是体现本发明的用于重构安全存储的加密私钥的示意图;
图3是体现本发明所用计算设备的示意图;
图4是体现本发明的用于实现以上过程的计算机系统的示意图;
图5是进一步体现本发明的用于展示在初始生成和安全存储密钥时的命令和数据的计算机系统的示意图;以及
图6是进一步体现本发明的用于展示在重构密钥并使用所述密钥生成密码签名时的命令和数据的计算机系统的示意图。
具体实施方式
图1展示了用于生成非对称椭圆曲线密码(Elliptic Curve Cryptographic,ECC)密钥对10的示例方法中所涉及的一组示例过程和参数值。该密钥对10由私钥11和公钥12组成,用于椭圆曲线数字签名算法,并以分布式方式安全地存储私钥11。图2展示了重构非对称密钥对10中的私钥11的示例方法中涉及的一组互补的过程和参数值。图1和图2重点描述了所述过程的数学原理。图3-6提供了实现这些及类似过程的示例软件和硬件的更多细节。
如图1所示,生成私钥11开始于生成两个独立的随机值,在此称为密钥组件,分别为组件A和组件B。每个组件的比特长度等于私钥11的长度(例如256比特)。在本示例中,组件A被输入到第一Shamir秘密共享生成过程13中,以生成三个份额A-1、A-2、A-3,重构组件A的阈值为两个份额(即k=3,t=2)。在本示例中,组件B被输入到第二Shamir秘密共享生成过程14中,以生成两个份额B-1、B-2,重构组件B的阈值为两个份额(即k=2,t=2)。这是为了说明原理而刻意简化的实现;在实际中,可以生成多于两个的随机密钥组件(例如5个、10个、50个或更多),每个组件可以生成更大数量的份额(例如5个、10个、50个或更多),秘密共享过程的阈值更高。这些阈值通常严格位于1和份额数量之间(即1<t<k)。阈值可以都相同,但有可能针对不同的密钥组件设定不同的值。
此外,密钥组件A和B都被输入到XOR函数15中,该函数计算密钥组件A和B的按位XOR值。尽管图1展示的是完全相同的密钥组件被输入到XOR函数15中,但在实际的系统实现中,输入到XOR函数15的密钥组件值可以从各自的份额中计算,如图2所示,甚至在初始生成密钥过程中也是如此。这些值在数学上是相同的,结果也是相同的,但确保密钥组件值在系统中单向流动可以带来安全上的优势。如果生成了更多的密钥组件,所述密钥组件也将与组件A和组件B一起输入到XOR函数15中。XOR函数15将密钥组件组装成用于构成椭圆曲线的私钥11的值。相应的公钥12可以使用常规过程(例如,通过椭圆曲线上的点加法)从私钥11计算得出。可以理解的是,这个过程可以用于生成其他类型的密钥,如AES对称密钥(其中密钥可以再次直接等于适当长度的密钥组件的XOR输出),或其他非对称密钥对,如RSA密钥对(其中密钥对可能派生自XOR函数15的输出值,即使用XOR输出作为密钥生成过程的熵源)。
公钥12可以存储在存储器中且可以公开共享。在首次生成密钥对10后,优选地销毁密钥组件,即不永久存储在存储器中。在生成公钥12后,也应优选地立即擦除私钥11(尽管该密钥11可以选择用于执行一个或多个密码操作,例如签名生成,然后一旦完成就从存储器中擦除)。
图2展示了即使不直接访问密钥组件,如何仍然从份额A-1、A-2、A-3、B-1、B-2的适当组合中重构私钥11。为了进行说明,图2中的示例假设仅有份额A-1、A-2、B-1和B-2可用。份额A-3可能已永久丢失,也可能暂时无法访问(例如,由于硬件或人力不可用)。
两个份额A-1和A-2被输入到第一Shamir秘密共享重构过程20中,以重新生成组件A的值。这是可以的,因为对应的第一Shamir秘密共享生成过程13的阈值被设定为2(即t=2)。相似地,两个份额B-1和B-2被输入到第二Shamir秘密共享重构过程21中,以重新生成组件B的值。这两个密钥组件A和B被输入到XOR函数15中,该函数计算所述密钥组件A和B的按位XOR值。如果在图1所示的初始生成密钥对过程中生成了其他的密钥组件,那么所述密钥组件也需要与组件A和组件B一起输入到XOR函数15中,以便正确地重构私钥11。XOR函数15输出私钥11的值(或如果最初使用了密钥派生过程,则可以从中派生私钥的值)。
然后可以使用私钥11执行一个或多个密码操作,如解密数据或签署消息,但随后优选地删除私钥,以最大限度地减少任何泄露风险。
图3展示了示例计算设备30,在该设备上可以实现体现本发明的方法的部分或全部步骤。设备30可以是服务器(例如,位于服务器农场中的一台计算机)。所述设备30具有通过总线系统34连接到存储器32(例如DRAM)和网络接口33的处理器31。处理器31支持可信执行环境,可以实现英特尔软件防护扩展或ARM TrustZone。除了支持存储在存储器32中的常规不受信任软件代码33和相关数据34外,处理器31还具有一种硬件机制,所述硬件机制支持安全启动过程、远程认证以及安全地执行在存储器32中的一个或多个飞地35、36中加密存储的代码。每个飞地35、36都是存储器32中的区域,存储加密的代码和相关的加密数据,所述代码和数据以加密形式在总线4上传输,并且只在处理器31内解密。飞地中的数据和软件的完整性可以在启动时进行验证,例如使用公钥基础设施(Public-Key-Infrastructure,PKI)机制,并且TEE可以保护每个飞地35、36的代码和数据免受恶意或无意的损坏或攻击。
在一些实施例中,体现本发明的系统可能包括通过网络连接(例如通过Internet)进行通信连接的多个类似设备30的这种设备。设备之间的通信优选地被加密和认证的,例如,使用传输层安全协议(Transport Layer Security,TLS)。
图4展示了计算系统40,用于代表用户安全地存储密钥(即提供密钥的安全保管库)。所述计算系统40被配置和编程为实现诸如参考图1所述的初始密钥对生成方法(尽管即使在初始密钥对生成中也包括秘密共享重构),并且还实现了涉及诸如参考图2所述的密钥重构方法的签名生成。
计算系统40具有生成层、存储层和组装层。每一层都包含代码,这些代码在一组相应的一个或多个不同飞地中执行。这里的示例相对简单,但在实际应用中,每一层中可用和/或使用的飞地数量可能因不同的实现而有所变化。每个飞地可以托管在不同的计算设备30上(优选地,每个都具有不同的架构),或者其中一些可以彼此托管在相同的设备30上,虽然所述飞地彼此密码地隔离。更广泛的地理分布有助于提供针对硬件故障和网络不可用的鲁棒性,同时潜在地提供针对攻击者的更强的保护。飞地之间的通信使用TLS加密,所有飞地都相互认证且相互证明。
在本示例中,生成层包含第一密钥组件生成飞地41和第二密钥组件生成飞地42。每个密钥组件生成飞地41、42都包含用于生成随机密钥组件的代码(优选地使用硬件随机数生成器),其比特长度与所需私钥相对应。因此,密钥组件可以相互独立地生成,例如,作为一组所需比特长度的独立随机值。每个密钥组件生成飞地41、42还包含用于生成各自的生成密钥组件份额的代码,例如使用Shamir的秘密共享生成算法。飞地41、42被配置为将份额输出到各自的存储飞地43-47,其中一个或多个存储飞地可能托管在与某个密钥组件生成飞地41、42相同的物理设备30上,或可能在不同的设备上。
存储层包含多个存储飞地43-47,每个飞地都包含代码,用于接收来自生成层的份额,安全地将所述份额存储在飞地43-47的加密存储器中,并在需要时将份额发送给组装飞地48。
图4的组装层包含单独的组装飞地48,但也可以包含多个类似的飞地。组装飞地48包含代码,用于从存储层接收与特定私钥相对应的份额,以及使用秘密共享重构算法从收到的份额的各个子集中生成与该私钥相关联的每个密钥组件值。接着,所述组装飞地48通过将所有密钥组件进行按位XOR操作来组装私钥。在本示例中,所述组装飞地48还包含用于使用私钥生成消息的密码签名的代码。
一旦签名被使用,组装飞地48就会从存储器中安全地擦除收到的密钥份额、密钥组件和私钥。这提供了额外的抗攻击防御措施,甚至超出了现有的在加密飞地48内保存所有这些值所提供的保护。此外,在不包含任何输出密钥组件或私钥的机制的情况下,对组装飞地48进行编码。例如,所述组装飞地48可能只能输出非敏感的数据,如公钥和生成的签名(可能还有解密的明文,这通常不如私钥本身敏感)。
仅在首次生成新密钥时涉及到生成层。此后,每次需要使用私钥时(例如,每次需要生成签名时),只有存储层和组装层参与后续的私钥重构过程。
存储层中的每个飞地43-47都可以存储多个不同私钥的份额,但优选地只存储任一私钥的单个份额,以便提供更强的抗攻击的鲁棒性和更强的设备故障恢复能力。
只要组装层中的每个飞地48接收到每个密钥组件所需的阈值数量的份额,所述飞地48就能重构任何私钥并用其生成签名。这允许在重构私钥时在组装层的不同飞地之间进行有效地负载均衡,例如,基于网络延迟和/或当前处理器负载。
图5展示了类似于图4中的系统40的另一个密钥保管库系统50,用于初始生成新密钥对。
在本实施例中,系统50包括为系统50提供外部接口的密钥保管库接口设备52。所述密钥保管库接口设备52还协调系统50中各种设备和飞地53-59的操作。特别是,所述密钥保管库接口设备52作为信任聚合器,为密钥保管库服务的调用者提供入口点,并在密钥生成和签名过程中协调密钥保管库系统50内部的飞地53-59之间加密消息的流动。然而,值得注意的是,系统50的设计使得密钥的保密性和密钥生成与签名过程的完整性不依赖于密钥保管库接口设备52的完整性。密钥保管库接口52可以通过单个或分布式计算设备实现,例如一台或多台联网服务器。
在此处所示的系统50接收了客户端设备51的指令,为用户(可以是个人或组织)生成新的密钥对。客户端设备51可以是个人的智能手机,或者可以是代表用户行事的加密货币交易系统,或者可以是任何其他系统。
系统50为密钥提供了冗余和复制功能,以最大限度地减少单点故障。如上所述,密钥以分布式方式生成,由多个密钥组件组成,每个密钥组件都通过Shamir的秘密共享方法分割成密钥份额。密钥在生成过程中不会暴露,并能够抵抗多个飞地55-58中存储的密钥份额的损坏。份额在组装飞地59内组合成密钥组件,密钥组件再组合成密钥,但这仅在需要执行单个密码操作时进行。
如图5中的箭头所示,密钥组件生成飞地53、54与组装飞地59之间的数据通信仅在单向流动,从密钥组件生成飞地53、54流向组装飞地59。这一特性有助于提供更高的抵御攻击的安全性。
在一些实施例中,系统50可以通过在专用的防篡改硬件设备(HSM)上实现组装飞地59的功能,而不是在通用的TEE设备30上,以便进一步增强安全性。
如图5所示,客户端51代表用户请求生成新的密钥对。发送到接口设备52的指令是通过TLS加密的,这使得接口设备52能够确保请求的新鲜度(例如,阻止重放攻击)。接口设备52与一组密钥生成飞地53、54通信,指示所述密钥生成飞地53、54生成各自的密钥组件和Shamir份额,并将Shamir份额发送到各自的存储飞地55-58。哪个或哪些飞地55-58接收并存储每个份额的副本可以由用户特定的策略或系统范围的策略决定,或者根据具体情况确定。更一般地,密钥份额的数量以及其对特定存储飞地的分配可以取决于估计的风险和策略,并且对于系统50中的不同密钥和不同用户可能有所不同。
存储飞地55-58将收到的份额存储在加密存储器中,例如使用飞地55-58特有的相应密封密钥。所述存储飞地55-58可能会更进一步地生成加密副本用于备份存储,例如,当存储飞地55-58接收到密钥份额时,每个飞地55-58都将使用其备份存储中的公钥对份额进行加密。
接口设备52还指示存储飞地55-58将其各自的份额发送至组装飞地59;如果有多个组装飞地可用,则其可以基于网络距离或负载均衡标准选择使用哪一个。如上所述,组装飞地59对Shamir份额进行分组并重构相应的密钥组件,然后通过按位XOR生成私钥和相应的公钥。组装飞地59输出公钥(而非私钥)给接口设备52,接口设备52可以将其适当地发送给客户端51和/或其他设备。
组装飞地59还可以以密钥描述数据结构的形式输出有关生成密钥的额外数据。这个结构可能包含数据,例如存储飞地55-58的身份;密钥份额到密钥组件的映射细节;秘密共享的阈值。这些数据可以被打包在结构中,并由组装飞地59签名。利用来自密钥描述结构的数据,接口设备52和/或客户端51就能够验证密钥生成流程并证实所有参与的飞地。
这种结合使用XOR和秘密共享,在多个飞地之间以分布式方式实现密钥保管库的方法,提供了高度的抗设备故障的鲁棒性和攻击恢复能力。因为密钥组件是单独生成的,每个创建密钥组件的密钥组件生成飞地53、54都不会知道完整的密钥,所以即使一个密钥组件生成飞地53、54被攻破,导致攻击者知道了一个密钥组件,攻击者仍然无法重构私钥。
在一些实施例中,系统支持动态刷新构成特定密钥组件的份额。这可以通过在密钥组件生成飞地53、54中重新创建密钥组件或者通过密钥共享算法支持的任何分布式机制来实现。
图6展示了密钥保管库系统50在稍后被用于加密签名数据,例如加密货币(例如比特币)交易。这一过程中不涉及密钥生成飞地53、54。
客户端51指示密钥保管库接口设备52使用特定的私有签名密钥对一些数据(例如,特定的加密货币交易)进行签名。接口设备52检查请求的新鲜度。然而,客户端51负责确保同样的数据(例如加密货币交易)不会被重复签名,因为密钥保管库系统50不维持交易之间状态。接口设备52向存储飞地55-58发送消息,指示存储飞地将其各自的与密钥相关的份额输出到指定的组装飞地59。这样做可以使得输出密钥份额绑定到所述密钥份额将用于签名的交易,即接口设备52可以使每个存储飞地55-58向组装飞地59发送加密且认证的数据块,该数据块包括密钥份额和需要使用与输出密钥份额相关的密钥签名的数据(例如交易)的标识符。在一些实施例中,每个存储飞地55-58都可以独立地验证来自接口设备52的指令,并且只有在确认指令来源于接口设备52或经过认证和授权的客户端设备52或客户端设备52的用户时,才向组装飞地59发布密钥份额。
需要注意的是,一些飞地55-58可能无法使用(例如,由于硬件故障、网络中断、数据损坏等原因处于离线状态),但如前所述,只要组装飞地59收到足够大的每个密钥组件的份额子集,私钥仍然可以被重构。
组装飞地59从存储飞地接收加密且经过认证的密钥份额。接口设备52还向组装飞地发送执行密码操作的额外数据,这些数据可能包括以下部分或全部:从份额到密钥组件的映射细节;秘密共享的阈值;需要进行XOR运算的密钥组件标识符;密钥对相关联的公钥;以及交易标识符。组装飞地59重构私有签名密钥,并使用该私钥对数据(例如交易)进行签名。然后,所述组装飞地59立即从存储器中删除私有签名密钥。
组装飞地59将签名的交易输出到接口设备52,接口设备52可以将其发送给客户端51和/或适当的其他设备(例如发送到加密货币区块链)。
本领域技术人员可以理解,本发明已经通过描述一个或多个具体实施例进行了说明,但并不局限于这些实施例;在所附权利要求书的范围内,本发明允许有许多变化和修改。

Claims (30)

1.一种用于分布式存储密钥的方法,所述方法包括:
生成多个密钥组件,其中每个密钥组件由各自不同的计算设备或飞地生成,所述密钥组件是适用于在密钥组装过程中处理的各个值,以生成一个值取决于所有多个密钥组件的密钥;
在秘密共享生成过程中,处理多个密钥组件中的第一密钥组件,以生成第一密钥组件的多个份额,使得可以使用相应的秘密共享重构过程,从至少一个预定阈值大小的份额子集中重构第一密钥组件,所述阈值小于份额数量;
将多个份额中的第一份额存储在第一存储区中;以及
将多个份额中的第二份额存储在第二存储区中。
2.根据权利要求1所述的方法,其中第一份额不存储在第二存储区,第二份额不存储在第一存储区。
3.根据权利要求1或2所述的方法,其中,所述第一密钥组件的多个份额中没有两个份额彼此存储在同一个存储区中。
4.根据权利要求1至3所述的方法,对于所述多个密钥组件中的一个或多个密钥组件中的每一个,在相应的秘密共享重构过程中处理相应的份额集,以重构相应的密钥组件。
5.根据权利要求1至4所述的方法,还包括在密钥组装过程中,处理所述多个密钥组件,以生成密钥。
6.一种用于分布式存储密钥的系统,所述系统包括一个密钥组件生成装置,该装置由多个密钥组件生成设备或飞地组成,每个密钥组件生成设备或飞地配置为:
生成多个密钥组件各自的密钥组件,所述密钥组件是适用于在密钥组装过程中处理的各个值,以生成一个值取决于所有多个密钥组件的密钥;
在秘密共享生成过程中,处理多个密钥组件中的相应密钥组件,以生成相应密钥组件的多个份额,使得可以使用相应的秘密共享重构过程,从至少一个预定阈值大小的份额子集中重构相应的密钥组件;
将多个份额中的第一份额输出存储到第一存储区中;以及
将多个份额中的第二份额输出存储到第二存储区中。
7.根据权利要求6所述的方法,其中秘密共享生成过程是Shamir秘密共享过程。
8.根据权利要求6或7所述的方法,其中每个密钥组件生成设备或飞地可进一步配置为:
在相应的秘密共享生成过程中,处理多个密钥组件中的每个额外密钥组件,以生成每个额外密钥组件相应的多个份额;以及
输出相应的多个份额中的每个份额来进行存储。
9.根据权利要求6至8所述的方法,其中每个密钥组件生成设备或飞地配置为使用随机数生成器,以生成相应的密钥组件。
10.根据权利要求6至9所述的方法,还包括一个密钥组装装置,该装置配置为:
从第一存储区中接收第一密钥组件的第一份额;
从第二存储区中接收第一密钥组件的第二份额;
在秘密共享重构过程中处理第一密钥组件的一组份额,至少包括第一和第二份额,以重构第一密钥组件;
接收或重构多个密钥组件中的每个额外密钥组件;以及
在密钥组装过程中处理多个密钥组件以生成密钥。
11.根据权利要求10所述的方法,其中密钥组装装置配置为,接收一个或多个额外密钥组件的每个相应份额集,并在各自的秘密共享重构过程中处理每个接收到的份额集,以重构相应的额外密钥组件。
12.根据权利要求10或11所述的方法,其中密钥组装过程使得改变任一密钥组件的任一比特都将改变密钥组装过程的输出。
13.根据权利要求10至12所述的方法,其中密钥组件都有一个共同的比特长度,等于密钥的比特长度,并且密钥组装过程包括计算多个密钥组件的按位XOR。
14.根据权利要求10至13所述的方法,其中密钥组装装置配置为在接收到使用密钥执行密码操作的指令后生成密钥,并进一步配置为使用密钥执行密码操作,并在完成密码操作后从装置的存储器中擦除密钥。
15.根据权利要求6至14所述的方法,包括一个用于接收参数数据的输入端,该参数数据表示每个密钥组件要生成的各自份额,并表示用于处理每个密钥组件的各自秘密共享生成过程的预定阈值。
16.根据权利要求6至15所述的方法,包括由一个或多个计算设备组成的网络,每个计算设备都包括存储器和处理器,所述处理器被配置为提供可信执行环境以用于安全地解密和执行存储在计算设备的存储器中存储的飞地加密软件指令。
17.根据权利要求16所述的方法,所述系统配置为:
在系统的不同密钥组件生成飞地中,生成多个密钥组件相应的每一个密钥组件;
在相应的密钥组件生成飞地中,对每个密钥组件执行相应的秘密共享生成过程;以及
在相应的密钥组件完成秘密共享生成过程后,从相应的密钥组件生成飞地中擦除每个密钥组件。
18.根据权利要求16或17所述的方法,该系统包含多个存储空间,包括所述第一和第二存储区,其中每个存储空间由系统相应的不同存储飞地提供。
19.根据权利要求16至18所述的方法,该系统配置为重构每个密钥组件,在密钥组装过程中处理密钥组件以生成密钥,并使用密钥执行密码操作,所有所述操作均在系统的密钥组装飞地中执行。
20.根据权利要求17至19所述的方法,其中每个所述飞地由系统中不同的相应计算设备提供。
21.计算机软件包括指令,当所述指令在计算处理系统的多个密钥组件生成设备或飞地上执行时,会使计算处理系统的每个设备或飞地执行以下操作:
生成多个密钥组件各自的密钥组件,所述密钥组件是适用于在密钥组装过程中处理的各个值,以生成一个值取决于所有多个密钥组件的密钥;
在秘密共享生成过程中,处理多个密钥组件中的相应密钥组件,以生成相应密钥组件的多个份额,使得可以使用相应的秘密共享重构过程,从至少一个预定阈值大小的份额子集中重构相应的密钥组件;
将多个份额中的第一份额输出存储到第一存储区中;以及
将多个份额中的第二份额输出存储到第二存储区中。
22.一种用于重构密钥的方法,所述方法包括:
从第一存储区中接收密钥的第一密钥组件的第一份额;
从第二存储区中接收第一密钥组件的第二份额;
在秘密共享重构过程中处理第一密钥组件的一组份额,至少包括第一和第二份额,以重构第一密钥组件;
接收或重构密钥的一个或多个额外密钥组件;以及
在密钥组装过程中,处理第一密钥组件以及一个或多个额外密钥组件以生成密钥,其中密钥组装过程不使用秘密共享重构。
23.一种用于重构密钥的系统,所述系统包括一个密钥组装装置,配置为:
从第一存储区中接收密钥的第一密钥组件的第一份额;
从第二存储区中接收第一密钥组件的第二份额;
在秘密共享重构过程中处理第一密钥组件的一组份额,至少包括第一和第二份额,以重构第一密钥组件;
接收或重构密钥的一个或多个额外密钥组件;以及
在密钥组装过程中,处理第一密钥组件以及一个或多个额外密钥组件以生成密钥,其中密钥组装过程不使用秘密共享重构。
24.根据权利要求23所述的方法,其中密钥组装装置配置为,接收一个或多个额外密钥组件的每个相应份额集,并在各自的秘密共享重构过程中处理每个接收到的份额集,以重构相应的额外密钥组件。
25.根据权利要求23或24所述的方法,其中密钥组装过程使得改变任一密钥组件的任一比特都将改变密钥组装过程的输出。
26.根据权利要求23至25所述的方法,其中密钥组件都有一个共同的比特长度,等于密钥的比特长度,并且密钥组装过程包括计算多个密钥组件的按位XOR。
27.根据权利要求23至26所述的方法,其中密钥组装装置配置为在接收到使用密钥执行密码操作的指令后生成密钥,并进一步配置为使用密钥执行密码操作,并在完成密码操作后从装置的存储器中擦除密钥。
28.根据权利要求23至27所述的方法,包括由一个或多个计算设备组成的网络,每个计算设备都包括存储器和处理器,所述处理器被配置为提供可信执行环境以用于安全地解密和执行存储在计算设备的存储器飞地中加密存储的软件指令。其中,密钥组装装置配置为重构每个密钥组件,在密钥组装过程中处理密钥组件以生成密钥,并使用密钥执行密码操作,所有所述操作均在系统的密钥组装飞地中执行。
29.根据权利要求28所述的方法,其中密钥组装装置配置为在完成密码操作后从密钥组装飞地中擦除密钥组件和密钥。
30.计算机软件包括指令,当所述指令在计算机处理系统上执行时,使得计算处理系统能够:
从第一存储区中接收密钥的第一密钥组件的第一份额;
从第二存储区中接收第一密钥组件的第二份额;
在秘密共享重构过程中处理第一密钥组件的一组份额,至少包括第一和第二份额,以重构第一密钥组件;
接收或重构密钥的一个或多个额外密钥组件;以及
在密钥组装过程中,处理第一密钥组件以及一个或多个额外密钥组件以生成密钥,其中密钥组装过程不使用秘密共享重构。
CN202280055700.3A 2021-08-16 2022-08-12 安全存储密钥 Pending CN117859290A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB2111737.9 2021-08-16
GBGB2111737.9A GB202111737D0 (en) 2021-08-16 2021-08-16 Storing cryptographic keys securely
PCT/EP2022/072736 WO2023020977A1 (en) 2021-08-16 2022-08-12 Storing cryptographic keys securely

Publications (1)

Publication Number Publication Date
CN117859290A true CN117859290A (zh) 2024-04-09

Family

ID=77859902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280055700.3A Pending CN117859290A (zh) 2021-08-16 2022-08-12 安全存储密钥

Country Status (4)

Country Link
EP (1) EP4388705A1 (zh)
CN (1) CN117859290A (zh)
GB (2) GB202111737D0 (zh)
WO (1) WO2023020977A1 (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4292835B2 (ja) * 2003-03-13 2009-07-08 沖電気工業株式会社 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム
US8364958B2 (en) * 2008-08-29 2013-01-29 Red Hat, Inc. Sharing a secret via linear interpolation
WO2011123699A2 (en) * 2010-03-31 2011-10-06 Orsini Rick L Systems and methods for securing data in motion
US20140331061A1 (en) * 2013-05-02 2014-11-06 Solidfire, Inc Drive level encryption key management in a distributed storage system
US11146395B2 (en) * 2017-10-04 2021-10-12 Amir Keyvan Khandani Methods for secure authentication
US10887091B2 (en) * 2018-11-27 2021-01-05 Bae Systems Information And Electronic Systems Integration Inc. Multi-hop security amplification
EP3981103A4 (en) * 2019-06-10 2023-06-21 tZERO IP, LLC KEY RECOVERY USING ENCRYPTED SECRET SHARES

Also Published As

Publication number Publication date
GB2611412A (en) 2023-04-05
GB202111737D0 (en) 2021-09-29
GB2611412B (en) 2023-10-04
GB202211845D0 (en) 2022-09-28
WO2023020977A1 (en) 2023-02-23
EP4388705A1 (en) 2024-06-26

Similar Documents

Publication Publication Date Title
US10171235B2 (en) User-initiated migration of encryption keys
JP2023500570A (ja) コールドウォレットを用いたデジタルシグニチャ生成
US20210143986A1 (en) Method for securely sharing data under certain conditions on a distributed ledger
US11444761B2 (en) Data protection and recovery systems and methods
US20160182230A1 (en) Secure token-based signature schemes using look-up tables
CN110505055B (zh) 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统
CN113626802B (zh) 一种设备密码的登录验证系统及方法
CN110493177B (zh) 基于非对称密钥池对和序列号的量子通信服务站aka密钥协商方法和系统
KR102656403B1 (ko) 보안 통신에 사용하기 위한 키 생성
Kulkarni et al. Security frameworks for mobile cloud computing: A survey
CN114826702B (zh) 数据库访问密码加密方法、装置和计算机设备
US20200160333A1 (en) System and method for the protection of consumer financial data utilizing dynamic content shredding
CN110519222B (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统
US11930117B2 (en) Method and apparatus for reversible tokenization with support for embeddable role-based access control
CN111245611B (zh) 基于秘密共享和可穿戴设备的抗量子计算身份认证方法及系统
CN114553557B (zh) 密钥调用方法、装置、计算机设备和存储介质
CN117859290A (zh) 安全存储密钥
George et al. Improved multi‐party verification protocol with reduced computational overhead in cloud storage system
CN110535632A (zh) 基于非对称密钥池对和dh协议的量子通信服务站aka密钥协商方法和系统
CN113315749B (zh) 用户数据上链、用户数据使用方法、匿名系统和存储介质
CN112947855B (zh) 一种基于硬件安全区的高效加密重复数据删除方法
CN118555133A (zh) 传输层安全协议的抗量子安全增强方法
Pujol et al. A Secure and User Friendly Multi-Purpose Asymmetric Key Derivation System (MPKDS)
KR20230094253A (ko) 다자 간 보안 컴퓨팅을 이용한 2fa 인증 온라인 전자서명 계정 생성 방법
CN117312371A (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