GCM(Galois/Counter Mode)はブロック暗号における利用モードの1つです。ECBやCBCといったモードとは異なり、GCMは「認証付き」のモードです。イメージとしては、改竄防止のMAC(Message Authentication Code)が暗号にくっついているようなモードです。 今回は、Webアプリ等で(特にPHPで)GCMを利用するにあたっての注意点を書いてみます。PHPでは7.1以降のバージョンでGCMが利用できます。 GCMの使い方 注意点の前にGCMの非常に大雑把な説明です。 GCMモードで暗号化を行うと、下記の2つが出力されます。 暗号文 タグ(認証タグ) 出力に「タグ」が含まれている点がCBC等のモードとの違いです。 タグは改竄を検出するMACの役割を果たします。タグは可変長で、暗号化する関数を呼ぶ際に、生成したいタグの長さを引数等として指定します。PHPの
Disclaimer 本エントリーは、この夏 blackhat usa 2016で行われる予定の講演「NONCE-DISRESPECTING ADVERSARIES: PRACTICAL FORGERY ATTACKS ON GCM IN TLS」 のネタバレを含んでいます。現地で直接聞く方は読まないよう気をつけて下さい。 0. 短いまとめ 今回は短めにと思ったのですが、やっぱりそれなりの分量でした。なので短いまとめを書いておきます。 4千万以上のサイト対してAES-GCM使ったTLS通信の初期ベクトル(IV)データのサーベイが行われ、7万程のサイトでIVの値が再利用される可能性があることがわかりました。IVが再利用された場合、AES-GCMの安全性は致命的な影響を受けます。IVの再利用が判明した幾つか実装から既に脆弱性のアナウンスが出ています。 IVが再利用された場合、現実的にHTTPS
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く