鍵アルゴリズムを選択する
認証局(CA)を作成する前に、CA のバッキングする Cloud Key Management Service 鍵の署名アルゴリズムを選択する必要があります。Certificate Authority Service では、サポートされている非対称署名アルゴリズムのいずれかを使用して、またはこれらのアルゴリズムの小さなサブセットから選択して、既存の Cloud KMS 鍵で CA を作成できます。また、サービスに鍵のライフサイクルの作成と管理を任せることもできます。
このページでは、CA の署名アルゴリズムを決定する際に考慮すべき要素について説明します。
アルゴリズム ファミリー
Cloud KMS は、非対称署名オペレーションに RSA と ECDSA の 2 つのアルゴリズム ファミリーをサポートしています。
RSA
RSA ベースの署名スキームは、古いため、複数のプラットフォームで広く互換性があります。レガシー オペレーティング システム、プロトコル、ファームウェア、その他のテクノロジー スタックを使用しているクライアントをサポートする必要がある場合は、RSA が一般的に選択されます。
Cloud KMS は、RSA 署名アルゴリズムの 2 つの主要なバリアント(RSA_SIGN_PSS
と RSA_SIGN_PKCS1
)を公開しています。PSS
バリアントは、RFC 8017 の セクション 8.1 で説明されている RSASSA-PSS 署名スキームを使用します。これは新しいスキームであり、検証可能な安全性が高いと見なされます。PKCS1
バリアントは、RFC 8017 のセクション 8.2 で説明されている古い PKCS#1 v1.5 署名スキームを使用します。
新しい階層では、PSS
証明書をサポートするすべてのアプリケーションでサポートされる場合は、バリアントを使用することが推奨されます。それ以外の場合は、PKCS1
バリアントの方がサポート範囲が広いため、より適しています。
ECDSA
楕円曲線に基づく非対称鍵は RSA 鍵よりも比較的新しいものですが、過去 10 年間にリリースされた最も一般的なテクノロジー スタックの多くで引き続きサポートされています。鍵のサイズが小さくても RSA 鍵と同等のセキュリティ強度を実現できるため、特に人気があります。ECDSA キーを使用するアプリケーションは、ワイヤーを介して保存および送信するデータが少なくなります。
Cloud KMS は、ECDSA 署名アルゴリズムの 2 つの主要なバリエーション(EC_SIGN_P256
と EC_SIGN_P384
)を公開しています。
混合チェーン
混合(ハイブリッド)チェーンは、1 つ以上の証明書で異なる鍵アルゴリズム ファミリーを使用する証明書チェーンです(一部の証明書で RSA、他の証明書で ECDSA など)。一部のテクノロジー スタックでは、混合証明書チェーンの解析に問題があり、そのような場合に予期しないエラーが表示されることがあります。また、一部の業界では、CA チェーンで単一のアルゴリズム ファミリーを使用することを義務付けるコンプライアンス要件が適用される場合があります。
通常、ECDSA 鍵用に RSA 鍵用とは別の CA チェーンを設定します。
キーのサイズ
鍵サイズが大きいほど(同じファミリー内)セキュリティ強度が高くなりますが、ワイヤーを介して保存および送信されるデータも増えます。また、鍵サイズが大きい場合、暗号化オペレーションと署名オペレーションに時間がかかることがありますが、通常は短すぎて気づきません。
一般的な方法では、ルートまたは長期間存続する下位 CA に関連付けられている鍵など、長期間存続する鍵には、他の鍵よりもセキュリティ強度の高い鍵サイズを使用します。
意思決定ガイド
この簡単なガイドを使用して、CA 鍵に適した署名アルゴリズムを選択できます。
アルゴリズム ファミリーを選択する
既存のルート CA に連結する下位 CA を作成する場合は、ルートと同じファミリーを使用します。
新しいルート CA を作成するときに、ECDSA をサポートしていないレガシー システムを使用する必要がある場合は、RSA 署名アルゴリズムのいずれかを使用します。
それ以外の場合は、楕円曲線署名アルゴリズムのいずれかを使用します。
(RSA のみ)署名アルゴリズムを選択する
PSS をサポートしていない古いライブラリやフレームワークを使用する場合は、
RSA_SIGN_PKCS1
アルゴリズムのいずれかを使用します。それ以外の場合は、
RSA_SIGN_PSS
アルゴリズムのいずれかを使用します。鍵サイズを選択する
有効期間が数年になる新しいルート CA またはサブ CA の場合は、そのアルゴリズム ファミリーで使用可能な最大の鍵サイズを使用することをおすすめします。
- RSA の場合、サポートされている鍵の最大サイズは 4, 096 ビットです。
- ECDSA の場合、サポートされている最大鍵サイズは 384 ビットです。
存続期間の短い下位 CA の場合は、RSA で 2,048 ビット、ECDSA で 256 ビットなど、小さい鍵サイズで十分です。
次のステップ
- Cloud KMS: 鍵の目的とアルゴリズムについて学習する。
- Cloud KMS: デジタル署名について学習する。
- リソースを管理する方法を学習する。