一种读取CPU机器码的方法、装置和一种SOC芯片制造方法及图纸

技术编号:2820455 阅读:915 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种读取CPU机器码的方法、装置和一种高安全性的SOC芯片,该方法可以包括:CPU单元发出读取CPU机器码的指令;依据该指令从相应存储位置读取已加密的CPU机器码;获取密钥,并利用密钥对所述已加密的CPU机器码进行解密,所述解密过程由SOC芯片内的硬件电路实现;发送解密后的CPU机器码到CPU单元。本发明专利技术中的解密过程以硬件电路的形式实现,而现有技术很难对超大规模硬件电路通过逆向提取精确获得硬件电路的内部逻辑,因此,非原始开发人员很难通过分析硬件电路获得所述解密过程,大大增加了SOC芯片中CPU机器码的安全性。

【技术实现步骤摘要】

本专利技术涉及信息保密或安全通信
,特别是涉及一种读取CPU机 器码的方法、装置和一种高安全性的SOC芯片。
技术介绍
片上系统(SOC, System On Chip )指的是在单个芯片上集成一个完整的系 统,对所有或部分必要的电子电路进行包分组的技术。所谓完整的系统一般包 括中央处理器(CPU)、存储器以及外围电路等。SOC现在已经成为语音处理、 图像硬件处理技术的基础技术,能够为影像、图像、语音、数据处理、通信以 及输入输出(I/O, Input/Output)控制等各种嵌入式应用提供强大的功能,其广 泛应用于通信领域、智能控制领域、计算机领域及测试领域中。在SOC系统之中,中央处理器(CPU)的系统软件通常经过编译后,以 机器码的形式存在。 一般SOC系统将该机器码直接存储于SOC的内部存储器 中或者SOC的外部存储器中。当CPU运行时,从存储器中相应位置读取所需 的机器码即可。然而,在现有技术中,另外的技术人员(非原始开发人员)也可以很容易 的从Rom或者nor flash等存储器件中读取其中的机器码,经过反编译就可以 破解出芯片SOC系统中CPU软件的很多核心内容,从而造成原始开发方技术 秘密的泄露。具体的,当机器码存储在外部存储器中时,非原始开发人员可以直接取得 该外部存储器,然后从中读取机器码,进行反编译,完成CPU软件的破解。当机器码存储在内部存储器中时,虽然增加了破解难度,但是现有技术也 存在很多方法实现破解。例如,对SOC芯片去掉封装和相关电路,露出内部 存储器,然后通过探针技术或者紫外线光技术将机器码程序读出即可。由此可知,在现有技术中,SOC系统的CPU软件机器码容易被他人盗取, 造成技术秘密的泄露。目前,迫切需要本领域技术人员解决的一个技术问题就 是如何提高SOC系统的CPU软件机器码的保密性能。
技术实现思路
本专利技术所要解决的技术问题是提供一种SOC芯片中CPU单元读取CPU 机器码的方法和装置,能够很好的提高SOC芯片中CPU机器码的保密性能。 相应的,本专利技术还提供了一种高安全性的SOC芯片,能够满足CPU机器码高保密性的性能要求。为了解决上述问题,本专利技术公开了一种SOC芯片中CPU单元读取CPU 机器码的方法,包括以下步骤CPU单元发出读取CPU机器码的指令;依据 该指令从相应存储位置读取已加密的CPU机器码;获取密钥,并利用密钥对 所述已加密的CPU机器码进行解密;所述解密过程由SOC芯片内的硬件电路 实现;发送解密后的CPU机器码到CPU单元。进一步,所述已加密的CPU机器码存储在SOC芯片的内部存储器中;或 者,所述已加密的CPU机器码存储在SOC芯片的外部存储器中。进一步,还可以依据预置的映射规则,将所述CPU单元读取指令所指定 的地址信息转换为所需的相应存储位置。进一步,所述密钥通过SOC芯片中硬件集成电路的内部逻辑加以记录; 或者,所述密钥以代码的形式存储在SOC芯片的内部存储器中。为了解决上述问题,本专利技术还公开了一种读取CPU机器码的装置,集成 在包含有CPU单元的SOC芯片中,所述装置可以包括数据读^^单元,包括第一通信^^莫块和第二通信模块;所述第一通信模块用于接收CPU单元发送的读取所需CPU机器码的指 令,从相应存储位置读取已加密的CPU机器码,并发送所述已加密的CPU机 器码至解密单元;所述第二通信模块用于接收解密单元返回的解密后的CPU机器码,并发 送所述解密后的CPU机器码至CPU单元;解密单元,用于接收所述已加密的CPU机器码,从密钥存储单元获取密 钥,并利用密钥对所述已加密的CPU机器码进行解密;以及发送解密后的CPU 机器码至数据读取单元;所述解密单元采用SOC芯片内的硬件电路实现;密钥存储单元,用于记录密钥信息,,进一步,所述已加密的CPU机器码存储在SOC芯片的内部存储器中;或 者,所述已加密的CPU机器码存储在SOC芯片的外部存储器中。优选的,所述数据读取单元还包括地址转换模块,用于依据预置的映射 规则,将所述CPU单元读取指令所指定的地址信息转换为所需的相应存储位置。进一步,所述密钥信息通过SOC芯片中硬件集成电路的内部逻辑加以记 录;或者,所述密钥信息以代码的形式存储在SOC芯片的内部存储器中。本专利技术还公开了另 一种读取CPU机器码的装置,集成在包含有CPU单元 的SOC芯片中,所述装置可以包括数据读取单元,用于接收CPU单元发送的读取所需CPU机器码的指令, 从相应存储位置读取已加密的CPU机器码,并发送所述已加密的CPU机器码 至解密单元;解密单元,用于接收所述已加密的CPU机器码,从密钥存储单元获取密 钥,并利用密钥对所述已加密的CPU机器码进行解密;以及发送解密后的CPU 机器码至CPU单元;所述解密单元采用SOC芯片内的硬件电路实现;密钥存储单元,用于记录密钥信息。进一步,所述已加密的CPU机器码存储在SOC芯片的内部存储器中;或 者,所述已加密的CPU机器码存储在SOC芯片的外部存储器中。优选的,所述数据读取单元还用于依据预置的映射规则,将所述CPU单 元读取指令所指定的地址信息转换为所需的相应存储位置。进一步,所述密钥信息通过SOC芯片中硬件集成电路的内部逻辑加以记 录;或者,所述密钥信息以代码的形式存储在SOC芯片的内部存储器中。为了解决上述问题,本专利技术公开了一种SOC芯片,包括CPU单元、存储 器以及专用功能逻辑单元,还包括一读取CPU机器码的装置,该装置可以包 括数据读取单元,包括第一通信模块和第二通信模块; 所述第一通信模块用于接收CPU单元发送的读取所需CPU机器码的指令,从相应存储位置读取已加密的CPU机器码,并发送所述已加密的CPU机器码至解密单元;所述第二通信模块用于接收解密单元返回的解密后的CPU机器码,并发 送所述解密后的CPU机器码至CPU单元;解密单元,用于接收所述已加密的CPU机器码,从密钥存储单元获取密 钥,并利用密钥对所述已加密的CPU机器码进行解密;以及发送解密后的CPU 机器码至数据读取单元;所述解密单元采用SOC芯片内的硬件电路实现;密钥存储单元,用于记录密钥信息。本专利技术还公开了另一种SOC芯片,包括CPU单元、存储器以及专用功能 逻辑单元,还包括一读取CPU机器码的装置,该装置可以包括数据读取单元,用于接收CPU单元发送的读取所需CPU机器码的指令, 从相应存储位置读取已加密的CPU机器码,并发送所述已加密的CPU机器码 至解密单元;解密单元,用于接收所述已加密的C.PU机器码,从密钥存储单元获取密 钥,并利用密钥对所述已加密的CPU机器码进行解密;以及发送解密后的CPU 机器码至CPU单元;所述解密单元采用SOC芯片内的硬件电路实现;密钥存储单元,用于记录密钥信息。与现有技术相比,本专利技术具有以下优点首先,在本专利技术的解决方案中,存储的是已加密的CPU机器码,相应的 解密过程是以硬件电路的形式实现的,而现有技术很难对超大规模硬件电路通 过逆向提取精确获得硬件电路的内部逻辑;因此,即使非原始开发人员能够获的解密过程(如,具体的解密算法),所以会大大增加破解难度。其次,本专利技术的解密过程还需要用到密钥,在优选实施例中,密钥信息以硬件电路内部逻辑的形式进行记录,进而使得本文档来自技高网
...

【技术保护点】
一种SOC芯片中CPU单元读取CPU机器码的方法,其特征在于,包括: CPU单元发出读取CPU机器码的指令; 依据该指令从相应存储位置读取已加密的CPU机器码; 获取密钥,并利用密钥对所述已加密的CPU机器码进行解密;所述解密过程由SOC芯片内的硬件电路实现; 发送解密后的CPU机器码到CPU单元。

【技术特征摘要】

【专利技术属性】
技术研发人员:张浩
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1