web-dev-qa-db-ja.com

システム時刻と証明書

最近、誤ってシステム時刻を別の月に変更してから、安全なサイトに移動しました。私はGoogleから警告を受けましたChromeこれは私のシステム時間について言及しており、証明書が有効ではないことを示しています。

すでに経過している期間は問題ない有効な証明書があり、システム時刻を変更できる場合、どうなりますか?大丈夫でしょうか?とにかく警告がありますか?

説明を歓迎します。

8
TheNewOne

証明書の検証では、検証を実行するシステム(デスクトップまたはラップトップなど)が認識している「現在時刻」に関していくつかの日付を確認する必要があります。特に、システムは失効情報(CRL)を取得しようとします。システムクロックがオフの場合、ダウンロードできるCRLは「新しい」とは見なされません。特に「未来からの」CRLを見つけた場合、恐ろしい警告を発する可能性があります。

また、 SSL/TLS では、クライアントとサーバーは、現在の時刻の概念を相互に通知します。再び、矛盾が警告される可能性があります。

要約すると、有効期限が切れた証明書を受け入れるようにクロックを変更すると、「機能する」かもしれませんが、「うまく機能しない」かもしれません。これは、もちろん、証明書の検証に関してブラウザの寛大さに依存するため、特定の問題に対する最善の対策は、テストすることです 。独自のCAを作成し、有効期限が過去のサーバー証明書を発行し、ブラウザーに信頼できるCAとしてCAをインストールし、時計を戻し、期限切れのテスト証明書を使用するテストサーバーに接続し、何が起こるかを確認します。とにかく、これは本番環境で使用するための妥当な設定にはなりません(たとえば、顧客にクロックを戻すように依頼するのは、商業的に最適ではないようなものです)。

14
Thomas Pornin

SSL証明書は、クライアントが到達しようとしていた正しいサイトに接続したことをクライアントに証明する主な目的を果たします。証明書が有効である時間を自分の時間と照合するのはクライアントの責任です。あなたの時間は1か月前に終わったので、おそらくSSL証明書を置き換える必要が迫っていたサイトを閲覧したので、ブラウザはそれを無効と考えました。サーバーの時刻を変更した場合、サーバーはそれで問題ないと考えますが、接続しているクライアントには実際の時刻があり、証明書が古いものとして拒否されます。

3
AJ Henderson

以前の回答で示唆されているように、異なる時間設定でシミュレーションを実行しました。 (証明書の有効期限より前のローカルクロックを進めます)。さあ行こう!

SSL after changing the client time

1
TnCpanel

システム時刻を変更した場合、使用しているブラウザまたはソフトウェアがローカルシステム時刻を時刻源として使用していると、証明書は無効と見なされます。タイムソースにリモートシステムを使用するソフトウェアがいくつかあり、ローカル時刻の変更の影響を受けませんが、これはまれです。

これが行われる理由は、証明書がブルートフォースを介してクラックされる可能性があるためですが、これには時間がかかり、かなりのCPUサイクルがかかります。通常、パブリックSSL証明書の期間は1年ですが、ほとんどの大規模ベンダー(VeriSign、Thawteなど)では、4年になることもあります。理論では、公開鍵(公開鍵=証明書)に関連付けられた秘密鍵を1年以内に総当たりすることは「不可能」です。したがって、認証局は、この証明書が永久に有効であると言うことを控えます。これは、10年後に1-10年が経過し、2であるため、これが解読される可能性が非常に高いためです。 =-時間が経過するにつれて、CPUはより強力になると想定されています(ムーアの法則/ローズの法則)。

あなたの質問にもっと直接答えるために-はい、証明書が「正常に動作します」。もしこれが正常であれば、これが正当なサーバーではないというリスク(リスク=警告)を受け入れる限り、通信を暗号化することになります(可能性あり)なりすましまたは通信傍受/中間者)。時計を正しい時刻に戻し、警告が表示されない場合(およびブラウザーで例外を永続的に許可するように指定していない場合)、攻撃の被害者ではないことを合理的に確信できます。保証されないのは、SSLの「認証」部分です。この場合、「承認」をクリックする必要がある場合に、サーバーは認証局によって保証されます。

詳細が必要な場合はお知らせください。他に何に興味があるのか​​わかりません。

1
JZeolla