以前にもベータ版の時に書きましたが、MS-Office2010では標準のデジタル署名が長期署名(XAdES-EPES)になりました。弊社はボリュームライセンスなのでダウンロードで正式版が入手できたので仕様の解析をしてみました。まずは簡単なスライドの表示です。
上のスライドの説明は [続きを読む] にて。上のスライドが見えない場合同じ内容のPDFは
こちら(約170KB)。
■ 1ページ目:MS-Office2010の署名について
ここは読んだ貰ったままなのですが、特筆すべき点として以前はMS-Office2007では長期署名のOOXMLファイルは検証に失敗していたのですが、いつの間にか検証が出来るようになっていた点があります。おそらくMS-Office2010では長期署名が標準になったので、そのままではMS-Office2007で検証エラーになることから修正してきたのだと思います。他には猶予期間が考慮されていなかったりアーカイブタイムスタンプに未対応だったりと言う問題点もあり、現実的にはXAdES-EPESかXAdES-Tまでの利用が推奨されます。まずは長期署名の最初の一歩が実装されたと言う理解で良いのでしょう。
■ 2ページ目:MS-Office2010の署名レベル
と言うことで2ページ目では長期署名から対応されている署名レベルの説明です。まあアーカイブタイムスタンプのXAdES-Aに未対応な点を除けばおおむね標準通りなのですが…幾つか問題があります。まずは検証情報の収集が署名時点で行われてしまい猶予期間が考慮されていない点があります。次にXAdES-X-LからXAdES-CやXAdES-Xを省くと検証エラーになる点も問題とは言いませんが面倒です。多くの実装ではXAdES-X-LであればXAdES-Cは入れない仕様にしているケースが多いでしょう。他にもMS-Office2010独自のローカルルールが多いようでサードベンダーが長期署名化のツールやライブラリを作るにはハードルが高そうです。困ったものですが仕様を明確にしてもう少し寛容な仕様にして欲しいですね。
■ 3ページ目:MS-Office2010の署名設定
現在公開されている署名のレジストリ設定をまとめてあります。これに関しては
設定ツールを作りましたのでよろしければご利用下さい。
■ 4ページ目:MS-Office2010の署名の詳細表示
最後はMS-Office2010の詳細表示で長期署名のレベルが表示されるようになったと言うことで画面サンプルをのせています。
さてそれではXAdES-X-Lで署名した場合の署名ファイル sig1.xml を参考までに公開しておきましょう。
XAdES-EPES例
何はともあれあのMicrosoftが長期署名を標準で採用したのはとても良いことだと感じています。XML署名を後から長期署名(XAdES)化することは出来ないので、最初からXAdES-EPESにしてある事は将来に向けての大きな一歩になることでしょう。今後実装を進めて頂いて仕様も公開されると使える長期署名になるのでは無いでしょうか。今は正直まだまだではありますが将来に期待しましょう!
[2010-06-22更新]
kjurさんの
自堕落な技術者の日記も必見!
2010-06-19:
Microsoft Office 2010 Beta XAdES機能のタイムスタンプの問題点
2010-04-01:
Microsoft Office 2010 BetaのXAdES機能