I need to provide secure wiping function in windows mobile with following details:
- All files on device should be encrypted with a strong key (done).
- User should not be able to view files in explorer.
- Device should not show used disk space for encrypted files.
- My application should be able to get (restore) the files back (by decrypting) at the same location using same key used for encryption.
Taking the risk of paternalizing –
It can’t be done well.
C# doesn’t have any access to the underlying flash structures, it is virtually impossible to wipe content from solid state memory from the filesystem interfaces – for the following reasons:
You’d need to write a kernel driver to accomplish this task.
Same goes for (3.) – it can’t be done from the userland.
Don’t sell security products like that – it wouldn’t stop the adversary and would be obnoxious to deal with.