2022年6月15日、米マイクロソフトはInternet Explorerのサポートを終了しました。最盛期は95%のシェアを誇り、27年もの間使われたIEは、官公庁からは悲鳴が上がりエンジニアからは歓声が上がる中、引退の日を迎えました。かつて主要な位置を占めた技術が安全性や運用面の問題で役目を終えることは多く、暗号技術分野においても、2023年以降に使用が禁じられる暗号があります。それは20世紀を支えた暗号と名高い「DES」です。今回のブログでは、1970年代から長年にわたり活用されてきた、DESの概要と顛末について解説していきたいと思います。
DESの概要
DESとは「Data Encryption Standard」の略で、共通鍵暗号方式(※)によるデータ暗号化アルゴリズムの1つです。米国の旧国家暗号規格として1976年に誕生し、1981年には民間の標準規格になり一般的に使用されるようになりました。当初は安全性に優れるとされていたDESだったのですが、計算機性能の飛躍的な向上により後述の問題を抱えるようになりました。
※共通鍵暗号方式とは…暗号と復号に同一の(共通の)鍵を用いる暗号方式で、暗号と復号に別の鍵を用いる公開鍵と比べ高速処理できる点が長所です。短所は鍵を当事者間で共有するため、安全に鍵を共有する手段を講じる必要があること、通信を行う当事者が増えるほど鍵の管理が大変になること、があります。
DESは64ビット単位で平文のデータを区切り、その区切りごとに平文を暗号化しています。64ビットのうち8ビットはデータの誤り検出用に割り当てられるため、実質の鍵長は56ビット、となっています。
以上がDESの概要ですが、続いて暗号への一般的な攻撃手法とDESの抱える問題点について順番に解説します。
暗号への攻撃手法とは
暗号文から平文を特定するために、攻撃者はどんな手法を試みるのでしょうか。
攻撃者は様々な手法を用いて暗号を解読しようとしますが、代表的な手法として以下2つがあげられます。
①鍵を総当りで解読する「全数探索攻撃」
②アルゴリズムの内部構造に着目し、全数探索より効率的な計算量で解読を目指す「ショートカット攻撃」
すぐに解読されてしまっては、暗号の意味を成しません。暗号はこのような攻撃に対して耐性を持つ必要があり、「計算機の計算能力をもってしても、現実時間内に解読が難しい」ということが求められます。
DESの問題点と改良
次にDESの問題点について解説します。問題点を一言でいうと、鍵長の短さ、にありました。
前述のとおりDESの鍵長は56ビットですが、①の全数探索を行った場合、「2の56乗回」で突破可能ということになります。計算機性能の向上とともに全数探索で解読されるまでに要する時間は短縮され、1999年1月には22時間15分でDESの鍵を破ったことが公表されました。
こうした状況からDESの改良版として、DESを2回行い鍵長を112ビットに増やした「2DES」が実装されました。鍵長が増えたことで全数探索攻撃に対しての耐性を持つこと、していは安全性の向上が期待されました。しかしながら②のショートカット攻撃の手法を用いた「中間一致攻撃(2回のDES処理の中間の値を特定する攻撃)」に脆弱で、実質の強度はDESと大差がありませんでした。
そこで2DESの次に、中間一致攻撃にも耐性を持たせた「トリプルDES(3DES)」が誕生します。3DESはDESの処理を「暗号ー復号ー暗号」の順で3回繰り返すものとなっていて、この3回の処理で各回に使用する鍵が1個~3個のパターンがあります。鍵が3個の場合は鍵長が168ビットとなり、中間一致攻撃を考慮しても112ビットの強度を持ちますが、処理に時間がかかるという難点がありました。
DESの利用と後継
以上の経緯でDES、2DESについては「既に安全ではない暗号」として利用が非推奨になりました。3DESについても現在は既知の脆弱性が存在するため、2018年にNIST(National Institute of Standards and Technologyの略式名称、米国国立標準技術研究所)から「今後開発するアプリケーションでの採用をやめ、2023年以降は使用を禁止すること」を提案されました。こうしてDESの利用は終焉を迎えることとなりました。DESの後継技術として、現代ではAESが採用され広く使われています。
後継となったAESについても少しご紹介しておきますと、AESはAdvanced Enryption Standardの略でいわば次世代暗号です。1997年NISTはDESにかわる次世代の暗号アルゴリズムを公募し、2001年にベルギーの暗号学者が開発した「Rijndael」をAESとして採用・標準暗号として定めました。「Rijndael」の鍵長は128ビット、192ビット、256ビットの3種類からなり、鍵長が多いほど安全性は高まりますが、処理速度が低下するため鍵長128ビットのAES-128が広く利用されています。暗号アルゴリズムの内部構造として、DESと異なる構造が使用されており、現時点では現実時間内の解読は困難とされています。
まとめ
このようにかつて堅牢性を誇った暗号DESは、計算機性能の向上によりその役目を終えることになりました。今現在用いられている暗号も「現時点では現実時間内に解読が困難である」という点で安全を保証されているに過ぎず、技術はたえず変化していくものです。技術の安全性や今後の運用に対する警鐘には、常に耳を傾け早急かつ適切な対処を施すこと、が求められます。
こうした暗号の歴史、技術の進歩を鑑みるに、セキュリティ対策も常にアップデートが必要と言えます。セキュリティ対策についてちょっとした相談先が欲しい、という方に弊社ではアドバイザリーサービスがございますので、宜しければご検討ください。