NVMe SSD終於也有了這個“數據安全防護衣”!

在今年5月份發佈的NVMe Spec 1.3中,對數據安全方面增加了一個“Sanitize”功能,如下圖。其實,Sanitize清除功能並不是NVMe新創,SATA和SAS硬盤早已支持的這個功能,現在終於加入到NVMe協議上面了。


當你手上有一塊NVMe SSD不想使用或者想改換其他用途,爲了保證SSD的數據不被泄露,你可能會想到用Secure Erase安全擦除的命令。但是,值得警惕的是,Secure Erase只會擦除映射表並標記無效數據,也就是說物理上的數據並沒有被刪除。而Sanitize則是直接從block級別在物理擦除SSD上的數據。


Sanitize清除的數據很徹底,對FTL映射表、User Data(包括已經寫入NAND和仍在cache裏的)、Meta Data、安全密匙、CMB中SQ/CQ相關信息、可能含有用戶數據的log等等會全部清除。不過,sanitize操作不會改變RPMB、boot分區、不包含用戶數據的cache等內容。

RPMB是Replay Protected Memory Block的縮寫,他的存在目的是用來給系統存放一些特殊的、需要進行訪問授權的數據。


NVMe Spec中定義了三種Sanitize類型:Block Erase, Crypto Erase和Overwirte.

  • Block Erase:採用block級別清除所有的用戶數據;

  • Crypo Erase: 擦除安全密匙;

  • Overwrite: 用特定的pattern數據覆蓋用戶數據。不過這個對NAND-based SSD不提倡,因爲會降低NAND的使用壽命。


一旦啓動了Sanitize操作,是不能中斷的,除非fail了。即使power cycle或者controller level reset之後,santize會繼續執行。


另外,在Sanitize執行過程中,不允許執行任何NVMe IO command, 但是允許執行一部分的NVMe admin command, 具體包括:

精彩推薦:

更多精彩內容,敬請關注公衆號: 存儲隨筆,Memory-logger. 


同時也可以關注頭條號【存儲隨筆】獲取更多活動內容。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章