KR101321478B1 - Method and Apparatus for controlling application execution - Google Patents
Method and Apparatus for controlling application execution Download PDFInfo
- Publication number
- KR101321478B1 KR101321478B1 KR1020120032118A KR20120032118A KR101321478B1 KR 101321478 B1 KR101321478 B1 KR 101321478B1 KR 1020120032118 A KR1020120032118 A KR 1020120032118A KR 20120032118 A KR20120032118 A KR 20120032118A KR 101321478 B1 KR101321478 B1 KR 101321478B1
- Authority
- KR
- South Korea
- Prior art keywords
- application
- execution
- mobile device
- file path
- authority
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 229910015118 LiMO Inorganic materials 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 239000011230 binding agent Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/305—Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
Abstract
본 발명에서는 애플리케이션의 실행 제어 장치 및 방법이 제공된다. 본 발명의 일실시예에 의한 모바일 디바이스에 설치된 애플리케이션의 실행 제어 장치는 상기 애플리케이션에 삽입된 워터마크가 위치하는 파일 경로 및 상기 애플리케이션의 프로세스 ID 중 적어도 하나를 수집하는 수집부; 상기 파일 경로로부터 상기 워터마크를 추출하고, 상기 추출된 워터 마크와 상기 모바일 디바이스의 고유 ID를 이용하여 상기 애플리케이션의 실행 권한을 판단하는 권한 판단부; 및 상기 프로세스 ID를 이용하여 상기 실행 권한 판단 결과에 따라 상기 애플리케이션의 실행을 제어하는 실행 제어부를 포함하는 것을 특징으로 한다. 본 발명에 따르면, 애플리케이션의 불법 복제를 막을 수 있다. 또한, 본 발명은 안드로이드 플랫폼 상에서의 네이티브 서비스를 이용하여 애플리케이션의 불법 복제를 막기 위한 애플리케이션 실행 제어를 수행할 수 있다.The present invention provides an apparatus and method for controlling execution of an application. An execution control apparatus for an application installed in a mobile device according to an embodiment of the present invention includes a collecting unit for collecting at least one of a file path and a process ID of the application is a watermark inserted into the application; An authority judging unit extracting the watermark from the file path and determining an execution right of the application using the extracted watermark and a unique ID of the mobile device; And an execution control unit controlling the execution of the application according to the execution authority determination result using the process ID. According to the present invention, illegal copying of an application can be prevented. In addition, the present invention can perform application execution control to prevent illegal copying of an application using a native service on the Android platform.
Description
본 발명의 실시예들은 애플리케이션의 실행 제어 장치 및 방법에 관한 것으로서, 더욱 상세하게는 애플리케이션의 불법 복제를 막기 위한 애플리케이션의 실행 제어 장치 및 방법에 관한 것이다.Embodiments of the present invention relate to an apparatus and method for controlling execution of an application, and more particularly, to an apparatus and method for controlling execution of an application for preventing illegal copying of the application.
최근 들어 iPhone이나 안드로이드 장비와 같은 모바일 장비의 활용이 본격화되고 있다. 모바일 디바이스는 기본적으로 휴대폰으로서의 전화기능을 제공함은 물론, 다양한 소트프웨어 애플리케이션을 설치 운영할 수 있는 컴퓨터의 기능도 제공한다.Recently, the use of mobile devices such as iPhones and Android devices is in full swing. Mobile devices basically provide phone functions as a mobile phone, as well as the ability of a computer to install and run a variety of software applications.
따라서, 모바일 디바이스는 퍼스널 컴퓨팅 용도뿐만 아니라, 기업의 엔터프라이즈 에플리케이션의 클라이언트 단말로도 사용되고 있다. 또한, 모바일 디바이스는 이동성(mobility)을 제공하고, 위치 파악, 가속 측정 등 주변 상황을 인지하는 기능도 제공하므로 다양한 애플리케이션 개발과 응용을 가능케 한다.Thus, mobile devices are not only used for personal computing, but also as client terminals in enterprise enterprise applications. In addition, the mobile device provides mobility and provides the ability to recognize surrounding conditions such as positioning and acceleration measurement, thereby enabling various application development and applications.
특히 구글의 안드로이드를 비롯하여 LiMO Foundation, 삼성전자의 bada와 같은 개방형 모바일 플랫폼은 개발자에게는 좀더 다양한 개발환경을 제공하고 있다.In particular, open mobile platforms such as Google's Android, LiMO Foundation, and Samsung's bada provide developers with more diverse development environments.
스마트폰 시장의 성장과 함께 애플리케이션 또한 급격히 증가하는 추세이다. 하지만 기하 급수 적으로 늘어나는 애플리케이션 개수에 비해 적절한 애플리케이션 불법 복제 방지 기술의 부재로 저작권이 있는 콘텐츠가 허가없이 사용되거나 불법적으로 유통되고 있는 실정이다.With the growth of the smartphone market, applications are also increasing rapidly. However, compared to the exponentially increasing number of applications, copyrighted content is used without permission or is illegally distributed due to the lack of proper application piracy prevention technology.
이와 같은 불법 앱 사용을 막기 위해서는 스마트폰 애플리케이션 불법 복제를 막기 위한 저작권 보호 기술이 필요하다.In order to prevent the use of such illegal apps, copyright protection technology is required to prevent piracy of smartphone applications.
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 애플리케이션의 불법 복제를 막기 위한 애플리케이션의 실행 제어 장치 및 방법을 제안하고자 한다.In order to solve the problems of the prior art as described above, the present invention proposes an apparatus and method for controlling the execution of an application to prevent illegal copying of the application.
본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.Other objects of the invention will be apparent to those skilled in the art from the following examples.
상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, 모바일 디바이스에 설치된 애플리케이션의 실행 제어 장치에 있어서, 상기 애플리케이션에 삽입된 워터마크가 위치하는 파일 경로 및 상기 애플리케이션의 프로세스 ID 중 적어도 하나를 수집하는 수집부; 상기 파일 경로로부터 상기 워터마크를 추출하고, 상기 추출된 워터 마크와 상기 모바일 디바이스의 고유 ID를 이용하여 상기 애플리케이션의 실행 권한을 판단하는 권한 판단부; 및 상기 프로세스 ID를 이용하여 상기 실행 권한 판단 결과에 따라 상기 애플리케이션의 실행을 제어하는 실행 제어부를 포함하는 것을 특징으로 하는 애플리케이션의 실행 제어 장치가 제공된다.According to a preferred embodiment of the present invention to achieve the above object, in the execution control apparatus of an application installed in a mobile device, at least one of the file path and the process ID of the application location of the watermark inserted in the application Collecting unit for collecting; An authority judging unit extracting the watermark from the file path and determining an execution right of the application using the extracted watermark and a unique ID of the mobile device; And an execution controller configured to control execution of the application based on a result of the execution authority determination using the process ID.
상기 수집부는 상기 모바일 디바이스의 애플리케이션 계층에 위치하며, 상기 권한 판단부 및 상기 실행 제어부는 상기 모바일 디바이스의 서비스 계층에 위치할 수 있다.The collection unit may be located in an application layer of the mobile device, and the authority determination unit and the execution control unit may be located in a service layer of the mobile device.
상기 수집부는 상기 파일 경로 및 상기 프로세스 ID를 상기 서비스 계층에 위치하는 JNI(Java Native Interface)을 이용하여 상기 권한 판단부로 전송할 수 있다.The collection unit may transmit the file path and the process ID to the authority determining unit by using a Java Native Interface (JNI) located in the service layer.
상기 실행 권한이 없는 경우, 상기 실행 제어부는 상기 애플리케이션의 프로세스 ID를 이용하여 상기 애플리케이션을 종료하거나, 상기 애플리케이션을 실행시킬 수 없다는 에러 페이지를 상기 모바일 디바이스의 디스플레이에 표시할 수 있다.If there is no execution right, the execution control unit may terminate the application using the process ID of the application or may display an error page indicating that the application cannot be executed on the display of the mobile device.
상기 애플리케이션은 상기 수집부가 상기 파일 경로 및 상기 프로세스 ID 중 적어도 하나를 수집하도록 하는 코드를 포함할 수 있다.The application may include code for causing the collector to collect at least one of the file path and the process ID.
상기 애플리케이션은 상기 코드를 이용하여 상기 파일 경로 및 상기 프로세스 ID를 상기 수집부로 전송할 수 있다.The application may transmit the file path and the process ID to the collection unit by using the code.
상기 애플리케이션이 웹 마켓을 통해 구매될 시 상기 애플리케이션을 구매한 모바일 디바이스의 고유 ID가 상기 애플리케이션의 워터마크로 삽입될 수 있다.When the application is purchased through the web market, a unique ID of the mobile device that purchased the application may be inserted into the watermark of the application.
본 발명의 다른 일 실시예에 따르면, 모바일 디바이스에 설치된 애플리케이션의 실행 제어 장치에 있어서, 상기 애플리케이션에 삽입된 워터마크가 위치하는 파일 경로를 수집하는 수집부; 상기 파일 경로로부터 상기 워터마크를 추출하고, 상기 추출된 워터 마크와 상기 모바일 디바이스의 고유 ID를 이용하여 상기 애플리케이션의 실행 권한을 판단하는 권한 판단부를 포함하되, 상기 권한 판단부는 상기 애플리케이션의 실행 권한 판단 결과를 상기 애플리케이션으로 전송하는 것을 특징으로 하는 애플리케이션 실행 제어 장치가 제공된다.According to another embodiment of the present invention, an execution control apparatus for an application installed in a mobile device, the apparatus comprising: a collecting unit collecting a file path in which a watermark inserted into the application is located; And extracting the watermark from the file path and determining an execution authority of the application using the extracted watermark and the unique ID of the mobile device, wherein the authority determining unit determines the execution authority of the application. An application execution control apparatus is provided which transmits a result to the application.
본 발명의 다른 일 실시예에 따르면, 모바일 디바이스에 설치된 애플리케이션의 실행 제어 방법에 있어서, 상기 애플리케이션에 삽입된 워터마크가 위치하는 파일 경로 및 상기 애플리케이션의 프로세스 ID 중 적어도 하나를 수집하는 단계; 상기 파일 경로로부터 상기 워터마크를 추출하고, 상기 추출된 워터 마크와 상기 모바일 디바이스의 고유 ID를 이용하여 상기 애플리케이션의 실행 권한을 판단하는 단계; 및 상기 프로세스 ID를 이용하여 상기 실행 권한 판단 결과에 따라 상기 애플리케이션의 실행을 제어하는 단계를 포함하는 것을 특징으로 하는 애플리케이션의 실행 제어 방법이 제공된다.According to another embodiment of the present invention, a method of controlling execution of an application installed in a mobile device, the method comprising: collecting at least one of a file path where a watermark inserted into the application is located and a process ID of the application; Extracting the watermark from the file path and determining an execution authority of the application using the extracted watermark and a unique ID of the mobile device; And controlling execution of the application according to the execution authority determination result using the process ID.
본 발명에 따르면, 애플리케이션의 불법 복제를 막을 수 있다. 또한, 본 발명은 안드로이드 플랫폼 상에서의 네이티브 서비스를 이용하여 애플리케이션의 불법 복제를 막기 위한 애플리케이션 실행 제어를 수행할 수 있다.According to the present invention, illegal copying of an application can be prevented. In addition, the present invention can perform application execution control to prevent illegal copying of an application using a native service on the Android platform.
도 1은 본 발명의 일 실시예에 따른 모바일 디바이스에 설치된 애플리케이션의 실행 제어 장치를 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 모바일 디바이스에 설치된 애플리케이션의 실행 제어 시스템의 일례를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 실행 제어 방법의 전체적인 흐름을 도시한 순서도이다.1 is a block diagram illustrating an execution control apparatus of an application installed in a mobile device according to an embodiment of the present invention.
2 is a diagram illustrating an example of a system for controlling execution of an application installed in a mobile device according to an embodiment of the present invention.
3 is a flow chart showing the overall flow of the execution control method according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 모바일 디바이스에 설치된 애플리케이션의 실행 제어 장치를 도시한 블록도이다.1 is a block diagram illustrating an execution control apparatus of an application installed in a mobile device according to an embodiment of the present invention.
도 1을 참조하면, 애플리케이션의 실행 제어 장치(100)는 수집부(101), 권한 판단부(103) 및 실행 제어부(105)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수 구성요소인 것은 아니다. 도시된 구성요소보다 더 많은 구성요소로 애플리케이션의 실행 제어 장치(100)가 구성될 수도 있고, 그보다 적은 구성요소에 의해서도 애플리케이션의 실행 제어 장치(100)가 구성될 수 있다.Referring to FIG. 1, the
수집부(101)는 애플리케이션에 삽입된 워터마크가 위치하는 파일 경로 및 애플리케이션의 프로세스 ID를 수집한다.The
워터마크는 애플리케이션을 구매한 모바일 디바이스의 고유 ID를 포함한다. The watermark includes the unique ID of the mobile device that purchased the application.
본 발명의 일 실시예에 따르면 애플리케이션이 웹 마켓을 통해 구매될 시 애플리케이션을 구매한 모바일 디바이스의 고유 ID가 워터마크로서 애플리케이션에 삽입될 수 있다.According to an embodiment of the present invention, when the application is purchased through the web market, the unique ID of the mobile device that purchased the application may be inserted into the application as a watermark.
따라서, 워터마크가 위치하는 파일 경로는 모바일 디바이스의 파일 시스템에 설치된 애플리케이션의 위치 정보이며, 상기 위치 정보는 애플리케이션 상의 워터마크가 삽입된 위치 정보를 함께 포함할 수 있다.Accordingly, the file path where the watermark is located is location information of an application installed in the file system of the mobile device, and the location information may include location information including the watermark on the application.
본 발명의 일 실시예에 따르면, 모바일 디바이스의 고유 ID는 이동통신 단말기 고유 번호(Eletronic Serial Number, ESN) 또는 이동통신 단말기 식별 번호(Mobile Identification Number, MIN), 이동통신 가입자 식별번호(International Mobile Subscriber Identify, IMSI) 중 어느 하나를 포함할 수 있다.According to one embodiment of the invention, the unique ID of the mobile device is a mobile terminal unique number (Eletronic Serial Number (ESN) or mobile terminal identification number (Mobile Identification Number, MIN), mobile communication subscriber identification number (International Mobile Subscriber) Identify, IMSI) may be included.
프로세스 ID는 애플리케이션이 모바일 디바이스에서 실행 될 때 모바일 디바이스로부터 할당 받는 ID를 의미하며, 모바일 디바이스는 상기 프로세스 ID를 이용하여 애플리케이션을 제어할 수 있다.The process ID refers to an ID assigned by the mobile device when the application is executed on the mobile device, and the mobile device may control the application using the process ID.
권한 판단부(103)는 워터마크가 위치하는 파일 경로로부터 워터 마크를 추출하고, 추출된 워터마크와 애플리케이션이 설치된 모바일 디바이스의 고유 ID를 이용하여 애플리케이션의 실행 권한을 판단한다.The
보다 상세하게, 워터마크에 포함된 애플리케이션을 구매한 모바일 디바이스의 고유 ID와 애플리케이션이 설치된 모바일 디바이스의 고유 ID를 비교하여 동일하지 않은 경우 애플리케이션에 대한 실행 권한이 없다 판단할 수 있다.More specifically, it may be determined that there is no right to execute an application when the unique ID of the mobile device that purchased the application included in the watermark and the unique ID of the mobile device where the application is installed are not the same.
실행 제어부(105)는 애플리케이션의 접근 권한이 없는 경우 프로세스 ID를 이용하여 애플리케이션의 실행을 제어할 수 있다.If there is no access right of the application, the
일례로, 실행 제어부(105)는 애플리케이션의 프로세스 ID를 이용하여 애플리케이션을 종료하거나, 애플리케이션을 실행 시킬 수 없다는 에러 페이지를 모바일 디바이스의 디스플레이에 표시할 수 있다.For example, the
본 발명의 일 실시예에 따르면, 권한 판단부(103)는 실행 권한 판단 결과를 애플리케이션으로 전송할 수 있으며, 실행 권한 판단 결과를 수신한 애플리케이션은 이를 이용하여 자신의 실행을 제어할 수 도 있다.According to an embodiment of the present invention, the
이 경우, 수집부(101)는 애플리케이션에 삽입된 워터마크가 위치하는 파일 경로만을 수집하여 권한 판단부(103)로 전송할 수 있다.In this case, the
본 발명의 일 실시예에 따르면, 수집부(101)는 모바일 디바이스의 애플리케이션 계층에 포함되며, 접근 실행 제어부(103) 및 실행 제어부(105)는 서비스 계층에 포함될 수 있다.According to an embodiment of the present invention, the
애플리케이션 계층과 서비스 계층을 설명하기 위해 이하 발명의 설명에서는 모바일 디바이스가 안드로이드 서비스를 사용하는 것으로 가정하여 설명하도록 한다. 하지만 모바일 디바이스가 사용하는 서비스가 이에 한정되는 것이 아님은 당업자에게 있어 자명할 것이다.To describe the application layer and the service layer, the following description of the invention assumes that the mobile device uses the Android service. However, it will be apparent to those skilled in the art that the service used by the mobile device is not limited thereto.
안드로이드 서비스는 사용자와 직접 상호작용하지 않고 사용자를 대변하는 액티비티(activity) 수행을 위해 연산이나 메소드(mehod)를 제공하는 역할을 한다.Android services do not interact directly with the user, but rather provide operations or methods to perform activities on behalf of the user.
서비스의 종류는 크게 시스템 서비스 계층과 애플리케이션 서비스 계층으로 나뉘어져 있으며 시스템 서비스는 다시 자바로 작성된 시스템 서비스와 C 또는 C++로 작성된 네이티브(native) 서비스로 나뉜다. 시스템 서비스는 일반적으로 컴파일 되어 모바일 단말의 플랫폼에 저장된다.Service types are divided into system service layer and application service layer. System services are divided into system services written in Java and native services written in C or C ++. System services are generally compiled and stored on the platform of the mobile terminal.
안드로이드 기반의 모바일 디바이스에 설치된 애플리케이션의 실행 권한을 판단하고, 애플리케이션의 실행을 제어하기 위해서는 시스템 권한이 필요하지만, 원칙적으로 애플리케이션 계층에 위치하는 애플리케이션은 안드로이드의 권한 정책상 시스템 권한을 얻을 수 없다. 따라서, 권한 판단부(103) 및 실행 제어부(105)는 시스템 권한을 갖는 네이티브 서비스로 구성되기 위해 네이티브 코드를 이용하여 구현될 수 있다.In order to determine the execution authority of an application installed on an Android-based mobile device and control the execution of the application, system authority is required, but in principle, an application located in the application layer cannot obtain system authority due to Android's authority policy. Therefore, the
일례로, 네이티브 코드를 이용하여 권한 판단부(103) 및 실행 제어부(105)를 구성하기 위해 안드로이드 서비스에서 개발자를 위해 제공하는 PDK(Platform Development Kit)를 이용할 수 있다.For example, a platform development kit (PDK) provided for a developer by an Android service may be used to configure the
네이티브 서비스는 부팅시 rootfs의 init.rc에서 서비스가 어떤 권한으로 실행될지 명시할 수 있다. 따라서, 권한 판단부(103) 및 실행 제어부(105)의 실행 권한에 대해 rootfs의 init.rc에 명시할 수 있다.Native services can specify which privileges the service runs under init.rc of rootfs at boot time. Therefore, the execution authority of the
이에 반해 수집부(101)는 애플리케이션 계층에 위치 하므로, 시스템 계층에 위치하는 권한 판단부(103)에 수집부(101)가 수집한 정보를 전송하기 위해서는 별도의 모듈이 필요하다.In contrast, since the
본 발명의 일 실시예에 따르면, 수집부(101)에서 수집한 워터 마크가 위치하는 파일 경로 및 프로세스 ID를 권한 판단부(103)로 전송하기 위해 시스템 계층에 위치하는 JNI(Java Native Interface)을 이용할 수 있다.According to an embodiment of the present invention, the JNI (Java Native Interface) located in the system layer to transmit the file path and process ID at which the watermark collected by the
안드로이드 서비스에서는 JNI를 애플리케이션에서 쉽게 사용하게 하기 위해서 NDK(Native Development Kit)를 제공하지만, NDK에서는 수집부(101)와 권한 판단부(103)가 통신하는데 필요한 바인더 라이브러리를 지원하지 않는다. 따라서 NDK 대신 PDK를 이용하여 동적 라이브러리를 생성하여 해당 동적 라이브러리를 애플리케이션에서 사용 가능하도록 할 수 있다.The Android service provides a Native Development Kit (NDK) to easily use JNI in an application, but the NDK does not support the binder library required for the
본 발명의 일 실시예에 따르면, 애플리케이션의 실행 시 워터마크가 위치하는 파일 경로 및 애플리케이션의 프로세스 ID 중 적어도 하나의 정보를 수집부(101)로 전송하여 수집부(101)가 상기 적어도 하나의 정보를 수집하도록 하는 스텁(stub) 코드가 애플리케이션에 삽입될 수 있다.According to an embodiment of the present invention, when the application is executed, at least one information of a file path in which a watermark is located and a process ID of the application is transmitted to the
애플리케이션은 스텁 코드를 통해 파일 경로 및 프로세스 ID를 수집부(101)로 전송한다.The application transmits the file path and the process ID to the
스텁 코드를 삽입하는 이유는 후에 본 발명의 기법이 이미 배포된 애플리케이션에 적용이 되기 위해서는 스텁 코드를 이용한 실행 제어 기술이 필요하기 때문이다.The reason for inserting the stub code is that the execution control technique using the stub code is required for the technique of the present invention to be applied to an already deployed application.
또한, 수집부(101)의 구성을 별도의 애플리케이션 서비스로 구현하는 경우 애플리케이션 자체에는 수집부(101)를 호출하는 스텁 코드만 삽입하면 되므로 스텁 코드의 양을 최소화 할 수 있는 장점이 있다.In addition, in the case of implementing the configuration of the collecting
따라서, 애플리케이션은 스텁 코드를 통해 애플리케이션의 정보(삽입된 워터마크가 위치하는 파일 경로 및 애플리케이션의 프로세스 ID)를 수집부(101)로 전송한다.Therefore, the application transmits the information of the application (the file path where the inserted watermark is located and the process ID of the application) to the
도 2는 본 발명의 일 실시예에 따른 모바일 디바이스에 설치되는 애플리케이션의 실행 제어 시스템의 일례를 도시한 도면이다.2 is a diagram illustrating an example of an execution control system of an application installed in a mobile device according to an embodiment of the present invention.
도 2의 애플리케이션 실행 제어 시스템은 애플리케이션 계층(200), 라이브러리 계층(210)(또는, 서비스 계층) 및 커널 계층(220)으로 나뉠 수 있다.The application execution control system of FIG. 2 may be divided into an
ACL(Access Control Library)(205)는 본 발명의 수집부(101)의 구성과 대응되며, ACS(Access Control Service)(211)의 구성은 권한 판단부(103) 및 실행 제어부(105)의 구성과 대응된다.The ACL (Access Control Library) 205 corresponds to the configuration of the
애플리케이션(203)에는 ACL(205)를 호출하는 스텁 코드가 삽입된다. 스텁 코드는 안드로이드 서비스의 RPC(Remote Procedure Call) 호출을 통해 서비스 컴포넌트로 등록된 ACL(205)를 호출하며, 애플리케이션(203) 정보 (삽입된 워터마크가 위치하는 파일 경로 및 애플리케이션(203)의 프로세스 ID)를 ACL(205)에 제공한다.The
스텁 코드에 의해 호출된 ACL(205)은 애플리케이션(203)의 정보를 ACS(211)로 전송하기 위해 네이티브 서비스로 구성된 ACS(211)를 JNI(213)을 통해 호출한다. 여기서, JNI(213)는 안드로이드 서비스의 애플리케이션 계층과 라이브러리 계층을 연결하는 역할을 한다.The
ACS(211)의 워터마크 라이브러리는 삽입된 워터마크가 위치하는 파일 경로 및 파일 시스템(221)을 이용하여 dex에 있는 워터마크를 추출하고, 모바일 디바이스의 고유 ID와 비교하여 애플리케이션(203)의 실행 권한을 판단한다. 실행권한 판단 후 ACS(211)는 프로세스 ID를 이용하여 해당 애플리케이션(205)의 실행을 제어한다.The watermark library of the
본 발명의 다른 일 실시예에 따르면, ACS(211)는 실행 권한 판단 후, 실행 권한 판단 결과에 대해 ACL(205)에 전송하고, ACL(205)는 다시 애플리케이션(203)으로 전송할 수 있다. 이 경우, 스텁 코드를 호출한 애플리케이션(203)은 전송된 결과를 기반으로 애플리케이션의 실행을 제어할 수 있다.According to another embodiment of the present invention, the
따라서, 본 발명에 따르면 네이티브 서비스를 이용하여 구성된 ACS(211) 및 네이티브 서비스를 호출할 수 있는 ACL(205)을 설계함으로써 안드로이드 플랫폼상에서 애플리케이션(203)의 실행을 제어할 수 있다.Therefore, according to the present invention, the execution of the
도 3은 본 발명의 일 실시예에 따른 애플리케이션의 실행 제어 방법에 대한 전체적인 흐름을 도시한 순서도이다.3 is a flowchart illustrating the overall flow of the execution control method of the application according to an embodiment of the present invention.
이하, 도 3을 참조하여 각 단계에서 수행되는 과정을 살펴보도록 한다.Hereinafter, a process performed at each step will be described with reference to FIG. 3.
도 3을 참조하면, 단계(S300)에서 수집부(101)는 애플리케이션에 삽입된 워터마크가 위치하는 파일 경로 및 상기 애플리케이션의 프로세스 ID 중 적어도 하나를 수집한다.Referring to FIG. 3, in step S300, the collecting
이때, 애플리케이션은 상기 애플리케이션은 상기 수집부가 상기 파일 경로 및 상기 프로세스 ID 중 적어도 하나를 수집하도록 하는 코드를 포함할 수 있다. 따라서, 애플리케이션의 실행 시 코드에 의해 단계(S300)이 수행될 수 있다.In this case, the application may include code for causing the collector to collect at least one of the file path and the process ID. Therefore, step S300 may be performed by a code when the application is executed.
단계(S305)에서 권한 판단부(103)는 파일 경로로부터 워터마크를 추출하고, 추출된 워터마크와 애플리케이션이 설치된 모바일 디바이스의 고유 ID를 이용하여 애플리케이션의 실행 권한을 판단한다.In step S305, the
마지막으로 단계(S310)에서 실행 제어부(105)는 프로세스 ID를 이용하여 실행 권한 판단 결과에 따라 애플리케이션의 실행을 제어한다.Finally, in step S310, the
지금까지 본 발명에 따른 애플리케이션의 실행 제어 방법의 실시예들에 대하여 설명하였고, 앞서 도 1에서 설명한 실행 제어 장치(100)에 관한 구성이 본 실시예에도 그대로 적용이 가능하다. 이에 보다 상세한 설명은 생략하기로 한다.The embodiments of the execution control method of the application according to the present invention have been described so far, and the configuration of the
또한, 본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 일 실시예들의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Examples of program instructions, such as magneto-optical and ROM, RAM, flash memory and the like, can be executed by a computer using an interpreter or the like, as well as machine code, Includes a high-level language code. The hardware devices described above may be configured to operate as at least one software module to perform operations of one embodiment of the present invention, and vice versa.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described by specific embodiments such as specific components and the like. For those skilled in the art, various modifications and variations are possible from these descriptions. Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .
100: 실행 제어 장치 101: 수집부
103: 권한 판단부 105: 실행 제어부
109: 제어부
200: 애플리케이션 계층 203: 애플리케이션
205: ACL
210: 라이브러리 계층 211: ACS
213: JNI
220: 커널 계층 221: 파일 시스템100: execution control device 101: collecting unit
103: authority judging unit 105: execution control unit
109: control unit
200: application layer 203: application
205: ACL
210: Library layer 211: ACS
213: JNI
220: Kernel Layer 221: File System
Claims (15)
상기 애플리케이션에 삽입된 워터마크가 위치하는 파일 경로 및 상기 애플리케이션의 프로세스 ID 중 적어도 하나를 수집하는 수집부;
상기 파일 경로로부터 상기 워터마크를 추출하고, 상기 추출된 워터 마크와 상기 모바일 디바이스의 고유 ID를 이용하여 상기 애플리케이션의 실행 권한을 판단하는 권한 판단부; 및
상기 프로세스 ID를 이용하여 상기 실행 권한 판단 결과에 따라 상기 애플리케이션의 실행을 제어하는 실행 제어부를 포함하되,
상기 애플리케이션은 상기 수집부가 상기 파일 경로 및 상기 프로세스 ID 중 적어도 하나를 수집하도록 하는 코드를 포함하는 것을 특징으로 하는 애플리케이션 실행 제어 장치.In the execution control device of the application installed in the mobile device,
A collector configured to collect at least one of a file path where a watermark inserted into the application is located and a process ID of the application;
An authority judging unit extracting the watermark from the file path and determining an execution right of the application using the extracted watermark and a unique ID of the mobile device; And
An execution control unit for controlling the execution of the application according to the execution authority determination result using the process ID,
And the application comprises code for causing the collector to collect at least one of the file path and the process ID.
상기 수집부는 상기 모바일 디바이스의 애플리케이션 계층에 위치하며, 상기 권한 판단부 및 상기 실행 제어부는 상기 모바일 디바이스의 서비스 계층에 위치하는 것을 특징으로 하는 애플리케이션 실행 제어 장치.The method of claim 1,
And the collecting unit is located in an application layer of the mobile device, and the authority determining unit and the execution control unit are located in a service layer of the mobile device.
상기 수집부는 상기 파일 경로 및 상기 프로세스 ID를 상기 서비스 계층에 위치하는 JNI(Java Native Interface)을 이용하여 상기 권한 판단부로 전송하는 것을 특징으로 하는 애플리케이션 실행 제어 장치.3. The method of claim 2,
And the collection unit transmits the file path and the process ID to the authority determining unit using a JNI (Java Native Interface) located in the service layer.
상기 실행 권한이 없는 경우,
상기 실행 제어부는 상기 애플리케이션의 프로세스 ID를 이용하여 상기 애플리케이션을 종료하거나, 상기 애플리케이션을 실행시킬 수 없다는 에러 페이지를 상기 모바일 디바이스의 디스플레이에 표시하는 것을 특징으로 하는 애플리케이션 실행 제어 장치.The method of claim 1,
If you do not have the above execution rights,
And the execution control unit displays an error page indicating that the application cannot be executed or the application cannot be executed by using the process ID of the application on the display of the mobile device.
상기 애플리케이션은 상기 코드를 이용하여 상기 파일 경로 및 상기 프로세스 ID를 상기 수집부로 전송하는 것을 특징으로 하는 애플리케이션 실행 제어 장치.The method of claim 1,
And the application transmits the file path and the process ID to the collection unit by using the code.
상기 애플리케이션이 웹 마켓을 통해 구매될 시 상기 애플리케이션을 구매한 모바일 디바이스의 고유 ID가 상기 애플리케이션의 워터마크로 삽입되는 것을 특징으로 하는 애플리케이션 실행 제어 장치.The method of claim 1,
And when the application is purchased through a web market, a unique ID of a mobile device that has purchased the application is inserted into a watermark of the application.
상기 애플리케이션에 삽입된 워터마크가 위치하는 파일 경로를 수집하는 수집부;
상기 파일 경로로부터 상기 워터마크를 추출하고, 상기 추출된 워터 마크와 상기 모바일 디바이스의 고유 ID를 이용하여 상기 애플리케이션의 실행 권한을 판단하는 권한 판단부를 포함하되,
상기 권한 판단부는 상기 애플리케이션의 실행 권한 판단 결과를 상기 애플리케이션으로 전송하되,
상기 애플리케이션은 상기 파일 경로를 상기 수집부로 전송하여 상기 수집부가 상기 파일 경로를 수집하도록 하는 코드를 포함하는 것을 특징으로 하는 애플리케이션 실행 제어 장치.In the execution control device of the application installed in the mobile device,
A collector configured to collect a file path at which a watermark inserted into the application is located;
And an authority determiner configured to extract the watermark from the file path, and determine an execution right of the application using the extracted watermark and a unique ID of the mobile device.
The authority determining unit transmits the execution authority determination result of the application to the application,
And the application includes code for transmitting the file path to the collection unit so that the collection unit collects the file path.
상기 수집부는 상기 모바일 디바이스의 애플리케이션 계층에 위치하며, 상기 권한 판단부는 상기 모바일 디바이스의 서비스 계층에 위치하는 것을 특징으로 하는 애플리케이션 실행 제어 장치.9. The method of claim 8,
And the collecting unit is located in an application layer of the mobile device, and the authority determining unit is located in a service layer of the mobile device.
상기 수집부는 상기 파일 경로 및 상기 애플리케이션의 프로세스 ID를 상기 서비스 계층에 위치하는 JNI(Java Native Interface)을 이용하여 상기 권한 판단부로 전송하는 것을 특징으로 하는 애플리케이션 실행 제어 장치.10. The method of claim 9,
And the collecting unit transmits the file path and the process ID of the application to the authority determining unit using a Java Native Interface (JNI) located in the service layer.
상기 실행 권한 판단 결과를 수신한 상기 애플리케이션은 상기 애플리케이션을 종료하거나, 상기 애플리케이션을 실행시킬 수 없다는 에러 페이지를 상기 모바일 디바이스의 디스플레이에 표시하는 것을 특징으로 하는 애플리케이션 실행 제어 장치.9. The method of claim 8,
And the application receiving the execution authority determination result displays an error page on the display of the mobile device indicating that the application terminates the application or cannot execute the application.
상기 실행 권한 판단 결과 및 상기 코드를 이용하여 상기 애플리케이션의 실행을 제어하는 것을 특징으로 하는 애플리케이션 실행 제어 장치.12. The method of claim 11,
And controlling the execution of the application by using the execution permission determination result and the code.
상기 애플리케이션에 삽입된 워터마크가 위치하는 파일 경로 및 상기 애플리케이션의 프로세스 ID 중 적어도 하나를 수집하는 단계;
상기 파일 경로로부터 상기 워터마크를 추출하고, 상기 추출된 워터 마크와 상기 모바일 디바이스의 고유 ID를 이용하여 상기 애플리케이션의 실행 권한을 판단하는 단계; 및
상기 프로세스 ID를 이용하여 상기 실행 권한 판단 결과에 따라 상기 애플리케이션의 실행을 제어하는 단계를 포함하되,
상기 애플리케이션은 상기 파일 경로 및 상기 프로세스 ID 중 적어도 하나를 수집하도록 하는 코드를 포함하는 것을 특징으로 하는 애플리케이션의 실행 제어 방법.In the execution control method of an application installed on a mobile device,
Collecting at least one of a file path where a watermark inserted into the application is located and a process ID of the application;
Extracting the watermark from the file path and determining an execution authority of the application using the extracted watermark and a unique ID of the mobile device; And
Controlling the execution of the application according to the execution authority determination result using the process ID;
And the application includes code to collect at least one of the file path and the process ID.
상기 수집하는 단계는 상기 모바일 디바이스의 애플리케이션 계층에서 수행되며, 상기 권한을 판단하는 단계 및 상기 실행을 제어하는 단계는 상기 모바일 디바이스의 서비스 계층에서 수행되는 것을 특징으로 하는 애플리케이션 실행 제어 방법.The method of claim 13,
And wherein said collecting is performed at an application layer of said mobile device, and determining said authority and controlling said execution are performed at a service layer of said mobile device.
상기 애플리케이션의 실행 시 상기 코드에 의해 상기 수집하는 단계가 수행되는 것을 특징으로 하는 애플리케이션 실행 제어 방법.The method of claim 13,
And the collecting step is performed by the code when the application is executed.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120017902 | 2012-02-22 | ||
KR20120017902 | 2012-02-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130101953A KR20130101953A (en) | 2013-09-16 |
KR101321478B1 true KR101321478B1 (en) | 2013-10-28 |
Family
ID=49451921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120032118A KR101321478B1 (en) | 2012-02-22 | 2012-03-29 | Method and Apparatus for controlling application execution |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101321478B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050118002A (en) * | 2004-06-12 | 2005-12-15 | 엘지전자 주식회사 | Image managing method for mobile communication terminal |
KR20060023711A (en) * | 2004-09-10 | 2006-03-15 | 에스케이 텔레콤주식회사 | Method for preventing illegal application copy in mobile terminal |
KR100644704B1 (en) | 2005-06-28 | 2006-11-10 | 삼성전자주식회사 | Apparatus and method for managing a secure document |
-
2012
- 2012-03-29 KR KR1020120032118A patent/KR101321478B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050118002A (en) * | 2004-06-12 | 2005-12-15 | 엘지전자 주식회사 | Image managing method for mobile communication terminal |
KR20060023711A (en) * | 2004-09-10 | 2006-03-15 | 에스케이 텔레콤주식회사 | Method for preventing illegal application copy in mobile terminal |
KR100644704B1 (en) | 2005-06-28 | 2006-11-10 | 삼성전자주식회사 | Apparatus and method for managing a secure document |
Also Published As
Publication number | Publication date |
---|---|
KR20130101953A (en) | 2013-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8566937B2 (en) | Information processing apparatus and method for preventing unauthorized cooperation of applications | |
US9537869B2 (en) | Geographical restrictions for application usage on a mobile device | |
US20160378989A1 (en) | Apparatus and method for monitoring android platform-based application | |
CN103617380B (en) | Application program authority dynamic control method and system | |
CN103403669A (en) | Securing and managing APPs on a device | |
CN108804912B (en) | Application program override detection method based on permission set difference | |
CN103548320A (en) | Secure execution of unsecured apps on a device | |
CN103116716A (en) | Immediate access conferring method aiming at low interference of mobile platform | |
WO2016019893A1 (en) | Application installation method and apparatus | |
CN106557669A (en) | A kind of authority control method and device of application program installation process | |
CN103310135B (en) | A kind of method and mobile terminal shielding application permission | |
CN103379481A (en) | Method for achieving safety protection and firewall | |
CN103455520A (en) | Method and device for accessing Android database | |
KR20130116409A (en) | Method and apparatus to evaluate required permissions for application | |
Alepis et al. | Hey doc, is this normal?: Exploring android permissions in the post marshmallow era | |
Hwang et al. | Bittersweet adb: Attacks and defenses | |
CN106557687A (en) | A kind of authority control method and device of application program installation process | |
KR101580425B1 (en) | User Terminal for Interworking with the Peripherals and Method for Preventing Corporate Information Leakage Using the same | |
KR101561167B1 (en) | System and Method for Controlling Application Permission on the Android Mobile Platform | |
JP2011034349A (en) | Terminal protection system and terminal protection method | |
CN107766061A (en) | The installation method and installation system of a kind of Android application program | |
KR101321478B1 (en) | Method and Apparatus for controlling application execution | |
KR101337077B1 (en) | Method for operating android invisible system service | |
KR101539968B1 (en) | Method for controlling application execution, method for determining whether or not application is executed, and computer readable recording medium including program for performing the same | |
JP5865180B2 (en) | Portable communication terminal, data communication detection device, data communication detection method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20161017 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20181017 Year of fee payment: 6 |