从发送器向接收器安全地提供保密数据的制作方法

文档序号:7747652阅读:167来源:国知局
专利名称:从发送器向接收器安全地提供保密数据的制作方法
技术领域
本发明涉及一种用于从发送器向一个或多个接收器安全地提供保密数据的系统, 用于向一个或多个接收器安全地提供保密数据的发送器,用于从发送器安全地接收保密数 据的接收器,用于从发送器向一个或多个接收器安全地提供保密数据的方法,用于从发送 器向一个或多个接收器安全地提供保密数据的发送器中的方法和用于从发送器安全地接 收保密数据的接收器中的方法。
背景技术
已知有多种加密技术用于从发送器向接收器受保护地提供数据,其中在发送器使 用加密密钥对所述教据进行加密,向接收器传送加密的数据,并在接收器使用解密密钥对 所述加密的数据进行解密。解密密钥也可以由发送器提供给接收器,在这种情况下所述解 密密钥是需要被安全地提供的保密数据。如果发送器控制哪个接收器能够获取保密数据, 则有条件地提供所述保密数据。举例来说,在用于付费电视的有条件访问系统中,通常,在首端(head-end)系统 中使用控制字(CW)作为加密密钥,对额外付费内容进行加扰。向有条件访问接收器广播所 述加扰内容。为了允许接收器解扰所述加扰内容,在接收器中插入智能卡。智能卡通过所 述接收器从首端系统接收被加密的授权管理消息(EMM),该授权管理消息包括芯片组会话 密钥(CSSK),所述CSSK是在接收器的密钥CSM下被加密的。智能卡还通过接收器从首端 系统接收授权控制消息(ECM),该授权控制消息包括在CSSK下加密的CW。通常,所述CW的 生命期限比所述CSSK的生命期限短。因此,CSSK可以用于解密随着时间过去而在多个ECM 中接收到的多个CW。智能卡使用解密后的CSSK对CW进行解密,随后接收器就能够使用该 CW对所述加扰内容进行解扰。众所周知,附加的密钥层可以用于解密CW。由于随着时间过去攻击者开发出侵犯计算环境的新技术,并且需要加入更加精密 的反制措施,所以制造成本随着接收器被制造得更安全而增加。尤其是在付费电视领域,智能卡已经成为向接收器提供信任环境的选择平台。然 而,尽管智能卡安全,但是由于需要分发和追踪智能卡导致其在物流方面以及在元件成本 方面都很昂贵。另外,就任何其它硬件解决方案而言,一旦部署了智能卡,如果发现了某种 缺陷,召回和更换智能卡非常困难且成本高。这意味着,智能卡应用的设计和开发需要非常 小心,并需要非常彻底的测试。此外,智能卡没有提供足够的CPU能力来执行广播内容的批 量解密。因此智能卡的角色主要局限于将获取的CW转发给更强大的硬件,例如接收器中的 解扰器,该解扰器可以是专用的或通用的。不利的是,这种接收器继而在与智能卡通信时必 须确保最低限度的机密性,这使得智能卡和接收器之间共享某个唯一的保密信息,例如密 钥。需要一种用于从发送器向接收器安全且有条件地提供保密数据的改进方案。

发明内容
本发明的目的是提供一种用于从发送器向接收器安全地提供诸如控制字或者解 密密钥的保密数据的改进方法。根据本发明的一个方面,提出了一种用于从发送器向一个或多个接收器安全地提 供保密数据的系统。所述接收器包括第一存储器,该第一存储器配置用于存储一个源于函 数层级结构的函数序列。每个函数被配置为在种子的控制下使用数学变换,将所述保密数 据从输入变换空间迁移到输出变换空间。所述发送器被配置为向接收器提供所述种子。所 述接收器被配置为,在种子的控制下使用所述函数序列,将所述保密数据从输入变换空间 迁移到最终的输出变换空间。根据本发明的一个方面,提出了一种用于从发送器向一个或多个接收器安全地提 供保密数据的方法。所述接收器包括第一存储器,该第一存储器配置用于存储一个源于函 数层级结构的函数序列,其中,每个函数被配置为在种子的控制下使用数学变换,将所述保 密数据从输入变换空间迁移到输出变换空间。该方法包括从发送器向接收器提供一个或多 个种子的步骤。该方法还包括在接收器中在种子的控制下使用所述函数序列将所述保密数 据从输入变换空间迁移到最终的输出变换空间的步骤。根据本发明的一个方面,提出了一种用于向一个或多个接收器安全地提供保密数 据的发送器。所述发送器用于在具有以上定义的一个或多个特征的系统中使用。所述发送 器被配置为定义函数层级结构。每个函数被配置为在种子的控制下使用数学变换,将所述保 密数据从输入变换空间迁移到输出变换空间。所述发送器被配置为向接收器提供所述种子。根据本发明的一个方面,提出了一种在发送器中的方法,用于从发送器向一个或 多个接收器安全地提供保密数据。该方法包括定义函数层级结构的步骤,其中每个函数被 配置为在种子的控制下使用数学变换,将所述保密数据从输入变换空间迁移到输出变换空 间。该方法还包括向所述接收器提供一个或多个种子的步骤。根据本发明的一个方面,提出了一种用于从发送器安全地接收保密数据的接收 器。所述接收器用于在具有以上定义的一个或多个特征的系统中使用。所述接收器包括 第一存储器,该第一存储器配置用于存储一个源于函数层级结构的函数序列。每个函数被 配置为在种子的控制下使用数学变换,将所述保密数据从输入变换空间迁移到输出变换空 间。所述接收器被配置为从所述发送器接收一个或多个种子。所述接收器被配置为在所述 种子的控制下使用所述函数序列,将所述保密数据从输入变换空间迁移到最终的输出变换 空间。根据本发明的一个方面,提出了一种在接收器中的方法,用于从发送器安全地接 收保密数据。所述接收器包括第一存储器,该第一存储器配置用于存储一个源于函数层级 结构的函数序列,其中,每个函数被配置为在种子的控制下使用数学变换,将所述保密数据 从输入变换空间迁移到输出变换空间。该方法包括从发送器接收一个或多个种子的步骤。 该方法还包括在所述种子的控制下使用所述函数序列,将所述保密数据从输入变换空间迁 移到最终的输出变换空间的步骤。这样,所述保密数据能够有利地从发送器有条件地提供给接收器,而在接收器处 不需要例如智能卡的特定硬件。变换是一种特定的数据编码,该编码被选择为无损并且不容易逆转回原始表示。已知通常基于某些代数学的性质的几类编码。变换空间是由特定变换定义的域,该特定变 换包括针对所有可能的明文数据的编码,其中通过对编码数据的映射的、等价运算来执行 对明文数据的运算。“在种子的控制下”是指,在允许接收器接收保密数据的情况下,所述种子包括如 下特定数据诸如与保密数据的输入变换空间相匹配从而使函数执行的数学变换得出有意 义的保密数据的输出变换空间的一个函数、一个值或者一组值。换句话说,在对应种子的控 制下,变换后的输出变换空间可以用作由后续函数执行的后续变换中的输入变换空间,从 而在随后被迁移到明文变换空间时能够获取所述保密数据。在不允许接收器接收所述保密 数据的情况下,所述发送器可以不发送种子从而导致该函数不能执行变换,或者发送不正 确的种子从而导致该函数执行数学变换得到没有意义的输出。在后一情况中,不能通过迁 移到明文变换空间来获取所述保密数据。通常,函数是存储在存储器中的软件代码部分或者软件模块。处理器执行函数序 列中的函数,以将所述保密数据从输入变换空间迁移到最终的输出变换空间。权利要求2和10的实施例有利地使发送器能够禁止一组接收器获取保密数据。权利要求3和11的实施例有利地使发送器能够禁止特定接收器获取保密数据。权利要求4和12的实施例有利地使保密数据仅能被特定接收器即具有正确个性 化种子的接收器获取,所述个性化种子通常对于接收器是唯一的。权利要求5和13的实施例有利地实现针对函数的逆向工程和/或逆向执行的保 护,从而不需要保护函数之间的接口。权利要求6和14的实施例有利地提供了针对函数的逆向工程的附加保护。在下文中,将进一步详细地描述本发明的实施例。然而,应当理解,这些实施例不 应当解释为对本发明保护范围的限制。


将参考附图中所示的示例性实施例,更详细地对本发明的各个方面进行解释,在 附图中图1示出了执行现有技术的数学变换的函数;图2示出了本发明的示例性实施例的在种子的控制下执行数学变换的函数;图3示出了本发明的示例性实施例的函数序列;图4示出了本发明的示例性实施例的函数序列;图5示出了本发明的示例性实施例的变换层级结构;图6示出了本发明的示例性实施例的变换层级结构;图7示出了本发明的示例性实施例的有条件访问接收器;图8示出了本发明的示例性实施例的系统中的方法的步骤;图9示出了本发明的示例性实施例的发送器中的方法的步骤;图10示出了本发明的示例性实施例的接收器中的方法的步骤;图11示出了示出了一般地阐明变换函数和加密的图。
具体实施例方式图1所示的函数F是将数据Z在两个不同变换空间上迁移的数学运算,所述两个 不同的变换空间例如是加密空间,标识为IN和OUT。输出变换空间OUT的维教至少与输入 变换空间IN的维数一样大,任何数据Z在输入和输出变换空间中分别(可能不唯一地)表 达为X和Y。定义变换空间IN和OUT,使得数据Z和它在任一变换空间中的表示之间没有 明显的映射,即,仅仅知道X和Y,难以或甚至不可能获取对应的Z。设计函数F使得难以在 反方向上运行。由于输入和输出变换空间之间不存在明显的映射,并且优选地变换空间IN 和OUT的维数很大,所以防止了函数F的重建。另外,实现函数F使得在数据Z通过所述函 数时,例如使用已知白盒技术和/或已知代码模糊化技术难以提取数据Z。参考图1,函数F例如被定义为F(X) = 3女X+2。如果输入变换空间IN是明文变 换空间,则X = (Z)IN = Z。在迁移之后获得如下结果Y = (Z)0UT = 3 * X+2。要将Z从输 出变换空间再次迁移到明文变换空间,在接收器中必须能够获得反函数户化)=(Y-2)/3 以如下地获取X:F_i(Y) = (3 * X+2-2)/3 = X。在本例子中,Z、X和Y是能够使用简单得 加减数学运算进行变换的数。应当理解,Z、X和Y可以是任何数据格式的数据,包括二进制 值、数字、字符、词等。函数F可以是更复杂的函数,并且适合用于对例如二进制、数字、字符 或词的运算。例如,函数F是加密函数。如图2所示,可以将函数F定义为能以附加参数(也称为“种子(Seed)”)S为种 子的数学运算。通常,函数F所执行的迁移仅由种子S定义,不将关于输入变换空间IN和 输出变换空间OUT的信息嵌入F中。选择函数F,使得对输入数据X或种子S的操作在输出 变换空间中产生不可预测的结果数据Y。因为种子S被设计成使得无法提取关于变换空间 IN或OUT的信息,所以种子S不需要存储在安全环境中。参考图2,例如函数F被定义为F(X,S) = X-7+S。如果输入变换空间IN是明文 变换空间,则X = (Z)IN = Z。在迁移之后获得如下结果:Y = (Z)0UT = X-7+S = Z-7+S。如 果例如提供的种子S是值为5的数据,则F(X,5) = X-7+5,Y = (Z)0UT = X-7+5 = Z-2。要 将Z从输出变换空间再次迁移到明文变换空间,在接收器中必须能够获得反函数F—1 (Y,S) =Y+7-S,以使得接收器能够如下地获取Z:^^,S) = (X-7+5)+7-S。如果在接收器中已 知种子S = 5,则可以正确地获得Z f—nYj) = (X-7+5)+7-5 = X = Z。如果输入变换空间 IN不是明文变换空间,则通常函数F首先在输入变换空间IN中执行逆变换,接着在输出变 换空间OUT中执行变换。这种函数F例如被定义为F(X,SI, S2) zFjF^ft,Sl),S2),其 中FrVX,SI) =X-2-Sl,并且F2(X,S2) =X-7+S2。在迁移之后获得如下结果Y = (Z)0UT =(X-2-Sl)-7+S2 = X-9-<Sl,S2>,其中X= (Z) 。可以提供种子SI和S2,作为首先执行 Fr^X^l)并接着执行F2(X,S2)的两个单独的种子,或者作为包含复合值<S1,S2>的单个 种子,复合值<31,32>能够用作&尔1_1礼51),52)的输入。例如,如果S1 = 5且S2 = 7, 则复合值必须等于<S1,S2> = 5-7 = -2,从而成功地将Z迁移到输出变换空间OUT。在这 些例子中,Z、X、Y和S是能够使用简单加减数学运算进行变换的数。应当理解,Z、X、Y和 S可以是任何数据格式的数据,包括二进制值、数字、字符、词等。函数F可以是更复杂的函 数,并且适合用于对例如二进制值、数字、字符或词的运算。例如,函数F是加密函数。如图3所示,函数F可以顺次地被重复多次,每次使用不同的种子Si (或Si得复 合值),以允许数据Z在多个变换空间之间迁移。在图3的例子中,首先使用函数F和种子SI将数据Z从输入变换空间IN(即X = (Z)IN)迁移到输出变换空间0UT1 (未示出)。然后 将中间结果(Z)°UT1(未示出)和种子S2输入到函数F,以将数据Z从变换空间0UT1迁移到 变换空间0UT2(未示出)。最后,将中间结果(Z)°UT2(未示出)和种子S3输入到函数F,以 将数据Z从变换空间0UT2迁移到变换空间0UT3,得到Y = (Z) °UT3。从IN到0UT3的总变换 完全依赖于具有正确顺序的正确值的所有三个种子。如果孤立地使用这些种子,则它们是 没有意义的。为了防止函数F的逆向工程,关于内部阶段变换空间(图3的例子中的0UT1和 0UT2)的信息可被部分地嵌入相关函数中,从而基于与针对图3所解释的相同的原理,创建 一个不可互换函数Fi的新序列。这在图4中示出。在图4中,函数F1、F2和F3中的每一 个及其对应的种子S1、S2和S3,只有在其输入变换空间与序列中前一函数的输出变换空间 相匹配的情况下,才能产生有意义的输出。在图4的例子中,与函数F1结合的种子S1将数 据Z从输入变换空间IN迁移到输出变换空间0UT1,从而要求随后的与函数F2结合的种子 S2能够从一个等于0UT1的输入变换空间迁移数据Z。类似于与函数F1结合的S1,与F2结 合的S2、与F3结合的S3能够分别将数据Z从变换空间0UT1迁移到变换空间0UT2,并从变 换空间0UT2迁移到变换空间0UT3。优选地,选择种子Si以使数据Y = (Z)0UT3只对特定接收器有意义,其中Y由被唯 一地个性化的一个硬件处理,从而能够从Y = (Z)0UT3获取Z。如图5所示,可以定义一个变换层级结构(hierarchy),即具有n个等级的函数 Fl. . . Fn的树或层级结构,各个函数具有单独的种子Si。通常,变换层级结构具有至少两个 等级的函数(例如图5的函数F1和F2)。理论上,等级的最大数目是不确定的,但是实际 上,等级的最大数目受到用于存储变换层级结构或者变换层级结构的相关部分的存储器约 束的限制。所述变换层级结构用于将全局变换秘密X= (Z)IN变换到多个独立的变换空间 中。通常,在发送器中执行第一变换,以将保密数据Z从明文输入变换空间IN迁移到输出 变换空间OUT。在图5的例子中,等级的数目是3,导致在变换层级结构中使用三个不同的 函数Fl、F2和F3。变换层级结构用于有条件地将全局变换秘密X迁移到最终的可能唯一 的变换空间0UT1. . . 0UT4,而不以有意义的方式暴露保密数据Z。参考图2,可以选择函数F使得对于一个给定的种子S*而不是S,只将数据X的特 定子集从输入变换空间IN正确地变换到输出变换空间OUT。所述子集的特性由F执行的 数学运算来确定,由此变换的结果取决于数据X和种子S*的数据之间的相关性。在此情况 下,可能导致输出空间OUT的维数小于输入空间IN。用于有条件地将Z从变换空间IN迁移 到变换空间OUT的种子S*可被看做用于无条件地将Z从变换空间IN迁移到变换空间OUT 的普通种子S的增强版本。选择函数F使得难以从给定的数据X和种子S *中推出结果子 集,并且难以通过操作X和/或S *来操作所述子集以包含X的特定数据而不影响在输出变 换空间中的结果数据Y。正确的种子S*关联到输入变换空间IN,使得通过F执行的数学运 算生成正确的输出变换空间OUT。这个技术用于执行模糊的有条件变换,该变换可以使用例 如白盒技术或代码模糊化来实现。该技术可以应用于任何保密数据Z。通过在变换层级结构的最低等级(即与Yl. . . Y4最接近,在图6中这是函数F3 的等级)中选择新种子Si*,增强变换函数F的有条件特性允许撤销个体接收器或一组接 收器获得变换的控制字Y。图6显示了具有增强变换函数F的变换层级结构的例子。与价(valence)等于2的、传统的密钥层级结构方案不同,可以使底层节点的价远大于2。结果, 可以更高效地执行接收器撤销。为了简单起见,在图6的变换层级结构中,阶等于2。在图6的例子中,为了撤销特定接收器对Y2= (Z)° UT2的访问(Υ2由在Yl和Υ3之 间的“X”表示),提供一个新种子S2B1,使得只有在以种子S31*作为种子的情况下,所得到 的F2B的输出空间与F3的输入空间相匹配。这里,特别地选择S31*以与F2输出空间关联。 当以种子S32*作为种子时,F2B的输出空间已经变得无用了。为了防止被撤销的接收器阻 止任何种子更新,种子S、S2A1和S2A2也可以被更新。依赖于输入数据X和种子S之间不同的相关性,函数Fl. . . Fn可以各不相同。本发明有利地使得能够有条件地传递全局变换秘密X,并且使接收器能够以优选 的唯一的变换形式Yl... Υ4来获得该全局变换秘密X,而不需要向每个接收器单独地传递 这些数据。将所述秘密向最终变换空间0UT1. . . 0UT4迁移是在多个步骤中完成的,每个步 骤都有它们自己的种子Si或Si*,但是孤立地看,个体的步骤、种子和中间数据是没有意义 的。只要变换数据Yl... Υ4在特定接收器的上下文以外是没有意义的(例如,为了能够获取 Ζ,它必须与唯一地个性化的安全芯片组的输入变换空间相匹配,由此该安全芯片组很难拷 贝),向其它接收器分配该数据Yl. · · Υ4就是没有意义的,因为其它接收器不能从Yl... Υ4 获取Ζ。这提供了针对保密数据Z的分享和克隆的保护,同时使得与白盒密码术或代码模糊 化相关的资源要求保持为最小。在接收器中只需要能够解释有条件变换层级结构的输出变 换空间0UT1. . . 0UT4并获得Z的最小硬件支持。通常,种子Si和Si*被作为动态数据提供并且能够按时间进行循环。只需要更新 特定的种子Si和Si*,并将其传递到适当的接收器以操纵对保密数据Z的有条件访问。这 提供了带宽的好处。通常,如图6所示的变换层级结构在发送器中定义或者对于发送器是已知的。发 送器产生种子S或S*,并将所述种子传送到相关的接收器。因此,根据种子所应用于的将X 变换成Y的函数的等级,产生种子以使能或禁止一特定接收器或一组接收器。另外,发送器 在种子Sl的控制下使用函数Fl将保密数据Z从明文输入变换空间IN迁移到输出变换空 间OUT。通常,每个接收器被配置为沿着变换层级结构的预定义路径将X变换到Y,然后从 Y导出Z。至此,通常,将函数的单个路径存储在接收器的第一存储器中。可以在接收器中 存储多个路径从而能够根据接收到的种子沿着不用的路径获取Z,例如允许发送器控制对 不同保密数据Z的访问。几个接收器可以实现相同的函数Fi的路径,或者每个接收器实现 唯一的函数Fi的路径。参考图6,例如,Yl... Y4是以四个不同接收器为目标的数据。第一 个接收器被配置为沿着路径F2A (S2A1) -F2B (S2B1) -F3 (S31*)将X变换成Yl,第二个接收器 被配置为沿着路径F2A (S2A1) -F2B (S2B1) -F3 (S32*)将X变换成Y2,第三个接收器被配置 为沿着路径F2A (S2A2) -F2B (S2B2) -F3 (S32*)将X变换成Y3,第四个接收器被配置为沿着 路径F2A(S2A2)-F2B(S2B2)-F3(S33*)将X变换成Y4。最后,接收器通过在存储在接收器 的第二存储器中的个性化种子的控制下,将数据Z从最终的输出变换空间0UT1、0UT2、0UT3 或0UT4迁移到明文变换空间,从而获取保密数据Ζ。存储函数的序列的第一存储器和用于 存储个性化种子的第二存储器可以是单个存储器模块的部分或者是分立的存储器模块。在 明文变换空间中,数据Z不再被变换,从而可被接收器使用。变换层级结构中的一个或多个变换函数Fi可以通过从发送器向一个或多个接收器上载新函数F而进行修改或替换,以便阻止对接收器内的变换函数的逆向工程。通常,在接收器中,本发明至少部分地实现为软件,或者实现为可编程阵列中的现 场可编程门阵列(FPPGA)程序。所述实现可以位于处理器的不受保护的、部分受保护的或 者安全的存储器中。处理器执行存储在存储器中的函数,以将保密数据Z从输入变换空间 IN迁移到输出变换空间OUT。在接收器中需要最小硬件支持。在发送器和接收器之间需要 有限的带宽,并且不需要从接收器到发送器的反回路径。保密数 据Z不能被提取或拦截,因 此不能被非法地分发到其它接收器。如上所述,本发明可以用于从任何种类的数据发送器向任何种类的数据接收器提 供任何种类的保密数据Z。本发明的一个示例应用是在广播网络中从首端系统向有条件 访问接收器有条件地提供密钥或控制字。广播网络中的付费电视应用依赖于对内容数据流 的加密。有条件访问接收器在解码之前需要相关的控制字用以对所述流进行解密。图7示出了在有条件访问接收器中实现的变换层级结构的路径示例。所述接收器 接收授权控制消息ECM中的作为全局变换控制字CWDtp的控制字CW。接收器分三个步骤将 CffD从输入变换空间P迁移到接收器的最终的输出变换空间CSSK。最后一个迁移步骤产 生变换控制字{CW}CSSK,该{CW}CSSK是对于接收器唯一的集群(cluster)共享保密密钥 CSSK的输出变换空间中的控制字CW。图7的有条件访问接收器包括普通计算环境和安全 计算环境。普通计算环境包括ECM传递路径,用于接收来自首端系统的ECM。普通计算环境 还包括授权管理消息(EMM)传递路径,用于接收来自首端系统的EMM。所述EMM包括将所 述CW沿着变换层级结构的路径在变换空间中进行迁移所需的种子。将在EMM中接收到的 种子存储到普通计算环境中的NVRAM存储器中。第一种子等于复合值<P,Gl>。第二种子 等于复合值<G1,Ul>。第三种子等于复合值<CSSK,Ul>0安全计算环境包括函数的序列。第一函数RpAei使用复合值<P,Gl>作为种子输入, 将CWDtp从输入变换空间P变换到输出变换空间Gl。随后,第二函数ReiAui使用复合值<G1, Ul>,将CWDTei (即变换空间Gl中的CW)从输入变换空间Gl变换到输出变换空间Ul。随后, 第三函数(在本例子中是TDES白盒加密函数)将CWDtui (即变换空间Ul中的CW)从输入 变换空间Ul变换到输出变换空间CSSK。所得到的{CW}CSSK是在CSSK密钥下加密的CW, {CW} CSSK能够由有条件访问接收器使用CSSK进行解密,该CSSK预先存储在安全存储器中 或者可由接收器安全地推导出。图8显示了可由如上所述的系统执行的用于从发送器向一个或多个接收器安全 地提供保密数据Z的方法的步骤。可选步骤用虚线表示。在可选步骤5中,从发送器向接 收器发送新函数F。在可选步骤6中,新函数F替换接收器的存储器中的一个或多个函数。 在步骤1中,从发送器向接收器提供一个或多个种子S和/或S*。在步骤2中,接收器在 所提供的种子的控制下使用函数的序列,将保密数据Z从输入变换空间(例如输入变换空间 IN)迁移到最终的输出变换空间,例如输出变换空间0UT1、0UT2、0UT3或0UT4。在可选步骤3 中,从接收器的第二存储器读取个性化种子。在可选步骤4中,接收器通过在个性化种子的控 制下,将所述保密数据从最终的输出变换空间迁移到明文变换空间,从而获取保密数据Z。图9显示了可由如上所述的发送器执行的用于从发送器向一个或多个接收器安 全地提供保密数据Z的方法的步骤。在步骤10中,发送器定义函数层级结构,其中每个函数F被配置为在种子S或S*的控制下使用数学变换,将保密数据Z从输入变换空间(例如 输入变换空间IN)迁移到输出变换空间(例如输出变换空间OUT)。在步骤11中,向接收器 提供一个或多个种子S和/或S*。图10显示了可由如上所述的接收器执行的用于从发送器向一个或多个接收器安 全地提供保密数据ζ的方法的步骤。在步骤20中,从发送器接收一个或多个种子S和/或 S*。在步骤21中,在种子S和/或S*的控制下,使用函数的序列将保密数据Z从输入变换 空间(例如输入变换空间IN)迁移到最终的输出变换空间,例如输出变换空间0UT1、0UT2、 0UT3 或 0UT4。参考图11,一般性地阐述变换函数和加密的概念。

假定在未变换的数据空间中存在具有多个数据元素的输入域ID。定义使用某密钥 的加密函数E,其被配置为接受输入域ID中的数据元素作为输入,以在输出域OD中传递相 应的加密数据元素。通过应用解密函数D,通过将解密函数D应用于输出域OD中的数据元 素,可以获取输入域ID中的原始数据元素。在非安全环境中,假定对手能够控制输入和输出数据元素以及加密函数E的实现 的运算,以发现嵌入在所述实现中的机密信息(例如密钥)。在这种非安全环境中,通过将变换函数应用于输入域ID和输出域0D,S卩,变换函 数是输入和输出操作,可以获取附加的安全性。变换函数Tl将数据元素从输入域ID映射 到变换后的数据空间的变换后的输入域ID'中的变换数据元素。类似地,变换函数T2将 数据元素从输出域OD映射到变换后的输出域OD'。此时可以使用变换后的密钥在ID'和 OD'之间对变换后的加密和解密函数E'和D'进行定义。Tl和T2是双射函数。与加密技术一起使用变换函数Tl、T2意味着,不是将输入域ID中的数据元素输入 到加密函数E以获取输出域OD中的加密数据元素,而是通过应用变换函数Tl,将域ID‘中 的变换数据元素输入到变换后的加密函数E'。在加密运算中,变换后的加密函数E'结合 逆变换函数ΤΓ1和/或Τ2—1以保护机密信息,例如密钥。然后获得域OD'中的变换后的加 密数据元素。通过在安全部分中执行Tl和/或Τ2,使得不论在分析变换后的数据空间中的 输入数据和输出数据时,还是在分析E'和/或D'的白盒实现时,都无法取得用于加密函 数E或解密函数D的密钥。变换函数Tl和Τ2中的一个应当为非平凡函数。如果Tl是平凡函数,则输入域ID 和ID'是同一个域。如果Τ2是平凡函数,则输出域是同一个域。
权利要求
一种用于从发送器向一个或多个接收器安全地提供保密数据(Z)的系统,其中所述接收器包括第一存储器,该第一存储器配置用于存储一个源于函数层级结构的函数序列,其中,每个函数(F)被配置为在种子(S,S*)的控制下使用数学变换,将所述保密数据(Z)从输入变换空间(IN)迁移到输出变换空间(OUT),所述发送器被配置为向所述接收器提供所述种子(S,S*),并且所述接收器被配置为在所述种子(S,S*)的控制下使用所述函数序列,将所述保密数据(Z)从输入变换空间(IN)迁移到最终的输出变换空间(OUT1,OUT2,OUT3,OUT4)。
2.根椐权利要求1的系统,其中,所述函数序列中的每个函数由唯一的种子(S,S*)控 制,并且所述发送器被配置为向所述接收器提供各个唯一的种子(S,S*)。
3.根据权利要求2的系统,其中,所述函数序列对于接收器是唯一的。
4.根据权利要求1至3中任一项的系统,其中,所述接收器包括第二存储器,所述第二 存储器配置用于存储个性化种子,并且所述接收器被配置为通过在所述个性化种子的控制 下,将所述保密数据(Z)从最终的输出变换空间(0UT1,0UT2,0UT3,0UT4)迁移到明文变换 空间,从而获得所述保密数据(Z)。
5.根据权利要求1至4中任一项的系统,其中,每个函数通过代码模糊化进行保护。
6.根据权利要求1至5中任一项的系统,其中所述发送器被配置为向所述接收器传送 新函数,并且所述接收器被配置为在存储器中用所述新函数替换所述函数序列中的一个或 多个函数。
7.一种在根据权利要求1至6中任一项的系统中使用的、用于向一个或多个接收器安 全地提供保密数据(Z)的发送器,其中,所述发送器被配置为定义函数层级结构,每个函数(F)被配置为在种子(S,S*)的控制下使用数学变换,将所述保密数据(Z)从 输入变换空间(IN)迁移到输出变换空间(OUT),并且所述发送器被配置为向所述接收器提供所述种子(S,S*)。
8.一种在根据权利要求1至6中任一项的系统中使用的、用于从发送器安全地接收保 密数据(Z)的接收器,包括第一存储器,该第一存储器配置用于存储一个源于函数层级结 构的函数序列,其中,每个函数(F)被配置为在种子(S,S*)的控制下使用数学变换,将所述保密数据 (Z)从输入变换空间(IN)迁移到输出变换空间(OUT),所述接收器被配置为从所述发送器接收一个或多个种子(S,S*),并且所述接收器被配置为在种子(S,S*)的控制下使用所述函数序列,将所述保密数据(Z) 从输入变换空间(IN)迁移到最终的输出变换空间(0UT1,0UT2,0UT3,0UT4)。
9.一种用于从发送器向一个或多个接收器安全地提供保密数据(Z)的方法,所述接收 器包括第一存储器,该第一存储器配置用于存储一个源于函数层级结构的函数序列,其中 每个函数(F)被配置为在种子(S,S*)的控制下使用数学变换将所述保密数据(Z)从输入 变换空间(IN)迁移到输出变换空间(OUT),所述方法包括如下步骤(1)从所述发送器向所述接收器提供一个或多个种子(S,S*),以及(2)在所述接收器中,在种子(S,S*)的控制下使用所述函数序列,将所述保密数据(Z) 从输入变换空间(IN)迁移到最终的输出变换空间(0UT1,0UT2,0UT3,0UT4)。
10.根据权利要求9的方法,其中,所述函数序列中的每个函数由唯一的种子(S,S*)控 制,并且所述方法包括从所述发送器向所述接收器提供各个唯一的种子(s,s*)的步骤。
11.根据权利要求10的方法,其中,所述函数序列对于接收器是唯一的。
12.根据权利要求9至11中任一项的方法,还包括如下步骤(3)从所述接收器的第二存储器读取个性化种子,以及(4)在所述接收器中,通过在所述个性化种子的控制下将所述保密数据(Z)从最终的 输出变换空间(0UT1,0UT2,0UT3,0UT4)迁移到明文变换空间,从而获得所述保密数据(Z)。
13.根据权利要求9至12中任一项的方法,其中,每个函数通过代码模糊化进行保护。
14.根据权利要求9至13中任一项的方法,还包括以下步骤(5)从所述发送器向所述接收器传送新函数,以及(6)在所述接收器的存储器中用所述新函数替换所述函数序列中的一个或多个函数。
15.一种在发送器中的、用于从发送器向一个或多个接收器安全地提供保密数据(Z) 的方法,包括如下步骤(10)定义函数层级结构,其中每个函数(F)被配置为在种子(S,S*)的控制下使用数 学变换,将所述保密数据(Z)从输入变换空间(IN)迁移到输出变换空间(OUT),以及(11)向所述接收器提供一个或多个种子(S,S*)。
16.一种在接收器中的、用于从发送器安全地接收保密数据(Z)的方法,所述接收器包 括第一存储器,该第一存储器配置用于存储一个源于函数层级结构的函数序列,其中每个 函数(F)被配置为在种子(S,S*)的控制下使用数学变换将所述保密数据(Z)从输入变换 空间(IN)迁移到输出变换空间(OUT),所述方法包括如下步骤(20)从发送器接收一个或多个种子(S,S*),以及(21)在种子(S,S*)的控制下使用所述函数序列,将所述保密数据(Z)从输入变换空 间(IN)迁移到最终的输出变换空间(0UT1,0UT2,0UT3,0UT4)。
全文摘要
本发明涉及从发送器向接收器安全地提供保密数据。提供了一种用于从发送器向一个或多个接收器安全地提供保密数据的系统和方法。接收器使用一个源于函数层级结构的函数序列,以在一个或多个种子的控制下使用数学变换,将所述保密数据从输入变换空间迁移到输出变换空间。所述种子由发送器提供给接收器。发送器通过控制所述种子有条件地允许接收器获得保密数据。
文档编号H04N7/167GK101848361SQ20101016176
公开日2010年9月29日 申请日期2010年3月2日 优先权日2009年3月2日
发明者A·A·瓦尔思, A·E·万弗瑞斯特, E·贝内德特, P·A·埃森 申请人:耶德托存取公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1