WO2007028342A1 - Method, system and device for game data transmission - Google Patents
Method, system and device for game data transmission Download PDFInfo
- Publication number
- WO2007028342A1 WO2007028342A1 PCT/CN2006/002329 CN2006002329W WO2007028342A1 WO 2007028342 A1 WO2007028342 A1 WO 2007028342A1 CN 2006002329 W CN2006002329 W CN 2006002329W WO 2007028342 A1 WO2007028342 A1 WO 2007028342A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- game data
- server
- client
- data
- module
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
Definitions
- the invention belongs to the field of computer communication, and in particular relates to a method and system for realizing game data transmission and a corresponding client device and server. Background of the invention
- Flash is an animated programming language for the Internet. It uses network streaming media technology, 'breaking the limits of network bandwidth, can play animations faster on the network, realize animation interaction, exert personal creativity and imagination, and provide more beautiful web interface, beautiful Animated demos and interactive games.
- the existing Flash game is a way to realize game logic on the client side by using Flash technology, and provides a high-level interface for network communication, and transmits the result of the game to other computers in one direction, wherein, as shown in FIG.
- the party acts as the client (client) and the receiver acts as the server (server).
- the first method requires a standard web server and a web application to be configured on the server side.
- This web application can be a common gateway interface (CGI, Common Gateway Interface), or an active server page ( ASP, Active Server Pages), or Java server pages (JSP, Java Server Pages), or dynamic web language such as Hypertext Preprocessor.
- the client side of the Flash program calls the web application through the format of a Uniform Resource Locator (URL). This program can get the data from Flash from the URL.
- the second method is implemented by the Flash Engine built-in socket network communication interface - Extensible Markup Language (XML) Socket. In this method, the sender encapsulates the data into an XML format and sends it to the server. The server side listens for an appointment when receiving data. A good port through which the data sent by the client is received, and then the XML is parsed and the data is fetched therefrom.
- the client sends the final game data to the server, and the server unconditionally trusts the data sent by the client. Because the client lacks reliable logic to ensure the legitimacy and correctness of the game data, it is difficult to ensure that the game results are not forged or tampered with. Summary of the invention
- the invention provides a game data transmission method, system and device, in order to solve the existing Flash game, because the client lacks reliable logic to ensure the legality and correctness of the game data, it is difficult to ensure that the game data is transmitted to the server. The problem of not being forged or tombed.
- the method for transmitting game data according to the present invention includes:
- the client When the game data needs to be submitted, the client encrypts the game data by using the session key, and submits the game data to the server;
- the present invention further provides a game data transmission system, including: a server end and a client communicating with the server end; wherein
- the client is configured to obtain a session key allocated by the server after logging in to the server, and encrypt the game data submitted to the server by using the session key;
- the server is configured to allocate a session key to the client according to the client identifier, receive the encrypted game data submitted by the client, and save the game data after decrypting and verifying that the game data is valid.
- the clients in the above systems include:
- a first interface module configured to implement data interaction between the client and the server
- an authentication request module configured to log in to the server through the first interface module, and obtain a session key allocated by the server
- An application module configured to receive a session key from the server from the authentication request module, run an application, and submit the encrypted game data to the server through the first interface when the game data needs to be submitted;
- a data encryption module for encrypting game data from the application module using the session key and returning the encrypted game data to the application module.
- the servers in the above systems include:
- a second interface module configured to implement data interaction between the server and the client; an authentication confirmation module, configured to allocate a session key to the client by using the second interface module; and a data decryption module, configured to decrypt Game data received by the second interface module, and verifying whether the game data is valid;
- the data storage module is configured to save game data validated by the data decryption module.
- the present invention also discloses a mobile terminal including the foregoing client, comprising: a first interface module, configured to implement data interaction between a client and a server; and an authentication request module, configured to The first interface module logs in to the server and obtains a session key allocated by the server;
- An application module configured to receive a session key from the server from the authentication request module, run an application, and submit the encrypted game data to the server through the first interface when the game data needs to be submitted;
- a data encryption module configured to encrypt the game data from the application module by using the session key, and return the encrypted game data to the application program module.
- the present invention can ensure that the client securely transmits game data to the server. To prevent data from being tampered or forged.
- FIG. 1 is a schematic diagram of transmitting Flash game data in the prior art
- FIG. 2 is a flowchart of implementing Flash game data transmission according to a preferred embodiment of the present invention
- FIG. 3 is a schematic diagram of a system structure for implementing Flash game data transmission according to a preferred embodiment of the present invention. Mode for carrying out the invention
- the game in order to ensure the security of the game data, the game is suitable for the user to start the game through the client, and the game data needs to be uploaded to the server-side saved game, such as a Flash game.
- the server-side saved game such as a Flash game.
- FIG. 2 shows the game data transmission process described in this embodiment:
- the client logs in to the server using a pre-assigned user ID (ID, Identity).
- ID the user ID used by the client in this step can be obtained through a general user registration process.
- the password corresponding to the user ID can be further set when the user is registered. If a password is set, in this step, the client uses a password in addition to the user ID when logging in to the server.
- the server generates and returns a session key (Session Key) to the client.
- Session Key Session Key
- the server should First, the logged-in client is authenticated according to the received password. If the identity verification is passed, this step is performed. Otherwise, the client login password is notified to be incorrect.
- the session key generated in this step is a string generated by the server using a predetermined encryption algorithm, using the client's identifier, such as the user ID, user name, and the time when the client logs in.
- the encryption algorithm described in this step mainly changes the byte data representing the client identifier and the client login time according to a certain rule, and inserts the byte and the bit operation to change the original plaintext information into meaningless. And unrecognized ciphertext.
- the client may further check whether the session key has been received before starting the Flash game.
- the specific process includes: The Flash program script first checks whether the session key from the server side has been received. If the client does not have the session key, the game is prohibited from being executed. If the session key is received, the Flash game is normally started, thereby ensuring that the game is guaranteed. The game can only be executed in the server-side environment and through the server-authorized client, thereby preventing illegal users from participating in the game process and tampering with the game data.
- the client When the client needs to submit game data to the server, the client encrypts the game data with the session key returned by the server.
- the client can generate a result summary by using the MD5 algorithm according to the game data to be submitted, the current time, and the session key, and then summarize the game data, current time, session key, and generated result. Send it to the server side together.
- the client uploads the encrypted game data to the server.
- the server After receiving the game data uploaded by the client, the server decrypts the game data, and verifies whether the game result data sent by the client is legal and valid, and confirms the game data. The game data is saved when it is legally valid.
- the server receives the game data sent by the client, the current time session key, and the result summary
- the same MD5 algorithm is used to generate a summary of the result again, and the result summary sent by the client For comparison, if they match, the game data is legal and valid.
- feature conversion processing may be further performed before or after the game data generated by the Flash game is encrypted, such as a format or a form of the game data according to a server-side specification or a client.
- Corresponding feature conversion processing is performed with the server-side convention to ensure that the data is generated by the Flash game logic rather than forged outside the game. Accordingly, the inverse feature conversion process is performed after the game data is received by the server and decrypted or decrypted, and the data is restored and then saved.
- FIG. 3 illustrates a system architecture for implementing game data transmission in accordance with a preferred embodiment of the present invention.
- the system includes a client 100, and a server 200.
- the client 100 communicates with the server 200 through the Internet.
- client 100 and server 200 can be connected in other ways.
- the client 100 can be various terminals, such as a mobile terminal, a personal digital assistant (PDA, Personal Digital Assistant), or the like, or a fixed terminal such as a personal computer (PC).
- the above server 200 can be various large, medium and small servers.
- the client 100 may include the following modules.
- the first interface module 101 is connected to the server 200 for implementing data interaction between the client 100 and the server 200.
- the authentication requesting module 102 is connected to the first interface module 101 and the application module 103, configured to log in to the server 200 through the user ID, and receive the session key returned by the server; and invoke the application by using the obtained session key.
- Program module 103 launches a Flash application or other type of game application.
- the application module 103 is connected to the first interface module 101 for running the client-side Flash application installed locally by the client 100, and may also run the application that the client 100 logs in to the server 200 and download and run the application, such as logging in to the server 200.
- the Flash game provided on the web page is run; and when the game data needs to be submitted to the server 200, the encrypted game data is submitted to the server 200 through the first interface 101.
- the data encryption module 104 is connected to the application module 103 for using the session key returned by the server 200 to the game data from the application module 103 when the client 100 needs to submit the game data to the server 200. Encryption is performed, and the encrypted game data is returned to the application module 103, and transmitted to the server 200 through the application module 103.
- the data encryption module 104 can implement the encryption operation of the game data by using the encryption algorithm described in step 4.
- the game data is tombed.
- the Flash program script should first check whether the session key is received from the authentication request module 102. If the session key is not received, the game is prohibited from being executed, thereby ensuring that the game can only be started by the client authorized by the server 200 in the environment of the server 200.
- the server 200 includes the following modules internally.
- the second interface module 201 is connected to the client 100 for implementing data interaction between the server 200 and the client 100.
- the authentication confirmation module 202 is connected to the second interface module 201, configured to allocate a session key to the client 100 when the client logs in, and then send the session key to the second interface module 201 through the second interface module 201. Client 100.
- the authentication confirmation module 202 further needs to perform legality authentication on the client according to the user ID and the password, and only after the authentication is passed. Assign a session key to the client.
- the session key is a password generated by the authentication confirmation module 202 by using a predetermined encryption algorithm, such as a user ID, a user name, and the like, and a character generated by the client login time. string.
- the data decryption module 203 is coupled to the second interface module 201 for receiving game data from the client 100, decrypting the received game data, and verifying whether the game data sent by the client 100 is legally valid.
- the data decryption module 203 can verify whether the received game data is legally valid by the verification method described in step 6.
- Data storage module 204 Connected to the data decryption module 203 for saving game data from the client 100 and validating valid by the data decryption module 203.
- the module may specifically be various storage media in the server 200, such as a memory, a storage space allocated to the client 100 on the hard disk, and the like.
- the client 100 may further set a data conversion processing module 105 connected to the application module 103 for using the server 200 for the format or expression of the game data before or after the encryption.
- the specification or the agreement between the client 100 and the server 200 performs corresponding feature conversion processing to ensure The certificate data is generated by the Flash game logic and not forged outside the game.
- the server 200 can further set a data inverse conversion processing module 205 connected to the data data encryption module 203 for further performing game data after decrypting the received game data from the client 100 or before decrypting.
- the inverse feature conversion process restores the data and submits it to the data storage module 204 for storage by the data decryption module 203.
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)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Description
游戏数据传输的方法、 系统及装置
技术领域
本发明属于计算机通信领域, 尤其涉及一种实现游戏数据传输的方 法、 系统以及对应的客户端设备和服务器。 发明背景
Flash是一种用于互联网 (Internet ) 的动画编程语言。 它采用了网 络流式媒体技术, '突破了网络带宽的限制, 可以在网络上更快速地播放 动画, 实现动画交互, 发挥个人的创造性和想象力, 同时提供更为精美 的网页界面、 精彩的动画演示和交互式游戏。 现有的 Flash游戏是一种 利用 Flash技术在客户端单机上实现游戏逻辑的方式, 同时提供网络通 信的高层接口, 将游戏的结果单向传输给其他计算机, 其中, 如图 1所 示, 发送方作为客户端(client ), 接收方作为服务器端( server )。 目前, 通常可以使用两种方法实现游戏数据的传输。 第一种方法需要在服务器 端上配置标准的网络服务器(web server )和一个网络( web )应用程序, 这个 web 应用程序可以是通用网关接口 (CGI , Common Gateway Interface ), 或者活动服务器端页( ASP, Active Server Pages ), 或者 Java 服务器端页 (JSP, Java Server Pages ), 又或者超文本预处理器(PHP, Hypertext Preprocessor )等动态网页语言。 Client端的 Flash程序通过统 一资源定位符( URL, Uniform Resource Locator )的格式来调用这个 web 应用程序。 这个程序从 URL中即可获得 Flash传来的数据。 第二种方法 是通过 Flash引擎内置的套接口 (socket )网络通信接口一一可扩展的标 记语言 (XML ) Socket 实现的。 在这种方法中, 发送方将数据封装成 XML 的格式发送给服务器端。 服务器端在接收数据时要监听一个约定
好的端口, 通过该端口接收客户端发送的数据, 然后解析 XML, 从中 取出数据。
由此可以看出, 在现有的 Flash游戏中, 客户端将最终的游戏数据 发送给了服务器端, 服务器端无条件信任客户端发来的数据。 由于客户 端缺乏可靠的逻辑保证游戏数据的合法性和正确性, 难以保证游戏结果 不被伪造或者篡改。 发明内容
本发明提供了一种游戏数据传输方法、 系统以及装置, 以解决现有 的 Flash游戏中, 由于客户端缺乏可靠的逻辑保证游戏数据的合法性和 正确性, 难以保证游戏数据向服务器端传送时不被伪造或者墓改的问 题。
本发明所述的游戏数据的传输方法包括:
在客户端登录服务器端后, 获取服务器端分配的会话密钥, 并启动 游戏程序;
需要提交游戏数据时,所述客户端利用所述会话密钥加密游戏数据, 并将所述游戏数据提交给服务器端;
服务器端解密并验证所接收的游戏数据有效后,保存所述游戏数据。 除了上述方法之外,本发明还提供了一种游戏数据传输系统, 包括: 服务器端以及与所述服务器端通信的客户端; 其中,
所述客户端用于在登录服务器端后 ,获取服务器端分配的会话密钥, 并利用所述会话密钥加密提交给服务器端的游戏数据;
所述服务器端用于根据客户端标识给所述客户端分配会话密钥, 接 收客户端提交的加密后的游戏数据, 并在解密并验证所述游戏数据有效 后, 保存所述游戏数据。
在上述系统中的客户端, 包括:
第一接口模块, 用于实现客户端与服务器端之间的数据交互; 鉴权请求模块, 用于通过所述第一接口模块登录服务器端并获取服 务器端分配的会话密钥;
应用程序模块, 用于从所述鉴权请求模块接收来自服务器端的会话 密钥, 运行应用程序, 并在需要提交游戏数据时, 通过所述第一接口将 经过加密的游戏数据提交给服务器端;
数据加密模块, 用.于使用所述会话密钥对来自所述应用程序模块的 游戏数据进行加密, 并将加密后的游戏数据返回所述应用程序模块。
上述系统中的服务器, 包括:
第二接口模块, 用于实现服务器端与客户端间的数据交互; 鉴权确认模块,用于通过所述第二接口模块向客户端分配会话密钥; 数据解密模块, 用于解密通过所述第二接口模块接收的游戏数据, 并验证游戏数据是否有效;
数据存储模块, 用于保存经过数据解密模块确认有效的游戏数据。 除此之外,本发明还公开了一种包含上述客户端的移动终端 , 包括: 第一接口模块, 用于实现客户端与服务器端之间的数据交互; 鉴权请求模块, 用于通过所述第一接口模块登录服务器端并获取服 务器端分配的会话密钥;
应用程序模块, 用于从所述鉴权请求模块接收来自服务器端的会话 密钥, 运行应用程序, 并在需要提交游戏数据时, 通过所述第一接口将 经过加密的游戏数据提交给服务器端;
数据加密模块, 用于使用所述会话密钥对来自所述应用程序模块的 游戏数据进行加密, 并将加密后的游戏数据返回所迷应用程序模块。
通过上述方法本发明能够保证客户端将游戏数据安全传输到服务器
端, 防止数据被篡改或者伪造。 附图简要说明
图 1是现有技术中传输 Flash游戏数据的示意图;
图 2是本发明优选实施例所述的实现 Flash游戏数据传输的流程图; 图 3是本发明优选实施例所述的实现 Flash游戏数据传输的系统结 构示意图。 实施本发明的方式
为了使本发明的目的、 技术方案及优点更加清楚明白, 以下结合附 图及实施例, 对本发明作进一步详细说明。 应当理解, 此处所描述的具 体实施例仅仅用以解释本发明, 并不用于限定本发明。
在本发明的一个优选实施例中 , 为了保证游戏数据的安全性 , 在游 适用于用户通过客户端启动执行游戏, 并需将游戏数据上传到服务器端 保存的游戏, 例如 Flash游戏。
图 2示出了本实施例所述的游戏数据传输流程:
1 : 客户端使用预先分配的用户标识(ID, Identity )登录服务器端。 本领域的技术人员可以理解, 本步驟中客户端使用的用户 ID 可以 通过通用的用户注册过程得到。 为了保证用户 ID不被盗用, 在进行用 户注册时, 还可以进一步设置与用户 ID对应的密码。 如果设置了密码, 则在本步骤中, 客户端在登录服务器端时除了使用用户 ID之外, 还要 使用密码。
2: 服务器端生成并向客户端返回一个会话密钥 (Session Key )。 在上一步骤中, 如果在客户端登录时还发送了密码, 则服务器端要
首先根据所接收的密码对登录的客户端进行合法性身份检验, 如果身份 检验通过则执行本步骤, 否则, 通知所述客户端登录密码错误。
本步骤所生成的会话密钥是服务器端使用预先确定的加密算法, 利 用客户端的标识, 如用户 ID、 用户名等, 以及客户端登录的时刻生成的 一个字符串。
该步骤所述的加密算法主要通过将表示客户端标识及客户端登录时 刻的字节数据按一定规则位移, 并通过插入字节以及位运算等方法, 将 原来有意义的明文信息改变成为无意义并且无法识别的密文。
3: 客户端收到服务器端发送的会话密钥后, 启动执行相应的 Flash 游戏程序。
在本实施例中, 为了防止非法用户参与游戏进程, 所述客户端还可 以进一步在启动 Flash游戏之前检验是否已收到会话密钥。 具体过程包 括: Flash程序脚本首先检验是否已接收到来自服务器端的会话密钥,如 果客户端没有会话密钥, 则禁止游戏启动执行, 如果收到会话密钥, 则 正常启动 Flash游戏, 以此保证游戏只能在服务器端的环境下并通过服 务器端授权的客户端才能启动执行, 从而防止非法用户参与游戏进程, 篡改游戏数据。
4: 当客户端需要向服务器端提交游戏数据时,客户端利用服务器端 返回的会话密钥对游戏数据进行加密。
具体而言, 在本步骤中, 客户端可以通过 MD5 算法根据要提交的 游戏数据、 当前的时间以及会话密钥生成一个结果摘要, 然后将游戏数 据、 当前时间、 会话密钥以及生成的结果摘要一起发送到服务器端。
5: 客户端将加密后的游戏数据上传给服务器端。
6: 服务器端收到客户端上传的游戏数据后, 对游戏数据进行解密, 并验证客户端发送过来的游戏结果数据是否合法有效, 确认该游戏数据
合法有效时, 保存所述游戏数据。
具体而言, 在本步骤中, 在服务器收到客户端发送的游戏数据、 当 前的时间会话密钥以及结果摘要后, 利用同样的 MD5算法再次生成一 个结果摘要, 并与客户端发送的结果摘要进行比较, 如果一致, 则说明 游戏数据合法有效。
为了进一步验证用户登录的时间是否超时, 还可以进一步将客户端 提交时间与当前时间进行比较, 检查用户登录的时间是否在预先确定的 超时时限以内, 如果用户登录的时间超时, 则也应当认为所接收的游戏 数据无效。
在本发明中, 为了防止恶意用户伪造游戏数据, 可以进一步在对 Flash游戏生成的游戏数据被加密之前或者之后进行特征转换处理,如对 游戏数据的格式或者表现形式等按照服务器端的规定或者客户端与服 务器端的约定进行相应的特征转换处理, 以保证数据是由 Flash游戏逻 辑生成的而不是在游戏之外伪造的。 相应地, 在服务器端接收到游戏数 据并解密后或者解密之前将进行逆特征转换处理, 将数据恢复然后保 存。
图 3示出了本发明的一个优选实施例所述实现游戏数据传输的系统 结构。 如图 3所示, 所述系统包括客户端 100, 以及服务器端 200, 其 中, 客户端 100通过 Internet与服务器端 200进行通信。 除了 Internet之 外, 客户端 100和服务器端 200也可以通过其他方式连接。 其中, 客户 端 100 可以是各种终端, 如移动电话、 个人数字助理 (PDA, Personal Digital Assistant )等移动终端或者个人电脑(PC )等固定终端。 而上述 服务器端 200可以是各种大、 中、 小型服务器。
客户端 100和服务器端 200的具体通信方法可以参考上述图 2所示 的实现游戏数据传输的过程。
从上述客户端 100和服务器端 200的内部来看, 客户端 100可以包 括以下模块。
第一接口模块 101 ,连接到服务器端 200,用于实现客户端 100与服 务器端 200间的数据交互。
鉴权请求模块 102, 连接到所述第一接口模块 101和应用程序模块 103 , 用于通过用户 ID登录服务器端 200, 并接收服务器端返回的会话 密钥; 以及利用获得的会话密钥调用应用程序模块 103,启动 Flash应用 程序或其他类型的游戏应用程序。
应用程序模块 103, 连接到第一接口模块 101 , 用于运行客户端 100 本地安装的客户端 Flash应用程序, 也可以运行客户端 100登录服务器 端 200后下载运行的应用程序, 如登录服务器端 200的 Web网页后,运 行网页上提供的 Flash游戏; 并在需要向服务器端 200提交游戏数据时, 通过所述第一接口 101将经过加密的游戏数据提交给服务器端 200。
数据加密模块 104, 连接到所述应用程序模块 103 , 用于在客户端 100需要向服务器端 200提交游戏数据时, 使用服务器端 200返回的会 话密钥对来自所述应用程序模块 103的游戏数据进行加密, 并将加密后 的游戏数据返回所述应用程序模块 103, 通过应用程序模块 103发送到 服务器端 200。
上述数据加密模块 104可以通过步骤 4所述的加密算法实现对游戏 数据的加密操作。
在本实施例中, 为了防止非法用户参与游戏进程, 墓改游戏数据, 在上述应用程序模块 103运行 Flash应用程序之前, Flash程序脚本应首 先检验是否从鉴权请求模块 102接收到会话密钥, 如果没有收到会话密 钥,则禁止游戏启动执行,以此保证游戏只能在服务器端 200的环境下, 通过服务器端 200授权的客户端才能启动执行。
服务器端 200内部包括以下模块。
第二接口模块 201 ,连接到客户端 100,用于实现服务器端 200与客 户端 100间的数据交互。
鉴权确认模块 202,连接到所述第二接口模块 201,用于在客户端登 录时为该客户端 100分配一个会话密钥, 然后再通过所述第二接口模块 201将会话密钥发送到客户端 100。
若客户端在登录时除了用户 ID之外还发送了密码, 则所述鉴权确 认模块 202还需要进一步根据用户 ID以及密码对客户端进行合法性身 份验证, 并且仅在身份验证通过后, 才为该客户端分配会话密钥。
在本实施例中, 该会话密钥是所述鉴权确认模块 202通过预先确定 的加密算法, 利用客户端 100的标识, 如用户 ID、 用户名等, 以及客户 端登录的时刻生成的一个字符串。
数据解密模块 203,连接到所述第二接口模块 201,用于接收来自客 户端 100的游戏数据,对所接收的游戏数据进行解密,并验证客户端 100 发送过来的游戏数据是否合法有效。
上述数据解密模块 203可以通过步驟 6所述的验证方法验证所接收 的游戏数据是否合法有效。
数据存储模块 204。连接到所述数据解密模块 203 ,用于保存来自客 户端 100并经过数据解密模块 203确认合法有效的游戏数据。
在本实施例中,该模块具体可以是服务器端 200中的各种存储介质, 如内存、 硬盘上为客户端 100分配的存储空间等等。
为了防止恶意用户伪造游戏数据, 客户端 100中进一步可以设置一 个连接到应用程序模块 103的数据转换处理模块 105, 用来对加密之前 或加密之后的游戏数据的格式或者表现形式等按照服务器端 200的规定 或者客户端 100与服务器端 200的约定进行相应的特征转换处理, 以保
证数据是由 Flash游戏逻辑生成的而不是在游戏之外伪造的。 相应地, 服务器端 200可以进一步设置一个连接到数据数据加密模块 203的数据 逆转换处理模块 205 , 用于在对接收到的来自客户端 100的游戏数据进 行解密之后或解密之前进一步对游戏数据进行逆特征转换处理, 将数据 恢复, 并通过所述数据解密模块 203提交到数据存储模块 204中进行保 存。
需要说明的是, 以上本发明的优选实施例虽然均是以 Flash游戏为 例进行说明的, 上述实施例给出的游戏数据传输方法, 系统以及客户端 和服务器端还可以应用到其他类型游戏数据的传输中 , 而不会超出本发 明意欲保护的范围。 凡在本发明的精神和原则之内所作的任何修改、 等 同替换和改进等, 均应包含在本发明的保护范围之内。
Claims
1、 一种游戏数据的传输方法, 其特征在于, 所述方法包括: 在客户端登录服务器端后, 获取服务器端分配的会话密钥, 并启动 游戏程序;
需要提交游戏数据时,所述客户端利用所述会话密钥加密游戏数据, 并将所述游戏数据提交给服务器端;
服务器端解密并验证所接收的游戏数据有效后,保存所述游戏数据。
2、 根据权利要求 1所述的方法, 其特征在于, 进一步包括: 在所述客户端加密游戏数据时, 所述客户端将游戏数据进行特征转 换处理;
在所述服务器端解密并验证游戏数据时 , 所述服务器端对接收到的 游戏数据进行逆特征转换处理。
3、根据权利要求 1所述的方法, 其特征在于, 在启动游戏程序之前 进一步包括:
判断是否接收到服务器端分配的会话密钥 , 如果接收到所述会话密 钥, 则启动游戏程序; 否则, 不启动游戏程序。
4、根据权利要求 1所述的方法, 其特征在于, 所述会话密钥通过使 用预先确定的加密算法, 根据客户端的标识以及客户端登录的时刻生 成。
5、 根据权利要求 1所述的方法, 其特征在于,
所述加密包括: 客户端通过 MD5 算法根据要提交的游戏数据、 提 交游戏数据的时间以及会话密钥生成一个结果摘要, 然后将游戏数据、 当前的时间、 会话密钥以及生成的结果摘要一起发送到服务器端;
所述解密并验证的步骤包括: 服务器端根据所接收的游戏数据、 客
户端提交游戏数据的时间以及会话密钥, 利用与客户端相同的 MD5算 法再次生成一个结果摘要, 并与来自客户端的结果摘要进行比较, 如果 一致, 则说明游戏数据合法有效。
6、根据权利要求 5所述的方法,其特征在于,所述方法进一步包括: 在服务器端生成的结果摘要与来自客户端的结果摘要一致的情况 下, 进一步将所接收的客户端提交游戏数据的时间与服务器端当前的时 间进行比较, 检查用户登录的时间是否在预先确定的超时时限以内, 如 果是, 则所接收的游戏数据合法有效, 否则, 判定所接收的游戏数据无 效。
7、 一种游戏数据传输系统, 其特征在于, 该系统包括:
服务器端以及与所述服务器端通信的客户端; 其中,
所述客户端用于在登录服务器端后,获取服务器端分配的会话密钥, 并利用所述会话密钥加密提交给服务器端的游戏数据;
所述服务器端用于根据客户端标识给所述客户端分配会话密钥, 接 收客户端提交的加密后的游戏数据, 并在解密并验证所述游戏数据有效 后, 保存所述游戏数据。
8、根据权利要求 7所述的系统, 其特征在于, 所述客户端进一步用 于, 在启动游戏程序之前, 判断是否接收到服务器端分配的会话密钥, 如果接收到所述会话密钥, 则启动游戏程序; 否则, 不启动游戏程序。
9、 才 据权利要求 7所述的系统, 其特征在于,
所述客户端进一步用于在利用会话密钥加密提交给服务器端的游戏 数据之前, 对所述游戏数据进行特征转换处理;
所述服务器端进一步用于在解密并验证所接收游戏数据有效后, 对 所述游戏数据进行逆特征转换处理, 然后再保存。
10、 一种客户端, 其特征在于, 包括:
第一接口模块, 用于实现客户端与服务器端之间的数据交互; 鉴权请求模块, 用于通过所述第一接口模块登录服务器端并获取服 务器端分配的会话密钥;
应用程序模块, 用于从所述鉴权请求模块接收来自服务器端的会话 密钥, 运行应用程序, 并在需要提交游戏数据时, 通过所述第一接口将 经过加密的游戏数据提交给服务器端;
数据加密模块, 用于使用所述会话密钥对来自所述应用程序模块的 游戏数据进行加密, 并将加密后的游戏数据返回所述应用程序模块。
11、 根据权利要求 10所述的客户端, 其特征在于, 进一步包括: 数据转换处理模块, 用于对来自所述应用程序模块的游戏数据进行 特征转换处理。
12、 一种移动终端, 其特征在于, 包括:
第一接口模块, 用于实现客户端与服务器端之间的数据交互; 鉴权请求模块 , 用于通过所述第一接口模块登录服务器端并获取服 务器端分配的会话密钥;
应用程序模块, 用于从所述鉴权请求模块接收来自服务器端的会话 密钥, 运行应用程序, 并在需要提交游戏数据时, 通过所述第一接口将 经过加密的游戏数据提交给月良务器端;
数据加密模块, 用于使用所述会话密钥对来自所述应用程序模块的 游戏数据进行加密, 并将加密后的游戏数据返回所述应用程序模块。
13、 根据权利要求 12所述的移动终端, 其特征在于, 进一步包括: 数据转换处理模块, 用于对来自所述应用程序模块的游戏数据进行 特征转换处理。
14、 一种服务器, 其特征在于, 包括:
第二接口模块, 用于实现服务器端与客户端间的数据交互;
鉴权确认模块,用于通过所述第二接口模块向客户端分配会话密钥; 数据解密模块, 用于解密通过所述第二接口模块接收的游戏数据, 并验证游戏数据是否有效;
数据存储模块, 用于保存经过数据解密模块确认有效的游戏数据。
15、根据权利要求 14所述的服务器, 其特征在于, 所述数据存储模 块为服务器端的内存或服务器端硬盘上为客户端分配的存储空间。
16、 根据权利要求 14所述的服务器, 其特征在于, 进一步包括: 数据逆转换处理模块, 用于来自数据解密模块的游戏数据进行逆特 征转换处理, 恢复出游戏数据。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| ES06775633T ES2714784T3 (es) | 2005-09-10 | 2006-09-08 | Procedimiento, sistema y dispositivo de transmisión de datos de juego |
| EP06775633.8A EP1906584B1 (en) | 2005-09-10 | 2006-09-08 | Method, system and device for game data transmission |
| CA2620785A CA2620785C (en) | 2005-09-10 | 2006-09-08 | Method, system and apparatus for game data transmission |
| US12/032,804 US8689339B2 (en) | 2005-09-10 | 2008-02-18 | Method, system and apparatus for game data transmission |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN200510037255.6A CN1929367B (zh) | 2005-09-10 | 2005-09-10 | 一种游戏数据传输方法及系统 |
| CN200510037255.6 | 2005-09-10 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/032,804 Continuation US8689339B2 (en) | 2005-09-10 | 2008-02-18 | Method, system and apparatus for game data transmission |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2007028342A1 true WO2007028342A1 (en) | 2007-03-15 |
Family
ID=37835383
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2006/002329 Ceased WO2007028342A1 (en) | 2005-09-10 | 2006-09-08 | Method, system and device for game data transmission |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US8689339B2 (zh) |
| EP (1) | EP1906584B1 (zh) |
| CN (1) | CN1929367B (zh) |
| CA (1) | CA2620785C (zh) |
| ES (1) | ES2714784T3 (zh) |
| WO (1) | WO2007028342A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012068914A1 (zh) * | 2010-11-24 | 2012-05-31 | 深圳市快播科技有限公司 | 单机存档游戏系统及其存档方法 |
| CN114579521A (zh) * | 2022-05-05 | 2022-06-03 | 深圳市元芯信息科技有限公司 | 电子数据存证方法、系统、计算机设备和存储介质 |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7162035B1 (en) | 2000-05-24 | 2007-01-09 | Tracer Detection Technology Corp. | Authentication method and system |
| US8171567B1 (en) | 2002-09-04 | 2012-05-01 | Tracer Detection Technology Corp. | Authentication method and system |
| JP5046811B2 (ja) * | 2007-09-10 | 2012-10-10 | 株式会社日立製作所 | データ通信システム |
| US7995196B1 (en) | 2008-04-23 | 2011-08-09 | Tracer Detection Technology Corp. | Authentication method and system |
| CN102316110A (zh) * | 2011-09-14 | 2012-01-11 | 福建三元达软件有限公司 | 一种数据终端接入服务器的鉴权方法 |
| CN102624710B (zh) * | 2012-02-27 | 2015-03-11 | 福建联迪商用设备有限公司 | 一种敏感信息传输方法及系统 |
| CN103607402B (zh) * | 2013-11-26 | 2016-11-23 | 广州博冠信息科技有限公司 | 一种网络游戏数据加密以及解密方法和设备 |
| KR20150128328A (ko) * | 2014-05-09 | 2015-11-18 | 한국전자통신연구원 | 증거 수집 도구 제공 방법, 도메인 분리 기반 모바일 기기에서 증거 자료 확보 장치 및 방법 |
| US10484181B2 (en) * | 2016-12-12 | 2019-11-19 | Datiphy Inc. | Streaming non-repudiation for data access and data transaction |
| US10545940B2 (en) | 2017-02-22 | 2020-01-28 | Red Hat, Inc. | Supporting secure layer extensions for communication protocols |
| CN106934280A (zh) * | 2017-03-08 | 2017-07-07 | 网易(杭州)网络有限公司 | 内存数据处理方法、装置及网络游戏客户端 |
| CN114448652B (zh) * | 2020-10-16 | 2023-12-05 | 腾讯科技(深圳)有限公司 | 进行加密通信的方法、装置、设备和存储介质 |
| CN112231734A (zh) * | 2020-11-02 | 2021-01-15 | 昆高新芯微电子(江苏)有限公司 | 一种存储器件数据无害化处理方法、系统及装置 |
| CN116688519A (zh) * | 2022-02-25 | 2023-09-05 | 腾讯科技(深圳)有限公司 | 游戏数据交互方法、装置及计算机可读存储介质 |
| CN116186733A (zh) * | 2023-02-01 | 2023-05-30 | 海南车智易通信息技术有限公司 | 一种数据处理方法、系统、计算设备及可读存储介质 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1445693A (zh) * | 2002-03-19 | 2003-10-01 | 微软公司 | 安全的数字数据格式和编码的强制执行政策 |
| US20030229779A1 (en) * | 2002-06-10 | 2003-12-11 | Morais Dinarte R. | Security gateway for online console-based gaming |
| CN1558593A (zh) * | 2004-01-30 | 2004-12-29 | 阳 胡 | 采用密码技术来防止网络游戏外挂的方法 |
Family Cites Families (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5491752A (en) * | 1993-03-18 | 1996-02-13 | Digital Equipment Corporation, Patent Law Group | System for increasing the difficulty of password guessing attacks in a distributed authentication scheme employing authentication tokens |
| US6393569B1 (en) * | 1996-12-18 | 2002-05-21 | Alexander S. Orenshteyn | Secured system for accessing application services from a remote station |
| US6152824A (en) * | 1997-03-06 | 2000-11-28 | Mpath Interactive, Inc. | Online gaming architecture |
| JP3595109B2 (ja) * | 1997-05-28 | 2004-12-02 | 日本ユニシス株式会社 | 認証装置、端末装置、および、それら装置における認証方法、並びに、記憶媒体 |
| US6381696B1 (en) * | 1998-09-22 | 2002-04-30 | Proofspace, Inc. | Method and system for transient key digital time stamps |
| US20020026321A1 (en) * | 1999-02-26 | 2002-02-28 | Sadeg M. Faris | Internet-based system and method for fairly and securely enabling timed-constrained competition using globally time-sychronized client subsystems and information servers having microsecond client-event resolution |
| EP1104960B1 (en) * | 1999-12-02 | 2009-08-26 | Sony Deutschland GmbH | Message authentication |
| US7003107B2 (en) * | 2000-05-23 | 2006-02-21 | Mainstream Encryption | Hybrid stream cipher |
| US7228427B2 (en) * | 2000-06-16 | 2007-06-05 | Entriq Inc. | Method and system to securely distribute content via a network |
| WO2001098903A1 (en) * | 2000-06-16 | 2001-12-27 | Entriq Limited BVI Abbot Building | Methods and systems to distribute content via a network utilizing distributed conditional access agents and secure agents, and to perform digital rights management (drm) |
| US7409061B2 (en) * | 2000-11-29 | 2008-08-05 | Noatak Software Llc | Method and system for secure distribution of subscription-based game software |
| US7168089B2 (en) * | 2000-12-07 | 2007-01-23 | Igt | Secured virtual network in a gaming environment |
| US6907530B2 (en) * | 2001-01-19 | 2005-06-14 | V-One Corporation | Secure internet applications with mobile code |
| US7174568B2 (en) * | 2001-01-31 | 2007-02-06 | Sony Computer Entertainment America Inc. | Method and system for securely distributing computer software products |
| US20020178366A1 (en) * | 2001-05-24 | 2002-11-28 | Amiran Ofir | Method for performing on behalf of a registered user an operation on data stored on a publicly accessible data access server |
| US8108687B2 (en) * | 2001-12-12 | 2012-01-31 | Valve Corporation | Method and system for granting access to system and content |
| US7360096B2 (en) * | 2002-11-20 | 2008-04-15 | Microsoft Corporation | Securely processing client credentials used for Web-based access to resources |
| AU2003299787A1 (en) * | 2002-12-23 | 2004-07-22 | Gametech International, Inc. | Enhanced gaming system |
| CN1627682A (zh) * | 2003-12-12 | 2005-06-15 | 华为技术有限公司 | 网络传输中建立连接时动态密码的创建方法 |
| CA2551113C (en) * | 2003-12-23 | 2011-11-01 | Wachovia Corporation | Authentication system for networked computer applications |
| JP4714482B2 (ja) * | 2005-02-28 | 2011-06-29 | 株式会社日立製作所 | 暗号通信システムおよび方法 |
| US7549922B2 (en) * | 2005-03-17 | 2009-06-23 | Atronic International Gmbh | Software security for gaming devices |
| US20060218397A1 (en) * | 2005-03-22 | 2006-09-28 | Research In Motion Limited | Apparatus and methods for sharing cryptography information |
-
2005
- 2005-09-10 CN CN200510037255.6A patent/CN1929367B/zh not_active Expired - Lifetime
-
2006
- 2006-09-08 ES ES06775633T patent/ES2714784T3/es active Active
- 2006-09-08 EP EP06775633.8A patent/EP1906584B1/en active Active
- 2006-09-08 CA CA2620785A patent/CA2620785C/en active Active
- 2006-09-08 WO PCT/CN2006/002329 patent/WO2007028342A1/zh not_active Ceased
-
2008
- 2008-02-18 US US12/032,804 patent/US8689339B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1445693A (zh) * | 2002-03-19 | 2003-10-01 | 微软公司 | 安全的数字数据格式和编码的强制执行政策 |
| US20030229779A1 (en) * | 2002-06-10 | 2003-12-11 | Morais Dinarte R. | Security gateway for online console-based gaming |
| CN1558593A (zh) * | 2004-01-30 | 2004-12-29 | 阳 胡 | 采用密码技术来防止网络游戏外挂的方法 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012068914A1 (zh) * | 2010-11-24 | 2012-05-31 | 深圳市快播科技有限公司 | 单机存档游戏系统及其存档方法 |
| CN114579521A (zh) * | 2022-05-05 | 2022-06-03 | 深圳市元芯信息科技有限公司 | 电子数据存证方法、系统、计算机设备和存储介质 |
| CN114579521B (zh) * | 2022-05-05 | 2022-08-05 | 深圳市元芯信息科技有限公司 | 电子数据存证方法、系统、计算机设备和存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP1906584A4 (en) | 2013-06-19 |
| CN1929367A (zh) | 2007-03-14 |
| ES2714784T3 (es) | 2019-05-30 |
| CA2620785A1 (en) | 2007-03-15 |
| US20080161114A1 (en) | 2008-07-03 |
| EP1906584B1 (en) | 2018-12-12 |
| US8689339B2 (en) | 2014-04-01 |
| EP1906584A1 (en) | 2008-04-02 |
| CA2620785C (en) | 2013-03-12 |
| CN1929367B (zh) | 2010-08-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8689339B2 (en) | Method, system and apparatus for game data transmission | |
| CN1701295B (zh) | 用于对计算机网格进行单次登录访问的方法和系统 | |
| JP5021215B2 (ja) | Webサービス用の信頼できる第三者認証 | |
| US7533265B2 (en) | Establishment of security context | |
| CN101009561B (zh) | 用于imx会话控制和认证的系统和方法 | |
| CN101114237B (zh) | 转换鉴权令牌以促进应用程序之间的交互的方法和装置 | |
| CN102217277B (zh) | 基于令牌进行认证的方法和系统 | |
| JP5009294B2 (ja) | 分散シングルサインオンサービス | |
| CN101103630B (zh) | 授权多媒体组播的方法和系统 | |
| JP4907895B2 (ja) | プライベートデータを露出せずに通信ネットワークを介してパスワードで保護されたプライベートデータを回復する方法およびシステム | |
| EP1959368B1 (en) | Security link management in dynamic networks | |
| US7310813B2 (en) | System and method for strong access control to a network | |
| US20110264913A1 (en) | Method and apparatus for interworking with single sign-on authentication architecture | |
| TW200810488A (en) | Policy driven, credential delegation for single sign on and secure access to network resources | |
| CN101523801A (zh) | UPnP认证和授权 | |
| CN101453334B (zh) | 基于Novell网络的访问管理方法和系统 | |
| WO2013087039A1 (zh) | 一种安全传输数据方法,装置和系统 | |
| JP2005269656A (ja) | コンピューティングシステムの効率的かつセキュアな認証 | |
| CN113225352A (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
| CN1823513A (zh) | 用于升级到基于证书的认证而不打断现有ssl会话的方法和系统 | |
| CN101247407A (zh) | 网络认证服务系统和方法 | |
| CN101127604A (zh) | 信息安全传输方法和系统 | |
| CN105359480A (zh) | 针对受约束资源设备的密钥建立 | |
| CN101309293A (zh) | 基于超文本传输协议的认证方法与认证系统 | |
| CN116707961A (zh) | 用户认证方法、计算机设备及计算机存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| WWE | Wipo information: entry into national phase |
Ref document number: 803/CHENP/2008 Country of ref document: IN Ref document number: 2006775633 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2620785 Country of ref document: CA |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: 2006775633 Country of ref document: EP |