Security decoding
Security decodingとは、PDFコンテンツに適用された暗号化やセキュリティ変換を逆変換し、読み取り可能で利用可能な状態にするプロセスを指します。
Security decodingとは、PDFコンテンツに適用された暗号化やセキュリティ変換を逆変換し、読み取り可能で利用可能な状態にするプロセスを指します。PDFワークフローにおいて、コンテンツストリーム、文字列、埋め込みファイルなどは、セキュリティ目的で暗号化またはエンコードされる場合があり、アプリケーションがこの保護されたデータにアクセスして処理するには、適切なデコードが不可欠です。 ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) によれば、PDFのセキュリティメカニズムは文書構造のさまざまなレベルで暗号化を適用できるため、コンテンツ抽出およびレンダリング操作時には体系的なデコードが必要となります。
Security decodingとは、暗号化またはセキュリティエンコードされたPDFデータを、元の使用可能な形式に変換する技術的プロセスです。これは標準的なコンテンツデコード(FlateDecodeやLZWDecodeなどの圧縮フィルタを処理するもの)とは異なり、security decodingは特にPDFのセキュリティハンドラメカニズムを通じて適用された暗号保護に対処します。PDF文書にセキュリティ制限や暗号化が有効になっている場合、コンテンツは、正しい認証情報を持つ認可されたアプリケーションがsecurity decodingを実行するまで、ファイル構造内で暗号化されたままとなります。このプロセスには、ユーザー権限の検証、適切なキーを使用した復号化アルゴリズムの適用、そしてデコードされたコンテンツをレンダリングや抽出に利用可能にすることが含まれます。Security decodingはパスワード検証とは区別されます―これは認証成功後に、暗号化されたバイトを平文に戻す実際の変換処理です。
PDF文書を扱う開発者にとって、security decodingの理解は以下の理由から重要です。第一に、パスワード保護または暗号化されたPDFからコンテンツを読み取り、レンダリング、または抽出するアプリケーションは、基盤となるデータにアクセスするために適切なsecurity decodingを実装する必要があります。正しい実装がなければ、アプリケーションは解釈や表示ができない暗号化されたバイトストリームに遭遇することになります。第二に、security decodingはユーザー体験に直接影響します―アプリケーションは ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されている権限ベースの制限(コンテンツのコピーや印刷の防止など)を処理する必要があります。第三に、PDF仕様への準拠には、特に文書セキュリティポリシーが適用される企業環境において、security decodingプロトコルの遵守が求められます。最後に、不適切なsecurity decoding実装は、保護された文書を扱う際にセキュリティ脆弱性、データ破損、または法的コンプライアンス問題を引き起こす可能性があります。
PDFにおけるsecurity decodingは、いくつかの協調したステップを通じて動作します。PDFリーダーが暗号化された文書に遭遇すると、まず文書のEncrypt辞書を調べます。これにはセキュリティハンドラ、暗号化アルゴリズム(AES-256やRC4など)、および権限フラグが指定されています。アプリケーションはパスワード(ユーザーパスワードまたはオーナーパスワード)の入力を促し、 ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で指定されたアルゴリズムに従って暗号化キーを生成します。キーが導出されると、アプリケーションは暗号化されたオブジェクト(通常は暗号化対象とマークされた文字列とストリーム)に復号化アルゴリズムを適用します。セキュリティハンドラは、暗号化辞書の設定に基づいて、どのオブジェクトがデコードを必要とするかを決定します。Encrypt辞書自体や特定のメタデータストリームなど、一部のオブジェクトは、保護された文書内でも暗号化されないままです。復号化が成功すると、デコードされたコンテンツは、最終的なレンダリングや抽出の前に追加のフィルタ(圧縮フィルタなど)を通じて処理されます。このプロセス全体を通じて、アプリケーションは、デコードが成功した後でもテキスト抽出、印刷、または文書変更などの操作を制限する可能性のある権限フラグを尊重する必要があります。
- Encryption – PDFコンテンツをアクセスに認証情報を必要とする保護された形式に変換するプロセス
- Security Handler – 保護された文書の暗号化アルゴリズムとアクセス制御ポリシーを管理するPDFコンポーネント
- Standard Security Handler – パスワードベース暗号化のためにPDF仕様で定義されたデフォルトのセキュリティメカニズム
- Content Stream – ページ記述、グラフィックス演算子、テキストを含むPDF内のエンコードされたデータで、セキュリティエンコードの対象となる可能性があります
- Filter – ストリームデータに適用される変換で、圧縮フィルタと、適切な順序でデコードする必要がある暗号化フィルタの両方を含むことができます
- (N.A.) (2020)
- (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html
