MakeCert ツールで作成された証明書を実稼働環境で使用するのはなぜ悪いのですか?

StackOverflow https://stackoverflow.com/questions/527768

質問

私は現在、CA 証明書とその CA 証明書の子証明書をいくつか作成したプロジェクトに取り組んでいます。証明書は SAMLV2 セットアップでサーバー間通信を保護するために使用されるため、アイデンティティ プロバイダーの証明書とサービス プロバイダーの証明書を用意します。ユーザー/ブラウザーは証明書を検証しないため、カスタム CA を信頼する必要があるのはサーバーだけです。私の証明書ツリーは次のようになります。

  • CustomRootCACert
    • CustomIdentityProviderCert
    • カスタムサービスプロバイダー証明書

さて、実稼働環境で自家製の証明書を使用するのは良くないという意見を多くの人が聞いています。しかし、その理由を尋ねると、人々は通常、セキュリティについて何かをつぶやくだけで、詳細には触れません。実稼働環境で独自の証明書を使用できない技術的な理由はありますか?何も思いつきません...もちろん、ルート証明書を制御できなくなったら、誰でもあらゆる種類の証明書を作成し始める可能性があることは承知しています。ただし、この場合、サーバーに証明書をインストールし、それらを使用するように saml アプリケーションを構成する必要もあります。そうして初めて、彼らは私のアプリケーションに対して偽の saml リクエストとレスポンスを生成し始めることができました。

これが唯一の問題である場合、この解決策 (運用環境で自家製の証明書を使用する) は、現在のログイン設定よりも優れています。

役に立ちましたか?

解決

証明書は証明何自問します。

あなたは評判のCAによって発行された証明書を取得する場合は、

、それは証明書の所有者が証拠の彼らの基準に、そのCAに自分の身元を確認したことを証明します。

あなたはアドホックCAによって発行された証明書を取得する場合は、

、それは誰かが証明書を作る方法を知っていることを証明ます。

あなたが会話の両端をコントロールしている場合、

、私はそれが目的のために独自のプライベートCAを持っている罰金だと思います。あなたは、独自のCAを信頼しますおそらく、(安全な場所をオフラインでのCA秘密鍵を保持し、そしてスニーカー運動に署名することによって)確かに、これは非常に安全にすることができます。

あなたがCAを信頼する誰を説得するために、必要に応じて難易度は次のようになりますなぜ彼らはすべき?あなたはそうしても安全だったこと、それらを説得する必要があるだろう、と彼らは彼らの顧客にあなたのCA証明書を追加する管理オーバーヘッドを持つことになります。

他のヒント

証明書はネットワーク トラフィックを保護するためにのみ使用されており、ユーザーやコンピューターを認証するものではないため、MakeCert.exe を使用するのは正当な用途であるように思えます。

言及する価値があることが1つあると感じます。MakeCert.exe インターフェイスの作業にしばらく時間を費やした後、代わりにスタンドアロン ルート証明書サーバーの使用を検討することをお勧めします。

次の点を考慮してください。

  • Windows Server の (ほぼ) すべてのバージョンには、無料で証明書サーバー サービスが含まれています
  • Windows スタンドアロン CA サーバーのインストールと構成は非常に簡単です
  • Windows スタンドアロン CA サーバーは仮想マシンにインストールでき、追加の証明書を発行する必要があるときはいつでもオン/オフにすることができます。
  • VM ベースの Windows スタンドアロン CA サーバーは、非常に少ないメモリを使用して実行できます (例:256MB)
  • Windows スタンドアロン CA サーバーには、証明書の要求を簡素化するための、優れたクリーンな Web ベースの登録インターフェイスが含まれています。
  • CRL チェックは、ニーズに応じて使用することも、使用しないこともできます。

以前は、最初は selfssl.exe から始めて、最終的に MakeCert.exe に移動してルート証明書を生成し、その後クライアント証明書を発行しました。しかし、構文に苦労し、ルート証明書をどこに置いたかを常に覚えておく必要があったため、仮想マシンでのスタンドアロン ルート CA の使用に切り替えました。

証明書は唯一、独自のサーバー(およびないクライアントによって使用される、一つの方法または他の)の間で、内部の周りに渡されている場合 - あなた自身の内部のCA
を使用することは完全に可能です しかし、1つの提案 - あなたのルートCAの問題プロバイダの本命を持っていけません。代わりに、中間CAを作成するためにあなたのルートCAを使用する - その後、プロバイダの証明書を発行するためにそれを使用。これは、あなたがシステム/インフラ、失効リストなどを拡張し、証明書の有効期限の管理を開始する必要が長期的に、役立ちます。

私的使用で自己署名証明書を使用してとは本当の問題はありませんが、それはあなたが自作のルート証明書を信頼する必要があるすべてのシステムを制御する際に使用されます。

は、手動でそれを信頼する必要が各システム上にルート証明書をインストールします。

あなたは、ブラウザの使用のためだけでなく、生産でこれを行うことができます - たとえば、ルートCAは、ソフトウェアdistrubutionメソッドを介して展開することができ、組織内 - マイクロソフトが起こることを証明機関を支払うの費用に行く理由はありません信頼する。

[編集] secruityの面で問題は、それが、あなたはそのルートオフ任意の証明書を検証することができますプライベートとどまる確保できる限り、あなたのルート証明書の秘密鍵を含むの一つである。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top