CN113872932B - 基于sgx的微服务间接口鉴权方法、系统、终端及存储介质 - Google Patents

基于sgx的微服务间接口鉴权方法、系统、终端及存储介质 Download PDF

Info

Publication number
CN113872932B
CN113872932B CN202110961966.1A CN202110961966A CN113872932B CN 113872932 B CN113872932 B CN 113872932B CN 202110961966 A CN202110961966 A CN 202110961966A CN 113872932 B CN113872932 B CN 113872932B
Authority
CN
China
Prior art keywords
micro
service
authentication
address
key
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.)
Active
Application number
CN202110961966.1A
Other languages
English (en)
Other versions
CN113872932A (zh
Inventor
刘凯
徐峥
麻付强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202110961966.1A priority Critical patent/CN113872932B/zh
Publication of CN113872932A publication Critical patent/CN113872932A/zh
Application granted granted Critical
Publication of CN113872932B publication Critical patent/CN113872932B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供一种基于SGX的微服务间接口鉴权方法、系统、终端及存储介质,包括:管理中心从微服务注册中心获取各微服务的IP地址,为每个微服务生成一对非对称密钥,所述非对称密钥包括公钥和私钥;将微服务的非对称密钥与IP地址绑定,将公钥下发至绑定的IP地址;接收微服务发送的鉴权请求,所述鉴权请求包括第一微服务的IP地址和基于业务请求端公钥的认证密文,查找第一微服务的IP地址绑定的私钥,并利用私钥对认证密文进行解密;如果解密成功,则将解密得到的权限标识符返回至发送鉴权请求的第二微服务,所述权限标识符用于指示第二微服务对第一微服务鉴权成功。本发明实现了微服务间的独立认证和鉴权过程。

Description

基于SGX的微服务间接口鉴权方法、系统、终端及存储介质
技术领域
本发明涉及WEB服务技术领域,具体涉及一种基于SGX的微服务间接口鉴权方法、系统、终端及存储介质。
背景技术
微服务是目前较为流行的WEB应用框架技术,其将原本单体应用根据功能拆分成多个微服务,每个微服务部署到不同的服务器上,以微服务集群的形式构成一个WEB应用产品。通常一个微服务集群包含了几十上百个微服务,一项业务操作需要多个微服务之间互相调用完成,在进行微服务间内部接口调用时保证其安全性是十分必要的,否则一旦集群中的某台服务器被攻击,其他微服务也将面临被攻击的风险。
微服务间接口认证常用的有两种方案,一种是采取携带外网接口认证令牌token的方式,即获取用户登录后的token令牌,在微服务间接口调用时携带token进行认证,这种方式对于业务连续且同步(由用户发起请求到完成请求任务之间没有中断)的场景可行,但是对于一些异步不连续的业务场景就不在适用,因为异步场景下会出现获取不到token,或者获取到的token已过期失效的情况,比如用户请求了一项定时任务,系统收到用户请求后不会立刻执行,要等到定时时间到了才去执行,这样当系统内部去执行该项任务,获取的用户请求token已经失效不可用。另一种是设置白名单,例如设置微服务各个服务器的IP白名单,校验请求方的IP地址,若在IP白名单内视为请求合法,这种方式虽然实现了独立于外网网关的token认证系统,也具备一定程度的安全防护,但是防护等级不高,且只能做到身份认证,无法鉴权,例如服务器IP被篡改,或服务器被非法登录后使用服务器IP伪造请求调用其他微服务的接口等。
鉴于此,本申请提出了一种基于SGX的微服务间身份认证和接口鉴权系统,不依赖微服务外网网关的认证系统,实现身份认证的同时还实现了接口的鉴权。
发明内容
针对现有技术存在的微服务间由于用户认证值失效导致并发微服务无法进行接口鉴权,进而导致业务中断的问题,本发明提供一种基于SGX的微服务间接口鉴权方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种基于SGX的微服务间接口鉴权方法,包括:
管理中心从微服务注册中心获取各微服务的IP地址,为每个微服务生成一对非对称密钥,所述非对称密钥包括公钥和私钥;
将微服务的非对称密钥与IP地址绑定,将公钥下发至绑定的IP地址;
接收微服务发送的鉴权请求,所述鉴权请求包括第一微服务的IP地址和基于业务请求端公钥的认证密文,查找第一微服务的IP地址绑定的私钥,并利用私钥对认证密文进行解密;
如果解密成功,则将解密得到的权限标识符返回至发送鉴权请求的第二微服务,所述权限标识符用于指示第二微服务对第一微服务鉴权成功。
进一步的,管理中心从微服务注册中心获取各微服务的IP地址,为每个微服务生成一对非对称密钥,所述非对称密钥包括公钥和私钥,
从微服务注册中心获取所有微服务的IP地址,并将所有微服务的IP地址保存至微服务IP列表;
利用密钥生成软件为IP列表中的每个IP地址生成一对非对称密钥。
进一步的,将微服务的非对称密钥与IP地址绑定,将公钥下发至绑定的IP地址,包括:
将为IP地址生成的非对称密钥保存至所述IP地址在IP列表中的关联位置,得到IP地址与非对称密钥的绑定列表;
创建多个线程分别从绑定列表提取各IP地址的绑定公钥,将提取的公钥按照与其绑定的IP地址下发至相应的微服务。
进一步的,将微服务的非对称密钥与IP地址绑定,将公钥下发至绑定的IP地址,包括:
将公钥保存至相应的微服务的内存。
进一步的,所述认证密文的生成方法包括:
第一微服务在向第二微服务发送认证密文之前,获取时间戳;
将时间戳与本地接口的权限标识进行拼接,并将拼接后的数据作为认证信息;
利用本地的公钥对所述认证信息进行加密得到认证密文,将所述认证密文添加至调用请求头部,并向第二微服务发送所述调用请求。
进一步的,所述鉴权请求的生成方法包括:
第二微服务从接收的调用请求的头部提取认证密文并将认证密文与调用请求的源IP地址添加至鉴权请求,将所述鉴权请求发送至管理中心。
进一步的,所述权限标识符用于指示第二微服务对第一微服务鉴权成功,包括:
第二微服务接收管理中心返回的权限标识,并比对权限标识等级与本地权限标识等级,如果权限标识等级不低于本地权限标识等级,则通过第一微服务的调用请求。
第二方面,本发明提供一种基于SGX的微服务间接口鉴权系统,包括:
密钥生成单元,用于管理中心从微服务注册中心获取各微服务的IP地址,为每个微服务生成一对非对称密钥,所述非对称密钥包括公钥和私钥;
密钥绑定单元,用于将微服务的非对称密钥与IP地址绑定,将公钥下发至绑定的IP地址;
鉴权解密单元,用于接收微服务发送的鉴权请求,所述鉴权请求包括第一微服务的IP地址和基于业务请求端公钥的认证密文,查找第一微服务的IP地址绑定的私钥,并利用私钥对认证密文进行解密;
标识返回单元,用于如果解密成功,则将解密得到的权限标识符返回至发送鉴权请求的第二微服务,所述权限标识符用于指示第二微服务对第一微服务鉴权成功。
进一步的,密钥生成单元用于:
从微服务注册中心获取所有微服务的IP地址,并将所有微服务的IP地址保存至微服务IP列表;
利用密钥生成软件为IP列表中的每个IP地址生成一对非对称密钥。
进一步的,密钥绑定单元用于:
将为IP地址生成的非对称密钥保存至所述IP地址在IP列表中的关联位置,得到IP地址与非对称密钥的绑定列表;
创建多个线程分别从绑定列表提取各IP地址的绑定公钥,将提取的公钥按照与其绑定的IP地址下发至相应的微服务。
进一步的,密钥绑定单元用于:
将公钥保存至相应的微服务的内存。
进一步的,所述认证密文的生成流程包括:
第一微服务在向第二微服务发送认证密文之前,获取时间戳;
将时间戳与本地接口的权限标识进行拼接,并将拼接后的数据作为认证信息;
利用本地的公钥对所述认证信息进行加密得到认证密文,将所述认证密文添加至调用请求头部,并向第二微服务发送所述调用请求。
进一步的,所述鉴权请求的生成流程包括:
第二微服务从接收的调用请求的头部提取认证密文并将认证密文与调用请求的源IP地址添加至鉴权请求,将所述鉴权请求发送至管理中心。
进一步的,所述权限标识符用于指示第二微服务对第一微服务鉴权成功,包括:
第二微服务接收管理中心返回的权限标识,并比对权限标识等级与本地权限标识等级,如果权限标识等级不低于本地权限标识等级,则通过第一微服务的调用请求。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的基于SGX的微服务间接口鉴权方法、系统、终端及存储介质,通过为微服务生成唯一的非对称密钥,并将微服务的非对称密钥与IP地址绑定,之后将公钥分发至各微服务,各微服务在调用其他微服务接口时利用本地公钥加密认证信息,被调用的微服务将发送调用请求的微服务的认证密文和IP地址上传,管理中心查找IP地址绑定的私钥,利用私钥解密认证密文,并将解密结果返回至被调用的微服务器,解密结果作为微服务器鉴权的依据。本发明利用非对称密钥加解密认证技术,实现了微服务间的独立认证和鉴权过程,解决了微服务内网间接口认证对外网网关的认证系统的依赖问题,管理中心实现了对密钥的安全存储、管理和使用,时间戳和权限标识符拼接的认证消息结构,解决了微服务内网间接口白名单校验的安全防护等级低和鉴权困难问题,公钥加密认证信息和私钥解密认证密文的身份认证流程保证了身份认证信息的可靠性和不可伪造性。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性原理图。
图2是本发明一个实施例的方法的密钥生成流程图。
图3是本发明一个实施例的方法的认证密文生成流程图。
图4是本发明一个实施例的方法的被调用微服务接口的认证鉴权流程图。
图5是本发明一个实施例的方法的管理中心的解密认证流程图。
图6是本发明一个实施例的系统的示意性框图。
图7为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面对本发明中出现的关键术语进行解释。
英特尔SGX认证涵盖了在安全区中运行的软件的身份(例如MRENCLAVE和MRSIGNER),不可测量的状态(例如安全区模式(例如,调试与生产),安全区要与其自身关联的其他数据((例如,描述软件配置的清单),以及与平台TCB的密码绑定。该信息被捆绑到称为报告的数据结构中。利害关系方检查报告中包含的属性,以决定飞地的可信度。
为了解决微服务内网间接口认证对外网网关的认证系统的依赖问题,以及微服务内网间接口白名单校验的安全防护等级低和鉴权困难问题。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种基于SGX的微服务间接口鉴权系统。
如图1所示,该方法包括:
S1、管理中心从微服务注册中心获取各微服务的IP地址,为每个微服务生成一对非对称密钥,所述非对称密钥包括公钥和私钥;
S2、将微服务的非对称密钥与IP地址绑定,将公钥下发至绑定的IP地址;
S3、接收微服务发送的鉴权请求,所述鉴权请求包括第一微服务的IP地址和基于业务请求端公钥的认证密文,查找第一微服务的IP地址绑定的私钥,并利用私钥对认证密文进行解密;
S4、如果解密成功,则将解密得到的权限标识符返回至发送鉴权请求的第二微服务,所述权限标识符用于指示第二微服务对第一微服务鉴权成功。
具体的,如图1所示,管理中心从微服务注册中心获取系统中各微服务的IP地址,其中,微服务注册中心:微服务框架最基础的服务,主流的注册中心有Nacos、ZooKeeper、Eureka等,存储着各个微服务的实例信息(IP、端口、服务名等)。然后为每个微服务生成一对非对称密钥并和各微服务的IP一一对应,之后将非对称密钥的公钥分发给各个微服务,各微服务使用各自的公钥对认证信息进行加密得到认证密文,然后在调用其他微服务接口时将认证密文添加到请求头中,被调用的微服务接收到请求后提取请求方的IP地址,并从请求头中获取认证密文,然后将请求方的IP地址和认证密文发送到密钥管理中心进行身份认证,认证成功后拿到权限标识符,之后根据权限标识符校验权限是否满足。
本实施例中的管理中心采用SGX密钥管理中心,提高密钥保存的安全性。SGX:指令集扩展(software guard extensions),旨在以硬件安全为强制性保障,不依赖于固件和软件的安全状态,提供用户空间的可信执行环境,保障用户关键代码和数据的机密性与完整性不受恶意软件的破坏。
SGX密钥管理中心:运行在SGX可信执行环境中,负责对各微服务认证密钥进行管理和认证密文的解密认证。
在本发明的其他实施方式中,也可以采用其他高安全性的节点作为管理中心。
为了便于对本发明的理解,下面以本发明基于SGX的微服务间接口鉴权方法的原理,结合实施例中对微服务间的接口进行鉴权的过程,对本发明提供的基于SGX的微服务间接口鉴权方法做进一步的描述。
具体的,所述基于SGX的微服务间接口鉴权方法包括:
S1、管理中心从微服务注册中心获取各微服务的IP地址,为每个微服务生成一对非对称密钥,所述非对称密钥包括公钥和私钥。将微服务的非对称密钥与IP地址绑定,将公钥下发至绑定的IP地址。
从微服务注册中心获取所有微服务的IP地址,并将所有微服务的IP地址保存至微服务IP列表;利用密钥生成软件为IP列表中的每个IP地址生成一对非对称密钥。将为IP地址生成的非对称密钥保存至所述IP地址在IP列表中的关联位置,得到IP地址与非对称密钥的绑定列表;创建多个线程分别从绑定列表提取各IP地址的绑定公钥,将提取的公钥按照与其绑定的IP地址下发至相应的微服务。将公钥保存至相应的微服务的内存。
如图2所示,各微服务非对称密钥生成流程为:
步骤201,密钥管理中心从微服务注册中心获取各个微服务的IP地址列表[100.100.100.1,100.100.100.2,…]。
步骤202,为每一个微服务生成一对非对称密钥(私钥&公钥),密钥算法不做限制,可以使用RSA、SM2等:
步骤203,使用密钥管理中心的根密钥加密步骤202生成的非对称密钥的私钥,其中根密钥在没有管理中心服务启动时导入并保存在SGX可信内存中,由此保证根密钥的安全,将加密后的私钥密文和其对于的微服务IP保存到数据库中,形成一一对应关系,方便后续根据微服务IP查询相应的私钥。
步骤204,将非对称密钥公钥分发给各个微服务,各微服务启动时从密钥管理中心获取其对应的公钥,并将获取的公钥保存到内存中,为了防止公钥泄露不要将公钥保存到文本或数据库中。
S2、在调用微服务接口时生成认证密文。其中,认证密文的生成方法包括:第一微服务在向第二微服务发送认证密文之前,获取时间戳;将时间戳与本地接口的权限标识进行拼接,并将拼接后的数据作为认证信息;利用本地的公钥对所述认证信息进行加密得到认证密文,将所述认证密文添加至调用请求头部,并向第二微服务发送所述调用请求。
如图3所示,具体步骤为:
步骤301,获取当前时间戳Timestamp,假设为1527685834。
步骤302,将时间戳和本接口的权限标识符进行拼接,本接口的权限标识符可以根据微服务系统业务进行等级划分,例如分为5个等级分别用数字[1,2,3,4,5]来表示,数字越大等级越高,每个级别的接口具有访问同级别和低级别接口的权限,即级别为3的接口可以访问级别为[1,2,3]的接口。拼接的格式不做限制,例如采用特殊字符&进行连接,构成的认证信息:1527685834&3。时间戳有效期校验流程,保证了认证密文的时效性,避免了认证密文被盗用的风险。
步骤303,使用本服务的公钥对认证信息1527685834&3进行加密,假设加密得到的认证密文为:HlbP9YW3pW28FpsEdkXtctesiiWd。
步骤304,将认证密文HlbP9YW3pW28FpsEdkXtctesiiWd添加到服务间调用的请求头中,例如微服务A调用微服务B的接口,请求头格式为:
S3、被调用的微服务根据调用请求生成鉴权请求,鉴权请求的生成方法包括:第二微服务从接收的调用请求的头部提取认证密文并将认证密文与调用请求的源IP地址添加至鉴权请求,将所述鉴权请求发送至管理中心。
如图4所示,具体步骤为:
步骤401,从请求头中获取认证密文HlbP9YW3pW28FpsEdkXtctesiiWd以及请求方的IP地址100.100.100.1。
步骤402,将步骤401获取的认证密文和IP地址发送到SGX密钥管理中心进行解密认证。若认证成功则返回解密获取的请求方的权限标识符:3,若认证失败则返回认证失败信息。
S4、接收微服务发送的鉴权请求,所述鉴权请求包括第一微服务的IP地址和基于业务请求端公钥的认证密文,查找第一微服务的IP地址绑定的私钥,并利用私钥对认证密文进行解密。
如图5所示,具体步骤为:
步骤501,根据IP地址100.100.100.1从密钥数据库中获取其对应的私钥密文,然后使用系统根密钥进行解密得到私钥明文。
步骤502,使用私钥明文对认证密文HlbP9YW3pW28FpsEdkXtctesiiWd进行解密,解密成功后得到认证信息1527685834&3,若解密失败则说明认证密文不是由该IP对应的公钥加密的,返回认证失败信息。
步骤503,将认证信息1527685834&3根据拼接符&进行拆解得到时间戳1527685834和接口权限标识符3。
步骤504,对时间戳进行有效期校验,获取当前时间戳,假设当前时间戳为1527685844,差值为10,时间单位为秒,判断时间戳差值是否小于预设的最长有效期,比如2分钟,即120秒,若小于最长有效期,说明认证密文有效,否则说明认证密文已失效,返回认证失败信息。
S4、如果解密成功,则将解密得到的权限标识符返回至发送鉴权请求的第二微服务,所述权限标识符用于指示第二微服务对第一微服务鉴权成功。
认证成功后获取到请求方接口的权限标识符3,然后与本接口的权限标识符进行比较,假设本接口的权限标识符为2,根据步骤302对权限比较的描述,满足权限要求,鉴权成功后进行正常的请求业务处理,若鉴权失败则返回权限不足信息。权限标识符对接口权限的校验流程,实现了对微服务接口权限的灵活控制。
如图6所示,该系统600包括:
密钥生成单元610,用于管理中心从微服务注册中心获取各微服务的IP地址,为每个微服务生成一对非对称密钥,所述非对称密钥包括公钥和私钥;
密钥绑定单元620,用于将微服务的非对称密钥与IP地址绑定,将公钥下发至绑定的IP地址;
鉴权解密单元630,用于接收微服务发送的鉴权请求,所述鉴权请求包括第一微服务的IP地址和基于业务请求端公钥的认证密文,查找第一微服务的IP地址绑定的私钥,并利用私钥对认证密文进行解密;
标识返回单元640,用于如果解密成功,则将解密得到的权限标识符返回至发送鉴权请求的第二微服务,所述权限标识符用于指示第二微服务对第一微服务鉴权成功。
可选地,作为本发明一个实施例,密钥生成单元用于:
从微服务注册中心获取所有微服务的IP地址,并将所有微服务的IP地址保存至微服务IP列表;
利用密钥生成软件为IP列表中的每个IP地址生成一对非对称密钥。
可选地,作为本发明一个实施例,密钥绑定单元用于:
将为IP地址生成的非对称密钥保存至所述IP地址在IP列表中的关联位置,得到IP地址与非对称密钥的绑定列表;
创建多个线程分别从绑定列表提取各IP地址的绑定公钥,将提取的公钥按照与其绑定的IP地址下发至相应的微服务。
可选地,作为本发明一个实施例,密钥绑定单元用于:
将公钥保存至相应的微服务的内存。
可选地,作为本发明一个实施例,所述认证密文的生成流程包括:
第一微服务在向第二微服务发送认证密文之前,获取时间戳;
将时间戳与本地接口的权限标识进行拼接,并将拼接后的数据作为认证信息;
利用本地的公钥对所述认证信息进行加密得到认证密文,将所述认证密文添加至调用请求头部,并向第二微服务发送所述调用请求。
可选地,作为本发明一个实施例,所述鉴权请求的生成流程包括:
第二微服务从接收的调用请求的头部提取认证密文并将认证密文与调用请求的源IP地址添加至鉴权请求,将所述鉴权请求发送至管理中心。
可选地,作为本发明一个实施例,所述权限标识符用于指示第二微服务对第一微服务鉴权成功,包括:
第二微服务接收管理中心返回的权限标识,并比对权限标识等级与本地权限标识等级,如果权限标识等级不低于本地权限标识等级,则通过第一微服务的调用请求。
图7为本发明实施例提供的一种终端700的结构示意图,该终端700可以用于执行本发明实施例提供的基于SGX的微服务间接口鉴权方法。
其中,该终端700可以包括:处理器710、存储器720及通信单元730。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器720可以用于存储处理器710的执行指令,存储器720可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器720中的执行指令由处理器710执行时,使得终端700能够执行以下上述方法实施例中的部分或全部步骤。
处理器710为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器710可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元730,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过为微服务生成唯一的非对称密钥,并将微服务的非对称密钥与IP地址绑定,之后将公钥分发至各微服务,各微服务在调用其他微服务接口时利用本地公钥加密认证信息,被调用的微服务将发送调用请求的微服务的认证密文和IP地址上传,管理中心查找IP地址绑定的私钥,利用私钥解密认证密文,并将解密结果返回至被调用的微服务器,解密结果作为微服务器鉴权的依据。本发明利用非对称密钥加解密认证技术,实现了微服务间的独立认证和鉴权过程,解决了微服务内网间接口认证对外网网关的认证系统的依赖问题,管理中心实现了对密钥的安全存储、管理和使用,时间戳和权限标识符拼接的认证消息结构,解决了微服务内网间接口白名单校验的安全防护等级低和鉴权困难问题,公钥加密认证信息和私钥解密认证密文的身份认证流程保证了身份认证信息的可靠性和不可伪造性,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (7)

1.一种基于SGX的微服务间接口鉴权方法,其特征在于,包括:
SGX秘钥管理中心从微服务注册中心获取各微服务的IP地址,为每个微服务生成一对非对称密钥,所述非对称密钥包括公钥和私钥;
将微服务的非对称密钥与IP地址绑定,将公钥下发至绑定的IP地址;
接收微服务发送的鉴权请求,所述鉴权请求包括第一微服务的IP地址和基于业务请求端公钥的认证密文,查找第一微服务的IP地址绑定的私钥,并利用私钥对认证密文进行解密;
如果解密成功,则将解密得到的权限标识符返回至发送鉴权请求的第二微服务,所述权限标识符用于指示第二微服务对第一微服务鉴权成功;
所述认证密文的生成方法包括:
第一微服务在向第二微服务发送认证密文之前,获取时间戳;
将时间戳与本地接口的权限标识进行拼接,并将拼接后的数据作为认证信息;
利用本地的公钥对所述认证信息进行加密得到认证密文,将所述认证密文添加至调用请求头部,并向第二微服务发送所述调用请求;
所述鉴权请求的生成方法包括:
第二微服务从接收的调用请求的头部提取认证密文并将认证密文与调用请求的源IP地址添加至鉴权请求,将所述鉴权请求发送至SGX秘钥管理中心;
所述权限标识符用于指示第二微服务对第一微服务鉴权成功,包括:
第二微服务接收SGX秘钥管理中心返回的权限标识,并比对权限标识等级与本地权限标识等级,如果权限标识等级不低于本地权限标识等级,则通过第一微服务的调用请求。
2.根据权利要求1所述的方法,其特征在于,SGX秘钥管理中心从微服务注册中心获取各微服务的IP地址,为每个微服务生成一对非对称密钥,所述非对称密钥包括公钥和私钥,
从微服务注册中心获取所有微服务的IP地址,并将所有微服务的IP地址保存至微服务IP列表;
利用密钥生成软件为IP列表中的每个IP地址生成一对非对称密钥。
3.根据权利要求1所述的方法,其特征在于,将微服务的非对称密钥与IP地址绑定,将公钥下发至绑定的IP地址,包括:
将为IP地址生成的非对称密钥保存至所述IP地址在IP列表中的关联位置,得到IP地址与非对称密钥的绑定列表;
创建多个线程分别从绑定列表提取各IP地址的绑定公钥,将提取的公钥按照与其绑定的IP地址下发至相应的微服务。
4.根据权利要求3所述的方法,其特征在于,将微服务的非对称密钥与IP地址绑定,将公钥下发至绑定的IP地址,包括:
将公钥保存至相应的微服务的内存。
5.一种基于SGX的微服务间接口鉴权系统,其特征在于,包括:
密钥生成单元,用于SGX秘钥管理中心从微服务注册中心获取各微服务的IP地址,为每个微服务生成一对非对称密钥,所述非对称密钥包括公钥和私钥;
密钥绑定单元,用于将微服务的非对称密钥与IP地址绑定,将公钥下发至绑定的IP地址;
鉴权解密单元,用于接收微服务发送的鉴权请求,所述鉴权请求包括第一微服务的IP地址和基于业务请求端公钥的认证密文,查找第一微服务的IP地址绑定的私钥,并利用私钥对认证密文进行解密;
标识返回单元,用于如果解密成功,则将解密得到的权限标识符返回至发送鉴权请求的第二微服务,所述权限标识符用于指示第二微服务对第一微服务鉴权成功;
所述认证密文的生成方法包括:
第一微服务在向第二微服务发送认证密文之前,获取时间戳;
将时间戳与本地接口的权限标识进行拼接,并将拼接后的数据作为认证信息;
利用本地的公钥对所述认证信息进行加密得到认证密文,将所述认证密文添加至调用请求头部,并向第二微服务发送所述调用请求;
所述鉴权请求的生成方法包括:
第二微服务从接收的调用请求的头部提取认证密文并将认证密文与调用请求的源IP地址添加至鉴权请求,将所述鉴权请求发送至SGX秘钥管理中心;
所述权限标识符用于指示第二微服务对第一微服务鉴权成功,包括:
第二微服务接收SGX秘钥管理中心返回的权限标识,并比对权限标识等级与本地权限标识等级,如果权限标识等级不低于本地权限标识等级,则通过第一微服务的调用请求。
6.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-4任一项所述的方法。
7.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
CN202110961966.1A 2021-08-20 2021-08-20 基于sgx的微服务间接口鉴权方法、系统、终端及存储介质 Active CN113872932B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110961966.1A CN113872932B (zh) 2021-08-20 2021-08-20 基于sgx的微服务间接口鉴权方法、系统、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110961966.1A CN113872932B (zh) 2021-08-20 2021-08-20 基于sgx的微服务间接口鉴权方法、系统、终端及存储介质

Publications (2)

Publication Number Publication Date
CN113872932A CN113872932A (zh) 2021-12-31
CN113872932B true CN113872932B (zh) 2023-08-29

Family

ID=78988055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110961966.1A Active CN113872932B (zh) 2021-08-20 2021-08-20 基于sgx的微服务间接口鉴权方法、系统、终端及存储介质

Country Status (1)

Country Link
CN (1) CN113872932B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114513364B (zh) * 2022-02-25 2024-03-15 杭州涂鸦信息技术有限公司 一种服务授权方法及相关组件
CN114629637B (zh) * 2022-03-09 2023-02-17 航天科工智慧产业发展有限公司 一种微服务安全管理的方法及其应用系统
CN114640541B (zh) * 2022-04-15 2023-01-13 北京透彻未来科技有限公司 一种分布式架构中微服务之间认证的方法
CN114760133B (zh) * 2022-04-15 2023-10-03 中国电信股份有限公司 RESTful接口认证方法、装置、系统、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835774A (zh) * 2020-07-15 2020-10-27 中国建设银行股份有限公司 数据处理方法、装置、设备及存储介质
CN112511295A (zh) * 2020-11-12 2021-03-16 银联商务股份有限公司 接口调用的认证方法、装置、微服务应用和密钥管理中心
CN112948851A (zh) * 2021-02-25 2021-06-11 深圳壹账通智能科技有限公司 用户认证方法、装置、服务器及存储介质
CN113094190A (zh) * 2021-04-09 2021-07-09 中国工商银行股份有限公司 微服务调用方法、调用装置、电子设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835774A (zh) * 2020-07-15 2020-10-27 中国建设银行股份有限公司 数据处理方法、装置、设备及存储介质
CN112511295A (zh) * 2020-11-12 2021-03-16 银联商务股份有限公司 接口调用的认证方法、装置、微服务应用和密钥管理中心
CN112948851A (zh) * 2021-02-25 2021-06-11 深圳壹账通智能科技有限公司 用户认证方法、装置、服务器及存储介质
CN113094190A (zh) * 2021-04-09 2021-07-09 中国工商银行股份有限公司 微服务调用方法、调用装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN113872932A (zh) 2021-12-31

Similar Documents

Publication Publication Date Title
CN113872932B (zh) 基于sgx的微服务间接口鉴权方法、系统、终端及存储介质
CN102017578B (zh) 用于在令牌与验证器之间进行认证的网络助手
EP2020797B1 (en) Client-server Opaque token passing apparatus and method
CN109361668A (zh) 一种数据可信传输方法
CN100512201C (zh) 用于处理分组业务的接入-请求消息的方法
CN109981255B (zh) 密钥池的更新方法和系统
CN111416807A (zh) 数据获取方法、装置及存储介质
Zhong et al. Distributed blockchain-based authentication and authorization protocol for smart grid
CN111030814A (zh) 秘钥协商方法及装置
CN111131416A (zh) 业务服务的提供方法和装置、存储介质、电子装置
KR101817152B1 (ko) 신뢰된 권한 정보 제공 방법, 신뢰된 권한 정보를 포함하는 사용자 크리덴셜 발급 방법 및 사용자 크리덴셜 획득 방법
Liu et al. A secure cookie protocol
CN110932850B (zh) 通信加密方法及系统
JP2010514000A (ja) 電子装置にプログラム状態データをセキュアに記憶するための方法
CN112187466B (zh) 一种身份管理方法、装置、设备及存储介质
CN114244508B (zh) 数据加密方法、装置、设备及存储介质
CN109905384B (zh) 数据迁移方法及系统
CN114143108B (zh) 一种会话加密方法、装置、设备及存储介质
JP2001177513A (ja) 通信システムにおける認証方法、センタ装置、認証プログラムを記録した記録媒体
CN111241492A (zh) 一种产品多租户安全授信方法、系统及电子设备
CN113849797A (zh) 数据安全漏洞的修复方法、装置、设备及存储介质
CN115549930B (zh) 登录操作系统的验证方法
US20090164782A1 (en) Method and apparatus for authentication of service application processes in high availability clusters
CN112865981B (zh) 一种令牌获取、验证方法及装置
CN113722726B (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