2015-02-20

PAdES Remote Plugtests 2015  [by miyachi]

ETSIの次プラグテストは5月4~29日でPAdESとアナウンスされました。現在ETSIでは各長期署名仕様を見直してEN化しています。今回のプラグテストはそのdraftをベースに仕様チェックを兼ねているようです。

[PAdES Remote Plugtests 2015]
http://www.etsi.org/news-events/events/887-pades-remote-plugtests-2015

[Draft ETSI EN 319 102-1 V0.12.0 (2015-2)]
http://docbox.etsi.org/ESI/Open/Latest_Drafts/prEN-319102-1v0120-SigCreationAndValidationProcedures-STABLE-DRAFT.pdf (PDF注意)

今回も参加費は無料ですがNDAは交わす必要があります。弊社製品も参加して相互運用性のチェックを予定しています。結果はNDAがあるので公開できないんですが互換性は確実に上がると思います。

日本でもこのような相互運用性試験やりたいですね。そのうちJNSAで何とかと考えてはいますがどうなりますか。何はともあれPAdES実装をお持ちのベンダー・メーカーさんは是非ご参加を!
2015-02-20 20:20:34 - miyachi - コメントを書く - [長期署名] - この投稿をtweetする!

2013-03-21

電子署名の系譜  [by miyachi]

先日何に使う訳でもないのですがふと電子署名データフォーマットの系譜でもまとめてみるかと言う事で作った1枚の画。う~ん思った以上につまらなかったですねw



実はこちらは画にする必要も無い電子署名の系譜があったりします。それは日本の電子署名標準化に関する系譜です。先日弊社も加盟しているeRAP「電子記録応用基盤フォーラム」成果報告会がありました。eRAPではかつてECOMが行ってきた電子署名標準化の作業を引き継いで来ました。ECOMでは長期署名のJIS化を、eRAPではISO化を達成しています。ところがeRAPはフォーラムとしては今年度を最後に終了して、来年度は研究会としてケースマネージメント等の活動を行う予定です。電子署名標準化の作業は残念ながら継続されない事になりました。と言うことで成果報告会にてセコムの佐藤さんの発表の最後に以下のアナウンスがありました!

「今後の電子署名技術に関する調査研究はJNSA(日本ネットワークセキュリティ協会)の電子署名WG(仮称)で活動予定。近日キックオフミーティング予定。」

弊社もJNSAに4月より加盟して同WG活動に参加予定です。近年また電子署名のお話が増えて来ているように感じています。参加すると勉強にもなりますし新しい技術もいち早く知ることができます。ご興味がありましたら是非ご参加ください!最初は見学からでもOKだと思います。弊社にご連絡頂いても大丈夫です。と言うことで日本の電子署名標準化の系譜は「ECOM→eRAP→JNSA」になります!

さて閑話休題(長い閑話だったなぁw いや正確にはこの後が閑話か(^^;)。せっかく書いた電子署名データフォーマットの系譜について簡単に個人的感想を付けてみましょう。 [続きを読む]
2013-03-21 13:21:05 - miyachi - 2 コメント - コメントを書く - [長期署名] - この投稿をtweetする!

2012-06-08

XML長期署名ツール LE:XAdES:Tool Ver2.00B1 公開  [by miyachi]



XAdES v1.4.1/1.4.2に対応したXML長期署名ツール「LE:XAdES:Tool」のVer2.00ベータ1版をリリースしました。ETSIのXAdESプラグテストで利用した機能が組み込まれています。ダウンロードはこちらから!

Ver2となったこともありイメージも少し変更し名称も「XAdEStool」から「LE:XAdES:Tool」としました。ちなみに「Le-XAdESライブラリ」もVer2.00からは「LE:XAdES:Lib」と名称変更の予定です。「LE:XAdES:Lib」は簡単なマニュアルも用意しようとしている為に今しばらくリリースまで時間が必要ですが、先に「LE:XAdES:Tool」で機能をお試しください。なお更新の詳細は readme.txt をご覧ください。

なお「LE:XAdES:Lib」はVer2.00より少しAPIや利用方法に変更があります。その辺りの移行手順もマニュアルにまとめる予定です。「LE:XAdES:Lib」のVer2.00正式リリースまではベータ版として「LE:XAdES:Tool」をリリースします。XML長期署名ツール「LE:XAdES:Tool」は試験または個人利用の目的で公開されております。商用利用は不可となっておりますのでご了解ください。

何かありましたら本投稿にコメントを頂くかメールをお願いします。それではお楽しみください!
2012-06-08 22:06:19 - miyachi - コメントを書く - [長期署名] - この投稿をtweetする!

2012-04-06

XAdES 1.4.1/1.4.2:第4回 サンプルファイル他  [by miyachi]

さて技術的な説明は前回前々回で終わったと考えています。最終回の今回はまず実際のサンプルファイルを見てみましょう。早速ですが以下はXAdES 1.3.2とXAdES 1.4.1/1.4.2でそれぞれ署名したES-A(保管タイムスタンプ付)のサンプルファイルです。弊社のLe-XAdESのVer1.5ベータ版で作成してあります。 [続きを読む]
2012-04-06 14:40:49 - miyachi - 2 コメント - コメントを書く - [長期署名] - この投稿をtweetする!

2012-04-05

XAdES 1.4.1/1.4.2:第3回 XAdESv141:ArchiveTimeStamp  [by miyachi]

さて1日間が空きましたが第3回は前回説明したXAdESv141:TimeStampValidationDataと同じくXAdES 1.4.1/1.4.2で新しく追加されたXAdESv141:ArchiveTimeStampについての説明です。名前の通り保管タイムスタンプなのですがXAdES 1.3.2とは互換性がありませんので名前空間で区別して利用する必要があります。

では今回もそもそもなぜ新しい保管タイムスタンプであるXAdESv141:ArchiveTimeStampが必要になるのかと言う話からしましょう。前回XAdESの非署名領域であるUnsignedSignatureProperties要素の下にタイムスタンプ用の検証情報格納場所であるXAdESv141:TimeStampValidationDataが追加された事を説明しました。UnsignedSignatureProperties要素の下にはSchema的には任意の要素の追加が可能なので問題ありません。

一方XAdESv132:ArchiveTimeStampの計算時にはUnsignedSignatureProperties要素の下の決められた要素を順番に取得して連結して行く仕様となっています。この決められた要素とは全てXAdES 1.3.2で定義されたSignatureTimeStamp要素やCertificateValues要素等でありXAdESv141:TimeStampValidationData要素が含まれていません。これではせっかくXAdES 1.4.1/1.4.2で追加したXAdESv141:TimeStampValidationData要素の下が保護出来ない事になってしまいます。そこでArchiveTimeStampの計算方法として「UnsignedSignatureProperties要素の下を全て対象とする」XAdESv141:ArchiveTimeStamp要素を追加して解決したと言う事です。

ただそれだけでは無くもう1点ds:Objectの扱いについても変更がありました。XAdES 1.3.2では「Reference要素で参照されていないds:Object」が対象でしたが、XAdES 1.4.1/1.4.2では「全てのds:Object」が対象となりました。なお正確には「XAdESの要素であるQualifyingPropertiesを持つds:Objectは除外する」と言うルールもありますがこれはXAdES 1.3.2とXAdES 1.4.1/1.4.2の両方に共通しています。

以上をまとめると以下のようになります。

 1)XAdES 1.3.2における保管タイムスタンプ仕様(一部)
  1:UnsignedSignatureProperties要素の下の決められた要素を連結
  2:Reference参照されていない全てのds:Objecctを連結 ※

 2)XAdES 1.4.1/1.4.2における保管タイムスタンプ(一部)
  1:UnsignedSignatureProperties要素の下の全ての要素を連結
  2:Reference参照有無に関係無く全てのds:Objecctを連結 ※

 ※ ただしXAdESのQualifyingPropertiesを持つds:Objectは除外する。

計算方法が2箇所異なるので、当然計算結果のハッシュ値もXAdES 1.3.2とAdES 1.4.1/1.4.2では異なり一致しません。XAdESv141:TimeStampValidationData要素への対応の為に異なる保管タイムスタンプが生まれてしまいました。

なおXAdES 1.4.1のSchemaではXAdESv141:ArchiveTimeStampV2と書かれていましたがこれは誤りで、V2が無いXAdESv141:ArchiveTimeStampが正しい要素名となります。これはXAdES 1.4.2で訂正されています。 [続きを読む]
2012-04-05 11:46:48 - miyachi - コメントを書く - [長期署名] - この投稿をtweetする!

2012-04-03

XAdES 1.4.1/1.4.2:第2回 XAdESv141:TimeStampValidationData  [by miyachi]

さて今回はXAdES 1.4.1/1.4.2で新しく追加された要素のうちタイムスタンプの検証情報を保管するXAdESv141:TimeStampValidationDataについて私の理解の範囲で説明しましょう。

そもそも何故XAdESv141:TimeStampValidationDataが必要になるのかと言う話からする必要がありますね。XAdESをはじめとする長期署名は基本的には「署名」+「タイムスタンプ」(これがES-T形式)となります。PDF長期署名のPAdESでは「(文書)タイムスタンプ」だけで「署名」無しの仕様も可能ですが、XAdES/CAdESでは署名抜きでタイムスタンプだけの仕様はありません。

タイムスタンプのRFC3161仕様とは乱暴に言えばサーバによる「署名」と言えます。つまり「署名」+「タイムスタンプ」では2つの「署名」がある事になります。それぞれの「署名」についてEE(署名者)証明書が存在しており、かつトラストアンカーとなるルート証明書までの証明書パス(チェーン)が存在する事になります。

もし「署名」と「タイムスタンプ」で同じトラストアンカーのルート証明書を使うのであれば同じ証明書とCRL等の検証情報で良いので証明書パスは1つだけですみます。過去にXAdESの国際プラグテストを行った時には署名証明書とタイムスタンプは同じトラストアンカーを利用していました。欧州等ではどうもこのような運用が一般的だったようです。

一方日本では主に「署名」に関しては経済産業省の管轄であり「タイムスタンプ」は時刻に関係があるので総務省の管轄で認証局とタイムスタンプ局が別々に認定されてきました。このために「署名」と「タイムスタンプ」ではトラストアンカーとなるルート証明書が異なります。そうすると証明書パスは「署名」と「タイムスタンプ」の2つが必要となります。

少なくとも日本では証明書パス(と正確にはそれらに必要な検証情報群)は2つ格納する必要があります。ところがXAdES 1.3.2の仕様では証明書はCertificateValues要素下に格納し検証情報はRevocationValues要素下に格納できるだけです。かつCertificateValues要素とRevocationValues要素は1つだけしか認められません。つまり証明書パスの情報を格納するのは1ヶ所しか無いのです。本来CertificateValues要素とRevocationValues要素には「署名」に関する証明書パスと検証情報を格納する事になっています。

このままでは「タイムスタンプ」の証明書パスと検証情報をXML要素として格納する事ができません。そこでJIS化する際に以下のルールが定義されました。

 署名タイムスタンプ(SigTS)の証明書と検証情報:
  1)タイムスタンプトークン自身に埋め込む
  2)CertificateValues要素とRevocationValues要素に入れる

 保管タイムスタンプ(ArcTS)の証明書と検証情報:
  1)タイムスタンプトークン自身に埋め込む

正確にはタイムスタンプトークンのどこに埋め込むかによって更に種類は分かれますがここの本題では無いので省略します。CertificateValues要素とRevocationValues要素に関しては意味を広義にとって署名タイムスタンプについては利用しても良いとしました。保管タイムスタンプはその時刻が常にRevocationValues要素に埋め込まれたCRL発行日よりも後になるので利用できません。

これでめでたしめでたし…なのですが証明書や検証情報を「タイムスタンプトークン自身に埋め込む」には以下の意見がありました。

 1)XMLだけでなくASN.1/DER(BER)の操作が必要になり難しい
 2)取得したタイムスタンプトークンはそのまま利用すべき
 3)XMLの利点である可読性の面から望ましくない
 4)CertificateValues/RevocationValuesは署名証明書のみにすべき

どれも問題点と言うレベルでは無いのですが、特に1)のASN.1/DER(BER)の操作については技術的なハードルが高くなるので実装者が苦労すると嫌がられています。ちなみに日本ではどのベンダーもタイムスタンプトークン自身に埋め込む方式に対応しています。JIS対応するには必須ですから当然ですね。しかし欧州では…げふんげふんw ここでXAdESv141:TimeStampValidationDataの登場です。 [続きを読む]
2012-04-03 13:48:45 - miyachi - コメントを書く - [長期署名] - この投稿をtweetする!

2012-04-02

XAdES 1.4.1/1.4.2:第1回 概要と名前空間  [by miyachi]

XMLの長期署名フォーマットであるXAdESの最新仕様はETSI(欧州電気通信標準化機構)が中心となって決定しています。日本では旧ECOM及び現在はeRAP(電子記録応用基盤フォーラム)が中心となってJISプロファイルを策定してきました。現在のJISプロファイル(JIS X 5093:2008)はXAdES 1.3.2をベースにしています。しかし実は新しいXAdES 1.4.1が既にリリースされており、更に1.4.1を更新したXAdES 1.4.2も2010年12月にリリースされています。ETSIのベースラインプロファイルも昨年リリースされ欧州では標準化作業が進展しています。ここまでのXAdES仕様の流れを以下にリストアップします。

 (2005) ETSI XAdES 1.3.1 Draft
 (2006-03) ETSI XAdES 1.3.2 [PDF]
 (2008-05) JIS X 5093:2008 [案:PDF]
 (2009-06) ETSI XAdES 1.4.1 [PDF]
 (2010-12) ETSI XAdES 1.4.2 [PDF]
 (2011-09) ETSI XAdES Baseline Profile [PDF]

XAdES 1.3.1の前にももちろん仕様が存在しますが今回の話には必要が無いのでここでは説明しません。またXAdESはベース仕様として XmlDsig(XML署名)[PDF] を使っています。しかしながらXAdES 1.4.1/1.4.2に関して言えば変更はありませんのでこれもここでは説明しません。

JISプロファイルもそろそろXAdES 1.4.1/1.4.2ベースに移行する必要があると思いますが色々な事情もあり(聞かないでw)まだ更新されていません。しかしながらそろそろ弊社のLe-XAdESライブラリもXAdES 1.4.1/1.4.2へ対応しようと作業を開始しました。その必要もあってXAdES 1.4.1/1.4.2仕様をまずは簡単にまとめたいと思います。 [続きを読む]
2012-04-02 15:09:35 - miyachi - コメントを書く - [長期署名] - この投稿をtweetする!

2010-07-23

XAdES/CAdES Remote Plugtests Event 2010  [by miyachi]

ETSIによる長期署名(XAdES/CAdES)プラグテストのサイトオープンを、@kjurさんのつぶやきで知りました。以下に簡単に概要をまとめておきましょう。詳しくは以下サイトをご覧ください。

http://www.etsi.org/plugtests/XAdES-2010/XAdES-CAdES.htm

まずテスト期間は10月25日から11月05日までです。登録の締め切りは10月10日までとなっています。参加にはNDA締結が必要となります。料金は700ユーロでETSIメンバーだと650ユーロ必要となります。それに19.6%の消費税が加算されます。実質10万円くらいでしょうか。今回は参加したことを宣伝に使っても良いそうです。

テストの目的は XAdES 1.3.2 と CAdES 1.7.4 ですが、新しいバージョンである XAdES 1.4.1 と CAdES 1.8.1 のテストも行われます。後はRSA-SHA2署名もテストしてくる参加実装もあるんじゃ無いかと思います。

参加者は前回まではバラエティに富んでいて、実装レベルもバラエティに富んでいましたので良く言えば勉強になりますし、悪く言えば大変な部分もあります。またNDAが必要ですがPDFをダウンロードして印刷して手書き署名後に再PDF化して返信すればOKのはずです。前回はそうでした。電話会議もありますが英語に自信が無ければチャット参加も可能です。私はチャットのみで参加しました。弊社の実装もそうですが例えばXAdESの全ての仕様の実装がされていなくても可能な範囲だけでも参加できます。

前回は私も初参加だった関係で@kjurさんには大変お世話になりました。今更ですが、あの時はありがとうございましたm(_ _)m > @kjurさん

eRAPに未参加の企業でも参加できますので、長期署名を実装されている皆様参加してみませんか?弊社ですか?う~ん今回はどうしようかなと検討中です(^^;;

そう言えばPAdESのプラグテストは行われないのかなぁ…
2010-07-23 08:58:14 - miyachi - 2 コメント - コメントを書く - [長期署名] - この投稿をtweetする!

2010-06-11

MS-Office2010の長期署名仕様解析  [by miyachi]

以前にもベータ版の時に書きましたが、MS-Office2010では標準のデジタル署名が長期署名(XAdES-EPES)になりました。弊社はボリュームライセンスなのでダウンロードで正式版が入手できたので仕様の解析をしてみました。まずは簡単なスライドの表示です。


上のスライドの説明は [続きを読む] にて。上のスライドが見えない場合同じ内容のPDFはこちら(約170KB)[続きを読む]
2010-06-11 20:54:16 - miyachi - コメントを書く - [長期署名] - この投稿をtweetする!

2010-04-02

MS Office 2010でXAdES署名に対応  [by miyachi]

kjurさんの「自堕落な技術者の日記」にてMicrosoft Office 2010にてXAdESを利用可能とのニュースを知る。おお!遂にMicrosoftが長期署名をサポートかと感慨深いものが。

しかしながらベータ公開版ではXAdES-Tまでらしい。試してみたいけど時間が無いのでとりあえず見送り。時間が出来たら入れてみよう。正式版になってもXAdES-X-Longまでで、保管タイムスタンプを使ったXAdES-Aには対応しないらしい。

どうもXAdESは組み込んだけどまだGUIも変更して本格的な導入では無いようだ。XAdES-C/X-Long等も署名時点の物が使われるようで猶予期間は考慮されないようだし、保管タイムスタンプにも後から付与する必要があるので未対応と言うところか。

MicrosoftがXAdESに対応したと言うのは大きい。後AdobeもPAdES(PDF長期署名)のやる気が満々だし。MSとAdobeが長期署名に対応したら普及にも弾みが付きそうです。過去にはこのネタで論文まで書いてしまったので正式サポートは嬉しいです。

Office 2010のベータ版ダウンロードはこちらです。正式リリースは今年前半とのこと。
2010-04-02 12:38:05 - miyachi - コメントを書く - [長期署名] - この投稿をtweetする!

2010-01-18

論文「Office Open XMLに対する長期署名の付与」  [by miyachi]

NII(国立情報学研究所)の先生方と共著の論文が情報知識学会に採択され早期公開されています。

 情報知識学会誌
 「Office Open XMLに対する長期署名の付与
 山地 一禎, 片岡 俊幸, 宮地 直人, 曽根原 登


私にとっては初めての本格的な論文となりましたので採用されるまでのプロセスが大変刺激的で勉強になりました。内容はMS-Office2007から採用されたOOXML形式のXMLドキュメントに対してXML署名をXAdESによる長期署名にした場合の問題の考察と解決法の提案と実装結果に関するものです。ご興味がありましたらぜひご覧下さい。
2010-01-18 10:36:51 - miyachi - コメントを書く - [長期署名] - この投稿をtweetする!

2010-01-08

XAdES tool Ver1.30R2 をリリース  [by miyachi]

弊社開発のLe-XAdESライブラリを利用したXML長期署名ツールXAdEStoolをバージョンアップしたVer1.30R2版を本日リリースしました。ダウンロードはこちら(XAdEStool)から。今回のバージョンアップでは、CAPICOM非依存をはじめとして各種機能アップが行われています。

詳しくは同梱のXAdEStoolドキュメントをご覧下さい。
XAdEStoolのVer1.30R2版に関してのバグ報告や質問やコメントがありましたら本投稿にコメントかmiyachiまでメールをお願いします。

Ver1.30R2に関して詳しくは後日少しずつ説明をして行く予定です。とり急ぎバイナリの公開まで。
2010-01-08 20:20:39 - miyachi - コメントを書く - [長期署名] - この投稿をtweetする!

2009-06-19

シリーズ長期署名1:長期署名入門  [by miyachi]

弊社の製品であるXML長期署名ライブラリLe-XAdESに関連して長期署名の説明や問題点やその回避方法や考え方をまとめたシリーズをはじめます。第1回は長期署名入門と言うことで簡単にまとめます。

まず電子署名と長期署名は何が違うかを考えてみましょう。電子署名は公開鍵方式暗号による電子証明書(公開鍵)と私有(秘密)鍵を利用したPKIと言う枠組みの中で、「誰が」「何に」を保証する技術として古くから使われて来ました。しかしここで2つ足りない要素があります。

 1) 「何時(いつ)」が保証されない。
 2) 電子証明書に有効期限があり保証期間が有限。

これを補う目的で考えられた仕様が長期署名と言うことになります。1)に対してはPKIベースのタイムスタンプ技術を使うことで「何時」を保証し、2)に対しても同様にタイムスタンプ技術検証に必要な情報を保管することで電子証明書の有効期限を超えて保証することが出来ます。1)のタイムスタンプを署名(シグネチャ)タイムスタンプと、2)のタイムスタンプを保管(アーカイブ)タイムスタンプと、呼びます。保管タイムスタンプは重ねて適用が可能な為に有効期間を延長して行くことも可能になります。 [続きを読む]

2009-06-19 14:34:43 - miyachi - コメントを書く - [長期署名] - この投稿をtweetする!

2008-08-29

Le-XAdES Library / XAdES tool Ver1.10R2 をリリース  [by miyachi]

弊社開発のLe-XAdESライブラリのソース公開版Ver1.10R2と、Le-XAdESライブラリを利用したXML長期署名ツールXAdEStoolをバージョンアップしたVer1.10R2版を本日リリースしました。ダウンロードはLe-XAdESライブラリはこちらXAdEStoolはこちらから。今回のバージョンアップでは、以下の4項目の修正と追加が大きな項目となります。

 1) Detached対象ファイルの上限の制限解除
 2) OCSP関連の見直し、特に取得に関して
 3) 検証系の見直しと有効期限内チェックの追加等
 4) タイムスタンプ取得時の修正

以上内容に関して詳しくは同梱のLe-XAdESドキュメントXAdEStoolドキュメントをご覧下さい。また非商用ライセンスに関して少し修正を加えました。詳しくはライセンスファイルをご覧下さい。

Le-XAdESライブラリとXAdEStoolのVer1.10R2版に関してのバグ報告や質問やコメントがありましたら本投稿にコメントかmiyachiまでメールをお願いします。

またXAdESのサンプルとして、弊社の商業登記証明書とPFUタイムスタンプを使った XAdES-TXAdES-A のXMLファイルも用意しました。商業登記証明書がOCSPを、PFUタイムスタンプがCRLを検証情報として利用しているのでCRL/OCSPの両方が入ったサンプルとなります。よろしければご覧下さい。
2008-08-29 18:22:56 - miyachi - 2 コメント - コメントを書く - [長期署名] - この投稿をtweetする!

2008-06-11

XML長期署名ツール XAdEStool Ver1.07a版リリース(バグ修正)  [by miyachi]

弊社開発のLe-XAdESライブラリを利用したXML長期署名ツールXAdEStoolをバージョンアップしたVer1.07版のバグ修正版Ver1.07aを本日リリースしました。ダウンロードはこちらから。一昨日(6月9日)にリリースしたばかりのVer1.07においてバグが見つかったのでそのバグ修正対応です。バグの内容は。

 1) 参照先改竄時にリスト表示で「◎文書正常」と表示していた

以上内容に関して詳しくは同梱のドキュメントをご覧下さい。参照先で改竄が見つかった場合に以前は1つ目を発見した時点でエラーを返していたのを、他の参照先も全てチェックするように修正した際に入ってしまったバグでした。エラーウィンドウによるメッセージはちゃんと表示していたのでテスト時に見逃してしまいました。Ver1.07をダウンロードされた方は申し訳ありませんがVer1.07aに更新をお願い致します。

XAdEStool Ver1.07a版に関してのバグ報告や質問やコメントがありましたら本投稿にコメントかmiyachiまでメールをお願いします。
2008-06-11 19:01:36 - miyachi - コメントを書く - [長期署名] - この投稿をtweetする!