KR101325096B1 - System and method for preventing illegal duplication - Google Patents

System and method for preventing illegal duplication Download PDF

Info

Publication number
KR101325096B1
KR101325096B1 KR1020120036027A KR20120036027A KR101325096B1 KR 101325096 B1 KR101325096 B1 KR 101325096B1 KR 1020120036027 A KR1020120036027 A KR 1020120036027A KR 20120036027 A KR20120036027 A KR 20120036027A KR 101325096 B1 KR101325096 B1 KR 101325096B1
Authority
KR
South Korea
Prior art keywords
hash value
data
unit
file
mobile device
Prior art date
Application number
KR1020120036027A
Other languages
Korean (ko)
Inventor
김석규
황성민
Original Assignee
주식회사 니벤스컴퍼니
안동대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 니벤스컴퍼니, 안동대학교 산학협력단 filed Critical 주식회사 니벤스컴퍼니
Priority to KR1020120036027A priority Critical patent/KR101325096B1/en
Application granted granted Critical
Publication of KR101325096B1 publication Critical patent/KR101325096B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

A system for preventing an illegal copy and a method thereof are provided. A mobile device divides a hash value of a stored file into the data of a predetermined size. The mobile device codes the divided data and configures transmitting data by additionally inputting serial numbers to each coded data. A management server confirms the serial numbers by decoding the transmitting data and confirms the hash value of the file based on the confirmed serial numbers. The management server limits file usage by comparing the confirmed hash value with a stored standard hash value. [Reference numerals] (10) Communication network;(100) Mobile device;(110) Storage unit;(111) Hash value calculating unit;(112) Hash value dividing unit;(113) First encoding unit;(114) Data constructing unit;(115) Second encoding unit;(120) Memory unit;(130,220) Transceiving unit;(200) Management server;(210) Hash value storage unit;(230) First decoding unit;(240) Second decoding unit;(250) Data combination unit;(260) Hash value comparing unit;(270) Control unit;(AA) Execution file;(BB) Client

Description

불법 복제 방지 시스템 및 불법 복제 방지 방법{System and Method for Preventing Illegal Duplication}System and Method for Preventing Illegal Duplication}

본 발명은 불법 복제 방지 시스템 및 불법 복제 방지 방법에 관한 것으로, 보다 상세하게는 파일의 해쉬값을 이용하여 불법 복제된 파일의 사용을 제한할 수 있는 불법 복제 방지 시스템 및 불법 복제 방지 방법에 관한 것이다.The present invention relates to an anti-piracy system and an anti-piracy method, and more particularly, to an anti-piracy system and an anti-piracy method that can restrict the use of illegally copied files using a hash value of the file. .

IT(Information Technology) 기술이 복잡하고 다양하게 복합화됨에 따라 IT 정보를 보안하기 위한 환경도 많은 관심을 받고 있다. 정보 보안 환경의 변화는 정보통신 네트워크의 비약적인 발전 및 IT에 대한 업무 의존도를 증가시킴과 더불어 보안의 취약점도 같이 증가시키게 된다. 예를 들어, 무선 네트워크의 경우에는 모바일 기기가 유선 케이블을 통해 네트워크에 접속하는 것이 아니라, 어떠한 물리적 연결이 개입되지 않고 현재 위치에서 선택적으로 네트워크에 불법으로 접속할 수 있다. 따라서, 스마트폰과 같은 모바일 기기는 접속한 네트워크의 서버를 불법으로 해킹하고, 해킹한 서버로부터 어플리케이션을 다운받을 수 있다.As information technology (IT) technology is complicated and diversely complex, an environment for securing IT information is also receiving much attention. Changes in the information security environment will lead to the rapid development of information and communication networks and increase the dependence on IT, and also increase the vulnerability of security. For example, in the case of a wireless network, the mobile device may not connect to the network via a wired cable, but may selectively illegally access the network at the current location without any physical connection involved. Therefore, a mobile device such as a smart phone may illegally hack a server of the connected network and download an application from the hacked server.

본 발명적 개념의 예시적 실시예에 따르면, 모바일 단말기가 불법적으로 해킹한 어플리케이션을 사용하려는 경우, 어플리케이션의 사용을 미연에 막을 수 있는 불법 복제 방지 시스템 및 불법 복제 방지 방법을 제공하는 것이다.According to an exemplary embodiment of the present invention, when a mobile terminal intends to use an illegally hacked application, it is to provide an anti-piracy system and an anti-piracy method that can prevent the use of the application in advance.

본 발명적 개념의 다른 예시적 실시 예에 따르면, 저장된 파일의 해쉬값을 사전에 정해진 크기의 데이터로 분할하고, 상기 분할된 데이터들을 각각 암호화하고, 상기 암호화된 각 데이터에 시리얼 넘버를 추가로 기재하여 송신용 데이터들을 구성하는 모바일 기기; 및 상기 모바일 기기로부터 수신되는 송신용 데이터들을 복호화하여 상기 시리얼 넘버들을 확인하고, 상기 확인된 시리얼 넘버들에 기초하여 상기 파일의 해쉬값을 파악하며, 상기 파악된 해쉬값과 기저장된 기준 해쉬값을 비교하여 상기 파일의 사용 여부를 제한하는 관리 서버;를 포함하는 것을 특징으로 하는 불법 복제 방지 시스템이 개시된다.According to another exemplary embodiment of the inventive concept, a hash value of a stored file is divided into data having a predetermined size, each of the divided data is encrypted, and a serial number is further described in each of the encrypted data. A mobile device configured to configure data for transmission; And verifying the serial numbers by decoding the data for transmission received from the mobile device, determining the hash value of the file based on the identified serial numbers, and determining the identified hash value and the previously stored reference hash value. Compared to the management server for limiting the use of the file; illegal piracy prevention system characterized in that it comprises a.

상기 모바일 기기는, 상기 송신용 데이터들을 더 암호화하여 상기 관리 서버로 전송할 수 있다.The mobile device may further encrypt the transmission data and transmit the encrypted data to the management server.

상기 관리 서버는, 상기 수신된 송신용 데이터들을 각각 복호화하여 상기 분할된 데이터들을 구하고, 상기 분할된 각 데이터에 기재된 시리얼 넘버들을 이용하여 상기 분할된 데이터들을 순서대로 조합하여 상기 파일의 해쉬값을 파악한 후, 상기 파악된 해쉬값과 상기 기준 해쉬값을 비교할 수 있다The management server decodes the received transmission data, obtains the divided data, and combines the divided data in order by using serial numbers described in the divided data to determine a hash value of the file. Then, the identified hash value and the reference hash value may be compared.

한편, 본 발명적 개념의 다른 예시적 실시 예에 따르면, 모바일 기기에 저장된 파일의 해쉬값을 사전에 정해진 크기의 데이터로 분할하고, 상기 분할된 데이터들을 각각 암호화하고, 상기 암호화된 각 데이터에 시리얼 넘버를 추가로 기재하여 송신용 데이터들을 구성하는 단계; 상기 구성된 송신용 데이터들을 상기 파일의 불법 복제 방지를 위한 관리 서버로 전송하는 단계; 및 상기 관리 서버에서 상기 모바일 기기로부터 수신되는 송신용 데이터들을 복호화하여 상기 시리얼 넘버들을 확인하고, 상기 확인된 시리얼 넘버들에 기초하여 상기 파일의 해쉬값을 파악하며, 상기 파악된 해쉬값과 기저장된 기준 해쉬값을 비교하여 상기 파일의 사용 여부를 제한하는 단계;를 포함하는 것을 특징으로 하는 불법 복제 방지 방법이 개시된다.Meanwhile, according to another exemplary embodiment of the inventive concept, a hash value of a file stored in a mobile device is divided into data having a predetermined size, each of the divided data is encrypted, and serial to each encrypted data. Organizing data for transmission by further describing the number; Transmitting the configured transmission data to a management server for preventing illegal copying of the file; And verifying the serial numbers by decrypting the transmission data received from the mobile device in the management server, identifying the hash value of the file based on the identified serial numbers, and the identified hash value and previously stored. Limiting the use or not of the file by comparing a reference hash value is disclosed.

상기 파일의 사용 여부를 제한하는 단계는, 상기 수신된 송신용 데이터들을 각각 복호화하여 상기 분할된 데이터들을 구하고, 상기 분할된 각 데이터에 기재된 시리얼 넘버를 이용하여 상기 분할된 데이터들을 순서대로 조합하여 상기 파일의 해쉬값을 파악한 후, 상기 파악된 해쉬값과 상기 기준 해쉬값을 비교할 수 있다.Restricting whether or not the file is used may include decoding the received transmission data to obtain the divided data, and combining the divided data in order using a serial number described in each of the divided data. After determining the hash value of the file, the determined hash value and the reference hash value may be compared.

상기 파악된 해쉬값과 상기 기준 해쉬값이 동일하면 상기 모바일 기기에 저장된 파일의 사용을 승인하는 단계;를 더 포함할 수 있다.Approving the use of the file stored in the mobile device if the identified hash value and the reference hash value is the same.

본 발명적 개념의 하나 이상의 예시적 실시 예에 따르면, 모바일 단말기에 불법적으로 해킹되어 다운로딩된 어플리케이션이 사용되는 경우, 어플리케이션의 사용을 막을 수 있다.According to one or more exemplary embodiments of the present inventive concept, when an application downloaded illegally hacked into a mobile terminal is used, use of the application may be prevented.

모바일 기기가 가지는 클라이언트는 주기적 또는 항시 또는 사용자의 요청이 있는 경우, 모바일 기기에 저장된 어플리케이션의 파일에 대한 해쉬값을 산출하고, 산출된 해쉬값을 관리서버로 보낸다. 관리서버는 기저장된 기준 해쉬값과 모바일 기기로부터 수신된 해쉬값을 비교하여 모바일 기기에 저장된 파일이 정품인지를 정확히 판단할 수 있다.The client with the mobile device periodically calculates a hash value for a file of an application stored in the mobile device periodically or at all times or at the request of a user, and sends the calculated hash value to the management server. The management server may accurately determine whether a file stored in the mobile device is genuine by comparing the stored reference hash value with the hash value received from the mobile device.

도 1은 본 발명적 개념의 예시적 실시예에 따른 불법 복제 방지 시스템을 도시한 도면,
도 2는 본 발명적 개념의 예시적 실시예에 따른 불법 복제 방지 방법 중 모바일 기기에서의 동작을 설명하기 위한 흐름도, 그리고,
도 3은 본 발명적 개념의 예시적 실시예에 따른 불법 복제 방지 방법 중 관리 서버에서의 동작을 설명하기 위한 흐름도이다.
1 illustrates an illegal copy protection system according to an exemplary embodiment of the inventive concept;
2 is a flowchart illustrating an operation of a mobile device in an illegal copy prevention method according to an exemplary embodiment of the present invention;
3 is a flowchart illustrating an operation of a management server in an illegal copy prevention method according to an exemplary embodiment of the present invention.

이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features, and advantages of the present invention will become more readily apparent from the following description of preferred embodiments with reference to the accompanying drawings. However, the present invention is not limited to the embodiments described herein but may be embodied in other forms. Rather, the embodiments disclosed herein are provided so that the disclosure can be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.

본 명세서에서, 어떤 구성요소가 다른 구성요소 상에 있다고 언급되는 경우에 그것은 다른 구성요소 상에 직접 형성될 수 있거나 또는 그들 사이에 제 3의 구성요소가 개재될 수도 있다는 것을 의미한다. In this specification, when an element is referred to as being on another element, it may be directly formed on another element, or a third element may be interposed therebetween.

본 명세서에서 제1, 제2 등의 용어가 구성요소들을 기술하기 위해서 사용된 경우, 이들 구성요소들이 이 같은 용어들에 의해서 한정되어서는 안 된다. 이들 용어들은 단지 어느 구성요소를 다른 구성요소와 구별시키기 위해서 사용되었을 뿐이다. 여기에 설명되고 예시되는 실시예들은 그것의 상보적인 실시예들도 포함한다.Where the terms first, second, etc. are used herein to describe components, these components should not be limited by such terms. These terms have only been used to distinguish one component from another. The embodiments described and exemplified herein also include their complementary embodiments.

또한, 제1 엘리먼트(또는 구성요소)가 제2 엘리먼트(또는 구성요소) 상(ON)에서 동작 또는 실행된다고 언급될 때, 제1 엘리먼트(또는 구성요소)는 제2 엘리먼트(또는 구성요소)가 동작 또는 실행되는 환경에서 동작 또는 실행되거나 또는 제2 엘리먼트(또는 구성요소)와 직접 또는 간접적으로 상호 작용을 통해서 동작 또는 실행되는 것으로 이해되어야 할 것이다.Also, when it is mentioned that a first element (or component) is operated or executed on a second element (or component), the first element (or component) is a second element (or component). It is to be understood that the operation or execution in the environment in which the operation or the execution is performed or the operation or execution is performed through direct or indirect interaction with the second element (or component).

어떤 엘리먼트, 구성요소, 장치, 또는 시스템이 프로그램 또는 소프트웨어로 이루어진 구성요소를 포함한다고 언급되는 경우, 명시적인 언급이 없더라도, 그 엘리먼트, 구성요소, 장치, 또는 시스템은 그 프로그램 또는 소프트웨어가 실행 또는 동작하는데 필요한 하드웨어(예를 들면, 메모리, CPU 등)나 다른 프로그램 또는 소프트웨어(예를 들면 운영체제나 하드웨어를 구동하는데 필요한 드라이버 등)를 포함하는 것으로 이해되어야 할 것이다.It is to be understood that when an element, component, apparatus, or system is referred to as comprising a program or a component made up of software, it is not explicitly stated that the element, component, (E.g., memory, CPU, etc.) or other programs or software (e.g., drivers necessary to drive an operating system or hardware, etc.)

또한 어떤 엘리먼트(또는 구성요소)가 구현됨에 있어서 특별한 언급이 없다면, 그 엘리먼트(또는 구성요소)는 소프트웨어, 하드웨어, 또는 소프트웨어 및 하드웨어 어떤 형태로도 구현될 수 있는 것으로 이해되어야 할 것이다.It is also to be understood that the elements (or components) may be implemented in software, hardware, or any form of software and hardware, unless the context clearly dictates otherwise.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. The terms "comprises" and / or "comprising" used in the specification do not exclude the presence or addition of one or more other elements.

이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다. 아래의 특정 실시예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다. Hereinafter, the present invention will be described in detail with reference to the drawings. In describing the specific embodiments below, various specific details have been set forth in order to explain the invention in greater detail and to assist in understanding it. However, those skilled in the art can understand that the present invention can be used without these various specific details. In some cases, it is mentioned in advance that parts of the invention which are commonly known in the description of the invention and which are not highly related to the invention are not described in order to prevent confusion in explaining the invention without cause.

도 1은 본 발명적 개념의 예시적 실시예에 따른 불법 복제 방지 시스템을 도시한 도면이다.1 is a diagram illustrating a piracy prevention system according to an exemplary embodiment of the inventive concept.

도 1에 예시적으로 도시된 불법 복제 방지 시스템은 모바일 기기(100) 및 관리 서버(200)를 포함한다. 모바일 기기(100)와 관리 서버(200)는 통신망을 통해 유선 또는 무선 연결되어 데이터를 송수신할 수 있다.Illustratively, the anti-piracy system illustrated in FIG. 1 includes a mobile device 100 and a management server 200. The mobile device 100 and the management server 200 may be wired or wirelessly connected through a communication network to transmit and receive data.

모바일 기기(100)는 유선 통신 또는 무선 통신이 가능한 기기로서, 스마트폰, 태블릿 PC 등 다양한 휴대용 기기일 수 있다. 모바일 기기(100)의 사용자는 모바일 기기(100)를 조작하여 다양한 어플리케이션의 실행 파일을 다운로딩한 후, 실행 파일을 모바일 기기(100)에 설치할 수 있다. 이때, 사용자는 불법적으로 해킹한 어플리케이션을 모바일 기기(100)에 설치하여 사용할 수 있으며, 본 발명의 실시예에서는 이러한 불법적 다운로딩에 의한 어플리케이션의 사용을 차단 또는 방지할 수 있도록 한다.The mobile device 100 is a device capable of wired or wireless communication, and may be various portable devices such as a smartphone and a tablet PC. The user of the mobile device 100 may download the executable files of various applications by manipulating the mobile device 100, and then install the executable files in the mobile device 100. In this case, the user may install and use an illegally hacked application on the mobile device 100, and in the embodiment of the present invention, the user may block or prevent the use of the application by illegal downloading.

이를 위하여, 본 발명의 실시예에 따른 모바일 기기(100)는 저장부(110), 메모리부(120), 송수신부(130) 및 중앙처리장치(CPU: Central Processing Unit)(140)를 포함한다.To this end, the mobile device 100 according to the embodiment of the present invention includes a storage unit 110, a memory unit 120, a transceiver 130 and a central processing unit (CPU) (140). .

저장부(110)에는 모바일 기기(100)의 사용자가 선택한 어플리케이션의 실행파일이 하나 이상 저장될 수 있다. 실행파일은 어플리케이션을 설치 및 실행하는데 필요한 모든 파일들의 집합일 수 있다.The storage 110 may store one or more execution files of an application selected by the user of the mobile device 100. An executable file can be a collection of all the files needed to install and run an application.

또한, 저장부(110)에는 실행파일이 불법적으로 다운로딩되었는지를 검사하는데 필요한 클라이언트가 저장될 수 있다. 클라이언트는 실행파일의 해쉬값을 구하고, 해쉬값으로부터 실행파일의 적합성 여부를 검사하는데 필요한 송신용 데이터를 구성하는 소프트웨어일 수 있다. In addition, the storage 110 may store a client necessary to check whether an executable file is illegally downloaded. The client may be software that obtains a hash value of the executable file and constructs data for transmission necessary to check suitability of the executable file from the hash value.

클라이언트는 저장부(110)에 저장되어 있다가, 주기적으로 또는 사용자의 요청에 의해 또는 실행파일이 저장부(110)에 저장될 때마다 메모리부(120)로 로딩되어 동작될 수 있다. 본 실시예에서 설명할 클라이언트는 소프트웨어로 구현되나 클라이언트의 구성요소들 중 일부는 하드웨어로 구현될 수도 있다.The client may be stored in the storage unit 110, and may be loaded and operated in the memory unit 120 periodically or at a user's request or whenever an executable file is stored in the storage unit 110. The client to be described in this embodiment is implemented in software, but some of the components of the client may be implemented in hardware.

클라이언트는 해쉬값 산출부(111), 해쉬값 분할부(112), 제1암호화부(113), 데이터 구성부(114) 및 제2암호화부(115)를 포함할 수 있다.The client may include a hash value calculator 111, a hash value divider 112, a first encryption unit 113, a data constructing unit 114, and a second encryption unit 115.

해쉬값 산출부(111)는 저장부(110)에 저장되는 실행파일을 해쉬함수(H)에 입력하여 실행파일의 해쉬값(HV)을 구할 수 있다. 실행파일은 '01111010'과 같은 형식의 값을 가지며, 해쉬값 산출부(111)는 실행파일의 값을 해쉬함수에 대입하여 실행파일의 해쉬값을 구할 수 있다. 해쉬값 산출부(111)는 구한 해쉬값을 해쉬값 분할부(112)로 전달한다.The hash value calculator 111 may input an executable file stored in the storage unit 110 into the hash function H to obtain a hash value H V of the executable file. The executable file has a value of a format such as '01111010', and the hash value calculating unit 111 can obtain a hash value of the executable file by substituting the value of the executable file into the hash function. The hash value calculating unit 111 transfers the obtained hash value to the hash value dividing unit 112.

해쉬값 분할부(112)는 실행파일의 해쉬값을 사전에 정해진 크기의 데이터, 즉, 사전에 정해진 자릿수를 가지는 데이터로 분할할 수 있다. 예를 들어, 해쉬값이 총 16자리인 경우, 사전에 정해진 자릿수가 4개이면, 해쉬값 분할부(112)는 해쉬값 중 4자리를 하나의 데이터로서 정하여, 해쉬값을 정해진 개수의 데이터(예를 들어, P1, P2, P3, P4)로 분할할 수 있다. 해쉬값 분할부(112)는 분할된 각 데이터들(P1, P2, P3, P4)을 제1암호화부(113)로 전달한다.The hash value dividing unit 112 may divide the hash value of the executable file into data having a predetermined size, that is, data having a predetermined number of digits. For example, when the hash value is 16 digits in total, if the predetermined number of digits is 4, the hash value dividing unit 112 determines 4 digits of the hash value as one data, and sets the hash value to the predetermined number of data ( For example, it can divide into P1, P2, P3, P4). The hash value dividing unit 112 transmits the divided data P1, P2, P3, and P4 to the first encryption unit 113.

제1암호화부(113)는 해쉬값 분할부(112)에서 분할된 데이터들(P1, P2, P3, P4)을 각각 제1암호화 알고리즘(E1)을 이용하여 암호화할 수 있다. 제1암호화부(113)는 암호화된 각 분할 데이터들(E1(P1), E1(P2), E1(P3), E1(P4))을 데이터 구성부(114)로 전달한다.The first encryption unit 113 may encrypt the data P1, P2, P3, and P4 divided by the hash value division unit 112 by using the first encryption algorithm E1. The first encryption unit 113 transmits the encrypted pieces of divided data E1 (P1), E1 (P2), E1 (P3), and E1 (P4) to the data constructing unit 114.

데이터 구성부(114)는 암호화된 분할 데이터들(E1(P1), E1(P2), E1(P3), E1(P4)) 각각에 시리얼 넘버를 추가로 기재하여 송신용 데이터들(T1, T2, T3, T4)을 구성할 수 있다. 시리얼 넘버는 분할 데이터들이 만들어진 순서를 표기하는데 사용된다. The data construction unit 114 further writes a serial number in each of the encrypted divided data E1 (P1), E1 (P2), E1 (P3), and E1 (P4) to transmit data (T1, T2). , T3, T4) can be configured. The serial number is used to indicate the order in which partition data is created.

또한, 데이터 구성부(114)는 각 분할 데이터에 더미데이터를 추가로 기재할 수도 있으며, 이는 데이터 전송에 필요한 규격에 부응하기 위함이다. 각 분할 데이터에 추가되는 더미데이터는 동일한 크기를 갖거나 다를 수 있다. 데이터 구성부(114)는 송신용 데이터들(T1, T2, T3, T4)을 제2암호화부(115)로 전달한다.In addition, the data configuration unit 114 may additionally describe dummy data in each divided data, which is to comply with a standard required for data transmission. Dummy data added to each divided data may have the same size or may be different. The data constructing unit 114 transmits the transmission data T1, T2, T3, and T4 to the second encryption unit 115.

제2암호화부(115)는 데이터 구성부(114)에서 구성된 송신용 데이터들(T1, T2, T3, T4)을 각각 제2암호화 알고리즘(E2)을 이용하여 암호화할 수 있다.The second encryption unit 115 may encrypt the transmission data T1, T2, T3, and T4 configured in the data configuration unit 114 using the second encryption algorithm E2, respectively.

CPU(140)의 관리하에 제2암호화부(115)가 송신용 데이터들을 암호화하면, 송수신부(130)는 암호화된 송신용 데이터들(E2(T1), E2(T2), E2(T3), E2(T4))을 통신망(10)을 통해 관리 서버(200)로 전송한다.When the second encryption unit 115 encrypts the data for transmission under management of the CPU 140, the transceiver 130 may transmit the encrypted transmission data E2 (T1), E2 (T2), E2 (T3), E2 (T4)) is transmitted to the management server 200 via the communication network (10).

CPU(140)는 저장부(110)에 실행파일이 저장되면 자동으로 클라이언트를 메모리부(120)로 로딩시켜 동작시킬 수 있다. 또는, CPU(140)는 사용자의 요청이 입력되거나 주기적으로 저장부(110)에 새로운 실행파일이 저장되었는지를 확인하여 새로운 실행파일이 있으면, 자동으로 클라이언트를 메모리부(120)로 로딩시켜 동작시킬 수 있다. 따라서, 클라이언트는 저장부(110)에 저장된 실행파일에 대하여 상술한 동작을 수행할 수 있다.When the execution file is stored in the storage unit 110, the CPU 140 may automatically load and operate the client into the memory unit 120. Alternatively, the CPU 140 checks whether a user's request is input or periodically saves a new executable file in the storage unit 110, and if there is a new executable file, automatically loads the client into the memory unit 120 to operate it. Can be. Accordingly, the client may perform the above-described operation on the executable file stored in the storage 110.

또한, CPU(140)는 추가적으로 저장부(110)에 저장된 실행파일을 메모리부(120)로 로딩시킬 수 있다. 이러한 경우, 클라이언트는 메모리부(120)에 로딩된 실행파일에 대하여 상술한 동작을 수행할 수 있다.In addition, the CPU 140 may additionally load the executable file stored in the storage unit 110 into the memory unit 120. In this case, the client may perform the above-described operation on the executable file loaded in the memory unit 120.

한편, 관리 서버(200)는 모바일 기기(100)로부터 암호화된 송신용 데이터들을 수신하고, 수신된 송신용 데이터들로부터 해쉬값을 구하여 파악할 수 있다. 관리 서버(200)는 파악된 해쉬값을, 해쉬값 저장부(210)에 저장된 기준 해쉬값과 비교하여 두 해쉬값의 동일여부를 판단할 수 있다. 즉, 관리 서버(200)는 모바일 기기(100)로부터 수신되는 송신용 데이터들을 복호화하여 송신용 데이터들 각각의 시리얼 넘버들을 확인하고, 확인된 시리얼 넘버들에 기초하여 파일의 해쉬값을 파악하며, 파악된 해쉬값과 기저장된 기준 해쉬값을 비교하여 파일의 사용 여부를 제한할 수 있다.Meanwhile, the management server 200 may receive encrypted transmission data from the mobile device 100, obtain a hash value from the received transmission data, and determine the hash value. The management server 200 may determine whether two hash values are equal by comparing the identified hash value with a reference hash value stored in the hash value storage 210. That is, the management server 200 decrypts transmission data received from the mobile device 100 to confirm serial numbers of respective transmission data, and to identify a hash value of a file based on the identified serial numbers. You can limit the use of the file by comparing the identified hash value with the pre-stored reference hash value.

이를 위하여, 관리 서버(200)는 해쉬값 저장부(210), 송수신부(220), 제1복호화부(230), 제2복호화부(240), 데이터 조합부(250), 해쉬값 비교부(260) 및 제어부(270)를 포함할 수 있다.To this end, the management server 200 is a hash value storage unit 210, the transceiver 220, the first decoder 230, the second decoder 240, the data combination unit 250, the hash value comparison unit 260 and the controller 270 may be included.

해쉬값 저장부(210)에는 다양한 어플리케이션들의 실행파일에 대한 해쉬값이 사전에 저장될 수 있다. 예를 들어, 프로그램 제작사는 어플리케이션을 배포할 때마다 어플리케이션의 실행파일의 해쉬값을 관리 서버(200)에게 제공하며, 관리 서버(200)는 제공받은 실행파일을 해쉬값 저장부(210)에 저장할 수 있다.The hash value storage unit 210 may store hash values for executable files of various applications in advance. For example, the program maker provides the management server 200 with the hash value of the executable file of the application every time the application is distributed, and the management server 200 stores the received executable file in the hash value storage unit 210. Can be.

송수신부(220)는 모바일 기기(100)로부터 암호화된 송신용 데이터들을 수신하고, 모바일 기기(100)에게 실행파일의 사용 적합성 여부에 대한 결과를 전송할 수 있다.The transmitter / receiver 220 may receive encrypted transmission data from the mobile device 100, and may transmit a result regarding whether the executable file is suitable for use to the mobile device 100.

제1복호화부(230)는 모바일 기기(100)로부터 수신된 암호화된 송신용 데이터들(E2(T1), E2(T2), E2(T3), E2(T4))을 제1복호화 알고리즘(D1)을 이용하여 각각 복호화할 수 있다. 제1복호화 알고리즘은 모바일 기기(100)의 제2암호화 알고리즘에 상응하는 알고리즘이다. The first decryption unit 230 decodes the encrypted transmission data E2 (T1), E2 (T2), E2 (T3), and E2 (T4) received from the mobile device 100. ) Can be decoded separately. The first decoding algorithm is an algorithm corresponding to the second encryption algorithm of the mobile device 100.

제1복호화 알고리즘에 의해 복호화된 송신용 데이터들(T1, T2, T3, T4)은 각각 모바일 기기(100)에서 암호화된 분할데이터와 시리얼 넘버와 더미데이터를 포함할 수 있다. 예를 들어, 복호화된 송신용 데이터(T1)는 암호화된 분할데이터(E1(P1))와 시리얼 넘버(S1)과 더미데이터(D)를 포함하고 있다. 제1복호화부(230)는 제1복호화 알고리즘에 의해 복호화된 송신용 데이터들과, 각 시리얼 넘버를 제2복호화부(240)로 전달한다. The transmission data T1, T2, T3, and T4 decrypted by the first decoding algorithm may include the divided data, the serial number, and the dummy data encrypted by the mobile device 100, respectively. For example, the decrypted transmission data T1 includes encrypted divided data E1 (P1), a serial number S1, and dummy data D. FIG. The first decoding unit 230 transmits the transmission data decoded by the first decoding algorithm and each serial number to the second decoding unit 240.

제2복호화부(240)는 복호화된 송신용 데이터들에 포함된 암호화된 분할 데이터들(E1(P1), E1(P2), E1(P3), E1(P4))을 각각 제2복호화 알고리즘(D2)을 이용하여 복호화할 수 있다. 제2복호화 알고리즘은 모바일 기기(100)의 제1암호화 알고리즘에 상응하는 알고리즘이다. The second decryption unit 240 respectively encrypts the encrypted fragment data E1 (P1), E1 (P2), E1 (P3), and E1 (P4) included in the decrypted transmission data. Can be decoded using D2). The second decryption algorithm is an algorithm corresponding to the first encryption algorithm of the mobile device 100.

제2복호화부(240)는 분할 데이터들(E1(P1), E1(P2), E1(P3), E1(P4))을 복호화하여 분할 데이터들(P1, P2, P3, P4)과 시리얼 넘버(S1, S2, S3, S4)를 획득할 수 있다. 제2복호화부(240)는 제2복호화 알고리즘에 의해 복호화된 분할 데이터들(P1, P2, P3, P4)과 제1복호화부(230)에서 복호화된 시리얼 넘버를 데이터 조합부(250)로 전달한다. 이때, 제2복호화부(240)는 모바일 기기(100)에서 각 분할 데이터에 추가로 기재된 시리얼 넘버를 분할 데이터와 쌍을 이루어 전달할 수 있다.The second decoder 240 decodes the divided data E1 (P1), E1 (P2), E1 (P3), and E1 (P4) to decode the divided data (P1, P2, P3, P4) and the serial number. (S1, S2, S3, S4) can be obtained. The second decoder 240 transmits the divided data P1, P2, P3, and P4 decoded by the second decoding algorithm and the serial number decoded by the first decoder 230 to the data combiner 250. do. In this case, the second decoding unit 240 may transfer the serial number described in addition to each divided data in pairs with the divided data in the mobile device 100.

데이터 조합부(250)는 복호화된 분할 데이터들을 순서대로 조합하여 해쉬값(HV)을 생성할 수 있다. 데이터 조합부(250)는 각 분할 데이터에 추가로 기재되어 있는 시리얼 넘버를 이용하여 분할 데이터들을 순서대로 조합 및 연결함으로써 해쉬값을 생성할 수 있다. 이는 시리얼 넘버는 각 분할 데이터가 해쉬값에서 자리한 위치를 나타내기 때문이다. 따라서, 생성되는 해쉬값은 모바일 기기(100)에서 산출된 실행파일의 해쉬값과 동일하다.The data combiner 250 may generate the hash value H V by combining the decoded divided data in order. The data combination unit 250 may generate a hash value by combining and connecting the divided data in order using a serial number described in addition to each divided data. This is because the serial number indicates the position of each partitioned data in the hash value. Therefore, the generated hash value is the same as the hash value of the executable file calculated by the mobile device 100.

해쉬값 비교부(260)는 해쉬값 저장부(210)에 저장된 어플리케이션의 실행파일의 해쉬값을 가져와 데이터 조합부(250)에서 생성된 해쉬값과 비교할 수 있다. The hash value comparison unit 260 may take a hash value of an execution file of an application stored in the hash value storage unit 210 and compare the hash value generated by the data combination unit 250.

제어부(270)는 해쉬값 비교부(260)의 비교 결과에 기초하여 모바일 기기(100)에 저장된 실행파일의 사용을 허락하거나 또는 제한할 수 있다. 제어부(270)는 해쉬값 저장부(210)에 저장된 해쉬값과 데이터 조합부(250)에서 생성된 해쉬값이 서로 동일하면, 모바일 기기(100)에 저장된 실행파일의 사용을 허락하는 메시지를 작성하고, 송수신부(220)를 제어하여 메시지를 모바일 기기(100)에게 전송할 수 있다. The controller 270 may allow or restrict the use of the executable file stored in the mobile device 100 based on the comparison result of the hash value comparator 260. If the hash value stored in the hash value storage unit 210 and the hash value generated in the data combination unit 250 are identical to each other, the controller 270 creates a message allowing use of the executable file stored in the mobile device 100. In addition, the transmitter / receiver 220 may be controlled to transmit a message to the mobile device 100.

또한, 제어부(270)는 해쉬값 저장부(210)에 저장된 해쉬값과 데이터 조합부(250)에서 생성된 해쉬값이 서로 다르면, 모바일 기기(100)에 저장된 실행파일의 사용을 제한하는 메시지를 작성하고, 송수신부(220)를 제어하여 메시지를 모바일 기기(100)에게 전송할 수 있다.In addition, if the hash value stored in the hash value storage unit 210 and the hash value generated in the data combination unit 250 are different from each other, the controller 270 may generate a message for limiting the use of the executable file stored in the mobile device 100. The message may be written to the mobile device 100 by controlling the transceiver 220.

도 2는 본 발명적 개념의 예시적 실시예에 따른 불법 복제 방지 방법 중 모바일 기기에서의 동작을 설명하기 위한 흐름도이다.2 is a flowchart illustrating an operation of a mobile device in an illegal copy prevention method according to an exemplary embodiment of the present inventive concept.

도 2의 동작을 수행하는 모바일 기기는 도 1을 참조하여 설명한 모바일 기기(100)일 수 있다.The mobile device performing the operation of FIG. 2 may be the mobile device 100 described with reference to FIG. 1.

도 2를 참조하면, S210단계에서, 모바일 기기는 모바일 기기로 다운로딩된 파일(예를 들어, 어플리케이션의 실행파일)을 해쉬함수(H)에 입력하여 파일의 해쉬값(HV)을 산출할 수 있다. 예를 들어, 파일이 '01111010…' 형태를 가지는 경우, S210단계에서 모바일 기기는 해쉬값(HV)으로서 '1101101101001011'을 산출한다.Referring to FIG. 2, in operation S210, the mobile device may input a file downloaded to the mobile device (for example, an executable file of an application) into a hash function H to calculate a hash value H V of the file. Can be. For example, if the file is '01111010…''If the shape, in step S210 the mobile device calculates'1101101101001011' as a hash value (H V ).

S220단계에서, 모바일 기기는 해쉬값(HV)을 사전에 설정된 크기로 분할할 수 있다. 예를 들어, 모바일 기기는 해쉬값 '1101101101001011'을 4자리수를 기준으로 분할하여 총 4개의 데이터로 분할한다.In operation S220, the mobile device may divide the hash value H V into a preset size. For example, the mobile device divides the hash value '1101101101001011' into four data based on four digits.

S230단계에서, 모바일 기기는 S220단계에서 분할된 분할 데이터(P1, P2, P3, P4)를 제1암호화 알고리즘(E1)을 이용하여 각각 암호화할 수 있다. In operation S230, the mobile device may encrypt the divided data P1, P2, P3, and P4 divided in operation S220, respectively, using the first encryption algorithm E1.

S240단계에서, 모바일 기기는 암호화된 각 분할 데이터(E1(P1), E1(P2), E1(P3), E1(P4))에 시리얼 넘버(S1, S2, S3, S4)와 더미데이터(D)를 붙여서 송신용 데이터들(T1, T2, T3, T4)를 구성할 수 있다. 모바일 기기는 각 분할 데이터(E1(P1), E1(P2), E1(P3), E1(P4))의 순서에 기초하여 시리얼 넘버(S1, S2, S3, S4)를 분할 데이터에 하나씩 순서대로 추가한다. 도 2의 경우, S1=1, S2=2, S3=3, S4=4일 수 있다.In operation S240, the mobile device transmits the serial number S1, S2, S3, S4 and dummy data D to each of the encrypted pieces of divided data E1 (P1), E1 (P2), E1 (P3), and E1 (P4). ), The transmission data (T1, T2, T3, T4) can be constructed. The mobile device sequentially assigns serial numbers S1, S2, S3, and S4 to the divided data based on the order of the divided data E1 (P1), E1 (P2), E1 (P3), and E1 (P4). Add. 2, S1 = 1, S2 = 2, S3 = 3, and S4 = 4.

S250단계에서, 모바일 기기는 S240단계에서 구성된 송신용 데이터들(T1, T2, T3, T4)을 각각 제2암호화 알고리즘(E2)을 이용하여 암호화할 수 있다.In operation S250, the mobile device may encrypt the transmission data T1, T2, T3, and T4 configured in operation S240, respectively, using the second encryption algorithm E2.

S260단계에서, 모바일 기기는 S250단계에서 암호화된 송신용 데이터들(E2(T1), E2(T2), E2(T3), E2(T4))을 관리 서버로 전송한다.In operation S260, the mobile device transmits the transmission data E2 (T1), E2 (T2), E2 (T3), and E2 (T4) encrypted in operation S250.

도 3은 본 발명적 개념의 예시적 실시예에 따른 불법 복제 방지 방법 중 관리 서버에서의 동작을 설명하기 위한 흐름도이다.3 is a flowchart illustrating an operation of a management server in an illegal copy prevention method according to an exemplary embodiment of the present invention.

도 3의 동작을 수행하는 관리 서버는 도 1을 참조하여 설명한 관리 서버(200)일 수 있다.The management server performing the operation of FIG. 3 may be the management server 200 described with reference to FIG. 1.

도 3을 참조하면, S310단계에서, 관리 서버는 모바일 기기로부터 암호화된 송신용 데이터들((E2(T1), E2(T2), E2(T3), E2(T4))을 수신한다.Referring to FIG. 3, in operation S310, the management server receives encrypted transmission data (E2 (T1), E2 (T2), E2 (T3), and E2 (T4)) from the mobile device.

S320단계에서, 관리 서버는 제1복호화 알고리즘(D1)을 이용하여 암호화된 송신용 데이터들((E2(T1), E2(T2), E2(T3), E2(T4))을 각각 복호화할 수 있다. 제1복호화 알고리즘(D1)은 제2암호화 알고리즘(E2)과 상응하는 알고리즘이다. 복호화된 송신용 데이터들(T1, T2, T3, T4)은 도 3에 도시된 바와 같이, 각각 암호화된 분할 데이터들(E1(P1), E1(P2), E1(P3), E1(P4))과 시리얼 넘버(S1, S2, S3, S4)와 더미 데이터(D)를 포함하고 있을 수 있다.In operation S320, the management server may decrypt the transmission data (E2 (T1), E2 (T2), E2 (T3), and E2 (T4)) encrypted using the first decryption algorithm D1. The first decoding algorithm D1 is an algorithm corresponding to the second encryption algorithm E2. The decrypted transmission data T1, T2, T3, and T4 are respectively encrypted as shown in FIG. Partition data E1 (P1), E1 (P2), E1 (P3), E1 (P4), serial numbers S1, S2, S3, S4, and dummy data D may be included.

S330단계에서, 관리 서버는 S320단계에서 생성된 암호화된 분할 데이터들(E1(P1), E1(P2), E1(P3), E1(P4))을 각각 제2복호화 알고리즘(D2)을 이용하여 복호화할 수 있다. 제2복호화 알고리즘(D2)은 제1암호화 알고리즘(E1)과 상응하는 알고리즘이다. 복호화된 분할 데이터들(P1, P2, P3, P4)은 실질적으로 S220단계에서 만들어진 데이터들과 동일할 수 있으며, 각 복호화된 분할 데이터들(P1, P2, P3, P4)에는 서로 다른 시리얼 넘버(S1, S2, S3, S4)가 하나씩 추가되어 있다.In operation S330, the management server uses the second decryption algorithm D2 to encrypt the divided pieces of data E1 (P1), E1 (P2), E1 (P3), and E1 (P4) generated in step S320, respectively. Can be decrypted The second decoding algorithm D2 is an algorithm corresponding to the first encryption algorithm E1. The decoded divided data P1, P2, P3, and P4 may be substantially the same as the data generated in step S220, and each decoded divided data P1, P2, P3, and P4 may have different serial numbers. S1, S2, S3, S4) are added one by one.

S340단계에서, 관리 서버는 복호화된 분할 데이터들(P1, P2, P3, P4)을 순서대로 조합하여 해쉬값(HV)을 생성 및 파악할 수 있다. S340단계는 각 분할 데이터(P1, P2, P3, P4)에 매핑된 시리얼 넘버들(S1, S2, S3, S4)을 확인하여 순서대로 분할 데이터를 조합할 수 있다. 예를 들어, 모바일 기기는 시리얼 넘버가 클수록 분할 데이터를 뒤쪽에 위치시켜 해쉬값(HV)을 생성할 수 있다.In operation S340, the management server may generate and understand the hash value H V by combining the decoded divided data P1, P2, P3, and P4 in order. In operation S340, the serial data S1, S2, S3, and S4 mapped to the divided data P1, P2, P3, and P4 may be identified to combine the divided data in order. For example, as the serial number is larger, the mobile device may generate the hash value H V by placing the split data behind.

S350단계에서, 관리 서버는 S340단계에서 파악된 해쉬값(HV)과 관리 서버에 저장된 기준 해쉬값을 비교할 수 있다. 기준 해쉬값은 모바일 기기에 다운로딩된 실행파일의 불법 복제 여부를 판단하기 위해, 어플리케이션의 제작자가 사전에 제공한 해쉬값이다. In operation S350, the management server may compare the hash value H V determined in operation S340 with a reference hash value stored in the management server. The reference hash value is a hash value previously provided by the creator of the application in order to determine whether the executable file downloaded to the mobile device is illegally copied.

비교 결과, S340단계에서 파악된 해쉬값(HV)과 관리 서버에 저장된 기준 해쉬값이 동일하면(S360-Y), S370단계에서, 관리 서버는 모바일 기기에 저장된 파일의 사용을 허락할 수 있다.As a result of the comparison, if the hash value H V determined in step S340 and the reference hash value stored in the management server are the same (S360-Y), in step S370, the management server may allow the use of the file stored in the mobile device. .

반면, S340단계에서 파악된 해쉬값(HV)과 관리 서버에 저장된 기준 해쉬값이 다르면(S360-N), S380단계에서, 관리 서버는 모바일 기기에 저장된 파일의 사용을 제한할 수 있다. 이는, S340단계에서 파악된 해쉬값(HV)과 관리 서버에 저장된 기준 해쉬값이 다르다는 것은, 모바일 기기로 다운로딩된 파일이 불법으로 복제된 파일임을 의미하며, 따라서, S210단계에서는 기준 해쉬값과 다른 해쉬값이 산출된 것을 의미한다. On the other hand, if the hash value (H V ) determined in step S340 and the reference hash value stored in the management server is different (S360-N), in step S380, the management server may limit the use of the file stored in the mobile device. This means that the difference between the hash value H V determined in step S340 and the reference hash value stored in the management server means that the file downloaded to the mobile device is an illegally copied file. Therefore, in step S210, the reference hash value This means that a different hash value is calculated.

상기와 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been described with reference to the particular embodiments and drawings, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. This is possible. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

100: 모바일 기기 110: 저장부
120: 메모리부 130: 송수신부
140: 중앙처리장치 200: 관리 서버
210: 해쉬값 저장부 220: 송수신부
230: 제1복호화부 240: 제2복호화부
250: 데이터 조합부 260: 해쉬값 비교부
270: 제어부
100: mobile device 110: storage unit
120: memory 130: transceiver
140: central processing unit 200: management server
210: hash value storage unit 220: transceiver
230: first decryption unit 240: second decryption unit
250: data combination unit 260: hash value comparison unit
270:

Claims (6)

저장된 파일의 해쉬값을 사전에 정해진 크기의 데이터로 분할하고, 상기 분할된 데이터들을 각각 암호화하고, 상기 암호화된 각 데이터에 시리얼 넘버를 추가로 기재하여 송신용 데이터들을 구성하는 모바일 기기; 및
상기 모바일 기기로부터 수신되는 송신용 데이터들을 복호화하여 상기 시리얼 넘버들을 확인하고, 상기 확인된 시리얼 넘버들에 기초하여 상기 파일의 해쉬값을 파악하며, 상기 파악된 해쉬값과 기저장된 기준 해쉬값을 비교하여 상기 파일의 사용 여부를 제한하는 관리 서버;를 포함하며,
상기 관리 서버는, 상기 수신된 송신용 데이터들을 각각 복호화하여 상기 분할된 데이터들을 구하고, 상기 분할된 각 데이터에 기재된 시리얼 넘버들을 이용하여 상기 분할된 데이터들을 순서대로 조합하여 상기 파일의 해쉬값을 파악한 후, 상기 파악된 해쉬값과 상기 기준 해쉬값을 비교하는 것을 특징으로 하는 불법 복제 방지 시스템.
A mobile device for dividing a hash value of a stored file into data having a predetermined size, encrypting the divided data, and adding a serial number to each of the encrypted data to configure data for transmission; And
Decode the transmission data received from the mobile device to confirm the serial numbers, determine the hash value of the file based on the identified serial numbers, and compares the identified hash value with the previously stored reference hash value. Includes; management server to limit the use of the file;
The management server decodes the received transmission data, obtains the divided data, and combines the divided data in order by using serial numbers described in the divided data to determine a hash value of the file. And then comparing the identified hash value with the reference hash value.
삭제delete 삭제delete 모바일 기기에 저장된 파일의 해쉬값을 사전에 정해진 크기의 데이터로 분할하고, 상기 분할된 데이터들을 각각 암호화하고, 상기 암호화된 각 데이터에 시리얼 넘버를 추가로 기재하여 송신용 데이터들을 구성하는 단계;
상기 구성된 송신용 데이터들을 상기 파일의 불법 복제 방지를 위한 관리 서버로 전송하는 단계; 및
상기 관리 서버에서 상기 모바일 기기로부터 수신되는 송신용 데이터들을 복호화하여 상기 시리얼 넘버들을 확인하고, 상기 확인된 시리얼 넘버들에 기초하여 상기 파일의 해쉬값을 파악하며, 상기 파악된 해쉬값과 기저장된 기준 해쉬값을 비교하여 상기 파일의 사용 여부를 제한하는 단계;를 포함하며,
상기 파일의 사용 여부를 제한하는 단계는,
상기 수신된 송신용 데이터들을 각각 복호화하여 상기 분할된 데이터들을 구하고, 상기 분할된 각 데이터에 기재된 시리얼 넘버를 이용하여 상기 분할된 데이터들을 순서대로 조합하여 상기 파일의 해쉬값을 파악한 후, 상기 파악된 해쉬값과 상기 기준 해쉬값을 비교하는 것을 특징으로 하는 불법 복제 방지 방법.
Dividing a hash value of a file stored in a mobile device into data having a predetermined size, encrypting the divided data, and writing a serial number to each of the encrypted data to configure data for transmission;
Transmitting the configured transmission data to a management server for preventing illegal copying of the file; And
The management server decrypts the data for transmission received from the mobile device to confirm the serial numbers, to determine the hash value of the file based on the identified serial numbers, and to determine the hash value and the pre-stored reference. And comparing hash values to limit the use of the file.
Restricting the use of the file,
Decode the received data for transmission to obtain the divided data, and determine the hash value of the file by combining the divided data in order using the serial number described in each of the divided data, And a hash value is compared with the reference hash value.
삭제delete 제4항에 있어서,
상기 파악된 해쉬값과 상기 기준 해쉬값이 동일하면 상기 모바일 기기에 저장된 파일의 사용을 승인하는 단계;를 더 포함하는 것을 특징으로 하는 불법 복제 방지 방법
5. The method of claim 4,
Approving use of a file stored in the mobile device if the identified hash value and the reference hash value are the same.
KR1020120036027A 2012-04-06 2012-04-06 System and method for preventing illegal duplication KR101325096B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120036027A KR101325096B1 (en) 2012-04-06 2012-04-06 System and method for preventing illegal duplication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120036027A KR101325096B1 (en) 2012-04-06 2012-04-06 System and method for preventing illegal duplication

Publications (1)

Publication Number Publication Date
KR101325096B1 true KR101325096B1 (en) 2013-11-21

Family

ID=49856690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120036027A KR101325096B1 (en) 2012-04-06 2012-04-06 System and method for preventing illegal duplication

Country Status (1)

Country Link
KR (1) KR101325096B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170009038A (en) 2015-07-15 2017-01-25 심재훈 The system which manages a contents which a illegal circulation blocking type
KR20180129147A (en) * 2017-05-25 2018-12-05 김영후 Method and system for verifying electronic document security using 2D barcode block division
CN114329420A (en) * 2021-12-02 2022-04-12 杭州立思辰安科科技有限公司 Access control method, device and system of removable storage equipment and storage medium
US11336444B2 (en) 2019-08-21 2022-05-17 Electronics And Telecommunications Research Institute Hardware security module for verifying executable code, device having hardware security module, and method of operating device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040106961A (en) * 2003-06-10 2004-12-20 최추환 Encryption method of contents file
KR20050030982A (en) * 2003-09-27 2005-04-01 나창영 Method and system for safely distributing digital contents through communication network by using user programs containing different digital identifications
KR20090015281A (en) * 2007-08-08 2009-02-12 엘아이지넥스원 주식회사 Device for generating user authentication key of application software, and (generating) method therefor, and system for authenticating user using the said key, and (authenticating) method therefor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040106961A (en) * 2003-06-10 2004-12-20 최추환 Encryption method of contents file
KR20050030982A (en) * 2003-09-27 2005-04-01 나창영 Method and system for safely distributing digital contents through communication network by using user programs containing different digital identifications
KR20090015281A (en) * 2007-08-08 2009-02-12 엘아이지넥스원 주식회사 Device for generating user authentication key of application software, and (generating) method therefor, and system for authenticating user using the said key, and (authenticating) method therefor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170009038A (en) 2015-07-15 2017-01-25 심재훈 The system which manages a contents which a illegal circulation blocking type
KR20180129147A (en) * 2017-05-25 2018-12-05 김영후 Method and system for verifying electronic document security using 2D barcode block division
KR101967855B1 (en) 2017-05-25 2019-04-11 김영후 Method and system for verifying electronic document security using 2D barcode block division
US11336444B2 (en) 2019-08-21 2022-05-17 Electronics And Telecommunications Research Institute Hardware security module for verifying executable code, device having hardware security module, and method of operating device
CN114329420A (en) * 2021-12-02 2022-04-12 杭州立思辰安科科技有限公司 Access control method, device and system of removable storage equipment and storage medium

Similar Documents

Publication Publication Date Title
KR101135145B1 (en) Secure Multimedia Card, Rights object issue method and apparatus for using digital contents
US8660964B2 (en) Secure device licensing
WO2009157142A1 (en) Information processing device, encryption key management method, computer program and integrated circuit
KR101668033B1 (en) An improved implementation of robust and secure content protection in a system-on-a-chip apparatus
US20150121073A1 (en) Software fingerprinting
US20170310479A1 (en) Key Replacement Direction Control System and Key Replacement Direction Control Method
KR20100044253A (en) Device and method for a backup of rights objects
CN104917787A (en) File secure sharing method and system based on group key
JP6146476B2 (en) Information processing apparatus and information processing method
KR101325096B1 (en) System and method for preventing illegal duplication
US11128455B2 (en) Data encryption method and system using device authentication key
CN104426849A (en) Method and system for realizing data security protection
US8667601B2 (en) Method and device for upgrading rights object that was stored in memory card
KR102583995B1 (en) Cryptographic program diversification
KR20140040272A (en) System and method for obfuscating initiation values of a cryptography protocol
KR20140089703A (en) Method and apparatus for security of mobile data
JP6939313B2 (en) Distributed authentication system
KR102496436B1 (en) Method of storing plurality of data pieces in storage in blockchain network and method of receiving plurality of data pieces
CN111343150B (en) Transaction data transmission method and system based on block chain and related components
KR101415786B1 (en) A Hybrid Design system and method of Online Execution Class and Encryption-based Copyright Protection for Android Apps
KR20160139914A (en) System and method for detecting software tampering
KR20150101896A (en) System and method for data sharing of intercloud enviroment
US20160239669A1 (en) User Terminal And Method For Protecting Core Codes Of Applications Using The Same
KR102305691B1 (en) Method for drm packaging for real-time on-demand digital content and computing device for executing the method
JP2010066883A (en) Execution order verification system, execution order verification method and execution order verification program

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171214

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181031

Year of fee payment: 6