CN105162578A - 应用于通用数字信号处理器的加密电路 - Google Patents
应用于通用数字信号处理器的加密电路 Download PDFInfo
- Publication number
- CN105162578A CN105162578A CN201510614192.XA CN201510614192A CN105162578A CN 105162578 A CN105162578 A CN 105162578A CN 201510614192 A CN201510614192 A CN 201510614192A CN 105162578 A CN105162578 A CN 105162578A
- Authority
- CN
- China
- Prior art keywords
- nextport
- digital signal
- signal processor
- encryption
- universal digital
- 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.)
- Granted
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种应用于通用数字信号处理器的加密电路,使通用数字信号处理器既可以工作在加密模式又可以切换至通用模式,加密模式下的时序与通用模式一致。加密电路包括通用数字信号处理器、加密模块、解密模块、程序存储器、数据存储器。基于通用数字信号处理器开发完成的程序代码(明文)通过密钥加密后形成密文代码固化于程序存储器中,加密电路工作时,程序存储器、数据存储器中的密文代码或数据经解密模块转变成明文代码或数据后参与程序运行,中间数据经加密电路加密后存储于数据存储器。本发明对运行于通用处理器内的程序进行了严密保护,必须通过解剖芯片的方式才能读取程序代码,有效防止了抄板,保障了应用程序代码的安全性。
Description
技术领域
本发明涉及一种应用于通用数字信号处理器的加密电路,具体是将通用信号处理器经加密设计成具有加密功能的专用数字信号处理器。
背景技术
目前市面上常用的数字信号处理器均不具备加密功能,在应用过程中,其程序代码往往都在片外或者置于片内的ROM中,并以明文的形式存在,竞争对手可以非常方便的通过仿真器直接读取程序代码,对于代码中核心算法、通信协议无法得到有效保障。
在民用领域,产品的硬件电路的复制是非常方便的,关键就在于程序代码,如果产品使用不具备加密功能的通用数字信号处理器,竞争对手可以非常低廉的获取新产品的所有技术并转化为自己的产品。
在军事应用领域,一旦处理器中的代码被读取,轻者,敌人可以仿制你的武器;重者你的武器的不再具有秘密,敌方可以根据从代码中获得的控制逻辑,干扰或控制你的其他武器,后果非常严重。在军事领域特别是那些用于出口的武器上,对于通用数字信号处理器的加密需求非常迫切。
因此无论是在军用还是民用领域,都急需一种加密电路或者加密方法对通用数字信号处理器进行加密处理。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种应用于通用数字信号处理器的加密电路,将加密电路与通用数字信号处理器进行相关设计,确保时序与原电路一致,即可实现加密的专用数字信号处理器,解决现下常用数字信号处理器保密性能缺失的问题。
按照本发明提供的技术方案,所述的应用于通用数字信号处理器的加密电路包括:
一个通用数字信号处理器;
一个加密模块;
一个解密模块;
一个或多个程序存储器,与所述加密模块和解密模块相连;
一个或多个数据存储器,与所述加密模块和解密模块相连;
所述加密模块和解密模块与通用数字信号处理器连接;
基于通用数字信号处理器开发完成的程序代码经上位机加密软件加密后形成密文程序代码固化于所述程序存储器中,上位机加密软件密钥与解密模块的相应空间的密钥一致;加密电路工作模式分为加密模式、通用模式,加密模式与通用模式时序一致;
在加密模式工作时,固化于程序存储器中的密文代码经解密模块解密后形成通用数字信号处理器能识别的明文代码进行执行;电路运行过程中的中间数据既有明文也有密文,并且密文部分根据不同数据空间采用不同的密钥,密文数据经解密模块解密后送入通用数字信号处理,加密模块根据数据空间将需要加密的数据经相应密钥加密后存放于数据存储器中。
其中,所述程序存储器、数据存储器集成在加密电路内部或置于加密电路外部挂在与加密模块相连的外部总线上。
所述通用数字信号处理器是带有外部总线、具有外部寻址空间的处理器。
所述加密模块、解密模块通过并行总线将程序存储器、数据存储器与所述通用数字信号处理器连接通信。
在加密模式下通用数字信号处理器外部总线接口传输的均为密文数据。若程序存储器集成在加密电路内部,密文程序代码需在电路设计时固化码点。
加密模式下工作时,所述通用数字信号处理器通过数据、地址总线读取程序存储器中的密文代码经解密模块转变成明文代码后开始运行程序。
所述加密模块针对数据存储器中的数据空间加密,加密密钥根据地址段确定,对不同地址段的数据采用不同密钥;所述解密模块负责程序空间、数据空间的解密,程序存储器的程序空间采用唯一的密钥,数据空间采用与加密时相对应的密钥;多种密钥的采用由加密模块、解密模块根据通用数字信号处理器的总线片选信号及地址信号译码决定。
进一步的,加密、解密算法引擎采用DES算法,密钥在算法电路设计时固化于加密模块、解密模块的电路中,密钥的更改必须通过更改电路设计实现。
通过外部硬件电路选择本发明所述加密电路工作模式,加密电路设计过程中增加一个电路端口,通过改变该端口的电平实现工作模式切换;通用模式下,用户通过JTAG端口进行代码调试,通用模式下所有的程序代码、数据都是明文,无法执行密文代码;加密模式下JTAG端口将失效,加密电路无法通过JTAG端口对电路进行调试,所有的程序代码都被认为是密文代码,若密钥错误,程序将无法正常运行。
本发明的优点是:将通用信号处理器经加密设计成有加密功能的专用数字信号处理器,禁止竞争对手通过总线接口直接读取程序代码,对运行于通用处理器内的程序进行了严密保护,必须通过解剖芯片的方式才能读取程序代码,有效防止了抄板,保障了应用程序代码的安全性。
附图说明
图1是本发明的电路结构框图。
图2是流水线优化前后对比。
图3是加密电路的实施流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
本发明采用的技术方案是反向研制通用数字信号处理器,加密算法引擎采用DES算法,正向设计算法逻辑,采用超前地址译码功能优化原电路流水线结构确保电路加密前后时序的一致性,经历逻辑设计、仿真、版图设计、制版、流片、测试封装后形成专用电路,从而将通用数字信号处理器升级为加密数字信号处理器电路。
本发明基于通用数字信号处理器设计开发,将通用数字信号处理器升级为时序与原电路一致的专用加密数字信号处理器。通用数字信号处理器可以是反向开发的,正向设计加密、解密模块,加密、解密算法采用DES算法。如图1所示,本发明的电路结构包括:通用数字信号处理器、加密模块、解密模块,所述加密模块和解密模块与通用数字信号处理器连接,所述加密模块和解密模块还通过总线连接一个或多个程序存储器以及一个或多个数据存储器。
程序、数据存储器可以是集成在加密电路内部的ROM、E2PROM、Flash等存储器,同样也可以是挂在片外总线的各类存储器,固化于程序空间的代码是经加密后的密文代码。
程序空间可以为电路内部的MASKROM,程序空间也可以扩在片外空间),数据空间可以位于片外或者片内。加密、解密模块通过并行总线将程序存储器、数据存储器与数字信号处理器电路连接通信。数字信号处理器可以在通用模式与加密模式间进行选择切换,并且时序一致,通用模式下可以通过JTAG端口对电路进行调试,专用加密模式下JTAG不可用。
参阅图2,为了保证加密后与通用电路时序的一致性,改进了通用数字信号处理器的流水线,采用超前地址译码方式,确保总线读取速度。将节拍3的工作提前至节拍2中进行,优化后的节拍3用于解密,节拍1、4不变,加密、解密均位于节拍3中。
参阅图3,本发明加密电路的设计方法包括如下步骤:
S1:获取通用数字信号处理器的版图逻辑,理解确认通用处理器的总线接口、总线时序;
S2:确定加密方案、加密空间、加密算法、加密密钥;
S3:设计开发加密、解密模块;
S4:根据确定加密算法及密钥,开发上位机加密软件;
S5:逻辑验证、版图设计、仿真;
S6:流片验证;
S7:将根据通用处理器开发的程序代码使用加密软件加密;
S8:若程序空间为片内的ROM,密文程序代码需在电路设计时固化码点。
本发明提出的应用于通用数字信号处理器的加密电路及其实施方法,经实际验证,性能可靠,是一种性能良好的将通用数字信号处理器升级为专用加密数字信号处理器的方案。
针对投入有限的项目,采用专用芯片的方案投入较大,基于本方法,将本加密算法设计制作成专用加密算法逻辑电路或者是将该算法在可编程逻辑器件中实现也是可行的。
Claims (10)
1.应用于通用数字信号处理器的加密电路,其特征是,包括:
一个通用数字信号处理器;
一个加密模块;
一个解密模块;
一个或多个程序存储器,与所述加密模块和解密模块相连;
一个或多个数据存储器,与所述加密模块和解密模块相连;
所述加密模块和解密模块与通用数字信号处理器连接;
基于通用数字信号处理器开发完成的程序代码经上位机加密软件加密后形成密文程序代码固化于所述程序存储器中,上位机加密软件密钥与解密模块的相应空间的密钥一致;加密电路工作模式分为加密模式、通用模式,加密模式与通用模式时序一致;
在加密模式工作时,固化于程序存储器中的密文代码经解密模块解密后形成通用数字信号处理器能识别的明文代码进行执行;电路运行过程中的中间数据既有明文也有密文,并且密文部分根据不同数据空间采用不同的密钥,密文数据经解密模块解密后送入通用数字信号处理,加密模块根据数据空间将需要加密的数据经相应密钥加密后存放于数据存储器中。
2.如权利要求1所述的应用于通用数字信号处理器的加密电路,其特征是,所述程序存储器、数据存储器集成在加密电路内部或置于加密电路外部挂在与加密模块相连的外部总线上。
3.如权利要求2所述的应用于通用数字信号处理器的加密电路,其特征是,在加密模式下通用数字信号处理器外部总线接口传输的均为密文数据。
4.如权利要求2所述的应用于通用数字信号处理器的加密电路,其特征是,若程序存储器集成在加密电路内部,密文程序代码需在电路设计时固化码点。
5.如权利要求1所述的应用于通用数字信号处理器的加密电路,其特征是,所述通用数字信号处理器是带有外部总线、具有外部寻址空间的处理器。
6.如权利要求1所述的应用于通用数字信号处理器的加密电路,其特征是,加密模式下工作时,所述通用数字信号处理器通过数据、地址总线读取程序存储器中的密文代码经解密模块转变成明文代码后开始运行程序。
7.如权利要求1所述的应用于通用数字信号处理器的加密电路,其特征是,所述加密模块针对数据存储器中的数据空间加密,加密密钥根据地址段确定,对不同地址段的数据采用不同密钥;所述解密模块负责程序空间、数据空间的解密,程序存储器的程序空间采用唯一的密钥,数据空间采用与加密时相对应的密钥;多种密钥的采用由加密模块、解密模块根据通用数字信号处理器的总线片选信号及地址信号译码决定。
8.如权利要求1所述的应用于通用数字信号处理器的加密电路,其特征是,加密、解密算法引擎采用DES算法,密钥在算法电路设计时固化于加密模块、解密模块的电路中,密钥的更改必须通过更改电路设计实现。
9.如权利要求1所述的应用于通用数字信号处理器的加密电路,其特征是,通过外部硬件电路选择加密电路工作模式,加密电路设计过程中增加一个电路端口,通过改变该端口的电平实现工作模式切换;通用模式下,用户通过JTAG端口进行代码调试,通用模式下所有的程序代码、数据都是明文,无法执行密文代码;加密模式下JTAG端口将失效,加密电路无法通过JTAG端口对电路进行调试,所有的程序代码都被认为是密文代码,若密钥错误,程序将无法正常运行。
10.如权利要求1所述的应用于通用数字信号处理器的加密电路,其特征是,所述加密模块、解密模块通过并行总线将程序存储器、数据存储器与所述通用数字信号处理器连接通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510614192.XA CN105162578B (zh) | 2015-09-23 | 2015-09-23 | 应用于通用数字信号处理器的加密电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510614192.XA CN105162578B (zh) | 2015-09-23 | 2015-09-23 | 应用于通用数字信号处理器的加密电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105162578A true CN105162578A (zh) | 2015-12-16 |
CN105162578B CN105162578B (zh) | 2018-05-01 |
Family
ID=54803343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510614192.XA Active CN105162578B (zh) | 2015-09-23 | 2015-09-23 | 应用于通用数字信号处理器的加密电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105162578B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203181A (zh) * | 2016-08-22 | 2016-12-07 | 武汉芯泰科技有限公司 | 一种基于加密总线的多处理器*** |
WO2018035655A1 (zh) * | 2016-08-22 | 2018-03-01 | 武汉芯泰科技有限公司 | 一种基于加密总线的多处理器*** |
CN109492418A (zh) * | 2018-11-22 | 2019-03-19 | 中国电子科技集团公司第五十八研究所 | 一种基于aes算法的通用dsp安全加解密*** |
CN109656840A (zh) * | 2018-12-21 | 2019-04-19 | 成都海光集成电路设计有限公司 | 一种数据加解密的装置、方法、存储介质、以及数据存储*** |
CN111046444A (zh) * | 2019-12-06 | 2020-04-21 | 合肥市卓怡恒通信息安全有限公司 | 基于国产芯片平台的存储加密***及其模式切换方法和计算机 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453415B1 (en) * | 1997-09-16 | 2002-09-17 | Safenet, Inc. | Method of communicating securely between an application program and a secure kernel |
CN201435083Y (zh) * | 2009-05-08 | 2010-03-31 | 四川赛狄信息技术有限公司 | 微处理器及其程序的保密装置 |
-
2015
- 2015-09-23 CN CN201510614192.XA patent/CN105162578B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453415B1 (en) * | 1997-09-16 | 2002-09-17 | Safenet, Inc. | Method of communicating securely between an application program and a secure kernel |
CN201435083Y (zh) * | 2009-05-08 | 2010-03-31 | 四川赛狄信息技术有限公司 | 微处理器及其程序的保密装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203181A (zh) * | 2016-08-22 | 2016-12-07 | 武汉芯泰科技有限公司 | 一种基于加密总线的多处理器*** |
WO2018035655A1 (zh) * | 2016-08-22 | 2018-03-01 | 武汉芯泰科技有限公司 | 一种基于加密总线的多处理器*** |
CN109492418A (zh) * | 2018-11-22 | 2019-03-19 | 中国电子科技集团公司第五十八研究所 | 一种基于aes算法的通用dsp安全加解密*** |
CN109656840A (zh) * | 2018-12-21 | 2019-04-19 | 成都海光集成电路设计有限公司 | 一种数据加解密的装置、方法、存储介质、以及数据存储*** |
CN111046444A (zh) * | 2019-12-06 | 2020-04-21 | 合肥市卓怡恒通信息安全有限公司 | 基于国产芯片平台的存储加密***及其模式切换方法和计算机 |
Also Published As
Publication number | Publication date |
---|---|
CN105162578B (zh) | 2018-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3403185B1 (en) | Memory operation encryption | |
CN105162578A (zh) | 应用于通用数字信号处理器的加密电路 | |
CN104156642B (zh) | 一种基于安全触控屏控制芯片的安全密码输入***和方法 | |
EP3355232B1 (en) | Input/output data encryption | |
US10261854B2 (en) | Memory integrity violation analysis method and apparatus | |
US20220197825A1 (en) | System, method and apparatus for total storage encryption | |
KR20140019599A (ko) | 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치 | |
CN101004719A (zh) | 嵌入式***和增加嵌入式***安全性的方法 | |
CN104680039A (zh) | 一种应用程序安装包的数据保护方法及装置 | |
CN107315966B (zh) | 固态硬盘数据加密方法及*** | |
US20180183574A1 (en) | Efficient cryptographically secure control flow integrity protection | |
US20170046280A1 (en) | Data processing device and method for protecting a data processing device against attacks | |
EP2987086A2 (en) | Secure computing | |
CN109492418A (zh) | 一种基于aes算法的通用dsp安全加解密*** | |
CN103347017A (zh) | 数据处理方法和片上*** | |
US11121867B2 (en) | Encryption methods based on plaintext length | |
CN111130784B (zh) | 一种密钥生成方法、装置、cpu芯片及服务器 | |
US10474844B2 (en) | Cryptographic program diversification | |
Khelif et al. | A versatile emulator of mitm for the identification of vulnerabilities of iot devices, a case of study: smartphones | |
KR20180059217A (ko) | 메모리 데이터 보안 처리 장치 및 방법 | |
CN111125791B (zh) | 一种内存数据的加密方法、装置、cpu芯片及服务器 | |
CN102855439A (zh) | 一种执行文件自校验方法及装置 | |
EP2674892B1 (en) | A method, a device and a computer program support for execution of encrypted computer code | |
US11829231B2 (en) | Methods and systems for generating core dump in a user equipment | |
CN114969794A (zh) | SoC***及数据加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |