摘 要 本文从密码学的角度对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所替代。
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三键组合消息的,因此,使得黑客欺骗变得无机可乘。
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
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步)的一致性,来判断用户的身份是否合法。
4 结论
从安全性的角度来说,Windows系统本身还有诸多方面值得我们进行深入的研究,因为Windows系统的安全性被集成到了操作系统的方方面面,大多数安全决策被本地的安全颁发策略所控制,本文的侧重点仅在于关于密码安全基础的概念方面,力图使读者对于系统的安全特性有所了解,以便日后再进行深入研究。参考文献
[1]Steve Burnett & Stephen Paine着,冯登国,周永彬,张振峰,李德全等译.《密码工程实践指南》.清华大学出版社,2001.10[2]Bruce Schneier着,吴世忠等译.应用密码学——协议、算法与C源程序.机械工业出版社,2000[3]张世永.《网络安全原理与应用》.科学出版社[4]尹传勇,刘寿强,陈娇春.《基于PKI/CA身份认证体系的应用研究》.计算机安全
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
相关文章:
研究生为何频频在国际学术刊物发表论文——厦门大学多04-26
今年重庆中小学正高级教师指标数113个 论文不作教师评04-26
云教学同向同行 融思政如盐入味大连海洋大学在线教学04-26
如何让你的原创文章充满干货感?04-26
【中国教育报】瞄准世界科技前沿立足国内重大需求办学04-26
天津滨海新区科技创新“亮眼”04-26