NTLM 网络安全认证编程实现(VC)
来源:互联网 发布:省烟尘排放数据 编辑:程序博客网 时间:2024/05/18 02:52
NTLM 网络安全认证编程实现(VC)
□ 深圳远客 (song_0962@sina.com)
为什么你的基于TCP/IP的应用软件在开发调试时好好的,到了用户手上就有的就不行?原因是你的应用软件没法通过NTLM 认证。
NTLM 是基于WindowNT 操作系统的网络安全认证管理机制的一种协议。随着网络资源的互访共享,网络安全问题被MS操作系统当作一项重要的任务在日溢加强,从早期的LM认证到NTLM 再到NTLMV2,NTLM网络安全认证也让网络访问的安全有最强的保障,于是很多公司,大企业都会采用基于NTLM 认证的服务器加强内部系统资源互访的安全。非法用户很难在非受权情况下进入系统,也不能访问外部资,比较流行的HTTP 代理服器就是应用广泛的例子 ,如果你公司网络管理员设置了代理服务器,那么你的任何网络访问都要经过代理服务器NTLM认证,当然在IExploer 中经过简单的设置你就可以上网了,因为IExploer内部也经有集成了NTLM模块(NT操作系统中都有NTLM模块)。
虽然 NTLM网络安全认证管理机制能保证网络安全,但给很多的应用软件访问网络资源带来了麻烦。因为,你的应用软件要合法访问就得先通过NTLM的把关,象下载软件,聊天软件,网络游戏,网络监制,Mail管理软件,WEB应用软件等,如果说是一个优秀的软件,都必须要能够实现这种功能。因些在本文中,我将给大家介绍如用C++代码实现NTLM认证。
一、NTLM认证过程
NTLM认证分3个步骤:
a.第一步是协商过程,由Client发起,主要任务是Client 通知Server ,Client要进行认证,并告诉Server 是采用何种认证方式NTLM 、LM 或NTLMV2以及其它相关的信息(主要有:字符格式、Client的操作系统等,详见NTLM通讯协议)。Server 收到Client发出的协商内容后会按照本次协商作出回应。
b.第二步是Server按照上步Client要求作出回应,在回应的信息中会给出8字节的挑战(chellange )信息。挑战信息是给Client的用来作第三步认证回应Server用的。
c. 第三步是Client 用挑战信息经过严格加密算法,来回应Server的挑战。如果Server认为你挑战成功,就在一切OK。
这三个过程没有哪步不重要,步步关键,稍有不慎,前功尽弃!
下面我会从NTLM协议着手,从3个过程详细来实现。
(待继续。。。。)
- NTLM 网络安全认证编程实现(VC)
- SMB的NTLM认证过程与NTLM挑战的编程实现
- SMB的NTLM认证过程与NTLM挑战的编程实现
- SMB的NTLM认证过程与NTLM挑战的编程实现
- NodeJs NTLM认证(烂尾)
- NTLM认证的proxy客户端的Java实现-NTLM.java
- NTLM认证
- 《精通PKI网络安全认证技术与编程实现》 读书笔记一
- 《精通PKI网络安全认证技术与编程实现》 读书笔记二
- VC++网络安全编程范例(8)-摘要签名和验证编程实现
- vc++网络安全编程范例(18)-open ssl 实现数字证书编程
- VC++网络安全编程范例(8)-摘要签名和验证编程实现
- VC++网络安全编程范例(7)-实现哈希摘要算法
- VC++网络安全编程范例(9)-基于OPENSSL实现对称算法与BASE64编码
- vc++网络安全编程范例(17)-open ssl 实现文件加密与解密
- vc++网络安全编程范例(19)实现数字信封打包与拆解
- vc++网络安全编程范例(17)-open ssl 实现文件加密与解密
- VC++网络安全编程范例(9)-基于OPENSSL实现对称算法与BASE64编码
- DB2 远程 实例 连接 到本地
- 心情日记——20071210
- Linux下读取配置文件
- 【转贴】多核环境下的内存屏障指令
- (转)Eclipse 中CheckStyle安装和使用指南
- NTLM 网络安全认证编程实现(VC)
- sp_executesql接收返回多个参数实例
- 收藏--开发工具与资源/水晶报表9
- 一个非常实用的javascript读写Cookie函数
- 数字金额变大写
- 正则表达式的妙用--获得数组
- MFC中改变字体及背景色
- JavaScript Cookie对象
- Web Config 配置档详解