2011-12-01 10 views
2

以下是我正在嘗試的操作。我有一個程序,它使用數據庫密碼將數據存儲到MS Access文件中。表中的所有數據都使用用戶名和密碼進行加密。他們都使用相同的密碼。將現有密碼短語更改爲非明顯難以猜出的短語

我想改變輸入的密碼,所以它與原來的不同,因爲我希望它與MS Access數據庫密碼和加密密碼不同。

有兩個原因。首先,我不希望用戶修改MS Access文件的內容。將原始密碼更改爲其他內容會阻止他們這樣做,因爲他們不知道DB的實際密碼。此外,數據將被加密,因此如果用戶將數據更改爲非加密數據,將破壞我的程序。其次,讓我們假設MS Access文件是我的程序安全性中最薄弱的一環。知道數據庫文件的密碼將使攻擊者更容易破解並解密我的數據。但他不知道用戶名。

那麼,如何將密碼更改爲其他內容,難以猜測它是如何更改爲新的呢?

編輯:在MS Access 2007

數據庫密碼必須不超過20個字符。

編輯:

我知道,我可以用16進制編輯,ECT讀取程序,所以我想改變保持祕密。我無法對它進行加密,因爲它會佔用比20個字符更多的空間。

編輯。

假設只有一個帶有數據的文件被盜。

回答

1

取決於您的用戶的計算機知識水平。如果你只是'平時'的辦公室工作人員,那麼它可能足以通過MD5散列密碼,並採取前20個字符。

對於第二次編輯:您的用戶是否確實能夠對您的軟件進行逆向工程?當然,基於.NET的應用程序更容易,但如果沒有實際用途,人們也不會做這件事。

如果您想要安裝保護功能,以便有人竊取此文件將無法讀取它,那麼您需要指定更多的應用盜竊細節。例如,攻擊者只能獲取Access文件的情況,以及當攻擊者使用您的所有軟件進行逆向工程等物理竊取HDD時的情況完全不同。你的保護應該與預期的威脅水平相匹配 - 在開始計劃任何對策之前,你需要指定這個假設的水平。

+0

用戶不會是一個問題。如果個人竊取訪問文件並試圖破解它,該怎麼辦?所以讓我們看看最壞的情況。 – NewHelpNeeder

+0

雖然我喜歡這個主意。 – NewHelpNeeder

+0

已更新的答案 –