2012-12-11 26 views
3

的情況是這樣的:有一個隨機的計算機上運行的桌面Java應用程序,從開發者的控制。該應用程序連接到安裝在同一臺計算機上的MySQL服務器。如何將數據庫憑證存儲在桌面應用程序中?

有沒有辦法讓從本地用戶的安全數據庫的登錄憑據?

我可以想像的是,作爲本地PC與客戶端和數據庫兩者的管理,它可能是徒勞的總需求的安全性,因爲憑證必須是某個系統上。我想知道在桌面應用程序中使用硬編碼密碼可能是最好的選擇。我知道這是一個很大的禁忌,但是在這種情況下還有更好的選擇嗎?

+1

這將是巨大的,如果任何人誰投票決定關閉這個問題可以提供的評論或個人消息的原因。我查看了常見問題解答,它看起來對我來說是主題。我不認爲源代碼會有用。我認爲範圍是合理的,這是關於某個軟件架構的安全問題。它不是開放式或嘮叨的,其答案要麼是「否」,要麼是「是的,這是推薦的方式」。這是我面臨的一個實際問題,它是可以回答的。除了這個概念所暗示的範圍比我預期的更窄之外,它對編程界也是特定的 – Smig

回答

1

有沒有辦法讓本地用戶保持數據庫登錄憑證的安全?

簡短的回答是否定的。

無論你做什麼,用戶名和密碼(或任何其他形式的憑證)將由本地用戶訪問,假設他/她有技能和動機。


1 - 即使是trusted platform module的做法是不完全安全的。 IIRC,有人用電子顯微鏡成功地打破了TPM的安全性。雖然這不是正常情況下的實際攻擊,翻蓋側是構建霸佔從用戶機器的控制上TPM的系統是不會在大多數環境中接受的。

1

你可以讓他們在一個對稱加密文件和硬編碼的鑰匙插入應用程序。這至少是能夠改變密碼並對本地懶惰者提供一些基本保護的妥協。

相關問題