クライアントとサーバの間で暗号化通信を行う場合、「公開鍵暗号方式」と「共通鍵暗号方式」の2つの方式があります。
この2種類の暗号方式「公開鍵暗号方式」と「共通鍵暗号方式」はどのような仕組みで動作し、どのような違いがあるか、メリットとデメリットは何かについてなるべくわかりやすく図にまとめてみました。
また、HTTPS通信はこの2種類の暗号方式を利用したハイブリッド暗号方式で通信が行われています。2種類の暗号方式を説明した後、ハイブリッド暗号方式およびHTTPS通信の仕組みについてもご説明します。
共通鍵暗号方式とは
共通鍵暗号方式とは、暗号化の鍵と複合化の鍵が同じとなる暗号方式です。鍵は2者間(クライアントとサーバ)でのみ共有します。鍵はクライアントごとに作成、配布され、2者間で共有された鍵を共通鍵と呼びます。
共通鍵暗号方式の仕組み、通信の流れ
共通鍵暗号方式の仕組み、通信の流れは以下の通りです。
- 共通鍵を生成し、二者間でのみ共有
- 送信側(クライアント)が共通鍵を使って平文を暗号化
- 受信側(サーバ)が共通鍵を使って暗号文を復号化
共通鍵暗号方式のメリット
暗号化/復号化に使用する鍵が同じであるため、処理速度が高速となることが特徴です。(計算ロジックが簡単で、計算負荷が低いです)
共通鍵暗号方式のデメリット
通信先が増えるごとに鍵の管理が必要となるため、鍵の管理が煩雑かつ手間となります。特にパソコン(送信側)とサーバ(受信側)で通信するとなると、サーバ側の負荷が大きくなります。
また、デメリット/課題として共通鍵を安全に受け渡す方法が必要となります。
公開鍵暗号方式とは
公開鍵暗号方式とは、暗号化の鍵と複合化の鍵が異なる暗号方式です。受信側が暗号化に必要な鍵(公開鍵)と復号化に必要な鍵(秘密鍵)の両方を生成し、暗号化に必要な公開鍵のみを外部に公開します。
公開鍵暗号方式の仕組み、通信の流れ
公開鍵暗号方式の仕組み、通信の流れは以下の通りです。
- 受信側(サーバ)が公開鍵と秘密鍵を生成し、公開鍵を外部に公開
- 送信側(クライアント)が公開鍵を使って暗号文をサーバに送信
- 暗号文を受け取った受信側(サーバ)が秘密鍵を使って、復号
公開鍵暗号方式のメリット
受信側(サーバ側)は、公開鍵と秘密鍵の管理のみとなるため、鍵の管理が簡単になります。
公開鍵暗号方式のデメリット
暗号化と復号化に用いる鍵が異なっており、秘密鍵暗号方式と比較すると処理が複雑になるため処理速度が遅くなります。
ハイブリッド暗号方式とは
ハイブリッド暗号方式とは、ここまでに説明した共通鍵暗号方式と公開鍵暗号方式を組み合わせた暗号方式です。
ハイブリッド暗号方式の仕組み、通信の流れ
ハイブリッド暗号方式は、共通鍵暗号方式の”共通鍵”を”公開鍵暗号方式”で配布します。これにより、サーバからクライアントに対して安全に共通鍵を送り届けることができます。
その後の通信は、共通鍵を用いて通信を行うとなります。つまり、共通鍵暗号方式と公開鍵暗号方式のデメリットをお互いに補填されていて、非常に優れた暗号方式です。
HTTPS通信はハイブリッド暗号方式を利用
amazonや楽天のオンラインショッピングなどでも使われているHTTPS通信はハイブリッド暗号方式を利用しています。
HTTPSは安全かつ便利に使用できるため、オンラインショッピングに限らず、オンラインバンキングなど様々なシーンで利用されています。HTTPSの詳しい仕組みはこちらの記事をご覧下さい。

コメント