主なポイント

  • 公開鍵暗号(PKC)、または非対称暗号とも呼ばれるものは、数学的にリンクされた鍵ペア(1つは公開、もう1つは秘密)を使用してデータを保護し、アイデンティティを検証します。

  • 公開鍵は自由に共有できるが、秘密鍵は秘密に保たれなければならない。公開鍵で暗号化されたデータは、対応する秘密鍵でのみ復号化できる。

  • RSAは、最も広く展開されているPKCアルゴリズムです。現在の標準では、最小鍵長は2,048ビットが必要であり、2030年以降も安全であり続ける必要があるシステムには、3,072ビット以上が推奨されます。

  • PKCは、TLS/HTTPS、メール暗号化、暗号通貨ウォレットなど、インターネットのセキュリティインフラのほとんどを支えています。

  • 2024年8月、NISTは量子コンピュータに対して安全であることを目的とした3つのポスト量子暗号標準を確定し、RSAおよびECDSAからの長期的な移行を示唆しました。

Binance Academy courses banner

はじめに

安全なウェブサイトに接続したり、暗号化されたメールを送信したり、暗号通貨取引に署名したりするたびに、公開鍵暗号がバックグラウンドで機能しています。それは現代のセキュリティにおける最も重要な進展の一つであり、ほとんどの人が毎日それに触れているにもかかわらず、知識がありません。

公開鍵暗号(PKC)、または非対称暗号または非対称暗号化としても知られるシステムは、データを暗号化し、アイデンティティを検証し、メッセージを認証するために2つの数学的に関連した鍵を使用します。対称暗号が単一の共有鍵を使用するのに対し、PKCは鍵ペアを介して暗号化と復号化の機能を分離し、初めて会ったことのない当事者間の安全なコミュニケーションを可能にします。

公開鍵暗号はどのように機能するのか?

PKCシステムのすべてのユーザーは、公開鍵(誰にでも自由に共有できる)と秘密鍵(常に秘密に保持しなければならない)からなる鍵ペアを生成します。この2つの鍵は、数学的な一方向関数によってリンクされています。秘密鍵から公開鍵を導出するのは容易ですが、その逆のプロセスを逆転させるのは計算上不可能です。

誰かがあなたに暗号化されたメッセージを送信したい場合、彼らはあなたの公開鍵を使用してそれを暗号化します。あなたの秘密鍵(あなたが持つ唯一のもの)だけがそれを復号化できます。これは、対称鍵暗号の中心的な問題を解決します: 保護されていないチャネルを介して共有秘密を安全に配布するという課題です。

RSA: 最も一般的なPKCアルゴリズム

RSAは、1977年にリベスト、シャミール、アドレマンによって導入され、最も広く展開されている非対称アルゴリズムの一つです。これは、2つの大きな素数を掛け合わせて公開モジュラスを生成し、それが公開鍵の基盤となり、対応する秘密鍵はその素数から導出されます。モジュラスを元の素数に戻すことは、十分な鍵長では計算的に不可能です(その難しさがRSAを安全にしています)。

現在のセキュリティ標準では、最小RSA鍵長は2,048ビットが必要です。2030年を超えて安全であり続ける必要があるシステムには、NISTが3,072ビット以上を推奨しています。以前は一般的だった1,024ビットの鍵は、もはや十分ではないと見なされています。

楕円曲線暗号(ECC)

楕円曲線暗号(ECC)は、はるかに短い鍵長でRSAと同等のセキュリティを達成します。256ビットのECC鍵は、約3,072ビットのRSA鍵と同等の保護を提供します。この効率性により、ECCはブロックチェーンネットワーク、モバイルデバイス、TLSハンドシェイクなどのパフォーマンスに敏感なアプリケーションに最適な選択肢となります。

デジタル署名と認証

PKCはまた、メッセージや文書が特定の当事者から発信され、改ざんされていないことを証明する方法であるデジタル署名を支えています。このプロセスは、暗号化とは逆に機能します: 送信者は秘密鍵を使用してメッセージに署名し、送信者の公開鍵を持つ人はその署名を検証できます。

実際には、署名にはメッセージの暗号学的ハッシュ(コンテンツの固定長フィンガープリント)を計算し、そのハッシュを秘密鍵で暗号化することが含まれます。受信者は送信者の公開鍵を使用してハッシュを復号化し、受信したメッセージを独自にハッシュ化します。2つのハッシュが一致すれば、署名は有効です: メッセージは本物であり、改ざんされていません。

公開鍵暗号の応用

インターネットセキュリティ: TLSとHTTPS

トランスポート層セキュリティ(TLS) — 廃止されたセキュアソケット層(SSL)の代わりに、PKCを使用してブラウザとウェブサーバー間に安全な接続を確立します。TLSハンドシェイク中、サーバーはその公開鍵を含む証明書を提示します。クライアントはこれを使用してセッションキーを交渉し、その後、両者はセッションの残りの部分用に高速な対称暗号化に切り替えます。このハイブリッドアプローチは、非対称鍵交換のセキュリティと対称暗号化のパフォーマンスを組み合わせています。

メール暗号化

PGP(Pretty Good Privacy)やS/MIMEなどの標準は、公開鍵暗号を使用してメールコンテンツを暗号化し、送信者を認証します。受信者は自分の公開鍵を公開し、送信者はそれを使ってメッセージを暗号化します。復号化できるのは受信者の秘密鍵だけです。

暗号通貨ウォレットとブロックチェーン

PKCは、暗号通貨ネットワークが所有権を確立し、取引を承認する方法の基本です。ウォレットが作成されると、鍵ペアが生成されます: 公開鍵は(ハッシュ化を介して)共有可能なウォレットアドレスに変換され、秘密鍵は取引に署名するために使用されます。ビットコインとイーサリアムは、Elliptic Curve Digital Signature Algorithm(ECDSA)を使用しており、コンパクトで検証可能な署名を生成し、ネットワークノードは対応する公開鍵のみを使用してそれらを認証できます。

重要なルール: 秘密鍵の保有者だけがウォレットから資金を移動することを承認できます。秘密鍵を失った場合、その資金へのアクセスは永続的かつ不可逆的です。

デジタルアイデンティティと安全な投票

PKCの原則は、個人データを公開せずにアイデンティティを証明するプライベートキーや、検証可能性と投票秘密を必要とする電子投票プロトコルに適用されています。

ポスト量子暗号

RSAおよびECDSAのセキュリティは、古典的なコンピュータには難しい数学的問題(整数因数分解および離散対数問題)に依存していますが、理論的にはショアのアルゴリズムを実行する量子コンピュータに脆弱です。十分な規模の量子コンピュータは、現在のPKCスキームを破ることができます。

2024年8月、NISTは量子攻撃に対抗するために特別に設計された3つのポスト量子暗号(PQC)標準を確定しました:

  • FIPS 203(ML-KEM):RSAベースの鍵交換を置き換えるモジュール-ラティスベースの鍵カプセルメカニズム

  • FIPS 204(ML-DSA):ECDSAを置き換えるモジュール-ラティスベースのデジタル署名アルゴリズム

  • FIPS 205(SLH-DSA):署名用のハッシュベースの代替となるステートレスハッシュベースのデジタル署名アルゴリズム

NSAの商業国家安全保障アルゴリズムスイート2.0(CNSA 2.0)は、新しいシステムが2027年1月までに量子安全アルゴリズムを採用することを義務付けており、2035年までに完全なインフラストラクチャ移行が必要です。機密の長期データを扱う組織は、量子ハードウェアが成熟するまでに暗号化されたデータを収穫して復号化する可能性があるため、移行計画を今すぐ始めることを推奨されています — この戦略は「今収穫し、後で復号化する」として知られています。

公開鍵暗号の制限

PKCにはいくつかの実用的な制約があります:

  • パフォーマンス: 非対称暗号は、関与する数学的操作のために対称暗号よりも大幅に遅くなります。ほとんどの実世界のシステムでは、PKCは鍵交換や認証のためにのみ使用し、その後、大量データ転送のために対称暗号に切り替えます。

  • 鍵管理: 鍵を安全に生成、保存、配布、取り消すことは、スケールで複雑です。証明書機関(CA)は、公開鍵がそれを主張する主体に本当に属していることを確認するために信頼されており(それ自体がリスクを伴う中央集権のポイント)、そのためのリスクが存在します。

  • 秘密鍵のセキュリティ: システム全体は、秘密鍵が秘密のままであることに依存しています。秘密鍵の喪失や盗難は、PKCが提供するすべての保証を損なわせ、暗号通貨の文脈では、回復メカニズムは存在しません。

よくある質問(FAQ)

公開鍵と秘密鍵の違いは何ですか?

公開鍵は、他の人がメッセージを暗号化したり、あなたの署名を検証したりするために使用する共有可能な識別子です。秘密鍵は、あなたが持つ秘密の値であり、あなたの公開鍵で暗号化されたメッセージを復号化したり、データに署名したりするために使用されます。これら2つは数学的に関連しています: 現在の技術では、公開鍵から秘密鍵を導出することは計算上実行不可能です。

なぜRSAの鍵長が重要なのですか?

RSAの鍵が長いほど、鍵のモジュラスを因数分解することで暗号を破るために必要な計算努力が指数関数的に増加します。1,024ビットの鍵はもはや安全とは見なされません。業界の現在の最小は2,048ビットであり、2030年代以降も保護が必要なデータには3,072ビット以上が推奨されます。長い鍵は、鍵生成や暗号化操作中の計算オーバーヘッドを増加させるというトレードオフがあります。

TLSはどのように公開鍵暗号を使用しますか?

TLSハンドシェイク中、サーバーは公開鍵を含むデジタル証明書を提示します。クライアントはその公開鍵を使用して対称セッションキーに安全に合意します(ランダム値を暗号化するか、Diffie-Hellman鍵交換を介して)。セッションキーが確立されると、両者は効率のために対称暗号に切り替えます。PKCは初期の認証と鍵交換を処理し、対称暗号はデータ転送の大部分を処理します。

ポスト量子暗号とは何ですか、そしてなぜ重要なのですか?

ポスト量子暗号は、古典的および量子コンピュータの両方に対して安全であるように設計された非対称アルゴリズムを指します。RSAやECDSAなどの現在の標準は、量子コンピュータがショアのアルゴリズムを実行することで古典的なマシンよりもはるかに速く解決できる問題に依存しています。NISTは2024年8月に最初の3つのポスト量子標準(ML-KEM、ML-DSA、SLH-DSA)を確定しました。組織や政府は、暗号的に関連する量子コンピュータの入手可能性を見越して、移行プログラムを開始し始めています。

暗号通貨ウォレットはどのように公開鍵暗号を使用しますか?

暗号ウォレットを作成すると、PKC鍵ペアが生成されます。あなたの公開鍵(またはそのハッシュ派生物)は、資金を送信したい誰とでも共有できるあなたのウォレットアドレスになります。あなたの秘密鍵は取引を承認します: それは出金を署名し、ネットワークはその署名をあなたの公開鍵に対して検証します。秘密鍵を失ったり盗まれたりした場合、そのウォレットの資金へのアクセスは回復できません。

締めくくりの考え

公開鍵暗号はデジタルセキュリティの礎の一つです。数学的にリンクされた鍵ペアを介して暗号化と復号化を分離することで、初めて知らない者同士の間で安全なコミュニケーションを可能にし、インターネットの信頼インフラを支え、分散型金融システムにおける所有権の基盤となっています。

この分野は今、転換点にあります。2024年のポスト量子標準の正式化は、業界がRSAおよびECDSAから移行を開始する必要があることを示しています。それらが今日壊れているわけではなく、量子ハードウェアがそれらを時代遅れにする未来に備えるためです。PKCがどのように機能するかを理解することは、次に何が来るかを理解するための第一歩です。

さらなる読書

  • 対称暗号と非対称暗号

  • 暗号の歴史

  • エンドツーエンド暗号化(E2EE)とは何ですか?

  • 暗号ウォレットの種類を説明

  • ゼロ知識証明とは何ですか?

免責事項: このコンテンツは、一般的な情報および教育目的で「現状のまま」提供されています。金融、法的またはその他の専門的なアドバイスと見なされるべきではなく、特定の製品またはサービスの購入を推奨することを目的としていません。適切な専門アドバイザーからのアドバイスを求める必要があります。第三者の寄稿者によって提供されたコンテンツの場合、その表現された見解は第三者の寄稿者に属し、必ずしもBinance Academyのそれらの見解を反映するものではありません。デジタル資産の価格は変動する可能性があります。投資の価値は下がることも上がることもあり、投資した金額を回収できない場合があります。投資判断は自己責任で行い、Binance Academyは発生した損失に対して責任を負いません。詳細については、利用規約、リスク警告、およびBinance Academyの利用規約をご覧ください。