CN110968901A - Dvfs功率管理的方法及对应的*** - Google Patents
Dvfs功率管理的方法及对应的*** Download PDFInfo
- Publication number
- CN110968901A CN110968901A CN201910943671.4A CN201910943671A CN110968901A CN 110968901 A CN110968901 A CN 110968901A CN 201910943671 A CN201910943671 A CN 201910943671A CN 110968901 A CN110968901 A CN 110968901A
- Authority
- CN
- China
- Prior art keywords
- power supply
- dvfs
- request
- secure environment
- allowed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title description 37
- 238000000034 method Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims abstract description 19
- 238000004891 communication Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
- G06F21/755—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/81—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Power Sources (AREA)
Abstract
本公开的实施例涉及DVFS功率管理的方法及对应的***。在一个实施例中,片上***包括动态电压和频率缩放(DVFS)电源、安全环境、非安全环境以及电源管理控制模块。安全环境被配置成生成安全指令,该安全指令定义用于DVFS电源的电压和频率的允许的操作点。非安全环境被配置成生成修改DVFS电源的请求,其中修改请求包括电压‑频率操作点。电源管理控制模块被配置成:响应于修改DVFS电源的请求,将DVFS电源缩放到允许操作点。
Description
相关申请的交叉引用
本申请要求2018年10月01日提交的法国专利申请号1859052的优先权权益,该申请通过引用并入本文。
技术领域
实施方式和实施例涉及管理用于片上***的“DVFS”(动态电压和频率缩放)类型的电源。
背景技术
片上***(SOC)需要安全设备来保护机密数据和敏感信息免于复制专有内容。所连接的对象特别是汽车领域特别敏感。
Tang等人在第26届USENIX安全研讨会(2017年08月)上发表的出版物“CLKscrew:Exposing the perils of security-oblivious energy management”(ISBN:978-1-931971-40-9)描述了当前片上***的安全脆弱性。
上面提到的安全脆弱性涉及由动态电压和频率缩放(DVFS)技术供电的***。
片上***可以包括计算单元,在该计算单元中,安全环境被设计成在没有认证的情况下不可访问,并且非安全环境从外部可访问,例如,以用于运行软件应用或与第三方装置建立通信。例如,安全环境在输入-输出接口处包括硬件保护机制,诸如用于过滤经认证或未经认证的数据的寄存器。另外,与安全环境通信的安全性基本上基于加密算法(诸如,高级加密标准AES或加密标准RSA)。
安全环境通常用术语“可信执行环境”来指代,并且非安全环境通常用术语“富执行环境”来指代。这两个环境可以属于同一计算单元,诸如微处理器。
图1图示了***的示例,该***包括安全环境TEE和非安全环境REE,安全环境TEE和非安全环境REE属于同一计算单元CPU,并且共享DVFS动态电压和频率缩放类型的电源域DAP。
在共享电源域DAP中,电压和频率变化VFS可以由非安全环境REE控制。例如,非安全环境由诸如Linux的操作***管理,该操作***提供这种类型的DVFS电源控制。
由非安全环境REE进行DVFS电源控制对于优化能耗是有用的,因为可动态地适配***每次使用的性能。
但是,上面提到的Tang等人的出版物揭示了存在一种攻击,该攻击包括通过来自非安全环境REE的非安全代码指令CNS来修改DVFS电源的电压和频率VFS。这样排序的变化VFS使得在安全环境TEE中的处理期间引入目标错误成为可能,通过在给定操作上进行精确同步使得破坏安全环境TEE的安全性所基于的加密成为可能。
换句话说,DVFS电源被用于通过非安全环境REE来将安全环境TEE推到其工作电源的极限,从而在安全环境的逻辑中产生时间协调误差。
“破坏加密”被理解为例如意指秘密加密密钥的重构。然后,使用加密密钥,“非安全”第三方软件可以访问安全环境TEE并享受其特权。
应当指出,这种攻击完全由软件实施,并且可以经由网络访问远程执行,这使它更加危险。
而且,应当注意,攻击的关键参数首先是由非安全环境REE进行的DVFS电源控制,其次是用于将错误引入与安全环境TEE的给定操作同步的准确计时。
在Tang等人的上述出版物中提出了防止这种攻击的解决方案。
提出了在硬件级别上引入对DVFS电源的可能变化进行操作限制,以便使其不可能生成引入故障的任何电压-频率对。
但是,一方面,操作限制在同一生产中可能会变化(特别是由于制造过程的变化),因此很难确定先验。
另一方面,DVFS电源通常由具有不同约束和需求的多个***使用,这与物理固定值不兼容。
还提出了针对安全环境TEE和非安全环境TEE使用不同的电源域。当安全环境TEE活跃时,使用物理分离的电源。
由于安全环境TEE和非安全环境REE通常在同一处理器CPU上运行,因此这种解决方案操作起来复杂。另外,用于生产专用于安全环境TEE的电源的表面积很大,这是有问题的。
还提出了将随机化程序引入安全环境TEE,其将随机数目的非操作指令添加到算法中。执行时间发生变化,并且使攻击的同步复杂化。
该解决方案不能保护安全环境TEE免受使用执行简档化(profiling)的形式的攻击。另外,该解决方案在安全环境TEE中引入了延迟和性能损失。
最后,提出了引入一些执行的冗余并监控这些冗余。如果结果中的一个结果由于经由DVFS电源引入的错误而不同,则可以检测到该错误。
这种解决方案引入了延迟和性能损失。多次执行算法必然会增加执行时间,并且除该延迟外还会增加向其分配的能耗。
发明内容
实施方式和实施例用于解决上述Tang等人的出版物中描述的片上***的安全性问题,而不遭受其中提出的解决方案的缺点。
根据一个方面,在这方面,提供了一种用于管理“DVFS”动态电压和频率缩放类型的电源的方法,方法包括由非安全环境生成用以修改DVFS电源的请求,并且DVFS电源管理控制包括:由安全环境生成安全指令,该安全指令定义用于DVFS电源的至少一个允许的电压-频率操作点;以及响应于用以修改DVFS电源的请求,将DVFS电源缩放到允许操作点。
换句话说,无论由非安全环境生成的用以修改DVFS电源的请求是什么,DVFS电源始终会被缩放到由安全环境定义的“允许”操作点。因此,安全环境能够根据每种硬件实施方式来定义允许操作点,以便在引入***故障的条件下无法配置DVFS电源。
因此,根据该方面提供的解决方案使得可以根据其硬件约束为每个片上***优化DVFS电源,而无需修改DVFS电源级。因此,DVFS电源级技术可以与根据该方面实施电源管理的不同的片上***一起使用,并且仍然受益于其针对不同***的电源多功能性。
另外,由于未修改安全环境的其他算法,因此根据该方面提供的解决方案对***性能没有影响。
根据一种实施方式,由安全环境为DVFS电源的允许操作点分配相应的标签,并且如果用以修改DVFS电源的请求包括该允许操作点的标签,则DVFS电源被缩放到允许操作点。
如果用以修改DVFS电源的请求不包括允许操作点的标签,则DVFS电源不可以被缩放。
就与现有***的兼容性而言,这种实施方式是有利的,因为来自非安全环境的用以修改DVFS电源的请求仅通过使用标签来进行适配。
根据一种实施方式,如果用以修改DVFS电源的请求与允许操作点不同,则DVFS电源被缩放到最接近的允许操作点。例如,安全环境接收请求,定义最接近的允许操作点,并控制到该最接近的操作点的DVFS电源。
这种实施方式在操作点的选择上是有利的。
根据一种实施方式,在非安全环境启动之前,所述安全指令由安全环境生成。
实际上,安全环境通常在非安全环境之前启动,并且该实施方式确保了定义允许操作点的所述安全指令的完整性。
根据一种实施方式,安全指令定义专用于安全环境的允许的电压-频率操作点,并且,如果安全处理由安全环境执行,则DVFS电源的所述缩放包括:将DVFS电源缩放到专用于安全环境的该允许操作点;以及响应于用以修改DVFS电源的请求,不从专用于安全环境的该允许操作点修改DVFS电源。
换句话说,这种实施方式允许用以修改DVFS电源的请求完全自由,但是如果由安全环境执行安全处理,则不将其考虑在内。
有利地,当将DVFS电源缩放到专用于安全环境的允许操作点时,记录DVFS电源的先前配置,并且当安全处理结束时,恢复最后记录的配置。
有利地,由安全环境执行先前配置的记录和最后记录的配置的恢复。
根据另一方面,提供了一种片上***,其包括:“DVFS”动态电压和频率缩放类型的电源;安全环境;能够生成用以修改DVFS电源的请求的非安全环境;以及DVFS电源管理控制模块,其中:安全环境被配置用于生成安全指令,该安全指令定义用于DVFS电源的至少一个允许的电压-频率操作点;并且电源管理控制模块被配置用于响应于非安全环境的用以修改DVFS电源的请求,将DVFS电源缩放到允许操作点。
根据一个实施例,安全环境被配置用于生成将相应的标签分配给DVFS电源的允许操作点的所述安全指令,并且其中电源管理控制模块被配置用于:如果用以修改DVFS电源的请求包括该允许操作点的标签,则将DVFS电源缩放到允许操作点。
有利地,电源管理控制模块被配置用于:如果用以修改DVFS电源的请求不包括允许操作点的标签,则不缩放DVFS电源。
根据一个实施例,电源管理控制模块被配置用于:响应于该用以修改DVFS电源的请求,将DVFS电源缩放到与用以修改DVFS电源的请求的操作点最接近的允许操作点。
根据一个实施例,安全环境被配置用于:在非安全环境启动之前生成所述安全指令。
根据一个实施例,非安全环境被配置用于:向电源管理控制模块发送用以修改DVFS电源的请求,电源管理控制模块仅由来自安全环境的所述安全指令可配置。
根据一个实施例,电源管理控制模块被并入在安全环境中,并且非安全环境被配置用于:向安全环境发送用以修改DVFS电源的请求。
根据一个实施例,安全环境被配置用于生成安全指令,该安全指令定义用于DVFS电源的、专用于安全环境的允许的电压-频率操作点,并且,如果由安全环境执行安全处理,则电源管理控制模块被配置用于:将DVFS电源缩放到专用于安全环境的该允许操作点;以及响应于用以修改DVFS电源的请求,不修改专用于安全环境的该允许操作点的DVFS电源。
有利地,安全环境被配置用于:在DVFS电源被缩放到该专用的允许操作点时,记录DVFS电源的先前配置,并且在安全处理结束时,恢复最后记录的配置。
还提供了一种电子装置(诸如移动电话或交通工具机载计算机),其包括如上所定义的片上***以及电压供应设备,电压供应设备被配置用于提供由电源管理控制模块控制的电源电压。
有利的是,电子装置还包括无线通信模块,该无线通信模块能够使第三方设备具有对片上***的非安全环境的访问权。
附图说明
本发明的其他优点和特征将在审阅绝非限制性的实施例和实施方式的详细描述以及附图时呈现,其中:
之前描述的图1图示了常规的片上***的安全脆弱性。
图2至图6图示了本发明的各种实施方式和实施例。
具体实施方式
图2表示片上***SOC的一个实施例。
片上***SOC包括被称为“DVFS”的动态电压和频率缩放类型的电源。片上***包括微处理器类型的安全环境TEE和非安全环境REE,它们是软件代码执行环境。
在该示例中,安全环境TEE和非安全环境REE属于微处理器类型的同一计算单元CPU。安全环境TEE与外界(特别是非安全环境REE)之间的通信经由硬件接口执行,该硬件接口被配置用于防止未经授权的访问。还可以预期,安全环境TEE和非安全环境REE在共享同一电源的两个物理分离的计算单元上实施。
在该示例中,DVFS电源包括频率调节器FRQREG和电压调节器VLTREG。
频率调节器FRQREG被配置用于生成具有时钟频率的时钟信号fCPU,该时钟信号fCPU用于对计算单元CPU的操作进行计时。例如,频率调节器包括锁相环设备,该锁相环设备用于以根据命令可修改的频率生成周期性时钟信号。
在该示例中,电压调节器VLTREG被配置成生成用于设置电源电压的控制信号ComAlm,该控制信号ComAlm旨在由用于生成电源电压的外部电路“PMIC”或功率管理集成电路来控制。实际上,电源电压生成电路通常由与片上***SOC分离的集成电路来实施,并且可以用于生成不同的电源电压并将其提供给包括片上***SOC的装置的不同元件。在该示例中,提供给片上***的电源电压VAlm源自这种生成器“PMIC”。可以参考关于图6的以下描述。还可以预期,例如在旨在自主和独立使用的片上***SOC的情况下,通过在片上***SOC中并入的DVFS电源来执行电源电压VAlm的生成。
因此,DVFS电源被配置用于提供电源电压VAlm(在适当的情况下,经由电源电压生成电路“PMIC”)和时钟信号fCPU。表述“电源电压和时钟信号对”将被缩写为“电压-频率对”,并且另外用针对“操作性能点”的“OPP”指示的术语“操作点”来指代。
片上***SOC包括电源管理控制模块PMC,其被配置用于缩放DVFS电源,即,控制向安全环境TEE和非安全环境REE提供的电压-频率对VAlm-fCPU的给定值。
物理上,片上***SOC被配置成:至少在生成向计算单元CPU提供的操作点方面,使得DVFS电源只可以由电源管理控制模块PMC控制。
电源管理控制模块PMC为DVFS电源生成用于设置给定的允许操作点OPPk的命令。根据由非安全环境REE生成的修改DVFS电源的请求Rk以及由安全环境TEE生成安全指令IS,建立给定的允许操作点OPPk。
实际上,安全环境TEE被配置用于生成安全指令IS,该安全指令IS定义用于DVFS电源的至少一个允许的电压-频率操作点OPPi。
因此,电源管理控制模块PMC被安全环境TEE原位配置成仅为DVFS电源生成用于从这些允许操作点OPPi设置允许操作点OPPk的命令。
因此,响应于(来自非安全环境REE的)请求Rk,电源管理控制模块PCM将DVFS电源缩放到允许操作点OPPk。
换句话说,电源管理控制模块PCM管理DVFS电源命令尝试,以使DVFS电源仅提供由安全环境TEE定义的允许操作点OPPi。
因此,在该片上***SOC中,入侵安全环境TEE的方法(该方法特别包括生成由具有用于片上***的不正常的电压-频率对的电源引起的错误)是不可能的。
如果用以修改DVFS电源的请求源自安全环境TEE,则电源管理控制模块PMC可以以相同的方式处理该请求。
图3表示关于图2描述的片上***SOC的变型实施例。图2和图3中的示例之间的共同元件具有相同的附图标记,并且将不再详细描述。
在该变型中,电源管理控制模块PMC被并入在安全环境TEE中。因此,非安全环境REE被配置用于向安全环境TEE发送用以修改DVFS电源的请求Rk。
因此,非安全环境REE与安全环境TEE的通信得以实施以用于缩放DVFS电源。这些通信经由用于安全环境TEE的硬件保护接口实施,并且通常比非安全通信要慢。但是,该实施方式还允许对允许操作点的选择进行有利的电源管理控制。稍后关于图5A和图5B描述该实施方式。
这里,安全指令IS对应于安全环境TEE的内部指令,例如,计算结果传输到接口,以生成用于控制DVFS电源的电压VLTREG和频率FRQREG调节器的控制信号。
另一方面,安全环境TEE和非安全环境REE已经被表示为例如微处理器类型的两个分离的计算单元。当然,对于在微处理器类型的同一计算单元内实施的安全环境TEE和非安全环境REE,可以预期该变型。
图4A、图4B和图4C图示了具有动态电压频率缩放的电源管理控制的实施方式和实施例。
图4A图示了由安全环境TEE生成安全指令IS,该安全指令IS定义用于DVFS电源的至少一个允许的电压-频率操作点OPPi。例如,定义n个操作点,并且1≤i≤n。
通常,安全环境TEE控制片上***SOC的启动例程,并且因此安全环境TEE在非安全环境REE之前活跃。因此,可以在启动非安全环境REE之前,由安全环境TEE生成安全指令IS。这确保了附加的保护,以防止在生成安全指令IS之前发生任何潜在的入侵。
在该实施方式中,安全指令IS为DVFS电源定义允许操作点OPPi(1≤i≤n),并为它们分配相应的标签Li(1≤i≤n)。
图4B表示电压V和频率f对的图示GfV,在其上绘制了曲线Lim,该曲线Lim示出了取决于电压V的可能频率f的上限,超过该上限,安全环境TEE的逻辑无法正常运行。
因此,位于曲线Lim上方的所有电压-频率对都不是安全环境TEE的操作条件。
根据该实施方式和实施例,图示GfV用于图示由安全环境TEE定义的允许的并分配了相应的标签{OPPi;Li}(1≤i≤n)的操作点的示例。
每个允许操作点OPPi(1≤i≤n)包括电压Vi(1≤i≤n)和频率f(1≤i≤n)坐标,该坐标被定义为在曲线Lim下方,以便始终向安全环境TEE提供操作电源。
分别分配给每个允许操作点OPPi(1≤i≤n)的标签Li(1≤i≤n)是任何类型的数字字,例如,任意二进制数或编码的数字字。
图4C表示由非安全环境REE生成用以修改DVFS电源的请求Rk,并且将该请求Rk传输到电源管理控制模块PMC。
因此,如果用以修改DVFS电源的请求Rk包括该允许操作点OPPk的标签Lk(1≤k≤n),则DVFS电源管理控制包括用于将DVFS电源缩放到允许操作点OPPk(1≤k≤n)的命令OPPk。
例如,如果用以修改DVFS电源的请求Rk不包括允许操作点OPPi的标签Li(1≤i≤n),则DVFS电源不被缩放。
因此,安全环境TEE必然由操作电压-频率对{Vk;fk}供电。
因此,非安全环境REE被配置用于向电源管理控制模块PMC发送用以修改DVFS电源的请求Rk。当然,生成请求Rk的非安全环境REE必须能够传输已经由安全环境TEE定义的标签。
由于仅可由来自安全环境TEE的所述安全指令IS来配置电源管理控制模块PMC,所以旨在在安全环境中引入错误的欺骗性请求Rk不能被执行。
关于图4A、图4B和图4C描述的该实施方式和实施例有助于防御入侵安全环境TEE的方法,该方法特别包括生成由来自非安全环境REE的对DVFS电源的修改导致的错误。
另外,与现有***相比,该实施方式和实施例对性能没有影响,并且仅需要对非安全环境REE进行轻微修改来生成用以修改DVFS电源的请求Ri。
图5A和图5B图示了具有动态电压-频率缩放的电源管理控制的另一实施方式和实施例。
图5A表示如上面关于图4B描述的电压V和频率f对的图示GfV以及曲线Lim,该曲线Lim示出了取决于电压V的可能频率f的极限,超出该极限,安全环境TEE的逻辑无法正常运行。
在该实施方式和实施例中,如果用以修改DVFS电源的请求Rk(1≤k≤4)与允许操作点OPPi不同,则DVFS电源被缩放到最接近的允许操作点OPPk(1≤k≤4)。如果请求R4被包括在允许操作点OPPi的定义中,则缩放DVFS电源可以对应于所述请求的立即应用。
如图5B中所表示的,该实施方式和实施例非常适于将电源管理控制模块PMC并入在安全环境TEE中的配置。因此,非安全环境REE被配置用于向安全环境TEE发送用以修改DVFS电源的请求Rk。
实际上,安全环境TEE的计算能力在评估最接近请求Rk的允许操作点OPPi时可以有用。
例如,安全指令IS可以将用于DVFS电源的允许的电压-频率操作点OPPi定义为位于曲线Lim下方的任何电压-频率对。
因此,安全环境TEE必然由操作电压-频率对{Vk;fk}供电。
可以需要对曲线Lim进行建模,并且必须计算电压-频率图GfV的空间中的最短距离。例如,在图5A中图示了计算所述最短距离的三种方式:
1)仅在电压V坐标上计算允许操作点OPP1与请求R1之间的最短距离。这适用于低的频率和电压操作点。
2)在电压V和频率f坐标上使用欧几里得范数或等效公式计算允许操作点OPP2与请求R2之间的最短距离。这适用于任何非极端的频率和电压操作点。
3)仅在频率f坐标上计算允许操作点OPP3与请求R3之间的最短距离。这适用于高的频率和电压操作点。
当然,任何计算方法是可预期的。
另外,可以根据优选在速度方面确保性能还是优选在降低消耗方面确保性能,而在它们之间确定与Rk等距的两个点OPPk和OPPi。
因此,这里,定义允许的电压-频率操作点OPPi的所述安全指令IS可以对应于安全环境TEE的内部指令(诸如计算结果),以生成用于DVFS电源的命令OPPk,如上面关于图3所描述的。
当然,可以预期在安全环境TEE中不并入电源管理控制模块PMC的配置。然后,电源管理控制模块PMC必须能够评估最接近请求的允许操作点。然而,如果必须的话,在所需的计算量方面,这种评估可能非常简单。
换句话说,根据一种实施方式和实施例,非安全环境REE调用安全环境TEE服务来改变操作点,并且安全环境TEE决定控制哪个操作点以确保片上***SOC将可操作。
由非安全环境REE进行的请求Ri的生成和通信方法将必须是合适的。
该实施方式和实施例有助于防御入侵安全环境TEE的方法,该方法特别包括生成由来自非安全环境REE的DVFS电源的修改导致的错误。
现在再次参考图2。
作为在上面关于图4A、图4B、图4C以及图5A、图5B描述的实施方式和实施例的备选方案,可以预期,安全环境TEE要求专用于安全环境TEE的允许操作点OPPi,并且在安全环境TEE执行处理的所有时间中始终不变。专用于安全环境TEE的允许操作点可以例如是图4B中表示的允许操作点{OPPi}(1≤i≤n)中的一个,并且例如根据执行所述处理要求的性能来选择。
在这方面,电源管理控制模块PMC被配置用于:将DVFS电源缩放到专用于安全环境TEE的该允许操作点OPPi;以及响应于由非安全环境生成的用以修改DVFS电源的请求Rk,不修改专用于安全环境TEE的该允许操作点OPPi的DVFS电源。
安全环境TEE被有利地配置用于:当DVFS电源被缩放到该专用的允许操作点OPPi时,记录DVFS电源的先前配置;并且当安全处理结束时,恢复最后记录的配置。
因此,在由非安全环境REE进行的请求的生成中不需要进行任何改变,并且在性能上不会感觉到任何影响。
因此,电源管理模块控制PMC被配置成硬件机制,该硬件机制用于根据安全指令IS,动态地锁定和解锁非安全环境REE对DVFS电源的访问权。
图6表示电子装置APP的一个示例,其包括片上***SOC的一个实施例。
电子装置APP例如是移动电话或交通工具机载计算机,并且包括根据上述实施例中的一个实施例的片上***SOC以及电压供应设备PMIC,该电压供应设备PMIC被配置用于提供由电源管理控制模块PMC控制(ComAlm)的电源电压VAlm。
另外,装置APP通常特别地包括随机存取存储器RAM、非易失性存储器ROM以及用于各种功能的模块BL1、BL2。电压供应设备PMIC还被特别地配置用于向RAM和ROM存储器提供电源电压VRAM、VROM。
电子装置APP可以包括无线通信模块BL1,无线通信模块BL1能够使第三方设备具有对片上***SOC的非安全环境REE的访问权。
Claims (21)
1.一种用于管理动态电压和频率缩放(DVFS)电源的方法,所述方法包括:
由安全环境生成安全指令,所述安全指令定义用于所述DVFS电源的电压和频率的允许操作点;
由非安全环境生成用以修改所述DVFS电源的请求,用以修改的所述请求包括电压-频率操作点;以及
响应于用以修改所述DVFS电源的所述请求,将所述DVFS电源缩放到所述允许操作点。
2.根据权利要求1所述的方法,还包括
由所述安全环境为所述允许操作点分配标签;
确定用以修改的所述请求是否包括所述允许操作点的所述标签;
响应于确定用以修改的所述请求包括所述允许操作点的所述标签,缩放到所述允许操作点;以及
在所述允许操作点操作所述安全环境。
3.根据权利要求2所述的方法,还包括:
响应于确定用以修改的所述请求不包括所述允许操作点的所述标签,在不缩放到所述允许操作点的情况下,操作所述安全环境。
4.根据权利要求1所述的方法,其中所述安全指令还定义用于所述DVFS电源的附加电压-频率允许操作点,并且其中所述方法还包括:响应于确定用以修改的所述请求中的所述电压-频率操作点与所述允许操作点不同,缩放到所述允许操作点中的最接近的一个操作点。
5.根据权利要求1所述的方法,其中所述安全指令在所述非安全环境的启动之前由所述安全环境生成。
6.根据权利要求1所述的方法,其中所述安全指令定义专用于所述安全环境的允许的电压-频率操作点,并且当由所述安全环境执行安全处理时,所述DVFS电源的缩放包括:
将所述DVFS电源缩放到专用于所述安全环境的所述允许操作点;以及
响应于用以修改所述DVFS电源的所述请求,不从专用于所述安全环境的所述允许操作点修改所述DVFS电源。
7.根据权利要求6所述的方法,还包括:
当所述DVFS电源被缩放到专用于所述安全环境的所述允许操作点时,记录所述DVFS电源的先前配置;以及
当所述安全处理结束时,恢复最后记录的配置。
8.根据权利要求7所述的方法,其中所述先前配置的所述记录和所述最后记录的配置的所述恢复由所述安全环境来执行。
9.一种片上***,包括:
动态电压和频率缩放(DVFS)电源;
安全环境,被配置成生成安全指令,所述安全指令定义用于所述DVFS电源的电压和频率的允许操作点;
非安全环境,被配置成生成用以修改所述DVFS电源的请求,用以修改的所述请求包括电压-频率操作点;以及
电源管理控制模块,被配置成响应于用以修改所述DVFS电源的所述请求,将所述DVFS电源缩放到所述允许操作点。
10.根据权利要求9所述的片上***,其中所述安全环境被配置成为所述允许操作点分配标签。
11.根据权利要求10所述的片上***,其中所述电源管理控制模块被配置成:
确定用以修改的所述请求是否包括所述允许操作点的所述标签;以及
响应于确定用以修改的所述请求包括所述允许操作点的所述标签,缩放到所述允许操作点。
12.根据权利要求11所述的片上***,其中所述电源管理控制模块被配置成:响应于确定用以修改的所述请求不包括所述允许操作点的所述标签,不缩放到所述允许操作点。
13.根据权利要求9所述的片上***,其中所述安全指令还定义用于所述DVFS电源的附加电压-频率允许操作点,并且其中所述电源管理控制模块被配置成:响应于确定用以修改的所述请求中的所述电压-频率操作点与所述允许操作点不同,缩放到所述允许操作点中的最接近的一个操作点。
14.根据权利要求9所述的片上***,其中所述安全环境被配置成:在所述非安全环境的启动之前,生成所述安全指令。
15.根据权利要求9所述的片上***,其中所述非安全环境被配置成向所述电源管理控制模块发送用以修改所述DVFS电源的所述请求,所述电源管理控制模块仅能够由来自所述安全环境的所述安全指令配置。
16.根据权利要求9所述的片上***,其中所述电源管理控制模块被并入在所述安全环境中,并且所述非安全环境被配置成向所述安全环境发送用以修改所述DVFS电源的所述请求。
17.根据权利要求9所述的片上***,其中所述安全环境被配置成生成所述安全指令,所述安全指令定义用于所述DVFS电源的专用于所述安全环境的允许的电压-频率操作点,并且当由所述安全环境执行安全处理时,所述电源管理控制模块被配置成:
将所述DVFS电源缩放到专用于所述安全环境的所述允许操作点;以及
响应于用以修改所述DVFS电源的所述请求,不从专用于所述安全环境的所述允许操作点修改所述DVFS电源。
18.根据权利要求17所述的片上***,其中所述安全环境被配置成:
当所述DVFS电源被缩放到专用的所述允许操作点时,记录所述DVFS电源的先前配置;以及
在所述安全处理结束时,恢复最后记录的配置。
19.一种电子装置,包括:
片上***,包括:
动态电压和频率缩放(DVFS)电源,
安全环境,被配置成生成安全指令,所述安全指令定义用于所述DVFS电源的电压和频率的允许操作点;
非安全环境,被配置成生成用以修改所述DVFS电源的请求,用以修改的所述请求包括电压-频率操作点;以及
电源管理控制模块,被配置成:响应于用以修改所述DVFS电源的所述请求,将所述DVFS电源缩放到所述允许操作点;以及
电压供应设备,被配置成提供由所述电源管理控制模块控制的电源电压。
20.根据权利要求19所述的电子装置,还包括无线通信模块,所述无线通信模块能够使第三方设备具有对所述片上***的所述非安全环境的访问权。
21.根据权利要求19所述的电子装置,其中所述电子装置包括移动电话或交通工具机载计算机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1859052 | 2018-10-01 | ||
FR1859052A FR3086772B1 (fr) | 2018-10-01 | 2018-10-01 | Procede de gestion d'une alimentation dvfs et systeme correspondant |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110968901A true CN110968901A (zh) | 2020-04-07 |
Family
ID=65685538
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910943671.4A Pending CN110968901A (zh) | 2018-10-01 | 2019-09-30 | Dvfs功率管理的方法及对应的*** |
CN201921657562.8U Active CN210776693U (zh) | 2018-10-01 | 2019-09-30 | 片上***和电子装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201921657562.8U Active CN210776693U (zh) | 2018-10-01 | 2019-09-30 | 片上***和电子装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11455433B2 (zh) |
EP (1) | EP3633495B1 (zh) |
CN (2) | CN110968901A (zh) |
FR (1) | FR3086772B1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114185837A (zh) * | 2020-09-15 | 2022-03-15 | 阿里巴巴集团控股有限公司 | 片上***和调节电压和频率的方法 |
CN114185836A (zh) * | 2020-09-15 | 2022-03-15 | 阿里巴巴集团控股有限公司 | 片上***和调节电压和频率的方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3086772B1 (fr) * | 2018-10-01 | 2021-11-12 | Stmicroelectronics Grand Ouest Sas | Procede de gestion d'une alimentation dvfs et systeme correspondant |
US11880454B2 (en) * | 2020-05-14 | 2024-01-23 | Qualcomm Incorporated | On-die voltage-frequency security monitor |
CN113821834B (zh) * | 2021-11-24 | 2022-02-15 | 飞腾信息技术有限公司 | 数据处理方法、安全架构***和计算设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050055588A1 (en) * | 2003-09-10 | 2005-03-10 | Nalawadi Rajeev K. | Dynamically loading power management code in a secure environment |
US20070283361A1 (en) * | 2004-07-06 | 2007-12-06 | Jean-Bernard Blanchet | Processor Time-Sharing Method |
US20080162770A1 (en) * | 2006-11-01 | 2008-07-03 | Texas Instruments Incorporated | Hardware voting mechanism for arbitrating scaling of shared voltage domain, integrated circuits, processes and systems |
US20110093750A1 (en) * | 2009-10-21 | 2011-04-21 | Arm Limited | Hardware resource management within a data processing system |
CN105447406A (zh) * | 2015-11-10 | 2016-03-30 | 华为技术有限公司 | 一种用于访问存储空间的方法与装置 |
CN210776693U (zh) * | 2018-10-01 | 2020-06-16 | 意法半导体(大西部)公司 | 片上***和电子装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6178550B1 (en) * | 1995-01-31 | 2001-01-23 | Dell Usa | Mechanism for optimizing location of machine-dependent code |
US7730248B2 (en) * | 2007-12-13 | 2010-06-01 | Texas Instruments Incorporated | Interrupt morphing and configuration, circuits, systems and processes |
FR2999028B1 (fr) * | 2012-11-30 | 2016-02-05 | Schneider Electric Ind Sas | Dispositif de protection contre les surtensions pour alimentation d'automate. |
US20150268706A1 (en) * | 2014-03-24 | 2015-09-24 | Qualcomm Incorporated | System and method for memory power management in a system on a chip with multiple execution environments |
US11080675B1 (en) * | 2015-09-08 | 2021-08-03 | Square, Inc. | Point-of-sale system having a secure touch mode |
US20190050570A1 (en) * | 2017-08-14 | 2019-02-14 | Qualcomm Incorporated | Computer resource access control based on the state of a non-accessing component |
US20190086994A1 (en) * | 2017-09-19 | 2019-03-21 | Intel Corporation | Transition of an input / output port in a suspend mode from a high-current mode |
-
2018
- 2018-10-01 FR FR1859052A patent/FR3086772B1/fr active Active
-
2019
- 2019-09-18 EP EP19197951.7A patent/EP3633495B1/fr active Active
- 2019-09-23 US US16/579,442 patent/US11455433B2/en active Active
- 2019-09-30 CN CN201910943671.4A patent/CN110968901A/zh active Pending
- 2019-09-30 CN CN201921657562.8U patent/CN210776693U/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050055588A1 (en) * | 2003-09-10 | 2005-03-10 | Nalawadi Rajeev K. | Dynamically loading power management code in a secure environment |
US20070283361A1 (en) * | 2004-07-06 | 2007-12-06 | Jean-Bernard Blanchet | Processor Time-Sharing Method |
US20080162770A1 (en) * | 2006-11-01 | 2008-07-03 | Texas Instruments Incorporated | Hardware voting mechanism for arbitrating scaling of shared voltage domain, integrated circuits, processes and systems |
US20110093750A1 (en) * | 2009-10-21 | 2011-04-21 | Arm Limited | Hardware resource management within a data processing system |
CN105447406A (zh) * | 2015-11-10 | 2016-03-30 | 华为技术有限公司 | 一种用于访问存储空间的方法与装置 |
CN210776693U (zh) * | 2018-10-01 | 2020-06-16 | 意法半导体(大西部)公司 | 片上***和电子装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114185837A (zh) * | 2020-09-15 | 2022-03-15 | 阿里巴巴集团控股有限公司 | 片上***和调节电压和频率的方法 |
CN114185836A (zh) * | 2020-09-15 | 2022-03-15 | 阿里巴巴集团控股有限公司 | 片上***和调节电压和频率的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3633495A1 (fr) | 2020-04-08 |
CN210776693U (zh) | 2020-06-16 |
US11455433B2 (en) | 2022-09-27 |
FR3086772B1 (fr) | 2021-11-12 |
FR3086772A1 (fr) | 2020-04-03 |
EP3633495B1 (fr) | 2021-10-27 |
US20200104537A1 (en) | 2020-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN210776693U (zh) | 片上***和电子装置 | |
EP3644181B1 (en) | Embedded program secure boot method, apparatus and device, and storage medium | |
CN109937419B (zh) | 安全功能强化的设备的初始化方法及设备的固件更新方法 | |
EP0821508B1 (en) | Cryptographic unit touch point logic | |
KR102013841B1 (ko) | 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치 | |
US7082539B1 (en) | Information processing apparatus | |
US9268971B2 (en) | Secure processor supporting multiple security functions | |
US8677144B2 (en) | Secure software and hardware association technique | |
KR100823374B1 (ko) | 휴면 보호 | |
CN108885668B (zh) | 用于用户数据的完整性检查的方法、处理器和设备 | |
KR20160040322A (ko) | 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법 | |
CN102063591A (zh) | 基于可信平台的平台配置寄存器参考值的更新方法 | |
TW201633207A (zh) | 裝置金鑰保護 | |
CN112069506B (zh) | 一种安全启动方法和装置 | |
US20230129610A1 (en) | Multiple physical request interfaces for security processors | |
US20230237155A1 (en) | Securing communications with security processors using platform keys | |
Buskey et al. | Protected jtag | |
US11481523B2 (en) | Secure element | |
CN116049825A (zh) | 管理基板管理控制器的存储器中的秘密的存储 | |
CN114942729A (zh) | 一种计算机***的数据安全存储与读取方法 | |
CN110932853B (zh) | 一种基于可信模块的密钥管理装置和密钥管理方法 | |
US11595201B2 (en) | System and method for generation of a disposable software module for cryptographic material protection | |
CN109583196B (zh) | 一种密钥生成方法 | |
KR102036256B1 (ko) | 보안성이 강화된 안드로이드 임베디드 보드 | |
US20200019733A1 (en) | Apparatus and method for operating a software-configured processing unit for a device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |