神经网络模型加密数据的解密方法、片上系统及电子设备技术方案

技术编号:38706938 阅读:15 留言:0更新日期:2023-09-08 14:47
公开了一种神经网络模型加密数据的解密方法、片上系统及电子设备,该解密方法包括:在片上系统启动后,获取来自处理器的第一访问请求;基于第一访问请求确定解密模块访问神经网络模型加密数据的权限;响应于解密模块具有访问神经网络模型加密数据的权限,基于第一访问请求中的访问地址,从存储器获取神经网络模型加密数据;确定神经网络模型密钥,并基于神经网络模型密钥对神经网络模型加密数据进行解密,得到解密后的神经网络模型数据。本公开在保证神经网络模型数据安全隐私的前提下,在启动阶段省略解密操作,在运行阶段执行解密操作,能够缩短片上系统启动时长,实现灵活解密。实现灵活解密。实现灵活解密。

【技术实现步骤摘要】
神经网络模型加密数据的解密方法、片上系统及电子设备


[0001]本公开涉及数据安全
,尤其涉及一种神经网络模型加密数据的解密方法、片上系统、计算机可读存储介质及电子设备。

技术介绍

[0002]随着人工智能(Artificial Intelligence,AI)的迅速发展,神经网络处理器在智能驾驶、图像识别等众多场景中应用越来越广泛。为了防止神经网络处理器进行运算的神经网络模型数据被篡改导致功能安全性降低,需要对神经网络模型数据的安全与隐私进行保护。

技术实现思路

[0003]为了防止操作系统在运行阶段对神经网络模型数据进行篡改,相关技术中,在片上系统(System on Chip,SoC)的开发阶段设置保护机制:将神经网络模型数据进行加密后存储在存储器DDR的特定地址段中;在SoC启动阶段,由安全协议加速器SPAcc访问DDR中存储的神经网络模型加密数据进行解密,解密之后设置SPAcc禁止访问DDR的特定地址段存储的数据;SoC启动完成进入运行阶段后,设置只有神经网络处理器具有访问DDR的特定地址段存储的数据的权限。相关技术中解密过程只能受限于启动阶段,并且对神经网络模型加密数据进行解密的过程占用资源较大,在启动阶段解密严重拖慢SoC的启动速度;另外为了防止神经网络处理器模型数据泄漏,需要将启动阶段的部分代码进行隐藏,隐藏成本较高,且不利于二次开发。
[0004]为了解决上述技术问题,本公开提供了一种片上系统和基于该片上系统的神经网络模型加密数据解密方法,在片上系统启动后,通过片上系统中的解密模块在满足解密条件的情况下执行解密操作,在运行阶段解密能够缩短SoC启动时长、实现灵活解密;并且可以公开启动阶段的程序代码,有利于二次开发。
[0005]本公开的第一个方面,提供了一种神经网络模型加密数据的解密方法,包括:在片上系统启动后,通过所述片上系统中的解密模块获取来自所述片上系统中处理器的第一访问请求;通过所述解密模块基于所述第一访问请求确定所述解密模块访问神经网络模型加密数据的权限;响应于所述解密模块具有访问神经网络模型加密数据的权限,基于所述第一访问请求中的访问地址,通过所述解密模块从所述片上系统中的存储器获取所述神经网络模型加密数据;通过所述解密模块确定神经网络模型密钥,并基于所述神经网络模型密钥对所述神经网络模型加密数据进行解密,得到解密后的神经网络模型数据。
[0006]本公开的第二个方面,提供了一种片上系统,包括:存储器、处理器以及与所述存储器和所述处理器耦接的解密模块;所述存储器,用于存储神经网络模型加密数据;所述处理器,用于在所述片上系统启动后,向所述解密模块发送第一访问请求;所述解密模块,用于获取来自所述处理器的所述第一访问请求;基于所述第一访问请求确定所述解密模块具有访问所述神经网络模型加密数据的权限,基于所述第一访问请求中的访问地址,从所述
存储器获取所述神经网络模型加密数据;确定神经网络模型密钥,并基于所述神经网络模型密钥对所述神经网络模型加密数据进行解密,得到解密后的神经网络模型数据。
[0007]本公开的第三个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一所述的神经网络模型加密数据的解密方法。
[0008]本公开的第四个方面,提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述指令,并执行所述指令以实现上述任一所述的神经网络模型加密数据的解密方法。
[0009]本公开第五个方面,提供了一种计算机程序产品,当所述计算机程序产品中的指令被处理器执行时,执行本公开第一方面实施例提供的神经网络模型加密数据的解密方法。
[0010]本公开提供的解密方法,在SoC运行阶段,通过SoC中的解密模块获取来自SoC中处理器的第一访问请求;基于第一访问请求确定解密模块访问神经网络模型加密数据的权限;当解密模块具有访问权限时,基于第一访问请求中的访问地址,通过解密模块从SoC中的存储器获取神经网络模型加密数据;解密模块基于获得的神经网络模型密钥对神经网络模型加密数据进行解密,得到解密后的神经网络模型数据。本公开提供的解密方法,解密模块在运行阶段执行解密操作,能够缩短SoC启动时长;SoC在运行阶段可以支持多次解密,而且每次执行解密操作时,可以结合需求对部分神经网络模型加密数据进行,从而能够实现灵活解密;并且,由于在运行阶段解密,使得启动阶段的程序代码无需隐藏,有利于二次开发。
附图说明
[0011]图1为相关技术提供的一种片上系统安全启动运行的流程示意图。
[0012]图2为本公开一示例性实施例提供的片上系统安全启动运行的流程示意图。
[0013]图3为本公开一示例性实施例提供的片上系统的结构示意图。
[0014]图4为本公开一示例性实施例提供的神经网络模型加密数据的解密方法的流程示意图。
[0015]图5为本公开另一示例性实施例提供的神经网络模型加密数据的解密方法的流程示意图。
[0016]图6为本公开再一示例性实施例提供的神经网络模型加密数据的解密方法的流程示意图。
[0017]图7为本公开又一示例性实施例提供的神经网络模型加密数据的解密方法的流程示意图。
[0018]图8为本公开再一示例性实施例提供的神经网络模型加密数据的解密方法的流程示意图。
[0019]图9为本公开又一示例性实施例提供的神经网络模型加密数据的解密方法的流程示意图。
[0020]图10为本公开再一示例性实施例提供的神经网络模型加密数据的解密方法的流程示意图。
[0021]图11为本公开又一示例性实施例提供的神经网络模型加密数据的解密方法的流
程示意图。
[0022]图12为本公开另一示例性实施例提供的片上系统的结构示意图。
[0023]图13为本公开再一示例性实施例提供的片上系统的结构示意图。
[0024]图14为本公开又一示例性实施例提供的片上系统的结构示意图。
[0025]图15为本公开一示例性实施例提供的电子设备的结构示意图。
具体实施方式
[0026]为了解释本公开,下面将参考附图详细地描述本公开的示例实施例,显然,所描述的实施例仅是本公开的一部分实施例,而不是全部实施例,应理解,本公开不受示例性实施例的限制。
[0027]应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
[0028]申请概述
[0029]SoC上的神经网络模型数据在开发阶段可以设置保护机制,通过该保护机制可以对神经网络模型数据进行加密,将加密后的神经网络模型加密数据存储在双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random

Access Memory,DDR SDRAM,又简称本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型加密数据的解密方法,包括:在片上系统启动后,通过所述片上系统中的解密模块获取来自所述片上系统中处理器的第一访问请求;通过所述解密模块基于所述第一访问请求确定所述解密模块访问神经网络模型加密数据的权限;响应于所述解密模块具有访问神经网络模型加密数据的权限,基于所述第一访问请求中的访问地址,通过所述解密模块从所述片上系统中的存储器获取所述神经网络模型加密数据;通过所述解密模块确定神经网络模型密钥,并基于所述神经网络模型密钥对所述神经网络模型加密数据进行解密,得到解密后的神经网络模型数据。2.根据权利要求1所述的方法,其中,所述通过所述解密模块基于所述第一访问请求确定所述解密模块访问神经网络模型加密数据的权限,包括:通过所述解密模块中的仲裁器确定所述第一访问请求中的访问地址与预设地址段的第一包含关系;基于所述第一包含关系,通过所述仲裁器确定所述解密模块中的安全协议加速器访问神经网络模型加密数据的权限。3.根据权利要求2所述的方法,其中,所述基于所述第一包含关系,通过所述仲裁器确定所述解密模块中的安全协议加速器访问神经网络模型加密数据的权限,包括:在所述第一包含关系为所述预设地址段包含所述第一访问请求中的访问地址的情况下,通过所述仲裁器确定所述解密模块中的安全协议加速器具有访问神经网络模型加密数据的权限;在所述第一包含关系为所述预设地址段不包含所述第一访问请求中的访问地址的情况下,通过所述仲裁器确定所述解密模块中的安全协议加速器不具有访问神经网络模型加密数据的权限。4.根据权利要求3所述的方法,其中,所述响应于所述解密模块具有访问神经网络模型加密数据的权限,基于所述第一访问请求中的访问地址,通过所述解密模块从所述片上系统中的存储器获取所述神经网络模型加密数据,包括:响应于所述安全协议加速器具有访问神经网络模型加密数据的权限,通过所述解密模块中的第一拦截器控制所述存储器与所述安全协议加速器之间的第一开关单元导通;基于所述第一访问请求中的访问地址,通过所述安全协议加速器从所述存储器获取所述神经网络模型加密数据。5.根据权利要求1所述的方法,其中,所述通过所述解密模块确定神经网络模型密钥,包括:通过所述解密模块中的密钥生成单元获取来自所述处理器的密钥选择信号,并基于所述密钥选择信号,输出密钥选择结果;基于所述密钥选择结果和所述解密模块中的安全协议加速器访问神经网络模型加密数据的权限,通过所述解密模块中的逻辑单元输出所述神经网络模型密钥。6.根据权利要求5所述的方法,其中,所述通过所述解密模块中的密钥生成单元获取来自所述处理器的密钥选择信号,并基于所述密钥选择信号,输出密钥选择结果,包括:
通过所述密钥生成单元中的密钥选择寄存器获取来自所述处理器的密钥选择信号;基于所述密钥选择信号,通过所述密钥生成单元中的密钥选择器选择系统安全密钥或所述神经网络模型密钥作为所述密钥选择结果,所述神经网络模型密钥由所述密钥生成单元中的密钥生成器生成;通过所述密钥选择器输出所述密钥选择结果。7.根据权利要求6所述的方法,其中,所述基于所述密钥选择结果和所述解密模块中的安全协议加速器访问神经网络模型加密数据的权限,通过所述解密模块中的逻辑单元输出所述神经网络模型密钥,包括:确定所述密钥选择结果为所述神经网络模型密钥,且所述安全协议加速器具有访问神...

【专利技术属性】
技术研发人员:李思琪时朝辉
申请(专利权)人:北京地平线信息技术有限公司
类型:发明
国别省市:

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

1