テクノロジ系

暗号化のしくみ — 秘密鍵・公開鍵・SSL/TLS

導入

ネットショッピングで住所やカード番号を入力するとき、ブラウザのアドレスバーに「鍵マーク」が表示されているのを見たことがあるでしょう。これは通信が暗号化されていることを示すサインです。暗号化の仕組みを知ると、インターネットがなぜ安全に使えるかが見えてきます。

くわしく知ろう

暗号化とは、データを第三者が読めない形式に変換し、正しい鍵を持つ人だけが元のデータに戻せるようにする技術です。大きく「共通鍵暗号方式」と「公開鍵暗号方式」の2種類に分けられます。

共通鍵暗号方式は、暗号化と復号(元に戻すこと)に同じ鍵を使う方式です。処理が高速という利点がある一方、送信者と受信者が事前に同じ鍵を安全に共有する必要があり、「鍵の配送問題」と呼ばれる課題があります。インターネット経由で鍵を送ると、途中で盗まれる危険があるからです。

公開鍵暗号方式は、この問題を解決するために生まれました。受信者は「公開鍵」と「秘密鍵」のペアを作成し、公開鍵だけを誰にでも配布します。送信者は公開鍵で暗号化し、受信者だけが持つ秘密鍵でのみ復号できます。鍵を秘密裏に事前共有する必要がないため、鍵の配送問題を解決できます。ただし処理速度は共通鍵方式より遅くなります。

HTTPSで使われるTLS(Transport Layer Security)は両方の長所を組み合わせています。まず公開鍵暗号方式で共通鍵を安全に共有し、その後の通信は高速な共通鍵で暗号化するハイブリッド方式になっています。

具体例

たとえばオンラインバンキングでは、ブラウザとサーバーがTLS通信でハイブリッド暗号化を行っています。最初に公開鍵で「会話の鍵」を安全に交換し、以後の通信は共通鍵で高速に暗号化します。アドレスが「https://」から始まり鍵マークが表示されていれば、この保護が有効になっているサインです。

まとめ・試験ポイント

  • 共通鍵暗号=暗号化・復号に同じ鍵を使用。高速だが鍵の配送問題がある
  • 公開鍵暗号=公開鍵で暗号化・秘密鍵で復号。鍵配送問題を解決
  • TLS=公開鍵暗号と共通鍵暗号を組み合わせたハイブリッド方式
  • HTTPS=HTTPにTLSを組み合わせた安全な通信プロトコル
  • 試験では「共通鍵と公開鍵の違い」「TLSの特徴」を問う問題が頻出

学習した内容を試験形式で確認しよう。ITパスポート入門試験100問に挑戦できます。

入門試験100問に挑戦する