電話
03-5835-2820
平日9:00~18:00
Zoom等オンラインでのご相談も可能です

セキュリティ対策の一つ、「暗号化」という言葉は日常生活でもよく耳にします。

言葉は知っているが、実際にデータを暗号化したいときにどうすればよいかわからない、よりセキュリティを高めるためにはどうしたらよいかわからないとお悩みの方もいらっしゃるのではないでしょうか。

そこでこの記事では、暗号化についてわかりやすく紹介します。そもそも暗号化とはという基本知識から、暗号化をしたいときはどのようにすれば実現できるのかまで、図を交えて詳しく解説していきます。

この記事で得られる情報は以下の通りです。

  • 暗号化とはどのようなことを行うのか
  • 暗号化することによるメリット(暗号化の必要性)
  • 暗号化の仕組み
  • 暗号化の種類
  • 暗号化の方法
  • 暗号化の注意点

お役に立ちましたら幸いです。

実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>

暗号化とは?

暗号化とは、データを第三者に見られないように特別な処理を行うことです。

例えば、サービスにログインするためのIDとパスワードを平文(データの暗号化処理を行っていない、そのままの状態)で送信してしまうと、もしも第三者に傍受されたらログインを突破され、情報を悪用されてしまいます。また、平文の情報を保管しているデータベースが不正アクセスなどの被害に遭うと、情報が外部に流出してしまいます。

暗号化を行うことで、このような被害にあったときにも情報を解読されるリスクを減らすことができます。 データを利用者以外にはわからなくするために、Webページの送受信データや電子メール、無線LANによる通信データなど、身近なところでさまざまな暗号化技術が使われています。

実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>

暗号化の必要性

暗号化をすることによって、さまざまなリスクを低減することができます。

  • 通信内容の傍受(セキュリティ用語では「盗聴」とも呼びます)
  • データの盗難
  • 情報漏えい
  • 不正アクセス

例えば上記のような被害に遭ったとしても、暗号化したデータは簡単に読み取れないようになっているため、被害を最小限にとどめることができます。

身近な暗号化の利用例として、インターネット通信(SSL通信)が挙げられます。SSL通信はブラウザとサーバー間の通信を暗号化し、第三者による盗聴やデータ改ざんを防いでいます。

実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>

暗号化の仕組み

「暗号化とは、データを第三者に見られないように特別な処理を行うこと」であると最初にお話ししました。この特別な処理のことを「暗号アルゴリズム」といいます。

暗号化をする時は、「暗号アルゴリズム」と「鍵」と呼ばれるデータを使います。この2つを使って暗号化をすると、データは全く違うデータに変換されます。

「鍵」は暗号化をする時だけでなく、暗号化したデータを元の状態に戻す時にも必要です。暗号化したデータを元のデータに戻す処理のことを「復号」といいます。

鍵はとても大事な役割を果たします。鍵がないと復号ができませんが、もしも鍵を第三者に知られてしまうと第三者にデータを復号されてしまう恐れがあります。このような事態を防ぐため、鍵を守る対策をしなくてはなりません。

実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>

暗号化の種類

暗号アルゴリズムにはいくつかの種類があり、種類によって暗号化する処理時間や安全性が異なってきます。暗号アルゴリズムの種類は鍵の管理方法によって分けられ、以下のように大別されます。

  • 共通鍵暗号方式
  • 公開鍵暗号方式
  • ハイブリッド暗号方式

それぞれ詳しく解説していきます。

共通鍵暗号方式

共通鍵暗号方式は、暗号化と復号で同じ鍵を使う暗号アルゴリズムの方式です。この鍵は共通鍵、もしくは秘密鍵と呼ばれるため「秘密鍵暗号方式」と呼ばれることもあります。「DES」「RC4」「AES」などが有名です。

共通鍵暗号方式のメリット

アルゴリズムがシンプルなため、暗号化処理を高速で行えることがメリットです。

共通鍵暗号方式のデメリット

鍵の管理がしにくいことがデメリットです。データをやり取りする人の分だけ鍵の数を用意しなくてならないため、相手が多いほど管理が大変になってしまいます。

また、共通鍵暗号方式をする際はやり取りする相手に鍵を受け渡す必要があります。鍵を渡す際にリスクが発生するのがネックです。

例えば、インターネットやメールで鍵のやりとりをすると盗聴されるリスクがあります。かといって郵送で送ると、届くまでに時間がかかってしまいます。

公開鍵暗号方式

公開鍵暗号方式は、暗号化と復号で別々の鍵を使う暗号アルゴリズムの方式です。暗号化の時は公開鍵、復号の時は秘密鍵を使い、データをやりとりする相手には公開鍵だけを渡します。

  1. データ受信者が公開鍵と秘密鍵を作成し、公開鍵を一般公開する
  2. 送信者は、送りたいデータを公開鍵を使って暗号化して送信する
  3. 送られてきたデータを受信者が持っている秘密鍵で復号する。データが読めるようになる

「RSA」「楕円曲線暗号」などが有名です。

公開鍵暗号方式のメリット

公開鍵暗号方式のメリットは安全性が高いことです。共通鍵暗号方式のデメリットをすべて解決することができます。

公開鍵がもし盗聴されてしまった場合でも、秘密鍵がないと復号できないためデータを守ることができます。また、秘密鍵の受け渡しをしないので第三者に復号されるリスクを減らすこともできます。

鍵の管理数が減らせることも大きなメリットです。

公開鍵暗号方式のデメリット

共通鍵暗号方式のアルゴリズムよりも計算量が多いため、暗号化処理のスピードが遅くなってしまうことが欠点です。

ハイブリッド暗号方式

ハイブリッド暗号方式は、上記2つの方式の弱点を補い合う方式です。公開鍵暗号方式を共通鍵の受け渡し時のみに適用することで、安全性と高速処理を両立しています。実際の暗号化通信では、ハイブリッド式がよく利用されています。インターネットのSSL通信もハイブリッド暗号方式です。

ー ハイブリッド暗号方式の仕組み ー
①データ受信者は公開鍵暗号方式で公開鍵と秘密鍵を作成します。

②公開鍵を送信者に送ります。

③公開鍵を受け取った送信者は、共通鍵暗号方式で共通鍵を作成します。

④送信者は渡したいデータを共通鍵で暗号化し、受信者に送ります。

⑤共通鍵を暗号化して受信者に送ります。送信者は①で受け取った公開鍵を使って③の共通鍵を暗号化し、受信者に送ります。

⑥受信者は送られてきた「暗号化された共通鍵」を復号します。暗号化には①で用意した公開鍵が使われているため、ペアとなる①で用意した秘密鍵で復号します。

⑦受信者は復号した共通鍵でデータを復号し、データを見ることができます。

実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>

暗号化とハッシュ化の違い

データを第三者に見られないようにする技術は、暗号化のほかに「ハッシュ化」があります。ハッシュ化とは、「ハッシュ関数」というアルゴリズムに基づいて、元のデータを不規則な文字列(ハッシュ値)に変換する処理のことをいいます。

暗号化は可逆的変換(元に戻せる変換)ですが、ハッシュ化は不可逆的変換(元に戻せない変換)であることが大きな違いです。つまり、ハッシュ化をすると復号ができません。 ハッシュ値から元データを割り出すことは難しいとされています。

そのため、ハッシュ化は復号する必要がない場面で使われています。例えばメールのメッセージが改ざんされていないかの確認や、ファイルが破損していないかの確認などです。

具体例:電子署名、電子メール、Webサイトで配布しているファイル、暗号資産(ビットコイン)など

実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>

暗号化する方法は?

ここまで、暗号化仕組みと方法を解説してきました。それでは、実際に暗号化をしたいときはどのようにすればよいのでしょうか。

前提として、暗号アルゴリズムは独自開発するよりも、仕様が公開されているものを選ぶほうがよいとされています。なぜかというと、世界中の開発者が仕様をチェックしており安全性が高くなっているからです。世界中の開発者の目に触れるように公開することで、誰かがバグを見つけて修正するといったサイクルが行われ、脆弱性が取り除かれていきます。

そして暗号アルゴリズムの実装には、複雑な処理を行う技術力と高度な数学的知識が必要になります。そのため、暗号化や復号を利用するときは、すでに知られている暗号アルゴリズムやサービスを利用するのがよいといえます。

ここでは開発者でなくとも簡単にデータを保護できる方法として、ファイルを暗号化する方法を解説します。

ファイルを圧縮してパスワードを設定する

この方法は厳密にいうと暗号化ではありませんが、暗号化と同じようにファイルを保護できる方法です。

専用のソフトいらずで簡単にファイルを保護できますが、解凍後のファイルは保護されないので注意が必要です。また、ファイルが多い場合はパスワードを都度設定するのが大変になってしまいます。

WindowsのEFS機能を利用する

EFS機能は、WindowsのビジネスOSに標準搭載されているファイルを暗号化する機能です。

  1. 暗号化したいファイルを右クリックして「プロパティ」をクリック
  2. 「全般」タブをクリックして「詳細設定」をクリック
  3. 「内容を暗号化してデータをセキュリティで保護する」にチェックを入れて「OK」をクリック
  4. 「属性の詳細」ウィンドウを閉じて「適用」「OK」の順にクリック

Windows 10 Home、Windows 7 Home Premium、Windows 7 Starter などには搭載されていないため、お手持ちのパソコンが対応しているOSバージョンかどうか確認する必要があります。

ファイル暗号化ソフトを利用する

ファイルを暗号化して保護できるソフトが、さまざまな会社から販売されています。

ソフトを利用すると、より強度の高いファイル保護ができます。暗号化・復号が簡単にでき、操作性にすぐれていることも特徴です。

クラウドストレージサービスを使う

クラウドストレージサービスの多くは暗号化に標準対応しています。サービス内に保管しているファイルだけではなく、パソコンとサーバー間で通信中のファイルも暗号化されます。

また、パソコンが故障してデータが失われてしまった場合も、簡単に復元できることが大きなメリットです。

暗号化だけではなく、ファイルを一元管理できる、どこからでもアクセスできるなど、使いやすさも考慮されたサービスです。

実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>

暗号化の注意点

最後に、暗号化を利用する際の注意点を解説します。

鍵の管理を適切に行う

鍵の管理は一番重要です。

  • 鍵を共有する人を把握し、適切に管理しましょう。
  • 鍵の受け渡しをする際は、公開鍵を利用するようにしましょう。
  • 秘密鍵は定期的に更新しましょう。

秘密鍵は長く使い続けると鍵を見破られてしまうリスクが高まるため、定期的に更新することが大切です。

組織や企業向けのもう一歩踏み込んだ暗号鍵の管理方法については、総務省と経済産業省によるプロジェクト「CRYPTREC」が作成した暗号鍵管理ガイドラインをご覧いただければと思います。(このガイドラインを解説するともう1つ2つ分の記事にできるボリュームとなるため、詳しい内容は割愛します。)

暗号鍵管理ガイドラインには鍵の管理方法のほか、どのような暗号アルゴリズムを選択すべきか、暗号管理システムを設計・運用する場合に考慮すべき事項などがわかりやすく解説されています。

暗号化は万能ではない

暗号化を行っていれば、100パーセント安全が保証されるというわけではありません。第三者に鍵を入手されてしまったら、復号されてしまうリスクがあります。また、鍵がなくとも暗号アルゴリズムを解読して元のデータを見破られてしまう可能性もゼロではありません。自身で暗号化したデータを復号できなくなる可能性もあります。

暗号化は100パーセント安全を保証する手段ではなく、元のデータのまま受け渡しをするよりもさまざまなリスクを減らせる手段のひとつ、というスタンスで利用するほうがよいと考えます。

情報を守るためには、暗号化以外のセキュリティ対策も併せて行う必要があります。自分でできるセキュリティ対策を行い、大切なデータを守りましょう。

自分でできるセキュリティ対策の例:

  • パスワードは長く複雑にする
  • パスワードの使い回しはしない
  • 2段階認証を利用する
  • バックアップを定期的にとる……など

さらに詳しく知りたい方は、こちらの記事に情報セキュリティ対策についてまとめているのでぜひご覧ください。

実際の開発費用・期間をまとめた資料を無料で差し上げます。資料請求はこちら>>

暗号化とは?基本知識をわかりやすく解説・まとめ

第三者に情報を見られないように暗号化を施すことで、情報漏えいや盗難などのさまざまなリスクを減らすことができます。

暗号化を行う際に重要なのは、鍵の管理を適切に行うことと、他のセキュリティ対策を併せて行うことです。暗号化をすれば100パーセント安心というわけではなく、大切な情報を守る手段のひとつとしてうまく活用していきましょう。

この記事によって、暗号化の基本知識を深めることができましたら嬉しく存じます。最後までお読みいただき、ありがとうございました。


アクシアでは一緒に働くメンバーを募集しています

アクシアは残業ゼロ、完全在宅勤務、有給消化率100%の取り組みを行っている会社です。
裁量を持つ機会が多く、エンジニアとして、ビジネスマンとしての仕事力が高められる環境です。
エンジニア経験者だけでなく、実務未経験者も積極的に採用しています。ポートフォリオや制作物がありましたら、ぜひ拝見させてください。
私たちと一緒に「らしく」働いてみませんか。

アクシアの特徴と経営理念
こんなエンジニアと働きたい
募集要項

ページ上部へ戻る