文献标识码:A
DOI:10.16157/j.issn.0258-7998.2016.11.016
中文引用格式:吴响,俞啸,王换换. 面向数据挖掘的匿名化隐私数据发布系统设计[J].电子技术应用,2016,42(11):62-65.
英文引用格式:Wu Xiang,Yu Xiao,Wang Huanhuan. Design of anonymous privacy data publishing system for data mining[J].Application of Electronic Technique,2016,42(11):62-65.
0 引言
随着信息技术及数据挖掘技术的飞速发展,越来越多的数据为人们所共享使用。如何保护发布数据中的隐私信息不被攻击者恶意获取,同时又使数据接收者充分利用数据信息进行有效的探索和科学研究,已成为一个重要的信息安全问题。
目前,学术界对隐私保护技术开展了较为深入的研究[1-2],相关技术大致可以分为3 类:基于数据失真的技术[3-4]、基于数据加密的技术[5-6]和基于限制发布的技术[7-8]。其中,基于限制发布技术中的k-匿名得到广泛的应用[9]。k-匿名方法又可以分为精确求解方法和近似求解方法。前者能保证找到最优k-匿名方案,但其时间复杂度为指数级,只适用于小规模数据;后者只能找到近似最优k-匿名方案,但其时间复杂度为线性或近似线性,可应用于大规模数据。同时近似求解方法通过采用多种启发策略,可以在多项式时间内找到满足特定目标函数的局部最优方案,但不能保证找到全局最优方案。不同的匿名算法应用场景不同,数据匿名效果也各不相同,因此,需要根据发布者的需求进行定制数据匿名化。
本文针对不同应用场景及不同的用户需求,对匿名化隐私数据发布系统进行了研究。该系统在保证发布数据满足k-匿名的基础上,设计了自定义匿名算法的功能,实现用户数据定制化发布;同时结合嵌入式Web服务器技术打破传统硬件的限制,用户在能够访问Internet的地方即可进行数据发布的相关操作。通过测试实验对系统性能进行评估,结果表明该系统具有良好的匿名性、移动性和可扩展性,同时具有很好的服务选择性。
1 系统总体设计
系统主要由远程数据库、数据发布终端及远程浏览器3部分构成,实现数据的获取、处理、发送及显示,图1所示为系统的总体结构图。
系统流程:用户通过浏览器连接终端内的嵌入式Web服务器对数据发布过程中的数据库连接、算法选择、数据加密方式及要求等相关信息进行配置,同时通过远程浏览器实现任务开启、结果显示、数据导出等功能;数据发布终端在收到Web服务器的开始任务请求后读取系统配置信息,通过Internet获取远程数据库的数据源,并使用相关算法将数据进行匿名化操作;最后,终端将处理完成的数据集通过Web服务器呈现给远程浏览器,并提供文件导出、数据库转存等多种数据导出方式。
2 系统硬件设计
为了使数据发布终端既作为数据处理单元又作为嵌入式Web服务器单元,实现用户通过浏览器对终端进行远程配置、任务执行和结果输出等操作,将系统硬件分为电源管理模块、处理器模块、数据存储模块、网络通信模块和显示器模块5个部分,硬件系统总体结构如图2所示。
系统选用三星公司ARM Cortex系列中最新推出的Exynos 4412芯片为主处理器,是32 nm HKMG(High-K Metal Gate,HKMG)工艺的4核处理器,主频高达1.5 GHz,具有高性能、低功耗的优点。终端同时配备2G DDR3(Double Data Rate SDRAM 3,DDR3)内存及4 GB高速闪存。系统选用由Davicom公司生产的DM9000A作为以太网控制器芯片,它有1个10/100 Mb/s的自适应物理层与4 KB双字节大小的静态随机存储器,支持8 bit和16 bit的接口,可以支持不同类型的处理器,从而为终端执行数据加密处理过程提供可靠、高效的执行环境和硬件支持。
3 系统软件设计
3.1 数据发布终端软件设计
数据发布终端结合嵌入式Web服务器技术[10]实现,用户通过PC端的浏览器,使用图形界面来直接地访问嵌入式系统。这种基于Internet的方式使用户端可以在世界任何一个可连接Internet的地方访问Web服务器,根据用户需求随时随地进行数据匿名发布操作,极大地方便了用户进行的数据发布、系统管理和科研工作。
为实现用户通过远程浏览器与嵌入式Web服务器进行通信,系统中数据发布终端既作为数据处理单元又作为嵌入式Web服务器单元。嵌入式Web服务器在μClinux操作系统基础上,利用操作系统自带的TCP/IP协议栈提供的Socket编程接口进行通信。Web服务器由Http引擎及应用程序接口组成,通过CGI程序调用嵌入式应用程序模块,从而实现用户验证、系统配置、任务执行和数据导出等功能。嵌入式Web服务器总体结构框架如图3所示。
数据发布终端Web服务器采用多进程侦听模式,允许多个用户的同时连接。在Socket通信套接字创建完成后,终端侦听的过程是一个无限循环,当侦听到合法连接后便进行连接操作并解析Http报文请求。首先判断用户的合法性,若用户身份认证通过则继续解析,否则返回登录提示Web界面。
CGI(Common Gateway Interface,CGI)是一种动态Web网页技术,通过CGI程序定义的接口标准与其他应用程序模块之间进行交互。在Web服务器对客户端浏览器发送的请求报文进行判断时,若为静态页面则直接返回相应页面,若为CGI动态请求则将报文数据传递到CGI程序中处理,进行相关操作并将执行的结果封装成Html形式发送到客户端浏览器,从而展现给用户。 具体的软件流程如图4所示。
3.2 算法介绍
为了适应数据挖掘中不同应用场景下的隐私保护匿名化需求,系统内置10种匿名化隐私保护算法。算法主要分为全域泛化算法[11]和局域泛化算法[12]两类,其中全域泛化算法包含Incognito算法、Datafly算法、Samarati算法、Classfly 算法和Classfly+算法;局域泛化算法包含TDS(Top-Down Specialization)算法、Mondrian算法、MDAV算法、KACA算法和Filter K-匿名算法。
本系统的内置算法在其原文献中均需消耗大量时间进行访问I/O接口的操作,使得算法处理数据集效率较差。针对这一问题本系统进行了算法优化,使系统在处理数据集时除读取数据和导出匿名后的数据外,其余操作均在内存中完成。这种优化方式虽然消耗了内存资源,但大幅度缩短了处理数据集的时间,提高了系统对数据匿名化处理的效率。
以Incognito算法为例,在文献[11]中,该算法在形成表Ei的过程是在数据库中进行的,需要多次访问I/O接口,造成时间的损耗。以下是文献[11]形成Ei的SQL语句:
INSERT INTO Ei (start, end) WITH CandidateEdges (start, end) AS (SELECT p.ID, q.ID FROM Ci p, Ci q, Ei-1 e, Ei-1 f WHERE (e.start = p.parent1 ∧ e.end = q.parent1 ∧ f.start = p.parent2 ∧ f.end = q.parent2) ∨ (e.start = p.parent1 ∧ e.end = q.parent1 ∧ p.parent2 = q.parent2) ∨ (e.start = p.parent2 ∧ e.end = q.parent2 ∧ p.parent1 = q.parent1) ) SELECT D.start, D.end FROM CandidateEdges D EXCEPT SELECT D1.start, D2.end FROM CandidateEdges D1, CandidateEdges D2 WHERE D1.end = D2.start
这段代码多次访问I/O接口,占用该算法运行的大部分时间,本系统内置的Incognito算法对本部分优化的伪代码如下:
其中Ei包含Start和End两个字段,Ci包含ID、属性名和各属性泛化级别字段。以上代码均在内存中执行,减少了原算法的I/O接口的访问次数,极大地缩短了算法处理数据集的时间。
4 测试结果
为验证面向数据挖掘的匿名化隐私数据发布系统的实用性,测试选取了来自公共数据库UC Irvine Machine Learning Repsditory的Adult数据集中的训练集(大小:30 162条记录)作为系统数据源并对其进行匿名化测试,准标识符属性为age、workclass、education、marital_status、race、sex、native_country,敏感属性为salary。
4.1 功能测试
在功能测试中,设置匿名隐私约束k等于10。测试时,在浏览器地址栏下输入嵌入式Web服务器的IP地址,服务器对浏览器的请求作出响应,进行相应操作并将结果发给浏览器。在浏览器中进行对数据清洗,配置k-匿名隐私约束、准标识符属性、泛化规则以及敏感属性操作,并根据不同的需求选用相应的匿名化隐私保护算法,最后执行k-匿名处理。源数据表经过泛化后均满足k-匿名,且匿名表信息损失量较小。
4.2 性能测试
在性能测试中,以Incognito算法为例进行了不同k值约束条件下文献算法与系统优化内置算法执行时间的对比,具体时间对比如表1所示。
5 结论
本文描述了面向数据挖掘的匿名化隐私数据发布系统的设计与实现,该系统通过内置算法匿名化数据集的准标识符属性,从而避免个人信息泄漏。测试结果证明,本系统可以有效地实现数据集的匿名,保护了个人隐私信息,并且其内置的优化算法大幅度地提高了处理数据的效率。同时,系统提供的可配置数据库及自定义算法功能使数据发布得以定制化,具有较好的移动性、可扩展性和服务选择性,为数据挖掘科研工作的开展提供较大的参考价值。
参考文献
[1] 周水庚,李丰,陶宇飞,等.面向数据库应用的隐私保护研究综述(四)[J].计算机学报,2009,32(5):847-861.
[2] 朱青,赵桐,王珊.面向查询服务的数据隐私保护算法[J].计算机学报,2010,33(8):1315-1323.
[3] SAYGIN Y,VERYKIOS V S,ELMAGARMID A K.Privacy preserving association rule mining[A].Proceedings of the 12th International Workshop on Research Issues in Data Engineering(RIDE)[C].USA:San Jose,2002:151-158.
[4] AGGARWAL C C,YU P S.A condensation approach to privacy preserving data mining[A].Proceedings of the 9th International Conference on Extending Database Technology (EDBT)[C].Greece:Heraklion,2004:183-199.
[5] YAO A C.How to generate and exchange secrets[A].Proceedings of the 27th IEEE Symposium on Foundations of Computer Science(FOCS)[C].Canada:Toronto,1986:162-167.
[6] CLIFTON C,KANTARCIOGLOU M,LIN X,et a1.Tools for privacy preserving distributed data mining[J].ACM SIGKDD Explorations,2002,4(2):28-34.
[7] 韩建民,于娟,虞惹群.面向敏感值的个性化隐私保护[J].电子学报,2010,38(7):1723-1728.
[8] 杨静,王超,张键沛.基于敏感属性熵的微聚集算法[J].电子学报,2014,42(7):1327-1337.
[9] SWEENEY L.Achieving k-anonymity privacy protection using generalization and suppression[J].International Journal of Uncertainty,Fuzziness and Knowledge-Based System,2002,10(5):571-588.
[10] 王莉,周伟.基于ARM的嵌入式Web服务器设计[J].计算机工程与应用,2012,48(14):90-93.
[11] LEFEVRE K,DEWITT D J,RAMAKRISHNAN R.Incognito:efficient full-domain K-anonymity[C].ACM SIGMOD International Conference on Management of Data,USA:Maryland,2005:49-60.
[12] LEFEVRE K,DEWITT D J,RAMAKRISHNAN R.Mondrian multi-mensional K-anonymity[C].Proc.of the 22nd International Conference on Data Engineering,2006.