CN111949999A - 管理数据的设备和方法 - Google Patents

管理数据的设备和方法 Download PDF

Info

Publication number
CN111949999A
CN111949999A CN202010414785.2A CN202010414785A CN111949999A CN 111949999 A CN111949999 A CN 111949999A CN 202010414785 A CN202010414785 A CN 202010414785A CN 111949999 A CN111949999 A CN 111949999A
Authority
CN
China
Prior art keywords
key
user
data
container
dek
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
CN202010414785.2A
Other languages
English (en)
Inventor
J·G·怀特
D·R·L·布朗
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.)
Mariki Innovation Ltd.
Original Assignee
BlackBerry 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=70682663&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN111949999(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by BlackBerry Ltd filed Critical BlackBerry Ltd
Publication of CN111949999A publication Critical patent/CN111949999A/zh
Pending legal-status Critical Current

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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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
    • 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
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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/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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)

Abstract

管理在容器内所存储的数据的设备和方法。容器可以与至少一个注册用户相关联。容器内的数据可以由数据加密密钥(DEK)加密。一种计算设备包括:包括密码处理器的安全模块、主处理器和存储器。存储器存储指令,该指令在被执行时将处理器配置为:基于与容器相关联的用户机密来认证用户,并且基于用户机密来生成软密钥。该指令使密码处理器生成包括密码密钥组件的安全生成器输出,并且使用软密钥和密码密钥组件基于密钥协商协议来生成强化用户密钥。该指令使处理器构造与强化用户密钥相关联的未加密DEK,并且使用未加密DEK来解密数据的子集。

Description

管理数据的设备和方法
技术领域
本申请总体上涉及数据管理,并且具体地涉及管理在容器内所存储的数据。
背景技术
计算设备可以被配置为保护在计算设备处所存储的数据。所存储的数据可以是特定用户的秘密信息或专有信息,并且对所存储的数据的访问可能取决于对希望访问所存储的数据的用户的身份的验证。例如,计算设备可以要求用户在操作计算设备之前以及在访问或修改所存储的数据之前进行认证。安全操作可以包括将所接收的用户输入与密码列表进行比较。在另一示例中,安全操作可以包括使用与特定用户相关联的密码密钥来加密数据。
附图说明
现在将通过示例的方式参考附图,附图示出了本申请的示例实施例,并且在附图中:
图1以简化框图的形式示出了根据本申请的示例的用于管理数据的计算设备;
图2示出了根据本申请的示例的加密密钥导出操作;
图3以流程图形式示出了根据本申请的示例的用于管理在容器内所存储的数据的方法。
图4示出了根据本申请的示例的强化用户密钥生成操作;以及
图5以简化框图的形式示出了根据本申请的示例的电子设备。
在不同的图中可以使用相似的附图标记来表示相似的组件。
具体实施方式
在第一方面,本申请描述了一种管理在计算设备上所存储的容器内的数据的方法。该容器可以与至少一个注册用户相关联。容器内的数据可以由数据加密密钥(DEK)加密并且被存储为加密数据。该方法包括:基于与容器相关联的用户机密(secret)来认证用户;基于用户机密来生成软密钥;由除计算设备的主处理器以外的密码处理器生成包括与认证用户相关联的密码密钥组件的安全生成器输出;由密码处理器使用软密钥和与认证用户相关联的密码密钥组件基于密钥协商协议来生成强化用户密钥;构造与强化用户密钥相关联的未加密DEK以用于访问在容器内所存储的数据的子集;以及使用未加密DEK来解密数据的子集。
在另一方面,本申请描述了一种管理在容器内所存储的数据的计算设备。该容器可以与至少一个注册用户相关联。容器内的数据可以由数据加密密钥(DEK)加密并且被存储为加密数据。该计算设备包括:包括密码处理器的安全模块;耦合到安全模块的主处理器;以及耦合到处理器和密码处理器的存储器。存储器可以存储指令,该指令在被执行时将主处理器或密码处理器中的至少一者配置为:基于与容器相关联的用户机密来认证用户;基于用户机密来生成软密钥;由密码处理器生成包括与认证用户相关联的密码密钥组件的安全生成器输出;由密码处理器使用软密钥和与认证用户相关联的密码密钥组件基于密钥协商协议来生成强化用户密钥;构造与强化用户密钥相关联的未加密DEK以用于访问在容器内所存储的数据的子集;以及使用未加密DEK来解密数据的子集。
在又一方面,本申请描述了一种存储处理器可读指令的非瞬态计算机可读存储介质,该处理器可读指令在被执行时将处理器配置为执行本文中描述的一个或多个方法。在这点上,术语“处理器”旨在包括能够执行程序指令的所有类型的处理电路或芯片。
通过结合附图对示例的以下描述的回顾,本领域普通技术人员将能够理解本申请的其他方面和特征。
在本申请中,术语“大约”、“近似”和“基本上”旨在涵盖值的范围的上限和下限可能存在的变化,诸如属性、参数和尺寸的变化。在非限制性示例中,术语“大约”、“近似”和“基本上”可以表示正负10%或更少。
在本申请中,术语“和/或”旨在涵盖所列出的元素的所有可能的组合和子组合,包括仅所列出元素中的任一元素、任何子组合、或所有元件,而不必排除附加元素。
在本申请中,短语“……或……中的至少一者”旨在涵盖所列出的元素中的任何一个或多个元素,包括仅所列出的元素中的任何一个元素、任何子组合、或全部元素,而不必排除任何附加元素,也不必要求所有元素。
本申请涉及管理在容器内所存储的数据的设备和方法。容器可以是用于限制对在计算设备上所存储的指定数据或应用的访问的沙盒技术的组件。也就是说,容器可以是用于将指定的数据的集合或应用与存储器中所存储的数据的另一集合或应用分开的计算设备上的可寻址的存储器的分配部分。为了说明,数据容器可以将在电子设备的存储器中所存储的企业数据与个人数据分隔开,反之亦然。计算设备可以要求仅响应于成功的认证过程而授权对企业的访问,而可以在没有认证过程的情况下授权对个人数据的访问。在另一说明性示例中,应用容器可以封装在操作系统中运行的软件应用的文件、依赖项或库。
为了进一步保护在容器内所存储的数据或应用,计算设备可以使用数据加密密钥(DEK)对数据进行加密。加密数据的安全强度可以与用于管理DEK的方法的安全强度相关联。可能需要减少以原始或未保护格式来存储DEK。例如,未保护DEK可以是未加密DEK。
为了增加数据安全性,计算设备可以使用可以从用户机密中导出并且从用户接收的用户密钥来加密DEK。也就是说,用户机密可以是数据输入,该数据输入用于确定是否可以向与该数据输入相关联的用户提供对数据或数据容器的访问。在一些示例中,用户机密可以是来自用户的字母数字密码或生物测定输入。用户机密可以用于认证与容器相关联的用户,并且可以用于保护DEK。在一些示例中,可以基于所接收的用户机密和基于密码的导出函数(例如,基于密码的密钥导出函数2(PBKDF2)等)来生成用户密钥。然而,基于所接收的用户机密和基于密码的导出函数来生成用户密钥的上述示例方法可能易受“离线攻击”的影响。也就是说,无良实体可能试图从计算设备中提取数据或者将数据复制到另一计算设备(例如,离线设备)上以执行暴力操作。这样的暴力操作可以用于发现用于解密DEK的用户密钥。可能期望提供用以阻止这样的进行离线攻击的尝试的设备和方法。
参考图1,图1以简化框图的形式示出了根据本申请的示例的用于管理数据的计算设备100。计算设备100包括安全模块110和耦合到安全模块110的主处理器102。在一些示例中,计算设备100可以包括用于提供与其他计算设备的网络通信能力的通信模块。例如,计算设备100可以经由通信模块接收命令或数据(例如,用户机密等)作为输入以用于本文中描述的示例操作。
安全模块110可以是被配置为提供包括计算设备100的身份和已知内部状态的安全数据的集成电路。在一些示例中,安全模块110可以包括被配置为执行与加密、签名、密钥生成、随机数生成等有关的操作的密码处理器112。安全模块110可以包括用于存储与计算设备100相关联的机密或专有数据的安全存储库114,诸如非易失性存储器。在本文中描述的一些示例操作中,主处理器102和/或密码处理器112可以直接或间接地检索在安全存储库114中所存储的数据。作为说明性示例,安全模块110可以是可信平台模块(TPM)设备或其他类似设备。
计算设备100可以包括存储应用或其他数据的存储器。例如,计算设备100可以包括存储容器管理应用120、系统记录122和/或数据存储库130的存储器。容器管理应用120可以包括处理器可读指令,该处理器可读指令在被执行时使主处理器102和/或密码处理器112执行用于管理在容器132内所存储的数据的操作、以及本文中描述的其他示例操作。系统记录122可以是包括用于管理所存储的数据的加密密钥、注册的用户信息或其他数据的数据文件。
计算设备100包括用于存储数据、应用、文件系统等的数据存储库130。数据存储库130可以包括一个或多个容器132,诸如与指定数据、应用或文件系统相关联的安全边界。尽管在图1中示出了单个容器,但是可以想到,数据存储库130可以包括任何数目的容器。在一些示例中,容器132可以类似于用于限制对指定数据或应用的访问的安全边界和沙盒技术的组件。容器132可以与至少一个注册用户相关联。此外,一旦注册用户已经被认证,则一个或多个处理器可以允许至少一个注册用户访问在容器内所存储的数据或应用。
在一些示例中,在容器132内所存储的数据或应用可以使用数据加密密钥(DEK)来加密并且被存储为加密数据。作为示例,在容器132内所存储的数据或应用可以利用使用256位密钥(例如,DEK)的高级加密标准密码块链(AES-CBC)模式来加密。应当理解,可以使用加密协议的其他示例。DEK可以还利用用户密钥来加密,其中用户密钥可以基于用户机密(例如,密码、生物测定输入等)来生成。管理服务器或管理用户可以指定与用户密钥相关联的密钥长度。在一些示例中,一旦一个或多个处理器可以被配置为删除容器132,则在容器132内所存储的数据或应用可以相应地被删除。在一些示例中,一个或多个处理器可以通过将所生成的用户密钥与容器132相关联来注册容器132。一个或多个处理器可以响应于接收到相关联的用户密钥而执行操作以允许访问容器132内的数据或应用。
在一些示例中,计算设备100包括输入模块140。输入模块140可以包括用于显示用户界面的触摸屏显示器和用于从计算设备100的用户接收运动或触摸输入的触摸屏界面。输入模块140可以提供用于用户与计算设备100交互的用户界面。考虑用于向用户显示内容或者用于接收表示来自计算设备100的用户的命令或可选择的选项的输入信号的输入/输出模块的其他示例。
参考图2,图2示出了根据本申请的一个示例的加密密钥导出操作200。主处理器102可以执行随机数生成器操作202以生成数据加密密钥204(例如,DEK)。此外,主处理器102可以执行加密操作208以使用数据加密密钥204来加密应用数据206。加密操作208可以包括利用使用256位密钥的AES-CBC协议。在一些示例中,数据加密密钥204的长度可以是256位。所得到的加密的应用数据可以存储在容器132内。
在一些示例中,应用数据206可以包括两个或更多文件,或者可以包括两个或更多数据部分。此外,可以存在两个或更多密码初始化向量,并且每个初始化向量可以与数据文件或数据的一部分相关联。因此,主处理器102可以使用相应的初始化矢量对相应的文件或数据部分执行加密操作208,从而与对另一文件或数据部分进行加密相比,单独地对给定文件或数据部分进行加密。可以考虑用于执行加密操作208的其他加密协议。
在一些示例中,加密的应用数据可以被保护的程度对应于数据加密密钥204被保护的程度。也就是说,可能希望将数据加密密钥204的使用限制为与容器132相关联的一个或多个注册用户。可能希望减少以明文或不受保护的格式来存储DEK。也就是说,可能希望减少存储未加密DEK。
主处理器102可以执行另外的加密操作210以保护数据加密密钥204。另外的加密操作210可以使用用户密钥212来加密数据加密密钥204。在一些示例中,另外的加密操作210可以包括利用使用256位密钥的AES-CBC协议。也就是说,用户密钥212的长度可以是256位。可以考虑用于执行另外的加密操作210的其他加密协议。
用户密钥212可以基于由计算设备100(图1)的用户经由输入模块140(图1)提供的用户机密214。例如,用户机密214可以是字母数字输入或生物测定输入。可以考虑用户机密214的其他格式。一旦接收到用户机密214,主处理器102就可以执行密钥导出操作216以导出用户密钥212。在一些示例中,密钥导出操作216可以包括基于密码的密钥导出函数2(PBKDF2)操作。可以考虑其他密钥导出操作。基于用户机密214,密钥导出操作216可以导出具有指定长度的用户密钥212。例如,主处理器102可以导出具有256位长度的用户密钥212,使得主处理器102可以执行另外的加密操作210以使用用户密钥212对先前生成的数据加密密钥204进行加密。
响应于使用所生成的用户密钥212对数据加密密钥204进行加密,主处理器102可以以加密格式将数据加密密钥204存储在密钥库218中。在一些示例中,密钥库218可以是诸如公钥证书、密码密钥等所存储的安全证书的存储库。在一些示例中,密钥库218可以是数据文件、密码令牌、或者操作系统或应用可访问的存储器的其他分配部分。在一些示例中,图1的系统记录122可以包括密钥库218。也就是说,密钥库218可以不存储在安全区域内,而是可以存储在主处理器102可访问的存储器中。在一些其他示例中,密钥库218(或密钥库218的内容)可以基于静态密钥被加密或以其他方式混淆,其中静态密钥可以存储在计算设备100处。
在一些示例中,主处理器102可以生成具有任何长度的数据加密密钥204或用户密钥212。例如,数据加密密钥204或用户密钥212的长度可以是256位或更大。较长的密钥长度可以提高任何生成的加密密钥的鲁棒性。然而,在一些示例中,图2所示的加密密钥导出操作200可能容易受到“离线攻击”的影响。也就是说,无良实体可能试图从计算设备100中提取数据或者将数据复制到另一计算设备(例如,离线设备)上以执行暴力操作以确定用户密钥212。在一些示例中,离线计算设备可以包括超级计算机,诸如与通用计算机相比每秒具有较高浮点运算的计算机。可以考虑其他类型的计算机用作离线设备,其硬件/软件被配置为执行操作以对密码进行“破解”/逆向工程或者其每秒浮点操作很高。一旦导出了用户密钥212,无良实体就可以解密数据加密密钥204的加密形式。为了进一步提高保护数据加密密钥204的操作的鲁棒性,提供了包括来自安全模块110(图1)的操作的设备和方法。
参考图3,图3以流程图的形式示出了根据本申请的示例的管理存储在计算设备100(图1)上的容器132(图1)内的数据的方法300。方法300包括可以由计算设备100的一个或多个处理器执行的操作。例如,方法300可以包括可以由主处理器102或密码处理器112中的至少一者执行的操作。方法300可以至少部分通过与容器管理应用120(图1)相关联的处理器可执行指令来实现。在一些示例中,一个或多个操作可以经由处理器可执行指令在其他应用中或者在存储在计算设备100上并且在计算设备100上执行的操作系统中实现。
在一些示例中,容器132(图1)可以与至少一个注册用户相关联。也就是说,一个或多个处理器可以通过将一个或多个用户与容器132相关联来注册容器132,其中每个相应用户可以与用户机密(例如,密码)相关联。用户机密可以用于在计算设备100处对用户进行认证并且用于提供对在容器132内所存储的数据和/或应用的访问。在容器132内所存储的数据可以通过数据加密密钥(DEK)来加密并且被存储为加密数据。
在操作302处,一个或多个处理器可以基于与容器132相关联的用户机密来认证用户。用户机密可以是字母数字输入或生物测定输入。也就是说,计算设备100可以认证用户,使得用户可以被允许操作计算设备的输入模块140(图1)并且可以被允许访问或修改在容器132内所存储的数据。可以考虑用于接收用户机密其他类型的输入。
在操作304处,一个或多个处理器可以基于用户机密来生成软密钥。软密钥可以是基于软件导出函数和用户机密而导出的密钥。在一些示例中,软件导出函数可以包括由计算设备的主处理器或通用处理器执行的操作。一个或多个处理器可以使用诸如基于密码的密钥导出函数2(PBKDF2)等密钥导出函数来生成软密钥。例如,密钥导出函数可以将伪随机函数应用于用户机密和盐值以生成用户密钥。用户密钥可以用作后续操作的密码密钥。盐值可以是用作伪随机函数的附加输入的随机数据。可以考虑用于生成软密钥的其他键导出函数。例如,密钥导出函数可以是基于哈希的消息认证码(HMAC)。在一些示例中,密钥导出函数可以提供具有指定长度的软密钥。例如,一个或多个处理器可以被配置为生成具有256位长度的软密钥。
在操作306处,密码处理器112(图1)可以生成包括与认证用户相关联的密码密钥组件的安全生成器输出。安全生成器输出可以基于安全随机数生成器输出,诸如具有可以被理解为适合于密码操作的特性的伪随机数生成器。密码处理器112可以是除主处理器102(图1)以外的处理器。在一些示例中,密码处理器112可以是与主处理器102分离的不同处理器,其用于执行与加密、密钥或数据签名、密钥生成、随机数生成等有关的操作。密码处理器112可以是安全模块110的组件,使得由密码处理器112生成的选择数据或密钥可以被限于安全模块110并且可能不允许在安全模块110之外以纯文本或未加密格式被复制或释放。
在一些示例中,安全生成器输出包括第一椭圆曲线密码(ECC)密钥对和第二ECC密钥对。相应ECC密钥对中的每个包括私钥和公钥。在本示例中,密码处理器112可以丢弃第一ECC密钥对的公钥和第二ECC密钥对的私钥,使得密码密钥组件包括第一ECC密钥对的私钥和第二ECC密钥对的公钥。
在操作308处,密码处理器112可以使用软密钥和与认证用户相关联的密码密钥组件基于密钥协商协议来生成强化用户密钥。强化用户密钥可以是基于由计算设备的安全硬件组件生成的一个或多个密码密钥而导出的密钥。在一些示例中,由安全硬件组件生成的密码密钥的至少一部分可以被限于安全硬件组件,或者仅在提供对安全硬件组件的访问时才可访问。在一些示例中,密钥协商协议可以基于椭圆曲线密码,诸如椭圆曲线Diffie-Hellman(ECDH)协议或操作。在本示例中,强化用户密钥可以基于先前生成的软密钥和密码密钥组件来生成。由于强化用户密钥基于密码密钥组件,对于无良实体而言,将计算设备100的存储器内容提取或复制到另一计算设备(例如,离线设备)并且随后执行蛮力操作以确定用于解密与容器132相关联的数据加密密钥的用户密钥可能是具有挑战性的。也就是说,由于第一ECC密钥对的私钥可以被包含在安全模块110中并且外部计算设备或过程无法访问,所以无良实体可能无法生成强化用户密钥。在无法生成强化用户密钥的情况下,无良实体可能无法解密强化DEK以解密在容器132内所存储的关联数据。
在一些示例中,在先前的过程中,一个或多个处理器可以已经使用高级加密标准(AES)协议和强化用户密钥对在容器132内所存储的数据进行了加密。当用户请求访问在容器132内所存储的数据时,一个或多个处理器可以在操作310处构造与强化用户密钥相关联的未加密DEK以访问在容器132内所存储的数据的子集。
在操作312处,一个或多个处理器可以使用未加密DEK来解密数据的子集。因此,当一个或多个处理器从注册用户接收用户机密时,本文中描述的主处理器102和密码处理器112的示例操作可以共同生成可以用于解密先前加密的DEK的强化用户密钥。未加密DEK可以用于解密可以与认证用户相关联并且在容器132内所存储的数据。
在一些示例中,一个或多个处理器还可以使用未加密DEK来保护与认证用户相关联的附加数据。也就是说,一个或多个处理器可以执行用于经由通信模块从另一计算设备或经由输入模块140来接收附加数据的操作。此外,一个或多个处理器可以使用未加密DEK(来自操作310)来加密附加数据,并且随后将加密的附加数据存储在容器132内。
在一些示例中,构造未加密DEK包括使用高级加密标准(AES)协议和强化用户密钥来解密强化DEK。例如,AES协议可以是AES-CBC协议操作。
方法300的操作的子集可以由主处理器102执行,而方法300的操作的另一子集可以由密码处理器112执行。例如,操作302、304、310和312可以由主处理器102执行,而操作306和308可以由密码处理器112执行。也就是说,密码处理器112可以执行与以下各项相关联的操作:生成密码密钥组件,以及使用旨在在安全模块110之外不可解密的密钥组件来生成强化用户密钥。因此,除了从与容器132相关联的注册且认证的用户接收的软密钥和用户机密之外,方法300的示例操作还可以基于依赖于计算设备100的安全硬件方面的密钥组件来生成强化用户密钥。
为了通过具体示例来说明图3的方法300,参考图4,图4示出了根据本申请的示例的强化用户密钥生成操作400。在图4中,操作的子集可以与安全模块110(图1)相关联,这些操作在虚线框内示出。可以与安全模块110相关联的操作的子集可以由密码处理器112执行。在本示例中,在哈希框之外示出的另一操作子集可以由主处理器102执行。
如本文中的一些示例中描述的,DEK可以用于对数据、应用、文件系统等进行加密,其中加密的数据、应用或文件系统可以存储在计算设备100(图1)的容器132(图1)中。注册的容器可以与可能希望在容器132内保护和存储数据的用户相关联。该数据可以使用DEK来加密,并且随后,加密的数据可以存储在容器132中。应当理解,可以使用强化用户密钥对DEK进行加密。因此,已经使用DEK加密的数据可以与与强化用户密钥相对应的用户相关联。如将参考图4描述的,强化用户密钥可以基于可以在安全模块110(图1)内执行的操作和可以在安全模块110外部执行的操作来生成。
主处理器102(图1)可以经由输入模块140(图1)接收用户机密402。在一些示例中,用户机密可以是字母数字格式的密码,或者可以是生物测定输入。
主处理器102可以基于用户机密402来执行诸如PBKDF2协议的操作等密钥导出操作404以生成软用户密钥406。在本示例中,PBKDF2协议可以利用基于随机生成的64位数据的用户盐值和用户机密402来提供256位软用户密钥。应当理解,用户盐值可以基于其他数量的随机生成的数据,并且软用户密钥406可以是任何其他长度。
密码处理器408可以通过安全随机数生成器(RNG)操作来生成随机生成的数据的两个集合(分别标识为410a和410b),以提供加密密钥。在本示例中,随机生成的数据的第一集合410a可以提供第一ECC密钥对,包括第一ECC密钥对的私钥412和第一ECC密钥对的公钥414。类似地,随机生成的数据第二集合410b可以提供第二ECC密钥对,包括第二ECC密钥对的私钥416和第二ECC密钥对的公钥418。
在本示例中,密码处理器408可以删除420或忽略第一ECC密钥对的公钥414,并且可以删除或忽略第二ECC密钥对的私钥416。第一ECC密钥对的剩余的私钥412和第二ECC密钥对的公钥418可以用作后续密钥协商协议操作的输入以生成强化用户密钥424。在一些示例中,强化DEK可以存储在计算设备的不可迁移的部分中。在本示例中,响应于用户的成功认证,未删除或忽略的ECC密钥可以由密码处理器408可访问。例如,基于所接收的用户机密,响应于用户的成功认证,ECC密钥可以是可访问的。
在一些示例中,第二ECC密钥对的公钥418可以存储在安全模块110外部的密钥库中,而第一ECC密钥对的私钥412可以存储在安全模块110内。例如,第一ECC密钥对的私钥412可以存储在安全模块110的安全存储库114(图1)中。应当理解,这些前述密钥可以与用户机密402的用户相关联。当计算设备100需要与与用户机密402相对应的授权用户相关联的强化密钥时,密码处理器408可以基于软用户密钥406来生成强化用户密钥424作为另外的加密操作422的输入。
主处理器102可以基于所生成的软用户密钥406、第一ECC密钥对的私钥412和第二ECC密钥对的公钥418的组合来执行另外的加密操作422。例如,另外的加密操作422可以利用软用户密钥406作为椭圆曲线Diffie-Hellman(ECDH)协议操作的输入利用以下来生成强化用户密钥424:(a)第一ECC密钥对的私钥412和(b)第二ECC密钥对的公钥418。例如,软用户密钥406可以被提供给椭圆曲线Diffie-Hellman(ECDH)协议操作作为ECC-CMS-SharedInfo entityUInfo参数。也就是说,ECC-CMS-SharedInfo entityUInfo字段可以表示由用户提供的数据的导出形式(例如,参见https://tools.ietf.org/html/rfc8418)。
在某些示例中,强化用户密钥424可以用于加密DEK,该DEK先前用于加密在容器132(图1)中所存储的数据并且与与用户机密402相对应的用户相关联。应当理解,强化用户密钥424可以基于:(i)可以用于认证用户的用户机密402;以及(ii)在安全模块110外部的过程可能至少部分无法访问的加密密钥。因此,即使无良实体成功将数据(包括容器内的数据)复制到离线计算设备,无良实体的“离线攻击”也可能受到挫败。基于本文中描述的设备和方法,无良实体可能无法生成以下操作所必需的强化用户密钥424:(a)解密与在容器132中所存储的数据相关联的DEK;以及(b)随后解密在容器中所存储的数据。在没有未加密DEK的情况下,无良实体可能无法解密在容器中所存储的数据。
在另一实现中,主处理器或密码处理器之一可以接收用户机密。基于用户机密,主处理器或密码处理器之一可以基于用户机密来生成ECC公钥。例如,主处理器或密码处理器可以将用户机密或用户机密的表示映射为与计算设备的加密操作相关联的椭圆曲线上的点。因此,ECC公钥可以在椭圆曲线上的特定点处标识。因此,密码处理器可以利用所生成的ECC公钥来执行ECDH操作,以生成用于解密DEK的强化用户密钥。
参考图5,图5以简化框图的形式示出了根据本申请的示例的电子设备500。电子设备500可以是图1所示的示例计算设备100。
电子设备500包括一个或多个主处理器502、存储器504和通信模块。通信模块可以向计算设备100提供用于与其他计算设备通信的网络能力。存储器504可以包括用于存储数据、应用、文件系统等的数据存储库506。此外,数据存储库506可以包括图1的一个或多个示例容器132。存储器504可以存储可以包括用于提供基本设备操作的操作系统的处理器可执行软件应用508。软件应用508还可以包括实现本文中描述的方法的操作的指令。
电子设备500可以包括安全模块510,该安全模块510可以是用于提供可信信息(包括电子设备500的身份和内部状态数据)的基于硬件的电路。安全模块510可以提供密码功能,包括加密、签名、密钥生成、随机数生成等。在一个示例中,安全模块510可以对应于图1的安全模块110。
电子设备500可以包括用于接收表示用户输入的信号的输入模块512。例如,输入模块512可以是键盘设备、触摸输入设备、声学输入设备、或用于接收表示如本文中的示例中描述的用户输入的信号的任何其他设备。电子设备500可以包括显示界面和/或显示器514。显示器514可以包括诸如液晶显示器(LCD)、电子墨水/电子纸显示器等示例。在一些示例中,显示器514可以是触摸屏显示器。
在一些示例中,电子设备500可以是便携式电子设备,诸如智能电话、个人计算机、个人数字助理、便携式导航设备、移动电话、可穿戴计算设备(例如,智能手表、可穿戴活动监测器等)、或者可以被配置为存储数据和软件指令并且执行软件指令以执行本文中描述的示例操作的任何其他类型的计算设备。
本申请的示例实施例不限于任何特定的操作系统、系统架构、移动设备架构、服务器架构或计算机编程语言。
应当理解,实现所描述的方法/过程的应用、模块、例程、过程、线程或其他软件组件可以使用标准计算机编程技术和语言来实现。本申请不限于特定处理器、计算机语言、计算机编程约定、数据结构或其他这样的实现细节。本领域技术人员将认识到,所描述的过程可以被实现为在易失性或非易失性存储器中所存储的计算机可执行代码的一部分、专用集成芯片(ASIC)的一部分等。
可以对所描述的实施例进行某些改编和修改。因此,以上讨论的实施例被认为是说明性的而非限制性的。

Claims (20)

1.一种管理在计算设备上的容器内所存储的数据的方法,所述容器与至少一个注册用户相关联,所述容器内的所述数据由数据加密密钥(DEK)加密并且被存储为加密数据,所述方法包括:
基于与所述容器相关联的用户机密来认证用户;
基于所述用户机密来生成软密钥;
由除所述计算设备的主处理器以外的密码处理器生成安全生成器输出,所述安全生成器输出包括与所述认证用户相关联的密码密钥组件;
由所述密码处理器使用所述软密钥和与所述认证用户相关联的所述密码密钥组件基于密钥协商协议来生成强化用户密钥;
构造与所述强化用户密钥相关联的未加密DEK以用于访问在所述容器内所存储的所述数据的子集;以及
使用所述未加密DEK来解密所述数据的所述子集。
2.根据权利要求1所述的方法,其中所述安全生成器输出包括第一椭圆曲线密码(ECC)密钥对和第二ECC密钥对。
3.根据权利要求2所述的方法,还包括:
由所述密码处理器丢弃所述第一ECC密钥对的公钥和所述第二ECC密钥对的私钥,并且其中所述密码密钥组件包括所述第一ECC密钥对的所述私钥和所述第二ECC密钥对的所述公钥。
4.根据权利要求1所述的方法,其中所述密钥协商协议基于椭圆曲线密码。
5.根据权利要求1所述的方法,其中所述密钥协商协议包括椭圆曲线Diffie-Hellman(ECDH)。
6.根据权利要求1所述的方法,其中所述软密钥包括指定长度并且使用基于密码的密钥导出函数2(PBKDF2)被生成。
7.根据权利要求6所述的方法,其中所述PBKDF2操作包括基于哈希的消息认证码(HMAC)操作。
8.根据权利要求1所述的方法,其中构造所述未加密DEK包括使用高级加密标准(AES)协议和所述强化用户密钥来解密强化DEK,其中所述强化DEK被存储在所述计算设备的不可迁移部分中。
9.根据权利要求1所述的方法,还包括使用所述未加密DEK来保护与所述认证用户相关联的附加数据。
10.根据权利要求1所述的方法,其中所述安全生成器输出基于安全随机数生成器输出。
11.一种管理在容器内所存储的数据的计算设备,所述容器与至少一个注册用户相关联,所述容器内的所述数据由数据加密密钥(DEK)加密并且被存储为加密数据,所述计算设备包括:
安全模块,包括密码处理器;
主处理器,耦合到所述安全模块;以及
存储器,耦合到所述处理器和所述密码处理器,所述存储器存储指令,所述指令在被执行时将所述主处理器或所述密码处理器中的至少一项配置为:
基于与所述容器相关联的用户机密来认证用户;
基于所述用户机密来生成软密钥;
由所述密码处理器生成包括与所述认证用户相关联的密码密钥组件的安全生成器输出;
由所述密码处理器使用所述软密钥和与所述认证用户相关联的所述密码密钥组件基于密钥协商协议来生成强化用户密钥;
构造与所述强化用户密钥相关联的未加密DEK以用于访问在所述容器内所存储的所述数据的子集;以及
使用所述未加密DEK来解密所述数据的所述子集。
12.根据权利要求11所述的计算设备,其中所述安全生成器输出包括第一椭圆曲线密码(ECC)密钥对和第二ECC密钥对。
13.根据权利要求12所述的计算设备,其中所述指令在被执行时还将所述密码处理器配置为丢弃所述第一ECC密钥对的公钥和所述第二ECC密钥对的私钥,并且其中所述密码密钥组件包括所述第一ECC密钥对的所述私钥和所述第二ECC密钥对的所述公钥。
14.根据权利要求11所述的计算设备,其中所述密钥协商协议基于椭圆曲线密码。
15.根据权利要求11所述的计算设备,其中所述密钥协商协议包括椭圆曲线Diffie-Hellman(ECDH)。
16.根据权利要求11所述的计算设备,其中所述软密钥包括特定长度并且使用基于密码的密钥导出函数2(PBKDF2)被生成。
17.根据权利要求11所述的计算设备,其中构造所述未加密DEK包括使用高级加密标准(AES)协议和所述强化用户密钥来解密强化DEK,其中所述强化DEK被存储在所述计算设备的不可迁移部分中。
18.根据权利要求11所述的计算设备,其中所述指令在被执行时还将所述主处理器配置为使用所述未加密DEK来保护与所述认证用户相关联的附加数据。
19.根据权利要求11所述的计算设备,其中所述安全生成器输出基于安全随机数生成器输出。
20.一种非瞬态计算机可读存储介质,存储用于管理在容器内所存储的数据的指令,所述容器与至少一个注册用户相关联,所述容器内的所述数据由数据加密密钥(DEK)加密并且被存储为加密数据,所述指令在由所述计算设备的主处理器或密码处理器中的至少一项执行时使所述计算设备:
基于与所述容器相关联的用户机密来认证用户;
基于所述用户机密来生成软密钥;
由所述密码处理器生成包括与所述认证用户相关联的密码密钥组件的安全生成器输出;
由所述密码处理器使用所述软密钥和与所述认证用户相关联的所述密码密钥组件基于密钥协商协议来生成强化用户密钥;
构造与所述强化用户密钥相关联的未加密DEK以用于访问在在所述容器内所存储的所述数据的子集;以及
使用所述未加密DEK来解密所述数据的所述子集。
CN202010414785.2A 2019-05-16 2020-05-15 管理数据的设备和方法 Pending CN111949999A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/413,773 2019-05-16
US16/413,773 US11240026B2 (en) 2019-05-16 2019-05-16 Devices and methods of managing data

Publications (1)

Publication Number Publication Date
CN111949999A true CN111949999A (zh) 2020-11-17

Family

ID=70682663

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010414785.2A Pending CN111949999A (zh) 2019-05-16 2020-05-15 管理数据的设备和方法

Country Status (4)

Country Link
US (1) US11240026B2 (zh)
EP (1) EP3739489B1 (zh)
CN (1) CN111949999A (zh)
CA (1) CA3080448C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116707802A (zh) * 2023-08-04 2023-09-05 河南省信息化集团有限公司 基于密钥加密密钥(kek)的授权管理方法及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11803766B1 (en) * 2019-12-12 2023-10-31 Amazon Technologies, Inc. Active scanning tool for identifying customer misconfigurations of virtual machine instances
EP4092597B1 (en) * 2021-05-18 2023-11-01 Knobs S.r.l. Portable device for the exchange, transfer and transport of sensitive digital information

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181016B2 (en) 2003-01-27 2007-02-20 Microsoft Corporation Deriving a symmetric key from an asymmetric key for file encryption or decryption
AU2003904317A0 (en) 2003-08-13 2003-08-28 Securicom (Nsw) Pty Ltd Remote entry system
US20070014416A1 (en) 2005-07-15 2007-01-18 David Rivera System and method for protecting against dictionary attacks on password-protected TPM keys
EP2122900A4 (en) * 2007-01-22 2014-07-23 Spyrus Inc PORTABLE DATA ENCRYPTION DEVICE WITH CONFIGURABLE SAFETY FUNCTIONS AND METHOD FOR FILING ENCRYPTION
US10079678B2 (en) 2012-07-24 2018-09-18 Intel Corporation Providing access to encrypted data
US9367697B1 (en) * 2013-02-12 2016-06-14 Amazon Technologies, Inc. Data security with a security module
US9087205B2 (en) * 2013-10-11 2015-07-21 Sap Se Shared encrypted storage
US9135472B2 (en) * 2013-10-31 2015-09-15 Square, Inc. Systems and methods for secure processing with embedded cryptographic unit
US20160065374A1 (en) 2014-09-02 2016-03-03 Apple Inc. Method of using one device to unlock another device
CA2962576A1 (en) * 2014-09-26 2016-03-31 Good Technology Holdings Limited Access to software applications
US11316671B2 (en) * 2015-06-22 2022-04-26 Viasat, Inc. Accelerated encryption and decryption of files with shared secret and method therefor
US10523646B2 (en) * 2015-08-24 2019-12-31 Virtru Corporation Methods and systems for distributing encrypted cryptographic data
US20170063544A1 (en) * 2015-08-26 2017-03-02 Rubicon Labs, Inc. System and method for sharing data securely
US20170078255A1 (en) * 2015-09-11 2017-03-16 iAspire, LLC Systems and methods for implementing modular digital encryption key management solutions
US10015150B2 (en) * 2015-10-15 2018-07-03 Pkware, Inc. Systems and methods for Smartkey information management
KR20170059082A (ko) 2015-11-20 2017-05-30 삼성전자주식회사 파일 조작 처리 방법 및 이를 지원하는 전자 장치
US20180063105A1 (en) * 2016-09-01 2018-03-01 AtCipher.com Limited Management of enciphered data sharing
US10911238B2 (en) * 2016-12-14 2021-02-02 Microsoft Technology Licensing, Llc Offline protection of secrets
CN108667608B (zh) * 2017-03-28 2021-07-27 阿里巴巴集团控股有限公司 数据密钥的保护方法、装置和系统
US11101999B2 (en) * 2017-11-08 2021-08-24 Amazon Technologies, Inc. Two-way handshake for key establishment for secure communications
US11144649B2 (en) * 2018-01-25 2021-10-12 Kigen (Uk) Limited Sensitive information provision process
US11431494B2 (en) * 2018-03-15 2022-08-30 Atakama LLC Passwordless security system for data-at-rest
CN108449178B (zh) 2018-03-26 2020-12-22 北京豆荚科技有限公司 一种安全可信执行环境中根密钥的生成方法
CN108599938A (zh) 2018-04-23 2018-09-28 北京数字认证股份有限公司 通过可信执行环境保护移动端私密数据的方法及系统
US11368445B2 (en) * 2018-05-21 2022-06-21 Amazon Technologies, Inc. Local encryption for single sign-on
US10911431B2 (en) * 2018-05-21 2021-02-02 Wickr Inc. Local encryption for single sign-on
US11611539B2 (en) * 2018-12-16 2023-03-21 Auth9, Inc. Method, computer program product and apparatus for encrypting and decrypting data using multiple authority keys
US11088846B2 (en) * 2019-03-28 2021-08-10 Intel Corporation Key rotating trees with split counters for efficient hardware replay protection

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116707802A (zh) * 2023-08-04 2023-09-05 河南省信息化集团有限公司 基于密钥加密密钥(kek)的授权管理方法及系统
CN116707802B (zh) * 2023-08-04 2023-12-12 河南省信息化集团有限公司 基于密钥加密密钥(kek)的授权管理方法及系统

Also Published As

Publication number Publication date
CA3080448C (en) 2024-01-02
EP3739489B1 (en) 2022-04-06
US20200366483A1 (en) 2020-11-19
CA3080448A1 (en) 2020-11-16
US11240026B2 (en) 2022-02-01
EP3739489A1 (en) 2020-11-18

Similar Documents

Publication Publication Date Title
US10142107B2 (en) Token binding using trust module protected keys
US10320765B2 (en) Method and system for securing communication
US10938792B2 (en) Layered encryption for end to end communication
US8509449B2 (en) Key protector for a storage volume using multiple keys
US8462955B2 (en) Key protectors based on online keys
RU2371756C2 (ru) Безопасная связь с клавиатурой или родственным устройством
US8953805B2 (en) Authentication information generating system, authentication information generating method, client apparatus, and authentication information generating program for implementing the method
CN104618096B (zh) 保护密钥授权数据的方法、设备和tpm密钥管理中心
CN108768963B (zh) 可信应用与安全元件的通信方法和系统
CN110868291B (zh) 一种数据加密传输方法、装置、系统及存储介质
EP3739489B1 (en) Devices and methods of managing data
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
US20230409700A1 (en) Systems and methods for managing state
CN110968878A (zh) 信息传输方法、系统、电子设备及可读介质
CN108985079B (zh) 数据验证方法和验证系统
JP2002247021A (ja) アクセス制限付コンテンツ表示方法およびその装置
US20230038940A1 (en) Multiple Relying Parties in a Single-Sign-On Environment
Lucas et al. Efficient Key Management Schemes for Trigonometry-Based Encryption of Short Messages
CN117411681A (zh) 一种基于tee的密码软键盘输入方法
Haunts et al. Final Summary
CN117828641A (zh) 用户密码保护方法、介质加密密钥的保护方法及存储设备
CN113449345A (zh) 一种由微处理器实现的用于保护数据的方法及系统
CN118233108A (zh) 基于硬件安全模块的密钥初始化方法及存储介质
CN114556344A (zh) 在加密协同处理器中执行针对实体特定的加密代码
Daswani et al. Key Management and Exchange

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
TA01 Transfer of patent application right

Effective date of registration: 20240329

Address after: Ai Erlandubailin

Applicant after: Mariki Innovation Ltd.

Country or region after: Ireland

Address before: Ontario, Canada

Applicant before: BlackBerry Ltd.

Country or region before: Canada

TA01 Transfer of patent application right