用于大型和中型情况以及低用户端需求的组播密钥发布方案的制作方法

文档序号:83326阅读:251来源:国知局

专利名称::用于大型和中型情况以及低用户端需求的组播密钥发布方案的制作方法本发明涉及一种用于消息的选择性组播的系统,广播系统和用于选择性组播的方法。在基本数据传输系统中,通过信道将数据从发送方传输到多个接收方。用于数据传输的物理信道在本发明的范围之外,并且能包含任何已知形式的数据传输方法和任何介质类型。该公开所提出的问题是如何将数据选择性地传输给多个接收方,以及如何排除其他接收方接收数据。通过尤其适用于该任务的加密方案实现该选择性。从发送方到多个接收方的数据传输称为“组播”或“点到多点”传输。选择性组播传输已经应用于像付费电视这样的领域。但是互联网通信以及移动通信可以利用选择性组播。在广播系统中,通过信道发送的数据被加扰(scramble),并且解扰(decramble)该数据的必要密钥信息一在此称为“组播密钥”一被分配给多个接收方,从而实现了理想的选择性一只有授权的接收方能解密该消息,而非授权的接收方不能解密该消息。由于使用加密,该系统能很好的适用于广播应用,其中信道和传输方法不限制该接收方的数量。然而,对于成员资格变化,该方法不是非常灵活。如果以前授权的接收方离开该组播组,以前使用的组播密钥(共享秘密)需要变化,从而对于排除的接收方,进一步的传输不再可读。需要安全地传输新的组播密钥,并且只选择性地传输至剩余的授权接收方。在一些应用中,例如付费电视,包括付费选看节目系统,成员资格高度动态。对于这些应用,与必要的密钥变化有关的开销必须非常小。尤其是在具有中等数量接收方(例如100到100000)的组播或广播系统中,甚至是对于具有大量接收方(例如,超过10000)的组播系统中,带宽需求非常重要。而且,非常希望能够在接收端,尤其是在具有高数量接收方的大型系统中,使用简单和廉价的硬件。因此,组播系统的其他重要参数是存储器消耗和接收端的计算工作量。处理上述问题的用于选择性数据传输的系统的一个范例在US-A-6049878中给出。该系统包括发送方和多个接收方。在每个接收方处,可得到多个密钥。发送方和所有其他接收方共享组播密钥(在此称为TEK,业务加密密钥)。另外,每个接收方持有多个密钥加密密钥(KEK)。该系统的逻辑结构为二进制树结构,发送方为根部,而接收方为叶部。每个叶部持有从根部到叶部排列的密钥。在离开操作的情况下,即不再授权接收方接收数据时,在到离去发送方的路径中的每个密钥以自下向上的方式变化。然后该组播密钥(TEK)变化以排除该离去接收方。而且利用新的、变化的TEK对进一步的业务加扰,该TEK不再被离去接收方所读取。在US-A-6049878中公开的系统和方法成功减小在离去操作的情况下需要的带宽。然而,对于每个离去操作,在逻辑树的完整路径中的密钥重新生成仍然是必需的。由Internet工程任务组IETF发布的RFC2627,题目是“用于组播的密钥管理论点和结构”1999年6月,讨论了用于组播组的各种结构。对于如电信会议和分布式游戏的应用,讨论了用于动态组播组的带宽和存储需求的特殊问题。建议的结构是层次树,如在US-A-6049878所提出的。作为替换的结构,提出了在发送方和接收方之间的成对密钥交换,在此发送方根据Diffie-Hellman协议与每个接收方执行公钥交换,允许单个加密密钥(KEK)的建立,该单个加密密钥用于以加密的形式传输组播密钥。在该基本结构的改进中,不同的密钥集,称为互补变量,被分配在多个接收方中。在RFC2627中,所有的接收方接收所有互补变量,除了它们自己的以外。因此,基于以前的组播密钥和被排除的接收方的互补变量,通过产生新的组播密钥就有可能将单个接收方从组播组中排除。本发明的目的是提供一种用于消息的选择性组播的系统、广播系统和用于消息的选择性组播的方法,其特别适用于中等或大量接收方。根据本发明,通过根据权利要1的组播系统、根据权利要求15的广播系统和根据权利要求16的方法实现了该目的。从属权利要求涉及本发明的优选实施例。根据本发明的系统包括至少一个发送方和多个接收方。应当注意,尽管下面讨论的安全组播将限于从发送方到接收方的单路通信,但是将不排除反向信道(backchannel)的可能性,即在后面的通信中,发送方和接收方的角色可能颠倒。该系统通过使用加密允许选择性的组播。与发送方相关的,即位于发送方处或可被发送方访问的是存储组密钥基本集和地址密钥基本集的密钥存储装置。而且,每个接收方具有用于存取单个接收方密钥集的存取装置,即适用于允许接收方存取密钥的装置,即通过存储或接收。该接收方是多个组的成员。该单个接收方密钥集一方面包括接收方地址密钥集,另一方面包括一个或多个组密钥。在同一组中的所有接收方能存取相同的组密钥,但是具有不同的接收方地址密钥集。每个接收方地址密钥集是在发送方处可存取的地址密钥基本集的子集。对于每个单一接收方,存在一个或多个排除密钥。排除密钥是来自地址密钥基本集的密钥,它不包含在单一接收方密钥集中。通过排除密钥的消息加密排除了相应的接收方接收该消息,因此这样称呼。在该系统中还包括授权存储装置,其可以存储关于授权和/或非授权接收方的授权信息。在目前选择性组播的情况下,授权的接收方接收消息,而非授权的接收方不应当接收该消息。通过使用加密装置,该加密装置用于从要发送的消息中产生多个加密消息,并且通过发送这些加密消息来实现选择性组播。该加密消息每个以密钥组合加密。这些密钥是AND关系,即,仅当知道来自组合的所有密钥,才能解密该消息。以后将进一步讨论使用多个密钥的加密方法的范例。每个加密消息针对接收方的目标组。当多个消息可能用于一个组时,优选使得仅一个加密消息用于每个接收方组。为了确保只有目标组的成员接收该消息(或者,更精确的,能够解密该消息并且接收清楚的原文),应用的密钥组合优选地包含目标组的所有组密钥的至少一个。在每个组中,为了确保只有授权的接收方接收清楚的原文消息,应用的组合包含在目标组中的非授权接收方的排除密钥。因此,根据本发明的系统和方法对于多个组中的大量的接收方,允许选择性组播。通过精心选择不同加密消息的密钥组合,使用的加密确保只有授权的接收方可以接收该消息。在优选实施例中将显示出这是非常有效的方案,其将使得选择性组播的带宽需求最小化,并且导致降低了接收端(receiverside)在存储和计算要求方面的需求。在根据本发明的广播系统中,用于选择性组播的上述系统和方法用于选择的传输加扰密钥。该加扰密钥用于加扰内容消息,然后由能够访问加扰密钥的接收方解扰该消息。在本发明中,术语“加扰”涉及任何种类的加密,并且优选的是分组密码。在此使用术语“加扰”代替“加密”以区分内容消息的加扰与上述组播消息的加密。应当注意,本发明可应用于很宽的范围。用于从发送方到接收方的传输所使用的信道可以是任何类型的传输方法和/或媒介。而且,几乎可以使用利用密钥来加密数据的任何加密方法。这尤其暗示着可使用对称和非对称加密方法。对称加密方法对于加密和解密使用相同的密钥,而在非对称加密方法中,“密钥”实际上是密钥对,一个密钥部分(通常称为“公钥”)用于加密,另一部分(“私钥”)用于解密。根据本发明,两种类型的方法可用于系统中。该系统也不限于特定数量的接收方。显然,在具有高数量的接收方的系统中,例如超过1000或1000之上的系统中,该系统的优点将变得更清楚。根据本发明的优选实施例,存在属于不同组的接收方的多个接收方地址密钥集,所述接收方地址密钥集是相同的。这限制了需要在发送方中存储的地址基本密钥的数量。由于该接收方属于不同的组,因此具有相同接收方地址密钥集的接收方不排除选择性。还优选的是,不仅存在一些相同的接收方地址密钥集,而且多个组(更优选的多数组,甚至最优选的所有组)的所有接收方具有相同的接收方地址密钥集。这一方面大大的减小了系统中密钥的总数,还提供了更多的优点,即有可能发送单一加密消息,该单一加密消息可以由来自多个组的一个或多个接收方解密。如上所述,以这样一种方式实现通过密钥的组合进行加密,即使得需要用所有的密钥组合解密消息。对于实施加密存在不同的可能性,在此以AND方式连接该密钥。一种可能的方式被用于产生来自密钥组合中的密钥,即,通过使用密钥的数学操作。例如,可重新表示为2进制数的两个密钥,可对其进行异或以获得组合密钥。如果两个原始密钥是已知的,通过组合密钥进行加密通常可能仅仅是反转。然而,优选的是作为递归加密来通过多个密钥实施加密。在本
发明内容中将称为“密钥链”的递归加密,包括使用第一密钥加密数据以获得第一加密数据,和进一步利用第二密钥加密第一加密的数据以获得第二加密数据,等等。显然,在使用多个密钥的递归加密之后最终获得的结果只能在利用相同密钥进行递归解密之后才能被读取(如果次序是重要的,那么通常是逆序解密)。为了相应的读取递归加密的数据,对于接收方,需要可以得到在递归加密过程中使用的完整密钥组合。根据本发明的其他开发,该系统包括地址密钥产生装置,以产生基本地址密钥。该系统还包括选择性密钥传输装置,用于将产生的地址密钥选择性地发送给接收方。接收方的访问装置包括接收装置,以接收发送的地址密钥。这允许使用临时地址密钥,该密钥只用于有限数量的消息。事实上,优选地,地址密钥可以只用于少量消息的传输,例如小于10。该地址密钥可只用于发送单个消息。地址密钥的频繁变化使通过接收方联合的系统攻击的敏感度最小化,所述接收方将交换各自的地址密钥。为了选择性的提出重新产生的地址密钥,优选的使用另一组密钥,这些密钥包含在选择基本密钥集中。优选在每个接收方中存储作为选择基本密钥集的子集的相应的接收方选择密钥集。相同组中接收方的选择密钥是成对的,互相不包含。然而优选的是,不同组的接收方的接收方选择密钥集相同。对于多个组,或者多数组,更优选的对于所有组的所有接收方这是优选的情况。使用上述密钥分配,通过使用选择密钥的组合来加密要传输的该接收方地址密钥,就有可能实现选择性密钥传输。在此,具有相同接收方选择密钥集的接收方接收相同的地址密钥集。对于根据本发明的系统和方法,一个重要的问题是选择密钥发布方案,即在接收方中,组密钥、地址密钥和/或选择密钥的分配。作为参考优选实施例的进一步描述的方案,存在两个优选的特定发布方案,一个用于中等大小的情况(接收方的数量大约从100到100000),另一个用于较大数量的情况(接收方的数量超过10000,优选超过100000)。在第一种优选的发布方案中,该方案很好地适用于中等大小的情况,对于每个接收方只存在一个排除密钥。该排除密钥包含在相同组的所有接收方的地址密钥集中,除了排除密钥的“拥有者”,即通过使用该密钥排除的接收方。因此,利用特定接收方的排除密钥的消息加密,将使得组中除了被排除的接收方之外的所有接收方有可能解密该消息。同样,如上所述,利用AND方式的排除密钥的组合进行的加密,将使得组中除了被排除的接收方以外的所有接收方有可能解密该消息。在优选的和非常有效发布方案中,选择整数基数b和维数d。基数b大于或等于2,并且典型的小于或等于16。维数d大于或等于1,并且典型的在2到20的范围内。关于b和d选择的细节将参考优选实施例进行讨论。每组包括多至bd个接收方。当然,优选地是将该组填满,有可能除了最后一个之外。存在b*d个选择密钥,其中每个接收方组包含(b-1)*d。通过表示基数为b的编号系统中接收方编号r,并且为该表示的每个数位分配b个预定的选择密钥中的一个来确定(b-1)*d选择密钥。该发布方案以非常简单和数学上非常精确的方式确保相同组中不同接收方的接收方选择密钥集在至少一个选择密钥上是不同的。对于中等情况发布方案,优选的是地址基本密钥集包含bd地址密钥,即与地址密钥与组中的接收方一样多。使用上述选择密钥发布方案,通过发送每个地址密钥d次,每次用选择密钥的传输组合中不同的一个进行加密来实现优选的地址密钥分配。根据基数为b的编号系统中的编号表示,再次选择传输组合。与上述讨论的选择密钥发布方案一起,确保每个接收方接收除一个地址密钥之外的所有地址密钥,所述地址密钥将变成它的排除密钥。在替代的用于较大情况的发布方案中,对组中的每个接收方存在至少两个排除密钥。在该组中每个排除密钥的组合是唯一的。这允许精确的排除组中的非授权接收方。而且,优选地该组被细分为多个子组。相应地将地址密钥划分为第一地址密钥和第二地址密钥。在相同子组中的接收方具有相同的第一地址密钥,但是具有不同的第二地址密钥集。进一步的细分允许组中的接收方准二维寻址。通过使用第一和第二地址密钥,大大的减小地址密钥的总数,其中第一地址密钥寻址子组,第二地址密钥寻址子组中的单个接收方。根据较大情况发布方案的进一步开发,对于每个子组存在一个子组排除密钥,并且对于子组中的每个接收方,存在一个位置排除密钥。再次,术语位置排除密钥是指单个接收方的密钥集(第二地址密钥)和单个子组的密钥集(第一地址密钥),并且指定不包含在相应接收方/子组密钥集中但是包含在剩余接收方/子组密钥中的密钥。为了排除组中的非授权接收方,根据该非授权接收方的位置排除密钥和子组排除密钥计算排除密钥。因此,该排除密钥是单个接收方子组与位置排除密钥的数学组合。这允许精确且安全地排除单个接收方。相应的排除密钥对的使用可看作接收方在它自己的组中的二维寻址。优选地,通过递归取幂,即通过使用两个排除密钥中的一个来计算基数的取幂,并且通过用另一排除密钥对结果进一步取幂,来计算子组排除密钥和位置排除密钥的数学组合。在优选实施例的讨论期间,这将变得更清楚,这对应于Diffie-Hellman密钥建立过程。在特定的环境下,即如果使用每个排除密钥单独取幂的单个结果是已知的,那么如果两个排除密钥中只有一个是已知的,则该排除密钥的数学组合类型可逆(即,该消息解密)。因此,该方法有效地实现OR关系,从而使得了解位置排除密钥或子组排除密钥仍旧充分能够解密该消息。因此,只有什么都不具有的非授权接收方不能解密该消息。对于大数量情况发布方案,优选的是选择整数基数b和整数维数d。b大于或等于2,典型的小于或等于16。d大于或等于1,并且典型的在2和20之间。每组包括多至b2d个接收方,并且分为bd个子组,每个具有bd个接收。再次,优选的是将子组和组(除了最后一个)填充到最大。选择基本密钥集包含2*b*d个选择密钥,具有b*d个第一选择密钥,和b*d个第二选择密钥,其中每个接收方持有(b-1)*d个第一选择密钥和(b-1)*d个第二选择密钥。如上所述,对于中等情况发布方案,根据基数为b的编号系统中接收方编号r的表示,确定每个接收方的给定密钥组合。以相同的方式,根据基数为b的编号系统中子组编号s的表示,确定第二选择密钥的组合。在另一开发中,使用具有bd个第一地址密钥和bd个第二地址密钥的地址密钥集。这些地址密钥中的每个被发送d次,每次用来自选择密钥的传输组合中的不同的一个进行加密。如上所述,对于中等情况发布方案,根据基数为b的编号系统中密钥编号t的表示来选择传输组合。这确保了上述地址密钥发布方案,其中对于组中的每个接收方存在一个子组排除密钥和一个位置排除密钥。如上所述,根据本发明的访问装置不必作为接收方中的存储装置实施,所述访问装置允许单个接收方访问它们的接收方密钥集。相反,如上所述,优选的是将地址密钥子集选择性地从发送方传输到接收方。尽管有可能首先传输地址密钥然后传输加密消息,但是优选的首先传输加密消息然后传输相应的地址密钥。在加密消息非常短的情况下,即,不包括大量的比特(例如,如果仅传送一个组播密钥),对于接收方比较容易存储加密消息中的一个(一个涉及它们组的消息),然后稍后接收相应的地址密钥,并且在解密期间使用它们,而不存储。下面,将参考附图讨论本发明的实施例,其中图1示出了根据本发明的广播系统实施例的符号表示;图2示出了图1所示的系统发送方的符号表示;图2a示出了图2中发送方的处理单元的第一实施例的符号表示;图2b示出了图2的发送方的处理单元的第二实施例的符号表示;图3示出了具有处理单元的图1的接收方的符号表示;图3a示出了接收方的处理单元的第一实施例的符号表示;图3b示出了接收方的处理单元的第二实施例的符号表示;图4示出了在图1的广播系统中的密钥分配系统的符号表示;图5示出了基数为2的编号系统中的表示数位的选择密钥的表格,;图6示出了发布方案的第一实施例的表格;图7示出了临时地址密钥集的表格;图8示出了用选择密钥加密的临时地址密钥的符号表示;图9示出了根据发布方案的第一实施例的地址密钥分配的表格;图10示出了连接矢量(joiningvector)的符号表示;图11a-11c示出了组播密钥的加密形式的符号表示;图12a-12c示出了包括组播密钥的加密消息的符号表示;图13a,13b以符号表示示出了图12a-12c中加密数据包的处理的两个范例;图14示出了根据本发明第二实施例基数为2的编号系统中的表示数位的选择密钥的两个表格;图15a,15b示出了各具本发明第二实施例具有组和子组的发布方案的符号表示;图16a示出了通过第一选择密钥加密的第一中间密钥的符号表示;图16b示出了通过第二选择密钥加密的第二中间密钥的符号表示;图17示出了辅助密钥的符号表示;图18示出了根据第二实施地址密钥分配的表格;图19示出了连接矢量的符号表示;图20示出了排除接收方的表格;图21示出了加密的组播密钥的符号表示;图22示出了包含组播密钥的加密消息的符号表示;图23a,23b示出了图22加密消息的解密的符号表示。图1示出了根据本发明一个实施例的基本的广播系统10。系统10包括发送方S,以及作为范例的多个接收方R0,R1,R8,R9。通过信道C,将发送方S连接到每个接收方R0,R1,R8,R9,即发送方能向接收方发送数据。该范例中的信道C只允许从发送方到接收方的单向通信。该信道的特性是从发送方S发送的数据能在每个接收方R0,R1,R8,R9接收。应当注意,系统10是普通范例,并且信道C可以包括任何类型的介质和传输方法,例如通过大气的无线广播,在计算机网络中的数据传输或其他。内容源(未示出)连续向广播发送方S传送内容数据F1,F2,F3...。发送方S包括加扰单元(未示出),利用多个加扰密钥(组播密钥)m1,m2,m3...将内容数据加扰为加扰内容数据12,通过组播密钥发生器(未示出)连续传送所述加扰密钥。广播发送方S连续的广播该加扰内容数据。另一方面,每个接收方R0,R1,R8,R9包括解扰单元和组播密钥存储器,这将在下文所述。对于普通的加扰和解扰操作,可以使用任何类型的加密方法。优选的是使用快速分组密钥。在下面将讨论的范例中,我们假设块大小和密钥大小等于128比特。例如,广播系统10可以使付费TV系统,其中以加扰的形式连续广播TV内容,并且只有注册的用户(授权的接收方)才应该能够观看该内容。该系统适用于高度动态的情况,从而使得例如付费节目是可能的。因此,该加扰密钥(组播密钥)随时间改变非常频繁,例如每分钟发生变化。利用在时间的不同点上有效的组播密钥连续加扰实际传送的TV内容数据F1,F2,F3...。与广播发送方Sb的加扰广播相同,发送方S连续地将在给定时间上有效的组播密钥分配给授权的接收方。图2示出了图1中发送方S的符号表示。该发送方包括处理单元14,其接收内容数据F1,F2,F3。该处理单元14加扰该数据,并且使用传输装置16通过信道C广播该数据,该传输装置可以使任何类型的广播发送器,例如无线发送器或计算机网络接口。该处理单元还产生和分配组播密钥。图3示出了普通接收方R的符号表示。该接收方R具有用于在信道C上接收数据的接收装置26。在处理单元36中处理接收的数据。发送方和接收方的处理单元的特定设置取决于特定实施例。如下面将解释的,图2a,3a示出了根据第一实施例的处理单元的细节,图2b,3b示出了根据第二实施例处理单元的细节。在发送方S,可获得关于授权或非授权接收方的授权信息。下面,将解释两个实施例,其中发送方S的处理单元14加密内容数据F1,F2,F3...,从而在授权接收方R的处理单元36可解密该数据,但是非授权的接收方不能解密。第一实施例本发明的第一实施例针对中等大小的情况,即具有大约100到100000接收方。相应系统的基本结构在图4中示出。接收方被划分为组G0,G1,...。每个接收方具有相关的密钥存储器50。发送方具有组密钥存储器52和选择密钥存储器54。在此将不详细讨论所使用的实际的加密算法。在本发明的实施例中,实际上,可以使用本领域技术人员公知的所有加密算法。我们只通过如下方式广泛定义加密和解密操作加密Enc(K,M)=C解密Dec(K,C)=M组密钥存储器52包括组密钥GK1,GK2,GK3,...。组密钥用于将加密传输指向特定组。虽然有可能为每个组分配单独、唯一的组密钥,然而优选的是如图4所示,组密钥存储器52包括组密钥基本集,并且每个组的成员持有相同、唯一的组密钥的组合。例如,在图4中,组G0的成员所有都持有组密钥GK1,GK2,而G1的成员都持有GK1,GK3。因此,例如,通过GK1和GK2递归加密的消息只能被组G0的成员解密。在发送方S选择密钥存储器54中存储的选择密钥形成选择密钥基本集SK0,SK1,....SK5的。在每个组G0,G1中,每个接收方具有3个选择密钥的唯一组合。然而,在不同的组中接收方所持有的选择密钥的组合是相同的,即,作为第一组G0的第一成员的第一接收方R0与组G1的第一接收方R8持有相同的选择密钥集,并且与任何其他组的第一接收方持有相同的选择密钥集。通常,为了建立接收方总数为N的组播系统,选择整数b和d,其中b>=2是基数,且d>=1是维数。接收方被划分为bd大小的组。根据基数为b的编号系统中接收方编号的表示,确定组中的选择密钥的发布方案(即哪个接收方能够访问哪个密钥组合)。对于发布方案的数学定义,我们将使用下面的定义使N,N0分别表示不包括或包括0的自然数集。对于S集,使P(S)表示幂集(S的所有子集的集合)。我们定义下面从N0到P(N)的映射fG以字典式顺序列出大小为g的N的所有子集(其中以递减顺序读取子集)。例如对于g=2,产生这样的列表{1,2},{1,3},{2,3},{1,4},{2,4},{3,4},{1,5},...。这定义了映射fGNg→P(N)(在该范例中fG(0)={1,2},fG(1)={1,3},...)digiti(n)在基数为b的编号系统中使n≥0来表示,并且使digiti(n)表示第i个数位(从0开始,从右边计算),范例对于b=3,我们使digit2(15)=1,和digit3(15)=0。换句话说(%表示模操作,是取整)fs使fs(n)={1+i·b+digiti(n)|i=0...d-1}使fs&OverBar;(n):={1,2...,b&CenterDot;d}/fs(n)]]>(其中/表示集合差操作)注意,fG是内射(通过构造),并且fs和是从{0,..,bd-1}到P({1,...,b·d})的内射映射。使用这些定义,现在可以定义该发布方案。假设将标号n从0到N-1唯一地分配给接收方,然后通过下面的规则描述密钥发布方案具有标号n的接收方获得了所有具有的组密钥GKi和具有i&Element;fs-(n%bd)]]>的选择密钥SKi。在连接矢量中汇总有关接收方的授权信息,其包含系统中每个接收方的项目,在此该项目是对于非授权的接收方为‘0’而对于授权的接收方为‘1’。在具有如上所定义的选择和组密钥发布方案的系统中,通过使用以下算法将消息(在该情况下,是组播密钥m1,m2,m3的拷贝)发送给所有授权的接收方假定任意连接矢量(joinn)n=0.....N-1∈{0,1}N,如下发送m比特组播密钥mk的信息(在此,每个“发送”表示在开放信道上广播)1.发送join0,join1,...joinN-1;2.产生bd个随机m比特序列Z0ZbN,-1{M←mk;FORj=0...bd-1DOIF(j+i&CenterDot;bd&lt;N)AND(!joinj+i&CenterDot;bd)THENM&LeftArrow;M&CirclePlus;Zj;]]>FORk∈fG(i)DO(inincreasingorder)M←Enc(GKk,M);SendM;}4.FORj=0...bd-1DOFORk∈fS(j)DO(inincreasingorder)SendEnc(SKk,Zj);该算法是基于将用户划分为bd大小的组。而且对于永久存储在接收方的组密钥GK和选择密钥SK,使用充当临时地址密钥的随机比特序列Z用于加密。在逐位排除或对组中所有非连接用户使用排除密钥之后,并在使用所有相应组密钥对所述结果加密之后,对于每个组单独发送组播密钥的拷贝。将地址密钥Zj发送d次,根据对基数为b的编号系统中j的数位,每次用一个选择密钥加密。当且仅当joinn=1具有标号n的接收方能够重构来自广播流的mk。图2a示出了发送方S的处理单元14的相应结构。组播密钥产生器20连续产生组播密钥m1,m2,m3...。在加扰单元22中使用在不同时间点有效的组播密钥加扰内容数据F1,F2,F3,...。将加扰内容特征F1*,F2*,F3*,...进行广播。通过加密单元24根据从授权存储装置30传送的连接信息来并行地加密组播密钥m1,m2,m3...。将加密的组播密钥m1*,m2*,m3*,...进行广播。加密单元24用于加密组密钥GK0,GK1,...和地址密钥Z0,Z1,...,对于组播密钥的每个加密,所述地址密钥由地址密钥产生器26随机重新产生。地址密钥Z0,Z1,...是与组播密钥长度相同的随机比特序列,例如128比特。通过加密单元28使用从选择密钥存储器54传送的选择密钥SK0,SK1,...加密这些地址密钥。将加密的地址密钥Z0*,Z1*,...进行广播。在接收端,接收该广播数据,并且授权的接收方从中提取内容数据信息F1,F2,F3...。接收方R的处理单元36的相应结构在图3a中示出。在密钥解密单元42中,利用从选择密钥存储器50中传送的有效的选择密钥SK0,SK1,...对接收的加密地址密钥Z0*,Z1*...进行解密。由此,在组播密钥解密单元40中使用解密的地址密钥Z0,Z1,...以解密被加密的组播密钥m1*,m2*,m3*...。由此,在解扰单元44中使用解密的组播密钥m1,m2,m3...,以解扰被加扰的内容数据F1*,F2*,F3*...,并且获得明码报文内容数据F1,F2,F3...。根据下面的算法将实现接收端的连接信息、加密的地址密钥和加密的组播密钥的接收和解密1.h←s←n%bd;2.Getjoinh&CenterDot;bd,joinh&CenterDot;bd+1,&CenterDot;&CenterDot;&CenterDot;,join(h+1)&CenterDot;bd-1(ignorealltheotherbitssent);]]>Gettmp;IF(i=h)THENM←tmp;4.FORk∈fG(h)DO(indecreasingorder)M←Dec(GKk,M);5.FORj=0...bd-1DO{Z←0;FORk∈fS(j)DO(indecreasingorder){Gettmp;If(Z=0)AND(k&Element;fs&OverBar;(s))AND(j+h&CenterDot;bd&lt;N)AND(!joinj+h&CenterDot;bd)]]>THENZ←Dec(SKk,tmp);}If(Z≠0)THENM←MZ;}6.mk←M;在步骤2和3中,从数据流中过滤出与接收方组h有关的信息。步骤4.用组密钥反向(reverse)加密,并且在步骤5.,恢复随机比特序列,并且从所有非连接组成员中去除比特序列。结果是最初的组播密钥。具有joinn=0的接收方n,没有机会恢复具有s=n%bd的Zs(除了通过攻击整个加密),这是因为它缺乏所有合适的选择密钥。由于对于非连接接收方n,通过充当排除密钥的随机比特序列Zs递归加密该消息(在该情况中,通过XOR简单地实施),被排除的接收方将不能从与它自己的组对应的传输中获得组播密钥mk的任何信息。对于所有其他组,对于被排除的接收方至少缺少一个组密钥,因此他也没有办法获得信息。在已经解释以实现选择性组播的组播密钥的加密和解密的普通结构之后,将参考图5-13a,13b讨论第一实施例的特定范例。在下面的范例中,系统的参数被选择为基数b=22和维数d=3。我们将只考虑最初的三组,由于每组具有bd(8)个成员,因此具有总计24个接收方。应当注意,特意选择该范例只包括少量接收方,以便能论证系统的操作。在本发明的实际实践中,接收方的数量通常是较高的。下面将讨论内部参数的选择。在图6的表格中,给出了用于24个接收方的使用选择密钥和组密钥的发布方案。如上所述,在每个三组中的选择密钥的分配是一致的。由于基数b被选择等于2,能以对偶表示(基数为2的编号系统)书写每个接收方编号(位置标号),以确定选择密钥发布方案。如图5所示,对于以对偶表示中的接收方数的每个数位,正好将一个选择密钥指定为值‘0’,并且另一个不同的选择密钥指定为值‘1’。根据该表示分配每个组中的选择密钥。现在,对于组播密钥传输的每个步骤,产生随机比特序列Z0,...Z7,其用作临时地址密钥。应当注意,此处这些临时密钥仅用于单一传输。替代地,将有可能使用临时密钥用于多个传输。如果根据上述指定发送算法的步骤4,将地址密钥Z0,...Z7发送给接收方,那么这导致发送如图8所示的加密包。每个地址密钥被发送d次(在此,d=3),每次用不同的选择密钥SK加密。对于具有标号j的地址密钥的加密,只使用具有标号j的接收方没有的选择密钥。图9示出了通过所述的加密实现的地址密钥的分配。如表格所示,对于每个组中的每个接收方,正好存在一个排除密钥。例如,排除密钥Z0可用于排除接收方R0,这是因为R0是唯一一个组中不能访问Z0的接收方。同样应用于R1和Z1,等等。应当注意,在根据上述指定的发送和接收算法的实施中,图9的表格不能反映接收方中的密钥存储,而是反映了在算法执行期间接收方访问单个地址密钥的能力。尽管可能出现在替换的实施例中,但是上述指定的发送和接收算法不包含接收方中地址密钥的存储。相反,本领域技术人员应当清楚,地址密钥“正好及时”接收以解密期间使用,所以不需要存储,这进一步使得接收端的存储需求最小化。在该范例中,我们假设连接矢量60如图10所示。进入下一个接收方的‘1’和‘0’反映哪个接收方被授权来接收组播密钥。例如,在组0中,接收方R0,R1,R5,R6和R7被授权来接收组播密钥,而R2,R3和R4未被授权。现在,在加密期间(发送算法的步骤3),计算组播密钥mk的加密形式。在此提出的加密算法是通过地址密钥的简单的XOR,但当然可以使用更复杂的算法。对于每个组,因此用非授权接收方的排除密钥加密组播密钥。例如,图11a示出了通过用于加密的地址密钥Z2,Z3和Z4(即,用于非授权接收方R2,R3,R4的排除密钥)对组0的组播密钥的加密。相应地,图11b和11c分别示出了对于组1和2的加密组播密钥。由此,用该组的所有组密钥最终对用于每个组的递归加密的组播密钥进行加密。图12a-12c分别示出了用于组0,1,2的对应的加密的组播密钥mk*。将参考图13a,13b来论证在接收方处的加密的组播密钥mk*的接收和解密,其中图13a对应于接收方R0(其在连接矢量60中具有‘1’项目,并由此被授权接收组播密钥)和接收方R12(其在连接矢量60中具有‘0’项目,并由此没有被授权接收组播密钥)的解密。如上关于图9的讨论,接收方R0可以访问它的组的组密钥GK1,GK2,和除了它自己的排除密钥Z0以外的所有的地址密钥。接收方R0由此能访问在第一加密的组播密钥包mk*的加密中使用的所有地址密钥Z2,Z3,Z4,并且接收方R0可以递归解密mk*以接收mk的明码报文。然而,应当注意,接收方R0不能解密为剩余组指定的任何其他mk*包,因为该接收方缺乏至少一个组密钥(GK3)。如图13b所示,接收方R12因为缺乏组密钥GK2,所以不能解密第一和第三加密的组播密钥包mk*。然而,接收方R12也不能解密第二包mk*,这是因为该递归加密包括它的排除密钥Z4。因此,接收方R12不能获得组播密钥mk。下面,我们将看到上述系统操作所需的资源,这取决于潜在的用户N的数量,密钥和块大小以及内部参数g(由每个接收方持有的组密钥的数量),b(基数),和d(维数)。“广播带宽”指定必须被广播的比特数。在“工作空间”中,指定对于协议中使用的变量的存储器需求。最后两行包括参数α,其表示非连接用户的比率(因此α∈[0,1],如果所有用户加入则α等于0,并且如果没有用户连接则α=1)。在用户端一列中,我们在最后两行指定最坏的情况的极限和计算工作量的期待值(对所有用户的平均)。提出的协议对于调整自由参数(b,d,g)留下了一些自由度。基于假定哪个资源(计算需求、存储元素、带宽)被最佳化,能够以各种方式执行。其他必不可少的决定是当用户的数量N变化时,哪个参数应当保持固定。注意,当由于潜在用户的数量增加造成b,d和g(或者它们的任何子集)增加时,有必要相应地更新由现有用户拥有的密钥集。然而,如果以合适的方式重新组织用户的标号,有可能确信每个用户可以持有他已经拥有的密钥。如此,只有少量的增加的密钥需要分发给现有用户。第一实施例主要针对由于其他原因限制每个接入点的用户的最大量的情况(例如,用于无线移动设备的业务)。而且,在这些情况中,用于单个通信(即,通过非广播、安全信道)的成本相对较高。除此之外,设备端计算能力的要求和存储消耗也是关键的因素。因此,我们提出选择固定参数g、d和b,以同时使带宽和发布给用户的基本密钥的数量最优化。如此,在认购期间,只有新用户必须接收基本密钥,但是在组播业务的整个生存期期间,对于现有用户没有必须发生的密钥替换和增加密钥传送。参数g影响了每个用户的基本密钥的数量和在相反方向中服务器端存储的密钥的数量(见表1的第1行)。由于服务器端的存储消耗不关键(即N<106),应当将参数设置为最低可能值g=1。用于b和d的最佳选择不是这样明显。指定上界K为每个用户的基本密钥的数量,即,在(b-1)d+1≤k的约束下,必须最佳化传输工作量,即,为最小化对于潜在用户N的最大数从10000到40000,并且K=12(每个接收方的基本密钥),人们发现对于上述最佳化问题的最佳方案是b=4,d=3。与g=1和m=128一起使用这些值,导致下面的需求(为了简化,我们假设N是64的倍数)对于N<216,我们由此可以认为该协议允许具有下列特性的安全组播-最大总共1036个基本密钥,每个用户10个发布基本密钥,-在设备端可能有非常小的覆盖区实施(footprintimplementation)所需的工作空间(包括基本密钥)小于200字节,每个组播密钥建立时最多65个块解密,-带宽需求在安全信道上每个用户160字节(对于密钥发布),在广播信道上最多27kb(每个组播密钥建立)。概略地讲,提出的内部参数的选择导致每个潜在用户3比特的广播带宽消耗。作为用于典型应用的范例,我们考虑无线MP3流(128k比特/秒)对于用于每个接入点最大216用户(因此对于小数量较少),为了每两分钟重新建立组播密钥而通过协议产生的开销是1,4%。下面,将描述组播系统实施方式和相应的发布方案的第二实施例。根据第二实施例的发布方案和算法针对大组播情况,其中存在超过1000个接收器,通常超过10000,并且优选的接收方的数量在100000以上。在该算法中,使用公知的Diffie-Hellman协议。已经发明该Diffie-Hellman协议用于在开放信道上建立两人之间的密钥,而不给其他人留下得到密钥的机会。这是基于在大的质数p上普遍用于有限域的简单的指数规则(ab)c=(ac)b。协议的安全性依靠观察到离散对数(取幂对p取模的反函数)对于较大的p很难计算(“陷阱门函数”)。换句话说,甚至当知道abmodp,a和p,但实际上不可能获得b的信息。我们以下列函数“Exp”的形式使用Diffie-Hellman原理,将两个m比特序列映射到一个m序列Exp(A,B)=AB%p。在此,比特序列A和B称作数对p取模,取幂的结果下降到{0,...,p-1}中的数,并且翻译为比特序列。在整个注释中,假定预选择的数p是固定的。它应当是稍微小于2m的质数(例如,在2m-2m/2和2m之间随机选择),m是待传输的组播密钥中的比特数量。指数规则暗示着Exp(Exp(A,B),C)=Exp(Exp(A,C)B);其在公开的协议中以下列方式使用如果Exp(A,B)和Exp(A,C)被公布,知道B或C的用户将能够计算Exp(Exp(A,B),C),但是既不知道A也不知道B的用户将不能计算。由此该Diffie-Hellamn协议可用于实施两个密钥之间的OR关系。在第二实施例中,该协议使用两个类型的发布密钥组密钥GK1,GK2,...和两组b·d个选择密钥SK1_1,SK1_3,...,SK1_b·d和SK2_1,SK2_2,...,SK2_b·d。所需的组密钥g的数量取决于接收方N的总数和组的数量。假设将从0到N-1的标号唯一地分配给接收方,则通过下面的规则描述密钥发布方案具有标号n的用户获得具有的所有组密钥GK,和具有的所有第一选择密钥SK1_i,和具有i=fs&OverBar;(n%bd)]]>的所有第二选择密钥SK2_i。在发送端(senderside),使用下面的算法用户发送数据1.发送join0,join1,...joinN-1,(以压缩形式);2.产生2bd+1随机m比特序列B,X0,...,Xbd-1,Y0,...,YbJ-1;FORj=0...bd-1DOZj←Exp(B,Xj);{M←mk;FORj=0...bd-1DOFORk=0...bd-1DOIF(ib2d+jbd+k<N)AND(!joinib2d+jbd+k)THENM←ENC(Exp(Zj;Yk),M);FORk∈fG(i)DO(inincreasingorder)M←Enc(GKk,M);SendM;}4.FORj=0...bd-1DO{SendZj;FOR∈fS(i)DO(inincreasingorder)SendEnc(SK1_k,Xj);}FORj=0...bd-1DO{SendExp(B,Yj);FORk∈fS(i)DO(inincreasingorder)sendEnc(SK_k,Yj);}该算法基于将用户划分为大小b2d的组。为每组单独发送组播密钥的递归加密拷贝,对于相应于组中的非连接用户的所有j,k使用Exp(Exp(B,Xj),Yk)加密,并且还使用该组的所有组密钥进行加密。随机比特序列(地址密钥)Xj,Yk被发送d次,每次分别根据基数为b的编号系统中j的数位使用选择密钥SK1k,SK2k之一进行加密。指数Exp(B,Yj),Exp(B,Yj)不加密发送。如果,当且仅当joinn=1,具有标号n的接收方能够通过使用下列算法重构来自广播流的MK2.Getjoinh·b2d,joinh·b2d+1,...join(h+1)b2d-1(ignoreotherbitssent);GetH;IF(i=h)THENM←H;4.FORk∈fG(h)DO(indecreasingorder)M←Dec(GKk,M);5.FORi=1...2DO{IF(i=1)THENp←s;ELSEp←t;FORj=0...bd-1DO{GetUji;FORk∈fs(j)DO(inincreasingorder){GetH;IFVji=0)AND(k&Element;fs&OverBar;(p))THENVji&LeftArrow;Dec(Ski_k,H);]]>}}}6.FORj=bd-1...0DOFORk=bd-1...0DOIF(hb2d+jbd+k<N)AND(!joinhb2d+jbd+k)THEN{IF(j=s)THENH&LeftArrow;Exp(Uj1,Vk2);ELSEH&LeftArrow;Exp(Uj2,Vk1);]]>M←Dec(H,M);}7.MK←M;在步骤2和3,与接收方组h有关的信息被从数据流中过滤出。步骤4,通过组密钥使该加密反向。在步骤5,读出值Exp(B,Xj),Exp(B,Yj),并且分别存储到两个阵列U1j和U2j。而且,使用正确的选择密钥(如果有效)通过解密来恢复比特序列Xj和Yj。将结果存储在V1j和V2j中。最后,在步骤6,对于所有非连接用户恢复比特序列Exp(Exp(B,Xj),Yk)=Exp(Exp(B,Yk),Xj),并且使用该比特序列用于解密原始组播密钥。图2b和3b示出了发送端和接收端的处理单元14和36的相应结构。由于该结构主要对应于第一实施例(图2a,3a)的结构,因此只进一步解释第一和第二实施例的差别在发送端中,选择密钥存储器54持有基本的两类选择密钥集,第一选择密钥SK10,SK11,...和第二选择密钥SK2_0,SK2_1,...。而且,地址密钥产生单元26产生第一地址密钥X0,X1,...和第二地址密钥Y0,Y1,...。密钥加密单元28使用第一选择密钥SK1_0,SK1_1,...将第一地址密钥X0,X1,...加密为第一加密的地址密钥X0*,X1*,...,而使用第二选择密钥SK2_0,SK2_1,...将第二地址密钥Y0,Y1,...加密为第二加密的地址密钥Y0*,Y1*,...。密钥加密单元28还计算指数Z0,Z1...作为Exp(B,Y0),Exp(B,Y1),...以及Exp(B,X0),Exp(B,X1),...并且不进行进一步加密将它们发送。组播密钥加密单元24使用来自组密钥存储器52的组密钥GK0,GK1,...和第一和第二地址密钥X0,X1,...,Y0,Y1,...以产生加密的组播密钥m1*,m2*,m3*,...。在接收端,在处理单元36(图3b)中,密钥解密单元42使用第一和第二选择密钥来解密加密的地址密钥X0*,Y0*,...。组播密钥解密单元40使用指数Z0,Z1,...,Exp(X0),...以及第一和第二地址密钥X0,Y0,...和Z0,Z1,...来解密加密的组播密钥m1*,m2*,m3*,...。在下面,将参考图14-23b详细描述第二实施例的范例。在该范例中,内部参数选择为基数b=2,和维数d=2。这导致两个大小为b2d的组,即每个组包括16个接收方。为了简化,在该范例中只考虑两个组。此外,已经选择了具有非常少的接收方的简单范例来论证该系统的操作。图15a和15b中的表格示出了用于32个接收方范例的选择密钥发布方案。此外,同一组的所有成员持有相同的组密钥。对于所有组,接收方中选择密钥的分配是相同的。b2d个成员的每个组被划分为bd个子组,每个子组有bd个成员。存在两类选择密钥,第一选择密钥SK1寻址该子组,并且第二选择密钥SK2寻址子组中的单个接收方位置。因此,相同子组中的所有接收方具有相同的第一地址密钥SK1集(例如,所有子组0的成员具有SK0_1和SK1_1,并且这适用于两组0和1)。另一方面,在每个子组中,每个接收方具有唯一的第二选择密钥集,但是对于四个子组第二选择密钥的分配是相同的(例如在四个子组的每个子组中的第二接收方持有SK2_0和SK2_3,这同样适用于所有组)。此外,根据基数为b的编号系统中子组标号(对于第一选择密钥SK1)和位置标号(对于第二选择密钥SK2)的表示确定第一和第二选择密钥的分配。图14给出了用于第一和第二选择密钥的双编号系统中的数位表示。在上述给出的发送方算法的步骤2中,产生临时地址密钥Xi,Yi作为随机m比特序列(在组播密钥mk中具有作为比特编号的m)。在此Xi用作第一地址密钥,并且Yj用作第二地址密钥。而且,随机确定基数B作为随机m比特序列。指数Z0,Z1,Z2,Z3被计算作为Exp(B,Yi),并且与指数Exp(B,Xi)一起用作中间密钥。在图17中示出的这些值被广播而无需加密,并由此对于所有接收方均可访问。在步骤4的第一部分,每个Xi被发送d次,每次用不同的SK1加密,其中根据基数为b的编号系统中子组标号的表示确定用于加密的选择密钥SK1的组合。因此,在步骤4的第二部分,每个第二地址密钥Yi被发送d次,每次用不同的SK2加密,其中根据基数为b的编号系统中位置标号的表示确定所使用的选择密钥SK2的组合。在图18中,给出了由上述分配算法产生组0的接收方中的地址密钥的分配。应当注意,与第一实施例不同,该算法包括在接收端临时存储该地址密钥。如图18所示,在组0的接收方中第一和第二地址密钥的分配使得对于每个子组,存在来自第一地址密钥的一个子组排除密钥,特定子组的成员不具有第一地址密钥(例如,子组0的所有成员不具有X0,而所有其他接收方具有)。而且,对于每个子组中的每个接收方,存在一个来自第二地址密钥的位置排除密钥,单个接收方不具有所述位置排除密钥,而子组中的所有其他成员具有(例如,每个子组的第一成员,R0,R4,R8,R12不具有Y0,而所有其他接收方具有)。下面,将根据图19中示出的连接矢量62来解释组播密钥mk的加密。在图20中,在表格中列出了在组0中包含的接收方,同一列中的所有接收方具有相同的子组排除密钥,并且同一行中的所有接收方具有相同的位置排除密钥。例如,接收方R12不具有X3和Y0,即,具有子组排除密钥X3和位置排除密钥Y0。根据非授权接收方(该范例中的R3,R6,R11,R12,R13)的每个排除密钥对(例如,子组/位置排除密钥),在发送算法的步骤3中将数学组合计算为Exp(Zi,Yk)。利用由此产生的组合密钥递归加密该组播密钥mk。图21示出了用于组0加密的对应的递归加密组播密钥mk。然后利用组0的所有组密钥进一步加密该数据包,使之成为加密的数据包mk*。对于每个组确定这类相应的数据包。下面,将描述在授权接收方R5(图23a)和非授权接收方R11(图23b)中对加密组播密钥mk*的解密。接收方R5具有组0的组密钥GK1,GK2。R5还具有除了它自己的子组排除密钥X1以外的所有第一地址密钥X,以及除了它自己的位置排除密钥Y1以外的所有第二地址密钥Y。作为所有接收方,R5还具有上述指数(利用所有第一地址密钥X和第二地址密钥Y的基数B的指数计算结果)。利用该信息,接收方R5能够根据Z0,Y3计算(Z0,Y3)根据Z1,Y2计算(Z1,Y2)根据Z2,Y3计算(Z2,Y3)根据Z3,Y0计算(Z3,Y0)然而,由于R5不具有Y1,它不能直接计算Exp(Z3,Y1)。但是由于R5具有X3,它仍然能将Exp(Z3,Y1)计算为Exp(Exp(B,Y1),X3)。因此,接收方R5能解密mk*,因为它能获得所有的必需密钥。接收方R5因此能获得组播密钥mk。现在转向图23b,接收方R11具有它的组密钥GK1,GK2和除了它自己的子组排除密钥X2和位置排除密钥Y3的所有地址密钥。R11还具有所有有效的指数。除了在产生mk*期间使用的密钥,R11能够根据Z1,Y2计算Exp(Z1,Y2)根据Z3,Y1计算Exp(Z3,Y1)根据Z3,Y0计算Exp(Z3,Y0)R11也能计算Exp(Z0,Y3),尽管它不具有Y3。由于R11具有X0,他能计算Exp(Exp(B,Y3),X0)。然而,R11不能计算Exp(Z2,Y3)。一方面,R11不具有它的位置排除密钥Y3。另一方面,R11不具有它的子组排除密钥X2。因此,对于X11,不能计算Exp(Z2,Y3)。因此,R11缺少一个密钥来解密mk*,并因此不能获得该组播密钥mk。对于上述实施例存在许多可能的变型。第一变型消除两个实施例的发送算法的步骤1中的完全连接矢量的广播。替代地,只将连接矢量改变为传输。另一种变型针对具有缓慢的“最后一公里”的连接,例如像因特网的计算机网络,其中通过相对低的带宽信道(例如,调制解调器)将接收方连接到接入点。在该情况下,该接入点能执行步骤2和3的过滤并通过缓慢的最后一公里信道仅传输与用户相关的b2d+m比特。下面,我们看一下基于用户的数量n,密钥和块大小m,和内部参数g,b,d的带宽、存储器和计算数量有关的第二实施例的需求<tablesid="tabl0003"num="0003"></tables>与第一实施例相同,根据可用资源,第二实施例也留下一些与调整自有参数(b,d,g)有关的自有度。第二实施例可以用于具有巨大(百万到千万)数量的潜在用户的情况。在该情况下,由服务器存储的基本密钥的数量是关键因素(除了所需的广播带宽)。因此,我们提出在在广播带宽的渐进“良好”性能的约束下,使得基本密钥的总数最佳化。组基本密钥的总数G和每个用户的组基本密钥的数量g必需满足以下条件(由于,组必需通过组基本密钥集的子集识别)由于二项式的对称,几乎最佳的选择(在一些情况下,最佳方案是G=2g-1,但为了简化,我们忽视该情况)是G=2g,在此g是满足的最小自然数。利用斯特林(Stirling)近似法,得到G&GreaterEqual;log2(Nb2d)-2+12log2g&ap;log2N-2d&CenterDot;log2b]]>基本密钥的总数接近log2N+2d(b-log2b),因此发现相对于基本密钥数合适的工作点和所需的广播带宽导致下面的问题对于给定N,“同时最小化”2d(b-log2b)和显然,没有选择(b,d)使得两个表达式同时最小化,因此在广播带宽和基本密钥数之间存在折衷。对于不同的N值,可以容易的发现能合理的选择(b,d),但是此处让我们试图给出具有最佳可能渐进性能的通常答案(然而,对于一些N,其可能是次最佳选择)。如果bd&ap;N13,]]>可实现渐进最佳广播带宽消耗。对于基本密钥的数minb&Element;Nblog2b]]>量,在表达式中用取代d,将导致最小化问题其通过b=3解决。保持b固定,最小广播带宽对应于等式b3d(d+1+11nn)=N]]>的结果。对于b=3,用于发现最佳d的良好经验规则在在下面的公式中给出当插入产生的近似值时&ap;13log3N,g&ap;16log2N+2,bd&ap;(3Nlog3N)]]>b=3,d在表格1中我们获得该协议的以下渐进性能作为范例,我们考虑具有N=2·108,即2亿用户进行付费选看业务的付费选看业务情况。与上述指定规则一致,对于内部参数最佳选择是b=3,d=5,g=7。让我们假设该组播密钥和基本密钥的密钥大小选择为m=256比特。在下面的表格中,已经结合了额外假设α=0.95作为进一步范例,我们考虑计算机网络例如因特网中的组播业务。对于非常大量的情况,让我们考虑潜在用户的数量为N=232,即最大可用IP地址的数量。上述指定的规则建议b=3,d=6,g=8。该组播密钥和基本密钥的密钥大小被设置为m=256比特,并且α被设置为0.999(在此意味着43亿用户在相同的组播时段试图购买相同的内容)。需求列表如下最后两行中,由于假设连接用户很好的统计分配在组中,我们给出Diffie-Hellman指数的平均数和块运算级数。在该广播带宽记录中,在缓慢的最后一公里的情况下,在接入点处执行步骤2和3的过滤时,显示了使用上述变型时的潜在利益。作为上面描述的范例,提出的规则利用令人惊讶的低数量基本密钥,使得用于巨大数量用户的组播业务具有相对低的带宽消耗(甚至在高安全级别,例如256比特密钥)。在上述实施例中,假设只存在一个发送方S,其广播加扰内容数据和加密组播密钥信息。虽然优选的是在相同的广播数据流中传输该信息,但是可以存在其他实施例,其中一方面的密钥信息和加扰内容数据实际上被分别发送,例如,通过不同的信道或通过不同的发送实体。尽管上面的描述示出了广播系统和方法的范例,但是选择的这些范例仅仅是为了说明的目的,并不能解释为对本发明范围的限制。对于上述系统和方法可能存在大量的变型和扩展。例如,用于中等大小或较大情况的用户范围是优选的选择,但是本领域技术人员将清楚该算法可用于不同大小的情况。权利要求1.一种用于消息的选择性组播的系统,具有至少一个发送方(S),和与所述发送方(S)相关的密钥提供装置(26、52、54),所述密钥提供装置用于提供基本组密钥集(GK1,GK2,...)和基本地址密钥集(X0,X1,...Y0,Y1,...Z0,Z1,...),并具有用于发送加密消息(mk*)的发送装置(16),所述系统还包括多个接收方(R0,R1,...),所述接收方是多个组的成员,以及与每个所述接收方相关的访问装置(42,50),用于访问单个接收方地址密钥集和一个或更多组密钥(GK),其中所述一个或更多组密钥(GK)对于同一组中的所有接收方是相同的,其中每个所述接收方地址密钥集是所述基本地址密钥集的子集,并且对于同一组中的接收方的所有对,所述接收方地址密钥集成对地不同,且其中对于每个单独的接收方,存在来自基本地址密钥集的一个或更多排除密钥(X0,X1,...,Y0,Y1,...,Z0,Z1,...),该排除密钥不包含在所述接收方的接收方地址密钥集中,所述系统还包括授权存储装置(30),用于存储每个所述接收方的授权信息,所述系统还包括加密装置(24),用于从所述消息(mk)中产生多个加密的消息(mk*),其中以这样的方式用密钥组合加密该加密消息(mk*),使得只能利用来自密钥组合的所有密钥来解密,其中每个加密消息(mk*)针对所述接收方的组中的目标组(G0,G1),并所述且密钥组合包含该目标组的一个或更多组密钥,并且其中所述组合还包括所述目标组的非授权接收方的一个或多个排除密钥。2.根据权利要求1的系统,其中所述多个接收方地址密钥集对于不同组的接收方是相同的。3.根据上述任何一项权利要求的系统,其中配置所述加密装置(24)以利用所述密钥组合递归加密所述消息。4.根据上述任何一项权利要求的系统,所述系统还包括地址密钥产生装置(26),以产生所述基本地址密钥集,和选择密钥传输装置(28),用于向所述接收方选择性地发送地址密钥。5.根据权利要求4的系统,其中所述密钥提供装置(26,52,54)包括发送方的存储装置(54),所述存储装置被配置成存储选择基本密钥集(SK0,SK1,...),并且其中每个所述接收方包括存储装置(50),用于存储接收方选择密钥集,其中每个所述接收方选择密钥集是所述选择基本密钥集的子集,其中同一组接收方的所述选择密钥集成对相不包含,其中不同组接收方的多个接收方选择密钥集是相同的,并且其中所述选择密钥传输装置(28)被配置成用一个或更多选择密钥(SK1,SK2,...,SK1_0,SK1_1,...,SK2_0,SK2_1,...)加密地址密钥(X0,X1,...Y0,Y1,...Z0,Z1,...)。6.根据上述任何一项权利要求的系统,其中对于每个接收方(R),仅存包含在基本地址密钥集中的一个排除密钥,该排除密钥未包含在所述接收方的接收方地址密钥集中,并且其中该排除密钥包含在所述接收方同一组剩余的接收方的所述接收方地址密钥集中。7.根据权利要求5和6的系统,其中每个组包含最多bd个接收方,其中b≥2是整数基数,并且d≥1是维数,其中所述选择密钥集包含b*d个选择密钥,其中每个接收方的接收方选择密钥集包含(b-1)*d个选择密钥,其中每个接收方的接收方选择密钥集对应于基数为b的编号系统中接收方编号r的表示,0≤r≤bd-1,其中r的每个数位由d个不同的选择密钥之一进行表示。8.根据权利要求7的系统,其中所述地址密钥集包含bd个地址密钥,其中将每个所述地址密钥传输d次,每次用不同的一个选择密钥传输组合来加密,其中选择每个地址密钥的传输组合,使得所述传输组合对应于基数为b的编号系统中密钥编号t的表示,0≤t≤bd-1,其中t的每个数位由d个不同的选择密钥之一进行表示。9.根据权利要求1-5任何一项的系统,其中对于每个接收方存在至少两个来自基本地址密钥集的排除密钥,该排除密钥未包含在相应接收方地址密钥集中,并且其中排除密钥的每个组合在每个组中是唯一的。10.根据权利要求1-5或9任一项的系统,其中将所述地址密钥集划分为第一地址密钥(SK1_0,SK1_1,...)和第二地址密钥(SK2_0,SK2_1,...),其中所述组(G0,G1)被划分为多个子组,其中所述接收方地址密钥集包括接收方第一地址密钥集和接收方第二地址密钥集,其中同一组中的每个接收方的接收方地址密钥集包含相同的接收方第一地址密钥集,其中每个接收方的接收方地址密钥集包含在所述接收方的子组中唯一的接收方第二地址密钥集。11.根据权利要求10的系统,其中对于每个子组,存在来自所述第一地址密钥(X0,X1,...)的一个子组排除密钥,该子组排除密钥不包含在接收方第一地址密钥集中,其中所述子组排除密钥包含在所述组的剩余子组的接收方的接收方第一地址密钥集中,其中对于每个接收方,只存在一个来自第二地址密钥(Y0,Y1,...)的位置排除密钥,所述位置排除密钥不包含在所述接收方第二地址密钥集中,其中所述位置排除密钥包含在所述子组的剩余接收方的接收方第二地址密钥集中,其中配置所述加密装置(24),使得根据所述组中的所述非授权接收方的所述位置排除密钥和所述子组排除密钥中计算所述排除密钥。12.根据权利要求11的系统,其中配置所述加密装置(24),使得通过子组排除密钥和位置排除密钥的递归指数来计算所述排除密钥。13.根据权利要求10-12任一项的系统,其中每个组包含最多b2d个接收方,其中b≥2是整数基数,并且d≥1是整数维数,并且每个组包含最多bd个子组,每个子组包含最多bd个接收方,其中所述选择基本密钥集包含2*b*d个选择密钥,具有b*d个第一选择密钥(SK1_0,SK1_1,...)和b*d个第二选择密钥(SK2_0,SK2_1,...),其中每个接收方的接收方选择密钥集包含(b-1)*d个第一选择密钥和(b-1)*d个第二选择密钥,其中每个接收方的接收方选择密钥集中第一选择密钥集对应于基数为b的编号系统中接收方编号r的表示,0≤r≤bd-1,其中r的每个数位由d个不同的选择密钥之一表示,其中每个接收方的接收方选择密钥集中第二选择密钥集对应于对基数为b的编号系统中子组编号s的表示,0≤s≤bd-1,其中s的每个数位由d个不同的选择密钥之一表示。14.根据权利要求13的系统,其中所述地址基本密钥集包含bd个第一地址密钥(X0,X1,...)和bd个第二地址密钥(Y0,Y1,...)其中将每个所述地址密钥发送d次,每次用不同的一个选择密钥传输组合来加密,其中选择每个地址密钥的传输组合,使得所述传输组合对应于基数为b的编号系统中密钥编号t的表示,0≤t≤bd-1,其中t的每个数位由d个不同的选择密钥之一表示。15.一种广播系统,具有发送方(S),用于广播加扰内容消息(F1*,F2*,F3*,...),使用至少一个加扰密钥(m1,m2,m3,...)对所述内容消息加扰,多个接收方(R),用于接收该加扰消息,和根据权利要求1-14任一项的系统(10),用于向授权的接收方选择性的发送所述加扰密钥(m1,m2,m3,...)。16.系统中的消息的选择性组播的方法,该系统包含至少一个发送方(S)和多个接收方(R),其中所述接收方被划分为多个组(G0,G1),所述方法包括以下步骤提供基本组密钥集(GK)提供基本地址密钥集(Zj,Xj,Yj),为每个所述接收方提供一个或更多组密钥,其中为同一组的所有接收方提供相同的组密钥,为每个所述接收方提供接收方地址密钥集,其中每个所述接收方密钥集是所述基本地址密钥集的子集,其中对于每个接收方存在至少一个来自基本地址密钥集的排除密钥(Zj,Xj,Yj),该排除密钥不包含在对应的接收方地址密钥集中,获得关于非授权接收方和授权接收方的信息,处理所述消息(mk),以产生多个加密消息(mk*),每个所述加密消息(mk*)针对接收方的目标组,其中以这样的方式利用密钥的组合加密每个所述加密消息(mk*),使得只能利用来自密钥组合的所有密钥来解密,其中所述组合包含目标组的一个或多个组密钥,其中所述组合包含所述目标组的非授权接收方的多个排除密钥,从发送方向接收方发送加密消息。17.根据权利要求16的方法,其中在发送方产生地址密钥集,将来自地址密钥集的所述地址密钥选择性地传输给所述接收方,使用所述地址密钥集用于传输有限数量的消息。18.根据权利要求16或17的方法,其中在发送所述加密消息步骤之后,实施提供所述接收方地址密钥集的步骤。19.根据权利要求18的方法,其中在接收方,一旦接收则利用所述接收方地址密钥解密所述加密消息,而不存储完整的接收方地址密钥集。专利摘要根据本发明的系统包括至少一个发送方S,其具有密钥提供装置(24),用于提供组密钥GK和地址密钥(X文档编号H04L9/08GK1998180SQ200580015749公开日2007年7月11日申请日期2005年5月17日发明者J·克奈斯勒申请人:皇家飞利浦电子股份有限公司导出引文BiBTeX,EndNote,RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1