すべてのSSL証明書には有効期限があります。次に、サイトの証明書が1時間前または1日前に期限切れになったとします。デフォルトでは、すべてのソフトウェアがサイトへの接続を拒否するか、セキュリティ警告を発行します。
これは 最近Windows Azureストレージで発生しました であり、依存サービスのほとんどのソフトウェアがデフォルトで多くのサービスへの接続を拒否するため、大幅なパフォーマンス低下が発生しました。
ここのロジックは何ですか?つまり、1日前、証明書は有効であり、誰もがそれを使用して満足していました。さて、1日後に正式に期限切れになり、誰もそれを好きにならなくなりました。
私は this answer を読みましたが、この特定のEdgeケースには納得できません。すべてのセキュリティモデルには脅威モデルがあります。
ここでの脅威モデルは何ですか?証明書がサイトに接続することさえ拒否するほどに使用不可能であるとして扱われるという今から1日前の間に何が起こったのでしょうか?
証明書の有効期限が切れると、失効ステータスは公開されなくなります。つまり、証明書はずっと前に取り消された可能性がありますが、CRLには含まれなくなります。証明書の有効期限は、CRLを含めるための締切日です。これが、証明書が期限切れになる公式な理由です。CRLのサイズを制限するためです。
(非公式の理由は、証明書の所有者に年会費を支払うことです。)
したがって、失効ステータスを確認できないであるため、期限切れの証明書を信頼できません。それは数ヶ月前に取り消された可能性があり、あなたはそれを知らないでしょう。
いい質問ですね最も簡単な答えは、有効期限があることで、「監査」が頻繁に行われるようになるということです。有効期限がなく、誰かが証明書の使用を停止した(そして秘密鍵を保護した)場合、誰もそれを知ることはありません。ただし、有効期限を設けることで、ユーザーがSSL証明書を販売した会社に戻って、さらに多くの金額を支払うことになり、エラーが発生します。つまり、監査を受け、主張する人物またはサービスとして再検証されます。あります(この質問には、現在のインターネットセキュリティモデルについての不満を残します)。
問題は次のようになります。期限切れの証明書を無視する猶予期間がある場合、それはどのくらい続きますか?一日?一週間?月?ある時点で、証明書の信頼をやめる必要があります。有効期限の翌日にそのポイントを設定した場合でも、「今日と昨日の間に何が起こったのでしょうか?」と自問することができます。そして、あなたはループに陥ります。
基本的に、あなたの言うとおりです。有効期限に達してもすぐに魔法のように秘密鍵の保護を停止することはありません(または、かなり前に秘密鍵の保護を停止し、失効していないために誰も知らない可能性があります。まだ有効期限が切れていません)。有効期限は証明書のセキュリティについては何も述べていませんが、カットオフがない場合はnever証明書が忘れられる可能性があることを知っています。
ユニバーサルな5日間の猶予期間があった場合、5日後まで誰も証明書の期限切れに気付かず、期限切れの証明書をすぐに拒否することと同じ結果になります。 SSL接続が機能しなくなることが、プレッシャーを生み出しているのです。
SSLクライアントアプリケーションが差し迫った証明書の期限切れを大声で警告するほうが生産性が高くなり、それらのアプリケーションのユーザーが事前にサービスプロバイダーに圧力をかけることができるようになると思います。
現在のシステムは最適ではないことに同意します。
より優れた証明書システムでは、1か月以内に期限切れになる証明書の「黄色」状態の期間(「緑」は有効な証明書、「赤」は期限切れの証明書)を使用できます。すべてのN年証明書はN年+ 1か月後に期限切れになりますが、理想的にはN年以内に更新されます。ただし、先月、証明書を使用するすべてのアプリケーションは、ユーザーに穏やかな警告を表示する必要があります。 Webブラウジングの場合、URLを緑色ではなく黄色に着色するなど、ホバー/クリックメッセージで効果を出すことができます。
このWebサイトの証明書の有効期限は2013年3月25日であり、有効期限が切れる前にドメイン所有者が更新する必要があります。証明書はまだ完全に有効であり、現時点では完全に信頼されているはずですが、この証明書に依存するアプリケーションは、それまでに証明書が更新されない場合、2013年3月25日に動作を停止します。
これは完璧でしょうか?おそらくそうではありません。一部のアプリケーションはこれらのメッセージをユーザーに渡さず、有効期限に到達する可能性があるためです。また、証明書の有効期限が切れる何日前に更新する必要があるかについて、標準で体系化された合意が必要です(1日?1週間?2週間?1か月?)。しかし、それは間違いなく改善のようです。
(当然のことながら、Azure証明書の有効期限が切れたときにMicrosoftが本当にボールを落としたことに同意します。これは、エンタープライズアプリケーションをサポートしようとするプラットフォームが無能であることを示すものです)。
答えはビジネスと同じくらい簡単です:"請求書は支払われていません"
認証局は、この証明書が有効であると明確な期間を主張します。しかし、これは認証局の信頼性と証明書所有者によるプロセスについてはあまり言及していません。
それは知覚と適切なセキュリティ慣行に関係しています。
たとえば、1年の有効期限で証明書を作成する場合、基本的には「証明書の整合性を1年以上保証することはできないので、新しい証明書をロールアウトします。それ以前の証明書。 "
したがって、有効期限が切れた証明書のあるサイトは、管理者が自分で設定した時間内に更新するという約束を守らなかった兆候であり、不十分なセキュリティ慣行。
これは、車が正常に動作しているように見えても、車の検査を見落としたことで地獄に陥るのと同じ理由、または製品に販売期限がある理由です。
賞味期限 は、一部の製品にとって興味深いものである可能性があります。製造業者は、製品が有効であることを保証すると述べています一定の期間が経過しても、その期間後に製品を消費した場合、元のプロパティが存在することを保証できません。
1つの証明書には同じものがあります。発行者が有効であると述べる期間があります。その間、証明書は大丈夫です。そうでない場合は、いくつかのリコールがあります。発行者による失効リストは、「なんらかの形で侵害されている可能性があるため、その証明書を再び信頼しない」ことを全世界に知らせます。
有効期限が切れると、発行者はその証明書を追跡できなくなります。証明書は有効期限を過ぎているため、それを信頼する人は、発行者(または他の誰か)ではなく、自分の信念に基づいてのみ行う必要があります。
有効期限が切れても、証明書は悪くなく、壊れていて、臭いもありません...失効したことはもはや保証されません。そして、最近期限切れになったSSL証明書を信頼しないのはなぜですかは、セキュリティが必要であり、証明書を使用して何かを保証するためです。 取り消された(または行われるであろう)かどうかがわからない場合、それが侵害されたと確信することはできません。それを使用してセキュリティがあります...
証明書の有効期限の設定は、パスワードを時々変更し、ユーザーに時々それを変更させるポリシーを設ける必要があるのとほぼ同じ理由で行われます。 常に必要なわけではありませんですが、場合によっては役立つことがあります。
たとえば、あなたの仕事を持っている元従業員(内部)CAが彼のフィッシングWebサイトに署名し、彼のサイトとあなたの銀行サイト(ブラウザが接続が安全であると言っていることを含む)の間の違いをまったく見つけないでしょう。少なくとも内部CAに有効期限があると、時々それを変更してこれを回避できます。
それでも、「気にしない」と言って、証明書の日付を次のように設定できます。 2300(CAの所有者の場合)。もちろん、商用の外部当局では、ライセンスの有効期限を設定することをお勧めします;-)。
すでに述べたもの(定期的にそのようなキーを変更すること、CAが支払いを受けたい、IDを再監査することなど)に加えて、技術的な理由もあります。ブラウザーは、証明書の有効性を検証できないことを通知します。
証明書は取り消される可能性があります。つまり、キーが危険にさらされた場合、CAが証明書の誤発行を通知した場合などに、無効としてマークを付けることができます。これにより、CRL(証明書失効リスト)のサイズを小さく保つことができます。 CRLがブラウザーベースのSSLで現在使用されることはほとんどありませんが、これは有効性をチェックする他の方法にも影響を与える可能性があります。
このため、有効期限を強制することは技術的に意味があり、「再監査を確実にするために証明書を更新する必要がある」と「CAは支払いを受けたい」という理由だけで実行されるわけではありません。
それはあなたが確保しているものに依存します。比較的安全です。これは、ゼロデイの中間者攻撃に相当します。攻撃者は、証明書が期限切れであることを知り、その証明書を使用していることを知り、数日以内に自分とサーバーの間に自分自身を挿入する必要があります。核の秘密を守っているのなら、信用するのは危険です。クレジットカード番号を送信した場合、数日から数週間は問題ありません(とにかく責任を負うものではありません)。イランの独裁者についてブログを書いている場合、イランにいる間、あなたは自分の命を危険にさらしています。