CRCとセキュリティ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/05 03:09 UTC 版)
「巡回冗長検査」の記事における「CRCとセキュリティ」の解説
CRC値は、メッセージとの1対1の対応が不可能(メッセージより常に情報量が少ないため)という点は、暗号学的ハッシュ関数によるハッシュ値(以下、単に「ハッシュ値」とする)と同じだが、ハッシュ値はそれでも100ビット程度以上の大きさがあるのが普通であり、また、内容が異なるのに同じハッシュ値となるようなメッセージを偽造したりするのは容易でない(という特性が一般に暗号学的ハッシュ関数には必須である)。それに対し、CRC値は一般に小さく、さらには消失訂正という技法によって同じCRC値になるメッセージを容易に作成可能であり、元のメッセージを少しだけ改変したものでもCRC値を同じにできる。なお、元のメッセージに非常によく似た(ごく低い通信エラーと同程度の差異しか無く、攻撃者の意図で決められたものではなくランダムに変えられたような)メッセージであれば、CRCの設計上、大きく異なるものにはなる。 また、通信システム全体の保安として考えた場合、伝送途中で傍受してメッセージを偽物とすりかえるなら、同時にCRCもすり替えることができると考えなければならないだろう(これについてはハッシュ値についても言える)。従ってこれらは直接には、第三者による意図的な改竄などを防ぐ手段にはならない。さらにCRCは分配法則・結合法則が成り立つので、メッセージ認証符号のHMACのような「秘密の文字列」を前置したり後置したりしても改竄に対する耐性は全く上がらない。
※この「CRCとセキュリティ」の解説は、「巡回冗長検査」の解説の一部です。
「CRCとセキュリティ」を含む「巡回冗長検査」の記事については、「巡回冗長検査」の概要を参照ください。
- CRCとセキュリティのページへのリンク