暗号鍵の漏洩は、どのような組織にも壊滅的な影響を及ぼします。マルウェアの配布に暗号鍵が使用された大手Androidデバイス・メーカーに聞いてみてください。ここでは、暗号鍵について知っておくべきこと、暗号鍵の仕組み、暗号鍵の安全性を保つ方法について説明する。
暗号化はオンライン取引や医療情報などを保護するための方法で、暗号鍵に依存しています。暗号鍵は現代の通信での重要な役割を果たし、その安全性が求められます。詳しく調査しましょう。
暗号鍵とは何か?90秒でわかる暗号鍵の概要
暗号鍵は、データを安全に保つための暗号アルゴリズムと組み合わせて使用される一連の文字(しばしばランダムや数学的に作られる)です。アルゴリズムは、多くの暗号的なタスクを実行するための数式です。暗号鍵と関連する最も一般的な作業は、データの暗号化と復号化です:
- 暗号化は、読めるデータを暗号鍵を使って読めない形式(暗号文と呼ばれる)に変更するプロセスです。これで、データが外部の目から隠されます。
- 復号化は、適切な暗号鍵を有する者が暗号文からオリジナルの情報を取り出すプロセスです。その結果、メッセージを解読することができます。
秘密の暗号キーが漏洩または危険にさらされると、そのキーでセキュアにされている内容も漏洩の危険があります。
古代エジプトの墓碑銘から第一次世界大戦後の英国政府通信本部(GCHQ)の活動に至るまで、長い人類の歴史において暗号キーは秘密情報の伝達に使われてきました。その中でも最も基本的な例として「シーザー暗号」があり、アルファベットを特定の数だけずらすことでメッセージを暗号化します。
お気に入りのウェブサイトにログインする際、セキュアな南京錠のアイコンが表示された場合、それは公開鍵暗号技術のSSL/TLSでサイトが保護されていることを示しています。
注:グーグル・クローム・セキュリティ・チームによる最近のアップデートによると、この信頼できる小さな南京錠のアイコンは、2023年9月に発売されると推定されるクローム117から、グーグル・クロームから消える予定です。その代わりに、ユーザーがクリックして情報を得ることができる “tune “アイコンがブラウザに表示されます。
暗号鍵は一般的に2つのカテゴリーに分類される:対称型と非対称型
暗号化には、1つまたは2つの暗号鍵を使う方法がある。それぞれの用途に入る前に、この2つについて調べてみよう。
対称鍵 = データを復号化・復号化する単一の秘密鍵
対称暗号化は、同じキーを使ってデータを暗号化および復号化します。このため、送信者と受信者は、このキーを共有し、秘密にしておく必要があります。
このキーシステムを、新しい家のドアすべてに同じ鍵が合う状況に例えると、家のすべてのドアを1つの鍵だけで開け閉めできる便利さがありますが、その鍵を失ったり第三者に取得されたりすると、家のすべてが危険にさらされます。
対称キーの大きな課題は、安全にキーを交換する方法です。特に、遠く離れた場所にいる相手と安全に通信したい場合、キーの交換が難しくなることがあります。
近年のデジタル通信の進展により、アメリカの携帯電話からでも、どこにいる人とでもほぼ同時に通話することができるようになりました。また、インターネットを使用して、全世界のどこにでも情報を瞬時に送信することができます。
だが、ここには問題がある。その情報が暗号化されていない平文の場合、悪意のある者や好奇心の強い者によって容易に傍受されるリスクがある。
このリスクを回避するため、暗号化を利用して安全に通信する必要がある。そのためには、暗号の鍵を交換する必要があるが、これは面倒である。そこで、公開鍵暗号技術が役立つのです…。
非対称キー = データの暗号化と復号化のための別々のキー(そして認証の有効化)
現代の暗号技術には「非対称キー」というキーがあり、公開キーと秘密キーの2つの関連性のあるキーから構成されています。公開キーは公然として知られ、データの暗号化に使われるのに対し、秘密キーは秘密に保たれ、暗号化されたデータの復号化に使われます。このキーシステムは、一方のキーでアイテムを預け、もう一方のキーで取り出すメールボックスに似ています。このキーシステムを使用することで、安全な暗号化接続を確立できます。サーバーとクライアントは、セッションキーを確立するための情報を安全に交換するために非対称キーを使用します。
公開鍵・秘密鍵のペアに関する詳細は、当社の別の記事で詳しく説明しています。理論的には非対称暗号化だけを使用して安全に通信することができますが、多くの接続を扱う大規模なウェブサイトでこれを実現するためのリソースは多すぎます。このため、スケーラビリティを向上させるために、非対称鍵を使って対称鍵暗号化のセッションを交換します。IEEEの研究者による最近の比較分析では、対称鍵システムの採用により、公開鍵ベースのアプリケーションのエネルギーコストが58%節約されることが示されています。
対称鍵と非対称鍵の簡単な比較
対称キー | 非対称キー | |
どういう事 | 保護され、共有されてはならない唯一の秘密。 | 公開鍵と秘密鍵の2つだ。 |
どういう事するの | データを暗号化・復号化し、安全な経路で保管する。 | 暗号化、記述、認証に使用され、通常はインターネットのような安全でない経路で使用される。 |
鍵のサイズ(AES鍵とRSA鍵を例にして) | AESの鍵サイズはより小さい(256ビットが最も一般的)。これらの鍵は、乱数発生器(RNG)を使うなど、さまざまな方法でエントロピー・レベルを変えて計算される。 | RSAの鍵サイズは、巨大な素数を用いて計算される大きな鍵(1024ビット、2048ビット、3072ビット、7680ビット、15360ビットなど)である。 |
用途と応用 | サーバーや内部デジタル・ストレージ・アプリケーションの静止データを暗号化する。 | オープンな(安全でない)チャネルで転送中のデータを暗号化する。 |
処理速度 | 対称キーの方が小さいため、非対称暗号化キーよりも処理が速い。 | 対称暗号化キーより大きいので遅い。 |
どこにあるか | 許可されたデバイスと内部(非公開)サーバーに保存される | 許可されたデバイスと内部(非公開)サーバーに保存される |
暗号鍵は用途と応用でも識別できる
暗号鍵は、暗号処理における役割について言及されることがある。どのような暗号処理を行うかによって異なるため、そのすべてには触れないが、ここではいくつかの例を簡単に紹介する:
- セッションキー:ウェブサイトへの接続時にデータを暗号化。
- HMACキー:デジタル署名の作成に使用。
- データ暗号化キー (DEKs):サーバー上のデータを暗号化。
- キー暗号化キー (KEKs):他の暗号キーを暗号化。
- トラフィック暗号化キー (TEKs):データの傍受を防ぐ暗号化。
- マスターキー:他のキーを計算するための基本キー。
大きいキーは、小さいキーと比較してセキュアですが、拡張性に欠けます
一般的に、キーのサイズが大きいほどセキュリティが高まります。たとえば、256ビットのAES対称キーは128ビットのキーよりも堅牢です。同様に、3078ビットのRSA非対称キーは2048ビットのキーよりもセキュリティが高いです。大きなキーは、現在のコンピュータ技術を使用して全ての組み合わせを推測するのが非常に困難であるため、ブルートフォース攻撃を効果的に対抗できます。
公開キーと秘密キーの違いについて簡単に触れてみましょう。例として、devglan.comのツールを使って2048ビットのRSAキーペアを生成しました。
公開鍵:
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnfyxkfwlj+QmitT4lVxrQLHAuJLRl2oIvy+J3I1cuWbyJWXfcmwzc99HRPL6qvfT3IdkJphxok1KZZf6r38v5HpUacSbLyHfi3s0JjclM09HvzuqWqHe1BJhP14RTIaa2ZVcZZvnFOm91U7VSR3lVFVOBFcfJYGTlvIVtXo57KYKYdwsZmiMlNZ3Zr8BX9gqY/Vl7sgjm9tJhBlpDFHCA0/v1jFlsYgddbOXl8ar7Dhp6VyOFG7ifahjmb7rUjzBvIVm7BG7Ds3IFkNvJAXVzfqqW/Zvru73X0AYOGwE5KWbjYN04JwErNI+2JDpk8d6gJrxb/MT6xXjEBuwc/s1mQIDAQAB
秘密鍵:
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCd/LGR/CWP5CaK1PiVXGtAscC4ktGXagi/L4ncjVy5ZvIlZd9ybDNz30dE8vqq99Pch2QmmHGiTUpll/qvfy/kelRpxJsvId+LezQmNyUzT0e/O6paod7UEmE/XhFMhprZlVxlm+cU6b3VTtVJHeVUVU4EVx8lgZOW8hW1ejnspgph3CxmaIyU1ndmvwFf2Cpj9WXuyCOb20mEGWkMUcIDT+/WMWWxiB11s5eXxqvsOGnpXI4UbuJ9qGOZvutSPMG8hWbsEbsOzcgWQ28kBdXN+qpb9m+u7vdfQBg4bATkpZuNg3TgnASs0j7YkOmTx3qAmvFv8xPrFeMQG7Bz+zWZAgMBAAECggEADz17G6wJK5JErYvR1watSfZbsvJmyYZvBZJeaCoy0ae+oCDtpyoM5JabV2lhCPETPOjKnnaCL7fo/1fj1N4eDppGXlWa6rcHy3q9ExqqugJh1264BjorNqX3P5ehb5JkiazA1wRtDDVoHJWYOY9qufHorr6AwKt5Q0xjD7iUseFDN1jsnAQcbl1kifTcc9lbkSv9+zyBmzVQCSVifITe39YmBBCtGJWbC2+aCs2shcO7XOZrDjYABqlYRP7O1XXo0dJYnvat9EnLMTRwQZZwCXhavn+Iyrt2Odd3Vil3w5jSdIOiXivq2C9suZ5c8HIiAepm1Fvu7evo2OfUxTu9CQKBgQDtGN0wn5LUrcI0AO/FNNUobG+wYr7u4QnuucbwP+j9aF7Eo6LrPdgZw4o4DwMTP/rOC/2lNy4RyhQ6Y8CZ7ehxmZLTkCPeGaKRyzm6Z2fq0x3fielqIH9L3SeIgDnTwTxjJ9/Jq5UOvFsj5a1u6+6W9Z0iqDDVGAb+aWa+ic85iwKBgQCqlTL6mtRni1P2pfm8la3p+SjurJKwFaXlLbd6QphptYud8ox81JnCDeTMXUkXHcYwNRarxkqGKqe43j2oHj7XEmEGJUqOXG/9uUa2CBGVIy2b0EIEFnvw8Tj9T13EFi+3p48ksg9C33Jzv9Kcebjhb3B0h6rJuRu9LXEXSaKJ6wKBgQCkCVXPNDgECQuZqyQ4TmtDgnJrmIX9A5k5nzKyOaVa3YDjj0tCchE3EgBo9InuIY/GSql8SwcGq8b+9tDkLqNpJRVeZhVKrnW5ZN9VxgExiErcw6/ICx/HPwUA/aYEiWbcO1QrVRjVjx+HYHpziawSqW/D8JWIeQ0tq4K4ROQoLQKBgE8DFL3ngYMEkjuo3WhwnEHH2yHSZY+SN2lUJ6xFtHsiUC0078XSY/XyoYvXmcdPT0F9FaczDcnfcBi9OCnq+Ih+Rtql40bVojoP26TtT9eYl8OYTzu9fmM4GIGchX4SGMAkqLUClPcQsN7UdyVrbCtfhuMzA/Sz/Rk/NybmQJdJAoGAOR1qIyDpjal8YE/SeK+pI5ZAosADIW3zSPNrGxSbX8kqtdqTDODtP0JgXWfBuB7B2OM6SiV4AID0y/XRGmmyCD3tom7P/s3HnwUt5LxUhVgQ0Ufcw4IkfScNHVTfXBgu1aVN7eLPQMmfM+Inh7z4Gdcbf/xW2KyOdBFcI7Y8ZKE=
大きな違いだ。
対称キーと非対称キーを比べると、そのキーサイズが同じセキュリティレベルを持っているわけではないことがわかります。256ビットのAES対称キーは、3072ビットのRSA非対称キーよりも強固です。NISTの「キー管理の推奨事項: パート1」によれば、AES 256ビットキーは、15360ビットRSAキーと同等のセキュリティを持っていると言われています。また、非対称暗号は2つのキーを使用するのに対し、対称暗号は1つのキーだけで動作するため、動作速度が非対称暗号よりも速いです。
暗号化は鍵が安全であってこそ安全である
暗号鍵のセキュリティレベルは、それらをどのように管理し、保護するかによって決まります。キーが失われたり盗まれたりすると、その安全性が危険にさらされます。一度キーが侵害されると、そのキーで保護された全ての情報も危険に直面します。これはユーザーにとって不利であり、攻撃者にとっては好都合です。
暗号鍵を守るためには、キー管理システムの導入と、適切なキー管理の実践が必要です。その詳細に関しては後で触れますが、まず、暗号鍵の主な機能を理解しましょう。そして、組織での具体的な利用方法について考察します。
暗号鍵の役割
暗号鍵は、データの保護と識別のための重要なツールです。
- 暗号化と復号化: データを保護し、元に戻すために鍵を使用します。
- 認証: 公開鍵暗号を使用して、ユーザーやデバイスが本物であることを確認します。
- デジタル署名: データが改ざんされていないことを確認するための署名を提供します。これは、データの信頼性を確保するためのものです。
5 組織内での暗号鍵の使用例
現在、IT環境内で暗号鍵を使用しているかどうか不明ですか?ここでは、あなたの組織や他の組織がすでに暗号鍵を使用している可能性が高いいくつかの例を紹介します:
転送中のデータを傍受攻撃から守る
ウェブサイトでHTTPSを使用することで、データの移動中のセキュリティが向上します。これは、サーバーにSSL/TLS証明書を設定することによって実現されます。この証明書により、サイトのユーザーデータは暗号化された接続で転送されるため、安全です。
この暗号化された接続は、データが途中での攻撃者による妨害や盗難から守られます。従って、お客様の情報は、彼らのデバイスとあなたのサーバーの間で安全に送受信されます。
更なるセキュリティ強化のために、サーバー上で最低限TLS 1.2のサポートを有効にしてください。さらに、ダウングレード攻撃(つまり、サイバー犯罪者がウェブサイトをHTTPSからHTTPにダウングレードさせることを防ぐ)を防ぐための追加のセキュリティ層として、HTTP厳格輸送セキュリティ(HSTS)を使用することができます。
ハードドライブとサーバー上の静止データの保護
データを転送するときに暗号化を行うだけでなく、保存しているデータのセキュリティ向上のためにも暗号化が使われます。これは、PCやデータベースサーバ、クラウド、またはメールサーバーに保存されている様々なデータに適用されます。
静止しているデータを保護するためには、非対称キーペアよりも効率的で迅速な対称暗号キーが一般的に利用されます。
しかし、データの暗号化や復号化は暗号キーの全ての能力ではありません。これらのデジタルツールは他にも多くの機能を持っています…
セキュアネットワークとオープンネットワークにおけるクライアント、ユーザー、デバイスの認証
デジタル通信におけるデジタルアイデンティティの認証は、データのセキュリティにとって非常に重要です。これは、信頼された機関がユーザーのデジタルアイデンティティを検証した結果、そのユーザーが実際に主張する人物であることを保証するものです。
伝統的には、ユーザー名とパスワードの入力を求める方法が採用されてきましたが、フィッシングやマルウェアの脅威により、これらの認証情報が容易に危険にさらされるようになってきました。そのため、より安全な方法として、公開鍵暗号を利用したデジタル証明書を使用することが考えられています。
主なデジタル証明書には2つのタイプがあります:
- クライアント認証証明書 – セキュアなアプリケーションやネットワークとのやり取りでユーザーのアイデンティティを確認するために使用されます。
- デバイス証明書 – オートノマスデバイスが自身のアイデンティティを確立し、安全に通信するためのもの。これは、さまざまな産業でのIoTデバイスに一般的に使用されています。
これらの証明書の両方とも、関連する暗号鍵を使用してユーザーの真正性を保証し、認証されたユーザーのみが検証および承認されたリソースへのアクセスを許可します。
デジタル署名および/または暗号化された電子メールの交換
電子メールのセキュリティは、暗号鍵を使用して確保されます。デジタル署名されたメールを受け取ると、受信者はそのメールが本当にあなたからのものであり、内容が変更されていないことを確認できます。
センシティブなデータを送信する際に、さらなるセキュリティレイヤーを追加したい場合、電子メールの暗号化を使用できます。メールの署名と暗号化の両方のプロセスには、S/MIME証明書(メール署名証明書)が関与しています。あなたとメール受信者がメール署名証明書を使用し、公開鍵を交換していれば、安全に暗号化されたメールをやり取りできます。これは、顧客や財務、患者の健康に関連する保護されたデータを送信する際のコンプライアンスに特に重要です。
リリース前にコード、ソフトウェア、アップデートにデジタル署名する
ソフトウェアにデジタル署名をすることで、ユーザーはそのソフトウェアが正しく、改ざんされていないことを確認できます。コード署名証明書を使い、暗号化技術でソフトウェアを署名します。ユーザーがソフトウェアをダウンロードすると、それが信頼されるものであるかを自動的に確認します。
拡張検証のコード署名証明書を使用すると、あなたのアイデンティティがさらに信頼されるようになります。この証明書でソフトウェアに署名すると、WindowsのオペレーティングシステムやEdgeブラウザは自動的にそれを信頼します。その結果、Windows Defender SmartScreenの警告が表示されなくなります。
最終的な収穫をいくつか挙げてまとめよう。
暗号鍵がデジタル情報の安全性に欠かせないものであることは、お分かりいただけたと思います。しかし、大切なものとして、それを守るための手段を尽くす必要があります。
鍵の保管安全に保管する
暗号鍵の安全な保存は、多くの規制で要求されています。データ侵害によるコストを避けるため、この点は重要です。以前は、拡張検証(EV)コード署名証明書のみがハードウェアトークンにインストールされていましたが、現在は組織検証(OV)も同様です。暗号の秘密を保護するために、ハードウェアセキュリティモジュール(HSM)も利用できます。
鍵管理のベストプラクティスを熟知する
鍵管理のベスト・プラクティスについては、以前の記事ですでに説明しているので、ここでは深入りしない。もっと詳しく知りたい方は、鍵と証明書の管理について、以下のリソースをチェックしてください:
- 12 エンタープライズ暗号化キー管理のベストプラクティス
- 14 知っておくべきSSH鍵管理のベストプラクティス
- PKI 管理:秘密鍵と証明書のライフサイクル管理のベストプラクティス