Security compression
Security compressionとは、暗号化やデジタル署名などのセキュリティ機能の整合性を維持しながら、PDFのコンテンツストリームやオブジェクトに圧縮アルゴリズムを適用する手法を指します。
Security compressionとは、暗号化やデジタル署名などのセキュリティ機能の整合性を維持しながら、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 compressionとは、セキュリティ機能を含むPDFドキュメントに対してデータ圧縮技術を協調的に適用することです。ファイルサイズの削減のみに焦点を当てた標準的なPDF圧縮とは異なり、security compressionでは圧縮が暗号化レイヤー、署名バイト範囲、アクセス制御メカニズムとどのように相互作用するかを考慮する必要があります。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 ) 。この順序は重要です。なぜなら、既に暗号化されたデータを圧縮しようとしても効果がなく(暗号化データはランダムに見えるため圧縮効果が低い)、署名後に圧縮データを変更するとデジタル署名が破損するためです。Security compressionは、セキュリティハンドラーの要件、署名検証の要件、ドキュメントの真正性と機密性を保持するための適切な操作順序を理解する必要がある点で、一般的なPDF圧縮とは異なります。
セキュアなPDFドキュメントを扱う開発者にとって、security compressionの理解は、ドキュメント最適化時にセキュリティ機能を破損させないために不可欠です。PDF生成または操作システムを実装する際、誤った段階で圧縮を適用するとデジタル署名が無効化され、ユーザーはドキュメントに再署名する必要が生じます。同様に、暗号化されたコンテンツの不適切な圧縮は、権限を持つユーザーが復号化またはアクセスできないドキュメントを生成する可能性があります。この概念は、セキュリティの整合性を維持しながらファイルサイズを最適化することがビジネス要件となる、エンタープライズドキュメント管理システム、電子署名プラットフォーム、PDF処理ライブラリにおいて特に重要です。開発者は、PDFワークフローが正しい操作順序(圧縮、次に暗号化)を維持し、署名後の変更が署名されたコンテンツの変更を回避することを保証する必要があります。
セキュアなPDFワークフローにおいて、security compressionは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 ) 。まず、コンテンツストリームとオブジェクトがFlate(ZIP)、LZW、JBIG2などのアルゴリズムを使用して圧縮されます。圧縮により、テキスト、画像、その他のコンテンツの冗長性が削減されます。次に、暗号化が必要な場合、セキュリティハンドラーがドキュメントの暗号化辞書設定を使用して圧縮されたストリームを暗号化します。この順序により、セキュリティを維持しながら最大限のファイルサイズ削減が保証されます。デジタル署名されたドキュメントの場合、圧縮は署名作成前に行われる必要があります。署名のダイジェストは圧縮された(場合によっては暗号化された)バイト範囲に対して計算されるためです。その後の圧縮または解凍は、これらのバイトを変更し、署名を無効化します。既存のセキュアなPDFを処理する際、開発者は追加の圧縮を適用する前に既存の署名と暗号化を確認する必要があり、ファイル構造全体を書き直すのではなく変更を追加するインクリメンタル更新を使用すべきです。これにより既存のセキュリティ機能を保持できます。
- Encryption(暗号化) – 不正アクセスを防ぐためにPDFコンテンツをエンコードするプロセスで、圧縮後に適用される
- Digital signature(デジタル署名) – ドキュメントの真正性を保証し、改ざんを検出する暗号化検証メカニズム
- Content stream(コンテンツストリーム) – 圧縮の対象となるページコンテンツを含むPDFオブジェクト
- Incremental update(インクリメンタル更新) – 書き直しではなく変更を追加することでPDFを変更する方法で、既存の署名を保持する
- Security handler(セキュリティハンドラー) – 暗号化および復号化操作を管理するPDFコンポーネント
- (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
