自动更新共享密钥的加密密钥共享方案的制作方法

文档序号:7616227阅读:130来源:国知局
专利名称:自动更新共享密钥的加密密钥共享方案的制作方法
技术领域
本发明涉及与对方共享密钥信息,并在此密钥基础上执行加密通信的通信设备,尤其涉及共享此密钥信息的方案。
背景技术
近年来,以低廉的成本生产相对高性能的设备成为可能,甚至存在通常作为独立设备的那些设备,例如家用电器,现在也能够被连接到网络。另一方面,随着网络化的发展,越来越关心由于窃听流过网络的信息、或者窃用用户ID、以及通过网络非法远程操作设备而泄露保密的重要信息。
为了解决以上问题,存在这样的方法为了防止第三方的窃取,对通信数据加密之后再发送和接收通信数据,使得只有对方能够解密设备之间的通信。这里,需要共享只能由对方知道的、用于加密的密钥。例如,正如在日本专利申请2001-069138中所述的那样,存在这样的方法,其中使用在公用密钥密码系统中所使用加密,并且将存储在IC卡上的共享密钥与远端服务器进行交换。
但是,如果无限次地继续交换利用相同密钥信息加密的信息,那么这个共享密钥迟早可能会被破译的。也可能分析存储共享密钥的设备(例如IC卡),来窃取共享密钥。而且,在为了减少生产成本而不可避免地提前把同样的共享密钥设置在大量的设备中的情况下,其他具有相同共享密钥的设备也就陷于同样的危险处境。

发明内容
因此,本发明的目的是提供共享加密密钥的方案,其中通过自动更新第三方难以预期的共享密钥,通过从对方获取将被用于加密来自对方的下一次通信的共享密钥的种子值,而不要求用户在每次与对方通信过程时都更新这个共享密钥,从而防止第三方窃取通信内容。
根据本发明的一个方面,提供了通信设备,包括存储单元,用于存储第一值;共享密钥产生单元,用于根据存储在存储单元中的第一值生成第二值,作为将被用于加密与对方通信的通信数据的共享密钥;发送单元,用于向对方发送包含第二值的通知消息;以及接收单元,被设置为从对方接收包含第三值的响应消息,并把第三值存入存储单元,作为将被用于下次产生第二值的第一值。
根据本发明的另一方面,提供了通信方式,包括在存储器中存储第一值;根据存储在存储器中的第一值,生成第二值,作为将在加密与对方通信的通信数据中使用的共享密钥;发送包含第二值的通知消息给对方;以及从对方接收包含第三值的响应消息,并存储第三值到存储器中,作为用于下次生成第二值的第一值。
根据本发明的另一方面,提供了用于共享在客户端设备和作为客户端设备的对方的服务器设备之间加密通信中所使用的加密密钥的加密密钥共享方法,包括根据存储在客户端设备存储器中的第一值,生成第二值作为共享密钥,用于加密与服务器设备通信的通信数据;从客户端设备发送包含第二值的通知消息到服务器设备;接收通知消息,并判定服务器设备是否正确接收第二值;当第二值被正确接收时,从服务器设备发送包含第三值的响应消息到客户端设备;以及接收响应消息,并将响应消息中包含的第三值作为第一值存储在存储器中,用于在客户端下次生成第二值。
根据本发明的另一方面,提供了使计算机作为通信设备的计算机程序产品,计算机程序产品包括使计算机将第一值存储在存储器中的第一计算机程序代码;第二程序代码,使计算机根据存储在存储器中的第一值生成第二值作为共享密钥,用于加密与对方通信的通信数据;第三计算机程序代码,使计算机向对方发送包含第二值的通知消息;第四计算机程序代码,使计算机从对方接收包含第三值的响应消息,并在存储器中存储第三值作为第一个值,用于下次生成第二值。
由以下结合附图的描述,将了解本发明的其他特征和优点。


图1是概要图,表明根据本发明的一个实施例的通信系统的示例性配置。
图2是表明图1所示的通信系统中示例性通信顺序的顺序流程图。
图3是表明图1所示的通信系统中另一种示例性通信顺序的顺序流程图。
图4是表明图1所示的通信系统中另一种示例性通信顺序的顺序流程图。
图5是表示图1所示的通信系统中设备的示例性配置的框图。
图6是表示图1所示的通信系统中的应用服务器的示例性配置的框图。
图7是表示图1所示的通信系统中设备的示例性处理的流程图。
图8是表示图1所示的通信系统中应用服务器的示例性处理的流程图。
具体实施例方式
现在参考图1至图8详细介绍本发明的一个实施例。
图1表示这个实施例中通信系统的示例性配置,包括设备101、应用服务器102、设置PC 103、以及网络104。
设备101具有通信功能,使得它能够通过网络104与应用服务器102以及设置PC 103通信。设备101通过网络104接收来自其他设备的操作命令,并且响应于查询用其自己的状态信息响应。这里,表示了设备101是微波炉的示例性情况,但是设备可以是任何具有能够通过网络104通信的通信功能的设备,例如一般家用电器设备或者便携终端。
应用服务器102具有通过网络104与设备101和设置PC 103通信的功能,并且例如响应于来自设备101的请求或者自动地提供诸如菜谱的信息。这里,应用服务器102具有与设备101交换共享密钥、并执行设备101的用这个共享密钥加密的通信的功能。也可能用连接到网络104的设备(例如,设备101)作为应用服务器102,而不是提供应用服务器102作为单独的设备。在这种情况下,通过网络104,可能在设备之间共享共享的密钥,并在这些设备之间执行加密通信。
设置PC 103具有通过网络104与设备101和应用服务器102通信的功能。设置服务器1-3具有主要用于用户的界面,例如显示器和键盘,以及通过网络104中针对每个设备进行设置、状态检查以及发送命令。例如,在这个实施例中,这个功能被用于对应用服务器102的初始注册、设备101的状态检查、以及命令更新由设备101所存储的共享密钥。
网络104可以是任何通信介质,例如有线LAN,无线LAN,或者一系列通信路径,或者其他任何通信介质。它可以被其中连接到网络的至少两个或多个设备能够传送和接收加密数据的任何网络所取代。作为例子,将描述能够执行使用IP(因特网协议)的分组通信的LAN情况。
图2表示图1所示的通信系统中的示例性通信顺序。
在交换密钥信息中,只要请求就自动地与任何设备交换密钥是不合适的,这是因为如果通过与网络的简单连接就可以交换数据,那么存在数据很容易被恶意的第三方窃取的可能性。还存在问题,即允许或者使能位于相邻住宅中的设备连接到位于自己住宅内的这个实施例的通信系统中。
鉴于以上原因,在这个实施例的通信系统中,在通信顺序开始时,利用设置PC 103(设备ID通知201)将应该与之交换密钥的设备的标识通知给应用服务器102。然后,应用服务器102用关于是否可能正常接收这个通知的信息(通知响应202)作出响应。在这点上,设备ID可以被直接输入到应用服务器102,而不用借助于设置PC 103。这样的情况下,将省略设备ID通知201和通知响应202。
当与之共享密钥的设备(即设备101)的设备ID被正常地通知时,用户将设备101的操作状态转换到密钥交换模式,用于与应用服务器102交换密钥信息。这种模式转换可以由用户通过执行切换设备101的操作状态的操作来进行,但是也可能制造设备101,使得例如在设备101电源打开时,设备101被自动设置为这种模式。在当电源打开时切换到密钥交换模式的情况下,当设备ID通知201完成时,设备101的电源被打开。
密钥交换模式中的设备101将密钥信息的初始值通知对方(即应用服务器102),以便共享作为密码本的共享密钥(初始密钥通知203)。密钥的这个初始值包含共享密钥的初始值以及用于验证这个密钥的信息。详细过程将会在以下描述。在这点上,应该最好利用应用服务器102所提供的公共密钥来加密被发送的密钥初始值。用于信息加密的公用密钥密码系统通常是这样的密码系统,其中利用包括公用密钥和保密密钥的两个密钥信息来实现加密和解密。具有这样的特性,即只有利用特定保密密钥才能够解密利用一个公用密钥所加密的数据,只有利用特定的公用密钥才能解密利用一个保密密钥所加密的数据。利用这个特性,就可能将正确的信息只通知给特定的对方。关于加密机制本身就不在这里赘述了。
当进行连接的设备101是具有先前设备ID通知信息201中所通知的设备ID的设备时,应用服务器102利用共享密钥和从设备101所接收到的初始密钥通知203中所包含的用于验证这个共享密钥的信息来判断这个共享密钥是否正确,并且将这个判断结果作为通知响应204向设备101作出响应。
接收到通知响应204的设备101请求开始使用先前发送的共享密钥的密码通信(加密通信请求205)。一旦接收到这个请求,如果加密通信请求205的请求是可接受的,那么应用服务器1-2就用用于接收这个通信请求的通信请求响应206作出响应,通信请求响应206包括作为设备101下次生成共享密钥时的种子值的信息。
利用以上程序,共享密钥在设备101和应用服务器102之间被共享。然后,设备101与应用服务器102开始使用共享密钥的加密通信,并且为了检验加密解密是否被正常执行,通过发送和接收加密数据来执行到达确认207。尽管在这个实例中使用了到达确认207,但是并不是绝对必须在密钥共享之后执行到达确认。
例如,用户可以在合适的时机从设置PC 103发送到达确认请求208给应用服务器102,以便检验在设备101和应用服务器102之间是否正常执行加密通信。在这种情况下,接收到达确认请求208的应用服务器102与设备101执行到达确认207,并且以其结果作为到达确认响应209来向设置PC 103作出响应。
图3表示图1所示通信系统中向设备101命令设置新的共享密钥的示例性通信顺序。
当希望更新用于与应用服务器102的加密通信的共享密钥时,用户向设备101命令更新共享密钥(初始密钥更新请求301)。接收这个命令的设备101以更新请求响应302作为向设置PC 103的响应,并将自己的操作状态转换到密钥交换模式。通过这个操作,设备101与应用服务器102通过以上描述的初始密钥通知203、通知响应204、加密通信请求205以及通信请求响应206来共享新的共享密钥。
图4表示图1所示通信系统中向设备101命令设置新的共享密钥的另一种示例性通信顺序。
不是直接从设置PC 103向设备101请求更新共享密钥,而是设置PC 103请求应用服务器102作为设置PC 103的代理向设备101进行共享密钥更新请求。设置PC 103发送包含指示哪个设备的共享密钥应该被更新的设备ID等的初始密钥代理更新请求401到应用服务器102。应用服务器102用对这个请求的响应作为代理更新请求响应402作为对设置PC 103的响应。
然后,从包含在初始密钥代理更新请求401中的设备ID等中识别其共享密钥应该被更新的设备。随后,存储在这个设备中的更新共享密钥的请求被发送到被识别出的设备(这里假定为设备101)(初始密钥更新请求403)。于是,接收这个请求的设备101用更新请求响应404来对应用服务器102进行响应,并且把自己的操作状态转换到密钥交换模式。通过这个操作,设备101通过上面描述的初始密钥通知203、通知响应204、加密通信请求205以及通信请求响应206与应用服务器102共享新的共享密钥。
图5表示这个实施例中设备101的示例性配置。图5中的设备101具有包括随机数产生单元502、存储单元503和计算单元504的共享密钥设置单元501,加密处理单元505,通信单元506,以及设备控制单元507。
共享密钥设置单元501具有生成在设备与通过与其他设备交换而与其共享密钥信息的其他设备执行加密通信时使用的共享密钥、设置这个生成的密钥信息做为加密处理单元505中的密钥、以及将密钥信息通知其他设备的功能。以下将分别介绍共享密钥设置单元501的每个功能。
随机数产生单元502具有产生随机数的功能。这里,随机数可以包括根据一些规则生成的伪随机数。
存储单元503具有存储由随机数产生单元502所生成的随机数、由计算单元504所计算出的计算值、以及从其他设备所接收的信息的功能。
计算单元504基于存储在存储单元503中的数值进行计算,并将其存储回存储单元503。计算单元504所执行的计算包括多个数值数据的连接、通过散列函数的一些数值的单向转换等等。
加密处理单元505的功能是,当共享密钥设置单元501或者设备控制单元507交换将与其他设备通信的数据时,加密要发送的通信数据或者解密接收到的通信数据。对于利用对方提供的公共密钥加密/解密的公用密钥密码系统,以及利用共享的保密密钥加密/解密的共享密钥密码系统,在加密/解密时,都使用加密处理单元505。至少在使用保密密钥加密/解密的情况下,从共享密钥设置单元501中获取对应于这个保密密钥的共享密钥。
通信单元506具有通过网络104与其他设备通信的功能。必需的功能通常根据用于通信的通信介质而不同。这里,假定提供对使用网络104的通信介质的通信所需的功能。
设备控制单元507是用于控制设备101自身操作的一部分,可以包括在微波炉的情况下,获取烹饪菜谱信息和通知烹饪状态信息,以及控制操作面板上显示或者设备101上提供的的电源单元。当设备控制单元507对于控制设备101本身需要通过网络104与其他设备通信时,通信数据由加密处理单元505加密/解密,使得这个通信所交换的通信数据在网络104上以加密形式被发送。
图6表示这个实施例中应用服务器102的示例性配置。图6的应用服务器102具有包含随机数产生单元602、存储单元603和计算单元604的共享密钥设置单元601,加密处理单元605,通信单元606,以及服务器功能处理单元607。
共享密钥设置单元601具有这样的功能,即由在应用服务器102和与其共享密钥信息的其他设备执行加密通信时所接收的包含共享密钥的密钥设置信息来判断这个设备是否是将与其通信的设备,在加密处理单元605中将这个共享密钥信息设置为加密密钥,并发送在下次与其他设备通信时使用的共享密钥的种子值。接下来,将分别描述共享密钥设置单元601的每个功能。
随机数产生单元602具有产生随机数的功能。这里,随机数可以包括根据一些规则生成的伪随机数。
存储单元603具有以下功能存储由随机数产生单元602生成的随机数、由计算单元604计算出的计算值、以及从其他设备所接收的信息。
计算单元604根据存储在存储单元603中的数值进行计算,并将其存储回存储单元603。计算单元604进行的计算包括数值数据的分割、数值比较运算等等。
加密处理单元605的功能就是,当共享密钥设置单元601或者服务器功能处理单元607与其他设备交换通信数据时,加密要发送的通信数据或解密所接收的通信数据。对于使用由对方所提供的公用密钥加密/解密数据的公用密钥密码系统,以及使用共享保密密钥加密/解密数据的共享密钥密码系统,在加密/解密时,都使用加密处理单元605。至少在使用保密密钥加密/解密的情况下,从共享密钥设置单元601中获取对应于这个保密密钥的共享密钥。
通信单元606具有通过网络104与其他设备通信的功能。必需的功能通常会根据用于通信的通信介质而不同。这里,假定提供了使用通过网络104的通信介质的通信所需的功能。
服务器功能处理单元607是用于控制应用服务器102自身操作的一部分,例如,如果是为了在从其他设备接收请求以后提供烹饪菜谱信息的目的而提供的服务器,则可以包括接收请求的功能和存储和提取必要信息的功能,以及将这个信息传送到其他设备的功能。当服务器功能处理单元607需要通过网络104与其他设备通信时,通信数据由加密处理单元605加密/解密,使得这个通信所交换的通信数据在网络104上以加密形式被发送。
图7表示这个实施例中设备101的示例性处理。当设备101处理开始时,判断是否从其他设备中获取了RO并将其才能出在存储单元503中,其中R0是将要共享的共享密钥的种子值(步骤S01)。RO指示包含在通信请求响应206中的共享密钥的种子值。如果应该由通信请求响应206接收的RO没有被存储,则设备101自己通过随机数产生单元502生成RO,并把它存储到存储单元503(步骤S02)。RO没有被存储的情况是例如在设备101的电源打开后立即出现的状态。
接着,判断用于与应用服务器102的加密通信的共享密钥是否需要更新(步骤S03)。这里,例如在当设备101刚刚被激活时还没有从其他设备获取RO的情况下;在从设置PC 103接收到初始密钥更新请求301的情况下;以及在从应用服务器102接收到初始密钥更新请求403的情况下,判断是否需要更新共享密钥。可选地,如果被配置为只要进行了预定次数的通信或预定时间周期的通信则更新共享密钥,那么在预定次数或预定时间周期以后就是通信时间。在不是这些情况之一并且不需要更新当前使用的共享密钥时,加密处理单元505在利用当前所使用的共享密钥加密/解密通信数据的同时进行与应用服务器102的通信(步骤S03)。
当在步骤S03中判断需要更新共享密钥时,通过由随机数产生单元502所生成的随机数来确定R1和S的值,并存储到存储单元503(步骤S04)。然后,通过连接存储在存储单元503中的R0和R1而将其组合,并且通过计算单元504应用单向散列函数而获得共享密钥K,并将它们都存储在存储单元503中(步骤S05)。这里,对R0和R1的组合应用单向散列函数是通过设置R1为依赖于那个设备的值(例如设备ID或关于那个设备的操作状态的值)而获得具有较高不可破解性的伪随机数的一种方法。因此,诸如组合R0和R1的方法、编码长度等的规范不是必须限于这里所描述的方法。例如,在S04步中生成R1时,可以用Ro的值作为随机数产生单元502的种子值。在这种情况下,根据选择RO的方式,可能只由R1就使共享密钥K的不可破解性足够高,因此能够使用通过对R1应用散列函数而获得的值作为共享密钥K。当然,还可能使用通过对R0应用单向散列函数所获得的值作为共享密钥K。
然后,根据规定的规则,以可分的形式组合在步骤S05中所获的K和S,通过利用从应用服务器102所提供的公用密钥加密这个组合数据而获得P,并把P存储到存储单元503中(步骤S06)。然后,P和S的信息作为初始密钥通知203被发送给应用服务器102(步骤S07)。
然后,判断根据验证P和S值的结果而包含在来自应用服务器102的响应通知204中的接受/拒绝信息(步骤S08)。如果判断结果“OK”,则将加密通信请求205发送给应用服务器102,以请求开始使用由初始密钥通知203所发送的共享密钥K的加密通信(步骤S09),并且从应用服务器102接收用于响应这个请求的通信请求响应206。设备101提取包含在这个通信请求响应206中的R0,并将它存储于存储单元503(步骤S10)。然后,加密处理单元505在利用当前所存储的共享K加密/解密通信数据的同时与与应用服务器102进行通信(步骤S11)。
另一方面,当步骤S08中判断结果不是“OK”时,表示由于某种原因,与应用服务器102的加密通信被拒绝了,使得处理结束,而不再进行其他操作。
利用这样的配置,通过从其他设备获取作为共享密钥产生的种子值,而无需为设备101固定共享密钥,可能由设备自己为每个设备自动产生并共享第三方难以破解的共享密钥。
图8表示这个实施例中应用服务器102的示例性处理。
首先,应用服务器从设备101接收初始密钥通知203,提取包含在其中的S和P,并把他们存储到存储单元603中(步骤S21)。然后,通过利用自己的保密密钥解密P而获得X,并将其存入存储单元603中(步骤S22)。计算单元604根据在组合S和K时所用的规则把所存储的X分为S和K,以便获得对应于S的S’和对应于K的K’,并将他们存入存储单元603(步骤S23)。
然后,比较先前存储的S和S’(步骤S24)。这里,判断设备101是否用应用服务器102所提供的公用密钥加密数据,这是因为通常只有当利用对应于这个保密密钥的公用密钥加密时,通过利用保密密钥解密包含S的值的加密数据而获得的S’才与S相等。因此,S和S’是相同值的事实表示K’等于设备101所发送的K。
当步骤S24中S和S’不同时,用指示“NG”的通知响应204对发送包含这个值的初始密钥通知203的设备101作出响应,并且处理结束(步骤S26)。
当S和S’相同时,用指示“OK”的通知响应204向设备101作出响应(步骤25),并且等待来自设备101的加密通信请求205(步骤S27)。
当在通知响应204之后预期时间内还没有接收到来自设备101的加密通信请求205时,处理结束,不再进行与设备101的加密通信(步骤S27)。使用这样的配置,可以通过为只进行初始密钥通知203的情况保持等待状态而避免浪费应用服务器102的通信资源,因此,可以预期例如避免非法用户攻击网络的危险。
当在预期时间内,加密通信请求205从发送初始密钥通知203的设备101到达时,随机数产生单元602生成随机数,并将它的值作为R0存入存储单元603(步骤S28)。然后,包含这个R0和表明接受这个请求的信息的通信请求响应206作为对加密通信请求205的响应被响应给设备101(步骤S29)。通过到这点的交换,共享密钥在设备101和应用服务器102之间被共享,因此,接下来进行使用共享密钥K的加密通信(步骤S30)。
利用这样的配置,即使在例如与不能产生具有足够高的不可破解性的伪随机数的低端设备进行加密通信的情况下,通过在应用服务器102侧生成具有足够高的不可破解性的伪随机数、并将其作为对方设备设置的共享密钥的种子值,也可能进行使用第三方难以破解的共享密钥的加密通信。
在这个实施例的通信系统中,已经描述了在设备101和应用服务器102之间密钥共享的情况。如果存在不同于设备101、并且与应用服务器102有信任关系的设备,那么可能通过应用服务器102实现这样的设备与设备101之间的密钥共享。
这两个设备都与同一应用服务器102建立加密通信,因此,当应用服务器102中继加密通信的内容时,在这些设备之间能够进行与设备101和应用服务器102之间所进行的密钥共享过程相似的密钥共享过程。
否则,如果根据这个实施例实现这两个设备与应用服务器102之间的密钥共享,但是加密通信已经建立,那么能够进一步简化与这两个设备的密钥共享过程。最简单的方法是通过应用服务器102把共享密钥从一个设备直接发送至另一个设备。
而且,当一个设备正在通过不同于这个实施例的密钥交换,例如SSL(加密套接字协议层),而进行与应用服务器102的加密通信时,也可以应用这个实施例的通信系统。在这种情况下,根据这个设备的配置、重要级别、连接频率、连接时间等等,能够选择在执行加密通信时减少过程,或者选择适用于那个设备的加密通信,例如更强的密码通信。
通过这样的配置,可能根据与应用服务器102的信任关系,交换用于与应用服务器102通信的多个设备之间的加密通信的共享密钥。
正如以上描述,根据本发明,可以提供共享加密密钥的方案,其中通过自动更新第三方难以预期的共享密钥、通过从对方获取用于加密下一次通信的共享密钥的种子值、而无需请求用户每次与对方通信时都更新共享密钥,而防止第三方窃取通信内容。
还应该注意,除了以上内容以外,可以进行多种修改和变化,而不会背离本发明的新颖性和有利特征。相应地,所有这样的修改和变化被包括在后面的权利要求书的范围内。
权利要求
1.一种通信设备,包括存储单元,被配置为存储第一值;共享密钥产生单元,被配置为根据存储在所述存储单元中的第一值生成第二值作为共享密钥,所述共享密钥用于加密要与对方通信的通信数据;发送单元,被配置为将包含所述第二值的通知消息发送给所述对方;接收单元,被配置为从所述对方接收包含第三值的响应消息,并将所述第三值存入所述存储单元,作为用于下次产生所述第二值的第一值。
2.根据权利要求1的通信设备,还包括数值产生单元,被配置为根据规定的规则生成数值;其中所述共享密钥产生单元根据所述第一值和所述数值生成所述第二值。
3.根据权利要求1的通信设备,还包括加密单元,被配置为利用所述对方所提供的公用密钥加密所述第二值;其中,所述发送单元发送包含由所述加密单元加密的第二值的通知消息。
4.根据权利要求1的通信设备,还包括数值生成单元,被配置为根据规定的规则生成第一值,并且在所述第一值没有被存储在所述存储单元中时,在所述共享密钥产生单元生成所述第二值之前,将所述第一值存入所述存储单元。
5.根据权利要求1的通信设备,还包括加密通信单元,被配置为通过利用所述第二值作为所述共享密钥加密所述通信数据而执行与所述对方的加密通信。
6.一种通信方法,包括在存储器中存储第一值;根据存储在所述存储器中的第一值,生成第二值作为共享密钥,所述共享密钥被用于加密要与对方通信的通信数据;发送包含所述第二值的通知消息给所述对方;以及从所述对方接收包含第三值的响应消息,并存储所述第三值到所述存储器中,作为用于下次生成第二值的第一值。
7.根据权利要求6的通信方法,还包括根据规定的规则生成数值;其中根据所述第一值和所述数值生成所述第二值。
8.根据权利要求6的通信方法,还包括利用所述对方所提供的公用密钥加密所述第二值;其中,所述发送步骤发送包含由加密步骤加密的第二值的通知消息。
9.根据权利要求6的通信方法,还包括根据规定的规则生成第一值,并且,在所述第一值没有被存储在所述存储器中时,在生成所述第二值之前,将所述第一值存入所述存储器。
10.根据权利要求6的通信方法,还包括通过利用所述第二值作为所述共享密钥加密所述通信数据,执行与所述对方的加密通信。
11.一种加密密钥共享方法,用于共享在客户端设备和作为客户端设备的对方的服务器设备之间的加密通信中所使用的加密密钥,包括在客户端设备处,根据存储在存储器中的第一值,生成第二个值作为共享密钥,所述共享密钥被用于加密与服务器设备通信的通信数据;从所述客户端设备发送包含所述第二值的通知消息到所述服务器设备;接收所述通知消息,并判断在所述服务器设备处是否正确地接收所述第二值;当所述第二值被正确接收时,从所述服务器设备发送包含第三值的响应消息到所述客户端设备;并且接收所述响应消息,并将包含在所述响应消息中的第三值存储在所述存储器中,作为下次在客户端生成第二值中所用的第一值。
12.一种加密密钥共享方法,还包括在发送所述通知信息之后,从所述客户端设备发送用于请求开始加密通信的加密通信请求到所述服务器设备;其中,当在接收所述通知信息后的规定时间范围内接收到所述加密通信请求时,所述服务器设备发送所述响应信息。
13.一种计算机程序产品,用于使计算机作为通信设备,所述计算机程序产品包括第一计算机程序代码,用于使所述计算机将第一值存储在存储器中;第二计算机程序代码,用于使所述计算机根据存储在所述存储器中的第一值生成第二个值作为共享密钥,所述共享密钥被用于加密与对方通信的通信数据;第三计算机程序代码,用于使所述计算机将包含所述第二值的通知消息发送给所述对方;第四计算机程序代码,用于使所述计算机从所述对方接收包含第三值的响应消息,并将所述第三值存储在所述存储器中,作为在下次生成第二值中使用的第一值。
14.根据权利要求13中的计算机程序产品,还包括第五计算机程序代码,用于使所述计算机根据规定的规则生成数值;其中,所述第二计算机程序代码根据所述第一值和所述数值生成所述第二值。
15.根据权利要求13中的计算机程序产品,还包括第五计算机程序代码,用于使所述计算机利用所述对方所提供的公用密钥加密所述第二值;其中,所述第三计算机程序代码发送包含由所述第五计算机程序代码加密的第二值的通知消息。
16.根据权利要求13中的计算机程序产品,还包括第五计算机程序代码,用于使所述计算机根据规定的规则生成所述第一值,并且在所述第一值没有被存储到所述存储器中时,在生成所述第二值之前,将所述第一值存储到所述存储器中。
17.根据权利要求13中的计算机程序产品,还包括第五计算机程序代码,用于使所述计算机通过用所述第二值作为所述共享密钥加密所述通信数据,来执行与所述对方的加密通信。
全文摘要
在加密密钥共享方案中,通过自动更新第三方难以预期的共享密钥、通过从对方获取用于加密下次通信的共享密钥的种子值,而无需请求用户在每次与对方通信时更新共享密钥,从而防止了第三方窃取通信内容。
文档编号H04L9/08GK1671099SQ200510054789
公开日2005年9月21日 申请日期2005年3月16日 优先权日2004年3月16日
发明者尾崎哲, 米山清二郎, 松泽茂雄 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1