应用程序保护系统及方法

文档序号:6574817阅读:267来源:国知局
专利名称:应用程序保护系统及方法
技术领域
本发明是有关于一种应用程序保护系统及方法,且特别有关于一种提供硬件保护机制的应用程序保护系统及方法。
背景技术
为了保护知识产权,一些应用程序通常会限定其使用的装置,以避免应用程序被复制到不同的主机上使用。应用程序的保护可以是采用硬件保护机制。已知地,硬件保护机制可以透过搭配接口模块(Dongle)与可信赖平台模块(Trusted PlatformModule,TPM)的使用,来避免应用程序同时在不同的主机上使用。
对于接口模块而言,接口模块中会记录相应应用程序的确认数据,如授权信息或序列码。接口模块必须耦接至安装此应用程序的主机。当应用程序执行时,应用程序会自接口模块中读取数据,以确认接口模块中的数据是否是有效的。若是,则继续执行应用程序。若否,则不允许应用程序继续执行。可信赖平台模块是安装于主机的主机板上。可信赖平台模块中可以储存一凭据或金钥。类似地,凭据或金钥可以用来判断是否执行应用程序。
对于已知应用程序保护机制而言,接口模块或应用程序中的保护码是非常容易被移除的。此外,接口模块是非常容易遗失的,或是被其他人取走。另外,由于可信赖平台模块要求系统输入输出系统(BIOS)的支持,大部分目前的主机都必须升级其系统输入输出系统来支持可信赖平台模块。对于使用者或厂商而言都是非常不便的。

发明内容
有鉴于此,本发明提供应用程序保护系统及方法。
本发明实施例的应用程序保护系统至少包括一安全平台装置。安全平台装置包括一储存单元与一处理单元。储存单元包括一根安全金钥与一应用程序安全金钥。安全平台装置自一应用程序接收一特定金钥。处理单元利用根安全金钥加密特定金钥,且判断加密后的特定金钥是否符合应用程序安全金钥。若是,允许应用程序执行。
本发明实施例的应用程序保护方法,适用于具有一根安全金钥与一应用程序安全金钥的一安全平台装置。首先,自一应用程序接收一特定金钥。利用根安全金钥加密特定金钥,且判断加密后的特定金钥是否符合应用程序安全金钥。若是,允许应用程序执行。
本发明上述方法可以透过程序码方式收录于实体介质中。当程序码被机器载入且执行时,机器变成用以实行本发明的装置。
本发明所述的应用程序保护系统及方法,配合无线射频识别码的应用,可确保安全平台装置的最新有效状态,以有效保护应用程序。


图1为一示意图是显示依据本发明实施例的应用程序保护系统。
图2为一示意图是显示依据本发明实施例的储存单元。
图3为一流程图是显示依据本发明实施例的应用程序保护方法。
图4为一流程图是显示依据本发明实施例的数据储存方法。
图5为一流程图是显示依据本发明实施例的数据存取方法。
图6为一流程图是显示依据本发明实施例的安全检查方法。
图7为一流程图是显示依据本发明实施例的无线射频识别码确认方法。
具体实施例方式
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附图示,详细说明如下。
图1显示依据本发明实施例的应用程序保护系统。
如图所示,依据本发明实施例的应用程序保护系统1000包括一应用程序1100与一安全平台装置1200。注意的是,安全平台装置1200耦接至执行应用程序1100的主机(未显示)。在一些实施例中,主机例如是一个人计算机或是一服务器,包含有运算单元,存储器等装置,可以执行各种应用程序以达成该应用程序所设计的用途。安全平台装置1200可以耦接于主机的连接端口,或是设置于主机的主机板上。安全平台装置1200至少包括一处理单元1210、一储存单元1220与一无线射频识别码(RFID)读取器1230。处理单元1210是用以执行本发明的应用程序保护方法,其细节将于后进行说明。
储存单元1220是用以储存应用程序1100与安全平台装置1200的相关数据。图2显示依据本发明实施例的储存单元。储存单元1220包括一根安全金钥1221、一系统组态区1222、一应用程序安全金钥1223与一安全区1224。根安全金钥1221为出厂前事先进行编程的一金钥。应用程序1100无法存取此根安全金钥1221。系统组态区1222中包含系统信息,如系统模式、无线射频识别码信息、确认计数器、相应事件触发的设定等。系统信息的细节将于后说明。应用程序1100包括一特定金钥1110。初始时,应用程序1100将特定金钥1110传送至安全平台装置1200。处理单元1210利用根安全金钥1221加密特定金钥1110,成为应用程序安全金钥1223,并将其储存于储存单元1220中。一旦应用程序安全金钥1223产生之后,储存至安全区1224中的数据皆必须先透过应用程序安全金钥1223进行加密。
如前所述,储存单元1220的系统组态区1222中可以包含相应事件触发的设定。相应事件触发的设定可以是由应用程序所设定。在一些实施例中,相应事件触发设定的数据结构可以具有初始动作栏位、周期栏位、错误动作栏位与时间栏位等。举例来说,初始动作栏位可以包括2位,其提供系统醒来(WakeUp)、关机(Shutdown)、安全检查与更新无线射频识别码的设定。周期栏位可以包括2位,其提供特定时间、每日、每周与每月的设定。错误动作栏位可以包括3位,其提供不进行动作、安全检查、设定定时炸弹、上锁、关机等等的设定。时间栏位可以包括16位,其提供时间的详细设定。
无线射频识别码读取器1230可以依据事件触发与/或定期,如每N分钟产生一个安全无线射频值,且利用此安全无线射频值更新无线射频识别码(RFID)1231。安全无线射频值是依据一目前的时间戳记与/或一校验和产生。在一些实施例中,处理单元1210可以利用下述公式产生安全无线射频值E(TS,CS),其中,TS为目前的时间戳记,CS是校验和,且E表示金钥为根安全金钥1221的加密函数。无线射频识别码读取器1230亦会读取无线射频识别码1231。
图3显示依据本发明实施例的应用程序保护方法。
如步骤S302,一安全平台装置自一应用程序接收一特定金钥。如步骤S304,利用安全平台装置中的一根安全金钥加密特定金钥,且如步骤S306,判断加密后的特定金钥是否符合安全平台装置中的一应用程序安全金钥。若符合(步骤S306的是),如步骤S308,允许应用程序执行,且如步骤S310,重置安全平台装置中的一确认计数器。若不符合(步骤S306的否),如步骤S312,不允许应用程序执行,且如步骤S314,将安全平台装置中的确认计数器加一。之后,如步骤S316,判断确认计数器是否超过一既定值。若否(步骤S316的否),结束流程。若是(步骤S316的是),如步骤S318,将安全平台装置系统模式切换至上锁模式,以将安全平台装置锁住。
图4显示依据本发明实施例的数据储存方法。
如步骤S402,安全平台装置判断是否自应用程序接收数据。若否(步骤S402的否),结束流程。若是(步骤S402的是),自应用程序接收数据。如步骤S404,利用安全平台装置中的根安全金钥加密数据,且如步骤S406,将加密后的数据储存至储存单元的安全区中。
图5显示依据本发明实施例的数据存取方法。
如步骤S502,安全平台装置判断是否自应用程序接收一数据存取指令。若否(步骤S502的否),结束流程。若是(步骤S502的是),自应用程序接收数据存取指令。如步骤S504,由储存单元的安全区中撷取相应数据存取指令指定的数据,且利用安全平台装置中的根安全金钥解密数据,且如步骤S506,将解密后的数据传送至应用程序。
图6显示依据本发明实施例的安全检查方法。值得注意的是,当安装应用程序的主机或安全平台装置开机时与/或相应事件触发时,则可以执行安全检查。
如步骤S602,确认安全平台装置中的根安全金钥是否正确。在一些实施例中,确认根安全金钥可以利用一特定的公式来进行验证。若确认失败(步骤S602的否),执行步骤S608,进行错误动作。注意的是,错误动作的细节将于后说明。若确认正确(步骤S602的是),执行步骤S604,确认安全平台装置中的应用程序安全金钥是否正确。在一些实施例中,可以透过杂凑函数来验证应用程序安全金钥是否正确。若确认失败(步骤S604的否),执行步骤S608,进行错误动作。若确认正确(步骤S604的是),执行步骤S606,确认无线射频识别码是否存在,且有效。若确认失败,例如无线射频识别码不存在或无效时(步骤S606的否),执行步骤S608,进行错误动作。若确认正确(步骤S606的是),结束流程。
上述安全检查方法中所涉及的公式或函数,可利用现有的加密/解密的公式或算法实现,其中加密/解密的技术为本领域技术人员利用现有技术可获得。
图7显示依据本发明实施例的无线射频识别码确认方法。如步骤S702,安全平台装置自外部读取无线射频识别码。若不存在(步骤S704的否),执行步骤S706,确认失败。若存在(步骤S706的是),执行步骤S708,利用安全平台装置中的根安全金钥解密无线射频识别码,从而得到一时间戳记与一校验和。如步骤S710,判断时间戳记是否有效,且校验和是否正确。在一些实施例中,安全平台装置可以内定一既定时间区间,如M分钟,且透过判断时间戳记是否落于此既定时间区间之内,来判断时间戳记是否有效。若时间戳记不有效或校验和不正确(步骤S710的否),执行步骤S706,确认失败。若时间戳记有效且校验和正确(步骤S710的是),结束流程。
必须说明的是,进行错误动作时可以致使安全平台装置进入不同的系统模式。在一些实施例中,不同的系统模式下可以锁住安全平台装置、暂停安全平台装置、致使安全平台装置关机、致使安全平台装置进入休眠状态一既定时间、删除储存单元中的应用程序安全金钥或于安全平台装置中设置一定时炸弹,以当时间到时将安全平台装置破坏等等错误动作。值得注意的是,当安全平台装置被设置定时炸弹之后,应用程序可以在一既定时间之内提供正确的应用程序安全金钥,以将定时炸弹解除。另外,当安全平台装置被锁住时,安全平台装置停止将安全平台装置的储存单元内所存在的数据输出,确保安全平台装置内的数据安全。此时,应用程序可以提供一特定的解锁金钥至安全平台装置中。当安全平台装置接收到此解锁金钥之后,便会将安全平台装置自动解锁。再者,当安全平台装置进入休眠状态时,应用程序可以提供一特定的醒来指令至安全平台装置中。当安全平台装置接收到此醒来指令之后,安全平台装置将会恢复正常状态。
因此,本发明的系统及方法可以对于应用程序进行保护。应用程序亦可将特定数据以加密形式储存至安全平台装置中,以进一步达到数据保护的目的。另外,配合无线射频识别码的应用,更可确保安全平台装置的最新有效状态,以有效保护应用程序。
本发明的方法,或特定型态或其部分,可以以程序码的型态包含于实体介质,如软盘、光盘片、硬盘或是任何其他机器可读取(如计算机可读取)储存介质,其中,当程序码被机器,如计算机载入且执行时,此机器变成用以参与本发明的装置。本发明的方法与装置也可以以程序码型态透过一些传送介质,如电线或电缆、光纤或是任何传输型态进行传送,其中,当程序码被机器,如计算机接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理器实作时,程序码结合处理器提供一操作类似于专用逻辑电路的独特装置。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
附图中符号的简单说明如下1000应用程序保护系统1100应用程序1110特定金钥1200安全平台装置1210处理单元1220储存单元1221根安全金钥1222系统组态区1223应用程序安全金钥1224安全区1230无线射频识别码读取器1231无线射频识别码S302、S304、...、S318步骤S402、S404、S406步骤S502、S504、S 506步骤S602、S604、...、S608步骤S702、S704、...、S710步骤
权利要求
1.一种应用程序保护系统,其特征在于,该应用程序保护系统至少包括一安全平台装置,包括一储存单元,包括一根安全金钥与一应用程序安全金钥;以及一处理单元,自一应用程序接收一特定金钥,利用该根安全金钥加密该特定金钥,且判断加密后的该特定金钥是否符合该应用程序安全金钥,若是,允许该应用程序执行。
2.根据权利要求1所述的应用程序保护系统,其特征在于,该安全平台装置更自该应用程序接收一数据,该处理单元利用该根安全金钥加密该数据,且将加密后的该数据储存至该储存单元中。
3.根据权利要求1所述的应用程序保护系统,其特征在于,当耦接该安全平台装置的一主机开机时或相应至少一事件的触发时,该处理单元更执行一安全检查,用以确认该根安全金钥或该应用程序安全金钥是否正确。
4.根据权利要求3所述的应用程序保护系统,其特征在于,该安全平台装置更包括一无线射频识别码读取器,用以自该安全平台装置外部读取一无线射频识别码,且该安全检查是利用该根安全金钥解密该无线射频识别码,从而得到一第一时间戳记,且判断该第一时间戳记是否有效。
5.根据权利要求4所述的应用程序保护系统,其特征在于,该安全检查是利用该根安全金钥解密该无线射频识别码,从而更得到一第一校验和,且判断该第一校验和是否正确。
6.根据权利要求5所述的应用程序保护系统,其特征在于,该处理单元更定期利用该根安全金钥加密一第二时间戳记与一第二校验和,且依据加密后的该第二时间戳记与该第二校验和更新该无线射频识别码。
7.一种应用程序保护方法,其特征在于,适用于具有一根安全金钥与一应用程序安全金钥的一安全平台装置,该应用程序保护方法包括下列步骤自一应用程序接收一特定金钥;利用该根安全金钥加密该特定金钥;判断加密后的该特定金钥是否符合该应用程序安全金钥;以及若是,允许该应用程序执行。
8.根据权利要求7所述的应用程序保护方法,其特征在于,更包括下列步骤自该应用程序接收一数据;利用该根安全金钥加密该数据;以及将加密后的该数据进行储存。
9.根据权利要求7所述的应用程序保护方法,其特征在于,更包括下列步骤自该应用程序接收一数据存取指令,该数据存取指令指定一数据;利用该根安全金钥解密该数据;以及将解密后的该数据传送至该应用程序。
10.根据权利要求7所述的应用程序保护方法,其特征在于,更包括当耦接该安全平台装置的一主机开机时或相应至少一事件的触发时,执行一安全检查,确认该根安全金钥或该应用程序安全金钥是否正确。
11.根据权利要求10所述的应用程序保护方法,其特征在于,更包括下列步骤自该安全平台装置外部读取一无线射频识别码;利用该根安全金钥解密该无线射频识别码,从而得到一第一时间戳记;以及判断该第一时间戳记是否有效,以进行该安全检查。
12.根据权利要求11所述的应用程序保护方法,其特征在于,更包括下列步骤利用该根安全金钥解密该无线射频识别码,从而更得到一第一校验和;以及判断该第一校验和是否正确,以进行该安全检查。
13.根据权利要求12所述的应用程序保护方法,其特征在于,更包括下列步骤定期利用该根安全金钥加密一第二时间戳记与一第二校验和;以及依据加密后的该第二时间戳记与该第二校验和更新该无线射频识别码。
全文摘要
本发明涉及一种应用程序保护系统及方法,特别涉及一种应用程序保护系统,至少包括一安全平台装置。安全平台装置包括一储存单元与一处理单元。储存单元包括一根安全金钥与一应用程序安全金钥。安全平台装置自一应用程序接收一特定金钥。处理单元利用根安全金钥加密特定金钥,且判断加密后的特定金钥是否符合应用程序安全金钥。若是,允许应用程序执行。本发明所述的应用程序保护系统及方法,配合无线射频识别码的应用,可确保安全平台装置的最新有效状态,以有效保护应用程序。
文档编号G06F21/22GK101034428SQ200710091008
公开日2007年9月12日 申请日期2007年4月5日 优先权日2007年4月5日
发明者陈瑞华, 吴恒和 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1