基于属性加密的用于机器学习环境下的访问控制方法和系统与流程

文档序号:16887569发布日期:2019-02-15 22:46阅读:291来源:国知局
基于属性加密的用于机器学习环境下的访问控制方法和系统与流程

本发明属于信息安全技术领域,涉及新型的访问控制机制,用密码学中的新型的属性加密算法,设计适用于人工智能中机器学习环境下的访问控制方法。



背景技术:

近年来,人工智能的迅速发展给人们的生活带来了极大的便利,尤其是人工智能中的机器学习技术,在人脸识别,gps导航系统,推荐系统,自动驾驶,智能美颜相机等方面具有广泛应用。

然而,与此同时,人工智能中所涉及的隐私数据的安全问题也成为人们的担忧。以gps导航系统为例,gps导航系统可以获取用户的实时位置,通过获取大量的驾驶路线进行学习,建立最佳的路线推荐系统。这种方式不仅能为用户提供良好的导航服务,还能节省约为1%的汽油消耗量,当使用gps导航系统的人数较多时,这将是可观的资源节约。

然而,当gps导航系统获取我们的实时位置时,通过分析我们的夜间停车地点,可以分析出我们的居住地点,通过分析我们的工作日停车地点,可以分析出我们的工作地点等。这无疑将对我们的隐私产生侵犯。2018年facebook公司窃取用户隐私数据,通过分析用户的信息,定向地向用户推送新闻,影响人们的观点,从而影响美国的大选。

由此可见,当机器学习模型在隐私数据上进行学习的同时,需要对隐私数据进行保护,防止隐私数据的泄露。

一种有效的保护用户隐私数据的方法是实行严格的访问控制策略。通常情况下,一个用户在拥有特定属性的情况下,才能对数据进行访问。在一个可信的服务器上存储用户的隐私数据,并在该服务器上设定和实施访问控制策略。然而,这种解决方法的缺点是,一旦该服务器被攻击,数据的保密性就将遭到破坏,用户的隐私数据遭到泄露。

如何定制机器学习环境下的访问控制机制,是人工智能安全中需要解决的重要问题。因此需要一种新型的访问控制方法以适应机器学习的使用环境。属性加密作为一种新型的加密算法,加密者能够在加密时对解密者的身份属性进行设定,只有满足该属性设定的解密者才能解密加密者的信息。

利用属性加密对用户的隐私数据进行设定,可以对用户的隐私数据进行定制化的访问控制,从而对用户的隐私数据进行保护。

本发明利用属性加密设计适用于机器学习的隐私数据访问控制机制,从而能更好地在机器学习环境下保护用户的隐私数据。用户利用属性加密对隐私数据进行加密,并设定相应的策略,只有满足特定属性的解密者才能解密出数据进行学习,从而产生出有效的机器学习预测模型。



技术实现要素:

针对现有的访问控制机制的缺陷,以及针对机器学习环境的特殊性质,本发明的目的是利用属性加密这一新型的加密算法,设计出用户可自由定制的访问控制机制。通过利用属性加密的性质,设计出基于密钥策略和基于密文策略的两种属性加密方案。在此基础上,用户可以加入对数据内容的标识,建立更细粒度的数据访问控制机制,对机器学习环境下的数据隐私保护具有重要意义。

本发明利用密码学中的属性加密机制,设计适用于机器学习环境下的访问控制机制,该访问控制机制分为两种模式,分别为基于密钥策略的访问控制和基于密文策略的访问控制机制。

本发明采用的技术方案如下:

一种基于属性加密的用于机器学习环境下的访问控制方法,该方法基于密文策略进行访问控制,包括以下步骤:

1)数据提供端设定基于属性的访问控制策略,并根据访问控制策略对隐私数据进行加密,形成密文;

2)数据提供端根据数据需求端的属性生成解密密钥;

3)数据需求端利用解密密钥对数据提供端形成的密文进行解密,只有当解密密钥中的属性满足密文中的访问控制策略时,才能解密得到数据提供端的隐私数据。

一种基于属性加密的用于机器学习环境下的访问控制方法,该方法基于密钥策略进行访问控制,包括以下步骤:

1)数据提供端根据属性对隐私数据进行加密,形成密文;

2)数据提供端设定基于属性的访问控制策略,并根据访问控制策略生成解密密钥;

3)数据需求端利用解密密钥对数据提供端形成的密文进行解密,只有当解密密钥中的访问控制策略能够被密文中的属性满足时,才能解密得到数据提供端的隐私数据。

与上面方法对应的,本发明还提供相应的系统:

一种基于属性加密的用于机器学习环境下的访问控制系统,基于密文策略进行访问控制,该系统包括:

数据提供端,用于设定基于属性的访问控制策略,根据访问控制策略对隐私数据进行加密,形成密文;并根据数据需求端的属性生成解密密钥;

数据需求端,用于利用解密密钥对数据提供端形成的密文进行解密,只有当解密密钥中的属性满足密文中的访问控制策略时,才能解密得到数据提供端的隐私数据。

一种基于属性加密的用于机器学习环境下的访问控制系统,基于密钥策略进行访问控制,该系统包括:

数据提供端,用于根据属性对隐私数据进行加密,形成密文;并设定基于属性的访问控制策略,根据访问控制策略生成解密密钥;

数据需求端,用于利用解密密钥对数据提供端形成的密文进行解密,只有当解密密钥中的访问控制策略能够被密文中的属性满足时,才能解密得到数据提供端的隐私数据。

机器学习情境下的访问控制一共涉及两个主体,用户和机器学习模型,为了能够清晰说明本发明所设计的访问控制机制的使用方法,下面给出一个更具体的使用场景。还是以gps导航系统为例,用户将个人的位置提供给gps导航系统使用,但为了保护隐私数据,需要设定严格的访问控制机制,例如允许百度地图、高德地图等具有一定信誉的公司利用个人数据进行机器学习,不允许没有相应资质的公司访问个人数据。

在基于密文策略的访问控制模式下,用户根据访问控制策略加密隐私数据,形成密文并存储在数据中心。当gps导航系统需要利用用户的隐私数据时,需要提供相应的属性来申请密钥,用户根据申请者的属性产生对应的解密密钥,gps导航系统在利用解密密钥解密用户的数据时,只有当解密密钥中的属性满足密文中承载的访问控制策略时,gps导航系统才能正确解密出用户的信息。同时,用户也可以根据数据内容定制更细粒度的访问控制策略,在加密数据时,根据数据内容的隐私性,定义不可见的标签,只有解密密钥中的属性满足访问控制策略,并且具有与密文相同的标签,才能正确解密用户的数据。

在基于密钥策略的访问控制模式下,用户对隐私数据根据特定的属性进行加密,形成隐私数据的密文,上传至数据中心。并制定相应的访问控制策略,根据访问控制策略生成相应的解密密钥,只有解密密钥中的访问控制策略能够被密文中的属性满足时,gps导航系统才能解密用户的数据,加以利用。同时用户还可以根据数据的内容进行个性化定制,例如只允许gps导航系统获取实时位置,不能同时获取关联用户身份的其他信息,该功能的实现是通过在解密密钥中加入与内容相应的标签来实现。

在本发明中,访问控制策略是通过访问控制树来实现的。在访问控制树中,每一个中间节点是一个阈值,而叶子节点代表属性。例如,可以将访问控制树表示成“与门”和“或门”。当且仅当一个解密者的解密密钥中所带的属性满足访问控制树时,解密者才能正确解密用户的信息。当一个访问控制树用“与门”和“或门”表示时,可以表示成合取范式,属性满足访问控制策略问题即可转化为可满足合取范式问题。

附图说明

图1是本发明的基于属性加密的用于机器学习环境下的访问控制机制在一实施例中访问控制树示意图。

图2是本发明的基于属性加密的用于机器学习环境下的访问控制机制在一实施例中基于密文策略的属性加密算法的实施方式示意图。

图3是本发明的基于属性加密的用于机器学习环境下的访问控制机制在一实施例中访问控制机制部署及实施方式示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步详细说明。

本发明中的访问控制策略用访问控制树来表示,用t表示访问控制树,树中所有节点都有序编号,index(x)表示节点x的唯一标号。所有的非叶子节点代表了带有阈值的门,用阈值和其孩子节点表示:一个非叶子节点x,其孩子节点的数目用numx表示,kx表示阈值,并且0<kx≤numx,当kx=1,表示该节点是一个或门,当kx=numx,该节点是一个与门。同时,定义函数parent(x)表示节点x的父节点。对于叶子节点(leafnode),定义函数att(x),表示该叶子节点带入的属性,附图1给出了一个访问控制树实例。

在一个访问控制树t中,用r表示根节点,用tx表示以x为根的t的子树,按照这种表示方法,t可以表示成tr。一组属性γ能够满足设定的访问控制策略是指:tx(γ)=1。可以通过迭代的方法计算tx(γ),当x为非叶子节点时,计算x的所有叶子节点x′相对应的tx′(γ),当且仅当x最少有kx个孩子节点返回1时,tx(γ)返回1。当x是叶子节点时,当且仅当att(x)∈γ,tx(γ)返回1。

在本发明中,利用属性加密实现访问控制机制。属性加密利用了一些数学结构,包括:双线性映射,哈希函数和拉格朗日差值法。

双线性映射:g0和g1是两个阶为素数p的乘法循环群,g是g0的生成元,e是双线性映射,e:g0×g0→g1,双线性映射具有如下性质:

1)双线性:对于u,v∈g0,a,b∈zp,满足e(ua,vb)=e(u,v)ab,其中zp表示剩余类;

2)非退化性:e(g,g)≠1;

3)对称性:e(ga,gb)=e(g,g)ab=e(gb,ga)。

哈希函数:将任意长度的输入变换为固定长度输出的不可逆的单向密码体制。在本发明中需要使用的哈希函数为:h:{0,1}*→g0

拉格朗日插值法:若已知y=f(x)在互不相同的n+1个点x0,x1,...,xn处的函数值为y0,y1,...,yn(即该函数通过这n+1个点),可以考虑构造一个通过这n+1个点的,次数不超过n的多项式y=pn(x),使其满足:pn(xk)=yk,k=0,1,...,n。要估计任一点ξ,ξ≠xi,i=0,1,2,...,n,则可以用pn(ξ)的值作为准确值f(ξ)的近似值。

1.基于密文策略的属性加密机制

基于属性加密的访问控制机制包括四个模块:设置,加密,密钥生成,解密。结合附图2对基于密文策略的属性加密进行详细阐述。

⑴设置:算法选择一个阶为素数p的双线性群g0,生成元为g,在剩余类zp中选择两个元素α,β∈zp,公钥为pk=g0,g,h=gβ,f=g1/β,e(g,g)α,私钥为mk=(β,gα)。可以选择一组标签ρ∈zp,并将标签进行公开。

⑵加密:根据访问控制策略加密一个明文m。根据访问控制树t,为每一个节点x(包括叶子节点)选择多项式函数qx,选择方法是:从根节点开始,每一个节点所对应的多项式qx的次数dx为该节点阈值kx减1,即:dx=kx-1。

进一步,从根节点r开始,选择一个随机数s∈zp,并且设qr(0)=s,然后选择其他dr个不同的点来完全定义多项式qr。对于非根节点的树中的其他点,设定qx(0)=qparent(x)(index(x)),并选择其他dx个不同的节点来完全定义多项式qx。

y表示访问控制树t中的叶子节点的集合,用户加密明文m,并根据m的敏感程度,选择内容种类标签ρ,得到密文ct:

⑶密钥生成:算法以私钥mk和一组属性s为输入,为申请者所具有的属性产生密钥。算法首先选择一个随机数r∈zp,为每一个属性(编号为j)随机选择rj∈zp,计算密钥为:

其中,“申请者所具有的属性”可以是泄露用户信息记录,用户数量,用户的评价,被推荐次数。

⑷解密:算法以密文ct和密钥sk为输入,解密出明文。为了说明解密算法的正确性,需要用到拉格朗日插值法,为此定义函数

根据拉格朗日差值定理,s中属性对应树t中的叶子节点,h(i)可以表示成g0中的元素g1,可以得到,

最后计算:

到此解密算法结束。

为了能够详细说明如何利用基于密文策略的属性加密算法实施机器学习环境下的访问控制,下面列举一个场景,如附图3所示,进行详细阐述。

一个用户a产生了数据m1和m2,用户个性化定义两个数据的敏感程度,例如用户a将m1的敏感程度设定为ρ1,将m2的敏感程度设定为ρ2。用户公开数据的敏感程度,即公开ρ1和ρ2。a利用设置算法生成自己的公钥pk和私钥mk,并公开公钥pk。a设定访问控制策略,例如属性满足:(泄露用户信息记录=0)∧(用户数量≥1000万),设置这个访问控制策略的目的是,确保访问用户a数据的服务提供商没有泄露用户信息的记录,并且拥有较大的用户群,表明该服务提供商得到了众多用户的信赖。一旦泄露用户的数据,将严重损坏服务提供商的信誉,对其公司的运行产生严重的影响。

用户a设定的访问控制策略为t=(泄露用户信息记录=0)∧(用户数量≥1000万),将其转化为访问控制树,访问控制策略中包含的属性集合为s=(泄露用户信息记录,用户数量)。

用户a利用加密算法,将其设定的访问控制策略转化为访问控制树,并对m1和m2按照敏感程度ρ1和ρ2进行加密,得到ct1和ct2。

服务提供商b和c申请利用a的数据进行机器学习,例如服务提供商b申请对a的敏感程度为ρ1的数据进行学习,服务提供商c申请对a的敏感程度为ρ2的数据进行学习。服务提供商b所具有的属性sb=(泄露用户信息记录=0,用户数量=200万),服务提供商c具有的属性为sc=(泄露用户信息记录=0,用户数量=3000万)。a同时是服务提供商b和c的用户,但是b和c只能得到用户a数据的密文,当b和c向用户申请访问其数据时,将属性和申请数据的敏感程度提交给用户,用户a决定服务提供商能否访问申请的敏感程度的数据,如果允许,将根据其属性为服务商产生密钥sk,服务商获得生成的密钥sk,运用解密算法解密用户的数据,获得用户的数据后进行机器学习。可以看到,服务提供商b和c分别获得密钥skb和skc之后,b的属性不满足用户a制定的访问控制策略,因此不能正确解密,c的属性满足用户a制定的访问控制策略,能够正确解密用户的信息,但只能解密敏感程度为ρ2的数据。

2.基于密钥策略的属性加密机制

基于密钥策略的属性加密机制同样分为设置,加密,密钥生成,解密四个算法。

⑴设置:算法选择一个阶为素数p的双线性群g0,生成元为g,在剩余类zp中选择两个元素α,β∈zp,公钥为pk=g0,g,h=gβ,f=g1/β,e(g,g)α,私钥为mk=(β,gα)。可以选择一组标签ρ∈zp。

⑵加密:算法以公钥pk和一组属性s为输入,加密一个明文m,选择一个随机数s∈zp,为每一个属性(编号为j)随机选择rj∈zp,用户加密明文m,并根据m的敏感程度,选择内容种类标签ρ,得到密文ct:

其中,属性可以是安全等级,重要程度,数据的敏感程度,与其他数据的关联性等。

⑶密钥生成:算法以私钥mk和根据访问控制策略形成的访问控制树t为输入,为每一个节点x(包括叶子节点)选择多项式函数qx,选择方法是:从根节点开始,每一个节点所对应的多项式qx的次数dx为该节点阈值kx减1,即:dx=kx-1。

从根节点r开始,选择一个随机数r∈zp,并且设qr(0)=r,然后选择其他dr个不同的点来完全定义多项式qr。对于非根节点的树中的其他点,设定qx(0)=qparent(x)(index(x)),并选择其他dx个不同的节点来完全定义多项式qx。

y表示访问控制树t中的叶子节点的集合,计算密钥为:

⑷解密:算法以密文ct和密钥sk为输入,解密出明文。为了说明解密算法的正确性,需要用到拉格朗日插值法,为此需要定义函数

根据拉格朗日差值定理,s中属性对应树t中的叶子节点,h(i)可以表示成g0中的元素g1,可以得到,

最后计算:

到此解密算法结束。

下面结合具体的应用场景,详细说明如何利用基于密钥策略的属性加密算法实施机器学习环境下的访问控制:

一个用户a产生了数据m1和m2,用户个性化定义两个数据的敏感程度,例如用户a将m1的敏感程度设定为ρ1,将m2的敏感程度设定为ρ2。用户公开数据的敏感程度,即公开ρ1和ρ2。a利用设置算法生成自己的公钥pk和私钥mk,并公开公钥pk。

用户a利用加密算法,对m1和m2设定特定的属性,例如对m1设定的属性为安全等级为3,重要程度为2,m2设定的属性为安全等级为4,重要程度为3,并按照敏感程度ρ1和ρ2进行加密,得到ct1和ct2。

服务提供商b和c申请利用a的数据进行机器学习,例如服务提供商b申请对a的敏感程度为ρ1的数据进行学习,服务提供商c申请对a的敏感程度为ρ2的数据进行学习。a同时是服务提供商b和c的用户,但是b和c只能得到用户a数据的密文,当b和c向用户申请访问其数据时,将申请数据的敏感程度提交给用户,用户a决定服务提供商能否访问申请的敏感程度的数据,如果允许,将设定一个访问控制策略,例如为服务商b设定的访问控制策略为(安全等级≤3)∧(重要程度≤2),为服务商c设定的访问控制策略为(安全等级≤3)∧(重要程度≤3),并按照该访问控制策略为服务商产生密钥sk,服务商获得生成的密钥sk,运用解密算法解密用户的数据,获得用户的数据后进行机器学习。可以看到,服务提供商b和c分别获得密钥skb和skc之后,b申请访问的密文中的属性能够满足skb中的访问控制策略,因此能正确解密,但只能解密敏感程度为ρ1的数据。c申请访问的密文中的属性不能满足skb中的访问控制策略,因此不能正确解密。

由此可见,属性加密能很好地实现机器学习环境下的访问控制机制,克服了传统访问控制机制的缺陷,并提供给用户个性化定制的功能,对保护机器学习环境下用户数据的隐私具有重要意义。

本发明另一实施例提供一种基于属性加密的用于机器学习环境下的访问控制系统,基于密文策略进行访问控制,该系统包括:

数据提供端,用于设定基于属性的访问控制策略,根据访问控制策略对隐私数据进行加密,形成密文;并根据数据需求端的属性生成解密密钥;

数据需求端,用于利用解密密钥对数据提供端形成的密文进行解密,只有当解密密钥中的属性满足密文中的访问控制策略时,才能解密得到数据提供端的隐私数据。

本发明另一实施例提供一种基于属性加密的用于机器学习环境下的访问控制系统,基于密钥策略进行访问控制,该系统包括:

数据提供端,用于根据属性对隐私数据进行加密,形成密文;并设定基于属性的访问控制策略,根据访问控制策略生成解密密钥;

数据需求端,用于利用解密密钥对数据提供端形成的密文进行解密,只有当解密密钥中的访问控制策略能够被密文中的属性满足时,才能解密得到数据提供端的隐私数据。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1