この記事を読むために必要な時間は約5分(1729文字)です。
ハッシュ値の使われ方1 「ディジタル署名(電子署名)」での使用例
- 投稿日:2018-12-26
- 最終更新日:2019-02-25
- 表示:2,881PV
- カテゴリ:ディジタル証明書
目次
ハッシュ関数の使用例
使用例は、次の順番でお話をします。今回は「ディジタル署名(電子署名)」のお話をしていきます。
次回は「暗号化・認証」のお話をします。
最終回は「攻撃検知」のお話です。
ディジタル署名(電子署名)での使われ方
ディジタル署名で使用するハッシュ関数の特徴は、改ざんの防止です。電子署名についてでお話をしているように、改ざんを防止する必要があるので、暗号化の代替手段として、ハッシュ値を使用するのです。
この場合のハッシュ値はメッセージの要約という意味で、メッセージダイジェストとも呼ばれます。
代替手段として利用する理由
ハッシュ値を利用すると、次のような問題点が改善できるからです。- データ量を少なくできる(場合が多い)
- 長さが一定
- 暗号化時間・復号時間が短い(場合が多い)
- 改ざんチェック機能が強力
- 平文を復元できない
データ量を少なくできる(場合が多い)
電子署名についてでお話をしている方法の場合、平文と暗号文を送信します。それに対して、ハッシュ関数を用いる方法は、平文とメッセージダイジェスト(ハッシュ値)を送信します。
多くの場合、平文の長さがハッシュ関数の一定の長さより長ければ、暗号文もハッシュ値より長くなります。
実際に計算してみます。
ハッシュ関数の一定の値が2048ビットの場合でも、文字数にすると256文字(日本語などの場合は半分の128文字)となります。
現時点で使われているSHA-2の場合は、最大512ビットなので、文字数にすると64文字(日本語などの場合は半分の32文字)となります。
署名する文章の文字数は、ほとんどの場合、64文字(日本語32文字)より多いでしょうから、暗号文を送信するよりも少ないデータ量になるのです。
このため、ハッシュ値を用いると、送受信するデータ量を少なくできます。
長さが一定
暗号文の場合、平文の長さに合わせて変動します。それに対し、ハッシュ値は長さが一定です。
このため、ハッシュ値を用いた方が、長さを考慮するような処理をしなくてもよい分、処理が早くできます。
暗号化時間・復号時間が短い(場合が多い)
こちらも平文の長さが影響します。一般的に暗号化や復号するよりハッシュ関数で計算する方が計算時間が短くできます。
だた、これも例外があり、データ量のところでお話したように、データ量が極端に少ないと、ハッシュ関数の方が遅くなる場合もないとは言えません。
データ用の時のように計算したいところですが・・・
この逆転するデータ量については、ハッシュ関数の種類や生成プログラムによってことなるので、一概にどの値が境界になると計算することはできないです。
改ざんチェック機能が強力
電子署名の場合、秘密鍵が漏れてしまうと、改ざん可能です。それに対して、ハッシュ関数は、(データの衝突が起こらない限り)同じハッシュ値にはなりません。
攻撃者にどのハッシュ関数を使ったかがばれたとしても、メッセージダイジェスト(ハッシュ値)を変更することはできません。
このため、平文とメッセージダイジェストを別々に送信することにより、改ざんしたことがわかります。
情報漏えいに強い仕組みを構築できるのです。
平文を復元できない
ハッシュ関数が不可逆関数である特性を利用したものです。メッセージダイジェスト(ハッシュ値)から平文を復元できません。
このため、攻撃者にメッセージダイジェストが漏れても、平文が漏れることはありません。
しかし、平文とメッセージダイジェストを一緒に送ったのでは、平文が攻撃者の手に渡りますので、電子署名についてでお話をしているように、盗聴は防止できません。
改ざんチェック機能のところでお話したような、別々で送付するなどの工夫が必要です。
次回は「暗号化・認証」のお話をします。
タグ:ディジタル証明書, 改ざん, 攻撃者, 暗号化, 漏えい, 電子署名
| 広告枠・・・広告やリンク先の保証はしません | |
|---|---|


