
发明创造名称:一种基于更新安全机制的UEFI系统更新方法
外观设计名称:
决定号:186100
决定日:2019-08-07
委内编号:1F243411
优先权日:
申请(专利)号:201410844498.X
申请日:2014-12-30
复审请求人:北京工业大学
无效请求人:
授权公告日:
审定公告日:
专利权人:
主审员:范玉霞
合议组组长:徐卫锋
参审员:武晓冬
国际分类号:G06F21/57,G06F21/62,G06F9/445
外观设计分类号:
法律依据:专利法第22条第3款
决定要点:如果在最接近的现有技术的基础上结合本领域的惯用手段而得到一项权利要求的技术方案,对本领域的技术人员而言是显而易见的,那么该权利要求不具备创造性。
全文:
本复审请求涉及申请号为201410844498.X、发明名称为“一种基于更新安全机制的UEFI系统更新方法”的发明专利申请(下称本申请)。本申请的申请人为北京工业大学,申请日为2014年12月30日,公开日为2015年04月29日。
经实质审查,国家知识产权局实质审查部门于2017年11月08日发出驳回决定,驳回了本申请,其理由是:权利要求1相对于对比文件1(CN101281468A,公开日为2008年10月08日)和本领域常用技术手段的结合不具备专利法第22条第3款规定的创造性。
驳回决定所依据的文本为原始申请文件,即申请日2014年12月30日提交的权利要求第1项、说明书第1-4页、说明书附图第1-3页、说明书摘要及摘要附图。
驳回决定所针对的权利要求书内容如下:
“1. 一种基于更新安全机制的UEFI系统更新方法,其特征在于包括分发和验证方法两部分;在分发方法中通过对更新文件加入描述信息和对更新文件进行签名保证更新文件的适用性、完整性,在验证方法中首先从更新文件中提取出数字签名部分,然后验证签名,最后提取描述信息确认适用性,最后根据验证结果去选择是执行加载更新文件,还是拒绝加载更新文件;
所述的分发方法,其特征在于包括如下步骤:
步骤1.1:在更新文件的末尾加入描述信息,该描述信息用一个3500字节的结构体来存储,该结构体中的每个字段都是字符型数组,具体包含:101字节的公司名称,101字节的发布日期,101字节的版本号,3096字节的此版本改动说明信息,101字节的主板具体型号;
步骤1.2:在更新文件的末尾添加签名,用MD5算法计算更新文件的数字摘要,并采用RSA非对称密钥加密算法,用生成的私钥对更新文件进行签名,生成可以验证文件完整性的数字签名,BIOS开发商把包含公钥的数字证书发布给用户;
所述的验证方法,其功能在UEFI框架中是通过编写一个驱动程序来实现的,该驱动程序类型为遵循UEFI驱动模型的DXE驱动程序,命名为安全性验证DXE驱动程序,验证方法特征在于包括如下步骤:
步骤2.1:安全性验证DXE驱动程序调用UEFI的IO协议扫描移动存储盘,读取更新文件和数字证书;
步骤2.2:从更新文件中提取出数字签名,由于更新文件中的UEFI系统文件固定为2M字节,并且描述信息的结构体固定为3500字节,所以可以通过获取更新文件的首地址和两个固定偏移量去提取出数字签名;
步骤2.3:用签名对更新文件进行完整性验证,对更新文件中UEFI系统文件和描述信息部分进行MD5计算得到一个数字摘要,然后用数字证书中提供的公钥对签名进行解密,从而获得另外一个数字摘要,最后比较这两个数字摘要是否相同;
步骤2.4:用描述信息进行适用性验证,安全性验证DXE驱动程序读取系统的主板型号和当前UEFI系统的版本号,然后从描述信息结构体中获取更新文件适应的主板型号和更新文件版本号,最后验证两个主板型号是否匹配,以及更新文件版本号是否比当前运行的版本号高。”
申请人(下称复审请求人)对上述驳回决定不服,于2018年01月26日向国家知识产权局提出了复审请求,未修改申请文件。复审请求人认为:(1)本申请与对比文件1的技术领域不同,本申请涉及固件系统,保存在硬盘中,是一种可扩展固件接口的BIOS;对比文件1涉及固件,存储在ROM中,是一种用于控制和管理硬件的小型程序。二者不同,因此固件系统的更新也不同于固件的更新。(2)本申请与对比文件1的技术问题及相应的技术效果不同。(3)本申请与对比文件1的技术方案不同:本申请不受更新文件内容的限制,完全根据描述信息来分发不同的更新文件,唯一需要满足的条件是可换代更新性;对比文件1需要满足保证固件更新文件内在的软、硬件数据结构和信息全部需要一致,以满足可替代性的需求。此外,虽然二者都采用数字签名进行认证,但是认证对象的数据结构和信息是完全不同的。(4)对比文件1需要生成固件更新文件,而本申请不需要。
经形式审查合格,国家知识产权局于2018年02月12日依法受理了该复审请求,并将其转送至实质审查部门进行前置审查。
实质审查部门在前置审查意见书中坚持驳回决定。
随后,国家知识产权局成立合议组对本案进行审理。
合议组于2019年03月22日向复审请求人发出复审通知书,指出:权利要求1相对于对比文件1和本领域惯用手段的结合不具备专利法第22条第3款规定的创造性。关于复审请求意见,合议组认为:(1)计算机主板上的BIOS系统也是固件,与对比文件1中的小型固件虽然有大小之分,但是本质上都是程序代码,都具有更新的需求,更新文件都需要安全机制。无论存储位置有何不同,其更新时采用的安全机制可以是相同的。(2)所有固件更新的目的都是基本相同的,复审请求意见所强调的本申请的更新目的并不是更新本身的上述目的,而是本申请的发明目的,即是保证更新过程的安全性。就这一点而言,对比文件1与本申请是相同的。(3)本申请的更新文件也受限制,也要满足特定的条件,比如主板型号需要匹配,文件版本号需要更高,可见其并不是唯一需要满足可换代更新性即可。虽然二者描述信息的数据结构和信息内容不同,但是在整体的分发和验证方法已经被对比文件1公开的情况下,数据结构、数据字段、字节数、字段内容这些都可以根据实际情况的需要而设定。(4)虽然本申请未明确记载生成更新文件的步骤,但是显然其更新文件也是需要生成的,即便是对移动存储设备中系统文件的整体更新,该文件也是与其对应的主板密切相关的,是针对该特定型号的主板生成的更新文件。而对比文件1的固件虽然是用于取代硬件的部分电路的,但是其本质上毕竟是程序代码,其依然可以借助于编程软件来编程实现该程序代码,并不一定要从特定的设备中产生。
复审请求人于2019年04月22日提交了意见陈述书,未修改申请文件。复审请求人认为本申请相对于对比文件1具备创造性,并陈述了具体的理由。
在上述程序的基础上,合议组认为本案事实已经清楚,可以依法作出审查决定。
二、决定的理由
审查文本的认定
复审请求人在答复复审通知书时未修改申请文件,因此本复审请求审查决定所依据的审查文本与驳回决定以及复审通知书所针对的审查文本相同,即申请日2014年12月30日提交的权利要求第1项、说明书第1-4页、说明书附图第1-3页、说明书摘要及摘要附图。
关于专利法第22条第3款
专利法第22条第3款规定:创造性,是指与现有技术相比,该发明具有突出的实质性特点和显著的进步,该实用新型具有实质性特点和进步。
如果在最接近的现有技术的基础上结合本领域的惯用手段而得到一项权利要求的技术方案,对本领域的技术人员而言是显而易见的,那么该权利要求不具备创造性。
本复审请求审查决定所引用的对比文件与驳回决定以及复审通知书所引用的对比文件相同,即:
对比文件1:CN101281468A,公开日为2008年10月08日。
权利要求1不具备专利法第22条第3款规定的创造性。
权利要求1要求保护一种基于更新安全机制的UEFI系统更新方法。对比文件1公开了一种生成固件更新文件和更新固件的方法,并具体公开了(参见其权利要求1-25,说明书第6页第4段-第10页第6段,图1-5):
生成固件更新文件的方法(相当于“分发部分”)包括:在操作210中,生成具有可更新的固件程序代码的数据主体。在操作230中,生成数据头,数据头包括两种类型的模型代码:代表其固件程序代码彼此兼容的硬件组的第一模型代码和识别属于所述组的每个硬件的第二模型代码,此外,数据头可包括区域码和版本信息(相当于“在更新文件中加入描述信息”、“在分发方法中通过对更新文件加入描述信息保证更新文件的适用性”)。举例来说,第一模型代码是“BD-P1000”,第二模型代码可以是“BD-P1000B/XT”(相当于“具体型号”、“字符型数组”);版本信息代表包括在固件更新文件的数据主体中的固件程序代码的版本(相当于“版本号”)。在操作240中,对数据主体和数据头进行数字签名,以防止所述数据主体和所述数据头被伪造和改变,允许用户认证、消息完整性测试以及认可测试(相当于“在更新文件中添加签名”、“在分发方法中通过对更新文件进行签名保证更新文件的完整性”)。图3是示出根据本发明示例性实施例的固件更新文件的数据结构的框图,由图3可以看出,数字签名330位于更新文件的末尾。基于公共密钥的加密算法和哈希函数可用于数字签名,基于公共密钥的加密算法是使用彼此不同的加密密钥和描述密钥的非对称加密系统(相当于“采用非对称密钥加密算法”)。哈希函数用于确定消息是否已被改变,哈希函数的典型的例子是消息摘要5(MD5)(相当于“用MD5算法计算更新文件的数字摘要”)和SHA。在操作250中,通过结合数据主体和数据头并将数字签名添加到所述数据主体和数据头的结合来生成固件更新文件。
使用固件更新文件更新固件的方法(相当于“验证部分”)包括:首先,固件更新文件被分为数据头、数据主体和数字签名,并且分别对他们进行解析(操作510)(相当于“从更新文件中提取出数字签名”)。然后,对解析的数字签名进行认证,可使用固件更新文件验证消息的完整性(操作520)(相当于“然后验证签名”、“用签名对更新文件进行完整性验证”)。当数字签名的认证成功时,从数据头读取更新模式信息(操作550),如果在操作550确定更新模式信息并未指示强制更新模式,则读取模型标志字段(操作560),将包括在数据头中的模型代码与包括在实际应用固件更新文件的硬件中的硬件模型代码进行比较(操作560)(相当于“验证两个型号是否匹配”,隐含公开了“读取系统的型号”、“从描述信息中获取更新文件适应的型号”),检测硬件中预设的固件版本信息以确定是否更新固件更新文件(操作580),也就是,只有当固件更新文件的版本比先前固件的版本新时(相当于“更新文件版本号是否比当前运行的版本号高”,隐含公开了“读取当前系统的版本号”、“从描述信息中获取更新文件版本号”),才执行固件更新。根据检测结果更新固件(590)(相当于“最后提取描述信息确认适用性”、“用描述信息进行适用性验证”、“最后根据验证结果去选择是执行加载更新文件,还是拒绝加载更新文件”)。
权利要求1与对比文件1的区别在于:(1)权利要求1更新的是UEFI系统,其描述信息中的型号是主板型号;其验证功能是在UEFI框架中是通过编写一个驱动程序来实现的,该驱动程序类型为遵循UEFI驱动模型的DXE驱动程序,命名为安全性验证DXE驱动程序;相应的,安全性验证DXE驱动程序调用UEFI的IO协议扫描移动存储盘,读取更新文件和数字证书,读取系统的主板型号和版本号时也是该安全性验证DXE驱动程序读取的。(2)描述信息添加在更新文件的末尾处,该描述信息用一个3500字节的结构体来存储,该结构体中的每个字段都是字符型数组,并限定了具体的字段名称及各字段的字节数。(3)具体限定了添加数字签名、提取数字签名、用数字签名进行验证的步骤。
基于上述区别,权利要求1实际解决的技术问题是:如何将更新固件的方法转用到更新UEFI固件系统中,如何保证描述信息本身的完备性,以及如何方便地添加、提取、验证一个文件的数字签名。
关于区别特征(1),对比文件1已经公开了对固件进行更新的方法,并公开了用添加描述信息和数字签名并对描述信息和数字签名进行验证的具体更新步骤,从而保证固件更新的安全性和适用性,而UEFI固件也是一种常见的固件,其有更新的需求,其更新文件也有需要保障固件更新的安全性和适用性的需求,因此对于本领域技术人员来说,在对UEFI固件进行更新时,容易想到将对比文件1所披露的方法转用到对UEFI固件更新上,这种转用不需要克服技术上的困难,也没有带来预料不到的技术效果,因而不需要花费创造性劳动。此外,通过驱动程序来实现特定的固件功能或附加功能是本领域的惯用手段,在此基础上,本领域技术人员容易想到在UEFI框架中通过编写一个驱动程序来实现,相应的,该驱动程序类型必然遵循UEFI驱动模型,运行时必然调用UEFI的IO协议。至于该驱动程序的命名则是人为设定的规则,该驱动程序的读取数据内容则是根据实际情况的需要而选择的。
关于区别特征(2),描述信息加入到更新文件中的位置可以根据实际情况的需要而设定,而文件头部和文件末尾是常见的加入位置。对比文件1已经披露了模型代码是“字符型数组”,而用具有特定字节长度的结构体来存储描述信息是本领域的惯用手段,结构体中的每个字段的具体字段名称和字段字节长度则是根据实际情况的需要而设置的。
关于区别特征(3),对比文件1已经披露了:基于公共密钥的加密算法和哈希函数可用于数字签名,基于公共密钥的加密算法是使用彼此不同的加密密钥和描述密钥的非对称加密系统。哈希函数用于确定消息是否已被改变,哈希函数的典型的例子是消息摘要5(MD5)和SHA。可见,对比文件1已经给出了用MD5算法计算文件的数字摘要、采用RSA非对称密钥加密算法获得私钥的启示,而用私钥对数字摘要进行签名,并将公钥发布给验证数字签名端,由其解密该签名得到数字摘要,与基于相同的MD5算法计算得到的数字摘要比较,以验证数字签名,是本领域用于进行数字签名和验证数字签名的惯用手段。而对于具有固定字节长度组成部分的文件,根据首地址和偏移地址来提取某个组成部分的内容也是本领域的惯用手段。
因此,在对比文件1的基础上结合本领域的惯用手段,得到权利要求1的技术方案,对于本领域技术人员来说是显而易见的,权利要求1不具有突出的实质性特点,不具备创造性。
对复审请求人相关意见的评述
复审请求人认为:(1)本申请要解决的技术问题是:如何安全地用Intel提出的新的统一的可扩展接口UEFI来替代旧的UEFI文件,以此作为下一个具有更多新功能的固件系统,所述安全性从固件系统角度看突出地表现为实用性和完整性。“计算机主板上的BIOS系统也是固件”是错误的,它把本申请描述信息中的“101字节的主板具体型号”中所述的主板与存储有大型程序的硬盘之间的控制关系错误地理解为存储关系。对比文件1要解决的技术问题是:固件是小型程序,因此必须经常更新固件以改正固件中的错误,改善系统的性能或添加新功能。固件的特性导致了在更新方法上小型程序和大型程序之间存在着本质上的区别,因为Intel提出的UEFI系统是唯一的、不会随着主板型号不同去修改UEFI系统。因此,二者的更新对象不同,导致发明目的不同,不属于同一技术领域。本申请的技术方案不需要重新生成更新文件,即更新文件具有确定性、换代性,是与对比文件1的第一区别。(2)本申请与对比文件1的技术方案的第二区别为更新方法的区别。对比文件1的固件更新遵循的是被更新的固件程序代码与更新文件中(基础)硬件组内每个硬件的模型代码的匹配,安全性由数据主体和其中数据头的数字签名来保证,本申请的更新规则是更新文件UEFI和末尾的描述信息的完整性,以及更新文件UEFI的适用性。完整性验证和适应性验证共同组成了本申请的安全机制,安全更新对于本申请而言是基于文中可信计算的数字签名,而对比文件1是基于硬件程序代码匹配的数字签名。
对此,合议组认为:(1)首先,本申请是更新UEFI,对比文件1是更新小型固件。“BIOS即Basic Input/Output System,翻成中文是‘基本输入/输出系统’,是一种所谓的‘固件’,负责在开机时做硬件启动和检测等工作,并且担任操作系统控制硬件时的中介角色。因为硬件发展迅速,传统式(Legacy)BIOS 成为进步的包袱,现在已发展出最新的UEFI(Unified Extensible Firmware Interface)可扩展固件接口,相比传统 BIOS 的来说,未来将是一个‘没有特定 BIOS’的电脑时代。”(参见《百度百科》https://baike.baidu.com/item/UEFI)。可见,计算机主板上的BIOS系统也是固件。其次,本申请要解决的问题是如何安全地更新UEFI,对比文件1要解决的问题是如何安全地更新固件(小型)。虽然本申请更新UEFI和对比文件1更新固件的目的有所不同,但是二者所要解决的问题都是如何安全地更新,并不是为何要更新。对比文件1所记载的“固件是小型程序,因此必须经常更新固件以改正固件中的错误,改善系统的性能或添加新功能”并不是其要解决的问题,该语句之后的两段记载的才是背景技术中存在的问题。可见更新对象的不同,并不导致其解决的技术问题不同。再次,关于评述创造性时所选用的最接近的现有技术,《审查指南》明确了可以是相同技术领域的,也可以是相近技术领域的(参见《审查指南》第二部分第四章第3.2.1.1节)。安全地更新UEFI和安全地更新小型固件属于相近技术领域。最后,虽然UEFI系统是唯一的、不会随着主板型号不同去修改UEFI系统,但是其也是需要更新的。既然要更新,就要有更新文件,该更新文件虽然与对比文件1的更新文件生成方式不同,但是也是需要生成的。(2)关于更新方法,本申请和对比文件1所遵循的更新原理不同,但是所采用的用来保障安全性的技术手段相同,即:分发时,在更新文件中加入描述信息、添加签名;验证时,提取数字签名和描述信息进行比对验证。综上,合议组认为复审请求人的意见陈述理由不充分,不予支持。
三、决定
维持国家知识产权局于2017年11月08日对本申请作出的驳回决定。
如对本复审请求审查决定不服,根据专利法第41条第2款的规定,复审请求人可以自收到本决定之日起三个月内向北京知识产权法院起诉。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。