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

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

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


   公開鍵の交換

 次に、数人で電子署名や暗号化された文書のやり取りを行う場合について解説しよう。署名の検証には署名者の公開鍵を参照する必要がある。また、この公開鍵は、特定の相手に文書を暗号化して送る場合にも必要になってくる。そこでSelf-Signは、公開鍵をファイル形式にして、電子メールやファイル共有で配布できるようにしている。

●公開鍵を発行する
 公開鍵はユーザーごとに発行する。「ツール」→「Self-Signセキュリティ」→「ユーザ設定」で「ユーザ設定」のダイアログボックスを開き、「ユーザ情報」のメニューにある「ファイルに書き出し」ボタンを押す。証明書の保存先が表示されるので、ファイル名を確認し保存する。

 同様のことが、「電子メール」ボタンを押すことでもできる。この場合、電子メールに証明書を添付した形で受信者に送信される。

画面12 証明書書き出しの際に表示されるメッセージダイジェストを、何らかの方法を用いて相手に伝える必要がある(画面をクリックすると拡大表示します

 証明書は電子メールの添付ファイルとして送信されるが、受け取り側で証明書の送信先が正しいか、あるいは壊れていないかを確かめるために、「MD5メッセージダイジェスト」か「SHA-1メッセージダイジェスト」を電子メールや電話で別途知らせておく。これは、不正なユーザーが発行した証明書を、信頼済みの証明書として取り込まないための、運用上の注意事項である。

 それでは実際に、書き出した証明書を送信してみよう。証明書はPDFファイル形式で書き出されている。

画面13 書き出された証明書は、PDFファイルになっている(画面をクリックすると拡大表示します

 このファイルを、証明書を受け取るべき相手に電子メールかファイル共有にて送信する。

●信頼済み証明書一覧の作成
 今度は逆の立場として、証明書を受け取った場合について見てみよう。ユーザー証明書を受け取ったら、その証明書で署名の検証や暗号化を行うために、「信頼済み証明書一覧の作成」で証明書を取り込む。「ツール」→「Self-Signセキュリティ」→「ユーザ設定」で「ユーザ設定」のダイアログボックスを開き、「信頼済み証明書」を選択する。「ファイルから取り込み」ボタンを押すとダイアログボックスが表示されるので、取り込む証明書を指定、IDとメッセージダイジェストの確認を行った後、「一覧に追加」をクリックする。

画面14 証明書を取り込む際には、メッセージダイジェストの確認画面が表示される。先ほど、画面12で先方から伝えられたダイジェストと一致するかを確認する(画面をクリックすると拡大表示します

画面15 証明書を取り込んだところ(画面をクリックすると拡大表示します

 画面15は、「鈴木次郎」さんの証明書を取り込んだところだ。これで、両者での信頼関係が構築され、セキュリティを使用した文書の交換ができるようになる。

   電子署名を用いて文書を交換する

 では、電子署名を用いた文書の交換を行ってみよう。まず、鈴木さんが文書を作成し、文書内に電子署名を行う。その文書を山田さんに渡し、山田さんが電子署名を行う。

画面16 鈴木さんが署名した文書に、さらに山田さんが署名を行ったところ(画面をクリックすると拡大表示します

画面17 「署名の理由」を選択するところ。これで、証明書がもつ役割が分かる(画面をクリックすると拡大表示します

 画面16は、両者が電子署名を付けた文書である。もし、鈴木さんが文書を作成した後、何らかの変更が加えられると、「変更が加えられました」というメッセージが表示される。これにより、鈴木さんが署名したときの文書の状態から、何らかの変更が加えられたということが分かるのだ。これが、電子署名された文書の“改ざん”の検知機能である。

   公開鍵によるPDFファイルの暗号化

 PDFファイルの暗号化がメニューから行えることは説明したが、これはパスワードでの文書ロックであり、パスワードが知られてしまうと簡単にその文書が誰でも開けてしまう。つまり、意図していない相手でもパスワードさえ分かれば簡単に文書が開けるのである。Self-Signでは公開鍵を使うことにより、特定の相手だけ開ける暗号化を行うことが可能になる。公開鍵に対応した秘密鍵を持つ者だけが、文書を開くことができるのである。

 ここでは、鈴木さんから山田さんだけにあてた文書を作成してみよう。

画面18 入手した山田さんの公開鍵で、山田さんだけが読める文書を作成する(画面をクリックすると拡大表示します

画面19 ユーザー権限の設定も行える(画面をクリックすると拡大表示します

 文書を作成し、暗号化を行う。このとき、山田さんの公開鍵で暗号化する。これにより、この文書は作成者の鈴木さんと、秘密鍵の持ち主である山田さんだけが開ける文書になった。暗号化された文書に対してアクセスしてみると、画面20のようにログインを促す警告メッセージが表示される。

画面20 暗号化された文書にアクセスしようとすると、ログインを促すメッセージが表示される(画面をクリックすると拡大表示します


   PKIへの対応〜Entrust

 Acrobat 5.0は、認証局の証明書発行サービスにも対応している。ここでは、EntrustとVeriSignの例を紹介していこう。

 Entrust/PKIを使ってAcrobatで電子署名/暗号化を行う場合、Entrust社が提供する「Entrust/Entelligence」を利用する。Entrust/Entelligenceは、Acrobat 5.0をはじめとしたアプリケーションソフトに電子署名や暗号化の機能を提供するほかに、証明書の管理も行う。Entrust/Entelligenceにより、複数の証明書を同一PC内にて使用したり、証明書をハードウェアトークン(ICカードなど)で生成して使用することもできる。実際の運用の場合、PC内で複数の証明書を管理することは望ましくないため、証明書はハードウェアトークンで使用されることが多い。

 Acrobat 5.0を使用してEntrust/PKIの電子署名/暗号化を行う場合には、前提条件としてEntrust/Entelligenceがインストールされ、証明書が発行されている必要がある(Entrust/Entelligenceの概要は、こちらをクリック)。

 Entrust/Entelligenceがインストールされた環境で、Acrobat 5.0 CD-ROMの「\Security-Entrust-Japanese」フォルダにある「Entrust Security Plug-inモジュール」をインストールすることにより、AcrobatからEntrustの機能が使用可能になる。

 Entrust/Security Plug-inでの電子署名の操作方法は、Self-Signのときと同じである。署名する際に、署名に使う署名ハンドラを選択する場面があるので、ここで「Entrust」を選択して署名を行う。

画面21 署名の理由を選択する(画面をクリックすると拡大表示します

 画面21のように署名の理由が選択できるため、文書に対してそれぞれどのような理由で署名したかを明確にしておけば、責任範囲も後からはっきりしてくる。

画面22 Entrustの証明書で署名された文書(画面をクリックすると拡大表示します

 通常、Entrust/Security Plug-inはディレクトリサーバから公開鍵を取得できるため、Self-Signで行っていたような鍵の交換は必要なしに公開鍵を取得できる。ディレクトリサーバには有効な公開鍵が管理/運用されているので、各個人で公開鍵を管理する必要はないのだ。また、大規模環境での運用では、ディレクトリサービスがあると文書の送信先を迅速に検索できる。Entrust/Security Plug-inでは暗号化以外にも、文書の各種制御も行える。

画面23 Entrustでディレクトリサーバに接続し、受取人を選択する(画面をクリックすると拡大表示します

画面23 文書に対して、オーナーがユーザーに操作の権限を与える(画面をクリックすると拡大表示します


   PKIへの対応〜VeriSign

 VeriSign Document Signerでは、Acrobat 5.0への署名機能の追加と、インターネットを通じての証明書の取得が行える。現在、VeriSign Class 2/Class 1 CAに連鎖する証明書のみが正しく検証されるようになっており、VeriSignClass 2/Class 1に連鎖する証明書以外でも、VeriSign OnSiteサービスにより発行された証明書を使った場合は、製品サポートがなされている。VeriSignは証明書の検証のみのサービスであり、送る相手側の公開鍵を使用しての暗号化は行えない。現在、VeriSignはメッセージなどは日本語化されていないが、将来的には対応するとのことだ。

 VeriSign Document Signerのインストールは、Acrobat 5.0 CD-ROMにある「\Security-VeriSign」フォルダよりSetup.exeを実行する。インストールにより、ツールのメニューに「VeriSign Document Signer」が追加される。

 VeriSign Document Signerをインストールしたら、証明書を取得する。「ツール」→「VeriSign Document Signer」→「Get Digital ID From VeriSign..」を選択するとWebブラウザが立ち上がり、VeriSignのサイトでの証明書の取得の画面が表示される。試用するのであれば、60日間トライアルの証明書が取得できる。Web画面の指示に従い、証明書を取得する。VeriSign Document Signerでの署名操作も、前述のSelf-SignやEntrustと同じだ。

画面25 VeriSign Document Signerでの電子署名(画面をクリックすると拡大表示します



 ここまで、3種類の証明書を使用したAcrobat 5.0のセキュリティ機能について説明してきた。それぞれにメリット/デメリットがあり、使用目的によって使い分けることになる。では、それぞれの使い方について簡単に説明していこう。

   証明書の用途

●Self-Sign
 Acrobat 5.0標準搭載の機能であり、Acrobat独自の証明書の発行や配布が行える。署名や暗号化などの機能も備えており、認証機関の証明書発行が必要ないことから、手軽に基本的なセキュリティ機能を使用するのに適している。

 デメリットとしては、「証明書の発行や配布に関して本人性確認が厳密に行われない」「信頼済み証明書の一覧のメンテナンスが対象となる」「証明書の数が多くなると管理が大変になる」「証明書はAcrobat 5.0のみで有効で、ほかのアプリケーションとの連携はできない」ことなどがあげられる。

 用途としては、下記のポイントに絞られるだろう。

  • Acrobatのみで文書を交換する
  • 比較的少人数
  • 証明書を交換する人との信頼関係がすでにある
  • 手軽にセキュリティ機能を使用したい

 また、証明書の管理は個人個人に任せられる。従って、規模が大きくなるとメンテナンス(信頼済み証明書一覧)にかかる費用が増大する可能性がある。

●Entrust/PKI
 認証局の信頼モデルに従った範囲での運用が可能。発行された証明書に対して認証局の信頼性が確保できるので、企業間やほかの組織との文書のやりとりも安心して行える。電子署名、文書の暗号化の両方に対応している。Entrust Ready製品すべてに1つの証明書で対応できるので、Acrobat以外のアプリケーションとの組み合わせでも、信頼のある文書やデータの交換が可能になる。

 デメリットとしては、認証局導入の際に組織的な導入計画や導入運用のポリシー策定が必要なため、手軽には導入しづらい。また、「Entrust Desktop Solutions(Entelligence)」を各クライアントPCに対して配布/インストールする必要があることも、管理上の手間となる。

 認証局から証明書が発行されるため、文書を交換する相手側の認証局との信頼関係が結ばれていれば、どこでも使用できる。公開鍵や有効期限、証明書の有効性の管理は、ディレクトリサーバで管理されるため、各個人で管理する必要がない。個人の証明書をハードウェアトークンとして持つことにより、より本人確認の精度が高まる。

●VeriSign
 認証局の運用がいらず、手軽に始められるのが最大のメリット。証明書はVeriSignをインストールし、証明書の発行サービスを申し込むことにより、簡単に取得できる。

 デメリットとしては、文書の暗号化ができないこと。

 Entrustと同じく、認証局から証明書が発行されるため、文書を交換する相手側の認証局との信頼関係が結ばれていれば、どこでも使用できる。対外的な文書の交換が多い、あるいはその相手が多い場合に有効だ。証明書の管理は、VeriSignのサービスサーバにより行う。証明書の取得はAcrobatのVeriSignツールより行う。個人で管理するのは、自身の証明書のみで済む。個人の証明書をハードウェアトークンとして持つことにより、本人の確認精度が高まるのはEntrustと同じだ。

   各証明書の相互運用について

 3つのそれぞれの証明書を使用した電子署名の検証ができることは説明したが、1つの文書内に異なる証明書が混在する場合の検証について補足しよう。

 前提条件として、

  • Self-Sign
  • Entrust/Entelligence
  • VeriSign

の環境はインストール済みとする。

 文書内でそれぞれの署名を行う場合は、署名ハンドラを署名時に選択し署名する。署名の検証は、これまでに紹介してきた署名の検証と同じ手順で済むので簡単である。

画面26 同じ1つの文書内に、異なる証明書で同時に署名したところ(画面をクリックすると拡大表示します

 このような運用は、社内ではSelf-Signを使用して、社外に送る場合にはEntrustやVeriSignで署名を行うときなどが考えられる。

   セキュリティを使用したアプリケーション例

 それでは、これまで検証してきた各機能を使用して、どのような業務に対して適用すればいいか、いくつかの例を挙げて説明したい。

●社内での文書交換
 社内での文書交換において、セキュリティが必要な文書に使用することができる。例えば、機密性の高い文書などは暗号化して送受信し、さらに重要な書類に関しては電子署名をつけて改ざんを防ぐ、とかである。小規模環境での文書交換であれば、Self-Signを使用する方がいいだろう。

●社外との文書のやりとり
 社外との文書交換においては、電子署名は必須になるだろう。内容の重要度いかんを問わず、何らかの責任が発生する可能性があるため、PKIを使用した電子署名により、より信頼性を高めた文書の交換が望ましい。現在、現実世界で紙ベースの文書交換を行っている分野(契約、見積書、発注書など)においてもスピードアップが求められる時代になってきている。このような文書に、PKIを使用した電子署名を適用するメリットがあるのではなかろうか?

●電子政府での電子文書
 電子政府が実現されると、各種申請や提出書類は電子媒体のまま提出できるようになる。すでに、2001年4月より電子署名法が施行されているため、政府が認可した認証局、もしくはその認証局と相互認証している認証局が発行した証明書で署名された文書は、従来の紙で署名捺印された文書と同じ扱いになる。ここで紹介したPKIを基盤として、認証局から発行された証明書で署名し、提出するようになるのも、各種基盤の整備が整えば可能になるだろう。

   Acrobat 5.0のその他の機能について

 ここまでで紹介した署名の操作は、単に証明書を使用するだけのものだったが、Acrobatでは署名を文書上で扱う場合、全部で2つの方法がある。

  • 署名した内容を文書上で表示する
  • 署名した内容を文書上で表示しない(署名パネルで署名があることを表示)

 また、署名にはデフォルトの署名の表示以外に、自分の手書きのサインや印鑑、社印等をキャプチャーし、文書上に印鑑のイメージを再現したもので電子署名を行うことができる。さらに、Palm用のサインキャプチャも用意されており、Palm OSのPDAでサインをキャプチャし、そのサインを電子署名と一緒に文書に表示する、ということも可能だ。

   PKI対応アプリケーションの今後

 Acrobat 5.0は、PKIを利用するアプリケーションとしては非常に分かりやすい。これまで、SSLやS/MIMEなどを使用していた方や、PKIに興味はあるがいまいち分かりにくいと思っていた方には、その動作を“見て”理解してもらうには絶好のアプリケーションだといえる。残念ながら、無償で配布されているAcrobat Readerでは署名や暗号化はできないが、もしも触る機会があったら、ぜひいろいろと試していただきたい。

 PKIのアプリケーションは、これから電子政府の動きが活発になるにつれ、いろいろと充実したものになるだろう。実際、XMLでのデータ交換に署名をつけて改ざんを検知する製品なども出てきている。さらに、証明書を携帯端末や携帯電話で使用し、電子商取引などに活用する動きもある。これからまさに、名前通りの「Infrastructure」として、さまざまなところで活用されていくことだろう。


 


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 記事ランキング

本日 月間