用于防止来自存储器的未授权数据访问的方法与流程

文档序号:17131659发布日期:2019-03-16 01:19阅读:404来源:国知局
用于防止来自存储器的未授权数据访问的方法与流程

本发明涉及一种用于防止来自计算系统的存储器的未授权数据访问的方法和计算系统,其中具体地说所述计算系统可被配置为智能卡。



背景技术:

存储器装置可分类成两种广泛类别:易失性和非易失性。易失性存储器装置可能需要用以保存数据的电力,而非易失性存储器能够在不存在电源的情况下保存数据。

差错码校正(ecc)引擎是通信信道、存储器中的普遍机制且为本领域的技术人员所熟知。ecc引擎是执行检测故障/差错并校正差错的过程以确保在发射/重复接收/检索期间的数据完整性的装置。

在基于存储器的集成芯片(ic)中,非易失性(nv)存储器对于存储用于产品配置的制造商数据且对于存储可由终端客户更新的用户数据可起重要作用。

另外,冗余位可与非易失性存储数据相关联从而作为常规机制确保数据完整性。这些冗余位可以是奇/偶校验位或差错码校正(ecc)位(例如1位校正、2位检测)。

us2007/0061672a1公开一种具有差错检测的非易失性存储器,其中存储器装置中的差错检测电路可使用存储在存储器中的奇偶校验数据或ecc数据来操作,且其中差错检测的结果由存储器控制器接受以用于控制器的数据修复操作。

一般来说,这类ic中的全部或大部分可具有不同操作模式,如用户模式(具有最多限制且具有对存储器的受限访问)和测试模式(具有较小限制以用于调试且具体地说具有对存储器的完全访问)。因此,测试模式对于企图对芯片上的数据进行访问的黑客较有利可图。如果获得对测试模式的非有意访问,那么存储器中的任何关键配置或数据都可能易受攻击,这可能导致ic制造商的企业风险以及存储在集成电路上的终端客户个人数据的风险。

因此,可能需要一种用于防止来自计算系统的存储器的未授权数据访问的方法且可能需要一种被配置成用于防止来自计算系统的存储器的未授权数据访问的计算系统,其中可以减少上述问题中的至少一些。



技术实现要素:

根据本发明的一实施例,提供一种用于防止来自可以第一操作模式和至少一种第二操作模式操作的计算机系统的存储器的未授权数据访问的方法,所述方法包括:以第一操作模式从存储器控制器请求存储在存储器区域中的净荷数据;通过存储器控制器从存储器区域检索净荷数据;通过存储器控制器从存储器区域检索与净荷数据相关的第二检查数据;根据第一检查机制检查使用第二检查数据的净荷数据失败,而根据第二检查机制对使用所述第二检查数据的净荷数据的检查通过。

具体地说,公开一种对于来自存储器对数据的访问的保护机制,其中系统可适当地切换到多种预定义模式中的一种,从而保证数据/资产的安全且可在数据在遭到入侵之后被尝试非有意访问时触发复位。

所述方法可例如实施在硬件和/或软件中且可尤其在芯片上执行。计算系统可包括台式计算机、笔记本计算机、蜂窝电话、智能手机、平板计算机、智能卡等。第一操作模式和第二操作模式可以是访问或登录到计算系统的不同模式。当在第一操作模式中或在第二操作模式中时,可关于(不同用户或存储器区域的特定文件的)读取/写入/执行赋予不同权利。第一操作模式关于访问(如读取和/或写入和/或执行)计算系统的存储器可具有相当小的限制,以使得第一操作模式尤其适用于测试计算系统。

在已测试计算系统之后且在将计算系统传送到终端用户之后,所述计算系统在正常条件下可仅以第二操作模式,例如用户模式运行。在此第二操作模式中,计算系统可以不损害其基本功能或数据,这是因为在第二操作模式中,仅可使能或允许对存储器的受限访问。然而,潜在攻击者可设法以可允许对基本上整个存储器区域进行访问的第一操作模式登入到计算系统中。攻击者可能对访问(具体地说读取)来自存储器区域的数据感兴趣,所述数据如用户数据、配置数据等。

为了防止未授权数据访问,本发明的实施例可使用与数据一起的奇偶校验/ecc位(一般还称为检查数据)以确保存储器内容的完整性,其中另外,奇偶校验/ecc位可连同数据一起反转且存储以增加数据鲁棒性。

净荷数据可例如包括用户数据、系统操作数据、系统配置数据、制造商数据等。可例如从未授权攻击者请求净荷数据。存储器区域可受存储器控制器控制且可使用或经由存储器控制器来执行对存储器区域的所有访问。存储器区域可包括若干区段,如用于净荷数据的区段和用于检查数据的至少一个区段。奇偶校验/ecc位(一般是任何种类的检查数据)可与数据一起使用以确保数据完整性。

检查数据可以表示可能已基于存储在存储器区域中的净荷数据且使用例如散列函数或校验和导出的冗余数据。当检查数据(具体地说第二检查数据)最初存储在存储器区域内时,其可能已从净荷数据中导出。第二检查数据可能已使用已应用于净荷数据的第二检查机制导出。因此,最初或先前,净荷数据可能已存储在存储器区域中,且另外,已使用第二检查机制从净荷数据中导出的第二检查数据可能已存储在存储器区域中。

第二检查机制可例如默认与第二操作模式相关联。然而,当攻击者以第一操作模式访问计算系统或登录到计算系统中时,默认地,不论何时存储器区域受到访问都可应用第一检查机制,例如当读取来自存储器区域的数据时。存储器控制器或一般来说计算系统整体可被配置成应用特定检查机制,即取决于是处于第一操作模式还是处于第二操作模式而应用第一检查机制或第二检查机制。在特定操作模式与检查机制之间的此默认设定或默认关联可默认地提供,然而并非不包含此默认设定可以使用可能对攻击者来说未知的特定软件命令覆写的情况。

当使用第一检查机制处理净荷数据以产生对应检查数据时,这些检查数据并不与第二检查数据匹配(具体地说不等于第二检查数据),所述第二数据可能在于工厂中制造或配置计算系统期间已存储在存储器区域中或在计算系统的正常使用期间由终端用户存储。因此,根据第一检查机制使用第二检查数据来检查净荷数据会失败。然而,此失败并非由于存储器区域受损害而是由于未使用正确检查机制。然而,当对净荷数据使用第二检查机制来导出检查数据时,这些数据与第二检查数据相对应或相等。因为潜在攻击者并不了解第二检查机制且攻击者并不知道应用了第二检查机制来导出第二检查数据,所以由攻击者执行或触发的对净荷数据的读取将失败,这是因为对净荷数据应用第一检查机制(而非第二检查机制)且将结果与最终失败的第二检查数据进行比较。

所述失败可向用户指示或可阻断计算系统的特殊(或所有)功能或甚至可以复位计算系统。因此,攻击者不能访问计算系统的存储器。

根据本发明的一实施例,当在第一操作模式中时,计算系统(具体地说存储器控制器)被默认地配置成根据第一检查机制检查净荷数据,其中当在第二操作模式中时,计算系统(具体地说存储器控制器)被默认地配置成根据第二检查机制检查净荷数据。

可使用对攻击者来说未知的特定命令改变默认。可存在超过两种检查机制且所述检查机制中的每一种可与一个或多个操作模式相关联。待使用的特定检查机制可能不仅取决于操作模式,而且可取决于特殊调用命令或可取决于哪一存储器区域被尝试访问且可取决于其它准则。

根据本发明的一实施例,计算系统包括存储用于存储器控制器的配置的至少一种寄存器,所述配置为:当在第一操作模式中时将使用第一检查机制,以及当在第二操作模式中时将使用第二检查机制。

寄存器可例如在存储器控制器与外围设备和/或时钟/复位机制之间配置或包括外围总线。试图访问存储器的任何软件(在存储器控制器的控制下)可能都需要通过外围总线,所述外围总线也可被视为软件与硬件之间的边界。当第一操作模式默认地使用第一检查机制且第二操作模式默认地使用第二检查机制时,可有利地禁止或至少减少未授权访问。

至少一个寄存器提供简单实施方案以当在第一操作模式中时应用第一检查机制且当在第二操作模式中时应用第二检查机制。举例来说,至少一个寄存器可包括使第一操作模式与第一检查机制相关联且使第二操作模式与第二检查机制相关联的关联表。在其它实施例中,操作模式与检查模式之间不存在关联。

根据本发明的一实施例,第一检查机制被配置成从净荷数据导出第一检查数据,其中第二检查机制被配置成从净荷数据导出第二检查数据,其中在至少一个位转换或多个位转换或所有位转换或具体地说包括“and)”和/或“or”的更多逻辑运算和/或在位对上的类似运算中的一种中,第一检查数据不同于第二检查数据。

第一以及第二检查机制可应用确定性计算以从净荷数据导出对应检查数据。此可涉及应用散列函数或形成校验和等。具体地说,第二检查数据可以是第一检查数据的反转形式,即其中所有位已反转,将“0”设定成“1”且将“1”设定成“0”。可替换的是,所述位中的仅一些可反转且其它位可能不变。任何双射函数或映射可应用于从第一检查数据导出第二检查数据,且反之亦然。由此,可提供所述方法的简单实施方案。

根据本发明的一实施例,第一检查机制与第二检查机制两者包括相同散列函数和/或校验和算法,但存储应用不同转换和/或修改之后的结果。当两种检查机制(即第一和第二检查机制)包括相同散列函数和/或校验和算法时,方法可进一步简化。转换和/或修改可包括例如上文已解释的单个位反转或多个位反转。

根据本发明的一实施例,请求净荷数据与特异性针对第一操作模式的具体命令相关。相较于第二操作模式,第一操作模式可具有可供使用的较多命令。特定额外命令可与特定检查模式相关。因此,不论何时调用可涉及从存储器访问一些净荷数据的额外命令的特定命令,都可应用(命令)相关检查机制。由此,可提供较高柔性且可进一步降低对未授权攻击的防护。使用请求或访问净荷数据的命令仅仅是本发明在本发明的智能卡ic中的例子用途,因为所述ic必须基于命令与读取器交互。然而,一般来说,可在具有或不具有命令的情况下访问净荷。

根据本发明的一实施例,净荷数据包括操作系统图像的至少部分,针对所述操作系统图像的至少一部分已根据第二检查模式确定并存储第二检查数据。操作系统图像可能已使用或应用例如第二检查机制存储在存储器(具体地说eeprom)中,从而将第二检查数据作为冗余数据存储在存储器中。净荷数据可包括例如配置数据、用户数据或默认用户数据等其它数据,所述其它数据可能已在制造期间或在传送到终端客户之前或之后存储在存储器中。当在第二操作模式中时,潜在攻击者可能由于操作系统所赋予的限制而不具有访问整个存储器的权限,因此,所述攻击者会试图以第一操作模式侵入系统。然而,读取净荷数据中的任一个都可能会失败,因为所述净荷数据最初已使用第二检查机制写入。

根据本发明的一实施例,检查数据包括差错校正位和/或检测位,具体地说是ecc位和/或/校验位。差错校正位和/或检测位可适用于校正差错或至少检测差错。差错码校正(ecc)位以及奇偶校验位通常已知且提供可靠检测/校正能力。

根据本发明的一实施例,第一操作模式与第二操作模式关于存储器访问具有不同限制,其中第一操作模式具体地说是具有较小限制的测试模式,具体地说具有对存储器区域的完全访问,其中第二操作模式具体地说是具有对存储器的受限访问的限制的用户模式。

在计算系统已传送到终端客户之后,所述计算系统在正常操作条件下仅可以第二操作模式(如用户模式)操作。在用户模式中,可禁止对基本系统数据(如操作(operating/operation)系统数据)的访问。由此,可进一步防止计算系统受损害。

根据本发明的一实施例,提供至少一种(或甚至超过一种,如2、3、4或甚至更多种)第三检查机制,所述第三检查机制可以不同于第一检查机制以及第二检查机制。不同检查机制可能已在计算系统的制造或初始配置期间或在由终端用户正常使用计算系统期间应用,且可例如特异性针对不同存储器区域或特定针对具体系统命令。由此,可提供另外的防护。

根据本发明的一实施例,存储器包括非易失性存储器,具体地说是eeprom。存储器可包括其它类型的存储器,如rom、ram或类似物。

根据本发明的一实施例,计算系统被配置成在一或多次失败,具体地说是一或多次多位故障之后执行复位。由此,可有效地禁止潜在攻击者读取关键净荷数据,如用户数据或系统数据。

应理解,在用于防止来自计算系统的存储器的未授权数据访问的方法的上下文中,独立地或以任何组合公开、描述或解释的特征也独立地或以任何组合应用于根据本发明的实施例的计算系统,且反之亦然。

根据本发明的一实施例,提供一种可以第一操作模式和至少一种第二操作模式操作且被配置成用于防止来自计算系统的存储器的未授权数据访问的计算系统,所述计算系统包括:存储器区域;存储器控制器,其被配置成:从存储器区域检索当在第一操作模式中时所请求的净荷数据;从存储器区域检索与净荷数据相关的第二检查数据;根据第一检查机制检查使用第二检查数据的净荷数据,从而检测到失败,而在根据第二检查机制对使用第二检查数据的净荷数据的检查通过。

根据本发明的一实施例,计算系统被配置为智能卡。

此外,提供一种程序元件(例如以java、c、c++、perl、phyton等写入),所述程序元件在由处理器执行时适用于控制或实施前述实施例中的一个的方法。

此外,提供一种计算机可读介质(例如cd、快闪存储器、嵌入式存储器等),其中存储有计算机程序,所述计算机程序在由处理器执行时适用于控制或实施前述实施例中的一个的方法。

附图说明

本发明将在下文中参考实施例的例子更详细地描述,但本发明不限于所述例子。

图1示意性地示出根据本发明的一实施例的计算系统,所述计算系统被配置成实施用于防止来自根据本发明的一实施例的存储器的未授权数据访问的方法;

图2示意性地示出用于防止来自根据本发明的一实施例的存储器的未授权数据访问的方法的流程图;且

图3示意性地示出用于防止来自根据本发明的另一实施例的存储器的未授权数据访问的方法的流程图。

具体实施方式

图式中的图示为示意性的。在不同图式中,使用类似或相同附图标号来表示类似或相同的元件。

根据本发明的一实施例示意性地示出在图1中的计算系统1可以第一操作模式和至少一种第二操作模式操作,且被配置成用于防止来自计算系统的存储器的未授权数据访问。由此,计算系统包括其中可存储如净荷数据和/或检查数据的数据存储器区域3。在所示出的实施例中,存储器区域包括rom5、eeprom/快闪7以及ram9。

计算系统1另外包括控制对存储器区域3的访问的存储器控制器11。具体地说,存储器控制器11包括控制rom5的rom控制器13、控制ram9的ram控制器15以及控制eeprom/快闪7的eeprom控制器17。具体地说,eeprom控制器17包括如下文将更详细地解释的实施第一检查机制和第二检查机制的数据检查模块19。

存储器控制器11被配置成当在第一操作模式中时从存储器区域3检索所请求的净荷数据,从存储器区域3检索与净荷数据相关的第二检查数据,且根据第一检查机制(包括在数据检查模块19中)检查使用第二检查数据的净荷数据,从而检测到失败,而根据第二检查机制(包括在数据检查模块19中)对使用第二检查数据的净荷数据的检查通过。

数据检查模块19也可称作ecc块,其指示ecc引擎。当软件配置对应sfr时,eeprom控制器17适当地设定ecc模式,其中sfr指主要用于在软件与硬件之间同步交换的特殊功能寄存器。

在从/向eeprom7读取/写入时,eeprom控制器17负责适当ecc模式。根据本发明的一实施例,假定ecc位(例如作为检查数据)与存储器区域3,具体地说是非易失性存储器区域3中的数据相关。本发明的实施例在对软件代码规模和系统性能的影响极小但对保护非易失性存储器(如存储器区域3)中的数据/资产改进巨大的情况下提供简单且有效的机制。本发明的实施例可通过维持如正常ecc模式(例如第一检查机制)和反转ecc模式(例如第二检查机制)的至少两种模式以用于ecc位操控(即第一检查机制和至少一种第二检查机制)来保护存储器内容。

计算系统另外包括全部位于数字块16内的cpu20、外围总线2、时钟/复位模块4、外围设备6。数字块与模拟块8通信。包括操作系统12和固件14的软件8也与数字块16通信。

图2示意性地示出用于防止来自根据本发明的一实施例的存储器的未授权数据访问的方法21的流程图。方法21通过以第一操作模式从存储器控制器11请求23存储在存储器区域3中的净荷数据开始。方法继续到通过存储器控制器11从存储器区域3检索25净荷数据。在下一步骤27中,从存储器区域3中检索与净荷数据相关联的第二检查数据。在最后的方法步骤29中,根据第一检查机制来检查使用第二检查数据的净荷数据,进而失败,而根据第二检查机制对使用第二检查数据的净荷数据的检查通过。

图3示出用于防止来自根据本发明的另一实施例的存储器的未授权数据访问的方法的流程图。方法流程31开始于复位33,其中如图1中所示的计算系统1的计算系统复位。在以反转ecc模式准备eeprom图像之后,执行复位。因此,操作系统图像存储在eeprom7上,且第二检查数据使用或应用第二检查机制导出且还写入到存储器3。此外,硬件被配置以便当在存储器读取中检测到多位故障时触发复位。因此,硬件以使得如果在从非易失性存储器读取的数据上检测到多位故障,那么其应导致系统复位的此方式设计。

方法继续到启动开始35继而是操作模式决策37,其中在方块39中检查硬件状态且在方块41中执行存储器配置检查。在潜在黑客访问系统时,其也能够通过图3中所示的方法流程31的步骤33到41运行。

在系统启动(start-up/boot)程序期间,如果程序流程进入用户模式(例如第一操作模式)(决策框43),那么软件应将硬件配置成使得以如在框45中所指示的反转ecc模式(例如第一检查机制)访问存储器。此可与存储在前述步骤中的非易失性图像匹配且导致成功存储器读取47。

如果不进入用户模式,那么其便分支到框49,其中执行复位或执行集成电路的冻结。

然而,如果程序流程进入决策框51中的测试模式(例如第一操作模式),那么软件应将硬件配置成使得以如在框53中所指示的正常ecc模式(例如第一检查机制)访问存储器,所述正常ecc模式可与第一检查机制相对应。在不切换到反转ecc模式(即第二检查机制)的情况下,将导致系统复位55,因为存储器在框54中读取失败。

如果攻击者设法利用一些故障注入机制进入测试模式,那么所有步骤33到55将导致“傻瓜陷阱”,这是因为攻击者并不了解ecc位操控的两种模式。由此,攻击者不能读取非易失性存储器数据且不易于暴露安全资产。

在常规系统中,当在用户模式中或在测试模式中时,将使用相同检查机制以使得攻击者将不会遭遇在框54中的存储器读取失败,因为框53当在用户模式中时将也如框45执行例如反转ecc模式。在图3中,存储器读取失败54为攻击者提供阻碍或禁止所述攻击者以防止其它数据访问,从而形成一种简单的防火墙。

本发明的实施例可在对软件代码规模和系统性能的影响极小,但却获得巨大改进且保护非易失性存储器中的数据/资产的情况下提供简单机制。因为本发明的实施例可用于所有基于非易失性存储器的产品中,所以本发明的实施例提供巨大市场潜能。本发明的实施例可易于延伸到不同类型的非易失性存储器,如rom、eeprom、快闪。

实施例也可延伸到易失性存储器但需要谨慎评估,这是因为易失性数据可能充当地址指针或全局/局部变量。本发明的实施例在谨慎评估的情况下可延伸到特定外围设备/协处理器。

本发明的实施例防止来自特定存储器/外围设备的数据访问(通过触发系统复位)。实施例并不阻碍对其它外围设备/协处理器的访问,且因此这种访问可用于经由一些预定义测定命令来检测侵犯。

反转ecc仅仅是提供不同检查机制的例子。反转可由逻辑运算的任何其它组合替换。

尽管已作为例子使用ecc的两种模式解释了实施例,但其可易于延伸到给定ic支持的任意数目种模式。

尽管作为例子特征使用ecc解释了实施例,但其可易于延伸到对于最终产品所必须但在调试/实验室验证期间可禁用的任何产品特征。

本发明的实施例可与对于终端用户不可访问的任何测试模式(例如第一操作模式)特定命令相关。在使用这些测试命令之前,可适当地切换在前述优点中所提及的对应特征。

尽管作为例子使用非易失性存储器解释了实施例,但本发明的实施例可易于应用或延伸到不同种类的存储器,如ram、rom快闪、…等。

本发明的实施例从系统视角以较高特权模式(测试模式)解决未授权数据访问(例如通过黑客)的问题。

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