例えば、誰かに送信したテキストメッセージを第三者が覗いていることを想像してみてください。これを回避するのに、暗号化という手段があります。

暗号化は、通常のテキスト(平文、プレーンテキストとも)を、正しい鍵を所有する人だけが解読できるコード化された言語に変換することです。通信の安全性の確保、機密情報の保護、そしてデータ漏洩の回避に役立てられます。また、オンラインショッピングでのクレジットカード情報の保護など、日常生活でも使用されています。

この記事では、暗号化の概要、種類、実用的な使用方法について詳しくご紹介していきます。

暗号化とは

先にも触れましたが、暗号化とは、読み取り可能なテキストを安全なコードに変換する仕組みであり、外部からのアクセスから情報を保護するための基本的な技術です。

開発当時は、スパイ活動や戦時中の機密通信に使用されていましたが、現在ではオンラインデータを中心に、より身近な用途で使用されています。

オンラインで共有される個人情報、財務データ、機密文書などは、サイバー犯罪から保護するために暗号化が必要になります。

暗号化(出典: Data Center Knowledge)
暗号化(出典: Data Center Knowledge

暗号化は、暗号(サイファーとも)、または暗号化アルゴリズムと呼ばれる方式を利用して、デジタル空間で通信される情報を傍受しようとする者が内容を読み取れないようにします。

意図された受信者だけが特別な鍵を所有し、暗号を解除することができます。それ以外の鍵を持たないユーザーは、メッセージを読むことができません。

サイバーセキュリティにおける暗号化

暗号化は、多くのセキュリティプロトコルの柱になっています。例えば、サイバー攻撃者がネットワークに侵入し、簡単にアクセスできる個人情報や機密情報が盗用され、そのデータを「人質」に身代金を要求されたり、入札式で売却されたりする恐れがあります。

このとき、デバイスに保存されている情報が暗号化されていれば、秘密鍵を持たないハッカーはデータを読み取れず、悪用することができなくなります。

現在、多くの規制がサイバーセキュリティ基準の一環として、暗号化を要求しています。金融機関や医療機関のような、個人情報を保管する組織では特に顕著です。

データ暗号化の目的

暗号化の基本的な目的は、不正アクセスによって機密情報が漏洩するのを防ぐことにあります。通信を暗号化することで、送信中や保管中のデータの機密性を維持します。

これは銀行、医療機関、軍事組織、電力・エネルギー会社、保険会社など、特に機密性の高い個人情報を扱う組織にとって特に重要です。

データの暗号化により、上のような組織が個人情報を安全に保持することができ、顧客や消費者の身元が漏洩することはありません。一般消費者であっても、自分の個人情報を保護したいと考えているでしょう。

暗号化はまた、情報の改ざんも防ぎます。セキュリティの脅威が蔓延する今日のデジタル時代においては、暗号化によって、送受信する情報の真正性を確保することができます。データの完全性と信頼性の向上も、暗号化の大きなメリットのひとつです。

データ暗号化の方式

暗号化にはさまざまな種類があり、セキュリティのレベルや使いやすさが異なります。以下、一般的な暗号化の方式と、それぞれのメリットとデメリットをご紹介します。

対称暗号方式(対称鍵暗号方式)

対称暗号方式とは、情報の暗号化と復号に単一の暗号鍵を使用する手法です。つまり、情報を送信する側と受信する側の双方で鍵を共有します。

この方式は、ブロック暗号化またはストリーム暗号化を使用します。前者では、システムが一意の秘密のセキュリティキーを利用して、ブロック単位で設定された大きさのビットを暗号化します。これに対して後者は、暗号化されたデータをメモリに保持せず、流れてくるデータを暗号化します。

対称暗号方式の仕組み(出典: Cisco)
対称暗号方式の仕組み(出典: Cisco

対称暗号方式のメリットは、非常に高速であること。大量のデータを暗号化しなければならないときに有用です。ただし対称鍵(共通鍵とも)を大量に管理することは難しく、万が一対称鍵の情報が流出した場合は、送信メッセージのセキュリティが低下する恐れがあります。

非対称暗号方式(非対称鍵暗号方式)

対称暗号方式とは異なり、非対称暗号方式では、情報の暗号化と復号にはそれぞれ別の鍵を使用します。

この方式は公開鍵暗号とも呼ばれ、情報を暗号化する鍵が公開され、多くの人が利用することができます。メッセージを受信する側は、メッセージの復号に使用する秘密鍵を所有します。

非対称暗号方式は、基本的なインターネットプロトコルの多くで使用されており、その応用の一例が、Transport Layer Security(TLS)とSecure Sockets Layer(SSL)です。

また、安全でないネットワーク上で接続を確立する必要のあるソフトウェアでも一般的に使用されています。その接続を介して通信される情報を暗号化することで、ブラウザやその他のデジタル通信機器のセキュリティを強化することができます。

非対称暗号方式の仕組み(出典: Cisco)
非対称暗号方式の仕組み(出典: Cisco

なお、暗号化で使用される公開鍵はメタデータを隠さないことに注意してください。つまり、メッセージがどのコンピュータからいつ送信されたのかという情報は、誰でも入手可能になります。

また、対称暗号方式と比較するとかなり低速です。興味深いことに、非対称暗号方式は、メッセージ受信者への対称鍵の送信にもよく使用されます。

ハッシュ化

ハッシュ化は、入力データを固定長の出力に変換するアルゴリズムを使用します。同じ入力は、ハッシュ関数によって常に同じ文字列(ハッシュ値)に置き換えられるため、ハッシュ値を比較することでデータの完全性を検証するのに便利です。

ハッシュ化した機密情報は、ハッシュテーブルに保管されます。例えば、組織がパスワードを平文の代わりにハッシュ値で保存したいなどの状況で有用です。

ハッシュ化は、暗号化の一種と考えられることがありますが、ハッシュ化された情報は秘密鍵なしで復号することができるため、暗号化とは異なります。

暗号化アルゴリズムとは

対称暗号、非対称暗号のどちらの方式であっても、交換される秘密鍵には、情報を暗号化するアルゴリズムを使用しなければなりません。

このアルゴリズムは、数式や一連のルールで生成されます。アルゴリズムは、その方式の暗号化用に生成された特定の数式に基づいて、平文を暗号文に変換します。標準化されたアルゴリズムを使用することで、平文は予測可能な方法で復号化されます。

暗号化アルゴリズムにもいくつかの種類があり、それぞれ異なる目的、業界、求められるセキュリティレベルで使用されています。

一般的な暗号化アルゴリズム

1. DES

DES(Data Encryption Standard、データ暗号化標準)は、1970年代にIBMによって開発され、米国政府による個人情報の送受信に初めて採用されました。

電子データを暗号化するための対称鍵アルゴリズムで、56ビットのブロック暗号化を使用します。

DES(出典: Wikipedia)
DES(出典: Wikipedia

DESは古い暗号化アルゴリズムであるため、現在ではほとんどの暗号機能において安全と見做されていません。コンピュータが進化するにつれ、56ビットでは情報を安全に保護するのに十分でなくなり、進化したデバイスの計算能力で容易に解読できるようになりました。

しかしながら、DESはより強力で高度な暗号化アルゴリズムを開発する足がかりとなりました。

2. トリプルDES(3DES)

トリプルDESは、DESモデルを改良する初期の試みの中で誕生したアルゴリズムです。

3DESの仕組み(出典: Cyberhoot)
3DESの仕組み(出典: Cyberhoot

3DESも対称暗号方式(ブロック暗号)で、情報の暗号化に64ビットのブロックを使用します。DESとは異なり、3DESでは3回暗号化が行われるため、元のメッセージを隠すより高度なセキュリティを実現することができます。

しかし、アメリカ国立標準技術研究所(NIST)は、2023年以降の3DESの使用を禁止することを発表しています。つまり、サイバーセキュアな最新アプリケーションの開発には今後使用することができません。

3. AES

AES(Advanced Encryption Standards、高度暗号化標準)はDES同様、ブロック暗号を使用して情報を暗号化、復号する対称暗号方式のアルゴリズムです。

AESの特徴は、利用可能な鍵長(桁数)にあり、128ビット、192ビット、256ビットの3つの異なる鍵長でデータを暗号化することができます。このビット数は他のアルゴリズムよりも大きく、DESよりもはるかに強力です。この理由から、AESは広く使用されており、現在利用可能な暗号アルゴリズムの中で、最も安全なものの一つとされています。

ファイル暗号化、無線LANやプロセッサのセキュリティ、SSLやTLSなどのクラウドセキュリティプロトコルなど、多くの一般的なアプリケーションで使用されています。

4. RSA

RSA(Rivest-Shamir-Adleman)暗号は、非対称暗号方式で使用されます。「RSA」は、開発者それぞれの名字の頭文字をとって名付けられました。非対称暗号方式のため、送信された情報の復号化には、秘密鍵と公開鍵の両方が必要になります。

RSAは、2つの大きな素数を掛け合わせることで機能し、悪意のあるユーザーがその数を生成した2つの素数を推測できる可能性を下げる仕組みです。

RSA暗号(出典: Simplilearn)
RSA暗号(出典: Simplilearn

また、情報の暗号化には、1,024ビット、2,048ビット、時には4,096ビットなど、非常に大きなビット数を使用します。

RSAは、秘密鍵と公開鍵の設定を変えることで、さまざまな用途に応用することができます。一般的な構成では、公開鍵が暗号化に使われ、データの復号化には秘密鍵が必要になるもの。これは、プライベートな情報を送信し、傍受されても読み取れないようにするための一般的な手法です。

また、RSA暗号では秘密鍵がデータを暗号化し、公開鍵が復号するという逆の構成も可能です。これは情報を隠すというよりも、送信者の真正性を確認するために使われます。

5. Blowfish

Blowfishもブロック暗号方式のアルゴリズムで、DESの代替方式として1990年代に開発されました。鍵長は32ビットから448ビットまでの可変長です。

Blowfishのメリットは、非特許である点。つまり、誰でも無料で使用できます。このため、ソフトウェアやインターネットセキュリティアプリなどで幅広く使用されています。

また、他のブロック暗号アルゴリズムよりも低速であり、場合によってはこれが有利に働くことも。

6. その他(Twofish、Threefishなど)

セキュリティ強化の注意喚起から、Twofish、Threefish、Macguffinなど、数々の暗号アルゴリズムが新たに開発されています。それぞれ独自の数式を採用し、それぞれにメリットとデメリットがあります。

どれを選択するにせよ、データ暗号化に使用するツールが、NISTなどのセキュリティ規制機関による現在の最高基準を満たしているかどうかを確認することが重要です。

暗号化の使用事例

暗号化は、オンライン上のさまざまなデータ取引の保護に日々使用されています。データの暗号化が行われていることに気づいていない人もいるかもしれません。

以下、暗号化の日常的な使用事例を見てみましょう。

ファイルの暗号化

Word文書、PDF、画像などのファイルを通じて機密情報を送受信する場合、ファイルを暗号化してファイル内の情報を保護することができます。

上で説明した暗号化アルゴリズムのいずれかを使用すると、読み取りに復号用の鍵が必要になるように暗号化することができます。

これによって、不正アクセス、データの盗難、データ漏洩を防止可能です。また、Filezillaのように、保存・送信する文書を暗号化できるツールも存在します。文書共有のプロセスに暗号化を組み込むことで、大切な情報をより安全に保つことができます。

ディスクの暗号化

最近ではあまり見かけなくなりましたが、情報はハードディスクやUSBメモリなどの物理的なデバイスに保存し、共有することもできます。このような物理的デバイスの配布に、適切なサイバーセキュリティ対策を導入することで、デバイス内の情報をハッカーの手に渡さないようにすることができます。

ディスクを暗号化することで、暗号化アルゴリズムを使って物理的なストレージデバイス上のデータをスクランブル(元データを変換したり、並び替えたりすること)し、正しい秘密鍵を所有するユーザーだけが解除できるようにします。ファイル暗号化が個々のファイルに適用されるのに対し、ディスク暗号化はディスク構造全体に適用され、中に保存されているすべてのファイルへのアクセスを防ぐことができます。

ディスクを暗号化することで、機密データをサイバー攻撃や悪用から守ることができます。

メールの暗号化

メールの暗号化も一般的で、非常に重要です。

メールの暗号化は、メールの内容を権限のない第三者に閲覧されないように保護します。攻撃者にメールを傍受されても、解読されることを防ぐことができ、企業がデータ保護規制に準拠し、顧客情報の機密性を確保するのにも役立ちます。

安全なメールサービスを選ぶには、その会社が高度な暗号化機能を提供しているかどうかを確認してください。

クラウド上の暗号化

クラウドセキュリティは、今日のサイバーセキュリティにおいて特に重要な存在です。私たちがウェブ上で行うことのほとんどは、クラウド上のサーバーに保存されています。そのアクセスにしやすさは、メリットであると同時にデメリットでもあります。

したがって、クラウドにおけるデータの暗号化も安全確保に欠かせません。クラウドサーバーに保存する前にデータを暗号化し、悪意のある第三者や、権限を持たないユーザーによるアクセスを困難にします。暗号鍵はクラウドサービスプロバイダー、またはユーザー本人が管理するのが通例です。

エンドツーエンド暗号化(E2EE)

メッセージングアプリを使用している場合は、知らずにエンドツーエンド暗号化を使用している可能性が高いです。エンドツーエンドの暗号化により、送信者と受信者のみがテキストメッセージの内容を確認することができます。

LINEやFacebook Messangerのような人気メッセージングアプリでは、エンドツーエンド暗号化を導入し、ユーザーの通信を保護しています。

このように、暗号化は現代のデジタル社会においてごく一般的に使用されていますが、それには理由があります。あらためて、データ暗号化のメリットも押さえておきましょう。

データ暗号化のメリット

暗号化のメリット(出典: Aureon)
暗号化のメリット(出典: Aureon

データ保護規制への準拠

企業や組織は、さまざまなデータ保護規制に準拠しなければなりません。この規則の多くでは、保存、送信を行う機密データの暗号化が要求されています。

例えば、ECストアに義務付けられているPCIコンプライアンス(PCI DSS)が挙げられます。このセキュリティ基準は、クレジットカード情報を暗号化し、安全に保存、送信されることを保証するものです。

自社のデータが適切に暗号化されているかどうかを把握しておけば、コンプライアンス違反による罰金や訴訟、保険金請求の拒否を回避することができます。必要な基準を満たしているかどうか、ITセキュリティ担当者に必ず確認を取りましょう。

リモートワークの保護

働き方改革に伴い、一般的になりつつあるリモートワークには多くの利点があります。しかし、機密情報の送信に関しては、さらなるリスクが生じる可能性も。というのも、リモートワークでは、メールやインスタントメッセージでの情報送信が増え、必然的に傍受の可能性が高まるためです。

多くの企業がVPNやファイアウォールなどのサイバーセキュリティ対策を導入し、潜在的な攻撃を排除していますが、賢いハッカーがこれらの対策を破る可能性を考慮し、二重の対策で重要な情報を暗号化しておくのがベストプラクティスです。暗号化されたデータを送信し、許可された担当者のみがアクセスできるようにすることで、リモートで働くユーザーを保護する層を確立することができます。

また、攻撃者が機密情報を含むネットワークトラフィックをキャプチャしたり、インターネット上の孤立した接続を悪用したりすることも防ぎます。

消費者の信頼向上

規制の要件を超えて、暗号化を導入することをは良いアイデアです。顧客に対して、データや情報が暗号化によって安全に保護されることを保証できれば、そうでない競合他社と差をつけることができます。自社がデータプライバシーを重視し、顧客情報の保護に徹底していることを顧客に示すことは重要です。

また、できる限り暗号化を行うことで、データの漏洩やコンプライアンス違反が発生する可能性を低減することができます。サイバー攻撃やコンプライアンス違反は、ビジネスに深刻な風評被害をもたらし、収益に打撃を与えます。

暗号化を利用して、高額で有害なデータ侵害を未然に防ぎましょう。

暗号化されたデータがハッキングされる可能性

暗号化は、不正なデータアクセスに対する効果的なセキュリティ強化策になりますが、完璧な方法ではありません。例えば、これまで見てきたとおり、暗号化の方式によってセキュリティレベルが異なります。古い暗号化アルゴリズムは安全性に欠けると見做されていますが、それは現代のコンピュータが解読できないような十分な順列を使用していないことに原因があります。つまりコンピュータの計算能力が進化し続けるにつれ、今日最も優れた暗号化の安全性もすぐに危ぶまれる可能性があります。

さらに、暗号鍵が盗まれたり紛失したりする危険も常に付き纏います。誤って暗号鍵が共有されたり、別の方法で漏洩したりするような人為的なミスの発生も大いにあり得ます。

また、暗号化によってすべてのサイバーセキュリティリスクを確実に防げるわけではないことも念頭に置いておきましょう。サイバー犯罪者は、DDoS攻撃DNSキャッシュポイズニング、フィッシングなど、あらゆる手法でドメインを攻撃しようとする可能性があります。したがって、サイトやウェブアプリケーションを徹底的に保護するためには、暗号化以外の方法でセキュリティを強化する必要があります。

リスクは常に存在しますが、複数のセキュリティ強化策を組み合わせることがベストプラクティスです。暗号化されたデータは、暗号化されていないものよりも安全性が高まるのは自明であり、暗号化されたデータを守る策を追加で講じればさらに安心です。

データ暗号化に関するよくある質問

暗号化は広範なテーマです。さらに暗号化を掘り下げたい方のために、最後に暗号化に関するよくある質問をご紹介します。

暗号化とトークン化の違い

暗号化とは、簡単に言えば理解可能なデータを理解不能な状態に変換し、また元に戻すという仕組みですが、トークン化にはこの「元に戻す」プロセスはありません。

トークン化は、組織のデータストレージから重要なデータポイントを削除し、プレースホルダの値に置き換えます。削除された正しい情報は別の場所に保管され、ハッキングなどが発生した際に、盗まれる可能性のある情報を保有しないようにする仕組みです。

Data-In-TransitとData-At-Restの違い

この2つの暗号化の違いを紐解くには、データが存在しうる2つの状態、つまり「保管時(At Rest)」と「転送時(In Transit)」に注目します。

保管状態のデータとは、ハードドライブやUSBなどのデジタル記憶域に保存されているデータを指します。このデータは決まった場所に格納され、移動することはありません。対する転送中のデータは、通信または転送されているデータで、コンピュータ間、ネットワーク間、あるいはインターネット上を移動しているものを指します。転送中のデータは、ある場所から別の場所に移動している間に情報をスクランブルします。

保管状態のデータの暗号化は、ある場所にとどまっているデータを保護するものです。

どちらの状態でも情報が暗号化されている状態を保つことは、顧客と企業の機密情報を保護するために非常に重要です。

暗号化のバックドア

暗号化のバックドアを理解する鍵として、多くのセキュリティプロトコルは、人間は時にミスを起こすものであること、そしてそれを見越した代替案が必要であることを考慮して作成されています。

暗号化のバックドアは、玄関マットの下に隠しておく鍵のように、何らかの緊急時に権限のある担当者が暗号化を解除することを可能にするために設置されます。ただし、適切に保護しなければ、攻撃者がこのバックドアを悪用し、暗号化されたデータにアクセスできてしまう可能性があります。

まとめ

暗号化は、機密情報をサイバー犯罪者から保護するために不可欠です。クレジットカード情報のような個人情報から、ビジネス上の機密情報まで、暗号化によって、許可された人物だけがアクセスできるようになります。

サイトを運営している方は暗号化について理解を深め、コンプライアンスを維持するためのにどの方式を導入するのが適切か、そしてセキュリティを最大限に高めるにはどのような策を講じればいいのかを検討してみてください。

テクノロジーが日々進歩を遂げる中、暗号化は、データを保護する上で今後も重要な役割を担い続けます。ウェブサイトに暗号化を導入することを検討されている方は、お気軽にお問い合わせください