« 2007年04月11日 | メイン | 2007年04月13日 »

2007年04月12日

PDFと署名(7) — RSA、DSA、ECDSA って?

Wikipediaの電子署名の項には、電子署名方式(アルゴリズム)がいろいろ紹介されています。

RSA署名、離散対数問題を利用するElGamal署名、楕円曲線を利用するとか、いろいろ面白そうなのがあります。しかし、言ってみればこれらのアルゴリズム自体は、ハンコで言うとハンコの字形をいろいろ工夫して変えているようなものです。

例えば、個人の「実印」とか、会社の「代表者印」は、彫られた文字の形もさることながら、法務局にその印鑑を登記してあることの方が重要です。いままでの紙の世界では、重要な契約などには、実印をついて印鑑証明書を添えることが求められます。

それに対して、電子署名の場合は、公開鍵を登記して、「公開鍵証明書」をもらうことになります。

いろいろ資料を見てますと、結局のところ、どのような署名アルゴリズムを使うかよりも、「公開鍵証明書」に関連する問題の方がずっといろいろと難しく、また、重要なようです。

で、その話に進もうかと思いましたが、Wikipediaの「電子署名」を見直していて、日本の電子署名法では、RSA、DSA、ECDSA の3方式を指定とありますが、この3方式ってどんな方式なんだろう、所詮、印鑑の字形じゃないか?と無視して良いかどうか?とちょっと気になりました。

電子署名及び認証業務に関する法律

この法律を検索しても、RSA、DSA、ECDSA というような言葉は出てきません。大体、法律でアルゴリズムを決めるとは思えないですがね。

調べてみましたところ、これは、総務省、法務省告示第二号、経済産業省「電子署名及び認証業務に関する法律に基づく特定認証業務の認定に係る指針」(平成13年4月27日)にありました。

○RSA方式(オブジェクト識別子 1 2 840 113549 1 1 5)又はRSA-PSS方式(オブジェクト識別子1 2 840 113549 1 1 10)であって、モジュラスとなる合成数が1024ビット以上のもの

○ ECDSA方式(オブジェクト識別子 1 2 840 10045 4 1)であって、楕円曲線の定義体及び位数が160ビット以上のもの

○ DSA方式(オブジェクト識別子 1 2 840 10040 4 3)であって、モジュラスとなる素数が1024ビットのもの

の3つが基準を満たすとあります。
・RSAはよく聞きますが、大きな数の素因数分解が困難であることを利用する方式です。
・ECDSAは楕円曲線暗号(Elliptic Curve Digital Signature Algorithm)の略。
Elliptic Curve DSA
・DSA(Digital Signature Algorithm)は、米国のNISTが定めたもので、ElGamal署名の改良版だそうです。
DSA:Digital Signature Algorithm

やっぱり、これらは印鑑の字形に相当するものと言ってよいと思います。

投票をお願いいたします

投稿者 koba : 08:00 | コメント (0) | トラックバック