微处理器以及相关的操作方法技术

技术编号:16286391 阅读:32 留言:0更新日期:2017-09-25 02:21
本发明专利技术涉及微处理器以及相关的操作方法。该微处理器包括:一寄存器,具有一位,其中,该微处理器用于设定该位;以及一提取单元,用于自一指令高速缓冲存储器提取加密指令、并且在执行上述加密指令前解密上述加密指令,以回应该微处理器设定该位的操作。其中该微处理器储存该位的数值至一存储器、且接着清除该位,以回应接收到的一中断事件;其中,该微处理器清除该位后,该提取单元自该指令高速缓冲存储器提取非加密指令、并且不作解密即执行上述非加密指令;该微处理器自该存储器将先前储存的数值用来修复该寄存器的该位,以回应自中断指令返回的操作;若判断出该位修复后的值为设定状态,该提取单元会再次开始提取并且解密加密指令。

Microprocessor and related operation method

The invention relates to a microprocessor and related methods of operation. The microprocessor comprises a register, with a, wherein the microprocessor is used to set the position; and an extracting unit, an instruction cache for instruction, and the extraction of encryption decryption encryption in executing the encryption instruction before the instruction in response to the microprocessor set the bit operation. The microprocessor stores the bit to a numerical memory, and then clear the bit, an interrupt event in response to the received; among them, the removal of the microprocessor, the extraction unit from the instruction cache to extract non encrypted instructions, and not performing the non encryption decryption instruction from the microprocessor; the memory will be used to repair the value previously stored in response to the register, since the interrupt return operation; if the judge after the restoration of the value is set, the extraction unit will start extraction and decrypt the encrypted instructions again.

【技术实现步骤摘要】
本申请为申请日为2011年5月25日、申请号为201110136447.8的发明名称为“微处理器以及相关的操作方法、以及加密、解密方法”的申请案的分案申请。
本专利技术涉及微处理器(microprocessor)领域,特别是涉及用于增加微处理器所执行的程序的安全性。
技术介绍
很多软件程序在面临破坏计算机系统安全的攻击时,通常是脆弱不堪的。例如,黑客可藉由攻击一运行中程序的缓冲溢位区漏洞(bufferoverflowvulnerability)植入不当程序码、并转移主控权给该不当程序码。如此一来,所植入的程序码将主导被攻击的程序。一种防范软件程序遭攻击的方案为指令集随机化(instructionsetrandomization)。概略解释之,指令集随机化技术会先将程序加密(encrypt)为某些形式,再于处理器将该程序自存储器提取后,于该处理器内解密(decrypt)该程序。如此一来,黑客便不易植入恶意指令,因为所植入的指令必须被适当地加密(例如,使用与所攻击程序相同的加密密钥或演算法)方会被正确地执行。例如,参阅文件「CounterCode-InjectionAttackswithInstruction-SetRandomization,byGauravS.Kc,AngelosD.Keromytis,andVassilisPrevelakis,CCS’03,October27-30,2003,Washington,>DC,USA,ACM1-58113-738-9/03/0010」,其中叙述Bochs-x86Pentium模拟器(emulator)的改良版本。相关技术的缺点已被广泛讨论。例如,参阅数据「Where’stheFEEB?TheEffectivenessofInstructionSetRandomization,byAnaNoraSovarel,DavidEvans,andNathanaelPaul,http://www.cs.virginia.edu/feeb」。
技术实现思路
本专利技术一种实施方式揭示一微处理器。该微处理器包括一指令高速缓冲存储器、一指令解码单元、以及一提取单元。该提取单元用于:(a)自该指令高速缓冲存储器提取一区块的指令数据;(b)以一数据实体对该区块执行一布林异运算,以产生纯文字指令数据;以及(c)将上述纯文字指令数据提供给该指令解码单元。在一第一状况下,该区块包括加密指令数据、且该数据实体为解密密钥。在一第二状况下,该区块包括非加密指令数据、且该数据实体为多个位的二进位零值。无论该区块的指令数据为加密或非加密,实行上述内容(a)、(b)以及(c)所需要的时间在该第一状况下以及该第二状况下是相同的。本专利技术另外一种实施方式揭示一方法,用以操作具有一指令高速缓冲存储器的一微处理器。该方法包括:(a)自该指令高速缓冲存储器提取一区块的指令数据;(b)以一数据实体对该区块进行一布林异运算,以产生纯文字指令数据;以及(c)供应上述纯文字指令数据给一指令解码单元。在一第一状况下,该区块包括加密指令数据、且该数据实体为解密密钥。在一第二状况下,该区块包括非加密指令数据、且该数据实体为多个位的二进位零值。无论该区块的指令数据为加密或非加密,实行上述内容(a)、(b)以及(c)所需要的时间在该第一状况下以及该第二状况下是相同的。本专利技术一种实施方式提供一微处理器。该微处理器包括一指令高速缓冲存储器以及一提取单元。该提取单元会自该指令高速缓冲存储器一序列多个提取地址提取一加密程序一序列多个区块的加密指令。在提取该序列各个区块时,提取单元更以多个密钥数值以及所提取该区块的提取地址的部份内容为一函数,生成解密密钥。针对提取出的该序列各个区块,提取单元还采用对应的解密密钥解密其中加密指令。该微处理器还包括一密钥切换指令,在该提取单元自该指令高速缓冲存储器提取该序列上述多个区块时,指示该微处理器更新该提取单元内的这些密钥数值。本专利技术另外一种实施方式揭示一种方法,操作具有一指令高速缓冲存储器的一微处理器。该方法包括自该指令高速缓冲存储器提取一程序多个第一加密指令,且将之以一第一解密密钥解密为多个第一非加密指令。该方法还包括将该第一解密密钥以一第二解密密钥取代,回应这些第一非加密指令中的一密钥切换指令。该方法还包括自该指令高速缓冲存储器提取该程序的多个第二加密指令,且将之以该第二解密密钥解密为多个第二非加密指令。本专利技术另外一种实施方式揭示一种方法,用于操作一微处理器。该方法包括自一指令高速缓冲存储器一序列多个提取地址提取一加密程序一序列多个区块的加密指令。该方法还包括在提取该序列各个区块时,以多个密钥数值以及所提取该区块的提取地址的部份内容为一函数生成解密密钥。该方法还包括针对该序列内各区块,使用对应的上述解密密钥解密其中的加密指令。该方法还包括在提取该序列上述多个区块时,执行一密钥切换指令。执行上述密钥切换指令包括更新用于生成上述解密密钥的这些密钥数值。本专利技术一种实施方式揭示一种微处理器。该微处理器包括一提取单元,使用第一解密密钥数据提取并且解密一分支与切换密钥指令。该微处理器还包括微代码。上述微代码在该分支与切换密钥指令的方向不被采用的状况下,令该提取单元采用上述第一解密密钥数据提取并且解密该分支与切换密钥指令之后的接续指令。该微代码还在该分支与切换密钥指令被采用的状况下,令该提取单元采用不同于上述第一解密密钥数据的第二解密密钥数据提取并且解密该分支与切换密钥指令的一目标指令。本专利技术另外一种实施方式揭示一方法,以一微处理器处理一加密程序。该方法包括使用第一解密密钥数据提取并且解密一分支与切换密钥指令。此方法还包括,在该分支与切换密钥指令的方向不被采取的状况下,以上述第一解密密钥数据提取并且解密该分支与切换密钥指令之后的接续指令。该方法还包括,在该分支与切换密钥指令的方向被采取的状况下,以不同于上述第一解密密钥数据的第二解密密钥数据提取并且解密该分支与切换密钥指令的一目标指令。本专利技术另外一种实施方式亦揭示一方法,用于加密一程序,以供用于解密与执行加密程序的一微处理器日后执行。该方法包括接收一非加密程序的一目的文件,其中包括传统分支指令,所指示的目标地址可于该微处理器执行该程序前判定。该方法还包括分析该程序以获得块信息。上述块信息将该程序划分成一序列多个块。各块包括一序列多个指令。上述块信息还包括各块相关的加密密钥数据。各块对应的加密密钥数据不相同。该方本文档来自技高网...

【技术保护点】
一种微处理器,包括:一寄存器,具有一位,其中,该微处理器用于设定该位;以及一提取单元,用于自一指令高速缓冲存储器提取加密指令、并且在执行上述加密指令前解密上述加密指令,以回应该微处理器设定该位的操作;其中,该微处理器储存该位的数值至一存储器、且接着清除该位,以回应接收到的一中断事件;其中,该微处理器清除该位后,该提取单元自该指令高速缓冲存储器提取非加密指令、并且不作解密即执行上述非加密指令;其中,该微处理器自该存储器将先前储存的数值用来修复该寄存器的该位,以回应自中断指令返回的操作;其中,若判断出该位修复后的值为设定状态,该提取单元会再次开始提取并且解密加密指令。

【技术特征摘要】
2010.05.25 US 61/348,127;2011.04.21 US 13/091,828;1.一种微处理器,包括:
一寄存器,具有一位,其中,该微处理器用于设定该位;以及
一提取单元,用于自一指令高速缓冲存储器提取加密指令、并且在执行
上述加密指令前解密上述加密指令,以回应该微处理器设定该位的操作;
其中,该微处理器储存该位的数值至一存储器、且接着清除该位,以回
应接收到的一中断事件;
其中,该微处理器清除该位后,该提取单元自该指令高速缓冲存储器提
取非加密指令、并且不作解密即执行上述非加密指令;
其中,该微处理器自该存储器将先前储存的数值用来修复该寄存器的该
位,以回应自中断指令返回的操作;
其中,若判断出该位修复后的值为设定状态,该提取单元会再次开始提
取并且解密加密指令。
2.如权利要求1所述的微处理器,其中,该寄存器的该位为x86架构
标志寄存器的一预留位。
3.如权利要求1所述的微处理器,其中:
若该位为设定,为了解密加密指令,该提取单元以一解密密钥对加密指
令进行布林异运算;并且
若该位为清除,该提取单元以多位的二进位零值对非加密指令进行布林
异运算。
4.如权利要求1所述的微处理器,其中,该微处理器用于执行一系统
软件接收执行具有加密指令的一第一程序的一要求,并且,在具有加密指令
的一第二程序正由该微处理器执行的状况下,待该第二程序执行完毕后方执
行该第一程序。
5.一操作方法,用以操作具有一指令高速缓冲存储器以及一寄存器的
一微处理器,该操作方法包括:
令该寄存器的一位为设定,且随后自该指令高速缓冲存储器提取加密指
令、并在执行上述加密指令前将上述加密指令解密;
储存该架构寄存器该位的数值、并接着清除该位,以回应所接收到的一
中断事件;
在清除该位后,自该指令高速缓冲存储器提取非加密指令,并且不作解
密即执行上述非加密指令;
以先前储存的数值修复该寄存器的该位,以回应自中断指令返回的操
作;以及
若判定该位修复后的数值为设定状态,回复上述提取、解密并且执行加
密指令的操作。
6.如权利要求5所述的操作方法,其中该架构寄存器的该位为x86架
构标志寄存器的一预留位。
7.如权利要求5所述的操作方法,其中:
若该位为设定,上述解密加密指令的步骤包括以一解密密钥对加密指令
进行布林异运算;以及
若该位为清空,上述不对非加密指令作解密的操作包括以多位的二进位
零值对非加密指令作布林异运算。
8.如权利要求5所述的操作方法,还包括:
接收一要求,目的是执行具有加密指令的一第一程序;并且
若该微处理器正在执行具有加密指令的一第二程序,则等待直至该第二
程序执行完毕后方执行该第一程序。
9.一微处理器,包括:
一寄存器,具有一位;以及
一提取单元;
其中,若接收到中断执行中程序的一要求,该微处理器储存该位的数值,
其中,该位指示执行中的程序为加密或非加密;
其中,该微处理器以先前储存的数值修复该位、并且重新提取被中断的
程序作为执行中程序,以...

【专利技术属性】
技术研发人员:G·葛兰·亨利泰瑞·派克斯布兰特·比恩汤姆士·A·克理斯宾
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:中国台湾;71

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

1