2014-09-01 21 views
0

我剛剛在C#上觀看了一些Microsoft Virtual Academy視頻,並且有關加密的一堂課。講師在某個時候使用了ProtectedData.Protect方法。最後一個參數是一個顯示訪問級別的標誌 - 只有當前用戶或本地機器。ProtectedData.Protect和硬件更改

他們還表示,如果一個人偷走了您的硬盤,那麼他無法訪問加密文件。在這一點上,我認爲這種加密取決於當前機器的一些硬件組合,不是嗎?

因此,即使使用加密文件的操作系統刪除硬盤,仍然無法訪問它們。如果是這樣,如果我更換了一些我的電腦的硬件呢?它會影響解密以前加密文件的可能性嗎?如果我完全錯了,錯過了一些非常重要,誤解了整個概念的東西,誰能用幾句話來解釋它?

回答

1

引擎蓋下ProtectedData.Protect使用本機庫crypt32.dll這是Windows數據保護API的接口。據我所知,爲了保護/加密數據,DPAPI使用了隨機生成的MasterKey,它存儲在磁盤上 - 這意味着PC硬件的變化不會影響解密以前加密文件的可能性。

至於你的磁盤被盜時的情況。我的理解是,如果使用DataProtectionScope.LocalMachine模式,那麼偷盜你磁盤的人將能夠訪問你的數據。請注意0​​對此模式的說明:

我們強烈建議不要在工作站上使用此標誌來保護用戶的數據。但是,對於服務器進程在不受信任的用戶不允許登錄的服務器上使用標誌確實有意義。本地機器進程使用該標誌來保護要從機器或共享驅動器上存儲的數據也是有意義的。

另請參閱this的問題。

+0

非常感謝您提供有用的信息 – Ilia 2014-09-02 07:14:47