基于组密钥服务器的加密文件系统的设计和实现

上传人:xkh****321 文档编号:159848439 上传时间:2022-10-09 格式:DOCX 页数:30 大小:186.38KB
返回 下载 相关 举报
基于组密钥服务器的加密文件系统的设计和实现_第1页
第1页 / 共30页
基于组密钥服务器的加密文件系统的设计和实现_第2页
第2页 / 共30页
基于组密钥服务器的加密文件系统的设计和实现_第3页
第3页 / 共30页
点击查看更多>>
资源描述
基于组密密钥服务务器的加加密文件件系统的的设计和和实现*Supported by the National Natural Science Foundation of China under Grant No. 60473101 (国家自然科学基金项目); the National Grand Fundamental Research 973 Program of China under Grant No. 2004CB318205 (国家“九七三”重点基础研究发展规划基金项目);the Program for New Century Excellent Talents in University under Grant No. NCET-05-0067(新世纪优秀人才支持计划) 肖达+, 舒舒继武, 薛薛巍, 刘志才才, 郑郑纬民(清华大大学 计计算机科科学与技技术系,北京10000884)(清华信信息科学学与技术术国家实实验室(筹筹)北京京 10000884)+联系人人:电话话:+886-110-662799-52215,E-mail: xiaoda99Desiign andd Immpleemenntattionn off a Grooup Keyy Seerveer-BBaseed CCrypptoggrapphicc Fiile SysstemmXiaoo Daa+, Shuu Jii-Wuu, Xuee Weei, Liiu ZZhi-Caii, Zheeng Weii-Miin(Depparttmennt oof CCompputeer SScieencee annd TTechhnollogyy, Tssingghuaa Unniveersiity, Beeijiing11000084, Chhinaa)(Tsiinghhua Nattionnal Labboraatorry ffor Infformmatiion Sciiencce aand Tecchnoologgy(TTNLiist), Beijing 100084)+Corrressponndinng aauthhor: Phhn: +866-100-62779-52115, E-mmaill: xiiaodda999, htttp:/sstorragee.css.tssingghuaa.eddu.ccnAbsttracct:Nettworrk sstorragee teechnniquues facciliitatte ddataa shhariing butt allso inttrodducee neew vvulnneraabillitiies. Crrypttogrraphhic fille ssysttemss prroviide thee coonfiidenntiaalitty aand inttegrrityy off fiile datta sstorred on serrverrs tthatt arre nnot undder useers diirecct cconttroll byy crrypttogrraphhic metthodds. Thee keey mmanaagemmentt scchemmes forr cuurreent shaaredd crrypttogrraphhic fille ssysttemss caannoot ssatiisfyythee seecurrityy, fflexxibiilitty aand effficiienccy rrequuireemennts simmulttaneeoussly. Thhis papper prooposses a ccrypptoggrapphicc fiile sysstemm caalleed CCKS-CFSS. AA trrustted Grooup Keyy Seerveer (GKSS) iis iintrroduucedd too maanagge ffilee enncryyptiion keyys iin aa ceentrraliizedd maanneer aand to enaablee thhe eemplloymmentt off fllexiiblee acccesss cconttroll poolicciess. TThe commputtatiion andd sttoraage reqquirremeent forr GKKS iis rreduucedd thhrouugh thee usse oof aacceess conntrool bbloccks andd loockbboxees sso tthatt thhe ffuncctioon oof GGKS cann bee immpleemenntedd byy haardwwaree too prroviide strrongg seecurrityy. TThe oveerheead of revvocaatioon iis rreduucedd byy bllockk grranuularrityy enncryyptiion andd keey vverssionningg teechnniquue. We havve iimpllemeenteed aa prrotootyppe oof GGKS-CFSS baasedd onn Luustrre aand evaaluaatedd itts pperfformmancce. Comppareed wwithh ottherr syysteems, thhe ccrypptoggrapphicc coost in commmonn fiile opeerattionns iin GGKS-CFSS iss reeducced by an ordder of maggnittudee byy avvoiddingg thhe uusagge oof ppubllic-keyy crrypttogrraphhy; Bonnniee+ bennchmmarkk teest shoows thaat tthe perrforrmannce of seqquenntiaal rreadd/wrritee annd rranddom fille ooperratiionss arre rreduucedd onn avveraage by 42.0% andd 8.4% resspecctivvelyy.Key worrds:cryyptoograaphiic ffilee syysteem, connfiddenttiallityy, iinteegriity, keey mmanaagemmentt, ttampper-ressisttantt haardwwaree摘 要要:网络存存储技术术在方便便数据共共享的同同时带来来了新的的安全隐隐患,加加密文件件系统通通过密码码学方法法保证存存储在不不受用户户直接控控制的服服务器上上的文件件数据的的机密性性和完整整性。现现有的针针对共享享加密文文件系统统的密钥钥管理方方法不能能同时满满足安全全性、灵灵活性和和高效性性的需求求。本文文提出了了加密文文件系统统GKSS-CFFS。引引入可信信的组密密钥服务务器(GGKS)集集中管理理文件加加密密钥钥,GKKS上可可以实施施灵活的的访问控控制策略略。通过使使用访问问控制块块和锁盒盒子,降降低了对对GKSS的计算算和存储储需求,使使之可以以用硬件件实现来来增强安安全性;通过文文件数据据的分块块加密和和密钥版版本技术术,降低低了权限限撤销的的开销。我们在Lustre上实现了GKS-CFS的原型系统并进行了测试。测试结果表明由于避免使用了公钥密码算法,和其他系统相比,GKS-CFS的普通文件操作中的密码学操作开销减少了一个数量级,顺序读写和随机文件操作的性能分别平均降低了42.0%和8.4%。关键词:加密文文件系统统;机密密性;完完整性;密钥管管理;防防损硬件件1 引言网络存储储技术在在方便数数据共享享和降低低管理成成本的同同时带来来了新的的安全隐隐患。在在网络存存储环境境中,数数据可能能存储在在不受用用户直接接控制的的服务器器上,传传统的访访问控制制方法已已不足以以保证用用户数据据的安全全性。加加密文件件系统(CCrypptoggrapphicc Fiile Sysstemm)1,2,3, 4, 5,6,7通过客客户端的的密码学学方法保保证文件件在网络络中传输输和在服服务器上上存储过过程中的的机密性性和完整整性,提提供端到到端的安安全性。加密文件件系统可可以分为为两类:非共享享的和共共享的。非共享加密文件系统(如最早的加密文件系统CFS1)不允许文件被多用户共享,因此不需要考虑加密密钥的管理问题。但这种系统显然不能满足企业环境中多用户协同工作和数据共享的需要。在共享加密文件系统中,允许文件被多个用户共享,因此一个重要问题是如何管理加密密钥,使授权用户能够容易得到密钥从而访问文件,同时未授权用户很难得到密钥。现有的共共享加密密文件系系统中的的密钥管管理方法法主要分分为两类类:一类类是将具具有相同同访问权权限的文文件分组组,组内内文件共共享一个个密钥,并并由所有有者或可可信第三三方分发发给授权权用户2,66。这种方方法减少少了密钥钥数目,但但缺点是是当一个个用户从从组中退退出从而而不再拥拥有组内内文件的的访问权权限时,需需要将组组内所有有文件用用新密钥钥重新加加密,计计算开销销很大。另一类类方法是是将文件件密钥用用每个具具有访问问权限的的用户的的公钥加加密3,4,这种种方法可可以实现现单个文文件粒度度的共享享,但只只能实现现以用户户列表方方式表示示的访问问控制策策略,不不够灵活活。我们认为为,一个个好的密密钥管理理方案应应同时满满足三方方面需求求:一、安安全性,密钥的存储和分发应由可信赖的机制来保证;二、灵活性,能够易于实施多种访问控制策略;三、高效性,由加密带来的文件访问和用户权限撤销中的额外开销尽可能小。现有系统都不能同时满足三个需求。本文设计计并实现现了一个个新的加密密文件系系统GKSS-CFSS(Grroupp Keey SServver-Cryyptoograaphiic FFilee Syysteem),来实现现安全、灵灵活和高高效的文文件共享享。该系系统针对对政府和和企业等等具有集中中控制机机构的环环境,引引入一个个可信的的组密钥钥服务器器(Grroupp Keey SServver,GKS),集中负责文件密钥的生成和分发。通过使用锁盒子和访问控制块减少GKS的计算和存储需求,从而有可能以硬件方法确保GKS的安全性,进而保证整个系统的安全性,同时便于在GKS上实施灵活的访问控制。提出一种高效的用户权限撤销机制,采用了以文件块为粒度的密钥管理策略,并结合密钥版本技术,有效降低了权限撤销的开销。我们在Lustre8上实现了GKS-CFS的系统原型并进行了测试。由于避免使用了公钥密码算法,和其他系统相比,GKS-CFS的普通文件操作中的密码学开销减少了一个数量级。Bonnie+的测试结果显示,顺序读写和随机文件操作的性能分别降低了42.0%和8.4%2 安全模型型本节介绍绍GKSS-CFFS所采采用的假假设和安安全模型型。系统统中有五五种角色色:所有有者(创创建文件件和设置置访问权权限)、读读者(对对文件有有读权限限)、写写者(对对文件有有读写权权限)、文件服务器(存储文件数据)和组密钥服务器(存储密钥)。所有者、读者和写者通过文件系统客户端操作文件。在GKSS-CFFS中,客客户端是是不可信信的,恶恶意用户户和攻击击者可能能试图通通过客户户端访问问他们无无权访问问的文件件,用户户存放在在客户端端上的私私密信息息(如私私钥)也也有可能能被攻击击者窃取取。文件件服务器器也是不不可信的的。它可可以将数数据泄露露给非法法用户、篡篡改数据据或向用用户提供供不真实实数据。系系统中唯唯一可信信的是组组密钥服服务器,它它负责管管理用于于加密文文件的密密钥并向向合法用用户提供供密钥。考虑到在一个实际的企业应用环境中,海量数据的存储需要有多个文件服务器,这些服务器可能隶属于不同的管理域,保证所有这些服务器的安全是困难的,相比之下,保证一个组密钥服务器的安全是相对容易的,所以我们认为我们的安全假设是合理的。需要指出的是,在GKS-CFS中,所有用户需要对组密钥服务器赋予绝对信任,因此不适于无集中控制机构松散耦合的组织,如对等网络环境,而适合于具有集中控制机构的组织,如政府、企业等。GKS-CFSS通过密密码学技技术保证证文件数数据的机机密性和和完整性性。文件件的内容容(可理理解的)只只会被授授权用户户获得。当当未授权权用户或或文件服服务器试试图篡改改文件数数据时,授授权用户户能够检检测到该该行为。CCKS-CFSS不提供供数据的的可用性性保证,不不能防止止恶意用用户或服服务器删删除数据据。如需需提供可可用性,需需要将密密码学技技术和冗冗余技术术结合,这这不在本本文的讨讨论范围围之内。3 系统设计计3.1 基本思想想和设计计目标在GKSS-CFFS中,GGKS作作为全局局唯一的的可信节节点,统统一负责责维护和和分发文文件密钥钥。用户户访问每每个文件件前,都都要向GGKS发发出请求求,获取取该文件件的加密密密钥和和签名密密钥(写写文件)。GGKS首首先验证证用户身身份,并并根据预预先设置置的访问问控制策策略判断断用户是是否有对对文件的的访问权权限,如如果有,则则将文件件密钥返返回给用用户,如如没有,则则拒绝该该请求。由于所有有密钥由由GKSS统一管管理,只只要保证证GKSS的安全全性,就就能保证证整个系系统的安安全性;并且GGKS上上可以根根据由于于需求实实施灵活活的访问问控制策策略。GKS-CFSS的设计计目标是是:l 对GKSS的计算算和存储储需求最最小。GGKS上上只需存存储少量量自身的的密钥,而而不需要要存储每每个文件件的加密密密钥和和签名密密钥,同同时用户户访问一一个文件件的过程程中,GGKS只只需做少少量针对对密钥的的加解密密运算,而而不需要要对大量量文件数数据加解解密,使使GKSS易于用用安全硬硬件实现现,从而而保证安安全性。l 额外开销销尽可能能小。额外开开销包括括密码学学操作的的开销和和权限撤撤销时重重新加密密数据的的开销。3.2 锁盒子和和访问控控制块GKS-CFSS中采用用的对象象及它们们之间的的关系如如图1所所示。本本文中所所用缩略略语及其其含义在在表1中中列出。每个文件被分成若干个数据块(block),每个数据块用一个随机生成的对称密钥(数据块密钥,FBK)加密。GKS-CFS采用了文献2引入的锁盒子(lockbox)的思想,一个文件的所有FBK存放在该文件对应的锁盒子中,并用该文件的锁盒子密钥(LBK)加密,LBK也是对称密钥,只有对文件有读权限的用户才能获取LBK。每个FBK还对应一个版本号,用于权限撤销时的密钥更新(见3.5节)。在锁盒子中和FBK一同存放的还有每个数据块的安全哈希值(cryptographic hash),用以校验数据块的完整性。将一个文件所有数据块的哈希值组织成一个Merkle哈希树9,哈希树的根(root hash)用文件签名密钥(FSK)加密后保存在访问控制块中。只有对文件有写权限的用户才能获取FSK。注意本文的FSK和文献3,6中的文件签名密钥不同,前者是一个对称密钥,后者是一个公私钥对中的私钥。表1:缩缩略语及及其含义义缩略语含义FBKFilee Bllockk KeeyLBKLockkboxx KeeyFSKFilee Siign KeyyGEKGKS Enccrypptioon KKeyGSKGKS Siggn KKeyACBAcceess Conntrool BBlocck 图图1:GGKS-CFSS的对象象及对象象间关系系。实线线箭头代代表对称称加密。每个文件件对应一一个访问问控制块块(ACCB),用用以控制制授权用用户对LLBK和和FSKK的获取取。ACBB中包含含文件的的访问控控制属性性(acccesss cconttroll atttriibuttes)、LBK、FSK、文件版本号、完整性标识(auth tag)和加密的根哈希,其中LBK和FSK用GKS维护的一个加密密钥(GEK)加密,只有GKS才能解密。访问控制属性是由文件所有者创建并由GKS检查的文件访问规则,例如一个访问控制列表(ACL),规定了哪些用户和组可以访问文件,以及他们的权限。文件版本号用于权限撤销时的密钥更新(见3.5节)。完整性标识是其他域的一个带密钥消息认证码(keyed HMAC),用以防止对访问控制块的篡改。生成认证码的GKS认证密钥(GSK)由GKS维护,因此只有GKS能根据文件所有者的需要对ACB的内容进行修改。注意加密的根哈希不参与完整性标识的计算,因为该值在写文件时会发生变化,可以避免每次写文件都由GKS重新生成访问控制块。用户访问问文件时时,在密密钥请求求中将AACB和和自己的的身份标标识发送送给GKKS,GGKS首首先用GGSK验验证ACCB的完完整性,然然后根据据其中的的访问控控制属性性和用户户的身份份标识确确定用户户对文件件的访问问权限,如如果用户户有读(写写)权限限,就将将LBKK(和FFSK)用用GEKK解密后后返回给给用户。GKS-CFSS采用锁锁盒子和和访问控控制块的的好处是是:1)GGKS不不需要维维护每个个文件的的加密密密钥,只只需要维维护两个个密钥:GEKK和GSSK,而而FBKK作为元元数据的的一部分分和文件件数据一一起存放放在文件件服务器器上,减减少了GGKS的的存储需需求。22)访问问文件时时,GKKS只需需要做数数据量很很小的对对称密钥钥加解密密(对LBKK、FSKK和根哈哈希),不需需要公钥钥加解密密,减少少了GKKS的计计算需求求。3)用用户不需需要在客客户端主主机上维维护自己己的私密密信息(如如用户私私钥),减减少了客客户端主主机被入入侵带来来的危害害。需要指出出的是,一一个实际际系统可可能被划划分成多多个管理理域,每每个管理理域应有有自己的的GKSS。因此此在ACCB中还还应包含含域IDD,用户户访问文文件时根根据域IID找到到相应的的GKSS。为简简明起见见,这部部分在上上文描述述中已省省略。另另外,考考虑到一一旦GKKS维护护的GEEK丢失失,则域域内的所所有文件件都将不不可访问问,因此此必须防防止对GGKS的的可用性性攻击,这这可以通通过将GGEK以以秘密分分存的方方法存储储到多个个恢复代代理上来来实现3.3 文件访问问协议需用户访访问文件件时客户户端和GGKS的的通信协协议如图图2所示示。Create file Client GKS : ACB_REQ | ACL | UserID Client GKS : ACBRead file Client GKS : READ_KEY_REQ | ACB | UserID Client GKS : LBK | root hashWrite file Client GKS : WRITE_KEY_REQ | ACB | UserID Client GKS : LBK | root hash | FSK Change file access control attributes Client GKS : CHANGE_ACL_REQ | ACB | ACL | UserID Client GKS : ACB | LBK图2:文文件访问问协议创建文件件:文件件所有者者向GKKS发送送获取AACB请请求,其其中包含含用户标标识和文文件的访访问控制制属性(AACL)。GKS根据ACL生成ACB返回给所有者。所有者将ACB作为文件元数据的一部分存储到文件服务器上。读文件:读者首先先从文件件服务器器获取AACB,然然后向GGKS发发送获取取读密钥钥请求,其其中包含含用户标标识和AACB。GGKS根根据ACCB中的的访问控控制属性性检查用用户权限限,然后后将LBBK和根根哈希解解密后返返回给读读者。读者用LLBK解解密锁盒盒子,并并用锁盒盒子中的的数据块块哈希重重新计算算根哈希希与收到到的根哈哈希比较较,然后后用锁盒盒子中的的FBKK解密从从文件服服务器读读取的文文件数据据,并用用数据块块哈希校校验完整整性。写文件:过程和和读文件件类似,区区别在于于GKSS将文件件签名密密钥(FFSK)和和根哈希希一起返返回给写写者,写写者关闭闭文件时时,重新新计算根根哈希,并用FSK加密,替换ACB中原有的域。更改文件件访问权权限:所有者者首先从从文件服服务器获获取ACCB,然然后向GGKS发发送更改改访问控控制属性性请求,其其中包含含用户标标识、AACB和和新的访访问控制制属性。GGKS首首先检查查用户是是否是文文件所有有者,然然后根据据新的访访问控制制属性生生成新的的ACBB返回给给所有者者。所有者者用新的的ACBB覆盖文文件服务务器上的的旧ACCB,并并用新的的LBKK重新加加密锁盒盒子。3.4 身份认证证为了保证证GKSS只响应应授权用用户的解解密请求求,GKKS必须须能够对对发出请请求的用用户身份份进行认认证。用用户认证证可采用用多种方方法,如如基于对对称密钥钥的Keerbeeross协议10或公钥钥基础设设施(PPKI)等等。需要要指出的的是,GGKS-CFSS的主要要设计目目标是加加密文件件系统中中的高效效的密钥钥管理,它它本身并并不提供供认证机机制,而而需要和和一个现现有的独独立的认认证机制制协同工工作保证证安全性性。例如如,如采采用Keerbeeross认证方方式,则则需要一一个票据据分发服服务器向向用户分分发代表表身份的的票据,同同时GKKS和票票据分发发服务器器共享一一个密钥钥用于验验证用户户提供的的身份票票据的真真实性。这这种密钥钥管理机机制和认认证机制制分离的的策略提提高了系系统部署署时的灵灵活性。本本文主要要关注基基于ACCB的访访问控制制和密钥钥管理方方法,具具体的认认证协议议将不作作进一步步讨论。在上节描描述的文文件访问问协议中中,用户户向GKKS发出出请求之之前,先先要向GGKS认认证身份份并协商商会话密密钥,之之后用户户和GKKS间的的通信内内容都用用会话密密钥加密密保证并并用随机机数等方方法保证证完整性性。为清清晰起见见,图22中只有有用户和和GKSS间发送送的消息息内容,省省略了消消息加密密和完整整性保证证部分。3.5 权限撤销销用户权限限撤销是是指使一一个原本本对文件件有访问问权限的的用户不不再具有有对该文文件的权权限。当当从文件件的访问问控制列列表中移移除一个个用户项项,或将将一个用用户从一一个组中中剔除时时,都会会发生权权限撤销销。在一一般的加加密文件件系统中中,权限限撤销操操作有较较大的计计算开销销,因为为需要用用新密钥钥重新加加密文件件,避免免被撤销销的用户户用原有有的文件件密钥访访问文件件。在GGKS-CFSS中,为为了降低低权限撤撤销的开开销,采采用了懒懒惰权限限撤销(llazyy reevoccatiion)的的方法,其其基本思思想是,当当一个文文件需要要重新加加密时,推推迟重新新加密的的时机,直直到文件件内容被被更新时时,同时时只对被被更新的的部分重重新加密密,从而通通过减少少加密的的数据量量降低计计算开销销。在GKSS-CFFS中,通通过LBBK版本本号和数数据块密密钥版本本号控制制权限撤撤销中的的重新加加密过程程。创建建文件和和向新文文件写入入数据时时,LBBK版本本号和FFBK版版本号初初始化为为零。发发生权限限撤销时时,更新新文件的的LBKK,用新新的LBBK重新新加密锁锁盒子中中的FBBK(注注意不需需要重新新加密文文件数据据块),同同时将LLBK版版本号增增加1。此后,对该文件有写权限的用户对文件的某个数据块更新或在文件尾追加新的数据块时,首先比较数据块的FBK版本号和LBK版本号,如果前者小于后者,表明数据块需要重新加密,则更新FBK,用新的FBK加密新写入的数据块,最后将FBK版本号增加到与FBK版本号一致,使下一次写入不必再更新FBK;如果前者等于后者,表明数据块不需要重新加密,用原有FBK加密新写入数据块即可。通过文件分块加密和FBK版本号的使用,避免了只更新文件的一小部分就需要将整个文件重新加密的情况,最大限度的降低了权限撤销对正常文件访问的影响。4 安全性分分析本节对GGKS-CFSS系统的的安全性性进行分分析,指指出我们们的系统统可以防防止哪些些攻击,哪哪些攻击击仍然是是可能的的,并讨讨论哪些些方法可可以防止止这些攻攻击。以以下分析析均假设设文件服服务器上上的访问问控制机机制是不不可信的的,一个个非授权权用户或或攻击者者可以通通过文件件服务器器获得加加密的文文件数据据、锁盒盒子和访访问控制制块。可可以防止止的攻击击包括:(a) 对文件件没有读读权限的的用户或或攻击者者读取文文件内容容。由于于文件数数据块用用FBKK加密,一一个文件件的所有有FBKK由LBBK加密密保存在在锁盒子子中,LLBK由由GEKK加密放放在ACCB中,因因此,没没有读权权限的用用户向GGKS发发出请求求时,GGKS不不会将LLBK解解密返回回给用户户,从而而用户不不能用LLBK解解密锁盒盒子中的的FBKK,进而而用FBBK解密密文件数数据块读读取其内内容。(b) 对文件件没有写写权限的的用户或或攻击者者篡改文文件数据据。没有写写权限的的用户向向GKSS发出请请求时,GGKS不不会将FFSK解解密返回回给用户户,从而而用户不不能按其其意图更更改根哈哈希的值值。如果果用户更更改数据据块,当当另一个个授权用用户读取取文件,重重新计算算并校验验根哈希希时,或或者发现现数据块块和锁盒盒子中的的哈希值值不匹配配,或者者发现锁锁盒子中中的哈希希值和AACB中中的根哈哈希不匹匹配,两两种情况况都表明明文件已已被非法法篡改。(c) 除所有有者外的的其他用用户通过过修改AACB中中的访问问控制属属性获得得相应权权限。AACB具具有完整整性标识识(auuth_tagg)保证证其不可可篡改性性,只有有GKSS才能根根据文件件所有者者的请求求对ACCB中的的任何内内容(包包括访问问控制属属性)进进行修改改。其他他用户或或攻击者者试图更更改ACCB并用用更改过过的ACCB向GGKS发发送请求求时,GGKS会会通过校校验auuth_tagg发现AACB的的完整性性已被破破坏并拒拒绝请求求。(d) 攻击者者通过入入侵GKKS获得得GEKK和GSSK。鉴鉴于整个个系统的的安全性性取决于于GEKK和GSSK两个个密钥的的安全性性,在真真正系统统的实现现中,应应将它们们保存在在GKSS上的特特殊防损损硬件(TTampper-Ressisttantt Haardwwaree,TRRH)中中,该硬硬件可由由硬件安安全模组组(Haardwwaree Seecurrityy Moodulle, HSMM)或智智能卡(ssmarrtcaard)实实现,使使用它们们加密和和解密LLBK和和FSKK的操作作也都在在该特殊殊硬件内内进行,保保证这两两个密钥钥在任何何情况不不会离开开该特殊殊硬件。这这样即使使GKSS的软件件被攻破破,攻击击者获得得对GKKS操作作系统的的完全控控制权,他他也无法法获得GGEK和和GSKK,从而而保证保保存在文文件服务务器上的的文件仍仍然是安安全的。(在在本文的的实现中中,由于于条件限限制,我我们仍然然用软件件模块实现现GKSS。)仍然可能能的攻击击包括:(e) 对文件件服务器器的攻击击。攻击击者可以以攻击文文件服务务器,当当攻击者者控制文文件服务务器时,可可以恶意意损坏或或删除其其上的文文件,造造成文件件对授权权用户不不可访问问。事实实上,用用单纯的的密码学学方法不不能防止止这种对对数据可可用性的的攻击。可可以将本本文提出出的方法法和数据据冗余技技术相结结合提供供可用性性保证,例例如将文文件以多多副本的的形式保保存在多多台文件件服务器器上。(f) 对组密密钥服务务器的攻攻击。攻攻击者可可以攻击击组密钥钥服务器器。虽然然不能获获得GKKS密钥钥(GEEK和GGSK),但但可以将将GKSS停机或或将保存存密钥的的硬件拆拆除,造造成保存存在文件件服务器器上的文文件不能能解密,但但文件内内容不会会泄露。为为防止这这种攻击击,可以以将GKKS密钥钥以秘密密分存的的方式备备份到多多个恢复复代理上上,以便便在存储储密钥的的硬件丢丢失时恢恢复密钥钥。另一一种方法法是设置置多台GGKS同同时提供供密钥服务务。(g) 对客户户端的攻攻击。攻攻击者可可以通过过攻击文文件系统统客户端端得到当当前用户户正在访访问的文文件及其其密钥。但但和基于于文件组组的密钥钥管理策策略66相比比,由于于采用了了细粒度度的以文文件为单单位的密密钥管理理策略,一一次成功功的攻击击只能获获取单个个文件的的密钥,而而不是泄泄露组内内所有文文件的共共同密钥钥,将密密钥泄露露带来的的损害降降到了最最低。5 扩展方案案我们在原原有系统统设计的的基础上上提出一一个扩展展方案的的设计进进一步提提高系统统的可用用性和性性能。在在原系统统设计中中,GKKS是系系统中唯唯一的安安全访问问入口点点,容易易形成安安全性的的薄弱环环节和性性能的瓶瓶颈。而而扩展方方案的基基本思想想是:将将GKSS的功能能集成到到一个卡卡片上,称称为GKK-Caard,该该卡片可可以用硬硬件安全全模组(HHarddwarre SSecuuritty MModuule, HSSM)或或智能卡卡(smmarttcarrd)实实现。为为每一个个需要使使用密钥钥服务的的文件系系统客户户端安装装一个这这样的GGK-CCardd。当用用户需要要解密AACB中中的密钥钥时,不不再向网网络上的的GKSS发出请请求,直直接向本本机的GGK-CCardd发请求求即可。扩展方案案和原GGKS-CFSS采用相相同的密密钥层级级结构,每每个GKK-Caard负负责加密密和解密密ACBB中的相相关密钥钥,同时时负责用用户身份份认证和和访问控控制。系系统管理理员为每每个希望望使用加加密文件件系统的的客户端端分发一一个GKK-Caard,并并将GEEK和GGSK初初始化到到GK-Carrd中。客客户端可可以利用用GK-Carrd完成成ACBB中密钥钥的加解解密,但但不能获获得其中中的GEEK和GGSK,保保证了安安全性。和原方案案相比,扩扩展方案案有两个个优点:首先,如如果本机机的GKK-Caard出出现故障障,只会会造成本本机上的的客户端端无法访访问文件件,其他他机器上上的客户户端仍然然可以通通过自己己的GKK-Caard正正常访问问文件,一一个GKK-Caard的的丢失也也不会造造成GKKS密钥钥的丢失失,提高高了系统统的可用用性。其其次,各各密钥操操作均在在客户端端完成,不不需要发发往GKKS执行行,避免免了和GKKS建立立安全连连接的网网络通信信延迟及及链路上上用于认认证、消消息机密密性和完完整性计计算的开开销,提提高了系系统的性性能。由于每个个GK-Carrd只存存储GEEK和GGSK两两个密钥钥且不需需要频繁繁更新,因因此各个个GK-Carrd可以以独立行行驶功能能而不需需要互相相交互,保保证了方方案的可可行性。关关于该扩扩展方案案的一些些具体问问题,如如GK-Carrd的接接口和内内部设计计,文件件系统客客户端和和GK-Carrd间的的通信协协议,还还需要做做进一步步研究,这这也是我我们的下下一步工工作之一一。6 系统实现现为了验证证GKSS-CFFS的设设计方案案的可行行性和效效率,我我们在LLusttre8上实现现了GKKS-CCFS的的原型系系统。LLusttre是是CFSS公司开开发并得得到广泛泛应用的的开源并并行文件件系统,由文件件系统客客户端(FFS cclieent)、元数据服务器(MDS)和对象存储设备(OST)三部分组成,每部分又包含若干内核模块。例如,在客户端中包含实现文件系统逻辑的模块llite,和OST交互的模块OSC,和MDS交互的模块MDC,在OSC之上构造逻辑对象设备的模块LOV等。GKS-CFSS的软件件结构如如图3所所示。其其中白色色矩形框框代表LLusttre原原有软件件模块,灰灰色矩形形框代表表我们新新添加的的模块。我们增加了独立的内核模块gks作为组密钥服务器,同时在客户端添加了两个内核模块gkc和crypto。gkc负责和GKS通信并向上提供密钥管理接口,是3.3节描述的文件访问协议的执行者。crypto模块实际完成文件数据块的加解密操作,它调用了Linux内核提供的crypto API函数库。创建和打开文件时,文件系统客户端调用gkc提供的接口设置内存中和密钥相关的数据结构;读写文件时,OSC模块在将一个数据块写入OST之前或从OST读出一个数据块之后调用crypto提供的接口加密或解密数据块。为简明起见,图中只显示了Lustre的客户端中和主要I/O逻辑联系紧密的模块,而省略了其他模块。图3:GGKS-CFSS的软件件结构文件的锁锁盒子以以扩展属属性的形形式保存存在MDDS上。在当前实现中,GKS没有对gkc发出的请求进行用户身份认证,并且消息是以明文传输的。以后计划引入Kerberos认证机制,GKS通过gkc提供的票据认证其身份,并通过GKS和gkc协商的会话密钥保证二者见消息的机密性和完整性。7 性能评价价我们在GGKS-CFSS的原型型系统上上进行了了测试,以以衡量加加密操作作对系统统性能的的影响。测测试内容容包括加加解密相相关操作作的开销销和和给给予基准准测试程程序的读读写性能能测试。7.1 密码学操操作开销销表2列出出了各种种文件操操作中加加解密相相关操作作的额外外开销。测测试服务务器的配配置为IInteel PPenttiumm IIII xx 4处处理器,11GB内内存,运运行Reedhaat LLinuux操作作系统(内内核版本本2.66.100)。各种种加解密密相关操操作的开开销用LLinuux内核核提供的的cryyptoo APPI库函函数测量量。在本本文所有有测试中中,数据据块大小小为4KKB,数数据块用用1288比特密密钥长度度的AEES算法法加密,加密模式为计数器模式。哈希值的计算采用SHA-1。为了获得计算根哈希和解密锁盒子的开销,假设文件的平均大小为2MB。LBK、FSK和根哈希同样使用128比特密钥长度的AES 加密,模式为ECB。ACB的默认长度是512字节。表2:加加解密相相关操作作的开销销文件操作作加解密相相关操作作延迟(mms)合计(mms)执行者频率创建文件件加密LBBK和FFSK计算ACCB的认认证码0.1990.3220.511GKS每个文件件打开文件件校验ACCB的认认证码解密LBBK和FFSK解密根哈哈希校验根哈哈希解密锁盒盒子0.3220.1990.1990.700GKS每个文件件1.5221.9553.477读/写者者关闭文件件计算根哈哈希加密根哈哈希1.5220.1991.711读/写者者每个文件件写文件加密数据据块计算数据据块哈希希1.0440.8771.933写者每个数据据块读文件解密数据据块校验数据据块哈希希1.0550.8771.922读者每个数据据块从表2可可以看出出,打开开文件的的主要开开销是计计算根哈哈希和解解密锁盒盒子,关关闭文件件的主要要开销是是校验哈哈希根。读读/写文文件的开开销是加加/解密密数据块块和计算算/校验验数据块块哈希。权权限撤销销操作和和创建文文件类似似,只是是增加了了重新加加密锁盒盒子的操操作,为为简明起起见,它它的开销销没有在在表2中中列出。当当读写大大文件时时,加解解密数据据块和计计算/校校验签名名将占额额外开销销的主要要部分。下面我们们将GKKS-CCFS和和基于公公私钥的的密钥管管理方案案的在创创建和打打开文件件时的文文件密钥钥操作的的相关开开销进行行比较。在基于用户公私钥的密钥管理方案(如3, 5, 6)中,创建文件时需要将文件密钥用每个具有权限的用户的公钥加密,并对密钥元数据签名,相关开销为Tcreate = nTPubEnc + TS,打开文件时需要用用户私钥解密文件密钥并验证密钥元数据的签名,相关开销为Topen = TPubDec + TV。其中TPubEnc和TPubDec分别为一次公钥加密和公钥解密的时间,TS和TV分别为一次签名操作和验证签名操作的时间,n为对文件具有权限的用户数目。在GKS-CFS的基于对称密钥的密钥管理方案中,创建文件的相关开销为Tcreate = 2TSymEnc + TMAC,打开文件的相关开销为Topen = 2TSymDec + TMAC,其中TSymEnc和TSymDec分别为一次对称密钥加密和解密的时间,TMAC为一次计算对ACB计算认证码的时间。公私钥密码的计算复杂度要大大高于对称密码的计算复杂度。在我们的测试平台上测得一次公钥加密和解密的延迟分别为50ms和15ms左右(签名和验证操作的延迟在同一个数量级),大大高于AES加解密和计算认证码的延迟。相比其他系统,由于我们提出方法中没有使用公钥密码系统,使普通文件操作中的密码学操作开销减少了一个数量级。另外我们看到,由GKS执行的操作只在创建和打开时发生且开销都很小,大部分操作由客户端完成,这满足了设计目标中尽量降低GKS计算量的需求。7.2 IOZoone性性能测试试我们用IIOZoone测测试工具具对GKKS-CCFS原原型系统统的性能能进行了了测试,并并和不带带加密功功能的基基准Luustrre系统统进行了了比较,测测试环境境由百兆兆以太网网连接的的4台服服务器组组成,分分别充当当客户端端、MDDS、OOSD和和GKSS,服务务器配置置同7.1节。我们们首先测测试了加加解密计计算带来来的额外外开销。为了更准确的测量出加解密计算的开销,我们将文件大小设为系统内存的2倍即2GB,来尽量屏蔽文件系统缓存的影响,测试了在不同I/O请求大小下的吞吐率变化。结果如图4和图5所示。图4:随随机读性性能比较较 图5:随机机写性能能比较从图4和和图5可以看看出,加加密部分分对吞吐吐率的影影响随II/O请请求大小小的增加加而增大大,这是是因为加加解密的的延迟随随I/OO请求大大小的增增长速度度基本是是线性的的,而由由于受寻寻道时间间的影响响,I/O的响响应时间间随I/O请求求大小的的增长速速度低于于线性,因因此加密密延迟在在总延迟迟的比例例逐渐增增大。当当I/OO请求大大小为664KBB时,随随机读和和随机写写的吞吐吐率分别别降低了了23%和566%。接下来我我们测试试了GKKS-CCFS在在不同文文件大小小下的随随机读写写和顺序序读写吞吞吐率并并和基准准Lusstree系统比比较。文文件大小小的变化化范围是是64KKB2256MMB,II/O请请求大小小设为664KBB。顺序序读写和和随机读读写的结结果分别别如图66和图7所示。从从两图中中可以看看出,当当文件大大小小于于4MBB时,GKKS-CCFS和和Lusstree的吞吐吐率差别别较小,不不超过114.66%。这是由由于文件件较小时时,会被被缓存在在客户端端文件系系统缓存存中,不不会触发发加解密密操作。当当文件大大小超过过4MBB而小于于2566MB时时,随机机写和顺顺序写的的性能会会有较多多降低,这这是由于于文件系系统客户户端lllitee会定期期将内存存中足够够多的脏脏页面写写回到OOST,从从而触发发加解密密操作。图6:不不同文件件大小顺顺序读写写性能比比较 图图7:不同同文件大大小随机机读写性性能比较较7.3 Bonnnie+性能能测试为了评价价GKSS-CFFS在各各种文件件系统操操作(创创建、读读写、删删除、获获取属性性等)时时的性能能,我们们用Boonniie+基准测测试程序序进行了了测试,文文件大小小设为内内存的22倍即22GB。测试分两两组,第第一组是是各种模模式下的的顺序读读写性能能,共测测试5种种模式:逐字符符写(WWritte PPer Chrr)、块块写(WWritte BBlocck)、读后写(Reewriite)、逐字符读(Read Per Chr)、块读(Read Block),结果如图8所示。从结果可以看出,顺序读写的性能下降较大,平均降低42.0%,由于顺序读写时磁盘寻道带来的延迟缩短,因此加解密计算的额外开销占了主导地位。其中,读后写模式吞吐率下降最大,为66.8%,这是因为该模式在读出数据和写入数据时需要做两次加解密操作。图8:不不同模式式顺序读读写性能能比较 图99:随机机文件操操作性能能比较第二组测测试是各各种随机机文件元元数据操操作的性性能,包包括创建建(Crreatte)、获获取属性性(Sttat)、删除(Delete)、寻址(Seek)四种操作,指标是每秒操作次数。结果如图9所示。从结果可以看出,和顺序读写相比,随机操作的性能下降较小,平均下降8.4%,其中创建操作由于需要和GKS通信获取密钥,性能下降最大,为29.1%。在随机操作中,磁盘寻道的延迟变大,占总延迟的主要部分,而加解密计算开销的影响相对变小。从Bonnniee+的的两组实实验结果果可以看看出,当当应用特特点为大大数据量量连续读读写时,GGKS-CFSS的加解解密对系系统性能能影响较较大;当当应用特特点为小小数据量量频繁文文件元数数据操作作时,GGKS-CFSS和基准准Lusstree系统的的性能差差别很小小。7.4 扩展系统统的模拟拟实现和和测试我们基于于GKSS-CFFS的工工作给出出扩展系系统的软软件模拟拟实现和和性能测测试。由由于硬件件条件的的限制,在在实现中中我们用用软件模模拟GKK-Caard的的硬件行行为,即即把GKK-Caard实实现为一一个内核核模块加加载到客客户端,把把GKSS-CFFS系统统中GKKS的密密钥操作作方法抽抽取出来来封装在在模块中中,通过过接口向向客户端端文件系系统提供供密钥操操作服务务。我们同样样使用BBonnnie+测试试了系统统的文件件元数据据操作性性能,并并和基准准Lusstree以及GGKS-CFSS进行比比较。测测试环境境由3台台服务器器组成,分分别充当当客户端端、MDDS和OOSD,服服务器配配置同55.1节节。我们们假设GGK-CCardd由硬件件安全模模组(HHSM)实实现,通通过PCCI接口口和主机机连接,接接口带宽宽为1333MBB/s。在在我们的的实现中中,ACCB的长长度为1128字字节,则则文件系系统客户户端和GGK-CCardd间的传传输延迟迟为1228B / 1133MMB/ss x 2 = 1.92s。我我们在GGK-CCardd端用软软件方法法模拟这这一延迟迟。假设设GK-Carrd的处处理速率率是主机机CPUU的五分分之一,我我们用模模块中的的每种密密钥操作作循环55次来模模拟这种种效应。测测试结果果如图110所示示。图10:扩展系系统随机机文件操操作性能能测试从结果可可以看出出,除文文件创建建以外,基基于GKK-Caard的的扩展系系统在文文件元数数据操作作性能上上与基准准Lusstree性能差差别很小小。然而而在创建建文件时时需要创创建密钥钥且对其其进行加加密,因因此比基基准Luustrre对应应的性能能有所下下降。值值得注意意的是,扩扩展系统统的随机机文件创创建操作作频率比比GKSS-CFFS分别别提高了了21.1%和和22.8%,这这是因为为前者在在创建密密钥后直直接在客客户端进进行加密密,而GGKS-CFSS需要将将密钥发发送到组组密钥服服务器加加密后再再返回给给客户端端,造成成一定的的网络通通信延迟迟。由此此可见,扩扩展系统统通过消消除网络络上的密密钥操作作流节省省了通信信开销,降降低了密密钥操作作对系统统性能的的影响。8 相关工作作随着网络络存储的的普及,关关于安全全存储的的研究近近年来越越来越受受到重视视,文献献中已提提出很多多加密文文件系统统,如CCephheuss2、Pllutuus6、SiiRiUUS3、NCCrypptfss7、SSSFS5等。但这些些系统的的密钥管管理机制制都不能能同时满满足安全全、高效效和灵活性性的需求求。Pluttus6采用用用户维护护和分发发密钥的的方法,并将相相同权限限的文件件划分成成文件组组(fiileggrouup)并并共享一一个密钥钥,以减减少密钥钥数目。由由于访问问控制和和密钥分分发由文文件所有有者完成成,用户户可以实实施灵活活的访问问控制策策略。但但手动分分发密钥钥给用户户带来额额外负担担,另外外权限撤撤销虽然然采用了了懒惰的的方法,但但由于需需要重新新加密组组内的所所有文件件,开销销仍然较较大。攻攻击者如如果通过过攻击主主机或网网络获得得文件组组密钥,可可以访问问组内的的所有文文件。SSiRiiUS3将文件件密钥用用每个具具有访问问权限的的用户的的公钥加加密,这这种方法法只能实实现以用用户列表表方式表表示的访访问控制制策略,并并且创建建文件的的计算开销销(公钥钥加密操操作的次次数)随随合法用用户数目目的增加加而增大大。攻击击者一旦旦通过攻攻击主机机获得用用户私钥钥,可以以访问用用户有权权访问的的所有文文件。GGKS-CFSS通过引引入GKKS集中中管理文文件密钥钥,在GGKS上上可以灵灵活实施施各种访访问控制制策略,创创建文件件具有较较小的恒恒定计算算开销,权权限撤销销的开销销也通过过分块加加密降到到最低。攻攻击者攻攻破主机机只能获获得用户户当前正正在访问问的文件件,对其其他文件件没有影影响,安安全性也也得到保保证。文文献11研究了了在网络络附加存存储(NNAS)中中通过密密码学方方法保证证文件安安全性的的问题,提提出了一一种基于于权能(ccapaabillityy)的密密钥分发发方案来来减少存存储服务务器的密密钥管理理负担,但它仍然采用用户公私钥对的机制,并且
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 市场营销


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!