速い、軽い、名前の由来が面白い?――モバイル機器に適した暗号化技術「KCipher-2」とは(1/2 ページ)

» 2012年02月17日 09時00分 公開
[日高彰,ITmedia]
Photo KDDI研究所 執行役員の田中俊昭氏

 KDDI研究所が開発した暗号アルゴリズム「KCipher-2」(ケーサイファーツー)が、ISO/IEC 18033-4に承認され、国際標準として採用された。このアルゴリズムは暗号の中でも「ストリーム暗号」と呼ばれ、特に伝送路のセキュリティ確保などに適しているという。

 KDDI研究所 執行役員の田中俊昭氏に、アルゴリズムの特徴や用途、国際標準化の意味、そしてちょっとユニークな名前の由来について聞いた。

通信に適し、高速化しやすい「ストリーム暗号」

 KCipher-2は、携帯電話のようなマシンパワーの限られる端末でもリアルタイムにデータを暗号化できるようにするために開発されたアルゴリズム。KDDI研が九州大学大学院システム情報科学研究院の櫻井幸一氏と共同で2005年に開発を開始し、2006年に「K2」の名称で発表された。そして商用化にあたり、KDDIが「KCipher」の名称で商標登録した。

 暗号にはいくつかの種類があり、暗号化と復号に別々の暗号化鍵を使う「公開鍵暗号」と、同じ鍵を使う「共通鍵暗号」の2種類にまず大別される。公開鍵暗号は事前に共通の鍵を渡している相手以外とも安全に通信が行えるという特徴があるが、共通鍵暗号に比べて計算処理に時間がかかる。そのため、実際の通信では送受信したいデータ自体は共通鍵暗号によって暗号化し、そこで利用する鍵のみを公開鍵暗号で交換するという方式が取られる。

 共通鍵暗号はさらに「ブロック暗号」と「ストリーム暗号」に分けられる。ブロック暗号は、データを64ビットや128ビットなどの固定長に区切ってその都度処理を行うもので、代表的なものとしては、米国の情報処理標準として規格化されたAESがある。一方ストリーム暗号は、ビット単位またはバイト単位で1ケタずつ逐次処理するもので、暗号化による遅延が小さいため、通信用の暗号技術として利用するのに適している(もちろんデータ保管時の暗号化用途にも使える)。

 また、ブロック暗号ではデータのブロック1つ1つに対して複数回の演算処理が発生する。これに対してストリーム暗号は、暗号化時と復号時で鍵ストリームの同期をとる仕組みなどは必要になるものの、暗号化・復号の処理自体はビットごとの単純な演算で済むため、共通鍵暗号の中でも比較的高速化しやすいのが特徴となっている。

Photo 暗号の種類とKCipher-2の仕組み

軽くて強力、幅広いプラットフォームに対応

 KDDI研究所では、他の暗号方式に対するKCipher-2の優位性を示すデータとして、次のようなテスト結果を公開している。

Photo 他の暗号化技術との比較

 同一のハードウェアを使用した場合、ブロック暗号のAESと比べ7〜10倍程度の速度で暗号化処理が可能と、パフォーマンス面では大幅な差を付けている。大まかにいうと、PCでDVD 1枚分の動画データを暗号化した場合、AESなら1分以上かかるところ、KCipher-2なら10秒以下で済むといったイメージだ。同じストリーム暗号と比べても、SSLや無線LANのWEPなどで広く利用されているRC4の3倍程度のスピードだ。

 2006年のアルゴリズム発表以来、国内外の学会や研究機関で評価が行われているが、脆弱性は見つかっておらず、暗号の強度に関しても十分な安全性が確認されている。国内の公的な評価としても、総務省、経済産業省および複数の研究機関などで構成される暗号技術評価プロジェクト・CRYPTRECにおいて一次評価(机上審査)を通過しており、解読までには「10の100乗(1の後にゼロが100個続く)年」かかるとされている(実地審査にあたる二次評価は2012年度中に完了する予定)。

 KCipher-2は既にKDDI研究所から商用のソフトウェアとして提供されており、Windows、Java、Mac、Linux、Brew、Android、iPhone、Solaris、Perlに対応したSDKがライセンス販売されている。FPGA向けのSDKも用意されているので、ハードウェアとしての実装も可能だ。このように幅広いプラットフォームに対応しているのは、当初から特定のCPUアーキテクチャに依存しないようアルゴリズムを設計したことが効いている。

Photo SDKは幅広いプラットフォームに対応している
       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

最新トピックスPR

過去記事カレンダー

2024年