在移动通信过程中保护数据的方法和系统.pdf

上传人:b*** 文档编号:1062053 上传时间:2018-03-29 格式:PDF 页数:24 大小:1.25MB
返回 下载 相关 举报
摘要
申请专利号:

CN200610008825.3

申请日:

2006.02.13

公开号:

CN1825999A

公开日:

2006.08.30

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

H04Q7/32(2006.01); G06F1/00(2006.01)

主分类号:

H04Q7/32

申请人:

美国博通公司;

发明人:

斯蒂芬·J·巴洛; 雷纳·乌尔里克; 彼得·弗朗西斯·谢瓦利·德·里瓦茨

地址:

美国加州

优先权:

2005.02.12 US 60/652,439; 2005.12.14 US 11/302,930

专利代理机构:

深圳市顺天达专利商标代理有限公司

代理人:

蔡晓红

PDF下载: PDF下载
内容摘要

本发明公开了一种在移动通信过程中保护数据的方法和系统,包括移动多媒体处理器,解密所述移动多媒体芯片硬件中的加密算法。所述移动多媒体处理器使用所述解密的算法解密软件中的数据。所述移动多媒体处理器在指令进入指令高速缓存时解密所述加密算法的指令。所述移动多媒体处理器对所述解密数据执行哈希操作并校验所述哈希操作的结果,以保护所述解密数据。

权利要求书

1、  一种在移动通信过程中保护数据的方法,所述方法包括:
解密多媒体移动处理器硬件中的加密算法;
使用所述解密后的算法解密所述移动多媒体处理器处理的软件内的数据。

2、
  根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述指令进入指令高速缓存时,解密用于所述算法的指令。

3、
  根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过对所述解密数据执行哈希操作来保护所述解密数据;
校验所述哈希操作的结果。

4、
  根据权利要求1所述的方法,其特征在于,还包括在所述移动多媒体处理器硬件中以只写形式存储所述加密算法的解密密钥。

5、
  根据权利要求4所述的方法,其特征在于,所述方法还包括:将所述加密算法的解密密钥以只写形式存储在所述移动多媒体处理器硬件中。

6、
  一种机器可读存储器,其中存储的计算机程序包含至少一个代码段,用于在移动通信过程中保护数据,所述至少一个代码段可由机器执行以使所述机器执行如下步骤:
解密多媒体移动处理器硬件中的加密算法;
使用所述解密后的算法解密所述移动多媒体处理器处理的软件内的数据。

7、
  根据权利要求6所述的机器可读存储器,其特征在于,所述机器可读存储器还包括在所述指令进入指令高速缓存时解密用于所述算法的指令的代码。

8、
  一种在移动通信过程中保护数据的系统,所述系统包括:
移动多媒体处理器,解密所述多媒体移动处理器硬件中的加密算法;
所述移动多媒体处理器使用所述解密后的算法解密所述移动多媒体处理器处理的软件内的数据。

9、
  根据权利要求8所述的系统,其特征在于,所述移动多媒体处理器在所述指令进入指令高速缓存时,解密用于所述算法的指令。

10、
  根据权利要求8所述的系统,其特征在于,所述移动多媒体处理器通过对所述解密数据执行哈希操作来保护所述解密数据,并校验所述哈希操作的结果。

说明书

在移动通信过程中保护数据的方法和系统
技术领域
本发明涉及移动多媒体处理器,更具体地,本发明涉及一种移动多媒体处理器内的数字版权管理方法和系统。
背景技术
移动通信改变了人们通信的方式,移动电话也从一种奢侈品转变为人们日常生活的基本组成部分。移动电话的使用取决于社会情况,而不受地点和技术的限制。当前,语音连接已经满足了日常通信的基本需要,移动语音连接正不断溶入日常生活的方方面面,而移动通信革命的下一步将是使用移动互联网得的集成移动多媒体应用。
能够提供多种高速接入技术的第三代(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)。

在移动通信过程中保护数据的方法和系统.pdf_第1页
第1页 / 共24页
在移动通信过程中保护数据的方法和系统.pdf_第2页
第2页 / 共24页
在移动通信过程中保护数据的方法和系统.pdf_第3页
第3页 / 共24页
点击查看更多>>
资源描述

《在移动通信过程中保护数据的方法和系统.pdf》由会员分享,可在线阅读,更多相关《在移动通信过程中保护数据的方法和系统.pdf(24页珍藏版)》请在专利查询网上搜索。

本发明公开了一种在移动通信过程中保护数据的方法和系统,包括移动多媒体处理器,解密所述移动多媒体芯片硬件中的加密算法。所述移动多媒体处理器使用所述解密的算法解密软件中的数据。所述移动多媒体处理器在指令进入指令高速缓存时解密所述加密算法的指令。所述移动多媒体处理器对所述解密数据执行哈希操作并校验所述哈希操作的结果,以保护所述解密数据。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1