首页> 中国专利> 用于在分布式基础架构中确保数据交换安全的方法

用于在分布式基础架构中确保数据交换安全的方法

摘要

本发明提供了一种用于使安全数据交换能够在节点网络的多个节点之间进行的方法,其中每个节点具有用于对所述数据交换进行加密的相同的加密密钥对,其中所述密钥对是由相应节点自身自动生成的。将节点添加到节点网络借助于由要添加的节点生成的并且必须由可信任实体验证的临时公共密钥发生。在成功验证之后,所述数据交换所需的所述加密密钥对可用于要添加的所述节点。在已经添加新节点之后,所述网络的所有节点再次具有用于经加密数据交换的相同的加密密钥对。

著录项

说明书

技术领域

本发明涉及一种用于使安全数据交换能够在分布式基础架构中进行的方法。在这种情况下,分布式基础架构是可以在物理上彼此分离并且通过通信网络连接的计算机或服务器的网络。在这种背景下,单独的计算机或服务器被称为节点网络。每个节点网络可以由一台或多台计算机组成。在下文中,术语“节点”用于指网络中的计算机、服务器或计算机群组。

背景技术

为了使安全数据交换能够在网络中的多个节点之间进行,通常会对数据交换进行加密。每个节点生成具有私有密钥和公共密钥的加密密钥对。私有密钥与节点一起保留,所述私有密钥生成并且存储于其中。使用已知的密钥交换方法将公共密钥传输或分布到网络的其它节点。然后,计算机网络的其它节点可以使用这个公共密钥来对到一个节点或数据自身的数据传输进行加密。

然而,这里的缺点是,计算机网络的每个节点生成其自己的密钥对,使得每个节点必须与网络的所有其它节点(或至少与网络中的要与其交换数据的那些节点)交换公共密钥。因此,在具有n个节点的网络中,将生成n个不同的密钥对。如果每个节点要与网络的每个其它节点安全地交换数据,则每个节点必须向网络的所有其它节点提供其公共密钥,因此必须执行多达n

另外,对于从计算机网络中的第一节点到第二节点的数据传输,第一节点必须选择分配到第二节点的正确公共密钥,以便以可解密的方式对要传输到第二节点的数据进行加密。为了这个目的,必须在节点中提供或实施相当大的资源,以确保始终针对相应接收节点正确地对要传输的数据进行加密,即,将相应正确公共密钥用于进行加密。

当在网络的节点中必须更新密钥对时,另外的缺点出现。在这种情况下,必须将对应的公共密钥分布到网络的所有其它节点或使其可用于所有其它节点。这种所谓的密钥更新可能会花费相当大的量的时间,因此只有在密钥更新完成时数据才能以经加密方式传输到生成密钥对的节点。在密钥更新期间,没有数据可以传输到这个节点,因此其它节点使用旧的(并且因此是错误的)公共密钥来在密钥更新期间对数据进行加密。

如果密钥或密钥替换提供有数字证书,则发行对应的证书的时延会添加到这个时延,因此密钥交换会对应地花费更多时间,这意指必须接受甚至更长的停机时间。

因此,本发明的目的是提供一种方法,使用所述方法,使安全数据交换能够在由多个节点组成的分布式基础架构中进行,而不必接受与现有技术已知的密钥管理有关的缺点。

这个目的是通过根据独立权利要求所述的方法来实现的。所述方法的有利配置在从属权利要求中进行了描述。

因此,提供了一种用于能够确保节点网络的多个节点之间的数据交换安全的方法,其中

-向每个节点提供至少两个秘密,并且

-使用可用的相应秘密和密钥生成算法,在每个节点中自动生成加密密钥对,

其中可用于所述节点的秘密和密钥生成算法被选择成使得在每个节点中生成相同的加密密钥对,并且

其中所述加密密钥对的所述生成发生于所述节点的安全存储器和/或处理区域中,并且所述加密密钥对的至少私有密钥专门存储于所述安全存储器区域中。

如果所述安全存储器和/或处理区域被设计的方式使得其仅含有易失性存储器介质,则是有利的。

如果所述加密密钥对的所述生成是由在所述安全存储器和/或处理区域中执行的软件模块执行的,则也是有利的。

所述至少两个秘密可以各自由可信任实体提供到所述节点。

所述可信任实体可以是人。

如果每个节点可以是由主节点生成的,则是有利的。

如果每个节点使用可用的所述相应秘密生成用其生成所述加密密钥对的主秘密,其中所述秘密由所述主节点生成的方式使得所述主秘密可以由不同但同样大的秘密子集生成,则也是有利的。

此外,提供了一种用于将节点添加到节点网络的方法,所述节点网络是如上文所描述的优选地配置的,其中

-要添加的所述节点(从节点)生成临时加密密钥对,

-其中所述临时加密密钥对的公共密钥是由多个实体签名的,每个签名是通过分配到相应实体的私有密钥执行的,

-其中将通过所述签名生成的至少预定数量的证书传输到所述网络的主节点,并且

-所述主节点检查接收到的证书,并且如果所述检查成功,则将在所述主节点中生成的第二加密密钥对传输到要添加的所述节点。

如果所述第二加密密钥对是在传输之前用所述临时公共密钥加密的,则是有利的。

当检查所述证书时,可以确定所接收的所述证书是否是可验证的以及是否已经传输至少预定数量的可验证证书。

所述第二加密密钥对可以用于处理要添加的所述节点与所述网络的其它节点之间的经加密数据交换。

附图说明

在结合附图的以下描述中提供了本发明的细节和特征以及本发明的各个实施例,但是本发明不限于以下描述的实施例。附图示出了以下内容:

图1具有网络的四个节点的实施例,在所述实施例的基础上描述了根据本发明的方法的变型,并且

图2根据本发明的方法的实施例,通过所述实施例描述了将新节点添加到节点网络。

具体实施方式

根据本发明,提供了网络中的每个节点生成由私有密钥和公共密钥组成的相同的加密密钥对。这确保网络的所有节点可以使用相同的公共密钥进行安全数据交换,无论要针对其对数据进行加密的节点如何。主要的优点是,无需在单独的节点中采取措施来确保节点使用其它节点的正确公共密钥来与网络的另一个节点进行经加密通信。

当首次配置网络时,重要的仅是确保参与网络的所有节点具有适当的权限,即,允许它们“参与”网络。在这种情况下,“参与”意指节点可以或可能在自身之间执行经加密数据交换。

当将新节点添加到网络时,重要的仅是确保这个新节点也具有适当的权限。

这两个操作(即,在首次配置网络时对权限进行验证和在将新节点添加到网络时对权限进行验证)仅需执行一次,使得没有空闲时间或停机时间由于在网络的操作期间的新的/更改的密钥而引起。

尽管所有节点具有相同的密钥对,但是这些密钥对必须在根据本发明的节点中新生成。这是因为根据本发明防止了私有密钥从网络的一个节点到另一节点的分布,所述分布是对用公共密钥加密的数据进行解密所需要的。这意指私有密钥无法离开所述私有密钥在其中生成的节点。为了这个目的,节点根据本发明被适配的方式使得相应私有密钥不必离开节点的安全区域(所谓的数据清除区域)。为了确保这点,专门在这个数据清除区域中执行对数据的解密。还专门在数据清除区域中生成密钥对。

根据本发明,提供了在每个节点中新生成相同的密钥对。为了确保在每个节点中生成相同的密钥对,在每个节点中使用相同的秘密来生成加密密钥对。另外,在每个节点中使用相同的加密方法(密钥生成算法)来生成加密密钥对。可以提供较大的随机数作为可供每个节点用来生成加密密钥对的秘密。这样,私有密钥不必离开节点,而同时确保每个节点可以针对网络中每个其它节点对数据进行加密(使用其自己生成的公共密钥)。积极的副作用是不再需要交换公共密钥,这也大大降低根据公共密钥计算对应的私有密钥的风险。

秘密自身可以由网络的带标记节点生成并且由这个带标记节点提供到其它节点。带标记节点在下文也被称为主代码。还可以以经加密方式与其它节点交换秘密。出于秘密的经加密交换的目的,除生成秘密并且因此知道所述秘密的主节点之外,每个节点可以生成由临时私有密钥和临时公共密钥组成的临时加密密钥对。然后,每个节点通知主节点其公共密钥,使得主节点可以用相应公共密钥对秘密进行加密并且将经加密秘密传输到相应节点。然后,相应节点可以使用其私有密钥对经加密秘密进行解密以生成加密密钥对。由于仅秘密的(单次)安全传输需要临时加密密钥对,因此之后可以销毁或删除临时加密密钥对。

结合图1描述了替代性的、甚至更安全的用于交换秘密的方法。结合图1所描述的这种方法的另外的优点在于必须向节点提供相应节点使用其生成密钥对的多个秘密。这防止单个实体(例如,单个人)在节点中生成密钥对或使节点生成密钥对,因为单个实体仅拥有多个秘密之一。

尽管也可以用这个单个秘密生成密钥对,但是这个秘密不会被其它节点接受,或者其它节点将使用与私有密钥不匹配的公共密钥,从而最终使不正确地生成的密钥对无用。

可替代地,秘密也可以在网络外部生成。然而,如果这样做,则必须确保向每个节点提供在加密密钥对生成时会产生相同的密钥的此类秘密。

到目前为止描述的方法已经确保数据交换期间的高级别的安全性。这种安全性通过以下事实进一步增强:不再需要交换用于对数据传输进行加密的公共密钥。

总体而言,最高可能级别的安全性是因为以下实现的:

-密钥对是专门在相应节点的数据清除区域中自动生成的;

-优选地,数据加密是专门在数据清除区域中执行的,使得公共密钥不必在网络处于操作中时离开数据清除区域;

-对数据的解密是专门在数据清除区域中执行的,使得公共密钥不必离开数据清除区域;

-为了生成密钥对并且也因此生成相应私有密钥,多个秘密是必要的,所述秘密分布在多个秘密载体上,使得单个实体无法单独生成网络中所需的密钥对或使节点单独生成此种密钥对。

在每个节点已经借助于秘密生成加密密钥对之后,网络的每个节点原则上可以处理与网络的所有其它节点进行的经加密数据交换,其中每个节点能够使用相同的公共密钥独立于收件人对数据进行加密。

单独的节点的可信任度是通过以下事实确保的:如果节点已经借助于秘密自身生成加密密钥对,则所述节点仅可以拥有加密所需的公共密钥,其中秘密自身能够以经加密方式交换或能够根据图1中所描述的方法分布到多个秘密载体,然后所述秘密载体必须将其秘密提供到相应节点。

为了进一步增加或提高可信任度,根据本发明可以提供每个节点向可信任证书颁发机构请求针对其生成的公共密钥的对应的数字证书(公共密钥证书),用所述数字证书对相应公共密钥的所有权和其它特性进行验证。出于这个目的,仅一次必须使公共密钥可用于受信任的证书颁发机构。然后,由受信任的证书颁发机构发行的数字证书传送到相应节点并且可以存储于其中。因此,在与网络中的其它节点交换经加密数据之前,网络中的节点然后可以用其自己的证书向其它节点进行自身认证。公共密钥自身不必传输。

因此,借助于证书防止:如果节点已经以未授权方式获得加密密钥对,则所述节点可以与网络的其它节点执行经加密数据交换,因为加密密钥对单独不足以用于这个目的。通过适合的组织措施,可以防止发行可能会用其伪造节点的虚假身份的证书,例如因为合格证书仅可以由经认证的证书颁发机构并且仅在提供官方身份证明文件之后发行。这个数据存储于证书中,使得其它节点可以检查这个数据并且仅在证书从其角度来看是有效的情况下允许经加密通信。

上文已经描述了由多个节点组成的网络的初始配置和/或设置。结合图2描述了将一个或多个另外的节点添加到现有网络。

图1示出了具有四个节点的网络的框图,在其基础上描述了根据本发明的方法的变型。

应当注意,根据本发明的方法也可以用于具有多于四个节点或具有少于四个节点的网络。

根据本发明,使安全(即,经加密)数据交换能够在网络中进行,所述网络在此由四个节点1到4组成。在图1中用粗体双箭头示出了要通过其处理经加密数据交换的通信信道。因此,在图1中所示出的实例中,每个节点应当能够与每个其它节点交换经加密数据。节点1是所谓的主节点,其功能在下文进行了解释。

四个节点1到4中的每个节点具有密封软件模块SSM,所述模块被适配成借助于秘密S创建由私有密钥和公共密钥组成的加密密钥对PK。如上文所解释的,所有节点生成相同的加密密钥对。

密封软件模块SSM是所谓的安全存储器区域DCU(其也被称为数据清除区域)的一部分。密封软件模块SSM自身专门在数据清除区域DCU中执行。还提供由密封软件模块SSM生成的加密密钥对专门存储于数据清除区域DCU中并且数据的加密和/或解密也专门在数据清除区域DCU中执行。这意指密钥对不必离开数据清理区域DCU,从而有效地防止了密钥对的误用。

数据清除区域DCU被配置的方式使得在对数据清除区域进行未授权访问的情况下将删除存储于其中的所有数据,特别是存储于其中但没有加密和密钥对的数据。特别地,数据清除区域的特点在于以下事实:不存在持久性存储介质。这个措施确保如果数据清除区域DCU的电源中断(例如,如果检测到对数据清除区域的未授权访问),则:

-没有未经加密数据可以离开数据清除区域DCU;

-没有更多数据存在于数据清除区域DCU中;并且

-由于仅使用易失性类型的存储介质,因此专门存储于数据清除区域DCU中的密钥对被删除。

通过节点中的冗余数据清除区域,加密密钥对可以被确保安全,使得例如加密密钥对在数据清除区域中的电源中断之后可以从复制的数据清除区域中恢复。冗余数据清除区域之间的通信也有利地被加密。

节点1到4中所示出的受信任的平台模块TPM同样可以是相应数据清除区域DCU的一部分。可替代地但不推荐,受信任的平台模块TPM也可以定位于相应数据清除区域DCU的外部,其中数据优选地以加密形式在受信任的平台模块与数据清除区域DCU之间交换。

为了允许单独的节点1到4的密封软件模块SSM各自生成相同的密钥对,可以如上文所解释的提供主节点1生成秘密S并且将这个秘密(优选地,经加密)传递到其它节点2到4,然后所述其它节点借助于这个秘密生成相应密钥对。

在图1中所示出的实施例中,秘密S是由主节点生成的。然而,秘密S没有直接地传输到其它节点2到4,而是分布到多个秘密载体。因此,每个秘密载体拥有秘密S的一部分(也被称为部分秘密)。

在图1中所示出的实例中,提供了由主节点生成的秘密S分布于其上的12个秘密载体。秘密S的生成和秘密S到多个秘密载体的分布被执行的方式使得需要秘密载体的某个子集来重建秘密S(即,仅需要一些部分秘密来重建秘密S)。根据图1中所示出的实例,秘密S可以基于三个秘密载体的部分秘密来重建。Shamir秘密共享方法可以用于拆分和重建秘密。

根据本发明,提供了在至少两个秘密载体之间划分秘密S并且至少两个部分秘密对于秘密的重建是必要的。这有效地确保至少两个秘密载体(具体地,通常是可信任的人)是使节点生成有效密钥对所必要的。

在主节点已经将创建的秘密S分布到秘密载体1到12之后,秘密载体1到3到达节点2,秘密载体5和6到达节点4并且秘密载体9到11到达节点3。

秘密载体1到3使其部分秘密可用于节点2(即,节点2的密封软件模块SSM),使得节点2的密封软件模块SSM可以首先从部分秘密中重建秘密S并且然后使用秘密S来生成加密密钥对。节点3和4分别对秘密载体9到11和5到7的部分秘密进行相同的操作。

为了确保主节点对秘密的安全输出或秘密载体对部分秘密的安全输入,节点提供了安全接口。通过这个接口,秘密或部分秘密被传输以用于以经加密方式重建秘密。出于这个目的,相应节点或相应节点的密封软件模块SSM可以生成用其对要输出或输入的数据进行加密的临时密钥对。

在节点1到4已经生成相应加密密钥对之后,节点中的每个节点发起由证书颁发机构CA对其相应公共密钥PK进行的证书颁发。为了这个目的,相应公共密钥PK传输到证书颁发机构CA(这也可以以经加密方式进行)。证书颁发机构CA生成对应的数字证书Z(公共密钥证书)并且将其传输到相应节点。传输到证书颁发机构CA的公共密钥可以在此处被删除。根据本发明,公共密钥PK仅需离开所述PK在其中生成一次的节点,即具有由证书颁发机构CA生成的证书。对于与其它节点进行的经加密数据交换,由于所有节点生成相同的密钥对并且也因此生成相同的公共密钥PK,因此公共密钥不必交换。证书自身可以进而存储于相应数据清除区域DCU中。

如已经提到的,不再需要向节点提供另一节点的公共密钥,以便所述节点针对其它节点对数据进行加密。特别地,节点不必提供措施来确保正确的公共密钥用于与其它节点进行经加密通信。当网络中涉及数千个节点时,这尤其有利。当将新节点添加到由数千个节点组成的网络中时,这个优点就变得显而易见。在这种情况下,公共密钥必须以复杂的方式分布到网络的所有其它节点,使得这些其它节点可以以经加密方式与新节点进行通信。

为了进一步提高安全性,其旨在在节点可以处理与其它节点进行的经加密数据交换之前,这个节点必须针对其它节点将自身标识为受信任的节点。出于这个目的,使用节点向证书颁发机构请求的针对其相应公共密钥PK的证书Z。例如,在节点3使用公共密钥PK将经加密数据传输到节点4之前,节点3必须将其证书Z传送到节点4。然后,节点4可以检查证书Z,并且然后在证书被识别为有效的情况下允许通信。如果合格证书是由证书颁发机构CA发行的并且是仅在提供正式的身份证明文件(例如,节点操作者的负责管理者的身份证明文件)时发行的,则是有利的。这个数据存储于证书中,使得其它节点可以检查这个数据。因此,其它节点仅需要检查证书是否是由指定为证书的所有者的经批准的证书颁发机构发行的。因此,每个节点以任何方式已知的公共密钥不必被传输。证书的验证可以以节省资源和高效的方式来执行。

除了对相应公共密钥进行证书颁发之外,公共密钥不必离开相应节点或相应密封软件模块SSM,这使网络的特别安全的操作成为可能。

图2示出了具有另一个节点(在此被称为从节点)添加到其的节点1的框图。

当然,也可以将新的从节点添加到具有多于一个节点(具体地,数千个节点)的网络。

在第一步骤S1中,从节点的密封软件模块SSM生成临时加密密钥对。这个临时加密密钥对仅是将节点添加到网络所需要的并且然后可以被丢弃。这个临时加密密钥对不需要通过用于生成网络的其它节点的密钥对的秘密来生成。另外,这个临时加密密钥对不一定必须通过密封软件模块SSM来生成。

在另外的步骤S2中,将临时加密密钥对的公共密钥PK

确认临时加密密钥对的公共密钥PK

在步骤S5中,主节点对照人的相应公共密钥来检查传输的证书Z,并且如果检查成功,则启动将从节点添加到网络的过程。肯定检查可能还要求一定数量的人已经将对应的证书Z传输到主节点。例如,如果在步骤S1中将临时公共密钥PK

在步骤S4中传输的证书Z还通知主节点:因为临时公共密钥PK

如果步骤S5中的检查成功,即,如果足够数量的人向主节点发送有效证书Z,则主节点在步骤S6(这是新的从节点与网络的其它节点进行通信所需要的)中将密钥对传输到要添加的从节点。这个传输的密钥对与在网络的其它节点中生成的密钥对相同。

这个密钥对到新的从节点的传输优选地通过使用要添加的节点的临时公共密钥PK

新的从节点将密钥对存储于从节点的数据清除区域DCU或受信任的平台模块中。将新的从节点添加到网络现在完成。可以删除在步骤S1中创建的临时密钥对。新节点的公共密钥或私有密钥都不必离开新节点(尤其是新节点的数据清除区域DCU),以便新节点与网络的其它节点进行数据交换。

总体而言,这还避免必须将要添加到网络的节点的公共密钥分布到网络的所有其它节点。

参考标记:

CA 认证机构

TPM 受信任的平台模块

DCU 数据清除区域

S 秘密

S1到S6 步骤

SSM 密封软件模块

Z 证书(数字)

PK 公共密钥

PK

1到10 秘密载体(例如,可信任的人)

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号