KR20130101957A - Method for copyright protection of application, apparatus and the computer readable mediim storing the program thereof - Google Patents

Method for copyright protection of application, apparatus and the computer readable mediim storing the program thereof Download PDF

Info

Publication number
KR20130101957A
KR20130101957A KR1020120049319A KR20120049319A KR20130101957A KR 20130101957 A KR20130101957 A KR 20130101957A KR 1020120049319 A KR1020120049319 A KR 1020120049319A KR 20120049319 A KR20120049319 A KR 20120049319A KR 20130101957 A KR20130101957 A KR 20130101957A
Authority
KR
South Korea
Prior art keywords
server
user information
code
user terminal
application
Prior art date
Application number
KR1020120049319A
Other languages
Korean (ko)
Other versions
KR101330210B1 (en
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 숭실대학교산학협력단
Publication of KR20130101957A publication Critical patent/KR20130101957A/en
Application granted granted Critical
Publication of KR101330210B1 publication Critical patent/KR101330210B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • G06Q20/1235Shopping for digital content with control of digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2117User registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management

Abstract

PURPOSE: An apparatus for application copyright protection, a method thereof and a storing medium recorded with the program are provided to block the execution of an application, which is copied illegally in a smart phone, by itself without a specific device, and to enable a software developer or a software development company to manage normal execution or supply of library or update of a smart phone application directly, and to track a user who distributes the application illegally. CONSTITUTION: A first install unit (21) installs an execution code of a program excluding a part of code during initial execution. A download request unit (22) transmits user information to a first server (100), and requests the first server to download a part of code where the user information is inserted. A second install unit (23) supplements the execution code by downloading the partial code including the user information from the first server. A copy unit (24) performs dispersion copy of the user information inserted into the partial code to the execution code after the execution code is supplemented. [Reference numerals] (20) Copyright protection program; (21) First install unit; (22) Download request unit; (23) Second install unit; (24) Copy unit; (25) User information comparison unit

Description

어플리케이션 저작권 보호 장치, 방법 및 그 프로그램을 기록한 저장매체 {Method for copyright protection of application, apparatus and the computer readable mediim storing the program thereof}Apparatus and method for protecting copyright of application and storage medium recording the program {Method for copyright protection of application, apparatus and the computer readable mediim storing the program approximately}

본 발명은 어플리케이션 저작권 보호 장치, 방법 및 그 프로그램을 기록한 저장매체에 관한 것이다.The present invention relates to an application copyright protection apparatus, a method and a storage medium on which the program is recorded.

모바일 단말기를 사용하는 사용자들은 해킹이나 루팅이라 불리는 비정상적인 방법으로 자신의 단말기에 설치된 어플리케이션의 설치파일을 무단으로 복제하여 인터넷 상에 불법 배포하고 있다. 통신사의 어플리케이션 마켓 서버에서 결제하여 사용해야 하는 유료 어플리케이션을 다양한 사용자들이 인터넷에서 다운받아 자신의 단말기에 설치하여 사용되고 있고, 이것은 S/W개발자들에게 엄청난 피해를 주고 있다. Users who use mobile terminals illegally copy the installation files of applications installed on their terminals in an abnormal way called hacking or rooting and illegally distribute them on the Internet. Paid applications, which must be paid and used by the carrier's application market server, are downloaded from the Internet and installed on their terminals, which is causing enormous damage to S / W developers.

이를 막기 위해서 사용자 자신이 구매하지 않은 어플리케이션 설치파일 일 경우 단말기에 설치를 방지할 수 있는 기술이 필요하다. 하지만, 이를 위해 결제하여 다운받은 설치파일을 일일이 추적(tracking)하는 것은 현실적으로 불가능하다는 문제점이 존재한다.In order to prevent this, if the application installation file is not purchased by the user himself, a technology that can prevent installation on the terminal is required. However, there is a problem that it is practically impossible to track the installation file downloaded by payment for this purpose.

종래 기술들은 불법 복제된 파일들을 실행차단 하기 위해서 추가적인 장치가 필요하다. 하지만 이것을 위해서는 단말기의 소프트웨어를 수정하거나 추가적인 장치를 추가하는 것은 효율적이지 않다.Prior arts require additional devices to block illegally copied files. However, for this purpose, it is not efficient to modify the terminal software or add additional devices.

본 발명은 어플리케이션의 설치 파일을 복제하여도 어플리케이션 실행을 불가능하게 할 수 있는 방법, 시스템 및 소프트웨어를 제공한다.The present invention provides a method, system, and software that can make an application impossible to execute even by copying an installation file of the application.

또한, 본 발명은 소프트웨어 개발자가 통신 서비스를 제공하는 통신사에 국한되지 않고 자유롭게 배포된 소프트웨어의 복제를 방지하는 방법, 시스템 및 소프트웨어를 제공한다.In addition, the present invention provides a method, system and software for preventing software developers from copying freely distributed software, without being limited to a telecommunication company that provides a communication service.

본 발명에 따른 컴퓨터로 읽을 수 있는 저장매체에 기록된 저작권 보호 기능을 수행하는 프로그램은 최초 실행시 일부 코드가 제외된 프로그램의 실행코드를 설치하는 제1 인스톨수단; 제1 서버에 사용자 정보를 전송하고, 상기 제1 서버로에 의하여 상기 사용자 정보가 삽입된 상기 일부 코드를 다운로드하도록 요청하는 다운로드 요청수단; 상기 제1 서버로부터 상기 사용자 정보를 포함하는 일부 코드를 다운로드 받아 상기 실행코드를 보완하는 제2 인스톨수단; 및 상기 실행코드의 보완 후 상기 일부 코드에 삽입된 사용자 정보를 상기 실행코드에 분산 복제하는 복제수단;을 포함한다.A program for performing a copyright protection function recorded on a computer-readable storage medium according to the present invention includes: first installation means for installing an execution code of a program in which some code is excluded at the first execution; Download request means for transmitting user information to a first server and requesting to download the partial code into which the user information is inserted by the first server; Second installation means for downloading the partial code including the user information from the first server and supplementing the execution code; And duplicating means for distributing and replicating user information inserted into the partial code into the executable code after the execution code is supplemented.

또한 상기 최초 실행시 제외된 일부 코드는 상기 실행코드로부터 호출되는 라이브러리일 수 있다.In addition, some of the codes excluded from the first execution may be a library called from the execution code.

또한 상기 사용자 정보는 핑거 프린팅 방식으로 상기 일부 코드에 삽입될 수 있다.In addition, the user information may be inserted into the partial code by a finger printing method.

또한 보완된 상기 어플리케이션의 실행 시 상기 어플리케이션에 분산 복제된 사용자 정보와 상기 어플리케이션이 실행되는 사용자 단말기의 사용자 정보를 비교하여 상기 어플리케이션의 계속 실행 및 종료를 결정하는 사용자 정보 비교수단을 더 포함할 수 있다.The method may further include user information comparing means for comparing the user information distributed and replicated in the application with the user information of the user terminal on which the application is executed when the supplementary application is executed, and determining continuous execution and termination of the application. .

한편, 본 발명에 따른 어플리케이션 저작권 보호 장치는 사용자 단말기로부터 어플리케이션의 구매요청을 받아 일부 코드가 제외된 상태의 어플리케이션 실행코드를 포함하는 어플리케이션 저작권 보호 프로그램을 전송하는 제1 서버; 및On the other hand, the application copyright protection device according to the present invention receives a purchase request of the application from the user terminal a first server for transmitting an application copyright protection program including the application execution code in a state in which some code is excluded; And

상기 사용자 단말기로부터 사용자 정보를 전송받고 상기 일부 코드에 대한 다운로드 요청을 받는 경우 상기 일부 코드에 상기 전송된 사용자 정보를 삽입하여 상기 사용자 단말기로 전송하는 제2 서버;를 포함하되,And a second server that receives the user information from the user terminal and downloads the partial code, inserts the transmitted user information into the partial code, and transmits the user information to the user terminal.

상기 어플리케이션 저작권 보호 프로그램은 상기 제2 서버로부터 전송된 상기 일부 코드에 삽입되어 있는 사용자 정보를 상기 실행코드에 분산 저장한다.The application copyright protection program distributes and stores the user information inserted in the partial code transmitted from the second server in the execution code.

또한 상기 제1 서버 및 상기 제2 서버를 동일한 서버로 구축될 수 있다.In addition, the first server and the second server may be built as the same server.

또한 상기 제1 서버는 상기 사용자 단말기로부터 어플리케이션의 구매요청 시 상기 사용자 단말기로부터 사용자 정보를 더 전송 받아 구매내역으로 저장할 수 있다.The first server may further receive user information from the user terminal and store it as a purchase history when a purchase request for an application is made from the user terminal.

나아가 상기 제1 서버는 상기 사용자 단말기로부터 상기 어플리케이션의 업그레이드 요청이 있는 경우 상기 사용자 단말기로부터 전송되는 사용자 정보와 상기 구매내역을 비교하여 상기 업그레이드의 가부를 결정할 수 있다.Further, when there is a request for upgrading of the application from the user terminal, the first server may determine whether to upgrade by comparing the purchase information with the purchase information transmitted from the user terminal.

또한 상기 제1 서버는 상기 사용자 단말기로부터 전송된 사용자 정보를 상기 제2 서버에 전송하고, 상기 제2 서버는 상기 제1 서버로부터 전송된 사용자 정보를 구매 내역으로 저장할 수 있다.The first server may transmit the user information transmitted from the user terminal to the second server, and the second server may store the user information transmitted from the first server as a purchase history.

나아가 상기 제1 서버는 주기적으로 상기 사용자 정보를 상기 제2 서버에 전송할 수 있다.Furthermore, the first server may periodically transmit the user information to the second server.

또한 상기 제2 서버는 상기 사용자 단말기로부터 상기 일부 코드의 다운로드 요청 시에 상기 사용자 단말기로부터 전송되는 사용자 정보와 상기 구매내역에 저장된 사용자 정보를 비교하여 상기 일부 코드의 다운로드 가부를 결정할 수 있다.The second server may determine whether to download the partial code by comparing the user information transmitted from the user terminal with the user information stored in the purchase history when the partial code is requested to be downloaded from the user terminal.

또한 상기 제2 서버는 상기 사용자 단말기로부터 상기 어플리케이션의 업그레이드 요청이 있는 경우 상기 사용자 단말기로부터 전송된는 사용자 정보와 상기 구매내역에 저장된 사용자 정보를 비교하여 상기 업그레이드의 가부를 결정할 수 있다.The second server may determine whether to upgrade by comparing the user information transmitted from the user terminal with the user information stored in the purchase history when there is a request for upgrading the application from the user terminal.

한편, 본 발명에 따른 어플리케이션 저작권 보호 방법은 사용자 단말기가 제1 서버로부터 일부 코드가 제외된 프로그램의 실행코드를 다운로드 받는 제1 단계; 상기 사용자 단말기에서 상기 다운로드 된 실행코드를 실행 시 제2 서버에 사용자 정보를 전송하며 동시에 상기 제외된 일부 코드의 다운로드를 요청하는 제2 단계; 상기 제2 서버가 상기 제외된 일부 코드에 상기 전송된 사용자 정보를 삽입하여 상기 사용자 단말기로 전송하는 제3 단계; 상기 사용자 단말기가 상기 전송된 일부 코드를 이용하여 상기 실행코드를 보완하고, 상기 일부 코드에 삽입된 사용자 정보를 상기 실행코드에 분산 복제하는 제4 단계; 및 상기 보완된 실행코드가 실행되는 경우 상기 실행코드에 분산 복제된 사용자 정보와 상기 보완된 실행코드가 실행되는 사용자 단말기의 사용자 정보를 비교하여 상기 보완된 실행코드의 실행여부를 결정하는 제5 단계;를 포함한다.On the other hand, the application copyright protection method according to the present invention comprises a first step of the user terminal to download the execution code of the program is excluded some code from the first server; A second step of transmitting user information to a second server when the downloaded execution code is executed in the user terminal and requesting the download of the excluded partial code at the same time; A third step of the second server inserting the transmitted user information into the excluded partial code and transmitting the inserted user information to the user terminal; A fourth step of the user terminal supplementing the execution code by using the transmitted partial code and distributing and replicating user information inserted in the partial code into the execution code; And a fifth step of determining whether to execute the supplementary execution code by comparing the user information distributed and copied to the execution code with the user information of the user terminal on which the supplementary execution code is executed when the supplementary execution code is executed. It includes;

또한 상기 제1 단계 이전에 상기 사용자 단말기가 상기 제1 서버에 사용자 정보를 전송하고, 상기 실행코드의 구매를 요청하는 단계를 더 포함할 수 있다.Further, before the first step, the user terminal may further include transmitting user information to the first server and requesting to purchase the execution code.

나아가 상기 제1 단계 이후에 상기 제1 서버가 상기 제2 서버에 상기 실행코드를 다운로드한 사용자 정보를 전송하는 제1a 단계를 더 포함할 수 있다.Furthermore, after the first step, the first server may further include a first step of transmitting user information of downloading the execution code to the second server.

더 나아가 상기 제2 서버는 상기 제1 서버로부터 전송된 실행코드를 다운로드한 사용자 정보와 상기 사용자 단말기로부터 상기 제외된 일부 코드의 다운로드 요청과 함께 전송된 사용자 정보를 비교하여 상기 제3 단계의 수행여부를 결정할 수 있다.Furthermore, the second server compares the user information downloaded from the execution code transmitted from the first server with the user information transmitted along with the download request of the partial code excluded from the user terminal to perform the third step. Can be determined.

또한 상기 제3 단계 이후에 상기 제1 서버가 상기 제2 서버에 상기 실행코드를 다운로드한 사용자 정보를 전송하는 제3a 단계를 더 포함할 수 있다.The method may further include a third step of transmitting, by the first server, user information of downloading the execution code to the second server after the third step.

또한 상기 사용자 단말기는 상기 제2 서버에 사용자 정보를 전송하고, 동시에 상기 보완된 실행코드에 대한 업그레이드를 요청하는 제6 단계; 및 상기 제2 서버가 상기 제1 서버로부터 전송된 실행코드를 다운로드한 사용자 정보와 상기 사용자 단말기로부터 업그레이드 요청과 함께 전송된 사용자 정보를 비교하여 상기 업그레이드의 수행여부를 결정하는 제7 단계를 더 포함할 수 있다.And a sixth step of transmitting, by the user terminal, user information to the second server, and simultaneously requesting an upgrade of the supplementary executable code; And a seventh step in which the second server compares user information downloaded from the first server with execution code transmitted from the first server and user information transmitted with the upgrade request from the user terminal to determine whether to perform the upgrade. can do.

또한 상기 제2 서버가 상기 제외된 일부 코드에 삽입되어 함께 전송된 상기 사용자 정보를 저장하는 제3-1 단계; 상기 사용자 단말기는 상기 제2 서버에 사용자 정보를 전송하고, 동시에 상기 보완된 실행코드에 대한 업그레이드를 요청하는 제6 단계; 및 상기 제2 서버가 상기 제2 서버로부터 일부 코드를 다운로드한 사용자 정보와 상기 제1 서버로부터 전송된 실행코드를 다운로드한 사용자 정보를 비교하여 정상적인 사용자 단말기인지의 여부를 판단하여 사용자 단말기로부터 요청된 상기 업그레이드의 수행여부를 결정하는 제7 단계를 포함할 수 있다.In addition, step 3-1 of the second server is stored in the user information that is inserted in the excluded code and transmitted together; A sixth step of transmitting, by the user terminal, the user information to the second server and requesting an upgrade of the supplemented executable code; And comparing the user information downloading the partial code from the second server with the user information downloading the execution code transmitted from the first server to determine whether the second server is a normal user terminal. And a seventh step of determining whether to perform the upgrade.

본 발명에 따르면, 스마트폰 어플리케이션에 사용자의 핑거 프린팅을 S/W개발자가 직접 삽입하여 사용자에게 제공함으로써 특정한 장치 없이 스마트폰에서 무단으로 복제된 어플리케이션을 자체적으로 실행차단 할 수 있다.According to the present invention, the S / W developer directly inserts the user's finger printing into the smart phone application and provides the user to block the unauthorized application of the smart phone without a specific device.

또한, 본 발명에 따르면 스마트폰 어플리케이션의 정상적인 실행이나 라이브러리의 제공 또는 업데이트의 제공을 통신사가 아닌 소프트웨어 개발자 또는 소프트웨어 개발사가 직접 관리 할 수 있다.In addition, according to the present invention, a software developer or a software developer other than a communication company may directly manage the normal execution of the smartphone application or the provision of the library or the update.

또한 본 발명에 따르면 핑거 프린팅 방식으로 어플리케이션을 구매한 사용자 정보(Subscriber ID)를 해당 어플리케이션에 삽입함으로써 어플리케이션을 불법 배포한 사용자를 추적할 수 있다.In addition, according to the present invention, by inserting user information (Subscriber ID) that purchased the application by a fingerprint printing method into the corresponding application, the user who illegally distributed the application can be tracked.

도 1은 본 발명의 일 실시예에 따른 시스템 구성을 나타내는 블록도이다.
도 2는 일 실시예에 따른 저작권 보호 프로그램을 포함한 시스템 구성을 나타내는 블록도이다.
도 3은 일 실시예에 따른 저작권 보호 프로세스를 나타내는 흐름도이다.
도 4는 사용자 정보 비교 프로세스를 나타내는 순서도이다.
도 5는 다른 실시예에 따른 저작권 보호 프로세스를 나타내는 흐름도이다.
도 6는 다른 실시예에 따른 저작권 보호 프로세스를 나타내는 흐름도이다.
1 is a block diagram showing a system configuration according to an embodiment of the present invention.
2 is a block diagram illustrating a system configuration including a copyright protection program according to an embodiment.
3 is a flow diagram illustrating a copyright protection process according to one embodiment.
4 is a flowchart illustrating a user information comparison process.
5 is a flowchart illustrating a copyright protection process according to another embodiment.
6 is a flowchart illustrating a copyright protection process according to another embodiment.

이하 첨부된 도면을 참조하여 본 발명의 실시예를 설명한다. 특별한 정의나 언급이 없는 경우에 본 설명에 사용하는 방향을 표시하는 용어는 도면에 표시된 상태를 기준으로 한다. 또한 각 실시예를 통하여 동일한 도면부호는 동일한 부재를 가리킨다.
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In the absence of special definitions or references, the terms used in this description are based on the conditions indicated in the drawings. The same reference numerals denote the same members throughout the embodiments.

도 1을 참조하여 본 실시예에 따른 저작권 보호 장치에 포함되는 각 시스템 구성부들을 설명한다. 도 1은 본 발명의 일 실시예에 따른 시스템 구성을 나타내는 블록도이다.Referring to Fig. 1, the respective system components included in the copyright protection device according to the present embodiment will be described. 1 is a block diagram showing a system configuration according to an embodiment of the present invention.

본 실시예에 따른 저작권 보호 시스템은 도 1에 도시된 바와 같이 제1 서버(100), 제2 서버(200) 및 사용자 단말기들(10a, 10b)을 포함한다. 제2 서버(200)는 각 사용자 단말기들(10a, 10b)의 요청에 따라 어플리케이션의 다운로드를 제공하는 서버이다. 예를 들어 각종 스마트폰에 제공하는 어플리케이션 마켓 서버가 이에 해당할 수 있다. 제1 서버(100)는 소프트웨어 개발자 서버와 같이 각 사용자 단말기들(10a, 10b)에게 제공되는 어플리케이션을 보완할 수 있는 라이브러리 등 일부 코드를 제공하는 기능을 한다. 제1 서버(100)와 제2 서버(200)는 기능 상의 구분을 위한 것으로서, 반드시 독립적인 서버로 구현되어야 한다는 것을 의미하는 것은 아니다. 즉, 제1 서버(100)와 제2 서버(200)는 하나의 서버로 구현될 수 있을 뿐 아니라 세부적인 기능으로 구분되어 둘 이상의 서버로 구현되는 것도 가능하다. 이하에서는 각 구성부들에 대하여 상세하게 설명한다.
The copyright protection system according to the present embodiment includes a first server 100, a second server 200, and user terminals 10a and 10b as shown in FIG. 1. The second server 200 is a server that provides a download of an application at the request of each of the user terminals 10a and 10b. For example, an application market server provided to various smart phones may correspond to this. The first server 100 functions to provide some code such as a library that can complement an application provided to each of the user terminals 10a and 10b, such as a software developer server. The first server 100 and the second server 200 are for functional separation, and do not necessarily mean that they must be implemented as independent servers. That is, the first server 100 and the second server 200 may not only be implemented as one server but also divided into detailed functions and implemented as two or more servers. Hereinafter, each component will be described in detail.

도 2를 참조하여 저작권 보호 소프트웨어 및 각 구성부의 기능을 설명한다. 도 2는 일 실시예에 따른 저작권 보호 프로그램을 포함한 시스템 구성을 나타내는 블록도이다.With reference to FIG. 2, the functions of copyright protection software and each component are demonstrated. 2 is a block diagram illustrating a system configuration including a copyright protection program according to an embodiment.

저작권 보호 프로그램(20)은 사용자 단말기(10)로부터의 요청에 따라 제2 서버(200)로부터 사용자 단말기(10)로 다운로드 된다. 저작권 보호 프로그램(20)은 제1 인스톨 수단(21), 다운로드 요청수단(22), 제2 인스톨수단(23), 복제수단(24) 및 사용자정보 비교수단(25)을 포함한다.The copyright protection program 20 is downloaded from the second server 200 to the user terminal 10 in response to a request from the user terminal 10. The copyright protection program 20 includes a first installation means 21, a download request means 22, a second installation means 23, a copying means 24, and a user information comparing means 25.

제1 인스톨수단(21)은 어플리케이션의 일부 코드가 제외된 상태의 실행코드를 포함하고 있으며, 일부 코드가 제외된 상태의 실행코드는 사용자 단말기(10)의 오퍼레이팅 시스템 등에 의하여 사용자 단말기(10)에 설치된다. 이 때 제외된 일부 코드는 실행코드 중 임의의 일부분이 될 수 있으나, 이 후의 다운로드 및 업데이트의 용이성에 비추어 실행코드 중 특정 기능의 단위를 나타내는 라이브러리를 단위로 할 수 있다. 즉, 실행코드 중 하나 또는 둘 이상의 라이브러리를 실행코드로부터 제외시키고 사용자 단말기(10)로 다운로드 될 수 있다. 이하에서는 편의를 위하여 일부 코드의 단위로서 라이브러리를 이용하여 설명한다.The first installation means 21 includes execution code in which some code of the application is excluded, and the execution code in the state in which some code is excluded is transmitted to the user terminal 10 by the operating system of the user terminal 10 or the like. Is installed. At this time, some of the excluded code may be any part of the executable code, but in view of the ease of download and update thereafter, the code may be a unit representing a unit of a specific function of the executable code. That is, one or more libraries of the executable code may be excluded from the executable code and downloaded to the user terminal 10. In the following description, a library is used as a unit of some codes for convenience.

특정 라이브러리가 제외된 상태의 실행코드가 설치된 상태로는 정상적인 어플리케이션의 수행이 불가능하다. 특정 라이브러리가 제외된 상태의 실행코드가 최초로 실행되면, 다운로드 요청수단(22)이 제1 서버(100)에 실행코드에서 제외된 특정 라이브러리의 다운로드를 요청한다. 구체적으로 다운로드 요청수단(22)은 사용자 단말기(10)로부터 사용자 정보를 획득하고, 라이브러리의 다운로드 요청 시에 사용자 정보를 함께 제1 서버(100)로 전송한다. 제2 인스톨수단(23)은 다운로드 요청수단(22)이 요청하여 제1 서버(100)로부터 전송된 라이브러리를 이용하여 상술한 실행코드를 보완하여 온전한 어플리케이션이 설치되도록 하는 기능을 수행한다. 이 때 제2 인스톨수단(23)은 저작권 보호 프로그램(20)에 포함되는 것으로 기재되었으나, 사용자 단말기(10)의 오퍼레이팅 시스템에 의하여 수행되는 것도 가능하다. 즉, 제2 인스톨수단(23)이 수행하는 기능은 사용자 단말기 자신이 어플리케이션을 수정하는 자가수정 코드(Self-Modifying Code)에 의하여 달성될 수 있다. 자가수정 코드란 코드가 실행되는 도중에 자신의 명령어를 변경함으로써 특정 기능을 수행하거나 유사한 코드를 줄이고 성능을 향상시켜주는 기법이다. 본 발명에서는 자가수정 기법을 이용하여 어플리케이션 실행파일 전체에 핑거프린팅 형태로 되어있는 사용자 정보를 간단하게 복사 및 삽입할 수 있다.
It is impossible to execute normal applications with the executable code installed with the specific library excluded. When the execution code of the state in which the specific library is excluded is first executed, the download requesting means 22 requests the first server 100 to download the specific library excluded from the execution code. In detail, the download requesting means 22 obtains user information from the user terminal 10, and transmits the user information to the first server 100 together with the download request of the library. The second installation means 23 performs a function of installing the complete application by supplementing the above-described execution code by using the library requested by the download request means 22 and transmitted from the first server 100. In this case, although the second installation means 23 is described as being included in the copyright protection program 20, it may be performed by the operating system of the user terminal 10. That is, the function performed by the second installation means 23 may be achieved by a self-modifying code in which the user terminal itself modifies the application. Self-modifying code is a technique that modifies its instructions while code is running to perform certain functions or reduce similar code and improve performance. In the present invention, the user information, which is in the form of fingerprinting, can be easily copied and inserted into the entire application execution file using the self-correction technique.

복제수단(24)은 다운로드된 라이브러리로 실행코드를 보완한 후에 라이브러리에 삽입되어 있던 사용자 정보를 실행코드에 전체에 분산 복제한다. 복제수단(24)에 의하여 사용자 정보가 실행코드 전체에 분산 저장됨으로써 일부가 파손되는 경우라도 삽입 당시의 사용자 정보를 용이하게 추출할 수 있다.The copying means 24 supplements the execution code with the downloaded library and distributes and copies the user information inserted in the library in the execution code. By copying means 24, the user information is distributed and stored throughout the execution code, so that even if a part is damaged, the user information at the time of insertion can be easily extracted.

사용자 정보 비교수단(25)은 실행코드의 보완 후 어플리케이션이 실행되는 경우 어플리케이션에 분산 복제된 사용자 정보와 어플리케이션이 실행되는 사용자 단말기(10)로부터 획득한 사용자 정보를 비교한 후 어플리케이션의 계속 실행 및 종료를 결정한다. 예를들어, 어플리케이션에 분산 복제된 사용자 정보와 어플리케이션이 실행되는 사용자 단말기(10)로부터 획득된 사용자 정보가 동일한 경우에는 어플리케이션이 정상적으로 실행되도록 하고, 동일하지 않은 경우에는 어플리케이션을 비정상적인 것으로 판단하여 종료시킬 수 있다.
When the application is executed after the execution code is supplemented, the user information comparing means 25 compares the user information distributed from the application to the user information obtained from the user terminal 10 on which the application is executed, and then continues executing and terminating the application. Determine. For example, if the user information distributed and replicated in the application and the user information obtained from the user terminal 10 on which the application is executed are identical, the application is executed normally. If not, the application is determined to be abnormal and terminated. Can be.

제2 서버(200)는 사용자 단말기(10)로부터 어플리케이션의 구매요청을 받아 라이브러리 등 일부 코드가 제외된 상태의 어플리케이션 실행코드를 포함하는 어플리케이션 저작권 보호 프로그램(20)을 사용자 단말기(10)에 전송한다. 또한 제2 서버(200)는 사용자 단말기(10)로부터 어플리케이션의 구매요청을 받는 경우 해당 사용자 단말기(10)의 사용자 정보를 함께 전송받아 구매내역으로서 저장할 수 있으며, 저장된 구매내역을 주기적으로 또는 특정 시기에 제1 서버(100)에 전송할 수 있다. 다만, 제2 서버(200)와 제1 서버(100)가 동일 서버로 구축되는 경우에는 제2 서버(200)가 저장한 구매 내역에 제1 서버(100)가 접근 가능하도록 개방시키는 것으로 충분하다.
The second server 200 receives an application purchase request from the user terminal 10 and transmits an application copyright protection program 20 including the application execution code in which some codes such as a library is excluded to the user terminal 10. . In addition, when the second server 200 receives a purchase request of an application from the user terminal 10, the second server 200 may receive the user information of the corresponding user terminal 10 and store it as a purchase history, and periodically or at a specific time. May be transmitted to the first server 100. However, when the second server 200 and the first server 100 are built as the same server, it is sufficient to open the first server 100 to access the purchase history stored by the second server 200. .

제1 서버(100)는 사용자 단말기(10)로부터 사용자 정보를 전송 받으면서 실행코드에서 제외된 라이브러리에 대한 다운로드 요청을 받는 경우 이에 대응하여 해당 라이브러리를 사용자 단말기(10)로 전송한다. 구체적으로 제1 서버(100)는 라이브러리의 다운로드 요청 시 함께 전송된 사용자 정보를 해당 라이브러리에 삽입하여 사용자 단말기(10)로 전송한다. 이 때 사용자 정보는 핑거 프린팅 방식으로 해당 라이브러리에 삽입될 수 있다. 한편, 사용자 단말기(10)에서 라이브러리를 다운로드 받은 이후에 핑거프린팅을 삽입하는 것도 가능하나, 핑거 프린팅을 암호화 하는 과정은 계산량이 많아 시간이 오래 걸리고 파워의 소비가 심하므로 서버에서 담당하는 것이 바람직하다. 한편, 핑거프린팅의 삽입은 통신사 마켓 서버와 소프트웨어 개발자 서버가 제공해 줄 수 있다. 하지만, 어플리케이션 마켓 서버에서 이를 제공하는 않는 경우에도 소프트웨어 개발자 서버에서 핑거프린팅을 삽입할 수 있는 기술을 제공함으로 자유롭게 본 발명을 실시할 수 있도록 한다.
When the first server 100 receives user information from the user terminal 10 and receives a download request for a library excluded from the execution code, the first server 100 transmits the corresponding library to the user terminal 10 in response thereto. In detail, the first server 100 inserts user information transmitted together with the library's download request into the library and transmits the user information to the user terminal 10. In this case, the user information may be inserted into the corresponding library by a fingerprint printing method. On the other hand, it is also possible to insert fingerprinting after the library is downloaded from the user terminal 10, but the process of encrypting fingerprint printing takes a long time and consumes a lot of power because of a large amount of calculation, and therefore it is preferable to be in charge of the server. . On the other hand, the insertion of the fingerprinting may be provided by the carrier market server and the software developer server. However, even when the application market server does not provide it, the software developer server can provide a technology for inserting fingerprinting so that the present invention can be freely implemented.

또한 제1 서버(100)는 사용자 단말기(10)로부터 업그레이드 요청이 있는 경우 해당 업그레이드 요청에 대응하는 업데이트용 어플리케이션이나 라이브러리를 전송할 수 있다. 이 때 제1 서버(100)는 업그레이드 요청 시 사용자 단말기(10)로부터 사용자 정보를 전달받아 업그레이드의 가부를 결정할 수 있다. 이 때 사용자 단말기(10)로부터 전송된 사용자 정보와 비교하는 데이터로는 두 가지가 이용될 수 있다. 먼저, 제2 서버(200)가 저장한 구매 내역과 사용자 단말기(10)로부터 전송된 사용자 정보를 비교하여 정상적인 사용자 또는 어플리케이션인지의 여부를 판단할 수 있다. 다음으로는 제2 서버(200)가 저장한 구매 내역과 제1 서버(10)로부터 라이브러리 등을 다운로드 한 사용자의 사용자 정보를 비교하여 정상적인지 여부, 즉 해당 어플리케이션을 구매하여 사용할 정당한 권리가 있는지 여부를 먼저 판단할 수 있다. 이 후 사용자 단말기(10)로부터 업데이트의 요청이 있는 경우 함께 전송된 사용자 정보가 비정상적인 사용자로서 판단되어 있는지를 조회한 후 업데이트의 가부를 결정할 수 있다.
In addition, when there is an upgrade request from the user terminal 10, the first server 100 may transmit an update application or library corresponding to the upgrade request. In this case, the first server 100 may determine whether to upgrade by receiving user information from the user terminal 10 when an upgrade request is made. In this case, two types of data may be used as data to be compared with the user information transmitted from the user terminal 10. First, the purchase history stored in the second server 200 may be compared with the user information transmitted from the user terminal 10 to determine whether the user is a normal user or an application. Next, the purchase history stored by the second server 200 is compared with the user information of the user who downloaded the library, etc. from the first server 10, or is it normal, that is, whether there is a legitimate right to purchase and use the corresponding application. Can be judged first. Thereafter, if there is a request for update from the user terminal 10, the user information transmitted together may be checked whether it is determined that the user is an abnormal user, and then the availability of the update may be determined.

도 3 및 도 4를 참조하여 일 실시예에 따른 저작권 보호 프로세스를 설명한다. 도 3은 일 실시예에 따른 저작권 보호 프로세스를 나타내는 흐름도이고, 도 4는 사용자 정보 비교 프로세스를 나타내는 순서도이다.A copyright protection process according to an embodiment will be described with reference to FIGS. 3 and 4. 3 is a flowchart illustrating a copyright protection process according to an embodiment, and FIG. 4 is a flowchart illustrating a user information comparison process.

먼저, 제1 사용자 단말기가 제2 서버에 사용자 정보를 전송하고, 어플리케이션의 구매를 요청한다. 다음으로 제1 사용자 단말기가 제2 서버에서 제공하는 어플리케이션 중 특정 라이브러리가 제외된 실행코드를 포함하는 저작권 보호 프로그램을 다운로드 한다. 앞서 설명한 바와 같이 특정 라이브러리가 제외된 실행코드를 설치하고 실행하는 경우 제1 사용자 단말기로부터 제1 서버로 사용자 정보를 전송하고 동시에 제외된 특정 라이브러리를 다운로드 하도록 요청한다. 제1 서버는 전송된 사용자 정보를 핑커 프린팅 형태로 삽입한 라이브러리를 제1 사용자 단말기가 다운로드 하도록 제공한다. 라이브러리가 다운로드 되면 이를 이용하여 온전하게 실행가능한 어플리케이션으로 보완 설치하고, 라이브러리에 포함된 사용자 정보를 어플리케이션 전체에 분산 복제한다.First, a first user terminal transmits user information to a second server and requests a purchase of an application. Next, the first user terminal downloads a copyright protection program including executable code from which a specific library is excluded among applications provided by the second server. As described above, when installing and executing the execution code excluding the specific library, the user information is transmitted from the first user terminal to the first server and requested to download the excluded specific library at the same time. The first server provides the first user terminal to download the library in which the transmitted user information is inserted in the form of pinker printing. When the library is downloaded, it is supplemented with a fully executable application, and the user information contained in the library is distributed and copied throughout the application.

한편, 제2 사용자 단말기가 제1 사용자 단말기가 정상적으로 구입한 어플리케이션을 불법으로 복제하는 경우를 가정한다. 이 때 불법 복제의 시기는 둘로 나눌 수 있다. 일부 라이브러리가 제외된 상태로 실행코드가 다운로드된 이후(T1) 불법 복제하는 경우와 라이브러리가 보완되고, 정상적인 사용자 정보가 어플리케이션 전체에 분산 복제된 이후(T2)에 불법복제하는 경우를 가정할 수 있다.On the other hand, it is assumed that the second user terminal illegally duplicates the application normally purchased by the first user terminal. At this time, the period of piracy can be divided into two. It can be assumed that illegal copying is performed after the execution code is downloaded (T1) with some libraries excluded, and that the library is supplemented and normal user information is distributed after being distributed and copied throughout the application (T2). .

먼저 T2 시기에 불법복제가 이루어지고 이를 제2 사용자 단말기에서 실행하는 경우에는 도 3에 도시된 바와 같이 사용자 정보를 비교 프로세스를 수행하게 된다. 도 4를 참조하여 설명하면, 먼저 사용자 단말기의 사용자 정보를 취득(S10)하고, 이를 어플리케이션 내에 분산 복제되어 있는 사용자 정보와 비교한다(S20). 이 때 두 사용자 정보가 일치하면 어플리케이션이 정상적으로 실행되나, 일치하지 않으면 어플리케이션의 실행을 차단하고 종료시키게 된다. 제2 사용자 단말기의 경우 어플리케이션 내에 분산 복제되어 있는 사용자 정보는 제1 사용자 단말기의 사용자 정보가 되므로 어플리케이션의 실행이 차단 및 종료된다.First, when illegal copying is performed at the time of T2 and executed in the second user terminal, a comparison process is performed as shown in FIG. 3. Referring to FIG. 4, first, user information of a user terminal is acquired (S10), and it is compared with user information distributed and replicated in an application (S20). At this time, if the two user information is matched, the application will run normally. If not, the application will be blocked and terminated. In the case of the second user terminal, since the user information distributed and replicated in the application becomes the user information of the first user terminal, execution of the application is blocked and terminated.

다만, 첫 번째 경우와 같이 T1의 시기에 어플리케이션이 복제되는 경우에는 아직 제2 사용자 단말기가 제2 사용자 단말기의 사용자 정보를 이용하여 라이브러리를 다운로드 받아 정상적으로 이용할 수 있으므로 이에 대한 추가적인 대책이 필요하다.
However, when the application is duplicated at the time of T1 as in the first case, since the second user terminal may still download the library using the user information of the second user terminal and use it normally, additional measures are required.

도 5 및 도 6을 참조하여 다른 실시예에 따른 저작권 보호 프로세스를 설명한다. 도 5는 다른 실시예에 따른 저작권 보호 프로세스를 나타내는 흐름도이고, 도 6는 다른 실시예에 따른 저작권 보호 프로세스를 나타내는 흐름도이다.A copyright protection process according to another embodiment will be described with reference to FIGS. 5 and 6. 5 is a flowchart illustrating a copyright protection process according to another embodiment, and FIG. 6 is a flowchart illustrating a copyright protection process according to another embodiment.

본 실시예에서는 도 3의 실시예에서 설명한 바와 같이 T1 시기에 불법복제가 이루어지는 경우에 대한 추가적인 보호 프로세스에 관한 것이다. 도 5에 도시된 바와 같이 제2 서버가 제1 사용자 단말기가 구매요청한 일부 어플리케이션 코드를 포함하는 저작권 보호 프로그램을 제공한 경우에 이를 구매내역으로 저장하고, 제1 서버로 해당 구매내역, 즉 정상적으로 구매한 사용자의 정보를 제1 서버에 제공한다. 이 경우 정상적으로 어플리케이션을 구매한 제1 사용자 단말기의 경우에는 라이브러리 요청시 전송하는 사용자 정보(5)와 제2 서버로부터 제1 서버에 제공된 사용자 정보(3)가 일치하게 되므로 정상적으로 라이브러리를 다운로드 받을 수 있다(7). 그러나 불법적으로 T1의 시기에 어플리케이션을 다운로드한 제2 사용자 단말기의 경우 최초 실행시(9) 제1 서버에 라이브러리의 다운로드를 위하여 사용자 정보를 전송하나, 전송된 사용자 정보(10)와 제2 서버로부터 제1 서버에 전송된 사용자 정보(3)가 상이하게 되므로 정상적으로 라이브러리를 제공받지 못한다.In this embodiment, as described in the embodiment of FIG. 3, the present invention relates to an additional protection process for the case where illegal copying is performed at the time of T1. As shown in FIG. 5, when the second server provides a copyright protection program including some application codes requested by the first user terminal, the second server stores the copyright protection program as a purchase history and purchases the purchase details, that is, normally purchases, to the first server. Provide information of one user to the first server. In this case, in the case of the first user terminal which normally purchased the application, since the user information (5) transmitted when the library request and the user information (3) provided from the second server to the first server match, the library can be downloaded normally. (7). However, in case of the second user terminal illegally downloading the application at the time of T1, the user information is transmitted to the first server for download of the library at the first execution (9), but from the transmitted user information 10 and the second server. Since the user information 3 transmitted to the first server is different, the library is not normally provided.

한편, 제2 서버로부터 제1 서버로 구매내역의 제공이 늦어지는 경우가 발생할 수 있다. 즉 도 6에 도시된 바와 같이 제2 서버로부터 제1 서버로의 구매내역의 전송(13)이 제2 사용자 단말기가 라이브러리를 제공(11)받고 난 이후에 이루어 질 수 있다. 이 경우에는 1차적으로 제2 사용자 단말기에서 해당 어플리케이션의 정상적인 동작이 가능하나, 사용자 정보(구매 내역)가 제2 서버로부터 제1 서버로 제공된 이후에는 어플리케이션 자체 또는 일부 라이브러리에 대한 업데이트 요청 시 사용자 정보를 비교(15)함으로써 업데이트를 제공하지 않을 수 있다.On the other hand, there may occur a case in which the purchase history is delayed from the second server to the first server. That is, as shown in FIG. 6, the transmission 13 of the purchase history from the second server to the first server may be performed after the second user terminal receives the library 11. In this case, the second application may be normally operated by the second user terminal, but after user information (purchase history) is provided from the second server to the first server, the user information may be requested when updating the application itself or some libraries. Compare 15 may not provide an update.

또한 앞서 설명한 바와 같이 제2 서버로부터 제1 서버로 구매 내역이 전송된 이후에 제1 서버가 미리 불법적인 다운로드로 의심될 수 있는 라이브러리의 다운로드(11)를 확인한 후 제2 사용자 단말기가 업데이트를 요청할 경우 이를 거절할 수 있다.
In addition, as described above, after the purchase history is transmitted from the second server to the first server, the second user terminal requests an update after the first server checks the download 11 of the library that may be suspected as an illegal download in advance. You can refuse it.

이상 본 발명의 바람직한 실시예에 대하여 설명하였으나, 본 발명의 기술적 사상이 상술한 바람직한 실시예에 한정되는 것은 아니며, 특허청구범위에 구체화된 본 발명의 기술적 사상을 벗어나지 않는 범주에서 다양한 어플리케이션 저작권 보호 장치, 방법 및 그 프로그램을 기록한 저장매체로 구현될 수 있다.
Although the preferred embodiments of the present invention have been described above, the technical idea of the present invention is not limited to the above-described preferred embodiments, and various application copyright protection devices in a range not departing from the technical idea of the present invention specified in the claims. The present invention may be implemented as a storage medium recording a method, and a program thereof.

10, 10a, 10b: 사용자 단말기
20: 저작권 보호 프로그램 21: 제1 인스톨 수단
22: 다운로드 요청수단 23: 제2 인스톨 수단
24: 복제수단 25: 사용자정보 비교수단
100: 제1 서버 200: 제2 서버
10, 10a, 10b: user terminal
20: Copyright Protection Program 21: First Installation Means
22: Download request means 23: Second installation means
24: means for copying 25: means for comparing user information
100: first server 200: second server

Claims (19)

최초 실행시 일부 코드가 제외된 프로그램의 실행코드를 설치하는 제1 인스톨수단;
제1 서버에 사용자 정보를 전송하고, 상기 제1 서버로에 의하여 상기 사용자 정보가 삽입된 상기 일부 코드를 다운로드하도록 요청하는 다운로드 요청수단;
상기 제1 서버로부터 상기 사용자 정보를 포함하는 일부 코드를 다운로드 받아 상기 실행코드를 보완하는 제2 인스톨수단; 및
상기 실행코드의 보완 후 상기 일부 코드에 삽입된 사용자 정보를 상기 실행코드에 분산 복제하는 복제수단;를 포함하는 저작권 보호 기능을 수행하는 프로그램을 기록한 저장매체.
First installation means for installing an execution code of a program in which some code is excluded during initial execution;
Download request means for transmitting user information to a first server and requesting to download the partial code into which the user information is inserted by the first server;
Second installation means for downloading the partial code including the user information from the first server and supplementing the execution code; And
And copying means for distributing and copying user information inserted into the partial code into the execution code after the execution code is supplemented.
제1항에 있어서,
상기 최초 실행시 제외된 일부 코드는 상기 실행코드로부터 호출되는 라이브러리인 저작권 보호 기능을 수행하는 프로그램을 기록한 저장매체.
The method of claim 1,
And a part of the code excluded from the first execution is a library for executing a copyright protection function, which is a library called from the execution code.
제1항에 있어서,
상기 사용자 정보는 핑거 프린팅 방식으로 상기 일부 코드에 삽입된 저작권 보호 기능을 수행하는 프로그램을 기록한 저장매체.
The method of claim 1,
The user information is a storage medium recording a program for performing a copyright protection function embedded in the partial code by a fingerprint printing method.
제1항에 있어서,
보완된 상기 어플리케이션의 실행 시 상기 어플리케이션에 분산 복제된 사용자 정보와 상기 어플리케이션이 실행되는 사용자 단말기의 사용자 정보를 비교하여 상기 어플리케이션의 계속 실행 및 종료를 결정하는 사용자 정보 비교수단을 포함하는 저작권 보호 기능을 수행하는 프로그램을 기록한 저장매체.
The method of claim 1,
A copyright protection function including user information comparing means for comparing the user information distributed and replicated in the application with the user information of the user terminal on which the application is executed and executing and terminating the application when the supplementary application is executed. Storage medium that records the program being run.
사용자 단말기로부터 어플리케이션의 구매요청을 받아 일부 코드가 제외된 상태의 어플리케이션 실행코드를 포함하는 어플리케이션 저작권 보호 프로그램을 전송하는 제1 서버; 및
상기 사용자 단말기로부터 사용자 정보를 전송받고 상기 일부 코드에 대한 다운로드 요청을 받는 경우 상기 일부 코드에 상기 전송된 사용자 정보를 삽입하여 상기 사용자 단말기로 전송하는 제2 서버;를 포함하되,
상기 어플리케이션 저작권 보호 프로그램은 상기 제2 서버로부터 전송된 상기 일부 코드에 삽입되어 있는 사용자 정보를 상기 실행코드에 분산 저장하는 어플리케이션 저작권 보호 장치.
A first server receiving an application purchase request from a user terminal and transmitting an application copyright protection program including an application execution code in which some codes are excluded; And
And a second server that receives the user information from the user terminal and downloads the partial code, inserts the transmitted user information into the partial code, and transmits the user information to the user terminal.
The application copyright protection program is an application copyright protection device for storing the user information embedded in the partial code transmitted from the second server in the execution code.
제5항에 있어서,
상기 제1 서버 및 상기 제2 서버를 동일한 서버로 구축되는 어플리케이션 저작권 보호 장치.
The method of claim 5,
The apparatus of claim 1, wherein the first server and the second server are configured as the same server.
제5항에 있어서,
상기 제1 서버는 상기 사용자 단말기로부터 어플리케이션의 구매요청 시 상기 사용자 단말기로부터 사용자 정보를 더 전송 받아 구매내역으로 저장하는 어플리케이션 저작권 보호 장치.
The method of claim 5,
And the first server further receives user information from the user terminal and stores the purchased information as a purchase history when a purchase request of the application is made from the user terminal.
제7항에 있어서,
상기 제1 서버는 상기 사용자 단말기로부터 상기 어플리케이션의 업그레이드 요청이 있는 경우 상기 사용자 단말기로부터 전송되는 사용자 정보와 상기 구매내역을 비교하여 상기 업그레이드의 가부를 결정하는 어플리케이션 저작권 보호 장치.
The method of claim 7, wherein
The first server compares the user information transmitted from the user terminal and the purchase history when there is a request for the upgrade of the application from the user terminal to determine whether to upgrade or not.
제7항에 있어서,
상기 제1 서버는 상기 사용자 단말기로부터 전송된 사용자 정보를 상기 제2 서버에 전송하고, 상기 제2 서버는 상기 제1 서버로부터 전송된 사용자 정보를 구매 내역으로 저장하는 어플리케이션 저작권 보호 장치.
The method of claim 7, wherein
The first server transmits the user information transmitted from the user terminal to the second server, the second server stores the user information transmitted from the first server as a purchase history.
제9항에 있어서,
상기 제1 서버는 주기적으로 상기 사용자 정보를 상기 제2 서버에 전송하는 어플리케이션 저작권 보호 장치.
10. The method of claim 9,
And the first server periodically transmits the user information to the second server.
제9항에 있어서,
상기 제2 서버는 상기 사용자 단말기로부터 상기 일부 코드의 다운로드 요청 시에 상기 사용자 단말기로부터 전송되는 사용자 정보와 상기 구매내역에 저장된 사용자 정보를 비교하여 상기 일부 코드의 다운로드 가부를 결정하는 어플리케이션 저작권 보호 장치.
10. The method of claim 9,
And the second server determines whether to download the partial code by comparing the user information transmitted from the user terminal with the user information stored in the purchase history when the user terminal downloads the partial code from the user terminal.
제9항에 있어서,
상기 제2 서버는 상기 사용자 단말기로부터 상기 어플리케이션의 업그레이드 요청이 있는 경우 상기 사용자 단말기로부터 전송된는 사용자 정보와 상기 구매내역에 저장된 사용자 정보를 비교하여 상기 업그레이드의 가부를 결정하는 어플리케이션 저작권 보호 장치.
10. The method of claim 9,
And the second server compares the user information transmitted from the user terminal with the user information stored in the purchase history when the upgrade request of the application is received from the user terminal, and determines whether to upgrade the application.
사용자 단말기가 제1 서버로부터 일부 코드가 제외된 프로그램의 실행코드를 다운로드 받는 제1 단계;
상기 사용자 단말기에서 상기 다운로드 된 실행코드를 실행 시 제2 서버에 사용자 정보를 전송하며 동시에 상기 제외된 일부 코드의 다운로드를 요청하는 제2 단계;
상기 제2 서버가 상기 제외된 일부 코드에 상기 전송된 사용자 정보를 삽입하여 상기 사용자 단말기로 전송하는 제3 단계;
상기 사용자 단말기가 상기 전송된 일부 코드를 이용하여 상기 실행코드를 보완하고, 상기 일부 코드에 삽입된 사용자 정보를 상기 실행코드에 분산 복제하는 제4 단계; 및
상기 보완된 실행코드가 실행되는 경우 상기 실행코드에 분산 복제된 사용자 정보와 상기 보완된 실행코드가 실행되는 사용자 단말기의 사용자 정보를 비교하여 상기 보완된 실행코드의 실행여부를 결정하는 제5 단계;를 포함하는 어플리케이션 저작권 보호 방법.
A first step of the user terminal downloading an execution code of a program in which some codes are excluded from the first server;
A second step of transmitting user information to a second server when the downloaded execution code is executed in the user terminal and requesting the download of the excluded partial code at the same time;
A third step of the second server inserting the transmitted user information into the excluded partial code and transmitting the inserted user information to the user terminal;
A fourth step of the user terminal supplementing the execution code by using the transmitted partial code and distributing and replicating user information inserted in the partial code into the execution code; And
A fifth step of determining whether to execute the supplementary execution code by comparing the user information distributed and copied to the execution code with the user information of the user terminal on which the supplementary execution code is executed when the supplementary execution code is executed; Application copyright protection method comprising a.
제13항에 있어서,
상기 제1 단계 이전에 상기 사용자 단말기가 상기 제1 서버에 사용자 정보를 전송하고, 상기 실행코드의 구매를 요청하는 단계를 더 포함하는 어플리케이션 저작권 보호 방법.
The method of claim 13,
And transmitting, by the user terminal, user information to the first server before the first step, and requesting the purchase of the execution code.
제14항에 있어서,
상기 제1 단계 이후에 상기 제1 서버가 상기 제2 서버에 상기 실행코드를 다운로드한 사용자 정보를 전송하는 제1a 단계를 더 포함하는 어플리케이션 저작권 보호 방법.
15. The method of claim 14,
And a first step of transmitting, by the first server, user information of downloading the execution code to the second server after the first step.
제15항에 있어서,
상기 제2 서버는 상기 제1 서버로부터 전송된 실행코드를 다운로드한 사용자 정보와 상기 사용자 단말기로부터 상기 제외된 일부 코드의 다운로드 요청과 함께 전송된 사용자 정보를 비교하여 상기 제3 단계의 수행여부를 결정하는 어플리케이션 저작권 보호 방법.
16. The method of claim 15,
The second server determines whether to perform the third step by comparing the user information downloaded the execution code transmitted from the first server with the user information transmitted together with the download request of the partial code excluded from the user terminal. Application copyright protection method.
제14항에 있어서,
상기 제3 단계 이후에 상기 제1 서버가 상기 제2 서버에 상기 실행코드를 다운로드한 사용자 정보를 전송하는 제3a 단계를 더 포함하는 어플리케이션 저작권 보호 방법.
15. The method of claim 14,
And a third step of transmitting, by the first server, user information of downloading the execution code to the second server after the third step.
제17항에 있어서,
상기 사용자 단말기는 상기 제2 서버에 사용자 정보를 전송하고, 동시에 상기 보완된 실행코드에 대한 업그레이드를 요청하는 제6 단계; 및
상기 제2 서버가 상기 제1 서버로부터 전송된 실행코드를 다운로드한 사용자 정보와 상기 사용자 단말기로부터 업그레이드 요청과 함께 전송된 사용자 정보를 비교하여 상기 업그레이드의 수행여부를 결정하는 제7 단계를 포함하는 어플리케이션 저작권 보호 방법.
18. The method of claim 17,
A sixth step of transmitting, by the user terminal, the user information to the second server and requesting an upgrade of the supplemented executable code; And
And a seventh step of the second server comparing the user information downloaded the execution code transmitted from the first server with the user information transmitted with the upgrade request from the user terminal and determining whether to perform the upgrade. Copyright protection method.
제17항에 있어서,
상기 제2 서버가 상기 제외된 일부 코드에 삽입되어 함께 전송된 상기 사용자 정보를 저장하는 제3-1 단계;
상기 사용자 단말기는 상기 제2 서버에 사용자 정보를 전송하고, 동시에 상기 보완된 실행코드에 대한 업그레이드를 요청하는 제6 단계; 및
상기 제2 서버가 상기 제2 서버로부터 일부 코드를 다운로드한 사용자 정보와 상기 제1 서버로부터 전송된 실행코드를 다운로드한 사용자 정보를 비교하여 정상적인 사용자 단말기인지의 여부를 판단하여 사용자 단말기로부터 요청된 상기 업그레이드의 수행여부를 결정하는 제7 단계를 포함하는 어플리케이션 저작권 보호 방법.


18. The method of claim 17,
Step 3-1 of storing, by the second server, the user information inserted into the excluded partial code and transmitted together;
A sixth step of transmitting, by the user terminal, the user information to the second server and requesting an upgrade of the supplemented executable code; And
The second server compares the user information that has downloaded some code from the second server with the user information that has downloaded the execution code transmitted from the first server, and determines whether or not it is a normal user terminal. 7. An application copyright protection method comprising a seventh step of determining whether or not to perform an upgrade.


KR1020120049319A 2012-02-22 2012-05-09 Method for copyright protection of application, apparatus and the computer readable mediim storing the program thereof KR101330210B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120017893 2012-02-22
KR20120017893 2012-02-22

Publications (2)

Publication Number Publication Date
KR20130101957A true KR20130101957A (en) 2013-09-16
KR101330210B1 KR101330210B1 (en) 2013-11-20

Family

ID=49451925

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120049319A KR101330210B1 (en) 2012-02-22 2012-05-09 Method for copyright protection of application, apparatus and the computer readable mediim storing the program thereof

Country Status (1)

Country Link
KR (1) KR101330210B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109583157A (en) * 2017-09-29 2019-04-05 卓望数码技术(深圳)有限公司 A kind of long-range trace protecting method of APP and system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040027826A (en) * 2004-03-08 2004-04-01 최철 A method to protect computer software using file transformation
KR20100130840A (en) * 2009-06-04 2010-12-14 주식회사 쓰리디페이퍼 Method of protecting program distributed by on-line

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109583157A (en) * 2017-09-29 2019-04-05 卓望数码技术(深圳)有限公司 A kind of long-range trace protecting method of APP and system

Also Published As

Publication number Publication date
KR101330210B1 (en) 2013-11-20

Similar Documents

Publication Publication Date Title
US10140672B2 (en) Apparatus and method of managing a licensable item
CN108111331B (en) Method, device, storage medium, processor and system for acquiring update data packet
US7146645B1 (en) Dedicated applications for user stations and methods for downloading dedicated applications to user stations
US8321352B1 (en) Fingerprinting for software license inventory management
US9990475B2 (en) Apparatus and method of in-application licensing
CN102982258A (en) System for conducting original-edition check to mobile application program
CN102034058B (en) Method for controlling safety of application software and terminal
US20170068531A1 (en) Method of deploying a set of software application(s)
EP2413257B1 (en) Method for replacing an illegitimate copy of a software program with legitimate copy and corresponding system
KR20070059966A (en) Method, system and computer program for distributing software products in trial mode
JP2007535054A (en) Method for backing up and restoring data on a computer device
JP5674063B2 (en) Apparatus and method for digital rights management
US20110187511A1 (en) Method and apparatus for managing content, configuration and credential information among devices
CN114398686A (en) Block chain-based file storage method, device, equipment and storage medium
KR101330210B1 (en) Method for copyright protection of application, apparatus and the computer readable mediim storing the program thereof
KR101604892B1 (en) Method and devices for fraud prevention of android-based applications
KR20140011021A (en) Method for preventing unauthorized copying of the android platform-based applications and inserting digital watermarking in order to track the first clone
US20140325671A1 (en) Apparatus and method for providing drm service based on cloud
US20140157438A1 (en) User device and method for receiving drm function corresponding to specific contents
CA2335298A1 (en) Bait software
KR20150133038A (en) Method and apparatus for detecting illegally copied application
KR20000050233A (en) Method for preventing use of illegally reproduced program, and recording medium thereof
KR101425315B1 (en) Terminal device and server having java virturl machine for preventing illegal copy of java application, and method for authentification of the java application in the terminal device
CN104731665A (en) Information processing method and electronic equipment
KR20000061393A (en) Preventing method for illegal copying of software

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181022

Year of fee payment: 6