新四季網

在移動通信過程中保護數據的方法和系統的製作方法

2023-06-10 11:43:41 2

專利名稱:在移動通信過程中保護數據的方法和系統的製作方法
技術領域:
本發明涉及移動多媒體處理器,更具體地,本發明涉及一種移動多媒體處理器內的數字版權管理方法和系統。
背景技術:
移動通信改變了人們通信的方式,行動電話也從一種奢侈品轉變為人們日常生活的基本組成部分。行動電話的使用取決於社會情況,而不受地點和技術的限制。當前,語音連接已經滿足了日常通信的基本需要,移動語音連接正不斷溶入日常生活的方方面面,而移動通信革命的下一步將是使用移動網際網路得的集成移動多媒體應用。
能夠提供多種高速接入技術的第三代(3G)蜂窩網絡,以及特別設計來應用這些技術的行動電話,滿足了人們對支持使用高級壓縮標準的TV和音頻應用、高解析度遊戲應用、音樂接口、外圍接口支持等集成多媒體應用的需求。隨著晶片設計者使用壓縮技術和更高的帶寬來傳送更多的信息,處理要求也隨之提高。例如,3G無線應用所支持的比特率在384k/s到2M/s之間,這允許晶片設計者可以為無線系統提供多媒體性能、更高的質量、更低的幹擾和更大的覆蓋區域。
隨著移動多媒體服務越來越普及,功耗、網絡性能性價比最優化和服務質量等因素對電信運營商來說將更為重要。細緻的網絡規劃和部署、傳輸方式的改進、接收器技術和晶片集成方案的提高,才能使上述目標得以實現。在這點上,運營商需要一種技術使得可以為移動多媒體應用提供更高的下行吞吐量,以此來為移動多媒體應用服務的消費者提供更為出色的QoS性能和速率。當前,移動多媒體處理器還未充分開發單片系統(SOC)集成的作用,來為今天的移動手持機提供更為出色的總體系統解決方案。例如,現有的移動處理器可使用多個硬體加速器來支持多種多媒體應用,這將明顯地增加功耗、實現複雜度、移動處理器所佔空間和移動終端的最終體積。內容擁有者堅持要求數字版權管理(DRM),將相關的算法或算法的一部分保密。儘管如此,還需要定期的更新和修改。
比較本發明後續將要結合附圖介紹的系統,現有技術的其它局限性和弊端對於本領域的普通技術人員來說是顯而易見的。

發明內容
本發明提供了一種用於移動多媒體晶片中的數字版權管理的系統和/或方法,結合至少一副附圖進行了介紹,並在權利要求中進行了完整的描述。
根據本發明的一個方面,提供一種在移動通信過程中保護數據的方法,所述方法包括解密多媒體移動處理器硬體中的加密算法;使用所述解密後的算法解密所述移動多媒體處理器處理的軟體內的數據。
優選地,所述方法還包括在所述指令進入指令高速緩存時,解密用於所述算法的指令。
優選地,所述方法還包括通過對所述解密數據執行哈希操作來保護所述解密數據;校驗所述哈希操作的結果。
優選地,所述方法還包括將所述加密算法的解密密鑰以只寫形式存儲在所述移動多媒體處理器硬體中。
優選地,所述方法還包括使用所述解密密鑰對所述移動多媒體處理器硬體中的所述加密算法進行解密。
優選地,所述方法還包括隱藏所述存儲的解密密鑰的位置。
優選地,所述方法還包括在對所述加密算法進行所述解密之前禁用至少一個中斷。
優選地,所述方法還包括在對所述加密算法進行所述解密之後啟用至少一個中斷。
優選地,所述方法還包括在所述解密數據和所述解密算法之間插入一個未用存儲行,以防止所述解密數據的損壞。
根據本發明的一個方面,提供一種機器可讀存儲器,其中存儲的電腦程式包含至少一個代碼段,用於在移動通信過程中保護數據,所述至少一個代碼段可由機器執行以使所述機器執行如下步驟解密多媒體移動處理器硬體中的加密算法;使用所述解密後的算法解密所述移動多媒體處理器處理的軟體內的數據。
優選地,所述機器可讀存儲器還包括在所述指令進入指令高速緩存時解密用於所述算法的指令的代碼。
優選地,所述機器可讀存儲器還包括用於通過對所述解密數據執行哈希操作來保護所述解密數據並校驗所述哈希操作的結果的代碼。
優選地,所述機器可讀存儲器還包括將所述加密算法的解密密鑰以只寫形式存儲在所述移動多媒體處理器硬體中的代碼。
優選地,所述機器可讀存儲器還包括使用所述解密密鑰對所述移動多媒體處理器硬體中的所述加密算法進行解密的代碼。
優選地,所述機器可讀存儲器還包括用於隱藏所述存儲的解密密鑰的位置的代碼。
優選地,所述機器可讀存儲器還包括在對所述加密算法進行所述解密之前禁用至少一個中斷的代碼。
優選地,所述機器可讀存儲器還包括在對所述加密算法進行所述解密之後啟用至少一個中斷的代碼。
優選地,所述機器可讀存儲器還包括在所述解密數據和所述解密算法之間插入一個未用存儲行以防止所述解密數據的損壞的代碼。
根據本發明的一個方面,提供一種在移動通信過程中保護數據的系統,所述系統包括移動多媒體處理器,解密所述多媒體移動處理器硬體中的加密算法;所述移動多媒體處理器使用所述解密後的算法解密所述移動多媒體處理器處理的軟體內的數據。
優選地,所述移動多媒體處理器在所述指令進入指令高速緩存時,解密用於所述算法的指令。
優選地,所述移動多媒體處理器通過對所述解密數據執行哈希操作來保護所述解密數據,並校驗所述哈希操作的結果。
優選地,所述移動多媒體處理器將所述加密算法的解密密鑰以只寫形式存儲在所述移動多媒體處理器硬體中。
優選地,所述移動多媒體處理器使用所述解密密鑰對所述移動多媒體處理器硬體中的所述加密算法進行解密。
優選地,所述移動多媒體處理器隱藏所述存儲的解密密鑰的位置。
優選地,所述移動多媒體處理器在對所述加密算法進行所述解密之前禁用至少一個中斷。
優選地,所述移動多媒體處理器在對所述加密算法進行所述解密之後啟用至少一個中斷。
優選地,所述移動多媒體處理器在所述解密數據和所述解密算法之間插入一個未用存儲行,以防止所述解密數據的損壞。
本發明的這些和其他優點、目的和創新特徵,以及所描述的實施例的細節,在結合以下描述和附圖後將得到全面的理解。


圖1A是依據本發明一個實施例的移動多媒體系統的結構示意圖;圖1B是依據本發明一個實施例的移動多媒體系統的結構示意圖;圖2是依據本發明一個實施例的代碼解密系統的結構示意圖;圖3是依據本發明一個實施例的代碼解密系統的結構示意圖;圖4是依據本發明一個實施例執行加密的代碼時存儲器堆棧中的程序流程的流程圖;圖5是依據本發明一個實施例在移動通信期間對數據進行保護的步驟的流程圖。
具體實施例方式
依據本發明的一個實施例,一種用於在移動通信中保護數據的方法和系統包括移動多媒體處理器,對所述移動多媒體處理器內的加密算法進行解密。所述移動多媒體處理器可使用解密的算法對軟體中的數據進行解密。移動多媒體處理器可在指令進入指令高速緩存時,對加密算法的指令進行解密。移動多媒體處理器可通過對普通文本格式的代碼進行哈希操作來對其進行保護,並對移動多媒體處理器中的哈希操作結果進行校驗。加密代碼的使用可保護普通文本格式的代碼不被修改。
圖1A是依據本發明一個實施例的移動多媒體系統的結構示意圖。如圖1A所示為移動多媒體系統105,包括移動多媒體設備105a、TV 101h、PC 101k、外部攝像頭101m、外部存儲器101n和外部LCD顯示器101p。移動多媒體設備105a可以是蜂窩電話或其他手持通信設備。移動多媒體設備105a可包括移動多媒體處理器(MMP)101a、天線101d、音頻模塊101s、射頻(RF)模塊101e、基帶處理模塊101f、LCD顯示器101b、鍵盤101c和攝像頭101g。
MMP 101a可包含適當的電路、邏輯和/或代碼,用於為移動多媒體設備105a進行視頻和/或多媒體處理。MMP 101a還可進一步包括多個集成接口,用於支持連接到移動多媒體設備105a的一個或多個外部設備。例如,MMP101a可支持與TV 101h、PC 101k、外部攝像頭101m、外部存儲器101n和外部LCD顯示器101p的連接。
在工作過程中,移動多媒體設備可通過天線101d接收信號。收到的信號可由RF模塊101e進行處理,並由基帶處理模塊101f將RF信號轉換為基帶。然後基帶信號由MMP 101a進行處理。音頻和/或視頻信號還可來自/發往集成的攝像頭101g、TV 101h、PC 101k和/或外部攝像頭101m。在信號處理過程中,MMP 101a可使用外部存儲器101n來存儲處理後的數據。處理後的音頻數據發往音頻模塊101s,處理後的視頻數據發往例如TV101h、LCD 101b或外部LCD 101p。鍵盤101c可用於傳送MMP 101a處理音頻或視頻數據時所需要的處理命令和/或其他數據。
圖1B是依據本發明一個實施例的移動多媒體處理器的結構式意圖。如圖1B所示,移動多媒體處理器102可包含適當的邏輯、電路和/或代碼,用於為手持多媒體產品執行視頻和/或多媒體處理。例如,移動多媒體處理器102可設計/優化為通過使用集成的外圍設備和視頻處理核心,進行視頻記錄/回放、移動TV和3D移動遊戲。移動多媒體處理器102包括視頻處理核心103、RAM104、模擬模塊106、直接存儲器訪問(DMA)控制器163、音頻接口(I/F)142、記憶棒I/F 144、SD卡I/F 146、JTAG I/F 148、TV輸出I/F 150、USB I/F152、攝像頭I/F 154、主機I/F 129和內置集成電路(I2C)I/F 156。移動多媒體處理器102可進一步包括串行外圍接口(SPI)157、通用異步接收器/發射器(UART)I/F 159、通用輸入/輸出(GPIO)管腳164、顯示控制器162、外部存儲器I/F 158和第二外部存儲器I/F 160。
視頻處理核心103可包括適當的電路、邏輯和/或代碼,用於執行數據的視頻處理。RAM 104可包括適當的邏輯和/或代碼,用於存儲片載數據,如視頻數據。在本發明的一個實施例中,RAM 104可用於存儲10Mb的片載數據,例如。片載RAM 104的大小與成本或其他因素例如晶片大小有關。
模擬模塊106可包含開關模式電源(SMPS)模塊和鎖相環(PPL)模塊。此外,模擬模塊106可包括片載SMPS控制器,用於生成其核心電壓。該核心電壓可依據例如移動多媒體處理器102上的速率要求進行軟體編程,以此對功率管理進行進一步控制。
在本發明的一個實施例中,正常情況下的核心電壓工作範圍在0.8V-1.2V之間,在休眠模式下,這個值降至約0.6V。模擬模塊106還可包括多個鎖相環,用於為例如外部設備生成195kHz-200MHz的時鐘。根據應用的類型,還可以使用其他的電壓值和時鐘速率。移動多媒體處理器102可包括多個工作電源模式,例如,運行、待機、休眠和掉電模式據本發明的一個實施例,移動多媒體處理器102可包括旁路模式,允許主機在掉電模式下訪問存儲器映射的外圍設備。在旁路模式下,移動多媒體處理器102可在正常工作過程中直接對顯示器進行控制。主機在待機模式下能維持所顯示的內容。
音頻模塊108可包括適當的邏輯、電路和/或代碼,用於通過例如內置集成電路音頻(I2S)總線、脈衝編碼調製(PCM)或音頻編解碼(AC』97)接口142或其他適當的接口與移動多媒體處理器102進行通信。在使用AC』97和/或I2S接口的情況下,無論是在主模式還是從模式下,可使用適當的音頻控制器、處理器和/或電路來分別提供AC』97和/或I2S音頻輸出。在使用PCM接口的情況下,可使用適當的音頻控制器、處理器和/或電路來實現話音或高質量立體聲音頻的輸入輸出。PCM音頻控制器、處理器和/或電路可包含獨立的發射和接收先入先出(FIFO)緩存器,並使用DMA進一步降低處理器開銷。音頻模塊108還可包括有音頻輸入、音頻輸出埠和揚聲器/麥克風埠(圖1B中未標出)。
移動多媒體設備100可包括至少一個便攜存儲器輸出/輸出(I/O)模塊。在這點上,記憶棒模塊110可包括適當的邏輯、電路和/或代碼,用於通過記憶棒支持接口144與移動多媒體處理器102進行通信。SD卡模塊112可包括適當的邏輯、電路和/或代碼,用於通過SD輸入/輸出(I/O)接口146與移動多媒體處理器102通信。多媒體卡(MMC)還可用於通過例如SD輸入/輸出(I/O)接口146來與移動多媒體處理器102通信。移動多媒體設備100可包括其他便攜存儲器I/O模塊,例如xD I/O卡。
調試模塊114可包括適當的邏輯、電路和/或代碼,用於通過例如聯合測試行動組(JTAG)接口148來與移動多媒體處理器102進行通信。調試模塊114可用於訪問移動多媒體處理器102的地址空間,並可通過仿真接口執行邊界掃描。移動多媒體設備100還可以使用其他測試接入埠(TAP)。相位交替行(PAL)/國家電視標準委員會(NTSC)TV輸出I/F 150可用於與TV進行通信,通用串行總線(USB)1.1或其他變體、從埠I/F 152可用於與例如PC進行通信。攝像頭120和/或122可包括適當的邏輯、電路和/或代碼,用於通過例如多格式原始CCIR 601攝像頭接口154來與移動多媒體處理器102進行通信。攝像頭I/F 154可使用例如開窗口和子採樣功能,將移動多媒體處理器102與移動TV前端連接。
移動多媒體處理器102還可包括多個串行接口,例如USB I/F 152、內置集成電路(12C)主I/F 156、串行外圍設備接口(SPI)157和用於藍牙或IrDA的通用異步接收器/發射器(UART)I/F 159。I2C主接口156可包括適當的電路、邏輯和/或代碼,用於控制圖像傳感器,並可用於連接智能電池和其他外圍設備。SPI主接口157可包括適當的電路、邏輯和/或代碼,用於控制圖像傳感器。使用中斷或通過DMA控制器163在輪詢模式(polled mode)下工作時,可使用雙晶片選擇。此外,移動多媒體處理器102還可包含多個通用I/O(GPIO)管腳164,用於用戶所定義的I/O或連接到其他內部外圍設備。顯示控制器162可包括適當的電路、邏輯和/或代碼,用於例如支持XGA解析度下的多種顯示,以及處理8/9/16/21比特視頻數據。
基帶快閃記憶體124可用於通過例如8/16比特並行主機接口129從移動多媒體處理器102接收數據。主機接口129可用於提供具備獨立地址和數據寄存器的的兩條信道,通過該信道,主機處理器可直接讀和/或寫移動多媒體處理器102的存儲空間。基帶處理模塊126可包含適當的邏輯、電路和/或代碼,用於將RF信號轉換為基帶信號,並通過例如主機接口129將處理後的基帶信號傳送給移動多媒體處理器102。RF處理模塊130可包括適當的邏輯、電路和/或代碼,用於通過天線132接收信號,並將RF信號傳送給基帶處理模塊126。主機接口129可包含具備電源有效旁路模式的雙軟體信道。
主LCD 134用於通過顯示控制器162從移動多媒體處理器102接收數據,或從例如第二外部存儲器接口160接收數據。顯示控制器162可包括適當的邏輯、電路和/或代碼,用於驅動內部TV輸出功能,或連接到LCD內。顯示控制器162可用於支持一定範圍的屏幕緩衝格式,使用直接存儲器訪問(DMA)來對緩存器進行直接訪問,增加視頻處理核103的視頻處理效率。顯示控制器162可生成NTSC和PAL光柵格式來驅動TV輸出。顯示控制器162還可支持其他格式,如SECAM。
在本發明的一個實施例中,顯示控制器162可用於支持多種顯示,例如,隔行掃描顯示例如TV,和/或非隔行掃描顯示例如LCD。顯示控制器162還可識別並向DMA控制器163傳送顯示類型。在這點上,DMA控制器163可通過隔行掃描或非隔行掃描方式獲取視頻數據,然後發往通過顯示控制器162連接到移動多媒體處理器102的隔行掃描或非隔行掃描顯示器。
次LCD 136可包括適當的邏輯、電路和/或代碼,用於通過例如第二外部存儲器接口與移動多媒體處理器102通信。移動多媒體處理器102可包括有RGB外部數據總線。移動多媒體處理器102可使用像素級插值和可設置的刷新率對圖像輸出進行調整。
可選快閃記憶體138可包括適當的邏輯、電路和/或代碼,用於通過例如外部存儲器接口158來與移動多媒體處理器102通信。可選SDRAM 140可包括適當的邏輯、電路和/或代碼,用於通過例如外部存儲器接口158來從移動多媒體處理器102接收數據。移動多媒體處理器102可使用外部存儲器I/F 158來連接到例如外部SDRAM 140、SRAM、快閃記憶體138和/或外部外圍設備。SDRAM 140和其他異步設備的控制和定時信息可由移動多媒體處理器102進行配置。
移動多媒體處理器102還可進一步包括次級存儲器接口160,以此來連接到例如存儲器映射LCD和外部外圍設備。次級存儲器接口160可包括適當的電路、邏輯和/或代碼,用於將移動多媒體處理器102連接到低速設備,而不會對外部存儲器的訪問速度造成影響。次級存儲器接口160可提供例如16條數據行,6個晶片選擇/地址行,以及安裝時使用的可編程總線計時,和訪問與佔用時間。移動多媒體處理器102可為NAND/NOR快閃記憶體提供支持,包括例如NAND啟動和高速直接存儲器訪問(DMA)。
在工作過程中,移動多媒體處理器102可為處理後的視頻數據的顯示提供多種顯示格式。例如,隔行掃描和/或非隔行掃描外部顯示器可通過顯示控制器162連接到移動多媒體處理器102。顯示控制器162可將外部顯示類型傳送給DMA控制器163。DMA控制器163隨後訪問片載RAM 104,並獲取對應於外部顯示類型的隔行掃描或非隔行掃描格式的處理後視頻數據。
圖2是依據本發明一個實施例的代碼解密系統的結構示意圖。在圖2中示出了存儲器模塊202、指令獲取模塊204、解密模塊206、解碼器模塊208、狀態寄存器210、只讀存儲器(ROM)212和決策模塊214。
存儲器模塊202可包括適當的邏輯、電路和/或代碼,用於存儲使用的數據和/或指令。存儲器模塊202與指令獲取模塊204連接。指令獲取模塊204可包括適當的邏輯、電路和/或代碼,用於從存儲器模塊202獲取指令,並將指令存儲在存儲器模塊202和/或ROM 212中。解密模塊206可包括適當的邏輯、電路和/或代碼,用於從指令獲取模塊204和ROM 212接收指令和/或數據。解密模塊206可用於修改收到數據的順序,以及向解碼器模塊208發送一組指令和/或數據。解碼器模塊208可包括適當的邏輯、電路和/或代碼,用於從解密模塊206接收數據和/或指令並執行。
狀態寄存器210可包括適當的邏輯、電路和/或代碼,用於接收、保存和/或向ROM 212發送數據和/或指令。狀態寄存器210還可還可保存存儲位置的地址以及來自或發往存儲器的數據。ROM 212可包括適當的邏輯、電路和/或代碼,用於從指令獲取模塊204和狀態寄存器210接收一組數據和/或指令。ROM 212可用於存儲和/或向解密模塊206發送數據。決策模塊214可包括適當的邏輯、電路和/或代碼,用於確定狀態寄存器210的值是否大於0。如果狀態寄存器210的值大於0,將禁用單步調試。
可向狀態寄存器210中添加多個位,例如3個位,E2-E0。如果這3個位的值等於0,處理器在正常操作模式下工作。如果這三個位的值非0,則這三個值可以定義7種加密模式中的一種。當把代碼反饋給指令解碼模塊208時,將對其進行解密。這樣一來,在存儲器模塊202或跟蹤緩存中,普通文本格式的代碼是不可見的。為防止對代碼執行單步操作,將禁用單步調試。通過狀態寄存器210內容的變化可對操作進行追蹤,以此來替代通過執行的指令對操作進行追蹤。由於ROM 212的大小受到限制,加密代碼中的一次性密鑰可能有幾個周期。代碼的重定位與密鑰中使用的低地址位的數量有關。受保護的數字版權管理(DRM)加密算法可與CPRM設備密鑰一同嵌入。該加密算法還可用於移動代碼,添加其他指令來隱藏設備秒密鑰的位置以及防止攻擊,因為黑客可獲得設備密鑰的多個副本。依據本發明的一個實施例,還可使用該加密算法來保護代碼以防止回火(tempering),這是通過對該算法本身執行哈希算法並在操作過程中的多個點對操作結果進行校驗來實現的。
圖3是依據本發明一個實施例的代碼解密系統的結構示意圖。在圖3中示出了命令解密模塊302、多個復用器MUX 304和MUX 308、指令高速緩存模塊306、指令獲取模塊310和指令解碼器模塊312。
命令解密模塊302可包括適當的邏輯、電路和/或代碼,用於接收數據,例如256位元組數據和/或指令,以及在安全操作模式下對代碼和/或數據進行解密。MUX 304可包括適當的邏輯、電路和/或代碼,用於在來自命令解密模塊302的加密指令和/或數據與解密指令和/或數據之間作出選擇。當MUX 304在安全模式下可用時,MUX 304從命令解密模塊302中選擇信號。指令高速緩存模塊306可包括適當的邏輯、電路和/或代碼,用於暫時存儲指令,使得指令獲取模塊310可進行快速訪問。存儲在指令高速緩存模塊306中的數據可是256位元組寬的數據。MUX 308可包括適當的邏輯、電路和/或代碼,用於在來自指令高速緩存模塊306和直接來自MUX 304的指令和/或數據之間進行選擇。指令獲取模塊310可包括適當的邏輯、電路和/或代碼,用於從存儲器中獲取指令。指令解碼器模塊312可包括適當的邏輯、電路和/或代碼,用於從指令獲取模塊310中接收數據和/或指令並對該數據和/或指令進行解碼。
命令解密模塊302可處理加密的和普通文本格式的混合代碼。普通文本格式的代碼可處理中斷。加密代碼的普通文本格式的副本不可用,因為存儲在指令高速緩存模塊306中的指令和/或數據只能由指令解碼器模塊312讀取。在代碼解密過程中,將停止向代碼高速緩存模塊306和/或指令解碼器模塊312發送數據行,直到代碼解密完成。代碼將在安全主機內解密並存儲在一個設備內。用於解密代碼的密鑰存儲在非易失性RAM中,該RAM只可進行一次寫入,並可由命令解密模塊302讀取。
圖4是依據本發明一個實施例執行加密代碼時存儲器棧中的程序流程的流程圖。在圖4中示出了存儲器堆棧400、普通文本函數420、jump2crypted函數422、run_crypted函數424和加密函數426。
普通文本函數420可包括適當的邏輯和/或代碼,用於訪問加密函數426。jump2crypted函數422可包括適當的邏輯和/或代碼,用於在代碼解密和調用run_crypted函數424之間進行切換。jump2crypted函數422可用作run_crypted函數424的封裝器。run_crypted函數424可包括適當的邏輯和/或代碼,用於調用所請求的加密函數426。加密函數426不能直接從普通文本格式代碼中調用,因為可能沒有切換到代碼解密。當使用了加密代碼中幾個不同段時,每段可請求自己的jump2crypted函數422和run_crypted函數424。加密函數426不能直接調用文本函數,因為可能還未從代碼解密中切換出來。
在步驟402,通過調用jump2crypted函數422,普通文本函數420可訪問加密函數426。在步驟404,用作run_crypted函數424的封裝器的jump2crypted函數422可切換到代碼加密,並調用run_crypted函數424。在步驟406,run_crypted函數424調用所請求的加密函數426。不能從普通文本格式代碼中直接調用加密函數,因為可能沒有切換到代碼解密。當使用了加密代碼中幾個不同段時,每段可請求自己的jump2crypted函數422和run_crypted函數424。儘管如此,在步驟408,當執行完加密函數426後,將回到run_crypted函數424。在步驟410,run_crypted函數424將從代碼解密切換出來,並返回控制到jump2crypted函數422。在步驟412,jump2crypted函數422將返回控制到呼叫普通文本格式函數420。
依據本發明的一個實施例,當系統在安全模式下運行時,存儲的加密代碼可在執行過程中動態地解密。安全模式下使用的代碼解密可在存儲行上工作,例如32位元組寬的存儲行。這些存儲行不包含數據或普通文本格式代碼,因為這可能在運行過程中引發錯誤的代碼解密。可使用工具例如MetaWareTM來分離存儲器中的普通文本格式代碼、加密代碼和數據。可使用連接器例如MetaWareTM連接器為每種類型的代碼自動分配需要的存儲量。
為能以受控方式啟用/禁用代碼解密,可使用實時中斷指令(rti)來進入包含加密代碼的存儲段。可使用加密函數直接調用其他加密函數,但不能調用普通文本格式函數。可在存儲段內執行代碼加密,其中每個存儲段可以是加密後的或普通文本格式的。代碼可以進行加密,但數據不能。加密後的代碼和數據不能混合在同一存儲行中,例如開始於32的倍數的32個連續地址,這是因為在程序執行過程中數據可能發生變化並改變代碼解密。因為在使用切換指令時代碼可能未進行適當的解密,這是因為需要的查找表是存儲在數據高速緩存中而非指令高速緩存中,這時可使用分支指令或判斷指令來代替切換指令。在運行加密代碼過程中,中斷將被禁用,因為他們未能正確的切換到代碼解密或從代碼解密中切換出來。jump2crypted函數422可包括適當的邏輯和/或代碼,用于禁用任何中斷,而run_crypted函數424可包括適當的邏輯和/或代碼,用於恢復操作的前一狀態。
加密代碼中的常數數組不會被加密,因為他們存儲在數據寄存器中。可使用函數來代替該常數數組,通過訪問該常數數組索引來返回常數值。隨後通過使用移動或存儲命令存儲該常數的立即值以實現堆該常數數組的加密。
可使用連接器例如metaware連接器依據安全模式放的要求調整該代碼。對於所有加密的代碼,可在高級代碼文件中定義獨立的段。例如,可將下面的代碼段插入到命令文件中,這將產生一個特殊的存儲區,例如加密代碼的所要求大小的.cypt文件。.dontuse ALIGN(32)BLOCK(32){.=.+32;}>RAM.crypt?ALIGN(32)BLOCK(32){*(TYPE text)}>RAM存儲區.crypt可按地址排列,並在存在加密代碼時生成。在普通文本代碼的末端和加密代碼之間生成一個未用的存儲行,例如32位元組存儲行,來防止破壞代碼解密。例如,可選擇存儲在存儲器空間.crypt內的C代碼,將其插入到程序#pragma code(「.crypt)和#pragma code之間。當對包含該程序的加密代碼的模塊進行編譯時,連接器開關例如each_function_in_its_own_section將被切斷。可使用驅動器選擇例如-Hldopt=-m來檢查加密代碼是否已經移至加密段,該驅動器選擇可生成所有段的存儲器映射表。可使用程序例如C程序encrypt_code.c來對代碼進行加密。該程序可獲取存儲器中加密代碼的開始地址和結束地址,以及作為該程序參數的二進位格式的存儲器內容。
圖5是依據本發明一個實施例在移動通信過程中對數據進行保護的流程圖。如圖5所示,該流程開始於步驟502。在步驟504,普通文本格式代碼的解密可以處於可用狀態,也可以處于禁用狀態。在步驟506,執行普通文本格式代碼或解密數據的哈希操作,並對結果進行檢查以確定該普通文本格式代碼是否被修改。在步驟508,隱藏解密密鑰的位置。在步驟510,將該解密密鑰以只寫形式存儲在硬體中或代碼的加密部分中。在步驟512,使用該解密密鑰對算法進行解密。在步驟514,當指令進入指令高速緩存時,對該指令進行解密。當指令進入指令高速緩存例如指令高速緩存模塊306(圖3)時,可使用移動多媒體處理器(MMP)101a(圖1A)對加密算法的指令進行解密。在步驟516,使用至少一個中斷將代碼解密切換至開/關(ON/OFF)狀態。在步驟518,數據將在軟體中解密。然後跳到結束步驟520。
依據本發明的一個實施例,一種在移動通信過程中保護數據的方法和系統包括移動多媒體處理器(MMP)101a(圖1A),對硬體中的加密算法進行解密。移動多媒體處理器例如MMP 101a可使用解密算法來解密軟體中的數據。移動多媒體處理器(MMP)101a可在指令進入指令高速緩存例如指令高速緩存模塊306時解密加密算法的指令。指令高速緩存模塊306(圖3)用於暫時存儲指令,以供指令獲取模塊310進行快速訪問。存儲在指令高速緩存模塊306中的數據為256位元組寬。移動多媒體處理器例如MMP 101a可執行解密數據的哈希操作並對哈希操作的結果進行校驗,以實現對解密數據的保護。
移動多媒體處理器,例如MMP 101a,可將加密算法的解密密鑰以只寫形式存儲在硬體中。移動多媒體處理器,例如MMP 101a,可使用存儲的解密密鑰來解密硬體中的加密算法。移動多媒體處理器,例如MMP 101a,可修改加密算法中的指令。移動多媒體處理器,例如MMP 101a,可隱藏存儲的解密或DRM密鑰的存儲位置。移動多媒體處理器,例如MMP 101a,可在對加密算法進行解密前禁用至少一個中斷。移動多媒體處理器,例如MMP 101a,可在對加密算法進行解密後啟用至少一個中斷。移動多媒體處理器,例如MMP101a,可在解密數據和解密算法之間插入一個未用存儲行,來防止解密數據的損壞。
因此,本發明可由硬體、軟體或者硬軟體的結合來實現。本發明可在至少一個計算機系統中以集中的方式實現,或者以不同部件分布在幾個交互連接的計算機系統中的分布式方式實現。任何種類的計算機系統或其他能夠實現本發明的方法的設備都是適用的。硬體、軟體和固件的一個典型結合是具有電腦程式的通用計算機系統,當該電腦程式被上載並執行時,控制該計算機系統以便實現本發明所述的方法。
本發明還可嵌入包括有能夠實現所述方法的各種特徵的電腦程式產品中,當該程序加載到計算機系統中時能夠實現本申請所述的方法。本文中所述的電腦程式是指,例如,以任何語言、代碼或符號表示的一組指令,能夠直接使具有信息處理能力的系統執行特定功能,或者經過以下一種或各種處理後使具有信息處理能力的系統執行特定功能a)轉換成另一種語言、代碼或符號;b)以不同的材料複製。但是,本領域的普通技術人員可知的其他電腦程式的實現方法也可用於本發明。
以上已結合一定的實施例對本發明進行了描述,本領域的普通技術人員可知,可對本發明進行各種改變或等同替換而並不脫離本發明的範圍。此外,根據本發明的教導進行的以適應特定的環境或材料的各種修改也並未脫離本發明的範圍。因此,本發明並不限於公開的具體實施例,本發明包括落入權利要求範圍內的所有實施例。
本申請全文引用並要求申請日為2005年2月12日的美國臨時專利申請No.60/652439(代理案號為No.16433US01)。
本申請全文引用同期申請的美國專利申請No.____(代理案號為No.16435US02)。
權利要求
1.一種在移動通信過程中保護數據的方法,所述方法包括解密多媒體移動處理器硬體中的加密算法;使用所述解密後的算法解密所述移動多媒體處理器處理的軟體內的數據。
2.根據權利要求1所述的方法,其特徵在於,所述方法還包括在所述指令進入指令高速緩存時,解密用於所述算法的指令。
3.根據權利要求1所述的方法,其特徵在於,所述方法還包括通過對所述解密數據執行哈希操作來保護所述解密數據;校驗所述哈希操作的結果。
4.根據權利要求1所述的方法,其特徵在於,還包括在所述移動多媒體處理器硬體中以只寫形式存儲所述加密算法的解密密鑰。
5.根據權利要求4所述的方法,其特徵在於,所述方法還包括將所述加密算法的解密密鑰以只寫形式存儲在所述移動多媒體處理器硬體中。
6.一種機器可讀存儲器,其中存儲的電腦程式包含至少一個代碼段,用於在移動通信過程中保護數據,所述至少一個代碼段可由機器執行以使所述機器執行如下步驟解密多媒體移動處理器硬體中的加密算法;使用所述解密後的算法解密所述移動多媒體處理器處理的軟體內的數據。
7.根據權利要求6所述的機器可讀存儲器,其特徵在於,所述機器可讀存儲器還包括在所述指令進入指令高速緩存時解密用於所述算法的指令的代碼。
8.一種在移動通信過程中保護數據的系統,所述系統包括移動多媒體處理器,解密所述多媒體移動處理器硬體中的加密算法;所述移動多媒體處理器使用所述解密後的算法解密所述移動多媒體處理器處理的軟體內的數據。
9.根據權利要求8所述的系統,其特徵在於,所述移動多媒體處理器在所述指令進入指令高速緩存時,解密用於所述算法的指令。
10.根據權利要求8所述的系統,其特徵在於,所述移動多媒體處理器通過對所述解密數據執行哈希操作來保護所述解密數據,並校驗所述哈希操作的結果。
全文摘要
本發明公開了一種在移動通信過程中保護數據的方法和系統,包括移動多媒體處理器,解密所述移動多媒體晶片硬體中的加密算法。所述移動多媒體處理器使用所述解密的算法解密軟體中的數據。所述移動多媒體處理器在指令進入指令高速緩存時解密所述加密算法的指令。所述移動多媒體處理器對所述解密數據執行哈希操作並校驗所述哈希操作的結果,以保護所述解密數據。
文檔編號G06F21/00GK1825999SQ20061000882
公開日2006年8月30日 申請日期2006年2月13日 優先權日2005年2月12日
發明者史蒂芬·J·巴洛, 雷納·烏爾裡克, 彼得·弗朗西斯·謝瓦利·德·裡瓦茨 申請人:美國博通公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀