分组路由设备和分组路由方法

文档序号:7850403阅读:213来源:国知局
专利名称:分组路由设备和分组路由方法
技术领域
本发明涉及使用分组数据传输的分组路由设备及其方法,尤其涉及为加密的分组数据执行协议变换的技术。
背景技术
最近,一种始终连接的宽带、例如ADSL(非对称数字用户线)、光纤网络等传输大量通信内容的访问网络甚至在家用层面已经迅速得到广泛的运用。大量的把家庭里的家用电器有机地结合起来的家庭网络正在进行标准化。ECONET、IEEE1394和家用PNA可以被用来作为它的典型例子。
可以想像,用户可以通过控制一个能够在他所到的地方连接到因特网上的手持终端并借助因特网或家用网络向家里的家用电器传送控制信号来遥控这些家用电器。这样遥控家用电器给用户增加了便利性,同时为家用电器带来了新的价值。随之而来的,带给消费电子产品制造者的就是增加产品的附加价值。
遥控是以在服务提供方和用户方之间的信任和安全的交易为前提的。然而,当使用因特网、室内/室外无线网络、电线网络的时候,在遥控信息传输的过程中,不可能总是防止信息的窃听和伪造,存在由于恶意的第三方伪造遥控信息而造成的机械错误的风险。特别地,当控制加热器或热水供应器的时候,存在由于错误导致火灾的危险。
作为解决这样问题的方法,这里介绍对传输的内容加密和置入杂乱值来检测伪造数据的方法。工作于各种各样的网络协议的标准化的团体具有增强安全的工作任务,正致力于将安全功能附加在协议上。作为这些尝试的结果,加密通信协议、例如L2TP(第二层隧道协议)、IPsec(IPv4版本、IPv6版本)、SSL(安全套接字层)和适应加密的ECONET都被标准化了。这些加密通信协议包括作为加密算法的DES(数据加密标准)、3DES(三重DES)和AES(高级加密标准),它们能部分地对编码数据的任意区域解密。
实现遥控家用电器的问题在于在户外用于因特网的加密通信协议与在家中用于家用网的协议是不同的。在这种情况下,就需要一种用来变换这些加密通信协议的分组路由设备。
已经公开了一种加密通信系统,它允许使用不同加密密码的终端安全地完成对加密通信的加密变换处理(即,参考日本公布专利No.2001-211421)现在是上面提到的用于因特网的协议类型的过渡时期,为了增强安全性,各种各样的协议被标准化,所有这些都作为新的安全协议被引入。这些新的安全协议包括IPsec、SSL和适应加密的ECONET。人们期望出现这样一种路由设备,它使用多个这种安全协议接收从外部网络传输来的分组数据,在接收到遵从这些多个安全协议之一的分组数据、然后把它变换为用于家用网的安全协议之后,把分组数据传输到每一个家用电器的目的地。
即使当室内和室外的加密通信协议共用可以对分组数据部分解密的一个算法和一个加密密钥的时候,为了获得存储在加密分组数据所包含的头部、尾部等中的通信控制信息,传统的分组路由设备不仅在存储在分组数据中的加密信息的头部而且在信息量大于头部的有效负载部分进行解密和加密。
图22是一个显示传统分组路由设备的分组数据处理过程的方框图。分组数据2201由明文控制信息310、具有相对少量的信息的加密通信控制信息320和具有大量信息的加密用户信息330组成。然后分组路由设备对从借助通信网络连接的第一网络I/F单元201接收到的分组数据2201执行协议变换工作,然后把它作为分组数据2202从第二网络I/F单元205输出。
如图22所示,在对要被解密的数据区域解密时,传统的路由设备必须对包括用户信息330的分组数据2201的全部数据区域进行解密,而用户信息330通常不需要被解密为解密的用户信息2230。然后,执行对解密通信控制信息500和明文通信控制信息310的协议变换,此外,在向第二网络I/F单元205发送分组数据2202之前,包括解密的用户信息2230和其它信息的分组数据2202需要再次被加密。
然而,当输出遵从通信网络的一个通信协议并且从通过通信网络连接的遵从适应于其它通信网络的不同的通信协议的终端设备接收到的分组数据时,为了获得存储在加密的分组数据的头部、尾部或类似部位的通信控制信息,传统的分组路由设备重复地对包括通常不需要被解密的用户信息的整个数据区域进行加密和解密。
通常说来,因为加密和解密需要许多处理步骤,所以实现高速协议变换处理需要昂贵的顶级CPU和专用的硬件。因此,当提供给用户便利、比如遥控家用电器的时候,分组路由设备需要昂贵的器件,成本很高。
既然对用户信息等的解密是在分组路由设备解密分组数据的时候执行的,那么恶意的第三方能够容易地截取高度机密的用户信息或类似信息也成为一个问题。

发明内容
鉴于上述的情况,本发明已经被构思出来,这个发明的第一个目的是提供一种分组路由设备,它能够使用多个安全协议从外部网络接收分组数据,然后将分组数据变换为遵从用于家中的家用网络的安全协议的分组数据。
第二个目的是提供一种在使用低价格及低性能的CPU等的情况下允许对加密通信进行高速协议变换处理的分组路由设备。再者,第三个目的是提供一种能确保对包括高度机密信息的分组数据的路由处理中的安全性和防止恶意的第三方企图截取或类似处理的分组路由设备。
为了达到以上的目的,依据本发明的用于路由要在外部网络和家庭网络之间发送的分组数据的分组路由设备包括一个接收单元,可用于通过外部网络从第一终端设备接收遵从多种安全协议之一的分组数据;一个判断单元,可用于判断用于通过外部网络通信和通过家庭网络通信的安全协议的类型、加密算法和加密密钥;一个变换单元,可用于基于判断单元做出的判断把由接收单元接收到的分组数据的安全协议变换为用于家庭网络的第二安全协议;以及一个输出单元,可用于向第二终端设备输出其协议已经被变换单元变换的分组数据。
因此,依据本发明的分组路由设备允许用户通过把附加了控制信息的分组数据从遵从用于外部网络的各种安全协议的终端设备安全地传输到用在家中的家庭网络的终端设备来遥控家用电器,这样就提高了用户的便利性。
并且,在依据本发明的分组路由设备中,接收单元接收到的分组数据包含一个包括明文通信控制信息和加密通信控制信息的头部和一个包括加密用户信息的主体部分,该分组路由设备进一步包括一个识别单元,可用于从接收到的分组数据中识别加密通信控制信息;一个解密单元,可用于对已识别的加密通信控制信息解密;以及,一个分组产生单元,可用于产生其协议被变换单元变换的分组数据,该分组数据包括解密通信控制信息和用户信息,其中变换单元将被解密单元解密的通信控制信息变换为遵从第二安全协议的通信控制信息,而输出单元输出由分组产生单元产生的第二安全协议的分组数据。
从而,通过使用本发明的分组路由设备,相比于通信控制信息具有更多数据量的用户信息没有被解密。这减少了需要许多处理步骤的解密处理的执行数量,因此实现了即使在使用低价及低性能的CPU等的情况下也能够完成高速协议变换处理的分组路由设备。
本发明不仅实现了如上所述的路由设备,而且实现为一种将包括在路由器当中的单元作为步骤的路由方法和实现为在计算机等系统中的路由方法的程序。程序既可以通过诸如DVD、CD-ROM之类的存储介质又可以通过诸如通信网络等传输介质分布。
依据本发明的分组路由设备允许用户通过把附加了控制信息的分组数据从遵从用于外部网络的各种安全协议的终端设备传输到用在家中的家庭网络的终端设备来进行遥控,这样就提高了用户的便利性。
并且,包含比通信控制信息更多数据量的用户信息没有被解密,因此,减少需要许多处理步骤的解密处理的执行数量就成为可能。实现了即使在使用比如低价及低性能的CPU等的情况下也能够对加密通信执行高速协议变换处理的分组路由设备,适合于现在的传输大块内容的趋势。
并且,即使在包含在分组数据的加密通信控制信息是可变的情况下,加密通信控制信息的存储位置也可以很容易地被识别出来。由于这个缘故,能够确定地减少需要许多处理步骤的解密处理的执行数量,能够实现对加密通信提供高速协议变换处理的分组路由设备。
因此,在由路由设备操作的分组数据处理期间,用户信息仍然保持加密状态,从而,防止高度机密的信息被恶意的第三方截取到。
作为对本申请的技术背景更进一步的信息,在这里以参考方式加入2002年8月6日提交的申请号为2002-229100的日本专利申请。
附图简要说明

图1是显示包括依据第一个实施例的分组路由设备的网络系统结构的一个例子的框图。
图2是显示依据第一个实施例的分组路由设备结构的功能方框图。
图3是显示用于第一个实施例的分组数据的数据结构的框图。
图4是显示依据第一个实施例的分组路由设备的操作过程的流程图。
图5是显示依据第一个实施例的分组数据处理过程的示意图。
图6是显示由依据第一个实施例的分组路由设备执行的分组数据协议变换处理过程的示意图。
图7是显示包括依据第二个实施例的分组路由设备的网络系统结构的一个例子的框图。
图8是显示依据第二个实施例的分组路由设备结构的一个例子的功能框图。
图9是显示当分组数据从外部网络的终端设备传输到家中的终端设备时依据第二个实施例的分组路由设备的操作过程的流程图。
图10是显示当分组数据从外部网络的终端设备传输到家中的终端设备时依据第二个实施例的分组路由设备的操作过程的流程图。
图11是显示由依据第二个实施例的分组路由设备执行的分组数据协议变换处理过程的示意图。
图12是显示由依据第二个实施例的分组路由设备执行的分组数据的另一个协议变换处理过程的示意图。
图13是显示包括依据第三个实施例的分组路由设备的网络系统结构的一个例子的示意图。
图14是显示依据第三个实施例的分组路由设备结构的功能框图。
图15是显示用于第三个实施例的分组数据的数据结构的示意图。
图16是显示依据第三个实施例的分组路由设备的操作过程的流程图。
图17是显示依据第三个实施例的分组路由设备的操作过程的流程图。
图18是显示用于第四个实施例的分组数据的数据结构的示意图。
图19是显示依据第四个实施例的分组路由设备的操作过程的流程图。
图20是显示由依据第四个实施例的分组路由设备执行的分组数据协议变换处理过程的示意图。
图21是显示用于本发明中分组数据的数据结构的一个例子的示意图。
图22是显示由传统的分组路由设备执行的分组数据处理过程的示意图。
实现发明的最佳方式从下面结合示例本发明的特定实施例的附图的描述,这个发明的这些和其他目的、优点和特点将变得清楚。在附图中(第一个实施例)以下描述依据本发明的第一个实施例的分组路由设备101。
图1是显示包括第一个实施例的分组路由设备101的网络系统结构的一个例子的框图。
第一个实施例的分组路由设备101是通过在IP分组所需的逐块的基础上执行加密(包括解密)处理和协议变换之后将其重新构造成一个分组来输出一个输入的IP分组的设备。分组路由设备101的特征在于只对分组数据301中的加密通信控制信息320执行解密操作、协议变换和加密处理。第一终端设备102和第二终端设备103借助分组路由设备101相连以建立一个网络系统。
第一终端设备102连接到第一网络并为加密通信应用第一通信协议,而图1所示的第二终端设备103连接到第二网络并为加密通信应用第二通信协议。第一网络例如是因特网,而第二网络是诸如ECONET等的家庭使用的通信网络。
在图1中,由于在每一个终端设备采用的加密通信协议各不相同,分组路由设备101被设置在第一终端设备102和第二终端设备103之间,它理解两种不同的加密协议并且将数据从一种加密通信协议变换到另一种加密通信协议。
由第一终端设备102发送到分组路由设备101的分组数据301包含明文控制信息310、加密通信控制信息320和加密用户信息330,而由分组路由设备101输出到第二终端设备103的分组数据502包含明文控制信息510、加密通信控制信息530和加密用户信息330。分组路由设备101对于要被变换为遵从不同于用于第一终端102的通信协议的第二通信协议的分组数据502的分组数据301执行协议变换。
实施本实施例的先决条件是第一终端设备102和第二终端设备103共用加密算法和加密密钥,而且加密算法使用具有ECB(电子密码本)模式以及能够对加密数据的任意区域进行部分解密的DES(数据加密标准)、3DES或AES(高级加密标准)等。第一终端设备102、第二终端设备103和分组路由设备101在开始传输之前可以使用任意方法共用加密算法和加密密钥。
图2是显示分组路由设备101结构的功能方框图。分组路由设备101是一个中间设备,诸如家用服务器和路由器等,包括第一网络I/F单元201、解密单元202、协议变换单元203、加密单元204、第二网络I/F单元205和传输分组数据301的总线206。在功能方框2中所示的每个部件是描述本实施例的一个实例,依据本发明的分组路由设备101的结构并不局限于图2所示的结构。
第一网络I/F单元201是一个接口电路或者类似物,它借助第一网络I/F单元201向第一终端设备102及从第一终端设备102传输分组数据301。解密单元202包含通信控制信息分析单元202a和通信控制信息解密单元202b,对被第一网络I/F单元201(或者第二网络I/F单元205)接收到的遵从第一通信协议的分组数据301解密,并且把它输出到协议变换单元203。通信控制信息分析单元202a使用包含在分组数据301中的明文通信控制信息310来分析加密通信控制信息320的数据长度。通信控制信息解密单元202b从通信控制信息320的头部位置开始,基于分析的数据长度,仅对需要被解密的数据长度进行解密。
协议变换单元203接收从解密单元202输出的分组数据301,对该数据执行协议变换,以使加密协议变换为遵从第二个通信协议的协议,并且把协议变换的结果输出到加密单元204。
加密单元204由通信控制信息加密单元204a和分组构造单元204b组成。通信控制信息加密单元204a对其协议已经被协议变换单元203变换的分组数据502进行加密,而分组构造单元204b执行分组的构造并且把它输出到第二网络I/F单元205。第二网络I/F单元205是用于向加密单元204和自加密单元204传输分组数据以及借助第二网络I/F单元205向第二终端设备103和自第二终端设备103传输的接口电路。
解密单元202、协议变换单元203和加密单元204可以用CPU、存储有控制程序的ROM或者用作工作区的RAM等来实现。
图3是显示用于第一个实施例的分组数据301的数据结构的示意图。长度例如为1500字节的分组数据301从数据的头部开始包含明文通信控制信息310、加密通信控制信息320和加密用户信息330。在第一个实施例中,加密通信控制信息320例如具有10字节的数据长度,它假定是可变的。
明文通信控制信息310既包含加密通信控制信息320的头部位置信息311,又包含它的尾部位置信息312,它们在对加密通信控制信息320和加密用户信息330解密时是必要的,明文通信控制信息310还包含加密用户信息330的头部位置信息313及其尾部位置信息314以及其它路由信息等。头部位置信息311和尾部位置信息312分别识别包含在分组数据301内的加密通信控制信息320的头部位置和尾部位置。头部位置信息313和尾部位置信息314分别识别包含在分组数据301内的加密用户信息330的头部位置和尾部位置。
加密通信控制信息320用于加密通信的一个终端,包括在通信等过程中不想被截取的信息,而加密用户信息330用于加密通信的两个终端,也包括在通信等过程中不想被截取的信息。
以下描述依照如上所述构成的第一个实施例的分组路由设备101的操作。
图4是一个显示依据第一个实施例的分组路由设备101的操作过程的流程图。包含在解密单元202中的通信控制信息分析单元202a从在由第一网络I/F单元205传输来的分组数据301中的明文通信控制信息310获得加密通信控制信息320的头部位置信息311和尾部位置信息312(步骤401)。然后,通信控制信息分析单元202a通过从尾部位置信息312的地址值减去头部位置信息311的地址值,计算出加密通信控制信息320的数据长度(步骤402),并分析加密通信控制信息320的数据长度是否是用于加密算法的处理块的数据长度的倍数(步骤403)。
当分析显示加密通信控制信息320的数据长度不是用于加密算法的处理块的数据长度的倍数时,分析单元202a把待解密的数据的长度设置为用于加密算法的处理块的数据长度的倍数值,它超过加密通信控制信息320的数据长度,并且是最小的(步骤414)。
然后,通信控制信息解密单元202b解密从加密通信控制信息320的头部位置开始的数据长度,即图6中显示的要被解密的数据范围602指示的数据的范围(步骤415)。在结束解密的时候(步骤415),产生了在图6中显示的解密通信控制信息500。在步骤415中解密的数据被分成解密通信控制信息500和解密的加密用户信息631,如图6所示(步骤416),解密通信控制信息500例如被复制到RAM中的其它存储区域。
协议变换单元203把填充数据、即加密用户信息633添加到加密用户信息631,以使解密的加密用户信息631等于如图6所示的用于加密算法的处理块的数据长度(步骤417)。通信控制信息加密单元204a把加密用户信息631和填充数据633加密成加密用户信息330(步骤418)。
然后协议变换单元203通过对遵从第一通信协议的明文通信310和解密通信控制信息500执行协议变换,重新产生明文通信控制信息510和预加密通信控制信息520,以使它们遵从第二通信协议(步骤406),然后把遵从第二安全协议的通信控制信息分离成明文通信控制信息510和预加密通信控制信息520(步骤407)。
然后,包含在加密单元204中的通信控制信息加密单元204a接着对预加密通信控制信息520加密,产生加密通信控制信息530(步骤408)。之后,分组构造单元204b把明文通信控制信息510、加密通信控制信息530和加密用户信息330合并到一起构成分组数据502(步骤409)。
分组构造单元204b在明文通信控制信息510中记录关于加密通信控制信息530的头部位置和尾部位置的信息(步骤410)以及加密用户信息330的头部位置信息和尾部位置信息(步骤411)。当记录(步骤411)结束时,就实现了分组数据502的构造,完成了对加密通信的一系列协议变换。
另一方面,当分析显示加密通信控制信息320的数据长度是用于加密算法的处理块的数据长度的倍数时,解密单元202把要解密的数据长度设置为加密通信控制信息320的数据长度(步骤404),并且只对在步骤404中由解密单元202设置的数据长度进行解密(步骤405)。然后协议变换单元203通过对遵从第一通信协议的明文通信310和解密通信控制信息500执行协议变换,重新产生明文通信控制信息510和预加密通信控制信息520,以使它们遵从第二通信协议(步骤406)。然后协议变换单元203把遵从第二通信协议的通信控制信息分离成明文通信控制信息510和预加密通信控制信息520(步骤407)。
然后,加密单元204对预加密通信控制信息520加密,产生加密通信控制信息530(步骤408)。之后,分组构造单元204b把明文通信信息510、加密通信控制信息530和加密用户信息330合并到一起构成分组数据502(步骤409)。然后分组构造单元204b在明文通信控制信息510中记录关于加密通信控制信息530的头部位置和尾部位置的信息(步骤410)以及加密用户信息330的头部位置信息和尾部位置信息(步骤411)。这样,就实现了分组数据502的构造,因此完成了对加密通信的一系列协议变换。
图5是显示由第一个实施例的分组路由设备101执行的分组数据处理过程的示意图。分组数据301是要从第一网络I/F单元201输入到分组路由设备101的数据,包括明文通信控制信息310、加密通信控制信息320和加密用户信息330。
分组路由设备101从明文通信控制信息310获取加密通信控制信息320的头部位置信息311和尾部位置信息312,得到加密通信控制信息320的数据长度,仅仅把部分加密通信控制信息320解密为解密通信控制信息500。
然后,分组路由设备101对解密通信控制信息500和明文通信控制信息310执行协议变换,分别成为预加密通信控制信息520和明文通信控制信息510。
只有分组数据502的预加密通信控制信息520的一部分被加密为预加密通信控制信息530。然后,构造包含明文通信控制信息510、加密通信控制信息530和加密用户信息330的分组数据502,并从第二网络I/F单元205输出。用这种方法,完成由分组路由设备101对加密通信进行的一系列协议变换处理。
图6是显示由分组路由设备101执行的协议变换处理过程的示意图。可以部分地对加密数据的任意区域进行解密的DES、3DES或AES等在处理过程中用作加密算法。
例如,DES能够使用一个是64比特的倍数的数据长度单位对加密通信控制信息320进行加密。图6显示了加密通信控制信息320的数据长度不是64比特的倍数的情况的一个例子。在图6中,加密处理块601的数据长度和要解密的数据范围602用双头箭头表示。例如,加密处理块601的数据长度设置为64比特。
通信控制信息320是关于IPv6、ECONET等的信息,通信控制信息320的数据长度不能使用加密算法用任意的数据长度解密。因此,需要被解密的数据范围定义为数据范围602,等同于包括通常不需要解密的加密用户信息330的一部分的用于加密的处理块的两个块的数据长度。
然后,对解密通信控制信息500执行协议变换,以使其数据长度压缩为用于加密的处理块的数据长度。在这种情况下,将加密用户信息的填充数据633加到解密加密用户信息631,以使解密的加密用户信息631的数据长度等于加密算法的处理单元数据长度。
填充数据633和解密的加密用户信息631被加密为加密用户信息330,预加密通信控制信息520也被加密为加密通信控制信息530。然后,产生包含已变换通信控制信息510、530和用户信息330的分组数据502。
这样,输入到分组路由设备101的分组数据301包含了表示存储通信控制信息320的位置以识别它的位置信息311和312。
传统的路由设备为了得到通信控制信息,必须对整个加密的分组数据的数据区域进行加密或解密,然而,在本实施例中,路由设备不必这样做,可以仅对包含在头部的通信控制信息320的区域进行解密。因此,就简化了比通信控制信息320具有更大数据量的用户信息330的解密,它减少了需要许多处理步骤的解密处理的执行数量。这实现了可以执行协议变换处理的分组路由设备,即使在终端设备使用廉价的低成本的部件比如CPU等的时候对于加密通信也能执行高速的协议变换处理。这样就有可能提供适应当前的宽带和传输大块通信内容的趋势的分组路由设备。
因为在协议变换处理的过程中用户信息330保持加密,所以第一个实施例的分组路由设备101在包括含有高度机密信息的用户信息330的分组数据301的处理期间也确保安全。因此很容易防止被恶意的第三方企图截取或类似的行为。这样,就可以提供在因特网的协议类型的转换期间适于通信控制信息变换的分组路由设备101。
包含在分组路由设备301中的明文通信控制信息310也包含用户信息330的头部位置信息313和尾部位置信息314。因此,很容易识别出用户信息330的数据区域,不再需要像在传统情况中一样对分组数据的整个区域重复地进行解密和加密处理。这导致减少了需要大量处理步骤的解密处理的执行数量。因此即使在终端设备使用廉价和低性能的器件比如CPU等的时候,分组路由设备也可以实现对加密通信进行高速的协议变换处理。
通过使用在第一个实施例中描述的分组路由设备101,当通信控制信息320的数据长度不是用于加密算法的处理块的数据长度的倍数时,通过把解密加密用户信息631加上填充数据633来对在最小需求的数据范围的用户信息631解密,以使解密的加密用户信息631被再次加密为加密算法的倍数。这样,相比于通信控制信息320来讲具有更多数据量的用户信息330的解密处理可以简化了,这导致分组数据301的解密处理的执行数量的最小化,即使用低价及低性能的CPU都可以实现高速协议变换处理。
在本实施例中显示的各种类型的数据的每一个尺寸都被设置为一个使描述易于理解的例子,每一个值没有严格地限制。尽管本实施例没有假设其它各种情况,但其它的值当然可以用来替代这些尺寸。
在本实施例中显示的包含在明文通信控制信息310内的位置信息311、312、313和314的位置关系是一个例子,不应将其限制于此。包含在本实施例的分组数据301内的信息310、320和330也是用于解释的示例,其它信息可以包含在分组数据中。同样地,明文通信控制信息310、加密通信控制信息320和用户信息330的位置关系不被限制为在本实施例中描述的情况,其结构可以是不同的。即加密通信控制信息320可以仅在用户信息330之前、仅在用户信息330之后或既在用户信息330之前又在用户信息330之后放置。
(第二个实施例)图7是显示包括依据本发明的第二个实施例的分组路由设备101的网络系统结构的一个例子的示意图。
在这个网络系统中,用户可以通过使用一种安全通信协议发送和接收附带有控制信息的分组数据,在用于户外的诸如个人电脑701和手机702等的终端设备和电饭煲705等用于家庭的设备之间安全地发送和接收控制信息。
分组路由设备101接收从使用各种类型的协议的外部网络上的终端设备传送的分组数据,并对分组数据执行协议变换以遵从用于在家中的家庭网络的安全协议,然后把分组数据传输到家用电器。
用于外部网络的安全协议的类型包括IPsec、SSL和ECONET等,在家庭使用的安全协议的类型包括ECONET和其他协议。关于用于这些安全协议的加密算法,可以使用在加密数据的任意区域允许部分解密的具有ECB模式的DES、3DES或AES等。在这种情况下,分组路由设备101假定不管怎样要存储关于用于外部网络和家庭网络的安全协议、加密算法和加密密钥的信息,例如,在开始传输之前在使用外部手机的情况下预先记录安全协议。
在图7中,在外部网络上的终端设备PC 701和手机702借助网络连接到安装在户内的分组路由设备101。家中的终端设备借助分组路由设备101连接到外部网络。家中的终端设备是日常生活使用的家用电器,例如空调器704、电饭煲705、热水器706、录像机707、PC708及其它电器。这些家用电器借助使用LAN的家庭网络彼此相连。这样,通过借助分组路由设备101连接外部网络的终端设备和放置在户内的终端设备,就建立了网络系统。
依据第二个实施例的分组路由设备101减少了需要许多处理步骤的解密和加密处理,因此可以仅对包含在分组数据301内的加密通信控制信息320执行解密、协议变换和加密处理。以后将参照图9到12进行详细地描述。
图8是显示分组路由设备101的结构的一个例子的功能框图。对与第一个实施例中同样的结构给出同样的标记,并且省略了详细的描述。
分组路由设备101的特征在于具有一个存储表802的存储单元801。在外部网络上的每一个终端设备的各种类型的IP地址、安全协议、加密算法和加密密钥被存储在表802中。IP地址是例如采用32比特表现的数字数据,它也是指示连接到网络的终端设备和路由器的地址的信息。
解密单元202根据用于外部网络的安全协议的加密算法和加密密钥来对由第一网络I/F单元201(或第二网络I/F单元205)所接收到的分组数据301解密,并把它输出到协议变换单元203。这里,解密单元202通过读出在接收到的分组数据301中的通信控制信息310来指定源终端设备的IP地址,并参考表802也确定与此IP地址对应的安全协议、加密算法和加密密钥的类型。然后如第一个实施例所述,当外部网络和家庭网络共用加密算法和加密密钥时,解密单元202仅对加密通信控制信息320的一部分进行解密,当外部网络和家庭网络不共用加密算法和加密密钥时,对加密通信控制信息320和用户信息330都要进行解密。
协议变换单元203接收被解密单元202解密的分组数据301。当用于借助外部网络传送的分组数据301的安全协议与用于家庭网络的安全协议不同时,参照被存储单元801存储的表802,协议变换单元203对明文通信控制信息310和加密通信控制信息320执行协议变换,使其遵从家庭网络的安全协议,并且将协议变换后的分组数据502输出到加密单元204。
在加密单元204中,通信控制信息加密单元204a使用用于家庭网络的加密算法和加密密钥对其协议已被协议变换单元203进行变换的分组数据502进行加密。然后,分组构造单元204b构造包括通信控制信息510、530和用户信息330的分组,并把它输出到第二网络I/F单元205。然后第二网络I/F单元205接收来自加密单元204的分组数据502,并传送到家中的目的终端设备。
如第一个实施例所描述,解密单元202、协议变换单元203和加密单元204使用CPU、存储控制程序的ROM和作为工作区的RAM或类似的器件来实现。
下面将描述如上所述构造的依据第二个实施例的分组路由设备101的操作。
图9是依据第二个实施例的显示当分组数据301从外部网络的终端设备传输到家中的终端设备时分组路由设备101的操作过程的流程图。该图假定用于通过外部网络通信的安全协议不同于用于通过家中的网络通信的安全协议的情况。
首先,当分组数据301从外部网络的终端设备传输时,第一网络I/F单元201获取它(S901)。解密单元202读出自第一网络I/F单元201传输的分组数据301中的通信控制信息310,并获得源终端设备的IP地址。然后,解密单元202根据获得的IP地址和存储单元801中存储的表802还识别出家庭网络中的目的终端设备(S902)。
然后,为了识别安全协议,解密单元202参照表802判断源终端设备所使用的安全协议是否与家用通信网络所使用的安全协议不同(S903)。在本图中描述了安全协议不同的情况(S903中的是)。
接下来,解密单元202比较外部网络的终端设备和家庭网络的终端设备所使用的安全协议、加密算法和加密密钥(S904)。当两边使用相同的加密算法和加密密钥时(S904中的否),包含在解密单元202中的通信控制信息分析单元202a通过使用发送自第一网络I/F单元201的分组数据301中的明文通信控制信息310来获得加密通信控制信息320的头部位置信息311和尾部位置信息312(S401),通过从尾部位置信息312的地址值中减去头部位置信息311的地址值计算出加密通信控制信息320的数据长度。当分析出加密通信控制信息320的数据长度是加密算法所使用的处理块的数据长度的倍数时,解密单元202仅对加密通信控制信息320的数据长度解密(S405)。通过对遵从外部网络上的终端设备的安全协议的明文控制信息310和解密通信控制信息500执行协议变换以遵从家庭网络所用的安全协议,协议变换单元203重新创建明文通信控制信息510和预加密通信控制信息520(S406),并且把遵从用于家庭的安全协议的通信控制信息分离为明文通信控制信息510和预加密通信控制信息520(S407)。
然后,加密单元204对预加密的通信控制信息520加密并且产生预加密通信控制信息530(S408)。分组构造单元204b把明文通信控制信息510、预加密通信控制信息530和加密用户信息330组合在一起,构成分组数据502(S409),完成对加密通信的协议变换处理。
当每方所用的加密算法和加密密钥不同的时(S904中的是),通信控制信息分析单元202a获得通信控制信息320的头部位置信息311和尾部位置信息312(S905),然后再获得用户信息330的头部位置信息313和尾部位置信息314(S906)。
通信控制信息解密单元202b对处于加密通信控制信息320的头部位置和加密用户信息330的尾部位置之间的数据区域解密(S907)。协议变换单元203对明文通信控制信息310和解密通信控制信息320执行协议变换,由遵从用于外部网络的安全协议变换成遵从用于家中的安全协议(S908),并把遵从用于家中的安全协议的通信控制信息分离为明文通信控制信息510和预加密通信控制信息520(S909)。
然后,通信控制信息加密单元204a使用包含在加密表1401中的信息对变换后的预加密通信控制信息520和解密用户信息2230加密(S910)。分组构造单元204b然后把明文通信控制信息510、加密通信控制信息530和加密的用户信息330组合在一起(S409),完成对加密通信的协议变换。
图10是依据第二个实施例的显示分组数据301从外部网络的终端设备传输到家庭网络的终端设备时分组路由设备101的操作过程的流程图。该图显示了用于通过外部网络通信的安全协议和用于家庭网络的安全协议相同时的情况。
首先,当从外部网络的终端设备传送分组数据301时,第一网络I/F单元201获得该分组数据(S901)。解密单元202从第一网络I/F单元201传送出的分组数据301中读出通信控制信息310并获得源终端设备的IP地址。参照获得的IP地址和存储单元801所存储的表802,解密单元202还识别出源终端设备(S902),同时还有目的终端设备和用于家庭终端设备的安全协议(S903)。图中描述了两边所用安全协议相同时的情况(S903中的否)。
解密单元202然后把外部网络上的终端设备的安全协议所用的加密算法和加密密钥与家庭网络上的终端设备的安全协议所用的加密算法和加密密钥进行比较(S904)。当两边使用相同的加密算法和加密密钥时(S1001中的是),第二网络I/F单元205把从外部网络的终端设备接收的分组数据输出到家中的目的终端设备(S1002)。
另一方面,当每一边使用不同的加密算法和加密密钥时(S1001中的是),第二网络I/F单元205获得通信控制信息320的头部位置信息311和尾部位置信息312(S905),然后再获得用户信息330的头部位置信息313和尾部位置信息314(S906)。
通信控制信息解密单元202b解密处于加密通信控制信息320的头部位置和加密用户信息330的尾部位置之间的数据区域(S907)。因为在外部网络上的终端设备的安全协议和在家中的终端设备所用的安全协议是相同的,因此协议变换单元203无须为分组数据执行协议变换,它将遵从用于家庭网络的安全协议的通信控制信息分离为明文通信控制信息510和预加密通信控制信息520(S909)。
通信控制信息加密单元204a参考加密表1401使用用于家庭网络的加密算法对加密通信控制信息520和解密用户信息2230加密(S910)。分组构造单元204b把明文通信控制信息510、加密通信控制信息530和解密用户信息330组合在一起,产生分组数据2202(S409),完成加密通信的协议变换过程。
图11是显示由依据第二个实施例的分组路由设备101执行的分组数据301的协议变换处理过程的示意图。分组数据301由外部网络上的终端设备输入到第一网络I/F单元201。加密用户信息330包括电视节目的录制时间、要录制的节目的名称和类似的信息。图11是当用于通过外部网络传输的安全协议与用于通过家庭网络传输的安全协议不同的情况的参考图。
图11中的(A)描述了通过外部网络传输所用的安全协议、加密算法和加密密钥与通过家庭网络传输所用的安全协议、加密算法和加密密钥不相同的情况。分组路由设备101从明文通信控制信息310获得加密通信控制信息320的头部位置信息311和尾部位置信息312,获得加密通信控制信息320的数据长度,并对加密通信控制信息320和加密用户信息330解密。然后分组路由设备101对解密的通信控制信息500和明文通信控制信息310执行协议变换,变换成预加密通信控制信息520和明文通信控制信息510。然后,预加密通信控制信息520和解密用户信息2230被分别加密成加密通信控制信息530和加密用户信息330。分组构造单元204b构造包含明文通信控制信息510、加密通信控制信息530和加密用户信息330的分组数据2202,并且把它从第二网络I/F单元205输出。
在图11中的(B)显示了用于外部网络的安全协议和用于家庭网络的安全协议不同但是加密算法和加密密钥相同的情况。分组路由设备101从明文通信控制信息310获得加密通信控制信息320的头部位置信息311和尾部位置信息312,得到加密通信控制信息320的数据长度,并且仅把加密通信控制信息320的一部分解密为解密通信控制信息500。然后分组路由设备101分别对解密通信控制信息520和明文通信控制信息310执行协议变换,得到预加密通信控制信息520和明文通信控制信息510。这样,仅仅预加密通信控制信息520的一部分被加密为加密通信控制信息530。然后,构造包含明文通信控制信息510、加密通信信息530和加密用户信息330的分组数据502,接着从第二网络I/F单元205输出到家中的终端设备。
图12是显示在依据第二个实施例的分组路由设备101中的分组数据301的另一个协议变换处理过程的示意图。它是一个显示用于通过外部网络传输的安全协议和用于通过家庭网络传输的安全协议相同的情况的参考图。
如图12的(A)所示,当安全协议相同而加密算法和加密密钥不同的时候,分组路由设备101从明文通信控制信息310获得加密通信控制信息320的头部位置信息311和尾部位置信息312,获取加密通信控制信息320的数据长度,并且对加密通信控制信息320和用户信息330都进行解密。由于安全协议是相同的,所以协议变换单元203不对分组数据2201执行协议变换,但是把它传输到加密单元204,以使解密通信控制信息500和解密用户信息2230分别被加密为加密通信控制信息530和加密用户信息330。分组构造单元204b构造包含明文通信控制信息510、加密通信控制信息530和加密用户信息330的分组数据2202,并且把它从第二网络I/F单元205输出到家中的终端设备。
如图12的(B)所示,当安全协议、加密算法和加密密钥相同时,分组路由设备101识别家中的目的终端设备,把由第一网络I/F单元201从第二网络I/F单元205接收到的分组数据301输出到在家庭网络上的目的终端设备。
这样,依据第二个实施例的分组路由设备101包括存储表示用于传输的外部网络上的终端设备的IP地址、安全协议、加密算法和加密密钥的表802的存储单元801,以及用于通过参考表802将从外部网络传输的分组数据的安全协议变换成用于家庭网络的安全协议的协议变换单元203。
因此,当具有附加的控制信息的分组数据从用户所到的地方从使用各种各样的安全协议执行加密通信的终端设备、例如个人电脑701、手机702或类似的设备传输到家用电器的时候,分组路由设备101可以把用于要从外部网络传输的分组数据的多种安全协议变换为用于家庭网络的安全协议,并且把分组数据路由到家中的终端设备。这使得用户可以从外面使用各种终端设备安全地遥控家用电器,提高了用户的便利性。
由于分组路由设备101整体地执行协议变换,所以连接到家庭网络的家用电器本身不必具有协议变换功能,因此家用电器的成本也能减少。
在从家庭网络的终端设备向外部网络的终端设备传输附带信息的分组数据的情况下,分组路由设备101可以把分组数据变换为遵从用于目的外部网络的安全协议的分组数据,因此,从家用电器输出的分组数据可以被安全地传输。
在通过判断安全协议、加密算法和加密密钥是否被借助通信网络连接的每个终端设备所共享的情况下,分组路由设备101不必对整个分组数据执行解密和加密处理。由此,执行需要许多处理步骤的解密处理的次数能够减少,以便即使分组路由设备101配备低价的及低性能的CPU时高速协议变换处理也能够实现。
在本实施例中,描述了从外部网络上的终端设备向家庭网络上的终端设备传输分组数据的情况,但分组路由设备101并不限于此,它可以从家庭网络的终端设备向外部网络的终端设备安全地传输附带控制信息的分组数据,把分组数据变换为遵照从多种协议中选择出来的单一安全协议的分组数据,然后把它传输到外部网络上的终端设备。
(第三个实施例)以下说明依据本发明的第三个实施例的分组路由设备101。第三个实施例仅描述加密通信控制信息320的数据长度为用于加密算法的处理块的数据长度的倍数的情况。
图13是一个显示包括依据第三个实施例的分组路由设备101的网络系统的结构的例子。由于分别用于如图13所示的终端设备102、103、104和105的加密通信协议不相同,所以在本实施例中建立了可以理解不同的加密协议并且把一种加密通信协议变换为另一种加密协议的分组路由设备101。
第一个实施例的分组路由设备101假设用于加密通信以便执行协议变换的终端设备102和103共用加密算法和加密密钥。然而,在第三个实施例的网络系统中,假设终端设备102、103、104和105不共用加密算法和加密密钥。
第一终端设备102借助分组路由设备101连接到第二终端设备103、第三终端设备104和第四终端设备105,以便建立一个网络。分组路由设备101执行如同依据第一个实施例的分组路由设备101执行的解密、协议变换和加密处理。
图13中所示的第一终端设备102连接到第一网络,使用加密通信的第一通信协议。第二终端设备103连接到第二网络,使用第二通信协议,而第三终端设备104连接到第三网络,使用加密通信的第三通信协议,第四终端设备105连接到第四网络,使用加密通信的第四通信协议。例如,第一网络是因特网,而第二、第三和第四网络的每一个是诸如ECONET的用于家庭的通信网络。
图14是显示依据第三个实施例的分组路由设备101的结构的功能方框图。图14中所示的结构是描述第三个实施例的一个实例,因此,分组路由设备101的结构并不局限于图14中所示的结构。下面集中在第一个和第三个实施例之间的不同之处。
第三个实施例的分组路由设备101包括第一网络I/F单元201、解密单元202、协议变换单元203、加密单元204、第二网络I/F单元205和用于传输分组数据301的总线206。在第三个实施例中,分组路由设备101进一步包括一个包含在ROM或IC卡等中的加密表1401。在第三个实施例的分组路由设备101中包括的每个单元执行与第一个实施例中相同的处理。
加密表1401表示关于用于第二终端设备103、第三终端设备104和第四终端设备105中的加密算法和加密密钥的信息。更准确地,加密表1401显示,第二终端设备103的加密算法是L1而加密密钥是K1,第三终端设备104的加密算法是L2而加密密钥是K2;第四终端设备105的加密算法是L3而加密密钥是K3。因此,每一个终端设备103、104和105使用不同的加密算法和加密密钥。
包含在解密单元202中的通信控制信息分析单元202a参考包含在明文通信控制信息310中的加密算法的识别信息和加密密钥的识别信息,判断每一个通信协议是否共用加密算法和加密密钥。之后,通信控制信息解密单元202b对通信控制信息解密。
然后变换单元203把解密通信控制信息变换为遵从用于连接到分组路由设备101的终端设备103、104和105的每个通信协议的通信控制信息。包含在解密单元204中的分组构造单元204b产生包含变换的通信控制信息和用户信息的分组数据,并且把产生的分组数据输出到终端设备103、104和105。
图15是显示用于第三个实施例的分组数据1501的数据结构的示意图。以下集中在第一个和第三个实施例之间的不同之处。例如,分组数据1501的大小是1500字节,它包含明文通信控制信息310、加密通信控制信息320和加密用户信息330。
第三个实施例的分组数据1501不仅包括包含在第一个实施例中描述的分组数据301中的信息,也包括包含在明文通信控制信息310中的加密算法的识别信息1511和加密密钥的识别信息1512。加密算法的识别信息1511识别遵从第一终端设备102的加密算法,而加密密钥的识别信息1512识别遵从第一终端设备102的加密密钥。
以下说明如上构造的依据第三个实施例的分组路由设备101的操作过程。
图16是显示依据第三个实施例分组路由设备101的操作过程的流程图。依据第三个实施例的分组路由设备101不仅具有第一个实施例的解密单元202的功能,而且具有判断各个通信协议是否共用加密算法和加密密钥的方法(步骤1601)。更具体地,通信控制信息分析单元202a通过使用包含在从第一终端设备102接收到的分组数据1501的明文通信控制信息310中的加密算法的识别信息1511和加密密钥的识别信息1512以及加密表1401,判断每一个通信协议的每个终端设备102、103、104和105是否共用加密算法和加密密钥(步骤1601)。
当判断借助分组路由设备101连接的终端设备不共用加密算法和加密密钥时,通信控制信息分析单元202a获得通信控制信息320的头部位置信息311和尾部位置信息312(步骤1602),然后获得用户信息330的头部位置信息313和尾部位置信息314(步骤1603)。
通信控制信息解密单元202b对在加密通信控制信息320的头部位置和加密用户信息330的尾部位置之间的数据区域进行解密(步骤1604)。协议变换单元203对遵照第一个通信协议的通信控制信息310和解密通信控制信息320执行协议变换,变换成为遵照第二、第三和第四个通信协议,并重新产生通信控制信息520(步骤1605)。然后协议变换单元203把遵照第二个通信协议的通信控制信息分离为明文通信控制信息510和预加密通信控制信息520(步骤1606)。
然后,通信控制信息加密单元204a使用加密表1401对已变换的加密通信控制信息520和解密用户信息2230加密(步骤1607),如图22所示。分组构造单元204b把明文通信控制信息510、加密通信控制信息530和加密用户信息330结合在一起,产生分组数据2202(步骤409)。
然后,分组构造单元204b在明文通信控制信息510中分别记录加密通信控制信息530的头部位置和尾部位置(步骤410),还记录在加密用户信息330的头部位置和尾部位置(步骤411)。当这个记录(步骤411)结束时,就构造了分组数据502,从而完成了对加密通信的一系列协议变换。
当判断借助分组路由设备101彼此相连的终端设备共用加密算法和加密密钥时(步骤1601),下面的步骤与显示在第一个实施例中的相同。通信控制信息分析单元202a从包含在分组数据301中的明文通信控制信息310获得加密通信控制信息320的头部位置信息311和尾部位置信息312(步骤401)。解密单元202仅对加密通信控制信息320的数据长度解密(步骤405)。然后,协议变换单元203通过把遵照第一个通信协议的明文通信控制信息310和解密通信控制信息500变换成为那些遵照第二个通信协议的信息,重新产生明文通信控制信息510和预加密通信控制信息520(步骤406),然后把遵照第二个通信协议的通信控制信息分离为明文通信控制信息510和预加密控制信息520(步骤407)。
然后,加密单元204对预加密通信控制信息520加密,并且产生加密通信控制信息530(步骤408)。然后,分组构造单元204b把明文通信控制信息510、加密通信控制信息530和加密用户信息330结合在一起,产生分组数据502(步骤409)。分组构造单元204b然后在明文通信控制信息510中分别记录加密通信控制信息530的头部位置和尾部位置(步骤410),还记录在加密用户信息330的头部位置和尾部位置(步骤411)。当分组数据520被构造后,就完成了对加密通信的一系列协议变换。
这样,依据第三个实施例的分组路由设备101,分组数据1501具有第一终端设备102的识别加密算法的加密算法识别信息1511和识别加密密钥的加密密钥识别信息1512。分组路由设备101还包括表示用于第二个终端设备103、第三个终端设备104和第四个终端设备105的加密算法和加密密钥的加密表1401。
因此,依据第三个实施例的分组路由设备101,执行协议变换,判断每个终端设备102、103、104和105是否共用网络里的加密算法和加密密钥,其中在网络里各种各样的加密算法和加密密钥共存,例如,终端设备102和103共用加密算法的情况、它们不共用加密算法的情况、或者它们共用加密算法但不共用加密密钥的情况,对分组数据进行部分解密。当判断它们共享加密算法和加密密钥时,就不需要对用户信息330解密。这样,在仅对通信控制信息320解密后,第三个实施例的分组路由设备101执行协议变换,这样就能够仅对已完成协议变换的通信控制信息520中需要加密的部分进行加密。这样与通信控制信息330相比具有更多数据量的用户信息330就不需要解密,减少了具有许多处理步骤的解密处理的执行数量,从而即使用廉价和低性能的CPU就能实现高速协议变换处理。
当判断第一个终端设备102和每个借助加密通信相连的终端设备103、104、105不共享加密算法和加密密钥时,分组路由设备101通过不仅对分组数据1501的通信控制信息320解密,而且也对分组数据1501的用户信息330解密,获得通信控制信息320的头部位置和尾部位置,对通信控制信息320执行协议变换,使其遵每个终端设备的各个通信协议,而且,遵从每一个终端设备所用的加密算法和加密密钥执行加密。
这样,由于已经判断借助通信网络彼此互联的终端设备是否共用加密算法和加密密钥,因此分组路由设备101不需要对分组数据的整个区域解密。这减少需要许多处理步骤的解密过程的执行数量,从而即使用低价和低性能的CPU也可实现高速协议变换过程。因此,可以提供一个适应近来的通信网络系统的分组路由设备,其中在通信网络系统中用于每个终端设备的加密算法和加密密钥共存。
然而,在第三个实施例中显示的包含在明文通信控制信息310里的位置信息311、312、313和314以及识别信息1511和1512都是一些例子,信息的类型不应局限于这些。包含在依据第三个实施例的分组数据中的各种各样的信息被当作描述的例子,也可以包含除明文通信控制信息310、加密通信控制信息320和用户信息330之外的信息。此外,这些信息的位置不限制在本实施例中说明的那样,相反地,可以使用不同的结构。
在本实施例中加密算法识别信息1511和加密密钥识别信息1512被描述为独立的信息,但是它们可以被放在一起。
(第四个实施例)接着,下面描述依据第四个实施例的分组路由设备101。在第一个和第三个实施例中,例如,使用不需要其它加密结果的带有ECB模式的DES、3DES、AES或类似的标准作为加密分组数据301的加密算法。然而,第四个实施例假设使用一种诸如CBC(密码块链接)模式或CFB(密码反馈)模式等的加密算法的情况,它需要超前加密/解密通信控制信息一个块的具有用于加密算法的处理块的数据长度的加密信息。本实施例显示了通信控制信息320的数据长度是用于加密算法601的处理块的数据长度的倍数的情况,使得描述易于理解。
图17是显示依据第四个实施例的分组路由设备101的结构的功能框图。图17中所示的每一部件是描述第四个实施例的一个例子,因此分组路由设备101的结构不局限于图17中所示的结构。
分组路由设备101包括第一网络I/F单元201、链式解密单元1702、协议变换单元1703、链式加密单元1704、第二网络I/F单元205和用于传输分组数据1801的总线206。
包含通信控制信息分析单元1702a和通信控制信息链式解密单元702b的链式解密单元1702对通过遵从第一个加密通信协议的第一网络I/F单元201(或第二网络I/F单元205)接收到的分组数据1801解密,并且将其输出到协议变换单元1703。通信控制信息分析单元1702a使用包含在分组数据1801中的明文通信控制信息310分析加密通信控制信息320的数据长度,然后通信控制信息链式解密单元1702b通过使用具有用于加密算法的处理块的数据长度并超前加密/解密通信控制信息的一个块的信息,从加密通信控制信息320的头部位置开始对需要被解密的数据长度进行链式解密。
协议变换单元1703接收从链式解密单元1702输出的分组数据1801,进行协议变换以使它遵从一个不同的加密协议并且输出结果到链式加密单元1704。
链式加密单元1704包含通信控制信息加密单元1704a和分组构造单元1704b。通信控制信息加密单元1704a参考具有用于加密的处理块的数据长度并超前加密/解密通信控制信息的一个块的信息,对已经由协议变换单元1703执行了协议变换的分组数据1801执行链式加密处理,而分组构造单元1704b构成分组数据1802,并且把它输出到第二网络I/F单元205。
图18是显示用在第四个实施例的分组数据1801的数据结构的示意图。分组数据1801不仅包括在第一个实施例的分组数据301中包含的信息,而且包括在明文通信控制信息310中的用于加密处理的初始向量2001。用于加密处理的初始向量2001是对加密通信控制信息320解密所必需的信息。
下面描述依据第四个实施例的分组路由设备101的操作。
图19是显示依据第四个实施例的分组路由设备101的操作过程的流程图。首先,通信控制信息分析单元1702a从在从第一网络I/F单元205传输的分组数据1801中包含的明文通信控制信息310中,获得加密通信控制信息320头部位置信息311和尾部位置信息312(步骤401)。然后通信控制信息分析单元1702a把加密通信控制信息320b作为用于加密处理的一个初始向量2002暂时存储在RAM的空闲位置,使得用户信息330能被接收终端解密(步骤1901)。然后,通信控制信息链式解密单元1702b利用包含在明文通信控制信息301中的用于加密处理的初始向量2001对加密通信控制信息320a解密,并获得解密通信控制信息500a。通信控制信息链式解密单元1702b还用加密通信控制信息320a对加密通信控制信息320b进行链式解密,并获得解密通信控制信息500b。然后,仅仅对需要解密的数据长度进行解密(步骤1902)。之后,协议变换单元1703重新产生遵从第二通信协议的预加密通信控制信息520(步骤406),并且把遵从第二个通信协议的通信控制信息分离为明文通信控制信息510和预加密通信控制信息520(步骤407)。
然后,在链式加密单元1704中包括的通信控制信息链式加密单元1704a利用用于加密处理的初始向量2002对与通信控制信息520的加密处理块的数据长度相同的通信控制信息520a加密,并获得通信控制信息530a。此外,通信控制信息链式加密单元1704a使用通信控制信息520a对通信控制信息520b进行链式加密,并获得通信控制信息530b(步骤1903)。然后,分组构造1704b把明文通信控制信息510、加密通信控制信息530和加密用户信息330合并在一起,并产生分组数据1802(步骤409)。
分组构造单元1704b在明文通信控制信息510中分别记录关于加密通信控制信息530的头部位置和尾部位置的信息(步骤410),以及关于加密用户信息330的头部位置和尾部位置的信息(步骤411)。分组构造单元1704b还把临时存储在明文通信控制信息510中的用于加密处理的初始向量2002记录在明文通信控制信息510的预定位置(步骤1904)。这样,就实现了分组数据1802的构造,并且完成了对加密通信的一系列协议变换。
图20是显示依据第四个实施例的分组路由设备101的分组数据处理过程的示意图。分组数据1801包含明文通信控制信息310、加密通信控制信息320和用户信息330。明文通信控制信息310还包含用于加密处理的初始向量2001。
分组路由设备101从明文通信控制信息310获得加密通信控制信息320的头部位置信息311和尾部位置信息312,获取加密通信控制信息320的数据长度并仅对部分加密通信控制信息320解密。如图20所示,在这种情况下,基于在解密通信控制信息320a和初始向量2001之间实现不可兼析取(exclusive disjunction)的事实,通信控制信息320a被解密为解密通信控制信息500a。基于在通信控制信息320b和通信控制信息320a之间实现不可兼析取的事实,通信控制信息320b被链式解密为解密通信控制信息500b。通过使用诸如上述的链,通信控制信息320被解密为解密通信控制信息500。
加密通信控制信息320b,即超前于用户信息330的一个块,在明文通信控制信息510中被记录为用于加密处理的初始向量2002。加密处理的初始向量2002也用于对加密用户信息330解密。然后,预解密通信控制信息500和明文通信控制信息310被协议变换为预加密通信控制信息520和明文通信控制信息510。
如图20所示,在使用用于加密处理的初始向量2002实现不可兼析取后,预加密通信控制信息520a被链式加密,成为加密通信控制信息530a。在加密通信控制信息520b和链式加密通信控制信息530a之间实现不可兼析取后,加密通信控制信息520b被链式加密,成为加密通信控制信息530b。通过使用诸如上述的链,预加密通信控制信息520被加密为加密通信控制信息530。
然后,构造包含明文通信控制信息510、加密通信控制信息530和加密用户信息330的分组数据1802并从第二网络I/F单元205输出。这样,就完成了由分组路由设备101执行的对加密通信的一系列协议变换处理。
以这种方法,使用在第四个实施例描述的分组路由设备101,即使在使用需要预先被一个块加密的信息来用于后面的信息加密或解密的诸如CBC模式、CFB模式等加密处理模式作为可以部分地执行解密的加密算法的情况下,与通信控制信息320相比具有更大数据量的用户信息330不被解密。这减少了需要大量处理步骤的解密过程的执行数量,从而即使用廉价和低性能的CPU,也可以实现高速协议变换。
而且,在由依据第四个实施例的分组路由设备101执行的处理分组数据1801的过程中,用户信息330保持加密,以使高度机密的信息很难被恶意的第三方截取。
在本实施例里描述的加密算法和加密处理模式仅仅是例子,其它的类型可以替代它们。并且,在本实施例中,为了加密通信控制信息520a,使用用于加密处理的初始向量2002。然而,可以替代地提供和使用用于加密处理的不同的初始向量,而且,可以增加到明文通信控制信息510中。
而且,在本实施例中所示的包含在明文通信控制信息310里的位置信息311、312、313和314的位置和初始向量2001都是例子,结构不局限于本实施例中所用的结构。包含在依据本实施例的分组数据1801中的各种信息是作为描述的例子,其他信息也可以包含在里面。明文通信控制信息310、加密通信控制信息320和用户信息330的位置不限于当前实施例中所描述的位置,它们可以被放置在不同的位置。
图21显示了用于本发明的分组数据2101的数据结构的一个实例。分组数据2101在明文通信控制信息310中包含一个链式加密标志2111。链式加密标志2111是表示是否对加密通信控制信息和加密用户信息进行链式解密,以及判断当对用户信息330的头部解密时用哪种方法计算不可兼析取,是使用初始向量还是使用超前用户信息330一个块的加密通信控制信息320。这样,简化了用户信息330的解密,因此可以省略不必要的处理。
采用依据本发明的分组路由设备,在接收到的分组数据中包括的加密通信控制信息的位置信息更新为解密通信控制信息的位置信息,而且可以作为新的位置信息再次存储在分组数据的预定位置里(即,明文通信控制信息)。因此,把存储位置记录单元合并到依据本发明的分组路由设备中是可以想象的。
此外,无须说明的是,为了使分组数据301、1501和1801可以计算机可读,它可以存储在诸如CD-ROM的存储介质里。
工业应用依据本发明的分组路由设备用作通过网络传输分组数据的设备,而且可以特别地用作在外部网络的设备和家庭网络的设备之间传输分组数据的分组路由设备。
权利要求
1.一种用于路由要在外部网络上的第一终端设备和在家庭网络上的第二终端设备之间传输的分组数据的分组路由设备,包括一个接收单元,可用于通过外部网络从第一终端设备接收遵从多个安全协议之一的分组数据;一个判断单元,可用于判断用于通过外部网络通信和通过家庭网络通信的安全协议的类型、加密算法和加密密钥;一个变换单元,可用于基于判断单元做出的判断把由接收单元接收到的分组数据的安全协议变换为用于家庭网络的第二安全协议;以及一个输出单元,可用于向第二终端设备输出其协议已经被变换单元变换的分组数据。
2.如权利要求1所述的分组路由设备,还包含一个源获取单元,可用于获取作为由接收单元所接收的分组数据的发送者的第一终端设备的地址信息;以及一个存储单元,可用于存储一个表,该表至少可表示由源获取单元获取的地址信息以及由判断单元判断的安全协议的类型、加密算法和加密密钥,其中,变换单元从源获取单元获得地址信息,并且参考所述表将从在外部网络上的第一终端设备发出的分组数据的安全协议变换为家庭网络的安全协议。
3.如权利要求1所述的分组路由设备,其中,由接收单元接收的分组数据包含包括明文通信控制信息和加密通信控制信息的头部以及包括加密用户信息的主体部分,以及分组路由设备进一步包括一个识别单元,可用于从接收的分组数据中识别加密通信控制信息;一个解密单元,可用于解密所识别的加密通信控制信息;以及一个分组产生单元,可用于产生其协议已由变换单元变换的分组数据,该分组数据包括解密通信控制信息和用户信息,其中,变换单元把解密单元解密的通信控制信息变换为遵从第二安全协议的通信控制信息,以及输出单元向第二安全协议输出由分组产生单元产生的分组数据。
4.如权利要求3所述的分组路由设备,其中,判断单元使用包含在头部中的明文通信控制信息,判断第一和第二终端设备是否共享一个安全协议,以及当判断单元判断出所述第一和第二二终端设备共享安全协议时,变换单元不执行协议变换,而当判断出所述第一和第二终端设备不共享安全协议时,仅对头部执行协议变换。
5.如权利要求3所述的分组路由设备,其中,判断单元使用包含在头部中的明文通信控制信息,判断第一和第二终端设备是否共享一个安全协议、一个加密算法和一个加密密钥,以及当判断单元判断出所述第一和第二终端设备共享安全协议、加密算法和加密密钥时,输出单元把由接收单元接收的分组数据没有进行协议变换就输出到第二终端设备。
6.如权利要求3所述的分组路由设备,进一步包括一个加密单元,可用于在解密通信控制信息作为明文被变换为遵从第二安全协议的通信控制信息之后,基于由判断单元做出的判断,使用家庭网络的安全协议所用的加密算法和加密密钥对由解密单元解密的解密通信控制信息加密,分组产生单元产生包括由加密单元加密的通信控制信息和用户信息的分组数据。
7.如权利要求6所述的分组路由设备,其中,用于由解密单元所执行的解密和用于由加密单元所执行的加密这两种使用中的任一个的加密算法是数据加密标准(DES)、三重DES(3DES)和高级加密标准(AES)其中之一。
8.如权利要求3所述的分组路由设备,其中,从第一终端设备接收的分组数据进一步包括位置信息X,指示加密通信控制信息在分组数据中的存储位置,以及识别单元基于位置信息X识别加密通信控制信息。
9.如权利要求3所述的分组路由设备,其中,从第一终端设备接收的分组数据进一步包括位置信息Y,指示用户信息在分组数据中的存储位置,以及识别单元基于位置信息Y识别用户信息。
10.如权利要求3所述的分组路由设备,进一步包含一个通信控制信息位置记录单元,可用于在明文通信控制信息中记录关于已经过协议变换的通信控制信息的头部位置和尾部位置的信息。
11.如权利要求3所述的分组路由设备,进一步包含一个用户信息位置记录单元,可用于在明文通信控制信息中记录关于加密用户信息的头部位置和尾部位置的信息。
12.如权利要求3所述的分组路由设备,进一步包含一个分析单元,可用于分析通信控制信息的加密块长度是否为用于加密算法的处理块的倍数,以及其中,当分析单元分析出通信控制信息的加密块长度是用于加密算法的处理块的倍数时,解密单元解密所分析的通信控制信息,变换单元把解密的通信控制信息变换为遵从第二安全协议的通信控制信息,分组产生单元产生包括经过变换的通信控制信息和用户信息的分组数据,然后,输出单元把产生的分组数据输出到第二终端设备,以及当分析单元分析出通信控制信息的加密块长度不是用于加密算法的处理块的倍数时,分析单元设置要被解密的数据的长度,使得所述数据长度变为加密算法的倍数,解密单元解密通信控制信息和用户信息,其中每个都相当于要解密的数据的长度,变换单元把解密的通信控制信息变换为遵从第二安全协议的通信控制信息,并将填充数据附加到用户信息上,使得所述用户信息变为用于加密算法的处理块的倍数,分组产生单元产生包括经过变换的通信控制信息和用户信息的分组数据,然后,输出单元把产生的分组数据输出到第二终端设备。
13.如权利要求3所述的分组路由设备,其中,判断单元使用包括在从第一终端设备接收的分组数据中的明文通信控制信息,判断第一和第二终端设备是否共享一个加密算法和一个加密密钥,以及当判断单元判断所述第一和第二终端设备共享加密算法和加密密钥时,识别单元从分组数据中识别加密通信控制信息,解密单元解密经识别的通信控制信息,变换单元把解密的通信控制信息变换为遵从第二安全协议的通信控制信息,分组产生单元产生包括经过变换的通信控制信息和用户信息的分组数据,然后,输出单元把产生的分组数据输出到第二终端设备,以及当判断单元判断所述第一和第二终端设备没有共享加密算法和加密密钥时,解密单元对通信控制信息和用户信息解密,变换单元把解密的通信控制信息变换为遵从第二安全协议的通信控制信息,分组产生单元产生包括经过变换的通信控制信息和用户信息的分组数据,然后,输出单元把产生的分组数据输出到第二终端设备。
14.如权利要求13所述的分组路由设备,其中,从第一终端设备接收的分组数据进一步包括识别信息,该识别信息识别用于分组数据的安全协议的加密算法和加密密钥,以及判断单元基于识别信息,判断所述安全协议和第二安全协议是否共享加密算法和加密密钥。
15.如权利要求3所述的分组路由设备,其中,从第一终端设备接收的分组数据包括一个初始向量,用于对分组数据中的加密通信控制信息的头部数据解密,以及解密单元基于初始向量对加密通信控制信息进行解密。
16.如权利要求15所述的分组路由设备,当解密单元和加密单元需要具有用于加密算法的处理块的数据长度并且超前加密/解密通信控制信息一个块的加密信息时,进一步包括下列单元来用于解密和加密所述信息一个初始向量存储单元,在加密通信控制信息被解密之前,用于在明文通信控制信息中存储加密通信控制信息,作为用于解密用户信息的头部数据所需的初始向量,所述加密通信控制信息超前用户信息一个块;以及一个初始向量记录单元,用于将存储在初始向量存储单元中的初始向量记录在遵从第二安全协议的作为明文的经过变换的明文通信控制信息中。
17.如权利要求15所述的分组路由设备,其中,分组数据进一步包括链式加密标志,指示是否对加密通信信息和加密用户信息进行链式解密,以及解密单元基于链式加密标志对加密用户信息解密。
18.如权利要求15所述的分组路由设备,其中,用于由解密单元所执行的解密和用于由加密单元所执行的加密这两种使用中的任一个的加密算法是下列之一DES-密码块链接(CBC)、3DES-CBC和AES-CBC。
19.如权利要求3所述的分组路由设备,进一步包括一个存储位置记录单元,用于将加密通信控制信息的存储位置信息更改为解密通信控制信息的存储位置信息,并在分组数据内的预定位置记录更改的存储位置信息。
20.如权利要求3所述的分组路由设备,进一步包括第二存储位置记录单元,用于将加密用户信息的存储位置信息更改为解密用户信息的存储位置信息,并在分组数据内的预定位置记录更改的存储位置信息。
21.如权利要求3所述的分组路由设备,其中,分组路由设备连接到多个终端设备,变换单元把解密通信控制信息变换为遵从用于连接到分组路由设备的目的终端设备的第二安全协议的通信控制信息,分组产生单元产生包括经过变换的通信控制信息和用户信息的分组数据,以及输出单元把产生的分组数据输出到目的终端设备。
22.如权利要求1所述的分组路由设备,其中,从第一终端设备接收的分组数据进一步包括识别信息,其识别用于分组数据的安全协议的安全协议、加密算法和加密密钥,以及判断单元基于识别信息判断外部网络和家庭网络是否共享安全协议、加密算法和加密密钥。
23.如权利要求1所述的分组路由设备,进一步包括一个目的识别单元,用于识别作为从位于家庭网络的第二终端设备传输的分组数据的目的地的第一终端设备,其中,变换单元把分组数据的安全协议变换为由目的识别单元识别的位于外部网络的第一终端设备所用的安全协议,以及输出单元将其协议已由变换单元变换的分组数据输出到外部网络中的作为目的地的第一终端设备。
24.如权利要求23所述的分组路由设备,其中,当判断单元判断位于家庭网络的第二终端设备和位于外部网络的第一终端设备置之间没有共享安全协议时,变换单元仅对分组数据的头部执行协议变换,而当判断单元判断位于家庭网络的第二终端设备和位于外部网络的第一终端设备置共享安全协议时,变换单元不对分组数据执行协议变换。
25.一种分组路由系统,用于经由一个分组路由设备在位于外部网络的第一终端设备和位于家庭网络的第二终端设备之间传送分组数据,分组路由系统包括一个接收单元,用于经由外部网络从第一终端设备接收遵从多个安全协议中的一个的分组数据;一个判断单元,用于判断经由外部网络的通信和经由家庭网络的通信所使用的安全协议的类型、加密算法和加密密钥;一个变换单元,用于基于判断单元做出的判断把接收单元接收的分组数据的安全协议变换为家庭网络的第二安全协议;以及一个输出单元,用于把其协议经过变换单元变换的分组数据输出到第二终端设备。
26.一种在外部网络上的第一终端和家庭网络上的第二终端设备之间路由分组数据的分组路由方法,所述分组路由方法包括接收步骤,经由外部网络从第一终端设备接收遵从多个安全协议中的一个的分组数据;判断步骤,判断经由外部设备的通信和经由家庭网络的通信所使用的安全协议的类型、加密算法和加密密钥;变换步骤,把接收步骤中接收的分组数据的安全协议变换为用于家庭网络的第二安全协议;以及输出步骤,把其协议在变换步骤中已经变换的分组数据输出到第二终端设备。
27.如权利要求26所述的分组路由方法,其中,在接收步骤中接收的分组数据包含包括明文通信控制信息和加密通信控制信息的头部和包括加密用户信息的主体部分,以及分组路由设备进一步包括识别步骤,从接收的分组数据识别加密通信信息;解密步骤,解密识别出的加密通信控制信息;分组产生步骤,产生包括其协议在变换步骤中被变换的通信控制信息和用户信息的分组数据,其中,在变换步骤中,在解密步骤中解密的通信控制信息被变换成遵从第二安全协议的通信控制信息,以及在输出步骤中,在分组产生步骤中产生的分组数据被输出到第二终端设备。
28.一个程序,用于将经由遵从多个安全协议的一个的外部网络从第一终端接收的分组数据经由遵从第二安全协议的家庭网络输出到第二终端设备的分组路由设备,所述程序使得计算机执行在依据权利要求1到24中的任何一个的分组路由设备中包括的所有单元。
全文摘要
本发明提供了能够将从外部网络接收到的遵从多个安全协议之一的分组数据变换为遵从一个用于在家中的家庭网络的安全协议的分组数据的分组路由设备。分组路由设备101包括第一网络I/F单元201、解密单元202、协议变换单元203、加密单元204、第二网络I/F单元205和存储单元801。第一网络I/F单元201接收到遵从一个用于外部网络的安全协议的分组数据。然后,协议变换单元203参照由存储单元801存储的表802,把接收到的分组数据变换为遵从用于家庭网络的安全协议的分组数据。
文档编号H04L29/06GK1602615SQ03801720
公开日2005年3月30日 申请日期2003年7月31日 优先权日2002年8月6日
发明者山内弘贵, 安部美乃夫 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1