このページの本文へ

ECCの技術概要と商用環境でのECC採用を披露

小悪魔ブログもECC?シマンテックが新暗号アルゴリズム解説

2013年06月07日 06時00分更新

文● 大谷イビサ/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

6月6日、シマンテック SSLプロダクトマーケティング部(旧:日本ベリサイン)は、楕円曲線暗号を用いた新アルゴリズムであるECCの技術解説を行なった。また、グローバルで初となる商用環境での導入を行なったディレクターズが導入の経緯や検証結果についてあわせて説明した。

ECCの暗号強度はなぜ高い?

 シマンテックは従来のRSAに加え、新たにECCとDSAという暗号アルゴリズムをサポートすることを2月に発表している。特にECCは短い鍵長で強固なセキュリティを実現しており、同社ではRSAに比べ1万倍強固なセキュリティを誇ると説明する。シマンテックでは「マネージドPKI for SSL」にて商用提供する予定で、3つの暗号アルゴリズムを提供する初の認証局となる。今回の発表会では、シマンテック SSL製品本部 SSLプロダクトマーケティング部 上席部長 安達徹也氏がECCの技術解説を行なった。

シマンテック SSL製品本部 SSLプロダクトマーケティング部 上席部長 安達徹也氏

 ECCは「楕円曲線における離散対数問題の一方向性」を根拠とした次世代の暗号アルゴリズム。SSLのハンドシェイクにおいては、署名を実現するECDSAと鍵交換のECDHEに用いられている。

楕円曲線暗号を用いた新アルゴリズムであるECC

 ECCはなぜ暗号強度が高いのか? ECCでは楕円曲線やその他の乱数を用いた複雑な演算を用いているが、RSAと同様、理論上は暗号解読は可能だ。しかし、RSAでは解読を効率的に行なう手法がすでに発見されているが、ECCでは現状こうした手法がない(解析困難性)。そのため、短い鍵長でも相対的に解析時間がかかることになり、RSAの鍵長2048ビットよりも、ECCの鍵長256ビットのほうが暗号強度が高くなるという。

 一方で、これだけ複雑な演算をするのにECCの方がRSAより速くなるのはなぜかという疑問も生まれる。これは鍵長の短さが署名と鍵交換に与える影響が大きいようだ。

鍵長が短いことで署名や鍵交換の負担が小さくなる同時セッションが増えるとECCが優位に

 シマンテックと筑波大学が共同で行なったテストでは、同一の安全性を求める場合、署名に用いるECDSAはECC、署名検証はRSAが高速だったという。サーバー証明書のハンドシェイクにかかる時間は、署名(サーバー側の処理)、鍵交換、署名検証(Webブラウザ側の処理)などの総和で決まる。そのため、セッションが少ない場合は、サーバー側とブラウザ側の速度差異が打ち消しあい、両社のレスポンスタイムの差がほとんどなかった。しかし、セッション数が増えると、サーバー側の処理負荷の小さいECDSAのメリットが大きくなり、両社のレスポンスタイムに差が出てくる。ブラウザ側の署名検証速度はサーバーの同時セッション数の影響を受けないからだ。

サーバーの負荷軽減に貢献

 説明会の後半ではディレクターズの代表取締役 加藤慶氏が、グローバルで初となるECC対応証明書の導入背景や検証結果について披露した。

ディレクターズの代表取締役 加藤慶氏

 渋谷に本社を構えるディレクターズは、ホスティングやサーバー証明書取得代行事業を手がけている。書籍化された「小悪魔女子大生のサーバエンジニア日記」(以下、小悪魔ブログ)や上場企業情報サイトである「Kmonos(クモノス)」を運営している会社と言った方がわかりやすいだろう。

「Kmonos(クモノス)」や「小悪魔女子大生のサーバエンジニア日記」を展開

 加藤氏によると、Kmonosは物理サーバーとApache、小悪魔ブログは仮想サーバーとNginxで運営されているが、「情報発信するのであれば、サイト運営者の身元を明らかにし、安心して使っていただきたいというポリシーがあった」(加藤氏)とのことで、全ページにSSLがかかっているのが特徴的だという。しかし、Kmonosでは配信ニュースが話題になって、ポータルサイトからのアクセスが増えたり、小悪魔ブログは記事がアップデートされた際に、CPUの使用率が高くなるという問題があった。

 ここで加藤氏が目を付けたのが、サーバーの増強や常時SSL化の停止といった施策ではなく、ECC対応のSSLサーバー証明書だ。SSLサーバー証明書を扱っているだけあり、もとよりECC対応の証明書への関心も高く、サーバーCPUの使用率やレスポンスタイムを検証したという。

 その結果、サーバーのCPU使用率はApacheで約34%減、Nginxで11%減になり、処理負荷の軽減に貢献していることがわかった。ただ、レスポンスタイムに関しては、ばらつきがあり、NgnixではECC、ApacheではRSAがおおむね優位だったという。

サーバーのレスポンスタイムの計測サーバーCPU使用率の計測

 また、導入時の注意点としては、最新版のアプリケーションが必要という。「当社はApache 2.2を使っているが、検証では2.4を導入する必要があった」(加藤氏)。また、ApacheではECCとRSAのハイブリッド構成に対応しているが、Nginxは未対応。また、Apacheでハイブリッド構成にしても、Webブラウザ側でECCとRSAのどちらを選択するかまちまち。おおむねサーバーやブラウザのバージョン問題が課題になるようだ。

導入時の注意点

 加藤氏からバトンタッチされた安達氏は、ECCに加えデータの改ざん検知を実現するための、ハッシュアルゴリズムとしてSHA-256の導入も始めることを明らかにした。テスト用のECC対応6月10日から提供開始予定だという。

■関連サイト

カテゴリートップへ

ピックアップ