CN102004880A - 一种适用于嵌入式***的数据保护单元 - Google Patents
一种适用于嵌入式***的数据保护单元 Download PDFInfo
- Publication number
- CN102004880A CN102004880A CN2010105545251A CN201010554525A CN102004880A CN 102004880 A CN102004880 A CN 102004880A CN 2010105545251 A CN2010105545251 A CN 2010105545251A CN 201010554525 A CN201010554525 A CN 201010554525A CN 102004880 A CN102004880 A CN 102004880A
- Authority
- CN
- China
- Prior art keywords
- data
- external memory
- chip external
- arithmetic element
- central processing
- 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
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明属于集成电路设计技术领域,具体为一种适用于嵌入式***的数据保护单元。嵌入式***包括中央处理器,高速缓存和片外存储器。通过在***中加入加解密控制单元、对称加密运算单元和摘要运算单元,对数据保密性和完整性提供保护。***并在运行过程中根据安全强度和性能的要求,可灵活的配置不同的工作模式。本发明易于扩展,有很好的推广价值。嵌入式***通过引入该数据保护单元,***的安全性大大加强,可以杜绝通过软件拷贝进行软件盗版,有效防止恶意的软件篡改。
Description
技术领域
本发明属于集成电路设计技术领域,具体涉及一种适用于嵌入式***的数据保护单元电路。
背景技术
随着移动设备在人们生活中越来越广泛地应用,嵌入式领域的安全问题变得越发突出。一方面,嵌入式平台的软件规模往往不大,软件的非法拷贝和传播更容易实现,这严重侵害了软件开发者的经济利益,另一方面,恶意的软件修改可能导致关键数据的泄露,甚至整个***的瘫痪,造成严重的用户损失。借助软件方法,动态的(或静态的)在软件中嵌入验证代码可以有效防止部分软件危害,但是软件方法的针对性较强,对于新的攻击往往束手无策,同时会造成软件工程师的工作量大大增加。所以通过在嵌入式***中加入数据保护的硬件单元,对数据完整性和保密性进行验证的方法受到了广泛关注。其中对称加密算法常用来实现数据保密性保护,摘要算法常用于进行数据完整性验证。
对称加密算法采用密钥,对明文进行加密,产生对应的密文,基于同一个密钥,可以方便地通过密文恢复出明文。在不知道密钥的情况下,很难建立明文与密文间的联系。对称加密算法广泛应用于数据的加密传输和加密储存。典型的对称加密算法包括AES、3DES等。通过对称加密算法,可以有效保护数据保密性。
采用对称加密算法,可以防止攻击者获得数据信息,却不能防止攻击者对数据进行篡改。摘要算法可以为数据提供一组签名,并通过加密将签名与数据一起保存。使用数据时,通过比对由数据产生的摘要和附带的摘要信息,可以验证数据的完整性。
发明内容
本发明的目的是提供一种适用于嵌入式***的数据保护单元,以便对片外存储器中的数据进行加密,保护数据的保密性,并通过验证经过加密的摘要,保护数据的完整性。
本发明的嵌入式***包括处理器单元,高速缓存和片外存储器,所述数据保护单元包括加入在嵌入式***中的加解密控制单元、对称加密运算单元和摘要运算单元,实现数据保护,其中:
所述加解密控制单元,在中央处理器发出读数据请求时,用于检查请求数据是否在高速缓存中,当发现请求数据不在高速缓存中,控制解密单元对从片外存储器返回的数据进行解密,并提供给高速缓存供中央处理器使用,同时控制摘要运算单元计算解密后数据的摘要,通过比对摘要确认数据的完整性;在处理器发出写请求时,如果需要更新片外处理器中的数据,加解密控制单元控制对称加密运算单元对数据进行加密,写入片外存储器,同时控制摘要运算单元计算新的摘要,并通过对称加密运算加密后更新片外存储器中对应的摘要数据。
所述对称加密运算单元,用于对来自片外存储器的经过加密的数据和摘要进行解密,然后提供给高速缓存供中央处理器使用,并对由中央处理器送出的数据,由摘要运算单元送出的摘要进行加密,写入片外存储器。
所述摘要运算单元,用于对中央处理器写入片外存储器的数据产生摘要,或者当中央处理器从片外存储器读取数据时,对经过对称加密运算单元加密的数据计算摘要,供加解密控制单元验证数据完整性。
本发明中,指令/数据读取过程中解密和数据完整性验证的步骤如下:
(1)中央处理器发出读指令/数据请求;
(2)检查指令/数据是否在高速缓存中;
(3)如果高速缓存中不包含被申请指令/数据,则向片外存储器发出读请求,由对称加密运算单元对来自片外存储器的加密指令/数据进行解密,提供给高速缓存,交由处理器处理;
(4)同时从片外存储器读取与指令/数据相对应的经过加密的摘要,由对称加密运算单元对摘要进行解密;
(5)摘要运算单元计算解密后的指令/数据的摘要,与从片外存储器读入的经过解密的摘要进行比较,验证指令/数据的完整性。
本发明中,数据存储过程中加密和摘要产生的步骤如下:
(1)中央处理器发出写数据请求;
(2)根据高速缓存状态,决定是否需要将数据写入片外存储器;
(3)如果需要将新数据写入片外存储器,由对称加密运算单元对新数据进行加密,并将加密数据写入片外存储器;
(4)由摘要运算单元计算新数据的摘要,并由对称加密运算对摘要进行加密,写入片外存储器。
本发明中,可通过中央处理器,访问加解密控制单元,可以灵活的将数据保护单元配置为多种工作模式:无保护模式、保密性验证模式、完整性验证模式和保密性与完整性验证模式。其中:
非保护模式,既不提供数据保密性保护,也不提供数据完整验证,程序执行效率该模式下最高,安全性最低;
保密性验证模式,仅提供片外存储其上的数据加密保护,该模式可以防止通过拷贝进行的软件盗版,不能避免软件篡改造成的数据泄漏和***崩溃;
完整性验证模式,提供加密摘要保护,不对数据本身进行加密,软件保密性得不到保护,可以防止程序被恶意篡改;
保密性和完整性验证模式,同时提供保密性和完整性保护,安全性高,软件执行效率受影响最大。
本发明提供了一种适用于嵌入式***的数据保密性和完整性保护方案,保护机制可以由中央处理器进行灵活配置,在性能和安全性上取得平衡。该方法设计合理,使用简单,易于扩展,有很好的推广价值。
附图说明
图1为本发明适用于嵌入式***的数据保护单元。
图2为读指令/数据过程中解密和数据完整性验证流程。
图3为数据存储过程中加密和摘要产生流程。
图中标号:1为中央处理器,2为高速缓存,3为片外存储器,4为加解密控制单元,5为对称加密运算单元,6为摘要运算单元,7为数据保护单元,8为嵌入式片内***,9为中央处理器指令/数据读请求阶段,10为数据是否在高速缓存中的判断阶段,11为指令/数据读取阶段,12为指令/数据解密阶段,13为摘要计算阶段,14为摘要读取阶段,15为摘要解密阶段,16为摘要比较阶段,17为中央处理器数据写请求阶段,18为判断高速缓存是否需要写片外存储器阶段,19为数据加密阶段,20为写数据到片外存储器阶段,21为摘要计算阶段,22为摘要加密阶段,23为写摘要到片外存储器阶段。
具体实施方式
本发明实现了一种适用于嵌入式***的数据保护单元7,下面结合附图作进一步说明。
嵌入式***包括处理器单元1,高速缓存2和片外存储器3,通过在嵌入式***中加入加解密控制单元4、对称加密运算单元5和摘要运算单元6,实现对软件和数据的保密性和完整性的验证。
采用指令定制的方法,通过配置加解密控制单元4,可以使整个数据保护单元7工作在4种模式下,他们分别是:
无保护模式。不提供数据保密性和完整性的验证,一般用于对程序安全性要求不高的场合,这种模式下***性能最佳。
保密性验证模式。提供数据保密性验证,不提供完整性验证,可以有效防止通过拷贝进行的软件盗版行为,不能防止软件修改对***进行的破坏。
完整性验证模式。提供数据完整性验证,不进行数据保密性保护,可以有效防止数据被篡改。保密性验证模式和完整性验证模式都会对***性能带来一些影响。
保密性与完整性验证模式。同时提供数据保密性和完整性验证,有最佳的安全性能,但是对软件执行效率影响最大,将操作并行化可以降低对***性能的影响。
以保密性与完整性验证模式为例,片外存储器3保存着加密过的程序和数据,程序和数据摘要经过加密也保存在片外存储器3中,对应的指令/数据读取过程中解密和数据完整性验证的步骤为:
(1)中央处理器1发出读指令/数据请求;
(2)判断指令/数据是否在高速缓存2中;
(3)如果高速缓存2中不包含被申请的指令/数据,则向片外存储器3发出读请求,由对称加密运算单元5对来自片外存储器3的加密过的指令/数据进行解密,提供给高速缓存2,再交由处理器处理1;
(4)同时从片外存储器3读取与指令/数据相对应的经过加密的摘要,由对称加密运算单元5对摘要进行解密;
(5)再由摘要运算单元6计算解密后的指令/数据的摘要,与从片外存储器3读入的经过解密的摘要进行比较,验证指令/数据的完整性。
相应的,写入片外存储器3的数据也需要进行加密,并产生加密的摘要,具体的步骤为:
(1)中央处理器1发出写数据请求;
(2)根据高速缓存2状态,决定是否需要将数据写入片外存储器3;
(3)如果需要将新数据写入片外存储器3,由对称加密运算单元4对新数据进行加密,并将加密数据写入片外存储器3;
(4)由摘要运算单元5计算新数据的摘要,并由对称加密运算单元4对摘要进行加密,写入片外存储器3。
根据安全强度的要求,对称加密运算单元5可以选择使用不同的对称加密算法。常用的算法包括IDEA,3DES和AES等。在读操作中,对称加密运算单元5对来自片外存储器3的加过密的数据和摘要进行解密,然后提供给高速缓存2供中央处理器1使用;在写操作过程中,对称加密运算单元5对由中央处理器1送出的数据和由摘要运算单元6送出的摘要进行加密,写入片外存储器3。
常用的摘要运算包括MD5,SHA-1等。摘要运算单元6用于对中央处理器1写入片外存储器3的数据产生摘要,或者当中央处理器1从片外存储器3读取数据时,对经过对称加密运算单元5解密的数据计算摘要,供加解密控制单元4验证数据完整性。
本发明同时提供数据保密性和完整性的验证,并在运行过程中根据安全强度和性能的要求进行灵活的配置。本方法易于扩展,有很好的推广价值。
Claims (4)
1.一种适用于嵌入式***的数据保护单元,所述嵌入式***包括处理器单元、高速缓存和片外存储器,其特征在于所述数据保护单元包括加入在嵌入式***中的加解密控制单元、对称加密运算单元和摘要运算单元,其中:
所述加解密控制单元,在中央处理器发出读数据请求时,用于检查请求数据是否在高速缓存中,当发现请求数据不在高速缓存中,控制解密单元对从片外存储器返回的数据进行解密,并提供给高速缓存供中央处理器使用,同时控制摘要运算单元计算解密后数据的摘要,通过比对摘要确认数据的完整性;在处理器发出写请求时,如果需要更新片外处理器中的数据,加解密控制单元控制对称加密运算单元对数据进行加密,写入片外存储器,同时控制摘要运算单元计算新的摘要,并采用对称加密运算单元对摘要进行加密,更新片外存储器中摘要数据;
所述对称加密运算单元,一方面用于对来自片外存储器的经过加密的数据和摘要进行解密,然后提供给高速缓存供中央处理器使用;另一方面,对由中央处理器送出的数据,由摘要运算单元送出的摘要进行加密,写入片外存储器;
所述摘要运算单元,用于对中央处理器写入片外存储器的数据产生摘要,或者当中央处理器从片外存储器读取数据时,对经过对称加密运算单元解密的数据计算摘要,供加解密控制单元验证数据完整性。
2.根据权利要求1所述的适用于嵌入式***的数据保护单元,其特征在于指令/数据读取过程中解密和数据完整性验证的步骤为:
(1)中央处理器发出读指令/数据请求;
(2)检查指令/数据是否在高速缓存中;
(3)如果高速缓存中不包含被申请指令/数据,则向片外存储器发出读请求,由对称加密运算单元对来自片外存储器的加密指令/数据进行解密,提供给高速缓存,交由处理器处理;
(4)同时从片外存储器读取与指令/数据相对应的经过加密的摘要,由对称加密运算单元对摘要进行解密;
(5)摘要运算单元计算解密后的指令/数据的摘要,与从片外存储器读入的经过解密的摘要进行比较,验证指令/数据的完整性。
3.根据权利要求1所述的适用于嵌入式***的数据保护单元,其特征在于数据存储过程中加密和摘要产生的步骤为:
(1)中央处理器发出写数据请求;
(2)根据高速缓存状态,决定是否需要将数据写入片外存储器;
(3)如果需要将新数据写入片外存储器,由对称加密运算单元对新数据进行加密,并将加密数据写入片外存储器;
(4)由摘要运算单元计算新数据的摘要,并由对称加密运算对摘要进行加密,写入片外存储器。
4.根据权利要求1所述的适用于嵌入式***的数据保护单元,其特征在于通过中央处理器,访问加解密控制单元,将数据保护单元配置为如下不同的工作模式:无保护模式、保密性验证模式、完整性验证模式和保密性与完整性验证模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105545251A CN102004880B (zh) | 2010-11-23 | 2010-11-23 | 一种适用于嵌入式***的数据保护单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105545251A CN102004880B (zh) | 2010-11-23 | 2010-11-23 | 一种适用于嵌入式***的数据保护单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102004880A true CN102004880A (zh) | 2011-04-06 |
CN102004880B CN102004880B (zh) | 2012-11-21 |
Family
ID=43812235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105545251A Active CN102004880B (zh) | 2010-11-23 | 2010-11-23 | 一种适用于嵌入式***的数据保护单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102004880B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685119A (zh) * | 2012-04-28 | 2012-09-19 | 上海杰之能信息科技有限公司 | 数据发送/接收方法及装置、传输方法及***、服务器 |
CN104318152A (zh) * | 2014-09-28 | 2015-01-28 | 江苏科技大学 | 一种VxWorks***驱动层块设备数据访问控制方法 |
CN105393257A (zh) * | 2014-05-07 | 2016-03-09 | 华为终端有限公司 | 一种数据加密方法及加密装置 |
CN108959129A (zh) * | 2018-07-12 | 2018-12-07 | 北京航空航天大学 | 一种基于硬件的嵌入式***机密性保护方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051892A (zh) * | 2007-03-14 | 2007-10-10 | 江中尧 | 一种cpu专用数据的加密装置及方法 |
US20080005586A1 (en) * | 2006-06-27 | 2008-01-03 | Peter Munguia | Systems and techniques for datapath security in a system-on-a-chip device |
CN101430747A (zh) * | 2008-09-26 | 2009-05-13 | 武汉大学 | 基于可信嵌入式平台的移动设备及其安全存储方法 |
-
2010
- 2010-11-23 CN CN2010105545251A patent/CN102004880B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005586A1 (en) * | 2006-06-27 | 2008-01-03 | Peter Munguia | Systems and techniques for datapath security in a system-on-a-chip device |
CN101051892A (zh) * | 2007-03-14 | 2007-10-10 | 江中尧 | 一种cpu专用数据的加密装置及方法 |
CN101430747A (zh) * | 2008-09-26 | 2009-05-13 | 武汉大学 | 基于可信嵌入式平台的移动设备及其安全存储方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685119A (zh) * | 2012-04-28 | 2012-09-19 | 上海杰之能信息科技有限公司 | 数据发送/接收方法及装置、传输方法及***、服务器 |
CN105393257A (zh) * | 2014-05-07 | 2016-03-09 | 华为终端有限公司 | 一种数据加密方法及加密装置 |
CN105393257B (zh) * | 2014-05-07 | 2018-09-21 | 华为终端(东莞)有限公司 | 一种数据加密方法及加密装置 |
CN104318152A (zh) * | 2014-09-28 | 2015-01-28 | 江苏科技大学 | 一种VxWorks***驱动层块设备数据访问控制方法 |
CN104318152B (zh) * | 2014-09-28 | 2017-04-12 | 江苏科技大学 | 一种VxWorks***驱动层块设备数据访问控制方法 |
CN108959129A (zh) * | 2018-07-12 | 2018-12-07 | 北京航空航天大学 | 一种基于硬件的嵌入式***机密性保护方法 |
CN108959129B (zh) * | 2018-07-12 | 2021-08-24 | 北京航空航天大学 | 一种基于硬件的嵌入式***机密性保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102004880B (zh) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103221961B (zh) | 包括用于保护多用户敏感代码和数据的架构的方法和装置 | |
US9043615B2 (en) | Method and apparatus for a trust processor | |
US9734355B2 (en) | System and method for an efficient authentication and key exchange protocol | |
US7636858B2 (en) | Management of a trusted cryptographic processor | |
JP4912921B2 (ja) | セキュアプロセッサシステム、セキュアプロセッサ及びセキュアプロセッサシステムの制御方法 | |
KR100692348B1 (ko) | 휴면 보호 | |
US8000467B2 (en) | Data parallelized encryption and integrity checking method and device | |
US20090282254A1 (en) | Trusted mobile platform architecture | |
JPH10154976A (ja) | タンパーフリー装置 | |
WO2009073863A1 (en) | Secure software download | |
Falcarin et al. | Exploiting code mobility for dynamic binary obfuscation | |
CN114785503B (zh) | 密码卡及其根密钥保护方法、计算机可读存储介质 | |
CN102004880B (zh) | 一种适用于嵌入式***的数据保护单元 | |
CN107078897A (zh) | 用于失序数据的推定的密码处理 | |
Kleber et al. | Secure execution architecture based on puf-driven instruction level code encryption | |
EP0962850A2 (en) | A method for protecting embedded system software and embedded system | |
JP2006072414A (ja) | ソフトウェア無線システム | |
Román et al. | Sealed storage for low-cost IoT devices: An approach using SRAM PUFs and post-quantum cryptography | |
Elbaz et al. | Block-level added redundancy explicit authentication for parallelized encryption and integrity checking of processor-memory transactions | |
JP2004280678A (ja) | データ処理装置、およびデータ処理方法 | |
JP2011171936A (ja) | 情報処理装置および方法、並びに認証システム | |
CN101458755A (zh) | 一种数据加密方法、***及计算机 | |
JP2004240719A (ja) | ソフトウェア実行制御方法 | |
Platte | A security architecture for microprocessors | |
APX4500 et al. | Security Policy: Astro Subscriber Motorola Advanced Crypto Engine (MACE) |
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 |