Others

PDF の有効期限を設定したり、特定の日付が過ぎるとアクセスできなくなったりすることはありますか

期間限定のビジネス文書、明示的に有効な 30 暦日の提案書、レビュー期間終了後にアクセスできなくなる機密の取締役会報告書、1 年間のサブスクリプションで料金を支払ったライセンス付きトレーニング マニュアルなどは、標準の保護されていない PDF として配布された瞬間に、時間ベースのアクセス制御のあらゆる部分を失います。今日開封した受取人は、来月再び開封できます。来年には再開できるだろう。 5 年後も開いてすべての単語を読むことができます。標準の PDF 形式には、時系列時間の概念が組み込まれておらず、定義された日付後に自動的に期限切れになるネイティブ メカニズムもありません。

標準の PDF ファイルは、永続的かつ不変の記録となるように設計されています。特定の暦日の後に独自の有効期限を積極的に強制するものを作成するには、コア PDF 仕様を超えてドキュメントの移植性と信頼性を制限する依存関係を導入する追加のロジック層を実装する必要があります。

自己有効期限を強制する PDF Security ドキュメントを作成するということは、ファイルを開いたときに実行され、現在のシステム日付をハードコードされた期限と照合する JavaScript ベースの日付検証ルーチンを実装するか、ドキュメントが開かれるたびにアクセス許可をリモートで検証するサーバーベースのデジタル著作権管理システムを導入することを意味します。 WukongPDF の PDF 暗号化 ツールは、標準のパスワード ベースの保護をサポートしており、以下のガイダンスでは、現在利用可能なすべての有効期限の方法と、実際の重大な制限について説明しています。

Can You Make a PDF Expire or Stop Being Accessible After a Certain Date

JavaScript ベースの有効期限: 技術的な実装と重大な制限

Adobe Acrobat および Acrobat Reader は、最初のページが表示される前に発生するドキュメントを開くイベントなど、特定のドキュメント イベントが発生したときにカスタム スクリプトを実行できる埋め込み JavaScript エンジンをサポートしています。慎重に作成されたスクリプトは、オペレーティング システムに現在の日付を問い合わせ、その日付をスクリプト コードに埋め込まれたハードコーディングされた有効期限と比較し、次の 2 つのアクションのいずれかを実行します。現在の日付が期限より前の場合は、ドキュメントを通常どおり表示してフル アクセスを許可し、現在の日付が期限を過ぎている場合は、ドキュメントの有効期限が切れていることを説明する目立つメッセージを表示し、プログラムによってファイルを閉じて、ユーザーがコンテンツを読めないようにすることができます。

JavaScript ベースの有効期限には、セキュリティ対策としての有効性を根本的に制限する複数の重大な脆弱性が存在します。これは、受信者の PDF ビューアが JavaScript の実行をサポートし、JavaScript 機能が有効になっているかどうかに完全に依存します。事実上すべてのブラウザベースのビューアやモバイル PDF アプリを含む、Adobe 以外の PDF ビューアのほとんどは、セキュリティ予防措置として JavaScript をデフォルトで無効にしています。つまり、有効期限スクリプトは実行されず、カレンダーの日付に関係なくドキュメントが完全にアクセス可能になります。 Adobe Acrobat 内でも、すべてのユーザーが [編集]、[環境設定]、[JavaScript] に移動し、チェックボックスを 1 回クリックするだけで JavaScript の実行を無効にすることができ、開いたすべてのドキュメント内のすべての JavaScript ベースの保護を永久に無効にすることができます。最も重要なのは、スクリプトがユーザー自身のコンピューターのシステム クロックから現在の日付を読み取り、ユーザーが手動で任意の日付に変更できることです。コンピュータの時計を有効期限前の日付に戻すと、文書に再びアクセスできるようになります。この時計の操作を妨げる技術的なメカニズムはありません。

WukongPDF

PDFを保護してみる

インストールは必要ありません。ブラウザで直接動作します。

始める →

デジタル著作権管理: サーバーによる時間ベースのアクセス制御

Adobe の LiveCycle Rights Management、Microsoft の Azure Information Protection、およびさまざまなサードパーティのドキュメント セキュリティ サービスなどのエンタープライズ DRM プラットフォームは、PDF ファイル自体に埋め込まれたコードやロジックに依存するのではなく、サーバー インフラストラクチャ レベルで有効期限を強制します。ドキュメントは、ファイル内ではなく、DRM サーバーに保存されているキーを使用して暗号化されます。ユーザーがドキュメントを開こうとするたびに、閲覧者は DRM 認証サーバーへのネットワーク接続を確立し、ユーザーの資格情報を提示して、一時的な復号化の承認を受け取る必要があります。サーバーは、独自に保守され安全に保護されたシステム クロックで動作し、現在の日付をドキュメントのライセンス パラメータと照合して、このセッションに対する復号化の許可を与えるか、有効期限通知で拒否します。

DRM は、クライアント側の時計操作や JavaScript の無効化に対して脆弱ではない、技術的に本物の有効期限の適用を提供します。ただし、実際にはかなりの摩擦が生じるため、カジュアルまたは日常的なドキュメント共有には適していません。受信者はドキュメントを開こうとする瞬間にインターネット接続が有効になっている必要があり、ドキュメントはオフライン環境では表示できません。ドキュメントを保護する特定の DRM プラットフォームに登録された有効なユーザー アカウントを所有している必要があります。視聴エクスペリエンスは、DRM サービス プロバイダーの認証サーバーが継続的に動作できるかどうかに依存します。これにより、送信者も受信者も制御できない外部依存関係が生じます。

技術的な複雑さを伴わずに効果的な有効期限を提供する実用的な代替案

ドキュメントの耐用年数は明確に限られているはずだが、内容が完全な DRM 展開の費用と負担を正当化できない一般的なビジネス シナリオの大部分では、技術的な有効期限に代わる実用的な手順により、複雑さが大幅に軽減され、受信者の負担がゼロになり、適切な現実世界の保護が提供されます。文書の有効期間を明確な言葉で明示する、視覚的に目立つ表紙または明確に見えるヘッダーを各ページに追加します。この提案書は発行日から 30 日間有効で、2025 年 12 月 31 日に期限切れになります。有効期限は技術的なものではなく社会的および契約的なものであり、ソフトウェア ロックではなく継続的なビジネス関係と専門的規範によって強制されます。

元のバージョンを魔法のように消すのではなく、以前のすべての文書を明示的に置き換える、明確に番号と日付が付けられた改訂版を発行します。更新されたバージョンには、最新の信頼できる情報が含まれており、すべての受信者に参照するように積極的に指示するバージョンです。古いバージョンは技術的にはまだ開くことができますが、すべてのページに「SUPERSEDED」と書かれた目立つ斜めの透かしが入っているか、このバージョンは置き換えられたことを示す太字の表紙表記があり、紛れもなく置き換えられたものとしてマークされています。 2026 年 1 月 15 日付けのバージョン 2.1 を参照してください。古いバージョンを誤って開いた受信者は、それが現在のドキュメントではないことを即座に、そして明確に確認します。

有効期限メソッド施行強度敗北
JavaScriptの日付チェック弱い、完全に視聴者に依存するJavaScriptを無効にしてシステムクロックを変更する
DRM サーバー適用強力なサーバーであらゆるアクセスを制御ネットワーク障害により、許可されたユーザーもブロックされる
表紙の有効性に関する声明社会的および契約上のみ技術的な強制はなく、受信者の協力に依存します
ウォーターマーク付きの後継バージョンプロセスベースで視覚的にわかりやすい古いバージョンはまだ技術的にアクセス可能ですが、明確にマークされています

制限を十分に認識した上で Acrobat で JavaScript の有効期限を設定する

セキュリティ制限を明確に認識しながら PDF に JavaScript ベースの有効期限を追加するには、Acrobat Pro で PDF を開き、「ツール」メニューに移動して「JavaScript」を選択し、「JavaScript を文書化」を選択してスクリプトエディターを開きます。ドキュメントを開くイベントで実行される新しいスクリプト関数を作成します。この関数は、JavaScript Date オブジェクトから現在のシステム日付を読み取り、ハードコードされた有効期限文字列と比較し、現在の日付が期限を超えている場合は、App.execMenuItem 関数を Close パラメーターとともに使用して、プログラムによってドキュメント ウィンドウを閉じます。

ドキュメントを配布する前に、システム クロックが意図的に将来の日付に設定されているコンピュータで有効期限切れの動作をテストし、そのコンピュータでスクリプトが正しくトリガーされることを確認します。次に、Acrobat の環境設定で JavaScript を完全に無効にして同じドキュメントをテストし、その条件下では有効期限メカニズムが保護を提供しないことを直接観察します。この制限を直接体験することは、すべての文書関係者に、有効期限メカニズムが何を保証できるのか、そしてさらに重要なことに、何を保証できないのかを正確に伝えるために不可欠です。

WukongPDF

PDFを保護してみる

インストールは必要ありません。ブラウザで直接動作します。

始める →