【技术实现步骤摘要】
本专利技术一般涉及在开始使用前验证数字数据,尤其涉及一种用于确保要在处理器上执行的程序代码被适当签名并未被更改的系统和方法。
技术介绍
个人计算机提供了愿意投入精力编程的任何人在其上可编写程序的一个平台,这些程序可实现几乎所有需要的功能而仅受编程语言、操作环境和程序在其上执行的硬件的限制。个人计算机的制造商以及那些提供操作系统和编程工具的制造商对用户如何选择使用其相应产品几乎不设限制。然而有一些实例,其中限制如何使用计算装置是重要的。广而言之,计算装置可以是包括执行存储在存储器中的程序代码以执行某些功能的处理器的任何装置。因而,计算装置可具有专用功能,或在功能上可像典型的个人计算机一样非常通用。当在此使用时,术语“代码”、“程序代码”和“控制代码”指由诸如计算装置的处理器的机器执行的指令集。在某些方面与个人计算机相似,而在其主要功能上较为专用的一类计算装置是多媒体控制台。尽管多媒体控制台可经常执行其它功能,但它们的主要功能是执行机器指令或程序代码,以使一个或多个用户能播放各种类型的多媒体,诸如视频、音频和游戏。生产多媒体控制台的公司对控制在其控制台上执行的任何多媒体软件的各方面有着浓厚的兴趣。例如,他们想要确保多媒体软件的质量符合某些规范。因为多媒体控制台的制造商通常向生产可在控制台上使用的多媒体软件的其它公司发放许可,最好阻止未经许可的软件在控制台上使用。除了如果未经许可软件在多媒体控制台上播放可导致收入的损失之外,还有对在多媒体控制台上播放的软件进行质量控制的问题。此外,确保经许可在多媒体控制台上使用的软件在其被准予分发并发布给公众之后未被更改是重 ...
【技术保护点】
一种用于确保可执行文件在包括一处理器和一存储器的系统中的安全执行的方法,其中所述处理器支持不同优先级,且其中只有以所述第一优先级执行的程序代码被允许映射存储器并将所述经映射存储器表示为只读、可写和可执行,其特征在于,所述方法包括以所述处理器的所述第一优先级执行的以下步骤: 响应于来自以不同优先级执行的其它程序代码的请求,映射存储器的一部分用于载入可执行文件; 在所述可执行文件已被载入存储器的所述经映射部分之后,校验与所述可执行文件相关联的签名;以及 如果所述签名通过校验,则允许所述可执行文件以不同于所述第一优先级的优先级执行,否则阻止所述可执行文件在所述处理器上执行。
【技术特征摘要】
US 2004-8-25 10/925,6571.一种用于确保可执行文件在包括一处理器和一存储器的系统中的安全执行的方法,其中所述处理器支持不同优先级,且其中只有以所述第一优先级执行的程序代码被允许映射存储器并将所述经映射存储器表示为只读、可写和可执行,其特征在于,所述方法包括以所述处理器的所述第一优先级执行的以下步骤响应于来自以不同优先级执行的其它程序代码的请求,映射存储器的一部分用于载入可执行文件;在所述可执行文件已被载入存储器的所述经映射部分之后,校验与所述可执行文件相关联的签名;以及如果所述签名通过校验,则允许所述可执行文件以不同于所述第一优先级的优先级执行,否则阻止所述可执行文件在所述处理器上执行。2.如权利要求1所述的方法,其特征在于,与所述可执行文件相关联的所述签名包括所述文件的至少一部分的摘要,所述摘要使用私钥加密,且其中校验所述文件的签名的所述步骤包括使用与所述私钥相对应的公钥来解密所述经加密摘要;计算所述文件至少一部分的确认摘要,所述确认摘要使用与产生被加密的摘要的方法相同的方法生成;以及比较所述确认摘要和所述经解密摘要,其中如果所述确认摘要和所述经解密摘要相同则所述签名通过校验。3.如权利要求2所述的方法,其特征在于,所述可执行文件包括一标题以及一个或多个部分,其中所述经加密摘要是所述文件标题的摘要,且其中所述文件标题包含分别与所述文件部分之一分别相对应的一个或多个部分摘要,所述方法还包括,对于所述文件的一个或多个部分的每一个使用与用来生成所述文件标题中相应部分摘要的方法相同的方法,计算所述文件部分的确认摘要;以及比较所述确认摘要和所述文件标题中的相应部分摘要,其中如果对于所述文件的任一部分,所述确认摘要与所述文件标题中的相应部分摘要不匹配,则阻止该文件在所述处理器上执行。4.如权利要求3所述的方法,其特征在于,所述映射步骤包括映射存储器的第一部分用于载入所述文件的标题,且仅在执行计算所述标题的确认摘要并比较所述标题的确认摘要和所述标题的经解密摘要的步骤之后,映射存储器的第二部分用于载入所述文件的一个或多个部分。5.如权利要求1所述的方法,其特征在于,还包括在执行所述校验步骤之前将所述存储器的经映射部分指定为只读。6.如权利要求2所述的方法,其特征在于,所述加密摘要通过将散列算法应用于所述文件的至少一部分而生成,且其中所述计算确认摘要的步骤包括使用用来生成所述加密摘要的相同散列算法来生成所述确认摘要。7.如权利要求6所述的方法,其特征在于,所述散列算法包括SHA-1算法。8.如权利要求1所述的方法,其特征在于,允许所述可执行文件被执行的所述步骤包括将包含所述可执行文件的存储器的所述经映射部分指定为可执行,并分支到所述存储器中可执行文件的起始点。9.如权利要求8所述的方法,其特征在于,还包括阻止已被指定为可执行的存储器的经映射部分被指定为可写。10.如权利要求9所述的方法,其特征在于,还包括阻止已被指定为可写的存储器的经映射部分被指定为可执行。11.如权利要求1所述的方法,其特征在于,映射存储器一部分的所述步骤包括将存储器的虚拟页映射成存储器的实际页。12.如权利要求1所述的方法,其特征在于,所述步骤以所述处理器的实模式执行。13.一种具有程序代码存储其中的计算机可读介质,所述程序代码在包括一处理器和一存储器的系统中使用,其中所述处理器支持不同优先级,且其中只有以所述第一优先级执行的程序代码被允许映射存储器并将所述经映射存储器表示为只读、可写和可执行,其特征在于,所述程序代码在由处理器以所述一优先级执行时致使所述处理器执行以下步骤响应于来自以不同优先级执行的其它程序代码的请求,映射存储器的一部分用于载入可执行文件;在所述可执行文件已被载入存储器的所述经映射部分之后,校验与所述可执行文件相关联的签名;以及如果所述签名通过校验,则允许所述可执行文件以不同于所述第一优先级的优先级执行,否则阻止所述可执行文件在所述处理器上执行。14.如权利要求13所述的计算机可读介质,其特征在于,与所述可执行文件相关联的所述签名包括所述文件至少一部分的摘要,所述摘要使用私钥加密,且其中校验所述文件的签名的所述步骤包括使用与所述私钥相对应的公钥来解密所述经加密摘要;计算所述文件至少一部分的确认摘要,所述确认摘要使用与产生被加密的摘要的计算机可读介质相同的计算机可读介质生成;以及比较所述确认摘要和所述经解密摘要,其中如果所述确认摘要和所述经解密摘要相同则所述签名通过校验。15.如权利要求14所述的计算机可读介质,其特征在于,所述可执行文件包括一标题以及一个或多个部分,其中所述经加密摘要是所述文件标题的摘要,其中所述文件标题包含与所述文件一相应部分相对应的一个或多个部分摘要,且其中所述程序代码还致使所述处理器对所述文件的一个或多个部分的每一个执行以下附加步骤使用与用来生成所述文件标题中相应部分摘要的方法相同的方法,计算所述文件部分的确认摘要;以及比较所述确认摘要和所述文件标题中的相应部分摘要,其中如果对于所述文件的任一部分,所述确认摘要与所述文件标题中的相应部分摘要不匹配,则阻止该文件在所述处理器上执行。16.如权利要求15所述的计算机可读介质,其特征在于,所述映射步骤包括映射存储器的第一部分用于载入所述文件的标题,且仅在所述程序代码执行计算所述标题的确认摘要并比较所述标题的确认摘要和所述标题的经解密...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。