密钥发布系统的制作方法

文档序号:7737702阅读:200来源:国知局
专利名称:密钥发布系统的制作方法
技术领域
本发明涉及密钥发布系统,特别是涉及由服务器向终端发布作为服务器和终端之间的加密通信中所使用的公用密钥的通信用私人密钥的密钥发布系统。
背景技术
以往,有一种使用规定了有效期限的会话密钥来进行加密通信的通信系统。在该通信系统中,将会话密钥加密来进行发布。在会话密钥的加密中,使用被称为kryptonite 协议的公用密钥加密。在共享密钥加密中,对服务器(住宅用服务器)和终端(设备终端)预先设定相同的公用密钥(后面称为“通信用私人密钥”)。由于通信用私人密钥按照每个终端决定, 所以即使终端的使用者发生了改变,终端的通信用私人密钥也不会发生变化。因此,以前利用过终端的使用者如果预先从终端取得通信用私人密钥,则能够监听终端和服务器之间的通信。因此,可能会发生如下情况同一终端的新的使用者的使用状况(例如生活习惯)等被以前的使用者监视,或者终端被以前的使用者非法使用(被任意操作)。文献1 (日本特开2000-349748号公报)公开了一种通信机密性比共享密钥加密更高的公开密钥加密。即使是公开密钥加密,只要不变更公开密钥和私有密钥,就无法完全防止以前的使用者监听通信的情况。因此,考虑在使用者发生了变化时变更公开密钥和私有密钥。但是,对于文献1所公开的公开密钥加密而言,发送者和接收者为了共享信息,发送者和接收者必须分别持有与对方的公开密钥成对的私人密钥(私有密钥)。因此,在文献1所公开的公开密钥加密中,不进行私人密钥自身的交换。

发明内容
本发明是鉴于上述情况而完成的。本发明的目的在于,提供一种密钥发布系统,其能够以不为第三者所知的方式,从服务器向终端安全地发布服务器新发行的、在与终端的加密通信中使用的通信用私人密钥。本发明涉及的密钥发布系统,具备终端、和经由通信网络与上述终端连接的服务器。上述终端具备第一密钥存储单元,其能够被改写,用于存储通信用私人密钥和公开密钥。上述终端具备第一通信单元,其用于与上述服务器进行使用了上述第一密钥存储单元中存储的上述通信用私人密钥作为公用密钥的加密通信。上述终端具备密钥请求单元。上述密钥请求单元被构成为,在请求上述服务器发行新的通信用私人密钥时,重新生成由数值构成的秘密值。上述密钥请求单元还被构成为,利用上述第一存储单元中存储的上述公开密钥来对上述秘密值进行加密,从而生成第一密码,并将上述第一密码发送到上述服务器。上述服务器具备第二密钥存储单元,其能够被改写,除了存储上述通信用私人密钥以外,还存储与上述公开密钥成对的私有密钥、即解密用私人密钥。上述服务器具备第二通信单元,其用于与上述终端进行使用了上述第二密钥存储单元中存储的上述通信用私人密钥作为公用密钥的加密通信。上述服务器具备密钥发行单元。上述密钥发行单元被构成为,当上述终端请求发行新的通信用私人密钥时,发行新的通信用私人密钥并将其存储在上述第二密钥存储单元中。上述密钥发行单元还被构成为,通过利用上述解密用私人密钥对上述第一密码进行解密来取得上述秘密值。上述密钥发行单元还被构成为,利用该秘密值对上述新的通信用私人密钥进行加密来生成第二密码,并将上述第二密码发送到请求了发行新的通信用私人密钥的上述终端。上述密钥请求单元被构成为,通过利用上述秘密值对上述第二密码进行解密,取得上述新的通信用私人密钥,并将其存储在上述第一密钥存储单元中。上述第一通信单元被构成为,在上述新的通信用私人密钥被存储在上述第一密钥存储单元以后,与上述服务器进行使用了上述新的通信用私人密钥作为公用密钥的加密通信。 上述第二通信单元被构成为,在上述新的通信用私人密钥被存储在上述第二密钥存储单元以后,与上述终端进行使用了上述新的通信用私人密钥作为公用密钥的加密通信。在该密钥发布系统中,在终端请求服务器发行新的通信用私人密钥时,利用公开密钥对秘密值进行加密,并发送到服务器。服务器利用与公开密钥成对的私有密钥对被加密了的秘密值进行解密。服务器以能够利用秘密值进行解密的方式对新的通信用私人密钥进行加密,并发送到终端。终端利用秘密值对被加密了的通信用私人密钥进行解密,从而取得新的通信用私人密钥。因此,根据该密钥发布系统,能够将新的通信用私人密钥安全地从服务器送达到终端。优选地,上述密钥请求单元被构成为,在请求上述服务器发行新的通信用私人密钥时,将上述第一密钥存储单元中存储的上述通信用私人密钥作为上述公开密钥使用,对上述新生成的秘密值进行加密。上述密钥发行单元被构成为,在上述终端请求发行新的通信用私人密钥时,发行上述新的通信用私人密钥,并且发行与上述新的通信用私人密钥成对的私有密钥、即新的解密用私人密钥,将其存储在上述第二密钥存储单元中,在上述新的解密用私人密钥被存储在上述第二存储单元以后,利用上述新的解密用私人密钥对上述第一密码进行解密。根据该密钥发布系统,由于将通信用私人密钥作为公开密钥使用,所以只有服务器能够对被加密了的秘密值进行解密。因此,第三者即使使用通信用私人密钥,也无法对被加密了的私人密钥进行解密。所以,能够将新的通信用私人密钥安全地从服务器送达到终端。优选地,上述密钥请求单元被构成为,生成作为上述秘密值使用的第一随机变数和第二随机变数,在向上述服务器请求发行新的通信用私人密钥之前,将上述第二随机变数发送到上述服务器,通过上述第一随机变数和上述第二随机变数的单纯运算来生成通信数值,利用上述公开密钥对上述通信数值进行加密,并发送到上述服务器。根据该密钥发布系统,能够防止秘密值被第三者知道,从而能够降低通信用私人密钥被第三者知道的可能性。并且,位数多于秘密值的通信数值只是在从终端向服务器发送秘密值的时候被使用。因此,不必利用位数大于秘密值的通信数值就能够完成通信用私人密钥的加密和解密,从而能够降低终端和服务器的处理负荷。优选地,上述密钥发行单元被构成为,在上述终端请求发行新的通信用私人密钥时,生成包含从上述终端接收到的上述秘密值的消息码,利用上述消息码对上述新的通信用私人密钥进行加密,并发送到上述终端。
根据该密钥发布系统,通过进行消息认证,服务器和终端能够检测出第三者对通信用私人密钥进行的篡改。因此,能够保证使用了通信用私人密钥的加密通信的安全性。本发明涉及的其他的密钥发布系统,具备终端、和经由通信网络与上述终端连接的服务器。上述终端具备第一密钥存储单元,其能够被改写,用于存储通信用私人密钥; 和第一原根存储单元,其存储规定的原根。上述终端具备第一通信单元,其用于与上述服务器进行使用了上述第一存储单元中存储的上述通信用私人密钥作为公用密钥的加密通信;和密钥请求单元。上述密钥请求单元被构成为,在请求上述服务器发行新的通信用私人密钥时,重新生成由数值构成的第一秘密值。上述密钥请求单元还被构成为,通过将上述第一秘密值应用于上述第一原根存储单元中存储的上述原根,生成Diffie-Hellman密钥共享方式的第一公开密钥,并发送到上述服务器。上述服务器具备第二密钥存储单元,其存储上述通信用私人密钥;和第二原根存储单元,其存储上述规定的原根。上述服务器具备 第二通信单元,其用于与上述终端进行使用了上述第二存储单元中存储的上述通信用私人密钥作为公用密钥的加密通信;和密钥发行单元。上述密钥发行单元被构成为,在上述终端请求发行新的通信用私人密钥时,生成由数值构成的第二秘密值,利用从上述终端接收到的第一公开密钥和上述第二秘密值来生成上述Diffie-Hellman密钥共享方式的公用密钥。上述密钥发行单元还被构成为,通过将上述第二秘密值应用于上述第二原根存储单元中存储的上述原根,生成上述Diffie-Hellman密钥共享方式的第二公开密钥。上述密钥发行单元还被构成为,利用上述公用密钥对上述新的通信用私人密钥进行加密,并与上述第二公开密钥一起发送到请求发行新的通信用私人密钥的上述终端。上述密钥请求单元被构成为,在从上述服务器接收到被加密了的上述新的通信用私人密钥和上述第二公开密钥时,利用上述重新生成的秘密值和从上述服务器接收到的上述第二公开密钥来生成上述公用密钥。上述密钥请求单元还被构成为,利用生成的上述公用密钥对被加密了的上述新的通信用私人密钥进行解密,取得上述新的通信用私人密钥,并存储在上述第一密钥存储单元中。上述第一通信单元被构成为,在上述新的通信用私人密钥被存储在上述第一存储单元以后,与上述服务器进行使用了上述新的通信用私人密钥作为公用密钥的加密通信。上述第二通信单元被构成为,在上述新的通信用私人密钥被存储在上述第二存储单元以后, 与上述终端进行使用了上述新的通信用私人密钥作为公用密钥的加密通信。根据该密钥发布系统,利用Diffie-Hellman密钥共享方式的公用密钥,对新的通信用私人密钥进行加密,并发送到终端。因此,即使是知道原先的通信用私人密钥的第三者,也无法对被加密了的新的通信用私人密钥进行解密。所以,能够将新的通信用私人密钥安全地送达到终端。


图1是实施方式1的密钥发布系统的框图。图2是实施方式1的动作说明图。图3是表示实施方式1的动作的流程图。图4是实施方式2的密钥发布系统的框图。图5是实施方式2的动作说明图。图6是实施方式2的变形例的密钥发布系统的动作说明图。
图7是实施方式3的密钥发布系统的框图。图8是实施方式3的动作说明图。图9是实施方式4的密钥发布系统的框图。图10是实施方式4的动作说明图。
具体实施例方式(实施方式1)如图1所示那样,本实施方式的密钥发布系统具备多个终端10、和经由通信网络 30与各终端10连接的服务器20。通信网络30可以是广域网和内部网的其中一种。终端 10和服务器20利用用于连接通信网络30的通信接口、用于存储规定的数据的存储器、和用于实现规定的功能的微型计算机而构成。终端10经由通信网络30与服务器20连接。终端10具有第一密钥存储单元11、 第一通信单元12、密钥请求单元13、第一识别信息存储单元14、会话密钥请求单元15、和会话密钥接收单元16。第一密钥存储单元11是可改写的记录介质。第一密钥存储单元11被构成为存储通信用私人密钥和会话密钥。另外,在本实施方式中,通信用私人密钥也作为公开密钥使用。因此,第一密钥存储单元11也可以说是存储通信用私人密钥和公开密钥。第一识别信息存储单元14例如是可改写的记录介质。第一识别信息存储单元14 存储用于在密钥发布系统中确定终端10和服务器20的识别信息(识别符)。另外,上述的识别信息是密钥发布系统中固有的(唯一的)信息。识别信息例如是MAC地址、IPv6中的 IP地址、内部网中设定的地址。第一通信单元12被设置为用于与服务器20进行加密通信。第一通信单元12被构成为与服务器20进行使用了第一存储单元11中存储的通信用私人密钥作为公用密钥的加密通信。另外,第一通信单元12被构成为与服务器20进行使用了第一存储单元11中存储的会话密钥作为公用密钥的加密通信。第一通信单元12发送包含发送源的识别信息(终端10的识别信息)、发送目的地的识别信息(服务器20的识别信息)、和规定的电文的信息包。该信息包的电文利用通信用私人密钥或者会话密钥被加密。密钥请求单元13被构成为进行如下处理,即,请求服务器20发行通信用私人密钥的处理(发行请求处理)、和接收通信用私人密钥的处理。密钥请求单元13被设置为用于例如在终端10的使用者发生了变化时变更通信用私人密钥。通过使用者进行特定操作、例如用于开始发行请求处理的开关操作,发行请求处理开始。终端10也可以被构成为,在与通信网络30建立了连接时(在发送用于通知加入了通信网络30的情况的信息包时)自动执行发行请求处理。在终端10与通信网络30建立了连接后,可以定期或者不定期地执行发行请求处理。在这种情况下,执行发行请求处理的第一时间间隔优选设定为,与执行请求发行会话密钥的处理的第二时间间隔相比足够长。例如,在将第二时间间隔设为1天左右的情况下,优选将第一时间间隔设为1个月以上。会话密钥请求单元15被构成为,进行请求服务器20发行会话密钥的处理。会话密钥接收单元16被构成为,进行接收来自服务器20的会话密钥的处理。服务器20具有第二密钥存储单元21、第二通信单元22、密钥发行单元23、第二识别信息存储单元M、和会话密钥发行单元25。第二密钥存储单元21是可改写的记录介质。第二密钥存储单元21被构成为存储通信用私人密钥和会话密钥。第二存储单元21还被构成为,存储与通信用私人密钥成对的私有密钥、即解密用私人密钥。这样,通信用私人密钥和解密用私人密钥是成对的加密密钥。也就是说,通信用私人密钥和解密用私人密钥之间的关系等同于公开密钥加密中的公开密钥和私人密钥(私有密钥)之间的关系。即,解密用私人密钥是用于对以通信用私人密钥作为公开密钥进行了加密的电文进行解密的私有密钥。因此,为了对使用通信用私人密钥(相当于公开密钥加密中的公开密钥)进行了加密的电文(密文)进行解密,需要解密用私人密钥(相当于公开密钥加密中的私有密钥)而不是通信用私人密钥。另外,为了对使用解密用私人密钥进行了加密的电文(密文)进行解密,需要通信用私人密钥。因此,在本实施方式的密钥发布系统中,终端10和服务器20利用公开密钥加密方式,能够进行加密通信。第二密钥存储单元21被构成为将由通信用私人密钥、解密用私人密钥、和会话密钥组成的密钥环和与服务器20连接的各个终端10建立关联地进行存储。也就是说,终端 10的识别信息分别与通信用私人密钥、解密用私人密钥、会话密钥建立了对应。第二识别信息存储单元M例如是可改写的记录介质。第二识别信息存储单元M 存储上述识别信息。第二通信单元22被设置为用于与终端10进行加密通信。第二通信单元22被构成为与终端10进行使用了第二存储单元21中存储的通信用私人密钥作为公用密钥的加密通信。另外,第二通信单元22构成为与终端10进行使用了第二存储单元21中存储的会话密钥作为公用密钥的加密通信。第二通信单元22发送包含发送源的识别信息(服务器20 的识别信息)、发送目的地的识别信息(终端10的识别信息)、和规定的电文的信息包。该信息包的电文利用通信用私人密钥或者会话密钥被加密。密钥发行单元23被构成为,在终端10请求通信用私人密钥的发行时进行通信用私人密钥的发行处理。会话密钥发行单元25被构成为,在终端10请求会话密钥的发行时进行会话密钥的发行处理。也就是说,服务器20对来自终端10的请求进行响应并发行会话密钥。在本实施方式中,服务器20被构成为,向终端10发送在服务器20和终端10之间收发的电文的加密处理中使用的会话密钥。终端10例如是设置于住宅内的具有通信功能的设备机器。服务器20例如是认证服务器,利用可与住宅内的各个设备机器(终端10)进行通信的住宅用服务器而构成。利用服务器20来进行住宅内的各个设备机器(终端10)的控制和监视。在请求服务器20发布会话密钥时,会话密钥请求单元15生成随机数(第一随机数)。第一随机数是只使用一次的数值。第一随机数通常是随机变数。会话密钥请求单元 15控制第一通信单元12,以便第一通信单元12向服务器20发送包含第一随机数、会话密钥请求消息(会话密钥请求指令)、以及终端10的识别信息的电文。会话密钥请求消息是用于请求发行会话密钥的指令。另外,由于第一通信单元12发送包含发送源地址(发送源的识别信息)和发送目的地地址(发送目的地的识别信息)的信息包,所以服务器20能够通过发送源地址取得终端10的识别信息。因此,在上述的电文中可以省略终端10的识别信息。当从终端10接收到会话密钥请求消息时,会话密钥发行单元25生成会话密钥,并将其存储在第二密钥存储单元21中。另外,会话密钥发行单元25利用第二密钥存储单元 21中存储的通信用私人密钥来对会话密钥进行加密。为了对会话密钥进行加密,会话密钥发行单元25利用通信用私人密钥来生成第二消息认证码(第二消息码)。会话密钥发行单元25将第二消息认证码和会话密钥的逻辑异或作为被加密的会话密钥进行使用。即,会话密钥发行单元25将第二消息认证码作为公用密钥使用来对会话密钥进行加密。用于生成第二消息认证码的信息包含从终端10接收到的终端10的识别信息以及第一随机数、会话密钥发行单元25生成的随机数(第二随机数)、和服务器20的识别信息。会话密钥发行单元25对第二通信单元22进行控制,以使得第二通信单元22向终端10发送被加密了的会话密钥和第二随机数。当从服务器20接收到被加密了的会话密钥和第二随机数时,会话密钥接收单元 16对被加密了的会话密钥进行解密。为了对被加密了的会话密钥进行解密,会话密钥接收单元16生成与第二消息认证码等值的第一消息认证码(第一消息码)。由于具有终端10 的识别信息、第一随机数、服务器20的识别信息、和通信用私人密钥,所以终端10能够通过从服务器20接收第二随机数来生成第一消息认证码。被加密了的会话密钥是第二消息认证码和会话密钥的逻辑异或。因此,通过求出被加密了的会话密钥和第一消息认证码的逻辑异或,能够取得会话密钥。会话密钥接收单元16将已取得的会话密钥存储在第一密钥存储单元11中。此时, 会话密钥接收单元16可以构成为,将第一密钥存储单元11中存储的会话密钥更新为新取得的会话密钥。密钥请求单元13具有秘密值生成模块130、秘密值存储模块131、秘密值加密模块 132、以及秘密值发送模块133。秘密值生成模块130被构成为在请求发行新的通信用私人密钥时生成由数值构成的秘密值。秘密值是随机变数。也就是说,秘密值生成模块130在每次进行请求发行通信用私人密钥的处理时都生成具有随机数值的秘密值。因此,秘密值在每次进行请求发行通信用私人密钥的处理时都具有不同的数值。同一秘密值会一直被使用到终端10接收到新的通信用私人密钥为止。秘密值存储模块131被构成为存储由秘密值生成模块130生成的秘密值。另外, 对于秘密值存储模块131而言,在已经存储有秘密值的情况下,可以构成为将存储的秘密值更新为由秘密值生成模块130生成的秘密值。秘密值加密模块132被构成为,对秘密值存储模块131中存储的秘密值进行加密来生成第一密码。秘密值加密模块132将第一密钥存储单元11中存储的通信用私人密钥作为公用密钥使用来对秘密值进行加密。例如,秘密值加密模块132在请求新的通信用私人密钥的处理开始时,使用第一密钥存储单元11中存储的通信用私人密钥,通过公开密钥方式(例如RSA)来对秘密值进行加密,从而生成第一密码。秘密值发送模块133被构成为,对第一通信单元12进行控制,以使得由秘密值加密模块132生成的第一密码、与请求发行新的通信用私人密钥的请求消息(请求指令)一起被发送到服务器20。秘密值发送模块133也使第一通信单元12将终端10的识别信息与第一密码一起进行发送。密钥发行单元23具有密钥生成模块230、通信用私人密钥加密模块231、通信用私人密钥发送模块232、以及第二保管模块233。密钥生成模块230被构成为,在第二通信单元22从终端10接收到请求消息时生成新的通信用私人密钥。另外,密钥生成模块230被构成为,在第二通信单元22接收到请求消息时生成与新的通信用私人密钥成对的新的解密用私人密钥。通信用私人密钥加密模块231具有秘密值取得部2311和加密部2312。秘密值取得部2311被构成为,在第二通信单元22接收到请求消息时,对第二通信单元22接收到的第一密码进行解密来取得秘密值。秘密值取得部2311利用与通信用私人密钥成对的解密用私人密钥来对第一密码进行解密。另外,秘密值取得部2311在提取与终端10的通信用私人密钥成对的解密用私人密钥时,将终端10的识别信息用于检索键值。加密部2312被构成为,将从秘密值取得部2311得到的秘密值作为公用密钥使用来对新的通信用私人密钥进行加密,从而生成第二密码。加密部2312例如将新的通信用私人密钥和秘密值的逻辑异或作为第二密码(进行了加密的新的通信用私人密钥)进行使用。通信用私人密钥发送模块232被构成为,对第二通信单元22进行控制,以使得第二通信单元22将第二密码发送至请求了发行新的通信用私人密钥的终端10。第二保管模块233被构成为,将由密钥生成模块230生成的新的通信用私人密钥和新的解密用私人密钥存储在第二密钥存储单元21中。另外,第二保管模块233也可以被构成为,将第二密钥存储单元21中存储的通信用私人密钥更新为由密钥生成模块230生成的新的通信用私人密钥。另外,第二保管模块233还可以被构成为,将第二密钥存储单元21 中存储的解密用私人密钥更新为由密钥生成模块230生成的新的解密用私人密钥。这样,在终端10请求发行新的通信用私人密钥时,密钥发行单元23发行新的通信用私人密钥并存储在第二密钥存储单元21中。密钥发行单元23通过利用解密用私人密钥对第一密码进行解密来取得秘密值。密钥发行单元23利用秘密值对新的通信用私人密钥进行加密,从而生成第二密码。密钥发行单元23向请求了发行新的通信用私人密钥的终端 10发送第二密码。另外,在终端10请求发行新的通信用私人密钥时,密钥发行单元23发行新的通信用私人密钥,并且发行与新的通信用私人密钥成对的私有密钥、即新的解密用私人密钥,并存储在第二密钥存储单元21中。在新的解密用私人密钥被存储在第二密钥存储单元21之后,密钥发行单元23利用新的解密用私人密钥对第一密码进行解密。这样,由于第二密钥存储单元21中存储有新的通信用私人密钥,所以第二通信单元22在和终端10进行使用了通信用私人密钥作为公用密钥的解密通信的情况下,使用新的通信用私人密钥。密钥请求单元13还具有通信用私人密钥解密模块134和第一保管模块135。通信用私人密钥解密模块134被构成为,在上述第一通信单元12接收到第二密码时,利用秘密值存储模块131中存储的秘密值对第一通信单元12接收到的第二密码进行解密,由此得到新的通信用私人密钥。第二密码是秘密值与新的通信用私人密钥的逻辑异或。通过求出第二密码和秘密值的逻辑异或,可以得到新的通信用私人密钥。另外,通信用私人密钥解密模块134也可以被构成为,在得到新的通信用私人密钥后,删除秘密值存储单元 131中存储的秘密值。第一保管模块135被构成为,将由通信用私人密钥解密模块134得到的新的通信用私人密钥存储在第一密钥存储单元11中。另外,第一保管模块135也可以构成为,将第一密钥存储单元11中存储的通信用私人密钥更新为新的通信用私人密钥。这样,在向服务器20请求发行新的通信用私人密钥时,密钥请求单元13新生成由数值构成的秘密值。密钥请求单元13将第一密钥存储单元11中存储的通信用私人密钥作为公开密钥使用来对秘密值进行加密,从而生成第一密码并向服务器20发送。密钥请求单元通过利用秘密值对第二密码进行解密来取得新的通信用私人密钥,并存储在第一密钥存储单元11中。这样,由于第一密钥存储单元11中存储有新的通信用私人密钥,所以第一通信单元12在与服务器20进行使用了通信用私人密钥作为公用密钥的解密通信的情况下,使用新的通信用私人密钥。接着,参照图2和图3对本实施方式的密钥发布系统的动作进行说明。另外,在终端10出厂时,进行在终端10中登记通信用私人密钥的作业、和在管理装置20中登记通信用私人密钥和解密用私人密钥的作业。在进行通信用私人密钥和解密用私人密钥的登记时,使用管理装置(产品管理装置)40。在进行通信用私人密钥和解密用私人密钥的登记时,管理装置40利用如互联网那样的通信线路与服务器20和终端10连接。如图2所示那样,管理装置40向服务器20发送通信用私人密钥KlO和解密用私人密钥K20 (图2的进程P10)。服务器20将从管理装置40接收到的通信用私人密钥KlO和解密用私人密钥K20登记在第二密钥存储单元21中(图3的步骤Sll)。为了防止通信用私人密钥KlO和解密用私人密钥K20的外泄,管理装置40利用SSLGecure Socket Layer 安全套接层)或TLS(Transport Layer Security 传输层安全)这样的技术与服务器20进行通信。另外,管理装置40向服务器20发送用于识别终端10的识别信息(终端识别信息)ID10。服务器20将从管理装置40接收到的识别信息IDlO登记在第二识别信息存储单元M中。另外,在终端10上搭载有用于将设备与通信网络NT连接的作为中间件的 EMIT (Embedded Micro Internetworking ^Technology :嵌入式微型因特网互联技术)的情况下,可以将EMIT的对象ID用于终端识别信息ID10。管理装置40向终端10发送终端10的识别信息ID10、和在服务器20中登记的通信用私人密钥KlO (图2的进程P20)。终端10将从管理装置40接收到的识别信息IDlO登记在第一识别信息存储单元14中。另外,终端10将从管理装置40接收到的通信用私人密钥KlO登记在第一密钥存储单元11中(图3的步骤S12)。S卩,在服务器20的第二密钥存储单元21和终端10的第一密钥单元11中,作为事前私人密钥分别登记有通信用私人密钥K10。另外,在服务器20的第二密钥存储单元21 中,作为与通信用私人密钥KlO成对的事前私人密钥登记有解密用私人密钥K20。在本实施方式的密钥发布系统中,按照下面的流程,服务器20向终端10发布会话密钥。在终端10向服务器20请求发行会话密钥时,会话密钥请求单元15生成第一随机数mo。会话密钥请求单元15控制第一通信单元12,将第一随机数mo和会话密钥请求消息与终端10的识别信息IDlO —起发送到服务器20 (图2的进程P30)。在第二通信单元22接收到会话密钥请求消息时,会话密钥发行单元25生成会话密钥K30。会话密钥发行单元25利用第二密钥存储单元21中存储的通信用私人密钥KlO 和信息120,生成第二消息认证码MACK1(I(I20)。信息120是从终端10接收到的终端10的识别信息IDlO以及第一随机数WO、第二随机数N20、以及服务器20的识别信息(服务器识别信息)ID20。即,120 = (ID10, ΝΙΟ, N20, ID20)。会话密钥发行单元25进行第二消息认证码(=MACkio(ID10, ΝΙΟ, N20, ID20))和会话密钥K30的逻辑异或运算,生成被加密的会话密钥(=[MACkio(ID10, ΝΙΟ, N20, ID20) XOR K30])。会话密钥发行单元25控制第二通信单元22,将被加密的会话密钥和第二随机数N20 —起发送到终端10 (图2的进程P40)。另外,如果在进程P30中没有从终端10接收到识别信息ID10,则可以从信息120 中省略识别信息ID10。将以上的动作概括为,终端10在向服务器20请求发行会话密钥时,发送第一随机数NlO和识别信息IDlO (图2的进程P30)。服务器20对终端10的请求进行响应,将被加密的会话密钥(=[MACkio (ID10, ΝΙΟ, N20, ID20)X0R K30])和第二随机数N20—起进行发送(图2的进程P40)。当第一通信单元12接收到被加密的会话密钥和第二随机数N20时,会话密钥接收单元16生成第一消息认证码。会话密钥接收单元16通过进行第一消息认证码( = MACkici(ID10,N10,N20,ID20)) 和被加密了的会话密钥(=[MACkio(ID10, ΝΙΟ, N20, ID20)X0R K30])的逻辑异或运算来取得会话密钥K30。会话密钥接收单元16将接收到的会话密钥K30存储在第一密钥存储单元 11中。这样,终端10从服务器20接收会话密钥K30。终端10在该会话密钥K30的有效期间内将从服务器20接收到的会话密钥K30用于与服务器20之间的通信。在本实施方式的密钥发布系统中,按照下面的流程,服务器20向终端10发布通信用私人密钥。当发行请求处理开始时,秘密值生成模块130生成是随机变数的秘密值RlO (图3 的步骤Si; )。秘密值RlO被存储在秘密值存储模块131中。秘密值加密模块132将第一密钥存储单元11中存储的通信用私人密钥KlO作为公开密钥使用来对秘密值RlO进行加密,从而生成第一密码PEHqq(RIO)(图3的步骤S14)。秘密值发送模块133控制第一通信单元12,将第一密码PENkici(RlO)与终端10的识别信息IDlO以及请求消息一起发送到服务器20 (图3的步骤S15、图2的进程P50)。这样,终端10在请求服务器20发行通信用私人密钥时,发送终端10的识别信息IDlO和第一密码PEtci(RlO)。对于第一密码PENkiq(RlO)而言,在电文具有价值的时间内(到下一个通信用私人密钥Kll被发布到终端10为止的时间内),如果不是解密用私人密钥K20则无法进行解密。 因此,他人即使知道通信用私人密钥K10,也无法知道秘密值R10。
当第二通信单元22接收到请求消息时(图3的步骤S16),则秘密值取得部231利用第二密钥存储单元21中存储的解密用私人密钥K20来对第一密码PENkici(RlO)进行解密, 从而取得秘密值RlO (图3的步骤S17)。另外,密钥生成模块230生成新的通信用私人密钥K11、以及与新的通信用私人密钥Kll成对的新的解密用私人密钥K21 (图3的步骤S18)。加密部2312将从秘密值取得部2311得到的秘密值RlO作为公用密钥使用来对新的通信用私人密钥Kll进行加密,从而生成第二密码(图3的步骤S19)。在本实施方式中, 加密部2312将新的通信用私人密钥Kll和秘密值RlO的逻辑异或(=[RIO XOR Kll])作
为第二密码使用。第二保管模块233将由密钥生成模块230生成的新的通信用私人密钥Kll和新的解密用私人密钥K21存储在第二密钥存储单元21中。通信用私人密钥发送模块232控制第二通信单元22,将第二密码发送到请求了发行新的通信用私人密钥Kll的终端10 (图3的步骤S20、图2的进程P60)。这样,服务器20 向终端10发送第二密码(=[RIO XOR Kll])。当上述第一通信单元12接收到第二密码时(图3的步骤S21),通信用私人密钥解密模块134求出第二密码(=[RIO XOR Kll])和秘密值RlO的逻辑异或,由此得到新的通信用私人密钥Kll (图3的步骤S22)。第一保管模块135将通过通信用私人密钥解密模块134得到的新的通信用私人密钥Kll存储在第一密钥存储单元11中。并且,在新的通信用私人密钥Kll被存储在第一密钥存储单元11中以后,第一通信单元12与服务器20进行将新的通信用私人密钥Kll作为公用密钥使用的加密通信。在新的通信用私人密钥Kll被存储在第二密钥存储单元21以后,第二通信单元22与终端10 进行将新的通信用私人密钥作为公用密钥使用的加密通信。因此,在新的通信用私人密钥Kll被发行以后,即使他人知道以前的通信用私人密钥K10,也无法监听终端10和服务器20之间的通信。在终端10从服务器20取得了新的通信用私人密钥Kll后,按照下面的流程,服务器20向终端10发布会话密钥。在终端10请求服务器20发行会话密钥时,会话密钥请求单元15生成与第一随机数mo不同的新的第一随机数mi。会话密钥请求单元15控制第一通信单元12,将第一随机数mi、和会话密钥请求消息、与终端10的识别信息IDlO—起发送到服务器20(图2的进程P70)。当第二通信单元22接收到会话密钥请求消息时,会话密钥发行单元25生成与会话密钥K30不同的新的会话密钥K31,并存储在第二密钥存储单元21中。会话密钥发行单元25利用第二密钥存储单元21中存储的通信用私人密钥Kll和信息121,生成第二消息认证码MACkii (121)。信息121是从终端10接收到的终端10的识别信息IDlO和第一随机数 mi、以及第二随机数N20不同的新的第二随机数N21、和服务器20的识别信息(服务器识别信息)ID20。BP, 121 = (ID10, Nil, N21, ID20) 会话密钥发行单元25生成被加密了的会话密钥(=[MACkii (ID10, Nl 1,N21,ID20) XOR K31]),并将其与第二随机数N21 —起发送到终端10(图2的进程P80)。
当第一通信单元12接收到第二随机数N21和被加密了的会话密钥时,会话密钥接收单元16生成第一消息认证码。会话密钥接收单元16进行第一消息认证码(=MACkii (ID10, Nil, N21, ID20))和被加密了的会话密钥(=[MACkii (ID10,Nl 1,N21,ID20)XOR K31])的逻辑异或运算,由此取得会话密钥K31。会话密钥接收单元16将接收到的会话密钥K31存储在第一密钥存储单元 11中。这样,终端10从服务器20接收新的会话密钥K31。在本实施方式的密钥发布系统中,终端10在请求服务器20发行新的通信用私人密钥时,利用公开密钥对秘密值进行加密并发送到服务器20。服务器20利用与公开密钥成对的私有密钥对被加密了的秘密值进行解密。服务器20以利用秘密值能够解密的方式对新的通信用私人密钥进行加密,并发送到终端10。终端10利用秘密值对被加密了的通信用私人密钥进行解密,从而取得新的通信用私人密钥。在假设终端10的使用者发生了变化的情况下,即使以前的使用者知道通信用私人密钥,也不可能知道与公开密钥成对的私有密钥。因此,以前的使用者无法知道秘密值。 所以,能够安全地利用秘密值。另外,秘密值只是在向服务器20请求新的通信用私人密钥开始到取得该密钥为止的期间使用。因此,在秘密值有效的期间内,他人知道秘密值的可能性极低。所以,通过利用秘密值对新的通信用私人密钥进行加密,能够将新的通信用私人密钥安全地从服务器20送达到终端10。这样,根据本实施方式的密钥发布系统,能够将新的通信用私人密钥安全地从服务器20送达到终端10。另外,由于将通信用私人密钥作为公开密钥使用,所以只有服务器20才能够对被加密了的秘密值进行解密。因此,第三者即使利用通信用私人密钥,也无法对被加密了的私人密钥进行解密。所以,能够将新的通信用私人密钥安全地从服务器20送达到终端10。另外,服务器20通过利用通信用私人密钥和解密用私人密钥,能够在不被他人知道的情况下发布只有特定的终端10才能利用的会话密钥。服务器20向终端10发布新的会话密钥的处理(会话密钥的更新处理)在终端10的使用者发生了变化时被进行。会话密钥也可以在适当的时机进行定期或者不定期的更新。也就是说,在同一使用者持续使用终端10的期间,也可以进行会话密钥的更新处理。一般而言,会话密钥是一次性的加密密钥。因此,例如终端10也可以构成为,只在规定的有效期间(例如1天)保持同一会话密钥。在这种情况下,如果在该有效期间内执行会话密钥的更新处理,则终端10 在短于该有效期间的期间内废弃会话密钥。在终端10能够将会话密钥作为公用密钥使用来与服务器20进行通信的情况下, 可以认为该终端10处于服务器20的管理下。对于同一服务器20的管理下的各终端10而言,即使具有互相不同的会话密钥,也可以认为属于同一组。另外,不考虑向多个终端10发布同一会话密钥的情况。例如,假设服务器20是住宅用服务器,第一终端10是开关,第二终端10是照明设备。另外,假设服务器20分别向第一终端10和第二终端10发布不同的会话密钥。在这种情况下,向各个终端10发布的会话密钥被服务器20保存并管理。因此,能够将第一终端10 和第二终端10作为同一住宅内存在的住宅设备分为一组。密钥发布系统能够将属于同组的终端10绑定,以使得它们能够互相进行通信。被绑定的各终端10彼此能够通过服务器 20进行通信。例如,在上述的例子中,能够将作为开关的第一终端10的操作反映在作为照明设备的第二终端10的动作上。另外,为了降低新的通信用私人密钥Kll被第三者读取的概率,优选进一步将第二密码(=[RIO XOR Kll])加密。例如,服务器20的加密部2312可以通过将原来的通信用私人密钥KlO作为公用密钥使用的公用密钥方式(例如DES、3-DES、AES),进一步对第二密码进行加密。在这种情况下,终端10的通信用私人密钥解密模块134被构成为,在利用原来的通信用私人密钥KlO对被加密了的第二密码进行了解密后,通过求出第二密码和秘密值RlO的逻辑异或来取得新的通信用私人密钥K11。由此,以前的使用者即使知道了通信用私人密钥K10,也无法轻易地知道在终端10的解密算法中使用了哪种处理。另外,以前的使用者也需要知道秘密值R10。因此,能够大幅度降低新的通信用私人密钥KlO被第三者知道的可能性。(实施方式2)如图4所示那样,本实施方式的密钥发布系统的终端IOA和服务器20A与实施方式1不同。对于本实施方式的密钥发布系统和实施方式1的密钥发布系统中的共同的构成, 赋予相同的符号并省略说明。对于服务器20A而言,密钥发行单元23A的通信用私人密钥加密模块231A与实施方式1的服务器20不同。通信用私人密钥加密模块231A具有秘密值取得部2311、加密部2312A、和加密密钥生成部2313。加密密钥生成部2313被构成为,通过将第二密钥存储单元21中存储的通信用私人密钥(不是新的通信用私人密钥而是终端IOA所具有的通信用私人密钥)作为公用密钥使用,生成由包含秘密值的消息认证码(消息码)组成的加密密钥。加密部2312A被构成为,将从加密密钥生成部2313得到的加密密钥作为公用密钥使用来对新的通信用私人密钥进行加密,从而生成第二密码。加密部2312A例如将从加密密钥生成部2313得到的加密密钥和新的通信用私人密钥的逻辑异或作为第二密码(被加密的新的通信用私人密钥)进行使用。这样,当终端IOA请求新的通信用私人密钥的发行时,本实施方式的密钥发行单元23A生成包含从终端IOA接收到的秘密值的消息认证码。并且,密钥发行单元23A利用消息认证码对新的通信用私人密钥进行加密,并发送到终端10A。对于终端IOA而言,密钥请求单元13A的通信用私人密钥解密模块134A与实施方式1的终端10不同。通信用私人密钥解密模块134具有解密密钥生成部1341和解密部1342。当第一通信单元12接收到第二密码时,解密密钥生成部1341利用第一密钥存储单元11中存储的通信用私人密钥、和秘密值存储模块131中存储的秘密值,生成解密密钥。 解密密钥是具有与由加密密钥生成部2313生成的加密密钥相同值的消息认证码。也就是说,解密密钥生成部1341通过将第一密钥存储单元11中存储的通信用私人密钥作为公用密钥使用,生成包含秘密值存储单元131中存储的秘密值的消息认证码。解密部1342被构成为,将从解密密钥生成部1341得到的解密密钥作为公用密钥使用来对第二密码进行解密,由此取得新的通信用私人密钥。解密部1342例如进行从解密密钥生成部1341得到的解密密钥和第二密码的逻辑异或运算,由此取得新的通信用私人密钥。接着,参照图5对本实施方式的密钥发布系统的动作进行说明。另外,关于进程 ΡΙΟ、P20、P30、P40、P50、P70、和P80,由于在实施方式1中已经进行了叙述,所以省略其说明。当发行请求处理开始时,终端IOA向服务器20A发送终端IOA的识别信息ID10、和第一密码 PENkio (RlO)(进程 P50)。当第二通信单元22接收到请求消息时,秘密值取得部2311利用第二密钥存储单元21中存储的解密用私人密钥K20对第一密码PEtci(RlO)进行解密,从而取得秘密值 R10。另外,密钥生成模块230生成新的通信用私人密钥K11、以及与新的通信用私人密钥Kll成对的新的解密用私人密钥K21。加密密钥生成部2313通过将第二密钥存储单元21中存储的原来的通信用私人密钥KlO作为公用密钥使用,生成由包含秘密值RlO的消息认证码组成的加密密钥。具体而言,加密密钥生成部2313利用通信用私人密钥KlO和信息130,生成加密密钥(= MACkio (130) )0信息130是从终端IOA接收到的秘密值R10、随机数(第3随机数)N30、和服务器20A的识别信息ID20。BP, 130 = _,N30,ID20)。这样,加密密钥生成部2313为了生成加密密钥而生成第3随机数N30。第3随机数N30的值与发行会话密钥时生成的第二随机数N20不同。另外,也可以使用第二随机数N20来代替第3随机数N30。但是,利用与第二随机数20不同的第3随机数N30会提高通信的安全性。加密部2312A将从加密密钥生成部2313得到的加密密钥(=MACkio (RIO, N30, ID20))作为公用密钥使用来对新的通信用私人密钥Kll进行加密,从而生成第二密码。在本实施方式中,加密部2312A将新的通信用私人密钥Kll和加密密钥(=MACkio (RIO, N30, ID20))的逻辑异或(=[MACkio(R10,N30, ID20)X0R Kll])作为第二密码进行使用。第二保管模块233将由密钥生成模块230生成的新的通信用私人密钥Kll和新的解密用私人密钥K21存储在第二存储单元21中。通信用私人密钥发送模块232控制第二通信单元22,将第二密码和第3随机数 N30 一起发送到请求了发行新的通信用私人密钥Kll的终端IOA(图5的进程P60A)。这样, 服务器20A向终端IOA发送第二密码(=[MACkio(R10,N30, ID20)X0R Kll])和第3随机数 N30。另外,在加密密钥的信息130中可以包含终端IOA的识别信息ID10。S卩,加密密钥的值可以是 MACkiq (ID10,RIO, N30, ID20)。在通信用私人密钥解密模块134A中,当第一通信单元12接收到第二密码和第3 随机数N30时,利用秘密值存储模块131中存储的秘密值R10、服务器20A的识别信息ID20、 从服务器20接收到的第3随机数N30、以及原来的通信用私人密钥K10,计算出相当于加密密钥的值(=MACkio (RIO, N30, ID20)),从而生成解密密钥。解密部1342进行从解密密钥生成部1341得到的解密密钥(=MACkio (RIO, N30, ID20))和第二密码(=[MACkio(R10,N30,ID20)XOR Kll])的逻辑异或运算,由此取得新的通信用私人密钥K11。另外,在信息130中包含终端IOA的识别信息IDlO的情况下,在生成解密密钥时也使用识别信息ID10。第一保管模块135将通过通信用私人密钥解密模块134A得到的新的通信用私人密钥Kll存储在第一密钥存储单元11中。如果如上述那样将消息认证码作为加密密钥使用,则能够进一步降低新的通信用私人密钥Kll被外泄的可能性。另外,通过进行消息认证,服务器20A和终端IOA能够检测出第三者对通信用私人密钥进行的篡改。因此,能够保证使用了通信用私人密钥的加密通信的安全性。另外,当终端IOA与服务器20A建立了连接时,服务器20A可以向终端IOA发送质询码。在这种情况下,终端IOA被构成为,如果没有从服务器20A接收到质询码,则无法开始发行请求处理。由此,能够防止使向服务器20A的通信量增大从而导致无法提供服务的 DoS(Denial of Service attack 拒绝服务攻击)攻击。另外,服务器20A也可以被构成为,将会话密钥与新的通信用私人密钥一起发送到终端装置10A。在这种情况下,会话密钥发行单元25被构成为,当终端10请求了发行新的通信用私人密钥时,进行会话密钥的发行处理。会话密钥发行单元25在从终端10接收到请求消息时,生成会话密钥。另外,会话密钥发行单元25利用第二密钥存储单元21中存储的通信用私人密钥来对会话密钥进行加密。为了对会话密钥进行加密,会话密钥发行单元25利用通信用私人密钥生成第二消息认证码(第二消息码)。会话密钥发行单元25将第二消息认证码和会话密钥的逻辑异或作为被加密的会话密钥使用。用于生成第二消息认证码的信息包含从终端10接收到的终端10 的识别信息以及秘密值、第二随机数、以及服务器20的识别信息。会话密钥发行单元25将被加密了的会话密钥提供给通信用私人密钥发送单元232。另外,会话密钥发行单元25将第二随机数提供给通信用私人密钥加密模块231A的加密密钥生成部2313。接着,参照图6对本实施方式的变形例的密钥发布系统的动作进行说明。另外,关于进程?10、?20、?30、?40、和P50,由于在实施方式1中进行了叙述,所以省略其说明。当发行请求处理开始时,终端IOA向服务器20A发送终端IOA的识别信息ID10、和第一密码 PE^tl (RlO)(进程 P50)。当第二通信单元22接收到请求消息时,会话密钥发行单元25生成与会话密钥K30 不同的新的会话密钥K31。会话密钥发行单元25利用第二密钥存储单元21中存储的通信用私人密钥Kll和信息122来生成第二消息认证码MACkii (122)。信息122是从终端10接收到的终端IOA的识别信息IDlO以及秘密值R10、第二随机数N21、和服务器20的识别信息 ID20。即,122 = (ID10, RIO, N21, ID20)。会话密钥发行单元25向通信用私人密钥发送单元232提供被加密了的会话密钥 (=[MACkii (ID10,RIO,N21,ID20)XOR K31])。另外,会话密钥发行单元25向加密密钥生成部2313提供第二随机数N21。在密钥发行单元23A中,秘密值取得部2311对第一密码PENkici (RlO)进行解密,从而取得秘密值RlO。加密密钥生成部2313利用通信用私人密钥KlO和信息131来生成加密密钥(=MACkici (131))。信息131是从终端IOA接收到的秘密值R10、从会话密钥发行单元25得到的第二随机数N21、和服务器20A的识别信息ID20。即,131 = _,N21, ID20)。加密部2312A将新的通信用私人密钥Kll和加密密钥(=MACkiq (RIO,N21,ID20)) 的逻辑异或(=[MACkio(R10,N21, ID20)X0R Kll])作为第二密码进行使用。通信用私人密钥发送模块232控制第二通信单元22,将被加密了的会话密钥和第二随机数N21、与第二密码一起发送到请求了发行新的通信用私人密钥Kll的终端10A(图 6的进程P61)。这样,在变形例中,服务器20A向终端IOA发送第二密码(=[MACkio(R10, N21,ID20)X0R Kll])、被加密了的会话密钥(=[MACkii (ID10, R10,N21,ID20)X0R K31])、 和第二随机数N21。当从服务器20A接收到第二密码(=[MACkio (RIO, N21,ID20)X0R Kll])、被加密了的会话密钥(=[MACkii (ID10, RIO, N21,ID20) XOR K31])、和第二随机数 N21 时,终端 IOA 进行上述处理,由此取得新的通信用私人密钥Kll和新的会话密钥K31。在上述的变形例中,能够同时向终端IOA发布新的通信用私人密钥Kll和新的会话密钥K31。因此,与图5所示的例子相比,能够降低服务器20A和终端IOA之间的通信量。 因此,能够降低服务器20A和终端IOA之间的通信所需要的功率,从而实现节能。另外,在该变形例中,在密钥发行单元23A中使用会话密钥发行单元25所生成的第二随机数,而在会话密钥发行单元25中也可以使用密钥发行单元23A所生成的第3随机数。另外,在本实施方式中,在消息认证的过程中采用了 kryptonite协议。但是,在消息认证的过程中也可以采用kerberos协议。在kerberos协议中使用时间来代替随机数。 因此,在kerberos协议中,不重性或者随机性的管理被置换成时间管理。(实施方式3)如图7所示那样,对于本实施方式的密钥发布系统而言,终端IOB和服务器20B与实施方式2不同。对于本实施方式的密钥发布系统和实施方式2的密钥发布系统中共同的构成,赋予相同符号并省略说明。对于终端IOB而言,密钥请求单元13B与实施方式2的终端IOA不同。密钥请求单元1 具有秘密值生成模块130、秘密值存储模块131、秘密值加密模块132B、秘密值发送模块133、通信用私人密钥解密模块134A、第一保管模块135、随机变数生成模块136、和随机变数发送模块137。随机变数生成模块136被构成为,生成与作为秘密值使用的第一随机变数不同的第二随机变数。随机变数生成模块136将第二随机变数提供给秘密值加密模块132B和随机变数发送模块137。第二随机变数优选是位数比秘密值多的数值。第二随机变数的位数越多,则越能够降低秘密值外泄的可能性。随机变数发送模块137被构成为,对第一通信单元12进行控制,以使得将通过随机变数生成模块136接收到的第二随机变数发送到服务器20B。这里,优选在发行请求处理执行前将第二随机变数发送到服务器20B。例如,随机变数发送模块137被构成为,在终端 IOB与通信网络30建立了连接时,将第二随机变数发送到服务器20B。秘密值加密模块132B具有通信数值生成部1321和通信数值加密部1322。通信数值生成部1321被构成为,利用秘密值存储模块131中存储的秘密值及位数来生成通信数值。通信数值生成部1321通过从随机变数生成模块136得到的第二随机变数、和秘密值存储模块131中存储的秘密值的单纯运算来生成通信数值。在本实施方式中, 通信数值生成部1321通过将运算中使用的秘密值和用于使位数变大的第二随机变数结合来生成通信数值。这里,当秘密值被设为R10、第二随机变数被设为R20时,通信数值被表示成“RIO Il R20”。χ Il y表示将左侧的数值χ与右侧的数值y单纯地连结。将这种单纯运算称为并置(concatenation) 0例如,“123 Il 123”成为“ 123123”。因此,在通信数值中,上位的数值是秘密值,下位的数值是第二随机变数。这样,通信数值生成部1321通过并置、即将秘密值和第二随机变数单纯地连结来生成通信数值。例如,在秘密值是3位数值“123”,第二随机变数是3位数值“456”的情况下,通信数值被表示成“123 Il 456”,其值为“ 123456”。 另外,通信数值生成部1321也可以将秘密值和第二随机变数的和作为通信数值,还可以将秘密值和第二随机变数的乘积作为通信数值。只要通信数值的复杂度高于秘密值的复杂度即可。通信数值加密部1322被构成为,对由通信数值生成部1321生成的通信数值进行加密来生成第一密码。通信数值加密部1322将第一密钥存储单元11中存储的通信用私人密钥作为公开密钥使用来对通信数值进行加密。例如,通信数值加密部1322在请求新的通信用私人密钥的处理开始时,使用第一密钥存储单元11中存储的通信用私人密钥,按照公开密钥方式(例如RSA)对通信数值进行加密,从而生成第一密码。这样,本实施方式的密钥请求单元2 生成作为秘密值使用的第一随机变数和第二随机变数。在请求服务器20发行新的通信用私人密钥之前,密钥请求单元23B向服务器 20发送第二随机变数。密钥请求单元2 通过第一随机变数和第二随机变数的单纯运算来生成通信数值。密钥请求单元2 利用第一密钥存储单元11中存储的公开密钥(在本实施方式中是通信用私人密钥)来对通信数值进行加密,并发送到服务器20B。对于服务器20B而言,密钥发行单元2 与实施方式2的服务器20A不同。密钥发行单元2 具有密钥生成模块230、通信用私人密钥加密模块231B、通信用私人密钥发送模块232、第二保管模块233、以及随机变数存储模块234。随机变数存储模块234例如构成为,存储第二通信单元22从终端IOB接收到的第二随机变数。通信用私人密钥加密模块231B具有秘密值取得部2311B、加密部2312A、和加密密钥生成部2313。秘密值取得部2311B被构成为,在第二通信单元22接收到请求消息时,对第二通信单元22接收到的第一密码进行解密,从而得到通信数值。秘密值取得部2311B利用与通信用私人密钥成对的解密用私人密钥来对第一密码进行解密。另外,秘密值取得部2311B 被构成为,通过取得的通信数值和随机变数存储模块234中存储的第二随机变数的单纯运算来取得秘密值。接着,参照图8对本实施方式的密钥发布系统的动作进行说明。另外,关于进程 10、?20、?30、?40、?70、和?80,由于在实施方式1中进行了叙述,所以省略其说明。另外, 在进程P50B和进程P50中省略重复的说明,在进程P60B和进程P60A中也省略重复的说明。当发行请求处理开始时,通信数值生成部1321通过从随机变数生成模块136得到的第二随机变数R20、和秘密值存储模块131中存储的秘密值RlO的单纯运算来生成通信数值 RlO Il R20。通信数值加密部1322将第一密钥存储单元11中存储的通信用私人密钥KlO作为公开密钥使用来对通信数值RlO Il R20进行加密,从而生成第一密码PENK1(1(R10 Il R20)。秘密值发送模块133对第一通信单元12进行控制,将第一密码PENkiq (R10 || R20) 与终端IOB的识别信息IDlO以及请求消息一起发送到服务器20B (图8的进程P50B)。这样,终端IOB在请求服务器20B发行通信用私人密钥时,发送终端IOB的识别信息 IDlO 和第一密码 PENkio (RIO Il R20)。当第二通信单元22接收到请求消息时,秘密值取得部2311B利用第二密钥存储单元21中存储的解密用私人密钥K20来对第一密码PENkici (RIO Il R20)进行解密,从而取得通信数值RlO Il R20。并且,秘密值取得部2311B进行随机变数存储模块137中存储的第二随机变数R20、和通信数值RlO Il R20的单纯运算,由此取得秘密值R10。也就是说,秘密值取得部2311B从通信数值RlO Il R20除去第二随机变数R20。加密部2312A将从加密密钥生成部2313得到的加密密钥(=MACkici (R10,N30, ID20))作为公用密钥使用来对新的通信用私人密钥Kll进行加密,从而生成第二密码(= [MACkio(RIO, N30, ID20)X0R Kll)。通信用私人密钥发送模块232对第二通信单元22进行控制,将第二密码和第3随机数N30发送到请求了发行新的通信用私人密钥Kll的终端IOB (图8的进程P60B)。这样,服务器20B 向终端 IOB 发送第二密码(=[MACkio (RIO, N30, ID20) XOR Kll)。如上所述,终端IOB在发行请求处理中,生成位数多于秘密值RlO的通信数值 1 10||1 20,并发送到服务器2( 。这里,通信数值RlO Il R20有可能被第三者知道。但是,通信数值RlO Il R20位数较多,并且第三者无法根据秘密值RlO和第二随机变数得知通信数值 RlO Il R20是如何被生成的。因此,在秘密值RlO有效的时间内,根据通信数值RlO Il R20通过所有可能回归法等来得到秘密值RlO基本是不可能的。在本实施方式的密钥分布系统中,终端IOB向服务器20B发送利用秘密值生成的通信数值。由于通信数值与秘密值相比具有更多的位数,所以与发送秘密值自身的情况相比,秘密值被第三者得知的可能性大幅降低。这里,通过单纯地增加秘密值的位数,能够大幅度降低秘密值被第三者得知的可能性。但是,在这种情况下,服务器20B和终端IOB中的处理负荷会增大。为此,在本实施方式的密钥发布系统中,位数多于秘密值的通信数值只是在从终端IOB向服务器20B发送秘密值时被使用。因此,不用使用位数大于秘密值的通信数值就可以完成通信用私人密钥的加密和解密。也就是说,对于本实施方式的密钥发布系统,由于只在向服务器20B发送秘密值时才虚拟增加秘密值的位数,所以处理负荷不会增大。这样,本实施方式的密钥发布系统能够降低秘密值被第三者得知的可能性,并且能够抑制服务器20B和终端IOB的处理负荷的增加。(实施方式4)如图9所示那样,对于本实施方式的密钥发布系统而言,终端IOC和服务器20C与实施方式2不同。对于本实施方式的密钥发布系统和实施方式2的密钥发布系统中共同的构成,赋予相同符号并省略其说明。终端IOC具有第一密钥存储单元11、第一通信单元12、密钥请求单元13C、第一识别信息存储单元14、会话密钥请求单元15、会话密钥接收单元16、以及第一原根存储单元 17。终端IOC和终端IOA中共同构成的说明被省略。第一原根存储单元17被构成为,存储较大值的素数ρ和合理值的原根g。如果考虑通信安全性,则优选将素数P和原根g设为非公开。在将素数P和原根g设为非公开的情况下,素数P和原根g被管理装置40提供给终端10C。密钥请求单元13C具有秘密值生成模块(第一秘密值生成模块)130C、秘密值存储模块(第一秘密值存储模块)131C、第一公开密钥生成模块138、和第一公开密钥发送模块 139。秘密值生成模块130C被构成为,在请求发行新的通信用私人密钥时生成由数值构成的秘密值(第一秘密值)。第一秘密值是随机变数。秘密值存储模块131C被构成为,存储由秘密值生成模块130C生成的第一秘密值。第一公开密钥生成模块138被构成为,通过将秘密值存储模块131C中存储的第一秘密值应用于第一原根存储模块17中存储的原根,生成Diffie-Hellman密钥共享方式的第一公开密钥K41来作为第一密码。若将第一秘密值设为X,则第一公开密钥K41用以gx 的P为模的余数Rx( = gx mod ρ)来表示。第一公开密钥发送模块139被构成为,控制第一通信单元12,以使得由第一公开密钥生成模块138生成的第一公开密钥K41和请求发行新的通信用私人密钥的请求消息 (请求指令)一起被发送到服务器20。第一公开密钥发送模块139使第一通信单元12 — 起发送第一公开密钥K41和终端IOC的识别信息。这样,密钥请求单元13C在向服务器20C请求发行新的通信用私人密钥时,重新生成由数值构成的第一秘密值。另外,密钥请求单元13C通过将第一秘密值应用于第一原根存储单元17中存储的原根,生成Diffie-Hellman密钥共享方式的第一公开密钥K41。密钥请求单元13C向服务器20C发送第一公开密钥K41。服务器20C具有第二密钥存储单元21、第二通信单元22、密钥发行单元23C、第二识别信息存储单元对、会话密钥发行单元25、和第二原根存储单元26。服务器20C和服务器20A中共同构成的说明被省略。与第一原根存储单元17同样,第二原根存储单元沈被构成为,存储较大值的素数 P和合理值的原根g。在将素数P和原根g设为非公开的情况下,素数P和原根g被管理装置40提供给服务器20C。密钥发行单元23C具有密钥生成模块230C、通信用私人密钥加密模块231C、通信用私人密钥发送模块232C、第二保管模块233C、第二秘密值生成模块235、和第二公开密钥生成模块236。密钥生成模块230C被构成为,当第二通信单元22从终端IOC接收到请求消息时, 生成新的通信用私人密钥。第二秘密值生成模块235被构成为,当第二通信单元22接收到请求消息时,生成由数值构成的第二秘密值。第二秘密值是随机变数。也就是说,第二秘密值生成模块235 在每次接收到请求消息时,生成具有随机数值的第二秘密值。即,在每次发行通信用私人密钥时,第二秘密值都具有不同的数值。第二秘密值一直被使用到向终端IOC发送新的通信用私人密钥为止。
通信用私人密钥加密模块231C具有第二公用密钥生成模块2314和加密部2312C。第二公用密钥生成模块2314被构成为,当第二通信单元22接收到请求消息时, 利用第二通信单元22所接收到的第一公开密钥K41和由第二秘密值生成模块235生成的第二秘密值,生成Diffie-Hellman密钥共享方式的公用密钥K40。若将第二秘密值设为 y,则公用密钥K40用(Rx)y的以ρ为模的余数Rxy( = gxy mod ρ)来表示。这样的公用密钥 K40( = Rxy)是以素数ρ为模与gxy同余。即,Rxy = gxy mod ρ。加密部2312C被构成为,利用从第二公用密钥生成模块2314得到的公用密钥Κ40 来对新的通信用私人密钥进行加密,从而生成第二密码。在本实施方式中,加密部2312C利用公用密钥Κ40,生成由消息认证码构成的加密密钥。加密部2312C将该加密密钥作为公用密钥使用来对新的通信用私人密钥进行加密,从而生成第二密码。加密部2312C例如将加密密钥和新的通信用私人密钥的逻辑异或作为第二密码(被加密了的新的通信用私人密钥)进行使用。第二公开密钥生成模块236被构成为,通过将由第二秘密值生成模块235生成的第二秘密值应用于第二原根存储模块沈中存储的原根,生成Diffie-Hellman密钥共享方式的第二公开密钥K42。若将第二秘密值设为y,则第二公开密钥K42用gy的以ρ为模的余数Ry( = gymod ρ)来表示。通信用私人密钥发送模块232C被构成为,控制第二通信单元22,向终端IOC发送由通信用私人密钥加密模块231C生成的第二密码、和由第二公开密钥生成模块236生成的第二公开密钥K42。第二保管模块233C被构成为,将由密钥生成模块230C所生成的新的通信用私人密钥存储在第二密钥存储单元21中。另外,第二保管模块233也可以构成为,将第二密钥存储单元21中存储的通信用私人密钥更新为由密钥生成模块230C生成的新的通信用私人密钥。这样,密钥发行单元23C在终端IOC请求新的通信用私人密钥的发行时,生成由数值构成的第二秘密值。密钥发行单元23C利用从终端IOC接收到的第一公开密钥和第二秘密值,生成Diffie-Hellman密钥共享方式的公用密钥K40。密钥发行单元23C通过将第二秘密值应用于第二原根存储单元沈中存储的原根,生成Diffie-Hellman密钥共享方式的第二公开密钥K42。密钥发行单元23C利用公用密钥K40对新的通信用私人密钥进行加密, 并将其与第二公开密钥K42 —起发送到终端10C。另外,密钥发行单元23C在终端IOC请求新的通信用私人密钥的发行时,发行新的通信用私人密钥并将其存储在第二密钥存储单元21中。因此,第二通信单元22在与终端 IOC进行使用了通信用私人密钥作为公用密钥的加密通信的情况下,使用新的通信用私人密钥。密钥请求单元13C还具有通信用私人密钥加密模块134C和第一保管模块135。通信用私人密钥解密模块134C具有第一公用密钥生成模块1343和解密部1342C。第一公用密钥生成模块1343被构成为,当第一通信单元12接收到第二密码和第二公开密钥K42时,利用秘密值存储模块131C中存储的第一秘密值χ和第二公开密钥K42 来生成Diffie-Hellman密钥共享方式的公用密钥K40。如上所述,公用密钥K40由余数 Rxy ( = gxy mod ρ)表示,第二公开密钥K42由余数Ry ( = gy mod ρ)表示。因此,根据第一秘密值χ和第二公开密钥K42可以生成公用密钥K40。解密部1342C被构成为,利用由第一公用密钥生成模块1343生成的公用密钥K40, 对第一通信单元12所接收到的第二密码进行解密,由此得到新的通信用私人密钥。在本实施方式中,解密部1342C利用公用密钥K40,生成和由加密部2312C生成的加密密钥相等的、 由消息认证码构成的解密密钥。解密部1342C将该解密密钥作为公用密钥使用,对新的通信用私人密钥进行解密,从而取得第二密码。解密部1342C例如通过求出解密密钥和第二密码的逻辑异或来取得新的通信用私人密钥。这样,当从服务器20C接收到被加密了的新的通信用私人密钥(第二密码)和第二公开密钥K42时,密钥请求单元13C利用第一秘密值和从服务器20C接收到的第二公开密钥来生成公用密钥K40。密钥请求单元13C利用公用密钥K40对第二密码进行解密,取得新的通信用私人密钥,并将其存储在第一密钥存储单元11中。因此,第一通信单元12与服务器20C在使用了通信用私人密钥作为公用密钥进行加密通信的情况下,使用新的通信用私人密钥。接着,参照图10对本实施方式的密钥发布系统的动作进行说明。另外,关于进程 P30、P40、P70、和P80,由于在实施方式1中进行了叙述,所以省略其说明。另外,在终端IOC出厂时,进行在终端IOC中登记通信用私人密钥的作业、和在管理装置20中登记通信用私人密钥C的作业。通信用私人密钥的登记使用管理装置40。管理装置40在登记通信用私人密钥时,利用互联网这样的通信线路与服务器20C和终端IOC 连接。如图10所示那样,管理装置40向服务器20C发送通信用私人密钥KlO (图10的进程P10C)。服务器20C将从管理装置40接收到的通信用私人密钥KlO登记在第二密钥存储单元21中。管理装置40向服务器20C发送用于识别终端IOC的识别信息(终端识别信息) ID10。服务器20C将从管理装置40接收到的识别信息IDlO登记在第二识别信息存储单元 24中。管理装置40向终端IOC发送终端IOC的识别信息ID10、和在服务器20C中登记了的通信用私人密钥KlO (图10的进程P20C)。终端IOC将从管理装置40接收到的识别信息 IDlO登记在第一识别信息存储单元14中。另外,终端IOC将从管理装置40接收到的通信用私人密钥KlO登记在第一密钥存储单元11中。S卩,在服务器20C的第二密钥存储单元21和终端IOC的第一密钥单元11中,分别登记有通信用私人密钥KlO作为事前私人密钥。在本实施方式中,与实施方式2不同,在服务器20的第二密钥存储单元21中,没有登记与通信用私人密钥KlO成对的解密用私人密钥K20作为事前私人密钥。当发行请求处理开始时,秘密值生成模块130C生成第一秘密值X。第一秘密值χ 被存储在秘密值存储模块131C中。第一公开密钥生成模块138利用秘密值存储模块131C 中存储的第一秘密值X、和第一原根存储单元17中存储的原根g以及素数p,生成第一公开密钥K41。第一公开密钥发送模块139控制第一通信单元12,将第一公开密钥K41和终端 IOC的识别信息IDlO以及请求消息一起发送到服务器20C(图10的进程P50C)。这样,终端IOC在请求服务器20C发行通信用私人密钥时,发送终端IOC的识别信息IDlO和第一公开密钥K41 ( = Rx)。当第二通信单元22接收到请求消息时,第二秘密值生成模块235生成第二秘密值第二公开密钥生成模块236将由第二秘密值生成模块235生成的第二秘密值y应用于第二原根存储模块沈中存储的原根g,由此生成第二公开密钥K42( = RO。第二公用密钥生成模块2314利用第二通信单元22所接收到的第一公开密钥Κ41、 和由第二秘密值生成模块235生成的第二秘密值y,生成公用密钥K40。加密部2312C利用公用密钥K40和信息140,生成加密密钥(=MACk4ci(140))。信息140是公用密钥K40、第二公开密钥K42( = Ry)、和服务器20C的识别信息ID20。S卩,是 140 = (Κ40, Ry, ID20)。由于余数Ry是通过作为随机变数的第二秘密值而生成的,所以实际可以作为随机数使用。加密部2312C将加密密钥(=MACk40 (Κ40, Ry, ID20))和新的通信用私人密钥Kll 的逻辑异或(=[MACk40(Κ40, Ry, ID20)X0R Kll])作为第二密码(被加密了的新的通信用私人密钥)进行使用。由于公用密钥K40是利用第一秘密值χ而生成的,所以可以认为通信用私人密钥加密模块231C利用第一秘密值对新的通信用私人密钥Kll进行加密。通信用私人密钥发送模块232C控制第二通信单元22,向终端IOC发送第二密码 (=[MACk40 (K40, Ry,ID20)X0R Kll])、和第二公开密钥 K42 ( = Ry)(图 10 的进程 P60C)。第二保管模块233C将由密钥生成模块230C生成的新的通信用私人密钥Kll存储在第二密钥存储单元21中。这样,服务器20C向终端IOC发送第二密码和第二公开密钥K42。当第一通信单元12接收到第二密码和第二公开密钥K42时,第一公用密钥生成模块1343利用秘密值存储模块131C中存储的第一秘密值χ和第二公开密钥K42,生成 Diffie-Hellman密钥共享方式的公用密钥K40。这样,第一公用密钥生成模块1343利用第一秘密值χ和余数Ry,求出(ROx的值。 这里,若假设Ryx= (RT mod p,则Ryx以素数ρ为模与gxy同余。所以,Rxy = Ryx。因此,第一公用密钥生成模块1343能够生成公用密钥K40。解密部1342C利用由第一公用密钥生成模块1343生成的公用密钥K40、服务器 20C的识别信息ID20、和从服务器20C接收到的第二公开密钥K42来生成解密密钥(= MACk40(K40, Ry,ID20))。解密部 1342C 进行生成的解密密钥(=MACk40(K40, Ry,ID20))和第二密码(=[MACk40(K40,RMD20)XOR Kll])的逻辑异或运算,由此取得新的通信用私人密钥Kll。第一保管模块135将通过通信用私人密钥解密模块134C得到的新的通信用私人密钥Kll存储在第一密钥存储单元11中。并且,在新的通信用私人密钥Kll被存储在第一密钥存储单元11中以后,第一通信单元12与服务器20C进行使用了新的通信用私人密钥Kll作为公用密钥的加密通信。在新的通信用私人密钥Kll被存储在第二密钥存储单元21中以后,第二通信单元22与终端 IOC进行使用了新的通信用私人密钥Kll作为公用密钥的加密通信。因此,在新的通信用私人密钥Kll被发行后,即使他人知道以前的通信用私人密钥K10,也无法监听终端IOC和服务器20C之间的通信。
以上说明的本实施方式的密钥发布系统利用Diffie-Hellman密钥共享方式的公用密钥K40,对新的通信用私人密钥Kll进行加密,并将其发送到终端10C。因此,即使是知道原先的通信用私人密钥KlO的第三者,也无法对被加密了的新的通信用私人密钥Kll进行解密。因此,能够将新的通信用私人密钥Kll安全地送达到终端10C。
权利要求
1.一种密钥发布系统,其特征在于,具备终端、和经由通信网络与上述终端连接的服务器; 上述终端具备第一密钥存储单元,其能够被改写,用于存储通信用私人密钥和公开密钥; 第一通信单元,其用于与上述服务器进行使用了上述第一密钥存储单元中存储的上述通信用私人密钥作为公用密钥的加密通信;以及密钥请求单元,在请求上述服务器发行新的通信用私人密钥时,该密钥请求单元重新生成由数值构成的秘密值,并且利用上述第一存储单元中存储的上述公开密钥来对上述秘密值进行加密,从而生成第一密码,并将上述第一密码发送给上述服务器; 上述服务器具备第二密钥存储单元,其能够被改写,除了存储上述通信用私人密钥以外,还存储与上述公开密钥成对的私有密钥、即解密用私人密钥;第二通信单元,其用于与上述终端进行使用了上述第二密钥存储单元中存储的上述通信用私人密钥作为公用密钥的加密通信;以及密钥发行单元,当上述终端请求发行新的通信用私人密钥时,该密钥发行单元发行新的通信用私人密钥并将其存储在上述第二密钥存储单元中,通过利用上述解密用私人密钥对上述第一密码进行解密来取得上述秘密值,利用该秘密值对上述新的通信用私人密钥进行加密来生成第二密码,并将上述第二密码发送到请求了发行新的通信用私人密钥的上述终端;上述密钥请求单元构成为,通过利用上述秘密值对上述第二密码进行解密,取得上述新的通信用私人密钥,并将其存储在上述第一密钥存储单元中;上述第一通信单元构成为,在上述新的通信用私人密钥被存储在上述第一密钥存储单元以后,与上述服务器进行使用了上述新的通信用私人密钥作为公用密钥的加密通信;上述第二通信单元构成为,在上述新的通信用私人密钥被存储在上述第二密钥存储单元以后,与上述终端进行使用了上述新的通信用私人密钥作为公用密钥的加密通信。
2.根据权利要求1所述的密钥发布系统,其特征在于,上述密钥请求单元构成为,在请求上述服务器发行新的通信用私人密钥时,将上述第一密钥存储单元中存储的上述通信用私人密钥作为上述公开密钥使用,对上述新生成的秘密值进行加密;上述密钥发行单元构成为,在上述终端请求发行新的通信用私人密钥时,发行上述新的通信用私人密钥,并且发行与上述新的通信用私人密钥成对的私有密钥、即新的解密用私人密钥,并将其存储在上述第二密钥存储单元中,在上述新的解密用私人密钥被存储在上述第二存储单元以后,利用上述新的解密用私人密钥对上述第一密码进行解密。
3.根据权利要求1所述的密钥发布系统,其特征在于,上述密钥请求单元构成为,生成作为上述秘密值使用的第一随机变数和第二随机变数,在向上述服务器请求发行新的通信用私人密钥之前,将上述第二随机变数发送到上述服务器,通过上述第一随机变数和上述第二随机变数的单纯运算来生成通信数值,利用上述公开密钥对上述通信数值进行加密,并发送到上述服务器。
4.根据权利要求1所述的密钥发布系统,其特征在于,上述密钥发行单元构成为,在上述终端请求发行新的通信用私人密钥时,生成包含从上述终端接收到的上述秘密值的消息码,利用上述消息码对上述新的通信用私人密钥进行加密,并发送到上述终端。
5. 一种密钥发布系统,其特征在于,具备终端、和经由通信网络与上述终端连接的服务器;上述终端具备第一密钥存储单元,其能够被改写,用于存储通信用私人密钥; 第一原根存储单元,其存储规定的原根;第一通信单元,其用于与上述服务器进行使用了上述第一存储单元中存储的上述通信用私人密钥作为公用密钥的加密通信;以及密钥请求单元,在请求上述服务器发行新的通信用私人密钥时,该密钥请求单元重新生成由数值构成的第一秘密值,并且通过将上述第一秘密值应用于上述第一原根存储单元中存储的上述原根,生成Diffie-Hellman密钥共享方式的第一公开密钥,并发送到上述服务器;上述服务器具备第二密钥存储单元,其存储上述通信用私人密钥; 第二原根存储单元,其存储上述规定的原根;第二通信单元,其用于与上述终端进行使用了上述第二存储单元中存储的上述通信用私人密钥作为公用密钥的加密通信;以及密钥发行单元,在上述终端请求发行新的通信用私人密钥时,该密钥发行单元生成由数值构成的第二秘密值,利用从上述终端接收到的第一公开密钥和上述第二秘密值来生成上述Diffie-Hellman密钥共享方式的公用密钥,通过将上述第二秘密值应用于上述第二原根存储单元中存储的上述原根,生成上述Diffie-Hellman密钥共享方式的第二公开密钥,利用上述公用密钥对上述新的通信用私人密钥进行加密,并与上述第二公开密钥一起发送到请求发行新的通信用私人密钥的上述终端;上述密钥请求单元构成为,在从上述服务器接收到被加密了的上述新的通信用私人密钥和上述第二公开密钥时,利用上述重新生成的秘密值和从上述服务器接收到的上述第二公开密钥来生成上述公用密钥,利用生成的上述公用密钥对被加密了的上述新的通信用私人密钥进行解密,取得上述新的通信用私人密钥,并存储在上述第一密钥存储单元中;上述第一通信单元构成为,在上述新的通信用私人密钥被存储在上述第一存储单元以后,与上述服务器进行使用了上述新的通信用私人密钥作为公用密钥的加密通信;上述第二通信单元构成为,在上述新的通信用私人密钥被存储在上述第二存储单元以后,与上述终端进行使用了上述新的通信用私人密钥作为公用密钥的加密通信。
全文摘要
本发明涉及密钥发布系统。密钥发布系统具备将通信用私人密钥(K10)作为公用密钥使用来互相进行加密通信的终端(10)和服务器(20)。上述终端(10)在请求发行新的通信用私人密钥(K11)时,生成秘密值(R10),利用公开密钥进行加密,并发送到上述服务器(20)。上述服务器(20)利用与上述公开密钥成对的私有密钥来对上述被加密了的秘密值(R10)进行解密。上述服务器(20)发行新的通信用私人密钥(K11),将秘密值(R10)作为公用密钥使用来进行加密,并将其发送到上述终端(10)。上述终端(10)利用上述秘密值(R10)对被加密了的上述新的通信用私人密钥(K11)进行解密,从而取得上述新的通信用私人密钥(K11)。然后,上述终端(10)和上述服务器(20)将上述新的通信用私人密钥(K11)作为公用密钥使用来互相进行加密通信。
文档编号H04L9/08GK102232275SQ20098014830
公开日2011年11月2日 申请日期2009年12月3日 优先权日2008年12月5日
发明者福田尚弘 申请人:松下电工株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1