便携式数据载体的完成的制作方法

文档序号:6658458阅读:131来源:国知局
专利名称:便携式数据载体的完成的制作方法
技术领域
本发明涉及一种完成便携式数据载体的方法,以及涉及用于执行这种方法的安全模块和系统。
背景技术
在便携式数据载体的制造中,在第一个制造步骤中,操作系统掩码(mask)被合并入例如ROM存储器的数据载体的非可擦写非易失性存储器。在进一步的步骤(完成步骤)中,完成合并操作系统掩码。这样,更正了操作系统掩码的可能的错误,并且加载了操作系统的扩展。此外,更正和扩展操作系统的可能性被适当配置。这样,对应的完成数据被加载到数据载体的非易失可擦写存储器,例如EEPROM存储器。为了这个目的,数据载体被连接到适当的完成装置,在其中完成数据成为可用的。在有操作系统掩码的数据载体和相关联的完成进入系列产品(series production)之前,广泛地测试了这些数据载体的较小测试数量。这通常在可能的外部测试部门中的实际数据载体产品的远程而被影响,特别是为了适合于这个目的。测试时发现的错误或缺陷接着通过调整完成数据而被补救(remedy),随之用已经用调整的完成数据完成的数据载体执行新的测试。因为通常只产生(即特别是完成)极小数量的要测试的数据载体,所以其可能的多个完成用全部测试操作系统组件显著阻碍(hinder)其它系列产品的流程,即显著阻碍了数据载体的完成的流程。将系列产品设计并优化为大系列制造。小测试系列的完成的外包(例如外包到对应的外部测试部门)牵涉静止保密完成数据被滥用(misuse)的风险。同样地,可以代替限制的测试系列的是,数据载体的较大数量用完成数据而完成,或者完成的数据载体没有被正确地配置。EP1722336A2描述了用于生成用于安全数据载体的初始化数据的方法。其中,安全模块(例如USB令牌)成为可用的,其中存储用于生成初始化数据的保密数据。安全模块可以进一步适合于接收输入数据,并通过其自身的例行程序(routine)并使用保密数据而生成初始化数据。然而,在EP1722336A2中,既没有描述将其中可产生或者用这种方法产生的初始化数据的方法以安全的方式合并入对应的安全数据载体,也没有描述生成的初始化数据的免费使用可以怎样被正确地限制。

发明内容
本发明的目标是用简单、有效并且同步完全可控制的方式,可以造成便携式数据载体的完成,特别是小数量便携式数据载体。通过具有独立权利要求特征的方法、安全模块以及系统实现该目标。在从属权利要求中陈述了有利的实现和开发。本发明除其它方面外,涉及用于连接有完成装置的至少一个便携式数据载体的完成的方法。这样,出现在完成装置上的完成数据集合并入数据载体。根据本发明,为了这个目的,将安全模块连接到完成装置。在安全模块上,不同授权数据集成为可用的。而且,安全模块包括用于管理不同授权数据集的管理应用程序。管理数据集的每一个精确地指定一个完成。此外,授权数据集的每一个精确地与一个完成数据集相关联。安全模块上的管理应用程序依照从不同授权数据集中选择的授权数据集中的说明,监测至少一个数据载体的完成。通过管理应用程序的安全模块上的授权数据集的管理特别包括新授权数据集的合并、已经出现的授权数据集的阻止或删除(其例如已经被新授权数据集代替)、以及关于当前出现的授权数据集的各种状态查询。因此根据本发明的方法不排除至少暂时地在安全模块上出现一个授权数据集,其适合于指定一个完成。然而通常安全模块包括通过安全模块用于指定不同完成的多个不同授权数据集,如所述。这里,完成的说明特别包括对应完成数据集中的信息、要完成的数据载体和/或监测其要使用的安全模块。并且可接受的(admissible)完成的数目以及完成的配置可以通过授权数据集预定。说明可以进一步包括关于完成的预定。因此,通过优选地至少指定谁可以用哪些辅助手段、在何时以哪种方法用哪些数据、多久完成哪个数据载体,授权数据·集基本上确定要执行的全部完成。因此,授权数据集在某种程度上也可以被视为控制或操纵(steering)数据的形式,因为不仅授权完成的实体(entity)是预定的,而且也优选地定义授权实体怎样进行、排除哪些行为等。安全模块上的管理应用程序借助选择的授权数据集的手段,通过仅由管理应用程序成为可用的完成所必要的数据来监测完成。这样的数据例如可以是用于针对要完成的数据载体的验证(authentication)的保密数据或者用于校验完成的数据载体的配置的校验(check)数据。在这种情况下,安全模块上没有管理应用程序的数据载体的完成、以及通过选择的授权数据集偏离说明是不可能的。因此管理应用程序组成一种控制或操纵应用程序,然而由此涉及被动、间接形式的操纵。依照根据本发明的方法,可以任命(delegate)便携式数据载体的完成。因此完成不再必须在数据载体的制造商处直接受到影响,而是例如在外部测试部门、制造商的客户等处受到影响。将完成数据合并入数据载体可以在通过安全模块监测处执行。因此小测试系列的完成不再用数据载体制造商处的广泛测试的完成数据,阻止大批量系列产品的完成过程。这确保了对于数据载体制造商处的大规模产品和对于外部机构(body)处的小测试系列这二者的简单和有效的完成过程。此外,这保证了外部机构可以仅实现这样的由对应的授权数据集所指定的完成。因此,可以阻止例如保密完成数据被侦破、用某些完成数据来完成数据载体的非认可(non-admitted)数目、在预定有效期间之前采用完成数据等。通过能够管理依次分别与不同完成数据集相关联的不同授权数据集的安全模块,具有不同完成数据的不同便携式数据载体的灵活的完成以及仅使用一个安全模块是可能的。这里,留给使具有管理应用程序的安全模块以及授权数据集成为可用的机构(通常是数据载体的原制造商)来详细预定指定任命的便携式数据载体的完成的所有参数,并且在这种情况下无间隙地监测和在适当情况下限制和阻止对应的完成。用于根据本发明监测完成方法的根据本发明的安全模块适合于连接有完成装置。安全模块包括在其上可执行的管理应用程序。安全模块进一步适合于采取(take up)不同授权数据集。这里,这些授权数据集的每一个精确地指定一个完成装置上的完成数据集。管理应用程序适合于管理安全模块上的不同授权数据集。管理应用程序进一步适合于监测根据从不同授权数据集选择的一个授权数据集中的说明的至少一个便携式数据载体的完成。根据本发明的用于完成至少一个便携式数据载体的系统包括完成装置。在完成装置上辅助应用程序成为可用的。根据本发明,系统进一步包括连接有完成装置的有管理应用程序的安全模块,以及也连接有完成装置的要完成的至少一个便携式数据载体。此外,系统的部分是不同授权数据集以及不同完成脚本,其分别包括完成数据集以及用于将完成数据集合并入数据载体的完成命令。每个授权数据集精确地与一个完成脚本相关联并且精确地指定一个完成。完成装置上的辅助应用程序适合于将不同授权数据集合并入安全模块。此外,辅助应用程序适合于通过执行这种与从不同授权数据集选择的一个授权数据集相关联的完成脚本,将由完成脚本组成的完成数据集合并入至少一个数据载体。这里,管理应用程序适合于根据选择的授权数据集中的说明监测完成。在下文中将描述先前说明的在独立权利要求中定义的本发明的基本原则的有利 的实现和开发。用本发明,尽管事实上可以在独立从属权利要求中概括几个特征,但是将本发明的基本原则通过下文中提到的每个独立特征分别放在具体条款中是技术上的权宜之计,虽然各个特征仅可以针对进一步的特征而要求权利。在这种情况下,公开的有利实现超过要求权利的实施例。作为完成装置,可以在例如简单的个人电脑等的所任命的完成的框架内提供服务。但是也可以使用工业完成机器或类似装置。要完成的数据载体的数量通常很小,从而服从(subordinate)高数据吞吐量和高完成速度。完成装置必须仅包括对应的接口,使得其可以连接有安全模块和要完成的数据载体。考虑作为要完成的便携式数据载体,特别是芯片卡的不同形式的因素和实施例。优选地,卡基于Java Card技术。为了将这种芯片卡连接有完成装置,需要对应的读取设备,其可以是完成装置的一部分或者其本身可以适当地连接有完成装置。便携式数据载体的其它设计和实现也是可能的,例如作为存储卡等。安全模块也可以呈现为任何设计,例如作为芯片卡或者作为USB令牌。根据本发明的优选实施例,安全模块用基于Java的操作系统构造成为芯片卡,并且适合于执行所谓的Java-Card小应用程序(applet)。所以,安全模块特别包括至少一个非易失可擦写存储器(例如FLASH或EEPROM存储器),以及用于执行存储器中存储的应用程序的处理器。取决于安全模块的设计,完成装置必须具有用于连接有安全模块或者可连接对应读取设备的进一步的接口。管理应用程序优选地是在安全模块的存储器中存储的应用程序,并且在安全模块的处理器上是可执行的。优选地,管理应用程序被构造为Java-Card小应用程序,其以JavaCard形式在安全模块上是可执行的。如下所详细描述的,管理应用程序通常是个性化的(personalized)并且支持各种安全机制。授权数据脚本和完成脚本二者都提供自动的完成方法。可以通过任何合适的脚本语言(例如通过“Groovy”等)创建脚本。如果根据ISO 7816将要完成的数据载体和安全模块构造为芯片卡,则可以经由所谓的APDU (“应用协议数据单元”)用对应的读取设备影响这些元件的通信。因此,连接有这种数据载体或安全模块的脚本包括APDU形式的命令。安全模块上的管理应用程序以及要完成的数据载体识别并支持各个命令。这里,采取已知标准命令和专门为根据本发明的使用而开发的专用APDU这两者。提供完成装置上的辅助应用程序用于执行授权数据脚本和完成脚本。即,方法的智能性和灵活性在于脚本,而不在于辅助应用程序。这可以被视为完成装置的操作者、安全模块上的管理应用程序以及要完成的数据载体之间的接口。因此,辅助应用程序可以通过多种不同完成脚本而普遍用于完成多种不同数据载体,而不必对其分别调整。尽管如此,用于完成方法的辅助应用程序或类似机制具有关键重要性,因为其可以建立安全模块上的管理应用程序和要完成的便携式数据载体之间的连接,并且可以仅通过辅 助应用程序而执行完成脚本。优选地,辅助应用程序也基于Java,但是也可以以任何其它合适的语言编程。如上所示,例如通过将完成脚本与授权数据集唯一相关联,选择的授权数据集当完成时唯一指定要合并入要完成的数据载体的完成数据集。通常在完成装置上成为可用的完成脚本包括对应的完成数据集以及用于将完成数据集合并入数据载体的完成命令。这样,与授权数据集相关联的完成脚本特别预定了要合并的完成数据集。优选地,完成数据集或包括完成数据集的完成脚本的说明通过命名约定(naming convention)生效,即授权数据集以及与其相关联的完成脚本具有唯一相同的名称组件,从其中可以读取彼此的相互关联。可选地或附加地,授权数据集可以包括校验值,其源自于相关联的完成数据集或相关联的完成脚本,例如哈希值。经由这个校验值,完成脚本可以接着被唯一地识别。这样的校验值的提供能够识别完成数据集或完成脚本是否已经未经授权而被修改。接着,优选地通过与被完成装置上的辅助应用程序执行的选择的授权数据集相关联的完成脚本,完成数据在根据本发明的框架内被合并入数据载体。这特别意味着辅助应用程序仅具有接口特性而不具有成为对于合并完成数据集可用的自己的命令。分别通过在安全模块上管理的不同授权数据集的一个而指定全部完成。这样的说明包括许多预定,其需要在对应的完成上被观察,使得由安全模块上的管理应用程序承认这个完成。如下所详细描述的,关于完成的不同参数可以通过指定这个完成的对应的授权数据集而精确地预定。通常,例如通过唯一的标识号,安全模块在其发行(issue )或成为可用的之前被个性化。任何为便携式数据载体的任命的完成而接收安全模块的机构可以这样经由安全模块中的标识号而被识别或寻址(address)。以同样的方式,安全模块上的管理应用程序用安全模块的标识个性化,并且以这种方式绑定到安全模块。这确保了管理应用程序仅连同为此提供的安全模块并且仅通过对于其各自的安全模块已经成为可用的机构而使用。此外,可以确保的是,所提供的为了在某个第一安全模块的监测下完成便携式数据载体而要采用的完成脚本不能提供在另一个第二安全模块的控制下支持数据载体的完成的服务。当在随后以及已在上文中时,显示出选择的授权数据集或仅显示出授权数据集,这分别是指来自安全模块上的不同授权数据集的数量的授权数据集,其已经被选择以依照本发明的方法监测便携式数据载体的具体完成。一方面,如已经指出的,选择的授权数据集指定具体安全模块,其可以根据授权数据集监测完成,并且此后在完成的数据载体上释放对应的完成。这优选地通过包括唯一识别安全模块的信息的授权数据集完成,所述信息例如是安全模块的标识号。当安全模块与授权数据集中对应的预定相匹配时,授权数据集仅在例如存储于安全模块上的对应的位置上的安全模块上的合适的形式中成为可用的。以这种方式,确保了仅精确地在这些安全模块上、或者精确地在作为授权模块中承认的安全模块而预定的对应的安全模块的这些对其已经成为可用的机构处,特定的授权数据集是可采用的。因此有效地阻止了未在授权数据集的说明中陈述的其它安全模块上的授权数据集的使用。此外,选择的授权数据集指定便携式数据载体,其可以根据授权数据集中的说明而完成。数据载体的对应的完成(即完成数据集的合并以及完成的配置)仅当数据载体与授权数据集中的说明相匹配时生效。数据载体可以例如经由与其相关联的硬件标识而被表示。通常,这个硬件标识对于所有批次的数据载体是相同的,其包括它们的ROM存储器中的相同的操作系统掩码。数据载体可以进一步通过在包含关于数据载体的保密数据的授权数据集中而被间接指定。这样的保密数据可以是例如密钥等,其在完成方法的过程中是必须的,例如对于针对数据载体的验证或者对于对数据载体设立安全 的数据通信。因此,仅当这些授权数据集中的保密数据与要完成的数据载体的对应的保密数据相匹配时,可以首先执行完成。当情况相反时,这个完成在例如当完成装置的授权或针对数据载体的辅助应用程序时的第一步中已经失败。这提供了事实的示例,通过基于选择的授权数据集的管理应用程序的监测通常不构成完成方法的活跃的监测、操纵或控制,而是通过必要的数据间接地发生,通过与由管理应用程序成为可用的方法所需要的数据兼容或适合于所述数据,所述必要的数据仅为授权实体或将要授权的实体而成为可用的。优选地,通过指定的完成数据集,选择的授权数据集进一步指定可以完成多少便携式数据载体。并且在其内完成必须生效的时间段可以在授权数据集中被预定。仅当对应的完成的最大数目尚未达到时,或者当预定的时间段仍在持续时,可以执行完成。以这种方式,可以确保的是,仅可以完成作为由授权数据集指定的数据载体所提供的数目。为了这个目的,管理应用程序可以在安全模块上管理例如对应的计数器,其在根据说明执行的每个完成之后递减。通过失效日期,可以确保的是,总是仅采用当前完成脚本,而不偶然采用过时的完成脚本。优选地,对于对其任命便携式数据载体的完成的外部机构,如上所述,完成装置上可执行的辅助应用程序、有管理应用程序的安全模块以及尚未完成的便携式数据载体的数目事先成为可用的。如果接着出现新的完成数据集,例如为了测试目的,数据载体将要用其完成,这可以根据下列步骤生效创建授权数据脚本。这包括基本上全部预定要执行的完成的授权数据集,如上所详细描述的。授权数据脚本进一步包括至少一个命令。通过这个命令,授权数据集可以被合并入安全模块,如下所述。此外,存在创建的完成脚本,其包括如上所述的完成数据集以及完成命令。根据授权数据集与完成数据集的唯一关联,授权数据脚本和完成脚本彼此唯一地相互关联。接着将授权数据脚本和完成脚本传送到完成装置。这个传输可以例如通过电子邮件生效,但也可以是任何其它类型的传输。这个步骤通过控制整个完成过程的实体(通常是数据载体的制造商)而执行。接着通过执行授权数据脚本的完成装置上的辅助应用程序,通过完成装置将授权数据集传送到安全模块。如已在完成脚本的文本中所述,辅助应用程序仅以执行方式起作用,即其自身不做出可用的命令,而仅执行命令或授权数据脚本的命令,使得授权数据集到安全模块的传输生效。在进一步的步骤中,如已经叙述的,辅助应用程序执行完成脚本,从而将完成数据集合并入便携式数据载体。然而,通常在这两个传输步骤之前有许多进一步的步骤,其保证了整个完成系统的安全性,如下进行详细描述。优选地,授权数据集以及完成脚本在传输到完成装置之前被加密。这阻止了这些与安全相关的数据在传输期间被侦破甚至被改变。但是像这样的授权数据脚本可以保持不被加密,因为它包括加密的授权数据集,完成脚本通常是全部加密的,即完成数据集与完成命令一起被加密。因此,完成命令上没有信息可以进入未授权领地(possession)。完成脚本在其已经由完成装置上的辅助应 用程序接收之后,通过辅助应用程序自身而被解密。优选地,辅助应用程序是具有用于解密完成脚本的密钥(key)的唯一实体。这样,采用完成方法的框架内的辅助应用程序是绝对必要的。仅在解密之后可以由辅助应用程序执行完成脚本,使得将完成数据集合并入数据载体。因此在传输到完成装置期间合并的完成脚本对攻击者是没有价值的,因为他不能解密它,即不能获得完成数据集也不能获得完成命令。相比之下,加密的授权数据集仅在通过安全模块上的管理应用程序传输到安全模块之后被解密。辅助应用程序仍然可以影响加密的授权数据集传输到安全模块,因为其可以容易地执行本身未被加密的授权数据脚本。如果攻击者在授权数据脚本的传输中窃听,他就可以仅以加密的方式读出与安全相关的授权数据集。也可以在传输到完成装置之前,用与之前的完成脚本相同的密钥,将完成数据脚本作为整体(即已经加密的授权数据集与命令一起)而加密。接着,辅助应用程序在用单独的密钥加密授权数据集的传输之前,首先需要解密授权数据脚本并接着执行它。在所有情况下都需要保密的授权数据集是用单独的密钥加密的,如所述,其仅在安全模块上的管理应用程序中出现。可以将配备有用于解密授权数据集的这个密钥的管理应用程序看作是安全模块的个性化的进一步的间接步骤。这个密钥在此被安全地管理并且甚至不能通过执行数据载体的完成的机构而被读出。这样,授权数据集在任何时间被安全地保护,免于未经授权而被侦破或改变。在这点上,彼此独立地管理授权数据集和与其唯一相关联的完成脚本变成显然的。以通过安全模块上的管理应用程序解码而开始的不同授权数据集的管理完全通过管理应用程序而生效并仅在安全模块上生效。然而,不同完成脚本的管理通过完成装置上的辅助应用程序而执行,所述完成装置当接受脚本时解码脚本并随后管理它们,例如首先将它们存储于完成装置的存储器中的预定位置。仅当要完成具体的数据载体时,选择指定完成的授权数据集并且因此而监测它。对于这个授权数据集,接着确定随后通过辅助应用程序而执行的相关完成脚本。在这样的完成过程期间,与安全相关的数据在安全模块和要完成的数据载体之间经由连接安全模块和数据载体这二者的完成装置上的辅助应用程序而被传送。为了保证这些数据的完整性和安全性,必要的是在方法开始时辅助应用程序针对安全模块验证其本身。也可以提供辅助应用程序针对要完成的数据载体的验证。此外,以例如加密的安全方式,在完成方法的最大部分期间,运行辅助应用程序和安全模块之间的数据通信。为了这个目的,预备性地设立安全模块上的管理应用程序和完成装置上的辅助应用程序之间的安全信道。以同样的方法,建立完成装置上的辅助应用程序和要完成的便携式数据载体之间的安全信道。这样,数据传输也可以在完成装置和数据载体之间安全地执行。辅助应用程序针对安全模块的验证可以通过密码而生效。当安全模块成为可用的时,任命完成的机构接收这个密码。密码仅对于一个安全模块有效,其已经根据标识号对于对应的机构而被个性化。为了建立完成装置上的辅助应用程序和安全模块之间的安全信道,接着可以从密码中获得密钥。这些密码从不被执行完成的机构所得知。获得并安全管理这些密钥是辅助应用程序的任务。这些密钥不能从辅助应用程序外部访问。在这种情况下,完成过程的各个步骤所要求的用安全模块的安全数据通信可以经由辅助应用程序而专门地生效。而且,以这种方式确保了不能在没有根据本发明的各种组件(这里是完成装置上的安全模块和辅助应用程序)的配合的情况下执行完成过程。用于针对数据载体验证完成装置上的辅助应用程序所需的保密数据通过安全模块上的管理应用程序而成为辅助应用程序可用的。这可以通过安全手段而做到,因为如所述的,已经确保了安全模块和辅助应用程序之间的安全数据通信。对于针对数据载体的验证,对于辅助应用程序,一经要求,通过安全模块上的管理应用程序,通过授权数据集中存储的数据,由管理应用程序确定的验证值成为可用的。用于建立完成装置上的辅助应用程序和数据载体之间的安全信道的保密密钥也通过安全模块上的管理应用程序而成为可用的。为了这个目的,授权数据集包括数据载体的数据载体的特殊基本密钥,从其中可以得到 用于建立安全信道所必须的保密密钥。数据载体的完成进一步通过所选择的授权数据集、也通过被精确指定的数据载体的配置而预定。也可以配置两个数据载体,其以不同方式包括例如ROM存储器中的相同的操作系统掩码以及例如EEPROM存储器中的相同的完成数据集。在这种情况下,预期配置的预定是授权数据集中的说明的很大一部分。在授权数据集的合并之后,仅当数据载体的生效配置以由授权数据集预定的方式而生效时,配置被释放——仅以这种方式数据载体对于进一步的使用变成运行的。这样的释放可以通过释放命令而生效,所述释放命令由数据载体从辅助应用程序接收。这个命令可以包括配置校验数据,其例如以校验值的形式完整地定义数据载体的预期配置。对应的校验值在当前配置上通过数据载体而计算。仅当校验值二者匹配时,释放包括配置的完成。在完成数据集合并入要完成的数据载体之前,这个数据载体被个人化(individualize)。这个步骤通常通过完成脚本的命令而执行。这首先校验数据载体是否已经被个人化。这里,注意,一批设计相同的数据载体通常在完成之前不被个人化,批次中的每个数据载体因此具有相同的批号。采用批号从而计算用于针对数据载体的验证的验证值。为了例如阻止数据载体的总体完成过程被滥用地(abusively”记录”并且随后可以对于具有相同验证值的同一批次的设计相同的数据载体的任何号码以同样的方式执行,实际完成过程(即将完成数据集合并入数据载体)之前是个人化步骤。如所述,完成数据的合并对于其本身需要针对数据载体的验证。这样,对于根据本发明的数据载体的完成,需要对于每个数据载体的验证个体(individual)。对于也被称为预个人化的数据载体的个人化,数据载体的批号被其序列号所取代。数据载体的序列号是对于每个数据载体的个体。因此,在这个时间点上,通过现在代替批号的序列号而计算的用于针对数据载体的验证的验证值也是对于每个数据载体的个体。批号的这个变化可以被视作上游完成并且本身也需要针对要被个人化的数据载体的验证。然而,这可以仅使用批次特定的验证值而对于全部批次生效,因此所述验证值可以是完成脚本的一部分。如果各个数据载体已经被个人化,则可以省略这样的个人化,因为例如其已经在以前的生产周期中完成,但是这个较早的完成现在要被新的完成所取代。


以下通过参考附图的方式描述本发明。其中示出图I为根据本发明的系统的优选实施例的组件;图2至图8为根据用于完成便携式数据载体的本发明的方法的优选实施例的步骤。
具体实施例方式参考图1,完成系统1000包括完成装置200 (其例如以个人计算机的形式(PC))、安全模块100、不同的授权数据脚本400、400 ’、400 ”、不同的完成脚本300、300 ’、300 ”、以及 要完成的数据载体10、11、12、13。完成装置200包括合适的接口 220、230,从而连接有安全模块100以及要完成的数据载体10。当安全模块100和要完成的数据载体10、11、12、13被构造为芯片卡时,接口220、230可以被构造为例如芯片卡读取设备。在完成装置200上安装了辅助应用程序210,其在下列详细描述的完成方法中担任完成装置200的用户、安全模块100以及要完成的数据载体10之间的接口的角色。辅助应用程序210适合于执行下述的授权数据脚本400、400’、400”以及完成脚本300、300’、300”。完成装置200进一步连接到网络,例如互联网。经由这个网络,完成装置200可以接收数据,诸如例如完成脚本300、300’、300”以及授权数据脚本 400、400,、400”。安全模块100被构造为便携式数据载体,例如芯片卡,特别是作为GlobalPlatform Java Card的芯片卡。可选地,安全模块100也可以被构造为例如USB令牌(token)等。在安全模块100上以可执行的形式安装了管理应用程序110。通过这个管理应用程序110,要被描述的不同授权数据集310、310’、310”在安全模块100中被管理。此夕卜,管理应用程序110适合于监测下述完成方法。要完成的便携式数据载体10 (例如也以Java Card的形式)包括ROM存储器(未示出),操作系统掩码已经被合并入所述ROM存储器,也包括可擦写非易失性存储器,例如FLASH存储器或EEPROM存储器,在下述完成方法期间将完成数据310写入所述可擦写非易失性存储器。通过这些完成数据310,补救了 ROM掩码中可能的错误。此外,在通过完成数据310的完成期间,数据载体10的操作系统被适当地补充以及配置,并且第一次启动。完成脚本300、300’、300”包括完成数据集310、310’、310”以及完成命令320、320’、320”。通过这些命令320、320’、320”,完成数据集310、310’、310”在完成方法期间被合并入要完成的数据载体10、11、12、13。如下所述,这里通过完成装置200上的辅助应用程序210执行完成脚本300、300’、300”。最后,授权数据脚本400、400’、400”包括授权数据集410、410’、410”以及用于将授权数据集410、410’、410”合并入安全模块100的至少一个命令420、420’、420”。为了这个目的,也以下面将要描述的方式通过完成装置200上的辅助应用程序210来执行命令420、420’、420”。授权数据集410、410’、410”分别唯一地与完成数据集310、310’、310”相关联,并且分别制定完成。即,在授权数据集410、410’、410”中,预定了完成过程的所有重要参数,如将要在以下参考图2至图8精确描述的。已经开发了这里描述的完成方法,使得对于与要完成的数据载体10、11、12、13的制造商不同的外部机构,要任命的完成过程是可能的。这样的外部机构可以是例如制造商的外部部门或者密切的客户。以这种方式,实际制造商的生产流程不通过数据载体的小测试量的完成而受损。这个安全措施成为可用的,特别是具有管理应用程序110的安全模块100、以及由此不管完成的任命而允许制造商保持对所有完成步骤和完成结果的充分的控制的授权数据集410、410’、410”。最后,由于任命的完成方法的密码保护,所有与安全有关的完成脚本300、300’、300”以及授权数据集410、410’、410”通常是安全的并且既不被未授权机构浏览也不被未授权机构改变。参考图2,描述了用于完成方法的准备步骤。在步骤SI中,准备安全模块。为了这个目的,在子步骤TSll中,管理应用程序110被加载到安全模块100,从而在这里执行。接着,在TS12中,通过提供有独特的特征号码(identity number) ID而个性化安全模块100。通过这个特征号码,可以唯一地寻址用于外部完成的接收这样的安全模块100的每个外部 机构。最后,安全模块100上的管理应用程序110也在子步骤TS13中被个性化一方面,用安全模块100的特征号码ID,另一方面,用加密的keyBD。通过用安全模块100的特征号码ID的个性化,管理应用程序110被绑定到安全模块100,因此可以仅连接有具有相同ID的唯一的安全模块100、但并未连接有设计相同的其它安全模块而被采用。如下所述,密钥keyBD提供用于解密以加密方式由管理应用程序110接收的授权数据集410、410’、410”的服务。这样准备的安全模块100在步骤S2中成为外部机构可用的。在步骤S3中,进一步使辅助应用程序210成为外部机构可用的。这将安装在完成装置200上。如下所述,不能没有辅助应用程序210而执行完成方法,并且也不能没有安全模块100而执行完成方法。在步骤S4中,外部机构最终接收多个要完成的数据载体10、11、12、13。通常,这是迄今为止尚未完成的设计相同的批次的数据载体。但是,也有可能的是,成为可用的数据载体10、11、12、13的个体或全部已经在以前的生产阶段中完成并且现在为了测试目的(例如为了操作系统的改进或自动纠正)而将要重新完成。在参考图3所述的步骤中,生成完成数据和授权数据并将其传送到外部机构。这些步骤通常当出现新的完成版本时通过要完成的数据载体的制造商来执行,因此例如用于补充数据载体10的操作系统的完成数据集310。在步骤S5中,生成用于完成便携式数据载体10、11、12、13的新的完成数据集310。这个完成数据集310可以是完成数据的先前版本的进一步开发,或者是新的或首次开发。完成数据集310精确地包括这些要合并入要完成的数据载体10、11、12、13的存储器的数据。为了这个目的,通常,命令是必要的,通过命令,完成装置200与数据载体10、11、12、13联系从而将完成数据310发送到数据载体10、11、12、13。因此也生成对应的完成命令320,并且在步骤S6中,对应的完成命令320与完成数据集310 —起被编辑为完成脚本300。因此这个完成脚本300包括要合并入数据载体10、11、12、13的完成数据310和因此要求的命令320这二者,并且这已经有布置和顺序使得命令320仅仅需要作为脚本300预定的并由完成装置200的辅助应用程序210来执行。完成脚本300可以用任何合适的脚本语言(例如通过Groovy)而生成。如果数据载体10、11、12、13和安全模块100根据ISO 7816被构造为芯片卡,则用于与这两个元件通信的完成命令320以APDU (“应用协议数据单元”)的形式而成为可用的。这里可以使用已知标准命令,但是也可以使用新开发的专用命令。在步骤S7中,用传输密钥keyKS来加 密生成的完成脚本300。以这种方式,当随后传输到完成装置时阻止了侦破或改变(见步骤S11),其可以接着经由不安全的网络(例如经由互联网通过电子邮件)而生效。在步骤S8中,生成授权数据集410。这包括完成的基本上全部的说明。这个授权数据集410唯一地与已经在步骤S5中生成的完成数据集310相关联。这种关联通过授权数据脚本400(见步骤S10)和包括相同名称成分的完成脚本300而生效,这些脚本300、400分别通过其而可以被唯一地识别、寻址和关联。完成脚本300与授权数据集410的关联可以进一步通过包括指定完成脚本300的校验位(check digit)(例如全部完成脚本300上的哈希值)的授权数据集410而生效。以这种方式,在方法期间,安全模块100上的管理应用程序110本身不仅能识别与授权数据集410相关联的完成脚本300,还能根据任何意外的改变而校验它。除其它事项外,授权数据集410可以包括以下数据-授权数据集410本身的独特的标识符。-完成数据集310的独特的标识符。-数据载体10、11、12、13的硬件ID,通过完成数据集310可完备化。这样的硬件ID通常对于构造相同的批次的数据载体10、11、12、13是相同的。安全模块100上的管理应用程序110后来在完成方法期间使用这个硬件ID,从而校验目前的数据载体10、11、12、13是否可以用目前的完成数据集310完成,即授权数据集410不仅定义可接受的完成数据集310,而且定义可以与其完成的数据载体10、11、12、13的类型。-用于要完成的数据载体10、11、12、13的安全信道的验证和建立的不同的加密密钥。通过这些密钥,授权数据集410间接地指定要完成的数据载体10、11、12、13,因为如果这些密钥对于要完成的数据载体10、11、12、13不合适,则由于验证数据载体10、11、12、13不会成功,预期完成过程将早已失败。-可以用于完成要完成的数据载体10、11、12、13的安全模块100的标识号ID。因此授权数据集410除了预定完成数据集310和要完成的数据载体10、11、12、13,进一步预定谁可以执行这个完成仅占有唯一以该ID标记的安全模块100的机构。-指示授权数据集410多长时间有效的失效日期。此后,安全模块100上的管理应用程序110将在存储于其中的不同授权数据集410、410’、410”的管理框架之内阻止授权数据集410。-可以执行预定通过其它参数指定的完成有多频繁的完成数目。在根据授权数据集410的每个成功的完成之后,可以被提供为计数器的完成数目相应地减少。如果这个计数器到达零,也可以通过管理应用程序110阻止授权数据集410。-如已经如上描述的完成脚本300的校验位。
-唯一预定要完成的数据载体10、11、12、13的可接受的配置的校验值。仅当已经合并了完成数据集310之后、已经根据这个预定配置而配置数据载体10、11、12、13时,才认为完成将会成功。这个校验值也可以被构造为哈希值。-要阻止的完成数据集上的信息。以这种方式,可以例如向安全模块100上的管理应用程序110指出目前的授权数据集410代替已经在安全模块100上出现的以前的授权数据集。接着,例如已经根据当前完成脚本300的先前版本而指定完成的较早的授权数据集通过安全模块100上的不同授权数据集410、410’、410”的管理框架之内的管理应用程序110而被阻止。上述非详尽列表明确了,通过由要完成的数据载体10、11、12、13的制造商做出的授权数据集410中的预定,任命到外部机构的完成的所有方面可以被唯一地定义并确定。 以这种方式,制造商将继续充分控制所发行的数据载体10、11、12、13的生效的完成。在步骤S9中,授权数据集410通过进一步的密钥!^^㈤而被加密,并且因此被保护而免于在随后传输(见步骤SI I)到完成装置200时被侦破和改变。授权数据集410的解密仅在安全模块100上通过管理应用程序110而直接生效。为此目的,已经在个性化时配备有对应的密钥(比较TS13)。与参考完成数据310的步骤S6类似,在步骤SlO中,生成授权数据脚本400。除了加密的授权数据集410,这包括至少一个命令420,当通过完成装置200上的辅助应用程序210执行该命令时,该命令直接导致将加密的授权数据集410传输到安全模块100。通常不需要授权数据集400本身单独的加密,因为所述至少一个420不构成与安全相关的数据。相比之下,完成脚本300的命令320被认为是与安全相关的,并且与也要保护的完成数据310—起被加密(见S7)。如已经多次指出的,加密的完成脚本300以及由加密的授权数据集410的授权数据脚本400随后在步骤Sll中例如通过互联网被传送到完成装置200。这里,可以开始实际的完成过程,其在下文中参考图4至图8进行描述。每次出现新的或更新的完成数据集310,都可以以所述方式重复步骤S5至S11。如果要完成的数据载体10、11、12、13经由接口 220与完成装置220连接,并且安全模块110经由接口 230与完成装置220连接,则开始实际的完成过程,如参考图4所述。
为了可以进行其中也传送与安全相关的数据的随后的完成过程,需要某些安全措施。完成方法通过针对安全模块100上的管理应用程序110验证自身的辅助应用程序210而在步骤S12中继续。这通过完成装置200的用户已知的密码而完成。随后,在步骤S13中,在辅助应用程序210和管理应用程序110之间,设立安全通道。因此在子步骤TS131中所必须的保密密钥通过辅助应用程序210从密码中得到,而不用完成装置200进入到这些密钥的领地一因此,同时确保了这些用户可以采用安全模块100、并且在其上运行的管理应用程序110通常仅连接有辅助应用程序210,而不由此分离。最终,在子步骤TS132中,通过保密密钥,建立到安全模块100的安全通信连接。在如上文中所述而保护的环境中,如图5中所示,在步骤S14中,现在可以发生授权数据集410到安全模块100的传输。为了这个目的,辅助应用程序210对完成装置200执行授权数据脚本400。在安全模块100上,授权数据集410通过步骤S15中的密钥keyBD,通过管理应用程序Iio解密。接着,在步骤S16中,校验在授权数据集410中预定的安全模块ID是否与安全模块100的ID相匹配。仅当这种情况发生时,在步骤S18中将授权数据集410存储在安全模块100中。否则,在步骤S17中,退出完成过程。在步骤S19中,辅助应用程序210接着对完成装置200解码所接收的完成脚本300。仅当授权数据集410已经被存储于安全模块100上时,可以通过由辅助应用程序210执行的(现在已被解密的)完成脚本300而继续完成过程,如步骤S20中所指示的。通过辅助应用程序210的完成脚本300的执行由选择与完成脚本300相关联的授权数据集410的完成装置200的用户开始,除了可能已经存储于安全模块100上的授权数据集410’、410”之外,所述授权数据集存储于安全模块100上。即,仅当在安全模块100上存储的唯一与完成脚本300、300’、300”相关联的授权数据集410、410’、410”出现在完成装置200上时,可以通过辅助应用程序210执行对应的完成脚本300、300’、300”。而且在这点上,成为显然的是,整个完成方法仅可以用所述组件的相互作用而执行。
参考图6和图7,现在描述通过执行的完成脚本300的命令而生效的单独的步骤。如果,在以下,某个表达(formulation)建议辅助应用程序210自身的行为,例如“辅助应用程序210请求”,这意味着通过由已经开始并执行完成脚本300的辅助应用程序210的完成脚本300的命令而引起对应的请求。在步骤S21中,在数据载体10、11、12、13的实际完成的阶段上游,要完成的数据载体10、11、12、13是个人化的,如果这尚未被完成。这个步骤是必须的,从而阻止通过已经为所述批次的数据载体10执行的正确的“记录”完成过程,同样地(相同地)完成一批同样的数据载体10、11、12、13。这里要注意的是,同样批次的数据载体具有相同的批号。采用数据载体的批号以计算用于针对数据载体的验证所需的验证值AV。因此,对于一批数据载体(并且它们分别具有相同的批号),相同的AV值对于验证就足够。这使得对于包括验证的完成过程可以重复地应用。但是这在任命完成的情况下要被阻止。在子步骤TS211中,完成脚本300校验相关数据载体10、11、12、13是否已经被个人化,例如因为这个数据载体10、11、12、13已经在以前的生产阶段中被个性化。如果没有,则数据载体10、11、12、13通过存储在数据载体10、11、12、13中的批号而个人化,所述批号被对于每个数据载体单独的序列号所替代,如在步骤TS212中所指示的。为了使辅助应用程序210和数据载体10、11、12、13之间的安全环境成为可用的,如图7中所示,使用与如上参考安全模块100 (比较图4)所述的相同的过程。在步骤S22中,辅助应用程序210针对数据载体10、11、12、13验证其本身。在子步骤TS221中,从安全模块100上的管理应用程序110中,通过辅助应用程序请求对于每个数据载体单独的并且对于这个验证所需的验证值AV。基于授权数据集410中的预定,在辅助应用程序210最后通过获得的AV在子步骤TS223中针对数据载体10、11、12、13验证其本身之前,在子步骤TS222中,管理应用程序110确定AV并且使其对于辅助应用程序210成为可用的。对于在步骤S23中在辅助应用程序210和数据载体10、11、12、13之间建立安全信道,辅助应用程序210在子步骤TS231中从管理应用程序110请求因此必须的密钥,其从存储于安全模块100上的数据载体中得到,作为授权数据集410的部分。在子步骤TS233中,这个管理应用程借助授权数据集410的手段确定对应的密钥并且使其对于辅助应用程序210成为可用的。在子步骤TS233中,辅助应用程序210通过这些得到的密钥,建立到数据载体10、11、12、13的安全通信连接。步骤S23是可选的,尤其因为在随后步骤S24中传送的安全数据集已经可以独立于传输信道的加密而被解密。现在,做出所有准备从而执行数据载体10、11、12、13的实际完成,如参考图8所述。在步骤S24中,完成数据集310通过完成脚本300的命令而传送到数据载体10、11、12、13并存储在例如EEPROM存储器中。恰好,作为预防措施,这个存储器已经在此前被完全删除。在步骤S24之后,数据载体优选地通过复位信号(热复位)而重启,并且类似于步骤S22执行验证,然而,所述验证现在针对完成的数据载体的(JAVA卡)操作系统而生效,这并未在图中示出。随后,在步骤S25中配置已经被更新并通过完成数据310完成的数据载体10、11、12、13的操作系统。最后,基于授权数据集410中的预定而校验这个配置。为了这个目的,辅助应用程序210在子步骤TS261中从安全模块100上的管理应用程序110请求对应的配置校验值。在子步骤TS262中,管理应用程序110根据授权数据集410中的说明创建这个校验值,并使对应的值对于辅助应用程序210成为有效的。对于每个数据载体独立的数据组件可以进入 到配置校验值的计算中。辅助应用程序210在子步骤263中将接收的配置校验值传送到数据载体10、11、12、13。这里,在子步骤TS264、TS265中,将接收的配置校验值与通过当前配置计算的数据载体内部的校验值相比较。仅当两个检查值相匹配时,即已经根据授权数据集410中的预定而配置数据载体10、11、12、13,在子步骤了5267中释放数据载体10、11、12、13中对应的配置,并且关于完成的可接受的数目的授权数据集410中的计数器通过管理应用程序110减少一个。否则,完成过程不成功地退出。完成的释放意味着完成的数据载体10、11、12、13已经为进一步的生产步骤(例如初始化或者对于将来用户的个性化)做好准备。
权利要求
1.一种用于通过将所述完成装置(200)上出现的完成数据集(310 ;310’;310”)合并入所述至少一个数据载体(10 ;11 ;12 ;13)完成连接有完成装置的至少一个便携式数据载体(10 ;11 ;12 ;13)的方法,其特征在于 在连接有所述完成装置(200)的安全模块(100)上,使得不同授权数据集(410 ;410’ ;410”)以及用于管理所述不同授权数据集(410 ;410’ ;410”)的管理应用程序(110)可用, 由此,所述授权数据集(410 ;410’ ;410”)的每一个分别精确指定一个完成并且分别精确与一个完成数据集(310 ;310’ ;310”)相关联,以及 由此,所述管理应用程序(110)根据选择的授权数据集(410)中的说明而监测所述至少一个数据载体(10 ;11 ;12 ;13)的完成。
2.如权利要求I所述的方法,其特征在于,所选择的授权数据集(410)通过唯一地将在所述完成装置(200)上成为可用的完成脚本(300)与所选择的授权数据集(410)相关联,唯一地指定将被合并的完成数据集(310)以及用于将所述完成数据集(310)合并入所述至少一个数据载体(10 ;11 ;12 ;13)的完成命令(320),所述完成脚本预定所述完成数据集(310)以及所述完成命令(320)。
3.如权利要求I或2所述的方法,其特征在于,所选择的授权数据集(410)指定所述安全模块(100),并且仅当所述安全模块(100)与所述授权数据集(410)中的说明相匹配时,使所选择的授权数据集(410)在所述安全模块(100)上可用。
4.如权利要求I至3中任意一项权利要求所述的方法,其特征在于,所选择的授权数据集(410)指定所述至少一个数据载体(10 ;11 ;12 ;13)并且仅当所述至少一个数据载体(10 ;11 ;12 ;13)与所述授权数据集(410)中的说明相匹配时执行所述完成。
5.如权利要求I至4中任意一项权利要求所述的方法,其特征在于,所选择的授权数据集(410)用与所述授权数据集(410)相关联的完成数据集(310)和/或发生该完成的期间来指定要完成的数据载体(10 ;11 ;12 ;13)的最大数目,并且仅当尚未达到所述指定的最大数目和/或给出所述指定的期间时执行所述完成。
6.如权利要求I至5中任意一项权利要求所述的方法,其特征在于,在所述完成装置(200)上可执行的辅助应用程序(210),以及步骤 -将包括所选择的授权数据集(410)的授权数据脚本(400 )以及所述述完成脚本(300 )传送(Sll)到所述完成装置(200); -通过借助所述辅助应用程序(210 )执行所述授权数据脚本(400 ),将来自所述完成装置(200)的所述授权数据集(410)传送(S14)到所述安全模块(100); -通过借助所述辅助应用程序(210)执行所述完成脚本(300),将来自所述完成装置(200)的所述完成数据集(310)合并(S24)入所述至少一个数据载体(10 ;11 ;12 ;13)。
7.如权利要求6所述的方法,其特征在于,所述完成脚本(300)以及所选择的授权数据集(410 )在传输到所述完成装置(200 )之前被加密(S7 ; S9 )。
8.如权利要求7所述的方法,其特征在于,所述完成脚本通过借助所述辅助应用程序(200)执行之前,通过所述辅助应用程序被解密(S19)。
9.如权利要求7或8所述的方法,其特征在于,所选择的授权数据集(410)在传输到所述安全模块(100)之后,通过所述管理应用程序(110)被解密(S15)。
10.如权利要求6至9中任意一项权利要求所述的方法,其特征在于,所述辅助应用程序(210)针对所述安全模块(100)和所述至少一个数据载体(10 ;11 ;12;13)验证其自身(S12;S22),并且以加密的方式执行从所述完成装置(200)到所述安全模块(100)和/或所述数据载体(10 ;11 ;12 ;13)的数据通信。
11.如权利要求I至10中任意一项权利要求所述的方法,其特征在于,所述管理应用程序(110)基于所选择的授权数据集(410)中的配置预定而预定(S26)所述数据载体(10;11 ;12 ;13)的完成的配置。
12.如权利要求I至11中任意一项权利要求所述的方法,其特征在于,所述安全模块(100)在成为可用的(TS12)之前被个性化。
13.如权利要求I至12中任意一项权利要求所述的方法,其特征在于,所述至少一个数据载体(10 ;11 ;12 ;13)在所述完成数据集(310)的合并之前被个人化(S21)。
14.一种用于监测一种方法的安全模块(100),该方法用于通过将可连接有所述安全模块(100)的在完成装置(200)上出现的完成数据集(310)合并入至少一个数据载体(10 ;11;12 ; 13)来完成所述至少一个数据载体(10 ;11 ;12 ;13),其特征在于 所述安全模块(100)适合于接纳不同的授权数据集(410 ;410’ ;410”),并且包括管理应用程序(110), 由此,所述授权数据集(410 ;410’ ;410”)的每一个分别精确指定一个完成并且分别精确与一个完成数据集(310 ;310’ ;310”)相关联,并且 由此,所述管理应用程序(110)根据选择的授权数据集(410)中的说明而监测所述至少一个数据载体(10 ;11 ;12 ;13)的完成。
15.如权利要求14所述的安全模块(100),其特征在于,所述管理应用程序(110)适合于根据如权利要求I至13中任意一项所述的方法而监测所述至少一个数据载体(10 ;11 ;12;13)的完成。
16.一种用于完成至少一个便携式数据载体(10 ;11 ;12 ;13)的系统(1000),包括 -具有辅助应用程序(210)的完成装置(200), -连接有所述完成装置(200)的安全模块(100),具有根据权利要求14或15所述的管理应用程序(100), -将要完成的至少一个便携式数据载体(10 ;11 ;12;13),其连接有所述完成装置(200),以及 -不同的授权数据集(410;410’;410”)以及不同的完成脚本(300;300’;300”),其各自包括完成数据集(310 ;310’ ;310”)以及完成命令(320 ;320’ ;320”),由此,所述授权数据集(410 ;410’ ;410”)的每一个与一个所述完成脚本(300 ;300’ ;300”)精确地相关联、并且精确指定一个完成, 由此,所述辅助应用程序(210)适合于通过执行选择的完成脚本(300),将所述不同的授权数据集(410 ;410’ ;410”)合并入所述安全模块(100)以及将所述对应的完成数据集(410)合并入所述数据载体(10 ;11 ;12 ;13),以及 由此,所述管理应用程序(110)适合于根据与所述完成脚本(300)相关联的所选择的授权数据集(410)中的说明,监测所述完成。
全文摘要
根据用于完成连接到完成装置(200)的至少一个便携式数据载体(10;11;12;13)的方法,将在完成装置(200)上出现的完成数据集(310;310’;310”)引入到数据载体(10;11;12;13)。为了这个目的,将安全模块(100)连接到完成装置(200)。在安全模块(100)上提供不同的授权数据集(410;410’;410”)。此外,安全模块(100)包括用于管理不同的授权数据集(410;410’;410”)的管理应用程序(110)。授权数据集(410;410’;410”)的每一个精确指定一个完成。此外,授权数据集(410;410’;410”)的每一个精确地与一个完成数据集(310;310’;310”)相关联。安全模块(100)上的管理应用程序(110)根据从不同的授权数据集(410;410’;410”)选择的授权数据集(410)中的说明而监测至少一个数据载体(10;11;12;13)的完成。
文档编号G07F7/10GK102754131SQ201180008518
公开日2012年10月24日 申请日期2011年2月3日 优先权日2010年2月5日
发明者J.特里格, L.霍尔特曼, M.乔尔尼格, S.斯塔莫 申请人:德国捷德有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1