更新安全元件中的备份和故障保护回滚的制作方法

文档序号:37417021发布日期:2024-03-25 19:05阅读:7来源:国知局
更新安全元件中的备份和故障保护回滚的制作方法

本发明总体上涉及安全元件,并且具体地涉及装配有更新代理处理机(updateagent handler)和更新代理的安全元件,该更新代理用于从外部设备接收软件更新并且用于在安全元件中发生更新失败的情况下实现回滚机制。


背景技术:

1、智能卡广泛用于诸如移动电话、支付卡、访问卡的各种系统中,以提供识别、认证、数据存储和应用程序处理。

2、在智能卡包含安全关键应用程序和敏感数据的情况下,诸如在支付卡等的情况下,使用安全元件来存储数据。安全元件是防篡改元件tre,其提供安全的存储器和执行环境,其中可以安全地存储和管理应用程序代码和应用程序数据。安全元件确保仅在被授权时才提供对存储在卡上的数据的访问。

3、这样的安全元件可以以任何外形存在,诸如uicc、嵌入式se、smartsd、智能microsd等。

4、安全元件可以包括一个或多个安全域(sds),每个安全域包括使用安全密钥进行认证的数据集合,诸如操作系统、个性化数据、包、小应用程序、应用程序等。因此,操作系统和应用程序存储在安全元件内的易失性和非易失性存储器模块中,并且在安全元件的安全处理器中执行。

5、规范global platform card technology open firmware loader for tamperresistant element v1.3(在下文中由[1]引用)描述了用于将固件(即,可以包含操作系统和应用程序数据的用例相关数据)加载到安全元件中的标准化机制。具体地,开放固件加载器ofl被提供在安全元件内部,并且被配置为接收操作系统的映像和个性化数据,以对映像执行安全检查(特别是认证和完整性检查),并且触发将映像内容安装到安全元件的存储器中,以便在安全元件中安装操作系统和个性化数据。

6、如[1]中描述的规范定义了关于如何以防篡改方式更新安全元件的方式。然而,在更新过程失败的情况下,不能将更新的软件版本(例如,更新的操作系统)加载到安全元件上。更新必须再次开始。在要更新的软件是安全元件的操作系统的情况下,由于更新过程的失败,安全元件不再能够引导操作系统。情况变得甚至更麻烦,特别是如果先前安装在安全元件上并且要更新的软件版本已经被删除。在能够重新获得功能性之前,安全元件必须等待直到接收到另一更新。

7、因此,期望提供一种解决上述缺点的用于更新安全元件上的软件的解决方案。


技术实现思路

1、本发明通过独立权利要求所涵盖的主题来解决上述目的。本发明的优选实施例在从属权利要求中限定。

2、根据本发明的第一方面,提供了一种用于更新加载在安全元件se上的软件的方法,该se包括更新代理处理机和更新代理。在第一步骤中,在se处接收备份加载在se上的软件的当前版本的请求。该请求优选地从se外部的设备发送。在接收到备份请求时,se执行当前软件版本的安全备份,并将软件备份返回到设备,以存储在其上。在进一步的步骤中,se执行当前软件版本的更新过程,以获得更新的软件版本。如果更新过程失败,则在se处执行回滚以将软件备份恢复为se上的新的当前软件版本。

3、所提出的方法提供了在更新失败的情况下在安全元件上恢复先前版本的软件(诸如os)的有效解决方案。更具体地,所提出的方法允许备份软件的当前工作版本,并且执行回滚以在稍后的时间恢复软件的工作版本,而无需安全元件oem的任何干预。因此,实现了安全元件针对错误软件更新的稳定的功能性和鲁棒性。

4、在本发明的一些实施例中,执行安全备份包括更新代理处理机指示更新代理以创建对应于当前软件版本的恢复映像。

5、优选地,通过封装当前软件版本并用密码密钥保全它来创建恢复映像。更新代理处理机然后可以将恢复映像作为备份软件返回到设备。

6、通过封装当前软件版本并用更新代理处理机的私有密码密钥保全它,为该备份获得了防篡改的安全映像。以这种方式,确保回滚过程将安全地恢复备份映像,而没有第三方操纵备份映像的任何风险。

7、在本发明的一些实施例中,在进一步的步骤中,在se处接收更新当前软件版本的请求,更新请求包括软件更新。使用该软件更新来执行更新过程。

8、优选地,在se处接收到更新请求时,该方法还包括验证更新请求,并且如果请求被允许,则执行更新过程。

9、在更新请求验证的优选实施方式中,更新代理处理机验证更新请求和其中包含的软件更新的完整性和机密性。

10、通过向更新代理处理机提供验证和认证更新请求的能力,确保了数据传输的完整性和机密性,从而提高了更新规程的整体安全性。

11、在一些实施例中,在se处执行当前软件版本的更新过程包括基于软件更新来更新当前软件版本,删除当前软件版本并将更新后的软件版本作为新的当前软件版本加载到se中。

12、可以识别可能导致更新过程失败的若干场景。

13、在一些实施例中,如果在执行软件更新过程期间,软件更新过程在完成之前被中止,则确定更新过程已经失败。

14、在优选实施方式中,如果在完成软件更新过程之后,更新代理处理机重新引导新的当前软件版本并且在重新引导过程期间发生引导失败,则确定更新过程已经失败。在这种情况下,更新代理处理机可以指示更新代理以执行回滚。

15、在又一优选实施方式中,如果在完成软件更新过程之后,新的当前软件版本被成功引导,并且se确定存储在se中的数据和小应用程序与新的当前软件版本之间存在数据不一致,则确定更新过程已经失败。优选地,数据不一致性由更新代理处理机通过确定se中的其他更新是否可操作(即,完全起作用)而不受新更新的阻碍来检测。如果其他更新不可操作,则更新代理处理机可以指示更新代理执行回滚。

16、根据在执行更新期间可能发生的上述几种场景,直接由更新代理或通过更新代理处理机的中介触发回滚过程以恢复先前备份的软件版本。

17、特别地,在本发明的一些实施例中,执行回滚以将软件备份恢复为se上的当前软件版本包括在se处从设备接收软件备份并指示更新代理执行将软件备份加载到se中。优选地,在更新代理加载器处接收备份软件,作为要加载到se上的每个软件的入口点,其中更新代理加载器指示(即,传递控制)更新代理来执行更新。

18、优选地,备份软件的完整性和机密性可以由更新代理使用其密码密钥来另外检查。以这种方式,确保回滚过程将安全地恢复备份映像,而没有第三方操纵备份映像的任何风险。

19、根据本发明的第二方面,提供了一种安全元件se,其包括更新代理处理机和更新代理。更新代理处理机被配置为从设备接收备份se上加载的软件的当前版本的请求,指示更新代理生成当前软件版本的软件备份,以及将软件备份返回到设备,以存储在其上。此外,更新代理处理机被配置为从设备接收更新当前软件版本的请求,该更新请求包括软件更新,并且配置为指示更新代理通过使用软件更新来执行当前软件版本的更新过程。更新代理处理机还被配置为:如果更新过程失败,则指示更新代理执行回滚以将软件备份恢复为se上的新的当前软件版本。

20、在本发明的一些实施例中,更新代理处理机还被配置为执行根据第一方面的任何一个优选实施例的方法。

21、根据本发明另一方面,提供了一种装置,其包括至少一个处理器、包括计算机程序代码的至少一个存储器,并且具有至少一个存储器和计算机程序代码的至少一个处理器被布置为使得装置至少执行:请求安全元件se执行se上加载的软件的当前版本的备份;从所述se接收在se上加载的当前软件版本的备份,并将软件备份存储在存储器中;请求se更新当前软件版本,并从se接收更新结果;以及如果更新结果指示更新处理失败,则指示se执行回滚以将存储在存储器中的软件备份恢复为在se上的新的当前软件版本。

22、必须注意,本技术中描述的所有设备、元件、单元和装置可以以软件或硬件元件或其组合来实现。由本技术中描述的各种实体执行的所有步骤以及所描述的功能性旨在表示相应的实体适于或被配置为执行相应的步骤和功能性。

23、在结合附图阅读本发明的优选实施例和变体的以下详细描述后,本发明的其他方面、特征和优点对于本领域普通技术人员将变得显而易见。

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