【特集】 Acrobat 5.0のセキュリティ

〜汎用アプリケーションにみるPKI対応の実際

吉川満広
ネットマークス
2001/6/27


 PKIについては、これまでにもその目的や役割についての解説がなされているが、実際に仕事に役立つアプリケーションとしてどのように利用できるのかについては、あまり紹介されていない。本記事では、誰もが知っている身近なアプリケーション「Adobe Acrobat 5.0」のPKI対応機能を紹介しつつ、実際のアプリケーションでのPKI利用について考えてみる。

   PKIの応用範囲

 PKIの機能は大きく分けて、

密性のある通信
データの盗聴を防ぎ、かつ意図した特定の相手のみがデータを読める

認証
相手エンティティ対して確実に当人であることを保証する

否認防止
送信側がデータを作成/送信したことを否定できない

完全性

データが相手に渡る際(渡った後)に改ざんされていないことを保証する

の4つがあげられる。では、これらの機能はどのように応用することができるだろうか? アプリケーションの応用例としては、SSL(WebサーバやWebブラウザ)やS/MIME(メーラ)などが有名だろう。これらPKIに適用したアプリケーションは、

  • 改ざんされてはいけない文書やデータ
  • 誰が作成/修正したか明確に分かる文書やデータ
  • 盗聴等で内容が漏れてはならない文書やデータ

などがあるときに使用される。

 いくつか身近なところでは、社内の重要文書や社外との契約内容を取り交わした文書等が考えられる。現在、このような文書はワープロソフトやAcrobatなどの形式で作成され、電子メールやWebでの情報共有でやり取りされることが多いが、セキュリティから考えると非常に危ない状況である。従って、このような危険性を避けるべき文書やデータはPKIを活用し、安全な通信手段を確保していくことが望まれる。

●「PKI」参考記事リンク
5分で絶対に分かるPKI
連載:PKI基礎講座(連載インデックス)


   電子署名法との関連

 2001年4月より施行された電子署名法には、

(1) 「当該情報が当該措置を行った者の作成に係るものであることを示すためのものであること」(本人性の確認)

(2) 「当該情報について改変が行われていないかどうかを確認することができるものであること」(非改ざん性の確認)

といった条項が盛り込まれている。つまり、一定の基準を満たすPKIのシステムから発行された電子証明書を使用してデジタル署名を施された文書やデータは、上記の(1)と(2)を満たすとみなされ電子署名の効力を持った文書やデータということになる。

 GPKI(Government Public Key Infrastructure)とは政府が運営するPKIのことだが、この認証基盤を軸に電子政府、電子地方自治体での電子申請や電子的な公文書の保存/公開/利用が可能になる。このような文書は従来までの紙の保存とは異なり、電子的な文書であるため、上記に述べたようなさまざまな危険にさらされる可能性がある。そのため、このGPKIを認証基盤として、電子的な文書のやり取りを行うのだ。

 このような認証基盤上で文書を流通するためには、その文書を作成したアプリケーションが電子署名(デジタル署名)に対応している必要がある。ここでは、Acrobat 5.0がどのようにPKIに対応しているかを説明するが、ほかにも対応アプリケーションはいくつか存在する。それぞれ、用途に応じて対応範囲は異なってくるが、基本的な電子署名による改ざんの有無の確認や、証明書による有効性の確認は、すべて対応しているといえるだろう。

●「電子署名法」「GPKI」参考記事リンク
GPKIとはなにか?
連載:PKI基礎講座 第4回「電子署名法」


   Acrobat 5.0のセキュリティ機能

 それでは、Acrobat 5.0がもつセキュリティ機能について紹介しよう。

●パスワードによる文書のロックと暗号化
 特定のユーザーのみが文書を閲覧/印刷/編集できるように、パスワードで文書をロックすることができる。PDFファイル(Acrobatの文書形式)には、

  • 文書を開くためのパスワード(ユーザパスワード)
  • セキュリティ設定を変更するためのパスワード(マスタパスワード)

の2つが設定でき、ファイルに両方のパスワードが設定されている場合は、どちらのパスワードでもファイルを開くことができるようになる。

 例えば、文書を開くパスワードでファイルを開くと、セキュリティの制限は一時的に解除される。ここでもし、ファイルにセキュリティを設定する場合は、セキュリティ設定を変更するパスワード(マスタパスワード)も指定しなければならない。これは、マスターパスワードが設定されていないと、ファイルを開いたユーザーがそのままセキュリティ設定も解除できてしまうためである。

 文書のセキュリティ設定は、「ファイル」→「文書のセキュリティ」で表示されるダイアログボックスで行える(画面1)。「セキュリティオプション」には、現在インストールされているセキュリティの種類が表示されている。ここで「Acrobat標準セキュリティ」を選択すると、画面2のダイアログボックスでそれぞれのパスワードと権限の指定ができる。

画面1 セキュリティオプションには「Acrobat標準セキュリティ」を選択する(画面をクリックすると拡大表示します

画面2 「ユーザパスワード」と「マスタパスワード」の設定が可能になる(画面をクリックすると拡大表示します

 Acrobat 5.0では、暗号化のレベルが従来の「40bit RC4」から「128bit RC4」へと強化されているが、128bitを使用するとAcrobatの従来バージョンとの互換性がなくなる。

●電子署名
 電子署名とは、「電子文書に対する署名」のことだが、これは、これまで紙の文書に対して行ってきた「印鑑を押す行為」と同じようなものだといえる。つまり、「この文書は自分が作成もしくは承認しました」という意味付けをするのである。電子署名は、大きく2つの意味合いを持っている。

  • 署名者の証明書が含まれており、その証明書の妥当性を確認する
  • 署名した時点でのメッセージダイレクトが含まれており、改ざんされていないかの確認ができる

 Acrobat 5.0には、この電子署名を行うための機能が含まれている。証明書を使用したセキュリティ機能としては、

  • Acrobat Self-Sign
  • Entrust/PKI
  • VeriSign

のいずれかが使用できる。順を追って、それぞれの機能を紹介していこう。

   Acrobat Self-Signを使ってみる

 まず、Acrobatに標準搭載のSelf-Signでの機能を紹介しよう。Self-Signで実現される機能は、基本的にEntrust/PKIやVeriSignと同じなので、ここで説明する内容はほぼそのまま両者でも使用できると理解していただきたい。

 Self-SignはAcrobatのデフォルトの署名ハンドラであり、秘密鍵および公開鍵システムを使用して、署名の信頼性と署名入り文書のバージョンの完全性を素早く簡単に検証できるとともに、PDFファイルの暗号化ができる(Self-Signでは、公開鍵の証明書は自分で配布するか、あらかじめ共有フォルダに入れておく必要がある)。

●Self-Sign証明書の発行
 Self-Signを使うためには、ユーザーのプロファイルの登録と証明書を発行する必要がある。「ツール」→「Self-Signセキュリティ」→「ログイン」で表示されるログイン画面で「新規ユーザプロファイル」をクリックすると、画面3のダイアログボックスが表示される。

画面3 証明書発行のために、まず新規ユーザーを作成する(画面をクリックすると拡大表示します

 ユーザーの新規作成画面でユーザーを作成する。ここでは、「Yamada Taro」として登録した。新規ユーザー登録後は、「ツール」→「Self-Signセキュリティ」→「ユーザ設定」で、Self-Signでのユーザーセキュリティの設定が行える(画面4)。

画面4 ユーザーを作成したら、セキュリティ設定を行う(画面をクリックすると拡大表示します

 ここで「詳細」ボタンを押すことにより、証明書の内容が表示される。

画面5 作成された証明書の内容を表示したところ(画面をクリックすると拡大表示します

 これが「Yamada Taro」の名前で作成した証明書だ。ここで、「キーの使用方法」に注目していただきたい。「文書に署名」「署名処理」「文書の暗号化」が行えるようになっている。

 証明書が発行できたら、次にログインしてみよう。「ツール」→「Self-Signセキュリティ」→「ログイン」でログイン画面が表示される(画面6)。

画面6 証明書を使用した電子署名や暗号化の際には、ログインが必要になる(画面をクリックすると拡大表示します

 ここでログインすることで、電子署名や暗号化が行えるようになる。

●Self-Signの電子署名
 Self-Signでは、各署名は固有のセキュリティデータ(秘密鍵と公開鍵)を備えたプロファイルと関連付けられている。秘密鍵はパスワードで保護され、文書に署名をするときに使用される。公開鍵は電子署名に埋め込まれたデータで、電子署名を検証するために使用される。

 秘密鍵は、署名をする際に一緒に保存される文書のチェックサムを暗号化する。検証時には、公開鍵がその暗号化されたチェックサムを復号化、算出した文書のチェックサムと照合し、改ざんされていないかの検証を行う(Self-Signでは、公開鍵と秘密鍵のペアの作成にRSAアルゴリズムを、証明書にはX.509基準を採用している)。

画面7 電子署名ツール

 それでは実際に、電子署名を文書に使ってみよう。「ツール」→「電子署名」→「文書に署名」の順に選択するか、画面7の電子署名ツールのアイコンをクリックする。

 次に、文書内で署名エリアをドラッグで指定する。エリアを指定したらパスワードを入力する。署名を行う文書を保存するか、別名で保存するかを指定する(画面8)。

画面8 セキュリティオプションには「Acrobat標準セキュリティ」を選択する(画面をクリックすると拡大表示します

画面9 PDF文書に電子署名を行ったところ(画面をクリックすると拡大表示します

 画面9が署名を行った文書だ。左の署名パネルに「署名者の名前」「日付」「理由」「方法」「文書のバージョン」が表示される。文書内には、署名時に指定したエリアに署名の内容が表示される。この状態は署名した直後のため、署名は有効であり、さらに変更も記録されていない。

 次に、文書を保存してからいったん閉じて、再度開いてみる。

画面10 署名パネルを見ると、クエスチョンマークが表示されている。これは、署名の有効性が確認されていない状態を示している(画面をクリックすると拡大表示します

 画面10の署名パネルに注目してもらいたい。クエスチョンマークが表示され「不明な完全性」となっている。これは、署名した証明書は表示されているが、その証明書が有効であるかの確認がされていないということである。

 証明書の有効性を確認してみよう(Self-Signにログインしていなければ、ここでログインを行う)。証明書の署名されている部分(署名のパネルもしくは文書内の署名エリア)で右クリックして、「署名の検証」を選択する。署名が確認されると、画面11のメッセージが出てくる。

画面11 署名の検証結果(画面をクリックすると拡大表示します

 これで、現在も署名した証明書が有効で、文書は変更されていないということが分かる。すなわち、本人が作成した文書であり、改ざんもされていないことが分かったわけである。


  「PKIとの連携、応用」へ


Index
特集:Acrobat 5.0のセキュリティ
Acrobatによる電子署名(Page-1)
・PKIの応用範囲
・電子署名法との関連
・Acrobat 5.0のセキュリティ機能
・Acrobat Self-Signによる電子署名
  PKIとの連携、応用(Page-2)
・公開鍵の交換
・電子署名を用いた文書の交換
・公開鍵でPDFを暗号化
・Entrustとの連携
・VeriSignとの連携
・実務への応用
 


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間