KR20120090711A - System and method for verifying counterfeit or falsification of application for mobile - Google Patents

System and method for verifying counterfeit or falsification of application for mobile Download PDF

Info

Publication number
KR20120090711A
KR20120090711A KR1020110011280A KR20110011280A KR20120090711A KR 20120090711 A KR20120090711 A KR 20120090711A KR 1020110011280 A KR1020110011280 A KR 1020110011280A KR 20110011280 A KR20110011280 A KR 20110011280A KR 20120090711 A KR20120090711 A KR 20120090711A
Authority
KR
South Korea
Prior art keywords
application
verification
forgery
mobile terminal
hash value
Prior art date
Application number
KR1020110011280A
Other languages
Korean (ko)
Other versions
KR101253341B1 (en
Inventor
이동근
정병영
Original Assignee
(주)바이너리소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)바이너리소프트 filed Critical (주)바이너리소프트
Priority to KR1020110011280A priority Critical patent/KR101253341B1/en
Publication of KR20120090711A publication Critical patent/KR20120090711A/en
Application granted granted Critical
Publication of KR101253341B1 publication Critical patent/KR101253341B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Abstract

PURPOSE: An application forgery/alteration verification system and a method thereof are provided to block access to a forged application by determining forgery/alteration of an application used in a mobile device. CONSTITUTION: A service server(100) receives a forgery/alteration verification request of an application(10) from a mobile terminal(1) and transmits the forgery/alteration verification request of the application to a verification server(200). The service server receives a verification result from the verification server. The verification server compares data of database and verifies forgery/alteration of the application. The verification server returns a verification result to the service server.

Description

모바일 단말용 애플리케이션 위변조 검증 시스템 및 방법{SYSTEM AND METHOD FOR VERIFYING COUNTERFEIT OR FALSIFICATION OF APPLICATION FOR MOBILE}Application and forgery verification system and method for mobile terminal {SYSTEM AND METHOD FOR VERIFYING COUNTERFEIT OR FALSIFICATION OF APPLICATION FOR MOBILE}

본 발명은 모바일 단말용 애플리케이션 위변조 검증 시스템 및 방법에 관한 것이다. 구체적으로는 스마트폰 등 모바일 단말에서 실행되는 애플리케이션의 위변조여부를 확인 또는/및 검증하는 모바일 단말용 애플리케이션 위변조 검증 시스템 및 방법에 관한 것이다.
The present invention relates to an application forgery verification system and method for a mobile terminal. More specifically, the present invention relates to a mobile terminal application forgery verification system and method for verifying and / or verifying whether or not forgery of an application executed in a mobile terminal such as a smartphone.

스마트폰 등이 많이 보급되면서, 스마트폰 등에서 실행되는 애플리케이션 또한 많이 사용되고 있다. 이러한 애플리케이션은 인터넷 등의 네트워크와 연동될 수 있어 모바일 오피스가 가능하게 되는 등 무한한 확장성을 갖게 하고 편리성이 있다. 그러나 이러한 장점을 갖는 애플리케이션은 네트워크와 연동되는 특성상 공격자에 의해 수정 또는 변조될 수 있는 위험성을 항시 가지고 있다. As smart phones are widely used, applications running on smart phones are also being used. Such applications can be linked to a network such as the Internet, allowing mobile offices to have infinite scalability and convenience. However, applications that have these advantages always have the risk of being modified or tampered with by attackers due to their interoperability with the network.

따라서 모바일 오피스나 공공기관의 애플리케이션 등은 위변조된 애플리케이션에 의한 접근을 차단할 필요가 있다.
Therefore, mobile office or public institution applications need to block access by forged applications.

본 발명은 전술한 문제를 해결하기 위한 것으로, 스마트 폰 등의 모바일 기기에서 사용되는 애플리케이션의 위변조 여부를 판단하기 위한 시스템 및 방법을 제공하고자 한다.The present invention is to solve the above problems, to provide a system and method for determining whether the forgery of the application used in a mobile device, such as a smart phone.

본 발명의 하나의 모습으로, 검증서버에서 애플리케이션 파일의 해시값을 가지고 애플리케이션 위변조 유무를 확인할 수 있도록 하고자 한다.In one aspect of the present invention, to verify the presence of application forgery with the hash value of the application file in the verification server.

본 발명의 다른 하나의 모습으로, 검증서버에서 검증번호를 통지해줌으로써, 서비스 서버에서 애플리케이션의 위변조 유무를 확인할 수 있도록 하고자 한다.
In another aspect of the present invention, by notifying the verification number from the verification server, it is intended to be able to check the presence or forgery of the application in the service server.

전술한 목적을 달성하기 위하여, 본 발명의 하나의 모습에 따라, 모바일 단말로부터 애플리케이션의 위변조 확인요청을 수신받아 검증서버로 애플리케이션의 위변조 검증요청을 전송하고, 검증서버로부터 검증결과를 제공받아 모바일 단말로 애플리케이션의 서비스 이용 가능여부에 대하여 회신하는 서비스 서버; 및 서비스 서버로부터 위변조 검증요청을 수신받아 미리 저장된 DB 데이터와 비교하여 애플리케이션의 위변조 여부를 검증하고, 검증결과를 서비스 서버로 회신하는 검증서버; 를 포함하여 이루어지는 모바일 단말용 애플리케이션 위변조 검증 시스템이 제안된다.
In order to achieve the above object, according to one aspect of the present invention, receiving a forgery confirmation request of the application from the mobile terminal and transmits the forgery verification request of the application to the verification server, receiving the verification result from the verification server mobile terminal A service server responsive to service availability of the application; And a verification server receiving the forgery verification request from the service server, comparing the previously stored DB data to verify whether the application is forged, and returning the verification result to the service server. Application forgery verification system for a mobile terminal comprising a is proposed.

바람직하게는, 본 발명의 또 하나의 특징에 따라, DB 데이터에는 애플리케이션의 개발자에 의해 제공된 애플리케이션 ID와, 애플리케이션 파일에 대한 해시값이 저장되어 있고, 모바일 단말로부터의 위변조 확인요청에는 모바일 단말에서 실행되는 애플리케이션 파일을 해싱한 1차 해시값과 애플리케이션의 ID가 포함되어 있다. 또한, 검증서버는 서비스 서버로부터 위변조 검증요청을 통해 제공받은 애플리케이션의 ID 및 1차 해시값을 DB 데이터의 ID 및 해시값과 비교하여 동일여부를 판단하거나 위변조 검증요청을 통해 제공받은 애플리케이션 ID와 DB 데이터를 매칭시켜 추출된 해시값과 위변조 검증요청을 통해 제공받은 1차 해시값을 비교하여 위변조 여부를 검증한다.
Preferably, according to another aspect of the present invention, the DB data stores the application ID provided by the developer of the application and a hash value for the application file, and the forgery confirmation request from the mobile terminal is executed in the mobile terminal. Contains the primary hash value of the hashed application file and the application ID. In addition, the verification server compares the ID and the first hash value of the application provided through the forgery verification request from the service server with the ID and hash value of the DB data to determine whether they are the same, or the application ID and DB provided through the forgery verification request. The data is matched and the extracted hash value is compared with the first hash value provided through the forgery verification request to verify the forgery.

또는 바람직하게, 본 발명의 또 하나의 특징에 따르면, 애플리케이션 개발자에 의해 개발된 애플리케이션은 검증에 필요한 비밀값을 생성하거나 기억하는 파일데이터를 포함하고, DB 데이터에는 애플리케이션 개발자에 의해 제공된 애플리케이션 ID 및 애플리케이션 파일에 대한 해시값과 비밀값 테이블이 저장되어 있다. 또한, 모바일 단말로부터의 위변조 확인요청에는 모바일 단말에서 실행되는 애플리케이션 파일을 해싱한 1차 해시값과 애플리케이션에서 모바일 단말로부터 설정된 비밀값을 함께 해싱한 2차 해시값, 그리고 모바일 단말에서 실행되는 애플리케이션의 ID가 포함되어 있다. 게다가, 검증서버는 서비스 서버로부터 위변조 검증요청을 통해 제공받은 애플리케이션 ID, 및 2차 해시값으로부터 해석된 비밀값와 1차 해시값을 DB 데이터의 애플리케이션 ID 및 해시값, 그리고 DB 데이터의 비밀값 테이블에서 추출된 값과 비교하여 동일여부를 판단하며 위변조 여부를 검증한다. 또는, 위변조 검증요청을 통해 제공받은 정보를 토대로 DB 데이터의 비밀값 테이블과 매칭시켜 비밀값을 추출하고 위변조 검증요청을 통해 제공받은 애플리케이션 ID를 DB 데이터에 매칭시켜 해시값을 추출하고 추출된 비밀값과 해시값을 2차 해싱한 결과 값을 위변조 검증요청을 통해 제공받은 2차 해시값과 비교하여 위변조 여부를 검증한다.Or preferably, according to another aspect of the invention, an application developed by an application developer includes file data for generating or storing a secret value required for verification, and the DB data includes an application ID and an application provided by the application developer. The hash and secret tables for the file are stored. In addition, the forgery confirmation request from the mobile terminal includes a first hash value hashing an application file executed on the mobile terminal, a second hash value hashed together with a secret value set from the mobile terminal in the application, and an application executed on the mobile terminal. ID is included. In addition, the verification server stores the application ID received from the service server through the forgery verification request, the secret value and the first hash value interpreted from the secondary hash value, in the application ID and hash value of the DB data, and the secret value table of the DB data. It compares the extracted value to determine whether it is the same and verifies the forgery. Alternatively, extract the secret value by matching the secret value table of the DB data based on the information provided through the forgery verification request, extract the hash value by matching the application ID provided through the forgery verification request to the DB data, and extract the secret value Secondary hashing of the result and the hash value is compared with the second hash value provided through the forgery verification request to verify the forgery.

본 발명의 또 하나의 특징에 따라, 더 바람직하게는, 서비스 서버는 모바일 단말로부터의 애플리케이션 서비스 요청에 따라 소정의 비밀번호에 따른 비밀값 제공을 요청하고, 모바일 단말에서 설정된 비밀값은 애플리케이션에서 파일데이터를 실행하여 생성되거나 기억된, 소정의 비밀번호에 상응하는 비밀값이고, 서비스 서버는 위변조 검증요청에 애플리케이션 ID, 2차 해시값 및 소정의 비밀번호를 포함시켜 검증서버로 제공하고, 검증서버는 소정의 비밀번호와 애플리케이션 ID를 DB 데이터에 매칭시켜 추출한 결과값과 위변조 검증요청에 포함된 2차 해시값의 해석값을 비교하거나 소정의 비밀번호 및 애플리케이션 ID를 DB 데이터에 매칭시켜 얻은 비밀값과 해시값을 2차 해싱한 결과값을 위변조 검증요청을 통해 제공받은 2차 해시값을 비교하여 위변조 여부 검증을 수행한다.
According to yet another aspect of the invention, more preferably, the service server requests to provide a secret value according to a predetermined password in response to an application service request from the mobile terminal, and the secret value set in the mobile terminal is file data in the application. Is a secret value corresponding to a predetermined password, generated or stored by executing a service, the service server includes an application ID, a secondary hash value, and a predetermined password in the forgery verification request, and provides the verification server to the verification server. Compare the result of extracting password and application ID by matching DB data with the interpretation value of secondary hash value included in the forgery verification request, or the secret value and hash value obtained by matching a predetermined password and application ID to DB data. The second hashed result is compared with the second hash value provided through the forgery verification request. Perform the action whether verification.

바람직하게는 또한, 본 발명의 또 하나의 특징에 따라, 1차 해시값 및 DB 데이터에 저장된 해시값은 애플리케이션의 실행파일에 대한 해시값이다.
Preferably, according to yet another aspect of the present invention, the hash value stored in the primary hash value and the DB data is a hash value for the executable file of the application.

또한, 전술한 목적을 달성하기 위하여, 본 발명의 다른 모습에 따라, 모바일 단말로부터 애플리케이션 서비스 요청을 수신받아 검증서버로 위변조 검증요청을 전송하고, 검증서버로부터 검증부호를 제공받고, 모바일 단말로부터 검증서버에서 제공된 검증부호를 입력받아, 검증서버로부터 제공받은 검증부호와 모바일 단말로부터 입력받은 검증부호를 비교하여 서비스 요청된 애플리케이션의 위변조 여부를 확인하고 모바일 단말로 상기 애플리케이션의 서비스 이용 가능여부에 대하여 회신하는 서비스 서버; 및 애플리케이션의 등록데이터와 모바일 단말의 디바이스 정보를 포함하여 저장하고 있는 DB를 구비하고, 서비스 서버로부터 애플리케이션의 위변조 검증요청을 수신받아 위변조 검증요청에 포함된 정보와 DB 데이터를 비교하여 상응하는 디바이스 정보에 해당하는 모바일 단말과 검증요청한 서비스 서버로 각각 검증부호를 제공하는 검증서버; 를 포함하여 이루어지는 모바일 단말용 애플리케이션 위변조 검증 시스템이 제안된다.
In addition, in order to achieve the above object, according to another aspect of the present invention, by receiving an application service request from the mobile terminal, transmits a forgery verification request to the verification server, receiving a verification code from the verification server, verification from the mobile terminal Receives the verification code provided from the server, compares the verification code provided from the verification server with the verification code input from the mobile terminal, checks whether the application requested forgery is forged, and returns the service availability of the application to the mobile terminal. A service server; And a DB storing the registration data of the application and the device information of the mobile terminal, and receiving the forgery verification request of the application from the service server, comparing the DB data with the information included in the forgery verification request and corresponding device information. A verification server providing verification codes to the mobile terminal corresponding to the verification service server and the verification request; Application forgery verification system for a mobile terminal comprising a is proposed.

바람직하게는, 본 발명의 또 하나의 특징에 따라, 전술한 DB에 저장된 애플리케이션 등록데이터는 애플리케이션의 개발자에 의해 제공된 애플리케이션 ID와 애플리케이션 파일에 대한 해시값을 포함하고, 전술한 DB에 저장된 디바이스 정보는 모바일 단말이 애플리케이션을 다운받을 때 또는 모바일 단말에서 애플리케이션의 실행시에 서비스 서버에서 수집되어 DB에 저장된다. 또한, 모바일 단말에서 실행되는 애플리케이션의 ID와 모바일 단말의 디바이스 정보가 모바일 단말로부터의 서비스 요청에 포함되어 서비스 서버에서 수신받고, 위변조 검증요청에 포함되어 검증서버로 제공된다. 게다가, 검증서버는 제공받은 애플리케이션의 ID 및 디바이스 정보를 DB에 매칭시켜 디바이스 정보에 상응하는 모바일 단말과 서비스 서버로 각각 동일한 검증부호를 제공한다.
Preferably, according to another aspect of the invention, the application registration data stored in the above-described DB includes an application ID provided by the developer of the application and a hash value for the application file, the device information stored in the above-described DB When the mobile terminal downloads the application or when the application is executed on the mobile terminal, it is collected by the service server and stored in the DB. In addition, the ID of the application executed in the mobile terminal and the device information of the mobile terminal are included in the service request from the mobile terminal, received by the service server, and included in the forgery verification request and provided to the verification server. In addition, the verification server matches the ID and device information of the provided application to the DB and provides the same verification code to the mobile terminal and the service server corresponding to the device information, respectively.

게다가, 전술한 목적을 달성하기 위하여, 본 발명의 또 다른 모습에 따라, (a) 모바일 단말로부터 애플리케이션의 서비스 요청에 따라 애플리케이션의 위변조 확인요청을 수신받는 단계; (b) 수신받은 위변조 확인요청에 포함된 데이터와 미리 저장된 DB 데이터를 비교하여 애플리케이션의 위변조 여부를 검증하는 단계; 및 (c) 검증결과에 따라 모바일 단말로 애플리케이션의 서비스 이용 가능여부에 대하여 회신하는 단계; 를 포함하여 이루어지는 모바일 단말용 애플리케이션 위변조 검증 방법이 제안된다.
In addition, in order to achieve the above object, according to another aspect of the present invention, the method comprising the steps of: (a) receiving a forgery confirmation request of the application according to the service request of the application from the mobile terminal; (b) verifying whether the application is forged by comparing the data included in the received forgery confirmation request with previously stored DB data; And (c) replying whether the service is available to the mobile terminal according to the verification result. Application forgery verification method for a mobile terminal comprising a is proposed.

바람직하게는, 본 발명의 또 하나의 특징에 따라, DB 데이터에는 애플리케이션의 개발자에 의해 제공된 애플리케이션 ID와 애플리케이션 파일에 대한 해시값이 저장되어 있고, 전술한 (a) 단계에서의 위변조 확인요청에는 모바일 단말에서 실행되는 애플리케이션 파일을 해싱한 1차 해시값과 애플리케이션의 ID가 포함되어 수신되고, 전술한 (b) 단계에서는 위변조 확인요청을 통해 제공받은 애플리케이션의 ID 및 1차 해시값을 DB 데이터의 ID 및 해시값과 비교하여 동일여부를 판단하거나 위변조 검증요청을 통해 제공받은 애플리케이션 ID와 DB 데이터를 매칭시켜 추출된 해시값과 위변조 검증요청을 통해 제공받은 1차 해시값을 비교하여 위변조 여부를 검증한다.
Preferably, according to another aspect of the present invention, the DB data stores the application ID provided by the developer of the application and a hash value for the application file, and the mobile forgery confirmation request in step (a) described above The first hash value hashing the application file executed in the terminal and the ID of the application is received. In step (b), the ID and the primary hash value of the application provided through the forgery confirmation request are included in the DB data ID. And compares the hash value with the application ID provided through the forgery verification request and the DB data by comparing the hash value with the extracted hash value and the first hash value provided through the forgery verification request. .

또는 바람직하게는, 본 발명의 또 하나의 특징에 따라, 애플리케이션 개발자에 의해 개발된 애플리케이션은 검증에 필요한 비밀값을 생성하거나 기억하는 파일데이터를 포함하고, DB 데이터에는 애플리케이션 개발자에 의해 제공된 애플리케이션 ID 및 애플리케이션 파일에 대한 해시값과 비밀값 테이블이 저장되어 있다. 그리고, 전술한 (a) 단계는: (a-1) 모바일 단말로부터 애플리케이션의 서비스 요청에 따라 애플리케이션을 통해 비밀값의 입력을 요청하는 단계; 및 (a-2) 모바일 단말에서의 비밀값에 대한 설정입력에 따라 모바일 단말에서 실행되는 애플리케이션 파일을 해싱한 1차 해시값과 비밀값을 함께 해싱한 2차 해시값, 그리고 실행되는 애플리케이션의 ID를 포함하는 위변조 확인요청을 수신받는 단계; 를 포함한다. 또한, 전술한 (b) 단계에서는 위변조 확인요청을 통해 제공받은 애플리케이션 ID, 및 2차 해시값으로부터 해석된 비밀값과 1차 해시값을 DB 데이터의 애플리케이션 ID 및 해시값, 그리고 DB 데이터의 비밀값 테이블과 비교하여 동일여부를 판단하며 위변조 여부를 검증하거나, 위변조 확인요청을 통해 제공받은 정보 및 애플리케이션 ID를 토대로 DB 데이터와 매칭시켜 비밀값 및 해시값을 추출하고 추출된 비밀값과 해시값을 2차 해싱한 결과값을 위변조 확인요청을 통해 제공받은 2차 해시값과 비교하여 위변조 여부를 검증한다.Or preferably, according to another aspect of the invention, an application developed by an application developer includes file data for generating or storing a secret value required for verification, wherein the DB data includes an application ID provided by the application developer and The hash and secret tables for the application file are stored. In addition, step (a) described above may include: (a-1) requesting input of a secret value through an application according to a service request of an application from a mobile terminal; And (a-2) a first hash value hashing the application file executed in the mobile terminal and a second hash value hashed together with the secret value according to the setting input for the secret value in the mobile terminal, and the ID of the application to be executed. Receiving forgery confirmation request comprising a; It includes. In addition, in step (b), the application ID provided through the forgery confirmation request, the secret value and the first hash value interpreted from the secondary hash value, the application ID and hash value of the DB data, and the secret value of the DB data. It compares the table to determine whether it is the same and verifies the forgery or extracts the secret value and hash value by matching the DB data based on the information and application ID provided through the forgery confirmation request, and extracts the extracted secret value and hash value. The result of the second hashing is compared with the second hash value provided through the forgery confirmation request to verify the forgery.

더 바람직하게는, 전술한 (a-1) 단계에서, 모바일 단말로부터의 애플리케이션 서비스 요청에 따라, 모바일 단말로 소정의 비밀번호에 따른 비밀값 입력을 요청하고, 전술한 (a-2) 단계에서의 비밀값은 애플리케이션에서 파일데이터를 실행하여 생성되거나 기억된, 소정의 비밀번호에 상응하는 비밀값이고, 전술한 (b) 단계에서는 소정의 비밀번호와 애플리케이션 ID를 DB 데이터에 매칭시켜 추출한 결과값과 위변조 확인요청에 포함된 2차 해시값의 해석값을 비교하거나 소정의 비밀번호 및 애플리케이션 ID를 DB 데이터에 매칭시켜 얻은 비밀값과 해시값을 2차 해싱한 결과값을 위변조 확인요청을 통해 제공받은 2차 해시값을 비교하여 위변조 여부 검증을 수행한다.
More preferably, in the above-described step (a-1), in response to the application service request from the mobile terminal, request a secret value input according to a predetermined password to the mobile terminal, and in the above-described step (a-2) The secret value is a secret value corresponding to a predetermined password, which is generated or stored by executing file data in the application. In the above-mentioned step (b), the result value and forgery verification obtained by matching the predetermined password and application ID to DB data are extracted. Secondary hash provided through forgery confirmation request by comparing hash value of secondary hash value included in request or hashing secret value and hash value obtained by matching predetermined password and application ID to DB data Verifies forgery by comparing the values.

또한, 전술한 목적을 달성하기 위하여, 본 발명의 또 다른 모습에 따라, (A) 서비스 서버에서 모바일 단말로부터 애플리케이션의 서비스 요청을 수신받아 검증서버로 애플리케이션의 위변조 검증요청을 전송하는 단계; (B) 애플리케이션의 등록데이터와 모바일 단말의 디바이스 정보를 포함하여 저장하고 있는 DB와 연결된 검증서버에서 위변조 검증요청에 포함된 정보와 DB의 데이터를 비교하여 상응하는 디바이스 정보에 해당하는 모바일 단말과 검증요청한 서비스 서버로 각각 검증부호를 제공하는 단계; 및 (C) 서비스 서버에서, 모바일 단말로부터 검증서버에서 제공된 검증부호를 입력받고, 검증서버로부터 제공받은 검증부호와 모바일 단말로부터 입력받은 검증부호를 비교하여 애플리케이션의 위변조 여부를 확인하고 모바일 단말로 애플리케이션의 서비스 이용 가능여부에 대하여 회신하는 단계; 를 포함하여 이루어지는 모바일 단말용 애플리케이션 위변조 검증 방법이 제안된다.
In addition, in order to achieve the above object, according to another aspect of the present invention, (A) receiving a service request of the application from the mobile terminal in the service server and transmitting the forgery verification request of the application to the verification server; (B) comparing the information included in the forgery verification request with the DB data in the verification server connected to the DB including the registration data of the application and the device information of the mobile terminal and verifying with the mobile terminal corresponding to the corresponding device information. Providing verification codes to the requested service server, respectively; And (C) receiving a verification code provided from the verification server from the mobile terminal in the service server, comparing the verification code provided from the verification server with the verification code input from the mobile terminal, and confirming whether the application is forged or not, and then applying the application to the mobile terminal. Responsive to availability of the service; Application forgery verification method for a mobile terminal comprising a is proposed.

바람직하게는, 본 발명의 또 하나의 특징에 따라, 전술한 DB에 저장된 애플리케이션 등록데이터는 애플리케이션의 개발자에 의해 제공된 애플리케이션 ID와 애플리케이션 파일에 대한 해시값을 포함하고, DB에 저장된 상기 디바이스 정보는 모바일 단말이 애플리케이션을 다운받을 때 또는 모바일 단말에서 애플리케이션의 실행시에 서비스 서버에서 수집되어 DB에 저장된다. 또한, 전술한 (A) 단계는: (A-1) 서비스 서버에서, 모바일 단말에서 실행되는 애플리케이션의 ID와 모바일 단말의 디바이스 정보에 관한 정보를 포함하는 서비스 요청을 모바일 단말로부터 수신받는 단계; 및 (A-2) 서비스 서버에서 애플리케이션의 ID와 디바이스 정보에 관한 정보를 포함하는 위변조 검증요청을 검증서버로 제공하는 단계; 를 포함한다. 게다가, 전술한 (B) 단계에서, 검증서버는 제공받은 애플리케이션 ID 및 디바이스 정보를 DB에 매칭시켜 디바이스 정보에 상응하는 모바일 단말과 서비스 서버로 각각 동일한 검증부호를 제공한다.
Preferably, according to another aspect of the invention, the application registration data stored in the above-described DB includes an application ID provided by the developer of the application and a hash value for the application file, wherein the device information stored in the DB is mobile When the terminal downloads the application or when the application is executed in the mobile terminal is collected in the service server and stored in the DB. In addition, the above-mentioned step (A) includes: (A-1) receiving a service request from the mobile terminal, the service server including information on an ID of an application executed in the mobile terminal and device information of the mobile terminal; And (A-2) providing a forgery verification request to the verification server, the service server including information on the ID and device information of the application; . In addition, in the above-described step (B), the verification server matches the provided application ID and the device information to the DB and provides the same verification code to the mobile terminal and the service server corresponding to the device information, respectively.

비록 본 발명의 바람직한 하나의 모습으로 명시적으로 언급되지 않았더라도, 앞서 언급된 기술적 특징의 가능한 다양한 조합에 따른 본 발명의 실시예들이 당업자에게 자명하게 구현될 수 있음은 명백하다.
Although not explicitly mentioned as one preferred aspect of the present invention, it is apparent that embodiments of the present invention according to various possible combinations of the above-mentioned technical features can be obviously implemented to those skilled in the art.

본 발명의 모습에 따라, 모바일 기기에서 사용되는 애플리케이션의 위변조 여부를 판단함으로써 위변조된 애플리케이션을 이용한 접근을 차단할 수 있게 되었다.According to the aspect of the present invention, it is possible to block access using the forged application by determining whether the forgery of the application used in the mobile device.

또한, 본 발명의 하나의 모습에 따라, 검증서버에서 애플리케이션 파일의 해시값을 가지고 애플리케이션 위변조 유무를 확인할 수 있게 되었다.In addition, according to one aspect of the present invention, it is possible to determine whether the application forgery with the hash value of the application file in the verification server.

게다가, 본 발명의 다른 하나의 모습에 따라, 검증서버에서 검증번호를 통지해줌으로써, 서비스 서버에서 애플리케이션의 위변조 유무를 확인할 수 있게 되었다.
In addition, according to another aspect of the present invention, by notifying the verification number from the verification server, it is possible to confirm the presence or forgery of the application in the service server.

본 발명의 다양한 실시예에 따라 직접적으로 언급되지 않은 다양한 효과들이 본 발명의 실시예들에 따른 다양한 구성들로부터 당해 기술분야에서 통상의 지식을 지닌 자에 의해 도출될 수 있음은 자명하다.
It is apparent that various effects not directly referred to in accordance with various embodiments of the present invention can be derived by those of ordinary skill in the art from the various configurations according to the embodiments of the present invention.

도 1은 본 발명의 하나의 실시예에 따른 모바일 단말용 애플리케이션 위변조 검증 시스템을 나타내는 개략도이다.
도 2는 본 발명의 또 하나의 실시예에 따른 모바일 단말용 애플리케이션 위변조 검증 시스템을 나타내는 개략도이다.
도 3은 본 발명의 또 다른 하나의 실시예에 따른 모바일 단말용 애플리케이션 위변조 검증 시스템을 나타내는 개략도이다.
도 4는 본 발명의 다른 하나의 실시예에 따른 모바일 단말용 애플리케이션 위변조 검증 시스템을 나타내는 개략도이다.
도 5는 본 발명의 다른 또 하나의 실시예에 따른 모바일 단말용 애플리케이션 위변조 검증 시스템을 나타내는 개략도이다.
도 6은 본 발명의 다른 하나의 실시예에 따른 모바일 단말용 애플리케이션 위변조 검증 방법을 개략적으로 나타내는 흐름도이다.
도 7은 본 발명의 또 하나의 실시예에 따른 모바일 단말용 애플리케이션 위변조 검증 방법을 개략적으로 나타내는 흐름도이다.
도 8은 본 발명의 다른 또 하나의 실시예에 따른 모바일 단말용 애플리케이션 위변조 검증 방법을 개략적으로 나타내는 흐름도이다.
1 is a schematic diagram illustrating an application forgery verification system for a mobile terminal according to an embodiment of the present invention.
2 is a schematic diagram showing an application forgery verification system for a mobile terminal according to another embodiment of the present invention.
Figure 3 is a schematic diagram showing an application forgery verification system for a mobile terminal according to another embodiment of the present invention.
Figure 4 is a schematic diagram showing an application forgery verification system for a mobile terminal according to another embodiment of the present invention.
Figure 5 is a schematic diagram showing an application forgery verification system for a mobile terminal according to another embodiment of the present invention.
6 is a flowchart schematically illustrating a method for verifying forgery of an application for a mobile terminal according to another embodiment of the present invention.
7 is a flowchart schematically illustrating a method for verifying forgery of an application for a mobile terminal according to another embodiment of the present invention.
8 is a flowchart schematically illustrating a method for verifying forgery of an application for a mobile terminal according to another embodiment of the present invention.

전술한 과제를 달성하기 위한 본 발명의 실시예들이 첨부된 도면을 참조하여 설명된다. 본 실시예들을 설명함에 있어서, 동일부호는 동일한 구성을 의미하고, 중복되거나 발명의 의미를 한정적으로 해석되게 할 수 있는 부가적인 설명은 본 발명의 실시예들을 설명함에 있어서 생략될 수 있다.Embodiments of the present invention for achieving the above object are described with reference to the accompanying drawings. In describing the embodiments, the same reference numerals refer to the same configuration, and additional descriptions that may overlap or limit the meaning of the invention may be omitted in describing the embodiments of the present invention.

구체적인 설명에 앞서, 본 명세서에서 하나의 구성요소가 다른 구성요소와 '직접 연결', '직접 결합' 또는 '직접 접속'되어 있다고 언급되지 않는 이상, 단순히 '연결', '결합' 또는 '접속'되어 있다고 언급된 경우에는 하나의 구성요소가 그 다른 구성요소에 '직접적으로' 연결, 결합 또는 접속되어 있을 수 있고, 나아가 그 기재된 설명에 비추어 모순되거나 발명의 개념에 반하지 않는 한 그들 사이에 또 다른 구성요소가 연결 또는 접속되는 형태로도 존재할 수 있다고 이해되어야 한다. Prior to the detailed description, unless a component is referred to herein as being 'directly connected', 'directly coupled' or 'directly connected' with another component, simply 'connected', 'coupled' or 'connected' Where it is mentioned that one component may be 'directly' connected, coupled or connected to the other component, furthermore, unless otherwise contradicted or contrary to the concept of the invention in the light of the description set forth herein. It is to be understood that other components may exist in the form of being connected or connected.

본 명세서 상에 비록 단수적 표현으로 기재되어 있을지라도, 발명의 개념에 반하지 않고 해석상 모순되거나 명백하게 다르게 뜻하지 않는 이상 복수의 표현을 포함하는 의미로 사용된다. 본 명세서에서 '포함한다', '갖는다', '구비한다', '포함하여 이루어진다' 등은 하나 또는 그 이상의 다른 특징이나 구성요소 또는 그들의 조합의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
Although described in the singular form in this specification, it is used in the sense that it includes a plurality of expressions unless contradictory to the concept of the invention or contradictory or clearly different meanings. It is to be understood that the term 'comprises', 'haves', 'comprises', 'comprises', etc., in the present specification does not preclude the existence or addition of one or more other features or components or combinations thereof in advance. .

본 발명의 구체적인 설명에 앞서, 본 명세서에서 모바일은 예컨대 스마트폰, 태블릿 PC 등과 같은 모바일 기기로서, 통상 무선인터넷 서비스가 제공되는 통신기기 단말들이 이에 해당된다.
Prior to the detailed description of the present invention, in the present specification, a mobile device is a mobile device such as, for example, a smartphone, a tablet PC, and the like, and typically corresponds to a communication device terminal provided with a wireless Internet service.

우선, 본 발명의 하나의 모습인 모바일 단말용 애플리케이션 위변조 검증 시스템에 대하여, 도면을 참조하여 구체적으로 살펴본다.First, an application forgery verification system for a mobile terminal, which is one aspect of the present invention, will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 하나의 실시예에 따른 모바일 단말용 애플리케이션 위변조 검증 시스템을 나타내는 개략도이고, 도 2는 본 발명의 또 하나의 실시예에 따른 모바일 단말용 애플리케이션 위변조 검증 시스템을 나타내는 개략도이고, 도 3은 본 발명의 또 다른 하나의 실시예에 따른 모바일 단말용 애플리케이션 위변조 검증 시스템을 나타내는 개략도이고, 도 4는 본 발명의 다른 하나의 실시예에 따른 모바일 단말용 애플리케이션 위변조 검증 시스템을 나타내는 개략도이고, 도 5는 본 발명의 다른 또 하나의 실시예에 따른 모바일 단말용 애플리케이션 위변조 검증 시스템을 나타내는 개략도이다.
1 is a schematic diagram showing an application forgery verification system for a mobile terminal according to an embodiment of the present invention, Figure 2 is a schematic diagram showing an application forgery verification system for a mobile terminal according to another embodiment of the present invention, 3 is a schematic diagram showing an application forgery verification system for a mobile terminal according to another embodiment of the present invention, Figure 4 is a schematic diagram showing an application forgery verification system for a mobile terminal according to another embodiment of the present invention, Figure 5 is a schematic diagram showing an application forgery verification system for a mobile terminal according to another embodiment of the present invention.

먼저, 도 1 내지 5를 참조하여, 본 발명인 모바일 단말용 애플리케이션 위변조 검증 시스템을 살펴보면, 서비스 서버(100, 100') 및 검증서버(200, 200')를 포함하여 이루어진다. 도 1 내지 5에서 도시된 모바일(1)은 본 발명의 이해를 돕기 위해 도시된다.First, referring to Figures 1 to 5, when looking at the application forgery verification system for a mobile terminal of the present invention, it comprises a service server (100, 100 ') and verification server (200, 200'). The mobile 1 shown in FIGS. 1 to 5 is shown to aid in the understanding of the present invention.

도 1 내지 3을 참조하면, 본 발명의 하나의 실시예에 따르면, 서비스 서버(100)는 모바일 단말(1)로부터 애플리케이션의 위변조 확인요청을 수신받아 검증서버(200)로 애플리케이션의 위변조 검증요청을 전송한다. 바람직하게, 모바일 단말(1)로부터 수신되는 애플리케이션 위변조 확인요청은 해당 애플리케이션(10)의 서비스 요청에 포함되거나 해당 애플리케이션 서비스 요청과 동시에 이루어진다. 또는, 바람직하게, 애플리케이션 서비스 요청 이후에 추가적인 입력 등을 통해 애플리케이션 위변조 확인요청이 이루어질 수 있다.1 to 3, according to one embodiment of the present invention, the service server 100 receives the forgery confirmation request of the application from the mobile terminal 1 and sends the forgery verification request of the application to the verification server 200. send. Preferably, the application forgery confirmation request received from the mobile terminal 1 is included in the service request of the application 10 or at the same time as the application service request. Alternatively, the application forgery confirmation request may be made through an additional input or the like after the application service request.

또한, 검증서버(200)로 애플리케이션의 위변조 검증요청을 전송한 서비스 서버(100)는 검증서버(200)로부터 애플리케이션 위변조 여부에 대한 검증결과를 제공받는다. 나아가, 검증결과를 토대로 모바일 단말(1)로 애플리케이션의 서비스 이용 가능여부에 대하여 회신한다. 바람직하게, 모바일 단말(1)에서는 위변조 검증이 확인된 후에 애플리케이션 서비스를 이용할 수 있게 된다.In addition, the service server 100 that transmits the forgery verification request of the application to the verification server 200 receives a verification result of whether the forgery of the application from the verification server 200. Further, based on the verification result, the mobile terminal 1 responds to the availability of the service of the application. Preferably, the mobile terminal 1 can use the application service after the forgery verification is confirmed.

도시되지 않았으나, 모바일 단말(1) 및 검증서버(200)와의 통신을 위해, 서비스 서버(100)는 수신모듈과 전송모듈을 포함한다. 또한, 검증결과를 토대로 모바일 단말(1)로 애플리케이션의 서비스 이용 가능여부에 대하여 판단하는 제어모듈(도시되지 않음)을 포함한다.
Although not shown, for communication with the mobile terminal 1 and the verification server 200, the service server 100 includes a receiving module and a transmission module. In addition, a control module (not shown) that determines whether the service of the application available to the mobile terminal 1 based on the verification result.

바람직하게, 도 2를 참조하여 하나의 실시예를 살펴보면, 모바일 단말(1)로부터의 애플리케이션 위변조 확인요청에는 모바일 단말(1)에서 실행되는 애플리케이션 파일을 해싱한 1차 해시값{H(App)}과 애플리케이션의 ID(App ID)가 포함되어 있다. 애플리케이션 ID는 애플리케이션 개발자에 의해 애플리케이션 내에 기록되고, 애플리케이션(10)을 다운받은 모바일에서 실행시 또는 애플리케이션 위변조 확인요청시(또는 애플리케이션 서비스요청시) 기록되어 있는 애플리케이션 ID를 자동으로 읽어내어 애플리케이션 위변조 확인요청에 포함되어 서비스 서버(100)로 전송하게 된다. 도 2에서, 서비스 서버(100)에서 검증서버(200)로 전송하는 애플리케이션 위변조 검증요청에는 모바일 단말(1)로부터 전송받은 애플리케이션의 ID(App ID)와 애플리케이션 파일을 해싱한 1차 해시값{H(App)}이 포함된다. 도 2에서는, 1차 해시값{H(App)}이 "LwMB87vji5fli3s"로 예시되어 있다.Preferably, referring to an embodiment of the present invention with reference to FIG. 2, the application forgery confirmation request from the mobile terminal 1 includes a primary hash value H (App ()) that hashes an application file executed in the mobile terminal 1. And the application ID (App ID). The application ID is recorded in the application by the application developer, and automatically reads the application ID recorded when executed on the mobile where the application 10 is downloaded or upon application forgery confirmation request (or application service request). It is included in the transmission to the service server 100. In FIG. 2, the application forgery verification request transmitted from the service server 100 to the verification server 200 includes a primary hash value H that hashes the application ID and the application file received from the mobile terminal 1. (App)}. In Fig. 2, the primary hash value {H (App)} is illustrated as "LwMB87vji5fli3s".

더 바람직하게, 애플리케이션 파일을 해싱한 1차 해시값{H(App)}은 애플리케이션 실행파일에 대한 해시값이다. 실행파일의 해시값이 정상이면 리소스파일도 정상으로 추정할 수 있기 때문이다.
More preferably, the primary hash value H (App) that hashes the application file is a hash value for the application executable file. If the hash value of the executable file is normal, the resource file can be estimated as normal.

바람직하게, 도 3을 참조하여 또 하나의 실시예를 살펴보면, 모바일 단말(1)로부터의 위변조 확인요청에는 모바일 단말(1)에서 실행되는 애플리케이션 파일을 해싱한 1차 해시값{H(App)}과 애플리케이션(10)에서 모바일 단말(1)로부터 설정된 비밀값을 함께 해싱한 2차 해시값{H(H(App))}, 그리고 모바일 단말(1)에서 실행되는 애플리케이션의 ID(App ID)가 포함되어 있다. 바람직하게, 모바일 단말(1)로부터 설정된 비밀값은 애플리케이션 개발자에 의해 개발된 애플리케이션(10)에 포함된 파일데이터에 의해 생성되거나 저장된 비밀값 테이블에 기록되어 있다. 모바일에서는 애플리케이션 파일을 1차 해싱한 후 다시 비밀값과 함께 2차로 해싱한다. 도 3에서는, 서비스 서버(100)로부터 요청받은 비밀번호 #2에 해당하는 비밀값으로, "THp#wb63AP30XeD1"이 예시적으로 도시되어 있고, 애플리케이션 파일에 대한 1차 해시값인 "LwMB87vji5fli3s"와 비밀값 "THp#wb63AP30XeD1"을 함께 2차 해싱한 2차 해시값{H(H(App))}이 "Gk213luhF22dfk9-"로 예시적으로 도시되고 있다.Preferably, referring to another embodiment with reference to FIG. 3, the forgery confirmation request from the mobile terminal 1 includes a primary hash value H (App) that hashes an application file executed in the mobile terminal 1. And the secondary hash value H (H (App)) hashing together the secret value set from the mobile terminal 1 in the application 10, and the ID (App ID) of the application executed in the mobile terminal 1 Included. Preferably, the secret value set from the mobile terminal 1 is recorded in the secret value table generated or stored by the file data included in the application 10 developed by the application developer. On mobile, the application files are first hashed and then hashed again with a secret. In FIG. 3, "THp # wb63AP30XeD1" is exemplarily illustrated as a secret value corresponding to the password # 2 requested from the service server 100, and the first hash value "LwMB87vji5fli3s" and the secret value for the application file are illustrated. The secondary hash value {H (H (App)), which secondary hashed "THp # wb63AP30XeD1" together, is exemplarily shown as "Gk213luhF22dfk9-".

본 실시예에 따라 2차 해시값을 통하여 위변조 검증을 수행함으로써, 공격자가 애플리케이션 실행파일에 대한 해시값을 얻어내어 공격하더라도 1차 해시값과 비밀값을 함께 2차 해싱하여 2차 해시값으로 위변조 확인이 가능하여 위변조 차단 효과가 더 뛰어나게 된다.By performing forgery verification through the secondary hash value according to the present embodiment, even if an attacker obtains a hash value for the application executable file and attacks it, the primary hash value and the secret value are second hashed together to forge the secondary hash value. As it can be confirmed, the forgery blocking effect is more excellent.

더 바람직하게는, 애플리케이션 개발자에 의해 개발된 애플리케이션(10)은 검증에 필요한 비밀값을 생성하거나 기억하는 파일데이터를 포함하고 있다. 도 3을 참조하면, 또 하나의 실시예에서, 모바일 단말(1)로부터의 애플리케이션 서비스 요청이 있는 경우, 서비스 서버(100)는 모바일 단말(1)로 소정의 비밀번호에 따른 비밀값 제공을 요청한다. 바람직하게, 소정의 비밀번호는 비밀값을 생성하기 위한 값이거나 비밀값 테이블로부터 상응하는 비밀값을 불러오기 위한 값으로, 숫자나 문자로, 바람직하게는 숫자로 표현된다. 도 3에서는 소정의 비밀번호로 비밀번호 #2를 예시하고 있으며, 모바일 단말(1)에는 비밀번호와 그에 상응하는 비밀값을 포함하는 비밀값 테이블이 애플리케이션(10)에서 파일데이터를 실행하여 생성되거나 기억되어 있다. 따라서 애플리케이션(10)에서 입력되는 비밀번호에 상응하는 비밀값이 생성되거나 비밀값 테이블로부터 가져올 수 있다. 도 3을 참조하면, 모바일 단말(1)에서 설정된 비밀값은 애플리케이션(10)에서 파일데이터를 실행하여 생성되거나 기억된, 소정의 비밀번호(예컨대, 비밀번호 #2)에 상응하는 비밀값(예컨대, 도 3에서 "THp#wb63AP30XeD1")이다. 이때 모바일 단말(1)은 비밀값 테이블로부터 비밀번호 #2에 상응하는 비밀값(예컨대, THp#wb63AP30XeD1)을 애플리케이션 파일에 대한 1차 해시값{H(App)}(예컨대, "LwMB87vji5fli3s")과 함께 2차 해싱하고, 2차 해시값{H(H(App))}(예컨대, "Gk213luhF22dfk9-")과 애플리케이션 ID를 위변조 확인요청에 포함시켜 서비스 서버(100)로 전송한다. 도 3을 참조하면, 서비스 서버(100)는 위변조 검증요청에 애플리케이션 ID(App ID), 2차 해시값{H(H(App))} 및 소정의 비밀번호(비밀번호 #2)를 포함시켜 검증서버(200)로 제공한다.
More preferably, the application 10 developed by the application developer includes file data for generating or storing a secret value for verification. Referring to FIG. 3, in another embodiment, when there is an application service request from the mobile terminal 1, the service server 100 requests the mobile terminal 1 to provide a secret value according to a predetermined password. . Preferably, the predetermined password is a value for generating a secret value or a value for retrieving a corresponding secret value from a secret value table, expressed in numbers or letters, preferably in numbers. In FIG. 3, password # 2 is illustrated as a predetermined password, and a secret value table including a password and a corresponding secret value is generated or stored in the mobile terminal 1 by executing file data in the application 10. . Therefore, a secret value corresponding to the password input in the application 10 can be generated or retrieved from the secret value table. Referring to FIG. 3, a secret value set in the mobile terminal 1 corresponds to a secret value (eg, FIG. 2) generated or stored by executing file data in the application 10 (eg, password # 2). 3 is "THp # wb63AP30XeD1". At this time, the mobile terminal 1 together with the primary hash value {H (App)} (e.g., "LwMB87vji5fli3s") corresponding to the password # 2 from the secret value table (for example, THp # wb63AP30XeD1) for the application file. The second hash is performed, and the secondary hash value {H (H (App))} (eg, "Gk213luhF22dfk9-") and the application ID are included in the forgery confirmation request and transmitted to the service server 100. Referring to FIG. 3, the service server 100 includes an application ID (App ID), a secondary hash value {H (App)}, and a predetermined password (password # 2) in the forgery verification request. Provided at 200.

도 1 내지 3을 참조하면, 본 발명의 하나의 실시예에서의 검증서버(200)는 서비스 서버(100)로부터 위변조 검증요청을 수신받는다. 위변조 검증요청을 수신받은 검증서버(200)는 위변조 검증요청에 포함된 정보와 미리 저장된 DB 데이터와 비교하여 애플리케이션(10)의 위변조 여부를 검증한다. 그리고 애플리케이션 위변조 검증결과를 서비스 서버(100)로 회신한다. 바람직하게, DB 데이터를 저장하는 DB(250)는 검증서버(200)에 포함되어 구비될 수 있고, 또는 검증서버(200)와 별도로 연동되게 구비될 수 있다.
1 to 3, the verification server 200 in one embodiment of the present invention receives a forgery verification request from the service server 100. The verification server 200 receiving the forgery verification request compares the information included in the forgery verification request with previously stored DB data and verifies whether the forgery of the application 10 is forged. The application forgery verification result is returned to the service server 100. Preferably, the DB 250 for storing the DB data may be included in the verification server 200 or may be provided to be linked with the verification server 200 separately.

바람직하게, 도 2를 참조하여, 또 하나의 실시예를 살펴보면, 미리 저장된 DB 데이터에는 애플리케이션의 개발자에 의해 제공된 애플리케이션 ID(App ID)와, 애플리케이션 파일에 대한 해시값이 저장되어 있다. 그리고 검증서버(200)가 서비스 서버(100)로부터 수신받은 위변조 검증요청에는 모바일 단말(1)로부터 전송받은 애플리케이션의 ID(App ID)와 애플리케이션 파일을 해싱한 1차 해시값{H(App)}이 포함되어 있다. 도 2를 참조하면, 검증서버(200)는 서비스 서버(100)로부터 위변조 검증요청을 통해 제공받은 애플리케이션의 ID(App ID) 및 1차 해시값{H(App)}을 DB 데이터의 ID 및 해시값과 비교하여 동일여부를 판단하여 위변조 여부를 검증한다. 또는, 검증서버(200)는 위변조 검증요청을 통해 제공받은 애플리케이션 ID(App ID)와 DB 데이터를 매칭시켜 추출된 해시값과 위변조 검증요청을 통해 제공받은 1차 해시값{H(App)}을 비교하여 동일여부를 판단하여 위변조 여부를 검증한다.
Preferably, referring to FIG. 2, referring to another embodiment, pre-stored DB data stores an application ID provided by a developer of an application and a hash value for an application file. In addition, the forgery verification request received by the verification server 200 from the service server 100 includes a primary hash value {H (App)} that hashes the application ID and the application file received from the mobile terminal 1. This is included. Referring to FIG. 2, the verification server 200 stores the ID (App ID) and the primary hash value {H (App)} of the application provided through the forgery verification request from the service server 100 and the ID and hash of the DB data. Verifies forgery by judging whether it is the same by comparing with the value. Alternatively, the verification server 200 matches the application ID (App ID) provided through the forgery verification request with the DB data and the hash value extracted by matching the DB data with the first hash value {H (App)} provided through the forgery verification request. Compare and determine whether or not forgery by checking for equality.

바람직하게, 도 3을 참조하여 또 하나의 실시예를 살펴보면, DB 데이터에는 애플리케이션 개발자에 의해 제공된 애플리케이션 ID 및 애플리케이션 파일에 대한 해시값과 비밀값 테이블이 저장되어 있다. DB 데이터에 저장된 비밀값 테이블은 애플리케이션 개발자에 의해 개발된 애플리케이션(10)에 포함된 파일데이터에 의해 생성되거나 기억된 비밀값 테이블과 동일하다. 서비스 서버(100)가 모바일 단말(1)로부터 애플리케이션 파일의 1차 해시값{H(App)}과 비밀값(예컨대, 도 3에서의 "THp#wb63AP30XeD1")을 함께 2차 해싱한 2차 해시값{H(H(App))}(예컨대, 도 3의 "Gk213luhF22dfk9-")과 애플리케이션의 ID(App ID)를 포함한 위변조 확인요청을 수신한 경우에는, 검증서버(200)로 수신된 정보를 포함하는 위변조 검증요청을 전송한다. 이때, 검증서버(200)는 서비스 서버(100)로부터 위변조 검증요청을 통해 제공받은 애플리케이션 ID(App ID) 및 2차 해시값{H(H(App))}(예컨대, 도 3의 "Gk213luhF22dfk9-")으로부터 해석된 비밀값(예컨대, 도 3에서의 "THp#wb63AP30XeD1")과 1차 해시값{H(App)}(예컨대, "LwMB87vji5fli3s")을 DB 데이터의 애플리케이션 ID 및 해시값, 그리고 DB 데이터의 비밀값 테이블에서 추출된 값과 비교하여 동일여부를 판단하며 위변조 여부를 검증한다. 또는 위변조 검증요청을 통해 제공받은 정보(예컨대, 도 3에서의 비밀번호 #2)를 토대로 미리 저장된 DB 데이터의 비밀값 테이블과 매칭시켜 비밀값(예컨대, "THp#wb63AP30XeD1")을 추출하고 위변조 검증요청을 통해 제공받은 애플리케이션 ID(App ID)를 DB 데이터에 매칭시켜 해시값을 추출하여 위변조 검증요청을 통해 제공받은 2차 해시값{H(H(App))}(예컨대, 도 3의 "Gk213luhF22dfk9-") 상의 결과값들(예컨대, 모바일 단말(1)에서 생성되거나 획득된 "THp#wb63AP30XeD1", "LwMB87vji5fli3s")과 비교하여 위변조 여부를 검증한다. Preferably, referring to another embodiment with reference to FIG. 3, the DB data stores a hash value and a secret value table for an application ID and an application file provided by an application developer. The secret value table stored in the DB data is the same as the secret value table generated or stored by the file data included in the application 10 developed by the application developer. Secondary hash that the service server 100 hashed together from the mobile terminal 1 to the primary hash value {H (App)} of the application file and the secret value (eg, "THp # wb63AP30XeD1" in FIG. 3). When a forgery confirmation request including a value {H (H (App))} (for example, "Gk213luhF22dfk9-" of FIG. 3) and an application ID (App ID) is received, the information received by the verification server 200 is received. Send a forgery verification request that includes At this time, the verification server 200 is the application ID (App ID) and the secondary hash value {H (H (App))} provided through the forgery verification request from the service server 100 (for example, "Gk213luhF22dfk9- in FIG. 3"). The secret value (eg, "THp # wb63AP30XeD1" in FIG. 3) and the primary hash value {H (App)} (eg, "LwMB87vji5fli3s") interpreted from ") are used as the application ID and hash value of the DB data, and the DB. By comparing the value extracted from the secret value table of the data to determine whether it is the same and verifies the forgery. Alternatively, the secret value (eg, "THp # wb63AP30XeD1") is extracted by matching the secret value table of the previously stored DB data based on the information provided through the forgery verification request (eg, password # 2 in FIG. 3), and the forgery verification request. Secondary hash value {H (App)} provided through forgery verification request by extracting a hash value by matching the application ID (App ID) provided through the DB data (for example, "Gk213luhF22dfk9- of FIG. 3"). The forgery is verified by comparing with the result values on ") (eg," THp # wb63AP30XeD1 "and" LwMB87vji5fli3s "generated or obtained in the mobile terminal 1).

또는 검증서버(200)는 서비스 서버(100)로부터 위변조 검증요청을 통해 제공받은 2차 해시값{H(H(App)}(예컨대, "Gk213luhF22dfk9-")과 비밀값(예컨대, 비밀번호(SN) #2)를 토대로 미리 저장된 DB 데이터의 비밀값 테이블에서 비밀값 정보(예컨대, "THp#wb63AP30XeD1")를 추출하고, 위변조 검증요청을 통해 제공받은 애플리케이션의 ID를 DB 데이터에 매칭시켜 해시값을 추출하고, DB 데이터의 비밀값 테이블에서 추출된 비밀값과 애플리케이션 ID를 매칭시켜 DB 데이터에서 추출된 해시값을 함께 2차 해싱하여 그 결과값(예컨대, H("THp#wb63AP30XeD1",H(App))을 검증요청을 통해 제공받은 2차 해시값(예컨대, "Gk213luhF22dfk9-")과 서로 비교하여 위변조 여부를 판단하는 것을 포함한다.Alternatively, the verification server 200 may provide a second hash value {H (App)} (eg, "Gk213luhF22dfk9-") and a secret value (eg, password SN) provided through the forgery verification request from the service server 100. Based on # 2), the secret value information (eg, "THp # wb63AP30XeD1") is extracted from the secret value table of the previously stored DB data, and the hash value is extracted by matching the ID of the application provided through the forgery verification request to the DB data. And hashing the hash value extracted from the DB data together by matching the secret value extracted from the secret value table of the DB data together with the application ID (for example, H ("THp # wb63AP30XeD1", H (App)). ) Is compared with the second hash value (eg, "Gk213luhF22dfk9-") provided through the verification request to determine whether the forgery.

이때, 바람직하게, 1차 해시값{H(App)}과 DB 데이터의 해시값은 애플리케이션(10)의 실행파일에 대한 해시값이다.
At this time, preferably, the primary hash value H (App)} and the hash value of the DB data are hash values for the executable file of the application 10.

더 바람직하게는, 도 3을 참조하여, 본 발명의 또 하나의 실시예를 살펴보면, 서비스 서버(100)에서 모바일 단말(1)로 소정의 비밀번호에 따른 비밀값 제공을 요청하여 모바일 단말(1)로부터 애플리케이션 위변조 확인요청을 수신한 경우, 서비스 서버(100)는 애플리테이션 위변조 검증요청에 애플리케이션 ID, 2차 해시값{H(H(App))} 및 소정의 비밀번호(예컨대, 도 3에서의 '비밀번호 #2')를 포함시켜 검증서버(200)로 제공한다. 이때, 검증서버(200)는 위변조 여부 검증을 수행함에 있어서, 소정의 비밀번호(예컨대, 도 3에서의 '비밀번호 #2')와 애플리케이션 ID를 DB 데이터에 매칭시켜 추출한 결과값과 위변조 검증요청에 포함된 2차 해시값(예컨대, 도3에서의 "Gk213luhF22dfk9-")의 해석값을 비교하거나, 소정의 비밀번호(예컨대, 도 3에서의 '비밀번호 #2') 및 애플리케이션 ID를 DB 데이터에 매칭시켜 얻은 비밀값(예컨대, "THp#wb63AP30XeD1")과 해시값(예컨대, "LwMB87vji5fli3s")을 2차 해싱한 결과값을 위변조 검증요청을 통해 제공받은 2차 해시값값(예컨대, 도3에서의 "Gk213luhF22dfk9-")을 비교하여 위변조 여부 검증을 수행한다.
More preferably, referring to FIG. 3, referring to another embodiment of the present invention, the mobile terminal 1 requests a provision of a secret value according to a predetermined password from the service server 100 to the mobile terminal 1. When the application forgery verification request is received from the service server 100, the application ID forgery verification request, the application ID, the secondary hash value {H (H (App))} and a predetermined password (for example, ' Password # 2 ') is provided to the verification server 200 by including it. In this case, the verification server 200 includes a predetermined password (for example, 'password # 2' in FIG. 3) and an application ID matched with the DB data and included in the forgery verification request when performing the forgery verification. Obtained by comparing the interpreted values of the secondary hash values (eg, "Gk213luhF22dfk9-" in FIG. 3), or by matching a predetermined password (e.g., "Password # 2" in FIG. 3) and the application ID to DB data. Second hash value of the secret value (e.g., "THp # wb63AP30XeD1") and the hash value (e.g., "LwMB87vji5fli3s") is provided through a forgery verification request (e.g., "Gk213luhF22dfk9- in FIG. ") Is compared and forgery verification is performed.

다음으로, 도 4 및 5를 참조하여, 서비스 서버(100') 및 검증서버(200')를 포함하여 이루어지는 모바일 단말용 애플리케이션 위변조 검증 시스템의 또 다른 실시예를 살펴본다.Next, referring to FIGS. 4 and 5, another embodiment of an application forgery verification system for a mobile terminal including a service server 100 ′ and a verification server 200 ′ will be described.

도 4 및 5를 참조하면, 서비스 서버(100')는 모바일 단말(1)로부터 애플리케이션 서비스 요청을 수신받아 검증서버(200')로 위변조 검증요청을 전송한다. 4 and 5, the service server 100 ′ receives an application service request from the mobile terminal 1 and transmits a forgery verification request to the verification server 200 ′.

이때 검증서버(200')는 서비스 서버(100')로부터 애플리케이션의 위변조 검증요청을 수신받아 위변조 검증요청에 포함된 정보와 DB 데이터를 비교한다. DB(250')는 애플리케이션의 등록데이터와 모바일 단말(1)의 디바이스 정보를 포함하여 저장하고 있으며, 검증서버(200')와 연동한다. 디바이스 정보는, 바람직하게, 디바이스 토큰 데이터이다. 디바이스 정보, 바람직하게, 디바이스 토큰 데이터는 모바일 단말(1)의 고유한 기기정보를 포함하고 있으며, 또한 바람직하게, 무선 IP 주소같은 정보를 포함하고 있다. DB(250')는 최초에 애플리케이션 개발자로부터 애플리케이션 등록데이터만 등록받고, 애플리케이션(10)을 모바일에서 다운받거나 실행하는 경우에 애플리케이션(10)이 탑재된 모바일(1)의 디바이스 정보가 수집되어 저장된다. 바람직하게는, 모바일(1)에서 애플리케이션(10)이 실행될 때마다 디바이스 정보, 바람직하게 디바이스 토큰 데이터(예컨대, 기기고유정보 및 무선 IP주소 등을 포함함)가 수집되어 업그레이드된다. 바람직하게, 애플리케이션 등록데이터는 애플리케이션 ID(App ID)를 포함한다. 바람직하게, DB(250')는 검증서버(200')에 포함되어 구비될 수 있고, 또는 검증서버(200')와 별도로 연동되게 구비될 수 있다. 검증서버(200')는 DB 데이터와 위변조 검증요청에 포함된 정보를 비교함으로써, 상응하는 디바이스 정보에 해당하는 모바일 단말(1)을 검색하여 해당 모바일 단말(1)로 검증부호를 제공하고, 동시에 검증요청한 서비스 서버(100')로 검증부호를 제공한다. 바람직하게, 검증부호는 랜덤하게 생성되고 모바일 단말(1)과 서비스 서버(100')에 동일하게 제공된다. 검증부호, 바람직하게, 랜덤한 검증부호를 제공받은 모바일 단말(1)은, 예컨대 모바일 OS의 작동에 의해 애플리케이션(10)에서 서비스 서버(100')로 검증서버(200')에서 제공받은 검증부호를 제공하도록 설정 또는 활성화된다. 이때, 바람직하게는, 검증서버(200')가 모바일 단말(10)에 제공하는 검증부호는 DB(250')의 테이블 상에 기록된 해당 모바일 기기에서 해당 ID의 애플리케이션이 작동하여 서비스 서버(100')로 검증부호를 전송하게 하는 역할을 수행한다. 바람직하게, 검증부호는 숫자 또는 문자 또는 숫자와 문자의 조합일 수 있다.At this time, the verification server 200 'receives the forgery verification request of the application from the service server 100' and compares the DB data with the information included in the forgery verification request. The DB 250 ′ stores the registration data of the application and the device information of the mobile terminal 1 and interworks with the verification server 200 ′. The device information is preferably device token data. The device information, preferably the device token data, contains the unique device information of the mobile terminal 1 and also preferably contains information such as a wireless IP address. The DB 250 'initially receives only application registration data from an application developer, and when device 10 is downloaded or executed on a mobile device, device information of the mobile 1 on which the application 10 is mounted is collected and stored. . Preferably, whenever the application 10 is executed on the mobile 1, device information, preferably device token data (including device specific information and wireless IP address, etc.) is collected and upgraded. Preferably, the application registration data includes an application ID (App ID). Preferably, the DB 250 'may be included in the verification server 200', or may be provided to be linked with the verification server 200 '. The verification server 200 ′ compares the DB data with the information included in the forgery verification request, searches for the mobile terminal 1 corresponding to the corresponding device information, and provides the verification code to the corresponding mobile terminal 1. Verification code is provided to the service server 100 '. Preferably, the verification code is randomly generated and provided equally to the mobile terminal 1 and the service server 100 '. The mobile terminal 1, which is provided with a verification code, preferably a random verification code, is provided with a verification code provided by the verification server 200 'from the application 10 to the service server 100' by, for example, an operation of the mobile OS. It is set or activated to provide it. In this case, preferably, the verification code provided by the verification server 200 'to the mobile terminal 10 is an application of the corresponding ID in the mobile device recorded on the table of the DB 250' to operate the service server 100. It sends a verification code to '). Preferably, the verification code may be a number or letters or a combination of numbers and letters.

도 4 및 5를 참조하면, 서비스 서버(100')는 검증서버(200')로부터 검증부호를 제공받고, 모바일 단말(1)로부터 검증서버(200')에서 제공된 검증부호를 입력받는다. 서비스 서버(100')는 검증서버(200')로부터 제공받은 검증부호와 모바일 단말(1)로부터 입력받은 검증부호를 비교하여 서비스 요청된 애플리케이션의 위변조 여부를 확인한다. 서비스 서버(100')는 위변조 여부 확인결과에 따라, 모바일 단말(1)로 애플리케이션의 서비스 이용 가능 여부에 대하여 회신한다. 바람직하게, 모바일 단말(1)에서는 위변조 검증이 확인된 후에 애플리케이션 서비스를 이용할 수 있게 된다.
4 and 5, the service server 100 ′ receives a verification code from the verification server 200 ′, and receives a verification code provided from the verification server 200 ′ from the mobile terminal 1. The service server 100 'compares the verification code received from the verification server 200' with the verification code input from the mobile terminal 1 and checks whether the service request is forged. The service server 100 ′ returns to the mobile terminal 1 whether the service is available or not, according to the forgery check result. Preferably, the mobile terminal 1 can use the application service after the forgery verification is confirmed.

바람직하게는, 도 5를 참조하여, 본 발명의 또 하나의 실시예에 따르면, DB(250')에 저장된 애플리케이션 등록데이터는 애플리케이션의 개발자에 의해 제공된 애플리케이션 ID(App ID)와 애플리케이션 파일에 대한 해시값을 포함한다. 또한, DB(250')에 저장된 디바이스 정보, 바람직하게, 디바이스 토큰 데이터는 모바일 단말(1)이 애플리케이션(10)을 다운받을 때 또는 모바일 단말(1)에서 애플리케이션의 실행시에 서비스 서버(100')에서 수집되어 DB(250')에 저장된다. 바람직하게, 서비스 서버(100')에서 수집된 디바이스 정보는 서비스 서버(100')에서 DB(250')로 저장하거나 서비스 서버(100')에서 검증서버(200')로 제공하여 DB(250')에 저장할 수 있다. Preferably, referring to FIG. 5, in accordance with another embodiment of the present invention, application registration data stored in DB 250 ′ is a hash for an application file and an application ID provided by the developer of the application. Contains a value. In addition, the device information stored in the DB 250 ', preferably device token data, is stored in the service server 100' when the mobile terminal 1 downloads the application 10 or when the application is executed on the mobile terminal 1. ) Is collected in the DB 250 '. Preferably, the device information collected by the service server 100 'is stored in the DB 250' at the service server 100 'or provided to the verification server 200' at the service server 100 'to provide the DB 250'. ) Can be stored.

또한, 모바일 단말(1)에서 실행되는 애플리케이션의 ID(App ID)와 모바일 단말(1)의 디바이스 정보가 모바일 단말(1)로부터의 서비스 요청에 포함되어 서비스 서버(100')에서 수신받는다. 서비스 서버(100')는 애플리케이션 ID(App ID)와 디바이스 정보, 바람직하게, 디바이스 토큰 데이터를 위변조 검증요청에 포함시켜 검증서버(200')로 제공한다. 검증서버(200')는 제공받은 애플리케이션의 ID(App ID) 및 디바이스 정보, 바람직하게, 디바이스 토큰 데이터를 DB(250')에 매칭시켜 디바이스 정보에 상응하는 모바일 단말(1)과 서비스 서버(100')로 각각 동일한 검증부호를 제공한다.
In addition, the ID (App ID) of the application executed in the mobile terminal 1 and the device information of the mobile terminal 1 is included in the service request from the mobile terminal 1 and received by the service server 100 '. The service server 100 'includes the application ID and the device information, preferably the device token data, in the forgery verification request and provides it to the verification server 200'. The verification server 200 'matches the mobile terminal 1 and the service server 100 corresponding to the device information by matching the provided application ID (App ID) and device information, preferably, device token data with the DB 250'. ') Gives the same verification code.

이제, 본 발명의 다른 모습에 따른 모바일 단말용 애플리케이션 위변조 검증 방법을 도면을 참조하여 구체적으로 살펴본다. 본 발명에 다른 모바일 단말용 애플리케이션 위변조 검증 방법은 실질적으로 전술한 모바일 단말용 애플리케이션 위변조 검증 시스템의 실시예들의 구현 방법과 동일하므로, 전술한 실시예들을 참조하어 이해하여야 한다. 본 실시예들에서, 각 공정에서의 주체는 전술한 모바일 단말용 애플리케이션 위변조 검증 시스템으로 이해되어야 하고, 보다 구체적으로는 전술한 실시예들을 참조하여 이해될 수 있다.Now, a method for verifying forgery of an application for a mobile terminal according to another aspect of the present invention will be described in detail with reference to the accompanying drawings. The mobile terminal application forgery verification method according to the present invention is substantially the same as the implementation method of the embodiments of the mobile terminal application forgery verification system described above, and should be understood with reference to the above-described embodiments. In the present embodiments, the subject in each process should be understood as the above-described application forgery verification system for mobile terminals, and more specifically, with reference to the above-described embodiments.

도 6 내지 8은 본 발명의 다른 하나의 실시예들에 따른 모바일 단말용 애플리케이션 위변조 검증 방법을 개략적으로 나타내는 흐름도이다.
6 to 8 are flowcharts schematically illustrating a method for verifying forgery of an application for a mobile terminal according to another embodiment of the present invention.

도 6 및 7을 참조하면, 본 발명의 하나의 실시예에서, 모바일 단말용 애플리케이션 위변조 검증 방법은 다음의 (a) 내지 (c) 단계를 포함하여 이루어진다.6 and 7, in one embodiment of the present invention, the method for verifying forgery of an application for a mobile terminal includes the following steps (a) to (c).

먼저, (a) 단계에서는 모바일 단말(1)로부터 애플리케이션의 서비스 요청에 따라 애플리케이션의 위변조 확인요청을 수신받는다. 바람직하게, 모바일 단말(1)로부터 수신되는 애플리케이션 위변조 확인요청은 해당 애플리케이션의 서비스 요청에 포함되거나 해당 애플리케이션 서비스 요청과 동시에 이루어질 수 있고, 또는, 바람직하게, 애플리케이션 서비스 요청 이후에 추가적인 입력 등을 통해 애플리케이션 위변조 확인요청이 이루어질 수 있다. 위변조 확인요청 수신은 모바일 단말용 애플리케이션 위변조 검증 시스템, 바람직하게는 서비스 서버(100)에서 이루어진다.First, in step (a), a forgery confirmation request of an application is received from the mobile terminal 1 according to a service request of the application. Preferably, the application forgery confirmation request received from the mobile terminal 1 may be included in the service request of the application or coincident with the application service request, or, preferably, the application may be additionally inputted after the application service request. A forgery confirmation request may be made. Receipt of the forgery confirmation request is made in the application forgery verification system for the mobile terminal, preferably the service server 100.

(b) 단계에서는, 수신받은 위변조 확인요청에 포함된 데이터와 DB(250)에 미리 저장된 DB 데이터를 비교하여 애플리케이션의 위변조 여부를 검증한다. 바람직하게, DB 데이터에는 애플리케이션 개발자에 의해 제동된 애플리케이션 등록데이터, 예컨대 애플리케이션 ID 또는/및 애플리케이션 파일에 대한 해시값 등이 포함되어 저장되어 있다. 위변조 여부 검증은 모바일 단말용 애플리케이션 위변조 검증 시스템, 바람직하게는 검증서버(200)에서 이루어진다.In step (b), the data included in the received forgery confirmation request is compared with the DB data stored in the DB 250 to verify whether the application is forged. Preferably, the DB data includes application registration data braked by the application developer, for example, an application ID or a hash value for the application file, and the like. Forgery verification is performed in the application forgery verification system for mobile terminals, preferably the verification server 200.

그리고 (c) 단계에서는, 검증결과에 따라 모바일 단말(1)로 애플리케이션의 서비스 이용 가능 여부에 대하여 회신한다. 검증결과에 따른 애플리케이션 서비스이용 가능여부의 회신은 모바일 단말용 애플리케이션 위변조 검증 시스템, 바람직하게는 서비스 서버(100)에서 이루어진다.
In step (c), the mobile terminal 1 responds to the availability of the service according to the verification result. The reply of the application service availability based on the verification result is made in the application forgery verification system for the mobile terminal, preferably, the service server 100.

도 6을 참조하여 보다 구체적으로 본 발명의 실시예를 살펴보면, DB 데이터에는 애플리케이션의 개발자에 의해 제공된 애플리케이션 ID(App ID)와 애플리케이션 파일에 대한 해시값이 저장되어 있다. 바람직하게, DB(250)에 저장된 애플리케이션 파일에 대한 해시값은 애플리케이션 실행파일에 대한 해시값이다.Referring to FIG. 6, the embodiment of the present invention will be described in more detail. In the DB data, an application ID provided by a developer of an application and a hash value of an application file are stored. Preferably, the hash value for the application file stored in DB 250 is a hash value for the application executable file.

전술한 (a) 단계에서의 위변조 확인요청에는 모바일 단말(1)에서 실행되는 애플리케이션 파일을 해싱한 1차 해시값{H(App)}과 애플리케이션의 ID(App ID)가 포함된다. The forgery confirmation request in step (a) described above includes a primary hash value H (App) that hashes an application file executed in the mobile terminal 1 and an application ID (App ID).

그리고 전술한 (b) 단계에서는 위변조 확인요청을 통해 제공받은 애플리케이션의 ID(App ID) 및 1차 해시값{H(App)}을 DB 데이터의 ID 및 해시값과 비교하여 동일여부를 판단하여 위변조 여부를 검증한다. 또는, 위변조 확인요청을 통해 제공받은 애플리케이션 ID(App ID)와 DB 데이터를 매칭시켜 추출된 해시값과 위변조 확인요청을 통해 제공받은 1차 해시값{H(App)}을 비교하여 동일여부를 판단하여 위변조 여부를 검증한다. 바람직하게, 1차 해시값{H(App)}은 애플리케이션 실행파일에 대한 해시값이다.
In the above step (b), forgery is determined by comparing the ID (App ID) and the first hash value {H (App)} of the application provided through the forgery confirmation request with the ID and hash value of the DB data to determine whether they are the same. Verify it. Or, it compares the hash value extracted by matching the application ID (App ID) provided through the forgery confirmation request and the DB data and the first hash value {H (App)} provided through the forgery confirmation request to determine whether it is the same. To verify forgery. Preferably, the primary hash value {H (App)} is a hash value for the application executable file.

또는 바람직하게는, 도 7을 참조하여 본 발명의 또 하나의 실시예를 살펴보면, 애플리케이션 개발자에 의해 개발된 애플리케이션(10)은 검증에 필요한 비밀값을 생성하거나 기억하는 파일데이터를 포함한다. 또한, DB 데이터에는 애플리케이션 개발자에 의해 제공된 애플리케이션 ID(App ID) 및 애플리케이션 파일에 대한 해시값{H(App)}과 비밀값 테이블이 저장되어 있다. Or preferably, referring to another embodiment of the present invention with reference to Figure 7, the application 10 developed by the application developer includes file data for generating or storing a secret value for verification. In addition, the DB data stores an application ID (App ID) provided by the application developer, a hash value {H (App)}, and a secret value table for the application file.

그리고, 전술한 모바일 단말(1)로부터 애플리케이션의 위변조 확인요청을 수신받는 (a) 단계는 다음의 (a-1) 및 (a-2) 단계를 포함한다. 먼저, (a-1) 단계에서, 모바일 단말(1)로부터 애플리케이션의 서비스 요청에 따라 애플리케이션(10)을 통해 비밀값의 입력을 요청한다. 그리고 (a-2) 단계에서, 모바일 단말(1)에서의 비밀값에 대한 설정입력에 따라 모바일 단말(1)에서 실행되는 애플리케이션 파일을 해싱한 1차 해시값{H(App)}(예컨대, 도 3에서의 "LwMB87vji5fli3s")과 비밀값(예컨대, 도 3에서의 "THp#wb63AP30XeD1")을 함께 해싱한 2차 해시값{H(H(App))}(예컨대, 도 3에서의 "Gk213luhF22dfk9-"), 그리고 실행되는 애플리케이션의 ID(App ID)를 포함하는 위변조 확인요청을 수신받는다. In addition, the step (a) of receiving the forgery confirmation request of the application from the mobile terminal 1 described above includes the following steps (a-1) and (a-2). First, in step (a-1), the mobile terminal 1 requests the input of a secret value through the application 10 according to the service request of the application. In step (a-2), the primary hash value {H (App)} hashing the application file executed in the mobile terminal 1 according to the setting input for the secret value in the mobile terminal 1 (eg, A secondary hash value {H (App)) hashed together with "LwMB87vji5fli3s" in FIG. 3 and a secret value (e.g., "THp # wb63AP30XeD1" in FIG. 3) (e.g., "Gk213luhF22dfk9 in FIG. 3"). -"), And forgery confirmation request including the ID of the application to be executed.

또한, 전술한 애플리케이션의 위변조 여부를 검증하는 (b) 단계에서는 위변조 확인요청을 통해 제공받은 애플리케이션 ID(App ID), 및 2차 해시값{H(H(App))}(예컨대, 도 3에서의 "Gk213luhF22dfk9-")으로부터 해석된 비밀값(예컨대, 도 3에서의 "THp#wb63AP30XeD1")과 1차 해시값을 DB 데이터의 애플리케이션 ID 및 해시값, 그리고 DB 데이터의 비밀값 테이블과 비교하여 동일여부를 판단하며 위변조 여부를 검증하거나, 위변조 확인요청을 통해 제공받은 정보 및 애플리케이션 ID를 토대로 DB 데이터와 매칭시켜 비밀값 및 해시값을 추출하고 추출된 비밀값과 해시값을 2차 해싱한 결과값을 위변조 확인요청을 통해 제공받은 2차 해시값{H(H(App))}(예컨대, 도 3에서의 "Gk213luhF22dfk9-")과 비교하여 위변조 여부를 검증한다.
In addition, in the step (b) of verifying the forgery of the above-described application, the application ID (App ID) and the second hash value {H (App)) provided through the forgery confirmation request (eg, in FIG. 3). The secret value (eg, "THp # wb63AP30XeD1" in FIG. 3) and the primary hash value interpreted from "Gk213luhF22dfk9-" of the same value are compared with the application ID and hash value of the DB data and the secret value table of the DB data. Determination of forgery and verification of forgery or matching with DB data based on information and application ID provided through forgery confirmation request, extracting secret value and hash value, and hashing extracted secret value and hash value Is compared with the secondary hash value {H (H) (App)} (eg, "Gk213luhF22dfk9-" in FIG. 3) provided through the forgery confirmation request to verify whether the forgery.

도 7을 참조하여 더 구체적으로 살펴보면, 바람직한 하나의 실시예에 따라, 전술한 (a-1) 단계에서는, 모바일 단말(1)로부터의 애플리케이션 서비스 요청에 따라, 모바일 단말(1)로 소정의 비밀번호에 따른 비밀값 입력을 요청한다. 그리고 전술한 (a-2) 단계에서의 비밀값은 애플리케이션(10)에서 파일데이터를 실행하여 생성되거나 기억된, 소정의 비밀번호호(예컨대, '비밀번호 #2')에 상응하는 비밀값(예컨대, 도 3에서의 "THp#wb63AP30XeD1")이다.Looking more specifically with reference to Figure 7, according to one preferred embodiment, in the above step (a-1), according to the application service request from the mobile terminal 1, a predetermined password to the mobile terminal (1) Ask for a secret value according to The secret value in the above-described step (a-2) is a secret value (eg, 'Password # 2') generated or stored by executing file data in the application 10 (eg, 'Password # 2'). "THp # wb63AP30XeD1" in FIG. 3).

또한, 전술한 (b) 단계에서는 소정의 비밀번호(예컨대, '비밀번호 #2')와 애플리케이션 ID를 DB 데이터에 매칭시켜 추출한 결과값과 위변조 확인요청에 포함된 2차 해시값{H(H(App))}(예컨대, 도 3에서의 "Gk213luhF22dfk9-")의 해석값을 비교하거나 소정의 비밀번호(예컨대, '비밀번호 #2') 및 애플리케이션 ID를 DB 데이터에 매칭시켜 얻은 비밀값과 해시값을 2차 해싱한 결과값을 위변조 확인요청을 통해 제공받은 2차 해시값{H(H(App))}(예컨대, 도 3에서의 "Gk213luhF22dfk9-")을 비교하여 위변조 여부 검증을 수행한다.
In addition, in the above-described step (b), the result value extracted by matching a predetermined password (for example, 'password # 2') and the application ID with the DB data and the secondary hash value {H (H (App (H (App)) included in the forgery confirmation request ))} (E.g., "Gk213luhF22dfk9-" in FIG. 3) compares the secret value or hash value obtained by matching a predetermined password (e.g. 'Password # 2') and application ID to DB data. The second hashed result value is compared with a second hash value {H (H) (App)} (eg, "Gk213luhF22dfk9-" in FIG. 3) provided through the forgery confirmation request, and forgery verification is performed.

또한, 도 8을 참조하여, 본 발명의 실시예인 모바일 단말용 애플리케이션 위변조 검증 방법을 살펴보면, 다음의 (A) 내지 (C) 단계를 포함하여 이루어진다.In addition, referring to FIG. 8, a method for verifying forgery of an application for a mobile terminal, which is an embodiment of the present invention, includes the following steps (A) to (C).

먼저, (A) 단계에서는, 서비스 서버(100')에서 모바일 단말(1)로부터 애플리케이션의 서비스 요청을 수신받아 검증서버(200')로 애플리케이션의 위변조 검증요청을 전송한다.First, in step (A), the service server 100 'receives the service request of the application from the mobile terminal 1 and transmits the forgery verification request of the application to the verification server 200'.

다음으로 (B) 단계에서는, 애플리케이션의 등록데이터와 모바일 단말(1)의 디바이스 정보를 포함하여 저장하고 있는 DB(250')와 연결된 검증서버(200')에서 위변조 검증요청에 포함된 정보와 DB(250')의 데이터를 비교하여 상응하는 디바이스 정보에 해당하는 모바일 단말(1)과 검증요청한 서비스 서버(100')로 각각 검증부호를 제공한다.Next, in step (B), the information and DB included in the forgery verification request from the verification server 200 'connected to the DB 250' that stores the registration data of the application and the device information of the mobile terminal 1 The data of 250 'is compared and the verification code is provided to the mobile terminal 1 corresponding to the corresponding device information and the service server 100' that has requested verification.

그리고 (C) 단계에서는, 서비스 서버(100')에서, 모바일 단말(1)로부터 검증서버(200')에서 제공된 검증부호를 입력받고, 검증서버(200')로부터 제공받은 검증부호와 모바일 단말(1)로부터 입력받은 검증부호를 비교하여 애플리케이션의 위변조 여부를 확인하고 모바일 단말(1)로 애플리케이션의 서비스 이용 가능여부에 대하여 회신한다.
In step (C), the service server 100 ′ receives the verification code provided from the verification server 200 ′ from the mobile terminal 1, and the verification code provided from the verification server 200 ′ and the mobile terminal ( The verification code received from 1) is compared to check whether the application is forged, and the mobile terminal 1 returns the service availability of the application.

도 8을 참조하여 보다 구체적으로 본 발명의 또 하나의 실시예를 살펴본다. 도 8을 참조하면, DB(250')에 저장된 애플리케이션 등록데이터는 애플리케이션의 개발자에 의해 제공된 애플리케이션 ID와 애플리케이션 파일에 대한 해시값을 포함한다. 또한, DB(250')에 저장된 디바이스 정보는 모바일 단말(1)이 애플리케이션(10)을 다운받을 때 또는 모바일 단말(1)에서 애플리케이션의 실행시에 서비스 서버(100)에서 수집되어 DB(250')에 저장된다. Referring to Figure 8 looks at another embodiment of the present invention in more detail. Referring to FIG. 8, the application registration data stored in the DB 250 ′ includes the application ID provided by the developer of the application and a hash value for the application file. In addition, the device information stored in the DB 250 'is collected by the service server 100 when the mobile terminal 1 downloads the application 10 or when the mobile terminal 1 executes the application. )

또한, 전술한, 애플리케이션 서비스 요청을 수신받아 검증서버(200')로 애플리케이션의 위변조 검증요청을 전송하는 (A) 단계는 다음의 (A-1) 및 (A-2) 단계를 포함한다. 먼저, (A-1) 단계에서는, 서비스 서버(100')에서, 모바일 단말(1)에서 실행되는 애플리케이션의 ID와 모바일 단말(1)의 디바이스 정보에 관한 정보를 포함하는 서비스 요청을 모바일 단말(1)로부터 수신받는다. 그리고 (A-2) 단계에서는, 서비스 서버(100')에서 애플리케이션의 ID와 디바이스 정보에 관한 정보를 포함하는 위변조 검증요청을 검증서버(200')로 제공한다. In addition, the step (A) of receiving the application service request described above and transmitting the forgery verification request of the application to the verification server 200 'includes the following steps (A-1) and (A-2). First, in step (A-1), the service server 100 ′ may request a service request including an ID of an application executed in the mobile terminal 1 and information about device information of the mobile terminal 1. Received from 1). In step (A-2), the service server 100 'provides the forgery verification request including information on the ID of the application and the device information to the verification server 200'.

게다가, 전술한 모바일 단말(1)과 서비스 서버(100')로 각각 검증부호를 제공하는 (B) 단계에서, 검증서버(200')는 제공받은 애플리케이션 ID 및 디바이스 정보를 DB(250)에 매칭시켜 디바이스 정보에 상응하는 모바일 단말(1)과 서비스 서버(100)로 각각 동일한 검증부호를 제공한다.
In addition, in the step (B) of providing the verification code to the above-described mobile terminal 1 and the service server 100 ', the verification server 200' matches the provided application ID and device information with the DB 250. The same verification code is provided to the mobile terminal 1 and the service server 100 corresponding to the device information.

이상에서, 본 발명은 첨부된 도면을 참조하여 바람직한 실시예들을 중심으로 설명되었다. 첨부된 도면 및 전술한 실시예들은 본 발명에 대한 당해 기술분야에서 통상의 지식을 가진 자의 이해를 돕기 위해 예시적으로 설명된 것이다. 그러므로, 본 발명의 다양한 실시예는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있고, 전술한 실시예들은 제한적인 것이 아닌 예시적인 것으로 여겨져야 한다. 따라서, 본 발명의 범위는 전술한 실시예들이 아니라 첨부된 특허청구범위에 기재된 발명에 따라 해석되어야 하며, 당해 기술분야에서 통상의 지식을 가진 자에 의한 다양한 변경, 대안, 균등물들이 전술한 발명의 범위에 포함되어 있음은 자명하다.
In the foregoing, the present invention has been described with reference to the preferred embodiments thereof with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings and the foregoing embodiments are provided by way of illustration for purposes of clarity of understanding to those skilled in the art to which the present invention pertains. It is, therefore, to be understood that the various embodiments of the present invention may be embodied in various forms without departing from the essential characteristics thereof, and the above-described embodiments are to be considered as illustrative and not restrictive. Accordingly, the scope of the present invention should be construed in accordance with the invention as set forth in the appended claims rather than the foregoing embodiments, and various changes, alternatives, and equivalents by those skilled in the art may be made by the inventions It is obvious that it is included in the range of.

1 : 모바일 10 : 애플리케이션
100, 100' : 서비스 서버 200, 200' : 검증서버
250, 250' : DB
1: Mobile 10: Application
100, 100 ': service server 200, 200': verification server
250, 250 ': DB

Claims (14)

모바일 단말로부터 애플리케이션의 위변조 확인요청을 수신받아 검증서버로 상기 애플리케이션의 위변조 검증요청을 전송하고, 상기 검증서버로부터 검증결과를 제공받아 상기 모바일 단말로 상기 애플리케이션의 서비스 이용 가능여부에 대하여 회신하는 서비스 서버; 및
상기 서비스 서버로부터 상기 위변조 검증요청을 수신받아 미리 저장된 DB 데이터와 비교하여 상기 애플리케이션의 위변조 여부를 검증하고, 검증결과를 상기 서비스 서버로 회신하는 검증서버; 를 포함하여 이루어지는 모바일 단말용 애플리케이션 위변조 검증 시스템.
Receives the forgery verification request of the application from the mobile terminal and transmits the forgery verification request of the application to the verification server, receives a verification result from the verification server and returns a service availability of the service of the application to the mobile terminal ; And
A verification server receiving the forgery verification request from the service server, comparing the previously stored DB data to verify whether the application is forged, and returning a verification result to the service server; Application forgery verification system for a mobile terminal comprising a.
청구항 1에 있어서,
상기 DB 데이터에는 상기 애플리케이션의 개발자에 의해 제공된 상기 애플리케이션 ID와 상기 애플리케이션 파일에 대한 해시값이 저장되어 있고,
상기 모바일 단말로부터의 상기 위변조 확인요청에는 상기 모바일 단말에서 실행되는 애플리케이션 파일을 해싱한 1차 해시값과 애플리케이션의 ID가 포함되고,
상기 검증서버는 상기 서비스 서버로부터 상기 위변조 검증요청을 통해 제공받은 상기 애플리케이션의 ID 및 1차 해시값을 상기 DB 데이터의 ID 및 해시값과 비교하여 동일여부를 판단하거나 상기 위변조 검증요청을 통해 제공받은 상기 애플리케이션 ID와 상기 DB 데이터를 매칭시켜 추출된 해시값과 상기 위변조 검증요청을 통해 제공받은 상기 1차 해시값을 비교하여 위변조 여부를 검증하는 것을 특징으로 하는 모바일 단말용 애플리케이션 위변조 검증 시스템.
The method according to claim 1,
The DB data stores the application ID provided by the developer of the application and a hash value for the application file.
The forgery confirmation request from the mobile terminal includes a primary hash value hashing an application file executed in the mobile terminal and the ID of the application,
The verification server compares the ID and the first hash value of the application provided through the forgery verification request from the service server with the ID and hash value of the DB data to determine whether they are the same or are provided through the forgery verification request. And comparing the hash value extracted by matching the application ID with the DB data and the first hash value provided through the forgery verification request, and verifying whether the forgery is forged.
청구항 1에 있어서,
애플리케이션 개발자에 의해 개발된 상기 애플리케이션은 검증에 필요한 비밀값을 생성하거나 기억하는 파일데이터를 포함하고,
상기 DB 데이터에는 상기 애플리케이션 개발자에 의해 제공된 상기 애플리케이션 ID 및 상기 애플리케이션 파일에 대한 해시값과 상기 비밀값 테이블이 저장되어 있고,
상기 모바일 단말로부터의 상기 위변조 확인요청에는 상기 모바일 단말에서 실행되는 애플리케이션 파일을 해싱한 1차 해시값과 상기 애플리케이션에서 상기 모바일 단말로부터 설정된 비밀값을 함께 해싱한 2차 해시값, 그리고 상기 모바일 단말에서 실행되는 애플리케이션의 ID가 포함되고,
상기 검증서버는 상기 서비스 서버로부터 상기 위변조 검증요청을 통해 제공받은 상기 애플리케이션 ID, 및 상기 2차 해시값으로부터 해석된 비밀값과 1차 해시값을 상기 DB 데이터의 애플리케이션 ID 및 해시값, 그리고 상기 DB 데이터의 비밀값 테이블과 비교하여 동일여부를 판단하며 위변조 여부를 검증하거나, 또는 상기 위변조 검증요청을 통해 제공받은 정보를 토대로 상기 DB 데이터의 상기 비밀값 테이블과 매칭시켜 비밀값을 추출하고 상기 위변조 검증요청을 통해 제공받은 상기 애플리케이션 ID를 상기 DB 데이터에 매칭시켜 해시값을 추출하고 추출된 비밀값과 해시값을 2차 해싱한 결과값을 상기 위변조 검증요청을 통해 제공받은 상기 2차 해시값과 비교하여 위변조 여부를 검증하는 것을 특징으로 하는 모바일 단말용 애플리케이션 위변조 검증 시스템.
The method according to claim 1,
The application developed by the application developer includes file data for generating or storing a secret value for verification,
The DB data stores the application ID provided by the application developer, a hash value for the application file, and the secret value table.
The forgery confirmation request from the mobile terminal includes a first hash value hashing an application file executed in the mobile terminal, a second hash value hashed together with a secret value set by the mobile terminal in the application, and the mobile terminal. Contains the ID of the application being run,
The verification server converts the application ID received from the service server through the forgery verification request, the secret value and the first hash value interpreted from the secondary hash value, and the application ID and hash value of the DB data, and the DB. Compare the data with the secret value table to determine whether it is the same and verify whether or not forgery, or based on the information provided through the forgery verification request to extract the secret value by matching the secret value table of the DB data and the forgery verification The application ID provided through the request is matched with the DB data to extract a hash value, and the extracted secret value and the second hash value of the hash value are compared with the second hash value provided through the forgery verification request. Application forgery detection for mobile terminal, characterized in that for verifying whether the forgery System.
청구항 3에 있어서,
상기 서비스 서버는 상기 모바일 단말로부터의 애플리케이션 서비스 요청에 따라 소정의 비밀번호에 따른 비밀값 제공을 요청하고,
상기 모바일 단말에서 설정된 상기 비밀값은 상기 애플리케이션에서 상기 파일데이터를 실행하여 생성되거나 기억된, 상기 소정의 비밀번호에 상응하는 비밀값이고,
상기 서비스 서버는 상기 위변조 검증요청에 상기 애플리케이션 ID, 상기 2차 해시값 및 상기 소정의 비밀번호를 포함시켜 상기 검증서버로 제공하고,
상기 검증서버는 상기 소정의 비밀번호와 상기 애플리케이션 ID를 상기 DB 데이터에 매칭시켜 추출한 결과값과 상기 위변조 검증요청에 포함된 상기 2차 해시값의 해석값을 비교하거나 상기 소정의 비밀번호 및 애플리케이션 ID를 상기 DB 데이터에 매칭시켜 얻은 비밀값과 해시값을 2차 해싱한 결과값을 상기 위변조 검증요청을 통해 제공받은 상기 2차 해시값을 비교하여 위변조 여부 검증을 수행하는 특징으로 하는 모바일 단말용 애플리케이션 위변조 검증 시스템.
The method according to claim 3,
The service server requests to provide a secret value according to a predetermined password in response to an application service request from the mobile terminal,
The secret value set in the mobile terminal is a secret value corresponding to the predetermined password, generated or stored by executing the file data in the application,
The service server includes the application ID, the secondary hash value and the predetermined password in the forgery verification request, and provides the verification server to the verification server.
The verification server compares a result obtained by matching the predetermined password with the application ID to the DB data and an interpreted value of the secondary hash value included in the forgery verification request, or compares the predetermined password with the application ID. Application forgery verification for mobile terminal, characterized in that forgery verification by comparing the second hash value provided through the forgery verification request with the secret value obtained by matching the DB data and the hash value system.
청구항 2 내지 4 중의 어느 하나의 청구항에 있어서,
상기 1차 해시값 및 상기 DB 데이터에 저장된 해시값은 상기 애플리케이션의 실행파일에 대한 해시값인 것을 특징으로 하는 모바일 단말용 애플리케이션 위변조 검증 시스템.
The method according to any one of claims 2 to 4,
And the hash value stored in the first hash value and the DB data is a hash value for the execution file of the application.
모바일 단말로부터 애플리케이션 서비스 요청을 수신받아 검증서버로 위변조 검증요청을 전송하고, 상기 검증서버로부터 검증부호를 제공받고, 상기 모바일 단말로부터 검증서버에서 제공된 검증부호를 입력받아, 상기 검증서버로부터 제공받은 검증부호와 상기 모바일 단말로부터 입력받은 검증부호를 비교하여 서비스 요청된 애플리케이션의 위변조 여부를 확인하고 상기 모바일 단말로 상기 애플리케이션의 서비스 이용 가능여부에 대하여 회신하는 서비스 서버; 및
애플리케이션의 등록데이터와 모바일 단말의 디바이스 정보를 포함하여 저장하고 있는 DB를 구비하고, 상기 서비스 서버로부터 애플리케이션의 위변조 검증요청을 수신받아 상기 위변조 검증요청에 포함된 정보와 상기 DB 데이터를 비교하여 상응하는 상기 디바이스 정보에 해당하는 상기 모바일 단말과 상기 검증요청한 상기 서비스 서버로 각각 검증부호를 제공하는 검증서버; 를 포함하여 이루어지는 모바일 단말용 애플리케이션 위변조 검증 시스템.
Receives an application service request from a mobile terminal, transmits a forgery verification request to a verification server, receives a verification code from the verification server, receives a verification code provided from the verification server from the mobile terminal, and receives the verification provided from the verification server. A service server comparing the code and the verification code inputted from the mobile terminal to check whether the application for which the service is requested is forged and returning the service availability of the application to the mobile terminal; And
And a DB storing the registration data of the application and device information of the mobile terminal, and receiving the forgery verification request of the application from the service server and comparing the DB data with the information included in the forgery verification request. A verification server for providing verification codes to the mobile terminal corresponding to the device information and the service server requesting verification; Application forgery verification system for a mobile terminal comprising a.
청구항 6에 있어서,
상기 DB에 저장된 상기 애플리케이션 등록데이터는 상기 애플리케이션의 개발자에 의해 제공된 상기 애플리케이션 ID와 상기 애플리케이션 파일에 대한 해시값을 포함하고,
상기 DB에 저장된 상기 디바이스 정보는 상기 모바일 단말이 상기 애플리케이션을 다운받을 때 또는 상기 모바일 단말에서 상기 애플리케이션의 실행시에 상기 서비스 서버에서 수집되어 상기 DB에 저장되고,
상기 모바일 단말에서 실행되는 애플리케이션의 ID와 상기 모바일 단말의 디바이스 정보가 상기 모바일 단말로부터의 상기 서비스 요청에 포함되어 상기 서비스 서버에서 수신받고, 상기 위변조 검증요청에 포함되어 상기 검증서버로 제공되고,
상기 검증서버는 상기 제공받은 상기 애플리케이션의 ID 및 디바이스 정보를 상기 DB에 매칭시켜 상기 디바이스 정보에 상응하는 상기 모바일 단말과 상기 서비스 서버로 각각 동일한 상기 검증부호를 제공하는 것을 특징으로 하는 모바일 단말용 애플리케이션 위변조 검증 시스템.
The method of claim 6,
The application registration data stored in the DB includes a hash value for the application file and the application ID provided by the developer of the application,
The device information stored in the DB is collected at the service server and stored in the DB when the mobile terminal downloads the application or when the mobile terminal executes the application.
An ID of an application executed in the mobile terminal and device information of the mobile terminal are included in the service request from the mobile terminal, received at the service server, included in the forgery verification request, and provided to the verification server,
The verification server matches the provided ID and device information of the application to the DB and provides the same verification code to the mobile terminal and the service server corresponding to the device information, respectively. Forgery verification system.
청구항 6 또는 7에 있어서,
상기 검증서버에서 제공되는 상기 검증부호는 랜덤생성되는 부호인 것을 특징으로 하는 모바일 단말용 애플리케이션 위변조 검증 시스템.
The method according to claim 6 or 7,
The verification code provided by the verification server is a mobile terminal application forgery verification system, characterized in that the randomly generated code.
(a) 모바일 단말로부터 애플리케이션의 서비스 요청에 따라 상기 애플리케이션의 위변조 확인요청을 수신받는 단계;
(b) 상기 수신받은 상기 위변조 확인요청에 포함된 데이터와 미리 저장된 DB 데이터를 비교하여 상기 애플리케이션의 위변조 여부를 검증하는 단계; 및
(c) 검증결과에 따라 상기 모바일 단말로 상기 애플리케이션의 서비스 이용 가능여부에 대하여 회신하는 단계; 를 포함하여 이루어지는 모바일 단말용 애플리케이션 위변조 검증 방법.
(a) receiving a forgery confirmation request of the application according to a service request of the application from a mobile terminal;
(b) verifying whether the application is forged by comparing the data included in the received forgery confirmation request with previously stored DB data; And
(c) replying to the mobile terminal whether service of the application is available according to the verification result; Application forgery verification method for a mobile terminal comprising a.
청구항 9에 있어서,
상기 DB 데이터에는 상기 애플리케이션의 개발자에 의해 제공된 상기 애플리케이션 ID와 상기 애플리케이션 파일에 대한 해시값이 저장되어 있고,
상기 (a) 단계에서의 상기 위변조 확인요청에는 상기 모바일 단말에서 실행되는 애플리케이션 파일을 해싱한 1차 해시값과 애플리케이션의 ID가 포함되어 수신되고,
상기 (b) 단계에서는 상기 위변조 확인요청을 통해 제공받은 상기 애플리케이션의 ID 및 1차 해시값을 상기 DB 데이터의 ID 및 해시값과 비교하여 동일여부를 판단하거나 상기 위변조 확인요청을 통해 제공받은 상기 애플리케이션 ID와 상기 DB 데이터를 매칭시켜 추출된 해시값과 상기 위변조 확인요청을 통해 제공받은 상기 1차 해시값을 비교하여 위변조 여부를 검증하는 것을 특징으로 하는 모바일 단말용 애플리케이션 위변조 검증 방법.
The method according to claim 9,
The DB data stores the application ID provided by the developer of the application and a hash value for the application file.
The forgery confirmation request in the step (a) is received, including the primary hash value hashing the application file running on the mobile terminal and the application ID,
In the step (b), the ID and the first hash value of the application provided through the forgery confirmation request are compared with the ID and the hash value of the DB data to determine whether they are the same or the application provided through the forgery confirmation request. And a hash value extracted by matching an ID with the DB data and the first hash value provided through the forgery confirmation request to verify whether the forgery is forged.
청구항 9에 있어서,
애플리케이션 개발자에 의해 개발된 상기 애플리케이션은 검증에 필요한 비밀값을 생성하거나 기억하는 파일데이터를 포함하고,
상기 DB 데이터에는 상기 애플리케이션 개발자에 의해 제공된 상기 애플리케이션 ID 및 상기 애플리케이션 파일에 대한 해시값과 상기 비밀값 테이블이 저장되어 있고,
상기 (a) 단계는: (a-1) 상기 모바일 단말로부터 애플리케이션의 서비스 요청에 따라 상기 애플리케이션을 통해 비밀값의 입력을 요청하는 단계; 및 (a-2) 상기 모바일 단말에서의 상기 비밀값에 대한 설정입력에 따라 상기 모바일 단말에서 실행되는 애플리케이션 파일을 해싱한 1차 해시값과 상기 비밀값을 함께 해싱한 2차 해시값, 그리고 상기 실행되는 애플리케이션의 ID를 포함하는 상기 위변조 확인요청을 수신받는 단계; 를 포함하고,
상기 (b) 단계에서는 상기 위변조 확인요청을 통해 제공받은 상기 애플리케이션 ID, 및 상기 2차 해시값으로부터 해석된 비밀값과 1차 해시값을 상기 DB 데이터의 애플리케이션 ID 및 해시값, 그리고 상기 DB 데이터의 비밀값 테이블과 비교하여 동일여부를 판단하며 위변조 여부를 검증하거나, 상기 위변조 확인요청을 통해 제공받은 정보 및 애플리케이션 ID를 토대로 상기 DB 데이터와 매칭시켜 비밀값 및 해시값을 추출하고 추출된 비밀값과 해시값을 2차 해싱한 결과값을 상기 위변조 확인요청을 통해 제공받은 상기 2차 해시값과 비교하여 위변조 여부를 검증하는 것을 특징으로 하는 모바일 단말용 애플리케이션 위변조 검증 방법.
The method according to claim 9,
The application developed by the application developer includes file data for generating or storing a secret value for verification,
The DB data stores the application ID provided by the application developer, a hash value for the application file, and the secret value table.
Step (a) may include: (a-1) requesting input of a secret value through the application according to a service request of an application from the mobile terminal; And (a-2) a first hash value hashing the application file executed in the mobile terminal according to a setting input for the secret value in the mobile terminal and a second hash value hashing the secret value together, and the Receiving the forgery confirmation request including an ID of an application to be executed; Including,
In the step (b), the application ID received from the forgery confirmation request, the secret value and the first hash value interpreted from the secondary hash value, the application ID and hash value of the DB data, and the DB data. It compares with the secret value table to determine whether it is the same and verifies forgery or extracts the secret value and hash value by matching the DB data based on the information and application ID provided through the forgery confirmation request, and extracts the secret value and the extracted secret value. And a second hashing result of the hash value and comparing the second hash value with the second hash value provided through the forgery request to verify forgery.
청구항 11에 있어서,
상기 (a-1) 단계에서, 상기 모바일 단말로부터의 애플리케이션 서비스 요청에 따라, 상기 모바일 단말로 소정의 비밀번호에 따른 비밀값 입력을 요청하고,
상기 (a-2) 단계에서 상기 비밀값은 상기 애플리케이션에서 상기 파일데이터를 실행하여 생성되거나 기억된, 상기 소정의 비밀번호에 상응하는 비밀값이고,
상기 (b) 단계에서는 상기 소정의 비밀번호와 상기 애플리케이션 ID를 상기 DB 데이터에 매칭시켜 추출한 결과값과 상기 위변조 확인요청에 포함된 상기 2차 해시값의 해석값을 비교하거나 상기 소정의 비밀번호 및 애플리케이션 ID를 상기 DB 데이터에 매칭시켜 얻은 비밀값과 해시값을 2차 해싱한 결과값을 상기 위변조 확인요청을 통해 제공받은 상기 2차 해시값을 비교하여 위변조 여부 검증을 수행하는 것을 특징으로 하는 모바일 단말용 애플리케이션 위변조 검증 방법.
The method of claim 11,
In the step (a-1), in response to the application service request from the mobile terminal, request the secret value input according to a predetermined password to the mobile terminal,
In step (a-2), the secret value is a secret value corresponding to the predetermined password, generated or stored by executing the file data in the application,
In the step (b), the result value obtained by matching the predetermined password and the application ID with the DB data is compared with an interpreted value of the secondary hash value included in the forgery confirmation request or the predetermined password and application ID. Forgery verification by comparing the second hash value provided through the forgery confirmation request with the result of hashing the secret value and the hash value obtained by matching the DB data to the forgery. Application forgery verification method.
(A) 서비스 서버에서 모바일 단말로부터 애플리케이션의 서비스 요청을 수신받아 검증서버로 상기 애플리케이션의 위변조 검증요청을 전송하는 단계;
(B) 애플리케이션의 등록데이터와 모바일 단말의 디바이스 정보를 포함하여 저장하고 있는 DB와 연결된 상기 검증서버에서 상기 위변조 검증요청에 포함된 정보와 상기 DB의 데이터를 비교하여 상응하는 상기 디바이스 정보에 해당하는 상기 모바일 단말과 상기 검증요청한 상기 서비스 서버로 각각 검증부호를 제공하는 단계; 및
(C) 상기 서비스 서버에서, 상기 모바일 단말로부터 상기 검증서버에서 제공된 검증부호를 입력받고, 상기 검증서버로부터 제공받은 검증부호와 상기 모바일 단말로부터 입력받은 검증부호를 비교하여 상기 애플리케이션의 위변조 여부를 확인하고 상기 모바일 단말로 상기 애플리케이션의 서비스 이용 가능여부에 대하여 회신하는 단계; 를 포함하여 이루어지는 모바일 단말용 애플리케이션 위변조 검증 방법.
(A) receiving a service request of an application from a mobile terminal in a service server and transmitting a forgery verification request of the application to a verification server;
(B) comparing the information included in the forgery verification request with the DB data in the verification server connected to the DB including the registration data of the application and the device information of the mobile terminal and corresponding to the corresponding device information. Providing a verification code to the mobile terminal and the service server requesting verification; And
(C) the service server receives the verification code provided from the verification server from the mobile terminal, and compares the verification code provided from the verification server with the verification code input from the mobile terminal to check whether the application is forged or not. And replying to the mobile terminal whether service of the application is available. Application forgery verification method for a mobile terminal comprising a.
청구항 13에 있어서,
상기 DB에 저장된 상기 애플리케이션 등록데이터는 상기 애플리케이션의 개발자에 의해 제공된 상기 애플리케이션 ID와 상기 애플리케이션 파일에 대한 해시값을 포함하고,
상기 DB에 저장된 상기 디바이스 정보는 상기 모바일 단말이 상기 애플리케이션을 다운받을 때 또는 상기 모바일 단말에서 상기 애플리케이션의 실행시에 상기 서비스 서버에서 수집되어 상기 DB에 저장되고,
상기 (A) 단계는: (A-1) 상기 서비스 서버에서, 상기 모바일 단말에서 실행되는 애플리케이션의 ID와 상기 모바일 단말의 디바이스 정보에 관한 정보를 포함하는 상기 서비스 요청을 상기 모바일 단말로부터 수신받는 단계; 및 (A-2) 상기 서비스 서버에서 상기 애플리케이션의 ID와 상기 디바이스 정보에 관한 정보를 포함하는 상기 위변조 검증요청을 상기 검증서버로 제공하는 단계; 를 포함하고,
상기 (B) 단계에서, 상기 검증서버는 상기 제공받은 애플리케이션 ID 및 디바이스 정보를 상기 DB에 매칭시켜 상기 디바이스 정보에 상응하는 상기 모바일 단말과 상기 서비스 서버로 각각 동일한 상기 검증부호를 제공하는 것을 특징으로 하는 모바일 단말용 애플리케이션 위변조 검증 방법.
The method according to claim 13,
The application registration data stored in the DB includes a hash value for the application file and the application ID provided by the developer of the application,
The device information stored in the DB is collected at the service server and stored in the DB when the mobile terminal downloads the application or when the mobile terminal executes the application.
The step (A) may include: (A-1) receiving, from the mobile terminal, the service request including information on an ID of an application executed on the mobile terminal and device information of the mobile terminal. ; And (A-2) at the service server, providing the forgery verification request to the verification server, the information including the ID of the application and the device information. Including,
In the step (B), the verification server to match the provided application ID and device information to the DB to provide the same verification code to each of the mobile terminal and the service server corresponding to the device information, respectively. Application forgery verification method for a mobile terminal.
KR1020110011280A 2011-02-08 2011-02-08 System and method for verifying counterfeit or falsification of application for mobile KR101253341B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110011280A KR101253341B1 (en) 2011-02-08 2011-02-08 System and method for verifying counterfeit or falsification of application for mobile

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110011280A KR101253341B1 (en) 2011-02-08 2011-02-08 System and method for verifying counterfeit or falsification of application for mobile

Publications (2)

Publication Number Publication Date
KR20120090711A true KR20120090711A (en) 2012-08-17
KR101253341B1 KR101253341B1 (en) 2013-04-10

Family

ID=46883728

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110011280A KR101253341B1 (en) 2011-02-08 2011-02-08 System and method for verifying counterfeit or falsification of application for mobile

Country Status (1)

Country Link
KR (1) KR101253341B1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101286767B1 (en) * 2013-01-21 2013-07-16 주식회사 엔에스에이치씨 Verification method for application program using dynamic hashing
WO2014036021A1 (en) * 2012-08-28 2014-03-06 Visa International Service Association Secure device service enrollment
KR101410255B1 (en) * 2012-12-20 2014-06-20 네이버비즈니스플랫폼 주식회사 System, device, method and computer readable recording medium for determining potential risk of application files
KR101414084B1 (en) * 2013-03-28 2014-07-04 한신대학교 산학협력단 System and for Malicious Application Detection on Mobile Device and Method thereof
KR101438432B1 (en) * 2013-02-21 2014-09-12 고려대학교 산학협력단 User denial and data integrity verification method by storage service
KR101498820B1 (en) * 2013-11-06 2015-03-05 순천향대학교 산학협력단 Method for Detecting Application Repackaging in Android
KR101532765B1 (en) * 2013-10-02 2015-07-02 주식회사 엔젠소프트 System and method for application counterfeit prevention
KR20170140630A (en) * 2016-06-13 2017-12-21 (유)아홉 Method and server for authenticating an application integrity
KR20180036140A (en) * 2016-09-30 2018-04-09 고려대학교 산학협력단 Method and apparatus for examining forgery of file by using file hash value
KR20200055251A (en) * 2018-11-13 2020-05-21 네이버비즈니스플랫폼 주식회사 A method for judging application forgery using user secret key, a packet validation authentication method using dynamic token, and its system
WO2020177116A1 (en) * 2019-03-07 2020-09-10 华为技术有限公司 Counterfeit app identification method and apparatus

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037515B2 (en) * 2003-10-29 2011-10-11 Qualcomm Incorporated Methods and apparatus for providing application credentials

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014036021A1 (en) * 2012-08-28 2014-03-06 Visa International Service Association Secure device service enrollment
US9867043B2 (en) 2012-08-28 2018-01-09 Visa International Service Association Secure device service enrollment
KR101410255B1 (en) * 2012-12-20 2014-06-20 네이버비즈니스플랫폼 주식회사 System, device, method and computer readable recording medium for determining potential risk of application files
KR101286767B1 (en) * 2013-01-21 2013-07-16 주식회사 엔에스에이치씨 Verification method for application program using dynamic hashing
KR101438432B1 (en) * 2013-02-21 2014-09-12 고려대학교 산학협력단 User denial and data integrity verification method by storage service
KR101414084B1 (en) * 2013-03-28 2014-07-04 한신대학교 산학협력단 System and for Malicious Application Detection on Mobile Device and Method thereof
KR101532765B1 (en) * 2013-10-02 2015-07-02 주식회사 엔젠소프트 System and method for application counterfeit prevention
KR101498820B1 (en) * 2013-11-06 2015-03-05 순천향대학교 산학협력단 Method for Detecting Application Repackaging in Android
KR20170140630A (en) * 2016-06-13 2017-12-21 (유)아홉 Method and server for authenticating an application integrity
KR20180036140A (en) * 2016-09-30 2018-04-09 고려대학교 산학협력단 Method and apparatus for examining forgery of file by using file hash value
KR20200055251A (en) * 2018-11-13 2020-05-21 네이버비즈니스플랫폼 주식회사 A method for judging application forgery using user secret key, a packet validation authentication method using dynamic token, and its system
WO2020177116A1 (en) * 2019-03-07 2020-09-10 华为技术有限公司 Counterfeit app identification method and apparatus

Also Published As

Publication number Publication date
KR101253341B1 (en) 2013-04-10

Similar Documents

Publication Publication Date Title
KR101253341B1 (en) System and method for verifying counterfeit or falsification of application for mobile
CN107483509B (en) A kind of auth method, server and readable storage medium storing program for executing
CN104021333B (en) Mobile security watch bag
US20180160255A1 (en) Nfc tag-based web service system and method using anti-simulation function
CN102811228B (en) Network login method, equipment and system
CN107135073B (en) Interface calling method and device
KR101956486B1 (en) Method and system for facilitating terminal identifiers
CN103916244B (en) Verification method and device
US9887997B2 (en) Web authentication using client platform root of trust
NZ751426A (en) Iot provisioning service
JP2018501567A (en) Device verification method and equipment
CN109314635A (en) Resource management based on block chain
CN111277553A (en) Credible node determination method and device based on block chain network
US20150149777A1 (en) Mobile terminal, terminal and authentication method using security cookie
US20110276804A1 (en) Server authentication method and client terminal
CN106549909B (en) Authorization verification method and device
CN105635126A (en) Malicious URL access protection method, client side, security server and system
KR20180122843A (en) Methods and system for verifying authenticity of qr code
CN114128212A (en) Method and system for authenticating secure credential transmission to a device
CN103905194A (en) Identity traceability authentication method and system
KR102011363B1 (en) Method for software authentication using block-chain authentication
KR101879843B1 (en) Authentication mehtod and system using ip address and short message service
CN103559430B (en) application account management method and device based on Android system
KR20140090279A (en) Service security authentication method and web application server therof
KR20140137259A (en) System for inspecting harmful information of mobile device and method thereof

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
LAPS Lapse due to unpaid annual fee