JPWO2007138876A1 - 通信ノード認証システム及び方法、通信ノード認証プログラム - Google Patents

通信ノード認証システム及び方法、通信ノード認証プログラム Download PDF

Info

Publication number
JPWO2007138876A1
JPWO2007138876A1 JP2008517835A JP2008517835A JPWO2007138876A1 JP WO2007138876 A1 JPWO2007138876 A1 JP WO2007138876A1 JP 2008517835 A JP2008517835 A JP 2008517835A JP 2008517835 A JP2008517835 A JP 2008517835A JP WO2007138876 A1 JPWO2007138876 A1 JP WO2007138876A1
Authority
JP
Japan
Prior art keywords
communication node
communication
authentication
authentication message
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2008517835A
Other languages
English (en)
Inventor
潤 野田
潤 野田
田口 大悟
大悟 田口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2007138876A1 publication Critical patent/JPWO2007138876A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】通信ノードが通信を行う際に、自ノードと通信相手となる他の通信ノードとが、お互いに正しい通信ノードであることをより確実に確認することができる。【解決手段】第1の通信ノードから第2の通信ノードへの送信する接続要求メッセージに応えて、第2の通信ノードが生成し、第1の通信ノードへ返送する第1認証メッセージに含まれる第1の通信識別子と、第1の通信ノードが保持する認証子データと、第1の通信ノードで生成する第2の通信識別子とをもとに演算を実施し、生成の度にメッセージが異なり、かつ、認証子データから容易に生成できるメッセージで、かつ、前記第1認証メッセージに対応して生成されたことが識別でき、かつ、該メッセージから認証子データを導出、類推することが容易でないようなメッセージを生成する。前記第2認証メッセージを検証する。【選択図】 図1

Description

本発明は、通信ノード間の接続可否を認証する通信ノード認証装置及び方法、通信ノード認証プログラムに関し、特に、電池など有限の電源リソースで長時間稼働される無線通信ノードにおける通信ノード認証システム及び方法、通信ノード認証プログラムに関する。
関連する通信ノード認証方法の一例が、特許文献1に記載されている。特許文献1に記載されている通信ノード認証方法は、通信が可能な少なくとも1つの機器と、前記機器を制御するホームサーバとから構成されたホームネットワークにおいて、ホームサーバが管理している機器の固有情報と、前記固有情報を利用して生成した認証値とから認証キーを前記ホームサーバで生成し、前記生成された認証キーを機器の固有情報と共に前記機器に伝送するステップと、前記機器から伝送された値を認証値と比較するステップと、前記機器から伝送された値が認証値と一致する場合に、伝送元の機器をホームサーバで認証するステップとからなる。
また、特許文献1には、ホームネットワークを構成している機器が、ホームサーバに要請して認証を受ける認証方法として、ホームサーバから伝送された情報から抽出した認証キーと、前記機器が管理している固有情報とに基づいて認証値を生成するステップと、前記生成した認証値をホームサーバに伝送し、前記ホームサーバから認証結果に対する情報を受信するステップとからなる認証方法も開示されている。
このような通信ノード認証方法が適用された通信ノードは、次のように動作する。図20に示すように、ステップS500において、ホームサーバは、ホームネットワークを構成している機器に対する情報として、各機器に対するグループ識別子,機器識別子,アドレス情報及び機器秘密キーなどの情報を、各機器と共有する。ホームサーバは、共有した情報を利用して、該当する機器に対する機器秘密キーとアドレス情報とを認知する。なお、グループ識別子は、機器の環境,位置,機能などを考慮して設定される。
ステップS502において、ホームサーバは、認知した機器秘密キー及びアドレス情報と機器の認証値とを利用して、該当する機器に対する認証キーを生成する。ここに、前記機器の認証値は、ホームネットワークを構成している機器をグループ別に管理するため、1つのグループに対して1つ生成される値、または、各機器に対して固有に生成される値を意味する。また、前記認証キーは、例えば、機器秘密キー,機器認証値,アドレス情報を利用して、排他的論理和演算を行うことによって生成される。
ステップS504において、ホームサーバは、認証キーメッセージを生成する。認証キーメッセージは、グループ識別子,機器識別子,機器認証キー(認証キー),ランダム情報などから構成される。ステップS506において、ホームサーバは、生成した認証キーメッセージを該当する機器に伝送する。なお、認証キーメッセージは、機器に対して認証を要求するメッセージの役割も行うため、認証要請メッセージ(Authentication Request Message)と称することもある。
ステップS508において、前記機器は、受信した認証要請メッセージと、機器内部または外部に備える所定の記憶装置に格納して自ら管理している機器秘密キーとアドレス情報とを利用して、自分に割り当てられた機器認証キーを生成する。
ステップS510において、前記機器は、生成した機器認証キーと、認証に関連した情報とを利用して、ハッシュ演算を行うことにより、認証値を生成する。ここに、認証に関連した情報とは、ホームサーバと機器とが相互に共有する情報、例えば、アドレス情報,機器秘密キー,ランダム情報を意味する。ステップS512において、前記機器は、生成した認証値を認証メッセージ(Authentication Message)に含めて前記ホームサーバに伝送する。
ステップS514において、ホームサーバは、伝送された認証値と、ホームサーバ内部または外部に備える記憶装置内に格納し自ら管理している該当の機器に対する情報とを利用して、生成した該当の機器に対する認証値とを比較する。比較の結果、双方の値が一致すると、認証が成功したことを意味し、双方の値が一致しないと、認証が失敗したことを意味する。ステップS516において、ホームサーバは、認証結果に対する情報を認証結果メッセージ(Authentication Result Message)に含めて該当の機器に伝送する。
特開2005−196790号公報(段落0040−0043、図5)
しかしながら、特許文献1に記載されている通信ノード認証方法のように、ある通信ノードB(前記機器に相当する)が、他の通信ノードA(前記ホームサーバに相当する)からの認証要請メッセージに応答して、被認証処理を行うことによって、接続が許可されるような片方向の認証方法では、認証要請メッセージを発した通信ノードAが正しい通信ノードか否かを確認できない。したがって、通信ノードBが、不正な通信ノードAからの認証要請メッセージに応答して、不正な通信ノードAとの接続が許可されることにより、通信ノードBから不正な通信ノードAに情報が流出してしまうという可能性がある。
仮に、通信ノードBも、認証要請元である通信ノードAに対して同様の認証シーケンスを行ったとしても、双方向に行われる2つの認証シーケンスの間に連続性を保証できなければ、なりすまし等による攻撃に対抗できない。
本発明の目的は、通信ノードが通信を行う際に、自ノードと通信相手となる他の通信ノードとが、お互いに正しい通信ノードであることをより確実に確認することができる通信ノード認証装置及び方法、通信ノード認証プログラムを提供することにある。
また、本発明は、電池などの有限の電源リソースで長時間稼働されるような無線通信ノードにも適用可能なように、電源リソースの消費を押さえた相互認証を実現することを目的とする。
前記目的を達成するため、本発明に係る通信ノード認証システムは、相互に通信を行う一方を発信側通信ノードとし、他方を着信側通信ノードとし、認証を行った後に通信ノード相互間で通信を開始する通信ノード認証システムであって、
前記着信側通信ノードは、
前記発信側通信ノードから送信される接続要求メッセージに応答して第1認証メッセージを生成する第1認証メッセージ生成手段と、
前記発信側通信ノードから送信される第2認証メッセージの検証を行う第2認証メッセージ検証手段とを含み、
前記発信側通信ノードは、
前記着信側通信ノードから送信される前記第1認証メッセージの検証を行う第1認証メッセージ検証手段と、
前記第1認証メッセージ検証手段による検証結果に基づいて前記第2認証メッセージを生成する第2認証メッセージ生成手段とを含むことを特徴とするものである。
以上の説明では、本発明を通信ノードシステムとして構築したが、これに限られるものではない。本発明は、通信ノードシステムに用いる通信ノード認証装置、通信ノード認証方法、通信ノード認証プログラムとして構築してもよいものである。
本発明に係る通信ノード認証装置は、認証を行った後に通信ノード相互間で通信を開始する通信ノード認証システムに用いる通信ノード認証装置であって、
発信側となる通信ノードから送信される接続要求メッセージに応答して第1認証メッセージを生成する第1認証メッセージ生成手段と、
前記発信側となる通信ノードから送信される第2認証メッセージの検証を行う第2認証メッセージ検証手段とを含むことを特徴とするものである。
本発明に係る通信ノード認証装置は、認証を行った後に通信ノード相互間で通信を開始する通信ノード認証システムに用いる通信ノード認証装置であって、
着信側となる通信ノードから送信される前記第1認証メッセージの検証を行う第1認証メッセージ検証手段と、
前記第1認証メッセージ検証手段による検証結果に基づいて、発信側通信ノードを認証するための第2認証メッセージを生成する第2認証メッセージ生成手段とを含むことを特徴とするものである。
本発明に係る通信ノード認証方法は、相互に通信を行う一方を発信側通信ノードとし、他方を着信側通信ノードとし、認証を行った後に通信ノード相互間で通信を開始する通信ノード認証方法であって、
前記着信側通信ノードにおいて、前記発信側通信ノードから送信される接続要求メッセージに応答して第1認証メッセージを生成する処理を実行し、
前記発信側通信ノードにおいて、前記着信側通信ノードから送信される前記第1認証メッセージの検証を行う処理と、前記第1認証メッセージの検証結果に基づいて第2認証メッセージを生成する処理とを実行し、
前記着信側通信ノードにおいて、前記発信側通信ノードから送信される第2認証メッセージの検証を行う処理を実行することを特徴とするものである。
本発明に係る通信ノード認証プログラムは、相互に通信を行う一方を発信側通信ノードとし、他方を着信側通信ノードとし、認証を行った後に通信ノード相互間で通信を開始する通信ノード認証プログラムであって、
前記着信側通信ノードを構成するコンピュータに、
前記発信側通信ノードから送信される接続要求メッセージに応答して第1認証メッセージを生成する機能と、
前記発信側通信ノードから送信される第2認証メッセージの検証を行う機能とを実行させ、
前記発信側通信ノードを構成するコンピュータに、
前記着信側通信ノードから送信される前記第1認証メッセージの検証を行う機能と、
前記第1認証メッセージの検証結果に基づいて前記第2認証メッセージを生成する機能とを実行させることを特徴とするものである。
本発明によれば、接続を要求される第2の通信ノードによって生成される第1認証メッセージに含ませる第1の通信識別子を利用して、第2認証メッセージ生成手段が第2認証メッセージを生成し、第2認証メッセージ検証手段が受信した第2認証メッセージが第1認証メッセージに対応するメッセージであるかを検証しつつ、第1の通信ノードを認証するので、例えば、不正な通信ノードからの接続要求に応答して、不正な通信ノードに接続してしまうことを防ぐことができ、不正な通信ノードに情報が流出してしまう危険性をなくすことができる。
特に、電池などの有限の電源リソースで長時間稼働されるような無線通信ノードにおいては、電池寿命を延長できる効果がある。その理由は、認証のために通信ノード間で通信するデータ量の削減と、データ演算量の削減とにより、認証処理に必要な電力量を減らすことができるからである。
特に多数のセンサを配置し、センシング情報を収集するような無線センサネットワークを構成する無線通信ノードにも適用可能なように、認証のために各無線通信ノードに恒常的に保持しておく情報量を削減することができる。その理由は、認証相手の通信ノード毎に別の情報を保持する必要がなく、多数の通信ノードと認証する場合であっても、恒常的に保持しておく情報が増大しないからである。
(実施形態1)
以下、本発明の実施の形態を図面を参照して説明する。
本発明の実施形態1は、相互に通信を行う一方を発信側通信ノードとし、他方を着信側通信ノードとし、認証を行った後に通信を開始する通信ノード認証システムである。本発明の実施形態1に係る通信ノード認証システムに用いられる通信ノードは図1に示すように、それぞれ通信ノード認証装置10及びメッセージ通信装置20を有している。
メッセージ通信装置20は図1に示すように、通信ノード認証装置10とのインタフェースを持ち、他の通信ノードとの間に通信を行い、様々なメッセージを送受信する。図1では、通信ノード認証装置10の左右にメッセージ通信装置20をそれぞれ分離して図示してあるが、これらのメッセージ通信装置20は、1台のメッセージ通信装置であって、右側のメッセージ通信装置20は、接続要求を含む情報を他の通信ノードに向けて送信する機能を担当するものとして図示しており、左側のメッセージ通信装置20は、他の通信ノードから送信された接続要求を含む情報を受信する機能を担当するものとして図示している。
前記通信ノード認証装置10は、本発明の実施形態1における特徴である装置であって、図1に示す本発明の実施形態1に係る通信ノード認証装置10は、接続要求メッセージ生成部101と、第1認証メッセージ生成部102と、第1認証メッセージ検証部103と、第2認証メッセージ生成部104と、第2認証メッセージ検証部105と、接続許可メッセージ生成部106と、接続手続部107と、認証子データ記憶部108と、演算器109と、通信識別子記憶部110とを含んでいる。なお、図1に示す通信ノード認証装置10は、発信側通信ノードの機能と、着信側通信ノードの機能とを兼ね備えている構成である。
通信ノード認証装置10は、相互に通信を行うそれぞれの通信ノードに組み込まれるものであって、図1では、通信ノード認証装置10が組み込まれる1台の通信ノードを図示しているが、図1に示す通信ノードと相互に通信を行う他の通信ノードにも同様に図1に示す通信ノード認証装置10が組み込まれる。図2は、図1に示す通信ノード認証装置10を発信側通信ノード認証装置(発信側通信ノード)と着信側通信ノード(着信側通信ノード)とに機能分けして図示している。
接続要求メッセージ生成部101は図2に示すように、図1に示す通信ノードが発信側通信ノードとして機能する際に起動するものであって、他の通信ノードに対して接続を要求するための接続要求メッセージを生成し、その生成した接続要求メッセージをメッセージ通信装置20に送信する。
第1認証メッセージ生成部102は図2に示すように、図1に示す通信ノードが着信側通信ノードとして機能する際に起動するものであって、図示しない他の通信ノード(発信側通信ノード)が送信してメッセージ通信装置20が受信した前記発信側通信ノードからの接続要求メッセージを受けて、第1認証メッセージを生成する。ここで、第1認証メッセージとは、発信側通信ノードからの接続要求を受信した着信側通信ノードが発信側通信ノードに対する正規の接続相手であるか否かを、前記発信側通信ノードに確認させるために、着信側通信ノードの前記第1認証メッセージ生成部102が生成する情報を意味する。
第1認証メッセージ検証部103は図2に示すように、図1に示す通信ノードが発信側通信ノードとして機能する際に起動するものであって、図示しない他の通信ノード(着信側通信ノード)が送信してメッセージ通信装置20が受信した第1認証メッセージを受けて、その第1認証メッセージを検証する。ここで、第1認証メッセージ検証部103が受ける第1認証メッセージは、図示しない着信側通信ノードの第1認証メッセージ生成部102が生成する第1認証メッセージである。
第2認証メッセージ生成部104は図2に示すように、図1に示す通信ノードが発信側通信ノードとして機能する際に起動するものであって、図示しない着信側通信ノードから送信されてメッセージ通信装置20が受信した前記第1認証メッセージに対して発信側通信ノードの第1認証メッセージ検証部103が検証に成功した場合に、第2認証メッセージを生成する。前記第1認証メッセージ検証部103が検証に成功した場合とは、前記第1認証メッセージを送信した前記着信側通信ノードが正規の接続相手としての着信側通信ノードであることを検証した場合を意味する。第2認証メッセージ生成部104が生成する前記第2認証メッセージとは、前記着信側通信ノードに、前記第2認証メッセージを送信した前記発信側通信ノードが正規の接続相手であるか否かを確認させるための情報であるとともに、一連の認証シーケンスにおいて前記着信側通信ノードによって生成された第1認証メッセージの送信相手であるか否かを発信側通信モード自身に確認させるための情報である。
第2認証メッセージ検証部105は図2に示すように、図1に示す通信ノードが着信側通信ノードとして機能する際に起動するものであって、図示しない発信側通信ノードが送信した前記第2認証メッセージを受けて、その第2認証メッセージを検証する。第2認証メッセージ検証部105は、前記第2認証メッセージを送信した前記発信側通信ノードが正規の接続相手としての発信側通信ノードであることを検証した場合、その旨を接続許可メッセージ生成部106及び接続手続部107にそれぞれ送信する。
なお、第1認証メッセージ生成部102による第1認証メッセージの生成、第2認証メッセージ生成部104による第2認証メッセージの生成、第1認証メッセージ検証部103による第1認証メッセージの検証、及び第2認証メッセージ検証部105による第2認証メッセージの検証については、後述する。
接続許可メッセージ生成部106は図2に示すように、図1に示す通信ノードが着信側通信ノードとして機能する際に起動するものであって、第2認証メッセージ検証部105が第2認証メッセージの検証に成功した旨の通知を受けると、前記発信側通信ノードに向けて接続を許可することを知らせるための接続許可メッセージを生成する。
接続手続部107は図2に示すように、図1に示す通信ノードが発信側通信ノードとして機能する場合、図示しない着信側通信ノードの接続許可メッセージ生成部106から送信される接続許可メッセージを受け取ると、通信相手となる図示しない着信側通信ノードとの接続手続を開始する。また、接続手続部107は図2に示すように、図1に示す通信ノードが着信側通信ノードとして機能する場合、或いは第2認証メッセージ検証部105が第2認証メッセージの検証に成功した場合、図示しない発信側通信ノードとの接続手続を開始する。
認証子データ記憶部108は、特定の通信ノードの正当性を認証(保証)するための情報である認証子データを記憶する。なお、発信側通信ノード及び着信側通信ノードの認証子データ記憶部108は、それぞれ同一の認証子データを記憶しているものとする。前記認証子データは、認証子データ記憶部108に通信システム管理者によって設定登録され、相互に通信を行うすべての通信ノードの認証子データ記憶部108に記憶されて共有される。なお、認証子データ記憶部108に記憶される認証子データは、着信側通信ノードにおいて、第1認証メッセージの生成および第2認証メッセージの検証に用いられ、発信側通信ノードにおいて、第1認証メッセージの検証および第2認証メッセージの生成に用いられる。
演算器109は、第1認証メッセージの生成や検証、および第2認証メッセージの生成や検証を実施するために、データ演算、比較、および通信識別子の生成を行う。ここで、通信識別子とは、第1認証メッセージまたは第2認証メッセージと、他の第1認証メッセージまたは第2認証メッセージとを区別するための情報であって、第1認証メッセージまたは第2認証メッセージを生成する度に生成され、一連の認証シーケンス(具体的には、第1認証メッセージと第2認証メッセージ)に対応づけられる値である。従って、少なくとも通信システムが正当に動作することを期待する期間において再現性の無い値であることが望ましい。なお、「再現性の無い」という性質が、ビット数の制限等で実現不可能な場合には、繰り返し同じ値を用いざるを得ないが、通信に悪意で侵入する攻撃者に解読されないように工夫する必要がある。最も簡単には、十分大きなビット数を利用し、増算/減算カウンタを用いる方法がある。このような場合には、ある周期を経過すれば同じ値が利用されるが、利用状況によってその周期を大きな値(例えば、1ヶ月、1年)とすることで、なりすまし等による攻撃をしにくくする。また、十分大きなビット数が利用できなかったり、通信回数が多く、周期が短くなる場合には、攻撃できるタイミングをわかりにくくするため、乱数を用いてもよい。なお、着信側通信ノードでは、第1認証メッセージに紐付ける(対応づける)第1通信識別子を生成し、発信側通信ノードでは、第2認証メッセージに紐付ける(対応づける)第2通信識別子を生成する。
演算器109は、連結演算器1091と、ハッシュ演算器1092と、比較器1093と、乱数生成器1094とを含んでいる。
演算器109の連結演算器1091は、通信識別子と認証子データとの連結演算を行う。ハッシュ演算器1092は、前記連結演算器1091で連結演算された連結結果に対してハッシュ演算を行う。比較器1093は、受信した第1認証メッセージから切り出した第1検証値と、演算して得られた第1検証値とを比較する。着信側通信ノードの乱数生成器1094は第1通信識別子を生成する。発信側通信ノードの乱数生成器1094は第2通信識別子を生成する。
通信識別子記憶部110は、演算器109の乱数生成器1094で生成した自ノードの通信識別子を記憶する。なお、本発明の実施形態では、通信識別子記憶部110は、少なくとも着信側通信ノードにおいて、自ノードで生成した第1通信識別子を記憶する。
図1に示す構成では、第1認証メッセージ生成部101,第1認証メッセージ検証部102,第2認証メッセージ生成部103,第2認証メッセージ検証部104,接続要求メッセージ生成部105,接続許可メッセージ生成部106及び接続手続部107は、ハードウェアとしての構成として構築したが、これに限られるものではない。通信ノード認証装置10に組み込まれた、第1認証メッセージ生成部101,第1認証メッセージ検証部102,第2認証メッセージ生成部103,第2認証メッセージ検証部104,接続要求メッセージ生成部105,接続許可メッセージ生成部106及び接続手続部107の機能をコンピュータ上で実行させるプログラムとして構成してもよいものである。
また、認証子データ記憶部108,通信識別子記憶部110は、例えば、通信ノード認証装置10が備える記憶装置によって実現してもよいものである。また、演算器109は、通信ノード認証装置10が備える各種演算回路、およびプログラムに従って動作するマイクロプロセッサ等によって実現してもよいものである。
また、通信ノード認証装置10は、発信側通信ノードとして機能する際に、接続要求メッセージ生成部101と、第1認証メッセージ検証部103と、第2認証メッセージ生成部104及び接続手続部107とが必要となる。通信認証装置10は、着信側通信ノードとして機能する際に、第1認証メッセージ生成部102と、第2認証メッセージ検証部105と、接続許可メッセージ生成部106及び接続手続部107とが必要となる。図1に示す通信ノード認証装置10は、発信側通信ノードと着信側通信ノードとの両機能を実行する構成として構築したが、これに限られるものでなく、図3に示す構成として構築してもよいものである。
すなわち、図3に示す発信側通信ノードに組み込む通信ノード認証装置10Aは、接続要求メッセージ生成部101と、第1認証メッセージ検証部103と、第2認証メッセージ生成部104と、接続手続部107とを含んでいる。図3に示す着信側通信ノードに組み込む通信ノード認証装置10Bは、第1認証メッセージ生成部102と、第2認証メッセージ検証部105と、接続許可メッセージ生成部106と、接続手続部107とを含んでいる。
図3では、発信側通信ノードの通信ノード認証装置10Aと着信側通信ノードの通信認証装置10Bとを区別するため、各構成に付する符号を異ならせている。すなわち、発信側通信ノードに組み込む通信ノード認証装置10は、接続要求メッセージ生成部101Aと、第1認証メッセージ検証部103Aと、第2認証メッセージ生成部104Aと、接続手続部107Aとを含んでいる。図3における、接続要求メッセージ生成部101Aと、第1認証メッセージ検証部103Aと、第2認証メッセージ生成部104Aと、接続手続部107Aとは、図1における、接続要求メッセージ生成部101と、第1認証メッセージ検証部103と、第2認証メッセージ生成部104と、接続手続部107とにそれぞれ相当する。
図3に示す着信側通信ノードに組み込む通信ノード認証装置10Bは、第1認証メッセージ生成部102Bと、第2認証メッセージ検証部105Bと、接続許可メッセージ生成部106Bと、接続手続部107Bとを含んでいる。図3における、第1認証メッセージ生成部102Bと、第2認証メッセージ検証部105Bと、接続許可メッセージ生成部106Bと、接続手続部107Bとは、図1における、第1認証メッセージ生成部102と、第2認証メッセージ検証部105と、接続許可メッセージ生成部106と、接続手続部107とにそれぞれ相当する。
さらに、図3に示す発信側通信ノードに組み込まれる通信ノード認証装置10Aは、演算器109Aと、認証子記憶部108Aとを含んでいる。図3の演算器109Aと認証子記憶部108Aとは、図1における演算器109と認証子記憶部108とにそれぞれ相当する。図3に示す着信側通信ノードに組み込まれる通信ノード認証装置10Bは、認証子記憶部108Bと通信識別子記憶部110Bとを含んでいる。図3の認証子記憶部108Bと通信識別子記憶部110Bとは、図1の認証子記憶部108と通信識別子記憶部110とにそれぞれ相当する。
次に、本発明の実施形態1に係る通信ノード認証システムを用いて通信認証方法を実行する場合の動作を図4に基づいて説明する。以下の説明では、図3に示す構成の発信側通信ノードと着信側通信ノードとを組み合わせた通信ノード認証システムを用いて通信ノード認証方法を実行する場合の動作について説明するが、図1及び図2に示す構成の発信側通信ノードと着信側通信ノードとを組み合わせた通信ノード認証システムを用いて通信認証方法を実行する場合の動作も同様に動作する。
発信側通信ノードの通信ノード認証装置10Aに外部から接続指示の指令が入力する。接続要求メッセージ生成部101Aは、前記外部指令を受け取ると、接続要求メッセージを生成する(図4のステップS510)。接続要求メッセージを生成する際、接続要求メッセージ生成部101Aは、少なくとも、発信側通信ノード(A)から着信側通信ノード(B)へ向けた接続要求であることがわかる情報を含む接続要求メッセージを生成する。
発信側通信ノードのメッセージ通信装置20は、前記接続要求メッセージ生成部101Aから送信される接続要求を着信側通信ノードに向けて送信する(図4のステップS511)。
着信側通信ノードは、発信側通信ノードからの接続要求メッセージを受信するために待機している(図4のステップS520)。
着信側通信ノードは、発信側通信ノードから接続要求メッセージが送信されると、その送信された接続要求メッセージをメッセージ通信装置20で受信し、その受信した接続要求メッセージを通信ノード認証装置10Bに受け渡す(図4のステップS521)。
通信ノード認証装置10Bの第1認証メッセージ生成部102Bは、前記受信した接続要求メッセージを受け取ると、第1認証メッセージを生成し(図4のステップS522)、その第1認証メッセージをメッセージ通信装置20に送信する。前記メッセージ通信装置20は、第1認証メッセージ生成部102Bから受け取った第1認証メッセージを発信側通信ノードに向けて送信する(図4のステップS523)。
前記第1認証メッセージ生成部102Bが生成する第1認証メッセージは、少なくとも、発信側通信ノードからの接続要求を受信した着信側通信ノードが正規の接続相手であるか否かを確認するに必要な情報と、第1通信識別子と、第1認証メッセージを検証するための第1検証値とを含むメッセージである。なお、第1通信識別子は、例えば、第認証メッセージ生成部102Bが第1認証メッセージを生成する度に変化する値であって、乱数生成器、疑似乱数生成器、増算カウンタ、減算カウンタなどで生成される値である。また、第1検証値は、認証子データと第1通信識別子とに基づいて、第1演算を実施して得られる値である。ここで、第1演算は、認証子データと第1通信識別子とから第1検証値が容易に生成でき、かつ、生成した第1検証値と認証子データを除く演算に用いた情報(第1通信識別子)とから、認証子データを導出、推測することが容易でない性質を持つ演算(例えば、一方向性関数を用いた演算)であることを要する。なお、第1認証メッセージの生成、検証動作について、具体的な動作例は後述する。
発信側通信ノードは、接続要求を送信した後、着信側通信ノードから送信される第1認証メッセージを受信する状態で待機する(図4のステップS512)。
発信側通信ノードは、着信側通信ノードからの第1認証メッセージをメッセージ通信装置10で受信すると、その受信した第1認証メッセージを通信ノード認識装置10Aに受け渡す(図4のステップS513)。
メッセージ通信装置10から第1認証メッセージを受け取ると、通信ノード認識装置10Aの第1認証メッセージ検証部103Aは、受信した第1認証メッセージに含まれる値(第1通信識別子)と、認証子データ記憶部108Aに記憶されている認証子データとから、予め定められた第1演算を実施し、その結果で得られた値と、受信した第1認証メッセージに含まれる値(第1検証値)とを比較することによって、第1認証メッセージの検証を行う(図4のステップS514)。ここで、第1認証メッセージ検証部102Aが行った第1演算の結果と、受信した第1認証メッセージに含まれる第1検証値とが一致した場合には、第1認証メッセージ検証部103Aは検証成功として判定し、一致しなかった場合には、第1認証メッセージ検証部103Aは検証失敗と判定する。なお、第1演算は、通信システム管理者によって設定登録される等によって、本発明の実施形態を適用する全通信ノードに共有されているものとする。
上述したように、着信側通信ノードBから第1認証メッセージを受信した場合(図4のステップS513)、通信ノード認証装置10Aの第1認証メッセージ検証部103Aは、第1認証メッセージを検証する(ステップS514)。しかし、発信側通信ノードAが、例えば所定の時間以内に着信側通信ノードBから第1認証メッセージを受信しない場合には、発信側通信ノードAの接続要求メッセージ生成部101Aは、新たに接続要求メッセージを送信してもよいし、発信側通信ノードAの第1認証メッセージ検証部103Aは、接続失敗として接続処理を終了してもよい。
発信側通信ノードの第1認証メッセージ検証部103Aが着信側通信ノードから送信される第1認証メッセージの検証に成功した場合、第2認証メッセージ生成部104Aは、第1認証メッセージ検証部103Aから送信される検証成功の通知に基づいて、第2認証メッセージを生成する(図4のステップS515)。第2認証メッセージ生成部104Aは、生成した第2認証メッセージをメッセージ通信装置10に送信する。
前記第2認証メッセージは、少なくとも、第2認証メッセージを送信した発信側通信ノードが最初に接続要求を送信した通信ノードであることがわかる情報と、第2通信識別子と、第2認証メッセージを検証するための第2検証値とを含むメッセージである。なお、第2通信識別子は、例えば、第2認証メッセージ生成部104Aが第2認証メッセージを生成する度に変化する値であって、乱数生成器、疑似乱数生成器、増算カウンタ、減算カウンタなどで生成される値である。また、第2検証値は、認証子データと第2通信識別子と第1通信識別子とに基づいて、第2演算を実施して得られる値である。ここで、第2演算は、第1演算と同様、認証子データと第1通信識別子と第2通信識別子とから第2検証値が容易に生成でき、かつ、生成した第2検証値と認証子データを除く演算に用いた情報(第1通信識別子と第2通信識別子)とから、認証子データを導出、推測することが容易でない性質を持つ演算であることを要する。なお、第2演算に用いる第1通信識別子は、ステップS514において検証に成功した第1認証メッセージに含まれる第1通信識別子である。
第2認証メッセージ生成部104Aは、例えば、演算器109Aを用いて第2通信識別子を生成し、生成した第2通信識別子と、受信した第1認証メッセージに含まれる第1通信識別子と、認証子データ記憶部108Aに記憶している認証子データとをもとに、予め定められた第2演算を実施して第2検証値を生成する。第2認証メッセージ生成部104Aは、第2認証メッセージを送信した発信側通信ノードが最初に接続要求を送信した通信ノードであることを示す情報と、生成した第2通信識別子と、生成した第2検証値とを含む第2認証メッセージを生成する。なお、第2認証メッセージの生成、検証動作についても、具体的な動作例は後述する。
発信側通信ノードのメッセージ通信装置20は、第2認証メッセージ生成部104Aから第2認証メッセージを受け取ると、その第2認証メッセージを着信側通信ノードBに送信する(図4のステップS516)。
着信側通信ノードの通信ノード認識装置10Bは、第1認証メッセージを送信した後、発信側通信ノードから送信される第2認証メッセージを受信する状態で待機する(図4のステップS524)。
着信側通信ノードのメッセージ通信装置20が、発信側通信ノードからの第2認証メッセージを受信すると(図4のステップS525)、その受信した第2認証メッセージを通信ノード認証装置10Bに受け渡す。
通信ノード認証装置10Bの第2認証メッセージ検証部105Bは、メッセージ通信装置20が受信した第2認証メッセージを受け取ると、第2認証メッセージに対して検証を行う(図4のステップS526)。
具体的に説明すると、第2認証メッセージ検証部104Bは、受信した第2認証メッセージに含まれる値(第2通信識別子)と、認証子データ記憶部108Bに記憶している認証子データと、通信識別子記憶部110Bに記憶している第1通信識別子とから、予め定められた第2演算を実施し、その結果得られた値と、受信した第2認証メッセージに含まれる値(第2検証値)とを比較することによって第2認証メッセージの検証を行う。第2認証メッセージ検証部105Bは、第2認証メッセージ検証部104Bが行った第2演算の結果と、受信した第2認証メッセージに含まれる第2検証値とが一致した場合に検証成功と判定し、一致しなかった場合に検証失敗と判定する。なお、第2演算も、通信システム管理者によって設定登録される等によって、本発明の実施形態に用いられる全通信ノードに共有されているものとする。
第2認証メッセージの検証に成功した場合、接続許可メッセージ生成部106Bは、第2認証メッセージ検証部104Bからの検証成功の結果を受け取ると、接続許可メッセージを生成し(図4のステップS527)、その接続許可メッセージをメッセージ通信装置20及び接続手続部107Bに向けて送信する。
メッセージ通信装置20は、接続許可メッセージ生成部106Bから接続許可メッセージを受け取ると、その接続メッセージを発信側通信ノードに向けて送信する(図4のステップS528)。
接続手続部107Bは、第2認証メッセージ検証部104Bから接続許可メッセージを受け取ると、発信側通信ノードとの接続手続を開始する(図4のステップS529)。
なお、第2認証メッセージの検証に失敗した場合、接続許可メッセージ生成部106Bは、不正な通信ノードからの接続要求であるとして、接続を許可しないことを示す接続拒否メッセージを生成し、メッセージ通信装置20は、接続許可メッセージ生成部106Bの生成した接続拒否メッセージを発信側通信ノードに向けて送信するようにしてもよいものである。
発信側通信ノードは、第2認証メッセージを送信した後、着信側通信ノードからの接続許可メッセージを受信する状態で待機する(図4のステップS517)。
発信側通信ノードのメッセージ通信装置20は、着信側通信ノードから接続許可メッセージが送信された場合、その接続許可メッセージを受信し、その受信した接続許可メッセージを通信ノード認証装置10Bに受け渡す(図4のステップS518)。
発信側通信ノードの接続手続部107Aは、メッセージ通信装置20が受信した接続許可メッセージを受け取ると、着信側通信ノードとの接続を開始する(図4のステップS519)。
以上の処理過程を経ることで、発信側通信ノードの接続手続部107Aと着信側通信ノードの接続手続部107Bとの間において、相互通信が開始される。
次に、具体的な例を用いて、第1認証メッセージおよび第2認証メッセージの生成、検証について図3及び図5に基づいて説明する。第1認証メッセージ生成部102B,第2認証メッセージ生成部104Aは、演算器109A,109Bを用いて、第1認証メッセージ,第2認証メッセージをそれぞれ生成する。第1認証メッセージ検証部103A,第2認証メッセージ検証部105Bは、演算器109A,109Bを用いて、第1認証メッセージの検証、第2認証メッセージの検証をそれぞれ行う。図3(図1)に示す演算器109A及び109B(109)の連結演算器1091が行うデータAとデータBとの連結演算結果を"A||B"で示す。また、図3(図1)に示す演算器109A及び109B(109)のハッシュ演算器1092が行うデータAのハッシュ演算結果を"HASH(A)"で示す。
まず、着信側通信ノードの第1認証メッセージ生成部102Bが第1認証メッセージを生成する場合について説明する。
着信側通信ノードの第1認証メッセージ生成部102Bは、着信側通信ノードの演算器109Bを用いて、第1認証メッセージを生成する。すなわち、着信側通信ノードの演算器109Bは、乱数生成器1094を用いて、乱数(以下、RBと記す。)を生成する(図5のステップS610)。
次に、着信側通信ノードの演算器109Bは、乱数生成器1094が生成した乱数(RB)を第1通信識別子として、着信側通信ノードの通信識別子記憶部110Bに記憶させる(図5のステップS611)。
次に、着信側通信ノードの演算器109Bは、着信側通信ノードの認証子データ記憶部108Bに記憶されている認証子データ(通信ノード認証装置10Bに設定登録されている認証子データ。以下、GBと記す。)を取得する(ステップS612)。着信側通信ノードの演算器109Bは、乱数生成器1094で生成した第1通信識別子RBと、認証子データ記憶部108Bに記憶されている認証子データGBとに基づいて第1検証値を生成する。
具体的に説明すると、着信側通信ノードの演算器109Bは、連結演算器1091を用いて、第1通信識別子RBと認証子データGBの連結演算を行う(図5のステップS613)。ここで、連結演算器1091による連結演算結果をUC1とすると、連結演算結果UC1は、例えば、式(1)によって示される。
UC1=RB||GB ・・・式(1)
なお、連結演算結果UC1は、第1通信識別子RBと認証子データGBとを用いて演算できるデータであればよく、例えば、式(2)に示すような計算式によって求めてもよい。
UC1=GB||RB
UC1=RB||GB||RB
UC1=RB||HASH(GB) ・・・式(2)
次に、着信側通信ノードの演算器109Bは、ハッシュ演算器1092を用いて、連結演算器1091で処理された連結演算結果UC1に対しハッシュ演算を行う(図5のステップS614)。なお、ハッシュ演算としては、MD2やMD5、SHAといったよく知られている関数を用いればよい。ハッシュ演算結果をHC1とすると、ハッシュ演算結果HC1は式(3)で示される。なお、このハッシュ演算結果HC1が、第1検証値に相当する。
HC1=HASH(UC1) ・・・式(3)
次に、着信側通信ノードの演算器109Bは、連結演算器1091を用いて、第1通信識別子RBとハッシュ演算結果HC1との連結演算を行い、第1認証メッセージを生成する(図5のステップS615)。ここで、第1認証メッセージをMSG1とすると、第1認証メッセージMSG1は、式(4)のように示される。なお、第1認証メッセージMSG1は、第1通信識別子RBと第1検証値HC1とを含み、かつ、第1通信識別子RBと第1検証値HC1とが容易に分離することができればよい。
MSG1=RB||HC1 ・・・式(4)
なお、第1認証メッセージを生成するステップにおいて、第1検証値を求めるための演算である第1演算は、本例では、式(5)で示される演算のいずれかである。
HASH(RB||GB)
HASH(GB||RB)
HASH(RB||GB||RB)
HASH(RB||HASH(GB)) ・・・式(5)
次に、発信側通信ノードの第1認証メッセージ検証部103Aが、着信側通信ノードから送信される第1認証メッセージについて発信側通信ノードの演算器109Aを用いて検証を行う場合を図3及び図6に基づいて説明する。
発信側通信ノードの演算器109Aは、メッセージ通信装置10で受信した第1認証メッセージMSG1から第1通信識別子RBと第1検証値HC1とを切り出す(図6のステップS710、711)。
次に、発信側通信ノードの演算器109Aは、発信側通信ノードの認証子データ記憶部108Aに記憶されている認証子データ(通信ノード認証装置10Aに設定登録されている認証子データ。以下、GAと記す。)を取得する(ステップS712)。発信側通信ノードの演算器109Aは、受信した第1認証メッセージMSG1から切り出した第1通信識別子RBと、認証子データ記憶部108Aに記憶されている認証子データGAとに基づいて、発信側通信ノードにおける第1検証値を求める。
具体的に説明すると、発信側通信ノードの演算器109Aは、連結演算器1091を用いて、受信した第1認証メッセージMSG1から切り出した第1通信識別子RBと認証子データGAとの連結演算を行う(ステップS713)。ここで、連結演算器1091による連結演算結果をUV1とすると、その連結演算結果UV1は、例えば、式(6)で示される。
UV1=RB||GA ・・・式(6)
なお、連結演算結果UV1は、第1通信識別子RBと認証子データGAとを用いて演算できるデータであればよく、例えば、式(7)に示すような計算式によって求めてもよい。ただし、図5のステップS613における連結演算結果UC1の演算と同様の演算とする。
UV1=GA||RB
UV1=RB||GA||RB
UV1=RB||HASH(GA) ・・・式(7)
次に、発信側通信ノードの演算器109Aは、ハッシュ演算器1092を用いて、連結演算器1091による連結演算結果UV1に対し、ハッシュ演算を行う(図6のステップS714)。なお、ハッシュ演算についても、図5のステップS614におけるハッシュ演算結果HC1の演算と同様の演算とする。ここで、ハッシュ演算結果をHV1とすると、ハッシュ演算結果HV1は、式(8)で示される。なお、このハッシュ演算結果HV1が、通信ノード認証装置10Aにおける第1検証値に相当する。
HV1=HASH(UV1) ・・・式(8)
最後に、発信側通信ノードの演算器109Aは、比較器1093を用いて、受信した第1認証メッセージから切り出した第1検証値HC1と、演算して得られた第1検証値HV1とを比較する(ステップS715)。
発信側通信ノードの第1認証メッセージ検証部103Aは、比較器1093による比較の結果、第1検証値HC1と第1検証値HV1とが一致すれば、第1認証メッセージの検証を成功と判断する。発信側通信ノードの第1認証メッセージ検証部103Aは、比較器1093による比較の結果、第1検証値HC1と第1検証値HV1とが一致しなければ、第1認証メッセージの検証を失敗と判断する。
次に、発信側通信ノードの第2認証メッセージ生成部104Aが第2認証メッセージを生成する場合を図3及び図7に基づいて説明する。
発信側通信ノードの第2認証メッセージ生成部104Aは、発信側通信ノードの演算器109Aを用いて、第2認証メッセージを生成する。すなわち、発信側通信ノードの演算器109Aは、乱数生成器1094を用いて、第2通信識別子として、乱数(以下、RAと記す。)を生成する(図7のステップS810)。
次に、発信側通信ノードの演算器109Aは、発信側通信ノードのメッセージ通信装置20が受信した第1認証メッセージから第1通信識別子RBを切り出す(図7のステップS811)。なお、第1認証メッセージ検証部102Aによる検証処理の際に切り出された第1通信識別子RBを、前記切り出した第1通信識別子RBとして用いてもよいものである。
次に、発信側通信ノードの演算器109Aは、発信側通信ノードの認証子データ記憶部108Aに記憶されている認証子データGAを取得する(図7のステップS812)。発信側通信ノードの演算器109Aは、第1認証メッセージに含まれる第1通信識別子RBと、乱数生成器1094が生成した第2通信識別子RAと、発信側通信ノードの認証子記憶部108Aに記憶されている認証子データGAとに基づいて、第2検証値を生成する。
具体的に説明すると、発信側通信ノードの演算器109Aは、連結演算器1091を用いて、第1通信識別子RBと第2通信識別子RAと認証子データGAとの連結演算を行う(図7のステップS813)。ここで、連結演算器1091による連結演算結果をUC2とすると、連結演算結果UC2は、例えば、式(9)で示される。
UC2=RA||RB||GA ・・・式(9)
なお、連結演算器1091による連結演算結果UC2は、第1通信識別子RBと第2通信識別子RA認証子データGAとを用いて演算できるデータであればよく、例えば、式(10)に示すような計算式によって求めてもよい。
UC2=GA||RA||RB
UC2=RA||RB||GA||RB
UC2=RA||RB||HASH(GA) ・・・式(10)
次に、発信側通信ノードの演算器109Aは、発信側通信ノードのハッシュ演算器1092を用いて、連結演算器1091による連結演算結果UC2に対し、ハッシュ演算を行う(図7のステップS814)。なお、ハッシュ演算としては、MD2やMD5、SHAといったよく知られている関数を用いればよい。ここで、ハッシュ演算結果をHC2とすると、ハッシュ演算結果HC2は式(11)で示される。なお、このハッシュ演算結果HC2が、第2検証値に相当する。
HC2=HASH(UC2) ・・・式(11)
次に、発信側通信ノードの演算器109Aは、発信側通信ノードの連結演算器1091を用いて、第2通信識別子RAとハッシュ演算結果HC2との連結演算を行い、第2認証メッセージを生成する。ここで、第2認証メッセージを第2認証メッセージMSG2とすると、第2認証メッセージMSG2は、式(12)のように示される。なお、第2認証メッセージMSG2は、第2通信識別子RAと第2検証値HC2とを含み、かつ、第2通信識別子RAと第2検証値HC2とが容易に分離することができればよい。
MSG2=RA||HC2 ・・・式(12)
なお、第2認証メッセージを生成するステップにおいて、第2検証値を求めるための演算である第2演算は、本例では、式(13)に示す計算式で示される演算のいずれかである。
HASH(RA||RB||GA)
HASH(GA||RA||RB)
HASH(RA||RB||GA||RB)
HASH(RA||RB||HASH(GA)) ・・・式(13)
次に、第着信側通信ノードの第2認証メッセージ検証部105Bが第2認証メッセージを検証する場合を図3及び図8に基づいて説明する。
着信側通信ノードの第2認証メッセージ検証部104Bは、着信側通信ノードの演算器109Bを用いて、着信側通信ノードのメッセージ通信装置20が受信した第2認証メッセージに対して検証を行う。
すなわち、着信側通信ノードの演算器109Bは、着信側通信ノードのメッセージ通信装置20が受信した第2認証メッセージMSG2から第2通信識別子RAと第2検証値HC2とを切り出す(図8のステップS910、911)。
次に、着信側通信ノードの演算器109Bは、着信側通信ノードの認証子データ記憶部108Bに記憶されている認証子データGBを取得する(図8のステップS912)。
次に、着信側通信ノードの演算器109Bは、着信側通信ノードの通信識別子記憶部110Bに記憶されている、第1認証メッセージを生成する際に生成した第1通信識別子RBを取得する(図8のステップS913)。
次に、着信側通信ノードの演算器109Bは、第2認証メッセージから切り出した第2通信識別子RAと、記憶されている第1通信識別子RBと、記憶されている認証子データGBとに基づいて、通信ノード認証装置10Bにおける第2検証値を求める。
具体的に説明すると、着信側通信ノードの演算器109Bは、着信側通信ノードの連結演算器1091を用いて、第2通信識別子RAと第1通信識別子RBと認証子データGBの連結演算を行う(図8のステップS914)。ここで、連結演算器1091による連結演算結果をUV2とすると、連結演算結果UV2は、例えば、式(14)で示される。
UV2=RA||RB||GB ・・・式(14)
なお、連結演算結果UV2も、第1通信識別子RBと認証子データGBとを用いて演算できるデータであればよく、例えば、式(15)に示すような計算式によって求めてもよい。ただし、図7のステップS813における連結演算結果UC2の演算と同様の演算とする。
UV2=GB||RA||RB
UV2=RA||RB||GB||RB
UV2=RA||RB||HASH(GB) ・・・式(15)
次に、着信側通信ノードの演算器109Bは、着信側通信ノードのハッシュ演算器1092を用いて、連結演算器1091による連結演算結果UV2に対し、ハッシュ演算を行う(図8のステップS915)。なお、ハッシュ演算についても、図7のステップS814におけるハッシュ演算結果HC2の演算と同様の演算とする。ここで、ハッシュ演算結果をHV2とすると、ハッシュ演算結果HV1は、式(16)で示される。なお、このハッシュ演算結果HV2が、着信側通信ノードにおける第2検証値に相当する。
HV2=HASH(UV2) ・・・式(16)
次に、着信側通信ノードの演算器109Bは、着信側通信ノードの比較器1093を用いて、受信した第2認証メッセージから切り出した第2検証値HC2と、演算して得られた第2検証値HV2とを比較する(図8のステップS916)。
着信側通信ノードの第2認証メッセージ検証部105Bは、比較器1093による比較の結果、第2検証値HC2と第2検証値HV2とが一致すれば、第2認証メッセージの検証を成功と判断する。着信側通信ノードの第2認証メッセージ検証部105Bは、比較器1093による比較の結果、第2検証値HC2と第2検証値HV2とが一致しなければ、第2認証メッセージの検証を失敗と判断する。
なお、本例では、第1通信識別子および第2通信識別子を、乱数生成器1094を用いて生成する例を示したが、第1通信識別子または第2通信識別子は、生成の度に変化する値であればよく、例えば、疑似乱数生成器や増算カウンタ、減算カウンタなどを用いて生成してもよい。
以上のように、本発明の実施形態1によれば、接続要求である発信側通信ノードにおける認証と、接続待機である着信側通信ノードにおける認証とを独立して動作させずに、1つの認証シーケンスとして、一方の通信ノードで実施した認証結果を踏まえて、他方の通信ノードにおける認証を一連の処理として行うので、発信側通信ノードにおいて、着信側通信ノードが正規の通信ノードであるか否かを確認することができるとともに、着信側通信ノードにおいても、発信側通信ノードが正規の通信ノードであるか否かを確認することができる。つまり、相互認証において連続性を保証できるので、例えば、正規の通信ノードが、不正な通信ノードからの接続要求メッセージに応答して接続してしまうことによって、不正な通信ノードに情報が流出してしまう危険性をなくすことができる。
また、関連する技術のように相互に独立して認証を行う場合には、それぞれで認証要求と認証結果とをやりとりしなければならないが、本発明の実施形態1によれば、一方の通信ノードでの認証結果の通知が、他方の通信ノードでの認証要求を兼ねているので、関連する認証シーケンスに比べて通信回数を減らす効果がある。ネットワークにおける通信回数は、消費電力量に直結するため、通信回数を圧縮できる本方法は、電池駆動するセンサノード等の利用においてより有効である。
また、本発明の実施形態1では、各通信ノードが恒常的に保持しておく必要のある情報は、共通の認証子データのみである。つまり、通信相手毎に異なる認証子データを設定、登録する必要がなく、複数の通信相手と通信を行う場合であっても、通信相手の数に応じて各通信ノードで恒常的に保持する必要のある情報が増大しないため、多数の通信ノードと接続するような通信システムに適用しても、各通信ノードのメモリリソースに影響を与えない。
(実施形態2)
次に、図1(図3)において、第1認証メッセージ及び第2認証メッセージの生成、及び第1認証メッセージ及び第2認証メッセージの検証に用いる演算器109の変更例を、本発明の実施形態2として説明する。
本発明の実施形態2に係る演算器109は図9に示すように、図1に示す演算器109と比較して、排他的論理和演算器1095を追加した構成とした点に特徴がある。すなわち、本発明の実施形態2に係る演算器1095は、第1認証メッセージの生成、検証および第2認証メッセージの生成、検証の際に行う第1演算および第2演算に、排他的論理和を用いる点で、図1に示す実施形態1と異なる。
次に、本発明の実施形態2の動作について、実施形態1と異なる部分に注目して説明する。以下、排他的論理和演算器1095によるデータAとデータBの排他的論理和演算結果を"A(×)B"と示すこととする。
本発明の実施形態2において、第1認証メッセージ生成ステップである図5のステップS613において、着信側通信ノードの第1認証メッセージ生成部101Bは、演算器109Bの排他的論理和演算器1095を用いて、第1通信識別子RBと認証データGBの排他的論理和演算を行う。ここに、排他的論理和演算器1095による排他的論理和演算結果をUC1とすると、排他的論理和演算結果UC1は、式(17)で示される。
UC1=RB(×)GB ・・・式(17)
第1認証メッセージ検証ステップである図6のステップS713において、第1認証メッセージ検証部102Aは、演算器109Aの排他的論理和演算器1095を用いて、第1通信識別子RBと認証子データGAの排他的論理和演算を行う。ここに、排他的論理和演算器1095による排他的論理和演算結果をUV1とすると、排他的論理和演算結果UV1は、式(18)で示される。
UV1=RB(×)GA ・・・式(18)
第2認証メッセージ生成ステップである図7のステップS813において、第2認証メッセージ生成部103Aは、演算器109Aの排他的論理和演算器1095とハッシュ演算器1092とを用いて、第1通信識別子RBと第2通信識別子RAと認証子データGAとの演算を行う。ここで、演算結果をUC2とすると、演算結果UC2は式(19)で示される。
UC2=HASH(RA)(×)RB(×)GA ・・・式(19)
第2認証メッセージ検証ステップである図8のステップS914において、第2認証メッセージ生成部103Aは、演算器109Aの排他的論理和演算器1095とハッシュ演算器1092とを用いて、第2通信識別子RAと第1通信識別子RBと認証子データGBとの演算を行う。ここで、演算結果をUV2とすると、演算結果UV2は式(20)で示される。なお、演算結果UC2、UV1のRAに対するハッシュ演算については、後述する。
UV2=HASH(RA)(×)RB(×)GB ・・・式(20)
本発明の実施形態2によれば、排他的論理和演算器1095による排他的論理和演算を利用することによって、第1検証値または第2検証値を生成するためのハッシュ演算(ステップS614、714、814、915)を実施するデータ長を短くすることができ、処理の高速化を実現できる。または、ハッシュ演算器1091の回路構成を縮小することができる。
次に、演算結果UC2、UV1のRAに対するハッシュ演算について説明する。図10は、本発明を適用した通信ノード間の通信において、通信を傍受してなりすまし等を試みる不正な通信ノードによる通信状態を示す説明図である。なお、図10において、正規の通信ノードA、Bは、共通の認証子データ(GA、GB)を秘密に保持している通信ノードであり、一方、不正な通信ノードXは、認証子データを知らないが、通信ノードBに不正に接続を試みる通信ノードである。図10において、通信状態1101は不正接続の準備状態を示しており、通信状態1102は不正接続の試行を行っている状態を示している。
ここで、第2認証メッセージ生成ステップである図7のステップS813において、式(21)に示す計算式によって、第2認証識別子RAと第1通信識別子RBと認証子データGAとから、生成容易なデータ(演算結果UC2)を得る場合について考える。
UC2=RA(×)RB(×)GA ・・・式(21)
図10に示す通信状態1101において、通信ノードAと通信ノードBとは、保持する共通の認証子データを直接通信することなく、お互いに認証することに成功する。この際、通信ノードXは、前記通信ノードAと通信ノードBとの間における認証手続きに関する一連の通信を傍受することが可能であるとする。この傍受によって得られるデータは、次のD1〜D4である。なお、D1、D2は、第1認証メッセージによって得られるデータであり、D3、D4は、第2認証メッセージによって得られるデータである。
D1=RB
D2=HASH(RB(×)GB)
D3=RAD4=HASH(RA(×)RB(×)GA)
これらのデータ(D1〜D4)を得た通信ノードXは、通信ノードBに対し、接続要求メッセージを発し、被認証を試みる(通信状態1102)。
通信ノードXは、通信ノードBから、式(22)に示す第1認証メッセージMSG1sを受信する。ここで、RBsは、通信ノードBが生成した第1通信識別子であり、シーン1101における第1通信識別子RBとは異なる値である。
MSG1s=RBs||HASH(RBs(×)GB) ・・・式(22)
ここで問題となるのは、ハッシュ演算器1092によるハッシュ演算の特性により、通信ノードXが、通信状態1101で傍受して得られたデータD1〜D4から、認証子データGA、GBを導出することは困難であるが、排他的論理和演算器1095による排他的論理和演算の特性と、D1、D3、D4、RBsとを用いることにより、第2認証メッセージを生成することが可能である点である。
通信ノードXは、式(23)に示す計算式を用いて、第2認証メッセージMSG2sを生成する。
RX=D3(×)D1(×)RBs
MSG2s=RX||D4 ・・・式(23)
なお、排他的論理和演算器1095による排他的論理和演算の特性により、
RX(×)RBs=D3(×)D1=RA(×) RB(×)・・・式(24)
である。
通信ノードXは、このように生成した第2認証メッセージMSG2sを通信ノードBに送信する。そして、通信ノードBは、通信ノードXから受信した第2認証メッセージMSG2sを検証する。
このとき、通信ノードXが生成した第2検証値に相当する値D4は、
D4=HASH(RA(×)RB(×)GA)
=HASH(RX(×)RBs(×)GA)
=HASH(RX(×)RBs(×)GB)・・・式(25)
である。
一方、通信ノードBが正規に計算する第2検出値UV2は、
UV2=HASH(RX(×)RBs(×)GB)・・・式(26)
である。
従って、受信した第1認証メッセージMSG1sに含まれる第2検証値D4と計算によって求めた第2検出値UV2とが一致するため、認証が成功してしまう。このようにして、通信ノードXは、通信ノードAになりすまし、通信ノードBから認証を受けることに成功する可能性が生じる。
このなりすましを防止するため、本発明の実施形態2では、第2認証メッセージ生成ステップである図7のステップS813において、第1通信識別子RAに対し、ハッシュ演算を実施した後、排他的論理和演算を実施する。そうすることによって、通信ノードXは、通信状態1101の通信傍受などによって、HASH(RX)に相当する値を導出することができても、ハッシュ演算の特性によりRXを導出することが困難であり、なりすまして認証をうけることができない。
このように、第2演算は、第1演算によって生成される第1認証メッセージが、仮に、通信子データを知らない通信ノードに傍受されたとしても、なりすまして認証を受けることが難しくなるような演算であることがより好ましい。
(実施形態3)
次に、本発明の実施形態3について説明する。
本発明の実施形態3は図11に示すように、上述した実施形態1及び実施形態2と同様の構成でステップS1410〜ステップS1429までの一連の処理が実行されるが、本発明の実施形態3においては、第1認証メッセージの生成、検証及び第2認証メッセージの生成、検証の際に利用する第2通信識別子の送受信タイミング、第1認証メッセージの生成及び検証方法、第2認証メッセージの生成及び検証方法の点が、上述した実施形態1及び2とは異なる。以下では、実施形態1と異なる箇所に注目して説明する。
図3(図1)に示す発明の実施形態1では、第2通信識別子としての乱数RAは図7のステップS810において、着信側通信ノードから送信される第1認証メッセージを検証した後に生成していた。
これに対して、本発明の実施形態3では、図7のステップS810に先だって、発信側通信ノードから接続要求メッセージを生成する際に、第2通信識別子としての乱数RAを生成している。すなわち、発信側通信ノードの接続要求メッセージ生成部105は、他の通信ノードへの接続を要求する接続要求メッセージを生成する際(図11のステップS1410,図12のステップS1510)、演算器109の乱数生成器1094を用いて、第2通信識別子(RA)を生成する(図12のステップS1511)。前記第2通信識別子(RA)は、第1認証メッセージに紐付ける(対応づける)ものである。
次に、本発明の実施形態3では、発信側通信ノードの接続要求メッセージ生成部101は、生成した接続要求メッセージに前記第2通信識別子RAを連結し(図13のステップS1611)、その連結した接続要求メッセージ及び第2通信識別子を発信側通信ノードのメッセージ通信装置20に向けて送信する。
発信側通信ノードのメッセージ通信装置20は、接続要求メッセージ生成部101から接続要求メッセージ及び第2通信識別子を受け取ると、これらの情報を着信側通信ノードに向けて送信する((図11のステップS1411,図13のステップS1612)。
着信側通信ノードでは、メッセージ受信待機状態(図11のステップS1420)において、発信側通信ノードから送信される接続要求メッセージ及び第2通信識別子を受信すると(図11のステップS1421)、着信側通信ノードの第1認証メッセージ生成部101は、発信側通信ノードから送信された接続要求メッセージ及び第2通信識別子を受けて、第1認証メッセージを生成する(図11のステップS1422)。
図14は、前記着信側通信ノードの第1認証メッセージ生成部102が第1認証メッセージを生成する処理過程を示すものである。図14において、ステップS1710からステップS1712までの処理過程は、実施形態1における第1認証メッセージ生成ステップである図5のステップS610〜ステップ612までの処理過程と同様である。
本発明の実施形態3では、第1認証メッセージ生成部102は、演算器109を用いて、発信側通信ノードから送信された接続要求メッセージから第2通信識別子RAを切り出す(図14のステップS1713)。
次に、着信側通信ノードの第1認証メッセージ生成部101は、着信側の演算器109連結演算器1091もしくは排他的論理和演算器1095を用いて、第1通信識別子RBと第2通信識別子RAと認証データGBとの演算を行う(図14のステップS1714)。例えば、連結演算器109或いは排他的論理和演算器1095による演算結果をUC1とすると、演算結果UC1は、式(28)のようになる。なお、図14のステップS1715およびステップS1716は、図5のステップS614、S615と同様である。
UC1=RA||RB||GB
UC1=RA(×)RB||GB
UC1=RA||RB(×)GB
UC1=RA(×)RB(×)GB・・・式(28)
本発明の実施形態3では、図11に示す第1認証メッセージ検証ステップS1414の処理が実施形態1と異なる。すなわち、発信側通信ノードの第1認証メッセージ検証部102は、発信側演算器109の連結演算器1091もしくは排他的論理和演算器1095を用いて、第1通信識別子RBと第2通信識別子RAと認証データGBとの演算を行う(図15のステップS1813)。例えば、連結演算器1091或いは排他的論理和演算器1091或いは排他的論理和演算器1095による演算結果をUV1とすると、演算結果UV1は、式(29)のようになる。ここで、UV1の演算方法はUC1と同様の演算方法であればよく、式(28)および式(29)は一例に過ぎないことに注意されたい。
なお、図15のステップS1810〜S1812、S1814〜S1815は、実施形態1における第1認証メッセージ検証ステップである図6のS710〜S712、S714〜S715と同様である。
UV1=RA||RB||GB
UV1=RA(×)RB||GB
UV1=RA||RB(×)GB
UV1=RA(×)RB(×)GB・・・式(29)
本発明の実施形態3では、図16に示す第2認証メッセージ生成ステップS1415の処理過程が実施形態1と異なる。すなわち、着信側通信ノードの第2認証メッセージ生成部103は、着信側演算器109の連結演算器1091もしくは排他的論理和演算器1095とハッシュ演算器1092とを用いて、第1通信識別子RBと第2通信識別子RAと認証子データGAとの演算を行う(図16のS1912)。例えば、連結演算器1091もしくは排他的論理和演算器1095とハッシュ演算器1092とによる演算結果をUC2とすると、演算結果UC2は式(30)で示される。
なお、図16のステップS1910、S1911、S1913は、実施形態1における第2認証メッセージ生成ステップである図7のS811、S812、S814と同様である。
UC2=HASH(RA||RB)||GA
UC2=HASH(RA||RB)(×)GA
UC2=HASH(RA(×)RB)||GA
UC2=HASH(RA(×)RB)(×)GA ・・・式(30)
本発明の実施形態3では、図17に示す第2認証メッセージ検証ステップS1426の処理過程が実施形態1と異なる。すなわち、着信側通信ノードの第2認証メッセージ検証部104は、着信側演算器109の連結演算器1091もしくは排他的論理和演算器1095とハッシュ演算器1092とを用いて、第1通信識別子RBと第2通信識別子RAと認証子データGBとの演算を行う(図17のS2014)。ここで、連結演算器1091もしくは排他的論理和演算器1095とハッシュ演算器1092とによる演算結果をUV2とすると、演算結果UV2は例えば、式(31)で示される。ここで、UV2の演算方法はUC2と同様の演算方法で、かつUC1およびUV1の演算方法と異なる必要がある。式(30)および式(31)は一例に過ぎないことに注意されたい。
なお、図17のステップS2010では、図13のステップS1612で送信された第2通信識別子RAを切り出している。図17のステップS2011では、図16のステップS1913で計算された値を取得している。図17のステップS2012、S2013、S2015、S2016は、実施形態1における第2認証メッセージ検証ステップである図8のS912、S913、S915、S916と同様である。
UV2=HASH(RA||RB)||GB
UV2=HASH(RA||RB)(×)GB
UV2=HASH(RA(×)RB)||GB
UV2=HASH(RA(×)RB)(×)GB ・・・式(31)
本発明の実施形態3では、認証処理にハッシュ演算を適用しており、ハッシュ演算の一方向性に安全性の根拠を置いている。ハッシュ演算の入力空間が大きいほど、ハッシュ演算の結果から、元の入力値を推測することが困難になる。従って、ハッシュ演算の入力として与える第1の通信識別子RBと第2の通信識別子RAの演算結果は、連結演算を用いてビットの取り得る空間を大きくするほうが安全性の観点から好ましい。
実施形態1のように、UC1の生成時に1つの通信識別子をハッシュの入力に与えるよりも、実施形態3のように、第2通信識別子の送受信を第1認証メッセージの生成に先だって行い、かつ、第1の通信識別子RBと第2の通信識別子RAの演算を連結演算に限定すれば、認証処理の安全性を高めることができるという利点がある。
同程度の安全性、すなわち、実施形態1または実施形態2と同じ大きさの入力空間Lでよければ、第1通信識別子と第2通信識別子を連結演算において連結する場合に限り、連結した際のビット長で入力空間Lを満たせば、第1通信識別子と第の通信識別子のビット長を、例えばそれぞれ半分のビット長に削減できる。ここで、それぞれ半分に削減するだけでなく、一方を1/4のビット長に、他方を3/4のビット長にするなどの変更は、容易に類推し得る。
図18に、実施形態3において、実施形態1または実施2形態と同程度の安全性を得る場合の通信識別子のビット長の一例を示す。
図18の通信状態2110は実施形態1及び2における第1通信識別子、第2通信識別子のビット長である。通信状態2110では、それぞれ128bitのビット長を持つ通信識別子が発信側通信ノードと着信側通信ノードとの間で相互に遣り取りされる。
図18の通信状態2111は実施形態3における第1通信識別子、第2通信識別子のビット長であり、実施形態3では、それぞれ64bitのビット長を持つ通信識別子が相互に遣り取りされている。
以上のように本発明の実施形態3では、通信量を削減可能であり、通信量の削減が消費電力低下の大きな要因となる環境、例えば、センサネットワーク環境での実施に好適である。
(実施形態4)
次に、本発明の実施形態4について説明する。本発明の実施形態4は図19に示すように、受信通信識別子記憶部111と、共通値生成部112とを有する点で実施形態1〜2と異なる。なお、他の点に関しては、実施形態1または実施形態2と同様である。
本発明の実施形態4は図19に示すように、受信通信識別子記憶部111と共通値生成部112を、発信側通信ノードの第1認証メッセージ検証部103と、着信側通信ノードの第2認証メッセージ検証部105に対応させて設けてある。
受信通信識別子記憶部111は、認証手続中の通信相手の通信ノードから受信した通信識別子を記憶する。すなわち、発信側通信ノードの受信通信識別子記憶部111は、受信した第1認証メッセージに含まれる第1通信識別子を記憶する。着信側通信ノードの受信識別子記憶部1111は、受信した第2認証メッセージに含まれる第2通信識別子を記憶する。
なお、本発明の実施形態4では、通信識別子記憶部110は、認証手続き中の通信ノード認証装置10が生成した通信識別子を必ず記憶することとする。すなわち、着信側通信ノードの通信識別子記憶部110は、生成した第1通信識別子を記憶し、発信側通信ノードの通信識別子記憶部110は、生成した第2通信識別子を記憶する。
つまり、認証手続きを完了した2つの通信ノードには、その認証手続きに用いた第1通信識別子と第2通信識別子とが保持されていることになる。したがって、発信側通信ノードと着信側通信ノードとは、第1通信識別子(RB)と、第2通信識別子(RA)と、認証子データ(GA=GB)とを共有していることとなる。なお、認証子データは、認証手続きにおいて同一値であることが確認できているため、GA=GBが成り立つ。
共通値生成部112は、認証手続きを完了した2つの通信ノード間で共通の秘密のデータであって、認証後の暗号化通信の暗号化鍵として利用することができる共通値を生成する。共通値生成部112は、認証手続きを完了した2つの通信ノード間で共有している情報(RB、RA、GA(=GB))を用いて、暗号化鍵を生成する。ここで、共通値をKとすると、共通値Kは、例えば、式(27)で示すような計算式によって求めることが考えられる。
K=HASH(RA||RB||GA)
K=HASH(RA(×)RB(×)GA)
K=HASH(HASH(RA)(×)HASH(RB)(×)GA)・・・式(27)
なお、共通値Kの演算には、第1通信識別子RBと第2通信識別子RAとを知っていても容易に類推することが困難であって、第1通信識別子RB、第2通信識別子RA、または認証子データGAの値に応じて演算結果(共通値K)が異なり、かつ、第1通信識別子RBと第2通信識別子RAと演算結果(共通値K)とから、認証子データGAを類推することが困難な演算であれば、他の演算であってもよい。
本発明の実施形態4によれば、認証手続きを完了した2つの通信ノード間で共有している情報を用いて、共通の秘密のデータを生成することによって、当該認証手続き完了後のみ利用可能な共通の暗号化鍵を生成することができる。この暗号化鍵は、認証手続きの度に異なる値であるため、暗号化通信が傍受されて暗号を解読される可能性を低くし、セキュリティ性を高くすることができる。
次に、本発明の実施形態の変更例を逐次説明する。
相互に通信を行う一方を発信側通信ノードとし、他方を着信側通信ノードとし、認証を行った後に通信ノード相互間で通信を開始する通信ノード認証システムのうち、前記発信側通信ノードに含まれる前記第2認証メッセージ生成手段は、
前記第1認証メッセージから抽出した予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、前記発信側通信ノードが生成する予測不可能または再現性のない情報である第2通信識別子とに基づいて、前記第2認証メッセージを生成するものであり、
前記着信側通信ノードに含まれる前記第2認証メッセージ検証手段は、
前記第2認証メッセージと、前記第2認証メッセージから抽出した第2通信識別子と、前記第1認証メッセージを生成する際に用いた第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、前記第2認証メッセージの検証を行うことで前記発信側通信ノードを認証するものであることが望ましいものである。
前記発信側通信ノードの前記第2認証メッセージ生成手段は、
前記第1認証メッセージに含まれる、第1認証メッセージを識別するための情報であって前記着信側通信ノードによって生成される予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、前記発信側通信ノードが生成する予測不可能または再現性のない第2通信識別子とに基づいて、第2の検証値及び第2通信識別子を含む第2認証メッセージを生成するものであり、
前記着信側通信ノードの前記第2認証メッセージ検証手段は、
前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している、認証子データ及び前記第1認証メッセージに第1通信識別子に基づいて演算した演算結果と、前記第2認証メッセージに含まれる第2の検証値とを比較することによって、前記第1認証メッセージに対応して生成され、かつ、前記着信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第2認証メッセージであることを検証するものであることが望ましいものである。
前記着信側通信ノードに含まれる前記第1認証メッセージ生成手段は、
前記着信側通信ノードが保持している認証子データ、及び前記着信側通信ノードが生成した第1通信識別子に基づいて生成される第1検証値と、第1通信識別子とを含む第1認証メッセージを生成するものであり、
前記発信側通信ノードに含まれる前記第1認証メッセージ検証手段は、
前記第1認証メッセージに含まれる第1通信識別子、及び前記発信側通信ノードが保持している認証子データに基づいた演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較することによって、前記発信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第1認証メッセージであることを検証するものであることが望ましいものである。
さらに、接続手続手段を有し、前記接続手続手段は、前記第1認証メッセージが正規のメッセージであることが検証され、かつ、前記第2認証メッセージが正規のメッセージであることが検証された場合にのみ、発信側通信ノード及び着信側通信ノードが互いに同一の認証子データを保持していると判断し、相互接続を開始するものであることが望ましいものである。
前記発信側通信ノードの前記第2認証メッセージ生成手段は、
前記第2通信識別子とする乱数を生成する手段と、
前記生成された第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する手段と、
前記連結演算の演算結果に対しハッシュ演算を実施する手段とを含み、
前記着信側通信ノードの前記第2認証メッセージ検証手段は、
前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する手段と、
前記連結演算の演算結果に対しハッシュ演算を実施する手段と、
前記ハッシュ演算の演算結果と、前記第2認証メッセージに含まれる第2の検証値とを比較する手段とを含むことが望ましいものである。
前記着信側通信ノードの前記第1認証メッセージ生成手段は、
前記第1通信識別子とする乱数を生成する手段と、
前記生成された第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する手段と、
前記連結演算の演算結果に対しハッシュ演算を実施する手段とを含み、
前記発信側通信ノードの前記第1認証メッセージ検証手段は、
前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する手段と、
前記連結演算の演算結果に対しハッシュ演算を実施する手段と、
前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較する手段とを含むことが望ましいものである。
前記発信側通信ノードの前記第2認証メッセージ生成手段は、
前記第2通信識別子とする乱数を生成する手段と、
前記生成された第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施する手段と、
前記排他的論理和演算の演算結果に対しハッシュ演算を実施する手段とを含み、
前記着信側通信ノードの前記第2認証メッセージ検証手段は、
前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している第1通信識別子及び認証子データとに基づいて、排他的論理和演算を実施する手段と、
前記排他的論理和演算の演算結果に対しハッシュ演算を実施する手段と、
前記ハッシュ演算の演算結果と、前記第2認証メッセージに含まれる第2検証値とを比較する手段とを含むことが望ましいものである。
前記着信側通信ノードの前記第1認証メッセージ生成手段は、
前記第1通信識別子とする乱数を生成する手段と、
前記生成された第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施する手段と、
前記排他的論理和演算の演算結果に対しハッシュ演算を実施する手段とを含み、
前記発信側通信ノードの前記第1認証メッセージ検証手段は、
前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施する手段と、
前記排他的論理和演算の演算結果に対しハッシュ演算を実施する手段と、
前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較する手段とを含むことが望ましいものである。
前記発信側通信ノードの前記第2認証メッセージ生成手段は、
前記着信側通信ノードが送信した予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、第2通信識別子とに基づいて、前記発信側通信ノードを認証するための第2認証メッセージを生成するものであり、
前記着信側通信ノードの前記第2認証メッセージ検証手段は、
前記第2認証メッセージと、前記発信側通信ノードが送信した予測不可能または再現性のない情報である第2通信識別子と、前記着信側通信ノードが送信した予測不可能または再現性のない情報である第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、前記発信側通信ノードを認証するものであることが望ましいものである。
前記発信側通信ノードの前記第2認証メッセージ生成手段は、
前記発信側通信ノードで生成されて前記接続要求メッセージに含まれた予測不可能または再現性のない情報である第2通信識別子と、前記発信側通信ノードが保持している認証子データと、前記着信側通信ノードで生成されて前記第1認証メッセージに含まれた予測不可能または再現性のない第1通信識別子とに基づいて生成される第2検証値を含む第2認証メッセージを生成するものであり、
前記着信側通信ノードの前記第2認証検証手段は、
前記接続要求メッセージに含まれる前記第2通信識別子と、前記着信側通信ノードが保持している認証子データと、前記着信側通信ノードが生成して保持している第1通信識別子とに基づいて演算された演算結果と、前記第2認証メッセージに含まれる前記第2検証値とを比較することによって、前記第1認証メッセージに対応して生成され、かつ、前記着信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第2認証メッセージであることを検証するものであることが望ましいものである。
前記着信側通信ノードの前記第1認証メッセージ生成手段は、
前記着信側通信ノードが保持している認証子データと、前記接続要求メッセージに含まれる第2通信識別子とに基づいて生成される第1検証値と、前記着信側通信ノードが生成して保持する第1通信識別子とを含む第1認証メッセージを生成するものであり、
前記発信側通信ノードの前記第1認証メッセージ検証手段は、
前記接続要求メッセージに含まれる第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて演算される演算結果と、前記第1認証メッセージに含まれる前記第1検証値とを比較することによって、前記発信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第1認証メッセージであることを検証するものであり、
さらに、前記第1認証メッセージ検証手段で正規の第1認証メッセージであることが検証され、かつ、前記第2認証メッセージ検証手段で正規の第2認証メッセージであることが検証された場合にのみ、前記発信側通信ノードと前記着信側通信ノードとが互いに同一の認証子データを保持していると判断し、相互接続を開始する接続手続手段を有することが望ましいものである。
前記発信側通信ノードの第2認証メッセージ生成手段は、
前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第2通信識別子との連結演算または排他的論理和演算を実施する手段と、
前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する手段と、
前記ハッシュ演算の演算結果と保持している認証子データとの連結演算または排他的論理和演算を実施する手段と、
前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する手段とを含み、
前記着信側通信ノードの前記第2認証メッセージ検証手段は、
前記接続要求メッセージに含まれる前記第2通信識別子と、前記着信側通信ノードが保持している前記第1通信識別子との連結演算または排他的論理和演算を実施する手段と、
前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する手段と、
前記ハッシュ演算の演算結果と、前記着信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施する手段と、
前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する手段と、
前記ハッシュ演算の演算結果と前記第2認証メッセージに含まれる前記第2検証値とを比較する手段とを含むことが望ましいものである。
前記着信側通信ノードの前記第1認証メッセージ生成手段は、
前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第1通信識別子との連結演算または排他的論理和演算を実施する手段と、
前記連結演算または排他的論理和演算の演算結果と、前記着信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施する手段と、
前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する手段とを含み、
前記発信側通信ノードの前記第1認証メッセージ検証手段は、
前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第1通信識別子との連結演算または排他的論理和演算を実施する手段と、
前記連結演算または排他的論理和演算の演算結果と、前記発信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施する手段と、
前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する手段と、
前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる前記第1検証値とを比較する手段とを含むことが望ましいものである。
前記第2認証メッセージ生成手段、前記第2認証メッセージ検証手段、前記第1認証メッセージ生成手段及び前記第1認証メッセージ検証手段における第1の通信識別子と第2の通信識別子とを連結演算において連結する場合、連結後のビット長が、請求項1〜9のいずれかに記載の第1通信識別子と第2通信識別子のビット長以上になる条件の下で、第1通信識別子と第2通信識別子のビット長を削減することが望ましいものである。
認証相手の一方の通信ノードから認証手続きの際に受信した第1通信識別子または第2通信識別子を受信通信識別子として記憶する手段と、
他方の通信ノードが認証手続きの際に生成した第1通信識別子または第2通信識別子と、認証子データと、前記受信識別子とに基づいて、認証手続き完了後の暗号化通信に用いる暗号化鍵を生成する手段とを含むことが望ましいものである。
本発明の実施形態を通信ノード認証方法として構築した場合、相互に通信を行う一方を発信側通信ノードとし、他方を着信側通信ノードとし、認証を行った後に通信ノード相互間で通信を開始する通信ノード認証方法のうち、前記発信側通信ノードにおいて、前記第1認証メッセージから抽出した予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、前記発信側通信ノードが生成する予測不可能または再現性のない情報である第2通信識別子とに基づいて、前記第2認証メッセージを生成し、
前記着信側通信ノードにおいて、前記第2認証メッセージと、前記第2認証メッセージから抽出した第2通信識別子と、前記第1認証メッセージを生成する際に用いた第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、前記第2認証メッセージの検証を行うことで前記発信側通信ノードを認証することが望ましいものである。
前記発信側通信ノードにおいて、前記第1認証メッセージに含まれる、第1認証メッセージを識別するための情報であって前記着信側通信ノードによって生成される予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、前記発信側通信ノードが生成する予測不可能または再現性のない第2通信識別子とに基づいて、第2の検証値及び第2通信識別子を含む第2認証メッセージを生成し、
前記着信側通信ノードにおいて、前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している、認証子データ及び前記第1認証メッセージに第1通信識別子に基づいて演算した演算結果と、前記第2認証メッセージに含まれる第2の検証値とを比較することによって、前記第1認証メッセージに対応して生成され、かつ、前記着信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第2認証メッセージであることを検証することが望ましいものである。
前記着信側通信ノードにおいて、前記着信側通信ノードが保持している認証子データ、及び前記着信側通信ノードが生成した第1通信識別子に基づいて生成される第1検証値と、第1通信識別子とを含む第1認証メッセージを生成し、
前記発信側通信ノードにおいて、前記第1認証メッセージに含まれる第1通信識別子、及び前記発信側通信ノードが保持している認証子データに基づいた演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較することによって、前記発信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第1認証メッセージであることが望ましいものである。
前記第1認証メッセージが正規のメッセージであることが検証され、かつ、前記第2認証メッセージが正規のメッセージであることが検証された場合にのみ、発信側通信ノード及び着信側通信ノードが互いに同一の認証子データを保持していると判断し、相互接続を開始することが望ましいものである。
前記発信側通信ノードにおいて、前記第2通信識別子とする乱数を生成し、前記生成された第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、連結演算を実施し、前記連結演算の演算結果に対しハッシュ演算を実施し、
前記着信側通信ノードにおいて、前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、連結演算を実施し、前記連結演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と、前記第2認証メッセージに含まれる第2の検証値とを比較することが望ましいものである。
前記着信側通信ノードにおいて、前記第1通信識別子とする乱数を生成し、前記生成された第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、連結演算を実施し、前記連結演算の演算結果に対しハッシュ演算を実施し、
前記発信側通信ノードにおいて、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、連結演算を実施し、前記連結演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較することが望ましいものである。
前記発信側通信ノードにおいて、前記第2通信識別子とする乱数を生成し、前記生成された第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施し、前記排他的論理和演算の演算結果に対しハッシュ演算を実施し、
前記着信側通信ノードにおいて、前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している第1通信識別子及び認証子データとに基づいて、排他的論理和演算を実施し、前記排他的論理和演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と、前記第2認証メッセージに含まれる第2検証値とを比較することが望ましいものである。
前記着信側通信ノードにおいて、前記第1通信識別子とする乱数を生成し、前記生成された第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施し、前記排他的論理和演算の演算結果に対しハッシュ演算を実施し、
前記発信側通信ノードにおいて、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施し、前記排他的論理和演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較することが望ましいものである。
前記発信側通信ノードにおいて、前記着信側通信ノードが送信した予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、第2通信識別子とに基づいて、前記発信側通信ノードを認証するための第2認証メッセージを生成し、
前記着信側通信ノードにおいて、前記第2認証メッセージと、前記発信側通信ノードが送信した予測不可能または再現性のない情報である第2通信識別子と、前記着信側通信ノードが送信した予測不可能または再現性のない情報である第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、前記発信側通信ノードを認証することが望ましいものである。
前記発信側通信ノードにおいて、前記発信側通信ノードで生成されて前記接続要求メッセージに含まれた予測不可能または再現性のない情報である第2通信識別子と、前記発信側通信ノードが保持している認証子データと、前記着信側通信ノードで生成されて前記第1認証メッセージに含まれた予測不可能または再現性のない第1通信識別子とに基づいて生成される第2検証値を含む第2認証用メッセージを生成し、
前記着信側通信ノードにおいて、前記接続要求メッセージに含まれる前記第2通信識別子と、前記着信側通信ノードが保持している認証子データと、前記着信側通信ノードが生成して保持している第1通信識別子とに基づいて演算された演算結果と、前記第2認証メッセージに含まれる前記第2検証値とを比較することによって、前記第1認証メッセージに対応して生成され、かつ、前記着信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第2認証メッセージであることを検証することが望ましいものである。
前記着信側通信ノードにおいて、前記着信側通信ノードが保持している認証子データと、前記接続要求メッセージに含まれる第2通信識別子とに基づいて生成される第1検証値と、前記着信側通信ノードが生成して保持する第1通信識別子とを含む第1認証メッセージを生成し、
前記発信側通信ノードにおいて、前記接続要求メッセージに含まれる第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて演算される演算結果と、前記第1認証メッセージに含まれる前記第1検証値とを比較することによって、前記発信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第1認証メッセージであることを検証し、
さらに、前記第1認証メッセージ検証手段で正規の第1認証メッセージであることが検証され、かつ、前記第2認証メッセージ検証手段で正規の第2認証メッセージであることが検証された場合にのみ、前記発信側通信ノードと前記着信側通信ノードとが互いに同一の認証子データを保持していると判断し、相互接続を開始することが望ましいものである。
前記発信側通信ノードにおいて、前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第2通信識別子との連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と保持している認証子データとの連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施し、
前記着信側通信ノードにおいて、前記接続要求メッセージに含まれる前記第2通信識別子と、前記着信側通信ノードが保持している前記第1通信識別子との連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と、前記着信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と前記第2認証メッセージに含まれる前記第2検証値とを比較することが望ましいものである。
前記着信側通信ノードにおいて、前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第1通信識別子との連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果と、前記着信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施し、
前記発信側通信ノードにおいて、前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第1通信識別子との連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果と、前記発信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる前記第1検証値とを比較することが望ましいものである。
前記第2認証メッセージの生成処理、前記第2認証メッセージの検証処理、前記第1認証メッセージの生成処理及び前記第1認証メッセージの検証処理における第1の通信識別子と第2の通信識別子とを連結演算において連結する場合、連結前の前記第1通信識別子あるいは前記第2通信識別子のビット長以上になる条件の下で、連結したデータ列のビット長を削減することが望ましいものである。
認証相手の一方の通信ノードから認証手続きの際に受信した第1通信識別子または第2通信識別子を受信通信識別子として記憶し、
他方の通信ノードが認証手続きの際に生成した第1通信識別子または第2通信識別子と、認証子データと、前記受信識別子とに基づいて、認証手続き完了後の暗号化通信に用いる暗号化鍵を生成することが望ましいものである。
本発明の実施形態を通信ノード認証プログラムとして構築した場合、発信側通信ノードを構成するコンピュータに、
前記第1認証メッセージから抽出した予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、前記発信側通信ノードが生成する予測不可能または再現性のない情報である第2通信識別子とに基づいて、前記第2認証メッセージを生成する機能を実行させ、
前記着信側通信ノードを構成するコンピュータに、
前記第2認証メッセージと、前記第2認証メッセージから抽出した第2通信識別子と、前記第1認証メッセージを生成する際に用いた第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、前記第2認証メッセージの検証を行うことで前記発信側通信ノードを認証する機能を実行させることが望ましいものである。
前記発信側通信ノードを構成するコンピュータに、
前記第1認証メッセージに含まれる、第1認証メッセージを識別するための情報であって前記着信側通信ノードによって生成される予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、前記発信側通信ノードが生成する予測不可能または再現性のない第2通信識別子とに基づいて、第2の検証値及び第2通信識別子を含む第2認証メッセージを生成する機能を実行させ、
前記着信側通信ノードを構成するコンピュータに、
前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している、認証子データ及び前記第1認証メッセージに第1通信識別子に基づいて演算した演算結果と、前記第2認証メッセージに含まれる第2の検証値とを比較することによって、前記第1認証メッセージに対応して生成され、かつ、前記着信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第2認証メッセージであることを検証する機能を実行させることが望ましいものである。
前記着信側通信ノードを構成するコンピュータに、
前記着信側通信ノードが保持している認証子データ、及び前記着信側通信ノードが生成した第1通信識別子に基づいて生成される第1検証値と、第1通信識別子とを含む第1認証メッセージを生成する機能を実行させ、
前記発信側通信ノードを構成するコンピュータに、
前記第1認証メッセージに含まれる第1通信識別子、及び前記発信側通信ノードが保持している認証子データに基づいた演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較することによって、前記発信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第1認証メッセージであることを検証する機能を実行させることが望ましいものである。
前記着信側通信ノード及び前記発信側通信ノードをそれぞれ構成するコンピュータに、
前記第1認証メッセージが正規のメッセージであることが検証され、かつ、前記第2認証メッセージが正規のメッセージであることが検証された場合にのみ、発信側通信ノード及び着信側通信ノードが互いに同一の認証子データを保持していると判断し、相互接続を開始する機能を実行させることが望ましいものである。
前記発信側通信ノードを構成するコンピュータに、
前記第2通信識別子とする乱数を生成する機能と、
前記生成された第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する機能と、
前記連結演算の演算結果に対しハッシュ演算を実施する機能とを実行させ、
前記着信側通信ノードを構成するコンピュータに、
前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する機能と、
前記連結演算の演算結果に対しハッシュ演算を実施する機能と、
前記ハッシュ演算の演算結果と、前記第2認証メッセージに含まれる第2の検証値とを比較する機能とを実行させることが望ましいものである。
前記着信側通信ノードを構成するコンピュータに、
前記第1通信識別子とする乱数を生成する機能と、
前記生成された第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する機能と、
前記連結演算の演算結果に対しハッシュ演算を実施する機能とを実行させ、
前記発信側通信ノードを構成するコンピュータに、
前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する機能と、
前記連結演算の演算結果に対しハッシュ演算を実施する機能と、
前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較する機能とを実行させることが望ましいものである。
前記発信側通信ノードを構成するコンピュータに、
前記第2通信識別子とする乱数を生成する機能と、
前記生成された第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施する機能と、
前記排他的論理和演算の演算結果に対しハッシュ演算を実施する機能とを実行させ、
前記着信側通信ノードを構成するコンピュータに、
前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している第1通信識別子及び認証子データとに基づいて、排他的論理和演算を実施する機能と、
前記排他的論理和演算の演算結果に対しハッシュ演算を実施する機能と、
前記ハッシュ演算の演算結果と、前記第2認証メッセージに含まれる第2検証値とを比較する機能とを実行させることが望ましいものである。
前記着信側通信ノードを構成するコンピュータに、
前記第1通信識別子とする乱数を生成する機能と、
前記生成された第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施する機能と、
前記排他的論理和演算の演算結果に対しハッシュ演算を実施する機能とを実行させ、
前記発信側通信ノードを構成するコンピュータに、
前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施する機能と、
前記排他的論理和演算の演算結果に対しハッシュ演算を実施する機能と、
前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較する機能とを実行させることが望ましいものである。
前記発信側通信ノードを構成するコンピュータに、
前記着信側通信ノードが送信した予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、第2通信識別子とに基づいて、前記発信側通信ノードを認証するための第2認証メッセージを生成する機能を実行させ、
前記着信側通信ノードを構成するコンピュータに、
前記第2認証メッセージと、前記発信側通信ノードが送信した予測不可能または再現性のない情報である第2通信識別子と、前記着信側通信ノードが送信した予測不可能または再現性のない情報である第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、前記発信側通信ノードを認証する機能を実行させることが望ましいものである。
前記発信側通信ノードを構成するコンピュータに、
前記発信側通信ノードで生成されて前記接続要求メッセージに含まれた予測不可能または再現性のない情報である第2通信識別子と、前記発信側通信ノードが保持している認証子データと、前記着信側通信ノードで生成されて前記第1認証メッセージに含まれた予測不可能または再現性のない第1通信識別子とに基づいて生成される第2検証値を含む第2認証用メッセージを生成する機能を実行させ、
前記着信側通信ノードを構成するコンピュータに、
前記接続要求メッセージに含まれる前記第2通信識別子と、前記着信側通信ノードが保持している認証子データと、前記着信側通信ノードが生成して保持している第1通信識別子とに基づいて演算された演算結果と、前記第2認証メッセージに含まれる前記第2検証値とを比較することによって、前記第1認証メッセージに対応して生成され、かつ、前記着信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第2認証メッセージであることを検証する機能を実行させることが望ましいものである。
前記着信側通信ノードを構成するコンピュータに、
前記着信側通信ノードが保持している認証子データと、前記接続要求メッセージに含まれる第2通信識別子とに基づいて生成される第1検証値と、前記着信側通信ノードが生成して保持する第1通信識別子とを含む第1認証メッセージを生成する機能を実行させ、
前記発信側通信ノードを構成するコンピュータに、
前記接続要求メッセージに含まれる第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて演算される演算結果と、前記第1認証メッセージに含まれる前記第1検証値とを比較することによって、前記発信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第1認証メッセージであることを検証する機能を実行させ、
前記着信側通信ノード及び前記発信側通信ノードをそれぞれ構成するコンピュータに、
正規の第1認証メッセージであることが検証され、かつ、正規の第2認証メッセージであることが検証された場合にのみ、前記発信側通信ノードと前記着信側通信ノードとが互いに同一の認証子データを保持していると判断し、相互接続を開始する機能を実行させることが望ましいものである。
前記発信側通信ノードを構成するコンピュータに、
前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第2通信識別子との連結演算または排他的論理和演算を実施する機能と、
前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する機能と、
前記ハッシュ演算の演算結果と保持している認証子データとの連結演算または排他的論理和演算を実施する機能と、
前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する機能とを実行させ、
前記着信側通信ノードを構成するコンピュータに、
前記接続要求メッセージに含まれる前記第2通信識別子と、前記着信側通信ノードが保持している前記第1通信識別子との連結演算または排他的論理和演算を実施する機能と、
前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する機能と、
前記ハッシュ演算の演算結果と、前記着信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施する機能と、
前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する機能と、
前記ハッシュ演算の演算結果と前記第2認証メッセージに含まれる前記第2検証値とを比較する機能とを実行させることが望ましいものである。
前記着信側通信ノードを構成するコンピュータに、
前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第1通信識別子との連結演算または排他的論理和演算を実施する機能と、
前記連結演算または排他的論理和演算の演算結果と、前記着信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施する機能と、
前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する機能とを実行させ、
前記発信側通信ノードを構成するコンピュータに、
前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第1通信識別子との連結演算または排他的論理和演算を実施する機能と、
前記連結演算または排他的論理和演算の演算結果と、前記発信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施する機能と、
前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する機能と、
前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる前記第1検証値とを比較する機能とを実行させることが望ましいものである。
前記第2認証メッセージの生成、前記第2認証メッセージの検証、前記第1認証メッセージの生成及び前記第1認証メッセージの検証における第1の通信識別子と第2の通信識別子とを連結演算において連結する場合、連結前の前記第1通信識別子あるいは前記第2通信識別子のビット長以上になる条件の下で、連結したデータ列のビット長を削減することが望ましいものである。
前記コンピュータに、
認証相手の一方の通信ノードから認証手続きの際に受信した第1通信識別子または第2通信識別子を受信通信識別子として記憶し、
他方の通信ノードが認証手続きの際に生成した第1通信識別子または第2通信識別子と、認証子データと、前記受信識別子とに基づいて、認証手続き完了後の暗号化通信に用いる暗号化鍵を生成する機能を実行させることが望ましいものである。
認証を行った後に通信ノード相互間で通信を開始する通信ノード認証システムに用いる通信ノード認証装置を構成するコンピュータに、
発信側となる通信ノードから送信される接続要求メッセージに応答して第1認証メッセージを生成する機能と、
前記発信側となる通信ノードから送信される第2認証メッセージの検証を行う機能とを実行させることが望ましいものである。
認証を行った後に通信ノード相互間で通信を開始する通信ノード認証システムに用いる通信ノード認証装置を構成するコンピュータに、
着信側となる通信ノードから送信される前記第1認証メッセージの検証を行う機能と、
前記第1認証メッセージ検証手段による検証結果に基づいて、発信側通信ノードを認証するための第2認証メッセージを生成する機能とを実行させることが望ましいものである。
本発明は、センサネットワークを構成するセンサノードが相互に認証を行うようなセンサノードに好適に適用可能である。また、ユビキタスシステムを構成するユビキタス機器が相互に認証するようなユビキタス機器にも適用可能である。
さらに、本発明は、演算データのデータ長を小さくすることで演算器に必要な演算回路を十分小さくすることができ、例えば、無線通信用LSIのチップ面積の増加を最小限に押さえて、作り込むことができる。または、本発明による通信ノード認証プログラムを、センサノードやユビキタス機器に搭載するマイクロプロセッサで実行する場合にも、プログラムサイズや通信のデータ長を小さくすることができ、結果、メモリ維持やマイクロプロセッサ演算に要する電力を削減できるので、電池など有限な電源リソースで長時間稼働されるようなセンサノードやユビキタス機器に好適に適用可能である。
本発明の実施形態1に係る通信ノード認証装置を搭載された通信ノードの構成を示すブロック図である。 図1に示す通信ノード認証装置を機能分けして図示したブロック図である。 本発明の実施形態2に係る通信ノード認証装置を搭載した発信側通信ノードと着信側通信ノードとの構成を示すブロック図である。 本発明の実施形態2に係る通信ノード認証装置の動作例を示すフローチャートである。 本発明の実施形態2に係る通信ノード認証装置において、第1認証メッセージを生成する処理過程を示すフローチャートである。 本発明の実施形態2に係る通信ノード認証装置において、第1認証メッセージの検証を行う処理過程を示すフローチャートである。 本発明の実施形態2に係る通信ノード認証装置において、第2認証メッセージを生成する処理過程を示すフローチャートである。 本発明の実施形態2に係る通信ノード認証装置において、第2認証メッセージの検証を行う処理過程を示すフローチャートである。 本発明の実施形態1及び実施形態2に係る通信ノード認証装置に含まれる演算器の変更例を示すブロック図である。 本発明の実施形態を適用した通信ノード間での通信状態と、適用しない場合における通信ノード間での通信状態とを比較して示す説明図である。 本発明の実施形態3に係る通信ノード認証装置の動作例を示すフローチャートである。 本発明の実施形態3に係る通信ノード認証装置における接続要求メッセージ生成の具体的な動作例を示すフローチャートである。 本発明の実施形態3に係る通信ノード認証装置における接続要求メッセージ送信の具体的な動作例を示すフローチャートである。 本発明の実施形態3に係る通信ノード認証装置における第1認証メッセージ生成の具体的な動作例を示すフローチャートである。 本発明の実施形態3に係る通信ノード認証装置における第1認証メッセージ検証の具体的な動作例を示すフローチャートである。 本発明の実施形態3に係る通信ノード認証装置における第2認証メッセージ生成の具体的な動作例を示すフローチャートである。 本発明の実施形態3に係る通信ノード認証装置における第2認証メッセージ検証の具体的な動作例を示すフローチャートである。 本発明の実施形態1及び2と、本発明の実施形態3とにおける通信識別子のビット長の一例を示す説明図である。 本発明の実施形態4に係る通信ノード認証装置の構成を示すブロック図である。 関連する通信ノード認証方法の一例を示す説明図である。
符号の説明
10 通信ノード認証装置
101 第1認証メッセージ生成部
102 第1認証メッセージ検証部
103 第2認証メッセージ生成部
104 第2認証メッセージ検証部
105 接続要求メッセージ生成部
106 接続許可メッセージ生成部
107 接続手続部
108 認証子データ記憶部
109 演算器
110 通信識別子記憶部
111 受信通信識別子
112 共通値生成部
20 メッセージ通信装置

Claims (52)

  1. 相互に通信を行う一方を発信側通信ノードとし、他方を着信側通信ノードとし、認証を行った後に通信ノード相互間で通信を開始する通信ノード認証システムであって、
    前記着信側通信ノードは、
    前記発信側通信ノードから送信される接続要求メッセージに応答して第1認証メッセージを生成する第1認証メッセージ生成手段と、
    前記発信側通信ノードから送信される第2認証メッセージの検証を行う第2認証メッセージ検証手段とを含み、
    前記発信側通信ノードは、
    前記着信側通信ノードから送信される前記第1認証メッセージの検証を行う第1認証メッセージ検証手段と、
    前記第1認証メッセージ検証手段による検証結果に基づいて前記第2認証メッセージを生成する第2認証メッセージ生成手段とを含むことを特徴とする通信ノード認証システム。
  2. 前記発信側通信ノードの前記第2認証メッセージ生成手段は、
    前記第1認証メッセージから抽出した予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、前記発信側通信ノードが生成する予測不可能または再現性のない情報である第2通信識別子とに基づいて、前記第2認証メッセージを生成するものであり、
    前記着信側通信ノードの前記第2認証メッセージ検証手段は、
    前記第2認証メッセージと、前記第2認証メッセージから抽出した第2通信識別子と、前記第1認証メッセージを生成する際に用いた第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、前記第2認証メッセージの検証を行うことで前記発信側通信ノードを認証するものである、請求項1に記載の通信ノード認証システム。
  3. 前記発信側通信ノードの前記第2認証メッセージ生成手段は、
    前記第1認証メッセージに含まれる、第1認証メッセージを識別するための情報であって前記着信側通信ノードによって生成される予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、前記発信側通信ノードが生成する予測不可能または再現性のない第2通信識別子とに基づいて、第2の検証値及び第2通信識別子を含む第2認証メッセージを生成するものであり、
    前記着信側通信ノードの前記第2認証メッセージ検証手段は、
    前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している、認証子データ及び前記第1認証メッセージに第1通信識別子に基づいて演算した演算結果と、前記第2認証メッセージに含まれる第2の検証値とを比較することによって、前記第1認証メッセージに対応して生成され、かつ、前記着信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第2認証メッセージであることを検証するものである、請求項1に記載の通信ノード認証システム。
  4. 前記着信側通信ノードの前記第1認証メッセージ生成手段は、
    前記着信側通信ノードが保持している認証子データ、及び前記着信側通信ノードが生成した第1通信識別子に基づいて生成される第1検証値と、第1通信識別子とを含む第1認証メッセージを生成するものであり、
    前記発信側通信ノードの前記第1認証メッセージ検証手段は、
    前記第1認証メッセージに含まれる第1通信識別子、及び前記発信側通信ノードが保持している認証子データに基づいた演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較することによって、前記発信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第1認証メッセージであることを検証するものである、請求項1に記載の通信ノード認証システム。
  5. さらに、接続手続手段を有し、
    前記接続手続手段は、
    前記第1認証メッセージが正規のメッセージであることが検証され、かつ、前記第2認証メッセージが正規のメッセージであることが検証された場合にのみ、発信側通信ノード及び着信側通信ノードが互いに同一の認証子データを保持していると判断し、相互接続を開始するものである、請求項1に記載の通信ノード認証システム。
  6. 前記発信側通信ノードの前記第2認証メッセージ生成手段は、
    前記第2通信識別子とする乱数を生成する手段と、
    前記生成された第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する手段と、
    前記連結演算の演算結果に対しハッシュ演算を実施する手段とを含み、
    前記着信側通信ノードの前記第2認証メッセージ検証手段は、
    前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する手段と、
    前記連結演算の演算結果に対しハッシュ演算を実施する手段と、
    前記ハッシュ演算の演算結果と、前記第2認証メッセージに含まれる第2の検証値とを比較する手段とを含む、請求項2又は3に記載の通信ノード認証システム。
  7. 前記着信側通信ノードの前記第1認証メッセージ生成手段は、
    前記第1通信識別子とする乱数を生成する手段と、
    前記生成された第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する手段と、
    前記連結演算の演算結果に対しハッシュ演算を実施する手段とを含み、
    前記発信側通信ノードの前記第1認証メッセージ検証手段は、
    前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する手段と、
    前記連結演算の演算結果に対しハッシュ演算を実施する手段と、
    前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較する手段とを含む、請求項4に記載の通信ノード認証システム。
  8. 前記発信側通信ノードの前記第2認証メッセージ生成手段は、
    前記第2通信識別子とする乱数を生成する手段と、
    前記生成された第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施する手段と、
    前記排他的論理和演算の演算結果に対しハッシュ演算を実施する手段とを含み、
    前記着信側通信ノードの前記第2認証メッセージ検証手段は、
    前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している第1通信識別子及び認証子データとに基づいて、排他的論理和演算を実施する手段と、
    前記排他的論理和演算の演算結果に対しハッシュ演算を実施する手段と、
    前記ハッシュ演算の演算結果と、前記第2認証メッセージに含まれる第2検証値とを比較する手段とを含む、請求項2又は3に記載の通信ノード認証システム。
  9. 前記着信側通信ノードの前記第1認証メッセージ生成手段は、
    前記第1通信識別子とする乱数を生成する手段と、
    前記生成された第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施する手段と、
    前記排他的論理和演算の演算結果に対しハッシュ演算を実施する手段とを含み、
    前記発信側通信ノードの前記第1認証メッセージ検証手段は、
    前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施する手段と、
    前記排他的論理和演算の演算結果に対しハッシュ演算を実施する手段と、
    前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較する手段とを含む、請求項4に記載の通信ノード認証システム。
  10. 前記発信側通信ノードの前記第2認証メッセージ生成手段は、
    前記着信側通信ノードが送信した予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、第2通信識別子とに基づいて、前記発信側通信ノードを認証するための第2認証メッセージを生成するものであり、
    前記着信側通信ノードの前記第2認証メッセージ検証手段は、
    前記第2認証メッセージと、前記発信側通信ノードが送信した予測不可能または再現性のない情報である第2通信識別子と、前記着信側通信ノードが送信した予測不可能または再現性のない情報である第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、前記発信側通信ノードを認証するものである、請求項1に記載の通信ノード認証システム。
  11. 前記発信側通信ノードの前記第2認証メッセージ生成手段は、
    前記発信側通信ノードで生成されて前記接続要求メッセージに含まれた予測不可能または再現性のない情報である第2通信識別子と、前記発信側通信ノードが保持している認証子データと、前記着信側通信ノードで生成されて前記第1認証メッセージに含まれた予測不可能または再現性のない第1通信識別子とに基づいて生成される第2検証値を含む第2認証メッセージを生成するものであり、
    前記着信側通信ノードの前記第2認証検証手段は、
    前記接続要求メッセージに含まれる前記第2通信識別子と、前記着信側通信ノードが保持している認証子データと、前記着信側通信ノードが生成して保持している第1通信識別子とに基づいて演算された演算結果と、前記第2認証メッセージに含まれる前記第2検証値とを比較することによって、前記第1認証メッセージに対応して生成され、かつ、前記着信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第2認証メッセージであることを検証するものである、請求項10に記載の通信ノード認証システム。
  12. 前記着信側通信ノードの前記第1認証メッセージ生成手段は、
    前記着信側通信ノードが保持している認証子データと、前記接続要求メッセージに含まれる第2通信識別子とに基づいて生成される第1検証値と、前記着信側通信ノードが生成して保持する第1通信識別子とを含む第1認証メッセージを生成するものであり、
    前記発信側通信ノードの前記第1認証メッセージ検証手段は、
    前記接続要求メッセージに含まれる第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて演算される演算結果と、前記第1認証メッセージに含まれる前記第1検証値とを比較することによって、前記発信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第1認証メッセージであることを検証するものであり、
    さらに、前記第1認証メッセージ検証手段で正規の第1認証メッセージであることが検証され、かつ、前記第2認証メッセージ検証手段で正規の第2認証メッセージであることが検証された場合にのみ、前記発信側通信ノードと前記着信側通信ノードとが互いに同一の認証子データを保持していると判断し、相互接続を開始する接続手続手段を有する、請求項10又は11に記載の通信ノード認証システム。
  13. 前記発信側通信ノードの第2認証メッセージ生成手段は、
    前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第2通信識別子との連結演算または排他的論理和演算を実施する手段と、
    前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する手段と、
    前記ハッシュ演算の演算結果と保持している認証子データとの連結演算または排他的論理和演算を実施する手段と、
    前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する手段とを含み、
    前記着信側通信ノードの前記第2認証メッセージ検証手段は、
    前記接続要求メッセージに含まれる前記第2通信識別子と、前記着信側通信ノードが保持している前記第1通信識別子との連結演算または排他的論理和演算を実施する手段と、
    前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する手段と、
    前記ハッシュ演算の演算結果と、前記着信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施する手段と、
    前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する手段と、
    前記ハッシュ演算の演算結果と前記第2認証メッセージに含まれる前記第2検証値とを比較する手段とを含む、請求項10、11又は12のいずれか一項に記載の通信ノード認証システム。
  14. 前記着信側通信ノードの前記第1認証メッセージ生成手段は、
    前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第1通信識別子との連結演算または排他的論理和演算を実施する手段と、
    前記連結演算または排他的論理和演算の演算結果と、前記着信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施する手段と、
    前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する手段とを含み、
    前記発信側通信ノードの前記第1認証メッセージ検証手段は、
    前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第1通信識別子との連結演算または排他的論理和演算を実施する手段と、
    前記連結演算または排他的論理和演算の演算結果と、前記発信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施する手段と、
    前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する手段と、
    前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる前記第1検証値とを比較する手段とを含む、請求項10、11又は12のいずれか一項に記載の通信ノード認証システム。
  15. 前記第2認証メッセージ生成手段、前記第2認証メッセージ検証手段、前記第1認証メッセージ生成手段及び前記第1認証メッセージ検証手段における第1の通信識別子と第2の通信識別子とを連結演算において連結する場合、連結後のビット長が、請求項1〜9のいずれかに記載の第1通信識別子と第2通信識別子のビット長以上になる条件の下で、第1通信識別子と第2通信識別子のビット長を削減する、請求項10、11、12、13又は14のいずれか一項に記載の通信ノード認証システム。
  16. 認証相手の一方の通信ノードから認証手続きの際に受信した第1通信識別子または第2通信識別子を受信通信識別子として記憶する手段と、
    他方の通信ノードが認証手続きの際に生成した第1通信識別子または第2通信識別子と、認証子データと、前記受信識別子とに基づいて、認証手続き完了後の暗号化通信に用いる暗号化鍵を生成する手段とを含む、請求項1〜7、請求項10〜15のいずれか一項に記載の通信ノード認証システム。
  17. 認証を行った後に通信ノード相互間で通信を開始する通信ノード認証システムに用いる通信ノード認証装置であって、
    発信側となる通信ノードから送信される接続要求メッセージに応答して第1認証メッセージを生成する第1認証メッセージ生成手段と、
    前記発信側となる通信ノードから送信される第2認証メッセージの検証を行う第2認証メッセージ検証手段とを含むことを特徴とする通信ノード認証装置。
  18. 認証を行った後に通信ノード相互間で通信を開始する通信ノード認証システムに用いる通信ノード認証装置であって、
    着信側となる通信ノードから送信される前記第1認証メッセージの検証を行う第1認証メッセージ検証手段と、
    前記第1認証メッセージ検証手段による検証結果に基づいて、発信側通信ノードを認証するための第2認証メッセージを生成する第2認証メッセージ生成手段とを含むことを特徴とする通信ノード認証装置。
  19. 相互に通信を行う一方を発信側通信ノードとし、他方を着信側通信ノードとし、認証を行った後に通信ノード相互間で通信を開始する通信ノード認証方法であって、
    前記着信側通信ノードにおいて、前記発信側通信ノードから送信される接続要求メッセージに応答して第1認証メッセージを生成する処理を実行し、
    前記発信側通信ノードにおいて、前記着信側通信ノードから送信される前記第1認証メッセージの検証を行う処理と、前記第1認証メッセージの検証結果に基づいて第2認証メッセージを生成する処理とを実行し、
    前記着信側通信ノードにおいて、前記発信側通信ノードから送信される第2認証メッセージの検証を行う処理を実行することを特徴とする通信認証方法。
  20. 前記発信側通信ノードにおいて、前記第1認証メッセージから抽出した予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、前記発信側通信ノードが生成する予測不可能または再現性のない情報である第2通信識別子とに基づいて、前記第2認証メッセージを生成し、
    前記着信側通信ノードにおいて、前記第2認証メッセージと、前記第2認証メッセージから抽出した第2通信識別子と、前記第1認証メッセージを生成する際に用いた第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、前記第2認証メッセージの検証を行うことで前記発信側通信ノードを認証する、請求項19に記載の通信ノード認証方法。
  21. 前記発信側通信ノードにおいて、前記第1認証メッセージに含まれる、第1認証メッセージを識別するための情報であって前記着信側通信ノードによって生成される予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、前記発信側通信ノードが生成する予測不可能または再現性のない第2通信識別子とに基づいて、第2の検証値及び第2通信識別子を含む第2認証メッセージを生成し、
    前記着信側通信ノードにおいて、前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している、認証子データ及び前記第1認証メッセージに第1通信識別子に基づいて演算した演算結果と、前記第2認証メッセージに含まれる第2の検証値とを比較することによって、前記第1認証メッセージに対応して生成され、かつ、前記着信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第2認証メッセージであることを検証するものである、請求項19に記載の通信ノード認証方法。
  22. 前記着信側通信ノードにおいて、前記着信側通信ノードが保持している認証子データ、及び前記着信側通信ノードが生成した第1通信識別子に基づいて生成される第1検証値と、第1通信識別子とを含む第1認証メッセージを生成し、
    前記発信側通信ノードにおいて、前記第1認証メッセージに含まれる第1通信識別子、及び前記発信側通信ノードが保持している認証子データに基づいた演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較することによって、前記発信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第1認証メッセージであることを検証する、請求項19に記載の通信ノード認証方法。
  23. 前記第1認証メッセージが正規のメッセージであることが検証され、かつ、前記第2認証メッセージが正規のメッセージであることが検証された場合にのみ、発信側通信ノード及び着信側通信ノードが互いに同一の認証子データを保持していると判断し、相互接続を開始する、請求項19に記載の通信ノード認証方法。
  24. 前記発信側通信ノードにおいて、前記第2通信識別子とする乱数を生成し、前記生成された第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、連結演算を実施し、前記連結演算の演算結果に対しハッシュ演算を実施し、
    前記着信側通信ノードにおいて、前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、連結演算を実施し、前記連結演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と、前記第2認証メッセージに含まれる第2の検証値とを比較する、請求項20又は21に記載の通信ノード認証方法。
  25. 前記着信側通信ノードにおいて、前記第1通信識別子とする乱数を生成し、前記生成された第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、連結演算を実施し、前記連結演算の演算結果に対しハッシュ演算を実施し、
    前記発信側通信ノードにおいて、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、連結演算を実施し、前記連結演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較する、請求項22に記載の通信ノード認証方法。
  26. 前記発信側通信ノードにおいて、前記第2通信識別子とする乱数を生成し、前記生成された第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施し、前記排他的論理和演算の演算結果に対しハッシュ演算を実施し、
    前記着信側通信ノードにおいて、前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している第1通信識別子及び認証子データとに基づいて、排他的論理和演算を実施し、前記排他的論理和演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と、前記第2認証メッセージに含まれる第2検証値とを比較する、請求項20又は21記載の通信ノード認証方法。
  27. 前記着信側通信ノードにおいて、前記第1通信識別子とする乱数を生成し、前記生成された第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施し、前記排他的論理和演算の演算結果に対しハッシュ演算を実施し、
    前記発信側通信ノードにおいて、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施し、前記排他的論理和演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較する、請求項22に記載の通信ノード認証方法。
  28. 前記発信側通信ノードにおいて、前記着信側通信ノードが送信した予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、第2通信識別子とに基づいて、前記発信側通信ノードを認証するための第2認証メッセージを生成し、
    前記着信側通信ノードにおいて、前記第2認証メッセージと、前記発信側通信ノードが送信した予測不可能または再現性のない情報である第2通信識別子と、前記着信側通信ノードが送信した予測不可能または再現性のない情報である第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、前記発信側通信ノードを認証する、請求項19に記載の通信ノード認証方法。
  29. 前記発信側通信ノードにおいて、前記発信側通信ノードで生成されて前記接続要求メッセージに含まれた予測不可能または再現性のない情報である第2通信識別子と、前記発信側通信ノードが保持している認証子データと、前記着信側通信ノードで生成されて前記第1認証メッセージに含まれた予測不可能または再現性のない第1通信識別子とに基づいて生成される第2検証値を含む第2認証用メッセージを生成し、
    前記着信側通信ノードにおいて、前記接続要求メッセージに含まれる前記第2通信識別子と、前記着信側通信ノードが保持している認証子データと、前記着信側通信ノードが生成して保持している第1通信識別子とに基づいて演算された演算結果と、前記第2認証メッセージに含まれる前記第2検証値とを比較することによって、前記第1認証メッセージに対応して生成され、かつ、前記着信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第2認証メッセージであることを検証する、請求項28に記載の通信ノード認証方法。
  30. 前記着信側通信ノードにおいて、前記着信側通信ノードが保持している認証子データと、前記接続要求メッセージに含まれる第2通信識別子とに基づいて生成される第1検証値と、前記着信側通信ノードが生成して保持する第1通信識別子とを含む第1認証メッセージを生成し、
    前記発信側通信ノードにおいて、前記接続要求メッセージに含まれる第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて演算される演算結果と、前記第1認証メッセージに含まれる前記第1検証値とを比較することによって、前記発信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第1認証メッセージであることを検証し、
    さらに、前記第1認証メッセージ検証手段で正規の第1認証メッセージであることが検証され、かつ、前記第2認証メッセージ検証手段で正規の第2認証メッセージであることが検証された場合にのみ、前記発信側通信ノードと前記着信側通信ノードとが互いに同一の認証子データを保持していると判断し、相互接続を開始する、請求項28又は29に記載の通信ノード認証方法。
  31. 前記発信側通信ノードにおいて、前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第2通信識別子との連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と保持している認証子データとの連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施し、
    前記着信側通信ノードにおいて、前記接続要求メッセージに含まれる前記第2通信識別子と、前記着信側通信ノードが保持している前記第1通信識別子との連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と、前記着信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と前記第2認証メッセージに含まれる前記第2検証値とを比較する、請求項28、29又は30のいずれか一項に記載の通信ノード認証方法。
  32. 前記着信側通信ノードにおいて、前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第1通信識別子との連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果と、前記着信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施し、
    前記発信側通信ノードにおいて、前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第1通信識別子との連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果と、前記発信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施し、前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施し、前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる前記第1検証値とを比較する、請求項28、29又は30のいずれか一項に記載の通信ノード認証方法。
  33. 前記第2認証メッセージの生成処理、前記第2認証メッセージの検証処理、前記第1認証メッセージの生成処理及び前記第1認証メッセージの検証処理における第1の通信識別子と第2の通信識別子とを連結演算において連結する場合、連結前の前記第1通信識別子あるいは前記第2通信識別子のビット長以上になる条件の下で、連結したデータ列のビット長を削減する、請求項28、29、30、31又は32のいずれか一項に記載の通信ノード認証方法。
  34. 認証相手の一方の通信ノードから認証手続きの際に受信した第1通信識別子または第2通信識別子を受信通信識別子として記憶し、
    他方の通信ノードが認証手続きの際に生成した第1通信識別子または第2通信識別子と、認証子データと、前記受信識別子とに基づいて、認証手続き完了後の暗号化通信に用いる暗号化鍵を生成する、請求項19〜25、請求項28〜33のいずれか一項に記載の通信ノード認証方法。
  35. 相互に通信を行う一方を発信側通信ノードとし、他方を着信側通信ノードとし、認証を行った後に通信ノード相互間で通信を開始する通信ノード認証プログラムであって、
    前記着信側通信ノードを構成するコンピュータに、
    前記発信側通信ノードから送信される接続要求メッセージに応答して第1認証メッセージを生成する機能と、
    前記発信側通信ノードから送信される第2認証メッセージの検証を行う機能とを実行させ、
    前記発信側通信ノードを構成するコンピュータに、
    前記着信側通信ノードから送信される前記第1認証メッセージの検証を行う機能と、
    前記第1認証メッセージの検証結果に基づいて前記第2認証メッセージを生成する機能とを実行させることを特徴とする通信ノード認証プログラム。
  36. 前記発信側通信ノードを構成するコンピュータに、
    前記第1認証メッセージから抽出した予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、前記発信側通信ノードが生成する予測不可能または再現性のない情報である第2通信識別子とに基づいて、前記第2認証メッセージを生成する機能を実行させ、
    前記着信側通信ノードを構成するコンピュータに、
    前記第2認証メッセージと、前記第2認証メッセージから抽出した第2通信識別子と、前記第1認証メッセージを生成する際に用いた第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、前記第2認証メッセージの検証を行うことで前記発信側通信ノードを認証する機能を実行させる、請求項35に記載の通信ノード認証プログラム。
  37. 前記発信側通信ノードを構成するコンピュータに、
    前記第1認証メッセージに含まれる、第1認証メッセージを識別するための情報であって前記着信側通信ノードによって生成される予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、前記発信側通信ノードが生成する予測不可能または再現性のない第2通信識別子とに基づいて、第2の検証値及び第2通信識別子を含む第2認証メッセージを生成する機能を実行させ、
    前記着信側通信ノードを構成するコンピュータに、
    前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している、認証子データ及び前記第1認証メッセージに第1通信識別子に基づいて演算した演算結果と、前記第2認証メッセージに含まれる第2の検証値とを比較することによって、前記第1認証メッセージに対応して生成され、かつ、前記着信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第2認証メッセージであることを検証する機能を実行させる、請求項35に記載の通信ノード認証プログラム。
  38. 前記着信側通信ノードを構成するコンピュータに、
    前記着信側通信ノードが保持している認証子データ、及び前記着信側通信ノードが生成した第1通信識別子に基づいて生成される第1検証値と、第1通信識別子とを含む第1認証メッセージを生成する機能を実行させ、
    前記発信側通信ノードを構成するコンピュータに、
    前記第1認証メッセージに含まれる第1通信識別子、及び前記発信側通信ノードが保持している認証子データに基づいた演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較することによって、前記発信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第1認証メッセージであることを検証する機能を実行させる、請求項35に記載の通信ノード認証プログラム。
  39. 前記着信側通信ノード及び前記発信側通信ノードをそれぞれ構成するコンピュータに、
    前記第1認証メッセージが正規のメッセージであることが検証され、かつ、前記第2認証メッセージが正規のメッセージであることが検証された場合にのみ、発信側通信ノード及び着信側通信ノードが互いに同一の認証子データを保持していると判断し、相互接続を開始する機能を実行させる、請求項35に記載の通信ノード認証プログラム。
  40. 前記発信側通信ノードを構成するコンピュータに、
    前記第2通信識別子とする乱数を生成する機能と、
    前記生成された第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する機能と、
    前記連結演算の演算結果に対しハッシュ演算を実施する機能とを実行させ、
    前記着信側通信ノードを構成するコンピュータに、
    前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する機能と、
    前記連結演算の演算結果に対しハッシュ演算を実施する機能と、
    前記ハッシュ演算の演算結果と、前記第2認証メッセージに含まれる第2の検証値とを比較する機能とを実行させる、請求項38又は39に記載の通信ノード認証プログラム。
  41. 前記着信側通信ノードを構成するコンピュータに、
    前記第1通信識別子とする乱数を生成する機能と、
    前記生成された第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する機能と、
    前記連結演算の演算結果に対しハッシュ演算を実施する機能とを実行させ、
    前記発信側通信ノードを構成するコンピュータに、
    前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、連結演算を実施する機能と、
    前記連結演算の演算結果に対しハッシュ演算を実施する機能と、
    前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較する機能とを実行させる、請求項40に記載の通信ノード認証プログラム。
  42. 前記発信側通信ノードを構成するコンピュータに、
    前記第2通信識別子とする乱数を生成する機能と、
    前記生成された第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施する機能と、
    前記排他的論理和演算の演算結果に対しハッシュ演算を実施する機能とを実行させ、
    前記着信側通信ノードを構成するコンピュータに、
    前記第2認証メッセージに含まれる第2通信識別子と、前記着信側通信ノードが保持している第1通信識別子及び認証子データとに基づいて、排他的論理和演算を実施する機能と、
    前記排他的論理和演算の演算結果に対しハッシュ演算を実施する機能と、
    前記ハッシュ演算の演算結果と、前記第2認証メッセージに含まれる第2検証値とを比較する機能とを実行させる、請求項38又は39に記載の通信ノード認証プログラム。
  43. 前記着信側通信ノードを構成するコンピュータに、
    前記第1通信識別子とする乱数を生成する機能と、
    前記生成された第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施する機能と、
    前記排他的論理和演算の演算結果に対しハッシュ演算を実施する機能とを実行させ、
    前記発信側通信ノードを構成するコンピュータに、
    前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて、排他的論理和演算を実施する機能と、
    前記排他的論理和演算の演算結果に対しハッシュ演算を実施する機能と、
    前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる第1検証値とを比較する機能とを実行させる、請求項40に記載の通信ノード認証プログラム。
  44. 前記発信側通信ノードを構成するコンピュータに、
    前記着信側通信ノードが送信した予測不可能または再現性のない情報である第1通信識別子と、前記発信側通信ノードが保持している認証子データと、第2通信識別子とに基づいて、前記発信側通信ノードを認証するための第2認証メッセージを生成する機能を実行させ、
    前記着信側通信ノードを構成するコンピュータに、
    前記第2認証メッセージと、前記発信側通信ノードが送信した予測不可能または再現性のない情報である第2通信識別子と、前記着信側通信ノードが送信した予測不可能または再現性のない情報である第1通信識別子と、前記着信側通信ノードが保持している認証子データとに基づいて、前記発信側通信ノードを認証する機能を実行させる、請求項37に記載の通信ノード認証プログラム。
  45. 前記発信側通信ノードを構成するコンピュータに、
    前記発信側通信ノードで生成されて前記接続要求メッセージに含まれた予測不可能または再現性のない情報である第2通信識別子と、前記発信側通信ノードが保持している認証子データと、前記着信側通信ノードで生成されて前記第1認証メッセージに含まれた予測不可能または再現性のない第1通信識別子とに基づいて生成される第2検証値を含む第2認証用メッセージを生成する機能を実行させ、
    前記着信側通信ノードを構成するコンピュータに、
    前記接続要求メッセージに含まれる前記第2通信識別子と、前記着信側通信ノードが保持している認証子データと、前記着信側通信ノードが生成して保持している第1通信識別子とに基づいて演算された演算結果と、前記第2認証メッセージに含まれる前記第2検証値とを比較することによって、前記第1認証メッセージに対応して生成され、かつ、前記着信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第2認証メッセージであることを検証する機能を実行させる、請求項44に記載の通信ノード認証プログラム。
  46. 前記着信側通信ノードを構成するコンピュータに、
    前記着信側通信ノードが保持している認証子データと、前記接続要求メッセージに含まれる第2通信識別子とに基づいて生成される第1検証値と、前記着信側通信ノードが生成して保持する第1通信識別子とを含む第1認証メッセージを生成する機能を実行させ、
    前記発信側通信ノードを構成するコンピュータに、
    前記接続要求メッセージに含まれる第2通信識別子と、前記第1認証メッセージに含まれる第1通信識別子と、前記発信側通信ノードが保持している認証子データとに基づいて演算される演算結果と、前記第1認証メッセージに含まれる前記第1検証値とを比較することによって、前記発信側通信ノードが保持している認証子データと同一の認証子データから生成された正規の第1認証メッセージであることを検証する機能を実行させ、
    前記着信側通信ノード及び前記発信側通信ノードをそれぞれ構成するコンピュータに、
    正規の第1認証メッセージであることが検証され、かつ、正規の第2認証メッセージであることが検証された場合にのみ、前記発信側通信ノードと前記着信側通信ノードとが互いに同一の認証子データを保持していると判断し、相互接続を開始する機能を実行させる、請求項44又は45に記載の通信ノード認証プログラム。
  47. 前記発信側通信ノードを構成するコンピュータに、
    前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第2通信識別子との連結演算または排他的論理和演算を実施する機能と、
    前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する機能と、
    前記ハッシュ演算の演算結果と保持している認証子データとの連結演算または排他的論理和演算を実施する機能と、
    前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する機能とを実行させ、
    前記着信側通信ノードを構成するコンピュータに、
    前記接続要求メッセージに含まれる前記第2通信識別子と、前記着信側通信ノードが保持している前記第1通信識別子との連結演算または排他的論理和演算を実施する機能と、
    前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する機能と、
    前記ハッシュ演算の演算結果と、前記着信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施する機能と、
    前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する機能と、
    前記ハッシュ演算の演算結果と前記第2認証メッセージに含まれる前記第2検証値とを比較する機能とを実行させる、請求項46、47又は48のいずれか一項に記載の通信ノード認証プログラム。
  48. 前記着信側通信ノードを構成するコンピュータに、
    前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第1通信識別子との連結演算または排他的論理和演算を実施する機能と、
    前記連結演算または排他的論理和演算の演算結果と、前記着信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施する機能と、
    前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する機能とを実行させ、
    前記発信側通信ノードを構成するコンピュータに、
    前記接続要求メッセージに含まれる前記第2通信識別子と、前記第1認証メッセージに含まれる前記第1通信識別子との連結演算または排他的論理和演算を実施する機能と、
    前記連結演算または排他的論理和演算の演算結果と、前記発信側通信ノードが保持している認証子データとの連結演算または排他的論理和演算を実施する機能と、
    前記連結演算または排他的論理和演算の演算結果に対しハッシュ演算を実施する機能と、
    前記ハッシュ演算の演算結果と、前記第1認証メッセージに含まれる前記第1検証値とを比較する機能とを実行させる、請求項46、47又は48のいずれか一項に記載の通信ノード認証プログラム。
  49. 前記第2認証メッセージの生成、前記第2認証メッセージの検証、前記第1認証メッセージの生成及び前記第1認証メッセージの検証における第1の通信識別子と第2の通信識別子とを連結演算において連結する場合、連結前の前記第1通信識別子あるいは前記第2通信識別子のビット長以上になる条件の下で、連結したデータ列のビット長を削減する、請求項46、47、48、49又は50のいずれか一項に記載の通信ノード認証プログラム。
  50. 前記コンピュータに、
    認証相手の一方の通信ノードから認証手続きの際に受信した第1通信識別子または第2通信識別子を受信通信識別子として記憶し、
    他方の通信ノードが認証手続きの際に生成した第1通信識別子または第2通信識別子と、認証子データと、前記受信識別子とに基づいて、認証手続き完了後の暗号化通信に用いる暗号化鍵を生成する機能を実行させる、請求項37〜43、請求項46〜51のいずれか一項に記載の通信ノード認証プログラム。
  51. 認証を行った後に通信ノード相互間で通信を開始する通信ノード認証システムに用いる通信ノード認証装置を構成するコンピュータに、
    発信側となる通信ノードから送信される接続要求メッセージに応答して第1認証メッセージを生成する機能と、
    前記発信側となる通信ノードから送信される第2認証メッセージの検証を行う機能とを実行させることを特徴とする通信ノード認証プログラム。
  52. 認証を行った後に通信ノード相互間で通信を開始する通信ノード認証システムに用いる通信ノード認証装置を構成するコンピュータに、
    着信側となる通信ノードから送信される前記第1認証メッセージの検証を行う機能と、
    前記第1認証メッセージ検証手段による検証結果に基づいて、発信側通信ノードを認証するための第2認証メッセージを生成する機能とを実行させることを特徴とする通信ノード認証プログラム。
JP2008517835A 2006-06-01 2007-05-17 通信ノード認証システム及び方法、通信ノード認証プログラム Withdrawn JPWO2007138876A1 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2006153774 2006-06-01
JP2006153774 2006-06-01
JP2007111384 2007-04-20
JP2007111384 2007-04-20
PCT/JP2007/060140 WO2007138876A1 (ja) 2006-06-01 2007-05-17 通信ノード認証システム及び方法、通信ノード認証プログラム

Publications (1)

Publication Number Publication Date
JPWO2007138876A1 true JPWO2007138876A1 (ja) 2009-10-01

Family

ID=38778395

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008517835A Withdrawn JPWO2007138876A1 (ja) 2006-06-01 2007-05-17 通信ノード認証システム及び方法、通信ノード認証プログラム

Country Status (4)

Country Link
US (1) US20090150670A1 (ja)
EP (1) EP2023530A1 (ja)
JP (1) JPWO2007138876A1 (ja)
WO (1) WO2007138876A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011077493A1 (de) * 2010-06-23 2012-04-26 Robert Bosch Gmbh Verfahren und Vorrichtung zur Datenübertragung mit variabler Bitlänge
DE102013108713B8 (de) * 2013-08-12 2016-10-13 WebID Solutions GmbH Verfahren zum Verifizieren der ldentität eines Nutzers
CN112910652B (zh) * 2021-01-18 2022-11-08 湖南海格力士智能科技有限公司 遥控器识别方法及遥控器识别装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3154325B2 (ja) * 1996-11-28 2001-04-09 日本アイ・ビー・エム株式会社 認証情報を画像に隠し込むシステム及び画像認証システム
JP2003044436A (ja) * 2001-08-02 2003-02-14 Sony Corp 認証処理方法、および情報処理装置、並びにコンピュータ・プログラム
KR100803272B1 (ko) * 2004-01-29 2008-02-13 삼성전자주식회사 아이피 브이 식스 네트워크에서 인증을 처리하는 방법 및그 장치
JP4345596B2 (ja) * 2004-04-22 2009-10-14 セイコーエプソン株式会社 無線通信ネットワークシステムにおける接続認証
JP2005347897A (ja) * 2004-05-31 2005-12-15 Kabe Toshiaki 1組の電子鍵及びその生成方法
JP4479389B2 (ja) * 2004-07-09 2010-06-09 富士ゼロックス株式会社 文書管理用コンピュータプログラムならびに文書管理装置および方法
JP2006153774A (ja) 2004-11-30 2006-06-15 Osaka Prefecture 周期運動体の状態診断方法、診断装置、診断システム、コンピュータプログラム及び記録媒体
JP4551202B2 (ja) * 2004-12-07 2010-09-22 株式会社日立製作所 アドホックネットワークの認証方法、および、その無線通信端末
JP4947538B2 (ja) 2005-10-21 2012-06-06 サミー株式会社 パチンコ遊技機
US7461253B2 (en) * 2005-11-22 2008-12-02 Motorola, Inc. Method and apparatus for providing a key for secure communications
KR100988179B1 (ko) * 2006-04-11 2010-10-18 퀄컴 인코포레이티드 다중 인증을 바인딩하는 방법 및 장치

Also Published As

Publication number Publication date
EP2023530A1 (en) 2009-02-11
WO2007138876A1 (ja) 2007-12-06
US20090150670A1 (en) 2009-06-11

Similar Documents

Publication Publication Date Title
Aman et al. Low power data integrity in IoT systems
Yang et al. Faster authenticated key agreement with perfect forward secrecy for industrial internet-of-things
CN106464499B (zh) 通信网络系统、发送节点、接收节点、消息检查方法、发送方法及接收方法
JP5446650B2 (ja) 通信データ新規性確認システム並びに送信端末及び受信端末
US8230219B2 (en) Reduced computation for bit-by-bit password verification in mutual authentication
CN109756893B (zh) 一种基于混沌映射的群智感知物联网匿名用户认证方法
KR101048509B1 (ko) 유비쿼터스 센서 네트워크에서의 위치 정보 및 해쉬 체인을 이용한 시빌 공격 노드 탐지 방법 및 장치
Wang et al. A secure and efficient multiserver authentication and key agreement protocol for internet of vehicles
CN110147666B (zh) 物联网场景下的轻量级nfc身份认证方法、物联网通信平台
CN110149209A (zh) 物联网设备及其提高数据传输安全性的方法和装置
RU2645597C2 (ru) Способ аутентификации в канале скрытой передачи данных
CN112989426A (zh) 授权认证方法及装置、资源访问令牌的获取方法
US10122755B2 (en) Method and apparatus for detecting that an attacker has sent one or more messages to a receiver node
CN110191467A (zh) 一种物联网设备的鉴权方法、设备、装置及存储介质
CN105162592B (zh) 一种认证可穿戴设备的方法及系统
JP6804026B2 (ja) 暗号化通信システム
CN112311553B (zh) 一种基于挑战应答的设备认证方法
JPWO2007138876A1 (ja) 通信ノード認証システム及び方法、通信ノード認証プログラム
CN109302425A (zh) 身份认证方法及终端设备
CN104994085A (zh) 一种无线传感器网络中身份认证方法及系统
CN114257419B (zh) 设备认证方法、装置、计算机设备和存储介质
CN105681364B (zh) 一种基于增强绑定的IPv6移动终端抗攻击方法
CN104486082A (zh) 认证方法和路由器
CN101461176A (zh) 通信节点认证系统和方法以及通信节点认证程序
JP5664104B2 (ja) 通信システム、並びに、通信装置及びプログラム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100803