読み方 : ジーシーエム

GCM【Galois/Counter Mode】AES-GCM

GCMとは?

暗号利用モードの一つで、特殊な数学的手法を応用してデータ暗号化と改竄検知を同時に行うもの。AESと組み合わせた「AES-GCM」の形でTLSIPsecWPA3など多くのセキュリティプロトコルに採用されている。
GCMのイメージ画像

ブロック暗号固定長データを一定の手順で暗号化する手法で、長いデータ全体を暗号化するには一定の長さに区切って繰り返し暗号化処理を適用必要がある。このとき、どのような手順で繰り返しを行うかを定めた規則を「暗号利用モード」という。

GCMはモードの一つで、暗号化に「CTRモード」(カウンターモード)を採用している。CTRモードでは、連番カウンタ値を暗号化してから元データXOR演算することで暗号文を生成する。ブロックを順番に処理する必要がなく並列処理が可能なため、大量データを扱う通信でも高速に動作する。

GCMでは暗号化と並行して、「ガロア体」(有限体)と呼ばれる数学的構造を使った計算で「認証タグ」を生成する。受信側は届いたデータから同じ手順でタグを計算し、送られてきた値と照合する。内容が一文字でも改竄されていればタグが一致しなくなるため、不正を即座に検出できる。

このように、暗号化認証を一体で行う方式を「認証付き暗号」(AEADAuthenticated Encryption with Associated Data)と呼ぶ。従来は暗号化認証を別々のアルゴリズムで組み合わせる必要があり、処理順序を誤ると脆弱性につながる場合もあったが、GCMはその問題を構造的に回避している。

GCMを使う際は、「nonce」(ナンス)と呼ばれる使い捨ての初期値を通信ごとに用意する必要がある。同じ鍵とnonceの組み合わせを再利用すると暗号文の構造が露わになり、最悪の場合は鍵の復元も可能になる。乱数や通信ごとのカウンタnonceを管理するのが一般的な対策である。認証タグは128ビットが標準で、短くするほど偽造への耐性が下がるため、みだりに縮小すべきではないとされる。なお、現在の主要なCPUにはガロア体演算を高速化する専用命令が実装されており、サーバからスマートフォンまで幅広い環境で効率よく処理できる。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。