通信装置、密钥生成装置、通信方法和通信系统的制作方法

文档序号:7996813阅读:155来源:国知局
通信装置、密钥生成装置、通信方法和通信系统的制作方法
【专利摘要】根据实施例,通信装置连接到生成加密密钥的密钥生成装置。通信装置包括查询单元、加密处理器和选择单元。查询单元被配置成向所述密钥生成装置发送对能力信息的查询,所述能力信息指示所述密钥生成装置生成所述加密密钥的能力。加密处理器被配置成实施多个加密函数。选择单元被配置成根据所述能力信息从所述多个加密函数中选择加密函数。所述加密处理器实施这样选择的加密函数。
【专利说明】通信装置、密钥生成装置、通信方法和通信系统
[0001]对相关申请的交叉引用
[0002]本申请基于2012年7月6日提交的日本专利申请N0.2012-152426并要求享有其优先权;在此通过引用将其全部内容并入本文。
【技术领域】
[0003]这里描述的实施例总体上涉及一种通信装置、一种密钥生成装置、一种通信方法和一种通信系统。
【背景技术】
[0004]已知有一种加密通信网络,配置有多个通过多个链路相互连接的网络节点。每个节点都具有生成并与通过链路连接的相对节点共享随机数的功能(在下文中也称为“生成-共享功能”),还具有利用随机数作为加密密钥(在下文中称为“链路密钥”)在链路上执行加密通信的功能。此外,一些节点还具有独立于链路生成随机数的功能,并且还具有向不同节点发送随机数的功能。在加密通信网络中,应用具有从节点获得随机数,使用随机数作为加密密钥(在下文中称为“应用密钥”)和与另一应用执行加密通信的功能。在这里,可以按照与节点集成的方式配置应用,或者可以将其配置为独立于节点的终端。
[0005]在节点中,可以利用例如通常称为量子加密通信的技术实现生成-共享功能,通过该功能生成随机数(链路密钥)并与通过链路连接的相对节点共享。在这种情况下,可以将在节点中独立于链路生成随机数(应用密钥)并通过链路发送到不同节点的技术称为量子密钥分发(QKD)。
[0006]在加密通信网络中的节点中,独立于链路生成的随机数(即应用密钥)仅仅是加密通信网络中的有限资源。此外,即使对于生成应用密钥的速度而言,从技术角度讲也是有上限的。因此,对于应用而言,尽管从节点获得应用密钥并执行加密通信的方法是最安全的通信方式;但如果也考虑成本的话,未必是最合适的加密通信。例如,鉴于通信处理量的限制以及使用有限资源而发生的成本,有时某种其他加密通信方法(即,除从加密通信网络中节点获得应用密钥并执行加密通信的方法之外的通信方法)满足应用的需求,尽管安全水平有一些下降。这样看来,从节点获得应用密钥并执行加密通信的方法未必总是最适当的方法。于是,在常规方法中,在考虑处理量和成本之后,在应用需求的上下文中不可能选择最适当的加密通信方法。

【发明内容】

[0007]实施例的目的是提供一种通信装置,其能够在应用需求的上下文中选择最适当的加密通信方法。
[0008]根据实施例,通信装置连接到生成加密密钥的密钥生成装置。通信装置包括查询单元、加密处理器和选择单元。查询单元被配置成向所述密钥生成装置发送关于能力信息的查询,所述能力信息指示所述密钥生成装置生成所述加密密钥的能力。加密处理器被配置成实施多个加密函数。选择单元被配置成根据所述能力信息从所述多个加密函数中选择加密函数。加密处理器实施所选择的加密函数。
[0009]根据上述通信装置,可以在应用需求的上下文中选择最适当的加密通信方法。
【专利附图】

【附图说明】
[0010]图1是示出了根据实施例的通信系统网络配置的范例的图示;
[0011]图2是示出了根据第一实施例的节点配置范例的方框图;
[0012]图3是根据第一实施例的应用配置范例的方框图;
[0013]图4是顺序图,示出了根据第一实施例的通信系统中通信操作期间执行的示范性操作序列;
[0014]图5是示出了根据第二实施例的节点配置范例的方框图;
[0015]图6是根据第二实施例的应用配置范例的方框图;
[0016]图7是顺序图,示出了根据第二实施例的通信系统中通信操作期间执行的示范性操作序列;以及
[0017]图8是用于解释根据第一和第二实施例的装置硬件配置的示意图。
【具体实施方式】
[0018]下文将参考附图详细描述各实施例。
[0019]第一实施例
[0020]在根据第一实施例的通信系统中,应用向节点发送查询,查询表示节点生成应用密钥的能力的信息(在下文中,能力信息被称为“应用密钥信息”)。然后,该应用比较在获得应用密钥时的情况下的可实施加密函数和可实现性能与在未获得应用密钥时的情况下可实施的加密函数和可实现的加密性能,并选择在应用需求的上下文中最适合的加密通信方法。
[0021]应用密钥信息包含例如以下信息:
[0022](A)节点当前能够向应用提供的应用密钥的量
[0023](B)在所生成和共享的应用密钥处理量中,与节点当前能够分配给应用的应用密钥处理量相关的信息
[0024](C)在将应用密钥的量或处理量分配给应用时与所需成本相关的信息
[0025]图1是示出了根据实施例的通信系统网络配置范例的图示。通信系统包括充当密钥生成装置的节点IOOa到100c,以及应用200a和200c。
[0026]在不需要在节点IOOa到IOOc之间区分时,将它们简单地称为节点100。类似地,在不需要在应用200a和200c之间区分时,简单地将它们称为应用200。同时,节点100的数量不限于三个,应用200的数量不限于两个。
[0027]节点IOOa到IOOc的每个都具有生成并与相对节点共享随机数的功能,并具有利用随机数作为加密密钥在链路(链路300a和300b)上进行加密通信的功能。此外,每个节点100还可以具有独立于链路生成随机数的功能,并且还具有向不同节点发送随机数的功倉泛。
[0028]图2是示出了节点100的配置范例的方框图。如图2所示,节点100包括第一通信单元101、生成单元102、密钥管理单元103、第二通信单元104和平台单元105。
[0029]第一通信单元101实施量子加密通信技术以生成并与由链路51连接的不同节点(外部装置)(在下文中也称为“相对节点”)共享随机数,链路51是通信链路(节点间通信链路);并将所生成的随机数作为链路密钥进行管理。同时,可以通过实施除量子加密通信技术之外的方法来进行链路密钥的生成和共享。在与通过链路51连接的不同节点进行数据通信时使用第一通信单元101 (S卩,在进行节点间数据通信时使用)。在这里,要与其传送数据的不同节点可以是直接由链路51连接的相对节点,或者可以是通过相对节点的不同链路连接的更不同节点。在后一种情况下,第一通信单元101可以配备有路由功能,用于通过加密通信网络中的多个节点100进行通信。此外,可以利用第一通信单元101管理的链路密钥以加密形式进行节点间数据通信。
[0030]独立于第一通信单元101,生成单元102具有生成随机数并与另一节点100共享该随机数的功能。在与另一节点100共享随机数时,生成单元102能够利用第一通信单元101的功能。由生成单元102生成并共享的随机数称为应用密钥。
[0031]此外,生成单元102具有如下功能:对通过第二通信单元104从应用200接收的查询做出响应,通知应用200当前可提供的应用密钥的量;与当前可以从当前生成和共享的应用密钥中分配给应用200的应用密钥处理量相关的信息;以及与实现应用密钥的处理量或量的所需成本相关的信息。节点100能够实施任何任意方法以了解这样的信息。亦即,只要节点100设法知道这样的信息,可以实施任何方法。
[0032]密钥管理单元103管理由生成单元102生成并共享的应用密钥。此外,响应于来自第二通信单元104的请求,密钥管理单元103有选择地向第二通信单元104发送适当的应用密钥。
[0033]第二通信单元104通过链路52 (应用通信链路)建立与应用200的连接并与应用200通信,链路52是用于和应用200通信的通信链路。第二通信单元104从应用200接收请求并相应地向应用200提供应用密钥。
[0034]在这里,由于未具体定义应用通信链路,可以在通过某种网络连接到节点100的不同计算机中安装应用。在这种情况下,在节点100和应用200连接所由的网络中,可以实施现有的网络安全功能,例如防火墙、数据加密和数据验证。或者,可以在节点100中安装应用200并通过利用软件设计的应用程序接口(API)连接到第二通信单元104。
[0035]平台单元105提供计算机的操作系统功能,这是操作和管理节点100中其他组成元件所需的。
[0036]上述为根据第一实施例的节点100的配置。下文给出的是根据第一实施例的应用200的配置范例。图3是根据第一实施例的应用200的配置范例方框图。如图3所示,应用200包括通信单元201、加密处理单元202、执行单元203、通信单元204、查询单元205、选择单元206和平台单元207。
[0037]通信单元201通过应用通信链路(通过链路52)建立与节点100 (更具体而言,与节点100的第二通信单元104)的连接。例如,从节点100,通信单元201获得进行加密通信必需的应用密钥。
[0038]加密处理单元202提供用于执行数据加密和数据解密的功能。在第一实施例中,加密处理单元202实施从多个加密函数中选择的加密函数。在这里,可提供的加密函数或其性能根据设置于应用200中的安全芯片或根据硬件资源,如中央处理单元(CPU)和软件资源,如加密库而变化。作为可提供的加密函数;保存通信单元201获得的应用密钥并用于执行进行加密通信所需的数据的加密与解密。
[0039]同时,对要用于加密函数中的加密算法(加密方法)没有特别限制。于是,可以使用或不使用应用密钥。此外,例如,可以使用分组密码,例如高级加密标准(AES),或者可以使用佛纳姆密码,例如一次性密码本(OTP )。
[0040]此外,可以配置加密处理单元202以获悉与可提供的加密函数相关的信息以及与其性能相关的信息,并向选择单元206通知这样的信息。与加密函数相关的信息一般指示关于所支持加密算法、所支持验证算法和密钥长度的信息。例如,该信息可以是表示算法、密钥长度和模式的字符串,例如“AES-128-CBC”、“AES-256-CBC”或“DES-EDE3”。与性能相关的信息指示与针对每段给定时间长度的数据量和使用加密函数时的CPU负载相关的信息。例如,与性能相关的信息包含处理量格式,例如IOGbps或100Mbps,和CPU负载(%显示)。或者,可以通过处理给定大小数据必需的CPU命令数量的形式表达与性能相关的信息。
[0041]在第一实施例中,加密处理单元202能够实施任何任意方法以获悉这样的信息。亦即,只要加密处理单元202要获悉这样的信息,可以实施任何方法。
[0042]至于要由加密处理单元202实施的加密函数,选择单元206 (稍后描述)做出判断和选择。此外,可以将加密处理单元202使用的加密函数相对于执行单元203和通信单元204隐藏起来。
[0043]执行单元203实施用于进行加密通信的应用功能。只要有可能通信,对应用功能的类型就没有特别限制。例如,执行单元203实施视频传输功能。因此,执行单元203向通信单元204发送数据并从通信单元204接收输入数据。
[0044]假设执行单元203保存通过某种方式(例如,利用用户、管理员和应用开发者执行的设置;利用统计信息处理;或利用自动化控制)与应用请求相关的信息(请求信息)。请求信息指示例如通过对安全性量化获得的值(对加密与解密安全性的请求);处理量(对通信速度的请求);成本(对消耗应用密钥有限资源导致的成本(例如货币成本)的请求);以及安全性、处理量和成本之间的优先级。
[0045]通信单元204提供操作执行单元203所需的通信功能。此外,在进行数据通信的同时,通信单元204能够利用加密处理单元202执行数据加密和数据解密。通信单元204接收从应用200发送的数据,利用加密处理单元202对该数据加密,并通过数据通信链路(链路53)发送加密的数据。在这里,数据通信链路使得能够与通信另一侧上存在的应用200进行数据通信。一旦从数据通信链路接收到数据,通信单元204就利用加密处理单元202对接收的数据解密并向应用200发送解密数据。
[0046]查询单元205通过通信单元201向节点100发送对应用密钥信息的查询,例如上述信息(A)到信息(C)。向选择单元206发送响应于查询获得的信息。
[0047]选择单元206参考应用密钥信息并在执行应用200时选择最适当的加密函数。除了参考通过查询节点100获得的应用密钥信息之外,选择单元206还可以参考与应用200相关的以下信息(在下文中称为“应用信息”)并选择加密函数。
[0048](I)从执行单元203获得的请求信息
[0049](2)从加密处理单元202获得并与可在应用200中实施的加密函数和那些加密函数的性能相关的信息(在下文中称为“加密函数信息”)
[0050](3)从平台单元207获得并与应用200中的当前资源使用状态相关的信息(在下文中称为“资源信息”)
[0051]不过,对于选择单元206在选择加密函数时参考的信息没有限制。亦即,选择单元206能够仅参考上述一些信息。
[0052]平台单元207提供计算机的操作系统功能,这是操作和管理应用200中其他组成元件所需的。
[0053]上述为根据第一实施例的应用200的配置。不过,那些解释仅仅是示范性的。
[0054]同时,可以通过运行处理单元,例如CPU中的计算机程序来实现节点100以及应用200的组成元件,亦即,可以利用软件实现;或者可以利用硬件,例如集成电路(IC)实现;或者可以利用软件和硬件的组合来实现。
[0055]下文给出的是关于第一实施例中执行的操作序列的解释。图4是顺序图,示出了在根据第一实施例的通信系统中通信操作期间执行的示范性操作序列。在这里,图4示出了如下情况下的操作序列:在开始加密通信时,应用200向节点100发送对应用密钥生成状态的查询并选择最合适的加密函数。
[0056]在开始执行应用之前,应用200的执行单元203向选择单元206通知执行单元203中保存的请求信息,并发送关于与执行应用相关联的最合适加密函数的查询。响应于该查询,选择单元206指示查询单元205查询应用密钥(即,指示查询单元205执行密钥查询)。然后,响应于指示,查询单元205通过通信单元201向节点100发送关于密钥查询的消息(步骤SlOD0
[0057]在节点100中,第二通信单元104接收关于密钥查询的消息并向密钥管理单元103通知密钥查询。响应于密钥查询,密钥管理单元103通过第二通信单元104向应用200发回信息(A)到信息(C)中至少一条应用密钥信息(步骤S102)。然后,在应用200中,通信单元201向查询单元205通知已经接收的应用密钥信息。然后,查询单元205向选择单元206通知应用密钥信息。
[0058]选择单元206从查询单元205获得应用密钥信息。此外,选择单元206还可以向加密处理单元202发送关于可提供加密函数的查询。响应于这样的查询,加密处理单元202向选择单元206提供加密函数信息。在这里,更具体而言,加密函数信息包含与可使用安全芯片(硬件)资源的功能和性能相关的信息以及与可使用加密库(软件)的功能和性能相关的信息。
[0059]此外,选择单元206还可以向平台单元207发送关于应用中资源使用状态的查询。响应于该查询,平台单元207向选择单元206提供资源信息。在这里,更具体而言,资源信息包含CPU负载、存储器使用、其他工作的进展状态和安全芯片的使用状态。
[0060]同时,对选择单元206从查询单元205获得应用密钥信息的时刻或加密处理单元202向平台单元207发送查询并获得信息的时刻没有特别限制。于是,可以首先执行两个操作的任一个。或者,可以在执行该序列之前预先执行操作之一或两者。
[0061]通过这种方式,选择单元206能够从执行单元203接收请求信息,能够从查询单元205接收应用密钥信息,能够从加密处理单元202接收加密函数信息,并能够从平台单元207接收资源信息。不过,这不是唯一的可能情况。或者,还可能如果仅使用一些信息,或者获得除上述信息之外的某种信息。
[0062]然后,基于上述信息,选择单元206在应用请求的上下文中选择最适当的加密函数(请求信息)(步骤S103)。对于选择最适当加密函数的方法没有特别限制。亦即,可以实施各种方法以选择最适当的加密函数。例如,如果应用请求读取“要执行最高安全水平的通信,同时确保处理量X”;可以如下所述实施选择方法。同时,在本范例中,为了简化起见,假设应用200仅支持使用安全芯片的AES。此外,假设可以实施以下类型的加密函数。
[0063](Cl)使用应用密钥的OTP加密(在下文中称为“QKD 0ΤΡ")
[0064](C2)使用应用密钥的AES块加密(在下文中称为“QKD AES")
[0065](C3)正常 AES 加密
[0066]此外,假设在这三种类型的加密函数之间没有成本差异,且按照高水平安全的次序列出(C1)、(C2)和(C3)。
[0067]首先,选择单元206判断在实施具有最高水平安全的加密函数(Cl)时获得的处理量A是否大于等于处理量X。可以利用与可分配给应用的应用密钥处理量相关的信息,从应用密钥信息计算处理量A。如果处理量X小于处理量A,那么选择单元206判定加密函数(Cl)是要使用的最适当的加密函数。否则,选择单元206判定加密函数(Cl)不是最适当的加密函数。
[0068]然后,选择单元206判断具有第二高水平安全性的加密函数(C2)的处理量B是否大于等于处理量X。可以利用与可分配给应用200的应用密钥处理量相关的信息,并利用加密函数(C2 )中使用的AES密钥长度和可用安全芯片的性能和可用加密库的性能,从应用密钥信息计算处理量B。如果处理量X小于处理量B,那么选择单元206判定加密函数(C2)是要使用的最适当的加密函数。否则,选择单元206判定加密函数(C2)不是最适当的加密函数。
[0069]最后,选择单元206判断具有第三高水平安全性的加密函数(C3)的处理量C是否大于等于处理量X。可以利用加密函数(C3)中使用的AES密钥长度和可用安全芯片的性能或可用加密库的性能,从应用密钥信息计算处理量C。如果处理量X小于处理量C,那么选择单元206判定加密函数(C3)是要使用的最适当的加密函数。
[0070]在上文解释的范例中,作为应用请求,仅考虑处理量请求。不过,例如,即使在与成本相关的应用请求(成本请求)内容为“要执行最高安全水平的通信,同时将成本降低到成本Y或更低”时,也可以执行与上文给出的解释相同的比较和判断。此外,尽管在上述范例中未使用,但在例如,相对于应用200指示“通信数据量为Z”的情况下;也可以针对可以提供给应用200的应用密钥的量进行比较。
[0071]同时,在未发现任一个加密函数满足应用请求时,有一些方法可以实施。例如,有一种方法,其中选择最接近应用请求的加密函数并视为最适当的加密函数。或者,有一种方法,其中向应用200或向用户发送表示未发现任何适当加密函数的错误。
[0072]选择单元206设置加密处理单元202,从而实施被判定(选择)为最适当加密函数的加密函数(步骤S104)。此外,选择单元206能够向执行单元203通知选择加密函数的完成或所选的加密函数。
[0073]然后,执行单元203开始执行应用200(步骤S105)。在进行数据通信时,应用200利用了通信单元204。那时,由选择单元206设置为最适合的加密处理单元202进行通信数据的加密与解密。同时,如果不需要从节点100提供的应用密钥,那么应用200可以不使用应用密钥,能够利用通过实施不同加密方法获得的加密函数并利用不同的加密密钥来进行加密通信。
[0074]通过这种方式,在根据第一实施例的通信系统中,应用能够利用通过查询节点获得的应用密钥信息并利用应用请求来选择最适当的加密函数。
[0075]变化范例
[0076]在第一实施例中,在开始执行应用功能(加密通信)之前选择加密函数。相反,在变化范例中,可以在加密通信过程中动态地改变要实施的加密函数(第一修改功能)。此外,在第一实施例中,选择单个最适当的加密通信方法(加密函数)。不过,可选加密函数的数量不限于一个。在根据变化范例的通信系统中,选择最适当加密通信方法的组合(即选择多个加密函数)(第二修改功能)。同时,还可以仅实施第一修改功能和第二修改功能之一。
[0077]在变化范例中,应用200的组成元件在以下点上与第一实施例不同。
[0078]在加密通信过程中,加密处理单元202能够动态地改变要实施的加密函数。此外,加密处理单元202可以同时设置多个加密函数(加密算法)并可以之后进行加密通信。此夕卜,加密处理单元202能够从通信单元204接收要发送的数据(发送数据)以及元数据,例如发送数据的重要程度和发送数据的秘密水平;并相应地选择要在对发送数据加密时使用的加密函数(加密算法)。或者,无需从通信单元204接收元数据,加密处理单元202就能够基于所接收数据选择加密算法。
[0079]此外,通信单元204能够向加密处理单元202发送元数据,例如数据的重要程度。
[0080]此外,即使在加密通信过程中,查询单元205也能够向加密处理单元202发送查询和结果。
[0081]此外,即使在加密通信过程中,选择单元206也能够进行判断。此外,选择单元206能够在应用请求的上下文中选择最适当加密函数的组合。
[0082]以上描述的是根据变化范例的节点和应用配置。不过,那些解释仅仅是示范性的。
[0083]下文给出的是关于变化范例中执行的操作序列的解释。在这里,操作序列与根据第一实施例的图4中所示的操作序列相同。在根据变化范例的操作序列中;例如,在执行加密通信的同时,应用200向节点100发送对应用密钥生成状态的查询并选择最适当的加密函数。给出以下解释,重点放在了与第一实施例的不同上。
[0084]即使在正执行应用的同时,选择单元206也定期指示查询单元205以查询应用密钥。然后,响应于每个指示,查询单元205通过通信单元201向节点100发送关于密钥查询的消息(步骤SlOl )。
[0085]节点100对每个查询做出响应(步骤S102)。那时,来自节点100的响应包括正加密传送的当前应用密钥信息。同时,或者,配置可以是这样的,使得不发送密钥查询(步骤S101),节点100直接向应用200通知应用密钥信息(步骤S102)。
[0086]在应用200中,通信单元201向查询单元205通知应用密钥信息。然后,查询单元205向选择单元206通知应用密钥信息。
[0087]选择单元206从查询单元205获得应用密钥信息。选择单元206能够在通信期间接收动态信息。更具体而言,选择单元206从执行单元203获得请求信息,从查询单元205接收应用密钥信息,从加密处理单元202接收加密函数信息,并从平台单元207接收资源信息。不过,那些解释仅仅是示范性的。亦即,选择单元206能够仅参考上述一些信息或能够获得某些其他与上述信息不同的信息。
[0088]然后,基于上述信息,选择单元206在应用请求的上下文中选择最适当的加密函数(步骤S103)。
[0089]作为那时的选择结果,选择单元206能够判定,例如,“加密函数A和加密函数B的组合”代表最适当的组合。同时,作为判断准则,例如,可以使用表示要实施的加密函数以便维持请求处理量的逻辑。
[0090]选择单元206设置加密处理单元202,从而使用被判定(选择)为最适当的加密函数(步骤S104)。这样的设置即使在加密通信期间也得到了反映。于是,在需要与通信另一侧的应用协商加密方法时可以执行这样的设置。
[0091]在选择多个加密函数时,确定使用每个加密函数的标准(S卩,加密函数选择标准)。在确定加密函数时,通过参考例如发送数据的类型和额外发送的发送数据的元数据,使用选择标准。
[0092]执行单元203继续执行应用200。尽管应用200本质上是透明的;在数据通信期间,与开始应用时相比,加密处理单元202使用的加密函数可能经历变化。由于这种变化的原因,即使在可用应用密钥的处理量因为节点100的功能而实际变化时,也能够维持可由应用200使用的通信处理量。
[0093]在使用多个加密函数(例如加密函数A和加密函数B)的组合时,可以想到各种方法。
[0094]例如,可以通过定义新的加密函数来使用加密函数A和加密函数B的组合,使得单个数据分组在前一半中包含由加密函数A加密的加密数据,在后一半中包含由加密函数B加密的加密数据。这种方法不限于数据分组。例如,即使在使用数据流通信期间,也能够使用交替包含由加密函数A加密的预定数据量的加密数据和由加密函数B加密的预定数据量的加密数据的数据流。
[0095]此外,或者,对于每个加密函数,也可能进行不同类型的数据通信。亦即,在通信单元204中,例如,可以建立加密函数A用于进行通信的TCP连接(TCP代表传输控制协议),可以建立加密函数B用于进行通信的TCP连接,并可以利用两个TCP连接并行进行数据通信。不过,在这种情况下,在作为数据接收方的应用200中,通信单元204需要在向执行单元203发送所接收数据之前,相对于通过多个TCP连接接收的数据进行顺序控制,方式是参考所接收数据或报头中指定的诸如序列号的信息。
[0096]此外,在并行使用两个TCP连接的情况下(当然,也在不并行使用两个TCP连接的情况下),需要与作为通信另一方的应用200就要实施的加密函数或要实施的加密函数组合以及组合加密函数的方法进行协商并达成一致。作为达到该目的的协商方法,可以利用通信单元204的握手功能中提供的加密算法协商。这样的加密算法协商方法是TLS/SSUTLS代表传输层安全,SSL代表安全套接字层)中公知的已知方法。在协商要实施的加密函数组合或协商组合加密函数连同使用加密算法协商的方法时,必须要由应用事先定义表达要实施的加密函数组合的方法或表达组合加密函数的方法并达成一致。
[0097]第二实施例
[0098]在根据第二实施例的通信系统中,并非由应用选择最适当的加密函数,而是由节点选择最适当的加密函数。就此而言,节点从应用接收请求信息、加密函数信息和资源信息;参考接收的信息和可以从节点之内获得的应用密钥信息;相应地选择最适当的加密函数;并向应用通知所选的加密函数。
[0099]图5是方框图,示出了根据第二实施例的节点100-2的配置范例。如图5所示,节点100-2包括第一通信单元101、生成单元102、密钥管理单元103、第二通信单元104-2、平台单元105和选择单元106-2。
[0100]与第一实施例相比,第二实施例不同之处在于:选择单元106-2是额外设置的,第二通信单元104-2具有与第二通信单元104不同的功能。其余组成元件与图2所示那些具有相同的配置和功能,这是根据第一实施例的节点100的方框图。因此,由相同的附图标记指示那些组成元件,不再重复其解释。
[0101]第二通信单元104-2不仅装备根据第一实施例的第二通信单元104的功能,而且具有从根据第二实施例的应用200-2 (稍后所述)接收请求信息的功能。为此,第二通信单元104-2包括接收单元501,其从应用200-2接收加密函数信息,指示应用200-2能够实施的多个加密函数。
[0102]选择单元106-2与根据第一实施例的选择单元206以相同方式具有通过参考从应用200-2接收的加密函数信息和从密钥管理单元103获得的应用密钥信息选择最适当加密函数的功能。此外,通过第二通信单元104-2,选择单元106-2设置应用200-2的加密处理单元202,从而实施所选的加密函数。
[0103]图6是方框图,示出了根据第二实施例的应用200-2的配置范例。如图6所示,应用200-2包括通信单元201-2、加密处理单元202、执行单元203、通信单元204、平台单元207和信息提供单元208-2。
[0104]在这里,与第一实施例相比,第二实施例的不同在于,额外设置了信息提供单元208-2,通信单元201-2具有与通信单元201不同的功能,且删除了查询单元205和选择单元206。其余组成元件与图3所示那些具有相同的配置和功能,这是根据第一实施例的应用200的方框图。因此,由相同的附图标记指示那些组成元件,不再重复其解释。
[0105]信息提供单元208-2通过发送单元601向节点100-2提供从加密处理单元202获得的应用信息。例如,信息提供单元208-2从执行单元203获得请求信息,从加密处理单元202获得加密函数信息,并从平台单元207获得资源信息。然后,通过发送单元601,信息提供单元208-2向节点100-2通知已经获得的应用信息。
[0106]通信单元201-2不仅具备根据第一实施例的通信单元201的功能,而且包括发送单元601,其向节点100-2发送由信息提供单元208-2提供的加密函数信息等。
[0107]加密处理单元202与第一实施例中解释的相同。不过,例如,在接收选择结果时由通信单元201-2执行关于要实施的加密函数的设置。于是,例如,向应用200-2发送表示由节点100-2选择的加密函数的加密设置信息。然后,应用200-2的组成元件(例如通信单元201-2)设置加密处理单元202,从而实施与加密设置信息对应的加密函数。同时,或者,通过通信单元201-2,节点100-2的选择单元106-2能够设置加密处理单元202,从而实施选定的加密函数。
[0108]下文给出的是关于第二实施例中执行的操作序列的解释。图7是顺序图,示出了在根据第二实施例的通信系统中通信操作期间执行的示范性操作序列。在这里,图7示出了在如下情况下的操作序列:在开始加密通信时,应用200-2为节点100-2提供应用信息;节点100-2在选择最适合应用200-2的加密函数时考虑应用密钥生成状态,并向应用200-2通知所选的加密函数。
[0109]在开始执行应用之前,应用200-2的执行单元203向信息提供单元208_2通知执行单元203中保存的请求信息。此外,信息提供单元208-2向加密处理单元202发送对可提供加密函数的查询。响应于查询,加密处理单元202向信息提供单元208-2提供加密函数信息。
[0110]此外,信息提供单元208-2能够向平台单元207发送关于应用中资源使用状态的查询。响应于该查询,平台单元207向信息提供单元208-2提供资源信息。
[0111]通过这种方式,信息提供单元208-2从执行单元203获得请求信息,从加密处理单元202获得加密函数信息,并从平台单元207获得资源信息。不过,那些解释仅仅是示范性的。亦即,信息提供单元208-2能够仅参考上述一些信息或能够获得某些其他与上述信息不同的信息。
[0112]信息提供单元208-2通过通信单元201-2向节点100_2通知所获得的应用信息(请求信息、加密函数信息和资源信息)(步骤S201)。
[0113]在节点100-2中,第二通信单元104-2接收应用信息并向选择单元106_2通知它。
[0114]然后,选择单元106-2向密钥管理单元103发送对密钥管理单元103中保存的应用密钥信息的查询。同时,对选择单元106-2向密钥管理单元103发送查询的时刻或第二通信单元104-2从应用200-2获得应用信息的时刻没有特别限制。于是,可以首先执行两种操作的任一个,或者可以并行执行两个操作。
[0115]通过这种方式,选择单元106-2能够从第二通信单元104-2获得请求信息、加密函数信息和资源信息;并能够从密钥管理单元103获得应用密钥信息。不过,那些解释仅仅是示范性的。亦即,选择单元106-2能够仅参考上述一些信息或能够获得某些其他与上述信息不同的信息。
[0116]然后,基于上述信息,选择单元106-2在应用请求的上下文中选择最适当的加密函数(步骤S202)。在这里,至于选择的方法而言,可以与第一实施例以相同方式实施各种方法。此外,在未发现任何加密函数满足应用请求时,有一些方法可以按照与第一实施例相同的方式去实施。
[0117]然后,经由第二通信单元104-2,选择单元106-2向应用200_2通知被判定(选择)为最适当的加密函数(步骤S203)。
[0118]在应用200-2中,通信单元201-2获得关于最适当加密函数的选择结果。基于选择结果,通信单元201-2设置加密处理单元202,从而实施最适当的加密函数(步骤S204)。此外,通信单元201-2能够向信息提供单元208-2或执行单元203通知选择加密函数的完成和所选的加密函数。
[0119]然后,执行单元203开始执行应用200-2 (步骤S205)。在进行数据通信时,应用200-2利用了通信单元204。那时,由选择单元106-2设置为最适合的加密处理单元202进行通信数据的加密与解密。
[0120]通过这种方式,在根据第二实施例的通信系统中,节点能够通过参考从应用获得的应用密钥信息和应用信息来选择最适当的加密函数。[0121]同时,在第二实施例中,与第一实施例的变化范例方式相同,也可能至少提供在加密通信过程中动态改变加密函数的功能(第一修改功能)或选择最适当加密通信方法的组合(选择多个加密函数)的功能(第二修改功能)的任一种。
[0122]如上所述,根据第一和第二实施例,可以在应用的上下文中,还考虑处理量和成本,来选择最适当的加密通信方法。
[0123]下文参考图3解释的是根据第一和第二实施例的装置(通信装置和密钥生成装置)的硬件配置。图8是用于解释根据第一和第二实施例的装置硬件配置的示意图。
[0124]根据第一和第二实施例的装置的每个都包括诸如CPU510的控制装置;诸如只读存储器(ROM) 520和随机存取存储器(RAM) 530的存储装置;通过建立与网络的连接来进行通信的通信I/F54 ;以及互连其他组成元件的总线61。
[0125]事先在ROM 520中存储在根据第一和第二实施例的装置中执行的计算机程序。
[0126]或者,可以在计算机可读记录介质中以可安装或可执行文件的形式记录在根据第一和第二实施例的装置中执行的计算机程序,记录介质例如是紧致盘只读存储器(⑶-ROM)、软磁盘(FD)、紧致盘可读(⑶-R)或数字多用盘(DVD)。
[0127]或者,可以在连接到因特网的计算机上将在根据第一和第二实施例的装置中执行的计算机程序保存为可下载的文件或者可以使其可以通过诸如因特网的网络分发。
[0128]同时,在根据第一和第二实施例的装置中执行的计算机程序包含要在计算机中实现的用于上述每个组成元件的模块。在实践中,例如,CPU 510从计算机可读存储介质读取计算机程序并运行它们,从而在主存储器装置中加载计算机程序。结果,在计算机中生成用于每个上述组成元件的模块。
[0129]根据上述至少一个实施例的通信装置,该通信装置被连接到生成加密密钥的密钥生成装置。通信装置包括查询单元、加密处理器和选择单元。查询单元被配置成向密钥生成装置发送对能力信息的查询,所述能力信息指示密钥生成装置生成加密密钥的能力。加密处理器被配置成实施多个加密函数。选择单元被配置成根据能力信息从多个加密函数中选择加密函数。加密处理器实施这样选择的加密函数。因此,可以在应用需求的上下文中选择最适当的加密通信方法。
[0130]尽管已经描述了某些实施例,但这些实施例仅仅是通过举例给出的,并非要限制本发明的范围。实际上,可以在多种其他形式中体现这里描述的新颖实施例;此外,可以对这里所述实施例的形式做出各种省略、替换和变化而不脱离本发明的精神。所附权利要求及其等价要件意在覆盖会落在本发明范围和精神之内的这种形式或修改。
【权利要求】
1.一种连接到生成加密密钥的密钥生成装置的通信装置,所述通信装置包括: 查询单元,配置成向所述密钥生成装置发送关于能力信息的查询,所述能力信息指示所述密钥生成装置生成所述加密密钥的能力; 加密处理器,配置成实施多个加密函数;以及 选择单元,配置成根据所述能力信息从所述多个加密函数中选择加密函数,其中 所述加密处理器实施所选择的加密函数。
2.根据权利要求1所述的装置,还包括通信单元,配置成利用所述加密函数进行通信,其中 在所述通信单元进行通信的同时,所述查询单元向所述密钥生成装置发送关于所述能力信息的查询。
3.根据权利要求1所述的装置,其中 所述选择单元根据所述能力信息选择多个加密函数,并且 所述加密处理器实施所选择的多个加密函数。
4.根据权利要求3所述的装置,还包括通信单元,配置成建立分别对应于所选择的多个加密函数的多个通信,并利用所建立的多个通信进行通信。
5.根据权利要求1所述的装置,其中所述选择单元根据所述能力信息并根据请求信息从所述多个加密函数中选择加密函数,所述请求信息指示对利用所述加密密钥执行的操作的请求。
6.一种连接到利用`加密密钥的通信装置的密钥生成装置,所述密钥生成装置包括: 生成单元,配置成生成所述加密密钥; 接收单元,配置成从所述通信装置接收加密函数信息,所述加密函数信息指示所述通信装置能够实施的多个加密函数;以及 选择单元,配置成根据能力信息从所述加密函数信息指示的多个加密函数中选择加密函数,所述能力信息指示所述生成单元生成所述加密密钥的能力。
7.根据权利要求6所述的装置,还包括通信单元,配置成向所述通信装置传送所生成的加密密钥。
8.根据权利要求6所述的装置,其中所述选择单元根据所述能力信息选择多个加密函数。
9.根据权利要求6所述的装置,其中 所述接收单元还从所述通信装置接收请求信息,所述请求信息指示对利用所述加密密钥执行的操作的请求,并且 所述选择单元根据所述能力信息和所述请求信息从所述多个加密函数中选择加密函数。
10.一种在连接到生成加密密钥的密钥生成装置的通信装置中实施的通信方法,所述通信方法包括: 向所述密钥生成装置发送关于能力信息的查询,所述能力信息指示所述密钥生成装置生成所述加密密钥的能力; 实施多个加密函数;以及 根据所述能力信息从多个加密函数选择加密函数,其中所述实施包括实施所选择的加密函数。
11.一种在连接到利用加密密钥的通信装置的密钥生成装置中实施的通信方法,所述通信方法包括: 生成所述加密密钥; 从所述通信装置接收加密函数信息,所述加密函数信息指示所述通信装置能够实施的多个加密函数;以及 根据指示所述生成单元生成所述加密密钥的能力的能力信息从所述加密函数信息指示的多个加密函数选择加密函数。
12.一种通信系统,包括: 生成加密密钥的密钥生成装置;以及 通信装置,其中 所述通信装置包括 查询单元,配置成向所述密钥生成装置发送关于能力信息的查询,所述能力信息指示所述密钥生成装置生成所述加密密钥的能力; 加密处理器,配置成实施多个加密函数;以及 选择单元,配置成根据所述能力信息从所述多个加密函数中选择加密函数, 所述加密处理单元实施所选择的加密函数,以及 所述密钥生成装置包括 生成单元,配置成生成所述加密密钥;以及` 通信单元,配置成响应于来自所述查询单元的查询向所述通信装置发送所述能力信肩、O
13.一种通信系统,包括: 生成加密密钥的密钥生成装置;以及 通信装置,其中 所述密钥生成装置包括 生成单元,配置成生成所述加密密钥; 接收单元,配置成从所述通信装置接收加密函数信息,所述加密函数信息指示所述通信装置能够实施的多个加密函数;以及 选择单元,配置成根据能力信息从所述加密函数信息指示的多个加密函数中选择加密函数,所述能力信息指示所述生成单元生成所述加密密钥的能力,以及所述通信装置包括 发送单元,配置成向所述密钥生成装置发送所述加密函数信息;以及 加密处理器,配置成实施所选择的加密函数。
【文档编号】H04L9/08GK103532702SQ201310063218
【公开日】2014年1月22日 申请日期:2013年2月28日 优先权日:2012年7月6日
【发明者】谷泽佳道, 马场伸一 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1