CN107563226A - 一种存储器控制器、处理器模块及密钥更新方法 - Google Patents

一种存储器控制器、处理器模块及密钥更新方法 Download PDF

Info

Publication number
CN107563226A
CN107563226A CN201710661619.0A CN201710661619A CN107563226A CN 107563226 A CN107563226 A CN 107563226A CN 201710661619 A CN201710661619 A CN 201710661619A CN 107563226 A CN107563226 A CN 107563226A
Authority
CN
China
Prior art keywords
key
address
memory pages
memory controller
locked
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.)
Granted
Application number
CN201710661619.0A
Other languages
English (en)
Other versions
CN107563226B (zh
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.)
Haiguang Information Technology Co Ltd
Original Assignee
Analog Microelectronics (shanghai) 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 Analog Microelectronics (shanghai) Co Ltd filed Critical Analog Microelectronics (shanghai) Co Ltd
Priority to CN201710661619.0A priority Critical patent/CN107563226B/zh
Publication of CN107563226A publication Critical patent/CN107563226A/zh
Application granted granted Critical
Publication of CN107563226B publication Critical patent/CN107563226B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供一种存储器控制器、处理器模块及密钥更新方法,属于数据加密处理技术领域。所述存储器控制器包括加密模块和地址转换模块,所述地址转换模块用于根据存储器页面密钥更新请求中的虚拟地址转换成存储器页面对应的物理地址,所述加密模块通过第一密钥对所述物理地址对应的存储器页面进行解密并通过第二密钥对所述存储器页面进行加密。通过使用本发明提供的存储器控制器,降低密钥长时间不变带来的风险。

Description

一种存储器控制器、处理器模块及密钥更新方法
技术领域
本发明涉及数据安全技术领域,尤其是涉及一种存储器控制器、处理器模块及密钥更新方法。
背景技术
通用计算机、专用计算机与通信装置可以作为机密或专用数据的数字通信平台,计算机行业持续发展新的安全技术,以保证这些装置的安全使用。在许多微处理器应用中,保护信息安全是重要的特征。
考虑当前主流计算机架构(例如,X86)所提供的两个主要安全特性:分页虚拟存储器(paged virtual memory)以及执行特权分级(privileged execution)。
在启用分页虚拟存储器的情况下,基本的操作系统对每一个存储器页面分别定义一个虚拟地址空间以及存取权限(例如只执行、只读取)给每一个被执行的应用程序,以此阻止另一恶意的应用程序在所定义的区域内执行,且阻止其修改数据。但是,由于与虚拟地址相关(即页表)的数据存在于系统存储器(Main Memory)处,且其出现于主机微处理器外的系统总线上,因此数据可轻易地被查看且被改变。
在启用执行特权分级的情况下,所述架构提供数种级别的执行特权(例如,X86架构中的CPL0至CPL3)。因此,某些系统资源与指令,只可由正在较高特权级别上执行的程序来存取。通常操作系统组件运行在最高特权级别 (例如,CPL0),用户应用运行在最低特权级别(例如,CPL3)。但是,熟知此技术领域的人士都知道,这些架构特征主要是发展来阻止软件错误所导致的系统错误,且在防止有意或经指导的侵入(directed hacks)方面而言不是非常有效。
因此已发展出多种方法与装置,其更仔细地集中防止对平台的有意侵入与接管。在中国专利公开号106062768中,大卫·A·卡普兰示出一种存储器数据加密技术,其通过在存储器存取请求过程中使用存储器地址的标记作为密码指示,在数据存储至存储器时对数据执行加密,在数据取出时对数据执行解密。在此实施例中,应用密码技术中使用的密钥对于用户是不可存取的,从而保证数据的安全。
任何密码技术都存在被攻击的风险。通常业界会在短时间内(例如,1 小时)变更密钥以提高密码技术的抗攻击能力。在卡普兰示出的技术方案中,应用密码技术的密钥在机器启动后至关机(或复位)前是唯一的,且在较长的一段时间(例如,3个月)内是不变的。由于现代密码技术的算法是公开的,即使不公开实施方案,通过攻击手段也可以获得应用细节,如果一个密钥被长时间使用,就会存在信息泄露,而使用时间越长泄露的信息就会越多,并且风险就会越大。当恶意攻击者收集到足够的信息后,即使没有攻破现代密码技术中使用的密钥,卡普兰示出的技术也将形同虚设,任何存储在所述存储器中的加密数据(通常包含需要保护的敏感信息)都将存在泄露的风险。
发明内容
本发明提供了一种存储器控制器、处理器模块及密钥更新方法,降低密钥长时间不变带来的风险。
第一方面,本发明提供一种存储器控制器,所述存储器控制器包括加密模块和地址转换模块,
所述地址转换模块用于根据密钥更新请求中的虚拟地址转换成存储器页面对应的物理地址,所述加密模块通过第一密钥对所述物理地址对应的存储器页面进行解密并通过第二密钥对所述存储器页面进行加密。
优选地,所述加密模块还设置有引用计数器,所述引用计数器用于记录与第一密钥对应解密的存储器页面和/或第二密钥对应加密的存储器页面。
优选地,所述地址转换模块根据地址维护页表将所述虚拟地址转换成对应的物理地址。
优选地,所述存储器控制器工作模式包括保护模式开启、保护模式激活或保护模式关闭。
优选地,所述物理地址中设置有存储器页面相对应的密钥标记位,所述密钥标记位用于标记所述存储器页面是否加密。
优选地,所述物理地址中设置有存储器页面对应的密钥选择位,所述密钥选择位用于加密所述存储器页面。
优选地,所述加密模块用于所述存储器页面加密或解密后更新地址维护页表中的密钥选择位、密钥标记位、虚拟地址以及与虚拟地址对应的物理地址。
优选地,所述加密模块还用于将加密后的存储器页面发送至存储器。
第二方面,本发明还提供一种密钥更新方法,所述方法包括:
加密模块发送密钥更新请求;以及
地址转换模块用于根据密钥更新请求中的虚拟地址转换成存储器页面对应的物理地址,所述加密模块通过第一密钥对所述物理地址对应的存储器页面进行解密并通过第二密钥对所述存储器页面进行加密。
第三方面,本发明还提供一种处理器模块,所述处理器模块包括;
如上所述的存储器控制器;以及
处理器。
通过使用本发明提供的存储器控制器,降低密钥长时间不变带来的风险。
附图说明
图1是本发明实施例提供的存储器控制器结构示意图;
图2是本发明实施例提供的地址维护页表示意图;
图3是本发明实施例提供的处理器模块的结构示意图;
图4是本发明另一实施例提供的处理器模块的结构示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
如图1所示,本发明实施例提供的一种存储器控制器21,所述存储器控制器包括加密模块23和地址转换模块22。
所述地址转换模块22用于根据密钥更新请求中的虚拟地址转换成存储器页面对应的物理地址,所述加密模块23通过第一密钥对所述物理地址对应的存储器页面进行解密并通过第二密钥对所述存储器页面进行加密。
在本发明实施例中,所述地址转换模块根据地址维护页表将所述虚拟地址转换成对应的物理地址。如图2所示,所述物理地址中设置有存储器页面相对应的密钥标记位,所述密钥标记位用于标记所述存储器页面是否加密。所述物理地址中设置有存储器页面对应的密钥选择位,所述密钥选择位用于加密所述存储器页面。
在本发明实施例中,如图2所示,地址维护页表中具有物理地址与虚拟地址的映射,并且页表可能是多级页表,可以通过检查页表页面来识别物理地址,其中首先访问最低级页表页面以便识别下一级别处的待访问的页表页面,依此类推,直到识别出包括物理地址的最高级页表并且从那个最高级页表中检索到物理地址。最高级页表还存储指示对应于所述物理地址的数据是否将以密码方式受到保护的密钥标记位,以及所述物理地址的数据所选择进行加密和解密的密钥选择位。
在本发明实施例中存储器页面密钥更新涉及用户使用的被密码保护的所有存储器页面,针对每个存储器页面,更新密钥流程启动后,操作系统首先对使用所述密钥的存储器页面进行锁定,使得所述系统中的其它组件不能访问所述存储器页面。将检查所述存储器页面是否被所述系统中的其它组件使用,如果没有被其它组件使用,则可以认为所述页面上不包含任何有效数据,更新所述系统维护的页表中所述存储器页面的密钥选择位,解锁所述存储器页面;当所述存储器页面被所述系统中的其它组件使用时,需要将所述存储器页面中的数据使用第一密钥执行解密得到明文数据,再将所述明文数据使用更新后的第二密钥执行加密得到新的密文数据,再将所述新的密文数据写入所述存储器页面。更新所述系统维护的页表中所述存储器页面的密钥选择位,然后解锁所述存储器页面。优选地,所述加密模块23还用于将加密后的存储器页面发送至存储器。
在一些实施例中,密钥更新的触发条件被设置为系统空闲时(例如,处理器使用率小于5%),选择在系统低负载时执行密钥更新流程可以降低对系统整体的数据吞吐性能的影响。在又一实施例中,密钥更新的触发条件被设置为在一个时间区间内随机选择时间点执行密钥更新流程,这样可以提高系统的不可预测性,以提高攻击者的攻击成本,从而提高系统对抗攻击的能力。密钥更新的过程可以拆分为若干独立的子过程,加密模块23维护存储器页面的密钥使用与更新记录。
优选地,所述加密模块还设置有引用计数器,所述引用计数器用于记录与第一密钥对应解密的存储器页面和/或第二密钥对应加密的存储器页面。对于所有需要更新的被密码保护的存储器页面,每个子过程更新其中的一部分并维护更新记录使其保持一致,当所有的子过程执行完毕后,所有需要更新的存储器都被更新完毕。子过程不限数量,因而密钥更新的过程是可以随意分割的。在密钥更新过程中,有可能被其他事件打断,当从其他事件返回继续执行的过程中,需要记录所有需要更新的页面,这个记录是由引用计数器维护的。最小单位为一个存储器页面。
本发明实施例提供的存储器控制器缩短了应用密码技术中的密钥的生命周期,降低了相关安全信息泄露造成的风险。在系统中,密钥更新的触发条件是暴露给用户的,由用户根据其自身的安全策略的需要而设置,密钥的控制权交到了用户手中,为用户的信息安全管控提供了额外的保障方法,使得信息的安全性得到进一步的增强。
所述存储器控制器21工作模式包括保护模式开启、保护模式激活或保护模式关闭。配合相应的操作系统以及相关软件操作,保护模式即可激活。当保护模式开启后,加密模块23才能对数据进行加密或解密处理。当保护模式关闭后,加密模块23停止工作,加密模块23不能对数据进行相应的加密或解密处理。
本发明实施例还提供一种密钥更新方法,所述方法包括:
地址转换模块22根据密钥更新请求中的虚拟地址转换成存储器页面对应的物理地址,所述加密模块23通过第一密钥对所述物理地址对应的存储器页面进行解密并通过第二密钥对所述存储器页面进行加密。
图3-4示出用于能够识别存储器存取请求的安全类型,例如,安全或非安全。需要说明的是安全存取指的是使用密钥保护的存储器页面,非安全指的是未使用密钥保护的存储器页面。
如图3-4所示,在处理器模块(包括核11以及12)与存储器31或32 存取路径中,采用硬件加密模块23以密码方式将非安全信息隔离,来保护处理器模块处的安全。图3-4示出在一些实施例中,加密模块23位于处理器模块的存储器控制器21处,并且向存储器控制器21提供的每个存储器31或32 存取指示所述存取是否安全存储器存取,从而指示与所述存储器存取相关联的信息是被指定用于密码保护的安全存储器存取,或是非安全存储器存取。对于安全存储器存取,所述加密模块23对与所述存储器存取相关联的所述数据执行加密(针对写入存取)或解密(针对读取存取)。因为加密是在处理器模块的存储器存取路径中的硬件完成的,所以在没有正确的加密/解密密钥的情况下并不能对存储在存储器处的数据进行有意义的存取。
图3-4示出采用多个密钥以提供保护处理器模块的安全信息的增强型技术。在本发明实施例中,当处理器模块产生的存储器存取请求被存储器控制器21响应时,加密模块23向存储器控制器21提供的每个存储器存取指示所述存取是安全存储器存取,或是非安全存储器存取。所述存储器控制器21根据所述加密模块23的指示选择不同的密钥(例如,图4示出的第一密钥以及第二密钥),对存储在存储器31或32中的数据执行密码保护。所以在没有正确的加密/解密密钥的情况下,并不能对存储在存储器处的数据进行有意义的存取。
如图3及4所示,当处理器模块执行数据存取时,处理器模块将生成一个存储器存取请求。地址转换模块22根据请求中的虚拟地址识别其对应的物理地址。地址转换模块22是一般被配置来从处理器模块核心中的一个或两个接收针对对应存储器存取请求的虚拟地址的模块。地址转换模块22将每个所接收的虚拟地址转换为对应的物理地址,所述物理地址标识作为处理器模块存取请求的目标的存储器的位置。
处理器模块对地址识别的结果查询高速缓存中是否包括目标物理地址的条目,如果已经包括目标物理地址的条目,则在高速缓存处存取所需要的存储器数据;如果不包括目标物理地址的条目,则将指示高速缓存缺失,并将存储器存取请求提供给存储器控制器21。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器模块执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程 ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上该的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上该仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种存储器控制器,其特征在于,所述存储器控制器包括加密模块和地址转换模块,
所述地址转换模块用于根据存储器页面密钥更新请求中的虚拟地址转换成存储器页面对应的物理地址,所述加密模块通过第一密钥对所述物理地址对应的存储器页面进行解密并通过第二密钥对所述存储器页面进行加密。
2.根据权利要求1所述的一种存储器控制器,其特征在于,所述加密模块还设置有引用计数器,所述引用计数器用于记录与第一密钥对应解密的存储器页面和/或第二密钥对应加密的存储器页面。
3.根据权利要求1所述的一种存储器控制器,其特征在于,所述地址转换模块根据地址维护页表将所述虚拟地址转换成对应的物理地址。
4.根据权利要求1所述的一种存储器控制器,其特征在于,所述存储器控制器工作模式包括保护模式开启、保护模式激活或保护模式关闭。
5.根据权利要求3所述的一种存储器控制器,其特征在于,所述物理地址中设置有存储器页面相对应的密钥标记位,所述密钥标记位用于标记所述存储器页面是否加密。
6.根据权利要求3所述的一种存储器控制器,其特征在于,所述物理地址中设置有存储器页面对应的密钥选择位,所述密钥选择位用于加密所述存储器页面。
7.根据权利要求5或6所述的一种存储器控制器,其特征在于,所述加密模块用于所述存储器页面加密或解密后更新地址维护页表中的密钥选择位、密钥标记位、虚拟地址以及与虚拟地址对应的物理地址。
8.根据权利要求1所述的一种存储器控制器,其特征在于,所述加密模块还用于将加密后的存储器页面发送至存储器。
9.一种密钥更新方法,其特征在于,所述方法包括:
地址转换模块根据密钥更新请求中的虚拟地址转换成存储器页面对应的物理地址,加密模块通过第一密钥对所述物理地址对应的存储器页面进行解密并通过第二密钥对所述存储器页面进行加密。
10.一种处理器模块,其特征在于,所述处理器模块包括;
如权利要求1-8任一项所述的存储器控制器;以及
处理器。
CN201710661619.0A 2017-08-04 2017-08-04 一种存储器控制器、处理器模块及密钥更新方法 Active CN107563226B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710661619.0A CN107563226B (zh) 2017-08-04 2017-08-04 一种存储器控制器、处理器模块及密钥更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710661619.0A CN107563226B (zh) 2017-08-04 2017-08-04 一种存储器控制器、处理器模块及密钥更新方法

Publications (2)

Publication Number Publication Date
CN107563226A true CN107563226A (zh) 2018-01-09
CN107563226B CN107563226B (zh) 2020-05-12

Family

ID=60974310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710661619.0A Active CN107563226B (zh) 2017-08-04 2017-08-04 一种存储器控制器、处理器模块及密钥更新方法

Country Status (1)

Country Link
CN (1) CN107563226B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109471809A (zh) * 2018-09-29 2019-03-15 上海东软载波微电子有限公司 一种芯片的flash加密保护方法、装置、flash控制器及芯片
CN111262688A (zh) * 2018-11-30 2020-06-09 阿里巴巴集团控股有限公司 云磁盘秘钥的更换方法及装置
US11782127B2 (en) 2021-02-05 2023-10-10 Nxp Usa, Inc. Stop criterion for greedy target detection algorithms in radar applications using sparse phased arrays

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001001320A8 (en) * 1999-06-28 2001-03-15 Planet Rx System and method of providing promotional prices to a user and accumulating incentives to a user
US20160299851A1 (en) * 2015-04-09 2016-10-13 Vmware, Inc. Isolating guest code and data using multiple nested page tables
WO2017030745A1 (en) * 2015-08-17 2017-02-23 Micron Technology, Inc. Encryption of executables in computational memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001001320A8 (en) * 1999-06-28 2001-03-15 Planet Rx System and method of providing promotional prices to a user and accumulating incentives to a user
US20160299851A1 (en) * 2015-04-09 2016-10-13 Vmware, Inc. Isolating guest code and data using multiple nested page tables
WO2017030745A1 (en) * 2015-08-17 2017-02-23 Micron Technology, Inc. Encryption of executables in computational memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109471809A (zh) * 2018-09-29 2019-03-15 上海东软载波微电子有限公司 一种芯片的flash加密保护方法、装置、flash控制器及芯片
CN111262688A (zh) * 2018-11-30 2020-06-09 阿里巴巴集团控股有限公司 云磁盘秘钥的更换方法及装置
US11782127B2 (en) 2021-02-05 2023-10-10 Nxp Usa, Inc. Stop criterion for greedy target detection algorithms in radar applications using sparse phased arrays

Also Published As

Publication number Publication date
CN107563226B (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
US10360411B2 (en) Secure processing unit systems and methods
Henson et al. Memory encryption: A survey of existing techniques
White ABYSS: ATrusted Architecture for Software Protection
CN100464315C (zh) 移动存储器失泄密防护的方法和系统
JP5700481B2 (ja) 整合性チェック及びリプレーアタックからの保護を行って、メモリを暗号化するための方法及び装置
White et al. ABYSS: An architecture for software protection
CN101894224B (zh) 保护客户端平台上的内容
KR20190075063A (ko) 처리 시스템에서의 직접 메모리 액세스 인가
CN109901911A (zh) 一种信息设置方法、控制方法、装置及相关设备
CN103210396A (zh) 包括用于保护敏感代码和数据的架构的方法和装置
CN105389265B (zh) 当加密参数改变时在垃圾数据上生成零内容的方法和装置
CN105678173B (zh) 基于硬件事务内存的vTPM安全保护方法
CN107526974A (zh) 一种信息密码保护装置和方法
Mavrovouniotis et al. Hardware security modules
CN110659506A (zh) 基于密钥刷新对存储器进行重放保护
CN107563226A (zh) 一种存储器控制器、处理器模块及密钥更新方法
US20240080193A1 (en) Counter integrity tree
CN111539042B (zh) 一种基于核心数据文件可信存储的安全操作方法
US20100088770A1 (en) Device and method for disjointed computing
CN107330336A (zh) Linux操作系统内存页面即时加解密方法和系统
CN108345804A (zh) 一种可信计算环境中的存储方法和装置
JP2010231623A (ja) キャッシュメモリ制御装置及び方法
JP2009064126A (ja) Icカードシステム、その端末装置、プログラム
CN110443070A (zh) 多主机共享存储系统及数据完整性保护方法
CN103001772A (zh) 数据安全保护终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180109

Address after: 300143 Tianjin Haitai Huayuan Industrial Zone No. 18 West North 2-204 industrial incubation -3-8

Applicant after: Hai Guang Information Technology Co., Ltd.

Address before: 201203 3F, No. 1388, 02-01, Zhang Dong Road, Pudong New Area, Shanghai

Applicant before: Analog Microelectronics (Shanghai) Co., Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 300143 Tianjin Haitai Huayuan Industrial Zone No. 18 West North 2-204 industrial incubation -3-8

Patentee after: Haiguang Information Technology Co., Ltd

Address before: 300143 Tianjin Haitai Huayuan Industrial Zone No. 18 West North 2-204 industrial incubation -3-8

Patentee before: HAIGUANG INFORMATION TECHNOLOGY Co.,Ltd.