Comments
Description
Transcript
共通鍵暗号Camelliaのオープンソース採用状況
R セキュリティ Camellia R&D & D ホ ッ ト コ ー ナ ー オープンソース 共通鍵暗号Camelliaのオープンソース採用状況 NTT情報流通プラットフォーム研究所 き と う ひろゆき か ん だ まさゆき 鬼頭 宏幸 /神田 雅透 共通鍵暗号Camelliaは,国産暗号では初めてFirefoxとOpenSSLに搭載され,実 際にCamelliaを使ったSSL/TLS通信が利用できるようになるなど,多くの国際的 なオープンソースソフトウェアで採用が進んでいます.ここでは,Camelliaのオー プンソース採用状況と利用方法について紹介します. 安心・安全のブランド向上を 目指して 欧 州 連 合 推 奨 暗 号 選 定 プロジェクト 代暗号へ移行が始まっています. NESSIE( New European Schemes for Signatures, Integrity, Camelliaについても,このタイミング and を逃さず,AESとともに情報化社会の基 Camellia(カメリア)*,(1)はNTTと Encryption)において「米国政府標準 盤技術として世界中で使われることを目 三菱電機が共同で2 0 0 0 年に開発した 暗 号 AES( Advanced Encryption 指し,2006年4月にオープンソース化 共 通 鍵 暗 号 です. 私 たちは, この Standard)と多くの点で同等の安全性 を行いました.Camelliaホームページ(2) Camelliaを広く認知してもらい,世界 と性能を有している」と評価されるなど, では,オープンソースとして無償のNTT 中で使われる環境をつくり,NTTの安 国際的にも認められています. 製Camelliaエンジンを公開しています. 心・安全のブランドを向上させることを 事実,CamelliaはAESと同等の安全 目指し,Camelliaをオープンソース化 性と処理性能を持つ世界唯一の代替暗 いただけるよう,表1に示すようにソー しました.また,Webサーバで多く使わ 号として,AESとともに多くの国際的な スコードとしては同一ですが,オープン れる暗号ライブラリであるOpenSSL, 標準暗号・推奨暗号に選定されていま ソースとしての利用(ライセンス)条件 次にWebブラウザとしてFirefox,さら す.国産暗号としては初めてインター が異なる複数のオープンソースを用意し には LinuxなどのOSカーネルといった多 ネ ッ ト 標 準 暗 号 ( IETF Standard ています. くの主要なオープンソースソフトウェア Track RFC)にも承認されました. での採用に向けた活動を行いました. Camelliaとは Camelliaのオープンソース化 今までデファクトスタンダードとして Camelliaは,技術的に高い安全性を 広く利用されてきたTriple DES(Data 持つのはもちろん,効率性と実用性にも Encryption Standard)やRC4などか 優れており,さまざまなプラットフォー ら,AESなどのより高速,安全な次世 できる限り自由にCamelliaを利用して また,Java言語は,携帯電話や組込 機器など使用できるメモリサイズに制限 がある環境でもよく使われることから, 使用メモリサイズを削減したバージョン も用意しています. ム上のソフトウェアで高速に実装するこ とができます.ハードウェア実装におい 表1 オープンソースCamelliaエンジン ても,高速実装はもとよりコンパクトか 言 語 つ低消費電力型の実装が可能です. ライセンス BSD License GPL(Gnu Public License) これらの技 術 的 優 位 性 は, 例 えば C言語 LGPL(Gnu Lesser General Public License) MPL(Mozilla Public License) * Camellia とは椿のこと.日本原産の生命力が強 い植物で,世界中にいろいろな品種が生育して います.日本で生まれた暗号技術も,椿のよう に世界中に強固に根付いてほしいとの願いから 命名されました. OpenSSL License Java言語 BSD License GPL NTT技術ジャーナル 2009.1 63 オープンソースコミュニティ での採用状況 表2 Camelliaを利用できるオープンソース 分 類 さらに,暗号を使う主要なオープンソー スコミュニティに対してもCamelliaの OSカーネル ソースコードを提供し,採用に向けた活 動を行ってきました.Camelliaが技術 的にもAESに並ぶ暗号方式であると世 界中に広く認知され,実際に多くの国 ライブラリ OpenSSLなどに相次いで標準搭載され 2.6.21以降 IPsec 7以降 IPsec FreeBSD 7系 7.0以降 IPsec,パーティション暗号化 FreeBSD 6系 6.4以降 IPsec OpenSSL 0.9.8c以降 Webサーバなどで利用 NSS 3.12以降 Firefoxなどで利用 Crypto++ 5.4以降 C++クラスライブラリ *2 2.20以降 GNU 暗号ライブラリ Bouncy Castle 1.30以降 Java版暗号ライブラリ Firefox 3.0以降 SSL/TLSブラウザ GnuPG 2以降 OpenPGP ipsec-tools 0.7以降 *3 数のオープンソースソフトウェアである アプリケーション 備 考 Fedora Core Gnu TLS 果,多くのユーザが利用している世界有 バージョン Linux *1 際標準暗号・推奨暗号に選定された結 F i r e f o x やL i n u x , F r e e B S D , プロダクト名 IPsec,IKE ました(表2). *1 Network Security Services *2 The Gnu Transport Layer Security Library *3 The Legion of the Bouncy Castle 例えば,FirefoxとOpenSSLの両方 で対応したことにより,国産暗号による SSL/TLS通信が初めて実現しました. 開発するオープンソースのWebブラウザ 対応したSSLサーバに接続した様子を また,LinuxなどのOSカーネルに搭載さ です.Firefox 3.0は,2008年6月18 Camelliaホームページを例に示します. れたことにより,Camellia によるIPsec 日(日本時間)のリリースから24時間 同サイトのhttpsから始まるURLのペー で800万を超えるダウンロードが行われ, ジを表示し,右下に鍵のアイコンが表示 通信も可能となりました.SSL/TLS, IPsecに対応したオープンソースソフト 「世界でもっとも2 4 時間以内にダウン されれば,サーバ=クライアント間の通 ウェアやOSカーネルなどさまざまな種類 ロードされたソフトウェア」として公式 信が暗号化されています(SSL/TLS通 のライブラリでCamelliaが標準的に選 にギネス記 録 として認 定 されました. 信) .さらにこの状態で,メニューバーの 択できるようになったことで,Camellia 2008年9月時点で,ブラウザのシェア “ツール”→“ページの情報”を選択する の利用や製品開発がとても簡単にできる は,Microsoft Internet Explorer に と, ウインドウの下 段 に「 C a m e l l i a - ようになってきました. 次いで19%となっています(3). 256 256bit(高強度の暗号化)」と表 表2に示したもの以外にも,NTT以 こ の Firefox 3.0の 特 長 と し て , 外の方によるオープンソース活動も行わ Camelliaを標準サポートしたことが挙げ れ, 現 在 P e r l , P y t h o n やR u b y でも られています.オープンソースコミュニ Camelliaを使うことができます.最新の ティの世界では新しい暗号を追加するこ オープンソース対応状況および,これら とには総じて慎重であり,Firefoxにお のオープンソースの入手先は,Camellia いても2002年にAESをサポートしてから ホームページにて公開しています. 5年ぶりの追加となりました. Firefox 3.0でCamelliaを 使ったSSL/TLS通信 Firefoxは,Mozilla Foundationが 64 NTT技術ジャーナル 2009.1 示され,Camelliaによって接続が暗号 化されていることが分かります(図1 (b)). OpenSSLでのCamelliaの 使い方 OpenSSLとは, OpenSSL Project Firefox 3.0ではCamelliaを標 準 サ が開発するSSL/TLSプロトコル用暗号 ポートしているため,ダウンロード,イ ライブラリで,現在世界中のWWWサー ンストールするのみでCamelliaを使うこ バの60%以上が,SSL/TLS通信を実現 とができます.図1 (a)で,Camelliaに するために,OpenSSLを利用していま R & D ホ ッ ト コ ー ナ ー (a)の状態で,メニューバーの “ツール”→“ページ情報”を表示 Camellia で 暗号通信中 鍵のアイコンが 表示されれば SSL/TLS を利用中 (a) SSL サーバ接続例 (b) 暗号通信の確認例 図1 Firefox 3.0での接続例 す.OpenSSL 0.9.8c版からCamellia います(4).表3に示すように,OSによっ が搭載されました. ては0.9.8x版でもはじめからCamellia 現在のOpenSSL 0.9.8x版において は,標準のコンパイルオプションのまま ではCamelliaは自動でインストールされ を有効にしたOpenSSLを同梱している ものもあります. 図2に示す方法でお手元のOpenSSL 表3 Camelliaが有効なOpenSSLを 同梱するOS 製品名 バージョン Fedora Core 9以降 OpenSUSE 10.3以降 2008.0以降 ません.OpenSSLの次期メジャーバー を確認することができます.Camelliaが Gentoo Linux ジョンアップ時 ( OpenSSL 0.9.9版 ) 有効になっていない場合は,図3に示す FreeBSD 7.0以降 では,Camelliaが標準で有効になる予 方法で,Camelliaを有効にすることが FreeBSD ports 2007/6/12以降 定です. できます. なお,A p a c h e L o u n g e のようにコ ミュニティによっては,OpenSSLのディ ストリビュータに対 して, O p e n S S L Camelliaに対応したSSL サーバ 0 . 9 . 8 系 でもヨーロッパや日 本 では C a m e l l i a が有 効 になっている Camelliaを有効にすることを推奨して OpenSSLとApacheを使うことによっ て,Camellia対応SSLサーバを簡単に つくることができるようになりました. Camellia対応SSLサーバの構築方法 については,Camelliaホームページにて 詳細な設定資料を用意しています. NTT技術ジャーナル 2009.1 65 さまざまなオープンソースソフトウェ Camellia が 表示されれば OK アにCamelliaが相次いで採用されたこ とを受け,Camelliaを採用する市販製 品も次々とリリースされており,ますま $ cd /usr/local/ssl $ ./opnessl ciphers :(省略) ..:DHE-RSA-CAMELLIA-256-SHA:DHE-DSS-... すCamelliaに対応したプロダクトが増 えることが期待されています. ■参考文献 図2 インストール結果の確認方法 OpenSSL の展開先 $ cd openssl-0.9.8i $ ./config enable-camellia ¥ > --prefix=/usr/local/ssl shared $ make depend $ make root 権限で $ su インストール # make install (1) 神田:“国産暗号Camelliaの普及に向けた取 り 組 み ,” N T T 技 術 ジ ャ ー ナ ル , V o l . 1 7 , No.12,pp.20-23,2005. (2) http://info.isl.ntt.co.jp/crypt/camellia (3) http://marketshare.hitslink.com/default.aspx (4) h t t p : / / w w w . a p a c h e l o u n g e . c o m / f o r u m /viewtopic.php?t=1992 Camellia のコンパイル オプションをオンにする 図3 OpenSSLのコンパイルとインストール例 Linux,FreeBSDで Camelliaを使ったIPsec通信 Linuxではバージョン2 . 6 . 2 1 以降の カーネルで,またF r e e B S D 7系では ました.今後はIPsec以外の機能への展 開が期待されます. Camelliaに関する情報の 入手方法 バージョン7.0以降,6系ではバージョン Camelliaに関する最新情報や紹介記 6.4以降でそれぞれCamelliaが追加され 事等は,Camelliaホームページ(2)から ました.これにより,Linux,FreeBSD 入手することができます. 上でCamelliaを利用したIPsec通信が ・Camellia仕様書等の技術情報 可能となりました. ・製品情報 また,Linuxカーネルに搭載されたこ ・ニュースリリース.関連記事 とを受け,Fedora Coreをはじめとした ・標準化情報 Linuxのディストリビューションでも順 ・オープンソース対応状況 次対応が進んでいます. ・各種ガイダンス資料 OSカーネルの機能としてCamelliaが サポートされたため,FreeBSD7系で はパーティションを暗号化する際にも Camelliaを使うことができるようになり 66 NTT技術ジャーナル 2009.1 今後に向けて Camelliaのオープンソース採用状況 とその利用方法を紹介しました. (左から)鬼頭 宏幸/ 神田 雅透 Camelliaを使おうと思ったときには,す でにCamelliaがお手元にあるという状態に なりつつあります.これからも,Camellia の普及を通してNTTグループの各社やお客 さまシステムの「安心・安全」に貢献して いきます. ◆問い合わせ先 NTT情報流通プラットフォーム研究所 情報セキュリティプロジェクト TEL 0422-59-3469 FAX 0422-59-4015 E-mail camellia lab.ntt.co.jp