CN116702114A - 一种组件认证方法及装置 - Google Patents
一种组件认证方法及装置 Download PDFInfo
- Publication number
- CN116702114A CN116702114A CN202210188449.XA CN202210188449A CN116702114A CN 116702114 A CN116702114 A CN 116702114A CN 202210188449 A CN202210188449 A CN 202210188449A CN 116702114 A CN116702114 A CN 116702114A
- Authority
- CN
- China
- Prior art keywords
- component
- bmc
- access
- access authentication
- authentication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 230000004044 response Effects 0.000 claims abstract description 52
- 238000012795 verification Methods 0.000 claims abstract description 28
- 238000007726 management method Methods 0.000 claims description 54
- 230000001133 acceleration Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 230000000977 initiatory effect Effects 0.000 claims 5
- 230000006870 function Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 13
- 238000013461 design Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000017525 heat dissipation Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种组件认证方法及装置。在该方法中,在计算机上电后,该计算机中的BMC向该计算机中的其中一个组件发送认证请求,以发起对该组件进行接入认证;该组件向BMC发送接入请求,该接入请求携带该组件的接入认证证书;BMC在对该组件的接入认证证书认证通过后,向该组件发送接入响应。本申请在组件启动之前,BMC对组件的接入认证证书进行验证,若验证通过,才允许该组件启动,该方式有效消减了组件被仿冒篡改带来的安全风险,有效保障了组件的接入安全。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种组件认证方法及装置。
背景技术
在实现服务器算力多样化、组件化的背景下,各组件的厂商来源多样化,组件在供应链阶段,如运输、仓储等阶段均面临被篡改、仿冒的风险,被篡改、仿冒的组件接入服务器系统后,可能导致信息泄露和组件能力被劫持、滥用的风险。
发明内容
本申请提供一种组件认证方法及装置,用于防止计算机内组件被仿冒篡改,保障计算机在BIOS启动前组件的接入安全。
第一方面,本申请实施例提供了一种组件认证方法,该方法可以由计算机执行,其中,计算机包括主板管理控制器(Baseboard Management Controller,BMC)、多个组件,在该方法中,在计算机上电后,针对该计算机中的一个组件,BMC向该组件发送认证请求(记为第一认证请求),该第一认证请求用于发起对该组件进行接入认证;组件接收BMC发送的第一认证请求,并向BMC发送接入请求(记为第一接入请求),该第一接入请求包括该组件的接入认证证书;在对该组件的接入认证证书验证通过后,BMC向该组件发送接入响应(记为第一接入响应),该第一接入响应用于触发该组件启动;或者,若接入认证证书未验证通过,BMC拒绝接入该组件。
通过上述设计,在计算机上电后,该计算机中的BMC向该该计算机中的其中一个组件发送认证请求,以发起对该组件进行接入认证;该组件向BMC发送接入请求,该接入请求携带该组件的接入认证证书;BMC在对该组件的接入认证证书认证通过后,向该组件发送接入响应。本申请在组件启动之前,BMC对组件的接入认证证书进行验证,若验证通过,才允许该组件启动,该方式有效消减了组件被仿冒篡改带来的安全风险,有效保障了组件的接入安全。
在一种可能的实现方式中,BMC向组件发送第一接入请求之前,还包括:BMC向管理模块发送接入请求(记为第二接入请求)以及BMC的接入认证证书;在对BMC的接入认证证书验证通过后,管理模块向BMC发送接入响应(记为第二接入响应),该第二接入响应用于触发BMC对组件进行接入认证。
通过上述设计,管理模块对BMC的接入认证证书进行验证,可以有效消减BMC被仿冒篡改带来的安全风险,保障BMC的接入安全,进一步提高计算机组件的可靠性。
在一种可能的实现方式中,BMC拒绝接入组件,包括下列中的一项或多项:BMC对该组件进行告警;BMC禁止该组件启动;BMC将该组件下电。
通过上述设计,BMC识别到身份可疑(即接入认证证书未通过)的组件之后,可以对其进行下一步处理,如告警、禁止该组件启动、将该组件下电等,防止可疑组件进行非法操作等,降低数据泄露风险,提高计算机的可靠性。运维人员也可以根据告警等,检查是否有非法组件接入计算机,减轻运维人员工作负担。
在一种可能的实现方式中,组件包括计算组件、存储组件、IO组件、加速组件、内存扩展组件。
在一种可能的实现方式中,BMC向组件发送第一接入响应之后,还包括:组件为计算组件,组件加载并运行基本输入输出模块(basic input output system,BIOS)文件(如BIOS代码);或者,组件为存储组件、IO组件、加速组件、内存扩展组件中的其中一种组件,组件加载并运行固件文件。
通过上述设计,BMC对对组件的接入认证证书验证通过后,再出发该组件启动,可以保障计算机在BIOS启动之前,组件的接入安全。
在一种可能的实现方式中,第一认证请求包括BMC生成的随机数(记为第一随机数);第一接入请求还包括签名数据,该签名数据是使用该组件的私钥对该第一随机数进行签名得到的;BMC接收到第一组件发送的的第一接入请求之后,还包括:BMC基于该第一接入请求获取组件的公钥以及随机数(记为第二随机数);其中,组件的公钥为BMC使用证书颁发中心(certification authority,CA)的公钥对该组件的接入认证证书进行解密后得到的;第二随机数为BMC使用该组件的公钥对第一接入请求中的签名数据进行解密后得到的;之后,BMC对第一随机数和第二随机数进行比对,若第二随机数与第一随机数一致,则确定该组件的接入认证证书验证通过;否则,确定该组件的接入认证证书验证不通过。
通过上述设计,由于接入认证证书为证书颁发中心生成的,难以被伪造,BMC对组件的接入认证证书进行验证,可以准确识别出被仿冒、伪造的组件,提高该接入认证的准确性。
在一种可能的实现方式中,组件的接入认证证书为出厂前预置于组件中的;其中,组件的接入认证证书是使用CA的私钥对该组件的信息进行签名得到的,组件的信息包括组件的公钥和组件标识;BMC的接入认证证书和CA的公钥为出厂前预置于BMC中的。
通过上述设计,可以在组件的生产阶段将组件的私钥、接入认证证书等预置于组件中,降低组件在供应链阶段可能被仿冒、篡改带来的安全风险,保障了计算设备启动时组件的接入安全。
在一种可能的实现方式中,组件的公钥、组件的私钥、组件的组件标识为出厂前预置于组件中的,其中,组件标识为该组件从CA获取的;组件的公钥、组件的私钥均是由组件标识派生的。
第二方面,本申请实施例提供了一种组件认证方法,该方法可以应用于计算机中,可以由计算机中的BMC执行,在该方法中,在计算机上电后,BMC向计算机所包含的其中一个组件发送第一认证请求,该第一认证请求用于发起对该组件进行接入认证;BMC接收该组件发送的第一接入请求,该第一接入请求包括该组件的接入认证证书;在对该组件的接入认证证书验证通过后,BMC向该组件发送第一接入响应,该第一接入响应用于触发该组件启动;或者,若该组件的接入认证证书未验证通过,BMC拒绝接入该组件。
在一种可能的实现方式中,BMC向该组件发送第一接入请求之前,还包括:BMC向管理模块发送第二接入请求以及BMC的接入认证证书;BMC接收管理模块发送的第二接入响应,第二接入响应用于触发BMC对组件进行接入认证,第二接入响应为管理模块在BMC的接入认证证书验证通过后发送给BMC的。
在一种可能的实现方式中,BMC拒绝接入组件,包括下列中的一项或多项:BMC对该组件进行告警;BMC禁止该组件启动;BMC将该组件下电。
在一种可能的实现方式中,第一认证请求包括BMC生成的随机数(记为第一随机数);第一接入请求还包括签名数据,该签名数据是使用该组件的私钥对该第一随机数进行签名得到的;
BMC接收到第一组件发送的的第一接入请求之后,还包括:BMC基于该第一接入请求获取组件的公钥以及随机数(记为第二随机数);其中,组件的公钥为BMC使用证书颁发中心(certification authority,CA)的公钥对该组件的接入认证证书进行解密后得到的;第二随机数为BMC使用该组件的公钥对第一接入请求中的签名数据进行解密后得到的;之后,BMC对第一随机数和第二随机数进行比对,若第二随机数与第一随机数一致,则确定该组件的接入认证证书验证通过;否则,确定该组件的接入认证证书验证不通过。
在一种可能的实现方式中,组件的接入认证证书为出厂前预置于组件中的;其中,组件的接入认证证书是使用CA的私钥对该组件的信息进行签名得到的,组件的信息包括组件的公钥和组件标识;BMC的接入认证证书和CA的公钥为出厂前预置于BMC中的。
第三方面,本申请实施例提供了一种组件认证方法,该方法可以应用于计算机中,可以由计算机中的组件执行,在该方法中,在计算机上电后,计算机内的其中一个组件接收计算机内的BMC发送的第一认证请求,该第一认证请求用于发起对该组件进行接入认证;该组件向BMC发送第一接入请求,第一接入请求包括该组件的接入认证证书;该组件接收BMC发送的第一接入响应,该第一接入响应用于触发该组件启动;该第一接入响应为BMC在对该组件的接入认证证书验证通过后,发送给该组件的;或者,当该组件的接入认证证书未验证通过,该组件被所述BMC拒绝接入。
在一种可能的实现方式中,组件的接入认证证书为出厂前预置于组件中的;其中,组件的接入认证证书是使用CA的私钥对该组件的信息进行签名得到的,组件的信息包括组件的公钥和组件标识;BMC的接入认证证书和CA的公钥为出厂前预置于BMC中的。
在一种可能的实现方式中,组件的公钥、组件的私钥、组件的组件标识为出厂前预置于组件中的,其中,组件标识为该组件从CA获取的;组件的公钥、组件的私钥均是由组件标识派生的。
在一种可能的实现方式中,组件包括计算组件、存储组件、IO组件、加速组件、内存扩展组件。
第四方面,本申请实施例还提供了一种组件认证装置,该装置具有实现上述第二方面的方法实例中BMC的功能,或实现上述第二方面的方法实例中组件的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的结构中包括获取模块、处理模块;
第五方面,本申请还提供了一种计算装置,所述计算装置包括处理器和通信接口,所述处理器执行上述第一方面或第一方面任一可能的实现方式提供的方法,或执行上述第二方面或第二方面任一可能的实现方式提供的方法,或执行上述第三方面或第三方面任一可能的实现方式提供的方法。所述通信接口,用于与其他设备进行通信。
第六方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法,或执行上述第二方面或第二方面任一可能的实现方式提供的方法,或执行上述第三方面或第三方面任一可能的实现方式提供的方法。该存储介质中存储了程序。该存储介质包括但不限于易失性存储器,例如随机访问存储器,非易失性存储器,例如快闪存储器、硬盘(hard disk drive,HDD)、固态硬盘(solid state drive,SSD)。
第七方面,本申请提供了一种计算机程序产品,所述计算设备程序产品包括计算机指令,在被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法,或执行上述第二方面或第二方面任一可能的实现方式提供的方法,或执行上述第三方面或第三方面任一可能的实现方式提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面或第一方面的任意可能的实现方式中提供的方法,或需要使用前述第二方面或第二方面的任意可能的实现方式中提供的方法,或需要使用前述第三方面或第三方面的任意可能的实现方式中提供的方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
第八方面,本申请还提供一种芯片,所述芯片用于通过执行软件程序,实现上述第一方面以及第一方面的各个可能的实现方式中所述的方法,或实现上述第二方面以及第二方面的各个可能的实现方式中所述的方法,实现上述第三方面以及第三方面的各个可能的实现方式中所述的方法。
上述第二方面至第八方面中任一实现方式的有益效果请参见第一方面的描述,此处不再赘述。
附图说明
图1为本申请实施例提供的一种计算设备的架构示意图;
图2为本申请实施例提供的一种组件接入认证方法的流程示意图;
图3为本申请实施例提供的一种接入认证证书的生成方式所对应的流程示意图;
图4为本申请实施例提供的一种接入认证证书的认证方式所对应的流程示意图;
图5为本申请实施例提供的一种可能适用的系统架构示意图;
图6为本申请实施例提供的另一种组件接入认证方法的流程示意图;
图7为本申请实施例提供的一种组件认证装置的结构示意图;
图8为本申请实施例提供的又一种组件认证装置的结构示意图;
图9为本申请实施例提供的另一种组件认证装置的结构示意图。
具体实施方式
为了便于理解本申请实施例所提供的锁管理的方法,首先对本申请实施例所涉及的概念和术语进行简单说明。
1,基本输入输出模块(basic input output system,BIOS);
BIOS是一组固化到计算机内主板上一个只读内存(Read only memory,ROM)芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序、系统自启动程序和菜单程序。BIOS主要功能是为计算机提供最底层的、最直接的硬件设置、控制和访问。
2,主板管理控制器(Baseboard Management Controller,BMC);
BMC作为一个平台管理系统,其硬件通常是计算设备的主板上第一个上电启动的部件,具备一系列的监控和控制功能,具体的,BMC连接各种传感器,这些传感器分布在计算设备的若干部件上,BMC通过这些传感器管理计算机的各个部件,如使能组件上电、下电等。
3,本申请中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围,也表示先后顺序。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请所涉及的计算设备可以是一台独立的物理机,如服务器、台式计算机、笔记本电脑等。该计算设备可以部署在用户侧,作为用户设备。也可以部署在服务端侧,可以是一台独立的服务器,也可以是由多个物理服务器构成服务器集群或者分布式系统。
图1为本申请实施例提供的一种计算设备10的架构示意图。在该架构中,该计算设备10包括基础板(Basic Computing Unit,BCU)100、扩展板200(Extension Unit,EXU)200。进一步地,同一计算设备除了包括基础板和扩展板外,还可以包括扩展组件。具体的,同一计算设备10中可以包括一个基础板100和一个扩展板200,同一计算设备10也可以包括多个基础板100和一个扩展板200,同一计算设备10还可以包括一个基础板100和多个扩展板200。
基础板100包括CPU1011、双倍数据速率(double data rate,DDR)1012以及相关电源1013,提供通用计算能力及外围存储、输入输出(input/output,IO)、加速等扩展接口。基础板100支持等不同系列的CPU。可选地,基础板100支持异构处理器,即基础板100可以支持不同类型的处理器,例如,基础板100支持一个或多个CPU1011(图1仅示出一个,但本申请对此不做限定),以及专用集成电路(application-specificintegrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)、复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)、片上系统(system on chip,SoC)、软件定义架构(software-defined infrastructure,SDI)芯片、人工智能(artificial intelligence,AI)芯片等任意一种处理器或其任意组合。可选地,基础板100还可以包括其他组件,如BIOS芯片1014。
进一步地,根据业务需求和硬件属性本申请实施例提供了至少6种不同形态的基础板100,分别针对不同的计算性能和内存配置。为了方便描述,姑且将这6种基础板100分别称为A1、A2、B1、B2、C1、C2。并且,在本实施例中利用“P”表示处理器的个数,P为大于0的整数,“DPC”则表示每个通道双列直插内存模块(dual in-line memory module perchannel,DIMM Per Channel)。例如,A1形态的基础板100支持一个处理器,每个通道插一根DIMM(简称为1P1DPC);A2形态的基础板100支持一个处理器,每通道插一根或二根DIMM(简称为1P2DPC或1P1DPC);B1形态的基础板100支持两个处理器,每通道插一根DIMM(简称为2P1DPC),或者,一个处理器,每通道插一根或二根DIMM(简称为1P2DPC或1P1DPC);B2形态的基础板100支持两个处理器,每通道插一根或二根DIMM(简称为2P2DPC或2P1DPC),或者,一个处理器,每通道插一根或两根DIMM(简称为1P2DPC或1P1DPC);C1形态的基础板100支持四个处理器,每个通道插一根DIMM(简称为4P1DPC),或者,两个处理器,每通道插一根或两根DIMM(简称为2P2DPC或2P1DPC);C2形态的基础板100支持四个处理器,每通道插一根或两根DIMM(简称为4P2DPC或4P1DPC),或者,两个处理器,每通道插一根或两根DIMM(简称为2P2DPC或2P1DPC)。随着技术发展,CPU封装尺寸、内存通道和DIMM数可能变化,但主板的标准尺寸和安装孔位将保持不变,这样能确保基础板100更新换代时能够跨代跨系列兼容演进。例如:B2形态的基础板100在当前每CPU 8通道DDR时,支持2P2DPC(2P32DIMM)。在CPU内存通道数提升到12以后,将无法实现2P2DPC(2P48DIMM)。那么,B2形态可以支持2P1DPC(2P24DIMM),而2P2DPC(2P48DIMM)可以用C1等其他形态实现,因为安装孔位置和基础板100尺寸是标准的,直接更换和安装即可。
扩展板200包括主板管理控制器(Baseboard Management Controller,BMC)芯片2011(简称为BMC2011),可选的,还可以包括管理系统和桥片(例如,Intel系统的平台路径控制器(Platform Controller Hub,PCH)),是对基础板100的管理扩展,作为整个系统的管理中心,提供设备、安全、能效、可靠性等管理功能。其中,BMC2011也可以称为基板管理控制器,用于为基础板100及各扩展组件提供管理功能及供电。
在该架构中,基础板100通过PCIe、内存互联(Compute Express Link,CXL)、或统一总线(unified bus,UB或Ubus)等高速总线与组件通信连接,并与扩展板200通过管理接口相连。具体实施中,上述基础板100与组件,以及基础板100与扩展板200的具体连接方式包括:以线缆实现上述连接的软连接方式,或者,以连接器实现上述连接的硬连接方式。
组件是一类电子器件或电子设备的统称,其中,组件按照功能可以被划分为计算组件4011、存储组件(STorage Unit,STU)4012、IO组件(Input Output Unit,IOU)4013、加速组件(ACceleration Unit,ACU)4014、内存扩展组件(Memory Expansion Unit,MEU)4015和散热组件4016。其中,计算组件,如CPU和内存等可位于基础板中,BMC等可位于扩展板中。如下分别对各类组件进行介绍:
其中,存储组件4012包括硬盘背板、扩展板(Expander)、PCIe交换机(switch)等,为系统存储扩展,支持机械硬盘(hard disk drive,HDD)/固态硬盘(solid-state drive,SSD)/非易失性高速传输总线(Non-Volatile Memory express,NVMe)/存储级内存(Storage Class Memory,SCM)等多种介质、形态。
IO组件4013包括Riser等组件,实现对系统IO的扩展,支持PCIe标卡、开放计算项目(Open Compute Project,OCP)卡。
加速组件4014包括载板、加速卡互连交换机(switch)等,提供系统加速组件扩展和互连功能。
内存扩展组件4015包括载板、内存扩展芯片、双列直插内存模块(dual in-linememory module,DIMM)、SCM介质等,提供系统扩展内存带宽、内存容量的功能。
散热组件4016,用于对计算设备或计算设备中硬件进行散热,包括风冷散热、液冷散热或二者结合等几种散热方式的组合。应理解的是,散热组件的结构、类型和数量不构成对本申请所要保护技术方案的限定。
需要说明的是,(1)上述所列举的组件仅为部分组件示例,如组件还可以包括供电组件等,本申请中的组件是服务器架构所包含的电子器件或者电子设备的统称,某些组件可位于基础板上,某些组件可位于扩展板上,既不属于基础板又不属于扩展板的组件在本实施例称为扩展组件。总之,任何计算设备内的电子器件或电子设备均属于本申请保护的组件范围。(2)图1所示的各组件的位置仅为示例,本申请实际产品内的部署形态和连接方式不做限定。(3)图1所示的计算设备10的架构仅为示例,在实际应用中,计算设备10可以包括相比图1更多或更少的部件,比如,计算设备10还可以包括散热组件、外设(鼠标、键盘)等。又比如,计算设备10还可以不包括存储组件4012等,本申请对此均不做具体限定,并且本申请对各种组件的数量也不做具体限定。
另一方面,在传统的服务器架构中,由于供电、内存通道数、IO数、速率等演进原因,处理器(例如,中央处理器(central processing unit,CPU))的插槽(Socket)一般只能做到每代(Tick/Tock两个小升级)兼容,很难跨代兼容。本申请提供的主板可以采用标准化方式设置对外接口,并以线缆等软连接方式进行各种外部扩展,可屏蔽处理器相关供电、不同处理器与组件以及组件之间互连所带来的差异。使得内存等组件的变化仅包含在了主板内部,实现主板跨代兼容的功能。这样对于各厂商来说,当处理器更新换代时,配套的整机、组件等可以不更换,因此配套的组件具备了更长的生命周期。对于客户来说,在不需要更换机箱、不增加硬件开发工作量的前提下,能够随时更换最新的组件,最快用上业界最新的算力。对整机厂家来说,服务器新架构跨代升级、跨系列演进实现之后,处理器的升级、或者更换不同处理器厂家,只需要简单更换基础板即可,颠覆了原有的开发模式,衍生了新的产业模式。
上述设计,传统的主板上的功能离散为独立的组件,从而将传统的主板拆分为基础板、扩展板和组件,这样,组件可以被独立的生产、销售和安装等,对于整机厂商而言,该设计提供了计算设备扩展、组件维修等的灵活性和便利性。然而,也正因此这些组件更容易被仿冒篡改,尤其在计算设备的运输及仓储阶段,计算设备内的组件更容易被替换,一旦被仿冒篡改的组件接入计算设备,将可能导致组件能力被劫持、滥用,信息泄露等问题,存在诸多安全风险。
为此,本申请实施例提供了一种组件认证方法,该方法在计算机上电后,BMC会对计算设备内的组件进行接入认证,认证通过后才允许接入该组件并触发该组件启动,否则,拒绝接入该组件。消减了在供应链阶段,如运输、仓储等过程中组件可能被仿冒、篡改带来的安全风险,保障了计算设备启动时组件的接入安全。
接下来结合图2,以本申请实施例应用于图1所示的计算设备10的架构为例,对本申请实施例提供的组件认证方法进行详细介绍。该方法可以由图1中的计算设备10执行。
图2为本申请实施例提供的接入认证方法所对应的流程示意图,如图2所示,该方法包括如下步骤:
步骤201,计算设备10的BMC上电后,使能其他组件上电。
可选的,在BMC使能其他组件上电之前,BMC还可以进行自检,自检包括安全启动,如校验BMC自身的信任根,以降低BMC被仿冒篡改的风险。自检还可以包括校验计算设备10的固件信息的完整性。BMC自检完成后,使能其他组件上电,该步骤可以参见相关技术记载的内容,此处不做重点说明。
之后BMC对该计算设备10内的其他组件进行接入认证,如下以其中一个组件为例对该过程进行说明。
步骤202,BMC向组件发送认证请求。对应的,组件接收该BMC发送的认证请求。
这里的组件可以是计算设备10内的其中一个组件,如其中一个计算组件(如基础板中的CPU)、其中一个IO组件、其中一个存储组件、其中一个加速组件等。该认证请求用于请求对该组件进行接入认证,如对组件的接入认证证书进行认证。
步骤203,组件向BMC发送接入请求,该接入请求包括该组件的接入认证证书。对应的,BMC接收组件发送的第一接入请求。
步骤204,BMC对组件的接入认证证书进行验证,若验证通过,则执行步骤205;否则,执行步骤207。
步骤205,BMC向组件发送接入响应,该接入响应用于触发BMC启动。
步骤206,该组件启动。
示例性地,该组件为基础板的CPU,则CPU加载并运行BIOS代码,以及加载并运行固件加载程序以加载并启动固件。之后的启动流程可以参见相关技术记载的内容,如BIOS及固件加载操作系统(operating system,OS)的Bootloader,Bootloader加载OS内核,OS内核启动系统软件等,此处不做重点说明,本申请对此也不做限定。
步骤207,BMC拒绝该组件接入。
BMC拒绝该组件接入的方式包括但不限于下列中的一项或多项:
1,BMC对该组件进行告警。
2,BMC禁止该组件启动。
3,BMC将该组件下电。
其中,BMC对该组件进行告警时,可以通过文字、图片、音频、视频等一种或多种方式进行告警,以提示该组件的身份存在异常,可以在计算设备10本地进行告警,还可以发送到远端设备进行告警,具体不做限定。
如下通过两方面对BMC对组件进行接入认证的方式进行详细说明,第一方面:组件的接入认证证书生产流程(参见图3所示的流程)。第二方面:BMC对组件的接入认证证书进行验证的流程(参见图4所示的流程)。在下文中,仍以一个组件为例,对上述两个过程进行介绍。
图3为本申请实施例提供的接入认证证书的生产流程示意图。该方法应用的系统包括计算设备10和证书颁发中心(certification authority,CA)20,该证书颁发中心20可以是多个合作厂商(或者说信任联盟)共享的机构,用于为其中的每个合作厂商的组件颁发接入认证证书,这样合作厂商之间的组件便可以互相兼容。
如图3所示,该流程包括如下步骤:
步骤301,计算设备10内的组件向证书颁发中心20申请唯一组件标识(uniquedevice secret,UDS),并将该UDS写入组件的芯片。
步骤302,该组件基于该UDS派生公私钥对,并将该公私钥对写入芯片。
示例性地,组件使用密钥导出函数(key derivation function,KDF)基于该组件自身的UDS生成该组件的公私钥对,其中,公私钥对包括公钥(UDI_SK)和私钥(UDI_PK)。本领域技术人员可知,组件使用私钥对数据进行签名(或者说加密),公钥能够对私钥签名的数据进行解密。
在本申请中,该组件的公钥可以不写入芯片,当基于该公钥获取到该组件的接入认证证书(参见步骤305)后,再删除该公钥。也即,该组件临时存储该公钥,当使用完成后再将其删除,以节省芯片的存储资源。
步骤303,组件向证书颁发中心20发送证书签名请求(UDI_CSR),该UDI_CSR包括该组件的公钥和组件标识(即该组件UDS)。对应的,证书颁发中心20接收组件发送的证书签名请求。
步骤304,证书颁发中心20使用自身的私钥(即证书颁发中心20的私钥CA_SK)对该UDI_CSR进行签名,生成该组件的接入认证证书(UDI_CER)。
举例来说,以UDI_CSR包括组件的UDS和组件的公钥为例,组件生成的UDI_CSR、证书颁发中心20生成的该组件的接入认证证书如表1所示。
表1
其中,Sigh表示签名,UDS||UDI_PK表示数据包括两部分,即UDS和UDI_PK。
需要说明的是,表1所示的接入认证证书仅为一种示例,本申请适用的接入认证证书还可以是其他结构,具体不做限定。另外,签名方式也是一种示例,也可以包括其他方式,如证书颁发中心20对UDI_CSR签名之前,还可以先对UDI_CSR进行加密(或称为摘要操作),再使用CA_SK对得到的摘要进行签名,本申请对此也不做限定。
步骤305,证书颁发中心20向组件发送该组件的接入认证证书(即UDI_CER)。对应的,该组件接收该证书颁发中心20发送的接入认证证书,并将该接入认证证书写入组件芯片。
步骤306,证书颁发中心20将自身的公钥(即证书颁发中心20的公钥CA_PK)发送给BMC,BMC将该证书颁发中心20的公钥写入BMC芯片。BMC存储证书颁发中心20的公钥是用于在对组件进行接入认证时,使用该证书颁发中心20的公钥对组件的接入认证证书进行验证的,下文将通过图4进行介绍。
需要说明的是,(1)上述将数据(如接入认证证书、公私钥对等)写入芯片的操作还可以替换为对数据进行加密后存储到组件的非易失性存储(如flash)中,具体不作限定。(2)步骤306和图3中其他步骤之间没有严格的时序限定,如步骤306可以在301之前执行,也可以在步骤301之后的任一步骤执行,具体不做限定。
图4为本申请实施例提供的对组件的接入认证证书进行验证的流程示意图。该方法包括如下步骤:
步骤401,BMC生成随机数(记为第一随机数)。
BMC生成第一随机数的方式如,BMC基于真随机数生成器(true random numbergenerator,TRNG)生成第一随机数,也可以通过其他方式生成第一随机数,具体不做限定。
步骤402,BMC向组件发送认证请求,该认证请求包括该第一随机数。对应的,组件接收该BMC发送的认证请求。
步骤403,组件使用自身的私钥(UDI_SK)对第一随机数进行签名,得到签名数据。
步骤404,组件向BMC发送接入请求,该接入请求包括该签名数据和组件的接入认证证书。对应的,BMC接收组件发送的接入请求。
步骤405,BMC对该组件的接入认证证书进行验证,若验证通过,则向该组件发送接入响应,用于指示该组件启动(参见步骤205、步骤206的描述,此处不再赘述)。或者,若未验证通过,则拒绝接入该组件(参见步骤207的描述,此处不再赘述)。
示例性地,以表1所示的接入认证证书为例,BMC对该组件的接入认证证书进行验证的流程包括:(1)BMC使用证书颁发中心20的公钥(CA_PK)对该接入认证证书进行解密,得到组件的UDS和组件的公钥(UDI_PK)。(2)BMC使用解密出的该组件的公钥对接入请求中携带的签名数据进行解密,得到解密后的随机数(记为第二随机数)。(3)BMC将第二随机数和第一随机数进行比对,若一致,则确定该组件的接入认证证书验证通过;验证通过表示该组件的身份是可信的,且与BMC是兼容的。若不一致,则确定该组件的接入认证证书验证不通过,该组件的身份不可信或与BMC是不兼容的。
需要说明的是,该阶段BMC内还预置有BMC自身的接入认证证书等,图4未示出。
通过上述设计,在组件启动之前,BMC对组件的接入认证证书进行验证,若验证通过,则允许该组件启动,否则,拒绝接入该组件。该方式消减了组件被仿冒篡改带来的安全风险,有效保障了计算设备10在BIOS启动之前,组件的接入安全。
本申请还提供了另一种可信系统,如图5所示,该可信系统包括一个或多个计算设备10(图5中示出3个计算设备10,但本申请对此不做限定)和管理模块30。
计算设备10可以是图1中的计算设备10,此处不再赘述。图5中的多个计算设备10可以是互相独立的设备,也可以是服务器集群或者分布式系统所包括的多个计算设备10,具体不做限定。
管理模块30,作为计算设备10的上一层,用于对一个或多个计算设备10中的组件(如BMC)的身份进行验证。该管理模块30可以是软件模块,或硬件模块,或软件模块和硬件模块的组合。示例性地,管理模块30可以位于图5所示的任一台计算设备10中,也可以位于是计算设备10之外的一台独立服务器中。
如下结合图6,以本申请实施例提供的另一种接入认证方法应用于图5所示的系统架构为例,对该方法的流程进行详细介绍。
图6为本申请实施例提供的另一种接入认证方法的流程示意图,该方法可以由图5中管理模块30和计算设备10执行,如图6所示,该方法包括如下步骤:
步骤600,计算设备10的BMC和网卡分别上电。
为便于说明,将网卡记为计算设备10的第一组件,除网卡之外的其余任一组件记为计算设备10的第二组件。
其中,BMC上电之后还可以执行自检,参见步骤201的相关描述,此处不再赘述。
步骤601,BMC向管理模块30发送接入请求。对应的,管理模块30接收来自计算设备10的接入请求。
值得注意的是,如果管理模块30位于计算设备10之外的一台设备上,则实际上该接入请求为计算设备10的网卡发送给管理模块30的,因此,该方法中,在对网卡进行接入认证之前,先将该网卡上电。如果计算设备10在该步骤中不需要使用网卡,则在步骤600中可以不为网卡上电。
步骤602,管理模块30对BMC发送认证请求。对应的,BMC接收该管理模块发送的认证请求。该认证请求用于请求对BMC进行接入验证,该认证请求包括管理模块30生成的随机数(记为第三随机数)。
步骤603,BMC使用BMC自身的私钥对该第三随机数进行签名,得到签名数据。
步骤604,BMC将该签名数据和BMC的接入认证证书发送给管理模块30。对应的,管理模块30接收来自BMC的签名数据和BMC接入认证证书。
值得注意的是,BMC的接入认证证书和BMC的私钥也是预置在BMC芯片中的,其中,BMC的公私钥对的生成方式、以及BMC的接入认证证书的生成方式,与组件相同,请参见图3的介绍,此处不再赘述。
步骤605,管理模块30对BMC的接入认证证书进行验证,若验证通过,则执行步骤606;否则,执行步骤609。
步骤606,管理模块30向BMC发送接入响应。对应的,BMC接收管理节点发送的接入响应。该接入响应用于触发BMC进行下一步处理(步骤607)。
步骤607,BMC使能第二组件上电。
步骤608,跳转至执行步骤202。
值得注意的是,在对组件进行接入认证时,BMC除了对第二组件进行接入认证,还会对第一组件,即网卡进行接入认证,以检测网卡的身份是否可信,消减网卡被仿冒篡改的风险。后续流程参见图2或图3的相关介绍,此处不再赘述。
步骤609,管理模块30拒绝该BMC接入。
步骤605、步骤606、步骤609请分别参见步骤204(或步骤405)、步骤205、步骤207的相关介绍,此处不再赘述。
通过上述设计,管理模块30对BMC的接入认证证书进行验证,消减BMC被仿冒篡改带来的安全风险,保障BMC的接入安全,进一步提高计算设备的可靠性。
基于与方法实施例同一发明构思,本申请实施例还提供了一种组件认证装置,该装置用于执行上述图2、图3、图4、或图6方法实施例中计算设备10中的BMC执行的方法。如图7所示,该装置700包括发送模块701、处理模块702和接收模块703;具体地,在装置700中,各模块之间通过通信通路建立连接。
发送模块701,用于在计算设备10上电后,向计算设备10所包含的其中一个组件发送第一认证请求,第一认证请求用于发起对组件进行接入认证;具体实现方式请参见图2中的步骤202的描述,或图4中的步骤402的描述,此处不再赘述。
接收模块703,用于接收组件发送的第一接入请求,第一接入请求包括组件的接入认证证书;具体实现方式请参见图2中的步骤203的描述,或图4中的步骤404的描述,此处不再赘述。
处理模块702,用于在组件的接入认证证书验证通过后,通过发送模块701向组件发送第一接入响应,第一接入响应用于触发组件启动;或者,当接入认证证书未验证通过时,拒绝接入组件。具体实现方式请参见图2中的步骤205的描述,此处不再赘述。
作为一种可能的实现方式,发送模块701还用于:向管理模块发送第二接入请求以及装置700的接入认证证书;具体实现方式请参见图6中的步骤601至步骤604的描述,此处不再赘述。
接收模块703,还用于接收管理模块发送的第二接入响应,第二接入响应用于触发装置700对组件进行接入认证,第二接入响应为管理模块在装置700的接入认证证书验证通过后发送给装置700的。具体实现方式请参见图6中的步骤605、步骤606的描述,此处不再赘述。
作为一种可能的实现方式,处理模块702在拒绝接入组件时,具体用于执行下列中的一项或多项:对组件进行告警;禁止组件启动;将组件下电。具体实现方式请参见图2中的步骤207的描述,此处不再赘述。
作为一种可能的实现方式,第一认证请求包括所述处理模块702生成的第一随机数;第一接入请求还包括签名数据,签名数据是使用组件的私钥对第一随机数进行签名得到的;在接收模块703接收组件发送的第一接入请求之后,处理模块702还用于:获取组件的公钥以及第二随机数;其中,组件的公钥为处理模块702使用证书颁发中心CA的公钥对组件的接入认证证书进行解密后得到的;第二随机数为处理模块702使用组件的公钥对签名数据进行解密后得到的;若第二随机数与第一随机数一致,则确定接入认证证书验证通过;否则,确定接入认证证书未验证通过。具体实现方式请参见图4中的步骤405的描述,此处不再赘述。
作为一种可能的实现方式,组件的接入认证证书为出厂前预置于组件中的;其中,组件的接入认证证书是使用CA的私钥对组件的信息进行签名得到的,组件的信息包括组件的公钥和组件标识;装置700的接入认证证书和CA的公钥为出厂前预置于装置700中的。具体实现方式请参见图3的相关描述,此处不再赘述。
作为一种可能的实现方式,组件的公钥、组件的私钥、组件的组件标识为出厂前预置于组件中的,组件标识为组件从CA获取的;组件的公钥、组件的私钥均是由组件标识派生的。具体实现方式请参见图3的相关描述,此处不再赘述。
基于与方法实施例同一发明构思,本申请实施例还提供了一种组件认证装置,该装置用于执行上述图2、图3、图4、或图6方法实施例中计算设备10中的组件执行的方法。如图8所示,该装置800包括接收模块801、发送模块802;具体地,在装置800中,各模块之间通过通信通路建立连接。
接收模块801,在计算设备10上电后,用于接收计算设备10中的BMC发送的第一认证请求,第一认证请求用于发起对装置800进行接入认证;具体实现方式请参见图2中步骤202的描述,此处不再赘述。
发送模块802,用于向BMC发送第一接入请求,第一接入请求包括装置800的接入认证证书;具体实现方式请参见图2中步骤203的描述,此处不再赘述。
接收模块801,还用于接收BMC发送的第一接入响应,第一接入响应用于触发装置800启动;第一接入响应为在装置800的接入认证证书验证通过后,BMC发送给装置800的;具体实现方式请参见图2中步骤205的描述,此处不再赘述。或者,当装置800的接入认证证书未验证通过,装置800被BMC拒绝接入。具体实现方式请参见图2中步骤207的描述,此处不再赘述。
作为一种可能的实现方式,装置800的接入认证证书为出厂前预置于装置800中的;其中,装置800的接入认证证书是使用证书颁发中心CA的私钥对装置800的信息进行签名得到的,装置800的信息包括装置800的公钥和装置800的唯一设备标识(UDS)。
作为一种可能的实现方式,装置800的公钥、装置800的私钥、装置800的设备标识为出厂前预置于装置800中的,装置800的设备标识为装置800从CA获取的;装置800的公钥、装置800的私钥均是由装置800的设备标识派生的。
作为一种可能的实现方式,装置800包括计算组件、存储组件、IO组件、加速组件、内存扩展组件。
参阅图9所示,为本申请提供的一种组件认证装置的示意图,该装置可以是上述实施例中计算设备10的BMC(或组件认证装置700)或组件(或组件认证装置800)。该装置900包括:处理器901。可选的,装置900还可以包括存储器902、通信接口903和/或通信线路904。其中,通信接口903、处理器901以及存储器902可以通过通信线路904相互连接;通信线路904可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述通信线路904可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器901可以是一个CPU,微处理器,ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。
通信接口903,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN),有线接入网等。
存储器902可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于承载或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路904与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器902用于存储执行本申请方案的计算机执行指令,并由处理器901来控制执行。处理器901用于执行存储器902中存储的计算机执行指令,从而实现本申请上述实施例提供的数据传输方法。
本申请实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行上述相关方法步骤以实现上述实施例中的计算设备10所执行的方法,或实现上述实施例中的计算设备10中的BMC所执行的方法,或实现上述实施例中的计算设备10中的组件所执行的方法,参见图2、图3、图4、或图6各步骤的描述,此处不再赘述。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中计算设备10所执行的方法,或实现上述实施例中的计算设备10中的BMC所执行的方法,或实现上述实施例中的计算设备10中的组件所执行的方法,参见图2、图3、图4、或图6各步骤的描述,此处不再赘述。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和供电电路;其中,供电电路用于为处理器运行提供电能,当装置运行时,处理器可执行计算机执行指令,以使芯片执行上述各方法实施例中的计算设备10所执行的方法,或实现上述实施例中的计算设备10中的BMC所执行的方法,或实现上述实施例中的计算设备10中的组件所执行的方法,参见图2、图3、图4、或图6各步骤的描述,此处不再赘述。
其中,本申请实施例提供的计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的计算设备10所执行的方法,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。
Claims (28)
1.一种组件认证方法,其特征在于,所述计算机包括基板管理控制器BMC、多个组件,所述方法包括:
在所述计算机上电后,针对其中一个组件,所述BMC向所述组件发送第一认证请求,所述第一认证请求用于发起对所述组件进行接入认证;
所述组件向所述BMC发送第一接入请求,所述第一接入请求包括所述组件的接入认证证书;
在所述组件的接入认证证书验证通过后,所述BMC向所述组件发送第一接入响应,所述第一接入响应用于触发所述组件启动;或者,若所述接入认证证书未验证通过,所述BMC拒绝接入所述组件。
2.如权利要求1所述的方法,其特征在于,所述BMC向所述组件发送第一接入请求之前,还包括:
所述BMC向管理模块发送第二接入请求以及所述BMC的接入认证证书;
在所述BMC的接入认证证书验证通过后,所述管理模块向所述BMC发送第二接入响应,所述第二接入响应用于触发所述BMC对所述组件进行接入认证。
3.如权利要求1或2所述的方法,其特征在于,所述BMC拒绝接入所述组件,包括下列中的一项或多项:
所述BMC对所述组件进行告警;
所述BMC禁止所述组件启动;
所述BMC将所述组件下电。
4.如权利要求1-3任一项所述的方法,其特征在于,所述组件包括计算组件、存储组件、IO组件、加速组件、内存扩展组件。
5.如权利要求4所述的方法,其特征在于,所述BMC向所述组件发送第一接入响应之后,还包括:
所述组件为所述计算组件,所述组件加载并运行基本输入输出系统BIOS文件;或者
所述组件为存储组件、IO组件、加速组件、内存扩展组件中的其中一种组件,所述组件加载并运行固件文件。
6.如权利要求1-5任一项所述的方法,其特征在于,所述第一认证请求包括所述BMC生成的第一随机数;所述第一接入请求还包括签名数据,所述签名数据是使用所述组件的私钥对所述第一随机数进行签名得到的;
所述组件向所述BMC发送第一接入请求之后,还包括:
所述BMC基于所述第一接入请求获取所述组件的公钥以及第二随机数;其中,所述组件的公钥为所述BMC使用证书颁发中心CA的公钥对所述组件的接入认证证书进行解密后得到的;所述第二随机数为所述BMC使用所述组件的公钥对所述签名数据进行解密后得到的;
若所述第二随机数与所述第一随机数一致,则确定所述接入认证证书验证通过;否则,确定所述接入认证证书未验证通过。
7.如权利要求6所述的方法,其特征在于,所述组件的接入认证证书为出厂前预置于所述组件中的;其中,所述组件的接入认证证书是使用所述CA的私钥对所述组件的信息进行签名得到的,所述组件的信息包括所述组件的公钥和组件标识;
所述BMC的接入认证证书和所述CA的公钥为出厂前预置于所述BMC中的。
8.如权利要求7所述的方法,其特征在于,所述组件的公钥、所述组件的私钥、所述组件的组件标识为出厂前预置于所述组件中的,所述组件标识为所述组件从所述CA获取的;所述组件的公钥、所述组件的私钥均是由所述组件标识派生的。
9.一种组件认证方法,其特征在于,所述方法包括:
在计算机上电后,所述计算机的基板管理控制器BMC向所述计算机所包含的其中一个组件发送第一认证请求,所述第一认证请求用于发起对所述组件进行接入认证;
所述BMC接收所述组件发送的第一接入请求,所述第一接入请求包括所述组件的接入认证证书;
在所述组件的接入认证证书验证通过后,所述BMC向所述组件发送第一接入响应,所述第一接入响应用于触发所述组件启动;或者,若所述接入认证证书未验证通过,所述BMC拒绝接入所述组件。
10.如权利要求9所述的方法,其特征在于,所述BMC向所述组件发送第一接入请求之前,还包括:
所述BMC向管理模块发送第二接入请求以及所述BMC的接入认证证书;
所述BMC接收所述管理模块发送的第二接入响应,所述第二接入响应用于触发所述BMC对所述组件进行接入认证,所述第二接入响应为所述管理模块在所述BMC的接入认证证书验证通过后发送给所述BMC的。
11.如权利要求9或10所述的方法,其特征在于,所述BMC拒绝接入所述组件,包括下列中的一项或多项:
所述BMC对所述组件进行告警;
所述BMC禁止所述组件启动;
所述BMC将所述组件下电。
12.如权利要求9-11任一项所述的方法,其特征在于,所述第一认证请求包括所述BMC生成的第一随机数;所述第一接入请求还包括签名数据,所述签名数据是使用所述组件的私钥对所述第一随机数进行签名得到的;
所述BMC接收所述组件发送的第一接入请求之后,还包括:
所述BMC基于所述第一接入请求获取所述组件的公钥以及第二随机数;其中,所述组件的公钥为所述BMC使用证书颁发中心CA的公钥对所述组件的接入认证证书进行解密后得到的;所述第二随机数为所述BMC使用所述组件的公钥对所述签名数据进行解密后得到的;
若所述第二随机数与所述第一随机数一致,则确定所述接入认证证书验证通过;否则,确定所述接入认证证书未验证通过。
13.如权利要求12所述的方法,其特征在于,所述组件的接入认证证书为出厂前预置于所述组件中的;其中,所述组件的接入认证证书是使用所述CA的私钥对所述组件的信息进行签名得到的,所述组件的信息包括所述组件的公钥和组件标识;
所述BMC的接入认证证书和所述CA的公钥为出厂前预置于所述BMC中的。
14.一种组件认证方法,其特征在于,所述方法包括:
在计算机上电后,所述计算机内的其中一个组件接收所述计算机的基板管理控制器BMC发送的第一认证请求,所述第一认证请求用于发起对所述组件进行接入认证;
所述组件向所述BMC发送第一接入请求,所述第一接入请求包括所述组件的接入认证证书;
所述组件接收所述BMC发送的第一接入响应,所述第一接入响应用于触发所述组件启动;所述第一接入响应为在所述组件的接入认证证书验证通过后,所述BMC发送给所述组件的;或者,当所述组件的接入认证证书未验证通过,所述组件被所述BMC拒绝接入。
15.如权利要求14所述的方法,其特征在于,所述组件的接入认证证书为出厂前预置于所述组件中的;其中,所述组件的接入认证证书是使用证书颁发中心CA的私钥对所述组件的信息进行签名得到的,所述组件的信息包括所述组件的公钥和组件标识。
16.如权利要求15所述的方法,其特征在于,所述组件的公钥、所述组件的私钥、所述组件的组件标识为出厂前预置于所述组件中的,所述组件标识为所述组件从所述CA获取的;所述组件的公钥、所述组件的私钥均是由所述组件标识派生的。
17.如权利要求14-16任一项所述的方法,其特征在于,所述组件包括计算组件、存储组件、IO组件、加速组件、内存扩展组件。
18.一种计算机中的组件认证装置,其特征在于,所述装置包括:
发送模块,用于在所述计算机上电后,向所述计算机所包含的其中一个组件发送第一认证请求,所述第一认证请求用于发起对所述组件进行接入认证;
接收模块,用于接收所述组件发送的第一接入请求,所述第一接入请求包括所述组件的接入认证证书;
处理模块,用于在所述组件的接入认证证书验证通过后,通过所述发送模块向所述组件发送第一接入响应,所述第一接入响应用于触发所述组件启动;或者,当所述接入认证证书未验证通过时,拒绝接入所述组件。
19.如权利要求18所述的装置,其特征在于,所述发送模块还用于:向管理模块发送第二接入请求以及所述BMC的接入认证证书;
所述接收模块,还用于接收所述管理模块发送的第二接入响应,所述第二接入响应用于触发所述BMC对所述组件进行接入认证,所述第二接入响应为所述管理模块在所述BMC的接入认证证书验证通过后发送给所述BMC的。
20.如权利要求18或19所述的装置,其特征在于,所述处理模块在拒绝接入所述组件时,具体用于执行下列中的一项或多项:对所述组件进行告警;禁止所述组件启动;将所述组件下电。
21.如权利要求18-20任一项所述的装置,其特征在于,所述第一认证请求包括所述BMC生成的第一随机数;所述第一接入请求还包括签名数据,所述签名数据是使用所述组件的私钥对所述第一随机数进行签名得到的;
在所述接收模块接收所述组件发送的第一接入请求之后,所述处理模块还用于:获取所述组件的公钥以及第二随机数;其中,所述组件的公钥为所述BMC使用证书颁发中心CA的公钥对所述组件的接入认证证书进行解密后得到的;所述第二随机数为所述BMC使用所述组件的公钥对所述签名数据进行解密后得到的;若所述第二随机数与所述第一随机数一致,则确定所述接入认证证书验证通过;否则,确定所述接入认证证书未验证通过。
22.如权利要求21所述的装置,其特征在于,所述组件的接入认证证书为出厂前预置于所述组件中的;其中,所述组件的接入认证证书是使用所述CA的私钥对所述组件的信息进行签名得到的,所述组件的信息包括所述组件的公钥和组件标识;
所述BMC的接入认证证书和所述CA的公钥为出厂前预置于所述BMC中的。
23.一种计算机中的组件认证装置,其特征在于,所述装置包括:
接收模块,在所述计算机上电后,用于接收所述计算机的基板管理控制器BMC发送的第一认证请求,所述第一认证请求用于发起对所述组件进行接入认证;
发送模块,用于向所述BMC发送第一接入请求,所述第一接入请求包括所述组件的接入认证证书;
所述接收模块,还用于接收所述BMC发送的第一接入响应,所述第一接入响应用于触发所述组件启动;所述第一接入响应为在所述组件的接入认证证书验证通过后,所述BMC发送给所述组件的;或者,当所述组件的接入认证证书未验证通过,所述组件被所述BMC拒绝接入。
24.如权利要求23所述的装置,其特征在于,所述组件的接入认证证书为出厂前预置于所述组件中的;其中,所述组件的接入认证证书是使用证书颁发中心CA的私钥对所述组件的信息进行签名得到的,所述组件的信息包括所述组件的公钥和组件标识。
25.如权利要求24所述的装置,其特征在于,所述组件的公钥、所述组件的私钥、所述组件的组件标识为出厂前预置于所述组件中的,所述组件标识为所述组件从所述CA获取的;所述组件的公钥、所述组件的私钥均是由所述组件标识派生的。
26.如权利要求23-25任一项所述的装置,其特征在于,所述组件包括计算组件、存储组件、IO组件、加速组件、内存扩展组件。
27.一种电子装置,其特征在于,所述装置包括处理器和存储器;
所述存储器,用于存储计算机程序指令;
所述处理器执行调用所述存储器中的计算机程序指令执行如权利要求1至8中任一项所述的方法;或用于执行如权利要求9至13中任一项所述的方法;或用于执行如权利要求14至17中任一项所述的方法。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质被存储设备执行时,所述存储设备执行上述权利要求1至8中任一项所述的方法;或用于执行如权利要求9至13中任一项所述的方法;或用于执行如权利要求14至17中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210188449.XA CN116702114A (zh) | 2022-02-28 | 2022-02-28 | 一种组件认证方法及装置 |
CN202210516283.XA CN115062290A (zh) | 2022-02-28 | 2022-02-28 | 一种组件认证方法及装置 |
PCT/CN2023/078458 WO2023160705A1 (zh) | 2022-02-28 | 2023-02-27 | 一种组件认证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210188449.XA CN116702114A (zh) | 2022-02-28 | 2022-02-28 | 一种组件认证方法及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210516283.XA Division CN115062290A (zh) | 2022-02-28 | 2022-02-28 | 一种组件认证方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116702114A true CN116702114A (zh) | 2023-09-05 |
Family
ID=83225962
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210188449.XA Pending CN116702114A (zh) | 2022-02-28 | 2022-02-28 | 一种组件认证方法及装置 |
CN202210516283.XA Pending CN115062290A (zh) | 2022-02-28 | 2022-02-28 | 一种组件认证方法及装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210516283.XA Pending CN115062290A (zh) | 2022-02-28 | 2022-02-28 | 一种组件认证方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN116702114A (zh) |
WO (1) | WO2023160705A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116702114A (zh) * | 2022-02-28 | 2023-09-05 | 华为技术有限公司 | 一种组件认证方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874922B2 (en) * | 2012-01-17 | 2014-10-28 | Dell Products L.P. | Systems and methods for multi-layered authentication/verification of trusted platform updates |
US10034407B2 (en) * | 2016-07-22 | 2018-07-24 | Intel Corporation | Storage sled for a data center |
US11038874B2 (en) * | 2018-06-11 | 2021-06-15 | Dell Products, L.P. | Authentication and authorization of users in an information handling system between baseboard management controller and host operating system users |
US11868474B2 (en) * | 2019-01-08 | 2024-01-09 | Hewlett Packard Enterprise Development Lp | Securing node groups |
CN110798475B (zh) * | 2019-11-05 | 2021-08-03 | 北谷电子有限公司上海分公司 | 一种安全认证方法、装置、设备和存储介质 |
CN111125707A (zh) * | 2019-11-22 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种基于可信密码模块的bmc安全启动方法、系统及设备 |
CN111147259B (zh) * | 2019-12-26 | 2022-01-14 | 华为技术有限公司 | 鉴权方法和设备 |
US11650936B2 (en) * | 2020-05-08 | 2023-05-16 | Hewlett Packard Enterprise Development Lp | Field-replaceable unit (FRU) secure component binding |
CN114024702A (zh) * | 2020-07-17 | 2022-02-08 | 华为技术有限公司 | 信息安全保护的方法以及计算设备 |
CN116702114A (zh) * | 2022-02-28 | 2023-09-05 | 华为技术有限公司 | 一种组件认证方法及装置 |
-
2022
- 2022-02-28 CN CN202210188449.XA patent/CN116702114A/zh active Pending
- 2022-02-28 CN CN202210516283.XA patent/CN115062290A/zh active Pending
-
2023
- 2023-02-27 WO PCT/CN2023/078458 patent/WO2023160705A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN115062290A (zh) | 2022-09-16 |
WO2023160705A1 (zh) | 2023-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11861372B2 (en) | Integrity manifest certificate | |
EP3582129B1 (en) | Technologies for secure hardware and software attestation for trusted i/o | |
US11487852B2 (en) | Blockchain-based license management | |
US20210176056A1 (en) | Chip, Private Key Generation Method, and Trusted Certification Method | |
CN102027480B (zh) | 用于提供系统管理命令的系统和方法 | |
US11106798B2 (en) | Automatically replacing versions of a key database for secure boots | |
US20110093693A1 (en) | Binding a cryptographic module to a platform | |
CN110688660B (zh) | 一种终端安全启动的方法及装置、存储介质 | |
US11868474B2 (en) | Securing node groups | |
US11822669B2 (en) | Systems and methods for importing security credentials for use by an information handling system | |
CN113785548A (zh) | 用于实施数据中心中的有效载荷安全性策略的证明服务 | |
US11977640B2 (en) | Systems and methods for authenticating the identity of an information handling system | |
WO2023160705A1 (zh) | 一种组件认证方法及装置 | |
US11809564B2 (en) | Secure importation of cryptographic credentials to an information handling system | |
CN116702149A (zh) | 一种可信度量方法、服务器以及芯片 | |
JP5806187B2 (ja) | 秘密情報の交換方法およびコンピュータ | |
CN115061826B (zh) | 一种组件通信方法及计算设备 | |
US11822668B2 (en) | Systems and methods for authenticating configurations of an information handling system | |
US11843707B2 (en) | Systems and methods for authenticating hardware of an information handling system | |
CN109583196B (zh) | 一种密钥生成方法 | |
US20240184890A1 (en) | On-demand and secure hardware license-based sku creation for asics | |
EP4304226B1 (en) | Provisioning of security modules | |
WO2023160166A1 (zh) | 一种可信计算方法、芯片以及服务器 | |
CN116226872B (zh) | 安全启动方法、装置及相关器件 | |
US20240303339A1 (en) | System level root of trust (rot) binding and trust establishment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |