(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(10)申请公布号 CN 103282913 A
(43)申请公布日 2013.09.04
(21)申请号 CN201180063784.7
(22)申请日 2011.12.16
(71)申请人 维亚塞斯公司
    地址 法国巴黎
(72)发明人 樊尚·哈莫
(74)专利代理机构 北京柏杉松知识产权代理事务所(普通合伙)
    代理人 王春伟
(51)Int.CI
     
                                                                  权利要求说明书 说明书 幅图
(54)发明名称
      用于加载至少一个软件模块的代码的方法
中文写代码软件
(57)摘要
      本发明涉及一种用于借助于安全处理器将至少一个软件模块的代码加载到主存储器中的方法,其中引导加载器在起动操作系统的执行之前,在主存储器的位于操作系统可用的地址范围外部的地址范围中,还将软件模块的代码加载(170)到主存储器中,以及在起动操作系统的执行之后,在使用将用户程序的虚拟存储器空间中的软件模块的地址与主存储器中的软件模块的物理地址自动关联的操作系统的特定文件系统时,操作系统将针对该软件模块的调用从用户程序朝向主存储器的在起动操作系统的执行之前该软件模块的代码被加载到的地址重新路由(194)。
法律状态
法律状态公告日
法律状态信息
法律状态
2021-11-26
未缴年费专利权终止
未缴年费专利权终止
2015-11-25
授权
授权
2013-10-09
实质审查的生效
实质审查的生效
2013-09-04
公开
公开
权 利 要 求 说 明 书
1.用于借助于安全处理器将至少一个软件模块的代码加载到主存储器中的            方法,其中所述安全处理器执行:           
-引导代码,其将引导加载器的代码加载(156)到主存储器中并且随后从            所述主存储器起动(162)所述引导加载器的执行,所述引导代码从第一地址开            始记录在所述处理器的非易失性只读存储器中,其中在紧接所述处理器的重置            之后所述处理器的顺序计数器指向所述第一地址,           
-所述引导加载器的代码,用于将多任务操作系统的代码加载(180)到所            述主存储器中,所述操作系统被配置成仅使用所述主存储器的一个减少的地址            范围,并且随后从所述主存储器起动所述操作系统的执行,           
-所述操作系统,用于通过所述处理器调度几个用户程序的同时执行,           
特征在于           
-所述引导加载器在起动所述操作系统的执行之前,在所述主存储器的位            于所述操作系统可用的地址范围外部的地址范围中,还将所述软件模块的代码            加载(170)到所
述主存储器中,以及           
-在起动所述操作系统的执行之后,在使用将用户程序的虚拟存储器空间中            的软件模块的地址与所述主存储器中的软件模块的物理地址自动关联的所述操            作系统的特定文件系统时,所述操作系统将针对所述软件模块的调用从所述用            户程序朝向所述主存储器的在起动所述操作系统的执行之前所述软件模块的代            码被加载到的地址重新路由(194)。           
2.根据权利要求1所述的方法,其中在起动所述引导加载器的执行之前,            由所述处理器执行的引导代码基于所述引导加载器的代码的签名和密钥来验证            (158)所述代码的真实性,并且如果所述代码是真实的,则起动所述引导加载            器的执行。           
3.根据权利要求2所述的方法,其中:           
-在所述引导加载器的执行期间,所述引导加载器配置(176)在所述处理            器的集成电路内存在的安全协处理器,使得所述安全协处理器基于与所述软件            模块的代码一起提供的签名和密钥来验证所述软件模块的代码的真实性,           
-
在起动所述操作系统的执行之后,所述安全协处理器自动地并且按预定的                            间隔验证(178)加载的所述软件模块的代码的真实性并且如果所述代码不是真            实的,则防止所述软件模块的执行,出于该效果所述协处理器使用其自身的非            易失性存储器及其自身的随机存取存储器在没有求助于所述主存储器的情况下            执行这种软件模块的代码的真实性的验证,所述非易失性存储器和所述随机存            取存储器仅可由所述安全协处理器访问。           
4.根据权利要求2或3所述的方法,其中:           
-所述引导加载器配置(168)构成所述处理器的集成电路内存在的安全协            处理器以隐藏所述主存储器的所述软件模块的代码已被加载到的第一地址范围            中记录的指令,所述隐藏包括利用密钥K<sub>oc1</sub>以加密形式将所记录的软件模块的            代码的指令保持在所述地址范围中,以及           
-在起动所述操作系统的执行之后,在所述第一地址范围中读取的每条指令            被所述处理器执行之前,所述安全协处理器利用所述密钥K<sub>oc1</sub>自动地对该指令            解密,出于该效果所述协处理器使用其自身的非易失性存储器及其自身的随机            存取存
储器在没有求助于所述主存储器的情况下利用所述密钥K<sub>oc1</sub>执行所述解            密,所述非易失性存储器和所述随机存取存储器仅可由安全协处理器访问。           
5.根据权利要求4所述的方法,其中所述方法包括利用所述密钥K<sub>oc1</sub>以加            密形式将所述软件模块的可执行代码记录在非易失性存储器中并且所述引导加            载器将利用所述密钥K<sub>oc1</sub>加密的所述的软件模块的代码直接加载到所述主存储            器中。           
6.根据权利要求2至5中任一项所述的方法,其中:           
-所述引导加载器配置(168)所述处理器的集成电路内部存在的安全协处            理器以隐藏所述主存储器的第二地址范围中记录的数据,所述隐藏包括对所述            数据加密,并且随后           
-在所述软件模块的执行(194)期间,在起动所述操作系统之后,所述软            件模块将数据记录在所述第二地址范围中,以及           
-作为响应,在将所述第二地址范围中记录的每条数据置于将所述处理器连            接到所述
主存储器的数据总线中之前,所述安全协处理器对该数据加密,并且            当所述处理器在所述数据总线中接收到所述处理器在所述第二地址范围中读取            的每条数据时,在所述处理器使用该数据之前对该数据解密,使得所述主存储            器的所述第二地址范围中记录的每条数据以加密的形式唯一存在于构成所述处                            理器的集成电路的外部,出于该效果所述协处理器使用其自身的非易失性存储            器及其自身的随机存取存储器在没有求助于所述主存储器的情况下执行所述加            密和所述解密,所述非易失性存储器和所述随机存取存储器仅可由所述安全协            处理器访问。