優れた TLS 認証局の構築の裏側
以前のブログで、Fastly 独自の TLS 認証局 (CA)「Certainly」が一般公開され、Fastly のすべてのお客様がご利用いただけることをお知らせしました。証明書の管理は適切なタイミングでの対応が求められるため、維持のためにリソースを不必要に消費しがちです。Certainly をご利用いただくことで、証明書管理のあらゆるニーズに Fastly が対応し、お客様はセキュリティの強化とリスクの低減 (追加コスト不要)、証明書管理の簡易化と迅速化、信頼性の高いサービスとサポートといった3つのメリットが得られます。この記事では複雑な技術的側面の一部と、Certainly の方向性の 決め手となった決断について、より詳しくご紹介します。
設備 : 証明書管理の要塞を築く
Certainly の設備は、目的にかなう専用のアーキテクチャ、冗長性の確保、最高クラスのセキュリティの3つの主な目標を念頭に設計されています。
専用アーキテクチャ : Certainly の設備の各コンポーネントは、認証局の運用に必要なニーズに合わせて特別に設計されています。ケージの素材から床下のアクセスまで、すべてが独自のニーズに合わせて最適化されています。
冗長性 : Certainly のインフラストラクチャは、複数の場所に分散されています。これにより、高い可用性だけでなく、都市圏で大きな障害が発生した場合に備えてレジリエンスも確保できます。海岸沿いの災害やローカルな問題が発生しても、Fastly の認証局は稼働を継続します。電力システム、冷却システム、消火システム、ネットワークインフラ、データストレージを通じて、高いレベルの冗長性がスタック全体に行きわたっています。
セキュリティ : デジタルセキュリティはもちろん、物理的なセキュリティ対策もきわめて重要です。アクセス制御、監視、侵入検知システムによって、Certainly の設備に侵入できないように保護しています。マルチパーティベースのコントロールが認証局の整合性の中核にあるので、あらゆる物理的アクセスには、権限を持った複数の人物による認証が必要になります。機密性の高いエリアにひとりでいることは、誰であっても許可されません。
システム : 自動化とエフェメラルな運用
当初から Certainly のシステムは自動化を想定して設計されています。手動プロセスはリスクを招きます。私たちはリスクを最小限に抑えることを目指しています。
ACME : 以前のブログ記事でも触れましたが、Certainly は RFC 8555 として公開されている ACME (Automated Certificate Management Environment) 経由でお客様と接続します。これは、自動検証メソッドのみが Certainly によってサポートされることを意味します。
自動運用 : 証明書の発行からコードのデプロイまで、あらゆるプロセスが自動化されています。これにより効率の向上に加えて、一貫性の確保とエラーの抑制が可能になります。Infrastructure-as-Code のプラクティスを使用して構築された Certainly のシステムはプログラム可能なので、明確で反復可能なデプロイと精度の高いテストを実施できます。
エフェメラルなシステム : 最新のセキュリティプラクティスに従い、Certainly のシステムは自己破壊型でエフェメラルです。短い間隔でシステムとストレージが破棄され、何の痕跡も残しません。このステートレスアプローチにより、持続的な脅威が私たちのシステムに存在し続ける可能性を大幅に削減できます。これに伴い多くの課題も発生しますが、それらについては今後のブログ記事でご紹介します。
独自のルート : セレモニー
ルートの署名セレモニーはあらゆる認証局における重要な側面です。まさにここで信頼が生まれます。Certainly のセレモニーは、綿密に計画され実行されます。
セレモニーのコンポーネント
コマンドスクリプト : 自動化は Certainly のセレモニーに深く組み込まれています。重要なタスクは精度を確保するためにスクリプト化されています。手動でタイピングする量を最小限に抑え、コマンドの正確さを保証することで、さまざまなエラーを排除できます。暗号化を使用して署名されたセレモニーのログは、プロセスにおける各ステップの整合性を示す確かな証拠となります。
セキュリティが強化されたノートパソコン : セレモニーのため、セキュリティを強化するためにカスタマイズされた Apple のノートパソコンを使用し、セキュアで読み取り専用ソフトウェアのインストールを実行しました。厳密なセキュリティ強化の一環として、あらゆる無線ネットワークハードウェアのコンポーネントを排除し、遠隔干渉を可能にするチャンネルを実質的に遮断しました。
書面でのスクリプト化 : 明確さと精密さを確保するため、各ステップは書面でドキュメント化されました。
ソフトウェアパーツ
今後の展望
将来に向け、以下の可能性の実現に注力しています。
多視点による検証 : 多視点によるドメイン検証を Fastly のエッジにデプロイする予定です。これにより、インターネット・ルーティング・プロトコルに対する攻撃から保護し、Certainly の信用性をさらに高めることができます。
ドメイン検証のレベルアップ : Web PKI を強化する取り組みの一環として、最近公開された IETF ドラフトで取り上げられている dns-account-01 チャレンジタイプの統合を検討しています。この新しいメソッドにより、お客様のドメインはアカウントごとのチャレンジラベルを使用して複数のサービスに検証を委託することが可能になります。
証明書の有効性の変更 : ACME の仕様を基に、証明書の有効期間を変更できるようにすることに取り組んでいます。これにより、柔軟性と TLS 接続のセキュリティ強化の両立を実現することを目指します。その結果、Fastly のお客様は証明書の有効期間を選択できるようになり、異例とも言えるデフォルトの30日より短く設定することも可能です。
Certainly の構築を支えたのは、綿密なプラニング、最先端のテクノロジー、セキュリティと信頼性の向上に対するコミットメントの結集でした。私たちは、これまでの取り組みを誇りに思うと同時に、今後もイノベーションと進化を続け、皆さまと情報を共有できるのを楽しみにしています。