
2024年セキュリティの現状:競争が激化するAIの活用
先進的なサイバーセキュリティ対策を推進する組織がどのように課題を克服し、AIを活用してイノベーションを推進し、デジタルレジリエンスを強化しているかをご確認ください。
暗号化は、情報セキュリティやプライバシーを守る仕組みを根底から支える技術です。今日では、さまざまな用途で多様な暗号化アルゴリズムが使われています。
このブログ記事では、暗号化の仕組み、基本原則、基本的な運用方法、暗号化の種類、ユースケースなどを解説します。
暗号化とは、何らかの符号を用いて実際の情報を秘匿し、意図しない第三者による読み取りを防ぐアプローチ全般を指します。暗号化によって、以下の情報を保護できます。
利用が拡大し続ける暗号化では、数学的な概念が使用されています。この概念は、暗号化アルゴリズムとハッシュアルゴリズムを組み合わせたもので、情報のクラック(不正な解読)や解釈を困難にします。
たとえば、2人の人物の間で交わされるやり取りが、暗号化の原則を利用して保護されていると仮定しましょう。送信者のメッセージは一般に「プレーンテキスト」と呼ばれます。プレーンテキストは、暗号化鍵によって判読不能な形式の暗号文に変換されます。受信者がメッセージを受け取ると、この暗号文は復号鍵を使用してプレーンテキストに戻されます。
次に、暗号化の基本となる原則について見てみましょう。
機密保持契約には、情報を保護して外部に流出させないための規則やガイドラインが定められています。そのため機密情報は、暗号化などの技術を使用して保護する必要があります。暗号化によって、許可された人だけが特定の場所に置かれた情報にアクセスできるようにし、権限のない人によるアクセスを制限します。
認証とは、メッセージを送信した人物が本物であることを確認するプロセスです。この原則によって、受信者は、受け取ったメッセージが、メッセージを送信することを許可された送信者からのものであることを確認できます。認証のメカニズムとしては、以下の2つが一般的です。
暗号化とは、暗号化アルゴリズムを使用して情報を判読不能な形式に変換し、情報が第三者に盗み見られるのを防ぐプロセスです。受信者のみが、復号鍵を使用して情報を読み取ることができます。
データは、送信者から受信者へと送られる間に改ざんされることがなく、一貫性と正確性を維持している必要があります。データの完全性は、暗号学的ハッシュなどの技術を使用して、データのライフサイクル中に改ざんが行われていないことを保証します。
否認防止の原則では、デジタル署名などの技術を使用することで、メッセージの送信者が自身の署名の真正性を否定できないようにします。
鍵の管理とは、暗号化の鍵を管理するためのプロセスです。具体的には、鍵の配布、生成、ローテーションなどのタスクがあります。セキュリティを確保するには暗号化の鍵が不可欠です。そのため、暗号化システムのセキュリティを最大限に高めるためには、鍵の管理が非常に重要です。
暗号化には、おおまかに3つの種類があります。その3つについて、詳しく見てみましょう。
対称鍵による暗号化では、同一の暗号化鍵を使用して暗号化と復号化を行います。つまり、送信者と全受信者が共通の秘密鍵を使用します。プレーンテキストは、特定の暗号化鍵を使用して暗号文に変換されます。受信者は、同一の暗号化鍵を使用してメッセージを復号化します。
以下に挙げる暗号化方式では、対称鍵暗号アルゴリズムが採用されています。
この対称鍵暗号方式の大きな欠点は、同じ秘密鍵を共有することです。共通の秘密鍵は、不正アクセスを防ぐために暗号化されなければなりません。暗号化の実装において、これは追加の負担となります。
「公開鍵暗号」と呼ばれるこの方式の暗号化では、暗号化と復号化のプロセスに異なる鍵を使用します。送信者と受信者は、それぞれ秘密鍵と公開鍵を持ちます。
こうした秘密鍵と公開鍵の間には数学的な関連性がありますが、公開鍵から秘密鍵を生成することはできません。
一般的に、公開鍵による暗号化はメッセージを認証するためのデジタル署名に使用されます。送信者は自分の秘密鍵を使用してメッセージにデジタル署名を行い、その真正性を証明します。これにより、受信者は送信者が信頼できる第三者であることを確認できます。
非対称(公開鍵)の暗号化アルゴリズムにはさまざまな種類がありますが、いくつかの例を以下に紹介します。
ハッシュ関数は、固定長のハッシュ値を計算します。ハッシュ値がプレーンテキストに使用される場合は「フィンガープリント」とも呼ばれます。ハッシュ値は、プレーンテキストごとに異なります。そのため、このタイプの暗号化は暗号化鍵を使用しません。ハッシュ関数は、当事者間でやり取りされるメッセージのデータ整合性を担保します。ハッシュ関数から同じ値が出力された場合、その情報には変更、改ざん、欠損がないことが保証されます。
ハッシュ関数は、MACアルゴリズム、デジタル署名アルゴリズム、認証プロトコルなど、多くの暗号アルゴリズムやプロトコルで使用されています。ハッシュアルゴリズムとして代表的なものをいくつか紹介します。
上に挙げた3種類の主要な暗号化のほかに、ハイブリッド暗号化もデータと通信を保護するために使用されます。
ハイブリッド暗号化では、公開鍵暗号に対称暗号化を組み合わせてデータを暗号化します。この方式では秘密鍵を生成し、さらに公開鍵を使用して暗号化します。次に、完全なメッセージと暗号化された秘密鍵が、元の対称鍵を使用して暗号化されます。暗号化されたメッセージは、受信者が元の秘密鍵を知っている場合にのみ復号化できます。
ハイブリッド暗号化では暗号化の際にランダムな処理を行うため、2つのメッセージが同一の暗号文になることはありません。このため、より強力な暗号を作成できます。
ここまでに概念を説明しました。ここからは、暗号化の一般的なユースケースを見てみましょう。暗号化はどのような目的で使用されているのでしょうか。
データベースのパスワードなどをプレーンテキストで保存するのは危険です。パスワードの保存場所にアクセスできれば、誰でも内容を見ることができます。こうしたパスワードは、セキュリティのベストプラクティスに従って、暗号化したりハッシュアルゴリズムを使用してハッシュ化したりする必要があります。システムがパスワードを参照する場合は、パスワードをハッシュ化し、ハッシュ値と照合します。
ビットコインやイーサリアムなどの暗号通貨は、楕円曲線暗号やハッシュ関数をはじめとした多様な暗号化アルゴリズムを使用して、トランザクションの安全性とプライバシーを保護しています。暗号化によって保護されたブロックチェーンノードによって、ユーザー同士が安全に取引できるようにします。
デジタル署名は、公開鍵暗号の使用例の1つであり、真正性やデータの整合性を証明するために使用されます。送信者は秘密鍵を使用して一意の署名を生成し、ドキュメントに添付します。このドキュメントは公開鍵を使用して検証する必要があります。
世界中の組織から、日々膨大な量のデータが生み出されています(1日あたり250京バイト以上)。このような大量のデータを保存することは、リスクになる可能性があります。しかし、保存中のデータを暗号化すれば、セキュリティが強化され、データ漏えいを防ぐことができます。最近のクラウドソリューションの多くは、バックアップドライブなどのストレージオプションのほかに暗号化オプションも提供しています。
さらに、データをストレージへ転送する途中やストレージ内での保存時に自動で暗号化することもできます。
暗号化技術によって通信プロトコルを暗号化することで、インターネット上でも安全に通信を行うことができます。たとえば、URL内のHTTPSという文字列は、データを暗号化する安全なWebサイトに接続することを意味しています。これはペイメントゲートウェイで特に効果を発揮します。決済時には、重要な情報が漏えいしないように、安全な通信チャネルを確立する必要があります。
もう1つの例は、多くのユーザーがトンネリングやリモートログインに使用しているSSHです。
ほとんどの組織では、機密情報を含むやり取りや添付ファイルなど、メールによる通信を保護するためにファイル暗号化を使用しています。たとえばMicrosoft 365のメールメッセージは、S/MIME暗号化とMicrosoft 365 Message Encryptionで保護されています。ほかにも、Yahoo!、AOL、Androidデバイスでサポートされているメールの暗号化として、PGP/MIME (Pretty Good Privacy/Multipurpose Internet Mail Extensions)も有名です。
先ほど名前だけ紹介しましたが、代表的な暗号化アルゴリズムの仕組みを簡単に見てみましょう。
Advanced Encryption Standard (AES)は、世界各地の政府機関が採用している対称鍵暗号アルゴリズムです。このアルゴリズムは、米国の国立標準技術研究所(NIST)で開発されました。
AESのブロック暗号の鍵長は、128ビット、192ビット、256ビットがあり、暗号化は128ビットのブロックごとに行われます。AESは、DESやTriple DESよりも強力な暗号化アルゴリズムと見なされており、大半の攻撃から情報を守ることができます。
RSA (Rivest-Shamir-Adleman)アルゴリズムは、Ron Rivest氏、Adi Shamir氏、およびLeonard Adleman氏が1978年に開発した非対称鍵暗号アルゴリズムです。インターネット経由のデータや通信、および電子メールの暗号化に使用されています。
RSAには現在も悪用可能な脆弱性がいくつかあります。たとえば、研究者はすでに鍵長768ビットのRSAアルゴリズムのクラッキングに成功しています。そのため、鍵長は2048ビットを使用することが推奨されています。
Triple DES (Triple Data Encryption Standard)は、標準的なDESが1回のパスを使用するのに対し、3回のパスで暗号化するため、セキュリティがより強固になっています。標準的なDESはAESよりもセキュリティが脆弱であることがわかっています。標準DESの鍵長は56ビットです。
ECCは、有限体上の楕円曲線の代数的構造に基づく公開鍵暗号技術で、暗号化、署名、鍵交換を行います。ECCは、オンラインバンキング、メールの暗号化、支払いの保護などの用途で使用されます。
暗号化は、世界中のセキュリティとプライバシーにおいて中心的な役割を果たしている技術です。この技術は、暗号化アルゴリズムを使用して、プレーンテキストデータを判読不能な形式の暗号テキストに変換します。テクノロジーが進歩するにつれ、今後も新しい種類の暗号化が登場するでしょう。たとえば、準同型暗号は実用化が進んでいる技術です。さらに、量子コンピューティングも暗号化の未来を切り拓くと考えられています。
このブログはこちらの英語ブログの翻訳です。
この記事について誤りがある場合やご提案がございましたら、ssg-blogs@splunk.comまでメールでお知らせください。
この記事は必ずしもSplunkの姿勢、戦略、見解を代弁するものではなく、いただいたご連絡に必ず返信をさせていただくものではございません。
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。