CN116055043A - 一种数据服务接口鉴权方法及接口网关系统 - Google Patents
一种数据服务接口鉴权方法及接口网关系统 Download PDFInfo
- Publication number
- CN116055043A CN116055043A CN202310068160.9A CN202310068160A CN116055043A CN 116055043 A CN116055043 A CN 116055043A CN 202310068160 A CN202310068160 A CN 202310068160A CN 116055043 A CN116055043 A CN 116055043A
- Authority
- CN
- China
- Prior art keywords
- user
- data
- parameter
- interface
- data request
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本发明公开一种数据服务接口鉴权方法及接口网关系统,鉴权方法:生成当前时间戳和随机字符串;将调用者标识、用户秘钥、时间戳和随机字符串拼接到数据请求参数中;按照数据请求参数名的字母升序排列数据请求参数;对数据请求参数数据串进行算法加密,并将加密字符串转成大写,形成参数签名参数;将调用者标识、随机字符串、时间戳和参数签名拼接在数据请求参数中,形成调用请求;判断调用者标识和参数签名是否合法,时间戳是否有效,唯一随机字符串是否存在于服务端集合之中;根据判断结果进行放行或者返回错误码。接口网关系统包括采用上述鉴权方法进行鉴权的用户认证模块。本发明解决了气象数据接口安全性差和服务接口不统一的问题。
Description
技术领域
本发明涉及服务接口鉴权技术领域。具体地说是一种数据服务接口鉴权方法及接口网关系统。
背景技术
数据服务接口用于解耦存储系统与业务系统之间的耦合关系,可以屏蔽由于存储技术不断发展升级给业务系统带来的冲击。目前服务接口已广泛应用于气象信息系统之中,稳定的数据服务接口对气象业务和防灾减灾业务,具有非常重要的意义。
气象数据统一服务接口(MUSIC:Meteorological Unified Service InterfaceCommunity),是基于气象大数据云平台,面向气象业务和科研,提供全国统一、标准、丰富的数据访问服务和应用编程接口(API),为国、省、地、县各级应用系统提供唯一权威的数据接入服务。MUSIC针对不同的服务方式,提供了不同标准的调用方法。其中,用户使用调用方法,选择合适的气象服务接口、资料和返回格式,来获取气象数据。目前,气象服务接口开发人员众多,每个接口的开发人员使用不同的鉴权方式,发布的各式各样接口地址,没有统一的服务地址,导致用户在使用接口时,需要逐一了解每个接口,学习成本较高,也不易于接口的推广使用。因此,数据服务接口的统一性严重影响了其可用性和拓展性。
目前服务接口鉴权方式一般采用apiKey的方式,将用户信息放置在接口请求之中,在客户端与服务段之间传递,这种在网络中传输用户信息的方式极易被非法人员劫持,造成用户信息的泄露,导致数据被非法获取。因此,在数据服务接口安全性方面有待完善。
发明内容
为此,本发明所要解决的技术问题在于提供一种数据服务接口鉴权方法及接口网关系统,以解决目前气象数据接口的安全性差和气象数据服务接口不能统一服务的问题。
为解决上述技术问题,本发明提供如下技术方案:
一种数据服务接口鉴权方法,包括如下步骤:
步骤A:在发送数据请求前,获取所有数据请求参数,并生成当前时间戳和唯一随机字符串(nonce);
步骤B:将调用者标识AK(AccessKey)、用户秘钥SK(SecretKey)、时间戳和唯一随机字符串拼接到数据请求参数中;
步骤C:按照数据请求参数名的字母升序排列数据请求参数,得到数据请求参数数据串;
步骤D:对数据请求参数数据串进行MD5算法加密,得到加密字符串,并将加密字符串转成大写,形成参数签名参数sign的值;
步骤E:将调用者标识AK、唯一随机字符串、时间戳和参数签名参数sign的值拼接在数据请求参数中,形成调用请求;
步骤F:判断调用者标识AK和参数签名参数sign的值是否合法,时间戳是否有效,唯一随机字符串是否存在于服务端集合之中;根据判断结果进行放行或者返回错误码。
上述数据服务接口鉴权方法,时间戳是否有效的判断标准为:接收数据请求的时间与时间戳的时间二者之间的差值小于或等于15分钟。
上述数据服务接口鉴权方法,如果唯一随机字符串存在于服务端集合之中,则拒绝数据请求时,返回错误码;
如果唯一随机字符串不存在于服务端集合之中,则记录唯一随机字符串,并删除服务端集合内时间戳大于15分钟的唯一随机字符串。
一种接口网关系统,包括用户认证模块,且用户认证模块采用上述数据服务接口鉴权方法对用户信息进行鉴权。
上述接口网关系统,还包括流量控制模块、服务路由模块和负责均衡模块。
上述接口网关系统,流量控制模块对用户单位时间内的流量进行控制,同时检测用户IP是否合法。
上述接口网关系统,流量控制模块的控制信息存储在元数据库中,并根据元数据库中的信息对用户单位时间内流量进行控制,以及判断用户IP是否合法。
上述接口网关系统,流量控制模块对用户单位时间内流量的控制,包括分钟、小时和日维度上的累积量的控制;流量控制模块的用户IP检测支持用户IP最后一段的通配功能。
上述接口网关系统,服务路由模块根据用户传递参数与配置信息,将用户的服务请求路由到不同的服务集群。
上述接口网关系统,负责均衡模块采用Nginx技术对接口服务进行代理,并对集群进行负载均衡。
本发明的技术方案取得了如下有益的技术效果:
本发明提供的数据服务接口统一鉴权的方法,基于服务代理进行服务地址的统一发布对服务地址进行统一,实现了对数据服务接口统一的鉴权及统一服务接口网关系统,从而解决数据服务接口的数据服务安全性、高可用性和拓展性等问题。
本发明采用参数签名+时间戳+唯一随机字符串的鉴权方法,其中参数签名用于解决请求篡改的问题,唯一随机字符串和时间戳用于解决重复使用请求参数以及伪造二次请求的隐患问题,解决了数据接口安全性的问题。
本发明参数签名中使用用户秘钥SK对调用请求进行加密,使用调用者标识AK对用户进行识别,其中用户秘钥SK只用于参数签名sign的值的计算,不在网络上传输,可保证用户秘钥SK不会被非法账户在网络中劫持,进一步保证了数据接口的安全性。唯一随机字符串nonce用于标识数据请求,通过为每个数据请求提供唯一的标识符,服务器能够防止数据请求被多次使用。同时考虑服务器端的存储压力,使用时间戳来优化唯一随机字符串nonce的存储。
附图说明
图1本发明实施例1数据服务接口鉴权方法中服务端认证流程示意图;
图2本发明实施例2中接口网关系统架构示意图。
具体实施方式
实施例1
本实施例以如下数据请求为例对数据服务接口鉴权方法进一步说明:http://ip:port/music-ws/api?serviceNodeId=NMIC_MUSIC_CMADAAS
&interfaceId=getRadaFileByTimeRange&dataCode=RADA_L2_FMT&timeRange=[20220505024900,20220505025400]。
如图1所示,本实施例中数据服务接口鉴权方法包括如下步骤:
步骤A:在接收到数据请求时,获取所有数据请求参数,并生成当前时间戳和唯一随机字符串;本实施例中,时间戳timestamp=1651719555899,唯一随机字符串nonce=5086b506-c4a1-4480-9a2c-18435b7eb6f2;
步骤B:将调用者标识AK、用户秘钥SK、时间戳和唯一随机字符串拼接到数据请求参数中;本实施例中,拼接后形成的数据请求参数如下:
serviceNodeId=NMIC_MUSIC_CMADAAS
&interfaceId=getRadaFileByTimeRange&dataCode=RADA_L2_FMT&timeRange=[20220505024900,20220505025400]&userId=NMIC_ART_RG×tamp=1651719555899&nonce=5086b506-c4a1-4480-9a2c-18435b7eb6f2pwd=SecretKey;
步骤C:按照数据请求参数名的字母升序排列数据请求参数,得到数据请求参数数据串;本实施例中,数据请求参数数据串如下:
dataCode=RADA_L2_FMT&interfaceId=getRadaFileByTimeRange&nonce=5086b506-c4a1-4480-9a2c-18435b7eb6f2&pwd=SecretKey&serviceNodeId=NMIC_MUSIC_CMADAAS&timeRange=[20220505024900,20220505025400]×tamp=1651719555899&userId=AccessKey;
步骤D:对数据请求参数数据串进行MD5算法加密,得到加密字符串,并将加密字符串转成大写,形成参数签名参数sign的值;
步骤E:将调用者标识AK、唯一随机字符串、时间戳和参数签名参数sign的值拼接在数据请求参数中,形成调用请求;本实施例中调用请求为:
http://ip:port/music-ws/api?serviceNodeId=NMIC_MUSIC_CMADAAS&interfaceId=getRadaFileByTimeRange&dataCode=RADA_L2_FMT&timeRange=[20220505024900,20220505025400]&userId=AccessKey×tamp=1651719555899&nonce=5086b506-c4a1-4480-9a2c-18435b7eb6f2&sign=166D7EAC0F5EFDB7AA4C9E46D5464209;
步骤F:判断调用者标识AK和参数签名参数sign的值是否合法,时间戳是否有效,唯一随机字符串是否存在于服务端集合之中;根据判断结果进行放行或者返回错误码。时间戳是否有效的判断标准为:接收数据请求的时间与时间戳的时间二者之间的差值小于或等于15分钟。
本实施例中,为解决数据接口安全性的问题,采用参数签名+时间戳+唯一随机字符串的鉴权方法;其中参数签名用于解决请求篡改的问题,唯一随机字符串和时间戳用于解决重复使用请求参数以及伪造二次请求的隐患问题。
本实施例中,参数签名中使用用户秘钥SecretKey(以下简称SK)对调用请求进行加密,使用调用者标识AccessKey(以下简称AK)对用户进行识别,其中用户秘钥SK只用于参数签名sign的值的计算,不在网络上传输,可保证用户秘钥SK不会被非法账户在网络中劫持。
唯一随机字符串nonce用于标识数据请求,通过为每个数据请求提供唯一的标识符,服务器能够防止数据请求被多次使用。同时考虑服务器端的存储压力,对于服务器端来说,永久存储所有接收到的唯一随机字符串nonce的代价是非常大的,因此使用时间戳来优化唯一随机字符串nonce的存储。设置数据请求在客户端与服务端的最大时间差,同时追踪记录在服务端的nonce集合;当有新的请求进入时,首先检查携带的时间戳与当前时间差是否在允许的时间范围内,如超出时间范围,则拒绝数据请求;然后查询携带的唯一随机字符串nonce是否存在于服务端的集合中,如存在于服务端的集合之中,则拒绝数据请求;否则,记录该nonce,并删除集合内时间戳大于15分钟的nonce。
实施例2
接口网关系统是在接口服务基础上搭建的一层用于接收用户请求并负责转发的系统。一方面,可以根据用户的请求,为用户找到服务的提供者的地址;另一方面,可以为后台服务提供负载均衡、流量控制、用户认证、日志访问记录等相关功能,共包含用户认证、服务路由、流量控制、用户行为记录和负载均衡五个功能模块。
如图2所示,本实施例中接口网关系统,包括用户认证模块、流量控制模块、服务路由模块和负责均衡模块。
其中,用户认证模块采用实施例1的数据服务接口鉴权方法对用户信息进行鉴权;
流量控制控制模块:针对用户级别上的访问控制;其功能包括两部分功能:一部分是用户单位时间内流量的控制功能,包括了分钟、小时、日维度上的累积量控制;另一部分功能是用户IP检测功能,用以检测是否是合法IP,且IP检测支持IP最后一段的通配功能。这两部分的控制信息存储在关系型数据库中,其判断是需从元数据库中取出相应信息进行判断。
服务路由模块:是根据用户传递参数与配置的路由策略,将用户的服务请求路由到不同的服务集群。
负责均衡模块。采用Nginx技术,对接口服务进行代理,并对集群进行负载均衡。
本实施例解决了服务接口服务中的安全性和统一服务的问题,在保证接口高可用的同时保证对外数据服务的安全。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本专利申请权利要求的保护范围之中。
Claims (10)
1.一种数据服务接口鉴权方法,其特征在于,包括如下步骤:
步骤A:在发送数据请求前,获取所有数据请求参数,并生成当前时间戳和唯一随机字符串;
步骤B:将调用者标识AK、用户秘钥SK、时间戳和唯一随机字符串拼接到数据请求参数中;
步骤C:按照数据请求参数名的字母升序排列数据请求参数,得到数据请求参数数据串;
步骤D:对数据请求参数数据串进行MD5算法加密,得到加密字符串,并将加密字符串转成大写,形成参数签名参数sign的值;
步骤E:将调用者标识AK、唯一随机字符串、时间戳和参数签名参数sign的值拼接在数据请求参数中,形成调用请求;
步骤F:判断调用者标识AK和参数签名参数sign的值是否合法,时间戳是否有效,唯一随机字符串是否存在于服务端集合之中;根据判断结果进行放行或者返回错误码。
2.根据权利要求1所述的数据服务接口鉴权方法,其特征在于,时间戳是否有效的判断标准为:接收数据请求的时间与时间戳的时间二者之间的差值小于或等于15分钟。
3.根据权利要求1所述的数据服务接口鉴权方法,其特征在于,如果唯一随机字符串存在于服务端集合之中,则拒绝数据请求,并返回错误码;
如果唯一随机字符串不存在于服务端集合之中,则记录唯一随机字符串,并删除服务端集合内时间戳大于15分钟的唯一随机字符串。
4.一种接口网关系统,其特征在于,包括用户认证模块,且用户认证模块采用如权利要求1-3任一所述的数据服务接口鉴权方法对用户信息进行鉴权。
5.根据权利要求4所述的接口网关系统,其特征在于,还包括流量控制模块、服务路由模块和负责均衡模块。
6.根据权利要求5所述的接口网关系统,其特征在于,流量控制模块对用户单位时间内的流量进行控制,同时检测用户IP是否合法。
7.根据权利要求6所述的接口网关系统,其特征在于,流量控制模块的控制信息存储在元数据库中,并根据元数据库中的信息对用户单位时间内流量进行控制,以及判断用户IP是否合法。
8.根据权利要求6所述的接口网关系统,其特征在于,流量控制模块对用户单位时间内流量的控制,包括分钟、小时和日维度上的累积量的控制;流量控制模块的用户IP检测支持用户IP最后一段的通配功能。
9.根据权利要求5所述的接口网关系统,其特征在于,服务路由模块根据用户传递参数与配置信息,将用户的服务请求路由到不同的服务集群。
10.根据权利要求5所述的接口网关系统,其特征在于,负责均衡模块采用Nginx技术对接口服务进行代理,并对集群进行负载均衡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310068160.9A CN116055043A (zh) | 2023-02-06 | 2023-02-06 | 一种数据服务接口鉴权方法及接口网关系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310068160.9A CN116055043A (zh) | 2023-02-06 | 2023-02-06 | 一种数据服务接口鉴权方法及接口网关系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116055043A true CN116055043A (zh) | 2023-05-02 |
Family
ID=86119867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310068160.9A Pending CN116055043A (zh) | 2023-02-06 | 2023-02-06 | 一种数据服务接口鉴权方法及接口网关系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116055043A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090328174A1 (en) * | 2008-06-26 | 2009-12-31 | Alibaba Group Holding Limited | Method and system for providing internet services |
CN108600268A (zh) * | 2018-05-09 | 2018-09-28 | 聚龙股份有限公司 | 一种应用于非授信认证的加密解密方法及非授信认证系统 |
CN110784527A (zh) * | 2019-10-18 | 2020-02-11 | 三体云智能科技有限公司 | 一种信息管理系统及方法 |
CN113422686A (zh) * | 2021-06-24 | 2021-09-21 | 平安国际智慧城市科技股份有限公司 | 网关层鉴权方法、系统、电子设备及存储介质 |
CN114268450A (zh) * | 2021-11-02 | 2022-04-01 | 山东通汇资本投资集团有限公司 | 一种api接口认证方法及系统 |
CN114520724A (zh) * | 2022-02-18 | 2022-05-20 | 深圳前海环融联易信息科技服务有限公司 | 一种开放api接口的签名验证方法 |
-
2023
- 2023-02-06 CN CN202310068160.9A patent/CN116055043A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090328174A1 (en) * | 2008-06-26 | 2009-12-31 | Alibaba Group Holding Limited | Method and system for providing internet services |
CN108600268A (zh) * | 2018-05-09 | 2018-09-28 | 聚龙股份有限公司 | 一种应用于非授信认证的加密解密方法及非授信认证系统 |
CN110784527A (zh) * | 2019-10-18 | 2020-02-11 | 三体云智能科技有限公司 | 一种信息管理系统及方法 |
CN113422686A (zh) * | 2021-06-24 | 2021-09-21 | 平安国际智慧城市科技股份有限公司 | 网关层鉴权方法、系统、电子设备及存储介质 |
CN114268450A (zh) * | 2021-11-02 | 2022-04-01 | 山东通汇资本投资集团有限公司 | 一种api接口认证方法及系统 |
CN114520724A (zh) * | 2022-02-18 | 2022-05-20 | 深圳前海环融联易信息科技服务有限公司 | 一种开放api接口的签名验证方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7945245B2 (en) | Authentication system and authentication method for performing authentication of wireless terminal | |
US20100242097A1 (en) | System and method for managing application program access to a protected resource residing on a mobile device | |
US9213360B2 (en) | Time setting system and time setting method | |
AU2004251364B9 (en) | Access control | |
US8510804B1 (en) | Authorizing application use by a mobile device | |
CN101540755B (zh) | 一种修复数据的方法、系统和装置 | |
WO2004046896A3 (en) | A method and system for access control | |
KR100639993B1 (ko) | 사용자 식별자 갱신 방법 및 그 시스템 | |
KR100670832B1 (ko) | 에이전트를 이용한 사용자 개인정보 송수신 방법 및 장치 | |
CA2613733A1 (en) | System and method for security in global computer transactions that enable reverse-authentication of a server by a client | |
CN103416040A (zh) | 终端控制方法和装置、以及终端 | |
CN112291375B (zh) | 物联网设备安全访问控制方法、物联网设备及物联网系统 | |
CN106341428A (zh) | 一种跨域访问控制方法和系统 | |
CN101883106A (zh) | 基于数字证书的网络接入认证方法和网络接入认证服务器 | |
CN101562558A (zh) | 一种终端等级划分的方法、系统和设备 | |
US20090260066A1 (en) | Single Sign-On To Administer Target Systems with Disparate Security Models | |
CN113934998A (zh) | 一种网关认证方法、业务系统认证方法及网关认证系统 | |
US8478648B2 (en) | Apparatus and method for automated inventory tracking and authentication | |
CN107645474A (zh) | 登录开放平台的方法及登录开放平台的装置 | |
CN110740122B (zh) | 一种提高数据仓库安全性的方法、装置 | |
CN103069767A (zh) | 交付认证方法 | |
CN116055043A (zh) | 一种数据服务接口鉴权方法及接口网关系统 | |
CN112634040B (zh) | 一种数据处理方法及装置 | |
CN109492434A (zh) | 一种电子凭据的安全操作方法和系统 | |
CN108259424A (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 |