摘 要 本文从密码学的角度对Windows操作系统进行了分析,指出了Windows操作系统是如何通过程序来实现密码安全功能的,并描述了Windows操作系统的安全特征及实现用户认证的技术细节。
关键词 CSP;MS-CAPI;数字证书;ActiveX控件;COM组件;NTLM;域控制器
1 引言
在安全方面,微软开发并免费提供一套密码接口API(MS-CAPI),使用这套API能够解决Windows操作系统中的密码安全问题。
像JAVA中的JCA/JCE一样,MS-CAPI隐藏了密码算法本身的一些繁琐内容,而仅体现出功能上的要求。MS-CAPI同样使用了引擎和类的方式,但它有自己的术语描述方法。在MS-CAPI中,提供者类等同于我们常说的CSP(Cryptographic Service Providers)。不同的厂家提供的CSP在内部实现代码上可能不尽相同,但是在对外接口上按照微软的定义都是完全一样的。MS-CAPI提供一套通用的但需要CSP支持的外包接口,应用程序开发者通过使用这套接口来实现密码安全功能。CSP的内部内容对于应用程序的开发者来说是透明的。MS-CAPI自带默认的微软CSP,这个CSP也可被其它第三方的CSP所替代。
图1 MS-CAPI与CSP的关系
图2 MS-CAPI方法与CSP
CSP实际上就是一个DLL文件,这个文件必须经过微软的签名才能保证它在Windows操作系统中的可用性,目前,微软免费对第三方的CSP进行签名。在应用过程中,Windows操作系统首先要验证签名合法性后才能正常使用。
2 MS-CAPI
我们来看一段用VB写的小程序,这是运用MS-CAPI来生成数字签名的例子。例子本身很简单,但笔者还是给出了一定的注解,便于阅读。
//给需要签名的明文分配一个变量strPlainText
strPlainText = ”明文数据”
//通过CAPICOM数字签名类创建一个对象,给对象命名oDigSig
set oDigSig = CreateObject(“CAPICOM.SignedData”)
//在数字签名对象和明文建立关联
oDigSig.Content = strPlainText
//设置输出数据仅为签名结果而不包含明文
fDetached = TRUE
//生成明文。通过调用数字签名对象的Sign方法,同时传递相应参数到方法中,变量signature包含签名结果
signature = oDigSig.Sign(Nothing,fDetached)
和JCA/JCE类似,MS-CAPI的最大优点就在于它是完全公开的,用户可以自由的使用。而且,它已经成为了IE和Windows2000以上操作系统的一部分。在未来的日子里,依靠微软的品牌效应再加上Windows操作系统庞大的用户群,很可能使得MS-CAPI成为相当流行的密码安全类软件。 MS-CAPI另一大优点在于CAPICOM。CAPICOM是一个COM客户端,可以通过ActiveX控件或COM组件的形式进行密码函数的自动调用,CAPICOM用于处理基本的密码操作,如签名验证,数字信封,解密数字信封,加解密数据,检查数字证书的有效性等。CAPICOM可以用VB或VC 进行调用。
3 安全与Windows操作系统
3.1 安全特征
(1)安全登录与反欺骗措施:安全登录要求管理员为所有用户设置一个口令用于登录。黑客会开发一个能够给用户显示登录界面的程序,然后通过某种方式在用户终端上运行,而不加怀疑的用户往往会认为这个登录界面就是系统的登录界面,并在其中输入自己的用户ID和口令,攻击者以此方式轻易地就能够截获用户ID和密码,并显示一个登录失败的错误信息给用户。Windows2000以上操作系统通过要求用户使用CTRL-ALT-DEL结合的方式进行登录来防止上述攻击。键盘驱动程序在捕捉到CTRL-ALT-DEL的序列以后,会通知系统调用正确的登录显示界面。在Windows中,是没有办法屏蔽CTRL- ALT-DEL三键组合消息的,因此,使得黑客欺骗变得无机可乘。
(2)任意访问控制:这种机制允许资源如文件的拥有者能够决定谁并且能够以哪种方式来访问资源。
(3)权限访问控制:这种机制允许系统管理员在出现问题的情况下,超越任意访问控制的范围。
(4)地址空间保护:Windows2000以上操作系统给每个进程提供独立的受保护的虚拟地址空间,这样就有效地防止了恶意的进程攻击。
(5)新页归零:这种机制保证了任何新页都是从内存地址二进制0开始的,这样一来,一个进程就无法知道它前面的那个进程到底做了些什么。
(6)安全审计:利用这个机制,系统管理员能够通过查询系统产生的日志了解系统的相关安全事件。
每个Windows2000的用户和用户组会被分配一个惟一的SID,这个SID由一个随机数和一个短的二进制的头标志组成。每个SID在全世界惟一。进程和线程只有在用户的SID下才能运行。每个进程在Windows2000下都有一个包含SID和其它信息的可访问令牌。系统中的每个资源(如文件)又都有一个对应的安全描述符,该描述符描述了哪个SID允许做哪些操作。
3.2 用户认证
Windows 2000使用Kerberos协议来完成用户身份认证。同时系统也支持Windows NT的挑战/响应机制,这种机制又被称之为NTLM。NTLM以挑战/响应机制为基础,同时避免明文口令的简单传递。NTLM的工作原理如下:
(1)用户在登录界面上输入用户ID和口令。用户的计算机计算出口令的摘要值,同时在内存中销毁用户输入的口令。
(2)客户端将用户ID的明文传递到服务端。
(3)服务器传送16字节的随机数到客户端。
(4)客户端用口令计算出的摘要加密随机数,客户端将加密结果(客户端响应值)传送到服务器端。
(5)服务器将用户ID、传给客户端的随机数、客户端响应值(即客户端加密结果)传递给一台特殊的机器,我们称之为域控制器。在域控制器上保留着所有的用户ID和口令的消息摘要值。
(6)域控制器接收到从服务器端传来的上述数据以后,从数据库(SAM)中可以得到当前用户对应的口令消息摘要值,并且用它来加密从服务器端传来的随机数。
(7)域控制器通过比较从服务器端传来随机数加密结果(第5步)和自身计算得到的结果(第6步)的一致性,来判断用户的身份是否合法。
图3 Windows NTLM 的认证过程
4 结论
从安全性的角度来说,Windows系统本身还有诸多方面值得我们进行深入的研究,因为Windows系统的安全性被集成到了操作系统的方方面面,大多数安全决策被本地的安全颁发策略所控制,本文的侧重点仅在于关于密码安全基础的概念方面,力图使读者对于系统的安全特性有所了解,以便日后再进行深入研究。
参考文献
[1]Steve Burnett & Stephen Paine著,冯登国,周永彬,张振峰,李德全等译.《密码工程实践指南》.清华大学出版社,2001.10
[2]Bruce Schneier著,吴世忠等译.应用密码学——协议、算法与C源程序.机械工业出版社,2000
[3]张世永.《网络安全原理与应用》.科学出版社
[4]尹传勇,刘寿强,陈娇春.《基于PKI/CA身份认证体系的应用研究》.计算机安全
本篇文章来源于 【学习啦】www.xuexi.la 原文链接地址:http://www.xuexi.la/lunwen/computer/3156.html
分享到:
相关推荐
大多数刚开始做网络工程的朋友都会犯这样一个错误,就是搭建服务器或者配置网络设备的时候,往往服务器的安全考虑的非常周到,而忽略了他们的底层平台-操作系统或者IOS系统漏洞,就拿windows来说吧,搭建了一个WEB...
由于其跨平台的特性,目前非常适用于国产操作系统的桌面应用替代解决方案。 1、灵活快速的在线升级和功能更新 基于后端版本控制,从系统底层架构优化设计,实现版本灵活快速的在线升级更新。 2、机器安全认证审核 每...
本解决方案采用CentOS 4.8 作为操作系统,需要安装的软件参见本文档。 本解决方案支持: l 用户名/密码验证 l 支持给指定用户分配特定IP地址。 l 支持对指定用户进行流量控制。 l 支持用户的有效期控制。 l 提供...
Windows修复2021是一个全面的应用程序,为您提供了一个完整的应用程序套件,允许您修复,更新,清理和提高操作系统的性能。这是一个有效的工具,提供了一个完美和方便的解决方案,修复各种Windows问题,包括注册表...
一个用于LAPS的简单易用的Web界面(本地管理员密码解决方案) 设置前提 安装了Microsoft LAPS的有效Active Directory .NET Core 5.0兼容操作系统(Ubuntu / Debian / CentOS / Alpine Linux / Windows / macOS)或...
《Windows Server 2003系统安全管理》以Windows Server 2003操作系统为背景,详细地阐述了Windows Server 2003系统本身,以及基于该系统应用的安全设置,并给出了相应的完全解决方案,从而最大限度地确保系统能够...
检查Windows操作系统的安全级别. 对于鉴识, 行业和政府安全专家 – 审计系统的安全性分析和政策, 建议并改善作业系统密码保护的稳定性. 功能和优点 · 现代化, 易于定制的图形用户界面. · 导入哈希从8个不同的...
影子系统2008提供了最先进的操作系统虚拟化的安全解决方案。完全有能力计算机系统的高可用性和最优状态。换句话说,它能给您提供稳定和高质量的服务,同时提高您的工作效率。 借助创新的Windows虚拟化技术,影子...
操作系统的五大类型是批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统。 多道程序设计:即在系统内(内存)同时存放并运行几道相互独立的程序。 多道程序设计的基础:是将...
2、服务器上 安装 Windows 服务器操作系统,如 Windows Server 2003。 3、安装文件服务器,文件服务器是 Windows Server 的一个组件。 4、服务器上至少有一个 NTFS 格式的磁盘分区,用于存放共享的资源。 三、...
此方法通过网上所有搜索并改进后可用,下载前,请仔细看完文件。 VisualSVN Server增加在线...6、PC的操作系统是Windows2003Server 如有问题,请自行去搜索解决,不提供支持。 By Bernie Chen in Wu Han 2013/07/03
全面支持和兼容32位和64位的Windows等主流操作系统平台,支持最新的Windows7操作系统,Vista、XP、2000、2003等更不在话下;支持备份还原隐藏分区,大大降低被误删除或被破坏的可能性,使您无后顾之忧。 更多人性化...
中笔者就将向大家介绍35种Windows操作系统技巧,招招实用,招招值得你把 他保存到你的电脑中或者把这篇文章的地址收藏到收藏夹里。 1、如何实现关机时清空页面文件 打开“控制面板”,单击“管理工具→本地...
先给大家介绍windows下mysql忘记密码的解决方案。 Windows下的实际操作如下 1.关闭正在运行的MySQL。 2.打开DOS窗口,转到mysql\bin目录。 3.输入mysqld –skip-grant-tables回车。如果没有出现提示信息,那...
该产品由客户端软件、管理中心、安全接入控制器和用户USB Key(密码钥匙)组成,构成基于C/S架构的安全应用系统,支持Windows系列操作系统。 该产品已经通过了国家保密局涉密信息系统安全保密测评中心的测评...
影子系统2008提供了最先进的操作系统虚拟化的安全解决方案。完全有能力计算机系统的高可用性和最优状态。换句话说,它能给您提供稳定和高质量的服务,同时提高您的工作效率。借助创新的Windows虚拟化技术,影子系统...
在WindowsXP操作系统环境下,应用SQL Server 2000数据库以及Java可视化程序设计软件所开发的库存管理系统。 本系统对于库存管理方面所遇到的各种问题,如工作量大,数据更新不及时,可靠性低等都做出详细的解决方案...
本系统具有安全的数据库备份方案,简单易用,仿WINDOWS操作方式可以使您很快上手,打印机设置为您打印提供解决方案,查询系统拥有常用的查询,和自定义查询两种方式,您还可以把“查询”出来的的数据导出到 Excel...
确保用户数据安全,AOMEI OneKey Recovery具有自动、完整、增量和差异备份四种备份模式,全面兼容Windows 11、Windows 10、Windows 8.1/8、Windows 7、Vista、XP等主流操作系统,轻松完成将机械硬盘HDD克隆到固态...
Win操作系统安装方法.txt 为文件夹添加背景音乐.txt 什么时信使服务.txt 什么是 DirectX.txt 什么是host表.txt 什么是POP3和SMTP.txt 什么是Smartdrv程序.txt 什么是丢包.txt 什么是端口.txt 什么是虚拟文件分配表....