Windows和Linux口令文件及密碼機制

Linux操作系統

一、口令文件

用戶:基礎口令文件--/etc/password  用戶信息,僅指明口令存放位置,即shadow中

          口令文件-----/etc/shadow     實際存儲了密碼,只有root可讀,影子文件

二、口令文件格式

1、password格式

每一行代表一個用戶記錄,不同字段間用:隔開,7個字段:

註冊名:口令:用戶標識號:組標識號:用戶名:用戶主目錄:命令解釋程序

2、shadow格式

用戶名:加密後的口令字符串:口令最後修改時間距1970.1.1的天數:口令能被修改之前的天數(防止修改口令,回到老口令):口令必須被修改之後的天數:口令期滿之後的天數:保留

三、安全機制

由密碼域&id&salt&encrypted中id指明,常見id=1,即MD5加密.

另id=5是SHA256,id=6是SHA512.詳細流程總結如下:

1、crypt_make_salt的子函數gensalt(salt_len)生成固定長度隨機可見字符串salt

2、salt帶入crypt函數中生成密碼

相關參考:http://linfengdu.blog.163.com/blog/static/1177107320119209614584/

 

Windows操作系統

一、口令文件

%systemroot%\system32\config\sam

二、口令文件格式

NT系統打開之後是加密後的亂碼,註冊表中的 HKEY_LOCAL_MACHINESAMSAM HKEY_LOCAL_MACHINESECURITYSAM 保存了SAM文件的內容,

在正常設置下僅對system是可讀寫的。

SAM保存了兩個不同口令信息:LANManager(LM)口令散列算法和加密NT版

三、安全機制

LM對口令的處理方法是:如果口令不足14位,就用0把口令補足14位,並把所有的字母轉成大寫字母。之後將處理後的口令分成兩組數字,每組是7位。

然後由這兩個7位的數字分別生成8位的DES KEY,每一個8位的DES KEY都使用一個魔法數字(將0x4B47532140232425用全是1的一個KEY進行加密獲

得的)再進行一次加密,將兩組加密完後的字符串連在一起,這就是最終的口令散列。

正式的口令(加密NT版)是將用戶的口令轉換成unicode編碼,然後使用MD4算法將口令加密,相比之下用這種方法就要安全得多了。

之所以保留兩種不同版本的口令是由於歷史原因造成的,在一個純NT的環境中應該將LAN Manager口令關閉。因爲LAN Manager口令使用了較弱的DES

密鑰和算法,比較容易破解。相比較之下,使用較強加密算法的NT正式口令要安全些。

 相關參考:http://tech.sina.com.cn/c/4306.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章