CRYPTREC(くりぷとれっく、Cryptography Research and Evaluation Committees) とは、電子政府推奨暗号の安全性を評価・監視し、暗号技術の適切な実装法・運用法を調査・検討する日本政府のプロジェクトである[1]。
活動内容
暗号の安全性に関する情報を提供することを目的として、共通鍵暗号、公開鍵暗号、ハッシュ関数、擬似乱数生成系の4種類の暗号技術に対し公募を行い、それぞれに対して国内外の暗号研究者による評価を行い、評価レポートや推奨可能な暗号のリストを作成した。リストは2013年に改訂され、既存の4種類に加え暗号利用モード、メッセージ認証コード、エンティティ認証に対しても評価を行った。
プロジェクトは2000年に活動開始し、当初は「暗号技術検討会」と「暗号技術評価委員会」で構成されていた。それぞれの事務局は総務省/経済産業省、情報処理振興事業協会(IPA、現 情報処理推進機構)/通信・放送機構(TAO、現 NICT=情報通信研究機構)。2003年、2009年、2013年と組織変更が行われ、2013年11月現在では「暗号技術検討会」をトップとし、その下に「暗号技術評価委員会」と「暗号技術活用委員会」を置く体制となった。それぞれ委員長は高木剛(東京大学教授)及び松本勉(横浜国立大学大学院教授)(2020年2月現在)。
電子政府における調達のために参照すべき暗号のリスト
電子政府における調達のために参照すべき暗号のリストは、CRYPTRECが選定し、総務省と経済産業省が共同で所管する、電子政府での利用が推奨される暗号方式のリスト。平成15年(2003年)2月20日に電子政府推奨暗号リストとして初版が発表され、行政情報システム関係課長連絡会議において、「各府省は情報システムの構築に当たり暗号を利用する場合は、可能な限り、電子政府推奨暗号リストに掲載された暗号の利用を推進する」旨が定められた。2012年度にリストの改定が行われ、2013年3月1日に電子政府における調達のために参照すべき暗号のリストとして3種類のリスト(改訂した電子政府推奨暗号リスト、推奨候補暗号リスト、運用監視暗号リスト)が公表された。
2013年の改訂およびその後の更新
2003年に発表された初版[2]では、64ビットブロック暗号としてCIPHERUNICORN-E(英語版)(NEC)・Hierocrypt-L1(英語版)(東芝)・MISTY1(三菱電機)、128ビットブロック暗号としてCamellia(NTT、三菱電機)・CIPHERUNICORN-A(英語版)(NEC)・Hierocrypt-3(英語版)(東芝)・SC2000(英語版)(富士通)、ストリーム暗号としてMUGI・MULTI-S01(英語版)(いずれも日立製作所)と、日本の企業によって開発された暗号方式が多く採用されていた。
2013年の改訂[3]においてリストは「推奨暗号リスト」「推奨候補暗号リスト」「運用監視暗号リスト」の3つに分けられ、改訂前に採用されていた日本において開発された暗号方式は、Camelliaを除いてすべて「推奨暗号リスト」から「推奨候補暗号リスト」に移動された。また、128ビットブロック暗号としてCLEFIA(英語版)(ソニー)、ストリーム暗号としてKCipher-2(KDDI)・Enocoro-128v2(日立製作所)が新規に応募されていたが、推奨暗号として採用されたのはKCipher-2のみであった。このように、日本発の暗号方式の多くが推奨暗号から外されたのは、従来のリストに対して「多くの選択肢が掲載されていたため、ユーザーがどの暗号方式を選べばよいのか分かりにくい」との批判があったためである[1]。このため、安全性の評価だけではなく市販製品・オープンソースプロジェクト・政府系システム・国際規格での採用実績の評価も行われ、採用実績に乏しい暗号方式は「推奨暗号リスト」ではなく「推奨候補暗号リスト」への採用にとどまった[1][4]。「推奨候補暗号リスト」に掲載された暗号方式については、採用実績が十分となった場合には「推奨暗号リスト」に掲載される可能性がある[1]。
また、128ビットRC4、SHA-1といった、これまで広く利用されてきたが脆弱性が指摘されている暗号方式は、「運用監視暗号リスト」に移動された。これは「推奨すべき状態ではなくなった暗号技術のうち、互換性維持のために継続利用を容認するもの」であり、これらの暗号方式を利用しているシステムは対応を迫られることとなった[1]。
2013年の公表後も、ChaCha20-Poly1305、EdDSA、SHA-3といった新しいアルゴリズムの追加、古いアルゴリズムの運用監視暗号リストへの格下げ(トリプルDES)やリストからの削除(RC4)などが行われている。
以下に示すのは2024年5月16日更新版である[5]。いずれのリストにおいても、利用する鍵長について「暗号強度要件(アルゴリズム及び鍵長選択)に関する設定基準」[6]の規定に合致しない鍵長を用いた場合には、電子政府推奨暗号リストの暗号技術を利用しているとは見なされないことに留意する必要がある。
電子政府推奨暗号リスト
CRYPTRECにより安全性及び実装性能が確認された暗号技術について、市場における利用実績が十分であるか今後の普及が見込まれると判断され、当該技術の利用を推奨するもののリスト。
注
- ^ FIPS PUB 186-5では廃止されているが、本リスト掲載時から安全性・利用実績の状況に大きな変化がないため、掲載を継続する。
- ^ a b c 「政府機関の情報システムにおいて使用されている暗号アルゴリズム SHA-1 及び RSA1024 に係る移行指針」を踏まえて利用すること。
- ^ CRYPTREC暗号リストにおいて、64ビットブロック暗号により、同一の鍵を用いて暗号化する場合、220ブロックまで、同一の鍵を用いてCMACでメッセージ認証コードを生成する場合、221ブロックまでとする。
- ^ a b ハッシュ長は256ビット以上とすること。
- ^ ブロック暗号には、CRYPTREC暗号リスト掲載128ビットブロック暗号を使う。利用用途はストレージデバイスの暗号化に限り、実装方法はNIST SP800-38Eに従うこと。
- ^ CRYPTREC暗号リスト掲載のブロック暗号を、認証付き秘匿モードと組み合わせて、「認証暗号」として使うことができる。
- ^ 初期化ベクトル長は96ビットを推奨する。
推奨候補暗号リスト
CRYPTRECにより安全性及び実装性能が確認され、今後、電子政府推奨暗号リストに掲載される可能性のある暗号技術のリスト。
注
- ^ KEM (Key Encapsulating Mechanism) – DEM (Data Encapsulating Mechanism) 構成における利用を前提とする。
- ^ CRYPTREC暗号リストにおいて、64ビットブロック暗号により、同一の鍵を用いて暗号化する場合、220ブロックまで、同一の鍵を用いてCMACでメッセージ認証コードを生成する場合、221ブロックまでとする。
- ^ 平文サイズは64 ビットの倍数に限る。
- ^ CRYPTREC暗号リスト掲載のブロック暗号を、認証付き秘匿モードと組み合わせて、「認証暗号」として使うことができる。
運用監視暗号リスト
実際に解読されるリスクが高まるなど、推奨すべき状態ではなくなったとCRYPTRECにより確認された暗号技術のうち、互換性維持のために継続利用を容認するもののリスト。互換性維持以外の目的での利用は推奨しない。
注
- ^ a b 「政府機関の情報システムにおいて使用されている暗号アルゴリズム SHA-1 及び RSA1024 に係る移行指針」を踏まえて利用すること。
- ^ TLS 1.0, 1.1, 1.2で利用実績があることから当面の利用を認める。
- ^ CRYPTREC暗号リストにおいて、64ビットブロック暗号により、同一の鍵を用いて暗号化する場合、220ブロックまで、同一の鍵を用いてCMACでメッセージ認証コードを生成する場合、221ブロックまでとする。
- ^ SP 800-67 Revision 2では廃止されているが、本リスト掲載時から安全性・利用実績の状況に大きな変化がないため、掲載を継続する。
- ^ CRYPTREC暗号リスト掲載のブロック暗号を、認証付き秘匿モードと組み合わせて、「認証暗号」として使うことができる。
- ^ 安全性の観点から、メッセージ長を固定して利用すべきである。
脚注
関連項目
外部リンク