[4]ベリサインの楕円曲線暗号のSSL証明書、ぜひお試しを

[4]ベリサインの楕円曲線暗号のSSL証明書、ぜひお試しを

ECCで発行されたベリサイン証明書(https://kmonos.jp/)


ベリサイン証明書には、セキュア・サーバーID(セキュアサイト)とグローバルサーバーID(セキュアサイトプロ)という2種類の製品があります。後者には、SGC機能と言って、ブラウザの暗号化強度が低くても高める機能がありました。しかし、その必要性があまりなくなってきたためか、Joe’s SSL市場でも、グローバルサーバーIDは発行枚数が減少する傾向にありました。
 

最近グローバルサーバーIDでは、楕円曲線暗号(Elliptic Curve Cryptography)を用いた証明書が利用できるようになりました。現状では、ほとんどの場合RSA暗号が用いられています。通常のSSL証明書で用いられているRSA暗号もこのECCも、公開鍵暗号といって、暗号化の方法を公開しておき、その逆の演算である復号化(もとの情報に戻す)の方法を秘密にします。
 

楕円曲線上の2点P,Qを伸ばした交点Rを、x軸に関して折り曲げた点R'を演算結果とする群演算が定義される

RSAは、素因数分解の難しさを安全性の根拠にしています。7 x 13 = 91の計算はすぐにできても、91を素因数分解してみろと言われると、なかなかできないでしょう。2個の素数が1024ビットなど非常に大きくなれば、その計算時間の差が非常に大きくなります(一方向性関数)。通常のSSL証明書では、2個の素数を2048ビットで表します(秘密鍵とよばれます)。
 

このRSAと対極にあるのが、離散対数問題の難しさを安全性の根拠にした方式です。たとえば、1,2,3,4の4数の間で、2, 2*2=4, 2*2*2=3, 2*2*2*2=1というように、2を何回かかけて5で割ると、1,2,3,4のすべてを行き渡ります。離散対数問題は、たとえば、この2を何回かけて5で割ったら余りが3になりますか?(答え 3) といった内容です。この集合の要素数が大きければ、計算が難しくなります(べき乗の計算は容易だが、その逆である離散対数を求めることが困難な一方向性関数)。そして、この離散対数問題で、楕円曲線の群演算を利用したものが楕円曲線暗号とよばれます。大学院などで数学を専攻していて、しかも整数論や代数幾何などの分野を専門としている人でないと理解できないぐらい、数学的に高度な話です。

公開鍵と共通鍵


 

ECCでもRSAでも、鍵の長さが短ければ、計算機をフル回転させれば、素因数分解や離散対数問題の答えが解かれてしまいます。そこで鍵をある程度長くする必要があります。ただ、ECCの場合は楕円曲線を利用しているので離散対数問題を解くことが難しく、鍵の長さがある程度短くても安全であるとされています。また、暗号化に必要な計算時間はこの鍵の長さが短ければ短いほど高速で、ECCの方が計算の効率がよく、システムが安定するということが言えます。

Joe'sでは、Moodleを利用して社内研修を行っている


 

日本ベリサインのサイトに詳しいことが記載されています。
 

http://www.symantec.com/ja/jp/page.jsp?id=ssl-ecc-dsa-encryption
 

送信すべき情報の暗号化は、実際には共通鍵暗号と言って、もっとシンプルで高速な暗号が利用されます。RSAやECCといった公開鍵暗号は、その通信に先立ち、共通鍵暗号の鍵を共有する(通信を確立する)ために用いられます。したがって、暗号化の処理が効率であると言っても、その範囲でしか有効でない、といえます。その意味で、グローバルサーバーIDを使ってみて、さほど大きな差異を感じなかったとおっしゃる方がいるかもしれません。もう一つ、IE6やIOS6など、古いブラウザでは動作しません(時間が解決するものと思われます)。

Joe's SSL市場(https://www.joes-ssl.com)


 

https://www.verisign.co.jp/ssl/about/client-ecc-dsa.html