CN112910646A - 一种服务器密码机的数据处理方法、装置及服务器密码机 - Google Patents

一种服务器密码机的数据处理方法、装置及服务器密码机 Download PDF

Info

Publication number
CN112910646A
CN112910646A CN202110479428.9A CN202110479428A CN112910646A CN 112910646 A CN112910646 A CN 112910646A CN 202110479428 A CN202110479428 A CN 202110479428A CN 112910646 A CN112910646 A CN 112910646A
Authority
CN
China
Prior art keywords
module
fpga
data
processing
cpu
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.)
Granted
Application number
CN202110479428.9A
Other languages
English (en)
Other versions
CN112910646B (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.)
Beijing Shudun Information Technology Co ltd
Original Assignee
Beijing Shudun Information Technology 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 Beijing Shudun Information Technology Co ltd filed Critical Beijing Shudun Information Technology Co ltd
Priority to CN202110479428.9A priority Critical patent/CN112910646B/zh
Publication of CN112910646A publication Critical patent/CN112910646A/zh
Application granted granted Critical
Publication of CN112910646B publication Critical patent/CN112910646B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供一种服务器密码机的数据处理方法、装置及服务器密码机,方法包括:上层软件模块向底层硬件模块发送控制指令;接收所述底层硬件模块根据所述控制指令对所述底层硬件模块进行解析传输的数据进行处理得到的处理结果;所述底层硬件包括:中央处理器CPU、与所述CPU通信连接的现场可编程门阵列FPGA接口模块以及所述FPGA接口模块通信连接的算法FPGA模块;所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理。本发明的方案释放了中央处理器CPU的运算能力,缩减了软件开发的难度;提高了安全性和快速响应能力;增大了系统的算法处理性能;保证了服务器密码机的安全性。

Description

一种服务器密码机的数据处理方法、装置及服务器密码机
技术领域
本发明涉及计算机技术领域,特别是指一种服务器密码机的数据处理方法、装置及服务器密码机。
背景技术
现有技术中,服务器密码机大多采用通用型或定制型主板、CPU(中央处理器)模块、外接PCI-e密码卡形式组成。CPU模块收发数据包会消耗大量CPU和系统中断资源,尤其在使用万兆网卡的情况下,万兆网卡满速运行需要至少4核心以上CPU,并且消耗20%左右的CPU资源。CPU调用PCI-e密码卡进行密码算法运算,也需要消耗大量CPU资源,进一步加重CPU的运行负担。并且现有的PCI-e密码卡的密码算法运算能力普遍不是很高,能达到10Gbps加解密速率的产品屈指可数,无法满足日益增大的密码运算需求。
发明内容
本发明要解决的技术问题是如何提供一种服务器密码机的数据处理方法、装置及服务器密码机。释放了服务器密码机的中央处理器CPU的运算能力,缩减了软件开发的难度;提高了安全性和快速响应能力;增大了系统的算法处理性能;保证了服务器密码机的安全性。
为解决上述技术问题,本发明的技术方案如下:
本发明提供了一种服务器密码机的数据处理方法,所述方法包括:
上层软件模块向底层硬件模块发送控制指令;
接收所述底层硬件模块根据所述控制指令对所述底层硬件模块进行解析传输的数据进行处理得到的处理结果;所述底层硬件包括:中央处理器CPU、与所述CPU通信连接的现场可编程门阵列FPGA接口模块以及所述FPGA接口模块通信连接的算法FPGA模块;所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理。
可选的,所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理,包括:
所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文进行解析,得到解析结果;
若所述解析结果表示所述数据报文是需要进行安全处理的业务数据,将所述数据报文发送至所述算法FPGA模块进行安全运算处理,并接收所述算法FPGA模块返回的运算结果;
若所述解析结果表示所述数据报文是不需要进行安全处理的控制数据,将所述控制数据发送至所述CPU处理。
可选的,所述接口FPGA模块通过中转FPGA模块与所述CPU通信连接;
所述接口FPGA模块将所述控制数据通过所述中转FPGA模块发送至所述CPU处理和/或接收所述CPU发送的配置信息;所述配置信息由上层软件模块中的系统参数配置模块产生并配置给所述CPU。
可选的,所述接口FPGA模块与数据安全模块通信连接;
所述接口FPGA模块接收所述CPU发送的密钥管理指令,将所述密钥管理指令发送给所述数据安全模块,由所述数据安全模块根据所述密钥管理指令进行以下至少一项操作:对称密钥或者非对称密钥的生成、删除、导入、导出、备份、恢复。
可选的,对所述数据进行解析,得到解析结果,包括:
对所述数据进行解析,获得数据报文的字段信息;所述字段信息包括以下至少一项:前导码字段、MAC字段、IP地址、报文类型头、净荷以及校验字段,所述MAC字段包括源MAC以及目的MAC,所述IP地址包括源IP以及目的IP。
可选的,若所述解析结果表示所述数据报文是需要进行安全处理的业务数据,将所述数据报文发送至所述算法FPGA模块进行安全运算处理,包括:
若所述解析结果表示所述数据报文是需要进行安全处理的业务数据,且所述数据报文目的地址是本设备的地址,则将数据报文送入算法FPGA模块进行处理。
可选的,接收所述算法FPGA模块返回的运算结果,包括:
接收所述算法FPGA模块对所述数据报文采用预设安全算法进行加密和/或解密的运算结果。
本发明提供一种服务器密码机的数据处理装置,应用于服务器密码机,所述装置包括:
收发模块,用于接收上层软件模块的控制指令;
处理模块,用于根据所述控制指令对底层硬件模块进行解析传输的数据进行处理,得到处理结果;所述底层硬件包括:中央处理器CPU、与所述CPU通信连接的现场可编程门阵列FPGA接口模块以及所述FPGA接口模块通信连接的算法FPGA模块;所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理;
所述收发模块在所述底层硬件模块和上层软件模块之间传输所述处理结果。
本发明提供一种服务器密码机,包括:上层软件模块以及底层硬件模块;
所述上层软件模块向所述底层硬件模块发送控制指令;
所述上层软件模块接收所述底层硬件模块根据所述控制指令对所述底层硬件模块传输的数据进行处理的处理结果;所述底层硬件模块包括:中央处理器CPU、接口现场可编程门阵列FPGA模块以及算法FPGA模块;所述CPU与所述接口FPGA模块通信连接;所述接口FPGA模块与所述算法FPGA模块通信连接;所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理。
本发明提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上述的方法。
本发明的上述方案至少包括以下有益效果:
通过上层软件模块向底层硬件模块发送控制指令;接收所述底层硬件模块根据所述控制指令对所述底层硬件模块进行解析传输的数据进行处理,得到的处理结果;所述底层硬件包括:中央处理器CPU、与所述CPU通信连接的现场可编程门阵列FPGA接口模块以及所述FPGA接口模块通信连接的算法FPGA模块;所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理。释放了中央处理器CPU的运算能力,缩减了软件开发的难度;提高了安全性和快速响应能力;增大了系统的算法处理性能;保证了服务器密码机的安全性。
附图说明
图1是本发明实施例的服务器密码机的数据处理方法的流程示意图;
图2是本发明实施例的服务器密码机的上层软件模块的架构示意图;
图3是本发明实施例的服务器密码机的CPU模块和接口FPGA模块的分布式系统架构示意图;
图4是本发明实施例的服务器密码机的算法FPGA模块的结构示意图;
图5是本发明实施例的服务器密码机的接口FPGA模块的结构示意图;
图6是本发明实施例的接口FPGA模块对数据报文处理的流程示意图;
图7是本发明实施例的服务器密码机的数据处理装置的模块示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明的实施例提供一种服务器密码机的数据处理方法,所述方法包括:
步骤11,上层软件模块向底层硬件模块发送控制指令;
步骤12,接收所述底层硬件模块根据所述控制指令对所述底层硬件模块传输的数据进行处理,得到的处理结果;所述底层硬件包括:中央处理器CPU(Central ProcessingUnit)、与所述CPU通信连接的现场可编程门阵列FPGA(Field Programmable Gate Array)接口模块以及所述FPGA接口模块通信连接的算法FPGA模块;所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理。
如图2所示,该实施例是基于硬件模块的运行,通过后台服务程序将上层软件模块向底层硬件模块发送控制指令,再接收底层硬件模块根据控制指令对底层硬件模块传输的数据进行处理,最终得到处理结果。提高了安全性和快速响应能力,保证了服务器密码机的安全性。这里的上层软件模块包括系统参数配置、密钥管理以及用户管理,后台服务程序通过数据通信与底层硬件模块之间传输数据。
如图2和图3所示,本发明一可选的实施例中,所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理,包括:
所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文进行解析,得到解析结果;
若所述解析结果表示所述数据报文是需要进行安全处理的业务数据,将所述数据报文发送至所述算法FPGA模块进行安全运算处理,并接收所述算法FPGA模块返回的运算结果;
若所述解析结果表示所述数据报文是不需要进行安全处理的控制数据,将所述控制数据发送至所述CPU处理。
本实施例是由CPU与FPGA协同合作的数据处理;通过接口FPGA模块根据上层软件模块的控制指令进行收发和/或解析数据报文,不再需要CPU模块去处理数据包的收发和解析工作,使CPU的运算能力得到了极大的释放,解决了对CPU过分依赖的问题,有效提高了CPU的运算效率。
如图3所示,本发明一可选的实施例中,所述接口FPGA模块通过中转FPGA模块与所述CPU通信连接;
所述接口FPGA模块将所述控制数据通过所述中转FPGA模块发送至所述CPU处理和/或接收所述CPU发送的配置信息;所述配置信息由上层软件模块中的系统参数配置模块产生并配置给所述CPU;
所述接口FPGA模块与数据安全模块通信连接;
所述接口FPGA模块接收所述CPU发送的密钥管理指令,将所述密钥管理指令发送给所述数据安全模块,由所述数据安全模块根据所述密钥管理指令进行以下至少一项操作:对称密钥或者非对称密钥的生成、删除、导入、导出、备份、恢复。
该实施例中,接口FPGA模块将控制数据通过中转FPGA模块发送至CPU处理和/或接收CPU发送的由上层软件模块中的系统参数配置模块产生并配置的配置信息。接口FPGA模块接收CPU模块发送的密钥管理指令,并发送给数据安全模块。
中转FPGA模块,通过PCI-e总线与CPU模块相连,通过UART(UniversalAsynchronous Receiver/Transmitter,通用异步收发传输器)总线与系统检测模块相连,通过RGMII(Reduced Gigabit Media Independent Interface,精简吉比特介质独立接口)总线与接口FPGA相连。中转FPGA模块进行数据的转发,目的是将CPU模块、系统检测模块、接口FPGA模块联系起来,数据可以相互传输。中转FPGA模块实现了将CPU模块、系统检测模块、接口FPGA模块相互联系起来,起到了数据的中转转发的作用,使得数据可以进行交互传输。
需要说明的是,CPU模块为软件运行提供了计算平台,CPU中的软件可以通过中转FPGA模块将配置信息发送到接口FPGA模块,还可以通过中转FPGA模块获取系统检测模块的状态;系统监测模块在具体的实施例中可以用于检测服务器的电源状态、温度等状态,并根据相关状态控制风扇转速、电源通断等,同时外接RTC(Real_Time Clock,实时时钟)时钟芯片以提供时钟相关信息。
接口FPGA模块,通过RGMII总线与物理网口连接,可以同时提供千兆网络接口和万兆网络接口;通过RGMII总线与中转FPGA模块连接,实现与CPU模块的通信;通过SRAM总线与数据安全模块连接,转发CPU模块用户管理、密钥管理的指令给数据安全模块;通过内部高速总线连接算法FPGA模块,两片FPGA之间的通信速率可达40Gbps。接口FPGA模块的主要作用是数据的收发、协议的解析和封装。
接口FPGA模块的工作流程是从接口接收数据,进行网络协议解析,如数据需要算法运算则将数据送到算法FPGA模块,并将运算结果进行封装,将封装后的数据从接口发送出去;如数据是不需要算法运算的配置数据和管理数据,接口FPGA模块会转发到CPU模块进行处理。
算法FPGA模块内部设有SM3/SM4算法IP核集群,通过GPIO(General-purposeinput/output,通用型的输入输出)分别连接SM1/SM2算法协处理器和随机数芯片;算法FPGA模块提供的国密算法可供接口FPGA模块调用,也可供CPU模块调用,具有很大的灵活性,提供了高速的SM3/SM4算法与高速的SM1和SM2算法和真随机数功能,起到了提供随机数和国密SM1/SM2/SM3/SM4算法服务,其中,SM1算法和SM2算法由外部的专用算法芯片提供,可同时挂载多片专用算法芯片以提高SM1和SM2算法的速率,SM1算法最高速率可达9Gbps,SM2算法签名运算最高可达36万次/秒,SM3和SM4算法的速率可达10Gbps以上;另外,需要说明的是,SM3/SM4算法IP核集群是由多个算法IP核组成的,所有的算法IP核相互独立,可以同时运行,提供了极高的SM3/SM4算法速率。
如图4所示,一个具体的实施例1中,算法FPGA模块通过PCI-e总线进行DMA(直接存储访问)的IP Core(Intellectual Property core,中断优先寄存器核,即IP核)与主机交互,通过AXI Stream总线利用软件AXI Stream Interconnect分别连接SM3算法池、SM4算法池以及ARM(Acorn RISC Machine,ARM处理器)的访问接口,最终通过EMC(External MemoryController,外部存储器控制器)与板载ARM交互,这里IP核集群包括多个IP核。
接口FPGA模块通过RGMII总线物理网口,该物理网口优选的可以提供千兆网络接口和万兆网络接口,通过RGMII总线与中转FPGA模块连接,通过SRAM(Static Random-Access Memory,静态随机存取存储器)与数据安全模块连接,通过内部高速Data Bus(数据总线)与算法FPGA模块连接,其通信速率可达40Gbps;实现了接口FPGA模块与CPU之间的通信,还可以转发CPU模块的指令给数据安全模块,数据安全模块由符合规范的安全芯片组成,提供了对敏感数据的安全存储,实现与CPU模块配合完成管理操作,该管理操作包括密钥体系的管理和系统用户的管理;同时还实现了对数据报文的收发和/或解析,对数据报文的解析可以解析到IP层(网络层)和/或TCP/UDP层(Transmission Control Protocol/UserDatagram Protocol, 传输控制协议/用户数据报协议),其对数据报文的收发和/或解析的整个过程都不需要CPU参与,减小了CPU运算负担,提高了CPU的运算效率。
如图5所示,一个具体的实施例2中,接口FPGA模块内部进行数据的收发,其核心部分是AXIS_stream_Switch(AXIS总线流交换机)模块,用于接收数据报文,并对数据报文进行解析,并进一步对数据进行高速转发,其外部挂载comE RGMII接口、WX1860 RGMII接口、HSMD 1接口、HSMD2-H2接口、HSH3接口、MCU(Microcontroller Unit,微控制单元)接口、Config Data Operate(配置数据操作)、RGMII接口以及若干ETH Data Depart(以太网数据部),用于AXIS stream格式转换;其中安全密码芯片ACH512通过MCU接口与AXIS_stream_Switch模块连接,DDR Control(Double Data Rate Control,双倍速率控制)通过ConfigData Operate与AXIS_stream_Switch模块连接,ALG FPGA 10G base(万兆以太网的应用层可编程逻辑门器件)通过GMII(Gigabit Medium Independent Interface,千兆媒体独立接口)与RGMII接口连接,ETH PHY #0(以太网物理层#0)和ETH PHY#1(以太网物理层#1)通过ETH Data Depart与AXIS_stream_Switch模块连接,实现了对数据报文的转发。
本实施例的硬件组成部分由中转FPGA模块、接口FPGA模块、算法FPGA模块以及CPU模块以及其他功能性模块共同组成,其中主要由接口FPGA和算法FPGA完成,基本不需要CPU模块参与;接口FPGA模块接收到数据报文后进行协议解析,如果是需要进行安全处理的业务数据,接口FPGA模块会直接把数据报文发送到算法FPGA模块进行安全运算处理,运算完毕后算法FPGA模块会把结果发送到接口FPGA模块进行协议封装,接口FPGA模块将封装好的数据报文从外网发送出去,整个过程不需要CPU模块的参与,仅有少量管理数据或者协商数据需要由接口FPGA模块传递给CPU模块进行处理。这种仅需CPU模块进行少量参与的业务处理方式,隔绝了业务数据和操作系统的联系,很大程度上也隔绝了系统被攻击的可能性,保障了安全性。
本发明一可选的实施例中,对所述数据进行解析,得到解析结果,包括:
对所述数据进行解析,获得数据报文的字段信息;所述字段信息包括以下至少一项:前导码字段、MAC字段、IP地址、报文类型头、净荷以及校验字段,所述MAC字段包括源MAC以及目的MAC,所述IP地址包括源IP以及目的IP。
本实施例中数据报文的字段信息格式如表1所示:
Figure 998669DEST_PATH_IMAGE002
表1
其中,Preamble是前导码字段,MAC是MAC字段,IP Header是IP地址包括IPV4或者IPV6,TCP/UDP header是报文类型头,Payload是净荷,CRC是校验字段。
如图6所示,本发明一可选的实施例中,若所述解析结果表示所述数据报文是需要进行安全处理的业务数据,将所述数据报文发送至所述算法FPGA模块进行安全运算处理,包括:若所述解析结果表示所述数据报文是需要进行安全处理的业务数据,且所述数据报文目的地址是本设备的地址,则将数据报文送入算法FPGA模块进行处理。本发明一可选的实施例中,接收所述算法FPGA模块返回的运算结果,包括:
接收所述算法FPGA模块对所述数据报文采用预设安全算法进行加密和/或解密的运算结果。
其中,安全算法包括以下至少一种算法:SM1算法;SM2算法;SM3算法;SM4算法;其中,所述SM3算法的IP核集群与所述SM4算法的IP核集群相互独立。
本实施例中,在接口FPGA模块对数据报文进行处理,数据报文收发的接口有两种,一种是电口物理PHY模块,在FPGA转换成RGMII接口,另一种是SFP+光模块,其中电口物理PHY模块优选的是1Gbps的电口物理PHY模块,SFP+光模块优选的是10Gbps的SFP+光模块;本实施例中的服务器服务器密码机是一个终端设备,数据报文在服务器密码机中的传输过程包括:判断数据报文是否是传输控制协议TCP报文或用户数据报UDP报文,如果是,解析出源端口地址和目的端口地址;若目的地址是本服务器密码机的端口的地址,若所述数据报文是不需要进行安全运算的控制数据,则将数据报文送入CPU data Fifo(中央处理器数据先进先出)模块,再经由RGMII送入CPU模块进行处理,若将数据报文是需要进行安全运算的业务数据,则通过process data fifo(数据处理先进先出)模块送入算法FPGA模块进行处理;
通过上述数据报文经接口FPGA模块进行传输,可以实现接口FPGA模块把数据报文发送到算法FPGA模块进行安全运算处理的过程,从而减轻了CPU的运算负担。
数据报文的收发、解析以及安全处理都由硬件模块提供,为了实现CPU模块专注于管理服务,进一步减轻CPU模块的运行压力。
本发明的实施例还需要运行在底层硬件模块上的上层软件模块,上层软件模块用于软件与硬件之间的数据通信、系统参数配置、用户管理以及密钥管理等工作。
如图2所示,所述底层硬件包括:中央处理器CPU、与所述CPU通信连接的现场可编程门阵列FPGA接口模块以及所述FPGA接口模块通信连接的算法FPGA模块;上层软件模块包括:系统参数配置子模块、用户管理子模块、密钥管理子模块以及后台服务程序模块,其中,
1)系统参数配置子模块用于配置密码服务平台相关的参数,其参数包括接口FPGA模块的外网MAC地址、接口FPGA模块的外网IP地址、源MAC地址、源IP地址、日志级别以及日志存储位置,参数配置完,由CPU模块下发到对应模块进行处理;
2)用户管理子模块用于密码服务平台上各种不同权限用户的操作,其操作包括用户创建、用户删除、用户登录以及用户登出。可以设置不同权限的用户以执行不同的操作,权限的分割保证了数据和业务的安全性,用户信息等敏感数据信息将由CPU模块发送到数据安全模块进行安全的存储和保护,即使设备被破坏也不会丢失,以保证了安全性;
3)密钥管理子模块用于对称密钥和非对称密钥操作,其操作包括密钥生成、密钥删除、密钥导入、密钥导出、密钥备份以及密钥恢复。密钥的使用和存储的安全性是至关重要的,密钥管理功能由CPU模块和数据安全模块两部分共同完成,CPU模块负责发送密钥管理指令,数据安全模块负责密钥的安全存储和使用,确保在密钥在整个生命周期内都是安全的,任何人都无法窃取或者破坏密钥数据;
4)后台服务程序模块用于监听网络端口、缓存网络数据包、解析封装用户协议、转发配置信息等工作,为上层的系统参数配置子模块、用户管理子模块、密钥管理子模块提供支持。当数据从底层硬件模块发往上层软件模块时,数据经过后台服务程序模块后,会去掉所有的协议封装,包括网络协议和用户自定义协议,只保留有效数据;当数据从上层的3个模块发往底层硬件时,数据经过后台服务程序模块后,会添加相应的协议封装,包括网络协议和用户自定义协议,封装后的数据会转发到对应的底层硬件模块进行处理。
5)数据通信用于软件和硬件之间的数据通信,其通信线路有5条:
a.CPU模块至中转FPGA模块至系统监测模块;
b.CPU模块至中转FPGA模块至接口FPGA模块;
c.CPU模块至中转FPGA模块至接口FPGA模块至千兆/万兆网口;
d.CPU模块至中转FPGA模块至接口FPGA模块至数据安全模块;
e.CPU模块至中转FPGA模块至接口FPGA模块至算法FPGA模块;
其中,a线路是由CPU模块获取系统监测模块状态的数据通路;b线路是由CPU模块进行配置接口FPGA参数的数据通路;c线路是由CPU模块获取不需要算法运算数据包的数据报文通路;d线路是由CPU模块传递用户管理和密钥管理指令到数据安全模块的数据通路;e线路是由CPU模块调用算法FPGA模块所提供的算法的数据通路;
需要说明的是,所有通信线路的数据通信都需要遵循内部定义的通信协议,每个数据包的前16字节为通信协议头,数据包通过源ID和目的ID来完成寻址和路由,其中,通信协议头的格式如表2所示:
Figure 384651DEST_PATH_IMAGE004
表2
本发明的实施例通过上层软件模块向底层硬件模块发送控制指令;接收所述底层硬件模块根据所述控制指令对所述底层硬件模块传输的数据进行处理,得到的处理结果;所述底层硬件包括:中央处理器CPU、与所述CPU通信连接的现场可编程门阵列FPGA接口模块以及所述FPGA接口模块通信连接的算法FPGA模块;所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理;释放了中央处理器CPU的运算能力,缩减了软件开发的难度;提高了安全性和快速响应能力;增大了系统的算法处理性能;保证了服务器密码机的安全性。
如图7所示,本发明的实施例还提供一种服务器密码机的数据处理装置70,应用于服务器密码机,所述装置包括:
收发模块71,用于接收上层软件模块的控制指令;
处理模块72,用于根据所述控制指令对底层硬件模块传输的数据进行处理,得到处理结果;所述底层硬件包括:中央处理器CPU、与所述CPU通信连接的现场可编程门阵列FPGA接口模块以及所述FPGA接口模块通信连接的算法FPGA模块;所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理;
所述收发模块在所述底层硬件模块和上层软件模块之间传输所述处理结果。
可选的,所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理,包括:
所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文进行解析,得到解析结果;
若所述解析结果表示所述数据报文是需要进行安全处理的业务数据,将所述数据报文发送至所述算法FPGA模块进行安全运算处理,并接收所述算法FPGA模块返回的运算结果;
若所述解析结果表示所述数据报文是不需要进行安全处理的控制数据,将所述控制数据发送至所述CPU处理。
可选的,所述接口FPGA模块通过中转FPGA模块与所述CPU通信连接;
所述接口FPGA模块将所述控制数据通过所述中转FPGA模块发送至所述CPU处理和/或接收所述CPU发送的配置信息;所述配置信息由上层软件模块中的系统参数配置模块产生并配置给所述CPU。
可选的,所述接口FPGA模块与数据安全模块通信连接;
所述接口FPGA模块接收所述CPU发送的密钥管理指令,将所述密钥管理指令发送给所述数据安全模块,由所述数据安全模块根据所述密钥管理指令进行以下至少一项操作:对称密钥或者非对称密钥的生成、删除、导入、导出、备份、恢复。
可选的,对所述数据进行解析,得到解析结果,包括:
对所述数据进行解析,获得数据报文的字段信息;所述字段信息包括以下至少一项:前导码字段、MAC字段、IP地址、报文类型头、净荷以及校验字段,所述MAC字段包括源MAC以及目的MAC,所述IP地址包括源IP以及目的IP。
可选的,若所述解析结果表示所述数据报文是需要进行安全处理的业务数据,将所述数据报文发送至所述算法FPGA模块进行安全运算处理,包括:
若所述解析结果表示所述数据报文是需要进行安全处理的业务数据,且所述数据报文目的地址是本设备的地址,则将数据报文送入算法FPGA模块进行处理。
可选的,接收所述算法FPGA模块返回的运算结果,包括:
接收所述算法FPGA模块对所述数据报文采用预设安全算法进行加密和/或解密的运算结果。
需要说明的是,该装置是与上述方法对应的装置,上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。本发明的实施例还提供一种服务器密码机,包括如上所述的数据处理装置。
本发明的实施例还提供一种服务器密码机,包括:上层软件模块以及底层硬件模块;
所述上层软件模块向所述底层硬件模块发送控制指令;
所述上层软件模块接收所述底层硬件模块根据所述控制指令对所述底层硬件模块传输的数据进行处理的处理结果;所述底层硬件模块包括:中央处理器CPU、接口现场可编程门阵列FPGA模块以及算法FPGA模块;所述CPU与所述接口FPGA模块通信连接;所述接口FPGA模块与所述算法FPGA模块通信连接;所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理。
可选的,所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理,包括:
所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文进行解析,得到解析结果;
若所述解析结果表示所述数据报文是需要进行安全处理的业务数据,将所述数据报文发送至所述算法FPGA模块进行安全运算处理,并接收所述算法FPGA模块返回的运算结果;
若所述解析结果表示所述数据报文是不需要进行安全处理的控制数据,将所述控制数据发送至所述CPU处理。
可选的,所述接口FPGA模块通过中转FPGA模块与所述CPU通信连接;
所述接口FPGA模块将所述控制数据通过所述中转FPGA模块发送至所述CPU处理和/或接收所述CPU发送的配置信息;所述配置信息由上层软件模块中的系统参数配置模块产生并配置给所述CPU。
可选的,所述接口FPGA模块与数据安全模块通信连接;
所述接口FPGA模块接收所述CPU发送的密钥管理指令,将所述密钥管理指令发送给所述数据安全模块,由所述数据安全模块根据所述密钥管理指令进行以下至少一项操作:对称密钥或者非对称密钥的生成、删除、导入、导出、备份、恢复。
可选的,对所述数据进行解析,得到解析结果,包括:
对所述数据进行解析,获得数据报文的字段信息;所述字段信息包括以下至少一项:前导码字段、MAC字段、IP地址、报文类型头、净荷以及校验字段,所述MAC字段包括源MAC以及目的MAC,所述IP地址包括源IP以及目的IP。
可选的,若所述解析结果表示所述数据报文是需要进行安全处理的业务数据,将所述数据报文发送至所述算法FPGA模块进行安全运算处理,包括:
若所述解析结果表示所述数据报文是需要进行安全处理的业务数据,且所述数据报文目的地址是本设备的地址,则将数据报文送入算法FPGA模块进行处理。
可选的,接收所述算法FPGA模块返回的运算结果,包括:
接收所述算法FPGA模块对所述数据报文采用预设安全算法进行加密和/或解密的运算结果。
需要说明的是,该服务器密码机是与方法对应的服务器密码机,上述方法实施例中的所有实现方式均适用于该服务器密码机的实施例中,也能达到相同的技术效果。
本发明的实施例还提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上所述的方法。上述各方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可 以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种服务器密码机的数据处理方法,其特征在于,所述方法包括:
上层软件模块向底层硬件模块发送控制指令;
接收所述底层硬件模块根据所述控制指令对所述底层硬件模块传输的数据进行处理得到的处理结果;所述底层硬件包括:中央处理器CPU、与所述CPU通信连接的现场可编程门阵列FPGA接口模块以及所述FPGA接口模块通信连接的算法FPGA模块;所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理。
2.根据权利要求1所述的服务器密码机的数据处理方法,其特征在于,所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理,包括:
所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文进行解析,得到解析结果;
若所述解析结果表示所述数据报文是需要进行安全处理的业务数据,将所述数据报文发送至所述算法FPGA模块进行安全运算处理,并接收所述算法FPGA模块返回的运算结果;
若所述解析结果表示所述数据报文是不需要进行安全处理的控制数据,将所述控制数据发送至所述CPU处理。
3.根据权利要求2所述的服务器密码机的数据处理方法,其特征在于,所述接口FPGA模块通过中转FPGA模块与所述CPU通信连接;
所述接口FPGA模块将所述控制数据通过所述中转FPGA模块发送至所述CPU处理和/或接收所述CPU发送的配置信息;所述配置信息由上层软件模块中的系统参数配置模块产生并配置给所述CPU。
4.根据权利要求2所述的服务器密码机的数据处理方法,其特征在于,所述接口FPGA模块与数据安全模块通信连接;
所述接口FPGA模块接收所述CPU发送的密钥管理指令,将所述密钥管理指令发送给所述数据安全模块,由所述数据安全模块根据所述密钥管理指令进行以下至少一项操作:对称密钥或者非对称密钥的生成、删除、导入、导出、备份、恢复。
5.根据权利要求2所述的服务器密码机的数据处理方法,其特征在于,对所述数据进行解析,得到解析结果,包括:
对所述数据进行解析,获得数据报文的字段信息;所述字段信息包括以下至少一项:前导码字段、MAC字段、IP地址、报文类型头、净荷以及校验字段,所述MAC字段包括源MAC以及目的MAC,所述IP地址包括源IP以及目的IP。
6.根据权利要求5所述的服务器密码机的数据处理方法,其特征在于,若所述解析结果表示所述数据报文是需要进行安全处理的业务数据,将所述数据报文发送至所述算法FPGA模块进行安全运算处理,包括:若所述解析结果表示所述数据报文是需要进行安全处理的业务数据,且所述数据报文目的地址是本设备的地址,则将数据报文送入算法FPGA模块进行处理。
7.根据权利要求2所述的服务器密码机的数据处理方法,其特征在于,接收所述算法FPGA模块返回的运算结果,包括:
接收所述算法FPGA模块对所述数据报文采用预设安全算法进行加密和/或解密的运算结果。
8.一种服务器密码机的数据处理装置,其特征在于,应用于服务器密码机,所述装置包括:
收发模块,用于接收上层软件模块的控制指令;
处理模块,用于根据所述控制指令对底层硬件模块传输的数据进行处理,得到处理结果;所述底层硬件包括:中央处理器CPU、与所述CPU通信连接的现场可编程门阵列FPGA接口模块以及所述FPGA接口模块通信连接的算法FPGA模块;所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理;所述收发模块在所述底层硬件模块和上层软件模块之间传输所述处理结果。
9.一种服务器密码机,其特征在于,包括:上层软件模块以及底层硬件模块;
所述上层软件模块向所述底层硬件模块发送控制指令;
所述上层软件模块接收所述底层硬件模块根据所述控制指令对所述底层硬件模块传输的数据进行处理的处理结果;所述底层硬件模块包括:中央处理器CPU、接口现场可编程门阵列FPGA模块以及算法FPGA模块;所述CPU与所述接口FPGA模块通信连接;所述接口FPGA模块与所述算法FPGA模块通信连接;所述FPGA接口模块根据上层软件模块的控制指令对其接收到的数据报文发送至所述算法FPGA模块进行安全运算处理或者发送至所述CPU处理。
10.一种计算机可读存储介质,其特征在于,存储指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至7任一项所述的方法。
CN202110479428.9A 2021-04-30 2021-04-30 一种服务器密码机的数据处理方法、装置及服务器密码机 Active CN112910646B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110479428.9A CN112910646B (zh) 2021-04-30 2021-04-30 一种服务器密码机的数据处理方法、装置及服务器密码机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110479428.9A CN112910646B (zh) 2021-04-30 2021-04-30 一种服务器密码机的数据处理方法、装置及服务器密码机

Publications (2)

Publication Number Publication Date
CN112910646A true CN112910646A (zh) 2021-06-04
CN112910646B CN112910646B (zh) 2021-07-20

Family

ID=76108922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110479428.9A Active CN112910646B (zh) 2021-04-30 2021-04-30 一种服务器密码机的数据处理方法、装置及服务器密码机

Country Status (1)

Country Link
CN (1) CN112910646B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978950A (zh) * 2022-06-02 2022-08-30 江苏新质信息科技有限公司 基于fpga、cpu协同的网络算法调用方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202711261U (zh) * 2012-08-16 2013-01-30 北京江南天安科技有限公司 一种加密卡
CN106130721A (zh) * 2016-08-14 2016-11-16 北京数盾信息科技有限公司 一种高速网络存贮加密机
CN206712810U (zh) * 2017-05-10 2017-12-05 北京数盾信息科技有限公司 一种基于pci‑e总线的高速密码卡
CN108345806A (zh) * 2017-12-14 2018-07-31 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种硬件加密卡和加密方法
CN109145568A (zh) * 2018-08-21 2019-01-04 西安得安信息技术有限公司 一种基于pci-e接口的全算法密码卡及其加密方法
CN112035902A (zh) * 2020-08-12 2020-12-04 北京数盾信息科技有限公司 一种面向高速高并发应用的加密模组
US20200412701A1 (en) * 2016-09-29 2020-12-31 Amazon Technologies, Inc. Logic repository service using encrypted configuration data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202711261U (zh) * 2012-08-16 2013-01-30 北京江南天安科技有限公司 一种加密卡
CN106130721A (zh) * 2016-08-14 2016-11-16 北京数盾信息科技有限公司 一种高速网络存贮加密机
US20200412701A1 (en) * 2016-09-29 2020-12-31 Amazon Technologies, Inc. Logic repository service using encrypted configuration data
CN206712810U (zh) * 2017-05-10 2017-12-05 北京数盾信息科技有限公司 一种基于pci‑e总线的高速密码卡
CN108345806A (zh) * 2017-12-14 2018-07-31 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种硬件加密卡和加密方法
CN109145568A (zh) * 2018-08-21 2019-01-04 西安得安信息技术有限公司 一种基于pci-e接口的全算法密码卡及其加密方法
CN112035902A (zh) * 2020-08-12 2020-12-04 北京数盾信息科技有限公司 一种面向高速高并发应用的加密模组

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978950A (zh) * 2022-06-02 2022-08-30 江苏新质信息科技有限公司 基于fpga、cpu协同的网络算法调用方法及系统
CN114978950B (zh) * 2022-06-02 2023-10-27 江苏新质信息科技有限公司 基于fpga、cpu协同的网络算法调用方法及系统

Also Published As

Publication number Publication date
CN112910646B (zh) 2021-07-20

Similar Documents

Publication Publication Date Title
CN113194097B (zh) 一种安全网关的数据处理方法、装置及安全网关
CN112910932B (zh) 一种数据处理方法、装置及系统
CN109842585B (zh) 面向工业嵌入式系统的网络信息安全防护单元和防护方法
US9596075B2 (en) Transparent serial encryption
CN100358280C (zh) 一种网络安全装置及其实现方法
US7634650B1 (en) Virtualized shared security engine and creation of a protected zone
JP5074558B2 (ja) IPSecを用いたネットワーク処理
CN100594690C (zh) 一种安全网关中进行安全策略统一处理的方法及装置
CN1883154B (zh) 向物理层收发器传输安全性/加密信息的方法和装置
CN110999248A (zh) 使用片上系统(SoC)体系结构的安全通信加速
CN108881302B (zh) 工业以太网与blvds总线互联通讯装置及工业控制系统
WO2005052754A2 (en) Secure network access devices with data encryption
CN107612679B (zh) 一种基于国密算法的以太网桥加扰终端
CN111262823B (zh) 一种安全网关及其数据处理方法
CN112910646B (zh) 一种服务器密码机的数据处理方法、装置及服务器密码机
CN110602107B (zh) 基于Zynq的网络密码机及网络数据加解密方法
CN106656484B (zh) 一种pci密码卡驱动系统及其实现方法
CN106203188B (zh) 一种基于双cpu加mac的单向数据传输系统及其方法
CN113094762B (zh) 一种数据处理方法、装置及签名验签服务器
CN201051744Y (zh) 一种安全的加密网卡装置
CN106385423A (zh) 一种数据加密传输方法及系统
CN110995726B (zh) 一种基于内嵌arm的fpga芯片的网络隔离系统
Luo et al. Routing and security mechanisms design for automotive tsn/can fd security gateway
CN107819788B (zh) 一种基于电力生产控制与监测数据的安全加密系统
CN218162489U (zh) 一种具有加密通信功能的物联网网关设备

Legal Events

Date Code Title Description
PB01 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
CP02 Change in the address of a patent holder

Address after: 100000 901, Floor 9, Building 7, Yard 8, Auto Museum East Road, Fengtai District, Beijing

Patentee after: BEIJING SHUDUN INFORMATION TECHNOLOGY CO.,LTD.

Address before: 100094 room 101-502, 5th floor, building 10, yard 3, fengxiu Middle Road, Haidian District, Beijing

Patentee before: BEIJING SHUDUN INFORMATION TECHNOLOGY CO.,LTD.

CP02 Change in the address of a patent holder