一种用于检测在处理器装置(10)上是否使用了盗版软件的系统和方法,从而,结合拥有总线控制器(14)的所述处理器装置(10)以检测包含软件中的签名的存在,从而所述签名的检测利用所述的总线控制器(14)禁用所述的处理器(10)。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种用以检测在硬件上运行的软件的存在的系统和方法。具体地说,本专利技术涉及这样的系统和方法,其用于在检测到特定的软件时禁用所述硬件,并防止该软件在所述的硬件上执行指令。
技术介绍
对于生产处理器硬件的公司来讲,并行地开发在他们处理器上运行的诸如机器代码或特别定制的固件之类的软件是一个惯例。这样做时,通常认为由处理器制造商开发的软件是被优选的,以通过处理器装置达到最优性能。结果,公司经常推荐购买特定的处理器装置的顾客去购买相关的软件以通过处理器达到最优性能。开发达到最优性能的软件要求在时间和财力方面的巨大投入,因此,这些公司只提供许可下的软件,防止用户拷贝软件并将软件提供给第三方,以试图确保软件/硬件供应公司的收入不会损失。然而,在特定的环境下,很多顾客可能不希望使用由硬件制造公司开发的软件,硬件公司仅提供其自己的处理器。而且,硬件的终端用户可以自由地开发他们自己的与硬件一起使用的软件,定制以满足他们特定的要求。当然,不能排除硬件制造商软件的未授权或其它非法拷贝可能被提供给硬件的终端用户。未授权软件的例子可以包括第三方在没有获得必要的授权的情况下进行的拷贝或通过所谓的对等网络提供的未授权拷贝。这样未授权的拷贝或共享最终导致软件开发商的收入损失。为了克服这些问题,存在多种解决方案以防止这样未授权软件的使用,在软件中包括加密代码以防止软件的未授权使用是公知的。解密密钥被实现在硬件中,以对加密代码进行解码,允许软件的可执-->行指令在硬件上运行。作为具体的示例,WO-A-81/02351公开了一种专属处理器架构,在这种架构中,芯片或裸片设计被修改为包括一个解码器,该解码器包括第一多路复用器、逻辑门阵列和串联放置在处理器的指令寄存器和指令解码器之间的信号分离器。如果指令代码被正确实现以用在改进的处理器上,则逻辑门将对加密代码进行解码,使处理器能够执行软件的指令代码。相反地,在未改进的处理器上使用加密软件将导致指令代码的错误的执行,并导致故障。然而,由于WO-A-81/02351提供的上述解决方案要求处理器架构的大量修改以实现软件检测,以及需要这么多的这种架构的版本针对上文提及的未授权使用进行防卫,这种解决方案证明是非常昂贵的。而且,由于解密密钥是利用逻辑门实现的,它会遇到逆向工程,使其允许被拷贝,以至于软件/硬件提供商不能确定地识别软件的非法拷贝是和他们的硬件一起使用的。另外,解密密钥是静态的,在没有对逻辑门进行物理重新连线的情况下,不可能被很容易地更新。本专利技术寻求提供一种检测在硬件上运行的软件的存在的方法和系统,该方法和系统有超过已知这样的方法和系统的优点。
技术实现思路
按照本专利技术的一个方面,提供了被用来检测在其上的软件应用的处理器装置,该处理器装置拥有被用来检测包含在软件中的签名的存在的总线控制器,使得签名检测通过总线控制器用来禁用处理器。特别地,本专利技术寻求防止与处理器装置相关的非法软件的使用,本专利技术克服了一个或多个上文提及的缺点,以及,特别地,防止非法软件拷贝运行在硬件上,同时还提供了一种简单和划算的实现方式。当检测到未授权软件时,本专利技术禁用硬件,防止更进一步的指令被软件执行。优选地,总线控制器被安排通过结合总线控制器和装置的连接来接收输入信号,以至于该输入信号可以使总线控制器来检测签名的存在。由于通过利用该结合的配置,例如,对于封装内的集成电路裸-->片来讲,这证明是有利的,它可以定义哪些集成电路装置可以被激活以检测软件的存在,哪些不能。这允许使用单个裸片设计,从而消除制造用以检测软件存在的裸片和不检测软件存在的裸片的需要和成本。另外,通过签名被写入内部寄存器的特征的优点,签名的逆向工程被极大地抑制了,由于它要求了解哪一个寄存器包含签名以及软件被写入了那个寄存器的哪一段签名代码中。本专利技术提供了更进一步的优点,硬件终端用户可以开发与软件制造商无关的软件,这些软件可以在没有上文所述的禁用发生的危险的情况下,在处理器装置上执行。优选地,内部寄存器被用来存储签名,以及,总线控制器被用来从内部寄存器读取签名。由于签名可以通过再次编程指令寄存器被更新,而不需要重新设计处理器架构,这证明是有利的。随机参数发生器可以被用来定义在签名检测和处理器禁用之间的随机延迟。这提供了处理器以随机和不可预测的方式被禁用的优点,从而更进一步地禁止逆向工程。按照本专利技术的另一个方面,提供了一种检测在处理器装置上使用软件的方法,该方法包括下列步骤:通过处理器的总线控制器检测包含在软件内的签名的存在,以及,当检测到所述的签名时,通过总线控制器,禁用处理器装置。优选地,在操作中,总线控制器被用来通过结合总线控制器和装置的外部连接来接收输入信号,从而输入信号使总线控制器检测签名的存在。优选地,该签名被写入处理器的指令寄存器。检测签名的步骤包括利用所述的总线控制器从内部寄存器读取签名的步骤。由于签名可以通过对指令寄存器和总线控制器重新编程而被更新,而不需要重新设计处理器架构,这证明是有利的。在检测签名的步骤之后,在以随机方式确定的时间周期之后,总线控制器被禁用。这提供了处理器以随机和不可预测的方式被禁用从而用来禁止逆向工程的优点。-->按照本专利技术的另一个方面,提供了制造集成电路装置的方法,该方法包括下列步骤:在封装上固定半导体裸片,所述的半导体裸片包含处理器电路和多个电触点,所述的封装包括多个电触点;将所述处理器的所述多个电触点的至少一个和所述封装的所述多个电触点的至少一个结合,从而所述的结合使所述处理器的总线控制器可以检测包含在软件中的签名的存在,以及当检测到所述签名时,通过总线控制器来禁用处理器电路。有利地,这提供了利用单个裸片设计,启用可以检测软件存在的单个装置,相反地,定义那些不能检测软件存在的装置的能力。附图说明通过示例,参照附图,在下文对本专利技术进行了更进一步的描述,其中:图1图示了具体实现本专利技术的处理器架构的框图;图2a图示了按照现有技术具体实现软件和硬件的典型软件/硬件供应链;图2b图示了合并了本专利技术实施例的软件/硬件供应链。具体实施方式总体而言,本专利技术提供了诸如处理器之类的硬件装置,该处理器被用来检测特定软件的存在,并用来防止该软件的指令代码的执行。凡是硬件制造商发布的硬件装置可以被容易地用来防止与之相关的特定软件产品的后续使用,诸如硬件制造商软件的拷贝之类的使用。典型地,在本专利技术中具体实现的类型的处理器装置被形成为诸如通孔或表贴封装之类的集成电路封装。为了形成该集成电路,处理器电路在其上被定义的硅裸片或芯片密封地固定在一个密封的陶瓷封装中,在这种情况下,陶瓷封装包括外部金属引脚,用以连接到印刷电路板。在裸片上定义的电触点利用通常所说的热压焊接之类的线,被连接至或结合至陶瓷封装的金属引脚,这些线提供了引脚和处-->理器的每一个功能特征之间的连接。这样的功能特征可以包括CPU、寄存器和总线控制器。电连接提供了输入、输出和电源供电以及其他到处理器的辅助连接。通过包括或忽略在裸片与封装的外部金属连接之间的结合,启用或禁用特定处理器的功能特征是可行的。结合封装的输入和总线控制器,通过施加诸如逻辑1或高电平之类的电信号,或者可替换地可以使用逻辑0或低电平,允许本专利技术的软件检测特征被启用。相反地,通过不包括这样的本文档来自技高网...
【技术保护点】
一种集成电路装置,用以检测在其上使用了软件,该装置包括处理器装置和用以检测包含在软件中的签名的存在的总线控制器,并且当总线控制器检测到所述签名时,禁用处理器装置。
【技术特征摘要】
【国外来华专利技术】EP 2005-8-24 05107757.61.一种集成电路装置,用以检测在其上使用了软件,该装置包括处理器装置和用以检测包含在软件中的签名的存在的总线控制器,并且当总线控制器检测到所述签名时,禁用处理器装置。2.按照权利要求1所述的装置,其中,总线控制器还被用来接收输入信号,从而输入信号使总线控制器能够检测签名的存在。3.按照权利要求2所述的装置,其中,总线控制器通过结合所述装置的外部连接来接收所述输入信号。4.按照权利要求1所述的装置,其中,通过禁用总线控制器来禁用处理器装置。5.按照权利要求1所述的装置,还包括用于存储签名的内部寄存器。6.按照权利要求4所述的装置,其中,总线控制器从内部寄存器中读取签名。7.按照权利要求1或5所述的装置,其中,内部寄存器包括指令寄存器。8.按照权利要求1所述的装置,还包括一个随机参数发生器,其用于定义签名检测和处理器被禁用之间的随机延迟。9.按照权利要求8所述的装置,其中,所述发生器是硬件实现的。10.按照权利要求8所述的装置,其中,所述发生器是软件实现的。11.一种检测在处理器装置上使用了软件的方法,该方法包括下列步骤:通过处理器装置的总线控制器检测包含在软件中的签名的存在;以及当检测到所述签名时,通过总线控制...
【专利技术属性】
技术研发人员:法比安勒菲弗,
申请(专利权)人:NXP股份有限公司,
类型:发明
国别省市:NL[荷兰]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。