すべての SSL 記事 SSL と証明書

ECC vs RSA証明書:どちらを選ぶべきか?

ECC(楕円曲線暗号)とRSAは、SSL証明書の鍵ペアを生成するために使用される2つのアルゴリズムです。どちらも安全ですが、ECCは同等のセキュリティでより小さな鍵高速なTLSハンドシェイクを実現します。最新のデプロイメントのほとんどはECCを使用すべきです。

クイック比較

ECC (P-256)RSA 2048RSA 4096
鍵サイズ256ビット2048ビット4096ビット
同等のセキュリティ約128ビット約112ビット約128ビット
TLSハンドシェイク速度最速中程度最遅
証明書サイズ約500バイト約1,200バイト約2,400バイト
鍵生成高速中程度低速
ブラウザサポートすべての最新ブラウザユニバーサルユニバーサル
Let’s Encryptのデフォルト✅ 推奨サポートサポート
GetHTTPSのデフォルト✅ P-256選択可能提供なし

ECCがほとんどのユースケースに優れている理由

小さな鍵、同じセキュリティ

256ビットのECC鍵は、3072ビットのRSA鍵と同等のセキュリティを提供します。小さな鍵は以下を意味します:

  • 証明書が小さい → TLSハンドシェイク中の転送データが少ない
  • 署名検証が高速 → CPU負荷の削減
  • 帯域幅が低い → 高トラフィックサイトやモバイル接続で重要

高速なハンドシェイク

ECDSA署名操作はRSAよりも大幅に高速で、特にサーバー側で顕著です。高トラフィックサイトでは、CPU使用率とTime to First Byteが削減されます。

前方秘匿性

最新のTLSは鍵交換にECDHE(一時的な楕円曲線Diffie-Hellman)を使用しますが、これは証明書の種類に関係ありません。ただし、ECC証明書はECDHEと自然に組み合わさり、ハンドシェイク全体が楕円曲線の数学を使用するため、RSAとECDHEを混合するよりも効率的です。

RSAが依然として意味を持つ場合

レガシーデバイスの互換性

一部の古いデバイス、組み込みシステム、IoTハードウェアはECCをサポートしていません。以下をサポートする必要がある場合:

  • Windows XP SP2以前
  • 非常に古いAndroidバージョン(4.0未満)
  • 特定の組み込みシステムやハードウェアロードバランサー

…RSA 2048がより安全な選択です。

組織の要件

一部のコンプライアンスフレームワークや内部ポリシーでRSAを指定している場合があります。これはますますまれになっていますが、要件を確認してください。

実際の採用状況

業界はRSAからECCへ移行しています:

組織鍵の種類備考
GoogleECDSA P-256すべてのGoogleプロパティ
CloudflareECDSA P-256無料プラン証明書のデフォルト
Facebook / MetaECDSA P-256本番Webサーバー
Let’s EncryptECDSAを推奨両方発行、ECCを推奨
ZeroSSLECDSAが成長中ECC発行が51.1%増(全CAで最速の成長)

サイトが使用しているものを確認する

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null \
  | openssl x509 -noout -text | grep "Public Key Algorithm"
# ECDSA: "id-ecPublicKey"
# RSA: "rsaEncryption"

またはブラウザで確認:パドロック → 証明書 → 詳細 → Subject Public Key Info。

GetHTTPSが使用するもの

GetHTTPSは証明書にデフォルトでECDSA P-256鍵を生成し、ACMEアカウントキーにもP-256を使用します。必要に応じて証明書鍵にRSA 2048を選択できます。

P-256(prime256v1またはsecp256r1とも呼ばれる)は:

  • すべての最新ブラウザとサーバーでサポート
  • Let’s Encryptが推奨
  • ほとんどの高トラフィックWebサイト(Google、Cloudflareなど)が使用
  • Web Crypto API(GetHTTPSが鍵生成に使用)でサポート

ポスト量子暗号への考慮

ECCもRSAも量子安全ではありません。十分に強力な量子コンピューターがあれば、ショアのアルゴリズムを使って両方を破ることができます。業界はTLS用のポスト量子鍵交換(ML-KEM、旧Kyber)の開発を進めており、既存のアルゴリズムとのハイブリッドモードで使用されます。

これは現在の証明書選択には影響しません。ポスト量子への移行はプロトコルレベル(TLS)で行われ、証明書レベルではありません。今はECCを使用し、TLSスタックに移行を任せてください。

よくある質問

RSAからECC(またはその逆)に切り替えられますか?

はい。希望の鍵タイプで新しい証明書を生成し、サーバー上のファイルを置き換えてください。サーバーは以前の証明書がどのアルゴリズムを使用していたかを気にしません。

WebサーバーにECC用の特別な設定は必要ですか?

いいえ。NginxとApacheはECC証明書をRSAと同じ方法で処理します。同じディレクティブ、同じファイル形式(PEM)です。サーバーは鍵タイプを自動検出します。

P-384はP-256より良いですか?

P-384は約192ビットのセキュリティを提供し、P-256は約128ビットです。実際には、128ビットセキュリティは現在(および予見可能な将来)破れるレベルをはるかに超えています。P-256はより高速で、より広く最適化されています。P-384の特定のコンプライアンス要件がない限り、P-256を使用してください。

関連記事

SSL と証明書 2026-05-07
SSL/TLSの仕組み:TLSハンドシェイクの解説
TLSハンドシェイクのビジュアルウォークスルー。ブラウザとサーバーがミリ秒で暗号化接続を確立する方法を解説。TLS 1.2、TLS 1.3、セッション再開、前方秘匿性をカバーします。
SSL と証明書 2026-05-07
CSR(証明書署名要求)とは?
CSRはSSL証明書を申請するために認証局に送信するメッセージです。CSRの内容、生成方法、GetHTTPSが自動的に処理する理由を解説します。
はじめに 2026-05-08
無料SSL証明書の取得方法(ステップバイステップガイド)
Let's Encryptから5分で無料のSSL証明書を取得。ソフトウェアのインストール不要、アカウント作成不要。4つの方法、両方のチャレンジタイプ、6つのプラットフォームへのインストール、トラブルシューティングを網羅した完全ガイドです。
ブラウザで無料 SSL 証明書を取得
インストール不要、アカウント不要。秘密鍵は常にデバイスに残ります。
証明書を取得