CORPORATE SEARCH検索

暗号化とは?主な方式の種類や暗号化・復号化の仕組み、やり方について解説

[ 更新: ]

データなどのやりとりを行う際には、情報が外部に漏れないような対策が必要です。暗号化は元データを変換して第三者が情報を閲覧できない状態を作れるため、セキュリティ対策として有効な方法だと言えます。本記事では、暗号化の仕組みや方法・安全性を高めるポイントまで解説します。暗号化を正しく取り入れて、企業の大切な情報を守れるようにしていきましょう。

目次

[ 開く ] [ 閉じる ]
  1. 暗号化とは
  2. 暗号化・復号化の仕組み
  3. ファイルを暗号化するメリット
  4. ファイルを暗号化するデメリット
  5. 暗号化に使う方式の種類
  6. 共通鍵暗号方式
  7. 公開鍵暗号方式
  8. ハイブリッド暗号方式
  9. 暗号化の基本的なやり方
  10. 暗号化ツールを使う
  11. クラウドサービスを使う
  12. WindowsEFSを使う
  13. 暗号化の安全性を高めるポイント
  14. 安全性の高いアルゴリズムを選ぶ
  15. 通信経路も暗号化する
  16. 継続的にセキュリティをチェックする
  17. まとめ

暗号化とは

暗号化とは、元となるデジタルデータを違う文字列のデータに変換し、解読できない状態にすることです。他者が簡単に閲覧できないような状態にするのが暗号化の目的です。暗号化したデータは元の状態に戻せることが重要で、元のデータに戻す操作は復号といいます。暗号と復号は必ずセットで使用されます。

身近な例でいえば、デバイスに記憶されているログインパスワードも、暗号化されています。また、SSLというサイトURLの先頭にhttpsが付いたインターネットサイトも、情報が暗号化されるサイトです。ビジネスシーンでは機密情報のファイルなどを共有するなどのタイミングで、暗号化の方法が活用されています。

【関連記事】httpとhttpsの違いとは|SSLサーバー証明書の確認方法や信頼できるサイトの見極め方

暗号化・復号化の仕組み

暗号化したデータは、復号で元データの状態に戻せることが重要です。以下は、総務省が公表している「暗号化の仕組み」についての図となります。以下の図に合わせて、暗号化と復号の仕組みを解説していきましょう。

暗号化の仕組み

出典:総務省「暗号化の仕組み」

元データとなっている「1234-5678-0000-00000」を暗号化すると、まったく違うデータの「2X3e-Zh1n-k8vW-AEer」となりました。暗号化したデータは復号によって元データ「1234-5678-0000-00000」に戻せます。

暗号化や復号をする際に重要なのが、鍵の存在です。暗号化と復号の際に使う鍵が同じ場合を「共通鍵(秘密鍵)暗号方式」といい、暗号化と復号の際に使う鍵を変える方法を「公開鍵暗号方式」といいます。暗号化・復号のどちらも、鍵がないと変換できません。

鍵の内容が第三者に知られてしまうと、せっかく暗号化したデータが第三者に渡る可能性があるため、他者に鍵の内容を知られないよう管理が必要です。

ファイルを暗号化するメリット

ファイルを暗号化するメリットは、外部に元データのまま情報を漏洩させないで済むところです。個人情報や機密情報などを暗号化させれば、簡単には元データの情報にたどり着けません。

例えば、社外にファイルを持ち出すような場合、データを保存した媒体(USBなど)を紛失する可能性はゼロではありません。暗号化しておくことで、紛失時にデータの内容が流出するリスクを下げられるでしょう。

近年ではインターネットなどを経由し外部へ情報を触れさせる機会が増えたと同時に、個人の端末で大切な情報を管理することが多くなりました。サイバー攻撃なども多様化したため、被害にあわないような対策はもちろんのこと、万が一攻撃を受けた場合に被害を最小限に抑えられる対策が必要です。

【関連記事】PPAPとは?問題視される4つの理由と代替案、効果的な対策方法を徹底解説

ファイルを暗号化するデメリット

ファイルを暗号化するデメリットとして挙げられるのは、パスワード紛失時にデータ復元ができない・容量の大きいファイルの暗号化は負荷がかかるなどです。

特に重要なのが、暗号化したデータを元データに復号させるためには、鍵(パスワード)が必要になる点です。復号するためパスワードを失くすと、元データへの復元はできません。また、復号のパスワードを外部に知られたり情報解析されたりすれば、元データは守りきれません。

パスワードの管理方法が重要なうえに絶対安全なわけではないことを理解し、簡単に解析されないパスワードを設定する・パスワードを使い回さないなどの対策を怠らないようにしましょう。

暗号化に使う方式の種類

暗号化を行う際に使われる方式は3種類あります。それぞれのメリット・デメリットは、以下の表にあるとおりです。

方式 メリット デメリット
共通鍵暗号方式
  • 処理が単純なため暗号化と復号が早い
  • 最もシンプルな方法でわかりやすい
  • 共有する人数の分パスワードが必要になる
  • 鍵の管理を慎重にする必要がある
公開鍵暗号方式
  • 暗号化するための鍵は複数で共有できるため管理が簡単
  • 暗号化と復号の処理に時間がかかりがち
ハイブリッド暗号方式
  • 暗号化と復号の処理が早い
  • パスワードの管理や受け渡しが簡単
  • 共通鍵暗号方式と公開鍵暗号方式を組み合わせて使うため、処理が複雑になる

「どのような方式か」「メリット・デメリットの詳細」「どのような場合に向いている方式か」については、以下で詳しく解説していきます。なお、手順においてデータの所有者はすべて送信者とします。

共通鍵暗号方式

共通鍵暗号方式とは、暗号化と復号の際に「共通の鍵」を用いる方式です。手順は以下のとおりです。

  1. 送信者:共通鍵で暗号化する
  2. 送信者:暗号化とおなじ鍵(共通鍵)と暗号化したデータを受信者に共有する
  3. 受信者:暗号化とおなじ鍵(共通鍵)で復号する

共通鍵暗号方式はPCへの負荷が軽く、暗号化・復号の際の速度が早いのがメリットです。また、複雑な工程がなくもっともシンプルな方法のため、わかりやすいのも特徴です。一方で、やりとりする人数分の共通鍵が必要になるため、人数が多くなればなるほどに鍵の管理が大変になります。

少人数とのやりとりかつ、共通鍵の情報を安全にやりとりできる環境下である場合に有効な方法でしょう。

公開鍵暗号方式

公開鍵暗号方式とは、暗号化と復号の際に「異なる鍵」を用いる方式です。公開鍵と秘密鍵(私有鍵)をワンセットとして使用します。手順は以下のとおりです。

  1. 受信者:公開鍵と秘密鍵を作成する
  2. 受信者:公開鍵のみを送信者に共有する
  3. 送信者:公開鍵を使用してデータを暗号化する
  4. 送信者:暗号化したデータを受信者に共有する
  5. 受信者:1で作成した秘密鍵でデータを復号する

公開鍵で暗号化したデータは秘密鍵でしか復号できません。そのため、受信者が秘密鍵の情報を外部に漏らしさえしなければ、第三者がデータを復号できる術はないのです。

暗号化に使う公開鍵はおなじものを複数人に共有してもよいため、鍵の管理がしやすいメリットがあります。一方、暗号化・復号の処理に時間がかかりやすい点・PCへの負担が大きくなりやすい点がデメリットです。

大人数と暗号化データのやりとりが必要な場合には、公開鍵暗号方式は有効な方法でしょう。

ハイブリッド暗号方式

ハイブリッド暗号方式とは、共通鍵暗号方式と公開鍵暗号方式のよいところをとった方式です。暗号化・復号は「共通鍵暗号方式」を用いますが、共通鍵の受け渡し自体を「公開鍵暗号方式」で行います。

共通鍵の受け渡し手順は以下のとおりです。

  1. 受信者:秘密鍵(私有鍵)と公開鍵を作成する
  2. 受信者:公開鍵を送信者に共有する
  3. 送信者:共通鍵を作成する
  4. 送信者:受信者から送られてきた公開鍵で、共通鍵を暗号化する
  5. 送信者:4で暗号化した共通鍵を受信者に送る
  6. 受信者:送信者から送られてきた共通鍵を、1で作成していた秘密鍵(私有鍵)で復号する

この時点で、受信者と送信者が「おなじ共通鍵」を持っている状態となります。

続いて復号の手順です。

  1. お互いに持っている共通鍵を使用し「共通鍵暗号方式」でデータをやりとりする

共通鍵暗号方式では、共通鍵が外部に盗まれてしまうと、せっかく暗号化したところで意味がありませんでした。また、公開鍵暗号方式では処理が遅くなりがちというデメリットもあったのです。

ハイブリッド暗号化方式は、共通鍵暗号方式よりも安全で、公開鍵暗号方式よりも処理が速いのが特徴です。少々複雑に見えるやり方さえ理解できれば、メリットの多い方法だと言えるでしょう。

暗号化の基本的なやり方

代表的な暗号化の方法として、ここでは、以下の3つを取り上げます。

  • 暗号化ツール
  • クラウドサービス
  • WindowsEFS

これらの方法について、概要とメリット・利用方法を説明していきましょう。

暗号化ツールを使う

暗号化ツールは、ファイルなどを暗号化するために提供されている専用ツールのことです。暗号化に特化して作られているため、安全性や暗号化の強度が高いのが特徴です。ツールごとに追加機能が搭載されている場合もあり、ツール利用時には端末認証や生体認証を行えるものもあります。

無料と有料のツールがありますが、暗号化に対応しているファイルや安全性などに差があります。有料ツールでは暗号化したファイルの後送信防止機能や、データ持ち出しの制限機能が使用できる場合もあります。また、アプリのインストールの必要不要もツールによって異なるため、求める機能や企業状況などから、導入するツールを検討しましょう。

クラウドサービスを使う

クラウドサービスを使用して、データの暗号化も可能です。クラウドサービスとはインターネット上でデータの管理ができるツールですが、クラウドサービス通信を暗号化、または保存しているファイルを暗号化し、管理している情報を守ります。普段データなどの管理をしているクラウドサービスで暗号化まで担えるとなれば、生産性の向上につながりやすいです。

使用するクラウドサービスごとに暗号化の機能が搭載されているかはまちまちです。クラウドサービスでの暗号化を検討する場合には、暗号化が標準搭載されていない場合もあると理解し、機能の確認をするようにしてください。またクラウドサービスでは、クラウド上のストレージにデータを転送するときだけ暗号化し、クラウド上のデータは復号化して保管するものがあります。企業秘密など重要なデータを扱う場合は注意して利用するようにしてください。

WindowsEFSを使う

WindowsEFS とは、Windows OSに標準で搭載されている、ファイル暗号化機能のことです。無料で使用でき、ファイルだけでなくフォルダの暗号化も可能です。公開鍵暗号方式と共通鍵暗号方式を組み合わせた技術を使用しています。無料なうえに標準搭載されているため、アプリのインストールなどの手間がかからない点が大きなメリットです。

WindowsEFSでの暗号化は、以下の手順で行います。

  1. 暗号化したいファイルを右クリックし[プロパティ]を選択
  2. [全般]で[詳細設定]をクリック
  3. [属性の詳細]から[内容を暗号化してデータをセキュリティで保護する]を有効にして[OK]をクリック
  4. [プロパティ]で[適用]をクリック
  5. [暗号化に関する警告]で[ファイルだけを暗号化]を選択し[OK]をクリック
  6. 最後に[OK]をクリック

(手順参照:Microsoft「EFSの仕組みとファイル復元について」

これらの工程を経るとファイルの右上に鍵マークが表示され、暗号化された状態が完成します。

暗号化の安全性を高めるポイント

ファイルなどを暗号化しただけでは、十分なセキュリティ対策をしたとは言い難い状態です。より強固なセキュリティ対策を実現させ安全性を高めるには、以下に解説する方法も組み合わせ対策を行いましょう。

安全性の高いアルゴリズムを選ぶ

暗号化には暗号強度というものがあります。暗号強度は暗号の解読されやすさを表しており、暗号の長さが長いほど、安全性が高いと言われています。また、暗号のアルゴリズムも暗号強度に影響します。暗号アルゴリズムとは、暗号化処理の手順・規則のことです。アルゴリズムには開発者などの名前がついており、暗号化にはさまざまな種類のアルゴリズムが使用されています。

現在使用される暗号化の方法では、アルゴリズム自体は隠せません。種類によって安全性に差があるため、安全性について評価された、安全性の高いアルゴリズムを使うようにしましょう。

安全性を評価する機関として、米国のNIST(National Institute of Standards and Technology)のCSRC(Computer Security Resource Center)が有名で、日本ではCRYPTREC(Cryptography Research and Evaluation Committees)などがあります。

安全性の高いアルゴリズムの例は、以下のとおりです。

ElGamal 公開鍵暗号方式のアルゴリズムの1つで、離散対数問題の困難性に安全性の根拠を置いています。離散対数問題とは、自然数における演算y = g^x mod q (mod qはqで割った余りを求める演算)において、y, g, qからxを求める問題であり、y(及びg, q)を公開鍵として、xを秘密鍵(私有鍵)として使用します。
RSA 最もメジャーな公開鍵暗号方式のアルゴリズムの一つ。大きな2つの素数の積から、それぞれの素数を算出することが困難であることを安全性の根拠としています。開発者である、Rivest、Shamir、Adlemanの頭文字をとって命名されました。
AES 最も広く標準的に利用されている鍵暗号方式のアルゴリズム。高度な暗号化標準という意味であり、安全性の信頼の高さから、無線LANの規格としても使用されているアルゴリズムです。128・192・256bitという鍵の長さから選択が可能で、暗号化の演算は、行列演算やデータの入れ替え、排他的論理和演算などから構成されています。
ECC 楕円曲線暗号系(Elliptic Curve Cryptosystem)に基づく公開鍵暗号方式。楕円曲線上の点に対して加法演算を定義し、楕円曲線上の点を整数倍した点から何倍したかを計算することが困難であること(楕円離散対数問題)を安全性の根拠としています。

ElGamal方式やRSA方式に比較して同程度の安全性では鍵長を短くできるという特長があります。仮想通貨やTLS(Transport Layer Security)通信などでも標準的に使われている最も流行りの暗号方式の一つです。

通信経路も暗号化する

暗号化の際には、ファイルなどのデータだけでなく、通信経路の暗号化も同時に取り入れるのが効果的です。暗号化されている部分が多ければ、突破するのが難しくなるのは明白でしょう。また、悪意ある第三者からの盗聴やなりすましなどの攻撃を受けた場合に通信経路が暗号化されていれば、データ自体にたどり着きづらくなります。

データの暗号化と同時に通信経路も暗号化し、より一層強固なセキュリティ体制を整えていきましょう。

継続的にセキュリティをチェックする

ファイルや通信経路を暗号化したあとは、継続的にセキュリティチェックをするようにしましょう。暗号化をしても復号に必要な鍵が漏洩すれば、暗号化は意味をなしません。鍵(パスワード)の管理にはセキュリティ体制を整えることが重要となるため、継続的なセキュリティチェックが重要です。

セキュリティツールなどを常に最新の状態に保つ、使用している端末に二段階認証・多要素認証を取り入れるなどが有効な方法です。また、外部サービスに依頼して脆弱性診断などを定期的に行えると、セキュリティ状況を可視化しやすいでしょう。

【関連記事】多要素認証(MFA)とは|二要素認証・二段階認証との違いやメリットを解説

まとめ

暗号化とは元データを変換し、第三者が簡単にデータの内容を解読できない状態にすることです。暗号化したデータは復号で元データの状態に戻せます。復号には鍵(パスワード)が必要で、パスワードのやりとり方法により「共通鍵暗号方式」「公開鍵暗号方式」「ハイブリッド暗号方式」となります。

暗号化はセキュリティ対策として有効な方法ですが、絶対に安全というわけではありません。安全性の高いアルゴリズムを選ぶ・通信経路も暗号化する・継続的にセキュリティチェックを行うなどの方法も取り入れるのが望ましいです。より高い安全性を実現させ、大切な情報を守れるようにしましょう。

文責:GMOインターネットグループ株式会社

SSL GMOグローバルサインのサイトシール