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

文档序号:6411140阅读:125来源:国知局
专利名称:包括便携式数据处理单元的数据交换系统的制作方法
技术领域
本发明涉及包括多个数据处理单元的数据交换系统,其中一些便携式数据处理单元建立临时通信链路,而其它不可移动的单元则可具有永久性通信链路。这些处理单元包括数据通信装置、处理装置及存储装置,后者包含执行程序。
这种系统是从国际专利申请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涉及采用数据字典的卡编程,其中数据字典描述存储在卡的存储器中的数据元素的布置。数据字典通常被理解为与目录的不同之处在于,数据字典不仅描述实际存储的数据,也描述以后要存储的数据。此外,数据字典通常包含数据格式的描述。数据库管理系统中使用编译格式数据字典,将它们存储在硬盘上作为数据库的一部分。它们也可在软件开发环境中从程序编译得出的目标加载文件中找到。然而,该专利并未提出特别适用于智能卡的数据字典的描述。
EP0466969A1涉及通过保留一部分卡的存储器作为状态信息存储器并提供特定装置来实现控制状态转移的状态机来提供智能卡执行程序中的功能以支持智能卡与终端之间的一序列报文的正确传送。这些状态信息在确定收到报文时执行的动作中是起关键作用的。接受了可变序列报文的状态机是在计算机语言编译程序设计及计算复杂性理论中众所周知的。该专利并未提出实现对同时驻留在智能卡中的若干可能的应用特定的可变的可能动作组的可能性。
本发明的主要目的为提供正规地、精确地与唯一地描述一个系统的装置,该系统由信用处理单元(trusted processing units)以下述方式组成,即这些处理单元在进行它们之间的通信时将发挥作用,其中这种通信是旨在传送值或其它信用信息的。数据处理单元之间的可能通信模式的这种全面描述既可应用于作为整体的系统,也可应用于单个处理单元的详细操作。这种正规描述提供了在实现的正确性验证中的正规推理的基础,这对于系统在全世界的推广将是必要的。
本发明的另一目的为提供最佳地克服便携式数据处理单元尤其是智能卡上的可利用存储空间的有限物理大小所施加的限制的装置。
本发明的又一目的为提供程序代码的受保护加载的更通用的机构并允许这一加载能用于多个程序,每个程序用于各便携式数据处理单元的一个应用。
此外,本发明旨在提供不是便携式处理单元的制造商所规定的而是应用设计的人员为了适应其特殊需要而选择的存取条件检验的使用。
此外本发明还旨在提供一种机制来保护处理单元之间的通信,使得内容与有次序的序列不能受到任何中介装置的干扰。
因此,按照本发明的系统的特征在于,处理单元总体的存储装置还包括作为“交互作用上下文(interaction context)”的数据处理单元之间的可能通信模式的描述,其中包含按照下述数据结构构成的描述性数据a、每当一个数据处理单元与一个或多个其它单元通信时接受的一组基本的各别通信原码;b、定义响应所接受的通信原码所要执行的动作的一组过程描述;c、永久性存储的或被计算的一组数据元素,在执行过程描述中所定义的过程时可以获得它们以供使用;d、一组对数据元素的引用,这些引用是与过程描述关联的,所述数据元素能被可能的其它交互作用上下文存取,并且在执行过程描述所定义的过程时可获得它们供使用;e、一张可能是空的数据表,包括对数据元素的引用的可能有序组,它们是可利用来作为与通信原码关联的过程描述所使用的通信原码的一部分供明确引用的;f、一组与数据元素关联的存取条件,它们是与结合过程描述所引用的数据元素结合查询的;g、与数据表中的数据引用表关联的一组存取条件。
通过以这一严格的框架来组织进行信用处理单元通信的系统的描述,装置之间的可能通信的操作条件与效果便完整地与穷尽地得到了描述。用结构元素的正规精确语义定义扩大之后,数据便成为适合于正规推理的,并因而本系统的实现变得更适用于正确性的正规检查。为这一目的,所有数据没有必要驻留于单个的处理单元的所有存储装置中。在使用这些数据之前将它加载进处理单元便已足够。数据的安全加载是包含在本发明中的。
在第一较佳实施例中,上述数据交换系统中的单个的处理单元的特征在于,该处理单元的存储装置还包括至少一个包含下述相关数据结构的交互作用上下文
a、每当一个数据处理单元与一个或多个其它单元通信时接受的一组基本的各别通信原码;b、定义响应接受的通信原码要执行的动作的一组过程描述;c、永久性地存储或被计算的一组可能是空的数据元素,在执行过程描述中所定义的过程时可获得它们供使用;d、对数据元素的一组可能是空的引用,这些引用是与过程描述关联的,所述数据元素可以被可能的其它交互作用上下文存取,并且在执行过程描述所定义的过程时能获得它们以供使用;e、一个可能是空的数据表,包括对数据元素的引用的可能有序组,它们是可利用来作为与通信原码关联的过程描述所使用的通信原码的一部分供明确引用的;f、与数据元素关联的一组存取条件,它们是与结合过程描述所引用的数据元素结合查询的;g、一组与数据表中的数据引用表关联的存取条件;h、其中数据单元包含一个以上的交互作用上下文,它所接受的至少一个通信原码将有选择地指示所述交互作用上下文之一以便在接受该通信原码的处理单元中进行进一步引用。
通过以这一方式定义便携式处理单元的存储装置内的数据,实际上将处理单元组织成为处理器,即,它不仅允许加与减,并且还执行由例如银行职员等被授权的人员加载在处理单元中的处理过程。通过提供可响应接收的命令提供任意复杂的操作的过程,及提供能作为这些命令的一部分寻址的存储的数据元素的明确的表,能优化使用通信带宽;导致交换的命令数目的减少。按照本发明的系统,该系统的许多实际使用只需要交换两条命令。唯一固定的事物便是存储装置内的结构,它是这样定义的,可以以非常高效的方式增加单元的若干应用,即通过利用尽可能小的附加存储空间。如果该单元是受可利用的存储空间的严重限制的智能卡,这一点尤其重要。此外,按照本发明的结构提供一切可能性来包含安全性措施,以便禁止未被授权的人存取他们无权使用的进程或数据。
如果包含多个交互作用上下文的处理单元进一步以下述各点为特征便能实现本发明的有利实施例该组过程描述中至少包含一个响应通信原码执行的第一过程描述,它指示所述交互作用上下文之一以便在接受该通信原码的处理单元中进行进一步引用,这一执行导致所指示的交互作用上下文的正确激活。这一上下文激活过程的描述能有利地用来定义与选择上下文关联的安全要求,及执行存储装置的易失性部分中的任何安全与操作数据的初始化。
包含多个交互作用上下文的以下述各点为特征的处理单元可获得进一步的优点该组过程描述中至少包括响应通信原码执行的一个最后过程描述,它指示所述交互作用上下文之一以便在接受该通信原码的处理单元中进行进一步引用,这一执行导致在接收通信原码时所指示的交互作用上下文的正确去激活。这一去激活过程将控制给予即将通过接受通信原码接替的应用。这在应用意外中止时给予应用设计人员执行存储器内容清除及圆满结束操作的机会。
在另一较佳实施例中,以上定义的数据交换系统的特征在于存储装置还包括至少两个交互作用上下文,至少一个应用描述及存储对当前正在实施中的交互作用上下文的引用的存储器元素,各应用描述包括a、包含对数据元素的引用的数据表,这些引用可被两个或更多交互作用上下文存取并且可以由附加的数据元素扩展;b、与所述引用或所述附加数据元素关联并定义使用限制的另一组存取条件。
通过这些措施,凡是对不同的交互作用上下文公用的数据元素的引用对于所有这些交互作用上下文都是可存取的,所以它们只需要存储一次,因而节省了存储空间。并且对所述数据引用的公用存取条件也是预定的交互作用上下文可存取的。因此,这些公用存取条件也只需要存储一次,借此节省存储空间及提高效率。
各应用描述还可包括过程库,库中包含可由与各所述应用描述关联的各交互作用上下文的过程描述使用的代码。
最好,该处理单元只使用少量附加存储空间便适用于至少两个应用。为了达到这一目的,按照本发明的数据交换系统的特征在于该存储装置包括至少两个应用描述以及可由各应用描述内的各交互作用上下文的过程描述或各应用描述内的各过程库的各执行代码单元使用的执行代码单元。
最好,过程库中的执行代码单元能通过包含它们的操作参数的使用说明而得到增强,参数的类别与在计算中作为实际值传送的数据元素的属性有关,这种计算只有在数据属性与参数类别匹配时才能进行。这是在数据级上及功能级上的存取条件检验的高效方法,对于它存在着非常高效的实现。
如果按照本发明的数据交换系统具有下述特征,该系统提供更大的可靠性执行程序包括对默认交互作用上下文的引用,该上下文用于将存储当前正在实施中的交互作用上下文的引用的存储器单元初始化,以便在恢复到操作的正常状态中检测到内部不相容之后,或者在每当执行程序被启动但从类似的数据处理单元接收的通信原码未曾指定明确的交互作用上下文时,便执行一最后的动作。
为了进一步增进过程描述、过程库、代码片段及执行程序的实现的紧凑性,按照本发明的数据交换系统的特征可在于执行程序包括构成用于抽象的处理器的编码指令的解释器的例程,使得大多数过程描述及某些执行代码单元是以数字值编码来供所述解释程序例程解释的。除了执行程序提供的抽象代码解释程序协助正规检验所实现的功能的正确性之外,抽象设计的指令集及少量小的实现例程的使用也可使这种检验更好地适用于推理与证明生成的正规方法。
带有关于交互作用上下文描述及应用描述符的存储的紧凑性的进一步优点,按照本发明的数据交换系统的特征可在于将过程描述编码成在由执行代码单元组成的过程库中所包含的过程的子集上的表中的索引。具体地在当前的发明的上下文中,这些调度表可配置成具有这样的优点,由于数据结构的性质,各别的过程描述的数目通常非常小,例如小于16,使得本系统可进一步具有下述特征过程描述的编码是很小的值,使得存储装置的一个基本存取单元中能存储一个以上的描述,或者在同一存储器存取基本单元中可将描述与其它有关信息组合。为了解决在单一交互作用上下文内的过程描述的数目大于编码空间直接容许的数目这种罕见的情况,按照本发明实现的系统能有利地采用间接引用的附加级,使得其特征在于过程描述的至少一个编码值访问执行程序的一个特殊功能,该特殊功能是设计成通过加入结合用所述特殊值编码的过程描述存储的附加编码信息,来为编码过程描述间接选择实际执行的功能。执行上下文数据结构中的数据的这种附加的存储紧凑性是有利的,特别是考虑到存储装置通常需要存储可观数量的不同应用及上下文描述。
为了增进处理单元内的数据与功能的安全性,按照本发明的数据交换系统可包含下述特征存储器装置包括专用于包含个人标识号的交互作用上下文,及执行程序配置成检验由该数据交换系统的用户提供的个人标识号。
有利地,个人标识号管理交互作用上下文及默认上下文可作为同一设备持有人应用的一部分实现按照本发明的设备用来通信的大多数设备对这一应用的支持给予设备拥有者观察其存储在设备存储器中的个人数据的机会,例如可以允许智能卡的持有人在提供适当用户界面的任何智能卡终端上修改其PIN。
在具有下述特征的按照本发明的数据交换系统中能提供用于以描述交互作用上下文及应用的数据加载存储装置的密码保护方法的选择的有利的通用性存储装置包括至少一个专用于管理同时包含在所述存储装置中的其它交互作用上下文的号码与内容的交互作用上下文。市场可能要求提供带有不同的安全级及运算复杂性的通用性的便携式处理单元以便在同一卡上加载不同的应用以及为发卡组织建立不同产品的选择,这些都是按照同一基本应用内部结构建立的,例如由本发明提供的。当前很少有对这一问题的解决方案,并且通常是基于作为执行程序的整体部分实现的适当特殊功能的,既不提供统一的方法也不提供选择范围。
各应用描述可包含一张数值表,它是为了为所有交互作用上下文提供标识符而构成的并且包括下述数值中至少一种指示应用类型的第一数值、指示提供该应用的实体的唯一标识的第二数值、指示该应用描述的性质的第三数值及各唯一引用与应用描述关联的一个交互作用上下文的其它数字。
唯一地引用一个交互作用上下文的数值串提供在两个通信设备之间建立互相协作性的措施,这比当前为诸如智能卡设想的将赋予各交互作用上下文唯一值的责任转移给供应应用的实体,同时将赋予实体与应用唯一号码的责任分别留给相关的地区与国际公司团体更为高效。供应应用的实体能有利地分配唯一的上下文号来加入实现版本及秘密密钥生成信息。
按照本发明的数据系统可以实现成使其特征在于可将数据通信装置配置成以包含至少两部分的数据块构成数据交换,第一部分为操作性的数据,用它来影响由通信原码所指示的命令所执行的操作的性质或从进行的操作得出的数据,第二部分为安全性的数据,用它来确定执行操作的适当性或操作部分内的数据的可接受性,以用于操作或用来证明操作的完成或得出的数据的正确性。这些适当性、可接受性、证明与正确性是通过在数据上执行相关的加密操作得出的。
数据交换中的这种报文结构以及执行适当的操作定义之前及之后的加密计算的次序为保护在数据交换的协议上不受中间攻击提供一种机制。具体地,它能用来消除对各处理单元的存储装置中明确地保持安全状态的要求,因为它允许包含在指定安全性的部分中各报文中的数据作为加密编码状态信息进行交换检验加密条件安全地初始化状态变量,这些变量只需在存储装置中存储到发送应答报文为止,减少将这些状态信息暴露给窜改企图的时间。最后,这一报文结构允许端对端安全性的更自由的使用,其中通信中的安全性不依赖于任何中介设备。
从而使鉴别与数据保护成为命令执行的整体部分,而提供比在诸如智能卡等当前系统中可获得的更好的安全性。
可将执行程序配置成接收到执行当前交互作用上下文中指定的操作的通信原码时,执行作为预定的与固定的动作序列的一部分的各操作,各动作是作为与接受的通信原码关联的过程描述的一部分分开指定的,该过程描述至少包括下述动作的各别描述(其中任何一个都可以是空的)a、通信原码的使用授权;b、解密操作数据或其任何部分;c、执行带有输入数据的命令;d、加密从任何执行的操作得出的任何操作数据;e、计算任何执行的动作的完成的证明或要在安全计算中使用的得出数据的正确性。
如果数据处理单元在初始化数据传输时生成用作加密计算的基础的随机事务处理数目,安全性便能得到进一步增强。
为了提供在需要时进入新的交互作用上下文的可能性,可将一个指定的值分配给一通信原码,该值便将永远被解释为进入新的交互作用上下文的请求。
在另一较佳实施例中,按照本发明的数据交换系统的特征在于,它包括由该数据处理单元的相同元件构成的另一数据处理单元,在其存储器中可选择地包含一个应用程序员界面,该界面由程序代码组成,该程序代码设计成允许实现附加计算机程序以便使用户对交换的通信原码序列进行控制或影响在其中传输的数据或获知或进一步处理在交换中所接收的数据。
在本发明的这一较佳实施例中,用来进入指定的交互作用上下文的通信原码可包括要在随后的通信中的安全计算中使用的数值,处理单元之一随机地或以类似的独特性质生成第一个值以及有可能的第二个值用来证明所述的一个处理单元的真实性或者识别所述的一个处理单元。
为了进一步从本发明中得到好处,可将各通信原码进一步构造成包含两个或更多数值,这些数值增强供执行程序解释的通信原码的表达能力。
作为第一种替代,除了发送复位信号的第一个以外的各通信原码可由两多或更多数值组成,用第一值来引用与该通信原码关联的动作的过程描述,第二值是由固定数目的二进制值组成的,执行程序将其中每个二进制值解释为对单一数据元素的引用。
作为第二种替代,除了发送复位信号的第一个以外的各通信原码可以由两个或更多数值组成,用第一值来引用与该通信原码关联的动作的过程描述,用第二值以下述方式来确定可供在激活的交互作用上下文中外部引用的数据元素中的哪些在执行应答动作时将被使用,即如果任何数据元素包含与所述第二值匹配的值或者包含足以指示它的一个值时,便选用该元素。
作为第三种替代,除了发送复位信号的第一个以外的各通信原码是由两个或更多数值组成的,用第一值来引用与该通信原码关联的动作的过程描述,第二值由若干二进制值组成,执行程序分配给它们特定的意义供在解释通信原码中的数据格式中或执行应答动作中使用。
上述便携式处理单元可在智能卡或PCMCIA卡中实现。
在本发明的进一步精心制作中,通信装置利用外部通信装置来建立数据链路,数据处理单元或接纳实现数据处理单元的PCMCIA或智能卡的这种类似电子设备使这种外部通信装置可被数据处理单元利用。
在本发明的替代中,数据处理单元是实现为便携式个人计算机的。
通信装置可利用智能卡阅读器或PCMCIA卡槽。
此外,通信装置可主要或附加利用用电磁场c.q.粒子的非接触性数据传输。
上面定义的上下文机制及它使之能利用的技术带来智能卡使用的更广阔的范围及智能卡应用开发的方法,它们比传统方式具有若干优点。
首先,它允许执行智能卡中的应用特定程序代码而无须为对其它应用存储的数据的安全性的潜在威胁彻底检验代码。由于与数据一起存储在卡上的存取条件受到卡操作系统的加强而在应用代码的执行期间不存在外界干扰的可能性,多应用卡方案不需要程序代码检查当局。这一当局是在传统的智能卡中允许私用代码执行设施的唯一方法。通过批准在卡上执行代码,检查当局对整个系统的安全性承担可靠性;这使得多应用智能卡方案的管理复杂得多。关联的复杂性与成本使得传统的卡方案中的应用特定代码几乎不可行。利用这一新技术便能满足智能卡应用供应商对这一设施的需求。
第二,作为卡中的受保护的应用特定程序的直接结果,便能实现专用于在卡中加载其它应用的一个特定应用。以这一方式,一旦将应用加载在卡中,便能受到保护免遭加载它们的那个应用窜改。这一保护给予参加多应用卡方案的各方尤其是发卡实体及应用供应实体达成他们的商业协议的基础。正是基于诸如各卡上所需的存储器量、要装备的卡的数目及卡上的应用的持续时间等实质性事物而不是“信用”及“好好保管”等抽象概念,使得应用供应商合同比在传统实现的智能卡中更容易制订。然而,发卡商与应用供应商并不需要共用秘密密钥,及用合同义务与互相同意的密钥运送设施来保护这一共用。
第三,根据新技术实现的应用软件与先有技术智能卡操作系统相比具有若干优点·在终端与卡之间只需要最少的数据交换来建立卡与终端之间的协作,例如它们支持相同的应用。要交换的数据值可以构造成如在国际标准ISO7816-5草案中所建议的;·为了完成卡与终端之间的一项事务能够实际使用理论上推算出的最小数目的数据交换,因为该事务是作为专用计算完成的,无须使用冗长的标准命令序列;·它允许对数据的受控存取,无需如当前正在使用及建议标准化的由目录支配的复杂的存取路径及所有应用共享的文件层次结构;·如果终端与智能卡应用合作便允许开发,这种开发过程可用诸如编译程序及仿真程序等计算机软件工具来支持。从而卡与终端软件的设计与实现能上升到当前需要的麻烦的与易出错的汇编码以上。
·允许设备标准化,卡与终端都一样,使用抽象体系来描述设备能力,给出面向未来发展的灵活性,诸如卡或终端制造商提供的新特征。标准化的终端能力可能包含API(应用程序界面)。与智能卡中当前的标准化不同,当前的标准化工作集中在规定报文的固定的数据内容上以便提供以标准确定的方式解释的标识数据,这样做留给新发展的空间太小。
最后,利用新技术,便给予了智能卡操作系统的实现者以设计卡的操作系统核心及终端操作系统的最优实现的极大自由度。给予了智能卡硬件设计者若干选择来优化带有对包含在系统核心中的基本操作的硬件支持的硅芯片使用。从上面定义的专门化设计开始得到的硬件成本降低能大于基于通用单片计算机上的改进所能得到的。
下面参照示出本发明的基本原理的实现实例的附图,详细描述本发明。


图1示出智能卡上基于分层组织的数据元素的集合的现有技术应用设计;图2表示一个便携式处理单元与一个类似处理单元之间以当前作为标准接受的格式的通信流的图;图3表示在诸如智能卡或PCMCIA卡等便携式处理单元及诸如卡终端或便携式个人计算机等较稳定的处理单元中使用交互作用上下文的本发明的基本构成;图4表示执行上下文的实际组织的实例,强调了包含在交互作用上下文中的过程描述与在执行这些过程时使用的数据元素与库函数之间的不同关系;图5示出在执行通信原码所调用的过程描述中所包含的程序执行控制与安全上下文切换的流程图的实例。
图1中描绘了现有技术系统中的数据与文件结构。基本上具有连接在若干基本文件3及一个或多个专用文件2上的主文件1。各专用文件可连接在一个或多个其他的专用文件2及一个或多个基本文件3上。现有技术使用目录与文件的树形层次结构。现有技术结构中的从属级的数目原则上是不受限制的。图1中使用的术语取自国际ISO标准7816-4。按照如图2中所示的便携式数据处理单元5与类似的数据处理单元4之间的通信流的标准格式,通信包括一组成对的块。通信由来自数据处理单元4的复位信号mΦ启动。这一复位信号可在通信带宽以外,例如由数据处理单元5中的加电逻辑生成但概念上还是报文的有序交换的一部分。便携式数据处理单元5用对复位的应答(ATR)m1应答,可能后面跟着内容。所有后面的块m2、m3、…m(n-1)、mn的对包括以各别的值为首后面跟着内容的块并构成不同的通信原码。
图3示出了根据本发明的两个数据处理单元的内部结构,这两个数据处理单元通过发送和接收数据互相通信。左边的数据处理单元4可以是一终端,右边的数据处理单元可以是例如智能卡的便携式数据处理单元。然而,本发明也适用于两个或更多能够用适当的通信装置或适当的连接拓朴互相通信的便携式数据处理单元。
各数据处理单元4、5包括数据通信装置7、14,通过它们可以交换数据的结构块。各数据处理单元包括处理装置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”表示。图3中以放大比例尺示出第二应用描述13(2)、18(2),以便显示各应用描述的内容。各应用描述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)之间的程序代码共享与数据共享。
存储装置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)所示引用操作系统为这一目的提供的代码元素;-供当前应用描述18内的交互作用上下文19(1)…19(2)内的过程使用的数据元素E(1)…E(7)的表。这一数据表包含数据存取条件及指向存储数据元素的存储区的指针q(1)…q(7);-包含若干交互作用上下文描述19(1)、19(2)的交互作用上下文表。
图4中所示的应用描述18(1)内的过程库、数据元素表及交互作用上下文表内的元素数目只是为了表示的目的。当然,元素的数目可根据所要求的应用改变。
参加数据交换的处理单元4、5中的交互作用上下文19(1)、19(2)的内容及应用描述18(1)数据结构是互补的,即来自一个单元的应答被另一单元解释为命令。通过这一互补性质可从单一的文本描述生成数据结构的尽可能紧凑的编码内容。数据交换系统通常包括带有不同目的的处理单元的许多构成,它们在系统操作过程期间为了数据交换而进行通信来完成这一目的。各处理单元的存储装置中可以只包含与其在系统中的预期目的相关的数据结构部分。作为整体的系统是用交互作用上下文的所有不同内容的集合描述的。某些交互作用上下文或它们的一部分内容也可在任何时刻根据需要加载。这种加载可以安全地进行,例如受到上面提到的管理应用保护的。
交互作用上下文19(1)、19(2)物理地出现在存储应用描述18(1)的存储装置中。逻辑上,交互作用上下文提供第二层存储器使用控制。这一第二层与应用描述层提供的组合控制为诸如智能卡等便携式数据处理单元有效地实现了执行上下文机制。各交互作用上下文19(1),19(2)包括-过程描述C(1)…C(5)的表。这些过程描述可引用应用描述18内的过程库中的过程描述,如示例箭头S(1)所示。此外这些过程描述可引用由操作系统提供的可执行代码元素G(1)…G(5),如示例箭头t(1)所示。作为另一种替代,这些过程描述可包含对过程在执行期间所使用的、并出现在相关的应用描述18的数据表中的任何数据元素的明确引用,如箭头r(1)…r(6)所示;-包含相关的交互作用上下文中的过程可以使用的专用数据元素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的数据表中的数据元素,而不能引用其它的。再说一次,只有在满足存取条件时才进行存取。这些存取条件还规定允许的存取类型例如,不许存取、只读存取、读与写存取及秘密密钥使用。对于相同的应用描述数据表元素E(1)…E(7),同一交互作用上下文19中的不同过程描述的存取条件可以不同,例如,引用箭头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的一个单一应用中的操作提供了一个专用的上下文。数据元素H(1)…H(7)是存储在对所有应用公用的存储装置16中的,但包含供在应用描述18(1)的上下文中专用的数据,这种专用性是由执行程序保证的,它只允许存在对各存储单元的一个单一指针,诸如从E(1)到H(2)的q(1)。只有代码元素G(1)…G(5)可由存储在存储装置16内的任何应用描述18(1)…引用。图4中并未明确指出应用描述18(1)以外的应用描述对公用代码G(1)…(5)的上述引用。然而,任何熟悉本技术的人员都能容易地将图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)是为高效执行而实现的。
可以用存储器地址或者用带有适当地构成的表中的索引的附加间接级引用代码元素F(1)、F(2)。这里提供的引用的分层结构非常适用于这一带索引的实现。
基本上,按照图4的存储器结构也适用于只提供数据处理单元5的一个应用的情况。在这一情况中,唯一的应用描述18(1)甚至可与一个交互作用上下文19(1)重合,这时该交互作用上下文包含下述相关的定义组a、每当数据处理单元5与类似的单元4通信时接收的一组基本通信原码A(1)…,所述原码至少包含用来进入所述至少一个交互作用上下文的一个原码;b、定义响应各接收的通信原码A(1)…要执行的动作的一组过程描述C(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报文清楚地表示数据处理单元准备好接受进一步的命令。可将默认交互作用上下文设计成“智能卡持有人应用”的一部分,这是在所有多应用智能卡中作为一个标准应用提供的。在这一特定应用上下文中,用户(即智能卡持有人)能观察其个人数据或打开卡上的任何其它应用。
在步骤35中,作为上下文激活命令的结果,为标准智能卡持有人CTA进入交互作用上下文(CTA)安全级。
在完全激活了应用之后,便准备好接收来自其它数据处理单元的命令。进一步的处理取决于所接收的命令激活应用的命令与要执行的命令的处理不同。因此,在确定了在步骤36中接收到通信原码并在步骤37中确定它是可接受的之后,在步骤38便检验是否需要激活新的应用。如果否,进步骤39,在其中对命令进行检验以判定是否允许及能否接受输入数据。这些检验只对应用描述符中规定的命令执行。在步骤39中还可进行输入数据的解密。
如果检验成功,便在步骤40进入“数据存取保护级”。在这一级(最高安全级)上,在步骤41执行应用供应者编码的例程。这些例程存储在应用描述符中并用作对另一数据处理单元4发布的特定命令的应用进行特定的反应。这一安全级将存储器存取限制在为正在执行的命令专门定义的子集上。
在步骤41中执行带有提交的输入数据的命令之后,便在步骤42离开数据数据存取保护级。
在步骤43中生成输出数据及命令完成的(加密)证明。这种功能只为在过程描述中规定这样做的命令执行,对于任何定义组合动作可以是空的。步骤43以后程序在步骤36等待新的通信原码。
如果未定义专用的命令例程并且命令可用只包含操作系统功能的过程执行,便不进入数据存取保护级(步骤40),而命令将直接在交互作用上下文安全级上执行,因为操作系统例程是设计成不破坏任何数据保护。
如果在步骤38中确定没有新的应用要激活,程序便进行到步骤44,在其中执行上下文去激活过程。在步骤45中,离开当前应用特定的安全级,并且在步骤46中,在执行程序“MAXOS”的安全级上检验伴随命令的数据。
如果为所请求的应用规定的适当鉴别允许该命令,便在步骤47进入新的应用特定的CTA安全级。这一级将限制对新打开的应用所具有的数据的存取。
在步骤48,数据处理单元通过执行过程表中所定义的初始化指令来响应上下文激活命令生成数据,。如果存在这一应用供应者编码的例程,便在步骤49进入数据存取保护级。在步骤50中执行上下文激活过程。在步骤51中离开数据存取保护级并将应答传递给另一数据处理单元4,并且数据处理单元4在步骤43之后是准备好接收新命令的,如上所述。
描述了图1至5以后,下面作出对按照本发明的数据交换系统的一些一般性说明。
各应用描述18(1)、18(2)内的过程库中的代码可以通过加入它们的操作参数的使用规定而得到增强,该参数被分为与能在计算中作为实际值传送的数据元素的属性有关的类别,这种计算只在数据属性与参数类匹配时才进行。这提供了对数据元素及函数两者的存取条件进行检验的一种方法。比较适当编码的数据属性位图与参数类可为这一附加的技术提供有效的实施。
执行程序12、17可包含对一交互作用上下文的引用,该交互作用上下文用来初始化存储对当前正在实施的交互作用上下文的引用的存储器单元20中的当前交互作用上下文。利用这一措施,便有可能在恢复到正常操作状态中检测到内部不相容性之后或每当执行程序12、17被启动但从另一数据处理单元5接收的通信原码未指定明确的交互作用上下文时执行最后的动作。这一默认交互作用上下文也可是包含在上述卡持有人应用中的这样一种上下文。
此外,存储装置9、16可包括专用于包含个人标识号(PIN)的交互作用上下文11、19,并且执行程序12、17配置成验证数据交换系统的用户提供的个人标识号。可使用若干种个人标识号及口令。一个口令可用来保护设备在有可能泄露隐秘敏感的事务处理中的使用。第二口令可用来在传递表示口令持有人可支付的钱数的数据的情况下保护该事务处理。第三口令可用来保护其中执行的操作认为是对应用的安全性关系重大的事务处理,例如在可能需要它的各交互作用上下文18中指定的正在请求的保护模式。可提供其它口令。这一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的通信原码最好包括要在随后的通信中的安全计算中使用的数值。第一值可由处理单元之一随机生成,第二值可用来标识一个处理单元。所述的值可按照所使用的加密协议的要求而进行不同地计算,这一差别可作为过程描述C1的一部分指定。这一标识可能是计算的结果,计算是这样的,这便是使得结果值足以标识在要激活的交互作用上下文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.数据交换系统,包括多个数据处理单元(4,5),其中的便携式数据处理单元建立临时通信链路(6),而其它的不移动的数据处理单元可具有永久性通信链路(6),所述单元包括数据通信装置(7,14)、处理装置(8,15)及存储装置(9,16),后者包括执行程序(12、17),其特征在于,处理单元总体的存储装置(9、16)还包括作为“交互作用上下文”(11(1)…11(m),19(1)…19(m))的数据处理单元之间可能的通信模式的描述,该交互作用上下文的数据结构如下a.一组基本的各别通信原码(A(1)…),每当一个数据处理单元(4,5)与一个或多个其它单元(5,4)通信时它们被接收;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.数据交换系统,包括多个数据处理单元(4、5),至少一个是便携式的,各所述单元包括数据通信装置(14)、处理装置(15)及存储装置(16),后者包括一个执行程序(17),其特征在于,存储装置(16)还包括至少一个包含下述相关数据结构的交互作用上下文(19(1)…19(m))a.一组基本的各别通信原码(A(1)…),每当一个数据处理单元(5)与一个或多个其它单元(4)通信时它们被接收;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)…)的表关联的存取条件;h.其中一个数据单元包含一个以上的交互作用上下文,它所接收的至少一个通信原码将有选择地指示所述交互作用上下文(19(1)…)之一供在接收该通信原码的处理单元中进一步引用。
3.按照权利要求1或2的数据交换系统,进一步的特征在于,该组过程描述(C(1)…)至少包括一个要响应通信原码所执行的第一过程描述,它指定所述交互使用上下文(19(1)…)之一供在接收该通信原码的处理单元中进一步引用,这一执行导致指定的交互使用上下文的正确激活。
4.按照权利要求1、2或3中任何一项的数据交换系统,其进一步的特征在于,存储装置还包括至少两个交互作用上下文(19(1)…),及在于该组过程描述(C(1)…)至少包括要响应通信原码执行的一个最后过程描述,它指定所述交互作用上下文(19(1)…)之一供在接收该通信原码的处理单元中进一步引用,这一执行导致在接收通信原码时指定的交互作用上下文的正确去激活。
5.按照权利要求1、2、3或4中任何一项的数据交换系统,其特征在于,存储装置(16)还包括至少两个交互作用上下文(19(1)…(19(m))、至少一个应用描述(18(1)…)及存储对当前正在实施的交互作用上下文的引用的存储器单元(20),各应用描述包括a.一张包括对数据元素的引用(E(1)…)的数据表,这些引用可被两个或更多交互作用上下文(19(1)…)存取,并可用附加数据元素扩展;b.另一组与所述引用(E(1)…)或所述附加数据元素相关联并定义使用限制的存取条件。
6.按照权利要求5的数据交换系统,其特征在于,各应用描述(18(1)…)还包括一个过程库,该过程库中包含能被与各所述应用描述(18(1)…)相关联的各交互作用上下文的过程描述(C(1)…)使用的代码(F(1)…)。
7.按照权利要求5或6的数据交换系统,其特征在于,存储装置包括至少两个应用描述(18(1)…)以及可由各应用描述(18(1)…)内的各交互作用上下文(19(1)…)的过程描述(C(1)…)或各应用描述(18(1)…)内的各过程库的各可执行代码单元(F(1)…)使用的可执行代码单元(G(1)…)。
8.按照权利要求6或7中任何一项的数据交换系统,其特征在于,过程库中的可执行代码单元是通过包含它们的各类别的操作参数的使用说明而得到增强的,这些类别与可以在计算中作为实际值传递的数据元素的属性有关,这种计算只有在数据属性与参数类别匹配时才能进行。
9.按照权利要求5或8中任何一项的数据交换系统,其特征在于,执行程序(17)包括对默认交互作用上下文的引用,该上下文用来初始化存储对当前正在实施的交互作用上下文的引用的存储器单元(20),以便在检测到恢复到正常操作状态中的内部不相容性之后或每当执行程序(17)被启动但从类似的数据处理单元(4)接收的通信原码未指定明确的交互作用上下文时执行最后的动作。
10.按照前面的权利要求中任何一项的数据交换系统,其特征在于,执行程序(17)包括构成抽象处理器的编码指令的解释程序的例程,使得过程描述(C(1)…)的大多数及某些可执行代码单元(F(1)…,(G(1)…)是用数值编码的,供所述解释程序例程解释。
11.按照权利要求6或7的数据交换系统,其特征在于,过程描述(C(1)…)是作为包含在由可执行代码单元构成的过程库中的过程的子集上的表中的索引编码的。
12.按照权利要求11的数据交换系统,其特征在于,过程描述(C(1)…)是以很小的值编码的,使得一个以上的描述能保持在存储装置(16)的一个基本存取单元中,或者在同一存储器存取基本单元中能将描述与其它有关信息组合。
13.按照权利要求12的数据交换系统,其特征在于,至少过程描述(C(1)…)的编码值之一引用执行程序(17)的特殊功能,它被设计成可能通过加入与用所述特殊值编码的过程描述相结合存储的附加编码信息来为编码的过程描述间接选择实际功能来执行。
14.按照前面的权利要求中任何一项的数据交换系统,其特征在于,存储装置(16)包括专门用来包含个人标识号的交互作用上下文,并且执行程序(17)被配置成验证由数据交换系统的用户提供的个人标识号。
15.按照前面的权利要求中任何一项的数据交换系统,其特征在于,存储装置(16)包括至少一个专门用于管理同时包含在所述存储装置中的其它交互作用上下文(19(1)…)的号码与内容的交互作用上下文。
16.按照权利要求5至15中任何一项的数据交换系统,其特征在于,各应用描述(18(1)…)包括一张数值表,该表被构成为为所有交互作用上下文(19(1)…)提供标识符,并包括下列数值中至少一个指示应用类型的第一数值、指示提供该应用的实体的唯一标识的第二数值、指示应用描述(18(1)…)的性质的第三数值以及各唯一地引用与该应用描述关联的一个交互作用上下文(19(1)…)的其它数值。
17.数据交换系统,包括多个数据处理单元(4,5),其中的便携式处理单元建立临时通信链路(6),而其中不能移动的其它单元可具有永久性通信链路(6),所述单元包括数据通信装置(7,14)、处理装置(8,15)及存储装置(9,16),后者包括执行程序(12,17),其特征在于,通信装置(14)被配置成,以包含至少两部分的数据块构成数据交换,第一部分是适用于操作的数据,它用于影响通信原码指示的命令所执行的操作的性质或从执行的操作得出的数据,第二部分适用于安全性,用它来确定执行操作的适当性或操作部分内的数据的可接受性,供在操作中使用或证明操作的完成或得出的数据的正确性。
18.按照权利要求1至17中任何一项的数据交换系统,其特征在于,将执行程序(17)配置成,在接收执行当前交互作用上下文(19(1)…)中指定的操作的通信原码时,执行作为预定的与固定的动作系列的一部分的各操作,各动作是作为与所接收的通信原码关联的过程描述的一部分分开指定的,这些过程描述至少包括对下述动作的各别的描述,其中任何一个都可能是空的a.通信原码的使用授权;b.操作数据或其任何部分的解密;c.执行带有输入数据的命令;d.从任何执行的操作得出的任何操作数据的加密;e.任何执行的动作的完成或要用在安全计算中的结果数据的正确性的证明的计算。
19.按照前面的权利要求中任何一项的数据交换系统,其特征在于,数据处理单元(5)在初始化数据传送时生成一个随机的事务处理号,它被用作密码计算的基础。
20.按照前面权利要求中任何一项的数据交换系统,其特征在于,一个通信原码被赋予一个指定的值,该值永远被解释为进入一个新的交互作用上下文(19(1)…)的请求。
21.按照前面权利要求中任何一项的数据交换系统,其特征在于,它包括具有与处理单元(4)相同元件的另一个数据处理单元(4),在其存储器中可选择地包含应用程序员界面(10),该界面包含设计成允许实现附加的计算机程序以便使用户对交换的通信原码进行控制或影响在它们之间传送的数据或获知或进一步处理在交换中接收的数据的程序代码。
22.按照权利要求21的数据交换系统,其特征在于,用来进入指定的交互作用上下文(19(1)…)的原码包括在随后的通信中的安全计算中使用的数值,由处理单元之一随机地或以类似的独特性质生成第一值,以及可能的第二值用来证明所述一个处理单元的真实性或识别所述一个处理单元。
23.按照权利要求21的数据交换系统,其特征在于,除了发送复位信号的第一通信原码以外的各通信原码由两个或更多数值组成,第一值用来引用与该通信原码关联的动作的过程描述,第二值由固定数目的二进制值组成,执行程序(12,17)将各二进制值解释为对单个数据元素的引用。
24.按照权利要求21的数据交换系统,其特征在于,除了发送复位信号的第一通信原码以外,各通信原码由两个或更多数值组成,第一值用于引用与该通信原码关联的动作的过程描述,第二值用于以下述方法确定在执行应答动作时将使用哪些可供激活的交互作用上下文(19(1)…)外部引用的数据元素,即如果任何数据元素包含与所述第二值匹配的值或者如果它包含足以指示它的值,便选择该数据元素。
25.按照权利要求21的数据交换系统,其特征在于,除了发送复位信号的第一通信原码之外,各通信原码由两个或更多数值组成,第一值用于引用与该通信原码关联的动作的过程描述,第二值由若干二进制值组成,执行程序(12,17)赋予这些二进制值特定的含义供在解释通信原码的数据格式及在执行应答动作中使用。
26.按照前面权利要求中任何一项的数据交换系统,其特征在于,便携式处理单元是实现在智能卡中的。
27.按照权利要求1至25中的任何一项的数据交换系统,其特征在于,便携式处理单元是实现在PCMCIA卡中的。
28.按照权利要求26或27的数据交换系统,其特征在于,通信装置(14)利用外部通信装置来建立数据链路(6),数据处理单元或容纳实现数据处理单元(5)的PCMCIA或智能卡的这种类似的电子设备能使这种外部通信装置可被数据处理单元(5)利用。
29.按照权利要求1至25中任何一项的数据交换系统,其特征在于,将数据处理单元(4)实现为便携式个人计算机。
30.按照权利要求28或29的数据交换系统,其特征在于,通信装置(7)利用智能卡阅读器。
31.按照权利要求28或29的数据交换系统,其特征在于,通信装置(7)利用PCMCIA卡槽。
32.按照权利要求26至31中任何一项的数据交换系统,其特征在于,通信装置(7)主要或附加利用带电磁场c.q粒子的非接触式数据传输。
全文摘要
数据交换系统包括至少一个便携式数据处理单元(5),该单元(5)包括通信装置(14)、处理装置(15)及存储装置(16),后者包括一个执行程序(17)及一个或多个应用描述符(18(1)…18(n)),各应用描述包括至少一个交互作用上下文(19(1)…),该上下文包括命令、数据元素、数据引用、过程、存取条件及外部引用;以达到诸如智能卡等有限的存储空间的高效使用的方式选择数据元素与数据引用以及其它引用的结构。
文档编号G06F12/00GK1195413SQ96196785
公开日1998年10月7日 申请日期1996年8月2日 优先权日1995年8月4日
发明者爱德华·卡雷尔·德容 申请人:贝勒加特投资公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1