一种资源数据的访问方法及系统与流程

专利2022-06-29  115


本发明实施例涉及网络传输技术领域,尤其涉及一种资源数据的访问方法及系统。



背景技术:

目前,在游戏开发中主要有4种网络通讯传输协议,分别是传输控制协议(transmissioncontrolprotocol,tcp)、用户数据报协议(userdatagramprotocol,udp)、超文本传输协议(hypertexttransferprotocol,http)和websocket协议。其中http协议由于具有研发成本很低,开发快速、开源软件较多、协议成熟等原因受到广泛地使用。在对交互性要求不高的场景下,常常作为一种辅助的通信手段出现。但是http协议在安全性上有着很大的缺陷。简单的http协议直接使用明文传输,攻击者可以直接拦截下传输的数据包,并对该数据包中的玩家身份信息进行修改,以获取http服务器返回的请求资源。

现有技术中,通常会在客户端对数据包的内容进行签名加密,以保证数据包中玩家身份信息的可靠性。但基于上述技术方法,攻击者同样可以通过第三方软件修改内存等方式在签名开始前对数据包中的玩家身份信息进行修改,从而躲过http服务器对签名验证的风险。



技术实现要素:

本发明实施例提供了一种资源数据的访问方法及系统,以提高资源访问请求中用户身份的安全性,降低客户端执行加密过程的计算压力。

第一方面,本发明实施例提供了一种资源数据的访问方法,该方法包括:

游戏服务器接收客户端基于资源访问请求指令发送的资源加密请求,其中,所述资源加密请求包括身份验证请求;

所述游戏服务器获取与所述身份验证请求对应的身份编码,并根据所述身份编码生成与所述资源加密请求对应的私钥签名;

所述游戏服务器将所述身份编码和所述私钥签名发送给所述客户端,以使所述客户端根据所述身份编码和所述私钥签名,访问资源服务器以获取资源数据。

第二方面,本发明实施例还提供了一种资源数据的访问系统,该系统包括:至少一个客户端、游戏服务器和资源服务器;

其中,所述游戏服务器包括资源加密请求接收模块、私钥签名生成模块和私钥签名发送模块;

其中,资源加密请求接收模块,用于接收客户端基于资源访问请求指令发送的资源加密请求,其中,所述资源加密请求包括身份验证请求;

私钥签名生成模块,用于获取与所述身份验证请求对应的身份编码,并根据所述身份编码生成与所述资源加密请求对应的私钥签名;

私钥签名发送模块,用于将所述身份编码和所述私钥签名发送给所述客户端,以使所述客户端根据所述身份编码和所述私钥签名,访问资源服务器以获取资源数据。

本发明实施例通过游戏服务器对需要进行资源访问的用户身份进行加密处理,解决了攻击者恶意修改资源访问请求的问题,提高了资源访问请求中用户身份的安全性,也降低了客户端执行加密过程的计算压力。

附图说明

图1是本发明实施例一提供的一种资源数据的访问方法的流程图。

图2是本发明实施例二提供的一种资源数据的访问方法的流程图。

图3是本发明实施例二提供的一种资源数据的访问方法的具体实例流程图。

图4是本发明实施例三提供的一种资源数据的访问系统的结构示意图。

图5是本发明实施例三提供的一种资源数据的访问系统的具体实例示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1是本发明实施例一提供的一种资源数据的访问方法的流程图,本实施例可适用于客户端对资源服务器进行资源数据访问情况。具体包括如下步骤:

s110、游戏服务器接收客户端基于资源访问请求指令发送的资源加密请求,其中,资源加密请求包括身份验证请求。

其中,示例性的,游戏服务器的类型包括专用游戏服务器。专用游戏服务器是指由游戏开发商运行的服务器,专用游戏服务器可以承载多人同时在线,因此,专用游戏服务器更多的被应用于在线游戏中。

其中,资源访问请求指令是指客户端在需要对资源服务器进行资源数据访问时生成的请求指令。在一个实施例中,可选的,客户端当接收到用户输入的资源访问操作时,生成与资源访问操作对应的资源访问请求指令,其中,资源访问操作包括访问网页、装备合成和访问游戏公告中至少一种操作。

其中,当用户在客户端输入访问网页的操作时,需要将资源访问请求发送给资源服务器,以使该资源服务器将相应的内容返回客户端,以便用户在客户端查看网页信息;装备合成是指一种游戏软件中的操作,示例性的,用户拥有初级装备a和初级装备b,根据游戏软件的预先设置程序,初级装备a和初级装备b可被合成为一件高级装备,此时用户执行的装备合成操作需要调取资源服务器中提供的与高级装备相关的资源数据,以在用户的游戏软件中加载该高级装备,从而完成装备合成操作;游戏公告是游戏开发商的系统发布的游戏活动、游戏规则和游戏奖励等游戏信息,当用户执行访问游戏公告的操作时,可以通过访问资源服务器返回有关游戏公告的信息。此处对用户输入的资源访问操作不作限定,可以根据客户端具体的使用情况进行相应的设置。

其中,资源加密请求是指客户端向游戏服务器发送的需要进行加密的请求信息。在本实施例中,资源加密请求包括身份验证请求。当用户登录游戏软件时,游戏服务器识别与登录信息对应的账户信息。其中,示例性的,登录信息可以是用户名、登录密码、人脸信息、声纹信息和指纹信息等。相应的,身份验证请求可以是用户名、登录密码、人脸信息、声纹信息和指纹信息,当然,也可以是客户端基于登录信息生成的身份验证指令。此处对身份验证请求的具体形式不作限定。

s120、游戏服务器获取与身份验证请求对应的身份编码,并根据身份编码生成与资源加密请求对应的私钥签名。

其中,游戏服务器在用户注册游戏软件时,会生成与该注册用户对应的身份编码。身份编码是用于唯一标识该注册用户的编码信息。其中,示例性的,生成注册用户的身份编码的方法包括uuid算法和snowflake算法,此处对生成身份编码的方法不作限定。

其中,签名处理是指私钥签名,是对信息的发送者发送信息的真实性的有效证明。私钥签名是将要发送的内容通过私钥进行加密,并将加密文件和发送的内容同时发送给接收者。接收者使用与该私钥对应的公钥对加密文件进行解密,确定发送的内容是否与解密得到的内容相同。在一个实施例中,可选的,游戏服务器采用sha256加密算法用私钥对身份编码进行签名处理,生成与资源加密请求对应的私钥签名。其中,sha256加密算法是一种单向哈希函数,该算法将任意长度的消息转化为较短的和固定长度的消息摘要。

s130、游戏服务器将身份编码和私钥签名发送给客户端,以使客户端根据身份编码和私钥签名,访问资源服务器以获取资源数据。

其中,客户端根据身份编码、私钥签名和资源访问信息,生成资源访问请求,并将资源访问请求发送给资源服务器;客户端接收资源服务器基于资源访问请求发送的资源数据。

其中,资源访问信息是客户端基于用户输入的资源访问操作生成的访问信息,资源服务器可以根据资源访问信息确定需要返回给客户端的资源数据。在一个实施例中,可选的,客户端将身份编码、私钥签名和资源访问信息进行拼接,生成资源访问请求。示例性的,按照身份编码、私钥签名和资源访问信息的顺序进行拼接。此处对拼接的顺序不作限定。

其中,示例性的,资源服务器可以是web服务器,也可以是http服务器。在一个实施例中,可选的,资源服务器接收客户端发送的资源访问请求,并根据资源访问请求中的私钥签名,确定是否向客户端发送与资源访问请求对应的资源数据。

其中,具体的,资源服务器采用与sha256加密私钥对应的公钥算法,对接收到的资源访问请求中的私钥签名进行解密处理,并根据解密结果对资源访问请求中的身份编码进行验证;如果验证成功,则资源服务器将与资源访问请求对应的资源数据发送给客户端。

其中,如果解密得到的身份编码与资源访问请求中的身份编码相同,则认为验证成功;如果解密得到的身份编码与资源访问请求中的身份编码不同,则认为验证失败。

在一个实施例中,可选的,如果验证失败,资源服务器则执行失败响应操作。其中,示例性的,失败响应操作包括资源服务器拒绝客户端对资源数据进行访问、资源服务器生成拒绝访问指令并将该拒绝访问指令发送给客户端、资源服务器生成风险提示指令并将该风险提示指令发送给客户端中至少一种响应操作。其中,风险提示指令用于提示客户端在资源访问时存在访问风险,以便客户端对其存在的访问风险进行后续处理。

本实施例的技术方案,通过游戏服务器对需要进行资源访问的用户身份进行加密处理,解决了攻击者恶意修改资源访问请求的问题,提高了资源访问请求中用户身份的安全性,也降低了客户端执行加密过程的计算压力。

实施例二

图2是本发明实施例二提供的一种资源数据的访问方法的流程图,本实施例的技术方案是上述实施例的基础上的进一步细化。可选的,所述资源加密请求还包括资源访问信息,相应的,在所述游戏服务器根据所述身份编码生成与所述资源加密请求对应的私钥签名之前,还包括:所述游戏服务器将所述身份编码和所述资源访问信息进行拼接,生成初始加密信息。

本实施例的具体实时步骤包括:

s210、游戏服务器接收客户端基于资源访问请求指令发送的资源加密请求,其中,资源加密请求包括身份验证请求和资源访问信息。

其中,资源访问信息是客户端基于用户输入的资源访问操作生成的访问信息,资源服务器可以根据资源访问信息确定需要返回给客户端的资源数据。

s220、游戏服务器获取与身份验证请求对应的身份编码,并将身份编码和资源访问信息进行拼接,生成初始加密信息。

其中,示例性的,身份编码和资源访问信息进行拼接的方式可以是将身份编码写入资源访问信息中的任一信息位置。具体的,信息位置可以是资源访问信息的开头、结尾或中间位置。相应的,初始加密信息包括身份编码和资源访问信息。

s230、游戏服务器根据初始加密信息,生成与资源加密请求对应的私钥签名。

在一个实施例中,可选的,游戏服务器采用sha256加密算法用私钥对初始加密信息进行签名处理,生成与资源加密请求对应的私钥签名。其中,sha256加密算法是一种单向哈希函数,该算法将任意长度的消息转化为较短的和固定长度的消息摘要。

s240、游戏服务器将身份编码和私钥签名发送给客户端,以使客户端根据身份编码和私钥签名,访问资源服务器以获取资源数据。

其中,客户端根据初始加密信息和私钥签名,生成资源访问请求,并将资源访问请求发送给资源服务器;客户端接收资源服务器基于资源访问请求发送的资源数据。

其中,具体的,资源服务器采用与sha256加密私钥对应的公钥算法,对接收到的资源访问请求中的私钥签名进行解密处理,并根据解密结果对资源访问请求中的初始加密信息进行验证;如果验证成功,则资源服务器将与资源访问请求对应的资源数据发送给客户端。

其中,如果解密得到的初始加密信息与资源访问请求中的初始加密信息相同,即身份编码和资源访问信息均相同,则认为验证成功;如果解密得到的初始加密信息与资源访问请求中的初始加密信息不同,即身份编码和资源访问信息中至少一个信息对象不同,则认为验证失败。

图3是本发明实施例二提供的一种资源数据的访问方法的具体实例流程图。当客户端接收到用户输入的资源访问操作时,生成资源访问请求指令;并基于资源访问请求指令将资源加密请求发送给游戏服务器,其中,资源加密请求包括身份验证请求和资源访问信息。游戏服务器获取与身份验证请求对应的身份编码,并将身份编码与资源访问信息进行拼接,生成初始加密信息。游戏服务器对初始加密信息用私钥进行签名,生成私钥签名。将身份编码和私钥签名发送给客户端。客户端将身份编码、私钥签名和资源访问信息进行拼接,生成资源访问请求,并将该资源访问请求发送给资源服务器,示例性的,资源服务器可以是http服务器。http服务器对资源访问请求中的私钥签名进行验证,确定私钥签名对应的初始加密信息与资源访问请求中的初始加密信息是否相同。如果验证成功,则将与资源访问请求对应的资源数据发送给客户端,以使客户端继续执行后续工作。如果验证失败,则http服务器不对该资源访问请求执行访问响应操作。

本实施例的技术方案,通过游戏服务器对需要进行资源访问的用户身份和资源访问信息同时进行加密处理,解决了攻击者恶意修改资源访问请求的问题,提高了资源访问请求中用户身份和资源访问信息的安全性,也降低了客户端执行加密过程的计算压力。

实施例三

图4是本发明实施例三提供的一种资源数据的访问系统的结构示意图,本发明实施例为本发明上述实施例的资源数据的访问方法的实现提供服务。

资源数据的访问系统包括至少一个客户端30、游戏服务器31和资源服务器32。

其中,游戏服务器31包括资源加密请求接收模块311、私钥签名生成模块312和私钥签名发送模块313;

其中,资源加密请求接收模块311,用于接收客户端基于资源访问请求指令发送的资源加密请求,其中,资源加密请求包括身份验证请求;

私钥签名生成模块312,用于获取与身份验证请求对应的身份编码,并根据身份编码生成与资源加密请求对应的私钥签名;

私钥签名发送模块313,用于将身份编码和私钥签名发送给客户端,以使客户端根据身份编码和私钥签名,访问资源服务器以获取资源数据。

在一个实施例中,可选的,资源加密请求还包括资源访问信息,相应的,游戏服务器31还包括初始加密信息生成模块(图中未示出),用于将身份编码和资源访问信息进行拼接,生成初始加密信息。

在上述实施例的基础上,可选的,私钥签名生成模块312具体用于:

采用sha256加密算法用私钥对身份编码或初始加密信息进行签名处理,生成与资源加密请求对应的私钥签名。

其中,客户端30包括资源访问请求发送模块301,用于根据身份编码、私钥签名和资源访问信息,生成资源访问请求,并将资源访问请求发送给资源服务器;接收资源服务器基于资源访问请求发送的资源数据。

在一个实施例中,可选的,客户端30还包括资源访问请求指令生成模块(图中未示出),用于当接收到用户输入的资源访问操作时,生成与资源访问操作对应的资源访问请求指令,其中,资源访问操作包括访问网页、装备合成和访问游戏公告中至少一种操作。

其中,资源服务器32包括资源数据发送模块321,用于接收客户端发送的资源访问请求,并根据资源访问请求中的私钥签名,确定是否向客户端发送与资源访问请求对应的资源数据。

在上述实施例的基础上,资源数据发送模块321,具体用于:

采用与sha256加密私钥对应的公钥算法,对接收到的资源访问请求中的私钥签名进行解密处理,并根据解密结果对资源访问请求中的身份编码或初始加密信息进行验证;如果验证成功,则将与资源访问请求对应的资源数据发送给客户端。

图5是本发明实施例三提供的一种资源数据的访问系统的具体实例示意图。其中,客户端30可以是智能手机、ipad、台式电脑和平板电脑等。

通过上述资源数据的访问系统,解决了攻击者恶意修改资源访问请求的问题,提高了资源访问请求中用户身份的安全性,也降低了客户端执行加密过程的计算压力。

实施例四

本发明实施例四还提供了一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种资源数据的访问方法,该方法包括:

游戏服务器接收客户端基于资源访问请求指令发送的资源加密请求,其中,资源加密请求包括身份验证请求;

游戏服务器获取与身份验证请求对应的身份编码,并根据身份编码生成与资源加密请求对应的私钥签名;

游戏服务器将身份编码和私钥签名发送给客户端,以使客户端根据身份编码和私钥签名,访问资源服务器以获取资源数据。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c ,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的资源数据的访问方法中的相关操作。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。


技术特征:

1.一种资源数据的访问方法,其特征在于,包括:

游戏服务器接收客户端基于资源访问请求指令发送的资源加密请求,其中,所述资源加密请求包括身份验证请求;

所述游戏服务器获取与所述身份验证请求对应的身份编码,并根据所述身份编码生成与所述资源加密请求对应的私钥签名;

所述游戏服务器将所述身份编码和所述私钥签名发送给所述客户端,以使所述客户端根据所述身份编码和所述私钥签名,访问资源服务器以获取资源数据。

2.根据权利要求1所述的方法,其特征在于,所述客户端根据所述身份编码和所述私钥签名,访问资源服务器以获取资源数据,包括:

所述客户端根据所述身份编码、所述私钥签名和资源访问信息,生成资源访问请求,并将所述资源访问请求发送给资源服务器;

所述客户端接收所述资源服务器基于所述资源访问请求发送的资源数据。

3.根据权利要求2所述的方法,其特征在于,还包括:

所述资源服务器接收所述客户端发送的资源访问请求,并根据所述资源访问请求中的私钥签名,确定是否向所述客户端发送与所述资源访问请求对应的资源数据。

4.根据权利要求3所述的方法,其特征在于,所述资源加密请求还包括资源访问信息,相应的,在所述游戏服务器根据所述身份编码生成与所述资源加密请求对应的私钥签名之前,还包括:

所述游戏服务器将所述身份编码和所述资源访问信息进行拼接,生成初始加密信息。

5.根据权利要求4所述的方法,其特征在于,所述游戏服务器根据所述身份编码生成与所述资源加密请求对应的私钥签名,包括:

所述游戏服务器采用sha256加密算法用私钥对所述身份编码或所述初始加密信息进行签名处理,生成与所述资源加密请求对应的私钥签名。

6.根据权利要求5所述的方法,其特征在于,所述资源服务器根据所述资源访问请求中的私钥签名,确定是否向所述客户端发送与所述资源访问请求对应的资源数据,包括:

所述资源服务器采用与所述sha256加密私钥对应的公钥算法,对接收到的所述资源访问请求中的私钥签名进行解密处理,并根据解密结果对所述资源访问请求中的身份编码或所述初始加密信息进行验证;

如果验证成功,则所述资源服务器将与所述资源访问请求对应的资源数据发送给所述客户端。

7.根据权利要求1所述的方法,其特征在于,还包括:

所述客户端当接收到用户输入的资源访问操作时,生成与所述资源访问操作对应的资源访问请求指令,其中,所述资源访问操作包括访问网页、装备合成和访问游戏公告中至少一种操作。

8.一种资源数据的访问系统,其特征在于,包括:至少一个客户端、游戏服务器和资源服务器;

其中,所述游戏服务器包括资源加密请求接收模块、私钥签名生成模块和私钥签名发送模块;

其中,资源加密请求接收模块,用于接收客户端基于资源访问请求指令发送的资源加密请求,其中,所述资源加密请求包括身份验证请求;

私钥签名生成模块,用于获取与所述身份验证请求对应的身份编码,并根据所述身份编码生成与所述资源加密请求对应的私钥签名;

私钥签名发送模块,用于将所述身份编码和所述私钥签名发送给所述客户端,以使所述客户端根据所述身份编码和所述私钥签名,访问资源服务器以获取资源数据。

9.根据权利要求8所述的访问系统,其特征在于,所述客户端包括:

资源访问请求发送模块,用于根据所述身份编码、所述私钥签名和资源访问信息,生成资源访问请求,并将所述资源访问请求发送给资源服务器;接收所述资源服务器基于所述资源访问请求发送的资源数据。

技术总结
本发明实施例公开了一种资源数据的访问方法及系统。该方法包括:游戏服务器接收客户端基于资源访问请求指令发送的资源加密请求,其中,所述资源加密请求包括身份验证请求;所述游戏服务器获取与所述身份验证请求对应的身份编码,并根据所述身份编码生成与所述资源加密请求对应的私钥签名;所述游戏服务器将所述身份编码和所述私钥签名发送给所述客户端,以使所述客户端根据所述身份编码和所述私钥签名,访问资源服务器以获取资源数据。本发明实施例通过游戏服务器对需要进行资源访问的用户身份进行加密处理,解决了攻击者恶意修改资源访问请求的问题,提高了资源访问请求中用户身份的安全性,也降低了客户端执行加密过程的计算压力。

技术研发人员:吴双
受保护的技术使用者:上海米哈游天命科技有限公司
技术研发日:2020.01.07
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-20803.html

最新回复(0)