分组加密系统和方法.pdf

上传人:小** 文档编号:1120899 上传时间:2018-04-01 格式:PDF 页数:32 大小:1.46MB
返回 下载 相关 举报
摘要
申请专利号:

CN01821793.1

申请日:

2001.12.21

公开号:

CN1486555A

公开日:

2004.03.31

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):H04L 9/00变更事项:专利权人变更前:睦塞德技术公司变更后:考文森智财管理公司变更事项:地址变更前:加拿大安大略变更后:加拿大安大略省|||专利权人的姓名或者名称、地址的变更IPC(主分类):H04L 9/00变更事项:专利权人变更前:睦塞德技术公司变更后:睦塞德技术公司变更事项:地址变更前:加拿大安大略省变更后:加拿大安大略|||授权|||实质审查的生效|||公开

IPC分类号:

H04L9/00; H04L29/06

主分类号:

H04L9/00; H04L29/06

申请人:

睦塞德技术公司;

发明人:

阿蒂尔·约翰·勒夫; 斯蒂文·J·戴维斯

地址:

加拿大安大略省

优先权:

2000.12.22 US 09/741,829

专利代理机构:

中科专利商标代理有限责任公司

代理人:

王玮

PDF下载: PDF下载
内容摘要

一种处理器,该处理器具有接收要被加密处理的数据分组的输入端口。主控制器用于分析分组,并且提供包括要对分组执行的过程的列表及其排序的报头。使用与处理器的整个处理功能相关的涉及过程的数据来对主控制器进行编程。将该报头添加到数据分组。将具有附加的头信息的分组存储在缓冲器内。缓冲器控制器依据分组内的报头,为存储在缓冲器内的每一个分组确定下一个处理器,以便处理该分组。然后,控制器将该分组提供给确定的处理器以便处理。返回具有处理完成指示的处理后的分组。例如,可以从过程列表中删除过程。缓冲器控制器重复地确定下一个过程,直到分组中不存在下一个过程为止,此时,将该分组提供给输出端口。

权利要求书

1: 一种数据加密系统,包括: 控制过程,它修改接收到的分组以便包括用于识别要对分组执行的 过程的控制数据; 多个处理器,它们执行由控制数据识别的、包括加密过程的过程; 转接器,它响应分组中的控制数据,将具有控制数据的分组从处理 器转发到处理器;以及 输出,从该输出转发处理后的、没有控制数据的分组。
2: 根据权利要求1所述的系统,其特征在于转接器包括分组缓冲器, 分组缓冲器包括缓冲器控制器,用于确定多个处理器中的下一个处理器 以便处理数据分组。
3: 根据权利要求2所述的系统,其特征在于缓冲器控制器包括资源 管理器,该资源管理器保持资源处理器上的信息的可用性。
4: 根据权利要求1到3中的任一个所述的系统,其特征在于控制数 据包括要在至少一个处理器中处理的代码。
5: 根据权利要求1到4中的任一个所述的系统,其特征在于控制数 据还包括加密或认证密钥。
6: 根据权利要求1到5中的任一个所述的系统,其特征在于各个处 理器将结果数据添加到控制数据上。
7: 根据权利要求1到6中的任一个所述的系统,其特征在于处理器 执行IPSEC协议的处理。
8: 根据权利要求1到7中的任一个所述的系统,其特征在于各个处 理器执行IP报头处理和加密。
9: 根据权利要求1到8中的任一个所述的系统,其特征在于处理器 执行认证处理。
10: 一种加密或者解密数据分组的方法,包括: 修改接收到的分组以便包括用于识别要在分组上执行的过程的控制 数据;以及 在连续的处理器中,执行由控制数据识别的、包括加密或者解密过 程的过程。
11: 根据权利要求10所述的方法,其特征在于通过转接器,响应分 组中的控制数据,将分组从处理器转发到处理器。
12: 根据权利要求11所述的方法,其特征在于转接器包括分组缓冲 器,该分组缓冲器包括缓冲器控制器,用于确定多个处理器中的下一个 处理器以便处理数据分组。
13: 根据权利要求12所述的方法,其特征在于缓冲器控制器包括资 源管理器,该资源管理器保持资源处理器上的信息的可用性。
14: 根据权利要求10到13中的任一个所述的方法,其特征在于控 制数据包括要在至少一个处理器中处理的代码。
15: 根据权利要求10到14中的任一个所述的方法,其特征在于控 制数据还包括加密或者认证密钥。
16: 根据权利要求10到15中的任一个所述的方法,其特征在于各 个处理器将结果数据添加到控制数据。
17: 根据权利要求10到16中的任一个所述的方法,其特征在于处 理器执行IPSEC协议处理。
18: 根据权利要求10到17中的任一个所述的方法,其特征在于各 个处理器执行IP报头处理和加密。
19: 根据权利要求10到18中的任一个所述的方法,其特征在于处 理器执行认证处理。
20: 一种用于处理数据的数据处理器,包括: 输入端口,它接收数据分组; 至少一个端口,它与多个处理器中的每一个进行通信; 第一处理器,它与至少一个端口进行通信,并且处理接收到的数据, 以便提供包括要对分组执行的过程的列表及其排序的报头,将报头存储 在与该报头相关的数据分组中; 缓冲器,它存储从至少一个端口接收到的数据; 缓冲器控制器,它依据分组内的报头,确定多个处理器中的下一个 处理器以便处理所述的数据分组,并且将所述的数据分组提供给至少一 个端口,以便将该数据分组提供给下一个处理器。
21: 根据权利要求20所述的用于处理数据的数据处理器,其特征在 于第一处理器包括装置,用于向下一个处理器提供可执行的代码,可执 行代码可以被执行以便处理相关的分组。
22: 根据权利要求20所述的用于处理数据的数据处理器,其特征在 于第一处理器包括将可执行代码的指示提供给下一个处理器的装置,可 执行代码可以被执行以便处理相关的分组。
23: 根据权利要求20所述的用于处理数据的数据处理器,其特征在 于缓冲器控制器用于从多个可用的处理器中确定下一个处理器,每一个 可用的处理器都是可能的下一个处理器。
24: 根据权利要求20所述的用于处理数据的数据处理器,其特征在 于还包括多个处理器。
25: 根据权利要求24所述的用于处理数据的数据处理器,其特征在 于多个处理器是多个专用目的处理器。
26: 根据权利要求25所述的用于处理数据的数据处理器,其特征在 于多个专用目的处理器包括译码处理器,它具有存储于其中、并且从译 码处理器设备的外部不可访问的保密密钥。
27: 根据权利要求26所述的用于处理数据的数据处理器,其特征在 于多个专用目的处理器包括用于执行网络安全协议处理方面的多个处理 器,以便支持至少一个网络安全协议。
28: 一种用于处理数据的数据处理器,包括: 缓冲器,它用于存储数据; 多个专用目的处理器,每一个专用目的处理器处理来自缓冲器内的 数据; 缓冲器控制器,它与每一个专用目的处理器进行通信,并且确定专 用目的处理器中的下一个处理器以便处理数据,以及将该数据提供给确 定的下一个处理器。
29: 根据权利要求28所述的用于处理数据的数据处理器,其特征在 于多个专用目的处理器包括:至少一个服务器处理器,它将数据格式化 为数据结构,该数据结构包括具有要对数据执行的过程的列表及其排序 的报头。
30: 根据权利要求29所述的用于处理数据的数据处理器,其特征在 于缓冲器控制器依据要对数据执行的过程的列表及其排序,确定下一个 过程。
31: 一种用于处理数据分组的数据处理器,包括: 寻址网络; 多个专用目的处理器,每一个专用目的处理器处理通过寻址网络接 收到的数据,并且将处理后的数据提供给寻址网络,该寻址网络使多个 专用目的处理器互连; 第一处理器,它提供用于指引数据分组按照顺序一个接着一个地通 过寻址网络去往多个处理器的数据,该数据与分组有关,其中,向不同 的分组提供不同的数据以便指引这些分组不同地通过寻址网络,其中, 每一个专用目的处理器用于执行功能而不知道整个的高层级的分组处理 操作。
32: 根据权利要求31所述的用于处理数据分组的数据处理器,其特 征在于每一个处理器用于接收可执行指令,并且执行该指令,沿着与数 据分组不同的数据路径,将可执行指令提供给处理器。
33: 根据权利要求31所述的用于处理数据分组的数据处理器,其特 征在于每一个处理器用于接收可执行指令,并且执行该指令,沿着与数 据分组相同的数据路径,将可执行指令提供给处理器。
34: 一种处理流数据的方法,包括: 在输入端口接收包括数据分组的流数据; 处理接收到的数据分组,以便为每个数据分组提供包括要对分组执 行的过程的列表及其排序,将报头存储在与报头有关的分组内; 将具有相关报头的分组提供给用于存储的缓冲器; 对于缓冲器内的每一个分组: 依据分组内的报头,确定下一个处理器以便处理分组: 将分组提供给确定的下一个处理器以便处理; 从处理器中接收处理后的分组,并且将该分组存储在缓冲器中,存 储的分组包括对于下一个处理器的处理已经完成、以及不需要下一个处 理器的处理的指示的其中之一;以及 当在分组头中没有指示另外的过程时,将该分组提供给输出端口。
35: 根据权利要求34所述的用于处理流数据的方法,其特征在于在 将分组提供到输出端口之前,将报头信息从中分离。
36: 根据权利要求35所述的用于处理流数据的方法,其特征在于在 单一的集成设备中实现该方法。
37: 根据权利要求35所述的用于处理流数据的方法,其特征在于在 缺少至少某些下一个处理器中的单一的集成设备中实现该方法,并且至 少某些下一个处理器与集成设备进行通信。
38: 根据权利要求37所述的用于处理流数据的方法,其特征在于集 成设备包括:输入端口、输出端口、用于提供报头信息的服务器处理器、 以及用于存储分组数据并且在下一个处理器间路由分组数据的数据缓冲 器。
39: 根据权利要求38所述的用于处理流数据的方法,其特征在于服 务器处理器是可编程的。
40: 根据权利要求38所述的用于处理流数据的方法,其特征在于输 入端口和输出端口分别包括用于入口和出口处理的数据元件。
41: 一种用于处理数据的体系结构,包括: 第一处理元件,它接收数据,并且使用从可用过程中选择的过程的 列表及其排序来格式化该数据,对数据执行过程的列表; 另外的处理器,它们执行可用的过程中的至少一个过程;以及 路由存储器,它将数据提供给处理器,以便依据列出的过程的排序 来执行过程。
42: 根据权利要求41所述的用于处理数据的体系结构,其特征在于 路由存储器包括用于缓冲分组的分组缓冲存储器、以及确定用于处理格 式化数据的合适的处理器,并且将该数据提供给所述的处理器的处理器。
43: 根据权利要求41所述的用于处理数据的体系结构,其特征在于 路由存储器包括用于依据过程的列表及其排序,按照预定顺序在处理器 间路由分组的地址交换网络,其中,地址交换网络是动态的,它允许依 据多个过程列表和顺序中的任何一个,在另外的处理器之间路由分组。
44: 根据权利要求41所述的用于处理数据的体系结构,其特征在于 某些另外的处理器是用于处理数据的专用的单一功能的处理器。
45: 根据权利要求44所述的用于处理数据的体系结构,其特征在于 另外的处理器中的大多数是用于处理数据的专用的单一功能的处理器。
46: 根据权利要求45所述的用于处理数据的体系结构,其特征在于 另外的处理器中的大多数是用于与路由存储器接口的处理器模块。

说明书


分组加密系统和方法

    背景技术

    在因特网出现之前,团体数据网络典型地由从公共电话公司租用的专用通信线路组成。由于数据网络的硬件实现是电话公司的专有财产,同时管理公司对媒体具有绝对的垄断,安全不是很大的问题;单一的提供商根据契约负责安全性,并且来自外部的、对交换网络访问的缺乏可以或多或少对抗外部地侵入(hacking)和篡改(tampering)。

    如今,越来越多的公司正在发现因特网的价值,目前与其他单一的计算机网络相比,因特网在世界范围内得到了更广泛的应用,因而很容易被多国集团网络使用。由于它还是消费级的产品,因此与由专用电话公司网络提供的系统服务相比,通常可以在低得多的花费下提供因特网的接入。最后,因特网对于终端用户的可用性使个人可以从家里、或者其他很远的地点容易地访问团体网络。

    然而,因特网由公共公司运营,并且使用开放的协议、以及带内路由和公开以利于详细研究的控制。这种环境使因特网成为了黑客(hecker)们的肥沃试验场。如今工业间谍是暴利的行业,如果通过因特网开展业务的公司不采取措施,则这些公司将使自己暴露在攻击之下。

    如今在因特网上存在保密和强认证的几个标准。通过加密/解密来实现保密性。典型地,基于算法来执行加密/解密,这些算法在保持消息内容的保密性的同时,打算允许多方之间在公开的信道上传送数据。这要通过由发送端事使用加密密钥加密数据和由接收端使用解密密钥解密数据来实现。

    在对称密钥密码系统中,加密和解密密钥相同,而在公开密钥密码系统中,加密和解密密钥不同。

    加密算法的类型

    将加密算法典型地分类为公开密钥和秘密密钥算法。在秘密密钥算法中,密钥是保密的,而在公共密钥算法中,密钥的其中之一对于普通大众是已知的。分组密码(block cipher)是现今使用的私用密钥加密法的代表。分组密码采用诸如32-128比特的数据块作为输入数据,并且产生相同数量的位作为输出数据。使用具有典型地在56-128范围内的长度的密钥来执行加密和解密操作。设计的该加密算法在不知道密钥的确切值情况下,极难解密消息。

    除了分组密码之外,因特网安全协议还依赖于基于公开密钥的算法。例如在授予Pogue和Rivest的美国专利No.5,144,667中描述的Rivest,Shamir,Adelman(RSA)密码系统中的公开密钥密码系统使用两个密钥,其中一个密钥是私密的,而另一个密钥是公开可用的。一旦某人公布了公开密钥,任何人可以向此人发送使用该公开密钥加密的保密消息;然而,只能够通过使用私用密钥来实现该消息的解密。这样的公开密钥加密的优点是没有将私用密钥预先分配给所有的会话方。相反,当使用对称加密时,产生多个保密密钥,给每一个想要接收消息的每一方分配一个保密密钥,并且可以保密地通信每一个保密密钥。尝试以安全的方式来分配保密密钥会导致与发送只使用秘密密钥加密的消息所面临的问题相似的问题;这典型地被称为密钥分配问题。

    密钥交换是公开密钥系统的另一应用。在密钥交换协议中,即使两方的会话被第三方截取,两方也可以对保密密钥达成一致。在美国专利No.4,200,770中描述的Diffie-Hellman指数密钥交换方法是这样的协议的实例。

    大多数公开密钥算法,例如RSA和Diffie-Hellman密钥交换,基于模指数运算,即计算αx模p。该表达式表示“α自乘x次,将答案除以p,然后取余”。由于为了执行该运算,需要许多重复的乘法运算以及除法运算,这需要花费非常大的计算代价:。诸如在1985年4月的《计算数学》中卷44的第170页的“Modular Multiplication Without Trial Division”中描述的Montgometry方法的技巧可以减少需要的除法操作的数目,但没有克服总的计算代价。此外,对于现今使用的加密系统,使用的数非常大(典型地为1024位或者更大),因此不能直接使用在普通CPU中常见的乘法和除法运算。作为替代,使用特别的算法,这些算法可以将很大的乘法运算和除法运算分解得足够小以便在CPU上执行的运算。这些算法通常具有与涉及到的机器字的数目的平方成正比的运行时间。这些因素导致大数乘法运算成为非常慢的运算。例如,Pentium处理器可以在10个时钟周期中执行32×32位的乘法。可以用64个32位的字表示2048位的数字。2048×2048位的乘法需要64×64个单独的32×32位乘法运算,假定不执行管线(pipeline)运算,则在Pertium处理器上要花费40960个时钟。如果以直接的方式来执行,具有2048位的指数的取幂需要多达4096次乘法运算,这需要大约16.7亿个时钟周期。如果Pentium处理器以166MHz运行,则整个运算大约需要一秒。当然,除法运算会给整个运算时间增加额外的时间。很明显,不能期望诸如Pentium的普通CPU以什么较大的速率来执行密钥的生成和交换。

    由于公用密钥算法的计算量是如此巨大,因此典型地,不能使用它们来加密整个消息。作为替代,使用私用密钥密码系统来传送消息。随机地选择用于加密消息的、被称为会话密钥(session key)的私用密钥,并且使用公开的密钥来加密该私用密钥。然后将加密后的会话密钥和加密后的消息发送到另一方。另一方使用该私用密钥解密会话密钥,然后使用会话密钥解密该消息。对于每个通信使用不同的会话密钥,以致于如果破坏了会话密钥的安全性,只能访问使用该密钥加密的消息。该公开密钥/私用密钥方法还有助于保护诸如交互式终端会话的通信中的连续数据流,交互式会话在通常的操作时不会终止、或者在延长的时间周期内继续。在这种情况下,最好通过重复密钥交换技术周期性地改变会话密钥。此外,当破坏了会话的安全性时,会话密钥的频繁改变限制了被危及的数据量。

    加密设备

    可以使用基于软件的解决方案接入团体网络的网络级加密设备正在得到广泛的应用。产品典型地进行完全的软件加密。软件的复杂度和处理器的速度限制了这样的系统的吞吐量。同时,使用公开密钥技术的会话密钥产生是耗时的,因此只在需要时采用。软件具有诸如易于修改以及易于更新为已实现的加密算法的优点。

    其他可用设备结合使用硬件和软件以便提供加密。例如,EntrustSentinel X.25加密产品使用由AMD生产的DES(数据加密标准)芯片来执行DES对称密钥加密。由于设计的DES便于硬件的有效实现,并且已知专用的硬件解决方案更为有效,DES算法的硬件实现比软件实现快得多。通过使用并行的专用目的查询表可以实现、在通用目的处理器上执行软件时需要采用许多中央处理单元(CPU)指令的转换。

    Sentinel还使用Motorola(摩托罗拉公司)的DSP5600处理器来执行公开密钥的运算。当被设计时,数字信号处理器(DSP)对于单周期乘法的支持使该处理器比常规复杂指令集计算机(CISC)微型处理器明显要快。

    大多数的硬件加密设备在它们支持的算法的数量上具有严格的限制。例如,在Sentinel中使用AMD芯片只执行DES。来自Hi/Fn公司的最新的设备可以执行DES和RC4。然而,诸如RC5和IDEA的其他标准算法需要使用另外的产品。

    【发明内容】

    本发明提供一种在多处理器中的数据加密。(术语加密的意思既包括加密,也包括解密)。在本发明的实施例中,修改接收到的数据分组以便包含控制数据,该控制数据识别要在分组上执行的过程。在连续的处理器中,执行由控制数据识别的、包括加密过程的过程。

    数据分组加密系统可以包括:修改接收到的分组以便包括控制数据的控制过程,控制数据识别要对分组执行的过程。多个处理器执行由控制数据识别的、包括加密过程的过程。该系统可以包括转接器(interconnection),该转接器响应分组中的控制数据,以便将具有控制数据的分组从处理器转发到处理器。然后将不具有控制数据的处理后的分组转发到例如因特网。

    该转接器可以包括缓冲器控制器的分组缓冲器。该缓冲器控制器确定多个处理器中的下一个处理器以便处理数据分组。该缓冲器控制器可以包括资源管理器,该资源管理器保持在资源处理器上的信息的可用性。

    控制数据可以包括要在至少一个处理器中处理的代码,该控制数据还可以包括加密或者认证密钥。个别的处理器还可以将结果数据添加到控制数据。

    处理器可以执行包括IP报头处理、加密和认证的IPSEC协议过程。还可以执行诸如SSL协议的其他过程。

    依据特定的实施例,设置了用于处理数据的数据处理器,该数据处理器包括:输入端口,它接收数据分组;至少一个端口,它与多个处理器中的每一个进行通信;第一处理器,它与至少一个端口进行通信,并且处理接收到的数据以便提供包括对数据分组执行的过程的列表及其排序的报头(header),将报头存储在与报头相关的数据分组内;缓冲器,它存储从至少一个端口接收到的数据;缓冲器控制器,它依据分组内的报头,确定多个处理器中的下一个处理器,以便处理所述的数据分组,并且将所述的数据分组提供给至少一个端口以便将该数据提供给下一个处理器。

    依据本发明的特定实施例,设置了用于处理数据的数据处理器,该数据处理器包括:缓冲器,它存储数据;多个专用目的处理器,每一个专用目的处理器处理来自缓冲器内的数据;缓冲器控制器,它与每一个专用目的处理器进行通信,并且确定专用目的处理器中的下一个处理器要处理的数据,以及将该数据提供给确定的下一个处理器。

    依据特定的实施例,设置了用于处理数据分组的数据处理器,它包括:寻址网络;多个专用目的处理器,每一个专用目的处理器处理通过寻址网络接收到的数据,并且将处理后的数据提供给寻址网络,该寻址网络使多个专用目的处理器相互连接;第一处理器,它提供用于指引数据分组按照预定的顺序一个接着一个地通过寻址网络去往多个处理器的数据,该数据与分组有关,其中,给不同的分组提供不同的数据,用于指引它们不同地通过寻址网络,并且每一个专用目的处理器用于执行功能,而不知道总的高层级的分组处理操作。

    依据本发明的另一方面,提供了一种用于处理数据的方法,该方法包括在输入端口接收包含数据分组的流数据;处理接收到的数据分组以便向每一个数据分组提供包括对分组执行的过程的列表及其排序的报头,将报头存储在与该报头相关的分组内;将具有相关报头的分组提供给用于存储的缓冲器;对于缓冲器内的每一个分组:

    依据分组内的报头确定下一个处理器以便处理该分组;

    向该分组提供给确定的下一个处理器以便处理;

    从处理器中接收处理后的分组,并且将它存储在缓冲器中,存储的分组包括:下一个处理器的处理完成的指示和不需要下一个处理器的处理的指示的其中之一;以及

    当在分组的报头中没有指示另外的处理时,将该分组提供给输出端口。

    依据本发明的另一方面,提供了用于处理数据的体系结构,该体系结构包括:

    第一处理器,它接收数据,并且使用从可用的过程中选择的过程的列表及其排序来格式化数据。对数据执行该过程的列表;

    另外的处理器,它用于执行可用的过程中的至少一个过程:以及

    路由存储器,它依据列出过程的顺序,向处理器提供数据以便执行这些过程。

    【附图说明】

    现在将结合附图来描述本发明,其中相似的参考符号表示相似的项目,其中

    图1是用于处理数据的管线处理器的现有技术的方框图;

    图2是使用图1的管线处理器来处理分组的方法的简化流程图;

    图3是本发明的实例的简化体系结构图;

    图4是本发明的实施例的简化流程图;

    图5是依据本发明的处理器体系结构的简化方框图;

    图6是超级分组的数据结构图;

    图7是依据本发明的处理器体系结构的简化方框图;

    图8是依据本发明的处理器体系结构的简化方框图;

    图9a-9d是贯穿被执行的处理操作超级(super)分组的数据结构图;以及

    图10是用于依据本发明的体系结构的处理器阵列的简化方框图。

    【具体实施方式】

    本发明的优选实例的描述如下。

    在数据处理中,通常以被统称为分组的格式接收数据。分组是包括内容数据和分类数据的小的数据集。分类数据包括一个或者多个格式数据、路由数据、数据类型信息、数据分类、分组编组数据等。

    当接收到每一个分组时,依据分类数据来处理该分组,以便依据与数据的分类相关的要求操作数据。

    现在参考图1和图2描述依据现有技术的分组分类以及处理的实例。在图1中显示了串行管线处理器的简化的方框图。显示的处理器具有具有单一的管线路径10,它管线路径处理在数据输入端口12串行接收到的数据。在管线14的第一阶段分类该数据。然后将分类后的数据通过地址线16路由到合适的下一个管线阶段。随后的管线阶段的实例包括译码处理、路由处理等。

    参考图2,显示了对于在输入端口12接收的分组进行分组处理的方法的简化流程图。在20接收该分组。在处理器22分类该分组以便确定分组的格式。此时,格式被加密,因此将加密后的分组数据提供给译码处理器24以便解密。一旦被解密,将明文存储在数据缓冲器26,从数据缓冲器中将该明文传送到目的地处理器28,该目的地处理器再次格式化要被传送到例如个人计算机的通信端口的数据。

    虽然图1和2的分组处理器是有效的,并且使用了典型地被优化以便执行特定任务的基于并行硬件的处理器,然而该处理器的体系结构极其不灵活。每一个管线阶段需要知道紧随其后的所有管线阶段,以便指引部分处理后的分组。同时,一些管线阶段被充分利用,而另一些管线阶段还有待利用。因此,损害了效率。最后,每一个分组沿着具有某些简单交换的相同路径前进,以便确保当不需要这样做时,则不处理分组。

    参考图3,显示了依据本发明的实施例的简化体系结构图。此时,示出具有缓冲器控制器31的数据缓冲器30被设置在分组处理器的中央。该缓冲器存储分组,并且充当缓冲器之间的转接器。缓冲器控制器控制将存储于缓冲器中的分组传送到可用的处理器,并且可以是如所示的独特的处理器,或者通过缓冲器来分配。将接收到的分组首先转发到主处理器32,该处理器进行每一个分组的格式化,以便插入指示处理该分组所需要的过程的报头。该主处理器是可编程的,并且在较高的层次上来理解分组的处理。一旦分组被再次格式化,将该分组返回到数据缓冲器,从该数据缓冲器将该分组路由到处理器34以便执行第一列表功能。例如,在图2的实例中,第一功能确定分组的格式。确定分组格式,并且对于每一个确定的格式,可以从报头内的列表中添加或者删除多个可能的功能。例如,加密后的分组可以具有被添加到该分组上的功能密码,以及某些形式的密钥标识符。然后从缓冲器中将密钥标识符和该分组提供给译码处理器。在译码处理器中,解密该分组,并且将解密后的分组返回到缓冲器。只要在报头中保留了另外的功能,缓冲器就继续将该分组提供给处理器。当报头已空时,则将分组传送到例如在接收到的数据的缓冲器中的用于存储的输出端口36。可选择的是,最后的功能指示将该数据提供到数据输出端口38。

    由于图3中的中央数据缓冲器,处理器的数量和类型容易被变化、更新以及扩展等。每当支持新的功能时,重新对主处理器编程以便知道新的功能和列出该过程的合适的分组。

    有利的是,只有主处理器将功能插入报头。同样地,只有主处理器需要捕获与分组处理有关的数据,以及当改变处理方法或者容量时,只有主处理器需要重新编程。

    参考图4,显示了依据本发明的方法的简化流程图。这里,接收分组。主处理器32插入报头,以指示分类、译码处理、合成分组,并且将合成后的数据提供给数据输出端口,然后接收格式化分组,并且将该分组提供给分类处理器34,该分类处理器拆开分组内的分类数据,并且用已知的分类代码来替换该分类数据。然后将该分组返回到缓冲器。返回的分组具有或者通过从报头中删除该功能,或者通过指示该功能已完成而从中删除的分类步骤。然后,将分类后的分组提供给处理器34、相同或者不同的处理器34以便译码。译码处理器解密分组数据,然后将明文分组返回到缓冲器。现在将该明文分组提供给合成处理器34,该合成处理器检测分组分类信息,以便确定该分组是否是被分段的较大分组的一部分,并且将该分组与已经在合成器中的该较大分组的其他分段合成。当完成较大的分组时,将完成后的分组返回到缓冲器,然后将它提供给输出数据端口38。

    对于本领域的技术人员显而易见,这种体系结构的使用极大地方便了处理器容量的更新、编程和供电。例如,容易添加新的译码处理器。对于缓冲器,将新的资源识别为译码处理器,以便允许缓冲器将具有所需要的密码功能的分组发送到新的处理器。相似地,可以升级或者改变分类处理器,而不会影响处理器系统的其余部分。

    同时,依据图3的核心处理器包括:缓冲器、以及主处理器。主处理器是可编程的,以允许可升级的、以及灵活的分组处理。缓冲器能够识别并且与多个不同的专用处理器接口。当然,如果需要,可以将专用处理器包括在相同的集成处理器内。

    参考图5,显示了依据本发明的另一处理器的简化体系结构图。超级分组缓冲器51与多个数据元件52通信。该数据元件52用于向超级分组缓冲器51提供数据,并且从超级分组缓冲器51接收数据。虽然显示的数据元件D1用于提供数据,并且显示的数据元件D2用于接收数据,但是数据元件52任意地支持与超级分组缓冲器(SPB)51的双向通信。

    SPB还与多个处理器通信。处理器53提供包括确定数据分组所需要的进一步处理的数据处理。处理器54被称为客户端处理器,它们对接收到的分组执行数据处理。典型地,客户端处理器54专门用于自主的、并且可以对孤立的分组执行的单一形式的处理。译码处理就是一种这样的处理。因此,DES加密引擎典型地形成客户端处理器,以便接收数据、加密数据、以及将加密后的数据返回到SPB。

    典型地,由在SPB 51执行的驱动器过程来控制每一个通信端口。例如,DES加密引擎的驱动器过程将典型地从分组中分离报头,并且提供要由处理器加密的数据,以及密钥或者密钥标识符形式的密钥数据。然后DES处理器处理数据,并且将处理的数据返回到重新插入报头数据的驱动器过程,指示DES处理已经完成,并且将分组传送回SPB 51。驱动器过程的使用允许使用非专有处理器以及遗留(1egacy)处理器,以便执行专门的任务。驱动器过程的使用还考虑到了系统的可维护性以及可升级性。

    参考图6,显示了典型的超级分组数据体系结构。该超级分组包括:报头、操作的排序列表,与运算相关的数据、密钥数据、以及分组数据。该报头提供了用于识别超级分组和跟踪该分组的数据。可选择的是,报头还可以包括用于监控性能、调试、安全审核、以及其他功能的审核信息,其中日志较有用。

    控制入口包括在数据缓冲器内的数据所需要的过程即功能的列表。通常以普通的方式来列出这些过程,以便超级分组缓冲器将超级分组路由到多个可用的处理器中的任何一个以执行所述的功能。某些功能需要或者遵循每一个功能标识符、或者按照超级分组内的独立的字段集存储的数据。例如,译码处理器可能需要执行的加密/解密分组的指示。该系统分组报头还可以包括要在处理器中处理的微码。可选择的是,可以将各个处理器所需要的代码的一部分或者全部驻留在处理器中,或者对于处理器而言是可存取的。将密钥数据存储在连续的字段集中,并且典型地由标识符来识别密钥,而不是将密钥数据存储在实际的超级分组的内部。最后,将要被处理的数据包括在超级分组之内。

    参考图7,显示了另一实施例的体系结构图。此时,缓冲器控制器包括保持资源上的信息的可用性等的资源管理器71,而在超级分组缓冲器51内执行的分配的代理72依据分组头,用于向处理器75提供超级分组。特定用户代理73充当驱动器过程的一部分,并且与代理72进行通信,以便确定将由客户端75适当地处理的数据。一旦确定了客户端75,驱动器过程74的其余部分用于格式化该数据,以便由客户端75接收该数据。

    参考图8,显示了用于支持因特网协议安全性(IPSEC)处理的处理器的简化的体系结构图。图9a-9d显示了数据到达具有依据本发明的体系结构的处理器的过程。数据元件81在将数据以超级数据分组的形式提供给超级分组缓冲器51之前,执行数据的入口处理1。超级数据分组包括指示单一过程,即用于处理数据分组的服务处理器82的过程的报头。然后将超级分组提供给IPSEC服务器82,其中,在2将该超级分组转换为指示正确处理的超级分组。具体地说,将识别要被执行的过程的控制数据元件、以及或许控制微码和密钥添加到该分组。IPSEC服务器82是知道要对每一个进入的数据分组执行的整个过程的唯一的处理器。所有其他的处理器执行它们单一的功能而不知道该功能如何适用于整个计划。可以对诸如通用目的处理器或者专用目的处理器的各种处理器进行编程。

    将超级分组从服务器处理器返回到超级分组缓冲器51。一旦如此,则响应控制2,将超级分组提供给用于IP报头处理3的客户端处理器83。作为该过程的结果,在90(图9b)中显示超级分组中的数据具有IP报头信息以及封装安全有效负荷(ESP)报头信息。然后将过程即控制2标记为已执行,并且将该超级分组返回到超级分组缓冲器51。下一个过程4即由控制3表示的过程,即3DES加密。客户端84提供该功能。将超级分组提供给客户端84,在其中如图9b中的92所示,执行加密,并且将功能控制3标记为已经执行。要被执行的下一个功能5是HMAC96-MD5的认证。客户端85执行该功能。将超级分组提供给客户端85,其中,如图9c中的94所示,将散列消息认证码(HMAC)添加到缓冲器内的数据,并且一旦该功能被标记为已经被执行,则将该超级分组返回到超级分组缓冲器51。

    下一个功能6是控制5,该控制需要IPSEC头处理。客户端83能够执行该功能以及控制2的功能。将超级分组提供给客户端83,在其中如图9c中的96所示,重新格式化该数据。再一次将功能控制5标记为已经执行,并且将该超级分组返回到超级分组缓冲器。最后,其余的功能与由数据元件86执行的出口处理7相关,并且在图9d的98中显示了处理的结果。从超级分组中分离它的报头,以便留下用于通信的处理后的数据分组。可选择的是,可以将分离的头信息提供给服务器82,以便用于性能的实时监控以及性能数据的记录。

    对于本领域的技术人员显而易见,只向服务器提供与整个过程有关的数据。使用新版本的译码处理器来替换译码处理器客户端84对于整个体系结构和系统几乎不具有影响。虽然服务器82需要知道执行过程的步骤,这些步骤是高级别的,并且服务器82不需要理解与3DES、IP头处理、或者HMAC有关的任何事情。有利的是,可以将新的客户端处理器简单地添加到系统上以便提供多于一个的单任务的处理器,而不必替换客户端处理器以获得较高的吞吐量。

    虽然参考典型实施例描述了该体系结构,可以使用单一的集成电路来实现整个处理器体系结构。优选的是,考虑到未来的专用模块以及特定应用的数据处理客户端模块,集成电路向外部处理器提供接口。

    当然,当以相同的顺序足够多次地执行单组的处理功能时,最好将这些功能组成为单一的客户端处理器。例如,加密是组合起来的多个不同的功能。当所需要的IPSEC分组处理量等于所需要的每一个客户端处理器的整个吞吐量时,最好将包括在管线中设置的相同功能元件的IPSEC分组处理器用作超级分组缓冲器的客户端处理器。这样,删除了较多的SPB开销。当然,使用客户端处理器进行其他处理操作的灵活性也会丢失,当资源利用小于最大的资源利用时,通常最好保持更灵活的体系结构。

    可选择的是,单一的管线处理器设置有多个输入端口,以便提供对整个管线、或者对形成管线处理器的一部分的单一的有待利用的处理器的访问。当然,这样的实施例显著地增加了管线处理器的复杂度,因此,与使用如上所述的单独的客户端处理器或者专用功能管线处理器相比,该实施例较不被应用。

    依据图10所示的本发明的另一实施例,在网络中相互连接了许多处理器。服务处理器100在超级分组的控制数据中,存储用于在处理器阵列102内交换超级分组的交换信息。将分组从服务器处理器100指引到第一处理器102以便处理。分离报头和分组数据以便不影响数据的处理。当处理数据时,将头数据提供给输出寻址交换机,并且以伪管线的方式将超级分组数据自动地路由到随后的处理器。互连线路和输出交换机用于前面的实施例中的分组缓冲器中的互连功能。这样的实施例降低了灵活性、可扩展性等,而增加了整个硬件的复杂度。如所述的,这样的实施例的性能很可能优于如上所述的更为灵活的体系结构,而在许多应用中,灵活性的缺乏等不被认为是很大的缺点。

    可选择的是,由于超级分组包括与各个过程有关的数据,因此可以编码可执行的代码以便在处理器上执行。同样的,提供通用目的处理器,当需要在专用目的客户端处理器范围之外的功能时,将可执行的代码和超级分组提供给通用目的处理器以便处理。此外,可选择的是,只提供指向代码的指针以便降低整个的超级分组的尺寸。

    依据这些图,本发明特别适合于加密功能,其中在单一的功能模块中保护秘密密钥以便提高整个系统的安全性。超级分组缓冲器按照需要,将分组指引到不同的模块,以便执行处理而不会损坏在这些模块中存储的秘密密钥。

    在不脱离本发明的精神或者范围的情况下,可以构造另外的许许多多的实施例。

分组加密系统和方法.pdf_第1页
第1页 / 共32页
分组加密系统和方法.pdf_第2页
第2页 / 共32页
分组加密系统和方法.pdf_第3页
第3页 / 共32页
点击查看更多>>
资源描述

《分组加密系统和方法.pdf》由会员分享,可在线阅读,更多相关《分组加密系统和方法.pdf(32页珍藏版)》请在专利查询网上搜索。

一种处理器,该处理器具有接收要被加密处理的数据分组的输入端口。主控制器用于分析分组,并且提供包括要对分组执行的过程的列表及其排序的报头。使用与处理器的整个处理功能相关的涉及过程的数据来对主控制器进行编程。将该报头添加到数据分组。将具有附加的头信息的分组存储在缓冲器内。缓冲器控制器依据分组内的报头,为存储在缓冲器内的每一个分组确定下一个处理器,以便处理该分组。然后,控制器将该分组提供给确定的处理器以。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1