WinCE工控主板的网络安全管理

 2008-12-8              

        英创公司的ARM9嵌入式工控主板产品系列,均预装了正版WinCE5.0操作系统。微软的 WinCE实时多任务操作系统是嵌入式领域的主流操作系统之一,它包括了以TCP/IP为特色的完整网络通讯协议,以及相应的安全认证功能,来确保系统的安全性。从应用角度看,最常用的安全认证方法是当访问嵌入式设备时,需要提供用户名和密码。在本文中将以FTP Server的应用为例,主要介绍如何实现对于FTP Server、Web Server、Telnet等应用中用户名和密码的管理,包括添加,删除等操作。

 

        在英创的ARM9嵌入式工控板系列产品中,出厂的缺省配置是没有启用用户名和密码认证功能的,FTP Server采用的登录方式为匿名登录,因此首先是需要修改相关这部分的注册表,关闭匿名登录以及打开使用认证功能,其修改后的注册表项如下:

 

        [HKEY_LOCAL_MACHINE\COMM\FTPD]

        'AllowAnonymous'=dword:0

        'UseAuthentication'=dword:1

 

        修改注册表的方法有两种,方法一是利用程序代码来进行修改,代码如下:

 

        _tcscpy (szTemp, TEXT('Comm\\FTPD'));

        hKey = NULL;

        hRes = RegCreateKeyEx (HKEY_LOCAL_MACHINE, szTemp, 0, NULL, REG_OPTION_NON_VOLATILE, 0, NULL, &hKey, &dwDisp);

        if (hKey != NULL)

        {

                dwSize = 0;

                RegSetValueEx (hKey, TEXT('AllowAnonymous'), 0, REG_MULTI_SZ, (const BYTE *)&dwSize, sizeof(DWORD));

                dwSize = 1;

                RegSetValueEx (hKey, TEXT('UseAuthentication'), 0, REG_MULTI_SZ, (const BYTE *)&dwSize, sizeof(DWORD));

                RegFlushKey( hKey );

        }

        if (hKey)

                RegCloseKey (hKey);

 

        方法二是利用在调试连接成功的前提下,在eVC下利用工具中Tools->Remote Registy Editor(WCE500)连接成功后,选择HKEY_LOCAL_MACHINE下的Comm–>FTPD中的参数进行修改,如下图所示:

 

        注册表修改成功以后,然后就可直接调用相关的函数

        BOOL NTLMSetUserInfo( LPTSTR pszUser, LPTSTR pszPassword );

        来添加新的用户名和密码了,该函数定义在Ntlmssp.h 中。具体的设置代码如下:

 

        _tcscpy( szUser, _T( 'Emtronix') );

        _tcscpy( szPassword, _T( '86180660') );

        bResult = NTLMSetUserInfo( szUser, szPassword );

 

        在“Ntlmssp.h”中还包含了有关用户名、密码删除等API函数,用户可根据自身需求调用相关函数。