おける電子認証、電子マネーの発展に伴い、情報の機密性と完全性(改ざんされないこと)の確保は安心・安全な社会基盤の構築において必要不可欠となっています。したネットワーク環境においてセキュリティを確保するための基盤技術が暗号です。暗号はこれらの環境の至る所で要素技術として利用されており、オンラインショッピング、高速道路におけるETC、住民基本台帳カードを利用した役所での書類の申請、おサイフケータイ®、電子マネーといった我々の身近な場所で無意識のうちに使われています暗号の安全性評価NICTセキュリティ基盤グループは暗号の解析手法の研究を行い、暗号技術の安全な設計手法や利用期限の指針として研究成果を社会へ還元しています。具体的な社会展開例の1つとしては、総務省をはじめとする各府省と連携して、暗号技術評価プロジェクト(CRYPTREC:http://www.cryptrec.go.jp)を運営しています。ここでは特に電子政府推奨暗号リスト(以下「リスト」という。)に登録されている暗号を監視し、安全性の経年劣化に伴い必要な技術的ガイダンスを報告しています。これは内閣府における「政府機関の情報セキュリティ対策のための統一基準(第4版)」にも反映されています。現在様々なところで用いられている暗号の1つである公開鍵暗号RSAの危殆(完全に危ないわけではないが危機的状況)化についても予測を行っています。RSAの安全性については、巨大な合成数の素因数分解(※補足参照)を行うのに必要な計算機資源を見積もることで予想できます。多く利用されている合成数である1024ビットの場合、計算機の最高性能が現状の伸び率で今後も向上すると仮定すると、早ければ2020年までに分解可能と予想されます(図1)。RSAは、そう遠くない将来において1024ビットより大きい合成数を使う必要が出てきたのです。専用ハードウェアによる方法も注目されており、NICT連携研究部門による委託研究(素因数分解の困難性に基づく暗号の技術的評価に関する研究開発:富士通研究所)で、世界初の専用ハードウェアを開発しました。このようにアルゴリズムの進歩と技術の進化が相乗効果を成し、暗号の安全性は日々低下していくことに注意しなければなりません。暗号には安全に利用できる期限があり、それにより次の暗号への移行が必要になります。CRYPTRECの評価結果より、現在電子政府で使用されている公開鍵暗号RSA1024とハッシュ関数SHA‐1はそれぞれRSA2048とSHA‐256へ、2013年までに移行することとなっています(内閣官房情報セキュリティセンター「政府機関の情報システムにおいて使用されている暗号アルゴリズムSHA‐1及びRSA1024に係る移行指針」)。暗号の移行は多額の予算が必要な現実問題です。移行する間も業務を行い、移行後は前のデータとの互換性を保つ運用の必要もあります。今後は安全性だけでなく実装性や調達コストも暗号の選択基準となってくるでしょう。現在のリストは2003年に策定されましたが、これを2008年から見直しを行い、2013年改訂を計画しています。2000年に策定を開始した時の要望は「安全な暗号の推奨」でした。約10年経過し、「システムを安全にする暗号の推奨」へと実用視点に変わり、多種多様な暗号選択が可能なことよりも実際に調達できる暗号を明確にすることが求められています。このような要望にこたえるため、2008年度からリストの構造と運用から見直しています。この一環で2009年度は、前述の要望から実用性を強く要求した新規暗号公募を行います。理論的な安全性評価だけでなく、実装の安全性(耐サイドチャネル攻撃:消費電力や電磁波放射などデバイス動作時に生じる物理現象を利用した攻撃への耐性)が新たに評価項目に加わり、実用面での安全性にも配慮しています。我が国のセキュリティを確立するためにNICTは公的研究機関であり、セキュリティ基盤グループには中立公平な立場から高度な技術的判断が求められています。したがって、我が国のセキュリティを確立するため、私たちの持つ能力を最大限に生かすことが使命であると考え、また私たちの研究活動が、我が国の技術を支える活動に貢献できるよう努力していきたいと考えています。一般に暗号解読は暗号文から鍵などの秘密情報を推定することで平文(暗号化される前の文)を得ることを思い浮かべますが、現代暗号は攻撃者にもっと有利な条件を与えて安全性を評価します。平文とそれに対応する暗号文を用いる条件(既知平文攻撃)や自由に選んだ平文に対応する暗号文を得ることができる条件(選択平文攻撃)などです。非現実的に思われるかもしれませんが、暗号化する鍵を公開する公開鍵暗号では、攻撃者は自由に平文と暗号文ペアを生成できますし、ICカードに記録された鍵を求める場合など攻撃例は多々あるのです。理論的には鍵の総当たりを行えば必ず鍵を得ることができますが、最高性能の計算機でも実行できないくらい大きなサイズの鍵を設定することで安全性を確保します。そこで総当たりよりも効率的な解読法を開発し、最強の攻撃法の実行に必要な計算機資源(計算量やメモリ)で安全性を評価します。RSAは暗号文を生成するためにしか使えない鍵を公開し(公開鍵)、復号する鍵はユーザーが秘密に管理しています(秘密鍵)。公開鍵に含まれる、ある合成数の素因数分解ができてしまうと秘密鍵がばれてしまいます。その結果、暗号文を復号されたり、公開鍵暗号を利用した電子署名の偽造をされたりします。したがって、最高性能の計算機でも素因数分解が実行できないくらい大きな合成数が必要になります。RSA1024の合成数は1024ビット(10の300乗程度)という大きい数なのですが、素因数分解アルゴリズムの向上と計算機能力の進化で徐々に安全性が低下しています。