2013-06-28

.NETのRSACryptoServiceProviderの実行速度低下  [by miyachi]

久しぶりのPKIプログラミングネタです。Windowsでは電子署名をするのにCAPIや.NET等の幾つかのAPIが用意されています。そのうち.NETのRSACryptoServiceProviderにおいて SignData() と VerifyData() のメソッド、つまりRSA署名とRSA検証のAPIの実行速度が遅くなると言う問題が見つかりました。

 Problem: Delay while calling RSACryptoServiceProvider SignData or VerifyData methods

最初はアクティブディレクトリ認証(以後AD認証)が必要なサーバでのみ速度が遅く、LDAP通信が頻発していると言う事でした。どこでLDAP通信されているのか分からずテストプログラムを作成して試して頂きました。Windows証明書ストアへのアクセスにAD認証が必要なのではと予想したのですがハズレでした。結局RSA検証している箇所が遅くRSA検証を.NETからOpenSSLに変更したところLDAP通信が無くなったのでした。

そこからS社のMさんが見つけたのが上記リンクのページです(Mさんありがとうございました)。確かにこれに該当していたようです。RSAクラスにはハッシュアルゴリズムが指定可能であり、昨今ではSHA-2も指定する必要があります。デフォルトのSHA-1以外のハッシュアルゴリズムを利用した時にドメインコントローラに問合せに行ってしまうとのこと。回避方法はデフォルト(SHA-1)でやれ…って現在ではもう無理です(^^; と言うことでこういう事もあろうかと用意していたOpenSSLを使って全く同じ処理をするモジュールに切り替えて問題解決したのでした。

RSA検証はこれで良いのですがRSA署名にWindows証明書ストアの秘密鍵を使う場合にはOpenSSLでは対応できないのでWindowsのAPIを使わざるを得ません。1つ可能性があるのは古いCAPIのAPIを使えばこの問題が生じないのでは無いかと言う事なのですが…まだチェックしていません。追加で何か分かったら書き足します。

何はともあれ .NETRSA署名ドメインコントローラ利用環境 で使った場合には通信のオーバーヘッドによる速度低下があると言う情報を残します。と言ってもこの情報を必要としている人はほとんどいないかも(^^;;;
2013-06-28 12:17:26 - miyachi - - [PKI/暗号] -

2013-06-27

昨年度の成果公開  [by miyachi]

クラブ活動^H^H^H^H^H業界団体活動を色々やっていますが最近その成果や報告書が公開されました。ここで簡単にまとめます。

まずはTBF(タイムビジネス協議会)から「電子署名検証ガイドライン」が公開されました。

 「電子署名検証ガイドライン」(PDF直リンク注意)

電子署名検証ガイドライン(以後、検証ガイドライン)は長期署名を含む電子署名の検証の標準化を目指したものです。一般的な話と具体例としてCAdES/XAdESの長期署名検証項目がまとめられ、CAdES/XAdESの適合性宣言書も含まれています。実はこれまで署名の標準化は沢山あるのですが検証の標準化に関してはあまり無かったのです。その結果検証に関しては各ベンダーまかせの面がありました。また例えばVALID(正常)と検証結果があったとして「何を検証してVALIDなのか」が明確では無かったのです。検証ガイドラインでは検証内容に関しても何をレポートすべきかを示しています。

なおこの検証ガイドラインは英訳化して欧州ETSIにも持って行って好評でした。ETSIの標準に採用して貰えるように今年度も活動予定です。ETSIからはPAdESに関しても記述して欲しいとのリクエストもありました。

余談になりますが、PAdESに関してはISO32000-2への採用は決まっているのですが、何せISO32000はPDF全体の仕様なので膨大な量になり、ISO標準化時に必要になる翻訳が間に合わないと言うことで番号再取得をして標準化が遅れています。今年度か遅くとも来年にはISO32000-2は正式に公開される予定です。ちなみにAcrobat-X以降でサポートしている暗号化の仕様はISO32000-2に含まれるのでこれが公開されないと仕様が分からないと言う問題も(^^;

閑話休題。電子署名検証ガイドラインは今年度JNSA(日本ネットワークセキュリティ協会)の電子署名WGに場所を変えて(TBFメンバーも参加し更にメンバーは増えて)作業を行っています。ぜひご興味がありましたらJNSAへご参加下さい!またリーダーの三菱電機の宮崎さんによるJNSA発表会の資料も検証の問題等がまとまっていますのでぜひご覧ください。

 「電子署名WGの設立について」(PDF直リンク注意)

さてもう1件ですが昨年度で終了したeRAP(電子記録応用基盤フォーラム)の昨年度報告書(つまりeRAPとしての最終報告書ですね)が公開されています。

 「電子記録応用基盤に関する調査検討報告書2012」(PDF直リンク注意)

サブタイトルは「-ケース指向電子記録管理及び電子署名の新たなパラダイム-」です。私がメインで担当したのは「第2部第1章 電子署名の新しい可能性」と「第2部3.2 XAdESのプラグテスト」です。「電子署名の新しい可能性」に書いていますが、昨年後半くらいから電子署名の商談が明らかに増えています。これは他の会社の方もおっしゃっていたので間違いないと思います。これから普及期に入るのでは無いかと期待しています。業界を盛り上げる為にも新規参入や再参入されませんかw 電子署名の最新情報はJNSAやTBFに入って頂ければ情報共有していますので大丈夫です!

eRAPも昨年で終わらせずに電子署名は何か継続していれば…と思わなくもないですが、これからはJNSAで頑張ります!そのうち公開するかもしれませんがJNSAのPAdES-TFで先週「なんとなく分かった気になるPDF電子署名仕様入門」と言う勉強会もやったりしています。なおPDF電子署名/PAdES関連は自社製品のオマケとして資料にまとめているところです。

PDFの資料と言えば親会社のアンテナハウスで「PDFインフラストラクチャ解説」を公開中です。私もPAdESの章を担当しました。現在0.32版が公開中です。「PDFインフラストラクチャ解説」はEPUB3版も公開されています。

 「PDFインフラストラクチャ解説 PDF 0.32版」(PDF直リンク注意)

我ながら色々やってますねw 今年度も頑張ります!
2013-06-27 12:34:33 - miyachi - - [業務連絡] -