説明
DESと3DESはブロックサイズが小さく、設計も古いため、現在の機密情報の保護には適していません。
想定される影響
- 暗号解析や総当たり攻撃のリスク増加
- 機密データを復元される可能性の増加
- 古い暗号方式への依存による、適用要件への不適合
対処方法
- DESや3DESを、AES-GCMなどの認証付き暗号に置き換えてください。
- 旧方式との互換経路を機密データの処理から分離し、段階的に廃止してください。
- 鍵、IV、Nonceは、安全な乱数と鍵管理方針に基づいて生成してください。
例
変更前
変更前はCryptoSwiftのDES設定、変更後はCryptoKitのAES-GCM呼び出しの抜粋です。ライブラリのインポートや鍵の準備は省略しており、key の型も異なります。
swift
let des = try DES(key: key, blockMode: CBC(iv: iv), padding: .pkcs7)
変更後
swift
let sealedBox = try AES.GCM.seal(data, using: key)
解説:
- 変更前: 機密データの暗号化にDESを選択しています。
- 変更後: CryptoKitの
SymmetricKeyでAES-GCMを使います。DESの鍵を再利用せず、新しい鍵と保存形式へ移行してください。