用于安全通信系统中处理信息的方法和系统的制作方法

文档序号:7583661阅读:133来源:国知局

专利名称::用于安全通信系统中处理信息的方法和系统的制作方法
技术领域
:本发明涉及加密系统,更具体地说,涉及一种用于代码加密系统内不定变换密钥(variableandchangingkeys)的方法禾口系统。
背景技术
:随着世界安全意识的增加,保护对信息和/或系统的访问,使其免于不希望的发现和/或侵害,对用户和企业都是至关重要的。当系统的安全等级不足以提供合适的保护时,许多用户或商务系统易于受到不希望的访问。在这一点上,用户系统,如多媒体系统,为了提供必要的保护以防止不希望的访问,需要使用集成化结构来实现安全管理机制,定义和管理用户权限和特权。机顶盒便是能够被不同用户访问的多媒体系统的一个实例,制造商、销售商、操作人员和/或家庭用户都对访问或限定这个系统的至少某些有限的功能性感兴趣。许多具备分布式组件的安全系统采用加密算法和对应的密钥以限制特定用户的访问。这些算法一般都是有效的,除非非授权用户获得了加密密钥而获取访问的情况。在一个其区域分布有相似设备的系统中,公共的加密密钥可允许访问所有的类似设备。如果非授权用户发现了该密钥,这个用户可以访问所有的相似设备。另外,被发现的密钥还可能被传输给其它不希望的用户,使其也可以访问上述分布式单元。解决非授权访问的一个方法是为分布在本区域的每个单元分配唯一的加密密钥。这样,如果不正当的用户识别了一个设备的加密密码,也不能再用其访问其它的设备。但是,在大型系统中,这种方法在实现上不切实际,因为本区域内的每个设备均需要一个唯一的代码单元,并且需要为每个设备的用户分配唯一的密钥。比较本发明后续将要结合附图介绍的系统的各个特征,现有和传统技术的其它局限性和弊端对于本领域的普通技术人员来说是显而易见的。
发明内容本发明提供了一种用于代码加密系统内不定变换密钥的系统和/或方法,结合至少一幅附图进行了充分的展现和描述,并在权利要求中得到了更完整的阐述。根据本发明的一个方面,提供一种用于安全通信系统中处理信息的方法,所述方法包括根据解密算法参数解密被分割成多个代码段的代码,其中所述解密算法参数嵌入在所述多个代码段中各个连续的代码段之间,且每个代码段由不同的解密算法参数保护。优选地,所述多个代码段的长度是变化的。优选地,所述每个代码段的解密算法参数包括对应的解密密钥信息、对应的初始化向量信息和对应的代码段长度信息。优选地,所述解密密钥信息包括进入单独的密钥表的索引。优选地,所述密钥表是采用组合逻辑存储的。优选地,所述方法进一步包括利用在前的解密输出解密所述多个代码段中各个代码段的连续信息块。优选地,所述方法进一步包括利用对应的初始化向量解密所述多个代码段中各个代码段的连续信息块。优选地,所述方法进一步包括单独选择使用初始向量或来自前一解密代码段的输出块来解密所述多个代码段中各个代码段的连续信息块。优选地,所述方法进一步包括在所述多个代码段中的当前代码段正被解密时,解密用于所述多个代码段中的下一代码段的解密算法参数。优选地,所述方法进一步包括使用线性反馈移位寄存器生成一个或多个所述解密算法参数。优选地,所述方法进一步包括从一次可编程存储器获取所述线性反馈移位寄存器使用的种子(seed)。根据本发明的另一方面,提供了一种用于安全通信系统中处理信息的系统,所述系统包括至少一个处理器,用于根据解密算法参数解密被分割成多个代码段的代码,其中所述解密算法参数嵌入在所述多个代码段中各个连续的代码段之间,且每个代码段由不同的解密算法参数保护。优选地,所述多个代码段的长度是变化的。优选地,所述每个代码段的解密算法参数包括对应的解密密钥信息、对应的初始化向量信息和对应的代码段长度信息。优选地,所述解密密钥信息包括进入密钥表的索引。优选地,所述密钥表是采用组合逻辑存储的。优选地,所述至少一个处理器利用在前的解密输出解密所述多个代码段中各个代码段的连续信息块。优选地,所述至少一个处理器利用对应的初始化向量解密所述多个代码段中各个代码段的连续信息块。优选地,所述至少一个处理器单独选择使用初始向量或来自前一解密代码段的输出块来解密所述多个代码段中各个代码段的连续信息块。优选地,所述至少一个处理器在所述多个代码段中的当前代码段正被解密时解密用于所述多个代码段中的下一代码段的解密算法参数。优选地,所述系统进一步包括至少一个线性反馈移位寄存器,用于生成一个或多个所述解密算法参数。优选地,所述系统进一步包括至少一个一次可编程存储器,用于获取所述线性反馈移位寄存器使用的种子。根据本发明的一个方面,提供了一种机器可读储存器,其内存储的计算机程序包括至少一个用于安全通信系统中处理信息的代码段,所示至少一个代码段由机器执行而使得所述机器执行如下步骤根据解密算法参数解密被分割成多个代码段的代码,其中所述解密算法参数嵌入在所述多个代码段中各个连续的代码段之间,且每个代码段由不同的解密算法参数保护。优选地,所述多个代码段的长度是变化的。优选地,所述每个代码段的解密算法参数包括对应的解密密钥信息、对应的初始化向量信息和对应的代码段长度信息。优选地,所述解密密钥信息包括进入密钥表的索引。优选地,所述密钥表是采用组合逻辑存储的。优选地,所述至少一个代码段包括利用在前的解密输出解密所述多个代码段中各个代码段的连续信息块的代码。优选地,所述至少一个代码段包括利用对应的初始化向量解密所述多个代码段中各个代码段的连续信息块的代码。优选地,所述至少一个代码段包括单独选择使用初始向量或来自前一解密代码段的输出块来解密所述多个代码段中各个代码段的连续信息块的代码。优选地,所述至少一个代码段包括在所述多个代码段中的当前代码段正被解密时解密用于所述多个代码段中的下一代码段的解密算法参数的代码。优选地,所述至少一个代码段包括使用线性反馈移位寄存器生成一个或多个所述解密算法参数的代码。优选地,所述至少一个代码段包括从一次可编程存储器获取所述线性反馈移位寄存器使用的种子的代码。本发明的各种优点、各个方面和创新特征,以及其中所示例的实施例的细节,将在以下的描述和附图中进行详细介绍。图IA是根据本发明实施例可采用不定变化的密钥解密的可再编程安全系统的典型框图;图2A是根据本发明一个实施例的具有存储栈的解密系统典型框图,所述存储栈包括多个嵌入的初始化向量以在代码加密系统中实现不定变化的密钥;图2B是根据本发明一个实施例的具有存储栈的解密系统典型框图,所述存储栈包括一个嵌入的初始化向量以在代码加密系统中实现不定变化的密钥;图2C是根据本发明一个实施例的具有存储栈的解密系统典型框图,所述存储栈包括可选择的初始化向量以在代码加密系统中实现不定变化的密钥;图2D是根据本发明一个实施例的解密系统典型框图,其中具有用于在代码加密系统中实现不定变化的密钥的存储栈和用于生成密钥索引的线性反馈移位寄存器;图3A是根据本发明实施例在代码加密系统中实现不定变化的密钥的流程图,其中密钥表索引存储在嵌入式数据结构中;图;3B是根据本发明实施例在代码加密系统中实现不定变化的密钥的流程图,其中采用线性反馈移位寄存器生成密钥索引。具体实施方式本发明的实施例涉及一种在代码加密系统内用于不定变化密钥的方法和系统。所述方法包括解密被分割为多个变长代码段的代码体,并将所述代码体存储在分布式设备中,例如机顶盒(STB)。可采用一组唯一的解密算法参数来解密所述多个代码段中的每一个。嵌入在多个代码段之间的多个数据结构可存储解密算法参数信息。在本发明的又一实施例中,可由该分布式设备生成解码算法参数信息的一个或多个元素。在一个安全可再编程系统中,CPU安全码可存储在闪存中。因而有必要对CPU安全码加密以保护用户和芯片销售商的隐私。根据本发明的一个实施例,在代码加密系统内实现不定变换的密钥的方法包括采用多个密钥加密机顶盒内的代码。如果机顶盒的一个密钥被非授权用户发现并在以太网上散播,如非授权用户仅能获取此代码的一小部分。本发明的一个实施例可以组合片上逻辑的格式存储一组用于机顶盒的多个密钥。图IA是根据本发明实施例采用不定变化的密钥的通信系统的典型框图。参照图1A,显示了一个视频分配系统,包括指挥控制头端150、通信卫星152、卫星通信连链路154、通信分布式网络156、多个机顶盒(1)158到(N)160、电视机162和164。指挥控制头端150包括合适的逻辑、电路和/或代码,用于通过通信分布式网络156分配视频和控制信号到多个机顶盒(1)158到(N)160。指挥控制头端150可在在多个机顶盒(1)158到(N)160中分配用于安全操作的代码。通信分布式网络156包括合适的逻辑、电路和/或代码,用于在信号传输各个发起点和终点之间提供连接。通信分布式网络156可传送来自指挥控制头端150的信号,该信号携带用于在多个机顶盒(1)158到(N)160之间进行安全操作的代码。通信卫星152和卫星通信链路巧4包括合适的逻辑、电路和/或代码,用于为通信分布式网络156提供上行和下行的无线传输。通信卫星152上行和下行链路无线传输可传送来自指挥控制头端150的信号,该信号携带用于在多个机顶盒(1)158到(N)160之间安全操作的代码。多个机顶盒(1)158到(N)160包括合适的逻辑、电路和/或代码,用于接收和发送来自/传向指挥控制头端150的信号。多个机顶盒⑴158到(N)160可包括合适的逻辑、电路和/或代码,用于处理、存储和发送机顶盒中的信息。多个机顶盒(1)158到(N)160可包括有可再编程安全系统,实现安全操作以保护其内的功能性。多个机顶盒(1)158到(N)160可与通信分布式网络156以及对应的如标号162和164所示的电视机通信连接。多个电视机162和164通信连接至对应的机顶盒。该电视机可接收和电视来自机顶盒的经解密的信号。在运行中,指挥控制头端150可分配新版本的安全处理器代码,并通过通信卫星152、卫星通信链路巧4和通信分布式网络156经由通信信号传送给多个机顶盒(1)158到(N)160。根据本发明的一个实施例,多个机顶盒(1)158到(N)160可下载该代码并执行安全操作。图2A是根据本发明实施例采用不定变化的密钥的解密系统的典型框图。参照图2A,显示了集成电路200、存储器210、代码段218、224、230、236和242、数据结构220,222,226、228、232、234、238和240、密钥表212、解密/加密引擎214和加密/解密代码块输出216。6存储器210可为外部闪存,其存储有多个代码段和多个嵌入的对应数据结构。存储器210可与解密/加密引擎214通信连接。第一代码段218和数据结构220和222—起作为一组可使用固定的密钥、固定的初始化向量和固定的代码段长度进行解密,其中该固定参数可由本区域中分布的多个设备共用。数据结构220可包括一个密钥2表索引(keytwotableindex),用于标示出集成电路220上密钥表212中的密钥。数据结构222可包括初始化向量2和代码段2长度。包括来自密钥表212的由密钥2表索引标示出的密钥、初始化向量2和代码段2长度在内的一组解密参数可传送给与解密/加密引擎214。这组解密参数可用于解密存储在代码段224内的代码段2、数据结构226中的密钥3表索引和数据结构228中的初始化向量3和代码段3长度。数据结构2可包括一个密钥3表索引(keythreetableindex),用于标示出集成电路220上密钥表212中的密钥。数据结构2可包括初始化向量3和代码段3长度。包括来自密钥表212的由密钥3表索引标示的密钥、初始化向量3和代码段3长度在内的一组解密参数可传送给解密/加密引擎214。这组解密参数可用于解密存储在代码段230中的代码段3、数据结构232中的密钥4表索引和数据结构234中的初始化向量4和代码段4长度。对应于代码段4236到代码段η242的解密参数可用于根据前述适合于代码段22Μ、代码段3230和对应的连续数据结构的方法,解密代码段4到代码段η以及对应的连续数据结构。密钥表212可包括多个映射到关联的密钥索引的解密算法密钥。该密钥表可存储在组合逻辑中,以提供更好的保护以对抗物理芯片攻击。该密钥表与解密/加密引擎214通信连接。在本发明的包含解密引擎的一个实施例中,密钥表212可与解密代码输出块216通信连接。在本发明的又一包含解密引擎的实施例中,密钥表212可与存储器210通信连接。解密/加密引擎214可用作解密引擎并解密来自存储器210的连续代码段/数据结构组。在这一点上,解密引擎214可与存储器210、密钥表212和加密代码输出块216通信连接。解密引擎214可接收来自存储器210的加密代码段和后续邻接的数据结构作为输入。解密引擎214也可接收对应的解密算法参数,包括来自密钥表212的密钥、来自前一解密输出216的初始化向量和代码段长度。解密引擎214可输出由解密代码段和解密算法参数组成的块,以用于包括加密代码段和后续邻接的数据结构的下一组的解密。在本发明的又一包含加密引擎的实施例中,,加密/解密引擎214可用作加密引擎,对连续的代码段和数据结构组进行加密。在这一点上,加密引擎214可与存储器210、密钥表212和解密代码输出216通信连接。加密引擎214可将来自存储器210的包括代码段和随后邻接数据结构的群组作为输入接收。加密引擎214也可接收对应的加密算法参数,包括来自密钥表212的密码和来自存储器210的初始化向量和代码段长度,或代替初始化向量的来自解密代码输出块216的前一加密代码段输出块。加密引擎214可输出加密代码段和数据结构组成的块。加密/解密代码输出块216包括来自加密/解密引擎的输出。加密/解密代码输出块与加密/解密引擎214的输入和密钥表212的输入端通信连接。当包含解密算法参数的解密数据块从加密/解密引擎214输出时,用于解密下一代码段的解密密钥索引将送到密钥表的输入端,并且该解密数据块将送到加密/解密引擎的输入端,在此该解密数据块用作代替初始化向量的解密算法参数。在运行中,经加密的代码体已经被分割成多个变长的代码段并存储在分布式设备例如机顶盒的存储器中。嵌入在多个代码段218、224、230和242之间的多个数据结构220、222、226、228、232、234、238和240用于存储解密算法参数信息。除了上述多个代码段中的第一个代码段外,上述多个代码段中的各个代码段都具有对应的多个数据结构。这些数据结构可嵌入在他们所对应的代码段之前。经加密的代码体可存储在一个或多个分布式设备(如机顶盒)的存储器210(例如闪存)中。该多个代码段中的不同代码段可采用不同的解密参数信息解密。代码体可通过以下步骤解密,首先将一个代码段和随后邻接的数据结构组成一个群组,然后采用一组解密算法参数对该群组进行解密。将要解密的第一代码段与包含对应第二代码段的解密参数信息的连续邻接数据结构组成一组。第一代码段/数据结构组可采用一组固定的或已知的可用于多个类似配置设备的解密算法参数信息进行解密。通过这种方式,在第一代码段/数据结构组解密之后,就获得可用于第二代码段/数据结构组的一组解密算法信息。后续的代码段/数据结构组也通过同样的方式解密。存储在数据结构如220和222中的一组解密算法参数信息,包括对应于后续邻近代码段224的密钥表索引、初始化向量和代码段长度。该初始化向量用于初始化可随着解密过程反复变换的解密算法参数。该密钥表索引用于标示出密钥表212中的密钥。密钥表212可存储在设备的组合逻辑中。对代码段/数据结构组的解密可链接起来,其中采用初始化向量和解密密钥解密来自代码段/数据结构组的第一代码块。在解密第一代码块以后,将解密输出块反馈回解密引擎214的输入端,代替初始化向量,与密钥一起用于解密下一数据块。按照这种方式,后续的数据块采用前一解密块输出和对应的密钥作为解密算法参数。当解密后续的代码段/数据结构组时,采用一组新的解密参数,其包括用于该代码段/数据结构组中的第一数据块的新初始化向量。后续的代码段/数据结构组可采用类似的方式解密。图2B是本发明另一实施例的框图,其中初始化向量和解密链的过程或解密引擎输出的反馈不同于图2A所示。参照图2B,显示了多个如图2A中的相同的组件,包括存储器210、代码段218、224、230、236和242、数据结构220,226,232和238、密钥表212、加密/解密引擎214和加密/解密代码块输出216。图2B中新增的或替换的组件包括数据结构250、252、254和256。数据结构250可存储在存储器210中,其包含有初始化向量,可用代码段1218和密钥2表索引220来解密。数据结构252、2M和256包括有如图2A中对应后续邻近代码段的代码段长度,但并不包含有任何初始化向量。在运行中,包含新的或替换的数据结构的经加密代码体的解密方法,除了解密链或解密代码输出到解密引擎214的输入端的回馈之外,与包含图2A所示的数据结构的代码体的解密方式相同。如图2B所示,存储在数据结构220和250中的一组解密参数信息可包括对应后续邻近代码段224的密钥表索引、初始化向量和代码段长度。初始化向量用于初始化可随着解密过程的重复而变化的解密算法参数。密钥表索引用于标示出密钥表212中的密钥。密钥表212存储在设备的组合逻辑中。代码段/数据结构组的解密可形成解密链,其中,采用初始化向量和解密密钥来解密来自代码段/数据结构组的第一代码块。在解密完第一代码块后,将解密输出块反馈回解密引擎214的输入端,用来代替初始化向量,与来自密钥表的密钥一起用于解密下一数据块。通过这种方式,后续的数据块采用前一解密块输出和对应的密钥作为解密算法参数。然而在图2B中,在解密后续的代码段/数据结构组时,采用一组新的解密参数,但不会使用新的初始化向量,而是采用前一代码段/数据结构组中最后一个解密块输出来代替。后续的代码段/数据结构组可采用类似的方式解密。图2C显示了本发明的又一实施例的框图,其中初始化向量的使用可基于每个代码段进行选择。因此,代码段的加密和/或解密始于新的初始化向量或使用来自前一代码段的加密和/或解密输出块,如此将一个或多个代码段的加密和/或解密链接起来。可选初始化向量的实现可通过多种方法完成。例如,可在数据结构中加入一个比特,用作指示用于解密和/或加密下一代码段的可用初始化向量的指示符。在另一示例中,使用数据结构的初始化向量字段中的特定值来表示应该使用来自前一代码段的输出而非新的初始化向量。参照图2C,显示了多个如图2A中的相同组成部分,包括存储器210、代码段218、224、230、236和242、数据结构220,226,232和238、密钥表212、加密/解密引擎214和加密/解密代码块输出216。图2C中新的或替换的组成部分有数据结构270、272、274和276。数据结构270可存储在存储器210中,并包括有可用作解密引擎214的解密参数的初始化向量(IV)比特、初始化向量和代码段2长度。IV比特指示代码段2的解密是否应该使用初始化向量2或代码段1的解密输出作为参数。如图2C所示,数据结构272、274和276包括有解密参数IV比特,由IV比特指定的初始化向量和代码段长度,其中,数据结构中的每个参数均对应于后续邻近代码段。在运行中,包含如图2C所示的能实现可选初始化向量的数据结构的经加密代码体,可采用与包含如图2A和2B所示的数据结构的代码体相同的方式进行解密。因此,在解密后续的代码段时,IV比特将指示是否采用新的初始化向量作为解密参数,还是将前一代码段的解密引擎214输出反馈回作为解密参数。如图2C所示,存储在如数据结构220和270中的一组解密参数信息,包括对应后续邻近代码段224的密钥表索引、IV比特、初始化向量和代码段长度。IV比特用于选择使用初始化向量或链接的来自解密引擎214的输出。初始化向量用于初始化可随着解密过程的重复而变化的解密算法参数。密钥表索引用于标示出密钥表212中的密钥。密钥表212存储在设备的组合逻辑中。如果IV比特指示出在解密过程中应该使用的有效初始化向量,则代码段/数据结构组的解密可链接起来,其中,采用该初始化向量和解密密钥来解密来自代码段/数据结构组的第一代码块。解密完该第一代码块后,将解密输出块反馈回解密引擎214的输入端,代替该初始化向量,用于与来自密钥表的密钥一起解密下一数据块。通过这种方式,后续的数据块采用前一解密块输出和对应的密钥作为解密算法参数。然而在图2C中,当IV比特指出后续代码段/数据结构组应该与前一代码段/数据结构组链接起来时,则将采用除初始化向量外的一组新的解密参数。作为代替,采用来自前一代码段/数据结构组的最后一个解密块输出作为解密算法输入。后续的代码段/数据结构组可采用类似的方式解密。图2D显示了本发明的又一实施例的框图,其中,密钥表索引可生成或存储在本区域的多个设备中,而不是嵌入在代码段之间,并通过通信网络传送。参照图2D,线性反馈移位寄存器(LFSR)262可为密钥表212生成密钥表索引。用于初始化LFSR的种子存储在一次可编程(OTP)存储器沈0中。在这一点上,如图2A中所示的存储器210中用于存储密钥表索引的数据结构220、226、232和238可以删除。图2D中的其它模块与图2A中所示的模块相同并以相似的方式工作。本区域内的多个设备,例如一族集成电路,如果采用同样的LFSR配置并采用同样的种子进行初始化,则可解密存储器210中的同一代码体并生成同样的对应密钥表索引序列。LFSR的种子可存储在多个设备中的一次可编程存储器沈0内,并在LFSR生成第一个密钥索引前进入LFSR。在运行中,存储在存储器210中的包括如图2D所示代码段和数据结构的加密代码体,可采用与图2A所示类似的方法解密,除了生成输入解密算法的密钥的步骤之外。在这一点上,密钥表212与图2A中所示的一样,包括密钥组成的表和关联的密钥表索引,可存储在组合逻辑中。输入给解密引擎的密钥可由LFSR生成。例如,在准备进行第一LFSR操作时,LFSR从OTP存储器260接收种子。针对存储器210中存储的连续代码段的解密,LFSM62输出对应的密钥索引。该密钥索引可发送到密钥表212,用以找出对应的密钥。来自密钥表212的密钥将与来自存储器210的对应初始化向量和对应代码段长度一起送到解密引擎214。图3A是根据本发明实施例使用嵌入在代码段之间并传送给图2A所示的设备的变化的解密算法参数来进行解密操作的步骤流程图。参照图3A,在步骤310中,将代码体分割成不定长度的多个片段。在步骤312中,将包含加密参数(代码段长度、密钥表索引和初始化向量)的数据结构嵌入到对应的代码段中。在步骤314中,使用对于每个芯片族固定的加密参数对第一代码段以及一个或多个后续邻近数据结构进行加密。在步骤316中,基于对应的加密算法参数将后续代码段与其后续邻近数据结构一起加密。在步骤318中,由一个或多个分布式设备接收该经加密的代码,并存储在存储器210中,其中代码段可如218、2M、236和242所示存储,包含加密参数(代码段长度、密钥表索引和初始化向量)的数据结构可如220、222、226、228、232、234、238和240所示存储。在步骤320中,在解密引擎214中采用针对每个芯片族固定的解密参数对第一代码段218和后续邻近数据结构220和222进行链解密。解密引擎214的解密输出包括代码段和第二组解密参数,然后将其送到密钥表212的输入端和解密引擎214的输入端。在步骤322中,解密后续代码段以及后续邻近数据结构。解密引擎214的解密输出中包括有代码段和用于下一代码段的解密参数。解密引擎214的解密输出将送到密钥表212的输入端和解密引擎214的输入端。在步骤324中,解密存储在242中的最后一个代码段η。根据本发明的典型实施例,可将用于如机顶盒的设备的代码体分割成段,并嵌入解密算法参数信息。如图2Α所示,分割成的代码段和嵌入的解密参数信息可分配并存储在多个机顶盒设备的存储器210内。第一代码段218和第一组嵌入的解密参数信息220和222可送到解密引擎214中,根据一组固定的解密算法参数来解密。这组固定的解密算法参数为采用相同芯片族的多个设备所共用。各个后续代码段224、230、236和242连同后续邻近的各组解密算法参数220、222、226、228、232、234、238和240在解密引擎214中解密。后续解密操作可基于对当前代码段的在前解密操作中输出的一组解密算法参数来进行。图;3B是根据本发明实施例采用变化的解密算法参数进行解密的典型步骤流程图,其中,该变化的解密算法参数中的一个或多个存储在代码段之间并传送给设备,而该变化的解密算法参数中的另外一个或多个如图2D所示在设备上生成。参照图;3B,在步骤340中,将代码体分割成不定长度的多个段。在步骤342中,将包含加密参数(代码段的长度和初始化向量)的数据结构嵌入到对应的代码段之间。在步骤344中,选择加密密钥。在步骤346中,使用对每个芯片族来说固定的加密参数对第一代码段和一个或多个后续邻近数据结构链加密。在步骤348中,基于对应的加密算法参数加密连续代码段以及其后续邻近的数据结构。在步骤350中,由一个或多个分布式设备接收经加密的代码和一个或多个加密算法参数并将其存储在存储器210中如218、224、230、236中所示,该存储器210可以是闪存。包括加密算法参数(代码段长度和初始化向量)的数据结构存储到在如图所示的222、228、234和240中。在步骤352中,来自一次可编程存储器260的种子可用于线性反馈移位寄存器(LFSR)以生成密钥表索引。在步骤354中,存储器218中的第一代码段和包含一个或多个对应第二代码段的解密算法参数的数据结构222,可根据一组固定的解密参数在解密引擎214中解密。经解密的用于第二代码段的解密算法参数从解密引擎214输出,并发送回到下一解密操作的输入端。在步骤356中,使用后续的对应密钥、经解密的初始化向量和经解密的代码段长度,在解密引擎214中对后续代码段以及其后续邻近数据结构进行解密。所述后续的对应密钥可通过线性反馈移位寄存器沈2中连续生成的密钥索引从密钥表212中选择。解密引擎214的解密输出馈送回解密引擎214的输入端。在步骤358中,解密存储在M2中的最后一个代码段η.根据本发明的一个典型实施例,用于设备例如机顶盒的代码体可分割成多段并嵌入有解密算法参数信息。被分段的代码和嵌入的解密参数信息可分配并存储在多个机顶盒设备上如图2Α所示的存储器210中。第一代码段218和第一组嵌入的解密参数信息220可送到解密引擎214中,并根据一组固定的解密算法参数对其进行解密。这组固定的解密算法参数为采用相同芯片族的多个设备所共用。然后对后续代码段224、230、236和242连同后续邻近的多组解密算法参数220、222、226、228、232、234、238和240在解密引擎214中解密。在这一点上,可采用前一解密操作中输出的一组解密算法参数和通过LSFR262生成的密钥索引从密钥表212中选择出的密钥。本发明的又一实施例提供一种机器可读存储,其内存储的计算机程序包括至少一个代码段用于在网络内传送信息,所述至少一个代码段由机器执行而使得所述机器执行上述的一个或多个步骤。因此,本发明可以通过硬件、软件,或者软、硬件结合来实现。本发明可以在至少一个计算机系统中以集中方式实现,或者由分布在几个互连的计算机系统中的不同部分以分散方式实现。任何可以实现方法的计算机系统或其它设备都是可适用的。常用软硬件的结合可以是安装有计算机程序的通用计算机系统,通过安装和执行程序控制计算机系统,使其按方法运行。本发明还可以通过计算机程序产品进行实施,程序包含能够实现本发明方法的全部特征,当其安装到计算机系统中时,可以实现本发明的方法。本文件中的计算机程序所指的是可以采用任何程序语言、代码或符号编写的一组指令的任何表达式,该指令组使系统具有信息处理能力,以直接实现特定功能,或在进行下述一个或两个步骤之后实现特定功能a)转换成其它语言、代码或符号;b)以不同的格式再现。虽然本发明是通过具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换及等同替代。另外,针对特定情形或材料,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。权利要求1.一种用于安全通信系统中处理信息的方法,其特征在于,所述方法包括根据解密算法参数解密被分割成多个代码段的代码,其中所述解密算法参数嵌入在所述多个代码段中各个连续的代码段之间,且每个代码段由不同的解密算法参数保护。2.根据权利要求1所述的方法,其特征在于,所述多个代码段的长度是变化的。3.根据权利要求1所述的方法,其特征在于,所述每个代码段的解密算法参数包括对应的解密密钥信息、对应的初始化向量信息和对应的代码段长度信息。4.根据权利要求3所述的方法,其特征在于,所述解密密钥信息包括进入单独的密钥表的索引。5.根据权利要求4所述的方法,其特征在于,所述密钥表是采用组合逻辑存储的。6.一种用于安全通信系统中处理信息的系统,其特征在于,所述系统包括至少一个处理器,用于根据解密算法参数解密被分割成多个代码段的代码,其中所述解密算法参数嵌入在所述多个代码段中各个连续的代码段之间,且每个代码段由不同的解密算法参数保护。7.根据权利要求6所述的系统,其特征在于,所述多个代码段的长度是变化的。8.根据权利要求6所述的系统,其特征在于,所述每个代码段的解密算法参数包括对应的解密密钥信息、对应的初始化向量信息和对应的代码段长度信息。9.根据权利要求8所述的系统,其特征在于,所述解密密钥信息包括进入密钥表的索引。10.一种机器可读储存器,其内存储的计算机程序包括至少一个用于安全通信系统中处理信息的代码段,所示至少一个代码段由机器执行而使得所述机器执行如下步骤根据解密算法参数解密被分割成多个代码段的代码,其中所述解密算法参数嵌入在所述多个代码段中各个连续的代码段之间,且每个代码段由不同的解密算法参数保护。全文摘要本发明涉及一种用于安全通信系统中处理信息的方法和系统。本发明的方法和系统用于解密具有不定段长的代码段,其中每个代码段由一组不同的解密参数进行保护。解密参数信息组可嵌入在对应代码段后并与其邻接。该解密算法参数信息组包括有解密密钥信息、IV比特、初始化向量信息和代码段长度。解密密钥信息包括密钥表索引。密钥表可采用组合逻辑存储。后续信息块可采用初始化向量和/或来自前一解密信息块的解密输出进行解密。对应当前代码段的解密参数信息可与前一代码段一起解密。解密算法参数可由线性反馈移位寄存器使用从一次可编程存储器中获取的种子来生成。文档编号H04L9/08GK102195776SQ201110037539公开日2011年9月21日申请日期2007年9月29日优先权日2006年10月6日发明者斯蒂芬·罗杰斯申请人:美国博通公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1