APP下载

一种基于属性的两级敏感度计算模型

2021-05-10刘建华任丹丹王国铭

西安邮电大学学报 2021年6期
关键词:字段敏感度姓名

刘建华,任丹丹,王国铭

(1.西安邮电大学 信息中心,陕西 西安 710121;2.西安邮电大学 计算机学院,陕西 西安 710121; 3.陕西师范大学 民族教育学院,陕西 西安 710119)

敏感信息[1]是指不当使用或未经授权被人接触或修改会不利于国家利益或政府计划的实行或不利于个人依法享有的个人隐私权的所有信息。中国《个人信息安全规范》将个人敏感信息界定为“一旦泄露、非法提供或滥用可能危害人身和财产安全,极易导致个人名誉、身心健康受到损害或歧视性待遇的个人信息”。在大数据环境下对敏感信息的保护十分重要,不同用户针对敏感信息的敏感程度具有差异性,制定合理的访问授权策略[2],可更为有效地保护敏感信息不被泄露。敏感程度即用户希望敏感信息不被他人获悉的程度,是用户是否有权限访问敏感信息的重要依据。因此,有效分析用户针对敏感信息的敏感程度尤为重要。

针对敏感程度的测度,文献[3]提出了基于属性敏感度度量的自动信任协商模型,通过给出敏感度量化标准和属性敏感度到访问控制策略的映射规则,自动匹配相应的协商策略。该模型不仅提高了自动信任协商的效率,还减少了陌生域隐私泄露问题;面向敏感值和敏感程度同时保护的(SD,K)-anonymity模型,主要结合分类树对敏感属性进行敏感程度衡量[4];文献[5]提出了可自动计算数据敏感性的动态框架,使数据敏感性会随着时间段推移而变化,以保护敏感数据远离未经授权的用户;ε-敏感程度不可区分的隐私保护方法将敏感程度融入了隐私保护中,可防止攻击者获得用户目标[6];敏感度感知的高维数据差分隐私保护方法主要利用信息熵衡量属性的敏感程度[7]。然而,上述方法仅分析了敏感数据的敏感度属性,并没有充分考虑访问敏感信息的用户自身携带的敏感度属性,属性考虑的不全面会对敏感数据的隐私保护造成威胁。在某种特定应用场景下分析敏感程度,如采用统计方法构建敏感度计算公式,将高校图书馆服务质量评价指标分类[8];通过建立驾驶员信息敏感反应结构方程模型,分析不同驾驶员敏感信息的反应程度[9],但这些方法并不能适用于其他场景。

针对现有敏感度衡量方法中敏感度属性考虑不全面,敏感程度分析模型不具有普适性的问题,拟建立一种基于属性的两级敏感度计算模型。通过结合用户和敏感信息的敏感度属性,从定量层面[10]准确计算用户针对敏感信息的敏感程度,以期在不同场景下分析用户针对敏感信息的敏感程度差异性,保护敏感信息不被泄露。

1 两级敏感度模型

1.1 基于访问控制的敏感信息分类模型

在访问控制过程中,增加敏感信息敏感程度测度机制是提高敏感度计算普适性的有效方法。基于访问控制的敏感信息分类模型如图1所示。

在该模型中,角色即一种叫做“角色”的属性,代表用户的属性集合。通过两级敏感度计算模型分别计算出用户和敏感信息的敏感度值,以及二级敏感度值,然后将包含用户自身属性、所处环境属性和用户敏感度属性等用户属性隐含到“角色”里,使用户通过权限访问树获得密钥,进行解密,进而访问敏感信息。

1.2 两级敏感度模型

基于属性的两级敏感度模型,主要从分层角度定义了两种实体的敏感度,分别是敏感信息和用户的敏感度,以及一种虚拟的敏感度,即用户对于敏感信息的反应程度。用户和敏感信息分别拥有的敏感度属性为一级敏感度。用户针对敏感信息的敏感程度为二级敏感度,是多对多的关系[11]。两级敏感度模型如图2所示。

图2 两级敏感度模型

用户敏感度U、敏感信息敏感度I和二级敏感度S具体定义如下。

定义1用户敏感度U为各个用户自身具有的敏感度值,也称用户的敏感标签,其指定了该用户的敏感等级或者信任等级[12]。

定义2敏感信息敏感度I为各个敏感字段的敏感度值,也称敏感信息的敏感标签,说明了该敏感字段的敏感等级及其隐私保护的要求大小。

定义3二级敏感度S表示某一用户针对某一敏感信字段的敏感程度,是多对多关系。

将敏感度的范围设定为(0,1)的一个开区间,假设I,U,S∈(0,1),标度越小,表示I的敏感等级越低,U的敏感类型越轻微,S的程度越轻微。敏感度分类如表1所示。

表1 敏感度分类表

2 敏感度计算

分别采用层次分析法[13]和统计法计算一级敏感度中的敏感信息敏感度和用户敏感度,采用线性回归法计算二级敏感度。

2.1 一级敏感度计算

1)敏感信息敏感度计算。敏感信息涉及用户的个人隐私,层次分析法不仅适用于存在不确定性和主观信息的情况,还允许以合乎逻辑的方式运用经验、洞察力和直觉。因此,通过定性指标模糊量化方法[14]计算敏感信息的敏感度。

设目标层为敏感信息I,准则层为各敏感字段a1,a2,…,an,I⊇{a1,a2,…,an}。类比Santy-成对比较矩阵标度表[15]中的重要性等级,按照1-9分级设计敏感性等级。在确定准则层各敏感字段之间的权重时,用相对尺度对所有敏感字段两两比较,尽可能减少性质不同的敏感字段间相互比较的困难。敏感字段ai与敏感字段aj的敏感性对比结果为aij,i,j∈n由9个敏感性等级及其赋值建立的敏感程度标度如表2所示。

表2 敏感程度标度

根据表2,对准则层各敏感字段创建成对比较矩阵,即

式中,n为A中敏感字段的个数。

敏感信息敏感度的计算步骤如下。

步骤1建立敏感信息敏感度的层次结构模型,即目标层的敏感信息和准则层的各敏感信息字段。

步骤2构建如表2所示的敏感程度标度表,依据表2,结合具体应用场景创建成对比较矩阵A。

步骤3在Matlab中运行层次分析法[13]程序,输入矩阵A,输出各敏感字段权重Q。

敏感信息敏感度的计算过程如图3所示。

图3 敏感信息敏感度计算过程

2)用户敏感度计算。用户即敏感信息的访问者,通过分析用户访问日志,过滤包含关键词的网际互连协议(Internet Protocol,IP),关键词的选取与敏感信息相关[16]。最后,统计日志中IP出现的频率作为用户的敏感度[17]。具体计算步骤如下。

步骤1下载用户网络日志数据集D={date,time,ip,method,url,status}。

步骤2遍历日志文件,包含关键字xxx的日志行用正则表达式[18]"(?:[0-9]{1,3}.){3}[0-9]{1,3}"提取IP。

步骤3创建列表countX存放包含关键字的IP,ipsum为不同IP出现次数,countX.count(ip)/ipsum即为不同IP出现的频率。

2.2 二级敏感度计算

将二级敏感度S作为因变量,敏感信息敏感度I和用户敏感度U作为自变量,通过自变量的最优组合共同预测二级敏感度,借助线性回归法[19]构建二级敏感度对应的多元线性回归模型,表达式为

S=β0+β1I+β2U

(1)

其中,β0、β1和β2表示回归系数。

二级敏感度计算过程如图4所示。首先,针对每一个敏感信息字段,建立一个以敏感信息敏感度和用户敏感度作为自变量,二级敏感度作为因变量的数据集。然后,对其进行相关性分析,从箱图和散点图可视化分析数据分布情况,生成相关系数矩阵,从定量层面刻画相关性。最后,通过划分训练集和测试集训练回归模型,得到相应的二级敏感度公式。

图4 二级敏感度计算过程

3 实例验证与分析

不同的用户(如辅导员、任课老师等)对在校大学生(简称学生)敏感信息具有差异性,以此为例,验证基于属性的两级敏感度计算模型的有效性。实验硬件环境为Windows 10操作系统,主频1.90 GHz,内存8 G。软件环境为Python 3.7.2,Matlab 2018,JetBrains PyCharm 5.0.3。

3.1 学生敏感信息敏感度计算

选取表示学生敏感信息的学号、姓名、学院、专业、出生日期、性别和联系电话等7个数据字段构建层次模型,如图5所示。

图5 层次结构模型

根据表2,结合接触学生敏感信息各个字段时的反应程度,以及信息的保密程度,构造成对比较矩阵

在Matlab中运行层次分析法程序,输入矩阵A,输出权重Q=(0.034 5,0.245 7,0.110 8,0.141 0,0.174 9,0.116 0,0.176 6)。计算得出一致性指标CI=0.045 0,接近于0,有满意的一致性,检验系数CR=0.033 1,CR<0.1,说明该成对比较矩阵通过了一致性检验,即权重Q可用来表示各敏感字段的敏感度。姓名的敏感度为0.245 7,是权重里最高的一个,因此,对姓名字段的保护要求也最高,其他敏感字段同理。

3.2 用户敏感度计算

选取网络日志数据集UserClustering作为实验依据,其部分内容如图6所示。

图6 用户访问日志截取图

考虑到访问学生敏感信息,可将Student作为关键字进行筛选,然后遍历日志文件每一行,查看是否包含关键字Student,包含关键字的日志行用正则表达式"(?:[0-9{1,3}.]){3}[0-9]{1,3}"提取IP,并统计IP出现的频率[20],由此得到用户的敏感度分布如图7所示。

图7 用户敏感度分布

从图7中可以看出,用户118.244.228.205拥有最高的敏感度,说明该用户的敏感等级最高,其信任等级也最高。其次是用户118.244.228.208,该用户敏感等级和信任等级仅次于用户118.244.228.205,其他用户同理。

3.3 用户针对学生信息敏感程度计算

以姓名这一敏感字段为例,借助python实现计算,包括利用pandas和numpy对数据进行操作,使用matplotlib和seaborn进行图像化,以及sklearn进行数据集训练与模型导入[21]。

1)数据集准备。创建包含姓名敏感度、用户敏感度以及二级敏感度的小型数据集,如表3所示。姓名敏感度是由前面计算出的敏感信息敏感度中姓名字段对应的值0.245 7为中心,左右0.01为单位扩展得到的5项值组成的一组数据,目的是为了让层次分析法计算出的敏感信息敏感度值更具有客观性,减少人为因素的干预。用户敏感度即随机抽取5位用户组成。二级敏感度采用random模块随机生成介于姓名敏感度和用户敏感度区间内的随机值,由实际意义可知,二级敏感度受姓名敏感度和用户敏感度相互牵制的影响,必然介于两者之间。

表3 二级敏感度_姓名表

为了使数据集更具有说服力,复制该数据集3份,对应二级敏感度也随机生成3份,得到总计20条数据的数据集Sen_2nd_namecsv。

2)相关性分析。采用describe()方法对数据进行描述性统计,并采用boxplot()方法绘制箱图,姓名敏感度、用户敏感度和二级敏感度的最大值、上四分位数、中位数、下四分位数及最小值如图8所示。图中空心原点表示异常值,可忽略不计。

图8 二级敏感度_姓名箱图

在描述统计之后对数据进行相关性分析,以此查找数据中特征值与标签值之间的关系。采用corr()方法计算相关系数矩阵如表4所示。

表4 相关系数矩阵

从表4中可以看出,用户敏感度和二级敏感度呈较强的正相关关系,姓名敏感度和二级敏感度呈较弱的负相关关系。

使用seaborn的pairplot建立散点图,查看姓名敏感度、用户敏感度分别对二级敏感度的影响,以及不同的因素对二级敏感度的预测线。二级敏感度_姓名散点如图9所示。

图9 二级敏感度_姓名/用户散点

3)回归模型的建立。使用train_test_split函数创建训练集与测试集,训练比例设置为0.8,将训练集中的特征值与标签值放入LinearRegression()模型中,并使用fit函数进行训练,在模型训练完成之后,由式(1)可得对应的线性回归方程式为

S=0.108 2-0.084 9I+0.295 9U

(2)

即可得某一用户针对姓名字段的敏感程度。例如,当姓名敏感度为0.245 7时,某一用户敏感度为0.305 6,代入式(2)可计算出该用户针对姓名的敏感程度为0.177 7,说明该用户对姓名这一敏感字段轻微敏感。其他敏感字段的线性回归模型建立方法同理。

用户针对学生敏感信息各个字段的二级敏感度,描述了用户针对不同敏感字段的反应程度,便于后续结合访问控制策略判断用户是否可以访问相应的敏感字段。该模型从全面计算用户和敏感信息的敏感度属性出发,有利于更好地保护敏感信息的隐私安全,且对应用场景没有强依赖性,仅需要确定用户群体和敏感信息内容后,便可分析出敏感程度的差异性。

4 结语

基于属性的两级敏感度计算模型是用户在访问控制过程中判断访问敏感信息敏感程度的一种测度模型。该模型不仅测度信息敏感度,还测度访问该信息的用户敏感度,计算访问过程的综合敏感度,充分全面考虑了两者之间的影响与关联性。实例验证结果表明,该模型能有效地从定量层面计算出用户针对敏感信息的敏感程度,只需在访问控制模型中加入敏感度计算即可,具有通用性,且适用于非单一化应用场景下分析用户对于敏感信息的反应程度。

猜你喜欢

字段敏感度姓名
带钩或不带钩选择方框批量自动换
浅谈台湾原版中文图书的编目经验
跨文化敏感度综述
小学语文写作教学存在的问题及对策
XpertMTB/RIF技术在肾结核的早期诊断和利福平耐药检测中的价值
小记者档案
一年级语文上册期末测试
无正题名文献著录方法评述
无正题名文献著录方法评述
第一单元综合模拟测试卷