自动的存储安全的制作方法

文档序号:12123397阅读:204来源:国知局
自动的存储安全的制作方法与工艺

本发明涉及计算设备,并且更具体地,涉及存储于计算设备的存储器中的敏感信息的保护。

安全是各种计算设备中的关键特性。能够在计算设备中存储敏感信息并且保护该信息以避免非授权地公开和/或修改是重要的。无论什么时候敏感信息被存储在存储器中,都会存在它可能被不适当地访问的风险。

附图说明

本发明的实施例从如下更详细的说明书、附加的权利要求以及附图中将变得更加明显,其中相同的附图标记指示相同或相似的元件。

图1是根据本发明的实施例的执行加密处理的安全模块的示意框图;

图2是根据本发明的实施例的执行解密处理的图1的安全模块的示意框图;

图3是根据本发明的另一个实施例的执行解密处理的图1的安全模块的示意框图;以及

图4是按照本发明的实施例的包括图1的安全模块的设备的示意框图。

具体实施方式

本发明的实施例的详细说明会在这里被公开。然而,这里公开的具体结构性和功能性细节仅仅被展现以用于描述本发明的示例性实施例。本发明可被实现为多种替代形式,并且不应当被解释为仅限制于在此提出的实施例。此外,这里使用的术语仅仅用于描述具体实施例并不意味着对本发明示例实施例的限制。

如这里使用的,单数形式“一”,“一个”以及“个”也意味着包括复数形式,除非上下文清楚指示排除。应进一步理解的是术语“包含”、“含有”、“包括”和/或“具有”说明了存在所述特性、步骤或组件,但是并不排除存在或添加一 个或多个其他特性、步骤或组件。还应当注意的是在一些替代性实现方式中,指出的功能/动作可不按图中指出的顺序发生。例如,取决于涉及的功能/动作,连续显示的两个图实际上可以基本同时执行或有时可以以相反的顺序执行。

在一个实施例中,计算设备包括安全模块,安全模块被配置以(i)接收解密已加密数据的请求;(ii)基于特定的时间间隔建立不间断计时器;(iii)解密已加密数据以生成并存储相应的已解密数据到计算设备内的存储器中;以及提供触发信号以在由计时器确定的特定的时间间隔过期后从存储器中删除已解密数据。

因为数据可能由诸如黑客的未授权用户从存储器中不适当地访问,在计算设备的存储器中存储敏感数据是有风险的。根据本文描述的实施例,通过使用不间断计时器限制存储敏感数据的时间周期。

现在参照图1,示出了根据本发明的实施例的执行加密处理的安全模块100的框图。安全模决100加密存储在通用系统存储器中的敏感数据120并生成被存储回通用系统存储器中的相应的加密密钥二进制大对象(blob)130。

具体地,在步骤1,安全模块100接收(例如,源自用户)加密存储在通用系统存储器中的数据120的请求。在步骤2,安全模块100请求并接收由硬件随机数生成器RNG在安全模块100内实现的随机生成blob密钥BK。在步骤3,安全模块100使用blob密钥BK加密数据120以生成已加密数据102。

在步骤4,安全模块100从一次性可编程主密钥(OTPMK)寄存器中取得blob密钥加密密钥BKEK,其同样在安全模块100内的实现。在步骤5,安全模块100使用blob密钥加密密钥BKEK加密blob密钥BK以生成已加密的blob密钥104。在步骤6,安全模决100结合步骤3生成的已加密数据102以及步骤5生成的已加密blob密钥104以生成被保存在通用系统存储器中的密钥blob 130。

注意到安全模块100可被用于加密和存储多个不同组的数据120作为在通用存储器中的不同的密钥blob 130,同时每一个密钥blob 130通过使用独一无二的、随机生成的blob密钥BK以及相同的blob密钥加密密钥BKEK被加密。

图2是根据本发明实施例的执行解密处理的图1的安全模块100的框图。在图2中,安全模块100解密存储在通用系统存储器中的密钥blob 130 并存储相应的已解密数据202回到通用系统存储器中。按照本发明,已解密数据202在不间断计时器106过期后被自动地删除。

具体地,在图2的步骤1a,安全模块100接收(例如,源自用户)解密存储在通用系统存储器中的已加密密钥blob 130的请求。在步骤2a,安全模块100通过使用特定的时间间隔参数108设置不间断计时器106。取决于实现方式,参数108可由用户提供作为可编程的值或由系统提供作为固定的、默认值。注意的是,计时器106可以是从零向上计数到特定的时间间隔的递增计时器或者是从特定的时间间隔向下计数到零的递减计时器。此外,计时器106可以被配置为在接收请求后立即或者一段时间后(诸如已加密数据已经被解密后)开始计数。

如图1的步骤4,在步骤3a,安全模块100从一次性可编程寄存器OTPMK中取得相同的blob密钥加密密钥BKEK。在步骤4a,安全模块100从密钥blob 130中取得已加密blob密钥104并通过使用blob密钥加密密钥BKEK解密已加密的blob密钥104以生成blob密钥BK的已解密版本。

在步骤5a,安全模块100从密钥blob 130中取得已加密数据102并通过使用源自步骤4a的已解密密钥blob BK解密已加密数据102,以生成并存储相应的已解密数据202到通用系统存储器中。

最后,在步骤6a,在特定的时间间隔过期后,计时器106提供触发信号以从通用系统存储器中删除(例如,填零)已解密数据202。作为不间断计时器,一旦计时器106开始计数,它不能够被中断。在这种方式下,已解密数据202在通用系统存储器中仅仅在有限的时间周期可用,因而相时于不具有不间断计时器106的系统降低了未授权访问数据的风险。

图3是根据本发明的另一个实施例的执行解密处理的图1的安全模块100的框图。如同图2中的解密处理,安全模块100解密存储在通用系统存储器中的密钥blob 130并在存储器中存储相应的已解密数据202。按照本发明,存储的数据在由不间断计时器106指示的预定的时间过期后被从存储器中自动地删除。

图2的解密处理和图3的解密处理之间的主要不同在于,在图3中,已解密数据202被存储在安全模块100内部的存储器中而不是存储在安全模决100外部的通用系统存储器中。如图3中箭头302指示的,已解密blob密钥BK 也被存储在安全模块的内部存储器中。

因而,图3的步骤1b-4b与图2的步骤1a-4a完全相同,图3的步骤5b与图2的步骤5a完全相同,除了已解密数据202被存储在安全模块的内部存储器中。图3的步骤6b与图2的步骤6a完全相同,除了已解密数据202在特定的时间间隔过期后从安全模块内部存储器中被自动删除。在此,同样的,即使安全模块的内部存储器可能比通用系统存储器更安全,然而图3的解密处理相比不具有不间断计时器106的系统仍然降低了末授权访问已解密的数据202的风险。

图4是根据本发明的实施例的包含有图1的安全模块100的示例性的计算设备400的框图。除了安全模块100外,计算设备400还包含一个或多个其他处理器402(具有至少一个中央处理器(CPU))、通用系统存储器404、通用存储器控制器406以及用户界面408。例如,参照图1-3,计算设备400适于实施本发明的示例性实施例以及其中的组件被配置以使得计算设备400运行的特定方式。计算设备400可被实现为任一合适的电子系统的一部分,诸如移动电话、无线通信设备、电子游戏设备、电子阅读设备、DVD播放器、便携式无线设备、射频设备等等的一部分。

系统存储器404包含模块404-1用于将指令提供给安全模块100以实现参照图1-3的本文中描述的各种步骤。系统存储器404还包括数据文件系统404-2用于存储图1的已加密密钥blob 130以及图2的已解密数据202。

如图4所示,除了也在图1-3示出的元件,安全模决100包含加密/解密引擎410、内部安全存储器412以及直接存储器存取(DMA)控制器414。如图1的上下文的描述,加密/解密引擎410加密数据120和blob密钥BK。如图2和3的上下文的描述,加密/解密引擎410解密已加密数据102和已加密blob密钥104。内部存储器412存储图3的已解密数据202和已解密blob密钥BK。DMA控制器414使得安全模块100经由通用存储器控制器406访问通用系统404。

系统存储器404和内部安全存储器412的各种实施方式可以是半导体存储器设备、磁存储器设备和系统、光学存储器设备和系统、固体存储器、可移除存储器、光盘存储器、闪存存储器、DRAM、SRAM、EEPROM等。一个或多个其他处理器402的各种实现方式可包括但不限于通用计算机、专用 计算机、微处理器、数字信号处理器(DSPs)以及多核处理器。

安全模块100的所有组件可使用本领域技术人员知晓的硬件组件被实现。但是一般地,安全模决100可被实现为硬件、软件和/或固件的组合。

虽然随机数生成器RNG、寄存器OTPMK以及计时器106显示是作为图2-4中的安全模块100的一部分被实现,然而在其他实施例中,这些元件中一个或多个可在安全模决100的外部实现。进一步注意的是图4中的计算设备400的所有或者选择的模决可被实现为单一集成电路。

虽然图1的加密处理以及图2和3的解密处理在上下文中描述为特定顺序的处理步骤,然而这些步骤中的一些的顺序在不同的实施方式中可被改变。例如,在图1中,步骤4的blob密钥加密密钥BKEK的取得可以在步骤3的blob密钥BK的解密之前实现或与之并行实现。作为另一个示例,图2和3的步骤2a/2b的计时器106的开始可在步骤1a/1b后的任一合适时间被实现。

虽然本发明说明的情形是,通过使用随机生成的blob密钥BK加密数据,其中blob密钥BK自身是通过使用固定的blob密钥加密密钥BKEK被加密,然而本发明还可以在其它适合的加密方案中被实现,如涉及一个或多个加密密钥随机的生成或不生成,和/或加密或不加密。

可由使用专用的硬件以及使用能够执行软件的与合适的软件关联的硬件来提供包括标记为“处理器”的任一功能模块的图中示出的各种元件的功能。当由处理器提供时,功能可由单一专用的处理器、单一共享处理器或多个独立的处理器来提供,其中一些可以是共享的。此外,术语“处理器”或“控制器”的明确使用并不应当被解释为专指能够执行软件的硬件,并且还暗示包括且不限于数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)以及非易失性存储装置。也可被包括其它常规的和/或定制的硬件。类似地,图中所示的任何开关仅仅是概念性的。它们的功能可由可编程逻辑的操作、专用逻辑、程序控制及专用逻辑的交互、或甚至是手动来实现,由实施者可选择的特定技术能从上下文中更加具体的理解。

应当理解的是在此陈述的示例性方法的步骤并不需要以描述的顺序执行,这样的方法的步骤的顺序应当被理解为仅仅是示例性的。同样地,这样的方法中可以包括额外的步骤,并且可以省略或组合按照本发明的各种实施例 的方法中的某些步骤。

虽然体现本发明的教导的多种实施例已经被示出并在本文中被详细描述,然而本领域的技术人员可容易地设计许多仍然体现这些教导的其他变型的实施例。因而,尽管前文指示了本发明的多种实施例,本发明的其它和进一步的实施例可被设计出而并不脱离本发明的基本范围。同样的,本发明的合理范围根据权利要求书来确定。

应当理解的是先前的描述意在解释而并不意味着对本发明范围的限制,本发明的范围通过附后的权利要求书来确定。其它实施例也在所附权利要求书的范围内。

此外,在不使用相应的其它描述的特性的情况下,上述非限定性的实施例的各种特性中的一些可被加以利用。因此前文的描述应当被视为仅仅是原理、教导、本发明的示例性实施例的示例说明,而并不在于对其进行限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1