CN1954345A - 智能卡数据事务系统以及用于提供存储和传输安全的方法 - Google Patents

智能卡数据事务系统以及用于提供存储和传输安全的方法 Download PDF

Info

Publication number
CN1954345A
CN1954345A CN200480043033.9A CN200480043033A CN1954345A CN 1954345 A CN1954345 A CN 1954345A CN 200480043033 A CN200480043033 A CN 200480043033A CN 1954345 A CN1954345 A CN 1954345A
Authority
CN
China
Prior art keywords
chip
key
card
distributor
later stage
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
CN200480043033.9A
Other languages
English (en)
Other versions
CN1954345B (zh
Inventor
V·V·迪卢奥佛
C·W·费勒斯特恩
D·M·赖利
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.)
Qindarui Co
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1954345A publication Critical patent/CN1954345A/zh
Application granted granted Critical
Publication of CN1954345B publication Critical patent/CN1954345B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)

Abstract

本发明披露了一种使用芯片中继模块、多个硬件安全模块、具有两个安全层的第一通信系统和具有四个安全层的第二通信系统来将后期发布数据安全传输到嵌入式芯片的智能卡系统。所述第一通信系统可以被视为服务器侧系统并且包括芯片管理系统、具有第一硬件安全模块的安全服务器、具有第二硬件安全模块的分发服务器和通过网络连接的计算机系统。所述第一通信系统具有第一安全层和第二安全层。所述第一安全层包括相互认证,所述相互认证通过客户端相互认证使所述第一通信系统的每个组件成为其他组件的受信节点。所述第二安全层包括用于所述硬件安全模块之间的安全通信的系统密钥。所述第二通信系统可被视为客户端侧系统并包括通过网络连接到所述分发服务器的计算机系统、PC/SC读卡器驱动器、Web浏览器应用以及芯片中继模块,并且用于所述分发服务器与插入读/写卡器的智能卡的芯片之间的安全通信。所述第二通信系统具有第三、第四、第五和第六安全层。

Description

智能卡数据事务系统以及用于提供存储和传输安全的方法
技术领域
本发明一般地涉及智能卡,更具体地说,涉及使用智能卡中的嵌入式芯片来执行安全数据事务的系统。
背景技术
如今使用的大多数智能卡是类似信用卡的、其中嵌入电子电路的矩形扁平塑料片。典型的智能卡包括连接到存储器的微处理器,所述微处理器执行指令并对存储在存储器中的至少一个软件应用程序的数据执行操作。智能卡提供了在诸如银行、销售和安全等领域执行事务的小型便携计算资源。智能卡通常以信用卡、键形令牌和某些类型的蜂窝电话中使用的用户识别模块(SIM)的形式出现。
许多智能卡具有布置在上表面的一组导电触点。与此类智能卡通信的智能读卡/写卡器具有一组类似布置的导电触点。当将智能卡插入智能读卡/写卡器时,两组触点的相应部分彼此物理接触。智能卡和读/写卡器在互操作性方面的主要标准是针对具有触点的集成电路卡的国际标准化组织(ISO)7816标准。ISO7816标准规定了在物理、电气和数据链路协议级别的互操作性。其他类型的智能卡是“无触点的”。在此情况下,智能卡和智能读卡/写卡器都包括用于无线通信(即,无电触点)的无线通信接口。
许多智能卡为数据提供了安全存储,包括用于执行安全事务的加密密钥,并且能够执行加密操作。一般地说,加密是一种通常用于通过加密消息以保护消息中的信息来保护敏感信息的技术。加密的一种方法是使用密钥将信息算术地转换为无法读取的格式。密钥包括但不限于代码或一系列字符。只有拥有密钥的人才能解密消息以显示信息。
在一种可能的情况中,智能卡的发行者将使用一个或多个发行者的主密钥对发行后要传输到智能卡的数据进行加密,以便确保只有发行者授权的更改才被应用于已发行的智能卡。由于发行者的主密钥也可以被用于对已发行的智能卡做出未授权的更改,所以发行者的主密钥的安全性是非常重要的。
美国专利No.6,131,090说明了一种用于提供对存储在智能卡中的信息的受控访问的方法和系统。所述信息以加密的形式存储。数据处理中心提供访问代码,其中包括由授权的服务提供商解密所述信息的密钥。智能卡接收和验证访问代码,使用所述访问代码解密所请求的信息,输出所请求的信息,并作为对访问会话唯一的信息的函数来计算新的加密密钥。
美国专利No.6,481,632披露了一种智能卡体系结构,其中卡的发行者授权应用提供商对智能卡进行许可的更改。将应用加载到智能卡涉及卡接受设备发出加载命令。加载命令包括用于验证该加载命令的附加命令认证模式。所述卡接受设备将应用提供给智能卡。所述应用包括用于验证该应用的附加应用认证模式。验证之后,将应用加载到智能卡的存储器中。
发明内容
因此,本发明提供了一种用于将后期发布数据从分发服务器安全传输到智能卡的装置,所述装置包括:插入读卡器的智能卡;嵌入所述智能卡并与所述读卡器电连接的芯片;连接到所述读卡器并通过网络连接到所述分发服务器的计算机;所述计算机存储器的浏览器中的芯片中继模块;其中所述芯片中继模块建立与所述分发服务器的安全会话;并且其中在XML消息中传输所述后期发布数据,所述XML消息具备从发行者主密钥导出的代码。
优选地,所述代码为消息认证代码。
优选地,所述代码为加密的消息认证代码。
在优选实施例中,从第一卡密钥导出所述消息认证代码。优选地,从所述发行者的主密钥导出所述第一卡密钥。
在优选实施例中,从第二卡密钥导出所述加密的消息认证代码。
优选地,从所述发行者的主密钥导出所述第二卡密钥。
在优选实施例中,从安全服务器中的第一硬件安全模块获得所述发行者的主密钥并将其传输到所述分发服务器中的第二硬件安全模块。
优选地,使用系统公钥来加密所述发行者的主密钥。
优选地,在所述第二硬件安全模块中使用系统私钥来解密所述发行者的主密钥。
在优选实施例中,所述芯片中继模块通过第二相互认证在所述芯片与所述分发服务器之间建立安全通信。
优选地,所述芯片中继模块使用会话密钥来建立会话上下文安全。
在优选实施例中,数据标记是所述分发服务器与所述芯片之间的安全传输的前提条件。
在优选实施例中,标志是所述分发服务器与所述芯片之间的安全传输的前提条件。
在优选实施例中,使用第一相互认证来进行所述分发服务器与所述浏览器之间的安全通信。
在优选实施例中,将芯片管理系统连接到所述网络。
优选地,所述芯片管理系统还包括多个芯片持有者文件。
优选地,所述芯片持有者文件还包括卡文件。
优选地,所述卡文件还包括参考密钥(reference key)。
优选地,所述参考密钥用于获得所述发行者的主密钥。
优选地,所述芯片管理系统和所述分发服务器共享用于第一相互认证的装置。
优选地,加密所述后期发布数据以便从安全服务器传输到所述分发服务器。
优选地,对所述后期发布数据进行数字签名以便从安全服务器传输到所述分发服务器。
优选地,加密所述后期发布数据并对其进行数字签名以便从安全服务器传输到所述分发服务器。
在优选实施例中,所述后期发布数据是大容量数据并且使用系统对称密钥来加密所述大容量数据。
在优选实施例中,使用系统对称密钥来加密所述后期发布数据并且使用系统公钥来对其进一步加密。
优选地,提供了一种系统和/或方法,使得最终用户能够在任何平台上以所有事务都是安全的、被认证和授权的方式来管理授权最终用户管理的芯片上的信息,同时确保所述发行者的主密钥仍为安全的。
优选地,本发明提供了一种使用芯片中继模块、多个硬件安全模块、具有两个安全层的第一通信系统和具有四个安全层的第二通信系统来将后期发布数据安全传输到嵌入式芯片的智能卡系统。
优选地,所述第一通信系统可以被视为服务器侧系统并且包括芯片管理系统、具有第一硬件安全模块的安全服务器、具有第二硬件安全模块的分发服务器和通过网络连接的计算机系统。所述第一通信系统优选地具有第一安全层和第二安全层。所述第一安全层优选地包括相互认证,所述相互认证通过客户端相互认证使所述第一通信系统的每个组件成为其他组件的受信节点。所述第二安全层优选地包括用于所述硬件安全模块之间的安全通信的系统密钥。
根据一个优选实施例,所述第二通信系统可被视为客户端侧系统并包括通过网络连接到所述分发服务器的计算机系统、PC/SC读卡器驱动器、Web浏览器应用以及芯片中继模块。所述第二通信系统用于所述分发服务器与插入读/写卡器的智能卡的芯片之间的安全通信。所述第二通信系统优选地具有第三、第四、第五和第六安全层。
根据一个优选实施例,所述第三安全层包含使用相互认证的所述分发服务器与所述Web浏览器应用之间的安全通信。
优选地,所述第四安全层包含使用在所述分发服务器与所述芯片中继模块之间生成的会话密钥的会话上下文安全。
优选地,所述第五安全层包含所述分发服务器与所述芯片之间的安全传输所必需的数据标记或标志。
优选地,所述第六安全层包含所述分发服务器与所述芯片之间的消息认证代码或加密的消息认证代码消息。
优选地,所述第一通信系统是允许所述智能卡系统的各元件之间的安全通信的服务器侧系统。所述第二通信系统或客户端侧系统优选地允许所述芯片与所述分发服务器之间的安全通信。所述分发服务器是所述两个通信系统之间的公共元素并且是信息从一个系统传输到另一个系统的管道。
根据一个优选实施例,所述第一通信系统中的操作使用所述第一安全层和所述第二安全层。优选地,所述芯片管理系统、所述分发服务器、所述安全服务器和所述计算机系统可以根据相互的客户端认证使用所述第一安全层来通信。优选地,在所述安全服务器的所述硬件安全模块之间传输数据并且所述分发服务器的所述硬件安全模块由所述第二安全层来保护。
优选地,所述第二安全层使用一组系统密钥,所述系统密钥允许对数据加密、数字签名或同时加密和数字签名以在所述硬件安全模块之间传输。优选地,所述系统密钥是系统认证密钥、系统加密密钥和系统数字签名密钥。所述系统认证密钥优选地用于建立所述服务器侧系统的受信节点之间的相互认证。所述系统加密密钥优选地包括系统公钥和系统私钥。还优选地提供了系统对称密钥以加密大容量数据。所述系统公钥优选地用于加密传输到其他硬件安全模块的数据,其中在接收硬件安全模块处使用所述系统私钥来解密所述数据。使用所述系统公钥进行加密之前优选地使用所述系统对称密钥加密大容量数据。所述系统数字签名密钥优选地允许数据进行传输同时保护其完整性。对于所述安全服务器与所述分发服务器之间涉及大容量数据的数据传输,所述硬件安全模块优选地位于所述安全服务器中,所述安全服务器使用所述系统公钥来包装用于加密要传输的大容量数据的所述系统对称密钥,并且建立签名以便将要传输的数据传输到所述分发服务器。对于所述安全服务器与所述分发服务器之间涉及传输少量数据或者涉及传输发行者主密钥的数据传输,优选地使用所述系统公钥来加密所述要传输的数据。
根据一个优选实施例,所述分发服务器处的硬件安全模块使用所述系统私钥并对来自所述安全服务器的传输数据执行签名验证和解包装。优选地以扩展标记语言来传输数据。
传输的数据优选地包括但不限于发行者的主密钥、芯片持有者文件以及未包括在所述芯片持有者文件中的后期发布数据。所述第二安全层优选地确保从不以明文传输所述发行者的主密钥。所述分发服务器的硬件安全模块还优选地使用所述发行者的主密钥来生成用于与所述芯片通信的卡密钥。
根据一个优选实施例,所述第二通信系统中的操作使用所述第三、第四、第五和第六安全层。
优选地,由与所述读卡器的驱动器交互并使用浏览器密钥在所述芯片与所述分发服务器之间建立安全通信的所述芯片中继模块使用客户端相互认证来建立所述第三安全层。所述芯片中继模块优选地是与浏览器、操作系统和读卡器驱动器交互的安全小程序。所述浏览器密钥可以包括签名的小程序。优选地在将智能卡插入读卡器并由所述芯片与网站之间的相互认证认证所述智能卡之后建立所述第三安全层。认证之后,优选地由认证后下载到浏览器应用程序的芯片中继模块来建立所述第三安全层。所述第三安全层优选地允许传输芯片信息编号,以便可以标识与所述智能卡对应的芯片持有者简档。
所述芯片中继模块优选地还建立包括会话密钥的第四安全层。所述芯片中继模块优选地通过生成用于与所述分发服务器通信的唯一单个用户登录会话密钥来在所述芯片与所述分发服务器之间建立特定于用户登录会话的安全通信链路。每次用户登录新的会话时,优选地生成唯一密钥以跟踪在用户与所述分发服务器之间的数据交互。然后,所述分发服务器优选地使用所述会话密钥来跟踪和授权用户通过所述芯片中继模块执行的任何和所有操作。
此外,所述芯片中继模块还优选地生成第五安全层,所述第五安全层是指定所述芯片中继模块已建立与所述芯片的安全会话的数据标记或标志。只有在读取到此数据标记或标志时,所述分发服务器才会处理诸如后期发布操作之类的其他安全操作。一旦所述芯片中继模块建立了所述安全会话,就可以通过将应用协议数据单元(APDU)消息直接传输到属于第六安全层的芯片来优选地加载或删除应用。
优选地将数据从所述分发服务器传输到属于第六安全层的芯片,其中所述数据是编码的消息认证或是使用一组在所述分发服务器的硬件安全模块处生成的卡密钥来加密的编码的消息认证,以便所述生成的卡密钥与在个性化智能卡时安装在芯片上的卡密钥相匹配。可以通过是GlobalPlatform规范标准一部分的APDU来启动第六安全层的认证协议。以扩展标记语言来发送所述消息。
根据另一个方面,提供了一种用于在分发服务器与芯片之间安全传输后期发布数据的方法,所述方法包括:将具有芯片的智能卡插入连接到计算机和网络的读卡器;以及响应于在所述分发服务器处认证所述芯片,使用芯片中继模块建立所述芯片与所述分发服务器之间的安全通信。
优选地,所述方法还包括接收在具备从发行者主密钥导出的代码的XML消息中的所述后期发布数据。
优选地,所述方法还包括:在所述分发服务器的硬件安全模块处生成一组卡密钥;使用所述卡密钥来加密包含所述后期发布数据的XML消息;以及将所述后期发布数据从所述分发服务器传输到所述芯片。
根据另一个方面,提供了一种用于在分发服务器与芯片之间安全传输后期发布数据的方法,所述方法包括:配置具有分发服务器、安全服务器、芯片管理系统和第一安全层的第一通信系统;配置具有所述分发服务器的第二通信系统和具有芯片中继模块的客户端卡系统;使用所述芯片中继模块在所述第二通信系统中建立第三安全层;使用芯片信息编号从所述芯片管理系统获得所述后期发布数据;使用卡密钥加密所述后期发布数据以便从所述分发服务器传输到所述芯片;并且其中通过从所述安全服务器获得的发行者主密钥来生成所述卡密钥。
优选地,所述方法包括:配置所述第一通信系统中的第二安全层。
优选地,所述方法包括:配置所述第二通信系统中的第四安全层。
优选地,所述方法包括:配置所述第二通信系统中的第五安全层。
优选地,所述方法包括:配置所述第二通信系统中的第六安全层。
优选地,所述方法包括使用第一系统密钥来建立所述第二安全层。
优选地,所述方法包括使用会话密钥来建立所述第四安全层。
优选地,所述方法包括使用数据标记或标志来建立第五安全层。
优选地,所述方法包括使用MAC来建立第六安全层。
优选地,所述方法包括使用加密的MAC来建立第六安全层。
优选地,所述方法包括使用第二系统密钥来加密所述后期发布数据。
优选地,所述方法包括使用第二系统密钥来包装已使用对称密钥加密的后期发布数据。
根据另一个方面,提供了一种用于将后期发布数据从分发服务器安全传输到智能卡的装置,所述装置包括:连接安全服务器、分发服务器和芯片管理系统的第一通信系统;连接所述分发服务器和具有读卡器的客户端卡系统的第二通信系统;嵌入所述智能卡并电连接到所述读卡器的芯片;其中将由系统密钥加密的所述后期发布数据从所述芯片管理系统传输到所述分发服务器;并且其中将由卡密钥加密的所述后期发布数据从所述分发服务器传输到所述芯片。
优选地,所述芯片具有一组已安装的卡密钥。
根据一个优选实施例,为了将所述后期发布数据从所述分发服务器安全地传输到所述芯片,所述后期发布数据必须被消息认证编码。
优选地,为了使用消息认证编码所述后期发布数据,使用发行者的主密钥来生成一组与所述芯片中的一组卡密钥对应的卡密钥。
优选地,为了生成所述卡密钥组,从所述安全服务器请求所述发行者主密钥。
根据一个优选实施例,响应于所述分发服务器对所述发行者主密钥的请求,所述安全服务器中的第一硬件安全模块使用系统加密密钥来加密所述发行者主密钥,并将所述加密的发行者主密钥传输到所述分发服务器。
根据一个优选实施例,响应于所述分发服务器接收所述加密的发行者主密钥,所述分发服务器中的第二硬件安全模块解密所述发行者主密钥。
根据一个优选实施例,响应于在所述第二硬件安全模块中解密所述发行者主密钥,所述硬件安全模块使用所述发行者主密钥来生成一组卡密钥。
根据一个优选实施例,使用系统公钥来加密后期发布数据以便从所述安全服务器传输到所述分发服务器。
根据一个优选实施例,使用一组卡密钥来加密后期发布数据以便从所述分发服务器传输到所述芯片。
根据一个优选实施例,当后期发布数据是大容量数据时,首先使用系统对称密钥来加密所述大容量数据,然后使用系统公钥进行加密。
根据一个优选实施例,在所述分发服务器处使用系统私钥来解密已加密的后期发布数据。
根据一个优选实施例,在所述分发服务器处使用系统私钥和系统对称密钥来解密是大容量数据的后期发布数据。
附图说明
现在将仅通过实例的方式并参考以下附图来说明本发明的优选实施例:
图1A是智能卡系统的一个实施例的示意图;
图1B是智能卡的示意图;
图2A是图1的计算机系统的一个实施例的示意图;
图2B是与CRM交互的软件栈的示意图;
图3是图1的读/写卡器的一个实施例的示意图;
图4是示出图1的系统中执行的智能卡事务的初始部分的示意图;
图5示出了用于管理智能卡事务的方法的一个实施例的流程图;
图6是示出了安全服务器与分发服务器之间的安全传输的示意图;
图7A是分发服务器请求发行者主密钥的方法的一个实施例的流程图;
图7B是将发行者的主密钥从安全服务器传输到分发服务器的方法的一个实施例的流程图;
图8是示出了在分发服务器(DS)与计算机系统之间建立安全通信会话的示意图;
图9是示出了将后期发布数据从芯片管理系统(CMS)传输到智能卡的示意图;
图10A是图9的XML消息的一个实施例的示意图;
图10B是图9的XML消息的第二实施例的示意图;
图11示出了将后期发布数据从分发服务器安全传输到智能卡的方法的流程图;
图12示出了用于生成卡密钥的方法的一个实施例;
图13示出了用于将后期发布数据从安全服务器传输到分发服务器的方法的一个实施例;以及
图14示出了用于将后期发布数据从分发服务器安全传输到智能卡的嵌入芯片的方法的一个实施例。
具体实施方式
本文将使用以下定义:
“应用协议数据单元(APDU)”指符合在ISO78 16-4中定义的标准通信协议的消息。
“卡密钥”指从发行者主密钥(IMK)、发行者标识号(IIN)和芯片信息编号(CIN)生成的一组密钥,包括但不限于卡密钥加密密钥(CKEK)、卡MAC密钥(CMK)和卡加密密钥(CEK)。
“卡密钥加密密钥”(CKEK)指用于创建会话密钥的密钥。
“卡MAC密钥”(CMK)指用于确保APDU消息的完整性的密钥。
“卡加密密钥”(CEK)指用于加密APDU消息的密钥。
“卡简档”指芯片的XML表示,包括芯片的所有属性、芯片的操作系统、芯片的物理特征、芯片的应用简档和芯片的密钥简档。
“芯片”指包含在智能卡中的处理器和存储器,其中处理器连接到存储器并且能够与读/写卡器进行有线或无线通信。
“芯片持有者”指发行者向其发行智能卡的人但不包括实际或潜在的未授权用户。
“芯片持有者简档”指与分配给芯片持有者的芯片有关的信息和芯片所有的数据/状态,包括但不限于个性化的授权数据和芯片持有者的可用选项。如在此所使用的,术语芯片持有者简档应指可以包含芯片持有者简档信息、一个或多个卡简档、一个或多个应用和/或一个或多个脚本的文件。
“芯片信息编号”(CIN)指分配给每个独立芯片的唯一编号。
“芯片管理系统”(CMS)指管理芯片生命周期(包括但不限于存储和管理与芯片持有者关联的卡简档)的系统。
“芯片中继模块”(CRM)指通过临时过程与智能卡读取器通信并具有在浏览器中运行的受信签名代码以便CRM可以在智能卡读取器与服务器之间交互的小程序。
“客户端卡系统”指具有用于与智能卡通信的接口的计算机。
“计算机”指至少具有处理器、存储器和能够与用户或其他计算机交互的操作系统的机器,包括但不限于台式计算机、笔记本计算机、大型机、服务器、个人数字助理(PDA)、手持电脑以及蜂窝电话。
“密码操作”包括但不限于加密和解密操作。
“客户参考编号”(CRN)指分配给每个芯片持有者的唯一编号。
“解密”指对应加密的相反过程,通过加密算法可逆地变换密文以检索原始的明文数据。
“数字签名”是旨在向数据接收方证明数据的起源和完整性的数据的不对称变换。
“分发服务器”(DS)指是CMS的受信节点并且能够从CMS获取芯片持有者简档并将来自芯片持有者简档的信息包装到APDU中的服务器。DS具有智能网关模式(其中用户可以直接与服务器联系)或路由器模式(其中诸如自动取款机(ATM)之类的其他设备执行与用户的交互)。
“加密”指加密算法可逆地变换数据以产生密文。
“授权数据”表示当前应用(多个)和芯片状态、最终用户可以添加/删除的何种应用以及可能的可以管理功能,如对芯片或应用的新的应用更新或状态更改,权利数据包含在芯片持有人简档中。
“GlobalPlatformTM规范”指允许智能卡与应用之间的一致行为的准则。
“硬件安全模块”(HSM)指硬件保护的加密操作和密钥存储。
“输入设备”指用于将信息输入智能卡或计算机的设备,包括但不限于键盘、鼠标、轨迹球、触摸板、触点设备、记录笔以及触摸屏。
“发行者标识号”(IIN)指分配给发行者的唯一编号。
“发行者的主密钥”指芯片发行者的私钥。
“发行者特定的数据”指符合GlobalPlatformTM规范的标准标记,包括但不限于发行者标识号(IIN)、芯片信息编号(CIN)和加密密钥。
“密钥”指控制密码变换操作的位序列。
“密钥加密密钥”(KEK)指用于为了密钥分发目的加密其他密钥类型的密钥。
“消息认证代码”(MAC)指保护数据的发送方和接收方免于第三方伪造的数据加密变换。
“相互认证”指使用可用协议(包括但不限于安全套接字层(SSL)版本3、浏览器密钥和签名小程序)通过智能卡系统的一个元件识别另一个元件。
“输出设备”指用于显示数据的设备,包括但不限于阴极射线管(CRT)、液晶显示屏(LCD)和打印机。
“个人信息编号”(PIN)指分配给每个独立智能卡的唯一编号。“个性化”指为芯片持有者配置智能卡,包括但不限于将卡加密密钥置于卡中。
“个性化授权数据和可用选项信息”指芯片持有者信息,包括但不限于当前的智能卡状态报告、授权芯片持有者添加和/或删除的软件应用程序的列表,和/或可以执行的与芯片或已安装的软件应用程序有关的管理功能。
“后期发布数据”指用于添加、修改或删除存储在芯片中的数据的指令和数据。
“私钥”指不对称密钥对的秘密组件,其可用于解密使用相应的公钥加密的消息,并且还可用于出于认证目的对消息进行数字签名。
“公钥”指不对称密钥对的公共组件,其可用于加密要发送给其相应私钥的所有者的消息,并且还可用于验证消息数字签名以认证消息发送方。
“脚本”指应用的一组指令。
“安全服务器”(SS)指存储发行者的主密钥的服务器。
“服务器”指支持智能卡的本地或远程后端系统。
“智能卡”指用于个人或商业事务且至少包括处理器和存储器的卡,所述处理器和存储器能够支持操作系统、应用程序,存储芯片持有者个性化数据、应用数据和智能卡发行者所需的其他数据。
“智能卡系统”指包括芯片管理系统、分发服务器、安全服务器和通过网络连接的计算机系统的系统。
“对称加密”指将同一密钥同时用于发送方和接受方变换的加密技术。
“系统密钥”指一组用于创建受信节点以在智能卡系统中通信的加密密钥,包括但不限于系统认证密钥、系统加密密钥和系统数字签名密钥。
“未授权的用户”指可以拥有智能卡、但不是智能卡发行者指定可以访问卡的功能(由与卡中的存储器连接的微处理器创建)的人。
图1A是使用智能卡102执行数据事务的智能卡系统100的一个实施例的示意图。在图1A的实施例中,系统100包括芯片管理系统(CMS)104、安全服务器(SS)106、分发服务器(DS)108以及连接到读/写卡器112的计算机系统110。
如图1A所示,CMS104、SS106、DS108和计算机系统110都连接到通信网络114。通信网络114包括但不限于公用交换电话网络(PSTN)和/或因特网。如以下详细说明的,计算机系统110、CMS104、SS106和DS108通过通信网络114互相通信,并且通过在通信网络114中建立的安全通道执行与智能卡102的数据事务。
图1B示出了智能卡102。智能卡102包括连接到存储器122的微处理器120,并能够在存储器中存储至少一个软件应用程序。每个软件应用程序都包括指令和数据。微处理器120连接到适于与读/写卡器112连接的接口124。
在图1B的实施例中,示出了将智能卡102部分地插入读/写卡器112。通常,智能卡102能够与读/写卡器112通信,并且读/写卡器112能够与智能卡102通信。更具体地说,读/写卡器112能够从智能卡102读取数据,也可以向其写入数据。备选地,读/写卡器112可以只是读取器(如蜂窝电话)。某些蜂窝电话支持双芯片。移动通信全球系统(GSM)电话只有一个SIM芯片,因此读取器是GSM电话并且所有应用将通过GSM电话的无线链路来通信。本领域的技术人员知道其他具有双插槽的蜂窝电话,其中一个插槽用于SIM,另一个插槽用于智能卡。
例如,智能卡102可以具有一组排列在上表面的导电触点(未示出),并且读/写卡器112可以具有一组类似排列的导电触点(未示出)。智能卡102和读/写卡器112可以例如遵循用于具有触点的集成电路卡的国际标准化组织(ISO)7816标准。当将智能卡102插入读/写卡器112时,两组触点的相应元件相互物理接触。备选地,读/写卡器112和智能卡102都可以包括无线通信接口以便在没有电接触的情况下通信。此外,读/写卡器112和智能卡102优选地能够建立和执行如下所述的安全通信。
通常,计算机系统110和读/写卡器112形成了具有智能卡读/写功能的客户端卡系统。计算机系统110和读/写卡器112可以例如形成智能卡更新终端、销售点终端或自动取款机(ATM)。
图2A是图1的计算机系统110的一个实施例的示意图。在图2A的实施例中,计算机系统110包括处理器200、网络接口卡202和存储器204。存储器204存储网络通信软件206、芯片中继模块(CRM)208、安全软件210、浏览器212、操作系统214和PC/SC读卡器驱动器216。处理器200连接到存储器204并且通常取回并执行网络通信软件206、CRM208和安全软件210的指令和数据。
图2B示出了CRM208、浏览器212、操作系统214和PC/SC读卡器驱动器216的软件堆栈200。备选地,客户端堆栈可以包括用于不带有读取器的无线设备的软件。
在一个实施例中,图1A的通信网络114包括因特网,并且网络通信软件206是Web浏览器应用程序(例如,浏览器212)。适合的Web浏览器应用程序包括MicrosoftInternet Explorer(位于华盛顿Redmond的微软公司)和Netscape Navigator(位于加利福尼亚Mountain View的Netscape通信公司)。在图2A中,网络接口卡202连接在图1A的处理器200与通信网络114之间。通常,网络接口卡202适于连接到通信网络114,并形成计算机系统110的第一通信系统的硬件部分。所述第一通信系统的软件部分包括网络通信软件206。所述软件部分包括与网络接口卡202相关联的PC/SC读卡器驱动器216。通常,计算机系统110通过所述第一通信系统与CMS104、SS106和/或DS108(参见图1)通信。通过在智能卡系统100中具有第一安全层的第一通信系统中的相互认证,CMS104、SS106、DS108和计算机系统100彼此是受信节点。如图2A中所指出的,处理器200连接到读/写卡器112(参见图1A)。如上所述,读/写卡器112能够从智能卡102(参见图1A)读取数据,以及向其写入数据。另外,在以下更详细描述的一个实施例中,读/写卡器112还包括用于接收用户输入的输入设备和用于向用户呈现数据的输出设备。通常,存储在存储器204中的CRM208包括用于与读/写卡器112和/或插入读/写卡器112的智能卡进行通信的指令和数据。处理器200取回并执行CRM208的指令和数据以便与读/写卡器112和/或插入读/写卡器112的智能卡进行通信。
图1A的读/写卡器112可以例如包括连接在处理器200与读/写卡器112的其他硬件之间的接口设备。所述接口设备可以形成计算机系统110的第二通信系统的硬件部分。所述第二通信系统的软件部分可以包括CRM208和例如驱动程序(如与读/写卡器112关联的PC/SC读卡器驱动器216)。插入读/写卡器112的智能卡102可以通过如以下说明的第二通信系统与DS108通信。CRM208可以位于计算机系统110的存储器204中。在一个优选实施例中,在将智能卡102插入读/写卡器112并通过相互认证来认证了智能卡102的微处理器120后,将CRM208下载到浏览器212。适合的相互认证机制的一个实例是其上具有安全访问应用(如X509证书)和专用Web密钥的智能卡。芯片持有者正在登录的网站是所述认证机制。DS108将要求芯片持有者将芯片插入读取器并要求芯片持有者输入PIN或密码以便还可以对所述芯片认证芯片持有者。所述芯片的专用Web密钥将在芯片持有者与服务器之间交换信息以便相互认证。服务器将对网站认证所述芯片持有者。CRM208使用相互认证在智能卡102的微处理器120与DS108之间建立安全通信,以便在智能卡系统100中建立第三安全层。所述第二通信系统的安全通信允许通过DS108将芯片信息编号(CIN)传输到所述第一通信系统。
图3是图1A的读/写卡器112的一个实施例的示意图。在图3的实施例中,读/写卡器112包括智能卡输入/输出(I/O)接口300、输入设备302和输出设备304。通常,智能卡输入/输出(I/O)接口300能够从接触(有线)或接近(无线)智能卡输入/输出(I/O)接口300的智能卡读取数据,并且能够向其写入数据。
输入设备302适于接收用户输入。输入设备302包括但不限于小键盘。读/写卡器112将用户输入提供给计算机系统110(参见图1A和2A)。通常,输出设备304适于将数据提供给用户。输出设备304包括但不限于液晶显示屏(LCD)。读/写卡器112从计算机系统100(参见图1A和2A)接收输出数据并通过输出设备304将所述输出数据呈现给用户。
图4是示出了在图1A的系统100中执行的智能卡事务的初始部分的示意图。此类事务可以包括例如后期发布操作(如软件应用程序的加载和/或删除)。在图4的实施例中,DS108认证将智能卡102插入读/写卡器112的用户。此类认证可以包括例如相互认证和/或用户通过读/写卡器112的输入设备302(参见图3)输入个人标识号(PIN)。本领域的技术人员将认识到个人标识号也可以是密码,这取决于应用。在GlobalPlatformTM卡中,个人标识号可以是所述卡的全球个人标识号,并且应用可以支持全球个人标识号或可以具有其自己的个人标识号。
在图4的实施例中,智能卡102包括芯片识别编号(CIN)400。CIN400可以例如存储在智能卡102的只读存储器(ROM)中。如图4所示,在认证用户之后,计算机系统110的CRM208(参见图2A)从智能卡102请求CIN400,并且智能卡102通过为计算机系统110提供CIN400来做出响应。计算机系统110的CRM208将CIN400提供给DS108。如以下更详细地说明的,DS108将请求提供给包括CIN400的CMS104。
在图4的实施例中,CMS104包括存储多个芯片持有者简档404A、404B和404C的存储器402。
每个芯片持有者简档404都包括与不同芯片持有者关联的信息。通常,CMS104存储并维护芯片持有者简档404。每个芯片持有者简档404还包括与相应智能卡有关的数据。例如,给定的芯片持有者简档404将预期包括相应智能卡102的CIN400,与存储在智能卡的存储器系统中的软件应用程序有关的信息,与存储的应用有关的授权数据,以及智能卡的发行者所需的其他信息。在单独的过程中,在诸如SS106(参见图1)的安全服务器处测试包括应用、脚本和卡简档的芯片持有者简档,以便确保数据中没有指示安全问题(例如,病毒)的模式,并且确保置于卡上的没有发行者批准的应用不是恶意应用。
图4中由芯片持有者简档404A、404B和404C表示的每个芯片持有者简档可以包括已发行给用户的一个或多个智能卡的卡简档。每个卡简档包含应用和密钥简档(取决于应用数量和其他信息)。如有需要,所述卡简档还包含用于从安全服务器获得相应发行者的主密钥的密钥参考。特定的芯片持有者简档由CIN400来标识。所述CIN400通过第三安全层传输以便可以识别相应的芯片持有者简档。
响应于来自DS108的包括CIN400的请求,CMS104将标为404D的相应芯片持有者简档提供给DS108。在接收到与智能卡102的CIN400相对应的芯片持有者简档404D之后,DS108处理芯片持有者简档404D的信息,确定芯片持有者的个性化授权数据和可用选项,并将个性化授权数据和可用选项信息发送到计算机系统110。计算机系统110的CRM208(参见图2A)处理所述个性化授权数据和可用选项信息,从而生成输出数据并将输出数据提供给读/写卡器112以便输出给用户。
响应于传送所述个性化授权数据和可用选项的输出,用户可以例如选择特定的选项。在这种情况下,所述选项通过计算机系统110被传递到DS108并由DS108处理。所述选项可以包括但不限于将后期发布数据从CMS104传输到智能卡102。在会话发生时,DS108根据需要修改芯片持有者简档404D的信息。在会话结束时,如果已修改芯片持有者简档404D,则DS108将已更新的芯片持有者简档404D传输到CMS104,并且CMS104存储已修改的芯片持有者简档404D。通过更新存储的原始版本的芯片持有者简档404D来修改芯片持有者简档404D。
图5示出了管理智能卡事务(MSCT)的方法500的一个实施例的流程图。MSCT500可以包含在DS108(参见图1和图4)中。MSCT500开始(502)。接收插入读/写卡器112(参见图1和图4)的智能卡的芯片识别编号(CIN)(504)。将包括CIN的请求提供给具有包含多个芯片持有者简档的存储器的CMS104(参见图1A和图4)(506)。
从CMS104(参见图1A和图4)接收对应于CIN的芯片持有者简档(508)。生成个性化授权数据和可用选项信息(510)。将所述个性化授权数据和可用选项信息提供给计算机系统110(参见图1A和图4)(512)。
通过计算机系统110从读/写卡器112接收用户输入(514)。根据用户输入来修改芯片持有者简档的信息(516)。将已修改的芯片持有者简档提供给CMS104(参见图1A和图4)(518)并且MSCT500停止(520)。
图6是示出在图1的智能卡系统100中的发行者主密钥(IMK)602的安全传输的示意图。在图6的实施例中,SS106包括第一硬件安全模块(HSM1)600。HSM1 600可以例如是加密协处理器。适合的加密协处理器是IBM4758加密协处理器(位于纽约White Plains的IBM公司)。
IMK602和系统密钥604存储在SS106的HSM1 600中。当DS108需要IMK602但不具有IMK602时,DS108发送将IMK602传输到SS106的请求。SS106使用系统密钥604和/或对称密钥616加密发行者主密钥602,从而形成加密的发行者主密钥606。SS106生成包括加密的发行者主密钥606的扩展标记语言(XML)消息610。HSM600为XML消息610生成数字签名608,并且可以将数字签名608添加到XML消息610。SS106通过图1的通信网络114和安全会话将完整的安全XML消息610传输到DS108,其中所述完整的安全XML消息610包括加密的发行者主密钥606和/或数字签名608。
扩展标记语言(XML)通常用于存储结构化的数据并在计算机系统(如网络主机)之间传递所述数据。XML的语法与HTML的相似之处在于它们都包括匹配的标记组。但是,与HTML不同,XML包括扩展标记组的规定。将预先确定并由发送方和接收方两者使用由应用组使用的特定标记定义。虽然XML特别适合于数据交换操作,但是在此描述的使用XML来传输加密密钥被认为是独特的和创新的。
在图6的实施例中,DS108包括执行加密操作和提供安全加密密钥存储的第二硬件安全模块(HSM2)612。HSM2 612可以例如是加密协处理器。适合的加密协处理器是IBM4758加密协处理器(纽约White Plains的IBM公司)。
在接收安全XML消息610之前,系统密钥604存储在DS108的HSM2 612中。对称密钥616也存储在HSM2 612中。在发送将IMK602传输到SS106的请求之后,DS108将如上所述建立与SS106的安全会话。当DS108通过所述安全会话接收到安全XML消息610时,HSM2 612可以首先使用数字签名608来验证安全XML消息610。一旦HSM2 612验证了安全XML消息610,HSM2 612就使用系统密钥604解密已加密的IMK606并将IMK602的结果副本存储在HSM2 612中。
图7A是处理对IMK602的请求的CMS IMK程序(CIP)700的一个实施例的流程图。IRP700开始(702)并接收对IMK(例如,IMK602)的请求(704)。判定CIN是否包括在所述请求中(706)。如果否,则发送错误消息(708)并且CIP700转至步骤716。如果所述CIN已经包括在所述请求中,则CIP700从CMS获得芯片持有者简档(710)。从芯片持有者简档获得密钥参考,例如密钥参考800(712)。将所述密钥参考和芯片持有者简档发送到DS(714)。判定是否有其他请求(716)。如果有,CIP700转至步骤704。如果否,则CIP700停止(718)。
图7B示出了SS IMK程序(SIP)750。SIP750开始(752)并接收对IMK的请求(754)。判定是否存在密钥参考(756)。如果没有密钥参考,则发送错误信息(758)并且SIP750停止(766)。如果有密钥参考,则获取IMK(760)。使用系统密钥加密所述IMK(762)。将IMK传输到DS的HSM(764)并且SIP750停止(766)。
参考图1A-4、6和8,SS106具有第一硬件安全模块(HSM1)600并且DS108具有第二硬件安全模块(HSM2)612,所述模块用于使用系统密钥604的第二安全层,其允许对数据进行加密、数字签名,或者同时加密和数字签名以在HSM1 600和HSM2 612之间传输。系统密钥604包括系统认证密钥、系统加密密钥和系统数字签名密钥。所述系统认证密钥用于建立相互认证。所述系统加密密钥包括系统公钥和系统私钥。所述系统公钥用于加密数据以传输到其他硬件安全模块,在接收硬件安全模块处使用所述系统私钥来解密所述数据。HSM1和HSM2都具有用于加密和解密大容量数据的系统对称密钥616。
对于SS106与DS108之间的数据传输,HSM1 600使用系统公钥来加密要传输的数据,和/或建立签名以便将要传输的数据传输到DS108。在传输大容量数据时,首先使用系统对称密钥616加密所述大容量数据,然后使用系统公钥对其进行包装。HSM2 612使用系统私钥并执行签名验证和解除来自HSM1 600的传输数据的包装。以扩展标记语言来传输数据。传输的数据包括但不限于发行者的主密钥、芯片持有者文件以及未包括在芯片持有者文件中的后期发布数据。所述第二安全层确保从不以明文传输IMK602。HSM2 612还使用IMK602来生成用于与芯片120通信的卡密钥806。
应当指出,智能卡发行者可以要求通过特定的安全策略以特定方式执行软件应用程序加载。智能卡102的发行者还可以制订关于如何处理软件应用程序的业务规则。
在所述优选实施例中,在芯片管理系统处的一组规则在第二安全层和第六安全层做出选择。所述规则组选择是否要对在芯片管理系统、安全服务器和分发服务器之间传输的数据进行加密、数字签名、或者同时加密和数字签名(第二安全层)。所述规则组还选择在分发服务器和芯片之间传输的数据是否为消息认证代码或加密的消息认证代码(第六安全层)。应用提供商或芯片发行者可以制订如何通过一组安全规则来执行加载或删除操作。应用提供商或芯片发行者可以制订如何通过一组业务规则来处理一个或多个应用。所述规则由每个特定的应用发行者传送到芯片管理系统。
为了将数据从DS108安全地传输到所述芯片,必须在HSM2 612中生成卡密钥806。如果IMK602在DS108处不可用,则必须从SS106获取IMK602。SS106是智能卡系统100的证书管理组件并存储IMK602。使用第二安全层来保护将IMK602从SS106传输到DS108。
图8是示出了在DS108与计算机系统110之间建立安全通信会话的示意图。使用智能卡102的CIN400,DS108可如上所述获取相应的芯片持有者简档404D。芯片持有者简档404D具有识别相应发行者的主密钥802的密钥参考800。
发行者的主密钥802是发行者主密钥602(参见图6)。如果DS108初始地没有由密钥参考800标识的发行者主密钥802,则DS108可以从SS106获得发行者的主密钥802,如以上根据图6、7A和7B说明的。HSM2612使用发行者的主密钥802来生成卡密钥806。
如图8中所示,DS108的HSM2 612存储卡密钥804。一旦存储在DS108中,就使用卡密钥804来加密和解密在DS108与智能卡102之间交换的数据。
图9是示出了后期发布数据900从CMS104到智能卡102的传输的示意图。在图9的实施例中,在DS108和计算机系统110之间建立安全会话。如以上根据图8说明的,可以建立所述安全通信会话。
在图9的实施例中,CMS104存储后期发布数据900,并且将存储的后期发布数据900传输到DS108。由于上述原因,使用系统密钥加密传输到DS108的后期发布数据900。DS108使用系统密钥解密后期发布数据900。DS108现在需要发行者的主密钥802来创建与智能卡102的安全通信会话。如果DS108初始地没有发行者的主密钥802,则如以上根据图6和7所述的,DS108可以从SS106获得发行者的主密钥802。
在传输到DS108之前,CMS104使用系统密钥和系统对称密钥(在适当时)加密后期发布数据900。当DS108接收时,将使用系统密钥和系统对称密钥(在适当时)解密已加密的后期发布数据900。将已解密的后期发布数据提供给HSM2 612,HSM2 612使用发行者的主密钥802来生成卡密钥。HSM2 612使用所述卡密钥来生成安全XML消息902以便传输后期发布数据900。
CRM208还建立包括会话密钥804的第四安全层。CRM208通过生成用于与分发服务器通信的会话密钥804在芯片120与DS108之间建立特定于用户登录会话的安全通信链接。会话密钥804对生成的每个用于保持跟踪用户与DS108之间的数据交互的用户登录是唯一的。然后,DS108使用会话密钥804来跟踪并授权由用户通过CRM208执行的任何和所有操作。
另外,CRM208还生成第五安全层,所述第五安全层是指定芯片中继模块已建立与芯片的安全会话的数据标记或标志。只有读取到此数据标记或标志时,才会由分发服务器处理其他安全操作(如后期发布操作)。一旦CRM208建立了安全会话,就可以通过将APDU消息直接传输到属于第六安全层的芯片120来加载或删除应用。
将数据从DS108传输到属于第六安全层的芯片120,所述数据是已认证编码的消息或使用在HSM2 612处生成的卡密钥806加密的已认证编码的消息,以便在个性化智能卡102时,生成的卡密钥806与安装在芯片上的卡密钥相匹配。所述第六安全层的认证协议可以由是GlobalPlatform规范标准一部分的APDU来启动。使用扩展标记语言来发送所述消息。
如图9中所示,DS108的HSM2 612生成包括后期发布数据900的安全XML消息902。以下是安全XML消息902的适合结构的程序定义:
    <DistributionServer>
    <sessionID value="a_session_id"/>
    <secureSession value="true/false"/>
    <action value="action_to_perform">
    <data>data payload</data>
    <data>often APDUs including message authentication codes
(MACs)</data>
    ·
    ·
    </action>
    </DistributionServer>
元素"sessionID"的属性"value"的值是"a_session_id",由DS108、CRM208和智能卡102使用的会话密钥804。元素"secureSession"的属性"value"的值为真或假,并且表示类似地在DS108与智能卡102之间建立的安全会话的状态。"action"元素具有属性"value",其值指定由计算机系统110的DS108和/或CRM208(参见图2)执行的操作。如上所述,任何数据都可以驻留在"data"元素中,但所述数据通常是包括消息认证代码(MAC)的应用协议数据单元(APDU)。
HSM2 612为XML消息902生成消息认证代码(MAC),并将此MAC添加到所述消息。通常,所述MAC是通过将数学算法和加密密钥应用到后期发布数据900所导出的代码或一系列字符。可以使用用于计算MAC的若干已知方法中的任何一种方法。
图10A是XML消息902(参见图9)的一个实施例的示意图。在图10的实施例中,XML消息902包括数据部分1000和消息认证代码(MAC)1002。数据部分1000包括后期发布数据900,并且MAC1002是如上所述由DS108生成的MAC。
图10B是XML消息902(参见图9)的第二实施例的示意图。在图10的实施例中,XML消息902包括数据部分1000和加密的消息认证代码(MAC)1002。数据部分1000包括后期发布数据900,并且加密的MAC1004是如上所述由DS108生成的加密的MAC。
返回参考图9,HSM612使用卡密钥804加密XML消息902,并且DS108通过安全会话将XML消息902传输给计算机系统110。计算机系统110从DS108接收加密的XML消息902。CRM208和/或计算机系统110的安全软件214(参见图2A)解密XML消息902以获得后期发布数据900和MAC1002。计算机系统110使用MAC1002来验证后期发布数据900的真实性和完整性。
一旦验证了后期发布数据900的真实性和完整性,计算机系统110就通过读/写卡器112将已加密的后期发布数据900和已加密的MAC1002传输到智能卡102。
智能卡102接收并解密加密的后期发布数据900和加密的MAC1002以获得后期发布数据900和MAC1002。随后,智能卡102使用MAC1002来验证后期发布数据900的真实性和完整性。一旦验证了后期发布数据900的真实性和完整性,智能卡102就处理后期发布数据900。如此处所使用的,术语处理将包括但不限于加载新的软件应用程序,删除现有软件应用程序或以其他方式修改存储的数据。
应当指出,计算机系统110和/或智能卡102可以包括用于执行密码操作(包括但不限于加密和解密)和用于提供安全加密密钥存储的安全软件。
图11示出了向智能卡(如智能卡102,参见图1A和9)传输后期发布数据的方法(MTPD)1100的流程图。可以在分发服务器(DS)108(参见图1A和9)中实现MTPD1100。MTPD1100开始并且接收后期发布数据900(参见图9),其中使用系统公钥加密后期发布数据(1104)。使用系统私钥解密已加密的后期发布数据,从而获得(未加密的)后期发布数据(1106)。
生成包括后期发布数据的XML消息(例如,XML消息902,参见图9)(1108)。使用卡密钥生成用于XML消息的消息认证代码(MAC)或加密的消息认证代码(MAC)(1110)。将MAC或加密的MAC添加到XML消息(1112)。通过计算机系统(如计算机系统110,参见图1A和9)的读卡器将MAC或加密的MAC的XML消息传输到智能卡(1116)。MTPD1100停止(1116)。
图12示出了卡密钥生成方法(CKGM)1200。CKGM1200开始(1202)并判定是否接收到后期发布数据事务(1204)。如果否,则CKGM1200停止(1216)。如果是,则判定IMK是否在DS的HSM中(1206)。如果所述IMK不在DS的HSM中,则获得所述IMK(1208)且CKGM1200进行到步骤1210。如果是,则生成卡KEK(1210)。生成卡Mac密钥。生成卡加密密钥(1214)。CKGM1200停止(1216)。
图13示出了后期发布数据传输方法(PIDTM)1300的流程图。PIDTM1300开始(1302)并且判定是否有后期发布数据事务(1304)。如果否,则PIDTM1300停止(1326)。如果是,则判定是否要发送大容量消息(1306)。如果是,则使用对称密钥加密所述大容量消息(1308)且PIDTM1300转至步骤1310。如果否,则检查CMS规则(1310)。判定是否应使用系统密钥加密所述数据(1312)。如果是,则加密所述数据(1314)且PIDTM1300转至步骤1324。如果否,则判定是否要对所述数据进行数字签名(1316)。如果是,则对所述数据进行数字签名(1318)且PIDTM1300转至步骤1324。如果否,则判定是否要对所述数据进行加密和数字签名(1320)。如果是,则对所述数据进行加密和数字签名(1322)且PIDTM1300转至步骤1324。将所述数据传输到DS HSM(1324)。PIDTM1300停止(1326)。
图14示出了DS事务处理(DTP)1400的流程图。DTP1400开始(1402)并判定是否已将卡置于读卡器中(1404)。如果否,则发送错误消息(1406)且DTP1400返回步骤1404。如果是,则判定浏览器是否已认证芯片(1408)。如果否,则发送错误信息且DTP1400转至步骤1404。如果是,则判定CRM是否在浏览器中(1412)。如果否,则将CRM加载到浏览器(1414)。建立SSL V3会话(1416)。读取CIN(1418)。生成会话上下文密钥(1420)。识别事务类型(1422)。将事务类型与CMS规则相比较(1424)。根据本发明的一个实施例,判定CMS规则是否要求安全事务(1426)。如果否,则DTP1400转至步骤1440。如果是,则生成卡密钥(1428)。判定消息是否是MAC(1430)。如果是,则使用卡密钥生成所述MAC(1432)。如果否,则判定所述消息是否为加密的MAC(1436)。如果否,生成错误消息(1434)且DTP1400转至步骤1444。如果是,则使用系统密钥生成加密的MAC(1438)。使用MAC或加密的MAC代码准备XML消息(144O)。将所述XML消息传输到芯片(1442)。判定是否有其他事务(1444)。如果是,则DTP1400转至步骤1422。如果否,则DTP1400停止(1446)。
根据以上说明,应当认识到本发明的各部分的最佳尺寸关系,包括尺寸、材料、形状、样式、功能和操作方式、装配和使用的变化,被认为是对本领域的技术人员显而易见的,并且所有与图中示出和说明书中描述的那些关系等同的关系都旨在被包括在本发明之内。通过重新排列或删除本公开中包含的某些步骤,仍然能够体现本发明的新颖精神。本发明的精神仅通过适当构建以下权利要求来限制。

Claims (23)

1.一种用于将后期发布数据从分发服务器安全传输到智能卡的装置,所述装置包括:插入读卡器的智能卡;嵌入所述智能卡并与所述读卡器电连接的芯片;连接到所述读卡器并通过网络连接到所述分发服务器的计算机;所述计算机存储器的浏览器中的芯片中继模块;其中所述芯片中继模块建立与所述分发服务器的安全会话;并且其中在XML消息中传输所述后期发布数据,所述XML消息具备从发行者主密钥导出的代码。
2.如权利要求1中所述的装置,其中所述代码是消息认证代码。
3.如权利要求1中所述的装置,其中所述代码是加密的消息认证代码。
4.如权利要求2中所述的装置,其中从第一卡密钥导出所述消息认证代码。
5.如权利要求3中所述的装置,其中从第二卡密钥导出所述加密的消息认证代码。
6.如权利要求1中所述的装置,其中从安全服务器的第一硬件安全模块获得所述发行者的主密钥并将其传输到所述分发服务器的第二硬件安全模块。
7.如权利要求1中所述的装置,其中所述芯片中继模块通过第二相互认证在所述芯片与所述分发服务器之间建立安全通信。
8.如权利要求1中所述的装置,其中所述芯片中继模块使用会话密钥来建立会话上下文安全。
9.如权利要求1中所述的装置,其中数据标记或标志是所述分发服务器与所述芯片之间的安全传输的先决条件。
10.如权利要求1中所述的装置,还包括使用第一相互认证的在所述分发服务器与所述浏览器之间的安全通信。
11.如权利要求1中所述的装置,还包括连接到所述网络的包括多个芯片持有者文件的芯片管理系统,其中所述芯片持有者文件还包括卡文件。
12.如权利要求11中所述的装置,其中所述卡文件还包括用于获得所述发行者的主密钥的参考密钥。
13.如权利要求11中所述的装置,其中所述芯片管理系统和所述分发服务器共享用于第一相互认证的装置。
14.如权利要求1中所述的装置,其中加密和/或数字签名所述后期发布数据以便从安全服务器传输到所述分发服务器。
15.如权利要求1中所述的装置,其中所述后期发布数据是大容量数据并且使用系统对称密钥来加密所述大容量数据。
16.如权利要求1中所述的装置,其中使用系统对称密钥来加密所述后期发布数据并且使用系统公钥来对其进一步加密。
17.一种用于在分发服务器与芯片之间安全传输后期发布数据的方法,所述方法包括:将具有芯片的智能卡插入连接到计算机和网络的读卡器;响应于在所述分发服务器处认证所述芯片,使用芯片中继模块建立所述芯片与所述分发服务器之间的安全通信;以及接收在XML消息中的所述后期发布数据,所述XML消息具备从发行者的主密钥导出的代码。
18.如权利要求17中所述的方法,还包括:在所述分发服务器的硬件安全模块处生成一组卡密钥;使用所述卡密钥来加密包含所述后期发布数据的所述XML消息;以及将所述后期发布数据从所述分发服务器传输到所述芯片。
19.一种用于在分发服务器与芯片之间安全传输后期发布数据的方法,所述方法包括:配置具有分发服务器、安全服务器、芯片管理系统和第一安全层的第一通信系统;配置具有所述分发服务器的第二通信系统和具有芯片中继模块的客户端卡系统;使用所述芯片中继模块在所述第二通信系统中建立第三安全层;使用芯片信息编号从所述芯片管理系统获得所述后期发布数据;使用卡密钥加密所述后期发布数据以便从所述分发服务器传输到所述芯片;并且其中通过从所述安全服务器获得的发行者主密钥来生成所述卡密钥。
20.如权利要求19中所述的方法,还包括以下操作中的至少一个操作:在所述第一通信系统中配置第二安全层;在所述第二通信系统中配置第四安全层;在所述第二通信系统中配置第五安全层;以及在所述第二通信系统中配置第六安全层。
21.一种用于将后期发布数据从分发服务器安全传输到智能卡的装置,所述装置包括:连接安全服务器、分发服务器和芯片管理系统的第一通信系统;连接所述分发服务器和具有读卡器的客户端卡系统的第二通信系统;嵌入所述智能卡并电连接到所述读卡器的芯片;其中将由系统密钥加密的所述后期发布数据从所述芯片管理系统传输到所述分发服务器;并且其中将由卡密钥加密的所述后期发布数据从所述分发服务器传输到所述芯片。
22.如权利要求21中所述的装置,其中所述芯片具有一组已安装的卡密钥。
23.如权利要求21中所述的装置,其中为了将所述后期发布数据从所述分发服务器安全地传输到所述芯片,所述后期发布数据必须被消息认证编码,并且其中为了消息认证编码所述后期发布数据,使用发行者的主密钥来生成一组与所述芯片中的一组卡密钥对应的卡密钥。
CN200480043033.9A 2004-05-28 2004-05-28 智能卡数据事务系统以及用于提供存储和传输安全的方法 Expired - Lifetime CN1954345B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2004/050880 WO2005119606A1 (en) 2004-05-28 2004-05-28 Smart card data transaction system and methods for providing storage and transmission security

Publications (2)

Publication Number Publication Date
CN1954345A true CN1954345A (zh) 2007-04-25
CN1954345B CN1954345B (zh) 2012-11-21

Family

ID=35463089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200480043033.9A Expired - Lifetime CN1954345B (zh) 2004-05-28 2004-05-28 智能卡数据事务系统以及用于提供存储和传输安全的方法

Country Status (5)

Country Link
EP (1) EP1761904A1 (zh)
CN (1) CN1954345B (zh)
CA (1) CA2568990C (zh)
IL (1) IL179597A (zh)
WO (1) WO2005119606A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010003274A1 (en) * 2008-07-09 2010-01-14 Gemalto Sa Portable electronic device managing xml data
CN103049776A (zh) * 2012-12-31 2013-04-17 中国电子科技集团公司第十五研究所 一种基于文件交换的b/s系统读写卡方法
US8433908B2 (en) 2008-03-03 2013-04-30 Felica Networks, Inc. Card issuing system, card issuing server, card issuing method and program
CN103178953A (zh) * 2013-02-27 2013-06-26 中国电力科学研究院 一种安全型芯片密钥发行系统及其方法
CN101483554B (zh) * 2009-02-23 2013-09-11 中兴通讯股份有限公司 硬件安全管理的方法与系统
US9208634B2 (en) 2008-12-19 2015-12-08 Nxp B.V. Enhanced smart card usage
CN105592033A (zh) * 2014-12-30 2016-05-18 中国银联股份有限公司 可信服务管理系统和方法
CN106250750A (zh) * 2016-07-18 2016-12-21 深圳市文鼎创数据科技有限公司 基于MacOSX系统的USB设备接入方法及装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2908209B1 (fr) 2006-11-07 2009-02-13 Oberthur Card Syst Sa Entite electronique portable et procede de personnalisation d'une telle entite electronique
US8045956B2 (en) 2007-01-05 2011-10-25 Macronix International Co., Ltd. System and method of managing contactless payment transactions using a mobile communication device as a stored value device
EP2209080A1 (en) * 2009-01-20 2010-07-21 Gemalto SA Method of loading data in an electronic device
US9160813B2 (en) 2009-03-10 2015-10-13 Nxp, B.V. Method and apparatus for transmitting an NFC application via a secure channel including a proxy and computing device
FR2949877B1 (fr) * 2009-09-10 2017-09-15 Viaccess Sa Procede de verification de l'integrite de donnees inscrites dans une memoire
DE102010006987A1 (de) 2010-02-05 2011-08-11 Giesecke & Devrient GmbH, 81677 Komplettierung portabler Datenträger
DE102010027586B4 (de) 2010-07-19 2012-07-05 Siemens Aktiengesellschaft Verfahren zum kryptographischen Schutz einer Applikation
WO2015167544A1 (en) 2014-04-30 2015-11-05 Hewlett-Packard Development Company, Lp Verification request
WO2018222702A1 (en) * 2017-05-31 2018-12-06 Entrust Datacard Corporation Cryptographic object management across multiple remote sites
GB2565411A (en) * 2017-06-12 2019-02-13 British Telecomm Improved hardware security module management
CN109347625B (zh) * 2018-08-31 2020-04-24 阿里巴巴集团控股有限公司 密码运算、创建工作密钥的方法、密码服务平台及设备
CN109067528B (zh) * 2018-08-31 2020-05-12 阿里巴巴集团控股有限公司 密码运算、创建工作密钥的方法、密码服务平台及设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0798673A1 (en) 1996-03-29 1997-10-01 Koninklijke KPN N.V. Method of securely loading commands in a smart card
US6131090A (en) 1997-03-04 2000-10-10 Pitney Bowes Inc. Method and system for providing controlled access to information stored on a portable recording medium
CA2347684A1 (en) 1998-10-27 2000-05-04 Visa International Service Association Delegated management of smart card applications
AU5598800A (en) 1999-06-21 2001-01-09 Sun Microsystems, Inc. Method and apparatus for commercial transactions via the internet
JP3793377B2 (ja) * 1999-08-30 2006-07-05 日本電信電話株式会社 データ格納システム及びデータ格納プログラムを格納した記憶媒体
GB2357229B (en) 1999-12-08 2004-03-17 Hewlett Packard Co Security protocol
FR2805059A1 (fr) 2000-02-10 2001-08-17 Bull Cp8 Procede de chargement d'une piece de logiciel dans une carte a puce, notamment du type dit "applet"
US7103773B2 (en) 2001-10-26 2006-09-05 Hewlett-Packard Development Company, L.P. Message exchange in an information technology network

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8433908B2 (en) 2008-03-03 2013-04-30 Felica Networks, Inc. Card issuing system, card issuing server, card issuing method and program
WO2010003274A1 (en) * 2008-07-09 2010-01-14 Gemalto Sa Portable electronic device managing xml data
US9208634B2 (en) 2008-12-19 2015-12-08 Nxp B.V. Enhanced smart card usage
CN101483554B (zh) * 2009-02-23 2013-09-11 中兴通讯股份有限公司 硬件安全管理的方法与系统
CN103049776A (zh) * 2012-12-31 2013-04-17 中国电子科技集团公司第十五研究所 一种基于文件交换的b/s系统读写卡方法
CN103178953A (zh) * 2013-02-27 2013-06-26 中国电力科学研究院 一种安全型芯片密钥发行系统及其方法
CN103178953B (zh) * 2013-02-27 2016-09-21 中国电力科学研究院 一种安全型芯片密钥发行系统及其方法
CN105592033A (zh) * 2014-12-30 2016-05-18 中国银联股份有限公司 可信服务管理系统和方法
CN105592033B (zh) * 2014-12-30 2018-12-25 中国银联股份有限公司 可信服务管理系统和方法
CN106250750A (zh) * 2016-07-18 2016-12-21 深圳市文鼎创数据科技有限公司 基于MacOSX系统的USB设备接入方法及装置
CN106250750B (zh) * 2016-07-18 2019-08-16 深圳市文鼎创数据科技有限公司 基于MacOSX系统的USB设备接入方法及装置

Also Published As

Publication number Publication date
CA2568990A1 (en) 2005-12-15
CA2568990C (en) 2011-09-27
WO2005119606A1 (en) 2005-12-15
EP1761904A1 (en) 2007-03-14
IL179597A (en) 2010-12-30
IL179597A0 (en) 2007-05-15
CN1954345B (zh) 2012-11-21

Similar Documents

Publication Publication Date Title
US7380125B2 (en) Smart card data transaction system and methods for providing high levels of storage and transmission security
CN1954345B (zh) 智能卡数据事务系统以及用于提供存储和传输安全的方法
CN1972189B (zh) 生物体认证系统
EP1198922B1 (en) Secure distribution and protection of encryption key information
US8656180B2 (en) Token activation
US7296149B2 (en) Secure user and data authentication over a communication network
TWI418198B (zh) 使用非對稱密鑰密碼之用於個人化智慧卡的方法與系統
US20080059797A1 (en) Data Communication System, Agent System Server, Computer Program, and Data Communication Method
US20030105965A1 (en) Business method for secure installation of a credit authorization key on a remote tcpa compliant system
US10089627B2 (en) Cryptographic authentication and identification method using real-time encryption
EA012094B1 (ru) Средство защиты и способ аутентификации пользователя с помощью этого средства
JP2000222362A (ja) 多重セキュリティ・チェック・ポイントを可能にする方法及び装置
CN101103358A (zh) 安全代码生成方法和使用方法及用于其的可编程设备
US8205088B2 (en) Method for the authenticated transmission of a personalized data set or program to a hardware security module in particular of a franking machine
US8156548B2 (en) Identification and authentication system and method
CN109997119A (zh) 安全元件安装和设置
CN102238193A (zh) 数据认证方法及使用该方法的系统
CN108460597A (zh) 一种密钥管理系统及方法
EP2077517A1 (en) Delegation of access conditions between portable tokens
Freundenthal et al. Personal security environment on palm pda
AU2009202963B2 (en) Token for use in online electronic transactions
US11928672B2 (en) Personalization method and system for financial IC card having dynamic verification code
AU2006319761B2 (en) Authentication and identification system and method
CN117057798A (zh) 一种量子安全的数字货币钱包开通方法及其装置
AU2005246892B2 (en) Identification system and method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20211111

Address after: USA New York

Patentee after: Qindarui Co.

Address before: USA New York

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right
CX01 Expiry of patent term

Granted publication date: 20121121