暗号化

暗号化は、データを決まったルールで変換して第三者が読めない形にし、許可された相手だけが元に戻せるようにする技術です。

暗号化 のアイキャッチ図解
まずは、こう考えるとつかみやすいです。

暗号化は、南京錠のかかった箱のようなものです。中身を隠して送り、受け取った相手だけが鍵で開けられます。

ひとことで言うと

暗号化は、データを特定のルール(アルゴリズムと鍵)で変換して読めない形にし、正しい鍵を持つ相手だけが元に戻せるようにする技術です。

通信の盗聴やファイルの不正閲覧を防ぐために使われます。 インターネットで個人情報・パスワード・クレジットカード番号を安全にやりとりできるのは、暗号化が使われているからです。

たとえ話でもう少し詳しく

暗号化は、南京錠のかかった箱に近いです。

  • 差出人が箱に荷物を入れて南京錠をかける(暗号化)
  • 途中で誰かが箱を持っていっても、鍵がなければ開けられない
  • 受取人だけが鍵を持っていて、箱を開けられる(復号)

通信でも同じです。 送信前にデータを暗号化すれば、通信経路で盗み見されても内容はわかりません。 正しい鍵を持つ受信側だけが元のデータに戻せます(復号)。

共通鍵と公開鍵の違い

暗号化には主に2つの方式があります。

共通鍵暗号(対称暗号) 送る側と受ける側が同じ鍵を使います。処理が速いのが利点ですが、「鍵をどうやって安全に共有するか」が課題です。南京錠の合鍵を持ち合う関係に近いです。

公開鍵暗号(非対称暗号) 「誰でも使える公開鍵(施錠用)」と「自分だけが持つ秘密鍵(開錠用)」のペアを使います。公開鍵で暗号化したものは秘密鍵でしか開けられません。南京錠を誰にでも配り、自分だけが鍵を持つイメージです。TLSSSL ではこの仕組みが使われています。

よく出る場面・使いどころ

  • Webサイトの通信(HTTPS)でパスワードやカード番号を安全に送るとき
  • ファイルやディスクの内容を盗難・紛失に備えて保護するとき
  • メールの内容を第三者に読まれないようにするとき
  • 認証でパスワードをそのまま保存せず安全に扱うとき

似た言葉との違い

  • ハッシュ
    • データを一定の長さの値に変換する。元に戻す(復号)ことを想定していない
    • 暗号化は元に戻せることが前提、ハッシュは戻せないことが前提
  • TLS / SSL
    • 通信経路を暗号化するプロトコル
    • 通信の暗号化を実現する具体的な仕組みで、公開鍵暗号を活用している
  • エンコーディング
    • データの形式を変換するルール
    • 暗号化と違い、鍵がなくても元に戻せる(秘密にすることが目的ではない)

実務で気にするポイント

  • 古い暗号化方式(DES など)は解読されうるため、現在の標準(AES・RSA・楕円曲線暗号)を使う
  • 鍵の管理が不適切だと、暗号化しても意味がなくなる
  • 暗号化はデータ保護の一手段であり、それだけで完全なセキュリティにはならない
  • パスワードの保存には暗号化ではなくハッシュ(ソルト付き)を使う

注意: 「暗号化してあるから安全」は過信です。鍵が漏れれば意味がなく、使う方式が古ければ解読リスクもあります。暗号化はセキュリティの重要な要素ですが、それだけで完結する対策ではありません。