|
学嵌入式用神马电脑_英创信息技术的整机产品安全性分析,
英创公司自2001年开始推出嵌入式工控主板产品至今,已有十一历史。无数的客户采用了英创的工控主板作为其产品的核心平台,从而以更低的开发代价、更短的开发时间,把产品推向市场。随着客户的广泛应用,英创公司也在客户规模化采购中获得收益。因此我们自然希望英创客户的产品能在市场上始终保持其独特的竞争优势,相应地,提供必要的技术手段,保护客户基于英创主板的技术投入(主要体现在客户的应用程序),也变成了我们技术服务的重要方面之一。
英创的工控主板是作为一种通用的产品在市场上销售的,客户采用作为基本的平台,并在其上开发自己的应用程序,最终构成自己的产品。这里有一种担心存在,那就是竞争对手是否会直接拷贝客户应用程序,然后购买相同的主板,从而很容易形成与其竞争的产品。本文试图从多个方面分析基于英创主板的产品安全性问题,帮助客户对其产品的安全性能有一个比较全面综合的评估。就我们对这十多年客户产品应用的情况来看,采用英创主板的产品的安全性是非常高的,这主要是由于客户的产品通常都具有以下的壁垒:
1、市场先机的壁垒:
工业控制领域的市场都是比较专业性的市场,随着市场竞争越发激烈,根据具体的需求,快速搭建产品并进入市场已成为当今产品开发的趋势。越来越多的客户采用英创的工控主板,也正是基于这样的市场要求。作为希望通过模仿对手的竞争者来说,当看到产品时,表示客户的产品已经进入市场,已经获得了市场的先机。这种市场先机所形成的壁垒将大大的阻碍单纯的模仿行为。
2、产品价格的壁垒:
绝大多数采用英创工控主板的客户,都是生存在充分竞争的市场经济环境、且为非垄断性的企业。充分的市场竞争,往往就意味着产品只能保持正常的收益,而非暴利。如果再考虑到当前“国进民退”的大环境,则收益水平会更低。但这样的薄利水平对竞争者来说,则是一种很高的壁垒。
3、整机生产的壁垒:
采用英创主板的产品,都是以整机形式进入市场的。作为整机产品,往往需要满足很多现场的应用需求,包括元器件的选型,PCB布局,现场设备安装,电磁兼容性问题的处置等等。这些“know-how”问题,不是简单的模仿能够获得的。因此整机产品所体现的技术水准是对竞争者的第一层技术壁垒。
4、主板与程序的绑定:
让客户应用程序与英创主板绑定的方法,是防止客户应用程序被拷贝的最基本的方法。具体操作是:英创在为客户提供的主板中,烧写入一个客户指定的唯一ID号,而客户的应用程序将向OS提交这个ID号进行认证。若认证成功,应用程序将继续正常运行,否则系统将停止运行,导致应用程序也无法运行。具体的调用形式为:
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函数加上认证,并构成独立的动态连接库DLL文件,把这个DLL交英创直接封装到系统内核中。利用内核的防拷贝功能,来达到保护应用程序的目的。DLL中的加密认证形式为:
BOOL UserCoreFunc1(….)
{
if(! KernelIoControl(IOCTL_HAL_CUSTOMER_ID_READ,…))
{
printf(“User ID authentication failed\r\n”);
return FALSE;
}
// 调用真正的关键函数
return UserCoreFunc(….);
}
尽管采用该方法能够获得更好的保护,但客户程序的灵活性降低了。因此,需慎重考虑该方法的应用。
总的来说,由于嵌入式系统的专业性,其产品的抗模仿的能力还是非常强的。这么多年来我们还没有得到客户反映他们的产品被模仿的案例。在所购产品的客户中,只有少数客户需要主板与应用程序绑定,也说明了由市场、价格、产品硬件本身等因素所构成的壁垒是非常高的。 |
|