可信部件更新系统和方法技术方案

技术编号:20160907 阅读:34 留言:0更新日期:2019-01-19 00:13
一种可信部件更新系统(10),包括:验证逻辑(111),其被配置成证实对计算装置(121)的可信部件(90)的更新的完整性;以及逻辑(104),其被布置在所述可信部件(90)中并且被配置成证实所述验证逻辑(111)的完整性。

【技术实现步骤摘要】
可信部件更新系统和方法本申请是申请日为2008年3月7日,国际申请号为PCT/US2008/003188,国家申请号为200880011964.9,题为“可信部件更新系统和方法”的专利技术专利申请的分案申请。
技术介绍
计算机制造商通常需要一种更新可信部件(例如基本输入/输出系统(BI0S)闪存)的内容的方式,以修正错误和/或提供新的能力。然而,使得BIOS闪存或其他可信部件能够被修改会致使可信部件易于受到恶意的或未授权的逻辑的破坏。附图说明为了更完全地理解本申请及其目标和优点,现在结合附图参考下列描述,其中:图1是图解可信部件更新系统的实施例的图;以及图2是图解可信部件更新方法的实施例的图。具体实施方式图1是图解可信部件更新系统10的实施例的图。更新系统10使得可信部件能够验证对可信部件所提议的更新是由之前已被识别为可信源的源提供的,并且所提议的可信部件更新没有被窜改。在图1中图解的实施例中,更新系统10包括具有可信部件90、中央处理单元(CPU)120和系统存储器110的计算系统121。在图1中,可信部件90包括固件存储器100,例如固件闪存。计算系统121可以包括笔记本计算机、台式计算机、服务器、游戏装置、音频装置、视频装置或包含可信部件的任何类型的装置。在图1中,当计算系统121首次通电、重新启动和/或重置时,固件存储器100为计算系统121提供启动(boot-up)功能。例如,固件存储器100可以在CPU120开始执行指令的时间之前初始化CPU120的配置,例如通过启用和/或禁用CPU120的某些能力以及设置CPU120中的时钟速率来初始化CPU120的配置。在图1中图解的实施例中,计算系统121包括两个存储器部分,它们由“信任”分开并且通常分开地驻留在所制造的部件中。例如,在一些实施例中,固件存储器100是包括可信存储器引导块102的闪存(例如当计算系统121首次通电、重新启动和/或重置时用于为计算系统121提供启动功能),而存储器110可能不包括可信存储器和/或可以包括非固件存储器。但是,应该理解,可信存储器还可以驻留在不同于固件存储器100的位置中。如此处所使用的,“信任”或“可信”意味着对在由计算硬件和/或软件强加的预定义规则集内的一致操作的预期,例如如在TCG规范体系结构总体规范(specificationArchitectureOverviewSpecification),修订版1.2(可信计算组,2004)中阐述的“信任”的定义。例如,确保在计算系统121中的某个存储器部分(诸如固件存储器100的引导块102)的内容仅包含由先前识别的源(定义为可信源)产生的信息使得能够信任系统部件的该某个部分。固件存储器100耦合到用于执行启动操作的CPU120并且耦合到用于读取由固件存储器100使用的数据的存储器110。在图1中图解的实施例中,固件存储器100包括非易失性闪存。在一些实施例中,固件存储器100包括基本输入/输出系统(BIOS)。在一些实施例中,固件存储器100包括可扩展固件接口(EFI)或统一EFI(UEFI)。但是,应该理解,固件存储器100可以包括为计算系统提供启动功能性的任何系统。存储器110可以包括易失性存储器、非易失性存储器和永久存储装置(诸如数字媒体驱动器(DMD))。在图1中图解的实施例中,计算系统121被示出为包括单个CPU120,但是应该理解可以使用更多数量的CPU。在图1中图解的实施例中,固件存储器100包括引导块102。引导块102通常是当计算系统121首次通电、重新启动和/或重置时在固件存储器100中执行的初始逻辑。引导块102是可信逻辑,因为引导块102被锁定在固件存储器100中,并且在正常的计算系统121工作期间被保护而免于更新(即引导块102被来自可信源的可信方法更新,该可信源例如可以通过密码方法被证实)。可信系统和可信方法是具有足够安全级别以防止对可信存储器的内容的未授权改变的系统和方法。例如,可信系统和可信方法可以使用强大的安全方法,例如包括RSA验证、椭圆曲线密码学(ECC)、数字签名算法(DSA)、安全散列(hash)算法1(SHA-1)和SHA-2的密码算法以确保可信源生成一定的数字文件和/或确保自从可信源生成该数字文件以来该数字文件没有被改变或窜改。可信系统和可信方法确保在使用该数字文件修改可信存储器之前该数字文件可被信任。以这种方式,未由可信源授权的逻辑以及病毒不能进入(keepoutof)可信存储器,即使可信存储器是可修改的也是如此。在图1中图解的实施例中,引导块102包括初始化逻辑103、散列逻辑104、散列值105、引导指令106和更新逻辑114。初始化逻辑103包括在固件存储器100的引导块102中被处理和/或运行的逻辑、数据和指令。通常,当固件存储器100完成对在引导块102中找到的和/或由引导块102引用(rererence)的指令的处理时,固件存储器100在将对计算系统121的控制转移到操作系统之前可以执行任何其他启动程序。更新逻辑114包括用于重写固件存储器100的各部分(例如引导块102)的可运行指令。运行散列逻辑104以通过执行散列函数来验证数字文件的完整性,该散列函数是数学运算,其产生散列值作为结果。在一些实施例中,散列逻辑104包括SHA-1算法,不过可以可替换地或附加地使用其他散列函数。散列值105是先前计算的完整性证实值,其是用于证实数字文件(例如可运行的计算机程序)没有被窜改的数值。在运行中,在数字文件上运行散列逻辑104以便计算散列值,该散列值与存储在固件存储器100中的散列值105相比较。因此,如果所计算的散列值对应于散列值105和/或以其他方式匹配散列值105,则该数字文件被认为是可信赖的。散列逻辑104和散列值105被存储在驻留在固件存储器100中的引导块102中。在一些实施例中,当计算系统121被制造、整修(refurbish)、更新或修理时散列逻辑104和散列值105最初被放置在引导块102中。因此,更新系统10能够将信任从引导块102延伸到存储在固件存储器100之外的数字文件,从而创建信任链。在图1中图解的实施例中,存储器110包括验证逻辑111和签名的更新112。签名的更新112包括由可信方(例如计算系统121的制造商)提议的用于可信部件90的更新,例如用于引导块102的更新。例如,签名的更新112可以包括在更新数据116中表示的错误修正(bugfix)。验证逻辑111包括包含有签名验证数据113的数据、逻辑和指令,以验证签名的更新112是由可信源(例如计算系统121的制造商或计算机网络管理员)产生的,并且进一步地验证签名的更新112自从被生成以来没有被窜改。散列逻辑104和验证逻辑111的每一个包括用于信任验证的手段。但是,验证逻辑111可以是可信的,即使存储在可信固件存储器100的外部,因为散列逻辑104使得固件存储器100能够将信任从固件存储器100延伸到验证逻辑111。通过使验证逻辑111能够独立地计算在签名的更新112中的数字签名115的某些部分,来将签名验证数据113用于完整性验证(例如确保没有窜改)和起源验证(例如确保先前识别的可信源是生产者)。在图1中图解的实施例本文档来自技高网...

【技术保护点】
1.一种可信部件更新系统(10),包括:验证逻辑(111),其被配置成证实对计算装置(121)的可信部件(90)的更新的完整性;以及逻辑(104),其被布置在所述可信部件(90)中并且被配置成证实所述验证逻辑(111)的完整性。

【技术特征摘要】
2007.04.13 US 11/786,8741.一种可信部件更新系统(10),包括:验证逻辑(111),其被配置成证实对计算装置(121)的可信部件(90)的更新的完整性;以及逻辑(104),其被布置在所述可信部件(90)中并且被配置成证实所述验证逻辑(111)的完整性。2.根据权利要求1所述的系统(10),其中在所述可信部件(90)中的逻辑(104)被配置成对所述验证逻辑(111)的至少一部分进行散列运算以证实所述验证逻辑(111)的完整性。3.根据权利要求1所述的系统(10),其中在所述可信部件(90)中的逻辑(104)被配置成对所述验证逻辑(111)的至少一部分进行散列运算并且将所述散列运算的结果与存储在所述可信部件(90)中的预定散列值(105)进行比较。4.根据权利要求1所述的系统(10),其中所述验证逻辑(111)被配置成证实与所述更新相关联的签名(115)的完整性。5.根据...

【专利技术属性】
技术研发人员:B·巴拉歇夫V·Y·阿利L·王
申请(专利权)人:瑞典爱立信有限公司
类型:发明
国别省市:瑞典,SE

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

1