针对存储器控制器的密钥旋转的制作方法

文档序号:9672555阅读:851来源:国知局
针对存储器控制器的密钥旋转的制作方法
【专利说明】
【背景技术】
[0001]这里为了总体上给出本公开内容的背景的目的而提供了【背景技术】描述。至于在此【背景技术】部分中所描述的工作以及在提交时可能无法被视为现有技术的描述方面,当前署名的发明人的工作既未明确也未隐含地被认可作为相对于本公开内容的现有技术。
[0002]黑客利用计算机系统或网络中的弱点从存储器获得数据。为了减少黑客能够读取不正当得到的数据的可能性,根据数学扰乱函数将数据扰乱(即,加密)。黑客继而需要发现曾用于扰乱数据的扰乱函数以便整理(即,解密)被扰乱的数据。为了发现扰乱函数,黑客可以攻击计算机系统的部件(诸如片上系统(S0C)),并且请求向存储器写入输入值。通过分析存储器的输出值与输入值,黑客可以试图反向工程扰乱函数的操作。黑客分析输出的时间越长,黑客将能够确定扰乱函数并使用该函数从存储器中整理被扰乱的数据的可能性越大。
[0003]在某些加密技术中,扰乱函数基于密钥。密钥是只有已经被授权读取被扰乱的数据的个体知道的信息片(例如,值、参数)。为了增加数据的安全性,密钥被定期改变以便改变扰乱函数,因此改变数据被扰乱和整理的方式。因为扰乱函数取决于密钥,因此定期改变密钥增加了存储器的安全性,这是由于黑客在扰乱函数改变之前具有更少的时间来发现扰乱函数。通常,当计算机系统在掉电之后被开启时,密钥在该计算机系统的最初启动顺序期间被改变。然而,在计算机系统被掉电并重新开启之前可能消逝了数周甚至数月,这使得数据更容易被整理。因此,撤销密钥并用新的密钥代替被撤销的密钥(被称为密钥旋转)减少了此易损性。然而,通常密钥旋转需要处理时间和大量资源,因此尽管减少了易损性但还是不常被进行。

【发明内容】

[0004]通常,在一个方面,本说明书公开了一种存储器系统,包括:存储器控制器,被配置为控制对存储器的访问并且处理存储器访问请求。密钥更新逻辑,被配置为旋转曾用于扰乱存储器中数据的第一密钥并且通过以下操作来用第二密钥重新扰乱数据:确定存储器控制器何时处于空闲周期,并且在空闲周期期间对存储器的一部分执行密钥更新操作;以及当存储器控制器没有处于空闲周期时暂停密钥更新操作以允许存储器访问请求将被执行,并且在下一空闲周期期间恢复密钥更新操作。
[0005]在另一方面,存储器系统进一步包括边界地址寄存器,其中密钥更新逻辑被配置为在边界地址寄存器中存储标识下一密钥更新操作的位置的边界地址。
[0006]在另一方面,存储器控制器被配置为向密钥更新逻辑发送指示存储器控制器处于空闲周期的密钥更新通知。
[0007]在另一方面,存储器系统进一步包括选择器逻辑,被配置为至少部分基于边界地址选择第一密钥还是第二密钥将用于处理存储器访问请求,边界地址指示哪个密钥曾被用于在存储器访问请求中指定的位置扰乱存储器。
[0008]在存储器系统的另一方面,密钥更新逻辑被配置为在存储器访问请求之间间歇地执行密钥更新操作。
[0009]在另一方面,存储器控制器被配置为通过以下操作执行针对所请求地址的读取访问请求:基于指示密钥更新操作的位置的边界地址确定所请求的地址在存储器的第一部分还是第二部分中,其中第一部分已经使用第一密钥扰乱并且第二部分已经由第二密钥扰乱;基于确定选择第一密钥或者第二密钥;以及使用所选定的密钥从所请求的地址解扰乱数据并且将所解扰乱的数据返回。
[0010]在存储器系统的另一方面,存储器控制器被配置为通过以下操作执行指示数据将在所请求的地址被写入的写入访问请求:基于指示密钥更新操作的位置的边界地址确定所请求的地址在存储器的第一部分还是第二部分中,其中第一部分已经使用第一密钥扰乱并且第二部分已经由第二密钥扰乱;基于确定选择第一密钥或者第二密钥;以及使用所选定的密钥从写入访问请求解扰乱数据并且将所解扰乱的数据写入存储器中所请求的地址。
[0011]在另一方面,存储器系统进一步包括扰乱寄存器,用于在边界地址处的数据由密钥更新逻辑密钥更新之前、在接收对访问存储器的访问请求时存储来自边界地址的数据。
[0012]在另一方面,存储器系统进一步包括功能逻辑,用于生成用以对边界地址处的数据进行密钥更新的功能,功能包括第一功能和第二功能,其中第一功能用于用第一密钥解扰乱数据并且第二功能用于用第二密钥重新扰乱数据。
[0013]在另一方面,存储器系统进一步包括密钥存储,用于存储并控制对第一密钥和所第二密钥的访问。
[0014]通常,在另一方面,本说明书公开了一种方法,包括:在存储器中设置针对密钥更新操作的边界地址,密钥更新操作针对存储器中的数据旋转密钥。响应于接收存储器访问请求,由存储器控制器处理对存储器的存储器访问请求。方法确定存储器控制器何时处于空闲周期并且响应于处于空闲周期,方法包括:在空闲周期期间对存储器中在边界地址处的一部分执行密钥更新操作;增加边界地址并且重复密钥更新操作;以及当存储器控制器没有处于空闲周期时暂停密钥更新操作以允许存储器访问请求将被执行,并且在下一空闲周期期间恢复密钥更新操作。
[0015]在方法的另一方面,执行密钥更新操作包括使用曾被用于扰乱在边界地址存储的数据的第一密钥解扰乱数据,用第二密钥重新扰乱数据,以及将所重新扰乱的数据存储在存储器中的边界地址。
[0016]在另一方面,确定存储器控制器何时处于空闲周期包括接收指示存储器控制处于空闲周期的密钥更新通知。
[0017]在另一方面,方法进一步包括至少部分基于边界地址选择第一密钥还是第二密钥将用于处理存储器访问请求。
[0018]在方法的另一方面,密钥更新操作在存储器访问请求的处理之间被间歇地执行。
[0019]在方法的另一方面,针对作为对所请求地址的读取访问请求的存储器访问请求,方法进一步包括:基于边界地址确定所请求的地址在存储器的第一部分还是第二部分中,其中第一部分已经使用第一密钥扰乱并且第二部分已经由第二密钥扰乱;基于确定选择第一密钥或者第二密钥;以及使用所选定的密钥从所请求的地址解扰乱数据并且将所解扰乱的数据返回。
[0020]通常,在另一方面,本说明书公开了一种方法,包括:在存储器中设置针对密钥更新操作的边界地址,密钥更新操作针对存储器中的数据旋转加密密钥,其中边界地址是存储器中用第一密钥加密的第一部分与存储器中用第二密钥加密的第二部分之间的边界;响应于接收针对存储器中所请求地址的访问请求:暂停密钥更新操作;将所请求的地址与边界地址比较以确定所请求的地址在存储器的第一部分还是第二部分中;基于比较选择第一密钥或者第二密钥;以及使用所选定的密钥处理访问请求。
[0021]在另一方面,方法进一步包括:确定当不存在有待完成的访问请求时的空闲周期;以及响应于空闲周期,恢复密钥更新操作以旋转加密密钥。
[0022]在另一方面,方法进一步包括在访问请求的处理之间间歇地执行密钥更新操作。
[0023]在另一方面,密钥更新操作至少部分基于密钥旋转间隔发起,并且密钥更新操作在存储器的空闲周期期间执行存储器中数据的密钥更新。
【附图说明】
[0024]结合于其中并且构成说明书一部分的附图图示了本公开内容的各种系统、方法和其它实施方式。图中所图示的元件界限(例如,框、框的群组或其它形状)表示边界的一个示例。在一些示例中,一个元件可以被设计为多个元件,或者多个元件可以被设计为一个元件。在一些示例中,被示为另一元件的内部组件的元件可以被实施为外部组件,并且反之亦然。
[0025]图1图示了与针对存储器控制器的密钥旋转相关联的系统的一个实施方式。
[0026]图2图示了与针对存储器控制器和密钥生成器的密钥旋转相关联的系统的一个实施方式。
[0027]图3图示了与针对存储器控制器和扰乱寄存器的密钥旋转相关联的系统的一个实施方式。
[0028]图4图示了与针对存储器控制器和功能逻辑的密钥旋转相关联的系统的一个实施方式。
[0029]图5图示了与针对存储器控制器和密钥存储的密钥旋转相关联的系统的一个实施方式。
[0030]图6图示了与用于对数据进行密钥更新的密钥旋转相关联的方法的一个实施方式。
[0031]图7图示了与处理在数据密钥更新没有完成时接收的存储器请求相关联的方法的一个实施方式。
【具体实施方式】
[0032]在数据加密中,密钥旋转是撤销曾用于扰乱数据集的第一加密密钥并且用不同的第二密钥代替第一密钥
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1