? WinCE工控主板的网络安全管理--技术天地

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函數,用戶可根據自身需求調用相關函數。