采用英創(chuàng)公司的EM9280工控主板搭建的客戶整機產(chǎn)品,由于EM9280是市場上的標準化產(chǎn)品,整機客戶會面對保護自身知識產(chǎn)權(quán)這一問題,主要是針對如何保護客戶自己的應(yīng)用程序的問題。本文將詳細介紹客戶如何在EM9280通用板卡上進行用戶加密認證,從而達到保護應(yīng)用程序的目的。
本文認為需要進行應(yīng)用程序加密的客戶,已完全掌握了用Mfgtools燒寫EM9280內(nèi)核文件的方法。對這方面還不了解的客戶,請參考光盤資料《EM9280內(nèi)核燒寫說明》。
EM9280產(chǎn)品用戶加密的流程如下:
1、燒制加密碼到EM9280板卡中。
EM9280支持的加密碼長度從8字節(jié)到128KB字節(jié)。
1)用戶可自己自行定義加密碼,其長度最小為8字節(jié),最長不超過128KB字節(jié),并將相應(yīng)的加密碼生成為一個二進制文件:uid.nb0。
2)將生成好的uid.nb0文件復(fù)制到燒制EM9280內(nèi)核文件的相關(guān)目錄。
MfgToolsProfilesMX28 WinCE UpdateOS firmwareEM9280
3)修改MfgToolsProfilesMX28 WinCE UpdateOS firmwareucl.xml文件內(nèi)容,增加燒制密碼文件的操作。
Notity device to prepare receiving a raw data file with specified starting address.
Sending a user id file for authentication.
write userid.
在光盤的“燒寫工具及內(nèi)核”目錄中,根據(jù)不同的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帶有用戶加密碼的自動燒寫。對有經(jīng)驗的客戶,也可參考“3)”中的說明,自行修改ucl.xml文件,然后直接啟動Mfgtools進行燒寫。具體燒寫的方法請參見文檔《EM9280內(nèi)核燒寫說明》一文。需要注意的是,每次修改了ucl.xml后,必須重新啟動MfgTools.exe程序。
2、應(yīng)用程序中增加對于加密碼的認證判斷,從而達到保護應(yīng)用程序的目的。
英創(chuàng)公司提供了一個對加密碼進行認證的函數(shù),該函數(shù)通過調(diào)用IOCTL進行認證,如果認證通過則函數(shù)很快返回,如果認證失敗系統(tǒng)將進入死循環(huán)狀態(tài)。
#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數(shù)據(jù)進行驗證
輸入?yún)?shù):
pData -- 用戶驗證的加密ID數(shù)據(jù)。
dwLength -- 用戶驗證加密數(shù)據(jù)的長度,范圍:~128K字節(jié)
返回值:
TRUE -- 驗證通過
-- 驗證失敗, 函數(shù)不返回。
///////////////////////////////////////////////////////////*/
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;
}
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6107瀏覽量
37175
發(fā)布評論請先 登錄
龍芯中科攜手五所高校加速構(gòu)建自主信息技術(shù)人才體系
Microchip ATECC608A:高性能加密認證芯片的全面剖析
探索ATECC608B:高安全性加密認證設(shè)備的卓越之選
龍芯中科成功舉辦2025信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)教融合交流會
龍芯中科助力2025教育信息技術(shù)應(yīng)用創(chuàng)新大賽成功舉辦
誠邁科技信創(chuàng)電腦助力2025第二屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽圓滿收官
寶馬南京信息技術(shù)有限公司開業(yè)
加密算法的應(yīng)用
易華錄入選國家級信息技術(shù)應(yīng)用創(chuàng)新典型解決方案
“信息技術(shù)應(yīng)用產(chǎn)學(xué)協(xié)同人才培養(yǎng)行動計劃”正式發(fā)布,誠邁科技入選首批參與單位
佛瑞亞如何通過信息技術(shù)推動業(yè)務(wù)增長
飛騰主板為信創(chuàng)產(chǎn)業(yè)發(fā)展提高硬實力
DEKRA德凱成為沙特通信和信息技術(shù)設(shè)備技術(shù)法規(guī)認證機構(gòu)
科普|信創(chuàng)是什么?一文讀懂“信息技術(shù)應(yīng)用創(chuàng)新”戰(zhàn)略
英創(chuàng)信息技術(shù)EM9280加密認證使用說明
評論