KR20120045235A - Method for game client authentication using random code - Google Patents
Method for game client authentication using random code Download PDFInfo
- Publication number
- KR20120045235A KR20120045235A KR1020100106650A KR20100106650A KR20120045235A KR 20120045235 A KR20120045235 A KR 20120045235A KR 1020100106650 A KR1020100106650 A KR 1020100106650A KR 20100106650 A KR20100106650 A KR 20100106650A KR 20120045235 A KR20120045235 A KR 20120045235A
- Authority
- KR
- South Korea
- Prior art keywords
- game
- random code
- result value
- game client
- client
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000004891 communication Methods 0.000 claims abstract description 13
- 230000006870 function Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- 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
- H04L63/0838—Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
본 발명은 각 사용자 컴퓨터에 설치되어 실행되는 게임 클라이언트를 인증하는 방법에 관한 것으로서, 특히 게임 클라이언트 없이 패킷만을 처리하는 방식으로 온라인 게임을 비정상적으로 이용하는 로봇 프로그램((Non-Client BOT)을 효과적으로 감시하기 위한 것이다.
The present invention relates to a method for authenticating a game client installed and executed in each user computer, and more particularly, to effectively monitor a robot program ((Non-Client BOT) that abnormally uses an online game by processing a packet without a game client. It is for.
통신망과 컴퓨터 관련 기술이 발전하면서 다양한 종류의 온라인 게임 서비스가 제공되고 있는데, 게임 내 재화의 가치가 높아지면서 비정상적인 방법으로 온라인 게임을 이용하는 사례가 늘고 있다.As the network and computer related technologies are developed, various kinds of online game services are being provided. As the value of the goods in the game increases, the use of online games in an abnormal way is increasing.
게임 내 재화를 획득하기 위하여 온라인 게임을 비정상적으로 이용하는 방법은 다양하다.There are a variety of ways to use online games abnormally to obtain in-game goods.
예를 들자면, USB 디바이스를 이용하여 마치 사용자가 키보드나 마우스를 통해 어떤 명령을 입력하는 것처럼 위장하는 하드웨어적 처리 방법, 특정 기능을 수행하는 프로그램(악성모듈)을 메모리의 온라인 게임 프로세스에 로딩시켜 게임 함수를 호출하는 소프트웨어적 처리 방법을 들 수 있다.For example, using a USB device, a hardware processing method that pretends to be a user entering a command through a keyboard or mouse, and a program (a malicious module) that performs a specific function is loaded into an online game process in memory. A software method of calling a function is one.
또한, 게임 클라이언트 없이 로봇 프로그램을 이용하여 게임 서버와 주고 받는 패킷 데이터만을 처리하는 방법이 사용되기도 하는데, 이러한 로봇 프로그램을 논 클라이언트 봇(Non-Client BOT) 이라고 부른다.In addition, a method of processing only packet data exchanged with a game server using a robot program without a game client may be used. Such a robot program is referred to as a non-client bot.
논 클라이언트 봇은 게임 서버에 접속하여 스스로 사냥이나 채집 등 게임 내 활동을 수행함으로써 게임 내 재화의 획득을 시도한다.The non-client bot attempts to acquire in-game goods by connecting to the game server and performing in-game activities such as hunting and gathering by itself.
로봇 프로그램에 의해 게임이 진행되면, 정상적으로 게임을 이용하는 사용자들이 게임 내에서 좋은 게임 아이템을 얻을 기회가 부당하게 박탈되고, 게임 진행을 방해 받으며, 게임 서버에 과도한 부하가 걸리는 등 여러 가지 문제점이 발생하게 된다. 또한, 게임에 대한 흥미를 감소시켜 사용자들이 게임의 이용을 피하게 하고 민원을 발생시키는 주요 요인이 될 수 있다.
When the game is progressed by the robot program, users who normally use the game have various problems such as unjustly deprived of the opportunity to obtain good game items in the game, interrupted the game progress, and excessive load on the game server. do. It can also be a major factor in reducing the interest in the game, allowing users to avoid using the game and generate complaints.
이에 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 게임 클라이언트 없이 게임 서버와 주고 받는 패킷 데이터만을 처리하는 방식으로 온라인 게임을 진행하는 로봇 프로그램(Non-Client BOT)을 효과적으로 감시할 수 있도록 하는데 그 목적이 있다.
Accordingly, the present invention has been made in order to solve the above problems, so that it can effectively monitor the robot program (Non-Client BOT) to play the online game by processing only the packet data exchanged with the game server without a game client. Its purpose is to.
상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 랜덤 코드를 이용한 게임 클라이언트 인증 방법은, 사용자 컴퓨터에 설치된 게임 클라이언트와 통신망을 통해 통신하면서 온라인 게임 서비스를 제공하는 게임 서버가 랜덤 코드(Random Code)를 생성하여 상기 게임 클라이언트로 전송하는 단계; 통신망을 통해 상기 전송하였던 랜덤 코드의 결과 값이 수신되면, 해당 랜덤 코드를 실행하여 그 결과 값을 산출하는 단계; 및 상기 산출된 결과 값과 상기 수신된 결과 값을 비교하여 서로 일치하는지의 여부를 조사하는 단계를 포함하여 이루어진다.In order to achieve the above object, in the game client authentication method using the random code according to the present invention, a game server that provides an online game service while communicating with a game client installed on a user computer through a communication network (Random Code) Generating and transmitting to the game client; If a result value of the transmitted random code is received through a communication network, executing the random code to calculate a result value; And comparing the calculated result value with the received result value and examining whether the calculated result value coincides with each other.
이때 상기 게임 클라이언트는 상기 게임 서버로부터 랜덤 코드가 수신되면, 수신된 랜덤 코드를 실행하여 그 결과 값을 산출하고, 산출된 결과 값을 상기 게임 서버로 전송하도록 구성된다.
In this case, when the random code is received from the game server, the game client executes the received random code to calculate a result value and transmits the calculated result value to the game server.
상기 게임 서버는 상기 조사 결과 상기 산출된 결과 값과 상기 수신된 결과 값이 일치하면 정상적인 게임 클라이언트가 온라인 게임을 진행하는 것으로 판단하고, 상기 산출된 결과 값이 상기 수신된 결과 값과 일치하지 않으면 로봇 프로그램이 온라인 게임을 진행하는 것으로 판단할 수 있다.
The game server determines that a normal game client plays an online game if the calculated result value and the received result value match, and if the calculated result value does not match the received result value, the robot It can be determined that the program is playing an online game.
상기 랜덤 코드는 상기 게임 클라이언트가 실행되는 상태일 때만 올바른 결과 값을 산출할 수 있도록 구성될 수 있다.The random code may be configured to calculate a correct result value only when the game client is in a running state.
상기 랜덤 코드는 게임 클라이언트가 실행되었을 때 상기 사용자 컴퓨터의 메모리에 생성되는 프로세스 영역 중 특정 영역의 메모리 값을 이용하여 그 결과 값을 연산하도록 구성될 수 있다.The random code may be configured to calculate a result value using a memory value of a specific area of a process area generated in a memory of the user computer when a game client is executed.
또한, 상기 게임 서버는 상기 전송해 주었던 랜덤 코드의 결과 값이 일정 시간 동안 수신되지 않으면, 로봇 프로그램이 온라인 게임을 진행하는 것으로 판단할 수 있다.
In addition, if the result value of the transmitted random code is not received for a predetermined time, the game server may determine that the robot program is playing an online game.
본 발명에 따르면, 게임 서버는 고정되지 않은 1회성 랜덤 코드를 생성하여 게임 클라이언트로 전송하고, 그 결과 값을 수신하여 올바른 것인지를 조사하는 방식으로 게임 클라이언트를 인증한다.According to the present invention, the game server authenticates the game client by generating an unfixed one-time random code and sending it to the game client, and receiving the result and checking whether it is correct.
현재 온라인 게임이 게임 클라이언트를 통해 이루어지고 있다면, 게임 클라이언트로부터 정상적인 결과 값이 수신될 수 있다.If an online game is currently being played through a game client, a normal result may be received from the game client.
그러나 온라인 게임이 로봇 프로그램(Non-Client BOT)을 통해 이루어지고 있다면, 게임 서버가 전송해 주었던 랜덤 코드에 대한 올바른 결과 값이 수신될 수 없다. 즉, 로봇 프로그램은 게임 서버가 전송하는 랜덤 코드를 인식하지 못할 것이므로 응답을 할 수 없다.However, if the online game is played through a non-client BOT, the correct result value for the random code sent by the game server cannot be received. In other words, the robot program cannot respond because it will not recognize the random code transmitted by the game server.
로봇 프로그램이 랜덤 코드를 인식할 수 있다고 하더라도, 랜덤 코드를 반드시 게임 클라이언트가 실행되고 있는 상태이어야만 올바른 결과 값이 산출되도록 구성한다면, 로봇 프로그램은 잘못된 결과 값을 응답하게 된다.Even if the robot program can recognize the random code, if the random code is configured to produce the correct result only when the game client is running, the robot program responds to the wrong result.
그러므로 논 클라이언트 봇(Non-Client BOT)을 효과적으로 감시할 수 있다.Thus, non-client bots can be effectively monitored.
뿐만 아니라 게임 클라이언트가 인증을 위한 코드나 데이터를 유지할 필요가 없기 때문에 주기적인 업데이트도 필요없다.In addition, the game client does not need to maintain code or data for authentication, so periodic updates are not necessary.
도 1은 온라인 게임을 서비스하는 시스템의 개요,
도 2는 사용자 컴퓨터의 구체적인 예,
도 3과 도 4는 본 발명에 따른 랜덤 코드를 이용한 게임 클라이언트 인증 방법의 각 실시예를 설명하는 흐름도,
도 5는 로봇 프로그램의 감시가 이루어지는 것을 설명하는 개요,
도 6은 랜덤 코드에 관한 구체적인 예이다.1 is an overview of a system for servicing an online game;
2 is a specific example of a user computer;
3 and 4 are flowcharts illustrating each embodiment of a game client authentication method using a random code according to the present invention;
5 is an outline for explaining that a robot program is monitored;
6 is a specific example of a random code.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1을 참조하자면, 온라인 게임 서비스는 유선 인터넷망이나 무선 인터넷망 등 각종 통신망(15)을 통해 제공되며, 사용자 컴퓨터(10)에 설치되는 게임 클라이언트(11)는 통신망(15)을 통해 게임 서버(17)와 서로 통신하면서 온라인 게임을 진행한다.Referring to FIG. 1, an online game service is provided through
온라인 게임의 종류는 다양할 수 있으며, 구체적인 예로서 여러 사용자가 동시 다발적으로 참여할 수 있는 MMORPG(Massively Multi-player Online Role Playing Game) 유형의 게임을 들 수 있다.There may be various types of online games, and a specific example may be a game of a Massively Multi-player Online Role Playing Game (MMORPG) type, in which several users may participate simultaneously.
각 사용자가 온라인 게임을 이용하기 위해 사용하는 사용자 컴퓨터(10)는 데스크 탑 컴퓨터나 노트북 컴퓨터와 같은 개인용 컴퓨터(PC: Personal Computer)뿐 아니라 휴대폰이나 스마트폰 등 통신망(15)을 통해 온라인 게임 서비스를 이용할 수 있는 성능을 갖는 임의의 기기일 수 있다.The
사용자 컴퓨터(10)에는 사용자가 온라인 게임을 이용할 수 있도록 해주는 게임 클라이언트(11)가 설치된다.The
게임 클라이언트(11)는 통신망(15)을 통해 다운로드되어 설치될 수 있고 최신 버젼으로 유지되며, 게임 관련 공지사항의 디스플레이, 게임 화면 처리, 사운드 효과 처리, 게임을 위한 각종 사용자 인터페이스의 제공 등 사용자측에서 수행되어야 할 다양한 역할을 담당한다.The
게임 클라이언트(10)는 기본적으로 게임 서버(17)와 통신하면서 온라인 게임을 진행시키는 역할을 수행하며, 게임 클라이언트(11)와 게임 서버(17)의 역할 분담은 필요에 따라 다양하게 구성될 수 있다.
The
본 발명과 관련하여, 게임 클라이언트(11)는 게임 서버(17)로부터 랜덤 코드가 수신되면, 수신된 랜덤 코드를 실행하여 그 결과 값을 산출하고, 산출된 결과 값을 게임 서버(17)로 전송하도록 구성된다.In connection with the present invention, when the
사용자 컴퓨터(10)에는 게임 클라이언트(11) 대신 로봇 프로그램(12)이 설치될 수 있다.The
이하에서 로봇 프로그램(12)이란 논 클라이언트 봇(Non-Client BOT)을 의미하며, 로봇 프로그램(12)은 게임 클라이언트 없이 게임 서버(17)와 주고 받는 패킷 데이터를 처리하는 방식으로 온라인 게임을 비정상적으로 진행한다.Hereinafter, the
도 2는 사용자 컴퓨터(10)의 구체적인 예를 보인 것이다.2 shows a specific example of the
각 요소들은 다양한 구조의 시스템 버스(10-1)를 통해 서로 연결되고, 중앙처리장치(CPU: Central Processing Unit,10-2)의 총괄적인 제어하에 서로 데이터를 주고 받으면서 그 역할을 수행한다.Each element is connected to each other through the system bus (10-1) of various structures, and performs the role while exchanging data with each other under the overall control of the Central Processing Unit (CPU) (10-2).
메모리(10-3)는 램(RAM: Random Access Memory)으로서, 중앙처리장치(10-2)가 즉시 액세스할 컴퓨터 프로그램이나 데이터를 저장한다.The memory 10-3 is a random access memory (RAM), and stores computer programs or data that the central processing unit 10-2 immediately accesses.
입력장치 인터페이스(10-4)는 입력장치(10-5)와 연결되어 사용자가 사용자 컴퓨터(10)로 각종 명령이나 정보를 입력할 수 있도록 한다. 사용자 컴퓨터(10)는 입력장치 인터페이스(10-4)를 통해 키보드, 마우스, 키패드, 터치 스크린 등 다양한 종류의 입력장치(10-5)와 연결될 수 있다.The input device interface 10-4 is connected to the input device 10-5 so that a user can input various commands or information to the
디스플레이 어댑터(10-6)는 다양한 디스플레이 장치(10-7)를 통해 출력할 비디오 정보를 처리하며, 사운드 카드(10-8)는 오디오 정보를 처리하여 스피커(10-9)를 통해 출력한다.The display adapter 10-6 processes the video information to be output through the various display devices 10-7, and the sound card 10-8 processes the audio information and outputs it through the speaker 10-9.
네트워크 인터페이스(10-11)는 사용자 컴퓨터(10)가 유선 인터넷망이나 무선 인터넷망 등 각종 통신망(15)과 연결되어 통신할 수 있도록 한다.The network interface 10-11 allows the
저장매체(10-10)는 비휘발성의 성질을 가지며, 사용자 컴퓨터(10)에 의해 액세스될 수 있는 내장형, 외장형, 분리형, 비분리형의 다양한 형태를 가질 수 있다.The storage medium 10-10 is nonvolatile and may have various forms of internal, external, removable, and non-removable types that can be accessed by the
저장매체(10-10)에는 마이크로소프트사의 윈도우즈(Windows)와 같은 운영체제(OS: Operating System,14)나 게임 클라이언트(11)와 같은 각종 컴퓨터 프로그램과 데이터가 저장된다.The storage medium 10-10 stores various computer programs and data such as an operating system (OS) 14 such as Microsoft's Windows or a
어느 사용자가 로봇 프로그램을 이용하여 온라인 게임을 비정상적으로 이용하고자 하는 경우 저장매체(10-10)에는 게임 클라이언트 대신 로봇 프로그램(12)이 설치될 수 있다.When a user wants to use an online game abnormally using a robot program, the
사용자가 게임 클라이언트(11)나 로봇 프로그램(12)을 실행시키면, 중앙처리장치(10-2)는 해당 코드를 메모리(10-3)에 로딩하여 순차적으로 처리한다.
When the user executes the
도 3을 참조하여, 본 발명에 따른 랜덤 코드를 이용한 게임 클라이언트 인증 방법의 일 실시예를 설명하기로 한다.3, an embodiment of a game client authentication method using a random code according to the present invention will be described.
먼저 게임 서버(17)는 랜덤 코드(Random Code)를 생성하여(S211), 게임 클라이언트(11)로 전송한다(S212).First, the
여기서 랜덤 코드란 컴퓨터 장치에서 실행되어 결과 값을 산출할 수 있는 컴퓨터 프로그램 코드를 말한다.The random code herein refers to computer program code that can be executed on a computer device to produce a result value.
랜덤 코드는 게임 클라이언트(11)의 인증에 사용된 후 폐기될 수 있는 것으로서, 게임 서버(17)는 게임 클라이언트(11)의 인증을 수행할 때마다 서로 다른 랜덤 코드를 생성한다.The random code may be discarded after being used for authentication of the
사용자 컴퓨터(10)에서 실행되는 로봇 프로그램(12)도 게임 서버(17)로부터 수신되는 랜덤 코드를 인식할 수 있도록 구성된다면, 랜덤 코드를 처리하여 그 결과 값을 산출할 수 있다.If the
그러므로 랜덤 코드는 사용자 컴퓨터(10)에서 게임 클라이언트(11)가 실행되는 상태일 때만 올바른 결과 값을 산출할 수 있도록 구성될 수 있다.Therefore, the random code may be configured to calculate the correct result value only when the
이와 관련한 하나의 예로서, 랜덤 코드는 게임 클라이언트(11)가 실행되었을 때 사용자 컴퓨터의 메모리(10-3)에 생성되는 프로세스 영역 중 특정 영역의 메모리 값을 이용하여 그 결과 값을 연산하도록 구성될 수 있다.As one example in this regard, the random code may be configured to calculate a result value using a memory value of a specific area of a process area generated in the memory 10-3 of the user computer when the
이때 특정 영역의 메모리에 저장된 데이터의 해쉬(Hash) 값을 연산에 이용하도록 구성될 수도 있다.In this case, the hash value of the data stored in the memory of the specific region may be configured to be used for the calculation.
그러면 로봇 프로그램(12)이 랜덤 코드를 인식할 수 있다고 하더라도 게임 클라이언트(11)가 실행되고 있지 않기 때문에 올바른 결과 값을 산출할 수 없다.Then, even though the
예컨대 랜덤 코드가 게임 클라이언트(11)의 실행에 따라 메모리(10-3)에 생성되는 온라인 게임 프로세스 영역 중 특정 주소(Address)의 4 바이트(Byte) 데이터를 연산에 사용하도록 구성된다면, 로봇 프로그램(12)이 랜덤 코드를 인식하여 실행하더라도 올바른 결과 값을 산출할 수 없다.
For example, if the random code is configured to use 4 bytes of data of a specific address in the online game process area generated in the memory 10-3 according to the execution of the
게임 서버(17)가 단계 S212를 통해 게임 클라이언트(11)로 전송하는 랜덤 코드는 패킷에 담겨 전송되며, 이 패킷의 헤더(Header)에는 해당 패킷에 실린 데이터가 랜덤 코드라는 정보가 실려 있다.
The random code transmitted by the
게임 클라이언트(11)는 통신망(15)을 통해 게임 서버(17)로부터 수신되는 패킷의 헤더를 분석하여 해당 패킷이 랜덤 코드를 전송하는 패킷임을 인식할 수 있다. 그리고 수신된 랜덤 코드를 실행하여 그 결과 값을 산출한 후(S213), 산출된 결과 값을 게임 서버(17)로 전송한다(S214).The
게임 서버(17)는 단계 S212를 통해 전송하였던 랜덤 코드의 결과 값이 통신망(15)을 통해 수신되면, 단계 S212를 통해 전송하였던 랜덤 코드를 스스로 실행하여 그 결과 값을 산출한다(S215).When the result value of the random code transmitted through the step S212 is received through the
랜덤 코드는 컴퓨터 장치에서 실행되어 그 결과 값을 산출할 수 있는 컴퓨터 프로그램 코드이기 때문에, 사용자 컴퓨터(10)뿐 아니라 게임 서버(17)에서도 실행될 수 있으며, 그 결과 값은 동일하게 산출되어야 한다.Since the random code is computer program code that can be executed on a computer device to calculate a result value, it can be executed not only on the
단계 S215와 관련하여, 만일 상기의 예와 같이 랜덤 코드가 게임 클라이언트(11)가 실행되는 상태일 때만 올바른 결과 값을 산출할 수 있도록 구성된다면, 게임 서버(17)는 랜덤 코드가 연산에 사용하는 데이터를 알고 있거나 또는 게임 클라이언트(11)를 실행하고 있다.
Regarding step S215, if the random code is configured to calculate the correct result value only when the
이제 게임 서버(17)는 단계 S215에서 산출된 결과 값과 단계 S214를 통해 수신된 결과 값을 비교하여 서로 일치하는지의 여부를 조사한다(S216).The
게임 서버(17)는 단계 S216에서의 조사 결과에 따라 현재 사용자 컴퓨터(10)에서 온라인 게임을 진행하는 프로그램이 정상적인 게임 클라이언트(11)인지 아니면 로봇 프로그램(12) 인지의 여부를 알 수 있다.The
즉, 게임 서버(17)는 단계 S216에서의 조사 결과 두 값이 서로 일치하면 정상적인 게임 클라이언트(11)에 의해 온라인 게임이 진행되는 것으로 판단하고(S217,S218), 두 값이 서로 일치하지 않으면 로봇 프로그램이 온라인 게임을 진행하는 것으로 판단한다(S217,S219).That is, the
게임 서버(17)는 로봇 프로그램이 온라인 게임을 진행하는 것으로 판단된 경우 필요에 따라 다양한 조치를 취할 수 있다.When it is determined that the robot program is playing an online game, the
예를 들자면, 로봇 프로그램이 동작하는 사용자 컴퓨터를 통해 접속한 유저의 아이디(ID), 유저 캐릭터 식별정보, 해당 사용자 컴퓨터의 IP 주소, 게임 이용 일시 등의 정보를 로그 정보로서 저장할 수 있다.For example, the user's ID (ID), user character identification information, IP address of the user's computer, and game usage date and the like, which are connected through the user computer on which the robot program operates, may be stored as log information.
이러한 로그 정보는 이후 해당 사용자에 대한 게임 이용 금지나 경고 등의 제재를 가하는데 있어 기초 자료로 사용될 수 있다.
This log information can then be used as a basis for applying sanctions such as banning or warning the user.
게임 서버(17)는 어느 사용자 캐릭터가 로그인 하였을 때 랜덤 코드를 전송하여 온라인 게임을 이용하는 프로그램이 게임 클라이언트(11)인지 아니면 로봇 프로그램(12)인지의 여부를 감시할 수 있다. 뿐만 아니라 게임 서버(17)는 필요에 따라 임의의 시점에 랜덤 코드를 전송할 수 있음은 물론이다.
The
한편, 게임 서버(17)에 접속하여 온라인 게임을 진행하는 프로그램이 로봇 프로그램(12)인 경우에는 게임 서버(17)가 단계 S212를 통해 전송해 준 랜덤 코드와 관련된 응답이 수신되지 않을 수 있다.On the other hand, if the program to access the
즉, 로봇 프로그램(12)이 랜덤 코드를 전송하는 패킷의 헤더를 알 수 없을 때는 게임 서버(17)로부터 수신되는 패킷을 인식할 수 없을 것이므로 랜덤 코드를 수신하지 못한다. 그러므로 로봇 프로그램(12)은 랜덤 코드를 실행하거나 그 결과 값을 게임 서버(17)로 전송할 수 없다.That is, when the
도 4를 참조하여 이러한 경우에 관한 실시예를 살펴보기로 한다.An embodiment of this case will be described with reference to FIG. 4.
게임 서버(17)는 도 3의 단계 S212를 통해 랜덤 코드를 전송한 후 이에 관한 응답이 수신되기를 기다린다(S231).The
만일 일정 시간이 경과되기 전에 랜덤 코드에 관한 결과 값이 수신되면 도 3의 단계 S215로 진행한다(S232,S233).If a result value for the random code is received before a predetermined time has elapsed, the process proceeds to step S215 of FIG. 3 (S232, S233).
그러나 랜덤 코드에 관한 결과 값이 수신되지 않은 상태로 일정 시간이 경과하면 도 3의 단계 S219로 진행한다(S232).However, if a predetermined time has elapsed while the result value regarding the random code is not received, the process proceeds to step S219 of FIG. 3 (S232).
여기서 게임 서버(17)에 랜덤 코드를 전송한 후 그 결과 값을 기다리는 시간은 필요에 따라 합리적인 시간으로 설정할 수 있다.
Here, the time for waiting for the result value after transmitting the random code to the
도 5를 참조하여 위에서 설명한 각 실시예를 요약하기로 한다.Referring to Figure 5 will be summarized each embodiment described above.
도 5a에 도시된 바와 같이 현재 게임 서버(17)에 접속하여 온라인 게임을 진행하는 프로그램이 게임 클라이언트(11)라면, 게임 서버(17)에서 전송해 준 랜덤 코드를 실행하여 올바른 결과 값을 응답할 수 있다.As shown in FIG. 5A, if the program that accesses the
그러나 도 5b에 도시된 바와 같이 현재 게임 서버(17)에 접속하여 온라인 게임을 진행하는 프로그램이 로봇 프로그램(12)이라면, 게임 서버(17)에서 전송해 준 랜덤 코드에 대한 응답을 할 수 없거나, 또는 잘못된 결과 값을 응답하게 된다.However, as shown in FIG. 5B, if the program currently connected to the
그러므로 게임 서버(17)는 전송해 준 랜덤 코드에 대한 응답이 수신되지 않거나 잘못된 결과 값이 수신되었다면, 현재 로봇 프로그램(12)에 의해 온라인 게임이 진행되는 것으로 판단할 수 있다.Therefore, the
게임 서버(17)는 얼마든지 다양한 방법으로 랜덤 코드를 생성할 수 있다.The
구체적인 예를 들자면, 랜덤 코드를 구성하는 형식적인 부분은 고정된 템플릿(Template) 형태로 구성하고, 데이터를 연산하는 부분만을 임의적으로 변경시키는 방법으로 랜덤 코드를 생성할 수 있다.For example, the formal part constituting the random code may be configured in the form of a fixed template, and the random code may be generated by arbitrarily changing only the part for calculating data.
도 6은 랜덤 코드의 일 예를 도시한 것으로서, 함수의 프롤로그(Prologue) 부분, 함수의 에필로그(Epilogue) 부분, 데이터 처리 시작 부분, 데이터 처리 종료 부분, 데이터 연산 부분으로 구성되어 있다.6 illustrates an example of a random code, and includes a prologue part of a function, an epilogue part of a function, a data processing start part, a data processing end part, and a data operation part.
이러한 구조에서 게임 서버(17)는 함수의 프롤로그(Prologue) 부분, 함수의 에필로그(Epilogue) 부분, 데이터 처리 시작 부분, 데이터 처리 종료 부분은 고정된 템플릿으로 동일하게 유지하고, 데이터 연산 부분을 랜덤하게 구성하는 방법을 사용할 수 있다.In this structure, the
이때 데이터 연산 부분은 여러 개의 데이터를 갖는 테이블에서 그때 그때 임의적으로 선택할 수 있다.At this time, the data operation portion can be arbitrarily selected at that time in a table having multiple data.
함수의 프롤로그(Prologue) 부분, 함수의 에필로그(Epilogue) 부분, 데이터 처리 시작 부분, 데이터 처리 종료 부분 등도 필요에 따라 얼마든지 변동될 수 있음은 물론이다.
The prologue part of the function, the epilogue part of the function, the start of data processing, and the end of data processing may also be changed as necessary.
상술한 실시예는 본 발명의 이해를 돕기 위한 것이며, 본 발명은 상술한 실시예에 한정되지 않고 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 당업자에 의해 다양하게 변형하여 실시할 수 있는 것임은 물론이다.The above-described embodiments are intended to help the understanding of the present invention, and the present invention is not limited to the above-described embodiments and can be variously modified and implemented by those skilled in the art without departing from the spirit of the present invention. to be.
10: 사용자 컴퓨터 11: 게임 클라이언트
12: 로봇 프로그램 15: 통신망
17: 게임 서버 10-2: 중앙처리장치(CPU)
10-3: 메모리10: User Computer 11: Game Client
12: robot program 15: communication network
17: Game Server 10-2: Central Processing Unit (CPU)
10-3: memory
Claims (5)
통신망을 통해 상기 전송하였던 랜덤 코드의 결과 값이 수신되면, 해당 랜덤 코드를 실행하여 그 결과 값을 산출하는 단계; 및
상기 산출된 결과 값과 상기 수신된 결과 값을 비교하여 서로 일치하는지의 여부를 조사하는 단계를 포함하고,
상기 게임 클라이언트는 상기 게임 서버로부터 랜덤 코드가 수신되면, 수신된 랜덤 코드를 실행하여 그 결과 값을 산출하고, 산출된 결과 값을 상기 게임 서버로 전송하도록 구성되는 것을 특징으로 하는 랜덤 코드를 이용한 게임 클라이언트 인증 방법.Generating a random code by a game server providing an online game service while communicating with a game client installed in a user computer through a communication network and transmitting the random code to the game client;
If a result value of the transmitted random code is received through a communication network, executing the random code to calculate a result value; And
Comparing the calculated result value with the received result value and investigating whether or not they match each other;
When the game client receives a random code from the game server, the game client is configured to execute the received random code, calculate a result value, and transmit the calculated result value to the game server. Client authentication method.
상기 게임 서버는 상기 조사 결과 상기 산출된 결과 값과 상기 수신된 결과 값이 일치하면 정상적인 게임 클라이언트가 온라인 게임을 진행하는 것으로 판단하고, 상기 산출된 결과 값과 상기 수신된 결과 값이 일치하지 않으면 로봇 프로그램이 온라인 게임을 진행하는 것으로 판단하는 것을 특징으로 하는 랜덤 코드를 이용한 게임 클라이언트 인증 방법.The method of claim 1,
The game server determines that a normal game client plays an online game if the calculated result value and the received result value match, and if the calculated result value and the received result value do not match, the robot Game client authentication method using a random code, characterized in that the program determines to play an online game.
상기 랜덤 코드는 상기 사용자 컴퓨터에서 상기 게임 클라이언트가 실행되는 상태일 때만 올바른 결과 값을 산출할 수 있도록 구성되는 것을 특징으로 하는 랜덤 코드를 이용한 게임 클라이언트 인증 방법.The method of claim 1,
The random code is a game client authentication method using a random code, characterized in that configured to calculate the correct result only when the game client is running in the user computer.
상기 랜덤 코드는 게임 클라이언트가 실행되었을 때 상기 사용자 컴퓨터의 메모리에 생성되는 프로세스 영역 중 특정 영역의 메모리 값을 이용하여 그 결과 값을 연산하도록 구성되는 것을 특징으로 하는 랜덤 코드를 이용한 게임 클라이언트 인증 방법.The method of claim 3, wherein
The random code is a game client authentication method using a random code, characterized in that configured to calculate the resulting value using the memory value of a specific area of the process area generated in the memory of the user computer when the game client is executed.
상기 게임 서버는 상기 전송해 주었던 랜덤 코드의 결과 값이 일정 시간 동안 수신되지 않으면, 로봇 프로그램이 온라인 게임을 진행하는 것으로 판단하는 것을 특징으로 하는 랜덤 코드를 이용한 게임 클라이언트 인증 방법.The method of claim 1,
The game server authentication method using a random code, characterized in that if the result of the transmitted random code is not received for a predetermined time, the robot program proceeds to the online game.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100106650A KR101211855B1 (en) | 2010-10-29 | 2010-10-29 | Method for Game Client Authentication using Random Code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100106650A KR101211855B1 (en) | 2010-10-29 | 2010-10-29 | Method for Game Client Authentication using Random Code |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120045235A true KR20120045235A (en) | 2012-05-09 |
KR101211855B1 KR101211855B1 (en) | 2012-12-12 |
Family
ID=46264737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100106650A KR101211855B1 (en) | 2010-10-29 | 2010-10-29 | Method for Game Client Authentication using Random Code |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101211855B1 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020138554A1 (en) * | 2001-03-26 | 2002-09-26 | Motorola, Inc. | Method for remotely verifying software integrity |
GB0603781D0 (en) | 2006-02-24 | 2006-04-05 | Nokia Corp | Application verification |
-
2010
- 2010-10-29 KR KR1020100106650A patent/KR101211855B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR101211855B1 (en) | 2012-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8713157B2 (en) | System for collecting computer application usage data of targeted application programs executed on a plurality of client devices | |
US10092845B2 (en) | Detecting lag switch cheating in game | |
US20240333514A1 (en) | Method and system for authenticating a secure credential transfer to a device | |
US10621317B1 (en) | Audio-based device authentication system | |
CN103262065A (en) | Method and system for transferring application state | |
CN112199652B (en) | Login method, terminal, server, system, medium and equipment of application program | |
CN111643907A (en) | Game login method and device, storage medium and electronic equipment | |
US11030284B2 (en) | Smart gamepad | |
US10621322B2 (en) | Platform for distinguishing human from machine input | |
US10807006B1 (en) | Behavior-aware player selection for multiplayer electronic games | |
KR101211855B1 (en) | Method for Game Client Authentication using Random Code | |
JP6082182B2 (en) | GAME SYSTEM, GAME DEVICE, GAME PROGRAM, AND GAME CONTROL METHOD | |
KR20120081360A (en) | Method for game client authentication using random code | |
KR102521679B1 (en) | Method and apparatus for delegating game play | |
KR101741026B1 (en) | Method and Computer Readable Recording Medium for Detecting Malicious Module of On-Line Game | |
KR20120002824A (en) | Flash games integrated data system and provide method thereof | |
KR101819987B1 (en) | Game service system, mobile apparatus and method for providing sub game thereof | |
KR102576794B1 (en) | Intergraged authentication service system for multi-application and operation method thereof | |
KR20120039108A (en) | Method and system for bad user monitoring of on-line game system | |
Corbett et al. | Private data harvesting on Alexa using third-party skills | |
JP7148814B2 (en) | Game program and game system | |
Ricotta | Bug hunting in Steam: a journey into the Remote Play protocol | |
KR102728015B1 (en) | Method and system for authenticating a secure credential transfer to a device | |
CN116701188A (en) | Automatic test method, device, computer equipment and storage medium | |
KR20220001884A (en) | Method and system for authenticating a user terminal based on disposable authentication information using mobile device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20151203 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20161202 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20171201 Year of fee payment: 6 |