1

這將是爲的SQL Server CE(本地數據庫),或者爲Windows手機應用程序的密碼連接的連接字符串加密最佳方式?因爲如果您使用純文本格式,例如:加密連接連接字符串或密碼(SQLSERVER CE +應用程序的Windows Phone)

"Data Source='isostore:/database.sdf';Password='mypassword';" 

如果有人反編譯您的應用程序,則易受攻擊。

但是,如果我有一個文件(存儲在isolatedstorage)加密的密碼也可能是脆弱的,如果有人反編譯的應用程序,因爲他可以看到代碼解密。

另一種方法是使用未存儲的密鑰進行加密。問題是,我不希望用戶每次輸入密碼或密碼進入.....並且忘記密碼或密碼不能訪問您的私人數據。

數據庫中包含的數據是基本類型(聯繫人,任務...)。數據不是高風險或condifential ...

任何想法?

回答

1

如果您在手機上存儲了本地敏感數據,總會存在安全風險,但有幾種方法可以緩解這種情況。

我)使用內置在其中內置到手機ProtectedData.Protect,沒有額外的熵數據 - 這將加密數據,用戶不需要輸入任何內容

II)再次使用ProtectedData.Protect但讓用戶輸入密碼並將其用作額外的熵值,但正如你所說,如果他們忘記了密碼,你將無法獲取數據。

iii)將數據存儲在基於雲的服務中並獲取應用程序根據需要檢索細節。

希望這會有所幫助。

+0

最後,經過多方考慮和考慮,我決定使用Protectdata +附加密鑰(選項ii) – aco 2012-03-15 15:14:46

2

此最近的問題包含了許多有益的建議 - How can I securely embed a static string (key) in C#?

不過,訪問本地數據庫,然後我不知道你需要這個安全性可言 - 我認爲WP7沙將讓您的數據庫從安全其他應用。

+0

感謝您的回覆:)有用的鏈接 – aco 2012-03-15 15:11:59

1

手機上沒有密碼的唯一方法(即使是混淆的形式)是在第一次需要時從遠程/網絡服務器檢索,然後在設備上存儲使用ProtectedData類。