一种基于SPI的并行加解密通讯装置及方法与流程

    技术2026-05-12  9


    本发明涉及通信技术,特别涉及一种基于spi的并行加解密通讯装置及方法。


    背景技术:

    1、spi flash存储器件由于具有成本较低,稳定性较高,对外接口统一,易用性等优点,已成为嵌入式soc芯片中很常见的非易失性存储介质之一,为了支持spi flash存储器件,soc芯片需要支持spi flash主控制器,且随着信息安全越来越重要,在很多应用场景下,要求存储在spi flash存储器件中的数据为密文,以提高数据存储的安全性,因此要求与spi flash存储器件通讯时,spi flash主控制器首先得具备正常的通讯功能,其次要求读写数据时具备加解密的功能。

    2、为了实现正常通讯功能,目前市面上常用的实现方案为spi flash主控制器集成所有通讯功能:包括spi flash存储器件的指令解析,传输速度切换,io输入输出属性切换;但是该方案会有两个缺陷,第一个缺陷由于需要提前考虑上面上常用spi flash存储器件支持的指令,灵活性与spi flash存储器件适配性较差,第二个缺陷由于硬件负责所有命令解析,硬件设计成本较高。

    3、为了实现数据加解密功能,目前市面上常用的实现方案主要有两种,第一种方案,数据通讯与加解密功能为串行,本方案的缺陷是通讯效率较低;第二种方案,数据通讯与加解密功能可以并行,但是在spi flash主控制器集成加解密模块,硬件成本高,且加解密模块无法当成公用算法模块复用;同时加解密模块使用的密钥存储在flash介质中,掉电后密钥一直存在,非上电实时生成,导致存储在spi flash存储器件中的密文数据,安全防护能力变弱。


    技术实现思路

    1、本发明旨在解决上述技术方案中的缺陷,本发明是通过以下技术方案实现的:

    2、本发明一方面提供一种基于spi的并行加解密通讯装置:包括spi flash主控制器模块,加解密模块,puf模块,dma模块,cpu模块,内嵌存储器模块,时钟模块,复位模块,其中:

    3、spi flash主控制器与cpu和dma模块相连,用于与spi flash存储器件通讯时,cpu配置spi flash控制器通讯参数,并通过dma模块自动搬移数据,对称算法加密模块与cpu模块和puf模块相连,用于实现对通讯数据的加解密。spi flash主控制器模块与spi flash存储器件通讯时,spi flash主控制器模块提供指令、地址、dummy、数据阶段各阶段数据长度的配置以及各阶段传输速度的配置,同时传输时硬件会根据各阶段的长度配置自动切换io的输入与输出属性,同时通讯时,支持standard spi mode,dual spi mode,quad spi mode与qpi mode四种通讯模式;

    4、加解密模块支持对称算法加解密模块与非对称算法加解密模块,对称算法加解密模块支持ctr模式,且提供两组key寄存器,同时提供key选择开关,控制对称算法加解密模块选择当前运算时,采用哪组key,同时当选择开关置为1时,key寄存器值自动配置为puf模块生成的key,当选择开关置为0时,key寄存器值来源于cpu输入。

    5、puf(物理防克隆技术)模块,拥有基于puf的高安全芯片产品信任根。通过puf模块产生的加密密钥唯一,每颗芯片密钥各不相同,并且对芯片使用者没有获取通道,puf模块派生的秘钥,通过配置,自动作为对称算法加密模块的key值。

    6、dma模块实现spi接口模块与指定系统sram之间的数据搬移,dma支持8个通讯通道,spi接收数据时对应的dma通道为dmachannel 6,spi发送数据时对应的dma通道为dmachannel 7;可以配置每个通讯通道优先级,每个通道都有外设请求传输停止信号,dma模块停止传输除了由常规的dma传输长度控制外,可以由外设请求传输停止信号控制,支持spi模块接收或者发送数据完成后,触发外设请求传输停止信号,请求dma通道传输终止功能。

    7、cpu模块为soc芯片的运算控制核心,是信息处理、程序运行的最终执行单元。

    8、内嵌存储器模块负责程序与数据存储;

    9、时钟模块是为各个模块提供时钟,为各个模块协调工作提供控制信号。

    10、复位模块,支持对芯片进行系统复位,本发明支持cpu对spi flash主控制器模块进行软复位。

    11、本发明还提供一种基于spi的并行通讯方法,包括如下步骤:

    12、1)cpu收到发往spi flash存储器件的命令后,cpu解析命令类型,并根据命令类型配置spi flash主控制器指令、地址、dummy、数据各阶段的长度;

    13、2)cpu根据解析的命令类型配置spi flash主控制器指令、地址、dummy、数据各阶段的传输速度与读写模式,spi flash主控制器根据各阶段的配置进行传输并自动完成io输入输出属性的切换;

    14、3)cpu配置好dma传输控制参数与长度,在sram与spi flash主控制器通讯buffer中自动搬移数据,启动spi flash主控制器与spi flash之间的数据传输,传输完成后,自动产生dma结束中断与spi传输完成中断;

    15、本发明还提供一种基于spi的并行加密方法,包括如下步骤:当cpu解析命令类型为往spi flash写数据时,cpu配置加密数据分组长度单位与写入spi flash存储器件的长度单位均为n,n值根据spi flash存储器件写入n字节数据的时间正好可以覆盖算法模块ctr模式加密n字节的时间得出,spi flash主控制器通过dma通道传输完n字节数据后,spiflash存储器件会启动写flash,cpu利用spi flash存储器件写的时间,启动对称算法加密模块加密下一组n字节数据,对称算法加密模块采用ctr模式,加密key采用puf模块生成的key,ctr模式计数器初值t为通过待写入flash首地址进行a字节对齐后得到,a为对称算法ctr模式加密时最小输入数据分组长度,但是后续每加密完a字节数据后,t初值需要增加a,直至完成所有数据的加密写入。

    16、本发明还提供了一种基于spi的并行解密方法,包括如下步骤:当cpu解析命令类型为从spi flash存储器件读数据时;cpu配置解密数据的长度单位m,m值根据spi总线传输m字节数据的时间正好可以覆盖加解密模块ctr模式解密m字节的时间得出。spi主控制器通过dma通道read下一组m字节数据;对称算法解密采用ctr模式,解密key采用puf模块生成的key,ctr模式计数器初值t为通过待写入flash首地址进行a字节对齐后得到,a为对称算法ctr模式加密时最小输入数据分组长度,但是后续每加密完a字节数据后,t初值需要增加a,直至完成所有数据的解密读出。

    17、与现有技术相比,本发明带来的有益效果为:

    18、1)本发明中spi flash主控制器模块与spi flash存储器件通讯时,将命令解析功能由cpu负责,spi flash主控制器负责提供指令、地址、dummy、数据阶段各阶段数据长度配置,以及各阶段传输速度的配置,同时传输时硬件会根据各阶段的长度配置自动切换io的输入与输出属性,提高了spi flash主控制器的灵活性与spi flash存储器件适配性,同时也降低了硬件解析指令的成本;2)本发明中将spi flash主控制器与加解密模块分解为独立模块,两模块总线间没有直接通讯,提高了加解密模块的复用性,降低了spi flash主控制器的设计复杂度;3)本发明中,利用spi flash存储器件的读写命令执行特性、总线传输速度与对称算法ctr模式加解密速度,将往spi flash存储器件传输的读写命令通讯时间与加解密时间并行运行,降低了执行成本,同时提高了加解密通讯效率;4)本发明中,对称算法加解密模块引入puf模块密钥,保证一芯一密,较大提升了spi flash中存储数据的安全性。


    技术特征:

    1.一种基于spi的并行加解密通讯装置,除了包括cpu、存储器和常规模块外,其特征在于,还包括spiflash主控制器模块,对称算法加解密模块,puf模块与dma模块,spiflash主控制器与cpu和dma模块相连,用于与spi flash存储器件通讯时,cpu配置spi flash控制器通讯参数,并通过dma模块自动搬移数据,对称算法加密模块与cpu模块和puf模块相连,用于实现对通讯数据的加解密。

    2.如权利要求1所述的并行加解密通讯装置,其特征在于,所述spiflash主控制器模块提供指令、地址、dummy、数据阶段各阶段长度的配置以及各阶段传输速度的配置,同时传输时硬件会根据各阶段的读写模式配置自动切换io的输入与输出属性。

    3.如权利要求1所述的并行加解密通讯装置,其特征在于,所述spiflash主控制器模块与对称算法加解密模块为两个独立的模块,两模块总线间没有直接通讯。

    4.如权利要求1所述的并行加解密通讯装置,其特征在于,所述对称算法加解密模块支持ctr模式,且提供两组key寄存器,同时提供key选择开关,控制对称算法加解密模块选择当前运算时,采用哪组key,同时当选择开关置为1时,key寄存器值自动配置为puf模块生成的key,当选择开关置为0时,key寄存器值来源于cpu输入。

    5.一种基于spi的并行通讯方法,其特征在于,包括soc芯片收到发往spi flash存储器件的命令后,cpu解析命令类型,并根据命令类型配置spi flash主控制器指令、地址、dummy、数据各阶段的长度,以及配置各阶段的传输速度与读写模式,spi flash主控制器根据各阶段的配置进行传输并自动完成io输入输出属性的切换,同时cpu配置好dma传输参数,在系统sram与spi flash主控制器通讯buffer中自动搬移数据。

    6.一种基于spi的并行加密方法,其特征在于,包括cpu解析命令类型为往spi flash存储器件写数据时,cpu配置加密数据分组长度单位与写入spi flash存储器件的长度单位均为n,n值根据spiflash存储器件写入n字节数据的时间正好可以覆盖算法模块ctr模式加密n字节的时间得出。

    7.一种基于spi的并行解密方法,其特征在于,包括cpu解析命令类型为从spi flash存储器件读数据时,cpu配置解密数据的长度单位m,m值根据spi总线传输m字节数据的时间正好可以覆盖加解密模块ctr模式解密m字节的时间得出。


    技术总结
    本发明公开了一种基于SPI的并行加解密通讯装置及方法。本发明装置包括SPI Flash主控制器模块,对称算法加解密模块,PUF模块与DMA模块,SPI Flash主控制器与CPU和DMA模块相连,用于与SPI Flash存储器件通讯时,CPU配置SPI Flash控制器通讯参数,并通过DMA模块自动搬移数据,对称算法加密模块与CPU模块和PUF模块相连,用于实现对通讯数据的加解密。本发明中SPI Flash主控制器模块与对称算法加解密模块,两模块总线间没有直接通讯,提高了加解密模块的复用性;利用SPI Flash存储器件的读写命令执行特性、总线数据传输速度与对称算法CTR模式加解密速度,将往SPI Flash存储器件传输的读写命令通讯时间与加解密时间并行运行,降低了执行成本,同时提高了加解密通讯效率。

    技术研发人员:伍延禄,陈峰
    受保护的技术使用者:北京中电华大电子设计有限责任公司
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-42772.html

    最新回复(0)