共通鍵・公開鍵 暗号方式

3分で理解できる!共通鍵暗号方式と公開鍵暗号方式の仕組み

現在、二者間の通信を暗号化する際、最も一般的なのが「共通鍵暗号方式」と「公開鍵暗号方式」になります。

両者の違いとしては、暗号化(と復号化)する際に、共通鍵を使うか・公開鍵を使うか、、です(詳細の解説は後述しています)

※ここでいう「鍵」とは、”暗号化(と復号化)する際に、必要となるもの” と理解してください。

またWeb上で、Webクライアント(サイトを閲覧する側)とWebサーバー(サイトを公開している側)の通信の暗号化で一般的な「SSL」

この「SSL」は、両者(「共通鍵暗号方式」と「公開鍵暗号方式」)の仕組みが採用されています。

今回の記事では、「共通鍵暗号方式」と「公開鍵暗号方式」の仕組み、また「SSL」の仕組みについても、分かりやすく解説していきます。

以下、目次になります。

  • 共通鍵暗号方式の仕組み
  • 公開鍵暗号方式の仕組み
  • 2つの方式を合わせたSSL通信の仕組み

共通鍵暗号方式の仕組み

共通鍵暗号方式は、暗号化する際の「鍵」と復号化する際の「鍵」が同一の暗号化方式です。
「鍵」情報は、二者間(送信側と受信側)のみ共有されているので安全な通信といえます。

通信の流れとしては、

  1. 送信側が、データを「共通鍵」で暗号化し、受信側へ送信する
  2. 受信側が受け取ったデータを、同じ「共通鍵」で復号化し、データを取得する

以下、図解しています。
共通鍵暗号方式

公開鍵暗号方式の仕組み

公開鍵暗号方式は、暗号化/復号化する際の「鍵」に、「公開鍵」と「秘密鍵」の二つを用いています。
一般的に、受信側が「公開鍵」と「秘密鍵」を持っていて、「公開鍵」は ”誰でも取得できるオープンな鍵”で、「秘密鍵」は ”受信側のみ保持している鍵” となります。

以下、通信の流れになります。

  1. 送信側は、受信側が公開している「公開鍵」を取得する。そして取得した「公開鍵」で、送信するデータを暗号化して送信する
  2. 受信側は、受け取ったデータを「(受信側のみ保持している)秘密鍵」で復号化して、データを取得する

以下、図解しています。
公開鍵暗号方式

2つの方式を合わせたSSL通信の仕組み

Web上の通信(Webクライアント(サイトを閲覧する側)とWebサーバー(サイトを公開している側)間のやりとり)において、通信を暗号化する場合、最も一般的なのが「SSL」という暗号化方式です。

「SSL」は、先ほど解説している「共通鍵暗号方式」と「公開鍵暗号方式」の両方を用いて、暗号化通信を行っています。

通信の流れや、詳細の仕組みについてはこちらで解説しています→【SSLとは?仕組みから、共有・独自SSLの違い、証明書についてが分かるまとめ】

まとめ

今回の記事では、「共通鍵暗号方式」と「公開鍵暗号方式」の仕組み、また「SSL」ついて解説してきました。

通信を暗号化する目的は、仮に第三者から通信データを傍受されても、暗号化されているので情報を特定されるリスクがない。事です。

Webサイトでは、特にネットショップなどで「個人情報」や「クレジットカード情報」を登録するページで、暗号化がされています。理由は明白で、第三者に傍受されると非常に危険な情報を扱うからです。

なので、ネットショップなどでは、必ず「SSL証明書」という、「公的な第三者機関(認証局)」が発行する証明書を取得して、安全性・信頼性を担保しています。

一昔前までは、年に2~3万円はする「SSL証明書」でしたが、昨今では、3000円程度のモノもあり、個人でも導入が容易になっています

個人でも、ブログやWebサイトを運営している方は、サイトの「管理ページ」や「管理ページにアクセスする際のログインページ」なども、暗号化をしておいた方が良いです。

なぜなら、もしログイン情報を第三者に傍受されていた場合、暗号化していなければ、第三者からその情報で不正ログインされてしまうリスクがあるからです。

当ブログのようにWordpressを利用している方は、簡単に「ログインページ」と「管理ページ」を暗号化させることができます。

その手順については、こちらで解説しています→【「WordPress HTTPS(SSL)」プラグインで、WordPressの管理画面をSSL通信に設定する手順】

コメントを残す

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