KR101825402B1 - Mobile apparatus operating code splitting authorization of application code and mobile system having the mobile apparatus - Google Patents
Mobile apparatus operating code splitting authorization of application code and mobile system having the mobile apparatus Download PDFInfo
- Publication number
- KR101825402B1 KR101825402B1 KR1020170028049A KR20170028049A KR101825402B1 KR 101825402 B1 KR101825402 B1 KR 101825402B1 KR 1020170028049 A KR1020170028049 A KR 1020170028049A KR 20170028049 A KR20170028049 A KR 20170028049A KR 101825402 B1 KR101825402 B1 KR 101825402B1
- Authority
- KR
- South Korea
- Prior art keywords
- code
- application
- external device
- authentication
- separated
- Prior art date
Links
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/42—User authentication using separate channels for security data
-
- 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/45—Structures or tools for the administration of authentication
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Telephone Function (AREA)
Abstract
Description
본 발명은 애플리케이션 코드의 코드 분리 인증을 수행하는 모바일 장치 및 이를 포함하는 모바일 시스템에 관한 것으로, 보다 구체적으로 코드 분리 인증을 통해 개인 정보를 보호할 수 있는 모바일 장치 및 이를 포함하는 모바일 시스템에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a mobile device for performing code separation authentication of an application code and a mobile system including the mobile device, and more particularly to a mobile device capable of protecting personal information through code division authentication and a mobile system including the same .
애플리케이션의 양적 증가로 애플리케이션의 기능이 다양해지고 있으며, 사용자에게 요구하는 개인 정보의 종류도 다양해지고 있다. 스마트 뱅킹, SNS(Social Network Service), 이메일 등과 같이 다양한 개인 정보를 요구하는 애플리케이션은 일반적으로 사용자들이 편의를 위해 아이디와 패스워드를 저장하여 자동 로그인 상태를 유지해 두는 경우가 많다.As the amount of applications increases, the functions of applications are becoming more diverse, and the kinds of personal information that users require are also becoming more diverse. Applications that require a variety of personal information, such as smart banking, Social Network Service (SNS), and e-mail, often store their usernames and passwords for the convenience of users and keep them automatically logged in.
그렇기 때문에 스마트 폰과 같은 모바일 장치에서 제공하는 잠금 기능이 해제되면 인증되지 않은 사용자도 자동 로그인된 애플리케이션을 이용하여 개인 정보를 탈취할 수 있게 된다. 이에 따라, 개인 정보 보호를 위한 모바일 장치의 보안에 대한 관심이 높아지고 있으며, 모바일 장치 자체적으로 패스워드, 패턴, 생체 정보 인증 등 다양한 인증 방법을 제공하고 있고, 이러한 인증 방법에 대해서도 많은 연구가 진행되고 있다. Therefore, if the lock function provided by a mobile device such as a smart phone is turned off, an unauthorized user can also use the automatically logged-in application to steal personal information. Accordingly, interest in security of a mobile device for protecting personal information is increasing, and various authentication methods such as a password, a pattern, biometric information authentication, and the like are provided by the mobile device itself. .
본 발명은 종래 모바일 장치 및 이를 포함하는 모바일 시스템이 가지는 문제점들을 해결하기 위한 것으로, 본 발명이 이루고자 하는 목적은 애플리케이션 코드의 코드 분리 인증을 통해 인증된 사용자만이 애플리케이션을 실행할 수 있도록 하는 모바일 장치를 제공하는 것이다.The present invention has been made to solve the problems of the conventional mobile device and the mobile system including the same, and it is an object of the present invention to provide a mobile device that enables only an authenticated user to execute an application by code- .
본 발명이 이루고자 하는 다른 목적은 상기 모바일 장치를 포함하는 모바일 시스템을 코드 자가 변환 방법을 제공하는 것이다.It is another object of the present invention to provide a method for code self-conversion of a mobile system including the mobile device.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 모바일 장치는 앱 컨테이너를 포함한다. 상기 앱 컨테이너는 분리 모듈 및 인증 코드 매니저를 포함한다. 상기 분리 모듈은 제1 모드에서 애플리케이션 코드를 수신하여 상기 애플리케이션 코드의 제1 코드를 분리하여 인증 코드를 생성하고, 상기 인증 코드를 외부 기기로 출력한다. 상기 인증 코드 매니저는 제2 모드에서 상기 외부 기기와의 연결 여부를 확인하고 상기 외부 기기와 연결된 경우, 상기 외부 기기로부터 상기 인증 코드를 수신하여 상기 애플리케이션이 실행될 수 있도록 한다. The mobile device according to an embodiment for realizing the object of the present invention includes an app container. The application container includes a separation module and an authentication code manager. The separation module receives the application code in the first mode, separates the first code of the application code to generate the authentication code, and outputs the authentication code to the external device. The authentication code manager confirms whether the external device is connected to the external device in the second mode, and when the external device is connected to the external device, the authentication code manager receives the authentication code from the external device so that the application can be executed.
본 발명의 일 실시예에 있어서, 상기 분리 모듈은 상기 애플리케이션 코드의 상기 제1 코드를 분리할 때, 분리 동작 수행 시마다 랜덤하게 상기 애플리케이션 코드의 상기 제1 코드를 선택할 수 있다. In one embodiment of the present invention, when the separation module separates the first code of the application code, the separation module may randomly select the first code of the application code each time the separation operation is performed.
본 발명의 일 실시예에 있어서, 상기 분리 모듈은 상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 상기 분리된 제1 코드를 식별하기 위한 인터페이스 코드를 추가할 수 있다. In one embodiment of the present invention, the separation module may add an interface code for identifying the separated first code to the remaining portion of the application code from which the first code is separated.
본 발명의 일 실시예에 있어서, 상기 인터페이스 코드는 상기 제1 코드의 해쉬(Hash)를 포함할 수 있다. In one embodiment of the present invention, the interface code may include a hash of the first code.
본 발명의 일 실시예에 있어서, 상기 인터페이스 코드는 상기 인증 코드가 출력된 상기 외부 기기의 기기 정보를 더 포함할 수 있다. In one embodiment of the present invention, the interface code may further include device information of the external device from which the authentication code is output.
본 발명의 일 실시예에 있어서, 상기 분리 모듈은 코드 분리부, 인증 코드 전달부, 파라미터 의존성 해결부, 레지스터 재정렬부 및 코드 삽입부를 포함할 수 있다. 상기 코드 분리부는 상기 애플리케이션 코드의 상기 제1 코드를 분리하여 상기 인증 코드를 생성할 수 있다. 상기 인증 코드 전달부는 상기 인증 코드를 상기 외부 기기에 전달할 수 있다. 상기 파라미터 의존성 해결부는 상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 대해 상기 제1 코드 분리로 인한 파라미터 의존성을 해결할 수 있다. 상기 레지스터 재정렬부는 상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 대해 레지스터를 재정렬할 수 있다. 상기 코드 삽입부는 상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 상기 분리된 상기 제1 코드를 식별하기 위한 상기 인터페이스 코드를 추가할 수 있다.In one embodiment of the present invention, the separation module may include a code separation unit, an authentication code transfer unit, a parameter dependency resolution unit, a register realignment unit, and a code insertion unit. The code separator may separate the first code of the application code to generate the authentication code. The authentication code transfer unit may transmit the authentication code to the external device. The parameter dependency resolution unit may resolve the parameter dependency due to the first code separation for the remaining portion of the application code in which the first code is separated. The register realignment unit may rearrange registers for the remainder of the application code in which the first code is separated. The code inserting unit may add the interface code for identifying the separated first code to the remaining part of the application code from which the first code is separated.
본 발명의 일 실시예에 있어서, 상기 모바일 장치는 상기 애플리케이션 코드 및 상기 제1 코드가 분리되고 상기 인터페이스 코드가 추가된 수정 애플리케이션 코드를 저장하고, 상기 앱 컨테이너의 외부에 배치되는 외부 저장소를 더 포함할 수 있다. In one embodiment of the present invention, the mobile device further includes an external storage disposed outside the application container, the application code storing the modified application code in which the first code is separated and the interface code is added can do.
본 발명의 일 실시예에 있어서, 상기 앱 컨테이너는 상기 수정 애플리케이션 코드의 설치를 위해 재서명을 수행하고, 상기 재서명된 수정 애플리케이션 코드를 설치하는 재설치 모듈을 더 포함할 수 있다. In one embodiment of the present invention, the app container may further comprise a reinstallation module for re-signing for installing the modified application code and installing the re-signed modified application code.
본 발명의 일 실시예에 있어서, 상기 앱 컨테이너는 상기 애플리케이션 코드를 저장하고, 상기 재서명된 수정 애플리케이션 코드가 설치되는 내부 저장소를 더 포함할 수 있다. In one embodiment of the present invention, the app container may store the application code and further include an internal repository where the re-signed modified application code is installed.
본 발명의 일 실시예에 있어서, 상기 제1 모드일 때, 상기 내부 저장소에서 상기 애플리케이션 코드가 상기 외부 저장소에 복사되고, 상기 분리 모듈은 상기 외부 저장소로부터 상기 애플리케이션 코드를 수신하여 상기 애플리케이션 코드의 상기 제1 코드를 분리하여 상기 인증 코드를 생성하며, 상기 분리 모듈은 상기 인증 코드를 상기 외부 기기로 전달하고, 상기 분리 모듈은 상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 상기 분리된 제1 코드를 식별하기 위한 인터페이스 코드를 추가하며, 상기 분리 모듈은 수정 애플리케이션 코드를 상기 외부 저장소에 저장하고, 상기 재설치 모듈은 상기 외부 저장소로부터 상기 수정 애플리케이션 코드를 수신하여 재서명한 후에, 상기 재서명된 수정 애플리케이션을 상기 내부 저장소에 설치할 수 있다. In one embodiment of the present invention, in the first mode, the application code is copied to the external repository in the internal repository, and the separation module receives the application code from the external repository, Wherein the first code separates the first code and generates the authentication code, the separation module transmits the authentication code to the external device, and the separation module separates the first code into the remaining part of the application code, 1 code, wherein the separation module stores the modified application code in the external repository, and the reinstallation module receives and re-signs the modified application code from the external repository, The modified application to the internal storage Can.
본 발명의 일 실시예에 있어서, 상기 제2 모드일 때, 상기 인증 코드 매니저는 상기 외부 기기와의 연결 여부를 확인하고 상기 외부 기기와 연결된 경우, 상기 외부 기기에 외부 인증 코드를 요청하고, 상기 인증 코드 매니저는 상기 외부 기기로부터 수신한 상기 외부 인증 코드를 상기 내부 저장소에 저장하며, 상기 수정 애플리케이션 코드에 의해 수정 애플리케이션이 실행되면, 상기 수정 애플리케이션은 상기 내부 저장소에 저장된 상기 외부 인증 코드가 상기 애플리케이션 코드로부터 분리된 상기 인증 코드와 일치하는 지를 확인하고, 상기 외부 인증 코드가 상기 인증 코드와 일치하면 상기 수정 애플리케이션을 계속하여 실행하고, 상기 외부 인증 코드가 상기 인증 코드와 일치하지 않으면 상기 수정 애플리케이션의 실행을 중단할 수 있다. In one embodiment of the present invention, in the second mode, the authentication code manager checks whether the external device is connected to the external device, and when the external device is connected to the external device, requests the external device for an external authentication code, Wherein the authentication code manager stores the external authentication code received from the external device in the internal storage, and when the modification application is executed by the modification application code, the modification application causes the external authentication code, stored in the internal storage, And if the external authentication code matches the authentication code, continuously executes the modification application, and if the external authentication code does not match the authentication code, The execution can be stopped.
상기한 본 발명의 다른 목적을 실현하기 위한 일 실시예에 따른 모바일 시스템은 모바일 장치 및 외부 기기를 포함한다. 상기 모바일 장치는 앱 컨테이너를 포함한다. 상기 앱 컨테이너는 제1 모드에서 애플리케이션 코드를 수신하여 상기 애플리케이션 코드의 제1 코드를 분리하여 인증 코드를 생성하고, 상기 인증 코드를 외부 기기로 출력하는 분리 모듈 및 제2 모드에서 상기 외부 기기와의 연결 여부를 확인하고 상기 외부 기기와 연결된 경우, 상기 외부 기기로부터 상기 인증 코드를 수신하여 상기 애플리케이션이 실행될 수 있도록 하는 인증 코드 매니저를 포함한다. 상기 외부 기기는 상기 모바일 장치와 통신한다.According to another aspect of the present invention, there is provided a mobile system including a mobile device and an external device. The mobile device includes an app container. Wherein the application container receives an application code in a first mode and separates a first code of the application code to generate an authentication code and outputs the authentication code to an external device, And an authentication code manager for confirming whether or not to connect to the external device and receiving the authentication code from the external device so that the application can be executed. The external device communicates with the mobile device.
본 발명의 일 실시예에 있어서, 상기 분리 모듈은 상기 애플리케이션 코드의 상기 제1 코드를 분리할 때, 분리 동작 수행 시마다 랜덤하게 상기 애플리케이션 코드의 상기 제1 코드를 선택할 수 있다. In one embodiment of the present invention, when the separation module separates the first code of the application code, the separation module may randomly select the first code of the application code each time the separation operation is performed.
본 발명의 일 실시예에 있어서, 상기 분리 모듈은 상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 상기 분리된 제1 코드를 식별하기 위한 인터페이스 코드를 추가할 수 있다. In one embodiment of the present invention, the separation module may add an interface code for identifying the separated first code to the remaining portion of the application code from which the first code is separated.
본 발명의 일 실시예에 있어서, 상기 모바일 장치는 복수의 외부 기기들과 통신할 수 있다. 상기 분리 모듈은 제1 외부 기기에 제1 인증 코드를 출력하고, 상기 제1 외부 기기와 다른 제2 외부 기기에 상기 제1 인증 코드와 다른 제2 인증 코드를 출력할 수 있다. In one embodiment of the present invention, the mobile device can communicate with a plurality of external devices. The separation module may output a first authentication code to the first external device and output a second authentication code different from the first authentication code to a second external device different from the first external device.
이와 같은 모바일 장치 및 이를 포함하는 모바일 시스템에 따르면, 애플리케이션 코드의 일부를 분리하여 외부 장치에 전송하는 코드 분리를 수행하고, 애플리케이션의 실행 시에 분리된 인증 코드를 불러들여 수행하므로, 인증된 사용자만이 해당 애플리케이션을 실행할 수 있다. 따라서, 애플리케이션의 실행 시에 개인 정보를 보호할 수 있다. According to the mobile device and the mobile system including the mobile device, a part of the application code is separated and transmitted to the external device. In this case, the application code is executed while the application is executed. You can run this application. Therefore, personal information can be protected at the time of executing the application.
도 1은 본 발명의 일 실시예에 따른 모바일 시스템을 나타내는 개념도이다.
도 2는 도 1의 모바일 장치의 앱 컨테이너를 나타내는 블록도이다.
도 3은 도 1의 모바일 시스템의 일반 모드에서의 동작을 나타내는 개념도이다.
도 4는 도 3의 분리 모듈의 동작을 나타내는 개념도이다.
도 5는 도 1의 모바일 시스템의 보호 모드에서의 동작을 나타내는 개념도이다. 1 is a conceptual diagram illustrating a mobile system according to an embodiment of the present invention.
Figure 2 is a block diagram illustrating an app container of the mobile device of Figure 1;
3 is a conceptual diagram showing the operation in the normal mode of the mobile system of FIG.
4 is a conceptual diagram showing the operation of the separation module of FIG.
5 is a conceptual diagram illustrating operation in the protected mode of the mobile system of FIG.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.For the embodiments of the invention disclosed herein, specific structural and functional descriptions are set forth for the purpose of describing an embodiment of the invention only, and it is to be understood that the embodiments of the invention may be practiced in various forms, The present invention should not be construed as limited to the embodiments described in Figs.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The present invention is capable of various modifications and various forms, and specific embodiments are illustrated in the drawings and described in detail in the text. It is to be understood, however, that the invention is not intended to be limited to the particular forms disclosed, but on the contrary, is intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms may be used for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprise", "having", and the like are intended to specify the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, , Steps, operations, components, parts, or combinations thereof, as a matter of principle.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be construed as meaning consistent with meaning in the context of the relevant art and are not to be construed as ideal or overly formal in meaning unless expressly defined in the present application .
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.On the other hand, if an embodiment is otherwise feasible, the functions or operations specified in a particular block may occur differently from the order specified in the flowchart. For example, two consecutive blocks may actually be performed at substantially the same time, and depending on the associated function or operation, the blocks may be performed backwards.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. The same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.
도 1은 본 발명의 일 실시예에 따른 모바일 시스템을 나타내는 개념도이다. 1 is a conceptual diagram illustrating a mobile system according to an embodiment of the present invention.
도 1을 참조하면, 모바일 시스템은 모바일 장치(1000) 및 상기 모바일 장치와 통신하는 외부 기기(2000)를 포함한다. Referring to Figure 1, a mobile system includes a
예를 들어, 상기 모바일 장치(1000)는 휴대 전화, 스마트 폰, 노트북 컴퓨터, 태블릿 컴퓨터, 디지털 방송 단말, PDA, PMP, 네비게이션 장치 디지털 카메라, 캠코더, 디지털 TV, 셋-탑 박스, 음악 재생기, 휴대용 게임 콘솔, 스마트 카드, 프린터 중 어느 하나일 수 있다.For example, the
예를 들어, 상기 외부 기기(2000)는 사물 인터넷(Internet of Things, IoT) 장치일 수 있다. 예를 들어, 상기 외부 기기(2000)는 스마트 홈, 스마트 카, 스마트 워치와 같은 사물 인터넷 장치일 수 있다. 예를 들어, 상기 외부 기기(2000)는 사용자의 웨어러블 장치일 수 있다. 예를 들어, 상기 외부 기기(2000)는 스마트 워치, 스마트 밴드, 스마트 카드, 웨어러블 센서 중 어느 하나일 수 있다. For example, the
상기 모바일 장치(1000)는 앱 컨테이너를 포함한다. 상기 앱 컨테이너는 런처 애플리케이션일 수 있다. 상기 앱 컨테이너는 제1 모드 및 제2 모드에서 각각 동작할 수 있다. The
예를 들어, 상기 제1 모드는 일반 모드일 수 있다. 상기 일반 모드에서, 상기 앱 컨테이너는 애플리케이션을 실행시키는 런처로 동작한다. 상기 일반 모드에서, 선택된 애플리케이션에 분리 기능을 적용하는 경우, 상기 앱 컨테이너는 상기 선택된 애플리케이션의 애플리케이션 코드의 일부를 분리하여 인증 코드(AC)를 생성하고, 상기 인증 코드(AC)를 상기 외부 기기(2000)에 전달한다. 도 1에서, 수정 애플리케이션은 상기 애플리케이션 코드에서 상기 인증 코드(AC)가 제외된 애플리케이션을 의미한다. For example, the first mode may be a normal mode. In the normal mode, the application container operates as a launcher for executing an application. The application container separates a part of the application code of the selected application to generate an authentication code AC and transmits the authentication code AC to the external device 2000). In Fig. 1, the modification application means an application in which the authentication code (AC) is excluded from the application code.
예를 들어, 상기 제2 모드는 보호 모드일 수 있다. 상기 보호 모드에서, 상기 앱 컨테이너는 상기 분리된 인증 코드(AC)를 요청할 상기 외부 기기(2000)에 대한 연결을 확인할 수 있다. 상기 보호 모드에서, 상기 분리 기능이 적용된 애플리케이션(수정 애플리케이션)을 실행하는 경우에, 상기 외부 기기(2000)로부터 상기 인증 코드(AC)를 수신하여 상기 애플리케이션이 실행될 수 있도록 한다. For example, the second mode may be a protected mode. In the protected mode, the application container can confirm the connection to the
또한, 상기 분리 기능이 적용된 애플리케이션은 그 실행 코드 중 일부가 제외되어 있으므로, 사용자가 상기 런처 애플리케이션인 상기 앱 컨테이너를 이용하지 않고, 상기 런처 애플리케이션의 외부에서 상기 수정 애플리케이션을 실행하는 경우, 상기 수정 애플리케이션은 동작하지 않을 수 있다. In addition, since the application to which the separation function is applied is partially excluded from the execution code, when the user executes the modification application outside the launcher application without using the application container which is the launcher application, May not operate.
또한, 상기 분리 기능이 적용된 애플리케이션은 그 실행 코드 중 일부가 제외되어 있으므로, 상기 분리된 인증 코드(AC)가 저장된 외부 기기(2000)와 통신할 수 없는 상태에서 상기 수정 애플리케이션을 실행하는 경우, 상기 수정 애플리케이션은 동작하지 않을 수 있다.In the case where the modified application is executed in a state where it can not communicate with the
상기 모바일 장치(1000)는 사용자의 스마트 폰이고, 상기 외부 기기는 상기 사용자의 스마트 워치라고 할 때, 상기 스마트 워치를 착용한 상기 사용자가 자리를 비운 상태에서, 상기 사용자가 아닌 다른 사용자가 상기 모바일 장치(1000)의 수정 애플리케이션을 실행하는 경우, 상기 스마트 워치와의 통신이 불가능하므로, 상기 수정 애플리케이션은 동작하지 않을 수 있다.When the
도 2는 도 1의 모바일 장치의 앱 컨테이너를 나타내는 블록도이다.Figure 2 is a block diagram illustrating an app container of the mobile device of Figure 1;
도 1 및 도 2를 참조하면, 상기 앱 컨테이너는 분리 모듈(100), 재설치 모듈(200) 및 인증 코드 매니저(300)를 포함할 수 있다. 1 and 2, the app container may include a
상기 분리 모듈(100)은 상기 일반 모드에서 애플리케이션 코드를 수신하여 상기 애플리케이션 코드의 제1 코드를 분리하여 인증 코드(AC)를 생성하고, 상기 인증 코드(AC)를 외부 기기(2000)로 출력할 수 있다. The
예를 들어, 상기 애플리케이션 코드의 상기 제1 코드를 분리할 때, 분리 동작 수행 시마다 랜덤하게 상기 애플리케이션 코드의 상기 제1 코드를 선택할 수 있다. 즉, 상기 분리 모듈(100)이 동일한 애플리케이션에 대해 인증 코드를 만들 때, 항상 동일한 방식으로 인증 코드를 만들지 않을 수 있다. 따라서, 제1 사용자의 모바일 장치가 제1 애플리케이션을 사용할 때 만들어 상기 제1 사용자의 웨어러블 장치로 전송한 제1 인증 코드는 제2 사용자의 모바일 장치가 상기 제1 애플리케이션을 사용할 때 만들어 상기 제2 사용자의 웨어러블 장치로 전송한 제2 인증 코드와 다를 수 있다. 따라서, 상기 제2 사용자가 상기 제1 사용자의 모바일 장치를 이용하여 상기 제1 애플리케이션을 실행하려 할 때, 상기 제2 사용자는 상기 제1 인증 코드를 가지고 있지 않으므로, 상기 제1 사용자의 모바일 장치를 이용하여 상기 제1 애플리케이션을 실행할 수 없다.For example, when separating the first code of the application code, the first code of the application code can be selected randomly each time the separation operation is performed. That is, when the
상기 재설치 모듈(200)은 상기 일반 모드에서 수정 애플리케이션 코드의 설치를 위해 재서명을 수행하고, 상기 재서명된 수정 애플리케이션 코드를 설치할 수 있다. The
상기 인증 코드 매니저(300)는 상기 보호 모드에서 상기 외부 기기(2000)와의 연결 여부를 확인하고 상기 외부 기기(2000)와 연결된 경우, 상기 외부 기기(2000)로부터 상기 인증 코드(AC)를 수신하여 상기 애플리케이션이 실행될 수 있도록 할 수 있다. The
도 3은 도 1의 모바일 시스템의 일반 모드에서의 동작을 나타내는 개념도이다. 도 4는 도 3의 분리 모듈의 동작을 나타내는 개념도이다.3 is a conceptual diagram showing the operation in the normal mode of the mobile system of FIG. 4 is a conceptual diagram showing the operation of the separation module of FIG.
도 1 내지 도 4를 참조하면, 상기 앱 컨테이너는 애플리케이션(APP)의 내부 저장소(IM)에 저장된 애플리케이션 코드(APK0)를 외부 저장소(OM)에 저장할 수 있다 (단계 S1). 예를 들어, 상기 애플리케이션 코드(APK0)는 APK 파일일 수 있다. Referring to FIGS. 1 to 4, the application container may store an application code (APK0) stored in an internal storage (IM) of an application (APP) in an external storage (OM) (step S1). For example, the application code APK0 may be an APK file.
상기 분리 모듈(100)은 상기 외부 저장소(OM)로부터 상기 애플리케이션 코드(APK0)를 수신할 수 있다 (단계 S2). 상기 분리 모듈(100)은 상기 수신된 애플리케이션 코드(APK0)의 제1 코드를 분리하여 제1 인증 코드(AC1)를 생성할 수 있다. 상기 분리 모듈(100)은 상기 제1 인증 코드(AC1)를 제1 외부 기기(2000A)에 출력할 수 있다 (단계 S3). The
이와 같은 방식으로, 상기 분리 모듈(100)은 상기 수신된 애플리케이션 코드의 제2 코드를 분리하여 제2 인증 코드(AC2)를 생성할 수 있다. 상기 분리 모듈(100)은 상기 제2 인증 코드(AC2)를 제2 외부 기기(2000B)에 출력할 수 있다. In this manner, the
상기 분리 모듈(100)은 상기 모바일 장치와 통신 가능한 외부 기기가 여러 개 있을 때, 상기 복수의 외부 기기(2000A, 2000B) 중 하나를 선택하여 인증 코드를 전송할 수 있다. 이와는 달리, 상기 분리 모듈(100)은 상기 모바일 장치와 통신 가능한 외부 기기가 여러 개 있을 때, 상기 복수의 외부 기기(2000A, 2000B) 모두에 각각 인증 코드를 전송할 수 있다.When the
상기 분리 모듈(100)은 상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 상기 분리된 제1 코드를 식별하기 위한 인터페이스 코드를 추가할 수 있다. 상기 분리 모듈(100)은 상기 제1 코드가 분리되고 상기 인터페이스 코드가 추가된 수정 애플리케이션 코드(APK1)를 상기 외부 저장소(OM)에 저장할 수 있다 (단계 S4). The
상기 재설치 모듈(200)은 상기 수정 애플리케이션 코드(APK1)를 수신할 수 있다 (단계 S5). 상기 재설치 모듈(200)은 상기 수정 애플리케이션 코드(APK1)를 재서명할 수 있다. 상기 애플리케이션 코드(APK0)가 수정되면 기존 서명값이 더 이상 유효하지 않기 때문에, 상기 재설치 모듈(200)은 상기 수정 애플리케이션 코드(APK1)에 대해 재서명을 수행할 수 있다. 상기 재설치 모듈(200)은 상기 재서명된 수정 애플리케이션 코드(APK1)를 상기 애플리케이션(APP)의 상기 내부 저장소(IM)에 재설치할 수 있다 (단계 S6). The
상기 분리 모듈(100)은 코드 분리부(110), 인증 코드 전달부(120), 파라미터 의존성 해결부(130), 레지스터 재정렬부(140) 및 인터페이스 코드 삽입부(150)를 포함할 수 있다. The
상기 코드 분리부(110)는 상기 애플리케이션 코드(APK0)의 상기 제1 코드를 분리하여 상기 인증 코드(AC1)를 생성한다. 예를 들어, 상기 애플리케이션 코드(APK0)는 APK 파일 형식일 수 있다. 상기 애플리케이션 코드(APK0)는 애셋 영역(AS), 리소스 영역(RS) 및 실행 코드 영역(OC)을 포함할 수 있다. 상기 실행 코드 영역은 DEX 파일 형식일 수 있다. 예를 들어, 상기 코드 분리부(110)는 상기 DEX 파일의 일부를 분리하여 상기 인증 코드(AC1)를 생성할 수 있다. 상기 인증 코드(AC1)가 분리된 상기 애플리케이션 코드(APK0)는 정상적으로 실행되지 않을 수 있다. The
상기 인증 코드 전달부(120)는 상기 인증 코드(AC1)를 상기 외부 기기(2000A)에 전달할 수 있다. 상기 모바일 장치(1000)와 통신하는 외부 기기가 복수 개인 경우, 상기 인증 코드 전달부(120)는 상기 인증 코드(AC1)를 상기 외부 기기들 중 하나에 선택적으로 전달할 수 있다. 이와는 달리, 상기 인증 코드 전달부(120)는 상기 인증 코드(AC1)를 상기 외부 기기들에 중복적으로 전달할 수 있다. 이와는 달리, 상기 코드 분리부(110)는 상기 복수의 외부 기기들에 해당하는 별도의 상기 인증 코드들을 생성하고, 상기 인증 코드 전달부(120)는 상기 복수의 인증 코드들을 상기 외부 기기들에 각각 전달할 수 있다. The authentication
상기 애플리케이션 코드(APK0)로부터 상기 제1 코드가 분리되게 되면 상기 애플리케이션 코드(APK0)의 파라미터 간의 관계에 변화가 발생하는 경우가 있다. 상기 파라미터 의존성 해결부(130)는 상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 대해 상기 제1 코드 분리로 인한 파라미터 의존성을 해결할 수 있다. When the first code is separated from the application code APK0, a change may occur in the relationship between the parameters of the application code APK0. The parameter
상기 레지스터 재정렬부(140)는 상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 대해 레지스터를 재정렬할 수 있다. The
상기 인터페이스 코드 삽입부(150)는 상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 상기 분리된 상기 제1 코드를 식별하기 위한 상기 인터페이스 코드를 추가할 수 있다. The interface
상기 인터페이스 코드는 상기 수정 애플리케이션이 실행될 때, 상기 앱 컨테이너로부터 전달 받은 상기 인증 코드(AC1)가 상기 애플리케이션 코드(APK0)로부터 분리된 인증 코드가 맞는지를 확인하는 역할을 할 수 있다. The interface code may be operable to confirm whether the authentication code AC1 received from the application container is an authentication code separated from the application code APK0 when the modification application is executed.
또한, 상기 수정 애플리케이션 코드(APK1)에서는 상기 제1 코드가 분리되어, 종래의 방식으로는 함수의 호출 등이 정상적으로 이루어질 수 없으므로, 상기 수정 애플리케이션은 상기 인터페이스 코드를 이용하여 변경된 호출 방식으로 상기 수정 애플리케이션 코드(APK1) 내에 잔존하는 코드들과 상기 인증 코드(AC1)를 연결해주는 역할을 할 수 있다. Also, since the first code is separated in the modified application code APK1, and the function call can not be normally performed in the conventional method, the modified application can use the interface code to change the modified application And may connect the codes remaining in the code APK1 with the authentication code AC1.
예를 들어, 상기 인터페이스 코드는 상기 제1 코드의 해쉬(Hash)를 포함할 수 있다. 예를 들어, 상기 인터페이스 코드는 상기 인증 코드(AC1)가 출력된 상기 외부 기기(2000)의 기기 정보를 더 포함할 수 있다. For example, the interface code may include a hash of the first code. For example, the interface code may further include device information of the
도 5는 도 1의 모바일 시스템의 보호 모드에서의 동작을 나타내는 개념도이다. 5 is a conceptual diagram illustrating operation in the protected mode of the mobile system of FIG.
도 1 내지 도 5를 참조하면, 상기 인증 코드 매니저(300)는 상기 외부 기기(2000A)와의 연결 여부를 확인할 수 있다. 상기 모바일 장치(1000)가 상기 외부 기기(2000A)와 연결된 경우, 상기 인증 코드 매니저(300)는 상기 외부 기기(2000A)에 외부 인증 코드를 요청할 수 있다 (단계 S7). Referring to FIGS. 1 to 5, the
상기 인증 코드 매니저(300)는 상기 외부 기기(2000A)로부터 상기 외부 인증 코드를 수신할 수 있다 (단계 S8). 상기 인증 코드 매니저(300)는 상기 수신한 외부 인증 코드를 상기 내부 저장소(IM)에 저장할 수 있다. The
상기 수정 애플리케이션 코드(APK1)에 의해 수정 애플리케이션이 실행되면 (단계 S9), 상기 수정 애플리케이션은 상기 내부 저장소(IM)에 저장된 상기 외부 인증 코드가 상기 애플리케이션 코드(APK0)로부터 분리된 상기 인증 코드(AC1)와 일치하는 지를 확인하고, 상기 외부 인증 코드가 상기 인증 코드(AC1)와 일치하면 상기 수정 애플리케이션을 계속하여 실행하고, 상기 외부 인증 코드가 상기 인증 코드(AC1)와 일치하지 않으면 상기 수정 애플리케이션의 실행을 중단하게 된다 (단계 S10). When the modification application is executed by the modification application code APK1 (step S9), the modification application causes the external authentication code stored in the internal storage IM to be transferred to the application code APK0 separated from the application code APK0 And if the external authentication code does not coincide with the authentication code AC1, executes the modification application continuously, and if the external authentication code does not match the authentication code AC1, Execution is stopped (step S10).
본 실시예에 따르면, 상기 모바일 장치(1000)는 애플리케이션 코드(APK0)의 일부를 분리하여 외부 장치(2000)에 전송하는 코드 분리를 수행하고, 애플리케이션의 실행 시에 분리된 인증 코드(AC1)를 불러들여 수행하므로, 인증된 사용자만이 해당 애플리케이션을 실행할 수 있다. 따라서, 애플리케이션의 실행 시에 개인 정보를 보호할 수 있다.According to the present embodiment, the
본 발명은 애플리케이션의 실행 시에 개인 정보를 보호가 필요한 전자 장치에 적용될 수 있다. 상기 전자 장치는 휴대 전화, 스마트 폰, 노트북 컴퓨터, 태블릿 컴퓨터, 디지털 방송 단말, PDA, PMP, 네비게이션 장치 디지털 카메라, 캠코더, 디지털 TV, 셋-탑 박스, 음악 재생기, 휴대용 게임 콘솔, 스마트 카드, 프린터 등을 포함할 수 있다. The present invention can be applied to an electronic apparatus that requires protection of personal information at the time of execution of an application. The electronic device may be a mobile phone, a smart phone, a notebook computer, a tablet computer, a digital broadcasting terminal, a PDA, a PMP, a navigation device digital camera, a camcorder, a digital TV, a set- And the like.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims. It will be understood.
100: 분리 모듈 110: 코드 분리부
120: 인증 코드 전달부 130: 파라미터 의존성 해결부
140: 레지스터 재정렬부 150: 인터페이스 코드 삽입부
200: 재설치 모듈 300: 인증 코드 매니저
1000: 모바일 장치 2000, 2000A, 2000B: 외부 기기100: separation module 110:
120: Authentication Code Transmitting Unit 130: Parameter Dependency Resolution Unit
140: register realignment unit 150: interface code insertion unit
200: reinstallation module 300: authentication code manager
1000:
Claims (15)
제2 모드에서 상기 외부 기기와의 연결 여부를 확인하고 상기 외부 기기와 연결된 경우, 상기 외부 기기로부터 상기 인증 코드를 수신하여 상기 애플리케이션이 실행될 수 있도록 하는 인증 코드 매니저를 포함하고,
상기 분리 모듈은
상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 상기 분리된 제1 코드를 식별하기 위한 인터페이스 코드를 추가하며,
상기 분리 모듈은
상기 애플리케이션 코드의 상기 제1 코드를 분리하여 상기 인증 코드를 생성하는 코드 분리부;
상기 인증 코드를 상기 외부 기기에 전달하는 인증 코드 전달부;
상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 대해 상기 제1 코드 분리로 인한 파라미터 의존성을 해결하는 파라미터 의존성 해결부;
상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 대해 레지스터를 재정렬하는 레지스터 재정렬부; 및
상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 상기 분리된 상기 제1 코드를 식별하기 위한 상기 인터페이스 코드를 추가하는 인터페이스 코드 삽입부를 포함하는 것을 특징으로 하는 앱 컨테이너를 포함하는 모바일 장치.A separation module for receiving an application code in a first mode, separating a first code of the application code to generate an authentication code, and outputting the authentication code to an external device; And
And an authentication code manager for confirming whether or not the external device is connected in the second mode and receiving the authentication code from the external device when the external device is connected to allow the application to be executed,
The separation module
Adding an interface code for identifying the separated first code to the remaining portion of the application code from which the first code is separated,
The separation module
A code separator for separating the first code of the application code and generating the verification code;
An authentication code delivery unit for delivering the authentication code to the external device;
A parameter dependency resolving unit for solving the parameter dependence due to the first code division on the remaining part of the application code from which the first code is separated;
A register realignment unit to reorder registers for the remainder of the application code in which the first code is separated; And
And an interface code inserting unit for adding the interface code for identifying the separated first code to the remaining part of the application code from which the first code is separated.
상기 애플리케이션 코드의 상기 제1 코드를 분리할 때, 분리 동작 수행 시마다 랜덤하게 상기 애플리케이션 코드의 상기 제1 코드를 선택하는 것을 특징으로 하는 모바일 장치.2. The apparatus of claim 1,
When said first code of said application code is separated, said first code of said application code is selected at random each time a detach operation is performed.
상기 제1 코드의 해쉬(Hash)를 포함하는 것을 특징으로 하는 모바일 장치.The method of claim 1, wherein the interface code
And a hash of the first code.
상기 인증 코드가 출력된 상기 외부 기기의 기기 정보를 더 포함하는 것을 특징으로 하는 모바일 장치.5. The method of claim 4, wherein the interface code
Further comprising device information of the external device to which the authentication code is output.
상기 수정 애플리케이션 코드의 설치를 위해 재서명을 수행하고, 상기 재서명된 수정 애플리케이션 코드를 설치하는 재설치 모듈을 더 포함하는 것을 특징으로 하는 모바일 장치.The method of claim 7, wherein the app container
Further comprising a reinstallation module for performing a re-signature for installation of the modified application code and installing the re-signed modified application code.
상기 애플리케이션 코드를 저장하고, 상기 재서명된 수정 애플리케이션 코드가 설치되는 내부 저장소를 더 포함하는 것을 특징으로 하는 모바일 장치.The method of claim 8, wherein the app container
Further comprising an internal repository for storing the application code and wherein the re-signed modified application code is installed.
상기 내부 저장소에서 상기 애플리케이션 코드가 상기 외부 저장소에 복사되고,
상기 분리 모듈은 상기 외부 저장소로부터 상기 애플리케이션 코드를 수신하여 상기 애플리케이션 코드의 상기 제1 코드를 분리하여 상기 인증 코드를 생성하며,
상기 분리 모듈은 상기 인증 코드를 상기 외부 기기로 전달하고,
상기 분리 모듈은 상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 상기 분리된 제1 코드를 식별하기 위한 인터페이스 코드를 추가하며,
상기 분리 모듈은 수정 애플리케이션 코드를 상기 외부 저장소에 저장하고,
상기 재설치 모듈은 상기 외부 저장소로부터 상기 수정 애플리케이션 코드를 수신하여 재서명한 후에, 상기 재서명된 수정 애플리케이션을 상기 내부 저장소에 설치하는 것을 특징으로 하는 모바일 장치.10. The method of claim 9, wherein, in the first mode,
The application code is copied from the internal repository to the external repository,
Wherein the separation module receives the application code from the external repository and separates the first code of the application code to generate the authentication code,
The separation module transmits the authentication code to the external device,
The separation module adds an interface code for identifying the separated first code to the remaining part of the application code from which the first code is separated,
Wherein the separation module stores the modified application code in the external storage,
Wherein the reinstall module receives and re-signs the modified application code from the external repository and then installs the re-signed modified application into the internal repository.
상기 인증 코드 매니저는 상기 외부 기기와의 연결 여부를 확인하고 상기 외부 기기와 연결된 경우, 상기 외부 기기에 외부 인증 코드를 요청하고,
상기 인증 코드 매니저는 상기 외부 기기로부터 수신한 상기 외부 인증 코드를 상기 내부 저장소에 저장하며,
상기 수정 애플리케이션 코드에 의해 수정 애플리케이션이 실행되면, 상기 수정 애플리케이션은 상기 내부 저장소에 저장된 상기 외부 인증 코드가 상기 애플리케이션 코드로부터 분리된 상기 인증 코드와 일치하는 지를 확인하고, 상기 외부 인증 코드가 상기 인증 코드와 일치하면 상기 수정 애플리케이션을 계속하여 실행하고, 상기 외부 인증 코드가 상기 인증 코드와 일치하지 않으면 상기 수정 애플리케이션의 실행을 중단하는 것을 특징으로 하는 모바일 장치.11. The method of claim 10, wherein, in the second mode,
Wherein the authentication code manager confirms whether the external device is connected to the external device, and when the external device is connected to the external device, requests the external device for an external authentication code,
Wherein the authentication code manager stores the external authentication code received from the external device in the internal storage,
Wherein when the modified application is executed by the modified application code, the modified application verifies whether the external authentication code stored in the internal storage matches the authentication code separated from the application code, And if the external authentication code does not match the authentication code, aborts the execution of the modification application.
상기 모바일 장치와 통신하는 상기 외부 기기를 포함하고,
상기 분리 모듈은
상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 상기 분리된 제1 코드를 식별하기 위한 인터페이스 코드를 추가하며,
상기 분리 모듈은
상기 애플리케이션 코드의 상기 제1 코드를 분리하여 상기 인증 코드를 생성하는 코드 분리부;
상기 인증 코드를 상기 외부 기기에 전달하는 인증 코드 전달부;
상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 대해 상기 제1 코드 분리로 인한 파라미터 의존성을 해결하는 파라미터 의존성 해결부;
상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 대해 레지스터를 재정렬하는 레지스터 재정렬부; 및
상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 상기 분리된 상기 제1 코드를 식별하기 위한 상기 인터페이스 코드를 추가하는 인터페이스 코드 삽입부를 포함하는 것을 특징으로 하는 모바일 시스템.A separation module for receiving an application code in a first mode and separating a first code of the application code to generate an authentication code, and outputting the authentication code to an external device; And an authentication code manager for receiving the authentication code from the external device and allowing the application to be executed when the external device is connected to the external device. And
The external device communicating with the mobile device,
The separation module
Adding an interface code for identifying the separated first code to a remaining portion of the application code from which the first code is separated,
The separation module
A code separator for separating the first code of the application code and generating the verification code;
An authentication code delivery unit for delivering the authentication code to the external device;
A parameter dependency resolving unit for solving the parameter dependence due to the first code division on the remaining part of the application code from which the first code is separated;
A register realignment unit to reorder registers for the remainder of the application code in which the first code is separated; And
And an interface code inserting unit that adds the interface code for identifying the separated first code to the remaining part of the application code from which the first code is separated.
상기 애플리케이션 코드의 상기 제1 코드를 분리할 때, 분리 동작 수행 시마다 랜덤하게 상기 애플리케이션 코드의 상기 제1 코드를 선택하는 것을 특징으로 하는 모바일 시스템.13. The apparatus of claim 12, wherein the separation module
And when said first code of said application code is separated, said first code of said application code is selected at random each time a detach operation is performed.
상기 분리 모듈은 제1 외부 기기에 제1 인증 코드를 출력하고, 상기 제1 외부 기기와 다른 제2 외부 기기에 상기 제1 인증 코드와 다른 제2 인증 코드를 출력하는 것을 특징으로 하는 모바일 시스템.13. The mobile device of claim 12, wherein the mobile device communicates with a plurality of external devices,
Wherein the separation module outputs a first authentication code to a first external device and outputs a second authentication code different from the first authentication code to a second external device different from the first external device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170028049A KR101825402B1 (en) | 2017-03-06 | 2017-03-06 | Mobile apparatus operating code splitting authorization of application code and mobile system having the mobile apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170028049A KR101825402B1 (en) | 2017-03-06 | 2017-03-06 | Mobile apparatus operating code splitting authorization of application code and mobile system having the mobile apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101825402B1 true KR101825402B1 (en) | 2018-02-06 |
Family
ID=61227979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170028049A KR101825402B1 (en) | 2017-03-06 | 2017-03-06 | Mobile apparatus operating code splitting authorization of application code and mobile system having the mobile apparatus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101825402B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101415786B1 (en) | 2013-01-18 | 2014-08-06 | 건국대학교 산학협력단 | A Hybrid Design system and method of Online Execution Class and Encryption-based Copyright Protection for Android Apps |
KR101436536B1 (en) | 2013-06-19 | 2014-09-01 | 숭실대학교산학협력단 | File server, file transfer method thereof and file tamperproof system |
KR101580425B1 (en) * | 2014-11-26 | 2015-12-28 | 숭실대학교산학협력단 | User Terminal for Interworking with the Peripherals and Method for Preventing Corporate Information Leakage Using the same |
KR101642267B1 (en) | 2014-11-28 | 2016-08-01 | 주식회사 티모넷 | System for preventing forgery of application and method therefor |
-
2017
- 2017-03-06 KR KR1020170028049A patent/KR101825402B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101415786B1 (en) | 2013-01-18 | 2014-08-06 | 건국대학교 산학협력단 | A Hybrid Design system and method of Online Execution Class and Encryption-based Copyright Protection for Android Apps |
KR101436536B1 (en) | 2013-06-19 | 2014-09-01 | 숭실대학교산학협력단 | File server, file transfer method thereof and file tamperproof system |
KR101580425B1 (en) * | 2014-11-26 | 2015-12-28 | 숭실대학교산학협력단 | User Terminal for Interworking with the Peripherals and Method for Preventing Corporate Information Leakage Using the same |
KR101642267B1 (en) | 2014-11-28 | 2016-08-01 | 주식회사 티모넷 | System for preventing forgery of application and method therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074449B (en) | Flexibly provisioning attestation keys in secure enclaves | |
US9935773B2 (en) | Trusted platform module certification and attestation utilizing an anonymous key system | |
US9386045B2 (en) | Device communication based on device trustworthiness | |
EP3720046A1 (en) | Key-attestation-contingent certificate issuance | |
US20110145592A1 (en) | Virtual Token for Transparently Self-Installing Security Environment | |
KR102218572B1 (en) | Processing method for preventing replication attacks, and server and client | |
US20150302201A1 (en) | Device and method for processing transaction request in processing environment of trust zone | |
WO2019125766A1 (en) | Device attestation server and method for attesting to the integrity of a mobile device | |
CN111800273B (en) | Information processing method, electronic device, and storage medium | |
EP3336734B1 (en) | Fingerprint information secure call method, apparatus, and mobile terminal | |
US9843451B2 (en) | Apparatus and method for multi-state code signing | |
CN102685122B (en) | The method of the software protection based on cloud server | |
CN108777691B (en) | Network security protection method and device | |
US9323911B1 (en) | Verifying requests to remove applications from a device | |
US20190166123A1 (en) | User terminal using cloud service, integrated security management server for user terminal, and integrated security management method for user terminal | |
US20170201528A1 (en) | Method for providing trusted service based on secure area and apparatus using the same | |
KR101834808B1 (en) | Apparatus and method for protecting file from encryption | |
CN102156826A (en) | Provider management method and system | |
EP3298529B1 (en) | Electronic device and method in an electronic device | |
KR101825402B1 (en) | Mobile apparatus operating code splitting authorization of application code and mobile system having the mobile apparatus | |
EP2884786B1 (en) | Restricting software to authorized wireless environments | |
JP6343928B2 (en) | Portable terminal, authentication system, authentication method, and authentication program | |
CA2746062C (en) | Method for authenticating device capabilities to a verified third party | |
US9571272B2 (en) | Image forming apparatus, information processing method, and control method | |
CN105825116A (en) | Methods for managing content, and secure element |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant | ||
R401 | Registration of restoration |