【技术实现步骤摘要】
基于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则采用安全协处理器方案,提出了安全内存加密,安全 ...
【技术保护点】
【技术特征摘要】
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待传输数据基于国密祖...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。