CN104601579A - 一种保障信息安全的计算机系统及其方法 - Google Patents
一种保障信息安全的计算机系统及其方法 Download PDFInfo
- Publication number
- CN104601579A CN104601579A CN201510026843.3A CN201510026843A CN104601579A CN 104601579 A CN104601579 A CN 104601579A CN 201510026843 A CN201510026843 A CN 201510026843A CN 104601579 A CN104601579 A CN 104601579A
- Authority
- CN
- China
- Prior art keywords
- file
- key
- block
- read
- authentication node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明提供了一种保障信息安全的计算机系统及其方法,包括:通过所述云存储集群提供文件级共享与访问控制机制,将文件分成内容数据和安全元数据存储在云存储集群中;利用认证节点认证用户身份,将密钥分发给合法用户获得数据明文,利用密钥分发机制将待访问的文件的密钥分发给合法用户;将用户的身份证书存储在客户端,认证节点端只存储认证节点加密密钥和认证节点签名密钥,当文件发生改变时,直到文件被修改时才对被修改的内容重新加密。本发明在普通网络和云存储环境中保证了数据的私有性、完整性以及访问控制的安全性,降低了对云存储集群的安全依赖,逻辑结构简单,可扩展性高。
Description
技术领域
本发明涉及云存储,特别涉及数据安全存储及处理。
背景技术
随着云存储的迅猛发展,普遍选择使用云存储环境来存储自己的资料。云存储环境一般采用按使用付费的方式,给使用者带来了不少好处:无前期投入,节省了管理开销,良好的可扩展性和很高的存储资源利用率。
然而,云存储环境让数据的所有者失去了对数据的完全控制,这使得数据的安全性面临一系列的威胁。如果将敏感数据存储在由他人控制的云存储环境中,随着云存储的使用者增多,这些问题将变得越发严重。对数据进行加密是当前保护数据私密性的主流方法。但是,大多数的云存储服务提供者都要求用户信任他们的云存储集群的数据所有者,其他用户想要访问数据,需要先与数据所有者联系,但却通过了新的问题:数据所有者需要提供较复杂的数据管理服务,当共享用户数增多时,管理难度越来越大。
因此,针对相关技术中所存在的上述问题,目前尚未提出有效的解决方案。
发明内容
为解决上述现有技术所存在的问题,本发明提出了一种在计算机系统中保障信息安全的处理方法,所述计算机系统包括云存储集群,客户端,认证节点,通过所述云存储集群向用户提供文件级共享与访问控制机制,将用户视图中的一个文件分成两个文件存储在云存储集群中,该两个文件分别为内容数据和安全元数据,利用认证节点认证用户身份,处理用户的文件访问请求,将密钥分发给合法用户,文件所有者指定文件能够被指定用户进行特定权限的访问,并且只有合法授权的用户才能获得数据明文,并且该计算机系统的密钥管理机制使用户在使用保障信息安全的计算机系统时,不在本地存储任何文件密钥,利用密钥分发机制将待访问的文件的密钥分发给合法用户;将用户的身份证书存储在客户端,在认证节点端只存储两个对称密钥,即认证节点加密密钥和认证节点签名密钥,利用两个对称密钥,完成对称密钥加解密,计算消息验证码;通过客户端处理用户的请求,执行文件操作,同时完成文件数据加解密和完整性检验,客户端与认证节点通信,来获取密钥;当计算机系统中的文件发生改变时,该系统直到文件被修改时才对被修改的内容重新加密,系统中的加密和解密运算都使用对称加解密,同时通过缓存机制来避免重复的计算开销和I/O开销,其中所述内容数据中存储文件密文,安全元数据中存储了内容数据相关的安全信息,该安全信息包括读写控制块,根散列链表和散列树。
优选地,通过客户端处理用户的请求,执行文件操作,包括创建文件、读取文件、写入文件和共享文件,并且其中:
所述创建文件进一步包括以下步骤:
客户端初始化一个创建文件请求,其中该文件请求包括文件名,加密算法,加密模式,访问控制列表,然后将此文件请求发送给认证节点;认证节点收到请求后为该文件生成文件块二次加密密钥TBK和文件签名密钥,并对这两个密钥用认证节点加密密钥认证节点加密密钥进行加密,创建读写控制块,然后用认证节点签名密钥认证节点签名密钥计算出读写控制块的消息验证码,初始化根散列链表,并将生成好的读写控制块返回给客户端;客户端根据认证节点返回的读写控制块在云存储集群上创建内容数据和安全元数据文件;
所述读取文件进一步包括以下步骤:
客户端从云存储集群中找到安全与内容数据安全元数据,从中读出读写控制块的内容,并将读请求与读写控制块发送给认证节点;认证节点首先检查读写控制块的完整性,然后通过访问控制列表判断用户是否有读权限,用认证节点加密密钥将TBK和文件签名密钥解密出来,并用文件签名密钥解密根散列链表,用于认证散列树的完整性,最后将TBK和根散列链表返回给客户端;客户端用TBK将需要访问到的文件块的块密钥FBK解密出来,认证散列树及其根散列的完整性,然后从内容数据中读出相关的文件块并用对应的FBK解密得到明文,并对明文计算散列来检验文件块的完整性;
所述写入文件进一步包括以下步骤:
客户端从云存储集群中找到安全元数据,从中读出读写控制块的内容,并将写请求与读写控制块发送给认证节点;认证节点首先检查读写控制块的完整性,然后通过访问控制列表判断用户是否有写权限,然后用认证节点加密密钥将TBK和文件签名密钥解密出来,并用文件签名密钥解密根散列链表,将TBK,文件签名密钥和根散列链表返回给客户端;客户端用TBK将需要访问到的文件块的块密钥FBK解密出来,认证散列树及其根散列的完整性,然后对要写入的数据以文件块为粒度计算散列和新的FBK,并用新的FBK对数据进行加密,写入内容数据中,同时更新散列树,重新计算根散列并用文件签名密钥加密,写入安全元数据中;
所述共享文件进一步包括以下步骤:
文件所有者从云存储集群中找到安全元数据,读出读写控制块,将文件共享请求和读写控制块发送给认证节点,认证节点首先检查读写控制块的完整性,并检查该用户是否为文件所有者,将客户端请求中的访问控制项插入到访问控制列表中,并用认证节点签名密钥认证节点签名密钥重新计算读写控制块的消息验证码,最后将更新后的读写控制块返回给客户端,客户端将新的读写控制块写入到安全元数据中。
优选地,在所述保障信息安全的计算机系统中,密钥分为3个等级来组织,即文件密钥,安全元数据和认证节点;
密钥等级的第一层是文件密钥,保障信息安全的计算机系统以分块加密的形式来加密文件数据,每一个文件块FBi采用单独的对称密钥FBKi来进行加解密,文件块的加密密钥是由明文的散列值与它的偏移量拼接而成,对称密钥FBKi的计算方法如下:
FBKi=HANH(FBi)||offseti
其中符号“||”表示拼接运算,HANH表示使用SHA-1算法计算文件块的散列值,offseti是块i在文件中的偏移量;
密钥等级的第二层是安全元数据,在安全元数据的读写控制块中包括文件块二次加密密钥TBK,所有的文件块密钥FBKi都用TBK进行了加密,并以M叉树的形式存储在安全元数据中,只有获取了TBK的用户才可以解密得到文件块密钥,进而对内容数据进行解密得到明文内容;读写控制块中还有一个文件签名密钥,只有获取了文件签名密钥的用户才具有写操作权限;
密钥等级的第三层是认证节点,其中存储了两个对称密钥:认证节点加密密钥和认证节点签名密钥,这两个密钥对其他的任何实体均为保密,在安全元数据的读写控制块中,文件块二次加密密钥TBK和文件签名密钥FBK都被认证节点用认证节点加密密钥加密,用户想要获得TBK或文件签名密钥,只能通过与认证节点进行通信来获取,认证节点签名密钥则是用来计算读写控制块的消息验证码,认证节点利用安全元数据中的消息验证码来判断读写控制块的完整性。
根据本发明的另一方面,还包括一种实现上述保障信息安全的处理方法的计算机系统。
本发明相比现有技术,具有以下优点:
提出了一种改进的云存储系统及其处理方法,在普通网络环境和存储环境中保证了数据的私有性、完整性以及访问控制的安全性,降低了对云存储集群的安全依赖,逻辑结构简单,可扩展性高。
附图说明
图1是根据本发明实施例的信息安全处理方法的流程图。
具体实施方式
下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
本发明的一方面提供了一种保障信息安全的计算机系统的处理方法。图1是根据本发明实施例的信息安全处理方法的流程图。
本发明主要考虑了用户共享的云存储环境。在该环境中,数据所有者将共享数据存储在不可信的云存储服务提供者中,而其他用户则通过不可信的网络环境中可根据自身所被赋予的访问权限对该数据进行操作。在数据存储和访问的过程中,假设云存储服务提供者和网络中的恶意用户有可能对数据采取非法访问行为,而用户也将可能尝试超出其合法权限之外的数据操作。
保障信息安全的存储系统与底层文件系统相互独立。存储系统的设计目的是为已有的云存储系统提供安全机制,因此必须做到与底层文件系统相互独立,保证在使用该云存储系统的时候,不需要对底层文件系统进行任何修改。文件共享与访问控制。云存储系统必须向用户提供安全易用的文件级共享与访问控制机制。文件所有者可以指定文件能够被哪些用户进行哪种权限的访问。
云存储系统必须保证只有被合法授权的用户才能获得数据明文,非法的用户以及底层文件系统的管理员均无法获得数据明文。对数据的非法篡改必须能被发现,保证用户得到的数据是正确的。
云存储系统的密钥管理机制的设计原则是,用户在使用云存储系统时,不需要在本地存储任何文件密钥。也就是说,云存储系统的密钥管理机制对用户来说是透明的,增加了易用性和安全性。利用合理高效的密钥分发机制进行分发,来保证合法用户能获得他想访问的文件的密钥。
在云存储系统中当当文件发生改变时,云存储系统并不马上对文件重新加密,而是等到文件被修改时才对被修改的内容重新加密。云存储系统中加解密(除PKI身份认证体系外)运算都使用对称加解密。同时,云存储系统还需要通过缓存机制来避免重复的计算开销和I/O开销。另外云存储系统必须尽量减少由于安全机制通过所带来的磁盘空间和网络带宽的消耗。
本发明的云存储系统由三部分组成:云存储集群,客户端,认证节点。
云存储集群负责存储文件,用户视图中的一个文件在云存储集群中被分成两个文件来存储,分别称之为内容数据和安全元数据。内容数据中存储的是文件密文,安全元数据中存储了内容数据相关的安全信息,例如读写控制块,根散列链表,散列树等等。
认证节点AN是整个系统信任的根。AN的逻辑非常简单,它负责认证用户身份,处理用户的文件访问请求,将相关密钥分发给合法用户等等。AN端只需要存储两个对称密钥认证节点加密密钥和认证节点签名密钥,而不需要存储其他任何信息,所涉及到的操作只是少量的对称密钥加解密,计算消息验证码等。这种简单的设计能够带来以下好处:
(1)低开销。由于计算简单,无磁盘I/O开销,AN可以轻松地同时响应多个请求。(2)让系统更可靠,可用性更强。由于AN除了两个对称密钥外,无需存储其他信息,如果一台AN崩溃了,另外一台具有相同认证节点加密密钥和认证节点签名密钥的服务器可以立即接替它的工作,无需进行复杂的数据恢复和状态恢复以保持一致性。(3)可扩展性强。简单的逻辑使得AN服务器可以轻松地扩展为认证节点集群,消除性能瓶颈。
客户端负责处理用户的请求,执行文件的各种操作。同时,文件数据加解密,完整性检验也是在客户端完成的。必要的时候,客户端还需要与认证节点通信来获取密钥。这一切对用户来说都是透明的。另外云存储系统客户端只需要存储用户的身份证书,除此之外无需存储其他信息,这也增加了系统的易用性和安全性。云存储系统是一个用户态文件系统,可以架设在任意一个文件系统之上,为用户提供安全功能。这也使得云存储系统与底层文件系统完全独立,适用范围广泛。
在安全云存储系统中,密钥管理有两个关键问题:如何减少需要维护的密钥数量以及权限降低发生时如何处理密钥的更新。在云存储系统中,密钥分为3个等级来组织:文件密钥,安全元数据和认证节点。
密钥等级的第一层是文件密钥。为了更高效安全地处理大文件,云存储系统以分块加密的形式来加密文件数据。每一个文件块FBi采用单独的对称密钥FBKi来进行加解密,FBKi的计算方法如下:
FBKi=HANH(FBi)||offseti
其中符号“||”表示拼接运算,HANH表示使用SHA-1算法计算文件块的散列值,offseti是块i在文件中的偏移量。也就是说,文件块的加密密钥,是由明文的散列值与它的偏移量拼接而成的,这种密钥的选择方式能够带来以下三点好处:第一,由于要保护文件的完整性,就免不了要计算文件内容的散列,而采用明文的散列作为密钥,就能使这部分信息得到重用,很大程度上节省了密钥存储空间;第二,由于相同内容的文件块会得出相同的散列值,在散列值后拼接上偏移量来作为密钥,就能够使相同内容的文件块产生不同的密文,增强了保密性;第三,以这种方式来选择密钥,将使得文件块内容发生改变时,密钥也随之发生改变,这对系统的安全性和权限降低都有好处。
密钥等级的第二层是安全元数据。在安全元数据的读写控制块中包括文件块二次加密密钥TBK。所有的文件块密钥FBKi都用TBK进行了加密,并以M叉树的形式存储在安全元数据中。只有获取了TBK的用户,才可以解密得到文件块密钥,进而对内容数据进行解密,得到明文内容。
读写控制块中还有一个文件签名密钥,只有获取了文件签名密钥的用户才具有对文件进行合法修改的能力,即具有写操作权限。
密钥等级的第三层是认证节点。认证节点AN中存储了两个对称密钥:认证节点加密密钥和认证节点签名密钥。前者是认证节点加密密钥,后者是认证节点签名密钥。这两个密钥只有AN自己知道,是对其他的任何实体保密的。在安全元数据的读写控制块中,文件块二次加密密钥TBK和文件签名密钥FBK都被AN用认证节点加密密钥加密。也就是说,用户想要获得TBK或文件签名密钥,只能通过与AN进行通信来获取。认证节点签名密钥则是用来计算读写控制块的消息验证码。利用安全元数据中的消息验证码,AN就能够判断读写控制块的完整性是否遭到破坏,而其他实体由于无法得到认证节点签名密钥,所以不具备合法修改读写控制块内容的能力。
通过这样的三层密钥管理结构,数目众多的密钥可以被高效地组织起来,在保证数据私密性与完整性的同时,提高了密钥管理的效率。
云存储系统为文件的每一个块计算明文散列值来保证它的完整性,如前文所叙述的,该散列值也是其加解密密钥FBK的一部分,进一步地将这些散列值组成一棵或多棵M叉散列树。传统的M叉散列树的叶子结点存储文件块散列值,非叶子结点用来保证儿子的完整性,存储的是所有儿子拼接后的散列值。在云存储系统中,使用改进的M叉散列树,非叶子结点也参与存储文件块散列值。
nHashi的计算方法:
nHashi=HANH(bHashm*i+1||nHashm*i+1||…||bHashm*i+m||nHashm*i+m)。
云存储系统中的M叉散列树中,除叶子结点外,每个结点有m个子结点。结点i中的bHashi其实就是文件块i的密钥FBKi。nHashi是结点i的所有子节点内容拼接后,再计算出来的散列值。另外还使用了“块存在标记”来标识文件块i是否存在,以及“结点存在标记”来标识散列树中结点i是否存在(如果bHashi或者nHashi两者之一存在,就认为结点i存在),这两个标记可以帮助识别文件空洞,以及提高完整性校验的效率。
最后,对散列树的根用文件签名密钥加密并存储在安全元数据的根散列链表中。在云存储系统中,用bHashi保证了文件块i的完整性,用nHashi保证了以结点i为根的子树的完整性,所以散列树的根就保证整棵散列树的完整性。由于只有具有文件写权限的合法用户才能获取到文件签名密钥,因此在安全元数据中存储的根散列保证了非法用户一旦篡改了文件内容,就能被发现。总的来说,通过用文件签名密钥加密的根散列来保证散列树的完整性,而散列树中存储了所有文件块的明文散列,进而保护整个文件数据的完整性。采用散列树来保护文件完整性的好处是显而易见的。当合法的修改文件某个或某些块的内容时,只需要重新计算这些块的bHash,以及这些块通往根结点的路径上所经过结点的nHash。最后对更新后的根散列用文件签名密钥重新加密存储在安全元数据中。
在云存储系统中,对文件的每次读写访问都会先检查访问内容的完整性。先检查散列树根散列的完整性,然后检查访问所涉及到的散列树结点以及这些结点通往根结点的路径上所经过结点的完整性,这样可以确保这些结点bHash,也就文件块密钥FBK的完整性。检查散列树结点完整性的方法是根据它的子结点重新计算它的nHash值,并与安全元数据存储的nHash值进行比较,最后对解密出来的明文计算散列值,与FBK中的明文散列进行比较,检查每一个文件块的完整性。
在用户数较多的云存储系统中,大多数云存储系统主要依靠云存储集群来管理文件的访问权限,权限降低的开销很小,但是这要求用户完全信任云存储集群,而这对用户的数据是不安全的。在加密存储平台里,权限降低所带来的性能开销要大得多,因为要避免权限被降低的用户继续对文件进行访问,需要重新生成文件的相关密钥,重新加密,并将新的密钥分发给依然具有访问权限的用户。其中对文件的重新加密将会较严重地影响系统性能,并导致在此过程中文件无法被访问。
为了减少权限降低所带来的额外开销,本发明的云存储系统采用了被动权限降低技术。对于每一个文件块而言,在权限降低后,只有当它的内容发生改变时,它才被重新加密,这在很大程度上降低了权限降低对性能的影响。而对于安全元数据而言,一旦权限降低发生,就都需要为该文件重新生成文件块二次加密密钥TBK和文件签名密钥,然后用新的TBK对所有的文件块密钥FBKi重新加密,用文件签名密钥对所有的根散列重新加密。由于云存储系统只对所有的FBK和根散列进行重新加密,并没有对文件块进行重新加密,相比之下,数据量减少了非常多。
云存储系统的文件访问协议中,客户端与认证节点间的通信均采用了SSL加密,能有效解决网络不可信的问题。另外,认证节点AN只需要维护两个对称密钥,而客户端只需要维护自己的身份证书,不需要维护任何密钥,不仅简单高效,而且还减少了密钥泄露的风险。
在云存储系统中每个用户都需要申请一个证书,用以唯一标识自己的身份。当客户端与认证节点AN通信时,会尝试与AN建立一个SSL连接。连接建立的时候,客户端会将用户的身份证书发送给AN,该证书通过AN的认证后,AN也会将自己的证书发送给客户端。在双方都确认对方的身份信息无误后,SSL连接正式建立。也就是说,在认证节点AN端,每一个连接都是与用户证书绑定的,即所有的通信都是身份可识别的通信。
创建文件的流程如下:
(1)客户端初始化一个创建文件请求,其中包括文件名,加密算法,加密模式,访问控制列表等信息,然后将此请求发送给认证节点AN。
(2)AN收到请求后为文件生成文件块二次加密密钥TBK和文件签名密钥,并对这两个密钥用认证节点加密密钥认证节点加密密钥进行加密,创建出读写控制块,接着用认证节点签名密钥认证节点签名密钥计算出读写控制块的消息验证码。最后初始化根散列链表,并将生成好的读写控制块返回给客户端。
(3)客户端根据AN返回的读写控制块在云存储集群上创建两个文件:内容数据和安全元数据。
读取文件的流程如下:
(1)客户端从云存储集群中找到安全与内容数据安全元数据,从中读出读写控制块的内容。并将读请求与读写控制块发送给认证节点AN。
(2)AN首先检查读写控制块的完整性,然后通过访问控制列表判断用户是否有读权限。接着用认证节点加密密钥将TBK和文件签名密钥解密出来。并用文件签名密钥解密根散列链表,用于认证散列树的完整性。最后将TBK和根散列链表返回给客户端。
(3)客户端用TBK将需要访问到的文件块的块密钥FBK解密出来,认证散列树及其根散列的完整性。接着从内容数据中读出相关的文件块并用对应的FBK解密得到明文,并对明文计算散列来检验文件块的完整性。
写入文件的流程如下:
(1)客户端从云存储集群中找到安全元数据,从中读出读写控制块的内容。并将写请求与读写控制块发送给认证节点AN。
(2)AN首先检查读写控制块的完整性,然后通过访问控制列表判断用户是否有写权限。接着用认证节点加密密钥将TBK和文件签名密钥解密出来。并用文件签名密钥解密根散列链表。最后将TBK,文件签名密钥和根散列链表返回给客户端。
(3)客户端用TBK将需要访问到的文件块的块密钥FBK解密出来,认证散列树及其根散列的完整性。然后对要写入的数据以文件块为粒度计算散列和新的FBK,并用新的FBK对数据进行加密,写入内容数据中。同时,还需要更新散列树,重新计算根散列并用文件签名密钥加密,写入安全元数据中。
共享文件的流程如下:
(1)文件所有者从云存储集群中找到安全元数据,读出读写控制块。将文件共享请求和读写控制块发送给AN。文件共享请求中包括要在访问控制列表中加入哪些用户,每个用户具有哪些权限等。
(2)AN首先检查读写控制块的完整性,并检查该用户是否为文件所有者。接着将客户端请求中的访问控制项插入到访问控制列表中,并用认证节点签名密钥认证节点签名密钥重新计算读写控制块的消息验证码。最后将更新后的读写控制块返回给客户端。
(3)客户端将新的读写控制块写入到安全元数据中。
权限降低的流程如下:
(1)客户端从云存储集群中找到安全元数据,读出读写控制块。将权限降低请求和读写控制块发送给AN。权限降低请求中包括要对哪些用户进行权限降低,每个用户被权限降低后所应该拥有的权限(例如从读写权限降级为只读权限)等。
(2)AN首先检查读写控制块的完整性,并检查该用户是否为文件所有者。接着根据客户端的请求更新访问控制列表,然后重新生成文件块二次加密密钥TBK和文件签名密钥并用认证节点加密密钥认证节点加密密钥对新的TBK和文件签名密钥进行加密,写入读写控制块。最后用认证节点签名密钥认证节点签名密钥重新计算读写控制块的消息验证码,将更新后的读写控制块,旧的TBK和文件签名密钥,新的TBK和文件签名密钥返回给客户端。
(3)客户端用旧的TBK将所有的文件块密钥FBK解密,并用新的TBK对他们进行加密,写入安全元数据。再用旧的文件签名密钥对所有的根散列进行解密,再用新的文件签名密钥对根散列进行加密,写入安全元数据。最后将更新后的读写控制块写入安全元数据。
在本发明的云存储系统中,实现了一套独立的锁机制(包括文件读写锁和线程互斥锁)来实现读写互斥,保证文件数据的一致性。云存储系统支持多线程并发读同一个文件。为了提高云存储系统的性能,使用了缓存机制来降低加解密、完整性校验的开销。例如将访问到的散列树的前三层结点的明文缓存在内存中,直到需要的时候(例如文件关闭时)才将它们重新加密写回安全元数据,这样可以减少在完整性校验过程中对散列树前三层结点多次I/O访问和加解密的开销。相应的,可以为被缓存的散列树结点设立一个“是否已检查完整性”标记,这样可以避免对缓存的散列树结点重复校验完整性。如果用户对某一段数据进行重复读写,每次读操作都需要从加密的内容数据中读出对应内容,进行完整性校验,然后从安全元数据中读入相关的文件数据加密密钥(密文形式),然后用文件根密钥对这些密钥进行解压,再利用这些密钥解密内容数据得到明文数据,写操作也是类似的。为了提高性能,在云存储系统中实现了一套独立的缓存系统,对最近访问的文件块明文进行缓存,这使得以上的步骤都能被省略,减少了不必要的I/O操作,完整性校验以及加解密开销。
综上所述,本发明提出了云存储系统及处理方法的系统引导加载操作系统的方法,在普通网络环境和云存储环境中保证了数据的私有性、完整性以及访问控制的安全性,降低了对云云存储集群的安全依赖,逻辑结构简单,可扩展性高。
显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储平台中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (4)
1.一种在计算机系统中保障信息安全的处理方法,所述计算机系统包括云存储集群,客户端,认证节点,其特征在于:
通过所述云存储集群向用户提供文件级共享与访问控制机制,将用户视图中的一个文件分成两个文件存储在云存储集群中,该两个文件分别为内容数据和安全元数据,利用认证节点认证用户身份,处理用户的文件访问请求,将密钥分发给合法用户,文件所有者指定文件能够被指定用户进行特定权限的访问,并且只有合法授权的用户才能获得数据明文,并且利用密钥管理机制使用户在使用计算机系统时,不在本地存储任何文件密钥,利用密钥分发机制将待访问的文件的密钥分发给合法用户;将用户的身份证书存储在客户端,在认证节点端只存储两个对称密钥,即认证节点加密密钥和认证节点签名密钥,利用两个对称密钥,完成对称密钥加解密,计算消息验证码;通过客户端处理用户的请求,执行文件操作,同时完成文件数据加解密和完整性检验,客户端与认证节点通信,来获取密钥;当计算机系统中的文件发生改变时,该系统直到文件被修改时才对被修改的内容重新加密,系统中的加密和解密运算都使用对称加解密,同时通过缓存机制来避免重复的计算开销和I/O开销,其中所述内容数据中存储文件密文,安全元数据中存储了内容数据相关的安全信息,该安全信息包括读写控制块,根散列链表和散列树。
2.根据权利要求1所述的方法,其特征在于,通过客户端处理用户的请求,执行文件操作,包括创建文件、读取文件、写入文件和共享文件,并且其中:
所述创建文件进一步包括以下步骤:
客户端初始化一个创建文件请求,其中该文件请求包括文件名,加密算法,加密模式,访问控制列表,然后将此文件请求发送给认证节点;认证节点收到请求后为该文件生成文件块二次加密密钥TBK和文件签名密钥,并对这两个密钥用认证节点加密密钥认证节点加密密钥进行加密,创建读写控制块,然后用认证节点签名密钥认证节点签名密钥计算出读写控制块的消息验证码,初始化根散列链表,并将生成好的读写控制块返回给客户端;客户端根据认证节点返回的读写控制块在云存储集群上创建内容数据和安全元数据文件;
所述读取文件进一步包括以下步骤:
客户端从云存储集群中找到安全与内容数据安全元数据,从中读出读写控制块的内容,并将读请求与读写控制块发送给认证节点;认证节点首先检查读写控制块的完整性,然后通过访问控制列表判断用户是否有读权限,用认证节点加密密钥将TBK和文件签名密钥解密出来,并用文件签名密钥解密根散列链表,用于认证散列树的完整性,最后将TBK和根散列链表返回给客户端;客户端用TBK将需要访问到的文件块的块密钥FBK解密出来,认证散列树及其根散列的完整性,然后从内容数据中读出相关的文件块并用对应的FBK解密得到明文,并对明文计算散列来检验文件块的完整性;
所述写入文件进一步包括以下步骤:
客户端从云存储集群中找到安全元数据,从中读出读写控制块的内容,并将写请求与读写控制块发送给认证节点;认证节点首先检查读写控制块的完整性,然后通过访问控制列表判断用户是否有写权限,然后用认证节点加密密钥将TBK和文件签名密钥解密出来,并用文件签名密钥解密根散列链表,将TBK,文件签名密钥和根散列链表返回给客户端;客户端用TBK将需要访问到的文件块的块密钥FBK解密出来,认证散列树及其根散列的完整性,然后对要写入的数据以文件块为粒度计算散列和新的FBK,并用新的FBK对数据进行加密,写入内容数据中,同时更新散列树,重新计算根散列并用文件签名密钥加密,写入安全元数据中;
所述共享文件进一步包括以下步骤:
文件所有者从云存储集群中找到安全元数据,读出读写控制块,将文件共享请求和读写控制块发送给认证节点,认证节点首先检查读写控制块的完整性,并检查该用户是否为文件所有者,将客户端请求中的访问控制项插入到访问控制列表中,并用认证节点签名密钥认证节点签名密钥重新计算读写控制块的消息验证码,最后将更新后的读写控制块返回给客户端,客户端将新的读写控制块写入到安全元数据中。
3.根据权利要求2所述的方法,其特征在于,在所述保障信息安全的计算机系统中,密钥分为3个等级来组织,即文件密钥,安全元数据和认证节点;
密钥等级的第一层是文件密钥,保障信息安全的计算机系统以分块加密的形式来加密文件数据,每一个文件块FBi采用单独的对称密钥FBKi来进行加解密,文件块的加密密钥是由明文的散列值与它的偏移量拼接而成,对称密钥FBKi的计算方法如下:
FBKi=HANH(FBi)||offseti
其中符号“||”表示拼接运算,HANH表示使用SHA-1算法计算文件块的散列值,offseti是块i在文件中的偏移量;
密钥等级的第二层是安全元数据,在安全元数据的读写控制块中包括文件块二次加密密钥TBK,所有的文件块密钥FBKi都用TBK进行了加密,并以M叉树的形式存储在安全元数据中,只有获取了TBK的用户才可以解密得到文件块密钥,进而对内容数据进行解密得到明文内容;读写控制块中还有一个文件签名密钥,只有获取了文件签名密钥的用户才具有写操作权限;
密钥等级的第三层是认证节点,其中存储了两个对称密钥:认证节点加密密钥和认证节点签名密钥,这两个密钥对其他的任何实体均为保密,在安全元数据的读写控制块中,文件块二次加密密钥TBK和文件签名密钥FBK都被认证节点用认证节点加密密钥加密,用户想要获得TBK或文件签名密钥,只能通过与认证节点进行通信来获取,认证节点签名密钥则是用来计算读写控制块的消息验证码,认证节点利用安全元数据中的消息验证码来判断读写控制块的完整性。
4.一种实现权利要求1-3的保障信息安全的处理方法的计算机系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510026843.3A CN104601579A (zh) | 2015-01-20 | 2015-01-20 | 一种保障信息安全的计算机系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510026843.3A CN104601579A (zh) | 2015-01-20 | 2015-01-20 | 一种保障信息安全的计算机系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104601579A true CN104601579A (zh) | 2015-05-06 |
Family
ID=53127085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510026843.3A Pending CN104601579A (zh) | 2015-01-20 | 2015-01-20 | 一种保障信息安全的计算机系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104601579A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104994069A (zh) * | 2015-05-25 | 2015-10-21 | 南京信息工程大学 | 基于数据重复性验证的云存储数据完整性证明方法 |
CN105141593A (zh) * | 2015-08-10 | 2015-12-09 | 刘澄宇 | 一种私有云平台安全计算方法 |
CN106131048A (zh) * | 2016-08-13 | 2016-11-16 | 深圳市樊溪电子有限公司 | 一种用于区块链的非信任远程交易文件安全存储系统 |
CN106330452A (zh) * | 2016-08-13 | 2017-01-11 | 深圳市樊溪电子有限公司 | 一种用于区块链的安全网络附加装置及方法 |
CN107315973A (zh) * | 2016-04-27 | 2017-11-03 | 西部数据科技股份有限公司 | 用于安全元数据修改的一般化验证方案 |
CN107426151A (zh) * | 2017-03-31 | 2017-12-01 | 武汉斗鱼网络科技有限公司 | 一种文件解密方法及装置 |
CN108986893A (zh) * | 2018-08-23 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种基于人工智能的社区养老生活系统 |
CN109120700A (zh) * | 2018-08-23 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种基于云计算的居民区私有车位共享租赁系统 |
CN109274718A (zh) * | 2018-08-23 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种基于云计算的共享单车数据处理系统 |
CN110557367A (zh) * | 2019-07-16 | 2019-12-10 | 如般量子科技有限公司 | 基于证书密码学的抗量子计算保密通信的密钥更新方法和系统 |
CN112243508A (zh) * | 2018-06-08 | 2021-01-19 | 维卡艾欧有限公司 | 用于分布式文件系统的加密 |
CN112364325A (zh) * | 2020-11-16 | 2021-02-12 | 深圳安捷丽新技术有限公司 | 一种基于用户指纹识别的多安全等级存储访问方法和装置 |
CN112685753A (zh) * | 2020-12-25 | 2021-04-20 | 上海焜耀网络科技有限公司 | 一种用于加密数据存储的方法及设备 |
CN113468607A (zh) * | 2020-03-31 | 2021-10-01 | 国电南瑞科技股份有限公司 | 一种加密防篡改文件的生成和使用方法 |
CN113486399A (zh) * | 2021-07-14 | 2021-10-08 | 上海瓶钵信息科技有限公司 | 基于risc-v架构的数据存储方法及系统 |
CN114268476A (zh) * | 2021-12-13 | 2022-04-01 | 广东财经大学 | 一种基于节点加密的数据安全保护方法及系统 |
CN114342316A (zh) * | 2019-09-04 | 2022-04-12 | 费森尤斯医疗保健控股公司 | 通过使用元数据签名对医疗装置计算系统进行的认证 |
CN114826696A (zh) * | 2022-04-08 | 2022-07-29 | 中国电子科技集团公司第三十研究所 | 文件内容分级共享方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7134022B2 (en) * | 2002-07-16 | 2006-11-07 | Flyntz Terence T | Multi-level and multi-category data labeling system |
CN102014133A (zh) * | 2010-11-26 | 2011-04-13 | 清华大学 | 在云存储环境下一种安全存储系统的实现方法 |
CN102546764A (zh) * | 2011-12-20 | 2012-07-04 | 华中科技大学 | 一种云存储系统的安全访问方法 |
-
2015
- 2015-01-20 CN CN201510026843.3A patent/CN104601579A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7134022B2 (en) * | 2002-07-16 | 2006-11-07 | Flyntz Terence T | Multi-level and multi-category data labeling system |
CN102014133A (zh) * | 2010-11-26 | 2011-04-13 | 清华大学 | 在云存储环境下一种安全存储系统的实现方法 |
CN102546764A (zh) * | 2011-12-20 | 2012-07-04 | 华中科技大学 | 一种云存储系统的安全访问方法 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104994069B (zh) * | 2015-05-25 | 2019-01-01 | 南京信息工程大学 | 基于数据重复性验证的云存储数据完整性证明方法 |
CN104994069A (zh) * | 2015-05-25 | 2015-10-21 | 南京信息工程大学 | 基于数据重复性验证的云存储数据完整性证明方法 |
CN105141593A (zh) * | 2015-08-10 | 2015-12-09 | 刘澄宇 | 一种私有云平台安全计算方法 |
CN107315973B (zh) * | 2016-04-27 | 2021-09-10 | 西部数据技术公司 | 用于安全元数据修改的一般化验证方案 |
CN107315973A (zh) * | 2016-04-27 | 2017-11-03 | 西部数据科技股份有限公司 | 用于安全元数据修改的一般化验证方案 |
CN106131048B (zh) * | 2016-08-13 | 2020-05-19 | 广州商品清算中心股份有限公司 | 一种用于区块链的非信任远程交易文件安全存储系统 |
CN106330452A (zh) * | 2016-08-13 | 2017-01-11 | 深圳市樊溪电子有限公司 | 一种用于区块链的安全网络附加装置及方法 |
CN106131048A (zh) * | 2016-08-13 | 2016-11-16 | 深圳市樊溪电子有限公司 | 一种用于区块链的非信任远程交易文件安全存储系统 |
WO2018032379A1 (zh) * | 2016-08-13 | 2018-02-22 | 深圳市樊溪电子有限公司 | 一种用于区块链的非信任远程交易文件安全存储系统 |
CN107426151A (zh) * | 2017-03-31 | 2017-12-01 | 武汉斗鱼网络科技有限公司 | 一种文件解密方法及装置 |
CN107426151B (zh) * | 2017-03-31 | 2020-07-31 | 武汉斗鱼网络科技有限公司 | 一种文件解密方法及装置 |
CN112243508A (zh) * | 2018-06-08 | 2021-01-19 | 维卡艾欧有限公司 | 用于分布式文件系统的加密 |
CN109274718A (zh) * | 2018-08-23 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种基于云计算的共享单车数据处理系统 |
CN109120700A (zh) * | 2018-08-23 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种基于云计算的居民区私有车位共享租赁系统 |
CN108986893A (zh) * | 2018-08-23 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种基于人工智能的社区养老生活系统 |
CN110557367A (zh) * | 2019-07-16 | 2019-12-10 | 如般量子科技有限公司 | 基于证书密码学的抗量子计算保密通信的密钥更新方法和系统 |
CN114342316A (zh) * | 2019-09-04 | 2022-04-12 | 费森尤斯医疗保健控股公司 | 通过使用元数据签名对医疗装置计算系统进行的认证 |
CN113468607A (zh) * | 2020-03-31 | 2021-10-01 | 国电南瑞科技股份有限公司 | 一种加密防篡改文件的生成和使用方法 |
CN112364325A (zh) * | 2020-11-16 | 2021-02-12 | 深圳安捷丽新技术有限公司 | 一种基于用户指纹识别的多安全等级存储访问方法和装置 |
CN112685753A (zh) * | 2020-12-25 | 2021-04-20 | 上海焜耀网络科技有限公司 | 一种用于加密数据存储的方法及设备 |
CN112685753B (zh) * | 2020-12-25 | 2023-11-28 | 上海焜耀网络科技有限公司 | 一种用于加密数据存储的方法及设备 |
CN113486399A (zh) * | 2021-07-14 | 2021-10-08 | 上海瓶钵信息科技有限公司 | 基于risc-v架构的数据存储方法及系统 |
CN114268476A (zh) * | 2021-12-13 | 2022-04-01 | 广东财经大学 | 一种基于节点加密的数据安全保护方法及系统 |
CN114826696A (zh) * | 2022-04-08 | 2022-07-29 | 中国电子科技集团公司第三十研究所 | 文件内容分级共享方法、装置、设备及介质 |
CN114826696B (zh) * | 2022-04-08 | 2023-05-09 | 中国电子科技集团公司第三十研究所 | 文件内容分级共享方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104601579A (zh) | 一种保障信息安全的计算机系统及其方法 | |
CN104580487A (zh) | 一种海量数据存储系统及处理方法 | |
US11341261B2 (en) | Integration of a block chain, managing group authority and access in an enterprise environment | |
US8625802B2 (en) | Methods, devices, and media for secure key management in a non-secured, distributed, virtualized environment with applications to cloud-computing security and management | |
US8856530B2 (en) | Data storage incorporating cryptographically enhanced data protection | |
US9805210B2 (en) | Encryption-based data access management | |
CN105141593A (zh) | 一种私有云平台安全计算方法 | |
US9380037B2 (en) | Methods and devices for trusted protocols for a non-secured, distributed environment with applications to virtualization and cloud-computing security and management | |
US9026805B2 (en) | Key management using trusted platform modules | |
US8799651B2 (en) | Method and system for encrypted file access | |
WO2018032373A1 (zh) | 一种用于区块链的安全网络附加装置及方法 | |
US7751570B2 (en) | Method and apparatus for managing cryptographic keys | |
US20100095118A1 (en) | Cryptographic key management system facilitating secure access of data portions to corresponding groups of users | |
US20100235649A1 (en) | Portable secure data files | |
US9672333B2 (en) | Trusted storage | |
US20140068279A1 (en) | Systems, methods, and mediums for secure information access | |
KR20140093716A (ko) | 컴퓨팅 장치를 보안화하는 방법 | |
CN106027503A (zh) | 一种基于tpm的云存储数据加密方法 | |
US8307217B2 (en) | Trusted storage | |
TW200821837A (en) | System and method for controlling information supplied from memory device | |
Shu et al. | Shield: A stackable secure storage system for file sharing in public storage | |
CN113360886B (zh) | 一种加密数据共享的方法、装置、设备及可读介质 | |
Suthar et al. | EncryScation: A novel framework for cloud iaas, daas security using encryption and obfuscation techniques | |
US8738531B1 (en) | Cryptographic distributed storage system and method | |
KR101327193B1 (ko) | 사용자 접근추적이 가능한 이동식 저장매체 보안 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150506 |