暗号

セキュリティ

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

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

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

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

スポンサーリンク

共通鍵暗号方式

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

共通鍵暗号方式(AES)とは

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

公開鍵暗号方式

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

公開鍵暗号方式(RSA)とは

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

 

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

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

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

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

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

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

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

公開鍵を生成する

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

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

公開鍵を渡す

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

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

共通の秘密鍵を生成

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

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

秘密鍵を公開鍵で暗号化

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

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

暗号化した秘密鍵を送る

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

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

共通の秘密鍵を復号化する

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

共通の秘密鍵の連携終了

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

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

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

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

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

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

 

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

いいね!フォローをお願いします /

© 2020 ITを分かりやすく解説