嵌入式系统及内容保护方法转让专利

申请号 : CN201410259364.1

文献号 : CN105224829B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谢思谦阮腾辉

申请人 : 威纶科技股份有限公司

摘要 :

本发明是有关于一种具内容保护能力的嵌入式系统,包含安全集成电路,设有识别钥储存装置,用以储存识别钥;及系统装置,设有系统钥储存装置,用以储存系统钥。系统钥是由识别钥与功能数组进行数学运算而得到。当嵌入式系统要启动功能时,将识别钥与系统钥进行数学运算,因而得到功能数组,据以启动所需求的所述功能。

权利要求 :

1.一种具内容保护能力的嵌入式系统,其特征在于包含:安全集成电路,设有识别钥储存装置,用以储存识别钥;及系统装置,设有系统钥储存装置,用以储存系统钥;

其中该系统钥是由该识别钥与功能数组进行数学运算而得到,该功能数组代表该嵌入式系统所需求的一或多个功能;

当该嵌入式系统要启动所述功能时,将该识别钥与该系统钥进行另一次数学运算,因而得到该功能数组,据以启动所需求的所述功能。

2.根据权利要求1所述的具内容保护能力的嵌入式系统,其特征在于其中该识别钥储存装置包含光罩只读存储器或单次可编程内存。

3.根据权利要求1所述的具内容保护能力的嵌入式系统,其特征在于其中系统钥储存装置包含闪存或电子可抹除可程序只读存储器。

4.根据权利要求1所述的具内容保护能力的嵌入式系统,其特征在于其中该内容包含软件。

5.根据权利要求1所述的具内容保护能力的嵌入式系统,其特征在于其中为了得到该系统钥所进行的数学运算及为了得到该功能数组所进行的另一次数学运算包含加密运算。

6.根据权利要求1所述的具内容保护能力的嵌入式系统,其特征在于其中该功能数组表示为二进制数值,并以位元位置表示所述功能的有效性。

7.根据权利要求1所述的具内容保护能力的嵌入式系统,其特征在于更包含:该嵌入式系统检查该安全集成电路是否存在。

8.根据权利要求1所述的具内容保护能力的嵌入式系统,其特征在于其中为了得到该功能数组而进行的另一次数学运算的步骤更包含:检视为了得到该功能数组而进行的另一次数学运算所得到的功能数组是否为正确。

9.根据权利要求1所述的具内容保护能力的嵌入式系统,其特征在于其中不同嵌入式系统的识别钥彼此不同,且系统钥也彼此不同。

10.根据权利要求1所述的具内容保护能力的嵌入式系统,其特征在于其中同一嵌入式系统的识别钥为固定不变,且其系统钥会因软件升级后而改变。

11.一种嵌入式系统的内容保护方法,其特征在于包含:将识别钥与功能数组进行数学运算以得到系统钥,该功能数组代表该嵌入式系统所需求的一或多个功能;

储存该识别钥在安全集成电路内;

储存该系统钥在系统装置内;及

当该嵌入式系统要启动所述功能时,将该识别钥与该系统钥进行另一次数学运算,因而得到该功能数组,据以启动所需求的所述功能。

12.根据权利要求11所述的嵌入式系统的内容保护方法,其特征在于其中该识别钥储存于光罩只读存储器或单次可编程内存。

13.根据权利要求11所述的嵌入式系统的内容保护方法,其特征在于其中该系统钥储存于闪存或电子可抹除可程序只读存储器。

14.根据权利要求11所述的嵌入式系统的内容保护方法,其特征在于其中该内容包含软件。

15.根据权利要求11所述的嵌入式系统的内容保护方法,其特征在于其中为了得到该系统钥所进行的数学运算及为了得到该功能数组所进行的另一次数学运算包含加密运算。

16.根据权利要求11所述的嵌入式系统的内容保护方法,其特征在于其中该功能数组表示为二进制数值,并以位元位置表示所述功能的有效性。

17.根据权利要求11所述的嵌入式系统的内容保护方法,其特征在于更包含:该嵌入式系统检查该安全集成电路是否存在。

18.根据权利要求11所述的嵌入式系统的内容保护方法,其特征在于其中为了得到该功能数组而进行的另一次数学运算的步骤更包含:检视为了得到该功能数组而进行的另一次数学运算所得到的功能数组是否为正确。

19.根据权利要求11所述的嵌入式系统的内容保护方法,其特征在于其中不同嵌入式系统的识别钥彼此不同,且系统钥也彼此不同。

20.根据权利要求11所述的嵌入式系统的内容保护方法,其特征在于其中同一嵌入式系统的识别钥为固定不变,且其系统钥会因软件升级后而改变。

说明书 :

嵌入式系统及内容保护方法

技术领域

[0001] 本发明是涉及一种内容保护机制,特别是涉及一种嵌入式系统的软件保护架构。

背景技术

[0002] 由于软件开发的成本一般较大于硬件,因此需要使用适当的机制来保护软件,以降低软件被非法使用或复制。图1A显示一种传统的软件保护机制,对于某软件功能(或版本)A会有一对应的通行码A。当通行码A被确认为有效时,才能启动软件功能A。当软件升级为功能B时,如图1B所示,则需要另一对应的新通行码B才能启动软件功能B。用户必须将系统送回工厂以更换为新通行码B,因此造成成本的增加及使用者的不便。
[0003] 为了改善上述的传统软件保护机制(图1A、图1B)当中,用户需将系统送回工厂的不便利,因此有另一种软件保护机制的提出,如图2所例示。在此种软件保护机制中,用户仅使用单一通行码C,不同的软件功能储存有不同的相应码。如果系统内为软件功能C1,当通行码C被确认为有效时,即会启动软件功能C1;如果系统内为软件功能C2,当通行码C被确认为有效时,即会启动软件功能C2。对于图2所示的软件保护机制,软件盗版者(亦即,未合法购买升级软件功能C2者)很容易藉由复制软件功能C2并配合原来的通行码C而非法使用软件功能C2。
[0004] 鉴于传统软件保护机制无法有效防止软件被非法使用或复制,因此亟需提出一种新颖的软件保护机制,以改善传统软件保护机制的缺点。
[0005] 有鉴于上述现有的软件保护机制存在的问题,本发明人基于从事此类产品设计制造多年丰富的实务经验及专业知识,并配合学理的运用,积极加以研究创新,以期创设一种新的嵌入式系统及内容保护方法,能够改进一般现有的软件保护机制,使其更具有实用性。经过不断的研究、设计,并经过反复试作样品及改进后,终于创设出确具实用价值的本发明。

发明内容

[0006] 鉴于上述,本发明的主要目的在于,克服现有的软件保护机制存在的问题,而提出一种具内容保护能力的嵌入式系统,所要解决的技术问题是防止内容被盗用。
[0007] 本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种具内容保护能力的嵌入式系统,包含安全集成电路及系统装置。安全集成电路设有识别钥储存装置,用以储存识别钥。系统装置设有系统钥储存装置,用以储存系统钥。其中系统钥系由识别钥与功能数组进行数学运算而得到,该功能数组代表嵌入式系统所需求的一或多个功能。当嵌入式系统要启动所述功能时,将识别钥与系统钥进行另一次数学运算,因而得到功能数组,据以启动所需求的所述功能。
[0008] 本发明的目的及解决其技术问题还可采用以下技术措施进一步实现。
[0009] 前述的具内容保护能力的嵌入式系统,其中该识别钥储存装置包含光罩只读存储器或单次可编程内存。
[0010] 前述的具内容保护能力的嵌入式系统,其中系统钥储存装置包含闪存或电子可抹除可程序只读存储器。
[0011] 前述的具内容保护能力的嵌入式系统,其中该内容包含软件。
[0012] 前述的具内容保护能力的嵌入式系统,其中为了得到该系统钥所进行的数学运算及为了得到该功能数组所进行的另一次数学运算包含加密运算。
[0013] 前述的具内容保护能力的嵌入式系统,其中该功能数组表示为二进制数值,并以位元位置表示所述功能的有效性。
[0014] 前述的具内容保护能力的嵌入式系统,更包含:该嵌入式系统检查该安全集成电路是否存在。
[0015] 前述的具内容保护能力的嵌入式系统,其中为了得到该功能数组而进行的另一次数学运算的步骤更包含:检视为了得到该功能数组而进行的另一次数学运算所得到的功能数组是否为正确。
[0016] 前述的具内容保护能力的嵌入式系统,其中不同嵌入式系统的识别钥彼此不同,且系统钥也彼此不同。
[0017] 前述的具内容保护能力的嵌入式系统,其中同一嵌入式系统的识别钥为固定不变,且其系统钥会因软件升级后而改变。
[0018] 本发明的目的及解决其技术问题还采用以下技术方案来实现。依据本发明提出的一种嵌入式系统的内容保护方法,包含:将识别钥与功能数组进行数学运算以得到系统钥,该功能数组代表该嵌入式系统所需求的一或多个功能;储存该识别钥在安全集成电路内;储存该系统钥在系统装置内;及当该嵌入式系统要启动所述功能时,将该识别钥与该系统钥进行另一次数学运算,因而得到该功能数组,据以启动所需求的所述功能。
[0019] 本发明的目的及解决其技术问题还可采用以下技术措施进一步实现。
[0020] 前述的嵌入式系统的内容保护方法,其中该识别钥储存于光罩只读存储器或单次可编程内存。
[0021] 前述的嵌入式系统的内容保护方法,其中该系统钥储存于闪存或电子可抹除可程序只读存储器。
[0022] 前述的嵌入式系统的内容保护方法,其中该内容包含软件。
[0023] 前述的嵌入式系统的内容保护方法,其中为了得到该系统钥所进行的数学运算及为了得到该功能数组所进行的另一次数学运算包含加密运算。
[0024] 前述的嵌入式系统的内容保护方法,其中该功能数组表示为二进制数值,并以位元位置表示所述功能的有效性。
[0025] 前述的嵌入式系统的内容保护方法,更包含:该嵌入式系统检查该安全集成电路是否存在。
[0026] 前述的嵌入式系统的内容保护方法,其中为了得到该功能数组而进行的另一次数学运算的步骤更包含:检视为了得到该功能数组而进行的另一次数学运算所得到的功能数组是否为正确。
[0027] 前述的嵌入式系统的内容保护方法,其中不同嵌入式系统的识别钥彼此不同,且系统钥也彼此不同。
[0028] 前述的嵌入式系统的内容保护方法,其中同一嵌入式系统的识别钥为固定不变,且其系统钥会因软件升级后而改变。
[0029] 本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明嵌入式系统及内容保护方法至少具有下列优点及有益效果:本发明将识别钥与功能数组进行数学运算以得到系统钥。当嵌入式系统要启动功能时,将识别钥与系统钥进行数学运算可得到功能数组,据以启动用户所需求的功能。由于不同的嵌入式系统中储存有不同的识别钥与系统钥,因而可以防止内容被盗用。此外,当进行升级时,使用者不需要更换识别钥而可直接使用升级后的功能。
[0030] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

[0031] 图1A与图1B显示一种传统的软件保护机制。
[0032] 图2显示另一种传统的软件保护机制。
[0033] 图3A显示本发明实施例的嵌入式系统的系统方框图。
[0034] 图3B例示于图3A的识别钥储存装置内储存有识别钥,而在系统钥储存装置内储存有系统钥。
[0035] 图3C显示识别钥与系统钥的相应关系。
[0036] 图4显示本发明实施例的嵌入式系统的内容保护方法的流程图。
[0037] 图5分别例示三个用户的嵌入式系统的系统方框图。
[0038] 图6例示本实施例的嵌入式系统应用于软件升级的系统方框图。
[0039] 【主要元件符号说明】
[0040] 300:嵌入式系统            300X:嵌入式系统
[0041] 300Y:嵌入式系统           300Z:嵌入式系统
[0042] 31:安全集成电路           311:识别钥储存装置
[0043] 32:系统装置               321:系统钥储存装置
[0044] 41:安全集成电路是否存在   42:数学运算
[0045] 43:运算结果是否正确       44:判断软件的功能

具体实施方式

[0046] 为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的嵌入式系统及内容保护方法其具体实施方式、方法、特征及其功效,详细说明如后。
[0047] 图3A显示本发明实施例的嵌入式(embedded)系统300的系统方框图,其具有保护内容(例如软件)的能力。在本实施例中,嵌入式系统300主要包含安全集成电路(security IC)31与系统装置32。虽然图3A所示的安全集成电路31与系统装置32为分开的,然而,其也可以整合在一起。
[0048] 安全集成电路31包含有识别钥(ID key)储存装置311,用以储存识别钥。系统装置32包含有系统钥(system key)储存装置321,用以储存系统钥,其相应于识别钥。在本实施例中,识别钥储存装置311可使用光罩只读存储器(Mask ROM)来实施,或者使用单次可编程(one time programming,OTP)内存来实施。系统钥储存装置321可使用闪存(flash)或电子可抹除可程序只读存储器(EEPROM)来实施。
[0049] 图3B例示于识别钥储存装置311内储存有识别钥A,而在系统钥储存装置321内储存有系统钥B。本实施例的识别钥A与系统钥B具有相应关系,但是,一般来说,两者的内容是相异的。图3C显示识别钥A与系统钥B的相应关系。详而言之,根据使用者所需求的一或多个功能F0、F1、F2…Fn,因而指派得到功能数组(function array),其可使用二进制数值来表示。例如,如果用户需求功能F0、F1与F4,则功能数组的值可表示为00…0010011(位0、1、4为“1”,而其他位为“0”)。换句话说,功能数组表示为二进制数值,并以位元位置表示所述功能的有效性。将功能数组与识别钥A进行数学运算,例如加密(encryption)运算,因而得到系统钥B。当嵌入式系统300要启动软件功能时,将识别钥A与系统钥B进行数学运算,例如加密运算,因而可以得到功能数组,据以启动用户所需求的一或多个软件功能。
[0050] 图4显示本发明实施例的嵌入式系统300的内容保护方法的流程图。系统装置32在执行软件之前,在步骤41检查安全集成电路31是否存在。如果存在,则进入步骤42,使用算法(algorithm),例如加密算法,对识别钥A与系统钥B进行数学运算。接着,在步骤43,检视数学运算结果(亦即,功能数组)是否为正确。例如,检视循环冗余检查码(cyclic redundancy check,CRC))是否为正确。如果为正确,则进入步骤44,根据(步骤42的)数学运算结果,以判断使用者需求的为哪一种或多种软件功能。举例而言,如果步骤42所得到的数学运算结果的二进制数值表示为“00…0010011”,经检视其位0、1、4为“1”,因而得知需求的软件功能为F0、F1与F4。
[0051] 图5分别例示三个使用者X、Y、Z的嵌入式系统300X、300Y、300Z的系统方框图。在这个例子中,使用者X的识别钥储存装置311储存有识别钥A1,而系统钥储存装置321则储存有相应的系统钥B1。用户Y的识别钥储存装置311储存有识别钥A2,而系统钥储存装置321则储存有相应的系统钥B2。用户Z的识别钥储存装置311储存有识别钥A3,而系统钥储存装置321则储存有相应的系统钥B3。一般来说,识别钥A1、A2、A3彼此不同,且系统钥B1、B2、B3也彼此不同。根据图5所例示的实施例,由于不同的嵌入式系统300X、300Y、300Z中储存有不同的识别钥与系统钥,因此软件盗版者无法借由复制他人的系统钥或软件功能而非法使用软件。
[0052] 图6例示本实施例的嵌入式系统300应用于软件升级的系统方框图。在这个例子中,软件功能FI的相应系统钥为B1,而升级后的软件功能FII的相应系统钥为B2。当用户合法升级后,其系统钥储存装置321将改为储存系统钥B2,然而识别钥储存装置311仍然储存原来的识别钥A1。
[0053] 根据图6所示实施例,当进行软件升级时,用户不需要更换识别钥(亦即,不需要将嵌入式系统300送回工厂以替换安全集成电路31),而可直接使用升级后的软件功能。此外,如前所述,由于不同的嵌入式系统储存有不同的识别钥与系统钥,因此软件盗版者(亦即,未合法购买升级软件功能者)不容易借由复制而轻易盗用软件。
[0054] 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。