采用英創公司的EM9280工控主板搭建的客戶整機產品,由于EM9280是市場上的標準化產品,整機客戶會面對保護自身知識產權這一問題,主要是針對如何保護客戶自己的應用程序的問題。本文將詳細介紹客戶如何在EM9280通用板卡上進行用戶加密認證,從而達到保護應用程序的目的。
本文認為需要進行應用程序加密的客戶,已完全掌握了用Mfgtools燒寫EM9280內核文件的方法。對這方面還不了解的客戶,請參考光盤資料《EM9280內核燒寫說明》。
EM9280產品用戶加密的流程如下:
1、燒制加密碼到EM9280板卡中。
EM9280支持的加密碼長度從8字節到128KB字節。
1)用戶可自己自行定義加密碼,其長度最小為8字節,最長不超過128KB字節,并將相應的加密碼生成為一個二進制文件:uid.nb0。
2)將生成好的uid.nb0文件復制到燒制EM9280內核文件的相關目錄。
MfgToolsProfilesMX28 WinCE UpdateOS firmwareEM9280
3)修改MfgToolsProfilesMX28 WinCE UpdateOS firmwareucl.xml文件內容,增加燒制密碼文件的操作。
Notity device to prepare receiving a raw data file with specified starting address.
Sending a user id file for authentication.
write userid.
在光盤的“燒寫工具及內核”目錄中,根據不同的LCD分辨率,提供了可三個支持燒寫用戶ID的xml文件如下:
MfgToolsProfilesMX28 WinCE UpdateOS firmwareucl_480272_uid.xml
MfgToolsProfilesMX28 WinCE UpdateOS firmwareucl_640480_uid.xml
MfgToolsProfilesMX28 WinCE UpdateOS firmwareucl_800480_uid.xml
4)一般客戶可直接點擊燒寫批處理文件:
EM9280_480272_uid.bat
EM9280_640480_uid.bat
EM9280_800480_uid.bat
即可進行EM9280帶有用戶加密碼的自動燒寫。對有經驗的客戶,也可參考“3)”中的說明,自行修改ucl.xml文件,然后直接啟動Mfgtools進行燒寫。具體燒寫的方法請參見文檔《EM9280內核燒寫說明》一文。需要注意的是,每次修改了ucl.xml后,必須重新啟動MfgTools.exe程序。
2、應用程序中增加對于加密碼的認證判斷,從而達到保護應用程序的目的。
英創公司提供了一個對加密碼進行認證的函數,該函數通過調用IOCTL進行認證,如果認證通過則函數很快返回,如果認證失敗系統將進入死循環狀態。
#include 'STDAFX.H'
#include 'WINIOCTL.H''WINIOCTL.H'
#include 'STOREMGR.H'
#define IOCTL_VERDOR_FLASH_BASE 2048
#define IOCTL_DISK_AUTHENTICATIONCTL_CODE(FILE_DEVICE_DISK, IOCTL_VERDOR_FLASH_BASE + 0x14, METHOD_BUFFERED, FILE_ANY_ACCESS)
/*//////////////////////////////////////////////////////////
功能描述:對用戶加密的ID數據進行驗證
輸入參數:
pData -- 用戶驗證的加密ID數據。
dwLength -- 用戶驗證加密數據的長度,范圍:~128K字節
返回值:
TRUE -- 驗證通過
-- 驗證失敗, 函數不返回。
///////////////////////////////////////////////////////////*/
BOOL UserAuthentication(LPBYTE pData, DWORD dwLength)
{
BOOL ret = FALSE;
HANDLE hStore;
hStore = OpenStore( _T('DSK1:') );
if( hStore==INVALID_HANDLE_VALUE )
{
printf( 'OpenStore NandFlash Error
' );
return ret;
}
// do security check
ret = DeviceIoControl(
hStore,
IOCTL_DISK_AUTHENTICATION,
(PBYTE)pData,
dwLength,
NULL,
NULL,
NULL,
NULL);
CloseHandle( hStore );
return ret;
}
-
嵌入式主板
+關注
關注
7文章
6100瀏覽量
36294
發布評論請先 登錄
科普|信創是什么?一文讀懂“信息技術應用創新”戰略

2025第二屆教育信息技術應用創新大賽正式開賽
信創浪潮下,國產主板有什么新的發展機遇?

龍芯中科榮獲2024年度信息技術應用創新工作委員會卓越貢獻成員單位
芯盛智能榮獲2024年信息技術應用創新工作委員會卓越貢獻成員單位
飛騰助力首屆教育信息技術應用創新大賽圓滿落幕
有方科技參編的信息技術團體標準發布
龍芯中科助力2024首屆教育信息技術應用創新大賽成功舉辦
拓維信息參與牽頭組建!長沙新一代信息技術產教聯合體正式獲批

中科創達榮獲2024年軟件和信息技術服務優秀企業
信創國產化背景下的工控主板發展現狀
加速鯤鵬落地!拓維信息信創遷移工具榮獲鯤鵬原生開發技術認證

評論