《用于在虚拟化系统操作与非虚拟化系统操作之间切换的方法.pdf》由会员分享,可在线阅读,更多相关《用于在虚拟化系统操作与非虚拟化系统操作之间切换的方法.pdf(25页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103430185 A(43)申请公布日 2013.12.04CN103430185A*CN103430185A*(21)申请号 201180069415.9(22)申请日 2011.03.22G06F 21/74(2013.01)(71)申请人瑞典爱立信有限公司地址瑞典斯德哥尔摩(72)发明人克里斯蒂安耶尔曼(74)专利代理机构中科专利商标代理有限责任公司 11021代理人王玮(54) 发明名称用于在虚拟化系统操作与非虚拟化系统操作之间切换的方法(57) 摘要提供了一种由嵌入式系统执行的方法,该嵌入式系统由CPU控制并且能够作为虚拟化系统在管理程序的监督下操作,或者。
2、作为非虚拟化系统在操作系统的监督下操作。如果嵌入式系统不需要执行任何安全关键功能,则在正常模式下运行该嵌入式系统,其中,在操作系统的监督下执行正常模式运行。如果嵌入式系统需要执行安全关键功能,则由操作系统通过将嵌入式系统的运行从操作系统移交到管理程序,来将嵌入式系统的运行从正常模式切换到保护模式,其中,在管理程序的监督下执行保护模式运行,并且当嵌入式系统不再需要执行安全关键功能时,在管理程序的监督下,将嵌入式系统的运行从保护模式切换到正常模式。(85)PCT申请进入国家阶段日2013.09.18(86)PCT申请的申请数据PCT/SE2011/050312 2011.03.22(87)PCT申。
3、请的公布数据WO2012/128681 EN 2012.09.27(51)Int.Cl.权利要求书3页 说明书12页 附图9页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书3页 说明书12页 附图9页(10)申请公布号 CN 103430185 ACN 103430185 A1/3页21.一种由嵌入式系统执行的方法,所述嵌入式系统由CPU控制并且能够作为虚拟化系统在管理程序的监督下操作,或者作为非虚拟化系统在操作系统的监督下操作,所述方法包括以下步骤:-如果所述嵌入式系统不需要执行任何安全关键功能,则在正常模式中运行所述嵌入式系统,其中,在所述操作系统的监督下执行所述正常模。
4、式运行;-如果所述嵌入式系统需要执行安全关键功能,则由所述操作系统通过将所述嵌入式系统的运行从所述操作系统移交到所述管理程序,来将所述嵌入式系统的所述运行从正常模式切换到保护模式,其中,在所述管理程序的监督下执行保护模式运行,以及-当所述嵌入式系统不再需要执行所述安全关键功能时,在所述管理程序的监督下,将所述嵌入式系统从保护模式切换到正常模式。2.一种由嵌入式系统执行的方法,所述嵌入式系统由CPU控制并且能够作为虚拟化系统在管理程序的监督下操作,或者作为非虚拟化系统在操作系统的监督下操作,所述方法包括以下步骤:-如果所述嵌入式系统需要执行安全关键功能,则在保护模式中运行所述嵌入式系统,其中,在。
5、管理程序的监督下执行所述保护模式运行,以及-如果所述嵌入式系统不再需要执行安全关键功能,则由所述管理程序通过将所述嵌入式系统的所述运行从所述管理程序移交到所述操作系统,来将所述嵌入式系统从保护模式切换到正常模式,其中,在所述操作系统的监督下执行所述正常模式运行。3.根据权利要求1或2所述的方法,还包括以下步骤:在执行所述切换步骤之前,发起所述嵌入式系统的重启,其中,所述切换步骤是作为执行所述重启的一部分来执行的。4.根据权利要求3所述的方法,其中,所述重启包括:-读取模式状态寄存器的内容,所述内容包含所述系统的当前模式状态,以及-对所述模式状态寄存器中寄存的所述模式状态进行所述切换。5.根据权。
6、利要求4所述的方法,还包括以下步骤:-如果所述模式状态寄存器的所述模式状态被设置为保护模式,则基于从过渡加密模块得到的至少一个芯片唯一密钥,来对与所述管理程序、所述安全关键功能相关联的代码和相关联的数据进行解密和完整性验证,或者如果所述模式状态寄存器的所述模式状态被设置为正常模式,则禁止对任何芯片唯一密钥进行访问。6.根据权利要求3、4或5所述的方法,其中,所述重启是由除所述安全关键功能之外的功能发起的。7.根据权利要求6所述的方法,包括以下初始重启步骤:-询问过渡寄存器;-对所述模式状态寄存器进行解锁;-将所述过渡寄存器的所述模式状态插入所述模式状态寄存器中,以及-对所述模式状态寄存器进行锁。
7、定,从而禁止对所述模式状态寄存器进行任何修改,直到发起另一重启为止。8.根据权利要求7所述的方法,其中,所述重启是软重启。9.根据权利要求3或4所述的方法,其中,所述重启是由所述嵌入式系统的管理程序保护单元发起的,与所述过渡寄存器的所述当前模式状态无关。权 利 要 求 书CN 103430185 A2/3页310.根据权利要求9所述的方法,其中,所述管理程序保护单元是看门狗定时器。11.根据前述权利要求中任意一项所述的方法,其中,所述嵌入式系统包括两个或更多个CPU,所述CPU之一在不同模式之间的所述切换期间起到监督作用。12.一种计算机程序,包括计算机可读代码装置,当在嵌入式系统上执行所述计。
8、算机可读代码装置时,所述计算机可读代码装置使所述嵌入式系统执行以下操作,其中,所述嵌入式系统能够由CPU控制并且能够作为虚拟化系统在管理程序的监督下操作,或者作为非虚拟化系统在操作系统的监督下操作:-如果所述嵌入式系统不需要执行安全关键功能,则在正常模式中运行,其中,在所述操作系统的监督下执行所述正常模式运行;-如果所述嵌入式系统需要执行安全关键功能,则通过以下方式在保护模式中运行:指示所述操作系统通过将所述嵌入式系统的运行从所述操作系统切换到管理程序,来使所述嵌入式系统从在正常模式中运行切换到在保护模式中运行,其中,在所述管理程序的监督下执行保护模式运行,以及-当所述嵌入式系统不再需要执行所。
9、述安全关键功能时,通过在所述管理程序的监督下,将所述嵌入式系统从保护模式切换到正常模式,来返回在正常模式中运行。13.根据权利要求12所述的计算机程序,包括计算机可读代码装置,当在所述嵌入式系统上执行所述计算机可读代码装置时,所述计算机可读代码装置在所述切换步骤之前发起对所述嵌入式系统的重启,其中,所述切换步骤是作为执行所述重启的一部分来执行的。14.根据权利要求13所述的计算机程序,包括计算机可读代码装置,当在所述嵌入式系统上执行所述计算机可读代码装置时,所述计算机可读代码装置使所述系统读取模式状态寄存器中包含所述系统的当前模式状态的内容,以及对所述模式状态寄存器中寄存的所述模式状态进行切换。
10、。15.根据权利要求13或14所述的计算机程序,包括计算机可读代码装置,当在所述嵌入式系统上执行所述计算机可读代码装置时,所述计算机可读代码装置使过渡加密模块执行以下操作:如果所述模式状态寄存器的所述模式状态被设置为保护模式,则基于至少一个芯片唯一密钥,来对与所述管理程序、所述安全关键功能相关联的代码和相关联的数据进行解密和完整性验证,而如果所述模式状态寄存器的所述模式状态被设置为正常模式,则禁止对任何芯片唯一密钥进行访问。16.根据权利要求13、14或15所述的计算机程序,包括计算机可读代码装置,当在所述嵌入式系统上执行所述计算机可读代码装置时,所述计算机可读代码装置响应于从除安全关键功能以。
11、外的功能接收到对执行所述安全关键功能的请求而发起重启。17.根据权利要求16所述的计算机程序,包括计算机可读代码装置,当在所述嵌入式系统上执行所述计算机可读代码装置时,所述计算机可读代码装置使所述系统执行以下操作:-询问过渡寄存器;-对所述模式状态寄存器进行解锁;-将所述过渡寄存器的所述模式状态插入所述模式状态寄存器中,以及-对所述模式状态寄存器进行锁定,从而禁止对所述模式状态寄存器进行任何修改,直权 利 要 求 书CN 103430185 A3/3页4到发起另一重启为止。18.根据权利要求17所述的计算机程序,包括计算机可读代码装置,当在所述嵌入式系统上执行所述计算机可读代码装置时,所述计算。
12、机可读代码装置响应于从所述嵌入式系统的管理程序保护单元接收到请求来发起重启,而与所述过渡寄存器的所述当前模式状态无关。19.一种计算机程序产品,包括计算机可读装置和根据权利要求12至18中任意一项所述的计算机程序,所述计算机程序被存储在所述计算机可读装置上。20.一种包括计算机程序产品的嵌入式系统,所述计算机程序产品包括计算机可读装置和根据权利要求12至19中任意一项所述的计算机程序,所述计算机程序被存储在所述计算机可读装置上。权 利 要 求 书CN 103430185 A1/12页5用于在虚拟化系统操作与非虚拟化系统操作之间切换的方法技术领域0001 本发明涉及用于在包括一个或更多个CPU的。
13、系统上实现虚拟化的方法、用于执行这种方法的计算机程序、以及包括这种计算机程序的计算机程序产品。背景技术0002 当提到各种类型的消费电子设备(例如,移动电话和智能电话、媒体播放器、家用网关以及各种类型的网络化传感器)的设计时,安全性已经成为主要区别。类似地,不同类型的嵌入式系统用于在车辆和控制系统(例如,发电厂控制系统)中控制在移动网络和固定网络二者中应用的各种类型的安全关键功能。0003 针对嵌入式系统的安全性考虑的范围可能从需要例如高正常运行时间、鲁棒运行和可靠的网络接入的可靠性到免受包括例如病毒和特洛伊木马的软件攻击的高效保护。0004 当前所体验的可以涉及嵌入式软件域中关于开放软件的服。
14、务数量和利用率的增强。然而,开放软件平台和操作系统也问欺骗的攻击者提供了更多的自由度和能力,这尤其是因为源代码文档和常见的黑客工具正在变得越来越容易得到。因此,如今我们还看到对移动病毒和网络攻击揭露的增加,尤其是以移动设备和敏感基础设施的嵌入式设备为目标的移动病毒和网络攻击。因此,可以预期将来对所有类型的嵌入式系统日益增加的威胁。0005 此外,越来越期望对在各种类型的嵌入式设备上运行的大型开放软件系统进行频繁更新。为了更好地保护这些系统,非常需要进行划分以将安全关键功能或服务与非安全关键功能/服务进行隔离,并且还非常需要对安全系统特性提供可靠的监控。0006 虚拟化是使用管理程序(可以备选地。
15、称作虚拟机监控器(VMM)使嵌入式设备不仅能够加强硬件并且依比例决定容量以满足变化的负载、而且还能够容纳(host)一个或更多个操作系统(OS)和伴随的软件栈的技术。0007 此外,当管理程序在设备上以最高特权运行级别在基本硬件保护机制(其通常在大多数平台上是可用的)的帮助下运行时,管理程序提供了用于对与安全关键功能相关联的安全关键数据进行安全隔离并且监控安全关键功能的有效方法。由于管理程序通常完全控制内存使用和对它驻留在的平台上的硬件资源的访问,因此它有能力将安全关键功能(作为通常被称作虚拟机的机器运行)与非安全关键功能进行隔离。此外,管理程序可以确保非安全关键功能不会访问敏感存储区域或者硬。
16、件外围设备。此外,管理程序通常还完全控制被允许在平台上的安全运行区域和非安全运行区域之间移动的所有信息。0008 通过使用管理程序获得的虚拟化是一种传统的技术,在20世纪80年代和90年代期间几乎放弃该技术以后,当由VMware引入了通过二进制变换实现的虚拟化时,重新发现了该技术。可以在2011-03-17可用的htt:/处找到与虚拟化和虚拟平台有关的更多信息。0009 在下文所描述的上下文中,将虚拟化技术称作包括OS的整个软件系统运行在管理程序之上的方法,这给客户机造成实际上直接运行在真实的硬件上的错觉。这种虚拟化说 明 书CN 103430185 A2/12页6应用通常还称作系统虚拟化。0。
17、010 可以通过使用管理程序利用不同的方法来实现虚拟化,所述方法例如是二进制变换、硬件辅助的基于x86架构的虚拟化(其使多个OS能够以安全且有效的方式同时共享x86处理器资源)、或者半虚拟化,在半虚拟化中,实际的客户代码被修改为使得能够使用更安全或更容易虚拟化和/或改善性能的不同接口。目前,在大多数嵌入式架构中仍然缺乏针对虚拟化的高级硬件支持,从而使得半虚拟化或二进制变换成为进行虚拟化的最可行的方法。用于嵌入式系统的虚拟化解决方案的公知示例包括RedBend软件管理程序(其可以在2011-03-17的得到)和OKL4安全内核(其可以在2011-03-17的www.ok- and Network。
18、 Conference中也描述系统虚拟化。0011 在上文给出的示例中,均没有介绍完全用于安全目的的管理程序,而是用于更一般的目的,这提供了在新硬件上运行传统软件的可能性和/或在相同的硬件上并行地运行多个OS的可能性。0012 与纯虚拟化技术相比,有关的但不同的方法是ARMTrustZone技术,可以在htt:/ 通过向上文提到的嵌入式系统引入管理程序实现的安全性优点要以性能损失为代价。高级硬件虚拟化支持或半虚拟化的广泛使用可以减小这种性能损失,但是不能完全消除这种性能损失。然而,由于有效的软件移植的需要,因此希望可以尽量避免半虚拟化。类似地,即使在高级硬件虚拟化的情况下,性能损失也可能是不可。
19、接受的。具体地说,在具有非常有限的容量的极小嵌入式系统中,这是相当大的问题。另一方面,安全关键功能通常并不连续地运行,而是通常仅需要偶尔执行系统上的一个或更多个关键任务。因此,期望将虚拟化系统的使用限制或约束到这种系统有益的时机。发明内容0014 本发明的目的是解决上文提到的问题中的至少一个问题。更具体地,本发明的目的是提供一种使系统能够切换到保护模式的方法,从而允许将安全关键功能与非安全关键功能以及其它安全关键功能隔离地执行,并且只有安全关键功能需要保持在保护模式中,才维持在保护模式中。可以通过发起重启的方式执行模式切换,该模式切换当执行时包括根据某些预定条件发起的模式切换过程。如果这种重启。
20、过程的数量是有限的(通常是这种情况,这是因为嵌入式系统通常仅在某些时机需要安全关键功能),则可以改善系统性能。0015 根据一个方面,提供了一种由嵌入式系统执行的方法,所述嵌入式系统由CPU控制并且能够作为虚拟化系统在管理程序的监督下操作或者作为非虚拟化系统在操作系统的监督下操作。该方法包括:如果所述嵌入式系统不需要执行任何安全关键功能,则在正说 明 书CN 103430185 A3/12页7常模式中运行所述嵌入式系统,其中,在所述操作系统的监督下执行所述正常模式运行;如果所述嵌入式系统需要安全关键功能执行,则由所述操作系统通过将所述嵌入式系统的运行从所述操作系统切换到管理程序,来将所述嵌入式。
21、系统的所述运行从正常模式移交到保护模式,其中,在所述管理程序的监督下执行保护模式运行,以及当所述嵌入式系统不再需要所述安全关键助能执行时,在所述管理程序的监督下,将所述嵌入式系统从保护模式切换到正常模式。0016 根据备选的实施例,在嵌入式系统需要安全关键功能执行的情况下,以保护模式执行嵌入式系统。如果嵌入式系统不再需要安全关键功能执行,则管理程序通过将嵌入式系统的运行从管理程序到操作系统,来将嵌入式系统从保护模式切换到正常模式。0017 通过应用上述实施例中的任意一个实施例,当嵌入式系统需要时,该系统将能够选择在保护模式中运行,并且当不再需要在保护模式中运行,即,在管理程序的监督下运行系统时。
22、,返回保护模式。通过将在保护模式中运行系统的时机限制为当被认为是必要时的时机,可以改善系统性能。0018 在执行模式切换步骤(即,改变模式)之前,发起所述嵌入式系统的重启,其中,所述切换步骤是作为执行所述重启的一部分来执行的。0019 因此,重启过程可以被配置为使得通过发起重启,直到满足被预先定义为形成重启的一部分的特定条件,才执行模式切换。0020 重启可以包括读取模式状态寄存器的内容,所述内容包含所述系统的当前模式状态,以及对所述模式状态寄存器中寄存的所述模式状态进行切换。0021 所述方法通常还包括以下步骤:如果所述模式状态寄存器的所述模式状态被设置为保护模式,则基于从过渡加密模块得到的。
23、至少一个芯片唯一密钥,来对与所述管理程序、所述安全关键功能相关联的代码和相关联的数据进行解密和完整性验证,或者如果所述模式状态寄存器的所述模式状态被设置为正常模式,则禁止对芯片唯一密钥中的任何一个进行访问。0022 根据一个实施例,所述重启是由除了安全关键功能以外的功能发起的。0023 由在所述嵌入式系统上运行的功能发起的重启可以包括:询问过渡寄存器;对所述模式状态寄存器进行解锁;将所述过渡寄存器的所述模式状态插入所述模式状态寄存器,以及对所述模式状态寄存器进行锁定,从而禁止对所述模式状态寄存器进行任何修改,直到发起另一重启为止。0024 上述重启通常是软重启,从而允许相对快速地重启,这是因为。
24、在所述重启期间保存了大多数易失性存储器的内容。0025 根据另一实施例,所述重启是由所述嵌入式系统的管理程序保护单元独立于所述过渡寄存器的所述当前模式状态发起的。这种管理程序保护单元可以是例如看门狗定时器。0026 适合于执行根据上述实施例中的任意一个实施例的方法的嵌入式系统可以备选地包括两个或更多个CPU,所述CPU之一在不同的模式之间进行切换期间扮演监督角色。在这种场景中,一个或更多个CPU可以参与模式切换过程,使得仅当所有管理程序部准许时(即,当没有管理程序仍然参与安全关键功能的任何执行时),才执行从保护模式到正常模式的切换。说 明 书CN 103430185 A4/12页80027 根。
25、据另一方面,通过执行包括计算机可读代码装置的计算机程序来执行根据上文提到的实施例中的任意一个实施例的方法。当在CPU可控的嵌入式系统上执行这种计算机可读代码装置时,如果嵌入式系统不需要执行任何安全关键功能,则该计算机可读代码装置使嵌入式系统以正常模式运行。0028 如果嵌入式系统需要执行安全关键功能,则该计算机可读代码装置取而代之地通过指示所述操作系统通过将所述嵌入式系统的运行从所述操作系统移交到管理程序,使以正常模式运行的所述嵌入式系统切换到以保护模式运行,来使所述嵌入式系统在保护模式中运行,其中,在所述管理程序的监督下执行保护模式运行。此外,当所述嵌入式系统不再需要执行所述安全关键功能时,。
26、计算机可读代码装置通过在所述管理程序的监督下,将所述嵌入式系统从保护模式切换到正常模式,来使所述嵌入式系统返回到以正常模式运行。0029 计算机可读代码装置可以被配置为使得当在所述嵌入式系统上执行计算机可读代码装置时,计算机可读代码装置使得在所述切换步骤之前发起对所述嵌入式系统的重启,其中,所述切换步骤是作为执行所述重启的一部分来执行的。0030 计算机可读代码装置还可以被配置为使得当在所述嵌入式系统上执行计算机可读代码装置时,计算机可读代码装置使得所述系统读取模式状态寄存器的内容,其中,所述内容包含所述系统的当前模式状态,以及对所述模式状态寄存器中寄存的所述模式状态进行切换。0031 此外,。
27、执行计算机可读代码可以使过渡加密模块执行以下操作:如果所述模式状态寄存器的所述模式状态被设置为保护模式,则基于至少一个芯片唯一密钥,来对与所述管理程序、所述安全关键功能相关联的代码和相关联的数据来进行解密和完整性验证,或者如果所述模式状态寄存器的所述模式状态被设置为正常模式,则禁止访问任何芯片唯一密钥。0032 当在所述嵌入式系统上执行所述计算机可读代码装置时,所述计算机可读代码装置响应于从除了安全关键功能以外的功能接收到对执行所述安全关键功能的请求而发起重启。根据一个实施例,在重启期间,计算机可读代码装置可以使所述嵌入式系统询问过渡寄存器;对所述模式状态寄存器进行解锁;将所述过渡寄存器的所述。
28、模式状态插入所述模式状态寄存器中,以及对所述模式状态寄存器进行锁定,从而禁止对所述模式状态寄存器进行任何修改,直到发起另一重启为止。0033 根据另一实施例,所述计算机可读代码装置可以响应于从所述嵌入式系统的管理程序保护单元接收到请求来发起重启,而与所述过渡寄存器的所述当前模式状态无关。0034 根据另一方面,提供了一种计算机程序产品,包括根据前述实施例中的任意一个的计算机可读装置和计算机程序,其中,所述计算机程序被存储在所述计算机可读装置上。0035 根据另一方面,提供了一种包括计算机程序产品的嵌入式系统,所述计算机程序产品包括根据前述实施例中的任意一个的计算机可读装置和计算机程序,其中,所。
29、述计算机程序被存储在所述计算机可读装置上。附图说明0036 当结合附图一起阅读时,根据所公开的实施例的以下详细描述,将更容易理解所公开的方法和布置的目的、优点和效果以及不同的特征,在附图中:说 明 书CN 103430185 A5/12页90037 图1是在表示非虚拟化状态的正常模式与表示虚拟化状态的保护模式之间切换的简化模式状态方案示意图。0038 图2a和图2b是可以在其上执行双模式机制的系统的分层方法的示意图。0039 图3是根据一个实施例描述了单片系统(SoC)(或称系统级芯片)架构的简化框图方案。0040 图4是示出了根据一个场景用于在不同的正常模式与保护模式之间切换的方法的流程图。。
30、0041 图5是示出了根据另一场景用于在正常模式与保护模式之间切换的方法的另一流程图。0042 图6a和图6b是示出了在冷重启运行期间可以如何在正常模式与保护模式之间执行切换(反之亦然)的相关联的流程图。0043 图7是示出了根据一个实施例可以如何从保护模式切换到正常模式的另一流程图。0044 图8a和图8b是示出了根据另一实施例可以如何从正常模式切换到保护模式(反之亦然)的流程图。0045 图9是被配置为执行模式切换机制的一组功能的示意图。具体实施方式0046 本文涉及用于通过使系统能够在虚拟化模式(由于当进入该模式时激活了管理程序,因此在下文中称作保护模式)与非虚拟化模式(在下文中称作正常。
31、模式)之间切换来改善能够作为虚拟化系统或非虚拟化系统进行操作的系统的性能的方法和机制,其中,仅当需要以安全方式执行一个或更多个安全关键功能时才以保护模式运行该系统,而在确定不再需要执行任何安全关键功能时,在没有任何管理程序参与的情况下,系统以正常模式运行。0047 为了获得仅当系统实际需要时才选择保护模式的方法,根据图1,系统的可执行代码适合于:当请求安全关键助能时,通过“唤醒”专用管理程序来发起从正常模式100向保护模式101的切换,并且将系统从保护模式101切换回正常模式100,即,当不再需要安全关键功能时可操作的模式。其中,只要系统保持在保护模式中,专用管理程序就监督系统的运行。在前一种。
32、场景下,包括用于运行管理程序的可执行代码被配置为:发起从OS到管理程序的切换,使得在切换之后,在管理程序而不是OS的监督下运行系统,这允许通过管理程序独立地运行安全关键功能,而在后一种场景下,取而代之地发起从管理程序到OS的切换,使得在切换之后,仅在OS的监督下运行系统,而无需任何管理程序的任何参与。0048 与引导程序过程的执行相关联地执行模式之间的切换,在下文中,引导程序过程称作重启,即,在系统上发起的芯片复位,如下面根据备选的实施例更详细描述的。当已经在保护模式中成功地重启系统时,将问每一个CPU或CPU内核提供在最高特权模式下运行的专用管理程序。稍后,这些管理程序之一可以基于触发来确定。
33、不再需要保护模式,因而请求另一系统重启,其通常具有软重启的形式,如果成功地执行另一系统重启,则将导致系统从保护模式去往正常模式。如果取而代之地首先在正常模式中重启系统,则通常正在系统中的任意一个CPU上不运行管理程序。说 明 书CN 103430185 A6/12页100049 通过应用有效的模式切换方法,使得系统在保护模式中运行的持续时间受到限制,可以在对系统造成非常小的性能影响的情况下执行安全关键功能。这通常以软复位为代价,每当需要安全关键功能时,或者更具体地,每当启动提供安全关键功能执行的触发时,部需要该软复位。然而,与如果系统在一个或更多个管理程序一直存在的情况下运行(即,如果系统一直。
34、作为虚拟化系统运行)相比,如果触发安全关键功能执行的时机相对较少发生,则这种方法将具备优选的优越性能。0050 此外,可以在大量不同的嵌入式硬件架构上执行所提出的方法,除了添加少量寄存器和用于对与管理程序、安全关键功能相关联的代码和任何相关联的数据实现加密和完整性核查的功能以外,无需对现有的架构进行任何显著的修改。然而,对于实现所提出的方法所需的大多数功能将依赖于现有的硬件和软件实现功能、以及对启动代码的一些调整和与系统的每一个CpU相关联地实现专用管理程序功能的管理程序代码的插入。0051 与先前描述的建立在ARMTrustZone周围的备选架构相比,所提出的基于管理程序的备选方式的主要优点。
35、在于:更小的硬件可信计算基(TCB)、支持多个安全运行域(其中每一个与运行在管理程序之上的相应的安全关键功能相关联)、以及在完全不需要硬件改变或调整的情况下在很多不同类型的嵌入式架构上运行的可能性。此外,管理程序实现了对非可信域的安全干预和监控,这在“TrustZone”架构中是不可能的。可以在Seshadri等的“ATinyHypervisortoprovideLifetimeKerneiCodeIntegrityforCommodityOSes”,Proceedingsofthe21stSymposiumonOperatingSystemPrinciples(SOSP2007),Octob。
36、er2007和X.Chen等的“Overshadow:Avirtualization-BasedApproachtoRetrofittingProtectioninCommodityOperatingSystems”,Proceedingsofthe13thAnnualInternationalACMConferenceon ArchitecturalSupportforProgrammingLanguagesandOperatingSystems(ASPLOS),March2008中找到与这些方面有关的更多信息。0052 图2a是与两个不同的CPU(CPU1和CPU2)相关联的相应的协议栈的。
37、分层方法的示意图,其中,CPU1和CPU2驻留在诸如单片系统(SoC)等的系统200上,并且被布置为管理共享内部功能单元,以及外部源。在这里,这些共享内部功能单元是由以下各项来表示的:内部存储器201、直接存储器访问(DMA)202、中断控制器203、模式状态寄存器204、过渡寄存器205和存储控制器206),外部源由外部存储器207来表示。0053 当对系统应用本文提出的双模式方法时,图2a可以被看作正常模式操作的典型表示,其描述了对应用(在这里由运行在相应的应用框架209a、209b之上的应用208a、208b表示)和OS(在这里,由图中的Linux内核210a、210b或者任何其它OS表。
38、示)的传统执行。0054 图2b是取而代之地在保护模式中运行的系统的相应的典型表示。与图2a相比,每一个CpU(CpU1和CPU2)现在具有在系统上运行的相应的管理程序(管理程序1和管理程序2),其中,管理程序2通常仅是管理程序1的另一实例。此外,由于管理程序2管理安全关键功能(在这里,由安全关键功能1和安全关键功能2表示),因此这些功能在保护模式中运行,当在该管理程序的监督下执行这些功能时,这些功能将相对于彼此被隔离和封装,从而实现对安全关键数据和与执行每一个相应的功能相关联的代码的安全处理。0055 此外,管理程序1和管理程序2确保由安全关键功能1使用的安全敏感存储器将不会被安全关键功能2访问,反之亦然,并且甚至更重要的是,当系统在正常模式中运行时,安全关键功能1和安全关键功能2均不会被OS访问,在本情况中,OS是分别在CPU1和说 明 书CN 103430185 A10。