基于可信计算的BMC远程身份验证方法及系统
技术领域
本发明涉及一种计算机安全技术领域,是一种基于可信计算的BMC远程身份验证方法及系统。
背景技术
服务器的设置不完全是在数据中心进行集群部署,仍有大批的服务器是部署在企事业单位的机房中。数据中心可以在网络出口处部署防火墙、IDS、IPS等安全设备,并通过专业的安全团队进行技术支撑。但是,普通机房中的服务器可能只有几台,并且缺乏相关的网络安全设备和安全人员进行防护,其服务器的BMC内置了网络服务器,一旦被攻破登录口令,整个服务器将完全处于失控状态。目前,主要是在BMC的Web管理界面,通过手工方式输入口令的方式进行身份验证,其中口令和密码主要有以下几种情况:1、大多数BMC厂商出厂的时候,会预设默认用户名和口令,但在日常使用中,管理员有可能忘记对其进行修改,则会导致黑客很容易地获取BMC的控制权;2、BMC使用SHA1或MD5存储用户密码,这种方式易通过暴力或字典的方式进行破解;3、BMC使用SHA1和MD5对用户进行认证,这种方式易通过直接访问某些端口可以容易地获取到用户名和口令的明文;4、通过匿名访问,即将第一个用户帐户的用户名设置为空字符串并设置空密码进行匹配来配置,这种方式使攻击者可以利用ipmitool来重置命名用户帐户的密码,并利用该帐户访问其他服务。
发明内容
本发明提供了一种基于可信计算的BMC远程身份验证方法及系统,克服了上述现有技术之不足,其能有效解决现有技术在BMC的Web管理界面通过手工方式输入口令进行身份验证登录的方式存在的容易遭到网络攻击,安全性不高的问题。
本发明的技术方案之一是通过以下措施来实现的:一种基于可信计算的BMC远程身份验证方法,包括以下步骤:
客户机接入内部设有可信设备的外部装置,客户机选择服务器并与之建立连接关系;
客户机基于可信设备的信息生成身份ID,服务器的BMC对身份ID进行验证,响应于验证成功,则客户机成功登录,同时客户机对服务器的BIOS密码进行检测;
客户机对服务器的BIOS密码进行检测,响应于检测不通过,则通过可信设备生成随机口令;
服务器的BMC根据随机口令选择性的对BIOS进行口令设置;
服务器的BMC对服务器进行安全配置。
下面是对上述发明技术方案的进一步优化或/和改进:
上述客户机对BIOS密码进行检测,包括:
客户机判断是否设置BIOS密码,响应于是,则客户机判断BIOS密码是否过期,响应于否,则通过可信设备生成随机口令,并发送至服务器的BMC;
客户机判断BIOS密码是否过期,响应于是,则通过可信设备生成随机口令,并发送至服务器的BMC,响应于否,则BMC对服务器进行安全配置。
上述服务器的BMC根据随机口令选择性的对BIOS进行口令设置的,包括:
BMC判断服务器的BIOS口令是否符合安全要求,响应于是,则BMC对服务器进行安全配置,响应于否,则BMC根据随机口令对BIOS进行口令设置。
上述BMC对服务器进行安全配置,包括:
客户机向服务器的BMC发送安全策略模板;
BMC接收安全策略模板,并判断安全策略模板中的各个参数是否全部符合安全要求,响应于否,则对不符合参数进行配置,响应于是,则BMC接收和执行客户机的其他操作。
上述客户机接入内部设有可信设备的外部装置,客户机选择服务器并与之建立连接关系,包括:
客户机判断是否有内部设有可信设备的外部装置接入,响应于是,则定位需要管理的服务器;
打开该服务器的管理界面,下载相应的控件,与该服务器进行连接;
判断是否与该服务器建立连接,响应于否,则检测控件是否配置正确,不正确则重新下载。
上述服务器的BMC通过将客户机发送的身份ID与预留注册信息进行比对,实现对身份ID进行验证。
上述服务器上电开机时,通过服务器内部的可信芯片对BMC和BIOS的可信度进行度量后,启动宿主操作系统,BMC进入工作状态。
本发明的技术方案之二是通过以下措施来实现的:一种基于可信计算的BMC远程身份验证系统,包括客户机、一个或多个服务器、内部设有可信设备的外部装置,外部装置与客户机连接,客户机和每个服务器连接;
所述客户机内设置有安全代理,安全代理包括:
可信卡驱动模块,用于完成客户机与外部装置中的可信设备通信,调用可信设备的安全功能;
网络通信接口模块,用于完成客户机与服务器中BMC之间的信息交互;
身份ID生成模块,用于根据可信设备中的可信信息和客户机的硬件信息合成身份ID;
密码检测模块,用于对服务器的BIOS密码进行检测,响应于检测不通过,则通过可信设备生成随机口令;
所述服务器包括操作系统、BIOS和BMC,所述BMC包括:
身份验证模块,用于对身份ID进行验证,判断是否允许客户机登录;
密码配置模块,用于服务器中BMC根据随机口令选择性的对BIOS进行口令设置;
模板配置模块,用于对服务器进行安全配置。
下面是对上述发明技术方案的进一步优化或/和改进:
上述客户机还包括安全策略模板,用于对服务器的安全策略模板进行配置和发送。
上述客户机还包括数据加/解密模块,用于调用可信设备加密引擎,完成对交互数据的加密,使服务器能够根据安全策略进行相应的参数配置。
本发明使用方便,适用范围广,无需在客户机安装任何软件,可以将安全代理作为网络控件,需要时直接使用即可,同时本发明不需要管理员在网页输入口令,通过内设有可信设备的USB-Key或类似的外部装置与服务器BMC通信,即可完成身份认证,相较于通过口令进行认证的方式,安全性更高;并且本发明客户机能对各型服务器定制安全策略模板,服务器BMC可以根据安全策略模板实现对服务器的自动配置,防止出现安全漏洞。
附图说明
附图1为本发明实施例1的流程图。
附图2为本发明实施例1中客户机对BIOS密码进行检测的流程图。
附图3为本发明实施例1中BMC对服务器进行安全配置的流程图。
附图4为本发明实施例1中客户机选择服务器并与之建立连接关系的流程图。
附图5为本发明实施例2的结构框图。
具体实施方式
本发明不受下述实施例的限制,可根据本发明的技术方案与实际情况来确定具体的实施方式。
下面结合实施例及附图对本发明作进一步描述:
实施例1:如附图1所示,该基于可信计算的BMC远程身份验证方法,包括以下步骤:
S1,客户机接入内部设有可信设备的外部装置,客户机选择服务器并与之建立连接关系;
S2,客户机基于可信设备的信息生成身份ID,服务器的BMC对身份ID进行验证,响应于验证成功,则客户机成功登录,同时客户机对服务器的BIOS密码进行检测;
S3,客户机对服务器的BIOS密码进行检测,响应于检测不通过,则通过可信设备生成随机口令;
S4,服务器的BMC根据随机口令选择性的对BIOS进行口令设置;
S5,服务器的BMC对服务器进行安全配置。
上述S2客户机会读取可信设备中的可信信息,并将可信信息与客户机本身的关键硬件信息生成身份ID,其中关键硬件信息包括客户机的硬盘序列号、主板编号等硬件信息;客户机生成身份ID后,可调用可信设备加密引擎对身份ID进行加密,防止身份ID在网络传输过程中被截获;上述在BMC对服务器进行安全配置之后,BMC则完成了身份认证,并向客户机回传信息,等待客户机进行其他操作。
下面是对上述发明技术方案的进一步优化或/和改进:
如附图1、2所示,S3中客户机对BIOS密码进行检测,包括:
S31,客户机判断是否设置BIOS密码,响应于是,则客户机判断BIOS密码是否过期,响应于否,则通过可信设备生成随机口令,并发送至服务器的BMC;
S32,客户机判断BIOS密码是否过期,响应于是,则通过可信设备生成随机口令,并发送至服务器的BMC,响应于否,则BMC对服务器进行安全配置。
上述可信设备生成随机口令后,客户机会对随机口令进行加密,加密后发送至BMC,同时该随机口令会存储在可信设备中。其中,随机口令即为BIOS口令。
如附图1所示,S4中服务器的BMC根据随机口令选择性的对BIOS进行口令设置,包括:
BMC判断服务器的BIOS口令是否符合安全要求,响应于是,则BMC对服务器进行安全配置,响应于否,则BMC根据随机口令对BIOS进行口令设置。
上述服务器的BMC根据随机口令选择性的对BIOS进行口令设置可以防止服务器的BIOS口令过期未修改,并且通过对BIOS口令的周期性设置,防止口令过期和口令泄露的问题。
如附图1、3所示,S5中BMC对服务器进行安全配置,包括:
S51,客户机向服务器的BMC发送安全策略模板;
S52,BMC接收安全策略模板,并判断安全策略模板中的各个参数是否全部符合安全要求,响应于否,则对不符合参数进行配置,响应于是,则BMC接收和执行客户机的其他操作。
上述安全策略模板包括BIOS设置检测、开机顺序检测等安全策略;BMC会对安全策略模板中不符合安全要求的参数进行配置,从而能有效防止出现BIOS密码过期泄露、操作系统旁路等问题。
如附图1、4所示,S1中客户机接入内部设有可信设备的外部装置,客户机选择服务器并与之建立连接关系,包括:
S11,客户机判断是否有内部设有可信设备的外部装置接入,响应于是,则定位需要管理的服务器;
S12,打开该服务器的管理界面,下载相应的控件,与该服务器进行连接;
S13,判断是否与该服务器建立连接,响应于否,则检测控件是否配置正确,不正确则重新下载。
上述外部装置可为USB-Key或类似外设,器内部需设置有可信设备(例如可信卡);定位需要管理的服务器时可通过网址或IP的方式进行定位;下载的控件用于传输可信设备信息,并进行KVM over IP的远程控制。
如附图1所示,服务器的BMC通过将客户机发送的身份ID与预留注册信息进行比对,实现对身份ID进行验证。
如附图1所示,服务器上电开机时,通过服务器内部的可信芯片对BMC和BIOS的可信度进行度量后,启动宿主操作系统,BMC进入工作状态。
实施例2:如附图5所示,该基于可信计算的BMC远程身份验证系统,包括客户机、一个或多个服务器、内部设有可信设备的外部装置,外部装置与客户机连接,客户机和每个服务器连接;
所述客户机内设置有安全代理,安全代理包括:
可信卡驱动模块,用于完成客户机与外部装置中的可信设备通信,调用可信设备的安全功能;
网络通信接口模块,用于完成客户机与服务器中BMC之间的信息交互;主要通过http/https协议进行通信;
身份ID生成模块,用于根据可信设备中的可信信息和客户机的硬件信息合成身份ID;其中可信设备中的可信信息为唯一可信信息;并且本发明还可通过该模块,确保管理员只能在指定客户机上进行登录和操作,防止非授权用户通过其他计算机登录BMC;
密码检测模块,用于对服务器的BIOS密码进行检测,响应于检测不通过,则通过可信设备生成随机口令;所生产的随机口令存储在可信设备中。
所述服务器包括操作系统、BIOS和BMC,所述BMC包括:
身份验证模块,用于对身份ID进行验证,判断是否允许客户机登录;
密码配置模块,用于服务器中BMC根据随机口令选择性的对BIOS进行口令设置;
模板配置模块,用于对服务器进行安全配置。
下面是对上述发明技术方案的进一步优化或/和改进:
如附图5所示,所述客户机还包括安全策略模板,用于对服务器的安全策略模板进行配置和发送。
如附图5所示,所述客户机还包括数据加/解密模块,用于调用可信设备加密引擎,完成对交互数据的加密,使服务器能够根据安全策略进行相应的参数配置。安全策略模板包括BIOS设置检测、开机顺序检测等安全策略,用于防止出现BIOS密码过期泄露、操作系统旁路等问题。
本发明使用方便,适用范围广,无需在客户机安装任何软件,可以将安全代理作为网络控件,需要时直接使用即可,同时本发明不需要管理员在网页输入口令,通过内设有可信设备的USB-Key或类似的外部装置与服务器BMC通信,即可完成身份认证,相较于通过口令进行认证的方式,安全性更高;并且本发明客户机能对各型服务器定制安全策略模板,服务器BMC可以根据安全策略模板实现对服务器的自动配置,防止出现安全漏洞。
以上技术特征构成了本发明的最佳实施例,其具有较强的适应性和最佳实施效果,可根据实际需要增减非必要的技术特征,来满足不同情况的需求。