私はAESがどのように機能するかについて頭を動かそうとしています。特に、キーの生成と「パスフレーズ」に関するクエリがあります。
私の理解では、AESのブロックサイズは128ビットですが、キーの長さは、使用するバリエーションによって異なります。たとえば、AES256は256ビットのキーを使用します。
この質問は広すぎたり狭すぎたりしますが、何ができるか見ていきます。
AESブロックとキーサイズについてのあなたの理解は正しいです。
アプリケーションがどのように機能し、その目的が何であるかについての詳細な情報がなければ、キーローテーションプロセスがいつどこで発生するかについてはコメントできません。特定の暗号システムの設計について支援が必要な場合は、ここで別の質問をすることができますが、本当に暗号システムの設計に詳しい人を雇う必要があります。暗号化は困難であり、独自の設計を展開することは、おそらく独自のプリミティブの独自の実装を展開するよりも安全ですが、独自のプリミティブの設計ははるかに少ないですが、依然としてリスクのあるビジネスです。
3つ目の質問の補足として、キーローテーションは、状況によって意味が異なります。鍵管理システムを使用する場合、鍵のローテーションとは、将来の暗号化に使用する新しい鍵を生成することを意味します。ただし、古いキーはシステムに残り、復号化のために保持されます。暗号化されたすべてのデータには、暗号化に使用されたキーのIDがタグ付けされ、暗号化に使用されたのと同じキーでデータを復号化できます。これにより、一括データのバッチを再暗号化するリスクを回避できます。多くの場合、場所全体に散らばっており、時には鍵の所有者の制御が及ばないデータ。
これにより、暗号化の暗号化期間と復号化の暗号化期間が異なることも可能になります。たとえば、キーマネージャーに最後の12個のキーのみを保持するだけで、キーを毎月ローテーションし、古いキーを毎年削除できます。
ただし、このようなシステムには欠点があります。彼らはしばしば他と相互運用しない独自のタグ付けシステムを使用します(たとえば、暗号化キーを識別するためにCMS形式のエンベロープを使用するものは見たことがありません。)これはベンダーのロックインを強力に促進します。データを復号化します。