コンテンツへスキップ
情報システムセキュリティ 003

暗号化

出題ポイント

  • 共通鍵暗号方式は速いが相手ごとに鍵を用意しなければならない
  • 公開鍵暗号方式は鍵は1対でよいが複雑で処理に時間がかかる
  • 公開鍵暗号方式の応用が電子署名

暗号化とは

不正なアクセスで情報を盗まれてしまったとしても、情報の意味が分からなければ機密性は確保されているといえます。

そこで、意味の分かる文(平文といいます)を意味の分からない文に変換しておこう、ということになります。これが暗号化です。

平文を暗号に変換することを暗号化、暗号化された文を平文に戻すことを復号化、暗号化・復号化の手順のことをアルゴリズムといいます。

暗号化と復号には「鍵」を用います。「鍵」も一定のデータで、その量を「鍵長」といいます。鍵長が大きいほど暗号としての堅牢さが高まります。

暗号化の種類

情報の処理の仕方による分類

平文を1文字ずつ処理する方式をストリーム暗号といいます。これに対し、平文を一定のかたまりに区切ってかたまりごとに処理する方式をブロック暗号といいます。

ブロック暗号の方が処理にかかる時間が短くなります。

鍵のタイプによる分類

共通鍵暗号方式

暗号化と復号に同じ鍵を用いる方式を共通鍵暗号方式といいます。

送信者も受信者も同じ鍵を持って暗号化と復号を行ないます。

仕組みとして単純なので処理は速いです。しかし、通信相手ごとに鍵を用意しなければならないという点がネックになります。

また、鍵が漏えいすると第三者に暗号文を解読されてしまいますので、鍵が漏えいしないように管理しなくてはいけません。この点に注目して「秘密鍵方式」と呼ばれることもあります。

代表的なものはAES暗号です。「共通鍵といえばAES」と覚えておいてください。ときどきこういう単語を知らないと得点できない問題が出題されます。

公開鍵暗号方式

これに対して暗号と復号に異なる鍵を用いる方式を「公開鍵暗号方式」といいます。

対になる鍵を1組(2つ)作って、「私との通信にはこの鍵を使ってください」と1つを公開します。もう1つは自分で保管します。公開する鍵を公開鍵、自分で保管する鍵を秘密鍵といいます。

公開鍵で暗号化した文は対になる秘密鍵がないと復号できません。逆に秘密鍵で暗号化した文は対になる公開鍵がないと復号できません。通信相手ごとに鍵を変える必要はないのがメリットです。

ただし仕組みが複雑なので処理速度が劣るという弱点はあります。この弱点を回避するために公開鍵暗号方式で共通鍵を受け渡しして以後は共通鍵を使うというハイブリッド方式もあります。

代表的なものはRSA暗号です。「公開鍵といえばRSA」と覚えておいて下さい。

ところで、公開鍵暗号方式ではどの公開鍵とどの秘密鍵が対になっているのか管理・確認する仕組みが必要です。この仕組みのことをPKI(Public Key Infrastructure)といいます。この言葉も覚えておいてください。

デジタル署名(電子署名)

公開鍵暗号を応用することにより本人性の確認(なりすましではないこと)と本文の真正の確認(内容を改ざんされていないこと)ができます。

まず、発信者が本文を圧縮します。圧縮に使う関数をハッシュ関数、圧縮されたものをメッセージダイジェストといいます。

次に、発信者はメッセージダイジェストを秘密鍵により暗号化します。暗号化されたメッセージダイジェストが電子署名です。

受信者は送られてきた本文を同じハッシュ関数でメッセージダイジェストを生成します。電子署名は公開鍵で復号すればメッセージダイジェストになりますから、受信者が生成したメッセージダイジェストと一致するはずです。

もし一致しなければ可能性は2つあります。第一は送信者が正しい秘密鍵をもっていないということです。正しい(公開鍵と対になった)秘密鍵を持っていないということは誰かがなりすましをしているということですね。

第二は、発信者が送った本文と受信者が受け取った本文が違っているためにメッセージダイジェストが一致しなかったということです。この場合通信過程のどこかで改ざんされたということになりますね。

メッセージから生成するメッセージダイジェストと、電子署名から復号したメッセージダイジェストが一致するかどうか
電子署名のしくみ

コメントを残す

メールアドレスが公開されることはありません。