一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于本地差分隐私保护的白盒密码加密方法与流程

2022-02-25 23:04:26 来源:中国专利 TAG:


1.本发明涉及信息安全领域,尤其涉及的是在不安全的软件运行环境中安全的基于差分隐私保护的白盒密码的加密方法。


背景技术:

2.随着信息技术的快速发展,现如今大多软件都处于极度不安全的环境中,即白盒攻击环境。所谓白盒攻击,即攻击者享有充分特权,可以通过先进的技术对密码算法进行定位,并对包含密码算法的终端或服务器进行观测,算法是可见的,可以观察算法的动态执行及其内部状态,并能对中间值进行改动,以获取秘密密钥信息。
3.由于攻击者对终端拥有完全的控制,传统的密码算法在该环境中显得极为脆弱,其安全性不再适用。所以新的密码技术即白盒密码技术应运而生,它为密码算法在不可信任终端上运行的安全性和保密性提供有效手段。因为白盒密码在极度暴露的环境中应用,所以它的安全性可以有效抵抗对传统的密码学分析的黑盒攻击和灰盒攻击(旁信道攻击)。
4.白盒密码算法的设计一般应用扩散、代数、概率、混淆、软件保护、信息隐藏等知识,它能在白盒攻击环境下保护密码算法及其相关软件的安全执行。其应用前景十分广泛,可以应用于数字内容的安全发行,为内容创作者和提供者的数字资产提供防止盗窃或滥用的安全保护;可以应用于无线自组网络、云计算等的安全计算,为不可信任终端处理机密信息提供防观测、防篡改、防窃取等服务;可以应用于软件保护,破坏软件设计的原有的结构从而防止逆向工程等等。
5.目前白盒密码的设计思路大体分为两大类,分别是对已有的密码算法设计白盒实现和设计一种新的白盒密码算法。目前常见的密码算法的白盒实现包括三种方式:查找表方式、插入扰乱项的方式、多变量密码的方式。在目前的白盒实现方案方面,主要有:
6.对于查找表实现白盒密码,早在2002年chow等人提出了aes白盒加密[1]和des白盒加密[2]实现。但是这两种方案都能在有效的时间复杂度内恢复加密密钥。后续学者对其进行改进[3],以及研究其他分组密码(如sm4、sm2等)的基于查找表实现的白盒密码。但都逐一被攻破。
[0007]
而另一种设计白盒的方法是bringer等人在2006年提出的基于添加扰乱项的白盒实现方式[4],但在2010年被mulder攻破[5]。
[0008]
在新的白盒密码算法设计方面,2014年,biryukov等人提出了基于asasa结构设计的白盒密码算法[6],在2015年被攻破。同年,一种称为space-hard cipher的白盒密码方案也被提出0,但其效率不高。
[0009]
综上所述,对于若干的白盒密码方案中,目前为止还未有公认的安全的且实现效率较高的白盒密码方案出现,因此,需要设计一种能够抵抗白盒攻击的安全有效的密码算法,应用于基于加密信息广播的数字内容分发系统中,以提高白盒环境下用户私钥的安全性,保证数字内容的安全分发,提高系统的安全性。


技术实现要素:

[0010]
本发明的目的在于针对上述现有技术的不足,对bringer的白盒实现进行改进,弥补此方案的不足,提出一种基于本地化差分隐私保护的白盒密码的加密方法,用于在白盒攻击环境中,例如基于加密信息广播的数字内容分发系统。或其它在实际运用环境中对含有加密算法的软件需要实现抵抗白盒攻击的系统,以保证加解密算法的顺利进行,对机密信息进行最完善的保护。
[0011]
为了实现上述目的,本发明采用的技术方案是:一种基于本地差分隐私保护的白盒密码加密方法,包括以下步骤:
[0012]
步骤一,使用系统分配的个人私钥构造分组密码,构造的分组密码共有r轮;
[0013]
步骤二,对1~r-1轮分别采用随机方程和多项式方程组进行扰乱;
[0014]
步骤三,第r轮对第r-1轮输出求逆的结果进行本地差分隐私保护;
[0015]
步骤四,丢弃随机方程,多项式方程组变为0,得到第r轮的输出;
[0016]
步骤五,使用多个实例,进行投票,筛选最后输出结果中相同的部分,从而得到正确密文输出。
[0017]
步骤一所述构造分组密码包括;g表示某一轮中把私钥改为公钥的具体表示方法,s,t表示两个线性映射,e
θ
表示单项式函数,表示识别函数;
[0018]
用户j的整个加密描述为:
[0019][0020]
表示用户j整个分组密码的实现,从第1轮到第r轮,表示连接运算,g
r,j
表示用户j使用系统分配的个人私钥进行第i轮的表示。
[0021]
进一步,步骤二所述1~r-1轮扰乱包括:
[0022]
第1轮:
[0023]
其中,s1是第一轮原始密码的方程组,表示第一轮的输出变量,是取常值的多项式方程组,是给定的多项式,r1(x)是第一轮的t1个随机多项式方程组,m1是一个线性双射,用大小为n s t1的方阵矩阵表示,表示第一轮扰乱后的多项式方程组,表示随机方程,z1表示第1轮的输出变量;
[0024]
第2~r-1轮:
[0025][0026][0027][0028]
其中,r=2,...r-1,sr是第r轮原始密码的方程组,ranr是新的ti个方程的多项式方程组,mr是一个线性双射,用大小为n s ti的方阵矩阵表示,表示原始轮的方程组,表示用于扰乱的多项式方程组,表示新的ti个随机方程组成的方程组,zr表示第r轮的输出,sr表示第r轮密码的方程组。
[0029]
进一步,所述第r轮扰乱
[0030][0031][0032][0033][0034]rr
是对应于原始密码的最后一轮的方程组;o
φ
是n个多项式方程组,rr是本地差分隐私保护模型,表示第r-1轮的输出结果求逆之后通过m-rr机制扰乱后的结果,并且扰乱的结果被认为是作为第r轮原始系统sr的输入,表示扰乱后的结果被认为是作为扰乱系统的输,表示扰乱后的结果被认为是作为第r轮随机系统随机系统rr的输入,表示通过原始系统最后一轮sr的输出,表示通过随机系统的最后一轮o
φ
的输出。
[0035]
具体地,所述本地差分隐私保护采用m-rr模型,对于n个值,每个值对应一种敏感值,共有敏感值m个,该模型具体可描述为:(1)输入敏感值m个,(2)使用m-rr模型进行本地差分隐私保护,(3)输出扰乱后的值m个。
[0036]
更具体地,所述m-rr模型的建模为多元离散信道的传输过程,输入为输出为本地差分隐私保护即为将xi映射到yj的条件概率,
[0037]
该模型具体描述为:
[0038][0039]
式中,λ表示引入的参数,ωi表示权重,i表示输入时的敏感值索引值,j表示通过rr机制后的敏感值索引值。
[0040]
所述m-rr模型的离散信道是对称的,即,当i=j时,xi=yj。
[0041]
与现有技术相比,本发明的有益效果是针对现有的添加扰乱项实现白盒密码的方案容易被mulder等人提出的攻击恢复密钥,该方案针对mulder攻击和其他攻击弥补了原始方案的漏洞,使得白盒攻击者既不能对每一轮进行单独攻击,也能够保证最后一轮,不会通过改变其输入,观察最后的输出结果的变化而提取分解密钥部分、扰乱部分和随机部分的值。该加密方案不会由于遭受到白盒攻击而被攻击者恢复整个加密,保证了在不可信任终端运行加密算法的安全性。
[0042]
本发明为原始系统增加了扰乱系统和随机系统,引入的扰乱系统解决了faug
è
re和perret提出针对可追踪分组密码基于多项式同构的漏洞,同时引入的随机系统增加了代数分析的复杂性,本方案引入的rr机制混淆了第r轮的输入,所以实现了不会改变其输入,而观察到最后的输出结果的变化而提取分解密钥部分、扰乱部分和随机部分的值,从而抵抗了mulder攻击。
附图说明
[0043]
图1为本发明基于本地差分隐私保护的白盒密码的加密方法的扰乱后的第一轮流
程图;
[0044]
图2为本发明基于本地差分隐私保护的白盒密码的加密方法的扰乱后的第r轮流程图(2≤r≤r-1);
[0045]
图3为本发明基于本地差分隐私保护的白盒密码的加密方法的扰乱后的第r轮流程图;
[0046]
图4为m-rr模型的结构示意图。
具体实施方式
[0047]
下面结合附图和实施例对本发明作进一步的详细说明。
[0048]
基于加密信息广播的数字内容分发系统(例如加密付费电视、在互联网上分发多媒体内容等)的每个合法用户都有一个等价密钥,就可以使用这个个人密钥来解密内容。在广播加密信息的内容分发系统中,每个用户都配备了“解密盒”。它可能是与一些现有付费电视系统中的解码设备结合在一起的智能卡或者是与个人电脑中的软件结合在一起的智能卡。可追踪密码应用分配的私人秘密等价密钥及其对应的函数描述进行加密和解密。这种等价密钥的保护思想可应用于私钥密码的不同表示,即将密钥隐藏到具体算法中,从而保证密码的安全性,进行白盒实现。r是构造的分组数量,那么元密钥由两个一一映射s,t,和r个(d-1)元组θi,使得对于r=1,..,r的是可区分的。那么函数可描述为
[0049][0050]
s,t表示两个从到的线性映射,为单项函数,r=1,
……
,r,θ是一个(d-1)元组,使得和q
n-1互素,fκ指的是整个分组密码的实现。的构造就是使得这个元组与q
n-1互素。
[0051]
根据
[0052][0053]
s,t表示两个从到的线性映射,e
θ
表示单项式函数,如果s,t未知,那么g被认为是单向的。φ表示一个识别函数,将有限域的扩域中的元素用的n元组(a0,...,an)进行表示,其中l定义为:l=k(x)/p(x),p(x)是度数为n的多项式,那么该识别函数即可表示为:g表示某一轮中把私钥改为公钥的具体表示方法。
[0054]
现给定用户密钥κj,使用r-1个从kn到kn的线性映射l
1,j
,...,l
r-1,j
,用户得到一系列函数g
1,j
,...,g
r,j
。g
r,j
表示为用户j第r轮的方程组。也即是某个用户j使用系统分配的个人私钥s,t,θ进行第i轮的表示,该表示被认为是公钥。
[0055]
那么用户j的整个加密其实可以描述为:
[0056][0057]
表示用户j整个分组密码的实现,从第1轮到第r轮,表示连接运算。
[0058]
其思想是利用0多项式生成g
r,j
的代替多项式,对代数结构进行隐藏。然后使用新
的系统代替原始系统,并加入了随机方程掩盖信息。通过此类将个人密钥隐藏为并发的多项式系统的思想,在白盒环境中,比如具体的内容分发系统,假设该系统对攻击者完全可见可执行,即和密钥拥有者有同样的能力,用户使用分配的个人密钥实现为多项式系统g
r,j
,而在每一轮中都有多个并发系统同时进行,只在最后一轮才能得到正确结果,从而将密钥隐藏到算法中,那么攻击者即使对每一轮的中间结果都可执行,因为随机方程的隐藏和并发多项式系统,密钥完全被嵌入了算法中,攻击者无法获取到密钥,同样也无法获取到其他的等价描述,从而实现白盒环境下用户私钥的安全性,保证了数字内容的安全分发。
[0059]
基于本地差分隐私保护的白盒密码加密方法,对分组密码的每一轮看作一个有限域上的多项式,就能对其修改从而实现由一个多项式形式组建的白盒密码。在此过程中,需要嵌入额外的项,达到混乱原有的系统的目的。并使用了本地差分隐私保护的方法对最后一轮的输入进行扰乱。该方法包括以下步骤:
[0060]
步骤一:第1~r-1轮使用随机方程和多项式方程组进行扰乱。
[0061]
使用x=(x0,...,x
15
)表示输入变量。表示原始轮的方程组,表示多项式方程组,表示随机方程。表示第i轮的输出变量。用si表示第i轮密码的方程组。那么,
[0062]
第1轮的表示如下:
[0063]
第一轮:
[0064]
其中,s1是第一轮原始密码的方程组,表示第一轮的输出变量,是取常值的多项式方程组,是给定的多项式,r1(x)是第一轮的t1个随机多项式方程组,m1是一个线性双射,用大小为n s t1的方阵矩阵表示,n是原始分组密码的方程数;s是扰乱的多项式方程组的方程数,t1是随机多项式方程组的方程数。表示第一轮扰乱后的多项式方程组,表示随机方程,z1表示第1轮的输出变量。
[0065]
第2~r-1轮的表示如下:
[0066][0067][0068][0069]
其中,r=2,...r-1,sr是第r轮原始密码的方程组,ranr是新的ti个方程的多项式方程组,mr是一个线性双射,用大小为n s ti的方阵矩阵表示,表示原始轮的方程组,表示用于扰乱的多项式方程组,表示新的ti个随机方程组成的方程组,zr表示第r轮的输出,sr表示第r轮密码的方程组。
[0070]
步骤二:第r轮对第r-1轮输出求逆的结果进行本地差分隐私保护。丢弃随机方程,多项式变为0,得到第r轮的输出。
[0071]
[0072][0073][0074][0075]rr
是对应于原始密码的最后一轮的方程组;o
φ
是n个多项式方程组,在处取值为0。最后一轮即zr=rr′
(z
r-1
)。rr是本地差分隐私保护模型。
[0076]
步骤三:使用多个实例,进行投票,筛选最后输出结果中相同的部分,从而得到正确密文输出。
[0077]
在最后一轮中,对其输入进行了差分隐私保护,得到的是扰乱之后的数据作为代替原来的输入,同样的相应的结果也进行了改变。扰乱多项式替原来的输入,同样的相应的结果也进行了改变。扰乱多项式取预先给定的值并且在有限域gf(2)上,总是能由二进制方程表示,系统将取两个不同值,和和o
φ
是对取0,即最终扰动多项式对原始方程的影响将会消失。那么扰乱多项式取预先给定的值需要从多个实例中进行投票选择,最终选择四个相关的多项式使得对于任何输入,其中两个都为0,并且另外两个取不同的值,得到扰乱消失之后的结果。那么对于差分隐私的扰乱影响,我们需要确定相关的参数值,最终需要保证数据的隐私性和可用性。最后,为了得到最后结果,需要对四个实例的结果相同的部分进行提取,得到最后的密文正确输出结果。
[0078]
步骤二所述的本地差分隐私保护是对于多个敏感值的隐私保护方案,即m-rr模型。对于n个值,每个值对应一种敏感值。假设共有敏感值m个。该模型具体可描述为:(1)输入敏感值m个(2)使用m-rr模型进行本地差分隐私保护机制(3)输出扰乱后的值m个。
[0079]
参见图4,m-rr模型,其rr过程可建模为多元离散信道的传输过程,即扩展的m元rr模型来进行数据的本地化隐私保护。输入为输出为该隐私保护机制可描述为将xi映射到yj的条件概率。
[0080]
该模型具体可描述为:
[0081][0082]
式中,λ是引入的一个参数,可以通过调节λ的大小来实现相应的隐私保护程度。ωi是指的根据实际隐私需求,对每种敏感值设置的敏感值权重。i表示输入时的敏感值索引值,j表示通过rr机制后的敏感值索引值,索引值不同,对应的敏感值种类不同。该模型的离散对称信道是对称的,当i=j时,xi=yj。此时,是正确映射的概率。
[0083]
图1为本发明针对aeo/ws实例第一轮扰乱后的流程图,对于输入16个字节,经过原始系统第一轮r1的迭代,得到然后添加扰乱系统得到和随机方程系统ran1,该随机方程系统分别对原始方程系统和扰乱系统进行扰乱。最后将和作为输入,通过m线性映射和随机置换得到第一轮的输出z1。
[0084]
同理,通过图2所示的针对aeo/ws实例第r轮(2≤r≤r-1)扰乱后的流程图所示,下一轮的输入需要对上一轮的输出的m矩阵求逆得到和z
r-1
,然后分别作为原始系统rr,扰乱系统i和随机系统ranr的输入。最后将的输入。最后将和作为输入,通过m线性映射和随机置换得到第r轮的输出zr。
[0085]
在最后一轮中,通过图3所示的针对aeo/ws实例第r轮扰乱后的流程图所示,同样地,下一轮的输入需要对上一轮的输出的m矩阵求逆得到和z
r-1
,然后将得到的所有输入值,通过如图4所示的m-rr本地查分隐私保护模型,每个输入值都会得到扰乱后的值,然后再将对应系统的值,分别作为原始系统rr,扰乱系统的输入。此时随机方程已经被丢弃掉。同时扰乱系统通过o
φ
使得即消除扰乱影响,最后将作为输入,通过加法得到最后一轮的输出zr。
[0086]
这里我们取r=10,设置参与样本数为43个,样本取值集合这里我们取r=10,设置参与样本数为43个,样本取值集合即m=3,每种y代表一种敏感值,样本来源于分布px=[16/43,4/43,23/43],m-rr机制适用于任意m≥2元离散有限敏感值下基于rr的个性化隐私保护)。敏感值ωi和参数λ可以自行设置,实际中可以调节参数λ的大小来实现相应的隐私保护程度。但需要保证数据的一定可用性和隐私性。具体衡量指标可参考如下:
[0087]
估计误差
[0088]
采用来评估rr模型的隐私分布估计问题,称为估计误差,则
[0089][0090]
其中,对各个敏感值均执行相同的隐私保护操作,设置p
i,1
=p
i,2
=...=p
i,m
=p。敏感值xi的先验概率p
x
(xi)简记为pi,其经验估计值为,其经验估计值为,其经验估计值为越小,估计误差越小,意味着隐私分布的准确率越高。
[0091]
对某个敏感值的隐私保护程度
[0092]
某个敏感值xi的客观隐私泄露程度:针对该敏感值,其客观隐私泄露程度l
ci
定义为camp准则下原始隐私信息为xi且能够正确推测出xi的平均概率与xi的先验概率的比值:
[0093][0094]
其中,
[0095][0096]
是对dh(kj,i)进行取反操作。p
ci
反映的是cmap准则下原始敏感值为xi且能够正确推测出xi的平均概率。
[0097]
结合上述两个指标,合理设置敏感值后,通过对参数λ的调参,达到数据隐私性和
可用性的效果。
[0098]
进行差分隐私保护之后,会得到扰乱后的数据,该数据满足大概率是原始数据,但可能有部分密码数据被随机分到了其他敏感值中,从而进入了随机系统或者是扰动系统,所以,最后的正确结果,需要对所有的实例第10轮的输出结果进行提取相同部分的数据,得到正确结果。这里使用的也是投票机制。
[0099]
对于本方案,虽然效率在原始方案的基础上,增加了一个m-rr模型算法的时间消耗,但是在安全性方面,由于扰动了最后一轮输入的值,所以对其进行改动,而观察第10轮中的输出结果,是不能够逆向推测划分原始系统、扰动系统和随机系统的,所以能很好的抵抗mulder攻击。同时,也满足bringer原系统的安全性,由于该扰动系统和随机系统的引入,也能很好的抵抗住代数攻击,插值攻击和coron对aes的攻击(该方案实例使用的是aew/os)。
[0100]
参考文献
[0101]
[1]chow,s.,eisen,p.,johnson,h.and van orschot,p.c.(2003)white-box cryptography and an aes implementation.selected areas in cryptography.2595 250-270。
[0102]
[2]chow,s.,eisen,p.,johnson,h.and van oorschot,p.c.(2002)a white-box des implementation for drm applications.digital rights management.2696 1-15。
[0103]
[3]y.xiao and x.lai,"a secure implementation of white-box aes,"2009 2nd international conference on computer science and its applications,2009,pp.1-6,doi:10.1109/csa.2009.5404239。
[0104]
[4]bringer j,chabanne h,dottax e.white box cryptography:another attempt[j].iacr cryptol.eprint arch.,2006,2006(2006):468。
[0105]
[5]de mulder y,wyseur b,preneel b.cryptanalysis of a perturbated white-box aes implementation[c]//international conference on cryptology in india.springer,berlin,heidelberg,2010:292-310。
[0106]
[6]biryukov a,bouillaguet c,khovratovich d.cryptographic schemes based on the asasa structure:black-box,white-box,and public-key[c]//international conference on the theory and application of cryptology and information security.springer,berlin,heidelberg,2014:63-84。
[0107]
bogdanov a,isobe t.white-box cryptography revisited:space-hard ciphers[c]//proceedings of the 22nd acm sigsac conference on computer and communications security.2015:1058-1069。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献