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

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值