CN102663326B - 用于SoC的数据安全加密模块 - Google Patents
用于SoC的数据安全加密模块 Download PDFInfo
- Publication number
- CN102663326B CN102663326B CN201210063915.8A CN201210063915A CN102663326B CN 102663326 B CN102663326 B CN 102663326B CN 201210063915 A CN201210063915 A CN 201210063915A CN 102663326 B CN102663326 B CN 102663326B
- Authority
- CN
- China
- Prior art keywords
- unit
- data
- module
- encryption
- write
- 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.)
- Expired - Fee Related
Links
Landscapes
- Storage Device Security (AREA)
Abstract
一种用于SoC的数据安全加密模块,包括控制器单元、状态机单元、密钥管理单元、加密单元、解密单元和身份验证单元;本数据安全加密模块的功能实现包括:硬件部分和软件代码;利用硬件编程语言编写模块硬件代码,实现模块的功能;利用软件编程语言编写软件程序,由控制模块运行,来对功能和数据寄存器进行赋值,完成数据安全加密模块的初始化,实现控制模块功能。
Description
技术领域
本发明涉及安全加密领域,提出的一种用于SoC的数据安全加密模块,特别涉及安全加密系统的实现和大量数据的处理。
背景技术
1、片上系统(SoC)指的是在单个芯片上面集成整个电子系统。从整个系统的功能和性能的角度出发,SoC系统利用软硬件结合的设计和验证方法,使用知识产权(IP)模块复用及深亚微米技术,从而在单个芯片上实现复杂的功能。它是以应用需求为前提,利用成熟的IP模块和特定的功能模块,从系统的角度统筹规划,将精简的功能集成到单个芯片上。利用SoC技术生产的芯片具有面向应用,多功能,低功耗,低成本的等优点,适用于无线传感器网络等多种领域。
随着信息技术的发展,信息的安全保护也越来越收到重视。作为利用SoC技术生产的芯片,在处理着大量信息的同时,也面临着各种各样的数据安全隐患。特别是对于应用于安防领域,或是作为无线传感器网络节点的芯片,信息的安全保护尤为突出。前者本身就需要相应的安全保护机制,后者由于自身的开放性,数据处在恶劣的安全环境中。
用于SoC的数据安全加密模块是集成于SoC系统芯片内部,为芯片提供数据安全保护的模块。从信息安全的角度,它能够为数据提供机密性,真实性,新鲜性和可用性等保护。同时由于模块的可复用性,它可以应用于SoC芯片内,为数据提供安全保护。
2、传统的信息安全技术与SoC技术相结合的应用还没有得到充分的发展。国内现有的专利利用SoC技术设计了面向信息安全保护的整个加密芯片。这样的芯片在提供数据安全保护时,由于固定的设计,可应用的范围相对较小,灵活性较低,没有完成发挥SoC是将整个系统集成到单个芯片上的优势。设计基于Soc技术的安全加密模块,在保证了信息安全保护的同时,由于模块的可复用,它可以应用于其他的芯片中,拓宽了应用环境,更加具有灵活性。
国外的一些专利技术,更多的关注于安全加密算法的实现和优化,其研究主要集中在两个方面,一是修改了原有的加密算法模型,克服了加密本身的一些缺陷,提高了加密算法的性能。二是从加密算法的结构出发,设计优化了原有算法电路,提高了加密算法的吞吐量,节省了芯片的面积。
3、现有技术的缺点
现有的研究在安全保护和SoC技术两者相互融合利用的方面还有待进一步的发展。一方面,在芯片中加入安全保护的机制还不系统化和完善化,只单方面注重数据加密技术的改进并不全面,需要包含身份认证,密钥管理等功能的应用。在特定的应用场景中,可以进行功能性的裁剪。
另一方面,关于数据加密算法在硬件电路中的实现,现有的研究技术大多只关注于加密算法的优化,对于算法的应用环境需要和数据的处理量方面考虑较少。加密算法在电路中数据的吞吐量受硬件条件的制约。当数据加密的时间受到约束,所需加密的数据量巨大时,领先的加密算法和落后的数据处理设计并不平衡,从而导致了整个安全加密模块性能的下降。
缩略语和关键术语定义
SoC(System On Chip)片上系统
IP(Intellectual Property)知识产权
AMBA(Advanced Microcontroller Bus Architecture)高级微控制总线架构
AHB(Advanced High performance Bus)高级高性能总线
CPU(Central Processing Unit)中央处理器
发明内容
本发明涉及安全加密领域,提出的一种用于SoC的数据安全加密模块实现方法,特别涉及安全加密系统的实现和大量数据的处理。在利用SoC技术的基础上,本模块可应用于多种芯片,并且相应地为芯片提供系统性的安全数据保护,包括数据加解密,身份认证和密钥管理的功能。特别是对于大量数据的处理,本模块根据高级微控制总线结构(AMBA)协议,使用硬件的方式,实现对大量数据的搬运处理,从而大大缩短了数据处理所需的时间,在不影响加解密性能的前提下,提高了整体数据处理的吞吐量。本发明的具体技术方案如下:
一种用于SoC的数据安全加密模块,包括控制器单元、状态机单元、密钥管理单元、加密单元、解密单元和身份验证单元;
所述控制器单元接收来自AHB总线的读写命令,读写配置寄存器,相应的触发状态机单元、密钥管理单元、加密单元、解密单元和身份认证单元的控制命令,并为这些单元提供所需的数据参数;
所述状态机单元根据所接收的控制器单元信号,完成对AHB总线信号的发送和接收,在根据总线协议所规定的时钟周期内,对数据进行读入或者写出,从而完成数据的搬运;
所述密钥管理单元根据所接收的控制器单元信号,完成对加解密所需密钥的管理;
所述加密单元和解密单元根据控制命令,完成对数据的加密或解密处理;所加密或解密的数据由状态机单元读入,加密或解密所得的数据也由状态机单元写出;
所述身份认证单元根据所接收的控制器单元的控制信号和身份认证信息,进行计算并返回一个身份认证码,比对该身份认证码与用户所提供的身份认证码,从而确定用户身份的合法性;
当加密、解密操作或者身份认证操作完成,控制器单元触发中断输出指令并通知外部的CPU。
所述密钥管理单元对加解密所需密钥的管理具体包括密钥扩展、密钥更新和为加密解密单元提供密钥。
在身份认证信息中包含用户身份信息和时间戳信息。
本数据安全加密模块的功能实现包括:硬件部分和软件代码;利用硬件编程语言编写模块硬件代码,实现模块的功能;利用软件编程语言编写软件程序,由控制模块运行,来对功能和数据寄存器进行赋值,完成数据安全加密模块的初始化,实现控制模块功能;
所述身份认证单元功能的实现,是通过软件方式将身份认证的相关信息写入身份认证信息寄存器,并使能身份认证使能寄存器;控制单元接收到使能信号,触发身份认证单元运行,将计算出的身份认证码返回身份认证寄存器;
所述密钥管理单元的功能的实现,对于密钥的扩展,是通过软件方式将密钥写入密钥寄存器,并写命令寄存器达到扩展密钥的功能;对于密钥的管理,写密钥管理寄存器和密钥地址寄存器,从而使用该密钥地址的数据作为密钥。
本数据安全加密模块采用了硬件方式完成了对数据流的读入与写出,步骤是,根据软件代码赋予的数据读取地址A和写入地址B,硬件实现了读取数据,加密/解密数据和写加密/解密后数据这样的一个周期;在这个周期完成后,递增读取地址A和写入地址B,完成新数据的加解密处理;直到当读取地址A与结束地址C一致时,表明已经处理完该段地址内的数据,达到对设定数据流的加解密操作。
本发明技术方案带来的有益效果:
本发明结合了SoC和信息安全的技术,设计实现了用于SoC的数据安全加密模块的方法。一方面,该模块具备能在SoC芯片中复用的优势;另一方面,模块从信息安全保护的角度,从多个方面考虑了数据安全保护的机制,不再是以往单一的对数据进行加密,而是从系统化的角度为信息提供安全保障。此外,为了适应大量数据的处理,使用软硬件划分的方式,模块采用硬件方式对数据流进行处理,在保障了数据加解密正常进行的前提下,大大缩短了数据处理所需的时间。
本发明的技术关键点包括:
1、系统化的信息安全保护机制
在用于SoC的数据安全加密模块中,本发明包括了身份认证,密钥管理,数据加解密等多种功能单元,从多个方面考虑对于数据信息的安全性保护。相较于以往功能单一的芯片设计而言,更着重于构建一个系统化的信息安全保护机制。将信息安全体制的思想与SoC的芯片设计相结合,改善了原有的安全芯片设计片面化的缺点。同时在本发明的体系架构下,无论是对于新的加密算法或是身份认证的方法,可以通过修改功能单元达到优化的目的,延长了数据安全加密模块的使用寿命,拓展了模块的功能,比一般的安全加密芯片具有更大的优势。
2、硬件方式处理大量的数据信息
本发明根据AMBA总线协议,编写硬件代码,完成了对大量的数据从读取,加解密,存储的过程。相较于常用的利用软件方式调用加解密模块的方式,硬件实现数据流调用的方式大大缩短了所需的工作周期。特别是数据量较大的时候,节省出来的时间更是尤为可观,最终硬件方式处理的数据吞吐量可以达到软件方式吞吐量的几倍甚至于十几倍,特别适用于当需要在给定时限内对大量数据进行加解密处理的情况。
附图说明:
图1:安全加密模块架构示意图;
图2:硬件处理数据流流程图。
附表说明:
表1:模块接口信号描述;
表2:模块寄存器功能描述。
表1
表2
具体实施方式
本发明技术实现的具体实施例如下:
根据AMBA总线协议,本发明可以作为总线的主机挂载在AMBA总线协议的高级高性能总线(AHB)上面。对于要使用本发明模块的芯片,只要芯片内部的信息交互遵循AMBA总线协议,可以通过写命令寄存器完成对数据加解密等信息安全处理功能。
1、数据安全加密模块组成单元和接口信号描述
如图1所示,本例的用于SoC的数据安全加密模块,包括控制器单元、状态机单元、密钥管理单元、加密单元、解密单元和身份验证单元。本数据安全加密模块的总线接口如表1所示。其中AHB_clk_i,AHB_rst_i和AHB_int_o分别作为模块的时钟信号,复位信号和中断信号。主机信号和从机信号是根据AMBA2.0总线协议编写的可以挂接在AHB总线上的接口信号。对于使用AMBA总线协议的芯片,其中央处理器(CPU)可以通过发送和响应这些接口信号,读写相应寄存器,完成对挂接的数据安全加密模块的管理。
所述控制器单元接收来自AHB总线的读写命令,读写配置寄存器,相应的触发状态机单元,密钥管理单元,加密解密单元,身份认证单元的控制命令。并为这些单元提供所需的数据参数。这些操作的开始,运行和结束,都由控制器单元控制,同时状态机单元保证了这些操作的命令信号和数据的时序一致性。
所述状态机单元根据所接收的控制器单元信号,完成对AHB总线信号的发送和接收。在根据总线协议所规定的时钟周期内,可以对数据进行读入或者写出,从而完成数据的搬运。
所述密钥管理单元根据所接收的控制器单元信号,完成对加解密所需密钥的管理工作,包括密钥扩展,密钥跟新和为加密解密单元提供密钥。
所述加密单元和解密单元是数据安全加密处理的主体,根据控制命令,可以完成对数据的加密或解密处理。所加密或解密的数据由状态机单元读入,加密或解密所得的数据也由状态机单元写出。加密和解密所需的密钥由密钥管理单元提供。这里采用的加密算法可以使一些国际通用的分组密钥算法,如RC5算法,DES算法等。
所述身份认证单元根据所接收的控制器单元的控制信号和身份认证信息,由约定的认证算法,计算并返回一个身份认证码,通过比对用户所提供的身份认证码,从而确定用户身份的合法性。在身份认证信息中可以包含时间戳信息,从而保证了信息的新鲜性。
当加密解密操作或者身份认证操作完成,控制器单元触发AHB_int_o中断输出并通知CPU。CPU可以通过读状态寄存器区别加密,解密和身份认证操作。
2、数据安全加密模块的实现
数据安全加密模块的功能实现主要由两部分组成:硬件部分和软件代码。利用Verilog语言编写模块硬件代码,实现模块的功能。利用C语言编写软件程序,控制模块的运行,对功能和数据寄存器进行赋值,完成模块的初始化,控制模块的工作。
本发明所述的数据安全加密模块的寄存器功能描述如表2所述。
所述身份认证功能的实现,通过软件方式将身份认证的相关信息写入身份认证信息寄存器,并使能身份认证使能寄存器。控制器单元接收到使能信号,触发身份认证单元运行,将计算出的身份认证码返回身份认证寄存器。在软件程序可以通过读身份认证寄存器与预期的身份认证码比较,从而判断用户身份的合法性。
所述密钥管理功能的实现,对于密钥的扩展,通过软件方式将密钥写入密钥寄存器,并写命令寄存器达到扩展密钥的功能。对于密钥的管理,写密钥管理寄存器和密钥地址寄存器,从而可以使用该地址的数据作为密钥。
所述数据流加解密处理功能的实现,对于SoC技术而言,软硬件的划分是其中考虑的一个重要问题。在本发明中,对于数据的加解密处理,没有使用以往的硬件实现加解密功能,软件程序控制加密模块反复循环执行的方法。这是由于软件反复调用硬件模块的方式需要的时钟周期过长,特别是在大量数据需要处理的情况下,会使得调用硬件所需的时间占据了主要部分。
本发明采用了硬件方式完成了对数据流的读入与写出。如图2所示,根据软件代码赋予的数据读取地址A和写入地址B,硬件实现了读取数据,加密/解密数据和写加密/解密后数据这样的一个周期。并在这个周期完成后,自动递增读取地址A和写入地址B,完成新数据的加解密处理。直到当读取地址A与结束地址C一致时,表明已经处理完该段地址内的数据,达到对设定数据流的加解密操作。通过这种方式对数据流进行处理,避免了由于软件调用模块所需时间周期过长的缺点,所需的只是加解密处理的时间和硬件方式读写数据的时间。且硬件实现读写数据只需要几个时钟周期,这大大的缩短了加解密处理数据间的时间间隔,特别是对于大量数据进行的加解密操作,所能节省的时间尤为可观。
Claims (1)
1.一种用于SoC的数据安全加密模块,其特征是包括控制器单元、状态机单元、密钥管理单元、加密单元、解密单元和身份验证单元;
所述控制器单元接收来自AHB总线的读写命令,读写配置寄存器,相应的触发状态机单元、密钥管理单元、加密单元、解密单元和身份认证单元的控制命令,并为这些单元提供所需的数据参数;
所述状态机单元根据所接收的控制器单元信号,完成对AHB总线信号的发送和接收,在根据总线协议所规定的时钟周期内,对数据进行读入或者写出,从而完成数据的搬运;
所述密钥管理单元根据所接收的控制器单元信号,完成对加解密所需密钥的管理;
所述加密单元和解密单元根据控制命令,完成对数据的加密或解密处理;所加密或解密的数据由状态机单元读入,加密或解密所得的数据也由状态机单元写出;
所述身份认证单元根据所接收的控制器单元的控制信号和用户写入寄存器的身份认证信息,进行计算并返回一个身份认证码,比对该身份认证码与用户所提供的身份认证码,从而确定用户身份的合法性;
当加密、解密操作或者身份认证操作完成,控制器单元触发中断输出指令并通知外部的CPU;
所述数据安全加密模块的功能实现包括:硬件部分和软件代码;利用硬件编程语言编写模块硬件代码,实现模块的功能;利用软件编程语言编写软件程序,由控制模块运行,来对功能和数据寄存器进行赋值,完成数据安全加密模块的初始化,实现控制模块功能;
所述身份认证单元功能的实现,是通过软件方式将身份认证的相关信息写入身份认证信息寄存器,并使能身份认证使能寄存器;控制单元接收到使能信号,触发身份认证单元运行,将计算出的身份认证码返回身份认证寄存器;
所述密钥管理单元的功能的实现,对于密钥的扩展,是通过软件方式将密钥写入密钥寄存器,并写命令寄存器达到扩展密钥的功能;对于密钥的管理,写密钥管理寄存器和密钥地址寄存器,从而使用该密钥地址的数据作为密钥;
数据安全加密模块采用了硬件方式完成了对数据流的读入与写出,步骤是,根据软件代码赋予的数据读取地址A和写入地址B,硬件实现了读取数据,加密/解密数据和写加密/解密后数据这样的一个周期;在这个周期完成后,递增读取地址A和写入地址B,完成新数据的加解密处理;直到当读取地址A与结束地址C一致时,表明已经处理完该段地址内的数据,达到对设定数据流的加解密操作;
所述密钥管理单元对加解密所需密钥的管理具体包括密钥扩展、密钥更新和为加密解密单元提供密钥;身份认证信息中包含用户身份信息和时间戳信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210063915.8A CN102663326B (zh) | 2012-03-12 | 2012-03-12 | 用于SoC的数据安全加密模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210063915.8A CN102663326B (zh) | 2012-03-12 | 2012-03-12 | 用于SoC的数据安全加密模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102663326A CN102663326A (zh) | 2012-09-12 |
CN102663326B true CN102663326B (zh) | 2015-02-18 |
Family
ID=46772812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210063915.8A Expired - Fee Related CN102663326B (zh) | 2012-03-12 | 2012-03-12 | 用于SoC的数据安全加密模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102663326B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336920B (zh) * | 2013-05-29 | 2019-01-08 | 东南大学 | 用于无线传感网络soc芯片的安全系统 |
CN103413097B (zh) * | 2013-07-15 | 2017-02-15 | 北京华大信安科技有限公司 | 加密方法、装置及安全芯片 |
CN104035408A (zh) * | 2014-06-04 | 2014-09-10 | 中国石油集团东方地球物理勘探有限责任公司 | 一种rtu控制器及其与scada系统通信方法 |
CN108933651B (zh) * | 2017-05-27 | 2021-09-28 | 佛山芯珠微电子有限公司 | 基于soc的保密通信系统及保密通信的方法 |
CN109039591B (zh) * | 2017-06-08 | 2022-04-01 | 佛山芯珠微电子有限公司 | 基于fpga的物联网络信息加密系统的实现方法 |
CN109376102A (zh) * | 2018-09-18 | 2019-02-22 | 深圳忆联信息系统有限公司 | tube通信方法、装置、计算机设备和存储介质 |
CN109829340A (zh) * | 2019-02-02 | 2019-05-31 | 合肥大唐存储科技有限公司 | 一种多功能聚合的存储装置和终端 |
CN109981252B (zh) * | 2019-03-12 | 2020-07-10 | 中国科学院信息工程研究所 | 一种基于关键路径加密的人工智能处理器安全增强系统及方法 |
CN113722732B (zh) * | 2021-08-26 | 2024-02-23 | 安徽敏矽微电子有限公司 | 一种2线片上调试加解密安全保护系统 |
CN117216813B (zh) * | 2023-11-02 | 2024-03-26 | 紫光同芯微电子有限公司 | 用于读写数据的方法、装置和安全芯片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716841A (zh) * | 2004-06-14 | 2006-01-04 | 上海安创信息科技有限公司 | 高性能密码算法SoC芯片 |
CN101106455A (zh) * | 2007-08-20 | 2008-01-16 | 北京飞天诚信科技有限公司 | 身份认证的方法和智能密钥装置 |
CN101192928A (zh) * | 2006-12-01 | 2008-06-04 | 华为技术有限公司 | 移动自组织网络的认证方法、网络和系统 |
CN101986597A (zh) * | 2010-10-20 | 2011-03-16 | 杭州晟元芯片技术有限公司 | 一种带生物特征识别功能的身份认证系统及其认证方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011022785A (ja) * | 2009-07-15 | 2011-02-03 | Sony Corp | 鍵格納装置、生体認証装置、生体認証システム、鍵管理方法、生体認証方法、及びプログラム |
-
2012
- 2012-03-12 CN CN201210063915.8A patent/CN102663326B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716841A (zh) * | 2004-06-14 | 2006-01-04 | 上海安创信息科技有限公司 | 高性能密码算法SoC芯片 |
CN101192928A (zh) * | 2006-12-01 | 2008-06-04 | 华为技术有限公司 | 移动自组织网络的认证方法、网络和系统 |
CN101106455A (zh) * | 2007-08-20 | 2008-01-16 | 北京飞天诚信科技有限公司 | 身份认证的方法和智能密钥装置 |
CN101986597A (zh) * | 2010-10-20 | 2011-03-16 | 杭州晟元芯片技术有限公司 | 一种带生物特征识别功能的身份认证系统及其认证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102663326A (zh) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102663326B (zh) | 用于SoC的数据安全加密模块 | |
CN107408192B (zh) | 保护存储器 | |
CN111400732B (zh) | 一种基于usb通道的加解密模块及设备 | |
CN1878055B (zh) | 一种分离式大数据量加/解密设备及实现方法 | |
US9710675B2 (en) | Providing enhanced replay protection for a memory | |
CN101551784B (zh) | 一种usb接口的ata类存储设备中数据的加密方法及装置 | |
CN109447225B (zh) | 一种高速安全加密Micro SD卡 | |
CN106027261B (zh) | 基于fpga的luks认证芯片电路及其密码恢复方法 | |
TWI609289B (zh) | 用於提供記憶體機密性、完整性及重播保護的低負擔密碼方法、系統及處理器 | |
KR101349849B1 (ko) | 범용 보안 저장 장치 | |
CN102737270B (zh) | 一种基于国产算法的银行智能卡芯片安全协处理器 | |
CN104160407A (zh) | 利用存储控制器总线接口以确保存储设备和主机之间的数据传输安全 | |
WO2019029393A1 (zh) | 一种存储数据加解密装置及方法 | |
CN108470129A (zh) | 一种数据保护专用芯片 | |
CN104182696A (zh) | 一种基于Avalon接口的AES算法IP核的设计方法 | |
CN101561751A (zh) | 一种usb加解密桥接芯片 | |
CN112417522A (zh) | 一种数据处理方法、安全芯片装置和嵌入式系统 | |
CN203930840U (zh) | 一种硬件加密卡 | |
CN103336920A (zh) | 用于无线传感网络soc芯片的安全系统 | |
CN109492418A (zh) | 一种基于aes算法的通用dsp安全加解密系统 | |
CN105049203A (zh) | 一种支持多工作模式的可配置3des加解密算法电路 | |
CN111386513B (zh) | 数据处理的方法、装置和系统芯片 | |
CN103150523A (zh) | 一种简易的嵌入式可信终端系统及方法 | |
CN105844147A (zh) | 一种应用验签方法和装置 | |
CN102110066A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150218 Termination date: 20180312 |
|
CF01 | Termination of patent right due to non-payment of annual fee |