数据到安全元件的非易失性存储器中的加载的安全保护制造技术

技术编号:14029839 阅读:75 留言:0更新日期:2016-11-19 17:47
本发明专利技术涉及使来自外部设备的数据到代码存储区域中的加载安全,该代码存储区域由安全元件的初始程序定义并且其任何修改仅由初始程序控制。当外部设备获得待传送到安全元件的数据时,安全元件模拟可能将被这些数据的加载修改的代码存储区域的图像。根据该模拟的图像计算签名,然后将该签名与所述数据一起发送到安全元件。安全元件的初始程序将其在数据有效加载之后针对整个代码存储区域所计算的签名与从外部设备接收的签名做比较。这两个签名之间的一致性允许保证代码存储区域良好地符合由外部设备模拟的图像,并且因此是完整的。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及诸如智能卡之类的安全元件领域。特别地,本专利技术提供用于使将数据加载到安全元件的非易失性存储器中安全的方法和设备。
技术介绍
安全元件,例如智能卡,典型地以微型电路的形式呈现,以可移除的方式被集成在主电子设备中,或者作为变型被嵌入(例如焊接)到这种电子设备中。以示例的方式,安全元件可以是eSE(“embedded secure element”,嵌入式安全元件)或eUICC(“embedded Universal Integrated Circuit Card”,嵌入式通用集成电路卡)。安全元件包括其专有的处理器(该处理器与在其中集成或嵌入了安全元件的主电子设备的处理器是不同的)并包括用于存储处理器可执行的计算机程序的非易失性存储器。非易失性存储器的不可修改区域存储通常为小尺寸的称作“初始”或“基础”的程序,例如由安全元件的制造商存储的引导加载程序(Boot Loader)。初始程序提供允许诸如运营商或向用户供应安全元件的供应商之类的中介通过将软件元件加载到由初始程序定义的非易失性存储器的特别区域中来使安全元件个性化的功能,所述软件元件通常由经编译或解释的代码构成(即,使用处理器直接可执行的语言或机器码的码字或字节码(“bytecodes”)),例如操作系统或应用。该初始程序例如与具体操作系统相关联,该具体操作系统尤其包括允许与该初始程序通信的端口管理模块、存储器的更新管理模块、命令解释器、和保证该初始程序安全的安全模块。由安全元件的制造商来使该具体操作系统个性化,并且在其个性化完成后不允许对其进行修改。一般地,该初始程序是在安全元件的启动期间实施的第一个程序,即在可能将出现在安全元件的存储器中的所有其他程序之前。该程序是实施安全元件的其他程序所必要的。上述非易失性存储器的特别区域全部由该初始程序管理,只有该初始程序能够修改该特别区域的界限及其内容。更确切地,这些界限可以被存储在初始程序的寄存器中,或可替换地,为由初始程序执行定义这些界限的命令的结果。在全部情况中,界限的定义以及全部修改只能够由初始程序的动作引起。此外,只有初始程序能够启用(或禁用)该特别区域使得允许(或禁止)其内容的执行。一般地,上述区域专用于经编译或解释的代码的存储,为此,在下文中该区域被称作“代码存储区域”。特别重要的是,代码存储区域在其包含的软件元件的执行期间不被修改,以便确保在安全元件中这些软件元件实施的应用和操作系统的完整性。在安全元件的寿命期间,其他软件元件可以被加载到代码存储区域中。这涉及例如已存储的软件元件的新版本(软件元件的更新)或新数据。为了在启用之前(即在允许执行之前)确保今后被加载在代码存储区域中的这些软件元件的完整性和合法性,典型地由初始程序实施检验机制。例如,文件FR 2 993 682描述了在安全元件启动期间执行的引导加载程序,其允许当安装的操作系统变得过期时,从更新设备获得操作系统新版本的代码。在允许启用操作系统的新版本之前,由引导加载程序逐代码块以及针对全部代码检验操作系统的该新版本的代码的完整性。然而,完整性检验只涉及所接收并加载的新的软件元件。因此,因为完整性检验仅针对新加载的软件元件,所以由攻击者在加载新软件元件之前存储到代码存储区域中的恶意软件(malware)类型的软件元件,在该完整性检验期间未被引导加载程序检测到。因此存在安全缺陷。同样地,当攻击者修改或损坏(例如通过攻击激光)已经存储在该代码存储区域中的软件元件时,存在安全缺陷。事实上,针对加载的新软件元件的完整性检验不允许识破该代码存储区域的内容的修改或损坏。因此存在改善安全元件的安全保护控制,并且尤其是在将数据加载到该存储区域中期间软件元件完整性的需要。
技术实现思路
因此,本专利技术的目的是克服这些缺点中的至少一个缺点。在该背景下,本专利技术的第一方面涉及一种使数据到安全元件的非易失性存储器中的加载安全的方法,所述非易失性存储器包括称作代码存储区域的存储区域,该代码存储区域由安全元件的初始程序定义并且其任何修改仅由所述初始程序控制,所述方法包括由安全元件的外部设备实施的以下步骤:-获得待传送到安全元件的数据;-模拟通过将所获得的数据加载到安全元件的该代码存储区域而被修改代码存储区域的图像;-计算整个代码存储区域的模拟的图像的签名;和-向所述安全元件传送所获得的数据和所计算的签名。相应地,本专利技术的第二方面涉及一种使数据到安全元件的非易失性存储器中的加载安全的方法,所述非易失性存储器包括称作代码存储区域的存储区域,该代码存储区域由安全元件的初始程序定义并且其任何修改仅由所述初始程序控制,所述方法包括由安全元件实施的以下步骤:-从外部设备接收数据和签名;-将从外部设备接收的数据加载到代码存储区域的一部分中;-数据加载后,计算整个代码存储区域的签名;和-借助所接收的签名检验所计算的签名,使得仅在这两个签名相同的情况下准许执行代码存储区域的内容。因此,本专利技术允许控制加载到安全元件中的数据的完整性,以及在这些数据加载之后代码存储区域的完整性,所述数据只占据该存储区域的仅一部分。该优点是借助以下获得的:基于针对整个存储区域的图像的模拟来计算签名,该整个存储区域可能得自由全部数据的加载,而不是如现有技术中的仅考虑所加载的数据获得的。因此外部设备模拟代码存储区域的比特中的每个比特的位置和值,所述每个比特可能通过加载待加载的数据修改或者未被修改。因为存在其值和/或其位置非期待的代码,这导致在外部设备处针对所模拟的图像计算的签名与由安全元件自己在数据有效加载之后针对存储区域计算的签名不同,所以在代码存储区域内可以检测到代码存储区域中的其值和/或其位置非期待的代码。因此,当由设备根据对应于数据加载之后存储器状态的代码存储区域的模拟的图像所计算的签名,与这些数据有效加载之后的代码存储区域的签名不同的情况下,代码存储区域的启用,即其内容的执行、和因此特别地,加载到安全元件中的数据的执行是不可能的(即被禁止)。因此使得加载数据以执行该数据变得安全。本专利技术因此允许检测出经编译或解释的代码的仅一部分(或者更一般的,非期待的数据)已经被存储在了代码存储区域的非期待的位置处,或者其不具有所期待的值。例如,由安全元件的初始程序在检验针对在所述加载之后获得的整个存储区域计算的签名期间,借助从外部设备接收的预先的签名来检测恶意软件元件的存在,或者甚至在数据加载期间已经在存储器中的软件元件的修改或损坏。根据本专利技术的实施方式的其他特征在从属权利要求中描述。在本专利技术的具体实施方式中,响应于数据获得请求,所述数据被传送到安全元件,并且获得请求包括识别安全元件的信息。在本专利技术的具体实施方式中,响应于数据获得请求,所述数据被传送到安全元件,并且获得请求包括代表安全元件的代码存储区域的当前图像的软件配置的唯一标识符。因此,外部设备能够收回该当前图像并有效地进行由数据加载修改的存储器的图像的模拟。实际上,代码存储区域的比特的设置及实际值可以是准确已知的。在本专利技术的具体实施方式中,在来自外部设备的加密命令中,签名与所获得的数据的启用要求(即,允许执行的要求)一起被传送到安全元件。因为启用要求和在启用(即允许执行)之前的检验所必需的签名被联合地保护,所以该设备使允许执行的过程安全本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201580015759.html" title="数据到安全元件的非易失性存储器中的加载的安全保护原文来自X技术">数据到安全元件的非易失性存储器中的加载的安全保护</a>

【技术保护点】
一种使数据到安全元件的非易失性存储器中的加载安全的安全方法,所述非易失性存储器包括称作代码存储区域的存储区域,该代码存储区域由安全元件的初始程序定义并且该代码存储区域的任何修改仅由所述初始程序控制,所述方法包括由安全元件的外部设备实施的以下步骤:‑获得待传送到安全元件的数据;‑模拟通过将所获得的数据加载到安全元件的该代码存储区域中而修改的代码存储区域的图像;‑计算整个代码存储区域的所模拟的图像的签名;和‑向所述安全元件传送所获得的数据和所计算的签名。

【技术特征摘要】
【国外来华专利技术】2014.03.25 FR 14525191.一种使数据到安全元件的非易失性存储器中的加载安全的安全方法,所述非易失性存储器包括称作代码存储区域的存储区域,该代码存储区域由安全元件的初始程序定义并且该代码存储区域的任何修改仅由所述初始程序控制,所述方法包括由安全元件的外部设备实施的以下步骤:-获得待传送到安全元件的数据;-模拟通过将所获得的数据加载到安全元件的该代码存储区域中而修改的代码存储区域的图像;-计算整个代码存储区域的所模拟的图像的签名;和-向所述安全元件传送所获得的数据和所计算的签名。2.一种使数据到安全元件的非易失性存储器中的加载安全的安全方法,所述非易失性存储器包括称作代码存储区域的存储区域,该代码存储区域由安全元件的初始程序定义并且该代码存储区域的任何修改仅由所述初始程序控制,所述方法包括由安全元件实施的以下步骤:-从外部设备接收数据和签名;-将从外部设备接收的数据加载到代码存储区域的一部分中;-在数据加载后计算整个代码存储区域的签名;和-借助所接收的签名检验所计算的签名,使得仅在这两个签名相同的情况下准许执行代码存储区域的内容。3.根据权利要求1或2中任一项所述的安全方法,其特征在于,所述数据是响应于数据获得请求而被传送到安全元件的,并且数据获得请求包括识别安全元件的信息。4.根据权利要求1至3中任一项所述的安全方法,其特征在于,所述数据是响应于数据获得请求而被传送到安全元件的,数据获得请求包括软件配置的唯一标识符,该软件配置代表安全元件的代码存储区域的当前图像。5.根据权利要求1至4中任一项所述的安全方法,其特征在于,在来自外部设备的加密命令中,签名与所获得的数据的启用要求一起被传送到安全元件。6.根据权利要求1至5中任一项所述的安全方法,其特征在于,数据与数据应当被加载到的代码存储区域中的一个位置或更多个位置的指示一起被外部设备传送。7.根据权利要求1至6中任一项所述的安全方法,其特征在于,所述代码存储区域被划分成P个子区域,并且签名计算步骤包括获得针对每个子区域的基础签名,和通过组合P个基础签名来获得针对模拟的或非模拟的整个代码存储区域的所述签名。8.根据权利要求7所述的安全方法,其特...

【专利技术属性】
技术研发人员:S·尼罗特
申请(专利权)人:欧贝特科技公司
类型:发明
国别省市:法国;FR

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

1