[英]Delphi - authentication mechanism suggestions
這個問題只有教育目的。 此時我正在制作一個小應用程序,我希望在其中包含一個身份驗證機制。 應用程序在安裝時應該可以訪問Internet,但是可以脫機工作。 到目前為止,我一直在考慮以下解決方案:
1)經典:發送到身份驗證Web服務的用戶名和密碼(加密) - Internet連接斷開時出現問題。
2)根據主板/硬盤序列號生成密碼否 - 這會在組件更改時產生問題。
另外,我想要包含一個“記住密碼”復選框。 這是最安全的方法嗎? 我應該在哪里存儲這些信息?
我相信你們大多數人已經建立了一個或多或少復雜的認證機制,我在征求你的意見。 此外,我知道一切都可以被黑客攻擊,但我想盡可能地讓它變得困難。
不要重新發明輪子!
一些規則:
為簡單起見,服務器為客戶端創建“挑戰”。
典型的實現可以是:
您可以使用良好的散列算法創建挑戰(請查看我們非常快速的SHA-256函數 ),並按照以下步驟操作:
取決於你想要達到的目標。 例如,您可能首先從服務器檢索一些關鍵數據,然后始終將其存儲在本地,通過login-password加密。 這樣,PC上就不會存儲密碼,您必須輸入密碼才能訪問數據。
那么為了記住密碼,你可以在本地保存它的哈希值,這不能用於獲取真正的密碼...
您可以使用cookie執行瀏覽器操作並將密碼存儲在加密文件中,或者甚至更好地將其存儲到數據庫中。 請記住,如果用戶在服務器上更改了密碼,則需要更新數據庫密碼。 您無需生成密碼。 您可以要求用戶這樣做,並檢查其復雜性以確保其安全。 並且在連接到Web服務時始終使用SSL,以確保所有數據都可以安全傳輸。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.