CN112291221A - 微服务间服务访问认证方法及系统 - Google Patents
微服务间服务访问认证方法及系统 Download PDFInfo
- Publication number
- CN112291221A CN112291221A CN202011141903.3A CN202011141903A CN112291221A CN 112291221 A CN112291221 A CN 112291221A CN 202011141903 A CN202011141903 A CN 202011141903A CN 112291221 A CN112291221 A CN 112291221A
- Authority
- CN
- China
- Prior art keywords
- service
- microservice
- micro
- jwt
- provider
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000008569 process Effects 0.000 claims abstract description 25
- 230000001360 synchronised effect Effects 0.000 claims abstract description 3
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000013475 authorization Methods 0.000 abstract description 7
- 230000007246 mechanism Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012795 verification Methods 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种微服务间服务访问认证方法及系统。该方法包括:网关设备接收到发往微服务系统中的服务请求时,根据权限路由将该服务请求分配到调用方微服务的服务器上;运行调用方微服务的服务器处理该服务请求时,确定需要调用提供方微服务,则由调用方微服务的服务器与提供方微服务的服务器进行基于JWT的微服务权限同步;根据同步后的微服务权限调用提供方微服务。本发明提供的微服务间服务访问认证方法及系统能够提供一种在微服务架构下,基于公私钥证书的身份认证机制,扩展基于授权的服务权限控制以及跨域跨中心的安全认证。
Description
技术领域
本发明涉及微服务架构技术领域,特别是涉及一种微服务间服务访问认证方法及系统。
背景技术
微服务体系是目前比较流行的分布式框架,其是在云中部署应用和服务的新技术。微服务可以在"自己的系统"中运行应用,并通过"轻量级设备与HTTP型API进行沟通"。关键在于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个API)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程。
在微服务框架中,外部请求在进入微服务系统中时,在通过API网关时,网关作为入口对该请求进行认证与鉴权,请求认证鉴权成功进入网关后,分发请求在进入各个微服务应用时,微服务不再进行有效的安全认证与授权,由于无法鉴权,使得有些私密的API接口直接暴露在外,降低了整个系统安全性大大的降低
在中国发明专利申请CN110022279A中,本发明的目的在于解决现有技术的不足,提供一种在微服务架构下,基于公私钥证书的身份认证机制,扩展基于授权的服务权限控制以及跨域跨中心的安全认证。
对于中国发明专利申请CN110022279A中,觉得还存在以下缺点:1)缺少一套完善的基于授权的服务权限控制;2)没有跨域跨中心的安全认证体系。
发明内容
本发明要解决的技术问题是提供一种微服务间服务访问认证方法及系统,能够提供一种在微服务架构下,基于公私钥证书的身份认证机制,扩展基于授权的服务权限控制以及跨域跨中心的安全认证。
为解决上述技术问题,本发明提供了一种微服务间服务访问认证方法,所述方法包括:网关设备接收到发往微服务系统中的服务请求时,根据权限路由将该服务请求分配到调用方微服务的服务器上;运行调用方微服务的服务器处理该服务请求时,确定需要调用提供方微服务,则由调用方微服务的服务器与提供方微服务的服务器进行基于JWT的微服务权限同步;根据同步后的微服务权限调用提供方微服务。
在一些实施方式中,基于JWT的微服务权限同步包括:正常交易过程的微服务权限同步,以及异常交易的微服务权限同步。
在一些实施方式中,正常交易过程的微服务权限同步包括:微服务从配置中心同步服务调用权限并保存到本地上下文;调用方微服务使用本地JWT访问提供方微服务;提供方微服务使用安全中心公钥验证并解开JWT;提供方微服务获取JWT中的请求方信息和JWT时间信息;提供方微服务判断请求方合法性、服务调用权限、JWT过期;访问提供方微服务。
在一些实施方式中,异常交易过程的微服务权限同步包括:微服务从配置中心同步服务调用权限并保存到本地上下文;提供方微服务验证合法性或调用权限失败,返回错误信息;提供方微服务验证无JWT信息或JWT信息不合法,返回错误信息;提供方微服务判断JWT过期,返回错误信息,消费方刷新JWT,并重新访问。
在一些实施方式中,还包括:执行跨域跨中心的安全认证。
在一些实施方式中,执行跨域跨中心的安全认证,包括:跨中心访问服务的注册地址为当前中心的网关地址,由网关负责注册到当前中心的注册中心。
在一些实施方式中,还包括:执行调用方微服务的JWT更新。
在一些实施方式中,执行调用方微服务的JWT更新,包括:调用方微服务在本地JWT超时前认证发起异步刷新JWT;认证中心验证调用方身份;若身份验证失败,则返回错误信息;若身份认证中心用验证成功,获取Redis中缓存的JWT;缓存未命中或JWT将过期,则私钥加签JWT存储到Redis并返回;认证中心将JWT返回给调用方微服务,调用方微服务保存到本地上下文。
此外,本发明还提供了一种微服务间服务访问认证系统,所述系统包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的微服务间服务访问认证方法。
采用这样的设计后,本发明至少具有以下优点:
1.灵活扩展,支持微服务应用维度、接口API维度的访问认证控制;
2.提供基于授权的服务权限控制;
3.支持跨域跨中心的微服务间访问的认证机制,保证系统的高可靠架构。
附图说明
上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。
图1是现有技术提供的微服务间服务访问认证的流程图;
图2是本发明实施例提供的服务安全认证过程的流程图;
图3是本发明实施例提供的跨域跨中心安全认证的流程图;
图4是本发明实施例提供的微服务间服务访问认证系统的结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
在本发明实施例提供的技术方案中,JWT英文名是Json Web Token,是一种用于通信双方之间传递安全信息的简洁的、URL安全的表述性声明规范,经常用在跨域身份验证。
Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
SOA:(Service-Oriented Architecture)-面向服务的体系架构。
服务认证:微服务间的访问认证,包含权限控制与授权。
参见图1,微服务间服务访问认证的流程包括:网关设备接收到发往微服务系统中的服务请求时,进行认证鉴权;并在认证鉴权成功时,根据权限路由将该服务请求分配到对应的运行第一个微服务的服务器上;运行第一个微服务的服务器处理该服务请求时,若确定需要与运行第二个微服务的服务器通信,则向认证鉴权服务器发送获取令牌TOKEN的请求;运行第一个微服务的服务器在接收到认证鉴权服务器响应的TOKEN时,携带TOKEN向运行第二个微服务的服务器发送服务请求;运行第二个微服务的服务器接收到运行第一个微服务的服务器发送的服务请求时,向认证鉴权服务器验证该服务请求携带的TOKEN;运行第二个微服务的服务器在接收到验证服务器响应的所述TOKEN对应的权限信息时,若根据接收到权限信息确定服务请求对应的用户有权限访问,则处理所述服务请求,并向运行第一个微服务的服务器响应处理结果。
参见图2,客户端Token刷新过程为:调用方微服务在本地JWT超时前认证发起异步刷新JWT;认证中心验证调用方身份;若身份验证失败,则返回错误信息;若身份认证中心用验证成功,获取Redis中缓存的JWT;缓存未命中或JWT将过期,则私钥加签JWT存储到Redis并返回;认证中心将JWT返回给调用方微服务,调用方微服务保存到本地上下文。
微服务权限同步过程如下:微服务从配置中心同步服务调用权限并保存到本地上下文。之后的执行过程分为正常交易过程及异常交易过程。
正常交易过程如下:调用方微服务使用本地JWT访问提供方微服务;提供方微服务使用安全中心公钥验证并解开JWT;提供方微服务获取JWT中的请求方信息和JWT时间信息;提供方微服务判断请求方合法性、服务调用权限、JWT过期;访问提供方微服务。
异常交易过程如下:提供方微服务验证合法性或调用权限失败,返回错误信息;提供方微服务验证无JWT信息或JWT信息不合法,返回错误信息;提供方微服务判断JWT过期,返回错误信息,消费方刷新JWT,并重新访问。
参见图3,跨域跨中心安全认证的执行过程为:跨中心访问服务的注册地址为当前中心的网关地址,由网关负责注册到当前中心的注册中心。(如微服务B在DC1的注册由DC1网关完成,地址为DC1网关地址)。
DC1和DC2的认证中心使用同一套公私钥对体系;两个区之间网络打通。
图4示出了微服务间服务访问认证系统的结构。参见图4,例如,所述微服务间服务访问认证系统400可以用于充当微服务系统中的微服务互访认证系统。如本文所述,微服务间服务访问认证系统400可以用于在微服务系统中实现对微服务间调用的安全认证功能。微服务间服务访问认证系统400可以在单个节点中实现,或者微服务间服务访问认证系统400的功能可以在网络中的多个节点中实现。本领域的技术人员应意识到,术语微服务间服务访问认证系统包括广泛意义上的设备,图4中示出的微服务间服务访问认证系统400仅是其中一个示例。包括微服务间服务访问认证系统400是为了表述清楚,并不旨在将本发明的应用限制为特定的微服务间服务访问认证系统实施例或某一类微服务间服务访问认证系统实施例。本发明所述的至少部分特征/方法可以在网络装置或组件,例如,微服务间服务访问认证系统400中实现。例如,本发明中的特征/方法可以采用硬件、固件和/或在硬件上安装运行的软件实现。微服务间服务访问认证系统400可以是任何通过网络处理,存储和/或转发数据帧的设备,例如,服务器,客户端,数据源等。如图4所示,微服务间服务访问认证系统400可以包括收发器(Tx/Rx)410,其可以是发射器,接收器,或其组合。Tx/Rx 410可以耦合到多个端口450(例如上行接口和/或下行接口),用于从其他节点发送和/或接收帧。处理器430可耦合至Tx/Rx 410,以处理帧和/或确定向哪些节点发送帧。处理器430可以包括一个或多个多核处理器和/或存储器设备432,其可以用作数据存储器,缓冲区等。处理器430可以被实现为通用处理器,或者可以是一个或多个专用集成电路(applicationspecific integrated circuit,简称ASIC)和/或数字信号处理器(digital signalprocessor,简称DSP)的一部分。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,本领域技术人员利用上述揭示的技术内容做出些许简单修改、等同变化或修饰,均落在本发明的保护范围内。
Claims (9)
1.一种微服务间服务访问认证方法,其特征在于,包括:
网关设备接收到发往微服务系统中的服务请求时,根据权限路由将该服务请求分配到调用方微服务的服务器上;
运行调用方微服务的服务器处理该服务请求时,确定需要调用提供方微服务,则由调用方微服务的服务器与提供方微服务的服务器进行基于JWT的微服务权限同步;
根据同步后的微服务权限调用提供方微服务。
2.根据权利要求1所述的微服务间服务访问认证方法,其特征在于,基于JWT的微服务权限同步包括:正常交易过程的微服务权限同步,以及异常交易的微服务权限同步。
3.根据权利要求2所述的微服务间服务访问认证方法,其特征在于,正常交易过程的微服务权限同步包括:
微服务从配置中心同步服务调用权限并保存到本地上下文;
调用方微服务使用本地JWT访问提供方微服务;
提供方微服务使用安全中心公钥验证并解开JWT;
提供方微服务获取JWT中的请求方信息和JWT时间信息;
提供方微服务判断请求方合法性、服务调用权限、JWT过期;
访问提供方微服务。
4.根据权利要求2所述的微服务间服务访问认证方法,其特征在于,异常交易过程的微服务权限同步包括:
微服务从配置中心同步服务调用权限并保存到本地上下文;
提供方微服务验证合法性或调用权限失败,返回错误信息;
提供方微服务验证无JWT信息或JWT信息不合法,返回错误信息;
提供方微服务判断JWT过期,返回错误信息,消费方刷新JWT,并重新访问。
5.根据权利要求1所述的微服务间服务访问认证方法,其特征在于,还包括:
执行跨域跨中心的安全认证。
6.根据权利要求5所述的微服务间服务访问认证方法,其特征在于,执行跨域跨中心的安全认证,包括:
跨中心访问服务的注册地址为当前中心的网关地址,由网关负责注册到当前中心的注册中心。
7.根据权利要求1所述的微服务间服务访问认证方法,其特征在于,还包括:
执行调用方微服务的JWT更新。
8.根据权利要求7所述的微服务间服务访问认证方法,其特征在于,执行调用方微服务的JWT更新,包括:
调用方微服务在本地JWT超时前认证发起异步刷新JWT;
认证中心验证调用方身份;
若身份验证失败,则返回错误信息;
若身份认证中心用验证成功,获取Redis中缓存的JWT;
缓存未命中或JWT将过期,则私钥加签JWT存储到Redis并返回;
认证中心将JWT返回给调用方微服务,调用方微服务保存到本地上下文。
9.一种微服务间服务访问认证系统,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1至8任意一项所述的微服务间服务访问认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011141903.3A CN112291221A (zh) | 2020-10-22 | 2020-10-22 | 微服务间服务访问认证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011141903.3A CN112291221A (zh) | 2020-10-22 | 2020-10-22 | 微服务间服务访问认证方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112291221A true CN112291221A (zh) | 2021-01-29 |
Family
ID=74424156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011141903.3A Pending CN112291221A (zh) | 2020-10-22 | 2020-10-22 | 微服务间服务访问认证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112291221A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010919A (zh) * | 2021-03-22 | 2021-06-22 | 北京神州数字科技有限公司 | 一种敏感数据与隐私数据的保护方法 |
CN114253707A (zh) * | 2021-11-04 | 2022-03-29 | 华能信息技术有限公司 | 一种基于api网关的微服务请求方法 |
CN115065717A (zh) * | 2022-05-24 | 2022-09-16 | 中原银行股份有限公司 | 一种微服务调用处理方法及处理装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110022279A (zh) * | 2018-01-08 | 2019-07-16 | 普天信息技术有限公司 | 一种微服务系统中认证鉴权的方法和系统 |
US20190273746A1 (en) * | 2018-03-02 | 2019-09-05 | Syntegrity Networks Inc. | Microservice architecture for identity and access management |
CN110224998A (zh) * | 2019-05-20 | 2019-09-10 | 平安普惠企业管理有限公司 | 一种微服务注册方法及装置 |
US20200059360A1 (en) * | 2018-08-20 | 2020-02-20 | Jpmorgan Chase Bank, N.A. | System and method for service-to-service authentication |
CN110995702A (zh) * | 2019-12-02 | 2020-04-10 | 杭州安恒信息技术股份有限公司 | 一种基于分布式微服务的用户认证方法 |
CN111147588A (zh) * | 2019-12-27 | 2020-05-12 | 上海浦东发展银行股份有限公司 | 企业级微服务平台中实现跨域跨中心通信的方法及系统 |
CN111478771A (zh) * | 2020-03-31 | 2020-07-31 | 招商局金融科技有限公司 | 微服务间安全访问的方法、微服务系统 |
-
2020
- 2020-10-22 CN CN202011141903.3A patent/CN112291221A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110022279A (zh) * | 2018-01-08 | 2019-07-16 | 普天信息技术有限公司 | 一种微服务系统中认证鉴权的方法和系统 |
US20190273746A1 (en) * | 2018-03-02 | 2019-09-05 | Syntegrity Networks Inc. | Microservice architecture for identity and access management |
US20200059360A1 (en) * | 2018-08-20 | 2020-02-20 | Jpmorgan Chase Bank, N.A. | System and method for service-to-service authentication |
CN110224998A (zh) * | 2019-05-20 | 2019-09-10 | 平安普惠企业管理有限公司 | 一种微服务注册方法及装置 |
CN110995702A (zh) * | 2019-12-02 | 2020-04-10 | 杭州安恒信息技术股份有限公司 | 一种基于分布式微服务的用户认证方法 |
CN111147588A (zh) * | 2019-12-27 | 2020-05-12 | 上海浦东发展银行股份有限公司 | 企业级微服务平台中实现跨域跨中心通信的方法及系统 |
CN111478771A (zh) * | 2020-03-31 | 2020-07-31 | 招商局金融科技有限公司 | 微服务间安全访问的方法、微服务系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010919A (zh) * | 2021-03-22 | 2021-06-22 | 北京神州数字科技有限公司 | 一种敏感数据与隐私数据的保护方法 |
CN114253707A (zh) * | 2021-11-04 | 2022-03-29 | 华能信息技术有限公司 | 一种基于api网关的微服务请求方法 |
CN114253707B (zh) * | 2021-11-04 | 2024-03-12 | 华能信息技术有限公司 | 一种基于api网关的微服务请求方法 |
CN115065717A (zh) * | 2022-05-24 | 2022-09-16 | 中原银行股份有限公司 | 一种微服务调用处理方法及处理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10200361B2 (en) | System and method for integrating a transactional middleware platform with a centralized access manager for single sign-on in an enterprise-level computing environment | |
CN107534557B (zh) | 提供访问控制和单点登录的身份代理 | |
EP2441208B1 (en) | Access control to secured application features using client trust levels | |
CN112291221A (zh) | 微服务间服务访问认证方法及系统 | |
US10673838B2 (en) | Unified VPN and identity based authentication to cloud-based services | |
CN107124431B (zh) | 鉴权方法、装置、计算机可读存储介质和鉴权系统 | |
CN113630377B (zh) | 托管移动设备的单点登录 | |
US20170099148A1 (en) | Securely authorizing client applications on devices to hosted services | |
US11444954B2 (en) | Authentication/authorization server, client, service providing system, access management method, and medium | |
US6237037B1 (en) | Method and arrangement relating to communications systems | |
US20070255841A1 (en) | Authorizing service requests in multi-tiered applications | |
US20080181380A1 (en) | Proxy for authenticated caller name | |
KR20100038990A (ko) | 네트워크 인증 시스템의 보안 인증 방법 및 그 장치 | |
CN114928460A (zh) | 一种基于微服务架构的多租户应用集成框架系统 | |
CN113472794B (zh) | 基于微服务的多应用系统权限统一管理方法和存储介质 | |
Morii et al. | Research on integrated authentication using passwordless authentication method | |
CN114205112B (zh) | 一种云端mqtt访问权限控制方法 | |
CN114444058A (zh) | 一种微服务的鉴权系统、方法、电子设备和存储介质 | |
CN112685719A (zh) | 单点登录方法、装置、系统、计算机设备和存储介质 | |
CN116545633A (zh) | 一种高安全性api调用方法 | |
CN116032627A (zh) | 一种基于微服务架构的统一认证授权方法及装置 | |
CN113055186B (zh) | 一种跨系统的业务处理方法、装置及系统 | |
KR102558821B1 (ko) | 사용자 및 디바이스 통합 인증 시스템 및 그 방법 | |
CN116436624A (zh) | 存储系统的访问方法、装置、计算机可读介质及电子设备 | |
US11849041B2 (en) | Secure exchange of session tokens for claims-based tokens in an extensible system |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210129 |
|
RJ01 | Rejection of invention patent application after publication |