CN106528458B - 一种接口控制器、基板管理控制器及安全系统 - Google Patents

一种接口控制器、基板管理控制器及安全系统 Download PDF

Info

Publication number
CN106528458B
CN106528458B CN201610939783.9A CN201610939783A CN106528458B CN 106528458 B CN106528458 B CN 106528458B CN 201610939783 A CN201610939783 A CN 201610939783A CN 106528458 B CN106528458 B CN 106528458B
Authority
CN
China
Prior art keywords
command word
data
processed
processing unit
command
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.)
Active
Application number
CN201610939783.9A
Other languages
English (en)
Other versions
CN106528458A (zh
Inventor
苏振宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Inspur Smart Computing Technology Co Ltd
Original Assignee
Guangdong Inspur Big Data Research Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Inspur Big Data Research Co Ltd filed Critical Guangdong Inspur Big Data Research Co Ltd
Priority to CN201610939783.9A priority Critical patent/CN106528458B/zh
Publication of CN106528458A publication Critical patent/CN106528458A/zh
Application granted granted Critical
Publication of CN106528458B publication Critical patent/CN106528458B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information

Abstract

本发明提供了一种接口控制器、基板管理控制器及安全系统,该接口控制器包括:控制单元、存储单元、命令寄存器;其中,控制单元,接收处理器发来的待处理数据和控制安全处理单元处理待处理数据的命令字,将待处理数据写入到存储单元,将命令字写入到命令寄存器,获取安全处理单元根据命令字对待处理数据进行处理后的处理结果,将处理结果写入到存储单元中;存储单元,保存待处理数据,根据读取待处理数据的命令,向安全处理单元输出待处理数据,并保存处理结果,根据读取处理结果的命令,向处理器输出处理结果;命令寄存器,保存命令字,根据读取命令字的命令,向安全处理单元输出命令字。本方案能够提高使用BMC对服务器进行监控管理安全性。

Description

一种接口控制器、基板管理控制器及安全系统
技术领域
本发明涉及计算机技术领域,特别涉及一种接口控制器、基板管理控制器及安全系统。
背景技术
服务器越来越多的应用在各个领域,用户为了对服务器的健康状态进行监控管理,通常采用BMC(Baseboard Management Controller,基板管理控制器)监控服务器的物理特征。
目前,BMC是独立的管理控制单元,不能和安全处理单元相连,而本身安全控制能力低,用户在使用BMC对服务器进行监控管理时,如果未使用专用网络、采用弱身份认证、密码复杂度低等不安全操作,会使服务器出现安全风险,比如被植入恶意代码,因此,使用BMC对服务器进行监控管理安全性较低。
发明内容
本发明实施例提供了一种接口控制器、基板管理控制器及安全系统。以便于提高使用BMC对服务器进行监控管理安全性。
第一方面,本发明实施例提供了一种接口控制器,该接口控制器包括:
控制单元、存储单元、命令寄存器;其中,
所述控制单元,用于接收BMC的处理器发来的待处理数据和用于控制外部安全处理单元处理所述待处理数据的命令字,将所述待处理数据写入到所述存储单元中,将所述命令字写入到所述命令寄存器中,并且获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果,将所述处理结果写入到所述存储单元中;
所述存储单元,用于保存所述控制单元写入的所述待处理数据,根据所述外部安全处理单元发来的读取所述待处理数据的命令,向所述外部安全处理单元输出所述待处理数据,并且,保存所述控制单元写入的所述处理结果,根据所述处理器发来的读取所述处理结果的命令,向所述处理器输出所述处理结果;
所述命令寄存器,用于保存所述控制单元写入的所述命令字,根据所述外部安全处理单元发来的读取所述命令字的命令,向所述外部安全处理单元输出所述命令字。
优选地,进一步包括:长度寄存器;
所述控制单元,进一步用于确定所述待处理数据的长度值,将所述长度值写入所述长度寄存器中;
所述长度寄存器,用于保存所述控制单元写入的所述长度值,根据所述外部安全处理单元发来的读取所述长度值的命令,向所述外部安全处理单元输出所述长度值,以使所述外部安全处理单元根据所述长度值从所述存储单元读取所述待处理数据。
优选地,
所述接口控制器进一步包括:时钟模块,用于为所述外部安全处理单元提供时钟信号。
优选地,
所述接口控制器进一步包括:复位模块,用于向所述外部安全处理单元输出复位信号,使得所述外部安全处理单元根据所述复位信号复位。
优选地,
所述接口控制器进一步包括:休眠模块,用于向所述外部安全处理单元输出休眠信号,使得所述外部安全处理单元根据所述休眠信号进入休眠模式。
优选地,
所述命令字包括:加密命令字、解密命令字、哈希算法命令字、密钥生成命令字;
当所述命令字为所述加密命令字时,
所述控制单元,在执行所述获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取所述外部安全处理单元根据所述加密命令字对所述待处理数据进行加密处理得到的所述处理结果;
当所述命令字为所述解密命令字时,
所述控制单元,在执行所述获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取所述外部安全处理单元根据所述解密命令字对所述待处理数据进行解密处理得到的所述处理结果;
当所述命令字为所述哈希算法命令字时,
所述控制单元,在执行所述获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取所述外部安全处理单元根据所述哈希算法命令字,利用所述哈希算法命令字对应的哈希算法对所述待处理数据进行哈希运算得到的所述处理结果;
当所述命令字为所述密钥生成命令字时,
所述控制单元,在执行所述获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取所述外部安全处理单元根据所述密钥生成命令字,利用所述待处理数据生成的密钥。
第二方面,本发明实施例提供了一种基板管理控制器,该基板管理控制器包括:如第一方面任一所述的接口控制器和处理器;
所述处理器与所述接口控制器相连;
所述处理器,用于向所述接口控制器中的控制单元发送待处理数据和用于控制外部安全处理单元处理所述待处理数据的命令字。
优选地,
所述处理器与所述接口控制器通过AMBA(Advanced Microcontroller BusArchitecture,片上总线)总线相连。
第三方面,本发明实施例提供了一种安全系统,该安全系统包括:
如第二方面所述的基板管理控制器和安全处理单元;
所述安全处理单元与所述基板管理控制器中的接口控制器相连;
所述安全处理单元,用于从所述接口控制器中的存储单元中读取待处理数据,从所述接口控制器中的命令寄存器中读取用于控制所述安全处理单元处理所述待处理数据的命令字,根据所述命令字对所述待处理数据进行处理,生成处理结果,将所述输出给所述接口控制器中的控制单元。
优选地,
所述命令字包括:加密命令字、解密命令字、哈希算法命令字、密钥生成命令字;
当所述命令字为所述加密命令字时,
所述外部安全处理单元,在执行所述根据所述命令字对所述待处理数据进行处理,生成处理结果时,用于根据所述加密命令字对所述待处理数据进行加密处理,生成所述处理结果;
当所述命令字为所述解密命令字时,
所述外部安全处理单元,在执行所述根据所述命令字对所述待处理数据进行处理,生成处理结果时,用于根据所述解密命令字对所述待处理数据进行解密处理,生成所述处理结果;
当所述命令字为所述哈希算法命令字时,
所述外部安全处理单元,在执行所述根据所述命令字对所述待处理数据进行处理,生成处理结果时,用于根据所述哈希算法命令字,利用所述哈希算法命令字对应的哈希算法对所述待处理数据进行哈希运算,生成所述处理结果;
当所述命令字为所述密钥生成命令字时,
所述外部安全处理单元,在执行所述根据所述命令字对所述待处理数据进行处理,生成处理结果时,用于根据所述密钥生成命令字,利用所述待处理数据生成密钥。
优选地,
在所述接口控制器包括长度寄存器时,
所述安全处理单元,用于读取所述长度寄存器中保存的所述待处理数据的长度值,根据所述长度值从所述存储单元读取所述待处理数据。
优选地,
所述安全处理单元包括:TCM(Trusted Cryptography Module,可信密码模块)模块。
可见,本发明实施例提供了一种接口控制器、基板管理控制器及安全系统,该接口控制器包括控制单元、命令寄存器、存储单元;其中,所述控制单元,用于接收BMC的处理器发来的待处理数据和用于控制外部安全处理单元处理所述待处理数据的命令字,将所述待处理数据写入到所述存储单元中,将所述命令字写入到所述命令寄存器中,并且获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果,将所述处理结果写入到所述存储单元中;所述存储单元,用于保存所述控制单元写入的所述待处理数据,根据所述外部安全处理单元发来的读取所述待处理数据的命令,向所述外部安全处理单元输出所述待处理数据,并且,保存所述控制单元写入的所述处理结果,根据所述处理器发来的读取所述处理结果的命令,向所述处理器输出所述处理结果;所述命令寄存器,用于保存所述控制单元写入的所述命令字,根据所述外部安全处理单元发来的读取所述命令字的命令,向所述外部安全处理单元输出所述命令字。本方案提供的接口控制器,将BMC的处理器与外部的安全处理单元连接到了一起,通过控制单元接收BMC的处理器发来的待处理数据和待处理数据的命令字,并将待处理数据和及其对应的命令字发送给外部安全处理单元,以供外部处理单元进行相应的安全处理。并接收外部单元的安全处理结果,且根据处理器发来的读取指令将处理结果输出给处理器,由于通过接口控制器将处理器提供的数据在外部安全处理单元进行了安全处理,因此提高使用BMC对服务器进行监控管理安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种接口控制器的结构示意图;
图2是本发明另一个实施例提供的一种接口控制器的结构示意图;
图3是本发明一个实施例提供的一种基板管理控制器的结构示意图;
图4是本发明一个实施例提供的一种安全系统的结构示意图;
图5是本发明另一个实施例提供的一种安全系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种接口控制器,该接口控制器包括:
控制单元101、存储单元102、命令寄存器103;其中,
所述控制单元101,用于接收BMC的处理器发来的待处理数据和用于控制外部安全处理单元处理所述待处理数据的命令字,将所述待处理数据写入到所述存储单元102中,将所述命令字写入到所述命令寄存器103中,并且获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果,将所述处理结果写入到所述存储单元102中;
所述存储单元102,用于保存所述控制单元101写入的所述待处理数据,根据所述外部安全处理单元发来的读取所述待处理数据的命令,向所述外部安全处理单元输出所述待处理数据,并且,保存所述控制单元101写入的所述处理结果,根据所述处理器发来的读取所述处理结果的命令,向所述处理器输出所述处理结果;
所述命令寄存器103,用于保存所述控制单元101写入的所述命令字,根据所述外部安全处理单元发来的读取所述命令字的命令,向所述外部安全处理单元输出所述命令字。
根据上述实施例,该接口控制器包括控制单元、命令寄存器、存储单元;其中,所述控制单元,用于接收BMC的处理器发来的待处理数据和用于控制外部安全处理单元处理所述待处理数据的命令字,将所述待处理数据写入到所述存储单元中,将所述命令字写入到所述命令寄存器中,并且获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果,将所述处理结果写入到所述存储单元中;所述存储单元,用于保存所述控制单元写入的所述待处理数据,根据所述外部安全处理单元发来的读取所述待处理数据的命令,向所述外部安全处理单元输出所述待处理数据,并且,保存所述控制单元写入的所述处理结果,根据所述处理器发来的读取所述处理结果的命令,向所述处理器输出所述处理结果;所述命令寄存器,用于保存所述控制单元写入的所述命令字,根据所述外部安全处理单元发来的读取所述命令字的命令,向所述外部安全处理单元输出所述命令字。本方案提供的接口控制器,将BMC的处理器与外部的安全处理单元连接到了一起,通过控制单元接收BMC的处理器发来的待处理数据和待处理数据的命令字,并将待处理数据和及其对应的命令字发送给外部安全处理单元,以供外部处理单元进行相应的安全处理。并接收外部单元的安全处理结果,且根据处理器发来的读取指令将处理结果输出给处理器,由于通过接口控制器将处理器提供的数据在外部安全处理单元进行了安全处理,因此提高使用BMC对服务器进行监控管理安全性。
在本发明一个实施例中,如图2所示,为了保证外部安全处理单元可以快速准确的读取存储单元中的待处理数据,所述接口控制器,还可以进一步包括长度寄存器201。
所述控制单元101,进一步用于确定所述待处理数据的长度值,将所述长度值写入所述长度寄存器201中;
所述长度寄存器201,用于保存所述控制单元101写入的所述长度值,根据所述外部安全处理单元发来的读取所述长度值的命令,向所述外部安全处理单元输出所述长度值,以使所述外部安全处理单元根据所述长度值从所述存储单元102读取所述待处理数据。
长度寄存器的形式可以根据具体的业务要求来确定,比如可以选用长度寄存器的长度为32bit。长度寄存器用于存放控制单元写入的待处理数据的长度值,这个长度值是待处理数据的总长度值,单位为字节,比如8字节。当外部安全处理单元发来的读取所述长度值的命令,将长度值8字节输出至外部安全处理单元,以使外部安全处理单元根据长度值8字节从存储单元中读取相应的待处理数据。
根据上述实施例,通过控制单元,确定待处理数据的长度值,并将长度值写入长度寄存器中,长度寄存器根据外部安全处理单元发来的读取长度值的命令,向外部安全处理单元输出长度值,以使外部安全处理单元根据长度值从存储单元读取对应的待处理数据。由于外部安全处理单元是根据获取的长度值来读取对应长度值的待处理数据,因此有效地提高了外部安全处理单元读取存储单元中的待处理数据的速度和准确性。
在本发明一个实施例中,为了BMC的处理器和外部安全处理单元时钟同步,所述接口控制器可以进一步包括时钟模块。
所述时钟模块,用于为所述外部安全处理单元提供时钟信号;
由于时钟直接影响着外部安全处理单元中记录文件的安全、错误检查和复原、存取安全与确认等处理过程,因此要做到时钟同步,时钟模块在外部安全处理单元提供时钟信息的时候,检测到高电平时有效,在上升沿被采样。
根据上述实施例,在所述接口控制器进一步包括时钟模块,利用时钟模块为外部安全处理单元提供时钟信息,以使BMC的处理器和外部安全处理单元时钟同步。
在本发明一个实施例中,当外部安全处理单元处于异常工作状态时,使得安全处理单元在不断电的情况下,可以重新启动,所述接口控制器可以进一步包括复位模块。
所述复位模块,用于向所述外部安全处理单元输出复位信号,使得所述外部安全处理单元根据所述复位信号复位;
当外部安全处理单元,处于异常工作状态,比如死机,不能进行安全处理时,可以通过复位模块向外部安全处理单元输出复位信号,使得外部安全处理单元根据复位信号进行复位。
根据上述实施例,在所述接口控制器进一步包括复位模块,利用复位模块向外部安全处理单元输出复位信号,使得外部安全处理单元根据复位信号进行复位处理,可以在外部安全处理单元处于异常工作状态时,使得安全处理单元在不断电的情况下,可以重新启动。
在本发明一个实施例中,在不需要外部安全处理单元进行安全处理时,所述接口控制器可以进一步包括休眠模块。
所述休眠模块,用于向所述外部安全处理单元输出休眠信号,使得所述外部安全处理单元根据所述休眠信号进入休眠模式。
当不需要外部安全处理单元进行安全处理的时候,可以通过休眠模块向外部安全处理单元输出休眠信号,使得外部安全处理单元根据休眠信号进入休眠模型,当外部处理单元切换到休眠后,自动将内存中的数据全部转存到一个休眠文件中,然后切断供电。这样当恢复的时候,从休眠文件的内容直接读入内存,并恢复到休眠之前的状态。
根据上述实施例,在所述接口控制器进一步包括休眠模块,利用休眠模块向外部安全处理单元输出休眠信号,使得外部安全处理单元根据休眠信号进入休眠模式。
在本发明一个实施例中,所述控制单元接收BMC的处理器发来用于控制外部安全处理单元处理所述待处理数据的命令字包括:加密命令字、解密命令字、哈希算法命令字、密钥生成命令字。
当所述命令字为所述加密命令字时,
所述控制单元,在执行所述获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取所述外部安全处理单元根据所述加密命令字对所述待处理数据进行加密处理得到的所述处理结果;
当所述命令字为所述解密命令字时,
所述控制单元,在执行所述获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取所述外部安全处理单元根据所述解密命令字对所述待处理数据进行解密处理得到的所述处理结果;
当所述命令字为所述哈希算法命令字时,
所述控制单元,在执行所述获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取所述外部安全处理单元根据所述哈希算法命令字,利用所述哈希算法命令字对应的哈希算法对所述待处理数据进行哈希运算得到的所述处理结果;
当所述命令字为所述密钥生成命令字时,
所述控制单元,在执行所述获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取所述外部安全处理单元根据所述密钥生成命令字,利用所述待处理数据生成的密钥。
其中,加密命令字、解密命令字、哈希算法命令字和密钥生成命令字可以根据具体的业务要求来确定具体的命令字,比如加密命令字可以是sha1,解密命令字可以是openssl,哈希算法命令字可以是hash,密钥生成命令字git。
根据上述实施例,所述控制单元接收BMC的处理器发来用于控制外部安全处理单元处理所述待处理数据的命令字包括:加密命令字、解密命令字、哈希算法命令字、密钥生成命令字。可以根据具体的业务要求来选择具体的命令字的形式。
如图3所示,本发明实施例提供了一种基板管理控制器,该基板管理控制器包括:所述的接口控制器301和处理器302;
所述处理器302与所述接口控制器301相连;
所述处理器302,用于向所述接口控制器301中的控制单元发送待处理数据和用于控制外部安全处理单元处理所述待处理数据的命令字。
根据上述实施例,将处理器与接口控制器相连,处理器向接口控制器发送待处理数据和用于控制外部安全处理单元处理待处理数据的命令字,以使接口控制可以外部安全处理单元提供待处理数据及对待处理数据进行安全处理的命令字,因此提高使用BMC对服务器进行监控管理安全性。
在本发明一个实施例中,由于处理器与接口控制器相连并进行数据传输,它们之间可以通过AMBA总线相连。
如图4所示,本发明实施例提供了一种安全系统,该安全系统包括:所述的基板管理控制器401和安全处理单元402;
所述安全处理单元402与所述基板管理控制器401中的接口控制器4011相连;
所述安全处理单元402,用于从所述接口控制器4011中的存储单元中读取待处理数据,从所述接口控制器4011中的命令寄存器中读取用于控制所述安全处理单元处理所述待处理数据的命令字,根据所述命令字对所述待处理数据进行处理,生成处理结果,将所述输出给所述接口控制器4011中的控制单元。
根据上述实施例,将安全处理单元与基板管理控制器中的接口控制器相连;安全处理单元,从接口控制器中的存储单元中读取待处理数据,从接口控制器中的命令寄存器中读取用于控制安全处理单元处理待处理数据的命令字,根据命令字对所述待处理数据进行处理,生成处理结果,将所述输出给所述接口控制器中的控制单元。可以看出通过基板管理控制器中接口控制器将待处理数据及待处理数据对应的命令字传输至安全处理单元,安全处理单元根据命令字对待处理数据进行相应的安全处理,并将处理后的数据又通过接口控制器返回,因此提高使用BMC对服务器进行监控管理安全性。
在本发明一个实施例中,用于控制安全处理单元处理待处理数据的命令字包括所述命令字包括:加密命令字、解密命令字、哈希算法命令字、密钥生成命令字;
当所述命令字为所述加密命令字时,
所述外部安全处理单元,在执行所述根据所述命令字对所述待处理数据进行处理,生成处理结果时,用于根据所述加密命令字对所述待处理数据进行加密处理,生成所述处理结果;
当所述命令字为所述解密命令字时,
所述外部安全处理单元,在执行所述根据所述命令字对所述待处理数据进行处理,生成处理结果时,用于根据所述解密命令字对所述待处理数据进行解密处理,生成所述处理结果;
当所述命令字为所述哈希算法命令字时,
所述外部安全处理单元,在执行所述根据所述命令字对所述待处理数据进行处理,生成处理结果时,用于根据所述哈希算法命令字,利用所述哈希算法命令字对应的哈希算法对所述待处理数据进行哈希运算,生成所述处理结果;
当所述命令字为所述密钥生成命令字时,
所述外部安全处理单元,在执行所述根据所述命令字对所述待处理数据进行处理,生成处理结果时,用于根据所述密钥生成命令字,利用所述待处理数据生成密钥。
在本发明一个实施例中,在所述接口控制器包括长度寄存器时,所述安全处理单元,用于读取所述长度寄存器中保存的所述待处理数据的长度值,根据所述长度值从所述存储单元读取所述待处理数据。
在本发明一个实施例中,所述安全处理单元包括可信密码模块TCM模块。
下面以安全系统中包括BMC和安全处理单元为TCM模块,其中,BMC中包括接口控制器和ARM处理器为例,对本发明实施例提供的安全系统进行说明,如图5所示,该安全系统可以包括:
BMC50和TCM模块51,其中,BMC50包括ARM处理器501和接口控制器502。
ARM处理器501,用于向所述接口控制器502中的控制单元5021发送待处理数据和用于控制TCM模块51处理所述待处理数据的命令字。
TCM模块51与BMC50中的接口控制器502相连,包括:利用AMBA总线503将ARM处理器501和接口控制器502相连,通过AMBA总线将ARM处理器提供的待处理数据和用于控制TCM模块处理所述待处理数据的命令字传输给接口控制器502。利用LCLK信号线,将接口控制器的clk引脚与TCM模块的clk引脚连接。利用nLFRAME信号线,将接口控制器的nLFRAME引脚与TCM模块的frame引脚连接。利用nLRESET信号线,将接口控制器的nLRESET引脚与TCM模块的reset引脚连接。利用LAD[3..0]信号线,将接口控制器的LAD[3..0]引脚与TCM模块的DATA[3..0]引脚连接。利用nLPCPD信号线,将接口控制器的nLPCPD引脚与TCM模块的PD引脚连接。利用IRQ信号线,将接口控制器的IRQ引脚与TCM模块的Interrupt引脚连接。
接口控制器502,包括:控制单元5021、存储单元5022、命令寄存器5023、长度寄存器5024、时钟模块5025、复位模块5026、休眠模块5027和控制寄存器5028。
所述控制单元5021,用于接收BMC50中的ARM处理器501发来的待处理数据和用于控制TCM模块51处理所述待处理数据的命令字,将所述待处理数据写入到所述存储单元5022中,将所述命令字写入到所述命令寄存器5023中,并确定所述待处理数据的长度值,将所述长度值写入所述长度寄存器5024中。
所述控制单元5021,进一步用于在所述接口控制器502处于开始工作状态时,将所述控制寄存器5028的第1位设置为1,使得所述接口控制器502进入数据传输状态,触发所述TCM模块51读取所述待处理数据,当第1位设置为0时,使得所述接口控制器停止数据传输状态。
所述控制单元5021,进一步用于在所述接口控制器502处于数据传输状态时,将所述控制寄存器5028的第2位设置为1,使得所述TCM模块51进入运算状态,触发所述TCM模块51对所述待处理数据进行预算。当第2位设置为0时,所述TCM模块51运算未完成。
所述控制单元5021,进一步用于在所述TCM模块51处于运算状态时,将所述控制寄存器5028的第3位设置为1,使得所述TCM模块51进入运算完成状态,触发所述TCM模块51生成处理结果,当第3位设置为0,所述TCM模块处于查询状态。
其中,所述命令字包括:加密命令字、解密命令字、哈希算法命令字、密钥生成命令字。具体包括的类型可以根据具体的业务要求来确定,比如加密命令字可以是sha1,解密命令字可以是openssl,哈希算法命令字可以是hash,密钥生成命令字git。
当所述命令字为所述加密命令字时,
所述控制单元5021,在执行所述获取TCM模块根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取TCM模块根据所述加密命令字对所述待处理数据进行加密处理得到的所述处理结果;
当所述命令字为所述解密命令字时,
所述控制单元5021,在执行所述获取TCM模块根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取TCM模块根据所述解密命令字对所述待处理数据进行解密处理得到的所述处理结果;
当所述命令字为所述哈希算法命令字时,
所述控制单元5021,在执行所述获取TCM模块根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取TCM模块根据所述哈希算法命令字,利用所述哈希算法命令字对应的哈希算法对所述待处理数据进行哈希运算得到的所述处理结果;
当所述命令字为所述密钥生成命令字时,
所述控制单元5021,在执行所述获取TCM模块根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取TCM模块根据所述密钥生成命令字,利用所述待处理数据生成的密钥。
在本实施例中,所述命令字为哈希算法命令字hash,那么控制单元通过AMBA总线接收ARM处理器发来的待处理数据和命令字哈希算法命令字hash,并将待处理数据写入到存储单元中,将哈希算法命令字hash写入到命令寄存器中。
所述存储单元5022,用于保存所述控制单元5021写入的所述待处理数据,根据所述TCM模块51发来的读取所述待处理数据的命令,向TCM模块51输出所述待处理数据。
存储单元可是RAM存储区,具体的大小可以根据具体的业务要求来确定,可以设置RAM区的大小为1KB(32bit*256),该RAM存储区的作用是存放发送到TCM模块的待运算数据,以及TCM模块运算完成后的返回数据结果。
所述命令寄存器5023,用于保存所述控制单元5021写入的所述命令字,根据TCM模块51发来的读取所述命令字的命令,向所述TCM模块51输出所述命令字。
在本实施例中,命令寄存器保存控制单元写入的哈希算法命令字hash,根据TCM模块发来的读取命令字的命令,向TCM模块输出哈希算法命令字hash。
所述长度寄存器5024,用于保存所述控制单元5021写入的所述长度值,根据TCM模块51发来的读取所述长度值的命令,向TCM模块51输出所述长度值,以使TCM模块51根据所述长度值从所述存储单元5022读取所述待处理数据。
长度寄存器的形式可以根据具体的业务要求来确定,比如可以选用长度寄存器的长度为32bit。长度寄存器用于存放控制单元写入的待处理数据的长度值,这个长度值是待处理数据的总长度值,单位为字节,比如8字节。当TCM模块发来的读取所述长度值的命令,将长度值8字节输出到TCM模块,以使TCM模块根据长度值8字节从存储单元中读取相应的待处理数据。
所述时钟模块5025,通过LCLK信号线,为TCM模块提供时钟信号。
由于时钟直接影响着外部安全处理单元中记录文件的安全、错误检查和复原,存取安全与确认等处理过程,因此要做到时钟同步,时钟模块在外外部安全处理单元提供时钟信息的时候,检测到高电平时有效,在上升沿被采样。
所述复位模块5026,通过nLRESET信号线,向所述外部安全处理单元输出复位信号,使得所述外部安全处理单元根据所述复位信号复位
当外部安全处理单元,处于异常工作状态,比如死机,不能在进行安全处理时,可以通过复位模块向外部安全处理单元输出复位信号,使得外部安全处理单元根据复位信号进行复位。
所述休眠模块5027,通过nLPCPD信号线,向所述外部安全处理单元输出休眠信号,使得所述外部安全处理单元根据所述休眠信号进入休眠模式。
当不需要外部安全处理单元进行安全处理的时候,可以通过休眠模块向外部安全处理单元输出休眠信号,使得外部安全处理单元根据休眠信号进入休眠模型,当外部处理单元切换到休眠后,自动将内存中的数据全部转存到一个休眠文件中,然后切断对所有的供电。这样当恢复的时候,从休眠文件的内容直接读入内存,并恢复到休眠之前的状态。
所述TCM模块51,用于从所述接口控制器502中的存储单元5022中读取待处理数据,从所述接口控制器502中的命令寄存器5023中读取用于控制所述TCM模块51处理所述待处理数据的命令字,读取所述长度寄存器5024中保存的所述待处理数据的长度值,根据所述长度值从所述存储单元5022读取所述待处理数据。根据所述命令字对所述待处理数据进行处理,生成处理结果,将所述输出给所述接口控制器502中的控制单元5021。
所述命令字包括:加密命令字、解密命令字、哈希算法命令字、密钥生成命令字;
当所述命令字为所述加密命令字时,
所述TCM模块51,在执行所述根据所述命令字对所述待处理数据进行处理,生成处理结果时,用于根据所述加密命令字对所述待处理数据进行加密处理,生成所述处理结果;
当所述命令字为所述解密命令字时,
所述TCM模块51,在执行所述根据所述命令字对所述待处理数据进行处理,生成处理结果时,用于根据所述解密命令字对所述待处理数据进行解密处理,生成所述处理结果;
当所述命令字为所述哈希算法命令字时,
所述TCM模块51,在执行所述根据所述命令字对所述待处理数据进行处理,生成处理结果时,用于根据所述哈希算法命令字,利用所述哈希算法命令字对应的哈希算法对所述待处理数据进行哈希运算,生成所述处理结果;
当所述命令字为所述密钥生成命令字时,
所述TCM模块51,在执行所述根据所述命令字对所述待处理数据进行处理,生成处理结果时,用于根据所述密钥生成命令字,利用所述待处理数据生成密钥。
在本实施例中,命令字为哈希算法命令字hash,TCM模块根据哈希算法命令字hash对所述待处理数据进行哈希运算,生成处理结果,并将处理结果输出给接口控制器中的控制单元。
所述控制单元5021,获取所述TCM模块51根据所述命令字对所述待处理数据进行处理后的处理结果,将所述处理结果写入到所述存储单元5022中。
所述存储单元5022,保存所述控制单元5021写入的所述处理结果,根据所述处理器发来的读取所述处理结果的命令,向所述处理器输出所述处理结果。
综上,本发明各个实施例至少可以实现如下有益效果:
1、在本发明实施例中,该接口控制器包括控制单元、命令寄存器、存储单元;其中,所述控制单元,用于接收BMC的处理器发来的待处理数据和用于控制外部安全处理单元处理所述待处理数据的命令字,将所述待处理数据写入到所述存储单元中,将所述命令字写入到所述命令寄存器中,并且获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果,将所述处理结果写入到所述存储单元中;所述存储单元,用于保存所述控制单元写入的所述待处理数据,根据所述外部安全处理单元发来的读取所述待处理数据的命令,向所述外部安全处理单元输出所述待处理数据,并且,保存所述控制单元写入的所述处理结果,根据所述处理器发来的读取所述处理结果的命令,向所述处理器输出所述处理结果;所述命令寄存器,用于保存所述控制单元写入的所述命令字,根据所述外部安全处理单元发来的读取所述命令字的命令,向所述外部安全处理单元输出所述命令字。本方案提供的接口控制器,将BMC的处理器与外部的安全处理单元连接到了一起,通过控制单元接收BMC的处理器发来的待处理数据和待处理数据的命令字,并将待处理数据和及其对应的命令字发送给外部安全处理单元,以供外部处理单元进行相应的安全处理。并接收外部单元的安全处理结果,且根据处理器发来的读取指令将处理结果输出给处理器,由于通过接口控制器将处理器提供的数据在外部安全处理单元进行了安全处理,因此提高使用BMC对服务器进行监控管理安全性。
2、在本发明实施例中,通过控制单元,确定待处理数据的长度值,并将长度值写入长度寄存器中,长度寄存器根据外部安全处理单元发来的读取长度值的命令,向外部安全处理单元输出长度值,以使外部安全处理单元根据长度值从存储单元读取对应的待处理数据。由于是外部安全处理单元是根据获取的长度值来读取对应长度值的待处理数据,因此有效地提高了外部安全处理单元读取存储单元中的待处理数据的速度和准确性。
3、在本发明实施例中,在所述接口控制器进一步包括时钟模块,利用时钟模块为外部安全处理单元提供时钟信息,以使BMC的处理器和外部安全处理单元时钟同步。
4、在本发明实施例中,在所述接口控制器进一步包括复位模块,利用复位模块向外部安全处理单元输出复位信号,使得外部安全处理单元根据复位信号进行复位处理,可以在外部安全处理单元处于异常工作状态时,使得安全处理单元在不断电的情况下,可以重新启动。
5、在本发明实施例中,在所述接口控制器进一步包括休眠模块,利用休眠模块向外部安全处理单元输出休眠信号,使得外部安全处理单元根据休眠信号进入休眠模式。
6、在本发明实施例中,所述控制单元接收BMC的处理器发来用于控制外部安全处理单元处理所述待处理数据的命令字包括:加密命令字、解密命令字、哈希算法命令字、密钥生成命令字。可以根据具体的业务要求来选择具体的命令字的形式。
7、在本发明实施例中,将处理器与接口控制器相连,处理器向接口控制器发送待处理数据和用于控制外部安全处理单元处理待处理数据的命令字,以使接口控制可以外部安全处理单元提供待处理数据及对待处理数据进行安全处理的命令字,因此提高使用BMC对服务器进行监控管理安全性。
8、在本发明实施例中,将安全处理单元与基板管理控制器中的接口控制器相连;安全处理单元,从接口控制器中的存储单元中读取待处理数据,从接口控制器中的命令寄存器中读取用于控制安全处理单元处理待处理数据的命令字,根据命令字对所述待处理数据进行处理,生成处理结果,将所述输出给所述接口控制器中的控制单元。可以看出通过基板管理控制器中接口控制器将待处理数据及待处理数据对应的命令字传输至安全处理单元,安全处理单元根据命令字对待处理数据进行相应的安全处理,并将处理后的数据又通过接口控制器返回,因此提高使用BMC对服务器进行监控管理安全性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (3)

1.一种接口控制器,其特征在于,包括:控制单元、存储单元、命令寄存器;
其中,
所述控制单元,用于接收基板管理控制器BMC的处理器发来的待处理数据和用控制外部安全处理单元处理所述待处理数据的命令字,将所述待处理数据写入到所述存储单元中,将所述命令字写入到所述命令寄存器中,并且获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果,将所述处理结果写入到所述存储单元中;
所述存储单元,用于保存所述控制单元写入的所述待处理数据,根据所述外部安全处理单元发来的读取所述待处理数据的命令,向所述外部安全处理单元输出所述待处理数据,并且,保存所述控制单元写入的所述处理结果,根据所述处理器发来的读取所述处理结果的命令,向所述处理器输出所述处理结果;
所述命令寄存器,用于保存所述控制单元写入的所述命令字,根据所述外部安全处理单元发来的读取所述命令字的命令,向所述外部安全处理单元输出所述命令字;
进一步包括:长度寄存器;
所述控制单元,进一步用于确定所述待处理数据的长度值,将所述长度值写入所述长度寄存器中;
所述长度寄存器,用于保存所述控制单元写入的所述长度值,根据所述外部安全处理单元发来的读取所述长度值的命令,向所述外部安全处理单元输出所述长度值,以使所述外部安全处理单元根据所述长度值从所述存储单元读取所述待处理数据;
所述接口控制器进一步包括:时钟模块,用于为所述外部安全处理单元提供时钟信号;
和/或,
所述接口控制器进一步包括:复位模块,用于向所述外部安全处理单元输出复位信号,使得所述外部安全处理单元根据所述复位信号复位;
和/或,
所述接口控制器进一步包括:休眠模块,用于向所述外部安全处理单元输出休眠信号,使得所述外部安全处理单元根据所述休眠信号进入休眠模式;
所述命令字包括:加密命令字、解密命令字、哈希算法命令字、密钥生成命令字;
当所述命令字为所述加密命令字时,
所述控制单元,在执行所述获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取所述外部安全处理单元根据所述加密命令字对所述待处理数据进行加密处理得到的所述处理结果;
当所述命令字为所述解密命令字时,
所述控制单元,在执行所述获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取所述外部安全处理单元根据所述解密命令字对所述待处理数据进行解密处理得到的所述处理结果;
当所述命令字为所述哈希算法命令字时,
所述控制单元,在执行所述获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取所述外部安全处理单元根据所述哈希算法命令字,利用所述哈希算法命令字对应的哈希算法对所述待处理数据进行哈希运算得到的所述处理结果;
当所述命令字为所述密钥生成命令字时,
所述控制单元,在执行所述获取所述外部安全处理单元根据所述命令字对所述待处理数据进行处理后的处理结果时,用于获取所述外部安全处理单元根据所述密钥生成命令字,利用所述待处理数据生成的密钥。
2.一种基板管理控制器,其特征在于,包括:如权利要求1所述的接口控制器和处理器,所述处理器与所述接口控制器相连;
所述处理器,用于向所述接口控制器中的控制单元发送待处理数据和用于控制外部安全处理单元处理所述待处理数据的命令字;
所述处理器与所述接口控制器通过片上总线AMBA总线相连。
3.一种安全系统,其特征在于,包括:
如权利要求1所述的一种接口控制器;
所述接口控制器包括外部安全处理单元;
所述外部安全处理单元与所述基板管理控制器中的接口控制器相连;
所述外部安全处理单元,用于从所述接口控制器中的存储单元中读取待处理数据,从所述接口控制器中的命令寄存器中读取用于控制所述外部安全处理单元处理所述待处理数据的命令字,根据所述命令字对所述待处理数据进行处理,生成处理结果,将所述输出给所述接口控制器中的控制单元;
所述命令字包括:加密命令字、解密命令字、哈希算法命令字、密钥生成命令字;
当所述命令字为所述加密命令字时,
所述外部安全处理单元,在执行所述根据所述命令字对所述待处理数据进行处理,生成处理结果时,用于根据所述加密命令字对所述待处理数据进行加密处理,生成所述处理结果;
当所述命令字为所述解密命令字时,
所述外部安全处理单元,在执行所述根据所述命令字对所述待处理数据20进行处理,生成处理结果时,用于根据所述解密命令字对所述待处理数据进行解密处理,生成所述处理结果;
当所述命令字为所述哈希算法命令字时,
所述外部安全处理单元,在执行所述根据所述命令字对所述待处理数据进行处理,生成处理结果时,用于根据所述哈希算法命令字,利用所述哈希算法命令字对应的哈希算法对所述待处理数据进行哈希运算,生成所述处理结果;
当所述命令字为所述密钥生成命令字时,
所述外部安全处理单元,在执行所述根据所述命令字对所述待处理数据进行处理,生成处理结果时,用于根据所述密钥生成命令字,利用所述待处理数据生成密钥;
在所述接口控制器包括长度寄存器,所述安全处理单元,用于读取所述长度寄存器中保存的所述待处理数据的长度值,根据所述长度值从所述存储单元读取所述待处理数据;
所述安全处理单元包括:可信密码模块TCM模块。
CN201610939783.9A 2016-11-01 2016-11-01 一种接口控制器、基板管理控制器及安全系统 Active CN106528458B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610939783.9A CN106528458B (zh) 2016-11-01 2016-11-01 一种接口控制器、基板管理控制器及安全系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610939783.9A CN106528458B (zh) 2016-11-01 2016-11-01 一种接口控制器、基板管理控制器及安全系统

Publications (2)

Publication Number Publication Date
CN106528458A CN106528458A (zh) 2017-03-22
CN106528458B true CN106528458B (zh) 2020-09-08

Family

ID=58291705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610939783.9A Active CN106528458B (zh) 2016-11-01 2016-11-01 一种接口控制器、基板管理控制器及安全系统

Country Status (1)

Country Link
CN (1) CN106528458B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110052510A (ko) * 2009-11-10 2011-05-18 애플 인크. 주변 컴포넌트를 위한 커맨드 큐
JP2015060264A (ja) * 2013-09-17 2015-03-30 日本電気株式会社 システム、制御方法、管理サーバおよびプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200758B2 (en) * 2002-10-09 2007-04-03 Intel Corporation Encapsulation of a TCPA trusted platform module functionality within a server management coprocessor subsystem
CN100476774C (zh) * 2006-03-31 2009-04-08 联想(北京)有限公司 一种限制基板管理控制器命令的方法及装置
CN100541444C (zh) * 2006-08-15 2009-09-16 环达电脑(上海)有限公司 多主板系统之管理系统
US7917741B2 (en) * 2007-04-10 2011-03-29 Standard Microsystems Corporation Enhancing security of a system via access by an embedded controller to a secure storage device
CN101447007B (zh) * 2008-10-31 2011-06-22 东莞市智盾电子技术有限公司 主动式数据安全存储设备的安全对外通讯方法
CN104408364A (zh) * 2014-12-01 2015-03-11 浪潮集团有限公司 一种服务器管理程序保护方法及系统
CN104410636A (zh) * 2014-12-01 2015-03-11 浪潮集团有限公司 一种云计算系统中增强bmc/smc安全性的方法
CN105740710A (zh) * 2016-02-01 2016-07-06 浪潮电子信息产业股份有限公司 一种基于bmc实现bios动态度量的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110052510A (ko) * 2009-11-10 2011-05-18 애플 인크. 주변 컴포넌트를 위한 커맨드 큐
JP2015060264A (ja) * 2013-09-17 2015-03-30 日本電気株式会社 システム、制御方法、管理サーバおよびプログラム

Also Published As

Publication number Publication date
CN106528458A (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
US10069625B2 (en) System and method for automatic key generation for self-encrypting drives
US20210192090A1 (en) Secure data storage device with security function implemented in a data security bridge
US9998464B2 (en) Storage device security system
KR101698776B1 (ko) 원타임 패스워드의 사용을 보안하기 위한 기술
CN100449558C (zh) 休眠保护
US8127150B2 (en) Data security
US11556490B2 (en) Baseboard management controller-based security operations for hot plug capable devices
US20160283937A1 (en) Technologies for split key security
TW201215068A (en) Optimizing use of hardware security modules
CN102945355A (zh) 基于扇区映射的快速数据加密策略遵从
US8898807B2 (en) Data protecting method, mobile communication device, and memory storage device
US20160080329A1 (en) Mobile terminal and method thereof
CN102982265B (zh) 存取基本输入输出系统设定的认证方法
US11146389B2 (en) Method and apparatus for ensuring integrity of keys in a secure enterprise key manager solution
CN106528458B (zh) 一种接口控制器、基板管理控制器及安全系统
CN114139221B (zh) 密钥状态检测方法、装置、设备及介质
US11354048B2 (en) Storage device and data disposal method thereof
CN109583196B (zh) 一种密钥生成方法
US20170126669A1 (en) Hard drive management system and method thereof with network authentication function
CN103198031B (zh) 信息处理装置及存储设备的使用限制的解除方法
CN105159847A (zh) 基于可信芯片的磁盘变更记录方法
CN109598150B (zh) 一种密钥使用方法
JP2016111627A (ja) 情報処理装置、情報処理装置の制御方法、プログラム
CN115705440A (zh) 保证关于集成电路存储器单元的诊断数据的安全收集
CN117235772A (zh) 数据处理方法、装置、计算机设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant