Wear Leveling Question
I've been reviewing the Veracrypt documentation regarding wear leveling on SSDs (link).
As I understand it, unless you fully encrypt a brand-new SSD before putting sensitive data on it, then Veracrypt cannot guarantee that sensitive data is fully encrypted; if already added data is encrypted in-place, then some unencrypted data may exist in unused sectors.
Suppose that you encrypted an SSD in-place with sensitive data already on it. Could you somehow wipe the SSD and copy data back onto it to ensure wear-leveled sectors do not contain sensitive data unencrypted?
For instance, performing the following steps:
- Boot into a USB based Linux distro.
- Clone all raw data from the SSD to an equivalently sized HDD.
- Perform a proper wipe of the SSD, such as a Secure Erase, flashing all NAND cells.
- Clone the raw data from the HDD back to the SSD.
- Securely erase all data from the HDD.
Would this prevent the leaks mentioned in the Veracrypt documentation regarding wear leveling?