[go: up one dir, main page]

JP2008141360A - メッセージ認証システム及びメッセージ認証方法 - Google Patents

メッセージ認証システム及びメッセージ認証方法 Download PDF

Info

Publication number
JP2008141360A
JP2008141360A JP2006324059A JP2006324059A JP2008141360A JP 2008141360 A JP2008141360 A JP 2008141360A JP 2006324059 A JP2006324059 A JP 2006324059A JP 2006324059 A JP2006324059 A JP 2006324059A JP 2008141360 A JP2008141360 A JP 2008141360A
Authority
JP
Japan
Prior art keywords
message
authenticator
transmission
information
authentication
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.)
Granted
Application number
JP2006324059A
Other languages
English (en)
Other versions
JP4197031B2 (ja
Inventor
Kenji Yao
健嗣 八百
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2006324059A priority Critical patent/JP4197031B2/ja
Priority to US11/976,374 priority patent/US20080133921A1/en
Publication of JP2008141360A publication Critical patent/JP2008141360A/ja
Application granted granted Critical
Publication of JP4197031B2 publication Critical patent/JP4197031B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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
    • H04L9/3242Cryptographic 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 involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】マルチホップ型ネットワークにおいて、ノードが保持するデータ容量を減少させることが可能なメッセージ認証システムを提供すること。
【解決手段】認証子生成鍵を用いて、メッセージを認証するための第1認証子と第1認証子を認証するための第2認証子とを生成する送信予告情報生成部114を含み、送信予告情報に対するメッセージ受信装置120からの受信証明情報を認証した後で、メッセージと認証子生成鍵とを送信するメッセージ送信装置110と、送信予告情報の受信を証明する受信証明情報を生成する受信証明情報生成部122と、第2認証子と認証子生成鍵とを用いて第1認証子の認証を行う第1認証子認証部125と、認証された第1認証子と認証子生成鍵とを用いてメッセージ送信装置110から受信したメッセージの認証を行うメッセージ認証部126と、を含むメッセージ受信装置120とを備える、メッセージ認証システムが提供される。
【選択図】図1

Description

本発明は、メッセージ認証システム及びメッセージ認証方法に関する。
近年、小型の無線通信装置を内蔵した多数のセンサを用いて、ワイヤレスで情報を収集・管理するセンサネットワークシステムが開発されており、例えば、工場等の施設内の設備管理、ビルや住宅の防犯・防災設備の管理、環境の観測等、様々な分野への適用が提案されている。センサネットワークシステムは、システム全体を管理・制御するサーバと、低コストで開発される多数のセンサノードとからなり、サーバは、センサノードにメッセージを送信し、ノードは、受信したメッセージがサーバから送信されたものであることを認証する。このようなセンサネットワークシステムにおいては、サーバ及びノード間の通信は、複数のノードがデータを中継して伝送するマルチホップ通信形態をとるのが一般的である。
センサネットワークシステムにおけるノードは、低コスト化を要求されるため、高い処理能力を有するCPU等を搭載した装置や、高タンパ性の装置が用いられるとは限らない。したがって、メッセージ認証において公開鍵暗号系の方法を採用するには、CPUにかかる処理負荷が大きくなりすぎる可能性があり、処理負荷の小さい共通鍵暗号系を用いる手法が望ましい。例えば、サーバと全ノードに全デバイス共通鍵を持たせてサーバからのメッセージを認証する方式がそれに該当する。しかし、ノードの高タンパ性が保証されない状況では、ノードに記憶させた全デバイス共通鍵が漏洩する可能性がある。このため、認証に成功したメッセージであっても、攻撃者がメッセージ挿入攻撃により投入した不正なメッセージ(Node Compromise Attack)である可能性がある。あるいは、マルチホップ通信の中継途中で不正なルータノードによって改ざんされたメッセージ(Node Replication Attack)である可能性もある。
特許文献1及び非特許文献1には、上述したような状況下でサーバからのブロードキャストメッセージを認証するにあたり、攻撃者のサーバへのなりすまし攻撃に耐性を持たせた方法が開示されている。
例えば、特許文献1に記載の方法によると、サーバがブロードキャストしたデータをノードが受信し、ノードは、ブロードキャストデータに対する受信確認をサーバに返信する。サーバは、受信確認が返信されたことを確認できた後に、まだネットワーク内に公開していない認証鍵をノードに公開し、ノードは、公開された鍵が確かにサーバの認証鍵であることを確認することで、既に受信しているデータをサーバからの正しいデータであると認証することができる。
また、非特許文献1に記載の方法によると、サーバはデータをブロードキャストし、ノードは、ブロードキャストされたデータをバッファに格納する。サーバは、所定のタイムスケジュールに従ってノードに鍵を開示し、ノードは開示された鍵を認証し、鍵が正当であればその鍵を用いてバッファに格納したデータを認証する。データの認証に失敗した場合、データは異常に長く遅延して伝送されており、途中で改ざんされた可能性があることを検知することができる。
特開2006−157856号公報 Adrian Perrig,J.D. Tyger著,溝口文雄監訳「ワイヤード/ワイヤレスネットワークにおけるブロードキャスト通信のセキュリティ」,共立出版 pp.172−177
しかし、特許文献1及び非特許文献1に記載されたような従来の方法では、認証鍵がノードに公開されるまで、ノードは受信したブロードキャストデータを認証することができない。その結果、ノードは、認証鍵が公開されるまで受信したメッセージを保持しておかなければならない。この問題は、ノードがメッセージを認証するまでの間のメモリの利用可能領域を狭めることにつながり、小容量のメモリしか搭載しないノードにとっては大きな負担となることがある。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、サーバ(メッセージ送信装置)が認証鍵を公開するまでの間にノード(メッセージ受信装置)が保持しなければならないデータ容量を減少させることが可能な、新規かつ改良されたメッセージ認証システム及びメッセージ認証方法を提供することにある。
上記課題を解決するために、本発明のある観点によれば、マルチホップ型ネットワークにおいて、メッセージを送信するメッセージ送信装置と、送信されたメッセージの認証を行うメッセージ受信装置とを備えるメッセージ認証システムが提供される。上記メッセージ送信装置は、メッセージの認証に用いられる2以上の認証子生成鍵を含む認証子生成鍵鎖列を管理する認証子生成鍵管理部と、認証子生成鍵を用いて、メッセージの正当性を証明するための第1認証子及び第1認証子の正当性を証明するための第2認証子からなる送信予告情報を生成する送信予告情報生成部と、送信予告情報を前記メッセージ受信装置に送信し、送信予告情報に対応してメッセージ受信装置から送信される受信証明情報を認証した後で、メッセージと認証子生成鍵とを送信する送信部とを含む。また、上記メッセージ受信装置は、送信予告情報の受信を証明する受信証明情報を生成する受信証明情報生成部と、第2認証子とメッセージ送信装置から送信された認証子生成鍵とを用いて第1認証子の認証を行う第1認証子認証部と、認証された第1認証子と認証子生成鍵とを用いて、メッセージ送信装置から受信したメッセージの認証を行うメッセージ認証部とを含む。
また、認証子生成鍵管理部は、任意の値に対し、公開された一方向性関数を実行する回数を順次増加させることにより各認証子生成鍵を生成し、生成された順と逆の順序で各認証子生成鍵をメッセージ受信装置に対して公開するようにしてもよい。
また、送信予告情報生成部は、未公開の認証子生成鍵、または未公開の認証子生成鍵に公開された所定の一方向性関数を適用して生成された値のいずれかを用いて、第1認証子を生成するようにしてもよい。
また、送信予告情報生成部は、未公開の認証子生成鍵、または未公開の認証子生成鍵に公開された所定の一方向性関数を適用して生成された値のいずれかと、第1認証子とを用いて、第2認証子を生成するようにしてもよい。
メッセージ受信装置は、受信した認証子生成鍵が未公開であるか否かを検証し、認証子生成鍵が未公開であれば、当該認証子生成鍵を用いて第1認証子の認証を行うようにしてもよい。
また、メッセージ受信装置は、メッセージ送信装置から認証子生成鍵が送信されるまで、受信した送信予告情報を受信順に保持する送信予告情報保持部をさらに含むようにしてもよい。さらに、第1認証子認証部は、送信予告情報保持部に保持されている送信予告情報に含まれる第1認証子を受信順に認証し、認証される場合、送信予告情報保持部に保持された他の前記送信予告情報を破棄し、認証されない場合、当該送信予告情報を破棄するようにしてもよい。
また、メッセージ送信装置は、メッセージを2以上のデータブロックに分割して送信するようにしてもよい。
また、送信予告情報生成部は、各データブロックに対応する送信予告情報を生成してもよい。さらに、メッセージ認証部は、各データブロックに対応する送信予告情報を用いて各データブロックを認証するようにしてもよい。
また、送信予告情報生成部は、分割前のメッセージに対応する送信予告情報を生成するようにしてもよい。さらに、メッセージ認証部は、メッセージの全てのデータブロックを結合してメッセージを復元し、復元されたメッセージを送信予告情報を用いて認証するようにしてもよい。
また、メッセージ送信装置は、認証情報を各データブロックに付加する認証情報付加部をさらに含むようにしてもよい。認証情報付加部は、公開された所定の一方向性関数を任意のデータブロックに適用して認証情報を生成し、生成された認証情報を他のデータブロックに付加し、さらに、認証情報が付加されたデータブロックに一方向性関数を適用することを繰り返して認証情報を生成するようにしてもよい。
また、一方向性関数は、ハッシュ関数であってもよい。
また、送信予告情報生成部は、最後に生成された認証情報である第1認証情報に対応する送信予告情報を生成するようにしてもよい。送信部は、データブロックの送信前に第1認証情報と認証子生成鍵とをメッセージ受信装置に対して送信し、メッセージ受信装置から第1認証情報が認証された旨の通知を受け取った後、データブロックを送信するようにしてもよい。メッセージ受信装置は、送信予告情報及び認証子生成鍵を用いて第1認証情報の認証を行う認証情報認証部をさらに含むようにしてもよい。
また、送信部は、認証情報を生成するのに用いられたのと逆の順序で、データブロックを送信し、メッセージ認証部は、データブロックの直前に受信したデータブロックに含まれる認証情報を用いてデータブロックの認証を行うようにしてもよい。
また、上記課題を解決するために、本発明の別の観点によれば、マルチホップ型ネットワークによってメッセージ送信装置から送信されたメッセージをメッセージ受信装置において認証するメッセージ認証方法が提供される。このメッセージ認証方法は、メッセージ送信装置からメッセージ受信装置に送信するメッセージを生成するメッセージ生成ステップと、メッセージ送信装置において、メッセージの認証に用いられる2以上の認証子生成鍵を含む認証子生成鍵鎖列を生成する認証子生成鍵生成ステップと、メッセージ送信装置において、認証子生成鍵を用いてメッセージの正当性を証明するための第1認証子及び第1認証子の正当性を証明するための第2認証子を含む送信予告情報を生成する送信予告情報生成ステップと、メッセージ送信装置からメッセージ受信装置に対し、送信予告情報を送信する送信予告情報送信ステップと、メッセージ受信装置において送信予告情報を受信したことを証明する受信証明情報を生成する受信証明情報生成ステップと、メッセージ受信装置から送信される受信証明情報をメッセージ送信装置が認証する受信証明情報認証ステップと、メッセージ送信装置からメッセージ受信装置に対し、認証子生成鍵を送信する認証子生成鍵送信ステップと、メッセージ送信装置からメッセージ受信装置に対し、メッセージを送信するメッセージ送信ステップと、第2認証子とメッセージ送信装置から送信された認証子生成鍵とを用いて、メッセージ受信装置が第1認証子の認証を行う第1認証子認証ステップと、認証された第1認証子と認証子生成鍵とを用いてメッセージの認証を行うメッセージ認証ステップと、を含む。
また、送信予告情報生成ステップは、公開された任意の値に対し、公開された一方向性関数を実行する回数を順次増加させることにより各認証子生成鍵を生成し、認証子生成鍵鎖列に含まれる各認証子生成鍵は、生成順と逆の順序でメッセージ受信装置に対して公開されるようにしてもよい。
また、送信予告情報生成ステップにおいて、未公開の認証子生成鍵、または未公開の認証子生成鍵に公開された所定の一方向性関数を適用して生成された値のいずれかを用いて、第1認証子を生成するようにしてもよい。
また、送信予告情報生成ステップにおいて、未公開の認証子生成鍵、または未公開の認証子生成鍵に公開された所定の一方向性関数を適用して生成された値のいずれかと、第1認証子とを用いて、第2認証子を生成するようにしてもよい。
また、第1認証子認証ステップの前に、メッセージ受信装置は、受信した前記認証子生成鍵が未公開であるか否かを検証し、認証子生成鍵が未公開であれば、当該認証子生成鍵を用いて第1認証子の認証を行うようにしてもよい。
また、メッセージ受信装置は、メッセージ送信装置から認証子生成鍵が送信されるまで、受信した送信予告情報を受信順に保持し、第1認証子認証ステップにおいて、保持されている送信予告情報に含まれる第1認証子を受信順に認証し、認証される場合、他の送信予告情報を破棄し、認証されない場合、当該送信予告情報を破棄するようにしてもよい。
また、メッセージ生成ステップにおいて、メッセージを2以上のデータブロックに分割して生成するようにしてもよい。
また、送信予告情報生成ステップにおいて、各データブロックに対応する送信予告情報を生成し、メッセージ認証ステップにおいて、各データブロックに対応する送信予告情報を用いて各データブロックを認証するようにしてもよい。
また、送信予告情報生成ステップにおいて、分割前のメッセージに対応する送信予告情報を生成し、メッセージ認証ステップの前に、メッセージの全てのデータブロックを結合してメッセージを復元するステップをさらに含み、メッセージ認証ステップにおいて、復元されたメッセージを送信予告情報を用いて認証するようにしてもよい。
また、送信予告情報生成ステップの前に、公開された所定の一方向性関数を任意のデータブロックに適用して生成された認証情報を、別のデータブロックに付加し、認証情報が付加されたデータブロックに一方向性関数を適用することを繰り返して、認証情報を各データブロックに付加する認証情報付加ステップをさらに含むようにしてもよい。
また、一方向性関数は、ハッシュ関数であってもよい。
また、送信予告情報生成ステップにおいて、最後に生成された認証情報である第1認証情報に対応する送信予告情報を生成し、メッセージ送信ステップの前に、第1認証情報及び送信予告情報生成鍵をメッセージ受信装置に対して送信するステップと、送信予告情報及び認証子生成鍵を用いて第1認証情報の認証を行う認証情報認証ステップと、をさらに含むようにしてもよい。
また、メッセージ送信ステップにおいて、認証情報を生成するのに用いられたのと逆の順序でデータブロックを送信し、メッセージ認証ステップにおいて、データブロックの直前に受信したデータブロックに含まれる認証情報を用いてデータブロックの認証を行うようにしてもよい。
以上説明したように本発明によれば、サーバ(メッセージ送信装置)が認証鍵を公開するまでの間、ノード(メッセージ受信装置)が保持しなければならないデータ容量を減少させることができる。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
(従来の方式における問題点)
従来のセンサネットワークにおいては、サーバから認証鍵が公開されるまでノード側で受信したデータを保持しなければならず、小容量のメモリしか搭載しないノードにとっては大きな負担となっていた。かかる問題を解決するために、従来、サーバが認証させたいメッセージの送信予告情報を先に送信し、その送信予告情報に対する受信確認を行った後認証鍵とメッセージを送信する方式が考案されている。
図29は、このような従来のメッセージ認証方式の処理の流れを示すシーケンス図である。図29を参照して、サーバ(メッセージ送信装置)11からノード(メッセージ受信装置)12にメッセージMを送信する場合の処理について説明する。まず、サーバ11は、ノード12に対して送信予告情報を送信する(ステップS20)。ここで、送信予告情報13は、メッセージMに対し認証子生成鍵Kを用いて生成したメッセージ認証子(MAC;Message Authentication Codes)であって、MAC(K,M)と表される。ノード12は、送信予告情報MAC(K,M)を受信し、受信確認をサーバ11に返信する(ステップS21)。サーバ11は、受信確認の検証を行い、検証に成功したら(ステップS22)、メッセージMと認証子生成鍵Kとをノード12に送信する(ステップS23)。ノード12は、受信した認証子生成鍵Kの検証を行い、サーバ11から送信された正当な鍵であることを認証したら、認証子生成鍵Kと送信予告情報MAC(K,M)とを用いてメッセージMの認証を行う(ステップS24)。かかる方法によると、ノードは、認証子生成鍵が公開されるまでの間、送信予告情報を保持すればよく、メッセージそのものを保持する必要がないので、ノードが保持しなければならないデータ容量を減少させることができる。
しかし、このような従来の方式では、ノードが複数のメッセージの送信予告情報の受信を許容する場合に、不正な中継ノードによって送信された不正なメッセージを誤って認証してしまうことがあるという問題があった。図30は、このような従来のメッセージ認証方式の処理における攻撃例を示すシーケンス図である。図30を参照して、不正な中継ノード33(以下、不正ノード33と呼ぶ)が、不正なメッセージM’をノード32に送信しようとする場合について説明する。
まず、不正ノード33は、不正な認証子生成鍵K’を用いて生成した送信予告情報MAC(K’,M’)をノード32に送信し(ステップS40)、ノード32は、受信確認を返信する(ステップS41)。次に、サーバ31が、正当なメッセージの送信予告情報MAC(K,M)を不正ノード33を経由してノード32に送信する(ステップS42)。ノード32は、サーバ31に受信確認を返信する(ステップS43)。サーバ31は、受信確認の検証を行い(ステップS44)、正当な認証子生成鍵KとメッセージMとを送信する(ステップS45)。不正ノード33は、認証子生成鍵K及びメッセージMの中継時に、正当な認証子生成鍵Kを用いて不正なメッセージM’の送信予告情報MAC(K,M’)を生成し、ノード32に送信する(ステップS46)。その後、ノード32から受信確認が送信されたら(ステップS47)、正当な認証子生成鍵Kと不正なメッセージM’をノード32に送信する(ステップS48)。
このような場合、ノード32は、受信済みのどの送信予告情報でメッセージを検証すればよいかが分からないため、不正ノード33から送信された送信予告情報MAC(K,M’)によって不正なメッセージM’を正当なメッセージとして認証してしまう可能性があった。
そこで、本発明では、メッセージ送信装置(サーバ)が認証させたいメッセージの送信予告情報とメッセージの送信予告情報の正当性を証明するための認証子を先に送信し、その後、認証子生成鍵とメッセージを送信することで、メッセージ受信装置(ノード)が複数のメッセージ送信予告情報の受信を許容する場合であっても、不正なメッセージ送信予告情報を排除できるようにする。
(第1の実施形態)
まず、図1を参照して、本発明の第1の実施形態にかかるメッセージ認証システムについて説明する。図1は、本実施形態にかかるメッセージ認証システム100の概略構成を示すブロック図である。図1に示すように、本実施形態にかかるメッセージ認証システムは、1つのメッセージ送信装置(サーバ)110及び複数のメッセージ受信装置(ノード)120−1〜120−5(以下、メッセージ受信装置120と総称する)により構成される。メッセージ受信装置120は、例えば、小型の無線通信装置を内蔵した装置であって、メッセージ送信装置110と各メッセージ受信装置120とは、互いに無線通信によりデータの送受信を行う。また、メッセージ送信装置110と各メッセージ受信装置120との間の通信は、マルチホップ通信により行われる。例えば、メッセージ送信装置110からメッセージ受信装置120−4に対してデータを送信する場合、データは、メッセージ受信装置120−1及び120−2を順に経由してメッセージ受信装置120−4に送信される。
本実施形態にかかるメッセージ認証システム100は、メッセージ送信装置110が、メッセージに対して生成した第1の認証子とその認証子の正当性を証明するための第2の認証子とをメッセージ受信装置120に送信し、上記2つの認証子がメッセージ受信装置120に到達したことを確認した後、認証子生成鍵とメッセージとを送信することを特徴とする。
(メッセージ送信装置110)
まず、図2を参照して、本実施形態にかかるメッセージ認証システム100におけるメッセージ送信装置(サーバ)110について説明する。図2は、本実施形態にかかるメッセージ送信装置(サーバ)110の概略構成を示すブロック図である。図2に示すように、メッセージ送信装置110は、メッセージ生成部111、認証子生成鍵管理部112、メッセージ保持部113、送信予告情報生成部114、送信情報生成部115、受信証明検証部116、受信部117及び送信部118により構成される。以下、メッセージ送信装置110の各部について説明する。
(メッセージ生成部111)
メッセージ生成部111は、メッセージ送信装置(サーバ)110がメッセージ受信装置(ノード)120に対して送信するメッセージを生成するための機能部である。メッセージ生成部111は、生成したメッセージMを1以上のデータブロックM(1≦j≦n,n≧1)に分割し、分割された各データブロックMを送信予告情報生成部114に渡す。
(認証子生成鍵管理部112)
認証子生成鍵管理部112は、メッセージの認証子生成に用いられる認証子生成鍵鎖列K(0≦i≦m,m≧1)を管理するための機能部である。図4は、認証子生成鍵管理部112によって管理される認証子生成鍵鎖列を説明するための説明図である。図4に示すように、認証子生成鍵鎖列は、例えば、メッセージ送信装置110内で決定された任意の初期値Kと、Kに所定の一方向性関数F()を複数回適用したときの各出力値Km−1,Km−2,…,K,K(K=F(Ki+1))で構成される。ここで、一方向性関数F()は、メッセージ送信装置110及びメッセージ受信装置120の双方において公開された関数である。また、メッセージ送信装置110とメッセージ受信装置120とは、初期状態において認証子生成鍵Kを安全に共有するものとする。また、生成された認証子生成鍵鎖列の各認証子生成鍵は、生成されたときと逆の順番(K→K→…)で利用される。
図4に示すように、認証子生成鍵鎖列に含まれる認証子生成鍵は、ネットワークに公開済みであるか未公開であるかの区別がされている。また、認証子生成鍵鎖列の未公開の認証子生成鍵のうち、次に公開される認証子生成鍵をアクティブ鍵K(0≦a≦m,m≧1)として設定する。上述したとおり、認証子生成鍵鎖列の各認証子生成鍵は、K→K→…の順に利用され公開されることから、K,K,…,Ka−1は、ネットワークに公開済みであって、K,…,Km−1,Kは、ネットワークに未公開の鍵である。
認証子生成鍵管理部112は、送信予告情報生成部114からの要求に応じて、現在のアクティブ鍵Kを送信予告情報生成部114に与える。また、受信証明検証部116から受信証明検証終了メッセージが送信されて、受信証明情報の検証が終了したことが通知されると、現在のアクティブ鍵Kを送信情報生成部115に与え、ネットワークに公開する。これにより、現在のアクティブ鍵Kは公開された状態となるため、認証子生成鍵管理部112は、a=a+1とし、アクティブ鍵Kを、次に公開される認証子生成鍵Ka+1に更新する。
認証子生成鍵管理部112は、生成された認証子生成鍵鎖列全体を保持するようにしてもよいし、あるいは、初期値Kのみを保持し、要求がある毎に一方向性関数Fを所定の回数適用することによって、各認証子生成鍵を生成するようにしてもよい。
(メッセージ保持部113)
メッセージ保持部113は、メッセージ受信装置120に送信するメッセージのデータブロックMを保持するための記憶部である。メッセージ保持部113は、送信予告情報生成部114から与えられたデータブロックMを保持し、受信証明検証部116から受信証明検証終了メッセージが送信されて受信証明情報の検証が終了したことが通知されると、保持しているデータブロックMを送信情報生成部115に与える。
(送信予告情報生成部114)
送信予告情報生成部114は、任意のデータに対する第1認証子と第2認証子とからなる送信予告情報を生成するための機能部である。送信予告情報生成部114は、メッセージ生成部111によって生成されるデータブロックMに対し、認証子生成鍵管理部112より与えられる認証子生成鍵または認証子生成鍵から派生して生成される派生情報を用いて、第1認証子を生成する。さらに、生成した第1認証子に対し、認証子生成鍵管理部112より与えられる認証子生成鍵またはその派生情報を用いて、第2認証子を生成する。第1認証子は、データブロックMの正当性を証明するための情報であり、第2認証子は、第1認証子の正当性を証明するための情報である。
第1認証子及び第2認証子を生成するのに用いられる認証子生成アルゴリズムとしては、HMAC(HMAC;Keyed-Hashing for Message Authentication Code)やCBC−MAC(CBC−MAC;Cipher Block Chaining-Message Authentication Code)等であってもよいし、上記以外のアルゴリズムであってもよく、特に限定するものではない。
本実施形態においては、認証子生成鍵管理部112より認証子生成鍵Kが与えられる場合、第1認証子を生成するのに用いられる認証子生成鍵をK’=G(K)とし、第2認証子を生成するのに用いられる認証子生成鍵をKとするが、特に限定するものではなく、上記以外の認証子生成鍵を用いてもよい。また、第1認証子と第2認証子とは生成に用いられる認証子生成鍵が異なるものとするが、これについても特に限定するものではなく、同一の認証子生成鍵が用いられてもよい。ここで、G()は、一方向性関数を表し、メッセージ送信装置110及びメッセージ受信装置120において公開された関数であるものとする。
また、送信予告情報生成部114は、生成した第1認証子と第2認証子とを送信予告情報として送信情報生成部115に与える。また、メッセージ生成部より与えられたデータブロックMをメッセージ保持部113に与える。
(送信情報生成部115)
送信情報生成部115は、各部からメッセージ受信装置120に対して送信するデータを収集し、収集したデータを送信するための送信情報を生成するための機能部である。送信情報生成部115は、送信予告情報生成部114から与えられる送信予告情報(第1認証子及び第2認証子)、メッセージ保持部から与えられるデータブロックMj-1、認証子生成鍵管理部112から与えられるKa−1のうちの1つまたは複数の情報からなる送信情報を生成し、生成した送信情報を受信証明検証部116と送信部118とに与える。
(受信証明検証部116)
受信証明検証部116は、メッセージ受信装置120から受信した受信証明情報を用いて、送信した送信情報が対象となるメッセージ受信装置120によって受信されたか否かを検証するための機能部である。受信証明検証部116は、受信部117より与えられる受信証明情報を検証することにより、対象とする全メッセージ受信装置120に送信情報が偽りなく届いたか、または、対象とするメッセージ受信装置120のうちの特定のメッセージ受信装置には送信情報が偽りなく届けられなかったかを確認する。確認終了後、受信証明検証部116は、認証子生成鍵管理部112とメッセージ保持部113とに対して、受信証明検証終了メッセージを送信し、受信証明情報の検証が終了したことを通知する。
特定のメッセージ受信装置に送信情報が偽りなく届けられなかったことが確認された場合、そのメッセージ受信装置が故障、盗難あるいは攻撃等にあっている可能性があるため、後にネットワークから離脱させるようにしてもよい。あるいは、送信情報生成部115から与えられた送信情報を送信部118に与えて、該当するメッセージ受信装置に対して送信情報を再送するようにしてもよい。
送信情報が受信されたか否かを検証する検証方法としては、例えば、次のような方法を用いてもよい。受信証明検証部116と、メッセージの送信対象であるメッセージ受信装置120とは、各々1対の共有鍵を共有する。メッセージ受信装置120は、メッセージ送信装置110から受信した送信情報に対して、上述の共有鍵を用いて生成した認証子(受信証明情報)を生成し、生成された認証子(受信証明情報)をメッセージ送信装置110へ送信する。メッセージ送信装置110は、受信証明検証部116において、共有鍵を用いてメッセージ受信装置120が受信した認証子(受信証明情報)を検証することで受信確認を得ることができる。なお、受信証明情報の検証方法は、上述した例に限られず、他の方法を用いてもよい。
(受信部117)
受信部117は、メッセージ受信装置120から送信されるデータを受信するための機能部である。受信部117は、メッセージ受信装置120から受信証明情報を受信し、受信証明検証部116に受信証明情報を与える。
(送信部118)
送信部118は、メッセージ受信装置120に対しデータを送信するための機能部である。送信部118は、送信情報生成部115より与えられた送信情報を、送信対象のメッセージ受信装置120に送信する。また、受信証明検証部116より指定される送信情報を、同じく受信証明検証部116によって指定されるメッセージ受信装置120へ再送信する。
以上、本実施形態にかかるメッセージ送信装置110の各部について説明した。なお、メッセージ生成部111、認証子生成鍵管理部112、送信予告情報生成部114、送信情報生成部115、受信証明検証部116、受信部117及び送信部118は、上述した各機能を実行可能なプログラムモジュールをコンピュータ等の情報処理装置にインストールしたソフトウェアで構成されてもよいし、あるいは、上述した各機能を実行可能なプロセッサ等のハードウエアで構成されてもよい。また、メッセージ保持部113は、例えば、半導体メモリ、光ディスク、磁気ディスク等の各種の記憶媒体等により構成されてもよい。
次に、図3を参照して、本実施形態にかかるメッセージ認証システム100におけるメッセージ受信装置(ノード)120について説明する。図3は、本実施形態にかかるメッセージ受信装置(ノード)120の概略構成を示すブロック図である。図3に示すように、本実施形態にかかるメッセージ受信装置120は、受信部121、受信証明情報生成部122、認証子生成鍵検証部123、送信予告情報保持部124、第1認証子認証部125、メッセージ認証部126及び送信部127により構成される。以下、メッセージ受信装置120の各部について説明する。
(受信部121)
受信部121は、メッセージ送信装置110から送信された送信情報を受信するための機能部である。受信部121は、メッセージ送信装置110から各送信情報を受信し、受信証明情報生成部122に与える。
(受信証明情報生成部122)
受信証明情報生成部122は、受信部121より与えられた送信情報を確かに受信したことをメッセージ送信装置110に証明するための受信証明情報を生成するための機能部である。
送信情報を確かに受信したことをメッセージ送信装置110に対して証明する方法としては、例えば、次のような方法を用いてもよい。受信証明情報生成部122は、メッセージ送信装置110と1対の共有鍵の情報を共有する。受信証明情報生成部122は、受信部121より与えられた送信情報に対して、上述の共有鍵を用いて生成した認証子(受信証明情報)を生成し、生成された認証子(受信証明情報)を、送信部127を通してメッセージ送信装置110に返信する。メッセージ送信装置110は、例えば、受信証明検証部116において、共有鍵を用いてメッセージ受信装置120から送信された認証子(受信証明情報)を検証することで、受信確認を得ることができる。なお、受信証明の方法は、上述した例に限られず、他の方法を用いてもよいが、メッセージ送信装置110とメッセージ受信装置120との間で規定された共通の方法を用いる必要がある。
受信証明情報生成部122は、生成した受信証明情報を送信部127に与える。また、受信証明情報生成部122は、受信部121より与えられた第1認証子及び第2認証子を含む送信予告情報を送信予告情報保持部124へ渡す。また、受信部121より与えられたデータブロックMをメッセージ認証部126へ渡し、認証子生成鍵Kを認証子生成鍵検証部へ渡す。
(認証子生成鍵検証部123)
認証子生成鍵検証部123は、メッセージ送信装置110から受信した認証子生成鍵Kが正当な鍵であるか否かを検証するための機能部である。認証子生成鍵検証部123は、メッセージ送信装置110とメッセージ受信装置120とが初期状態において安全に共有する認証子生成鍵Kを保持するものとする。また、過去に検証に成功した認証子生成鍵K,…,Ka-1を保持してもよい。認証子生成鍵検証部123は、受信証明情報生成部122より与えられた認証子生成鍵Kに、システムで規定された一方向性関数F()を適用した結果が、保持している認証子生成鍵Kと一致するか否かを判定することにより、認証子生成鍵Kが正当な鍵であるか否かを検証することができる。認証子生成鍵検証部123は、検証に成功した認証子生成鍵Kを、最も新しくネットワークに公開された認証子生成鍵として新たに保持し、認証子生成鍵Kを第1認証子認証部125に渡す。
(送信予告情報保持部124)
送信予告情報保持部124は、メッセージ送信装置110から受信した送信予告情報(第1認証子及び第2認証子)を保持するための記憶部である。送信予告情報保持部124は、受信証明情報生成部122より与えられた送信予告情報を、受信した順番を記憶しながら保持する。また、送信予告情報保持部124は、第1認証子認証部125からの要求に応じて、保持している送信予告情報を受信した順番に第1認証子認証部125に渡す。
(第1認証子認証部125)
第1認証子認証部125は、メッセージ送信装置110より与えられた送信予告情報に含まれる第1認証子が正当なものであるか否かを検証するための機能部である。第1認証子認証部125は、送信予告情報保持部124よりデータブロックMに対する第1認証子及び第2認証子を受信した順番に与えられる。さらに、認証子生成鍵検証部123より認証子生成鍵Kを与えられ、Kと第2認証子とを用いて第1認証子が認証されるか否かを検証する。
具体的には、例えば、第1認証子認証部125は、認証子生成鍵Kを用いて第1認証子に対する認証子を生成し、生成された認証子が、第2認証子と一致するか否かを判定することにより、第1認証子の認証を行う。第1認証子認証部125は、送信予告情報保持部124において保持されている送信予告情報の中で、一番初めに認証された第1認証子を、データブロックMの正当性を証明する正当な第1認証子であると認証し、その他の送信予告情報を破棄する。第1認証子認証部125は、正常に認証された第1認証子と認証子生成鍵Kとをメッセージ認証部126に渡す。あるいは、認証子生成鍵Kにシステムで規定された一方向性関数Gを適用した出力値K’を求め、認証子生成鍵Kの代わりにメッセージ認証部126に渡すようにしてもよい。
(メッセージ認証部126)
メッセージ認証部126は、メッセージ送信装置110から受信したメッセージのデータブロックMが正当なメッセージであるかを認証するための機能部である。メッセージ認証部126は、受信証明情報生成部122よりデータブロックMを与えられ、第1認証子認証部125より与えられた認証子生成鍵KまたはK’と第1認証子とを用いてデータブロックMを認証する。第1認証子認証部125より認証子生成鍵Kが与えられた場合は、システムで規定された一方向性関数GをKに適用し、K’を求める。メッセージ認証部126がMを認証する方法は、例えば、K’を用いてデータブロックMに対する認証子を生成し、生成された認証子が第1認証子と一致するか否かを判定する等の方法を用いて行ってもよい。一致した場合は、データブロックMは正当なメッセージであると認証される。一致しない場合は、不正なメッセージと判断され、メッセージ認証部126は、データブロックMを破棄する等してもよい。
(送信部127)
送信部127は、メッセージ送信装置110に対して情報を送信するための機能部である。送信部127は、受信証明情報生成部122より与えられる受信証明情報を、メッセージ送信装置110に返信する。
以上、本実施形態にかかるメッセージ受信装置120の各部について説明した。なお、受信部121、受信証明情報生成部122、認証子生成鍵検証部123、第1認証子認証部125、メッセージ認証部126及び送信部127は、上述した各機能を実行可能なプログラムモジュールをコンピュータ等の情報処理装置にインストールしたソフトウェアで構成されてもよいし、あるいは、上述した各機能を実行可能なプロセッサ等のハードウエアで構成されてもよい。また、送信予告情報保持部124は、例えば、半導体メモリ、光ディスク、磁気ディスク等の各種の記憶媒体等により構成されてもよい。
次に、図5〜図10に基づいて、本実施形態にかかるメッセージ認証システム100により実行されるメッセージ認証処理の一例を説明する。ここで、図5及び6は、本実施形態にかかるメッセージ認証処理の流れを示すフローチャートである。また、図7及び8は、本実施形態にかかるメッセージ認証処理のステップS155における状態を示した説明図である。同様に、図9は、ステップS163における状態を示した説明図であり、図10は、送信情報再送時における状態を示した説明図である。
まず、ステップS150で、メッセージ送信装置110のメッセージ生成部111において、送信するメッセージMを生成する。次いで、ステップS151で、メッセージMを分割してj個のデータブロックM(1≦j≦n,n≧1)を生成する。生成されたデータブロックMは、送信予告情報生成部114に渡される。
次いで、送信予告情報生成部114が第1認証子及び第2認証子(送信予告情報)を生成する。まず、ステップS152で、データブロックMに対する第1認証子(Mの正当性を証明するための情報)を生成する。ここでは、ネットワークに未公開の現在のアクティブ鍵Kに一方向性関数Gを適用して求められた値K’=G(K)を用いて第1認証子MAC(K’,M)を生成する。ここで、関数Gは、システムで公開された関数であるものとする。
次いで、ステップS153で、第1認証子MAC(K’,M)に対する第2認証子(第1認証子の正当性を証明するための情報)を生成する。ここでは、現在のアクティブ鍵Kを用いて第2認証子MAC(K,MAC(K’,M))を生成する。生成された第1認証子及び第2認証子は、送信情報生成部115に渡される。
次いで、ステップS154で、第1認証子MAC(K’,M)、第2認証子MAC(K,MAC(K’,M))を含む送信情報を生成する。また、送信情報には、メッセージ保持部113より与えられたデータブロックMj−1,認証子生成鍵管理部112より与えられた認証子生成鍵Ka−1を含むようにしてもよい。ここで、データブロックMj−1は、データブロックMの1つ前のデータブロックであって、既にメッセージ受信装置120に対して送信予告情報(第1認証子及び第2認証子)が送信され、メッセージ受信装置120において送信予告情報が受信されたことが確認されたデータブロックである。また、認証子生成鍵Ka−1は、現在のアクティブ鍵Kの1つ前に公開される認証子生成鍵であって、データブロックMj−1の送信予告情報の生成に用いられた認証子生成鍵である。
次いで、図7に示すように、ステップS155で、生成された送信情報130を送信部118を通してメッセージ受信装置120に送信し、メッセージ受信装置120は、図8に示すように、送信された送信情報130を受信する。その後、メッセージ送信装置110は、ステップS156で、送信した送信情報130を格納する。
次いで、ステップS157で、メッセージ受信装置120は、認証子生成鍵検証部123において、受信した認証子生成鍵Ka−1の認証を行う。例えば、認証子生成鍵Ka−1に、システムで規定された一方向性関数F()を適用して、生成された値が、認証子生成鍵Ka−1の前に認証された認証子生成鍵Ka−2と一致するか否かを判定することにより、認証子生成鍵Ka―1の認証を行ってもよい。
認証子生成鍵Ka−1が正常に認証されたら、ステップS158で、認証子生成鍵Ka−1を格納する。
次いで、ステップS159で、メッセージ受信装置120において既に受信し、送信予告情報保持部124に保持されている送信予告情報に含まれる第1認証子の認証を行う。送信予告情報保持部124は、保持している送信予告情報を受信した順に第1認証子認証部125に与え、第1認証子認証部125において認証が行われる。送信予告情報保持部124には、既に、データブロックMj−1に対する送信予告情報が格納されている。例えば、第1認証子認証部125は、認証子生成鍵Ka−1を用いて第1認証子に対する認証子を生成し、生成された認証子が第2認証子と一致するか否かを判定することにより、第1認証子を認証する。
認証が正常に行われなかった場合は、ステップS160に進み、その送信予告情報を破棄する。認証が正常に行われた場合は、ステップS161に進み、認証された送信予告情報以外の送信予告情報を破棄する。
次いで、ステップS162で、メッセージ認証部126においてデータブロックMj−1の認証を行う。メッセージ認証部126は、例えば、ステップS157で認証された認証子生成鍵Ka−1にシステムで規定された一方向性関数Gを適用して求めた値Ka−1’を用いて、Mj−1に対する認証子を生成し、生成された値がステップS159で認証された第1認証子と一致するかを判定することにより、データブロックMj−1の認証を行う。
次いで、図9に示すように、ステップS163において、ステップS155で受信した送信予告情報に対する受信証明情報131を受信証明情報生成部122が生成し、送信部127を通してメッセージ送信装置110に送信する。その後、ステップS164で、送信予告情報を受信順に送信予告情報保持部124に格納する。
ステップS165で、メッセージ送信装置110は、受信証明検証部116においてメッセージ受信装置120より受信した受信証明情報131の検証を行う。検証により、受信が確認された場合は、ステップS166に進み、データブロックMを送信することが決定される。次いで、ステップS167で、送信予告情報の生成に用いられた認証子生成鍵Kをネットワークに公開することが決定される。さらに、ステップS168で、アクティブ鍵KをKa+1に更新する。
ステップS165において受信証明情報131を検証した結果、受信が確認できなかった場合は、図10に示すように、送信情報130をメッセージ受信装置120に対して再送信するようにしてもよい。
以上、本実施形態にかかるメッセージ認証システム100により実行されるメッセージ認証処理の一例を説明した。
本実施形態の構成によれば、メッセージ送信装置は、メッセージのデータブロックに対して生成した第1認証子と第2認証子とをメッセージ受信装置に送信し、かかる2つの認証子がメッセージ受信装置に到達したことを確認した後で、認証子生成鍵とデータブロックとを送信する。これにより、メッセージ受信装置が複数の送信予告情報(第1認証子及び第2認証子)の受信を許容する場合であっても、不正な送信予告情報を排除することができるようになる。
図11を参照して、本実施形態にかかるメッセージ認証システム100による効果を説明する。図11は、本実施形態にかかるメッセージ認証システム100の効果を説明するためのシーケンス図である。
図11において、MAC(X,Y)は、データYに対して鍵Xを用いて生成した認証子を、K1は、サーバ(メッセージ送信装置)110が保持する正当な認証子生成鍵を、K1’は、K1に一方向性関数Gを適用した値(K1’=G(K1))を、M1は、サーバが生成した正当なメッセージを、K’とK”は、不正ノード190が生成した意味を持たない鍵を、M1’は、不正ノード190が生成した不正なメッセージを、それぞれ示す。ノード(メッセージ受信装置)120が、複数のメッセージの送信予告情報の受信を許容する場合の攻撃モデルとして、以下の2つのモデルを想定する。
(攻撃モデルA)
不正ノード(攻撃者)190は、認証子生成鍵K1が公開される前に、不正な鍵K”を用いて不正なメッセージM1’に対して作成した、不正な送信予告情報(第1認証子MAC(K”,M1’)及び第2認証子(MAC(K’,MAC(K”,M1’))をノード120に送信する。ノード120は、受信確認を送信し(ステップS181)、認証子生成鍵K1が公開されるまで、送信された送信予告情報を保持する。
(攻撃モデルB)
サーバ110から正当な認証子生成鍵K1と正当なメッセージM1とが送信された後、不正ノード(攻撃者)190は、公開された正当な認証子生成鍵K1を用いて、不正なデータブロックM1’に対する送信予告情報(第1認証子MAC(K1’,M1’)及び第2認証子(MAC(K1,MAC(K1’,M1’)をノード120に送信する。
攻撃モデルAの場合、ノード(メッセージ受信装置)120は、公開された正当な鍵K1を用いて、第1認証子を認証することができない。よって、攻撃モデルAの場合、ノードにおいて、攻撃者は、不正なメッセージを正当なメッセージとして認証させることはできない。
攻撃モデルBの場合、ノード(メッセージ受信装置)120は、公開された正当な認証子生成鍵K1を用いて、不正な第1認証子を認証してしまう。しかし、不正な第1認証子の認証を行う前に、正当な送信予告情報の認証を行うため、ここで、正当な送信予告情報は認証される。もしここで、正当な送信予告情報が認証されない場合、認証子生成鍵K1はネットワークに公開されていないことになるので、攻撃者190は、正当な認証子生成鍵K1を入手することができない。従って、送信予告情報は、正当な送信予告情報の認証後、受信の順番により破棄されることとなり、攻撃者190は、不正なメッセージを正当なメッセージとして認証させることはできない。
以上より、本実施形態にかかるメッセージ認証情報によると、メッセージ受信装置が複数のメッセージの送信予告情報を許容する場合であっても、不正なメッセージの送信予告情報を排除することができ、その結果、正当なメッセージのみを認証することができる。
(第2の実施形態)
次に、図12及び13を参照して、本発明の第2の実施形態にかかるメッセージ認証システムについて説明する。本実施形態にかかるメッセージ認証システムは、メッセージ送信装置が、複数のデータブロックMに分割する前のメッセージM全体に対して第1認証子及び第2認証子を生成し、2つの認証子がメッセージ受信装置に到達したことを確認した後で、認証子生成鍵を公開し、その後データブロックM、M、…、Mを順次送信するようにしたことを特徴とするものである。
(メッセージ送信装置210)
まず、図12を参照して、本実施形態にかかるメッセージ認証システムのメッセージ送信装置210について説明する。図12は、本実施形態にかかるメッセージ送信装置210の概略構成を示すブロック図である。本実施形態にかかるメッセージ送信装置210は、図2に示した第1実施形態にかかるメッセージ送信装置110と実質的に同一の内部構成を有するものであって、メッセージ生成部211、認証子生成鍵管理部212、メッセージ保持部213、送信予告情報生成部214、送信情報生成部215、受信証明検証部216、受信部217及び送信部218により構成される。以下では、本実施形態にかかるメッセージ送信装置210の構成要素について、第1実施形態にかかるメッセージ送信装置110の該当する構成要素と異なる点についてのみ説明する。
(メッセージ生成部211)
メッセージ生成部211は、メッセージ送信装置(サーバ)210がメッセージ受信装置(ノード)220に対して送信するメッセージを生成するための機能部である。メッセージ生成部211は、生成したメッセージMを送信予告情報生成部214に渡す点を除いて、上述した第1実施形態にかかるメッセージ生成部111と実質的に同一の機能を有する。
(認証子生成鍵管理部212)
認証子生成鍵管理部212は、メッセージの認証子生成に用いられる認証子生成鍵鎖列K(0≦i≦m,m≧1)を管理するための機能部であって、上述した第1実施形態にかかる認証子生成鍵管理部112と実質的に同一の機能を有する。
(メッセージ保持部213)
メッセージ保持部213は、メッセージ受信装置220に送信するメッセージMを保持するための記憶部である。本実施形態のメッセージ保持部213は、送信予告情報生成部214から与えられる情報と、送信情報生成部215に与える情報とが、メッセージMである点を除いて、上述した第1実施形態にかかるメッセージ保持部113と実質的に同一の機能を有する。
(送信予告情報生成部214)
送信予告情報生成部214は、任意のデータに対する第1認証子と第2認証子とからなる送信予告情報を生成するための機能部であって、以下の点を除き、上述した第1実施形態にかかる送信予告情報生成部114と実質的に同一の機能を有する。本実施形態の送信予告情報生成部214は、メッセージ生成部211より与えられるメッセージMに対する第1認証子及び第2認証子を生成し、送信情報生成部215に与える。また、メッセージMをメッセージ保持部213へ与える。
(送信情報生成部215)
送信情報生成部215は、各部からメッセージ受信装置220に対して送信するデータを収集し、収集したデータを送信するための送信情報を生成するための機能部である。送信情報生成部215は、メッセージMに対する第1認証子及び第2認証子を送信予告情報生成部214から受け取り、受け取った第1認証子及び第2認証子からなる送信情報を生成し、生成した送信情報を受信証明検証部216と送信部218とに渡す。また、メッセージ保持部213からメッセージMを受け取ると、メッセージMを1以上のデータブロックM(1≦j≦n,n≧1)に分割し、各データブロックMを含む送信情報を生成し、生成した送信情報を順次、受信証明検証部216と送信部218とに渡す。各データブロックMを含む送信情報には、送信順を示すシーケンス番号jが付加されるようにしてもよい。また、認証子生成鍵管理部212より認証子生成鍵Kを受け取ると、認証子生成鍵Kを含む送信情報を生成し、生成した送信情報を受信証明検証部216と送信部218とに渡す。
(受信証明検証部216)
受信証明検証部216は、メッセージ受信装置220から受信した受信証明情報を用いて、送信した送信情報が対象となるメッセージ受信装置220によって受信されたか否かを検証するための機能部である。本実施形態にかかる受信証明検証部216は、送信情報生成部215から受け取った送信予告情報(第1認証子及び第2認証子)を用いて、メッセージ受信装置220から受信部217を通して受信する受信証明情報を検証する。メッセージ受信装置220において送信予告情報が正しく受信されたことが確認された場合、受信証明検証終了メッセージを認証子生成鍵管理部212とメッセージ保持部213とに送信する。
また、受信証明検証部216は、送信情報生成部215から認証子生成鍵KまたはデータブロックMを受け取って、それらの情報がメッセージ受信装置220において正しく受信されたか否かを検証する。具体的には、送信予告情報の場合と同様に、メッセージ受信装置220から受信証明情報を受信し、その受信証明情報を認証子生成鍵KまたはデータブロックMを用いて検証するようにしてもよいし、あるいは、メッセージ受信装置220からACK/NACKを返信されることにより、送信情報がメッセージ受信装置220に到達したか否かを検知するようにしてもよい。また、送信情報が到達していない場合は、送信部218に認証子生成鍵KまたはデータブロックMを与え、再送信するようにしてもよい。また、ここでは、上述した送信予告情報の受信確認の場合と異なり、受信が確認された場合の受信証明検証終了メッセージの送信は行われない。
(受信部217、送信部218)
受信部217及び送信部218は、それぞれ上述した第1実施形態にかかる受信部117及び118と実質的に同一の機能を有するものであるため、重複説明を省略する。
以上、本実施形態にかかるメッセージ送信装置210の各部について、第1実施形態の該当する各部との相違点を中心に説明した。なお、メッセージ生成部211、認証子生成鍵管理部212、送信予告情報生成部214、送信情報生成部215、受信証明検証部216、受信部217及び送信部218は、上述した各機能を実行可能なプログラムモジュールをコンピュータ等の情報処理装置にインストールしたソフトウェアで構成されてもよいし、あるいは、上述した各機能を実行可能なプロセッサ等のハードウエアで構成されてもよい。また、メッセージ保持部213は、例えば、半導体メモリ、光ディスク、磁気ディスク等の各種の記憶媒体等により構成されてもよい。
(メッセージ受信装置220)
次に、図13を参照して、本実施形態にかかるメッセージ認証システムのメッセージ受信装置220について説明する。図13は、本実施形態にかかるメッセージ受信装置220の概略構成を示すブロック図である。本実施形態にかかるメッセージ受信装置220は、図13に示すように、受信部221、受信証明情報生成部222、認証子生成鍵検証部223、送信予告情報保持部224、第1認証子認証部225、メッセージ認証部226、送信部227及びメッセージ復元部228により構成される。
本実施形態にかかるメッセージ受信装置220を構成する各部のうち、受信証明情報生成部222、メッセージ認証部226及びメッセージ復元部228を除いては、上述した第1の実施形態にかかるメッセージ受信装置120の各部に該当する構成要素と実質的に同一の構成を有するものであるため、詳細説明は省略する。以下、本実施形態にかかるメッセージ受信装置220の受信証明情報生成部222、メッセージ認証部226及びメッセージ復元部228について説明する。
(受信証明情報生成部222)
受信証明情報生成部222は、受信部221より与えられた送信情報を確かに受信したことをメッセージ送信装置210に証明するための受信証明情報を生成するための機能部である。本実施形態にかかる受信証明情報生成部222は、以下の点を除き、上述した第1実施形態にかかる受信証明情報生成部122と実質的に同一の機能を有する。
本実施形態にかかる受信証明情報生成部222は、受信部221から受け取った送信情報が、認証子生成鍵KまたはデータブロックMの場合、それらの情報を確かに受信したことをメッセージ送信装置210に証明するために、ACKメッセージやNACKメッセージを生成し、送信部227を通して送信してもよい。
また、受信証明情報生成部222は、受信部221より与えられたデータブロックMをメッセージ復元部228へ与える。
(メッセージ認証部226)
メッセージ認証部226は、メッセージ送信装置210から受信したメッセージが正当なメッセージであるかを認証するための機能部である。本実施形態にかかるメッセージ認証部226は、以下の点を除き、上述した第1実施形態にかかるメッセージ認証部126と実質的に同一の機能を有する。本実施形態にかかるメッセージ認証部226は、メッセージ復元部228よりメッセージMを与えられ、第1認証子認証部125より与えられた認証子生成鍵KまたはK’と第1認証子とを用いて、メッセージMがメッセージ送信装置210から送信された正しいメッセージであることを認証する。
(メッセージ復元部228)
メッセージ復元部228は、メッセージ送信装置210より分割して送信されたデータブロックMから、元のメッセージMを復元するための機能部である。メッセージ復元部228は、受信証明情報生成部222よりデータブロックMを受け取り、メッセージMを復元する。また、メッセージ復元部228は、復元されたメッセージMをメッセージ認証部226へ与える。
以上、本実施形態にかかるメッセージ受信装置220の各部について説明した。なお、受信部221、受信証明情報生成部222、認証子生成鍵検証部223、第1認証子認証部225、メッセージ認証部226、送信部227及びメッセージ復元部228は、上述した各機能を実行可能なプログラムモジュールをコンピュータ等の情報処理装置にインストールしたソフトウェアで構成されてもよいし、あるいは、上述した各機能を実行可能なプロセッサ等のハードウエアで構成されてもよい。また、送信予告情報保持部224は、例えば、半導体メモリ、光ディスク、磁気ディスク等の各種の記憶媒体等により構成されてもよい。
次に、図14〜図19に基づいて、本実施形態にかかるメッセージ認証システムにより実行されるメッセージ認証処理の一例を説明する。ここで、図14及び15は、本実施形態にかかるメッセージ認証処理の流れを示すフローチャートである。また、図16は、同実施形態にかかるメッセージ認証処理のステップS254における状態を示した説明図である。同様に、図17、18及び19は、それぞれステップS256、ステップS262及びステップS270における状態を示した説明図である。
まず、ステップS250で、メッセージ送信装置210のメッセージ生成部211において、送信するメッセージMを生成する。生成されたメッセージMは、送信予告情報生成部214に渡される。
次いで、ステップS251で、送信予告情報生成部214において、メッセージMに対する第1認証子を生成する。ここでは、ネットワークに未公開の現在のアクティブ鍵Kに一方向性関数Gを適用して求められた値K’=G(K)を用いて第1認証子MAC(K’,M)を生成するものとする。ここで、関数Gは、システムで公開された関数であるものとする。
次いで、ステップS252で、第1認証子MAC(K’,M)に対する第2認証子(第1認証子の正当性を証明するための情報)を生成する。ここでは、現在のアクティブ鍵Kを用いて第2認証子MAC(K,MAC(K’,M))を生成するものとする。生成された第1認証子及び第2認証子は、送信情報生成部215に渡される。
次いで、ステップS253で、送信情報生成部215において、第1認証子MAC(K’,M)及び第2認証子MAC(K,MAC(K’,M))を含む送信情報を生成する。
次いで、図16に示すように、ステップS254で、生成した送信情報230を送信部218を通してメッセージ受信装置220に送信する。送信後、メッセージ送信装置210は、ステップS255で、送信した送信情報230を格納する。
メッセージ受信装置220は、受信部221を通して受信した送信情報230を、受信証明情報生成部222に与える。受信証明情報生成部222は、ステップS256で、送信情報230に対する受信証明情報231を生成し、図17に示すように、メッセージ送信装置210に送信する。次いで、ステップS257で、送信情報230に含まれる送信予告情報を送信予告情報保持部224に渡し、受信順に格納する。
ステップS256でメッセージ受信装置220から受信証明情報231を受け取ったメッセージ送信装置210は、ステップS258で、受信証明検証部216において受信証明情報231の検証を行う。検証により、受信が確認された場合は、ステップS259に進み、メッセージMを送信することが決定される。次いで、ステップS260で、送信予告情報の生成に用いられた認証子生成鍵Kをネットワークに公開することが決定される。さらに、ステップS261で、アクティブ鍵KをKa+1に更新する。
ステップS258において受信証明情報231を検証した結果、受信が確認できなかった場合は、ステップS255に戻って、送信予告情報230をメッセージ受信装置220に対して再送信するようにしてもよい。
次いで、ステップS262で、図18に示すように、メッセージ送信装置210からメッセージ受信装置220に対して認証子生成鍵Kを含む送信情報232を送信する。メッセージ受信装置220は、送信情報232の受信を確認し、図18に示すように、ACK/NACKメッセージ233をメッセージ送信装置210に返信するようにしてもよい。送信後、ステップS263で、メッセージ送信装置210は認証子生成鍵Kを格納する。
認証子生成鍵Kを受信したメッセージ受信装置220は、ステップS264で、認証子生成鍵Kを認証する。認証子生成鍵Kが正常に認証されたら、ステップS265で、認証子生成鍵Kを格納する。
次いで、ステップS266で、送信予告情報保持部224に保持されている送信予告情報に含まれる第1認証子の認証を行う。送信予告情報保持部224は、保持している送信予告情報を受信した順に第1認証子認証部225に与え、第1認証子認証部225において認証が行われる。例えば、第1認証子認証部225は、認証子生成鍵Kを用いて第1認証子に対する認証子を生成し、生成された認証子が第2認証子と一致するか否かを判定することにより、第1認証子を認証する。
認証が正常に行われなかった場合は、ステップS267に進み、その送信予告情報を破棄する。認証が正常に行われた場合は、ステップS268に進み、認証された送信予告情報以外の送信予告情報を破棄する。
一方、ステップS269で、メッセージ送信装置210は、メッセージMからデータブロックMを生成する。次いで、図19に示すように、ステップS270で、生成したデータブロックMを含む送信情報234を順次メッセージ受信装置220に対して送信する。メッセージ受信装置220は、送信情報234の受信を確認し、図19に示すように、ACK/NACKメッセージ235をメッセージ送信装置210に返信するようにしてもよい。送信後、ステップS271で、メッセージ送信装置210は認証子生成鍵Kを格納する。
メッセージ送信装置210からメッセージ受信装置220に全てのデータブロックMが送信された後、ステップS272で、メッセージ復元部228においてデータブロックMからメッセージMを復元する。
次いで、ステップS273で、メッセージ認証部226においてメッセージMの認証を行う。メッセージ認証部226は、例えば、ステップS264で認証された認証子生成鍵Kにシステムで規定された一方向性関数Gを適用して求めた値K’を用いて、メッセージMに対する認証子を生成し、生成された値がステップS266で認証された第1認証子と一致するかを判定することにより、メッセージMの認証を行う。
以上、本実施形態にかかるメッセージ認証システムにより実行されるメッセージ認証処理の一例を説明した。
本実施形態の構成によれば、メッセージ送信装置は、複数のデータブロックM(1≦j≦n,n≧1)に分割する前のメッセージM全体に対して生成した第1認証子と、第1認証子の正当性を証明するための第2認証子をメッセージ受信装置に送り、上記2つの認証子がメッセージ受信装置に到達したことを確認した後で、認証子生成鍵を公開し、その後、データブロックM、M、…、Mを順次送信する。
このように、1つのメッセージに対して1つの認証子を送信するようにしたことで、各パケットに第1認証子及び第2認証子と認証子生成鍵を含めて送信する第1実施形態と比較すると、1つのパケットに含めることができるメッセージのデータブロックのサイズを大きくすることができる。
(第3の実施形態)
次に、図20及び21を参照して、本発明の第3の実施形態にかかるメッセージ認証システムについて説明する。本実施形態にかかるメッセージ認証システムでは、メッセージ送信装置は、最初のパケットに対して送信予告情報を生成し、メッセージ受信装置は、最初のパケットを認証したことをコミットメントとすることによって、その後に受信するパケットを認証するようにしたことを特徴とするものである。
(メッセージ送信装置310)
まず、図20を参照して、本実施形態にかかるメッセージ認証システムのメッセージ送信装置310について説明する。図20は、本実施形態にかかるメッセージ送信装置310の概略構成を示すブロック図である。本実施形態にかかるメッセージ送信装置310は、図20に示すように、メッセージ生成部311、認証子生成鍵管理部312、メッセージ保持部313、送信予告情報生成部314、送信情報生成部315、受信証明検証部316、受信部317、送信部318及び認証情報付加部319により構成される。
本実施形態にかかるメッセージ送信装置310を構成する各部は、上述した第1実施形態にかかるメッセージ送信装置の各部に該当する構成要素と実質的に同一の構成を有する。以下では、本実施形態にかかるメッセージ送信装置310の構成要素のうち、第1実施形態にかかるメッセージ送信装置110の該当する構成要素と機能が異なるメッセージ生成部311、メッセージ保持部313、送信予告情報生成部314、送信情報生成部315、受信証明検証部316、認証情報付加部319についてのみ説明する。
(メッセージ生成部311)
メッセージ生成部311は、メッセージ送信装置(サーバ)310がメッセージ受信装置(ノード)320に対して送信するメッセージを生成するための機能部である。メッセージ生成部311は、生成したメッセージMを1以上のデータブロックM(1≦j≦n,n≧1)に分割し、分割された各データブロックMを認証情報付加部319に渡す点を除いて、上述した第1実施形態にかかるメッセージ生成部111と実質的に同一の機能を有する。
(メッセージ保持部313)
メッセージ保持部313は、メッセージ受信装置320に送信するメッセージのデータブロックを保持するための記憶部であって、本実施形態のメッセージ保持部313は、以下の点を除いて、上述した第1実施形態にかかるメッセージ保持部113と実質的に同一の機能を有する。本実施形態にかかるメッセージ保持部313は、認証情報付加部319より与えられた情報(第1認証情報A、データブロック(M,A)(1≦j≦n−1)、及びM)を保持する。メッセージ保持部313は、受信証明検証部316より受信証明検証終了メッセージを受信すると、保持している第1認証情報A、データブロック(M,A)(1≦j≦n−1)、及びMを順次送信情報生成部315へ与える。
(送信予告情報生成部314)
送信予告情報生成部314は、任意のデータに対する第1認証子と第2認証子とからなる送信予告情報を生成するための機能部であって、以下の点を除き、上述した第1実施形態にかかる送信予告情報生成部114と実質的に同一の機能を有する。本実施形態にかかる送信予告情報生成部314は、認証情報付加部319より与えられた第1認証情報Aに対して、第1認証子及び第2認証子を生成し、送信情報生成部315に与える。また、メッセージ生成部311より与えられた情報(第1認証情報A、データブロック(M,A)(1≦j≦n−1)、及びM)をメッセージ保持部313に与える。
(送信情報生成部315)
送信情報生成部315は、メッセージ受信装置220に対する送信情報を生成するための機能部であって、以下の点を除き、上述した第1実施形態にかかる送信情報生成部115と実質的に同一の機能を有する。本実施形態にかかる送信情報生成部315は、メッセージ保持部313から第1認証情報A、データブロック(M,A)、またはMのいずれかを与えられ、これらの情報をそれぞれ含む送信情報を生成する。
(受信証明検証部316)
受信証明検証部316は、送信した送信情報が対象となるメッセージ受信装置220によって受信されたか否かを検証するための機能部であって、以下の点を除き、上述した第1実施形態にかかる受信証明検証部116と実質的に同一の機能を有する。本実施形態にかかる受信証明検証部316は、送信情報生成部315から送信予告情報(第1認証子及び第2認証子)を受け取る場合、第1実施形態にかかる受信証明検証部116と実質的に同一の動作を行う。
また、送信情報生成部315から認証子生成鍵K、第1認証情報A、データブロック(M,A)、またはMのいずれかを与えられる場合、受信証明検証部316は、それらの情報がメッセージ受信装置320において正しく受信されたか否かを検証する。具体的には、送信予告情報の場合と同様に、メッセージ受信装置320から受信証明情報を受信し、その受信証明情報を認証子生成鍵K、第1認証情報A、データブロック(M,A)、またはMを用いて検証するようにしてもよい。あるいは、メッセージ受信装置320からACK/NACKを返信されることにより、送信情報がメッセージ受信装置320に到達したか否かを検知するようにしてもよい。また、送信情報が到達していない場合は、送信部318に認証子生成鍵K、第1認証情報A、データブロック(M,A)、またはMを与え、再送信するようにしてもよい。また、ここでは、上述した送信予告情報の受信確認の場合と異なり、受信が確認された場合の受信証明検証終了メッセージの送信は行われない。
(認証情報付加部319)
認証情報付加部319は、メッセージMの各データブロックMに認証情報を付加するための機能部である。認証情報付加部319は、メッセージ生成部311からデータブロックM(1≦j≦n)を与えられ、データブロックMに対する認証情報を生成する。認証情報は、例えば、各データブロックから生成されたハッシュ値であってもよい。図22は、認証情報付加部319によりデータブロックに付加される認証情報を説明するための説明図である。例えば、図22に示すように、認証情報付加部319は、生成した全ての情報(第1認証情報A、データブロック(M,A)及びM)をメッセージ保持部313へ与え、第1認証情報Aを、送信予告情報生成部314へ与える。
以上、本実施形態にかかるメッセージ送信装置310の各部について、第1実施形態の該当する各部との相違点を中心に説明した。なお、メッセージ生成部311、認証子生成鍵管理部312、送信予告情報生成部314、送信情報生成部315、受信証明検証部316、受信部317、送信部318及び認証情報付加部319は、上述した各機能を実行可能なプログラムモジュールをコンピュータ等の情報処理装置にインストールしたソフトウェアで構成されてもよいし、あるいは、上述した各機能を実行可能なプロセッサ等のハードウエアで構成されてもよい。また、メッセージ保持部313は、例えば、半導体メモリ、光ディスク、磁気ディスク等の各種の記憶媒体等により構成されてもよい。
(メッセージ受信装置320)
次に、図21を参照して、本実施形態にかかるメッセージ認証システムのメッセージ受信装置320について説明する。図21は、本実施形態にかかるメッセージ受信装置320の概略構成を示すブロック図である。本実施形態にかかるメッセージ受信装置320は、図21に示すように、受信部321、受信証明情報生成部322、認証子生成鍵検証部323、送信予告情報保持部324、第1認証子認証部325、メッセージ認証部326、送信部327及び認証情報認証部329により構成される。
本実施形態にかかるメッセージ受信装置320を構成する各部は、上述した第1の実施形態にかかるメッセージ受信装置120の各部に該当する構成要素と実質的に同一の構成を有する。以下では、本実施形態にかかるメッセージ受信装置320の受信部321、認証子生成鍵検証部323及び送信部327を除く構成要素について、第1実施形態にかかるメッセージ受信装置120の各部に該当する構成要素と異なる点についてのみ説明する。
(受信証明情報生成部322)
受信証明情報生成部322は、送信情報を確かに受信したことをメッセージ送信装置310に証明するための受信証明情報を生成するための機能部であって、以下の点を除き、上述した第1実施形態にかかる受信証明情報生成部122と実質的に同一の機能を有する。本実施形態にかかる受信証明情報生成部322は、第1認証情報Aを認証情報認証部329へ、データブロック(M,A)(1≦j≦n−1)及びMをメッセージ認証部326へ与える。受信部321から受け取った送信情報が、第1認証情報Aを含まない情報である場合、受信証明情報生成部322は、それらの情報を確かに受信したことをメッセージ送信装置310に証明するために、ACKメッセージやNACKメッセージを生成し、送信部327を通して送信してもよい。
(送信予告情報保持部324)
送信予告情報保持部324は、メッセージ送信装置310から受信した送信予告情報(第1認証子及び第2認証子)を保持するための記憶部であって、以下の点を除き、上述した第1実施形態にかかる送信予告情報保持部124と実質的に同一の機能を有する。本実施形態にかかる送信予告情報保持部324は、保持している送信予告情報(第1認証子及び第2認証子)を、第1認証情報Aに対する送信予告情報として、受信した順番に第1認証子認証部325に与える。
(第1認証子認証部325)
第1認証子認証部325は、メッセージ送信装置310より与えられた送信予告情報に含まれる第1認証子が正当なものであるか否かを検証するための機能部であって、以下の点を除き、上述した第1実施形態にかかる第1認証子認証部125と実質的に同一の機能を有する。本実施形態にかかる第1認証子認証部325は、送信予告情報保持部324より第1認証情報Aに対する第1認証子及び第2認証子を受信した順番に与えられる。
(メッセージ認証部326)
メッセージ認証部326は、受信証明情報生成部322より与えられたデータブロックMが(1≦j≦n)が、メッセージ送信装置が生成した正しいデータブロックMであることを認証するための機能部である。メッセージ認証部326は、例えば、受信証明情報生成部322より与えられたデータブロック(M,A)に対するハッシュ値を生成し、生成されたハッシュ値と、認証情報認証部329より与えられた認証情報Aが一致するか否かを判定することで、データブロック(M,A)を認証する。同様に、例えば、受信証明情報生成部322より与えられたデータブロック(M,A)(2≦j≦n−1)に対するハッシュ値を生成し、生成されたハッシュ値が、既に認証済みの認証情報Aj−1と一致するか否かを判定することで、データブロック(M,A)を認証する。最後に、例えば、受信証明情報生成部322より与えられたデータブロックMに対するハッシュ値を生成し、生成されたハッシュ値が、既に認証済みの認証情報An−1と一致するか否かを判定することで、データブロックMを認証する。
(認証情報認証部329)
認証情報認証部329は、受信証明情報生成部322より与えられた第1認証情報Aが、メッセージ送信装置310が送信した正当な認証情報であることを認証するための機能部である。認証情報認証部329は、例えば、第1認証子認証部325より与えられた認証子生成鍵K’またはKを用いて、受信証明情報生成部322より与えられた第1認証情報Aに対する認証子を生成し、生成した認証子と第1認証子認証部325より与えられた第1認証子とが一致するか否かを判定することにより第1認証情報Aを認証する。第1認証情報Aが正常に認証されたら、第1認証情報Aをメッセージ認証部326へ与える。
以上、本実施形態にかかるメッセージ受信装置320の各部について説明した。なお、受信部321、受信証明情報生成部322、認証子生成鍵検証部323、第1認証子認証部325、メッセージ認証部326、送信部327及び認証情報認証部329は、上述した各機能を実行可能なプログラムモジュールをコンピュータ等の情報処理装置にインストールしたソフトウェアで構成されてもよいし、あるいは、上述した各機能を実行可能なプロセッサ等のハードウエアで構成されてもよい。また、送信予告情報保持部324は、例えば、半導体メモリ、光ディスク、磁気ディスク等の各種の記憶媒体等により構成されてもよい。
次に、図23〜図28に基づいて、本実施形態にかかるメッセージ認証システムにより実行されるメッセージ認証処理の一例を説明する。ここで、図23及び24は、本実施形態にかかるメッセージ認証処理の流れを示すフローチャートである。また、図25は、同実施形態にかかるメッセージ認証処理のステップS356における状態を示した説明図である。同様に、図26、27及び28は、それぞれステップS358、ステップS364及びステップS372における状態を示した説明図である。
まず、ステップS350で、メッセージ送信装置310のメッセージ生成部311において、送信するメッセージMを生成する。次に、ステップS351で、メッセージMを分割したデータブロックM(1≦j≦n)を生成する。生成されたデータブロックMは、認証情報付加部319に与えられる。
次いで、ステップS352で、認証情報付加部319において、認証情報A(0≦j≦n−1)を生成する。認証情報Aは、例えば、図22に示すような手順によって生成される。まず、最後のデータブロックMのハッシュ値である認証情報An−1を生成し、データブロックMn−1に付加する。さらに、認証情報An−1が付加されたデータブロック(Mn−1,An−1)のハッシュ値である認証情報An−2を生成し、データブロックMn−2に付加する。これを繰り返すことにより、データブロック(M,A)(1≦j≦n−1)と認証情報Aが生成される。ここで、最後に生成された認証情報Aを第1認証情報と呼ぶ。生成された第1認証情報Aは、送信予告情報生成部314に与えられる。また、生成された全ての情報(第1認証情報A、データブロック(M,A)及びM)がメッセージ保持部313へ与えられる。
次いで、ステップS353において、送信予告情報生成部314において、第1認証情報Aに対する第1認証子を生成する。ここでは、ネットワークに未公開の現在のアクティブ鍵Kに一方向性関数Gを適用して求められた値K’=G(K)を用いて第1認証子MAC(K’,A)を生成するとする。ここで、関数Gは、システムで公開された関数であるものとする。
次いで、ステップS354で、第1認証子MAC(K’,A)に対する第2認証子(第1認証子の正当性を証明するための情報)を生成する。ここでは、現在のアクティブ鍵Kを用いて第2認証子MAC(K,MAC(K’,A))を生成するものとする。生成された第1認証子及び第2認証子は、送信情報生成部315に渡される。
次いで、ステップS355で、送信情報生成部315において、第1認証子MAC(K’,A)及び第2認証子MAC(K,MAC(K’,A))を含む送信情報を生成する。
次いで、図25に示すように、ステップS356で、生成した送信情報330を送信部318を通してメッセージ受信装置320に送信する。送信後、メッセージ送信装置310は、ステップS357で、送信した送信情報330を格納する。
メッセージ受信装置320は、受信部321を通して受信した送信情報330を、受信証明情報生成部322に与える。受信証明情報生成部322は、ステップS358で、送信情報330に対する受信証明情報331を生成し、図26に示すように、メッセージ送信装置310に送信する。次いで、ステップS359で、送信情報330に含まれる送信予告情報を送信予告情報保持部324に渡し、受信順に格納する。
ステップS358でメッセージ受信装置320から受信証明情報331を受け取ったメッセージ送信装置310は、ステップS360で、受信証明検証部316において受信証明情報331の検証を行う。検証により、受信が確認された場合は、ステップS361に進み、第1認証情報A、データブロック(M,A)(1≦j≦n−1)及びMを送信することが決定される。次いで、ステップS362で、送信予告情報の生成に用いられた認証子生成鍵Kをネットワークに公開することが決定される。さらに、ステップS363で、アクティブ鍵KをKa+1に更新する。
次いで、ステップS364で、図27に示すように、メッセージ送信装置310からメッセージ受信装置320に対して第1認証情報Aと認証子生成鍵Kとを含む送信情報332を送信する。メッセージ受信装置320は、送信情報332の受信を確認し、図27に示すように、ACK/NACKメッセージ333をメッセージ送信装置310に返信するようにしてもよい。送信後、ステップS365で、メッセージ送信装置310は第1認証情報Aと認証子生成鍵Kとを格納する。
第1認証情報A及び認証子生成鍵Kを受信したメッセージ受信装置320は、ステップS366で、認証子生成鍵Kを認証する。認証子生成鍵Kが正常に認証されたら、ステップS367で、認証子生成鍵Kを格納する。
次いで、ステップS368で、送信予告情報保持部324に保持されている送信予告情報に含まれる第1認証子の認証を行う。送信予告情報保持部324は、保持している送信予告情報を受信した順に第1認証子認証部325に与え、第1認証子認証部325において認証が行われる。例えば、第1認証子認証部325は、認証子生成鍵Kを用いて第1認証子に対する認証子を生成し、生成された認証子が第2認証子と一致するか否かを判定することにより、第1認証子を認証する。
認証が正常に行われなかった場合は、ステップS369に進み、その送信予告情報を破棄する。認証が正常に行われた場合は、ステップS370に進み、認証された送信予告情報以外の送信予告情報を破棄する。
次いで、ステップS371で、認証情報認証部329において、第1認証情報Aの認証を行う。例えば、認証情報認証部329は、第1認証子認証部325より与えられた認証子生成鍵K’またはKを用いて、受信証明情報生成部322より与えられた第1認証情報Aに対する認証子を生成し、生成した認証子と第1認証子認証部325より与えられた第1認証子とが一致するか否かを判定することにより第1認証情報Aを認証する。
認証された第1認証情報Aは、メッセージ認証部326に渡される。
一方、図28に示すように、ステップS372で、メッセージ送信装置310からメッセージ受信装置320に対してデータブロック(M,A)(1≦j≦n−1)を含む送信情報334が送信される。データブロック(M,A)を受信したメッセージ受信装置320は、ステップS373で、メッセージ認証部においてデータブロック(M,A)の認証を行う。以下、メッセージ送信装置310が全てのデータブロック(M,A)(1≦j≦n−1)を送信するまで、ステップS372及びステップS373の処理を繰り返す。
データブロック(M,A)の認証は、例えば、メッセージ認証部326は、受信証明情報生成部322より与えられたデータブロック(M,A)に対するハッシュ値を生成し、生成されたハッシュ値と、認証情報認証部329より与えられた認証情報Aが一致するか否かを判定することにより行われる。同様に、例えば、受信証明情報生成部322より与えられたデータブロック(M,A)(2≦j≦n−1)に対するハッシュ値を生成し、生成されたハッシュ値が、既に認証済みの認証情報Aj−1と一致するか否かを判定することで、データブロック(M,A)を認証する。
次いで、ステップS374において、メッセージ送信装置310において全てのデータブロック(M,A)(1≦j≦n−1)が送信されたと判断したら、ステップS375に進み、最後のデータブロックMをメッセージ受信装置320に対して送信する。
メッセージ受信装置320においてデータブロックMが受信されると、メッセージ認証部326がデータブロックMを認証する。例えば、メッセージ認証部326は、受信証明情報生成部322より与えられたデータブロックMに対するハッシュ値を生成し、生成されたハッシュ値が、既に認証済みの認証情報An−1と一致するか否かを判定することにより、データブロックMを認証する。
以上、本実施形態にかかるメッセージ認証システムにより実行されるメッセージ認証処理の一例を説明した。
本実施形態の構成によれば、メッセージ送信装置は、最初のパケットに対して送信予告情報を生成し、メッセージ受信装置は、最初のパケットを認証できたことをコミットメントとすることによって、その後に受信するパケットを認証する。かかる構成により、各パケットに送信予告情報を含めて送信する第1実施形態の場合と比較すると、1つのパケットに含めることができるデータブロックのサイズを大きくすることができる。また、全データブロックから復元したメッセージに対して認証を行う第2実施形態と比較すると、全てのデータブロックが受信されていなくても、1つ前のデータブロックが認証されていることをコミットメントとして、各データブロック毎に認証を行うことができる。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上述の第2、第3実施形態で、メッセージ受信装置では、認証できなかった場合に、送信部を通してエラーメッセージをメッセージ送信装置へ返信するようにしてもよい。
また、上述の第3実施形態で、認証情報付加部は、データブロックM(1≦j≦n)のハッシュ値を葉としたMerkle認証木を構築し、データブロックMに該当する葉の位置から根までに存在する全ての節の子の中で、上記葉から根に向かうルート以外に存在する子の情報を認証情報Aとするようにしてもよい。また、ここで、第1認証情報Aを、上記Merkle認証木の根の値とするようにしてもよい。
上記各実施形態においては、説明の簡単化のため、1つの認証子生成鍵で1つのメッセージを認証する場合について説明したが、本発明はかかる例に限定されない。例えば、1つの認証子生成鍵で複数のメッセージを認証するようにしてもよい。
また、上記各実施形態においては、認証子生成鍵は、認証子生成鍵鎖列の鍵を用いて生成すると説明したが、本発明はかかる例に限定されない。例えば、認証子生成鍵には、認証子生成鍵鎖列の各鍵から派生した情報を用いるとし、メッセージ送信装置とメッセージ受信装置とが共にその情報を派生させるための方法を把握するようにしてもよい。
また、上記各実施形態においては、メッセージ受信装置の説明の中で、マルチホップ通信において情報の中継を行う情報中継部について明記していないが、メッセージ受信装置がマルチホップ通信環境における中継装置である場合には、メッセージ受信装置は、受信部から与えられた情報を送信部へ与えて中継先の装置へ転送する情報中継部を暗黙のうちに備えるものであることとする。
本発明の第1実施形態にかかるメッセージ認証システムの概略構成を示すブロック図である 同実施形態にかかるメッセージ送信装置(サーバ)の概略構成を示すブロック図である。 同実施形態にかかるメッセージ受信装置(ノード)の概略構成を示すブロック図である。 認証子生成鍵管理部によって管理される認証子生成鍵鎖列を説明するための説明図である。 同実施形態にかかるメッセージ認証処理の流れを示すフローチャートである。 同実施形態にかかるメッセージ認証処理の流れを示すフローチャートである。 同実施形態にかかるメッセージ認証処理のステップS155における状態を示した説明図である。 同実施形態にかかるメッセージ認証処理のステップS155における状態を示した説明図である。 同実施形態にかかるメッセージ認証処理のステップS163における状態を示した説明図である。 同実施形態にかかるメッセージ認証処理の送信情報再送時における状態を示した説明図である。 同実施形態にかかるメッセージ認証処理システムの効果を説明するためのシーケンス図である。 本発明の第2実施形態にかかるメッセージ送信装置の概略構成を示すブロック図である。 同実施形態にかかるメッセージ受信装置の概略構成を示すブロック図である。 同実施形態にかかるメッセージ認証処理の流れを示すフローチャートである。 同実施形態にかかるメッセージ認証処理の流れを示すフローチャートである。 同実施形態にかかるメッセージ認証処理のステップS254における状態を示した説明図である。 同実施形態にかかるメッセージ認証処理のステップS256における状態を示した説明図である。 同実施形態にかかるメッセージ認証処理のステップS262における状態を示した説明図である。 同実施形態にかかるメッセージ認証処理のステップS270における状態を示した説明図である。 本発明の第3実施形態にかかるメッセージ送信装置の概略構成を示すブロック図である。 同実施形態にかかるメッセージ受信装置の概略構成を示すブロック図である。 同実施形態にかかる認証情報付加部によりデータブロックに付加される認証情報を説明するための説明図である。 同実施形態にかかるメッセージ認証処理の流れを示すフローチャートである。 同実施形態にかかるメッセージ認証処理の流れを示すフローチャートである。 同実施形態にかかるメッセージ認証処理のステップS356における状態を示した説明図である。 同実施形態にかかるメッセージ認証処理のステップS358における状態を示した説明図である。 同実施形態にかかるメッセージ認証処理のステップS364における状態を示した説明図である。 同実施形態にかかるメッセージ認証処理のステップS372における状態を示した説明図である。 従来のメッセージ認証方式の処理の流れを示すシーケンス図である。 従来のメッセージ認証方式の処理における攻撃例を示すシーケンス図である。
符号の説明
100 メッセージ認証システム
110、210、310 メッセージ送信装置
111、211、311 メッセージ生成部
112、212、312 認証子生成鍵管理部
113、213、313 メッセージ保持部
114、214、314 送信予告情報生成部
115、215、315 送信情報生成部
116、216、316 受信証明検証部、
117、217、317、121、221、321 受信部
118、218、318、127、227、327 送信部
120、220、320 メッセージ受信装置
122、222、322 受信証明情報生成部
123、223、323 認証子生成鍵検証部
124、224、324 送信予告情報保持部
125、225、325 第1認証子認証部
126、226、326 メッセージ認証部
228 メッセージ復元部
319 認証情報付加部
329 認証情報認証部

Claims (26)

  1. マルチホップ型ネットワークにおいて、メッセージを送信するメッセージ送信装置と、送信されたメッセージの認証を行うメッセージ受信装置とを備えるメッセージ認証システムにおいて、
    前記メッセージ送信装置は、
    メッセージの認証に用いられる2以上の認証子生成鍵を含む認証子生成鍵鎖列を管理する認証子生成鍵管理部と、
    前記認証子生成鍵を用いて、前記メッセージの正当性を証明するための第1認証子及び前記第1認証子の正当性を証明するための第2認証子からなる送信予告情報を生成する送信予告情報生成部と、
    前記送信予告情報を前記メッセージ受信装置に送信し、前記送信予告情報に対応して前記メッセージ受信装置から送信される受信証明情報を認証した後で、前記メッセージと前記認証子生成鍵とを送信する送信部と、
    を含み、
    前記メッセージ受信装置は、
    前記送信予告情報の受信を証明する受信証明情報を生成する受信証明情報生成部と、
    前記第2認証子と前記メッセージ送信装置から送信された前記認証子生成鍵とを用いて前記第1認証子の認証を行う第1認証子認証部と、
    前記認証された第1認証子と前記認証子生成鍵とを用いて、前記メッセージ送信装置から受信した前記メッセージの認証を行うメッセージ認証部と、
    を含むことを特徴とする、メッセージ認証システム。
  2. 前記認証子生成鍵管理部は、任意の値に対し、公開された一方向性関数を実行する回数を順次増加させることにより前記各認証子生成鍵を生成し、生成された順と逆の順序で前記各認証子生成鍵を前記メッセージ受信装置に対して公開することを特徴とする、請求項1に記載のメッセージ認証システム。
  3. 前記送信予告情報生成部は、未公開の前記認証子生成鍵、または前記未公開の認証子生成鍵に公開された所定の一方向性関数を適用して生成された値のいずれかを用いて、前記第1認証子を生成することを特徴とする、請求項2に記載のメッセージ認証システム。
  4. 前記送信予告情報生成部は、未公開の前記認証子生成鍵、または前記未公開の認証子生成鍵に公開された所定の一方向性関数を適用して生成された値のいずれかと、前記第1認証子とを用いて、前記第2認証子を生成することを特徴とする、請求項2または3のいずれかに記載のメッセージ認証システム。
  5. 前記メッセージ受信装置は、受信した前記認証子生成鍵が未公開であるか否かを検証し、前記認証子生成鍵が未公開であれば、当該認証子生成鍵を用いて前記第1認証子の認証を行うことを特徴とする、請求項2〜4のいずれかに記載のメッセージ認証システム。
  6. 前記メッセージ受信装置は、前記メッセージ送信装置から前記認証子生成鍵が送信されるまで、受信した前記送信予告情報を受信順に保持する送信予告情報保持部をさらに含み、
    前記第1認証子認証部は、前記送信予告情報保持部に保持されている前記送信予告情報に含まれる前記第1認証子を受信順に認証し、認証される場合、前記送信予告情報保持部に保持された他の前記送信予告情報を破棄し、認証されない場合、当該送信予告情報を破棄することを特徴とする、請求項1〜5のいずれかに記載のメッセージ認証システム。
  7. 前記メッセージ送信装置は、前記メッセージを2以上のデータブロックに分割して送信することを特徴とする、請求項1〜6のいずれかに記載のメッセージ認証システム。
  8. 前記送信予告情報生成部は、前記各データブロックに対応する前記送信予告情報を生成し、
    前記メッセージ認証部は、前記各データブロックに対応する前記送信予告情報を用いて前記各データブロックを認証することを特徴とする、請求項7に記載のメッセージ認証システム。
  9. 前記送信予告情報生成部は、分割前の前記メッセージに対応する前記送信予告情報を生成し、
    前記メッセージ認証部は、前記メッセージの全ての前記データブロックを結合して前記メッセージを復元し、復元された前記メッセージを前記送信予告情報を用いて認証することを特徴とする、請求項7に記載のメッセージ認証システム。
  10. 前記メッセージ送信装置は、認証情報を前記各データブロックに付加する認証情報付加部をさらに含み、
    前記認証情報付加部は、公開された所定の一方向性関数を任意の前記データブロックに適用して前記認証情報を生成し、生成された前記認証情報を他の前記データブロックに付加し、前記認証情報が付加されたデータブロックに前記一方向性関数を適用することを繰り返して前記認証情報を生成することを特徴とする、請求項7に記載のメッセージ認証システム。
  11. 前記一方向性関数は、ハッシュ関数であることを特徴とする、請求項10に記載のメッセージ認証システム。
  12. 前記送信予告情報生成部は、最後に生成された前記認証情報である第1認証情報に対応する前記送信予告情報を生成し、
    前記送信部は、前記データブロックの送信前に前記第1認証情報と前記認証子生成鍵とを前記メッセージ受信装置に対して送信し、前記メッセージ受信装置から前記第1認証情報が認証された旨の通知を受け取った後、前記データブロックを送信し、
    前記メッセージ受信装置は、
    前記送信予告情報及び前記認証子生成鍵を用いて前記第1認証情報の認証を行う認証情報認証部をさらに含むことを特徴とする、請求項10または11のいずれかに記載のメッセージ認証システム。
  13. 前記送信部は、前記認証情報を生成するのに用いられたのと逆の順序で、前記データブロックを送信し、
    前記メッセージ認証部は、前記データブロックの直前に受信したデータブロックに含まれる前記認証情報を用いて前記データブロックの認証を行うことを特徴とする、請求項10〜12のいずれかに記載のメッセージ認証システム。
  14. マルチホップ型ネットワークによってメッセージ送信装置から送信されたメッセージをメッセージ受信装置において認証するメッセージ認証方法において、
    メッセージ送信装置からメッセージ受信装置に送信するメッセージを生成するメッセージ生成ステップと、
    前記メッセージ送信装置において、メッセージの認証に用いられる2以上の認証子生成鍵を含む認証子生成鍵鎖列を生成する認証子生成鍵生成ステップと、
    前記メッセージ送信装置において、前記認証子生成鍵を用いて前記メッセージの正当性を証明するための第1認証子及び前記第1認証子の正当性を証明するための第2認証子を含む送信予告情報を生成する送信予告情報生成ステップと、
    前記メッセージ送信装置から前記メッセージ受信装置に対し、前記送信予告情報を送信する送信予告情報送信ステップと、
    前記メッセージ受信装置において前記送信予告情報を受信したことを証明する受信証明情報を生成する受信証明情報生成ステップと、
    前記メッセージ受信装置から送信される前記受信証明情報を前記メッセージ送信装置が認証する受信証明情報認証ステップと、
    前記メッセージ送信装置から前記メッセージ受信装置に対し、前記認証子生成鍵を送信する認証子生成鍵送信ステップと、
    前記メッセージ送信装置から前記メッセージ受信装置に対し、前記メッセージを送信するメッセージ送信ステップと
    前記第2認証子及び前記メッセージ送信装置から送信された前記認証子生成鍵を用いて、前記メッセージ受信装置が前記第1認証子の認証を行う第1認証子認証ステップと、
    前記認証された第1認証子及び前記認証子生成鍵を用いて、前記メッセージ受信装置が前記メッセージ送信装置から受信した前記メッセージの認証を行うメッセージ認証ステップと、
    を含むことを特徴とする、メッセージ認証方法。
  15. 前記送信予告情報生成ステップは、公開された任意の値に対し、公開された一方向性関数を実行する回数を順次増加させることにより前記各認証子生成鍵を生成し、
    前記認証子生成鍵鎖列に含まれる前記各認証子生成鍵は、生成順と逆の順序で前記メッセージ受信装置に対して公開されることを特徴とする、請求項14に記載のメッセージ認証方法。
  16. 前記送信予告情報生成ステップにおいて、未公開の前記認証子生成鍵、または前記未公開の認証子生成鍵に公開された所定の一方向性関数を適用して生成された値のいずれかを用いて、前記第1認証子を生成することを特徴とする、請求項15に記載のメッセージ認証方法。
  17. 前記送信予告情報生成ステップにおいて、未公開の前記認証子生成鍵、または前記未公開の認証子生成鍵に公開された所定の一方向性関数を適用して生成された値のいずれかと、前記第1認証子とを用いて、前記第2認証子を生成することを特徴とする、請求項15または16のいずれかに記載のメッセージ認証方法。
  18. 前記第1認証子認証ステップの前に、メッセージ受信装置は、受信した前記認証子生成鍵が未公開であるか否かを検証し、前記認証子生成鍵が未公開であれば、当該認証子生成鍵を用いて前記第1認証子の認証を行うことを特徴とする、請求項15〜17のいずれかに記載のメッセージ認証方法。
  19. 前記メッセージ受信装置は、前記メッセージ送信装置から前記認証子生成鍵が送信されるまで、受信した前記送信予告情報を受信順に保持し、
    前記第1認証子認証ステップにおいて、前記保持されている送信予告情報に含まれる前記第1認証子を受信順に認証し、認証される場合、他の前記送信予告情報を破棄し、認証されない場合、当該送信予告情報を破棄することを特徴とする、請求項14〜18のいずれかに記載のメッセージ認証方法。
  20. 前記メッセージ生成ステップにおいて、前記メッセージを2以上のデータブロックに分割して生成することを特徴とする、請求項14〜19のいずれかに記載のメッセージ認証方法。
  21. 前記送信予告情報生成ステップにおいて、前記各データブロックに対応する前記送信予告情報を生成し、
    前記メッセージ認証ステップにおいて、前記各データブロックに対応する前記送信予告情報を用いて前記各データブロックを認証することを特徴とする、請求項20に記載のメッセージ認証方法。
  22. 前記送信予告情報生成ステップにおいて、分割前の前記メッセージに対応する前記送信予告情報を生成し、
    前記メッセージ認証ステップの前に、前記メッセージの全ての前記データブロックを結合して前記メッセージを復元するステップをさらに含み、
    前記メッセージ認証ステップにおいて、復元された前記メッセージを前記送信予告情報を用いて認証することを特徴とする、請求項20に記載のメッセージ認証方法。
  23. 前記送信予告情報生成ステップの前に、公開された所定の一方向性関数を任意の前記データブロックに適用して生成された認証情報を、別の前記データブロックに付加し、前記認証情報が付加されたデータブロックに前記一方向性関数を適用することを繰り返して、前記認証情報を前記各データブロックに付加する認証情報付加ステップをさらに含むことを特徴とする、請求項20に記載のメッセージ認証方法。
  24. 前記一方向性関数は、ハッシュ関数であることを特徴とする、請求項23に記載のメッセージ認証方法。
  25. 前記送信予告情報生成ステップにおいて、最後に生成された前記認証情報である第1認証情報に対応する前記送信予告情報を生成し、
    前記メッセージ送信ステップの前に、
    前記第1認証情報及び前記送信予告情報生成鍵を前記メッセージ受信装置に対して送信するステップと、
    前記送信予告情報及び前記認証子生成鍵を用いて前記第1認証情報の認証を行う認証情報認証ステップと、
    をさらに含むことを特徴とする、請求項23または24に記載のメッセージ認証方法。
  26. 前記メッセージ送信ステップにおいて、前記認証情報を生成するのに用いられたのと逆の順序で、前記データブロックを送信し、
    前記メッセージ認証ステップにおいて、前記データブロックの直前に受信したデータブロックに含まれる前記認証情報を用いて前記データブロックの認証を行うことを特徴とする、請求項23〜25のいずれかに記載のメッセージ認証方法。
JP2006324059A 2006-11-30 2006-11-30 メッセージ認証システム及びメッセージ認証方法 Expired - Fee Related JP4197031B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006324059A JP4197031B2 (ja) 2006-11-30 2006-11-30 メッセージ認証システム及びメッセージ認証方法
US11/976,374 US20080133921A1 (en) 2006-11-30 2007-10-24 Message authentication system and message authentication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006324059A JP4197031B2 (ja) 2006-11-30 2006-11-30 メッセージ認証システム及びメッセージ認証方法

Publications (2)

Publication Number Publication Date
JP2008141360A true JP2008141360A (ja) 2008-06-19
JP4197031B2 JP4197031B2 (ja) 2008-12-17

Family

ID=39477261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006324059A Expired - Fee Related JP4197031B2 (ja) 2006-11-30 2006-11-30 メッセージ認証システム及びメッセージ認証方法

Country Status (2)

Country Link
US (1) US20080133921A1 (ja)
JP (1) JP4197031B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010024379A1 (ja) * 2008-08-29 2010-03-04 日本電気株式会社 通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム
JPWO2010032391A1 (ja) * 2008-09-19 2012-02-02 日本電気株式会社 完全性検証のための通信システム、通信装置、及びそれらを用いた通信方法及びプログラム
JP2012085036A (ja) * 2010-10-08 2012-04-26 Oki Electric Ind Co Ltd 通信システム、並びに、通信装置及びプログラム
JP2013074322A (ja) * 2011-09-26 2013-04-22 Oki Electric Ind Co Ltd メッセージ認証システム、通信装置及び通信プログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101400059B (zh) * 2007-09-28 2010-12-08 华为技术有限公司 一种active状态下的密钥更新方法和设备
TWI341095B (en) * 2007-12-12 2011-04-21 Nat Univ Tsing Hua Light-overhead and flexible wireless sensor message authentication method
US8644620B1 (en) * 2011-06-21 2014-02-04 Google Inc. Processing of matching regions in a stream of screen images
JP5962750B2 (ja) * 2012-03-22 2016-08-03 富士通株式会社 アドホックネットワークシステム、ノード、および通信方法
KR101772554B1 (ko) * 2016-02-02 2017-08-30 주식회사 코인플러그 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버
WO2018020383A1 (en) * 2016-07-25 2018-02-01 Mobeewave, Inc. System for and method of authenticating a component of an electronic device
JP2020167509A (ja) * 2019-03-29 2020-10-08 コベルコ建機株式会社 情報処理システム、情報処理方法、およびプログラム
JP7380530B2 (ja) * 2020-11-13 2023-11-15 トヨタ自動車株式会社 車両通信システム、通信方法及び通信プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790677A (en) * 1995-06-29 1998-08-04 Microsoft Corporation System and method for secure electronic commerce transactions
AU770396B2 (en) * 1998-10-27 2004-02-19 Visa International Service Association Delegated management of smart card applications
JP4553565B2 (ja) * 2002-08-26 2010-09-29 パナソニック株式会社 電子バリューの認証方式と認証システムと装置
US7401217B2 (en) * 2003-08-12 2008-07-15 Mitsubishi Electric Research Laboratories, Inc. Secure routing protocol for an ad hoc network using one-way/one-time hash functions

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010024379A1 (ja) * 2008-08-29 2010-03-04 日本電気株式会社 通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム
JPWO2010032391A1 (ja) * 2008-09-19 2012-02-02 日本電気株式会社 完全性検証のための通信システム、通信装置、及びそれらを用いた通信方法及びプログラム
JP2012085036A (ja) * 2010-10-08 2012-04-26 Oki Electric Ind Co Ltd 通信システム、並びに、通信装置及びプログラム
JP2013074322A (ja) * 2011-09-26 2013-04-22 Oki Electric Ind Co Ltd メッセージ認証システム、通信装置及び通信プログラム

Also Published As

Publication number Publication date
JP4197031B2 (ja) 2008-12-17
US20080133921A1 (en) 2008-06-05

Similar Documents

Publication Publication Date Title
US20080133921A1 (en) Message authentication system and message authentication method
JP5589410B2 (ja) 通信システム及び通信装置
CN101378315B (zh) 认证报文的方法、系统、设备和服务器
JP4329656B2 (ja) メッセージ受信確認方法、通信端末装置及びメッセージ受信確認システム
US8209536B2 (en) Message authentication system, message transmission apparatus and message reception apparatus
CN106789090A (zh) 基于区块链的公钥基础设施系统及半随机联合证书签名方法
US20210119770A1 (en) Blockchain Network and Establishment Method Therefor
JP2020532928A (ja) デジタル署名方法、装置及びシステム
CN113114472A (zh) 一种基于报文哈希链的认证方法及系统
WO2021213452A1 (zh) 基于认证分片可重组的动态路径验证方法
CN112637298A (zh) 认证方法和成员节点
CN115174570B (zh) 一种基于动态委员会的跨链共识方法及系统
KR102437864B1 (ko) 펌웨어를 수신하는 방법 및 펌웨어를 전송하는 방법
JP5811809B2 (ja) マルチホップ通信システム、通信装置及び通信プログラム
JP4561418B2 (ja) メッセージ認証方法、通信端末装置及びメッセージ認証システム
KR102416562B1 (ko) 블록체인을 기반으로 한 IoT 디바이스의 인증 및 해지 방법
JP5664104B2 (ja) 通信システム、並びに、通信装置及びプログラム
Nepal et al. An Enhanced Secure Data Provenance Scheme for the Internet of Vehicles
Chatzigiannis et al. Black-box IoT: Authentication and distributed storage of IoT data from constrained sensors
JP5768622B2 (ja) メッセージ認証システム、通信装置及び通信プログラム
JP4631423B2 (ja) メッセージの認証方法と該認証方法を用いたメッセージ認証装置およびメッセージ認証システム
JP4543789B2 (ja) トランザクションに基づく証明書検証情報管理方法
KR101513508B1 (ko) 해시 트리 기반의 브로드캐스트 메시지 인증 방법 및 장치
CN119995845B (zh) 一种量子密钥分发方法及系统
KR20060067787A (ko) 무선 Ad Hoc 망에서의 인증서 발행 및 인증 방법

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080909

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080922

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4197031

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131010

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees