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 PDF

Info

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
Application number
KR1020170028049A
Other languages
Korean (ko)
Inventor
이정현
김성태
박태용
박성은
Original Assignee
올댓소프트 코.
숭실대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 올댓소프트 코., 숭실대학교 산학협력단 filed Critical 올댓소프트 코.
Priority to KR1020170028049A priority Critical patent/KR101825402B1/en
Application granted granted Critical
Publication of KR101825402B1 publication Critical patent/KR101825402B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/42User authentication using separate channels for security data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting 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

A mobile device includes an application container. The application container includes a splitting module and an authentication code manager. The splitting module receives an application code in a first mode, separates the first code of the application code to generate an authentication code, and outputs the authentication code to an external device. The authentication code manager checks the connection with the external device in a second mode, and receives the authentication code from the external device to execute the application when the connection with the external device is done. The mobile device enables only an authenticated user to run an application with code splitting authentication.

Description

애플리케이션 코드의 코드 분리 인증을 수행하는 모바일 장치 및 이를 포함하는 모바일 시스템 {MOBILE APPARATUS OPERATING CODE SPLITTING AUTHORIZATION OF APPLICATION CODE AND MOBILE SYSTEM HAVING THE MOBILE APPARATUS}TECHNICAL FIELD [0001] The present invention relates to a mobile device that performs code separation authentication of an application code, and a mobile system including the mobile device. [0002]

본 발명은 애플리케이션 코드의 코드 분리 인증을 수행하는 모바일 장치 및 이를 포함하는 모바일 시스템에 관한 것으로, 보다 구체적으로 코드 분리 인증을 통해 개인 정보를 보호할 수 있는 모바일 장치 및 이를 포함하는 모바일 시스템에 관한 것이다.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 mobile device 1000 and an external device 2000 in communication with the mobile device.

예를 들어, 상기 모바일 장치(1000)는 휴대 전화, 스마트 폰, 노트북 컴퓨터, 태블릿 컴퓨터, 디지털 방송 단말, PDA, PMP, 네비게이션 장치 디지털 카메라, 캠코더, 디지털 TV, 셋-탑 박스, 음악 재생기, 휴대용 게임 콘솔, 스마트 카드, 프린터 중 어느 하나일 수 있다.For example, the mobile device 1000 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 game console, a smart card, or a printer.

예를 들어, 상기 외부 기기(2000)는 사물 인터넷(Internet of Things, IoT) 장치일 수 있다. 예를 들어, 상기 외부 기기(2000)는 스마트 홈, 스마트 카, 스마트 워치와 같은 사물 인터넷 장치일 수 있다. 예를 들어, 상기 외부 기기(2000)는 사용자의 웨어러블 장치일 수 있다. 예를 들어, 상기 외부 기기(2000)는 스마트 워치, 스마트 밴드, 스마트 카드, 웨어러블 센서 중 어느 하나일 수 있다. For example, the external device 2000 may be an Internet of Things (IOT) device. For example, the external device 2000 may be an object Internet device such as a smart home, a smart car, or a smart watch. For example, the external device 2000 may be a wearable device of a user. For example, the external device 2000 may be any one of a smart watch, a smart band, a smart card, and a wearable sensor.

상기 모바일 장치(1000)는 앱 컨테이너를 포함한다. 상기 앱 컨테이너는 런처 애플리케이션일 수 있다. 상기 앱 컨테이너는 제1 모드 및 제2 모드에서 각각 동작할 수 있다. The mobile device 1000 includes an app container. The app container may be a launcher application. The app container may operate in a first mode and a second mode, respectively.

예를 들어, 상기 제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 external device 2000 requesting the separated authentication code (AC). In the protection mode, when executing the application (modification application) to which the separation function is applied, the authentication code (AC) is received from the external device (2000) so that the application can be executed.

또한, 상기 분리 기능이 적용된 애플리케이션은 그 실행 코드 중 일부가 제외되어 있으므로, 사용자가 상기 런처 애플리케이션인 상기 앱 컨테이너를 이용하지 않고, 상기 런처 애플리케이션의 외부에서 상기 수정 애플리케이션을 실행하는 경우, 상기 수정 애플리케이션은 동작하지 않을 수 있다. 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 external device 2000 in which the separated authentication code AC is stored, Modification applications may not work.

상기 모바일 장치(1000)는 사용자의 스마트 폰이고, 상기 외부 기기는 상기 사용자의 스마트 워치라고 할 때, 상기 스마트 워치를 착용한 상기 사용자가 자리를 비운 상태에서, 상기 사용자가 아닌 다른 사용자가 상기 모바일 장치(1000)의 수정 애플리케이션을 실행하는 경우, 상기 스마트 워치와의 통신이 불가능하므로, 상기 수정 애플리케이션은 동작하지 않을 수 있다.When the mobile device 1000 is a smartphone of a user, and the external device is a smart watch of the user, when the user wearing the smart watch is left unattended, When executing the modification application of the device 1000, the modification application may not operate because communication with the smart watch is not possible.

도 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 separation module 100, a reinstallation module 200, and an authentication code manager 300.

상기 분리 모듈(100)은 상기 일반 모드에서 애플리케이션 코드를 수신하여 상기 애플리케이션 코드의 제1 코드를 분리하여 인증 코드(AC)를 생성하고, 상기 인증 코드(AC)를 외부 기기(2000)로 출력할 수 있다. The separation module 100 receives the application code in the normal mode, separates the first code of the application code to generate an authentication code AC, and outputs the authentication code AC to the external device 2000 .

예를 들어, 상기 애플리케이션 코드의 상기 제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 separation module 100 creates an authentication code for the same application, it may not always generate an authentication code in the same manner. Thus, the first authentication code that the first user's mobile device makes when using the first application and transmits to the wearable device of the first user is created when the mobile device of the second user uses the first application, And the second authentication code transmitted to the wearable device of FIG. Therefore, when the second user attempts to execute the first application using the mobile device of the first user, the second user does not have the first authentication code, so the mobile device of the first user The first application can not be executed.

상기 재설치 모듈(200)은 상기 일반 모드에서 수정 애플리케이션 코드의 설치를 위해 재서명을 수행하고, 상기 재서명된 수정 애플리케이션 코드를 설치할 수 있다. The reinstall module 200 may perform a re-signature for installation of the modified application code in the normal mode and install the re-signed modified application code.

상기 인증 코드 매니저(300)는 상기 보호 모드에서 상기 외부 기기(2000)와의 연결 여부를 확인하고 상기 외부 기기(2000)와 연결된 경우, 상기 외부 기기(2000)로부터 상기 인증 코드(AC)를 수신하여 상기 애플리케이션이 실행될 수 있도록 할 수 있다. The authentication code manager 300 confirms whether the external device 2000 is connected to the external device 2000 in the protection mode and receives the authentication code AC from the external device 2000 when the external device 2000 is connected to the external device 2000 So that the application can be executed.

도 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 separation module 100 may receive the application code APK0 from the external storage OM (step S2). The separation module 100 may separate the first code of the received application code APK0 to generate a first authentication code AC1. The separation module 100 may output the first authentication code AC1 to the first external device 2000A (step S3).

이와 같은 방식으로, 상기 분리 모듈(100)은 상기 수신된 애플리케이션 코드의 제2 코드를 분리하여 제2 인증 코드(AC2)를 생성할 수 있다. 상기 분리 모듈(100)은 상기 제2 인증 코드(AC2)를 제2 외부 기기(2000B)에 출력할 수 있다. In this manner, the separation module 100 may separate the second code of the received application code to generate a second authentication code AC2. The separation module 100 may output the second authentication code AC2 to the second external device 2000B.

상기 분리 모듈(100)은 상기 모바일 장치와 통신 가능한 외부 기기가 여러 개 있을 때, 상기 복수의 외부 기기(2000A, 2000B) 중 하나를 선택하여 인증 코드를 전송할 수 있다. 이와는 달리, 상기 분리 모듈(100)은 상기 모바일 장치와 통신 가능한 외부 기기가 여러 개 있을 때, 상기 복수의 외부 기기(2000A, 2000B) 모두에 각각 인증 코드를 전송할 수 있다.When the separation module 100 has a plurality of external devices capable of communicating with the mobile device, the separation module 100 may select one of the plurality of external devices 2000A and 2000B and transmit the authentication code. Alternatively, when the separation module 100 has a plurality of external devices capable of communicating with the mobile device, the separation module 100 may transmit authentication codes to all of the plurality of external devices 2000A and 2000B.

상기 분리 모듈(100)은 상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 상기 분리된 제1 코드를 식별하기 위한 인터페이스 코드를 추가할 수 있다. 상기 분리 모듈(100)은 상기 제1 코드가 분리되고 상기 인터페이스 코드가 추가된 수정 애플리케이션 코드(APK1)를 상기 외부 저장소(OM)에 저장할 수 있다 (단계 S4). The separation module 100 may add an interface code for identifying the separated first code to the remaining part of the application code from which the first code is separated. The separation module 100 may store the modified application code APK1 in which the first code is separated and the interface code is added to the external storage OM (step S4).

상기 재설치 모듈(200)은 상기 수정 애플리케이션 코드(APK1)를 수신할 수 있다 (단계 S5). 상기 재설치 모듈(200)은 상기 수정 애플리케이션 코드(APK1)를 재서명할 수 있다. 상기 애플리케이션 코드(APK0)가 수정되면 기존 서명값이 더 이상 유효하지 않기 때문에, 상기 재설치 모듈(200)은 상기 수정 애플리케이션 코드(APK1)에 대해 재서명을 수행할 수 있다. 상기 재설치 모듈(200)은 상기 재서명된 수정 애플리케이션 코드(APK1)를 상기 애플리케이션(APP)의 상기 내부 저장소(IM)에 재설치할 수 있다 (단계 S6). The reinstallation module 200 may receive the modified application code APK1 (step S5). The reinstall module 200 may re-sign the modified application code APK1. Since the existing signature value is no longer valid when the application code APK0 is modified, the reinstallation module 200 can re-sign the modified application code APK1. The reinstall module 200 may re-install the re-signed modified application code APK1 into the internal storage IM of the application APP (step S6).

상기 분리 모듈(100)은 코드 분리부(110), 인증 코드 전달부(120), 파라미터 의존성 해결부(130), 레지스터 재정렬부(140) 및 인터페이스 코드 삽입부(150)를 포함할 수 있다. The separation module 100 may include a code separation unit 110, an authentication code transfer unit 120, a parameter dependency resolution unit 130, a register realignment unit 140, and an interface code insertion unit 150.

상기 코드 분리부(110)는 상기 애플리케이션 코드(APK0)의 상기 제1 코드를 분리하여 상기 인증 코드(AC1)를 생성한다. 예를 들어, 상기 애플리케이션 코드(APK0)는 APK 파일 형식일 수 있다. 상기 애플리케이션 코드(APK0)는 애셋 영역(AS), 리소스 영역(RS) 및 실행 코드 영역(OC)을 포함할 수 있다. 상기 실행 코드 영역은 DEX 파일 형식일 수 있다. 예를 들어, 상기 코드 분리부(110)는 상기 DEX 파일의 일부를 분리하여 상기 인증 코드(AC1)를 생성할 수 있다. 상기 인증 코드(AC1)가 분리된 상기 애플리케이션 코드(APK0)는 정상적으로 실행되지 않을 수 있다. The code separator 110 separates the first code of the application code APK0 to generate the authentication code AC1. For example, the application code APK0 may be in the APK file format. The application code APK0 may include an asset region AS, a resource region RS, and an execution code region OC. The execution code area may be in the DEX file format. For example, the code separator 110 may separate the part of the DEX file to generate the authentication code AC1. The application code APK0 in which the authentication code AC1 is separated may not be normally executed.

상기 인증 코드 전달부(120)는 상기 인증 코드(AC1)를 상기 외부 기기(2000A)에 전달할 수 있다. 상기 모바일 장치(1000)와 통신하는 외부 기기가 복수 개인 경우, 상기 인증 코드 전달부(120)는 상기 인증 코드(AC1)를 상기 외부 기기들 중 하나에 선택적으로 전달할 수 있다. 이와는 달리, 상기 인증 코드 전달부(120)는 상기 인증 코드(AC1)를 상기 외부 기기들에 중복적으로 전달할 수 있다. 이와는 달리, 상기 코드 분리부(110)는 상기 복수의 외부 기기들에 해당하는 별도의 상기 인증 코드들을 생성하고, 상기 인증 코드 전달부(120)는 상기 복수의 인증 코드들을 상기 외부 기기들에 각각 전달할 수 있다. The authentication code forwarding unit 120 may transmit the authentication code AC1 to the external device 2000A. When there are a plurality of external devices communicating with the mobile device 1000, the authentication code forwarding unit 120 may selectively transmit the authentication code AC1 to one of the external devices. Alternatively, the authentication code forwarding unit 120 may transmit the authentication code AC1 to the external devices in a redundant manner. Alternatively, the code separation unit 110 may generate separate authentication codes corresponding to the plurality of external devices, and the authentication code transfer unit 120 may transmit the plurality of authentication codes to the external devices .

상기 애플리케이션 코드(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 dependency resolving unit 130 may resolve the parameter dependency due to the first code separation for the remaining portion of the application code from which the first code is separated.

상기 레지스터 재정렬부(140)는 상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 대해 레지스터를 재정렬할 수 있다. The register realignment unit 140 may rearrange registers for the remaining portion of the application code in which the first code is separated.

상기 인터페이스 코드 삽입부(150)는 상기 제1 코드가 분리된 상기 애플리케이션 코드의 나머지 부분에 상기 분리된 상기 제1 코드를 식별하기 위한 상기 인터페이스 코드를 추가할 수 있다. The interface code inserting unit 150 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.

상기 인터페이스 코드는 상기 수정 애플리케이션이 실행될 때, 상기 앱 컨테이너로부터 전달 받은 상기 인증 코드(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 external device 2000 to which the authentication code AC1 is output.

도 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 authentication code manager 300 can confirm whether or not the authentication code manager 300 is connected to the external device 2000A. When the mobile device 1000 is connected to the external device 2000A, the authentication code manager 300 can request an external authentication code to the external device 2000A (step S7).

상기 인증 코드 매니저(300)는 상기 외부 기기(2000A)로부터 상기 외부 인증 코드를 수신할 수 있다 (단계 S8). 상기 인증 코드 매니저(300)는 상기 수신한 외부 인증 코드를 상기 내부 저장소(IM)에 저장할 수 있다. The authentication code manager 300 can receive the external authentication code from the external device 2000A (step S8). The authentication code manager 300 may store the received external authentication code in the internal storage IM.

상기 수정 애플리케이션 코드(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 mobile device 1000 separates a part of the application code APK0 and performs code separation for transmitting the application code APK0 to the external device 2000, and transmits the separated authentication code AC1 So that only authorized users can run the application. Therefore, personal information can be protected at the time of executing the application.

본 발명은 애플리케이션의 실행 시에 개인 정보를 보호가 필요한 전자 장치에 적용될 수 있다. 상기 전자 장치는 휴대 전화, 스마트 폰, 노트북 컴퓨터, 태블릿 컴퓨터, 디지털 방송 단말, 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: Mobile device 2000, 2000A, 2000B: External device

Claims (15)

제1 모드에서 애플리케이션 코드를 수신하여 상기 애플리케이션 코드의 제1 코드를 분리하여 인증 코드를 생성하고, 상기 인증 코드를 외부 기기로 출력하는 분리 모듈; 및
제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 코드를 분리할 때, 분리 동작 수행 시마다 랜덤하게 상기 애플리케이션 코드의 상기 제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.
삭제delete 제1항에 있어서, 상기 인터페이스 코드는
상기 제1 코드의 해쉬(Hash)를 포함하는 것을 특징으로 하는 모바일 장치.
The method of claim 1, wherein the interface code
And a hash of the first code.
제4항에 있어서, 상기 인터페이스 코드는
상기 인증 코드가 출력된 상기 외부 기기의 기기 정보를 더 포함하는 것을 특징으로 하는 모바일 장치.
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.
삭제delete 제1항에 있어서, 상기 애플리케이션 코드 및 상기 제1 코드가 분리되고 상기 인터페이스 코드가 추가된 수정 애플리케이션 코드를 저장하고, 상기 앱 컨테이너의 외부에 배치되는 외부 저장소를 더 포함하는 것을 특징으로 하는 모바일 장치.2. The mobile device of claim 1, further comprising: an external storage for storing the application code and the modified application code in which the first code is separated and the interface code is added, . 제7항에 있어서, 상기 앱 컨테이너는
상기 수정 애플리케이션 코드의 설치를 위해 재서명을 수행하고, 상기 재서명된 수정 애플리케이션 코드를 설치하는 재설치 모듈을 더 포함하는 것을 특징으로 하는 모바일 장치.
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.
제8항에 있어서, 상기 앱 컨테이너는
상기 애플리케이션 코드를 저장하고, 상기 재서명된 수정 애플리케이션 코드가 설치되는 내부 저장소를 더 포함하는 것을 특징으로 하는 모바일 장치.
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.
제9항에 있어서, 상기 제1 모드일 때,
상기 내부 저장소에서 상기 애플리케이션 코드가 상기 외부 저장소에 복사되고,
상기 분리 모듈은 상기 외부 저장소로부터 상기 애플리케이션 코드를 수신하여 상기 애플리케이션 코드의 상기 제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.
제10항에 있어서, 상기 제2 모드일 때,
상기 인증 코드 매니저는 상기 외부 기기와의 연결 여부를 확인하고 상기 외부 기기와 연결된 경우, 상기 외부 기기에 외부 인증 코드를 요청하고,
상기 인증 코드 매니저는 상기 외부 기기로부터 수신한 상기 외부 인증 코드를 상기 내부 저장소에 저장하며,
상기 수정 애플리케이션 코드에 의해 수정 애플리케이션이 실행되면, 상기 수정 애플리케이션은 상기 내부 저장소에 저장된 상기 외부 인증 코드가 상기 애플리케이션 코드로부터 분리된 상기 인증 코드와 일치하는 지를 확인하고, 상기 외부 인증 코드가 상기 인증 코드와 일치하면 상기 수정 애플리케이션을 계속하여 실행하고, 상기 외부 인증 코드가 상기 인증 코드와 일치하지 않으면 상기 수정 애플리케이션의 실행을 중단하는 것을 특징으로 하는 모바일 장치.
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 코드를 분리하여 인증 코드를 생성하고, 상기 인증 코드를 외부 기기로 출력하는 분리 모듈 및 제2 모드에서 상기 외부 기기와의 연결 여부를 확인하고 상기 외부 기기와 연결된 경우, 상기 외부 기기로부터 상기 인증 코드를 수신하여 상기 애플리케이션이 실행될 수 있도록 하는 인증 코드 매니저를 포함하는 앱 컨테이너를 포함하는 모바일 장치; 및
상기 모바일 장치와 통신하는 상기 외부 기기를 포함하고,
상기 분리 모듈은
상기 제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.
제12항에 있어서, 상기 분리 모듈은
상기 애플리케이션 코드의 상기 제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.
삭제delete 제12항에 있어서, 상기 모바일 장치는 복수의 외부 기기들과 통신하며,
상기 분리 모듈은 제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.
KR1020170028049A 2017-03-06 2017-03-06 Mobile apparatus operating code splitting authorization of application code and mobile system having the mobile apparatus KR101825402B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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