安全存储系统和方法

文档序号:6467702阅读:146来源:国知局
专利名称:安全存储系统和方法
技术领域
以下一般地涉及信息安全。
背景技术
随着信息技术的发展,数据存储和管理服务变得普遍起来。在一些情形中,需要将 大量的电子文件存储在服务器上。但是,这样存储的文件经常没有得到有效和安全地管理。
举例来说,一些企业在工作流程中生成大量的文件。这些文件可能属于不同的人 员或者应当由特定人员访问。在传统的存储服务中,文件被简单地存储在公共的存储区域 中。但是,这经常带来安全问题。例如,文件可能暴露给不适当的人,或者文件被有意或无 意地篡改。即,使用传统存储方案,文件缺乏很好的管理,并且安全性难以保证。
另外,在工作流程中,文件可能经常被更改。例如,在制造业、建筑业、设计业等行 业,图纸或文档经常被更新。在传统的存储管理中,旧版本的文件可能会被更新的文件覆 盖,从而无法保留完整的修订历史。

发明内容
根据一个实施例,提供了一种安全存储系统和方法。存储系统包括加密单元、一个 或多个存储空间、以及存储空间管理单元。加密单元对电子文件执行混沌加密。文件的密 文可以存储在根据账户分配的存储空间中。存储空间管理单元基于与账户对应的预定的授 权,控制对存储空间的访问。 前面所述的为本申请的概述,因此必然有简化、概括和细节省略的情况;本领域的 技术人员应该认识到,概述部分仅是对本申请的说明,而不应看作是对本申请的任何限定。 本说明书中描述的装置和/或方法和/或其他主题的其他方面、特征和优点将会由于本说 明书的阐述而变得清晰。概述部分是用来以一种简化的方式导入多个将在以下具体实施方 式部分进一步描述的概念。本概述部分既非用于确定所要求保护主题的关键特征或必要特 征,也非用来作为确定所要求保护主题的范围的辅助手段。


通过下面说明书和所附的权利要求书并与附图结合,就会更加充分地看清楚本申
请的上述和其他特征。应当理解,这些附图仅是对本申请若干实施方式的描述,不应认为是
对本申请范围的限定,通过附图,本申请内容将会得到更加明确和详细地说明。
图1示意性地示出了在其中可以应用一个实施例的方案的环境; 图2示意性地示出了根据一个实施例的存储服务的流程; 图3示意性地示出了根据一个实施例的服务器的配置示例; 图4示意性地示出了根据一个实施例的加密单元的配置示例; 图5示意性地示出了根据一个实施例的加密单元所执行的加密处理; 图6示出了根据一个实施例的明文块中的移位操作;
图7示意性地示出了根据一个实施例的存储空间管理单元的配置示例; 图8示意性地示出了根据一个实施例的用于将文件存储在服务器上的过程的示
例; 图9示意性地示出了根据一个实施例的用于访问文件的过程的示例; 图10示意性地示出了根据一个实施例的解密单元的配置示例; 图11示意性地示出了根据一个实施例的存储空间管理单元的配置示例;以及 图12示意性地示出了根据一个实施例的存储空间管理单元的配置示例。
具体实施例方式
在下面的具体实施方式
部分中,结合作为说明书一部分的附图进行说明。在附图 中,相同的标记通常表示相同部件,除非说明书中另有说明。
具体实施方式
、附图和权利要 求书中描述的用来举例说明的实施方式不应认为是对本申请的限定。在不偏离本申请表述 的主题的精神或范围的情况下,可以采用本申请的其他实施方式,并且可以对本申请做出 其他变化。应该很容易理解,可以对本说明书中一般性描述的、附图中图解说明的本申请的
各个方面进行各种不同构成的配置、替换、组合,设计,而所有这些改变都显然在预料之中, 并构成本申请的一部分。 本申请还涉及与安全信息存储相关的方法、装置、计算机程序和系统。
图1示意性地示出了其中可以应用一个实施例的环境。 如图1所示,多个终端经由网络可与服务器通信。终端可以是能够进行信息通信 的任何设备,例如,个人计算机(PC)、笔记本电脑、个人数字助理(PDA)、智能移动电话或其 他数据处理设备。服务器一般实现为能够存储和维护数据、并使终端可访问数据的设备或 一组设备。虽然图1中总地示出了单个设备,但是服务器可以是靠近放置或远程放置的多 个分别的设备。网络可以是任何种类的通信网络或计算机网络,包括但不限于无线通信网 络、有线通信网络、广域网(WAN)、局域网(LAN)、因特网、混合网络等等。虽然没有示出,但 是可以知道,在一些应用中,终端中的任何一个可以经由电缆或直接无线连接而直接连接 到服务器。在这种情况中,这里以及后文中所描述的网络是服务器和终端之间的连接介质 或载波。 根据一个实施例,服务器创建并管理一个或多个存储空间。存储空间可以在服务 器上预先被创建,或者在基于请求而创建账户时被创建。存储空间可以是用于存储文件的 存储器空间。在一个实施例中,存储空间可被表示了相应账户的所有权的一个或多个终端 访问。 图2示意性地示出了根据一个实施例的存储系统的一般流程。如图2所示,终端 被使用来将一个或多个文件存储到服务器上的存储空间中。在被发送和存储在存储空间之 前,文件被加密。解密一般由服务器执行。任何加密方案可以被使用。但是,鉴于混沌理论 的特点,在下面描述的实施例中采用了混沌加密。举例来说,已知混沌是复杂非线性动态作 用。混沌序列具有类随机性、对初始参数的复杂结构敏感性、扩展的谱等特性。其分布并不 满足统计概率理论,并且难以分析、重构或预测。这些很吸引人的特征使得它可以用于流式 密码系统。 文件被加密后,文件的密文被存储在相应的分配给一个账户的存储空间中。S卩,存储在每个存储空间中的文件是密文形式的。 当服务器接收到访问一个或多个文件的请求时,服务器验证该请求;并基于对请 求的授权,控制对存储空间的访问。例如,通过验证,服务器识别与该请求相关的账户,并允 许浏览或访问被分配给该账户的存储空间中的文件,或者该账户被授权访问的( 一个或多 个)存储空间中的文件。 当服务器接收到读取或取出存储空间中所存储的文件的请求时,以密文形式存储 的文件被解密,并使得可用于访问。如将要描述的,解密可以在服务器处、在终端处或者在 第三可信方处执行。 下面将参考图3 图6描述服务器的配置示例和所执行的过程。 图3示意性地示出了根据一个实施例的服务器100的配置示例。 如图3所示,服务器100主要包括被配置用于存储加密文件的一个或多个存储空
间110-1, 110-2,…,110-n、用于加密要被存储的文件的加密单元120、以及用于基于预定
授权来控制对存储空间的访问的存储空间管理单元130 。 虽然未示出,但是服务器100还可以包括任何其他单元/部件,例如,用于与网络 或终端连接的通信单元、用于向服务器的操作者显示信息的显示单元、用于接收数据输入 的输入单元、用于控制单元操作的控制器、任何必要的存储装置等等。这些部件是本领域中 所知的,因此并不对它们进行描述,并且本领域技术人员容易认识到可以根据任何具体的 应用而将它们添加到服务器。 图4示意性地示出了根据示意实施例的加密单元120的配置示例。 如图4所示,加密单元120包括被配置用于设置混沌映射的映射设置模块121、被
配置用于设置混沌映射的初始参数的初始参数设置模块122、被配置用于设置生成密文时
所用的加密算法的加密算法设置模块123、被配置用于根据混沌映射生成密钥序列的密钥
生成模块124、以及被配置用于利用密钥序列和加密算法来生成文件的密文的密文生成模
块125。 图5示意性地示出了加密单元120所执行的加密处理。简单地说,在步骤S501,混 沌映射设置模块121设置混沌映射,并且在步骤S502,初始参数设置模块122设置用于混沌 映射迭代的初始参数。在步骤S503,密钥生成模块125利用由初始参数设置模块122设置 的参数作为对混沌映射的初始输入,通过混沌映射的迭代,生成密钥序列。在步骤S504,加 密算法设置模块123设置要用于加密文件的具体的(一个或多个)加密算法。然后,在步 骤S505,密文生成模块125使用有加密算法设置模块123设置的加密算法,利用所生成的密 钥序列,对文件的块进行加密。 应当注意,上述步骤的顺序并不限于图中所示出的顺序。例如,设置加密算法的步 骤可以在设置混沌映射的步骤之前、之后或者同时执行。另外,可以对该流程添加任何其他 的步骤,以进行改进或修改。 下面提出混沌加密的一个具体操作示例以提供对实施例更好的理解。 假设文件的明文被表示为M = M。, M" M2,…,Mn,通过混沌映射的迭代生成了密钥
序列B = b。, bp…,b,并且模2加运算(十)被选择作为加密算法,则密文生成模块125计
算C,. = W,.十Z), (i = 0,1,2,, n),以获得密文C = c。, Cl, c2, ...,cn。 下面以Logistic映射为例,描述根据一个实施例的加密过程。
首先,加密单元120的映射设置模块121设置如下四个Logistic映射 <formula>formula see original document page 7</formula> 其中,xni表示第i个映射的n次迭代后的值。在一个示例中,^和P i可以是双 精度值。 初始参数设置模块122设置映射的初始输入。例如,输出参数设置模块122设置 随机数y i e (3.57,4)和;^ G(O, l),i = 1,2,3,4。 利用这些初始值,密钥生成模块124执行式(1)的例如100次迭代,以获得四个值 x咖1、 x1TO2、 Xl。。3、 Xl。。4。该操作消除了初始值的痕迹。 然后,密钥生成模块124进一步对每个映射执行20次迭代。第i个映射的j次迭 代后获得的值被表示为x/,x/具有二进制形式《=06 「《一,其中bjni是x/的第n比 特的二进制值。 在20次迭代中的每次迭代之后,密钥生成模块124从Xj1、 x/、 x/、 x/每个中提取 两个比特,以获得一个8比特的比特序列。例如,从x/(i = 1,2,3,4)中提取第2和第3比 特,得到8比特的序列、2、2、2、2、3、3、3、34。 在20次迭代和提取之后,得到了如下的128比特的密钥序列A和32比特的另一 序列DA = HuHuH2,2H2,3H3,2H3,3…H化A6,3 D = H17,2H17,3H18,2H18,3H19,2H19,3H20,2H20,3 其中,/乙.,2 =^2《2~32《2,/^.,3 =6》)3~3《3。序列八用于最后的加密步骤,序列
B用于生成下面将描述的中间密文。 在本示例中,在被加密之前,明文的块经历移位操作,以便提高加密强度。具体地, 明文被划分成一系列的块P。, Pp Pf,每个块具有128比特的长度。 参考图6,任一块Pk都被分为两个子块Pkl和Pk2,每个子块具有64比特的长度。 然后,子块Pkl和Pk2分别经历Si比特和S2比特的循环左移,其中Si = (H17,2H17,3)mod 64, S2= (H18,2H18,3)mod 64。子块Pkl和Pk2在被移位之后,被组合以形成块Pk'。然后,块Pk' 也经历S比特的循环左移,以形成中间密文Ck',其中S = (H19,2H19,3+H2。,2H2。,3)mod 128。
上述对明文的块进行划分和移位的处理例如可以由密文生成模块125执行。
在得到中间密文Ck'之后,密文生成模块125对密钥序列A和中间密文Ck'执行 如下模2加(异或)运算,以获得块Pk的密文Ck
<formula>formula see original document page 7</formula>式(2) 为了处理下一块P^,密钥生成模块124进行如下计算 <formula>formula see original document page 7</formula>
<formula>formula see original document page 7</formula>
<formula>formula see original document page 7</formula><formula>formula see original document page 8</formula> 然后,密钥生成模块124进一步对式(1)中的第一映射执行Ej欠迭代,对第二映 射执行E2次迭代,对第三映射执行E3次迭代,对第四映射执行E4次迭代。这之后,对块Pk+1 重复上述通过20次迭代生成序列A和D、对明文块进行移位以获得中间密文、以及利用序列 A和中间密文生成块的最终密文的处理,以获得密文C^。 上述处理被执行,直到文件的每个块都被处理,并且获得了文件的最终的密文。 关于混沌映射、混沌映射的初始参数和控制参数、以及所选择的加密算法的信息
被加密单元保存,以用于以后的解密。或者,可以直接存储所生成的密钥序列。 上述仅仅是一个实施例中所使用的混沌加密的一个示例。容易认识到,本申请并
不限于上述任何具体处理,而是可以作出任何简化、替代、修改或改进。 例如,在上面的示例中使用了异或运算作为加密算法来生成密文。但是,可以采用 使用密钥生成密文的任何其他加密算法,例如,加法操作、减法操作、取反操作、移位操作、
置换操作等。 在上述实施例中,对各个块使用同一种加密算法。但是,在另 一个实施例中,可以
对不同的块使用不同的加密算法。例如,加密算法设置模块123可以选择多于一个的加密
算法,并且密文生成模块125将这些加密算法中的每个应用于块的相应一个子集。通过在
加密文件的多个块时使用变化的加密算法,可以防止对密文的"频率统计"攻击。 应当注意,低维和高维混沌系统都可应用。即,映射设置模块121可以设置一维
混沌映射或者多维混沌映射。利用高维混沌系统,可以得到密钥序列的更好的特性,例如,
长周期、高非线性复杂度和好的统计特性(包括平衡、自相关、互相关和传播分布(travel
distribution))。由于高维混沌序列在其随机性方面具有改进的属性,因此利用高维混沌
系统加密的文件难以被破解,从而保证了安全性。 例如,如下的三维Lorenz等式可以被用来建立混沌系统 dxl/dt = _e xl+x2x3 dx2/dt = - o (x2-x3) dx3/dt = _xlx2+P x2-x3 其中P 、 o禾P P是系统参数,具有典型值P = 8/3, o = 10和P = 28。保持 o和P不变,当P > 24. 74时,Lorenz系统进入混沌状态。 在上述示例中,从随机选择的初始输入开始混沌映射的迭代,而生成密钥序列。在 另一实施例中,密钥序列的生成可以与文件的明文相关联。例如,初始输出可以包括文件明 文的信息。 另外,在一个实施例中,可以使用伪随机噪声序列(PN序列)来改善混沌序列的特 性。例如,可以使用反馈移位寄存器生成最长线性反馈移位寄存器序列来作为PN序列,并 且PN序列作为随机扰动被添加到混沌序列上。 下面将参考图7描述存储空间管理单元130的一个配置示例。 如图7所示,存储空间管理单元130包括被配置用于分配存储空间并规定访问权
限的授权模块131、被配置用于基于所接收的请求控制对存储空间进行访问的访问控制模
块132、以及被配置用于验证用于访问服务器上的文件的请求的验证模块133。 在初始化阶段,授权模块131建立根据预定的一组参数分配的一个或多个存储空
8间。例如,对于经认证的账户,授权模块131在服务器上对该账户分配一个存储空间,并授 权该账户访问该存储空间。存储空间是用于存储电子文件的存储空间,其可以是物理存储 区域或者虚拟存储空间(例如,服务器上创建的文件夹)。可以在服务器上预先设置多个存 储空间,并且授权模块131相应地分配它们。或者,可以在服务器接收到用于创建新帐户的 请求时由授权模块131创建存储空间。 应当注意,在某些应用中,在初始授权之前可以需要预验证。即,如果生成了对于
存储服务的新的请求,验证单元133可以首先认证请求的身份。被验证单元133成功认证
的请求可以被分配帐户和相应的存储空间,并且被授权模块131授予访问权。 存储空间与相应帐户的关联例如被注册在由授权模块131维护的授权数据库中。
在存储空间被使能并可以被相关联的帐户访问的应用中,存储空间和帐户之间的关联表示
出了帐户具有访问权。 在另一种应用中,可能会授权对并非分配该帐户的其他(一个或多个)存储空间 的访问。在这种情况中,帐户的具体权限也被注册在由授权模块维护的授权数据库中。访 问权限的种类可以根据具体的应用来设定。例如,访问权限包括但不限于登入、登出、浏览、 编辑、添加新文件、创建文件夹、删除文件、改变文件属性等等。 图8示意性地示出了用于在服务器上存储文件的过程的示例。 一般,当产生了用 于在服务器上存储文件的请求时,在步骤S801,利用验证模块133执行验证。例如,验证模 块133要求帐户名和口令。如果所接收帐户名被预先记录在了由验证模块维护的验证数据 库中,并且所接受的口令与验证数据库中和该帐户名相关联地注册的口令相匹配,则准许 访问该帐户。否则,过程进行到步骤S804进行失败处理,其中,例如请求被拒绝,或者要求 重试验证。验证数据库可以预先由验证模块133建立,或者在验证模块131执行验证过程 的时候建立。验证数据库可以被存储在验证模块133中,或者与授权数据库分别或组合地 存储在授权模块131中,或者存储在其他存储装置中。 在成功验证之后,文件被允许传送到服务器。在步骤S802,文件在被存储之前,被 加密单元120利用混沌加密进行加密。基于通过验证过程获得的帐户信息,授权模块131 识别被分配给该帐户的存储空间,并且在访问控制模块132的控制下,在步骤S803,文件的 密文被存储在所识别出的存储空间中。 图9示意性地示出用于访问存储空间中所存储的文件的过程的示例。通常,当用 于访问服务器上的文件的请求被生成时,在步骤S901利用验证模块133执行验证。当验证 失败时,过程进行到步骤S904以进行失败处理。这些处理类似于上述参考图8描述的处理。
另一方面,在验证成功之后,访问控制模块132检查帐户是否被允许访问所请求 的文件。具体地,基于通过验证获得的帐户信息,授权模块131查找授权数据库以寻找与该 帐户相关联的访问权限。如果该帐户具有相应的访问权限,则访问控制模块132提供对相 应存储空间的访问,例如允许终端执行相应的访问操作。如果请求不具有适当的访问权限, 则访问控制模块132将拒绝该访问请求,并且过程进行到步骤S904以进行失败处理。
在访问存储空间时终端和服务器之间的通信可以基于TCP/IP、远程过程调用 (Remote Procedure Call, RPC)禾口分布组件技术(DistributedComponent Technology)。 例如,用于提供远程过程调用服务的在服务器上的存储空间服务线程被创建,并且选择适 合的协议(以命名管道作为缺省协议)来接收远程过程调用。然后,服务器监视客户端远程过程调用,如果客户端RPC被接收到,则客户端RPC的授权可以被检查,以判断该客户端 是否应当被允许访问存储空间中的文件。 由于文件是以密文形式被存储在存储空间中的,所以当文件被访问时,文件应当 被解密。解密单元被提供用于对从存储空间取得的文件进行解密。图10示意性地示出了 解密单元的一个配置示例。 如图10所示,解密单元1000包括被配置用于获得解密所需参数的参数获取模块 1001、被配置用于获得用于解密的密钥序列的密钥生成模块1002、以及被配置用于对密文 进行解密以得到文件的明文的明文生成模块1003。 参数获取模块1001获取用于解密的必要参数。在一个实施例中,参数获取模块 1001与服务器的加密单元通信,并接收关于混沌映射、映射迭代的初始值和控制参数、以及 加密算法的信息。利用关于混沌映射、映射迭代的初始值和控制参数的信息,密钥生成模块 1002通过与加密时相同的混沌映射的迭代,生成密钥序列。 或者,密钥序列可以由参数获取模块1001直接从服务器的加密单元获得。在这种 情况中,密钥生成模块1002不是必要的。 然后,明文生成模块1003利用密钥序列,通过加密算法的逆运算,根据从存储空 间获取的密文,生成文件的明文。 解密单元可以被提供在终端中。在这种情况中,服务器将文件的密文传输给终端, 密文在终端处被解密。 在另一个实施例中,加密单元被提供作为服务器的一个单元。在这种情况中,密文 在服务器处被解密,然后文件的明文被使得可用于访问或者被传输给终端。
在上述示例中,文件以密文的形式被存储在存储空间中。但是,在另一实施例中, 只是一些文件被加密。即, 一些文件在被加密之后被存储,而另一些文件不被加密就被存 储。在这种情况中,可以对文件添加加密标志。例如,在文件被加密后,加密单元120向文件 密文的末尾或者头部添加特殊标志。当文件被取出后,解密单元首先检查所取出的文件中 是否存在该标志。如果标志存在,则对所取出的文件执行解密。否则,判断出文件没有被加 密,并且解密处理被跳过。利用该标志,可以防止必要的解密以及因而对文件造成的破坏。
在另一实施例中,加密单元还将密钥序列添加到文件密文的特定位置。例如,密钥 序列被添加到加密标志之后,或者插入到密文的特定位置。当对文件解密时,解密单元的参 数获取模块提取嵌入在密文中的密钥序列,并将其提供给明文生成模块。
在另一实施例中,系统请求输入密钥序列,并且当输入的密钥序列与嵌入在密文 中的密钥序列相符时,解密单元才执行解密。 上面提供了使用存储空间的示例。利用该存储空间,对文件的访问被有效地控制。 相应地,存储在存储空间中的文件对于经授权和验证的帐户是可用的。 在另一实施例中,存储空间的文件夹结构可以被指定。图11示意性地示出了根据 该实施例的存储空间管理单元的配置示例。 如图11所示,除了上述授权模块131、访问控制模块132和验证模块133之外,存 储空间管理单元1100还包括被配置用于设置存储空间中的文件夹结构的存储空间设置模 块1101。 存储空间的文件夹结构可以任意设置,或者根据指定的规则来设置。例如,文件夹结构根据工作流程的不同阶段来设置。例如,对于设计摩天大楼的项目,存储空间可以具有 名为"摩天大楼"的根文件夹,并且在该根文件夹中可以分别创建名为"初步设计"、"概要设 计"、"施工图设计"的三个子文件夹。在根文件夹和任何子文件夹中可以创建进一步的子文 件夹。 在该实施例中,存储空间设置模块1101感觉从存储空间所分配帐户接收到指令, 设置存储空间的文件夹结构。这提供了存储空间的定制配置。 在另一实施例中,提供了版本管理。图12示意性地示出了根据该实施例的存储空 间管理单元的示例配置。 如图12所示,除了上述授权模块131、访问控制模块132和验证模块133之外,存 储空间管理单元1200还包括被配置用于管理文件的不同版本的版本管理模块1201。版本 管理模块对存储空间中所存储的每个文件分配了版本号,并且文件以结合了该版本号的文 件名被存储。例如,版本号作为后缀被添加到文件名上。当文件要被改变或更新时,新的版 本号被生成,并且被结合到更新后的文件的文件名中。从而,老版本的文件不会被新版本的 文件覆盖。这样,文件版本的完整历史被保持,并且可以获取老版本的文件。
例如,当文件abc. psa最初被存储时,版本管理模块1201自动生成初始版本号,例 如V001。然后,文件利用文件名abcV001.psd被存储在存储空间中。之后,如果文件被编辑 或者当文件以文件名abc. psd或abcVOOl. psd被存储时,版本管理模块1201将生成新的版 本号,例如V002,并且编辑后的文件或者新文件利用文件名abcV002. psd被存储,而老的文 件abcVOOl. psd被保持在存储空间中不变。 新版本可以在存储空间中的文件被更新或文件被访问时生成。在文件被访问时生 成新版本的情况中,从存储空间中取出的文件将具有含有新版本号的文件名。在文件被本 地编辑之后,文件可以被存储到存储空间中而不用再改变文件名。 —般,版本号是顺序生成并且按照时间顺序递增的。例如,版本号可以说顺序递增 的自然数,或者表示日期和时间的串。任何其他类型的字符、数字、标志或标记都可以用作 版本号,只要不同的版本彼此相区分。 版本号可以被插入到文件名的任何位置,只要原文件名和版本号可以被识别出。
也可以采用存储不同版本文件的其他方法。例如,代替使用其中结合的版本号的 文件名,在一个实施例中,版本管理模块1201创建不同的文件夹来保持不同版本的文件。 例如,在用于存储文件的文件夹中,子文件夹V001被创建用于存储版本为V001的文件,子 文件夹V002被创建用于存储版本为V002的文件,以此类推。在这种情况中,文件名可以保 持不变。 在另一个实施例中,版本管理模块1201将一个文件所有版本关联起来,并且在被 请求时,所有版本的文件可以一次被访问。这有助于查看文件的历史。文件的版本信息可 以记录在有版本管理模块1201维护的数据库中。 已经参考附图描述了一些具体实施例。但是,本发明并不受到上述实施例中的任 何具体配置和处理的限制。在本发明的精神的范围内,本领域的技术人员能够构想上述配 置、算法、操作和处理的各种替换、改变或修改。 上述体现各个方面的示例可以根据具体的应用而组合。例如,存储空间管理单元 可以包括图11中所示的存储空间设置模块和图12所示的版本管理模块的功能。
图中示出了单元和模块。但是,每个设备中所包括的部件并不限于这些单元和模 块,具体的配置可以被修改或改变。例如,可以根据具体的应用添加其他已知的部件。另外, 虽然所描述的单元和模块在图中被示为分别的块,但是它们中的任何一个都可以与其他单 元或模块相组合作为一个部件,或者被分为多个部件。 应当注意,本说明书中使用的术语"文件"应当被理解为是广义的概念。其可以包 括任何种类的文档、文件、数据或信息,包括但不限于例如文本文件、视频/音频文件、图像 /图表等等。并且,本说明书中使用的术语"终端"应当被理解为是广义的概念。其可以包 括存储服务中所涉及的任何特定终端,或一组机器,或是作为软件应用功能的虚拟终端。
本发明的元素可以实现为硬件、软件、固件或者它们的组合,并且可以用在它们的 系统、子系统、部件或者子部件中。当以软件方式实现时,本发明的元素是被用于执行所需 任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携 带的数据信号在传输介质或者通信链路上传送。"机器可读介质"可以包括能够存储或传输 信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、R0M、闪存、可擦 除R0M(ER0M)、软盘、CD-R0M、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由 诸如因特网、内联网等的计算机网络被下载。 本发明可以以其他的具体形式实现,而不脱离其精神和本质特征。例如,特定实施 例中所描述的算法可以被修改,只要特性不脱离本发明的基本精神。因此,当前的实施例在 所有方面都被看作是示例性的而非限定性的,本发明的范围由所附权利要求而非上述描述 定义,并且,落入权利要求的含义和等同物的范围内的全部改变从而都被包括在本发明的 范围之中。 在系统方面的硬件和软件执行之间很少有区别;采用硬件或者软件通常(但并非 总是,在一些情况下,在硬件和软件之间进行选择会很重要)是反映成本/效率权衡的设计 选择。有许多本说明书中描述的方法和/或系统和/或其他技术借此得以实现的工具(例 如硬件、软件、和/或固件),并且,方法和/或系统和/或其他技术所处环境不同,优选的工 具也不同。例如,如果实施者判定速度和精确性至关重要,该实施者会选择以硬件和/或固 件的工具为主;如果适应性至关重要,实施者可能选择以软件执行为主;实施者也可选择 硬件、软件和/或固件的某些结合。 前述已通过框图、流程图和/或实施例进行了详细描述,阐明了本申请装置和/或 方法的不同实施方式。当这些框图、流程图和/或实施例包含一个或多个功能和/或操作 时,本领域的技术人员会明白,这些框图、流程图和/或实施例中的各功能和/或操作可以 通过各种硬件、软件、固件或实质上它们的任意结合而单独地和/或共同地实施。在一个 实施方式中,本说明书中描述的主题的几个部分可通过专用集成电路(ASIC)、现场可编程 门阵列(FPGA)、数字信号处理器(DSP)或其他集成形式实现。然而,本领域的技术人员会 认识到,本说明书中描述的实施方式的一些方面能够全部或部分地在集成电路中以在一个 或多个计算机上运行的一个或多个计算机程序的形式(例如,以在一个或多个计算机系统 上运行的一个或多个计算机程序的形式)、以在一个或多个处理器上运行的一个或多个程 序的形式(例如,以在一个或多个微处理器上运行的一个或多个程序的形式)、以固件的形 式、或以实质上它们的任意组合的形式等同地实施,并且,根据本说明书中公开的内容设计 用于本申请的电路和/或写用于本申请的软件和/或固件的代码完全是在本领域技术人员的能力范围之内。另外,本领域的技术人员会认识到,无论用来实际进行分发的负载信号 的媒介的类型是什么,本说明书中描述的主题的机理能够以各种形式的程序产品的形式分 发,并且,本说明书中描述的主题的示例性实施方式均适用。例如,负载信号的媒介包括但 不限于下列可记录型媒介,如软盘、硬盘、光盘(CD)、数字视频光盘(DVD)、数字磁带、计算 机存储器等;传输型媒介,如数字和/或模拟通讯媒介(例如光缆、波导、有线通讯链路、无 线通讯链路等)。 本领域的技术人员会认识到,以本说明书中说明的方式描述装置和/或方法、然 后进行工程实践,将所述装置和/或方法整合到数据处理系统中在本领域里是很常见的。 也就是说,本说明书中描述的装置和/或方法中的至少一部分可通过合理量的实验整合到 数据处理系统中。本领域技术人员会认识到,典型的数据处理系统通常包括下列中的一个 或多个系统单元壳体、视频显示器件、如易失性和非易失性存储器的存储器、如微处理器 和数字信号处理器的处理器、如操作系统、驱动器、图形用户界面的计算实体及应用程序、 一个或多个如触摸板或触摸屏的交互装置、和/或包括反馈回路和控制马达在内的控制系 统(如检测位置和/或速度的反馈;用于移动和/或调整部件和/或数量的控制马达)。典 型的数据处理系统可以采用任何合适的市场上有售的部件(如数据计算/通讯和/或网络 计算/通讯系统中通常会有的那些部件)来构建。 本说明书中描述的主题内容中有时会举例说明这样的不同部件,这些部件被包含 于或连接于不同的其他部件。应当理解,所描述的这些结构仅仅是示例性的,实际上,也可 以用许多其他结构来实现同一功能。从概念上来讲,用于实现同一功能的任何配置的部件 都被有效地"连接"以获得所需功能。因此,本说明书中被结合在一起以实现特定功能的任 何两个部件可视为相互"连接"以获得所需功能,而不论其结构或媒介部件如何。同样地,如 此连接的任何二个部件也可视为相互"可操作地连接",亦即"可操作地耦合"以实现所需功 能,能够被如此连接的任何两个部件也可视为相互"能够可操作地耦合"以实现所需功能。 能够可操作地耦合的具体例子包括但不限于物理上可耦合的和/或物理上互相作用的部 件和/或可无线互相作用的和/或无线互相作用的部件和/或逻辑上互相作用和/或逻辑 上可互相作用的部件。 对于本说明书中所用的几乎所有的复数和/或单数术语,本领域的技术人员可以 将复数解释为单数和/或将单数解释为复数,只要这样做从上下文和/或应用上看是合适 的即可。为了清楚起见,在本说明书中将各种单数/复数的变换明确地表述出来。
本领域技术人员应该明白,一般来说,本申请中,尤其是所附权利要求书(例如, 所附权利要求书的正文)中所用的术语通常是"开放式"术语(例如,"包括"一词应该解释 为"包括但不限于","具有"一词应该解释为"至少具有",等等)。本领域技术人员还应该 明白,如果意图引述特定数目的权利要求,那么这种意图会在权利要求中明确地表述出来, 如果没有这种表述,则不存在这种意图。例如,为了便于理解,下面所附的权利要求书中可 使用引导性短语"至少一项"及"一项或多项"来引入权利要求的引述。然而,不应将使用 这种引导性短语解释成这意味着,通过不定冠词"一"引入的权利要求引述是将包含这种引 入的权利要求引述的任何特定权利要求限定为仅包含一项这种表述的申请,即使同一权利 要求包含引导性短语"一项或多项"或"至少一项"以及诸如"一"的不定冠词(例如,"一" 通常应该解释成这意味着"至少一项"或"一项或多项");这同样适用于用定冠词引述权利要求的情况。此外,即使明确表述了引述特定数目的权利要求,本领域技术人员也应该认识 到,这种表述应该解释成表示至少是所表述的数目(例如,只说"两项引述",而没有其它修 饰语,通常是指至少两项引述,亦即两项或更多项引述)。此外,在使用类似于"A、B及C等 中的至少一个"的习用表述的情况下,通常,该习惯性表述应当会得到本领域的技术人员的 理解(例如,"具有A、 B和C中的至少一个的系统"会包括但不限于仅具有A的系统、仅具 有B的系统、仅具有C的系统、具有A和B的系统、具有A和C的系统、具有B和C的系统和 /或具有A、B和C的系统)。在使用类似于"A、B或C等中的至少一个"的习惯性表述的情 况下,通常其要表达的意思就是本领域技术人员会就该习用表述所理解的那样(例如,"具 有A、B或C中的至少一个的系统"将包括但不限于仅具有A的系统、仅具有B的系统、仅具 有C的系统、具有A和B的系统、具有A和C的系统、具有B和C的系统和/或具有A、 B和 C的系统,等等)。本领域技术人员还会明白,实际上任何能够提供两个或更多选项的选言 词和/或短语,无论是在说明书中、权利要求书中还是在附图中,都应该理解为其设定了包 括所述选项中的一个、所述选项中的任一个、或全部二个选项的所有可能性。例如,短语"A 或B"应该理解成包括"A"或"B"或者"A和B"的可能性。 本申请中公开了本申请的多个方面和实施方式,本领域的技术人员会明白本申请 的其它方面和实施方式。本申请中公开的多个方面和实施方式只是用于举例说明,并非是 对本申请的限定,本申请的真正保护范围和精神应当以所附的权利要求书为准。
权利要求
一种存储系统,包括适合于存储文件的一个或多个存储空间;加密单元,适合于在文件被存储在存储空间之前对文件执行混沌加密;和存储空间管理单元,适合于基于预定授权,控制对所述一个或多个存储空间的访问。
2. 根据权利要求1所述的存储系统,其中,所述加密单元包括 映射设置模块,被配置为设置混沌映射;初始参数设置模块,被配置为设置所述混沌映射的初始参数; 加密算法设置模块,被配置为设置加密算法; 密钥生成模块,被配置为根据所述混沌映射生成密钥序列;禾口 密文生成模块,被配置为利用所述密钥序列和所述加密算法,生成文件的密文。
3. 根据权利要求1所述的存储系统,其中,所述加密单元被配置为利用高维混沌映射 执行混沌加密。
4. 根据权利要求1所述的存储系统,其中,所述加密单元被配置为通过以下加密算法 中的至少一种执行混沌加密异或; 加法; 减法; 取反; 移位;和 置换。
5. 根据权利要求1所述的存储系统,其中,所述加密单元被配置为改变加密算法来执 行混沌加密。
6. 根据权利要求1所述的存储系统,其中,所述加密单元被配置为利用至少一个包含 从文件的明文得到的信息的初始参数来执行混沌加密。
7. 根据权利要求1所述的存储系统,其中,所述加密单元被配置为将加密标志添加到 密文上。
8. 根据权利要求1所述的存储系统,其中,所述存储空间管理单元包括 授权模块,被配置为分配所述一个或多个存储空间,并授权对所述一个或多个存储空间的访问;验证模块,被配置为验证用于访问存储空间的请求;禾口访问控制模块,被配置为基于验证结果和所述请求的授权,控制对所述一个或多个存 储空间的访问。
9. 根据权利要求1所述的存储系统,其中,所述存储空间管理单元包括存储空间设置 模块,所述存储空间设置模块被配置为根据文件夹结构来设置存储空间的存储结构。
10. 根据权利要求1所述的存储系统,其中,所述存储空间管理单元包括版本管理模 块,所述版本管理模块被配置为当文件要被更新时,生成新版本的文件并保持原版本的文 件。
11. 根据权利要求10所述的存储系统,其中,所述版本管理模块被配置为将版本号结 合到文件的文件名中。
12. 根据权利要求1所述的系统,还包括解密单元,适合于对从存储空间取出的一个或 多个加密文件进行解密。
13. —种存储方法,包括分配一个或多个存储空间,每个存储空间适合于存储文件; 在文件被存储在存储空间之前对文件执行混沌加密;以及 基于预定授权,控制对所述一个或多个存储空间的访问。
14. 根据权利要求1所述的存储方法,其中,执行混沌加密包括 设置混沌映射;设置所述混沌映射的初始参数; 设置加密算法;根据所述混沌映射生成密钥序列;以及 利用所述密钥序列和所述加密算法,生成文件的密文。
15. 根据权利要求1所述的存储方法,其中,所述混沌加密是利用高维混沌映射执行的。
16. 根据权利要求1所述的存储方法,其中,所述混沌加密是通过以下加密算法中的至 少一种执行的异或; 加法; 减法; 取反; 移位;和 置换。
17. 根据权利要求1所述的存储方法,其中,所述混沌加密是通过改变加密算法来执行的。
18. 根据权利要求1所述的存储方法,其中,所述混沌加密的至少一个初始参数包含从 文件的明文得到的信息。
19. 根据权利要求1所述的存储方法,还包括将加密标志添加到密文上。
20. 根据权利要求1所述的存储方法,其中,控制访问包括 验证用于访问存储空间的请求;以及基于验证结果和所述请求的授权,控制对所述一个或多个存储空间的访问。
21. 根据权利要求1所述的存储方法,还包括根据文件夹结构设置存储空间的存储结构。
22. 根据权利要求1所述的存储方法,还包括当文件要被更新时,生成新版本的文件并 保持原版本的文件。
23. 根据权利要求10所述的存储方法,还包括将版本号结合到文件的文件名中。
24. 根据权利要求1所述的存储方法,还包括对从存储空间取出的一个或多个加密文 件进行解密。
全文摘要
提供了一种安全存储系统和方法。存储空间被创建用于存储文件。对文件进行混沌加密,并且文件的密文被存储在分配给相应帐户的存储空间中。基于与帐户相对应的预定授权来控制对存储空间的访问。另外,可以提供版本管理,使得可以维护文件的版本历史。
文档编号G06F12/14GK101727407SQ200810173048
公开日2010年6月9日 申请日期2008年10月29日 优先权日2008年10月29日
发明者陈东明 申请人:东北大学兴科中小企业服务中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1