in

中小製造業へ向けた情報セキュリティ講座_その7_暗号化方式について

はじめに

第七回の今回は、暗号化方式についてお話できればと思います。

暗号化とは

第四回でお伝えした「盗聴」に対して用いられる対策が暗号化となります。
「暗号化」とは元となるデータに対して、特別な処理を行うことで、別のデータに変換する処理のことをいいます。それに対し、暗号化されたデータを元のデータに戻す処理のことを「復号化」と言います。

暗号化方式の種類

暗号化の方式は、「共通鍵暗号方式」と「公開鍵暗号方式」の2つが特に有名であり、またこれらの方式を組み合合わせた「ハイブリッド暗号方式」もあります。

共通鍵暗号方式

共通鍵暗号方式は、暗号化と復号化で同一の鍵を用いるのが特徴です。

この方式はコンピュータシステムの初期段階で使用されていましたが、使用する上で2つの問題点があります。

1つ目の問題点は、鍵を相手に渡す必要があるという点です。
この方式では、同じ鍵を使用するため、どちらかで作成した鍵を相手に渡す必要があります。
ここでインターネット経由で渡すと鍵を悪意のある第三者に見られてしまう可能性があり、データの暗号化に意味がなくなってしまいます。
よって共通鍵暗号方式だけを使う場合は、鍵の受け渡しをインターネット以外の例えば郵送といった手段で行う必要があります。

2つ目の問題点は、複数の相手から暗号化したデータを受け取る場合、相手毎に鍵を別に用意する必要があるということです。
もし複数の相手に対して同一の鍵を使用すると、同じ鍵を用いて暗号化されたデータは復号化することができてしまうので、鍵を持つユーザーは他のユーザー間の通信を盗聴できてしまいます。
これを防ぐため、データのやり取りをする相手ごとに別々の鍵を用意する必要がありますが、送信先が増加した場合は鍵の管理が煩雑になります。
※N人のネットワークで暗号をやり取りするには、N×(N-1)/2個の鍵が必要となります。

このような問題点から、現在では公開鍵暗号方式が主に使われるようになっています。

使用例:RC4、DES、3DES、AES

公開鍵暗号方式

公開鍵暗号方式は、ペアになっている鍵(公開鍵・秘密鍵)を用いる方式です。
公開鍵は暗号化にしか用いず、公開鍵で暗号化したデータは秘密鍵でしか復号化できないのが特徴です。
公開鍵は外部に公開して誰でも見ることができる状態にして、秘密鍵は誰にも見せません。

公開鍵暗号方式は、共通鍵暗号方式の問題を解決した方式となります。

まず1つ目の問題点である鍵の受け渡しについてですが、公開鍵は公開しているため、受け渡しの心配をする必要がありません。
また共通鍵暗号方式鍵では鍵の公開で安全性が損なわれましたが、この方式では公開鍵で復号化できるのは秘密鍵で暗号化したデータのみとなるため、公開鍵を使って暗号化されたデータを悪意のある第三者が盗み見したとしても、持っている公開鍵では復号化することができません。

また2つ目の問題点である、用意する鍵の多さについてですが、公開鍵暗号方式では2N個で済ませることができます。

ここまでは公開鍵暗号方式の利点を説明してきましたが、一方で不便な点もあります。

まずこの方式では、公開鍵は暗号化にしか使用しないため、基本的に一方通行の使い方しかできません。
送信側に対して今度は受信側から暗号化したデータを送信しようとする場合、送信側で秘密鍵と公開鍵を作成して公開鍵を公開する必要があります。

また公開鍵暗号方式は、同じ鍵長の共通鍵暗号方式と比較して処理が複雑になるため、処理速度が遅くなるデメリットがあります。

使用例:RSA、ElGamal

ハイブリッド暗号方式

ハイブリッド暗号方式は、共通鍵暗号方式と公開鍵暗号方式を組み合わせ、共通鍵暗号方式の「処理の高速さ」と,公開鍵暗号方式の「容易な鍵の管理・配布」を実現した方式となります。

この方式では、暗号化する際に毎回適当な共通鍵を作成し、その共通鍵を用いて暗号化を行います。(→共通鍵暗号方式を利用)
この共通鍵は、あらかじめ入手しておいた受信者の公開鍵で暗号化します。(→公開鍵暗号方式を利用)
送信者は、「暗号化されたデータ」と「暗号化された共通鍵」の両方をまとめて受信者に送信します。
受信者は、「暗号化された共通鍵」を受信者の個人鍵で復号化し、入手した共通鍵を用いて「暗号化されたデータ」を復号化します。

暗号化で使用する共通鍵は毎回異なったものを作成して使用するため、悪意のある第三者が共通鍵を入手したとしても、その共通鍵が使用された一度の通信のみしか盗聴することができません。
また、共通鍵の暗号化には受信者の公開鍵を使用していることから、正しい受信者でしか共通鍵を復号化することができません。

使用例:HTTP通信

おわりに

今回は、暗号化方式にお伝えしました。
暗号化についても色々なサービスが発展しており、どんな方法で暗号化しているか?を知っている必要はあまりないかもしれませんが、知っておいて損になる情報でもないと思います。
何かの機会で、今回の知識が役立つことを祈っています。

Written by Masahide Yasui

What do you think?

Exhibition

アフターコロナのオンライン展示会の活用

プロセス改善は「プロセス憎んで人を憎まず」