基于RISC-V的轻量级数据总线加密安全传输方法技术

技术编号:34719186 阅读:47 留言:0更新日期:2022-08-31 18:03
本发明专利技术涉及计算机和电子的技术领域,特别是涉及一种基于RISC

【技术实现步骤摘要】
基于RISC

V的轻量级数据总线加密安全传输方法


[0001]本专利技术涉及计算机和电子的
,特别是涉及一种基于RISC

V的轻量级数据总线加密安全传输方法。

技术介绍

[0002]RISC

V是一种新兴的指令集架构,适用于从简单的微控制器到高性能CPU的各种应用。近年来,越来越多的商业供应商计划使用该架构构建片上系统,并采用总线传输提高芯片间、芯片和内存之间的数据交互速率。基于RISC

V的片上系统越来越容易受到物理攻击,因此,RISC

V处理器的安全方面成为一个重要的问题。
[0003]对于RISC

V,攻击者常见的执行物理攻击方法是直接执行访存操作或在总线传输数据的过程中非法访问并获取数据,从而发生信息泄露。其中,最常见的攻击方式就是通过读取或写入所有类型的非易失性外部存储器(例如,板载闪存芯片、安全数码卡、机械硬盘、固态硬盘等)获取内存中的代码和数据。除此之外,攻击者还可以采用冷启动攻击从内存中提取用户数据。即使在实时系统上,攻击者还可以通过在处理器和内存之间插入调试系统,监听总线通信以获取用户数据。
[0004]通常,高端处理器会采用内存加密的方式阻止上述威胁,常见的对策是Intel SGX和AMD SME方案。Intel SGX采用强加密(AES)和消息验证代码(MAC)来维护存储在内存中的数据的机密性和完整性。AMD则采用安全协处理器方案,提出了安全内存加密,安全虚拟化加密以及基于硬件的哈希机制,并采用地址混淆方案实现内存加密和内存保护。上述两种安全机制会显着的提高性能开销,因此该解决方案并不适合延迟敏感和低功耗的嵌入式设备。
[0005]然而,嵌入式设备也有相应的防御对策。ARM TurstZone采用“隔离”的思想,将系统划分为安全和不安全两种模式,并规定所有的安全资源只能在安全模式下进行访问,同时,在AXI总线上增加NS标记位以实现模式间的切换。网络嵌入式系统的安全架构Sancus,则提出软件模块隔离、远程证明、安全通信和安全链接等安全属性。其中,安全通信模块通过指定受保护数据部分中的数据和代码只能通过特定的入口地址访问或执行,以此确保受保护的数据部分不被恶意提取,从而保证真实性、完整性。但是,上述两种方案只是从数据访问方面阻止了数据泄漏,还是可以通过数据总线获取用户的数据信息。
[0006]综上所述,高端处理器芯片的防御机制性能损耗过大,不适合轻量级的嵌入式设备,然而嵌入式设备的防御方法只是从数据流动层面加以限制,并没有对数据本身进行防御。因此,现有方法还没有实现对RISC

V总线传输安全防御方法。

技术实现思路

[0007]为解决上述技术问题,本专利技术提供一种通过轻量级总线加密传输安全方法,实现了强加密内存DRAM,极大的降低了处理器芯片的功率开销,且可以有效的防御针对内存数据的直接物理攻击的基于RISC

V的轻量级数据总线加密安全传输方法。
[0008]本专利技术的基于RISC

V的轻量级数据总线加密安全传输方法,包括如下技术方案:
[0009]1)、设计总线安全分析方法,以分析RISC

V芯片设计中总线的安全性

通过统计总线防御机制常见的实现特征对芯片设计文档进行分析,进而根据统计特征的数量,确定芯片总线传输的安全性,并给出关于总线传输的分析报告;
[0010]2)、搭建基于国密祖冲之算法的轻量级总线加密传输安全方法

对总线两端传输数据的模块增加额外的加密模块,将总线上传输的明文数据通过加密模块生成密文数据再进行传输,待密文到达数据请求模块时解密,从而实现了总线数据的安全传输;
[0011]3)、设计自动化嵌入轻量级总线传输安全工具,将上述总线加密传输安全方法嵌入到RISC

V芯片中

针对不同的芯片设计,实现将轻量级总线加密传输安全方法自动化嵌入到已有的RISC

V芯片中。
[0012]本专利技术的基于RISC

V的轻量级数据总线加密安全传输方法,所述设计总线安全分析方法,以分析RISC

V芯片设计中总线的安全性主要统计芯片设计文件中现有总线防护机制的特征模式,之后通过上述特征,评估芯片的总线安全性;
[0013]统计芯片设计文件中现有总线防护机制的特征部分,该部分统计的特征模式包括:待增强芯片中所有模块的名称中包含安全、加密、防御等含义的模块;待增强芯片中某一模块中存在成对出现的较大位宽的输入和输出数据信号;待增强芯片中某一模块中存在对另一模块的多次调用或例化;以及待增强芯片中某一模块中存在大量对同一信号的选择性赋值;
[0014]统计芯片设计文件中现有总线防护机制的特征部分的具体过程包括:遍历芯片设计文档,将芯片设计文档分为各个模块;在各个模块中检测总线防护机制的特征,并统计各个模块中出现特征的数量。
[0015]通过统计安全机制的特征,评估芯片的总线安全性,包括:根据统计特征的数量,确定芯片中包含的总线防护机制模块名称;输出芯片中总线防护机制模块,并给出总线传输的分析报告。
[0016]本专利技术的基于RISC

V的轻量级数据总线加密安全传输方法,所述搭建基于国密祖冲之算法的轻量级总线加密传输安全方法要通过物理不可克隆函数(PUF)模块、随机数生成器、总线数据加密模块和总线数据解密模块四个模块组成,
[0017]基于国密祖冲之算法的轻量级总线传输方法整体流程,包括以下步骤:
[0018]1)基于国密祖冲之算法的轻量级总线传输加密过程:
[0019]数据的发送方使用PUF、随机数生成器和数据加密模块,将原始的32bit数据加密生成128bit数据,并通过总线传输
[0020]2)基于国密祖冲之算法的轻量级总线传输解密过程:
[0021]数据的接收方使用PUF、随机数生成器和数据解密模块,将从总线获取到的128bit数据通过解密生成32bit原始数据
[0022]基于国密祖冲之算法的轻量级总线传输加密过程,包括如下步骤:
[0023]1)使用随机数发生器模块产生32bit的随机数;
[0024]2)使用PUF模块产生芯片唯一的两组128bit的数据,分别作为加/解密模块的初始密钥和初始向量值;
[0025]3)将原始的64bit结果数据与32bit的随机数通过拼接方法进行数据拼接,扩展形
成128bit待传输数据;
[0026]4)祖冲之算法加密模块使用PUF模块提供的初始向量和初始密钥,生成连续的32位流密钥;
[0027]5)使用一个缓冲区,将连续的4个32bit的流密钥组合,产生128bit的加密密钥;
[0028]6)使用128bit加密密钥与128本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于RISC

V的轻量级数据总线加密安全传输方法,其特征在于,包括如下技术方案:1)、设计总线安全分析方法,以分析RISC

V芯片设计中总线的安全性

通过统计总线防御机制常见的实现特征对芯片设计文档进行分析,进而根据统计特征的数量,确定芯片总线传输的安全性,并给出关于总线传输的分析报告;2)、搭建基于国密祖冲之算法的轻量级总线加密传输安全方法

对总线两端传输数据的模块增加额外的加密模块,将总线上传输的明文数据通过加密模块生成密文数据再进行传输,待密文到达数据请求模块时解密,从而实现了总线数据的安全传输;3)、设计自动化嵌入轻量级总线传输安全工具,将上述总线加密传输安全方法嵌入到RISC

V芯片中

针对不同的芯片设计,实现将轻量级总线加密传输安全方法自动化嵌入到已有的RISC

V芯片中。2.如权利要求1所述的基于RISC

V的轻量级数据总线加密安全传输方法,其特征在于,所述设计总线安全分析方法,以分析RISC

V芯片设计中总线的安全性主要统计芯片设计文件中现有总线防护机制的特征模式,之后通过上述特征,评估芯片的总线安全性;统计芯片设计文件中现有总线防护机制的特征部分,该部分统计的特征模式包括:待增强芯片中所有模块的名称中包含安全、加密、防御等含义的模块;待增强芯片中某一模块中存在成对出现的较大位宽的输入和输出数据信号;待增强芯片中某一模块中存在对另一模块的多次调用或例化;以及待增强芯片中某一模块中存在大量对同一信号的选择性赋值;统计芯片设计文件中现有总线防护机制的特征部分的具体过程包括:遍历芯片设计文档,将芯片设计文档分为各个模块;在各个模块中检测总线防护机制的特征,并统计各个模块中出现特征的数量。通过统计安全机制的特征,评估芯片的总线安全性,包括:根据统计特征的数量,确定芯片中包含的总线防护机制模块名称;输出芯片中总线防护机制模块,并给出总线传输的分析报告。3.如权利要求2所述的基于RISC

V的轻量级数据总线加密安全传输方法,其特征在于,所述搭建基于国密祖冲之算法的轻量级总线加密传输安全方法要通过物理不可克隆函数(PUF)模块、随机数生成器、总线数据加密模块和总线数据解密模块四个模块组成,基于国密祖冲之算法的轻量级总线传输方法整体流程,包括以下步骤:1)基于国密祖冲之算法的轻量级总线传输加密过程:数据的发送方使用PUF、随机数生成器和数据加密模块,将原始的32bit数据加密生成128bit数据,并通过总线传输2)基于国密祖冲之算法的轻量级总线传输解密过程:数据的接收方使用PUF、随机数生成器和数据解密模块,将从总线获取到的128bit数据通过解密生成32bit原始数据基于国密祖冲之算法的轻量级总线传输加密过程,包括如下步骤:1)使用随机数发生器模块产生32bit的随机数;2)使用PUF模块产生芯片唯一的两组128bit的数据,分别作为加/解密模块的初始密钥和初始向量值;
3)将原始的64bit结果数据与32bit的随机数通过拼接方法进行数据拼接,扩展形成128bit待传输数据;4)祖冲之算法加密模块使用PUF模块提供的初始向量和初始密钥,生成连续的32位流密钥;5)使用一个缓冲区,将连续的4个32bit的流密钥组合,产生128bit的加密密钥;6)使用128bit加密密钥与128bit的待传输数据异或得到密文数据,并将其在总线上传输;其中,128bit待传输数据的拼接方法,包括如下步骤:1)64bit结果数据的高32bit和低32bit异或之后与随机数进行异或产生32bit校验数据;2)组合随机数、校验数据和结果数据形成128bit待传输数据基于国密祖...

【专利技术属性】
技术研发人员:沈海华李杉
申请(专利权)人:中国科学院大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1