[发明专利]解密密钥产生装置与方法有效
申请号: | 201310738005.X | 申请日: | 2011-05-25 |
公开(公告)号: | CN103713883A | 公开(公告)日: | 2014-04-09 |
发明(设计)人: | G·葛兰·亨利;泰瑞·派克斯;布兰特·比恩;汤姆士·A·克理斯宾 | 申请(专利权)人: | 威盛电子股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F21/72 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 钱大勇 |
地址: | 中国台*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 解密 密钥 产生 装置 方法 | ||
本申请为申请日为2011年5月25日、申请号为201110136447.8的发明名称为“微处理器以及相关的操作方法、以及加密、解密方法”的申请案的分案申请。
技术领域
本发明涉及微处理器(microprocessor)领域,特别是涉及用于增加微处理器所执行的程序的安全性。
背景技术
很多软件程序在面临破坏计算机系统安全的攻击时,通常是脆弱不堪的。例如,黑客可藉由攻击一运行中程序的缓冲溢位区漏洞(buffer overflow vulnerability)植入不当程序码、并转移主控权给该不当程序码。如此一来,所植入的程序码将主导被攻击的程序。一种防范软件程序遭攻击的方案为指令集随机化(instruction set randomization)。概略解释之,指令集随机化技术会先将程序加密(encrypt)为某些形式,再于处理器将该程序自存储器提取后,于该处理器内解密(decrypt)该程序。如此一来,黑客便不易植入恶意指令,因为所植入的指令必须被适当地加密(例如,使用与所攻击程序相同的加密密钥或演算法)方会被正确地执行。例如,参阅文件「Counter Code-Injection Attacks with Instruction-Set Randomization,by Gaurav S.Kc,Angelos D.Keromytis,and Vassilis Prevelakis,CCS’03,October27-30,2003,Washington,DC,USA,ACM1-58113-738-9/03/0010」,其中叙述Bochs-x86Pentium模拟器(emulator)的改良版本。相关技术的缺点已被广泛讨论。例如,参阅数据「Where’s the FEEB?The Effectiveness of Instruction Set Randomization,by Ana Nora Sovarel,David Evans,and Nathanael Paul, http://www.cs.virginia.edu/feeb」。
发明内容
本发明一种实施方式揭露一种解密密钥产生装置,所产生的解密密钥用于解密一区块的加密指令数据。该区块的加密指令数据是取自一微处理器的一指令高速缓存的一提取地址。该解密密钥产生装置包括:一第一多工器、一第二多工器、一旋转器以及一计算单元。该第一多工器是设置来基于该提取地址的一第一部份自多个密钥值中选出一第一密钥值。该第二多工器是设置来基于该提取地址的该第一部份自该多个密钥值中选出一第二密钥值。该旋转器是设置来基于该提取地址的一第二部分循环移位该第一密钥值。该计算单元是设置来基于该提取地址的一第三部分选择将循环位移后的该第一密钥值加入该第二密钥值、或将该第二密钥值减去循环位移后的该第一密钥值,以产生该解密密钥。
在一种实施方式中,该解密密钥自加密指令数据解密出的纯文字数据(plain text data)自该微处理器外部不可见(unoberservable)。
在另外一种实施方式中,所揭露的解密密钥产生装置更包括一控制位,设置来储存一标示,反映该处理器处于一解密模式或一纯文字模式。该微处理器处于该解密模式时,该解密密钥是与提取出的该区块的加密指令数据做布林异或运算,以于解密该区块的加密指令数据。该微处理器处于该纯文字模式时,提取出的该区块的加密指令数据是与二进制零值(zeroes)做布林异或运算。
在另外一种实施方式中,该第一以及该第二密钥值所选自的该多个密钥值是取决于一更新操作,该更新操作早于该第一以及该第二多工器的选择操作。
本发明一种实施方式揭露一种解密密钥产生方法,所产生的解密密钥用于解密一区块的加密指令数据。该区块的加密指令数据的取自一微处理器的一指令高速缓存的一提取地址。该解密密钥产生方法包括:基于该提取地址的一第一部份,自多个密钥值中选出一第一密钥值;基于该提取地址的该第一部份,自该多个密钥值中选出一第二密钥值;基于该提取地址的一第二部分,循环移位该第一密钥值;以及,基于该提取地址的一第三部分,选择将循环位移后的该第一密钥值加入该第二密钥值、或将该第二密钥值减去循环位移后的该第一密钥值,以产生该解密密钥。该第一以及该第二密钥值所选自的该多个密钥值的取决于一更新操作,该更新操作早于选择该第一以及该第二密钥值的操作。
附图说明
图1为一方块图,图解根据本发明技术实现的一微处理器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于威盛电子股份有限公司,未经威盛电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310738005.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多功能筷子
- 下一篇:一种智能无线节能型配电箱