電子署名やPKIの分野では、「フォーマット」や「プロファイル」という言葉が出てきます。今回は、JAdESに特化した話ではなく、各電子署名の性質やCAdESやXAdESなどにも共通する「先進署名フォーマット」「先進署名フォーマットプロファイル」とは何かを詳しく解説します。
先進署名と適格署名、普通のデジタル署名の違い
先進署名フォーマット(AdES)と一般的なCMS SignedData、XML署名、PDF署名などの署名フォーマット、単に秘密鍵を使ってデータにデジタル署名した、署名プリミティブとも呼ばれる処理にどのような違いがあるのか整理することで、先進署名フォーマットが何であるかを探ってみましょう。
デジタル署名は、データの保証能力の観点から4つに分類でき、後者ほどデータの保証能力や証拠能力が高くなっています。
②CMS SignedData、XML署名、PDF署名、JWSなどの署名フォーマットによる署名
③先進署名フォーマット(AdES)による署名
④欧州 適格電子署名、適格eシール
それぞれ、どのような性質があるのかは、以下をご覧ください。
①基本的なデジタル署名(RSA署名、ECDSA等)
- 秘密鍵、公開鍵さえあれば証明書はなくても署名が可能
- 公開鍵に紐づく秘密鍵で署名され、改ざんされていないことのみ確認可能
- 誰が署名したか、署名データ自体からは不明
②署名フォーマット(CMS署名、XML署名、PDF署名、JWS、S/MIME署名メール、コード署名等)
- どの公開鍵証明書に紐づく秘密鍵で署名されたのか確認可能
- 公開鍵証明書と署名の結びつきが弱い
- 発行者とシリアル番号が同一の証明書が不正発行されていても区別が不可能
- 署名時刻など最小限の署名に関する属性情報が定義されている
③先進署名フォーマット(AdES)
- ②に対して署名に補足する属性の追加
- 公開鍵証明書と署名の結びつきを厳格にできる
- 署名時刻を第三者保証でき、証明書の失効の有無を厳格に判断可能
- 公開鍵証明書が有効期限切れとなっても署名の有効性を確認可能
- 署名の意図や署名場所など、署名に関する補足的な属性が定義されており、これを追加可能
④欧州 適格電子署名/欧州 適格eシール
- ③AdES + EU適格証明書 + EU適格署名生成デバイス
- 署名者が誰か、文書発行元がどの組織かという法的な裏付けがEUにおいて保証されている
- 証明書発行について厳格な本人確認、組織確認のもとで発行されており、なりすますことはほぼ不可能
- 認定された署名デバイスを使うことが保証されている
プロファイルとは何か
署名フォーマットは、署名データの形式を定めたもので、フォーマットに含めることが可能な全てのオプション、属性情報の格納方法なども合わせて定義されています。しかし、フォーマットが標準として与えられただけでは
- 相互運用性上、どのオプションを使った方がいいのか、いけないのか
- どのオプションをどのように指定するのがオススメなのか
利用者や開発者は判断がつきません。そこで、相互運用性向上のため、これらの利用制限事項を標準として定めたものを「プロファイル」と呼んでいます。
デジタル証明書の標準仕様であるRFC 5280もプロファイルなのをご存知でしょうか。デジタル証明書の標準仕様はITU-T X.509で定められていますが、RFC 5280の表題はInternet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profileとなっており、「インターネット上で相互運用性を高める」ための利用制限事項を加えたのが「プロファイル」です。
先進署名フォーマットプロファイルの種類について
CAdESやXAdESといった先進署名フォーマットのISOやETSIの国際標準では、フォーマットで使用可能な全ての属性を基本要素(Building Blocks)として規定し、基本要素の中から使って良い属性、使ってはいけない属性をまとめた3種類の先進署名フォーマットプロファイルが規定されています。JAdESでは、3つのうちの1つが先行して策定されたという状況です。
CAdESとXAdESで参照する標準仕様は以下のようになっています。
CAdESの基本要素とプロファイル
基本要素:ETSI EN 319 122-1 CAdES Building Blocks
EU拡張プロファイル:ETSI EN 319 122-2 CAdES Extended Profile
EU 基本プロファイル:ETSI EN 319 122-1 CAdES Baseline Profile
ISOプロファイル:ISO 14533-1
XAdESの基本要素とプロファイル
基本要素:ETSI EN 319 132-1 XAdES Building Blocks
EU拡張プロファイル:ETSI EN 319 132-2 XAdES Extended Profile
EU基本プロファイル:ETSI EN 319 132-1 XAdES Baseline Profile
ISOプロファイル:ISO 14533-2
全部出揃っているものとしてCAdESを例に、どのような包含関係にあるのかを示したのが下図になります。
基本要素と3つのプロファイルについて、その特徴を整理しました。
CAdES基本要素
- CAdES先進署名を構成するフォーマットと全ての属性群の定義
- 形式と属性群を定めたが、どの属性を選ぶべきか言及しない
- 基本プロファイルと同じ標準仕様の中で規定されている
①CAdES EU拡張プロファイル
- 汎用的な用途でのCAdES先進署名の属性群の「緩い」利用制限を定義
- どの属性を使った方がよいか、使うべきでないかを「緩く」定義したもの
- 汎用的なため、欧州に限らず全世界で利用しやすい
- 古いETSI TSの標準仕様のCAdES-BES/EPES/T/C/X/Aとほぼ同じ
②CAdES EU基本プロファイル
- EU域内でデータ交換するための属性の利用制限を「厳格に」定めたもの
- EU域内では主流として使用される
- 検証参照情報(CAdES-C/X)を利用禁止
- signingTime属性は必須
- 余計な属性を加えることができない
- 制限が強すぎるため、EU外では利用しづらい
- 基本要素と同じ標準仕様の中で規定されている
③ CAdES ISOプロファイル
- 国際規格としてデータの署名者保証のための流通可能な形式をCAdES-T、CAdES-Aに制限し、属性の利用制限を「厳格に」定めた相互運用性を高めたもの
- CAdES-Aでは署名タイムスタンプはオプション
- 署名意図や署名場所などのマイナーな属性は、追加規定が無い限りは使用不可
- 最も相互運用性が高く国際的に利用しやすい
標準仕様の構成として分かりづらいのは、
- 基本要素と制限が厳しい②EU基本プロファイルが一つの仕様書の中で記載されていること。
- EU拡張プロファイルと②EU基本プロファイルとで、一般には②EU基本プロファイルの方が汎用的であると考えがちだが、①EU拡張プロファイルの方がむしろ汎用的なものであることと思われますので、ご注意ください。包含関係や依存関係が標準仕様のタイトルからはわかり辛く、基本要素とEU基本プロファイルは別の標準仕様になっていた方が良かったのかもしれません。
また、JAdESのプロファイルについては、EU拡張プロファイルやISOプロファイルはまだ策定されておらず、その一方で、欧州のオープンバンキングのためにEU基本プロファイルを元にしたプロファイルが策定されました。将来的にはEU拡張プロファイルも策定されるものと思います。
JAdESの基本要素とプロファイルの標準仕様以下の通りです。
JAdES基本要素:JAdES Building Blocks
JAdES EU基本プロファイル:JAdES Baseline Profile
Open Banking Europe JSON Web Signature Profile
包含関係を示すと下図のようになります。
基本要素と2つのプロファイルについて特徴を整理してみました。
JAdES基本要素
- 属性群はCAdES、XAdESの基本要素と意味的にはほぼ同じ
- EU基本プロファイルと同じ標準仕様の中で規定されている
②JAdES EU基本プロファイル
- 属性の利用制限はCAdES、XAdESのEU基本プロファイルとほぼ同じ
- 基本要素と同じ標準仕様の中で規定されている
④Open Banking Europe JSON Web Signature Profile
- HTTP(S)のトランザクション保護のため、HTTP(S)のヘッダとボディをJAdES-B-B (タイムスタンプや証明書検証情報など含まないフォーマット)で保護するためのプロファイル
以上、今回は先進署名フォーマットのデータ保証レベルの視点での違い、先進署名フォーマットプロファイルの違いについて解説しました。次回は、各プロファイルとタイムスタンプや検証情報の関係について説明いたします。