1.一种基于接口映射的API网关安全防护方法,其特征在于,包括:S1:获取用户身份信息和待访问的目标服务,采用基于动态交叉加密机制更新后的对称密钥对用户身份信息进行加密;访问客户端模块将加密后的密文和身份认证请求发送给认证中心模块;
S2:认证中心模块接收到身份认证请求后对密文进行解密,得到用户身份信息,对解密后的用户信息进行校验,若校验失败,则用户身份认证失败,若校验成功,则根据用户身份信息创建接口映射规则R‑I,并向访问客户端模块发送用户凭证,该用户凭证包括用户身份信息和接口映射规则R‑I;
S3:访问客户端模块根据接口映射规制和待访问的目标服务构建接口映射规则R‑II;
根据接口映射规则R‑II创建虚假访问请求,并将虚假访问请求发送给API网关;
S4:API网关对虚假访问请求进行解析,得到真实访问的目标服务请求,并将该请求发送给目标服务,并将目标服务相应发送给用户。
2.根据权利要求1所述的一种基于接口映射的API网关安全防护方法,其特征在于,用户信息为字符串“{用户ID}‑{用户密码}‑{用户设备标识}”。
3.根据权利要求1所述的一种基于接口映射的API网关安全防护方法,其特征在于,采用基于动态交叉加密机制对对称密钥进行更新包括:步骤1:获取初始密钥A、B和用户身份信息,且初始密钥A和初始密钥B相等,其中访问客户端持有密钥A,认证中心模块持有密钥B;
步骤2:采用初始密钥A对用户身份信息进行加密,并将加密后的身份信息发送给认证中心模块;
步骤3:认证中心模块采用初始密钥B对加密后用户身份信息进行解密,得到解密后的用户身份信息;
步骤4:根据解密后的用户身份信息创建接口映射规则R‑I;在认证中心模块中对解密后的用户身份信息进行Hash运算,得到第一临时密钥;
步骤5:对口映射规则R‑I进行Hash运算,将该运算结果作为新的密钥B,完成对密钥B的更新;
步骤6:采用第一临时密钥对口映射规则R‑I进行加密,并将加密后的接口映射规则R‑I发送给访问客户端;
步骤7:在访问客户端对用户身份信息进行Hash运算,得到第二临时密钥,采用第二临时密钥对加密后的接口映射规则R‑I进行解密;
步骤8:对解密后的接口映射规则R‑I进行Hash运算,将该运算结果作为新的密钥A,完成对密钥A的更新。
4.根据权利要求1所述的一种基于接口映射的API网关安全防护方法,其特征在于,创建接口映射规则R‑I的过程包括:步骤1:创建请求路径映射,该映射为一个
步骤2:创建请求方法映射,该映射为一个
步骤3:创建请求参数映射,该映射为两个长度相同的字符串数组Origin和Random,其长度为后端服务中所需参数个数的最大值;在R‑Ⅰ阶段,Origin数组置空处理,即[NULL,NULL,……];Random则填充随机字符串,即[Random1,Random2,……],其中Random为随机生成的字符串;
步骤4:创建接口映射规则R‑Ⅰ,将步骤1、步骤2和步骤3所创建的请求路径映射、请求方法映射以及请求参数映射组成一个JSON格式的字符串,形成接口映射规则R‑Ⅰ。
5.根据权利要求1所述的一种基于接口映射的API网关安全防护方法,其特征在于,构建接口映射规则R‑II的过程包括:步骤1:基于接口映射规则R‑Ⅰ完善请求路径映射,将请求路径映射的Key值替换为目标服务的访问请求路径;
步骤2:基于接口映射规则R‑Ⅰ完善请求方法映射,将请求方法映射的Key值替换为目标服务的访问请求方法;
步骤3:基于接口映射规则R‑Ⅰ完善请求参数映射,将请求参数映射中的Origin数组替换为目标服务的访问请求参数列表;
步骤4:创建接口映射规则R‑Ⅱ,将步骤1、步骤2和步骤3所完善的请求路径映射、请求方法映射以及请求参数映射组成一个JSON格式的字符串,形成接口映射规则R‑Ⅱ。
6.根据权利要求1所述的一种基于接口映射的API网关安全防护方法,其特征在于,创建虚假访问请求的过程包括:步骤1:创建一个空白的HTTP请求,获取目标服务所需的访问请求方法、参数信息;
步骤2:修改请求的访问路径,将其修改为R‑Ⅱ中请求路径映射的Value值;
步骤3:修改请求的访问方法,将其修改为R‑Ⅱ中请求方法映射的Value值,该值为目标服务所需请求方法所对应的随机值;
步骤4:修改请求的访问参数,将其按序修改为R‑Ⅱ中请求参数映射的Random数组中的元素;
步骤5:将接口映射规则R‑Ⅱ置入用户身份凭证中,同时将用户身份凭证放入请求体中,虚假访问请求创建完毕。
7.根据权利要求1所述的一种基于接口映射的API网关安全防护方法,其特征在于,API网关对虚假访问请求进行解析的过程包括:步骤1:将请求体解析为JSON格式字符串,从其名称为“reflection”的参数获取接口映射规则R‑Ⅱ的密文;
步骤2:API网关解析用户身份凭证得到接口映射规则R‑Ⅱ;
步骤3:还原访问请求,将请求的请求路径、请求方法分别修改为R‑Ⅱ中请求路径映射与请求方法映射的Key值,将请求的参数名称按序修改为R‑Ⅱ中请求参数映射Origin数组中的元素值;
步骤4:基于还原后的请求路径判断当前请求访问的目标服务,并将该请求转发给目标服务。
8.一种基于接口映射的API网关安全防护系统,其特征在于,该系统包括:访问客户端模块、认证中心模块以及API网关模块;
所述访问客户端模块包括数据获取模块、第一动态交叉加密模块、接口映射规制完善模块以及虚构请求模块;
所述数据获取模块用于获取用户的身份信息;
所述第一动态交叉加密模块用于对访问客户端模块中的密钥进行更新,并采用更新后的密钥对用户身份信息进行加密处理;
所述接口映射规制完善模块用于对认证中心返回的接口映射规则R‑I进行完善,得到接口映射规则R‑II;
所述虚构请求模块根据接口映射规则R‑II构建虚假访问请求,并将虚假访问请求发送到API网关模块;
所述认证中心模块包括身份认证模块、接口映射规则制定模块以及第二动态交叉加密模块;
所述第二动态交叉加密模块用于对认证中心模块中的密钥进行进行更新;
所述身份认证模块用于获取经过第一交叉加密模块加密后的用户身份信息,并采用经过第二动态交叉加密模块更新后的密钥对加密后的信息进行解密,得到解密后的用户身份信息,对解密后的身份认证信息进行校验,若若校验失败,则用户身份认证失败,若校验成功,则将用户身份信息发送给接口映射规则制定模块;
所述接口映射规则制定模块根据用户身份信息制定接口映射规则R‑I,并将接口映射规则R‑I发送给访问客户端模块的接口映射规则完善模块;
所述API网关模块包括接口映射解析模块、请求还原模块以及请求转发模块;
所述接口映射解析模块对访问客户端模块的虚构请求模块发送的虚假访问请求进行解析,得到接口映射规则R‑II;将接口映射规则R‑II发送到请求还原模块中;
所述请求还原模块根据接口映射规则R‑II还原出用户的真实请求服务;
所述请求转发模块用于将请求还原模块还原的真实请求服务转发到对应的服务器中,完成服务请求。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行,以实现权利要求1至7中任一项基于接口映射的API网关安全防护方法。
10.一种基于接口映射的API网关安全防护装置,其特征在于,包括处理器和存储器;所述存储器用于存储计算机程序;所述处理器与所述存储器相连,用于执行所述存储器存储的计算机程序,以使所述一种基于接口映射的API网关安全防护装置执行权利要求1至7中任一项基于接口映射的API网关安全防护方法。