2010-12-05 64 views
-1

我正在研究需要一些數據加密的Windows Phone 7應用程序。我很難找到任何關於Windows Phone 7的關鍵環或DPAPI的文檔。我提出了幾種方法,但都有缺點。如何在Windows Phone 7中獲得對稱密鑰?

  1. 生成隨機加密密鑰並將其存儲到IsolatedStorage。這個優點是它很簡單,而且「正常工作」。缺點是這個密鑰可能會出現在備份文件中,等等。

  2. 生成一個隨機密鑰並使用設備ID來加密該密鑰。優點是它提供了更好的保護。找出設備ID並不困難。缺點是如果他們將其備份並恢復到另一部手機,密鑰將失效。

用戶輸入不能按要求(即我不能從派生的用戶輸入的鍵),我不喜歡二者中的任何

。在Windows Phone 7中肯定有DPAPI或鑰匙圈之類的東西。或者它缺乏?

回答

1

不幸的是,目前沒有將keyring/dpapi暴露給託管代碼。如果你不能要求用戶輸入,那麼你就會陷入兩種方法之一。就個人而言,我喜歡在這裏你使用IMEI爲重點,即(psudocode)的一部分的辦法......

shared_secret = sha512(newGuid + IMEI) 

的利益做這樣的說法是,如果手機丟失或被盜,SIM卡被換出(對於帶GSM或Verizon LTE的SIM卡的手機),數據將無法訪問,如果他們離開舊SIM卡訪問數據,手機可能被找到和/或遠程擦除的機會更大。

+0

我不相信wp7可以讓你獲得IMEI,只有設備ID。 – dethSwatch 2011-01-14 19:13:54