|
學(xué)嵌入式用神馬電腦_英創(chuàng)信息技術(shù)的整機產(chǎn)品安全性分析,
英創(chuàng)公司自2001年開始推出嵌入式工控主板產(chǎn)品至今,已有十一歷史。無數(shù)的客戶采用了英創(chuàng)的工控主板作為其產(chǎn)品的核心平臺,從而以更低的開發(fā)代價、更短的開發(fā)時間,把產(chǎn)品推向市場。隨著客戶的廣泛應(yīng)用,英創(chuàng)公司也在客戶規(guī);少徶蝎@得收益。因此我們自然希望英創(chuàng)客戶的產(chǎn)品能在市場上始終保持其獨特的競爭優(yōu)勢,相應(yīng)地,提供必要的技術(shù)手段,保護客戶基于英創(chuàng)主板的技術(shù)投入(主要體現(xiàn)在客戶的應(yīng)用程序),也變成了我們技術(shù)服務(wù)的重要方面之一。
英創(chuàng)的工控主板是作為一種通用的產(chǎn)品在市場上銷售的,客戶采用作為基本的平臺,并在其上開發(fā)自己的應(yīng)用程序,最終構(gòu)成自己的產(chǎn)品。這里有一種擔(dān)心存在,那就是競爭對手是否會直接拷貝客戶應(yīng)用程序,然后購買相同的主板,從而很容易形成與其競爭的產(chǎn)品。本文試圖從多個方面分析基于英創(chuàng)主板的產(chǎn)品安全性問題,幫助客戶對其產(chǎn)品的安全性能有一個比較全面綜合的評估。就我們對這十多年客戶產(chǎn)品應(yīng)用的情況來看,采用英創(chuàng)主板的產(chǎn)品的安全性是非常高的,這主要是由于客戶的產(chǎn)品通常都具有以下的壁壘:
1、市場先機的壁壘:
工業(yè)控制領(lǐng)域的市場都是比較專業(yè)性的市場,隨著市場競爭越發(fā)激烈,根據(jù)具體的需求,快速搭建產(chǎn)品并進入市場已成為當(dāng)今產(chǎn)品開發(fā)的趨勢。越來越多的客戶采用英創(chuàng)的工控主板,也正是基于這樣的市場要求。作為希望通過模仿對手的競爭者來說,當(dāng)看到產(chǎn)品時,表示客戶的產(chǎn)品已經(jīng)進入市場,已經(jīng)獲得了市場的先機。這種市場先機所形成的壁壘將大大的阻礙單純的模仿行為。
2、產(chǎn)品價格的壁壘:
絕大多數(shù)采用英創(chuàng)工控主板的客戶,都是生存在充分競爭的市場經(jīng)濟環(huán)境、且為非壟斷性的企業(yè)。充分的市場競爭,往往就意味著產(chǎn)品只能保持正常的收益,而非暴利。如果再考慮到當(dāng)前“國進民退”的大環(huán)境,則收益水平會更低。但這樣的薄利水平對競爭者來說,則是一種很高的壁壘。
3、整機生產(chǎn)的壁壘:
采用英創(chuàng)主板的產(chǎn)品,都是以整機形式進入市場的。作為整機產(chǎn)品,往往需要滿足很多現(xiàn)場的應(yīng)用需求,包括元器件的選型,PCB布局,現(xiàn)場設(shè)備安裝,電磁兼容性問題的處置等等。這些“know-how”問題,不是簡單的模仿能夠獲得的。因此整機產(chǎn)品所體現(xiàn)的技術(shù)水準(zhǔn)是對競爭者的第一層技術(shù)壁壘。
4、主板與程序的綁定:
讓客戶應(yīng)用程序與英創(chuàng)主板綁定的方法,是防止客戶應(yīng)用程序被拷貝的最基本的方法。具體操作是:英創(chuàng)在為客戶提供的主板中,燒寫入一個客戶指定的唯一ID號,而客戶的應(yīng)用程序?qū)⑾騉S提交這個ID號進行認(rèn)證。若認(rèn)證成功,應(yīng)用程序?qū)⒗^續(xù)正常運行,否則系統(tǒng)將停止運行,導(dǎo)致應(yīng)用程序也無法運行。具體的調(diào)用形式為:
if(!KernelIoControl(IOCTL_HAL_CUSTOMER_ID_READ,
&dwUserID, // 輸入32-bit User ID號
sizeof(dwUserID), // dwUserID的變量長度
NULL, 0, // 無需返回
NULL))
{
printf(“User ID authentication failed\r\n”);
}
競爭者若想直接使用客戶應(yīng)用程序,需要有很強的程序逆向工程的能力,才能修改exe文件使之跳過認(rèn)證代碼。這樣的“能力”從經(jīng)營來看,就是成本,就是壁壘。
5、利用平臺保護機制:
客戶還可考慮把應(yīng)用中已成熟的關(guān)鍵算法、關(guān)鍵通訊流程寫成獨立的API函數(shù),如BOOL UserCoreFunc(…),然后把這些關(guān)鍵API函數(shù)加上認(rèn)證,并構(gòu)成獨立的動態(tài)連接庫DLL文件,把這個DLL交英創(chuàng)直接封裝到系統(tǒng)內(nèi)核中。利用內(nèi)核的防拷貝功能,來達到保護應(yīng)用程序的目的。DLL中的加密認(rèn)證形式為:
BOOL UserCoreFunc1(….)
{
if(! KernelIoControl(IOCTL_HAL_CUSTOMER_ID_READ,…))
{
printf(“User ID authentication failed\r\n”);
return FALSE;
}
// 調(diào)用真正的關(guān)鍵函數(shù)
return UserCoreFunc(….);
}
盡管采用該方法能夠獲得更好的保護,但客戶程序的靈活性降低了。因此,需慎重考慮該方法的應(yīng)用。
總的來說,由于嵌入式系統(tǒng)的專業(yè)性,其產(chǎn)品的抗模仿的能力還是非常強的。這么多年來我們還沒有得到客戶反映他們的產(chǎn)品被模仿的案例。在所購產(chǎn)品的客戶中,只有少數(shù)客戶需要主板與應(yīng)用程序綁定,也說明了由市場、價格、產(chǎn)品硬件本身等因素所構(gòu)成的壁壘是非常高的。 |
|