(57)【特許請求の範囲】
【請求項１】
第２の装置に送信するメッセージＭを入力とし、所定の誤り訂正符号による符号化を行って符号語Ｃを出力する誤り訂正符号化手段と、
前記メッセージＭを入力とし、所定のメッセージ認証用のタグＴを出力するメッセージ認証タグ生成手段と、
前記符号語ＣとタグＴとを送信情報Ｓとして前記第２の装置に送信する送信手段と、を備える第１の装置と、
前記第１の装置から受信した送信情報Ｓから前記符号語ＣとタグＴに対応する符号語Ｃ’とタグＴ’とを抽出する抽出手段と、
前記符号語Ｃ’に対して前記所定の誤り訂正符号の復号処理を行い、検証対象のメッセージＭ＊を出力する誤り訂正符号復号手段と、
前記検証対象のメッセージＭ＊と前記タグＴ’とを入力として、検証対象のメッセージＭ＊から得られるタグＴ＊と、前記タグＴ’との差異の大きさを示す値が、所定のしきい値以下であった場合、前記検証対象のメッセージＭ＊が改ざんされていないものとして判定するメッセージ検証結果出力手段と、を備える第２の装置と、
を含むメッセージ認証システム。
【請求項２】
前記しきい値は、前記第１の装置と前記第２の装置の間の通信路において想定される所定の誤り率に応じて設定された値である請求項１のメッセージ認証システム。
【請求項３】
前記誤り訂正符号化手段と前記メッセージ認証タグ生成手段とが並列して動作するよう構成されている請求項１又は２のメッセージ認証システム。
【請求項４】
前記第１の装置及び前記第２の装置は、それぞれＣＭＡＣ（Ｃｉｐｈｅｒ-ｂａｓｅｄ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）を用いてタグＴ及びタグＴ＊を計算する請求項１から３いずれか一のメッセージ認証システム。
【請求項５】
前記第１の装置及び前記第２の装置は、それぞれＨＭＡＣ（Ｈａｓｈ−ｂａｓｅｄ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）を用いてタグＴ及びタグＴ＊を計算する請求項１から３いずれか一のメッセージ認証システム。
【請求項６】
符号語ＣとタグＴとを送信情報Ｓとして第２の装置に送信する第１の装置から受信した送信情報Ｓから前記符号語ＣとタグＴに対応する符号語Ｃ’とタグＴ’とを抽出する抽出手段と、
前記符号語Ｃ’に対して所定の誤り訂正符号の復号処理を行い、検証対象のメッセージＭ＊を出力する誤り訂正符号復号手段と、
前記検証対象のメッセージＭ＊と前記タグＴ’とを入力として、検証対象のメッセージＭ＊から得られるタグＴ＊と、前記タグＴ’との差異の大きさを示す値が、所定のしきい値以下であった場合、前記検証対象のメッセージＭ＊が改ざんされていないものとして判定するメッセージ検証結果出力手段と、を含む第２の装置。
【請求項７】
符号語ＣとタグＴとを送信情報Ｓとして第２の装置に送信する第１の装置から受信した送信情報Ｓから前記符号語ＣとタグＴに対応する符号語Ｃ’とタグＴ’とを抽出するステップと、
前記符号語Ｃ’に対して所定の誤り訂正符号の復号処理を行い、検証対象のメッセージＭ＊を出力するステップと、
前記検証対象のメッセージＭ＊と前記タグＴ’とを入力として、検証対象のメッセージＭ＊から得られるタグＴ＊と、前記タグＴ’との差異の大きさを示す値が、所定のしきい値以下であった場合、前記検証対象のメッセージＭ＊が改ざんされていないものとして判定するステップと、を含むメッセージ検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メッセージ認証システム、装置及びメッセージ検証方法に関し、特に、誤り訂正符号による誤り訂正機能を持つメッセージ認証システム、装置及びメッセージ検証方法に関する。
【背景技術】
【０００２】
メッセージ認証（Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ，  ＭＡＣ）とは、メッセージに対して秘密鍵を知るものだけが計算できるタグを付与することで、メッセージが正当であることを保証する技術である。例えば、メッセージ認証を用いれば、秘密鍵を共有した２者の通信において、通信の間に行われた、第三者による改ざんを検知することが可能となる。具体的には、メッセージの送信者と受信者で共有される秘密鍵をＫ、メッセージをＭとすると、送信者はメッセージＭとともにタグＴ＝ＭＡＣ（Ｋ，Ｍ）を受信者に送る。なお、ＭＡＣ（Ｋ，Ｍ）は、ＭとＫを入力して、タグＴを出力する関数Ｆを示す。【０００３】
通信路を介して受信者側で受け取られたメッセージとタグをそれぞれメッセージＭ’、タグＴ’と記す。メッセージＭ’とタグＴ’を受け取った受信者は、受信メッセージＭ’と、送信者と共有する鍵Ｋとを用いてタグＴ’’を計算する。ここで、受信したタグＴ’とＴ’’の一致／不一致を確認することで、メッセージＭ’が正当な送信者から送られたものかどうかを判断できる。【０００４】
このような方式の一例として、非特許文献１のＣＭＡＣ（Ｃｉｐｈｅｒ-ｂａｓｅｄ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ；以下、［ＣＭＡＣ］と記す）や、非特許文献２のＨＭＡＣ（Ｈａｓｈ−ｂａｓｅｄ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ；以下、［ＨＭＡＣ］と記す）などがある。【０００５】
一方、通信においては自然の要因によるエラーが起きうるため、誤り訂正符号（Ｅｒｒｏｒ−Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ以下、ＥＣＣと記す）も適用することが一般的である。この際、通常、誤り訂正符号は通信内容全体に適用される。従って、メッセージ認証を用いている場合は、メッセージＭと、タグＴ＝ＭＡＣ（Ｍ）とを連結した系列（Ｍ||Ｔ）全体に、誤り訂正符号の符号化処理を行うことになる（なお、||は連結演算子を示す）。【０００６】
任意の２値系列ｘに対する符号化処理をｇ（ｘ）とすれば、送信内容はｇ（Ｍ||ＭＡＣ（Ｍ））となる。受信者は、まず誤り訂正処理を行い、得られた（Ｍ||Ｔ）の推定値についてＭＡＣ検証処理を行う。【０００７】
非特許文献３［ＤＮＳＮ］、非特許文献４［ＬＧＶ］及び特許文献１には、上記メッセージ認証と、誤り訂正符号の機能を組み合わせた方式が提案されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１５−２０４５０８号公報
【非特許文献】
【０００９】
【非特許文献１】ＮＩＳＴ  Ｓｐｅｃｉａｌ  Ｐｕｂｌｉｃａｔｉｏｎ  ８００−３８Ｂ、“Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ｆｏｒ  Ｂｌｏｃｋ  Ｃｉｐｈｅｒ  Ｍｏｄｅｓ  ｏｆ  Ｏｐｅｒａｔｉｏｎ：  Ｔｈｅ  ＣＭＡＣ  Ｍｏｄｅ  ｆｏｒ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ”、［online］、［平成28年11月28日検索］、インターネット〈URL：http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38b.pdf〉
【非特許文献２】Ｍｉｈｉｒ  Ｂｅｌｌａｒｅ，  Ｒａｎ  Ｃａｎｅｔｔｉ  ａｎｄ  Ｈｕｇｏ  Ｋｒａｗｃｚｙｋ、“Ｋｅｙｉｎｇ  Ｈａｓｈ  Ｆｕｎｃｔｉｏｎｓ  ｆｏｒ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ”、［online］、［平成28年11月28日検索］、インターネット〈URL：http://cseweb.ucsd.edu/~mihir/papers/kmd5.pdf〉
【非特許文献３】Ｅｌｅｎａ  Ｄｕｂｒｏｖａ，  Ｍａｔｓ  Ｎａｓｌｕｎｄ，  Ｇｏｒａｎ  Ｓｅｌａｎｄｅｒ，  Ｋａｒｌ  Ｎｏｒｒｍａ、“Ｅｒｒｏｒ−Ｃｏｒｒｅｃｔｉｎｇ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｆｏｒ  ５Ｇ”、［ｏｎｌｉｎｅ］、［平成２８年１１月２８日検索］、インターネット〈ＵＲＬ：https://www.ericsson.com/res/docs/2016/error-correcting-message-authentication-for-5g.pdf〉
【非特許文献４】Ｃ．Ｙ．  Ｌａｍ，  Ｇ．  Ｇｏｎｇ，  Ｓ．Ａ．  Ｖａｎｓｔｏｎｅ、“Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅｓ  ｗｉｔｈ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃａｐａｂｉｌｉｔｉｅｓ”、  ４ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ，  ＩＣＩＣＳ  ２００２、2002年6月20日［online］、［平成28年11月28日検索］、インターネット〈URL：http://cacr.uwaterloo.ca/techreports/2002/corr2002-19.ps〉
【発明の概要】
【発明が解決しようとする課題】
【００１０】
以下の分析は、本発明によって与えられたものである。上記したように、メッセージ認証（ＭＡＣ）と誤り訂正符号（ＥＣＣ）とを組み合わせる場合、メッセージＭと、タグＴ＝ＭＡＣ（Ｍ）とを連結した系列（Ｍ||Ｔ）全体に、誤り訂正符号の符号化処理が行われる（特許文献１の段落００６５、０１１０−０１１１参照）。通常、誤り訂正符号の機能は通信デバイスの中にハードウェアとして組み込まれており、メッセージ認証は通信デバイスの外側で、典型的にはソフトウェアで実行されていることが多いため、上記処理順序の制約は問題とはならない。【００１１】
しかしながら、例えば、ストレージから入出力されるパケットに対する誤り訂正などはソフトウェアで行われる。この場合、メッセージ認証と、誤り訂正（ＥＣＣ）とをそれぞれソフトウェアで処理することになるため、処理速度の向上を図る際のボトルネックとなりうる。【００１２】
また、上記したメッセージ認証に用いられるタグは固定長（例えば３２ｂｉｔから１２８ｂｉｔ）の比較的短いデータであり、一般的なインターネットのパケットにおいてはメッセージの方がタグより十分長いため問題とはならない。【００１３】
しかしながら、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）に代表される低電力動作の無線通信を用いたセンサーネットワーク等のアプリケーションでは、ビットあたりの送信にかかる電力量が相対的に大きい。このため、アプリケーションの側でメッセージを極めて短くするような設計がなされることが多い。結果として、既存のメッセージ認証方式と組みわせた場合、メッセージとタグの長さは同等か、メッセージの方が短くなることも予想される。これらメッセージ本文に対するオーバーヘッドは、低電力動作の無線通信においては無視できない消費電力増加の要因となる。【００１４】
上記の諸点に関連し、非特許文献３［ＤＮＳＮ］は、シングルビット誤り訂正と組み合わせたメッセージ認証方式を提案するものであり、任意のメッセージ認証コードと任意の誤り訂正符号との組合せを実現するものではない。また、非特許文献４［ＬＧＶ］は、誤り訂正機能を持つメッセージ認証コード自体の構築であり、こちらも任意のメッセージ認証コードと任意の誤り訂正符号との組合せを実現するものではない。【００１５】
本発明は、任意のメッセージ認証コードと任意の誤り訂正符号とを用いる場合の処理順序の制約をなくし、処理速度を向上可能とするとともに、オーバーヘッドの抑制に貢献できるメッセージ認証システム、装置及びメッセージ検証方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
第１の視点によれば、第１の装置と、第２の装置と、を含むメッセージ認証システムが提供される。第１の装置は、第２の装置に送信するメッセージＭを入力とし、所定の誤り訂正符号による符号化を行って符号語Ｃを出力する誤り訂正符号化手段と、前記メッセージＭを入力とし、所定のメッセージ認証用のタグＴを出力するメッセージ認証タグ生成手段と、前記符号語ＣとタグＴとを送信情報Ｓとして前記第２の装置に送信する送信手段と、を備える。第２の装置は、前記第１の装置から受信した送信情報Ｓから前記符号語ＣとタグＴに対応する符号語Ｃ’とタグＴ’とを抽出する抽出手段と、前記符号語Ｃ’に対して前記所定の誤り訂正符号の復号処理を行い、検証対象のメッセージＭ＊を出力する誤り訂正符号復号手段と、前記検証対象のメッセージＭ＊と前記タグＴ’とを入力として、検証対象のメッセージＭ＊から得られるタグＴ＊と、前記タグＴ’とが所定の同一性基準を満たす場合、前記検証対象のメッセージＭ＊が改ざんされていないものとして判定するメッセージ検証結果出力手段と、を備える。【００１７】
第２の視点によれば、上記メッセージ認証システムを構成する第１の装置及び第２の装置がそれぞれ提供される。【００１８】
第３の視点によれば、符号語ＣとタグＴとを送信情報Ｓとして第２の装置に送信する第１の装置から受信した送信情報Ｓから前記符号語ＣとタグＴに対応する符号語Ｃ’とタグＴ’とを抽出するステップと、前記符号語Ｃ’に対して前記所定の誤り訂正符号の復号処理を行い、検証対象のメッセージＭ＊を出力するステップと、前記検証対象のメッセージＭ＊と前記タグＴ’とを入力として、検証対象のメッセージＭ＊から得られるタグＴ＊と、前記タグＴ’とが所定の同一性基準を満たす場合、前記検証対象のメッセージＭ＊が改ざんされていないものとして判定するステップと、を含むメッセージ検証方法が提供される。本方法は、送信情報Ｓ中の符号語Ｃ’についての誤り訂正処理と、メッセージＭ＊、秘密鍵Ｋ及び受信タグＴ’とを用いたメッセージ検証とを行う機能を有する装置という、特定の機械に結びつけられている。【００１９】
第４の視点によれば、上記メッセージ認証システムを構成する第１の装置及び第２の装置にそれぞれ搭載されたコンピュータに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００２０】
本発明によれば、メッセージ認証と誤り訂正符号とを用いる通信におけるこれらの処理速度を向上可能とするとともに、オーバーヘッドを低減することが可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の一実施形態の動作を説明するための図である。
【図３】本発明の第１の実施形態のメッセージ認証システムの構成を示す図である。
【図４】本発明の第１の実施形態のメッセージ送信装置の構成を示す図である。
【図５】本発明の第１の実施形態のメッセージ検証装置の構成を示す図である。
【図６】本発明の第１の実施形態のメッセージ送信装置の動作を表したフローチャートである。
【図７】本発明の第１の実施形態のメッセージ検証装置の動作を表したフローチャートである。
【図８】比較例と本発明の第１の実施形態のメッセージ認証システムとの差異を説明するための参考図である。
【図９】本発明の第１の実施形態のメッセージ認証システムを構成する装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【００２２】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号（データ）の流れを模式的に示すものであり、双方向性を排除するものではない。
【００２３】
本発明は、その一実施形態において、図１に示すように、第１の装置１００と、第２の装置２００と、を含むメッセージ認証システムにて実現できる。より具体的には、第１の装置１００は、第２の装置２００に送信するメッセージＭを入力とし、所定の誤り訂正符号による符号化を行って符号語Ｃを出力する誤り訂正符号化手段１０１と、同じく前記メッセージＭを入力とし、所定のメッセージ認証用のタグＴを出力するメッセージ認証タグ生成手段１０２と、前記符号語ＣとタグＴとを連結して送信情報Ｓとして第２の装置２００に送信する送信手段１０３と、を備える。
【００２４】
一方、第２の装置２００は、第１の装置１００から受信した送信情報Ｓから符号語ＣとタグＴに対応する符号語Ｃ’とタグＴ’とを抽出する抽出手段２０１と、前記符号語Ｃ’に対して前記所定の誤り訂正符号の復号処理を行い、検証対象のメッセージＭ＊を出力する誤り訂正符号復号手段２０２と、前記検証対象のメッセージＭ＊と前記タグＴ’とを入力として、検証対象のメッセージＭ＊から得られるタグＴ＊と、前記タグＴ’とが所定の同一性基準を満たす場合、前記検証対象のメッセージＭ＊が改ざんされていないものとして判定するメッセージ検証結果出力手段２０３と、を備える。
【００２５】
図２は、上記メッセージ認証システムの動作を説明するための図である。第１の装置１００に、メッセージＭが入力されると、誤り訂正符号化手段１０１と、メッセージ認証タグ生成手段１０２とが、それぞれ動作し、符号語ＣとタグＴとをそれぞれ計算して、送信手段１０３に出力する。送信手段１０３は、符号語ＣとタグＴとを連結して送信情報Ｓとして、第２の装置２００に送信する。なお、本実施形態においてはタグＴを先に計算しなければならないという制約はないので、誤り訂正符号化手段１０１と、メッセージ認証タグ生成手段１０２の動作は、図２に示すように、独立して並列に動作させることができる。また、符号語ＣとタグＴとの連結は、第１、第２の装置間で事前に取り決めた種々の態様を採ることができる。例えば、所定の送信フォーマットの前段に符号語Ｃを格納し、その後ろにタグＴを格納する態様を採ることができる。もちろん、この態様に限られず、送信フレームのヘッダ領域にタグＴを格納する形態や結合後のデータを暗号化する形態等の種々の形態を採ることができる。
【００２６】
第２の装置２００は、送信情報Ｓを受信すると、送信情報Ｓから符号語ＣとタグＴの部分を抽出する（抽出した段階では同一性が保証されていないため、それぞれ”Ｃ’”、”Ｔ’”と記す）。次に、第２の装置２００は、符号語Ｃ’を復号して検証対象のメッセージＭ＊を得る。この検証対象のメッセージＭ＊は、改ざん有無の確認はなされていないが、伝送過程で生じた誤りが訂正されたものとなっている。次に、第２の装置２００は、このメッセージＭ＊を入力として、事前に第１の装置１００と共有している秘密鍵を用いてタグＴ＊を計算する。さらに、第２の装置２００は、タグＴ＊と、第１の装置１００から受信した送信情報Ｓから抽出したタグＴ’とが所定の同一性基準を満たす場合、検証対象のメッセージＭ＊が改ざんされていないものとして判定する。他方、前記タグＴ＊と、前記タグＴ’とが所定の同一性基準を満たしていない場合、第２の装置２００は、検証対象のメッセージＭ＊が改ざんされたものとして判定する。
【００２７】
以上のように、本発明によれば、誤り訂正符号化処理と、メッセージ認証用タグＴの計算処理とを独立して実施可能であるため、送信側の装置における処理速度を向上させることができる。また、本発明によれば、誤り訂正符号化処理の対象からタグＴ（例えば、３２〜１２８ビットの長さとなる）は除外されるため、計算量及び第２の装置２００側に送信するデータ量を少なくすることができる（図６参照）。
【００２８】
なお、前記所定の同一性基準としては、２つのデータの類似の度合いに基づいて、実施的な同一性を判定する種々の方法を採用することができる。例えば、前記タグＴ＊と、前記タグＴ’との差異の大きさを示す値（距離）が、所定のしきい値以下であった場合、検証対象のメッセージＭ＊が改ざんされていないものとして判定する基準を用いることができる。また、前記しきい値としても、第１の装置１００と第２の装置２００の間の通信路において想定される誤り率や、第１の装置１００と第２の装置２００の間の通信に求められる改ざん検知機能の精度に応じて設定した値を用いることができる。
【００２９】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。以下、とくに断りのない限り、メッセージＭがｍビット、タグＴがｔビットであるとする。図３は、本発明の第１の実施形態のメッセージ認証システムの構成を示す図である。図３を参照すると、タグ付きのメッセージを送信するメッセージ送信装置１０と、メッセージ送信装置１０から受信したタグ付きのメッセージを検証するメッセージ検証装置２０とが示されている。
【００３０】
メッセージ送信装置１０は、各種の無線端末やセンサ端末などデータの送信側の装置である。メッセージ検証装置２０は、メッセージ送信装置１０からメッセージを受信する端末やサーバなどデータの受信側の装置である。本実施形態では、メッセージ送信装置１０とメッセージ検証装置２０間の通信は無線で行われるものとして説明するが、メッセージ送信装置１０とメッセージ検証装置２０とが有線で接続されていてもよい。
【００３１】
はじめに、メッセージ送信装置１０の構成について説明する。図４は、メッセージ送信装置１０の構成を示すブロック図である。図４を参照すると、メッセージ入力手段１１０と、誤り訂正符号化手段１１１と、メッセージ認証タグ生成手段１１２と、出力手段１１３とを備えた構成が示されている。
【００３２】
メッセージ入力手段１１０は、ユーザ等から処理対象となるメッセージＭの入力を受け付け、誤り訂正符号化手段１１１と、メッセージ認証タグ生成手段１１２とに出力する手段である。このようなメッセージ入力手段１１０は、例えばキーボードなどの文字入力装置や外部からメッセージを受信する通信ユニットにより実現される（例えば、図９の通信デバイス９３０、入力デバイス９４０参照）。
【００３３】
誤り訂正符号化手段１１１は、メッセージＭに対し、所定の誤り訂正符号の符号化関数を適用し、その結果である符号語Ｃを出力する手段である。誤り訂正符号としては、ハミング符号やＲｅｅｄ−Ｓｏｌｏｍｏｎ符号を含む、任意のものを利用可能である。符号化関数をｇ（ｘ）とすると、符号語Ｃは、ｇ（Ｍ）と表すことができる。
【００３４】
メッセージ認証タグ生成手段１１２は、メッセージＭに対し、共通鍵暗号を用いたメッセージ認証コードのタグ生成関数を適用し、その結果であるタグＴを出力する手段である。メッセージ認証コードとしては、ブロック暗号を用いたＣＭＡＣ（非特許文献１）や、ハッシュ関数を用いたＨＭＡＣ（非特許文献２）など、擬似ランダム関数を実現する任意のメッセージ認証コードを利用可能である。タグ生成関数をＦ（ｘ）とすると、タグＴは、Ｆ（Ｍ）と表すことができる。
【００３５】
出力手段１１３は、誤り訂正符号化手段１１１の出力する符号語Ｃと、メッセージ認証タグ生成手段１１２の出力するタグＴとを連結して、送信情報Ｓとして、メッセージ検証装置２０側に送信する手段である。出力手段１１３は、送信情報Ｓを構成し、メッセージ検証装置２０側に送信するコンピュータプログラム及びメッセージを送信する通信ユニットにより構成することができる。
【００３６】
上記したメッセージ送信装置１０は、ＣＰＵと記憶装置（メモリ／ディスク）とを備えたコンピュータにより実現可能である（図９参照）。また、上記したメッセージ送信装置１０の各手段は、図９に示すように、上記ＣＰＵ９１０に、上記各手段に相当する処理を実行させるコンピュータプログラムを記憶装置９２０に格納しておき（図９のプログラム記憶部９２２参照）、このプログラムをＣＰＵ９１０上で動作させることにより実現することができる。
【００３７】
次に、メッセージ検証装置２０の構成について説明する。図５は、メッセージ検証装置２０の構成を示すブロック図である。図５を参照すると、送信情報入力手段１２０と、メッセージ分割手段１２１と、誤り訂正符号復号手段１２２と、メッセージ検証結果出力手段１２３と備えた構成が示されている。
【００３８】
送信情報入力手段１２０は、メッセージ送信装置１０から送信された送信情報Ｓを入力する手段である。送信情報入力手段１２０は、外部からメッセージを受信する通信ユニットなどにより実現される（例えば、図９の通信デバイス９３０、入力デバイス９４０参照）。
【００３９】
メッセージ分割手段１２１は、上述した抽出手段に相当し、送信情報Ｓを分割して、受信した符号語Ｃ’と、受信したタグＴ’を得る手段である。
【００４０】
誤り訂正符号復号手段１２２は、メッセージ分割手段１２１にて得られた符号語Ｃ’に対し誤り訂正符号の復号関数を適用し、復号結果のメッセージＭ＊を出力する手段である。ここで、Ｍ＊は、受信した符号語Ｃ’の通信中に改ざんがなく、かつ、通信において生じたエラーが利用した誤り訂正符号の訂正能力の範囲内であれば、元のメッセージＭと一致することになる。復号関数をｇ−１（ｘ）とすると、Ｍ＊の算出式は、ｇ−１（Ｃ’）と表すことができる。
【００４１】
メッセージ検証結果出力手段１２３は、前記復号結果のメッセージＭ＊に対し、メッセージ送信装置１０と同じメッセージ認証コードのタグ生成関数Ｆ（ｘ）を用いてＦ（Ｍ＊）を計算し、ローカルなタグＴ＊を得る。メッセージ検証結果出力手段１２３は、さらに、タグＴ＊と前記受信したタグＴ’とを比較し、その距離（タグＴ＊とタグＴ’の差異の大きさを示す値）が通信路のノイズから期待されるしきい値を超える場合には改ざんがあったと判定し、そうでない場合は改ざんなしとして判定する。メッセージ検証結果出力手段１２３は、前記判定の結果をディスプレイなどへ出力する。ここでの距離は通信路の性質に依存する。たとえば通常の２元対称通信路であればハミング距離でよい。しきい値はノイズのパラメータに依存する。
【００４２】
上記したメッセージ検証装置２０も、メッセージ送信装置１０と同様に、ＣＰＵと記憶装置（メモリ／ディスク）とを備えたコンピュータにより実現可能である（図９参照）。また、上記したメッセージ検証装置２０の各手段は、図９に示すように、上記ＣＰＵ９１０に上記各手段に相当する処理を実行させるコンピュータプログラムを記憶装置９２０に格納しておき（図９のプログラム記憶部９２２参照）、このプログラムをＣＰＵ９１０上で動作させることにより実現することができる。
【００４３】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図６は、本発明の第１の実施形態のメッセージ送信装置の動作を表したフローチャートである。図６に示すように、まず、メッセージ送信装置１０のメッセージ入力手段１１０が、対象となるメッセージＭの入力を受け付ける（図６のステップＳ００１）。
【００４４】
次に、メッセージ送信装置１０の誤り訂正符号化手段１１１が、メッセージＭの符号化を行ない、符号語Ｃを出力する（図６のステップＳ００２）。
【００４５】
次に、メッセージ送信装置１０のメッセージ認証タグ生成手段１１２が、メッセージＭにメッセージ認証コードのタグ生成関数を適用してタグＴを計算し、出力する（図６のステップＳ００３）。
【００４６】
メッセージ送信装置１０の出力手段１１３が符号語ＣとタグＴを連結して、送信情報Ｓを作成する（図６のステップＳ００４）。送信情報Ｓは図６に示すように、ｇ（Ｍ）||Ｆ（Ｍ）＝Ｃ||Ｔより構成される。
【００４７】
最後に、メッセージ送信装置１０は、作成された送信情報Ｓをメッセージ検証装置２０に送信する（図６のステップＳ００５）。
【００４８】
図７は、本発明の第１の実施形態のメッセージ検証装置の動作を表したフローチャートである。図７に示すように、まず、メッセージ検証装置２０の送信情報入力手段１２０が、検証の対象となる送信情報Ｓの入力を受け付ける（図７のステップＳ１０１）。
【００４９】
次に、メッセージ検証装置２０のメッセージ分割手段１２１が送信情報Ｓから符号語Ｃ’と受信したタグＴ’を取り出す（図７のステップＳ１０２）。メッセージ分割手段１２１は、誤り訂正符号復号手段１２２に符号語Ｃを送る。
【００５０】
次に、メッセージ検証装置２０の誤り訂正符号復号手段１２２は符号語Ｃ’に対し、誤り訂正符号の復号処理を行い、復号結果としてメッセージＭ＊を出力する（図７のステップＳ１０３）。
【００５１】
次に、メッセージ検証装置２０のメッセージ検証結果出力手段１２３が復号結果のメッセージＭ＊に対して、メッセージ認証コードのタグ生成関数を適用し、ローカルなタグＴ＊を得る。次に、メッセージ検証結果出力手段１２３は、前記ローカルなタグＴ＊と受信したタグＴ’とを比較する（図７のステップＳ１０４）。
【００５２】
前記比較の結果、タグＴ＊とタグＴ’間の距離が所定のしきい値ｔｈ以上である場合（Ｄｉｆｆ（Ｔ＊，Ｔ’）≧ｔｈ）、メッセージ検証結果出力手段１２３は、改ざんがあったと判定し（ＩＮＶＡＬＩＤ）、そうでない場合は改ざんなしとし（ＶＡＬＩＤ）、判定結果を出力する（図７のステップＳ１０５）。
【００５３】
以上説明したように、本実施形態によれば、メッセージ認証コードと誤り訂正符号の両方を適用した通信において、送信側でのメッセージ認証用のタグ作成と誤り訂正符号化の処理順序を任意に変えることができる。また、本実施形態によれば、タグ作成と誤り訂正符号化とを並列に実行することも可能となる（第１の効果）。その理由は、メッセージ認証用のタグ作成と誤り訂正符号化を独立にメッセージへ適用する構成を採用したことにある。この点は、図８の上段に示すように、メッセージ認証用のタグ作成を先に行う必要がある特許文献１の方式等と比較して、処理速度の向上、計算量及びデータサイズの削減等において大きなアドバンテージとなる。
【００５４】
一方、本実施形態の受信側においては、まず誤り訂正をメッセージに対して行った後、この結果から計算されたタグＴ＊と、受信したタグＴ’とを比較することでメッセージの検証を行う。ここで、送信されたタグＴ’には誤り訂正符号が適用されていないため、通信路のノイズがそのまま加わっていることが予想される。このため、通常のメッセージ認証コードのように厳密な一致判定を行うと、多くの場合で検証結果は失敗（改ざんがあると判定）とされてしまう。そこで、本実施形態では、計算されたタグＴ＊と受信したタグＴ’との差異の大きさを示す値（例えば、ハミング距離）が通信路のエラー率から期待される値以上であったときのみ、メッセージＭ＊に改ざんがあったと判定することで、メッセージの検証を行う。
【００５５】
上記しきい値による判定はメッセージ認証コードの受理基準を弱めていることに相当する。ここで重要なのは、メッセージ認証コードは一般的に擬似ランダム関数（Ｐｓｅｕｄｏｒａｎｄｏｍ  Ｆｕｎｃｔｉｏｎ，  ＰＲＦ）より作られており、ＰＲＦ出力は異なる入力ごとに完全にランダムとなることである（より正確には、計算量的に完全な乱数と判別がつかない、擬似乱数となる）。
【００５６】
従って、タグがｔビット、通信路のエラー率から平均してｒビットがタグに生じるノイズだとした場合、上記のようにメッセージ認証コードの受理基準を弱めたとしても、改ざん成功確率は高々２＾ｒ倍にしかならない。
【００５７】
典型的な例でｔ＝６４，エラー率を０．０８とした場合、平均で約５ビットがノイズとして載るが、この場合でも、元々のメッセージ認証コードでの改ざん成功確率が２＾−６４である。これに対し、本発明での改ざん成功確率は２＾−５９となるのみである。
【００５８】
また、本実施形態によれば、誤り訂正符号の適用範囲が狭まることによる、送信データのサイズと計算量を低減することができる。図８は、比較例として示す特許文献１のメッセージ認証方法と、第１の実施形態のメッセージ認証方法とを対比した図である。図８に示すように比較例の場合、メッセージ認証用タグＴ＋メッセージMに誤り訂正符号（ECC）を適用し、タグのチェックは厳密な一致判定で行われる。一方、本実施形態では、誤り訂正符号（ＥＣＣ）の対象となるのはメッセージのみであり、タグのチェックは、二つのタグの距離尺度Ｄｉｆｆ（Ｆ（Ｍ＊），Ｔ’）としきい値ｔｈとによるしきい値判定で行う。図８のメッセージＭがｍビット、タグＴがｔビットであるとする。例えばｍ＝ｔ＝６４の場合、比較例（特許文献１相当）の方法では両者を連結した１２８ビットの（Ｍ，Ｔ）へ誤り訂正を行うため、単純な繰り返し符号では２５６ビットを送信することになる。一方、本実施形態では、誤り訂正の適用範囲はメッセージＭのみとなるため、１２８＋６４＝１９２ビットに圧縮できる。
【００５９】
一般的に、帯域削減（送信データサイズ圧縮）の効果は用いる誤り訂正符号のレートが最適に近い（すなわち完全符号に近い）ほど弱まるが、本実施形態によれば、たとえ完全符号だとしても効果はなくならない。例えば１ビット誤り訂正可能な完全符号である、ハミング符号を用いる場合を示す。ｍ＝５７，ｔ＝６３の場合で、１ビット誤り訂正をハミング符号で行うには、比較例（特許文献１相当）の方法では（１２７，１２０）ハミング符号の符号語（増分は１２７−（ｍ＋ｔ）＝７ビット）を送信することになる（（ｎ，ｋ）ハミング符号のｎは符号長、ｋは情報数を示す）。これに対して、本実施形態では、（６３，５７）のハミング符号の符号語（増分は６３−ｍ＝６ビット）とタグＴビットを連結した１２６ビットを送信すればよく、１ビット削減となる。
【００６０】
別の例として、極めてメッセージが短く、しかし十分な認証強度を保ちたい場合として、ｍ＝４，ｔ＝５３とした場合、比較例（特許文献１相当）では、（６３，５７）ハミング符号の符号語を送信するのに対して、本発明では（７，４）ハミング符号の符号語とタグＴビットを連結した６０ビットを送信すればよく、３ビット削減となる。このような例はセンサーによる死活監視など、毎回送る情報が数ビットでよい場合に相当する。
【００６１】
また、本実施形態によれば、これらの例が示すように符号の入出力が小さくなるために全体の計算量が下がるため、計算量低減の効果がある。
【００６２】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示した装置の数及び接続構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【００６３】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点によるメッセージ認証システム参照）
［第２の形態］
上記したメッセージ認証システムのメッセージ検証結果出力手段は、タグＴ＊と、タグＴ’との差異の大きさを示す値が、所定のしきい値以下であった場合、検証対象のメッセージＭ＊が改ざんされていないものとして判定することができる。
［第３の形態］
上記したメッセージ認証システムにおいて、
前記しきい値は、第１の装置と第２の装置の間の通信路において想定される所定の誤り率に応じて設定された値とすることができる。
［第４の形態］
上記したメッセージ認証システムにおいて、
誤り訂正符号化手段とメッセージ認証タグ生成手段とが並列して動作するよう構成することが好ましい。
［第５の形態］
上記したメッセージ認証システムの第１の装置及び第２の装置は、それぞれＣＭＡＣ（Ｃｉｐｈｅｒ-ｂａｓｅｄ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）を用いてタグＴ及びタグＴ＊を計算することもできる。
［第６の形態］
上記したメッセージ認証システムの第１の装置及び第２の装置は、それぞれＨＭＡＣ（Ｈａｓｈ−ｂａｓｅｄ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）を用いてタグＴ及びタグＴ＊を計算することもできる。
［第７の形態］
符号語ＣとタグＴとを送信情報Ｓとして第２の装置に送信する第１の装置から受信した送信情報Ｓから前記符号語ＣとタグＴに対応する符号語Ｃ’とタグＴ’とを抽出する抽出手段と、
前記符号語Ｃ’に対して前記所定の誤り訂正符号の復号処理を行い、検証対象のメッセージＭ＊を出力する誤り訂正符号復号手段と、
前記検証対象のメッセージＭ＊と前記タグＴ’とを入力として、検証対象のメッセージＭ＊から得られるタグＴ＊と、前記タグＴ’とが所定の同一性基準を満たす場合、前記検証対象のメッセージＭ＊が改ざんされていないものとして判定するメッセージ検証結果出力手段と、を含む第２の装置。
［第８の形態］
第２の装置に送信するメッセージＭを入力とし、所定の誤り訂正符号による符号化を行って符号語Ｃを出力する誤り訂正符号化手段と、
前記メッセージＭを入力とし、所定のメッセージ認証用のタグＴを出力するメッセージ認証タグ生成手段と、
前記符号語ＣとタグＴとを送信情報Ｓとして前記第２の装置に送信する送信手段と、を備える第１の装置。
［第９の形態］
（上記第３の視点によるメッセージ検証方法参照）
［第１０の形態］
符号語ＣとタグＴとを送信情報Ｓとして第２の装置に送信する第１の装置から受信した送信情報Ｓから前記符号語ＣとタグＴに対応する符号語Ｃ’とタグＴ’とを抽出する処理と、
前記符号語Ｃ’に対して所定の誤り訂正符号の復号処理を行い、検証対象のメッセージＭ＊を出力する処理と、
前記検証対象のメッセージＭ＊と前記タグＴ’とを入力として、検証対象のメッセージＭ＊から得られるタグＴ＊と、前記タグＴ’とが所定の同一性基準を満たす場合、復号されたメッセージＭ＊が改ざんされていないものとして判定する処理と、を第２の装置に搭載されたコンピュータに実行させるプログラム。
なお、上記第７〜第１０の形態は、第１の形態と同様に、第２〜第６の形態に展開することが可能である。
【００６４】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【産業上の利用可能性】
【００６５】
本発明によれば、無線もしくは有線のデータ通信における誤り訂正とメッセージ認証に適用可能であるが、具体的なアプリケーションとして、無線センサーデバイスと情報収集サーバとの通信の完全性の確保といった用途に適用できる。
【符号の説明】
【００６６】
１０  メッセージ送信装置
２０  メッセージ検証装置
１００  第１の装置
１０１、１１１  誤り訂正符号化手段
１０２、１１２  メッセージ認証タグ生成手段
１０３  送信手段
１１０    メッセージ入力手段
１１３  出力手段
１２０  送信情報入力手段
１２１  メッセージ分割手段
２００  第２の装置
２０１  抽出手段
２０２、１２２  誤り訂正符号復号手段
２０３、１２３  メッセージ検証結果出力手段
９１０  ＣＰＵ
９２０  記憶装置
９２１  しきい値記憶部
９２２  プログラム記憶部
９３０  通信デバイス
９４０  入力デバイス
９５０  出力デバイス
【図１】
0006693574.tif 000002
【図２】
0006693574.tif 000003
【図３】
0006693574.tif 000004
【図４】
0006693574.tif 000005
【図５】
0006693574.tif 000006
【図６】
0006693574.tif 000007
【図７】
0006693574.tif 000008
【図８】
0006693574.tif 000009
【図９】
0006693574.tif 000010