Jump to navigation
2009-12-28
本年もありがとうございました [by miyachi]
ただ今業務を完了して全員で大掃除中です。今年は後半は色々と大変でした。まあ弊社だけでは無く世間全般に大変な年だったように思います。来年は少しでも景気も弊社の状況も上向くと良いなあ… などと思いつつ納会に行きたいと思います。
と言うことで今年も本ブログをご覧頂きましてありがとうございました。ラング・エッジは本日で今年の業務を終了させて頂きます。来年は1月5日(火)から通常業務となります。来年もよろしくお願い致しますm(_ _)m
それでは皆様良いお年をお迎えください。
2009-12-22
年末年始休業のお知らせ [by miyachi]
ラング・エッジは2009年12月29日(火)より2010年1月4日(月)まで年末年始の休暇とさせていただきます。年内は
12月28日(月)まで新年は
1月5日(火)より通常業務となります。
休業期間中におきましても
メールをチェックしておりますので、もし何かありましたら
メールにてご連絡ください。
以上よろしくお願い致します。
2009-12-18
お昼休みにご飯のついでに秋葉原まで事務所の買い出しに出てきました。ドンキホーテでインスタントコーヒーを買って
アキバセレクト館でコーヒー豆を買って帰ろうと思って秋葉原駅を通ったら大規模工事中でした。そう言えばスラドに
「工事中の秋葉原駅ビルは来年11~12月頃開業予定」と言うのがあったなあと思い出しました。現在テナント募集中だとか。昔のアキバデパート1階に入っていた飲食関係がまた入ってくれると嬉しいですね。
しかし秋葉原に行っても時間が無いせいもありますがパソコン関係のショップもあまりチェックする気にならなくなってしまったなあ。年を取ったのか最近のパソコンが面白く無くなったのか…
さて今日は夕方から
XMLコンソーシアムの部会と夜は忘年会の予定です。まだまだ忙しいので体調は崩さないように気を付けなきゃ。
2009-12-17
PAdES関連の続きはどうしたと言われそうですがなかなか時間も無いのでお茶濁しに最近読んだ本などをまとめます。まずは最近購入した本は写真の3冊。
笹本祐一著
「ミニスカ宇宙海賊・コスプレ見習海賊」。ミニスカ宇宙海賊シリーズ3巻目。サブタイトルもコスプレなどとかなり恥ずかしい(笑) 素人同然のメンバーが帰って来た時にはベテラン顔負けに…ってのは同作者の
「星のダンスを見においで」を彷彿とさせるかな。既に読了していていつものように楽しめました。
銀河乞食軍団黎明篇3巻
「激戦! 蒼橋跳躍点」はまだ買っただけで読んでません。近所のイトーヨーカドーの本屋で探そうと思ったら棚が出版社別じゃなくて著者名順になっていて、著者名が思い出せずに買えなかったのは秘密です。いや野田元帥の名前は浮かんだですが…すみません鷹見一幸様m(_ _)m これは次に読む予定。
もう1冊衝動買いしてしまったのが
「シュレディンガーのチョコパフェ」。同じ著者でまだ文庫化されていない
「地球移動作戦」の評判も良いようだし一度読んでみようと。本屋に行く楽しみってこういうまだ読んでいない作家の本をパラパラめくって衝動買いする楽しみなんじゃないかと。
漫画では
「鉄腕バーディー EVOLUTION」の3巻も出てすぐに買って読了。おうなんかこれまでと違う展開になりそうな…しかしどんどん孤立無援になっているような気も。最近漫画は衝動買いしたい作家が見当たらないのが寂しいな。
他にもブックオフで古いSF本買ったまま読んでいないし、まだ未読の本が沢山あるのは幸せだなあ。先月は娘の図書館行きに付き合ったので宇宙関連の本も3冊ばかり読了してます。読むのは主に通勤電車の中だけなんですが本を読んでいると時間が短く感じます。
2009-12-04
なぜPAdESが必要か [by miyachi]
さて昨日の続きです。おさらいをするとPKCS#7(CMS)を利用するPDF署名は素直に拡張するならPKCS#7の署名データをCAdESの長期署名データに変更すれば良いと思えます。しかしCAdESを全面採用できない事情が存在します。それはPDF署名が署名対象範囲を指定するのに使っているバイトレンジ指定の仕組みです。
PDF署名において署名データはPDFの中に埋め込まれます。しかし署名データは署名対象にはもちろん出来ません。つまり署名データの前と後ろの部分が署名対象になります。署名対象範囲はバイトレンジ(署名辞書内のByteRangeキー)で指定される4つの数字で示します。
ByteRange [ 開始位置1 長さ1 開始位置2 長さ2 ]
開始位置と長さの2つの数値のペアになっています。これで署名データの上と下を指定できますね。めでたしめでたし… なのですが1つ問題があります。それは、
「署名データのサイズは署名時(正確には署名前)に決定する必要があり後から変更やリサイズは出来ない」
と言うことです。
バイトレンジの部分も署名対象の一部です。従って後から署名対象範囲の変更は出来ません。また
開始位置とはファイル先頭からの指定です。従って前後2つの部分に挟まれた
署名データ部分のサイズは署名後は変更できません。通常PDF署名ではある程度ゆとりを見て署名データ部のサイズを確保しておきます。署名データとせいぜいタイムスタンプくらいなら数キロバイト単位で確保しておけば充分です。
次に長期署名の仕組みを見てみましょう。JIS化されている仕様は大きく分けて以下の2種類です。
1) ES-T: [ 署名 + 署名タイムスタンプ ]
2) ES-A: [ ES-T + 証明書群 + 検証情報 + 保管タイムスタンプ ]
ES-Tの方は既存のPDF署名のPKCS#7でも細部は異なりますがほぼ同様に実現されています。問題はES-Aの方です。検証情報とはCRL(失効リスト)やOCSPレスポンスとなります。CRLの利用が一般的ですが、CRLの仕組みは失効したIDを全てリストアップしているので大量に証明書を発行されている認証局だと100キロバイト単位のサイズになることがあります。また検証情報は通常署名後に取得することになります。
またES-Aは有効期限が切れる前に繰り返し適用も可能になっています。つまり長期署名とは最新の情報を追加して行くことで長期間の有効性を担保していると言えます。動的な仕組みであり成長して行く署名データとも言えます。
バイトレンジの話に戻してみましょう。バイトレンジは通常はせいぜい数十キロバイト程度しか確保されていません。これを将来に渡ってES-Aを追加して行くつもりでメガバイト単位で最初から確保することは現実的でしょうか? 答えはやはり
「ノー」でしょう。どんなに小さなPDFファイルも最初から数メガバイトのサイズになるのは利用者から見て受け入れられませんし、そもそもどれだけ確保しても絶対に安全なサイズも分かりません。PDF署名は静的な安定した仕組みであり拡張性があまり無いと言えます。
以上から出てくる答えは、
PDF署名の長期署名化に関して、ES-Tまでは現行の仕組みで対応が可能だが、ES-Aでは別途証明書や検証情報や保管タイムスタンプを保管する新しい場所をPDFファイル内に確保する必要がある。と言うことです。
証明書や検証情報をどこに保管するかで議論や検討があったようです。しかし最終的にはPDFのオブジェクト構造としてPDFの増分更新の仕組みで追加する仕様が支持されました。それが現在検討が進んでいるPAdESの仕様です。PAdESに関しては更に以下の仕様に分けられます(これ以外にもPAdES仕様は存在しますが今回はこの3つに絞ります)。
PAdES Basic : PKCS#7を使ったISO32000-1までのPDF署名
PAdES Enhanced : CAdES-Tを使ったPDF署名
PAdES LTV (Long Term) : PDFオブジェクトとしてES-Aを実現
PAdES Basicは従来からのPDF署名の仕様です。PKCS#7形式で署名+タイムスタンプが利用可能です。
PAdES EnhancedはPKCS#7部をCAdES-Tで置き換えた仕様です。CAdES-T形式で署名+タイムスタンプが利用可能です。
最後の
PAdES LTVは、PAdES Basic または PAdES Enhanced のPDF署名済みファイルを長期署名対応する為の仕様となり、
証明書や検証情報を新しく設定されたPDFストリームオブジェクトとして増分更新を行い、PDF署名とほぼ同じ仕組みのこれも新しく設定されたドキュメントタイムスタンプを保管タイムスタンプとして利用する形式です。
ES-Aを実現しているのがPAdES-LTVですが、PAdES-Aとしなかったのはやはり既にPDF/Aと言う仕様が存在していた為でしょう。なおPAdES-LTVにより長期署名化することはPAdES-Basicつまり既存のPDF署名済みファイルに対しても有効と言うことになります。
また保管タイムスタンプでは無く、
ドキュメントタイムスタンプと呼ぶことにも意味があります。ドキュメントタイムスタンプは署名無しでも利用が可能です。ドキュメントタイムスタンプだけ付与されたPDFファイルは
「誰が」に関しては保障されませんが、
「何時(いつ)」に関しては保障が可能ですので、特許対策の知財保護での利用等が考えられます。つまりドキュメントタイムスタンプは保管タイムスタンプ以外にも使い道があると言うことです。
CAdES/XAdESとは別の第3の長期署名フォーマットと言うことで何故増やす必要があるかと最初は思いましたが、既存のPDF署名からの連続性や拡張を考えると、PAdESは良く考えられた仕様だと思います。
さてお昼休みも終わりに近づいたし結構書いたと思うので今日はこのくらいにしたいと思います。なおPDF署名に関してはアンテナハウスにて色々な情報があります。PDF署名の仕組みに関して詳しく知りたい方は以下のリンクを辿ってみると良いでしょう。
アンテナハウス「PDFと電子署名について」
アンテナハウス「PDF電子署名入門」
また昨日話が出ましたPDF/Aに関する情報もあります。
アンテナハウス「PDF/Aとはなにか」
アンテナハウス「PDF/Aの概要」(PDFへのリンク)
どちらも大変勉強になります。
2009-12-03
PDF/A-2とISO32000-2とPAdESと [by miyachi]
最近のPDFの状況を簡単にまとめてみましょう。現在ISO等で検討されているPDFの仕様としては、ISO32000-2と呼ばれるPDF2.0の仕様がまずあります。それとは別にPDF/A-2と呼ばれるPDF1.7(ISO32000-1)をベースとした仕様もあります。
PDF/AはPDFの長期保管の為の仕様です。既にAcrobat9.0ProではPDF/A-1の仕様に従っているかどうかをチェックするプリフライト機能とPDF/A-1bへの変換機能も付いています。PDF/Aはカプセル化して将来それだけで必要な情報は全て揃うようにPDFの仕様のうち使って良いものを指定したプロファイルとなります。例えばフォントに関しては全て埋め込みが必要ですし、カラースペースもデバイス独立か埋め込みが必要となります。更にPDF/A-1aと言う仕様がPDF/A-1のフル仕様対応版となりますが、タグ情報により文書の順番等も指定する必要があります。この辺りはちょうどPDF/A関連の仕事をしているので勉強しているところです。
PDF長期署名の仕様であるPAdESはISO3200-2にもPDF/A-2にも採用される方向だと理解しています。基本的には従来のPDF電子署名の拡張により長期署名を実現しています。
さてPDF署名では署名データとしてPKCS#7形式を利用しています。PKCS#7はバイナリ署名データCMS形式の元となった形式です。また既にJIS化されたCAdESはCMSを長期署名化した仕様となっています。ちょっと考えるとPKCS#7の部分をCAdESに置き換えるだけで長期署名化が出来そうに思えますが、PDF特有の問題がありそれが出来ないのでPAdESと言う仕様が生まれてきたと言うことになります。小出しにすることになりますが何故「PDF電子署名+CAdES」でPDF長期署名が出来ないかはまた次回。
なおUさんのPAdES連載も既に第2回が出ています。こちらも是非ご覧になることをお勧めします。
自堕落な技術者の日記 「連載:PAdES(PDF長期署名)について(第2回) PDF署名とは」。
2009-12-02
岩本町の事務所を開いて仕事を始めてから今月でちょうど丸6年が経過しました。いや~良くうちの会社続いているなあ。これも陰日向で応援や支援して頂いている皆様のおかげです。心より感謝しております。ありがとうございますm(_ _)m
などと思いつつ昨夜は調子が悪いマウスを新調する為に閉店間際のヨドバシ・アキバに行っている途中でふと目にしたメイド喫茶に「祝!6周年!」の文字が… そう言えば6年前のアキバはまだパソコン全盛時代でメイド喫茶が進出してきていた時代だったなと思い出した。その後は坂道を転げ落ちるようにアキバの主役がパソコンから「萌え」に変化して来たのでした。おかげで最近はめっきりアキバにも行かなくなってしまいました。いやまあ子供も大きくなったり仕事も忙しかったりで行く時間が無くなっていると言う面もあるんですけど。
マウスはマイクロソフトのベーシックな物を愛用していましたがもう売っていないようですorz 少しサイズが大きいけど
「Wheel Mouse Optical」を購入しました。マウスだけはホイールの感触等でマイクロソフト製が一番好きなのでした。MacBookでもマイクロソフトのマウスです(笑)
昨夜は同じく閉店間際の書泉ブックタワーに駆け込んで
「鉄腕バーディーEVOLUTION」の3巻も購入。まあ何だかんだ言ってもアキバ近辺は私にとって暮らしやすいか。これからもここで仕事が続けられると良いのですが。何はともあれ今後ともよろしくお願い致します。