用于计算机系统中安全对象的支持的制作方法

上传人:ting****789 文档编号:310028506 上传时间:2022-06-14 格式:DOCX 页数:6 大小:26.05KB
返回 下载 相关 举报
用于计算机系统中安全对象的支持的制作方法_第1页
第1页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《用于计算机系统中安全对象的支持的制作方法》由会员分享,可在线阅读,更多相关《用于计算机系统中安全对象的支持的制作方法(6页珍藏版)》请在金锄头文库上搜索。

1、用于计算机系统中安全对象的支持的制作方法专利名称:用于计算机系统中安全对象的支持的制作方法技术领域:本发明大体而言涉及保护一计算机系统上的数据及软件免受各种形式的攻击,包括免受该计算机系统上的其它软件的攻击。更具体的,在例示性实施例中,由两条新的机器指令控制加密/解密以提供一种机制,通过该机制,使得除了在CPU内部使用安全对象中的敏感软件及数据的时间段以外的所有时间,该敏感软件及数据始终是被加密的。背景技术:因特网是强大的工具,其已改变了世界。正如IBM的前任董事长兼CEO Lou Gerstner所言,“因特网是我们所见过的推动商业、经济及社会改变的唯一最强大的工具”。但如同许多工具一样,此

2、工具可用于好的方面以及坏的方面。几乎每周,我们就会听到以藉助于因特网的攻击来危害系统及窃取敏感信息的事件。一些最近的新闻事项包括 英国MI5 中国网络攻击以顶级公司为目标,泰晤士报(伦敦),2007年12月3 曰;非法软件造成大规模数据外泄未经授权的计算机程序秘密安装于汉纳福特兄弟(Harmaford Brothers)连锁超级市场的服务器上,泄露多达420万笔转账卡及信用卡资料,美联社,2008年3月28日;俄罗斯犯罪组织大规模地劫持个人计算机,纽约时报,2008年8月6日;在信用卡详细信息被连锁旅馆黑客窃取的后,800万人遭到ID被诈欺的危险, (英国)每日邮报,2008年8月25日; 纽

3、约梅隆银行的资料外泄现在对1250万人造成影响,路透社,2008年8月观日; 以及 美国当局指控来自5个国家的11人自若干零售商(包括TJX Cos)窃取数千万信用卡号及转账卡号,路透社,2008年8月观日(引用上文所述的纽约银行的文章)。且存在许多其它类似事件。因此,需要可有助于防止黑客藉助于因特网的攻击而自计算机系统窃盗信息的系统及方法,且需要保护计算机系统上的敏感数据及软件免受其它软件(包括可将攻击者引入至目标计算机系统中的软件)攻击。发明内容4鉴于前述内容以及现有系统的其它例示性问题、缺陷及缺点,本发明的例示性特征为提供一种用于计算机系统的处理器,该处理器包括用于支持安全对象的机制,该

4、安全对象包含受到密码编译保护以免受该计算机系统上的其它软件攻击的代码及数据。本发明的另一例示性特征为提供一种用于进行以下操作的结构及方法除安全对象实际上正在CPU内加以处理时的外,都使为该安全对象的部分的数据及代码中的至少者保持受到密码编译保护。本发明的另一例示性特征为提供一种机制,其包括密码编译引擎;以及机器指令,其将密钥加载至该密码编译引擎中,以使得该安全对象在进入用于处理该安全对象的 CPU中时经解密。因此,在第一例示性方面中,本文中描述一种处理器,其处于计算机系统中,该处理器并有支持安全对象的机制,该安全对象包括受到密码编译保护以免受该计算机系统上的其它软件攻击的代码及数据。在第二例示

5、性方面中,本文中还描述一种机制,其包括密码编译引擎;以及指令,其将密钥加载至该密码编译引擎中以在该安全对象的该代码正执行于该处理器上时提供对该安全对象的访问。在第三例示性方面中,本文中还描述一种保护私有信息的方法,及一种储存执行该方法的机器可读指令的储存介质。在第四例示性方面中,本文中还描述一种数据结构,其有形地体现于机器可读储存介质中,该数据结构受到密码编译保护以免受计算机系统上的其它软件攻击。在第五例示性方面中,本文中还描述一种机器指令,其提供支持安全对象的机制, 该安全对象包括受到密码编译保护以免受计算机系统上的其它软件攻击的代码及数据。因此,本发明提供一种新的机器指令及数据结构,以使得

6、该数据结构的该私有数据除了在于计算机系统上的CPU内处理期间以外始终受到密码编译保护,藉此提供对该私有数据的保护以免受该计算机系统上的其它软件攻击。参考附图,将会更好地根据本发明的示例性实施例的详细描述来理解上述及其他目的、方面和优点,其中图1例示性地说明对安全对象100的高级语言描述,该安全对象100包括受到密码编译保护以免受其它软件攻击的代码及数据;图2为安全对象的低阶实施200(例如,编译版本)的说明;图3示出了提供对安全对象的支持的微处理器的例示性方块图300 ;图4说明了用于实施安全对象的esm指令格式400 ;图5例示性地说明第二例示性实施例的概念500,其中对esm指令的句柄进行

7、解密以得到加密/解密密钥;图6说明构建用于第一例示性实施例的含有安全对象的可执行码的处理600 ;图7说明构建如可用于第二例示性实施例的含有安全对象的可执行码的另一处理 700 ;图8说明安全对象可将消息调用或发送至其它对象的方式;图9说明用于并入本发明的例示性硬件/信息处理系统900 ;以及图10说明用于储存根据本发明的方法的程序步骤的信号承载储存介质1000(例如,储存介质)。具体实施例方式现参看附图,现解释根据本发明的方法及结构的例示性实施例。本发明提供用于实施新建构安全对象的机制,其提供对抗软件攻击的强大防卫。 安全对象(如同其它面向对象的程序设计语言中的对象)含有数据及操控该数据并提

8、供对该数据的访问的代码。安全对象与现有程序设计语言(诸如,Java)中的对象的不同的处在于该安全对象的私有代码及数据受到密码编译保护,使得其它软件都不能访问该安全对象的私有信息。图1提供可能以高阶程序设计语言来表示安全对象100的实例。此安全对象包括私有数据101及私有方法102,以及允许经由安全对象的公用接口 103、105来访问该安全对象的方法。安全对象可由其它软件使用(还即,其它软件可“调用”或“发送消息”至安全对象),但其它软件仅可经由安全对象的公用接口 103、105来访问该安全对象。在基于安全对象的系统中,私有信息几乎始终受到加密。当私有信息处于内存中及处于磁盘上时,无论其是处于传

9、呼系统中抑或处于文件系统中,私有信息都受到加密。图2示出了安全对象的编译版本200可能呈现在内存中的方式。安全对象的私有信息仅在以下状况下“不用密码”自该安全对象内部访问该私有信息;以及仅当该信息处于微处理器内部时。由于其它代码都不能访问安全对象的私有信息,因此经由另一软件模块中的漏洞进入系统的软件攻击无法访问该安全对象的私有信息的未加密版本。如图2中所表明的, 经加密的私有信息可包括对应于图1中的私有代码102及私有数据101的私有代码以及私有数据。在用于解释本发明的概念的例示性实施例中,此新设计包括用于进入及离开安全对象的公用方法的两条新指令“esm”及“lsm”,其分别用于“进入安全方法

10、”(enter secure method)及“离开安全方法” (leave secure method)。esm指令将些密钥信息加载至专用寄存器中,该密钥信息用于在安全对象的私有代码及数据自内存移动至微处理器中时对该代码及数据进行解密。其它数据(诸如,传递至该方法的自变量及在调用安全对象时所保存的返回地址)的访问无需此解密。图3为提供对安全对象的支持的微处理器301的方块图300。此微处理器以与现今常用的微处理器非常相似的方式执行代码,但其包括密码编译引擎302,该密码编译引擎 302用于(1)当敏感信息自外部存储器303移动至Ll高速缓存304中时对该信息进行解密;以及( 当敏感信息自Ll

11、高速缓存304移动至外部存储器303时对该敏感信息进行加密。此加密用于确保包括病毒、蠕虫及其它“攻击软件”的其它软件将不能够获得敏感信息的未加密版本。图3还示出了密码编译引擎内的标记为“密钥”的区块305,其留存用于加密及解密处理中的密钥。该密钥区块可包括密码编译寄存器集合,其经专门设计以用于留存所述密钥。应注意,密码编译引擎302可为与处理器307相关联的共处理器,或密码编译引擎可以是由CPU处理器本身执行的功能。由Ism指令恢复专用密码编译寄存器305的先前状态,Ism指令可仅由操作码组成,使得一般非安全代码可在该安全方法返回时在无加密及解密的情况下执行。在安全对象系统中,用于对安全对象的

12、私有信息进行解密的密钥305可用于该安全对象,但所述密钥不可用于任何其它代码。如图4中例示性地示出了,esm指令400具有操作码字段401及称为其“句柄”的操作数字段402,该句柄用于将密钥加载至密钥区块305中的专用密码编译寄存器中,以提供对对象的私有数据的访问。但由于用于对对象的私有信息进行解密的密钥必须不可用于任何其它代码,因此该句柄提供对不可由其它软件使用的密钥信息的间接引用。将在下文中更详细地描述此处理。在安全对象内部,自内存303至CPU 307的路径上对私有信息进行解密,且在自 CPU 307至内存303的路径上对私有信息进行加密。该密码编译包括用于保护安全对象的私有代码及数据的

13、完整性以及其机密性的密码编译完整性值。因此,若敌人或软件错误或来自另一软件模块的软件攻击“篡改”对象的私有代码或数据,则当该对象下次访问该代码或数据时,密码编译硬件将产生密码编译完整性异常。相反,当安全对象更新其私有数据101时,该对象的密钥被用来更新其密码编译完整性值,以使得在该对象稍后访问此数据时,不发生任何完整性异常。可如上文所述的共同未决申请中所描述地进行包括密码编译完整性保护的加密及解密处理。该完整性保护对于保护提供对对象的私有信息的访问的密钥而言也是必要的。若敌人试图藉由某些其它代码来使用安全对象的句柄(其可在安全对象的esm指令中是可获得的),则对此“其它”代码的使用将产生密码编

14、译完整性异常,且此代码的执行将被终止。 由于所述密钥不可为敌人所用,因此敌人无法产生在使用所述密钥时通过密码编译完整性检查的代码。且敌人无法以除句柄外的其它方式获得或使用所述密钥,因此无法获得对安全对象的密钥或私有信息的访问。在例示性实施中,密钥信息以及自句柄至密钥的映射储存于不可由软件访问的受保护区域306中。在此实施中,当CPU执行esm指令时,其自该esm指令取得句柄,将该句柄映射至密钥信息,且接着将该密钥信息加载至密钥区块305中的专用密码编译寄存器中。在图5中所示出了的第二例示性实施500中,设计句柄以消除储存对象密钥信息的需要。在此设计中,句柄具有安全对象的密钥信息的加密形式,其是

15、根据不可用于软件的专用“系统密钥”进行加密。在此设计中,正执行esm指令的CPU使用该系统密钥来对该句柄进行解密以获得对象的密钥信息,且接着将该对象的密钥信息加载至密码编译寄存器中以提供对该对象的私有信息的访问。该系统密钥仍必须受到保护,但此设计的可裁剪性更佳,因为无需储存潜在的大量对象密钥及自句柄至对象密钥的映射。在上文所述的共同未决申请中描述了实施此加密、解密及完整性检查的方法的细节。图6及图7例示性地说明构建用于所述两个实施的具有安全对象的可执行码的处理。图6说明构建用于第一例示性实施的可执行码的处理600。除了通常的编译器处理601以外,在步骤602中,编译器还将在安全对象公用方法的进

16、入点及安全对象公用方法的返回处产生esm指令及Ism指令。接着,如图6中所示出了,额外处理将进行以下步骤将给定对象的esm指令与句柄相关联(步骤603);将对象的句柄与密钥信息进行链接以保护机密性及完整性(步骤604);使用每一对象的密钥信息来对该对象的私有代码及数据进行加密(步骤605); 以及将该密钥信息以及自句柄至密钥信息的映射储存于“受保护区域”中,该“受保护区域”不可被大多数软件访问,但可在esm指令的执行中使用(步骤606)。图7说明构建用于第二例示性实施的可执行码的处理700。如在先前的状况中,将在步骤701中进行通常的编译器处理,且在步骤702中,编译器将在安全对象公用方法的进入点及安全对象公用方法的返回处产生esm指令及Ism指令。但在此状况下,额外处理将进行以下步骤针对每一安全对象产生密钥信息(步骤703);使用每一对象的密钥信息来对该对象的私有代码及数据进行加密(步骤704);使用专用“系统密钥”来对每一对象的密钥信息进行加密(步骤705);以及使用每一对象的密钥信息的加密形式作为该对象的esm

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号