2008-05-26

.NET Framework のRSA署名用ハッシュアルゴリズム  [by miyachi]

[2011-04-25 追記] .NET FrameworkによるRSA-SHA2署名(完結編)を投稿しました。

Le-XAdES Library ではMicrosoftの .NET Framework を使っています。色々便利な反面幾つか困ったこともあります。困っている事の最大の項目はRSA署名を使うクラスRSACryptoServiceProviderの検証メソッドVerifyDataが対応しているハッシュアルゴリズムです。

以前にも書きましたがSHA-1の利用には問題がある為に、米国では2010年末までに日本でも2013年までにSHA-2への移行または移行準備を完了させる必要があります。しかしながら現在のWindows XPではSP3でもまだSHA-2を使ったRSA署名には未対応の状況です。もちろんWindows Vistaなら対応済みなので問題は無いのですが。これをネタにXPからVistaへの移行を進めようと考えているんじゃ無いかと勘ぐりたくもなります(^^;; なおXPのSP3ではIE7が入っているかどうかでエラーコードが異なります。IE6環境では「暗号アルゴリズムが不明です。」だったのが、IE7環境では「無効なアルゴリズムが指定されました。」になります。まあ、あまり違いはありませんが。 [2009-04-17追記] XP環境においてもRSA-SHA2署名が使えるようになっていました。

さて先週あるお客様よりうまく証明書チェーンの構築とCRLの検証がうまく行かない現象のご相談がありました。調べてみたところ署名に使っている証明書は大手V社のものです。メジャーに使われている証明書なのですが、幾つか問題が見つかりました。

 1) 中間証明書用CRLのRSA署名にMD5を使っている。
 2) ルート証明書のRSA署名にMD2を使っている。

MD5はCRLの署名だし.NET Frameworkでも対応できるので簡単な修正で対応できました。しかしMD2は… .NET Framework のRSACryptoServiceProviderでは既に対応していないようです。X.509証明書のクラスX509Certificate2では対応しているようなのでMD2/MD4の場合はこちらを使うように修正。本当はエラーにしたいところですがメジャーな証明書なので仕方がありません。しかもこのMD2を使ったルート証明書の有効期限は2028年まであります。良いのかなぁ…

と言う事でRSACryptoServiceProviderクラスのVerifyDataメソッドで対応しているハッシュアルゴリズムの状況を以下にまとめます。もし私の勘違い等ありましたらご指摘頂けるとありがたいです。

ハッシュアルゴリズムWindows対応状況
SHA-2Vistaでは対応済み
XPはSP3+IE7でもまだ未対応
XPも2009年4月時点で対応確認
SHA-1Vista/XP共にサポートしている
MD5Vista/XP共にサポートしている
MD2/MD4Vista/XP共にサポートしていない
RSACryptoServiceProviderハッシュアルゴリズム対応状況

それにしても .NET Framework と言うかMicrosoftのセキュリティ系のAPIは過去を切り捨てる方向が多い(しかも新しいアルゴリズムへの対応も遅い)ので色々苦労があります。素直にOpenSSL等をセキュリティ系のAPIとして利用した方が良いのかもしれないとさえ思ってしまいます。OpenSSLならMD2からSHA-2までバッチリ対応しています。Le-XAdES Libraryの将来のメジャーバージョンアップ時には検討したいとは考えています。技術的な問題は全て分かっているので手間の問題だけなのですが(^^;;

[2009-04-17追記]
XP環境においてもRSA-SHA2署名が使えるようになっていました。アナウンスに気が付かなかったのですがどこかの時点のアップデートで解決したようです。

[2008-05-27追記]
XPのSP3+IE7の環境でSHA-2署名された証明書はちゃんと扱えるようになっていた。証明書をバイナリファイルにして開くと、SP2までは検証エラーだったものがSP3+IE7だとエラーにならない。でも同じ環境なのにRSACryptoServiceProviderやSignedCms等の.NETのAPIでは相変わらずエラーになる。手抜きしないでちゃんと対応して欲しいなあ… Windows XP Service Pack 3 の概要 (PDF)Microsoft 暗号化モジュールの説明を読む限りでもX.509証明書の検証だけ対応したように見えますね。

X.509 証明書の検証で、SHA2 ハッシュ アルゴリズム (SHA256、SHA384、および SHA512) を実装しサポートします。これは、暗号化モジュール rsaenh.dll に追加されました。

おそらくSSL等で困るのでとりあえず証明書だけまず対応したようにも思えます。まあMicrosoftとしてはVistaにしろと言うことなのでしょうが…シクシク(T-T)
2008-05-26 19:35:10 - miyachi - - [PKI/暗号] -

2008-05-21

ECOMにおける会員資格変更について  [by miyachi]

ラング・エッジは一昨年12月ECOM(次世代電子商取引推進協議会)へB会員として加盟をしておりました。今年度からはA会員へと会員資格を変更して電子署名普及WG等における活動に参加して行く事になりました。

昨年度は長期署名相互運用性テストに参加をしておりましたが、今年度は各種ドキュメント方式における長期署名仕様に関する検討等にも参加して多少なりとも貢献できればと考えております。
2008-05-21 16:27:54 - miyachi - - [業務連絡] -

XP SP3  [by miyachi]

月曜くらいまで色々とバタバタしていました。やっと少し時間が出来たのでWindows XPのSP3をやろうと思い、昨日実施しました。

まずサブのノートPCに対してSP3を実施。何の問題も無くアップデート完了。これなら大丈夫かなと母艦のデスクトップPCに対してSP3を実施… 途中で見事にブルースクリーンとなってしまいました…orz

インストール完了間近でしたが、その後再起動がかかりロールバック中の表示。最終的に無事再起動されたのでプロパティを確認するとSP3になっている? とりあえずネットで調べてみたところ母艦PCが使っているRealtekのAudioを使っている人で同じような現象が、どうもRealtekでSP3対応のパッチを出しているようだ。情報はここ。そんなの分からないよなあと、事後ではあるが情報源から KB835221.exe を入手してインストール。とりあえず再度 Microsoft Update 等を実行してとりあえず問題が無さそう。

で今日になったら何度インストールしても KB951213 のSilverlight 1.0のアップデートをしろと言ってくる。出た無限アップデートだ、やっぱりどこかおかしくなっているのかなあ…他の動作に問題は無いようだが… まあネットで探すと同じような現象の人もいるようなのでそのうちMicrosoftから対応方法が出るだろうと現在放置中。やれやれやっぱりWindowsは一筋縄では行きません。

[2008-05-22追記]
KB951213の無限アップデートがうっとおしくなったので一度Silverlightを削除してみようと再トライ。削除も上書きインストールもエラーになってできない…orz 色々調べたりトライしてみて結局以下のコマンドを実行してから試してみた。

 > msiexec /unregister
 > msiexec /regserver

これでSilverlightのアンインストールと再インストールが出来るようになった。この状態でKB951213をアップデートするとエラーに、そのまま再起動したら無限アップデートは無くなりました。やっぱりSP3の途中でブルースクリーンになった関係の影響でしょうね。やれやれ(^^;;

[2008-05-27追記]
結局5月22日の状態でもまだ中途半端だったようだ。MicrosoftからSP3のISOイメージをダウンロードしてCD-Rを作成して再度インストールして無事完了しました。やれやれやれ(^^;;;
2008-05-21 13:48:48 - miyachi - - [プログラマの生活] -

2008-05-07

2008GW終了  [by miyachi]

今年もGWは暦通りのお休みをしました。最近は子供達の習い事が増えて来てなかなか遊びに行けなかったりして、少し遠出をしたのは一昨年にも行った国営ひたち海浜公園くらいでした。この日はどんよりとした曇り空(雨じゃ無いだけマシですが…)で高速道路の渋滞も最長だったので帰りは2時間のところを4時間近くかかりました。まあ渋滞ハマってなんぼのGWなので良いとしましょう。それにしても一昨年はチューリップが綺麗だったのですが、今年はほぼ終わりかけでイマイチだったのが少し残念!やっぱり年によって違うんでしょうね。

写真はGW最終日の昨日行った近所の無料動物園がある行船公園の横にあるカキ氷屋さんです。1杯110円は良心的。昨日は暑いくらいの良い天気で下の子供も満足したようです。なお連休初日は上の子供のリクエストで映画を見てきました。もう上映館が少なくなっていますがディズニーの「魔法にかけられて」です。あまりヒットしたとは言えない映画だと思いますが、ディズニー自身によるパロディーもあり結構面白かったです。子供達も楽しかったとの事。

さて自分用にはTUTAYAでDVDを2枚借りてきて夜中に鑑賞。1本はトニー・ジャー主演の「トム・ヤム・クン」。何と言っても最初に見た「マッハ」が面白すぎて、同じ監督・出演者の2作目と言う事で期待して見ました。マッハよりもストーリーはかなりまともになり映像も美しく格闘シーンも豊富で良くなっているはず… なのに何か物足りない?映画としての完成度では無く「勢い」と言うか「おお!」と思う事が少なかったように思います。もちろん完成度は上がっているので見所満載で面白い&カッコよいのは間違いありません。空港シーンの「?」はジャッキーだよなあ??建物の3階だか4階まで闘いながら上がって行くシーンは地味に見えて1カット、つまり連続撮影しているのが凄い!よくここまで身体が動くものです。次回作はマッハのノリ復活を期待したいところです。

もう1作は名作入りの噂を聞いていた「時をかける少女」です。こちらはもう私なんかが感想書く必要も無い程あちこちで取り上げられているので詳しく書きません。もちろん「面白かった!」です。時間を扱うSFは矛盾だったり色々難しい問題が出る場合が多いですが、この作品はもうそんな細かい事はどうでも良くて見ながらハラハラドキドキでした。見終わった後の感想は全力疾走の後の爽快感でしょうか(^^;

と言う事で充電したので、また今日から仕事頑張りましょう!
2008-05-07 13:39:34 - miyachi - - [週末の出来事] -