您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 基于组密钥服务器的加密文件系统的设计和实现
基于组密钥服务器的加密文件系统的设计和实现肖达+,舒继武,薛巍,刘志才,郑纬民(清华大学计算机科学与技术系,北京100084)(清华信息科学与技术国家实验室(筹)北京100084)+联系人:电话:+86-10-6279-5215,E-mail:xiaoda99@mails.thu.edu.cnDesignandImplementationofaGroupKeyServer-BasedCryptographicFileSystemXiaoDa+,ShuJi-Wu,XueWei,LiuZhi-Cai,ZhengWei-Min(DepartmentofComputerScienceandTechnology,TsinghuaUniversity,Beijing100084,China)(TsinghuaNationalLaboratoryforInformationScienceandTechnology(TNList),Beijing100084)+Correspondingauthor:Phn:+86-10-6279-5215,E-mail:xiaoda99@mails.thu.edu.cn,’directcontrolbycryptographicmethods.Thekeymanagementschemesforcurrentsharedcryptographicfilesystemscannotsatisfythesecurity,flexibilityandefficiencyrequirementssimultaneously.ThispaperproposesacryptographicfilesystemcalledCKS-CFS.AtrustedGroupKeyServer(GKS)isintroducedtomanagefileencryptionkeysinacentralizedmannerandtoenabletheemploymentofflexibleaccesscontrolpolicies.ThecomputationandstoragerequirementforGKSisreducedthroughtheuseofaccesscontrolblocksandlockboxessothatthefunctionofGKScanbeimplementedbyhardwaretoprovidestrongsecurity.Theoverheadofrevocationisreducedbyblockgranularityencryptionandkeyversioningtechnique.WehaveimplementedaprototypeofGKS-CFSbasedonLustreandevaluateditsperformance.Comparedwithothersystems,thecryptographiccostincommonfileoperationsinGKS-CFSisreducedbyanorderofmagnitudebyavoidingtheusageofpublic-keycryptography;Bonnie++benchmarktestshowsthattheperformanceofsequentialread/writeandrandomfileoperationsarereducedonaverageby42.0%and8.4%respectively.Keywords:cryptographicfilesystem,confidentiality,integrity,keymanagement,tamper-resistanthardware摘要:网络存储技术在方便数据共享的同时带来了新的安全隐患,加密文件系统通过密码学方法保证存储在不受用户直接控制的服务器上的文件数据的机密性和完整性。现有的针对共享加密文件系统的密钥管理方法不能同时满足安全性、灵活性和高效性的需求。本文提出了加密文件系统GKS-CFS。引入可信的组密钥服务器(GKS)集中管理文件加密密钥,GKS上可以实施灵活的访问控制策略。通过使用访问控制块和锁盒子,降低了对GKS的计算和存储需求,使之可以用硬件实现来增强安全性;通过文件数据的分块加密和密钥版本技SupportedbytheNationalNaturalScienceFoundationofChinaunderGrantNo.60473101(国家自然科学基金项目);theNationalGrandFundamentalResearch973ProgramofChinaunderGrantNo.2004CB318205(国家“九七三”重点基础研究发展规划基金项目);theProgramforNewCenturyExcellentTalentsinUniversityunderGrantNo.NCET-05-0067(新世纪优秀人才支持计划)2术,降低了权限撤销的开销。我们在Lustre上实现了GKS-CFS的原型系统并进行了测试。测试结果表明由于避免使用了公钥密码算法,和其他系统相比,GKS-CFS的普通文件操作中的密码学操作开销减少了一个数量级,顺序读写和随机文件操作的性能分别平均降低了42.0%和8.4%。关键词:加密文件系统;机密性;完整性;密钥管理;防损硬件1引言网络存储技术在方便数据共享和降低管理成本的同时带来了新的安全隐患。在网络存储环境中,数据可能存储在不受用户直接控制的服务器上,传统的访问控制方法已不足以保证用户数据的安全性。加密文件系统(CryptographicFileSystem)[1,2,3,4,5,6,7]通过客户端的密码学方法保证文件在网络中传输和在服务器上存储过程中的机密性和完整性,提供端到端的安全性。加密文件系统可以分为两类:非共享的和共享的。非共享加密文件系统(如最早的加密文件系统CFS[1])不允许文件被多用户共享,因此不需要考虑加密密钥的管理问题。但这种系统显然不能满足企业环境中多用户协同工作和数据共享的需要。在共享加密文件系统中,允许文件被多个用户共享,因此一个重要问题是如何管理加密密钥,使授权用户能够容易得到密钥从而访问文件,同时未授权用户很难得到密钥。现有的共享加密文件系统中的密钥管理方法主要分为两类:一类是将具有相同访问权限的文件分组,组内文件共享一个密钥,并由所有者或可信第三方分发给授权用户[2,6]。这种方法减少了密钥数目,但缺点是当一个用户从组中退出从而不再拥有组内文件的访问权限时,需要将组内所有文件用新密钥重新加密,计算开销很大。另一类方法是将文件密钥用每个具有访问权限的用户的公钥加密[3,4],这种方法可以实现单个文件粒度的共享,但只能实现以用户列表方式表示的访问控制策略,不够灵活。我们认为,一个好的密钥管理方案应同时满足三方面需求:一、安全性,密钥的存储和分发应由可信赖的机制来保证;二、灵活性,能够易于实施多种访问控制策略;三、高效性,由加密带来的文件访问和用户权限撤销中的额外开销尽可能小。现有系统都不能同时满足三个需求。本文设计并实现了一个新的加密文件系统——GKS-CFS(GroupKeyServer-CryptographicFileSystem),来实现安全、灵活和高效的文件共享。该系统针对政府和企业等具有集中控制机构的环境,引入一个可信的组密钥服务器(GroupKeyServer,GKS),集中负责文件密钥的生成和分发。通过使用锁盒子和访问控制块减少GKS的计算和存储需求,从而有可能以硬件方法确保GKS的安全性,进而保证整个系统的安全性,同时便于在GKS上实施灵活的访问控制。提出一种高效的用户权限撤销机制,采用了以文件块为粒度的密钥管理策略,并结合密钥版本技术,有效降低了权限撤销的开销。我们在Lustre[8]上实现了GKS-CFS的系统原型并进行了测试。由于避免使用了公钥密码算法,和其他系统相比,GKS-CFS的普通文件操作中的密码学开销减少了一个数量级。Bonnie++的测试结果显示,顺序读写和随机文件操作的性能分别降低了42.0%和8.4%2安全模型本节介绍GKS-CFS所采用的假设和安全模型。系统中有五种角色:所有者(创建文件和设置访问权限)、读者(对文件有读权限)、写者(对文件有读写权限)、文件服务器(存储文件数据)和组密钥服务器(存储密钥)。所有者、读者和写者通过文件系统客户端操作文件。在GKS-CFS中,客户端是不可信的,恶意用户和攻击者可能试图通过客户端访问他们无权访问的文件,用户存放在客户端上的私密信息(如私钥)也有可能被攻击者窃取。文件服务器也是不可信的。它可以将数据泄露给非法用户、篡改数据或向用户提供不真实数据。系统中唯一可信的是组密钥服务器,它负责管理用于加密文件的密钥并向合法用户提供密钥。考虑到在一个实际的企业应用环境中,海量数据的存储需要有多个文件服务器,这些服务器可能隶属于不同的管理域,保证所有这些服务器的安全是困难的,相比之下,保证一个组密钥服务器的安全是相对容易的,所以我们认为我们的安全假设是合理的。需要指出的是,在肖达等:基于组密钥服务器的加密文件系统的设计和实现3GKS-CFS中,所有用户需要对组密钥服务器赋予绝对信任,因此不适于无集中控制机构松散耦合的组织,如对等网络环境,而适合于具有集中控制机构的组织,如政府、企业等。GKS-CFS通过密码学技术保证文件数据的机密性和完整性。文件的内容(可理解的)只会被授权用户获得。当未授权用户或文件服务器试图篡改文件数据时,授权用户能够检测到该行为。CKS-CFS不提供数据的可用性保证,不能防止恶意用户或服务器删除数据。如需提供可用性,需要将密码学技术和冗余技术结合,这不在本文的讨论范围之内。3系统设计3.1基本思想和设计目标在GKS-CFS中,GKS作为全局唯一的可信节点,统一负责维护和分发文件密钥。用户访问每个文件前,都要向GKS发出请求,获取该文件的加密密钥和签名密钥(写文件)。GKS首先验证用户身份,并根据预先设置的访问控制策略判断用户是否有对文件的访问权限,如果有,则将文件密钥返回给用户,如没有,则拒绝该请求。由于所有密钥由GKS统一管理,只要保证GKS的安全性,就能保证整个系统的安全性;并且GKS上可以根据由于需求实施灵活的访问控制策略。GKS-CFS的设计目标是:对GKS的计算和存储需求最小。GKS上只需存储少量自身的密钥,而不需要存储每个文件的加密密钥和签名密钥,同时用户访问一个文件的过程中,GKS只需做少量针对密钥的加解密运算,而不需要对大量文件数据加解密,使GKS易于用安全硬件实现,从而保证安全性。额外开销尽可能小。额外开销包括密码学操作的开销和权限撤销时重新加密数据的开销。3.2锁盒子和访问控制块GKS-CFS中采用的对象及它们之间的关系如图1所示。本文中所用缩略语及其含义在表1中列出。每个文件被分成若干个数据块(block),每个数据块用一个随机生成的对称密钥(数据块密钥,FBK)加密。GKS-CFS采用了文献[2]引入的锁盒子(lockbox)的思想,一个文件的所有FBK存放在该文件对应的锁盒子中,并用该文件的锁盒子密钥(LBK)加密,LBK也是对称密钥,只有对文件有读权限的用户才能获取LBK。每个FBK还对应一个版本号,用于权限撤销时的密钥更新(见3..5节)。在锁盒子中和FBK一同存放的
本文标题:基于组密钥服务器的加密文件系统的设计和实现
链接地址:https://www.777doc.com/doc-1589142 .html