(ECOM)主催の『電子署名・タイムスタンプ普及フォーラム2008』というセミナー(2008年2月28日)に参加しました。このセミナーを含め、電子署名・タイムスタンプ関係者が、電子署名、タイムスタンプが普及しないと、いうお話をされることをしばしば耳にします。2000年頃からやっている方々は、もうかなり長いことやっているのに思ったほど普及しない、と嘆かれているのでしょう。セミナーの最後に、「電子署名・タイムスタンプ普及に向けて」というパネルディスカッションがありました。冒頭に、モデレータの方が「紙文書と電子文書にギャップがある」「現実の世界は紙文書を前提に最適化されている。法制度も紙文書が前提になっている。」との導入がありましたが、そもそも、「紙文書」と「電子文書」を比較すること自体不適切ではないかと思います。紙文書には、手書きの文書あるいはFAXの受信などアナログ生まれの文書があります。電子文書は、ワープロで作ったり、データベースから取り出されたり、あるいは、Webから入力されたりするデータが元になるとしますと、実体はビットの配列です。それを、人間が認識するために、ディスプレイに可視化することもありますし、トナーとインクで紙に定着させることもできます。後者は紙文書となります。け」というフェーズの違いがあります。考えますと、紙文書と電子文書を同列に並べて議論するのは、本質的に違うものを比較しようとしていると思えるのです。その結果、議論の論旨が不明になっていないでしょうか?電子文書が普及しないというのは、デジタル化が進まない・IT化が進まないということを意味していると思います。これは電子署名やタイムスタンプの前段階の話だろうと思います。(1)デジタル化が進まない・IT化が進まない、ということと、(2)電子署名やタイムスタンプが普及しないことは、別の現象として議論する方が良いのではないか、と気になりました。これらが別のものであれば、対策も別に考えねばならないからです。「紙文書と電子文書を同列に並べて議論するのは、本質的に違うものを比較しようとしているのではないか。」ということについて、もう少し考えてみます。人間が紙に文字を書くのは、脳や手の中はともかく、大変単純な行為だと思います。これに対して、デジタルデータが紙に可視化される過程は、かなり複雑です。次の絵をご覧ください。これは、テキスト中心のデジタル・データ(以下、これを「電子文書」と総称します)が可視化されるまでの流れを大雑把に書いたものです。電子文書には大きく分けると3種類があると思います。ワープロの文書、DTPソフトのデータのようにアプリケーションと不可分、コンテンツとレイアウト(書式)情報が渾然一体となったバイナリ形式のデータレイアウト情報をもたないデータ。XML、CSV、あるいは、EDIの中を流れる取引データなど。デジタルの紙ともいえる可視化された状態を電子ファイル化したもの。1~3によって可視化の処理がかなり異なります。1.はワープロやDTPのバイナリデータですが、これはアプリケーションと不可分になっているため、可視化するには、その電子文書を作成したアプリケーションが必要です。元のアプリケーションがなければ、正しく可視化できません。場合によっては、アプリケーションのバージョンが異なると可視化した結果が異なってしまいます。Wordでは、異なるバージョンで作成したファイルを読むと、文書のレイアウトが崩れてしまうことがあります。これは、実際に経験された方も多いと思います。2.はレイアウト情報をもたない内容だけの情報。これを可視化するには、外部からレイアウト定義情報を与える必要があります。XMLにレイアウト指定を与える標準的方法として、XSL-FOとかCSSがあります。CSV(カンマ区切りテキスト・データ)のような情報では、なんらかの定義を与えて、可視化する必要があります。このような電子文書は、アプリケーションからは独立ですが、レイアウト定義によって、可視化結果が異なることになります。3.はPDFやXPSになります。これらは、プリンタ装置を使って紙に可視化するプログラム(手続き)を電子ファイル化したものということができます。Language)と言います。その手続き(PDL仕様)が、標準として公開されていれば、比較的標準的な可視化ソフト(ビューア)を作ることができます。DocuWorksのように、非公開のものもあります。このように、電子文書というのは非常に幅広い概念であり、多くの場合、電子文書の見え方はそれを可視化するアプリケーションや装置に依存している、ということに注意しなければなりせん。次に電子文書を可視化する過程と、電子署名の関係について考えて見ます。電子署名自体は、デジタルデータであれば何にでも付与することができます。電子署名の使用用途によって、署名対象文書の種類が変わってくるはずです。電子署名のプリミティブな役割は、署名対象文書が、署名後に改竄されたことを検出することです。電子署名を、この用途で用いるならば、どのような電子文書を対象に電子署名しても意味があると思います。この場合は、人間は介在せず、コンピュータのみで計算・処理することができますし、どのような電子データであれ、署名の付与と、署名検証のアルゴリズムは同等の意味をもつからです。これに対して、電子署名を、署名者である人間が内容を確認して、確かに承認したことを証明する場合、すなわち署名者の意思を保証するために用いる場合は、事情が変わってきます。この用途では、XML文書やバイナリの電子文書に人間が署名することは意味をなさない場合があるだろう、と思われます。言いますと、XML文書の場合は、レイアウト指定(スタイルシート)、バイナリデータの場合はアプリケーションによって、可視化され、表示される情報の意味が変わる危険があるからです。極端な例ですが、「この色は、確かに、自分の指示した色です。」と言って承認しても、モノクロのディスプレイで見る人と、カラーディスプレイで見る人では異なった色を見ていることになります。同じカラーディスプレイでも、カラーがデバイス依存になることがあります。しますと、XML文書やバイナリ文書に、人間の承認を証明する用途の電子署名をすることに意味があるかどうかは、かなり慎重に検討を要することになります。整理しますと、電子署名の用途のうち、「署名者である人間が承認したという意思を確認するための署名では、署名対象文書の内容が正しく画面なり紙に可視化されていること、そして、それを署名者が認識したという事実が保証されないといけないこと」、となります。電子文書のうち、PDF以外では、これを技術的に保証するのはなかなか難しいと思います。PDF電子署名では、どうなのでしょうか?PDFは、紙に印刷する状態を電子ファイル化したものですし、そのファイル内の命令の仕様が公開されていますので、他の電子文書よりは、保証しやすいと思います。PDFでも次のような例外があります。・PDFではJavaScriptを埋め込んで、可視化状態をプログラムで、条件により変更してしまうことができます。・可視化するビューアやツールによって表示内容が変わってしまうリスクがあります。これに類似する分かりやすい例は、PDFで画面上に墨を塗って文字を消したように見せても、実はその文字がファイルの中に存在していて、他のツールで見えてしまうということがあります。(下記の記事をご参照ください。)PDFで隠したはずの個人情報が丸見えになるということは、「PDFでも可視化される状態が、状況によって変わってしまうことがありうる」、ということを示しています。いう機能(オプションです)があります。このあたりは難しいのですが、PDFの電子署名では、上に述べましたような、可視化の方法によっては、相手をミスリードする可能性があることを踏まえて、署名時に、ミスリードしそうな内容をチェックする機能が定義されているということです。