CN102004880B - 一种适用于嵌入式系统的数据保护单元 - Google Patents

一种适用于嵌入式系统的数据保护单元 Download PDF

Info

Publication number
CN102004880B
CN102004880B CN2010105545251A CN201010554525A CN102004880B CN 102004880 B CN102004880 B CN 102004880B CN 2010105545251 A CN2010105545251 A CN 2010105545251A CN 201010554525 A CN201010554525 A CN 201010554525A CN 102004880 B CN102004880 B CN 102004880B
Authority
CN
China
Prior art keywords
data
instruction
external memory
chip external
arithmetic element
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
Application number
CN2010105545251A
Other languages
English (en)
Other versions
CN102004880A (zh
Inventor
韩军
张随欲
李辉楷
曾晓洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fudan University filed Critical Fudan University
Priority to CN2010105545251A priority Critical patent/CN102004880B/zh
Publication of CN102004880A publication Critical patent/CN102004880A/zh
Application granted granted Critical
Publication of CN102004880B publication Critical patent/CN102004880B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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所述的适用于嵌入式系统的数据保护单元,其特征在于通过中央处理器,访问加解密控制单元,将数据保护单元配置为如下不同的工作模式:无保护模式、保密性验证模式、完整性验证模式和保密性与完整性验证模式。
CN2010105545251A 2010-11-23 2010-11-23 一种适用于嵌入式系统的数据保护单元 Active CN102004880B (zh)

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 CN102004880A (zh) 2011-04-06
CN102004880B true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685119A (zh) * 2012-04-28 2012-09-19 上海杰之能信息科技有限公司 数据发送/接收方法及装置、传输方法及系统、服务器
US20170213042A1 (en) * 2014-05-07 2017-07-27 Huawei Device Co., Ltd. Data encryption method and encryption apparatus
CN104318152B (zh) * 2014-09-28 2017-04-12 江苏科技大学 一种VxWorks系统驱动层块设备数据访问控制方法
CN108959129B (zh) * 2018-07-12 2021-08-24 北京航空航天大学 一种基于硬件的嵌入式系统机密性保护方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051892A (zh) * 2007-03-14 2007-10-10 江中尧 一种cpu专用数据的加密装置及方法
CN101430747A (zh) * 2008-09-26 2009-05-13 武汉大学 基于可信嵌入式平台的移动设备及其安全存储方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560863B2 (en) * 2006-06-27 2013-10-15 Intel Corporation Systems and techniques for datapath security in a system-on-a-chip device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051892A (zh) * 2007-03-14 2007-10-10 江中尧 一种cpu专用数据的加密装置及方法
CN101430747A (zh) * 2008-09-26 2009-05-13 武汉大学 基于可信嵌入式平台的移动设备及其安全存储方法

Also Published As

Publication number Publication date
CN102004880A (zh) 2011-04-06

Similar Documents

Publication Publication Date Title
CN103221961B (zh) 包括用于保护多用户敏感代码和数据的架构的方法和装置
US9734355B2 (en) System and method for an efficient authentication and key exchange protocol
US7987374B2 (en) Security chip
US7636858B2 (en) Management of a trusted cryptographic processor
KR100692348B1 (ko) 휴면 보호
US20150186679A1 (en) Secure processor system without need for manufacturer and user to know encryption information of each other
US8000467B2 (en) Data parallelized encryption and integrity checking method and device
US20140189371A1 (en) Method and apparatus for a trust processor
US20080072071A1 (en) Hard disc streaming cryptographic operations with embedded authentication
CN105320895B (zh) 用于联机加密处理的高性能自主硬件引擎
CN102347834A (zh) 受信移动平台体系结构
KR20070117172A (ko) 스마트 카드 및 그것의 데이터 보안 방법
US20130003966A1 (en) Cryptographic hardware module and method for updating a cryptographic key
CN102004880B (zh) 一种适用于嵌入式系统的数据保护单元
US20120321088A1 (en) Method And System For The Accelerated Decryption Of Cryptographically Protected User Data Units
CN108959129B (zh) 一种基于硬件的嵌入式系统机密性保护方法
CN107078897A (zh) 用于失序数据的推定的密码处理
Gelbart et al. CODESSEAL: Compiler/FPGA approach to secure applications
US20190044709A1 (en) Incorporating software date information into a key exchange protocol to reduce software tampering
CN114785503B (zh) 密码卡及其根密钥保护方法、计算机可读存储介质
JP2007336446A (ja) データ暗号化装置
Gomathisankaran et al. Architecture support for 3d obfuscation
Elbaz et al. Block-level added redundancy explicit authentication for parallelized encryption and integrity checking of processor-memory transactions
KR101236991B1 (ko) 하드디스크 암호화를 위한 장치 및 방법
JP2004280678A (ja) データ処理装置、およびデータ処理方法

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