web-dev-qa-db-ja.com

証明機関はどのようにプライベートルートキーを保存しますか?

CA秘密鍵を知っていると、MitM攻撃者はその秘密鍵で署名された証明書を透過的に置き換えることができます。また、サイバー犯罪者が自分の信頼できる証明書を偽造し、闇市場で販売することもできます。

そのような知識で得られる莫大な利益と、信頼性が高くユビキタスな証明書(Verisignの主要なキーなど)を迅速に取り消すのは非常に難しいという事実を考えると、定期的にそのような鍵を手に入れようとする非常にやる気があり、資金が豊富な犯罪要素。

証明機関はこの脅威にどのように対処しますか?それは本当の悪夢のように聞こえ、キーをすべての人間の目からさえ、システム管理者でさえも隔離する必要があります。その間、キーは日常的に、多くの場合インターネットに接続された署名サービスによって使用される必要があります。

247
lynks

深刻な証明機関は重い手順を使用します。コアでは、CAキーは ハードウェアセキュリティモジュール ;に格納されます。しかし、それは事柄の一部にすぎません。 CA自体は物理的に保護する必要があります。これには、proactiveおよびretrospective対策が含まれます。

プロアクティブな対策は、攻撃の成功を防ぐことです。たとえば、CAは鋼鉄製のドアとガードを備えた保管庫に保管されます。マシン自体はロックされており、南京錠は数個あり、誰も複数の南京錠キーを保持していません。物理的なセキュリティは最も重要です。 HSMは最も深い層にすぎません。

遡及措置は、インシデント後の回復についてです。 HSMはすべての署名をlogします。機械は24時間年中無休のビデオ監視下にあり、オフサイトで記録されます。これらの測定は、何が起こったかを知ることです(必要に応じて、事前に知ってください問題が発生した場合、それを分析できますa事後)。たとえば、「違法な」証明書が発行されたが、そのような証明書の完全なリストを再構築できる場合、問題の証明書を取り消すのと同じくらい簡単にリカバリできます。

追加の回復のために、CAは多くの場合、オフラインで維持される長期間有効なルートCAと、短時間有効な中間CAに分割されます。どちらのマシンもケージとバンカーに入っています。ルートCAがネットワークに接続されることはありません。ルートCAは物理的にアクセスされ、定期的にデュアルコントロール(少なくとも2人で一緒にビデオを録画する)を使用して、中間CAとCRLの証明書を発行します。これにより、中間CAが完全にハッキングされた場合(その秘密鍵が盗まれるか、不正に発行された証明書のリストを再構築できないほど)、中間CAを取り消すことができます。


真面目なルートCAの初期設定には Key Ceremony が含まれます。宋代の中国皇帝に侮辱された。監査を行っても、脆弱性がないことを保証することはできません。ただし、そのような儀式は、何が行われたかを知るために使用でき、セキュリティ問題が考えられたことを示す、および、問題が発生した場合に原因を特定するために、何が起こるかを確認してください。私はそのような儀式にいくつか関わってきました。それらは実際には大きな「セキュリティシアター」ですが、単なるアクティビティの表示を超えるメリットがあります。つまり、すべての手順を書かなければなりません。


質問は今です:existingCAは上記の方法で本当に深刻ですか?私の経験では、ほとんどがそうです。 CAがVISAまたはMasterCardと何らかの関係がある場合は、HSM、鋼鉄、悪質なピットブルがインストールの一部であることを確認できます。 VISAとMasterCardはお金の問題であり、非常に真剣に受け止めています。

Webブラウザーおよびオペレーティングシステムに含まれるCAの場合、ブラウザーまたはOSベンダーは多くの保険を要求する傾向があります。再び、これはお金についてです。ただし、保険会社はすべての物理的手段と会計および監査を必要とします。正式には、これは WebTrust のような証明書を使用します。

これは、DigiNotarやComodoのような悪名高いCAにも当てはまります。ハッキングされて偽の証明書が発行されたが、これらの証明書は既知であり、取り消されました(Microsoftはそれらを「禁止された証明書」のリストに追加しました。一種の「取り消された、そして私たちはそれを本当に意味している」-それにもかかわらず、ソフトウェアはそれらを受け入れるために彼の道を離れなければならない)。

「弱い」CAは、ほとんどが州が管理するルートCAです。マイクロソフトは、十分な保険が提供されていないと感じた場合、プライベートベンチャーからのルートキーを含めることを拒否できます(彼らは、運用を維持できるように、CAが財政的に堅牢であることを確認したい)。 Windowsにルートキーを含めようとした何百万もの顧客がいる銀行を知っていて、それらが「小さすぎる」という理由で解雇されました。ただし、マイクロソフトは主権国家からの公式のCAに対してはるかに弱いです。国Xでビジネスを行いたい場合、政府XからルートCAキーを拒否する余裕はありません。残念ながら、すべての政府がCAキーの保護に関して「真剣」であるとは限りません...

225
Thomas Pornin

物理的な側面では、最初にルートCAを完全にオフラインにします。通常は、ルートCAをセットアップし、下位CAを作成してから、ルートCAを完全にオフラインにし、ハードドライブとHSM(サーバー全体の場合もある)を使用して、本質的に安全にロックします。

次に、ネットワークをセグメント化して、それらの下位CA /発行CAを安全に保ちます。

最後に、これらの部下では、HSMを使用して証明書を格納します。

OCSPとCRLは証明書を取り消すために使用されますが、それだけではありません。

手続き面では、部下やルー​​トを取り消したり署名したりするために同時に複数の人を必要とするロックされた部屋など、非常に多くのレイヤーがあります(キー署名式)。これらは24時間年中無休で記録され(オーディオとビデオ)、管理者と役員に加えて、CAからの信頼者が必要です。それは大変なことです。 ビデオはこちら

編集:多項式が言ったことに反して、私が見てきたことから、HSMはCAにとって、さらには内部CAの大規模な実装にとってもありふれたものです。

34
JZeolla

すべてのCA(政府、商業、またはプライベート)が同じ方法でプライベートキーを格納するわけではありません。ほとんどの正当な事業者はHSMを使用しています。ベンダーがルートからSubCaへの 片方向リンクを使用してCRL失効リストを発行する可能性があります 。 (送信専用シリアルケーブル、オーディオケーブル、QRコード、少数のピンのみが接続されたイーサネット...など)

具体的に説明すると、それは本当にあなたが話している製品に依存します。

たとえば、すべての電話(Android、iPhone、Blackberry)、オペレーティングシステム(Linux、Windowsなど)、さらには一部のWebブラウザー(Firefox)でも、独立したトラストストアを維持しています。

それらのベンダーはそれぞれ、その特定の製品でどのCAが「ルートCA」になる資格があるかについて、異なる標準を持っています。具体的には、ベンダーごとに異なる認証、プロセス、手順(コールドストレージ要件など)があり、各CAはそのルート信頼リストに含まれる前に準拠する必要があります。

マイクロソフトには ルート証明書プログラム があり、すべてのCAが次の監査基準に従う必要があります(技術的および手続き上のすべての質問に対処する必要があります)。

  • ETSI 102 042
  • ETSI 101 456
  • CA向けWebTrust
  • WebTrust EV準備監査
  • ISO 21188(ISO 27001を受け入れないことに注意してください)

具体的には、CAは監査を完了し、12か月ごとに監査結果をマイクロソフトに提出する必要があります。監査は、拡張キー使用法(EKU)の割り当てを通じてマイクロソフトが有効にするPKI階層全体をカバーする必要があります。私たちが有効にするすべての証明書の使用は、定期的に監査する必要があります。監査レポートは、監査の対象となる特定の種類の証明書を発行するサブCAを含む、PKI階層の全範囲を文書化する必要があります。適格な監査には以下が含まれます。

(これらの監査要件は政府のCAには適用されず、異なる場合があることに注意してください)

MSFTルートの 技術および監査ガイドラインの詳細については、こちらをご覧ください

脇:

秘密キーを公開しない(そのキーへの要求をオフロードする)HSMに秘密キーを格納し、その秘密キーのすべての使用状況を永続的に追跡することは間違いなく可能です。これらの標準のいずれかがHSMを必要とするかどうかは覚えていませんが、HSMの比較的小さなコストを考えると、なぜそれが行われないのか想像できません。

14

@Thomasの 上記の非常に詳細な応答に同意しますが、 英国の銀行独自のデビットカードシステムにルートCAシステムをインストールしたことを追加します(それぞれカード上のチップは実際には証明書です)。

私たちは、傾き、温度、物理的攻撃などに適切な改ざん防止システムを備えたThales HSMデバイス(6ポンドのコスト)を使用しました。

キーセレモニーに関して、(トーマスが説明しているように)は、冷たい機械室の周りに立っている審査員の群れがあります。それはそれよりも複雑です。鍵生成アクティビティとHSMへの鍵トランスポートが別々のアクティビティであること、および共謀によって鍵が危険にさらされないことを確認する必要があります。 Thales HSMツールを使用すると、キーをセグメントに分割し、それぞれをトランスポートキーで暗号化できます。これにより、個々のキーホルダーは、別のトランスポート(天国のため、カーシェアリングなし)で別々にキーセレモニーに行くことができます。場所、通常は運用サーバールームのHSMにあります。

ルートCAは単純であると考えないでください —はい、無料で使えるツールを使用してルートCAを作成できることを知っています—自分のリスクを解決する必要があります食欲と、脅威モデルに一致するルートCAを構築できるかどうか。例えばデビットカード証明書(結果として生じる損失は「銀行全体」になる可能性がある)の場合、費やされた合計金額は莫大であり、多くの人が走り回り、1人の人物が共謀したり、キーを制御したりできないようにしました。

ルートCAをローカルテストシステムとして作成しているだけの場合、リスクモデルは明らかに異なります。

私のアドバイスは、大規模な組織(Fortune 500)の規模であるか、ルートCAになることが実際のビジネスでない限り、外部委託することです

12
Callum Wilson

バンカーに侵入して秘密鍵のミッション不可能スタイルを盗むというすべての努力に行くのではなく、単に秘密鍵を解読することができます。これはすべて、ご自宅で快適に行うことができます。必要なのは、CA公開鍵、署名された一部のデータ、サンプル署名、および量子コンピューターだけです。私は既に75%を持っています。誰かが最後の部分を持っているなら、私は50/50の戦利品を分けて喜んでいます。

9
Anthony Palmer

多くの人が行うことの1つは、サブ証明書と失効リストを使用することです。これは、問題が発生せず、秘密キーが信頼できるCAから盗まれたことを意味しませんが、CAが秘密キーにアクセスできるようにしない場合、ある程度の保護があります。代わりに、秘密鍵を使用して派生CA証明書に署名し、そのCA証明書(有効期間が非常に制限されている)を使用して配布用の証明書に署名できます。次に、マスター秘密鍵がネットワークに公開される必要はありません。

違反が発生した場合、サブ証明書は自分が管理する失効リストを有効に指定する必要があることを知っているため、侵害されたサブ証明書を取り消すこともできます。

特定のCAがこれを行っているかどうかを確認する簡単な方法は、証明書の信頼チェーンを確認することです。多くの場合、特定の証明書とルートの信頼できるCA証明書の間に1つまたは複数のCA証明書があります。

2
AJ Henderson

単純な(そして残念ながら)答えは、実際にはそうではないということです。システム管理者は安全であると信頼されており、機密の企業サーバーを保護するのと同じ方法で署名ボックスを保護します。 CSRを実行する場合、人間の手順が必要になる場合がありますが、十分な時間と労力を費やして、断固とした攻撃者がCAネットワークを危険にさらすのを止めることは絶対にありません。せいぜい [ 〜#〜] hsm [〜#〜] 秘密鍵を保存しますが、これは一般的ではないことです。

0
Polynomial