一种AIAgent平台的分层鉴权与用户信息透传方法与流程

摘要: 本技术属于身份认证与访问控制,具体涉及一种aiagent平台的分层鉴权与用户信息透传方法。背景技术:1、随着大语言模型及智能体技术在企业级业务系统中的应用,ai...
一种AIAgent平台的分层鉴权与用户信息透传方法与流程

本技术属于身份认证与访问控制,具体涉及一种ai agent平台的分层鉴权与用户信息透传方法。

背景技术:

1、随着大语言模型及智能体技术在企业级业务系统中的应用,ai agent平台逐渐被用于承接自然语言交互、任务编排、工具调用以及外部业务系统访问等功能。在该类应用场景中,用户通常通过业务系统发起对话请求,业务系统将用户请求发送至ai agent平台,aiagent平台根据用户意图调用相应的工具服务、mcp服务或业务服务接口,以完成数据查询、业务办理、流程审批、信息生成等操作。

2、在现有企业级系统接入架构中,业务系统与平台之间通常采用apikey、访问令牌、oauth授权、统一网关鉴权或服务间证书认证等方式进行身份认证和访问控制。例如,业务系统可以通过固定apikey接入平台;平台也可以通过统一访问令牌识别调用方身份;在部分系统中,还会通过api网关对请求进行统一认证,并在认证通过后将用户身份信息转发至下游服务。上述方式能够在常规系统间调用场景下实现调用方身份验证和基础访问控制。

3、然而,在ai agent平台调用业务系统的场景下,调用链路通常具有多轮会话、任务连续执行、工具服务多级转发以及用户身份需随请求跨系统传递等特点。现有鉴权方式在该场景下仍存在一定不足。

4、首先,现有方案通常将业务系统接入认证、会话调用授权以及终端用户权限校验混合在同一鉴权流程中处理。例如,采用单一apikey方式时,平台只能识别接入系统是否可信,难以区分具体ai agent会话是否仍处于有效授权范围内;采用单一访问令牌方式时,令牌中往往同时承载调用方身份、用户身份或授权范围等信息,导致系统级认证和会话级授权边界不够清晰。当ai agent在一个会话过程中多次调用不同工具服务或业务服务接口时,平台需要对每次调用进行重复鉴权,或者依赖较长有效期的令牌维持会话状态,前者会增加调用链路的鉴权开销,后者则会增大令牌泄露后的持续滥用风险。

5、其次,在跨系统调用过程中,用户身份信息通常需要在业务系统、ai agent平台、mcp服务层和业务服务接口之间传递。现有处理方式中,平台或中间网关往往需要解析用户身份信息后再进行路由、权限判断或请求转发。该方式会使用户身份信息暴露于业务系统之外的中间节点,并使ai agent平台承担用户身份解析、权限判断或用户数据存储等职责。对于拥有独立用户体系和权限体系的业务系统而言,用户身份数据和权限规则通常由业务系统自身维护,若由ai agent平台参与解析或管理用户身份信息,容易造成权限边界不清、用户数据同步复杂以及平台侧数据处理责任增加等问题。

6、再次,ai agent平台在调用mcp服务或业务服务接口时,用户身份信息可能经过多个中间服务节点转发。在现有方案中,若仅将用户身份信息作为普通请求头或普通参数传递,下游业务服务接口难以判断该用户身份信息是否与当前会话授权、目标服务调用以及平台转发链路相匹配,也难以确认该信息在中间转发过程中是否被替换或篡改。尤其在多工具服务、多业务接口并存的场景中,若缺少对用户身份透传数据与调用上下文之间的绑定关系,可能导致身份信息与实际调用目标不一致,进而影响业务服务接口后续权限校验的可靠性。

技术实现思路

1、本技术提供了一种ai agent平台的分层鉴权与用户信息透传方法,以解决上述技术问题之一。

2、本技术所采用的技术方案为:

3、本技术实施例提供一种ai agent平台的分层鉴权与用户信息透传方法,包括:

4、s100,接收业务系统发送的临时令牌申请请求,所述临时令牌申请请求携带系统级接入凭证标识、申请时间戳和第一请求签名;

5、s200,根据所述系统级接入凭证标识获取凭证校验数据,并基于所述凭证校验数据对所述申请时间戳和所述第一请求签名进行校验,在校验通过的情况下生成会话级临时令牌以及与所述会话级临时令牌对应的令牌上下文,并将所述会话级临时令牌返回至所述业务系统;其中,所述令牌上下文至少包括业务系统标识、令牌唯一标识和授权服务范围;

6、s300,接收所述业务系统基于所述会话级临时令牌发起的ai agent调用请求,所述ai agent调用请求携带所述会话级临时令牌、目标服务标识和用户身份透传数据包,所述用户身份透传数据包包括用户身份密文载荷;

7、s400,对所述ai agent调用请求中携带的所述会话级临时令牌进行有效性校验,并在所述会话级临时令牌校验通过的情况下,根据所述会话级临时令牌获取对应的令牌上下文,基于所述令牌上下文中的授权服务范围对所述目标服务标识进行授权校验;

8、s500,在所述目标服务标识通过授权校验的情况下,将所述用户身份透传数据包写入与所述ai agent调用请求对应的请求级上下文,并在不解密所述用户身份透传数据包的情况下,对所述用户身份透传数据包进行摘要计算,得到密文摘要;

9、s600,基于所述密文摘要、所述业务系统标识、所述令牌唯一标识和所述目标服务标识生成待签名数据,并对所述待签名数据进行签名处理,得到平台转发签名;

10、s700,基于所述用户身份透传数据包、签名关联数据和所述平台转发签名生成平台转发封套;其中,所述签名关联数据包括所述业务系统标识、所述令牌唯一标识和所述目标服务标识;

11、s800,根据所述目标服务标识确定目标mcp服务层,并将所述平台转发封套发送至所述目标mcp服务层。

12、根据本技术的一个实施例,所述s200中,所述凭证校验数据包括凭证状态、业务系统标识、签名校验密钥和时间窗口参数;

13、所述基于所述凭证校验数据对所述申请时间戳和所述第一请求签名进行校验,包括:

14、根据所述凭证状态判断所述系统级接入凭证标识对应的系统级接入凭证是否处于可用状态;

15、根据所述时间窗口参数判断所述申请时间戳是否位于允许申请时间范围内;

16、基于所述签名校验密钥和所述申请时间戳生成本地请求签名;

17、将所述本地请求签名与所述第一请求签名进行比对;

18、在所述系统级接入凭证处于可用状态、所述申请时间戳位于所述允许申请时间范围内、且所述本地请求签名与所述第一请求签名一致的情况下,确定所述临时令牌申请请求校验通过。

19、根据本技术的一个实施例,所述s200中,所述令牌上下文还包括租户标识、令牌生效时间和令牌失效时间;

20、所述生成会话级临时令牌以及与所述会话级临时令牌对应的令牌上下文,包括:

21、根据所述凭证校验数据确定所述业务系统标识、所述租户标识和所述授权服务范围;

22、根据令牌生成时间和预设有效时长确定所述令牌生效时间和所述令牌失效时间;

23、生成所述令牌唯一标识;

24、根据所述业务系统标识、所述租户标识、所述授权服务范围、所述令牌生效时间、所述令牌失效时间和所述令牌唯一标识生成所述令牌上下文;

25、根据所述令牌上下文生成所述会话级临时令牌,并将所述令牌唯一标识与令牌状态写入令牌状态存储区。

26、根据本技术的一个实施例,所述s400中,对所述ai agent调用请求中携带的所述会话级临时令牌进行有效性校验,并基于所述令牌上下文中的授权服务范围对所述目标服务标识进行授权校验,包括:

27、解析所述会话级临时令牌,得到待校验令牌上下文;

28、根据所述待校验令牌上下文中的令牌唯一标识查询所述令牌状态存储区,得到令牌状态;

29、判断当前时间是否位于所述令牌生效时间和所述令牌失效时间之间;

30、将所述目标服务标识与所述授权服务范围进行匹配;

31、在所述令牌状态为有效状态、当前时间位于所述令牌生效时间和所述令牌失效时间之间、且所述目标服务标识属于所述授权服务范围的情况下,确定所述会话级临时令牌校验通过且所述目标服务标识通过授权校验;

32、在所述令牌状态为无效状态、当前时间不位于所述令牌生效时间和所述令牌失效时间之间、或者所述目标服务标识不属于所述授权服务范围的情况下,拒绝生成所述平台转发封套。

33、根据本技术的一个实施例,所述s300中,所述用户身份透传数据包还包括加密算法标识、密钥标识和数据包随机数;

34、所述用户身份密文载荷为基于业务系统侧加密密钥对用户身份明文数据加密得到的密文载荷,所述用户身份明文数据包括用户标识、组织标识、角色标识和权限标识中的至少一种;

35、所述ai agent平台不持有所述业务系统侧加密密钥,并且在接收所述用户身份透传数据包后,将所述用户身份密文载荷、所述加密算法标识、所述密钥标识和所述数据包随机数作为整体进行透传处理。

36、根据本技术的一个实施例,所述s500中,将所述用户身份透传数据包写入与所述ai agent调用请求对应的请求级上下文,并在不解密所述用户身份透传数据包的情况下,对所述用户身份透传数据包进行摘要计算,得到密文摘要,包括:

37、为所述ai agent调用请求生成请求标识;

38、在所述请求级上下文中建立所述请求标识、所述目标服务标识和所述用户身份透传数据包之间的关联关系;

39、基于所述关联关系读取所述用户身份透传数据包;

40、对所述用户身份透传数据包中的全部密文字段或预设摘要字段集合进行摘要计算,得到所述密文摘要;

41、其中,所述请求级上下文用于在所述ai agent调用请求的处理周期内暂存所述用户身份透传数据包。

42、根据本技术的一个实施例,所述s600中,基于所述密文摘要、所述业务系统标识、所述令牌唯一标识和所述目标服务标识生成待签名数据,包括:

43、从所述请求级上下文中读取所述请求标识;

44、根据所述目标服务标识确定目标mcp服务标识;

45、将所述密文摘要、所述请求标识、所述业务系统标识、所述令牌唯一标识、所述目标服务标识和所述目标mcp服务标识按照预设字段顺序组合,得到所述待签名数据;

46、所述对所述待签名数据进行签名处理,得到平台转发签名,包括:

47、基于平台侧签名密钥对所述待签名数据进行签名处理,得到所述平台转发签名。

48、根据本技术的一个实施例,所述s700中,所述签名关联数据还包括所述请求标识和所述目标mcp服务标识;

49、所述基于所述用户身份透传数据包、签名关联数据和所述平台转发签名生成平台转发封套,包括:

50、将所述用户身份透传数据包作为待透传对象写入所述平台转发封套;

51、将所述业务系统标识、所述令牌唯一标识、所述目标服务标识、所述请求标识和所述目标mcp服务标识作为签名关联数据写入所述平台转发封套;

52、将所述平台转发签名写入所述平台转发封套;

53、其中,所述平台转发封套用于使目标mcp服务层或业务服务接口基于所述用户身份透传数据包重新计算密文摘要,并基于重新计算得到的密文摘要和所述签名关联数据对所述平台转发签名进行校验。

54、根据本技术的一个实施例,所述s800中,根据所述目标服务标识确定目标mcp服务层,并将所述平台转发封套发送至所述目标mcp服务层,包括:

55、根据所述目标服务标识查询服务路由映射关系,确定与所述目标服务标识对应的目标mcp服务标识;

56、根据所述目标mcp服务标识确定目标mcp服务层的访问地址;

57、按照与所述目标mcp服务层对应的服务调用协议,将所述平台转发封套发送至所述访问地址;

58、其中,发送至所述目标mcp服务层的平台转发封套中的用户身份透传数据包与所述s300接收的用户身份透传数据包保持一致。

59、根据本技术的一个实施例,所述方法还包括与所述临时令牌申请请求、所述aiagent调用请求和所述请求级上下文关联的异常控制过程;

60、所述异常控制过程包括:

61、在所述临时令牌申请请求校验失败的情况下,记录与所述系统级接入凭证标识对应的申请失败次数,并在所述申请失败次数达到预设失败阈值时,将所述系统级接入凭证标识对应的系统级接入凭证设置为临时锁定状态;

62、在所述会话级临时令牌校验失败或者所述目标服务标识未通过授权校验的情况下,拒绝生成所述平台转发封套;

63、在所述平台转发封套发送完成、所述ai agent调用请求处理失败或者所述aiagent调用请求处理超时的情况下,释放所述请求级上下文;

64、其中,针对所述ai agent调用请求生成的日志记录不包含所述用户身份透传数据包解密后的用户身份明文。

65、由于采用了上述技术方案,本技术所取得的有益效果为:

66、本技术通过在临时令牌申请阶段接收系统级接入凭证标识、申请时间戳和第一请求签名,并基于凭证校验数据对申请时间戳和第一请求签名进行校验后生成会话级临时令牌及令牌上下文,使业务系统接入认证与后续ai agent调用授权被划分为两个连续但相互独立的处理阶段。系统级接入凭证用于判断业务系统是否具备申请会话级临时令牌的资格,会话级临时令牌用于后续ai agent调用请求的会话授权验证,由此避免将系统级接入认证和会话级调用授权混合在同一长期凭证中处理,使平台侧能够基于不同阶段采用不同的校验数据和控制规则。

67、本技术通过在令牌上下文中至少设置业务系统标识、令牌唯一标识和授权服务范围,并在ai agent调用阶段根据会话级临时令牌获取对应令牌上下文,使ai agent平台能够将每一次ai agent调用请求与具体业务系统、具体会话授权以及允许访问的服务范围进行绑定。该处理机制使目标服务标识不仅用于确定后续调用对象,还参与授权服务范围校验,从而使平台侧能够在转发用户身份透传数据包之前判断当前会话是否具有调用目标服务的权限,降低使用已过期、被撤销或超出授权范围的会话级临时令牌继续访问业务服务的风险。

68、本技术通过使ai agent调用请求携带用户身份透传数据包,且所述用户身份透传数据包包括用户身份密文载荷,使用户身份信息在进入ai agent平台前已经被业务系统处理为密文形式。ai agent平台在后续处理过程中不需要获得用户身份明文,也不需要基于用户身份内容进行用户级权限判断,由此使ai agent平台的职责限定在系统级认证、会话级授权和转发可信性处理范围内,有利于保持ai agent平台与业务系统之间的权限边界。

69、本技术通过在目标服务标识通过授权校验后,将用户身份透传数据包写入与aiagent调用请求对应的请求级上下文,并在不解密用户身份透传数据包的情况下对其进行摘要计算得到密文摘要,使ai agent平台能够在不解析用户身份内容的前提下,对用户身份透传数据包形成可用于后续完整性绑定的摘要数据。请求级上下文用于在单次ai agent调用请求的处理周期内关联目标服务标识和用户身份透传数据包,避免平台侧为实现透传而对用户身份信息进行持久化管理。

70、本技术通过基于密文摘要、业务系统标识、令牌唯一标识和目标服务标识生成待签名数据,并对待签名数据进行签名处理得到平台转发签名,使用户身份透传数据包与业务系统来源、会话授权标识和目标服务调用对象之间形成绑定关系。由于平台转发签名的生成基础包括密文摘要和调用上下文数据,后续目标mcp服务层或业务服务接口可以通过重新计算密文摘要并结合签名关联数据进行验签,判断用户身份透传数据包在转发过程中是否被替换或篡改,同时判断该透传数据包是否对应于当前业务系统、当前会话和当前目标服务。

71、本技术通过基于用户身份透传数据包、签名关联数据和平台转发签名生成平台转发封套,使待透传的用户身份密文载荷、用于验签的上下文数据以及平台侧签名结果被封装为统一的数据结构。该平台转发封套使mcp服务层在后续转发时不需要解析用户身份透传数据包的内容,只需转发该封套即可保持用户身份透传数据包、签名关联数据和平台转发签名之间的对应关系,从而降低中间服务层处理用户身份内容的需求。

72、本技术通过根据目标服务标识确定目标mcp服务层,并将平台转发封套发送至目标mcp服务层,使目标服务标识在本方法中同时参与授权校验、签名绑定和路由转发。目标服务标识在前序步骤中用于判断当前会话是否具备访问目标服务的权限,在签名阶段用于将用户身份透传数据包与目标服务调用上下文绑定,在转发阶段用于确定目标mcp服务层,由此避免目标服务标识仅作为单纯路由参数使用,使服务授权、身份透传和服务转发之间形成连续的数据处理链条。

73、本技术通过“系统级接入凭证校验生成会话级临时令牌—会话级临时令牌校验及目标服务授权—用户身份透传数据包不解密摘要计算—密文摘要与调用上下文签名绑定—平台转发封套发送至目标mcp服务层”的步骤配合,本发明能够在ai agent平台不解析用户身份明文的情况下,实现业务系统接入认证、ai agent会话授权、用户身份密文透传和转发完整性校验之间的协同处理。该协同机制区别于将用户身份信息直接写入令牌或由平台解析用户身份信息的常规方式,使ai agent平台能够在保持用户身份信息不透明处理的同时,仍然对会话授权范围和透传数据完整性进行控制。