平码五不中公式规律
  • / 33
  • 下载费用:30 金币  

用于提高便携式计算设备PCD中的处理器的安全性的系统和方法.pdf

关 键 ?#21097;?/dt>
用于 提高 便携式 计算 设备 PCD 中的 处理器 安全性 系统 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580045922.7

申请日:

2015.08.20

公开号:

CN106663164A

公开日:

2017.05.10

当前法律状态:

实审

?#34892;?#24615;:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 21/52申请日:20150820|||公开
IPC分类号: G06F21/52(2013.01)I; G06F21/76(2013.01)I 主分类号: G06F21/52
申请人: 高通股份有限公司
发明人: Y·卡哈那; L·G·伦德布拉德
地址: 美国加利福尼亚
优?#28909;ǎ?/td> 2014.08.28 US 14/472,249
专利代理机构: 永新专利商标代理有限公司 72002 代理人: 张扬;王英
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580045922.7

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

实质审查的生效|||公开

摘要

本文给出了用于提高便携式计算设备(PCD)中的内核(例如,运行高级操作系统(HLOS)的内核)的安全性的系统和方法。在操作时,对SoC上的监视模块进行初始化。监视模块向SoC的内核发送请求,以及监视模块从内核接收响应。检查与监视模块通信的定时器。如果来自内核的响应是在定时器到期之前,在监视模块处被接收到的,则由监视模块对定时器进行重置或者禁用。否则,作为定时器到期的结果,监视模块向内核应用至少一项安全性措施。

权利要求书

1.一种用于提高便携式计算设备(PCD)中的片上系统(SoC)上的内核的安全性的方法,
所述方法包括:
?#36816;?#36848;SoC上的监视模块进行初始化;
从所述SoC的所述监视模块向所述SoC的所述内核发送请求;
在所述监视模块处,从所述内核接收响应;
检查与所述监视模块通信的定时器;以及
如果来?#36816;?#36848;内核的所述响应是在所述定时器到期之前,在所述监视模块处被接收到
的,则使用所述监视模块?#36816;?#36848;定时器进行重置,或者
作为所述定时器到期的结果,使用所述监视模块向所述内核应用至少一项安全性措
施。
2.根据权利要求1所述的方法,其中,所述至少一项安全性措施还包括:
作为所述定时器到期的结果,?#36816;?#36848;SoC进行重新初始化。
3.根据权利要求1所述的方法,其中,所述至少一项安全性措施还包括以下各项中的一
项或多项:
阻止所述内核访问所述PCD上存储的数据集,
阻止所述内核访问所述SoC上的多个组件中的一个或多个组件,以及
引起在所述PCD的显示器上显示警告。
4.根据权利要求1所述的方法,其中,作为所述定时器到期的结果,使用所述监视模块
向所述内核应用至少一项安全性措施还包括:
根据安全性水平状态,使用所述监视模块应用至少一项安全性措施。
5.根据权利要求1所述的方法,其中,作为所述定时器到期的结果,使用所述监视模块
向所述内核应用至少一项安全性措施还包括:
根据所述定时器已经到期的?#38382;?#20351;用所述监视模块应用至少一项安全性措施。
6.根据权利要求1所述的方法,其中:
所述内核包括位于所述SoC上的运行高级操作系统(HLOS)的处理器。
7.根据权利要求1所述的方法,其中,在所述监视模块处从所述内核接收响应还包括:
在所述监视模块处,接收关于所述内核的状态的信息;以及
在所述监视模块处,判断自从所述内核的初始化以来,所述内核的所述状态是否已经
发生改变。
8.根据权利要求1所述的方法,其中,在所述监视模块处从所述内核接收响应还包括:
在所述监视模块处,接收从与所述PCD物理上远离的计算机设备发送的通信。
9.一种用于提高便携式计算设备(PCD)中的内核的安全性的计算机系统,所述系统包
括:
片上系统(SoC)上的内核;
所述SoC上的与所述内核通信的监视模块;以及
与所述监视模块通信的定时器,
其中,所述监视模块被配置为:
向所述内核发送请求;
从所述内核接收响应;以及
如果所述响应是在所述定时器到期之前被所述监视模块接收到的,则?#36816;?#36848;定时器进
行重置,或者
作为所述定时器到期的结果,向所述内核应用至少一项安全性措施。
10.根据权利要求9所述的系统,其中,所述安全性措施包括:
作为所述定时器到期的结果,?#36816;?#36848;SoC和所述监视模块进行重新初始化。
11.根据权利要求9所述的系统,其中,所述安全性措施包括以下各项中的至少一项:
阻止所述内核访问所述PCD上存储的数据集,
阻止所述内核访问所述SoC上的多个组件中的一个或多个组件,以及
引起在所述PCD的显示器上显示警告。
12.根据权利要求9所述的系统,其中,所述监视模块还被配置为:
根据安全性水平状态,向所述内核应用安全性措施。
13.根据权利要求9所述的系统,其中,所述监视模块还被配置为:
根据所述定时器已经到期的?#38382;?#21521;所述内核应用多项安全性措施中的至少一项安全
性措施。
14.根据权利要求9所述的系统,其中:
所述内核包括位于所述SoC上的运行高级操作系统(HLOS)的处理器;以及
所述监视模块包括所述处理器的虚拟部分。
15.根据权利要求9所述的系统,其中,从所述内核接收响应还包括:
在所述监视模块处,接收关于所述内核的状态的信息;以及
在所述监视模块处,判断自从所述内核的初始化以来,所述内核的所述状态是否已经
发生改变。
16.根据权利要求9所述的系统,其中,从所述内核接收响应还包括:
在所述监视模块处,从与所述PCD物理上远离的计算机设备接收通信。
17.一种包括非临时性计算机可使用介质的计算机程序产品,其中,所述非临时性计算
机可使用介质中体现有计算机可读程序代码,所述计算机可读程序代码适于被执行,以实
现用于提高便携式计算设备(PCD)中的内核的安全性的方法,所述方法包括:
?#36816;?#36848;SoC上的监视模块进行初始化;
从所述SoC的所述监视模块向所述SoC的所述内核发送请求;
在所述监视模块处,从所述内核接收响应;
检查与所述监视模块通信的定时器;以及
如果所述响应是在所述定时器到期之前,在所述监视模块处被接收到的,则使用所述
监视模块?#36816;?#36848;定时器进行重置,或者
作为所述定时器到期的结果,使用所述监视模块向所述内核应用至少一项安全性措
施。
18.根据权利要求17所述的计算机程序产品,其中,所述至少一项安全性措施还包括以
下各项中的一项或多项:
作为所述定时器到期的结果,?#36816;?#36848;SoC和所述监视模块进行重新初始化,
阻止所述内核访问所述PCD上存储的数据集,
阻止所述内核访问所述SoC上的多个组件中的一个或多个组件,以及
引起在所述PCD的显示器上显示警告。
19.根据权利要求17所述的计算机程序产品,其中,作为所述定时器到期的结果,使用
所述监视模块向所述内核应用至少一项安全性措施还包括:
根据安全性水平状态,应用至少一项安全性措施。
20.根据权利要求17所述的计算机程序产品,其中,作为所述定时器到期的结果,使用
所述监视模块向所述内核应用至少一项安全性措施还包括:
根据所述定时器已经到期的?#38382;?#24212;用至少一项安全性措施。
21.根据权利要求17所述的计算机程序产品,其中:
所述内核包括位于所述SoC上的运行高级操作系统(HLOS)的处理器。
22.根据权利要求17所述的计算机程序产品,其中,在所述监视模块处从所述内核接收
响应还包括:
在所述监视模块处,接收关于所述内核的状态的信息;以及
在所述监视模块处,判断自从所述内核的初始化以来,所述内核的所述状态是否已经
发生改变。
23.根据权利要求17所述的计算机程序产品,其中,在所述监视模块处从所述内核接收
响应还包括:
在所述监视模块处,接收从与所述PCD物理上远离的计算机设备发送的通信。
24.一种用于提高便携式计算设备(PCD)中的内核的安全性的计算机系统,所述系统包
括:
用于?#36816;?#36848;SoC上的监视模块进行初始化的单元;
用于从所述SoC的所述监视模块向所述SoC的所述内核发送请求的单元;
用于在所述监视模块处,从所述内核接收响应的单元;
用于检查与所述监视模块通信的定时器的单元;以及
用于如果所述响应是在所述定时器到期之前,在所述监视模块处被接收到的,则?#36816;?br />述定时器进行重置的单元,或者
用于作为所述定时器到期的结果,向所述内核应用至少一项安全性措施的单元。
25.根据权利要求24所述的系统,其中,所述至少一项安全性措施还包括以下各项中的
一项或多项:
作为所述定时器到期的结果,?#36816;?#36848;SoC和所述监视模块进行重新初始化,
阻止所述内核访问所述PCD上存储的数据集,
阻止所述内核访问所述SoC上的多个组件中的一个或多个组件,以及
引起在所述PCD的显示器上显示警告。
26.根据权利要求24所述的系统,其中,所述用于作为所述定时器到期的结果,向所述
内核应用至少一项安全性措施的单元还包括:
用于根据安全性水平状态,应用至少一项安全性措施的单元。
27.根据权利要求24所述的系统,其中,所述用于作为所述定时器到期的结果,向所述
内核应用至少一项安全性措施的单元还包括:
用于根据所述定时器已经到期的?#38382;?#24212;用至少一项安全性措施的单元。
28.根据权利要求24所述的系统,其中:
所述内核包括位于所述SoC上的运行高级操作系统(HLOS)的处理器。
29.根据权利要求24所述的系统,其中,所述用于在所述监视模块处从所述内核接收响
应的单元还包括:
用于在所述监视模块处,接收关于所述内核的状态的信息的单元;以及
用于在所述监视模块处,判断自从所述内核的初始化以来,所述内核的所述状态是否
已经发生改变的单元。
30.根据权利要求24所述的系统,其中,所述用于在所述监视模块处从所述内核接收响
应的单元还包括:
用于在所述监视模块处,接收从与所述PCD物理上远离的计算机设备发送的通信的单
元。

说明书

用于提高便携式计算设备(PCD)中的处理器的安全性的系统和方法

背景技术

具有通过各种各样的通信介质(其包括无线信号)与其它设备进行通信的处理器
的设备到处可见。包括便携式计算设备(PCD)的移动设备可以用于经由无线、模拟、数字和
其它方式,与各种各样的其它设备进行通信。这些移动设备可以包括移动电话、便携式数字
助理(PDA)、便携式游戏控制台、掌上型计算机、平板计算机和其它便携式电子设备。

除了主要功能之外,PCD还可以用于:下载和玩游戏;下载和播放音乐;下载和观看
视频;全球定位系统(GPS)导航、web浏览、以及运行诸如日历和地址应用、电子钱包软件等
等之类的应用。

为了?#35270;?#36825;些不?#26174;?#38271;的用途和对更高性能的需求,现代PCD通常包括片上系统
(SoC),SoC包括用于控制或者执行该PCD的不同功能的一个或多个内核(例如,中央处理单
元、图形处理单元等等)。但是,操作每一个内核/CPU会增加PCD上的功耗、减少电池寿命、增
加PCD的触摸温度、使服务劣化等等。

但是,固有的PCD的不?#26174;?#21152;的用途,增加了安全性漏洞的风险,其可能具有显著
的?#22909;?#24433;响。解决这些安全性问题的先前尝试具有一些限制。软件解决方案仍然具有安全
性漏洞的高潜在性,并且可能难以验证。?#24067;?#35299;决方案对于SoC中的高效实现来说,消耗太
多的功率和/或芯片面积。

先前的这些尝试可能很容易地被SoC制造商(其将SoC实现在PCD中)的供应商规
避,例如,其可以具有改变?#24230;?#24335;操作系统(如,高级操作系统(HLOS)的能力,以确保在SoC
和供应商的PCD(其规避了用于提供针对要在PCD中使用的SoC的安全性的先前的尝试)之间
的兼容性。类似地,尝试对PCD进行“?#25509;?#30340;终端用户可能改变操作系统,并且进一步规避
用于为SoC提供安全性的先前的尝试。

因此,需要用于提高在PCD中使用的SoC的安全性的改进系统和方法。

发明内容

公开了用于允许提高便携式计算设备(PCD)中的片上系统(SoC)上的内核的安全
性的系统和方法。在操作时,对SoC上的监视模块进行初始化。监视模块向SoC的内核发送请
求,以及监视模块从内核接收响应。检查与监视模块通信的定时器。如果来自内核的响应是
在定时器到期之前,在监视模块处被接收到的,则由监视模块对定时器进行重置或者禁用。
否则,作为定时器到期的结果,监视模块向内核应用至少一项安全性措施。

一?#36136;?#20363;性实施例是包括片上系统(SoC)上的内核的PCD。SoC上的监视模块与该
内核通信,并且一个定时器与该监视模块通信。在该示例性实施例中,监视模块被配置为:
向内核发送请求;从内核接收响应;以及如果响应是在定时器到期之前被监视模块接收到
的,则对定时器进行重置;或者作为定时器到期的结果,向该内核应用至少一项安全性措
施。

另一?#36136;?#20363;性实施例是一种包括非临时性计算机可使用介质的计算机程序产品,
其中,所述非临时性计算机可使用介质中体现有计算机可读程序代码,所述计算机可读程
序代码适于被执行,以实现用于提高便携式计算设备(PCD)中的内核的安全性的方法,该方
法包括:对SoC上的监视模块进行初始化;从SoC的监视模块向SoC的内核发送请求;在监视
模块处,从内核接收响应;检查与监视模块通信的定时器;以及如果响应是在定时器到期之
前,在监视模块处被接收到的,则使用监视模块对定时器进行重置;或者作为定时器到期的
结果,使用监视模块向内核应用至少一项安全性措施。

附图说明

在附图中,除非另外指出,否则贯穿各个视图的相同附图标记指代类似的部分。对
于具有诸如“102A?#34987;頡?02B”之类的字母?#22336;?#30340;附图标?#23884;?#35328;,这些字母?#22336;?#21629;名可以区分
在同一附图中出现的两个类似部分或者组成部分。?#24065;?#20010;附图标记旨在涵盖所有附图之中
具有相同附图标记的所有部分时,可以省略用于附图标记的字母?#22336;?#21629;名。类似地,对于具
有‘诸如102之类的名称’的附图标?#23884;?#35328;,该‘名称’可以代表具有相同附图标记(但不具有
该‘名称’)的基本元素的替代实施例。

图1是可以在其中实现本发明的便携式计算设备(PCD)的示例性实施例的框图;

图2是示出用于提高PCD(例如,图1所示出的PCD实施例)中的处理器的安全性的示
例性系统的框图;

图3是描绘了使用图1中所示出的PCD实施例的部分来实现的图2的示例性系统的
方面的框图;

图4是图2和/或图3的示例性系统可以在之下操作的示例性安全性状态的示图。

图5A是描述了用于提供针对PCD中的一个或多个处理器的提高的安全性的方法的
示例性实施例的方面的流程图;

图5B描绘了能够执行图5A中所示出的方法的方面的示例性组件;

图6A是描述了用于提供针对PCD中的一个或多个处理器的提高的安全性的方法的
示例性实现的另外方面的流程图;

图6B描绘了能够执行图6A中所示出的方法的方面的示例性组件。

具体实施方式

本文所使用的“示例性?#24065;?#35789;意味着“用作例子、例证或说明”。本文中描述为“示例
性”的任何方面不一定被解释为比其它方面更优选或更具优势。

在本说明书中,术语“应用?#34987;?#21487;以包括具有可执行内容的文件,例如?#32791;?#26631;代码、
脚本、?#32440;?#30721;、标记语言文件和补丁。?#36865;猓?#26412;文所引用的“应用?#34987;?#21487;以包括:在性质上不可
执行的文件,例如,需要被打开的文档或者需要进行访问的其它数据文件。

?#36865;猓?#26415;语“内容?#24065;?#21487;以包括具有可执行内容的文件,例如?#32791;?#26631;代码、脚本、?#32440;?br />代码、标记语言文件和补丁。?#36865;猓?#26412;文所引用的“内容?#34987;?#21487;以包括:在性质上不可执行的
文件,例如,需要被打开的文档或者需要进行访问的其它数据文件或者数据值。

如本说明书中所使用的,术语“组件”、“数据库”、“模块”、“系统”等等旨在指代与
计算机相关的实体,无论其是?#24067;?#22266;件、?#24067;?#21644;软件的结合、软件或运行中的软件。例如,
组件可以是,但不限于是:在处理器上运行的过程、处理器、对象、可执行文件、执行的线程、
程序和/或计算机。举例而言,在计算设备上运行的应用和该计算设备都可以是组件。一个
或多个组件可以存在于过程和/或执行的线程中,并且组件可以位于一个计算机中和/或分
布在两个或更多计算机之间。?#36865;猓?#36825;些组件能够根据其上存储有各?#36136;?#25454;结构的各种计
算机可读介质来执行。这些组件可以通过诸如根据具有一个或多个数据分组的信号(例如,
来自一个组件的数据,该组件与本地系统、分布式系统中的另一个组件进行交互和/或以信
号的方式通过诸如互联网之类的网络与其它系统进行交互),以本地和/或远程过程的方式
进行通信。

在本说明书中,使用术语“便携式计算设备”(“PCD”)来描述在有限容量的可充电
电源(例如,电池和/或电容)上进行操作的任何设备。尽管具有可充电电源的PCD已经使用
了数十年,但与第三代(“3G”)和第四代(“4G”)无线技术的出现伴随发生的?#31245;?#20805;电电池的
技术进步,已经实现了具有多种能力的众多PCD。因此,PCD可以是蜂窝电话、卫星电话、寻呼
机、PDA、智能电话、导航设备、智能本或阅读器、媒体播放器、前述设备的组合、具有无线连
接的膝上型计算机或平板计算机等等。

在本说明书中,术语“中央处理单元(“CPU”)”、“数?#20013;?#21495;处理器(“DSP”)”、“图形
处理单元(“GPU”)”、“芯片”、“视频编解码器”、“系统总线”、“图像处理器”和“媒体显示处理
器(“MDP”)?#20445;?#26159;可以在SoC上实现的处理组件的非限制性示例。用于处理组件的这些术语可
互换地使用,除非另外指出。?#36865;猓?#22914;下面所讨论的,上面的?#25105;?#32452;合或者它们的等同物可
以实现在本文通常称为“内核”和/或“子内核”的一个或多个不同的处理组件中,或者包括
该一个或多个不同的处理组件。

在本说明书中,术语“工作负荷”、“处理负荷”、“处理工作负荷”和“图形工作负荷”
可以互换地使用,并通常针对于与给定的实施例中的给定处理组件相关联(或者向其分配)
的处理负担、或者处理负担的百分比。另外,可互换地使用相关术语“帧”、“代码块”和“代码
的块”来指代给定工作负荷的一部分或者一段。除了上面所规定的之外,“处理组件”等等可
以是,但不限于是:中央处理单元、图形处理单元、内核、主核、子核、处理区域、?#24067;?#24341;擎等
等、或者位于便携式计算设备中的集成电路之内或者之外的任何组件。

本领域普通技术人员应当认识到,术语“MIPS”表示处理器能?#35805;?#29031;给定的功率频
?#21097;?#27599;秒处理的指令的数以百万计的数量。在本说明书中,将该术语使用成测量的通用单
位,以指示该示例性实施例中的处理器性能的相?#36816;?#24179;,并且其不应被解释为用于建议:落
入本公开内容的保护?#27573;?#20043;内的任何给定实施例必须包括具有任何特定的Dhrystone评级
或者处理能力的处理器,或者必须不包括该处理器。另外,如本领域普通技术人员所应当理
解的,处理器的MIPS设置直接与提供给该处理器的功率、?#24503;?#25110;者工作?#24503;?#30456;关。

本文的用于提高PCD中的处理器或内核的安全性的系统和方法,提供了一种在片
上系统(SoC)连同一个或多个额外的处理器(其包括运行高级操作系统(“HLOS”)的处理器)
上实现监视模块的高性价比方式。监视模块以确保监视模块的完整性的方式,响应于SoC的
初始化,来进行初始化。另外,监视模块随后可以通过以下方式,采取动作来确保SoC的一个
或多个处理器或内核的安全性:监视内核的状态,并且如果一个或多个内核的状态以?#22909;?br />或意想不到的方式发生改变,或者如果这些内核没有提供监视模块所需要的信息、数据和/
或代码,则关于这些内核实现安全性措施。

在本文的系统和方法中,监视模块自身可以是?#35272;?#20110;有限的RAM或ROM存储器的简
单组件,使得监视模块?#35272;?#20110;另一个内核(例如,HLOS内核)来启动进行初始化所需的代码。
在启动之后,监视模块使用仅可以由该监视模块进行重置的定时器,根据期望对SoC上的一
个或多个内核的状态进行监视。本文的系统和方法通过实现监视模块,允许实现针对SoC的
一个或多个内核的健壮和灵活的安全性,其中该监视模块在功耗和SoC的芯片面积二者方
面,对于SoC施加最小的负担。

在操作期间,可以对SoC进行初始化,触发对监视模块的初始化。随后,监视模块设
置定时器,并向SoC上的内核请求信息。在对SoC进行初始化的情况下,所请求的信息可以是
监视模块为了完成初始化和/或操作所需的启动代码。如果在定时器到期之前,监视模块没
有接收到期望的信息,和/或如果监视模块所接收的信息不是监视模块所期望的内容,则监
视模块可以对该内核实现安全性措施,其包括:持有该内核作为“人质?#20445;?#30452;到所请求的信息
被提供为止,和/或对整个SoC重新初始化。如果在定时器到期之前,监视模块接收到所请求
的信息,则监视模块对定时器进行重置,并且根据该实现,监视模块可以自己关闭,或者针
对预定的时间间隔/预定的未来事件,进入?#26723;?#21151;率休眠或空闲模式,或者监视模块可以继
续对SoC的一个或多个内核(其包括HLOS内核)的操作进行监视。

在一些实现中,监视模块可以通过以下方式,对SoC的一个或多个内核的状态进行
监视:检查内核的状态,并且如果内核的状态发生改变,则允许定时器继续进行计数,或者
如果内核的状态没有发生改变,则重置定时器。如果定时器到期,则作为定时器到期的结
果,监视模块向该内核应用至少一个安全性措施。这些安全性措施可以包括:对整个SoC重
新初始化、对特定的内核重新初始化、阻止该内核访问PCD上存储的数据、阻止该内核访问
SoC上的一个或多个其它组件、和/或引起在PCD的显示器上显示的警告。?#36865;猓?#36824;可以根据
预先规定的安全性策略(例如,目前的安全性水平状态)?#20174;?#29992;安全性措施。类似地,如果期
望的话,可以以分层的方式?#20174;?#29992;这些安全性措施,其中,更严厉的措施被保留用于定时器
的多个或连续到期。

在一个实施例中,可以使用处理器、有限的RAM或ROM存储器和定时器来实现监视
模块,但不直接访问闪存。在其它实施例中,可以将监视模块虚拟地实现成例如一个内核
(例如,运行HLOS的内核)的一部分或者一个分区。这种为SoC上的一个或多个内核提供健壮
的和灵活的安全性措施,同时使监视模块的功耗和/或在SoC上的占用面积最小化的能力,
允许以高性价比的方式,来提高针对PCD中的处理器或内核的安全性。

可以利用?#24067;?#25110;软件的方式,来实现本文所描述的用于提供针对PCD中的处理器
或内核的提高的安全性的系统、或者该系统的部分。当利用?#24067;?#30340;方式来实现时,这些设备
可以包括下面技术中的任何一种或者组合,其中这些技术都是本领域所公知的:?#33267;?#30005;子
组件、集成电路、具有被适当配置的半导体器件和阻抗式元件的专用集成电路等等。这些硬
件设备中的任何一者,无论是与其它设备或其它组件(例如,存储器)一起操作还是单独操
作,还可以形成或者包括用于执行所公开的方法的各种操作或步骤的组件或手段。

当利用软件的方式来实现或者部分地实现本文所描述的PCD或其它系统时,该软
件部分可以用于执行本文所描述的方法的各个步骤,其包括对SoC和/或SoC的监视模块进
行初始化。该软件部?#21482;?#21487;以用于:在监视模块处,从内核接收信息,对接收的信息进行验
证,设置/重置与监视模块处于通信状态中的定时器,和/或对SoC的一个或多个内核实现安
全性措施。类似地,该软件部分可以用于通过以下方式来监视内核的状态:如果内核的状态
发生改变,允许定时器继续计数,或者如果内核的状态没有发生改变,则重置定时器。该软
件部分可以用于:作为定时器到期的结果,还向内核应用一个或多个安全性措施(或者对整
个SoC进行重置)。

可以将在表示各种元素时使用的软件和数据存储在存储器中,并由适当的指令执
行系统(微处理器)来执行。该软件可以包括用于实现逻辑功能的可执行指令的?#34892;?#34920;,并
且其可以体现在任何“处理器可读介质”中,以便由或者结?#29616;?#20196;执行系统、装置或设备(例
如,单核或多核处理器或者包含处理器系统)来使用。这些系统通常从指令执行系统、装置
或设备中访?#25910;?#20123;指令,并执行这些指令。

图1是PCD 100的示例性、非限制性方面的框图,PCD 100可以以能够与一个或多个
无线通信系统进行通信的无线电话的形式来实现本发明的系统和方法。该无线通信系统可
以是宽带无线通信系统,其包括长期演进(LTE)系统、码分多址(CDMA)系统、频分多址
(FDMA)系统、全球移动通信系统(GSM)系统、无线局域网(WLAN)系统、?#25345;?#20854;它无线系统、或
者这些系统中的任何系统的组合。CDMA系统可以实现宽带CDMA(WCDMA)、CDMA 1X、演进数据
优化(EVDO)、时分同步CDMA(TD-SCDMA)或者?#25345;?#20854;它版本的CDMA。

如图所示,PCD 100包括片上系统(或SoC)102,后者包括耦合在一起的异构多核中
央处理单元(“CPU”)110和模拟信号处理器126。CPU 110可以包括第零内核120、第一内核
122和第N内核124,如本领域普通技术人员所理解的。?#36865;猓?#36824;可以使用数?#20013;?#21495;处理器
(“DSP”)来替代CPU 110,如本领域普通技术人员所理解的。?#36865;猓?#22914;异构多核处理器领域的
技术人员所理解的,内核120、122、124中的每一个内核可以在类似的操作条件下,按照不同
的效率来处理工作负荷。内核120、122、124中的每一个内核可以控制PCD 100的一个或多个
功能。例如,第一内核120可以是用于控制PCD 100中的图形的图形处理单元(GPU)。?#36865;猓?#35813;
GPU/第一内核120还可以包括:为了控制PCD 100中的图形而所必需的驱动器和/或其它组
件,包括控制GPU内核120和存储器112(其包括缓冲器)之间的通信。对于另一个例子,不同
的内核(如,第N内核124)可以运行PCD操作系统,例如,高级操作系统(HLOS)。该第N/HLOS内
核124还可以包括为了运行HLOS所必需的驱动器、?#24067;?#25509;口、和/或其它组件,包括内核230
和存储器112(其可以包括闪存)之间的通信。

PCD 100可以包括与多核CPU 110和/或内核120、122、124中的一个或多个内核进
行通信的监视模块116。监视模块116可以用于向这些内核中的一些或全部内核提供安全
性,如下面所描述的。监视模块116可以包括由多核CPU 110执行的软件。但是,在不脱离本
公开内容的保护?#27573;?#30340;基础上,还可以通过?#24067;?#21644;/或固件来形成监视模块116。在其它实
现中,PCD 100可以不包括与多核CPU 110分离的监视模块116,而是监视模块116替代地是
多核CPU 110的一部分。在这些实施例中,可以将监视模块116实现成多核CPU 110的单独的
逻辑单元、软件或者固件组件,或者可以虚拟地实现监视模块116,例如,实现成内核120、
122、124中的一个或多个内核的一个分区或一部分。

如图1中所示,显示控制器128和触摸屏控制器130耦?#31995;?#22810;核CPU 110。转而,在片
上系统102之外的显示器/触摸屏132,耦?#31995;?#26174;示控制器128和触摸屏控制器130。数码相机
148也可以耦?#31995;?#22810;核CPU 110。在这些实施例中,数码相机148可以由多核CPU 110中的内
核中的一个内核进行控制。在一个示例性方面,数码相机148是电荷耦合器件(CCD)相机或
者互补金属氧化物半导体(CMOS)相机。

?#36865;猓?#22270;1的PCD 100还可以包括耦?#31995;?#22810;核CPU 110的视?#21040;?#30721;器134,例如,逐行
倒相(PAL)编码器、顺序与存储彩色电视系统(SECAM)编码器、或者国?#19994;?#35270;系统委?#34987;?br />(NTSC)编码器,或者任何其它类型的视?#21040;?#30721;器134。?#36865;猓?#35270;频放大器136耦?#31995;?#35270;频编码
器134和显示器/触摸屏132。视频端口138耦?#31995;?#35270;频放大器136。如图1中所示,通用串行总
线(USB)控制器140耦?#31995;?#22810;核CPU 110。?#36865;猓琔SB端口142耦?#31995;経SB控制器140。存储器112
也示出成耦?#31995;?#22810;核CPU 110。例如,该存储器112可以是随机存取存储器(RAM)、只读存储
器(ROM)、闪存或者其任何组合。用户识别模块(SIM)卡146还可以耦?#31995;?#22810;核CPU 110。在其
它实施例中,可以实现多个SIM卡146。

如图1中所进一步示出的,立体声音频CODEC 150可以耦?#31995;?#22810;核CPU 110。?#36865;猓?br />音频放大器152可以耦?#31995;?#31435;体声音频CODEC 150。在一个示例性方面,第一立体声扬声器
154和第二立体声扬声器156耦?#31995;?#38899;频放大器152。图1示出了麦克风放大器158还可以耦
?#31995;?#31435;体声音频CODEC 150。另外,麦克风160可以耦?#31995;?#40614;克风放大器158。在一个特定的
方面,调频(FM)无线调谐器162可以耦?#31995;?#31435;体声音频CODEC 150。?#36865;猓現M天线164耦?#31995;?br />FM无线调谐器162。?#36865;猓?#31435;体声耳机166可以耦?#31995;?#31435;体声音频CODEC 150。

?#36865;猓?#22270;1还指?#38236;?#21046;解调器设备/射频(“RF”)收发机168可以耦?#31995;?#22810;核CPU
110。调制解调器设备168可以支持诸如GSM、CDMA、W-CDMA、TDSCDMA、LTE以及LTE的变形(例
如,但不限于FDB/LTE和PDD/LTE无线协议)之类的无线通信协议中的一者或多者。另外,可
以存在多个调制解调器设备168,并且在这些实施例中,不同的调制解调器设备168可以支
持上面所列出的无线通信协议和/或技术中的一些或全部。

在一些实现中,调制解调器设备168还可以包括各种组件(其包括单独的处理器、
存储器和/或RF收发机)。在其它实现中,调制解调器设备168可以简单的是RF收发机。?#36865;猓?br />调制解调器设备168可以合并到集成电路中。也就是说,包括调制解调器设备168的这些组
件可以是芯片中的完整解决方?#31119;?#24182;包括可以由本文所描述的系统和方法进行监视的其自
己的处理器和/或内核。替代地,包括调制解调器设备168的各种组件可以耦?#31995;?#22810;核CPU
110,并由CPU 110的内核120、122、124中的一个内核进行控制。RF开关170可以耦?#31995;降?#21046;
解调器设备168和RF天线172。在各个实施例中,可以存在多付RF天线172,并且每一付这种
RF天线172可以通过RF开关170来耦?#31995;降?#21046;解调器设备168。

如图1中所示,键盘174可以直接地或者通过模拟信号处理器126,来耦?#31995;?#22810;核
CPU 110。?#36865;猓?#20855;有麦克风的单声道耳机176可以耦?#31995;?#22810;核CPU 110和/或模拟信号处理
器126。?#36865;猓?#25391;动器设备178还可以耦?#31995;?#22810;核CPU 110和/或模拟信号处理器126。?#36865;猓?#22270;
1还示出了电源188可以耦?#31995;?#29255;上系统102,并且在一些实现中,电源188经由USB控制器
140来耦合。在一个特定的方面,该电源188是直流(DC)电源,其向需要功率的PCD 100的各
个组件供电。?#36865;猓?#22312;一个特定的方面,该电源188可以是可充电DC电池或者DC电源,后者是
从连接到AC电源的交流电(AC)到DC变换器来得到的。

?#36865;猓?#22810;核CPU 110还可以耦?#31995;?#19968;个或多个内部、片上热传感器157A,以及一个
或多个外部、片外热传感器157B。片上热传感器157A可以包括一个或多个与绝对温度成比
例(“PTAT”)温度传感器,后者是基于垂直PNP结构,并通常专用于互补金属氧化物半导体
(“CMOS”)超大规模集成(“VLSI”)电路。片外热传感器157B可以包括一个或多个热敏电阻。
热传感器157可以产生电压下?#25285;?#21033;用模数转换器(“ADC”)控制器103将该电压下降转换成
数?#20013;?#21495;。但是,在不脱离本公开内容的保护?#27573;?#30340;基础上,也可以使用其它类型的热传感
器157。

?#36865;猓?#22270;1还指出PCD 110还可以包括网络卡114,后者可以用于接入数据网络(例
如,局域网、个域网或者任何其它网络)。网络卡114可以是蓝牙网络卡、WiFi网络卡、个域网
(PAN)卡或者本领域公知的任何其它网络卡。?#36865;猓?#21487;以将网络卡114合并在集成电路中。也
就是说,网络卡114可以是芯片中的完整解决方?#31119;?#24182;且其可以不是单独的网络卡114。

如图1中所示,显示器/触摸屏132、视频端口138、USB端口142、照相机148、第一立
体声扬声器154、第二立体声扬声器156、麦克风160、FM天线164、立体声耳机166、RF开关
170、RF天线172、键盘174、单声道耳机176、振动器178和电源180,在SoC 102之外。

?#36865;猓琒oC 102还可以包括各种总线控制器(没有示出)。例如,第一例子可以响应
总线接口中的信号,其中该总线接口通信地将CPU 110耦?#31995;?#22810;媒体子系统的组件(其包括
视频编码器134)。但应当理解的是,可以布置?#25105;?#25968;量的类似配置的总线控制器,以监测在
片上系统102中布置的总线接口。替代地,单个总线控制器可以配置有被布置为监测两个或
更多总线接口的输入,其中这些总线接口根据需要,在CPU 110和PCD 100的各个子系统之
间传输信号。

在特定的方面,可以经由存储器112和/或位于CPU 110上的存储器中所存储的数
据和处理器指令的组合,来实现本文所描述的方法步骤中的一个或多个。这些指令可以由
多核CPU 110中的一个或多个内核120、122、124来执行,以便执行本文所描述的方法。?#36865;猓?br />多核CPU 110、内核120、122、124中的一个或多个内核、存储器112、监视模块116或者它们的
组合,可以用作用于执行本文所描述的方法步骤中的一个或多个,以便提高PCD中的处理器
或内核的安全性的手段。

图2是示出用于提高PCD(例如,图1所示出的PCD实施例)中的处理器或内核的安全
性的示例性系统的框图。如图2中所示,该示例性系统包括可以实现在PCD中的片上系统
(SoC)集成电路(IC)202(其类似于图1中的SoC 102)。图2的SoC IC 202包括内核220和监视
模块216。内核220可以是来自图1的多核CPU 110的内核120、122、124中的一个内核,并且在
一个实施例中,其可以是运行用于PCD 100的HLOS的内核120、122、124。

如图2中所示,内核220包括耦?#31995;?#23384;储器223的CPU 221。CPU 221可以是上面参照
图1所讨论的处理器的类型中的任何一种,并且其可以是用于SoC IC 202的功能(例如,
HLOS)的专用处理器,也可以是执行SoC IC 202的多项功能的更通用处理器。在一些实施例
中,CPU 221还可以用于运行、控制或者操作SoC IC 202或PCD的其它功能。

存储器223可以是期望的任何类型的存储器,并且其可以是专用于内核220的存储
器223,也可以是在除了内核220之外的一个或多个额外的内核或处理器之间共享的存储
器。在一些实施例中,存储器223是闪存。尽管在图2中将存储器223示出成位于内核220之
内,但存储器223也可以位于与内核220物理上分离的位置,位于SoC IC 202上或者PCD中的
其它地方。在图2所示出的实施例中,存储器223包含监视启动代码225a(其中,监视模块216
需要该监视启动代码225a以便开始操作)以及监视数据文件225b(其中,监视模块216在其
操作期间,需要该监视数据文件225b,如下面所讨论的)。

?#36865;猓?#22270;2的示例性系统还包括SoC IC 202上与内核220进行通信的监视模块216。
在所示出的系统中,监视模块216包括与内核220的CPU 22进行通信的CPU 217。?#36865;猓?#30417;视
CPU 217还可以是上面参照图1所讨论的处理器类型中的任何一种,并且其可以是用于监视
模块216的专用处理器。尽管在图2中示出成SoC IC 202上的单独组件,但在一些实施例中,
监视模块216可以是内核220的一部分,例如,内核220的一个虚拟部分或者分区。在这些实
施例中,CPU 217可以是CPU 221的一个部分或者分区,而不是如图2中所示出的单独的物理
组件。

图2的监视模块216还包括监视存储器218和定时器219,二者均与监视CPU 217进
行通信。在图2的实施例中,存储器优选地是随机存取存储器(RAM)或者只读存储器(ROM),
但其优选地不是闪存。与RAM或ROM存储器相比,典型的闪存需要更复杂的驱动器,并且实现
起来更加复杂/与其进行接口更加复杂。

对于图2中所示出的实施例而言,期望保持监视模块216简单和高效,使用于操作
监视模块216的功耗减到最小,并使实现监视模块216所需的SOC IC 202的芯片面积减到最
小。通常存储在闪存中的代码和/或数据,替代地存储在与监视模块216进行通信、并且监视
模块216进行监视的内核220的一个或多个存储器223中。监视存储器218可以是用于监视模
块216的专用存储器,也可以是被其它处理器(例如,图1中的多核CPU 110的内核120、122、
124)进行共享的存储器(例如,图中的存储器112)的一部分。另外,尽管在图1中示出成监视
模块216的一部分,但监视存储器218也可以位于与监视模块216物理上分离的位置,位于
SoC IC 202上或者PCD中的其它地方。

如图2中所示,监视模块216还包括与监视CPU 217进行通信的定时器219。在一些
实现中,定时器219可以用于确保内核220最低限度地提供所必要的监视启动代码225a,以
允许监视模块216正常地启动。?#36865;猓?#23450;时器219还可以用于确保内核220提供任?#21619;?#22806;的信
息(例如,监视模块216所需的监视数据文件225b),和/或允许监视模块216监视内核220的
正在进行的操作,以防止内核220进行不想要的改变、变化或者动作。

定时器219可以是?#24067;?#22266;件或软件组件,并且可以与监视模块216位于一起,也可
以位于与监视模块216物理上分离的位置(但与其进行通信)。另外,尽管示出成单个组件,
但定时器219可以包括多个组件,例如,两个定时器(没有示出)或定时器319和计数器317
(参见图3A)。?#36824;?#22914;何实现,定时器219都不由内核220进行重置,而在图2的实现中,其仅仅
可以由监视模块216进行重置,如下面所进一步讨论的。

转到图3,该图描绘了使用图1的PCD实施例的部分来实现的图2的示例性系统的方
面的框图。如图3中所示,在PCD的SoC IC 302上,提供与内核320进行通信的监视模块316。
图3中所示出的内核320的实施例可以包括图2中所示出的内核220的另外组件。在其它实施
例中,图3的内核320可以简单地是处理器(例如,图1的内核120、122、124中的一个内核),而
图2的内核220的其它部分的功能由与内核320相分离的组件来提供。在其它实施例中,内核
320可以是多个单独的内核(例如,内核120、122、124),每一个单独的内核与图3中所示出的
另外组件中的一个组件进行通信,或者专用于其(即,GPU内核耦?#31995;?#25110;者专用于视频编码
器334,调制解调器内核耦?#31995;?#25110;者专用于调制解调器设备368等等)。

尽管图3的监视模块316没有像图2的监视模块216那样,示出成具有存储器或处理
器,但在监视模块316中也可以包括这些组件。在其它实施例中,这些组件可以不位于监视
模块316之中,替代地,这些组件的功能可以由与监视模块316位于不同位置但与之进行通
信的?#24067;?#36719;件和/或固件来提供。监视模块316包括计数器317,并且监视模块316还与外部
定时器319进行通信。图3A的实施例的计数器317和外部定时器318一起来执行用于监视模
块316的定时功能。

图3中所示出的内核320还与SOC IC 302和/或PCD的其它部分或组件(其包括USB
控制器340(并通过USB控制器340,与USB端口342))进行通信。内核320可以直接地与USB控
制器340进行通信,和/或直接地控制USB控制器340。替代地,和/或在PCD的操作期间的各个
时间处,内核320可以间接地与USB控制器340进行通信,例如,通过与直接地和USB控制器
340进行通信的一个或多个组件或处理器(例如,图1的内核120、122、124或者模拟信号处理
器126)进行通信。与USB控制器340(和USB端口342)的直接或间接通信,可以允许内核320针
对例如通过USB端口342连接到该PCD的其它设备或计算机系统来输入和/或输出数据,和/
或针对通过USB端口342连接到该PCD的外围设备来接收或者提供输入。

?#36865;猓?#22270;3的内核320还示出成与SOC IC 302的网络卡314和调制解调器设备/RF收
发机368进行通信。同样,内核320可以直接地与SoC IC 302的这些组件进行通信,和/或控
制SoC IC 302的这些组件,允许内核320与其它设备或计算机系统进行无线地通信,以进行
网页浏览、上传/下载文件等等。替代地,和/或在PCD的操作期间的各个时间处,内核320可
以间接地与网络卡314和调制解调器设备/RF收发机368进行通信,例如,通过与直接地和这
些组件中的一个或多个组件进行通信的一个或多个组件或处理器(例如,图1的内核120、
122、124或者模拟信号处理器126)进行通信。

最后,在图3所示出的方面,内核320还与视频编码器334进行通信,其中视频编码
器334可以允许PCD播放包括视?#30340;?#23481;的各?#32622;?#20307;文件。同样,内核320可以直接地或间接地
与视频编码器334进行通信,和/或直接地或间接地控制视频编码器334,如上面参照SoC IC
302的组件所描述的。

在操作时,在SoC IC 302的初始化时(这可以是从关机(例如,当PCD的电池被完全
耗尽时)来开始加电时),安全性监视模块316也尝试进行初始化/启动。内核320包含或者能
够访问为了监视模块316正常地初始化和/或操作所需的监视启动代码225(参见图2)或者
其它信息。如果内核320没有以及时地方式,向监视模块316提供该必要的代码,或者如果内
核320没有提供为了监视模块316正常地初始化/操作所需的正确代码,则定时器319到期/
被触发,这导致监视模块316采取安全性措施。这些安全性措施的?#27573;?#21487;以是从在PCD的屏
幕上显示警告,到?#31245;?#20869;核320和/或SoC IC 302的启动和/或操作。

在另一种实现中,在监视模块316已经初始化之后,监视模块316可以执行对SoC
IC 302的一个或多个处理器或内核(其包括内核320)的额外监视。监视模块316可能不时地
需要额外的信息、数据或数据文件(例如,其包括内核320中所包含的额外数据)来执行这些
额外的功能。在这些实现中,监视模块316可?#36816;?#37266;或者以其它方式触发、请求来自内核320
的额外信息。如果内核没有提供监视模块316所请求的额外信息,则定时器319到期/被触
发,这也导致监视模块316采取一个或多个安全性措施,其包括持有该内核作为“人质?#20445;?#21644;/
或使内核320或SoC IC 302重新启动/重新初始化。

在上面的任?#38382;?#20363;性操作中,除非遵守监视模块316的要求,否则内核320不会自
身来停止或者重置定时器319,或者使定时器319被重置。也就是说,除非内核320允许安全
性监视模块316正常地启动和/或操作,否则监视模块316可以将内核320或SoC IC 302的启
动和/或操作?#31245;?#21040;任何期望的水平,其包括强制内核320或SoC IC 302进行完全地重新初
始化/重新启动。

在图3的实施例中,如果内核320以及时地方式向监视模块316提供适当的代码/请
求的信息,则监视模块316针对某一时间间隔对定时器319进行重置,监视模块316可以按照
该时间间隔的时间来监视、检查或测试内核320的状态。内核320的状态的这种监视可以是
源自于:监视模块316按照预定的时间从内核320接收自动消息;监视模块316按照预定的时
间来关闭并随后重新启动,以检查内核320的状态;监视模块316向内核320发送查询,并从
内核320接收适当的和及时的响应;监视模块316进行检查或测试,以查看自从启动或自从
上一次检查/测试以来,操作内核320的代码是否已经发生改变;或者对内核320的状态或
SoC IC 302的任何其它部分(其包括内核320)的安全性进行验证或测试的任何其它期望的
方式。

如果对内核320的状态的测试/监视的结果是令人满意的或积极的(例如,即,内核
320的状态没有以未被授权的方式发生改变),则监视模块316针对某个时间间隔(其与上面
所提及的第一时间间隔可以相同也可以不同,和/或其可以是随机选择的时间间隔),对定
时器319进行重置,以便再次对内核320和/或SoC IC 302的其它组件进行监视/检查/测试。
如果对内核320的测试/监视的结果不是令人满意的/?#22909;?#30340;(即,该状态已经以?#25345;址?#26399;望
或者未被授权的方式被改变,或者内核320没有以及时地方式提供所请求的数据),则监视
模块316可以?#31245;?#20869;核320或SoC IC 302的初始化/启动,或者?#31245;?#20869;核320或SoC IC 302的
正在进行的操作。

在一些实施例中,监视模块316可以实现计数器317,以确定在定时器319时间间隔
之前何时检查内核320,无论是在初始化/启动时还是在正在进行操作期间。例如,可以针对
定时器319时间间隔的某个百分比的时间周期,例如,定时器319时间间隔的80%,来设置计
数器317。当计数器317到达定时器319的触发或者到期之前的适当时间时,计数器317使监
视模块316苏醒和/或执行对内核320的状态的检查或测试。对状态的这种测试或检查可以
是通过使监视模块316向内核320发送查询,使监视模块316寻找来自内核320(或者来自某
个其它位置)的自动消息,或者通过?#25345;?#20854;它期望的方法或手段。因此,?#36824;?#23450;时器319的时
间间隔怎样,?#36824;?#35813;时间间隔是随机地改变还是根据设计进行改变,监视模块316的这些实
施例都可以在定时器319触发或到期之前接收标志或触发,或者可?#36816;?#37266;以检查/测试内核
320的状态。在其它实施例中,可以不实现单独的计数器317,而在其它实施例中,计数器317
可以是额外的定时器。

监视模块316对于内核320的初始化/启动和/或操作的?#31245;ぃ?#21487;以是在定时器319
到期的任何实例处,重新启动内核320或者SoC IC 302的自动和/或硬连接指令。在这些实
施例中,OEM制造商、终端用户或者第三方通过阻止对监视模块316的初始化/启动来规避监
视模块316的任何尝试,导致内核320和/或SoC IC 302?#20013;?#22320;重新初始化/重新启动,直到
监视模块316正常地启动和运行为止。

类似地,在初始化/启动或操作期间以非期望方式来改变内核320的任何尝试(例
如,通过插入恶意软件),也致使监视模块316重新启动内核320和/或SoC IC 302,帮助移除
或者阻止向内核320(或者从内核320到监视模块316)的对非期望的恶意软件的安装。用此
方式,本文的系统200/300自身为SoC IC 202/302提供健壮的安全性,而不?#35272;?#20110;外部系统
或者组件(例如,通过远程计算机系统进行监视),同时将用于安全性特征的功率消耗和/或
物理SoC IC 202/302芯片面积减到最小。

在其它实现中,与对内核320或者SoC IC 302的自动重启相比,监视模块316对于
内核320的启动和/或操作的?#31245;?#21487;能是更复杂的,并可以基于任何期望的策略、操作?#38382;?br />安全性状态等等进行变化。例如,在企业设置中,当PCD是向企业的员工发放的多个PCD之一
时,可能期望在内核320存在问题时,根据监视模块316在内核320中检测到的问题的类型,
来仅仅限制内核320或者SoC IC 302的其它组件的某个功能。例如,在这些实现中,如果监
视模块316检测到不具有适当的数字版权管理(DRM)的媒体内容在尝试使用内核320在该
PCD上进行播放时,不是在定时器319被触发之后重启内核320,而是监视模块316可以简单
地禁用和/或阻止内核320访问视频编码器334。

继续该例子,如果监视模块316检测到内核320具有某些类型的预先规定的问题
时,企业可能期望其PCD用户仍然能够访问电子?#22987;?#21644;/或具有拨打电话的能力。如图3中所
示,在该实现中,如果定时器319被触发或者到期,则监视模块316可以不使内核320重新初
始化/重新启动,而是除了拨打或者接收蜂窝呼叫或读取电子?#22987;?#20043;外,禁用和/或阻止内
核320和/或其它内核访问诸如USB控制器340、网络卡314、调制解调器设备/RF收发机368、
视频编码器334和/或SoC IC 302或PCD的其它组件之类的各个组件。

因此,除了或者替代于使内核320进行重启之外,在定时器319到期时,监视模块
316可以采取或者造成任何期望的动作。监视模块316可以采取的这些动作包括但不限于:
阻止内核320和/或终端用户访问存储在PCD上的某些材料、文件或数据,比如照片、电子邮
件、文本消息、企业密码或密钥;禁用或阻止内核320访问SoC IC 302和/或PCD的各个组件
(其包括诸如调制解调器、WiFi或蓝牙连接之类的通信外围设备、诸如加速计之类的传感
器、或者GPS接收机);使CPU 110或者该CPU 110的部分/内核120、122、124运行减速;使导致
不理想的电池寿命的电池管理结束;保持致使定时器319触发的事件的日志条目,和/或向
远程服务器或网站(例如,企业服务器)报告这些日志条目;向终端用户发送警告,比如终端
用户必须进行响应的弹出框/告警;和/或向内核320要求某些组件或者从内核320取得对某
些组件的控制,诸如,照相机148(参见图1),以用于人脸识别,或者要求或者控制网络卡314
用于直接向远程目的地报告事件。

?#36865;猓?#21487;以对监视模块316进行配置,使得针对定时器319的触发的响应是分层的。
例如,对于由于内核320的?#25345;?#31867;型的问题或者与之相关的?#25345;?#31867;型的问题而造成的定时
器319的到期,监视模块316可以采取一种动作。然而,对于内核320的不同类型的问题或者
与之相关的不同类型的问题,监视模块316可以采取不同的和/或更严厉的动作。在一些实
施例中,监视模块316的动作(其包括一层的响应)可以取决于任何期望的因素或?#38382;?例
如,定时器319到期的?#38382;?,或者根据任何期望的因素或?#38382;?#36827;行变化。在这些实施例中,
响应于定时器319的第一?#26410;?#21457;/到期,监视模块316可以采取不太严厉的(或者不采取)动
作,而针对于定时器319的第二、第三、第四次等等的后续到期,采取不同的和/或更严厉的
动作。

在其它实施例中,监视模块316采取的动作(其包括对内核320的状态的检查/测试
之间的时间间隔的长度)或者针对定时器319的触发的响应,可以是基于用于该PCD的策略
系统和/或安全性水平或状态的。图4示出了图2和/或图3的系统可以在之下进行操作的一
些示例性状态的一个实施例。如图4中所示,在一些实施例中,监视模块216/316可以在针对
PCD的一系列安全性水平状态之下操作,或者根据针对PCD的一系列安全性水平状态进行操
作。可以根据期望,应用这些安全性水平状态,以便提供针对在启动之后,监视模块216/316
何时和如何对内核220/320的正在进行的活动和/或状态进行监视的规则。

在图4所示出的实施例中,可以在确保监视模块216/316的适当操作的成功初始
化/启动之后,在监视模块216/316之中或者由监视模块216/316实现这些安全性水平状态。
在各个实施例中,可以由PCD的终端用户、向终端用户发放该PCD的企业的IT部门、或者由制
造商,基于设备的类型/该设备将置于的用途,来设置或者选择这些安全性水平状态。另外,
可以根据期望,对这些示例性安全性水平状态进行改变,其包括自动地响应任何期望的参
数、事件或因素(包括定时器219/319的触发或者到期)。

图4示出了四?#36136;?#20363;性安全性水平状态,其中的第一安全性水平状态是最低安全
性状态405。该状态提供图4中所示出的状态的最低安全性。最低安全性状态405可以包括用
于定时器219/319的更长时间间隔,其导致监视模块216/316对于内核220/320的检查或测
试之间具有更长的时间间隔。另外,如果定时器219/319到期,则最低安全性状态405会导致
监视模块216/316采取不太严厉的动作。

例如,在一个实施例中,监视模块216/316可能关于定时器219/319的第一次到期/
触发,根本不采取任何动作,而是在定时器219/319的第二或者更后续的到期/触发之后,才
采取动作。在一些实现中,监视模块216/316可以通过任何期望的手段,保持对于定时器
219/319的多?#26410;?#21457;的数量/类型/定时等等的跟踪,例如,通过将这些事件记录在存储器
中,或者使用计数器(例如,图3的监视模块316的计数器317)来跟踪这些事件。另外,在定时
器219/319触发的情况下,最低安全性状态405会使得监视模块216/316采取破坏性程度最
低的动作。在一些实施例中,该动作可以包括?#33322;?#20107;件日志记录为文件(无论是本地还是远
程地),和/或向PCD的终端用户显示消息。

另一?#36136;?#20363;性安全性水平状态可以是如图4中所示的DRM状态410。在一些实施例
中,每当视频编码器134(参见图1)或者SoC IC 202/303或PCD的其它组件确定?#22909;?#20307;文件
(例如,音频文件或视频文件)正在该PCD上播放或显示,或者将要在该PCD上播放/显示时,
就可以实现该DRM状态410。在其它实施例中,每当定时器219/319触发,并且监视模块216/
316确定媒体文件正在播放/显示,或者确定显示/播放该媒体文件导致定时器219/319触发
时,就可以实现该DRM状态410。

在图4所示出的DRM状态410中,定时器219/319操作在中等长度时间间隔,但也可
以操作在任何期望的长度。另外,在所示出的DRM状态410中,当定时器219/319到期并且PCD
尝试播放媒体时,监视模块216/316才采取动作。在一些实施例中,该媒体可能不具有适当
的DRM保护,或者终端用户可能尝试使用PCD来克服或避免该媒体上的DRM保护。在这些实施
例中,监视模块316可以采取动作,以阻止音频编码器或视觉编码器334中的一个或多个被
内核(例如,内核320(参见图3))进行任何操作。在其它实施例中,监视模块316可以仅仅针
对于选定的媒体文件和/或选定类型的媒体文件,才采取动作来阻止音频编码器或视觉编
码器334中的一个或多个被内核(例如,内核320(参见图3))操作。

如图4中所示,在各个实施例中,其它增加级别的安全性状态也是可能的。例如,图
4示出了中等安全性状态415,与先前所讨论的最低安全性状态405相比,中等安全性状态
415可以被设计或者配置为提供更健壮的安全性和/或使得监视模块216/316能够进行更具
侵入性的动作。该示例性中等安全性状态415提供了中等定时器219/319时间间隔长度,但
也可以实现任何期望的时间间隔长度。

另外,在图4的中等安全性状态415中,无论何时定时器219/319到期,监视模块
216/316都采取动作。例如,响应于定时器319到期,监视模块316可以禁止内核320访问一个
或多个外围设备,比如USB控制器340、网络卡314、调制解调器设备/RF收发机368和/或视频
编码器334(参见图3)。

在一些实施例中,定时器319的单次到期可能使得监视模块316禁用针?#36816;?#26377;外围
设备的访问。在其它实施例中,定时器319的第一?#26410;?#21457;或到期可能导致内核320不能够访
问USB控制器340(参见图3),而定时器319的第二次或者其它后续触发可能导致内核320不
能够访问一个或多个额外的外围设备。在不同的实施例中,每一次定时器319到期时,监视
模块316所禁用的外围设备的顺序和/或外围设备的数量,可以根据期望发生变化。

替代地或另外地,在中等安全性状态415的一些实施例中,监视模块316还可以向
远程服务器(例如,网站或企业服务器,如果该PCD是企业系统的一部分的话)发送日志或者
报告。监视模块316可以通过要求内核320或者SoC IC 302将进行该通信所需的接口/驱动
器/等等的控制移交给监视模块316(或者在图2的监视模块216的情况下,移交给监视CPU
217),或者通过任何其它期望的手段,来使得该日志或报告被发送。

最后,图4描绘了第四、最高安全性状态420,其中当期望针对SoC IC 202/303实现
甚至更高的安全性时,可以实现最高安全性状态420,如在各个实施例中,由终端用户、企业
IT人员所决定的、或者由OEM制造商所预先设置的。在一些实现中,最高安全性状态420可以
是针对监视模块216/316的默认设置。最高安全性状态420可以包括或者可以被配置有更短
的定时器219/319时间间隔,其使得对内核220/320的状态进行更为频繁的检查或测试。

在各种实现中,响应于定时器219/319的任?#26410;?#21457;,处于最高安全性状态420的监
视模块216/316可以自动地重新初始化/重新启动内核220/320和/或整个SoC IC 202/303。
如同中等安全性状态415,在最高安全性状态420的一些实施例中,监视模块316也可以向远
程服务器(例如,网站或企业服务器,如果该PCD是企业系统的一部分的话)发送日志或报
告。监视模块316可以通过要求内核320将进行该通信所需的接口/驱动器/等等的控制移交
给监视模块316(或者在图2的监视模块216的情况下,移交给监视CPU 217),或者通过任何
其它期望的手段,来使得该日志或报告被发送。

应当理解的是,尽管图4只示出了四种不同的安全性水平状态,但其它实施例可以
具有更少或者更多的安全性水平状态。类似地,与图4中所示出的那些安全性水平状态相
比,各个实施例可以具有不同的和/或不同类型的安全性水平状态。例如,其它实施例可以
具有更多、更少或者基于不同事件的安全性水平状态,例如,图4中所示出的DRM状态410。另
外,可用于监视模块216/316的安全性水平状态的数量和/或类型可?#36816;?#26102;间发生变化。例
如,可以由终端用户根据期望,在不同的时间处对安全性水平状态的数量和/或类型进行选
择和/或改变,或者可以由企业IT人员在与监视模块216/316进行通信的各个时间处对安全
性水平状态的数量和/或类型进行选择和/或改变。?#36865;猓?#26367;代于或者除了如图4中所示的安
全性状态之外,可以根据期望,将不同水平或类型的安全性实现成策略和/或规则集或算
法。

转到图5A,该图描绘了用于提高针对PCD中的一个或多个处理器或内核的安全性
的方法的示例性实施例的流程图。方法500开始于方框510,其中在方框510处,对监视模块
(例如,图2中的监视模块216或者图3中的监视模块316)进行初始化。在一些实施例中,方框
510中的初始化可以包括:例如从SoC IC 202/303和/或PCD的完全?#31995;?#26469;开始初始化。这种
初始化/启动的一个例子是:当PCD或SoC IC 202/302从完全的电池耗尽来开始加电时。在
其它实施例中,方框510中的初始化可以替代地包括:从监视模块216/316的临时功率下降
中“苏?#36873;薄?#35813;“苏?#36873;?#30340;一个例子是:监视模块216/316从仅仅监视模块216/316的省电的空
闲或休眠模式中苏醒/加电。

在初始化/苏醒之后,在方框512中,监视模块216/316设置或者检查定时器219/
319。在一些实施例中,定时器219/319已经被先前设置好,而在方框512中,监视模块216/
316苏醒并检查定时器219/319。在其它实施例中,监视模块216/316在被初始化/启动,并且
在方框512中,针对内核220/320对针对监视模块216/316进行初始化/启动所需的任?#26410;?#30721;
的请求进行响应,或者针对确保监视模块216/316进行适当的初始化/启动所需的任何其它
动作,监视模块216/316可以将监视定时器219设置为某个时间间隔,其中内核220/320应当
在该时间间隔内提供适当的代码,以允许监视模块216/316进行初始化/启动。

使用图2的系统200作为例子,在方框512中,监视模块216可以请求或者尝试加载
监视启动代码225a。方框512的这种请求/加载可以由图2中所示出的监视模块216的监视
CPU 217来完成。如上所述,为了使监视模块216的功耗和/或监视模块216所需的SoC 202的
芯片面积减到最小,监视模块216的一些实施例可以具有有限的板上或者专用存储器(例
如,图2中的监视存储器218)。

在这些实施例中,监视模块216进行完全地初始化/启动所需的代码225a可以位于
与监视模块216不同的位置,并且可以被提供给监视模块216以允许其进行初始化/启动。使
用图2的示例性系统200作为例子,图2中的存储器223可以是其中存储监视启动代码225a的
闪存。?#22791;?#25454;方法500,监视模块216开始初始化/启动时,在一些实施例中,在方框512中,内
核220的CPU 221可以从存储器223获取启动代码225a,并将启动代码225a传输给监视模块
216的CPU 217。

继续上面的例子,作为例如内核220没有迅速地提供监视启动代码225a和/或没有
及时地响应来自监视模块216针对监视启动代码225a的请求的结果,方法500在方框516中
进行检查,以查看定时器219是否已经到期/触发。如上所述,定时器219可以在监视模块216
之内,如图2中所示。在其它实施例中,该定时功能可以由多个组件来执行,和/或由监视模
块316之外的一个或多个组件来执行,比如图3中所示出的系统300的内部计数器317和外部
定时器319。

方框516的判断可以由一个组件来执行,例如,监视模块216/316(或者监视模块
216的CPU 217)评估定时器219/319,以查看其是否由于流逝了所述时间间隔而已经到期/
被触发。在其它实施例中,方框516的判断可以是:当由于流逝了所述时间间隔,定时器219/
319到期/触发时,定时器219/319自动地发送?#25345;中?#21495;或通信的结果。?#36824;?#22914;何实现,定时
器219/319都不由内核220/320进行重置(或者不被监视模块216/316进行监视的其它处理
器或内核进行重置)。

因此,除非内核220/320根据预期或者监视模块216/316的要求进行动作,否则在
方框520中接收到数据/启动代码之前,在方法500的方框516中,定时器219/319将到期。如
果定时器219/319已经到期,则在方框518中,图5A的方法实现安全性措施。对于监视模块
216的初始化的例子而言,安全性措施可以是对SoC 202的自动重新启动/重新初始化,这可
以使得方法500重新开始。

在其它实施例中,作为定时器219到期或者触发的结果,可以采取的安全性措施包
括但不限于:阻止内核220和/或终端用户访问存储在PCD上的某些材料、文件或数据,比如
照片、电子?#22987;?#25991;本消息、企业密码或密钥;禁用或阻止内核220访问SoC IC 202和/或PCD
的各个组件(其包括诸如调制解调器、WiFi或蓝牙连接之类的通信外围设备、诸如加速计之
类的传感器、或者GPS接收机);使CPU 110或者该CPU 110的部分/内核120、122、124运行减
速;使得导致不理想的电池寿命的电池管理结束;保持使得定时器219触发的事件的日志条
目,和/或向远程服务器或网站(例如,企业服务器)报告这些日志条目;向终端用户发送警
告,比如终端用户必须进行响应的弹出框/告警;和/或向内核220要求某些组件或者从内核
220取得对某些组件的控制,如,照相机148(参见图1),用于人脸识别,或者要求或者控制网
络卡314用于直接向远程目的地报告事件。可以将这些安全性措施实现成安全性策略的一
部分,和/或包括如上面参照图4所讨论的各种安全性水平。

如果在方框516中,定时器219没有到期,则方法500继续到方框522处,在监视模块
216的初始化的例子中,对监视启动代码225a进行验证,以确保监视模块216以允许其对内
核220和/或SoC 202的其它组件进行监视的方式,适当地初始化/启动。在各个实施例中,可
以使用数字签名、密钥等等来完成该验证,和/或通过监视CPU 217使用存储在监视存储器
218中的一个或多个值来检查所提供的监视启动代码225a的数字签名、密钥等等来完成该
验证,或者可以通过任何期望的代码验证手段来完成该验证。

如果在方框522中没有适当地验证监视启动代码225(例如,通过提供篡改版本的
监视启动代码225a,以尽力规避监视模块216的安全性措施),则在方框518中实现安全性措
施,如上所述。应当注意,在一些实施例中,由于在方框522中缺乏数据验证而触发的、在方
框518中所实现的实际安全性措施,可以与如果触发事件是方框516中的定时器到期时将会
实现的安全性措施不同。在其它实施例中,?#36824;?#35302;发事件是怎样,都可以在方框518中实现
相同的安全性措施。

如果在方框522中对数据进行了验证,则在方框524中,监视模块216对定时器219
进行重置或者禁用。通过在方框524中重置或者禁用定时器219,图5A的方法500的实施例允
许内核220和/或SoC 202继续进行操作,而监视模块216可以继续监视SoC 202的一个或多
个组件。

例如,在根据方法500来适当地初始化监视模块216/316之后,可以在方框524中,
针对预定的时间周期来设置定时器219/319,并且可以将监视模块216/316置于?#26723;?#21151;?#39318;?br />态或模式(例如,空闲模式或休眠模式(或者可以关闭)),直到下一个期望的监视事件为止。

在该“苏?#36873;?#23454;施例中,可以在方框510中,唤醒监视模块216/316。可以通过触发
(例如,来自于类似图3中的计数器317的计数器的触发)或者通过任何其它期望的手段,来
唤醒监视模块216/316。在方法500的“苏?#36873;?#23454;现中,在方框514中从内核220/320请求数据
之前,监视模块216/316可以在方框512中,可选地检查先前设置的(或者可以设置)定时器
219/319,如先前所讨论的。在一些实施例中,可以在定时器219/319到期之后,在方框510
中,唤醒监视模块216/316,使得可以在方框512中,对定时器219/319进行重置。在其它实施
例中,可以在定时器219/319如上面所讨论的被设置为到期之前的预定时间处,在方框510
中,唤醒监视模块216/316,该预定时间足够允许监视模块216/316在定时器219/319被设置
为到期之前,执行所期望的监视操作。

?#36824;?#22312;方框512中是否检查定时器219/319,在方框514中,监视模块216/316都向
SoC IC 202/302的一个或多个内核220/320请求响应和/或数据。如上面所讨论的,如果在
方框516中的定时器到期/被触发之前,在方框520中,没有从内核220/320接收到所请求的
响应和/或数据,则在方框518中,监视模块216/316对内核220/320实现一个或多个安全性
措施。这些安全性措施可以包括以上面所讨论的任何方式实现的以上所讨论的任何这种措
施,其包括根本不采取动作,或者致使SoC IC 202/302进行重新初始化/重新启动。

继续方法500的“苏?#36873;?#20363;子,如果在方框516中的定时器到期/被触发之前,在方框
520中,从内核220/320接收到所请求的响应或信息,则在方框522中,监视模块216/316可以
可选地验证该数据。但是,在一些实施例中,在安全性的和适当的初?#35745;?#21160;之后,可能不期
望或者不需要对从内核220/320接收的数据或响应进行验证,如方框522中所示出的。

?#36824;?#26159;否在方框522中对该数据进行验证,在该“苏?#36873;?#20363;子中,如果在方框516中
的定时器到期/被触发之前,在方框520中,从内核220/320接收到所请求的响应和/或信息,
则在方框524中,监视模块216/316禁用定时器219/319,或者将定时器219/319重置为诸如
预定的时间间隔,以用于监视模块216/319的下一个监视事件。

如本领域普通技术人员所应当理解的,图5A描述了用于提高PCD中的处理器或内
核的安全性的方法的仅仅一?#36136;?#20363;性实施例。在其它实施例中,可以向方法500增加额外的
方框或步骤。类似地,在一些实施例中,可以对图5A中所示出的各个方框或步骤进行组合或
省略,例如,将方框520和522组合成一个接收/验证步骤,而不是图5A中所示出的两个单独
的方框/步骤。方法500的这些变型落入本公开内容的保护?#27573;?#20043;内。

另外,本说明书所描述的过程或者处理流程(其包括图5A)中的某些步骤,自然地
在本发明的其它步骤之前,以在如上所述的实施例中运行。但是,本发明并不限于这些所描
述的步骤的顺序,如果这种顺序或者序列并不改变本发明的功能的话,例如,在方框516之
前执行方框522。?#36865;猓?#24212;当认识到,在不脱离本公开内容的保护?#27573;?#30340;基础上,一些步骤可
以在其它步骤之前执行、之后执行或者并行地执行(基本同时地执行)。在一些实例中,在不
脱离本发明的基础上,可以省略或者不执行某些步骤,例如,移除方框512(“苏?#36873;?#25805;作模式
下,定时器219/319的第一检查)和/或522(“苏?#36873;?#25805;作模式下,验证所接收的响应/数据)。
方法500的这些变型也落入本公开内容的保护?#27573;?#20043;内。?#36865;猓?#35832;如“其后”、“转而”、“接
着”、“随后”等等之类的?#35270;錚?#24182;不旨在限制这些步骤的顺序。这些?#35270;?#20165;仅用于引?#32423;?#32773;
通读该示例性方法的描述。

转到图6A,该图示出了描述用于提供针对PCD中的一个或多个处理器或内核的提
高的安全性的方法的示例性实现的另外方面的流程图。在图6A所示出的示例性方法600中,
在确保对监视模块216/316的适当初始化/启动之后(例如,根据图5A的方法500),方法600
在方框610中,对一个或多个内核(例如,内核220(图2)/320(图3A))的状态进行监视。在一
些实施例中,方框610的对内核220/320的状态进行监视可以包括:检查内核220/320的状
态,例如,通过检查或测试用于内核220/320的代码自从启动以来和/或自从上一次检查/测
试以来是否已经发生改变。

监视模块216/316可以执行该检查或测试,例如,通过图2的监视模块216的CPU
217从内核220的CPU 221接收通信。作为如上所述的安全性措施、策略或状态的一部分,可
以由内核220发起来自内核220的该通信。在一些实施例中,该通信可以是内核220针对来自
监视模块216的请求或者要求的响应。在这些实施例中,从内核220传输的信息可以包括数
字签名、密钥或者其它令牌,据此或者根据此可以判断用于内核220的代码是否已经从内核
220的先前版本发生了改变。

在其它实施例中,在方框610中监视内核220/320的状态还可以包括:监测内核
220/320的动作,例如,接收关于内核220/320正在执行或者将要执行的活动的信息。该实施
例的一个例子可以是来自于上面对图3A和图4的讨论,其中,内核220/320可以正在操作视
频编码器334,或者使得另一个处理器(例如,GPU)操作视频编码器334。在该实现中,对内核
220/320的状态的监视可以包括:注意对视频编码器334的操作或者用于操作视频编码器
334的尝试、以及要在视频编码器334上播放的媒体的数量、类型、?#38468;?#31561;等(例如,是否在观
察DRM保护)。

同样,继续上面针对图3和图4所讨论的视频编码器334上的媒体播放的例子,在一
些实施例中,监视模块316可以执行320对视频编码器334的操作的状态的检查或者测试。可
以通过图3的监视模块316从内核320接收通信,来完成该状态的该监视或者检查。如上面所
讨论的,作为安全性规则、策略或者状态的一部分,可以由内核320来发起来自该内核320的
该通信。替代地,在一些实施例中,该通信可以是内核320针对来自监视模块316的请求或者
要求的响应。该通信中的信息可以是由监视模块316所期望的或所请求的任何信息,该信息
允许判断内核320是否在根据安全性策略进行操作和/或在以监视模块320所预期的方式进
行操作。

在其它实施例中,在方框610中监视内核220/320的状态可以包括:注意是否允许
监视模块216/316与其它组件进行通信。该实施例的一个例子是:是否允许监视模块216/
316与远程计算机进行通信,例如,企业服务器向监视模块216/316传输定期调度的更新,
和/或监视模块216/316针对规则、策略和/或安全性水平状态更新来查询远程计算机/企业
服务器。在该实现中,监视内核220/320的状态可以包括:注意内核220/320是否允许该通
信,和/或让渡为了监视模块216/316来实施该通信和/或接收从远程计算机发起或者发送
的通信而?#36816;?#24517;要的SoC IC 202/302组件的控制。

根据该PCD所置于的用途、终端用户的期望和/或授权的第三方(例如,该PCD作为
其一部分的企业系统)的期望,在一些实现中,方框610的具体监视可以发生改变。例如,当
方法600执行方框610的第一监视/测试时,第一安全性策略或者安全性水平状态(例如,图4
中所示出的状态中的一个状态)可能是适合的,其使得以特定的方式和/或具有关于内核
220/320的特定信息,来执行第一监视/测试。但是,在方法600第二次执行方框610的监视
时,第二安全性策略或安全性水平状态(例如,图4中所示出的状态中的不同的一个状态)可
能是适合的,其使得以与第一监视不同的方式和/或与第一监视相比具有关于内核220/320
的不同信息,来执行第二监视。

随后,在方框612中,示例性方法600判断内核320的状态是否已经发生改变。方框
612中的判断可以是取决于监视的类型和/或执行方框610的监视的方式。使用方框610的监
视内核220的状态的例子包括:监视自从启动以来,用于内核220的代码的改变,方框612中
的判断可以是:监视模块216的CPU 217将接收的数字签名、密钥、令?#39057;?#31561;与监视存储器
218中存储的值进行比较,以判断内核220代码是否已经发生改变。

?#36824;?#22312;方框612中如何进行该判断,如果该判断是内核220/320在适当地操作(例
如,没有被篡?#27169;?#35813;状态自从启动以来发生改变),则在方框614中将定时器219/319针对某
个时间间隔进行重置,并且方法600回到方框610,以继续监视内核220/320的状态。当内核
220/320在适当地操作和/或运行适当的代码时,通过重置定时器219/319,而不是允许定时
器219/319触发/到期,方法600防止实现针对内核220/320的安全性措施(例如,重新初始
化/重新启动内核220/320或者SoC IC 202/302)。

如上面所讨论的,定时器219/319不由内核220/320或者SoC IC 202/302的其它组
件进行重置,而是仅仅可以由监视模块216/316进行重置。另外,并不需要始终将定时器
219/319都重置为固定的时间间隔。在一些实施例中,定时器219/319被重置的时间间隔可
以发生改变,并且在一些实现中,其可以是随机的。?#22791;?#26102;间间隔改变时,该时间间隔的长
度可以是基于所期望的任?#25105;?#32032;或者考虑的,其包括安全性策略和/或安全性水平状态(例
如,图4中所示出的安全性水平状态)。

?#36865;猓?#23545;于一些实现而言(例如,图2中所示出的系统200),重置定时功能还可以包
括以下二者:对定时器219进行重置,以及对监视模块216的内部计数器217进行重置。如上
面所讨论的,实现和重置该内部计数器217,可以允许方法600确保监视模块216/316被唤
醒,和/或在定时器219/319的到期/触发之前,充分地执行方框610处的对内核220/320的状
态的下一次监视,以使得该监视可用于方法600。

如果在方框612中的判断是内核220/320没?#24615;?#36866;当地操作(例如,其已经被不适
当地篡改或者自从启动以来发生改变),则在方框616中,图6A的方法600判断定时器219/
319是否已经到期。方框616的判断可以由组件来做出,例如,监视模块216/316(或者监视模
块216的CPU 217)对定时器219/319进行评估,以查看其是否由于所述时间间隔的流逝而已
经到期/触发。在其它实施例中,方框616的判断可以是:当定时器219/319由于所述时间间
隔的流逝而到期/触发时,定时器219/319自动地发送某个信号或通信的结果。

如图6A中所示,?#36824;?#22914;何做出判断,如果方框616中的判断是定时器219/319没有
到期,则方法600返回到方框610,并对内核220/320进行监视。另外,在一些实现中,不是立
即从方框616返回到方框610来连续地监视内核220/320状态,而是方法600可以替代地在方
框616中,使得监视模块216/316在指定的时间?#25991;詼系?#25110;者进入休眠模式或空闲模式,以
减少功耗。在这些实施例中,返回到该方法的方框610可以包括:类似于上面对图5A的“苏
?#36873;?#27169;式的讨论,在方框610中唤醒监视模块216/316。

应当注意,在一些实施例中(例如,图2的具有监视模块216中的计数器217的系统
200),计数器217的时间间隔可以确保:就在定时器219被设置为到期/触发之前,发生方法
600的方框610的监视。在这些实现中,在方框612中确定内核220的状态已经发生改变之后,
该方法还能够在方框616中,立即做出定时器219已经到期的确定。

在其它实现中,即使方框612的判断结果是220/320的状态已经发生改变,方框616
处的判断也可以是定时器219/319没有到期,使得该方法返回到在方框610处,监视内核
220/320的状态。用此方式,在一些实施例中,在定时器219/319到期之前,可能发生一个以
上的监视“循环”。在方法600的这些实施例中,有可能在定时器219/319到期和内核220/320
重新启动之前(或者在实现某个其它安全性措施之前),“治愈”方框612中确定的内核220/
320中的和/或内核220/320的操作中的缺陷。

另一方面,如果方框616中的判断结果是定时器219/319已经到期或者触发,则在
方框618中,方法600检查安全性措施。作为定时器219/319到期或者触发的结果而可以采取
的安全性措施包括但不限于:阻止内核220/320和/或终端用户访问存储在PCD上的某些材
料、文件或数据,比如照片、电子?#22987;?#25991;本消息、企业密码或密钥;禁用或阻止内核220/320
访问SoC IC 202/302和/或PCD的各个组件(其包括诸如调制解调器、WiFi或蓝牙连接之类
的通信外围设备、诸如加速计之类的传感器、或者GPS接收机);使CPU 110或者该CPU 110的
部分/内核120、122、124运行减速;使导致不理想的电池寿命的电池管理结束;保持致使定
时器219/319触发的事件的日志条目,和/或向远程服务器或网站(例如,企业服务器)报告
这些日志条目;向终端用户发送警告,比如终端用户必须进行响应的弹出框/告警;和/或向
内核220/320要求某些组件或者从内核220/320取得对某些组件的控制,如,照相机148(参
见图1),以用于人脸识别,或者要求或者控制网络卡314用于直接向远程目的地报告事件。

?#36865;猓?#22312;方框618中检查安全性措施还可以包括:检查在该环境下,哪些安全性措
施是可用的。在一些实施例中,可用的安全性措施可以取决于任何期望的因素或?#38382;?#20363;
如,如上面所讨论的,由于内核220/320的?#25345;?#31867;型的失败/问题所造成的定时器219/319的
到期或者触发,可能需要一种类型的安全性措施。另一方面,内核220/320的不同类型的失
败/问题,可能需要不同类型的安全性措施和/或更严厉的安全性措施。另外,可用的安全性
措施可以取决于定时器219/319被触发的?#38382;?#25110;者根据定时器219/319被触发的?#38382;?#36827;行
改变。在这些实施例中,响应于定时器219/319的第一次到期或者触发,第一、不太严厉(或
者无)安全性措施是可用的,而不同的和/或更严厉的安全性措施可用于定时器219/319的
第二、第三、第四次等等的后续到期或者触发。

?#36865;猓?#22312;一些实施例中,在方框618中检查安全性措施还可以包括:检查可用于有
效的任?#38382;?#29992;的安全性策略和/或安全性水平或状态的安全性措施,或者对于?#34892;?#30340;任何
适用的安全性策略和/或安全性水平或状态而?#36816;?#38656;的安全性措施;应当记住的是,这些安
全性策略、水平、状态可能随时间发生变化或改变。例如,在这些实施例中,各种安全性水平
状态(例如,图4中所示出的那些)可能是适合用于PCD的。因此,在方框618中检查安全性措
施还可以包括:确定在那时和在定时器219/319触发或到期的环境下,哪些安全性措施是通
过?#34892;?#30340;安全性水平状态(如果有的话)可用的和/或被?#34892;?#30340;安全性水平状态所强制执行
的。

如图6A中所示,在方框620中,方法600判断该安全性措施是否需要内核220/320
和/或SoC IC 202/302的重新初始化/重新启动。如果需要该重新启动,则方法600通过以下
方式来结束:在方框624中,对内核220/320(和/或根据期望的SoC IC 202/302)进行重新初
始化,并且返回到图5A的方法500的起始处来开始内核220/320(和/或SoC IC 202/302)初
始化/启动过程。

另一方面,如果不需要这种重新启动,则方法600在方框622中,实现所需要的安全
性措施,返回到上面所讨论的方框614,其中,对定时器219/319进行重置,并且返回到上面
的方框610,其中,对内核220/320的状态进行监视,无论是连续地还是间歇地(例如,使用如
上所述的休眠模式或空闲模式)。

如本领域普通技术人员所应当理解的,图6A描述了用于提高PCD中的处理器或内
核的安全性的方法的仅仅一?#36136;?#20363;性实施例。在其它实施例中,可以向图6A中所示出的方
法600增加额外的方框或步骤。类似地,在一些实施例中,可以对图6A中所示出的各个方框
或步骤进行组合或省略,例如,将方框618和620组合成一个检查/判断步骤,而不是图6A中
所示出的两个单独的方框/步骤。方法600的这些变型也落入本公开内容的保护?#27573;?#20043;内。

另外,本说明书所描述的过程或者处理流程(其包括图6A)中的某些步骤,可以自
然地在本发明的其它步骤之前,以在如上所述的实施例中运行。但是,本公开内容并不限于
这些所描述的步骤的顺序,如果该顺序或者序列并不改变本发明的功能的话。?#36865;猓?#24212;当认
识到,在不脱离本公开内容的保护?#27573;?#30340;基础上,一些步骤可以在其它步骤之前执行、之后
执行或者并行地执行(基本同时地执行)。在一些实例中,在不脱离本发明的基础上,可以省
略或者不执行某些步骤。方法600的这些变型也落入本公开内容的保护?#27573;?#20043;内。?#36865;猓?#35832;
如“其后”、“转而”、“接着”、“随后”等等之类的?#35270;錚?#24182;不旨在限制这些步骤的顺序。这些词
语只是用于引?#32423;?#32773;通读该示例性方法的描述。

上面针对于方法500和600二者所描述的各种操作、方法或功能,可以由各种?#24067;?br />和/或软件组件/模块来执行。这些组件和/或模块可以提供用于执行各种所描述的操作、方
法或功能的手段。通常,在具有相应配对的手段加功能附图的附图中示出有方法的地方,这
些操作框与具有类似编号的手段加功能框相对应。例如,图5A中所示出的方框510-524与图
5B中所示出的手段加功能框510’-524’相对应。类似地,图6A中所示出的方框610-624与图
6B中所示出的手段加功能框610’-624’相对应。

另外,编程领域中的普通技术人员能够编写计算机代码或者识别适当的?#24067;?#21644;/
或电路,以便例如基于本说明书中的流程图和相关联的描述,没有困难地实现所公开的发
明。因此,对于充分地理解如何利用和使用本发明来说,并不认为是必需要公开特定的程序
代码指令集或者详细的?#24067;?#35774;备。在上面的描述中,并结合用于描绘各个处理流程的附图,
更为详细地解释所主张的处理器实现的过程的创造性功能。

在如上面所指示的一个或多个示例性方面中,本文所描述功能可以用?#24067;?#36719;件、
固件或它们?#25105;?#32452;合的方式来实现。当在软件中实现时,可以将这些功能存储在计算机可
读介质(例如,非临时性处理器可读介质)上,或者作为计算机可读介质上的一个或多个指
令或代码来进行传输。计算机可读介质包括数据存储介质和通信介质二者,其中通信介质
包括便于从一个位置向另一个位置传?#32479;?#24207;的任何介质。

存储介质可以是计算机或者处理器能够存取的任何可用介质。举例而言但并非做
出限制,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或者其它光盘存储器、磁盘
存储器或其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程
序代码并能够由计算机进行存取的任何其它介质。如本文所使用的,磁盘和光盘包括压缩
光盘(“CD”)、激光盘、光盘、数字通用光盘(“DVD”)、软盘和蓝光盘,其中磁盘通常磁性地复
制数据,而光盘则用激光来光学地复制数据。上述的组合也应当包括在非临时性计算机可
读介质的保护?#27573;?#20043;内。

尽管详细地描绘和描述了选定的方面,但应当理解的是,可以在不脱离如所附权
利要求书所界定的本发明的基础上,对本文做出各种替代和改变。

关于本文
本文标题:用于提高便携式计算设备PCD中的处理器的安全性的系统和方法.pdf
链接地址:http://www.pqiex.tw/p-6091919.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 pk10人工免费计划 老虎机怎样压分不输 胜宏国际app买彩票 龙王捕鱼免费 内蒙古时时5个号走势 飞禽走兽赌博假不 埃及宝藏游戏机怎么玩 福建时时开奖结果 姚记捕鱼正版破解 欢乐斗地主