2022.01.25

セキュリティ対策

暗号化とは?仕組み、アルゴリズムの種類、メリットをわかりやすく解説

「暗号化」は、データの機密性や完全性を保持するための技術として用いられるものであり、私たちの生活やビジネスなどで使用するさまざまなデータを保護するために使われています。しかしながら「暗号化」と言っても、いまいちその仕組みやどのような利点があるのか、よく理解していない方もいるのではないでしょうか。

本記事では、暗号化について理解を深めるために、その仕組みやアルゴリズムの種類のほか、メリットや注意点についてわかりやすく解説していきます。

暗号化とは

 

「暗号化」とは、大事なデータの内容を第三者に見られないようにする方法です。元のデータに対して特別な処理を行い、別のデータへ変換する処理を行います

たとえばPCにログインする際に、入力するパスワードが文字列のままPCへ保存されていたとすれば、PC内部からカンタンにパスワード情報を抜き取られてしまうリスクがあります。そのようなリスクを回避するため、基本的にパスワードのデータはPCに暗号化処理された状態で保存されるようになっています。こうすることで第三者からパスワード情報を盗まれずに保護することが可能となります。

このように、暗号化はデータセキュリティにおいて基本要素となっており、PCシステムの情報の閲覧、盗難、悪用といったリスクを防止する上で、カンタンかつ重要な方法となります。現在多くの企業では、この暗号化を利用してサーバーなどの重要な機密データを保護しています。

暗号化の仕組み

 

では暗号化とは、どのような仕組みで成り立っているのでしょうか。ここでは、暗号化の仕組みについてみていきましょう。

暗号化の仕組みには、ある一定の条件によりデータを文字列・記号に変換し暗号化するといったルールがあり、この一定の条件のことを「暗号化アルゴリズム」と呼びます。
暗号化アルゴリズムを用いれば、データを暗号化することが可能ですが、同じ暗号化アルゴリズムを使用すれば第三者へ解読されてしまいます。そのため、それぞれ異なる特定の条件を取り入れ解読を難解にすることで対象データを保護しています。
この特定の条件のことを"暗号鍵”と言い、この仕組みで暗号化を行うと元データは別のデータに変換されることになります。

また、暗号化されたデータは、「復号」と呼ばれる処理で暗号のシステムを使用して、元のデータに戻すことができます。そのときに暗号化のときと同様に”暗号鍵”を用いることで復号の処理が可能となります。
つまり、暗号化を行う際に使用する“暗号鍵”がとても重要な役割を担っており、万が一これが他人へ流出してしまうと、暗号化したデータが読まれてしまうことになります。このリスクを回避するには、暗号鍵が決して暗号通信に関係のない人へ渡ることのないよう、厳重に管理する必要があると言えます。

ハッシュ化との違い

暗号化とは別に「ハッシュ化」という技術も存在します。これも暗号化と同じく通信の安全性を高める技術の一つです。
ハッシュ化とは、ハッシュ関数と言われる特別な計算により、一見するとランダムに見える別の値にデータを変換する方法です。よくログイン時のパスワードを保管するシーンにて活用されています。
ハッシュ化と暗号化の大きく異なる点については、以下です。

ハッシュ化・・ハッシュ化されたデータを復号することはできない
暗号化・・暗号化は復号が可能。復号する前提で行われるため、比較的容易に暗号文から元データを取得できる

暗号化は、データの送受信方法としてはよく使用されますが、他人からの復号リスクが少なからずあります。一方ハッシュ化は、復号を前提にしていないため、他人がハッシュ値から元データを割り当てることは極めて困難となります。また、ハッシュ値の受信者に限らず作業を行った当人ですら復号ができなくなるため、不可逆性を持つ点がハッシュ化の一番の特徴と言えるでしょう。

データの取り扱いにおいては、このハッシュ化と暗号化を組み合わせることが、より高い安全性と機密性を保持するために重要なポイントとなります。

暗号化の種類・方式

 

冒頭において、暗号化には“暗号鍵”が重要な役割を担っているとお伝えしましたが、具体的にどのような役割があるのでしょうか。ここでは、暗号鍵の意味や役割に加え、暗号化の方式や代表的なアルゴリズムについてみていきましょう。

暗号鍵とは?

暗号鍵とは、元のデータを暗号のシステムを使い暗号化、または復号する際に使用する鍵のことです。この仕組みで暗号化・復号化を行うことでデータを保護することができ、第三者へのデータの流出を防止することが可能となります。

データの暗号化・復号化の処理を行うには、この暗号鍵の管理がとても重要になります。
ちなみに、暗号化・復号化における鍵の管理方法は、これからご紹介する「共通鍵暗号方式」と「公開鍵暗号方式」の2つに分類することができます。

共通鍵暗号方式

「共通鍵暗号方式」とは、データの暗号化・復号化の際に同じ鍵を用いる方式のことです。秘密鍵暗号方式とも呼ばれています。

共通鍵暗号方式は、ファイルを暗号化する際にもよく使用されており、データの暗号化・復号化の処理速度が早いといった特徴があります。
しかしその反面、データをやり取りする人数が増えるにつれて、管理しなければならない鍵の数も増えるといったことや、鍵の情報が盗まれるリスクも少なからずあります。そのため共通鍵暗号方式を用いる場合は、暗号化・復号化を行う人物以外に鍵の情報が漏れないよう管理する必要があります。

なお、共通鍵暗号方式に使われる暗号化アルゴリズムは、以下の3つが代表的なものになります。

DES(Data Encryption Standard)

DESは、データをブロック単位で暗号化し、各ブロックを56ビットの鍵で暗号化する方式です。この長さの鍵の場合、容易に解読されるリスクがあり安全性に欠けるため、DESを3回施す『トリプルDES』により、暗号強度を高める手法が用いられます。なお以前は暗号アルゴリズムの標準として長年使用されてきましたが、最近ではDESに代わり、後述するAESを利用するケースが増えてきています。

RC4(Rivest Cipher 4)

RC4は、40から2048ビットの鍵を使用した方式で、SSL等で広く使われるストリーム暗号となります。2015年に解読可能な攻撃が見つかったことから、同年2月には利用を禁止されています。

AES(Advanced Encryption Standard)

AESは、128・192・256ビットの鍵を使用した方式で、無線LANなどの通信データの暗号化に使用されています。現在AESは、世界標準の暗号アルゴリズムとして利用されており、強度が極めて高いことから、行政や金融機関などでも用いられています。

公開鍵暗号方式

公開鍵暗号方式とは、暗号化・復号化の際に、それぞれ異なる鍵を使用する方式です。この方式では、暗号化に使用する「公開キー」と、復号化に使用する「秘密キー」があります。

暗号化に使用する鍵は公開されているため、誰でも暗号化が可能となりますが、復号化に使用する鍵は、データの受信者である本人しか所有していないので、安全にデータのやり取りが可能となります。

また、公開鍵暗号方式は共通鍵暗号方式と比較すると、処理速度は遅い傾向にありますが、管理する鍵の数が少なくて済むといったメリットもあります。暗号化で使用されるケースとしては、公開鍵暗号方式単体で使用するというより、共通鍵暗号方式と組み合わせて使用されるケースが多くあります。

なお公開鍵暗号方式において、代表的される暗号アルゴリズムは以下です。

RSA(Rivest Shamir Adleman)

RSAは、1,024・4,096ビットの鍵を使用した暗号化アルゴリズムで、方式に離散対数問題と素因数分解を利用しています。
なおRSAは、公開鍵暗号方式のため、データ送信者と受信者間において、復号用の鍵の受け渡しが行われません。これにより、第三者による暗号文の復号は不可能となります。

暗号化を行うメリット

 

では、暗号化を行うメリットとは、具体的にどのようなことが挙げられるのでしょうか。

セキュリティの強化につながる

データの暗号化を行うメリットは、セキュリティを強化できるという点にあります。
たとえば多くの企業では、ホームページなどのWebサイトを所有しているところが多くありますが、WebサイトのURLが“HTTP”で始まる場合、通信が暗号化されていないため第三者により、通信データの改ざんや盗聴されてしまうといったリスクがあります。

そのようなリスクを回避するためには、SSL/TLSの技術を用いて通信の暗号化を行う“HTTPS”化を行うことが重要です。こうすることで、SSLサーバー証明書は認証局がWebサイト運営者の実在性をチェックできるため、対象のWebサイトが第三者のなりすましではないことを証明することができ、ユーザーも安心してWebサイトに訪れることが可能になります。

このように通信の暗号化は、第三者による通信データの改ざんや盗聴を防止することができ、より強固なセキュリティを実現することが可能となります。

暗号化を行うデメリット

 

暗号化は、メリットも多い反面、少なからず以下のようなデメリットもあります。

PCへの負荷と作業に時間がかかる

ハードディスクを暗号化する場合、その容量にもよりますが、作業に1時間から丸1日かかるケースがあります。
そのほか、暗号化を行うツールを導入することで、PCに負荷がかかり処理速度が遅くなるといった事象も少なくありません。そのため、ツールを選定する場合は処理速度への影響が極力少ない製品を選ぶことをおススメします。

データの復元が不可能になる場合も

暗号化を解くために、復号化に必要な鍵を削除・紛失した場合、データを復元できなくなるリスクがあります。
この場合、暗号化に精通している業者であっても復元が困難になることがあります。そのため、暗号化にかかわる鍵の管理には十分注意するようにしましょう。

暗号化における注意点

 

暗号化は、セキュリティを高めることができる一方で、押さえておきたい注意点もあります。

暗号文が解読されてしまうリスクもある

暗号化・復号化する際は、暗号鍵と呼ばれるデータで行うことになりますが、もし万が一暗号鍵が第三者に渡ってしまった場合、暗号文が解読されてデータを盗まれてしまうリスクがあります。

たとえば、パスワードの設定を行い暗号化する場合、第三者にパスワードが知られたり解析されることで、不正に復号化されデータを抜き取られるといったことが考えられます。そのためパスワードを設定する際は、桁数や文字の種類を増やすといったことや、パスワードの使いまわしを禁止するといった工夫が必要となります。

もちろん暗号化により安全性を高めることは可能ですが、少なからず上述したようなリスクもあるため、暗号化する際は上述したような注意点を踏まえた上で検討を進めていくようにしましょう。

関連記事はこちら
≫VPN接続の基本を解説!暗号化の仕組みやメリット・デメリットを紹介

まとめ

 

今回は、暗号化の仕組みや種類、メリットや注意点について解説してきました。暗号化は、データの漏えい、盗難などから情報を保護する上で非常に役立つ方法です。
暗号化を行う際は、まずはその仕組みをしっかり理解した上で適した暗号アルゴリズムを選択し、より強固なセキュリティ対策を講じていきましょう。