ICカードの通信セキュリティで話題になる暗号化のDESとAES、DESは安全でない?

Uncategorized

FeliCaカードとカードリーダー間の通信で使われる暗号化にはDESとAESがあります。
これまではDESが主流でしたが、最近設計されたFeliCaにはAESという暗号化方式も搭載され、そちらを使う事が推奨されつつあります。なぜDESではだめなのか、簡単にまとめました。

DESの鍵長が短すぎる

DESの鍵長が56ビットと短く、現代のコンピュータの処理能力では、暗号を破ることが比較的容易になってしまっています。一方、AESの鍵長は128ビット、192ビット、256ビットと長く、より高いセキュリティを提供します。

DESのブロックサイズが小さい

DESはブロックサイズが64ビットと小さいため、暗号化後のパターンが少なく、セキュリティの脆弱性が指摘されています。一方、AESは128ビットのブロックサイズを持つため、より多くのパターンが生じ、より高いセキュリティを提供します。
ブロックサイズをざっくり簡単に説明すると、暗号化処理するときに一度に処理する情報量です。これが大きいほど、処理パターンが多くなりキュリティーが高まります。小さい場合、パターンが限られるためセキュリティー性が不利になります。

DESの暗号化アルゴリズムが脆弱性を持つ

DESの暗号化アルゴリズムには、偶数パリティチェックやシフト演算など、現代の解読技術に対して脆弱な要素が含まれています。一方、AESは、線形暗号化やDifferential攻撃などの攻撃に対して、より強いセキュリティを提供します。
簡単に説明すると、今となってはDESの暗号化処理は古い技術を使って暗号している状態になっており、AESのように新しい技術を取り入れた暗号化へ移行するべきと言えるかと思います。

世界的な標準仕様の流れ

DESは、アメリカにてすでに使用制限されています。一方、AESは、国際標準であり、より広範囲で認められています。
アメリカでは2023年に新規のDES使用(TripleDES)を禁止。新規システムではAESが標準となるように規制がかけられています。

筆者の視点(現場からのつぶやき)

アメリカでは、DESは現在まで広く使用されてきましたが、セキュリティ上の問題から、すでに過去のシステムでの利用に制限されてつつあります。

1990年代に入り、DESの鍵長の短さが指摘され、暗号化強度が不十分であることが明らかになりました。そのため、1997年にはAESの暗号化方式が選定され、DESの利用は徐々に減少していきました。

現在、アメリカ政府は、FIPS 140という暗号モジュールの検証プログラムを運営しており、DESもこのプログラムによって検証されたモジュールとして使用されています。

ただし、現代のコンピュータの処理能力によって、DESの鍵を解読することが相対的に容易になってしまっているため、より長い鍵長を持つAESなどの暗号方式が、安全な選択肢とされています。

アメリカ政府の機密情報保護はAESが必須。また、銀行やクレジットカード会社などの金融機関では、顧客データ保護にAESが標準となっています。

今後も、量子コンピュータなど情報処理は変化していきます。これに応じて暗号化は常にイタチごっこのような状況となっていくものと思われます。
一定のルールで作成したものが暗号化であり、復号化ができる以上、時間をかければ暗号は解かれるもの。その解かれるまでの時間がコンピュータの進化により短くなっていきますので、どこまでの解読に時間かかるのであれば「安全」とするか。この許容度合いが暗号化技術の安全性になると思っています。