CN210776693U - 片上系统和电子装置 - Google Patents

片上系统和电子装置 Download PDF

Info

Publication number
CN210776693U
CN210776693U CN201921657562.8U CN201921657562U CN210776693U CN 210776693 U CN210776693 U CN 210776693U CN 201921657562 U CN201921657562 U CN 201921657562U CN 210776693 U CN210776693 U CN 210776693U
Authority
CN
China
Prior art keywords
frequency
voltage
request
modify
secure environment
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.)
Active
Application number
CN201921657562.8U
Other languages
English (en)
Inventor
A·罗赛
G·勒热纳
J·N·格罗
O·C·勒布勒东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Grand Ouest SAS
Original Assignee
STMicroelectronics Grand Ouest SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by STMicroelectronics Grand Ouest SAS filed Critical STMicroelectronics Grand Ouest SAS
Application granted granted Critical
Publication of CN210776693U publication Critical patent/CN210776693U/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/74Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/75Protecting 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/755Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/77Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/81Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2105Dual mode as a secondary aspect

Abstract

本公开的实施例涉及片上系统和电子装置。在一个实施例中,片上系统包括动态电压和频率缩放(DVFS)电源、安全环境、非安全环境以及电源管理控制模块。安全环境被配置成生成安全指令,该安全指令定义用于DVFS电源的电压和频率的允许的操作点。非安全环境被配置成生成修改DVFS电源的请求,其中修改请求包括电压‑频率操作点。电源管理控制模块被配置成:响应于修改DVFS电源的请求,将DVFS电源缩放到允许操作点。

Description

片上系统和电子装置
技术领域
实施方式和实施例涉及管理用于片上系统的“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等人的出版物中描述的片上系统的安全性问题,而不遭受其中提出的解决方案的缺点。
附图说明
本实用新型的其他优点和特征将在审阅绝非限制性的实施例和实施方式的详细描述以及附图时呈现,其中:
之前描述的图1图示了常规的片上系统的安全脆弱性。
图2至图6图示了本实用新型的各种实施方式和实施例。
具体实施方式
根据一个方面,在这方面,提供了一种用于管理“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电源的先前配置,并且在安全处理结束时,恢复最后记录的配置。
还提供了一种电子装置(诸如移动电话或交通工具机载计算机),其包括如上所定义的片上系统以及电压供应设备,电压供应设备被配置用于提供由电源管理控制模块控制的电源电压。
有利的是,电子装置还包括无线通信模块,该无线通信模块能够使第三方设备具有对片上系统的非安全环境的访问权。
图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 (13)

1.一种片上系统,其特征在于,包括:
动态电压和频率缩放电源;
安全环境,被配置成生成安全指令,所述安全指令定义用于所述动态电压和频率缩放电源的电压和频率的允许操作点;
非安全环境,被配置成生成用以修改所述动态电压和频率缩放电源的请求,用以修改的所述请求包括电压-频率操作点;以及
电源管理控制模块,被配置成响应于用以修改所述动态电压和频率缩放电源的所述请求,将所述动态电压和频率缩放电源缩放到所述允许操作点。
2.根据权利要求1所述的片上系统,其特征在于,所述安全环境被配置成为所述允许操作点分配标签。
3.根据权利要求2所述的片上系统,其特征在于,所述电源管理控制模块被配置成:
确定用以修改的所述请求是否包括所述允许操作点的所述标签;以及
响应于确定用以修改的所述请求包括所述允许操作点的所述标签,缩放到所述允许操作点。
4.根据权利要求3所述的片上系统,其特征在于,所述电源管理控制模块被配置成:响应于确定用以修改的所述请求不包括所述允许操作点的所述标签,不缩放到所述允许操作点。
5.根据权利要求1所述的片上系统,其特征在于,所述安全指令还定义用于所述动态电压和频率缩放电源的附加电压-频率允许操作点,并且其中所述电源管理控制模块被配置成:响应于确定用以修改的所述请求中的所述电压-频率操作点与所述允许操作点不同,缩放到所述允许操作点中的最接近的一个操作点。
6.根据权利要求1所述的片上系统,其特征在于,所述安全环境被配置成:在所述非安全环境的启动之前,生成所述安全指令。
7.根据权利要求1所述的片上系统,其特征在于,所述非安全环境被配置成向所述电源管理控制模块发送用以修改所述动态电压和频率缩放电源的所述请求,所述电源管理控制模块仅能够由来自所述安全环境的所述安全指令配置。
8.根据权利要求1所述的片上系统,其特征在于,所述电源管理控制模块被并入在所述安全环境中,并且所述非安全环境被配置成向所述安全环境发送用以修改所述动态电压和频率缩放电源的所述请求。
9.根据权利要求1所述的片上系统,其特征在于,所述安全环境被配置成生成所述安全指令,所述安全指令定义用于所述动态电压和频率缩放电源的专用于所述安全环境的允许的电压-频率操作点,并且当由所述安全环境执行安全处理时,所述电源管理控制模块被配置成:
将所述动态电压和频率缩放电源缩放到专用于所述安全环境的所述允许操作点;以及
响应于用以修改所述动态电压和频率缩放电源的所述请求,不从专用于所述安全环境的所述允许操作点修改所述动态电压和频率缩放电源。
10.根据权利要求9所述的片上系统,其特征在于,所述安全环境被配置成:
当所述动态电压和频率缩放电源被缩放到专用的所述允许操作点时,记录所述动态电压和频率缩放电源的先前配置;以及
在所述安全处理结束时,恢复最后记录的配置。
11.一种电子装置,其特征在于,包括:
片上系统,包括:
动态电压和频率缩放电源,
安全环境,被配置成生成安全指令,所述安全指令定义用于所述动态电压和频率缩放电源的电压和频率的允许操作点;
非安全环境,被配置成生成用以修改所述动态电压和频率缩放电源的请求,用以修改的所述请求包括电压-频率操作点;以及
电源管理控制模块,被配置成:响应于用以修改所述动态电压和频率缩放电源的所述请求,将所述动态电压和频率缩放电源缩放到所述允许操作点;以及
电压供应设备,被配置成提供由所述电源管理控制模块控制的电源电压。
12.根据权利要求11所述的电子装置,其特征在于,还包括无线通信模块,所述无线通信模块能够使第三方设备具有对所述片上系统的所述非安全环境的访问权。
13.根据权利要求11所述的电子装置,其特征在于,所述电子装置包括移动电话或交通工具机载计算机。
CN201921657562.8U 2018-10-01 2019-09-30 片上系统和电子装置 Active CN210776693U (zh)

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
CN210776693U true CN210776693U (zh) 2020-06-16

Family

ID=65685538

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201921657562.8U Active CN210776693U (zh) 2018-10-01 2019-09-30 片上系统和电子装置
CN201910943671.4A Pending CN110968901A (zh) 2018-10-01 2019-09-30 Dvfs功率管理的方法及对应的系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201910943671.4A Pending CN110968901A (zh) 2018-10-01 2019-09-30 Dvfs功率管理的方法及对应的系统

Country Status (4)

Country Link
US (1) US11455433B2 (zh)
EP (1) EP3633495B1 (zh)
CN (2) CN210776693U (zh)
FR (1) FR3086772B1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11880454B2 (en) * 2020-05-14 2024-01-23 Qualcomm Incorporated On-die voltage-frequency security monitor
CN114185836A (zh) * 2020-09-15 2022-03-15 阿里巴巴集团控股有限公司 片上系统和调节电压和频率的方法
CN113821834B (zh) * 2021-11-24 2022-02-15 飞腾信息技术有限公司 数据处理方法、安全架构系统和计算设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
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
US7137016B2 (en) * 2003-09-10 2006-11-14 Intel Corporation Dynamically loading power management code in a secure environment
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

Also Published As

Publication number Publication date
FR3086772A1 (fr) 2020-04-03
CN110968901A (zh) 2020-04-07
FR3086772B1 (fr) 2021-11-12
EP3633495A1 (fr) 2020-04-08
US20200104537A1 (en) 2020-04-02
EP3633495B1 (fr) 2021-10-27
US11455433B2 (en) 2022-09-27

Similar Documents

Publication Publication Date Title
CN210776693U (zh) 片上系统和电子装置
KR101712784B1 (ko) 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법
KR102013841B1 (ko) 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치
KR100823374B1 (ko) 휴면 보호
EP0821508B1 (en) Cryptographic unit touch point logic
US8677144B2 (en) Secure software and hardware association technique
EP3644181A1 (en) Embedded program secure boot method, apparatus and device, and storage medium
CN108885668B (zh) 用于用户数据的完整性检查的方法、处理器和设备
CN102063591B (zh) 基于可信平台的平台配置寄存器参考值的更新方法
CN109684030B (zh) 虚拟机内存密钥生成装置、以及方法、加密方法和SoC系统
CN112069506B (zh) 一种安全启动方法和装置
Buskey et al. Protected jtag
CN114528602B (zh) 基于攻击检测行为的安全芯片运行方法及装置
CN114942729A (zh) 一种计算机系统的数据安全存储与读取方法
CN116049825A (zh) 管理基板管理控制器的存储器中的秘密的存储
KR20200075451A (ko) 디바이스 고유암호키 생성기 및 방법
US20190042706A1 (en) Display of protected content using trusted execution environment
EP2815348A1 (en) Portable device for data encryption/decryption and/or compression/decompression
CN110932853B (zh) 一种基于可信模块的密钥管理装置和密钥管理方法
US20230237155A1 (en) Securing communications with security processors using platform keys
US11595201B2 (en) System and method for generation of a disposable software module for cryptographic material protection
CN109583196B (zh) 一种密钥生成方法
CN112468493A (zh) 基于现场总线的数据传输方法、身份识别方法及系统
US20230087714A1 (en) Method of logging in to operating system, electronic device and readable storage medium
CN117786699A (zh) 芯片初始化方法、装置、模块、电子设备和存储介质

Legal Events

Date Code Title Description
GR01 Patent grant
GR01 Patent grant