一种身份验证方法、装置、设备及机器可读存储介质与流程

文档序号:23063348发布日期:2020-11-25 17:47阅读:106来源:国知局
一种身份验证方法、装置、设备及机器可读存储介质与流程

本公开涉及通信技术领域,尤其是涉及一种身份验证方法、装置、设备及机器可读存储介质。



背景技术:

bmc(baseboardmanagercontroller,基板管理控制器)是用于实现平台管理(platformmanagement)的控制器。平台管理表示的是一系列的监视和控制功能,操作的对象是系统硬件。比如通过监视系统的温度,电压,风扇、电源等等,并做相应的调节工作,以保证系统处于健康的状态。同时平台管理还负责记录各种硬件的信息和日志记录,用于提示用户和后续问题的定位。bmc是一个独立的系统,它不依赖与系统上的其它硬件(如cpu、内存等),也不依赖与bios、os等,但是bmc可以与bios和os交互,这样可以起到更好的平台管理作用,os下有系统管理软件可以与bmc协同工作以达到更好的管理效果。

usb(universalserialbus通用串行总线)是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,是应用在计算机领域的接口技术。usb-wifi模块是指采用usb接口的,通过usb接口与设备连接,为设备提供wifi功能的模块,其带有wifi网卡。

信道,又被称为通道或频道,是信号在通信系统中传输的通道,由信号从发射端传输到接收端所经过的传输媒质所构成。而无线信道就是以辐射无线电波为传输方式的无线电信道,简单来说就是无线数据传输的通道。

当前用户登录服务器带外管理平台bmc时,用户的账号和密码一般是唯一的保护屏障。然而员工账号信息的不恰当保护以及部分人员一直使用的弱密码,使得bmc系统的安全管理显的比较薄弱。



技术实现要素:

有鉴于此,本公开提供一种身份验证方法、装置及电子设备、机器可读存储介质,以改善上述登录bmc管理设备安全验证的安全性不够的问题。

具体地技术方案如下:

本公开提供了一种身份验证方法,应用于bmc管理设备,所述方法包括:获取usb-wifi模块的mac地址和校准数据,获取身份数据;根据身份数据、usb-wifi模块的mac地址和校准数据,使用预设算法算得认证码;查询校验库是否存有匹配所述认证码的校验码,若存在,则允许认证通过;所述校验库预先存有根据身份数据、usb-wifi模块的mac地址和校准数据创建的校验码。

作为一种技术方案,所述身份数据包括,用户名和/或bmc管理设备的mac地址。

作为一种技术方案,所述校准数据包括,第一信道校准值和/或第二信道校准值和/或第三信道校准值和/或频偏校准值和/或温度校准值。

作为一种技术方案,所述根据身份数据、usb-wifi模块的mac地址和校准数据,使用预设算法算得认证码,包括:根据身份数据、usb-wifi模块的mac地址和校准数据,使用md5算法算得认证码;

所述校验库预先存有根据身份数据、usb-wifi模块的mac地址和校准数据创建的校验码,包括:初次认证通过时,根据当前身份数据、当前usb-wifi模块的mac地址和校准数据,使用md5算法算得校验码,使校验库保存所述校验码。

本公开同时提供了一种身份验证装置,应用于bmc管理设备,所述装置包括:数据单元,用于获取usb-wifi模块的mac地址和校准数据,获取身份数据;计算单元,用于根据身份数据、usb-wifi模块的mac地址和校准数据,使用预设算法算得认证码;认证单元,用于查询校验库是否存有匹配所述认证码的校验码,若存在,则允许认证通过;所述校验库预先存有根据身份数据、usb-wifi模块的mac地址和校准数据创建的校验码。

作为一种技术方案,所述身份数据包括,用户名和/或bmc管理设备的mac地址。

作为一种技术方案,所述校准数据包括,第一信道校准值和/或第二信道校准值和/或第三信道校准值和/或频偏校准值和/或温度校准值。

作为一种技术方案,所述根据身份数据、usb-wifi模块的mac地址和校准数据,使用预设算法算得认证码,包括:根据身份数据、usb-wifi模块的mac地址和校准数据,使用md5算法算得认证码;所述校验库预先存有根据身份数据、usb-wifi模块的mac地址和校准数据创建的校验码,包括:初次认证通过时,根据当前身份数据、当前usb-wifi模块的mac地址和校准数据,使用md5算法算得校验码,使校验库保存所述校验码。

本公开同时提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现前述的身份验证方法。

本公开同时提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现前述的身份验证方法。

本公开提供的上述技术方案至少带来了以下有益效果:

利用usb-wifi模块的mac地址和校准数据的唯一性和难以复制性,绑定身份数据,计算得到唯一难以仿冒的校验码及认证码,仅在认证码与验证码匹配时允许认证通过,在无需新增硬件设备的情况下,提供高安全性认证方式。

附图说明

为了更加清楚地说明本公开实施方式或者现有技术中的技术方案,下面将对本公开实施方式或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施方式,对于本领域普通技术人员来讲,还可以根据本公开实施方式的这些附图获得其他的附图。

图1是本公开一种实施方式中的身份验证方法的流程图;

图2是本公开一种实施方式中的身份验证装置的结构图;

图3是本公开一种实施方式中的电子设备的硬件结构图。

具体实施方式

在本公开实施方式使用的术语仅仅是出于描述特定实施方式的目的,而非限制本公开。本公开和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本公开实施方式可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

当前用户登录服务器带外管理平台bmc时,用户的账号和密码一般是唯一的保护屏障,然而员工账号信息的不恰当保护以及部分人员一直使用的弱密码,使得bmc系统的安全管理显的比较薄弱。

为解决bmc系统登录的安全问题,在一种实施方式中采用了双因素认证方案,在双因素认证方案的框架下,用户在输入用户名密码的同时,还需要满足另一个因素才能实现正常登录bmc管理系统,以提高带外管理的安全性。

例如,基于otp的认证方案;otp(one-timepassword,动态口令)又称一次性密码,是使用密码技术实现的在客户端和服务器之间通过共享秘密的一种认证技术。认证步骤如下:用户登录时需输入用户名、密码、动态密码,系统提交用户名、密码到目录服务器验证用户名密码的正确性,系统还提交用户名、动态密码到otp服务器认证验证动态密码的正确性,在两个密码都正确的情况下才认为当前用户可正常登录。这种方案有如下缺点:(1)需要投入额外的成本,如需要购买otp动态口令卡,需要otp的认证服务器等,具有费用支出;(2)不能实现本地认证,必须依赖网络上的otp认证服务器。

另一种实施方式中,使用短信密码验证码的方式实现第二种因素认证。这种方案需要依赖公有云的支持,bmc系统须接入公共互联网,才能触发短信验证码的发送。而bmc系统一般是内网管理,将其暴露在公网下,增加了其安全性的风险。同时每次登录需要发送一条短信,增加了使用成本。

另一种实施方式中,使用客户端证书及密码实现双因素认证。即在客户登录端使用客户端证书和密码来进行第二种因素认证,登录时需要同时拥有客户端证书及证书密码才能认证通过。这种方案是一种纯软件的方案,并没有硬件实体,由于软件的客户端证书和密码存在复制和泄密的可能,所以其安全系数较低。

有鉴于此,本公开提供一种身份验证方法、装置及电子设备、机器可读存储介质,以改善上述登录bmc管理设备安全验证的安全性不够的问题。

具体地技术方案如后述。

本公开提供了一种身份验证方法,应用于bmc管理设备,所述方法包括:获取usb-wifi模块的mac地址和校准数据,获取身份数据;根据身份数据、usb-wifi模块的mac地址和校准数据,使用预设算法算得认证码;查询校验库是否存有匹配所述认证码的校验码,若存在,则允许认证通过;所述校验库预先存有根据身份数据、usb-wifi模块的mac地址和校准数据创建的校验码。

具体地,如图1,包括以下步骤:

步骤s11,获取usb-wifi模块的mac地址和校准数据,获取身份数据;

步骤s12,根据身份数据、usb-wifi模块的mac地址和校准数据,使用预设算法算得认证码;

步骤s13,查询校验库是否存有匹配所述认证码的校验码,若存在,则允许认证通过。

其中,所述校验库预先存有根据身份数据、usb-wifi模块的mac地址和校准数据创建的校验码。

由于每个usb-wifi模块中的mac地址具有唯一性,生产厂商对于每个usb-wifi模块的校准数据根据实际情况配置从而使得校准数据具有唯一性且难以窃听获取,所以每个usb-wifi模块识别信息“mac地址+校准数据”具有唯一性和难以窃听性,继而难以被复制。

利用usb-wifi模块的mac地址和校准数据的唯一性和难以复制性,绑定身份数据,计算得到唯一难以仿冒的校验码及认证码,仅在认证码与验证码匹配时允许认证通过,在无需新增硬件设备的情况下,提供高安全性认证方式。

在初次认证时,例如管理员配置或出厂配置时,在初始安全验证通过后,使用目标usb-wifi模块连接到指定设备如bmc管理设备,获取该usb-wifi模块的mac地址和校准数据,同时获取需要绑定的身份数据,根据以上信息及预设算法,计算创建校验码,并把校验码存储到特定的存储区域内,即校验库。

在后续登录操作时,待登录用户需要将usb-wifi模块连接到指定设备如bmc管理设备,然后使用相同或相似的操作,取该usb-wifi模块的mac地址和校准数据,同时获取当前身份数据,根据以上信息及预设算法,计算得到认证码,通过比对认证码与校验库存储的校验码,若存在匹配的校验码,则认为该项安全因素认证通过,允许认证通过,在另一项安全因素如账号密码也认证通过后,允许待登录用户登录。

作为一种技术方案,所述身份数据包括,用户名和/或bmc管理设备的mac地址。

作为一种技术方案,所述校准数据包括,第一信道校准值和/或第二信道校准值和/或第三信道校准值和/或频偏校准值和/或温度校准值。

作为一种技术方案,所述根据身份数据、usb-wifi模块的mac地址和校准数据,使用预设算法算得认证码,包括:根据身份数据、usb-wifi模块的mac地址和校准数据,使用md5算法算得认证码;

所述校验库预先存有根据身份数据、usb-wifi模块的mac地址和校准数据创建的校验码,包括:初次认证通过时,根据当前身份数据、当前usb-wifi模块的mac地址和校准数据,使用md5算法算得校验码,使校验库保存所述校验码。

在一种实施方式中,具体如下:

创建基于用户名的usb-wifi认证码创建时,具有admin管理员权限的用户为每个用户以及当前插入的usb-wifi模块创建一个usb-wifi校验码,该校验码创建步骤如下:

①检查usb-wifi模块是否接入设备,如果没有则创建失败。

②获取用户名:user_name。

③获取usb-wifi模块的mac地址:wifi_mac。

④调用usb-wifi模块驱动接口,获取usb-wifi模块的校准数据,包括温度校准数据,频偏校准数据,所有天线信道1、6、13的校准数据,即第一信道校准值、第二信道校准值、第三信道校准值。将这些校准数据通过恰当的左移或的算法形成一个整体的校准数据wifi_cal,例如:wifi_cal=信道1校准值|信道6校准值|信道13校准值|频偏校准值|温度校准值。

⑤使用md5算法,根据user_name、wifi_mac、wifi_cal生成校验码user_wifi_identity_code,在不同的实施方式中,也可以使用其他算法,如其他hash算法。

⑥将user_wifi_identity_code保存到当前bmc配置管理器的identity_code_db[]数组中,即保存于校验库。

用户登录bmc管理设备的步骤如下:

①用户登录bmc系统,输入用户名和密码。

②认证用户名密码是否正确,错误则返回认证失败。

③检查是否usb-wifi模块是否接入设备,如果没有则认证失败,并提醒用户插入usb-wifi模块。

④获取usb-wifi模块的mac地址:wifi_mac。调用usb-wifi模块驱动接口,获取usb-wifi模块的校准数据,包括温度校准数据,频偏校准数据,所有天线信道1、6、13的校准数据,即第一信道校准值、第二信道校准值、第三信道校准值。将这些校准数据通过恰当的左移或的算法形成一个整体的校准数据wifi_cal,例如:wifi_cal=信道1校准值|信道6校准值|信道13校准值|频偏校准值|温度校准值。

⑤获取当前登录用户的用户名:user_name。根据wifi_mac,wifi_cal,user_name,使用md5算法生成当前认证码user_wifi_identity_code_tmp。在bmc配置管理的校验库identity_code_db[]数组中查找是否存在匹配user_wifi_identity_code_tmp的校验码,如果存在则认为当前用户登录时插入了经过认证的usb-wifi模块,则当前用户认证通过。

⑥认证失败则提醒用户插入正确的usb-wifi模块。

创建基于bmc管理设备的mac地址的usb-wifi认证码创建时,具有admin管理员权限的用户为每个用户以及当前插入的usb-wifi模块创建一个usb-wifi校验码,该校验码创建步骤如下:

②检查usb-wifi模块是否接入设备,如果没有则创建失败。

②获取bmc管理设备的mac地址:bmc_mac。

③获取usb-wifi模块的mac地址:wifi_mac。

④调用usb-wifi模块驱动接口,获取usb-wifi模块的校准数据,包括温度校准数据,频偏校准数据,所有天线信道1、6、13的校准数据,即第一信道校准值、第二信道校准值、第三信道校准值。将这些校准数据通过恰当的左移或的算法形成一个整体的校准数据wifi_cal,例如:wifi_cal=信道1校准值|信道6校准值|信道13校准值|频偏校准值|温度校准值。

⑤使用md5算法,根据bmc_mac、wifi_mac、wifi_cal生成校验码user_wifi_identity_code,在不同的实施方式中,也可以使用其他算法,如其他hash算法。

⑥将user_wifi_identity_code保存到当前bmc配置管理器的identity_code_db[]数组中,即保存于校验库。

用户登录bmc管理设备的步骤如下:

①用户登录bmc系统,输入用户名和密码。

②认证用户名密码是否正确,错误则返回认证失败。

③检查是否usb-wifi模块是否接入设备,如果没有则认证失败,并提醒用户插入usb-wifi模块。

④获取usb-wifi模块的mac地址:wifi_mac。调用usb-wifi模块驱动接口,获取usb-wifi模块的校准数据,包括温度校准数据,频偏校准数据,所有天线信道1、6、13的校准数据,即第一信道校准值、第二信道校准值、第三信道校准值。将这些校准数据通过恰当的左移或的算法形成一个整体的校准数据wifi_cal,例如:wifi_cal=信道1校准值|信道6校准值|信道13校准值|频偏校准值|温度校准值。

⑤获取当前bmc管理设备的mac地址:bmc_mac。根据wifi_mac,wifi_cal,bmc_mac,使用md5算法生成当前认证码user_wifi_identity_code_tmp。在bmc配置管理的校验库identity_code_db[]数组中查找是否存在匹配user_wifi_identity_code_tmp的校验码,如果存在则认为当前用户登录时插入了经过认证的usb-wifi模块,则当前用户认证通过。

⑥认证失败则提醒用户插入正确的usb-wifi模块。

本公开同时提供了一种身份验证装置,如图2,应用于bmc管理设备,所述装置包括:数据单元21,用于获取usb-wifi模块的mac地址和校准数据,获取身份数据;计算单元22,用于根据身份数据、usb-wifi模块的mac地址和校准数据,使用预设算法算得认证码;认证单元23,用于查询校验库是否存有匹配所述认证码的校验码,若存在,则允许认证通过;所述校验库预先存有根据身份数据、usb-wifi模块的mac地址和校准数据创建的校验码。

装置实施方式与方法实施方式相同或相似,在此不再赘述。

作为一种技术方案,所述身份数据包括,用户名和/或bmc管理设备的mac地址。

作为一种技术方案,所述校准数据包括,第一信道校准值和/或第二信道校准值和/或第三信道校准值和/或频偏校准值和/或温度校准值。

作为一种技术方案,所述根据身份数据、usb-wifi模块的mac地址和校准数据,使用预设算法算得认证码,包括:根据身份数据、usb-wifi模块的mac地址和校准数据,使用md5算法算得认证码;所述校验库预先存有根据身份数据、usb-wifi模块的mac地址和校准数据创建的校验码,包括:初次认证通过时,根据当前身份数据、当前usb-wifi模块的mac地址和校准数据,使用md5算法算得校验码,使校验库保存所述校验码。

在一种实施方式中,本公开提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现前述的身份验证方法,从硬件层面而言,硬件架构示意图可以参见图3所示。

在一种实施方式中,本公开提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现前述的身份验证方法。

这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

上述实施方式阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本公开的实施方式可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本公开实施方式可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本领域技术人员应明白,本公开的实施方式可提供为方法、系统或计算机程序产品。因此,本公开可以采用完全硬件实施方式、完全软件实施方式、或者结合软件和硬件方面的实施方式的形式。而且,本公开可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本公开的实施方式而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。

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