2017-02-15 116 views
0

如果設備(例如電話)上的數據已加密,則在使用設備時需要使用加密密鑰來解密數據。這個密鑰是如何存儲的?安全策略是什麼,以防止被惡意軟件竊取?加密密鑰在哪裏存儲,以便設備在使用時不會被盜?

+0

這取決於密鑰管理,並且密鑰管理通常在書籍中描述,而不是在stackoverflow上的答案。 –

+0

我同意,但是如果你不知道從哪裏開始,或者主題的具體名稱可以是一個很好的方式來獲取關於此問題的有用書籍的名稱。 – diegomontoyas

回答

2

設備通常包含足夠的存儲空間,需要進行保護才能保證使用對稱密鑰算法。公鑰密碼對於大量數據來說太慢了。如果它是例如硬盤,即使是加密塊鏈也是相當適得其反的。

但是,爲了保護該對稱密鑰,可以使用許多技術。但是,當使用密鑰時,它將被存儲在設備的存儲器中。大多數使用

的方法來存儲的方式,它是由一個密碼,PIN碼或使受保護的對稱密鑰。最簡單的形式,其實並不難:假設你有一個需要保護的256位對稱密鑰,所有你需要的是密碼的密碼哈希,它產生相同的256位結果(或更長)並存儲異或結果。如果沒有密碼,則無法計算散列值,也無法訪問對稱加密密鑰。

儘管如此,如果您在使用加密密鑰時尋求可能主動監視設備的惡意軟件的防護,那麼基本上運氣不佳,除非您有硬件執行加密,因爲軟件加密必須具有密鑰在內存中進行加密或解密。惡意軟件可以訪問內存。 另外請注意,擦除對稱密鑰而不訪問(在其保護性存儲中)基本上會使整個磁盤擦除,除非有備份。因此,雖然機密性和完整性受惡意軟件威脅,但可用性更大。

+0

「異或」過程本質上是用密碼對密鑰進行加密,並且可以更清楚地說明。但是該方案很薄弱,因爲當同一個計數器被重新使用時,它具有與CTR模式相同的可調度性。 – zaph

+0

我完全同意XOR實質上是加密密鑰。但是「加密」有點過分誇大了,讓人們認爲這是一個神奇的東西,它構建了一個防彈解決方案。不是。也正如我所說:「以最簡單的形式」,現實世界的實現會更復雜一些,因爲這確實可能具有主要的漏洞 - 例如你真的想要一個非常緩慢的散列或某人與例如GPU裝備在幾秒鐘內就破壞了任何通常使用的密碼。 – swa66