国内の大手ベンダーが,電子商取引などに不可欠な暗号技術の開発競争にしのぎを削っている。欧米の技術動向を視野に入れながら,従来の暗号に比べて解読することが格段に難しい「次世代暗号」の実現を目指す。各社は,携帯電話などの小型機器に実装しやすくしたり,解読の難しさを数学的に証明できるようにするなど,暗号化のアルゴリズムを工夫して独自性をアピール。国際標準や日本の政府調達の標準暗号として広く採用されることを狙っている。

表1●国内大手ベンダーが開発を進めている共通鍵方式の次世代暗号
 電子商取引の本格的な普及期を迎え,インターネット経由でデータをやり取りする際のセキュリティ対策が改めてクローズアップされている。こうしたなかで,三菱電機や東芝,日立製作所などの大手国内ベンダー6社が,「次世代暗号」技術の開発成果を続々と公表している(表1[拡大表示])。

 各暗号の特徴はさまざまだ。携帯電話などの小型機器にプログラムを実装しやすい点,強力な暗号解読法が使われても解読できないことを数学的に証明できる点,映像などの大容量データを高速に暗号化できる点,などである。いずれも,従来の暗号にはない大きなメリットだ。

 暗号技術で先行する米国では,NIST(国立標準技術研究所)が政府調達に用いる次世代暗号「AES(アドバンスト・エンクリプション・スタンダード)」を策定中で,現時点では欧米の五つの暗号が候補に挙がっている。国内ベンダーはこれらと同様の暗号化アルゴリズムをベースに,さまざまな工夫を凝らしている。各社は,今年10月に東京で開催されるISO(国際標準化機構)の会議で,次世代暗号の国際標準の候補として名乗りを上げる考えだ。日本政府の電子政府構想も視野に入れ,政府調達の標準暗号としても積極的に提案していく。

「共通鍵」暗号の開発が活発に

図1●共通鍵を使った暗号通信の例。一般にデータを一定の長さのブロックに分割してから共通鍵で暗号化する。共通鍵の暗号化には公開鍵を使う
 ネットワーク経由で送信するデータを暗号化したり,受信したデータを元のデータに復号化するには,「鍵」を使う(図1[拡大表示])。鍵の実体も,データ(ビット列)である。仮に暗号化のアルゴリズムが分かっても,鍵がないと暗号を解読することはできない。

 暗号には,暗号化と復号化に同じ鍵を使う「共通鍵」方式と,暗号化と復号化に異なる鍵を使う「公開鍵」方式がある。現在,欧米や日本のベンダーが競って開発している次世代暗号は共通鍵方式だ。この方式では,データをいくつかの「ブロック」に分割してから暗号化するのが一般的である。

 鍵とブロックが長いほど,解読するのが難しい。表1の暗号のほとんどは,鍵長が128~256ビット,ブロック長が128ビットである。従来の代表的な共通鍵暗号で,AESの前身に当たる「DES」は,鍵長が56ビット,ブロック長が64ビットだ。

 暗号を解読する一般的な方法は,さまざまなデータを入力して暗号化を行い,その結果の暗号データと入力データとの相関関係を調べて,アルゴリズムを突き止めるというもの。ブロックが長いと,相関関係を調べるための計算量が膨大になり,解読が難しい。鍵を構成するビット列の全パターンをしらみつぶしに調べる方法も考えられるが,鍵長が128~256ビットの次世代暗号では事実上不可能である。

特定の攻撃に対する安全性を証明

 表1でまず注目されるのは,最も強力な暗号解読法とされる「線形攻撃」や「差分攻撃」への対策に比重をおいた三菱電機の「MISTY」と東芝の「Hierocrypt」だ。従来の暗号には有効だったこれらの攻撃手法が使われても,決して解読できないことを数学的に証明したという。具体的には,「相関関係を調べるために必要な入力データの数が,鍵のビット列をしらみつぶしに調べる場合の全パターンの数よりも多いことを証明した」(東芝の川村信一研究開発センター主任研究員)。三菱電機の竹田栄作情報セキュリティ技術部長は「極めて強力な線形攻撃や差分攻撃に対して安全であることがはっきりしているので,安心して利用できる」と話す。

 MISTYは小型機器に実装しやすい点にも特徴がある。8ビット・プロセサでも処理できるようにアルゴリズムを工夫した。ただし,ブロック長は従来と同じ64ビットである。

 MISTYのアルゴリズムは,次世代携帯電話の規格「W-CDMA」に標準暗号として採用されたことでも注目を集めた。「小型機器に適用しやすいだけでなく,安全性を厳密に証明できる点が評価されたのだろう」と竹田部長は説明する。

 MISTYを基に,NTTと三菱電機が共同開発した暗号「Camellia」も,携帯電話などに実装しやすい。加えて,MISTYに比べてソフトウエアで高速に処理できるという特徴がある。NTTはCamelliaを,「NTTグループ全体の標準暗号として利用していく」(NTTの岡本龍明情報流通プラットフォーム研究所主席研究員)考えだ。

 東芝のHierocryptはMISTYと違い,ブロック長が128ビット。「線形攻撃や差分攻撃に対する安全性を証明でき,かつブロック長が128ビットの暗号はHierocryptが初めて」(東芝の川村主任研究員)である。東芝はHierocryptをミドルウエアに実装したり,システム・インテグレーション事業に利用していく。

多様な解読法への対応を優先

 特定の解読法に対する安全性を数学的に証明することはできないが,さまざまな解読法に対して高水準の安全性を実現することを狙った暗号もある。NECの「CIPHERUNICORN-A」と日本アイ・ビー・エムの「MARS」だ。

 CIPHERUNICORN-Aは,どのような解読法を試みても,入力データと暗号データの相関関係を発見しにくい,“くせ”のないアルゴリズムが特徴。NECはCIPHERUNICORN-Aの開発に先だって,アルゴリズムのくせを評価するための指標を作成した。この指標を基に,相関関係が均一になるようにアルゴリズムの改良を重ねた。

 NECの宮内宏情報通信メディア研究本部研究マネージャーは,「CIPHERUNICORN-Aはアルゴリズムにくせがないので,線形攻撃や差分攻撃を含む,さまざまな解読法に対応できる。今後,新しいタイプの解読法が現れても,高い安全性を実現できる」と説明する。NECは今秋にも,ミドルウエアにCIPHERUNICORN-Aを組み込んで出荷する。

 MARSは,アルゴリズムの構造を複雑にすることで,さまざまな解読法に対応できるようにした。その狙いについて日本IBMの佐藤証東京基礎研究所主任研究部員は,「線形攻撃や差分攻撃に対する安全性を厳密に証明できたからといって,ほかの解読法に対して安全かどうかは分からない。MARSは多様な攻撃に耐えることを最優先に考えて開発した暗号だ」と説明する。

日立の暗号は1ビット単位で変換

 表1の暗号のうち,暗号化の対象となるデータをブロック化せず,1ビットずつ変換する「ストリーム型」のアルゴリズムを採用したものが一つだけある。日立の「MULTI-S01」だ。

 ストリーム型の最大の特徴は,暗号化処理のスピードである。「同じハードで暗号化した場合,ストリーム型はブロック型よりも5倍ほど高速」(日立の宝木和夫セキュリティ・システム研究センタ副センタ長)。

 日立はMULTI-S01をルーターなどに組み込み,映像など大容量のデータを高速に暗号化して送信できるようにする。「毎秒ギガビット単位の高速な暗号通信が可能になる」(宝木副センタ長)という。

(西村 崇)

共通鍵暗号のアルゴリズム

共通鍵方式で,データをブロックに分割するタイプの暗号は,「Feistel型」と「SPネット型」の2種類に分けられる。表1のうち,NEC,NTT,日本IBM,三菱電機の暗号はFeistel型を,東芝の暗号はSPネット型をベースにしている。

 Feistel型では,ビットを別のビットに置き換える関数などを使う。まず入力データを二つのブロック(ビット列)に分け,一方に関数を適用する。続いて,その結果ともう一方のブロックとの「排他的論理和」をとる。この処理を何回か繰り返す。

 SPネット型では,ビットを別のビットに置き換えるS関数と,ビットを並び換えるP関数を使う。入力データを複数のブロックに分割し,各ブロックにS関数を適用する。その結果を連結して一つのビット列にしてから,P関数を適用する。この処理を何回か繰り返す。東芝の暗号では,S関数の代わりに,SPネットそのもの(S関数とP関数の組み合わせ)を入れ子式に使うことで安全性を高めている。