(Translated by https://www.hiragana.jp/)
メッセージ認証符号 - Wikipedia コンテンツにスキップ

メッセージ認証にんしょう符号ふごう

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
メッセージ認証にんしょうコードから転送てんそう

メッセージ認証にんしょうコード(メッセージにんしょうコード、えい: Message Authentication CodeMAC)は、メッセージを認証にんしょうするためのみじか情報じょうほうである。MACアルゴリズムは、入力にゅうりょくとして共通きょうつうかぎ認証にんしょうすべき任意にんいちょうのメッセージをり、MAC(「タグ」ともばれる)を出力しゅつりょくする。MACを付加ふかすることで、(共通きょうつうかぎをもつ)検証けんしょうしゃがメッセージ内容ないよう変化へんか検出けんしゅつできるようになり、メッセージの完全かんぜんせい認証にんしょう保証ほしょうされる。このため、メッセージ認証にんしょう完全かんぜんせいコード(Message Authentication and Integrity Code、MAIC)ともばれる。

セキュリティ

[編集へんしゅう]

MAC関数かんすう暗号あんごうがくてきハッシュ関数かんすうているが、いくつかの必要ひつよう条件じょうけんちがいがある。MAC関数かんすう選択せんたく平文へいぶん攻撃こうげきにおける存在そんざいてき偽造ぎぞうたいしてたいせいがなければならない。つまり、共通きょうつうかぎちMAC関数かんすう計算けいさんできる神託しんたく機械きかいにアクセスできる攻撃こうげきしゃが、任意にんいえらんだメッセージに対応たいおうするMACを取得しゅとくできたとしても、の(神託しんたく機械きかいわせていない)メッセージにたいするMACを神託しんたく機械きかいたいしてわせずに計算けいさんもとめることが計算けいさん量的りょうてき困難こんなんでなければならない。

MACはデジタル署名しょめいとはことなり、MAC生成せいせい検証けんしょうにはおなかぎ使つかわれるので(共通きょうつうかぎ暗号あんごう)、送信そうしんしゃ受信じゅしんしゃ通信つうしんおこなまえかぎ共有きょうゆうしておく必要ひつようがある。また共通きょうつうかぎ暗号あんごうであるために、認証にんしょうされたメッセージは送信そうしんしゃ本人ほんにん作成さくせいしたものであり偽造ぎぞうではないという確証かくしょう、つまり否認ひにん不可ふかせいをもたない。なぜなら、受信じゅしんしゃふく共通きょうつうかぎっているものであれば捏造ねつぞうしたメッセージについてもMAC生成せいせいすることができるからである。

公開こうかいかぎ暗号あんごうもちいたデジタル署名しょめいでは、メッセージの検証けんしょう公開こうかいかぎだけでおこなうことができるので、かぎ所有しょゆうしゃはデジタル署名しょめい作成さくせいできる秘密ひみつかぎ秘匿ひとくできる。したがって、デジタル署名しょめい付与ふよされた文書ぶんしょはその所有しょゆうしゃ署名しょめいしたものと確定かくていでき、否認ひにん不可ふか文書ぶんしょ作成さくせいすることができる。

メッセージ完全かんぜんせいコード

[編集へんしゅう]

メッセージ認証にんしょう符号ふごう(MAC)わりにメッセージ完全かんぜんせいコード(Message Integrity Code, MIC)という用語ようごが、とく通信つうしん分野ぶんやMACアドレスとの区別くべつのためにもちいられることがある。[1] しかし、MICは、メッセージを一意いちい識別しきべつするためのメッセージダイジェスト意味いみもちいられる場合ばあいもある。[2]このため RFC 4949 では、MICという用語ようごわりに、チェックサムエラー検出けんしゅつ符号ふごうハッシュかぎきハッシュメッセージ認証にんしょう符号ふごうprotected checksum使つかうことが推奨すいしょうされている。

実装じっそう

[編集へんしゅう]

MACアルゴリズムは暗号あんごうプリミティブから構築こうちくでき、ハッシュ関数かんすう使つか方式ほうしきHMAC)、ブロック暗号あんごうアルゴリズムを使つか方式ほうしき(OMAC/CMACCBC-MACPMAC)などがある。 また、 Poly1305などの高速こうそくなMACアルゴリズムはuniversal hashing[3]をベースとしている。

One-time MAC

[編集へんしゅう]

かぎきハッシュ関数かんすう一種いっしゅであるuniversal hashingとくpairwise independentという性質せいしつつハッシュ関数かんすうは、かぎいちかいごとに使つかてにするならば、安全あんぜんなメッセージ認証にんしょう符号ふごうとして使つかうことができる。これは、暗号あんごうにおけるワンタイムパッドのMACばんかんがえることができる[4]

Pairwise independentという性質せいしつは、かぎ らないならば、ある のハッシュ かったとしても、べつのメッセージ のハッシュ 推測すいそくできないという性質せいしつである。このような性質せいしつつハッシュ関数かんすうは、つぎのように簡単かんたんつくれる。素数そすう たいしてかぎ としたとき、 メッセージ のハッシュ(MACにおけるタグ)は、 である。

おう用例ようれいとして、MACはSSH2においてトランスポートそうのデータ一貫いっかんせい確保かくほするために使用しようされている。MACの検証けんしょうもちいる共通きょうつうかぎは、通信つうしん暗号あんごう復号ふくごうもちいるセッションかぎ同様どうように、セッション開始かいしディフィー・ヘルマンかぎ共有きょうゆうによって生成せいせいされた共有きょうゆう秘密ひみつからハッシュ関数かんすうによって生成せいせいされる。実際じっさい通信つうしんはじまったら、SSHプログラムは受信じゅしんしたパケットを復号ふくごうしたあと、MACと計算けいさん比較ひかくすることでデータの完全かんぜんせい検証けんしょうしている。[5]

脚注きゃくちゅう

[編集へんしゅう]
  1. ^ IEEE 802.11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications ((2007 revision) ed.). IEEE-SA. (12 June 2007). doi:10.1109/IEEESTD.2007.373646. ISBN 978-0-7381-5656-9. http://standards.ieee.org/getieee802/download/802.11-2007.pdf 
  2. ^ Fred B Schneider, Hashes and Message Digests, Cornell University
  3. ^ “VMAC: Message Authentication Code using Universal Hashing”. CFRG Working Group. http://www.fastcrypto.org/vmac/draft-krovetz-vmac-01.txt 16 March 2010閲覧えつらん. 
  4. ^ Simmons, Gustavus (1985). “Authentication theory/coding theory”. Advances in Cryptology: Proceedings of CRYPTO 84. Berlin: Springer. pp. 411–431 
  5. ^ rfc4251”. 2011ねん10がつ1にち閲覧えつらん rfc4253”. 2011ねん10がつ1にち閲覧えつらん

関連かんれん項目こうもく

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]