− まずはデジタル署名そのものの内容を、わかりやすく教えてください。
|
宝木: デジタル署名とは、電子的に実現された印鑑機能のことで、書類に押すハンコと同様に、デジタル文書の作成者を証明し、その文書が改ざんされていないことを保証するための技術です。署名者の「秘密鍵」によって暗号化した署名を文書に付加して送ると、受取人は署名者の「公開鍵」を用いて署名を復号化し、正しい内容かどうかを確認することができます。2001年4月に「電子署名法」が施行されてからは、デジタル署名が手書きの署名や押印と同等に通用する法的基盤が整備され、電子商取引でも積極的に使われるようになりました。
|

図1 サイドチャネル(実装)攻撃
※クリックして拡大図をご覧下さい
|
このように、暗号化と復号化を違う鍵で行う「公開鍵暗号方式」ではRSA(R. Rivest、A. Shamir、 L. Adleman)という方式が有名ですが、暗号化鍵が長いため、能力の高いコンピュータでなければ処理速度が遅くなり、多くのメモリーも必要とします。そこで、1024bitの鍵を使うRSA暗号と同程度の安全性を確保しながら、鍵の長さを160bit前後まで短くでき、高速に処理できる「楕円曲線暗号」という方式が注目されてきました。
特に最近は、携帯電話やPDA、ICカードなどのモバイル機器で、通信相手の真正性を確認するためにデジタル署名を利用しようという動きが本格化しており、楕円曲線暗号は、そうした用途に最適なものと期待されています。今回、私たちが開発した新しいデジタル署名技術は、この楕円曲線暗号をベースに、日立独自の技術を盛り込み、新たなセキュリティ攻撃にも対抗できるようにしたものです。
|
− 新たなセキュリティ攻撃とは、どのようなものなのですか。
|
桶屋: 「サイドチャネル攻撃」と呼ばれているもので、ICカードや携帯電話などのモバイル機器へデジタル署名を実装した場合、その暗号処理の実行時間や電力消費量、電磁波などの情報を利用して、機器内部に格納されている秘密鍵の情報を暴き出すという手法です。
|
− そんなことが可能なのですか。
|
宝木: 例えばICカードをリーダー/ライターに入れた場合、電力供給は外部から行われますが、その電力消費量を観測することによって、暗号処理の二進展開、つまり1と0の処理波形を見極めて、秘密鍵を解読することが可能になります。これはすでに多くの実験で証明されており、緊急に対応策が求められているのです。
|
− 今まで想定されなかった暗号解読の方法ですね。
|
桶屋: ええ。暗号の安全性については従来、アルゴリズムレベルでの安全性、つまり入力データと出力データを見て、そこから秘密鍵を解読できるかどうかといった、理論的な安全性しか考慮されていませんでした。しかし暗号技術が実際にコンピュータに搭載されてくると、その実装方法、つまり暗号処理自体が攻撃者のターゲットになることがわかってきました。また一方では、実装の安全性に配慮すると、ダミーの計算処理などを挿入するため、速度低下やメモリー、消費電力の増大を招くことになります。そこで、モバイル機器に最適化され、なおかつサイドチャネル攻撃にも強いデジタル署名技術の開発が重要な課題となっていたわけです。
|
− 新しいデジタル署名技術の内容を教えてください。
|
桶屋: 日立が開発したデジタル署名技術には2段階あります。まず、モバイル機器に最適なメモリー使用量と処理速度、そして安全性を実現する「wNAF(Width-w Non-Adjacent Form)法」です。
従来、高速に暗号処理を実行する際には、秘密鍵のビットを一つ一つ取り出して計算していたため、1と0の処理では電力消費量が異なってしまい、電源供給部に端子を当てて電力消費量パターンを計測すると、秘密鍵が解読されるおそれがありました。
|

図2 従来法(高速優先処理)
※クリックして拡大図をご覧下さい
|
一方、安全性を優先するためには、実際には関係のないダミーの計算を挿入して電力消費量パターンをかく乱する方法が提案されていました。しかしこの方法は、処理時間や消費電力が4倍ほどかかってしまい、モバイル端末での利用には適さなかったのです。
そこで私たちは、従来0と1の二進法だった秘密鍵を、0と1と−1の三値を用いる方法に変え、秘密鍵を一定長に分割したとき、各区分はそれまで1/2の確率で値が奇数か偶数になっていたものを、すべて奇数で終わるように変換しました。これにより、攻撃者は1か0かの区別ができなくなり、強固な安全性が確立できます。また値を奇数ばかりにすることで、メモリー使用量も低く抑えることが可能です。さらに、こうした処理を細かなブロック単位で行うことによって、従来の高速優先処理に匹敵するスピード性も実現したのです。
|
− 処理された値を、すべて奇数で終わらせるという点がポイントですね。
|
桶屋: はい。さらにもう一つ考案したのが、与えられたメモリーに対して最適な計算コストをフレキシブルに実現する「OTスキーム」です。これは通常、暗号処理を分けたブロック幅が、すべて同じ長さになるのに対し、2種類のサイズを動的に選択できるようにしたもので、アプリケーションの状態に応じて処理速度や使用メモリーなどを常に最適な状態にカスタマイズすることができます。
|
宝木: 従来の暗号技術では、メモリー量が2倍の単位でしか選べず、例えば96バイトの上は192バイト、その上は384バイトと、与えられたメモリー量の中で非常に強いか、極端に弱いかしか選択できませんでした。しかし、OTスキーム適用すると、どんなメモリー量の中でも最適な処理速度と電力消費量をチューニングできるため、割り当てメモリー量がシビアなモバイル機器でも、常に最適な暗号処理を実現することができるのです。以上の要素を適用したデジタル署名技術は、ユビキタス情報社会における、さまざまなモバイル端末への安全な実装技術として、非常に大きなアドバンテージとなると思います。
ちなみにOTスキームの“O”は桶屋君の頭文字、“T”は今回の共同研究者であるドイツ・ダルムシュタット工科大の高木剛先生の頭文字です。
|