内容摘要:在局域网中访问对方的电脑时,会弹出一个对话框,要求输入对方计算机用户名和密码。如果选中记住密码,那么下次访问时就不用再输入了,我想知道这个用户名和密码存储在注册表的哪个位置?
今天接到一封热心读者朋友的来信,他在来信中提到一个很有意义的问题:在局域网中访问对方的电脑时,会弹出一个对话框,要求输入对方计算机用户名和密码。如果选中记住密码,那么下次访问时就不用再输入了,我想知道这个用户名和密码存储在注册表的哪个位置?

图
盆盆认为,这是一个很好的问题,Windows 2000只能把网络访问凭据保存在登录会话里,重启或者注销后,这些网络凭据就会被清空。
而在Windows XP/Vista的某些版本里,则可以选择保存网络访问凭据,我们可以随后在“存储的用户名和密码”对话框选择手动添加或者删除网络访问凭据。
问题是,这些网络访问凭据,是保存在注册表里吗?
为了解决这个问题,盆盆做了个实验,准备用Process Monitor对系统的注册表和文件访问活动进行监视,以下以Windows Vista旗舰版为例进行介绍。打开“存储的用户名和密码”,手动添加一个凭据,如附图所示。

结果发现,Process Monitor提示Lsass进程会在“C:UsersAdminAppDataRoamingMicrosoftProtectS-1- 5-21-118199911-2510020216-4247364677-1000”目录下创建一个Preferred文件。这个文件一般是用来提示系统选择所需的主密钥。如附图所示。

图
C:UsersAdminAppDataRoamingMicrosoftProtect下保存的是指定用户的主密钥,S-1-5-21-118199911-2510020216-4247364677-1000就是盆盆所使用帐户的SID。
同时Process Monitor提示Lsass进程会在“C:UsersAdminAppDataRoamingMicrosoftCredentials” 下创建一个5958C724801B91E50915D98404E30E25文件,这就是新建凭据的对应文件。如附图所示。

图
如果删除该5958C724801B91E50915D98404E30E25的凭据文件,再打开“存储的用户名和密码”对话框,就会发现网络访问凭据已经被删除,这再次证明了两者的对应关系。
可见,网络访问凭据并不是保存在注册表上,而是保存在文件系统里。
盆盆评注:系统用Preferred文件指定的主密钥,对网络访问凭据进行加密,并保存在%AppData%MicrosoftCredentials下。
来源:中关村在线 责编:豆豆技术应用
- Windows Vista新闻
- Windows Vista安装
- Windows Vista优化
- Windows Vista教程
- Windows Vista安全
- Windows Vista防火墙
- Windows Vista备份还原
- Windows Vista侧边栏
- Windows Vista网络设置
- Windows Vista SP1
- Vista Aero玻璃效果专题
- Vista 侧边栏专题
- Vista备份还原专题
- Vista BitLocker专题
- Windows Vista共享专题
- Vista任务栏专题
- UAC用户帐号控制专题
- Vista 激活专题
- Vista输入法专题
- Vista同步中心专题
- Vista照片库专题
- Vista Defender 专题
- Vista 保护模式专题
- Vista ReadyBoost 专题
- Vista SuperFetch 专题
- Vista 家长控制专题
- Vista 瘦身减肥专题
- Windows Vista 升级专题
- Vista 数据执行保护专题
- Windows Mail 专题
- Vista 问题报告专题
- 更多Vista专题……