RAM
物理方式
關閉PC的一小段時間後會刪除它。對於cold boot attack而言,RAM可能會持續幾秒/分鐘,但隨後數據將在物理上消失。
的的程序化的方式
/*C code*/
//Ask OS for some ram, the size of our data.
char * SensitiveData = malloc(myDataSize);
//Copy data from hard drive to the ram memory we
//...just allocated. Implement this function your own way.
load_key_from_hardrive(SensitiveData);
/*Use key here*/
//Now let's overwrite the key:
for (i=0;i<myDataSize;i++)
{
SensitiveData[i]='\0'; //Fill it with zeros.
}
free (SensitiveData); //Give the memory back to the OS.
硬盤
物理方式
保存在USB記憶棒的鍵,然後進行物理破壞它會G保證清除鑰匙。
的的程序化的方式
有很多的方式。這裏是Linux的一個:創建一個新的分區,把密鑰放在那裏。記下分區號,在本例中爲sda2
。
爲了擺脫關鍵的,補零分區:
#Linux bash code
dd if=/dev/zero of=/dev/sda2 bs=1M
如果您更喜歡推諉填充隨機數據,使用:
#Linux bash code
dd if=/dev/urandom of=/dev/sda3 bs=1M
其他說明
零填充一次就足夠了。零填充一個現代硬盤驅動器可能已經足夠,但有些不止一次。
某些操作系統緩存磁盤I/O在RAM中,爲了安全起見,擦拭硬盤後,還應該使用Ram>物理方式。我可能在這裏太偏執了。我對IO緩存沒有深入的瞭解,也許別人會更好地編輯這一部分。
如果RAM內存的一些其他部分可以用來推斷的關鍵,一定要以類似的方式太補零那些拉姆>的的程序化的方式
最大的問題不是零填充。相反,它確保雙方保持密鑰同步,即使在發生崩潰,連接丟失等情況下。 –
通常最好解釋downvote,以便可能會提煉出問題。 –