一种基于API网关的SSL协议相互转换的方法及装置与流程

    专利2026-10-08  4


    本发明涉及通信领域,尤其是一种基于api网关的ssl协议相互转换的方法及装置。


    背景技术:

    1、随着我国对数据安全重视程度的不断提升,国密ssl证书越来越受到广大政府机关和企业的青睐,成为提升网站数据安全能力的重要技术手段。由于国密ssl和国际ssl的加密算法、消息格式、协议类型不一样,企业无法同时支持国密ssl和国际ssl协议。目前在网站加密协议中大多数使用了tls,少数国内网站使用了国密算法。客户端在连接服务器前无法确定服务器使用了何种协议进行加密,如果使用了错误的协议则会导致连接失败。

    2、为了解决以上问题,业界一般使用如下方案:部署两套后端服务器,分别处理国密ssl和国际ssl协议的报文;再部署一套代理设备,根据客户端报文的ssl协议版本,判断客户端报文是国密ssl还是国际ssl协议,将报文转发到对应的后端服务器进行处理。但是此种方案会增加企业成本,同时不利于快速部署。


    技术实现思路

    1、为解决现有技术存在的问题,本发明提供一种基于api网关的ssl协议相互转换的方法及装置,实现企业在不改造后端服务的情况下,快速低成本的支持国密ssl协议。

    2、为实现上述目的,本发明采用下述技术方案:

    3、在本发明一实施例中,提出了一种基于api网关的ssl协议相互转换的方法,该方法包括:

    4、s01、流量预处理,使用api网关接收客户端流量,并确定流量的协议类型;

    5、进一步地,所述s01包括:

    6、s011、将国密ssl的证书上传到api网关;

    7、s012、接收客户端流量,识别流量中请求头的user-agent字段,判断客户端浏览器是否是全球通用浏览器,将全球通用浏览器的流量直接转发到后端服务;

    8、s013、如客户端浏览器不是全球通用浏览器,继续识别ssl协议的client hello报文;

    9、s014、解析client hello报文中的版本号,并确定流量的协议类型是国密ssl协议还是国际ssl协议;

    10、s015、将后续国际ssl协议的报文匹配路由并转发到后端服务。

    11、浏览器的user-agent是不同的,全球通用浏览器目前并不兼容国密ssl协议,通过识别user-agent可以对报文进行初步筛选。

    12、进一步地,所述国密ssl协议版本号为0x0101;

    13、所述国际ssl协议中tlsv1.0版本号为0x0301,国际ssl协议中tlsv1.1版本号为0x0302,国际ssl协议中tlsv1.2版本号为0x0303,国际ssl协议中tlsv1.3版本号为0x0304。

    14、s02、配置管理,对国密ssl协议和国际ssl协议的映射关系进行管理;

    15、进一步地,所述s02包括:

    16、s021、将国密ssl协议的版本号映射成后端服务支持的最高tls版本号;

    17、例如:后端服务同时支持tlsv1.0、tlsv1.1、tlsv1.2和tlsv1.3,此时选择tlsv1.3作为国密ssl协议映射的tls版本。

    18、s022、将国际ssl协议的客户端随机数、压缩算法列表、扩展字段与国密ssl协议保持一致;

    19、进一步地,所述s022中压缩算法包括:null压缩算法、lzs压缩算法、deflate压缩算法、gzip压缩算法等。

    20、s023、将国密ssl协议支持的密码套件映射成对应的国际ssl协议密码套件;

    21、进一步地,所述s023中密码套件包括加密算法和密钥长度。

    22、进一步地,所述s023中国密ssl协议的常用加密算法包括:sm2、sm3和sm4;国际ssl协议的常用加密算法包括:rsa、sha、diffie-hellman、aes等算法。

    23、国密ssl协议和国际ssl协议算法的密钥长度和加密强度并不完全对等,例如:rsa加密算法常用的密钥长度是2048位,sm2算法常用的密钥长度是256位,等同于rsa的3072位。

    24、例如:将国密ssl协议的256位密钥长度的sm2算法映射成2048位密钥长度的rsa算法。

    25、s024、根据新的报文长度重新生成国际ssl协议的长度字段。

    26、s03、协议转换,对国密ssl协议的流量进行转换,将客户端的流量和国际ssl协议的流量相互转换;

    27、进一步地,所述s03包括:

    28、s031、根据映射关系,将国密ssl协议的流量重新封装成国际ssl协议的clienthello报文;

    29、s032、使用重新封装的client hello报文与后端服务建立连接;

    30、s033、将重新封装的client hello报文源端口作为key,客户端的源ip和源端口作为value,将key-value存入redis缓存;

    31、进一步地,所述s033中源端口为:api网关访问后端服务使用的端口。

    32、进一步地,所述s033中源ip和源端口分别为:客户端访问api网关的ip和使用的端口。

    33、s034、对后续客户端的国密ssl协议报文进行ssl卸载,并根据所述映射关系,生成新的国际ssl报文。

    34、s04、流量转发,将转换后的国际ssl报文转发到后端服务,再将收到的后端服务响应转发到客户端。

    35、进一步地,所述s04包括:

    36、s041、将转换后的国际ssl报文转发到后端服务;

    37、s042、api网关收到后端服务的响应时,使用响应报文中的目的端口作为key,找到对应的客户端ip和端口;

    38、进一步地,所述响应报文中的目的端口为:api网关访问后端服务使用的端口。

    39、s043、对国际ssl的报文进行卸载,按照映射关系,重新封装成国密ssl报文;

    40、s044、将封装后的国密ssl报文转发到所述客户端ip和端口;

    41、s045、后续客户端请求按照流量转发模块的规则进行转发。

    42、在本发明一实施例中,还提出了一种基于api网关的ssl协议相互转换的装置,该装置包括:

    43、流量预处理模块,使用api网关接收客户端流量,并确定流量的协议类型是国密ssl协议还是国际ssl协议;

    44、配置管理模块,对国密ssl协议和国际ssl协议的映射关系进行管理;

    45、协议转换模块,对国密ssl协议的流量进行转换,将客户端的流量和国际ssl协议的流量相互转换;

    46、流量转发模块,用于将转换后的国际ssl报文转发到后端服务,再将收到的后端服务响应转换后转发到客户端。

    47、在本发明一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述基于api网关的ssl协议相互转换的方法。

    48、在本发明一实施例中,还提出了一种计算机可读存储介质,计算机可读存储介质存储有执行基于api网关的ssl协议相互转换的方法的计算机程序。

    49、有益效果:

    50、本发明一种基于api网关的ssl协议相互转换的方法及装置,无需部署两套后端服务器,在不改造后端服务的情况下,可快速部署,以低成本的方式支持国密ssl协议。


    技术特征:

    1.一种基于api网关的ssl协议相互转换的方法,其特征在于,该方法包括:

    2.根据权利要求1所述的基于api网关的ssl协议相互转换的方法,其特征在于,所述s01包括:

    3.根据权利要求2所述的基于api网关的ssl协议相互转换的方法,其特征在于,所述国密ssl协议版本号为0x0101;

    4.根据权利要求1所述的基于api网关的ssl协议相互转换的方法,其特征在于,所述s02包括:

    5.根据权利要求4所述的基于api网关的ssl协议相互转换的方法,其特征在于,所述s022中压缩算法包括:null压缩算法、lzs压缩算法、deflate压缩算法、gzip压缩算法。

    6.根据权利要求4所述的基于api网关的ssl协议相互转换的方法,其特征在于,所述s023中密码套件包括加密算法和密钥长度。

    7.根据权利要求4所述的基于api网关的ssl协议相互转换的方法,其特征在于,所述s023中国密ssl协议的加密算法包括:sm2、sm3和sm4;国际ssl协议的加密算法包括:rsa、sha、diffie-hellman、aes。

    8.根据权利要求1所述的基于api网关的ssl协议相互转换的方法,其特征在于,所述s03包括:

    9.根据权利要求8所述的基于api网关的ssl协议相互转换的方法,其特征在于,所述s033中源端口为:api网关访问后端服务使用的端口。

    10.根据权利要求8所述的基于api网关的ssl协议相互转换的方法,其特征在于,所述s033中源ip和源端口分别为:客户端访问api网关的ip和使用的端口。

    11.根据权利要求1所述的基于api网关的ssl协议相互转换的方法,其特征在于,所述s04包括:

    12.根据权利要求11所述的基于api网关的ssl协议相互转换的方法,其特征在于,所述响应报文中的目的端口为:api网关访问后端服务使用的端口。

    13.一种基于api网关的ssl协议相互转换的装置,其特征在于,该装置包括:

    14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-12任一项所述方法。

    15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1-12任一项所述方法的计算机程序。


    技术总结
    本发明公开一种基于API网关的SSL协议相互转换的方法及装置,其中方法包括:S01、流量预处理,使用API网关接收客户端流量,并确定流量的协议类型;S02、配置管理,对国密SSL协议和国际SSL协议的映射关系进行管理;S03、协议转换,对国密SSL协议的流量进行转换,将客户端的流量和国际SSL协议的流量相互转换;S04、流量转发,将转换后的国际SSL报文转发到后端服务,再将收到的后端服务响应转发到客户端。本发明一种基于API网关的SSL协议相互转换的方法及装置,无需部署两套后端服务器,在不改造后端服务的情况下,可快速部署,以低成本的方式支持国密SSL协议。

    技术研发人员:宋飞虎
    受保护的技术使用者:中盈优创资讯科技有限公司
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-102920.html

    最新回复(0)