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

技术编号:15938581 阅读:35 留言:0更新日期:2017-08-04 21:36
本发明专利技术涉及微处理器以及相关的操作方法。该微处理器用以操作以解密加密指令数据为纯文字指令数据并安全地予以执行,避免加密指令数据在该微处理器外部被看见。该微处理器包含:主密钥寄存器,包含多个主密钥;选择逻辑电路,从多个主密钥中选取至少两个主密钥之组合;密钥扩展电路,对所选取的主密钥执行至少一数学运算以产生该解密密钥;以及指令译码电路,对该加密指令数据与该解密密钥执行一数学运算以对该加密指令数据进行解密而产生该纯文字指令数据。

Microprocessor and related operation method

The invention relates to a microprocessor and related methods of operation. The microprocessor is used to operate in order to decrypt the encrypted instruction data as pure text instruction data and to perform it safely, avoiding the encrypted instruction data being seen outside the microprocessor. The microprocessor includes: master key register, comprising a plurality of main key; select logic circuit from a plurality of master key select at least two main key combinations; key expansion circuit, the master key is selected to execute at least a mathematical operation to generate the decryption key; and the instruction decoding circuit, the data encryption instruction with the implementation of a decryption key of the encryption arithmetic to decrypt the data and generate the instruction text instruction data.

【技术实现步骤摘要】
微处理器以及相关的操作方法本申请为申请日为2011年5月25日、申请号为201310687857.0的专利技术名称为“微处理器以及相关的操作方法”的申请案(其中该申请案的原申请的申请日和申请号分别为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,487;1.一种微处理器,用以操作以解密加密指令数据为纯文字指令数据并安全地予以执行,避免加密指令数据在该微处理器外部被看见,该微处理器包含:主密钥寄存器,包含多个主密钥;选择逻辑电路,从多个主密钥中选取至少两个主密钥之组合;密钥扩展电路,对所选取的主密钥执行至少一数学运算以产生该解密密钥;以及指令译码电路,对该加密指令数据与该解密密钥执行一数学运算以对该加密指令数据进行解密而产生该纯文字指令数据。2.如权利要求1所述的微处理器,还包含一用以提取解密指令数据区块之提取单元,其中每个该解密指令数据区块包含多个加密指令数据的提取数量,且每个提取数量包含多个指令数据位。3.如权利要求2所述的微处理器,其中每个该主密钥系至少为一个提取单元的提取数量。4.如权利要求2所述的微处理器,其中该密钥扩展电路对该选取的主密钥以每个新提取的加密指令数据位的提取数量执行一新数学运算。5.如权利要求2所述的微处理器,其中该选择逻辑电路以经由提取单元所提取的加密指令数据的每个新区块,来选取多个该主密钥至少两者的一新组合。6.如权利要求1所述的微处理器,其中该选择逻辑电路包含一第一多任务器与一第二多任务器,其中该第一多任务器用以从该主密钥寄存器文档选取一第一主密钥,该第二多任务器用以从该主密钥寄存器文档选取一第二主密钥。7.如权利要求1所述的微处理器,其中该选择逻辑电路使用该加密指令数据的该提取地址的一部份以从该主密钥寄存器文档选取该主密钥。8.如权利要求1所述的微处理器,其中该密钥扩展电路选择性地加上或减去两个被选取的主密钥。9.如权利要求1所述的微处理器,其中该密钥扩展电路对该选取主密钥的至少一者利用一位移量进行旋转运算。10.如权利要求9所述的微处理器,其中该位移量为该指令的提取地址的函数。11.如权利要求10所述的微处理器,其中该位移量系该指令所在的提取数量的提取地址的位最低集合的函数,以使该位移量在每当加密指令数据的一新提取数量被提取时做改变。12.如权利要求1所述的微处理器,其中该密钥扩展电路对该选取主密钥的至少一者利用一位移量进行旋转运算,并选择性地在另一个该选取主密钥上加上或减去该选转主密钥。13.如权利要求1所述的微处理器,其中该指令加密电路利用该加密指令数据以异或操作于该加密密钥。14.一种在微处理器中,安全地执行加密指令数据的方法,该方法包含:在储存于微处理器中的主密钥寄存器文档中,选取多个该主密钥至少两者的一新组合;在该微处理器中,在选取的该主密钥执行至少一...

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

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

1