2012-08-28

GPKI/LGPKI/JPKI/HPKIのRSA2048/SHA2対応とは?  [by miyachi]

サイトリニューアルに伴い電子署名系の情報が増えたのですが、私の書いた内容について指摘を幾つか頂いたのでブログで回答させて頂きます。

指摘:
「GPKI/LGPKI/JPKI/HPKIのRSA2048/SHA2対応という言い方は微妙ですね、SHA2対応するのはそれぞれの認証事業者なので、SHA2対応した証明書に対応可能、ってとこでしょうか。」

回答:
[ラング・エッジの電子署名への取り組み]の「RSA2048bit/SHA-2(256/384/512bit)への対応」に関するご指摘ですね。すみません分かり難く誤解を招く書き方だったかもしれません。

真意を少しまとめます。まず「RSA2048/SHA2対応」とは確かに狭義では「証明書(+秘密鍵)のRSA2048/SHA2対応」だと理解しています。その意味では「SHA2対応するのはそれぞれの認証事業者」で間違い無いと思います。しかしながら実際に電子申請等のサービスを提供している運営側から見た場合には単に利用される証明書がSHA2対応しただけ…とは言えない事情があると考えています。利用しているライブラリや自サービスの為に構築したシステムで使われているソフトウェアが全て「RSA2048/SHA2対応」になる必要があります。特にGPKI/LGPKIでは移行指針を示して具体的に運用に必要な内容がまとめられています。以下を参照しています。

 ・GPKI:相互運用性仕様書
 ・LGPKI:暗号アルゴリズム移行に伴うドキュメント追加について

スケジュール的に現在は「新旧両暗号に対応・現行の暗号を利用(フェーズ1)」にあたります。平成26年度より「新旧両暗号を利用(フェーズ2)」となり、最終的には「新たな暗号のみ利用(フェーズ3)」となります。平成25年度末までには新暗号(RSA2048/SHA2)への対応を完了させる必要があります。

では技術的に見て新暗号(RSA2048/SHA2)対応するのに必要なポイントとしては、証明書検証サーバやリポジトリ(ディレクトリサーバ)が新旧あったり、ICカードを利用した署名プラグインの更新があったり、もちろん中の暗号ライブラリも含めて新暗号(RSA2048/SHA2)対応する必用があると言うことになると考えています。単純に証明書が新暗号(RSA2048/SHA2)対応すれば良いと言うのとは少し違った面で作業が必要になると考えています。

つまり私の真意としては少し広く捉えると言うか運営側から見て必要となる全てのソフトウェアのアップデートへの対応が弊社にて可能だと言う事を言いたかったと言うことになります。弊社はソフトウェアベンダーなので運営側からの見方になってしまっていると思います。いえそれ以前に私がきちんとまだPKIを理解していないと言う面ももちろんあると思います。不足しているのは勉強して行き訂正して行ければと考えていますのでこれからもご指摘よろしくお願い致します。以下は少し補足と言うか余談的な話になります。

余談:
実際に弊社で対応した案件の仕様書自体に「LGPKI新暗号アルゴリズム(RSA2048/SHA2)への対応」と明記されていました。おそらく認証事業者から見た場合と、地方自治体等の運営者から見た場合では、反応や解釈が違うのではないでしょうか。また今回の案件では対応する証明書(認証事業者)としてはいわゆる特定認証局は入っていませんでした。法人の場合には商業登記証明書であり、個人の場合には公的個人認証サービス電子証明書(JPKI)でした。政府系や地方自治体系では最近このパターンが多くなっているように感じています。

しかしながら公的個人認証サービス電子証明書(JPKI)は民間で利用するには幾つかハードルがあります。民間で利用するには特定認証局の証明書が必要だと思います。JPKIの証明書(秘密鍵)を使って署名することは可能ですが、失効情報は一般の検証者には提供されない為に検証ができません。JPKI証明書の検証が可能なのは自分の証明書(これだと署名者=検証者になるので意味が無い)か、申請して認められた組織のみとなります。

完全に余談ですが、JPKI証明書の失効情報を一般に公開しないのはプライバシー保護の観点からなのかもしれませんが、JPKI証明書を民間利用させない為なのかもしれませんね。またJPKI証明書にはいわゆる基本4情報(氏名、生年月日、男女の別、住所)が含まれるので取り扱いにも注意が必要です。理想を言えば証明書は公開可能な情報だけにして、必要なプライベート情報はID等から必用と資格に応じて別途取得できる仕組みが欲しいところです。ただそうすると「背番号」的なIDが必用になり世間ではまた反対意見もあったりしますので難しいところです。

更に余談になりますが、弊社が今回対応した案件では既に稼動している署名検証システムがJava連携が前提であった為に新しく開発されたWebサービス(PHPやRuby使用)から使い難い仕様でした。これを改めて同等機能としてHTTPとXMLを利用したRESTfulな署名検証システムに更新しました。これにより他のWebサービスからの利用も可能となり汎用性も増したと考えています。システム更新のついでに仕組みの見直しもいかがでしょうか。

最後は宣伝になってしまいました(^^; よろしければご検討下さい!
2012-08-28 10:28:50 - miyachi - [PKI/暗号] -

コメント一覧

コメント無し

コメントを書く

このアイテムは閲覧専用です。コメントの投稿、投票はできません。