本发明涉及计算机技术领域,特别是涉及一种硬件加密系统、方法及服务器。
背景技术:
随着信息化时代的到来,计算机网络控制技术已广泛应用于各个行业内,并逐渐形成了信息产业链。计算机网络环境的搭建需要借助服务器实现,服务器是整个网络数据的承载体;然而,由于各类服务器或系统的复杂性和多样性导致系统漏洞层出不穷,以及病毒木马和恶意代码网上肆虐,黑客入侵和篡改网站的安全事件时有发生,因此当前计算机网络面临着信息泄漏、数据破坏等安全威胁。
为了有效防范互联网攻击泄密,保护数据信息安全,目前通常使用软件加密的方式对网络数据进行保护。其中,安全加密哈希算法(英文:securehashalgorithm,简称:sha)经过多年发展和改进已日益完善,并被广泛使用。该算法的原理是接收一段明文,然后以一种不可逆的方式将它转换成一段密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值。sha算法通过直接构造复杂的非线性关系达到单向要求,设计单向散列函数的算法,具有“不可逆”、“防碰撞”以及良好的“雪崩效应”,防止了盗窃者利用相近的输入来破解密码。
然而,发明人通过研究发现,在软件加密的实现过程中可能存在以下问题:软件加密过程中很容易遭受外界攻击者的攻击,而且,外界攻击者很容易通过跟踪的方式对数据和程序进行破解,这样导致服务器的安全性变差,进而影响整个计算机网络的安全性。
因此,如何提高服务器的安全性,是本领域技术人员亟需解决的技术问题。
技术实现要素:
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种硬件加密系统、方法及服务器,用于解决现有技术中服务器安全性差的问题。
为实现上述目的及其他相关目的,根据本发明的第一方面,本发明实施例提供一种硬件加密系统,该系统包括数据选择器、加密控制器、协处理器和多个加密芯片,其中:
待加密服务器中的第一控制芯片和第二控制芯片分别与所述数据选择器通信连接,所述数据选择器用于根据控制信号选择第一控制芯片和第二控制芯片中的任意一个进行加密;
所述多个加密芯片与所述协处理器通信连接,所述多个加密芯片分别对应待加密服务器中的子电路,且用于生成相应的消息认证码;
所述加密控制器与所述数据选择器和所述协处理器均通信连接,所述加密控制器用于产生期望认证码,并通过比较所述期望认证码和所述消息认证码,对所述子电路进行校验。
可选地,所述多个加密芯片串联在所述协处理器的输入端。
可选地,所述加密控制器通过i2c总线与所述协处理器通信连接。
可选地,所述数据选择器包括三态4路的2选1数据选择器。
可选地,所述加密芯片包括单总线硬件加密芯片。
根据本发明的第二方面,本发明实施例还提供一种硬件加密方法,包括以下步骤:
加密控制器通过协处理器获取多个加密芯片计算得到消息认证码;
计算获得所述加密芯片所对应子电路的期望认证码;
如果所述期望认证码与所述消息认证码相同,确定所述子电路为合法电路,并允许待加密服务器中的第一控制芯片或第二控制芯片与所述合法电路进行通信;
如果所述期望认证码与所述消息认证码不同,确定所述子电路为非法电路,并拒绝待加密服务器中的第一控制芯片或第二控制芯片与所述非法电路进行通信。
可选地,所述消息认证码根据安全散列算法计算得到,且所述消息认证码的位数为160位。
可选地,所述计算获得所述加密芯片所对应子电路的期望认证码,包括:
根据密匙、随机数、附加数据以及器件识别号计算得到所述期望认证码。
可选地,所述允许待加密服务器中的第一控制芯片或第二控制芯片与所述合法电路进行通信,包括:
根据合法电路的信息标识,从协处理器获取所述合法电路的第一数据信息,并向数据选择器发出,以使所述第一数据信息发送到目标控制芯片;或者,
获取由数据选择器转发的目标控制芯片的第二数据信息,并向协处理器发出,以使所述第二数据信息通过协处理器发送到所述合法电路;
其中,所述目标控制芯片为数据选择器根据控制信号选择出的第一控制芯片或第二控制芯片。
根据本发明的第三方面,本发明实施例还提供一种服务器,所述服务器至少包括第一控制芯片、第二控制芯片以及上述的硬件加密系统。
如上所述,本发明的硬件加密系统、方法及服务器,具有以下有益效果:该硬件加密系统包括数据选择器、加密控制器、协处理器和多个加密芯片;其中,待加密服务器中的第一控制芯片和第二控制芯片分别与所述数据选择器通信连接,所述数据选择器用于根据控制信号选择第一控制芯片和第二控制芯片中的任意一个进行加密;所述多个加密芯片与所述协处理器通信连接,所述多个加密芯片分别对应待加密服务器中的子电路,且用于生成相应的消息认证码;所述加密控制器与所述数据选择器和所述协处理器均通信连接,所述加密控制器用于产生期望认证码,并通过比较所述期望认证码和所述消息认证码,对所述子电路进行校验。通过对服务器中的核心控制芯片进行高强度的硬件加密,能够有效防止网络攻击导致的数据泄露,保护数据信息安全,从而提高服务器的安全性,进而为计算机网络安全提供保障。
附图说明
图1是本发明实施例提供的一种硬件加密系统的结构示意图。
图2是本发明实施例提供的一种硬件加密方法的流程示意图。
图3是本发明实施例提供的一种合法电路通信的流程示意图。
图1的符号表示为:
1-数据选择器,2-加密控制器,3-协处理器,4-加密芯片,5-第一控制芯片,6-第二控制芯片。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
在通常的服务器架构中,服务器除了cpu之外,还通常包括平台控制中心(英文:platformcontrollerhub,简称:pch)以及基板管理控制器(英文:baseboardmanagementcontroller,简称:bmc)。其中,pch负责连接pci总线、ide设备和i/o设备等,cpu通过pch实现外置设备的读取,以及系统开机等;bmc支持智能平台管理接口规范(英文:intelligentplatformmanagementinterface,简称:ipmi),服务器通过bmc实现本地和远程诊断、控制台支持、配置管理、硬件管理和故障排除等。在整个服务器工作和调度中,pch和bmc扮演着极为重要角色,外设存储数据控制都是通过pch进行,bmc通过监控整个服务器的运行,进行整机控制和配置管理。在本发明实施例中,服务器中的第一控制芯片和第二控制芯片可以分别对应上述的pch和bmc,例如第一控制芯片可以理解为pch,第二控制芯片可以理解为bmc;或者,第一控制芯片可以理解为bmc,第二控制芯片可以理解为pch。当然,需要说明的是,第一控制芯片和第二控制芯片并不局限于上述pch和bmc,还可以为服务器中的其他任意控制芯片,而且,服务器中还可以包括任意多个其他控制芯片,在此不再赘述。为了清楚地描述本发明,在本发明实施例中将以服务器中包括第一控制芯片和第二控制芯片,且第一控制芯片为pch,第二控制芯片为bmc为例,详细描述硬件加密系统、方法及服务器。
请参阅图1至图3。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
参见图1,是本发明实施例提供的一种硬件加密系统的结构示意图,如图1所示,所述硬件加密系统包括数据选择器1、加密控制器2、协处理器3和多个加密芯片4。
其中,待加密服务器中的第一控制芯片5和第二控制芯片6分别与所述数据选择器1通信连接。在一示例性实施例中,所述数据选择器1可以为三态4路的2选1数据选择器,具体地,所述数据选择器1可以选择型号为pi3b3257a的芯片。当然,需要说明的是,本领域技术人员可以根据实际加密需求,选择使用其他任意路的多选1的数据选择器,例如为了配合3个控制芯片加密,可以选择使用3选1的数据选择器等,在本发明实施例中不再赘述。所述数据选择器1的端口上连接有控制信号,数据选择器1根据控制信号可以选择第一控制芯片5和第二控制芯片6中的任意一个进行加密,例如对于pi3b3257a芯片,第一控制芯片5可以连接到数据选择器1的第一组输入端,第二控制芯片6可以连接到数据选择器1的第二组输入端,通过控制器s端为高电平或低电平,则可以控制数据选择器1的输出为第一控制芯片5或者第二控制芯片6,这样可以实现对第一控制芯片5和第二控制芯片6的选择加密。
多个加密芯片4与协处理器3通信连接,每个加密芯片4可以分别对应待加密服务器中的一个子电路。在本发明实施例中,所述硬件加密系统可以设置任意多个加密芯片4;如图1所示的硬件加密系统设置有3个加密芯片4,而且每个加密芯片4可以对应1个子电路。
在一示例性实施例中,所述加密芯片4片可以集成基于安全散列算法(sha-256)和具有512位用户可编程eprom;所述加密芯片4中自带唯一的64位rom注册码(英文:romid),由工厂刻入芯片;所述加密芯片4内部的加密过程是在内部的加密引擎中进行的,其加密引擎利用的是hsah函数的sha-1算法,加密引擎的sha-1算法输入的是固定的512bit,也就是标准sha-1算法的分组长度,并且标准sha-1算法每个分组的最后一次循环体的输出都要和输入每个分组的初始常量做mod232加法,运算的结果是160位的消息认证码,即mac。在一优选实施例中,所述加密芯片4包括单总线硬件加密芯片;具体地,所述加密芯片4可以选用型号为ds28e15的芯片,该芯片具有低成本、可编程和外围结果简单(采用1-wire总线通信)的特点。
多个加密芯片4相互串联连接到协处理器3的输入端。在一示例性实施例中,所述协处理器3可以选用具有安全散列算法(sha-256)的协处理器,具备i2c输入和串联多个单总线器件的功能,通过识别硬件加密芯片4自带romid,实现不同器件之间的识别。具体地,所述协处理3可以选用型号为ds2465的芯片。
加密控制器2与数据选择器1和协处理器3均通信连接,所述加密控制器2用于产生期望认证码,并通过比较所述期望认证码和所述消息认证码,对所述自电路进行校验。在具体实施时,所述加密控制器2可以选用复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,简称:cpld)。所述加密控制器2能够根据密钥、随机数、附加数据及器件识别号在内的hash计算并产生一个期望认证码,即期望mac。
另外,需要说明的是,在上述的硬件加密系统中,数据选择器1、加密控制器2、协处理器3以及加密芯片4的各个引脚的对应连接可以根据选用的具体器件型号确定;而且,各个器件的引脚还可以根据具体功能要求连接电源vcc、电阻、外界的控制信号以及接地等,在本发明实施例中不再赘述。
在具体加密过程中,数据选择器1根据控制信号能够选择需要进行加密控制的控制芯片,例如数据选择器1根据控制信号选择第一控制芯片5进行加密控制;加密控制器2进一步通过协处理器3获得各个子电路对应的消息认证码,并与其计算得到的期望认证码进行比较;根据比较结果,如果消息认证码与期望认证码相同,则确定相应的子电路为合法电路,则加密控制器2进入正常工作状态,允许合法电路通过数据选择器1与第一控制芯片5进行数据交互;如果消息认证码与期望认证码不相同,则确定相应的子电路为非法电路,则加密控制器2进入非正常工作状态,拒绝非法电路通过数据选择器1与第一控制芯片5进行数据交互,这样通过消息认证码与期望认证码的校验,允许合法电路与待加密控制芯片的正常通信,以及拒绝非法电路与待加密控制芯片的信息交互,实现硬件加密,保护信息安全的目的。
由上述实施例的描述可见,本发明实施例提供的一种硬件加密系统,包括数据选择器1、加密控制器2、协处理器3和加密芯片4;其中,待加密服务器中的第一控制芯片5和第二控制芯片6分别与所述数据选择器1通信连接,所述数据选择器1用于根据控制信号选择第一控制芯片5和第二控制芯片6中的任意一个进行加密;所述多个加密芯片4与所述协处理器3通信连接,所述多个加密芯片4分别对应待加密服务器中的子电路,且用于生成相应的消息认证码;所述加密控制器2与所述数据选择器1和所述协处理器3均通信连接,所述加密控制器2用于产生期望认证码,并通过比较所述期望认证码和所述消息认证码,对所述子电路进行校验。通过对服务器中的核心控制芯片进行高强度的硬件加密,能够有效防止网络攻击导致的数据泄露,保护数据信息安全,从而提高服务器的安全性,进而为计算机网络安全提供保障。
与本发明提供的硬件加密系统实施例相对应,本发明还提供了一种硬件加密方法。
参见图2,是本发明实施例提供的一种硬件加密方法的流程示意图,如图2所示,本发明实施例示出了加密控制器2实施硬件加密方法的过程:
步骤s101:通过协处理器3获取多个加密芯片4计算得到消息认证码。
加密控制器2通过协处理器3获取多个加密芯片4计算得到的消息认证码,在发明实施例中,所述消息认证码根据安全散列算法计算得到,且所述消息认证码的位数为160位。所述加密芯片4的加密过程是在内部的加密引擎中进行的,其加密引擎利用的是hsah函数的sha-1算法,但是sha-1引擎的sha-1算法输入的是固定的512bit,也就是标准sha-1算法的分组长度,并且标准sha-1算法每个分组的最后一次循环体的输出都要和输入每个分组的初始常量做mod232加法,运算的结果是160位的消息认证码。
步骤s102:计算获得所述加密芯片4所对应子电路的期望认证码。
加密控制器2进一步根据密匙、随机数、附加数据以及器件识别号的hash计算得到所述期望认证码。
步骤s103:如果所述期望认证码与所述消息认证码相同,确定所述子电路为合法电路,并允许待加密服务器中的第一控制芯片5或第二控制芯片6与所述合法电路进行通信。
对于合法电路,加密控制器2允许合法电路与数据选择器1选择的第一控制芯片5或第二控制芯片6进行通信。
为了方便待加密控制芯片与合法电路的信息交互,参见图3,是本发明实施例提供的一种合法电路通信的流程示意图,如图3所示,该方法包括:
步骤s1031:根据合法电路的信息标识,从协处理器3获取所述合法电路的第一数据信息,并向数据选择器1发出,以使所述第一数据信息发送到目标控制芯片。
在具体实施时,可以为每个子电路设置相应的信息标识。当加密控制器2通过消息认证码和期望认证码的校验,确定该子电路为合法电路时,可以将合法电路的信息标识发送至协处理器3,协处理器3进一步从合法电路获取所述信息标识对应的合法电路的第一数据信息并发送至加密控制器2,加密控制器2将所述第一数据信息发送到数据选择器1,数据选择器1则将第一数据信息转发到根据控制信号选择出的目标控制芯片。其中,所述目标控制芯片为数据选择器1根据控制信号选择出的第一控制芯片5或第二控制芯片6。
步骤s1032:获取由数据选择器1转发的目标控制芯片的第二数据信息,并向协处理器3发出,以使所述第二数据信息通过协处理器3发送到所述合法电路。
在数据交互的过程中,加密控制器2还可以获取由数据选择器1转发的目标控制芯片的第二数据信息,所述第二数据信息中可以携带有合法电路的信息标识,这样,协处理根据所述合法电路的信息标识将第二数据信息发送到相应的合法电路。
步骤s104:如果所述期望认证码与所述消息认证码不同,确定所述子电路为非法电路,并拒绝待加密服务器中的第一控制芯片5或第二控制芯片6与所述非法电路进行通信。
当加密控制器2判断子电路为非法电路时,加密控制器2可以非法电路与待加密服务器中的第一控制芯片5或第二控制芯片6的通信,具体的拒绝通信的实现方式在本发明实施例中不再赘述。
需要说明的是,本发明实施例提供的硬件加密方法与上述硬件加密系统实施例相同之处可参见上述硬件加密系统实施例的描述,在此不再赘述。
由上述实施例的描述可见,本发明实施例提供的一种硬件加密方法,加密控制器2通过协处理器3获取多个加密芯片4计算得到消息认证码;计算获得所述加密芯片4所对应子电路的期望认证码;如果所述期望认证码与所述消息认证码相同,确定所述子电路为合法电路,并允许待加密服务器中的第一控制芯片5或第二控制芯片6与所述合法电路进行通信;如果所述期望认证码与所述消息认证码不同,确定所述子电路为非法电路,并拒绝待加密服务器中的第一控制芯片5或第二控制芯片6与所述非法电路进行通信。通过对服务器中的核心控制芯片进行高强度的硬件加密,能够有效防止网络攻击导致的数据泄露,保护数据信息安全,从而提高服务器的安全性,进而为计算机网络安全提供保障。
本发明实施例还提供一种服务器,所述服务器至少包括第一控制芯片5、第二控制芯片6,以及上述实施例所描述的硬件加密系统,而且上述硬件加密系统可以被配置为执行上述实施例所描述的硬件加密方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。