ハイブリッド暗号方式とは
ハイブリッド暗号方式の概要を見ていきましょう。
公開鍵と共通鍵を組み合わせた暗号方式
暗号化の方式は、公開鍵暗号方式と共通鍵(秘密鍵)暗号方式に分けられます。ハイブリッド暗号方式は、この両者を組み合わせた暗号方式です。
公開鍵暗号方式では暗号化と復号に別々の鍵を使います。データ送信側に復号鍵を渡す必要がないため、第三者に復号鍵を盗まれる危険性が低いのが特長です。ただし、処理に時間がかかってしまいます。
一方、共通鍵暗号方式では暗号化と復号に同じ鍵を使います。処理に時間がかからないのが長所ですが、鍵を送信側に渡す必要があり、その過程で鍵を盗まれるリスクがあります。
このようにどちらも一長一短ですが、両者のデメリットを補い合う方法としてハイブリッド暗号方式が登場しました。
各暗号方式の欠点を補うため、強度が高い
公開鍵暗号方式と共通鍵暗号方式を組み合わせたのは、以下の2つの性質を兼ね備えた方法を得るためです。
- ■公開鍵暗号方式の安全性
- ■共通鍵暗号方式の処理速度
前者は、受信者だけがもつ秘密鍵がなければ復号できないという特徴により実現されています。一方、後者は公開鍵・秘密鍵による複雑な処理を行わないことで実現される性質です。
したがって、上記2つの性質を備えた方法は、「秘密鍵を使うが、その処理を最小限に抑える」必要があります。ハイブリッド暗号方式はその方針で作られた暗号方式で、公開鍵・共通鍵暗号方式のデメリットを補い合っています。
ハイブリッド暗号方式の仕組み
続いて、ハイブリッド暗号方式の仕組みを詳しく見ていきましょう。
1.暗号鍵を生成する
始めに、ファイルの送信側が任意に暗号鍵を生成します。これは共通鍵なため、復号にもこの鍵を用いることになります。
ところが、通常の共通鍵暗号方式と異なり、この時点ではファイル受信側は共通鍵を持ちません。したがって、何らかの方法で共通鍵を送信側へ渡す必要があります。
2.共通鍵でファイルを暗号化する
次に、送信側は送信したいファイル(平文)を、前述のステップで作成した共通鍵を用いて暗号化します。また、同時にファイル受信側は公開鍵と秘密鍵を生成し、ファイル送信側に公開鍵を渡します。
この公開鍵は暗号化のみに使える鍵であり、第三者に知られても問題ないため、普通に送信して渡せます。
3.共通鍵を公開鍵で暗号化し、ファイルと一緒に送る
ファイル送信側は受信側から受け取った公開鍵を使って、自身が生成した共通鍵を暗号化します。こうすることで、ファイルの復号に使う共通鍵を安全にファイル受信側へ送れるのです。ファイルそのものと一緒に送信しても問題ありません。
4.共通鍵と暗号化ファイルを復号する
ファイル受信側は、暗号化されたファイルとそれを復号するための共通鍵を同時に受け取ることになります。ただし、共通鍵は公開鍵によって暗号化されているため、自分だけがもつ秘密鍵で復号します。そして、復号した共通鍵を用いてファイルを復号するのです。
こうすることで、時間がかかる公開・秘密鍵による処理が、共通鍵に対してのみで済みます。一方、復号に使う鍵をファイル受信側のみが持つため、高い安全性も実現します。
ハイブリッド暗号方式の活用事例
ハイブリッド暗号方式が使われている例で身近なものに、HTTPS通信があります。HTTPSは「HTTP over SSL/TLS」の略です。HTTP通信がSSL(Secure Sockets Layer)とTLS(Transport Layer Security)によって暗号化されていることを意味します。
URLの先頭がhttpsとなっているWebページは、通信が上記の技術で暗号化されていることを表します。最近は、すべてのページをHTTPS通信化しているサイトも多いでしょう。
HTTPS通信では、クライアントは自身が生成した共通鍵を、サーバが生成した公開鍵を使って暗号化し、送信します。サーバは受け取った暗号化共通鍵を自身の秘密鍵で復号することで、両者は安全に共通鍵を共有可能です。
その後は、この共通鍵で暗号化・復号を行いながらファイルをやり取りします。
ハイブリッド暗号方式を理解し、セキュリティ意識を高めよう
ハイブリッド暗号方式とは、共通鍵・公開鍵暗号方式の長所を併せ持つ暗号方式です。公開鍵暗号方式を共通鍵の受け渡しのみに適用することで、安全性と高速処理を両立します。やり取りの流れは以下のとおりです。
- 1.ファイル送信側が共通鍵を生成
- 2.ファイルを暗号化
- 3.ファイルと公開鍵で暗号化した共通鍵を送信
- 4.受信側が秘密鍵で共通鍵を、共通鍵でファイルを復号
暗号化ソフトを用いて、ファイルの暗号化を行いたい方は、以下より暗号化ソフトの資料請求が可能です。まずは資料請求をして、製品の比較をしてみましょう。