共用方式為


威脅防護技術

有一些威脅防護技術可供您使用,以更妥善地保護密碼。 這些技術是使用下列四種主要技術的一或多個來實作。

科技 描述
CryptoAPI CryptoAPI 提供一組函式,可協助您將密碼編譯例程套用至目標實體。 CryptoAPI 可以提供哈希、摘要、加密和解密,以提及其主要功能。 CryptoAPI 也有其他功能。 若要瞭解密碼編譯和 CryptoAPI,請參閱 密碼編譯基本
訪問控制清單 存取控制清單 (ACL) 是套用至物件的安全性保護清單。 物件可以是檔案、進程、事件,或具有安全性描述元的任何其他專案。 如需 ACL 的詳細資訊,請參閱 訪問控制清單 (ACL)。
數據保護 API 資料保護 API (DPAPI) 提供下列四個用來加密和解密敏感數據的函式:CryptProtectDataCryptUnprotectDataCryptProtectMemory,以及 CryptUnprotectMemory
儲存的使用者名稱和密碼 可讓處理使用者密碼和其他認證的記憶體功能,例如私鑰、更容易、更一致且更安全。 如需此功能的詳細資訊,請參閱 CredUIPromptForCredentials

 

並非所有作系統都可使用這些技術。 因此,安全性的改善程度取決於涉及哪些作系統。 以下是每個作系統中可用的技術。

操作系統 科技
Windows Server 2003 和 Windows XP
  • CryptoAPI
  • 訪問控制清單
  • 數據保護 API
  • 儲存的使用者名稱和密碼
Windows 2000

 

下列威脅防護技術使用四種技術的一或多個技術。 無法使用需要使用作系統中未包含之技術的技術。

從使用者取得密碼

當您允許使用者設定密碼時,強制使用強密碼。 例如,要求密碼長度下限,例如八個字元以上。 密碼也必須包含大寫和小寫字母、數位和其他鍵盤字元,例如貨幣符號($)、驚嘆號(!),或大於 (>)。

取得密碼之後,請快速使用它(盡可能少使用程式代碼),然後清除密碼的所有遺存專案。 這會將入侵者用來「設陷」密碼的時間降到最低。 使用這項技術的取捨是必須從使用者擷取密碼的頻率;不過,應盡可能採用該原則。 如需如何正確取得密碼的詳細資訊,請參閱 詢問使用者認證

避免提供「記住我的密碼」使用者介面選項。 使用者通常會要求擁有此選項。 如果您必須提供密碼,請至少確定密碼會以安全的方式儲存。 如需詳細資訊,請參閱本主題稍後的一節。

限制密碼輸入嘗試。 在一定數目的嘗試未成功之後,請鎖定使用者一段特定時間。 選擇性地延長每次嘗試的回應時間上限。 這項技術旨在打敗猜測攻擊。

儲存密碼

永遠不要以純文本儲存密碼(未加密)。 加密密碼會大幅增加其安全性。 如需儲存加密密碼的相關信息,請參閱 CryptProtectData。 如需加密記憶體中密碼的資訊,請參閱 cryptProtectMemory。 盡可能少地儲存密碼。 儲存密碼的位置越多,入侵者可能會發現密碼的機會就越大。 請勿將密碼儲存在網頁或網頁型檔案中。 將密碼儲存在網頁或網頁型檔案中,可讓他們輕鬆遭到入侵。

加密密碼並儲存密碼之後,請使用安全的 ACL 來限制檔案的存取權。 或者,您可以將密碼和加密金鑰儲存在抽取式裝置上。 將密碼和加密金鑰儲存在抽取式媒體上,例如智慧卡,有助於建立更安全的系統。 擷取指定工作階段的密碼之後,就可以移除卡片,從而移除入侵者可以存取它的可能性。