System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种基于同态加密与区块链的可审计神经网络安全推理方法、系统、装置及存储介质,属于隐私保护机器学习与数据安全。
技术介绍
1、近年来,随着大数据和计算能力的迅猛发展,神经网络模型的推理效果得到了显著提升。这种进步使得复杂的人工智能任务变得更加可行和高效。为满足资源受限的企业和个人需求,机器学习即服务(machine learning as a service,mlaas)应运而生。这种服务模式使企业和个人用户无需构建和维护复杂的机器学习基础设施,即可便捷地使用强大的机器学习模型。然而,在使用mlaas服务过程中,用户将原始数据发送给服务提供商,容易造成隐私泄露的问题。同时,由于缺乏透明度和可验证性,用户无法确定mlaas提供商是否真的进行了推理操作,或者其推理过程是否符合预期。
2、在使用mlaas服务过程中,如何保障用户的隐私安全,同时确保推理过程的透明和可信,已经成为研究和实践领域的重要问题,也涌现出大量的解决办法。其中,在保证推理过程透明与可信方面,区块链技术提供了一种潜在的解决方案,区块链的分布式账本技术确保了数据和操作的透明性和不可篡改性。通过将模型参数以及推理过程和结果记录在区块链上,可供用户验证每一步操作的真实性。但传统的加密方法只能保障数据的存储和流通安全,在进行计算时,数据还是以明文的形式,无法保障数据计算过程中的隐私安全。
3、在数据隐私安全方面,同态加密技术因其具有较高的安全性以及能够直接在密文上进行运算的特性而被广泛认可。但按消息加密的同态加密方案只能进行加法和乘法操作
4、因此,亟需提出一种可验证的神经网络安全推理方案,在提高推理效率的同时保障用户隐私安全,并且保障推理过程和推理结果的真实可信。
技术实现思路
1、本专利技术提供一种基于同态加密与区块链的可验证神经网络安全推理方法及系统。针对神经网络模型各网络层的推理特点,我们使用了多种同态加密方案,并设计了相应的转换方法以及密文打包算法,提升了模型的效率和准确率。同时,本专利技术还提供了可验证功能,供用户或企业等对推理结果进行验证,保障结果的真实性。
2、为解决上述技术问题,本专利技术所采用的技术方案如下:
3、一种基于同态加密与区块链的可验证神经网络安全推理方法,包括如下步骤:
4、步骤1:初始化:服务需求方(例如用户、企业等)以及模型服务方在本地生成ckks加密方案的公钥和私钥;其中,服务需求方的公钥和私钥记为pkc,skc,模型服务方的记为pks,sks;
5、步骤2:数据处理与密文打包:服务需求方将采集的图像等数据先进行预处理,例如调整大小、降噪、归一化等,将图像转换成矩阵数据,针对ckks拥有simd的特点,可以将多个(两个以上)数据打包成一个密文进行运算,我们设计了密文打包算法,通过在加密前对数据进行排列,提高运算效率,从而加速模型推理,之后使用私钥skc将重新排列的数据加密成密文数据,发送至区块链进行存储;
6、步骤3:模型安全推理:包括卷积层推理、rlwe密文向lwe密文转换、激活函数层推理、lwe密文向rlwe密文转换和全连接层推理;
7、步骤4:上传模型推理结果:模型服务方上传密文推理结果至区块链;
8、步骤5:服务需求方获取服务结果:服务需求方从区块链上获取密文推理结果,同时使用自己的私钥进行解密,得到推理结果;
9、步骤6:结果验证:当服务需求方(用户或企业)对模型服务方的推理结果存在质疑时,服务需求方可以给权威机构发送验证请求,权威机构会向服务需求方和模型服务方发送获取私钥请求;当权威机构拿到双方私钥后,从区块链上获取密文模型参数以及密文数据进行解密操作,在本地进行明文模型推理操作,并从区块链上获取中间结果及推理结果进行比对生成验证报告,供服务需求方进行验证。
10、上述步骤3:模型安全推理包括:
11、步骤3.1:卷积层推理:模型服务方接到推理需求后,从区块链节点获取需要推理的密文数据,并将模型参数按照图3的密文打包算法进行打包,同时模型服务方将自己的模型参数使用服务需求方的公钥进行编码,之后执行卷积操作;卷积操作可以看成对输入数据应用一组滤波器的过程,每个滤波器在输入数据上滑动,并计算局部区域的加权和;我们在密文打包中已经将密文按这种形式进行排列,此过程可以看作是对密文进行多次乘法和加法,假设ctm表示一张推理图片经过密文打包处理的密文,表示有m个按照特定顺序排列的滤波器,表示有m个按照特定顺序排列的偏置,代表运算结果,最终得到m个密文计算结果;如下公式展示了第i个滤波器进行卷积的过程,其中roate代表密文旋转操作,进行完乘法后,会执行多次旋转累加,变量,代表旋转累加次数,按照1,2,4……直到logk*k:
12、
13、步骤3.2:rlwe密文向lwe密文转换:基于ckks加密的rlwe密文虽然可以将多个数据加密在一个密文中,提升操作效率,但无法进行逻辑比较操作。因此我们采取将rlwe密文进行拆分,将编码在多项式中的密文进行提取,得到一组fhew加密形式的lwe密文执行激活函数操作;
14、lwe加密定义为:其中,表示模q的整数环,密钥表示维度为n的向量,每个分量都在内,消息a为随机向量,e为从误差分布χ中随机选取的误差项,n为向量维数,b为内积结果,m为消息,t为数学上的矩阵转置,其解密为b+ats≈m;
15、rlwe加密定义为:其中表示系数在范围内且多项式模xn+1的环,表示系数在范围内且多项式模xn+1的环,密钥代表多项式密钥,代表从误差分布x中独立抽取系数的误差多项式,为随机多项式;
16、我们对ckks加密的一个rlwe密文,记为其中,δ指的是ckks加密中的缩放因子,v表示加密向量,且符号n,代表格的维度,且代表不同维度下的密钥,对密文ct中的各个编码元素进行提取,得到一组fhew加密形式的lwe密文:其中l代表加密的层级,i∈<l>表示索引i在某个范围内,具体来说,是指范围l内的所有值。之后对每一个lwe密文的查找表t(x)进行评估:
17、步骤3.3:激活函数层推理:我们对得到的lwe密文构造一个二进制比较电路去实现激活函数relu的运算过程,最终我们得到激活函数的密文运算结果;
18、步骤3.4:lwe密文向rlwe密文转换:经过激活函数运算,在对下一线性层进行操作时,需要将密文类型进行转换,将一组lwe密文重新打包成单一的rlwe密文,对编码向量t(v)进行加密:
19、步骤3.5:全连接层推理:全连接层可以看成特殊的卷积层运算,我们采取了和卷积层运算方式类似的打包算法进行全连接层运算。
20、一种基于同态加密与区块链的可验证神经网络安全推理本文档来自技高网...
【技术保护点】
1.一种基于同态加密与区块链的可验证神经网络安全推理方法,其特征在于:包括如下步骤:
2.如权利要求1所述的基于同态加密与区块链的可验证神经网络安全推理方法,其特征在于:步骤3:模型安全推理包括:
3.一种基于同态加密与区块链的可验证神经网络安全推理系统,其特征在于:包括:
4.如权利要求3所述的基于同态加密与区块链的可验证神经网络安全推理系统,其特征在于:模型安全推理模块在进行模型安全推理时,包括如下步骤:
5.一种基于同态加密与区块链的可验证神经网络安全推理装置,其特征在于,包括处理器和存储器,存储器存储有计算机程序,计算机程序被处理器执行时实现如权利要求1或2所述的方法。
6.一种计算机可读存储介质,其特征在于:存储有计算机程序,计算机程序被处理器执行时实现如权利要求1或2所述的方法。
【技术特征摘要】
1.一种基于同态加密与区块链的可验证神经网络安全推理方法,其特征在于:包括如下步骤:
2.如权利要求1所述的基于同态加密与区块链的可验证神经网络安全推理方法,其特征在于:步骤3:模型安全推理包括:
3.一种基于同态加密与区块链的可验证神经网络安全推理系统,其特征在于:包括:
4.如权利要求3所述的基于同态加密与区块链的可验证神经网络安全推理系...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。