包括便携式数据处理单元的数据交换系统的制作方法

文档序号:6409615阅读:218来源:国知局
专利名称:包括便携式数据处理单元的数据交换系统的制作方法
技术领域
本发明涉及至少包括一个便携式数据处理单元的数据交换系统,该数据处理单元包括数据通信装置,处理装置及存储装置,后者包括一个执行程序。
这样一种系统已由国际专利申请WO-A-87/07063公开,其中描述了一个具有多个应用文件的便携式数据载体。这个便携式数据载体的一个最重要的应用是适于多种应用的多用卡(smart card)。该公知数据载体被描述成具有保密特征以支持该数据载体多种应用的分级结构数据载体。应用被视为数据组。该专利申请描述了在数据载体上分级文件系统的实施,以便存储可改变的数据并结合存取许可的分级组。该数据载体响应一组公共指令。文件存取许可对于不同的操作是不同的并根据口令的验证来批准。引入一种口令验证尝试计数器及设置存储数据破坏作为防止过多存取企图的许可。该公知数据载体主要作为存储装置而非处理器存在。仅可由执行程序例如二进制逻辑操作执行非常简单的功能。它不可能允许基于与数据载体通信的终端的请求执行来规定的一组操作。其唯一的保密选择是引入口令验证。在该公知系统中不可能有另外的存取条件验证。此外,数据载体的每个应用具有它自己在数据载体存储装置中的文件。没有采取专门的措施来增强可得到的存储空间的效率,尤其在多用卡上该存储空间是非常有限的,因此限制了可能的应用的数目。
EP-A-0,479,655涉及在多用卡中存取条件检验的实施。对于它公开了一种规格的技术,但最好是提供包括另外存取条件验证可能性的措施。
EP-A-0,361,491涉及一个芯片卡程序系统,用于允许卡的受保护(再)编程。它描述了使用写一次存取条件来控制可编程存储器部分的存取的以便编程。以此方式可以扩展单个卡上的应用数目。并描述了用包括密码方案的各种技术来验证存取条件。
EP-A-0,292,248涉及使用不可改变的操作系统程序对多用卡装入应用。它包括使用是有指定存取特性的存储区域实施数据存取条件执行方法。规定的存取条件为“写一次”(仅为隐含的描述)及“只执行”。
US-A-4,874,935涉及使用数据词典的卡编程,这里数据词典描述存储在卡存储器中的数据单元布局。数据词典通常被理解为不同于目录的地方在于它们不仅描述实际被存储的数据,而且也描述以后将要被存储的数据。此外,数据词典通常包括数据格式说明。数据词典以编码格式被用于数据库管理系统中,在那里它们被存储在硬盘上作为数据库的一部分。它们也被发现用在软件开发环境的程序汇编产生的目标输入文件中。但是该专利没有提出数据词典特别适用于多用卡的描述。
本发明的主要目的在于提出一种装置,它能最佳地适应在便携式数据处理单元尤其是多用卡上可获得的存储空间的有限物理尺寸产生的限制。
本发明的另一目的是提供程序码受保护输入的更通用机构并允许这种输入能用于多个程序,每个程序用于每个便携式数据处理单元的一个应用。
此外,本发明旨在提供存取条件验证的使用,它不是被便携式处理单元制造商规定的而是由应用设计者适应他的特殊需要选择的。
因此,根据本发明的系统的特征在于该存储装置还包括至少一个交互范围(interaction context),该交互范围包括下列相关数据结构a、一组基本通信原码(communication primitives),每当数据处理单元与类似单元通信时它们被接收,所述原码至少包括用于选择地进入一个所述交互范围中的原码;b、一组程序步骤说明,它响应于每个接收的通信原码确定要执行的步骤,并至少包括在启动交互范围时要被执行的第一程序步骤说明及在终止该交互范围紧前面要执行的最后程序步骤说明;c、一组(可能是空的)数据单元,或是永久性存储或是被计算的,它们适于当在程序步骤说明中确定的程序步骤被执行时使用;d、一组(可能是空的)对于数据单元的参考值,这些参考值与程序步骤说明相关,所述数据单元也可进入另一可能的交互范围并适于当在程序步骤说明中确定的程序步骤被执行时使用;e、一组(可能是空的)数据表,它包括一个对于数据单元的参考值表,它们适于作为被与通信原码相关的程序步骤说明使用的通信原码的一部分;f、一组存取条件,它与相关于程序步骤说明被参考的数据单元有关;g、一组存取条件,它与数据表中数据参考值的表有关。
通过以这种方式确定在便携式处理单元的存储装置中的数据,该处理单元可真正地构成一个处理器,即,它不仅允许逻辑操作,而且它可执行由受权人员如银行职员装入到处理单元中的处理。通过提供可能响应于接收指令提供任意复杂操作的程序步骤及通过提供可作为这种指令一部分寻址的存储数据单元的直接表,可最佳使用通信的带宽,结果减少了指令交换的数目。利用根据本发明的系统将具有系统的许多实际应用,但需要两个指令的交换。唯一固定的事是存储装置中的结构,它被这样的方式规定可用非常有效的方式增加单元的若干应用,即尽可能使用少的附加存储空间,当该单元是在可得到的存储空间上受到严重限制的多用卡时,这尤其是最为重要的。此外,根据本发明的该结构提供了包括保密措施的所有可能性,以便禁止未经批准的人员接近未授权使用的处理或数据。
在第一优选实施例中,如上确定的数据交换系统的特征在于存储装置还包括至少两个交互范围,至少一个应用说明及一个存储对于目前生效的交互范围的参考值的存储单元,每个应用说明包括a、一个数据表,它包括对于数据单元的参考值,这些参考值可进入两个或多个交互范围并可被附加的数据单元扩展;b、另一组存取条件条件它与所述参考值或所述附加数据单元有关并确定了使用限制。
通过这些措施,所有对于数据单元的参考值对于不同的交互范围是共同的并可对于所有这些交互范围存取,因此仅需要存储一次,节省了存储空间。并且对于所述数据参考值可取得共同的存取条件来存取预定的交互范围。因此,这些共同的存取条件仅需要存储一次,由此节省了存储空间并增高了效率。
每个应用说明也可包括一个程序步骤库,该程序步骤库包括可执行码单元,可执行码单元可被与每个所述应用说明有关的每个交互范围的程序步骤说明使用。
最好该处理单元适用于至少两种应用并使用很少附加存储空间。为了达到这个目的,根据本发明的数据交换系统的特征在于存储装置包括至少两个应用说明及可执行码单元,可执行码单元可被每个应用说明中的每个交互范围的程序步骤说明使用,或被每个应用说明中的每个程序步骤库的每个可执行码单元使用。
最好在程序步骤库中的可执行码单元可通过包括它们操作参数分级的使用说明来增强,这些级涉及到属于数据单元的特征,这些数据单元可作为实际值通过计算,仅当数据特性及参数级适配时才进行该计算。这是一个既基于数据级又基于功能级检验存取条件的有效方式,对其存在非常有效的实施。
如果根据本发明的数据交换系统具有以下特征则可提供系统更大的可靠性执行程序包括对用于初始化存储单元的一个欠缺的交互范围的参考值,该存储单元存储对于当前正生效的交互范围的参考值,以便当检测到内部不稳定性后要恢复操作的正常状态或每当执行程序被启动但没有被由对方数据处理单元接收的通信原码已规定的直接交互范围时执行一次最后的操作。
为了增强处理单元中数据及功能的保密性能,根据本发明的数据交换系统可具有这样的特征存储装置包括一个专用于包括个人身份证号码的交互范围,及执行程序设计用于改变由数据交换系统的使用者提供的个人身份证号码。
有利的是个人身份证号码管理交互范围及欠缺的范围可以作为同一装置持有者应用的一部分来实施。这个应用被大多数与根据本发明装置通信的装置所支持,该支持给予装置所有者检查在装置存储器中存储的他个人的数据的机会,例如可允许多用卡持有者在提供合适用户接口的任何多用卡终端上验证他的PIN(身份证号码)。
每个应用说明可包括一个数值表,它的构成是用于对所有交互范围提供识别符,并包括至少一个指示应用类型的第一数字值,指示对提供应用的机构单一识别的第二数字值,指示应用说明特性的第三数字值及另外各单独涉及与应用说明有关的一个交互范围的数字值。
唯一地涉及交互范围的一系列数字值提供了两个通信装置之间建立交互操作性的措施,这比目前对于例如多用卡设想的更为有效,该设想是将对每个交互范围指定单一值的责任交给应用提供机构,而将对机构及应用指定单一值分别留给区域团体及国际合作团体。有利的是应用提供机构可以指定交互范围值来结合实施方式及保密键发生信息。
数据通信装置被设计成以数据块构成数据交换,这些数据块至少包括两部分,第一部分是适于在操作上用于影响由指令执行的操作特性的数据,该指令是由通信原码指示的,或是用于影响由执行的操作产生的数据特性的数据,第二部分是适于在保密上用于确定执行一个操作的适合度或操作部分内部数据的可接收性的数据,以用于操作或证明操作的完成或产生数据的正确性。
这些适合度,可接收性,证明及正确性是通过执行数据的相应密码操作获得的。鉴别及数据保护于是成为指令执行的一个不可缺少的部分,它提供了比现有系统,如多用卡能提供的,更好的保密性。
执行程序可被设计成为接收到通信原码时执行在目前交互范围中规定的操作,每个操作作为预定及固定程序操作的一部分,每个程序操作被单独地规定为与接收的通信原码相关的程序步骤说明的一部分,这些操作至少可以包括以下的操作a、准予使用通信原码;b、解码操作数据或它们的任何部分;c、执行具有任何输入数据的指令;d、对由任何执行的操作产生的任何操作数据编码;e、证明完成执行操作或证明产生数据的正确性的计算以用于保密计算。
如果在启动数据转移时该数据处理单元生成一个用作加密计算的基础的随机处理数,则能进一步加强保密性。
为了提供进入新的交互范围的可能性,如果需要时,对一通信原码可指定一规定值,它将总是被解译为进入一个新的交互范围的请求。
在另一实施例中,根据本发明的数据交换系统的特征在于它包括另一个数据处理单元,该数据处理单元包括与上述数据单元相同的单元以及一个应用程序接口,该接口由指定使附加计算机程序被实现的程序码组成,以便给用户对交换通信原码的顺序的控制或影响在它们中转移的数据或习记或进一步处理在交换中接收的数据。根据本发明的系统软件的开发将会从应用程序接口的可获得性中受益。
在本发明这个优选实施例中,用于进入一个规定的交互范围的原码可包括用于随后通信中保密计算的数字值,由一个处理单元产生的第一随机值及用于识别所述一个处理单元的第二值。
为了进一步从本发明受益,每个通信原码还可构成具有两个或多个数字值,它们增强由执行程序解译的通信原码的表达力。
作为第一变型,每个通信原码可由两个或多个数字值组成组成,第一值的使用涉及与通信原码相关的操作的程序步骤的说明,第二值由固定数目的二进制数组成,其中每个数由执行程序解译为对于单个数据单元的参考值。
作为第二变型,每个通信原码可由两个或多个数字值组成,第一值的使用涉及与通信原码相关的操作的程序步骤说明,第二值的使用用于确定适于作为有效交互范围中外部参考值的哪个数据单元在执行响应操作时将被使用,其方式为可选择任何数据单元,只要它包括适配所述第二值的一个值。
作为第三变型,每个通信原码由两个或多个数字值组成,第一组的使用涉及与通信原码相关的操作的程序的程序步骤说明,第二值是由二进制的数组成的,该数被在通信原码中及执行响应操作中解译数据格式时所使用的执行程序指定专门的含意。
以上确定的交互范围机构及该技术可导致在更宽的范围上使用多用卡并可获得多用卡应用开发的新方案,它们与传统方式相比具有多种优点。
首先,它使得多用卡中应用专用程序码的执行不需要对作为对另一应用存储数据保密的潜在线索的码作彻底地检查。作为与卡上数据一起存储的存取条件可由卡操作系统执行,不会有执行应用码期间外部干扰的可能性,多用卡方案不需要程序码诊断管理机构。这种管理机构是在传统多用卡中使私人码执行便利的唯一方式。通过验证卡上的执行码,诊断管理机构将包括对于整个系统保密的责任;它使得多种用途的多用卡类型的管理交得极为复杂。该相关的复杂性及成本使得传统的卡类型的应用专用码几乎不能实现。而利用该新技术就能使在早些时候就已为多用卡应用提供者要求的便利性得以满足。
其次,作为卡上专用程序受保护应用的结果,就可以实现专用于在卡中装入另外应用的专用应用。以此方式,一旦装入到卡中的应用就能受到装入它们的那个应用的保护。这种保护将给予多用卡类型有关方面,尤其是卡发行机构及应用提供机构它们业务协定的基础。基于实质性问题如每个卡上所需的存储量,要装备的卡的数量及卡上应用的工作时间而非基于抽象的概念“信得过”及“善后服务”使应用提供合同比传统实施的多用卡易于撰写。此外,卡的发行者及应用提供者不需要共享秘密关键及用合同义务和双方同意的关键运输设施来保护这种共享。
第三方面,如果基于该新技术实施时,与现有技术多用卡操作系统相比,应用软件具有多种优点*在终端及卡之间仅需最小的数据交换便可建立卡及终端之间的交互操作,例如它们支持相同应用。为此目的要交换的数据值可如拟定的国际标准ISO7816-5中推荐的方式构成;*为完成卡及终端之间的处理,如理论推理一样实际上可使用最小数目的数据交换,因为处理是作为专用计算完成的而不必需使用冗长的标准指令序列;*允许可控制地存取数据,而不需要如目前使用的及标准推荐的由所有的应用共享的目录及文件分级体系规定的有关存取路径;*允许终端及多用卡应用相互协同地发展,这种发展过程可被计算机软件工具如程序编制器及仿真程序装置支持。卡及终端软件的设计及实施由此可脱离冗长的及易于出错的目前所需用的汇编语言;*允许使用抽象形式描述装置性能,使设备即卡及终端两者标准化,它给予今后发展的灵活性,例如由卡或终端制造者提供的新特征。这种标准化终端性能可以包括API。与现有标准化相比,对多用卡的工作集中在规定固定的信息数据内容以提供以标准确定的方式解译的识别值,目前的标准对于新的发展留有很小的空间。
最后,利用该新技术为多用卡操作系统的实施者提供了设计卡操作系统核心及终端操作系统的最佳实施的极大自由度。对硬件设计者提供了具有对包括在系统核心中的基本操作的硬件支持的最佳硅芯片使用的若干选择。开始于以上规定的规范化设计所获得的硬件成本降低将大于基于通用单片计算机改进的成本降低。
现在将参照表示本发明总原理的实施例的一些附图,来详细地描述本发明。


图1表示基于分级体系结构的数据单元集的现有技术多用卡的应用设计;图2表示在一个便携式处理单元及一类似结构的处理单元之间以目前作为标准接收的格式给出的通信流框图;图3表示在便携式处理单元如多用卡及卡终端中使用交互范围概念的本发明基本实施方式;图4表示一个执行范围的实际结构例,着重于交互范围中包含的程序步骤说明与执行程序步骤时使用的数据单元及库功能之间的各种关系;图5表示涉及执行由通信原码引起的程序步骤说明的程序执行控制及保密范围转换的流程图例。
在现有技术系统中的数据及文件的结构表示在图1中。基本上,具有一个主文件1,它与多个基本文件3及一个或多个专用文件2相连接。每个专用文件2又可与一个或多个另外的专用文件2及一个或多个基本文件3相连接。现有技术使用了树状分级目录及文件体系。在现有技术结构中下级的数目原则上不受限制。在图1中所使用的术语取自于国际上推荐的ISO标准7816-4。根据图2中所示的一个便携式数据处理单元5与一个类似结构数据处理单元4之间的通信流的标准格式,通信包括数据块对的一个组。通信开始于来自数据处理单元4的一个复位信号mφ。这个复位信号可能在由数据处理单元5中电源开通逻辑产生的通信带宽以外。便携数据处理单元5对可能跟随着内容的复位(ATR)信号ml以答复作出响应。所有随后的数据块对m2,m3,……,m(n-1),mn由跟随着内容的通信原码(primitive)(例如指令)为首的数据块组成。
图3表示根据本发明的两个数据处理单元的内部结构,它们通过发送及接收数据彼此通信。左边的数据处理单元4尤其可为一终端,而右边的数据处理单元尤其可为一便携式数据处理单元,例如一个多用卡。但是,本发明也可应用在能够通过适当通信装置彼此通信的两个便携式数据处理单元上。
每个数据处理单元4,5包括数据通信装置7,14,通过它们可以交换构成的数据块。每个数据处理单元4,5还包括处理装置8,15及存储装置9,16。存储装置9,16可以是任何结构的只读存储器(ROM),随机存取存储器(RAM)及可编程只读存储器,例如电可擦的可编程只读存储器(EEPROM)。
存储装置9,16包括一个执行程序12,17,这里用“MAXOS”表示。如果该便携式数据处理单元5适于两种或多种应用时,存储装置9,16包括两个或多个说明部分13(1)…13(n),18(1)…18(n)。具有的应用说明部分与具有的数据处理单元的相关应用一样多。每个应用说明部分用“CSA”表示。第二应用说明部分13(2),18(2)在图3中以放大的尺寸表示,以便能显示出每个应用说明部分的内容。每个应用说明部分13(i),18(i)至少包括一个“交互范围”11(1)…11(m),19(1)…19(m)。每个交互范围用“CTA”表示。这些交互范围中的第一个11(1),19(1)用放大尺寸表示以便显示它们的内容。每个交互范围包括-一组指令,它规定由交互范围识别的通信原码及参考在一组程序中规定的适当程序;-一组数据;-一组对于另外交互范围-如果有的话-中存在的数据的参考数据;-一组可由执行程序12,17执行的程序步骤;-一组对数据单元的存取条件;-一组涉及在由另一数据处理单元发出的指令中将使用的数据单元的外部参考值;-选择地开发的另外专用表格。
最后,,存储装置9,16各包括一个存储单元21,20,它包括对“当前CTA”即当前生效的交互范围的参考值。
在一个应用说明部分中多个交互范围的用意是在数据处理单元4,5间可能的交互作用中提供功能隔离。当该功能隔离也是在保密状态下的隔离时这是特别合适的。作为一个例子,可为一个多用卡及例如打开一扇门的终端之间的第一交互作用,及允许被打开的多扇门编程时的第二交互作用。第二交互作用需要比第一交互作用更好地保密及被指定它自己的交互范围。为了获得存取交互范围,第一步是保证在交互范围内可能被执行的操作的保密。
图4表示实现交互范围机理的实际方案,它作为表现数据单元,存取条件及程序步骤之间关系的存储器机构模型表示出来。每当便携式数据处理单元5具有两种或多种应用时将应用图4的结构。如果仅具有一种应用时该结构将极其简化,如以下将要说明的。在图4中表示了数据处理单元5的标号。但是,图4的结构同样地可应用于数据处理单元4的存储装置9。在图4中数据单元说明部分及程序步骤说明部分最佳地被组织,以便在形成一种应用(CSA)的不同交互范围(CTA’S)之间反映共享程序码及共享数据。
存储装置16包括数据单元H(1)…H(7),作为操作系统一部分的可执行码单元G(1)…G(5),及应用说明部分18(1),18(2)(CSA1,CSA2)。在图4中省略了操作系统内部的数据及码。在图4中所示的数据单元,可执行码单元及应用说明的数目仅是作为例子给出的,这些数目可根据实际中的需要而改变。
每个应用说明18(1),18(2)实际被设置在存储装置中。它们提供反映存储器使用的第一抽象底层。每个应用说明18(1)18(2)的组成为-程序步骤库,它由可执行码单元F(1)…F(4)组成,可执行码单元涉及对此目的适用的操作系统的可执行码单元,如用箭头P(1)…P(5)所示;-一个数据单元E(1)…E(7)的表,它被本应用说明18中的交互范围19(1)…19(2)内的程序步骤使用。该数据表包括数据存取状态及指向保持数据单元的存储区域的指针q(1)…q(7);-一个交互范围表,它包括多个交互范围说明19(1),19(2)。
如图4中所示的程序步骤库中的单元数目,应用说明18(1)中的数据单元表及交互范围表的数目仅是为了示范的目的。当然,单元数目可以根据所述的应用而变化。
交互范围19(1),19(2)实际设置在存储应用说明18(1)的存储装置中。逻辑上,交互范围提供了存储器使用控制的第二层。由该第二层及应用说明层提供的组合控制给于便携式数据处理单元、例如多用卡执行交互范围机构一种有效的实施。每个交互范围19(1),19(2)包括
-一个程序步骤说明C(1)…C(5)的表。这些程序步骤说明可涉及例如由箭头S(1),S(2)所示的应用说明18中的程序步骤库内的程序步骤说明。另外这些程序步骤说明可涉及例如由箭头t(1)所示的操作系统提供的可执行码单元G(1)…G(5)。另一替换是,这些程序说明可包括如箭头r(1)…r(6)所示的对在执行期间程序步骤使用的且出现在相关应用说明18的数据表中的任何数据的直接参考;-一个数据表,它包括被有关交互范围中程序步骤专门使用的数据单元B(1)…B(5)。数据单元被表示为相对关应用说明18的数据表的参考并结合当存取实际数据时的相关存取状态,如箭头u(1)…u(5)所示;-一个外部接口表;它包括作为指令被相关的交互范围19(1),19(2)接收的通信原码A(1)…A(4)。在一个通信原码内的每个指令涉及在相关交互范围内的程序步骤表的多个程序步骤说明C(1)…C(5),如由箭头v(1)…v(4)所示。由通信装置4发出的指令可涉及应用说明的数据表中的单元并在该指令后跟随着一个或多个地址。每个指令可伴随有数据单元作为对指令处理的输入。这里所给出的地址数目仅作为例子,并对于每个指令可根据实际需要来确定。
数据单元的保护是由设置存取条件来提供的。通信原码A(1)…A(4)内的任何外部指令仅能对在相关交互范围19的数据表中定位的数据单元寻址。如果存取条件满足才允许存取。这些存取条件规定为对于指令所允许的存取类型;这样一种存取条件可以为不存取,只读存取,读及写存取及加密键的使用。也可使用另外的存取条件。例如,通信原码A(1)的指令可具有通过参考箭头W(2)对数据单元B(2)的只读存取,而通过原码A(2)的指令具有通过参考箭头W(3)对同一数据单元B(2)的读及写存取。
程序步骤说明C(1)…C(5)可涉及相关的应用说明18的数据表中的数据单元并不涉及其它。同样,如果存取条件满足才提供存取。这些存取条件也规定为允许的存取类型例如,不存取,只读存取,读及写存取及加密键的使用。用于相同交互范围19内的不同程序步骤说明的存取条件对于相同应用说明数据表单元E(1)…E(7)可以不相同,例如参考箭头r(1)可代表只读存取条件,而参考箭头r(2)可代表读与写存取条件。
存取条件在相关的级上被检验,也即在应用说明级或交互范围级上并仅进行一次。交互范围19(1),19(2)内数据表的单元B(1)…B(5)直接地由箭头u(1)…u(5)涉及到应用说明18(1)的数据表中的数据单元的指针,因为在应用说明18(1)的数据表单元E(1)…E(7)中的存取条件已被满足。但是,在涉及应用说明18(1)中数据表单元的交互范围19(1),19(2)内的程序步骤说明C(1)…C(5)必须首先满足与应用说明18(1)内的数据表单元E(1)…E(7)相关的存取条件。应用说明18(1)及它相关的交互范围19(1),19(2)的数据表内的任何数据单元或程序说明单元不被存储装置16内的任何其它应用说明所涉及。构成程序步骤说明的可执行码仅可间接地经由与每个程序步骤说明C(1)…C(5)相关的有限参考数据组寻址数据。使用由B(1)…B(5)所描述的数据单元,参考表可暂时地通过由对在作为与程序步骤说明相关的指令接收的通信信息中实际规定的地址进行估算所获得的参考数据单元被执行程序扩展。除直接规定的并仅遵循规定的使用条件的数据外没有另外的数据可被寻址。换言之,图4中被看作应用说明及其相关交互范围的优选存储器参考模型对于数据处理单元5的单一应用中的操作提供了专用范围。在对所有的应用共同的存储装置16中存储数据单元H(1)…H(7),但包括对于应用说明18(1)的交互范围内专用的数据,这种专用性是由执行程序允许存在对每个存储地址的单一指针,如从E(1)到H(2)的q(1)来保证的。仅是码单元G(1)…G(5)可能涉及到存储在存储装置16中的任何应用说明18(1)…。除应用说明18(1)以外的应用说明对公共码G(1)…G(5)的这些最后参考未直接地表示在图4中。但是,本技术领域中的任何熟练技术人员能方便地将图4的结构扩展到两个或多个应用说明18(1),18(2),…。
在已说明了如何通过使用不同种类的存取条件可保护数据单元后,现在将要说明存储器管理设备。对于存储器管理,可描述为可改变的数据(数据单元)及不可改变的数据(操作系统码)可由操作系统分开管理。图4中所示的存储器参考模型在存储装置16内提供了分开的码及数据单元,它们分别涉及从相关应用说明18中的数据表及程序步骤库出发的指针q(1)…q(7),p(1)…p(5)。在每个交互范围19(1),19(2)内的数据表单元仅包括对那些指针的参考,而没有直接参考存储装置16中的码G(1)…G(5)及数据单元H(1)…H(7)。相关应用说明18的数据表提供了操作系统执行存储器管理所需的间接级。
通过在两个级上提供公共码库“指令主体”,如程序步骤说明C(3)涉及应用说明18(1)中程序步骤库内的码单元F(2)以便在不同的交互范围中共享公共码,就避免了码的复制。但是,程序步骤说明C(3)的主体也直接涉及存储在存储装置16中并由操作系统提供的码G(3)。所有由操作系统提供的可执行码单元G(1)…G(5)是为了直接执行而设置的。
基本上,根据图4的存储器结构也可应用在仅设有一种应的数据处理单元5的情况下。在此情况下,唯一的应用说明18(1)甚至可与一个交互范围19(1)相一致,该交互范围则至少包括以下相关数据结构a、一组基本通信原码A(1)…,每当数据处理单元5与类似单元4通信时它们被接收,所述原码至少包括用于选择地进入至少一个所述交互范围中一个单元的原码;b、一组程序步骤说明C(1)…,它响应每个接收的通信原码A(1)…确定要执行的步骤,并至少包括在启动交互范围时要被执行的第一程序步骤说明及在终止该交互范围紧前面要执行的最后程序步骤说明;c、一组(可能是空的)数据单元H(1)…,或是永久性存储或是被计算的,它们适于当在程序步骤说明C(1)…中确定的程序步骤被执行时使用;d、一组(可能是空的)对于数据单元的参考值,这些参考值与程序步骤说明C(1)…相关,所述数据单元也可进入另一可能的交互范围并适于当在程序步骤说明C(1)…中确定的程序步骤被执行时使用;e、一组(可能是空的)数据表,它包括一个对于数据单元的参考值表,它们适于作为被与通信原码相关的程序步骤说明使用的通信原码的一部分;f、一组存取条件,它与相关于程序步骤说明被参考的数据单元有关;g、一组存取条件,它与数据表中数据参考表B(1)…有关。
如果仅对数据处理单元5设置了一种应用,及至少具有两个交互范围19(1),19(2),每个应用说明包括a、一个数据表,它包括对于数据单元的参考值E(1)…,这些参考值可进入两个或多个交互范围19(1)…并可被附加的数据单元扩展;b、另一组存取条件,它与所述参考值E(1)…或所述附加数据单元有关并确定了使用限制。
在两个或多个交互范围说明的每个中的程序步骤说明组也包含在终止该交互范围紧前面要执行的一个附加最后程序步骤说明。
图5表示在上述由“MAXOS”(12,17)确定的执行程序中的控制流程。
在系统供电后在步骤30上软件开始处理一个复位码。在步骤31上,进入数据处理单元的核心操作保密级。描述这一级的存取条件被存储在存储器的不变部分中,例如ROM或硬件逻辑中。在步骤32中,检验非易失性存储器的稳定性,及去消任何的改动,这种改动可能是由突然的失电例如抽出多用卡而未结束。非易失性存储器稳定性的检仅涉及检验在存储器中存储的状态信息并计算检验和值。存储器的内容(如果真正访问的话)仅用作计算检验和值。因此,稳定性检验是一种安全操作。稳定性检验设施的精确性能取决于数据处理单元内硬件的细节及非易失性存储器修改程序,后者在很大程度上与规定的保密结构无关。在总的存储器稳定性检验后存储在存储器中的保密范围的预计算级被改变。最后,数据处理单元的随机存取存储器被启动。
在步骤33上,如果执行环境由此表明是安全的,则进入数据处理单元的安全应用保密级。在该级上任何与核心操作有关的存储器存取被闭锁。对应用数据及来自此级的说明的访问是专门通过核心操作中的程序来提供的,该程序将维持在进行的存储器操作中的状态信息。
当复位后的首次进入时,在步骤34上使用应用数据单元的描述符来检验具有描述符的存储数据的稳定性,如果状态的所述特征不稳定,则存储器被改变。对复位(ATR)信息的回答是由应用说明符中存储的应用识别符组成的,并以在接收另外数据处理单元4时不可预料的处理数结束。在数据处理单元内部产生一个终端指令来启动欠缺的交互范围。在ATR信息被发送到另外数据处理单元4的紧后面,执行这个内部交互范围启动指令以便为随后的指令提供交互范围。ATR信息明确地指示数据处理单元5的备用状态以接收另外的指令。欠缺的交互范围可被设计成在所有多种应用卡中作为标准应用出现的“多用卡持有者应用”的一部分。在该专门应用范围中,使用者即多用卡持有者可检查它的个人数据或在卡上打开任何另外的应用。
在步骤35上,作为交互范围启动指令的结果,对于标准多用卡持有者进入了交互范围(CTA)保密级。
在一个应用完全被启动后,就准备好接收来自另外数据处理单元4的指令。接着的处理依赖于接收到的指令启动一个应用的指令的处理不同于将被执行的指令。因此,在步骤36确定通信原码已接收并在步骤37上确定是可被接收的以后,在步骤38上,检验是否须启动一个新的应用。如果否定,则进入步骤39,在该步骤上检验该指令以确定它是否被允许及是否能接收输入数据。这些检验仅对应用说明符中规定的指令执行。在步骤39上也可以执行输入数据的解码。
如果检验成功,在步骤40上进入“数据存取保护级”。在该级上,即最高保密级上,在步骤41上执行应用提供者编码的程序。这些程序被存储在应用说明符中并用作对由另外数据单元4发出的专门指令的应用专门反应。这个保密级强制存储器访问到对被执行指令专门规定的下级组。
在步骤41上执行了具有从属输入数据的指令后,在步骤42上离开数据存取保护级。
在步骤43上产生输出数据及指定完成的(密码)证明。在步骤43后,在步骤36上程序等待新的通信原码。
如果未规定专门的指令程序及指令可被仅由操作系统功能组成的程序步骤执行,则不进入数据存取保护级(步骤40),则指令将直接在交互范围保密级上被执行,因为操作系统程序被设计得不妨碍任何数据保护。
如果在步骤38上确定没有新的应用要被启动,程序就进行到步骤44,在其中执行交互范围终止程序步骤。在步骤45上离开当前应用专门保密级,及在步骤46上,在执行程序“MAXOS”的保密级上检验伴随指令的数据。
如果指令被对于要求的应用规定的适当的密码鉴定允许的话,则在步骤47上,进入新的应用专门CTA保密级。该级限制了对从属于新打开的应用的数据存取。
在步骤48上,数据处理单元5通过执行在程序步骤表中规定的初始化指令响应交互范围启动指令,产生数据。如果应用提供者编码程序存在的话,则在步骤49上进入数据存取保护级。在步骤50上执行交互范围启动程序步骤。在步骤51上,离开数据存取保护级并响应与另外数据处理单元4通信,及在步骤43后该数据处理单元4本身已准备好接收新的指令,如以上所说明的。
在已描述了图1至5后,现在来对根据本发明的数据交换系统作出某些一般的观察。
在每个应用说明18(1),18(2)中的程序步骤库内的码可通过包括它们操作参数分级的使用说明来增强,这些级涉及到属于数据单元的特征,数据单元可作为真实值通过计算,仅当数据特征及参数级适配才进行该计算。这提供了对数据单元及对功能检验存取条件的一种方式。与数据特征及参数级各自的适当编码位变换相比较可为该附加技术提供一种有效实施。
执行程序12,17可包括对用于初始化存储单元20中的当前交互范围的交互范围参考值,该存储单元20存储对于当前正生效的交互范围的参考值。通过该措施,当检测到内部不稳定性后,恢复操作的正常状态或是每当执行程序12,17被启动但没有被由另外数据处理单元5接收的通信原码已规定的直接交互范围时,可以执行一次最后的操作。这种欠缺的交互范围可能是包含在如上所述的卡持有者应用的中的这样一种交互范围。
另外,存储装置9,16可包括专用于包括个人身份证号(PIN’S)的交互范围11,19,及执行程序12,17设计用于改变由数据交换系统的使用者提供的个人身份证号码。可以使用几个这样的个人身份证号码及口令。可使用一种口令在可能揭露隐私敏感数据的处理时保护装置的使用。第二种口令可用于在代表由口令持有者可支付的钱数的数据被通信的情况下,保护该处理。第三种口令可用于对应用保密认为是关键性的操作被执行的情况对处理进行保护,该情况例如为根据可能需要的每个交互范围11,19中规定请求的保护方式。还可设置另外的口令。这种PIN管理交互范围可以是在如上所述的卡持有者应用中包含的这样一种交互范围。
每个应用说明13,18可包括一个数值表,它的构成是用于对所有交互范围11,19提供识别符,每个应用说明13,18可至少包括指示应用类型的第一数字值,指示对提供应用的机构单一识别的第二数字值,指示应用说明13,18特性的第三数字值及另外各单独涉及一个交互范围11,19的数字值。开始二个数字值可根据在业务中确定的规则来指定,而其余的数字值由提供应用的机构作为确认适合的值来选择。尤其是可以分配数字值,以区别不同的实施方案,或识别在其加密计算方面的应用所使用的密码键组的组成。此外,该装置在回答复位信息方面可包括一个表,用于在其存储装置中包含与交互范围一起存储的特定识别值组成的识别号的每个交互范围11,19。交互范围识别号表中的第一单元可以是对不参与范围的识别。
数据通信装置7,14最好被设计成以数据块构成数据交换。这些数据块至少包括两部分,第一部分是适于在操作上用于影响由指令执行的操作特性的或由执行的操作产生的数据特性的数据,该指令是由通信原码指示的。第二部分是适于在保密上用于确定执行一个操作的适合度或操作部分内数据的可接收性的数据,以用于操作或证明操作的完成或公开数据的正确性。
当数据以此方式构成时,执行程序17可被设计成在接收到通信原码时执行在目前交互范围20,21中规定的操作,每个操作作为预定及固定程序操作的一部分,每个程序操作被单独地规定为与接收的通信原码相关的程序步骤说明规则的一部分。第一操作可被规定为在通信程序的该点上准予使用通信原码的功能。第二操作可被规定为解码操作数据或它的任何部分的功能,而第三操作可被规定为适当的操作程序步骤。第四操作可被规定为对由执行的操作产生的任何操作数据的编码,第五操作可被规定为证明完成执行操作或证明产生数据的正确性的功能或用于接收数据处理单元中的保密计算上。这些操作反映在图5的流程图中。
此外,数据处理单元5在其回答复位信息时可包括由接收数据处理单元4选择的在值上不可预测的数,该数可作为加密计算的基础。这样一个数目可被称为“卡处理号”。
可提供指定一规定值的通信原码,它将被解译为进入新的交互范围11,19的请求。该通信原码可被指定为“启动指令”。伴随启动指令的数据充分地规定可能通过参照作为回答位信息的一部分通信的识别号被启动的范围。在响应启动指令时所执行的操作首先被包含在接收指定为用于终止的原码的范围中的程序步骤说明描述,其次被包含在规定为要被进入的交互范围中的指定为用于启动的程序步骤说明描述。
用于进入规定交互范围11,19的通信原码最好包括在随后通信中保密计算时使用的数字值。第一随机值可被处理单元4,5中的一个产生出来,而第二值可用作识别一个处理单元的值。该识别可以为计算的结果,计算是这样的,即其结果值可充分地识别该装置及根据需要通过计算或另外操作识别其存储器的状态,这些另外的操作可能在将启动的交互范围11,19中的随后数据交换时完成。所述第二值可被称为“终端识别号”。
此外,启动指令作为产生数据的一部分给出一个数字值,它用于充分地根据需要通过计算或另外操作识别具体的响应数据处理单元,这些另外的操作可能在刚被启动的交互范围中的随后数据交换时完成,该值可被称为“多用卡识别号”。
此外,对多用卡识别号可使用密码功能由存储在数据存储单元5中的数据或由作为启动指令一部分接收到的数据来计算数值,其方式为当响应从具有不同终端识别号的启动装置接收的启动指令进行计算时数值以不可预料的方式变化;这样计算出的多用卡识别号被称为“多用卡笔名”。另外,在待进入的交互范围启动程序步骤的程序步骤说明中所描述的操作被执行前,执行程序可进行一个规定为该范围中程序说明一部分的指定在启动时被执行的密码计算,以确定该范围是否被启动。这些计算可涉及使用多用卡识别号,终端处理识别号及终端识别号及在存储装置中存储的另外值。
作为对在执行指令时由专门数据支持的这种专门计算的替换,也可使用具有参考数据单元位信息组说明的指令。然后,每个通信原码是由两个或多个数字值组成的,第一值的使用涉及与通信原码相关的程序步骤说明,第二值由固定数目的二进制数组成,其中每个数由执行程序12,17解译为对于单个数据单元的参考值。该数据单元被规定在相关交互范围11,19中的外部数据参考值表中,在该表中的每个数据单元用二进制数值表中相应位置上一个二进制数的二进制值的存在位来确定。第二值可被称为“操作数地址”。这样规定的每个数据单元可被在响应操作时使用的操作执行程序12,17使用,其方式可为在该操作程序步骤说明中所描述的方式。
作为对使用专门数据的专门计算及具有参考数据单元位信息组的指令的一种替换,可应用具有数据单元的数据匹配说明的指令格式。在此情况下,每个信号原码由两个或多个数字值组成,第一值的使用涉及与通信原码相关的操作的程序步骤说明,第二值的使用用于确定适于作有效交互范围12,19中外部参考值的哪个数据单元在执行响应操作时将被使用,其方式为可选择任何数据单元只要它包括适配所述第二值的一个值。该第二值可被称为“操作数标记分类符”。此外,交互范围11,19可包括一个程序步骤说明,它指示作为指令一部分给出的操作数标记分类符以何方式与用作该范围中外部参考值的任何数据单元中所包含的数据相比较,在规定合适的指令操作的程序步骤说明被执行前,执行哪个程序步骤说明以选择所需的数据单元。
作为另一替换,可使用具有指令变换的位信息组说明的指令格式。然后,每个通信原码由两个或多个数字值组成,第一值的使用涉及与通信原码相关的操作的程序步骤说明,第二值是由多个二进制值组成的,该值被在通信原码中及执行响应操作中解译数据格式时所使用的执行程序12,17指定专门的含意。这里,该第二值可被称为“指令变址值”。这些值可被设有此附加技术的所有单元对它们被指定的含意作出识别。
在采用后一种替换的情况下,指令变址值可包括一个二进制值,它用以确定指令的第三部分用作操作数地址还是用作操作数标记分类符。但是,作为替换,该指令变址值可包括一个二进制值,它用以确定作为响应指令执行的操作将使用作为一数据单元的数据还是使用操作数地址或是使用操作数标记分类符由一个被处理的数据单元与规定为指令值一部分的每个数据单元相连接的级联组成的数据。另外,该指令变址值可包括一个二进制值,它用以确定指令提供的数据是否使用标记长度方法编码的,以识别相继级联的数据单元。
另一种选择是,指令变址值可包括一个二进制值,它用以确定执行指令中包含的操作将实际导致数据处理单元5(多用卡)中存储的数据的有效变化或是实际产生出由数据处理单元5计算的数据,或是指令结果是反映指令可接收性方面单元状态的数据,伴随指令的数据,可由计算产生的数据规模或其它各种各样的特性。
简言之,以上所介绍的尤其适用于以多用卡方式实现的新技术是独立执行环境的构思。在该方案中处理装置及计算机中的另外资源在不同的应用之间被共享,好象该应用是计算机的唯一用户一样。基于这个新技术在多用卡实施中将设置一个附加的机构用以确定由相关数目的应用所共享的数据的多种存取条件。被独立执行环境支持的并介绍如上的第二种技术是在每种环境中确定指令功能含意的可能性,以便在数据交换系统中两个类似数据处理单元4,5之间的每个交互关系中获得最小数目的指令。最后借助该新技术可以单独地在每个范围中指定涉及存储数据单元的名称。作为从一个数据处理单元4,5接收的指令的一部分的存储数据单元的参考值由此可以作得非常有效因为在现今的多用卡实践中使用很少数目的数据单元及很少数目的不同操作在每个环境中仅单独需要很少的位来编码名称及指令空间。在实际多用卡中,在类似方式的存取条件,它们的检验方法及适用此目的的密码操作方面在数目上将受到很大限制,而它们能够用包括在应用说明18中的交互范围说明19(1)…的两层体系非常有效地被表达。
权利要求
1.数据交换系统,至少包括一个便携式数据处理单元(5),该数据处理单元包括数据通信装置(14),处理装置(15)及存储装置(16),后者包括一个执行程序(17),其特征在于该存储装置(16)还包括至少一个交互范围(19(1)…19(m)),该交互范围包括下列相关数据结构a、一组基本通信原码(A(1)…),每当数据处理单元(5)与类似单元(4)通信时它们被接收,所述原码至少包括用于选择地进入一个所述交互范围(19(1)…)中的原码;b、一组程序步骤说明(C(1)…),它响应于每个接收的通信原码(A(1)…)确定要执行的步骤,并至少包括在启动交互范围时要被执行的第一程序步骤说明及在终止该交互范围紧前面要执行的最后程序步骤说明;c、一组(可能是空的)数据单元(H(1)…),或是永久性存储或是被计算的,它们适于当在程序步骤说明(C(1)…)中确定的程序步骤被执行时使用;d、一组(可能是空的)对于数据单元的参考值,这些参考值与程序步骤说明(C(1)…)相关,所述数据单元也可进入另一可能的交互范围并适于当在程序步骤说明(C(1)…)中确定的程序步骤被执行时使用;e、一组(可能是空的)数据表,它包括一个对于数据单元的参考值(B(1)…)表,它们适于作为被与通信原码相关的程序步骤说明(C(1)…)使用的通信原码(A(1)…)的一部分;f、一组存取条件,它与相关于程序步骤说明(C(1)…)被参考的数据单元有关;g、一组存取条件,它与数据表中数据参考值(B(1)…)的表有关。
2.根据权利要求1所述的数据交换系统,其特征在于存储装置包括至少两个交互范围(19(1)…19(m)),至少一个应用说明(18(1)…)及一个存储对于目前正生效的交互范围的参考值的存储单元(20),每个应用说明包括a、一个数据表,它包括对于数据单元的参考值(E(1)…),这些参考值可进入两个或多个交互范围(19(1)…)并可被附加的数据单元扩展;b、另一组存取条件,它与所述参考值(E(1)…)或所述附加数据单元有关并确定了使用限制。
3.根据权利要求2所述的数据交换系统,其特征在于每个应用说明(18(1)…)还包括一个程序步骤库,该程序步骤库包括可执行码单元(F(1)…),可执行码单元可被与每个所述应用说明(18(1)…)有关的每个交互范围的程序步骤说明(C(1)…)使用。
4.根据权利要求2或3所述的数据交换系统,其特征在于存储装置包括至少两个应用说明(18(1)…)及可执行码单元(G(1)…),可执行码单元可被每个应用说明(18(1)…)中的每个交互范围(19(1)…)的程序步骤说明(C(1)…)使用,或被每个应用说明(18(1)…)中的每个程序步骤库的每个可执行码单元(F(1)…)使用。
5.根据权利要求3或4中任一项的数据交换系统,其特征在于在程序步骤库中的可执行码单元可通过包括它们操作参数分级的使用说明来增强,这些级涉及到属于数据单元的特征,这些数据单元可作为实际值通过计算,仅当数据特性及参数级适配才进行该计算。
6.根据权利要求2至5中任一项所述的数据交换系统,其特征在于执行程序(17)包括对用于初始化存储单元(20)的一个欠缺的交互范围的参考值,该存储单元(20)存储对于当前正生效的交互范围的参考值,以便当检测到内部不稳定性后要恢复操作的正常状态或每当执行程序(17)被启动但没有被由对方数据处理单元(4)接收的通信原码已规定的直接交互范围时执行一次最后的操作。
7.根据上述权利要求中任一项所述的数据交换系统,其特征在于存储装置(16)包括一个专用于包括个人身份证号码的交互范围,及执行程序(17)设计为用于验证由数据交换系统的使用者提供的个人身份证号码。
8.根据权利要求2至7中任一项所述的数据交换系统,其特征在于每个应用说明(18(1)…)包括一个数值表,它的构成是用于对所有交互范围(19(1)…)提供识别符,并包括至少一个指示应用类型的第一数字值,指示对提供应用的机构单一识别的第二数字值,指示应用说明(18(1)…)的特性的第三数字值及另外各单独涉及与应用说明有关的一个交互范围(19(1)…)的数字值。
9.根据上述权利要求中任一项所述的数据交换系统,其特征在于数据通信装置(14)被设计成以数据块构成数据交换,这些数据块至少包括两部分,第一部分是适于在操作上用于影响由指令执行的操作特征的或由执行的操作产生的数据特性的数据,该指令是由通信原码指示的,第二部分是适于在保密上用于确定执行一个操作的适合度或操作部分内数据的可接收性的数据,以用于操作或证明操作的完成或产生的数据的正确性。
10.根据权利要求9所述的数据交换系统,其特征在于存执行程序(17)被设计成在接收一通信原码时执行在目前交互范围(19(1)…)中规定的操作,每个操作作为预定及固定程序操作的一部分,每个程序操作被单独地规定为与接收的通信原码相关的程序步骤说明的一部分,这些操作至少包括以下的操作a、准予使用通信原码;b、解码操作数据或它的任何部分;c、执行具有任何输入数据的指令;d、对由任何执行的操作产生的任何操作数据加密;e、计算执行的操作的完成的或产生的用于保密计算的数据的正确性的证明。
11.根据上述权利要求中任一项所述的数据交换系统,其特征在于数据处理单元(5)在起动数据转移时产生一个随机处理数,它用作加密计算的基础。
12.根据上述权利要求中任一项所述的数据交换系统,其特征在于一个通信原码被指定一个规定值,它总是被解译为进入一新的交互范围(19(1)…)的请求。
13.根据上述权利要求中任一项所述的数据交换系统,其特征在于它包括另一个数据处理单元(4),该数据处理单元包括与数据处理单元(5)相同的单元并可选择地在其存储器中包括一个应用程序接口(10),该接口由指定使附加计算机程序被实现的程序码组成,以便给用户对交换通信原码的顺序的控制或影响在它们中转移的数据或习记或进一步处理在交换中接收的数据。
14.根据权利要求13所述的数据交换系统,其特征在于用于进入规定的交互范围(19(1)…)的原码包括用于随后通信中保密计算的数字值,由该处理单元中的一个产生的第一随机值及用于识别所述一个处理单元的第二值。
15.根据权利要求13所述的数据交换系统,其特征在于每个通信原码由两个或多个数字值组成,第一值的使用涉及与通信原码相关的操作的程序步骤说明,第二值由固定数目的二进制数组成,其中每个数由执行程序(12,17)解译为对于单个数据单元的参考值。
16.根据权利要求13所述的数据交换系统,其特征在于每个通信原码由两个或多个数字值组成,第一值的使用涉及与通信原码相关的操作的程序步骤说明,第二值用于确定适于作有效交互范围(19(1)…)中外部参考值的哪个数据单元在执行响应操作时将被使用,其方式为可选择任何数据单元,只要它包括适配所述第二值的一个值。
17.根据权利要求13所述的数据交换系统,其特征在于每个通信原码由两个或多个数字值组成,第一值的使用涉及与通信原码相关的操作的程序步骤说明,第二值由多个二进制值组成,这些值被在通信原码中及执行响应操作中解译数据格式时所使用的执行程序(12,17)指定专门的含意。
全文摘要
数据交换系统至少包括一便携式数据处理单元(5),其包括数据通信装置(14),处理装置(15)及存储装置(16),后者包括一执行程序(17)及一或多个应用说明(18(1)…18(n)),每个应用说明包括至少一交互范围(19(1)…),交互范围包括指令,数据单元,数据参考值,程序步骤,存取条件及外部参考值;数据单元及数据参考值以及另外的参考值的结构以这样的方式选择,以使可获得例如多用卡的有限存储空间的非常有效的使用。
文档编号G06F21/12GK1150850SQ95191544
公开日1997年5月28日 申请日期1995年2月8日 优先权日1994年2月8日
发明者爱德华·卡雷尔·德容 申请人:贝勒加特投资公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1