认证方法与流程

文档序号:24237274发布日期:2021-03-12 13:10阅读:126来源:国知局
认证方法与流程

【技术领域】

本发明是有关于一种认证方法,特别是指一种用于基板管理控制系统的认证方法。



背景技术:

现有的计算机系统通常包括一基板管理控制系统(baseboardmanagementcontrollersystem,简称bmc)来监看该计算机系统的运作状况,其中,bmc可监控设置于计算机系统上之传感器所感测到之感测值是否异常,并纪录异常状态,透过bmc也可控制计算机系统重置及发布电源重启。在某些计算机系统中,透过bmc还可更新系统韧体,如bios或u-boot。关于bmc的安全性议题日益受到关注,若黑客透过bmc攻击计算机系统,来窜改运行于计算机系统中的韧体,将使得计算机系统暴露在极大的风险与威胁之中。另一方面,虽然计算机系统中的主板开机时,统一可扩展固件接口(unifiedextensiblefirmwareinterface;uefi)中有设置一安全开机(secureboot)的安全机制,在开机的时候,会依据主板硬件厂商预先加载在主板内的一组凭证来识别启动的操作系统是否为可信任的,如果不是,就不能开机,然而,此安全机制仅能识别该操作系统是否为可信任,安全性上的防护相当有限。若计算机系统遭受黑客攻击,不仅计算机系统的安全型堪虑,bmc恐也会跟着遭殃,故如何提升计算机系统的安全性是一亟待解决的课题。



技术实现要素:

本发明要解决的技术问题是提供一种提升计算机系统之安全性的认证方法。

为解决上述技术问题,本发明认证方法,适用于认证一计算机系统所包含的一基板管理控制器,并借由该计算机系统所包含之一电连接该基板管理控制器的主机单元来实施,该主机单元储存有一相关于一特定基板管理控制器的参考基板端公钥,该认证方法包含以下步骤:

(a)该主机单元传送一相关于该基板管理控制器的基板端签章请求至该基板管理控制器;

(b)在该主机单元获得来自该基板管理控制器响应于该基板端签章请求的基板端签章数据后,该主机单元根据该参考基板端公钥及该基板端签章数据,认证该基板管理控制器是否为该特定基板管理控制器;及

(c)当该主机单元认证出该基板管理控制器即为该特定基板管理控制器时,该主机单元允许该基板管理控制器存取该主机单元。

本发明要解决的另一个技术问题是提供一种提升计算机系统之安全性的认证方法。

为解决上述技术问题,本发明认证方法,适用于认证一计算机系统所包含的一主机单元,并借由该计算机系统所包含之一电连接该主机单元的基板管理控制器来实施,该基板管理控制器储存有一相关于一特定主机端的参考主机端公钥,该认证方法包含以下步骤:

(a)该基板管理控制器传送一相关于该主机单元的主机端签章请求至该主机单元;

(b)在该基板管理控制器获得来自该主机单元响应于该主机端签章请求的主机端签章数据后,该基板管理控制器根据该参考主机端公钥及该主机端签章数据,认证该主机单元是否为该特定主机端;及

(c)当该基板管理控制器认证出认证该主机单元是否为该特定主机端时,该基板管理控制器允许该主机单元存取该基板管理控制器。

相较于现有技术,本发明认证方法借由该主机单元根据该参考基板端公钥及该基板端签章数据,认证该基板管理控制器是否为该特定基板管理控制器,且在该主机单元成功认证该基板管理控制器后,该主机单元才允许该基板管理控制器存取该主机单元,借此,可提升该基板管理控制器及该主机单元间通讯的安全性,进而提升计算机系统的安全性。

【附图说明】

本发明的其他的特征及功效,将于参照图式的实施方式中清楚地呈现,其中:

图1是一方块图,说明实施本发明认证方法之实施例的一计算机系统;

图2是一流程图,说明本发明认证方法之实施例的一基板管理控制器认证程序

图3是一流程图,说明一主机单元如何认证一基板管理控制器的细部流程;

图4是一流程图,说明本发明认证方法之实施例的一主机单元认证程序;及

图5是一流程图,说明该基板管理控制器如何认证该主机单元的细部流程。

【具体实施方式】

参阅图1,本发明认证方法的实施例,借由一计算机系统1来实施,该计算机系统1包含一主机单元2及一电连接该主机单元2的基板管理控制器3。

该主机单元2包含一处理模块21、一电连接该处理模块21的储存模块22,及一受控于该处理模块21而用于控制该储存模块22与该基板管理控制器3间之写入权限的开关23,该储存模块22储存有一相关于一特定基板管理控制器的参考基板端公钥222、一由该处理模块21运行之基本输入输出系统程序223,及与该主机单元2所运行之基本输入输出系统程序223(basicinput/outputsystem,简称bios)之一部分程序片段相关的一主机端数字签名224,该主机端数字签名224系借由将该部分程序片段进行一如,md5讯息摘要算法之哈希运算而获得一检查码,并将该检查码透过一主机端私钥加密而获得。其中,该处理模块21,例如可为一中央处理单元(centerprocessingunit,简称cpu),该储存模块22例如可为一bios芯片。在本实施例中,该主机端数字签名224系借由将经哈希运算的该部分程序片段加密而获得;然而;在其他实施例中,也可借由将该部分程序片段,与bios标头(header)、bios供货商之签章、bios版本、bios大小、及相关于该部分程序片段的内存地址之至少一者进行该哈希运算来获得对应的检查码,接着,将所获得之检查码透过该主机端私钥(图未示)加密而获得该主机端数字签名224,并不以此为限。

该基板管理控制器3包含一处理单元31、一电连接该处理单元31的储存单元32,及一受控于该处理单元31而用于控制该储存单元32与该主机单元2间之写入权限的开关33。该储存单元32储存有一相关于一特定主机端的参考主机端公钥321、一由该处理单元31运行之韧体322,及与该基板管理控制器3所运行之韧体322之一部分韧体片段相关的一基板端数字签名323,该基板端数字签名323系借由将该部分韧体片段进行如,md5讯息摘要算法之该哈希运算而获得另一检查码,并将该另一检查码透过一基板端私钥(图未示)加密而获得。在本实施例中,该基板端数字签名323系借由将经哈希运算的该部分韧体片段加密而获得;然而;在其他实施例中,也可借由将该部分韧体片段,与韧体标头、韧体供货商之签章、韧体版本、韧体大小、及相关于该部分韧体片段的内存地址之至少一者进行该哈希运算来获得对应的检查码,接着,将所获得之检查码透过该基板端私钥加密而获得该基板端数字签名323,并不以此为限。

参阅图1、图2与图4,本发明认证方法的实施例系借由该主机单元2与该基板管理控制器3执行所对应的基本输入输出系统程序223与韧体322来实现,并包含以下步骤。

在步骤201中,该主机单元2之处理模块21传送一相关于该基板管理控制器3的基板端签章请求至该基板管理控制器3。

在步骤202中,在该基板管理控制器3之处理单元31接收到该基板端签章请求后,该基板管理控制器3之处理单元31响应于该基板端签章请求,根据储存于该储存单元32之基板端数字签名323及韧体322,产生包含该基板端数字签名323,及与该部分韧体片段相关之一基板端明文数据的该基板端签章数据,并传送该基板端签章数据至该主机单元2。值得一提的是,在本实施例中,由于该基板端数字签名323所对应的检查码系根据该部分韧体片段而获得,故该基板端明文资料仅包含该部分韧体片段;然而,在该基板端数字签名323所对应之检查码系根据该部分韧体片段,与韧体供货商之签章、韧体版本、韧体大小、及相关于该部分韧体片段的内存地址之至少一者而获得的情况下,该基板端明文数据除了包含该部分韧体片段外,还须包含与韧体供货商之签章、韧体版本、韧体大小、及相关于该部分韧体片段的内存地址之至少一者。此外,在本实施例中,该基板管理控制器3之处理单元31系透过智能平台管理接口(intelligentplatformmanagementinterface,简称ipmi)传送该基板端签章数据至该主机单元2。

在步骤203中,该主机单元2之处理模块21判定在一第一预定时间区间内是否有收到响应于该基板端签章请求的基板端签章数据。当该主机单元2之处理模块21判定在该第一预定时间区间内未收到该基板端签章数据时,该主机单元2之处理模块21回到步骤201;当该主机单元2之处理模块21判定在该第一预定时间区间内有收到该基板端签章数据时,该主机单元2之处理模块21进行步骤204。

在步骤204中,在该主机单元2之处理模块21获得回应于该基板端签章请求的基板端签章数据后,该主机单元2之处理模块21根据该参考基板端公钥222及该基板端签章数据,认证该基板管理控制器3是否为该特定基板管理控制器。当该主机单元2之处理模块21认证出该基板管理控制器3不为该特定基板管理控制器时,流程进行步骤205;当该主机单元2之处理模块21认证出该基板管理控制器3为该特定基板管理控制器3时,流程进行步骤206。

在步骤205中,该主机单元2之处理模块21控制该主机单元2之开关23不导通,以阻止该基板管理控制器3对该主机单元2之储存模块22进行写入。

在步骤206中,该主机单元2之处理模块21控制该主机单元2之开关23导通,以允许该基板管理控制器3对该主机单元2之储存模块22进行写入,并传送一认证成功通知至该基板管理控制器3。在其他实施方式中,该主机单元2不仅允许该基板管理控制器3对该主机单元2之储存模块22进行写入,还允许该基板管理控制器3控制该主机单元2,且该主机单元2还可响应于该基板管理控制器3之一操作请求进行相关于该操作请求的操作,亦即,响应于该基板管理控制器3之该操作请求进行包含如,提供该计算机系统1之信息给该基板管理控制器3,或重新启动该主机单元2等的操作。

参阅图1与图3,值得一提的是,步骤204包含以下子步骤。

在子步骤241中,该主机单元2之处理模块21根据该基板端明文数据进行该哈希运算以获得一检查码数据,并透过该参考基板端公钥222解密该基板端数字签名323以获得一待比对检查码。

在子步骤242中,该主机单元2之处理模块21判定该检查码数据是否相符于该待比对检查码,以认证该基板管理控制器3是否为该特定基板管理控制器3。当该主机单元2之处理模块21判定出该检查码数据不符合该待比对检查码时,该基板管理控制器3被认证成不为该特定基板管理控制器3;当该主机单元2之处理模块21判定出该检查码数据相符于该待比对检查码时,该基板管理控制器3被认证为该特定基板管理控制器3。

继续参阅图1、图2与图4,在步骤207中,该基板管理控制器3之处理单元31判定在一第二预定时间区间内是否有收到来自该主机单元2之认证成功通知。当该基板管理控制器3之处理单元31判定在该第二预定时间区间内未收到该认证成功通知时,该基板管理控制器3之处理单元31进行步骤208;当该基板管理控制器3之处理单元31判定在该第二预定时间区间内有收到该认证成功通知时,该基板管理控制器3之处理单元31进行步骤209。

在步骤208中,该基板管理控制器3之处理单元31等待再次接收到该基板端签章请求,并在收到该基板端签章请求后回到步骤202。

在步骤209中,该基板管理控制器3之处理单元31传送一相关于该主机单元2的主机端签章请求至该主机单元2。

在步骤210中,该主机单元2之处理模块21判定在一第三预定时间区间内是否有收到来自该基板管理控制器3的该主机端签章请求。当该主机单元2之处理模块21判定在该第三预定时间区间内未收到该主机端签章请求时,该主机单元2之处理模块21回到步骤201;当该主机单元2之处理模块21判定在该第三预定时间区间内有收到该主机端签章请求时,该主机单元2之处理模块21进行步骤211。

在步骤211中,在该主机单元2之处理模块21接收到该主机端签章请求后,该主机单元2之处理模块21响应于该主机端签章请求,根据储存于该储存模块22之主机端数字签名224及基本输入输出系统程序223,产生包含该主机端数字签名224,及与该部分程序片段相关之一主机端明文数据的该主机端签章数据,并传送该主机端签章数据至该基板管理控制器3。值得一提的是,在本实施例中,由于该主机端数字签名224所对应的检查码系根据该部分程序片段而获得,故该主机端明文数据仅包含该部分程序片段;然而,在该主机端数字签名224所对应之检查码系根据该部分程序片段,与bios供货商之签章、bios版本、bios大小、及相关于该部分程序片段的内存地址之至少一者而获得的情况下,该主机端明文数据除了包含该部分程序片段外,还须包含与bios供货商之签章、bios版本、bios大小、及相关于该部分程序片段的内存地址之至少一者。此外,在本实施例中,该主机单元2之处理模块21系透过智能平台管理接口(intelligentplatformmanagementinterface,简称ipmi)传送该主机端签章数据至该基板管理控制器3。

在步骤212中,该基板管理控制器3之处理单元31判定在一第四预定时间区间内是否有收到来自该主机单元2之主机端签章数据。当该基板管理控制器3之处理单元31判定在该第四预定时间区间内未收到该主机端签章数据时,该基板管理控制器3之处理单元31回到步骤209;当该基板管理控制器3之处理单元31判定在该第四预定时间区间内有收到该主机端签章数据时,该基板管理控制器3之处理单元31进行步骤213。

在步骤213中,在该基板管理控制器3之处理单元31获得回应于该主机端签章请求的主机端签章数据后,该基板管理控制器3之处理单元31根据该参考主机端公钥321及该主机端签章数据,认证该主机单元2是否为该特定主机端。当该基板管理控制器3之处理单元31认证出该主机单元2不为该特定主机端时,流程进行步骤214;当该基板管理控制器3之处理单元31认证出该主机单元2为该特定主机端时,流程进行步骤215。

在步骤214中,该基板管理控制器3之处理单元31控制该基板管理控制器3之开关23不导通,以阻止该主机单元2对该基板管理控制器3之储存单元32进行写入。

在步骤215中,该基板管理控制器3之处理单元31控制该基板管理控制器3之开关23导通,以允许该主机单元2对该基板管理控制器3之储存单元32进行写入,并传送另一认证成功通知至该主机单元2。在其他实施方式中,该基板管理控制器3不仅允许该主机单元2对该基板管理控制器3之储存单元32进行写入,还允许接收该主机单元2的数据请求以回报与该主机单元2相关的数据,并允许该主机单元2更新该基板管理控制器3之储存单元32所储存的韧体322,且该基板管理控制器3还可响应于该主机单元2之一操作请求进行相关于该操作请求的操作,亦即,响应于该主机单元2之该操作请求进行包含如,自一外部储存模块取得一档案,或重新启动该基板管理控制器3等的操作。

参阅图1与图5,值得一提的是,步骤213包含以下子步骤。

在子步骤231中,该基板管理控制器3之处理单元31根据该主机端明文数据进行该哈希运算以获得另一检查码数据,并透过该参考主机端公钥321解密该主机端数字签名224以获得另一待比对检查码。

在子步骤232中,该基板管理控制器3之处理单元31判定该另一检查码数据是否相符于该另一待比对检查码,以认证该基板管理控制器3是否为该特定基板管理控制器3。当该基板管理控制器3之处理单元31判定出该另一检查码数据不符合该另一待比对检查码时,该主机单元2被认证成不为该特定主机端;当该基板管理控制器3之处理单元31判定出该另一检查码数据相符于该另一待比对检查码时,该主机单元2被认证为该特定主机端。

继续参阅图1、图2与图4,在步骤216中,该主机单元2之处理模块21判定在一第五预定时间区间内是否有收到来自该基板管理控制器3之另一认证成功通知。当该主机单元2之处理模块21判定在该第五预定时间区间内未收到该另一认证成功通知时,该主机单元2之处理模块21进行步骤217;当该主机单元2之处理模块21判定在该第五预定时间区间内有收到该另一认证成功通知时,该基板管理控制器3与该主机单元2双向认证成功。

值得一提的是,在本实施例中,当该基板管理控制器3与该主机单元2互相认证成功时,即代表该参考基板端公钥222与该基板端私钥互为一组密钥对(keypair),且该参考主机端公钥321与该主机端私钥也互为一组密钥对(keypair),其中,该参考基板端公钥222、该基板端私钥、该参考主机端公钥321、该主机端私钥、该基板端数字签名323及该主机端数字签名224皆由一可信赖之第三方认证机构利用一硬件安全模块(hardwaresecuritymodule,简称hsm)所提供,该基板端私钥与该主机端私钥系由该第三方认证机构所保存,而不对外公开。

在步骤217中,该主机单元2之处理模块21等待再次接收到该主机端签章请求,并在收到该主机端签章请求后回到步骤211。

值得一提的是,每当该计算机系统1初次开机、该主机单元2重新启动,皆会重新执行本发明认证方法之实施例。

综上所述,本发明认证方法,借由该主机单元2与该基板管理控制器3彼此进行双向认证,当该基板管理控制器3被该主机单元2认证成功后才允许该基板管理控制器3存取该主机单元2,相似地,当该主机单元2被该基板管理控制器3认证成功后才允许该主机单元2存取该基板管理控制器3,借此,可提升该基板管理控制器3及该主机单元2间通讯的安全性,进而提升计算机系统1的安全性,故确实能达成本发明的目的。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1