加密密钥发布系统的制作方法

文档序号:7912037阅读:172来源:国知局
专利名称:加密密钥发布系统的制作方法
技术领域
本发明涉及在计算机通信中从认证服务器向各节点发布节点间的通信所使用的会话密钥的加密密钥发布系统。
背景技术
一般地,作为发布会话密钥的协议,已知有在通信发起者与响应者这2个节点之间进行认证的两方密钥发布协议(2PKDP = 2 Party Key Distribution Protocol)、和在通信发起者与响应者这两者中添加作为认证者的认证服务器的三方密钥发布协议(3PKDP =3Party Key Distribution Protocol)(例如,参照日本特许第 3078841 号公报)。在2PKDP中,开始通信的发起者节点向响应者节点请求发布会话密钥,响应者节点向发起者节点发布会话密钥。这里,发起者节点与响应者节点预先保存有共用的密钥。在日本特许第3078841号公报中所记载的2PKDP的技术中,发起者节点在请求发布会话密钥时生成随机数,向响应者节点发送发起者节点的识别信息(地址等)与随机数。响应者节点若从发起者节点接收到密钥发布请求,则生成会话密钥,并且将随机数、会话密钥和响应者节点的识别信息(地址等)作为消息并使用密钥计算出消息认证码的值(MAC值),并且生成对会话密钥与MAC值进行了加密的密文。响应者节点在对该密文附加MAC值后发送给发起者节点,在发起者节点中,通过使用密钥对密文进行解密来取得会话密钥。另外,通过附加MAC值,能够确认密文的正确性(未被篡改)。另一方面,在3PKDP中,作为通信发起者的节点与作为通信响应者的节点中的一方对另一方的数据进行中继并与认证服务器进行通信,从而能够在两节点中共享认证服务器所生成的会话密钥。在3PKDP中,根据发起者节点与响应者节点中的哪一方与认证服务器进行通信来考虑推方案与拉方案。在推方案中,发起者节点与响应者节点通信后与认证服务器进行通信,从而从认证服务器接收发送给发起者节点的密文与发送给响应者节点的密文,从发送给发起者节点的密文中取得会话密钥,并且将发送给响应者节点的密文提交给响应者节点并使响应者节点取得会话密钥。另一方面,在拉方案中,发起者节点与响应者节点进行通信,此时响应者节点与认证服务器进行通信,从而从认证服务器接收发送给发起者节点的密文与发送给响应者节点的密文,从发送给响应者节点的密文中取得会话密钥,并且将发送给发起者节点的密文提交给发起者节点并使发起者节点取得会话密钥。无论使用推方案与拉方案中的哪一个协议,为了保证包含会话密钥的密文的正确性(未被篡改),会在密文中附加MAC值。另外,从认证服务器发送给各节点的密文使用在认证服务器与各节点中被预先登记的密钥来进行加密以及解密。但是,3PKDP的认证服务器与2PKDP中的响应者的节点同样地,都将各节点中生成的随机数、会话密钥以及各节点的识别信息作为消息并使用密钥来计算MAC值,向各节点发送包含发送会话密钥与MAC值并进行了加密的密文。图13中表示3PKDP中的推方案的一个例子。在图示例中,节点A是发起者,节点B是响应者。这里,假设各节点A、B预先分别保存有与认证服务器S共用的密钥(共用密钥)Kas、Kbs。首先,节点A生成随机数Nas以及随机数Nab,向节点B发送节点A的识别信息IDa以及节点B的识别信息IDb,并且还发送所生成的随机数Nas、Nab(Pl)。另外,节点B生成随机数Nbs,除了从节点A接收的识别信息IDa 与随机数Nas之外,还向认证服务器S发送节点B的识别信息IDb与随机数Nbs (P2)。在认证服务器S中,若从节点B接收到随机数Nas、Nbs,则生成会话密钥Ks。另夕卜,使用与节点A共用的密钥Kas,利用随机数Nas、会话密钥Ks、节点B的识别信息IDb以及需要的附加信息a来计算消息认证码的值(MAC值)MAC (Kas) (Nas, a,Ks, IDb)。并且,将该MAC值用于随机数Nsa,生成对随机数Nsa与会话密钥Ks进行了加密的密文ENC〔Kas) (Nsa, Ks)。另外,在认证服务器S中,使用与节点B共用的密钥Kbs,利用随机数Nbs、会话密钥Ks、节点A的识别信息IDa以及需要的附加信息@来计算MAC值MAC (Kbs) (Nbs, ^,Ks, IDa),并且将该MAC值用于随机数Nsb,生成对随机数Nsb与会话密钥Ks进行了加密的密文 ENC (Kbs) (Nsb, Ks)。上述的附加信息a、^是发送给各节点A、B的信息,例如用作表示会话密钥Ks的有效期间等的信息。认证服务器S中包含会话密钥Ks的2个密文,被分别附加MAC值与附加信息a、^并发送给节点B (P3)。在节点B中若从认证服务器S接收到密文,则使用密钥Kbs对被加密的密文进行解密,取得随机数Nsb与会话密钥Ks。另外,随机数Nsb是MAC值MAC (Kbs)(Nbs, P,Ks, IDa),因此使用已知的随机数Nbs以及识别信息IDa和取得的会话密钥Ks以及附加信息P来计算MAC值,通过与接收到的MAC值进行对照来确认密文的正确性。接下来,节点B向节点A转送从认证服务器S接收到的针对节点A的密文ENC〔Kas) (Nsa, Ks)、MAC 值 MAC (Kas) (Nas, a , Ks, IDb)以及附加信息 a。但是,为了保证通过节点B,节点B生成新的随机数Nba,并且计算基于会话密钥Ks的MAC值MAC (Ks) (Nab,Nba, IDb),附加该MAC值与随机数Nba并发送给节点A (P4)。在节点A中,若从节点B接收到密文ENC (Kas) (Nsa,Ks),则使用加密密钥Kas进行解密,取得随机数Nsa与会话密钥Ks。另外,与节点B同样地计算MAC值MAC〔Kas〕(Nas,a,Ks, IDb)、MAC (Ks) (Nab, Nba, IDb),通过与接收到的MAC值进行对照来确认密文的正确性。其后,节点A计算基于密钥Kas的MAC值MAC (Kas) (Nas,Ks)、基于会话密钥Ks的MAC值MAC (Ks) (Nab,Nba),并回送给节点B (P5)。在节点B中,通过计算MAC值MAC〔Ks) (Nab, Nba),来确认是来自节点A的响应(P5)。并且,在节点B中,计算基于密钥Kbs的MAC值MAC (Kbs) (Nbs, Ks),将该MAC值与从节点A取得的MAC值MAC (Kas) (Nas,Ks) 一起发送给认证服务器S (P6)。在认证服务器S中,能够通过这些MAC值来确认是来自节点B的响应。如上所述,在日本特许第3078841号公报所记载的密钥发布的技术中,节点以至认证服务器在生成会话密钥后,计算包含随机数的MAC值,将MAC值附加于对会话密钥与MAC值进行了加密的密文并发布会话密钥。S卩,在日本特许第3078841号公报所记载的密钥发布的技术中,密文包括包含随机数的MAC值和会话密钥,在发送对于取得会话密钥的节点不是已知的附加信息时,与密文和MAC值一起不加密地发送附加信息。因此,第三者能够窃听附加信息,在3PKDP的情况下,会产生由于在对与认证服务器的通信进行中继的一方的节点中取得另一方的节点的附加信息,因此无法加密地发送附加信息这样的问题
发明内容
本发明是鉴于上述事由而做出的,其目的在于提供一种在发布会话密钥时,不仅能够确认正确性,而且还能对会话密钥以外的附加信息进行加密来发送的加密密钥发布系统。本发明的加密密钥发布系统具备第I节点、第2节点、生成在上述第I节点与上述第2节点之间的加密通信所使用的会话密钥的认证服务器。上述第I节点与上述认证服务器构成为,保存在上述第I节点与上述认证服务器之间的加密通信所使用的第I密钥。上述第2节点与上述认证服务器构成为,保存在上述第2节点与上述认证服务器之间的加密通信所使用的第2密钥。上述第I节点构成为,在向上述认证服务器请求发行上述会话密钥时,生成第I随机数并发送给上述认证服务器。上述第2节点构成为,在向上述认证服务器请求发行上述会话密钥时,生成第2生成随机数并发送给上述认证服务器。上述认证服务器构成为,若取得上述第I随机数与上述第2随机数则新生成上述会话密钥,使用第I消息与上述第I密钥来计算第I消息认证码的值,其中,该第I消息包含上述取得的第I随机数、上述新生成的会话密钥以及规定的第I附加信息,使用上述第I密钥对上述取得的第I随机数、上述新生成的会话密钥以及上述第I附加信息进行加密来创建第I密文,将上述第I密文与上述第I消息认证码的值发送给上述第I节点,使用第2消息与上述第2密钥来计算第2消息认证码的值,其中,该第2消息包含上述取得的第2随机数、上述新生成的会话密钥以及规定的第2附加信息,使用上述第2密钥对上述取得的第2随机数、上述新生成的会话密钥以及上述第2附加信息进行加密来创建第2密文,将上述第2密文与上述第2消息认证码的值发送给上述第2节点。上述第I节点构成为,若取得上述第I密文以及上述第I消息认证码的值,则使用上述第I密钥对上述第I密文进行解密并取得上述会话密钥与上述第I附加信息,使用上述第I节点存储的上述第I随机数、对上述第I密文进行解密而得到的上述会话密钥以及上述第I附加信息、以及上述第I密钥来计算上述第I消息认证码的值,通过判断上述第I节点计算出的上述第I消息认证码的值与从上述认证服务器取得的上述第I消息认证码的值是否一致,来进行从上述认证服务器取得的上述会话密钥的认证。上述第2节点构成为,若取得上述第2密文以及上述第2消息认证码的值,则使用上述第2密钥对上述第2密文进行解密并取得上述会话密钥与上述第2附加信息,使用上述第2节点存储上述第2随机数、对上述第2密文进行解密而得到的上述会话密钥以及上述第2附加信息、以及上述第2密钥来计算上述第2消息认证码的值,通过判断上述第2节点计算出的上述第2消息认证码的值与从上述认证服务器取得的上述第2消息认证码的值是否一致,进行从上述认证服务器取得的上述会话密钥的认证。在优选方式中,上述第I附加信息以及上述第2附加信息是访问控制的允许信息。在更优选方式中,上述认证服务器构成为,若从上述第I节点或者上述第2节点取得访问控制的请求信息,则对取得的上述访问控制的请求信息与预先登记的访问控制的登记信息进行比较,在上述取得的访问控制的请求信息未被包含于上述访问控制的登记信息的情况下,将上述访问控制的登记信息用作上述访问控制的允许信息。另外,在更优选方式中,上述加密密钥发布系统具有对上述第I节点与上述第2节点之间的通信进行中继的代理节点。上述认证 服务器构成为,向上述代理节点发送上述访问控制的允许信息。上述代理节点构成为,基于从上述认证服务器取得的上述访问控制的允许信息来对上述第I节点与上述第2节点之间的通信进行中继。此时,在进一步优选方式中,上述第I节点以及上述第2节点被赋予组标识符。上述第I附加信息以及上述第2附加信息包含组标识符。上述代理节点构成为,使用上述组标识符来进行访问控制。另外,在更优选方式中,上述认证服务器构成为,基于能够变更的访问控制的登记信息来生成上述访问控制的允许信息。另外,在更优选方式中,上述认证服务器构成为,若从上述第I节点或者上述第2节点接收到访问控制的请求信息,则通过取得的访问控制的请求信息与预先登记的访问控制的登记信息的逻辑运算,来生成上述访问控制的允许信息。


图I是实施方式I的加密密钥发布系统的动作说明图。图2是实施方式I的加密密钥发布系统的构成图。图3是实施方式I的加密密钥发布系统的其他例的动作说明图。图4是实施方式2的加密密钥发布系统的动作说明图。图5是实施方式2的加密密钥发布系统的构成图。图6是实施方式3的加密密钥发布系统的动作说明图。图7是实施方式3的加密密钥发布系统的构成图。图8是实施方式4的加密密钥发布系统的动作说明图。图9是实施方式4的加密密钥发布系统的主要部分的动作说明图。图10是表示本发明的两方密钥发布协议的动作说明图。图11是表示本发明的三方密钥发布协议的动作说明图。图12是表示本发明的三方密钥发布协议的其他例的动作说明图。图13是表示现有的三方密钥发布协议的动作说明图。
具体实施例方式如背景技术中说明的那样,在会话密钥的认证发布的技术中,已知有在两方之间进行的 2PKDP (2Party Key Distribution Protocol)、三方之间进行的 3PKDP (3Party KeyDistribution Protocol)。在以下待说明的实施方式中,虽例示了在3PKDP中应用本发明技术思想的情况,但也能够在下述的2PKDP中应用本发明的技术思想。另外,以下说明的认证服务器以及节点,都使用具备通信功能的计算机而构成,并能够使用广域信息通信网(互联网等)、本地信息通信网来进行通信。(1)2PKDP首先,关于2PKDP的情况,为了表示基本的步骤,如图10所示,例示在2个节点A、B之间共享会话密钥Ks的情况。这里,假设节点A请求节点B发布会话密钥Ks,节点B向节点A发布会话密钥Ks。另外,假设发布会话密钥Ks的节点B、请求会话密钥Ks的发布的节点A预先保存有共用的密钥(即,共用密钥)Kab。换言之,节点B是节点A的通信对象,并且也作为认证服务器发挥功能。 但是,也可以代替节点A、B具有共用的密钥Kab,而发布会话密钥Ks的节点B预先与节点A保存的密钥Kab进行关联地保存请求发布会话密钥Ks的节点A的识别信息(地址等)IDa。节点A在请求发布会话密钥Ks时,生成随机数Nab并向节点B发送节点A的识别信息IDa与随机数Nab (Pl)。另一方面,节点B当从节点A接收到密钥发布的请求时,生成会话密钥Kba,并且生成使用密钥Kab对随机数Nab与会话密钥Ks进行了加密的密文ENC (Kab) (Nab,Ks)。另夕卜,在节点B中,计算使用了节点A的密钥Kab的消息认证码的值(MAC值)MAC〔Kab〕(Nab,Ks, IDb),在密文中附MAC值后发送给节点A (P2)。在节点A中,当接收到从节点B发送来的信息时,使用密钥Kab对随机数Nab、会话密钥Ks以及节点B的识别信息(地址等)IDb进行解密。另外,计算基于密钥Kab的MAC值 MAC (Kab) (Nab,Ks),将 MAC 值回送给节点 B (P3)。在节点B中,当接收到来自节点A的MAC值MAC (Kab) (Nab,Ks)时,使用已知的密钥Kab、随机数Nab以及会话密钥Ks来计算MAC值,通过对计算出的MAC值与从节点A接收的MAC值进行比较,来确认会话密钥Ks被安全地传送给节点A。作为包含会话密钥Ks的密文ENC (Kab) (Nab,Ks),例如能够使用以密钥Kab对将随机数Nab代入单向函数后的结果进行了加密的消息、与会话密钥Ks的异或。此外,也可以在节点B中的会话密钥Ks加密时,包含节点B的识别信息IDb。(2) 3PKDP接下来,关于3PKDP的情况,为了表示基本的步骤,如图11所示,以使用2个节点A、B和认证服务器S,认证服务器S发布在2个节点A、B进行相互通信时使用的会话密钥Ks的情况为例进行说明。假设各节点A、B分别预先保存有与认证服务器S共用的密钥(共用密钥)Kas> Kbs。但是,与2PKDP的情况同样地,也可以代替认证服务器S与各节点A、B具有共用的密钥Kas、Kab,而认证服务器S预先保存有将各节点A、B的识别信息IDa、IDb与密钥Kas、Kbs建立关联的信息。在图11的动作例中,采用节点A成为通信发起者,作为响应者的节点B对在节点A与认证服务器S之间的通信进行中继的动作。因此,认证服务器S发行的会话密钥Ks经由节点B被提交给节点A。在该动作例中,首先节点A生成针对认证服务器S的随机数Nas,向节点B发送节点A的识别信息IDa与随机数Nas (Pl)。
另一方面,节点B当从节点A接收到随机数Nas时,生成随机数Nbs,除了从节点A接收到的识别信息IDa和随机数Nas之外,还向认证服务器S发送节点B的识别信息IDb和随机数Nbs (P2)。认证服务器S当从节点B接收到识别信息IDa、IDb与随机数Nas、Nbs时,生成会话密钥Ks,使用与节点A对应的密钥Kas,生成对随机数Nas和会话密钥Ks进行了加密的密文ENC (Kas) (Nas, Ks),并且使用与节点B对应的密钥Kbs来生成对随机数Nbs和会话密钥Ks进行了加密的密文ENC (Kbs) (Nbs, Ks)
另外,在认证服务器S中,计算使用了与节点A对应的密钥Kas的MAC值MAC〔Kas) (Nas, Ks, IDb),并且计算使用了与节点B对应的密钥Kbs的MAC值MAC (Kbs) (Nbs,Ks, IDa)。在认证服务器S中对会话密钥Ks进行了加密的2个密文被分别附加MAC值,并被发送给节点B (P3)。在节点B中,当从认证服务器S接收到密文ENC (Kbs) (Nbs,Ks)时,使用密钥Kbs对随机数Nbs与会话密钥Ks进行解密,取得会话密钥Ks,并且使用MAC值来确认会话密钥Ks的正确性。并且,在节点B中,向节点A转送从认证服务器S针对节点A的密文ENC (Kas)(Nas, Ks)以及MAC值MAC (Kas) (Nas, Ks, IDb)。此时,为了保证通过节点B,生成新的随机数Nba,并且计算基于会话密钥Ks的MAC值MAC (Ks) (Nas,Nba, IDb),附加该MAC值与随机数Nba并发送给节点A (P4)。在节点A中,当从节点B接收到密文ENC (Kas) (Nas, Ks)时,使用密钥Kas对随机数Nas与会话密钥Ks进行解密,取得会话密钥Ks,并且使用MAC值来确认会话密钥Ks是由认证服务器S发行、且经由节点B而传送来的值。取得会话密钥Ks的节点A计算基于会话密钥Ks的MAC值MAC (Ks) (Nas,Nba),并回送给节点B (P5)。在节点B中,通过使用该MAC值MAC (Ks) (Nas,Nba)来确认节点A取得会话密钥Ks。在上述的动作例中,作为对会话密钥Ks进行了加密的密文ENC (Kas) (Nas, Ks)、ENC (Kbs) (Nbs, Ks)例如,能够使用对将各随机数Nas、Nbs分别代入单向函数后的结果分别以密钥Kas、Kbs进行了加密的消息、和会话密钥Ks的逻辑异或。在上述的各步骤Pl P5中,能够附加各种数据作为选项。在图12中表示附加了选项的动作例。在图示例中,首先在从节点A向节点B发送随机数Nas的步骤Pl中,附加节点B的识别信息IDb、和从节点A发送给节点B的随机数Nab。另外,在从认证服务器S向节点B发送包含会话密钥Ks的密文的步骤P3、从节点B向节点A发送包含会话密钥Ks的密文的步骤P4中,在各自密文中包含成为通信对象的节点A、B的识别信息IDa、IDb。即,在节点A取得的密文中包含节点B的识别信息IDb,在节点B取得的密文中包含节点A的识别信息IDa。并且,在从节点A向节点B发送确认响应的步骤P5中,不仅发送发送给节点B的MAC值MAC (Ks) (Nab, Nba),还发送基于发送给认证服务器S的密钥Kas的MAC值MAC〔Kas) (Nas, Ks)。节点B若接收到该确认响应,则计算使用了密钥Kbs的MAC值MAC (Kbs) (Nbs,Ks),将基于从节点A接收到的密钥Kas的MAC值MAC (Kas) (Nas,Ks)和MAC值MAC (Kbs)(Nbs, Ks) 一起发送给认证服务器S (P6)。在认证服务器S中,通过对从节点B接收并对照这些MAC值来确认节点A、B已取得会话密钥Ks。以下,基于在三方之间进行的密钥认证的图11或者图12所示的动作,来说明各种动作例。但是,以下待说明的动作例也能够基于图11或者图12的动作和图10的动作的关系而应用于2PDKP。即,2TOKP的情况下,节点B也作为认证服务器S而发挥功能。换言之,能够考虑在节点B的内部进行认证服务器S的处理。另外,对于基于图12所示的步骤说明的动作,也能够基于图12的动作与图11的动作之间的关系而除去图12的动作中表示的选项的动作。(实施方式I) 在本例中,首先如图I所示,对除了图11所示的基本的动作之外,伴随向各节点A、B发布会话密钥Ks,还一起发送针对各节点A、B的附加信息的例子进行说明。作为附加信息a、P,可以具有密钥的有效期限、访问次数、费用等信息,与发布会话密钥Ks同样地也对附加信息a、^进行加密来发送。具体而言,附加信息a、P作为会话密钥Ks的有效期限、使用会话密钥Ks的通信次数(访问次数)、通过使用会话密钥Ks的通信而享用服务时的费用信息中的至少一个的信息而使用。会话密钥Ks的有效期限在附加信息a、P中使用发布会话密钥Ks的时间点的时间戳和有效期间,在从时间戳所记述的时间开始经过有效期间后的时间点将该会话密钥Ks设为无效。另外,访问次数与会话密钥Ks的有效期限相同地是规定会话密钥Ks的寿命的信息,在附加信息中使用利用了会话密钥Ks的通信的有效次数,若使用会话密钥Ks进行的通信的次数超过有效次数则将该会话密钥Ks设为无效。并且,作为费用信息使用费用金额,此时在节点A、B中若接收到作为附加信息a、^的费用金额,则与节点A、B所保持的预算相比较来判断是否进行使用会话密钥Ks的通信。另外,通过与会话密钥Ks的有效期间一起使用费用金额作为附加信息a、P,能够在有效期间的期满时通知要征收的费用金额。关于附加信息a、P,在上述的用途以外也能够适当地使用,只要根据使用节点A、B而构建的系统的动作来规定附加信息a、^的使用即可。如图2所示,本实施方式的加密密钥发布系统具备节点(第I节点)A、节点(第2节点)B、生成在节点A与节点B之间的加密通信所使用的会话密钥认证服务器S。节点A具备通信单元(第I通信单元)10、存储单元(第I存储单元)11、随机数生成单元(第I随机数生成单元)12、会话密钥请求单元(第I会话密钥请求单元)13。通信单元10构成为通过信息通信网与认证服务器S以及节点B进行通信。存储单元11构成为存储密钥(第I密钥)Kas。另外,存储单元11构成为存储节点A的识别信息IDa。随机数生成单元12构成为生成随机数(第I随机数)Nas。会话密钥请求单元13构成为在向认证服务器S请求发行会话密钥Ks时,使随机数生成单元12生成第I随机数Nas。会话密钥请求单元13构成为,当随机数生成单元12生成第I随机数Nas时,使随机数生成单元12生成的第I随机数Nas存储于单元11。在直到节点A从认证服务器S接收到会话密钥Ks的步骤结束为止,第I随机数Nas被存储于存储单元11。另外,会话密钥请求单元13构成为,在随机数生成单元12生成第I随机数Nas时,对通信单元10进行控制来将随机数生成单元12生成的第I随机数Nas发送给认证服务器S0在本实施方式的情况下,会话密钥请求单元13构成为将随机数生成单元12生成的第I随机数Nas以及存储单元11所存储的识别信息IDa经由节点B发送给认证服务器S。即,会话密钥请求单元13构成为将随机数生成单元12生成的第I随机数Nas以及存储单元11所存储的识别信息IDa发送给节点B。
节点B具备通信单元(第2通信单元)20、存储单元(第2存储单元)21、随机数生成单元(第2随机数生成单元)22、以及会话密钥请求单元(第2会话密钥请求单元)23。通信单元20构成为通过信息通信网与认证服务器S以及节点A进行通信。存储单元21构成为存储密钥(第2密钥)Kbs。另外,存储单元21构成为存储节点B的识别信息IDb。随机数生成单元22构成为生成随机数(第2随机数)Nbs。会话密钥请求单元23构成为,在向认证服务器S请求发行会话密钥Ks时,使随机数生成单元22生成第2随机数Nbs。会话密钥请求单元23构成为,在随机数生成单元22生成第2随机数Nbs时,使随机数生成单元22生成的第2随机数Nbs存储于存储单元21。第2随机数Nbs在直到节点B从认证服务器S接收到会话密钥Ks的步骤结束为止被存储于存储单元21。另外,会话密钥请求单元23构成为,在随机数生成单元22生成第2随机数Nbs时,对通信单元20进行控制来将随机数生成单元22生成的第2随机数Nbs发送给认证服务器S0在本实施方式的情况下,会话密钥请求单元23构成为,若从节点A接收到第I随机数Nas和识别信息Ida,则将随机数生成单元22生成的第2随机数Nbs以及存储单元21所存储的识别信息IDb与从节点A接收到的第I随机数Nas以及识别信息IDa —起发送给认证服务器S。认证服务器S具备通信单元(第3通信单元)30、密钥存储单元31、会话密钥生成单元32、运算单元(第3运算单元)33、密文生成单元34、以及密文发送单元35。通信单元30构成为通过信息通信网与各节点A、B进行通信。密钥存储单元31构成为存储节点A的密钥(第I密钥)Kas和节点B的密钥(第2密钥)Kbs。更详细来说,密钥存储单元31存储按照每个节点登记了识别信息与密钥的对应关系的密钥数据库。例如,对于节点A将识别信息IDa与密钥Kas建立关联,对于节点B将识别信息IDb与密钥Kbs建立关联。这样,节点A与认证服务器S保存在节点A与认证服务器S之间的加密通信所使用第I密钥Kas。另外,节点B与认证服务器S保存在节点B与认证服务器S之间的加密通信所使用第2密钥Kbs。会话密钥生成单元32构成为,在通信单元30接收到第I随机数Nas与第2随机数Nbs时,生成新的会话密钥Ks。运算单元33构成为,使用包含通信单元30取得的第I随机数Nas、会话密钥生成单元32新生成的会话密钥Ks和规定的第I附加信息a的消息(第I消息)与密钥存储单元31所存储的第I密钥Kas来计算消息认证码的值(第I消息认证码的值)MAC[Kas](Nas, a,Ks, IDb)。在本实施方式中,第I消息包含第I随机数Nas、会话密钥Ks、第I附加信息a、以及与节点A进行通信节点B的识别信息IDb。另外,运算单元33构成为,使用包含通信单元10取得的第2随机数Nbs、会话密钥生成单元32新生成的会话密钥Ks和规定的第2附加信息P的消息(第2消息)与密钥存储单元31所存储的第2密钥Kbs来计算消息认证码的值(第2消息认证码的值)MAC[Kbs](Nbs, ^ , Ks, IDa)。在本实施方式中,第I消息包含第2随机数Nbs、会话密钥Ks、第2附加信息P以及与节点B进行通信节点A的识别信 息IDb。密文生成单元34构成为,使用密钥存储单元31所存储的第I密钥Kas对通信单元30取得的第I随机数Nas、会话密钥生成单元32新生成的会话密钥Ks以及第I附加信息a进行加密来创建密文(第I密文)ENC[Kas] (Nas, a,Ks)。另外,密文生成单元34构成为,使用密钥存储单元31所存储的第2密钥Kbs对通信单元30取得的第2随机数Nbs、会话密钥生成单元32新生成的会话密钥Ks、以及第2附加信息P进行加密来创建密文(第2 密文)ENC[Kbs] (Nbs, P,Ks)。密文发送单元35构成为,对通信单元30进行控制来将密文生成单元34生成的第I密文ENC [Kas] (Nas, a ,Ks)与运算单元33计算出的第I消息认证码的值MAC [Kas] (Nas,a, Ks, IDb)发送给节点A。另外,密文发送单元35构成为,对通信单元30进行控制来将密文生成单元34生成的第2密文ENC[Kbs] (Nbs, ^ ,Ks)与运算单元33计算出的第2消息认证码的值MAC[Kbs] (Nbs, P,Ks, IDa)发送给节点B。节点A还具备解密单元(第I解密单元)14、运算单元(第I运算单元)15、以及认证单元(第I认证单元)16。解密单元14构成为,在通信单元10接收到第I密文ENC[Kas] (Nas, a,Ks)以及第I消息认证码的值MAC [Kas] (Nas, a,Ks, IDb)时,使用存储单元11所存储的第I密钥Kas对第I密文ENC[Kas] (Nas, a,Ks)进行解密来取得第I随机数Nas、会话密钥Ks以及第I附加信息a。运算单元15构成为,使用存储单元11所存储的第I随机数Nas、解密单元14对第I密文ENC[Kas] (Nas, a,Ks)进行解密而得到的会话密钥Ks以及第I附加信息a、以及存储单元11所存储的第I密钥Kas来计算第I消息认证码的值MAC [Kas] (Nas, a,Ks,IDb)。认证单元16构成为,通过判断运算单元15计算出的第I消息认证码的值MAC[Kas] (Nas, a,Ks, IDb)与从认证服务器S接收到的第I消息认证码的值MAC [Kas](Nas, a,Ks, IDb)是否一致,来进行从认证服务器S接收到的会话密钥Ks的认证。认证单元16构成为,若运算单元15计算出的第I消息认证码的值MAC [Kas] (Nas,a,Ks, IDb)与从认证服务器S接收到的第I消息认证码的值MAC [Kas] (Nas, a,Ks, IDb)不一致,则判断为会话密钥Ks存在异常。此时,认证单元16例如放弃会话密钥Ks。认证单元16构成为,在运算单元15计算出的第I消息认证码的值MAC [Kas] (Nas,a,Ks, IDb)与从认证服务器S接收到的第I消息认证码的值MAC [Kas] (Nas, a,Ks, IDb)一致时,判断为会话密钥Ks正常。此时,认证单元16构成为例如使从认证服务器S接收到的会话密钥Ks存储于存储单元11。此外,认证单元16构成为,将解密单元14得到的第I随机数Nas与存储单元11所存储的第I随机数Nas进行比较。认证单元16构成为,若解密单元14得到的第I随机数Nas与存储单元11所存储的第I随机数Nas不一致,则不进行会话密钥Ks的认证。这样,构成为当节点B从认证服务器S取得会话密钥Ks时,通信单元10与节点B进行通信时,使用通过认证服务器S取得的会话密钥Ks,来对发送给节点B的数据进行加密以及对从节点B取得的消息(数据)进行解密。节点B还具备解密单元(第2解密单元)24、 运算单元(第2运算单元)25、以及认证单元(第2认证单元)26。解密单元24构成为,当通信单元20接收到第2密文ENC[Kbs] (Nbs, ^,Ks)以及第2消息认证码的值MAC [Kbs] (Nbs, P,Ks, IDa)时,使用存储单元21所存储的第2密钥Kbs对第2密文ENC[Kbs] (Nbs, ^,Ks)进行解密来取得第2随机数Nbs、会话密钥Ks以及第2附加信息3。运算单元25构成为,使用存储单元21所存储的第2随机数Nbs、解密单元24对第2密文ENC[Kbs] (Nbs, ^,Ks)进行解密而得到的会话密钥Ks以及第2附加信息P、以及存储单元21所存储的第2密钥Kbs来计算第2消息认证码的值MAC [Kbs] (Nbs, ^,Ks,IDa)。认证单元26构成为,通过判断运算单元25计算出的第2消息认证码的值MAC[Kbs] (Nbs, P,Ks, IDa)与从认证服务器S接收到的第2消息认证码的值MAC [Kbs](Nbs, ^,Ks, IDa)是否一致,来进行从认证服务器S接收到的会话密钥Ks的认证。认证单元26构成为,在运算单元25计算出的第2消息认证码的值MAC [Kbs] (Nbs,3,Ks,IDa)与从认证服务器S接收到的第2消息认证码的值MAC [Kbs] (Nbs, ^ , Ks, IDa)不一致时,判断为会话密钥Ks存在异常。此时,认证单元26例如放弃会话密钥Ks。认证单元26构成为,在运算单元25计算出的第2消息认证码的值MAC [Kbs] (Nbs,^ , Ks, IDa)与从认证服务器S接收到的第2消息认证码的值MAC [Kbs] (Nbs, ^ , Ks, IDa)一致时,判断为会话密钥Ks正常。此时,认证单元26例如使从认证服务器S接收到的会话密钥Ks存储于存储单元21。此外,认证单元26构成为,对解密单元24得到的第2随机数Nbs与存储单元21所存储的第2随机数Nbs进行比较。认证单元26构成为,若解密单元24得到的第2随机数Nbs与存储单元21所存储的第2随机数Nbs不一致,则不进行会话密钥Ks的认证。这样,构成为当节点B从认证服务器S取得会话密钥Ks时,通信单元20与节点A进行通信时,使用通过认证服务器S接收到的会话密钥Ks,对发送给节点A的数据进行加密以及对从节点A接收到的消息(数据)进行解密。在以下待说明的动作例中,假设节点A为通信发起者(主题=主体),节点B为通信的响应者(对象=客体)。主体与客体的节点A、B,在能够进行基于通过发布会话密钥Ks而进行了加密的消息的通信时,主体(节点A)能够控制客体(节点B)。在主体的节点A与客体的节点B使用密码进行通信中,需要从认证服务器S取得在节点A、B之间共用的密钥(会话密钥Ks),将会话密钥Ks用于消息的加密。节点A、B从认证服务器S取得会话密钥Ks与图11所示的动作相同地,首先从节点A向节点B发送节点A的识别信息IDa与随机数Nas (Pl)。从节点A向节点B发送的消息中,也可以附加节点B的识别信息IDb、针对节点B而生成的随机数Nab作为选项(参照图3)。随机数Nas以及随机数Nab在节点A中每当请求发布会话密钥Ks时(利用随机数生成单元12)就会被生成,并直到会话密钥Ks的发布步骤结束为止被暂时存储(在存储单元11中)。作为节点A附加节点B的识别信息IDb作为选项的情况的例子,存在节点A进行广播通信的情况。在进行广播通信时,节点B以外的其他节点也接收来自节点A的消息,因此为了区分节点B与其他节点而使节点B接收消息,将节点B的识别信息IDb作为选项来 使用。另外,在节点A中,为了保证来自认证服务器S的响应使用随机数Nas,在节点A与节点B之间确认会话密钥Ks的步骤中也通过使用该随机数Nas而使步骤简单化,但为了进行更安全的密钥发布,优选按照路径的不同而使用不同的随机数。S卩,随机数的原则是一次性,理想情况是不重复地发送相同的随机数,但由于实际的通信路径或节点A、B的故障等会引起再发送而往往对相同的随机数进行再发送,因此往往会由于再发送攻击(回放式攻击)而导致密钥发布产生障碍。因此,为了提高针对回放式(replay)攻击的耐攻击性而提高密钥发布的安全性,优选以与节点A为了保证来自认证服务器S的响应而使用的随机数Nas不同的选项来生成在节点A与节点B之间确认会话密钥Ks的步骤中使用的随机数Nab,并按照路径的不同而使用不同的随机数Nab、Nas0节点B在从节点A接收步骤Pl的消息时,抽出节点A的识别信息IDa、随机数Nas (若附加有选项,则是节点B的识别信息IDb、随机数Nab),并且生成随机数Nbs。并且,向认证服务器S发送对节点A的识别信息IDa、随机数Nas (若附加有选项,则是节点B的识别信息IDb、随机数Nab)附加了节点B的识别信息IDb、随机数Nbs的消息(密钥发布请求)(P2)。随机数Nbs在节点B中每当向认证服务器S请求发布会话密钥Ks时(利用随机数生成单元22)就被生成,并直到会话密钥Ks的发布步骤结束为止被暂时存储(在存储单元21中)。步骤PU P2与图11所示的3PKDP的基本的步骤相同。在认证服务器S中,当从节点B接收到步骤P2的消息时,生成节点A、B通信所使用的会话密钥Ks。在认证服务器S中具备按照各节点A、B将识别信息IDa、IDb与密钥Kas、Kbs进行关联地存储的密钥数据库(未图示),当从节点B接收到密钥发布请求的消息时,将从消息中抽出的节点A、B的识别信息IDa、IDb与密钥数据库进行对照,抽出针对各节点A、B 的密钥 Kas、Kbs。并且,在认证服务器S中,分别使用与各节点A、B对应的各密钥Kas、Kbs,生成对各节点A、B分别生成的随机数Nas、Nbs、附加信息a、^、会话密钥Ks进行了加密的密文ENC(Kas) (Nas, a,Ks)、ENC (Kbs) (Nbs, P,Ks)。另外,针对各消息,还生成使用了与各节点A、B 对应的密钥 Kas、Kbs 的 MAC 值 MAC (Kas) (Nas, a ,Ks, IDb), MAC〔Kbs〕(NBs, ^ , Ks,IDa)。这里,密文ENC (Kas) (Nas, a ,Ks)与 MAC 值 MAC〔Kas〕(Nas, a,Ks,IDb)的组是经由节点B发送给节点A的数据,密文ENC (Kbs) (Nbs, ^ ,Ks)与MAC值MAC (Kbs) (NBs,^,Ks, IDa)的组是发送给节点B的数据。因此,决定数据的排列顺序,以便能够按照节点A、B来接收数据。这里,排在前的组是发送给节点A的数据,排在后的组是发送给节点B的数据。如上述那样,在认证服务器S中生成的数据被发送给节点B(P3)。在认证服务器S中,生成对向各节点A、B发布的会话密钥Ks进行了加密的消息时,也可以包含各节点A、B使用会话密钥Ks进行相互通信的对象的节点A、B的识别信息IDa、IDb作为选项(参照图3)。换句话说,假设发送给节点A的消息为ENC (Kas) (Nas,a,Ks, IDb),发送给节点 B 的消息为 ENC (Kbs) (Nbs, ^,Ks, IDa)。这样,当包含选项时,在节点A中,能够进行密钥发布请求而不先识别节点B的识别信息IDb。换句话说,在节点A中,通过从认证服务器S接收包含会话密钥Ks的消息,能够知道成为通信对象的节点B的识别信息IDb。另外,能够通过识别信息IDb来判断是否是相应的对象,来判断是否继续后续通信。另外,认证 服务器S能够确认发布会话密钥Ks的通信对象的识别信息IDa、IDb,因此通过在节点A、B中相互确认通信对象的识别信息IDa、IDb,能够确认有无从节点A向节点B的消息或从节点B向认证服务器S的消息的篡改。节点B在从密钥从认证服务器S接收到基于步骤P3的数据时,使用数据的顺序来抽出发送给节点B的密文的组(密文ENC (Kbs) (Nbs, ¢, Ks)与MAC值MAC (Kbs) (NBs,¢, Ks, IDa)的组),对密文ENC (Kbs) (Nbs, ¢, Ks)进行解密并取出会话密钥Ks等。这里,将从消息取出的随机数Nbs与节点B (存储单元21)所存储的随机数Nbs进行比较,从而确认有无消息的篡改,在接收到的随机数Nbs与存储的随机数Nbs不一致时,视为异常而不进行后续处理。并且,使用节点B存储的随机数Nbs、从消息中解密而得到的附加信息0、从消息解密而得到的会话密钥Ks、作为通信对象的节点A的识别信息IDa、以及节点B保存的密钥Kbs,使用与认证服务器S相同的算法计算MAC值MAC (Kbs) (Nbs, ^ , Ks, IDa),与从认证服务器S接收到的MAC值MAC (Kbs) (Nbs, P,Ks,IDa)进行比较,从而确认有无消息的篡改。这里,在接收到的MAC值与计算出的MAC值不一致时,也视为异常而不进行后续处理。作为通信对象的节点A的识别信息IDa虽可以预先存储于节点B中,但在消息中作为选项包含识别信息IDa时,使用从消息中抽出的识别信息IDa(参照图3)。在节点B从认证服务器S无异常地接收到数据时,使用从认证服务器S接收到的会话密钥Ks、在步骤Pl中从节点A接收到的随机数Nas、节点B生成的随机数Nbs、以及节点B的识别信息IDb来(在运算单元25中)计算MAC值MAC (Ks) (Nas, Nbs, IDb)。另外,在节点B中,抽出从认证服务器S接收到的发送给节点A的密文ENC (Kas)(Nas, a , Ks)与MAC值MAC (Kas) (Nas, a , Ks, IDb)的组,并且在该数据之后附加MAC值MAC (Ks) (Nas, Nbs, IDb)与节点B生成的随机数Nbs,并发送给节点A(P4)。附加随机数Nb S,是在节点A中计算MAC值时需要的。这里,在从节点A向节点B发送的数据中,基于与使用随机数Nab作为选项相同的理由,也可以在从节点B向节点A发送数据中,代替使用随机数Nbs,而(在随机数生成单元22中)新生成在节点B中仅用于向节点A发送数据的随机数Nba,在步骤P4中代替随机数Nbs而使用随机数Nba。另外,在步骤Pl中使用随机数Nab时,也可以在步骤P4中代替MAC (Ks) (Nas,Nbs,IDb)中的随机数Nas而使用随机数Nab。S卩,作为MAC值,使用MAC(Ks) (Nab, Nba, IDb)。此时,从节点B向节点A不附加发送随机数Nbs而附加发送随机数Nba0节点A在从节点B接收步骤P4中产生的数据时,通过抽出密文ENC (Kas) (Nas,a ,Ks)并进行解密,取出会话密钥Ks等。这里,根据数据的排列顺序来识别待解密的消息。这里,通过对从消息中取出的随机数Nas与节点A存储的随机数Nas进行比较来确认有无消息的篡改,若接收到的随机数Nas与存储的随机数Nas不一致,则视为异常而不进行后续处理。并且,使用节点A存储的随机数Nas、从消息中解密而得到的附加信息a、从消息中解密而得到的会话密钥Ks、作为通信对象的节点B的识别信息IDb、以及节点A保存的密钥Kas,使用与认证服务器S相同的算法计算MAC值 MAC (Kas) (Nas, a,Ks,IDb),通过与从节点B取得的MAC值MAC (Kas) (Nas, a , Ks, IDb)进行比较,确认有无消息的篡改。这里,若接收到的MAC值与计算出的MAC值不一致,则也视为异常而不进行后续处理。作为通信对象的节点B的识别信息IDb在节点A中被预先存储即可,但在消息中作为选项包含识别信息IDb时,使用从消息中抽出的识别信息IDb。另外,使用节点A存储的随机数Nas、从节点B发送来的随机数Nbs、作为通信对象的节点B的识别信息IDb、以及从消息中解密而得到的会话密钥Ks (用运算单元15)来计算MAC值MAC (Ks) (Nas, Nbs, IDb),并通过与(经由认证单元16)从节点B取得的MAC值MAC (Ks) (Nas,Nbs, IDb)进行比较,确认有无消息的篡改。此时,若接收到的MAC值与计算出的MAC值不一致,则视为异常而不进行后续处理。如上述那样,在节点A从节点B无异常地取得会话密钥Ks时,在节点A中保存从节点B取得的会话密钥Ks。另外,通过随机数Nas、随机数Nbs以及会话密钥Ks,(用运算单元15)生成用于针对节点B的确认响应的MAC值MAC (Ks) (Nas,Nbs),将该MAC值发送给节点B(P5)。在步骤P4中,代替随机数Nas、Nbs而使用作为选项的随机数Nab、Nba,使用MAC〔Ks) (Nab, Nba, IDb)作为MAC值,当在节点A中接收到随机数Nba时(参照图3),在节点A的异常检测中也使用MAC值MAC (Ks) (Nab,Nba, IDb)。然而,如图I所示,认证服务器S在向节点A、B发布会话密钥Ks后,能够以从节点B接收响应而使密钥发布的步骤结束,但也可以如图3所示,节点A、B针对认证服务器S进行确认响应。此时,认证服务器S在接收到确认响应后向节点A、B返送接收确认。以下,对认证服务器S中接收确认响应情况的动作进行说明。S卩,在节点A中,在步骤P5中,为了不仅发送针对节点B的确认响应,还向认证服务器S发送确认响应,代替MAC (Ks) (Nas,Nbs)将向节点B发送的MAC值设为MAC (Ks)(Nab, Nba),并且附加用于发送给认证服务器S的确认响应的MAC值MAC (Kas) (Nas, Ks)(参照图3的步骤P5)。另外,进行针对认证服务器S的确认响应时,优选在节点A中(使用随机数生成单元12)生成新的随机数Nas',直到得到来自认证服务器S的响应为止将随机数Nas'暂时存储(在存储单元11中)。在生成随机数Nas'时,与随机数Nas' —并发送给节点B。在利用步骤P5接收到来自节点A的数据的节点B中,基于数据的排列顺序分离以节点B为目的地的MAC值MAC (Ks) (Nas, Nbs),并且使用保存的会话密钥Ks、暂时存储的随机数Nbs以及随机数Nas来(使用运算单元25)计算MAC值MAC (Ks) (Nas, Nbs),对接收到的MAC值和计算出的MAC值进行比较(使用认证单元26)。若两MAC值一致,则原样保存会话密钥Ks。
并且,在节点B中,(使用随机数生成单元22)生成新的随机数Nbs',并且(使用运算单元25)计算发送给认证服务器S的MAC值MAC (Kbs) (Nbs, Ks),将从节点A发送给认证服务器S的MAC值MAC (Kas) (Nas,Ks)以及随机数值Nas',与MAC值MAC (Kbs)(Nbs, Ks)以及随机数Nbs' —起发送给认证服务器S(P6)。随机数Nbs'直到有来自认证服务器S的接收确认为止被暂时保存(在存储单元21中)。这里,为了针对认证服务器S的确认响应而生成新的随机数Nas'以及随机数Nbs'与在步骤Pl中说明理由相同,是为了确保随机数的一次性来提高通信的安全性。但是,流量伴随新的随机数Nas'、Nbs'的发送而增加,因此在不希望流量增加时,也可以将在步骤P2中接收到的随机数Nas、Nbs用于确认响 应。认证服务器S (运算单元33)当从节点B利用步骤P6接收到确认响应时,使用密钥数据库存储的密钥Kas、Kbs、保存的会话密钥Ks、以及随机数Nas、Nbs,来计算MAC值MAC(Kas) (Nas,Ks) ,MAC (Kbs) (NbsjKs)0在认证服务器S中,对利用步骤P6接收到的MAC值和计算出的MAC值进行比较,若两者不一致,则(使用运算单元33)判断为会话密钥Ks的发布存在异常,不进行针对节点A、B的接收响应而结束处理。此时,在节点A、B中(使用认证单元16、26)判断为会话密钥Ks的接收失败。在会话密钥Ks的接收失败时,废弃保存的会话密钥Ks,根据需要而重新请求发布会话密钥Ks。认证单元16、26若在规定的限制时间内没有从认证服务器S得到接收响应,则判断为会话密钥Ks的接收失败。 另一方面,在认证服务器S中,在步骤P6中接收到的MAC值与计算出的MAC值一致时,使用各节点A、B的密钥Kas、Kbs、以及在各节点A、B中生成的步骤P2中接收到的随机数Nas'、Nbs',(使用运算单元33)计算发送给各节点A、B的MAC值MAC〔Kas〕(Nas')、MAC (Kbs) (Nbs'),并向节点B发送接收确认(P7)。节点B在从认证服务器S接收到基于步骤P7数据时,按照数据的排列顺序分离并抽出与节点B对应的MAC值MAC (Kbs) (Nbs')。另外,使用密钥Kbs以及暂时存储的随机数Nbs'来(使用运算单元25)计算MAC值MAC (Kbs) (Nbs;),对接收到的MAC值与计算出的MAC值进行比较(使用认证单元26)。若两者一致,则确认将保存的会话密钥Ks用于与节点A的通信中,并且将从认证服务器S接收到的MAC值MAC (Kas) (Nas')发送给节点A(P8)。另外,在节点B中,当从认证服务器S在步骤P7中接收到的MAC值和与步骤P7对应地计算出的MAC值不一致时,放弃节点B保存的会话密钥Ks,不进行针对节点A的MAC值的发送而结束处理。节点A在从节点B利用步骤P8接收到MAC值MAC〔Kas〕(Nas')时,使用密钥Kas与随机数Nas来(使用运算单元15)计算MAC值MAC (Kas) (Nas'),对接收到的MAC值与计算出的MAC值进行比较(使用认证单元16),若两MAC值一致,则确认将节点A保存的会话密钥Ks用于节点B的通信。另一方面,在两MAC值不一致时,或在步骤P5中向节点B发送数据后的规定限制时间内,没有从节点B接收到步骤P8所产生的MAC值MAC (Kas) (Nas')时,放弃保存的会话密钥Ks,根据需要重新进行会话密钥Ks的发布请求。如以上说明的那样,通过使用图I所示的步骤Pl P5或者图3所示的步骤Pl P8,能够安全地发布会话密钥Ks。此外,图I例示了未包含选项的动作,图3例示了包含全部的选项时的动作。但是,选项按照上述说明根据需要能够进行适当的选择。另外,如上述步骤P3、P4那样,在发送进行了加密的消息与MAC值的组时,也可以使用RFC4309中提倡的AES-CCM这样的加密方式,消息的加密中使用AES,作为MAC值使用CCM 的 MAC。以上所述的本实施方式的加密密钥发布系统采用密钥发布方法,是在计算机通信系统内发布在由多个节点构成的组内的通信所使用的会话密钥的方法。这里,具有生成会话密钥的功能以及将会话密钥向组内的各节点发布的功能的认证服务器与各节点共享密钥。上述密钥发布方法包含将组内的任一个节点的识别信息、该节点生成的随机数、以及组内的其他节点的识别信息发送给认证服务器的步骤;认证 服务器生成组内的各节点共用地使用的会话密钥的步骤;认证服务器将从第I节点取得的随机数、生成的会话密钥以及适当的附加信息作为消息,使用各节点的密钥计算消息认证码的值的步骤;认证服务器在使用各节点的密钥对至少从第I节点取得的随机数、生成的会话密钥以及上述附加信息进行了加密的发送给各节点的密文中,附加使用针对各节点的密钥而生成的消息认证码的值并发送给各节点的步骤;在上述组内的各节点中,通过对从认证服务器取得的加密后的数据进行解密而抽出会话密钥的步骤;上述组内的各节点使用密钥与解密后的数据来计算上述消息认证码的值,在计算出的消息认证码的值与从认证服务器取得的消息认证码的值一致时,视为抽出的会话密钥被认证的步骤。为了实现上述密钥发布方法,本实施方式的加密密钥发布系统具备第I节点A、第2节点B、生成在第I节点A与第2节点B之间的加密通信所使用的会话密钥的认证服务器S0第I节点A与认证服务器S构成为保存在第I节点A与认证服务器S之间的加密通信所使用的第I密钥。第2节点B与认证服务器S构成为保存在第2节点B与认证服务器S之间的加密通信所使用的第2密钥。第I节点A构成为,向认证服务器S请求发行会话密钥时,生成第I随机数并发送给认证服务器S。第2节点B构成为,在向认证服务器S请求发行会话密钥时,生成第2随机数并发送给认证服务器S。认证服务器S构成为,在接收第I随机数与第2随机数时,生成新的会话密钥。认证服务器S构成为,使用包含接收到的第I随机数、新生成的会话密钥和规定的第I附加信息的第I消息与第I密钥来计算第I消息认证码的值。认证服务器S构成为,使用第I密钥对接收到的第I随机数、新生成的会话密钥和第I附加信息进行加密而创建第I密文。认证服务器S构成为将第I密文与第I消息认证码的值发送给第I节点。认证服务器S构成为,使用包含接收到的第2随机数、新生成的会话密钥和规定的第2附加信息的第2消息与第2密钥来计算第2消息认证码的值。认证服务器S构成为,使用第2密钥对接收的第2随机数、新生成的会话密钥以及第2附加信息进行加密而创建第2密文。认证服务器S构成为将第2密文与第2消息认证码的值发送给第2节点。第I节点A构成为,在接收到第I密文以及第I消息认证码的值时,使用第I密钥对第I密文进行解密而取得会话密钥与第I附加信息。第I节点A构成为,使用第I节点A存储的第I随机数、对第I密文进行解密而得到的会话密钥以及第I附加信息、以及第I密钥来计算第I消息认证码的值。第I节点A构成为,通过判断第I节点计算出的第I消息认证码的值是否与从认证服务器S接收到的第I消息认证码的值一致,对从认证服务器接收到的会话密钥进行认证。第2节点B构成为,在接收到第2密文以及第2消息认证码的值时,使用第2密钥对第2密文进行解密而取得会话密钥与第2附加信息。第2节点B构成为,使用第2节点B存储第2随机数、对第2密文进行解密而得到的会话密钥以及第2附加信息、以及第2密钥来计算第2消息认证码的值。第2节点B构成为,通过判断第2节点计算出的第2消息认证码的值是否与从认证服务器S接收到的第2消息认证码的值一致,来对从认证服务器S接收到的会话密钥进行认证。根据本实施方式的构成,认证服务器S在使用各节点的密钥对至少从第I节点取得的随机数、生成的会话密钥以及附加信息进行了加 密的发送给各节点的密文中,附加根据从第I节点接收到的随机数、生成的会话密钥以及附加信息计算出的消息认证码的值,并向各节点发送密文与消息认证码,因此在认证服务器向各节点发布会话密钥时,当然能够使用消息认证码的值来确认正确性,并且还能够对会话密钥以外的附加信息进行加密并发送。换言之,在认证服务器向各节点发送附加信息时,通过对附加信息进行加密,其他节点不能窃听附加信息。并且,因为向节点发送包含计算消息认证码的值所需的信息的密文,因此在接收到会话密钥的节点中,能够计算包含附加信息的消息认证码的值,能够确认会话密钥以及附加信息未被篡改(换句话说,正确性)。(实施方式2)本实施方式的加密密钥发布系统,如图5所示主要是认证服务器S具有访问信息生成单元36、和访问信息存储单元37这点与实施方式I的加密密钥发布系统不同。在本实施方式的加密密钥发布系统中,作为访问控制的信息(表示节点间的访问的可否的信息),使用访问控制的请求信息(访问请求信息)、访问控制的登记信息(访问登记信息)、访问控制的允许信息(访问允许信息)。访问请求信息是表示节点所请求的访问权限的信息。访问登记信息是表示节点的制造者、管理者预先赋给节点的访问权限的信息。访问允许信息是表示实际赋给节点的访问权限的信息。在本实施方式中,基于访问请求信息与访问登记信息来生成访问允许信息。 访问信息存储单元37构成为存储访问控制的登记信息。访问信息生成单元36构成为生成访问控制的允许信息。访问信息生成单元36构成为,例如在从节点A⑶接收到访问控制的请求信息Pas (Pbs)时,求出接收到的访问控制的请求信息Pas (Pbs)与访问控制的登记信息的共用部分(换言之,积集合)。访问信息生成单元36构成为,将求出的共用部分用作访问控制的允许信息Psa(Psb)。在本实施方式中,密文生成单元34构成为,作为第I附加信息a使用访问信息生成单元36生成的与节点A相关的访问控制的允许信息。另外,密文生成单元34构成为,作为第2附加信息P使用访问信息生成单元36生成的与节点B相关的访问控制的允许信息。在本实施方式的情况下,会话密钥请求单元13构成为,将随机数生成单元12生成的随机数Nas、Nab、存储单元11所存储的识别信息IDa、IDb、以及访问请求信息Pas经由节点B发送给认证服务器S。即,会话密钥请求单元13构成为,将随机数Nas、Nab、识别信息IDa、IDb、以及访问请求信息Pas发送给节点B。另外,会话密钥请求单元23构成为,在从节点A接收到随机数Nas、Nab、识别信息IDa、IDb、以及访问请求信息Pas时,将随机数生成单元22生成的第2随机数Nbs、访问请求信息Pbs、与从节点A接收到的随机数Nas、识别信息IDa、IDb以及访问请求信息Pas —起发送给认证服务器S。在本动作例中,除了实施方式I的动作之外,对进行访问控制情况进行说明。即,在实施方式I中作为附加信息a、^例示了会话密钥Ks的有效期间、访问次数、费用信息,但在本实施方式中,对将附加信息a、^用于访问控制的例子进行说明。访问控制包含是否将各节点A、B保存的信息提供给其他节点A、B (提供)、各节点A、B添加其他节点A、B提供的信息的操作(读出、写入、执行)。换句话说,访问控制的信息决定从各节点A、B保存的信息能够提供哪个信息,还决定针对提供信息进行哪种操作。
在以下的说明中,对包含实施方式I中的选项的图3的动作例添加变更以便能够进行访问控制的例子进行说明。但是,能够对图I所示的动作例也添加变更以便能够进行访问控制。另外,在2PDKP的情况下,能够按照图10变更到除去了认证服务器S的动作。在本动作例中,为了进行访问控制,如图4所示,在步骤Pl中从节点A向节点B发送的数据中包含访问控制的请求信息(访问请求信息)Pas,在步骤P2中从节点B向认证服务器S发送的数据中包含访问控制的请求信息Pas、Pbs。本动作例中,访问控制的请求信息Pas、Pbs虽是根据需要被采用选项,但本动作例中对进行访问控制的动作进行说明,因此仅对使用访问控制的请求信息Pas、Pbs的动作进行说明。认证服务器S在从节点B接收到访问控制的请求信息Pas、Pbs时,(使用访问信息生成单元36)生成针对节点A的访问控制的允许信息Psa与针对节点B的访问控制的允许信息Psb,将在步骤P3、P4中使用附加信息a、^的内容作为各自的访问控制的允许信息 Psa、Psb0在本动作例中,在步骤P4中使用从节点B向认证服务器S发出的访问控制的请求信息Pbs,在步骤P5,P6中将访问控制的请求信息Pas、Pbs包含于MAC值来使用。认证服务器S不仅具有通过向节点A、B发行对会话密钥Ks在节点A、B之间允许通信的功能,还具有对于应节点A、B保存的信息限制其从一方向另一方的访问的功能。认证服务器S发行的访问控制的允许信息Psa、Psb存在以下各种信息,在认证服务器S中,在接收到访问控制的请求信息Pas、Pbs时,按照预先决定的规则,(使用访问信息生成单元36)发行以下的任一个允许信息Psa、Psb。在访问控制的请求信息Pas、Pbs以及访问控制的允许信息Psa、Psb中,关于节点A、B的保存的信息,能够选择读出、写入、执行、提供这4种操作,分别记述为“read”、“write”、“execute”、“provide”。例如,将节点B保存的信息用RB来表示时,在节点A请求进行信息RB的读出时记述为“A read RB”。另外,节点B提供信息RB时记述为“B provideRB”。并且,在同时记述多个操作时,在同时记述的各操作之间用竖线(I)分开。例如,节点A请求信息RB的读出与写入的操作时记述为“A read I write RB”。首先,例示了节点B保存有多个种信息的情况,即对于节点B保存的多个种信息,为了限制节点A能够访问的信息的种类,认证服务器S (访问信息生成单元36)发行访问控制的允许信息Psa、Psb的情况。换句话说,认证服务器S在从节点A向节点B发出的访问请求时,基于节点B允许提供的信息,发行针对节点A、B的访问控制的允许信息Psa、Psb0这里,对节点B具有3种信息RB I RB3,节点A访问节点B的全部信息RB I RB3并请求读出、写入、执行全部操作,而节点B仅允许提供I种信息RBl的情况进行例示。
即,来自节点A的访问控制的请求信息Pas是“A read | write | execute RB1、RB2、RB3”,节点A经由节点B将该请求信息Pas发送给认证服务器S (Pl)。另一方面,节点B将“B provide RB1”发送给认证服务器S作为访问控制的请求信息Pbs (P2)。另一方面,认证服务器S与按照各节点A、B的访问控制相关地保存有登记信息(访问控制的登记信息)。访问控制的登记信息是按照各节点A、B,由节点A、B的制造者或管理者预先登记于设置于认证服务器S的访问信息存储部(访问信息存储单元)37。访问控制的登记信息是与节点A相关的“A read I write execute RBI, RB2”,与节点B相关的“B provide RBl,RB2”。在认证服务器S中,在从节点B取得访问控制的请求信息Pas、Pbs时,按照各节点A、B(使用访问信息生成单元36)求出访问控制的请求信 息Pas、Pbs与访问控制的登记信息的共用部分(积集合)。在上述的例中,来自节点A的访问控制的请求信息Pas是“Aread I write I executeRB1,RB2,RB3”,与节点A相关的访问控制的登记信息是“A read | write | execute RB1,RB2”,因此与节点A相关的共用部分是“A read I write | execute RB1,RB2,,。另外,来自节点B的访问控制的请求信息Pbs是“B provide RBl",与节点B相关的访问控制的登记信息是“Bprovide RB1,RB2”,因此与节点B相关的共用部分是“B provide RB1”。认证服务器S(访问信息生成单元36)将针对各节点A、B分别求出的共用部分作为访问控制的允许信息Psa、Psb。S卩,针对节点A的访问控制的允许信息Psa是“Aread I write | execute RBI, RB2”,针对节点B的访问控制的允许信息Psb是“B provideRBI”。如上所述,这些访问控制的允许信息Psa、Psb (使用密文生成单元34)被用作步骤P3、P4中的附加信息a、P,并且也被用作步骤P4 P6中。换句话说,认证服务器S分别将访问控制的允许信息Psa、Psb提交给各节点A、B。访问控制的允许信息Psa、Psb已被提交的各节点A、B中,能够仅进行在来自作为通信发起者的节点A的访问控制的请求信息中的、与来自作为通信的响应者的节点B的访问控制的请求信息对应的范围内的操作。这里,从认证服务器S向节点A提交的访问控制的允许信息Psa是“A read writeexecute RBI, RB2”,针对节点B的信息RBI、RB2请求读出、写入、执行的操作,但提交给节
点B的访问控制的允许信息Psb是“B provide RB1”,节点A从节点B能够享受的服务限于节点B提供的信息RBl。即,节点A能够进行仅针对节点B保存的信息RBl的读出、写入、执行的操作。在上述动作例中,生成访问控制的允许信息Psa、Psb作为认证服务器S从节点A、B接收到的访问控制的请求信息Pas、Pbs、和认证服务器S预先保存的访问控制的登记信息之间的共用部分(积集合),但也能进行合成(和集合)而不是共用部分。S卩,在使用积集合时,通过与节点A、B的请求信息相比加强限制而提供严格的策略,在使用和集合时,与节点A、B的请求信息相比减弱限制。然而,往往存在登记于认证服务器S的访问控制的登记信息被适当地更新,节点A、B中识别不出访问控制的登记信息被更新的情况。为了应对这样的情况,在认证服务器S中,在从节点A、B接收到的访问控制的请求信息未包含于访问控制的登记信息时,将访问控制的登记信息作为访问控制的允许信息,包含于针对节点A、B的附加信息a、P并发送给节点A、B。因此,在节点A、B中,能够接收作为访问控制的登记信息被登记于认证服务器S的新的访问控制的允许信息。此时,访问控制的允许信息被包含于节点A、B的密文中,并且被用于消息认证码的值的运算,访问控制的允许信息被节点A、B取得而不会被他人获知,并且利用消息认证码还能够确认正确性,因此节点A、B能够安全地取得访问控制的允许信息。并且,在该构成中,若在认证服务器S中变更访问控制的登记信息,则能够变更赋予给节点A、B的访问控制的允许信息,因此能够简单地进行访问控制的变更。如上述例子那样,来自节点A的访问控制的请求信息Pas是“Aread writeexecute RBI, RB2, RB3”,与节点A相关的访问控制的登 记信息是“A read writeexecute RBI, RB2”,因此相对于节点A的访问控制的允许信息Psa是“A read writeexecute RBI, RB2, RB3”。另外,来自从节点B的访问控制的请求信息Pbs是“B
provideRBl”,与节点B相关的访问控制的登记信息是“B provide RBI, RB2”,因此相对于节点B的访问控制的允许信息Psb是“B provide RBI, RB2”。此时,节点A能够针对节点B保存的信息RBI、RB2进行读出、写入、执行的操作。在认证服务器S中,考虑将使用访问控制的请求信息Psa、Psb与访问控制的登记信息的和集合作为提供给各节点A、B的访问控制的允许信息Psa、Psb的情况作为有效的例子,例如通过节点A能够进行针对全部信息的操作的情况。此时,在认证服务器S中若设定指定全部信息的通配符(*)(即,作为访问控制的登记信息设定“A read write I execute*”)作为针对节点A的访问控制的登记信息,贝Ij不管来自节点A的访问控制的请求信息Pas的内容,认证服务器S都将针对节点A的访问控制的允许信息Psa设为“A read write I execute*”,因此节点A能够进行针对其他节点提供的全部信息的操作。这里,若将访问控制的允许信息Psa设为访问控制的请求信息Pas与访问控制的登记信息的积集合时,为了指定信息使用通配符(*),则关于访问控制的请求信息Pas与访问控制的登记信息这两方,都需要使用通配符(*)。与此相对,通过使用上述那样的和集合,仅针对认证服务器S保存的访问控制的登记信息使用通配符(*),从而能够在针对节点A的访问控制的允许信息Psa中使用通配符(*)。但是,在使用和集合的情况下,节点A能够操作的信息也限于其他节点提供的范围内的信息。在上述动作例中,对在认证服务器S中将来自节点A、B的访问控制的请求信息Pas、Pbs、与认证服务器S保存的访问控制的登记信息的积集合或者和集合用于访问控制的允许信息Psa、Psb的例子进行说明,但也能够使用差集合。并且,能够使用多个种集合的组合,能够使用按照各节点A、B而不同的集合。能够任意地选择哪个集合作为哪个节点A、B的访问控制的允许信息Psa、Psb来使用。在上述动作例中,在步骤P1、P2中,在从节点A、B向认证服务器S发送的数据中包含访问控制的请求信息Pas、Pbs,但在步骤PU P2中节点A、B发送的数据中未包含访问控制的允许信息Psa、Psb时,在服务器S中,将访问控制的登记信息作为访问控制的允许信息Psa、Psb发送给各节点A、B。
此外,在本动作例中,各节点A、B在取得会话密钥Ks时取得访问控制的允许信息Psa、Psb,之后在进行使用会话密钥Ks的通信时,能够进行针对由访问控制的允许信息Psa、Psb指定的信息的操作。若需要在实施方式I中说明的附加信息a、P,则可以在访问控制的允许信息Psa、Psb的前后的任一个中附加附加信息a、0。其他构成以及动作与实施方式I相同。在本动作例中,在步骤P1、P2中即使从节点A、B向认证服务器S发送访问控制的请求信息Pas、Pbs作为附加信息,访问控制的允许信息Psa、Psb由于被加密而进行加密发送。此外,访问控制的请求信息Pas、Pbs如不是必须的,也可以不发送。以上所述的本实施方式的加密密钥发布系统采用的密钥发布方法是,在计算机通信系统内发布在由多个节点构成的组内的通信所使用的会话密钥的方法。这里,具有生成会话密钥的功能以及将会话密钥向组内的各节点发布的功 能的认证服务器与各节点共享密钥。上述密钥发布方法包括将组内的任一个节点的识别信息、该节点生成的随机数以及组内的其他节点的识别信息发送给认证服务器的步骤;认证服务器生成组内的各节点共用地使用的会话密钥的步骤;认证服务器将从第I节点取得的随机数、生成的会话密钥以及包含访问控制的允许信息的附加信息作为消息,使用各节点的密钥来计算消息认证码的值的步骤;认证服务器在使用各节点的密钥对至少从第I节点取得的随机数、生成的会话密钥以及访问控制的允许信息进行了加密的针对各节点的密文中,附加使用针对各节点的密钥而生成的消息认证码的值并发送给各节点的步骤;在上述组内的各节点中,通过对从认证服务器取得的被加密的数据进行解密而抽出会话密钥以及访问控制的允许信息的步骤;上述组内的各节点使用密钥与进行了解密的数据来计算上述消息认证码的值,在计算出的消息认证码的值与从认证服务器取得的消息认证码的值一致时,视为抽出的会话密钥认证被认证的步骤。为了实现上述密钥发布方法,本实施方式的加密密钥发布系统中第I附加信息a以及第2附加信息P是访问控制的允许信息。根据本实施方式的构成,除了附加信息包含访问控制的允许信息这一点之外与实施方式I的构成相同,实现相同的效果。这里,在作为背景的技术而说明的现有技术中,访问控制的允许信息未被加密地发送给节点,与此相对,将访问控制的允许信息包含于密文并进行发送,并且附加了消息认证码的值,因此能够防止访问控制的允许信息泄漏给他人,并且能够确认访问控制的允许信息的正确性。此外,认证服务器也可以在从节点接收到访问控制的请求信息时,对访问控制的请求信息与预先登记的访问控制的登记信息进行比较,在访问控制的请求信息未包含于访问控制的登记信息时,将访问控制的登记信息用于访问控制的允许信息,在包含访问控制的允许信息的密文附加消息认证码的值并发送给组内的各节点。即,认证服务器S (访问信息生成单元36)也可以构成为,在从第I节点A或者第2从节点B取得访问控制的请求信息时,对取得的访问控制的请求信息与预先登记的访问控制的登记信息进行比较,在取得的访问控制的请求信息未包含于访问控制的登记信息时,将访问控制的登记信息用作访问控制的允许信息。这样,在认证服务器中有访问控制的登记信息,来自节点的访问控制的请求信息中未包含访问控制的登记信息时,将访问控制的登记信息作为访问控制的允许信息,并且将访问控制的允许信息包含于密文,并且附加并发送消息认证码的值,若采用该构成,则在认证服务器中通过将访问控制的登记信息作为最新的登记信息,能够将节点中的访问控制的允许信息更新为最新的允许信息。换言之,在认证服务器中通过仅变更访问控制的登记信息就能够简单地变更访问控制的允许信息。另外,认证服务器S (访问信息生成单元36)也可构成为基于能够变更的访问控制的登记信息来生成访问控制的允许信息。另外,认证服务器S(访问信息生成单元36) 也可以构成为,在从节点接收访问控制的请求信息时,通过取得的访问控制的请求信息与预先登记的访问控制的登记信息的逻辑运算来生成访问控制的允许信息。这样,在认证服务器中具有访问控制的登记信息时,即使在节点中不变更访问控制的信息,通过仅在认证服务器中变更访问控制的登记信息,也能够简单地进行访问控制的变更。另外,若采用在认证服务器中具有访问控制的登记信息,并且通过来自节点的访问控制的请求信息与访问控制的登记信息的逻辑运算,计算访问控制的允许信息的技术,则即使在节点中不变更访问控制的信息,通过仅变更登记于认证服务器的访问控制的登记信息与认证服务器中的逻辑运算的内容中任一个,也能够简单地进行访问控制的变更。(实施方式3)如图7所示,本实施方式的加密密钥发布系统主要是具有对第I节点A与第2节点B之间的通信进行中继的代理节点C这点与实施方式2的加密密钥发布系统不同。在本实施方式中,节点构成为通过代理节点C间接地与其它节点进行通信。在本实施方式中,认证服务器S构成为向代理节点C发送访问控制的允许信息。代理节点C具备通信单元(第4通信单元)40、允许信息存储单元41、访问控制单元42。通信单元40构成为能够通过信息通信网与各节点A、B以及认证服务器S进行通信。允许信息存储单元41构成为对从认证服务器S取得的访问控制的允许信息进行存储。访问控制单元42构成为,参照允许信息存储单元41所存储的访问控制的允许信息,进行节点A、B间的访问控制。在本动作例中,对如实施方式2那样在节点A、B中进行访问控制,并且附加代理节点C时的动作例进行说明。代理节点C如图6所示,具有对作为通信发起者节点A和作为通信的响应者的节点B的通信进行中继的功能。换言之,节点A与节点B不直接进行通信,而经由代理节点C进行通信。另外,在图示例中,作为发起者的节点A即使在与认证服务器S的之间也不直接地进行通信,而代理节点C与认证服务器S进行通信。另一方面,作为响应者的节点B均直接与认证服务器S和代理节点C中任一个进行通信。参照图6,进一步进行具体说明。这里,在作为通信发起者的节点A向代理节点C发送访问控制的请求信息时,代理节点C访问认证服务器S(图6的箭头表示数据的发送)。在以下的动作例中,假设来自节点A的访问控制的请求信息是“Aread writeexecute RBI, RB2, RB3”,来自节点B的访问控制的请求信息是“B provide RB1”,来自代理节点C的访问控制的请求信息是“C read write execute !provide*”。另外,假设认证服务器S保存的访问控制的登记信息,针对节点A是“Areadwrite execute RBI, RB2”,针对节点 B 是“B provide RBI, RB2”,针对代理节点 C 是“C
read write execute I provide*”。并且,在认证服务器S中(访问信息生成单元36),分别生成针对各节点A、B及代理节点C的访问控制的允许信息作为各节点A、B和代理节点C的各自的访问控制的请求信息与访问控制的登记信息的共用部分(积集合)。图6的上部的8个箭头与下部的8个箭头分别与图4中的步骤Pl P8对应。SP,上部的8个箭头表示节点A、代理节点C及认证服务器S, 与图4中的节点A、节点B及认证服务器S的关系。另外,下部的8个箭头表示代理节点C、节点B及认证服务器S,与图4中的节点A、节点B及认证服务器S的关系。在图6所示的动作中,利用步骤P3从认证服务器S向代理节点C发送“Cprovide*”,利用步骤P4从代理节点C向节点A发送“Aread write | execute RBI, RB2”。另外,利用步骤P3从认证服务器S向节点B发送“B provide RB1”,利用步骤P4从节点B向代理节点 C 发送 C read write !execute*”。因此,如图6所示,针对节点A的访问控制的允许信息成为“Aread writeexecute RB1,RB2”,针对节点B的访问控制的允许信息成为“B provide RB1”,针对代理
节点C的访问控制的允许信息成为“C read write execute | provide*”(关于代理节点C,分开地记载读出、写入、执行、提供)。此外,也可以从认证服务器S向代理节点C利用步骤P3发送“C read write I execute*”,从节点B向代理节点C利用步骤P4发送“C provide*”。总之,最终针对代理节点C的访问控制的允许信息成为“C read writeexecute | provide氺,,即可。若在针对节点A、B与代理节点C赋予如上述那样的访问控制的允许信息,则代理节点C(访问控制单元42)(参照在允许信息存储单元41中存储的访问控制的允许信息)对从节点A向节点B的访问进行中继。换句话说,在节点A访问代理节点C时,代理节点C访问节点B,来自节点B的响应经由代理节点C被回送给节点A。这里,在代理节点C中没有访问限制,但从节点A对节点B的访问存在“A readwrite execute RBI,RB2”的限制,并且在节点B中,存在“B provide RB1”的限制,结果,
代理节点对从节点A向节点B的访问进行中继时,节点A只能访问节点B的信息RBl。这样,对代理节点C赋予访问控制的允许信息“C read write executeprovide*”,因此在节点A请求信息RBl的操作(读出、写入、执行)时,代理节点C收到针
对信息RBl的操作,代替节点A而是代理节点C请求针对节点B的信息RBl的操作,从而节点B基于访问控制的允许信息提供信息RBl。因此,代理节点C能够取得信息RBl。代理节点C取得的信息RBl被从代理节点C提供给节点A。另一方面,代理节点C在节点A请求信息RB2的操作时也向节点B进行该请求,但在针对节点B的访问控制的允许信息中不包含信息RB2的提供,因此不从节点B向代理节点C提供信息RB2,节点A不能进行信息RB2的操作。这里,在基于节点B的访问控制的请求信息是“B provide RB1,RB2”时,能够进行基于节点A的信息RB2的操作。同样地,在认证服务器S中,在不是使用访问控制的请求信息和访问控制的登记信息的共用部分(积集合)而是和集合作为访问控制的允许信息时,节点B也能够提供信息RB2。若除去设置代理节点C这一点,则其他构成以及动作与实施方式2相同。如上所述,在本实施方式的加密密钥发布系统中,采用设置对组内的节点间的通信进行中继的代理节点C,从认证服务器向代理节点发送访问控制的允许信息的构成。即,本实施方式的加密密钥发布系统,具有对第I节点A与第2节点B之间的通信进行中继的代理节点C。认证服务器S构成为向代理节点C发送访问控制的允许信息。代理节点C构成为基于从认证服务器S取得的访问控制的允许信息对第I节点A与第2节点B之间的通信进行中继。这样,在进行访问控制时,若使用代理节点, 则即使在节点中不变更访问控制的信息,仅在代理节点中变更与访问控制相关的信息,就能够简单地进行访问控制的变更。(实施方式4)本动作例,对针对多个节点设定组,按组别进行节点的访问控制的情况进行说明。为了简单地说明,如图8那样,4个节点A、B、D、E能够与代理节点C进行通信,与上述的实施方式3相同,使用具有密钥发布的功能的认证服务器S。图8所示的动作,从上开始的8个箭头分别与图4中的步骤Pl P8对应。另外,以下,对将节点A、B与节点D、E区分为不同的组的技术进行说明。这里,假设节点E与节点A同样地进行信息的请求,节点D与节点B同样地进行信息的提供的情况。需要将节点A、B、D、E区分为多个组是按信息的种类来设定标识符并且提供同种的信息的节点存在多个的情况。例如,将RBl这样的标识符与温度信息相关联,在节点B、D均能提供温度信息时,2个节点A、E请求针对信息RBl的操作时,在代理节点C中,无法区分节点B、D中的哪个请求针对信息RBl的操作。在这样的情况下,通过将节点A、B与节点D、E区分为不同的组,在节点A请求信息RBl时能够从节点B提供,在节点E请求信息RBl时能够从节点D提供。在本动作例中,如图9所示,在实施方式I中说明的步骤P3、P4中发送的附加信息中包含区分组的标识符。以下,将节点A、B与节点D、E设为不同的组,按照各组赋予Gl、G2作为组标识符。现在,在步骤P3、P4中,假设发送组标识符Gl作为附加信息。代理节点C按照从认证服务器S发布相同的会话密钥Ks的每个节点存储组标识符G1、G2,在代理节点C接收到的数据中所包含的组标识符Gl、G2与存储的组标识符Gl、G2不一致,或代理节点C接收到的数据中不包含组标识符Gl、G2时,不进行接收到的数据的中继。即,在本实施方式中,允许信息存储单元41构成为,按照从认证服务器S发布相同的会话密钥Ks的每个节点存储组标识符G1、G2。另外,访问控制单元42构成为,在通信单元40接收到的数据中所包含的组标识符G1、G2与允许信息存储单元41中所存储的组标识符Gl、G2不一致,或通信单元40接收到的数据中未包含组标识符Gl、G2时,不进行接收到的数据的中继。此外,一个节点属于多个组时,在步骤PU P2中使用组标识符,能够指定其属于哪个组。此时,在一个节点属于多个组时,通过在认证服务器S中生成访问控制的允许信息作为组标识符的和集合,代理节点C能够允许访问和集合所包含全部的组。例如,在节点A、B属于组I (组标识符Gl),节点D、E属于组2 (组标识符G2)时,在代理节点C中,在与节点A之间进行通信的步骤Pl时设定组标识符Gl,在与节点D之间进行通信的步骤P2时设定组标识符G2,在与节点B之间进行通信的步骤P3时设定组标识符G1,在与节点E之间进行通信的步骤P4时设定组标识符G2。代理节点C(访问控制单元42)具有与在哪个步骤中设定哪个组标识符建立关联的数据表(例如在允许信息存储单元41中),通过参照该数据表,决定是否在节点之间进行数据的中继。同样地,按照每个信息与组标识符进行关联,在取得信息的节点中,能够利用组标识符来选择信息。使用图8来说明本实施方式的动作例。在图8中,表示了节点A从节点B取得信息RB1,节点E从节点D取得信息RBl的例子。针对节 点A,在步骤P3中认证服务器S将“Cprovide*”发送给代理节点C,并且在步骤P4中,经由代理节点C将来自认证服务器S的“Aread write execute RB1”发送给节点A。另外,针对节点B,在步骤P3中认证服务器S将“B provide RB1”发送给节点B,并且在步骤P4中,经由节点B将来自认证服务器S的“C read write | execute*” 发送给代理节点 C。针对节点E,在步骤P3中认证服务器S将“C provide*"发送给代理节点C,并且在步骤P4中,经由代理节点C将来自认证服务器S的“E read write execute RB1”发送给节点E。另外,针对节点D,在步骤P3中认证服务器S将“D provide RB1”发送给节点D,并且在步骤P4中,经由节点D将来自认证服务器S的“ C read write !execute*”发送给代理节点C。在针对节点A、B、D、E与代理节点C,如上述那样赋予访问控制的允许信息时,代理节点C对从节点A向节点B的访问进行中继,对节点E向节点D的访问进行中继。换句话说,当节点A访问代理节点C时,代理节点C访问节点B,来自节点B的响应经由代理节点C被回送给节点A,另一方面节点E访问代理节点C时,代理节点C访问节点D,来自节点D的响应经由代理节点C被回送给节点E。这里,在代理节点C中与会话密钥关联地登记有组标识符,在节点A向信息RBl请求访问控制时,具有相同的组标识符Gl的节点B的信息RBl被回送给节点A。另外,节点E向信息RBl请求访问控制时,具有相同的组标识符G2的节点D的信息RBl被回送给节点E。其他构成以及动作与实施方式2相同。另外,图9所示的动作例虽与实施方式I中附加了选项的图3的动作例相对应,但也能够与不具有选项的图I的动作例相对应。如上所述,在本实施方式的密钥认证系统中,对节点赋予组标识符,在上述附加信息中包含组标识符,使用组标识符来进行访问控制。S卩,对各节点A、B、D、E赋予组标识符。另外,第I附加信息a以及第2附加信息^包含组标识符。并且,代理节点C(访问控制单元42)构成为使用组标识符来进行访问控制。这样,在进行访问控制的情况下,若使用组标识符,则能够通过组标识符来限制访问控制涉及的范围。换言之,能够通过组标识符来限制密文的到达范围。
权利要求
1.ー种加密密钥发布系统,其特征在于,具备 第I节点; 第2节点;以及 认证服务器,其生成在上述第I节点与上述第2节点之间的加密通信中所使用的会话密钥, 上述第I节点与上述认证服务器构成为,保存在上述第I节点与上述认证服务器之间的加密通信中所使用的第I密钥, 上述第2节点与上述认证服务器构成为,保存在上述第2节点与上述认证服务器之间的加密通信中所使用的第2密钥, 上述第I节点构成为,在向上述认证服务器请求发行上述会话密钥时生成第I生成随机数并发送给上述认证服务器, 上述第2节点构成为,在向上述认证服务器请求发行上述会话密钥时生成第2生成随机数并发送给上述认证服务器, 上述认证服务器构成为, 若取得上述第I随机数与上述第2随机数则新生成上述会话密钥, 使用第I消息与上述第I密钥来计算第I消息认证码的值,其中,该第I消息包含上述取得的第I随机数、上述新生成的会话密钥以及规定的第I附加信息, 使用上述第I密钥对上述取得的第I随机数、上述新生成的会话密钥以及上述第I附加信息进行加密来创建第I密文, 将上述第I密文与上述第I消息认证码的值发送给上述第I节点, 使用第2消息与上述第2密钥来计算第2消息认证码的值,其中,该第2消息包含上述取得的第2随机数、上述新生成的会话密钥以及规定的第2附加信息, 使用上述第2密钥对上述取得的第2随机数、上述新生成的会话密钥以及上述第2附加信息进行加密来创建第2密文, 将上述第2密文与上述第2消息认证码的值发送给上述第2节点, 上述第I节点构成为, 若取得上述第I密文以及上述第I消息认证码的值,则使用上述第I密钥对上述第I密文进行解密来取得上述会话密钥与上述第I附加信息, 使用上述第I节点存储的上述第I随机数、对上述第I密文进行解密而得到的上述会话密钥和上述第I附加信息、以及上述第I密钥来计算上述第I消息认证码的值, 通过判断上述第I节点计算出的上述第I消息认证码的值与从上述认证服务器取得的上述第I消息认证码的值是否一致,来进行从上述认证服务器取得的上述会话密钥的认证, 上述第2节点构成为, 若取得上述第2密文以及上述第2消息认证码的值,则使用上述第2密钥对上述第2密文进行解密来取得上述会话密钥与上述第2附加信息, 使用上述第2节点存储的上述第2随机数、对上述第2密文进行解密而得到的上述会话密钥和上述第2附加信息、以及上述第2密钥来计算上述第2消息认证码的值, 通过判断上述第2节点计算出的上述第2消息认证码的值与从上述认证服务器取得的上述第2消息认证码的值是否一致,来进行从上述认证服务器取得的上述会话密钥的认证。
2.根据权利要求I所述的加密密钥发布系统,其特征在干, 上述第I附加信息以及上述第2附加信息是访问控制的允许信息。
3.根据权利要求2所述的加密密钥发布系统,其特征在干, 上述认证服务器构成为, 若从上述第I节点或者上述第2节点取得访问控制的请求信息,则对取得的上述访问控制的请求信息与预先登记的访问控制的登记信息进行比较,在上述取得的访问控制的请求信息未被包含于上述访问控制的登记信息的情况下,使用上述访问控制的登记信息作为上述访问控制的允许信息。
4.根据权利要求2所述的加密密钥发布系统,其特征在干, 具有对上述第I节点与上述第2节点之间的通信进行中继的代理节点, 上述认证服务器构成为,向上述代理节点发送上述访问控制的允许信息, 上述代理节点构成为,基于从上述认证服务器取得的上述访问控制的允许信息来对上述第I节点与上述第2节点之间的通信进行中继。
5.根据权利要求4所述的加密密钥发布系统,其特征在干, 上述第I节点以及上述第2节点被赋予组标识符, 上述第I附加信息以及上述第2附加信息包含组标识符, 上述代理节点构成为,使用上述组标识符来进行访问控制。
6.根据权利要求2所述的加密密钥发布系统,其特征在干, 上述认证服务器构成为,基于能够变更的访问控制的登记信息来生成上述访问控制的允许信息。
7.根据权利要求2所述的加密密钥发布系统,其特征在干, 上述认证服务器构成为,若从上述第I节点或者上述第2节点接收到访问控制的请求信息,则通过取得的访问控制的请求信息与预先登记的访问控制的登记信息的逻辑运算,来生成上述访问控制的允许信息。
全文摘要
加密密钥发布系统具备节点(A)、节点(B)以及认证服务器(S)。认证服务器(S)若取得节点(A)生成的第1随机数与节点(B)生成的第2随机数,则生成会话密钥。认证服务器(S)向节点(A)发送第1消息认证码的值和使用第1密钥对第1随机数、会话密钥和第1附加信息进行加密而得到的第1密文。认证服务器(S)向节点(B)发送第2消息认证码的值和使用第2密钥对第2随机数、会话密钥以及第2附加信息进行加密而得到的第2密文。节点(A)使用第1密钥对第1密文进行解密来取得会话密钥与第1附加信息,另外使用第1消息认证码的值进行会话密钥的认证。节点(B)使用第2密钥对第2密文进行解密来取得会话密钥与第2附加信息,另外使用第2消息认证码的值来进行会话密钥的认证。
文档编号H04L9/32GK102804676SQ201080028210
公开日2012年11月28日 申请日期2010年6月23日 优先权日2009年6月23日
发明者福田尚弘 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1