CN101615237A - 可验证嵌入式系统及其验证方法 - Google Patents
可验证嵌入式系统及其验证方法 Download PDFInfo
- Publication number
- CN101615237A CN101615237A CN200910163302A CN200910163302A CN101615237A CN 101615237 A CN101615237 A CN 101615237A CN 200910163302 A CN200910163302 A CN 200910163302A CN 200910163302 A CN200910163302 A CN 200910163302A CN 101615237 A CN101615237 A CN 101615237A
- Authority
- CN
- China
- Prior art keywords
- embedded system
- recognition data
- storage device
- data
- preset identification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
一种验证应用程序在预设系统环境下作业的可验证嵌入式系统及其验证方法。该方法适用在嵌入式系统上,提供包括数个预设识别数据;执行验证程序以读取嵌入式系统中数个系统元件的识别数据;再将识别数据与预设识别数据进行比对,判断每一系统元件的识别数据是否与其相对应的预设识别数据相符;若相符才允许继续执行应用程序中真正提供应用服务的内容程序。
Description
技术领域
本发明是关于一种嵌入式系统及其验证方法,尤其是涉及验证应用程序在预定的嵌入式系统环境下作业的方法。
背景技术
嵌入式系统是为了特定应用功能所设置的运算系统,在嵌入式系统中所运用的程序软件多半也为了所适用的应用功能而另行开发,使研发厂商更重视保护其所开发的程序软件与硬件不被分离而复制到其它的硬件装置中使用。
在防止非法复制软件程序的技术当中,其中一种是采用绑定软件程序及装载此软件的特定硬件装置的方式,用以产生只能在特定硬件上执行所述软件的效果,以维持嵌入式系统的完整性及保护应用程序。
在已知的作法上,是于软件程序一开始执行时,先比对装载该软件的其中一装置的识别码,例如外围控制适配卡(PCI)的厂商识别码(Vendor ID),判断与软件中所记录的识别码是否相同,若相同则允许继续执行该软件。
然而,同一厂商所生产的相同装置的厂商识别码相同,因此即使嵌入式系统中其它的硬设备全部被更换,只要接受比对的装置不变,软件程序仍会判定其是在一预定的嵌入式系统的硬件上执行,因而使得防止软件被盗拷及维护系统完整性的目的无法达成。
发明内容
本发明提供一种嵌入式系统验证方法及可验证嵌入式系统,用以确保应用程序在预设的嵌入式系统环境下运作,防止程序被复制到其它的装置之中执行;同时亦达到维护应用程序所在的系统的完整性的效果。
本发明实施方案提供一种可验证嵌入式系统,搭载有一操作系统。本发明实施例的可验证嵌入式系统包括:一处理器;一网络单元,连接至处理器,具有一网络单元识别数据;以及一储存装置,连接至处理器,具有一储存装置识别数据;其中,当本发明实施例的嵌入式系统启动时,处理器执行一验证程序以读取一网络单元识别数据、一储存装置识别数据以及一操作系统识别数据,并将这些识别数据与本发明实施例的嵌入式系统多个预设识别数据比对,若预设识别数据及读取到的识别数据皆符合,则执行一内容程序于本发明实施例的嵌入式系统。
此外,本发明另一种实施方案还提供一种嵌入式系统的验证方法,以确保应用程序在嵌入式系统上执行。本发明实施例的嵌入式系统验证方法包括:提供嵌入式系统的多个预设识别数据;执行一验证程序,以读取本发明实施例的嵌入式系统的一网络单元识别数据、一储存装置识别数据,以及一操作系统识别数据;比对这些识别数据和预设识别数据;及若读取的识别数据与预设识别数据皆相符,则执行一内容程序于本发明实施例的嵌入式系统。
附图说明
图1为本发明所提供一种可验证嵌入式系统实施例的方块图;
图2为本发明所提供一种可验证嵌入式系统数据架构实施例示意图;
图3为本发明所提供另一种可验证嵌入式系统实施例方块图;
图4为本发明所提供一种嵌入式系统验证方法实施例的流程图;及
图5为本发明所提供一种比对识别数据实施例的流程图。
[主要元件标号说明]
1,1a-b嵌入式系统 10第一储存装置
100操作系统 12第二储存装置
120应用程序 1200验证程序
1202内容程序 14网络单元
16处理器 18存储单元
20基本输入输出系统 40硬件
42中介媒体 44软件
S401~S411流程步骤 S4070~S4074流程步骤
具体实施方式
本发明提供一种嵌入式系统装置及其验证方法,以验证嵌入式系统中各项系统元件的方式,确保应用程序在正确的嵌入式系统上顺利执行。详细实施方式请配合图式参照下列说明。
图1为本发明的一种可验证嵌入式系统实施例的方块图,本实施例的嵌入式系统1可对应用程序进行保护。嵌入式系统1由多个系统元件所组成,包括第一储存装置10、第二储存装置12、网络单元14、处理器16及存储单元18。其中,第一储存装置10搭载有一操作系统100,第二储存装置12则装载有应用程序120。虽然本实施例以两个独立的储存装置分别储存操作系统100以及应用程序120,但本领域技术人员应知道这两者实际上也可以存放于同一个储存装置中。
本实施例的网络单元14例如为一内建网络卡。网络单元14具备有一媒体存取控制地址(MAC address),以做为在网络上识别此网络单元14的信息。
操作系统100存放在第一储存装置10(例如Flash ROM),操作系统100的识别数据包括操作系统100映像文件(image)的建立日期及版本编号。嵌入式系统1常用的操作系统100包括:Windows CE、Windows XP embedded、Embedded Linux、VxWorks等等,不同操作系统的建立日期和版本亦不相同。
此外,装载应用程序120的第二储存装置12亦具有其独特的装置序号(device serial number),与厂商识别码不同的地方,在于每一装置的序号皆不相同,因此不会发生两个以上装置具有相同序号的情形。应用程序120包括二个部分:验证程序1200及内容程序1202。验证程序1200为一应用程序接口(API),用以呼叫函数库(Library)中的函数以验证嵌入式系统1中各个系统元件,判断此项应用程序120是否处在原本预设的系统环境之中。内容程序1202即为该应用程序120实际上所欲提供的应用软件服务,例如文件编辑、行事记录、网络浏览等等,此部分的服务,将于验证完成后供使用者操作使用。
本实施例的存储单元18中记录一验证数据,其中包括预先指定的嵌入式系统1中数个系统元件的预设识别数据。本实施例中例如包括:预设媒体存取控制地址、预设装置序号、预设操作系统日期与版本编号。上述识别数据可由嵌入式系统1的制造或销售厂商,在嵌入式系统1的软、硬件都装设完成后,利用软件程序读取出:(1)网络单元的媒体存取控制地址;(2)储存装置的储存装置序号;以及(3)操作系统的映像文件建立日期与版本编号。再将上述读取到的数据做为所述的预设识别数据,写入存储单元18的系统设定文件(system registry)当中,做为确认原始嵌入式系统1的组成元件的验证数据。其中,存储单元18可为随机存取存储器或非易失性存储器。
此外,本实施例包含一验证程序1200,装载于嵌入式系统1的应用程序120当中。当应用程序120被执行时,处理器16即先行执行验证程序1200,亦即呼叫一特定的函数,以读取当时嵌入式系统1的软硬件识别数据,例如:(1)网络单元14的媒体存取控制地址;(2)第二储存装置12的储存装置序号;及(3)操作系统100的映像文件建立日期与版本编号。
此外,验证程序1200亦读取被存在存储单元18系统设定文件中的预设验证数据,并与先前读取到的识别数据进行比对。本实施例的验证程序1200可设计成依照验证数据被记录的架构,按序读取出识别数据,以便与预设识别数据一一对照,判断相对应的识别数据是否相符,例如:比对第二储存装置12的储存装置序号是否与预设储存装置序号相同。若不相同,即可得知进行验证当时,应用程序120并非装载在嵌入式系统1原始预设的储存装置中。另外两类识别数据的比对亦然,若验证程序1200所读取到的媒体存取控制地址与预设媒体存取控制地址不同,或操作系统100的映像文件建立日期与版本编号与预设操作系统日期与版本编号不同,即表示系统元件已被更换、或应用程序120已被复制到其它系统中。
经过验证程序1200比对验证数据中的预设识别数据及识别数据后,若有其中任一项数据不相符,即不允许再继续执行内容程序1202,例如:由验证程序1200关闭整个应用程序120。唯有每一项识别数据皆符合相对应的预设识别数据的情况下,内容程序1202才会被执行。
根据上述方式,即可确保应用程序120唯有装载在预设的嵌入式系统1之中方能顺利提供应用服务,即可保护应用程序120不被非法复制或搬移到其它的设备上;同时,也由于对嵌入式系统1的多项系统元件同时进行验证,也能维护嵌入式系统1的完整性。
在上述实施例中,以媒体存取控制地址、操作系统及第二储存装置三者的识别数据为例的原因在于,通过应用程序120中的验证程序1200来验证上述系统元件的识别数据,可达到完整保护嵌入式系统1的硬件、软件及管理此二者的中介媒体。请参阅图2,嵌入式系统1a的组成可划分为硬件40层面、软件44层面,以及介于两者之间,用于管理及协调软、硬件的资源分配的中介媒体42层面。
验证网络单元14的媒体存取控制地址、及储存装置序号,即保护了嵌入式系统1a的硬件40层面(如:处理器16及各储存装置);验证操作系统100的映像文件建立日期与版本编号,则确保控制整个嵌入式系统1a运作的中介媒体42的正确性;而通过验证程序1200检验嵌入式系统1的系统环境,即是保护了嵌入式系统1a的软件44层面(如:应用程序120)。以此种同时验证系统软、硬件及中介媒体的手段,即使只更换了其中一项系统元件,也会造成应用程序120无法提供应用服务的结果,大幅增加应用程序120被装载在其它装置或系统上执行的困难度,能较已知手段更有效地防止应用程序120从预设的嵌入式系统1a中遭分离或复制,也更能保障嵌入式系统的完整性。
请参阅图3所显示的另一种可验证嵌入式系统1b实施例方块图,其中包括了存放在非易失性存储器中的一基本输入输出系统(BIOS)20。在本实施例中,上述的预设识别数据除了可记录在存储单元18的系统注册文件之外,亦可事先写入基本输入输出系统20当中。当嵌入式系统1b开机时,上述预设识别数据即会被读取。验证程序1200可呼叫函数到基本输入输出系统20中读取预设识别数据。
图4为本发明所提供的一种嵌入式系统验证方法实施例的流程图,利用全面性地验证安装了受保护的应用程序的嵌入式系统的方式,确认应用程序处于一未经变更的嵌入式系统中,才允许程序执行。
首先于一嵌入式系统提供包含数个预设识别数据的一组验证数据(S401),本实施例的验证数据包括了预设媒体存取控制地址、预设装置序号,及预设操作系统日期及版本编号。验证数据可预先记录在嵌入式系统的系统设定文件中或是基本输入输出系统。
应用程序包括二部分程序:其一为验证程序,另一部分为内容程序。当应用程序被执行时,验证程序可自函数库呼叫函数,以读取当时嵌入式系统的系统元件的识别数据(S403)。识别数据包含组成嵌入式系统的软、硬件或中介媒体的识别数据。而本实施例中的识别数据包括:嵌入式系统网络单元的媒体存取控制地址、嵌入式系统存放应用程序的第二储存装置的储存装置序号,以及嵌入式系统所搭载操作系统映像文件的建立日期与版本编号。上述识别数据皆为所属系统元件的独特识别数据,可用来作为判别每一系统元件的“身份”的特征。
接着,验证程序将识别数据与其相对应的预设识别数据分别比对(S405),以判断应用程序被执行时,由验证程序所取得的识别数据是否符合预设识别数据中的记录(S407)。
若比对的结果发现其中有任一者不相符,表示应用程序并未安装在预设的嵌入式系统上,因此不允许执行后续的内容程序(S409);反之,若经比对后,每一项识别数据都正确对应到预设识别数据,则可确认应用程序系安装在预设的嵌入式系统当中,则允许继续执行应用程序中的内容程序(S411)。
以本实施例的预设识别数据及识别数据为例,在判断识别数据与预设识别数据是否相符的步骤中(S407),验证程序将一一进行下列比对(参照图5):判断网络单元的媒体存取控制地址与预设媒体存取控制地址是否相同(S4070),若不相同即停止执行后续程序(S409);若相同则比较储存装置的储存装置序号与预设装置序号是否相同(S4072),若不相同亦停止(S409);若仍相同则继续比较操作系统映像文件建立日期、版本编号与预设操作系统日期及版本编号是否完全相符(S4074),若不同也需停止(S409),反之若完全相同,则完成全部的比对判断,允许继续执行内容程序(S411)。
然而上述步骤S4070到S4074的执行顺序并无限制,只要确定三类识别数据皆经过验证即可,而经比对发现有不相符的情况时,除了停止执行后续程序外,还可发出警示音加以提示。
用以验证系统元件的识别数据不限于上述各实施例中所示的项目,为了更完整保障应用程序所在的执行环境未经改变,还可更进一步为处理器嵌入独特的一句柄,并且将处理器的预设处理器句柄也作为验证数据其中之一,以供验证程序进行验证时,更读取处理器的句柄,以判断处理器是否被更换为其它型号或其它厂牌的设备。
此外,所述验证数据亦可于嵌入式系统出厂时,即登录在一远程数据库(图未示)当中,嵌入式系统的处理器执行验证程序时,经由网络单元连接到远程数据库读取相关的预设识别数据,再加以比对。
经由上述所揭露的嵌入式系统验证方法及可验证嵌入式系统,以全面性验证嵌入式系统的软、硬件及中介媒体的手段,除可确保应用程序不受非法的复制搬移之外,同时也保障嵌入式系统的完整性,避免系统中各项系统元件被更换为其它的替代装置,影响系统的运作效能及安全性。
上述各实施例所揭露的装置、元件等项目仅为说明本发明实施方式的例示,并非用以限缩本发明所适用的范畴,如有其它符合本发明的精神与未实质改变本发明的技术手段者,皆属本发明所涵盖保护的范围。
Claims (20)
1.一种嵌入式系统验证方法,该嵌入式系统搭载操作系统,该嵌入式系统包括网络单元、处理器、及储存装置,该方法包括:
提供该嵌入式系统的多个预设识别数据;
执行验证程序,以读取该嵌入式系统中的网络单元识别数据、储存装置识别数据以及操作系统识别数据;
比对该等识别数据和该等预设识别数据;及
若该等识别数据与该等预设识别数据皆相符,则执行内容程序。
2.根据权利要求1所述的方法,其中,该网络单元识别数据为该网络单元的媒体存取控制地址。
3.根据权利要求1所述的方法,其中,该储存装置识别数据为该储存装置的储存装置序号。
4.根据权利要求1所述的方法,其中,该操作系统识别数据为该操作系统的映像文件建立日期及版本编号。
5.根据权利要求1所述的方法,其中,该等预设识别数据包括:预设媒体存取控制地址、预设装置序号、及预设操作系统日期及版本编号。
6.根据权利要求1所述的方法,其中还包括比对该处理器的句柄与预设处理器句柄。
7.根据权利要求1所述的方法,其中还包括:
若一个以上的该等识别数据与其相对应的该预设识别数据不相符,停止执行该应用程序。
8.根据权利要求1所述的方法,其中该等预设识别数据记录于该嵌入式系统的存储单元。
9.根据权利要求1所述的方法,其中该等预设识别数据记录于该嵌入式系统的基本输入输出系统。
10.根据权利要求1所述的方法,其中还包含至远程数据库存取该等预设识别数据。
11.根据权利要求1所述的方法,其中该验证程序与该内容程序储存于该储存装置。
12.一种可验证嵌入式系统,搭载操作系统,该嵌入式系统包括:
处理器;
网络单元,连接至该处理器,该网络单元具有网络单元识别数据;及
储存装置,连接至该处理器,该储存装置具有储存装置识别数据;
其中,当该嵌入式系统启动时,该处理器执行验证程序,以读取该网络单元识别数据、该储存装置识别数据以及该操作系统的操作系统识别数据,并将该等识别数据与该嵌入式系统多个预设识别数据比对,若该等预设识别数据及该等识别数据皆符合,则于该嵌入式系统执行内容程序。
13.根据权利要求12所述的系统,其中,该网络单元识别数据为该网络单元的媒体存取控制地址。
14.根据权利要求12所述的系统,其中,该储存装置识别数据为该储存装置的储存装置序号。
15.根据权利要求12所述的系统,其中,该操作系统识别数据为该操作系统的映像文件建立日期及版本编号。
16.根据权利要求12所述的系统,其中该等预设识别数据包括:预设媒体存取控制地址、预设装置序号、及预设操作系统日期及版本编号。
17.根据权利要求12所述的系统,其中该验证程序与该内容程序储存于该储存装置。
18.根据权利要求12所述的系统,其中,该嵌入式系统还包括:
基本输入输出系统,该等预设识别数据储存于该基本输入输出系统。
19.根据权利要求12所述的系统,其中,该嵌入式系统还包括:
存储单元,该等预设验证数据以系统注册文件型式储存于该存储单元。
20.根据权利要求12所述的系统,其中该嵌入式系统通过该网络单元,经由网络至远程数据库存取该等预设识别数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910163302A CN101615237A (zh) | 2009-08-11 | 2009-08-11 | 可验证嵌入式系统及其验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910163302A CN101615237A (zh) | 2009-08-11 | 2009-08-11 | 可验证嵌入式系统及其验证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101615237A true CN101615237A (zh) | 2009-12-30 |
Family
ID=41494870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910163302A Pending CN101615237A (zh) | 2009-08-11 | 2009-08-11 | 可验证嵌入式系统及其验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101615237A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915409A (zh) * | 2012-09-11 | 2013-02-06 | 中国电力科学研究院 | 一种应用于电能表的软件备案与比对仪及其实现方法 |
CN103105783A (zh) * | 2011-11-15 | 2013-05-15 | 晨星软件研发(深圳)有限公司 | 嵌入式元件与控制方法 |
CN104021011A (zh) * | 2014-05-09 | 2014-09-03 | 苏州汇川技术有限公司 | 嵌入式设备程序升级系统及方法 |
CN104683287A (zh) * | 2013-11-26 | 2015-06-03 | 国际商业机器公司 | 企业网络中为了数据外泄保护而解密文件的方法与装置 |
CN107077342A (zh) * | 2014-12-01 | 2017-08-18 | 惠普发展公司有限责任合伙企业 | 固件模块运行权限 |
US10607016B2 (en) | 2012-12-28 | 2020-03-31 | International Business Machines Corporation | Decrypting files for data leakage protection in an enterprise network |
-
2009
- 2009-08-11 CN CN200910163302A patent/CN101615237A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103105783A (zh) * | 2011-11-15 | 2013-05-15 | 晨星软件研发(深圳)有限公司 | 嵌入式元件与控制方法 |
CN103105783B (zh) * | 2011-11-15 | 2016-04-20 | 晨星软件研发(深圳)有限公司 | 嵌入式元件与控制方法 |
CN102915409A (zh) * | 2012-09-11 | 2013-02-06 | 中国电力科学研究院 | 一种应用于电能表的软件备案与比对仪及其实现方法 |
CN102915409B (zh) * | 2012-09-11 | 2016-07-06 | 中国电力科学研究院 | 一种应用于电能表的软件备案与比对仪及其实现方法 |
US10607016B2 (en) | 2012-12-28 | 2020-03-31 | International Business Machines Corporation | Decrypting files for data leakage protection in an enterprise network |
CN104683287A (zh) * | 2013-11-26 | 2015-06-03 | 国际商业机器公司 | 企业网络中为了数据外泄保护而解密文件的方法与装置 |
CN104021011A (zh) * | 2014-05-09 | 2014-09-03 | 苏州汇川技术有限公司 | 嵌入式设备程序升级系统及方法 |
CN107077342A (zh) * | 2014-12-01 | 2017-08-18 | 惠普发展公司有限责任合伙企业 | 固件模块运行权限 |
CN107077342B (zh) * | 2014-12-01 | 2020-05-19 | 惠普发展公司有限责任合伙企业 | 固件模块运行权限 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4404940B2 (ja) | カスタムソフトウェア画像をコンピュータシステムへ供給する方法およびシステム | |
US7831838B2 (en) | Portion-level in-memory module authentication | |
US8402269B2 (en) | System and method for controlling exit of saved data from security zone | |
CN101615237A (zh) | 可验证嵌入式系统及其验证方法 | |
JP4628149B2 (ja) | アクセス制御装置及びアクセス制御方法 | |
US5828831A (en) | System for preventing unauthorized use of a personal computer and a method therefore security function, and methods of installing and detaching a security device to/from a computer | |
CN100524333C (zh) | 防止非法使用软件的方法 | |
CN103425909B (zh) | 控制系统、控制装置及程序执行控制方法 | |
US7971017B1 (en) | Memory card with embedded identifier | |
CN102077204B (zh) | 安全内存管理系统和方法 | |
US20100050257A1 (en) | Confirmation method of api by the information at call-stack | |
CN103678991A (zh) | 多线程处理器中的全局寄存器保护 | |
CN101213557A (zh) | 限制操作系统及其它软件的安装的反骇客保护 | |
CN105786404A (zh) | 一种Flash存储器的保护方法和装置 | |
CN104871173A (zh) | 监视装置和监视方法 | |
CN102473223A (zh) | 信息处理装置以及信息处理方法 | |
CN102495986A (zh) | 计算机系统中实现避免加密数据被盗用的调用控制方法 | |
CN101785239B (zh) | 基于密钥的隐藏分区系统 | |
JP2023543596A (ja) | 顧客データ処理のためのシステムおよび方法 | |
CN106919865B (zh) | 非易失性存储器数据加密系统 | |
CN100507850C (zh) | 一种借助USB设备启动在Windows操作系统中嵌入内核驱动程序的方法 | |
CN112565891B (zh) | 基于智能电视不同存储器件的密钥烧录和密钥匹配方法 | |
US20150149703A1 (en) | Apparatuses for securing program code stored in a non-volatile memory | |
CN1308882C (zh) | 开放式功能动态集成的智能卡系统 | |
US20190205528A1 (en) | Automated software application verification system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20091230 |