一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

资源安全集成平台的制作方法

2022-04-30 02:55:40 来源:中国专利 TAG:


1.本发明涉及从源系统到目的地系统的数据请求,尤其涉及安全平台中应用编程接口(api)请求的集成。


背景技术:

2.在许多情况下,软件应用彼此交互,以便在不重复代码和工作的情况下执行有效的数据处理。有几种集成技术可用于在单独的应用之间建立通信。例如,软件应用的开发者可以使用应用编程接口(apis)以使用请求和响应消息传递来利用其他应用的能力。访问api会需要软件开发者确定api的输入参数,诸如统一资源定位符(url)、认证机制、所使用的超文本传输协议(http)方法、内容类型、请求主体要求和其他参数。由不同的目的地系统或服务提供者提供的每个不同的api都可能需要输入参数信息。此外,每个服务提供者可以使用不同的授权机制,并需要向授权服务器注册。因此,设计访问各种api的软件应用会是困难且耗时的。
3.如下面进一步描述的,本公开解决了这些问题和其他问题。


技术实现要素:

4.一个实施例提供一种计算机安全系统,其包括一个或更多个处理器和一个或更多个机器可读介质。所述一个或更多个机器可读介质耦接到所述一个或更多个处理器并存储计算机程序代码,所述计算机程序代码包括可由所述一个或更多个处理器执行的指令集。所述指令可执行以从源系统接收源请求,所述源请求包括资源的指示和目的地系统的应用编程接口的地址。所述指令还可执行以基于所述地址获得所述应用编程接口的定义。所述指令还可执行以使用所述应用编程接口的所述定义来获得用于访问所述目的地系统的授权。所述指令还可执行以基于所述资源的所述指示、所述应用编程接口的所述地址和所述定义来生成接口请求消息。所述指令还可执行以使用所述授权将所述接口请求消息发送到所述目的地系统。所述指令还可执行以从所述目的地系统接收接口响应消息。所述指令还可执行以将基于所述接口响应消息的响应数据发送到所述源系统。
5.另一实施例提供一种或更多种非暂时性计算机可读介质,其存储包括指令集的计算机程序代码。所述计算机程序代码包括用于从源系统接收源请求的指令,所述源请求包括资源的指示和目的地系统的应用编程接口的地址。所述计算机程序代码还包括用于基于所述地址获得所述应用编程接口的定义的指令。所述计算机程序代码还包括用于使用所述应用编程接口的所述定义来获得用于访问所述目的地系统的授权的指令。所述计算机程序代码还包括用于基于所述资源的所述指示、所述应用编程接口的所述地址和所述定义来生成接口请求消息的指令。所述计算机程序代码还包括用于使用所述授权将所述接口请求消息发送到所述目的地系统的指令。所述计算机程序代码还包括用于从所述目的地系统接收接口响应消息的指令。所述计算机程序代码还包括用于将基于所述接口响应消息的响应数据发送到所述源系统的指令。
6.另一个实施例提供了一种计算机实现的方法。所述方法包括从源系统接收包括资源的指示和目的地系统的应用编程接口的地址的源请求。所述方法还包括基于地址获得应用编程接口的定义。所述方法还包括使用应用编程接口的定义获得用于访问目的地系统的授权。所述方法还包括基于资源的指示、应用编程接口的地址和定义来生成接口请求消息。所述方法还包括使用授权向目的地系统发送接口请求消息。所述方法还包括从目的地系统接收接口响应消息。所述方法还包括将基于接口响应消息的响应数据发送到源系统。
7.以下详细描述和附图提供了对本公开的本质和优点的更好理解。
附图说明
8.图1示出了根据实施例的与源系统和目的地系统通信的安全平台的示图。
9.图2示出了根据实施例的计算机安全方法的流程图。
10.图3示出了根据实施例的资源安全过程的示图。
11.图4示出了根据实施例的资源安全集成平台的组件的示图。
12.图5示出了用于实现本文描述的系统和方法的专用计算机器的硬件的示图。
具体实施方式
13.在以下描述中,出于解释的目的,阐述了许多示例和具体细节以便提供对本公开的透彻理解。这样的示例和细节不应被解释为过度地限制权利要求的要素或作为整体的所要求保护的主题。清楚的是,基于不同权利要求的语言,所要求保护的主题可以单独或组合地包括这些示例中的一些或全部特征,还可以包括本文描述的特征和技术的修改和等同物。
14.如上所述,软件应用的开发者可以使用应用编程接口以使用请求和响应消息传递来利用其他应用的能力。访问api会需要软件开发者确定api的输入参数,诸如统一资源定位符(url)、认证机制、超文本传输协议(http)方法、内容类型、请求主体要求等。针对由各种目的地系统或服务提供者提供的每个不同api都可能需要这样的信息。此外,每个服务提供者可以使用不同的授权机制,并需要向授权服务器注册。因此,设计访问各种api的软件应用会是困难且耗时的。
15.本公开提供了一种资源安全集成平台(称为"安全平台")以解决上述和其他问题。安全平台可以被配置为在软件应用与各种api之间建立api集成。安全平台可以被配置为向多个api注册以授权,以便与那些api通信,使得源应用本身不需要认证api或与api通信。安全平台的特征和优点包括使得源应用能够与单个安全平台进行认证,而不是分别与多个api平台进行认证。此外,安全平台通过被配置为从源应用接收简化的元数据信息并使用所述元数据信息基于api定义信息生成对目的地系统的复杂(complex)api请求来降低api集成复杂性。安全平台的特征和优点还包括使得软件开发者能够设计简单的元数据请求以与安全平台一起使用,而不是生成完整的api请求消息。安全平台还提供对api请求的扫描和监视,以防止泄露敏感数据、业务/个人联系细节和其他私人信息。下面描述安全平台的进一步细节。
16.图1示出了根据实施例的与源系统120和目的地系统170通信的安全平台130的示图100。安全平台130还可以与授权系统180通信。安全平台130可以通过一个或更多个通信
网络(例如,互联网)与源系统120、目的地系统170和授权系统180通信。
17.源系统120包括源应用111,源应用111被设计为消耗从目的地系统170的目的地应用171获得的资源。源应用是指使用安全平台130访问目的地系统170的目标api的应用。源系统120可以是计算机设备或者一个或更多个计算机设备的系统。例如,源系统可以是台式计算机、膝上型计算机、智能电话、平板电脑、可穿戴设备或其他计算设备。
18.安全平台130可以被配置为处理用于访问目的地系统170的授权以及对目的地系统170进行的api请求的生成。因此,源系统120可以不需要被配置为自己执行api请求和授权。此外,源系统120可以不需要生成包括作为api的输入参数所需的所有信息的完整api请求。相反,源系统120可以为api请求生成简化的元数据112。元数据112可以包括所请求的资源的名称或指示、目的地应用171的url、api的授权类型(例如,无(none)、访问令牌、saml或jwt)、api请求的任何附加报头、方法(例如,get、post、put、delete或patch)以及所使用的任何数据或挂钩(hook)。源系统120可以是计算机设备或者一个或更多个计算机设备的系统。例如,源系统可以包括一个或更多个服务器计算机。
19.安全平台130包括控制器121,其被配置为读取由源系统120提供的元数据文件112。控制器121可以被配置为启动认证管理器122以建立与目的地系统170处的目标api(例如,目的地应用171的api)的连接。控制器121可以被配置为触发请求构建器123构建请求报头/有效载荷。控制器121可以将该请求发送到目的地系统170(例如,目的地应用171的目标api)。如下面进一步描述的,该请求可以通过由安全平台130提供的安全隧道。
20.目的地系统170可以被配置为基于api提供对其目的地应用171的访问。目的地系统170还可以提供可以由安全平台130和其他计算设备访问的api的定义。目的地系统170可以是计算机设备或者一个或更多个计算机设备的系统。例如,源系统可以包括一个或更多个服务器计算机。
21.授权系统180可以基于向授权系统180的注册和认证来提供对目的地系统170的访问。在一些实施例中,目的地系统170可以替代地处理授权。安全平台130可以向授权系统180注册并代替源系统与授权系统180执行认证。授权系统180可以是计算机设备或者一个或更多个计算机设备的系统。例如,源系统可以包括一个或更多个服务器计算机。
22.下面进一步描述安全平台的特征和优点。
23.图2示出了根据实施例的计算机安全方法的流程图200。计算机安全方法可以由本文描述的资源安全集成平台执行。除非另有说明,否则可以与所描述的顺序不同的顺序执行计算机安全方法的步骤。
24.在201处,计算机安全方法可以从源系统接收源请求,所述源请求包括资源的指示和目的地系统的应用编程接口的地址。目的地系统可以使用应用编程接口来提供资源。地址可以是目的地系统的url。资源的指示可以是特定api资源的名称或标识符。例如,可以使用javascript对象表示法(json)来格式化源请求。
25.在202处,计算机安全方法可以基于地址获得应用编程接口的定义。定义信息可以被格式化为swagger文件。api的定义可以指示例如api方法、内容类型、格式、有效载荷模板和报头信息。
26.在203处,计算机安全方法可以使用应用编程接口的定义获得用于访问目的地系统的授权。例如,授权可以是访问令牌。
27.在204处,计算机安全方法可以基于所述资源的指示、所述地址和应用编程接口的定义生成接口请求消息。请求消息可以是满足目的地系统的api的要求的完整api请求消息。
28.在205处,计算机安全方法可以使用授权将接口请求消息发送到目的地系统。例如,授权可以基于“oauth”或“base64”认证。
29.在206处,计算机安全方法可以从目的地系统接收接口响应消息。响应消息可以包括由目的地系统响应于请求消息而生成或获得的信息。
30.在207处,计算机安全方法可以将基于接口响应消息的响应数据发送到源系统。因此,源系统可以访问由目的地系统提供的api,而不直接与目的地系统通信。
31.在一些实施例中,计算机安全方法可以基于第一接口响应消息发送第二接口请求消息,从而将接口请求链接在一起。在这样的实施例中,资源的指示可以是第一资源的第一指示,并且,目的地系统的应用编程接口的地址可以是第一目的地系统的第一应用编程接口的第一地址。
32.在这样的实施例中,源请求还包括第二资源的第二指示和第二应用编程接口的第二地址。并且,来自目的地系统的接口响应消息可以是第一接口响应消息。所述计算机安全方法还可以基于第一接口响应消息、第二资源的第二指示和第二地址生成第二接口请求消息。所述计算机安全方法还可以基于第二接口请求消息获得第二接口响应消息。发送到源系统的响应数据还可以基于第二接口响应消息。因此,接口响应已经链接在一起。
33.在一些实施例中,计算机安全方法可以基于一个或更多个安全策略来扫描接口请求消息。
34.在一些实施例中,计算机安全方法可以使用所存储的授权信息将访问请求发送到授权服务器。在这样的实施例中,用于访问目的地系统的授权的获得基于该访问请求。
35.在一些实施例中,计算机安全方法可以基于包括在源请求中的认证信息来认证源系统。在这样的实施例中,源请求可以包括认证信息。
36.在一些实施例中,计算机安全方法可以在接收源请求之前向授权系统注册,用于访问目的地系统的授权从授权系统获得。
37.在一些实施例中,源请求包括应用编程接口的定义。
38.图3示出了根据实施例的资源安全过程的示图300。所述过程包括源系统320、资源安全集成平台(“安全平台”)330、目的地系统370和授权系统380。图3的安全平台330可以被配置为类似于上述图1的安全平台130。图3的源系统320可以被配置为类似于上面讨论的图1的源系统120。图3的目的地系统370可以被配置为类似于上面讨论的图1的目的地系统170。图3的授权系统380可以被配置为类似于上面讨论的图1的授权系统180。
39.在301处,源系统320生成api元数据并将其发送到安全平台330。下面进一步描述api元数据的格式和结构。
40.在302处,安全平台330使用与api元数据一起包括的认证信息来认证源系统。例如,可以使用x509证书或另一类型的数字证书来执行认证。x509证书是有助于识别用户、应用、服务等的标准数字证书。证书可以包含序列号、版本、算法(对该证书签名的密码算法)、证书机构(ca)名称和有效性。使用证书进行认证有助于防止数据受到中间人(man-in-the-middle,mitm)攻击。通过使用编程语言库来生成公钥、私钥并对数字证书进行签名或者应
用的作者能够联系他/她的组织的ca以发布数字证书或者通过其他机制来发布数字证书。
41.在303处,安全平台330向目的地系统370请求api定义信息。该定义信息可以被格式化为swagger文件。通常,现今的api定义使用swagger文件来暴露api方法、内容类型、格式、有效载荷模板、报头信息等。该定义信息可以被维护在各个应用的储存库中。安全平台330可以访问该文件并提取api定义。对于较旧的api,安全平台330可以为源系统320提供窗口以手动添加api定义文件。
42.在304处,目的地系统370将api定义信息提供给安全平台330。
43.在305处,安全平台330向授权系统380注册。然而,在大多数情况下,可以不执行该步骤,这是因为安全平台330先前已经向授权系统380注册并可以不需要重新注册。在306处,授权系统380注册安全平台。
44.在307处,安全平台330向授权系统380请求访问令牌。在308处,授权系统380授权安全平台并生成令牌。然后,安全平台330从授权系统380获得访问令牌。如下面进一步描述的,授权过程可以由授权管理器执行。
45.在309处,安全平台330生成api请求。如下面进一步描述的,api请求由请求构建器生成。
46.在310处,安全平台330应用安全措施。如下面进一步描述的,可以使用安全隧道来应用安全措施。
47.在311处,安全平台330将api请求发送到目的地系统370。在312处,目的地系统370提供api响应,然后安全平台330获得api响应。
48.在313处,安全平台330基于api响应向源系统320提供响应数据。在313处,源系统320获得api响应。该过程对于源系统320是有利的,这是因为它不需要向授权系统380注册或认证,并且它仅需要向安全系统提供元数据而不是生成完整的api请求。
49.下面参考图4进一步描述安全平台的功能。
50.图4示出了根据实施例的资源安全集成平台430的组件的示图400。源系统420和安全平台430可以如上所述进行配置。api 1 471、api 2 472和api 3 473可以被配置为类似于上述目的地系统。图4的安全平台430可以被配置为类似于上述图1的安全平台130和图3的安全平台330。图4的源系统420可以被配置为类似于上述图3的源系统320和图1的源系统120。图4的授权服务器480可以被配置为类似于上述图3的授权系统380和图1的授权系统180。api(1-n)471、472、473、479可以由诸如图3的目的地系统370或图1的目的地系统170的目的地系统实现。
51.安全平台430可以被配置为使用特定于应用的认证模块(例如,oauth、base64认证等)来确保与源系统420的信任。源系统420的api元数据文件421可以是标准json文件,其包含关于目标api、报头、所请求的资源等的信息。如上所述,源系统420可以将元数据文件421提供给安全平台430。
52.下面提供元数据文件的示例性模板。
53.[0054][0055]
在一些实施例中,源系统420的restapi代理422可以用于在源应用420与安全平台430之间建立通信(例如,代理422可以利用元数据文件访问安全平台的restful服务端点)。
[0056]
资源安全信息平台430包括请求/响应分派器431(req/res分派器)。请求/响应分派器431可以被配置为处理来自源应用的处理请求并将该细节传递给控制器。另外,请求/响应分派器431可以被配置为将响应返回到源系统420的源应用。
[0057]
资源安全信息平台430包括控制器433。控制器433可以读取元数据文件421,执行认证机制以建立与目标api(例如,api l-n 471-479)的连接,触发请求构建器440构建请求报头/有效载荷,并通过安全隧道450将请求发送到目标api。一旦该控制器433从目标api接收到响应,它就可以通过分派器431将响应发送回源系统420的源应用。
[0058]
资源安全信息平台430包括api定义管理器434、元数据读取器435和api定义读取器436。api定义管理器434管理api定义。现今的api定义使用swagger文件来暴露api方法、内容类型、格式、有效载荷模板、报头信息等,因此,这些文件被维护在相应的应用的存储库中。api定义管理器将访问该文件并提取api定义。对于较旧的api,安全平台可以提供窗口以手动添加api定义文件,并且这是先决条件。元数据读取器435可以被配置为读取并解释从源系统420接收的api元数据421。api定义读取器436可以被配置为检索api定义数据490。例如,api定义数据490可以是swagger文件。
[0059]
资源安全信息平台430包括认证管理器439。认证管理器439可以处理验证用户的访问角色所需的api请求报头tat的生成。可以基于应用设计和api安全模型利用不同类型(例如,基本、oauth、承载等)来实现认证。
[0060]
认证管理器439可以被配置为通过向应用服务器发送必要的auth调用来构造访问令牌或授权令牌,并且,它可以被配置为临时存储令牌。可以在成功构造请求报头之后清理
该数据。
[0061]
资源安全信息平台430包括请求构建器440。请求构建器440可以被配置为从控制器433读取数据。请求构建器440可以以目标api的支持格式构造有效载荷,并且,它可以处理数据层级结构。
[0062]
资源安全信息平台430包括挂钩443。挂钩433包括高速缓存444、挂钩控制器445和提示44。如下面进一步描述的,挂钩443可以被配置为在api之间创建虚拟链。使用挂钩,一个api的输出结果能够用作另一个api的输入。例如,用户可能想要使用modeldefinition api来获得模型定义。modeldefinition api的输入参数可以是“模型id”。为了获得“模型id”,会需要触发另一个api请求。在该示例中:1.将请求“modellds”api发送到应用服务器。2.提取“模型id”并构造有效载荷。3.将请求“模型定义”发送到应用服务器
[0063]
这里,有两个api涉及获得模型定义作为输出结果。
[0064]
通过利用安全平台430,来自两个api的响应可以以第一api的结果将用于构造第二api请求的方式链接。下面提供了示例挂钩请求。
[0065][0066][0067]
当应用正在访问第三方api(开源或在组织外部开发的付费应用)时,可能需要强制执行安全措施而不妥协。因此,对目标api的所有api请求可以通过安全隧道450传递。安全隧道包括输出api监视器451、安全扫描器452和报告处理器453。可以监视和扫描每个消息以便提供集中的数据安全。
[0068]
这样,资源安全集成平台是有利的,因为它可以使用简化的元数据文件处理一个或更多个源应用的复杂api请求通信,从而使源应用的编程和配置更容易。另外,安全平台是有利的,因为它使得源应用能够与单个安全平台进行认证,而不是分别与多个api平台进行认证。安全平台的特征和优点还包括使得软件开发者能够设计简单的元数据请求以与安
全平台一起使用,而不是生成完整的api请求消息。另一个优点在于安全平台提供api请求的扫描和监视,以防止泄露敏感数据、业务/个人联系细节和其他私人信息,使得该监视和扫描可以不需要由源应用执行。
[0069]
图5示出了用于实现本文描述的系统和方法的专用计算机器的硬件的示图500。以下硬件描述仅仅是一个示例。将理解,可以使用各种计算机拓扑来实现上述技术。图5中所示的硬件被具体配置为实现本文描述的资源安全集成平台。
[0070]
图5中示出了计算机系统510。计算机系统510包括总线505或用于传送信息的其他通信机制,以及与总线505耦接的一个或更多个处理器501,用于处理信息。计算机系统510还包括耦接到总线505的存储器502,用于存储要由处理器501执行的信息和指令,包括例如用于执行上述一些技术的信息和指令。该存储器还可以用于存储由处理器501执行的程序。该存储器的可能实现可以是但不限于随机存取存储器(ram)、只读存储器(rom)或两者。还提供了用于存储信息和指令的存储设备503。存储设备的常见形式包括例如硬盘驱动器、磁盘、光盘、cd-rom、dvd、闪存或其他非易失性存储器、usb存储卡或计算机能够读取的任何其他介质。存储设备503可以包括用于执行上述技术(诸如例如上面关于图2描述的方法)的源代码、二进制代码或软件文件。存储设备和存储器都是非暂时性计算机可读存储介质的示例。
[0071]
计算机系统510可以经由总线505耦接到显示器512,用于向计算机用户显示信息。诸如键盘、触摸屏和/或鼠标的输入设备511耦接到总线505,用于将信息和命令选择从用户传送到处理器501。这些组件的组合允许用户与系统通信。在一些系统中,总线505表示例如多个专用总线。
[0072]
计算机系统还包括与总线505耦接的网络接口504。网络接口504可以在计算机系统610与网络520之间提供双向数据通信。例如,网络接口504可以是无线或有线连接。计算机系统510能够例如跨局域网、内联网、蜂窝网络或互联网通过网络接口504发送和接收信息。在互联网示例中,浏览器例如可以访问后端系统上的数据和特征,所述后端系统可以跨网络驻留在多个不同的硬件服务器531-534上。例如,服务器531-534可以是云计算环境的一部分。
[0073]
以上描述说明了本公开的各种实施例连同可以如何实现特定实施例的各方面的示例。上述示例不应被认为是唯一的实施例,并且被呈现以说明由所附权利要求限定的特定实施例的灵活性和优点。基于以上公开和所附权利要求,在不脱离由权利要求限定的本公开的范围的情况下,可以采用其他布置、实施例、实现和等同物。
[0074]
如本文所用,术语"第一"、"第二"、"第三"、"第四"、"第五"、"第六"、"第七"、“第八”、"第九"、"第十"等不一定指示排序或序列,除非另有说明。如本文所使用的,这些术语可以简单地用于不同对象或元件之间的区分。
[0075]
以上描述说明了本公开的各种实施例连同可以如何实现特定实施例的各方面的示例。上述示例不应被认为是唯一的实施例,并且被呈现以说明由所附权利要求限定的特定实施例的灵活性和优点。基于以上公开和所附权利要求,在不脱离由权利要求限定的本公开的范围的情况下,可以采用其他布置、实施例、实现和等同物。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献