服务器启动方法与流程

文档序号:24617818发布日期:2021-04-09 20:21阅读:148来源:国知局
服务器启动方法与流程

本发明关于一种服务器启动方法,特别关于一种基于复杂可程序逻辑装置及基板管理控制器的服务器启动方法。



背景技术:

近年来,由于云端服务(cloudserver)及数据中心的兴起(datacenter),让许多中小企业选择以租借的方式租用数据中心的服务器,以节省建置硬件的成本。其中,复杂可程序化逻辑设备(complexprogrammablelogicdevice,cpld)常用于控制服务器的电源,而基板管理控制器(baseboardmanagementcontroller,bmc)则是控制服务器的整体运作,以确保服务器提供正常的服务。

然一般供货商只会在租用到期时更新操作系统,若供货商未对cpld或bmc韧体的合法性进行检测,则当有心人士在该服务器植入恶意病毒时,则下一个租借的使用者便会在不知情的情况下将自己的数据暴露在危险之中。因此,如何避免服务器被植入恶意软件,并且保护储存于服务器上的数据及数据以及避免被恶意窜改或是窃取,已是现今重要的课题。



技术实现要素:

鉴于上述,本发明提供一种以满足上述需求的服务器启动方法。

依据本发明一实施例的一种服务器启动方法,适用于包含一复杂可程序逻辑装置以及一基板管理控制器的一服务器,包含:以该复杂可程序逻辑装置接收一第一启动信号;以该复杂可程序逻辑装置依据该第一启动信号输出一第二启动信号到该基板管理控制器;以该基板管理控制器依据该第二启动信号输出一检核信号;以该复杂可程序逻辑装置判断是否于一第一预定时段内接收到该检核信号;当判断该复杂可程序逻辑装置于该第一预定时段内接收到该检核信号,判断该检核信号是否合法;当以该复杂可程序逻辑装置判断该检核信号合法,输出对应该检核信号的一响应信号到该基板管理控制器;以该基板管理控制器判断是否于一第二预定时段内接收到该响应信号;当以该基板管理控制器判断于该第二预定时段内接收到该响应信号,判断该响应信号是否合法;以及当以该基板管理控制器判断该响应信号合法,以该基板管理控制器控制该服务器的一操作系统的启动。

借由上述实施内容,本发明透过以复杂可程序逻辑装置及基板管理控制器相互验证,可以避免服务器韧体被窜改,并且保护储存于服务器上的数据及数据。

以上关于本揭露内容的说明及以下实施方式的说明是用以示范与解释本发明的精神与原理,并且提供本发明的专利申请范围更进一步的解释。

附图说明

图1为依据本发明一实施例所绘示的服务器启动方法的流程图。

图2为依据本发明另一实施例所绘示的服务器启动方法的流程图。

图3为依据本发明一实施例所绘示的服务器启动方法中的自验证运算的流程图。

具体实施方式

以下在实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的内容、申请专利范围及图式,任何本领域技术人员可轻易地理解本发明相关的目的及优点。以下实施例进一步详细说明本发明的观点,但非以任何观点限制本发明的范畴。

请参考图1,图1为依据本发明一实施例所绘示的服务器启动方法的流程图。其中,本发明揭露的服务器启动方法适用于包含一复杂可程序逻辑装置(complexprogrammablelogicdevice,cpld)以及一基板管理控制器(baseboardmanagementcontroller,bmc)的一服务器。

当服务器的复杂可程序逻辑装置接收第一启动信号后(步骤s01),便执行步骤s02:以复杂可程序逻辑装置依据第一启动信号输出第二启动信号到基板管理控制器。详细来说,复杂可程序逻辑装置被启动(boot)后(举例来说,当服务器的电源按键被触发时,服务器的复杂可程序逻辑装置会接收到第一启动信号而被启动),复杂可程序逻辑装置接着输出第二启动信号到基板管理控制器以使基板管理控制器启动。当基板管理控制器接收到第二启动信号后,执行步骤s03:以基板管理控制器依据第二启动信号输出检核信号。进一步来说,基板管理控制器受第二启动信号所启动时,会产生检核信号,并输出检核信号到复杂可程序逻辑装置。其中,检核信号可以是欲向复杂可程序逻辑装置要求一或多个特定参数的信号。所述特定参数例如为复杂可程序逻辑装置或基板管理控制器的更新日期、基板管理控制器的韧体版本号、服务器或整台计算机主机的序列号码等,或者为前述韧体更新日期、版本号及/或序列号码经过加密后的代码,本发明不以此为限。

请继续参考图1,于步骤s04中,复杂可程序逻辑装置判断是否于第一预定时段内接收到检核信号。一般而言,第一预定时段的时间长度可以依据实际需求决定,且此第一预定时段可以从复杂可程序逻辑装置输出第二启动信号后开始起算,当复杂可程序逻辑装置未于第一预定时段内接收到检核信号,则会执行步骤s05来产生并输出错误记录,然而第一预定时段的起算时间点亦可以依实际所需调整,本发明不以此为限。详细而言,当复杂可程序逻辑装置未于第一预定时段内接收到检核信号,表示基板管理控制器可能运作超时(timeout),故产生并输出错误记录。错误记录可以包含发生错误的装置(于上述状况中即为基板管理控制器)以及错误事件(于上述状况中即为运作超时事件),复杂可程序逻辑装置可以将错误记录储存于系统日志中,或是透过网络输出至云端数据库或其他系统,本发明不以此为限。另外,由于复杂可程序逻辑装置为服务器上控制电源序列的主要元件,因此于另一实施例中,当复杂可程序逻辑装置未于第一预定时段内接收到检核信号时,可以直接控制电源序列关闭而让服务器无法启动。

当复杂可程序逻辑装置判断于第一预定时段内接收到检核信号,会接续执行步骤s06以判断检核信号是否合法。进一步来说,复杂可程序逻辑装置会判断检核信号是否符合预存于复杂可程序逻辑装置的默认要求。更进一步来说,在确认复杂可程序逻辑装置与基板管理控制器未被窜改或被植入恶意软件时(例如服务器甫安装时),复杂可程序逻辑装置与基板管理控制器彼此可以协议好一检核流程。举例来说,所述检核流程为基板管理控制器会向复杂可程序逻辑装置要求计算机版本参数,则检核信号及默认要求即为“要求计算机版本参数”。上述参数仅为举例,本发明不以此为限。

当复杂可程序逻辑装置判断检核信号为合法时,表示基板管理控制器韧体应未被窜改,则执行步骤s07由复杂可程序逻辑装置产生并输出对应检核信号的响应信号。进一步来说,所述响应信号包含对应于检核信号中的要求的特定参数,详细举例如前所列于此不再赘述。另一方面,当复杂可程序逻辑装置判断检核信号不合法时,便会执行步骤s05输出错误记录,或是控制电源序列关闭。

于步骤s08中,基板管理控制器判断是否于第二预定时段内收到响应信号。进一步来说,第二预定时段可以从基板管理控制器输出检核信号后开始起算。当基板管理控制器未于第二预定时段内收到响应信号,于步骤s05输出错误记录。同理于前述可程序逻辑装置的判断,当基板管理控制器未于第二预定时段内接收到响应信号,表示复杂可程序逻辑装置可能运作超时,因此产生并输出错误记录。所述错误记录同于前述复杂可程序逻辑装置在判断错误事件发生时所作的错误记录,于此不再赘述。反之,当基板管理控制器判断于第二预定时段内收到响应信号,则接续于步骤s09判断响应信号是否合法。进一步来说,基板管理控制器会判断复杂可程序逻辑装置对应默认要求所输出的响应信号是否符合于基板管理控制器中的默认参数或记录。

举例而言,若预设要求为更新日期,复杂可程序逻辑装置会对应地将自身的更新日期作为响应信号输出,则基板管理控制器会判断响应信号中的复杂可程序逻辑装置的更新日期是否与基板管理控制器自身的更新日期相符,若相符则表示合法。举另一个例子来说,基板管理控制器与复杂可程序逻辑装置亦可在先前更新时即通知彼此的更新时间,因此预设要求亦可以为基板管理控制器或是复杂可程序逻辑装置的更新日期。此外,响应信号亦可以是对应上述检核信号的韧体版本号、服务器或整台计算机主机的序列号码等,本发明不以此为限。

当基板管理控制器判断响应信号合法,便执行步骤s10:以基板管理控制器启动操作系统;而当复杂可程序逻辑装置判断检核信号不合法时,便会执行步骤s05以产生并输出错误记录。所述错误记录如前列实施例所述,于此不再赘述。

请参考图2,图2依据本发明另一实施例所绘示的服务器启动方法的流程图。其中,图2的服务器启动方法的流程图相似于图1的流程图,惟不同处在于图2的步骤s08“基板管理控制器判断是否于第二预定时段内收到响应信号”及s09“判断响应信号是否合法”的判断结果为“否”时,接续到步骤s05’。

详细而言,在图2的步骤s08中,当基板管理控制器判断未于第二预定时段内接收到响应信号或在步骤s09判断响应信号不合法时,则执行步骤s05’:判断“否”是否超过n次。换句话说,基板管理控制器会判断未接收到响应信号及响应信号不合法的判断次数是否超过n次(例如为5次,亦可依实际需求增加或减少)。当基板管理控制器判断未接收到响应信号及响应信号不合法的判断次数不超过n次(即“否”不超过n次),则再次执行步骤s03输出检核信号;反之,当基板管理控制器判断未接收到响应信号以及响应信号不合法的判断次数超过n次(即“否”超过n次),则执行步骤s05:输出错误记录。所述错误记录如前列实施例所述,于此不再赘述。此外,当基板管理控制器于步骤s05’判断“否”不超过n次并接续执行步骤s03后,则步骤s04的第一预定时段可以从复杂可程序逻辑装置输出对应检核信号的响应信号(步骤s07)开始起算,然而第一预定时段的起算时间点亦可以依实际所需调整,本发明不以此为限。

其中,在图1及图2的实施例中,在基板管理控制器启动操作系统后,基板管理控制器可以经过一段时间后再产生另一检核信号,并执行如步骤s04中复杂可程序逻辑装置对此检核信号进行判断,并接续进行如图1及图2中接续步骤s04后的流程,当执行到如步骤s09基板管理控制器判断由复杂可程序逻辑装置输出的对应此检核信号的响应信号合法时,则维持操作系统的启动状态。

请参考图3,图3为依据本发明一实施例所绘示的执行自验证运算的流程图。更详细而言,图3揭示的自验证运算是在图1或图2的步骤s10(即启动操作系统)后执行。

请继续参考图3,当操作系统被启动后,可以执行步骤s11:以基板管理控制器执行自验证运算并取得运算值。详细而言,基板管理控制器可以基于基板管理控制器的可执行文件以及函式库文件的至少一者执行自验证运算并取得运算值。其中,所述自验证运算较佳是哈希运算(hashalgorithm),故运算值较佳为哈希值(hashvalue)。更详细而言,哈希运算例如是信息摘要5算法(message-digest5algorithm,md5)、循环冗余校验(cyclicredundancycheck,crc)算法、安全散列算法(securehashalgorithm,sha)或进阶加密标准(advancedencryptionstandard,aes)算法,又在哈希算法中,安全散列算法及进阶加密标准算法是较安全的加密方式。然自验证运算亦可以是不对称密码算法(rivest-shamir-adleman,rsa)、哈希信息鉴别码(hash-basedmessageauthenticationcode,hmac)、64基算法(base64)等。

请继续参考图3并接续上述步骤s11,当基板管理控制器取得运算值后,于步骤s12以基板管理控制器判断运算值是否与参考值相等,意即以基板管理控制器判断运算值(哈希值)是否正确。当以基板管理控制器判断运算值相等于参考值,则每间隔一间隔时段以基板管理控制器基于上述的可执行文件及函式库文件的至少一者执行自验证运算;当以基板管理控制器判断运算值不相等于参考值,则以基板管理控制器在步骤s13输出又另一错误记录。其中,上述的参考值可以是在基板管理控制器在确定可执行文件及函式库文件尚未被窜改且未被植入恶意软件时(例如服务器安装时),以可执行文件或函式库文件依据自验证运算执行运算以取得的参考值,换言之,当自验证运算执行完即可确认服务器是否被窜改。

借由上述内容,本发明的一或多个实施例所提出的服务器启动方法可以在启动操作系统前,透过复杂可程序逻辑装置判断基板管理控制器的韧体的合法性,且以基板管理控制器判断复杂可程序逻辑装置的合法性。透过上述交叉验证的方法,可以避免在基板管理控制器或复杂可程序逻辑装置的韧体被窜改的状况下启动操作系统,进而避免操作系统的运作产生错误。另外透过上述交叉验证方法亦可判断复杂可程序逻辑装置或基板管理控制器的韧体是否为指定厂商所开发。若发现复杂可程序逻辑装置或基板管理控制器遭窜改或非指定厂商所开发,亦能输出错误记录以提醒相关操作人员。

此外,本发明的一或多个实施例所提出的服务器启动方法可借由基板管理控制器基于可执行文件及函式库文件执行自验证运算,以判断基板管理控制器本身韧体的合法性,且可以于间隔一段间隔时段再次执行自验证运算以定期检查基板管理控制器的韧体的合法性,由此避免服务器在操作系统开始运作后的某个时间点遭到窜改、植入恶意软件或文件系统损毁,更可以避免基板管理控制器的韧体的合法性被误判。另外,当上述自验证运算以哈希运算来实施时,除了可以兼具安全性与执行速度,更可以避免拉长服务器的开机时间及影响服务器的效能。

当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明权利要求的保护范围。

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