CN100568252C - 可实现数据自保护的片上***的ip核 - Google Patents
可实现数据自保护的片上***的ip核 Download PDFInfo
- Publication number
- CN100568252C CN100568252C CNB2006100725035A CN200610072503A CN100568252C CN 100568252 C CN100568252 C CN 100568252C CN B2006100725035 A CNB2006100725035 A CN B2006100725035A CN 200610072503 A CN200610072503 A CN 200610072503A CN 100568252 C CN100568252 C CN 100568252C
- Authority
- CN
- China
- Prior art keywords
- logic
- kernel
- data
- logic control
- stored unit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种可实现数据自保护的片上***的IP核,涉及IP核内数据自保护装置,为解决现有IP核数据保护性不强而提出,本发明包括有存储欲保护数据的IP核内存储单元,该IP核内存储单元通过总线连接于片上***的处理器,所述IP核内还设置有用于生成逻辑控制信号的逻辑控制单元,该逻辑控制单元连接并受控于所述处理器,并通过其生成的逻辑控制信号控制IP核内存储单元的相应逻辑控制位,使所述IP核内存储单元处于锁定或解锁定状态。本发明可应用于IP核及类似装置的数据保护中。本发明数据保密性强、结构简单、成本较低。
Description
技术领域
本发明涉及一种片上***(SoC,System on Chip)的IP核,尤其涉及一种可实现数据自保护的片上***的IP(Intellectual Property,知识产权)核。
背景技术
嵌入式***正成为当今计算机工业发展的一个热点。随着超大规模集成电路的迅速发展,半导体工业进入深亚微米时代,器件特征尺寸越来越小,芯片规模越来越大,可以在单芯片上集成上百万到数亿只晶体管。如此密集的集成度能够在一小块芯片上把以前由CPU和若干I/O接口等数块芯片实现的功能集成起来,由单片集成电路构成功能强大的、完整的***,这就是通常所说的片上***SoC。由于功能完整,SoC逐渐成为嵌入式***发展的主流。SoC的设计过程中,最具特色的是IP复用技术。即选择所需功能的IP核,集成到一个芯片中使用。IP核是指,将一些在数字电路中常用但比较复杂的功能块,如FIR(FiniteImpulse Response,有限脉冲响应)滤波器,SDRAM控制器,PCI(外设部件互连标准,Peripheral Component Interconnect)接口等等设计成可修改参数的模块,让其他用户可以直接调用这些模块,这样就大大减轻了工程师的负担,避免重复劳动。随着CPLD/FPGA的规模越来越大,设计越来越复杂,使用IP核是一个发展趋势。
对于SOC***中的IP核而言,在开发阶段与交付阶段的需求是不同的。在IP核开发阶段需要较强的调试功能,处理器需要访问内部数据;在IP核交付阶段,设计人员需要通过技术手段屏蔽一些内部数据,使得IP核的潜在破解者无法破解获取IP核内部关键信息,从而有效保护IP核。
如图1所示,典型SOC***中IP核1通过标准总线连接到处理器核2(可以是DSP核或者是MCU核)。对于IP核1而言,寄存器资源通常映射到***总线上,可以被处理器核2直接访问;存储器资源通常映射到DMA(Direct Memory Access,直接存储器访问)总线上,处理器核2通过调用DMA控制器,实现处理器核2本地的存储器(图中未示出)与IP核存储器(IP核内)之间的数据块搬移。一般而言,处理器核2对本地存储器的访问速度通常高于对IP核1存储器的访问速度,处理器核2只对本地存储器中的数据进行处理。
如图2所示,对SOC***中IP核内的存储器和寄存器的访问机制进行简单说明。存储器和寄存器的访问机制是相同的,通常只是映射的总线及空间上存在差异,因此图2仅以存储器访问机制作为示例。现有***中,IP核外部的总线是标准总线,内部通过相关逻辑转换到存储器总线。因为本发明讨论的IP核保护机制是通过对存储器总线的访问控制实现的,因此图2中仅列出了IP核内部一块RAM(标注为RAMi)的存储器总线相关逻辑与连接。由图2可知,存储器4的片选信号线通过译码器3映射到相应的数据线上,存储器4的输出数据总线通过多路复用器5后输出到不同的读取单元。处理器核2通过片选控制线和寻址线经译码器3译码后控制存储器4的片选信号。存储器4的其他连接线分别对应连接于SOC***的相应总线上。其中,Module_csn是IP核的片选信号;Module_wen是IP核的读写信号;Module_oen是IP核的输出使能信号;Module_addr是IP核的地址总线;Module_wdata是IP核的输入数据总线;Module_rdata是IP核的输出数据总线,Clock为时钟输入线,连接***时钟信号;RAMi_csn是RAMi的片选信号;RAMi_addr是RAMi的地址总线,是Module_addr的低位地址子集;RAMi_Rdata是RAMi的输出数据总线。
由于IP核是设计人员对数据处理进行的独特设计,也是技术秘密,因此在IP核交付使用或SOC芯片出售时,需要隐藏相关的存储器映射等信息,来保护内部数据不被IP核授权者或SOC芯片使用者获取而用来分析内部的处理机制。现有技术方案保证了在IP核开发阶段,进行调试过程中对IP核内部数据的访问。但是对于IP核受权者或者SOC的使用者而言,可以通过尝试对存储器和寄存器访问,获取IP核内部数据,并通过分析推论IP核的关键信息。因此,通过隐藏相关的存储器映射等信息,对于IP核的相关数据保护还是相对较弱的。不能达到阻止仿制的目的。
发明内容
针对上述现有SOC***中IP核内部数据保护所存在的问题和不足,本发明的目的是提供一种数据保密性强、结构简单、成本较低的可实现数据自保护的片上***的IP核。
本发明是这样实现的:一种可实现数据自保护的片上***的IP核,包括有存储欲保护数据的IP核内存储单元,该IP核内存储单元通过总线连接于片上***的处理器,所述IP核内还设置有用于生成逻辑控制信号的逻辑控制单元,该逻辑控制单元连接并受控于所述处理器,并通过其生成的逻辑控制信号控制IP核内存储单元的逻辑控制位,使所述IP核内存储单元处于锁定或解锁定状态。
优选地,所述逻辑控制单元包括有寄存器和逻辑比较模块,所述寄存器连接于所述处理器,接收所述处理器的控制命令并向所述逻辑比较模块输入逻辑数据信号,所述逻辑比较模块对该逻辑数据信号进行处理后向所述IP核内存储单元的逻辑控制位输出逻辑控制信号。
优选地,所述逻辑控制单元中的寄存器为隐藏寄存器,即该寄存器对外的回读值始终处于高电平状态。
优选地,所述逻辑比较模块中存储有事先设定的用于数据匹配的逻辑数据,所述隐藏寄存器向该逻辑比较模块输入逻辑数据信号后,将该输入的逻辑数据信号与设定的逻辑数据进行比较。
优选地,所述隐藏寄存器的位宽大于或等于所述逻辑比较模块中设定的逻辑数据的位数。
优选地,所述IP核内存储单元与所述处理器之间连接有“或”逻辑运算模块组,即所述处理器对所述IP核内存储单元的各控制线路上分别连接有“或”逻辑运算模块,各“或”逻辑运算模块同时接收所述逻辑比较模块的逻辑控制信号。
优选地,所述逻辑比较模块的判断逻辑为,所述处理器通过隐藏寄存器对所述逻辑比较模块输入的逻辑数据信号与该逻辑比较模块设定的逻辑数据相同时,逻辑比较模块输出逻辑值“0”;否则逻辑比较模块输出逻辑值“1”。
优选地,所述逻辑控制单元控制所述IP核内存储单元具体为,所述逻辑控制单元的逻辑控制信号与所述处理器对所述IP核内存储单元输出的相应逻辑控制命令首先经过所述“或”逻辑运算模块运算,再输入至所述IP核内存储单元;IP核正常运行时,所述逻辑控制单元输出逻辑值“1”,所述IP核内存储单元处于锁定状态;调试阶段,通过所述处理器对所述逻辑控制单元的逻辑控制,输出逻辑值“0”,所述IP核内存储单元处于解锁定状态。
优选地,所述IP核内存储单元为数据存储器或寄存器。
优选地,所述处理器对所述IP核内存储单元输出的逻辑控制命令包括有片选控制命令、读写控制命令和输出使能控制命令。
本发明利用在IP核内增加一个隐藏寄存器而实现对IP核内相关数据进行保护。该隐藏寄存器对外处于隐蔽状态,却对IP核内存储重要数据的存储器进行逻辑控制,使IP核于正常工作状态时相关存储器处于无效状态。而设计人员须对相关存储器进行操作时,通过设置的逻辑控制单元的逻辑控制信号的改变即可轻易解除对相关存储器的封锁。本发明结构简单、成本较低。
具体而言,本发明优点如下:
1、逻辑量小,只增加一个隐藏映射的寄存器及相关的保密逻辑即可实现;
2、保密程度高。对于获得IP核使用授权的人员及SOC的使用人员而言,对隐藏映射寄存器的读写结果与访问一个对应映射地址不存在寄存器的现象完全一样,通过读写方式很难判断隐藏映射寄存器的存在。假定隐藏寄存器的位宽为32位,即使采用暴力破解的方式,每次尝试的成功概率只有为1/232。如果换用位宽更宽的寄存器,保密性将更高。
附图说明
图1是SoC***的结构示意图;
图2是IP核内存储器连接结构示意图;
图3是本发明的结构示意图。
具体实施方式
下面结合附图对本发明作进一步的详细描述。
本发明是对于IP核内部的数据保护机制,包括对存储器和寄存器的保护,因此主要对存储器和寄存器的访问机制进行描述。
如图3所示,本发明的实现机制是在图2表述的结构基础上进行的。IP核包括有存储欲保护数据的IP核内存储单元(存储器4和/或寄存器),该IP核内存储单元通过相关总线连接于SoC***的处理器核(图3未示出)。IP核内还设置有用于生成逻辑控制信号的逻辑控制单元(逻辑比较模块7和隐藏寄存器8),该逻辑控制单元连接并受控于处理器核,并通过其生成的逻辑控制信号控制IP核内存储单元的相应逻辑控制位,使所述IP核内存储单元处于锁定或解锁定状态。以下结合图3,详细介绍本发明。
如图3所示,本发明在IP核内设置了逻辑控制单元,其包括有逻辑比较模块7和隐藏寄存器8,隐藏寄存器8通过数据和地址总线连接于处理器核,接收处理器核的数据逻辑位的设置命令,并向逻辑比较模块7输出该设置的逻辑数据(Debug_reg)。图中,隐藏寄存器8定义为“Debug_reg”;隐藏寄存器8上电复位状态为全“1”,可读写,但回读值始终为全“1”,从使用者角度,与访问一个对应映射地址不存在寄存器的现象完全一样,这增强了其隐蔽性,而且其映射地址及内容定义不提供给潜在的IP核破解者。逻辑比较模块7中提前设置有比较数据(Debug_Code),该Debug_Code为所有bit位不为全“1”的任意数值。逻辑比较模块7的工作原理为,当处理器核通过隐藏寄存器8对其输入的逻辑数据与该逻辑比较模块7预先设定的逻辑数据相同时,逻辑比较模块7输出(Run_Mode)逻辑值“0”;否则逻辑比较模块7输出逻辑值“1”。
在存储器4的Decode_RAM_csn、Module_wen和Module_oen位连接线上,还连接有“或”逻辑运算模块6,逻辑比较模块7输出Run_Mode与处理器核对IP核内存储器4输出的相应逻辑控制命令(Decode_RAM_csn、Module_wen和Module_oen)首先经过该“或”逻辑运算模块6运算后,再输入至存储器4。各“或”逻辑运算模块6构成“或”逻辑运算模块组。“或”逻辑运算模块组也可使用相应的“或”逻辑运算阵列来替代。
IP核销售前,设置隐藏寄存器8的上电复位值,使其与逻辑比较模块7中设定的逻辑数据进行比较的对应位不完全相同,这样,IP核上电工作后逻辑比较模块7输出逻辑值“1”,IP核内存储器4处于锁定状态。由于隐藏寄存器8对使用人员隐蔽,因此,使用人员无法破解该IP核内存储器4的锁定。假设逻辑比较模块7中设定的数据为32位,隐藏寄存器8为不小于32位的寄存器,即使采用暴力破解的方式,理论上每次尝试的成功概率最大也只有1/232。隐藏寄存器8的位宽应大于或等于逻辑比较模块7中设定的数据位数。如果隐藏寄存器8的位宽足够宽,每次尝试的成功概率就更低,保密性就更好。
而对于IP核设计人员来讲,非常清楚隐藏寄存器8在***上的映射地址和相应的内容定义,同时也知道逻辑比较模块7中设定的逻辑数据。因此,对于IP核内存储器4的相应控制操作仅限于IP核设计人员及其授权的人员,实现了对IP核内存储器4内存储数据的有效保护。
本发明实施相当简单,仅需一些简单的控制逻辑即可。结合图3,上述的逻辑实现(基于Verilog语法)具体为:
RAMi_csn=Decode_RAM_csn|Run_Mode;
RAMi_wen=Module_wen|Run_Mode;
RAMi_oen=Module_oen|Run_Mode;
Run_Mode=(Debug_reg!=Debug_Code)
运行模式下,Debug_reg的逻辑值与Debug_Code的逻辑值不相同,Run_Mode为逻辑“1”,RAMi的片选信号、读写信号、输出使能信号等处于无效电平,外部对RAMi的访问被屏蔽;需要调试时,由研发或相关人员通过隐藏寄存器8输入与逻辑比较模块7设定的逻辑值相同的值,而使Run_Mode为逻辑“0”,RAMi的片选信号、读写信号、输出使能信号等可以被控制为有效电平,外部可以访问RAMi。
本发明采用类似保护机制同样可实现对寄存器的数据保护。这里不再赘述。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (9)
1、一种可实现数据自保护的片上***的知识产权IP核,包括有存储欲保护数据的IP核内存储单元,该IP核内存储单元通过总线连接于片上***的处理器,其特征在于,所述IP核内还设置有用于生成逻辑控制信号的逻辑控制单元,包括有隐藏寄存器和逻辑比较模块;该逻辑控制单元连接并受控于所述处理器,并通过其生成的逻辑控制信号控制IP核内存储单元的逻辑控制位,使所述IP核内存储单元处于锁定或解锁定状态;其中,
所述隐藏寄存器连接于所述处理器,接收所述处理器的控制命令并向所述逻辑比较模块输入逻辑数据信号;
所述逻辑比较模块对该逻辑数据信号进行处理后向所述IP核内存储单元的逻辑控制位输出逻辑控制信号。
2、根据权利要求1所述的可实现数据自保护的片上***的IP核,其特征在于,所述逻辑控制单元中的隐藏寄存器对外的回读值始终处于高电平状态。
3、根据权利要求2所述的可实现数据自保护的片上***的IP核,其特征在于,所述逻辑比较模块中存储有事先设定的用于数据匹配的逻辑数据,所述隐藏寄存器向该逻辑比较模块输入逻辑数据信号后,将该输入的逻辑数据信号与设定的逻辑数据进行比较。
4、根据权利要求3所述的可实现数据自保护的片上***的IP核,其特征在于,所述隐藏寄存器的位宽大于或等于所述逻辑比较模块中设定的逻辑数据的位数。
5、根据权利要求1至4中任一权利要求所述的可实现数据自保护的片上***的IP核,其特征在于,所述处理器对所述IP核内存储单元的各控制线路上分别连接有“或”逻辑运算模块,各“或”逻辑运算模块同时接收所述逻辑比较模块的逻辑控制信号。
6、根据权利要求5所述的可实现数据自保护的片上***的IP核,其特征在于,所述逻辑比较模块的判断逻辑为:所述处理器通过所述隐藏寄存器对所述逻辑比较模块输入的逻辑数据信号与该逻辑比较模块设定的逻辑数据对应的所有位均相同时,逻辑比较模块输出逻辑值“0”;否则逻辑比较模块输出逻辑值“1”。
7、根据权利要求6所述的可实现数据自保护的片上***的IP核,其特征在于,所述逻辑控制单元控制所述IP核内存储单元具体为,所述逻辑控制单元的逻辑控制信号与所述处理器对所述IP核内存储单元输出的相应逻辑控制命令首先经过所述“或”逻辑运算模块运算,再输入至所述IP核内存储单元;IP核正常运行时,所述逻辑控制单元输出逻辑值“1”,所述IP核内存储单元处于锁定状态;调试阶段,通过所述处理器对所述逻辑控制单元的逻辑控制,输出逻辑值“0”,所述IP核内存储单元处于解锁定状态。
8、根据权利要求7所述的可实现数据自保护的片上***的IP核,其特征在于,所述IP核内存储单元为数据存储器或寄存器。
9、根据权利要求8所述的可实现数据自保护的片上***的IP核,其特征在于,所述处理器对所述IP核内存储单元输出的逻辑控制命令包括有片选控制命令、读写控制命令和输出使能控制命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100725035A CN100568252C (zh) | 2006-04-11 | 2006-04-11 | 可实现数据自保护的片上***的ip核 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100725035A CN100568252C (zh) | 2006-04-11 | 2006-04-11 | 可实现数据自保护的片上***的ip核 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101055609A CN101055609A (zh) | 2007-10-17 |
CN100568252C true CN100568252C (zh) | 2009-12-09 |
Family
ID=38795445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100725035A Active CN100568252C (zh) | 2006-04-11 | 2006-04-11 | 可实现数据自保护的片上***的ip核 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100568252C (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788644B (zh) * | 2009-12-30 | 2011-11-16 | 龙芯中科技术有限公司 | 具有多个同构ip核的片上***芯片测试装置和方法 |
CN102542191B (zh) * | 2010-12-31 | 2014-12-17 | 深圳市证通电子股份有限公司 | Rtl级ip核的保护方法 |
US8819455B2 (en) * | 2012-10-05 | 2014-08-26 | Intel Corporation | Parallelized counter tree walk for low overhead memory replay protection |
US9417880B2 (en) * | 2013-03-15 | 2016-08-16 | Intel Corporation | Instruction for performing an overload check |
US9798641B2 (en) * | 2015-12-22 | 2017-10-24 | Intel Corporation | Method to increase cloud availability and silicon isolation using secure enclaves |
CN113419988B (zh) * | 2021-08-25 | 2022-01-11 | 杭州博雅鸿图视频技术有限公司 | 异构多核数据的传输方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6249893B1 (en) * | 1998-10-30 | 2001-06-19 | Advantest Corp. | Method and structure for testing embedded cores based system-on-a-chip |
CN1508672A (zh) * | 2002-12-16 | 2004-06-30 | 中国电子科技集团公司第三十研究所 | 微控制器ip核 |
CN1661385A (zh) * | 2004-02-26 | 2005-08-31 | 联想(北京)有限公司 | 一种jtag模块及应用该模块的调试方法 |
-
2006
- 2006-04-11 CN CNB2006100725035A patent/CN100568252C/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6249893B1 (en) * | 1998-10-30 | 2001-06-19 | Advantest Corp. | Method and structure for testing embedded cores based system-on-a-chip |
CN1508672A (zh) * | 2002-12-16 | 2004-06-30 | 中国电子科技集团公司第三十研究所 | 微控制器ip核 |
CN1661385A (zh) * | 2004-02-26 | 2005-08-31 | 联想(北京)有限公司 | 一种jtag模块及应用该模块的调试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101055609A (zh) | 2007-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Love et al. | Proof-carrying hardware intellectual property: A pathway to trusted module acquisition | |
US9465753B2 (en) | Memory management unit that applies rules based on privilege identifier | |
US8683115B2 (en) | Programmable mapping of external requestors to privilege classes for access protection | |
CN100568252C (zh) | 可实现数据自保护的片上***的ip核 | |
US5970246A (en) | Data processing system having a trace mechanism and method therefor | |
CN102184365B (zh) | 基于SoC芯片外部数据安全存储***及存取控制方法 | |
CN109002706A (zh) | 一种基于用户级页表的进程内数据隔离保护方法和*** | |
Love et al. | Enhancing security via provably trustworthy hardware intellectual property | |
Jin et al. | A proof-carrying based framework for trusted microprocessor IP | |
CN102184366B (zh) | 基于SoC芯片外部程序安全访问控制***及控制方法 | |
CN101826143B (zh) | 用于在安全执行期间资源的无死锁总线保护的***和方法 | |
CN107257978A (zh) | 抵抗旁路攻击的定制保护 | |
JP2017528821A (ja) | プログラマブル論理のためのメモリの仮想化 | |
CN102567245A (zh) | 用于soc芯片***的存储控制器及其实现方法 | |
WO2020002432A1 (en) | Peripheral access on a secure-aware bus system | |
Kim et al. | Dynamic function replacement for system-on-chip security in the presence of hardware-based attacks | |
WO2008030727A2 (en) | Access control of memory space in microprocessor systems | |
JPH0621998B2 (ja) | メモリ−管理システム | |
CN111241029A (zh) | 片上***内的访问限制管理 | |
CN112733478B (zh) | 用于对设计进行形式验证的装置 | |
CN108229196B (zh) | 一种具有存储单元物理保护机制的soc芯片及方法 | |
US20170262384A1 (en) | Method for protecting memory against unauthorized access | |
CN202102448U (zh) | 基于SoC芯片外部数据安全存储架构 | |
CN109446847A (zh) | 双***外设资源的配置方法、终端设备及存储介质 | |
CN102929802B (zh) | 一种存储资源的保护方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |