CN115085977A - 一种基于Unix域套接字实现国密功能的系统及其方法 - Google Patents
一种基于Unix域套接字实现国密功能的系统及其方法 Download PDFInfo
- Publication number
- CN115085977A CN115085977A CN202210570710.2A CN202210570710A CN115085977A CN 115085977 A CN115085977 A CN 115085977A CN 202210570710 A CN202210570710 A CN 202210570710A CN 115085977 A CN115085977 A CN 115085977A
- Authority
- CN
- China
- Prior art keywords
- gateway
- api gateway
- encryption request
- management
- client
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 111
- 238000012545 processing Methods 0.000 claims abstract description 41
- 238000004891 communication Methods 0.000 claims abstract description 11
- 230000002159 abnormal effect Effects 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Abstract
本发明涉及一种基于Unix域套接字实现国密功能的系统及其方法,该系统包括管理端、API网关、客户端和后端,其中,管理端和客户端分别连接至API网关,API网关连接至后端,API网关连接有国密应用端,API网关和国密应用端部署于同一个处理服务器,管理端用于发送外界控制信号给API网关;客户端用于发送加密请求给API网关;API网关采用多进程模型,通过执行网关业务逻辑、与国密应用端之间通过Unix域套接字进行通讯,以完成对加密请求的处理,并将处理结果转发至后端。与现有技术相比,本发明在同一个处理服务器上启动网关应用和国密应用,两个应用通过Unix域套接字实现进程间通讯,能够有效提高网关处理请求的效率、节省硬件资源。
Description
技术领域
本发明涉及网关开发技术领域,尤其是涉及一种基于Unix域套接字实现国密功能的系统及其方法。
背景技术
国密即国家密码局认定的国产密码算法。目前在实现国密功能时,主要是利用网关通过HTTP请求调用可提供国密相关功能的应用,再通过该应用的国密功能对报文进行相关操作(如加密、哈希等),应用操作完毕后最终将结果返回给网关。
上述方式在实际使用时,会增加额外的网络调用过程,网关调用前需要将相关信息序列化,然后发送出去;国密应用接收到请求后,则需要先对请求反序列化,然后再对请求进行相关的国密处理,处理完毕后将结果序列化后、再返回给网关;网关收到请求后需要先将结果反序列化后才能继续进行相关处理。这些额外的处理步骤将会严重降低网关处理相关请求的效率,此外,由于还需要单独启动一个提供国密服务的应用,也就存在浪费硬件资源的情况。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于Unix域套接字实现国密功能的系统及其方法,以能够提高网关处理请求的效率、节省硬件资源。
本发明的目的可以通过以下技术方案来实现:一种基于Unix域套接字实现国密功能的系统,包括管理端、API网关、客户端和后端,所述管理端和客户端分别连接至API网关,所述API网关连接至后端,所述API网关连接有国密应用端,所述API网关和国密应用端部署于同一个处理服务器,所述管理端用于发送外界控制信号给API网关;
所述客户端用于发送加密请求给API网关;
所述API网关采用多进程模型,通过执行网关业务逻辑、与国密应用端之间通过Unix域套接字进行通讯,以完成对加密请求的处理,并将处理结果转发至后端。
进一步地,所述多进程模型包括与管理进程分别连接的多个工作进程,所述管理进程与管理端连接,用于将外界控制信号转发给各工作进程,以及监控各工作进程的运行状态;
所述多个工作进程同等竞争来自客户端的加密请求,并对竞争得到的加密请求进行处理,将处理结果转发至后端。
进一步地,所述管理进程和多个工作进程分别设置有对应的Lua虚拟机。
一种基于Unix域套接字实现国密功能的方法,包括以下步骤:
S1、管理端发送外界控制信号给API网关;
客户端发送加密请求给API网关;
S2、根据外界控制信号,API网关对应执行启动、停止或重启操作;
S3、API网关接收加密请求,运行网关业务逻辑,并与国密应用端之间通过Unix域套接字进行通讯,以完成对加密请求的处理,得到处理结果;
S4、API网关将处理结果转发至后端。
进一步地,所述步骤S1具体包括以下步骤:
S11、管理端发送外界控制信号给管理进程;
S12、管理进程将外界控制信号对应转发给各个工作进程,并实时监控个工作进程的运行状态;
S13、客户端使用国密库对原始请求进行加密,得到加密请求,并将加密请求发送至API网关。
进一步地,所述步骤S12中若管理进程监控到某个工作进程发生异常,则输出启动信号给其余正常的工作进程。
进一步地,所述步骤S3具体包括以下步骤:
S31、多个工作进程竞争来自客户端的加密请求;
S32、针对竞争得到的加密请求,工作进程执行网关业务逻辑,与国密应用端之间通过Unix域套接字进行通讯,对加密请求进行解密,得到原始请求。
进一步地,所述步骤S32中工作进程具体是在Lua环境中执行网关业务逻辑,所述网关业务逻辑包括但不限于黑白名单、限流和鉴权。
进一步地,所述步骤S32具体包括以下步骤:
S321、针对竞争得到的加密请求,工作进程依次执行黑白名单、限流和鉴权操作;
S322、在执行鉴权操作时,工作进程通过Unix域套接字建立与国密应用端的通讯连接,完成对加密请求的解密,得到原始请求。
进一步地,所述步骤S322的具体过程为:工作进程通过Unix套接字将加密请求报文发送给国密应用端;
国密应用端对接收到的加密请求报文进行相应解密操作,得到原始请求报文,并将原始请求报文返回给对应的工作进程。
与现有技术相比,本发明通过在同一个处理服务器上部署国密应用端和API网关,API网关在接收客户端的请求后,能够通过Unix域套接字技术实现与国密应用端的通讯,从而完成对请求的处理,由此减少了额外的网络请求及序列化反序列化操作,提高了网关处理请求的效率;由于API网关能够在同一台服务器上调用国密应用,不再需要启动额外的国密应用,从而节省了硬件资源。
本发明中API网关采用多进程模型,管理进程管理多个工作进程、并响应管理端的操作;各个工作进程独立运行,通过竞争获得来自客户端的请求并进行处理,进一步提升了网关处理请求的效率。
附图说明
图1为本发明的系统结构示意图;
图2为实施例中系统架构示意图;
图3为本发明的方法流程示意图;
图4为实施例中工作进程处理请求的流程示意图;
图中标记说明:1、管理端,2、API网关,3、客户端,4、后端,5、国密应用端,6、处理服务器。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
如图1所示,一种基于Unix域套接字实现国密功能的系统,包括管理端1、API网关2、客户端3和后端4,管理端1和客户端3分别连接至API网关2,API网关2连接至后端4,API网关2连接有国密应用端5,API网关2和国密应用端5部署于同一个处理服务器6,管理端1用于发送外界控制信号给API网关2;
客户端3用于发送加密请求给API网关2;
API网关2采用多进程模型,通过执行网关业务逻辑、与国密应用端5之间通过Unix域套接字进行通讯,以完成对加密请求的处理,并将处理结果转发至后端4。
如图2所示,API网关2的多进程模型包括与管理进程分别连接的多个工作进程,管理进程与管理端1连接,用于将外界控制信号转发给各工作进程,以及监控各工作进程的运行状态;
多个工作进程同等竞争来自客户端3的加密请求,并通过Unix域套接字与国密应用端5进行通讯连接,以对竞争得到的加密请求进行处理,再将处理结果转发至后端4。
本实施例中,管理进程和多个工作进程分别设置有对应的Lua虚拟机。
将上述系统应用于实际,以实现一种基于Unix域套接字实现国密功能的方法,如图3所示,包括以下步骤:
S1、管理端发送外界控制信号给API网关;
客户端发送加密请求给API网关;
具体的:
S11、管理端发送外界控制信号给管理进程;
S12、管理进程将外界控制信号对应转发给各个工作进程,并实时监控个工作进程的运行状态,若管理进程监控到某个工作进程发生异常,则输出启动信号给其余正常的工作进程;
S13、客户端使用国密库对原始请求进行加密,得到加密请求,并将加密请求发送至API网关;
S2、根据外界控制信号,API网关对应执行启动、停止或重启操作;
S3、API网关接收加密请求,运行网关业务逻辑,并与国密应用端之间通过Unix域套接字进行通讯,以完成对加密请求的处理,得到处理结果;
具体的:
S31、多个工作进程竞争来自客户端的加密请求;
S32、针对竞争得到的加密请求,工作进程执行网关业务逻辑,与国密应用端之间通过Unix域套接字进行通讯,对加密请求进行解密,得到原始请求,本实施例中,如图4所示,工作进程具体是在Lua环境中执行网关业务逻辑,网关业务逻辑包括但不限于黑白名单、限流和鉴权;
工作进程依次执行黑白名单、限流和鉴权操作;
在执行鉴权操作时,工作进程通过Unix域套接字建立与国密应用端的通讯连接,即通过Unix套接字将加密请求报文发送给国密应用端;国密应用端对接收到的加密请求报文进行相应解密操作,得到原始请求报文,并将原始请求报文返回给对应的工作进程;
S4、API网关将处理结果转发至后端。
本技术方案在具体应用时,首先需要在同一台处理服务器上部署API网关和国密应用端,并保证二者之间通过Unix域套接字实现通讯连接。
API网关采用多进程模型,其中管理进程负责管理多个工作进程,管理进程还用于响应管理员的各种操作,工作进程则负责独立处理用户请求,每个工作进程中都包含一个LuaJIT,LuaJIT执行网关相关的业务逻辑。当用户请求进入API网关后,LuaJIT会运行相关网关的业务逻辑,如黑白名单,限流鉴权等。当网关执行鉴权时如需使用国密功能(sm2,sm4等),则通过Unix域套接字建立与国密应用端的通讯连接,以实现解密操作,当网关的内部处理完请求后,会将该笔请求转发到对应的上游服务(即转发至后端)。
综上所述,本技术方案通过将API网关和国密应用端部署于同一台处理服务器,基于Unix域套接字技术,使得网关运行时可以在同一台服务器上调用国密应用来处理相关请求,减少了额外的网络请求,提高了网关处理请求的效率;并且由于网关具备国密相关功能后就不再需要额外启动国密应用,可有效节省硬件资源。
Claims (10)
1.一种基于Unix域套接字实现国密功能的系统,其特征在于,包括管理端(1)、API网关(2)、客户端(3)和后端(4),所述管理端(1)和客户端(3)分别连接至API网关(2),所述API网关(2)连接至后端(4),所述API网关(2)连接有国密应用端(5),所述API网关(2)和国密应用端(5)部署于同一个处理服务器(6),所述管理端(1)用于发送外界控制信号给API网关(2);
所述客户端(3)用于发送加密请求给API网关(2);
所述API网关(2)采用多进程模型,通过执行网关业务逻辑、与国密应用端(5)之间通过Unix域套接字进行通讯,以完成对加密请求的处理,并将处理结果转发至后端(4)。
2.根据权利要求1所述的一种基于Unix域套接字实现国密功能的系统,其特征在于,所述多进程模型包括与管理进程分别连接的多个工作进程,所述管理进程与管理端(1)连接,用于将外界控制信号转发给各工作进程,以及监控各工作进程的运行状态;
所述多个工作进程同等竞争来自客户端(3)的加密请求,并对竞争得到的加密请求进行处理,将处理结果转发至后端(4)。
3.根据权利要求2所述的一种基于Unix域套接字实现国密功能的系统,其特征在于,所述管理进程和多个工作进程分别设置有对应的Lua虚拟机。
4.一种基于Unix域套接字实现国密功能的方法,其特征在于,包括以下步骤:
S1、管理端发送外界控制信号给API网关;
客户端发送加密请求给API网关;
S2、根据外界控制信号,API网关对应执行启动、停止或重启操作;
S3、API网关接收加密请求,运行网关业务逻辑,并与国密应用端之间通过Unix域套接字进行通讯,以完成对加密请求的处理,得到处理结果;
S4、API网关将处理结果转发至后端。
5.根据权利要求4所述的一种基于Unix域套接字实现国密功能的方法,其特征在于,所述步骤S1具体包括以下步骤:
S11、管理端发送外界控制信号给管理进程;
S12、管理进程将外界控制信号对应转发给各个工作进程,并实时监控个工作进程的运行状态;
S13、客户端使用国密库对原始请求进行加密,得到加密请求,并将加密请求发送至API网关。
6.根据权利要求5所述的一种基于Unix域套接字实现国密功能的方法,其特征在于,所述步骤S12中若管理进程监控到某个工作进程发生异常,则输出启动信号给其余正常的工作进程。
7.根据权利要求4所述的一种基于Unix域套接字实现国密功能的方法,其特征在于,所述步骤S3具体包括以下步骤:
S31、多个工作进程竞争来自客户端的加密请求;
S32、针对竞争得到的加密请求,工作进程执行网关业务逻辑,与国密应用端之间通过Unix域套接字进行通讯,对加密请求进行解密,得到原始请求。
8.根据权利要求7所述的一种基于Unix域套接字实现国密功能的方法,其特征在于,所述步骤S32中工作进程具体是在Lua环境中执行网关业务逻辑,所述网关业务逻辑包括但不限于黑白名单、限流和鉴权。
9.根据权利要求7所述的一种基于Unix域套接字实现国密功能的方法,其特征在于,所述步骤S32具体包括以下步骤:
S321、针对竞争得到的加密请求,工作进程依次执行黑白名单、限流和鉴权操作;
S322、在执行鉴权操作时,工作进程通过Unix域套接字建立与国密应用端的通讯连接,完成对加密请求的解密,得到原始请求。
10.根据权利要求8所述的一种基于Unix域套接字实现国密功能的方法,其特征在于,所述步骤S322的具体过程为:工作进程通过Unix套接字将加密请求报文发送给国密应用端;
国密应用端对接收到的加密请求报文进行相应解密操作,得到原始请求报文,并将原始请求报文返回给对应的工作进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210570710.2A CN115085977B (zh) | 2022-05-24 | 2022-05-24 | 一种基于Unix域套接字实现国密功能的系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210570710.2A CN115085977B (zh) | 2022-05-24 | 2022-05-24 | 一种基于Unix域套接字实现国密功能的系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115085977A true CN115085977A (zh) | 2022-09-20 |
CN115085977B CN115085977B (zh) | 2024-03-26 |
Family
ID=83249082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210570710.2A Active CN115085977B (zh) | 2022-05-24 | 2022-05-24 | 一种基于Unix域套接字实现国密功能的系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115085977B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140351573A1 (en) * | 2013-05-23 | 2014-11-27 | Phantom Technologies, Inc. | Selectively performing man in the middle decryption |
CN106790697A (zh) * | 2017-02-20 | 2017-05-31 | 深圳市中博睿存信息技术有限公司 | 安全存储实现方法及装置 |
CN109672612A (zh) * | 2018-12-13 | 2019-04-23 | 中国电子科技集团公司电子科学研究院 | Api网关系统 |
CN113507372A (zh) * | 2021-06-28 | 2021-10-15 | 上海浦东发展银行股份有限公司 | 一种接口请求的双向认证方法 |
-
2022
- 2022-05-24 CN CN202210570710.2A patent/CN115085977B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140351573A1 (en) * | 2013-05-23 | 2014-11-27 | Phantom Technologies, Inc. | Selectively performing man in the middle decryption |
CN106790697A (zh) * | 2017-02-20 | 2017-05-31 | 深圳市中博睿存信息技术有限公司 | 安全存储实现方法及装置 |
CN109672612A (zh) * | 2018-12-13 | 2019-04-23 | 中国电子科技集团公司电子科学研究院 | Api网关系统 |
CN113507372A (zh) * | 2021-06-28 | 2021-10-15 | 上海浦东发展银行股份有限公司 | 一种接口请求的双向认证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115085977B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108600182B (zh) | 区块链密钥管理方法、系统及密钥管理设备、存储介质 | |
WO2019061720A1 (zh) | 一种数据同步的方法和系统 | |
CN110287041B (zh) | 一种业务数据发送方法、装置、设备及存储介质 | |
CN111918274B (zh) | 码号配置、管理方法、装置、电子设备及可读存储介质 | |
CN114401151B (zh) | 群组消息加密方法、装置、设备和存储介质 | |
CN113434905B (zh) | 数据传输方法、装置、计算机设备及存储介质 | |
CN115174267B (zh) | 一种tls协议协商方法、设备及介质 | |
WO2020077867A1 (zh) | 一种通信链路的建立方法及系统 | |
CN113642014A (zh) | 一种基于混合云的数据访问系统及公有云服务器 | |
CN113923655A (zh) | 基于相邻节点的数据解密接收方法及装置 | |
CN113992427A (zh) | 基于相邻节点的数据加密发送方法及装置 | |
CN113992432A (zh) | 消息处理方法、消息总线系统、计算机设备及存储介质 | |
CN114338179A (zh) | 页面加密方法、页面解密方法、装置、终端和服务器 | |
CN115085977B (zh) | 一种基于Unix域套接字实现国密功能的系统及其方法 | |
US10268532B2 (en) | Application message processing system, method, and application device | |
US11641350B2 (en) | Information processing method and information processing system for encryption machine | |
WO2022121492A1 (zh) | 文件传输方法、装置、计算机设备及存储介质 | |
CN110545320A (zh) | 一种内网数据交互方法及设备 | |
CN111131455B (zh) | 数据代理方法、装置、设备及存储介质 | |
CN111586174B (zh) | 一种网络服务系统 | |
CN115442066A (zh) | 一种基于api网关实现国密功能的系统及其方法 | |
CN114793178A (zh) | 配网方法和装置 | |
CN106411570A (zh) | 实现sctp协议热备份的方法、系统及服务器主机 | |
CN112165529A (zh) | 一种低成本跨网络数据交换的方法、装置、设备和介质 | |
CN105681279A (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 |