从一个认证外延模块出发的数据认证程序和装置的制作方法

文档序号:6418265阅读:190来源:国知局
专利名称:从一个认证外延模块出发的数据认证程序和装置的制作方法
技术领域
本发明关系到通过认证外延模块数据的认证。
背景技术
本发明在数据认证中找到了普通应用,这些数据分成众多数据段,它们按照选好的一种链接关系连接着,特别是按照被分割成程序段的一套数据卡片的关系连接着。
本发明在被装上的软件认证中找到了特殊的应用,例如那些在使用在数字电视上的接收器和译码器装置里被装上的软件。
人们已知一些装上的系统,例如数字电视上的接收器和译码器装置,它们要求位于存储器里软件的认证,以便向电脑黑客作斗争。
实际上,认证程序使用安置在不可再记入的存储器里的认证库,并包括一些预定的认证功能。
例如,认证库包括一些署名计算功能,辨读功能,为了辨读的公用关键字以及经计算的签名与被数字编码的参考签名一致性的验证功能。
实际上,这个用数字编码的参考署名形成一个证书,它被安放在接收器和译码器装置的存储器的可再记入的并可抹掉的部分里。
形成证书的这个用数字编码的参考署名带来某种程度的安全性。但是,使用唯一的证书提出了一个问题,当要认证的软件是由好多不同公司开发的模块时,例如这些公司经营存取控制,交互作用或其它的服务。
事实上,私用关键字的唯一持有者有可能给参考署名编号码,也就是说单元之一就容许检验证书的认证。
由此导致一些利益冲突,这可能会导致对接收器和译码器装置的操作者造成有害的锁定状况。
再者,因为认证库是放置在不可再记入的存储器里,所以不可能使在接收器和译码器装置的平台上已经显示的认证机制演变。

发明内容
本发明给这些问题带来了解决办法。
本发明关系到一种数据认证程序,这些数据分成众多数据段,它是按照选好的一种链接关系彼此连接的,在每个数据段上连接着一个事先认证的署名。
根据本发明的一个普通定义,本程序包括下面备阶段—按照一个选好的认证算法认证众多程序段,这个算法适合于以链接和重复的方式为每个相继的程序段计算一个署名值,并适合于将这样计算的署名值与那个合作的署名进行比较,下一个程序段的认证是在对目前的程序段来说肯定的比较情况下实行的,而第一个程序段是从包含在不可再记入的存储器里的一个认证库的至少一个功能出发被认证的;—至少预先设计一个形成可运行的认证外延模块的程序段,它被安置在可再记入的存储器里,事先至少被认证库的一个认证功能所认证,并且此程序段连在上述的按照链接关系连接的众多程序段上;—在答复这样链接的众多程序段的一个认证申请时,认证每个相继的程序段,而在要求认证外延模块的程序段的情况下,运行上述认证外延模块,以便证实这个如此遵循此认证外延模块的程序段。
因此,认证外延模块容许加上开始时未预备的特殊的功能性,能够认证一个软件的程序段而不改变包含在不可再记入的存储器里的认证库。
根据一种实现方式,在每个程序段上连接一个数据表,此表包括一个合作认证署名,一些定位此程序段的开始和结束地址,一些定位合作署名的开始和结束说明,一个指示器,它指示此程序段是认证外延模块型的,和一个名称,它鉴别一个认证外延算法。
例如众多数据是从一套数据卡的破碎导致的。
例如链接关系就如同目前的程序段的署名包括下一个程序段的署名的识别。
本发明同样地有一个目的是一个数据认证装置,这些数据分成众多的数据段,它们按照一个选好的链接关系彼此连接,每个数据段配合着一个事先定好的认证署名。
根据本发明的另一方面,此认证装置包括
—能够根据一个选好的认证算法认证众多程序段的认证设备,此算法适合以链接和重复的方式为每个相继的程序段计算一个署名值,也适合把这样计算的署名值与配合的署名比较,下一个程序段的认证是在对目前的程序段来说是肯定比较的情况下实行的,而第一个程序段是从包含在不可再记入的存储器里的一个认证库的至少一个功能出发被认证的;—能够预备至少一个程序段的一些设备,此程序段形成可运行的认证外延模块,它安置在可再记入的存储器里,至少由认证库的一个认证功能事先认证,并连接在上述根据链接关系连接的众多程序段上;—一些处理设备,它们在答复根据链接关系这样链接的众多程序段的一个认证申请时,适合认证每个相继的程序段,在要求认证外延模块的程序段的情况下,适合执行上述的认证外延模块以便认证这样遵循认证外延模块的程序段。
根据一种实现方式,在每一个程序段上连接一个数据表,此数据表包括配合认证的一个署名,定位这个程序段的起始和结束地址,定位配合署名的起始和结束的一些指示、一个指示器,它指出程序段是认证外延模块类型的,以及一个名称,它识别一个认证外延算法。
实际上,众多数据段是由一套数据卡片的破碎而导致的。
最好是,链接关系如同目前程序段的署名包括下一个程序段的署名的识别。
本发明同样有一个目的是一种信息载体,它可以容易地由一个可能或完全可拆卸的信息系统阅读,特别是CD ROM光盘或磁载体,例如一个硬盘或一个软磁盘,或一个可传输的载体,例如一个电的或光的信号。
根据本发明的另一个重要特点,信息载体具有计算机程序的一些指令,容许以上提及的认证程序的执行,当这个程序由一个信息系统装载和执行时。
本发明同样有一个目的就是在信息载体上储存的一个计算机程序,上述这个程序具有一些指令,当这个程序由一个信息系统装载和执行时,这些指令容许上面提及的程序执行。
本发明的其它特点和优点在下面的详细描述和附图的启示下出现在这些附图中—

图1简略地表示一个接收器和译码器装置的存储器,它的不可再记入的区域包括一个认证库,它的可再记入部分包括众多程序段,它们按照本发明选好的一个链接关系彼此连接;—图2表示与根据本发明的每个程序配合的一个数据表;—图3简略地表示一个程序流程图,它表明根据本发明一认证程序的执行步骤;—图4简略地表示根据本发明的认证库和认证模块之间的交互作用。
在参考图1时,人们表示了在数字电视上使用的一个接收和译码装置的一个MF快速存储器。
接收和译码装置执行一些软件,它适合检验这些软件的认证,以便避免电脑黑客的袭击。
快速存储器MF具有一个不可再记入区域MNR和一个可再记入的区域MR。
要认证的软件被分或i个程序段S,与这些程序段配合着i个证书C。每个程序段SK被分成没有必要毗连的字块Bj。
这些程序段S按照一个选好的链接关系被此连接。
实际上,链接关系就如同每个证书CK包含下一个证书CK+1的辨证。
每个证书CK包含它与之有关的编号码形式的程序段SK的署名。证书CK后跟着构成程序段SK的一些字块B的表格。
第一个程序段SO的第一个字块BO描述证书CO本身。
证书CK一般是由一个私人关键字编号码的认证署名。
每个证书CK使用的私人关键字可能各不相同。
因此,在一个软件设计中对每一个有关公司授予一个私用关键字,为了使他能认证包含要认证的软件模块的那个或那些程序段S。
在不可再记入的区域MNR里,预先安置在存储页里一个认证库,它包含从F1到F4的一些功能,和一个在后面我们将更详细地描述的认证主管GA。
那些相应于私用关键字的公用关键字包含在认证库里。
例如,公用关键字的数目被限制为3个数。
例如,认证库包括具有独特性能的功能F1到F4的4个功能F。
被表示为“init_digest”(“初始文摘”)的第一功能F1是一个能够对署名计算进行格式预置的初始化功能。
对每一个新程序段SK,功能F1都被调用,程序段SK由证书CK指示。功能F1能对署名计算进行必要的初始化。
被表示为“calc_digest”(“计算文摘”)的第二功能F2是一个字块计算功能,对每个被描述的字块它都被调用,以便兼任程序段的署名计算。
被表示为“end_digest”(“结束文摘”)的第三功能F3是一个程序段计算功能,在最后的字块的兼任署名计算之后,它被调用以便结束程序段的署名计算。
最后,被表示为“verif_digest”(“检验文摘”)的第四功能F4是一个检验功能,它检验被计算的署名与被考虑的程序段所期待的署名的一致。
为此,检验功能F4把证书CK译码,并把这样收到的证书与计算的结果比较。实际上,要使用的公用关键字是在证书CK里指出的。被计算的署名和证书以输入参数的形式被转到检验功能F4。检验功能F4同样可以取一个号码作为输入参数,例如终端的系列号码,要认证的软件就装载在这个终端上。
在输出时,检验功能F4释放一个信号,它可以取下面的值—“OK”,也就是程序段被正确地认证;—“KO”,也就是程序段没有被认证;—“VOLD”,对应于由一个证书构成的程序段,此证书将要在下面更充分地描述;—“DONE”,也就是说所有的数据要素都被成功地认证了。
一旦一个程序段S被宣布“KO”,那么所有其它被提出的程序段也同样被宣布“KO”(没有被认证)。
实际上,认证程序包括下列各阶段—i)寻找第一证书CO,其识别等于零;—ii)认证配合的程序段SO;—iii)调用初始化功能F1,并根据功能F2进行署名计算“calc_digest(计算文摘)”;—iv)调用署名计算结束功能F3“end_digest”(“结束文摘”);—v)调用检验功能F4“verif_digest”(“检验文摘”)。
对按照上面提及的链接关系彼此连接的每个证书CK来说iii)到v)的阶段是重复的,直到最后一个证书CK=i。
实际上,那些证书C的认证申请来源于一个软件,例如接收器和译码器的装置的制造者的一个软件,它将进行证书搜索的操作,它然后根据选好的链接关系把那些要认证的字块提供给认证库的功能F1到功能F4。
因此,认证是在被那些证书的链接强加的命令之下进行的。
为了被认证库认证,一个软件应该至少包含一个证书。此外,存储器的可擦掉的或可再记入的部分的整体应该是被检验过的。
因此,链的第一个证书CO包含快速存储器MF的可擦掉部分MR的大小,以便容许认证库检验最后程序段的处理结束,这个最后程序段实际上是可由链的最后证书CK=i定位的。因此确定快速存储器的整体已被很好地检验是可能的。
在参考图2中,每个程序段SK连接在一个数据表TD上,数据表包括一些能使用根据本发明的程序的信息。
数据表TD首先包括配合程序段SK的署名CK。开始指示CHAR1和结束指示CHAR2定位署名C。例如指示CHAR1和CHAR2都是字符链型的。
其次,数据表TD包括程序段SK,开始指示AD1和结束指示AD2定位配合的程序段S。例如,指示AD1和AD2是地址型的。
第三,数据表TD包括一个指示器TY,它指出程序段SK是认证外延模块MFA型的。
最后,第四,数据表TD包括一个称呼ID,它确认一个认证算法,此算法贡献给和(或)伴随认证外延模块MEA。
实际上,算法的识别码ID通过认证外延模块识别要使用的认证算法。这个要使用的算法可能是认证库的认证主管GA或者是一个认证外延模块MEA(英文“plug-in”)。人们将在下面对此模块作更详细地描述。
在参考图3中,人们根据本发明表示出认证程序的主要阶段。
阶段10根据本发明用认证装置预设要处理的那些i程序段S的加载。
实际上,正是认证主管GA借助于指示CHAR1和CHAR2以及AD1和AD2探测要认证的数据箱和发现要处理的程序段和证书的区域的。
根据阶段20,预先设计了要根据选好的链接关系检验i个程序段S的链接。
根据阶段30,预先准备了以相继的和重复的方式认证众多程序段S,这里是程序段SK。
认证主管GA根据本发明使用认证算法,而在应答一个程序段SK时,这个程序段指出应用认证外延模块MEA(阶段40)是适合的,上述的认证主管GA开动修改外延模块(阶段50),以便用上述认证外延模块MEA认证要处理的程序段SK。
在认证外延模块MEA执行(阶段60)之后,预先考虑到过渡到下一个程序段SK=K+1,和重复认证的循环,直到最后的程序段SK=1(阶段70)。
实际上,当认证主管GA开始认证外延模块MEA时,它给上述的认证外延模块指出处理参数,这些参数使它能认证要处理的程序段。这些参数主要地包括要认证的程序段的开始地址AD1和结束地址AD2。
在用认证外延模块认证程序段之前,事先认证上述的认证外延模块MEA是合适的。
为此,当证书CK包含一个认证外延模块型的或“插入”型的信息TY时,认证主管就用认证库的功能F1到F4认证上述认证外延模块。然后,认证主管把这样被认证的这个认证外延模块的识别码ID储存在上面提及的数据表TD里。这个识别码ID事实上对应于可能被认证外延模块使用的算法号码。
为了认证一个程序段,认证外延模块然后就在以后回复一个请求时被认证主管使用,对于这个程序段,证书指出一个确认码TY=“algo”,它对应于认证外延模块的算法号码。
因此,认证外延模块作为一个认证功能被执行,以便在认证库的功能的场所和位置上认证一个程序段,这个认证外延模块本身事先已经被认证库认证了。
在参考图4中,认证主管与位于不可再记入的存储器MNR里的认证库的那些F1到F4功能以及与位于可再记入的存储器MR里的认证外延模块MEA相互作用。
认证外延模块MEA包括一个介面和一个参数,这个介面接收被认证库使用的那些参数作为输入参数,而这个参数指出要执行的功能类型TY,即F1到F4四个功能中的一个功能。
在输出时,认证外延模块MEA的检验功能F4退回下面的信息—“KO”对应于遵循认证外延模块MEA的程序段的认证;—“VOID”指出认证外延模块检测到这样遵循认证外延模块MEA的一个证书“VOID”;—“DONE”指出认证的成功结束。
实际上,对一个不能执行的程序段来说,要使用的认证外延模块MEA是被借助于在配合的证书里指出的算法号码TY指出的。
当认证外延模块MEA没有事先被认证库认证时,那么程序就不执行认证外延模块,而检验功能F4“检验文摘”退回一个“KO”型的指示。
根据本发明的认证从一个认证外延模块出发找到很多应用。
例如,从一个认证外延模块出发的认证在包含有一些装填或“填塞”元件的程序段认证中找到应用。
例如,这样的一些装填程序段是用一个、两个或四个八位二进制数的一个固定值填充的。因此,根据本发明,不使用缩合型或切碎型的算法,这在处理时间上有一些缺陷,而是用一个和要安排的认证算法有关的信息根据本发明预先创造一个认证外延模块MEA型的可执行的程序段。因此,认证外延模块借助简单的比较循环检验要处理的程序段是用一个固定值填充的。
在这种情况下,与包含一个固定值的填充程序段相联系的证书带有一个相应的算法号码的值,例如“algo2”。认证库使用包含在与算法《algo2》有关的可执行的代码以便认证填充程序段。
根据本发明的程序两样地能限制一个软件的认证,这个软件从一个唯一的程序段被切碎成好多程序段。
如果这个唯一的程序段的认证是否定的,那么软件的整体认证也是否定的,而如果认证是肯定的,软件的剩余部分,要被认证就没有必要了。
一种应用可能对应于正好包含在要认证的程序段里的那些译码器表格的认证。
那些计算功能F1和F3和检验功能F4因此以传统的方式认证包含这个表格的程序段。检验功能F4保证过渡为它的参数的系列号码是这个表格的一部分。如果情况是这样的,功能F4就返回“DONE”值。反之,如果最后的号码不是表格的一部分,功能F4就返回“KO”值。
实际上,认证外延模块MEA主要通过创立一些可远程加载的认证外延模块和加入一些公用键等增加认证库里预备的初始功能性的量,这些可远程加载的认证外延模块迫使为了有一个希望的译码表格的认证失败。
认证外延模块固此能使在一个平台上的软件远程加载安全。在接收时识别远程加载的软件,有可能根据符合本发明的认证程序保证远程加载的软件是完整的,不被污染或更普通地不被危害物任意地改变。
权利要求
1.分成i个数据段的众多数据段(S)的数据认证程序,这些数据段又是按照选好的一个链接关系彼此连接的,在每个数据段(SK)上配备着一个认证暑名(CK),这样的程序,其特征在于它包括下面的各阶段—根据一个选好的认证算法,认证众多程序段(S),这个算法适合以链接的和重复的方式为每个相继的程序段(SK)计算一个署名值,也适合把这样计算的署名值与那配合的署名相比较。下一个程序段(SK+1)的认证在对目前的程序段(SK)来说是肯定比较的情况下,被实行的,而第一个程序段(SO)是从包含在不可再记入的存储器(MNR)里的一个认证库的至少一个功能出发被认证的。—预先设计至少一个形成可运行的认证外延模块的程序段,它被认证库的至少一个认证功能事先认证的,并按照链接关系连接在上述众多程序段上的。—在答复按照链接关系这样链接的众多程序段的一个认证申请时,认证每一个相继的程序段(SK),而在要求认证外延模块(MEA)的程序段的情况下,执行上述认证外延模块以便认证这样遵循认证外延模块(MEA)的程序段(SK)。
2.根据权利要求1的程序,其特征在于在每个程序段(SK)上连接着一个数据表(TPK),它包括一个配合的署名(CK),定位这个程序段的开始地址(AD1)和结束地址(AD2),定位配合署名的开始指示(CHAR1)和结束指示(CHAR2),一个指出程序段(SK)是认证外延模块型的指示器TY和一个识别认证外延算法的指示ID。
3.根据权利要求1或权利要求2的程序,其特征在于众多数据段是从一套数据卡片的破碎中得到的。
4.根据权利要求1到3中任何一项的程序,其特征在于至少一个程序段还包括一个认证外延算法相关的指示。
5.根据前面权利要求中的任何一项的程序,其特征在于链接关系就如同目前程序段的署名包括下一个程序段的署名的识别。
6.数据认证装置,这些数据被分成按照一个选好的链接关系彼此连接的众多数据段,在每个数据段上配备着一个认证署名,其特征在于此认证装置包括—根据一种选好的认证算法能够认证众多程序段的一些认证办法(GA,F1,F2,F3,F4),认证算法适合以链接的和重复的方式计算每个相继程序段的署名值,适合把这样计算的署名值与配备的署名值比较,下一个程序段的认证在对目前的程序段来说是肯定比较的情况下执行的,而第一个程序段是从包含在不可再记入的存储器(MNR)里的认证库的至少一个功能出发被认证的;—能够预先设计至少一个形成可执行的认证外延模块(MEA)的程序段的一些处理设备,程序段被安置在可再记入的存储器(MR)里,事先被认证库的至少一个认证功能所认证,并按照链接关系连接在上述的众多程序段上;一在答复按照链接关系这样链接的众多程序段的一个认证申请时,适合认证每个相继的程序段(SK)的一些处理设备,并在要求认证外延模块(MEA)的程序段的情况下,适合执行上述的认证外延模块,以便认证这样遵循认证外延模块的程序段。
7.根据权利要求6的装置,其特征在于在每个程序段上连接着一个数据表(TD),它包括一个配合的认证署名(CK),定位程序段(SK)的开始地址和结束地址,定位配合署名的开始指示和结束指示,一个指示程序段是认证外延模块类型的指示器(TY)和一个识别认证外延算法的名称。
8.根据权利要求6或7的数据认证装置,其特征在于众多数据段由一套数据卡片的破碎得到的。
9.根据权利要求6到8中任何一项的装置,其特征在于链接关系就如同目前的程序段的署名包括下一个程序段的署名的识别码。
10.可由偶然地或完全可拆卸的信息系统清晰易读的信息载体,特别是CD ROM光盘,或磁载体,例如一个硬盘或一个软盘,或可传播的载体,例如电信号或光信号,其特征在于这个信息载体具有一个计算机程序的一些指令,能根据权利要求1到5中的一项执行认证程序,当这个程序被一个信息系统装载和执行时。
11.储存在一个信息载体上的计算机程序,上述程序包括一些指令,当这个程序被一个信息系统装载和执行时,根据权利要求1到5中的一项这些指令使得能够执行这个认证程序。
全文摘要
程序预备一个程序段,它形成可运转的认证外延模块(MEA),由认证库的至少一个认证功能事先认证的,并根据链接关系连接到上述众多程序段上。在答复根据链接关系这样链接起来的众多程序段的一个认证申请时,认证每一个相继的程序段(SK),而在请求认证外延模块程序段的情况下,运转上述认证外延模块,以便证实如此遵循此认证外延模块的程序段(SK)。
文档编号G06F21/33GK1578217SQ20041006208
公开日2005年2月9日 申请日期2004年7月2日 优先权日2003年7月2日
发明者J·-C·萨法蒂, H·肖 申请人:汤姆森许可公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1