電子產業(yè)一站式賦能平臺

PCB聯盟網

搜索
查看: 1491|回復: 0
收起左側

學嵌入式用神馬電腦_英創(chuàng)信息技術的整機產品安全性分析

[復制鏈接]

2607

主題

2607

帖子

7472

積分

高級會員

Rank: 5Rank: 5

積分
7472
跳轉到指定樓層
樓主
發(fā)表于 2020-7-22 10:53:12 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
學嵌入式用神馬電腦_英創(chuàng)信息技術的整機產品安全性分析,   

英創(chuàng)公司自2001年開始推出嵌入式工控主板產品至今,已有十一歷史。無數的客戶采用了英創(chuàng)的工控主板作為其產品的核心平臺,從而以更低的開發(fā)代價、更短的開發(fā)時間,把產品推向市場。隨著客戶的廣泛應用,英創(chuàng)公司也在客戶規(guī)模化采購中獲得收益。因此我們自然希望英創(chuàng)客戶的產品能在市場上始終保持其獨特的競爭優(yōu)勢,相應地,提供必要的技術手段,保護客戶基于英創(chuàng)主板的技術投入(主要體現在客戶的應用程序),也變成了我們技術服務的重要方面之一。

英創(chuàng)的工控主板是作為一種通用的產品在市場上銷售的,客戶采用作為基本的平臺,并在其上開發(fā)自己的應用程序,最終構成自己的產品。這里有一種擔心存在,那就是競爭對手是否會直接拷貝客戶應用程序,然后購買相同的主板,從而很容易形成與其競爭的產品。本文試圖從多個方面分析基于英創(chuàng)主板的產品安全性問題,幫助客戶對其產品的安全性能有一個比較全面綜合的評估。就我們對這十多年客戶產品應用的情況來看,采用英創(chuàng)主板的產品的安全性是非常高的,這主要是由于客戶的產品通常都具有以下的壁壘:

1、市場先機的壁壘:

工業(yè)控制領域的市場都是比較專業(yè)性的市場,隨著市場競爭越發(fā)激烈,根據具體的需求,快速搭建產品并進入市場已成為當今產品開發(fā)的趨勢。越來越多的客戶采用英創(chuàng)的工控主板,也正是基于這樣的市場要求。作為希望通過模仿對手的競爭者來說,當看到產品時,表示客戶的產品已經進入市場,已經獲得了市場的先機。這種市場先機所形成的壁壘將大大的阻礙單純的模仿行為。

2、產品價格的壁壘:

絕大多數采用英創(chuàng)工控主板的客戶,都是生存在充分競爭的市場經濟環(huán)境、且為非壟斷性的企業(yè)。充分的市場競爭,往往就意味著產品只能保持正常的收益,而非暴利。如果再考慮到當前“國進民退”的大環(huán)境,則收益水平會更低。但這樣的薄利水平對競爭者來說,則是一種很高的壁壘。

3、整機生產的壁壘:

采用英創(chuàng)主板的產品,都是以整機形式進入市場的。作為整機產品,往往需要滿足很多現場的應用需求,包括元器件選型,PCB布局,現場設備安裝,電磁兼容性問題的處置等等。這些“know-how”問題,不是簡單的模仿能夠獲得的。因此整機產品所體現的技術水準是對競爭者的第一層技術壁壘。

4、主板與程序的綁定:

讓客戶應用程序與英創(chuàng)主板綁定的方法,是防止客戶應用程序被拷貝的最基本的方法。具體操作是:英創(chuàng)在為客戶提供的主板中,燒寫入一個客戶指定的唯一ID號,而客戶的應用程序將向OS提交這個ID號進行認證。若認證成功,應用程序將繼續(xù)正常運行,否則系統(tǒng)將停止運行,導致應用程序也無法運行。具體的調用形式為:

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”);
         }

競爭者若想直接使用客戶應用程序,需要有很強的程序逆向工程的能力,才能修改exe文件使之跳過認證代碼。這樣的“能力”從經營來看,就是成本,就是壁壘。

5、利用平臺保護機制:

客戶還可考慮把應用中已成熟的關鍵算法、關鍵通訊流程寫成獨立的API函數,如BOOL UserCoreFunc(…),然后把這些關鍵API函數加上認證,并構成獨立的動態(tài)連接庫DLL文件,把這個DLL交英創(chuàng)直接封裝到系統(tǒng)內核中。利用內核的防拷貝功能,來達到保護應用程序的目的。DLL中的加密認證形式為:

BOOL UserCoreFunc1(….)
         {
                 if(! KernelIoControl(IOCTL_HAL_CUSTOMER_ID_READ,…))
                 {
                         printf(“User ID authentication failed\r\n”);
                         return FALSE;
                 }
                 // 調用真正的關鍵函數
                 return UserCoreFunc(….);
         }

盡管采用該方法能夠獲得更好的保護,但客戶程序的靈活性降低了。因此,需慎重考慮該方法的應用。

總的來說,由于嵌入式系統(tǒng)的專業(yè)性,其產品的抗模仿的能力還是非常強的。這么多年來我們還沒有得到客戶反映他們的產品被模仿的案例。在所購產品的客戶中,只有少數客戶需要主板與應用程序綁定,也說明了由市場、價格、產品硬件本身等因素所構成的壁壘是非常高的。
回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯系客服 關注微信 下載APP 返回頂部 返回列表