KR101102855B1 - 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR101102855B1
KR101102855B1 KR1020100038439A KR20100038439A KR101102855B1 KR 101102855 B1 KR101102855 B1 KR 101102855B1 KR 1020100038439 A KR1020100038439 A KR 1020100038439A KR 20100038439 A KR20100038439 A KR 20100038439A KR 101102855 B1 KR101102855 B1 KR 101102855B1
Authority
KR
South Korea
Prior art keywords
game
authentication
game client
execution
client
Prior art date
Application number
KR1020100038439A
Other languages
English (en)
Other versions
KR20110118997A (ko
Inventor
이동수
한수진
Original Assignee
엔에이치엔(주)
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 엔에이치엔(주) filed Critical 엔에이치엔(주)
Priority to KR1020100038439A priority Critical patent/KR101102855B1/ko
Publication of KR20110118997A publication Critical patent/KR20110118997A/ko
Application granted granted Critical
Publication of KR101102855B1 publication Critical patent/KR101102855B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (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)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체에 관한 것으로, 게임 클라이언트 런칭부로부터의 실행 요청 수신을 통해 제1 인증을 실시하고, 제1 인증을 통과하는 경우에 한해서 실행이 계속되어 게임 클라이언트의 실행을 요청하며, 실행된 상기 게임 클라이언트의 초기화 신호를 수신하여 게임 시스템으로 제2 인증을 위한 사용자 고유 정보를 송신한 뒤 그 응답으로 수신한 제2 인증 결과에 따라 게임 진행 여부를 결정하는 게임 클라이언트 인증부와, 상기 게임 클라이언트 인증부의 상기 실행에 따른 실행 요청을 수신하여, 상기 실행 요청에 따른 실행과 함께 초기화 신호를 상기 클라이언트 인증부에 전송하는 게임 클라이언트를 포함하며, 여기서 상기 게임 클라이언트는 DLL 인젝션 방식에 의해, 상기 게임 클라이언트의 실행시 상기 게임 클라이언트 인증부와 송수신할 수 있는 기능을 포함하는 DLL을 로드할 수 있도록 수정된다.

Description

게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체{SYSTEM, METHOD AND COMPUTER READABLE RECORDING MEDIUM FOR PROVIDING GAME AUTHORIZATION INDEPENDENT FROM GAME CLIENT}
본 발명은 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템, 방법 및 컴퓨터 판독 가능한 기록매체에 관한 것으로, 보다 상세하게는 기존의 컴파일된 게임 클라이언트를 인젝티드(injected) DLL 방식으로 수정하고, 이와 통신하는 통신 모듈을 구현하여 이미 개발되고 컴파일된 게임 클라이언트를 다시 컴파일하는 등의 재수정 없이 독립적으로 게임 인증 등의 기능을 제공하기 위한 시스템, 방법 및 컴퓨터 판독 가능한 매체에 관한 것이다.
최근 들어, 컴퓨터 관련 정보 통신 기술이 발전함에 따라 게임 산업도 급속도로 발전하고 있다. 그 중에서도, 사용자들이 가볍게 즐길 수 있는 싱글 캐쥬얼 게임의 경우에는 일반적으로 사용자가 오랜 시간을 들여 하나의 게임을 진행하지 않는 경향이 있어서, 많은 수의 다양한 종류에 해당하는 게임들을 부담없는 가격을 통해서 사용자에게 제공할 수 있는지 여부가 사업의 성패를 좌우할 수 있는바, 이렇듯 다양한 게임을 제공하기 위해서 게임을 배포하는 배급사는 다수의 게임을 제작하는 게임 제작사로부터 여러가지 게임을 공급받아 제공하는 경우가 일반적이다.
하지만, 다양한 게임, 즉 컨텐츠를 수급받기 위해 다수의 게임 제작사로부터 여러가지 게임을 공급받는 경우 각 게임 제작사의 개발 경험 및 특성, 그리고 개발 방식이 제각각이므로, 게임의 과금 문제, 정당한 사용자에 의한 게임 진행인지를 확인하기 위한 인증 문제, 게임 데이터의 저장 방식 및 랭킹 서비스 제공 문제 등 게임 배급사가 자신의 독자적인 플랫폼을 통해서 통일성 있게 게임을 서비스하는 데에 있어 문제가 발생하였다.
더욱이, 사용자의 컴퓨터에 저장되는 싱글 캐쥬얼 게임의 실행 파일을 다른 컴퓨터로 옮겨서 실행하는 것이 가능한 경우, 게임 개발사 및 배포사 모두의 피해가 발생하게 되므로 이러한 문제점들을 해결하기 위한 방안들이 논의되기 시작되었다.
먼저, 게임 개발 단계에서, 게임 배포사가 특정 기능을 수행할 수 있는 특정 코드의 삽입을 요청하고, 이를 포함하여 개발된 게임을 컴파일하여 게임 파일로 사용하는 방법이 있으나 다양한 게임을 단기간에 제작해야 하는 게임 개발사의 입장에서, 게임 배포사가 요청하는 부분을 삽입하여 개발하기 위한 지식 및 경험이 선행되어야 하므로 개발 효율이 현저히 떨어지게 되는 문제점이 발생하였고, 이미 개발되고 컴파일되어서 게임 제작사로부터 제공받은 게임 파일의 경우에는 소스를 갖지 않고 있는 게임 배포사 측에서 임의로 필요한 특정 코드를 삽입하여 재컴파일할 수도 없는 문제점이 존재하였다.
또한, 서버로부터 DRM 솔루션을 다운로드 받아 인증을 진행하는 방식도 있으나, 이 경우에는 DRM 솔루션을 다운로드 받은 컴퓨터에만 종속되어, 예를 들어 게임을 구매한 정당한 사용자가 아닐지라도 동일한 컴퓨터를 사용하는 타 사용자인 경우에도 제한없이 게임을 이용할 수 있는 문제점이 발생한다.
더욱이, 게임 배포사의 서비스를 통한 게임 진행만이 가능하도록 웹으로부터의 실행은 가능하나 사용자가 직접 마우스 클릭 등을 통해 게임을 실행할 수는 없도록 해야 하며, 서버측과 보안 및 과금등을 위한 특정 정보 (게임 플레이시간 및 사용자 인증 정보 등)의 통신도 구현되어야 하고, 또한 프리 트라이얼(free trial)이나 시간제 과금제를 지원하기 위해 원하는 시점에서 게임을 기동하고 종료하는 등의 기능도 추가되어야 하나 이 모든 것을 만족하는 방안은 아직까지 개발되고 있지 않은 상태이다.
본 발명의 목적은 위에서 언급한 종래 기술의 문제점을 해결하는 것이다.
또한, 본 발명의 다른 목적은 게임 개발시 인증을 위한 특정 코드의 삽입을 요청하지 않아 게임 개발의 효율 및 독립성을 지키면서도, 사용자 인증 및 과금 등 게임 배포사의 싱글 플랫폼 하에서 통일된 방식으로 게임을 제공할 수 있도록 하는 것이다.
또한, 본 발명의 또 다른 목적은 게임 개발시 인증을 위한 특정 코드의 삽입을 요청하지 않아 게임 개발의 효율 및 독립성을 지키면서도, 게임 배포사의 서비스를 통한 게임 진행만이 가능하도록 웹으로부터의 실행은 가능하나 사용자가 직접 마우스 클릭 등을 통해 게임을 실행할 수는 없게 하는 기능을 제공하는 것이다.
또한, 본 발명의 또 다른 목적은 게임 개발시 인증을 위한 특정 코드의 삽입을 요청하지 않아 게임 개발의 효율 및 독립성을 지키면서도, 서버측과의 통신도 구현되고, 원하는 시점에서 게임을 기동하고 종료하는 등의 기능도 구현되는 게임을 제공할 수 있도록 하는 것이다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특유의 효과를 달성하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 방법은, 게임 클라이언트 인증부가 게임 클라이언트 런칭부로부터의 실행 요청 수신을 통해 제1 인증을 실시하고, 상기 제1 인증을 통과하는 경우에 한해서 실행이 계속되는 단계; 상기 게임 클라이언트가 상기 게임 클라이언트 인증부의 상기 실행 계속에 따른 실행 요청을 수신하여, 상기 실행 요청에 따른 실행과 함께 초기화 신호를 상기 클라이언트 인증부에 전송하는 단계; 및 상기 게임 클라이언트 인증부가 상기 초기화 신호를 수신시, 게임 시스템으로 제2 인증을 위한 고유 정보를 송신한 뒤 그 응답으로 수신한 제2 인증 결과에 따라 게임 진행 여부를 결정하는 단계;를 포함하며, 여기서 상기 게임 클라이언트는 DLL 인젝션 방식에 의해, 상기 게임 클라이언트의 실행시 상기 게임 클라이언트 인증부와 송수신할 수 있는 기능을 포함하는 DLL을 로드할 수 있도록 수정된 것을 특징으로 한다.
본 발명의 다른 태양에 따르면, 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템은, 게임 클라이언트 런칭부로부터의 실행 요청 수신을 통해 제1 인증을 실시하고, 상기 제1 인증을 통과하는 경우에 한해서 실행이 계속되어 게임 클라이언트의 실행을 요청하며, 실행된 상기 게임 클라이언트의 초기화 신호를 수신하여 게임 시스템으로 제2 인증을 위한 사용자 고유 정보를 송신한 뒤 그 응답으로 수신한 제2 인증 결과에 따라 게임 진행 여부를 결정하는 게임 클라이언트 인증부;와, 상기 게임 클라이언트 인증부의 상기 실행에 따른 실행 요청을 수신하여, 상기 실행 요청에 따른 실행과 함께 초기화 신호를 상기 클라이언트 인증부에 전송하는 게임 클라이언트;를 포함하고, 여기서 상기 게임 클라이언트는 DLL 인젝션 방식에 의해, 상기 게임 클라이언트의 실행시 상기 게임 클라이언트 인증부와 송수신할 수 있는 기능을 포함하는 DLL을 로드할 수 있도록 수정된 것을 특징으로 한다.
상술한 바와 같이 본 발명에 따르면 게임 개발시 인증을 위한 특정 코드의 삽입을 요청하지 않아 게임 개발의 효율 및 독립성을 지키면서도, 사용자 인증 및 과금 등 게임 배포사의 싱글 플랫폼 하에서 통일된 방식으로 게임을 제공할 수 있다.
또한, 본 발명에 따르면 게임 개발시 인증을 위한 특정 코드의 삽입을 요청하지 않아 게임 개발의 효율 및 독립성을 지키면서도, 게임 배포사의 서비스를 통한 게임 진행만이 가능하도록 웹으로부터의 실행은 가능하나 사용자가 직접 마우스 클릭 등을 통해 게임을 실행할 수는 없게 하는 기능을 제공할 수 있다.
또한, 본 발명에 따르면 게임 개발시 인증을 위한 특정 코드의 삽입을 요청하지 않아 게임 개발의 효율 및 독립성을 지키면서도, 서버측과의 통신도 구현되고, 원하는 시점에서 게임을 기동하고 종료하는 등의 기능도 구현되는 게임을 제공할 수 있도록 하는 것이다.
도 1은 발명의 일 실시예에 따라, 사용자에게 싱글 캐쥬얼 게임을 제공하기 위한 시스템의 전체적인 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따라, 사용자 단말 장치 내에 설치되고, 동작을 통해 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 게임 인증 관리 시스템의 블럭도를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른, DLL 인젝션(injection) 방식을 통한 통신 모듈 삽입 방식을 나타낸 예시적인 화면이다.
도 4는 본 발명의 일 실시예에 따라 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템에서 인증 및 게임 진행 관리를 수행하는 흐름을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따라 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템에서 게임 클라이언트 인증부 및 게임 클라이언트가 상호 동작하는지 여부를 확인하기 위한 하나의 방식을 나타낸 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는 적절하게 설명된다면 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
[본 발명의 바람직한 실시예]
본 발명의 명세서에서, 용어 "싱글 캐쥬얼 게임"은 오랜 시간을 투자하여 진행하는 어려운 게임의 반대로, 큰 시간을 투자하지 않더라도 누구나 쉽게 이해할 수 있고 가볍게 즐길 수 있는 게임을 의미한다. 일반적으로 다른 사용자와 함께 진행하는 게임이 아니므로 사용자 단말 장치에 설치되어 게임 진행을 위한 별도의 서버 연결이 필요하지 않으나 인증 등을 목적으로 서버 연결이 필요할 수도 있으므로, 본 발명에서는 게임의 형식 및 서버 연결의 필요 여부에 대해서 한정적으로 해석되어서는 안되며, 서버 연결의 필요성 여부에 관계없이 사용자가 가볍게 즐길 수 있는 게임이라면 모두 포함하는 광의의 개념으로 해석되어야 한다.
또한, 본 발명의 명세서에서, 용어 "인증"은 싱글 캐쥬얼 게임을 실행할 경우 적용되는 조건에 모두 만족하는지를 판단하는 광의의 개념으로 해석되어야 한다. 예를 들어, 사용자에 적용되는 인증의 경우 정당한 사용자에 의한 게임 실행 여부를 판단하고, 사용자 단말 장치에 적용되는 인증의 경우, 게임 실행이 허용되는 정당한 사용자 단말 장치에서 실행 요청되었는지 여부를 판단한다. 또한 사용자 및 사용자 단말 장치 모두에 적용되는 인증의 경우 양자가 모두 정당한지 여부를 판단하게 된다.
전체 시스템 구성
도 1은 발명의 일 실시예에 따라, 사용자에게 싱글 캐쥬얼 게임을 제공하기 위한 시스템의 전체적인 구성을 개략적으로 나타내는 도면이다.
도 1에 도시되어 있는 바와 같이 본 발명의 일 실시예에 따른 전체 시스템은, 싱글 캐쥬얼 게임을 관리하는 게임 시스템(100)이 통신망(200)을 통하여 싱글 캐쥬얼 게임이 실행되는 복수의 사용자 단말 장치(300)와 연결되어 있다. 여기서 게임 시스템(100)은 더욱 상세하게는 게임 웹 서버(110), 인증 서버(120), 데이터베이스(130), 그리고 하나이상의 싱글 게임 서버(140)를 포함한다.
먼저, 통신망(200)은 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 발명에서 말하는 네트워크는 공지의 월드와이드웹(WWW; World Wide Web)이거나, 적외선(Infrared Data Assosiation; IrDA) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선전송기술을 이용할 수도 있다.
또한, 본 발명의 일 실시예에 따르면, 게임 웹 서버(110)는 싱글 캐쥬얼 게임을 사용자에게 제공하기 위해서 게임 관련 웹 페이지를 사용자 단말 장치(300)에 제공하는 기능을 수행할 수 있으며, 사용자는 게임 웹 서버(110)가 제공하는 웹 페이지에서 회원 가입, 로그인 및 게임 시작 등의 동작을 할 수 있다. 또한, 웹 서버(110)는 사용자 단말 장치(300)에 게임 클라이언트가 설치되어 있지 않으면 게임 클라이언트를 설치하고, 게임 클라이언트가 구 버전인 경우에는 신 버전의 게임 클라이언트로 업데이트 한다. 물론, 게임 클라이언트는 웹 서버(110)가 아닌 전용 다운로드 서버(도시하지 않음)에 의해 다운로드될 수도 있다.
본 발명의 일 실시예에 따르면, 인증 서버(120)는 사용자 단말 장치(300)와의 통신에 따라 인증을 받은 정당한 컴퓨터에서 인증을 받은 정당한 사용자에 의해 게임이 실행되는지 여부를 판단하여 그 결과를 사용자 단말 장치(300)로 전송한다.
본 발명의 일 실시예에 따르면, 복수의 싱글 게임 서버(130)는 사용자 단말 장치(300)와의 통신을 통해 사용자의 게임 진행 시간 및 제한 시간을 계산하고 그 결과를 사용자 단말 장치(300)에게 제공할 수 있으므로, 사용자가 일정 기간 또는 시간동안 무료로 게임을 즐길 수 있도록 하는 프리 트라이얼(free trial) 또는 사용자가 시간제 요금 등을 통하여 일정 시간에 한하여 게임을 할 수 있도록 하는 기능의 구현에 사용될 수 있다. 또한, 본 발명의 일 실시예에 따르면, 인증을 게임 진행 중 계속하여 유지하기 위해 서버측과의 통신을 계속할 수 있고, 이에 따라 싱글 게임 서버(130)는 사용자 단말 장치(300)와의 통신을 통해 네트웍 연결이 계속되는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 데이터베이스(140)는 싱글 캐쥬얼 게임을 사용자에게 제공하는 데 필요한 각종 정보를 저장하고, 게임 웹 서버(110), 인증 서버(120), 및 싱글 게임 서버(130)의 요청에 따라 요청받은 정보를 제공한다. 요청받은 정보에는 게임 클라이언트 실행 관련 정보, 사용자 정보를 포함한 인증 정보, 게임 정보 등이 있다.
여기서, 게임 클라이언트 실행 관련 정보는 사용자 단말 장치(300)에 게임 클라이언트가 다운로드 되어 있는지 여부, 게임의 버전, 게임 서버(130)의 IP주소(internet protocol address) 등과 같이 게임 클라이언트를 실행하는 데 필요한 정보를 포함할 수 있다. 사용자 정보를 포함한 인증 정보는 정당한 사용자가 게임을 실행시켰는지 여부를 판단하기 위한 사용자 고유 정보, 인증받은 컴퓨터에서 게임을 실행시켰는지 여부를 판단하기 위한 컴퓨터 고유 정보 등을 포함한다. 게임 정보로서는 사용자의 식별자, 별명, 아바타, 나이, 성별, 등급,전적 등에 대한 정보 및 사용자가 특정 단계를 통과 또는 특정 미션을 달성했는지에 대한 정보를 포함할 수 있으며, 프리 트라이얼(free trial)인지 여부 및 게임 제한 시간 등에 대한 정보도 포함할 수 있다.
도 1에는 하나의 데이터베이스(140)만을 도시하였으나 저장되는 정보의 종류에 따라 각각 별개의 데이터베이스를 구축할 수도 있고, 그 일부 또는 전체 정보를 포함한 데이터베이스가 사용자 단말 장치(300) 내에 위치할 수도 있다.
또한, 비록 도시되지는 않았지만 게임 시스템(100) 내부에 게임 다운로드 또는 게임 진행에 따른 과금을 담당하는 과금 서버 및 사용자가 게임에서 달성한 미션이나 점수 등을 관리하는 랭킹 서버도 포함될 수 있고, 이 경우 데이터베이스(140)는 그에 관련된 정보를 더 포함할 수 있음은 당업자에게 있어 자명할 것이다. 본 실시예에서 게임 시스템(100)이 3개의 세부적인 서버(110, 120, 130)를 포함하는 것으로 설명하였으나, 3개의 서버는 기능적으로 서로 통합되거나 분리될 수 있고 일부 기능을 수행하는 서버는 생략될 수도 있으며 앞서 본 바와 같이 추가적인 기능을 갖는 서버를 더 포함할 수도 있으므로, 이에 따라 게임 시스템(100)은 3개 대신 하나 이상의 서버로 이루어질 수도 있다.
한편, 본 발명의 일 실시예에 따른 사용자 단말장치(300)는 사용자가 싱글 캐쥬얼 게임을 수행하기 위하여 통신망(200)을 통하여 게임 시스템(100)과 교신하기 위한 기능을 포함하는 입출력 장치를 의미하며, 데스크톱 컴퓨터뿐만 아니라 노트북 컴퓨터, 워크스테이션, 팜톱(palmtop) 컴퓨터, 개인 휴대 정보 단말기(personal digital assistant: PDA), 웹 패드, 스마트 폰을 포함하는 이동 통신 단말기 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기라면 얼마든지 본 발명에 따른 사용자 단말 장치(300)로서 채택될 수 있다.
게임 인증 관리 시스템
본 발명의 일 실시예에 따라, 사용자 단말 장치(300) 내에 설치되고, 동작하면서 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 게임 인증 관리 시스템의 블럭도를 도시한 도 2를 참고하여 더욱 상세히 설명하면, 게임 인증 관리 시스템은 웹 브라우저(310), 게임 클라이언트 런칭부(320), 게임 클라이언트 인증부(330) 및 게임 클라이언트(340)를 포함한다.
여기서 본 발명의 일 실시예에 따른 웹 브라우저(310)는 웹 정보를 검색하는 데 사용되는 응용 프로그램으로서, 웹 서버(110)에 접근하여 웹 서버(110)가 제공하는 싱글 캐쥬얼 게임의 웹 페이지를 사용자 단말 장치(300)에 표시한다. 만일 사용자 단말 장치(300)에 게임 클라이언트(340)가 설치되어 있지 않은 경우에는 사용자가 웹 페이지에 표시되어 있는 게임 다운로드 버튼을 클릭하여 게임 클라이언트(340)를 비롯한 게임 클라이언트 런칭부(320) 및 게임 클라이언트 인증부(330)를 설치한다. 이미 게임 클라이언트(340)가 설치되어 있는 경우, 사용자가 웹 페이지에 표시되어 있는 게임 시작 버튼을 클릭하면 웹 브라우저(310)는 게임 클라이언트 런칭부(320)를 실행시킨다.
다음으로, 본 발명의 일 실시예에 따른 게임 클라이언트 런칭부(320)는 게임 클라이언트 인증부(330)를 실행시킨다. 이 경우, 게임 클라이언트 런칭부(320)에 의한 정당한 실행이 아닌 비정상적인 경로를 통한 실행, 예를 들어 사용자에 의한 직접적인 게임 클라이언트 인증부(330) 실행,을 막기 위해 게임 클라이언트 런칭부(320)를 통해 게임 클라이언트 인증부(330) 실행시, 인증에 필요한 특정 코드를 같이 제공할 수 있다. 게임 클라이언트 런칭부(320)는 또한 인증이나 게임 클라이언트를 실행하는 데 필요한 여러 가지 정보를 게임 시스템(100)으로부터 받아올 수 있으며, 게임 클라이언트(340)가 구 버전일 경우 새로운 버전의 게임 클라이언트를 게임 시스템(100)으로부터 다운로드받을 수 있다.
그리고, 본 발명의 일 실시예에 따른 게임 클라이언트 인증부(330)는 실행시 게임 클라이언트(340)를 실행시킨다. 게임 클라이언트 인증부(330)의 실행과 함께 특정 코드가 제공된 경우, 게임 클라이언트 인증부(330)는 코드 분석을 통해 해당 코드가 인증에 필요한 특정 코드이며 게임 클라이언트 런칭부(320)에 의해 제공된 코드인지 여부를 판단하고 그렇지 않다면 스스로 실행을 종료하여 게임 클라이언트 런칭부(320)에 의한 정당한 실행이 아닌 다른 경로를 통한 실행을 막을 수 있다. 또한, 게임 클라이언트 인증부(330)는 게임 시스템(100)과의 통신에 의해 인증 및 인터넷 접속 여부를 처리하며, 게임 클라이언트(340)와의 통신에 의해 서로 동작하고 있는지를 확인하고 게임 클라이언트(340)가 동작하고 있지 않은 경우 스스로 실행을 종료한다. 추가적으로, 게임 클라이언트 인증부(330)는 게임 시스템(100)과의 통신을 통해 통신망(200)으로 연결되어 있는지를 주기적으로 확인하여, 연결되어 있지 않은 경우 실행을 종료할 수도 있다.
마지막으로, 본 발명의 일 실시예에 따른 게임 클라이언트(340)는 싱글 캐쥬얼 게임 화면을 사용자 단말 장치(300)에 표시하고 사용자가 싱글 캐쥬얼 게임을 수행할 수 있도록 사용자의 입력에 따라 그 결과를 사용자 단말 장치(300)에 표시한다. 또한, 게임 클라이언트 인증부(330)와의 통신에 의해 서로 동작하고 있는지를 확인하고, 게임 클라이언트 인증부(330)가 동작하고 있지 않은 경우 스스로 실행을 종료하여 정당하지 않은 루트에 따른 게임 클라이언트(340)의 실행을 막을 수 있다. 게임 클라이언트(340)는 게임 클라이언트 인증부(330)와 통신할 수 있는 통신 모듈을 포함하고 있지 않은 기존의 게임 개발사 등을 통해 제공받은 실행 파일에, DLL(dynamic link library) 인젝션(injection) 등의 방법을 사용하여 통신 기능을 갖는 함수를 포함한 DLL(이하 '통신 모듈'이라 한다)을 로드할 수 있도록 변형한 실행 파일을 포함한다.
DLL 인젝션( injection )
도 3은 본 발명의 일 실시예에 따른, DLL 인젝션(injection) 방식을 통한 통신 모듈 삽입 방식을 나타낸 예시적인 화면이다. 일반적으로 게임 제작사에 의해 개발되고 컴파일된 게임 클라이언트는 게임 배포사가 개발한 게임 클라이언트 인증부(330)와 통신하기 위한 통신 모듈이 포함되어 있지 않은 상태이다. PE(portable executable) 포맷 형식인 게임 클라이언트(340)의 헤더를 분석하면, 도 3의 좌측과 같이 섹션 테이블 중에 .idata라는 이름의 임포트 섹션을 포함하고 있는 것을 알 수 있다. 그 중 임포트 디렉토리 테이블(IMPORT Directory Table)에는 실행 파일이 임포트 하려는 DLL들의 엔트리가 저장되어 있다. 이 부분에 게임 클라이언트 인증부(330)와 통신하기 위한 통신 기능을 갖는 함수들을 포함하고 있는 DLL, 즉 통신 모듈의 정보를 추가하면 게임 클라이언트(340)의 실행시 해당 DLL도 같이 로드되게 된다. 또한, 게임 클라이언트(340) 통신 모듈 내의, DLL의 특정 함수를 실행시키도록 하기 위해서, DLL이 로드 또는 언로드될 때 불리우는 함수인 DllMain에 원하는 함수를 넣어 게임 클라이언트 실행시 자동적으로 DLL 로드되고, DLL 로드시 특정 함수가 자동적으로 실행되도록 구현할 수도 있다. 이러한 방법에 의해서, 이미 컴파일된 게임 클라이언트(340)에 독립하게, DLL 인젝션 방식을 통하여 게임 클라이언트 인증부(330)와 원하는 방식으로 통신할 수 있는 통신 모듈을 삽입하고, 이를 이용하여 통신을 진행할 수 있다.
인증 관리
다음으로, 도 4는 본 발명의 일 실시예에 따라 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템에서 인증 및 게임 진행 관리를 수행하는 흐름을 나타낸 도면이다. 여기서 게임 클라이언트 인증부(330)와 통신하는 기능을 수행하는 부분은 정확히는 DLL 인젝션에 의해 게임 클라이언트(340)에 로드된 통신 모듈이지만 편의상 이하 게임 클라이언트(340)로 통칭한다. 먼저, 게임 클라이언트(340)가 실행되면 게임 클라이언트 인증부(330)에 초기화 신호를 전송하며(S410), 이후 게임 클라이언트 인증부(330)가 동작하고 있지 않은 것을 판단하면 스스로 실행을 종료함으로써 게임 클라이언트 인증부(330)에 의한 정상적인 실행을 제외한 비정상적인 경로를 통한 실행을 막을 수 있다. 게임 클라이언트(340) 및 게임 클라이언트 인증부(330)가 서로 동작하는지 여부를 확인하는 구체적인 내용은 나중에 상세히 설명하도록 한다.
게임 클라이언트 인증부(330)는 게임 클라이언트(340)로부터 초기화 신호 수신시, 게임 시스템(100)으로 고유 정보를 전송한다(S420). 여기서 고유 정보는 게임 시스템(100)에서 사용자의 인증, 게임 클라이언트가 실행되는 컴퓨터의 인증 등을 수행하기 위해 필요한, 사용자 및 사용자 단말 장치(300)가 가지고 있는 고유한 정보를 포함하며, 그 일 예로서 게임 시스템(100)에 로그인한 사용자의 사용자 ID 및 특정 구역 내 정보통신망인 LAN에 사용되는 네트워크 모델인 이더넷의 물리적인 주소를 의미하는 MAC(media access control) 주소를 포함할 수 있으나 반드시 이에 한정되는 것은 아니다.
게임 시스템(100), 더 구체적으로 인증 서버(120)는 게임 클라이언트 인증부(330)로부터 수신받은 고유 정보를 이용하여 데이터베이스(140)를 참조하고, 매칭되는 정보가 있는지 확인한다(S430). 만일 고유 정보, 예를 들어 사용자 고유 정보 및 컴퓨터 고유 정보, 에 모두 매칭되는 정보가 존재하지 않으면 인증받지 못한 사용자 단말 장치(300) 또는 사용자로부터의 접속, 즉 인증 실패로 판단하여 그 결과를 게임 클라이언트 인증부(330)로 통지한다. 즉, 게임을 실행하도록 허락받은 정당한 사용자가 게임을 실행하도록 허락받은 정당한 사용자 단말 장치(300)를 통해서 게임을 실행하는 경우에만 인증을 통과할 수 있으며, 만일 사용자만 정당한 경우 즉 게임을 구매한 사용자가 게임 구매시 사용한 사용자 단말 장치(300)가 아닌 다른 사용자 단말 장치(300)를 통해 게임을 실행하는 경우나, 사용자 단말 장치(300)만 정당한 경우 즉 게임을 구매시 사용한 사용자 단말 장치(300)를 통해 게임을 구매하지 않은 다른 사용자가 게임을 실행하는 경우 모두 비정상적인 게임 실행이라고 판단하여 게임을 실행하지 못하도록 함으로써, 기존에는 이미 컴파일된 실행파일을 통해서는 제공하지 못했던 사용자 및 사용자 단말 장치(300) 모두의 인증을 제공할 수 있게 한다. 또한, 기존의 정당한 사용자가 게임을 실행하고 있는 도중에 동일한 사용자 ID를 이용하여 동일한 또는 다른 사용자 단말 장치(300)를 통해 게임 실행을 요청한 경우에도 중복 게임 진입 또는 실행으로 판단하여 허용하지 않을 수 있으며 이 경우 인증 실패로 판단하고 그 결과를 게임 클라이언트 인증부(330)로 통지할 수 있다(S440).
만일 고유 정보에 모두 매칭되는 정보가 존재하는 경우, 정당한 게임 실행, 즉 인증 성공으로 판단하여 그 결과, 그리고 필요시 게임 실행이나 제어에 필요한 관련 정보를 추가하여 게임 클라이언트 인증부(330)로 제공한다(S440). 여기서 게임 실행이나 제어에 필요한 관련 정보는 기본적인 사용자 정보(사용자의 식별자, 별명, 아바타, 나이, 성별, 등급,전적 등에 대한 정보)를 비롯하여 사용자가 특정 단계를 통과 또는 특정 미션을 달성했는지에 대한 정보, 사용자가 프리 트라이얼 중인지 아니면 유료로 구매하였는지에 대한 정보, 시간제한이 있다면 현재 남아있는 시간에 대한 정보 등을 포함할 수 있다.
게임 클라이언트 인증부(330)는 게임 시스템(100)으로부터 인증 실패를 통지받는 경우 스스로 실행 종료할 수 있으며(S450) 이 경우 게임 클라이언트(340)에도 인증 실패에 따른 게임 종료를 통지할 수 있다. 그 반대로, 인증 성공을 통지받는 경우, 함께 제공받는 게임 실행이나 제어에 필요한 관련 정보의 일부/전부를 게임 클라이언트(340)로 전달하여 게임을 실행하도록 한다.
게임 시작 이후에, 게임 클라이언트 인증부(330)는 일정 시간 간격으로 게임 시스템(100)과 통신하여 통신망(200)으로 계속 연결되어 있는지, 예를 들면 특정 포트를 통해 핑(ping) 프로그램을 통한 IP 데이터그램이 도달하는지 여부를 확인하는 방식을 사용할 수 있다, 를 확인하고 응답이 있으면 통신망(200)으로 계속 연결되어 있는 것으로 판단하고 게임 진행을 계속할 수 있으며, 만일 응답이 없으면 통신망(200)을 통한 게임 시스템(100)과의 연결이 끊긴 것으로 판단하여 이에 따라 스스로 실행 종료할 수 있으며(S460), 이 경우 게임 클라이언트(340)에도 통지할 수 있다. 이 경우 사용자에게 게임 종료 사실을 알리기 위한 팝업창이나 메시지 박스를 사용자 단말 장치(300)에 표시하도록 할 수 있다.
다음으로 게임 진행시 시간 제한이 있는 경우, 해당 시간 경과 여부를 게임 클라이언트 인증부(330)에서 판단한다. 이러한 판단은, 설계 및 구현 방식에 따라 남아있는 시간에 대한 정보를 갖고 있는 게임 시스템(100)에서, 인증 성공시부터 시간을 계산하고 해당 시간이 경과한 경우 게임 클라이언트 인증부(330)로 통지하는 방식으로 할 수 있으며, 인증 성공시 남아있는 시간에 대한 정보도 함께 제공받아 게임 클라이언트 인증부(330)에서 직접 시간을 계산하고 해당 시간이 경과하였는지 여부를 판단할 수도 있고, 또는 양측에서 동시에 계산하여 양측 모두 경과했는지 또는 적어도 한 측에서 경과했는지 여부를 게임 클라이언트 인증부(330)에서 판단하는 방식으로도 할 수 있다.
제한된 시간이 경과하였다고 판단하는 경우, 게임 클라이언트 인증부(330)는 게임의 형식에 맞도록 팝업창이나 메시지 박스를 사용자 단말 장치(300)에 표시하도록 할 수 있다. 즉, 사용자가 프리 트라이얼 중인 경우에는 무료 시간이 모두 경과하였다는 내용과 함께 게임을 구매할 수 있는 페이지로 이동할 수 있는 링크를 갖는 내용을 제공할 수 있는 팝업창이나 메시지 박스를 제공할 수 있으며, 만일 유료로 구매한 시간이 경과한 경우에는 구매한 유료 시간이 모두 경과하였다는 내용으로 변경하여 게임 구매 관련 링크를 포함한 내용을 제공하도록 할 수 있다. 이에 대한 디스플레이 형식 및 페이지 링크 등에 관한 다양한 변형이나 변경은 당업자에게 있어 자명할 것이다. 이와 함께, 기존의 게임을 종료하기 위해 게임 종료를 게임 클라이언트(340)에 통지하고 스스로 실행 종료할 수 있다.
상호 동작 확인
도 5는 본 발명의 일 실시예에 따라 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템에서 게임 클라이언트 인증부(330) 및 게임 클라이언트(340)가 상호 동작하는지 여부를 확인하기 위한 하나의 방식을 나타낸 도면이다. 도 5에서는 뮤텍스(mutex)를 이용한 방법을 나타내고 있다. 뮤텍스는 상호 배제(mutual exclusion)을 의미하는 용어로, 일반적으로 동시 프로그래밍에서 공유 불가능한 자원의 동시 사용을 피하기 위해 사용되는 알고리즘을 의미하며, 본 발명의 일 실시예에서는 게임 클라이언트 인증부(330) 및 게임 클라이언트(340) 각자가 각각의 뮤텍스를 생성하고 서로의 뮤텍스를 크로스-체크하여 존재하는 경우 해당 기능이 살아있는 것으로 판단한다. 즉, 어느 한 쪽의 뮤텍스라도 존재하지 않는 경우 상대방이 동작하지 않는 것으로 판단하고 자신도 실행 종료하도록 구성함에 따라, 양측 모두가 실행되지 않는 상태인, 비정상적인 경로에 따른 게임 진행을 방지하여 인증의 기능을 수행할 수 있다. 본 발명에서는 뮤텍스를 이용한 상호 동작 확인 방식에 대해 상술하였지만, 해당 분야의 기술 수준 및 당업자의 기술 상식에 따라 다양한 방법에 의해 동일 또는 유사한 기능을 수행할 수 있도록 치환 또는 전용될 수 있는 것은 인지되어야 한다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(megneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동되도록 구성될 수 있으며, 그 역도 마찬가지다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (12)

  1. 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 방법에 있어서,
    게임 클라이언트 인증부는 게임 클라이언트 런칭부로부터의 실행 요청 수신을 통해 제1 인증을 실시하고, 상기 제1 인증을 통과하는 경우에 한해서 실행이 계속되는 단계;
    상기 게임 클라이언트는 상기 게임 클라이언트 인증부의 상기 실행 계속에 따른 실행 요청을 수신하여, 상기 실행 요청에 따른 실행과 함께 초기화 신호를 상기 게임 클라이언트 인증부에 전송하는 단계; 및
    상기 게임 클라이언트 인증부는 상기 초기화 신호를 수신시, 게임 시스템으로 제2 인증을 위한 고유 정보를 송신한 뒤 그 응답으로 수신한 제2 인증 결과에 따라 게임 진행 여부를 결정하는 단계;를 포함하며,
    여기서 상기 게임 클라이언트는 DLL 인젝션 방식에 의해, 상기 게임 클라이언트의 실행시 상기 게임 클라이언트 인증부와 송수신할 수 있는 기능을 포함하는 DLL을 로드할 수 있도록 수정된 것을 특징으로 하는 게임 클라이언트 독립적인 게임 인증 제공 방법.
  2. 청구항 1에 있어서,
    상기 게임 클라이언트 인증부와 송수신할 수 있는 기능을 갖는 상기 DLL 내의 함수는 DllMain 내에 기재되어 있는 것을 특징으로 하는 게임 클라이언트 독립적인 게임 인증 제공 방법.
  3. 청구항 1에 있어서,
    상기 게임 클라이언트 인증부의 상기 제1인증은,
    상기 게임 클라이언트 런칭부로부터 실행 요청과 함께 제1 인증 코드를 수신하고,
    상기 제1 인증 코드가 미리 약속된 소정의 코드와 일치하는지를 확인하여,
    상기 코드들이 일치하는 경우에만 인증 통과로 판단하는 것을 특징으로 하는 게임 클라이언트 독립적인 게임 인증 제공 방법.
  4. 청구항 1에 있어서,
    상기 제2 인증을 위한 고유 정보는 사용자 ID 및 MAC 주소(address)를 포함하는 것을 특징으로 하는 게임 클라이언트 독립적인 게임 인증 제공 방법.
  5. 청구항 1에 있어서,
    상기 제2 인증 결과는,
    데이터베이스를 참조하여 상기 고유 정보와 모두 일치되는 정보가 존재하지 않으면 인증 실패를, 모두 일치되는 정보가 존재하면 인증 통과를 나타내는 값으로 상기 게임 시스템에 의해 상기 제2 인증 결과가 도출되는 것을 그 특징으로 하는 게임 클라이언트 독립적인 게임 인증 제공 방법.
  6. 청구항 5에 있어서,
    상기 제2 인증 결과가 인증 통과 값을 갖는 경우 상기 게임 클라이언트 인증부는 상기 게임 시스템으로부터 사용자의 잔여 시간 정보를 더 수신받는 단계; 및
    상기 잔여 시간의 만료시 상기 게임 클라이언트의 실행을 종료시키는 단계;를 더 포함하는 것을 특징으로 하는 게임 클라이언트 독립적인 게임 인증 제공 방법.
  7. 청구항 6에 있어서,
    상기 잔여 시간 정보를 이용한 잔여 시간 만료의 판단은 상기 게임 클라이언트 인증부 또는 상기 게임 시스템에서 이루어지는 것을 특징으로 하는 게임 클라이언트 독립적인 게임 인증 제공 방법.
  8. 청구항 1에 있어서,
    상기 게임 클라이언트 및 상기 게임 클라이언트 인증부는 서로 동작하고 있는지 일정 시간 간격으로 상호 확인하여 상대방이 동작하지 않는 경우 자신의 실행도 종료하는 단계;를 더 포함하는 것을 특징으로 하는 게임 클라이언트 독립적인 게임 인증 제공 방법.
  9. 청구항 8에 있어서,
    상기 상호 동작 여부 확인은 상기 게임 클라이언트 및 상기 게임 클라이언트 인증부가 각자 뮤텍스(mutex)를 생성하는 단계;
    서로의 뮤텍스가 존재하는지 크로스-체크하는 단계;
    상대방의 뮤텍스가 존재하지 않는 경우 상대방이 동작하지 않는다고 판단하는 단계;를 더 포함하는 것을 특징으로 하는 게임 클라이언트 독립적인 게임 인증 제공 방법.
  10. 제 1항 내지 제9항 중 어느 한 항의 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  11. 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템에 있어서,
    게임 클라이언트 런칭부로부터의 실행 요청 수신을 통해 제1 인증을 실시하고, 상기 제1 인증을 통과하는 경우에 한해서 실행이 계속되어 게임 클라이언트의 실행을 요청하며, 실행된 상기 게임 클라이언트의 초기화 신호를 수신하여 게임 시스템으로 제2 인증을 위한 사용자 고유 정보를 송신한 뒤 그 응답으로 수신한 제2 인증 결과에 따라 게임 진행 여부를 결정하는 게임 클라이언트 인증부;와,
    상기 게임 클라이언트 인증부의 상기 실행 계속에 따른 실행 요청을 수신하여, 상기 실행 요청에 따른 실행과 함께 초기화 신호를 상기 게임 클라이언트 인증부에 전송하는 게임 클라이언트;를 포함하고,
    여기서 상기 게임 클라이언트는 DLL 인젝션 방식에 의해, 상기 게임 클라이언트의 실행시 상기 게임 클라이언트 인증부와 송수신할 수 있는 기능을 포함하는 DLL을 로드할 수 있도록 수정된 것을 특징으로 하는 게임 클라이언트 독립적인 게임 인증 제공 시스템.
  12. 청구항 11에 있어서,
    상기 게임 클라이언트 및 상기 게임 클라이언트 인증부는 서로 동작하고 있는지 일정 시간 간격으로 상호 확인하여 상대방이 동작하지 않는 경우 자신의 실행도 종료하는 기능을 더 포함하는 것을 특징으로 하는 게임 클라이언트 독립적인 게임 인증 제공 시스템.
KR1020100038439A 2010-04-26 2010-04-26 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 KR101102855B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100038439A KR101102855B1 (ko) 2010-04-26 2010-04-26 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100038439A KR101102855B1 (ko) 2010-04-26 2010-04-26 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체

Publications (2)

Publication Number Publication Date
KR20110118997A KR20110118997A (ko) 2011-11-02
KR101102855B1 true KR101102855B1 (ko) 2012-01-10

Family

ID=45390630

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100038439A KR101102855B1 (ko) 2010-04-26 2010-04-26 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체

Country Status (1)

Country Link
KR (1) KR101102855B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102203200B1 (ko) * 2019-05-13 2021-01-14 고려대학교 산학협력단 역난독화 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060023711A (ko) * 2004-09-10 2006-03-15 에스케이 텔레콤주식회사 이동통신 단말기에서 어플리케이션 복제 방지 방법
KR20060069966A (ko) * 2004-12-20 2006-06-23 현대자동차주식회사 터보차저의 구동 제어장치 및 그 제어방법
KR20090012244A (ko) * 2006-05-26 2009-02-02 마이크로소프트 코포레이션 클라이언트로부터 서버로 사용자 자격 증명들을 위임하는 방법, 애플리케이션 프로그래밍 인터페이스, 및 클라이언트컴퓨팅 장치
KR20100109472A (ko) * 2009-03-31 2010-10-08 소니 디에이디씨 오스트리아 에이쥐 사용자 장치 상의 보호된 콘텐츠에 접근하기 위한 라이센스를 제공하는 방법, 시스템 및 라이센스 서버와, 소프트웨어 모듈

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060023711A (ko) * 2004-09-10 2006-03-15 에스케이 텔레콤주식회사 이동통신 단말기에서 어플리케이션 복제 방지 방법
KR20060069966A (ko) * 2004-12-20 2006-06-23 현대자동차주식회사 터보차저의 구동 제어장치 및 그 제어방법
KR20090012244A (ko) * 2006-05-26 2009-02-02 마이크로소프트 코포레이션 클라이언트로부터 서버로 사용자 자격 증명들을 위임하는 방법, 애플리케이션 프로그래밍 인터페이스, 및 클라이언트컴퓨팅 장치
KR20100109472A (ko) * 2009-03-31 2010-10-08 소니 디에이디씨 오스트리아 에이쥐 사용자 장치 상의 보호된 콘텐츠에 접근하기 위한 라이센스를 제공하는 방법, 시스템 및 라이센스 서버와, 소프트웨어 모듈

Also Published As

Publication number Publication date
KR20110118997A (ko) 2011-11-02

Similar Documents

Publication Publication Date Title
US11363013B2 (en) Authentication identity management for mobile device applications
US10413819B2 (en) System for providing access to game progress data
US7636783B2 (en) Trial-before-purchase subscription game infrastructure for peer-peer networks
KR101370020B1 (ko) 보안 트랜잭션을 촉진하기 위하여 도메인-특정 보안 샌드박스를 사용하기 위한 시스템 및 방법
US8589517B2 (en) Systems and methods for providing self-compiling, peer-to-peer on-line gaming
US20080220854A1 (en) Method and apparatus for collecting user game play data and crediting users in an online gaming environment
US8533811B2 (en) Developer phone registration
US20080220869A1 (en) Method and apparatus for providing game guide data in a gaming environment
US10463971B2 (en) System and method for validating video gaming data
CN104753944A (zh) 账户安全验证方法和系统
US20080220872A1 (en) Method and apparatus for issuing a challenge prompt in a gaming environment
US10537809B2 (en) System and method for validating video gaming data
JP2013143125A (ja) ネットワーク基盤のプラットフォームシステム
KR101102855B1 (ko) 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
KR101891608B1 (ko) 온라인 게임의 세션을 검증하는 방법 및 시스템
KR20210106859A (ko) 보상들에 의한 점진적 인간 사용자 검출 시도들
JP2014186414A (ja) 管理システム、サーバ装置、端末装置およびコンピュータプログラム
Pham Integration of EOSSDK for game achievements on Epic Games Store
KR102551254B1 (ko) 게임 컨텐츠 공유 체험 서비스 제공 방법 및 이를 위한 컴퓨터 프로그램
JP7178230B2 (ja) ゲームを提供するためのサーバ、方法、及びプログラム
KR20090126500A (ko) 아이템을 이용하여 온라인 게임 및 모바일 게임을 연동하는시스템 및 방법
De Muniategui Climente Game Hacking: Reverse engineering Dofus
KR101699693B1 (ko) 온라인 게임에서 비정상적인 함수 호출을 탐지하는 방법 및 프로그램
KR101366664B1 (ko) 온라인 게임에서의 사용자 인증 방법 및 서버
Eichhorn et al. Well Played, Suspect!–Forensic examination of the handheld gaming console “Steam Deck”

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: 20140925

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150924

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160928

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170928

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190925

Year of fee payment: 9