掌桥专利:专业的专利平台
掌桥专利
首页

资源共享、访问方法、电子设备及计算机可读存储介质

文献发布时间:2023-06-19 10:29:05


资源共享、访问方法、电子设备及计算机可读存储介质

技术领域

本申请涉及计算机技术领域,尤其是涉及一种资源共享、访问方法、电子设备及计算机可读存储介质。

背景技术

随着网络技术的发展,其云平台所拥有的业务能力逐渐丰富,云平台可以为第三方客户端系统提供各种各样的资源即业务能力,例如彩信、天气预报、游戏等,第三方客户端通过访问云平台进行相应的资源访问,以获取相应的资源即业务能力。

云平台汇聚了众多的资源能力,因此云平台的安全管控十分重要,但是目前第三方客户端往往能够任意地对云平台进行资源访问,这种访问方式容易导致云平台被未知的不安全的第三方客户端进行访问,从而导致云平台出现资源能力泄露等安全问题。

发明内容

本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种资源共享方法,能够保证云平台与客户端在共享资源能力的过程中的安全性,防止出现资源能力泄露的问题。

本申请还提出一种具有上述资源共享方法的资源访问方法。

本申请还提出一种具有上述资源共享方法和资源访问方法的电子设备。

本申请还提出一种具有上述资源共享方法和资源访问方法的计算机可读存储介质。

根据本申请的第一方面实施例的资源共享方法,包括:

获取客户端发送的访问请求;提取所述访问请求中的密文标识;对所述密文标识进行解析处理,得到第一签名信息和第一标识信息;基于所述第一标识信息和预存的第二标识信息生成第二签名信息;比对所述第一签名信息和所述第二签名信息;若所述第一签名信息和所述第二签名信息相同,则根据所述访问请求获取所述客户端的初始请求,与所述客户端进行资源共享。

根据本申请实施例的资源共享方法,至少具有如下有益效果:通过获取客户端发送的访问请求和,提取访问请求中的密文标识,根据密文标识获取第一签名信息和第一标识信息,基于第一标识信息和预存的客户端的第二标识信息生成第二签名信息,对比第一签名信息和第二签名信息,若第一签名信息和第二签名信息相同,则根据访问请求获取客户端的初始请求,根据所述访问请求获取客户端的初始请求,与客户端进行资源共享,能够保证云平台与客户端在共享资源能力的过程中的安全性,防止出现资源能力泄露的问题。

根据本申请的一些实施例,所述对所述密文标识进行解析处理,得到第一签名信息和第一标识信息,包括:对所述密文标识进行解码处理得到加密信息;对所述加密信息进行解密得到所述第一签名信息和所述第一标识信息。

根据本申请的一些实施例,还包括:根据所述密文标识获取预存在数据库中的所述密文标识的应用信息;根据所述应用信息判断所述密文标识是否可用;若所述密文标识不可用,则不与所述客户端进行资源共享。

根据本申请的一些实施例,还包括:获取所述第一标识信息中的时间戳信息;根据所述时间戳信息判断所述访问请求是否有效;若所述访问请求无效,则不与所述客户端进行资源共享。

根据本申请的第二方面实施例的资源访问方法,包括:生成用于请求访问服务器的初始请求;根据预设的第二标识信息生成密文标识;根据所述密文标识和所述初始请求,生成访问请求;将所述访问请求发送给所述服务器,进行资源访问。

根据本申请实施例的资源访问方法,至少具有如下有益效果:通过生成用于请求访问服务器的初始请求,根据预设的第二标识信息生成密文标识,根据密文标识和初始请求生成访问请求,将访问请求发送给服务器进行资源方法,能够保证云平台与客户端在共享资源能力的过程中的安全性,防止出现资源能力泄露的问题。

根据本申请的一些实施例,所述根据预设的第二标识信息生成密文标识,包括:根据预设的第一标识信息生成第一签名信息;根据所述第一签名信息和所述第一标识信息加密生成加密信息;对所述加密信息进行编码生成编码信息;根据所述编码信息生成所述密文标识。

根据本申请的一些实施例,所述第一标识信息包括序列标识、时间戳信息;对应的,所述根据预设的第一标识信息生成第一签名信息,包括:根据所述序列标识、所述时间戳信息和预设的系统编码加密生成所述第一签名信息。

根据本申请的一些实施例,所述根据所述第一签名信息和所述第一标识信息加密生成加密信息,包括:根据所述序列标识、所述时间戳信息和所述第一签名信息生成所述加密信息。

根据本申请的第三方面实施例的电子设备,包括:至少一个处理器,以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述指令时实现如第一方面所述的资源共享方法和第二方面所述的资源访问方法。

根据本申请的电子设备,至少具有如下有益效果:通过执行第一方面所提到的资源共享方法和第二方面所提到的资源访问方法,能够保证云平台与客户端在共享资源能力的过程中的安全性,防止出现资源能力泄露的问题。

根据本申请的第四方面实施例的计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面所述的资源共享方法和第二方面所述的资源访问方法。

根据本申请的计算机可读存储介质,至少具有如下有益效果:通过执行第一方面所提到的资源共享方法和第二方面所提到的资源访问方法,能够保证云平台与客户端在共享资源能力的过程中的安全性,防止出现资源能力泄露的问题。

本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

图1为本申请实施例中资源共享方法的一流程示意图;

图2为本申请实施例中资源共享方法的另一流程示意图;

图3为本申请实施例中资源共享方法的步骤S130的一流程示意图;

图4为本申请实施例中资源访问方法的一流程示意图;

图5为本申请实施例中资源访问方法的步骤S220的另一流程示意图;

图6为本申请实施例中资源共享方法和资源访问方法的一具体应用实例图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。

需要说明的是,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同流程图中的顺序执行所示出或描述的步骤。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

需要说明的是,如无特殊说明,在实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。

随着网络技术的发展,其云平台所拥有的业务能力逐渐丰富,云平台可以为第三方客户端系统提供各种各样的资源即业务能力,例如彩信、天气预报、游戏等,第三方客户端通过访问云平台进行相应的资源访问,以获取相应的资源即业务能力。

云平台汇聚了众多的资源能力,因此云平台的安全管控十分重要,但是目前第三方客户端往往能够任意地对云平台进行资源访问,这种访问方式容易导致云平台被未知的不安全的第三方客户端进行访问,从而导致云平台出现资源能力泄露等安全问题。

基于此,本申请实施例提供了一种资源共享、访问方法、电子设备及计算机可读存储介质,能够保证云平台与客户端在共享资源能力的过程中的安全性,防止出现资源能力泄露的问题。

需要说明的是,本申请实施例中所提到的客户端为第三方客户端系统,用于进行资源访问的一端;服务器即云平台,用于管理所拥有的资源能力及资源信息,可以将资源能力及资源信息共享给进行连接的客户端即第三方系统。

第一方面,本申请实施例提供一种应用于服务器的资源共享方法。

在一些实施例中,参照图1,示出了本申请实施例中资源共享方法方法的流程示意图。其具体包括步骤:

S110,获取客户端发送的访问请求;

S120,提取访问请求中的密文标识;

S130,对密文标识进行解析处理,得到第一签名信息和第一标识信息;

S140,基于第一标识信息和预存的第二标识信息生成第二签名信息;

S150,比对第一签名信息和第二签名信息是否相同;

S160,若第一签名信息和第二签名信息相同,则根据访问请求获取客户端的初始请求,与客户端进行资源共享。

在步骤S110中,服务器会通过服务网关进行拦截以获取客户端发送的访问请求,以及预存在服务器端的数据库中的第二标识信息。其中访问请求指客户端以URL(UniformResource Locator,统一资源定位器)形式生成的HTTP(HyperText Transfer Protocol,超文本传输协议)请求,该访问请求用于请求客户端所要访问的资源能力,客户端通过与服务器对接的服务接口将HTTP请求发送至服务器中,由服务器的服务网关对其进行拦截获取。第二标识信息指当前连接服务接口进行资源请求的客户端的系统信息,包括客户端的系统编码、客户端所采用的加密密钥、客户端的访问请求的有效期限;系统编码是由服务器分配给客户端的唯一身份信息,即当前客户端的身份信息,用于服务器对当前客户端的身份识别;加密密钥是客户端在生成访问请求过程中所采用的密钥,该密钥可用于对请求进行加密,在实际应用中,加密密钥可以由客户端和服务器进行协商确定和调整;有效期限是客户端请求资源的访问请求的有效时间,若超过预设的有效期限,则客户端需要重新生成访问请求进行资源访问。

在步骤S120中,服务器接收到访问请求后,会对访问请求进行密文标识的提取,其中密文标识是客户端的访问请求中所携带的参数信息,该参数信息由客户端经过加密处理后生成,在实际应用中密文标识是作为HTTP请求的参数进行存在的,例如客户端的访问请求中携带的参数为“sig=syscode$密文标识”,其中sig是该参数信息的名称;syscode是客户端的系统编码,该系统编码能够提供给服务器对客户端进行身份确认;密文标识则是服务器对访问请求进行提取所得到的信息。在实际应用中,客户端通过服务接口上送访问请求后,服务器的服务网关在接收到访问请求后,可以通过预置的HTTP请求提供的参数获取方法,直接获取指定参数名称的参数信息,例如可以通过预置的参数获取方法:request.getParameter(“sig”),即获取参数名称为sig的参数信息,即可以得到参数信息,通过参数信息获取到最终需要提取的密文标识,即可完成密文标识的提取。

在一些实施例中,如图2所示,服务器在提取到密文标识后,具体还包括步骤:

S121,根据密文标识获取预存在数据库中的密文标识的应用信息;

S122,根据应用信息判断密文标识是否可用;

S123,若密文标识不可用,则不与客户端进行资源共享。

在步骤S121,当服务器提取到密文标识后,会对密文标识是否可用进行校验,具体通过获取预存在数据库中的该密文标识所对应的应用信息,其中应用信息是记载该密文标识的使用信息或标识该密文标识的可用信息,例如记载密文标识的使用次数或者记载密文标识的是否已经被使用过或者未被使用过的信息;数据库是指基于Redis(RemoteDictionary Server,远程字典服务)的所形成的数据库,该数据库中预存有不同客户端的不同访问请求所对应的应用信息。在实际应用中,当客户端生成密文标识后,会将密文标识对应的应用信息存储到Redis数据库中,服务器也能够连接Redis数据库,因此当服务器获取到密文标识后,即可从Redis数据库中获取对应的应用信息。

在步骤S122中,服务器根据获取到的应用信息对密文标识的可用性进行判断,确定密文标识是否可用,其中是否可用具体通过应用信息来确定,例如当应用信息记载该密文标识已经被使用过了,则说明已有客户端采用过该密文标识进行资源访问;当应用信息记载该密文标识未被使用过,则说明没有客户端采用过该密文标识进行资源访问。

在步骤S123中,若应用信息记载该密文标识已经被使用过,则说明该密文标识不可以被使用,则服务器会拒绝与该客户端进行资源共享。具体地说,服务器通过判定该访问请求中的密文标识是否未使用过的密文标识,从而确定该客户端的资源访问是否属于安全访问,若被使用过,则判定该客户端的访问请求为不安全请求,拒绝与该客户端进行资源共享。

需要说明的是,本申请实施例中,通过判断密文标识是否可用,可以通过应用信息进行确定,而确定密文标识是否可用,可以通过实际需求去设置密文标识的使用次数限制,例如只允许使用一次或者允许使用多次,本申请实施例不做约束。

在本申请实施例中,通过对密文标识的可用性判断,从而保证进行资源访问的客户端属于安全认可的客户端,避免非法客户端通过相同的密文标识及访问请求进行多次访问,避免出现访问安全问题。

在步骤S130中,服务器从访问请求中提取到密文标识后,可以通过对密文标识进行处理以获取到客户端的第一签名信息和第一标识信息,其中第一签名信息是客户端在生成密文标识过程中通过签名算法所生成的信息;第一标识信息则是客户端在生成第一签名信息时所需要用到的信息,包括客户端的时间戳信息、客户端的系统编码以及客户端的序列标识,时间戳信息是指客户端生成访问请求时的当前时间,时间戳信息可以标识客户端生成访问信息的时间,从而确定访问请求的有效时间;序列标识则是指客户端上送至服务器时的访问请求的序列号,例如序列标识为100时,则可以标识为当前客户端第100个访问服务器资源的访问请求。

在一些实施例中,参考图3,步骤S130具体还包括步骤:

S131,对密文标识进行解码处理得到加密信息;

S132,对加密信息进行解密得到第一签名信息和第一标识信息。

在步骤S131中,服务器提取到密文标识后,对密文标识进行解码处理,从密文标识中得到未进行编码的加密信息,其中解码处理是指基于常用的编码和解码方法,例如BASE64、BASE62X、URL方法和ASCII码(American Standard Code for InformationInterchange,美国信息交换标准代码)等,本申请实施例以BASE64为例进行说明。基于BASE64算法对密文标识进行解码处理后即可得到相应的加密信息。需要说明的是,服务器端所采用的解码方式需要与客户端在生成访问请求过程中所采用的编码方式保持一致,从而保证服务器对密文标识的解码处理正确进行,从而得到正确的加密信息,避免因为解码处理时采用的解码方式不同导致解码结果错误的问题。

在步骤S132中,服务器对密文标识进行解码处理得到加密信息后,即可对加密信息进行解密,得到第一签名信息和第一标识信息。其中加密信息是客户端在生成访问请求过程中通过预设的加密密钥和加密算法对第一签名信息和第一标识信息进行加密后得到的信息即第一签名信息和第一标识信息的加密版本;本申请实施例中所提到的解密处理是指基于常用的加解密算法对加密信息进行解密,例如对称加解密算法AES(AdvancedEncryption Standard,高级加密标准)算法、DES(Data Encryption Standard,数据加密标准)算法和RC2(传统对称分组加密算法)算法,或者非对称加解密算法DSA(DigitalSignature Algorithm,签名算法)算法和RSA(RSA algorithm)算法,或者哈希算法MD4(信息摘要算法)算法、MD5(Message Digest Algorithm MD5,消息摘要算法)算法和SHA(Secure Hash Algorithm,安全散列算法)系列算法,本申请实施例中加解密算法以DES算法为例进行说明。本申请实施例基于DES算法和预存在数据库中的客户端的加密密钥,对加密信息进行解密处理后,即可得到相应的信息,即第一签名信息和第一标识信息。需要说明的是,服务器端所采用的加解密算法需要与客户端在生成访问请求过程中所采用的加解密算法保持一致,从而保证服务器对加密信息的解密处理正确进行,从而得到正确的第一签名信息,避免因为解密处理时采用的解密算法不同导致解密结果错误的问题。

在步骤S140中,服务器根据解密得到的第一标识信息以及预存在数据库中的第二标识信息,重新进行计算得到第二签名信息,其中计算得到第二签名信息是指基于常用的加密算法对第一标识信息和第二标识信息进行加密得到的第二签名信息,本申请实施例以SHA1加密算法为例,通过SHA1(Secure Hash Algorithm 1,安全散列算法1)加密算法对得到的第一标识信息和第二标识信息进行加密,得到第二签名信息。需要说明的是,第二签名信息与第一签名信息并不是通过同样的方式获得,第一签名信息是通过对密文标识进行解码处理和解密处理后得到的,第二签名信息则是通过与客户端生成第一签名信息的相同的加密算法结合对密文标识进行解码处理和解密处理后得到的第一标识信息和预存的第二标识信息进行加密得到。

在步骤S150中,比对服务器从密文表示中提取得到的第一签名信息和通过第一标识信息和第二标识信息重新生成的第二签名信息,确定两者是否一致。比对是指比对两者是否一致或不同,从而得到对应的比对结果,根据不同的比对结果执行不同的执行步骤,如图1所示,若第一签名信息和第二签名信息相同,则执行步骤S160。

在步骤S160中,若比对第一签名信息和第二签名信息后,第一签名信息和第二签名信息相同,则根据客户端的访问请求获取到客户端的初始请求,根据初始请求与客户端进行资源共享。其中初始请求是指客户端实际进行访问时的请求,服务器所接收到的客户端的访问请求,是由客户端生成密文标识后,将密文标识添加在初始请求上从而生成的,即初始请求增加了密文标识作为参数。因此,服务器将访问请求中的密文标识清除掉,从而得到客户端的实际进行访问的初始请求,客户端可以根据初始请求对服务器进行资源访问,即服务器根据客户端的初始请求将资源能力共享给客户端。

在一些实施例中,参考图2,若第一签名信息和第二签名信息不同,则判断该访问请求为非法请求,因此,服务器会拒绝该访问请求即拒绝客户端进行资源访问,即服务器不与客户端进行资源共享。

在一些实施例中,参考图2,在步骤S150后具体还包括步骤:

S151,获取第一标识信息中的时间戳信息;

S152,根据时间戳信息和第二标识信息判断访问请求是否超期;

在步骤S151中,服务器会根据获取到的第一标识信息,确定该访问请求的时间戳信息,该时间戳信息表示客户端生成请求的时间,通过时间戳信息能够确定客户端的请求时间。

在步骤S152中,服务器会获取第二标识信息,根据预存在数据库中的第二标识信息以及时间戳信息,确定该访问信息是否处于有效期限内,具体地说,服务器获取第二标识信息中的有效期限,该有效期限表示客户端生成的请求的可用时间。服务器通过时间戳信息确定访问请求的生成时间,再结合第二标识信息的有效期限,从而判断当前时间点,访问请求是否超期。若判断该访问请求为超期,则执行步骤S123,服务器会拒绝客户端的资源访问,即服务器不与客户端进行资源共享。其中资源访问和资源共享是指客户端向服务器请求相关的业务能力或资源能力,或者服务器将当前的业务能力或资源能力分发给客户端进行使用;若判断访问请求未超期,则执行步骤S160,即服务器接受客户端的资源访问。

在本申请实施例中,通过获取客户端发送的访问请求和预存的客户端的第二标识信息,提取访问请求中的密文标识,根据密文标识获取第一签名信息和第一标识信息,基于第一标识信息和第二标识信息生成第二签名信息,对比第一签名信息和第二签名信息,若第一签名信息和第二签名信息相同,则根据访问请求获取客户端的初始请求,根据访问请求获取客户端的初始请求,与客户端进行资源共享,能够保证云平台与客户端在共享资源能力的过程中的安全性,防止出现资源能力泄露的问题。

第二方面,本申请实施例提供了一种应用于客户端的资源访问方法。

在一些实施例中,参照图4,示出了本申请实施例中资源共享方法的流程示意图。其具体包括步骤:

S210,生成用于请求访问服务器的初始请求;

S220,根据预设的第一标识信息生成密文标识;

S230,根据密文标识和初始请求,生成访问请求;

S240,将访问请求发送给服务器,进行资源访问。

在步骤S210中,客户端需要对服务器进行访问时,会生成相应的请求即初始请求,需要说明的是,初始请求是以URL形式的HTTP请求,客户端实际上是根据初始请求对服务器进行资源访问的,初始请求表明了客户端所要请求的资源能力。

在步骤S220中,客户端根据预设的第一标识信息生成密文标识,其中第一标识信息则是客户端在生成第一签名信息时所需要用到的信息,包括客户端的时间戳信息、客户端的系统编码以及客户端的序列标识,时间戳信息是指客户端生成访问请求时的当前时间,时间戳信息可以标识客户端生成访问信息的时间,从而确定访问请求的有效时间;序列标识则是指客户端上送至服务器时的访问请求的序列号。

在一些实施例中,参考图5,步骤S220具体还包括步骤:

S221,根据预设的第一标识信息生成第一签名信息;

S222,根据第一签名信息和第一标识信息加密生成加密信息;

S223,对加密信息进行编码生成密文标识。

在步骤S221中,客户端会根据预设的第一标识信息生成第一签名信息,具体地说,即根据第一标识信息进行签名,其中第一标识信息是客户端在生成第一签名信息时所需要用到的信息,包括客户端的时间戳信息、客户端的系统编码以及客户端的序列标识,时间戳信息是指客户端生成访问请求时的当前时间,时间戳信息可以标识客户端生成访问信息的时间,从而确定访问请求的有效时间;序列标识则是指客户端上送至服务器时的访问请求的序列号,例如序列标识为100时,则可以标识为当前客户端第100个访问服务器资源的访问请求。

在一些实施例中,客户端基于第一标识信息中的序列标识、时间戳信息和客户端的系统编码,通过加密算法进行加密生成第一签名请求,其中加密是指基于常用的加解密算法对第一标识信息中的序列标识、时间戳信息和客户端的系统编码进行加密,即第一标识信息中的序列标识、时间戳信息和客户端的系统编码作为加密方的入参参数,常用的加密算法包括但不限于对称加解密算法AES算法、DES算法和RC2算法,或者非对称加解密算法DSA算法和RSA算法,或者哈希算法MD4算法、MD5算法和SHA系列算法,本申请实施例中生成第一签名信息的加密算法以SHA1算法为例进行说明。

在实际应用中,以序列标识为100,时间戳信息为20201222101056,系统编码为200为例,其中时间戳信息表示2020年12月12日十点十分五十六秒,序列标识表示该请求为客户端的第100个请求,系统编码表示该客户端的身份编码为200,具体采用加密方式,SHA1(序列标识+时间戳信息+系统编码),即SHA1(10020201222101056200),通过SHA1加密算法对第二标识信息加密得到的第一签名信息为02838b4639d1c863b518f196e810a5653c87606f。

在步骤S222中,客户端在加密得到第一签名信息后,根据第一签名信息和预设的第一标识信息进行加密,得到对应的加密信息。其中加密信息是客户端在生成访问请求过程中通过预设的加密密钥和加密算法对第一签名信息和第一标识信息进行加密后得到的信息即第一签名信息和第一标识信息的加密版本;本申请实施例中所提到的加密处理是指基于常用的加解密算法对第一签名信息和第一标识信息信息进行解密,例如采用对称加解密算法AES算法、DES算法和RC2算法,或者非对称加解密算法DSA算法和RSA算法,或者哈希算法MD4算法、MD5算法和SHA系列算法,本申请实施例中加解密算法以DES算法为例进行说明。

在一些实施例中,客户端具体通过第一标识信息中的序列标识和时间戳信息,再结合步骤S221中生成的第一签名信息,进行加密,生成相应的加密信息。

在实际应用中,加密算法的入参参数为序列标识、时间戳信息和第一签名信息以及预设的加密密钥,其中以序列标识为100,时间戳信息为20201222101056,第一签名信息为02838b4639d1c863b518f196e810a5653c87606f,采用的加密算法为DES,加密密钥为abc为例,,具体地说,基于DES加密算法以及加密密钥abc,即DES(加密密钥(第一签名信息+序列标识+时间戳信息))=DES(abc(02838b4639d1c863b518f196e810a5653c87606f10020201222101056)),最终客户端进行加密处理后得到的加密信息为“U2FsdGVkX19B+jjppxt9YJsGiYiEmXFbIBsP61QLlIRiMVBfnsg+ZbtpzBvdnwZ9s3f+Shualu/ByM7QkkEUYmfb9pHQb8IdmUsD6EeirMg=”。

在步骤S223中,客户端通过步骤S222中得到的加密进行,对其进行编码处理,生成相应的密文标识,其中密文标识是指客户端通过常用的编码方式,例如BASE64、BASE62X、URL方法和ASCII码等对加密信息进行编码处理,本申请实施例中以BASE64编码方式为例,基于BASE64对加密信息进行加密生成密文标识。其中密文标识是客户端的访问请求中所携带的参数信息,该参数信息由客户端经过加密处理后生成,在实际应用中密文标识是作为HTTP请求的参数进行存在的,例如客户端的访问请求中携带的参数为“sig=syscode$密文标识”,其中sig是该参数信息的名称;syscode是客户端的系统编码,该系统编码能够提供给服务器对客户端进行身份确认;密文标识则是服务器对访问请求进行提取所得到的信息。在实际应用中,客户端通过服务接口上送访问请求后,服务器的服务网关在接收到访问请求后,可以通过预置的HTTP请求提供的参数获取方法,直接获取指定参数名称的参数信息,例如可以通过预置的参数获取方法:request.getParameter(“sig”),即获取参数名称为sig的参数信息,即可以得到参数信息,通过参数信息获取到最终需要提取的密文标识,即可完成密文标识的提取。

在实际应用中,本申请编码方式为BASE64(基于64个可打印字符来表示二进制数据)和加密信息为“U2FsdGVkX19B+jjppxt9YJsGiYiEmXFbIBsP61QLlIRiMVBfnsg+ZbtpzBvdnwZ9s3f+Shualu/ByM7QkkEUYmfb9pHQb8IdmUsD6EeirMg=”为例,基于BASE64编码方式进行编码,即BASE64(U2FsdGVkX19B+jjppxt9YJsGiYiEmXFbIBsP61QLlIRiMVBfnsg+ZbtpzBvdnwZ9s3f+Shualu/ByM7QkkEUYmfb9pHQb8IdmUsD6EeirMg=),最终得到密文标识为“VTJGc2RHVmtYMTlCK2pqcHB4dDlZSnNHaVlpRW1YRmJJQnNQNjFRTGxJUmlNVkJmbnNnK1pidHB6QnZkbndaOXMzZitTaHVhbHUvQnlNN1Fra0VVWW1mYjlwSFFiOElkbVVzRDZFZWlyTWc9”。

在步骤S230中,客户端在得到相应的密文标识后,根据密文第二标识信息得到需要添加的参数信息,具体地说,即将密文标识放置在参数,例如在实际应用中,将密文标识放置在请求携带的参数信息即“sig=syscode$密文标识”中,以系统编码为200为例,客户端请求的参数信息为“sig=200$VTJGc2RHVmtYMTlCK2pqcHB4dDlZSnNHaVlpRW1YRmJJQnNQNjFRTGxJUmlNVkJmbnNnK1pidHB6QnZkbndaOXMzZitTaHVhbHUvQnlNN1Fra0VVWW1mYjlwSFFiOElkbVVzRDZFZWlyTWc9”。初始请求添加上述参数信息后,即可得到对应的访问请求。

在步骤S240中,客户端通过初始信息和密文标识生成访问请求后,将访问请求通过与对接服务器的服务接口,将其上送至服务器,由服务器根据访问请求中携带的参数信息进行如第一方面实施例中提到的处理过程,从而确定该访问请求的合法性,使得客户端能够通过发送的访问请求对服务器进行资源访问。

需要说明的是,访问请求中携带的参数信息即密文标识,是用于实现接口访问的安全性及合法性校验,只有携带该参数信息并且经过服务器处的校验处理,从而确定该访问请求被服务器所接受及确定为合法请求,最终允许客户端进行资源访问。

在本申请实施例中,通过生成用于请求访问服务器的初始请求,根据预设的第二标识信息生成密文标识,根据密文标识和初始请求生成访问请求,将访问请求发送给服务器进行资源方法,能够保证云平台与客户端在共享资源能力的过程中的安全性,防止出现资源能力泄露的问题。

结合第一方面实施例中提到的资源共享方法和第二方面实施例中提到的资源访问方法,在可能实施的应用实例中,参考图6,客户端生成初始请求后,将预设的序列标识,时间戳信息和客户端的系统编码,通过SHA1加密算法进行签名得到第一签名信息。将得到的第一签名信息、序列标识和时间戳信息通过DES加密算法加密得到加密信息;加密信息通过BASE64编码方法进行编码处理后得到密文标识,根据密文标识生成需要携带的参数信息即sig=syscode$密文标识,将该参数信息添加到初始请求中进行携带,从而得到访问请求,客户端将访问请求发送给服务器进行接收。服务器通过服务网关对访问请求进行拦截,并且获取预存在数据库中的客户端的第二标识信息即客户端的系统编码、加密密钥及有效期限等;服务器对访问请求进行密文标识的提取,将密文标识从参数信息中提取出来,之后到预设的Redis数据库中去判断该密文标识是否已经被使用过,若被使用过则拒绝客户端的资源访问;若未被使用过,则对密文标识逐步进行解码处理和解密处理,得到密文标识中的第一签名信息以及第一标识信息;之后服务器根据获取到的第一标识信息重新计算生成一个新的第二签名信息,比对第一签名信息和第二签名信息。若第一签名信息和第二签名信息不同,服务器则拒绝客户端的资源访问;若第一签名信息和第二签名信息一致,则通过第一标识信息的时间戳和第二标识信息的有效期限,判断该访问请求是否过期,若访问请求超期,服务器则拒绝客户端的资源访问;若访问请求未超期,则将该密文标识放置在Redis数据库中,并且将访问请求中的密文标识及参数信息去除,得到客户端的初始请求,服务器以此将资源共享给客户端,即客户端对服务器进行资源访问。

第三方面,本申请实施例还提供了一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器;

其中,所述处理器通过调用所述存储器中存储的计算机程序,用于执行第一方面实施例中的资源共享方法或第二方面实施例中的资源访问方法。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本申请第一方面实施例中的资源共享方法或第二方面实施例中的资源访问方法。处理器通过运行存储在存储器中的非暂态软件程序以及指令,从而实现上述第一方面实施例中的资源共享方法或第二方面实施例中的资源访问方法。

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述第一方面实施例中的资源共享方法或第二方面实施例中的资源访问方法。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

实现上述第一方面实施例中的资源共享方法或第二方面实施例中的资源访问方法所需的非暂态软件程序以及指令存储在存储器中,当被一个或者多个处理器执行时,执行上述第一方面实施例中的资源共享方法或第二方面实施例中的资源访问方法。

第四方面,本申请实施例还提供了计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:执行第一方面实施例中的资源共享方法或第二方面实施例中的资源访问方法;

在一些实施例中,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被第三方面实施例的电子设备中的一个处理器执行,可使得上述一个或多个处理器执行上述第一方面实施例中的资源共享方法或第二方面实施例中的资源访问方法。

以上所描述的设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

在本说明书的描述中,参考术语“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。

尽管已经示出和描述了本申请的实施例,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。

相关技术
  • 资源共享、访问方法、电子设备及计算机可读存储介质
  • 资源访问方法、装置、电子设备及计算机可读存储介质
技术分类

06120112568235