A few notes:
Memory cards will lose data if they're removed and re-inserted. Not a
secure erase, but they are at least unpowered when they're out of the
device. Anyway, don't imagine you can swap cards somehow and keep secure
data seperate from private data.
I don't think the issue is how to delete *only* the secure data. I don't
think that's nearly so easy. If you have the device, you pretty much have
the data.
As I understand it, you just want to wipe out the entire RAM (dynamic and
storage) and start over with an "out of the box" Palm device... and have
some guarantee that the old data is absolutely unrecoverable.
I had another thought:
If you just want to write over the whole storage heap, you could:
1) cold boot
2) write a little app that:
3) allocates storage chunks (DmNewHandle) until it can't allocate any
more, zeroing each chunk.
4) repeat for dynamic heap chunks (MemPtrNew)
5) cold boot again
This will effectively write over every byte in RAM. Here's my reasoning:
Booting re-writes the low memory globals. Initing the dynamic heap
re-writes the heap headers. Running the OS re-writes areas of the heap it
uses. Your loops that allocate and zero will write over the rest of
memory. Cold booting again erases your app and will delete all those
storage heap chunks you allocated with DmNewHandle.
This doesn't *zero* all memory, but that shouldn't be so important. The
important thing is that only known software (the OS and your app) has
written to memory, and that every byte in memory has been overwritten.
Repeat as many times as necessary. I think that would satisfy any normal
security professional, though maybe not Colonel Flag.
--Bob