TWI490724B - 用於加載至少一個軟體模組的代碼的方法 - Google Patents

用於加載至少一個軟體模組的代碼的方法 Download PDF

Info

Publication number
TWI490724B
TWI490724B TW100149287A TW100149287A TWI490724B TW I490724 B TWI490724 B TW I490724B TW 100149287 A TW100149287 A TW 100149287A TW 100149287 A TW100149287 A TW 100149287A TW I490724 B TWI490724 B TW I490724B
Authority
TW
Taiwan
Prior art keywords
code
memory
software module
main memory
operating system
Prior art date
Application number
TW100149287A
Other languages
English (en)
Other versions
TW201234210A (en
Inventor
Vincent Hamon
Original Assignee
Viaccess Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Viaccess Sa filed Critical Viaccess Sa
Publication of TW201234210A publication Critical patent/TW201234210A/zh
Application granted granted Critical
Publication of TWI490724B publication Critical patent/TWI490724B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4181External card to be used in combination with the client device, e.g. for conditional access for conditional access

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Description

用於加載至少一個軟體模組的代碼的方法
本發明係關於一種藉由一安全處理器將至少一個軟體模組之代碼加載到一主記憶體中之方法。
本發明之目的還在於:一種用於接收擾碼多媒體內容之方法,一種用於實施這些方法之資訊-記錄媒體,一種用於實施這些方法之終端。
主記憶體還作為一由首字母縮寫“RAM”命名的“隨機-存取記憶體”而為人所知。通常,主記憶體係一揮發性記憶體,即,透過斷電而擦除其中資訊元件之記憶體。主記憶體能進行快速之讀取和寫入存取。這即是為什麽透過安全處理器能把將要執行的一程式之代碼從其起初被存儲的一個或多個大容量記憶體加載到此主記憶體中。大容量記憶體通常係具有大資訊存儲容量但在讀取和寫入模式中較慢之非揮發性記憶體。因此,不可能直接從大容量記憶體中之指令執行一程式。
本發明能特別地應用於對提供如同收費電視之有償多媒體節目進行存取控制之領域。
在本文之描述中,術語“多媒體內容”更具體地指,以人類能直接感知及理解之方式將被提供的一音頻及/或可視內容。通常,一多媒體內容對應用於形成一電影、一電視廣播或一廣告之一系列影像。一多媒體內容還可係諸如遊戲之一交互內容。
為了保護多媒體內容之觀看(viewing)並使此觀看受制於某些項目,例如實行一有償訂閱,以擾碼形式且不以非加密或普通形式來廣播多媒體內容。在本文之描述中,當在一通道上之多媒體內容被擾碼時,此通道被稱作被“擾碼”之通道。
更具體而言,每個多媒體內容被分為一系列密碼週期。在一密碼週期持續期間,對擾碼多媒體內容進行存取之情況保持不變。特別地,在一密碼週期持續期間,使用相同之控制字對多媒體內容進行擾碼。通常,從一個密碼週期到另一個密碼週期控制字發生改變。
而且,通常控制字對一多媒體內容是特定的,並且控制字係隨機或偽隨機地產生。因此,在一給定瞬間,如果同時在N個通道上廣播N個多媒體內容,則會有N個不同且獨立之控制字,每個控制字用於擾亂其中一個多媒體內容。
此處,術語“擾碼”及“加密”為視為同義詞。這同樣適合於術語“解擾”及“解密”。
普通之多媒體內容對應於被擾碼前之多媒體內容。普通之多媒體內容直接被人類所理解,而無需求助於解擾操作,也無需使觀看受制於某些項目和條件。
解擾多媒體內容所需之控制字連同多媒體內容一起同時傳輸。例如,在第t-1個密碼週期,透過每個終端來接收解擾第t個週期所需之控制字。為此,例如,控制字同被擾碼之多媒體內容係多工複用的。
為了保護控制字之傳輸,以包含在授權控制訊息(entitlement control message,ECM)中密碼之形式將這些控制字傳輸至終端。
在下文中,術語一資料塊之“密碼”指在非加密形式或普通形式中不足以靠其自身來檢索資料塊之一資訊塊。為了檢索例如可用來直接解擾多媒體內容之控制字的普通資訊塊,其密碼必須與一秘密資訊塊結合。例如,透過使用一密鈅對普通資訊塊進行加密可獲得一資訊塊之密碼。在此種情況下,秘密資訊塊係用來解密此密碼之密鈅。一密碼還可以為存儲在包含有多個可能資訊元件之一列表中之一資訊塊之參照。在此種情況下,秘密資訊塊係為將一普通資訊塊與每個參照相關聯之列表。
秘密資訊塊必須保存在一安全地方。為此,已經提出將秘密資訊塊存儲在安全處理器中,例如存儲在直接連接至每個終端之智能卡中。
但是,智能卡之使用存在某些缺點。特別地,如果在智能卡中發現一重要安全瑕疵,則此智能卡必須由新智能卡物理替換。這難於大規模地實施。
為了克服此缺點,已經提出用無卡片終端來替換裝有智能卡之終端。
在這些無卡片終端中,智能卡可由透過此終端之一終端安全處理器而執行的一軟體模組來替換。這些已知終端可裝備如下:
-一主記憶體,
-一安全處理器,其採用一積體電路之形式,此積體電路中實施有可執行存儲於主記憶體中指令之一微處理器、一安全協處理器、可單獨地由安全協處理器進行存取之一非揮發性記憶體及一隨機-存取記憶體,安全處理器透過一資料匯流排連接至主記憶體,
-一多任務作業系統之一代碼,當安全處理器執行此代碼時,此代碼能安排同時執行多個用戶程式,
-一開機加載器之一代碼,其能將多任務作業系統之代碼加載到主記憶體中,且然後當安全處理器執行此代碼時,從主記憶體啟動執行此作業系統,
-一開機代碼之指令,當安全處理器執行這些指令時,此指令將開機加載器之代碼加載到主記憶體中,這些指令存儲在協處理器之非揮發性記憶體中,其中,在此處理器之一順序計數器之每一重置之後,此順序計數器立刻指向此處理器之非揮發性記憶體開始之第一地址,
-一個或多個非揮發性記憶體,其包含軟體模組之代碼。
因此,這些終端具有接近於傳統電腦之架構之一架構。特別地,必須將軟體模組之代碼加載到終端之主記憶體中,因此代碼能夠被執行。術語“代碼”指可由本地編譯器或實施在安全處理器中之一低級虛擬機執行或編譯之代碼。
為此,在已知方法中,安全處理器執行:
-開機代碼,其將開機加載器之代碼加載到主記憶體中且然後從主記憶體啟動執行此開機加載器,接著
-開機加載器件之代碼,其將多任務作業系統之代碼加載到主記憶體中,此多任務作業系統之代碼被配置以使用主記憶體之僅一個縮小範圍之地址然後從主記憶體啟動執行此多任務作業系統,
-此多任務作業系統以透過此安全處理器安排同時執行多個用戶程式。
接著,多任務作業系統啟動執行軟體模組並建立安全機制以防止軟體模組之代碼被毀壞或篡改。
作業系統變得日益複雜。因此,極大可能之功能紊亂存在於這些作業系統中。這些功能紊亂如程序錯誤而被人所知。如此之功能紊亂可被利用以去除保護軟體模組之安全機制。因而難於保證當由一作業系統加載軟體模組時沒有安全瑕疵。更難於提供此保證之原因在於開發作業系統之人員不同於那些開發軟體模組之人員。而且,對軟體模組加密分析之嘗試必須被做得更加困難。
先前技術還從以下文獻之示例從得知:US2009/257595A1,EP1868127A1,US2009/193230A1,US2007/113088A1。
本發明試圖克服至少一個這些缺點。因此,本發明之一目的在於提供一種用於將至少一個軟體模組之一代碼加載到一主記憶體中之方法,其中:
-此開機加載器加載步驟,其在位於由此多任務作業系統所用的此地址範圍外的主記憶體之一地址範圍中啟動執行多任務作業系統之前,開機加載器還將軟體模組之代碼加載到主記憶體中,以及
-多任務作業系統重新路由步驟,其在已經啟動執行多任務作業系統之後,多任務作業系統將對軟體模組之一調用自一用戶程式重新路由到主記憶體之地址,其中於啟動執行多任務作業系統使用多任務作業系統之一特定檔案系統之前在主記憶體之地址中加載軟體模組之代碼,並且其中檔案系統自動地將用戶程式之虛擬記憶體空間中之軟體模組之地址與主記憶體中之軟體模組之物理地址相關聯。
在上述方法中,加載軟體模組的責任並不留給作業系統。這保證了作業系統中的功能紊亂不會阻止對此模組的加載,也不會將已經更動的軟體模組再次加載到主記憶體中。
並且,軟體模組被記錄在不會被作業系統所用的一地址範圍內。這意味著不透過特定的檔案系統則沒有一種用戶程式能對軟體模組之代碼進行存取。實際上,如果一用戶程式試圖在不使用特定的檔案系統的情況下而對作業系統可用地址範圍外的地址進行讀取或寫入,則通常會引起阻止此讀入或寫入的錯誤。因此,對軟體模組之代碼的存取受到作業系統本身的保護。特別地,作業系統中的漏洞將不會被用以存取軟體模組之代碼。因此使得對軟體模組之代碼的密碼分析更加困難。
此加載方法之實施例可包含一個或多個如下特徵:
■ 在啟動執行此開機加載器之前,由此安全處理器執行的此開機代碼基於此代碼之一簽名及一密碼密鈅來驗證此開機加載器之此代碼之真實性,並且如果此代碼為真,則此開機代碼啟動執行此開機加載器;
■ 在執行此開機加載器期間,此開機加載器配置位於此安全處理器之此積體電路中之一安全協處理器,使得此開機加載器基於一密碼密鈅及由此軟體模組的此代碼所提供之一簽名來驗證此軟體模組之此代碼之真實性,在啟動執行此多任務作業系統後,此安全協處理器自動地且以預定間隔驗證此軟體模組之被加載的代碼的真實性,並且如果代碼不為真則阻止執行此軟體模組,為此,此安全協處理器無需求助於此主記憶體而使用其自身的非揮發性記憶體和其自身的隨機-存取記憶體來執行對此軟體模組之代碼之真實性的驗證,此非揮發性記憶體和此隨機-存取記憶體可單獨地由此安全協處理器進行存取;
■ 此開機加載器配置用於組成此安全處理器之積體電路中之一安全協處理器,用於隱藏記錄在此主記憶體之一第一地址範圍中之指令,其中此軟體模組之此代碼已加載到此主記憶體中,此隱藏持續保持於被一密碼密鈅Koc1 加密的形式,此軟體模組之此代碼之此指令記錄在此地址範圍中,以及在啟動執行此多任務作業系統後,此安全協處理器在此安全處理器執行被讀入到此第一地址範圍中的每個指令之前用此密碼密鈅Koc1 自動地解密此每個指令,為此,此安全協處理器無需求助於此主記憶體而使用其自身的非揮發性記憶體和其自身的隨機-存取記憶體用此密碼密鈅Koc1 來執行此解密,此非揮發性記憶體和此隨機-存取記憶體可單獨地由此安全協處理器進行存取;
■ 此方法包含將此軟體模組之此可執行代碼用此密鈅Koc1 加密的形式記錄在一非揮發性記憶體中,並且此開機加載器將用此密鈅Koc1 加密的此軟體模組的此代碼直接加載到此主記憶體中;
■ 此開機加載器配置位於此安全處理器之積體電路內之一安全協處理器以隱藏記錄在此主記憶體之一第二地址範圍中之資料,此隱藏組成此資料之此加密,以及接著,在此開機加載器之執行期間,在啟動此多任務作業系統之後,此軟體模組將資料記錄在此第二地址範圍中,以及作為回應,此安全協處理器在將每一資料塊存入到用於連接此安全處理器及此主記憶體之一資料流排之前對將要記錄於此第二地址範圍中之此每一資料塊進行加密,並且在由此安全處理器使用此每一資料塊之前,當其由此安全處理器接收於資料匯流排中時,對在此第二地址範圍中之由此安全處理器讀取的此每一資料塊進行解密,使得記錄在此主記憶體之此第二地址範圍中之此每一資料塊單獨地以被加密的形式呈現在用於組成此安全處理器之積體電路外,為此,此安全協處理器無需求助於此主記憶體而使用其自身的非揮發性記憶體和其自身的隨機-存取記憶體來執行此加密及解密,此非揮發性記憶體和此隨機-存取記憶體可單獨地由此安全協處理器進行存取;
■ 在此開機加載器之執行期間,此開機加載器配置位於此安全處理器之此積體電路中之一安全協處理器,使得此安全協處理器基於一密碼密鈅及由此多任務作業系統之此代碼所提供的一簽名來驗證此多任務作業系統之被加載的代碼之真實性,在啟動執行此多任務作業系統之後,此安全協處理器自動地且以預定間隔驗證此多任務作業系統之此代碼的真實性,並且如果此代碼不為真,則阻止執行此多任務作業系統,為此,此安全協處理器無需求助於此主記憶體而使用其自身的非揮發性記憶體和其自身的隨機-存取記憶體來執行對此多任務作業系統之此代碼之真實性的驗證,此非揮發性記憶體和此隨機-存取記憶體可單獨地由此安全協處理器進行存取;
■ 此開機加載器將此軟體模組之此代碼加載到此主記憶體之一連續範圍地址中而不由此多任務作業系統編頁;
■ 在啟動執行此多任務作業系統之後不再執行此開機加載器之此代碼,這同樣適合於只要沒有重置此安全處理器之情況;
■ 被啟動的此多任務作業系統在此主記憶體之一用戶子部份與一個或多個大容量記憶體之間建立一虛擬記憶體機制;
■ 此軟體模組包含資料塊或一條件存取檔案之一代碼,這些資料塊或此代碼可對在一授權控制訊息(ECM)中之一控制字之一密碼進行解密
此加載方法的這些實施例還包含以下優點:
-記錄在不可更動之記憶體中的開機代碼驗證開機加載器,使得難於實施對此開機加載器進行更動的任何嘗試;
-已經先由開機代碼驗證的開機加載器激活對軟體模組的驗證,使得難於實施對軟體模組之代碼的任何惡意更動;
-記錄在主記憶體中的軟體模組之代碼之指令僅在處理器之積體電路中被解密,從而維護了此代碼的保密性;
-透過隱藏軟體模組之代碼所用的密鈅將此軟體模組直接以被加密的形式記錄在一大容量記憶體中,從而阻止了在將此大容量記憶體之軟體模組之代碼加載到主記憶體期間的解密操作;
-在執行軟體模組期間,將由軟體模組所產生的資料塊記錄在主記憶體中的由協處理器所隱藏的一地址範圍內,從而維護了此資料的保密性;
-已經先由開機代碼驗證的開機加載器激活對作業系統之代碼的驗證,使得難於為了將對軟體模組的調用由對另一軟體模組的調用所替換而實施的對作業系統之代碼的任何惡意更動;
-將軟體模組之代碼加載到一連續地址範圍中有利於驗證此代碼之真實性及將此代碼隱藏到主記憶體中。
本發明之一目的還在於提供用於接收由控制字CWi,t擾碼的一擾碼多媒體內容的方法,此方法包含,
-接收步驟,係接收包含有此控制字CWi,t之一密碼CW*i,t之一授權控制訊息(ECM);
-加載步驟,係將一軟體模組加載到一接收終端之一主記憶體中,當由透過一資料匯流排連接至此主記憶體之一處理器執行此軟體模組時,此軟體模組能對密碼CW*i,t進行解密以獲得此控制字CWi,t;
-解密步驟,係透過此軟體模組之此處理器執行對密碼CW*i,t的解密,
-解擾步驟,係對透過普通形式中之此控制字CWi,t擾碼的此多媒體內容進行解擾;
其特徵在於,此方法包含如上述加載此軟體模組之方法。
本發明之一目的還在於提供一種資訊-記錄媒體,其特徵在於,此媒體包含當由一電子安全處理器執行用來實施依照任一上述方法的指令時的此指令
本發明之一目的還在於提供一種終端,係裝備有:
-一主記憶體,
-一安全處理器,其採用一積體電路之形式,此積體電路中實施有可執行存儲於此主記憶體中指令的一微處理器、一安全協處理器、可單獨地由此安全協處理器進行存取的一非揮發性記憶體及一隨機-存取記憶體,此安全處理器透過一資料匯流排連接至此主記憶體,
-一多任務作業系統之一代碼,當此安全處理器執行此代碼時,此代碼能安排同時執行多個用戶程式,
-一開機加載器之一代碼,其能將此多任務作業系統之此代碼加載到此主記憶體中,此開機加載器之此代碼被配置以僅使用此主記憶體之一縮小範圍之地址,且然後當此安全處理器執行此開機加載器之此代碼時,從此主記憶體啟動執行此多任務作業系統,
-一開機代碼之指令,當此安全處理器執行這些指令時,此指令將此開機加載器之此代碼加載到此主記憶體中,這些指令存儲在此安全協處理器之非揮發性記憶體中,在每一重置此安全處理器之一順序計數器之後,此順序計數器刻指向此安全協處理器之此非揮發性記憶體開始之第一地址,
-一個或多個非揮發性記憶體,係包含一軟體模組之此代碼,其特徵在於,當由此安全處理器執行此軟體模組之此代碼時,此開機加載器還能在位於由此多任務作業系統所用的此地址範圍外的此主記憶體之一地址範圍中啟動執行此多任務作業系統之前,將此軟體模組之此代碼加載到此主記憶體中,以及
-在已經啟動執行此多任務作業系統之後,當由此微處理器執行此軟體模組之此代碼時,此多任務作業系統將對此軟體模組之一調用自一用戶程式重新路由到此主記憶體之此地址,其中於啟動執行此多任務作業系統使用此多任務作業系統之一特定檔案系統之前在此主記憶體之此地址中加載此軟體模組之此代碼,並且其中此檔案系統自動地將此用戶程式之虛擬記憶體空間中之此軟體模組之此地址與此主記憶體中之軟體模組之此物理地址相關聯。
此終端之實施例包含以下特徵:
-此終端包含一授權控制訊息(ECM)接收器,
-當由此處理器執行此軟體模組時,此軟體模組能接收一授權控制訊息,能對密碼CW*i,t進行解密以獲得包含在此授權控制訊息中的此控制字CWi,t,以及
-此終端包含一解擾器,此解擾器能對一多媒體內容進行解擾,其中對多媒體內容的擾碼係透過由此軟體模組解密之此控制字CWi,t而實現的。
在下文中,本領域普通技術人員所熟知的特徵與功能將不再詳細描述。此外,所用的術語係用於存取多媒體內容之條件存取系統之術語。為獲得更多關於術語之資訊,讀者可參閱以下文獻:“Functional Model of Conditional Access System”,EBU Review,Technical European Broadcasting Union,Brussels,BE,n°266,1995年12月21日。
「第1圖」展示用於發送和接收被擾碼之多媒體內容之一系統2。被發送之多媒體內容係線性化之多媒體內容。例如,一多媒體內容對應諸如電視廣播或電影之一系列之視聽節目。
普通多媒體內容由一個或多個源4產生且被傳輸到一廣播裝置。裝置6透過一資訊-傳輸網8將多媒體內容同時廣播至多個接收終端。這些多媒體內容在時間是彼此同步,進而例如符合一預設節目安排。
資訊-傳輸網8通常係一遠距離資訊傳輸網絡,例如英特網或衛星網,又或其它任意例如用來傳輸數位地面電視(digital terrestrial television,DTTV)之廣播網絡。
為了簡化「第1圖」,僅僅示出了三個接收終端10到12。
裝置6包含一編碼器16,此編碼器16壓縮其接收的多媒體內容。編碼器16處理數位多媒體內容。例如,此編碼器依照運動影像專家組-2(MPEG-2)標準或国际电信联盟-电信标准部(UIT-T)H264標準來工作。
將被壓縮的多媒體內容導向一擾碼器22之一輸入端20。擾碼器22對每一被壓縮的多媒體內容進行擾碼以使其觀看取決於某些項目,例如由接收終端之用戶購買的一存取標題。在連接至一多工器26之輸入端之一輸出端24處提供被擾碼的多媒體內容。
擾碼器22透過一控制字CWi,t對每一被壓縮的多媒體內容進行擾碼,此控制字CWi,t由一密鈅產生器32提供給擾碼器22及一條件存取系統28。條件存取系統28還由其首字母縮寫CAS而為人所知。指數i係廣播被擾碼的多媒體內容所在通道之標示符,且指數t係用來識別由此控制字擾碼的密碼週期之順序號。
通常,擾碼器符合一標準,例如數位視訊廣播-公共加擾算法(DVB-CSA,digital video broadcasting-common scrambling algorithm),互聯網流媒體聯盟密碼(ISMA Cryp,internet streaming media alliance Cryp),安全实时传输协议(SRTP,secure real-time transport protocol),先進加密標準(AES,advanced encryption standard)等。
對於每一通道i,系統28產生由ECMi,t表示的授權控制訊息(ECM)來擾碼通道i之密碼週期t,其中ECMi,t包含由產生器32產生並由擾碼器22使用的控制字CWi,t之至少原先計算的密碼CW*i,t。這些授權控制訊息及被擾碼的多媒體內容由多工器26多工複用,被擾碼的多媒體內容由條件存取系統28和擾碼器22分別提供並被傳輸在資訊-傳輸網8上。
系統28還將以下內容插入到每一ECM中:
-由系統28計算的控制字CWi,t和CWi,t+1的密碼CW*i,t和CW*i,t+1,使得能解擾通道i的緊密連續的密碼週期t和t+1,
-將與由用戶獲得的存取標題進行比較的存取條件(CA),以及
-用來驗證ECM完整性之一MAC密碼簽名或冗餘度。
在下文中,包含控制字對CWi,t/CWi,t+1的ECM由ECMi,t來表示。
此處,指數t還識別可由包含在訊息ECMi,t中的控制字CWi,t解擾的密碼週期CPi,t。指數t對每個密碼週期CPi,t係唯一的。
舉例而言,此處對多媒體內容之擾碼與多工複用符合數位視頻廣播-同密協議(DVB-Simulcrypt(ETSIIT 103 197))協議。
在本示例中,終端10和12係相同的。因此,下文僅更加詳細地對終端10進行描述。
本文所描述的終端10處於能同時解擾一單獨通道i的特殊情況中。為此,終端10包含:一中央處理單元60,其用於解擾通道i,以及一廣播多媒體內容的接收器70。
單元60解擾通道i以將其顯示在一顯示單元84上。
例如,顯示單元84係一電視機、一電腦、一有線電話或一手機。此處,顯示單元係一電視機。
在「第1圖」中,單元60之不同功能以功能方塊之形式來表示。用來形成這些不同功能方塊之單元60之硬體架構將參照「第2圖」來進行描述。單元60包含一多路分工器70,此多路分工器70一方面向一解擾器74傳輸多媒體內容,另一方面向一模組76傳輸授權控制訊息ECMi,t及授權管理訊息(EMM),以用於對多媒體內容的條件存取。
解擾器74利用由模組76傳輸的控制字來對被擾碼的多媒體內容進行解擾。被解擾的多媒體內容係傳輸至一對此多媒體內容進行解碼之一解碼器80。被解壓縮或解碼的多媒體內容係傳輸至一圖像卡82,圖像卡82驅動多媒體內容顯示在裝有一螢幕86之顯示單元84上。
顯示單元84將普通形式之多媒體內容顯示在螢幕86上。
單元76特別處理例如密鈅之保密資訊。為了維護此資訊之保密性,設計單元76盡可能的魯棒以抵抗電腦黑客之試圖攻擊。
單元60連接到一大容量記憶體78上,此記憶體中以非揮發性之形式特別地記錄有將被執行的不同程式之資料與代碼,以對密碼CW*i,t進行解密。
「第2圖」展示了單元60之更加詳細之視圖。此處,單元60包含:
-一電子安全處理器90,
-一主記憶體92,
-一非揮發性記憶體94,
-一資料及地址匯流排96,其將處理器90連接至記憶體78、92、94以及連接至接收器70。
處理器90係為能執行記錄在記憶體78中之指令之一可程式處理器。為此,處理器90包含一主微處理器19以及不同之協處理器,其中協處理器之每個係用於一特定任務。
在本實施例中,舉例而言,處理器90包含用於「第1圖」中每個功能塊72、74、80及82之一特定協處理器。在「第2圖」中,這些協處理器帶有與「第1圖」中對應功能塊相同的數字標號。因此,處理器90包含:
-一協處理器72,其用於多工複用由接收器70接收的多媒體內容流,
-一協處理器74,其用於解擾多媒體內容,
-一協處理器80,其用於解碼多媒體內容,以及
-一協處理器82,其用於視訊顯示。
這些協處理器中之每一個能執行與那些由微處理器99所執行指令並行的指令。因此,相比於如果只使用一個微處理器99而言,如此之協處理器能更快地執行任務。
此處,處理器90以其上具有微處理器99及不同協處理器之一單獨積體電路之形式存在。此積體電路安裝於一單獨之封裝中。通常,在同一片矽上蝕刻微處理器99以及不同的協處理器。如此之協處理器還公知為“系統單晶片(system on chip)”或“SOC”。
微處理器99具有一經典微處理器之所有元件。特別地,微處理器99包含一算術及邏輯單元以及各種寄存器以執行記錄在主記憶體92中的指令。這些寄存器中之一個包含即將被執行的下個指令之地址。此寄存器也被稱為一順序計數器。
此處之處理器90因為還包含一安全協處理器100,因而處理器90適於作一安全處理器。一安全協處理器之一示例可參見專利申請US20050169468中之描述。
協處理器100能被配置以自動執行某數量之任務,例如密碼功能之執行。例如,為此目的,此協處理器100裝備如下:
-其自身的算術及邏輯單元,
-只能以讀模式存取之一非揮發性記憶體102,以及
-一隨機-存取記憶體103。
記憶體102和103可單獨地由協處理器100來存取。特別地,沒有一種其代碼從外部記憶體加載到處理器90的並由此處理器90執行的程式能存取這些記憶體102和103之內容。
記憶體102包含在實施「第3圖」方法期間所用的加密功能之密鈅及可執行代碼。
此處,記憶體102特別地包含如下密鈅:
-分別用來隱藏記憶體92之一第一範圍及一第二範圍之密鈅Koc1和Koc2,
-一密鈅KACS,其用於解密一ACS模組之代碼,
-公鈅KPubOS、KPubBL及KPubACS,其分別對應用於驗證簽名之私鈅KPrivOS,KPrivBL及KPrivACS。
記憶體102特別地包含可執行代碼,以為了:
-認證主記憶體92或記憶體78及94之一內容,以及
-隱藏主記憶體92之一內容。
更具體而言,記憶體102包含一可執行代碼,當由協處理器100執行此代碼時,能使系統開機並認證存儲在記憶體92或94中之一資料頁之內容。在這裡被稱作為一動態完整性檢查之此功能特別地將以下作為輸入參數:
-記憶體中資料塊範圍之起始及結束物理地址,以及
-地址,在此地址中定位用於驗證包含在起始及結束地址之間之資料之真實性之簽名。
如果在起始與結束地址之間之資料範圍之內容有效地對應於所示的簽名,則動態完整性檢查返回值“真”。如果沒有對應,則動態完整性檢查返回值“假”。
一旦被參數化,則由協處理器100以規律的間隔啟動動態完整性檢查之執行。當已配置及啟動動態完整性檢查之功能,則由記憶體中起始及結束地址識別的資料範圍已受到一動態完整性檢查。
記憶體102包含資料隱藏功能之可執行代碼,此代碼包含在主記憶體92中之一連續範圍之地址中。此資料隱藏功能特別地接收此範圍中之起始及結束地址作為一輸入參數。每當處理器90將一資料塊寫入此地址範圍內時,則由協處理器100執行此隱藏功能以在把資料塊存入匯流排96之前加密此資料塊。接著,將資料塊以加密的形式記錄於記憶體92中。因此,僅有加密的資料流通於處理器90外。同理,每當處理器90從地址範圍內讀取資料塊時,在將被加密的資料傳輸至例如微處理器99或至協處理器72、74、80及82中之一個以用於處理前,協處理器100解密由匯流排96接收的被加密的資料。
因此,由協處理器100隱藏之資料範圍對於微處理器99及處理器90之任意其它協處理器而言係完全透明的。實際上,微處理器99同其它協處理器一樣,從記憶體92中寫入或讀取之資料之加密及解密操作中放電。即便主記憶體能被任意間諜軟體讀取時,對包含在主記憶體中資料的隱藏也使得能夠維護此資料之保密性。
當協處理器100被配置以隱藏資料之一範圍時,這個記憶體之範圍或部份被稱作被隱藏。
記錄在記憶體102中之代碼及資料由於其被記錄在只讀記憶體中且此記憶體為非揮發性而得到保護。而且,不需要複製出記憶體102之內容到主記憶體92中以執行加密與解密算法。實際上,協處理器100內部具有能執行記錄在記憶體102中之可執行代碼所需的所有元件,而沒有必要為此目的將記憶體102中之內容複製出到另一個外部記憶體中,例如到主記憶體92中。
記憶體94係一非揮發性記憶體。例如,記憶體94係一快閃記憶體。此處之記憶體94包含一開機加載器之代碼104及透過私鈅KPrivBL形成的此開機加載器之簽名106。將參照「第3圖」對開機加載器104進行更詳細的描述。
通常,主記憶體92係一隨機-存取記憶體(RAM)。通常此記憶體92還為可揮發性的。
主記憶體92包含由處理器90執行的指令及資料。
在「第2圖」中,展示了主記憶體92之一特別分區。更具體而言,主記憶體92被分區為:
-一部份110,其被保留用於作業系統;
-一部份112,其被保留用於記錄一ACS模組之代碼於其中,將參照「第3圖」及「第4圖」對此記錄過程進行更詳細的描述。
-一部份114,其被保留用於執行ACS模組期間由此ACS模組產生之資料之存儲,以及
-如果情況可以,一個或多個額外的部份116,其用於其它應用,例如視訊處理操作。
部份110本身被分區為兩個子部份118和120。子部份118包含內核代碼。子部份120為作業系統所用以滿足不同的記憶體需求,特別是那些用戶程式之需求。
記憶體78係一大容量記憶體或大容量存儲裝置,例如一硬碟或其它類似裝置。記憶體78係從中不可能直接執行一程式之可執行代碼之一非揮發性記憶體。
此處,記憶體78包含:
-ACS模組之代碼126,
-作業系統之代碼128,
-透過KPrivACS獲得的ACS模組之代碼126之一簽名130,以及
-透過私鈅KPrivOS獲得的代碼128之一簽名132。
在記憶體78中,透過密鈅KACS以被加密的形式記錄代碼126。
此處,作業系統係為整合下文將對其進行描述之不同功能之一作業系統版本2.6.23。這些功能不需要更動任何存在的Linux內核源。透過再編譯或以Linux內核模組之形式可將這些功能添加到內核中。
Linux作業系統執行一虛擬記憶體機制。如此之機制眾所周知且僅在此給出一些說明。通常,此處之虛擬記憶體機制係為用於主記憶體92之一分頁機制。實際上,一程式用戶之資料之地址在N位元上被編碼,使得一程式之虛擬地址空間從0拓展到2N,其中N係一整數。通常,N係一大於或等於16或32之整數。因此,虛擬地址空間遠大於在主記憶體92中可得的物理地址之數量。為了克服這一缺點,作業系統僅將其中包含有執行用戶程式所需的數據塊或指令的那些資料頁從記憶體78加載到主記憶體92中。其餘的用於形成用戶程式之資料頁仍保留在記憶體78中。更具體而言,在Linux中,程式之資料頁被單獨地加載到用戶子部份120中。此處,將從用戶子部份執行的程式稱作用戶程式。
因此,分頁機制負責:
-自動地將執行用戶程式所需的資料頁加載到主記憶體中,以及
-將用戶程式之虛擬地址空間中表示的虛擬地址轉換為其中加載了所需資料的記憶體92中之物理地址。
當一程式需要一資料頁時,分區機制以非確定性的方式分配一自由物理資料頁,並且從存儲在記憶體78中之資料頁中複製出資料到被分配的記憶體資料頁中。
因此,當從一作業系統執行一用戶程式時,難於提前預測在主記憶體中用於形成如此之一程式之不同片段位於哪裡。因此,很難在動態完整性檢查下使用協處理器100來僅隱藏這些片段、隱藏這些不同於其它片段的片段或安置這些片段。
舉例而言,在Linux中,一用戶程式之虛擬地址空間被分區為五個片段:
-一“文本”片段,其包含程式之可執行代碼,此片段僅在執行及讀取時可存取;
-一“資料”片段,其包含程式之初始化資料。此片段僅在讀取和寫入時可存取;
-一“符號起始塊(bss)”片段,其包含程式之非初始化資料;
-一可變大小的“堆積(heap)”片段,其用於向將被執行的程式分配記憶體;以及
-一“堆疊(stack)”片段,其用於堆疊程式之本地變量。
作業系統還具有一調度器,其能自動地及時安排不同程式的執行。例如,在終端10處,調度器在不同用戶程式之間分享對微處理器99的使用時間以模仿對這些用戶程式的同時執行。
最後,如同任何作業系統一樣,本文之作業系統具有一個或多個檔案系統。一檔案系統與一存取路徑、一檔案名以及諸如記憶體78的資料存儲裝置中之此檔案之內容相關聯。例如Linux的作業系統還可能界定沒必要與用於資料存儲之一硬體裝置相關聯之檔案系統。
除了用來存取記憶體78之內容之傳統的檔案系統之外,此處使用此系統以界定一特別之檔案系統,在本文中被稱作“VMAPPER檔案系統”。VMAPPER檔案系統之代碼被整合到作業系統之代碼128中。因此,在將作業系統加載到記憶體92之部份118中的同時加載VMAPPER檔案系統之代碼。
VMAPPER檔案系統設置以下之對應內容:
-一設置檔案LibACS之存取路徑及名稱與記憶體部份112對應,以及
-一設置檔案DataACS之地址及名稱與記憶體部份114對應。
VMAPPER檔案系統管理打開及關閉這兩個檔案LibACS和DataACS,還負責在這些檔案中之讀取與寫入。而且,VMAPPER檔案系統還可以管理對這些檔案進行存取的權限。將參照「第3圖」更加詳細地描述此文檔系統之一實施例之一示例。
此處特別地寫入ACS模組之代碼126以利用檔案DataACS寫入及讀取在執行代碼126期間產生的資料。為此,在ACS模組之代碼126中,記憶體的寫入及管理之函數係過載或再寫入。舉例而言,當ACS模組以C語言寫入時,“內存分配(malloc)”及“釋放(free)”函數將分別由專有函數VA-OS-alloc()和VA-OS-free()所代替。後面兩種函數可以將一記憶體區域分配到檔案DataACS中以寫入資料塊然後釋放這些資料塊。因此,這些函數VA-OS-alloc()和VA-OS-free()可使用記憶體92之部份114來管理ACS模組之堆積。因此,ACS模組之堆積物理地位於部份114中。
現將參考「第3圖」對將ACS模組之代碼加載到記憶體92中進行描述。
起初,在步驟150處,上電或重置終端10。
作為回應,在步驟152期間,初始化協處理器100之順序計數器。當此計數器被初始化時,計數器指向協處理器100之記憶體102中記錄的開機代碼之指令之第一行。因此,此第一行對應順序計數器之初始缺省值。
在階段154中,因而在其它任何軟體之前由協處理器100執行開機代碼。為此,協處理器100保持微處理器99為不活動的。例如,保留一個端口以用於將微處理器99重置於一重置狀態中。
由協處理器100執行開機代碼導致協處理器100執行以下步驟。
在步驟156處,協處理器100將一簽名106以及開機加載器之代碼104加載到記憶體92中。
接著,在步驟158處,檢查被加載到記憶體92中之代碼104之真實性。為此,在步驟158處,開機代碼具有一預定義之格式,其給協處理器100提供代碼104記錄在記憶體92中之地址範圍之起始和結束地址,還提供簽名106之地址。
例如,可執行如下對資料範圍之真實性的檢查。首先,協處理器向包含在指定地址範圍中之資料應用一預定哈希(hash)函數以獲得此資料之一第一印記。接著,協處理器100使用一公鈅解密此指定簽名以獲得一第二印記。接著,協處理器100比較第一印記和第二印記。如果兩個印記相同,則資料範圍之內容被視為通過認證。如果不相同,則資料範圍之內容沒有精確地通過認證。為了驗證代碼104之真實性,協處理器100使用密鈅KPubBL。
當資料範圍之內容沒有精確地通過認證時,重置終端10且方法回到步驟150處。
接著,在步驟162處,如果代碼104正確地通過認證,則協處理器100初始化微處理器99以執行在主記憶體中已經通過認證的開機加載器。為此,例如,將微處理器99之順序計數器安置在開機加載器之第一指令之物理記憶體中之地址處,並釋放微處理器99之重置端口。
從這刻以後,開始由微處理器99執行開機加載器之代碼之階段166。
起初,在步驟168處,開機加載器配置協處理器100以隱藏記憶體92之部份112及114。在此特別情況下,所選擇的用來隱藏部份112的加密算法比選擇用來隱藏部份114的加密算法更加魯棒。但是,最魯棒的加密算法還具有更大量的將被執行的指令以加密及解密一資料塊。因此,這些指令的執行會更長。此處,用來加密部份112和114的加密元件分別係密鈅Koc1和Koc2。
接著,在步驟170處,開機加載器將ACS模組之代碼126加載到記憶體92中。
在操作172處,開機加載器用密鈅KACS對加載到記憶體92中的代碼126進行解密,並且複製出因而被解密的可執行代碼代碼到部份112中。通常,透過協處理器100使用密鈅KACS來執行解密操作。
由於隱藏了部份112,因此協處理器100使用密鈅Koc1來加密由密鈅KACS解密的每一指令,並且然後將其複制到部份112中。因此,在步驟172之結尾,用密鈅Koc1以加密的形式將ACS模組之可執行代碼記錄在部份112中。
在步驟176處,開機加載器配置協處理器100以在動態完整性檢查下安置部份112。為此,將部份112之起始及結束地址以及簽名130之地址都提供給協處理器100。
在步驟178中,被配置的協處理器100檢查包含在部份112中之ACS模組之代碼之真實性。在每一檢查中,協處理器100:
-用密鈅Koc1解密ACS模組之代碼,接著
-應用一預定哈希函數以獲得代碼126之一第一印記,以及最後
-比較ACS模組之第一印記與利用公鈅KPubACS解密簽名130所獲得的一第二印記。
如果在部份112中之ACS模組之代碼不是真實的,則方法回到步驟150處。如果情況相反,則方法繼續。將注意到的是,協處理器100以規律的間隔自動地重複步驟178。這保證了只要ACS模組之代碼維持加載在記憶體92中此代碼之真實性。
在步驟180處,開機加載器將作業系統之代碼128加載到部份118中。部份118不同於部份112和114。
在步驟182處,開機加載器配置協處理器100以在動態完整性檢查中安置部份118。為此,將部份118之起始及結束地址與簽名132之地址一起提供給協處理器100。
在步驟184處,協處理器100檢查透過保存在記憶體102中之簽名132和公鈅KPubOS而被加載到部份118中之代碼128之真實性。由於VMAPPER檔案系統併入到代碼128中,因此用於檢查代碼128之真實性之步驟還可能檢查VMAPPER檔案系統之真實性。協處理器100以預定間隔自動地重複此步驟,以確保只要代碼128加載到部份118中此代碼之完整性。
如果加載到部份118中的代碼128不是真實的,重置終端且方法回到步驟150處。
如果情況相反,則方法從步驟186處繼續。在步驟186處,開機加載器啟動執行作業系統用於將部份112、114及120之大小及位置作為參數傳遞給主記憶體。因此,作業系統界定部份120內、部份112和114以及116外部之用戶空間。此後,只要沒有重置終端,即只要不回到步驟150,就不使用開機加載器。因此,優選地,為了釋放記憶體92中之空間,擦除開機加載器之代碼或使被開機加載器之代碼佔用之空間在寫模式下為可用,使得其它應用能將資訊寫入到主記憶體92中且因而擦除全部或部份代碼。
接著開始一新階段190,以在其中執行作業系統。
在步驟192處,作業系統加載VMAPPER檔案系統。對此操作之描述用在作業系統係Linux 2版本為2.6.23之特別情況中。將參考被此作業系統所知的函數和原語進行描述。這些函數及原語以粗黑體字形式展示如下並不再對其進行詳細描述。在本示例中,在內核中編譯由VMAPPER檔案系統提供的函數。因此,由內核之初始化來激活步驟192。
步驟192開始於對在VMAPPER檔案系統中界定之檔案系統的記錄。透過調用函數register_filesystem ()來將檔案系統記錄在作業系統中。
作為函數register_filesystem ()之一參數被傳遞的結構file_system_type 之成員get_sb 被安置在get_sb_single 處。此Linux之通用函數被用來聲明僅能建立一次檔案系統。這保證了僅有一個此檔案系統之實例存在於作業系統中。
接著,建立檔案系統。為此,在文檔系統VMAPPER之代碼中界定的一被稱為V_fill_super()的函數被作為get_sb_single 的一參數傳遞且然後被調用。
函數V_fill_super()填寫一super_block 型結構並將此結構之成員s_flags 設為值MS_RDONLY ,且設置此結構之成員s_op ,使得對檔案系統的重新建立使此檔案系統維持在只讀模式。
函數V_fill_super()透過函數new_inode 創建一新的索引節點。此索引節點表示根目錄。
函數V_fill_super()使用函數new_inode 創建一新的索引節點(inode)。此索引節點對應於部份112及ACS模組。此處之索引節點具有檔案名“LibACS”。在此檔案中僅提供讀取權限。而且,僅對檔案LibACS授權四種操作:打開、讀取、MMAP 函數以及“release ”函數。
當使用包含有ACS模組的檔案LibACS時,必須讀取此檔案之一些位元。為此,函數“read ”使得可從Linux作業系統讀取檔案LibACS。在讀取操作期間,透過函數ioremap 使部份112對應於作業系統之此部份之地址範圍。透過函數memcpy_fromio 複製出部份112之第一位元之內容。接著,透過調用函數iounmap 去除先前建立的地址對應。這使得能檢索文檔LibACS 之第一位元以獲得加載ACS模組所需的資訊。
最後,加載ACS模組之代碼。通常,當加載一用戶程式及當此程式聲明其依賴於檔案LibACS時,促使加載ACS模組之代碼。
在步驟194處,透過程式加載器加載用戶程式。程式加載器透過調用mmap函數來聲明檔案LibACS呈現於程式之虛擬空間中。透過函數remap_pfn_range在VMAPPER檔案系統中執行此函數調用。因此,VMAPPER檔案系統將由程式加載器為檔案LibACS保留的虛擬地址的範圍與從中複製出ACS模組的部份112中的物理地址的範圍相關聯。因此,每當用戶程式調用ACS模組時,指示ACS模組位於主記憶體中。因此,這不會引起任何資料頁缺陷以及在部份作業系統上欲將代碼126加載到部份120之一資料頁中之任何嘗試。因此,雖然已經在執行作業系統之前將代碼126加載到主記憶體中,但用戶程式仍能啟動執行ACS模組,好像作業系統已經加載了ACS模組。為此,用戶程式調用檔案LibACS。
而且,此處之ACS是在動態完整性檢查下且其代碼已被隱藏。因而,加強了終端10之安全性。最後,在開始執行作業系統之前加載ACS模組保證了即便在作業系統中存在安全瑕疵也能加載ACS模組,並保證了可以適當地建立保護代碼126之機制。
函數V_fill_super()還透過對應於堆積片段之函數new_inode 創建一新的索引節點。此索引節點具有檔案名“DataACS”且對應於部份114。僅在此索引節點中授權三種操作,即:打開、關閉及MMAP 函數。
在執行ACS模組時,透過函數VA-OS-alloc()和VA-OS-free()記錄並從堆積中讀取由ACS模組產生的敏感資料塊。這些函數VA-OS-Alloc()和VA-OS-free()將一記憶體塊分配並釋放於檔案DataACS中。因此,由ACS模組所產生的敏感資料塊由於其被協處理器100自動地隱藏因而記錄在部份114中並得以保護。
「第4圖」更詳細地描述了當由處理器90執行ACS模組時ACS模組操作之示例。
在步驟200處,ACS模組接收一訊息ECMi,t.。在步驟202處,比較包含在此ECM中的存取權與包含在例如代碼126中的預記錄的存取權。如果存取權與存取標題不對應,則方法回到步驟200以接收下一個訊息ECMi,t。如果情況相反,則方法從步驟204處繼續。在步驟204處,ACS模組提取包含在接收的訊息ECMi,t中之密碼CW*i,t。在步驟206處,ACS模組對密碼CW*i,t進行解密以獲得普通模式之控制字CWi,t。為此,例如,ACS模組使用記錄在處理器90中之一密鈅。在步驟208處,將這個普通模式之控制字CWi,t傳輸到協處理器74。
此後,協處理器74使用普通模式之控制字來對被擾碼的多媒體內容進行解擾。這能使普通模式之被擾碼的多媒體內容顯示在螢幕86上。
「第5圖」表示「第3圖」之方法之一替代模式。為了執行「第5圖」之方法,終端10與參照「第1圖」及「第2圖」所描述之終端10相同,除了作業系統包含一更動之VMAPPER檔案系統及一新的程式加載器VBinLoader外。這兩個功能包含在作業系統內核之可執行代碼中。因此,在加載作業系統的同時,它們也被加載到部份118中。
VBinLoader函數係設計用來當請求執行用於調用ACS模組的程式時,加載此程式。一程式加載器係設計用來將程式之資料置於所有權記憶體片段中之主記憶體中。如此之程式加載器能獲知程式檔案中用來說明可執行代碼、資料及其它元件定位於哪裡的資訊的位置。此程式加載器還能將程式複製到主記憶體中、初始化暫存器以及啟動執行此程式。
此處,程式加載器VBinLoader不會把ACS模組複製到主記憶體中但:
-將調用ACS模組之用戶程式之虛擬記憶體空間中之可執行代碼(“文本”片段)之虛擬地址與在其中加載有ACS模組之可執行代碼之部份112中之一地址相關聯;
-將在用戶程式之虛擬記憶體空間中之“bss”片段之地址與部份114中物理地址之範圍相關聯;以及
-將用戶程式之虛擬記憶體空間中之堆疊(stack)之地址與部份114中物理地址之範圍相關聯。
因此,在執行ACS模組時,必須記錄在“bss”片段或堆疊(stack)中的所有資料塊都自動地記錄在部份114中並因而被隱藏。
簡化VMAPPER檔案系統以僅將檔案LibACS之名稱與部份112對應。在本實施例中,沒有必要將檔案DataACS之名稱與記憶體部份114對應。
除此之外,更動代碼126使得敏感之初始化變量處於只讀模式。例如,透過指令“const”在代碼中聲明此變量為常量。
還更動代碼126以將此處被稱為VTas的大型變量分配到“bss”片段中。而且,用於分配及釋放堆積(heap)中記憶體的所有函數,例如在ACS模組之代碼中使用的函數mallocfree 或其它函數,都由用於分配為變量VTas所保留的記憶體區域中的記憶體的函數所替代。因此,由於透過ACS模組記錄在堆積中的資料塊被記錄在部份114之變量VTas中,因而此可保護此資料塊。使用如此之更動以保護堆積而無需更動作業系統以管理與平常計劃的堆積所不同的堆積。
「第5圖」之方法與「第3圖」之方法相同,除了步驟192和194分別由步驟220和222所替換之外。
在步驟220處,作業系統初始化被更動的VMAPPER檔案系統和程式加載器VBinLoader兩者。
在步驟222處,當ACS模組之執行由一用戶程式調用時,程式加載器VBlinLoader將為用戶程式之虛擬記憶體空間中之“bss”片段和堆疊(stack)所保留的虛擬地址範圍與部份114中之地址範圍相關聯。因此,在執行ACS模組期間,由ACS模組所產生的資料塊記錄在片段114中並因而自動地由協處理器100隱藏。因此,維護了這些資料塊之保密性。
程式加載器VBinLoader還將用戶程式之虛擬地址空間中之ACS模組之地址與部份112中之地址相關聯。
若干其它的實施例也是可能的。例如,作為一種變型,代碼126以利用密鈅Koc1加密的形式記錄在一非揮發性記憶體中。因此,開機加載器能直接地將被加密的代碼複製到部份112中。因此,可省略在就將代碼126記錄到112之前用密鈅KACS對代碼126進行解密的步驟。實際上,由於代碼126直接地由密鈅Koc1加密,因而此代碼已經在記憶體78中被隱藏。
作業系統還可以被加密的形式存儲並由開機加載器來解密。
作業系統能在其代碼中包含部份112及114之大小和位置。因此,沒有必要在啟動作業系統時將這些資訊塊作為參數來傳遞。
記憶體102可由分佈在用於形成處理器90之積體電路中之若干非揮發性記憶體所代替。
同理,協處理器100能夠以與分佈在用於形成處理器90之積體電路中之若干協處理器相關聯的形式而被執行。例如,協處理器100可包含用於把資料隱藏在主記憶體中的一子協處理器以及用於建立對資料的動態完整性檢查的另一子協處理器。這些每個子協處理器可包含它們自己的算術和邏輯單元以與主微協處理器99之指令一起並行執行指令。
在另一實施例中,透過使用微處理器99之算術和邏輯單元來執行協處理器100之全部或至少一部份函數。在本實施例中,是由微處理器99來執行例如動態完整性檢查及/或對資料的隱藏。為此,將相應函數之代碼加載到記憶體92中。如果代碼加載到了記憶體92中,則必須對其真實性進行檢查。透過以下來完成對代碼真實性的驗證:
-透過開機代碼,或
-透過由開機代碼所認證的函數本身。
實際上,從積體電路之外部不能對開機代碼進行存取並且此代碼僅單獨地執行於處理器90中,而無需使用外部記憶體,這使得可能獲得高級別之安全性。
部份112和114在主記憶體中沒必要相鄰。同理,部份112、114、118、120以及116也沒必要相鄰。還能將這些部份以與「第2圖」所示順序不同之順序設置於記憶體92中。
如果協處理器100由可隱藏一非連續範圍之地址或在動態完整性檢查下佈置此非連續範圍之地址的一安全協處理器所替換,則任一部份112或114都沒有必要對應在主記憶體中之一連續範圍之物理地址。
用於驗證簽名之公鈅可記錄於任意記憶體中而不單獨地記錄於記憶體102中。例如,將這些公鈅記錄在記憶體78中。在這種情況下,公鈅優選地由一私鈅所標記,此私鈅對應的那個公鈅記錄在記憶體102中。
在另一實施例中,不使用公鈅而是使用秘密的加密密鈅來檢查簽名。例如,透過一對稱密碼算法以及秘密的密鈅來加密代碼之冗餘度。
還可將代碼104記錄在記憶體78中而不在記憶體94中。相反地,可將代碼126記錄在記憶體94中而不在記憶體78中。如果必要,還可將這些代碼104和126記錄在記憶體102中。還可從記憶體94直接執行代碼104和126。
在「第5圖」之方法中,沒有必要過載或重寫ACS模組之代碼以使用位於部份114中之一堆積。實際上,作為一種變型,可由以下之方式來寫入ACS模組之代碼,即:將在執行ACS模組期間由其所產生的敏感資料單獨地記錄在堆疊中或“bss”片段中。
以上在ACS模組之特定情況下之描述還可應用與任何軟體模組,只要此軟體模組可以:
-確保被正確地加載到主記憶體中,
-確保其真實性,
-確保由處理器真正執行的代碼的真實性而不是此代碼之副本,及/或
-維護代碼之保密性。
因此,此加載一軟體模組之模式能應用到其它技術領域,例如數位版權管理(digital rights management,DRM)領域或殺毒程式領域。
最後,可獨立於代碼隱藏及軟體模組之資料而執行此軟體模組之完整性檢查。
2...系統
4...源
6...裝置
8...資訊-傳輸網
10...接收終端
11...接收終端
12...接收終端
16...編碼器
20...輸入端
22...擾碼器
24...輸出端
26...多工器
28...條件存取系統
32...密鈅產生器
60...中心處理單元
70...接收器
72...多路分工器
74...解擾器
76...模組
78...大容量記憶體
80...解碼器
82...圖像卡
84...顯示單元
86...螢幕
90...電子安全處理器
92...主記憶體
94...非揮發性記憶體
96...流排
99...微處理器
100...協處理器
102...只能以讀模式存取之一非揮發性記憶體
103...隨機-存取記憶體
104...開機加載器
106...簽名
110...部份
112...部份
114...部份
116...部份
118...子部份
120...子部份
126...ACS模組之代碼
128...作業系統之代碼
130...簽名
132...簽名
第1圖係為用於發送及接收被擾碼的多媒體內容的方法之示意圖;
第2圖係為執行於第1圖之系統中之一中央處理單元之示意圖;
第3圖係為將一軟體模組之一代碼加載到第2圖至中央處理單元之一主記憶體中之方法流程圖;
第4圖係為接收被擾碼的多媒體內容之方法流程圖;以及
第5圖係為第3圖之方法之一變型之流程圖。

Claims (15)

  1. 一種用於透過一安全處理器將至少一個軟體模組之一代碼加載到一主記憶體中之方法,其中該安全處理器執行:-一開機代碼加載步驟(步驟156),係將一開機加載器之代碼加載到一主記憶體中,以及該開機代碼啟動步驟(步驟162),係然後從該主記憶體啟動執行該開機加載器,該開機代碼記錄在該安全處理器之一非揮發性只讀記憶體中,在重置該安全處理器之一順序計數器後,該順序計數器立刻指向該安全處理器之該非揮發性只讀記憶體開始之第一地址,接著-該開機加載器之代碼加載步驟(步驟180),用於將一多任務作業系統之該代碼加載到該主記憶體中,該開機加載器之該代碼被配置以僅使用該主記憶體之一縮小範圍之地址作為一用戶空間且然後從該主記憶體啟動執行該多任務作業系統,-該多任務作業系統,係用於透過該安全處理器安排同時執行多個用戶程式,其特徵在於-該開機加載器加載步驟(步驟170),其在位於該縮小範圍的地址外的該主記憶體之一地址範圍中啟動執行該多任務作業系統之前,該開機加載器還將該軟體模組之該代碼加載到該主記憶體中,以及-該多任務作業系統重新路由步驟(步驟194),其在已經啟動執行該多任務作業系統之後,該多任務作業系統將對該軟 體模組之一調用自一用戶程式重新路由到該主記憶體之該地址,其中於啟動執行該多任務作業系統使用該多任務作業系統之一特定檔案系統之前在該主記憶體之該地址中加載該軟體模組之該代碼,並且其中該檔案系統自動地將該用戶程式之虛擬記憶體空間中之該軟體模組之該地址與該主記憶體中之軟體模組之該物理地址相關聯。
  2. 如請求項第1項所述之用於透過一安全處理器將至少一個軟體模組之一代碼加載到一主記憶體中之方法,其中,在啟動執行該開機加載器之前,由該安全處理器執行的該開機代碼基於該代碼之一簽名及一密碼金鑰來驗證該開機加載器之該代碼之真實性(步驟158),並且如果該代碼為真,則該開機代碼啟動執行該開機加載器。
  3. 如請求項第2項所述之用於透過一安全處理器將至少一個軟體模組之一代碼加載到一主記憶體中之方法,其中:-在執行該開機加載器期間,該開機加載器配置位於該安全處理器之積體電路中之一安全協處理器(步驟176),使得該開機加載器基於一密碼金鑰及由該軟體模組的該代碼所提供之一簽名來驗證該軟體模組之該代碼之真實性,-在啟動執行該多任務作業系統後,該安全協處理器自動地且以預定間隔驗證該軟體模組之被加載的代碼的真實性(步驟178),並且如果代碼不為真則阻止執行該軟體模組,為此,該 安全協處理器無需求助於該主記憶體而使用其自身的非揮發性記憶體和其自身的隨機-存取記憶體來執行對該軟體模組之代碼之真實性的驗證,該非揮發性記憶體和該隨機-存取記憶體可單獨地由該安全協處理器進行存取。
  4. 如請求項第2項所述之用於透過一安全處理器將至少一個軟體模組之一代碼加載到一主記憶體中之方法,其中:-該開機加載器配置用於組成該安全處理器之積體電路中之一安全協處理器(步驟168),用於隱藏記錄在該主記憶體之一第一地址範圍中之指令,其中該軟體模組之該代碼已加載到該主記憶體中,該隱藏持續保持於被一密碼金鑰Koc1 加密的形式,該軟體模組之該代碼之該指令記錄在該地址範圍中,以及-在啟動執行該多任務作業系統後,該安全協處理器在該安全處理器執行被讀入到該第一地址範圍中的每個指令之前用該密碼金鑰Koc1 自動地解密該每個指令,為此,該安全協處理器無需求助於該主記憶體而使用其自身的非揮發性記憶體和其自身的隨機-存取記憶體用該密碼金鑰Koc1 來執行該解密,該非揮發性記憶體和該隨機-存取記憶體可單獨地由該安全協處理器進行存取。
  5. 如請求項第4項所述之用於透過一安全處理器將至少一個軟體模組之一代碼加載到一主記憶體中之方法,其中該方法包含將該軟體模組之該可執行代碼用該密碼金鑰Koc1 加密的形式記錄 在一非揮發性記憶體中,並且該開機加載器將用該密碼金鑰Koc1 加密的該軟體模組的該代碼直接加載到該主記憶體中。
  6. 如請求項第2項所述之用於透過一安全處理器將至少一個軟體模組之一代碼加載到一主記憶體中之方法,其中:-該開機加載器配置位於該安全處理器之積體電路內之一安全協處理器以隱藏記錄在該主記憶體之一第二地址範圍中之資料(步驟168),該隱藏組成該資料之該加密,以及接著,-在該開機加載器之執行期間(步驟194),在啟動該多任務作業系統之後,該軟體模組將資料記錄在該第二地址範圍中,以及-作為回應,該安全協處理器在將每一資料塊存入到用於連接該安全處理器及該主記憶體之一資料流排之前對將要記錄於該第二地址範圍中之該每一資料塊進行加密,並且在由該安全處理器使用該每一資料塊之前,當其由該安全處理器接收於資料匯流排中時,對在該第二地址範圍中之由該安全處理器讀取的該每一資料塊進行解密,使得記錄在該主記憶體之該第二地址範圍中之該每一資料塊單獨地以被加密的形式呈現在用於組成該安全處理器之該積體電路外,為此,該安全協處理器無需求助於該主記憶體而使用其自身的非揮發性記憶體和其自身的隨機-存取記憶體來執行該加密及解密,該非揮發性記憶體和該隨機-存取記憶體可單獨地由該安全協 處理器進行存取。
  7. 如請求項第2項所述之用於透過一安全處理器將至少一個軟體模組之一代碼加載到一主記憶體中之方法,其中:-在該開機加載器之執行期間,該開機加載器配置位於該安全處理器之積體電路中之一安全協處理器(步驟182),使得該安全協處理器基於一密碼金鑰及由該多任務作業系統之該代碼所提供的一簽名來驗證該多任務作業系統之被加載的代碼之真實性,-在啟動執行該多任務作業系統之後,該安全協處理器自動地且以預定間隔驗證該多任務作業系統之該代碼的真實性,並且如果該代碼不為真,則阻止執行該多任務作業系統,為此,該安全協處理器無需求助於該主記憶體而使用其自身的非揮發性記憶體和其自身的隨機-存取記憶體來執行對該多任務作業系統之該代碼之真實性的驗證,該非揮發性記憶體和該隨機-存取記憶體可單獨地由該安全協處理器進行存取。
  8. 如請求項第1項所述之用於透過一安全處理器將至少一個軟體模組之一代碼加載到一主記憶體中之方法,其中該開機加載器將該軟體模組之該代碼加載到該主記憶體之一連續範圍地址中而不由該多任務作業系統編頁(步驟170)。
  9. 如請求項第1項所述之用於透過一安全處理器將至少一個軟體模組之一代碼加載到一主記憶體中之方法,其中在啟動執行該 多任務作業系統之後不再執行該開機加載器之該代碼,這同樣適合於只要沒有重置該安全處理器之情況。
  10. 如請求項第1項所述之用於透過一安全處理器將至少一個軟體模組之一代碼加載到一主記憶體中之方法,其中被啟動的該多任務作業系統在該主記憶體之一用戶子部份與一個或多個大容量記憶體之間建立一虛擬記憶體機制。
  11. 如請求項第1項所述之用於透過一安全處理器將至少一個軟體模組之一代碼加載到一主記憶體中之方法,其中該軟體模組包含資料塊或一條件存取檔案之一代碼,這些資料塊或該代碼可對在一授權控制訊息(ECM)中之一控制字之一密碼進行解密。
  12. 一種用於接收由控制字CWi,t 擾碼的一擾碼多媒體內容的方法,該方法包含:-接收步驟(步驟200),係接收包含有該控制字CWi,t 之一密碼CW*i,t 之一授權控制訊息(ECM);-加載步驟,係將一軟體模組加載到一接收終端之一主記憶體中,當由透過一資料匯流排連接至該主記憶體之一處理器執行該軟體模組時,該軟體模組能對密碼CW*i,t 進行解密以獲得該控制字CWi,t ;-解密步驟(步驟206),係透過該軟體模組之該處理器執行對密碼CW*i,t 的解密,-解擾步驟,係對透過普通形式中之該控制字CWi,t 擾碼的 該多媒體內容進行解擾;其特徵在於,該方法包含如請求項1所述之加載該軟體模組之方法。
  13. 一種資訊-記錄媒體(78,94,102),其特徵在於,該媒體包含當由一電子安全處理器執行用來實施依照任一上述請求項所述方法的指令時的該指令。
  14. 一種終端,係裝備有:-一主記憶體(92),-一安全處理器(90),其採用一積體電路之形式,該積體電路中實施有可執行存儲於該主記憶體中指令的一微處理器(99)、一安全協處理器(100)、可單獨地由該安全協處理器進行存取的一非揮發性記憶體(102)及一隨機-存取記憶體(103),該安全處理器透過一資料匯流排連接至該主記憶體,-一多任務作業系統之一代碼(128),當該安全處理器執行該代碼時,該代碼能安排同時執行多個用戶程式,-一開機加載器之一代碼(104),其能將該多任務作業系統之該代碼加載到該主記憶體中,該開機加載器之該代碼被配置以僅使用該主記憶體之一縮小範圍之地址作為一用戶空間,且然後當該安全處理器執行該開機加載器之該代碼時,從該主記憶體啟動執行該多任務作業系統, -一開機代碼之指令,當該安全處理器執行這些指令時,該指令將該開機加載器之該代碼加載到該主記憶體中,這些指令存儲在該安全協處理器之非揮發性記憶體(102)中,在每一重置該安全處理器之一順序計數器之後,該順序計數器刻指向該安全協處理器之該非揮發性記憶體開始之第一地址,-一個或多個非揮發性記憶體(73,74),係包含一軟體模組之該代碼(125),其特徵在於,該開機加載器(104)還能在位於該縮小範圍的地址外的該主記憶體之一地址範圍中啟動執行該多任務作業系統之前,將該軟體模組之該代碼加載到該主記憶體中,以及-在已經啟動執行該多任務作業系統之後,當由該安全處理器執行該軟體模組之該代碼時,該多任務作業系統將對該軟體模組之一調用自一用戶程式重新路由到該主記憶體之該地址,其中於啟動執行該多任務作業系統使用該多任務作業系統之一特定檔案系統之前在該主記憶體之該地址中加載該軟體模組之該代碼,並且其中該檔案系統自動地將該用戶程式之虛擬記憶體空間中之該軟體模組之該地址與該主記憶體中之軟體模組之該物理地址相關聯。
  15. 如請求項第14項所述之終端,其中 -該終端包含一授權控制訊息(ECM)接收器(70),-當由該處理器執行該軟體模組時,該軟體模組(126)能接收一授權控制訊息,能對密碼CW*i,t 進行解密以獲得包含在該授權控制訊息中的該控制字CWi,t ,以及-該終端包含一解擾器,該解擾器能對一多媒體內容進行解擾,其中對所述多媒體內容的擾碼係透過由該軟體模組解密之該控制字CWi,t 而實現的。
TW100149287A 2010-12-29 2011-12-28 用於加載至少一個軟體模組的代碼的方法 TWI490724B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1061340A FR2970099B1 (fr) 2010-12-29 2010-12-29 Procede de chargement d'un code d'au moins un module logiciel

Publications (2)

Publication Number Publication Date
TW201234210A TW201234210A (en) 2012-08-16
TWI490724B true TWI490724B (zh) 2015-07-01

Family

ID=44227970

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100149287A TWI490724B (zh) 2010-12-29 2011-12-28 用於加載至少一個軟體模組的代碼的方法

Country Status (8)

Country Link
EP (1) EP2659360B8 (zh)
CN (1) CN103282913B (zh)
ES (1) ES2701030T3 (zh)
FR (1) FR2970099B1 (zh)
PL (1) PL2659360T3 (zh)
RU (1) RU2557459C2 (zh)
TW (1) TWI490724B (zh)
WO (1) WO2012089541A2 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573522B (zh) * 2013-10-21 2018-12-11 深圳市腾讯计算机系统有限公司 一种漏洞分析方法和装置
RU2632141C2 (ru) * 2015-06-30 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и компьютерное устройство для динамической индексации и загрузки кодов модулей
US10235303B2 (en) * 2015-09-10 2019-03-19 Qualcomm Incorporated Secure entry and exit for software modules protected by controlled encryption key management
US10754829B2 (en) * 2017-04-04 2020-08-25 Oracle International Corporation Virtual configuration systems and methods
CN109211239B (zh) * 2018-08-30 2022-09-16 中体彩科技发展有限公司 一种关联产品定位系统
CN109684089B (zh) * 2018-12-18 2020-08-18 创新奇智(广州)科技有限公司 一种基于预测模型的任务调度方法、系统及电子设备
TWI791244B (zh) * 2019-04-07 2023-02-01 新唐科技股份有限公司 監控系統開機之安全裝置及其方法
EP3822775A1 (de) 2019-11-14 2021-05-19 Siemens Aktiengesellschaft Verfahren zum sicheren starten einer gerätesoftware, insbesondere eines betriebssystems, eines elektronischen gerätes
KR102864753B1 (ko) * 2020-01-08 2025-09-24 삼성전자주식회사 키를 안전하게 관리하기 위한 장치 및 방법
CN112069506B (zh) * 2020-09-16 2024-02-23 地平线(上海)人工智能技术有限公司 一种安全启动方法和装置
CN112270010B (zh) * 2020-11-17 2024-04-12 上海好连网络科技有限公司 可执行文件远程安全加载的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200701804A (en) * 2005-03-08 2007-01-01 Qualcomm Flarion Tech Methods and apparatus for implementing and using a rate indicator
TW200912634A (en) * 2007-09-07 2009-03-16 Inventec Corp Error-detecting system and method
US20090193230A1 (en) * 2008-01-30 2009-07-30 Ralf Findeisen Computer system including a main processor and a bound security coprocessor
US20090257595A1 (en) * 2008-04-15 2009-10-15 De Cesare Joshua Single Security Model In Booting A Computing Device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60228027D1 (de) * 2001-07-06 2008-09-18 Texas Instruments Inc Sicherer Bootloader zum Sichern digitaler Geräte
FR2862397A1 (fr) * 2003-11-13 2005-05-20 St Microelectronics Sa Demarrage securise d'un appareil electronique a architecture smp
US7620179B2 (en) 2004-01-29 2009-11-17 Comcast Cable Holdings, Llc System and method for security processing media streams
US20060211490A1 (en) * 2005-03-17 2006-09-21 Falvey Grahame M Security for gaming devices
US9177176B2 (en) * 2006-02-27 2015-11-03 Broadcom Corporation Method and system for secure system-on-a-chip architecture for multimedia data processing
EP1868127A1 (en) * 2006-06-15 2007-12-19 Thomson Telecom Belgium Device comprising a public and a private area and a method for securely initializing the device
US9002014B2 (en) * 2008-05-24 2015-04-07 Via Technologies, Inc. On-die cryptographic apparatus in a secure microprocessor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200701804A (en) * 2005-03-08 2007-01-01 Qualcomm Flarion Tech Methods and apparatus for implementing and using a rate indicator
TW200912634A (en) * 2007-09-07 2009-03-16 Inventec Corp Error-detecting system and method
US20090193230A1 (en) * 2008-01-30 2009-07-30 Ralf Findeisen Computer system including a main processor and a bound security coprocessor
US20090257595A1 (en) * 2008-04-15 2009-10-15 De Cesare Joshua Single Security Model In Booting A Computing Device

Also Published As

Publication number Publication date
EP2659360A2 (fr) 2013-11-06
EP2659360B8 (fr) 2018-11-14
ES2701030T3 (es) 2019-02-20
CN103282913B (zh) 2015-11-25
RU2557459C2 (ru) 2015-07-20
CN103282913A (zh) 2013-09-04
WO2012089541A3 (fr) 2012-08-23
PL2659360T3 (pl) 2019-02-28
EP2659360B1 (fr) 2018-09-05
FR2970099B1 (fr) 2013-01-11
RU2013135237A (ru) 2015-02-10
TW201234210A (en) 2012-08-16
WO2012089541A2 (fr) 2012-07-05
FR2970099A1 (fr) 2012-07-06

Similar Documents

Publication Publication Date Title
TWI490724B (zh) 用於加載至少一個軟體模組的代碼的方法
US6438666B2 (en) Method and apparatus for controlling access to confidential data by analyzing property inherent in data
US10057641B2 (en) Method to upgrade content encryption
EP1208667B1 (en) Method of generating a cryptographic transformation, tamper resistant device using the same, and methods of using the device
US6385727B1 (en) Apparatus for providing a secure processing environment
AU2010201896B2 (en) Secure read-write storage device
US20080098418A1 (en) Electronic module for digital television receiver
AU743775B2 (en) An apparatus for providing a secure processing environment
JP2004518203A (ja) 暗号化されたデータをストアする方法
US20110302427A1 (en) Method for activating at least a function on a chipset and chipset for the implementation of the method
AU750573B2 (en) Method and apparatus for controlling access to confidential data

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees