KR101273370B1 - Application counterfeit prevention apparatus and method - Google Patents

Application counterfeit prevention apparatus and method Download PDF

Info

Publication number
KR101273370B1
KR101273370B1 KR1020120095954A KR20120095954A KR101273370B1 KR 101273370 B1 KR101273370 B1 KR 101273370B1 KR 1020120095954 A KR1020120095954 A KR 1020120095954A KR 20120095954 A KR20120095954 A KR 20120095954A KR 101273370 B1 KR101273370 B1 KR 101273370B1
Authority
KR
South Korea
Prior art keywords
application
client terminal
hash
hash value
providing server
Prior art date
Application number
KR1020120095954A
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 KR1020120095954A priority Critical patent/KR101273370B1/en
Application granted granted Critical
Publication of KR101273370B1 publication Critical patent/KR101273370B1/en

Links

Images

Classifications

    • 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/3236Cryptographic 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 using cryptographic hash functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

PURPOSE: Application forgery and alteration prevention device and method are provided to prevent use of forged or altered application by allowing access for execution of the application when a received hash value coincides with a stored hash value. CONSTITUTION: When a client terminal (230) downloads an application from an application providing server (220), a storage unit (211) stores hash values based on hash functions using information of the application and data code values comprising the application. When the client terminal transmits an access request for executing the application to the application providing server, a hash value request unit (212) requests a hash value to the client terminal. A judgment unit (214) judges whether the received hash value and the hash value stored in the database coincide or not. [Reference numerals] (211) Storage unit; (212) Hash value request unit; (213) Hash value receiving unit; (214) Judgment unit; (215) Access request unit; (216) Library transmit unit; (217) Library update unit; (218) Confirmation request unit; (220) Application providing server; (230) Client terminal

Description

어플리케이션 위변조 방지 장치 및 방법{APPLICATION COUNTERFEIT PREVENTION APPARATUS AND METHOD}APPLICATION COUNTERFEIT PREVENTION APPARATUS AND METHOD}

본 발명의 실시예들은 클라이언트 단말에서 어플리케이션이 실행될 때, 상기 어플리케이션에 대한 위조나 변조 여부를 판별함으로써, 위조되거나 변조된 어플리케이션이 사용되는 것을 방지할 수 있는 기술에 대한 것이다.Embodiments of the present invention are directed to a technique capable of preventing a forged or modulated application from being used by determining whether the application is forged or modulated when an application is executed in a client terminal.

최근, 스마트 폰이나 태블릿 PC 등과 같은 휴대용 기기가 널리 보급되면서, 이러한 휴대용 기기에서 사용 가능한 다양한 어플리케이션에 대한 관심이 증가하고 있다.Recently, as portable devices such as smartphones and tablet PCs are widely used, interest in various applications that can be used in such portable devices is increasing.

스마트 폰이나 태블릿 PC 등과 같은 휴대용 기기를 사용하는 사용자는 자신의 휴대용 기기를 통해 소정의 어플리케이션 제공 서버에 접속하여 게임이나 온라인 금융 서비스 등과 같은 다양한 어플리케이션을 다운로드 받아 사용할 수 있다.A user using a portable device such as a smart phone or a tablet PC may access a predetermined application providing server through his portable device and download and use various applications such as a game or an online financial service.

이렇게, 어플리케이션의 활용이 증가하면서, 어플리케이션을 불법으로 위조하거나 변조하여 사용하는 행위도 증가하고 있다.As such, as the utilization of applications increases, the act of illegally forging or tampering with applications increases.

어플리케이션이 불법으로 위변조되는 경우, 휴대용 기기 사용자의 개인 정보가 무방비로 노출될 수 있고, 어플리케이션 저작권이 침해되는 경우가 발생할 수 있다.When an application is illegally forged, personal information of a user of a portable device may be exposed unprotected, and an application copyright may be infringed.

또한, 최근에는 어플리케이션을 불법으로 사용하기 위해, 스마트 폰이나 태블릿 PC 등을 루팅(Rooting)하거나 탈옥(Jailbreak)하는 등 다양한 해킹 기술이 등장하고 있다.In addition, in recent years, various hacking technologies such as rooting or jailbreaking a smartphone or a tablet PC have emerged in order to illegally use an application.

따라서, 어플리케이션의 위조나 변조를 방지할 수 있고, 휴대용 기기의 해킹을 통해 불법적으로 어플리케이션을 사용하는 것을 방지할 수 있는 기법에 대한 연구가 필요하다.Therefore, there is a need for a technique that can prevent forgery or tampering of an application and prevent illegal use of the application through hacking of a portable device.

본 발명의 실시예들은 클라이언트 단말이 어플리케이션을 실행하고자 할 때, 상기 클라이언트 단말로부터 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하는 소정의 해시(hash) 값을 수신하여 상기 수신된 해시 값이 기 저장되어 있는 해시 값과 일치하는 경우에만 상기 어플리케이션의 실행을 위한 액세스(access)를 허가함으로써, 위조되거나 변조된 어플리케이션이 사용되는 것을 방지할 수 있도록 한다.In an embodiment of the present invention, when a client terminal intends to execute an application, the client terminal receives a predetermined hash value for inputting a data code value constituting the application from the client terminal and stores the received hash value in advance. By granting access for the execution of the application only if it matches a hash value that is intended, it is possible to prevent a forged or forged application from being used.

본 발명의 일실시예에 따른 어플리케이션 위변조 방지 장치는 클라이언트 단말이 어플리케이션 제공 서버로부터 어플리케이션을 다운로드하여 저장하면, 상기 클라이언트 단말이 다운로드한 어플리케이션의 정보와, 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하여 복수의 해시(hash) 함수들을 기초로 연산된 복수의 해시 값들을 데이터베이스에 저장하는 저장부, 상기 클라이언트 단말로부터 상기 어플리케이션 제공 서버로 상기 클라이언트 단말에 저장되어 있는 상기 어플리케이션의 실행과 연관된 액세스(access) 요청이 전송되면, 상기 클라이언트 단말에 대해, 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하여 상기 클라이언트 단말에 저장되어 있는 사용자 라이브러리(library)에 포함된 상기 복수의 해시 함수들 중 N(N은 자연수)번째 해시 함수를 기초로 연산된 해시 값을 요청하는 해시 값 요청부, 상기 클라이언트 단말로부터 상기 해시 값을 수신하는 해시 값 수신부, 상기 클라이언트 단말로부터 상기 해시 값이 수신되면, 상기 수신된 해시 값과 상기 데이터베이스에 저장되어 있는 복수의 해시 값들 중 N번째 해시 값 간의 일치 여부를 판단하는 판단부 및 상기 수신된 해시 값과 상기 N번째 해시 값이 서로 일치하는 것으로 판단되면, 상기 어플리케이션 제공 서버에 대해, 상기 클라이언트 단말의 상기 어플리케이션의 실행과 연관된 액세스의 허가를 요청하는 액세스 요청부를 포함한다.When the client terminal downloads and stores an application from an application providing server, the apparatus for preventing forgery and alteration of an application according to an embodiment of the present invention inputs information of an application downloaded by the client terminal and a data code value constituting the application. A storage unit for storing a plurality of hash values calculated based on a plurality of hash functions in a database, an access associated with execution of the application stored in the client terminal from the client terminal to the application providing server; When a request is transmitted, N (N) among the plurality of hash functions included in a user library stored in the client terminal by inputting a data code value constituting the application to the client terminal. A hash value request unit for requesting a hash value calculated based on a second hash function, a hash value receiver for receiving the hash value from the client terminal, and if the hash value is received from the client terminal, the received hash value A determining unit determining whether or not the N-th hash value among the plurality of hash values stored in the database is identical, and when it is determined that the received hash value and the N-th hash value coincide with each other, And an access request unit for requesting permission of access associated with execution of the application of the client terminal.

본 발명의 일실시예에 따른 어플리케이션 위변조 방지 방법은 클라이언트 단말이 어플리케이션 제공 서버로부터 어플리케이션을 다운로드하여 저장하면, 상기 클라이언트 단말이 다운로드한 어플리케이션의 정보와, 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하여 복수의 해시 함수들을 기초로 연산된 복수의 해시 값들을 데이터베이스에 저장하는 단계, 상기 클라이언트 단말로부터 상기 어플리케이션 제공 서버로 상기 클라이언트 단말에 저장되어 있는 상기 어플리케이션의 실행과 연관된 액세스 요청이 전송되면, 상기 클라이언트 단말에 대해, 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하여 상기 클라이언트 단말에 저장되어 있는 사용자 라이브러리에 포함된 상기 복수의 해시 함수들 중 N(N은 자연수)번째 해시 함수를 기초로 연산된 해시 값을 요청하는 단계, 상기 클라이언트 단말로부터 상기 해시 값을 수신하는 단계, 상기 클라이언트 단말로부터 상기 해시 값이 수신되면, 상기 수신된 해시 값과 상기 데이터베이스에 저장되어 있는 복수의 해시 값들 중 N번째 해시 값 간의 일치 여부를 판단하는 단계 및 상기 수신된 해시 값과 상기 N번째 해시 값이 서로 일치하는 것으로 판단되면, 상기 어플리케이션 제공 서버에 대해, 상기 클라이언트 단말의 상기 어플리케이션의 실행과 연관된 액세스의 허가를 요청하는 단계를 포함한다.In the method of preventing application forgery and alteration according to an embodiment of the present invention, when a client terminal downloads and stores an application from an application providing server, the client terminal inputs information of the downloaded application and data code values constituting the application. Storing a plurality of hash values calculated based on a plurality of hash functions in a database, and when an access request associated with the execution of the application stored in the client terminal is transmitted from the client terminal to the application providing server, the client N (N is a natural number) hash of the plurality of hash functions included in the user library stored in the client terminal by inputting a data code value constituting the application to the terminal. Requesting a hash value calculated based on a function, receiving the hash value from the client terminal, and when the hash value is received from the client terminal, the received hash value and a plurality of stored in the database. Determining whether or not the N-th hash value among the hash values coincides, and when it is determined that the received hash value and the N-th hash value coincide with each other, executing, by the application providing server, the application of the client terminal; Requesting permission of the associated access.

본 발명의 실시예들은 클라이언트 단말이 어플리케이션을 실행하고자 할 때, 상기 클라이언트 단말로부터 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하는 소정의 해시(hash) 값을 수신하여 상기 수신된 해시 값이 기 저장되어 있는 해시 값과 일치하는 경우에만 상기 어플리케이션의 실행을 위한 액세스(access)를 허가함으로써, 위조되거나 변조된 어플리케이션이 사용되는 것을 방지할 수 있다.In an embodiment of the present invention, when a client terminal intends to execute an application, the client terminal receives a predetermined hash value for inputting a data code value constituting the application from the client terminal and stores the received hash value in advance. By granting access for the execution of the application only when it matches the hash value, it is possible to prevent the forged or forged application from being used.

도 1은 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 시스템을 개략적으로 도시한 시스템 개념도이다.
도 2는 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 장치의 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 방법을 도시한 순서도이다.
1 is a system conceptual diagram schematically showing an application forgery and alteration prevention system according to an embodiment of the present invention.
2 is a diagram illustrating a structure of an application forgery and alteration prevention apparatus according to an embodiment of the present invention.
3 is a flowchart illustrating a method for preventing forgery of an application according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "having" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 시스템을 개략적으로 도시한 시스템 개념도이다.1 is a system conceptual diagram schematically showing an application forgery and alteration prevention system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 시스템은 어플리케이션 위변조 방지 장치(110), 어플리케이션 제공 서버(120) 및 클라이언트 단말(130)로 구성될 수 있다.Referring to FIG. 1, an application forgery and alteration prevention system according to an embodiment of the present invention may be composed of an application forgery and alteration prevention apparatus 110, an application providing server 120, and a client terminal 130.

우선, 도 1을 참조하여 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 시스템의 동작을 설명하기에 앞서, 어플리케이션 제공 서버(120)와 클라이언트 단말(130)에 대해 간략히 설명하기로 한다.First, the application providing server 120 and the client terminal 130 will be briefly described before explaining the operation of the system for preventing forgery and alteration according to an embodiment of the present invention with reference to FIG. 1.

먼저, 어플리케이션 제공 서버(120)는 클라이언트 단말(130)에서 사용 가능한 어플리케이션을 제공하고, 클라이언트 단말(130)이 어플리케이션 제공 서버(120)로부터 다운로드 받은 어플리케이션을 실행시키면, 클라이언트 단말(130)로 어플리케이션의 실행과 연관된 다양한 콘텐츠를 제공하는데 사용될 수 있다.First, the application providing server 120 provides an application that can be used in the client terminal 130, and when the client terminal 130 executes the application downloaded from the application providing server 120, the application terminal server 130 of the application It can be used to provide a variety of content associated with the execution.

예컨대, 어플리케이션 제공 서버(120)는 금융 기관에서 운영하는 금융 어플리케이션 제공 서버가 될 수 있고, 이 경우, 어플리케이션 제공 서버(120)는 클라이언트 단말(130)로 온라인 금융 서비스와 관련된 어플리케이션을 제공할 수 있다.For example, the application providing server 120 may be a financial application providing server operated by a financial institution. In this case, the application providing server 120 may provide an application related to an online financial service to the client terminal 130. .

이때, 클라이언트 단말(130)이 어플리케이션 제공 서버(120)로부터 온라인 금융 서비스와 관련된 어플리케이션을 다운로드 받아 실행시키면, 어플리케이션 제공 서버(120)는 클라이언트 단말(130)로 계좌 정보나 계좌 잔액 정보 등과 같은 상기 온라인 금융 서비스와 관련된 어플리케이션의 실행과 연관된 다양한 콘텐츠를 제공할 수 있다.In this case, when the client terminal 130 downloads and executes an application related to the online financial service from the application providing server 120, the application providing server 120 transmits the online information such as account information or account balance information to the client terminal 130. Various content related to the execution of applications related to financial services may be provided.

그리고, 클라이언트 단말(130)은 데스크탑 PC, 모바일 단말, PDA, 노트북, 태블릿 PC 등 어플리케이션 제공 서버(120)에 접속하여 어플리케이션을 다운로드 받을 수 있고, 상기 다운로드 받은 어플리케이션을 실행할 수 있는 마이크로프로세서 기반의 장치를 기반으로 구현될 수 있다.In addition, the client terminal 130 may access an application providing server 120 such as a desktop PC, a mobile terminal, a PDA, a notebook computer, a tablet PC, download an application, and execute the downloaded application. It can be implemented based on.

이하에서는 도 1에 도시된 어플리케이션 위변조 방지 시스템의 동작에 대해 상세히 설명하기로 한다.Hereinafter, the operation of the application forgery and alteration prevention system shown in FIG. 1 will be described in detail.

먼저, 클라이언트 단말(130)이 어플리케이션 제공 서버(120)에 접속하여 소정의 어플리케이션을 다운로드하여 저장하면, 어플리케이션 위변조 방지 장치(110)는 클라이언트 단말(130)이 다운로드한 어플리케이션에 대한 정보를 어플리케이션 제공 서버(120)로부터 수신하여 데이터베이스 상에 저장할 수 있다.First, when the client terminal 130 accesses the application providing server 120 and downloads and stores a predetermined application, the application forgery and alteration prevention apparatus 110 provides the application providing server with information about the application downloaded by the client terminal 130. Received from 120 and stored on the database.

이때, 어플리케이션 위변조 방지 장치(110)는 선정된(predetermined) 복수의 해시(hash) 함수들을 저장하고 있는데, 어플리케이션 제공 서버(120)로부터 클라이언트 단말(130)이 다운로드한 상기 어플리케이션에 대한 정보가 수신되면, 어플리케이션 위변조 방지 장치(110)는 상기 어플리케이션에 대한 정보를 기초로 상기 어플리케이션을 구성하는 데이터 코드 값을 확인할 수 있다.In this case, the application forgery and alteration prevention device 110 stores a plurality of predetermined hash functions. When information about the application downloaded by the client terminal 130 is received from the application providing server 120, The application forgery and alteration prevention apparatus 110 may check a data code value constituting the application based on the information on the application.

여기서, 상기 어플리케이션을 구성하는 데이터 코드 값이란, 상기 어플리케이션을 구성하는 데이터를 비트열 등으로 구성한 데이터 코드 값을 의미한다.Here, the data code value constituting the application means a data code value constituting the data constituting the application in a bit string or the like.

예컨대, 상기 어플리케이션의 데이터 크기가 1Byte인 경우, 상기 어플리케이션을 구성하는 데이터 코드 값은 상기 1Byte의 데이터를 '00110001'와 같은 비트열 등으로 구성한 데이터 코드 값이 될 수 있다.For example, when the data size of the application is 1 byte, the data code value constituting the application may be a data code value in which the data of 1 byte is composed of a bit string such as '00110001'.

어플리케이션 위변조 방지 장치(110)는 상기 어플리케이션을 구성하는 데이터 코드 값의 확인을 완료하면, 상기 복수의 해시 함수들에 대해 상기 확인된 데이터 코드 값을 입력으로 넣어서 복수의 해시 값들을 연산한 후 상기 데이터베이스에 저장할 수 있다.When the application forgery and alteration prevention device 110 completes checking the data code value constituting the application, the database is operated by inputting the checked data code value for the plurality of hash functions as input and calculating the plurality of hash values. Can be stored in

예컨대, 어플리케이션 위변조 방지 장치(110)가 저장하고 있는 복수의 해시 함수들을 'H1(x), H2(x), ..., Hk(x)'라고 하고, 상기 확인된 데이터 코드 값을 'Ic'라고 하는 경우, 어플리케이션 위변조 방지 장치(110)는 상기 확인된 데이터 코드 값 'Ic'를 상기 복수의 해시 함수들 'H1(x), H2(x), ..., Hk(x)'에 입력으로 인가하여 복수의 해시 값들인 'H1, H2, ..., Hk'을 연산한 후 상기 연산된 복수의 해시 값들인 'H1, H2, ..., Hk'을 상기 데이터베이스에 저장할 수 있다.For example, a plurality of hash functions stored in the application forgery and alteration prevention device 110 are referred to as 'H 1 (x), H 2 (x), ..., H k (x)', and the identified data code value When the 'I c ' is called, the application forgery and alteration prevention device 110 determines the identified data code value 'I c ' by the plurality of hash functions' H 1 (x), H 2 (x), ... , H k (x) 'is applied as an input to calculate a plurality of hash values' H 1 , H 2 , ..., H k 'and then the calculated hash values' H 1 , H 2 , ..., H k 'can be stored in the database.

여기서, 해시 함수란 임의의 길이의 비트열을 고정된 길이의 출력 값인 해시 코드로 압축하여 출력할 수 있는 일방향 함수(one-way function)로, 다양한 길이의 입력을 고정된 짧은 길이의 출력으로 변환하며, 데이터의 무결성 검증이나 메시지 인증 등에 사용되는 보안 알고리즘인 해시 알고리즘에서 사용되는 함수를 의미한다.Here, the hash function is a one-way function that compresses and outputs a bit string of arbitrary length into a hash code, which is a fixed length output value, and converts inputs of various lengths into fixed short length outputs. It is a function used in the hash algorithm, which is a security algorithm used for data integrity verification or message authentication.

이때, 본 발명의 일실시예에 따르면, 어플리케이션 위변조 방지 장치(110)는 상기 복수의 해시 값들에 대한 연산을 완료하면, 상기 복수의 해시 값들의 저장 순서를 랜덤(Random)하게 결정하여 상기 결정된 저장 순서에 따라 상기 복수의 해시 값들을 상기 데이터베이스에 저장할 수 있다.In this case, according to an embodiment of the present invention, when the application forgery prevention device 110 completes the operation for the plurality of hash values, randomly determines the storage order of the plurality of hash values to store the determined The plurality of hash values may be stored in the database in order.

예컨대, 상기 복수의 해시 값들이 'H1, H2, ..., Hk'인 경우, 어플리케이션 위변조 방지 장치(110)는 상기 복수의 해시 값들의 저장 순서를 'H4, H1, Hk, ..., H2'와 같이 랜덤하게 결정하여 상기 결정된 저장 순서에 따라 상기 복수의 해시 값들을 상기 데이터베이스에 저장할 수 있다.For example, when the plurality of hash values are 'H 1 , H 2 ,..., H k ', the application forgery and alteration prevention apparatus 110 sets the storage order of the plurality of hash values to be 'H 4 , H 1 , H'. The plurality of hash values may be stored in the database according to the determined storage order by randomly determining such as k , ..., H 2 ′.

이렇게, 클라이언트 단말(130)이 어플리케이션 제공 서버(120)로부터 어플리케이션을 다운로드하여 저장하면, 어플리케이션 위변조 방지 장치(110)는 상기 어플리케이션에 대한 정보와 상기 복수의 해시 값들을 상기 데이터베이스에 저장할 수 있다.As such, when the client terminal 130 downloads and stores the application from the application providing server 120, the application forgery prevention apparatus 110 may store information about the application and the plurality of hash values in the database.

이때, 본 발명의 일실시예에 따르면, 어플리케이션 위변조 방지 장치(110)는 클라이언트 단말(130)이 어플리케이션 제공 서버(120)로부터 상기 어플리케이션을 다운로드할 때, 어플리케이션 제공 서버(120)가 저장하고 있는 상기 복수의 해시 함수들이 포함된 사용자 라이브러리(library)를 구성한 후 이를 클라이언트 단말(130)로 전송할 수 있다.At this time, according to an embodiment of the present invention, the application forgery and alteration prevention device 110 when the client terminal 130 downloads the application from the application providing server 120, the application providing server 120 is stored in the After configuring a user library including a plurality of hash functions may be transmitted to the client terminal 130.

이때, 어플리케이션 위변조 방지 장치(110)는 상기 데이터베이스 상에 상기 복수의 해시 값들이 저장된 순서에 대응하여 상기 사용자 라이브러리에 포함될 상기 복수의 해시 함수들의 순서를 결정한 후 상기 사용자 라이브러리를 클라이언트 단말(130)로 전송할 수 있다.In this case, the application forgery and alteration prevention device 110 determines the order of the plurality of hash functions to be included in the user library in response to the order in which the plurality of hash values are stored in the database, and then transfers the user library to the client terminal 130. Can transmit

예컨대, 어플리케이션 위변조 방지 장치(110)는 상기 데이터베이스 상에 상기 복수의 해시 값들을 'H4, H1, Hk, ..., H2' 순서로 저장한 경우, 상기 사용자 라이브러리에 포함될 상기 복수의 해시 함수들의 순서를 상기 복수의 해시 값들의 저장 순서에 대응하여 'H4(x), H1(x), Hk(x), ..., H2(x)' 순서로 결정할 수 있다.For example, the application forgery and alteration prevention apparatus 110 stores the plurality of hash values in the order of 'H 4 , H 1 , H k , ..., H 2 ' on the database, the plurality of hash values to be included in the user library. The order of hash functions of may be determined in the order of 'H 4 (x), H 1 (x), H k (x), ..., H 2 (x)' corresponding to the storage order of the plurality of hash values. have.

이때, 어플리케이션 위변조 방지 장치(110)는 상기 데이터베이스 상에 저장된 상기 복수의 해시 값들 'H4, H1, Hk, ..., H2'을 연산하기 위해 사용된 복수의 해시 함수들 'H4(x), H1(x), Hk(x), ..., H2(x)'를 참조하여 상기 사용자 라이브러리에 포함될 상기 복수의 해시 함수들의 순서를 상기 복수의 해시 값들의 저장 순서에 대응하여 'H4(x), H1(x), Hk(x), ..., H2(x)' 순서로 결정할 수 있다.At this time, the application forgery and alteration prevention device 110 is a plurality of hash functions' H used to calculate the plurality of hash values' H 4 , H 1 , H k , ..., H 2 'stored on the database. Storing the plurality of hash values in order of the plurality of hash functions to be included in the user library with reference to 4 (x), H 1 (x), H k (x), ..., H 2 (x) '. Corresponding to the order, 'H 4 (x), H 1 (x), H k (x), ..., H 2 (x)' can be determined in the order.

다시 말해서, 어플리케이션 위변조 방지 장치(110)는 'H4'를 연산하기 위해 'H4(x)'라는 해시 함수를 이용하였으므로, 상기 사용자 라이브러리에 'H4'에 대응되는 순서로 'H4(x)'라는 해시 함수를 포함시키기 위해, 'H4'를 연산하기 위해 사용된 'H4(x)'라는 해시 함수를 참조하여 상기 사용자 라이브러리 상에 'H4'에 대응되는 순서로 'H4(x)'라는 해시 함수를 포함시킬 수 있다.In other words, the application forgery and alteration prevention device 110 used a hash function of 'H 4 (x)' to calculate 'H 4 ', so that the user library in the order corresponding to 'H 4 ' in the user library 'H 4 ( x) 'to refer to the hash function' H 4 (x) 'used to compute' H 4 'and refer to the' H 4 'in the order corresponding to' H 4 'on the user library. 4 (x) 'may contain a hash function.

이렇게 어플리케이션 위변조 방지 장치(110)가 클라이언트 단말(130)로 상기 사용자 라이브러리를 전송하면, 클라이언트 단말(130)은 어플리케이션 제공 서버(120)로부터 상기 어플리케이션을 다운로드함과 동시에 어플리케이션 위변조 방지 장치(110)로부터 상기 복수의 해시 함수들이 포함된 상기 사용자 라이브러리를 수신하여 저장할 수 있다.When the application forgery and alteration prevention apparatus 110 transmits the user library to the client terminal 130, the client terminal 130 downloads the application from the application providing server 120 and at the same time from the application forgery and alteration prevention apparatus 110. The user library including the plurality of hash functions may be received and stored.

클라이언트 단말(130)이 상기 어플리케이션을 다운로드한 이후, 클라이언트 단말(130)의 사용자가 상기 어플리케이션을 실행시키면, 클라이언트 단말(130)은 어플리케이션 제공 서버(120)로 클라이언트 단말(130)에 저장되어 있는 상기 어플리케이션의 실행과 연관된 액세스(access) 요청을 전송한다.After the client terminal 130 downloads the application, when the user of the client terminal 130 executes the application, the client terminal 130 is stored in the client terminal 130 to the application providing server 120 Sends an access request associated with running the application.

예컨대, 클라이언트 단말(130)의 사용자가 어플리케이션 제공 서버(120)로부터 온라인 금융 서비스와 관련된 어플리케이션을 다운로드한 후 상기 어플리케이션을 실행시키면, 클라이언트 단말(130)은 상기 어플리케이션을 통해 계좌 조회나 계좌 이체 등을 수행하기 위해 어플리케이션 제공 서버(120)로 상기 어플리케이션의 실행과 연관된 액세스 요청을 전송할 수 있다.For example, when a user of the client terminal 130 downloads an application related to an online financial service from the application providing server 120 and executes the application, the client terminal 130 performs an account inquiry or transfer through the application. To perform this, the application providing server 120 may transmit an access request associated with the execution of the application.

이렇게, 클라이언트 단말(130)로부터 어플리케이션 제공 서버(120)로 클라이언트 단말(130)에 저장되어 있는 어플리케이션의 실행과 연관된 액세스 요청이 전송되면, 어플리케이션 위변조 방지 장치(110)는 클라이언트 단말(130)에 대해, 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하여 클라이언트 단말(130)에 저장되어 있는 상기 사용자 라이브러리 상에 포함된 상기 복수의 해시 함수들 중 N(N은 자연수)번째 해시 함수를 기초로 연산된 해시 값을 요청할 수 있다.As such, when the access request associated with the execution of the application stored in the client terminal 130 is transmitted from the client terminal 130 to the application providing server 120, the apparatus for preventing forgery and alteration of the application 110 is applied to the client terminal 130. A value calculated based on an N (N is a natural number) hash function among the plurality of hash functions included in the user library stored in the client terminal 130 by inputting a data code value constituting the application; You can request a hash value.

이때, 클라이언트 단말(130)은 어플리케이션 위변조 방지 장치(110)로부터 상기 해시 값에 대한 요청이 수신되면, 상기 어플리케이션을 구성하는 데이터 코드 값을 확인할 수 있다.In this case, when the request for the hash value is received from the application forgery and alteration prevention device 110, the client terminal 130 may check a data code value constituting the application.

그리고 나서, 클라이언트 단말(130)은 어플리케이션 제공 서버(120)로부터 상기 어플리케이션을 다운로드할 때 어플리케이션 위변조 방지 장치(110)로부터 수신한 사용자 라이브러리를 참조하여 상기 사용자 라이브러리 상에 포함된 상기 복수의 해시 함수들 중 어플리케이션 위변조 방지 장치(110)가 요청한 N번째 해시 함수에 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 넣어서 해시 값을 연산할 수 있다.Then, the client terminal 130 refers to the user library received from the application forgery and alteration prevention device 110 when downloading the application from the application providing server 120, the plurality of hash functions included on the user library The hash value may be calculated by inputting a data code value constituting the application as an input to an Nth hash function requested by the application forgery and alteration prevention device 110.

예컨대, 상기 어플리케이션을 구성하는 데이터 코드 값이 'Ic'이고, 상기 N번째 해시 함수가 'HN(x)'인 경우, 클라이언트 단말(130)은 상기 사용자 라이브러리에 포함되어 있는 복수의 해시 함수들 중 상기 N번째 해시 함수인 'HN(x)'에 상기 데이터 코드 값 'Ic'을 입력으로 인가하여 'HN'이라는 해시 값을 연산할 수 있다.For example, when a data code value constituting the application is 'I c ' and the N th hash function is 'H N (x)', the client terminal 130 may include a plurality of hash functions included in the user library. Among them, a hash value of 'H N ' may be calculated by applying the data code value 'I c ' to the N th hash function 'H N (x)' as an input.

이렇게, 클라이언트 단말(130)이 상기 해시 값의 연산을 완료하면, 클라이언트 단말(130)은 상기 연산된 해시 값 'HN'을 어플리케이션 위변조 방지 장치(110)로 전송할 수 있다.As such, when the client terminal 130 completes the calculation of the hash value, the client terminal 130 may transmit the calculated hash value 'H N ' to the apparatus for preventing forgery and alteration 110.

이때, 어플리케이션 위변조 방지 장치(110)는 클라이언트 단말(130)로부터 상기 해시 값 'HN'이 수신되면, 상기 수신된 해시 값과 상기 데이터베이스에 저장되어 있는 복수의 해시 값들 중 N번째로 저장되어 있는 해시 값 간의 일치 여부를 판단할 수 있다.In this case, when the hash value 'H N ' is received from the client terminal 130, the application forgery and alteration prevention apparatus 110 is stored in the Nth of the received hash value and a plurality of hash values stored in the database. You can determine whether the hash values match.

만약, 클라이언트 단말(130)로부터 수신된 해시 값 'HN'와 상기 데이터베이스에 N번째로 저장되어 있는 해시 값이 서로 일치하는 것으로 판단되면, 어플리케이션 위변조 방지 장치(110)는 어플리케이션 제공 서버(120)에 대해, 클라이언트 단말의 상기 어플리케이션의 실행과 연관된 액세스의 허가를 요청할 수 있다.If it is determined that the hash value 'H N ' received from the client terminal 130 and the hash value stored in the Nth database match each other, the application forgery and alteration prevention apparatus 110 may apply to the application providing server 120. For example, a request for permission of access associated with execution of the application of a client terminal may be requested.

하지만, 클라이언트 단말(130)로부터 수신된 해시 값 'HN'과 상기 데이터베이스에 N번째로 저장되어 있는 해시 값이 서로 일치하지 않는 것으로 판단되면, 어플리케이션 위변조 방지 장치(110)는 어플리케이션 제공 서버(120)에 대해, 클라이언트 단말의 상기 어플리케이션의 실행과 연관된 액세스의 차단을 요청할 수 있다.However, if it is determined that the hash value 'H N ' received from the client terminal 130 and the hash value stored in the Nth database do not coincide with each other, the application forgery and alteration prevention apparatus 110 may apply to the application providing server 120. May block the access associated with the execution of the application of the client terminal.

이때, 어플리케이션 제공 서버(120)는 어플리케이션 위변조 방지 장치(110)로부터 상기 액세스의 허가 요청이 수신된 경우, 클라이언트 단말(130)의 사용자가 상기 어플리케이션을 사용할 수 있도록 상기 어플리케이션의 실행과 연관된 액세스를 허가하고, 어플리케이션 위변조 방지 장치(110)로부터 상기 액세스의 차단 요청이 수신된 경우, 클라이언트 단말(130)의 사용자가 상기 어플리케이션을 사용할 수 없도록 상기 어플리케이션의 실행과 연관된 액세스를 차단할 수 있다.In this case, when the request for permission to access is received from the application forgery and alteration prevention device 110, the application providing server 120 grants access associated with execution of the application so that a user of the client terminal 130 may use the application. When the request for blocking access is received from the device forgery prevention device 110, the access associated with the execution of the application may be blocked so that the user of the client terminal 130 cannot use the application.

결국, 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 장치(110)는 클라이언트 단말(130)이 어플리케이션을 실행하고자 할 때, 클라이언트 단말(130)로부터 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하는 소정의 해시 값을 수신하여 상기 수신된 해시 값이 데이터베이스에 저장되어 있는 해시 값과 일치하는 경우에만 상기 어플리케이션의 실행을 위한 액세스를 허가함으로써, 위조되거나 변조된 어플리케이션이 클라이언트 단말(130)에서 사용되는 것을 방지할 수 있다.As a result, the apparatus for preventing forgery and alteration of an application according to an embodiment of the present invention, when the client terminal 130 is to execute an application, inputs a data code value constituting the application from the client terminal 130 as an input. By receiving a hash value of and allowing access for execution of the application only if the received hash value matches a hash value stored in a database, the forged or forged application is used on the client terminal 130. You can prevent it.

본 발명의 일실시예에 따르면, 어플리케이션 위변조 방지 장치(110)는 클라이언트 단말(130)로부터 어플리케이션 제공 서버(120)로 상기 어플리케이션의 실행과 연관된 액세스 요청이 전송되면, 클라이언트 단말(130)로 N번째 해시 함수를 기초로 연산된 해시 값을 요청하기 전에, 클라이언트 단말(130)에 저장되어 있는 상기 사용자 라이브러리의 버전이 최신 버전인지 여부를 확인하여 상기 사용자 라이브러리의 버전이 최신 버전이 아닌 것으로 확인되면, 상기 클라이언트 단말에 저장되어 있는 상기 사용자 라이브러리에 대한 업데이트를 수행할 수 있다.According to an embodiment of the present invention, the application forgery and alteration prevention device 110, when the access request associated with the execution of the application is transmitted from the client terminal 130 to the application providing server 120, N-th to the client terminal 130 Before requesting the hash value calculated based on the hash function, if it is determined whether the version of the user library stored in the client terminal 130 is the latest version and the version of the user library is not the latest version, The user library stored in the client terminal may be updated.

보통, 어플리케이션 위변조 방지 장치(110)의 관리자는 어플리케이션 위변조 방지를 위한 효율을 높이기 위해 주기적으로 어플리케이션 위변조 방지 장치(110)에 저장되어 있는 복수의 해시 함수들의 종류를 변경하거나 새로운 해시 함수를 추가할 수 있다.In general, an administrator of the application forgery and alteration prevention apparatus 110 may change a type of a plurality of hash functions stored in the application forgery and alteration prevention apparatus 110 or add a new hash function periodically to increase the efficiency for preventing application forgery and alteration prevention. have.

이때, 어플리케이션 위변조 방지 장치(110)는 어플리케이션 위변조 방지 장치(110)에 저장되어 있는 복수의 해시 함수들의 종류가 변경되거나 새로운 해시 함수가 추가되면, 복수의 해시 값들을 다시 연산하여 상기 데이터베이스 상에 재저장할 수 있다.In this case, when the type of a plurality of hash functions stored in the application forgery prevention apparatus 110 is changed or a new hash function is added, the application forgery and alteration prevention apparatus 110 recalculates the plurality of hash values and re-adds them to the database. Can be stored.

이 경우, 어플리케이션 위변조 방지 장치(110)의 관리자는 클라이언트 단말(130)로부터 수신한 해시 값과 어플리케이션 위변조 방지 장치(110)의 데이터베이스에 저장되어 있는 해시 값 간의 비교를 위해 클라이언트 단말(130)에 저장되어 있는 사용자 라이브러리에 대한 업데이트를 수행해 주어야 할 필요가 있다.In this case, the manager of the application forgery and alteration prevention apparatus 110 stores the hash value received from the client terminal 130 and the hash value stored in the database of the application forgery and alteration prevention apparatus 110 in the client terminal 130. You will need to update your existing user library.

따라서, 어플리케이션 위변조 방지 장치(110)는 클라이언트 단말(130)이 어플리케이션을 실행함에 따라 클라이언트 단말(130)에서 어플리케이션 제공 서버(120)로 상기 어플리케이션의 실행과 연관된 액세스 요청이 전송되면, 그 때마다 클라이언트 단말(130)에 저장되어 있는 사용자 라이브러리의 버전을 확인하여 최신 버전이 아닌 경우, 업데이트를 수행할 수 있다.Therefore, the application forgery and alteration prevention apparatus 110, whenever the client terminal 130 executes the application, the access request associated with the execution of the application from the client terminal 130 to the application providing server 120, the client every time Checking the version of the user library stored in the terminal 130, if not the latest version, can be updated.

또한, 본 발명의 일실시예에 따르면, 어플리케이션 위변조 방지 장치(110)는 소정의 주기 간격으로 클라이언트 단말(130)에 저장되어 있는 사용자 라이브러리의 버전을 확인하여 상기 사용자 라이브러리에 대한 업데이트를 수행할 수도 있다.In addition, according to an embodiment of the present invention, the application forgery and alteration prevention device 110 may check the version of the user library stored in the client terminal 130 at predetermined intervals to update the user library. have.

이때, 어플리케이션 위변조 방지 장치(110)는 클라이언트 단말(130)에 저장되어 있는 상기 사용자 라이브러리에 대한 업데이트가 수행될 경우, 상기 데이터베이스에 저장되어 있는 복수의 해시 값들의 저장 순서를 랜덤하게 변경하여 상기 변경된 저장 순서에 따라 상기 복수의 해시 값들을 상기 데이터베이스에 재저장할 수 있다.In this case, when the application forgery and alteration prevention device 110 is updated for the user library stored in the client terminal 130, the changed order by randomly changing the storage order of the plurality of hash values stored in the database The plurality of hash values may be re-stored in the database in a storage order.

예컨대, 어플리케이션 위변조 방지 장치(110)의 데이터베이스 상에 상기 복수의 해시 값들이 'H4, H1, Hk, ..., H2' 순서로 저장되어 있는 경우, 어플리케이션 위변조 방지 장치(110)는 클라이언트 단말(130)에 저장되어 있는 상기 사용자 라이브러리에 대한 업데이트가 수행될 경우, 상기 복수의 해시 값들의 저장 순서를 'H5, H3, H2, ..., Hk'와 같이 랜덤하게 변경하여 상기 데이터베이스 상에 재저장할 수 있다.For example, when the plurality of hash values are stored in the order of 'H 4 , H 1 , H k , ..., H 2 ' on the database of the application forgery and alteration prevention device 110, the application forgery and alteration prevention device 110 When the update of the user library stored in the client terminal 130 is performed, the storage order of the plurality of hash values is randomized as 'H 5 , H 3 , H 2 , ..., H k '. Can be restored on the database.

그리고 나서, 어플리케이션 위변조 방지 장치(110)는 상기 복수의 해시 값들의 변경된 저장 순서에 대응하여 상기 업데이트될 사용자 라이브러리에 포함될 상기 복수의 해시 함수들의 순서를 변경한 후 상기 사용자 라이브러리에 대한 업데이트를 수행할 수 있다.Then, the application forgery and alteration prevention apparatus 110 may perform an update on the user library after changing the order of the plurality of hash functions to be included in the updated user library in response to the changed storage order of the plurality of hash values. Can be.

다시 말해서, 어플리케이션 위변조 방지 장치(110)는 상기 업데이트될 사용자 라이브러리 상에 상기 복수의 해시 함수들이 'H5(x), H3(x), H2(x), ..., Hk(x)' 순서로 포함되도록 순서를 변경한 후 클라이언트 단말(130)에 저장되어 있는 사용자 라이브러리에 대한 업데이트를 수행할 수 있다.In other words, the application forgery and alteration prevention device 110 is a plurality of hash functions on the user library to be updated 'H 5 (x), H 3 (x), H 2 (x), ..., H k ( After changing the order to be included in the order x) 'may update the user library stored in the client terminal 130.

결국, 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 장치(110)는 복수의 해시 값들의 저장 순서를 랜덤하게 결정하여 어플리케이션 위변조 방지 장치(110)의 데이터베이스 상에 저장하고, 상기 랜덤하게 결정된 저장 순서에 대응하여 클라이언트 단말(130)에 제공할 사용자 라이브러리에 포함될 복수의 해시 함수들의 순서를 결정함으로써, 추후 클라이언트 단말(130)로부터 수신할 N번째 해시 값의 종류를 미리 예상하지 못하게 하여 보안을 강화할 수 있고, 이와 더불어 클라이언트 단말(130)에 저장되어 있는 사용자 라이브러리에 대한 업데이트가 수행될 때마다, 상기 데이터베이스 상에 저장되어 있는 복수의 해시 값들의 저장 순서를 랜덤하게 변경하여 재저장한 후 상기 변경된 저장 순서에 대응하여 상기 업데이트될 사용자 라이브러리에 포함될 복수의 해시 함수들의 순서를 변경함으로써, 추후 클라이언트 단말(130)로부터 수신할 N번째 해시 값의 종류에 대한 예상을 원천적으로 차단하여 보안을 더욱 강화할 수 있다.As a result, the application forgery and alteration prevention apparatus 110 according to an embodiment of the present invention randomly determines a storage order of a plurality of hash values, stores them on a database of the application forgery and alteration prevention apparatus 110, and the randomly determined storage order. By determining the order of a plurality of hash functions to be included in the user library to be provided to the client terminal 130 in response to the above, the type of the N-th hash value to be received from the client terminal 130 may not be predicted in advance, thereby enhancing security. In addition, whenever an update to the user library stored in the client terminal 130 is performed, the storage sequence of the plurality of hash values stored in the database is randomly changed and resaved, and then the changed storage is performed. Included in the user library to be updated according to the order By changing the order of the plurality of hash functions, it is possible to fundamentally cut off greater security further estimated on the type of the N-th hash value is received from a further client terminal 130.

본 발명의 일실시예에 따르면, 어플리케이션 위변조 방지 장치(110)는 클라이언트 단말(130)로부터 어플리케이션 제공 서버(120)로 상기 어플리케이션의 실행과 연관된 액세스 요청이 전송되면, 클라이언트 단말(130)로부터 N번째 해시 값을 수신하여 상기 어플리케이션이 위변조된 어플리케이션인지 여부를 판단할 수도 있지만, 클라이언트 단말(130)에 대해, 클라이언트 단말(130)의 해킹시 생성되는 적어도 하나의 선정된 파일의 존재 여부에 대한 확인을 요청할 수 있다.According to an embodiment of the present invention, the application forgery and alteration prevention device 110, when the access request associated with the execution of the application is transmitted from the client terminal 130 to the application providing server 120, N-th from the client terminal 130 Although it may be determined whether the application is a forged application by receiving a hash value, the client terminal 130 checks whether there is at least one selected file generated when the client terminal 130 is hacked. You can request

보통, 클라이언트 단말(130)이 루팅(Rooting)되거나 탈옥(Jailbreak)되는 등과 같이, 해킹이 수행되면, 클라이언트 단말(130)에 '/sbin/su', '/system/bin/su', '/Application/Cydia.app', '/Application/RockApp.app' 등과 같은 소정의 파일이 생성될 수 있다.Usually, when hacking is performed, such as when the client terminal 130 is rooted or jailbreak, '/ sbin / su', '/ system / bin / su', '/' A predetermined file such as 'Application / Cydia.app', '/Application/RockApp.app', etc. may be generated.

이에, 어플리케이션 위변조 방지 장치(110)는 클라이언트 단말(130)에서 상기 어플리케이션이 실행됨에 따라, 클라이언트 단말(130)로부터 어플리케이션 제공 서버(120)로 상기 어플리케이션의 실행과 연관된 액세스 요청이 전송되면, 클라이언트 단말(130)에 대해, 클라이언트 단말(130)의 해킹시 생성되는 상기 적어도 하나의 선정된 파일의 존재 여부에 대한 확인을 요청할 수 있다.Accordingly, when the application is executed in the client terminal 130, when the application request is transmitted from the client terminal 130 to the application providing server 120, an application forgery and alteration prevention apparatus 110 is transmitted. With respect to 130, a request may be made to confirm whether or not the at least one selected file generated when the client terminal 130 is hacked.

이때, 클라이언트 단말(130)은 상기 적어도 하나의 선정된 파일의 존재 여부에 대한 확인 요청이 수신되면, 상기 어플리케이션이 실행되는 플랫폼(platform) 상에 위치하는 상기 적어도 하나의 선정된 파일의 존재 유무를 탐지하여 그 결과를 어플리케이션 위변조 방지 장치(110)로 전송할 수 있다.In this case, when the client terminal 130 receives a confirmation request regarding the existence of the at least one selected file, the client terminal 130 determines whether the at least one selected file exists on a platform on which the application is executed. The detection result may be transmitted to the application forgery and alteration prevention device 110.

그리고 나서, 어플리케이션 위변조 방지 장치(110)는 클라이언트 단말(130)에 의해 클라이언트 단말(130) 내에 상기 적어도 하나의 선정된 파일이 존재하는 것으로 확인된 경우, 어플리케이션 제공 서버(120)에 대해, 클라이언트 단말(130)의 상기 어플리케이션의 실행과 연관된 액세스의 차단을 요청할 수 있다.Then, the application forgery and alteration prevention device 110 when the client terminal 130 confirms that the at least one selected file exists in the client terminal 130, with respect to the application providing server 120, the client terminal May request to block access associated with the execution of the application at 130.

결국, 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 장치(110)는 클라이언트 단말(130)로부터 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하여 연산된 해시 값을 수신하여 상기 수신된 해시 값을 기초로 위변조된 어플리케이션의 실행을 위한 액세스를 방지할 수 있을 뿐만 아니라, 클라이언트 단말(130)에 클라이언트 단말(130)의 해킹시 생성되는 소정의 파일이 존재하는지 여부를 확인한 후 클라이언트 단말(130)에 상기 파일이 존재하는 것으로 확인되면, 상기 어플리케이션의 실행을 위한 액세스를 차단함으로써, 어플리케이션의 불법적 사용을 방지할 수 있다.As a result, the application forgery and alteration prevention apparatus 110 according to an embodiment of the present invention receives a hash value calculated by inputting a data code value constituting an application from the client terminal 130 based on the received hash value. In addition to preventing access for the execution of the forged application, after checking whether a predetermined file generated when the client terminal 130 is hacked in the client terminal 130 exists in the client terminal 130 If it is confirmed that there exists, by preventing access for the execution of the application, it is possible to prevent illegal use of the application.

도 2는 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 장치의 구조를 도시한 도면이다.2 is a diagram illustrating a structure of an application forgery and alteration prevention apparatus according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 장치(210)는 저장부(211), 해시 값 요청부(212), 해시 값 수신부(213), 판단부(214) 및 액세스 요청부(215)를 포함한다.2, the application forgery and alteration prevention apparatus 210 according to an embodiment of the present invention may include a storage unit 211, a hash value request unit 212, a hash value receiver 213, a determination unit 214, and an access unit. Request unit 215 is included.

저장부(211)는 클라이언트 단말(230)이 어플리케이션 제공 서버(220)로부터 어플리케이션을 다운로드하여 저장하면, 클라이언트 단말(230)이 다운로드한 어플리케이션의 정보와, 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하여 복수의 해시 함수들을 기초로 연산된 복수의 해시 값들을 데이터베이스(미도시)에 저장한다.When the client terminal 230 downloads the application from the application providing server 220 and stores the application, the storage unit 211 inputs the information of the application downloaded by the client terminal 230 and a data code value constituting the application. To store a plurality of hash values calculated based on the plurality of hash functions in a database (not shown).

이때, 본 발명의 일실시예에 따르면, 어플리케이션 위변조 방지 장치(210)는 라이브러리 전송부(216)를 더 포함할 수 있다.At this time, according to an embodiment of the present invention, the application forgery and alteration prevention device 210 may further include a library transmission unit 216.

라이브러리 전송부(216)는 클라이언트 단말(230)이 어플리케이션 제공 서버(220)로부터 상기 어플리케이션을 다운로드하여 저장하면, 클라이언트 단말(230)로 상기 복수의 해시 함수들이 포함된 사용자 라이브러리를 전송한다.When the client terminal 230 downloads and stores the application from the application providing server 220, the library transmitter 216 transmits the user library including the plurality of hash functions to the client terminal 230.

이때, 본 발명의 일실시예에 따르면, 저장부(211)는 상기 복수의 해시 값들의 저장 순서를 랜덤하게 결정하여 상기 결정된 저장 순서에 따라 상기 복수의 해시 값들을 상기 데이터베이스에 저장할 수 있고, 라이브러리 전송부(216)는 상기 결정된 저장 순서에 대응하여 상기 사용자 라이브러리에 포함될 상기 복수의 해시 함수들의 순서를 결정한 후 상기 사용자 라이브러리를 상기 클라이언트 단말로 전송할 수 있다.In this case, according to an embodiment of the present invention, the storage unit 211 may randomly determine a storage order of the plurality of hash values and store the plurality of hash values in the database according to the determined storage order. The transmitter 216 may determine the order of the plurality of hash functions to be included in the user library in response to the determined storage order, and then transmit the user library to the client terminal.

해시 값 요청부(212)는 클라이언트 단말(230)로부터 어플리케이션 제공 서버(220)로 클라이언트 단말(230)에 저장되어 있는 상기 어플리케이션의 실행과 연관된 액세스 요청이 전송되면, 클라이언트 단말(230)에 대해, 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하여 클라이언트 단말(230)에 저장되어 있는 상기 사용자 라이브러리에 포함된 상기 복수의 해시 함수들 중 N(N은 자연수)번째 해시 함수를 기초로 연산된 해시 값을 요청한다.When the hash value request unit 212 transmits an access request associated with the execution of the application stored in the client terminal 230 from the client terminal 230 to the application providing server 220, the client terminal 230, A hash value calculated based on the Nth (N is a natural number) hash function among the plurality of hash functions included in the user library stored in the client terminal 230 by inputting a data code value constituting the application. Ask.

해시 값 수신부(213)는 클라이언트 단말(230)로부터 상기 해시 값을 수신한다.The hash value receiver 213 receives the hash value from the client terminal 230.

판단부(214)는 클라이언트 단말(230)로부터 상기 해시 값이 수신되면, 상기 수신된 해시 값과 상기 데이터베이스에 저장되어 있는 상기 복수의 해시 값들 중 N번째 해시 값 간의 일치 여부를 판단한다.When the hash value is received from the client terminal 230, the determination unit 214 determines whether the received hash value coincides with an Nth hash value among the plurality of hash values stored in the database.

액세스 요청부(215)는 상기 수신된 해시 값과 상기 N번째 해시 값이 서로 일치하는 것으로 판단되면, 어플리케이션 제공 서버(220)에 대해, 클라이언트 단말(230)의 상기 어플리케이션의 실행과 연관된 액세스의 허가를 요청한다.If it is determined that the received hash value and the N-th hash value coincide with each other, the access requesting unit 215 permits the application providing server 220 to access the application associated with the execution of the application of the client terminal 230. Ask.

이때, 본 발명의 일실시예에 따르면, 액세스 요청부(215)는 상기 수신된 해시 값과 상기 N번째 해시 값이 서로 일치하지 않는 것으로 판단되면, 어플리케이션 제공 서버(220)에 대해, 클라이언트 단말(230)의 상기 어플리케이션의 실행과 연관된 액세스의 차단을 요청할 수 있다.In this case, according to an embodiment of the present invention, if it is determined that the received hash value and the N-th hash value do not coincide with each other, the access request unit 215, with respect to the application providing server 220, the client terminal ( 230 may request to block access associated with the execution of the application.

본 발명의 일실시예에 따르면, 어플리케이션 위변조 방지 장치(210)는 라이브러리 업데이트부(217)를 더 포함할 수 있다.According to an embodiment of the present invention, the application forgery and alteration prevention device 210 may further include a library updater 217.

라이브러리 업데이트부(217)는 클라이언트 단말(230)로부터 어플리케이션 제공 서버(220)로 클라이언트 단말(230)에 저장되어 있는 상기 어플리케이션의 실행과 연관된 액세스 요청이 전송되면, 클라이언트 단말(230)에 저장되어 있는 상기 사용자 라이브러리의 버전이 최신 버전인지 여부를 확인하여 상기 사용자 라이브러리의 버전이 최신 버전이 아닌 것으로 확인되면, 클라이언트 단말(230)에 저장되어 있는 상기 사용자 라이브러리에 대한 업데이트를 수행한다.The library update unit 217 is stored in the client terminal 230 when an access request associated with the execution of the application stored in the client terminal 230 is transmitted from the client terminal 230 to the application providing server 220. If it is confirmed that the version of the user library is not the latest version by checking whether the version of the user library is the latest version, the update of the user library stored in the client terminal 230 is performed.

이때, 본 발명의 일실시예에 따르면, 저장부(211)는 클라이언트 단말(230)에 저장되어 있는 상기 사용자 라이브러리에 대한 업데이트가 수행될 경우, 상기 데이터베이스에 저장되어 있는 상기 복수의 해시 값들의 저장 순서를 랜덤하게 변경하여 상기 변경된 저장 순서에 따라 상기 복수의 해시 값들을 상기 데이터베이스에 재저장하고, 라이브러리 업데이트부(217)는 상기 변경된 저장 순서에 대응하여 상기 사용자 라이브러리에 포함될 상기 복수의 해시 함수들의 순서를 변경한 후 상기 사용자 라이브러리에 대한 업데이트를 수행할 수 있다.In this case, according to an embodiment of the present invention, the storage unit 211 stores the plurality of hash values stored in the database when an update to the user library stored in the client terminal 230 is performed. Randomly change the order to restore the plurality of hash values in the database according to the changed storage order, and the library updater 217 may include a plurality of hash functions to be included in the user library in response to the changed storage order. After changing the order, the user library can be updated.

본 발명의 일실시예에 따르면, 어플리케이션 위변조 방지 장치(210)는 확인 요청부(218)를 더 포함할 수 있다.According to an embodiment of the present invention, the application forgery and alteration prevention device 210 may further include a confirmation request unit 218.

확인 요청부(218)는 클라이언트 단말(230)로부터 어플리케이션 제공 서버(220)로 클라이언트 단말(230)에 저장되어 있는 상기 어플리케이션의 실행과 연관된 액세스 요청이 전송되면, 클라이언트 단말(230)에 대해, 클라이언트 단말(230)의 해킹시 생성되는 적어도 하나의 선정된 파일의 존재 여부에 대한 확인을 요청한다.When the request for confirmation 218 transmits an access request associated with the execution of the application stored in the client terminal 230 from the client terminal 230 to the application providing server 220, the client terminal 230, the client, Request confirmation of the existence of at least one selected file generated during hacking of the terminal 230.

이때, 클라이언트 단말(230)은 확인 요청부(218)로부터 상기 적어도 하나의 선정된 파일의 존재 여부에 대한 확인 요청이 수신되면, 상기 어플리케이션이 실행되는 플랫폼 상에 위치하는 상기 적어도 하나의 선정된 파일의 존재 유무를 탐지하여 상기 적어도 하나의 선정된 파일의 존재 여부에 대한 확인을 수행할 수 있다. In this case, when the client terminal 230 receives a confirmation request regarding the existence of the at least one selected file from the confirmation request unit 218, the at least one selected file located on the platform on which the application is executed. The presence of the at least one selected file can be detected by detecting the presence of the.

이때, 액세스 요청부(215)는 클라이언트 단말(230)에 의해 클라이언트 단말(230) 내에 상기 적어도 하나의 선정된 파일이 존재하는 것으로 확인된 경우, 어플리케이션 제공 서버(220)에 대해, 클라이언트 단말(230)의 상기 어플리케이션의 실행과 연관된 액세스의 차단을 요청할 수 있다.In this case, when it is determined by the client terminal 230 that the at least one selected file exists in the client terminal 230, the access requesting unit 215 may provide the client terminal 230 with respect to the application providing server 220. Request a block of access associated with the execution of the application.

이상, 도 2를 참조하여 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 장치(210)에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 장치(210)는 도 1을 이용하여 설명한 어플리케이션 위변조 방지 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The application forgery and alteration prevention device 210 according to the exemplary embodiment of the present invention has been described above with reference to FIG. 2. Here, since the application forgery and alteration prevention apparatus 210 according to an embodiment of the present invention may correspond to the configuration of the operation of the application forgery and alteration prevention apparatus 110 described with reference to FIG. 1, a detailed description thereof will be omitted. Shall be.

도 3은 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 방법을 도시한 순서도이다.3 is a flowchart illustrating a method for preventing forgery of an application according to an embodiment of the present invention.

단계(S310)에서는 클라이언트 단말이 어플리케이션 제공 서버로부터 어플리케이션을 다운로드하여 저장하면, 상기 클라이언트 단말이 다운로드한 어플리케이션의 정보와, 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하여 복수의 해시 함수들을 기초로 연산된 복수의 해시 값들을 데이터베이스에 저장한다.In step S310, when the client terminal downloads and stores the application from the application providing server, the client terminal calculates a plurality of hash functions based on the information of the downloaded application and data code values constituting the application. Stores multiple hash values in a database.

이때, 본 발명의 일실시예에 따르면, 상기 어플리케이션 위변조 방지 방법은 단계(S310)이후에 상기 클라이언트 단말이 상기 어플리케이션 제공 서버로부터 상기 어플리케이션을 다운로드하여 저장하면, 상기 클라이언트 단말로 상기 복수의 해시 함수들이 포함된 상기 사용자 라이브러리를 전송하는 단계를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, in the method for preventing forgery of an application, after the client terminal downloads and stores the application from the application providing server after step S310, the plurality of hash functions are transmitted to the client terminal. The method may further include transmitting the included user library.

이때, 본 발명의 일실시예에 따르면, 단계(S310)에서는 상기 복수의 해시 값들의 저장 순서를 랜덤하게 결정하여 상기 결정된 저장 순서에 따라 상기 복수의 해시 값들을 상기 데이터베이스에 저장할 수 있고, 상기 사용자 라이브러리를 전송하는 단계는 상기 결정된 저장 순서에 대응하여 상기 사용자 라이브러리에 포함될 상기 복수의 해시 함수들의 순서를 결정한 후 상기 사용자 라이브러리를 상기 클라이언트 단말로 전송할 수 있다.In this case, according to an embodiment of the present invention, in step S310, the storage order of the plurality of hash values may be randomly determined and the plurality of hash values may be stored in the database according to the determined storage order. The transmitting of the library may determine the order of the plurality of hash functions to be included in the user library in response to the determined storage order, and then transmit the user library to the client terminal.

단계(S320)에서는 상기 클라이언트 단말로부터 상기 어플리케이션 제공 서버로 상기 클라이언트 단말에 저장되어 있는 상기 어플리케이션의 실행과 연관된 액세스 요청이 전송되면, 상기 클라이언트 단말에 대해, 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하여 상기 클라이언트 단말에 저장되어 있는 상기 사용자 라이브러리에 포함된 상기 복수의 해시 함수들 중 N(N은 자연수)번째 해시 함수를 기초로 연산된 해시 값을 요청한다.In step S320, when the access request associated with the execution of the application stored in the client terminal is transmitted from the client terminal to the application providing server, the data code value constituting the application is input to the client terminal. A hash value calculated based on an N (N is a natural number) hash function among the plurality of hash functions included in the user library stored in the client terminal is requested.

단계(S330)에서는 상기 클라이언트 단말로부터 상기 해시 값을 수신한다.In step S330, the hash value is received from the client terminal.

단계(S340)에서는 상기 클라이언트 단말로부터 상기 해시 값이 수신되면, 상기 수신된 해시 값과 상기 데이터베이스에 저장되어 있는 상기 복수의 해시 값들 중 N번째 해시 값 간의 일치 여부를 판단한다.In operation S340, when the hash value is received from the client terminal, it is determined whether the received hash value coincides with an Nth hash value among the plurality of hash values stored in the database.

만약, 단계(S350)에서 단계(S340)에 대한 판단을 수행한 결과, 상기 수신된 해시 값과 상기 N번째 해시 값이 서로 일치하는 것으로 판단되면, 단계(S360)에서 상기 어플리케이션 제공 서버에 대해, 상기 클라이언트 단말의 상기 어플리케이션의 실행과 연관된 액세스의 허가를 요청한다.If it is determined in step S350 that the received hash value and the Nth hash value coincide with each other as a result of the determination of step S340, in step S360, the application providing server, Request permission to access associated with the execution of the application of the client terminal.

하지만, 단계(S350)에서 단계(S340)에 대한 판단을 수행한 결과, 상기 수신된 해시 값과 상기 N번째 해시 값이 서로 일치하지 않는 것으로 판단되면, 단계(S370)에서 상기 어플리케이션 제공 서버에 대해, 상기 클라이언트 단말의 상기 어플리케이션의 실행과 연관된 액세스의 차단을 요청할 수 있다.However, if it is determined in step S350 that the received hash value and the N-th hash value do not coincide with each other, and in step S370, the application providing server is determined. The blocking of access associated with execution of the application of the client terminal may be requested.

본 발명의 일실시예에 따르면, 상기 어플리케이션 위변조 방지 방법은 단계(S320)이전에 상기 클라이언트 단말로부터 상기 어플리케이션 제공 서버로 상기 클라이언트 단말에 저장되어 있는 상기 어플리케이션의 실행과 연관된 액세스 요청이 전송되면, 상기 클라이언트 단말에 저장되어 있는 상기 사용자 라이브러리의 버전이 최신 버전인지 여부를 확인하여 상기 사용자 라이브러리의 버전이 최신 버전이 아닌 것으로 확인되면, 상기 클라이언트 단말에 저장되어 있는 상기 사용자 라이브러리에 대한 업데이트를 수행하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, the method for preventing forgery of an application may include transmitting an access request associated with execution of the application stored in the client terminal from the client terminal to the application providing server before step S320. Checking whether the version of the user library stored in the client terminal is the latest version, and if it is determined that the version of the user library is not the latest version, performing an update to the user library stored in the client terminal It may further include.

이때, 본 발명의 일실시예에 따르면, 상기 어플리케이션 위변조 방지 방법은 단계(S320)이전에 상기 클라이언트 단말에 저장되어 있는 상기 사용자 라이브러리에 대한 업데이트가 수행될 경우, 상기 데이터베이스에 저장되어 있는 상기 복수의 해시 값들의 저장 순서를 랜덤하게 변경하여 상기 변경된 저장 순서에 따라 상기 복수의 해시 값들을 상기 데이터베이스에 재저장하는 단계를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, in the method for preventing forgery of an application, when an update to the user library stored in the client terminal is performed before step S320, the plurality of stored in the database is stored. The method may further include randomly changing a storage order of hash values and restoring the plurality of hash values in the database according to the changed storage order.

이때, 상기 사용자 라이브러리에 대한 업데이트를 수행하는 단계는 상기 변경된 저장 순서에 대응하여 상기 사용자 라이브러리에 포함될 상기 복수의 해시 함수들의 순서를 변경한 후 상기 사용자 라이브러리에 대한 업데이트를 수행할 수 있다.In this case, the updating of the user library may include updating the user library after changing the order of the plurality of hash functions to be included in the user library in response to the changed storage order.

본 발명의 일실시예에 따르면, 상기 어플리케이션 위변조 방지 방법은 단계(S310)이후에 상기 클라이언트 단말로부터 상기 어플리케이션 제공 서버로 상기 클라이언트 단말에 저장되어 있는 상기 어플리케이션의 실행과 연관된 액세스 요청이 전송되면, 상기 클라이언트 단말에 대해, 상기 클라이언트 단말의 해킹시 생성되는 적어도 하나의 선정된 파일의 존재 여부에 대한 확인을 요청하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, the method for preventing the forgery of the application after the access request associated with the execution of the application stored in the client terminal from the client terminal to the application providing server after the step (S310), the The method may further include requesting, from the client terminal, whether the at least one predetermined file generated when the client terminal is hacked.

이때, 상기 클라이언트 단말은 상기 적어도 하나의 선정된 파일의 존재 여부에 대한 확인 요청이 수신되면, 상기 어플리케이션이 실행되는 플랫폼 상에 위치하는 상기 적어도 하나의 선정된 파일의 존재 유무를 탐지하여 상기 적어도 하나의 선정된 파일의 존재 여부에 대한 확인을 수행할 수 있다.In this case, the client terminal detects the presence or absence of the at least one selected file located on the platform on which the application is executed when the confirmation request for the existence of the at least one selected file is received. You can check the existence of the selected file.

그리고 나서, 상기 어플리케이션 위변조 방지 방법은 상기 클라이언트 단말에 의해 상기 클라이언트 단말 내에 상기 적어도 하나의 선정된 파일이 존재하는 것으로 확인된 경우, 상기 어플리케이션 제공 서버에 대해, 상기 클라이언트 단말의 상기 어플리케이션의 실행과 연관된 액세스의 차단을 요청하는 단계를 더 포함할 수 있다.Then, the method for preventing the forgery of the application is associated with the execution of the application of the client terminal, with respect to the application providing server, if the at least one selected file exists in the client terminal by the client terminal. The method may further include requesting blocking of access.

이상, 도 3을 참조하여 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 어플리케이션 위변조 방지 방법은 도 1과 도 2를 이용하여 설명한 어플리케이션 위변조 방지 장치(110, 210)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, the method for preventing forgery of an application according to an embodiment of the present invention has been described with reference to FIG. 3. Here, the method for preventing the forgery of the application according to an embodiment of the present invention may correspond to the configuration of the operation of the application forgery and alteration prevention apparatus 110 and 210 described with reference to FIGS. 1 and 2. It will be omitted.

본 발명의 일실시예에 따른 어플리케이션 위변조 방지 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method for preventing forgery and alteration of an application according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described by specific embodiments such as specific components and the like. For those skilled in the art, various modifications and variations are possible from these descriptions.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

110: 어플리케이션 위변조 방지 장치 120: 어플리케이션 제공 서버
130: 클라이언트 단말
210: 어플리케이션 위변조 방지 장치
211: 저장부 212: 해시 값 요청부
213: 해시 값 수신부 214: 판단부
215: 액세스 요청부 216: 라이브러리 전송부
217: 라이브러리 업데이트부 218: 확인 요청부
220: 어플리케이션 제공 서버 230: 클라이언트 단말
110: application forgery and alteration prevention device 120: application providing server
130:
210: application forgery and alteration prevention device
211: storage unit 212: hash value request unit
213: hash value receiver 214: determination unit
215: access request unit 216: library transfer unit
217: library update unit 218: confirmation request unit
220: application providing server 230: client terminal

Claims (13)

클라이언트 단말이 어플리케이션 제공 서버로부터 어플리케이션을 다운로드하여 저장하면, 상기 클라이언트 단말이 다운로드한 어플리케이션의 정보와, 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하여 복수의 해시(hash) 함수들을 기초로 연산된 복수의 해시 값들을 데이터베이스에 저장하는 저장부;
상기 클라이언트 단말로부터 상기 어플리케이션 제공 서버로 상기 클라이언트 단말에 저장되어 있는 상기 어플리케이션의 실행을 위한 액세스(access) 요청이 전송되면, 상기 클라이언트 단말에 대해, 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하여 상기 클라이언트 단말에 저장되어 있는 사용자 라이브러리(library)에 포함된 상기 복수의 해시 함수들 중 N(N은 자연수)번째 해시 함수를 기초로 연산된 해시 값을 요청하는 해시 값 요청부;
상기 클라이언트 단말로부터 상기 해시 값을 수신하는 해시 값 수신부;
상기 클라이언트 단말로부터 상기 해시 값이 수신되면, 상기 수신된 해시 값과 상기 데이터베이스에 저장되어 있는 상기 복수의 해시 값들 중 N번째 해시 값 간의 일치 여부를 판단하는 판단부; 및
상기 수신된 해시 값과 상기 N번째 해시 값이 서로 일치하는 것으로 판단되면, 상기 어플리케이션 제공 서버에 대해, 상기 클라이언트 단말의 상기 어플리케이션의 실행을 위한 액세스의 허가를 요청하는 액세스 요청부
를 포함하는 어플리케이션 위변조 방지 장치.
When a client terminal downloads an application from an application providing server and stores the application, the client terminal receives a plurality of hash functions calculated based on a plurality of hash functions by inputting information of the downloaded application and data code values constituting the application. A storage unit to store hash values of the database in a database;
When an access request for execution of the application stored in the client terminal is transmitted from the client terminal to the application providing server, the client terminal inputs a data code value constituting the application. A hash value request unit for requesting a hash value calculated based on an N (N is a natural number) hash function among a plurality of hash functions included in a user library stored in a client terminal;
A hash value receiver configured to receive the hash value from the client terminal;
A determination unit determining whether a match is made between the received hash value and an Nth hash value among the plurality of hash values stored in the database when the hash value is received from the client terminal; And
If it is determined that the received hash value and the N-th hash value coincide with each other, the access request unit requests the application providing server for permission to access the execution of the application of the client terminal.
Application forgery and alteration prevention device comprising a.
제1항에 있어서,
상기 액세스 요청부는
상기 수신된 해시 값과 상기 N번째 해시 값이 서로 일치하지 않는 것으로 판단되면, 상기 어플리케이션 제공 서버에 대해, 상기 클라이언트 단말의 상기 어플리케이션의 실행을 위한 액세스의 차단을 요청하는 어플리케이션 위변조 방지 장치.
The method of claim 1,
The access request unit
And if it is determined that the received hash value and the Nth hash value do not coincide with each other, requesting the application providing server to block access for execution of the application of the client terminal.
제1항에 있어서,
상기 클라이언트 단말이 상기 어플리케이션 제공 서버로부터 상기 어플리케이션을 다운로드하여 저장하면, 상기 클라이언트 단말로 상기 복수의 해시 함수들이 포함된 상기 사용자 라이브러리를 전송하는 라이브러리 전송부; 및
상기 클라이언트 단말로부터 상기 어플리케이션 제공 서버로 상기 클라이언트 단말에 저장되어 있는 상기 어플리케이션의 실행을 위한 액세스 요청이 전송되면, 상기 클라이언트 단말에 저장되어 있는 상기 사용자 라이브러리의 버전이 최신 버전인지 여부를 확인하여 상기 사용자 라이브러리의 버전이 최신 버전이 아닌 것으로 확인되면, 상기 클라이언트 단말에 저장되어 있는 상기 사용자 라이브러리에 대한 업데이트를 수행하는 라이브러리 업데이트부
를 더 포함하는 어플리케이션 위변조 방지 장치.
The method of claim 1,
A library transmitter configured to transmit the user library including the plurality of hash functions to the client terminal when the client terminal downloads and stores the application from the application providing server; And
When the access request for execution of the application stored in the client terminal is transmitted from the client terminal to the application providing server, the user is checked whether the version of the user library stored in the client terminal is the latest version. If it is determined that the version of the library is not the latest version, the library update unit for updating the user library stored in the client terminal
Application forgery and alteration prevention device further comprising.
제3항에 있어서,
상기 저장부는
상기 복수의 해시 값들의 저장 순서를 랜덤(Random)하게 결정하여 상기 결정된 저장 순서에 따라 상기 복수의 해시 값들을 상기 데이터베이스에 저장하고,
상기 라이브러리 전송부는
상기 결정된 저장 순서에 대응하여 상기 사용자 라이브러리에 포함될 상기 복수의 해시 함수들의 순서를 결정한 후 상기 사용자 라이브러리를 상기 클라이언트 단말로 전송하는 어플리케이션 위변조 방지 장치.
The method of claim 3,
The storage unit
Randomly determining a storage order of the plurality of hash values to store the plurality of hash values in the database according to the determined storage order,
The library transmission unit
The apparatus for preventing forgery and application for transmitting the user library to the client terminal after determining the order of the plurality of hash functions to be included in the user library corresponding to the determined storage order.
제4항에 있어서,
상기 저장부는
상기 클라이언트 단말에 저장되어 있는 상기 사용자 라이브러리에 대한 업데이트가 수행될 경우, 상기 데이터베이스에 저장되어 있는 상기 복수의 해시 값들의 저장 순서를 랜덤하게 변경하여 상기 변경된 저장 순서에 따라 상기 복수의 해시 값들을 상기 데이터베이스에 재저장하고,
상기 라이브러리 업데이트부는
상기 변경된 저장 순서에 대응하여 상기 사용자 라이브러리에 포함될 상기 복수의 해시 함수들의 순서를 변경한 후 상기 사용자 라이브러리에 대한 업데이트를 수행하는 어플리케이션 위변조 방지 장치.
5. The method of claim 4,
The storage unit
When the update of the user library stored in the client terminal is performed, the storage order of the plurality of hash values stored in the database is randomly changed to the plurality of hash values according to the changed storage order. Restore it to the database,
The library update unit
And an update to the user library after changing the order of the plurality of hash functions to be included in the user library in response to the changed storage order.
제1항에 있어서,
상기 클라이언트 단말로부터 상기 어플리케이션 제공 서버로 상기 클라이언트 단말에 저장되어 있는 상기 어플리케이션의 실행을 위한 액세스 요청이 전송되면, 상기 클라이언트 단말에 대해, 상기 클라이언트 단말의 해킹시 생성되는 적어도 하나의 선정된(predetermined) 파일의 존재 여부에 대한 확인을 요청하는 확인 요청부
를 더 포함하고,
상기 액세스 요청부는
상기 클라이언트 단말에 의해 상기 클라이언트 단말 내에 상기 적어도 하나의 선정된 파일이 존재하는 것으로 확인된 경우, 상기 어플리케이션 제공 서버에 대해, 상기 클라이언트 단말의 상기 어플리케이션의 실행을 위한 액세스의 차단을 요청하며,
상기 클라이언트 단말은
상기 확인 요청부로부터 상기 적어도 하나의 선정된 파일의 존재 여부에 대한 확인 요청이 수신되면, 상기 어플리케이션이 실행되는 플랫폼(platform) 상에 위치하는 상기 적어도 하나의 선정된 파일의 존재 유무를 탐지하여 상기 적어도 하나의 선정된 파일의 존재 여부에 대한 확인을 수행하는 어플리케이션 위변조 방지 장치.
The method of claim 1,
When the access request for execution of the application stored in the client terminal is transmitted from the client terminal to the application providing server, at least one predetermined generated when the client terminal is hacked to the client terminal. Verification request unit requesting verification of the existence of a file
Further comprising:
The access request unit
When the client terminal determines that the at least one predetermined file exists in the client terminal, requesting the application providing server to block access for execution of the application of the client terminal,
The client terminal
When a confirmation request for the existence of the at least one selected file is received from the confirmation request unit, the presence or absence of the at least one selected file located on a platform on which the application is executed is detected. Application forgery and alteration prevention device for checking the existence of at least one selected file.
클라이언트 단말이 어플리케이션 제공 서버로부터 어플리케이션을 다운로드하여 저장하면, 상기 클라이언트 단말이 다운로드한 어플리케이션의 정보와, 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하여 복수의 해시(hash) 함수들을 기초로 연산된 복수의 해시 값들을 데이터베이스에 저장하는 단계;
상기 클라이언트 단말로부터 상기 어플리케이션 제공 서버로 상기 클라이언트 단말에 저장되어 있는 상기 어플리케이션의 실행을 위한 액세스(access) 요청이 전송되면, 상기 클라이언트 단말에 대해, 상기 어플리케이션을 구성하는 데이터 코드 값을 입력으로 하여 상기 클라이언트 단말에 저장되어 있는 사용자 라이브러리(library)에 포함된 상기 복수의 해시 함수들 중 N(N은 자연수)번째 해시 함수를 기초로 연산된 해시 값을 요청하는 단계;
상기 클라이언트 단말로부터 상기 해시 값을 수신하는 단계;
상기 클라이언트 단말로부터 상기 해시 값이 수신되면, 상기 수신된 해시 값과 상기 데이터베이스에 저장되어 있는 상기 복수의 해시 값들 중 N번째 해시 값 간의 일치 여부를 판단하는 단계; 및
상기 수신된 해시 값과 상기 N번째 해시 값이 서로 일치하는 것으로 판단되면, 상기 어플리케이션 제공 서버에 대해, 상기 클라이언트 단말의 상기 어플리케이션의 실행을 위한 액세스의 허가를 요청하는 단계
를 포함하는 어플리케이션 위변조 방지 방법.
When a client terminal downloads an application from an application providing server and stores the application, the client terminal receives a plurality of hash functions calculated based on a plurality of hash functions by inputting information of the downloaded application and data code values constituting the application. Storing the hash values in the database;
When an access request for execution of the application stored in the client terminal is transmitted from the client terminal to the application providing server, the client terminal inputs a data code value constituting the application. Requesting a hash value calculated based on an N (N is a natural number) hash function among the plurality of hash functions included in a user library stored in a client terminal;
Receiving the hash value from the client terminal;
If the hash value is received from the client terminal, determining whether the received hash value coincides with an Nth hash value among the plurality of hash values stored in the database; And
If it is determined that the received hash value and the Nth hash value coincide with each other, requesting, to the application providing server, permission for access for execution of the application of the client terminal;
Application forgery prevention method comprising a.
제7항에 있어서,
상기 수신된 해시 값과 상기 N번째 해시 값이 서로 일치하지 않는 것으로 판단되면, 상기 어플리케이션 제공 서버에 대해, 상기 클라이언트 단말의 상기 어플리케이션의 실행을 위한 액세스의 차단을 요청하는 단계
를 더 포함하는 어플리케이션 위변조 방지 방법.
The method of claim 7, wherein
If it is determined that the received hash value and the Nth hash value do not coincide with each other, requesting the application providing server to block access for execution of the application of the client terminal;
Application forgery prevention method further comprising a.
제7항에 있어서,
상기 클라이언트 단말이 상기 어플리케이션 제공 서버로부터 상기 어플리케이션을 다운로드하여 저장하면, 상기 클라이언트 단말로 상기 복수의 해시 함수들이 포함된 상기 사용자 라이브러리를 전송하는 단계; 및
상기 클라이언트 단말로부터 상기 어플리케이션 제공 서버로 상기 클라이언트 단말에 저장되어 있는 상기 어플리케이션의 실행을 위한 액세스 요청이 전송되면, 상기 클라이언트 단말에 저장되어 있는 상기 사용자 라이브러리의 버전이 최신 버전인지 여부를 확인하여 상기 사용자 라이브러리의 버전이 최신 버전이 아닌 것으로 확인되면, 상기 클라이언트 단말에 저장되어 있는 상기 사용자 라이브러리에 대한 업데이트를 수행하는 단계
를 더 포함하는 어플리케이션 위변조 방지 방법.
The method of claim 7, wherein
When the client terminal downloads the application from the application providing server and stores the application, transmitting the user library including the plurality of hash functions to the client terminal; And
When the access request for execution of the application stored in the client terminal is transmitted from the client terminal to the application providing server, the user is checked whether the version of the user library stored in the client terminal is the latest version. If it is determined that the version of the library is not the latest version, performing an update for the user library stored in the client terminal
Application forgery prevention method further comprising a.
제9항에 있어서,
상기 데이터베이스에 저장하는 단계는
상기 복수의 해시 값들의 저장 순서를 랜덤(Random)하게 결정하여 상기 결정된 저장 순서에 따라 상기 복수의 해시 값들을 상기 데이터베이스에 저장하고,
상기 사용자 라이브러리를 전송하는 단계는
상기 결정된 저장 순서에 대응하여 상기 사용자 라이브러리에 포함될 상기 복수의 해시 함수들의 순서를 결정한 후 상기 사용자 라이브러리를 상기 클라이언트 단말로 전송하는 어플리케이션 위변조 방지 방법.
10. The method of claim 9,
The step of storing in the database
Randomly determining a storage order of the plurality of hash values to store the plurality of hash values in the database according to the determined storage order,
The transmitting of the user library
And determining the order of the plurality of hash functions to be included in the user library in response to the determined storage order and transmitting the user library to the client terminal.
제10항에 있어서,
상기 클라이언트 단말에 저장되어 있는 상기 사용자 라이브러리에 대한 업데이트가 수행될 경우, 상기 데이터베이스에 저장되어 있는 상기 복수의 해시 값들의 저장 순서를 랜덤하게 변경하여 상기 변경된 저장 순서에 따라 상기 복수의 해시 값들을 상기 데이터베이스에 재저장하는 단계
를 더 포함하고,
상기 사용자 라이브러리에 대한 업데이트를 수행하는 단계는
상기 변경된 저장 순서에 대응하여 상기 사용자 라이브러리에 포함될 상기 복수의 해시 함수들의 순서를 변경한 후 상기 사용자 라이브러리에 대한 업데이트를 수행하는 어플리케이션 위변조 방지 방법.
The method of claim 10,
When the update of the user library stored in the client terminal is performed, the storage order of the plurality of hash values stored in the database is randomly changed to the plurality of hash values according to the changed storage order. Steps to Resave to Database
Further comprising:
The step of updating the user library is
And updating the user library after changing the order of the plurality of hash functions to be included in the user library in response to the changed storage order.
제7항에 있어서,
상기 클라이언트 단말로부터 상기 어플리케이션 제공 서버로 상기 클라이언트 단말에 저장되어 있는 상기 어플리케이션의 실행을 위한 액세스 요청이 전송되면, 상기 클라이언트 단말에 대해, 상기 클라이언트 단말의 해킹시 생성되는 적어도 하나의 선정된(predetermined) 파일의 존재 여부에 대한 확인을 요청하는 단계; 및
상기 클라이언트 단말에 의해 상기 클라이언트 단말 내에 상기 적어도 하나의 선정된 파일이 존재하는 것으로 확인된 경우, 상기 어플리케이션 제공 서버에 대해, 상기 클라이언트 단말의 상기 어플리케이션의 실행을 위한 액세스의 차단을 요청하는 단계
를 더 포함하고,
상기 클라이언트 단말은
상기 적어도 하나의 선정된 파일의 존재 여부에 대한 확인 요청이 수신되면, 상기 어플리케이션이 실행되는 플랫폼(platform) 상에 위치하는 상기 적어도 하나의 선정된 파일의 존재 유무를 탐지하여 상기 적어도 하나의 선정된 파일의 존재 여부에 대한 확인을 수행하는 어플리케이션 위변조 방지 방법.
The method of claim 7, wherein
When the access request for execution of the application stored in the client terminal is transmitted from the client terminal to the application providing server, at least one predetermined generated when the client terminal is hacked to the client terminal. Requesting confirmation of the existence of the file; And
When the client terminal determines that the at least one predetermined file exists in the client terminal, requesting the application providing server to block access for execution of the application of the client terminal.
Further comprising:
The client terminal
When a confirmation request for the existence of the at least one predetermined file is received, the presence or absence of the at least one predetermined file located on a platform on which the application is executed is detected and the at least one predetermined file is detected. How to prevent application forgery that checks for the existence of a file.
제7항 내지 제12항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.13. A computer-readable recording medium recording a program for performing the method of any one of claims 7 to 12.
KR1020120095954A 2012-08-30 2012-08-30 Application counterfeit prevention apparatus and method KR101273370B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120095954A KR101273370B1 (en) 2012-08-30 2012-08-30 Application counterfeit prevention apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120095954A KR101273370B1 (en) 2012-08-30 2012-08-30 Application counterfeit prevention apparatus and method

Publications (1)

Publication Number Publication Date
KR101273370B1 true KR101273370B1 (en) 2013-07-30

Family

ID=48996042

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120095954A KR101273370B1 (en) 2012-08-30 2012-08-30 Application counterfeit prevention apparatus and method

Country Status (1)

Country Link
KR (1) KR101273370B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016064040A1 (en) * 2014-10-20 2016-04-28 숭실대학교 산학협력단 User terminal using signature information to detect whether application program has been tampered and method for tamper detection using the user terminal
KR20180060124A (en) * 2016-11-28 2018-06-07 (주) 세인트 시큐리티 Method for Searching Malware Information Using Domain Name Server
KR20210113840A (en) * 2020-03-09 2021-09-17 엔에이치엔 주식회사 The faking code of program detecting method and apparatus thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070111816A (en) * 2006-05-19 2007-11-22 삼성전자주식회사 Data output device and data output method for preventing counterfeit and falsification of the data
KR100954758B1 (en) 2009-07-29 2010-04-27 주식회사 코드원 System and method for securing web application

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070111816A (en) * 2006-05-19 2007-11-22 삼성전자주식회사 Data output device and data output method for preventing counterfeit and falsification of the data
KR100954758B1 (en) 2009-07-29 2010-04-27 주식회사 코드원 System and method for securing web application

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016064040A1 (en) * 2014-10-20 2016-04-28 숭실대학교 산학협력단 User terminal using signature information to detect whether application program has been tampered and method for tamper detection using the user terminal
KR20180060124A (en) * 2016-11-28 2018-06-07 (주) 세인트 시큐리티 Method for Searching Malware Information Using Domain Name Server
KR101944809B1 (en) * 2016-11-28 2019-02-01 (주) 세인트 시큐리티 Method for Searching Malware Information Using Domain Name Server
KR20210113840A (en) * 2020-03-09 2021-09-17 엔에이치엔 주식회사 The faking code of program detecting method and apparatus thereof
KR102337963B1 (en) 2020-03-09 2021-12-10 엔에이치엔 주식회사 The faking code of program detecting method and apparatus thereof

Similar Documents

Publication Publication Date Title
US11127097B2 (en) Method, apparatus, and system for copyright rights defense detection
US11669637B2 (en) Decentralized token table generation
CN108334753B (en) Pirate application verification method and distributed server node
US10007960B2 (en) Electronic license management
US10019558B2 (en) Controlling licensable features of software using access tokens
KR101731934B1 (en) Fail-safe licensing for software applications
KR102008668B1 (en) Security system and method for protecting personal information of file stored in external storage device
WO2015150391A1 (en) Software protection
US9483636B2 (en) Runtime application integrity protection
CN112257086B (en) User privacy data protection method and electronic equipment
US20160330030A1 (en) User Terminal For Detecting Forgery Of Application Program Based On Hash Value And Method Of Detecting Forgery Of Application Program Using The Same
CN104040552A (en) Software modification for partial secure memory processing
JP7494205B2 (en) Preventing the accidental transmission of copies of data records to the distributed ledger system
CN105612731A (en) Roaming internet-accessible application state across trusted and untrusted platforms
KR101273370B1 (en) Application counterfeit prevention apparatus and method
KR101642267B1 (en) System for preventing forgery of application and method therefor
US11038918B1 (en) Managing unpatched user devices
KR20110059363A (en) Method for protecting application and method for executing application thereof
CN115840954A (en) Privacy calculation method, device, system and storage medium
CN104796771A (en) Control downloading method, system and downloading guiding module
EP3057020B1 (en) User terminal and method for protecting core code using neighboring device of same
JP5947358B2 (en) Authentication processing apparatus, method and program
KR101906484B1 (en) Method for application security and system for executing the method
EP3057022B1 (en) Mobile device and method for operating same
KR102410810B1 (en) Method and system for processing extended cryptographic operation

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20160609

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170601

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190604

Year of fee payment: 7