CN103077362B - 具有安全机制的gpio ip核 - Google Patents

具有安全机制的gpio ip核 Download PDF

Info

Publication number
CN103077362B
CN103077362B CN201210579534.5A CN201210579534A CN103077362B CN 103077362 B CN103077362 B CN 103077362B CN 201210579534 A CN201210579534 A CN 201210579534A CN 103077362 B CN103077362 B CN 103077362B
Authority
CN
China
Prior art keywords
module
unit
gpio
key
register
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
CN201210579534.5A
Other languages
English (en)
Other versions
CN103077362A (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.)
Suzhou Zhongke Advanced Technology Research Institute Co Ltd
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
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 Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN201210579534.5A priority Critical patent/CN103077362B/zh
Publication of CN103077362A publication Critical patent/CN103077362A/zh
Application granted granted Critical
Publication of CN103077362B publication Critical patent/CN103077362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开一种具有安全机制的GPIO IP核,包括GPIO输入输出逻辑模块,与APB桥连接,从APB桥接收配置信息,配置完成后至少完成输入输出数据的功能;加密模组,接收来自APB桥的明文数据,加密后传输给所述GPIO输入输出逻辑模块;解密模组,接收来自所述GPIO输入输出逻辑模块的密文数据,解密后传输给所述APB桥。上述GPIO IP核通过对经GPIO的数据进行加解密,保证GPIO接口的数据通信安全。

Description

具有安全机制的GPIO IP核
技术领域
本发明涉及GPIO技术,特别是涉及一种具有安全机制的GPIO IP核。
背景技术
General Purpose Input Output(通用输入/输出),简称为GPIO。目前一般把GPIO用来作为CPU外围设备的控制端口或者通过模拟I2C和SPI通信接口实现CPU与外界的通信。
AMBA总线是由ARM公司提出的一种高级微控制器总线体系,其规范定义了在设计高性能嵌入式微控制器时的一种片上通信标准。根据AMBA标准定义了三种不同的总线:高级高性能总线(AHB)、高级系统总线(ASB)、高级外设总线(APB)。
系统内部的通信一般采用AHB总线。APB作为主总线高性能通道的二级总线,是用于低功耗外设的,其提供了基本外设宏单元之间的通信接口,APB总线是通过APB桥与内部高级系统总线实现通信。
通常,外设可以通过连接在APB总线上的GPIO接口与CPU进行通信。 
信息技术的发展对于信息安全的要求越来越高,需要保证的信息安全的领域也越来越广泛。其中上述的GPIO接口的通信就存在安全问题。
发明内容
基于此,有必要提供一种具有安全机制的GPIO IP核,其解决GPIO接口存在的通信安全问题。
一种具有安全机制的GPIO IP核,包括: 
GPIO输入输出逻辑模块,与APB桥连接,从APB桥接收配置信息,配置完成后至少完成输入输出数据的功能;
加密模组,接收来自APB桥的明文数据,加密后传输给所述GPIO输入输出逻辑模块;
解密模组,接收来自所述GPIO输入输出逻辑模块的密文数据,解密后传输给所述APB桥。
在其中一个实施例中,所述GPIO输入输出逻辑模块包括:
寄存器组,可接收所述配置信息,将所述GPIO输入输出逻辑模块配置为输入端口或输出端口;
输入输出选择单元,与所述寄存器组连接,根据寄存器组的配置状态输入或输出数据。
在其中一个实施例中,所述寄存器组还可以被配置为测试状态,所述GPIO输入输出逻辑模块还包括:
硬件控制单元:通过配置寄存器为测试状态处于自我检测状态,并接收外部输入的测试向量。
在其中一个实施例中,所述寄存器组还可以被配置为中断检测状态,所述GPIO输入输出逻辑模块还包括:
中断检测单元,与所述寄存器组连接,根据寄存器组的中断检测状态检测来自外部设备的中断请求。
在其中一个实施例中,其特征在于,所述加密模组包括依次连接的第一明文寄存器、加密模块以及第一密文寄存器,所述第一明文寄存器接收来自APB桥的明文数据,所述明文数据经加密模块加密后存储于所述第一密文寄存器;所述第一密文寄存器与GPIO输入输出逻辑模块连接。
在其中一个实施例中,所述加密模块包括:
初始化序列单元,用于对明文进行矩阵排列;
轮变换单元,用于接收子密钥和初始化后的明文完成轮变换;
结束序列单元,用于将加密好的密文输出;
密钥扩展单元,用于产生所述子密钥;
控制逻辑单元,控制所述初始化序列单元、轮变换单元、结束序列单元以及密钥扩展单元协同工作以完成整个加密过程。
在其中一个实施例中,所述解密模组包括依次连接的第二明文寄存器、解密模块以及第二密文寄存器,所述第二密文寄存器接收来自GPIO输入输出逻辑 模块的密文数据,所述密文数据经解密模块解密后存储于所述第二明文寄存器;所述第二明文寄存器与APB桥连接。
在其中一个实施例中,所述解密模块包括:
初始化序列单元,用于对密文进行矩阵排列;
密钥扩展单元,用于产生子密钥;
密钥翻转缓冲单元,用于接收子密钥,然后将子密钥按照相反是顺序提供给轮变换模块;
轮变换单元,用于依照所述密钥翻转缓冲模块提供的子密钥和初始化后的密文完成轮变换;
结束序列单元,用于将解密后的明文输出;
控制逻辑单元,用于控制所述初始化序列单元、轮变换单元、结束序列单元、密钥扩展单元以及密钥翻转缓冲单元协同工作以完成整个解密过程。
在其中一个实施例中,所述加密模块为AES加密模块,所述解密模块为AES解密模块。 
在其中一个实施例中,所述第一明文寄存器和第二密文寄存器为128位、192位或256位。
上述具有安全机制的GPIO IP核通过对经GPIO的数据进行加解密,保证GPIO接口的数据通信安全。
附图说明
图1为一种片上系统的模块结构图;
图2为一实施例的GPIO IP核的模块结构图;
图3为图2所示实施例的GPIO输入输出逻辑模块结构图;
图4为图2所示实施例的加密模块结构图;
图5为图2所示实施例的解密模块结构图。
具体实施方式
如图1所示,为一种片上系统的模块结构图。该片上系统包括本实施例的 一种具有安全机制的GPIO IP核10。该具有安全机制的GPIO IP核10连接在APB桥上,通过APB桥与CPU之间传送数据。
如图2所示,为一实施例的GPIO IP核的模块结构图。该GPIO IP核10包括GPIO输入输出逻辑模块100、加密模组200以及解密模组300。其中GPIO输入输出逻辑模块100与APB桥连接,从APB桥接收配置信息,配置完成后至少完成输入输出数据的功能。加密模组200接收来自APB桥的数据,加密后传输给GPIO输入输出逻辑模块100。解密模组300接收来自GPIO输入输出逻辑模块100的密文,解密后传输给所述APB桥。这样,通过GPIO传输的数据均被加密,从而可以防止被窃取,具备一定程度的安全性。
如图3所示,GPIO输入输出逻辑模块100包括寄存器组110和输入输出选择单元120。寄存器组100可接受来自CPU的配置信息,被配置成不同的状态,从而能够完成输入或输出数据的功能。GPIO接口最普通的功能即能作为输入接口或输出接口。输入输出选择单元120与寄存器组110连接,根据寄存器组110的状态,也即寄存器组110输出的控制信号,就可以形成输入接口或输出接口,进而完成输入或输出数据的功能。
进一步地,寄存器组110还可以被配置为测试状态,GPIO输入输出逻辑模块100还包括硬件控制单元130。硬件控制单元130与寄存器组110连接,根据寄存器组110被配置的测试状态而处于自我检测状态,并接收外部输入的测试向量。由外部输入测试向量来实现其自我检测功能。
进一步地,寄存器组110还可以被配置为中断检测状态,GPIO输入输出逻辑模块110还包括中断检测单元140。中断检测单元140与寄存器组110连接,根据寄存器组110的所处的中断检测状态检测来自外部设备的中断请求。
如图2所示,加密模组200包括依次连接的第一明文寄存器210、加密模块220以及第一密文寄存器230。第一明文寄存器210接收来自APB桥的明文数据,所述明文数据经加密模块220加密后存储于第一密文寄存器230。第一密文寄存器230与GPIO输入输出逻辑模块100连接,向GPIO输入输出逻辑模块100。第一明文寄存器为128位、192位或256位。
如图4所示,加密模块220为AES加密模块,包括初始化序列单元221、 轮变换单元222、结束序列单元223、密钥扩展单元224和控制逻辑单元225。初始化序列单元221用于对明文进行矩阵排列。轮变换单元222用于接收子密钥和初始化后的明文完成轮变换。结束序列单元223用于将加密好的密文输出。密钥扩展单元224用于产生所述子密钥。控制逻辑单元225控制初始化序列单元221、轮变换单元222、结束序列单元223以及密钥扩展单元224协同工作以完成整个加密过程。控制逻辑模块225通过ld信号开始加密过程;通过给出done信号来标明完成一次加密过程。
本实施例中,密钥扩展单元(Key Expansion)224根据AES算法子密钥生成模型编写,能够快速的产生用于轮变换的10轮子密钥。每个时钟周期提供一轮密钥。对于一次AES加密过程,需要进行10轮变换,所以密钥扩展需要在加密过程中提供10轮变换所需要的子密钥。密钥扩展模块的密钥共用上11次(包括初始密钥),包括1次用于初始化序列单元221,9次用于轮变换单元222以及1次用于结束序列单元223。除了输入的初始密钥,密钥扩展单元224一共产生10次子密钥。
以下以128位AES加密模块和8位GPIO为例,说明一次完整的加密过程。
从CPU向外发出的数据要经过加密处理后再通过GPIO传送出去。首先,CPU通过APB桥将加密需要的初始密钥写入加密模块220中,然后将需要加密的数据写入第一明文寄存器210(本实施例中,其大小为128位)。当第一明文寄存器210被写满时产生一个ld(高电平)信号,加密模块220装载128位明文(需要加密的数据)以及初始密钥开始加密。经过13个时钟周期之后,加密模块220产生一个done信号(表示128位数据加密完成),通知第一明文寄存器210可以传输下一个128位数据。由于8位的APB数据总线需要32个周期才能写满第一明文寄存器210,因此加密完后,加密模块220需要等待下一个128位数据填满第一明文寄存器210,才能开始下一次加密。为了加快数据处理能力可以将APB数据总线扩展为16位。同时密文(加密过后的数据)被装载到第一密文寄存器230,然后每次16位传送给GPIO接口传输出去。需要指出的是,由于数据要经过加密,故CPU向外传输数据时,数据要迟于地址,故需要将地址通过移位寄存器缓存。
如图2所示,解密模组300包括依次连接的第二明文寄存器310、解密模块320以及第二密文寄存器330。第二密文寄存器330接收来自GPIO输入输出逻辑模块的密文数据,所述密文数据经解密模块320解密后存储于第二明文寄存器310,第二明文寄存器310与APB桥连接。
如图4所示,解密模块320为AES解密模块,包括初始化序列模块321、轮变换模块322、结束序列模块323、密钥扩展模块324、控制逻辑模块325以及密钥缓冲翻转模块326。初始化序列单元321用于对密文进行矩阵排列。轮变换单元322用于接收子密钥和初始化后的明文完成轮变换。结束序列单元323用于将加密好的密文输出。密钥扩展单元324用于产生所述子密钥。控制逻辑单元325控制初始化序列单元321、轮变换单元322、结束序列单元323、密钥扩展单元324以及密钥翻转缓冲模块326协同工作以完成整个解密过程。控制逻辑模块325通过ld信号开始加密过程;通过给出done信号来标明完成一次解密过程。
以下以128位AES解密模块和8位GPIO为例,说明一次完整的解密过程。
从外部传输过来的数据需要进行AES解密处理,然后才通过APB桥传输给CPU使用或者存储起来。首先,CPU通过APB桥配置好解密需要的10个密钥,然后通过GPIO开始读取数据,并将数据存储在第二密文寄存器330中。当第二密文寄存器330满128位时产生ld信号,解密模块320装载数据开始解密,解密完成之后产生done信号,通知第二密文寄存器330可以开始下一个128位数据块的解密处理,同时将解密生成的明文给第二明文寄存器310,然后每次8位传给APB桥。同加密过程,CPU通过加密的GPIO读取数据时,数据也迟于地址到达,故需要将地址缓存,而且可以共用一个移位寄存器。
上述的AES加密模块或解密模块还可是192位或256位的。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (5)

1.一种具有安全机制的GPIO IP核,其特征在于,包括
GPIO输入输出逻辑模块,与APB桥连接,从APB桥接收配置信息,配置完成后至少完成输入输出数据的功能;
加密模组,接收来自APB桥的明文数据,加密后传输给所述GPIO输入输出逻辑模块;所述加密模组包括依次连接的第一明文寄存器、加密模块以及第一密文寄存器,所述第一明文寄存器接收来自APB桥的明文数据,所述明文数据经加密模块加密后存储于所述第一密文寄存器;所述第一密文寄存器与GPIO输入输出逻辑模块连接;所述加密模块包括:
初始化序列单元,用于对明文进行矩阵排列;
轮变换单元,用于接收子密钥和初始化后的明文完成轮变换;
结束序列单元,用于将加密好的密文输出;
密钥扩展单元,用于产生所述子密钥;
控制逻辑单元,控制所述初始化序列单元、轮变换单元、结束序列单元以及密钥扩展单元协同工作以完成整个加密过程;
解密模组,接收来自所述GPIO输入输出逻辑模块的密文数据,解密后传输给所述APB桥;所述解密模组包括依次连接的第二明文寄存器、解密模块以及第二密文寄存器,所述第二密文寄存器接收来自GPIO输入输出逻辑模块的密文数据,所述密文数据经解密模块解密后存储于所述第二明文寄存器;所述第二明文寄存器与APB桥连接;所述解密模块包括:
初始化序列单元,用于对密文进行矩阵排列;
密钥扩展单元,用于产生子密钥;
密钥翻转缓冲单元,用于接收子密钥,然后将子密钥按照相反是顺序提供给轮变换模块;
轮变换单元,用于依照所述密钥翻转缓冲模块提供的子密钥和初始化后的密文完成轮变换;
结束序列单元,用于将解密后的明文输出;
控制逻辑单元,用于控制所述初始化序列单元、轮变换单元、结束序列单元、密钥扩展单元以及密钥翻转缓冲单元协同工作以完成整个解密过程;
所述加密模块为AES加密模块,所述解密模块为AES解密模块。
2.根据权利要求1所述的具有安全机制的GPIO IP核,其特征在于,所述GPIO输入输出逻辑模块包括:
寄存器组,可接收所述配置信息,将所述GPIO输入输出逻辑模块配置为输入端口或输出端口;
输入输出选择单元,与所述寄存器组连接,根据寄存器组的配置状态输入或输出数据。
3.根据权利要求2所述的具有安全机制的GPIO IP核,其特征在于,所述寄存器组还可以被配置为测试状态,所述GPIO输入输出逻辑模块还包括:
硬件控制单元:通过配置寄存器为测试状态处于自我检测状态,并接收外部输入的测试向量。
4.根据权利要求2所述的具有安全机制的GPIO IP核,其特征在于,所述寄存器组还可以被配置为中断检测状态,所述GPIO输入输出逻辑模块还包括:
中断检测单元,与所述寄存器组连接,根据寄存器组的中断检测状态检测来自外部设备的中断请求。
5.根据权利要求1所述的具有安全机制的GPIO IP核,其特征在于,所述第一明文寄存器和第二密文寄存器为128位、192位或256位。
CN201210579534.5A 2012-12-27 2012-12-27 具有安全机制的gpio ip核 Active CN103077362B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210579534.5A CN103077362B (zh) 2012-12-27 2012-12-27 具有安全机制的gpio ip核

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210579534.5A CN103077362B (zh) 2012-12-27 2012-12-27 具有安全机制的gpio ip核

Publications (2)

Publication Number Publication Date
CN103077362A CN103077362A (zh) 2013-05-01
CN103077362B true CN103077362B (zh) 2015-09-30

Family

ID=48153888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210579534.5A Active CN103077362B (zh) 2012-12-27 2012-12-27 具有安全机制的gpio ip核

Country Status (1)

Country Link
CN (1) CN103077362B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650411A (zh) * 2016-11-24 2017-05-10 天津津航计算技术研究所 密码算法验证系统
EP3373183B1 (en) * 2017-03-09 2020-10-28 STMicroelectronics Srl System with soc connections among ip and multiple gpios, and corresponding method
IT201700057307A1 (it) * 2017-05-26 2018-11-26 St Microelectronics Srl Sistema ip-gpio, apparecchiatura e procedimento corrispondenti

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117238A (zh) * 2010-01-05 2011-07-06 上海硅知识产权交易中心有限公司 Ip核amba总线接口兼容性通用验证方法及验证平台
CN102223228A (zh) * 2011-05-11 2011-10-19 北京航空航天大学 基于fpga的aes加密芯片设计方法及嵌入式加密系统
CN102739393A (zh) * 2012-05-23 2012-10-17 浙江大学 基于apb总线的硬件加密uart装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117238A (zh) * 2010-01-05 2011-07-06 上海硅知识产权交易中心有限公司 Ip核amba总线接口兼容性通用验证方法及验证平台
CN102223228A (zh) * 2011-05-11 2011-10-19 北京航空航天大学 基于fpga的aes加密芯片设计方法及嵌入式加密系统
CN102739393A (zh) * 2012-05-23 2012-10-17 浙江大学 基于apb总线的硬件加密uart装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘晗嘉."AES加密算法IP核的设计与验证".《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》.2009,第2009年卷(第9期),I135-95,正文第1页-62页. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Also Published As

Publication number Publication date
CN103077362A (zh) 2013-05-01

Similar Documents

Publication Publication Date Title
US8127131B2 (en) System and method for efficient security domain translation and data transfer
CN101478392B (zh) 利用vlsi实现128位密钥长度aes算法的装置
CN112329038B (zh) 一种基于usb接口的数据加密控制系统及芯片
EP2734951A1 (en) Cryptographic information association to memory regions
US10943020B2 (en) Data communication system with hierarchical bus encryption system
EP3803672B1 (en) Memory-efficient hardware cryptographic engine
CN101510245B (zh) 高速加解密usb桥接芯片以及芯片高速加解密方法
CN103077362B (zh) 具有安全机制的gpio ip核
CN101540191B (zh) 实时加密u盘及高速加解密方法
WO2023109235A1 (zh) 加解密初始化配置方法、边缘端、加解密平台及安全系统
CN101561888B (zh) 一种实时加密sd卡及高速加解密方法
US11847228B2 (en) Platform security mechanism
CN103336920B (zh) 用于无线传感网络soc芯片的安全系统
CN102739393A (zh) 基于apb总线的硬件加密uart装置
CN101515853B (zh) 信息终端及其信息安全装置
CN113177210A (zh) 芯片结构及其操作方法
CN111566987B (zh) 数据处理方法、电路、终端设备及存储介质
CN105721139B (zh) 一种适用于有限io资源的fpga的aes加解密方法及电路
CN204967864U (zh) 一种基于现场可编程门阵列的加密型网络系统
CN108763982B (zh) 一种适用于rfid阅读器的des加密解密装置
CN106209370A (zh) 椭圆曲线密码芯片装置、系统及数据缓存控制方法
CN113158203A (zh) 一种soc芯片、电路和soc芯片的外部数据读写方法
CN104954119A (zh) 一种可以重用于使用ahb总线系统的从机结构
Ramachandran et al. Design and implementation of SOC in NIOS-II soft core processor for secured wireless communication
CN204334600U (zh) 一种适用于有限io资源的fpga的aes加解密电路

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170901

Address after: Room office building No. 1068 Shenzhen Institute of advanced technology A-301 518000 in Guangdong city of Shenzhen province Nanshan District Shenzhen University city academy Avenue

Patentee after: Shenzhen shen-tech advanced Cci Capital Ltd

Address before: 1068 No. 518055 Guangdong city in Shenzhen Province, Nanshan District City Xili University School Avenue

Patentee before: Shenzhen Advanced Technology Research Inst.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170920

Address after: 215028, room 20, 523, Northwest District, nano City, 99 Jinji Lake Road, Suzhou Industrial Park, Jiangsu, China

Patentee after: Suzhou Zhongke Advanced Technology Research Institute Co Ltd

Address before: Room office building No. 1068 Shenzhen Institute of advanced technology A-301 518000 in Guangdong city of Shenzhen province Nanshan District Shenzhen University city academy Avenue

Patentee before: Shenzhen shen-tech advanced Cci Capital Ltd