株式会社シーフォーテクノロジー
          
セキュリティ事業本部 セキュリティインテグレーション部   岡本 真知

■暗号製品の安全性の基準とは

 暗号技術は情報セキュリティには欠かせない技術です。2005年の個人情報保護法施行に向けたガイドラインなどが策定される中、暗号技術を技術的対策として組み込むことは、もはや当然となっています。しかし、ただやみくもに暗号製品を導入したところで厳密に安全であると言えるのでしょうか。暗号製品の安全性を確保するためには、まず安全なアルゴリズムを使用し、次にそれが適切に実装されていなければ万全であるとはいえません。それでは安全なアルゴリズムとは何か、また、適切にアルゴリズムが実装された製品とはどういったものかについてご説明したいと思います。

■安全なアルゴリズム− FIPS 認定アルゴリズム

 まず、どういった種類のアルゴリズムが使われているかということが重要です。アルゴリズムとは、情報を暗号化するための方式であり、その選定が暗号製品のセキュリティを大きく左右すると考えられます。
 暗号先進国である米国では、安全性が高いと実証された暗号アルゴリズムを標準化し、それらを使用することを推奨してきました。暗号技術の標準化を行ってきたのは、商務省管轄のNIST(National Institute of Standards and Technology :国立標準技術研究所)で、1970年代には安全性の高い暗号アルゴリズムとしてDES を米政府標準暗号として採用しました。DES は、FIPS(Federal Information Processing Standard:連邦情報処理規格)という政府関連機関に適用される規格の中で現在FIPS 46-3 となっています。他にもデジタル署名(FIPS 186-2)、ハッシュ関数(FIPS 180-2)などが規格化されています。これらのアルゴリズムは政府だけでなく、民間でも広く使われています。
 こうした米国における暗号技術の標準化動向を受けて、日本においても総務省および経済産業省が共同でCRYPTREC(クリプトレック)という暗号技術評価プロジェクトを立ち上げ、2003年3月に「電子政府推奨暗号リスト」が策定されました。ここで選ばれた推奨暗号の多くは、FIPS で採用されているアルゴリズムと共通しており、加えて日本国内で開発されたMISTY などのアルゴリズムも含まれています。また、暗号アルゴリズムの国際標準ISO/IEC 18033シリーズの策定も行われており、ますます標準化が進んでいくと考えられます。

■暗号アルゴリズムの選び方

 アルゴリズムを選ぶ際の目安としては、このような標準化されたアルゴリズム、すなわちNISTが規定したFIPS認定アルゴリズム、または、電子政府推奨暗号リストに掲載されているアルゴリズムであれば安全だと言えるでしょう。
 ただし、製品カタログに「FIPS 準拠」と謳われているものがよくありますが、それが本当に準拠製品なのか注意する必要があります。実際に、NISTの認定などの第三者評価を受けていない「自称準拠」のものも多く出回っており、その中には同じアルゴリズムでも互換性がないものさえあります。第三者評価を受けてNISTからの認定を受けたFIPSアルゴリズムには認定番号が付与されていますので、製品を購入する際にはお確かめになることをお薦めします。
 また、標準化されていない暗号アルゴリズムに関して、NISTの見解は、民間利用であれば用途に応じて利用しても良いというものです。暗号の処理速度を見た場合、次世代米政府標準暗号のAES はDES よりも高速ですが、より処理速度を求められる状況では、これらのブロック暗号方式より高速であるストリーム暗号方式のほうが適している場合もあります。こうした標準化されていないアルゴリズムを選択する場合にも、適切な第三者評価を受けたものを選べば安心でしょう。

■安全性を失ったアルゴリズム― DES、MD5、SHA − 0

 かつては安全といわれたアルゴリズムでも、時代とともに危殆化していくものも少なくはありません。
 DESは、米国の標準暗号とされて以来長年にわたり、パブリックドメインアルゴリズムとして国境を越え世界各国で広く使われていました。しかし、コンピュータの性能が向上していく中、1999年にDES は、RSAセキュリティ社主催のコンテストで解読されてしまいました。これを受けて、2001年にはNIST はDES に代わる標準暗号としてAES(FIPS 197)を制定しました。そして、DES(トリプルDES以外)は使用用途をレガシーシステムと互換性を持たせるためのみと限定、DES 単独で新しいシステムへの使用は禁止しました。それから、ついに2004 年7月、DESを米国政府標準暗号から取り下げられることがNIST から正式に発表されました。
 また、2004年8月、認証や完全性証明に利用されるMD5などのハッシュ関数アルゴリズムに重大な欠陥があるということが発表されています。MD5はオープンソースのApacheウェブサーバやSunのSolaris Fingerprint Databaseなどの改ざん検知に使われており、この脆弱性を突いた攻撃が現実味を帯びてきました。他にもNIST が承認し、広く利用されているSHA-1の基となっているSHA-0にも欠陥が指摘されています。このような欠陥が発見されたアルゴリズムは今後使用しないように注意しなければならず、また、これらが搭載されたシステムは入れ替えることが必要です。


            図1 暗号技術の標準化動向

■アルゴリズムの実装の重要性−実装の失敗例

 アルゴリズムが製品の安全性を大きく左右するということでしたが、実はアルゴリズムがいくら安全性の高いものであったとしても、情報が漏えいしてしまう危険性は排除しきれません。アルゴリズムを数学的に破ることができないとしても、攻撃者はアルゴリズムを実装したシステム上の最も脆弱な部分、すなわちWeakest Linkを突いてきます。
 たとえば、1995年にあるWebブラウザのSSLの鍵生成部分の実装プログラムに問題点があるということが指摘されました。これは、暗号化する際の鍵に関する情報が漏れてしまうことにより、暗号文が容易に解読されてしまうというものでした。他にもDVD のデジタルコピー防止用の暗号化規格であるCSSは、復号化鍵を生成するための「解除鍵」をプレーヤー内に埋め込んでおり、また十分な鍵長も持っていませんでした。そうしたことから、DeCSS と呼ばれるDVDデコーダが作られ、世界中に広まりました。
 このように、実はアルゴリズムの実装は、アルゴリズムを選定する以上に十分な注意を払う必要があります。

■アルゴリズムの実装の安全基準− FIPS 140 − 2

 安全なアルゴリズムの選択の次に、いかにアルゴリズムを実装するかということが重要になります。NISTはいち早く1994年にアルゴリズムの実装方法に関する基準FIPS 140-1(現FIPS 140-2)を制定しました。最新版のFIPS 140-2 は正式名称が「暗号モジュールのセキュリティ要件」というもので、アルゴリズムを安全に実装するための要件が規定されています。暗号化機能を持つモジュールおよび製品であれば、スマートカード、VPN ルータなどのハードウェア、暗号ライブラリといったソフトウェアなどが対象となります。 
 FIPS 140-2 は、FIPS 認定アルゴリズムなどNIST が安全だと認めたアルゴリズムを実装することを前提としています。そして、鍵管理、物理セキュリティ、ポート・インタフェース、動作環境、セルフテストなど11分野にわたる要件があります。暗号アルゴリズムが適切に機能するように、また、暗号鍵などのクリティカルセキュリティパラメーターと呼ばれる重要情報がなんらかのアクシデントによって出力されることがないようにさまざまな規定が設けられています。このような詳細な規定を満たして、はじめて実装における安全性が確保できるのです。
 米国政府機関ではFIPS 140-2が政府調達基準として採用されており、カナダやイギリスにおいても同様に政府調達基準として採用されています。そして、暗号アルゴリズムの実装基準のデファクトスタンダードとして世界的に認知されるようになり、現在、ISO/IEC 19790として国際規格化の準備が進められています。さらに、日本でも、現在CRYPTRECの暗号モジュール委員会において、FIPS 140-2を基にした評価基準の策定が進められており、日本の政府調達基準としても採用される可能性が高いと言われています。


      図2 アルゴリズムの選択と実装の安全基準

■暗号製品・モジュールの第三者評価− CMVP

 FIPS 140-2 が制定されて、製品・モジュールが準拠しているかどうかを実際に第三者が検証する制度が確立されました。それがCMVP(Cryptographic Module Validation Program:暗号モジュール評価プログラム)です。CMVPは、米国NISTおよびカナダのCSE(Communication Security Establishment:通信安全機構)と共同で確立された評価制度です。
 評価機関として、CMT ラボ(Cryptographic Module Testing Laboratory)と呼ばれる民間のテストラボがアルゴリズムの準拠性テストを行い、そして、準拠性が認められたアルゴリズムを実装した製品・モジュールへの安全性評価を行います。認定機関であるNIST およびCSE がCMT ラボから評価レポートを受けて認定証を発行します。こうして、認定製品にはFIPS 140-2認定ロゴが掲載され、ようやくお墨付きとなるのです。
 FIPS 140-2 の認定ロゴが掲載された製品はこのような第三者評価を受けていることから、アルゴリズムおよびその実装において安全であると言えます。情報セキュリティがますます重要視されるなか、今後、暗号製品は米国同様に、アルゴリズムとその実装における第三者評価を受けたものが主流となっていくでしょう。





 

 


Copyright:(C) 2004 BUSINESS COMMUNICATION All Rights Reserved