首页> 中国专利> 对智能卡进行编程的方法和可编程的智能卡

对智能卡进行编程的方法和可编程的智能卡

摘要

本文提出了一种对智能卡进行编程的方法,所述智能卡包括安全元件和连接到所述安全元件的微处理器单元,该方法包括:(a)安全元件从主机设备接收固件图像;(b)安全元件验证固件图像;(c)如果固件图像是有效的,则安全元件将固件图像转发到微处理器单元;(d)微处理器单元从安全元件接收固件图像;(e)微处理器单元从固件图像中提取固件;以及(f)微处理器单元将固件安装到所述智能卡的存储器单元中。此外,本文还揭示了相应的可编程的智能卡。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-11-23

    授权

    授权

  • 2015-11-18

    实质审查的生效 IPC(主分类):G06F21/57 申请日:20150402

    实质审查的生效

  • 2015-10-14

    公开

    公开

说明书

技术领域

本文涉及对智能卡进行编程的方法。此外,本文还涉及相应的可 编程的智能卡。

背景技术

现如今,智能卡在社会上被广泛使用。例如,智能卡可以被用作 电子身份(eID)卡。然而,终端用户对这种eID卡的接受程度还相当 低。虽然eID卡相对安全,但是由于这种卡的加密能力,它们通常不 配备有适用于输入用户凭证的用户接口,即“认证接口”。因此,大多 数eID用户仍然是通过个人计算机和便携式计算机输入他们的PIN码, 这样增加了他们的凭证被诸如特洛伊木马程序和键盘记录程序等恶意 软件截获的风险。

已经知道可以将认证接口结合到智能卡中。例如,EP2575084A1 描述了一种技术,这种技术使用嵌入式的触觉感知的用户接口将秘密 信息例如用户凭证输入到安全令牌中,特别是智能卡中,以达到用存 储的相同的秘密信息来验证该秘密信息的目的。特别是,安全令牌的 实施例包括被配置为接收用户编码的秘密信息的触觉感知的用户接口, 被配置为通过对用户编码的秘密信息进行解码来产生解码的秘密信息 的解码单元,被配置为将解码的秘密信息与存储在令牌中的秘密信息 进行比较以验证用户的真实性的比较单元。因此,安全令牌提供卡上 匹配功能。

所述智能卡通常包括标准的微处理器单元,该单元可以例如控制 触觉感知的用户接口。通常是在将这样的微处理器单元集成到智能卡 中之前,用固件对其进行编程。通常,微处理器单元具有专门的用于 编程的调试接口,如果微处理器单元已经被安装到智能卡上,那么该 调试接口是不能被访问的。因此,很难在微处理器单元被安装到智能 卡上之后,例如在智能卡已经使用时,对微处理器单元进行编程或再 编程。

发明内容

本文提出了一种对智能卡进行编程的方法,所述智能卡包括安全 元件和连接到所述安全元件的微处理器单元,该方法包括:(a)安全元 件从主机设备接收固件图像;(b)安全元件验证固件图像;(c)如果固件 图像是有效的,则安全元件将固件图像转发到微处理器单元;(d)微处 理器单元从安全元件接收固件图像;(e)微处理器单元从固件图像中提 取固件;以及(f)微处理器单元将固件安装到所述智能卡的存储器单元 中。

根据一个示例性实施例,固件图像包括先前安装的固件的更新, 以及安全元件还从主机设备接收固件更新请求,验证所述固件更新请 求的证书,并且只有当所述证书有效时才执行步骤(a)、(b)和(c)。

根据另一个示例性实施例,安全元件通过计算固件图像的校验和 并将所计算的校验和与固件图像中存储的校验和进行比较来验证固件 图像。

根据另一个示例性实施例,安全元件在计算固件图像的校验和并 将所计算的校验和与固件图像中存储的校验和进行比较之前还对固件 图像进行解密。

根据另一个示例性实施例,安全元件通过接触式接口单元和/或非 接触式接口单元从主机设备接收所述固件图像。

根据另一个示例性实施例,接触式接口单元和/或非接触式接口单 元受安全元件控制。

根据另一个示例性实施例,微处理器单元在从安全元件接收固件 图像之前进入IAP模式。

根据另一个示例性实施例,安全元件指示微处理器单元进入IAP 模式,并且当微处理器单元处于IAP模式时安全元件通知主机设备, 以使主机设备启动对智能卡的编程。

根据另一个示例性实施例,微处理器单元包括引导加载程序,该 引导加载程序在微处理器单元启动期间自动启动。

根据另一个示例性实施例,存储器单元被包括在微处理器单元中。

此外,本文还揭示了一种可编程的智能卡,所述智能卡包括安全 元件和连接到所述安全元件的微处理器单元,其中:安全元件被配置 成从主机设备接收固件图像;安全元件被配置成验证固件图像是否是 有效的;如果固件图像是有效的,则安全元件将固件图像转发到微处 理器单元;微处理器单元被配置成从安全元件接收固件图像;微处理 器单元被配置成从固件图像中提取固件;以及微处理器单元被配置成 将固件安装到所述智能卡的存储器单元中。

根据一个示例性实施例,该智能卡是电子身份卡,支付卡或门禁 卡。

附图说明

下面将参照附图详细描述本发明,其中:

图1示出了智能卡的示例性实施例;

图2示出了固件安装方法的示例性实施例;

图3示出了固件更新方法的示例性实施例。

参考标号列表

100     智能卡

102     安全元件

104     微处理器单元

106     接触式接口单元

108     非接触式接口单元

110     连接

112     连接

114     连接

200     固件安装方法

202     进入IAP模式

204     发送固件图像到安全元件

206     验证固件图像

208     安装固件

300     固件更新方法

302     发送固件更新请求到安全元件

304     检查证书

具体实施方式

根据本发明,提出了一种对智能卡进行编程的方法以及相应的可 编程的智能卡。智能卡包括安全元件和连接到安全元件的微处理器单 元。在操作过程中,安全元件从外部的主机设备接收固件图像。此外, 安全元件还验证固件图像。此外,如果固件图像是有效的,则安全元 件将固件图像转发到微处理器单元。此外,微处理器单元从安全元件 接收固件图像,并将包含在所述固件图像中的固件安装到所述智能卡 的存储器中。

因此,安全元件可以作为主机设备和微处理器单元之间的防火墙, 安全元件可以接收固件图像并对其进行验证。这样,安全元件可以保 护微处理器单元免受未授权访问。特别是,可以在微处理器单元已经 被安装到智能卡上之后安装新的固件或固件更新,同时保持足够的安 全等级。

安全元件可以实现为嵌入式芯片,更具体地说是实现为安装或预 先安装有智能卡级别的应用的防篡改集成电路,智能卡级别的应用例 如是支付应用,智能卡级别的应用具有规定的功能和规定的安全等级。 这样的安全元件的例子是由NXP半导体公司制造的SmartMXTM或 SmartMX2TM系列的集成电路。这样的安全元件可以被配置为(根据 ISO7816)控制接触式接口单元和/或(根据ISO 14443)控制非接触 式接口单元。安全元件还可以执行安全功能,诸如加密功能和验证功 能。因此,安全元件可以控制与主机设备的通信以及验证接收到的固 件图像,这样可以提高安全等级。

注意,术语“图像”在广义上可以指容器或包,利用容器或包来传 输固件。也就是说,利用这样的容器或包,可以很容易地将固件从一 个实体传输到另一个实体。例如,固件图像可以由部署包组成,可以 通过安全元件将该部署包从主机设备传输到微处理器单元。

图1示出了智能卡100的示例性实施例。智能卡100包括安全元 件102和微处理器单元104。此外,智能卡100可以包括例如国际标 准ISO 7816中标准化的接触式接口单元106,以及例如国际标准ISO 14443中标准化的非接触式接口单元108。安全元件102可以能够控制 接触式接口单元106和非接触式接口单元108。安全元件102通过连 接110耦接到微处理器单元104,连接110可以是串行的通用异步收 发器(UART:Universal Asynchronous Receiver/Transmitter)连接。该 连接110也可以是I2C连接,SPI连接或其他连接。此外,安全元件 102通过连接112和114分别被耦接到接触式接口单元106和非接触 式接口单元108。

图2示出了固件安装方法200的示例性实施例。在该实施例中, 微处理器单元104进入到202在应用编程(IAP:In-Application  Programming)模式,该模式便于将固件安装到所述智能卡的存储器单 元中。存储器单元可以被包括在微处理器单元中。例如,存储器单元 可以包括片上闪速存储器,该存储器通常被用作程序存储器。此外, 主机设备,更具体地说,在所述主机设备上运行的主机应用程序通过 接触式接口单元106或非接触式接口单元108将固件图像发送到204 安全元件102。主机设备例如可以是个人计算机。安全元件102验证 206该固件图像。如果该固件图像是有效的,则固件可以被安装到208 存储器中。

安全元件102可以按如下方式来验证206固件图像。安全元件102 可以计算固件图像的校验和,并将所计算的校验和与固件图像中存储 的校验和进行比较。可以利用传统的哈希或签名函数来计算校验和。 此外,固件图像可能已经由固件提供者使用密钥进行了加密。密钥可 能已经提供给了安全元件102,密钥可能已经被安全地存储在安全元 件102中了。安全元件102可以在计算校验和以及比较所计算的校验 和与存储的校验和之前,使用密钥对固件图像进行解密。此外,例如, 微处理器单元104可以计算其他的校验和,以检查所转发的固件图像 是否包含传输错误。

在图2所示的示例性实施例中,微处理器单元104进入202在应 用编程(IAP)模式。IAP模式可以提供便利的方式在存储器中安装固 件。为了进入IAP模式,微处理器单元应当已经包含应用程序。例如, 应用程序可以是在晶片试验期间被预先安装到微处理器单元中的。然 后,例如可以利用下述固件更新方法用新的应用程序来代替预先安装 的应用程序。微处理器单元还可以装载有空的程序存储器。在这种情 况中,微处理器单元可以在启动期间验证应用程序是否是可用的。例 如,如果没有应用程序是可用的,则微处理器单元的引导加载程序可 以自动地启动,并且所述引导加载程序可以等待下载应用程序。术语 “引导加载程序”在广义上可以指执行自我测试过程的计算机程序,该 程序在完成自我测试过程之后,可以为计算机加载主操作系统或运行 环境。

图3示出了固件更新方法300的示例性实施例。除了参考图2描 述的步骤以外,固件更新方法300包括主机设备发送302固件更新请 求到安全元件102的步骤,以及安全元件验证304该请求的证书的步 骤。如果证书是有效的,则可以执行图2描述的步骤。这样,可以以 足够的安全等级来执行现场升级(即升级智能卡上已经在使用的固件)。 证书可以是数字证书,例如,可以是基于上述密钥和安全元件102的 唯一标识符(UID)的数字。例如,密钥和UID可以作为输入提供给 传统的加密函数。该加密函数的输出(数字)可以作为数字证书。主 机设备可以拥有数字证书,并将数字证书连同固件更新请求一起发送 给安全元件,或者作为固件更新请求的组成部分发送给安全元件。安 全元件例如可以通过提取UID并将所提取的UID与安全元件自己存 储的UID进行比较来验证304证书。由于每个智能卡都包含具有不同 的UID的安全元件,因此使用UID作为加密函数的输入可以使得证 书对于每个智能卡都是唯一的,这样可以提高攻击者的攻击难度。特 别是,可以对抗使用丢失的或被偷的密钥将单个固件图像拷贝到多个 智能卡中这样的攻击。

应当注意的是,本文中的附图都是示意性的。在不同的附图中, 相似的或相同的部分具有相同的参考标号。此外,应当注意的是,在 本文中对示例性实施例进行了简要描述,并没有对本领域的惯用技术 手段和公知常识的实施细节做详细描述。应当理解的是,对于这些实 施方式,本领域技术人员为了实现特定的目标会作出各种特定的实施 决定,以符合系统要求或商业要求。然而对于本领域技术人员来说, 对这些实施方式的变形并不超出本发明的保护范围。

最后,应当注意的是,本领域技术人员将能够设计出许多替代实 施例而不会脱离本发明的权利要求的保护范围。在权利要求书中,置 于括号中的任何附图标记不应被解释为是对权利要求的限制。本文中 所使用的“包括”或“包含”并不排除存在其他部分或步骤。组成部分前 面没有量词并不排除存在多个这样的部分。本发明可以通过包括若干 不同组成部分的硬件来实现,和/或可以通过适当编程的处理器来实现。 在列举了若干装置的设备权利要求中,这些装置可以由一个硬件单元 和相同的硬件单元来实施。事实是,某些手段在相互不同的从属权利 要求中被叙述并不表示这些措施的组合不能被有利地使用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号