セキュリティ

ハイブリッド暗号方式の仕組みを分かりやすく解説

2020年4月20日

ハイブリッド暗号方式とは

ハイブリッド暗号方式とは、公開鍵暗号方式と共通鍵暗号方式を組み合わせた暗号方式で、Webの暗号で広く普及しているHTTPS(SSL/TLS)などで用いられています。

※HTTPSの場合は、サーバ証明書を使用します。詳しくは下記の記事をご覧ください。

公開鍵暗号方式で、共通鍵暗号方式の鍵を配送し、データのやり取りは共通鍵暗号方式で行います。

スポンサーリンク

共通鍵暗号方式

共通鍵暗号方式とは「暗号化」と「復号」に同じ鍵を使う暗号方式です。

共通鍵暗号方式

共通鍵暗号方式の特徴は「暗号化」と「復号」に同じ鍵を使うため、鍵の配送を極秘に行わなければならないという短所、そして「公開鍵暗号方式」に比べると処理速度が速いという長所を持っています。

公開鍵暗号方式

公開鍵暗号方式とは「暗号化」と「復号」に別の鍵を使い、「暗号化」の鍵を公開できるようにした暗号方式です。

公開鍵暗号方式

公開鍵暗号方式の特徴は、暗号用の公開鍵は公開しているので、鍵の受け渡しが容易であるという長所があります。しかし「共通鍵暗号方式」に比べ処理速度が遅いという短所があります。

暗号用の「公開鍵」と復号用の「秘密鍵」をペアとして生成します。そして、暗号用の公開鍵は公開しているのが特徴です。そのため、鍵の受け渡しが容易であり秘密に管理する必要があるのは、受信側で管理している「秘密鍵」だけです。

ハイブリッド暗号方式の仕組み

ハイブリッド暗号方式は、「共通鍵方式は鍵の共有が安全ではない」「公開鍵方式は処理時間がかかる」というお互いの短所を解消した暗号方式です。

ここからは「ハイブリッド暗号方式がどのような仕組みで暗号処理を行っているのか」図解で解説していきます。

公開鍵暗号方式で「共通の鍵」の受け渡しを行う

ハイブリッド暗号方式では、まず始めに公開鍵暗号方式を使い「共通の鍵」の受け渡しを行います。「共通の鍵」の受け渡しを行う手順は次の通りです。

1. 「公開鍵」と「秘密鍵」のペアを作成する

公開鍵を生成する

送信側から通信の依頼を受けた受信側では、公開鍵暗号方式で利用する鍵(公開鍵と秘密鍵のペア)を生成します。

2. 「公開鍵」を通信相手に連携する

公開鍵を渡す

受信側で生成した鍵のうち「公開鍵」を通信する相手に送ります。

3. 「共通の鍵」を生成する

共通の鍵を生成する

「公開鍵」を受信した送信側では、共通暗号方式で利用する「共通の鍵」を生成します。

4. 「共通の鍵」を「公開鍵」で暗号化する

共通の鍵を暗号化する

生成した「共通の鍵」を先ほど受け取った受信者の「公開鍵」で暗号化します。

5. 暗号化した「共通の鍵」を送る

共通の鍵を送る

暗号化した「共通の鍵」を受信側に送ります。

6. 「共通の鍵」を復号する

共通の鍵を復号

暗号化された「共通の鍵」を受信した受信側では、暗号化に利用した受信者の「公開鍵」とペアになっている受信者の「秘密鍵」で「共通の鍵」を復号し、「共通の鍵」を取り出します。

共通の鍵受け渡し完了

これで「共通の鍵」が送信側から受信側へと受け渡しが完了しました。

このようにハイブリッド暗号方式では、公開鍵暗号方式を使い「共通の鍵」の配送を行います。

共通鍵暗号方式でデータの送受信を行う

公開鍵暗号方式を使い「共通の鍵」の受け渡しが完了した後は、共通鍵暗号方式でデータの送受信を行います。

共通の鍵で送受信する

送信側では「平文」のデータを「共通の鍵」で暗号化して送信、受信側では「暗号文」を「共通の鍵」で復号して「平文」に戻します。

このようにハイブリッド暗号方式では、鍵の受け渡し方法に課題(鍵の配送を極秘に行わなければならない)がある共通鍵暗号方式の短所を、公開鍵暗号方式でカバー(安全に鍵の受け渡しを行う)、そして処理速度が遅い公開鍵暗号方式の短所を、共通鍵暗号方式でカバー(データの送受信は処理の速い共通鍵暗号方式で行う)しています。

helpful