本文へジャンプ

ナビパラ.コム

uVALUE 実業×IT

Hitachi

ISO標準の日立ストリーム暗号「MUGI」をベースに開発

-- 新しいストリーム暗号「Enocoro」は、どのような背景から開発されたのですか。

高速ストリーム暗号MUGI
高速ストリーム暗号MUGI
画像を拡大する

渡辺:ユビキタスネットワーク時代にふさわしい、軽量で小型の暗号、具体的にはバッテリー駆動する小型デバイスでも使えるような低消費電力の暗号を作ろうというのが最大のテーマでした。ベースとなったのは、私が中心となって2001年に開発した「MUGI」というストリーム暗号です。MUGIは攪拌(かくはん)関数に独自の構造を採用したことで、世界標準であるAES*2より処理速度を大幅に向上させることに成功しました。

-- MUGIは電子政府推奨の暗号リストにも掲載されていますし、2005年7月にはISO標準にもなっていますね。

MUGI型の構造を持つ低消費電力暗号Enocoro
MUGI型の構造を持つ
低消費電力暗号Enocoro
画像を拡大する

渡辺:おかげさまで非常に高い評価をいただいています。ただ当時の暗号は、サイズは大きくてもいいから、とにかく速いものをめざす、ハードウェアよりソフトウェアで実行させるという傾向が主流でした。しかし現在のユビキタスネットワークに対応させるには、より消費電力が小さく、ハードウェア実装できるものが求められるようになっています。そこで再び、そうしたニーズに応えられる暗号をと、チャレンジしたわけです。
その過程で2007年1月には、通信データの暗号化や機器を認証するための演算手法として用いられるハッシュ関数として、高い安全性とハードウェア的な軽量性能をあわせ持つ「MAME(マメ)」*3を開発しました。今回のEnocoroには、このMAMEで培った軽量化技術が活かされています。

ハードウェア化した場合の消費電力を1/10以下に

-- Enocoroの特長を教えてください。

EnocoroとAESの消費電力比較
EnocoroとAESの消費電力比較
画像を拡大する

渡辺:まずハードウェア実装した際の規模を小さくすることで、消費電力の低減を図ったことです。MUGIとの対比でお話しすると、そもそもMUGIは暗号鍵などの機密情報を保持しておく「レジスタ」という部分をAESより大きくすることで、安全性を損なわず高速処理を行える工夫が施されています。しかし消費電力を減らすには、どうしてもレジスタ数を削減し、内部状態のサイズを圧縮する必要がありました。そこでMUGIでは1,200ビット程度あったサイズをEnocoroでは272ビット、1/4程度にまで削減しています。
その代わりに安全性は損ないたくない、処理速度も遅くしたくないという条件がありましたから、これらのバランスをとりながら、いかに最大効率を引き出すかが大きな課題になりました。

-- そのためには、どんな工夫が必要だったのでしょうか。

実験用ボード
実験用ボード
画像を拡大する

渡辺:ハードウェアの素人がいきなり実装用のアルゴリズムを作ると、まったく必要のない回路まで、どんどん付けてしまうんですね。そこで今回はMAMEを開発したときと同様に、最初からハードウェアの専門家の北原さんに設計に参加してもらい、いかに高効率の回路を作るかで、いろいろなアドバイスをいただきました。
その過程で、レジスタのデータをかき混ぜる攪拌回路という部分を、バランスよく増強するアイデアが生まれました。単に強化すれば安全性は増しますが、処理スピードが低下してしまう。そこで従来は1回混ぜていた方式を、2回同時に並列的に混ぜ合わせる二層構造の攪拌回路を新たに開発しました。これにより、一段と強力にレジスタ上のデータを攪拌しながら、高速処理性能も維持できるようになったのです。

-- 安全性と高速性との両立を図ったわけですね。実際にEnocoroをハードウェアに搭載した際の性能は、どの程度になりましたか。

北原:私は渡辺君が開発したアルゴリズムをハードウェアに実装し、さまざまな状況でどれほどの電力が消費されるのかを検証する作業も担当しました。東京理科大学さんにお願いした安全性評価の結果も総合すると、AESと同程度の安全性と処理速度を実現しながら、ハードウェア化した場合の消費電力を1/10以下*4に抑えられることが確認されました。

-- それなら小型情報端末や携帯電話でも、バッテリー切れの心配をすることもなく情報のやりとりが行えそうですね。

福澤:はい。しかし本当にEnocoroのポテンシャルが発揮されるのは、むしろもっと小さなユビキタスデバイス、例えばRFID、センサーなどではないかと私たちは考えています。ビル設備などに設置されれば何年も電池交換されることのないセンサーや、みずからは電源を持たず外部からの電波で電力を発生させるRFIDなどでは、特にこの低消費電力のメリットが生きてきます。
現在、こうしたユビキタスデバイスに暗号機能はほとんど付けられていませんが、今後、膨大な量の情報がユビキタスデバイスを介して行き交うようになれば、必ず高セキュリティへのニーズが生まれてきます。将来的にそこを埋められるのがEnocoroなのです。

2つのラインアップをそろえたEnocoro

-- 今までなら消費電力がネックになっていた極小のデバイスにも暗号機能が付加できるということですね。

福澤:そういった幅広い用途に適用できるよう、Enocoroには安全性の指標となる鍵長が80ビットと128ビットの2つのラインアップをそろえています。RFIDなど、強度はほどほどでいいからサイズや消費電力を極力抑えたいという場合はEnocoro-80、AESと同程度のセキュリティが必要ならEnocoro-128と、適切な製品を選べるわけです。

北原:もちろんEnocoro-80でも、現時点では解読される心配はほとんどありません。暗号として必要十分な性能を備えていますし、消費電力はEnocoro-128より、さらに2割ほど低くなります。

-- それはすごい。例えば従来なら1年しかもたなかった電池を、Enocoro-128なら10年、Enocoro-80なら12年持たせることができるということですね。

独自評価によるFPGA実装の消費電力比較
 消費電力量(nWs/bit)
AES1.16
MUGI0.22
Enocoro-800.084
Enocoro-1280.103

渡辺:暗号処理で使われる分だけで言えば、確かにそうなりますね。ただし実際には、他の機能との兼ね合いも含めて電池寿命が決まってくるわけですが。

「ねこじゃらし」から命名

-- ところでEnocoroって、どんな意味の言葉なんですか。

渡辺:“ねこじゃらし”という草の正式名称がエノコログサなんです。ムギ、マメの次がエノコロと、私としては「穀物」の名前でシリーズ化してきました。最初はマメより小さいものには何があるかなと、アワ(粟)やケシ(芥子)、キビ(黍)なども考えたんですが、商標をとる都合上、いろいろありましてエノコロになりました。

-- もっと軽量の暗号を開発したら、またネーミングに苦労しそうですね。皆さんは今後、Enocoroをどのように展開していきたいと考えていますか。

渡辺:しばらくは安全性評価の充実を図っていく作業が続くと思います。その次はEnocoro-80と組み合わせて使えるよう、認証用のハッシュ関数であるMAMEをさらに小さくしたものを作りたいですね。

福澤:Enocoroの登場によって、サイズと強度で選べる暗号のラインアップがそろいました。今後は、お客さまのシステム内容によって、暗号が適材適所に使えることを積極的に提案していきたいと考えています。

北原:さまざまな機器に組み込まれるLSIに、消費電力を気にせず装備できる暗号機能として広く普及させていきたいですね。そのためにもISO標準などのデファクトスタンダードをめざして、さらなるブラッシュアップを図っていきたいと思います。

-- 期待しています。本日はどうもありがとうございました。

*2
AES : Advanced Encryption Standardの略。2001年に米国が規格化した共通鍵暗号の一方式であり、事実上の世界標準暗号。
*3
MAME : 単一の演算処理を繰り返すアルゴリズムを用い、従来の約半分の8.2Kゲート相当の回路規模で実現されたハッシュ関数。256ビットレベルの高い安全性を持ち、RFIDなどのユビキタス向け小型機器での利用に適している。
*4
10分の1以下 : 実験的に、論理回路を書き込み可能なゲートアレイであるFPGA(Field Programmable Gate Array)を使って1ビットのデータを暗号化する際に消費する電力を実測した結果、AESは1.16nWs(ナノワット秒)、Enocoroは0.103nWs。なお、数値は評価環境によって異なる。