鍵アルゴリズムを選択する
認証局(CA)を作成する前に、CA のバッキングする Cloud Key Management Service 鍵の署名アルゴリズムを選択する必要があります。Certificate Authority Service では、サポートされている任意の Cloud KMS 鍵を使用して CA を作成できます。非対称署名アルゴリズムまたは、小さいサブセットを使用して、鍵のライフサイクルを作成、管理します。
このページでは、CA の署名アルゴリズムを決定する際に考慮する必要がある要素について説明します。
アルゴリズム ファミリー
Cloud KMS では、非対称署名オペレーションの 2 つのアルゴリズム ファミリー(RSA と ECDSA)がサポートされています。
RSA
RSA ベースの署名スキームは、それぞれの年齢の面で複数のプラットフォーム間で幅広い互換性を提供します。レガシー オペレーティング システム、プロトコル、ファームウェアまたは他のテクノロジー スタックを使用するクライアントをサポートする必要がある場合は、通常 RSA を使用します。
Cloud KMS は、RSA_SIGN_PSS
と RSA_SIGN_PKCS1
の 2 つの主要な RSA 署名アルゴリズムのバリアントを公開しています。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 チェーンで 1 つのアルゴリズム ファミリーを使用する必要があります。
ECDSA 鍵には、通常、RSA 鍵に使用する CA 鍵とは別の 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: デジタル署名について学習する。
- リソースの管理方法を学習する。