復号化されたデータを System.Security.Cryptography.CryptoStream から System.Security.SecureString に転送しようとしています。CryptoStream の IL コードを見ると、変換されたデータは他の System.Buffer と同様にバッファリングされているように見えます。データを大きなチャンクで読み取り、それを SecureString に追加することができました。バッファリングされたデータは (メソッド内で) 存続期間が短くなりますが、SecureString 自体はしばらくの間ハングアップする可能性があります。
バッファリングされたデータを GCHandle を使用してメモリに固定し、GC によるコピーを防止して攻撃対象領域を減らすことは意味がありますか?それともまったく必要ないのでしょうか? また、変換されたデータを CryptoStream から SecureString に入れるより良い方法はありますか?