在程序加载中标记程序数据净荷的方法和装置制造方法及图纸

技术编号:2854309 阅读:257 留言:0更新日期:2012-04-11 18:40
在一第一装置与一第二装置之间传送程序数据包含:将一包含程序数据的第一程序文件分解为至少一个逻辑数据单元;将所述至少一个逻辑数据单元中的每一个划分为至少一个协议数据单元;及在所述至少一个逻辑数据单元的所述至少一个协议数据单元的净荷部分(payload  portion)上计算一第一指纹(fingerprint)。所述至少一个协议数据单元的格式是由一通信协议界定的且包括一净荷部分。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机科学领域。更特定而言,本专利技术涉及在程序加载中标记程序数据净荷序列。
技术介绍
图1是一个说明一个用于在主计算机与智能卡之间传送程序数据的典型机制的方块图。智能卡110通常经由APDU(应用协议数据单元)与其它计算机100进行通信。APDU协议在国际标准ISO/IEC 7816-3中加以规定。APDU包括命令115或响应120消息。智能卡110从主计算机100接收命令APDU115,执行在命令115中规定的指令,并以响应APDU 120来回复主计算机100。命令APDU115与响应APDU 120在卡110与主计算机100之间交替地互换。根据APDU协议,APDU消息包含两种结构。一种结构是被一加载终端上的主应用程序使用以发送命令到卡。另一种结构是被卡使用以将响应发送回主应用程序。前者被称为命令APDU(C-APDU),而后者被称为响应APDU(R-APDU)。图2A及图2B中分别说明了这两种结构。某些C-APDU组件为可选的。Java CardTM技术使得用JavaTM程序设计语言编写的程序能在智能卡和其它资源受限装置上运行。Z.Chen的Java CardTMTechnology for Smart Cards(2000)中描述了Java CardTM技术。现转向图3,展示了一个说明加载转换过的小应用程序(ConvertedApplet,CAP)文件的方块图。Java CardTM虚拟计算机(JCVM)包含一个包括Java CardTM字节码解释程序345的卡上部分,及一个被称为转换程序310的卡外部分。解释程序345和转换程序310一起实施所有的虚拟计算机功能,包括加载JavaTM类文件300和用特定语义集来执行这些文件。转换程序310加载且预处理类文件300,所述类文件300包含可为一个或多个数据包结构化的Java CardTM程序,并产生一个CAP(转换过的小应用程序)文件350。接着,CAP文件350加载到启用Java CardTM技术的智能卡330上,并由解释程序345执行。CAP文件350包括JavaTM数据包350中类的可执行二进制表示。Java CardTM解释程序345提供对JavaTM语言执行模块的运行时间支持。在Java CardTM技术中,用于下载及安装CAP文件350的机制包含于一个被称为安装程序340的单元中。Java CardTM安装程序340位于卡330内。其与卡外安装程序320合作。卡外安装程序320经由加载终端325,将CAP文件350中的可执行二进制及可能其它的数据传送到在卡330上运行的安装程序340。安装程序340将二进制写入到智能卡存储器中,使其与已置于卡330上的其它类链接,并产生和初始化由Java CardTM运行时间环境内部使用的任何数据结构。在通过字节码解释程序345解释下载码之前,可选的卡上验证程序335执行下载码的字节码验证。APDU协议将净荷或数据字段(图2的参考数字240)的大小限制为一个由RAM的限定大小决定的较小数目的字节(通常小于128)。大于所述限制的数据结构必须拆分于多个APDU的净荷部分之间。此拆分的执行通常与数据内容无关。举例来说,一特定APDU可包含一个数据结构的一部分和另一数据结构的一部分。这将在下文参考图4作更详细的阐释。现转向图4,展示了一个说明从加载终端的角度加载CAP文件的方法的流程图。在步骤400中,接收一CAP文件。在步骤405中,在多个APDU间拆分CAP文件和相关认证数据。在步骤410中,根据APDU协议将APDU传输到目标智能卡。现转向图5,展示了一个说明从智能卡的角度加载CAP的流程图。在步骤500中,在智能卡中重组CAP文件。在步骤505中,解密经重组的CAP文件。在步骤510中,认证经过解密的CAP文件数据。在另一解决方案中,CAP文件经认证且接着被解密。在又一解决方案中,所述CAP文件不经加密进行通信。在步骤515中,将经认证的CAP文件的内容安装于智能卡上。现转向图6,展示了一个说明在智能卡中重组CAP文件的流程图。在步骤600中,接收一APDU。在步骤605中,将APDU存储于一个永久可变存储器中,例如EEPROM(电子可抹除可编程只读存储器)。或者,APDU净荷不存储于永久可变存储器中。在步骤610中,确认APDU的接收。在步骤615中,作出关于是否需要处理另一APDU的判定。从步骤600开始,处理另外的APDU。现转向图7,展示了一个说明修改具有链接数据的存储程序以解析静态引用的流程图。卡存储器700代表在使用内嵌链接数据(704、712、728)链接可执行代码段(702、706、708、710、712、716、718、720、722、724、726、728、732)之前的卡存储器。卡存储器750代表在使用内嵌链接数据(704、712、728)链接可执行代码段(702、706、708、710、712、716、718、720、722、724、726、728、732)之后的卡存储器。参看卡存储器700,方法“A1A”代码702调用方法“A1C”708,方法“A2A”代码712调用方法“B1A”720,且方法“B2A”代码728调用方法“B1D”726。方法“A1A”链接数据704包含一个如何解析对方法“A1C”708的引用的指示。方法“A1A”链接数据704可额外地包含必须如何修改方法“A1A”代码702的指示。同样,方法“A2A”链接数据714包含如何解析对方法“B1A”720的引用的指示。方法“A2A”链接数据714可另外包含必须如何修改方法“A2A”代码712的指示。另外,方法“B2A”链接数据730包含如何解析对方法“B1D”726的引用的指示。方法“B2A”链接数据730可额外地包含必须如何修改方法“B2A”代码728的指示。参考图7的卡存储器750,用所调用的方法的地址来替代所调用的方法的符号引用且不存储链接数据。遗憾的是,在一个永久可变存储器中存储重新创建的CAP文件及接着处理该CAP文件内容以创建所链接的可执行代码,需要大量的可用存储器而且很耗时。因此,现有技术需要一种用于在主计算机与智能卡之间传送程序数据的相对有效的方法和装置。还需要这样一种相对安全的解决方案。另外还需要检测程序数据何时受到窜改的解决方案。
技术实现思路
在一第一装置与一第二装置之间传送程序数据,包含将一包含程序数据的第一程序文件分解为至少一个逻辑数据单元;将所述至少一个逻辑数据单元中的每个划分为至少一个协议数据单元并在所述至少一个逻辑数据单元的至少一个协议数据单元的净荷部分上计算一第一指纹。所述至少一个协议数据单元的格式是由通信协议界定的且包括一净荷部分。附图说明并入本说明书中并构成本说明书的一部分的附图说明了本专利技术的一个或多个实施例,而且与具体实施方式一起用于解释本专利技术的原理和实施。在图中图1是说明在主计算机与智能卡之间传送程序数据的典型机制的方块图。图2A是说明典型命令应用协议数据单元(C-APDU)的方块图。图2B是说明典型响应应用协议数据单元(R-APDU)的方块图。图3是说明加载转换过的小应用程序(CAP)文件的方块图。图4是说明从加载终端的角度加载CAP文件的流程图本文档来自技高网
...

【技术保护点】
一种用于在一第一装置与一第二装置之间传送程序数据的方法,所述方法包含:将一包含程序数据的第一程序文件分解为至少一个逻辑数据单元;将所述至少一个逻辑数据单元中的每个逻辑数据单元划分为至少一个协议数据单元,所述至少一个协议数据单 元的格式是由一通信协议界定的且包括一净荷部分;和在所述至少一个逻辑数据单元的所述至少一个协议数据单元的所述净荷部分上计算一第一指纹。

【技术特征摘要】
【国外来华专利技术】US 2003-1-16 10/346,2301.一种用于在一第一装置与一第二装置之间传送程序数据的方法,所述方法包含将一包含程序数据的第一程序文件分解为至少一个逻辑数据单元;将所述至少一个逻辑数据单元中的每个逻辑数据单元划分为至少一个协议数据单元,所述至少一个协议数据单元的格式是由一通信协议界定的且包括一净荷部分;和在所述至少一个逻辑数据单元的所述至少一个协议数据单元的所述净荷部分上计算一第一指纹。2.根据权利要求1所述的方法,其中所述第二装置包含一经配置以与智能卡通信的加载终端。3.根据权利要求1所述的方法,其进一步包含将一第二程序文件传送到一第二装置,所述第二程序文件包含所述程序数据和由所述第一指纹和一至少部分地基于所述第一指纹的认证码组成的组中的一个或多个组员。4.根据权利要求1所述的方法,其中所述程序数据包含一类别文件。5.根据权利要求1所述的方法,其中所述程序文件包含一JAR文件。6.根据权利要求1所述的方法,其中所述程序文件包含一CAP文件。7.根据权利要求1所述的方法,其中所述方法进一步包含创建与所述至少一个逻辑数据单元中的一个逻辑数据单元相关联的至少一个验证协议数据单元,所述验证协议数据单元包含用于所述逻辑数据单元的验证数据。8.根据权利要求3所述的方法,其中所述认证码进一步包含至少一个加载装置认证码,供所述第二装置用来认证从所述第一装置接收到的所述第二程序文件。9.根据权利要求3所述的方法,其中所述认证码进一步包含至少一个目标装置认证码,供一第三装置用来认证从所述第二装置接收到的数据,所述接收到的数据至少部分地基于所述第一程序文件。10.根据权利要求1所述的方法,其中所述协议包含一应用协议数据单元(APDU)协议;且所述协议数据单元包含应用协议数据单元(APDU)。11.根据权利要求10所述的方法,其中所述协议进一步包含使用一尾部(trailer)APDU来指示与一程序单元相关联的最后一个APDU。12.根据权利要求10所述的方法,其中所述协议进一步包含使用一头部(header)APDU来指示跟在所述头部APDU之后的一个或多个逻辑程序APDU的一预期序列。13.根据权利要求10所述的方法,其中所述APDU包含识别所述APDU的上下文的信息。14.根据权利要求1所述的方法,其中所述第一指纹包含一检验和。15.根据权利要求1所述的方法,其中所述第一指纹包含一循环冗余码(CRC)。16.根据权利要求1所述的方法,其中所述第一指纹包含一消息摘要。17.根据权利要求1所述的方法,其中所述第一指纹包含一基于键控散列的消息认证码(HMAC)。18.一种用于在一第一装置与一第二装置之间传送程序数据的方法,所述方法包含接收一程序文件,所述程序文件包含程序数据和由一第一指纹和一至少部分地基于所述第一指纹的第一认证码组成的组中的一个或多个组员;将所述程序数据分解为至少一个逻辑数据单元;和将所述至少一个逻辑数据单元中的每个逻辑数据单元划分为至少一个协议数据单元,所述至少一个协议数据单元的格式是由一通信协议界定的且包括一净荷部分。19.根据权利要求18所述的方法,进一步包含将由所述第一指纹和所述第一认证码组成的所述组的一个或多个组员传送到所述第二装置。20.根据权利要求18所述的方法,其中所述第一装置包含一加载终端;且所述第二装置包含一智能卡。21.根据权利要求20所述的方法,其中所述智能卡包含一启用Java CardTM技术的智能卡。22.根据权利要求20所述的方法,其中所述智能卡包含一启用CDMA(码分多址)技术的智能卡。23.根据权利要求20所述的方法,其中所述智能卡包含一SIM(用户识别模块)卡。24.根据权利要求20所述的方法,其中所述智能卡包含一WIM(无线接口模块)25.根据权利要求20所述的方法,其中所述智能卡包含一USIM(通用用户识别模块)。26.根据权利要求20所述的方法,其中所述智能卡包含一UIM(用户识别模块)。27.根据权利要求20所述的方法,其中所述智能卡包含一R-UIM(可移动式用户识别模块)。28.根据权利要求18所述的方法,其中所述程序数据包含一类别文件。29.根据权利要求18所述的方法,其中所述程序文件包含一JAR文件。30.根据权利要求18所述的方法,其中所述程序文件包含一CAP文件。31.根据权利要求18所述的方法,其中所述方法进一步包含创建与所述至少一个逻辑数据单元中的一个逻辑数据单元相关联的至少一个验证协议数据单元,所述验证协议数据单元包含用于所述逻辑数据单元并从所述程序文件中提取的验证数据。32.根据权利要求18所述的方法,其中所述方法进一步包含计算用于所述至少一个逻辑数据单元中的至少一个逻辑数据单元的验证数据;和创建一包含用于所述逻辑数据单元的所述验证数据的验证协议数据单元。33.根据权利要求18所述的方法,其中所述方法进一步包含创建与所述至少一个逻辑数据单元中的一个逻辑数据单元相关联的至少一个链接协议数据单元,所述链接协议数据单元包含用于所述逻辑数据单元的链接数据。34.根据权利要求18所述的方法,其中所述方法进一步包含创建与所述至少一个逻辑数据单元中的一个逻辑数据单元相关联的至少一个链接协议数据单元,所述链接协议数据包含用于所述逻辑数据单元的链接数据;和创建一验证协议数据单元,所述验证协议数据单元包含用于所述逻辑数据单元并从所述程序文件中提取的所述验证数据。35.根据权利要求18所述的方法,其中所述方法进一步包含创建与所述至少一个逻辑数据单元中的一个逻辑数据单元相关联的至少一个链接协议数据单元,所述链接协议数据包含用于所述逻辑数据单元的链接数据;计算用于所述至少一个逻辑数据单元中的至少一个逻辑数据单元的验证数据;和创建一包含用于所述逻辑数据单元的所述验证数据的验证协议数据单元。36.根据权利要求18所述的方法,其进一步包含从所述第二装置接收一关于所述第一指纹是否匹配一第二指纹的指示,所述第二指纹是在所述第二装置接收的所述协议数据单元的所述净荷部分上计算得出。37.根据权利要求18所述的方法,其进一步包含从所述第二装置接收一关于所述一个或多个组员是否匹配一至少部分地基于一第二指纹的第二认证码的指示,所述第二指纹是在所述第二装置接收的所述协议数据单元的所述净荷部分上计算得出。38.根据权利要求18所述的方法,其中所述协议包含一应用协议数据单元(APDU)协议;且所述协议数据单元包含应用协议数据单元(APDU)。39.根据权利要求38所述的方法,其中所述协议进一步包含使用一尾部APDU来指示与一程序单元相关联的最后一个APDU。40.根据权利要求38所述的方法,其中所述协议进一步包含使用一头部APDU来指示跟在所述头部APDU之后的一个或多个逻辑程序APDU的一预期序列。41.根据权利要求38所述的方法,其中所述APDU包含识别所述APDU的上下文的信息。42.根据权利要求18所述的方法,其中所述第一指纹包含一检验和。43.根据权利要求18所述的方法,其中所述第一指纹包含一循环冗余码(CRC)。44.根据权利要求18所述的方法,其中所述第一指纹包含一消息摘要。45.根据权利要求18所述的方法,其中所述第一指纹包含一基于键控散列的消息认证码(HMAC)。46.一种用于在一第一装置与一包含一存储器的第二装置之间传送程序数据的方法,所述方法包含将一第二程序文件传送到一第二装置,所述第二程序文件包含所述程序数据和由包含一第一指纹和一至少部分地基于所述第一指纹的第一认证码组成的组中的一个或多个组员;接收所述一个或多个组员和包含一程序文件的至少一个逻辑数据单元的复数个协议数据单元,所述至少一个逻辑数据单元中的每个逻辑数据单元被划分为至少一个协议数据单元,所述至少一个协议数据单元的格式是由一通信协议界定的且包括一净荷部分;在所述至少一个逻辑数据单元的所述协议数据单元的所述净荷部分上计算一第二指纹;和至少部分地基于所述一个或多个组员是否匹配所述第二指纹或是否匹配一至少部分地基于所述第二指纹的第二认证码,将所述程序提交到所述存储器。47.根据权利要求46所述的方法,其中所述方法进一步包含从所述计算中排除一包含链接数据的协议数据单元。48.根据权利要求46所述的方法,其中所述方法进一步包含如果一旗标指示应从一认证指纹计算中排除验证数据,那么从所述计算中排除一包含验证数据的协议数据单元。49.根据权利要求46所述的方法,其中所述协议包含一应用协议数据单元(APDU)协议;且所述协议数据单元包含应用协议数据单元(APDU)。50.根据权利要求49所述的方法,其中所述协议进一步包含使用一尾部APDU来指示与一程序单元相关联的最后一个APDU。51.根据权利要求49所述的方法,其中所述协议进一步包含使用一头部APDU来指示跟在所述头部APDU之后的一个或多个逻辑程序APDU的一预期序列。52.根据权利要求49所述的方法,其中所述APDU包含识别所述APDU的上下文的信息。53.根据权利要求46所述的方法,其中所述第一指纹包含一检验和;且所述第二指纹包含一检验和。54.根据权利要求46所述的方法,其中所述第一指纹包含一循环冗余码(CRC);且所述第二指纹包含一CRC。55.根据权利要求46所述的方法,其中所述第一指纹包含一消息摘要;且所述第二指纹包含一消息摘要。56.根据权利要求46所述的方法,其中所述第一指纹包含一基于键控散列的消息认证码(HMAC);且所述第二指纹包含一基于键控散列的消息认证码(HMAC)。57.一种用于在一第一装置与一第二装置之间传送程序数据的方法,所述方法包含将一包含程序数据的第一程序文件分解为至少一个逻辑数据单元;将所述至少一个逻辑数据单元中的每个逻辑数据单元划分为至少一个协议数据单元,所述至少一个协议数据单元的格式是由一通信协议界定的且包括一净荷部分;在所述至少一个逻辑数据单元的所述协议数据单元的所述净荷部分上计算一第一指纹;和根据所述协议,将所述至少一个逻辑数据单元的所述协议数据单元和由所述第一指纹和一至少部分地基于所述第一指纹的第一认证码组成的组中的一个或多个组员传送到所述第二装置。58.根据权利要求57所述的方法,其中所述程序数据包含一类别文件。59.根据权利要求57所述的方法,其中所述程序文件包含一JAR文件。60.根据权利要求57所述的方法,其中所述程序文件包含一CAP文件。61.根据权利要求57所述的方法,其中所述方法进一步包含创建与所述至少一个逻辑数据单元中的一个逻辑数据单元相关联的至少一个验证协议数据单元,所述验证协议数据单元包含用于所述逻辑数据单元的验证数据。62.根据权利要求57所述的方法,其进一步包含从所述第二装置接收一关于所述一个或多个组员是否匹配一第二指纹或是否匹配一至少部分地基于所述第二指纹的第二认证码的指示,所述第二指纹是在所述第二装置接收的所述协议数据单元的所述净荷部分上计算得出。63.根据权利要求57所述的方法,其中所述协议包含一应用协议数据单元(APDU)协议;且所述协议数据单元包含应用协议数据单元(APDU)。64.根据权利要求63所述的方法,其中所述协议进一步包含使用一尾部APDU来指示与一程序单元相关联的最后一个APDU。65.根据权利要求63所述的方法,其中所述协议进一步包含使用一头部APDU来指示跟在所述头部APDU之后的一个或多个逻辑程序APDU的一预期序列。66.根据权利要求63所述的方法,其中所述APDU包含识别所述APDU的上下文的信息。67.根据权利要求57所述的方法,其中所述第一指纹包含一检验和。68.根据权利要求57所述的方法,其中所述第一指纹包含一循环冗余码(CRC)。69.根据权利要求57所述的方法,其中所述第一指纹包含一消息摘要。70.根据权利要求57所述的方法,其中所述第一指纹包含一基于键控散列的消息认证码(HMAC)。71.一种机器可读取的程序存储装置,其包含(embody)一可由所述机器执行的指令程序以执行一用于在一主计算机与一智能卡之间传送程序数据的方法,所述方法包含将一包含程序数据的第一程序文件分解为至少一个逻辑数据单元;将所述至少一个逻辑数据单元中的每个逻辑数据单元划分为至少一个协议数据单元,所述至少一个协议数据单元的格式是由一通信协议界定的且包括一净荷部分;和在所述至少一个逻辑数据单元的所述至少一个协议数据单元的所述净荷部分上计算一第一指纹。72.根据权利要求71所述的程序存储装置,其中所述第二装置包含一经配置以与一智能卡通信的加载终端。73.根据权利要求71所述的程序存储装置,其中所述方法进一步包含将一第二程序文件传送到一第二装置,所述第二程序文件包含所述程序数据和由所述第一指纹和一至少部分地基于所述第一指纹的认证码组成的组中的一个或多个组员。74.根据权利要求71所述的程序存储装置,其中所述程序数据包含一类别文件。75.根据权利要求71所述的程序存储装置,其中所述程序文件包含一JAR文件。76.根据权利要求71所述的程序存储装置,其中所述程序文件包含一CAP文件。77.根据权利要求71所述的程序存储装置,其中所述方法进一步包含创建与所述至少一个逻辑数据单元中的一个逻辑数据单元相关联的至少一个验证协议数据单元,所述验证协议数据单元包含用于所述逻辑数据单元的验证数据。78.根据权利要求73所述的程序存储装置,其中所述认证码进一步包含至少一个加载装置认证码,供所述第二装置用来认证从所述第一装置接收到的所述第二程序文件。79.根据权利要求73所述的程序存储装置,其中所述认证码进一步包含至少一个目标装置认证码,供一第三装置用来认证从所述第二装置接收到的数据,所述接收到的数据至少部分地基于所述第一程序文件。80.根据权利要求71所述的程序存储装置,其中所述协议包含一应用协议数据单元(APDU)协议;且所述协议数据单元包含应用协议数据单元(APDU)。81.根据权利要求80所述的程序存储装置,其中所述协议进一步包含使用一尾部APDU来指示与一程序单元相关联的最后一个APDU。82.根据权利要求80所述的程序存储装置,其中所述协议进一步包含使用一头部APDU来指示跟在所述头部APDU之后的一个或多个逻辑程序APDU的一预期序列。83.根据权利要求80所述的程序存储装置,其中所述APDU包含识别所述APDU的上下文的信息。84.根据权利要求71所述的程序存储装置,其中所述第一指纹包含一检验和。85.根据权利要求71所述的程序存储装置,其中所述第一指纹包含一循环冗余码(CRC)。86.根据权利要求71所述的程序存储装置,其中所述第一指纹包含一消息摘要。87.根据权利要求71所述的程序存储装置,其中所述第一指纹包含一基于键控散列的消息认证码(HMAC)。88.一种机器可读取的程序存储装置,其包含可由所述机器执行的指令程序以执行用于在一第一装置与一第二装置之间传送程序数据的方法,所述方法包含接收一程序文件,所述程序文件包含程序数据和由一第一指纹和一至少部分地基于所述第一指纹的第一认证码组成的组中的一个或多个组员;将所述程序数据分解为至少一个逻辑数据单元;和将所述至少一个逻辑数据单元中的每个逻辑数据单元划分为至少一个协议数据单元,所述至少一个协议数据单元的格式是由一通信协议界定的且包括一净荷部分。89.根据权利要求88所述的程序存储装置,其中所述方法进一步包含将由所述第一指纹和所述第一认证码组成的所述组中的一个或多个组员传送到所述第二装置。90.根据权利要求88所述的程序存储装置,其中所述第一装置包含一加载终端;且所述第二装置包含一智能卡。91.根据权利要求90所述的程序存储装置,其中所述智能卡包含一启用JavaCardTM技术的智能卡。92.根据权利要求90所述的程序存储装置,其中所述智能卡包含一启用CDMA(码分多址)技术的智能卡。93.根据权利要求90所述的程序存储装置,其中所述智能卡包含一SIM(用户识别模块)卡。94.根据权利要求90所述的程序存储装置,其中所述智能卡包含一WIM(无线接口模块)95.根据权利要求90所述的程序存储装置,其中所述智能卡包含一USIM(通用用户识别模块)。96.根据权利要求90所述的程序存储装置,其中所述智能卡包含一UIM(用户识别模块)。97.根据权利要求90所述的程序存储装置,其中所述智能卡包含一R-UIM(可移动式用户识别模块)。98.根据权利要求88所述的程序存储装置,其中所述程序数据包含一类别文件。99.根据权利要求88所述的程序存储装置,其中所述程序文件包含一JAR文件。100.根据权利要求88所述的程序存储装置,其中所述程序文件包含一CAP文件。101.根据权利要求88所述的程序存储装置,其中所述方法进一步包含创建与所述至少一个逻辑数据单元中的一个逻辑数据单元相关联的至少一个验证协议数据单元,所述验证协议数据单元包含用于所述逻辑数据单元并从所述程序文件中提取的验证数据。102.根据权利要求88所述的程序存储装置,其中所述方法进一步包含计算用于所述至少一个逻辑数据单元中的至少一个逻辑数据单元的验证数据;和创建一包含用于所述逻辑数据单元的所述验证数据的验证协议数据单元。103.根据权利要求88所述的程序存储装置,其中所述方法进一步包含创建与所述至少一个逻辑数据单元中的一个逻辑数据单元相关联的至少一个链接协议数据单元,所述链接协议数据单元包含用于所述逻辑数据单元的链接数据。104.根据权利要求88所述的程序存储装置,其中所述方法进一步包含创建与所述至少一个逻辑数据单元中的一个逻辑数据单元相关联的至少一个链接协议数据单元,所述链接协议数据包含用于所述逻辑数据单元的链接数据;和创建一验证协议数据单元,所述验证协议数据单元包含用于所述逻辑数据单元并从所述程序文件中提取的所述验证数据。105.根据权利要求88所述的程序存储装置,其中所述方法进一步包含创建与所述至少一个逻辑数据单元中的一个逻辑数据单元相关联的至少一个链接协议数据单元,所述链接协议数据包含用于所述逻辑数据单元的链接数据;计算用于所述至少一个逻辑数据单元中的至少一个逻辑数据单元的验证数据;和创建一包含用于所述逻辑数据单元的所述验证数据的验证协议数据单元。106.根据权利要求88所述的程序存储装置,其中所述方法进一步包含从所述第二装置接收一关于所述第一指纹是否匹配一第二指纹的指示,所述第二指纹是在所述第二装置接收到的所述协议数据单元的所述净荷部分上计算得出。107.根据权利要求88所述的程序存储装置,其中所述方法进一步包含从所述第二装置接收一关于所述一个或多个组员是否匹配一至少部分地基于一第二指纹的第二认证码的指示,所述第二指纹是在所述第二装置接收到的所述协议数据单元的所述净荷部分上计算得出。108.根据权利要求88所述的程序存储装置,其中所述协议包含一应用协议数据单元(APDU)协议;且所述协议数据单元包含应用协议数据单元(APDU)。109.根据权利要求88所述的程序存储装置,其中所述协议进一步包含使用一尾部APDU来指示与一程序单元相关联的最后一个APDU。110.根据权利要求108所述的程序存储装置,其中所述协议进一步包含使用一头部APDU来指示跟在所述头部APDU之后的一个或多个逻辑程序APDU的一预期序列。111.根据权利要求108所述的程序存储装置,其中所述APDU包含识别所述APDU的上下文的信息。112.根据权利要求88所述的程序存储装置,其中所述第一指纹包含一检验和。113.根据权利要求88所述的程序存储装置,其中所述第一指纹包含一循环冗余码(CRC)。114.根据权利要求88所述的程序存储装置,其中所述第一指纹包含一消息摘要。115.根据权利要求88所述的程序存储装置,其中所述第一指纹包含一基于键控散列的消息认证码(HMAC)。116.一种机器可读取的程序存储装置,其包含一可由所述机器执行的指令程序以执行一用于在一第一装置与一第二装置之间传送程序数据的方法,所述方法包含将一第二程序文件传送到一第二装置,所述第二程序文件包含所述程序数据和由一第一指纹和一至少部分地基于所述第一指纹的第一认证码组成的组中的一个或多个组员;接收所述一个或多个组员和包含一程序文件的至少一个逻辑数据单元的复数个协议数据单元,所述至少一个逻辑数据单元中的每个逻辑数据单元被划分为至少一个协议数据单元,所述至少一个协议数据单元的格式是由一通信协议界定的且包括一净荷部分;在所述至少一个逻辑数据单元的所述协议数据单元的所述净荷部分上计算一第二指纹;和至少部分地基于所述一个或多个组员是否匹配所述第二指纹或是否匹配一至少部分地基于所述第二指纹的第二认证码,将所述程序提交到所述存储器。117.根据权利要求116所述的程序存储装置,其中所述方法进一步包含从所述计算中排除一包含链接数据的协议数据单元。118.根据权利要求116所述的程序存储装置,其中所述方法进一步包含如果一旗标指示应从一认证指纹计算中排除验证数据,那么从所述计算中排除一包含验证数据的协议数据单元。119.根据权利要求116所述的程序存储装置,其中所述协议包含一应用协议数据单元(APDU)协议;且所述协议数据单元包含应用协议数据单元(APDU)。120.根据权利要求119所述的程序存储装置,其中所述协议进一步包含使用一尾部APDU来指示与一程序单元相关联的最后一个APDU。121.根据权利要求119所述的程序存储装置,其中所述协议进一步包含使用一头部APDU来指示跟在所述头部APDU之后的一个或多个逻辑程序APDU的一预期序列。122.根据权利要求119所述的程序存储装置,其中所述APDU包含识别所述APDU的上下文的信息。123.根据权利要求116所述的程序存储装置,其中所述第一指纹包含一检验和;且所述第二指纹包含一检验和。124.根据权利要求116所述的程序存储装置,其中所述第一指纹包含一循环冗余码(CRC);且所述第二指纹包含一CRC。125.根据权利要求116所述的程序存储装置,其中所述第一指纹包含一消息摘要;且所述第二指纹包含一消息摘要。126.根据权利要求116所述的程序存储装置,其中所述第一指纹包含一基于键控散列的消息认证码(HMAC);且所述第二指纹包含一基于键控散列的消息认证码(HMAC)。127.一种机器可读取的程序存储装置,其包含可由所述机器执行的指令程序以执行一用于在一第一装置与一第二装置之间传送程序数据的方法,所述方法包含将一包含程序数据的第一程序文件分解为至少一个逻辑数据单元;将所述至少一个逻辑数据单元中的每个逻辑数据单元划分为至少一个协议数据单元,所述至少一个协议数据单元的格式是由一通信协议界定的且包括一净荷部分;在所述至少一个逻辑数据单元的所述协议数据单元的所述净荷部分上计算一第一指纹;和根据所述协议,将所述至少一个逻辑数据单元的所述协议数据单元和由所述第一指纹和一至少部分地基于所述第一指纹的第一认证码组成的组中的一个或多个组员传送到所述第二装置。128.根据权利要求127所述的程序存储装置,其中所述程序数据包含一类别文件。129.根据权利要求127所述的程序存储装置,其中所述程序文件包含一JAR文件。130.根据权利要求127所述的程序存储装置,其中所述程序文件包含一CAP文件。131.根据权利要求127所述的程序存储装置,其中所述方法进一步包含创建与所述至少一个逻辑数据单元中的一个逻辑数据单元相关联的至少一个验证协议数据单元,所述验证协议数据单元包含用于所述逻辑数据单元的验证数据。132.根据权利要求127所述的程序存储装置,其中所述方法进一步包含从所述第二装置接收一关于所述一个或多个组员是否匹配一第二指纹或是否匹配一至少部分地基于所述第二指纹的第二认证码的指示,所述第二指纹是在所述第二装置接收到的所述协议数据单元的所述净荷部分上计算得出。133.根据权利要求127所述的程序存储装置,其中所述协议包含一应用协议数据单元(APDU)协议;且所述协议数据单元包含应用协议数据单元(APDU)。134.根据权利要求63所述的程序存储装置,其中所述协议进一步包含使用一尾部APDU来指示与一程序单元相关联的最后一个APDU。135.根据权利要求63所述的程序存储装置,其中所述协议进一步包含使用一头部APDU来指示跟在所述头部APDU之后的一个或多个逻辑程序APDU的一预期序列。136.根据权利要求63所述的程序存储装置,其中所述APDU包含识别所述APDU的上下文的信息。137.根据权利要求127所述的程序存储装置,其中所述第一指纹包含一检验和。138.根据权利要求127所述的程序存储装置,其中所述第一指纹包含一循环冗余码(CRC)。139.根据权利要求127所述的程序存储装置,其中所述第一指纹包含一消息摘要。140.根据权利要求127所述的方法,其中所述第一指纹包含一基于键控散列的消息认证码(HMAC)。141.一种用于在一第一装置与一第二装置之间传送程序数据的设备,所述设备包含用于将一包含程序数据的第一程序文件分解为至少一个逻辑数据单元的构件;用于将所述至少一个逻辑数据单元中的每个逻辑数据单元划分为至少一个协议数据单元的构件,所述至少一个协议数据单元的格式是由一通信协议界定的且包括一净荷部分;和用于在所述至少一个逻辑数据单元的所述至少一个协议数据单元的所述...

【专利技术属性】
技术研发人员:爱德华K德容
申请(专利权)人:太阳微系统公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1