PDF長期署名の仕様であるPAdESを解説する連載で、今回は第5回目となります。前回はPAdES Basicついて解説しましたが、その際宿題となっていたPAdES Basic用の署名ポリシに相当するSeed Valuesについて解説しようと思います。
電子契約や電子商取引において、デジタル署名付きの文書を作成した署名者と、文書を受け取ってその文書が正しいか検証する検証者との間で、どんな署名文書を交換するのか、署名の形式を事前に取り決めておくと良いケースがあります。
例えば、使ってよいハッシュアルゴリズムをSHA256、SHA512に限定したり、署名者証明書を発行してよい認証局を定めたりしたり、医師や弁護士などの資格情報を署名に含めたりするなどです。これを署名者と検証者の双方が合意して文書化、データ化したものを「署名ポリシ」と呼んでいます。
CAdESやXAdESの長期署名フォーマットでは、署名ポリシをASN.1バイナリ形式もしくはXML形式でデータ化するために以下のような仕様があります。
- RFC 3125 Electronic Signature Policies
- ETSI TR 102 272 ASN.1 format for signature policies
- ETSI TR 102 038 XML format for signature policies
Seed Values
PAdES Basicでは、ISO 32000-1との完全な互換性のために、CAdESの署名ポリシを使わずにこれと同様な機能を同じくISO 32000-1で規定されたSeed Valuesを使うとしてます。
引用:ETSI TS 102 778-2: 4.5 Seed Values and Signature Policies
A seed value dictionary (ISO 32000-1 [1], clause 12.7.4.5, table 234) contains information that conveys a set of rules (or policies) that the form's author wishes the conforming signature handler to enforce at the time the signature is applied. These wishes can be specified either as requirements or recommendations. These seed values perform a similar function as the signature policies specified in TS 101 733 [i.2].
Seed Valuesの定義はISO 32000-1 12.7.4.5 Signature Fieldsの節のTable 234(p447)で定義されています。
Seed Valuesはディクショナリ(名前とキーのペアの組)で表現されるようになっています。どのようなキーが使えるか主要な要素を表にしてみると以下のようになります。
ざっと読んだところETSIの署名ポリシの簡易版みたいな位置づけになりそうです。
Seed ValuesとETSI署名ポリシとの違い
Seed ValuesとETSIの署名ポリシとを比較して、できる事、できない事をまとめてみましょう。
- ETSIの署名ポリシしかできない事
-
- 個々の署名ポリシに対してポリシIDかポリシURIが必須となっていて、そのIDで参照する。署名には署名ポリシ自体は含まれず、ポリシの参照だけが含まれる。
- 署名者と検証者の要件を分けて記述できる。
- 署名を行った理由、例えば文書作成者、承認者、配信者であることの表明に応じて必要な属性や証明書の種類の受け入れ要件を記述できる。
- タイムスタンプ局の詳細な情報(証明書、TSAポリシ、時刻精度、受け入れ誤差範囲)などが記述できる。
- 署名理由、属性の種類、暗号アルゴリズムが識別子で表現されるので ユニークに識別できる。
- 署名ポリシを単体でリポジトリに置いておき、これを署名者・検証者で参照できる。
- Seed Valuesにしかできない事
-
- 法的証明(Legal Content Attestation)を文字列で記述できる。
- 多くの情報がシンボルでなくフリーフォーマットの文字列で記述できる。(比較がし辛いなどのデメリットもある。)
おわりに
以上、今回はETSI署名ポリシと似た機能を持ち、Adobe Acrobatの標準機能で使えるPAdES Basic用の署名ポリシとも言えるSeed Valuesについて解説しました。
ではでは