共通鍵暗号方式とは?
データの暗号化、復号化に使う鍵が共通のためこの呼び方になっている。
問題点
送信者と受信者で同じ鍵を使う必要があるので受け渡しに問題がある。その対策として公開鍵暗号方式が使われる。
メリット
仕組みが単純なため暗号処理、復号処理共に処理速度が高速。
デメリット
鍵配送問題という厄介な問題に対応しなければならない。第三者に鍵を盗まれたら終わり。加えて通信相手が増えるたびに管理する鍵の数も増えていってしまう。
暗号のアルゴリズム
ブロック暗号
平文をブロックごとに分けて暗号化する方式(例えば、128bitであれば、平文を128bitごとに分けて暗号化していく)
ストリーム暗号
鍵から生成した疑似乱数ビット列と平文をビット単位でXOR(排他的論理和)を取ることで暗号化する。
メリット
ブロック暗号より高速
デメリット
ブロック暗号より安全性は低い
代表的な共通鍵暗号
名称 | 暗号強度 | 暗号方式 | 鍵長(bit) | 備考 |
---|---|---|---|---|
DES | 低 | 64bitブロック暗号 | 56 | 脆弱、利用禁止されている。 |
RC4 | 低 | ストリーム暗号 | 40〜2048 | 脆弱、利用禁止されている。 |
Triple DES(3DES) | 中 | 64bitブロック暗号 | 168(56✖️3) | すでに推奨リストから外れている。 |
AES | 高 | 128bitブロック暗号 | 128、192、256 | |
Camellia | 高 | 128bitブロック暗号 | 128、192、256 | NTTと三菱電機の共同開発 |
公開鍵暗号方式とは?
暗号化と復号にそれぞれ別の鍵を用いる暗号方式のことです。
公開鍵暗号方式のデータ送受信の流れ
イメージとしては南京錠ですね。南京錠は誰でもロックをかけることができます(公開鍵)が、ロックを解除することができるのは鍵(秘密鍵)を持っている人だけです。
秘密鍵
公開鍵を知られた場合でも、秘密鍵を推測するのは困難。
例えば、AWSでEC2サーバーを作成した際にキーペアとして作成した際にダウンロードしたpemファイルが秘密鍵に該当します。
メリット
共通鍵暗号方式で問題だった鍵配送問題に対応できる。
デメリット
速度問題
共通鍵暗号方式に比べて複雑なため処理速度が遅い。
なりすましに対応できない
鍵を渡す相手まで保証できません。なので、SSL/TLSは証明書を用いて意図した相手に渡せているかを確認しています。
用途
デジタル署名
署名はデジタルで行うのは難しいです。(簡単に複製できてしまうため)そこで公開鍵暗号方式を利用して本人確認を取る方式にしています。
SSL/TLS通信
サーバー側が公開鍵と秘密鍵のペアを生成し、クライアント側が公開鍵で秘匿したい情報を暗号化して送信する。サーバー側は秘密鍵で複合する。
この記事へのコメントはありません。