專利名稱:從發送器向接收器安全地提供保密數據的制作方法
技術領域:
本發明涉及一種用于從發送器向一個或多個接收器安全地提供保密數據的系統, 用于向一個或多個接收器安全地提供保密數據的發送器,用于從發送器安全地接收保密數 據的接收器,用于從發送器向一個或多個接收器安全地提供保密數據的方法,用于從發送 器向一個或多個接收器安全地提供保密數據的發送器中的方法和用于從發送器安全地接 收保密數據的接收器中的方法。
背景技術:
已知有多種加密技術用于從發送器向接收器受保護地提供數據,其中在發送器使 用加密密鑰對所述教據進行加密,向接收器傳送加密的數據,并在接收器使用解密密鑰對 所述加密的數據進行解密。解密密鑰也可以由發送器提供給接收器,在這種情況下所述解 密密鑰是需要被安全地提供的保密數據。如果發送器控制哪個接收器能夠獲取保密數據, 則有條件地提供所述保密數據。舉例來說,在用于付費電視的有條件訪問系統中,通常,在首端(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·埃森 申請人:耶德托存取公司