PDF長期署名の仕様であるPAdESを解説する連載で、今回は第3回目となります。前回はPDF署名の仕組みについてざっくりと解説しましたが、今回はPAdESの入り口として仕様の構成についてお話したいと思います。

PAdESは正式にはETSI TS 102 778 Electronic Signatures and Infrastractures (ESI); PDF Advanced Electronic Signature Profilesとして参照されるんですが、5つのパートに分かれた大作になっています。

・Part 1: PAdES Overview - a framework document for PAdES
・Part 2: PAdES Basic - Profile based on ISO 32000-1
・Part 3: PAdES Enhanced - PAdES-BES and PAdES-EPES Profiles
・Part 4: PAdES Long Term - PAdES-LTV Profile
・Part 5: PAdES for XML Content Profiles for XAdES signatures

各パートを簡単に説明してみると



各パートを簡単に説明してみるとこんな感じ、、、

◆Part 1 - PAdES概要
PDF署名の仕組みの簡単な説明。PAdESの概要と各パートの概要。
◆Part 2 - PAdES-Basic
ISO 32000-1 (PDF 1.7)のPKCS#7(やや古いCMS)に基づいたデジタルタイムスタンプ付きPDF署名をPAdES Basicと呼べるようにするためのプロファイル。つまり、どの要素が必須でどれがオプションかの説明。現行のAcrobat 9でもPAdES Basicには対応している。
◆Part 3 - PAdES-BES, PAdES-EPES
上記のPKCS#7署名の代わりに、署名に関する補足情報をいろいろ記述できるようににしたCMSの拡張であるCAdES-BESとCAdES-EPESにデジタルタイムスタンプをつけたものをPAdES-BES、PAdES-EPESであるとし、そのプロファイルを規定したもの。
◆Part 4 - PAdES-LTV (Long Term Validation)
PAdES-Basic、PAdES-BES、PAdES-EPESを、署名した証明書の期限切れや失効に関係なく、数十年といった長期にわたり検証できるように、PDF署名に加えられた仕組みについて。CAdES-C、CAdES-X、CAdES-Aは使わずに、PDFにとって扱いやすくした仕組みとなっており、PDFのドキュメントオブジェクトとして証明書、CRL、OCSPレスポンスなどの検証情報、PDF署名の仕組みと全く同じのドキュメントタイムスタンプと呼ばれるアーカイブタイムスタンプ方式を規定している。
◆Part 5
Part 2〜4とは独立に、PDFで扱われる2つのXMLデータ、すなわちXML文書の添付ファイルと、XML形式の入力フォーム(XFA)の長期署名に関する規定。XML添付ファイルについてはXML長期署名あるXAdESを用い、入力フォームについてはPart 3のようにタイムスタンプ付きのXAdES-BESかXAdES-EPESについて、Part 4で規定したPAdES-LTVの仕組みを用いて長期保存する。

PDF(署名)を長期保存するための3つのパス


まずはPart2からPart4までの関係を説明するために図を描いてみました。
z03

PDF文書を、欧州の電子署名法に基づいて手書きと署名と同等であるとみなされる署名にしたかったり、署名データを長期間保存しなければいけなかったりする場合にはPAdES-Basic、PAdES-BES、PAdES-EPESの3つの方法があって、どの方法でも長期署名はできるようになっています。
証明書、CRL、OCSPレスポンスなどの検証情報や、ドキュメントタイムスタンプをつけるにはPAdES-LTVの方法を使うわけです。

PDFの中で使われるXML文書の長期署名


Part 5だけは、他とは毛色がちょっと違っていて、PDFの中に含まれるXML文書の部分をどうやって長期署名するかが規定されています。
z04

PDFの中のXMLは大きく2つあって
・XMLファイルを添付ファイルとして付与した場合
・入力フォームデータをXML Form Architecture(XFA)データとして持っている場合
があります。

添付ファイルの場合には、単にXAdESで長期署名してやれば良いわけですが、XFAのフォームデータの場合には、XAdES-BES、XAdES-EPES、XAdES-TまではXAdESでやりますが、検証情報の追加やドキュメントタイムスタンプなどXAdES-X Long、XAdES-Aに対応するところは、先ほど説明したPart 4のPAdES-LTVの仕組みを使うようになっています。

ETSI PAdESの仕様のダウンロード


ETSIの技術標準(TS: Technical Standard)や技術レポート(TR: Technical Report)は、ユーザ登録さえすれば誰でも無償でダウンロードできます。
ダウンロードページを開き
z01

Search forで「PAdES」と入力し、「Search」ボタンを押すとデフォルトでPAdES仕様の最新のものの一覧が出てきます。
z02

右側のフロッピーディスクのアイコンをクリックするとアカウント入力の画面です。初めてならば「Uesrs without an ETSI account」の下の「Click here to register」をクリックし、氏名やメールアドレスを登録します。

前に登録していれば単にメールアドレスを入力するだけでPDF形式のドキュメントがダウンロードできます。詳しく知りたい場合にはダウロードしてみてください。

今日は、この辺で、、、