I'm really surprised that they implement "destroy all data" by physically overwriting the flash cells. This is commonly (e.g. iPhone) done by storing all data encrypted with a randomly-chosen key and just throwing away the key to "delete" it, which is a much faster way to destroy a drive. And it's not like Flash drives can function without a somewhat complicated controller anyway...
EDIT: clarified in response to DanBlake (and hackermom, who has just been hellbanned.)
The data is stored encrypted by default, then once the key is discarded you no longer have data, just encrypted gibberish; all without writing to any of the disk where the data was. Much, much faster than having to zero out the whole disk
Clearly this is insufficient, it needs a pound or two of HMX. At a detonation velocity of 9100m/s, it should take care of the data (and everything else) just as fast.
On a more serious note however, how hard would it be to break the encryption, especially if one were able to develop a sufficiently advanced computer in the future (ie. quantum computer)?
What JonnieCache and DanBC say: keep the data encrypted at all times, then you can just overwrite the few bytes of the encryption key to render the data unreadable. This has the additional advantage that you only need to really securely erase a very small amount of storage (plus the controller's memory.)
(Editing my original post to make this more clear. Sorry.)
Oh, I thought you mean "as you push it" encryption.
When I was in the military, Encrypting data was not acceptable for disposal though. They make you physically destroy it, which is why I imagine they do things in this manner.
Yes, physically destroying drives prevents problems ("oh that wasn't encrypted?", "turns out it still had parts of unencrypted data on it from the previous server it was installed in", "what do you mean 'encrypted according to 1995 standards' (DES) is no longer secure?"). It's a good policy; but if you offer both "destroy" and "erase", "my" crypto implementation of "erase" has a lot to recommend it. (And there's no reason you can't follow it with a good zero-everything.)
That approach does have the advantage of speed, but it's not really a substitute for physically overwriting all the data.
History is rife with examples of people getting themselves into serious hot water by assuming that the lack of a well-known weakness in a cipher means that the cipher is secure. Anyone who's got an extremely high need for data security is hopefully keenly aware of that.
If you encrypt the data, you only have to zero out the key (nanoseconds? maybe microseconds) instead of zeroing all the data. Assuming there is no backup of the key, the data is just as gone as if you'd zeroed it.
Theoretically, information is information, encrypted or not, and just because the key is zeroed out doesn't mean part of the original information cannot be obtained from encrypted data. For example, an infinitely fast brute-force algorithm could crack it, as well as a lucky guess, however unlikely. If the key is weak relative to the strength of the cracking algorithm/hardware and the cost of leaking information, then this doesn't work.
Comments
I'm really surprised that they implement "destroy all data" by physically overwriting the flash cells. This is commonly (e.g. iPhone) done by storing all data encrypted with a randomly-chosen key and just throwing away the key to "delete" it, which is a much faster way to destroy a drive. And it's not like Flash drives can function without a somewhat complicated controller anyway...
EDIT: clarified in response to DanBlake (and hackermom, who has just been hellbanned.)
Can you explain why adding a encryption routine is faster than just blind overwriting the data with 0's?
Genuinely curious as it seems that would not make sense, if you overwrote it with zeros in a comparable, logical manner.
The data is stored encrypted by default, then once the key is discarded you no longer have data, just encrypted gibberish; all without writing to any of the disk where the data was. Much, much faster than having to zero out the whole disk
Clearly this is insufficient, it needs a pound or two of HMX. At a detonation velocity of 9100m/s, it should take care of the data (and everything else) just as fast.
On a more serious note however, how hard would it be to break the encryption, especially if one were able to develop a sufficiently advanced computer in the future (ie. quantum computer)?
What JonnieCache and DanBC say: keep the data encrypted at all times, then you can just overwrite the few bytes of the encryption key to render the data unreadable. This has the additional advantage that you only need to really securely erase a very small amount of storage (plus the controller's memory.)
(Editing my original post to make this more clear. Sorry.)
Oh, I thought you mean "as you push it" encryption.
When I was in the military, Encrypting data was not acceptable for disposal though. They make you physically destroy it, which is why I imagine they do things in this manner.
Yes, physically destroying drives prevents problems ("oh that wasn't encrypted?", "turns out it still had parts of unencrypted data on it from the previous server it was installed in", "what do you mean 'encrypted according to 1995 standards' (DES) is no longer secure?"). It's a good policy; but if you offer both "destroy" and "erase", "my" crypto implementation of "erase" has a lot to recommend it. (And there's no reason you can't follow it with a good zero-everything.)
That approach does have the advantage of speed, but it's not really a substitute for physically overwriting all the data.
History is rife with examples of people getting themselves into serious hot water by assuming that the lack of a well-known weakness in a cipher means that the cipher is secure. Anyone who's got an extremely high need for data security is hopefully keenly aware of that.
If you encrypt the data, you only have to zero out the key (nanoseconds? maybe microseconds) instead of zeroing all the data. Assuming there is no backup of the key, the data is just as gone as if you'd zeroed it.
The drive is always encrypted. In an emergency you only have to destroy a little bit of the drive; the part that stores the key.
Theoretically, information is information, encrypted or not, and just because the key is zeroed out doesn't mean part of the original information cannot be obtained from encrypted data. For example, an infinitely fast brute-force algorithm could crack it, as well as a lucky guess, however unlikely. If the key is weak relative to the strength of the cracking algorithm/hardware and the cost of leaking information, then this doesn't work.