« 2006年11月10日 | メイン | 2006年11月12日 »

2006年11月11日

PDFのセキュリティ機能(1)—概観

さて、話題を変えて、今日から、PDFのセキュリティ機能について整理してみたいと思います。実は、私はセキュリティはあまり詳しくありません。また、PDF Referenceを読みましても、PDFのバージョンが上がるにつれて、セキュリティ機能が追加されたり、既に廃止されたという記述があったり、さらに、カスタムのセキュリティ方式を組み込む機能が説明されているなど、PDF標準のセキュリティの詳細はかなり複雑に入り組んでいます。

このため、開発担当者にいろいろ聞いてもなかなか理解できないのですが、PDF Referenceを参考にしながら、できるだけまとめてみたいと思います。

そんなわけで、もしかすると間違いが含まれているかも知れませんので、間違いにお気づき方のは、お教えいただけるとありがたいです。

まず、PDFの標準では、どのようなセキュリティ方式が使えるか、ということですが、大きく分けると次のようになります。

(1)パスワード方式—これは共通鍵暗号方式と言い、PDFを作成する人と、PDFを利用する人の間で取り決めた共通のパスワードを使って、PDFの内容へのアクセスを制御する方式です。
(2)署名方式—公開鍵暗号方式による電子署名がその代表的なものです。

次に、PDFに標準で用意されている方式ではないと思いますが、サーバを使って、個々のPDFへのアクセスをきめ細かく制御する方式も様々に提供されています。

まず、最初にPDFでは、セキュリティを(1)どうやって実現しているかということと、(2)何ができるのか、ということについて整理してみましょう。

PDFのファイルには、さまざまなテキスト文字列、イメージ、線画などのコンテンツ情報が入っています。そのコンテンツを整理して、ランダムにアクセスするための構造情報があります。

PDFにセキュリティをかける場合は、一定の暗号化アルゴリズムを使ってPDFを暗号化することになりますが、PDFのファイル全体に暗号をかける訳ではありません。通常は、コンテンツになるデータのみに暗号をかけ、構造情報は暗号化しません。こうすることで、暗号が掛かっているPDFファイルを認識して、暗号を解くことができるようになっています。

PDFファイルは、アプリケーションとは独立に流通していますし、PDFを作成する側がいろいろな暗号化方式を使うことができます。PDFファイル全体に暗号をかけてしまうと、PDFビューアが表示したくても、どんな暗号化方式が使われているかということさえも認識できなくなってしまいますので、これは当然なことです。

投票をお願いいたします

投稿者 koba : 08:00 | コメント (0) | トラックバック