CN102436423A - 通用片外NorFlash核心数据保护的控制器及方法 - Google Patents

通用片外NorFlash核心数据保护的控制器及方法 Download PDF

Info

Publication number
CN102436423A
CN102436423A CN2011103090311A CN201110309031A CN102436423A CN 102436423 A CN102436423 A CN 102436423A CN 2011103090311 A CN2011103090311 A CN 2011103090311A CN 201110309031 A CN201110309031 A CN 201110309031A CN 102436423 A CN102436423 A CN 102436423A
Authority
CN
China
Prior art keywords
data
norflash
key
controller
control module
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
Application number
CN2011103090311A
Other languages
English (en)
Other versions
CN102436423B (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201110309031.1A priority Critical patent/CN102436423B/zh
Publication of CN102436423A publication Critical patent/CN102436423A/zh
Application granted granted Critical
Publication of CN102436423B publication Critical patent/CN102436423B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种通用片外NorFlash核心数据保护的控制器,它包括:总线接口模块、密钥存储模块、控制模块、AES加解密模块和SRAM接口控制模块等;其中,密钥存储模块、控制模块、AES加解密模块和SRAM接口控制模块分别与总线接口模块相连,AES加解密模块、控制模块分别与密钥存储模块相连,控制模块和SRAM接口控制模块分别与AES加解密模块相连,SRAM接口控制模块与控制模块相连;本发明采用AES加解密核心数据,使他人在获取采用本发明中控制器和方法的系统之后,不能获得核心数据。在读取密钥和加解密的各个环节都由硬件完成,不允许软件访问,保证了核心数据和密钥的安全。

Description

通用片外 NorFlash 核心数据保护的控制器及方法
技术领域
本发明涉及NorFlash控制器设计领域,特别涉及一种通用片外NorFlash核心数据保护的控制器及方法。
背景技术
NorFlash和NandFlash是现在市场上两种主要的非易失闪存技术。其中,NOR 的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响到它的性能。NorFlash 的特点是芯片内执行(XIP ,eXecute In Place),这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中,所以,一些SoC系统和其它控制系统采用片外NorFlash作为程序和配置数据保存的媒介。
但是,由于NorFlash接口时序较为简单,不法厂商通过复制电路和读取片外NorFlash芯片中数据,可以简单地复制他人产品和破解产品数据,侵害他人权益。为此,一些NorFlash厂商提供了一些带安全保护功能NorFlash芯片。如Micron公司采用Krypto® Security Technologies,通过加密访问、授权操作等方式保护NorFlash中的数据。但是,仍然存在通过逻辑分析仪等工具在系统工作过程中被破解数据的危险。
密码学中的高级加密标准(Advanced Encryption Standard,AES),又称高级加密标准Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。目前,AES硬件电路设计技术已经成熟,并且,在100MHz左右时钟频率下,硬件AES加解密速度已可达1330Mbps,可以满足一些SoC系统和其它控制系统加密后程序解密运行要求。
现有的数据保护方法及装置,其基本方法如下:在下载数据前,采用随机数生成模块生成密钥并保存在片内非易失性存储器中,并针对特定Flash芯片的读/写采用AES加密电路进行解/加密处理,整个过程CPU程序无法接触到密钥使密钥不会泄露,从而保证数据安全。
若将此用于通用NorFlash数据保护,则存在如下不足:一、需要两种非易失性存储器和相应控制器,一个用于重要程序和数据存储,另一个用于非重要程序和数据存储;二、由于密钥、重要程序和数据都是需要保护的,二者安全等级相同(即想要获得密钥的难度和获得重要程序和数据的难度相同),所以通过重要程序和数据的拥有者即主机生成密钥并写入密钥存储器的方法安全性并不比该专利中的方法低;三、随机数生成器仅在下载程序和数据使用,且加解密模块使用方式单一,资源不能有效利用;四、没有考虑到不同NorFlash编程方式不同;五、采用随机数生成器生成的密钥可能出现长位段的0或者1,使加密数据安全性降低。因此,有必要设计一种通用片外NorFlash核心数据保护的控制器与方法。
发明内容
本发明的目的在于针对以上问题,并考虑控制器功耗优化,提供一种通用片外NorFlash核心数据保护的控制器及方法。
本发明的目的是通过以下技术方案来实现的:一种通用片外NorFlash核心数据保护的控制器,它包括:总线接口模块、密钥存储模块、控制模块、AES加解密模块和SRAM接口控制模块等;其中,密钥存储模块、控制模块、AES加解密模块和SRAM接口控制模块分别与总线接口模块相连,AES加解密模块、控制模块分别与密钥存储模块相连,控制模块和SRAM接口控制模块分别与AES加解密模块相连,SRAM接口控制模块与控制模块相连。 进一步地,所述密钥存储模块主要由非易失性存储器EEPROM和EEPROM控制器相连组成;所述控制模块主要由控制和状态寄存器组、低功耗控制单元相连组成;所述SRAM接口控制模块主要由SRAM读写控制器和NorFlash写控制器相连组成;所述AES加解密模块包括:功能控制单元、缓存、10轮子密钥扩展单元、AES加密单元和AES解密单元,其中,缓存、10轮子密钥扩展单元、AES加密单元和AES解密单元分别与功能控制单元相连,缓存、10轮子密钥扩展单元和AES解密单元分别与AES加密单元相连,缓存和10轮子密钥扩展单元分别与AES解密单元相连。
一种应用上述通用片外NorFlash核心数据保护的控制器的控制方法,它包括数据下载和上电工作两部分;其中,数据下载部分,包括如下步骤:
(1)总线上主机提供下载数据、片外NorFlash芯片的核心数据区域和非核心数据区域的划分信息,同时生成可靠的随机密钥,随机密钥与下载数据一起由总线上主机管理;
(2)总线上主机修改控制和状态寄存器组中核心数据区域的起始地址和大小的相关配置;
(3)总线上主机根据所选用的片外NorFlash芯片的型号修改控制和状态寄存器组中NorFlash编程命令序列的相关配置;
(4)总线上主机将随机密钥写入密钥存储模块,密钥存储模块自动完成擦除EEPROM、写入密钥、读取EEPROM中的数据与写入密钥比较并将结果写入控制和状态寄存器组,在接收到总线读取密钥的请求时返回全0值,在硬件上保证密钥不会被主机获取。主机在检测到密钥成功写入之后,彻底删除密钥存储模块之外的电路中的密钥;
(5)总线上主机使能AES加密功能,AES加解密模块工作在自动模式,并使用密钥存储模块输入的密钥进行加解密操作;
(6)总线上主机通过控制器向片外NorFlash芯片写入数据,当控制器检测到所写入的地址处于非核心数据区域(即写入非核心数据),通过SRAM接口控制模块完成NorFlash数据编程。当控制器检测到所写入的地址处于核心数据区域(即写入核心数据),将写入的数据以128bits分组并由AES加解密模块完成加密后,通过SRAM接口控制模块完成NorFlash数据编程;
(7)下载完成之后,删除总线上主机中的数据并关机。
所述上电工作部分,包括如下步骤:
(1)上电工作之后,总线上主机使用片外NorFlash非核心数据区域中的数据进行初始化;
(2)总线上主机修改控制和状态寄存器组中核心数据区域的起始地址和大小的相关配置;
(3)总线上主机根据所选用的片外NorFlash芯片的型号修改控制和状态寄存器组中NorFlash编程命令序列的相关配置;
(4)总线上主机使能AES解密功能,AES加解密模块正常工作;
(5)控制器自动从密钥存储模块获取密钥,并用于AES解密;
(6)总线上主机通过控制器读取片外NorFlash芯片中的数据,得到的数据都是未加密的数据。控制器读取片外NorFlash芯片非核心区域的数据不经处理送给主机,控制器读取片外NorFlash芯片核心区域的数据通过AES解密之后送给主机。
本发明的有益效果是:
(1)采用AES加解密核心数据,使他人在获取采用本发明中控制器和方法的系统之后,不能获得核心数据。在读取密钥和加解密的各个环节都由硬件完成,不允许软件访问,保证了核心数据和密钥的安全。
(2)引入NorFlash写控制器,根据配置自动完成NorFlash芯片编程命令序列。
(3)自动模式、人工模式和闲置模式三种工作模式使控制器在不同需求环境下可以有效的利用电路资源。
(4)AES加解密模块和NorFlash写控制器闲置情况下,根据控制和状态寄存器组配置,关闭相应电路的时钟,有效地降低了控制器的动态功耗。最低动态功耗工作状态下,控制器仅有相当于普通SRAM读写控制器的动态功耗。
附图说明
图1是本发明控制器的结构示意框图;
图2是密钥存储模块的结构示意框图;
图3是控制模块的结构示意框图;
图4是AES加解密模块的结构示意框图;
图5是SRAM接口控制模块的结构示意框图;
图6是NorFlash写控制器的工作状态图;
图7是数据下载流程图;
图8是上电工作流程图。
具体实施方式
以下结合附图对本发明做进一步的详细说明。
本发明在下载数据时,总线上主机生成可靠的随机数并作为密钥写入非易失性存储器EEPROM中,密钥传送至控制器后由硬件完成非易失性存储器EEPROM的擦除、编程和结果比对,并在完成密钥写入之后仅能被加解密模块硬件访问,总线接口无法再访问密钥以保证密钥安全;同时,将片外存储空间划分成核心数据区和非核心数据区,前者地址和大小可通过软件配置,核心数据区的数据将经过AES加解密模块的加密或解密之后输出;SRAM接口控制器中引入NorFlash写控制器,除了正常SRAM接口读写方式的工作模式(即下面提到SRAM写模式)之外,增加自动命令写模式,使控制器可以适应不同SRAM接口的NorFlash芯片的编程操作;另外,AES加解密模块和NorFlash写控制器有工作状态指示信号,低功耗控制单元在其不工作时关闭主要模块的时钟,仅保留控制器最基本的SRAM接口读写功能,消除大部分电路的动态功耗。
图1是本发明控制器的结构示意框图,本发明的控制器包括以下模块:总线接口模块、密钥存储模块、控制模块、AES加解密模块和SRAM接口控制模块,其中,密钥存储模块、控制模块、AES加解密模块和SRAM接口控制模块分别与总线接口模块相连,AES加解密模块、控制模块分别与密钥存储模块相连,控制模块和SRAM接口控制模块分别与AES加解密模块相连,SRAM接口控制模块与控制模块相连。
总线接口模块接收总线信号,响应总线上主机写请求,根据控制模块的控制信号将写数据送到密钥存储模块、AES加解密模块、控制模块或SRAM接口控制模块;响应总线上主机读请求,根据控制模块的控制信号从AES加解密模块、控制模块或SRAM接口控制模块中读取数据并送到总线上。
密钥存储模块接收总线接口模块的密钥输入,并将该操作成功与否的状态信息写入控制模块;根据控制模块的控制信号输入,将密钥输出给AES加解密模块。
控制模块接收总线接口模块的读写请求,获取配置信息或返回配置和状态信息;同时,根据配置信息控制AES加解密模块、密钥存储模块和SRAM接口控制模块,并接收密钥存储模块、AES加解密模块和SRAM接口控制模块中NorFlash写控制器的状态信号。
AES加解密模块,(1)在自动模式下,AES加解密模块使用密钥存储模块输入的密钥,来自总线的对核心数据区域的写操作被总线接口模块映射到AES加解密模块的缓存中,并在经过128bits分组和AES加密之后,输出密文给SRAM接口控制模块并写入片外NorFlash芯片对应地址单元中,另外,对核心数据区域的读操作,如果缓存中没有相应数据,则通过SRAM接口控制模块从片外NorFlash芯片对应地址单元读入128bits分组数据(即输入密文)并解密之后经过AES加解密模块的缓存后送给总线接口模块,如果缓存中有相应数据,则将数据送给总线接口模块;(2)在人工模式下,AES加解密模块的缓存被映射到控制模块的控制和状态寄存器组地址空间中,AES加解密模块使用控制模块输入的密钥,加密单元/解密单元根据配置对缓存中的数据加密/解密之后写回缓存,将此处理完成的状态信息写入控制模块;(3)在闲置模式下,AES加解密模块不工作,并将此状态信息送给低功耗控制单元。
SRAM接口控制模块接收AES加解密模块输出密文请求或总线接口模块的数据输入请求,并根据控制模块的控制信号做相应处理后,通过SRAM接口信号写入片外NorFlash中,或者接收AES加解密模块的输入密文请求或总线接口模块的数据读取请求,从片外NorFlash读取数据后输出给AES加解密模块或总线接口模块。
图2是密钥存储模块的结构与连接关系图,密钥存储模块主要由非易失性存储器EEPROM和EEPROM控制器相连组成。
其中,非易失性存储器EEPROM用于存储密钥。
EEPROM控制器,在收到总线接口模块密钥输入后,擦除EEPROM、写入密钥、读取EEPROM中的数据与写入密钥比较并将结果写入控制模块;在总线接口模块接收到来自总线上主机读取密钥的请求时,由总线接口模块返回全0值,以保证密钥写入后,在硬件上保证密钥不会被任何总线上主机获取;接收到控制模块的密钥输出请求后,从非易失性存储器EEPROM中读取密钥并输出给AES加解密模块。
图3是控制模块的结构与连接关系图,控制模块主要由控制和状态寄存器组、低功耗控制单元相连组成。
其中,控制和状态寄存器组一方面存储各模块的配置信息,并输出控制信号给其它各个模块;另一方面,接收并存储其它各个模块的状态信号。
低功耗控制单元根据控制和状态寄存器组的控制信号,(1)在低功耗模式使能,AES加解密模块停止工作,且AES加解密模块和密钥存储模块输入到控制模块的状态信息都为闲置时,停止输出时钟给AES加解密模块和密钥存储模块;(2)在低功耗模式使能,SRAM接口控制模块中NorFlash写控制器处于SRAM写模式或者闲置模式,且SRAM接口控制模块中NorFlash写控制器输入的状态信息都为空闲时,停止输出时钟给SRAM接口控制模块的NorFlash写控制器。
图4是AES加解密模块的结构与连接关系图,AES加解密模块包括:功能控制单元、缓存(32×4bits双端口SSRAM) 、10轮子密钥扩展单元、AES加密单元和AES解密单元,其中,缓存、10轮子密钥扩展单元、AES加密单元和AES解密单元分别与功能控制单元相连,缓存、10轮子密钥扩展单元和AES解密单元分别与AES加密单元相连,缓存和10轮子密钥扩展单元分别与AES解密单元相连。
AES加解密模块有三种工作模式:自动模式、人工模式和闲置模式。(1)在自动模式下,AES加解密模块使用密钥存储模块输入的密钥,来自总线的对核心数据区域的写操作被受控制模块控制的总线接口模块映射到AES加解密模块的缓存中,并在128bits缓存满或总线接口模块收到其它128bits分组地址空间的数据读写请求后,将缓存中的数据经过AES加密并在完成之后输出密文给SRAM接口控制模块写入片外NorFlash芯片对应地址单元中,另外,对核心数据区域的读操作,如果缓存中没有相应数据,则通过SRAM接口控制模块从片外NorFlash芯片对应地址单元读入128bits分组数据(即输入密文)并解密之后经过AES加解密模块的缓存后送给总线接口模块,如果缓存中有相应数据,则将数据送给总线接口模块;(2)在人工模式下,AES加解密模块的缓存被受控制模块控制的总线接口模块映射到控制和状态寄存器组地址空间中,AES加解密模块使用控制和状态寄存器组中存储的密钥,加密单元/解密单元根据配置对缓存中的数据加密/解密之后写回缓存,并将此处理完成的状态信息送给控制模块;(3)在闲置模式下,AES加解密模块不工作,并将此状态信息送给控制模块。
其中,功能控制单元根据控制模块的控制信号,使AES加解密模块工作在自动模式、人工模式和闲置模式三种模式之一,并且(1)在自动模式时,将密钥存储模块输入的密钥送给10轮子密钥扩展单元;(2)在人工模式时,将控制模块输入的密钥送给10轮子密钥扩展单元;(3)在自动模式和人工模式切换时,清除缓存、10轮子密钥扩展单元、加密单元和解密单元中的数据;(4)在进入闲置模式时,将此状态信息送给控制模块。
缓存(32×4bits双端口SSRAM)用于存储128bits分组数据。
10轮子密钥扩展单元将功能控制单元输入的初始密钥经10轮子密钥扩展运算生成10轮子密钥之后提供给加密单元和解密单元使用。
AES加密单元将缓存中的未处理数据加密之后将已处理数据写回缓存或者输出密文给SRAM接口控制模块,并将此状态信息送给控制模块。
AES解密单元将缓存中的未处理数据解密之后将已处理数据写回缓存或者将从SRAM接口控制模块输入的密文解密以后写入缓存,并将此状态信息送给控制模块。
图5是SRAM接口控制模块的结构与连接关系图,SRAM接口控制模块主要由SRAM读写控制器和NorFlash写控制器相连组成。
其中,SRAM读写控制器接收从NorFlash写控制器输入的读写数据请求,根据从控制模块输入的控制信号将数据写入片外NorFlash或者从片外读取数据。
NorFlash写控制器有SRAM写模式、自动命令写模式和闲置模式。图6是NorFlash写控制器的工作状态图,其工作方式为:在SRAM写模式下,将AES加解密模块或总线接口模块的编程或读NorFlash请求(编程请求即输出密文请求和NorFlash直接写数据请求,读NorFlash请求即输入密文请求和NorFlash直接读数据请求)直接送至SRAM读写控制器;在自动命令写模式下,根据控制模块的配置,将输入的AES加解密模块和总线接口模块的编程请求,作经过编程命令序列扩展之后,形成新的写数据请求发送至SRAM读写控制器,并且根据控制模块的配置,在总编程时钟内定时发送读数据请求至SRAM读写控制器,直到读回的数据与输入的写数据相等之后停止此次编程操作或者继续剩余的编程操作,并将编程成功的状态信息写入控制模块,如果在总编程时钟内的所有比较结果都未不相等,将编程失败的状态信息写入控制模块,另外,将AES加解密模块和总线接口模块的读NorFlash请求直接送至SRAM读写控制器;在闲置模式下,NorFlash写控制器不工作,AES加解密模块和总线接口模块的编程或读NorFlash请求直接送至SRAM读写控制器,并将此闲置状态信息送给低功耗控制单元。
图7是数据下载流程图,包括如下步骤:
(1)总线上主机提供下载数据、片外NorFlash芯片的核心数据区域和非核心数据区域的划分信息,同时生成可靠的随机密钥,随机密钥与下载数据一起由总线上主机管理。典型应用环境是采用本发明中控制器设计的系统,总线上主机是被上位机(PC)通过JTAG接口控制的CPU或主控模块,上位机为每一个系统提供包含核心数据和非核心数据、不同随机密钥的下载文件(包括密钥、核心数据和非核心数据),这样密钥和原始核心数据的安全情况是一致的,获得其中一者即获得核心数据。其中,非核心数据是非核心用户程序和配置信息,用于在系统启动时初始化系统配置,即使被他人获取也不会造成不可容忍的损失,核心数据是核心用户程序和配置信息并且要求安全保护、被他人获取后会造成不可容忍的损失;
(2)总线上主机修改控制和状态寄存器组中核心数据区域的起始地址和大小的相关配置;
(3)总线上主机根据所选用的片外NorFlash芯片的型号修改控制和状态寄存器组中NorFlash编程命令序列的相关配置;
(4)总线上主机将随机密钥写入密钥存储模块,密钥存储模块自动完成擦除EEPROM、写入密钥、读取EEPROM中的数据与写入密钥比较并将结果写入控制和状态寄存器组,在接收到总线读取密钥的请求时返回全0值,在硬件上保证密钥不会被主机获取。总线上主机在检测到密钥成功写入之后,彻底删除密钥存储模块之外的电路中的密钥;
(5)总线上主机使能AES加密功能,AES加解密模块工作在自动模式,并使用密钥存储模块输入的密钥进行加解密操作;
(6)总线上主机通过控制器向片外NorFlash芯片写入数据,当控制器检测到所写入的地址处于非核心数据区域(即写入非核心数据),通过SRAM接口控制模块完成NorFlash数据编程。当控制器检测到所写入的地址处于核心数据区域(即写入核心数据),将写入的数据以128bits分组并由AES加解密模块完成加密后,通过SRAM接口控制模块完成NorFlash数据编程;
(7)下载完成之后,删除总线上主机中的数据并关机。
经以上步骤之后,片外NorFlash芯片中的数据部分是未经AES加密的数据、部分是经AES加密的数据,密钥存储于控制器中,无法使用复制电路和NorFlash芯片中数据的方式复制产品。
图8是上电工作流程图,包括如下步骤:
(1)上电工作之后,总线上主机使用片外NorFlash非核心数据区域中的数据进行初始化设置;
(2)总线上主机修改控制和状态寄存器组中核心数据区域的起始地址和大小的相关配置;
(3)总线上主机根据所选用的片外NorFlash芯片的型号修改控制和状态寄存器组中NorFlash编程命令序列的相关配置;
(4)总线上主机使能AES解密功能,AES加解密模块正常工作;
(5)控制器自动从密钥存储模块获取密钥,并用于AES解密;
(6)总线上主机通过控制器读取片外NorFlash芯片中的数据,得到的数据都是未加密的数据。控制器读取片外NorFlash芯片非核心区域的数据不经处理送给主机,控制器读取片外NorFlash芯片核心区域的数据通过AES解密之后送给主机。这样,NorFlash芯片接口上传输的数据都是非核心数据或者经过加密的核心数据,他人无法通过逻辑分析仪等方式破解系统。
以上所述仅为本发明的具体实施方式,并不用以限制本发明,任何本发明所属领域内的技术人员,在本发明揭露的技术范围内,所作的修改或替换,都应涵盖在本发明的保护范围之内。

Claims (6)

1.一种通用片外NorFlash核心数据保护的控制器,其特征在于,它包括:总线接口模块、密钥存储模块、控制模块、AES加解密模块和SRAM接口控制模块等;其中,密钥存储模块、控制模块、AES加解密模块和SRAM接口控制模块分别与总线接口模块相连,AES加解密模块、控制模块分别与密钥存储模块相连,控制模块和SRAM接口控制模块分别与AES加解密模块相连,SRAM接口控制模块与控制模块相连。
2.根据权利要求1所述通用片外NorFlash核心数据保护的控制器,其特征在于,所述密钥存储模块主要由非易失性存储器EEPROM和EEPROM控制器相连组成。
3.根据权利要求1所述通用片外NorFlash核心数据保护的控制器,其特征在于,所述控制模块主要由控制和状态寄存器组、低功耗控制单元相连组成。
4.根据权利要求1所述通用片外NorFlash核心数据保护的控制器,其特征在于,所述SRAM接口控制模块主要由SRAM读写控制器和NorFlash写控制器相连组成。
5.根据权利要求1所述通用片外NorFlash核心数据保护的控制器,其特征在于,所述AES加解密模块包括:功能控制单元、缓存、10轮子密钥扩展单元、AES加密单元和AES解密单元,其中,缓存、10轮子密钥扩展单元、AES加密单元和AES解密单元分别与功能控制单元相连,缓存、10轮子密钥扩展单元和AES解密单元分别与AES加密单元相连,缓存和10轮子密钥扩展单元分别与AES解密单元相连。
6.一种应用权利要求1所述通用片外NorFlash核心数据保护的控制器的控制方法,其特征在于,它包括数据下载和上电工作两部分;其中,数据下载部分,包括如下步骤:
(1)总线上主机提供下载数据、片外NorFlash芯片的核心数据区域和非核心数据区域的划分信息,同时生成可靠的随机密钥,随机密钥与下载数据一起由总线上主机管理;
(2)总线上主机修改控制和状态寄存器组中核心数据区域的起始地址和大小的相关配置;
(3)总线上主机根据所选用的片外NorFlash芯片的型号修改控制和状态寄存器组中NorFlash编程命令序列的相关配置;
(4)总线上主机将随机密钥写入密钥存储模块,密钥存储模块自动完成擦除EEPROM、写入密钥、读取EEPROM中的数据与写入密钥比较并将结果写入控制和状态寄存器组,在接收到总线读取密钥的请求时返回全0值,在硬件上保证密钥不会被主机获取;主机在检测到密钥成功写入之后,彻底删除密钥存储模块之外的电路中的密钥;
(5)总线上主机使能AES加密功能,AES加解密模块工作在自动模式,并使用密钥存储模块输入的密钥进行加解密操作;
(6)总线上主机通过控制器向片外NorFlash芯片写入数据,当控制器检测到所写入的地址处于非核心数据区域(即写入非核心数据),通过SRAM接口控制模块完成NorFlash数据编程;当控制器检测到所写入的地址处于核心数据区域(即写入核心数据),将写入的数据以128bits分组并由AES加解密模块完成加密后,通过SRAM接口控制模块完成NorFlash数据编程;
(7)下载完成之后,删除总线上主机中的数据并关机;
所述上电工作部分,包括如下步骤:
(1)上电工作之后,总线上主机使用片外NorFlash非核心数据区域中的数据进行初始化;
(2)总线上主机修改控制和状态寄存器组中核心数据区域的起始地址和大小的相关配置;
(3)总线上主机根据所选用的片外NorFlash芯片的型号修改控制和状态寄存器组中NorFlash编程命令序列的相关配置;
(4)总线上主机使能AES解密功能,AES加解密模块正常工作;
(5)控制器自动从密钥存储模块获取密钥,并用于AES解密;
(6)总线上主机通过控制器读取片外NorFlash芯片中的数据,得到的数据都是未加密的数据;控制器读取片外NorFlash芯片非核心区域的数据不经处理送给主机,控制器读取片外NorFlash芯片核心区域的数据通过AES解密之后送给主机。
CN201110309031.1A 2011-10-13 2011-10-13 通用片外NorFlash核心数据保护的控制器及方法 Expired - Fee Related CN102436423B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110309031.1A CN102436423B (zh) 2011-10-13 2011-10-13 通用片外NorFlash核心数据保护的控制器及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110309031.1A CN102436423B (zh) 2011-10-13 2011-10-13 通用片外NorFlash核心数据保护的控制器及方法

Publications (2)

Publication Number Publication Date
CN102436423A true CN102436423A (zh) 2012-05-02
CN102436423B CN102436423B (zh) 2014-09-03

Family

ID=45984494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110309031.1A Expired - Fee Related CN102436423B (zh) 2011-10-13 2011-10-13 通用片外NorFlash核心数据保护的控制器及方法

Country Status (1)

Country Link
CN (1) CN102436423B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103209071A (zh) * 2012-12-05 2013-07-17 无锡华大国奇科技有限公司 Aes加密装置
CN103258172A (zh) * 2012-06-13 2013-08-21 福建睿矽微电子科技有限公司 一种芯片片外Nor Flash总线接口硬件加密装置
CN103873227A (zh) * 2012-12-13 2014-06-18 艺伦半导体技术股份有限公司 一种fpga加密数据流的解密电路及解密方法
CN106802870A (zh) * 2016-12-29 2017-06-06 杭州朔天科技有限公司 一种高效的嵌入式系统芯片Nor‑Flash控制器及控制方法
WO2018068408A1 (zh) * 2016-10-13 2018-04-19 深圳Tcl数字技术有限公司 Nor Flash存储器存储内容保护方法及装置
CN108563964A (zh) * 2018-05-09 2018-09-21 武汉大学 一种fpga外置ram中临时数据的加密装置及方法
CN110490008A (zh) * 2018-05-14 2019-11-22 英韧科技(上海)有限公司 安全装置及安全芯片
CN110489351A (zh) * 2018-05-14 2019-11-22 英韧科技(上海)有限公司 芯片指纹管理装置及安全芯片
CN111709039A (zh) * 2020-05-12 2020-09-25 杭州寰星电子科技有限公司 一种XIP方式运行Flash中加密程序的方法及系统
CN111913892A (zh) * 2019-05-09 2020-11-10 北京忆芯科技有限公司 使用cmb提供开放通道存储设备
CN113220498A (zh) * 2021-05-08 2021-08-06 青芯半导体科技(上海)有限公司 一种支持加密存储的嵌入式Flash控制器
US11132304B2 (en) 2017-11-01 2021-09-28 Realtek Semiconductor Corporation Data accessing device and method
CN114816273A (zh) * 2022-06-27 2022-07-29 杭州优智联科技有限公司 针对Norflash的自适应最优配置的方法、装置及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008058152A2 (en) * 2006-11-07 2008-05-15 Spansion Llc Multiple stakeholder secure memory partitioning and access control
US20080117679A1 (en) * 2006-11-19 2008-05-22 Pramila Srinivasan Securing a flash memory block in a secure device system and method
CN101582765A (zh) * 2009-06-29 2009-11-18 北京交通大学 绑定用户的便携式可信移动装置
CN102063179A (zh) * 2011-01-13 2011-05-18 浙江大学 一种生成轮密钥的分组密码算法的低功耗装置及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008058152A2 (en) * 2006-11-07 2008-05-15 Spansion Llc Multiple stakeholder secure memory partitioning and access control
US20080117679A1 (en) * 2006-11-19 2008-05-22 Pramila Srinivasan Securing a flash memory block in a secure device system and method
CN101582765A (zh) * 2009-06-29 2009-11-18 北京交通大学 绑定用户的便携式可信移动装置
CN102063179A (zh) * 2011-01-13 2011-05-18 浙江大学 一种生成轮密钥的分组密码算法的低功耗装置及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DR.HELENA HANDSCHUH等: "Securing Flash Technology", 《2007 WORKSHOP ON FAULT DIAGNOSIS AND TOLERANCE IN CRYPTOGRAPHY》, 30 September 2007 (2007-09-30), pages 3 - 17 *
王云峰等: "混沌随机数发生器的设计", 《半导体学报》, vol. 26, no. 12, 31 December 2005 (2005-12-31), pages 2433 - 2439 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103258172A (zh) * 2012-06-13 2013-08-21 福建睿矽微电子科技有限公司 一种芯片片外Nor Flash总线接口硬件加密装置
CN103209071A (zh) * 2012-12-05 2013-07-17 无锡华大国奇科技有限公司 Aes加密装置
CN103873227A (zh) * 2012-12-13 2014-06-18 艺伦半导体技术股份有限公司 一种fpga加密数据流的解密电路及解密方法
WO2018068408A1 (zh) * 2016-10-13 2018-04-19 深圳Tcl数字技术有限公司 Nor Flash存储器存储内容保护方法及装置
CN106802870A (zh) * 2016-12-29 2017-06-06 杭州朔天科技有限公司 一种高效的嵌入式系统芯片Nor‑Flash控制器及控制方法
US11132304B2 (en) 2017-11-01 2021-09-28 Realtek Semiconductor Corporation Data accessing device and method
CN108563964A (zh) * 2018-05-09 2018-09-21 武汉大学 一种fpga外置ram中临时数据的加密装置及方法
US11106829B2 (en) 2018-05-14 2021-08-31 Innogrit Technologies Co., Ltd. Chip fingerprint management based upon one-time programmable memory
CN110489351B (zh) * 2018-05-14 2021-03-09 英韧科技(上海)有限公司 芯片指纹管理装置及安全芯片
CN110489351A (zh) * 2018-05-14 2019-11-22 英韧科技(上海)有限公司 芯片指纹管理装置及安全芯片
CN110490008A (zh) * 2018-05-14 2019-11-22 英韧科技(上海)有限公司 安全装置及安全芯片
CN111913892A (zh) * 2019-05-09 2020-11-10 北京忆芯科技有限公司 使用cmb提供开放通道存储设备
CN111709039A (zh) * 2020-05-12 2020-09-25 杭州寰星电子科技有限公司 一种XIP方式运行Flash中加密程序的方法及系统
CN111709039B (zh) * 2020-05-12 2023-04-28 杭州寰星电子科技有限公司 一种XIP方式运行Flash中加密程序的方法及系统
CN113220498A (zh) * 2021-05-08 2021-08-06 青芯半导体科技(上海)有限公司 一种支持加密存储的嵌入式Flash控制器
CN114816273A (zh) * 2022-06-27 2022-07-29 杭州优智联科技有限公司 针对Norflash的自适应最优配置的方法、装置及介质
CN114816273B (zh) * 2022-06-27 2023-06-09 杭州优智联科技有限公司 针对Norflash的自适应最优配置的方法、装置及介质

Also Published As

Publication number Publication date
CN102436423B (zh) 2014-09-03

Similar Documents

Publication Publication Date Title
CN102436423B (zh) 通用片外NorFlash核心数据保护的控制器及方法
CN101782956B (zh) 一种基于aes实时加密的数据保护方法及装置
KR101975027B1 (ko) 시스템 온 칩, 이의 동작 방법, 이를 포함하는 장치들
US9160531B2 (en) Host device, semiconductor memory device, and authentication method
US20190384938A1 (en) Storage apparatus and method for address scrambling
US20140164793A1 (en) Cryptographic information association to memory regions
CN103154963A (zh) 对地址的加扰和对需存储于存储设备中的写入数据的加密
WO2016042287A1 (en) Puf and address dependent data encryption
US11222144B2 (en) Self-encrypting storage device and protection method
CN103258172A (zh) 一种芯片片外Nor Flash总线接口硬件加密装置
CN103761456B (zh) 一种单片机核心代码防破解的方法
CN100405335C (zh) 存储器信息保护系统、半导体存储器及存储器信息的保护方法
CN111488630B (zh) 可配置安全存储区域的存储装置及其操作方法
CN105184196A (zh) 电子系统信息安全保护系统及方法
US20170039397A1 (en) Encryption/decryption apparatus, controller and encryption key protection method
CN105095945A (zh) 一种安全存储数据的sd卡
JP2001022646A (ja) メモリ装置
CN102201044A (zh) 一种usb安全密钥
CN101540191A (zh) 实时加密u盘及高速加解密方法
CN109492418A (zh) 一种基于aes算法的通用dsp安全加解密系统
CN204669402U (zh) 一种基于u盘的云数据信息加密解密系统
CN101901629A (zh) 非易失性存储器保护系统和保护方法
CN101482909B (zh) 加密算法模块加速器及其数据高速加解密方法
CN101251885A (zh) 一种保护mcu内软件程序安全的方法及装置
CN103336919A (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
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Yan Xiaolang

Inventor after: Liu Changjiang

Inventor after: Shen Haibin

Inventor after: Wu Xinrong

Inventor after: Xu Shiwei

Inventor after: Wu Xiang

Inventor after: Chen Xi

Inventor before: Shen Haibin

Inventor before: Wu Xinrong

Inventor before: Xu Shiwei

Inventor before: Wu Xiang

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: SHEN HAIBIN WU XINRONG XU SHIWEI WU XIANG TO: YAN XIAOLANG LIU CHANGJIANG SHEN HAIBIN WU XINRONG XU SHIWEI WU XIANG CHEN XI

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: 20140903

Termination date: 20151013

EXPY Termination of patent right or utility model