利索能及
我要发布
收藏
专利号: 2018106038833
申请人: 广东工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-09-11
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于国密算法的云平台客户端数据加解密系统,其特征在于,包括硬件加解密设备、云平台客户端设备、WIFI通信设备和云平台服务器;其中所述云平台客户端设备与硬件加解密设备进行数据传输,硬件加解密设备与WIFI通信设备进行数据传输,WIFI通信设备与云平台服务器进行数据传输;

所述硬件加解密设备包括随机数生成器模块、物理不可克隆函数(PUF)硬件加速模块、国密算法SM4硬件加速模块和MCU模块;其中随机数生成模块的输出端与物理不可克隆函数(PUF)硬件加速模块的输入端电连接;物理不可克隆函数(PUF)硬件加速模块的输出端与国密算法SM4硬件加速模块的输入端电连接,MCU模块分别与随机数生成器模块、物理不可克隆函数(PUF)硬件加速模块、国密算法SM4硬件加速模块进行数据传输。

2.根据权利要求1所述的一种基于国密算法的云平台客户端数据加解密系统,其特征在于,所述硬件加解密设备还包括若干个片外设备,所述片外设备包括UART串行外设接口、I/O接口、JTAG接口、定时器模块、PLL锁相环模块。

3.根据权利要求1所述的一种基于国密算法的云平台客户端数据加解密系统,其特征在于,所述硬件加解密设备架构为中天微MCU+千万门级FPGA,所述MCU模块与物理不可克隆函数(PUF)硬件加速模块、国密算法SM4硬件加速模块均采用AXI总线进行连接。

4.根据权利要求1所述的一种基于国密算法的云平台客户端数据加解密系统,其特征在于,所述物理不可克隆函数(PUF)硬件加速模块由延时路径和延时路径尾部的仲裁器构成;

所述延时路径是通过多个节点组成,而每个节点通过两个二选一的多路选择器组成。

每个节点的两个数据选择器共同使用一个控制信号,该控制信号是高时,上一节点的两个多路选择器的输出将会直接平行传输到本节点的两个多路选择器的输出上;该控制信号为低时,上一节点的两个多路选择器的输出将会交叉传输到本节点的两个多路选择器的输出上;

所述仲裁器通过跳变信号从延时路径尾部节点的两个多路选择器输出高或低来判断哪一路的信号率先到达。

5.根据权利要求1所述的一种基于国密算法的云平台客户端数据加解密系统,其特征在于,国密算法SM4硬件加速模块主要的核心模块是通过国密算法SM4的实现逻辑所构成,包括两个子模块:轮密钥生成子模块和加/解密子模块;所述轮密钥生成子模块是通过密钥扩展算法实现的逻辑模块,对系统密钥进行逻辑运算,进而生成轮密钥并保存在系统寄存器中;所述加/解密模块主要是通过对数据进行逻辑运算进而得到相应的加/解密数据。

6.根据权利要求1所述的一种基于国密算法的云平台客户端数据加解密系统,其特征在于,所述云平台客户端设备包括物联网设备、车联网设备、智能穿戴设备、智能家居设备中的一种或多种。

7.一种根据权利要求1-6任一项所述的方法,其特征在于,包括以下步骤:S01:初始化各个子模块,通过软件定义结构体分别指向各个子模块的硬件部分的基地址;

S02:初始化并复位随机数生成器(RNG)模块;

S03:在随机数生成器模块中的控制寄存器中设定真随机数模式并启动模块运算;

S04:读取随机数生成器模块的输出寄存器的值,并将其作为物理不可克隆函数(PUF)硬件加速模块的激励;

S05:通过观察PUF硬件加速模块的状态寄存器的值来判断PUF模块是否启动运算,若启动往下执行,若未启动则返回S04;

S06:读取PUF模块的输出数据寄存器的值,并将该值作为国密算法SM4硬件加速模块的加解密密钥输入到密钥寄存器中,并在这一步分加密和解密两个流程;

S00:用户可以随机输入加密数据或者直接将设备数据通过串行通信传输到加解密硬件设备,在这一步初始化和复位SM4硬件加速模块并进行数据更新;

S07:当SM4模块第一次被激活时,将待加密数据写入到SM4硬件加速模块的输入数据寄存器;

S08:通过状态寄存器检查SM4密钥是否生成,若未生成完成则返回S07,若生成完毕则继续往下运行;

S09:通过软件再次对SM4硬件加速模块的数据进行更新,确保待加密数据被输入到输入数据寄存器中;

S10:开始启动SM4硬件加速模块的逻辑运算;

S11:读取SM4硬件加速模块的状态寄存器的值;

S12:通过状态寄存器的值来判断SM4硬件加速模块是否逻辑运算完成,若未完成则返回S11,若完成则继续往下运行;

S13:若加密逻辑运算完成后,则将加密完成后的数据存放至输出数据寄存器;

S14:判断是否需要解密,若不需要解密则输出密文,若需要解密则运行S1’;

S1’:将SM4硬件加速模块加密后的数据写入待解密数据寄存器;

S2’:启动SM4硬件加速模块逻辑解密逻辑运算;

S3’:读取SM4硬件加速模块状态寄存器的值;

S4’:根据SM4硬件加速模块状态寄存器的值判断是否解密完成,若解密未完成则返回S3’,若加密完成则接着往下运行;

S5’:解密逻辑运算完成后将SM4硬件加速模块解密数据存放在解密数据输出寄存器中,解密完成。