PDFを隠すもの





PDFファイルには多くの情報があります。 ほとんどは、異なるプラットフォームでのドキュメントの同じ視覚化に使用されます。 しかし、作成と編集の日時、使用されたアプリケーション、ドキュメントのトピック、タイトル、著者など、多くのメタデータもあります。 これはメタデータの標準セットであり、カスタムメタデータをPDFに挿入する方法があります:ファイルの途中に隠されたコメント。 この記事では、メタデータのいくつかの形式を提示し、それらを探す場所を示します。



情報メタデータ



PDF 1.0以降では、ドキュメントにさらに追加できる標準化された値のセットがあります。 ファイルマネージャはこれらの値を使用してドキュメント検索を改善します。 彼らが含まれます:





PDF 1.1では、このセットが拡張され、ドキュメントの検索に役立つ追加データが含まれるようになりました。





厳密に言うと、多くのアプリケーションで表示できるため、この情報は実際には隠されていません。 しかし、一般には公開されていません。 いずれにせよ、セキュリティが心配な場合は、後で編集できるため、この情報を慎重に信頼する必要があります。 メタデータは表示されたコンテンツとは別に更新される可能性があるため、これはファイルマネージャーとメタデータに変更が表示され、コンテンツが変更されないことを意味します。







追加のメタデータ



PDF標準では、さらに多くのメタデータがサポートされるようになりました。 デフォルト値の小さなセットの代わりに、情報のストリーム全体をXMP形式で保存できます。 その結果、あらゆるタイプのデータをそこに埋め込むことができます。 繰り返しますが、これらは表示されませんが、ファイルマネージャで分析できます。



XMPストリームはエンコードできるため、常に人々によって読み取られるわけではありませんが、多くのアプリケーションはこの情報を読み取って編集できます。 XMPが人間が読める形式でどのように見えるかの例を次に示します。



<xmp:CreateDate>1851-08-18</xmp:CreateDate> <xmp:CreatorTool>Ink and Paper</xmp:CreatorTool> <dc:creator> <rdf:Seq> <rdf:li>Nick Winder</rdf:li> </rdf:Seq> </dc:creator> <dc:title> <rdf:Alt> <rdf:li xml:lang="x-default">My Amazing PDF</rdf:li> </rdf:Alt> </dc:title>
      
      





ドキュメントの履歴を判断したり、他の情報を埋め込もうとする場合、この情報が非常に貴重であることを理解するのは簡単です。 iOSおよびAndroid用 PSPDFKitは、メタデータの読み取りと編集をサポートしています。



オブジェクトのメタデータ



メタデータストリームはドキュメントに限定されません。 メタデータは、ドキュメント内の任意のオブジェクトに割り当てることもできます。 たとえば、画像が埋め込まれたストリーム。 問題を複雑にするために、補助メタデータをストリーム自体に保存することもできます。 さらに先に進むと、画像ストリームのメタデータにPDFを埋め込むことができ、それにより無限の再帰を実現できます! そのため、次にメタデータの情報を確認するときには、探している情報を見つけるためにいくつかのレベルを経る必要があることを覚えておいてください。



追加の保存/更新



PDF標準には追加の保存コンセプトがあり、PSPDFKitを含む多くのアプリケーションがこれを実装して保存を高速化します。 つまり、このメソッドはドキュメントの最後に追加情報を追加し、参照されなくなった古いオブジェクトはそこでハングしたままになります。 これは、ドキュメントの要素をオンザフライで変更し、長時間の保存プロセスを待機したくない場合、またはたとえば、プロセスがバックグラウンドスレッドで実行される自動保存機能を使用したい場合、および最小限のリソースを使用したい場合に最適です。



理解できるように、これによりPandoraのボックス全体が開きます。ドキュメントの履歴には、目から削除されたがドキュメントには残っていた機密情報またはエラー情報が表示されます。 このような状況では、ドキュメントを完全に保存することをお勧めします。 これにより、古いオブジェクトまたは「スムージング」が削除され、 フォームを将来編集できなくなります。



PDFコメント



多くのプログラミング言語はコメントを提供するため、コンパイラまたはインタープリターは文字列を無視します。同じオプションがPDFにあります。 %記号は形式でさまざまな方法で使用されますが、その1つはコード内のコメントの表示です。 したがって、ユーザーがテキストエディタでドキュメントを開くと、PDFプロセッサによって挿入された秘密のメッセージが表示される場合があります。 PDFレンダラーはこれらのコメント行を無視するため、ファイルは正しく表示され、レンダリング後にコメントは表示されません。



1つの大きな辞書!



最後に注意することは、PDF形式は実際には1つの大きな辞書であるということです! 技術的には、誰でもドキュメントに侵入して何かを変更できます。 すべての変更が1行の編集ほど簡単ではありませんが、それを行うことができます。 このため、PDFにどの情報が隠されているかを常に覚えておく必要があります。 また、機密情報を処理する場合は、必ずデジタル署名を使用して、ドキュメントがその作者以外の誰かによって変更されていないこと、作者があなた以外の誰かではなくあなたが期待するものであることを確認する必要があります。



おわりに



この記事では、知らないうちにメタデータがドキュメントに入力できるいくつかの方法をリストします。 PDFのJavaScriptサポートなど、考慮すべき他の要因があります。 JavaScriptの場合、オプションは一般に無限です。 非表示のオブジェクトをドキュメントに保存することもできます。ドキュメントは通常、分析されますが表示されません。 これは、何らかのタイプの情報をパーサーに注入するのに適した方法です。 PDFは非常に広範な規格であるため、使用しているPDFリーダーソフトウェアの種類を常に把握し、信頼する必要があります。



All Articles