从多个设备存取网络存储器上的保护数据的制作方法

文档序号:7610319阅读:296来源:国知局
专利名称:从多个设备存取网络存储器上的保护数据的制作方法
技术领域
本发明涉及在网络上安全存储数据以供属于授权域的设备存取的方法、用于安全地将数据存储在网络上以供属于授权域的设备存储的授权域管理系统、待包括在用于安全地将数据存储在网络上的授权域管理系统中的主设备、待包括在用于安全地将数据存储在网络上的授权域管理系统中的候选设备、从授权域中去除属于授权域的设备的方法、用于从授权域中去除属于授权域的设备的系统、包括用于使设备执行本发明方法的计算机可执行部分的计算机程序、用于控制对存储在网络上的数据的存取的方法以及用于控制对存储在网络上的数据的存取的系统。
背景技术
数据在网络上的存储是允许多个设备存取同一数据以及提供数据的备份存储的一种方式。对于公司和企业来说,这是将其数据存储在例如服务器上的一种通用方式。这种存储数据的方式对公司而言不会导致任何实质性的安全问题,因为只有公司雇员并因此没有外部用户被允许存取该数据。
然而,当用户想要将数据存储在不一定被信任(委托)的其他用户接入的网络上时,用户可能会犹豫是否将诸如个人信息的敏感数据存储在网络存储服务器上,因为他们害怕接入存储服务器的某个人(管理员,闯入存储服务器的黑客,等等)将能存取他们的敏感数据。为数据提供安全措施的一种通常的且简单的技术是利用口令对数据进行加密。但是,口令通常需要用户人工录入。实际上,这限制了可用口令的长度和可能口令的数量,这使得基于口令的安全系统易受攻击。为了减轻用户对于网络存储(器)的怀疑,希望给予用户只同意由该用户选择的一组设备存取数据的可能性。包括在该组中的设备被称为“授权设备”。授权域通常被限定为一组可信设备(域成员设备),其被允许存取一组资源或服务。在这个授权域中,安全级别应当是相当高的,这通常不是其中采用口令的情况。对于域成员来说,也应有可能同时存取相同的数据,且这通常应不需要相关设备相互直接通信。为此,采用基于单个的、存取使能的智能卡代替口令的解决方案是不适当的。
与授权域相关的主要问题之一是对于域成员/设备的加密/解密密钥的分配和管理。在设计授权域时将遇到的另一主要问题是必须在一方面的高级别安全性与另一方面的希望在处理加密/解密密钥时限制复杂性之间作出的结果权衡。通常,高级别的安全性意味着复杂的且先进的密钥管理操作。

发明内容
本发明的目的是解决上述问题和提供便于管理授权域中的密码密钥的解决方案。
本发明的另一目的是使得任何域成员设备能将保护数据存储在网络上,以致于任何其他域成员设备能存取明文数据而不必与实际存储该数据的设备通信。
这些目的利用根据权利要求1的方法、根据权利要求16的授权域管理系统、根据权利要求31的主设备、根据权利要求33的候选设备、根据权利要求35的方法、根据权利要求40的系统、根据权利要求45的包括计算机可执行部分的计算机程序、根据权利要求46的用于控制对存储在网络上的数据的存取的方法和根据权利要求50的用于控制对存储在网络上的数据的存取的系统来实现。
根据本发明的第一方面,提供一种安全地将数据存储在网络上以供属于授权域的设备存取的方法,其中在域成员设备和待包括在该域中的候选设备之间建立验证信道,通过该信道发送候选设备的验证数据。域成员设备利用所述候选设备的加密密钥对机密域密钥进行加密并存储加密的域密钥,从而将候选设备包括在该域中。加密的数据被存储在网络上,该数据通过域密钥在任何存储域成员设备上被加密。
根据本发明的第二方面,提供一种用于安全地将数据存储在网络上以供属于授权域的设备存取的授权域管理系统,该系统包括用于在域成员设备和待包括在该域中的候选设备之间建立验证信道的装置,通过该信道发送候选设备的验证数据。还提供用于加密的装置,用于在域成员设备上利用所述候选设备的加密密钥来加密机密域密钥并存储被加密的域密钥,从而将候选设备包括在该域中。此外,该系统包括用于将加密的数据存储在网络上的装置,该数据利用该域密钥在任何存储域成员设备上被加密。
根据本发明的第三方面,提供待包括在授权域管理系统中用于安全地将数据存储在网络上的主设备,该主设备包括用于与待包括在该域中的候选设备建立验证信道的装置,通过该信道发送候选设备的验证数据。此外,该主设备被安排有用于利用候选设备的加密密钥对机密域密钥进行加密并用于利用域密钥加密数据的装置。还具有用于输出被加密的域密钥和被加密的数据并用于存取存储在网络上的加密数据和通过该域密钥解密所述数据的装置。
根据本发明的第四方面,提供一种待包括在授权域管理系统中用于安全地将数据存储在网络上的候选设备,该候选设备包括用于通过与包括在该域中的主设备建立的验证信道发送验证数据的装置。而且,候选设备包括用于利用候选设备的加密密钥对机密域密钥进行加密和用于利用域密钥加密数据的装置。此外,还提供用于输出被加密的域密钥和加密数据的装置,以及用于存取被存储在网络上的加密数据和利用该域密钥解密所述数据的装置。
根据本发明的第五方面,提供一种从授权域中去除属于该授权域的设备的方法,在该方法中,当从该域中去除域成员设备时,域主设备从现有的域列表中删除与所述域成员设备相对应的加密密钥并创建新的机密域密钥。此外,主设备用每个剩余加密密钥对新的域密钥进行加密,所述每个剩余加密密钥与各自域成员设备相关,从现有的域列表中获得,并基于新的域密钥和剩余加密密钥生成新的消息验证代码。主设备还创建基于新的域密钥的域列表的更新拷贝并将更新的域列表存储在域成员设备存取的存储容量(capacity)上。
根据本发明的第六方面,提供用于从授权域中去除属于该授权域的设备的系统,在该系统中,主设备被安排设有装置,用于当从该域中去除域成员设备时,从现有的域列表中删除与所述成员设备相对应的加密密钥并用于创建新的机密域密钥。此外,主设备设有用于利用每个剩余加密密钥对新的域密钥进行加密的装置,所述每个剩余加密密钥与各个域成员设备相关,从现有的域列表获得,并基于新的域密钥和剩余加密密钥生成新的消息验证代码(MAC)。主设备还设有用于基于新的域密钥创建域列表的更新拷贝并将更新的域列表存储在存储容量上的装置。
根据本发明的第七方面,提供一种包括计算机可执行部分的计算机程序,用于当计算机可执行部分在包括在设备中的微处理器上运行时使该设备执行权利要求1-15中任一项所述的步骤。
根据本发明的第八方面,提供一种控制对存储在网络上的数据的存取的方法,在该方法中,创建对于网络服务器和对于被允许存取存储在网络上的数据进行存取的设备是已知的存取验证数据。此外,网络服务器检查设备是否拥有所述存取验证数据,并且网络服务器此后控制该设备对存储在网络上的数据的存取。
根据本发明的第九方面,提供一种用于控制对存储在网络上的数据的存取的系统,在该系统中,提供用于创建对于网络服务器和对于被允许存取存储在网络上的数据进行存取的设备是已知的存取验证数据的装置。此外,在网络服务器上安排装置来检查设备是否拥有所述存取验证数据,并且网络服务器此后控制该设备对存储在网络上的数据的存取。
本发明的思想在于首先,当将候选设备引入到授权域时,必须由已包括在该域中的设备-域成员-和待包括在该域中的设备-候选设备建立验证信道。利用这个验证信道向接收者确保信息发送者的身份不是错误的。许多公知信道建立适用于这个目的。例如,设备可以通过特权侧信道(privileged side channel)交换有限量的验证信息,该特权侧信道即为所谓的位置限制信道(location-limited channel),这将随后允许它们相互验证。位置限制信道的一个示例是红外(IR)或RFID连接。位置限制信道所需要的通信设备的物理靠近对于通过那个信道交换的信息提供可靠性措施。利用这个验证信道向用户确保(即,验证信息的接收者)信息发送者的身份不是假的。
然后,候选设备将其加密密钥发送给域成员设备。为了将该候选设备包括在该域中,利用候选设备的加密密钥加密机密域密钥。在域成员设备处,执行这个加密,该域成员设备然后将加密的域密钥存储在某一合适的位置上,例如存储在网络上或本地存储在该设备上。正是域成员设备对域密钥的共享存取实际上将这些设备依赖于(束缚于)该域。因此,在利用候选设备的加密密钥加密的域密钥的拷贝被存储在网络上之后,候选设备被包括在授权域中,即候选设备成为域成员。这是必须对待包括在该域中的每个新设备执行的程序。因此,对于包括在该域中的每个设备,将存在相应的域密钥的加密拷贝,即相应的域密钥的加密拷贝包括利用相关设备的加密密钥加密的域密钥。
当域成员设备想要将数据存储在网络上的存储单元(例如,服务器)上时,它利用该域密钥来加密数据。
本发明是有益的,只是因为遵守许多安全要求只有包括在该域中且因此被域管理员选出的设备组被给予对存储在网络上的数据的存取;管理员能相当容易地管理该组域成员设备;不需要手动输入密钥,这允许利用密码机制实现更高级别的保护;多个设备有可能同时存取相同数据;最后,域成员设备对数据的存取不需要现在设备相互联络。
根据本发明的实施例,从网络存储器(或可能地,从本地存储器)提取加密的域密钥。该域密钥已经利用域成员设备的加密密钥进行加密且利用该设备的解密密钥被解密。在解密后,该域密钥是明文的,并因此能够被成员设备用于对待存储在服务器上的数据进行加密。
根据本发明的另一实施例,当域成员设备想要存取存储在服务器上的加密数据时,利用从其被存储的位置提取的域密钥来解密该数据。该域密钥已利用存取域成员设备的加密密钥进行加密,并且利用该设备的解密密钥被解密。在解密之后,域密钥是明文的,并因此能被用于解密数据。如果设备具有更改其从网络提取的数据的授权,在新的数据被存储在网络上之前必须对新数据加密。域密钥用于在存储之前对数据进行加密。
这两个实施例非常有益,因为它们使得任何成员设备都能以非常不复杂且无缝的方式存取存储在网络上的任何数据。由于域密钥总是存储在域成员设备已存取的某一存储容量上,因此不需要通常如现有技术系统中一样在授权域中采用复杂的密钥分配系统。
根据本发明的其他实施例,用于加密域密钥的加密密钥是候选设备(随后变成域成员设备)的公钥,且用于解密加密的域密钥的解密密钥是候选设备的私钥,该私钥对应于所述公钥。这是关于密码密钥的选择的优选实施例,因为公钥不必是机密的。这大大地简化了这些密钥的管理。由于相同的理由,还有可能通过位置限制信道传送公钥的明文拷贝。使用不对称密钥对的另一优点在于如果需要的话,可以提供数字签名。
还有可能在域成员设备和待包括在该域中的候选设备之间建立机密通信信道,通过该信道发送侯选设备的加密密钥。这是需要的,如果加密密钥是候选设备(随后变为域成员设备)的机密对称密钥的话。在对称加密密钥的情况下,相同的密钥用于加密和解密。数据的对称加密在计算上与不对称加密要求是不同的。但是,密钥管理要求将更为苛刻。
注意,在加密密钥是公钥的情况下,有可能建立机密信道并通过所述机密信道传送密钥,即使这并不是要求的。
根据本发明的还一实施例,在将加密数据存储在网络上之前,对数据加密,并利用文件加密密钥来解密所述加密数据,其中文件加密密钥与域密钥是不同的。这个密钥利用处理域密钥和域标识符的伪随机函数来生成。例如,域密钥被级联到域标识符,且将得到的级联数据输入给伪随机函数。这个函数可以利用计算机算法在软件中实现或者利用线性反馈移位寄存器以硬件来实现。实际函数在现有技术中是公知的且不在本发明的范围内。这具有的优点在于获得大范围的密钥独立性即使第三方试图破译文件加密密钥,该第三方也不能覆盖(隐蔽)域密钥。因此,合法的域成员能创建新的文件加密密钥,并用这些密钥加密新的数据文件,使得攻击者不能读取这些数据文件。
根据本发明的另一实施例,将设备包括在域中的动作只能由包括在该域中的主设备执行。主设备因此变为授权域的拥有者和管理者。这是优选的,因为这将大大方便域的管理。
根据本发明的还一实施例,域列表存储在网络上。该列表包括域标识符;每个域成员设备的公钥;包括公钥和从域密钥导出的域验证密钥的消息验证代码;和与每个域成员设备相对应的加密域密钥。这个域列表限定了域,并且是在执行从网络撤回设备时存储域信息的一种结构方式,如下所述。域验证密钥能以与上述文件加密密钥相同的方式生成,即利用伪随机函数来产生。消息验证代码是用于利用密码散列函数提供消息验证的一种机制。
根据本发明的又一实施例,当将从域中去除域成员设备时,即在撤销域成员设备时,主设备从域列表中删除相应的公钥。此外,它创建新的机密域密钥。这个新的域密钥被利用从域列表获得的每个剩余公钥加密,并基于新的域密钥和剩余公钥生成新的消息验证代码。而且,在主设备上创建基于新的域密钥的域列表的更新拷贝。这个更新列表存储在网络上,被附加到现有的域列表。当创建更新列表并将新的列表附加到现有列表时,存储在网络上且被利用以前使用的域密钥加密的数据将不会被新的域密钥再加密,因为两个列表都存在。当剩余设备存取存储在网络上的加密数据时,它们将用新的域密钥对其进行加密。当所有的数据都被新的网络密钥加密时,就不再需要旧的网络列表。如果新的设备包括在域中,则该新的设备也必须被包括在旧的域列表中,因为它需要存取旧的域密钥,以存取利用旧的密钥加密的数据。
根据本发明的另一实施例,不将更新的域列表附加到现有的域列表,而是用更新的列表代替现有的域列表。另外,存储在网络上的加密数据在主设备上利用旧的域密钥进行解密,并且在被存储在网络上之前利用新的域密钥被加密。这个实施例具有的优点在于不需要将旧的域列表保留在网络上,因为所有的数据都用新的域密钥被重新加密了,并因此不再需要旧的域密钥。
根据本发明的另一实施例,每个域密钥具有相关的使用计数器,该计数器也是域列表的一部分。该计数器在创建新的域密钥时通常被初始化为零。当用域密钥加密文件时,递增该计数器。当利用域密钥解密文件时,递减该计数器,如果不再使用旧的域列表的域密钥,则可以删除旧的域列表,即,如果其使用计数器为0,并且如果另外具有另一域列表被附加到它上面的话。这个实施例的优点在于可以删除旧的域列表,而不需要同时对所有的数据文件再加密。
此外,根据本发明的一方面,提供一种存取控制功能,这确保只有域的成员才能修改(或可能地甚至读取)属于那个域的文件。优选地,存取控制管理是基于下列原理的利用加密的文件保护和域组成员关系是由域成员自己管理的,而域特定的存取权利是由网络服务器管理的。将域管理与服务器分离的优点在于可以使用现有的存取控制方法,并且将服务器从管理域成员关系的复杂任务中释放出来。另一优点在于,如果服务器不被认为是可信任的,则通过使服务器与域管理分离来增强安全性。
通过研究所附的权利要求书和下面的描述,将明白本发明的其他特征及其优点。本领域技术人员将明白,本发明的不同特征可以进行组合,以创建除了下文描述的实施例之外的其他实施例。


下面将参照附图详细描述本发明的优选实施例,其中图1表示包括在授权域中的多个设备;图2示出根据本发明实施例将候选设备包括在授权域中;图3表示根据本发明实施例的域密钥加密的流程图;图4表示根据本发明另一实施例的域密钥加密的流程图;图5表示根据本发明实施例将数据存储在网络上和提取网络上的数据的流程图;图6表示根据本发明实施例从域中去除域成员设备的流程图;和图7表示在从域中去除域成员设备时删除旧的域列表的流程图。
具体实施例方式
图1表示通过网络100诸如因特网、无线局域网(WLAN)、公共交换电话网络(PSTN)等相互连接的多个设备,例如,移动电话101、计算机102、个人数字助理(PDA)103、服务器104等。授权域通常被限定为一组互连的可信设备,它们被允许存取一组资源或服务。该互连可以通过例如无线电接口、红外接口、电缆接口等来实现。在图1中,移动电话101、计算机102和PDA 103是将数据存储在网络服务器104上的域成员设备。
本发明的主要优点之一在于,网络服务器不需要被包括在授权域中。服务器可以为任何(不可靠)存储提供商。
在如图1所示的授权域中,设想域管理应用程序,其允许用户定义授权域参数和/或用于存取网络数据的规则以及将加密/解密密钥分配给域成员的规则。域管理应用通常包括待安装在包括在域中的域成员设备中的文件浏览器。这允许设备的用户容易地浏览存储在网络上的数据。
参照图2,当将候选设备202包括在域中时,包括在该域中的主设备201通常与该候选设备(即,待包括在授权域中的设备)建立连接203。通常,由主设备中的微处理器205来实现这个建立,该微处理器执行由域管理应用提供的适当软件。微处理器是每个设备的大脑,并且执行由各个设备承担的所有计算/处理操作。候选设备还被配备有执行域管理软件的微处理器206。
对于连接-或待建立的信道203的最低要求是它能例如基于通信设备之间的物理靠近而被认为是验证的。必须确保通过信道交换的信息允许两个设备201,202随后相互验证。例如,这些设备可以通过特权侧信道(所谓的位置限制信道203)交换有限量的验证信息,这随后将允许它们通过无线信道204完成验证密钥交换协议并基于交换的密钥保护无线信道204。
在主设备201,用户开始域管理应用程序并使主设备201和候选设备202相互物理靠近(位置限制信道可以通过IR或RFID技术来建立)。在候选设备202,应用程序自动启动并向用户显示提示。该提示表示“接受来自主设备的介绍”?三个选项是可用的“Accept(接受)”,“Reject(拒绝)”,“Edit(编辑)”。编辑按钮可以用来编辑显示给用户的许多参数。当用户点击“接受”按钮时,应用程序安静地完成执行。对于主设备201,过程是一样的。
参照图3,在基本预验证方案中,设备通过位置限制信道交换与其公钥相关的验证信息,如S301所示。实际被交换的信道可以是公钥本身、其证明,或简单地利用密码散列函数(诸如SHA-1)保护密钥“轨迹(trace)”。唯一的要求是交换的信息允许接收者校验(非位置限制)无线信道的验证协议中使用的密钥的可靠性。
设备可以通过任何类型的信道例如无线信道诸如IR、无线电或音频)或通过电缆来交换在预验证阶段中其各自公钥的散列值,即轨迹。为了方便,每个设备201,202还能发送其在无线空间中的地址(例如,IP地址和端口号,或蓝牙设备地址)。因此,主设备201将其地址和其公钥的散列值发送给候选设备202。此后,候选设备将其地址和其公钥的散列值发送给主设备。设备可以利用这个预验证数据通过机密信道204相互验证。
一旦预验证完成,这些设备在它们之间通过无线信道204建立安全连接S302。为此,它们能利用任何建立的基于公钥的密钥交换协议(例如,SSL/TLS,SKEME,IKE等),该协议需要它们证明拥有特定的私钥,该私钥在这种情况下将与预验证步骤的公钥验证信息相对应。密钥交换协议的选择可能影响交换的预验证数据的确切形式,且特别地影响各方是交换其全部公钥还是仅仅交换其轨迹。如果无线链路上使用的密钥交换协议明确地发送公钥或证明,只有这些公钥的轨迹在预验证中需要被交换。因此,有可能限制通过位置限制信道交换的预验证数据的量。如果相反地期望各方已具有相互的公钥,则在预验证过程中应交换密钥本身。在这个特定情况下,这些设备通过机密信道204交换公钥。
为了将候选设备202包括在域中,利用候选设备的公共加密密钥对机密域密钥进行加密S303。这在域成员设备201上执行,该域成员设备然后将加密的域密钥存储S304在网络100上。现在,候选设备成为授权域的成员。
在本发明的另一实施例中,当使用不对成密钥对时,可以通过位置限制信道203交换公钥。转到图4,设备201、202通过位置限制信道交换与它们的公钥相关的验证信息及其公钥,如S401所示。
因此,主设备201将其地址、其公钥和其公钥的散列值发送给候选设备202。此后,设备202将其地址、其公钥和其公钥的散列值发送给主设备201。这些设备可以采用这个预验证数据来相互验证。由于公钥不一定是机密的,因此有可能以明文形式通过位置限制信道传送公钥。此后,与图3的过程相似,为了将候选设备202包括在域中,在S402,在以前已经通过位置限制信道203将公钥传送给它的主设备201上利用候选者的公钥对机密的域密钥进行加密。然后,主设备将加密的域密钥存储在网络上,S403,通常存储在远程网络存储容量诸如服务器上。
一旦候选设备已经成为域成员设备,还有可能在预验证阶段使用候选设备202的机密对称密钥,且用于域密钥的加密/解密。在这种情况下,对称密钥的散列值能经过位置限制信道203进行传送,且对称密钥在通过无线信道204被传送之前被加密。
当一个设备被包括在授权域中时,域列表存储在网络上。该域列表可以被存储在与加密的数据文件相同的服务器104上。在多个域列表被存储在多个网络服务器上的情况下,域成员设备知道用哪个服务器来存储每个相应的域列表。这可以通过从主设备向各个域成员设备发送通知来实现,该通知表示哪个列表存储在哪个服务器上。
该列表包括·域标识符,·每个域成员设备的公钥(PK1,PK2,...),·包括每个公钥和从域密钥(K)导出的域验证密钥(KA)的消息验证代码(MAC),和·对应于每个域成员设备的加密的域密钥(EPK1(K),EPK2(K),...)。
该列表图形表示如下。

这个域列表定义了域,并且是当从域中去除设备时存储域信息的一种结构方式,如下文所述。基于域密钥K和域ID,利用伪随机函数生成域验证密钥KA。在示例性实现过程中,域密钥被级联到域标识符,并且由此生成的级联数据被输入伪随机函数。这个函数可以采用计算机算法以软件实现或采用线性反馈移位寄存器以硬件来实现。消息验证代码是用于利用密码散列函数提供消息验证的一种机制。域列表还可以具有时间标记,以便于管理操作。该时间标记可以为修改域列表的最后日历时间的形式,或者它可以利用计数器来生成,该计数器在创建域列表时被初始化为0,并且每次在域列表被修改时被递增。该域列表对于所有的域成员设备必须是可存取的,因为每个设备从该列表提取其加密的域密钥,即,其组成部分。
转到图5,当域成员设备例如PDA 101想将数据存储在网络100上的网络存储单元例如服务器104中时,它利用从服务器104提取的域密钥K对数据进行加密,S501。这个特定拷贝的域密钥已被PDA的公钥加密且被存储在域列表中,而且利用PDA的私钥被解密。该域密钥被用于对待存储在服务器上的数据进行加密。加密的数据然后被存储网络上,S502。
当域成员设备(假定计算机102)想存取存储在服务器104上的加密数据时,它从网络提取加密的数据,S503,并利用从服务器提取的域密钥K解密该数据。域密钥事先利用计算机的公钥进行加密,且利用计算机的相应私钥被解密。在解密之后,域密钥K能被用于解密数据,S504。因此,该数据是明文的。
如果计算机被允许更改数据,则更改的数据在被存储在网络上之前必须由计算机进行再加密。
当数据被加密并被存储在网络上时,可以通过文件加密密钥KE执行该加密。可以利用与域验证密钥KA相同的方式,采用域密钥K作为种子,生成这个密钥。
参照图6,当从授权域中去除域成员设备时,域主设备从域列表中删除相应的公钥(或者在采用对称加密的情况下,对称密钥)S601。另外,该设备创建新的机密域密钥K’,S602。用每个剩余域成员设备的公钥对这个新的域密钥进行加密,这些密钥从域列表中获得,且基于新的域密钥和剩余域公钥,生成新的消息验证代码。在这些修改之后,在主设备上创建更新的域列表S604。这个更新的列表被存储在网络上,被附加到现有的域列表。
更新的列表图示如下。注意,下面只示出了更新的列表。这个更新的列表被附加到上文示出的现有列表。

更新的域列表的具体外形暗示已经从域中去除了对应于PK2的域成员设备。
当创建更新的列表并将其附加到现有列表上时,存储在网络上并利用旧的域密钥K加密的数据不需要利用新的网络密钥K’再加密,因为这两个列表仍然是有效的。当剩余域成员设备对存储在网络上的加密数据进行存取时,它们将用新的网络密钥对其进行重新加密。当所有的数据都利用新的网络密钥再加密之后,可以删除旧的网络列表。
在图7中,当从域中去除域成员设备时采用的另一方法是删除现有的域列表,S703。这具有的结果是存储在网络上的加密数据必须在主设备上利用旧的域密钥K进行解密S701,并且在网络上被恢复之前利用新的密钥K’进行加密,S702。
在本发明的一个实施例中,每个域密钥具有相关的使用计数器,该计数器为域密钥所属的特定域列表的一部分。当创建新的域密钥时,该计数器被初始化。该计数器在数据文件利用新的域密钥被加密时被进一步递增,并且在数据文件通过新的域密钥被解密时被递减。这具有的效果为现有的域列表在其域密钥不再使用时可以被删除。当使用计数器达到其初始值(通常为0),且另一域列表被附加到待删除的域列表上,则认为不再使用域密钥。因此,可以删除旧的域列表而不需要同时对所有的数据文件进行再加密。
如上所述,域主设备管理该域。理论上,任何域成员设备可以用于将候选设备包括在域中。但是,如果允许任何域成员设备执行域的管理,诸如在域中增加/从域中删除设备或改变域密钥,它们需要检验成员列表的真实性并将它用于创建新的域列表。这需要域列表包含设备ID,从而能将它们显示给其他域成员设备的用户。
根据本发明的另一方面,提供了存取控制功能,这确保只有域的成员才能修改(或甚至有可能读取)属于该域的文件。优选地,存取控制管理基于下列原理由域成员本身管理利用加密的文件保护和域组成员关系,而由网络服务器管理域特定的存取权。将域管理与服务器分离的优点在于,可以使用现有的存取控制方法,且将服务器从管理域成员关系的复杂任务中释放出来。另一优点在于,如果服务器不被认为是可信的,则通过使服务器与域管理分离来增强安全性。
在存取控制功能的实施过程中,与现有系统中普遍进行的情况一样,存取控制是基于用户名和口令的。例如,具有对于服务器104和对于域的所有成员设备101,102,103都是已知的特定存取密钥A。该存取密钥A对于每个域可以是不同的。网络服务器允许设备修改属于特定域的文件,只要该设备证明它知道用于所述特定域的存取密钥A。
在这个实施过程中,设备可以利用用户名=域-ID和口令=f(A)向网络服务器验证它自己,其中f( )是例如类型SHA-1的单向散列函数。或者,该设备可以通过利用共享的存取密钥加密消息的方式向网络服务器验证它自己,其中在网络服务器处使用公享的存取密钥来确保该消息已被存取密钥的保持者发送。为了防止重放攻击,服务器可以首先向设备发送随机号C,并且口令计算必须包括该随机号,即口令=f(A,C)。存取密钥A可以被存储在域列表中,例如,它可以利用所述每个装置的公钥以及域密钥KEPK1(K,A),EPK2(K,A)等对于每个设备单独地进行加密。然后,如果从该域中去除一个成员,则域主设备创建新的存取密钥A’并将该新的密钥发送给服务器。相应的新的域列表将包含该新的存取密钥A’。读取该域列表的权利可以被授予任何人。存取控制功能的优点在于,域成员设备的用户不必知道口令控制的存取。
成员和非成员同样可以读取新的域列表,但是只有合法成员才能从新的域列表中提取新的存取密钥A’,并因此修改现有的文件或创建新的文件。另一优点是在更改口令之后,不需要立即将新的口令分配给合法的域成员。
注意,存取验证数据可以多种不同的方式与设备组相关,例如,可以用于(a)对于多个域的成员,使用相同的存取验证数据;或(b)对于每个成员,使用不同的存取验证数据,而不考虑域。
在存取控制功能的第一实施例中,存取验证数据独立于域识别和域密钥K,并且在利用相应的域成员设备的公钥加密之后被明确地包括在域列表中。因此,不需要通知服务器有关域密钥的变化,这可以是安全性和管理的容易性之间的合理权衡。尽管这并不是严格要求的,但是,如果要强调安全性的话,则建议当从域中去除成员时改变存取验证数据,因为撤销的成员可能会对系统实施服务拒绝攻击(denial-of-service)。在第二实施例中,存取验证数据确定地从域ID和域密钥K中导出,并因此不需要被明确地包括在域列表中。可以与以前描述的域验证密钥KA类似的方式生成存取验证数据。这个第二实施例要求每次改变域密钥时通知服务器。
应明白,术语“存取验证数据”根据该术语出现的语境而具有不同的意思;例如,当利用存取密钥A生成口令时,口令和相应的用户名被解释为“存取验证数据”,而在另一语境下,术语“存取验证数据”可以仅包含存取密钥A。多种用于生成存取验证数据的变型是可行的,且本领域技术人员认识到,在不背离上述利用存取验证数据的基本思想的情况下,可以对上述实施例进行修改以生成用于在网络服务器上验证设备的数据。
即使已参照本发明的具体示例化实施例对本发明进行了描述,但是对于本领域技术人员,许多不同的变更、修改等等将变得显而易见。因此,上述实施例并不旨在限制本发明的范围,并且本发明的范围由所附的权利要求来限定。
权利要求
1.一种在网络(100)上安全存储数据以便属于授权域的设备(101,102,103)存取的方法,该方法包括以下步骤在域成员设备(201)和待包括在域中的候选设备(202)之间建立(S301)验证信道(203),通过该信道发送侯选设备的验证数据;在域成员设备上,利用所述候选设备的加密密钥来加密(S303)机密域密钥,并存储(S304)加密的域密钥,从而将候选设备包括在域中;和将加密的数据存储(S502)在网络上,利用域密钥,在任何存储域成员设备(101,102,103)上加密(S501)该数据。
2.根据权利要求1所述的方法,其中存储(S304)加密域密钥的步骤还包括以下步骤将加密的域密钥本地存储在域成员设备(201)上或存储在网络(100)上。
3.根据权利要求1或2所述的方法,其中存储(S304)加密域密钥的步骤还包括以下步骤提取利用所述任何存储域成员设备(101,102,103)的加密密钥加密的加密域密钥,并利用所述任何存储域成员设备的相应解密密钥来解密该加密域密钥。
4.根据权利要求1-3之中任一项所述的方法,还包括以下步骤存取(S503)存储在网络(100)上的加密数据,在任何存取域成员设备(101,102,103)上利用域密钥来解密(S504)该加密数据,其中通过提取加密域密钥来获得域密钥,该加密域密钥利用所述任何存取域成员设备的加密密钥来加密,并利用用所述任何存取域成员设备的相应解密密钥来解密该加密域密钥。
5.根据权利要求1所述的方法,还包括以下步骤通过验证信道(203)将所述加密密钥从候选设备(202)发送(S401)给域成员设备(201),其中所述加密密钥是公钥,并且所述解密密钥是候选设备的私钥,该私钥对应于所述公钥。
6.根据权利要求1所述的方法,还包括以下步骤在域成员设备(201)和待包括在域中的候选设备(202)之间建立(S302)机密信道(204),通过该机密信道发送候选设备的加密密钥。
7.根据权利要求6所述的方法,其中所述加密密钥是公钥,并且所述解密密钥是候选设备(202)的私钥,该私钥对应于所述公钥。
8.根据权利要求6所述的方法,其中所述加密密钥是候选设备的机密对称密钥,并且所述解密密钥是同一机密对称密钥。
9.根据任一项前述权利要求所述的方法,其中加密(S501)数据的步骤在网络(100)上存储(S502)加密数据之前,并且利用通过基于包括域密钥(K)和域标识符的函数输入执行伪随机函数生成的文件加密密钥来执行解密(S504)所述加密数据的步骤。
10.根据任一项前述权利要求所述的方法,其中由包括在域中的主设备(201)执行将候选设备(202)包括在域中的步骤。
11.根据权利要求10所述的方法,还包括以下步骤在网络(100)上存储域列表,其包括域标识符;每个域成员设备的加密密钥;包括加密密钥和从域密钥(K)中导出的域验证密钥(KA)的消息验证代码(MAC);和对应于每个域成员设备的加密域密钥。
12.根据权利要求11所述的方法,还包括以下步骤当从域中去除(S601)域成员设备时,在主设备(201)上,从现有域列表中删除相应的加密密钥;在主设备上,创建(S602)新的机密域密钥(K’);在主设备上,利用从现有域列表中获得的每个剩余加密密钥来加密(S603)新的域密钥,并基于新的域密钥和剩余加密密钥,产生新的消息验证代码;和在主设备上,基于新的域密钥创建(S604)更新拷贝的域列表,并将更新的域列表存储在网络(100)上。
13.根据权利要求12所述的方法,其中将更新的域列表存储在网络(100)上的步骤进一步包括将更新的域列表附加到现有的域列表。
14.根据权利要求13所述的方法,还包括以下步骤当创建新的域密钥时,初始化使用计数器;当利用新的域密钥加密数据文件时,递增使用计数器;当利用新的域密钥解密数据文件时,递减使用计数器,其中现有的域列表在其域密钥不再使用时能被删除,这利用使用计数器达到其初始值和域列表被附加到待删除的域列表来表示。
15.根据权利要求12所述的方法,还包括以下步骤在主设备(201)上,利用域密钥(K)来解密(S701)存储在网络(100)上的加密数据;在主设备上,利用新的域密钥(K’)来加密(S702)数据并将加密的数据存储在网络上;和删除(S703)现有的域列表。
16.一种授权域管理系统,用于在网络(100)上安全存储数据以便属于授权域的设备(101,102,103)存取,该系统包括用于在域成员设备(201)和待包括在域中的候选设备(202)之间建立验证信道(203)的装置(205),通过该验证信道发送候选设备的验证数据;用于在域成员设备上利用所述候选设备的加密密钥来加密机密域密钥并存储加密的域密钥的装置(205),从而将候选设备包括在域中;和用于将加密的数据存储在网络上的装置(104),在任何存储域成员设备(101,102,103)上利用域密钥来加密该数据。
17.根据权利要求16所述的系统,其中加密的域密钥本地存储在域成员设备(201)或网络(100)上。
18.根据权利要求16或17所述的系统,还包括装置(205,206),用于提取利用所述任何存储域成员设备(101,102,103)的加密密钥加密的加密域密钥,和用于利用所述任何存储域成员设备的相应解密密钥来解密该加密域密钥。
19.根据权利要求16-18之中任一项所述的系统,还包括装置(205,206),用于存取存储在网络上的加密数据,在任何存取域成员设备(101,102,103)上利用域密钥来解密该数据,其中通过提取加密的域密钥来获得域密钥,该加密的域密钥利用所述任何存取域成员设备的加密密钥来加密,和用于利用所述任何存取域成员设备的相应解密密钥来解密该加密域密钥。
20.根据权利要求16所述的系统,包括用于通过验证信道(203)将所述加密密钥从候选设备(202)发送给域成员设备(201)的装置(206),其中所述加密密钥是公钥,并且所述解密密钥是候选设备的私钥,该私钥与所述公钥相对应。
21.根据权利要求16所述的系统,包括用于在域成员设备(201)和待包括在域中的候选设备(202)之间建立机密信道(203)的装置(206),通过该机密信道发送候选设备的加密密钥。
22.根据权利要求21所述的系统,其中所述加密密钥是公钥,并且所述解密密钥是候选设备的私钥,该私钥与所述公钥相对应。
23.根据权利要求16所述的系统,其中所述加密密钥是候选设备(202)的机密对称密钥,和所述解密密钥是同一机密对称密钥。
24.根据权利要求16-23之中任一项所述的系统,其中通过基于包括域密钥(K)和域标识符的函数输入执行伪随机函数生成的文件加密密钥被安排为在将加密数据存储在网络上之前加密数据。
25.根据权利要求16-24之中任一项所述的系统,其中包括在域中的主设备(201)被安排为包括候选设备(202)。
26.根据权利要求23所述的系统,包括装置(104),用于在网络(100)上存储域列表,其包括域标识符;每个域成员设备的加密密钥;包括加密密钥和从域密钥(K)中导出的域验证密钥(KA)的消息验证代码(MAC);和对应于每个域成员设备的加密域密钥。
27.根据权利要求26所述的系统,还包括装置(205),用于在从域中去除域成员设备时在主设备(201)上从现有的域列表中删除相应的加密密钥;装置(205),用于在主设备上创建新的机密域密钥(K’);装置(205),用于在主设备上利用从现有的域列表中获得的每个剩余加密密钥来加密(S603)新的域密钥,并基于新的域密钥和剩余加密密钥产生新的消息验证代码(MAC);和装置(205),用于在主设备上基于新的域密钥创建更新拷贝的域列表,并将更新的域列表存储在网络(100)上。
28.根据权利要求17所述的系统,包括装置(205),用于将更新的域列表附加到现有的域列表。
29.根据权利要求28所述的系统,其中每个域密钥具有相关的使用计数器,该计数器是域密钥所属的特定域列表的一部分,当创建新的域密钥时,该计数器被初始化,并且当利用新的域密钥对数据文件进行加密时,递增该计数器,而当利用新的域密钥对数据文件进行解密时,递减该计数器,其中现有的域列表在其域密钥不再使用时可以被删除,这利用使用计数器达到其初始值并且域列表被附加到待删除的域列表来表示。
30.根据权利要求27所述的系统,包括装置(205),用于在主设备(201)上利用域密钥(K)解密存储在网络(100)上的加密数据;装置(205),用于在主设备上利用新的域密钥(K’)来加密数据并将加密的数据存储在网络上;和装置(205),用于删除现有的域列表。
31.一种主设备(201),该主设备将被包括在授权域管理系统中,以便在网络(100)上安全存储数据,该主设备包括用于与待包括在域中的候选设备(202)建立验证信道(203)的装置(205),通过该验证信道发送候选设备的验证数据;用于利用候选设备的加密密钥来加密机密域密钥的装置(205);用于利用域密钥来加密数据的装置(205);用于输出加密域密钥和加密数据的装置(205);和用于存取存储在网络上的加密数据并利用域密钥解密所述数据的装置(205)。
32.根据权利要求31所述的主设备(201),还包括用于与待包括在域中的候选设备(202)建立机密信道(204)的装置(205),通过该机密信道发送候选设备的加密密钥。
33.一种候选设备(202),该候选设备将被包括在授权域管理系统中,以便在网络(100)上安全存储数据,该候选设备包括用于通过与包括在域中的主设备(201)建立的验证信道(203)发送验证数据的装置(206);用于利用候选设备的加密密钥来加密机密域密钥的装置(206);用于利用域密钥来加密数据的装置(206);用于输出加密域密钥和加密数据的装置(206);和用于存取存储在网络上的加密数据并利用域密钥来解密所述数据的装置(206)。
34.根据权利要求33所述的候选设备(202),还包括用于通过与主设备(201)建立的机密信道发送候选设备(202)的加密密钥的装置(206)。
35.用于从授权域中去除属于所述授权域的设备(101,102,103)的一种方法,该方法包括以下步骤当从域中去除(S601)域成员设备时,在域主设备(201)上,从现有的域列表中删除与所述域成员设备相对应的加密密钥;在主设备上,创建(S602)新的机密域密钥(K’);在主设备上,利用每个剩余加密密钥来加密(S603)新的域密钥,所述每个剩余加密密钥与各自的域成员设备相关和从现有的域列表中获得,并且基于新的域密钥和剩余加密密钥,产生新的消息验证代码;和在主设备上,基于新的域密钥创建(S604)更新拷贝的域列表,并将更新的域列表存储在域成员设备存取的存储容量(104)上。
36.根据权利要求35所述的方法,其中域列表包括域标识符;每个域成员设备的加密密钥;包括加密密钥和从域密钥(K)中导出的域验证密钥(KA)的消息验证代码(MAC);以及对应于每个域成员设备的加密域密钥,并且该域列表存储在存储容量(104)上。
37.根据权利要求35或36所述的方法,其中将更新的域列表存储在存储容量(104)上的步骤还包括将更新的域列表附加到现有的域列表。
38.根据权利要求37所述的方法,还包括以下步骤当创建新的域密钥时,初始化使用计数器;当利用新的域密钥加密数据文件时,递增使用计数器;和当利用新的域密钥解密数据文件时,递减使用计数器,其中现有的域列表在其域密钥不再使用时可以被删除,这利用使用计数器达到其初始值并且域列表被附加到待删除的域列表来表示。
39.根据权利要求35所述的方法,还包括以下步骤在主设备(201)上,利用域密钥(K)解密(S701)存储在存储容量(104)上的加密数据;在主设备上,利用新的域密钥(K’)加密(S702)数据,并将加密的数据存储在存储容量上;和删除(S703)现有的域列表。
40.一种用于从授权域中去除属于所述授权域的设备(101,102,103)的系统,该系统包括装置(205),用于在从域中去除域成员设备时,在域主设备(201)上从现有的域列表中删除与所述成员设备相对应的相应加密密钥;装置(205),用于在主设备上创建新的机密域密钥(K’);装置(205),用于在主设备上利用每个剩余加密密钥对新的域密钥加密(S603),所述每个剩余加密密钥与相应的域成员设备相关、从现有的域列表中获得,并基于新的域密钥和剩余加密密钥,产生新的消息验证代码(MAC);和装置(205),用于在主设备上基于新的域密钥创建更新拷贝的域列表,并将更新的域列表存储在存储容量(104)上。
41.根据权利要求40所述的系统,包括装置(104),用于将域列表存储在存储容量(104)上,其中域列表包括域标识符;每个域成员设备的加密密钥;包括加密密钥和从域密钥(K)中导出的域验证密钥(KA)的消息验证代码(MAC);以及对应于每个域成员设备的加密域密钥。
42.根据权利要求40或41所述的系统,还包括用于将更新的域列表附加到现有的域列表的装置(205)。
43.根据权利要求42所述的系统,其中每个域密钥具有相关的使用计数器,该计数器为域密钥所属的特定域列表的一部分,当创建新的域密钥时,初始化该计数器,并且当利用新的域密钥加密数据文件时,递增该计数器,而利用新的域密钥解密数据文件时,递减该计数器,其中现有的域列表在其域密钥不再使用时可以被删除,这利用使用计数器达到其初始值并且域列表被附加到待删除的域列表来表示。
44.根据权利要求40所述的系统,还包括装置(205),用于在主设备(201)上利用域密钥(K)解密存储在存储容量(104)上的加密数据;装置(205),用于在主设备上利用新的域密钥(K’)加密数据并将加密数据存储在存储容量上;和装置(205),用于删除现有的域列表。
45.一种计算器程序,其包括计算机可执行部分,用于当计算机可执行部分在包括在设备中的微处理器(205,206)上运行时,使设备(101,102,103)执行权利要求1-15之中任一项所述的步骤。
46.一种控制对存储在网络(10)上的数据的存取的方法,该方法包括以下步骤创建存取验证数据,该存取验证数据对于网络服务器(104)和被允许存取存储在网络上的数据的设备(101,102,103)是已知的;在网络服务器上,检查设备是否拥有所述存取验证数据;在网络服务器上,控制设备对存储在网络上的数据的存取。
47.根据权利要求46所述的方法,其中检查步骤还包括以下步骤在网络服务器(104)上,检查所述设备的身份,并利用涉及存取验证数据的密码操作来验证该设备。
48.根据权利要求47所述的方法,其中设备身份是该设备所属的域的身份,并且通过给网络服务器(104)提供存取验证数据的散列值来执行设备验证。
49.根据权利要求48所述的方法,还包括以下步骤在网络(100)上,存储包括存取验证数据的拷贝的域列表,每个拷贝利用存取在网络上存储的所述数据的每个设备(101,102,103)的公钥来加密。
50.根据权利要求49所述的方法,还包括以下步骤当从域中去除成员设备(101,102,103)时,在域主设备(201)上创建新的存取验证数据;利用包含新的存取验证数据的新的域列表来代替现有的域列表;和将新的存取验证数据传送给网络服务器(104)。
51.根据权利要求46-50之中任一项所述的方法,其中所述存取验证数据是存取密钥(A)。
52.一种用于控制对存储在网络(100)上的数据的存取的系统,该系统包括装置(205),用于创建对于网络服务器(104)和对于被允许存取存储在网络上的数据的设备(101,102,103)都是已知的存取验证数据;装置(205),用于在网络服务器上检查设备是否拥有所述存取验证数据;装置(205),用于在网络服务器上控制设备对存储在网络上的数据的存取。
53.根据权利要求52所述的系统,其中网络服务器还包括装置(205),用于检查所述设备的身份,并用于利用涉及存储验证数据的密码操作来验证该设备。
54.根据权利要求53所述的系统,其中设备身份是该设备所属的域的身份,并且通过给网络服务器(104)提供存取验证数据的散列值,执行设备验证。
55.根据权利要求54所述的系统,其中主设备(201)还被安排为在网络(100)上存储包括存取验证数据的拷贝的域列表,每个拷贝利用存取网络上存储的所述数据的每个设备(101,102,103)的公钥来加密。
56.根据权利要求55所述的系统,其中主设备(201)还包括装置(205),用于当从域中去除成员设备(101,102,103)时创建新的存取验证数据;装置(205),用于利用包含新的存取验证数据的新的域列表来代替现有的域列表;和装置(205),用于将新的存取验证数据传送给网络服务器(104)。
57.根据权利要求52-56之中任一项所述的系统,其中所述存取验证数据是存取密钥(A)。
全文摘要
本发明涉及安全地将数据存储在网络(100)上以供授权域(101,102,103)存取的方法和系统,该授权域包括至少两个共享机密域密钥(K)的设备,并且本发明涉及用于安全地将数据存储在网络上以供授权域存取的授权域管理系统。本发明使得任何成员设备能够将保护数据存储在网络上,以致于任何其他成员设备能存取明文形式的数据而不必与实际存储该数据的设备通信。
文档编号H04L12/22GK1939028SQ200480042709
公开日2007年3月28日 申请日期2004年2月13日 优先权日2004年2月13日
发明者N·阿索坎, P·金斯布尔格, S·莫洛尼, T·苏伊克霍 申请人:诺基亚有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1