SSLならセクティゴ・コモドのEV・企業・ドメイン認証

SSLならセクティゴ・コモドのEV・企業・ドメイン認証

サポート


こちらからサポート記事を検索いただけます

検索キーワード:

その他 (コード証明書関連)

タイムスタンプの重要性

証明書の有効期限後もデジタル署名を有効に保つためのタイムスタンプ

コードサイン証明書は、ユーザーがダウンロードまたはインストールするソフトウェアが信頼できるソースから提供されており、署名以降変更されていないことを保証します。

また、Microsoft Windowsなどのオペレーティングシステムでは、信頼性を保証しないソフトウェアからユーザーを保護するために、コード署名が必須となっています。

SSL/TLS証明書と同様に、認証局(CA)による信頼できるコードサイニング証明書は、ソフトウェア開発会社やソフトウェアにデジタル署名を希望する個人に提供されます。そのため、信頼できるソースとして認識され、ソフトウェアの真正性に疑問を抱かせるような不明な発行元からの警告メッセージを回避できます。

残念ながら、署名済みのソフトウェアであっても突然動作を停止したり、警告メッセージが表示され始めたりすることが多々あります。その主な原因の一つはタイムスタンプです。つまり、署名済みのソフトウェアやアプリケーションにタイムスタンプが付いていないと、コード署名証明書の有効期限が切れると、ユーザーに警告メッセージが表示されるようになります。

コード署名におけるタイムスタンプとは何ですか?

タイムスタンプは、あらゆる種類のソフトウェア署名証明書の検証において不可欠な機能であり、デジタル署名を固定します。タイムスタンプのおかげで、コード署名証明書の有効期限が過ぎた後でも、オペレーティングシステムは署名されたソフトウェアを受け入れます。

そのため、タイムスタンプ付きのデジタル署名が評価されるたびに、タイムスタンプ機能により、実行時の現在時刻ではなく、署名された日時に基づいて署名の有効性が検証されます。一方、タイムスタンプのない署名は、現在の日時に基づいて検証されます。

そのため、数年前にソフトウェアを配布し、証明書の有効期限が切れている場合、署名も期限切れとなり、有効ではなくなります。最終的には、ソフトウェアのユーザーは、既に署名されインストールされたソフトウェアを実行できなくなります。 つまり、署名されたソフトウェアに埋め込まれたデジタル署名は、ユーザーがソフトウェアを実行するたびにチェックされます。つまり、コード署名証明書の有効期限が切れ、タイムスタンプが付与されていない場合、ソフトウェアはすべてのユーザーに対して突然動作しなくなります。

同様に、ソフトウェアは長期間使用されるように構築されていることも事実です。そのため、ソフトウェアを何年も使い続けるために、タイムスタンプは署名プロセスの重要な部分であると考えられています。

最後に、タイムスタンプは認証局(CA)によって署名・保護されているため、なりすましや改ざんに対する耐性があります。同様に、コード署名証明書を購入したCAが信頼を失った場合でも、タイムスタンプが付与されたソフトウェアは有効なままです。

タイムスタンプはどのように機能しますか?

タイムスタンプは、PKI(公開鍵基盤)を利用してタイムスタンプを適用します。タイムスタンプの仕組みをより深く理解するために、順を追って見ていきましょう。

ソフトウェアまたはアプリケーションはハッシュ値を作成し、その後、ソフトウェアまたはアプリケーションの一意の識別子にタイムスタンプが付けられ、TSA (Timestamp Authority) に送信されます。

ソフトウェア コードにわずかな変更が加えられた場合でも、その変更について TSA サーバーと通信する必要があります。

SAはハッシュと、権威時刻を含むその他の関連情報を統合します。その後、TSAの秘密鍵でデジタル署名されたソフトウェアがタイムスタンプトークンを作成し、クライアントに返します。同様に、タイムスタンプトークンには、後でタイムスタンプによる検証が必要となるクライアントアプリケーションに関する情報が含まれています。

同様に、クライアント ソフトウェアがタイムスタンプ トークンを取得すると、それがデジタル署名内に記録されます。

デジタル署名とタイムスタンプが付与されたソフトウェアまたはアプリケーションが将来実行されるたびに、TSAの公開鍵を使用してタイムスタンプを検証し、信頼できるTSAを経由して送信されたかどうかを検証します。同様に、元のデータのハッシュ値も再計算され、上記の最初のステップで述べたデータと比較されます。

サポートトップへ

インストール関連

署名方法について

トラブルシューティング

その他