管理数据的设备和方法技术

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

【技术实现步骤摘要】
管理数据的设备和方法
本申请总体上涉及数据管理,并且具体地涉及管理在容器内所存储的数据。
技术介绍
计算设备可以被配置为保护在计算设备处所存储的数据。所存储的数据可以是特定用户的秘密信息或专有信息,并且对所存储的数据的访问可能取决于对希望访问所存储的数据的用户的身份的验证。例如,计算设备可以要求用户在操作计算设备之前以及在访问或修改所存储的数据之前进行认证。安全操作可以包括将所接收的用户输入与密码列表进行比较。在另一示例中,安全操作可以包括使用与特定用户相关联的密码密钥来加密数据。附图说明现在将通过示例的方式参考附图,附图示出了本申请的示例实施例,并且在附图中:图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内所存储的数据的操作、以及本文中描述的其他示例本文档来自技高网...

【技术保护点】
1.一种管理在计算设备上的容器内所存储的数据的方法,所述容器与至少一个注册用户相关联,所述容器内的所述数据由数据加密密钥(DEK)加密并且被存储为加密数据,所述方法包括:/n基于与所述容器相关联的用户机密来认证用户;/n基于所述用户机密来生成软密钥;/n由除所述计算设备的主处理器以外的密码处理器生成安全生成器输出,所述安全生成器输出包括与所述认证用户相关联的密码密钥组件;/n由所述密码处理器使用所述软密钥和与所述认证用户相关联的所述密码密钥组件基于密钥协商协议来生成强化用户密钥;/n构造与所述强化用户密钥相关联的未加密DEK以用于访问在所述容器内所存储的所述数据的子集;以及/n使用所述未加密DEK来解密所述数据的所述子集。/n

【技术特征摘要】
20190516 US 16/413,7731.一种管理在计算设备上的容器内所存储的数据的方法,所述容器与至少一个注册用户相关联,所述容器内的所述数据由数据加密密钥(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)加密并且被存储为加密数据,所述计算设备包括:
安全模块,包括密码处理器;
主处理器,耦合到所述安全模块;以及
存储器,耦合到所述处理器和所述密码处理器,所述存储器存储指令,所述指令在被执行时将所述主处理器或所述密码处理器中的至少一项配置为:

【专利技术属性】
技术研发人员:J·G·怀特D·R·L·布朗
申请(专利权)人:黑莓有限公司
类型:发明
国别省市:加拿大;CA

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1