安全保护方法和处理器技术

技术编号:10923737 阅读:115 留言:0更新日期:2015-01-18 23:52
本发明专利技术提供一种安全保护方法和处理器。所述安全保护方法包含以下步骤:根据指令的指令安全属性和操作事件的安全属性在执行指令之前或之后执行安全检查;当所述安全检查失败时,忽略所述操作事件、推迟所述操作事件、或提出安全异常;所述操作事件是作为所述处理器提取或执行指令时的副作用而产生、或作为对指令的监视结果而产生、或响应于所述处理器的外部输入而产生。

【技术实现步骤摘要】

本专利技术是有关于一种安全保护方法和一种处理器,且特别是有关于一种安全保护方法和一种实施计算安全的处理器。
技术介绍
在计算安全(computing security)的领域中,程序的执行和存取通常是通过一组硬性规则被限制到个别执行环境。所述规则确保了处理器所执行的每一个程序的每一个指令都是有效且安全的,以便保护执行环境免遭无意或未经授权的存取。
技术实现思路
本专利技术提供一种安全保护方法和处理器,所述处理器在程序可见的地址空间处实施计算安全从而为软件执行提供坚固的安全边界。本专利技术的由处理器执行的安全保护方法包含以下步骤:根据指令的指令安全属性(instruction security attribute,简称ISA)和操作事件(operational event,简称OE)的安全属性(security attribute,简称SA)在执行指令之前或之后执行安全检查;当安全检查失败时,忽略OE、推迟OE、或提出安全异常;所述OE是作为处理器提取(fetch)或执行指令时的副作用而产生、或作为对指令的监视结果而产生、或响应于处理器的外部输入而产生。本专利技术的处理器包含指令提取单元、指令操作单元、OE产生器以及安全检查单元。所述指令操作单元耦接到指令提取单元。所述OE产生器耦接到指令提取单元和指令操作单元。所述安全检查单元耦接到指令提取单元、指令操作单元以及OE产生器。所述指令提取单元从指令提取地址空间提取指令。所述指令操作单元执行所述指令。所述OE产生器产生OE,所述OE是作为指令提取单元提取指令时或指令操作单元执行指令时的副作用而产生、或作为对指令的监视结果而产生、或回应于处理器的外部输入而产生。所述安全检查单元根据指令的ISA和OE的SA在指令操作单元执行指令之前或之后执行安全检查。当安全检查失败时,所述OE产生器忽略OE、推迟OE、或提出安全异常。本专利技术的另一种安全保护方法由处理器执行且包含以下步骤:在第一指令为安全服务指令时基于第一指令的SA和代码SA来执行第一安全检查;当第一安全检查失败时,提出安全异常。本专利技术的另一种处理器包含指令提取单元、指令操作单元以及安全检查单元。所述指令提取单元从指令提取地址空间(instruction fetch address space,简称IFAS)提取第一指令。所述指令操作单元耦接到指令提取单元以执行第一指令。所述安全检查单元耦接到指令提取单元和指令操作单元。在第一指令为安全服务指令时,所述安全检查单元基于第一指令的ISA和代码SA来执行第一安全检查。当第一安全检查失败时,所述安全检查单元提出安全异常。本专利技术的另一种安全保护方法是本专利技术所提供的前述两种安全保护方法的组合。本专利技术的另一种处理器是本专利技术所提供的前述两种处理器的组合。为让本专利技术的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明图1是示出根据本专利技术实施例的处理器100的一部分的示意图;图2是示出根据本专利技术实施例的四个SLE以及它们在地址空间200中的关联区域的示意图;图3是示出根据本专利技术实施例的由处理器100执行的安全保护方法的流程图;图4示出了根据本专利技术实施例的在步骤310中执行的指令提取安全检查的详细流程;图5示出了根据本专利技术实施例的在步骤330中执行的OE安全检查的详细流程;图6示出了根据本专利技术实施例的在步骤350中执行的资源存取安全检查的详细流程;图7示出了根据本专利技术实施例的在步骤350中执行的SSI安全检查的详细流程;图8示出了根据本专利技术实施例的在步骤370中执行的OE安全检查的详细流程;图9示出了根据本专利技术实施例的在提出安全异常时由安全异常单元180执行的安全异常处理的详细流程。附图标记说明:100:处理器;110:指令提取地址产生器;120:指令提取单元;130:操作资源地址产生器;140:指令操作单元;150:操作事件产生器;160:安全检查单元;170:SLE单元;180:安全异常单元;200:地址空间;310~950:步骤;A0~A7:地址;ISA:指令安全属性;SA:安全属性;SLE0~SLE3:安全查找项目。具体实施方式图1是示出根据本专利技术实施例的处理器100的一部分的示意图。处理器100包含指令提取地址产生器110、指令提取单元120、操作资源地址产生器130、指令操作单元140、操作事件(OE)产生器150、安全检查单元160、安全查找项目(security lookup entry,简称SLE)单元170,以及安全异常单元180。指令提取单元120耦接到指令提取地址产生器110。操作资源地址产生器130耦接到指令提取单元120。指令操作单元140耦接到操作资源地址产生器130。OE产生器150耦接到指令提取单元120和指令操作单元140。安全检查单元160耦接到指令提取单元120、指令操作单元140以及OE产生器150。SLE单元170耦接到指令提取地址产生器110、指令提取单元120、操作资源地址产生器130、OE产生器150,以及安全检查单元160。安全异常单元180耦接到指令提取地址产生器110和安全检查单元160。在本专利技术的一些其它实施例中,安全异常单元180可进一步耦接到处理器100的一些其它元件,例如指令提取单元120、操作资源地址产生器130、指令操作单元140或OE产生器150,以控制它们在异常处理期间的操作。处理器100通过执行安全检查来实施计算安全,而安全检查的核心则是将指令的安全属性(SA)、指令所存取的操作资源的SA以及OE的SA相比较。OE可以作为指令提取单元120提取指令时或指令操作单元140执行指令时的副作用(例如异常(exception))、或作为对指令的监视结果(例如,硬件除错事件,即,指令中断点(breakpoint)、数据观察点(watchpoint)、单步执行、或指令追踪(trace))、或回应于处理器的外部输入(例如中断(interrupt)),由OE产生器150产生。SA可以从SLE单元170提供的多个SLE获得。SLE是存储在SLE单元170的查阅数据表中的项目,用于决定指令、操作资源和OE的SA。SLE单元170可以从处理器100的外部输入获取一些或所有的SLE。一个SLE可以包含本文档来自技高网...
安全保护方法和处理器

【技术保护点】
一种由处理器执行的安全保护方法,其特征在于,包括:根据第一指令的指令安全属性和操作事件的安全属性在执行所述第一指令之前或之后执行第一安全检查,其中所述操作事件是作为所述处理器提取或执行所述第一指令时的副作用而产生、或作为对所述第一指令的监视结果而产生、或响应于所述处理器的外部输入而产生;以及当所述第一安全检查失败时,忽略所述操作事件、推迟所述操作事件、或提出安全异常。

【技术特征摘要】
2013.07.09 US 13/938,2181.一种由处理器执行的安全保护方法,其特征在于,包括:
根据第一指令的指令安全属性和操作事件的安全属性在执行所述第一指
令之前或之后执行第一安全检查,其中所述操作事件是作为所述处理器提取
或执行所述第一指令时的副作用而产生、或作为对所述第一指令的监视结果
而产生、或响应于所述处理器的外部输入而产生;以及
当所述第一安全检查失败时,忽略所述操作事件、推迟所述操作事件、
或提出安全异常。
2.根据权利要求1所述的安全保护方法,其特征在于,还包括:
执行第二安全检查、第三安全检查以及第四安全检查中的至少一者,其

所述第二安全检查是基于所述第一指令的所述指令安全属性以及所述第
一指令所存取的操作资源的安全属性,
所述第三安全检查是在所述第一指令为安全服务指令时执行,并且所述
第三安全检查是基于所述第一指令的所述指令安全属性和代码安全属性,
所述第四安全检查是基于所述第一指令的所述指令安全属性和第二指令
的指令安全属性,其中所述处理器对所述第二指令的提取紧跟在所述处理器
对所述第一指令的提取之后;以及
当所述第二安全检查、所述第三安全检查以及所述第四安全检查中的任
一者失败时,提出所述安全异常。
3.根据权利要求2所述的安全保护方法,其特征在于,
当所述第一指令的所述指令安全属性比所述操作事件的所述安全属性更
安全时,所述第一安全检查失败,
当所述第一指令的所述指令安全属性不及所述操作资源的所述安全属性
安全时或当所述第一指令的所述指令安全属性至少和所述操作资源的所述安
全属性同等安全且与所述第一指令的所述指令安全属性相关联的群组标识不
同于与所述操作资源的所述安全属性相关联的群组标识时,所述第二安全检
查失败,
当所述第一指令的所述指令安全属性不及所述第一指令的所述代码安全
属性安全时,所述第三安全检查失败,
当所述第一指令的所述指令安全属性不及所述第二指令的所述指令安全
属性安全时或当所述第一指令的所述指令安全属性至少和所述第二指令的所
述指令安全属性同等安全且与所述第一指令的所述指令安全属性相关联的所
述群组标识不同于与所述第二指令的所述指令安全属性相关联的群组标识
时,所述第四安全检查失败。
4.根据权利要求2所述的安全保护方法,其特征在于,所述操作资源是
在载入/存储地址空间中寻址的数据、所述处理器的寄存器、或由所述处理器
存储或存取的安全查找项目,所述载入/存储地址空间被映射到所述处理器的
内部存储器或外部接口且所述第一指令从所述载入/存储地址空间读取数据
或将数据写入所述载入/存储地址空间,其中每个所述安全查找项目记录了所
述载入/存储地址空间或指令提取地址空间中的区域,所述处理器从所述指令
提取地址空间提取所述第一指令和所述第二指令,且每个所述安全查找项目
进一步记录了与所述区域相关联的安全属性。
5.根据权利要求4所述的安全保护方法,其特征在于,还包括:
从区域覆盖了所述第一指令的提取地址的所述安全查找项目获得所述第
一指令的所述指令安全属性;
从区域覆盖了所述第二指令的提取地址的所述安全查找项目获得所述第
二指令的所述指令安全属性;以及
从区域覆盖了在所述载入/存储地址空间中寻址的所述数据的地址的所
述安全查找项目获得所述数据的安全属性。
6.根据权利要求4所述的安全保护方法,其特征在于,所述处理器在主
机除错模式下提取的指令是用所述安全查找项目中的特殊安全查找项目的安
全属性来标记,且所述特殊安全查找项目只专用于所述主机除错模式。
7.根据权利要求2所述的安全保护方法,其特征在于,所述处理器存储
或存取多个安全查找项目,每个所述安全查找项目包括安全属性且每个所述
安全查找项目与索引相关联,并且所述安全保护方法还包括:
从索引与所述操作事件的索引相匹配的所述安全查找项目获得所述操作
事件的所述安全属性;
从索引与所述操作资源的索引相匹配的所述安全查找项目获得所述操作
资源的所述安全属性;以及
从索引与所述第一指令的索引相匹配的所述安全查找项目获得所述第一
指令的所述代码安全属性,其中所述第一指令的所述索引是从所述第一指令
的指令代码、所述第一指令的操作数以及与所述第一指令的所述指令安全属
性相关联的群组标识中的至少一者得到。
8.根据权利要求1所述的安全保护方法,其特征在于,还包括:
回应于所述安全异常而重置所述处理器、停止所述处理器、或发出陷阱
通知使所述处理器处理所述安全异常。
9.一种处理器,其特征在于,包括:
指令提取单元,从指令提取地址空间提取第一指令;
指令操作单元,耦接到所述指令提取单元,用于执行所述第一指令;
操作事件产生器,耦接到所述指令提取单元和所述指令操作单元,用于
产生操作事件,所述操作事件作为所述指令提取单元提取所述第一指令时或
所述指令操作单元执行所述第一指令时的副作用而产生、或作为对所述第一
指令的监视结果而产生、或响应于所述处理器的外部输入而产生;以及
安全检查单元,耦接到所述指令提取单元、所述指令操作单元和所述操
作事件产生器,用于根据所述第一指令的指令安全属性和所述操作事件的安
全属性在所述指令操作单元执行所述第一指令之前或之后执行第一安全检
查,其中当所述第一安全检查失败时,所述操作事件产生器忽略所述操作事
件、推迟所述操作事件、或提出安全异常。
10.根据权利要求9所述的处理器,其特征在于,还包括:
指令提取地址产生器,耦接到所述指令提取单元,用于产生所述第一指
令和第二指令的提取地址,其中所述指令提取单元对所述第二指令的提取紧
跟在所述指令提取单元对所述第一指令的提取之后;以及
操作资源地址产生器,耦接到所述指令提取单元和所述指令操作单元,
用于产生与所述第一指令所存取的操作资源相关联的数据地址或索引,其中
所述安全检查单元进一步执行第二安全检查、第三安全检查和/或第四安全检
查,其中
所述第二安全检查是基于所述第一指令的所述指令安全属性和所述操作
资源的安全属性,其中所述操作资源的所述安全属性是根据所述数据地址或
所述索引而获得,
所述第三安全检查是在所述第一指令为安全服务指令时执行,并且所述
第三安全检查是基于所述第一指令的所述指令安全属性和代码安全属性,
所述第四安全检查是基于所述第一指令的所述指令安全属性和所述第二
指令的指令安全属性,
当所述第二安全检查、所述第三安全检查或所述第四安全检查中的任一
者失败时,所述安全检查单元提出所述安全异常。
11.根据权利要求10所述的处理器,其特征在于,
当所述第一指令的所述指令安全属性比所述操作事件的所述安全属性更
安全时,所述第一安全检查失败,
当所述第一指令的所述指令安全属性不及所述操作资源的所述安全属性
安全时或当所述第一指令的所述指令安全属性至少和所述操作资源的所述安
全属性同等安全且与所述第一指令的所述指令安全属性相关联的群组标识不
同于与所述操作资源的所述安全属性相关联的群组标识时,所述第二安全检
查失败,
当所述第一指令的所述指令安全属性不及所述第一指令的所述代码安全
属性安全时,所述第三安全检查失败,
当所述第一指令的所述指令安全属性不及所述第二指令的所述指令安全
属性安全时或当所述第一指令的所述指令安全属性至少和所述第二指令的所
述指令安全属性同等安全且与所述第一指令的所述指令安全属性相关联的所
述群组标识不同于与所述第二指令的所述指令安全属性相关联的群组标识
时,所述第四安全检查失败。
12.根据权利要求10所述的处理器,其特征在于,所述操作资源是在载
入/存储地址空间中寻址的数据、所述处理器的寄存器、或安全查找项目,所
述载入/存储地址空间被映射到所述处理器的内部存储器或外部接口且所述
第一指令从所述载入/存储地址空间读取数据或将数据写入所述载入/存储地
址空间,并且所述处理器还包括:
安全查找项目单元,耦接到所述指令提取地址产生器、所述指令提取单
元、所述操作资源地址产生器、所述操作事件产生器以及所述安全检查单元,
用于提供所述多个安全查找项目,其中每个所述安全查找项目记录了所述载
入/存储地址空间或所述指令提取地址空间中的区域,所述处理器从所述指令

\t提取地址空间提取所述第一指令和所述第二指令,且每个所述安全查找项目
进一步记录了与所述区域相关联的安全属性。
13.根据权利要求12所述的处理器,其特征在于,所述指令提取单元从
区域覆盖了所述第一指令的所述提取地址的所述安全查找项目获得所述第一
指令的所述指令安全属性,所述指令提取单元从区域覆盖了所述第二指令的
所述提取地址的所述安全查找项目获得所述第二指令的所述指令安全属性,
并且所述安全检查单元从区域覆盖了在所述载入/存储地址空间中寻址的所
述数据的地址的所述安全查找项目获得所述数据的安全属性。
14.根据权利要求12所述的处理器,其特征在于,所述指令提取单元在
主机除错模式下提取的指令是用所述安全查找项目中的特殊安全查找项目的
安全属性来标记,且所述特殊安全查找项目只专用于所述主机除错模式。
15.根据权利要求10所述的处理器,其特征在于,还包括:
安全查找项目单元,耦接到所述指令提取地址产生器、所述指令提取单
元、所述操作资源地址产生器、所述操作事件产生器以及所述安全检查单元,
用于提供多个安全查找项目,其中每个所述安全查找项目包括安全属性且每
个所述安全查找项目与索引相关联,其中所述安全检查单元从索引与所述操
作事件的索引相匹配的所述安全查找项目获得所述操作事件的所述安全属
性、从索引与所述操作资源的索引相匹配的所述安全查找项目获得所述操作
资源的所述安全属性、且从索引与所述第一指令的索引相匹配的所述安全查
找项目获得所述第一指令的所述代码安全属性,其中所述第一指令的...

【专利技术属性】
技术研发人员:赖吉昌张传华
申请(专利权)人:晶心科技股份有限公司
类型:发明
国别省市:中国台湾;71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1