基于DHT 的Web应用数据自销毁技术*
2012-09-25张德治
黎 珂, 张德治
(中国电子科技集团公司第三十研究所,四川 成都610041)
0 引言
随着各种基于Web的应用在网络中兴起,数据安全面临极大的挑战。对个人用户而言,无法控制在“云”中存储的数据、发表的帖子或是发送的即时消息,在网络中留存的任何信息都有可能一直存储在网络中,随时可能被查找和呈现;对军事、党政而言,其专用网络上传送的公文数据通常具有一定的生命周期,如果网络中缓存和存储的公文超过其生命周期后不被及时销毁,则存在公文重现的安全隐患。而单纯的加解密无法完全解决上述问题,因为攻击者也有可能在获取数据的同时获得密钥,没有及时被销毁的密文及密钥也同样存在安全隐患。
上述问题的根源在于Web应用数据在网络中被大量缓存和存储,用户无法确定数据在网络中的备份数量及存储位置,因此用户不可能将网络中数据的所有存储备份都全部清除,而这些未被清除的数据则可能遭到未授权第三方的非法访问,从而导致数据的拥有者所不期望的数据泄漏。现实网络中,用户难以销毁自己在网络中曾经发布的数据。
针对Web应用的数据安全问题,华盛顿大学的研究团队设计了Vanish系统,巧妙地利用了对等网络(P2P,Peer-to-Peer)及分布式哈希表(DHT,Distributed Hash Table)的特性,结合密钥共享原理,解决了Web应用数据的销毁需求。
1 Vanish系统
1.1 设计前提
Vanish引入了自销毁数据对象(VDO, Vanishing Data Object),VDO是把需要自销毁的Web应用数据进行封装,其封装数据在过了规定时间后,其内容不可恢复和保留,即使攻击者在规定时间内获取了一份VDO的备份和用户的密钥及口令。图1表明了VDO的使用和面临攻击时不同时间窗的属性,黄色背景表示数据可用,灰色背景表明数据进入销毁期,T对应各个时间阶段的数据状态[1]。
图1 VDO使用和攻击的时间窗
Vanish系统设计基于以下前提:
1)时效性。VDO封装的数据对用户而言只在一定时间范围内具有价值。
2)销毁期。当用户使用VDO封装数据时,大概知道多长时间后VDO封装的数据丧失价值。
3)Internet连接。用户对 VDO的处理时需要Internet连接。
4)攻击容忍。用户更愿意销毁 VDO,而不愿意把信息暴露给攻击者。
1.2 设计目标
在上述前提下,Vanish的设计目标如下:
1)数据在指定时间内可用。在生命周期内,数据能够被合法用户访问。
2)自销毁。一旦过了指定时间段,数据就无法访问(不需要用户对其做专门的删除动作)。
3)基础设施。利用已有的基础设施,而不需要第三方提供的专用服务和专门的安全硬件。
4)隐私风险。采用了VDO后,不会引入新的隐私风险。
1.3 威胁模型
上述设计目标主要考虑的是无敌手参与情况下的系统属性,在有敌手参与的情况下,系统的安全设计目标是保证数据在过了销毁期后能够自动销毁,即使在指定时间段后敌手仍具有数据的存储和备份。
威胁模型的两个关键属性:
1)可信的数据拥有者。对同一VDO拥有合法访问权的用户相互信任。
2)针对隐私的追溯攻击。攻击者直到销毁期后才知道该对哪一个VDO 进行攻击。
前一关键属性是直接的,如同传统加密中的共享密钥假定,Vanish无法阻止合法用户通过带外方式泄露或永久保留VDO所封装的明文数据。
第二个关键属性的一个例子是,只有在用户发送了一封敏感邮件后,攻击者才会出现,系统主要保护用户的私有数据避免来自未来的攻击。
2 基于DHT的Web应用数据自销毁原理
2.1 P2P网络及DHT简介
P2P网络是一个“非中心化”的网络,网络上各个通信节点的地位都是对等的,既扮演服务器角色,又扮演客户机角色,各个通信节点通过直接通信,实现各种资源的共享,有着广阔的应用前景[2-4]。P2P网络可划分为无结构型和结构型两类。无结构型 P2P,无需维护 P2P网络的逻辑拓扑视图,采用洪泛式的消息广播机制进行数据查询;而结构型P2P需要维护P2P网络的逻辑拓扑,数据被存放到确定的节点,普遍采用DHT进行查找、定位及路由[5-6]。
DHT是一种分布式存储方法,在 P2P网络中,主要思想是每个数据索引都被表示成一个(Node ID,Data)对, Node ID=Hash(Node),ID是一个空间足够大的数据索引表,只要输入Node ID值,就可以查找出所有存储该数据的节点位置,然后,再把P2P网络中的ID空间分割成若干个子空间,按照特定的规则把这些子空间 ID分布到系统中的多个节点上,系统中的每个节点维护特定的邻居节点,进行查找和定位。
在P2P网络中,DHT具有如下特性:
1)一致性。P2P网络上的任何节点,通过各自维护的路由表访问逻辑拓扑结构中的某个数据,最终定位到的节点是相同的。
2)可用性。当节点动态加入和离开时,系统状态变化过程能够通过 DHT自动更新,相关数据存储的位置自动调整。
3)邻近邻居选择。为了寻找最小延迟路径,需要在路由表中选取最佳的邻居节点。
4)负载均衡。为了防止节点过载,DHT能够将节点和数据的ID均匀映射到整个ID空间,常见的DHT 包括 Chord[5]、Tapestry[6]等。
2.2 设计思想
为了满足设计目标和应对威胁模型,Vanish系统的主要设计思想在于利用P2P网络的分布式DHT,除上面提到的可用性提供了VDO在销毁期内可用的保证外,Vanish依赖的DHT关键属性还包括:
1)可扩展性。对Vuze DHT以及Mainline DHT的测量研究表明,它们具有超过百万的节点数同时在线。
2)无中心性。处美国外,Vuze仍有大量节点分布在其他100多个国家,从而使Vanish更能抵御小规模或集中式攻击。
3)扰动性。DHT随着时间的推进将会动态地更新节点的加入和离开。
DHT的传统研究致力于努力克服扰动对于可用性的不利影响,但对于Vanish,DHT持续的扰动性却是一个优势,因为这意味着存储于DHT的数据将随着时间的流逝而自然地消失。DHT 的一致性、可用性、可扩展性、无中心性和扰动性等特性相结合,能够构建一个很好的自销毁系统。
2.3 自销毁原理
Vanish系统架构如图2所示,假设需要销毁的原始数据为 D,封装后具备自动销毁能力的数据对象为VDO。对D进行处理的具体步骤如下:
图2 Vanish系统架构
1)对于数据D,发送方随机选取一个密钥K,将其加密,获得密文C=Ek(D)。
2)使用门限方案的共享,将密钥K分成N份,分别为 K1,K2,…,Kn。
3)用户或者由发送方软件指定门限参数M,设定在K的N份中最少需要M份就能恢复K,设门限率为r=M/N。
4)一旦完成K的各份计算,便生成一个随机的访问密钥L(可根据用户设定的口令生成),然后使用密码学意义上的安全伪随机数发生器产生随机数,由 L加密,生成 DHT空间中的 N个索引,I1,I2,…,In。
5)将 K1,K2,…,Kn存储在上述 N个索引指向的随机位置,即对于i∈{1, 2,…,N},系统将Ki存储在DHT中Ii随机指向的地方,一旦超过(N-M)份密钥丢失,则VDO将永不能恢复成原始数据。
6)发送方将VDO=(L,C,N,M)发送给邮件服务器或其他Web应用服务,接收方接收到VDO后,首先取出L,进而获知K的N份所存储的位置,然后获得M份Ki恢复出K,进而解密D,得到C。
在上述过程中,DHT固有的扰动性决定了数据的销毁期,例如Vuze使数据能够在其中存在8小时,而OpenDHT的数据可以长达一周,如果Vanish基于Vuze,则超过8小时后,密钥K将确定地不可恢复,进而间接地达到了自动销毁数据的目的。而门限密码的引入则提高了系统的可用性和安全性,通过门限率的调整,可以改变VDO在特定DHT中的销毁期,并增加了攻击者的攻击难度(因为要获取足够多的密钥份额)。
3 应用方案
3.1 云安全
云计算作为一种新兴的资源交付和使用模式,是商业应用的创新,指通过网络获得应用所需的资源(硬件、平台、软件),提供资源的网络被称为“云”。完整的云计算是一个动态的计算体系,能够提供托管的应用程序环境,能够动态部署、动态分配计算资源和实时监控资源使用情况。
但云计算这种商业应用却引入了新的威胁,给信息安全技术带来了巨大的挑战,美国Gartner发布的一份《云计算安全风险评估》称云计算服务存在七大潜在安全风险。云计算应用中的数据由云计算服务提供商进行托管,相对于Web应用在网络中缓存的特性,用户更是难以删除自己所产生的数据,因此 Vanish系统能够从个人隐私保护的角度提高云计算数据的安全性。
3.2 基础设施
P2P网络的DHT已经成为一种新的安全基础设施,能够为VDO密钥的存储、定位甚至销毁提供支撑[7-8]。Vanish系统中,DHT可以作为一种新的密钥管理基础设施(KMI),密钥可以使用分片和门限共享的方法存储于DHT中,以提高KMI的抗毁性,避免单点失效,同时具备P2P网络的自组织、可扩展等优点。但目前学术界还缺乏对于DHT作为安全应用基础设施方面的研究,DHT本身的安全性还有待加强[9]。
4 结语
文中介绍了Vanish系统的设计思想和自销毁原理,并介绍了两种应用环境的可行性。在Vanish系统设计中,着重强调数据的私密性,而非其持续性,因为用户希望数据在其指定的时间内可用,指定的时间外对其销毁,也不希望数据泄露。系统实际应用中,份数N和门限率r是自销毁系统中很重要的参数,实验结果表明,当份数N为50份、门限率为90%时,能够提供一个较好的安全和性能的折衷。
[1] GEAMBASU R, KOHNO T, LEVY A A, et al. Vanish:Increasing Data Privacy with Self-Destructing Data[C]//Proceedings of the 18th conference on USENIX security symposium. Canada:[s.n.],2009:299-350.
[2] MILOJICIC D S, KALOGERAKI V, LUKOSE R, et al.Peer-to-Peer Computing[EB/OL]. (2003-07-03)[2012-04-01].http://www.hpl.hp.com/techreports/2002/HPL-2002-57R1.pdf.
[3] 聂荣,余建国,吕英华.国内对P2P网络的相关研究[J].通信技术,2008,41(07):130-132.
[4] 王建,刘益和.无线实时数据通信对等网络构架方案[J].通信技术,2009,42(03):170-172.
[5] STOICA I, MORRIS R, LIBEN-NOWELL D, et al. Chord:a Scalable Peer-to-Peer Lookup Protocol for Internet Applications[J]. IEEE/ACM Trans. Netw.,2003, 11(01):17-32.
[6] ZHAO B Y, KUBIATOWICZ J, JOSEPH A D. Tapestry: an Infrastructure for Fault-tolerant Wide-area Location and Routing[R]. USA:University of California, 2001.
[7] 张生花.基于P2P资源搜索算法的改进[J]. 信息安全与通信保密, 2007(06):81-82,85.
[8] 孙昱,管海兵.P2P网络信任模型研究综述[J]. 信息安全与通信保密, 2008(04):37-38.
[9] GEAMBASU R, FALKNER J, GARDNER P, et al. Experiences Building Security Applications on DHTs[R]. USA:University of Washington Computer Science and Engineering, 2009.