搜索
熱搜: 活動 交友 discuz
查看: 1245|回復: 0
打印 上一主題 下一主題

FreeBSD 使用手冊--DES、MD5 和 Crypt

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-9-6 14:48:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
Parts rewritten and updated by Bill Swingle <unfurl@FreeBSD.org>、21 March 2000.

在 unix 系統上的每個用戶有一個與帳號相關聯的密碼。看起來這些密碼只有用 戶和作業系統知道。為了確保這些密碼的秘密,通過一種叫做 one-way hash 的方式來 加密,能被很容易地加密,但不能解密。換句話說,以前告訴大家通常不是真的: 作業系統通常並不真正知道密碼。只知道密碼的加密形式。

加密密碼的唯一安全方式是以 DES 為基礎的資料加密標準。這對於 US 用戶來說沒有什 麼問題,但 DES 的來源碼不允許被輸出到 US 以外的國家,FreeBSD 必須找到一個既遵守US 法律,又要與所有使用 DES 的 unix 相容的方法。

解決方法是分解加密庫以至於 US 用戶可以安裝 DES 庫和使用 DES,而國際用戶也有一 個加密方法。這就是 FreeBSD 為什麼使用 MD5 來作為預設的加密方法。MD5 被認為要比 DES 更安全,所以使用 DES 主要是為了相容性的原因。

重新配置 Crypt 機制
可以很容易地設置 FreeBSD 使用哪種加密方法。檢查 /etc/master.passwd 檔案中的加 密密碼是一種方法。用 MD5 加密的密碼通常要比用 DES 加密的密碼長,通常以$1$字元作為 起始。DES 密碼字元沒有任何鑒別特徵,但要比 MD5 密碼短,通常是以64 位元字元的字 母表來編碼的,不包括$字元,所以通常一個不以$符號開始的很可能是 DES 密碼。 也可以通過區別庫來鑒別密碼。DES 庫能夠鑒別 MD5 密碼,使用 MD5 來檢查用哪種方法 加密的密碼,然後用 DES 加密剩下的。之所以可以這樣做,是因為 DES 庫也包括 MD5。但是, 倒過來就不行了,所以 MD5 庫不能鑒別用 DES 加密的密碼。

鑒別當前系統使用的是哪個庫也是很容易的。任何使用 crypt 的程式是與 libcrypt 連接在一起的,每一種類型的庫是與適當的執行程式有一個符號連接的。例如,在使用 DES 的系統上:

% ls -l /usr/lib/libcrypt*
lrwxr-xr-x  1 root  wheel  13 Mar 19 06:56 libcrypt.a -> libdescrypt.a
lrwxr-xr-x  1 root  wheel  18 Mar 19 06:56 libcrypt.so.2.0 -> libdescrypt.so.2.0
lrwxr-xr-x  1 root  wheel  15 Mar 19 06:56 libcrypt_p.a -> libdescrypt_p.a
在使用 MD5 庫的系統上,同樣的連接也會出現,但目標庫是 libscrypt 而不是 libdescrypt。如果安裝了 DES 用的 crypt 庫 libdescrypt,哪個密碼格式將被用作新的密 碼可以通過在 /etc/login.conf 中設置 passwd_format 來控制,要麼使用 DES,要麼使用 MD5。 看看 login.conf 的聯機手冊瞭解更多資訊。
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

本論壇為非營利之網路平台,所有文章內容均為網友自行發表,不代表論壇立場!若涉及侵權、違法等情事,請告知版主處理。


Page Rank Check

廣告刊登  |   交換連結  |   贊助我們  |   服務條款  |   免責聲明  |   客服中心  |   中央分站

手機版|中央論壇

GMT+8, 2024-4-29 22:11 , Processed in 0.118943 second(s), 16 queries .

Powered by Discuz!

© 2005-2015 Copyrights. Set by YIDAS

快速回復 返回頂部 返回列表