KR100391168B1 - System and method for preventing illegal copying software - Google Patents

System and method for preventing illegal copying software Download PDF

Info

Publication number
KR100391168B1
KR100391168B1 KR10-2001-0069790A KR20010069790A KR100391168B1 KR 100391168 B1 KR100391168 B1 KR 100391168B1 KR 20010069790 A KR20010069790 A KR 20010069790A KR 100391168 B1 KR100391168 B1 KR 100391168B1
Authority
KR
South Korea
Prior art keywords
authentication key
application
unique
authentication
source
Prior art date
Application number
KR10-2001-0069790A
Other languages
Korean (ko)
Other versions
KR20030038995A (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 임민상
Priority to KR10-2001-0069790A priority Critical patent/KR100391168B1/en
Publication of KR20030038995A publication Critical patent/KR20030038995A/en
Application granted granted Critical
Publication of KR100391168B1 publication Critical patent/KR100391168B1/en

Links

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/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 어플리케이션을 무단으로 설치하여 사용하는 것을 방지하기 위하여 설치인증을 하는 소프트웨어 불법복제 방지 시스템 및 방법에 관한 것이다.The present invention relates to a software piracy prevention system and method for authenticating the installation to prevent unauthorized installation and use of the application.

본 발명에 따른 불법복제 방지용 어플리케이션을 저장하는 저장매체는,Storage medium for storing the anti-piracy application according to the present invention,

고유번호를 갖는 하드웨어와 계층적 구조로 데이터를 저장하는 저장수단을 갖는 사용자 시스템에 설치되어 일련의 기능을 수행하며, 제공자가 설정한 임의의 데이터값인 특별값을 내장하고,It is installed in user system with hardware having unique number and storage means for storing data in hierarchical structure to perform a series of functions, and embed special value which is arbitrary data value set by provider,

하드웨어의 고유번호와 계층적 구조상의 액세스 경로를 인식하고, 고유번호와 액세스 경로를 조합하여 유일소스를 생성하고, 유일소스를 전송하는 유일소스 생성 모듈;A unique source generation module for recognizing a unique number of a hardware and an access path in a hierarchical structure, generating a unique source by combining the unique number and an access path, and transmitting the unique source;

제품번호를 사용자 시스템으로부터 입력받고, 유일소스, 제품번호 및 특별값을 조합하고 암호화하여 제 2 인증키를 생성하는 인증키 생성 모듈; 및An authentication key generation module that receives a product number from a user system, generates a second authentication key by combining and encrypting a unique source, a product number, and a special value; And

제 1 인증키를 사용자 시스템으로부터 입력받고, 제 1 인증키와 제 2 인증키의 동일성 여부를 판단하여 설치진행 여부를 판단하는 인증키 비교 모듈을 구비하는 것을 특징으로 하는 불법복제 방지용 어플리케이션을 저장한다.And receiving an authentication key comparison module for receiving the first authentication key from the user system and determining whether the first authentication key and the second authentication key are identical to each other to determine whether the installation proceeds. .

Description

소프트웨어 불법복제 방지 시스템 및 방법{SYSTEM AND METHOD FOR PREVENTING ILLEGAL COPYING SOFTWARE}Software piracy prevention system and method {SYSTEM AND METHOD FOR PREVENTING ILLEGAL COPYING SOFTWARE}

본 발명은 소프트웨어 불법복제 방지 시스템 및 방법에 관한 것으로서, 더욱 상세히 설명하면, 어플리케이션이 설치되는 사용자 시스템으로부터 하드웨어 및 소프트웨어적 유일값을 통해 생성된 유일소스를 전송받아 제품번호 및 인증키를 생성하고, 제품번호 및 인증키를 이용하여 어플리케이션의 설치인증을 하여 불법복제를 방지하는 소프트웨어 불법복제 방지 시스템 및 방법에 관한 것이다.The present invention relates to a software piracy prevention system and method, and in more detail, receives a unique source generated through hardware and software unique values from a user system where an application is installed, generates a product number and an authentication key, The present invention relates to a software piracy prevention system and method for preventing illegal duplication by installing and authenticating an application using a product number and an authentication key.

일반적으로 사용자가 개인용 컴퓨터 등의 시스템에 사용하는 소프트웨어는 소정의 대금을 지불하고 구입하여 사용하게 된다. 소프트웨어는 개발자의 시간과 노력의 투자에 의한 산물로써 그에 따른 적정한 가격이 책정되게 된다.In general, software that a user uses for a system such as a personal computer is purchased at a predetermined price. Software is the product of a developer's investment in time and effort, and is priced accordingly.

그러나 근래들어 소프트웨어를 정당한 루트를 통해 구입하지 않고, 불법복제된 소프트웨어를 구입하거나 직접 불법복제하여 무단으로 사용하는 사용자가 급증하고 있다. 이는 불법의 한계를 뛰어넘어 소프트웨어 개발자들로 하여금 개발의욕을 상실케 하여 새로운 소프트웨어의 개발을 저해하는 요인으로 작용하고 있다.However, in recent years, there is an increasing number of users who do not purchase software through a legitimate route, and who purchase illegally copied software or use illegally by illegal copying. This goes beyond the limits of illegality and causes software developers to lose their desire to develop, which in turn impedes the development of new software.

따라서 소프트웨어의 불법복제를 위해 제품번호 또는 인증번호 등과 같은 인증정보를 소프트웨어 판매시 제공하고, 소프트웨어를 설치할 때 이를 입력하도록 하므로써 소프트웨어의 불법복제를 방지하는 방법이 사용되고 있다.Therefore, a method of preventing illegal copying of software is used by providing authentication information such as a product number or an authentication number when selling the software and inputting it when installing the software for illegal copying of the software.

그러나 근래들어 인터넷이 보급되고 보편화됨에 따라 불법복제된 소프트웨어의 유포가 더욱 용이해졌고, 소프트웨어의 크랙(crack)된 인증정보를 누구나 쉽게 얻을 수 있게 되었다. 따라서 상기와 같은 방법으로는 날로 증가하는 불법복제를 방지할 수 없는 문제점이 발생되었다.However, in recent years, as the Internet spreads and becomes popular, it is easier to distribute illegally copied software, and anyone can easily obtain cracked authentication information of the software. Therefore, there is a problem that can not prevent the ever-increasing piracy by the above method.

따라서 소프트웨어의 불법복제를 방지할 수 있는 효과적인 방법 또는 시스템이 절실히 요구되고 있다.Therefore, there is an urgent need for an effective method or system that can prevent piracy of software.

본 발명은 상기와 같은 문제점을 해결하고자 제시된 것으로서, 본 발명의 목적은 불법복제 방지용 어플리케이션을 저장하는 저장매체를 제공하는 것이다.The present invention has been made to solve the above problems, and an object of the present invention is to provide a storage medium for storing an application for preventing illegal copying.

또한 본 발명의 또 다른 목적은 소프트웨어 불법복제 방지 시스템을 제공하는 것이다.It is still another object of the present invention to provide a software piracy prevention system.

또한 본 발명의 또 다른 목적은 소프트웨어 불법복제 방지 방법을 제공하는 것이다.It is still another object of the present invention to provide a software piracy prevention method.

상기의 목적을 달성하기 위하여, 본 발명에 따른 소프트웨어 불법복제 방지용 어플리케이션을 저장하는 저장매체는, 고유번호를 갖는 하드웨어와 계층적 구조로 데이터를 저장하는 저장수단을 갖는 사용자 시스템에 설치되어 일련의 기능을 수행하며, 제공자가 설정한 임의의 데이터값인 특별값을 내장하고, 하드웨어의 고유번호와 계층적 구조상의 액세스 경로를 인식하고, 고유번호와 액세스 경로를 조합하여 유일소스를 생성하고, 유일소스를 전송하는 유일소스 생성 모듈; 제품번호를 사용자 시스템으로부터 입력받고, 유일소스, 제품번호 및 특별값을 조합하고 암호화하여 제 2 인증키를 생성하는 인증키 생성 모듈; 및 제 1 인증키를 사용자 시스템으로부터 입력받고, 제 1 인증키와 제 2 인증키의 동일성 여부를 판단하여 설치진행 여부를 판단하는 인증키 비교 모듈을 구비하는 것을 특징으로 하는 불법복제 방지용 어플리케이션을 저장하는 것을 특징으로 한다.In order to achieve the above object, a storage medium for storing the software piracy prevention application according to the present invention is installed in a user system having a hardware having a unique number and a storage means for storing data in a hierarchical structure, a series of functions It embeds special value which is arbitrary data value set by provider, recognizes unique number of hardware and access path in hierarchical structure, creates unique source by combining unique number and access path, Unique source generation module for transmitting the; An authentication key generation module that receives a product number from a user system, generates a second authentication key by combining and encrypting a unique source, a product number, and a special value; And an authentication key comparison module that receives the first authentication key from the user system, determines whether the first authentication key and the second authentication key are identical, and determines whether the installation proceeds. Characterized in that.

바람직하게는, 하드웨어의 고유번호가 랜카드의 MAC Address 또는 CPU ID 중 선택된 적어도 하나 이상으로 이루어지는 것을 특징으로 하고, 액세스 경로가 불법복제 방지용 어플리케이션이 설치되는 절대경로 또는 불법복제 방지용 어플리케이션의 실행파일명 중 선택된 적어도 하나 이상으로 이루어지는 것을 특징으로 하고, 제 1 인증키가, 유일소스, 제품번호 및 특별값을 조합하고 암호화하여 생성된 것임을 특징으로 한다.Preferably, the unique number of the hardware is made of at least one selected from the MAC address or CPU ID of the LAN card, the access path is selected from the absolute path or the executable file name of the anti-piracy application to install the anti-piracy application. Characterized in that at least one, characterized in that the first authentication key is generated by combining and encrypting a unique source, product number and special value.

더욱 바람직하게는, 제품번호가 어플리케이션의 구매시 제공되거나 제공자에 의해 운영되는 소정의 서버로부터 전송되고, 제 1 인증키가 서버로부터 전송되는 것을 특징으로 한다.More preferably, the product number is transmitted from a predetermined server provided at the time of purchase of the application or operated by the provider, and the first authentication key is transmitted from the server.

또한 상기의 또 다른 목적을 달성하기 위하여, 본 발명에 따른 소프트웨어 불법복제 방지 시스템은, 본 발명에 따른 불법복제 방지용 어플리케이션을 저장하는 저장매체를 이용하고, 어플리케이션을 무단으로 설치하여 사용하는 것을 방지하기 위하여 설치인증을 하는 소프트웨어 불법복제 방지 시스템으로서, 사용자 시스템은, 불법복제 방지용 어플리케이션이 설치되고, 불법복제 방지용 어플리케이션으로부터 전송요청되는 유일소스를 전송하고, 제품번호 및 제 1 인증키를 수신하여 불법복제 방지용 어플리케이션에 입력하는 것을 특징으로 하고,In addition, in order to achieve the above another object, the software piracy prevention system according to the present invention, using a storage medium for storing the anti-piracy application according to the present invention, to prevent unauthorized installation and use of the application As a software piracy prevention system that authenticates the installation, the user system installs a piracy prevention application, transmits the only source requested from the piracy prevention application, receives a product number and a first authentication key, and performs piracy. Characterized in that the input to the application for prevention,

특별값을 저장하는 소정의 저장수단을 구비하고, 유일소스를 사용자 시스템으로부터 수신하고, 제품번호를 소정의 방법으로 생성하고, 유일소스, 제품번호 및 특별값을 조합하고 암호화하여 제 1 인증키를 생성하고, 제품번호 및 제 1 인증키를 사용자 시스템으로 전송하는 어플리케이션 인증서버 및 유일소스, 제품번호 및 제 1 인증키를 저장하는 인증 데이터베이스를 구비하는 어플리케이션 인증시스템을 포함하는 것을 특징으로 한다.A predetermined storage means for storing a special value, receiving a unique source from a user system, generating a product number by a predetermined method, combining and encrypting the unique source, the product number and the special value, and encrypting the first authentication key. And an application authentication server including an application authentication server for generating and transmitting a product number and a first authentication key to a user system, and an authentication database for storing a unique source, a product number, and a first authentication key.

바람직하게는, 인증 데이터베이스는, 인증서버가 제 1 인증키를 발급한 횟수및 발급 허용 횟수를 저장하는 소정의 저장부가 더 구비하고, 어플리케이션 인증서버는, 수신된 유일소스와 인증 데이터베이스에 저장된 유일소스를 비교하고, 두 개의 유일소스가 상이한 경우마다 제 1 인증키의 발급한 횟수를 1 증가시키고, 발급한 횟수가 발급 허용 횟수를 초과하는 경우, 제 1 인증키의 생성 및 전송을 거부하는 것을 특징으로 한다.Preferably, the authentication database further includes a predetermined storage unit for storing the number of times that the authentication server issues the first authentication key and the number of permits for issuance, and the application authentication server includes the received one source and the one source stored in the authentication database. Compares and increases the number of issuance of the first authentication key by 1 when the two unique sources are different, and rejects the generation and transmission of the first authentication key when the number of issuance exceeds the number of permits. It is done.

또한 상기의 또 다른 목적을 달성하기 위하여, 본 발명에 따른 소프트웨어 불법복제 방지 방법은, 어플리케이션을 무단으로 설치하여 사용하는 것을 방지하는 소프트웨어 불법복제 방지 방법으로서, 어플리케이션이 설치될 시스템의 하드웨어적 유일값과 소프트웨어적 유일값을 조합하여 생성한 유일소스를 수신하는 유일소스 수신 단계; 어플리케이션의 제품번호를 생성하고, 유일소스, 제품번호 및 소정의 특별값을 조합하고 암호화하여 제 1 인증키를 생성하고, 제품번호 및 제 1 인증키를 전송하는 인증정보 전송 단계; 어플리케이션이 유일소스, 제품번호 및 특별값을 조합하고 암호화하여 제 2 인증키를 생성하는 제 2 인증키 생성 단계; 및 어플리케이션이 제 1 인증키와 제 2 인증키가 동일한 경우, 설치를 진행하는 설치진행 단계를 포함하는 것을 특징으로 한다.In addition, in order to achieve the above object, the software piracy prevention method according to the present invention is a software piracy prevention method that prevents unauthorized installation and use of the application, the hardware unique value of the system on which the application is to be installed A unique source receiving step of receiving a unique source generated by combining the software unique value with the software; Generating a product number of the application, combining and encrypting a unique source, a product number, and a predetermined special value to generate a first authentication key, and transmitting the product number and the first authentication key; A second authentication key generation step of the application generating a second authentication key by combining and encrypting a unique source, a product number, and a special value; And if the application is the same as the first authentication key and the second authentication key, characterized in that it comprises an installation progress step of proceeding with the installation.

바람직하게는, 인증정보 전송 단계가, 소정의 저장부에 어플리케이션으로부터 수신된 제 1 유일소스가 있는 경우, 수신된 유일소스와 제 1 유일소스를 분석하여 동일성을 판단하는 유일소스 비교 단계; 유일소스가 제 1 유일소스와 상이한 경우, 어플리케이션의 설치 횟수를 1 만큼 증가시키는 카운팅 단계; 및 설치 횟수가 설정된 소정의 설치 가능횟수를 초과하는 경우, 제 1 인증키를 생성 및 전송을 거부하는 설치불가 단계를 포함하는 것을 특징으로 한다.Preferably, the step of transmitting the authentication information, if there is a first unique source received from the application in the predetermined storage, the unique source comparison step of analyzing the received unique source and the first unique source to determine the identity; A counting step of increasing the number of installations of the application by 1 when the only source is different from the first only source; And an installation impossibility step of rejecting generation and transmission of the first authentication key when the number of installations exceeds a predetermined number of possible installations.

본 발명의 장점, 특징 및 바람직한 실시례는 첨부한 도면을 참조하여 상세히 설명한다.Advantages, features and preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 본 발명에 따른 소프트웨어 불법복제 방지 시스템의 구성도.1 is a block diagram of a software piracy prevention system according to the present invention.

도 2 는 본 발명에 따른 소프트웨어 불법복제 방지 과정이 진행되는 흐름도.2 is a flow chart of a software piracy prevention process in accordance with the present invention.

도 3 은 하드웨어 및 소프트웨어적 유일값을 얻기 위한 프로그램 소스 코드를 나타낸 도.3 illustrates program source code for obtaining hardware and software unique values.

*** 도면의 주요 부분에 대한 부호 설명 ****** Explanation of symbols on the main parts of the drawing ***

10 : 사용자 시스템 15 : 어플리케이션10: user system 15: application

16 : 유일소스 생성 모듈 17 : 인증키 생성 모듈16: unique source generation module 17: authentication key generation module

18 : 인증키 비교 모듈 20 : 인터넷 또는 유무선 통신망18: Authentication key comparison module 20: Internet or wired or wireless communication network

30 : 어플리케이션 인증시스템 32 : 어플리케이션 인증서버30: application authentication system 32: application authentication server

34 : 인증 데이터베이스 40 : 지불 시스템34: Authentication Database 40: Payment System

도 1 은 본 발명에 따른 소프트웨어 불법복제 방지 시스템의 구성도이다. 도 1 을 참조하면, 본 발명에 따른 소프트웨어 불법복제 방지 시스템의 구성은, 본 발명에 따른 어플리케이션(15)이 설치되는 사용자 시스템(10), 인터넷 또는 유무선 통신망(20), 본 발명에 따른 사용자 시스템(10)의 어플리케이션(15) 설치를 인증하는 어플리케이션 인증 시스템(30) 및 지불 시스템(40)을 포함한다.1 is a block diagram of a software piracy prevention system according to the present invention. Referring to Figure 1, the configuration of the software piracy prevention system according to the present invention, the user system 10, the Internet or wired or wireless communication network 20 is installed, the application system according to the present invention, the user system according to the present invention And an application authentication system 30 and a payment system 40 for authenticating the installation of the application 15 of (10).

본 발명에 따른 사용자 시스템(10)은 본 발명에 따른 어플리케이션(15)이 설치되는 시스템으로써, 어플리케이션(15)이 설치되어 사용될 수 있는 모든 시스템을 포함한다. 대표적으로는 개인용 컴퓨터를 들 수 있다.The user system 10 according to the present invention is a system in which the application 15 according to the present invention is installed, and includes all systems in which the application 15 may be installed and used. Representative examples include personal computers.

본 발명에 따른 어플리케이션(15)은 사용자 시스템(10)에 설치되는 소프트웨어로서, 어플리케이션 인증시스템(30)과 데이터의 교환이 가능하여야 한다. 일례로서 어플리케이션(15)으로 CGI 프로그램을 사용할 수 있다. 또한 본 발명에 따른 어플리케이션(15)은 쉐어웨어 또는 일반 상용 소프트웨어가 될 수 있고, 다운로드하여 설치하거나 CD 등 저장매체를 구입하여 설치하는 소프트웨어가 포함된다. CD 와 같이 저장매체에 저장된 경우, 사용자는 어플리케이션(15)의 설치 후 온라인 등록과정을 거친다.The application 15 according to the present invention is software installed in the user system 10 and should be able to exchange data with the application authentication system 30. As an example, a CGI program can be used as the application 15. In addition, the application 15 according to the present invention may be shareware or general commercial software, and may include software for downloading and installing or installing a storage medium such as a CD. When stored in a storage medium such as a CD, the user goes through an online registration process after installation of the application 15.

쉐어웨어는 일부 기능만이 가능하거나 유효기간이 정해진 소프트웨어로서,사용자가 먼저 사용해 보고 구입의 필요를 느끼면 대금을 지불하고 정식사용자로 등록되어 사용할 수 있는 소프트웨어이다. 일반적으로 쉐어웨어는 무료로 배포된다.Shareware is software that has only a limited number of functions or has a validity period. It is a software that users can try first and pay when they feel the need to purchase it. Generally, shareware is distributed free of charge.

본 발명에 따른 어플리케이션(15)은 설치된 사용자 시스템(10)의 하드웨어적 유일값과 소프트웨어적 유일값을 조합하여 유일소스를 생성하여 생성된 유일소스를 어플리케이션 인증시스템(30)으로 전송하고, 어플리케이션 인증시스템(30)으로부터 어플리케이션(15)의 설치 인증을 위해 전송된 제품번호 및 인증키(이하 '제 1 인증키'라 한다.)를 사용자로부터 입력받고, 유일소스, 제품번호 및 특별값을 조합하여 자체적으로 인증키(이하 '제 2 인증키'라 한다.)를 생성하고, 제 1 인증키와 제 2 인증키를 비교하여 서로 동일한 경우에 설치가 진행된다.The application 15 according to the present invention generates a unique source by combining the hardware unique value and the software unique value of the installed user system 10 and transmits the generated unique source to the application authentication system 30, and authenticates the application. The product number and authentication key (hereinafter referred to as 'first authentication key') transmitted from the system 30 for authentication of the installation of the application 15 are input from the user, and the unique source, product number, and special values are combined. The authentication key (hereinafter referred to as 'second authentication key') is generated by itself, and the installation proceeds when the first authentication key and the second authentication key are compared with each other.

본 발명에 따른 어플리케이션(15)은, 유일소스를 생성하는 유일소스 생성 모듈(16), 제 2 인증키를 생성하는 인증키 생성 모듈(17) 및 제 1 인증키와 제 2 인증키의 동일성을 비교하는 인증키 비교 모듈(18)을 구비한다.Application 15 according to the present invention, the unique source generation module 16 for generating a unique source, the authentication key generation module 17 for generating a second authentication key and the identity of the first authentication key and the second authentication key An authentication key comparison module 18 for comparison is provided.

본 발명에 따른 유일소스 생성 모듈(16)은 사용자 시스템(10)의 하드웨어적 유일값과 소프트웨어적 유일값을 조합하여 유일소스를 생성한다.The unique source generation module 16 according to the present invention generates a unique source by combining a hardware unique value and a software unique value of the user system 10.

하드웨어적 유일값은 하드웨어에 설정된 고유번호로서, 랜카드의 MAC Address 또는 CPU ID 등을 포함하는 하드웨어적 고유번호 중 적어도 하나 이상으로 이루어진다. 또한 소프트웨어적 유일값은 계층적 구조로 데이터를 저장하는 저장수단에서 어플리케이션(15)의 계층적 구조상의 액세스 경로를 의미하고, 어플리케이션이 설치된 경로 또는 어플리케이션의 실행파일명으로 이루어진다. 바람직하게는 어플리케이션이 설치된 경로로 절대경로를 사용한다. 또한 하드웨어적 고유번호에는 랜카드의 MAC Address 와 CPU ID 외에도 하드웨어를 고유하게 나타낼 수 있는 다양한 값이 포함될 수 있다.The hardware unique value is a unique number set in hardware, and includes at least one or more of hardware unique numbers including a MAC address or a CPU ID of a LAN card. In addition, the software unique value means an access path on the hierarchical structure of the application 15 in the storage means for storing data in a hierarchical structure, and consists of a path where the application is installed or an executable file name of the application. Preferably, the absolute path is used as the path where the application is installed. In addition, the hardware unique number may include various values uniquely representing the hardware in addition to the MAC address and CPU ID of the LAN card.

MAC Address(Media Access Control Address)는 데이터 링크 계층의 MAC 계층에 의해 사용되는 주소로서 네트웍 카드의 48 비트 하드웨어 주소를 말하며, 이더넷 주소, 또는 토큰링 주소와 동일하다. 네트웍 카드 제조사에 의해 부여된 하드웨어 주소는 UAA(Universally Administered Address)로서 모든 네트웍 카드가 유일값을 가진다. 그러나 UAA 는 관리 목적상 변경이 가능한데, 이러한 MAC 주소를 LAA(Locally Administered Address)라 한다.The Media Access Control Address (MAC Address) is an address used by the MAC layer of the data link layer and refers to a 48-bit hardware address of a network card, and is identical to an Ethernet address or a token ring address. The hardware address assigned by the network card manufacturer is a Universally Administered Address (UAA), and every network card has a unique value. However, UAA can be changed for administrative purposes. This MAC address is called LAA (Locally Administered Address).

유일소스의 조합은 다양한 방법에 의하여 이루어질 수 있다. 유일소스 생성 방법 중 산술연산에 의하는 방법의 예를 들면 이하와 같다.Combination of only source can be made by various methods. An example of a method based on arithmetic operation among the sole source generation methods is as follows.

하드웨어적 유일값과 소프트웨어적 유일값의 문자열을 아스키 코드값으로 변환한다. 변환된 아스키값을 산술연산을 통하여 특정의 숫자로 변형한다. 따라서 하드웨어적 유일값 또는 소프트웨어적 유일값 중 어느 하나가 변경되면 유일소스로 다른 값이 산출되게 된다. 또한 산술연산의 종류를 임의적으로 정할 수 있도록 하므로써, 동일한 유일소스의 생성 가능성을 배제시킬 수 있다.Converts a string of hardware unique values and software unique values to an ASCII code value. Converts the converted ASCII value to a specific number through arithmetic operations. Therefore, when either the hardware unique value or the software unique value is changed, another value is calculated as the unique source. In addition, the type of arithmetic operation can be arbitrarily determined, thereby eliminating the possibility of generating the same unique source.

생성된 유일소스의 전송에 있어서, CGI 프로그램의 경우 Web 에서 이루어지고, 다양한 방법으로 전송이 이루어질 수 있다. 바람직하게는 POST 방식으로 전송한다.In the transmission of the generated only source, the CGI program is made on the Web, and the transmission can be made in various ways. Preferably it is transmitted by POST method.

웹브라우저에서 각 단계마다 필요한 정보를 넘겨주는 방법 중 가장 일반적인방법으로 GET 방식과 POST 방식이 있다. GET 방식은 적은 양의 정보를 보내는데 사용되고, 간편하고 쉽다는 장점이 있는 반면 정보의 길이가 제한적으로 되어져 있고 정보가 직접적으로 URL 에 노출되어 보이므로 보안성이 떨어진다는 단점이 있다. 이에 반해 POST 방식은 많은 양의 정보를 보내는데 사용되고, 정보의 값들이 GET 방식과 달리 URL 에 보이지 않기 때문에 보다 높은 보안성을 갖고 많은 정보를 단계별로 웹브라우저에서 서버로 넘겨줄 수 있다.The most common method of passing the necessary information to each step in the web browser is the GET method and the POST method. The GET method is used to send a small amount of information, has the advantage of being simple and easy, but has a disadvantage of poor security because the information has a limited length and the information is directly exposed to the URL. On the other hand, the POST method is used to send a large amount of information, and unlike the GET method, the POST value is not shown in the URL, so it is possible to pass a lot of information from the web browser to the server step by step with higher security.

상기한 바와 같이, 본 발명에 따른 유일소스의 전송은 이외에도 다양한 전송방법에 의해 이루어질 수 있다.As described above, the transmission of the only source according to the present invention may be performed by various transmission methods.

본 발명에 따른 인증키 생성 모듈(17)은, 어플리케이션(15)의 설치 인증을 위해 어플리케이션 인증시스템(30)으로부터 전송되어 사용자에 의해 입력된 제품번호와 유일소스 및 특별값을 조합하여 제 2 인증키를 생성한다.Authentication key generation module 17 according to the present invention, the second authentication by combining the product number and the unique source and the special value transmitted from the application authentication system 30 for the installation authentication of the application 15 input by the user Create a key.

유일소스는 유일소스 생성 모듈(16)에 의해 생성된 값이고, 특별값은 어플리케이션의 판매회사 또는 어플리케이션의 개발자가 미리 정해놓은 값이다. 특별값은 어플리케이션의 제 2 인증키 생성시, 어플리케이션 소스에 포함되어 컴파일되므로 일반 사용자는 알 수 없다. 또한 제품번호는, 사용자가 CD 와 같은 저장매체를 구매한 경우 시리얼 넘버와 같이 구매시 제공할 수도 있다. 이 경우, 어플리케이션 인증시스템(30)은 제 1 인증키만을 전송할 수 있다. 인증키는 유일소스에 따라 변할 수 있지만 제품번호는 하나의 어플리케이션(15)에 대하여 동일하다.The unique source is a value generated by the unique source generation module 16, and the special value is a value previously determined by the sales company of the application or the developer of the application. The special value is included in the application source when the second authentication key of the application is generated and compiled, so that the general user may not know. In addition, the serial number may be provided at the time of purchase, such as the serial number when the user purchases a storage medium such as a CD. In this case, the application authentication system 30 may transmit only the first authentication key. The authentication key may vary depending on the unique source, but the product number is the same for one application 15.

제 2 인증키를 생성함에 있어서 유일소스, 제품번호 및 특별값의 조합 및 암호화 방법은 어플리케이션 인증시스템(30)에서 제 1 인증키를 생성하는 방법과 동일한 과정에 의해 이루어진다. 제 2 인증키 생성 방법은 제 1 인증키 생성 방법의 설명에서 상세히 설명한다.In generating the second authentication key, the combination of the unique source, the product number, and the special value and the encryption method are performed by the same process as the method of generating the first authentication key in the application authentication system 30. The second authentication key generation method will be described in detail in the description of the first authentication key generation method.

본 발명에 따른 인증키 비교 모듈(18)은, 어플리케이션 인증시스템(30)으로부터 전송되어 사용자에 의해 입력된 제 1 인증키와 인증키 생성 모듈(17)에 의해 생성된 제 2 인증키를 비교한다. 제 1 인증키가 동일한 경우, 어플리케이션(15)은 적법한 사용자 시스템(10)에 설치가 되는 것이므로 설치가 진행되고, 상이할 경우에는 설치가 거부된다. 이 경우, 사용자는 어플리케이션(15)을 사용하지 못하거나 제한된 기능만을 사용할 수 있다.The authentication key comparison module 18 according to the present invention compares the first authentication key transmitted from the application authentication system 30 and input by the user with the second authentication key generated by the authentication key generation module 17. . If the first authentication key is the same, the application 15 is installed in the legitimate user system 10, and the installation proceeds. If the first authentication key is different, the installation is rejected. In this case, the user may not use the application 15 or may use only limited functions.

본 발명에 따른 어플리케이션 인증시스템(30)은 어플리케이션을 인증하는 시스템으로서, 어플리케이션(15)이 생성한 유일소스를 수신하고, 제품번호 및 제 1 인증키를 생성하여 전송하는 어플리케이션 인증서버(32) 및 사용자 정보, 제품번호 및 제 1 인증키를 저장 및 관리하는 인증 데이터베이스(34)를 포함한다.Application authentication system 30 according to the present invention is a system for authenticating the application, the application authentication server 32 for receiving the only source generated by the application 15, generates and transmits the product number and the first authentication key and And an authentication database 34 for storing and managing user information, a product number, and a first authentication key.

본 발명에 따른 어플리케이션 인증서버(32)는, 어플리케이션(15)이 생성한 유일소스를 수신하고, 제품번호를 생성한다. 어플리케이션 인증서버(32)는 유일소스, 제품번호 및 특별값을 조합하고 암호화하여 제 1 인증키를 생성하고, 제품번호와 제 1 인증키를 사용자 시스템(10)으로 전송한다. 따라서 제 1 인증키는 해당 사용자 시스템(10)에서만 사용될 수 있는 키가 된다.The application authentication server 32 according to the present invention receives a unique source generated by the application 15 and generates a product number. The application authentication server 32 generates a first authentication key by combining and encrypting a unique source, a product number, and a special value, and transmits the product number and the first authentication key to the user system 10. Therefore, the first authentication key becomes a key that can be used only in the corresponding user system 10.

제 1 인증키 생성에 사용되는 특별값은 어플리케이션을 판매하는 회사 또는 어플리케이션 개발자가 미리 정해놓은 값이다.The special value used to generate the first authentication key is a value predetermined by the company selling the application or the application developer.

제 1 인증키 생성에 있어서, 유일소스, 제품번호 및 특별값의 조합방법으로는 다양한 방법이 사용될 수 있다. 유일소스의 경우와 마찬가지로 산술연산에 의해 제 1 인증키를 생성하는 방법을 예로 들면 이하와 같다.In generating the first authentication key, various methods may be used as a combination method of a unique source, a product number, and a special value. As in the case of only source, a method of generating the first authentication key by arithmetic operation is as follows.

제품번호를 아스키 코드값들의 산술연산을 통해 특정의 숫자로 변환한다. 아스키 코드값 변환과 산술연산에 의해 생성된 유일소스, 변환된 제품번호와 특별값을 산술연산을 하여 특정의 숫자를 생성한다. 생성된 숫자를 암호화하여 제 1 인증키를 생성한다. 유일소스의 경우와 마찬가지로 산술연산의 종류를 임의로 정할 수 있다. 이 경우, 암호화를 해독한다 하여도 산술연산의 종류를 모르면 동일한 인증키를 생성할 수 없으므로 보안성이 현저하게 향상된다.The product number is converted to a specific number through the arithmetic operation of ASCII code values. Arithmetic operation of unique source, converted product number and special value generated by ASCII code value conversion and arithmetic operation generates specific number. A first authentication key is generated by encrypting the generated number. As in the case of only source, the type of arithmetic operation can be arbitrarily determined. In this case, even if the encryption is decrypted, the same authentication key cannot be generated without knowing the type of arithmetic operation, and thus the security is remarkably improved.

상기한 바와 같이 제 2 인증키는 제 1 인증키와 동일한 방법에 의해 생성된다.As described above, the second authentication key is generated by the same method as the first authentication key.

제 1 인증키 생성시 이용되는 암호화 방법으로 다양한 방법이 이용될 수 있으나, 바람직하게는 DES(Data Encryption Standard) 알고리즘을 이용한 Crypt 함수를 사용한다.As an encryption method used when generating the first authentication key, various methods may be used. Preferably, a Crypt function using a DES (Data Encryption Standard) algorithm is used.

DES 는 암호화 알고리즘으로써 대칭적(symmetric) 알고리즘을 사용하고, 높은 신뢰성과 안전성을 제공한다. 즉, 암호화하는 과정과 해독 과정에서 동일한 키(key)와 알고리즘을 사용한다. 따라서 신뢰성 및 안전성이 확보된 시스템의 복잡함을 줄이고 쉽고 편리하게 구현할 수 있다.DES uses a symmetric algorithm as an encryption algorithm and provides high reliability and security. In other words, the same key and algorithm are used during encryption and decryption. Therefore, it is possible to easily and conveniently reduce the complexity of the system to ensure reliability and safety.

암호화 과정은 이외에도 다양한 암호화 방법에 의해 이루어질 수 있다.The encryption process may be performed by various encryption methods.

또한, 사용자가 CD 와 같은 저장매체를 구매한 경우, 구매시 제품번호를 제공하고 어플리케이션 인증서버(32)는 제 1 인증키만을 전송할 수 있다. 제품번호와 제 1 인증키의 전송은 종래의 모든 방법에 의해 이루어질 수 있으나, 바람직하게는 이메일 또는 SMS로 전송한다.In addition, when a user purchases a storage medium such as a CD, the product number is provided at the time of purchase, and the application authentication server 32 may transmit only the first authentication key. The transmission of the product number and the first authentication key can be made by all conventional methods, but preferably by e-mail or SMS.

상기와 같이 생성된 제품번호와 제 1 인증키가 전송되면, 사용자 시스템(10)을 통해 어플리케이션(15)으로 입력되고, 어플케이션(15)의 인증키 생성 모듈(17)은 입력된 제품번호, 유일소스와 어플리케이션 내에 포함되어 있는 특별값을 조합하여 제 2 인증키를 생성하고, 인증키 비교 모듈(18)은 생성된 제 2 인증키와 입력된 제 1 인증키를 비교하여 어플리케이션을 인증한다. 만일 어플리케이션이 다른 시스템에 설치된 경우, 하드웨어적 유일값과 소프트웨어적 유일값이 상이하게 되고, 따라서 유일소스가 변하게 된다. 따라서 제 1 인증키와 제 2 인증키가 상이하게 되고, 어플리케이션의 설치가 거부된다.When the product number and the first authentication key generated as described above are transmitted to the application 15 through the user system 10, the authentication key generation module 17 of the application 15 inputs the entered product number, The second authentication key is generated by combining the unique source and the special value included in the application, and the authentication key comparison module 18 compares the generated second authentication key with the inputted first authentication key to authenticate the application. If the application is installed on a different system, the hardware unique value and the software unique value are different, so the unique source is changed. Therefore, the first authentication key and the second authentication key are different, and the installation of the application is rejected.

또한 어플리케이션의 설치 횟수는 소정의 횟수로 제한할 수 있다. 이렇게 정해진 설치 횟수(이하 '불법복제 오차허용한계'라 한다.)는 어플리케이션의 판매회사 등에서 미리 설정할 수 있다. 이 경우, 정해진 횟수 이내에서는 어플리케이션(15)이 새로이 유일소스를 생성하여 전송하고, 어플리케이션 인증시스템(30)이 그에 따른 제품번호와 제 1 인증키를 생성하여 전송하지만, 정해진 횟수를 초과한 경우 어플리케이션 인증시스템(30)이 새로이 제품번호와 제 1 인증키를 생성하여 전송하지 않는다. 즉, 설치 횟수를 어플리케이션 인증서버(32)에서 카운팅 (counting)하여, 불법복제 오차허용한계 이내인 경우에는 제품번호와 제 1 인증키를 전송하고, 불법복제 오차허용한계를 넘어서면 어플리케이션을 설치할 수 없다는 정보를 전송한다. 또한 설치 횟수를 카운팅함에 있어서, 어플리케이션 인증서버(32)는 전송된 유일소스를 전에 전송된 유일소스와 비교하여 동일한 경우에는 카운팅하지 않고, 상이한 경우에만 카운팅한다. 따라서 사용자가 동일한 시스템과 경로로 어플리케이션(15)을 설치할 경우에는 설치횟수에 제한을 받지 않고 설치할 수 있다.In addition, the number of installation of the application can be limited to a predetermined number. The predetermined number of installations (hereinafter, referred to as 'illegal copy error tolerance') can be set in advance by the sales company of the application. In this case, within a predetermined number of times, the application 15 newly generates and transmits a unique source, and the application authentication system 30 generates and transmits a product number and a first authentication key accordingly, but when the predetermined number exceeds the number of applications. The authentication system 30 does not generate and transmit a new product number and a first authentication key. That is, the number of installations is counted by the application authentication server 32, and if the copying error is within the allowable error limit, the serial number and the first authentication key are transmitted, and the application can be installed if the copying error exceeds the allowable limit. Transmits no information. In addition, in counting the number of installations, the application authentication server 32 compares the transmitted unique source with the previously transmitted unique source and does not count the same case, but counts only different cases. Therefore, when the user installs the application 15 in the same system and path, it can be installed without limitation on the number of installation.

불법복제 오차허용한계는 어플리케이션의 판매회사 등이 설정할 수 있다. 만일 한번만 설치하도록 할 경우 제 1 인증키를 한번만 발급하고, 제한수만큼 설치하도록 할 경우 그 횟수만큼의 상이한 유일소스에 대한 제 1 인증키를 발급하고, 무제한으로 설치할 수 있도록 할 경우 필요할 때마다 제 1 인증키를 발급해준다.The illegal copy error tolerance can be set by the sales company of the application. If you want to install only once, issue the first authentication key only once, and if you install a limited number of times, issue the first authentication key for the same number of different sources, and if you want to install unlimited times, 1 Issue an authentication key.

본 발명에 따른 인증 데이터베이스(34)는, 사용자의 주민등록번호, 이메일 주소 및 입금확인 정보 등을 포함하는 사용자정보, 수신된 유일소스, 제품번호 및 제 1 인증키 등을 저장 및 관리한다.The authentication database 34 according to the present invention stores and manages user information including a user's social security number, an e-mail address, and payment confirmation information, a received only source, a product number, a first authentication key, and the like.

본 발명에 따른 지불 시스템(40)은 사용자의 어플리케이션(15)에 대한 구매대금의 지불을 처리한다.The payment system 40 according to the invention processes the payment of the purchase price for the user's application 15.

도 2 는 본 발명에 따른 소프트웨어 불법복제 방지 과정이 진행되는 흐름도이다. 도 2 를 참조하면, 본 발명은 다음과 같은 흐름을 가진다.2 is a flowchart of a process for preventing software piracy according to the present invention. 2, the present invention has the following flow.

사용자가 사용자 시스템(10)에 어플리케이션(15)을 설치한다.(S100 단계)The user installs the application 15 in the user system 10 (step S100).

본 발명에 따른 어플리케이션(15)의 유일소스 생성 모듈(16)은 사용자 시스템(10)의 하드웨어적 유일값과 소프트웨어적 유일값을 조합하여 유일소스를 생성한다. (S105 단계) 상기한 바와 같이, 하드웨어적 유일값에는 랜카드의 MACAddress 와 CPU ID 등을 포함하는 하드웨어적 고유번호를 적어도 하나 이상 포함되고, 소프트웨어적 유일값에는 어플리케이션의 설치 경로와 실행파일명이 포함될 수 있다. 바람직하게는 어플리케이션의 설치 경로로 절대경로를 사용한다.The unique source generation module 16 of the application 15 according to the present invention generates a unique source by combining the hardware unique value and the software unique value of the user system 10. As described above, the hardware unique value may include at least one hardware unique number including a MAC address and a CPU ID of the LAN card, and the software unique value may include an installation path and an executable file name of the application. have. Preferably use the absolute path as the installation path of the application.

사용자가 구매를 선택하고, 지불 시스템(40)을 통해 대금을 결제한다.(S110 단계) 만일 어플리케이션이 CD 와 같은 저장매체에 저장된 것인 경우, 일반적으로 저장매체의 구매시 대금을 지불하므로 지불과정이 생략된다. 또한 어플리케이션을 최초로 구매하여 설치한 경우가 아니라, 이후에 재설치하는 경우에도 지불과정이 생략된다. 즉, 저장매체를 구매한 경우와 어플리케이션의 최초 설치가 아닌 경우에는 설치 진행을 선택한다.The user selects a purchase and pays the price through the payment system 40 (step S110). If the application is stored in a storage medium such as a CD, the payment process is generally performed because the payment is made when the storage medium is purchased. It is omitted. In addition, the payment process is skipped when the application is reinstalled later rather than when the application is initially purchased and installed. In other words, if the storage medium is purchased and the application is not installed for the first time, the installation progress is selected.

본 발명에 따른 어플리케이션(15)은 어플리케이션 인증시스템(30)으로 사용자 정보 및 유일소스를 전송한다.(S115 단계)The application 15 according to the present invention transmits the user information and the only source to the application authentication system 30 (step S115).

본 발명에 따른 어플리케이션 인증시스템(30)은 사용자 정보와 유일소스를 수신하고, 수신된 유일소스를 분석한다.(S120 단계) 만일 해당 사용자가 이전에 전송한 유일소스가 있는 경우, 수신된 유일소스와 동일한지 여부를 판단한다.The application authentication system 30 according to the present invention receives the user information and the unique source, and analyzes the received unique source (step S120). If there is a unique source previously transmitted by the corresponding user, the received unique source Determine whether or not

본 발명에 따른 어플리케이션 인증시스템(30)은 어플리케이션(15)의 설치 횟수가 불법복제 오차허용한계를 초과했는지 여부를 판단한다.(S125 단계) 즉, S120 단계에서 유일소스를 분석하여 이전에 수신된 유일소스와 동일한 경우에는 설치 횟수를 카운팅하지 않고, 만일 상이한 경우에는 설치 횟수를 카운팅하고, 카운팅한 설치 횟수와 미리 설정된 불법복제 오차허용한계를 비교한다. 또한 상이한 유일소스가 수신된 경우, 인증 데이터베이스(34)에 저장한다.The application authentication system 30 according to the present invention determines whether the number of installations of the application 15 has exceeded the illegal copy error tolerance limit (step S125). If it is the same as the only source, the number of installations is not counted. If it is different, the number of installations is counted, and the number of installations counted and the preset illegal copy error tolerance are compared. In addition, if a different unique source is received, it is stored in the authentication database 34.

S125 단계에서 설치횟수가 불법복제 오차허용한계를 초과한 경우, 어플리케이션 인증시스템(30)은 사용자 시스템(10)으로 설치불가 정보를 전송하고(S130 단계), 사용자 시스템(10)에서 어플리케이션(15)의 설치가 거부된다.(S135 단계) 이 경우 제 1 인증키를 전송하지 않는 것만으로도 어플리케이션의 설치를 못하도록 할 수 있으므로, 설치불가 정보를 전송하지 않고 제 1 인증키를 전송하지 않을 수도 있다.If the number of installations exceeds the illegal copy error tolerance in step S125, the application authentication system 30 transmits the information that cannot be installed to the user system 10 (step S130), and the application 15 in the user system 10. In this case, since the installation of the application can be prevented even by not transmitting the first authentication key, the first authentication key may not be transmitted without transmitting the non-installable information.

S125 단계에서 설치횟수가 불법복제 오차허용한계 이내인 경우, 어플리케이션 인증시스템(30)은 수신된 유일소스를 통해 제품번호와 제 1 인증키를 생성한다. (S140 단계) 제품번호는 하나의 어플리케이션(15)에 대하여 동일하고, 어플리케이션(15)이 저장매체에 저장되어 판매된 경우, 저장매체에 함께 포함되어 제공될 수 있다. 따라서 이 경우에는 제품번호를 별도로 생성할 필요가 없다.If the number of installation in the step S125 is within the illegal copy error tolerance, the application authentication system 30 generates a product number and a first authentication key through the received source. (Step S140) The product number is the same for one application 15, and if the application 15 is stored and sold in a storage medium, it may be included and included in the storage medium. In this case, therefore, there is no need to generate a serial number separately.

본 발명에 따른 어플리케이션 인증시스템(30)은 사용자 정보, 제품번호 및 제 1 인증키를 인증 데이터베이스(34)에 저장한다.(S145 단계)The application authentication system 30 according to the present invention stores the user information, the product number, and the first authentication key in the authentication database 34 (step S145).

본 발명에 따른 어플리케이션 인증시스템(30)은 사용자에게 제품번호 및 제 1 인증키를 전송한다.(S150 단계) 제품번호와 제 1 인증키의 전송에는 여러가지 방법이 이용될 수 있으나, 바람직하게는 이메일을 이용한다. 또한 저장매체의 구입 등으로 제품번호가 미리 사용자에게 제공된 경우, 제품번호를 전송하지 않을 수 있다.The application authentication system 30 according to the present invention transmits the product number and the first authentication key to the user. (Step S150) Various methods may be used to transmit the product number and the first authentication key. Use In addition, when the product number is provided to the user in advance by purchasing a storage medium, the product number may not be transmitted.

사용자는 어플리케이션 인증시스템(30)으로부터 전송받은 제품번호와 제 1 인증키를 어플리케이션(15)에 입력한다.(S155 단계)The user inputs the product number and the first authentication key received from the application authentication system 30 to the application 15 (step S155).

본 발명에 따른 어플리케이션(15)의 인증키 생성 모듈(17)은 유일소스, 제품번호 및 특별값을 조합하여 제 2 인증키를 생성하고, 인증키 비교 모듈(18)은 생성된 제 2 인증키와 입력된 제 1 인증키를 비교하여 인증함으로써 설치여부를 판단한다. (S160 단계) 즉, 두개의 인증키가 동일한 경우 설치를 진행하고, 두개의 인증키가 상이한 경우 설치를 거부한다. 상기 특별값은 어플리케이션(15) 내에 내장되어 있는 값으로서, 어플리케이션의 판매회사 또는 어플리케이션의 개발자가 미리 설정해 놓은 값이다.The authentication key generation module 17 of the application 15 according to the present invention generates a second authentication key by combining a unique source, a product number, and a special value, and the authentication key comparison module 18 generates the second authentication key. It is determined whether the installation by comparing the first authentication key and the inputted authentication. That is, if the two authentication keys are the same, the installation proceeds, and if the two authentication keys are different, the installation is rejected. The special value is a value embedded in the application 15, which is set in advance by the sales company of the application or the developer of the application.

도 3 은 하드웨어 및 소프트웨어적 유일값을 얻기 위한 프로그램 소스 코드를 나타낸 도이다. 도 3 은 Linux 기반에서, 랜카드의 MAC Address 값과 어플리케이션의 절대경로와 실행파일명을 얻기 위한 C 언어로 작성된 프로그램 소스이다.3 is a diagram illustrating program source code for obtaining hardware and software unique values. 3 is a program source written in C to obtain a MAC address value of a LAN card, an absolute path of an application, and an executable file name under Linux.

도 3a 는 랜카드의 MAC Address 값을 얻기 위한 것이고, 도 3b 는 어플리케이션의 절대 경로와 실행파일명을 얻기 위한 것으로서 qDecoder 라이브러리의 qCgIenv 함수를 이용한 것이다. 도 3a 및 도 3b 의 프로그램 소스는 프로그램 개발환경에 따라 다른 언어 및 다른 함수로 구현이 가능하다. 또한 본 발명이 속한 기술분야의 통상의 지식을 가진 전문가라면 쉽게 이해할 수 있으므로 상세한 설명을 생략한다.Figure 3a is to obtain the MAC address value of the LAN card, Figure 3b is to obtain the absolute path and executable file name of the application using the qCgIenv function of the qDecoder library. The program sources of FIGS. 3A and 3B may be implemented in different languages and different functions according to the program development environment. In addition, it will be easily understood by those skilled in the art to which the present invention pertains, so detailed description thereof will be omitted.

이상 설명한 바대로, 본 발명은 어플리케이션 인증시스템에서 생성된 인증키와 어플리케이션에 의해 생성된 인증키를 비교하여 어플리케이션 설치의 적법성 여부를 판단하므로써, 어플리케이션의 불법복제를 효과적으로 방지할 수 있는 현저한 효과가 있다.As described above, the present invention compares the authentication key generated in the application authentication system with the authentication key generated by the application to determine whether the installation of the application is legitimate, there is a significant effect that can effectively prevent illegal copying of the application. .

또한 어플리케이션의 설치횟수를 판매회사 등이 제한할 수 있으므로 어플리케이션을 구매한 사용자가 무분별하게 여러 시스템에 설치하는 것을 방지할 수 있다. 따라서, 어플리케이션의 판매회사가 마케팅 방법이나 다른 목적성으로 인해 사용자의 어플리케이션 설치를 제어할 수 있다.In addition, since the sales company may limit the number of installations of the application, the user who purchases the application can be prevented from installing the system indiscriminately. Thus, the sales company of the application can control the installation of the user's application due to marketing methods or other purposes.

본 발명의 바람직한 실시례가 특정 용어들을 사용하여 기술되어 왔지만, 그러한 기술은 오로지 설명을 하기 위한 것이며, 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러 가지 변경 및 변화가 가해질 수 있는 것으로 이해되어져야 한다.While the preferred embodiments of the present invention have been described using specific terms, such descriptions are for illustrative purposes only, and it is understood that various changes and modifications may be made without departing from the spirit and scope of the following claims. Should be done.

Claims (9)

고유번호를 갖는 하드웨어와 계층적 구조로 데이터를 저장하는 저장수단을 갖는 사용자 시스템에 설치되어 일련의 기능을 수행하며,It is installed in user system with hardware having unique number and storage means for storing data in hierarchical structure to perform a series of functions. 제공자가 설정한 임의의 데이터값인 특별값을 내장하고,Built-in special values, which are arbitrary data values set by the provider, 상기 하드웨어의 고유번호와 상기 계층적 구조상의 액세스 경로를 인식하고, 상기 고유번호와 상기 액세스 경로를 조합하여 유일소스를 생성하고, 상기 유일소스를 전송하는 유일소스 생성 모듈;A unique source generation module for recognizing the unique number of the hardware and the access path in the hierarchical structure, generating a unique source by combining the unique number and the access path, and transmitting the unique source; 제품번호를 상기 사용자 시스템으로부터 입력받고, 상기 유일소스, 상기 제품번호 및 상기 특별값을 조합하고 암호화하여 제 2 인증키를 생성하는 인증키 생성 모듈; 및An authentication key generation module that receives a product number from the user system, generates a second authentication key by combining and encrypting the unique source, the product number, and the special value; And 제 1 인증키를 상기 사용자 시스템으로부터 입력받고, 상기 제 1 인증키와 상기 제 2 인증키의 동일성 여부를 판단하여 설치진행 여부를 판단하는 인증키 비교 모듈을 구비하는 것을 특징으로 하는 불법복제 방지용 어플리케이션을 저장하는 저장매체.And an authentication key comparison module configured to receive a first authentication key from the user system, determine whether the first authentication key and the second authentication key are identical, and determine whether to proceed with the installation. Storage medium to store. 제 1 항에 있어서,The method of claim 1, 상기 하드웨어의 고유번호가 랜카드의 MAC Address 또는 CPU ID 중 선택된 적어도 하나 이상으로 이루어지는 것을 특징으로 하는 불법복제 방지용 어플리케이션을 저장하는 저장매체.And a unique number of the hardware comprises at least one selected from a MAC address or a CPU ID of a LAN card. 제 1 항 또는 제 2 항 중 어느 한 항에 있어서,The method according to claim 1 or 2, 상기 액세스 경로가 상기 불법복제 방지용 어플리케이션이 설치되는 절대경로 또는 상기 불법복제 방지용 어플리케이션의 실행파일명 중 선택된 적어도 하나 이상으로 이루어지는 것을 특징으로 하는 불법복제 방지용 어플리케이션을 저장하는 저장매체.And the access path comprises at least one selected from an absolute path in which the anti-piracy application is installed or an executable file name of the anti-piracy application. 제 1 항에 있어서,The method of claim 1, 상기 제 1 인증키가, 상기 유일소스, 상기 제품번호 및 상기 특별값을 조합하고 암호화하여 생성된 것임을 특징으로 하는 불법복제 방지용 어플리케이션을 저장하는 저장매체.And the first authentication key is generated by combining and encrypting the unique source, the product number, and the special value. 제 1 항에 있어서,The method of claim 1, 상기 제품번호가 상기 어플리케이션의 구매시 제공되거나 상기 제공자에 의해 운영되는 소정의 서버로부터 전송되고,The serial number is provided at the time of purchase of the application or transmitted from a predetermined server operated by the provider, 상기 제 1 인증키가 상기 서버로부터 전송되는 것을 특징으로 하는 불법복제 방지용 어플리케이션을 저장하는 저장매체.Storage medium for storing an illegal copy prevention application, characterized in that the first authentication key is transmitted from the server. 제 1 항의 불법복제 방지용 어플리케이션을 저장하는 저장매체를 이용하고, 어플리케이션을 무단으로 설치하여 사용하는 것을 방지하기 위하여 설치인증을 하는 소프트웨어 불법복제 방지 시스템으로서,A software piracy prevention system that uses a storage medium that stores the anti-piracy application of claim 1, and authenticates the installation to prevent unauthorized installation and use of the application. 상기 사용자 시스템은,The user system, 상기 불법복제 방지용 어플리케이션이 설치되고, 상기 불법복제 방지용 어플리케이션으로부터 전송요청되는 상기 유일소스를 전송하고, 상기 제품번호 및 상기 제 1 인증키를 수신하여 상기 불법복제 방지용 어플리케이션에 입력하는 것을 특징으로 하고,The piracy prevention application is installed, and transmits the only source that is transmitted from the piracy prevention application, receives the product number and the first authentication key and inputs it to the piracy prevention application. 상기 특별값을 저장하는 소정의 저장수단을 구비하고, 상기 유일소스를 상기 사용자 시스템으로부터 수신하고, 상기 제품번호를 소정의 방법으로 생성하고, 상기 유일소스, 상기 제품번호 및 상기 특별값을 조합하고 암호화하여 상기 제 1 인증키를 생성하고, 상기 제품번호 및 상기 제 1 인증키를 상기 사용자 시스템으로 전송하는 어플리케이션 인증서버 및 상기 유일소스, 상기 제품번호 및 상기 제 1 인증키를 저장하는 인증 데이터베이스를 구비하는 어플리케이션 인증시스템을 포함하는 것을 특징으로 하는 소프트웨어 불법복제 방지 시스템.A predetermined storage means for storing the special value, receiving the unique source from the user system, generating the product number in a predetermined way, combining the unique source, the product number, and the special value; Encrypting to generate the first authentication key, an application authentication server for transmitting the product number and the first authentication key to the user system, and an authentication database for storing the unique source, the product number, and the first authentication key; Software piracy prevention system comprising an application authentication system provided. 제 6 항에 있어서,The method of claim 6, 상기 인증 데이터베이스는, 상기 인증서버가 상기 제 1 인증키를 발급한 횟수 및 발급 허용 횟수를 저장하는 소정의 저장부가 더 구비하고,The authentication database further includes a predetermined storage unit for storing the number of times the authentication server issues the first authentication key and the number of permits for issuing, 상기 어플리케이션 인증서버는, 상기 수신된 유일소스와 상기 인증 데이터베이스에 저장된 유일소스를 비교하고, 두 개의 유일소스가 상이한 경우마다 상기 제 1 인증키의 발급한 횟수를 1 증가시키고, 상기 발급한 횟수가 상기 발급 허용 횟수를 초과하는 경우, 상기 제 1 인증키의 생성 및 전송을 거부하는 것을 특징으로 하는 소프트웨어 불법복제 방지 시스템.The application authentication server compares the received unique source with the unique source stored in the authentication database, and increases the number of times the first authentication key is issued by one each time the two unique sources are different. The software piracy prevention system, characterized in that the generation and transmission of the first authentication key is rejected when the number of times of issuance is exceeded. 어플리케이션을 무단으로 설치하여 사용하는 것을 방지하는 소프트웨어 불법복제 방지 방법으로서,Software piracy prevention method that prevents unauthorized installation and use of applications. 상기 어플리케이션이 설치될 시스템의 하드웨어적 유일값과 소프트웨어적 유일값을 조합하여 생성한 유일소스를 수신하는 유일소스 수신 단계;A unique source receiving step of receiving a unique source generated by combining a hardware unique value and a software unique value of a system on which the application is to be installed; 상기 어플리케이션의 제품번호를 생성하고, 상기 유일소스, 상기 제품번호 및 소정의 특별값을 조합하고 암호화하여 제 1 인증키를 생성하고, 상기 제품번호 및 상기 제 1 인증키를 전송하는 인증정보 전송 단계;Generating a product number of the application, combining and encrypting the unique source, the product number, and a predetermined special value to generate a first authentication key, and transmitting the authentication information for transmitting the product number and the first authentication key. ; 상기 어플리케이션이 상기 유일소스, 상기 제품번호 및 상기 특별값을 조합하고 암호화하여 제 2 인증키를 생성하는 제 2 인증키 생성 단계; 및A second authentication key generation step, wherein the application generates a second authentication key by combining and encrypting the unique source, the product number, and the special value; And 상기 어플리케이션이 상기 제 1 인증키와 상기 제 2 인증키가 동일한 경우, 설치를 진행하는 설치진행 단계를 포함하는 것을 특징으로 하는 소프트웨어 불법복제 방지 방법.If the application is the same as the first authentication key and the second authentication key, the software piracy prevention method comprising the installation progress step of proceeding with the installation. 제 8 항에 있어서 상기 인증정보 전송 단계가,The method of claim 8, wherein the transmitting of the authentication information comprises: 소정의 저장부에 상기 어플리케이션으로부터 수신된 제 1 유일소스가 있는 경우, 상기 수신된 유일소스와 상기 제 1 유일소스를 분석하여 동일성을 판단하는 유일소스 비교 단계;A unique source comparison step of analyzing the received unique source and the first unique source when there is a first unique source received from the application in a predetermined storage unit; 상기 유일소스가 상기 제 1 유일소스와 상이한 경우, 상기 어플리케이션의 설치 횟수를 1 만큼 증가시키는 카운팅 단계; 및A counting step of increasing the number of installations of the application by 1 when the only source is different from the first only source; And 상기 설치 횟수가 설정된 소정의 설치 가능횟수를 초과하는 경우, 상기 제 1 인증키를 생성 및 전송을 거부하는 설치불가 단계를 포함하는 것을 특징으로 하는 소프트웨어 불법복제 방지 방법.And a non-installation step of rejecting generation and transmission of the first authentication key when the number of installations exceeds a predetermined number of installable times.
KR10-2001-0069790A 2001-11-09 2001-11-09 System and method for preventing illegal copying software KR100391168B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0069790A KR100391168B1 (en) 2001-11-09 2001-11-09 System and method for preventing illegal copying software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0069790A KR100391168B1 (en) 2001-11-09 2001-11-09 System and method for preventing illegal copying software

Publications (2)

Publication Number Publication Date
KR20030038995A KR20030038995A (en) 2003-05-17
KR100391168B1 true KR100391168B1 (en) 2003-07-12

Family

ID=29568751

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0069790A KR100391168B1 (en) 2001-11-09 2001-11-09 System and method for preventing illegal copying software

Country Status (1)

Country Link
KR (1) KR100391168B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023085599A1 (en) * 2021-11-15 2023-05-19 삼성전자 주식회사 Electronic device and application package management method

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030084123A (en) * 2002-04-25 2003-11-01 이재환 Method for certifing software through network
KR100559151B1 (en) * 2003-04-23 2006-03-13 한국정보인증주식회사 Method and apparatus for maintaining the security of CD-ROM
KR100705562B1 (en) * 2003-12-18 2007-04-10 삼성전자주식회사 The method for providing application program service based on MAC address
JP4514134B2 (en) * 2005-01-24 2010-07-28 株式会社コナミデジタルエンタテインメント Network system, server device, unauthorized use detection method, and program
KR100832221B1 (en) * 2006-12-28 2008-05-23 주식회사 하이스마텍 Software copyright protecting device
US8001383B2 (en) 2007-02-01 2011-08-16 Microsoft Corporation Secure serial number
KR101390677B1 (en) * 2012-10-05 2014-04-30 주식회사 인프라웨어테크놀러지 Method of managing copies of embedded software, and computer-readable recording medium with copy-management program for the same
KR101425315B1 (en) * 2013-01-28 2014-08-04 숭실대학교산학협력단 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
KR102072133B1 (en) * 2013-07-03 2020-01-31 주식회사 카카오 System and method for advertisement
KR101561771B1 (en) * 2014-02-27 2015-12-21 구대근 The software license authentication apparatus and the method of using the portable terminal
KR101672324B1 (en) * 2015-03-31 2016-11-04 주식회사 신세계아이앤씨 System and method for providing mobile payment service supporting convinient complex payment of user
KR102393537B1 (en) * 2021-01-12 2022-05-04 주식회사 티이이웨어 Method and system for managing software license based on trusted execution environment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240520A (en) * 1996-11-20 1998-09-11 At & T Corp Method and system for using individual information as key at the time of distributing information
KR20010079031A (en) * 2001-06-07 2001-08-22 전용옥 MAC CD-KEY omitted
KR20010094890A (en) * 2000-04-07 2001-11-03 김미정 Software setup control method over online
KR20020031499A (en) * 2000-10-20 2002-05-02 김영돈, 정춘보 Method for checking illegal copy program
KR20020051612A (en) * 2000-12-23 2002-06-29 오길록 Prevention Of Illegal Software Usage Using Install Key Management Server
KR20020082064A (en) * 2001-04-23 2002-10-30 주식회사 인터넷시큐리티 Program install method using security key
KR100361869B1 (en) * 2001-03-02 2002-11-22 정지혜 The Installing and Executing Method To Use The Chiper Key

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240520A (en) * 1996-11-20 1998-09-11 At & T Corp Method and system for using individual information as key at the time of distributing information
KR20010094890A (en) * 2000-04-07 2001-11-03 김미정 Software setup control method over online
KR20020031499A (en) * 2000-10-20 2002-05-02 김영돈, 정춘보 Method for checking illegal copy program
KR20020051612A (en) * 2000-12-23 2002-06-29 오길록 Prevention Of Illegal Software Usage Using Install Key Management Server
KR100361869B1 (en) * 2001-03-02 2002-11-22 정지혜 The Installing and Executing Method To Use The Chiper Key
KR20020082064A (en) * 2001-04-23 2002-10-30 주식회사 인터넷시큐리티 Program install method using security key
KR20010079031A (en) * 2001-06-07 2001-08-22 전용옥 MAC CD-KEY omitted

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023085599A1 (en) * 2021-11-15 2023-05-19 삼성전자 주식회사 Electronic device and application package management method

Also Published As

Publication number Publication date
KR20030038995A (en) 2003-05-17

Similar Documents

Publication Publication Date Title
CN1326053C (en) Contents delivery system, information processing apparatus or information processing method and computer program
US6460140B1 (en) System for controlling the use of licensed software
US7134144B2 (en) Detecting and responding to a clock rollback in a digital rights management system on a computing device
US9246916B2 (en) Specifying rights in a digital rights license according to events
US6108420A (en) Method and system for networked installation of uniquely customized, authenticable, and traceable software application
EP0556305B1 (en) A secure system for activating personal computer software at remote locations
US7716474B2 (en) Anti-piracy software protection system and method
JP3830365B2 (en) Method and apparatus for protecting computer software and / or computer readable data
KR100477645B1 (en) Method of generating serial number and apparatus thereof
JP2006518901A (en) Digital content distribution and rights management
US20080262968A1 (en) Software licensing control via mobile devices
WO2002080448A1 (en) Information processing apparatus
KR20020083851A (en) Method of protecting and managing digital contents and system for using thereof
CA2371124A1 (en) Information processing method/apparatus and program
WO2002080446A1 (en) Information processing apparatus
KR100391168B1 (en) System and method for preventing illegal copying software
CA2421494A1 (en) System and method for preventing unauthorized access to electronic data
WO2002080442A1 (en) Information processing apparatus
JP2001175468A (en) Method and device for controlling use of software
KR20120051662A (en) A method for controlling unauthorized software application usage
WO2006031127A2 (en) Methods and arrangements for distributing computer programs and user licenses in a secure manner
EP1837789A2 (en) Method and apparatus for temporarily accessing content using temporary license
EA006661B1 (en) Method and device for protecting information against unauthorized use
JP3950095B2 (en) Authentication server, authentication method, authentication request terminal, and authentication request program
KR100467571B1 (en) Security service method for digital content and system therefor

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110701

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee