本发明涉及网络空间安全中用户身份信息隐私保护方法,,具体涉及一种基于敏感信息度量的身份信息隐私保护方法。
背景技术:
网络应用的飞速发展使得用户面临的身份盗用和身份信息泄露威胁以及应用和服务面临的来自外部和内部的身份安全威胁越来越严重,如何解决身份盗用和身份信息泄露是当前的研究热点。要解决身份信息泄露问题,仅仅提供完善的身份鉴别和授权流程和安全的信息传输是不够的,还需要对应用间以及应用与用户之间互相披露的信息进行保护。
隐私保护解决身份信息泄露问题的重要手段,隐私保护是指对已发布数据的访问并不能使攻击方获取关于任何用户的任何信息,即使攻击方拥有从其他渠道获取到的用户背景知识,无论是否发布数据,用户的隐私风险始终保持一致。隐私保护要符合匿名性、非追踪性、非关联性、不可推断性、机密性、似真否认等原则。传统的隐私保护技术包括基于数据失真(distorting)的技术、基于数据加密的技术、基于限制发布的技术。这些技术各有其优缺点,基于数据失真的技术具有较高的效率,但存在一定程度的信息丢失;基于数据加密的技术能够保证最终数据的准确性和安全性,但计算开销大,效率较低;基于限制发布的技术能够保证发布数据的真实性,同样,发布的数据存在一定程度的信息丢失。
隐私保护的目的是确保攻击方无法以较高的概率(置信度)推断出攻击目标的敏感信息。在实际应用中,出于研究和分析目的,通常需要发布包含用户信息的数据集,在数据发布过程中,数据发布方需要对待发布数据集中敏感属性进行匿名化处理,隐藏原始数据,发布匿名化后的数据,不泄露数据中包含的用户敏感属性,从而实现隐私保护的目标;另一方面,由于研究和分析数据的需求,数据发布方必须保证匿名化后的数据仍然保持原始数据的部分统计特征,保证匿名数据集的可用性;从而,在实际实现中,隐私保护算法需要平衡隐私保护和匿名数据可用性两方面的矛盾。
身份及身份属性面临的威胁除了传统的数据隐私泄露威胁——敏感身份属性泄露,还包括通过推理得知重要用户(网络管理员、企业高层管理人员等权限较高的用户)的身份标识,进而对重要用户进行重点数据挖掘,这一方面会使得攻击方获得更高的系统访问权限,另一方面对重要用户本身也是一种伤害(包括人身伤害和精神伤害,如斩首行动等)。
考虑到对所有身份信息进行全面完整的保护在技术实现上的困难性和非必要性,首先需要研究评估用户身份信息重要程度的方法,从而明确保护对象;然后,研究数据发布过程中的隐私保护技术,对要披露的用户信息进行匿名化处理,避免对用户身份的背景知识攻击,将身份盗用和身份信息泄露的风险控制在可接受的概率范围内。由以上分析可知,身份信息管理还面临着技术难题,目前针对身份管理技术的研究很少,大多处于摸索阶段。
技术实现要素:
针对现有技术的不足,本发明旨在提供一种基于敏感信息度量的身份信息隐私保护方法,该方法首先根据身份引用和身份属性信息引用来度量身份信息敏感程度,对重要用户及身份信息重要程度进行分级,在此基础上,可对用户关键身份和身份敏感信息进行隐私保护。本发明能够解决现有隐私保护方法难以有效应对基于背景知识攻击的隐私信息攻击方法的问题,使得对关键身份和身份敏感信息保护更加全面、有效。给定若干用户的身份信息库,本发明可自动识别出重要身份并确保攻击者无法通过高概率推断获得身份信息。
为了实现上述目的,本发明采用如下技术方案:一种基于敏感信息度量的身份信息隐私保护方法,包括如下步骤:
s1,确定输入输出;
s2,定义身份重要度并计算出身份重要度;
s3,根据孤立引用和完全引用,优化身份重要度;
s4,计算出敏感信息披露矩阵、最小攻击集、信息披露概率;
s5,确定泛化函数,并对数据集泛化;
s6,建立避免背景知识攻击的隐私保护模型;
s7,描述(γ,η)-risk匿名算法,输入原始数据集d,输出匿名数据集d′;
s8,引入置信区间,将攻击方的高概率推断攻击控制在指定的置信区间内,避免攻击者使用属性分布函数计算用户身份信息统计特征后进行高概率推断攻击。
优选技术方案,所述步骤s1中确定输入输出的过程如下:
s11.首先记身份信息数据库为did,应用程序数据库为aid;
s12.定义身份信息引用:假设c是某一特定身份信息,a是某一特定应用,fa是当前应用环境下所有应用的集合;
s13.定义身份信息引用矩阵:构造一个矩阵mid,每一列表示用户u的一个身份信息,每一行表示一个应用,元素值表示在应用ai和身份信息c之间存在一个身份信息引用,即:
那么,可得用户u的身份信息引用矩阵mid:
s14.定义身份引用:假设a是一个用户在某些应用中的身份标识符,a是某一特定应用,fa是当前应用环境下所有应用的集合;
s15.定义身份引用矩阵:构造一个矩阵m′id,矩阵的行和列均代表某一应用,矩阵元素值表示在应用ai和aj之间存在一个身份标识符引用,那么,可得用户u的身份标识符引用矩阵m′id,其中身份标识符引用矩阵m′id对角线元素恒为1;对身份信息重要性的度量等同于对包括身份标识符在内的每一个身份信息的度量,即与该身份信息存在引用关系的应用的度量为身份标识符引用矩阵m′id可由如下公式计算出:
优选技术方案,所述步骤s2中定义身份重要度并计算出身份重要度的具体过程如下:
s21.定义身份重要度:假设a是一个应用,fa是a引用的所有标识符的集合,ba是所有与a有引用关系的应用的集合,ca是ba中所有应用所包含用户的身份标识符集合,id为用户身份标识符,fa中的标识符是ca的一个子集,即
s22.iiv值计算过程中引入了常数q来表征不能被其他任何应用引用的应用的iiv值,常数q不为0;修正iiv计算公式为:
其中q为常数,表示iiv最小初始值,m是全网的应用数目;
s23.对身份信息应用矩阵mid作归一化处理,得到转移概率矩阵p:
s24.求mid的归一化:1.p=norm(m′id)
s25.计算p的特征值d和特征向量v:2.[v,d]=eig(p);
s26.求最大特征值m为:
3.m=find(abs(diag(d))==max(abs(diag(d))))
s27.计算特征值最大的特征向量:3.eigenvector=v(:,m)
s28.归一化特征向量为:
4.iiv=eigenvector./norm(eigenvector,1)。
优选技术方案,所述步骤s3中根据孤立引用和完全引用,优化身份重要度的具体过程如下:完全引用和孤立引用生成的转换矩阵p;且引入用户向量来计算iiv值,用户向量被所有应用引用。
优选技术方案,所述步骤s4中计算出敏感信息披露矩阵、最小攻击集、信息披露概率的具体过程如下:
s41.敏感信息披露矩阵:对一个包含n个应用的应用域dapp,应用appi像第三方应用披露的用户敏感信息矩阵如下所示:
其中
s42.最小攻击集iattack:用最小攻击集构建完整用户身份信息,其是实现用户身份伪造所需获取的身份披露信息的最小集合,定义为:iattack={i1,...,in};最小攻击集iattack用于确定用户身份信息在应用环境中传播的广泛性;其中,最小攻击集元素越少,用户身份信息传播的越广泛,攻击方获取最小攻击集伪造用户身份的概率越高,身份泄漏的风险越大;反之,攻击方攻击成本越高,用户身份泄漏的风险越低;
s43.信息披露概率:即攻击方成功获取最小攻击集iattack的概率;对于一个包含n个应用的应用域dapp,令包含最小攻击集内元素的应用集合为
优选技术方案,所述步骤s5中确定泛化函数,并对数据集泛化的具体过程如下:
s51.待发布原始数据集合:包含所有用户原始身份和属性信息的集合,记作t;
s52.待发布敏感数据集合:待发布原始数据集合中关键用户身份和身份敏感信息数据的集合,记作d;
s53.待发布非敏感数据集合:待发布原始数据集合中非敏感数据集合,记作s;待发布原始数据集合t=d∪s;
s54.泛化函数:对给定的数据v,v的泛化函数ψ(υ)返回v的所有泛化值;采用dgh结构来实现泛化函数ψ,其中ψ(china)={china,eastasia,asia,*};对于元组t和t′,当t′i∈ψ(ti)时,t′∈ψ(t),其中i∈qid;
s55.数据集泛化:给定敏感数据集d和数据集d′,当且仅当:|d|=|d′|且d′ij∈ψ(dij),i∈qid,0<j<n,n为用户属性个数;此时,d′是d的泛化数据集,其中元组d=d[.]j与元组d′=d′[.][j]相互关联,记为
s55.非覆盖泛化:给定数据集(表)d和d的泛化d′,d′是d的非覆盖泛化,当且仅当:对于d′中的任意两个元组d′1,d′2,d′1≠d′2,d中的任意一个元组d都不能同时满足d′1∈ψ(d),d′2∈ψ(d);非覆盖泛化实际上是指,对于数据集d中的任意一个元组只能在数据集d的匿名化集合d′中找到唯一对应的泛化元组;t′和t″都是t的非覆盖泛化,d″也是d的非覆盖泛化;
s56.等价泛化:数据集d′1、d′2分别为数据集d1、d2对应的非覆盖泛化,d′1和d′2是等价泛化,当:
(2)如果d′1∈ψ(d2)或d′2∈ψ(d1),则d′1=d′2;
s57.k-anonymity匿名:对数据集d的匿名数据集d′,d′为k-anonymity数据集,当且仅当对任意准标识符i∈qid,d′i至少出现k次。
优选技术方案,所述步骤s6中建立避免背景知识攻击的隐私保护模型的具体过程如下:
s61.原子:对任意用户ui及其敏感属性值
s62.基本背景知识:基本背景知识是由原子组成的公式:∧iai→∨ibj,其中ai和bj都是原子,i∈{1,...,m},j∈{1,...,n},m和n表示原子的数目;
s63.背景知识:背景知识k是由若干条基本背景知识组成,攻击方关于用户u的背景知识ku定义为
s64.准标识符等价类:数据集d中的准标识符相似等价类gqid是对数据集d按照准标识符进行的一个划分,其中对
s65.准标识符属性映射:对数据集d的准标识符等价类划分
(1)
(2)
(3)pt(g)=g;
s66.(γ,η)-risk匿名:给定待发布原始数据集d、等价泛化数据集d′及其准标识符等价类划分
其中,
优选技术方案,所述步骤s7中描述(γ,η)-risk匿名算法,输入原始数据集d,输出匿名数据集d′的具体过程如下:
s71.假定
s72.对每个准标识符等价类
s73.对给定参数γ,计算
集合rγ=记录数最多的前γ个
fori=1toγdo
rη=记录数最多的前η个
forj=1toηdo
从cj中删除任意一条记录r;
s74.对γ个集合
将r放入rr集合中任一
s75.将
定义集合
将记录
输出d′。
优选技术方案,所述步骤s8中引入置信区间,将攻击方的高概率推断攻击控制在指定的置信区间内,避免攻击者使用属性分布函数计算用户身份信息统计特征后进行高概率推断攻击的具体过程如下:
s81.属性分布函数:给定用户集合u,属性集c={c1,...,cn},属性分布函数
s82.置信(γ,η)-risk匿名:给定敏感数据集d及其等价泛化数据集d′,d的属性分布函数f,置信度α,β∈[0,1],令事件eγ表示
本发明的有益效果在于:
1.在(γ,η)-risk匿名模型中,具有背景知识ku的攻击方根据用户u的准标识符属性可以准确推测出用户记录属于哪一个准标识符等价类,即
2.在(γ,η)-risk匿名算法中,在完成步骤s71、步骤s72后和步骤s73完成后,每个非空的敏感类别记录集合
3.置信(γ,η)-risk匿名在数据集的每个准标识符等价类上定义了隐私,增加了识别用户身份即将原始数据集和特定用户相关联的难度,尤其是在隐私保护需求需要个性化的场合(如某些隐私需求较高的数据可能需要更高的置信等级),从而增强了数据集的匿名性。
附图说明
图1为本发明的流程示意图。
具体实施方式
以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
如图1所示,本发明一种基于敏感信息度量的身份信息隐私保护方法如下:
s1,确定输入输出;
s11.首先记身份信息数据库为did,应用程序数据库为aid;
s12.定义身份信息引用:假设c是某一特定身份信息,a是某一特定应用,fa是当前应用环境下所有应用的集合;
s13.定义身份信息引用矩阵:构造一个矩阵mid,每一列表示用户u的一个身份信息,每一行表示一个应用,元素值表示在应用ai和身份信息c之间存在一个身份信息引用,即:
那么,可得用户u的身份信息引用矩阵mid:
s14.定义身份引用:假设a是一个用户在某些应用中的身份标识符,a是某一特定应用,fa是当前应用环境下所有应用的集合;
s15.定义身份引用矩阵:构造一个矩阵m′id,矩阵的行和列均代表某一应用,矩阵元素值表示在应用ai和aj之间存在一个身份标识符引用,那么,可得用户u的身份标识符引用矩阵m′id,其中身份标识符引用矩阵m′id对角线元素恒为1;对身份信息重要性的度量等同于对包括身份标识符在内的每一个身份信息的度量,即与该身份信息存在引用关系的应用的度量为身份标识符引用矩阵m′id可由如下公式计算出:
s2,定义身份重要度并计算出身份重要度;
s21.定义身份重要度:假设a是一个应用,fa是a引用的所有标识符的集合,ba是所有与a有引用关系的应用的集合,ca是ba中所有应用所包含用户的身份标识符集合,id为用户身份标识符,fa中的标识符是ca的一个子集,即
s22.iiv值计算过程中引入了常数q来表征不能被其他任何应用引用的应用的iiv值,常数q不为0;修正iiv计算公式为:
其中q为常数,表示iiv最小初始值,m是全网的应用数目;
s23.对身份信息应用矩阵mid作归一化处理,得到转移概率矩阵p:
s24.求mid的归一化:1.p=norm(m′id)
s25.计算p的特征值d和特征向量v:2.[v,d]=eig(p);
s26.求最大特征值m为:
3.m=find(abs(diag(d))==max(abs(diag(d))))
s27.计算特征值最大的特征向量:3.eigenvector=v(:,m)
s28.归一化特征向量为:
4.iiv=eigenvector./norm(eigenvector,1)。
s3,根据孤立引用和完全引用,优化身份重要度;
完全引用和孤立引用生成的转换矩阵p;且引入用户向量来计算iiv值,用户向量被所有应用引用。
s4,计算出敏感信息披露矩阵、最小攻击集、信息披露概率;
s41.敏感信息披露矩阵:对一个包含n个应用的应用域dapp,应用appi像第三方应用披露的用户敏感信息矩阵如下所示:
其中
s42.最小攻击集iattack:用最小攻击集构建完整用户身份信息,其是实现用户身份伪造所需获取的身份披露信息的最小集合,定义为:iattack={i1,...,in};最小攻击集iattack用于确定用户身份信息在应用环境中传播的广泛性;其中,最小攻击集元素越少,用户身份信息传播的越广泛,攻击方获取最小攻击集伪造用户身份的概率越高,身份泄漏的风险越大;反之,攻击方攻击成本越高,用户身份泄漏的风险越低;
s43.信息披露概率:即攻击方成功获取最小攻击集iattack的概率;对于一个包含n个应用的应用域dapp,令包含最小攻击集内元素的应用集合为
s5,确定泛化函数,并对数据集泛化;
s51.待发布原始数据集合:包含所有用户原始身份和属性信息的集合,记作t;
s52.待发布敏感数据集合:待发布原始数据集合中关键用户身份和身份敏感信息数据的集合,记作d;
s53.待发布非敏感数据集合:待发布原始数据集合中非敏感数据集合,记作s;待发布原始数据集合t=d∪s;
s54.泛化函数:对给定的数据v,v的泛化函数ψ(v)返回v的所有泛化值;采用dgh结构来实现泛化函数ψ,其中ψ(china)={china,eastasia,asia,*};对于元组t和t′,当t′i∈ψ(ti)时,t′∈ψ(t),其中i∈qid;
s55.数据集泛化:给定敏感数据集d和数据集d′,当且仅当:|d|=|d′|且d′ij∈ψ(dij),i∈qid,0<j<n,n为用户属性个数;此时,d′是d的泛化数据集,其中元组d=d[.]j与元组d′=d′[.][j]相互关联,记为
s55.非覆盖泛化:给定数据集(表)d和d的泛化d′,d′是d的非覆盖泛化,当且仅当:对于d′中的任意两个元组d′1,d′2,d′1≠d′2,d中的任意一个元组d都不能同时满足d′1∈ψ(d),d′2∈ψ(d);非覆盖泛化实际上是指,对于数据集d中的任意一个元组只能在数据集d的匿名化集合d′中找到唯一对应的泛化元组;t′和t″都是t的非覆盖泛化,d″也是d的非覆盖泛化;
s56.等价泛化:数据集d′1、d′2分别为数据集d1、d2对应的非覆盖泛化,d′1和d′2是等价泛化,当:
(2)如果d′1∈ψ(d2)或d′2∈ψ(d1),则d′1=d′2;
s57.k-anonymity匿名:对数据集d的匿名数据集d′,d′为k-anonymity数据集,当且仅当对任意准标识符i∈qid,d′i至少出现k次。
s6,建立避免背景知识攻击的隐私保护模型;
s61.原子:对任意用户ui及其敏感属性值
s62.基本背景知识:基本背景知识是由原子组成的公式:∧iai→∨ibj,其中ai和bj都是原子,i∈{1,...,m},j∈{1,...,n},m和n表示原子的数目;
s63.背景知识:背景知识k是由若干条基本背景知识组成,攻击方关于用户u的背景知识ku定义为
s64.准标识符等价类:数据集d中的准标识符相似等价类gqid是对数据集d按照准标识符进行的一个划分,其中对
s65.准标识符属性映射:对数据集d的准标识符等价类划分
(1)
(2)
(3)pt(g)=g;
s66.(γ,η)-risk匿名:给定待发布原始数据集d、等价泛化数据集d′及其准标识符等价类划分
其中,
s7,描述(γ,η)-risk匿名算法,输入原始数据集d,输出匿名数据集d′:
s71.假定
s72.对每个准标识符等价类
s73.对给定参数γ,计算
集合rγ=记录数最多的前γ个
fori=1toγdo
rη=记录数最多的前η个
forj=1toηdo
从cj中删除任意一条记录r;
s74.对γ个集合
将r放入rr集合中任一
s75.将
定义集合
将记录
输出d′。
s8,引入置信区间,将攻击方的高概率推断攻击控制在指定的置信区间内,避免攻击者使用属性分布函数计算用户身份信息统计特征后进行高概率推断攻击:
s81.属性分布函数:给定用户集合u,属性集c={c1,...,cn},属性分布函数
s82.置信(γ,η)-risk匿名:给定敏感数据集d及其等价泛化数据集d′,d的属性分布函数f,置信度α,β∈[0,1],令事件eγ表示
对于本领域的技术人员来说,可以根据以上的技术方案和构思,作出各种相应的改变和变形,而所有的这些改变和变形都应该包括在本发明权利要求的保护范围之内。