我有一個Python應用程序設計爲在Linux上作爲服務運行,並且我被要求將它安裝在沒有Linux機器的辦公室中的Windows XP盒子上(對我而言,這使它變得奇怪和令人困惑因爲我幾乎沒有開發Windows的經驗)。如何安全地存儲Windows應用程序的數據庫憑據?
在Linux上,應用程序具有自己的用戶,應用程序和數據庫憑證文件位於只能由該用戶訪問的加密文件夾中。 (我想說我不是一個密碼學家,如果在這個設置中已經有明顯的安全錯誤,我很樂意讓他們指出我!)
我該如何實現在Windows XP機器上通過類似或不同的方式達到同等級別的安全性?也就是說,如何防止那些有權訪問計算機或磁盤的人改變程序或讀取證書?
稍微背景:主機窗口框是一個工作站,每天都有非管理員權限的用戶使用。安全資產是個人數據,大致與學校報告一樣敏感。該應用程序旨在供大約10個使用個人密碼對應用程序進行身份驗證的人員使用(在數據庫中存儲醃製和散列)。
沒有收到答案一個非常類似的問題:
on Windows you would store the credentials in the registry in a location protected by an ACL
但是,它並沒有觸及保護程序文件的方面,並進一步將其似乎假定比我目前享受的更高級別的Windows體驗:)我不知道如何使用ACL保護註冊表項目,也不知道如何才能從我的程序訪問受保護的密鑰。對不熟悉環境的開發人員的簡單說明將不勝感激!
我相信這個問題會更適合http://SuperUser.com因爲你需要做什麼不涉及任何編碼。 – 2010-09-08 10:36:05
我想象出可能需要新代碼訪問以不同格式存儲的安全數據的解決方案,例如。受保護的註冊表項。如果其他人同意在其他地方更合適,我很高興這個問題能夠被遷移。 – 2010-09-08 15:11:50
實際上,我認爲最簡單的方法就是將數據存儲在用戶主目錄下的文件中(應用程序在Windows中也需要自己的用戶,這樣才能很好地工作)。順便說一句對不起,但我沒有足夠的代表投票將其遷移到http://SuperUser.com – 2010-09-09 07:43:00