基于角色的数据隐私保护技术研究与实现

2012-04-29 00:44於晓东
计算机时代 2012年7期
关键词:隐私保护

於晓东

摘要: 研究并设计了一种基于角色访问控制的隐私保护技术。操作者对信息进行访问时,根据被分配的访问控制角色和被访问者的隐私设置等级,决定操作者可以得到多少信息量以及信息是否需要隐藏。该技术基于角色访问控制模型,实施分级访问;对数据库存储的敏感信息采用PBE加密;对数据内容的保护采用了匿名泛化技术。通过在一个教学管理系统中的部署和应用,验证了该技术的可行性和有效性。

关键词: 隐私保护; 角色访问控制; 基于口令的加密; k-匿名

中图分类号:TP309文献标志码:A 文章编号:1006-8228(2012)07-04-03

0 引言

随着网络和信息技术的高速发展,现代社会已经进入了信息的随时发布和迅速传递的时代。大量主客观世界中的实体成为了信息的来源者、传递者和接收者。社会搜集和传播隐私信息的成本越来越低,传播的速度也越来越快。对网络资源不加控制的访问和传播会造成大量敏感信息的泄露,因此,目前对数据的内容保护,尤其是对信息内容的隐私保护的需求十分迫切。

相对于传统安全领域中的典型技术,例如身份认证技术、数据加密技术、访问控制技术等,隐私保护技术更侧重于对数据隐含信息的保护。关于隐私保护已经提出了许多新方法,例如对于数据发布的隐私问题,可以通过k匿名技术[1],数据混淆、泛化技术[2]等来实现。对信息系统的安全而言,隐私保护技术仅解决了部分的数据安全问题,还需要和传统的技术一起来保证信息资源的整体安全性。

本文试图在访问控制模型和隐私保护技术基础上,提出一种基于角色访问控制的隐私保护方法,在传统的RBAC(Role-Based Access Control)[3]基础上,提供个性化的隐私数据访问,并应用于教学管理系统实践中。

1 RBAC与隐私等级保护的关系

访问控制技术对所有已验证身份的用户所提出的对系统资源的访问请求进行评估,判断是否接受或拒绝该请求,以此来防止对信息的非法访问,保证信息的机密性。作为传统的系统安全技术之一,访问控制技术得到了较为广泛的研究和应用。访问控制策略、访问控制机制和访问控制模型是研究和建立访问控制技术的几个主要的方向。文献[4]所进行的调查表明,在大多数的机构中,访问控制决策是基于用户角色以及在机构中的职责所做出的。RBAC通过角色来控制对资源的访问,已经被证明比较适合用来表达信息系统对用户的安全需求,并得到了广泛的应用。

在信息的隐私保护研究中,隐私是指自然人自身所享有的与公众利益无关并不愿他人知悉的私人信息。在RBAC模型中,用户通过被赋予角色,因角色所具有的权限而获得对资源的有效操作。但是这只是控制了数据访问的权限,没有对数据内容做出保护。如果只是简单地通过访问控制来控制对信息的读取,那么还是会在合法的访问过程中泄露数据。因此,必须要将这两种技术结合起来对数据提供综合的保护。经过分析,我们发现在访问过程中,信息对于被分配相同角色的用户访问而言,所表示出来的特性是一致的,因此,基于角色的访问控制可用于对信息的分等级隐私保护,如图1所示。

我们以教学管理系统为例,用户可以被分配三种不同的角色:管理员、教师、学生。不同的角色可以对应系统中关于信息内容的不同的隐私保护等级。结合用户需求,我们可以按照三个信息保护等级来为教学管理系统中的数据设计不同敏感程度的保护方案。

例如:根据最小权限分配原则,学生的权限最低,仅能访问数据库中有关成绩统计及自身信息的一些资料,因此对应着信息保护初级等级,所访问的统计信息可用匿名泛化的形式给出。学生不能查看其他同学精确的分数,但是可以知道自己在班级和专业中的排名,也可以了解同学经泛化处理后的成绩。教师拥有高一级权限,可以查看学生的成绩和个人信息,但是根据相应的隐私保护等级,限制他查看学生个人资料的详细信息。同时,教师可以获得教学活动所必须的个人信息的匿名统计信息。系统管理员虽然拥有最高权限,可以对系统进行维护,但是他对系统的管理体现在RBAC层面(例如添加用户,分配权限等)。系统管理员不能访问学生、教师的个人隐私数据。个人隐私数据在存放入数据库之前要进行适当的加密,防止系统内容在内部出现信息的泄漏。系统管理员可以获得学生、教师经隐私保护后的数据,得到数据的精确范围低于前两者,但是能满足对系统的管理需要。

下面以教学管理系统为例来说明我们在设计时采用的系统结构、处理流程和关键技术。在我们的系统设计中将涉及到RBAC技术、匿名技术、泛化技术以及数据的加密技术。

2 系统设计和关键技术

我们设计的RBAC_PL系统的框架如图2所示。

其中,访问控制执行点获取访问主体的请求,交由访问控制决策点做出访问控制决策。访问控制策略和隐私等级设置模块确定了访问主体被分配的角色,以及该角色对应的隐私等级所需要执行的隐私保护策略。隐私保护执行点按照访问控制点传送回的对访问客体权限及访问客体应该执行的信息保护策略可对访问客体进行合理的访问。

2.1 角色-权限-匿名等级的设计

系统定义三个用户角色:学生,教师,管理员,保存在角色表中。用户登录时,系统将根据用户角色决定用户是否有权进行数据项的访问;当用户访问信息时,根据角色对应的隐私等级来调用相应的匿名算法。我们设置的关系如表1所示。

2.2 访问信息中个人隐私数据的加密

对个人的关键数据字段进行加密,能防止数据的窃取、篡改,保证数据的完整性。我们在系统中采用对个体信息的重要属性进行加密,并在需要时候进行解密的方法,可较方便地实现数据信息的保护。在目前的密码学领域,加密技术主要可分为对称加密与非对称加密两种。

对称加密,是指采用单钥密码系统的加密方法。对称加密算法的特点是算法公开、计算量较小、加密速度快、加密效率高,可在大量数据加密时使用。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。对称加密算法的安全性取决于加密密钥的保存情况。

非对称加密算法也称为公钥算法。如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。非对称加密算法的保密性较好,它消除了用户交换密钥的需要,但加密和解密花费时间长、速度慢,主要用于对少量数据加密,并不适合对大数据量文件的加密。

本文采用对称加密算法中的PBE加密技术[5],对个人的隐私数据进行保护。该算法利用一组随机数和口令,来对用户信息中标识符部分(即可直接推定用户信息的属性,如身份证号等)进行加密处理,用户只有通过合法的访问申请,才能得到口令及随机数来进行解密工作。

2.3 隐私保护策略和K匿名模型

隐私保护处理经常采用隐匿和泛化方法。隐匿即移除单个属性值或者一个元组的所有值。泛化即一个值被一个更不确切的值所替换,这个值比原来的值更一般。匿名的过程是对需要保密的数据进行泛化和隐匿的过程。通过这个过程就可以发布没有信息泄露的数据。

本项目中隐私保护策略决定了怎样对用户的隐私信息进行保护。隐私保护策略是设计的核心。隐私策略的制定是参考角色的。用户在访问数据库资料时,需要提供相应的访问目的。系统对不同的用户根据不同的访问目的设定不同的隐私访问策略,并根据用户的访问目的及用户本身的角色来定义访问等级,从而确定匿名哪些数据。本文实现的算法参考了K匿名模型(K-Anonymity)中[6]的逐级泛化方式。

K-Anonymity模型是1998年Samarati P和Sweeney L提出的一个防止链接攻击造成信息泄露的隐私保护模型。K-Anonymity模型要求每个个体将敏感属性隐藏在规模为K的群体中,使攻击者不能判别出敏感属性所属的具体个体,从而防止了个人隐私的泄密。

定义:对于一个数据表T,如果经过匿名化处理后得到等价数据表,当且仅当在任一等价组内每一条记录至少有k-1条记录与它相对应。

用户在访问自身角色允许的目标时,系统将根据访问目的与访问目标的不同,确立相应的匿名等级,对照数据库中相应的匿名表,进行匿名泛化处理。

3 教学管理系统中的RBAC_PL实现

3.1 系统功能和RBAC_PL流程设计

我们建立的高校教学管理系统主要实现学生、教师相关信息的检索,可以简单描述如下。

⑴ 个人资料查询:可获取经过匿名化处理的全部个人资料数据,可用于查询统计分析。

⑵ 个人资料查询(学院):可获取与登录学生或教师相关学院的经过匿名化处理的个人资料数据,用于查询统计分析。

⑶ 绩点信息查询(全体):可获取相关绩点成绩信息数据(绩点信息经过低等级泛化处理),用于查询统计分析。

⑷ 绩点信息查询(学院):可获取与登录学生或教师相关学院相关绩点成绩信息数据(绩点信息经过低等级泛化处理),用于查询统计分析。不同身份用户获取资料的匿名等级不同。

⑸ 用户信息:显示经过解密处理后的当前用户的全部资料。

⑹ 信息添加:管理员身份用户可对信息进行添加操作。标识符信息需经加密处理。

系统的整体处理流程如下:操作者(如教师)登录系统后,按页面操作,提出查询请求,确定具体的访问目标资源(如个人资料)。系统取得含有加密数据的请求信息,同时取得数据所有者关于此查看请求的相应权限信息,对照权限信息来进行相应的数据解密,之后进行相应的匿名泛化处理,再将信息返还给操作者。

3.2 系统实现和应用举例

我们选择Tomcat 6.0建立Web服务器,选用SQL SERVER 200作为数据库建立教学管理系统。系统采用Java,HTML及JavaScript语言开发。

系统中加密密钥分为口令和随机数两部分,口令存储在数据库中,随机数预先制定。如图3所示,为防止内部的信息泄露,对关键字段进行了加密。

假设有一个学生A想要查询个人资料和绩点信息,系统按照A对这些资料访问的限制分配角色,确定他对哪些字段享有访问权限。如果A被赋予可以查看全校个人资料的角色(如图4(a)所示),那么他可以看到全校的个人资料;如果他仅被赋予可查看全院个人资料的角色(如图4(b)所示),那么他所访问的字段将受到限制。这两种不同角色对应的隐私保护的等级不同,因此获得的信息将经过不同的泛化。

4 结束语

我们在分析RBAC模型和隐私保护技术基础上,设计和实现了基于角色的隐私保护技术原型,结合角色分配和数据内容的隐私保护策略,控制了用户数据访问权限及对敏感信息内容的访问等级。通过将该原型系统部署于一个教学管理系统,实现并验证了系统的可行性和有效性。

本系统所存在的主要问题是匿名化处理不够完善,教学管理系统只局限于信息查询管理,需要增加更多的访问目的和访问方式,使得新模型更加完善。在未来的工作中,我们将更深入地研究泛化算法与等级保护策略的自动化配置。

参考文献:

[1] L.Sweeney. K-anonymity: a model for protecting privacy[J].

International Journal on Uncertainty,Fuzziness and Knowledge-

based Systems,2002.10(5):557-570

[2] C. Clifton, M. Kantarcioglou, X. Lin, M.Y. Zhu. Tools for privacy

preserving distributed data mining. ACM SIGKDD Explorations,2002.4(2):28-34

[3] Sandhu R, Coyne E, Feinstein H, et al. Role-based access control

models[J].IEEE computer,1996.29(2):38-47

[4] Ferraiolo D. F., Gilbert D. M., Lynch N. An examination of federal

and commercial access control policy needs[A].Proceedings of the 16th National Computer Security Conference[C].Baltimore,MaryLand:NIST-NCSC,1993:107-116

[5] 柏文阳.安全数据库的隐私保护和访问控制集成研究[J].计算机应用

研究,2010.10:3876-3879

[6] L.Sweeney. Achieving K-anonymity privacy protection using

generalization and suppression. International Journal on Uncertainty, Fuzziness and Knowledge-based Systems,2002.10(5):571-588

猜你喜欢
隐私保护
移动商务消费行为分析研究
适用于社交网络的隐私保护兴趣度匹配方案
可搜索加密在云计算移动学习中的应用
基于层次和节点功率控制的源位置隐私保护策略研究
关联规则隐藏算法综述
大数据环境下用户信息隐私泄露成因分析和保护对策
大数据安全与隐私保护的必要性及措施
大数据时代中美保护个人隐私的对比研究
社交网络中的隐私关注及隐私保护研究综述
大数据时代的隐私保护关键技术研究