Vol.3 No.1 2010
60/100
研究論文:暗号モジュールの安全な実装を目指して(佐藤ほか)−57−Synthesiology Vol.3 No.1(2010)る。そして、サイドチャネル攻撃の標準評価環境構築への取り組みと、その環境における実験を通してサイドチャネル攻撃の現状を示す。さらに、より高度な技術が必要とされる故障利用解析や破壊攻撃の研究、セキュリティに加えてエラーや故障に対するシステムの信頼性・安全性確保に向けた今後の研究についても展望する。2 暗号の利用拡大と安全性評価2.1 暗号アルゴリズムの標準化人類が文字を発明し、伝聞によらない遠隔地への情報伝達や、知識の蓄積が可能となると、その情報や知識を第三者に漏らさないためのさまざまな方法が考案されるようになった。その一つが暗号技術である。そして、暗号アルゴリズムとその解読手法は特に戦時下において急速な進歩を遂げた。推理小説やサスペンス映画に登場する暗号は、当事者だけが知る秘密のアルゴリズムが使用されており、情報セキュリティの分野における暗号とは異なる謎解きといったものが多い。しかしそのような暗号は、アルゴリズムや謎解きの秘密がわかってしまうと解読されてしまう。これらに対し、現在利用されている暗号は、同じアルゴリズムでも、毎回異なる秘密の鍵をセットすることで、同じ文章でも異なる暗号文に変換することが可能である。したがって、一つの鍵が漏れてしまっても、他の鍵で暗号化した文章の秘密を守ることができる。第二次世界大戦においてドイツ軍が使用した機械式暗号装置の「エニグマ」も、その動作原理であるアルゴリズムと、装置の初期設定である鍵とが分かれている。しかし、その動作原理にも暗号解読にとって重要な手掛かりが含まれているため、鍵の管理だけでなく装置自体も守る必要があった。戦後、銀行業務や政府関係の情報守秘にも暗号が利用されるようになったが、そのきっかけは1977年に米国標準技術研究所(NIST : National Institute of Standards and Technology)が連邦標準として制定したDES(Data Encryption Standard)[1]である。それまでの暗号の多くはエニグマのようにアルゴリズムと鍵の分離が明確でなく、特殊用途であったためアルゴリズムが積極的に公開されることがなかったが、DESはアルゴリズムを公開した画期的なものであった。また、同年には、マサチューセッツ工科大学のRivest、Shamir、Adlemanの3人が暗号化だけでなくデジタル署名という用途にも利用できるRSA暗号[2](3人の頭文字を取って名付けられた)を考案している。DESは暗号化と、暗号文を元に戻す処理の復号に同じ鍵を用いるので 「共通鍵暗号」と呼ばれる。これに対して、RSA暗号は暗号化と復号に異なる鍵を用い、暗号化の鍵は公開しても安全なため「公開鍵暗号」と呼ばれる。暗号は90年代まで軍事技術に相当するものと見なされ、使用や輸出入に厳しい制限が課せられていたが、2000年前後から次第に規制緩和され、用途に応じたさまざまな暗号アルゴリズムが民生品に利用されるようになった。また、暗号解読法の進歩やコンピュータの計算能力の飛躍的な向上に伴って、DESの安全性に問題が生じてきたことから、2001年にAES(Advanced Encryption Standard)[3]が米国連邦標準として制定され、その後、さまざまな国際標準にも採用されている。AESの標準化においては世界中から暗号アルゴリズムを募り、3回の標準化会議[4]という公開の場において、専門家によるアルゴリズムの安全性や実装性能の評価が行われた。AESプロジェクトを機に、日本の電子政府推奨暗号の安全性評価プロジェクトCRYPTREC(Cryptographic Research and Evaluation Committee)[5]や、欧州のNESSIE(New European Schemes for Signature, Integrity, and Encryption)[6]、そしてISO/IEC 18033[7]など、さまざまな暗号アルゴリズムの評価・標準化作業が進められた。かつてはアルゴリズムを秘密にすれば攻撃者に与える手掛かりが少なくて済むという考えもあったが、何らかの経路で漏れたり、リバースエンジニアリングで解析されたりした独自アルゴリズムが、簡単に破られてしまうといったことがしばしば起きている。そのため通常、標準の暗号アルゴリズムはAESのように公開され、標準化の後も安全性検証のためのさまざまな解析が世界中で続けられている。2.2 暗号実装の安全性評価標準暗号は専門家による安全性の検証が十分に行われているため、独自仕様の秘密アルゴリズムのように突然欠陥が露呈するような心配はまずない。しかし、安全なアルゴリズムを用いていても、そのソフトウエアやハードウエアによる実装の欠陥から暗号の鍵が漏洩してしまうことがある。また、安全な実装が行われているかどうかを、利用者が検証することもほぼ不可能である。そこで利用者に代わって、公的機関がセキュリティ製品や暗号製品の安全性を評価するための国際規格として、ISO/IEC 15408(Common Criteria)[8][9]やISO/IEC 19790[10]が定められている。ISO/IEC 15408は暗号製品を含む情報セキュリティ製品全般を対象としており、開発者が定めたSecurity Target(ST)に従って正しく実装されているかどうかが検証される。検証の深さを示す7段階のレベルEvaluation Assurance Level(EAL)は、EAL 1~4が商用、EAL 5~7が軍や政府最高機密機関用と大まかに分類されるが、これは製品がSTに沿ってどれだけ正しく実装されているかを示すもので、セキュリティの強度を表しているので
元のページ