KR102548900B1 - Method and apparatus for installing a trusted application on electronic device - Google Patents

Method and apparatus for installing a trusted application on electronic device Download PDF

Info

Publication number
KR102548900B1
KR102548900B1 KR1020160057812A KR20160057812A KR102548900B1 KR 102548900 B1 KR102548900 B1 KR 102548900B1 KR 1020160057812 A KR1020160057812 A KR 1020160057812A KR 20160057812 A KR20160057812 A KR 20160057812A KR 102548900 B1 KR102548900 B1 KR 102548900B1
Authority
KR
South Korea
Prior art keywords
application
electronic device
trusted
application package
package
Prior art date
Application number
KR1020160057812A
Other languages
Korean (ko)
Other versions
KR20170032824A (en
Inventor
아놀드 야우
한찬규
사다 선크술라
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP16846726.4A priority Critical patent/EP3321802A4/en
Priority to US15/760,457 priority patent/US10379833B2/en
Priority to PCT/KR2016/005388 priority patent/WO2017047904A1/en
Publication of KR20170032824A publication Critical patent/KR20170032824A/en
Application granted granted Critical
Publication of KR102548900B1 publication Critical patent/KR102548900B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

어플리케이션을 설치하기 위한 어플리케이션 패키지를 획득하고, 어플리케이션 패키지가 전자 디바이스에 설치될 수 있는 신뢰된 어플리케이션을 포함하는지 여부를 결정하고, 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는 경우, 신뢰된 어플리케이션을 전자 디바이스에 설치하는 어플리케이션을 전자 디바이스에 설치하는, 어플리케이션을 전자 디바이스에 설치하는 방법이 개시된다.Acquire an application package for installing the application, determine whether the application package includes a trusted application that can be installed on the electronic device, and if the application package includes a trusted application, install the trusted application on the electronic device. Disclosed is a method of installing an application to an electronic device, wherein the application to be installed is installed on the electronic device.

Description

신뢰된 어플리케이션을 전자 디바이스에 설치하는 방법 및 장치 {Method and apparatus for installing a trusted application on electronic device}Method and apparatus for installing a trusted application on electronic device {Method and apparatus for installing a trusted application on electronic device}

본 개시는 신뢰된 어플리케이션(trusted application; TA)을 전자 디바이스에 설치하는 방법 및 장치에 대한 것이다.The present disclosure relates to a method and apparatus for installing a trusted application (TA) in an electronic device.

통상의 모바일 어플리케이션 또는 앱은 모바일 운영체제(OS; operating system)를 기반으로 실행된다. 실행 중인 어플리케이션들은 운영체제의 커널에 의해 서로 고립될 수 있으므로, 어플리케이션의 보안이 어느정도 보장될 수 있다. 그러나, 어플리케이션의 보안은 멀웨어(malware)에 의해 오염될 수 있는 운영체제에 의존적이다. 따라서, 민감하고 개인적인 데이터를 다루는 어플리케이션은 보다 더 높은 보안 레벨을 필요로 한다.A typical mobile application or app is executed based on a mobile operating system (OS). Since running applications can be isolated from each other by the kernel of an operating system, security of applications can be guaranteed to some extent. However, the security of applications is dependent on the operating system being able to be corrupted by malware. Therefore, applications dealing with sensitive and personal data require a higher security level.

신뢰된 어플리케이션은 모바일 뱅킹 어플리케이션과 같이 노멀 OS에서 실행되는 어플리케이션에게 보안 서비스를 제공하는 어플리케이션이다. 어플리케이션은 신뢰된 어플리케이션을 이용함으로써 자신의 보안 수준을 높일 수 있다. A trusted application is an application that provides security services to an application running on a normal OS, such as a mobile banking application. An application can increase its security level by using a trusted application.

신뢰된 어플리케이션은 TSM(Trusted Services Manager)로 불리는 서버 기반의 시스템을 통해 클라이언트 디바이스로 분배되고 관리될 수 있다. 그러나 TSM과 같은 서버 기반의 시스템은 배치하는데 오래 걸리고 설정하는데 고비용이 소요될 수 있으며, 관리하는데 오버헤드가 발생할 수 있다. 따라서, 신뢰된 어플리케이션을 분배하고 관리하는데 더 편리한 메캐니즘이 필요하다.Trusted applications can be distributed and managed to client devices through a server-based system called Trusted Services Manager (TSM). However, server-based systems such as TSM can take a long time to deploy, can be expensive to set up, and can generate overhead to manage. Therefore, a more convenient mechanism for distributing and managing trusted applications is needed.

본 개시는 신뢰된 어플리케이션을 전자 디바이스에 설치하는 방법에 관한 것으로, 자세하게는 기존의 어플리케이션을 분배하고 설치하는 방법을 이용하여 신뢰된 어플리케이션을 전자 디바이스에 설치하는 방법에 관한 것이다.The present disclosure relates to a method of installing a trusted application in an electronic device, and more particularly, to a method of installing a trusted application in an electronic device using a method of distributing and installing an existing application.

일 실시예에 의한 어플리케이션을 전자 디바이스에 설치하는 방법은 상기 어플리케이션을 설치하기 위한 어플리케이션 패키지를 획득하는 단계; 상기 어플리케이션 패키지가 상기 전자 디바이스에 설치될 수 있는 신뢰된 어플리케이션(trusted application)을 포함하는지 여부를 결정하는 단계; 및 상기 어플리케이션 패키지가 상기 신뢰된 어플리케이션을 포함하는 경우, 상기 신뢰된 어플리케이션을 상기 전자 디바이스에 설치하는 단계를 포함한다.A method of installing an application in an electronic device according to an embodiment includes obtaining an application package for installing the application; determining whether the application package includes a trusted application that can be installed on the electronic device; and if the application package includes the trusted application, installing the trusted application to the electronic device.

상기 설치하는 단계는 상기 어플리케이션 패키지가 서로 다른 타입의 보안 영역과 각각 대응되는 복수 개의 신뢰된 어플리케이션을 포함하는 경우, 상기 전자 디바이스의 보안 영역의 타입에 기초하여, 상기 전자 디바이스의 보안 영역에서 설치될 수 있는 신뢰된 어플리케이션을 선택하는 단계; 상기 선택된 신뢰된 어플리케이션을 상기 전자 디바이스의 보안 영역에 설치하는 단계를 포함한다.In the installing step, when the application package includes a plurality of trusted applications corresponding to different types of security areas, they are installed in the security area of the electronic device based on the type of the security area of the electronic device. selecting an available trusted application; and installing the selected trusted application in a secure area of the electronic device.

상기 어플리케이션 패키지가 다른 전자 디바이스에서 설치될 수 있는 신뢰된 어플리케이션을 포함하는지 여부를 결정하는 단계; 및 상기 어플리케이션 패키지가 상기 다른 전자 디바이스에서 설치될 수 있는 신뢰된 어플리케이션을 포함하는 경우, 상기 신뢰된 어플리케이션을 상기 다른 전자 디바이스로 전송하는 단계를 더 포함한다.determining whether the application package contains trusted applications that can be installed on other electronic devices; and when the application package includes a trusted application that can be installed in the other electronic device, transmitting the trusted application to the other electronic device.

상기 어플리케이션 패키지로부터, 상기 다른 전자 디바이스에서 설치될 수 있는 제2 어플리케이션 패키지를 추출하는 단계; 및 상기 추출된 제2 어플리케이션 패키지를 상기 다른 전자 디바이스로 전송하는 단계를 더 포함한다.extracting a second application package that can be installed in the other electronic device from the application package; and transmitting the extracted second application package to the other electronic device.

상기 다른 전자 디바이스는 상기 전자 디바이스와 페어링된 웨어러블 전자 디바이스를 포함한다.The other electronic device includes a wearable electronic device paired with the electronic device.

상기 결정하는 단계는 상기 어플리케이션 패키지에서 상기 신뢰된 어플리케이션 포함 여부를 나타내는 플래그 값을 획득하는 단계; 및 상기 획득된 플래그 값에 기초하여, 상기 어플리케이션 패키지가 상기 전자 디바이스의 보안 영역에서 설치될 수 있는 신뢰된 어플리케이션을 포함하는지 여부를 결정하는 단계를 포함한다.The determining may include obtaining a flag value indicating whether the trusted application is included in the application package; and determining whether the application package includes a trusted application that can be installed in a secure area of the electronic device, based on the obtained flag value.

일 실시예에 의한 어플리케이션이 설치되는 전자 디바이스는 상기 어플리케이션을 설치하기 위한 어플리케이션 패키지를 획득하는 네트워크 인터페이스; 상기 어플리케이션 패키지가 상기 전자 디바이스에서 설치될 수 있는 신뢰된 어플리케이션(trusted application)을 포함하는지 여부를 결정하고, 상기 어플리케이션 패키지가 상기 신뢰된 어플리케이션을 포함하는 경우, 상기 신뢰된 어플리케이션을 상기 전자 디바이스에 설치하는 프로세서를 포함한다.An electronic device in which an application is installed according to an embodiment includes a network interface for obtaining an application package for installing the application; Determine whether the application package includes a trusted application that can be installed in the electronic device, and if the application package includes the trusted application, install the trusted application in the electronic device. It includes a processor that

일 실시 예에 의한 어플리케이션을 전자 디바이스로 분배하는 방법은 상기 전자 디바이스에 설치될 노멀 어플리케이션 및 상기 전자 디바이스에 설치될 신뢰된 어플리케이션을 획득하는 단계; 상기 노멀 어플리케이션 및 상기 신뢰된 어플리케이션을 어플리케이션 패키지로 결합하는 단계; 및 상기 어플리케이션 패키지를 상기 전자 디바이스로 전송하는 단계를 포함한다.A method of distributing an application to an electronic device according to an embodiment includes acquiring a normal application to be installed in the electronic device and a trusted application to be installed in the electronic device; combining the normal application and the trusted application into an application package; and transmitting the application package to the electronic device.

도 1은 일 실시 예에 따라서, 신뢰된 어플리케이션을 분배하는 시스템을 나타낸 블록도이다.
도 2는 일 실시 예에 따라서, 신뢰된 어플리케이션이 설치되는 프로세서의 내부 구조를 나타낸 블록도이다.
도 3 및 도 4는 일 실시 예에 따라서, 신뢰된 어플리케이션을 설치하는 방법을 나타낸 순서도이다.
도 5는 일 실시 예에 따라서, 신뢰된 어플리케이션을 전자 디바이스로 분배하기 위한 장치를 나타낸 블록도이다.
도 6은 일 실시 예에 따라서, 서로 다른 타입의 복수 개의 신뢰된 어플리케이션을 포함하는 어플리케이션 패키지를 나타낸 블록도이다.
도 7은 일 실시 예에 따라서, 페어링된 전자 디바이스들을 포함하는 시스템을 나타낸 블록도이다.
도 8은 일 실시 예에 따라서, 전자 디바이스와 페어링된 다른 전자 디바이스로 신뢰된 어플리케이션을 전송하는 방법을 나타낸 순서도이다.
도 9는 일 실시 예에 따라서, 신뢰된 어플리케이션을 포함하는 어플리케이션 패키지를 분배하는 방법을 나타낸 순서도이다.
도 10은 일 실시 예에 따라서, 어플리케이션이 설치되는 전자 디바이스를 나타낸 블록도이다.
1 is a block diagram illustrating a system for distributing trusted applications, according to one embodiment.
2 is a block diagram illustrating an internal structure of a processor in which a trusted application is installed, according to an exemplary embodiment.
3 and 4 are flowcharts illustrating a method of installing a trusted application, according to an embodiment.
5 is a block diagram illustrating an apparatus for distributing a trusted application to an electronic device, according to an embodiment.
6 is a block diagram illustrating an application package including a plurality of trusted applications of different types, according to an exemplary embodiment.
7 is a block diagram illustrating a system including paired electronic devices, according to one embodiment.
8 is a flowchart illustrating a method of transmitting a trusted application to another electronic device paired with the electronic device, according to an embodiment.
9 is a flowchart illustrating a method of distributing an application package including a trusted application, according to an embodiment.
10 is a block diagram illustrating an electronic device on which an application is installed, according to an exemplary embodiment.

아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 또한, 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present disclosure will be described in detail so that those skilled in the art can easily practice them with reference to the accompanying drawings. However, the present disclosure may be embodied in many different forms and is not limited to the embodiments described herein. In addition, in order to clearly describe the present disclosure in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

본 개시에서 사용되는 용어는, 본 개시에서 언급되는 기능을 고려하여 현재 사용되는 일반적인 용어로 기재되었으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 다양한 다른 용어를 의미할 수 있다. 따라서 본 개시에서 사용되는 용어는 용어의 명칭만으로 해석되어서는 안되며, 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 해석되어야 한다.The terminology used in the present disclosure has been described as a general term currently used in consideration of the functions mentioned in the present disclosure, but it may mean various other terms depending on the intention or precedent of a person skilled in the art, the emergence of new technologies, and the like. can Therefore, the terms used in the present disclosure should not be interpreted only as the names of the terms, but should be interpreted based on the meanings of the terms and the contents throughout the present disclosure.

또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 이 용어들에 의해 한정되어서는 안 된다. 이 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용된다. Also, terms such as first and second may be used to describe various elements, but elements should not be limited by these terms. These terms are used to distinguish one component from another.

또한, 본 개시에서 사용된 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것이며, 본 개시를 한정하려는 의도로 사용되는 것이 아니다. 단수의 표현은 문맥상 명백하게 단수를 뜻하지 않는 한, 복수의 의미를 포함한다. 또한 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 본 명세서, 특히, 특허 청구 범위에서 사용된 "상기" 및 이와 유사한 지시어는 단수 및 복수 모두를 지시하는 것일 수 있다. 또한, 본 개시에 따른 방법을 설명하는 단계들의 순서를 명백하게 지정하는 기재가 없다면, 기재된 단계들은 적당한 순서로 행해질 수 있다. 기재된 단계들의 기재 순서에 따라 본 개시가 한정되는 것은 아니다.Also, terms used in the present disclosure are only used to describe specific embodiments and are not intended to limit the present disclosure. Expressions in the singular number include the plural meaning unless the context clearly indicates the singular number. In addition, when a certain component is said to "include", this means that it may further include other components without excluding other components unless otherwise stated. As used in this specification, particularly in the claims, "the" and similar designations may refer to both the singular and the plural. Further, unless there is a description that explicitly specifies the order of steps in describing a method according to the present disclosure, the recited steps may be performed in any suitable order. The present disclosure is not limited by the order of description of the described steps.

본 명세서에서 다양한 곳에 등장하는 "일부 실시예에서" 또는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.The appearances of the phrases “in some embodiments” or “in one embodiment” in various places in this specification are not necessarily all referring to the same embodiment.

본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단" 및 "구성"등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.Some embodiments of the present disclosure may be represented as functional block structures and various processing steps. Some or all of these functional blocks may be implemented as a varying number of hardware and/or software components that perform specific functions. For example, functional blocks of the present disclosure may be implemented by one or more microprocessors or circuit configurations for a predetermined function. Also, for example, the functional blocks of this disclosure may be implemented in various programming or scripting languages. Functional blocks may be implemented as an algorithm running on one or more processors. In addition, the present disclosure may employ prior art for electronic environment setting, signal processing, and/or data processing. Terms such as "mechanism", "element", "means" and "component" may be used broadly and are not limited to mechanical and physical components.

또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다. In addition, connecting lines or connecting members between components shown in the drawings are only examples of functional connections and/or physical or circuit connections. In an actual device, connections between components may be represented by various functional connections, physical connections, or circuit connections that can be replaced or added.

이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings.

도 1은 일 실시 예에 따라서, 신뢰된 어플리케이션을 분배하는 시스템을 나타낸 블록도이다.1 is a block diagram illustrating a system for distributing trusted applications, according to one embodiment.

도 1을 참조하면, 신뢰된 어플리케이션을 분배하는 시스템은 전자 디바이스(100), 어플리케이션 분배 서비스 장치(110) 및 네트워크(120)를 포함한다. Referring to FIG. 1 , a system for distributing trusted applications includes an electronic device 100 , an application distribution service apparatus 110 and a network 120 .

어플리케이션 분배 서비스 장치(110)는 어플리케이션을 전자 디바이스에 설치하기 위한 어플리케이션 패키지를 네트워크(120)를 통해 적어도 하나의 전자 디바이스(100)로 전송할 수 있다. 어플리케이션 분배 서비스 장치(110)는 전자 디바이스(100)의 요청에 따라 전자 디바이스(100)로 어플리케이션 패키지를 전송할 수 있다.The application distribution service device 110 may transmit an application package for installing the application to the electronic device to at least one electronic device 100 through the network 120 . The application distribution service device 110 may transmit an application package to the electronic device 100 according to a request of the electronic device 100 .

전자 디바이스(100)는 프로세서(101), 네트워크에 접속하기 위한 네트워크 인터페이스(102) 및 프로세서(101)에 의해 실행될 수 있는 컴퓨터 프로그램을 저장하기 위한 메모리(103)를 포함한다. 프로세서(101)는 도 2에 도시되어 있는 리치(rich) OS 환경(101a) 및 신뢰된 실행 환경(Trusted Execution Environment; TEE, 101b)을 적어도 하나 포함할 수 있다. 리치(rich) OS 환경(101a) 및 신뢰된 실행 환경(101b)은 노멀 어플리케이션 및 신뢰된 어플리케이션이 실행될 수 있는 환경을 제공할 수 있다. 이하에서는, 리치 OS 환경(101a)에 설치되는 어플리케이션을 노멀 어플리케이션이라 지칭하기로 한다. The electronic device 100 includes a processor 101 , a network interface 102 for connecting to a network and a memory 103 for storing a computer program executable by the processor 101 . The processor 101 may include at least one of a rich OS environment 101a and a Trusted Execution Environment (TEE) 101b shown in FIG. 2 . The rich OS environment 101a and the trusted execution environment 101b may provide an environment in which normal applications and trusted applications can be executed. Hereinafter, an application installed in the rich OS environment 101a will be referred to as a normal application.

메모리(103)는 컴퓨터로 판독 가능한 기록 매체를 포함할 수 있다. 전자 디바이스(100)의 메모리(103)는 어플리케이션 매니저(104) 및 신뢰된 어플리케이션 설치 서비스부(105)를 포함한다. 일 실시 예에 있어서, 어플리케이션 매니저(104) 및 신뢰된 어플리케이션 설치 서비스부(105)는 메모리(103)에 저장된 소프트웨어 프로그램일 수 있다. 또한, 어플리케이션 매니저(104) 및 신뢰된 어플리케이션 설치 서비스부(105)는 전자 디바이스(100)에 임베디드될 수 있다. The memory 103 may include a computer-readable recording medium. The memory 103 of the electronic device 100 includes an application manager 104 and a trusted application installation service unit 105 . In one embodiment, the application manager 104 and the trusted application installation service unit 105 may be software programs stored in the memory 103 . Also, the application manager 104 and the trusted application installation service unit 105 may be embedded in the electronic device 100 .

어플리케이션 매니저(104)는 어플리케이션 분배 서비스 장치(110)로부터 어플리케이션 패키지를 획득할 수 있다. 어플리케이션 패키지는 리치 OS 환경(101a)에 설치될 수 있는 노멀 어플리케이션을 포함할 수 있다.The application manager 104 may obtain an application package from the application distribution service device 110 . The application package may include a normal application that can be installed in the rich OS environment 101a.

신뢰된 어플리케이션 설치 서비스부(105)는 어플리케이션 분배 서비스 장치(110)로부터 획득된 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부를 체크할 수 있다. 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는 경우, 신뢰된 어플리케이션 설치 서비스부(105)는 어플리케이션 패키지로부터 신뢰된 어플리케이션을 추출하고, 신뢰된 실행 환경(101b)에 신뢰된 어플리케이션을 설치할 수 있다. The trusted application installation service unit 105 may check whether the application package obtained from the application distribution service device 110 includes a trusted application. When the application package includes a trusted application, the trusted application installation service unit 105 may extract the trusted application from the application package and install the trusted application in the trusted execution environment 101b.

신뢰된 어플리케이션 설치 서비스부(105)는 전자 디바이스(100)의 제조자에 의해 전자 디바이스(100)에 미리 구비될 수 있다. 따라서, 신뢰된 어플리케이션 설치 서비스부(105)는 신뢰된 실행 환경(101b)의 아키텍처에 적응될 수 있도록 전자 디바이스(100)에 구비될 수 있다. 신뢰된 어플리케이션 설치 서비스부(105)는 어플리케이션 패키지로부터 신뢰된 어플리케이션을 추출하고, 신뢰된 어플리케이션을 설치할 수 있다. 따라서, 일 실시 예에 의하면, 신뢰된 어플리케이션을 복수 개의 전자 디바이스들(100)로 분배하고 관리하기 위한 별도의 서버 기반 시스템은 필요로 하지 않을 수 있다.The trusted application installation service unit 105 may be pre-installed in the electronic device 100 by the manufacturer of the electronic device 100 . Accordingly, the trusted application installation service unit 105 may be provided in the electronic device 100 to adapt to the architecture of the trusted execution environment 101b. The trusted application installation service unit 105 may extract a trusted application from an application package and install the trusted application. Accordingly, according to an embodiment, a separate server-based system for distributing and managing trusted applications to a plurality of electronic devices 100 may not be required.

도 2는 일 실시 예에 따라서, 신뢰된 어플리케이션이 설치되는 프로세서의 내부 구조를 나타낸 블록도이다.2 is a block diagram illustrating an internal structure of a processor in which a trusted application is installed, according to an exemplary embodiment.

도 2를 참조하면, 전자 디바이스(100)의 프로세서(101)는 각각 노멀 어플리케이션과 신뢰된 어플리케이션이 설치되고 실행될 수 있는 리치 OS 환경(101a) 및 신뢰된 실행 환경(101b) 중 적어도 하나를 포함할 수 있다.Referring to FIG. 2 , the processor 101 of the electronic device 100 may include at least one of a rich OS environment 101a and a trusted execution environment 101b in which normal applications and trusted applications may be installed and executed, respectively. can

리치 OS 환경(101a)에서는, 운영체제(OS; operating system) 상에서 노멀 어플리케이션이 실행될 수 있다. 리치 OS 환경(101a)은 전자 디바이스(100)의 통상적인(conventional) 노멀 어플리케이션들이 실행될 수 있는 운영체제를 포함할 수 있다. 리치 OS 환경(101a)에서 실행되는 노멀 어플리케이션들은 운영체제에 의해 서로 고립(isolated)되어 실행될 수 있다. 따라서, 노멀 어플리케이션들은 외부 공격에 맞서 보호될 수 있다. 그러나, 리치 OS 환경(101a)의 운영체제는 상대적으로 보안 수준이 높지 않아, 리치 OS 환경(101a)의 운영체제는 멀웨어에 의해 오염될 가능성이 존재한다. 어플리케이션의 보안 수준은 기저의(underlying) 운영체제에 의존적(dependent)이므로, 리치 OS 환경(101a)의 운영체제가 오염되는 경우, 노멀 어플리케이션도 오염될 가능성이 높아진다. 따라서, 리치 OS 환경(101a)에서는 상대적으로 보안이 중요하지 않은 데이터를 다루는 프로세스들이 노멀 어플리케이션에 의해 수행될 수 있다.In the rich OS environment 101a, normal applications may be executed on an operating system (OS). The rich OS environment 101a may include an operating system in which conventional normal applications of the electronic device 100 may be executed. Normal applications running in the rich OS environment 101a may be isolated from each other and executed by the operating system. Thus, normal applications can be protected against external attacks. However, since the operating system of the rich OS environment 101a does not have a relatively high level of security, there is a possibility that the operating system of the rich OS environment 101a may be contaminated by malware. Since the security level of the application is dependent on the underlying operating system, if the operating system of the rich OS environment 101a is compromised, there is a high possibility that the normal application will also be compromised. Accordingly, in the rich OS environment 101a, processes for handling data for which security is relatively unimportant may be performed by normal applications.

신뢰된 실행환경(TEE, 101b)에서는, 보안 운영체제(OS) 상에서 신뢰된 어플리케이션이 실행될 수 있다. 보안 운영체제는 부가적인 보안 기능을 더 포함하고, 신뢰된 실행 환경에 대한 외부 접근을 강력하게 제어할 수 있다. 신뢰된 실행환경(101b)은 보안 운영체제를 포함함으로써 신뢰된 어플리케이션이 실행될 수 있는 고립된 환경을 제공하여 줄 수 있다.In the trusted execution environment (TEE, 101b), a trusted application may be executed on a secure operating system (OS). The secure operating system may further include additional security functions and strongly control external access to the trusted execution environment. The trusted execution environment 101b may provide an isolated environment in which trusted applications can be executed by including a secure operating system.

리치 OS 환경(101a) 및 신뢰된 실행환경(101b)은 병렬적으로 실행되는 분리된 운영체제 환경일 수 있다. 리치 OS 환경(101a) 및 신뢰된 실행환경(101b) 간 데이터 흐름은 엄격히 제어됨에 따라 신뢰된 실행환경(101b)의 데이터는 보호될 수 있다. 리치 OS 환경(101a)에 비해 신뢰된 실행환경(101b)에 대한 외부 접근은 신뢰된 실행 환경(101b)에서 처리되는 데이터의 보호를 위해 엄격하게 제한될 수 있다.The rich OS environment 101a and the trusted execution environment 101b may be separate operating system environments that run in parallel. As the data flow between the rich OS environment 101a and the trusted execution environment 101b is strictly controlled, data in the trusted execution environment 101b can be protected. Compared to the rich OS environment 101a, external access to the trusted execution environment 101b may be strictly limited to protect data processed in the trusted execution environment 101b.

신뢰된 어플리케이션은 리치 OS 환경(101a)의 운영체제에서 동작되는 하나 이상의 노멀 어플리케이션들에 의해 호출되어 실행될 수 있다. 예를 들면, 모바일 뱅킹 어플리케이션은 신뢰된 어플리케이션에 접속하여, 민감하고 중요한 데이터, 예를 들면, 사용자의 개인 정보(private information)를 처리하여 줄 것을 요청할 수 있다. The trusted application may be called and executed by one or more normal applications operated in the operating system of the rich OS environment 101a. For example, the mobile banking application may access the trusted application and request processing of sensitive and important data, such as the user's private information.

도 3 및 도 4는 일 실시 예에 따라서, 신뢰된 어플리케이션을 설치하는 방법을 나타낸 순서도이다.3 and 4 are flowcharts illustrating a method of installing a trusted application, according to an embodiment.

도 3을 참조하면, 단계 S310에서, 전자 디바이스(100)는 어플리케이션을 전자 디바이스(100)에 설치하기 위한 어플리케이션 패키지를 네트워크(120)를 통해 획득할 수 있다. 일 실시 예에 의하면, 어플리케이션 패키지는 리치 OS 환경(101a)에 설치되는 노멀 어플리케이션을 포함할 수 있다.Referring to FIG. 3 , in step S310 , the electronic device 100 may acquire an application package for installing an application on the electronic device 100 through the network 120 . According to an embodiment, the application package may include a normal application installed in the rich OS environment 101a.

단계 S320에서, 전자 디바이스(100)는 단계 S310에서 획득된 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부를 결정할 수 있다. 예를 들면, 전자 디바이스(100)는 신뢰된 어플리케이션의 포함 여부를 나타내는 플래그 값에 기초하여 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부를 결정할 수 있다. 플래그는 어플리케이션 패키지에 포함될 수 있다. 일 실시 예에 의하면, 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부와는 관계 없이, 전자 디바이스(100)는 어플리케이션 패키지를 이용하여 리치 OS 환경(101a)에 노멀 어플리케이션을 설치할 수 있다.In step S320, the electronic device 100 may determine whether the application package obtained in step S310 includes a trusted application. For example, the electronic device 100 may determine whether an application package includes a trusted application based on a flag value indicating whether a trusted application is included. Flags can be included in application packages. According to an embodiment, regardless of whether the application package includes a trusted application, the electronic device 100 may install a normal application in the rich OS environment 101a using the application package.

단계 S330에서, 전자 디바이스(100)는 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는 경우, 신뢰된 어플리케이션을 어플리케이션 패키지로부터 추출하여, 전자 디바이스(100)에 설치할 수 있다. 일 예로, 신뢰된 어플리케이션은 전자 디바이스(100)의 보안 영역에 설치될 수 있다. 전자 디바이스(100)의 보안 영역은 높은 보안 수준의 환경을 신뢰된 어플리케이션에 제공할 수 있다. 예를 들면, 보안 영역은 신뢰된 실행환경(101b)을 포함할 수 있다. 신뢰된 실행환경(101b)은 외부로부터의 접근을 엄격히 제한함으로써, 높은 보안 수준의 환경을 신뢰된 어플리케이션에 제공할 수 있다. 신뢰된 어플리케이션은 보안 영역에 설치됨으로써, 높은 보안 수준의 환경에서 민감하고 중요한 데이터를 처리하는 동작을 수행할 수 있다.In operation S330 , when the application package includes a trusted application, the electronic device 100 may extract the trusted application from the application package and install it in the electronic device 100 . For example, a trusted application may be installed in a secure area of the electronic device 100 . The security area of the electronic device 100 may provide a high-security environment to trusted applications. For example, the secure domain may include the trusted execution environment 101b. The trusted execution environment 101b can provide a trusted application with a high-security environment by strictly restricting external access. By being installed in a secure area, a trusted application can perform an operation of processing sensitive and important data in a high-security environment.

도 4를 참조하여, 신뢰된 어플리케이션을 설치하는 방법의 실시 예를 더 설명하기로 한다.Referring to FIG. 4 , an exemplary embodiment of a method of installing a trusted application will be further described.

도 4를 참조하면, 단계 S410에서, 전자 디바이스(100)는 어플리케이션을 전자 디바이스(100)에 설치하기 위한 어플리케이션 패키지를 네트워크(120)를 통해 획득할 수 있다. Referring to FIG. 4 , in step S410 , the electronic device 100 may acquire an application package for installing an application on the electronic device 100 through the network 120 .

예를 들면, 전자 디바이스(100)는 어플리케이션 분배 서비스 장치(110)에 의해 제공되는 앱 스토어에 접속할 수 있다. 앱 스토어는 전자 디바이스(100)에 설치된 어플리케이션에 관한 정보와, 전자 디바이스(100)에 설치될 수 있는 새로운 어플리케이션에 관한 정보 중 적어도 하나를 전자 디바이스(100)에 제공할 수 있다. 전자 디바이스(100)에 설치될 어플리케이션이 선택되면, 전자 디바이스(100)는 선택된 어플리케이션을 전자 디바이스(100)에 설치하기 위한 어플리케이션 패키지를 앱 스토어를 통해 다운로드할 수 있다. For example, the electronic device 100 may access an app store provided by the application distribution service device 110 . The app store may provide the electronic device 100 with at least one of information about applications installed in the electronic device 100 and information about new applications that may be installed in the electronic device 100 . When an application to be installed in the electronic device 100 is selected, the electronic device 100 may download an application package for installing the selected application in the electronic device 100 through an app store.

단계 S420에서, 전자 디바이스(100)는 어플리케이션 패키지를 이용하여 노멀 어플리케이션을 리치 OS 환경(101a)에 설치할 수 있다. In step S420, the electronic device 100 may install a normal application in the rich OS environment 101a using the application package.

단계 S430에서, 노멀 어플리케이션이 리치 OS 환경(101a)에 설치되면, 전자 디바이스(100)는 새로운 어플리케이션이 리치 OS 환경(101a)에 설치됨을 인식할 수 있다. 예를 들면, 전자 디바이스(100)는 새로운 어플리케이션이 설치됨을 나타내는 이벤트 알림(event notification)인 'New App Installed'("android.intent.action.PACKAGE_ADDED")을 이용할 수 있다. 'New App Installed'("android.intent.action.PACKAGE_ADDED")는 전자 디바이스(100)가 새로운 어플리케이션이 설치됨을 인식하는데 이용될 수 있다. 상술된 이벤트 알림은 일 예에 불과하고, 전자 디바이스(100)에서 사용되는 운영체제의 종류에 따라 서로 다른 형태의 이벤트 알림이 사용될 수 있다.In step S430, if the normal application is installed in the rich OS environment 101a, the electronic device 100 may recognize that a new application is installed in the rich OS environment 101a. For example, the electronic device 100 may use 'New App Installed' ("android.intent.action.PACKAGE_ADDED"), which is an event notification indicating that a new application is installed. 'New App Installed' ("android.intent.action.PACKAGE_ADDED") may be used by the electronic device 100 to recognize that a new application is installed. The event notification described above is only an example, and different types of event notifications may be used depending on the type of operating system used in the electronic device 100 .

단계 S440에서, 새로운 어플리케이션이 설치됨을 나타내는 이벤트 알림에 대응하여, 전자 디바이스(100)는 리치 OS 환경(101a)에 설치된 새로운 어플리케이션의 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부를 결정할 수 있다. 예를 들면, 전자 디바이스(100)는 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부를 나타내는 플래그 값에 기초하여, 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부를 결정할 수 있다. 일 실시 예에서, 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하지 않는 경우, 신뢰된 어플리케이션의 설치는 필요하지 않으므로, 어플리케이션의 설치는 종료될 수 있다.In step S440, in response to the event notification indicating that a new application is installed, the electronic device 100 may determine whether an application package of a new application installed in the rich OS environment 101a includes a trusted application. For example, the electronic device 100 may determine whether the application package includes a trusted application based on a flag value indicating whether the application package includes a trusted application. In one embodiment, when the application package does not include the trusted application, the installation of the trusted application is not necessary, and thus the installation of the application may be terminated.

단계 S450에서, 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는 경우, 전자 디바이스(100)는 복수 개의 신뢰된 어플리케이션이 어플리케이션 패키지에 포함되어 있는지 여부를 결정할 수 있다. 예를 들면, 전자 디바이스(100)는 어플리케이션 패키지에 포함된 신뢰된 어플리케이션을 나타내는 식별 정보에 기초하여, 복수 개의 신뢰된 어플리케이션이 어플리케이션 패키지에 포함되어 있는지 여부를 판단할 수 있다. In step S450, when the application package includes trusted applications, the electronic device 100 may determine whether a plurality of trusted applications are included in the application package. For example, the electronic device 100 may determine whether a plurality of trusted applications are included in the application package based on identification information representing trusted applications included in the application package.

일 실시예에 의한 어플리케이션 패키지는 서로 다른 타입의 신뢰된 실행 환경(101b) 또는 서로 다른 타입의 전자 디바이스(100)에 설치될 수 있는 복수 개의 신뢰된 어플리케이션을 포함할 수 있다. 서로 다른 타입의 신뢰된 실행 환경들은 서로 다른 벤더에 의해 제공되거나 동일한 벤더로부터 제공된 서로 다른 버전의 것일 수 있다. 전자 디바이스(100)는 복수 개의 신뢰된 어플리케이션 중 전자 디바이스(100)의 신뢰된 실행 환경(101b)에 설치될 수 있는 신뢰된 어플리케이션을 어플리케이션 패키지로부터 추출할 수 있다. 그리고, 전자 디바이스(100)는 추출된 신뢰된 어플리케이션을 신뢰된 실행 환경(101b)에 설치할 수 있다.An application package according to an embodiment may include a plurality of trusted applications that may be installed in different types of trusted execution environments 101b or different types of electronic devices 100 . Different types of trusted execution environments may be provided by different vendors or may be of different versions from the same vendor. The electronic device 100 may extract a trusted application that may be installed in the trusted execution environment 101b of the electronic device 100 from among a plurality of trusted applications from an application package. And, the electronic device 100 may install the extracted trusted application in the trusted execution environment 101b.

단계 S460에서, 어플리케이션 패키지가 복수 개의 신뢰된 어플리케이션을 포함하는 경우, 전자 디바이스(100)신뢰된 어플리케이션이 설치될 신뢰된 실행 환경(101b)에 설치될 수 있는 신뢰된 어플리케이션을 선택할 수 있다. 예를 들면, 전자 디바이스(100)는 복수 개의 신뢰된 어플리케이션 중 신뢰된 실행 환경(101b)에서 설치되어 실행될 수 있는 신뢰된 어플리케이션을 선택할 수 있다. In step S460, when the application package includes a plurality of trusted applications, the electronic device 100 may select a trusted application that can be installed in the trusted execution environment 101b where the trusted application is to be installed. For example, the electronic device 100 may select a trusted application that can be installed and executed in the trusted execution environment 101b from among a plurality of trusted applications.

일 실시 예에서, 서로 다른 타입의 신뢰된 실행 환경(101b)들이 전자 디바이스(100)에 존재하는 경우, 전자 디바이스(100)는 각각의 신뢰된 실행 환경(101b)에 설치될 수 있는 신뢰된 어플리케이션을 복수 개 선택할 수 있다. In one embodiment, when different types of trusted execution environments 101b exist in the electronic device 100, the electronic device 100 provides a trusted application that can be installed in each trusted execution environment 101b. You can select multiple.

그리고, 단계 S470에서 전자 디바이스(100)는 어플리케이션 패키지로부터 단계 S460에서 선택된 신뢰된 어플리케이션을 추출하고, 신뢰된 실행환경(101b)에 신뢰된 어플리케이션을 설치할 수 있다.In step S470, the electronic device 100 may extract the trusted application selected in step S460 from the application package and install the trusted application in the trusted execution environment 101b.

일 실시예에 의하면, 신뢰된 어플리케이션은 리치 OS 환경(101a)에 노멀 어플리케이션이 설치된 후 설치되거나, 노멀 어플리케이션이 리치 OS 환경(101a)에 설치되기 전에 설치될 수 있다. 또한, 리치 OS 환경(101a)에서 노멀 어플리케이션 및 신뢰된 어플리케이션은 병렬적으로 설치될 수도 있다. According to an embodiment, the trusted application may be installed after the normal application is installed in the rich OS environment 101a or before the normal application is installed in the rich OS environment 101a. Also, in the rich OS environment 101a, normal applications and trusted applications may be installed in parallel.

다만, 새로운 어플리케이션이 설치될 때 새로운 어플리케이션이 설치됨을 알리는 시스템 알림이 활성화되는 경우, 리치 OS 환경(101a)에 어플리케이션이 설치되고 난 이후 신뢰된 어플리케이션이 설치됨이 바람직하다. 시스템 알림에 의해 전자 디바이스(100)가 새로운 어플리케이션이 설치됨을 인식하여, 신뢰된 어플리케이션에 대한 설치를 수행할 수 있기 때문이다.However, when a system notification notifying that a new application is installed is activated when a new application is installed, the trusted application is preferably installed after the application is installed in the rich OS environment 101a. This is because the electronic device 100 can recognize that a new application is installed by the system notification and install the trusted application.

한편, 어플리케이션 패키지에 하나의 신뢰된 어플리케이션만 포함되어 있는 경우, 전자 디바이스(100)는 어플리케이션 패키지에 포함된 신뢰된 어플리케이션을 신뢰된 실행 환경(101b)에 설치할 수 있다. 다만, 신뢰된 어플리케이션 설치 서비스부(105)는 신뢰된 어플리케이션이 신뢰된 실행 환경(101b)에 설치될 수 없는 경우, 신뢰된 어플리케이션을 설치하지 않고 신뢰된 어플리케이션을 설치하는 프로세스를 종료할 수 있다. 예를 들면, 신뢰된 어플리케이션의 타입과 신뢰된 실행 환경(101b)의 타입이 상이한 경우, 신뢰된 어플리케이션 설치 서비스부(105)는 신뢰된 어플리케이션을 설치하지 않고 신뢰된 어플리케이션을 설치하는 프로세스를 종료할 수 있다.Meanwhile, when the application package includes only one trusted application, the electronic device 100 may install the trusted application included in the application package into the trusted execution environment 101b. However, when the trusted application installation service unit 105 cannot install the trusted application in the trusted execution environment 101b, it may end the process of installing the trusted application without installing the trusted application. For example, when the type of the trusted application and the type of the trusted execution environment 101b are different, the trusted application installation service unit 105 terminates the process of installing the trusted application without installing the trusted application. can

도 5는 일 실시 예에 따라서, 신뢰된 어플리케이션을 전자 디바이스로 분배하기 위한 장치를 나타낸 블록도이다.5 is a block diagram illustrating an apparatus for distributing a trusted application to an electronic device, according to an embodiment.

도 5에 도시된 장치는 도 1의 어플리케이션 분배 서비스 장치(110)의 실시예에 포함될 수 있다. 어플리케이션 분배 서비스 장치(110)는 어플리케이션 패키지(113)를 생성하기 위하여, 플래그(114), 노멀 어플리케이션(115) 및 신뢰된 어플리케이션(116) 중 적어도 하나를 결합하는 어플리케이션 패키지 생성부(111)를 포함한다. The device shown in FIG. 5 may be included in an embodiment of the application distribution service device 110 of FIG. 1 . The application distribution service device 110 includes an application package generating unit 111 that combines at least one of a flag 114, a normal application 115, and a trusted application 116 to generate an application package 113. do.

예를 들면, 어플리케이션 패키지 생성부(111)는 소정의 운영체제를 기반으로 하는 소프트웨어 개발킷(Software Development Kit)을 이용하여 어플리케이션 패키지(113)를 생성할 수 있다. 소프트웨어 개발 킷은 하드웨어 플랫폼, 컴퓨터 시스템, 운영 체제 등을 위한 응용 프로그램을 만들 수 있게 하는 개발 도구의 집합이다. 어플리케이션 패키지 생성부(111)는 전자 디바이스(100)에 설치된 운영체제에 설치될 수 있는 어플리케이션 패키지(113)를 소프트웨어 개발킷을 이용하여 생성할 수 있다.For example, the application package generating unit 111 may generate the application package 113 using a software development kit based on a predetermined operating system. A software development kit is a set of development tools that allows you to create applications for a hardware platform, computer system, operating system, etc. The application package creation unit 111 may create an application package 113 that can be installed in the operating system installed in the electronic device 100 by using a software development kit.

어플리케이션 패키지 생성부(111)는 신뢰된 어플리케이션(116)이 노멀 어플리케이션(115)과 함께 전자 디바이스(100)에 설치될 수 있도록 신뢰된 어플리케이션(116)이 포함된 어플리케이션 패키지(113)를 생성할 수 있다. 어플리케이션 패키지 생성부(111)는 어플리케이션 패키지(113)에 신뢰된 어플리케이션(116)이 포함되었는지 여부를 나타내기 위해 플래그(114)의 상태를 설정할 수 있다. 예를 들면, 플래그(114)는 신뢰된 어플리케이션(116)이 포함되면, 'TRUE'로 설정되거나 신뢰된 어플리케이션(116)이 포함되지 않으면, 'FALSE'로 설정될 수 있다. The application package generating unit 111 may generate the application package 113 including the trusted application 116 so that the trusted application 116 may be installed in the electronic device 100 together with the normal application 115. there is. The application package generator 111 may set a state of the flag 114 to indicate whether the application package 113 includes the trusted application 116 . For example, the flag 114 may be set to 'TRUE' if the trusted application 116 is included or set to 'FALSE' if the trusted application 116 is not included.

일 예로, 어플리케이션 패키지(113)의 메타 데이터 구조와의 호환성을 위해, 플래그(114)는 커스텀 안드로이드 권한 정보(custom android permission)을 이용하여 정의될 수 있다. 커스텀 안드로이드 권한 정보는 소정의 액티비티가 실행될 때 필요한 권한을 설정하는 옵션이다. 상술된 권한 정보의 존재는 전자 디바이스(100)에 의해 체크될 수 있다. 또한, 권한 정보는 어플리케이션 패키지(113)에 대한 신뢰된 어플리케이션(116)의 존재 또는 부재를 나타내는데 이용될 수 있다. 권한 정보는 문장으로써 나타날 수 있다(예를 들면, "com.samsung.sec.TA_EXISTS"). 권한 정보는 노멀 어플리케이션과 관련된 정보들이 포함된 매니페스트 파일(manifest file)에 저장될 수 있다. 상술된 예에 한하지 않고, 플래그(114)는 다양한 방법으로 어플리케이션 패키지(113)에서 정의될 수 있다. 또한, 어플리케이션 패키지(113)가 신뢰된 어플리케이션(116)을 포함하는지 여부를 나타내는 정보는 플래그(144)뿐만 아니라 다양한 형태의 정보로 어플리케이션 패키지(113)에 포함될 수 있다.For example, for compatibility with the meta data structure of the application package 113, the flag 114 may be defined using custom android permission information. Custom Android permission information is an option for setting permissions required when a predetermined activity is executed. Existence of the aforementioned authority information may be checked by the electronic device 100 . In addition, the authority information may be used to indicate the presence or absence of the trusted application 116 for the application package 113 . Authorization information may appear as a sentence (eg "com.samsung.sec.TA_EXISTS"). Authorization information may be stored in a manifest file including information related to normal applications. Without being limited to the examples described above, the flag 114 may be defined in the application package 113 in a variety of ways. In addition, information indicating whether the application package 113 includes the trusted application 116 may be included in the application package 113 in various types of information as well as the flag 144 .

전자 디바이스(100)는 플래그(114)의 상태를 체크함으로써 어플리케이션 패키지(113)가 신뢰된 어플리케이션(116)을 포함하는지 여부를 결정할 수 있다. 전자 디바이스(100)는 플래그(114) 값이 'TRUE'인 경우, 신뢰된 어플리케이션(116)을 설치하기 위한 프로세스를 수행할 수 있다.The electronic device 100 can determine whether the application package 113 includes the trusted application 116 by checking the state of the flag 114 . When the value of the flag 114 is 'TRUE', the electronic device 100 may perform a process for installing the trusted application 116 .

또한, 신뢰된 실행 환경의 관리를 위한 인증 토큰이 어플리케이션 패키지(113)에 임베딩될 수 있다. 따라서, 인증 토큰에 의해, 전자 디바이스(100)에서 신뢰된 어플리케이션(116)에 대한 다양한 관리 기능(예를 들면, 신뢰된 어플리케이션 삭제, 업데이트 및 상태 업데이트)이 지원될 수 있다. 인증 토큰은 신뢰된 실행 환경의 벤더 또는 보안 도메인 소유자와 같이, 전자 디바이스(100)의 신뢰된 실행 환경 또는 신뢰된 어플리케이션(116)과 관련된 권한을 가진 주체에 의하여 발생된 인증된 명령어를 나타내는 전자적으로 서명된 바이너리 데이터이다.Also, an authentication token for managing a trusted execution environment may be embedded in the application package 113 . Thus, various management functions for the trusted application 116 on the electronic device 100 may be supported by the authentication token (eg, trusted application deletion, update, and status update). The authentication token electronically represents an authenticated command issued by a subject having authority associated with the trusted application 116 or trusted execution environment of the electronic device 100, such as a vendor of the trusted execution environment or a secure domain owner. It is signed binary data.

상술한 바와 같이 플래그(114)는 신뢰된 어플리케이션(116)의 존재 및 부존재를 시그널링할 수 있다. 이에 한하지 않고, 신뢰된 어플리케이션(116)의 존재 및 부존재는 신뢰된 어플리케이션(116)의 존재 여부를 나타내는 시그널인 접미어(suffix), 예를 들면, ".TA PKG"를 포함함으로써 패키지 이름 속성을 통해 시그널링될 수 있다. As described above, the flag 114 may signal the existence and non-existence of the trusted application 116 . Without being limited thereto, the existence and non-existence of the trusted application 116 indicates the presence or absence of the trusted application 116 by including a suffix, eg ".TA PKG", which is a signal indicating whether or not the trusted application 116 exists. can be signaled through

어플리케이션 분배 서비스 장치(110)는 전자 디바이스(100)에 어플리케이션 패키지(113)를 전송하는 어플리케이션 분배부(112)를 포함할 수 있다. 어플리케이션 분배부(112)는 어플리케이션 패키지 생성부(111)에 의해 생성된 어플리케이션 패키지(113)를 전자 디바이스(100)로 전송할 수 있다. 어플리케이션 분배부(112)는 전자 디바이스(100)의 요청에 따라 어플리케이션 패키지(113)를 전자 디바이스(100)로 전송할 수 있다.The application distribution service device 110 may include an application distribution unit 112 that transmits the application package 113 to the electronic device 100 . The application distribution unit 112 may transmit the application package 113 generated by the application package creation unit 111 to the electronic device 100 . The application distribution unit 112 may transmit the application package 113 to the electronic device 100 according to the request of the electronic device 100 .

도 6은 일 실시 예에 따라서, 서로 다른 타입의 복수 개의 신뢰된 어플리케이션을 포함하는 어플리케이션 패키지를 나타낸 블록도이다.6 is a block diagram illustrating an application package including a plurality of trusted applications of different types, according to an exemplary embodiment.

도 6을 참조하면, 어플리케이션 패키지(600)는 플래그(610), 노멀 어플리케이션(620) 및 복수 개의 신뢰된 어플리케이션(630, 640)을 포함할 수 있다. 플래그(610)는 어플리케이션 패키지(600)가 신뢰된 어플리케이션을 포함하는지 여부에 관한 정보를 포함할 수 있다. 각각의 신뢰된 어플리케이션(630, 640)은 타입 1의 신뢰된 실행 환경(101b) 및 타입 2의 신뢰된 실행 환경(101b)과 대응될 수 있다. 또는, 각각의 신뢰된 어플리케이션(630, 640)은 타입 1 및 타입 2의 전자 디바이스(100)와 각각 대응될 수 있다.Referring to FIG. 6 , an application package 600 may include a flag 610 , a normal application 620 and a plurality of trusted applications 630 and 640 . The flag 610 may include information about whether the application package 600 includes a trusted application. Each of the trusted applications 630 and 640 may correspond to a type 1 trusted execution environment 101b and a type 2 trusted execution environment 101b. Alternatively, each of the trusted applications 630 and 640 may correspond to the type 1 and type 2 electronic device 100 , respectively.

어플리케이션의 개발자는 서로 다른 타입의 전자 디바이스(100)들에 동일한 어플리케이션 패키지(600)를 제공할 수 있다. 서로 다른 타입의 전자 디바이스(100)들은 서로 다른 타입의 신뢰된 실행 환경(101b)을 포함할 수 있다. 어플리케이션 패키지(600)는 서로 다른 타입의 신뢰된 실행 환경(101b)에 설치될 수 있는 복수 개의 신뢰된 어플리케이션(630, 640)을 포함할 수 있다. 따라서, 하나의 어플리케이션 패키지(600)가 전자 디바이스(100)들에 제공될 수 있다. 일 실시 예에서, 전자 디바이스(100)는 전자 디바이스(100)의 타입과 일치하는 신뢰된 어플리케이션(630, 640)을 어플리케이션 패키지(600)로부터 추출하고 전자 디바이스(100)의 신뢰된 실행 환경(101b)에 설치할 수 있다.An application developer may provide the same application package 600 to different types of electronic devices 100 . Different types of electronic devices 100 may include different types of trusted execution environments 101b. The application package 600 may include a plurality of trusted applications 630 and 640 that may be installed in different types of the trusted execution environment 101b. Accordingly, one application package 600 may be provided to the electronic devices 100 . In one embodiment, the electronic device 100 extracts the trusted applications 630 and 640 matching the type of the electronic device 100 from the application package 600 and the trusted execution environment 101b of the electronic device 100 . ) can be installed.

도 7은 일 실시 예에 따라서, 페어링된 전자 디바이스들을 포함하는 시스템을 나타낸 블록도이다.7 is a block diagram illustrating a system including paired electronic devices, according to one embodiment.

도 7을 참조하면, 스마트폰과 같은 모바일 전자 디바이스(720)는 스마트 워치와 같은 웨어러블 전자 디바이스(710)와 페어링될 수 있다. 웨어러블 전자 디바이스(710) 및 모바일 전자 디바이스(720)에 한하지 않고 다양한 타입의 전자 디바이스들이 서로 페어링될 수 있다.Referring to FIG. 7 , a mobile electronic device 720 such as a smart phone may be paired with a wearable electronic device 710 such as a smart watch. Various types of electronic devices may be paired with each other, not limited to the wearable electronic device 710 and the mobile electronic device 720 .

이하 설명에서, 제2 어플리케이션 패키지는 제1 어플리케이션 패키지에 포함된 어플리케이션 패키지를 지칭할 수 있다. 제3 어플리케이션 패키지는 제2 어플리케이션 패키지에 포함된 어플리케이션 패키지를 지칭할 수 있다. In the following description, the second application package may refer to an application package included in the first application package. The third application package may refer to an application package included in the second application package.

일 실시 예에 의하면, 제1 어플리케이션 패키지는 네트워크와 직접적으로 연결되어 있거나, 주된 장치로 이용되는 전자 디바이스에서 설치될 수 있는 어플리케이션 패키지일 수 있다. 또한, 제2 어플리케이션 패키지는 네트워크와 직접적으로 연결되지 않고, 다른 전자 디바이스를 통해 네트워크로 연결되어 있거나, 부수적인 장치로 이용되는 전자 디바이스에서 설치될 수 있는 어플리케이션 패키지일 수 있다. 또한, 제1 어플리케이션 패키지 및 제2 어플리케이션 패키지가 각각 설치될 수 있는 전자 디바이스는 서로 유무선으로 서로 연결되거나 페어링된 장치일 수 있다. 제2 어플리케이션 패키지는 제1 어플리케이션 패키지가 설치될 수 있는 타입의 전자 디바이스와 연결되거나 페어링될 수 있는 타입의 전자 디바이스에 설치될 수 있다.According to an embodiment, the first application package may be an application package that is directly connected to a network or may be installed in an electronic device used as a main device. Also, the second application package may be an application package that is not directly connected to a network but may be installed in an electronic device connected to a network through another electronic device or used as an auxiliary device. In addition, the electronic devices on which the first application package and the second application package can be respectively installed may be connected to each other through wired or wireless or paired devices. The second application package may be installed in a type of electronic device capable of being connected or paired with an electronic device of a type in which the first application package may be installed.

제2 어플리케이션 패키지(723, 726)는 제1 어플리케이션 패키지(721)에 포함될 수 있고, 제2 어플리케이션 패키지(723, 726)는 또 다른 어플리케이션 패키지, 예를 들면 제3 어플리케이션 패키지를 포함할 수 있다. 제2 어플리케이션 패키지(723)는 모바일 전자 디바이스(720)와 페어링된 타입 1의 웨어러블 전자 디바이스(710)에 설치될 수 있다. 제2 어플리케이션 패키지는 웨어러블 전자 디바이스(710)에 설치될 수 있는 노멀 어플리케이션(724) 및 신뢰된 어플리케이션(725) 중 적어도 하나를 포함할 수 있다. The second application packages 723 and 726 may be included in the first application package 721, and the second application packages 723 and 726 may include another application package, for example, a third application package. The second application package 723 may be installed in the type 1 wearable electronic device 710 paired with the mobile electronic device 720 . The second application package may include at least one of a normal application 724 and a trusted application 725 that may be installed on the wearable electronic device 710 .

제2 어플리케이션 패키지(723, 726)에 포함될 수 있는 제3 어플리케이션 패키지는 제2 어플리케이션 패키지(723, 726)가 설치될 수 있는 타입의 전자 디바이스와 페어링되거나 연결될 수 있는 타입의 전자 디바이스에 설치될 수 있다. 어플리케이션 패키지는 상술한 실시예와 같이 반복적으로(recursively) 다른 전자 디바이스에 설치될 수 있는 어플리케이션 패키지들을 포함할 수 있다.The third application package that can be included in the second application packages 723 and 726 can be installed in a type of electronic device that can be paired with or connected to an electronic device in which the second application packages 723 and 726 can be installed. there is. The application package may include application packages that can be repeatedly installed in other electronic devices as in the above-described embodiment.

모바일 전자 디바이스(720)는 노멀 어플리케이션(729) 및 신뢰된 어플리케이션(730)을 제1 어플리케이션 패키지(721)로부터 추출하여, 노멀 어플리케이션(729) 및 신뢰된 어플리케이션(730)을 리치 OS 환경(731) 및 신뢰된 실행 환경(732)에 각각 설치할 수 있다. 모바일 전자 디바이스(720)는 플래그(722) 값에 기초하여, 신뢰된 어플리케이션(730)이 제1 어플리케이션 패키지(721)에 존재하는지 결정하고, 신뢰된 어플리케이션(730)을 모바일 전자 디바이스(720)에 설치할 수 있다. The mobile electronic device 720 extracts the normal application 729 and the trusted application 730 from the first application package 721, and extracts the normal application 729 and the trusted application 730 from the rich OS environment 731. and the trusted execution environment 732, respectively. Based on the value of the flag 722, the mobile electronic device 720 determines whether a trusted application 730 exists in the first application package 721, and provides the trusted application 730 to the mobile electronic device 720. can be installed

또한, 제1 어플리케이션 패키지(721)는 타입 1의 웨어러블 전자 디바이스(710)에 대한 제2 어플리케이션 패키지(723) 및 타입 2의 웨어러블 전자 디바이스에 대한 어플리케이션 패키지(726)를 더 포함할 수 있다. 서로 다른 타입의 웨어러블 전자 디바이스들은 서로 다른 운영체제를 포함하거나 서로 다른 신뢰된 실행 환경을 포함할 수 있다. 타입 1 웨어러블 전자 디바이스에 대한 어플리케이션 패키지(723) 및 타입 2 웨어러블 전자 디바이스에 대한 어플리케이션 패키지(726)는 각각 서로 다른 운영체제에 설치될 수 있는 노멀 어플리케이션(724, 727) 및 서로 다른 신뢰된 실행 환경에 설치될 수 있는 신뢰된 어플리케이션(725, 728) 중 적어도 하나를 포함할 수 있다. 예를 들면, 모바일 전자 디바이스(720)에 의해 획득된 제1 어플리케이션 패키지(721)는 제2 어플리케이션 패키지로써 안드로이드 웨어 스마트 워크에 대한 안드로이드 패키지를 포함하거나, 삼성 기어 스마트 워치에 대한 위젯을 포함할 수 있다. In addition, the first application package 721 may further include a second application package 723 for the type 1 wearable electronic device 710 and an application package 726 for the type 2 wearable electronic device. Different types of wearable electronic devices may include different operating systems or different trusted execution environments. The application package 723 for a type 1 wearable electronic device and the application package 726 for a type 2 wearable electronic device are normal applications 724 and 727 that can be installed on different operating systems and different trusted execution environments. It may include at least one of the trusted applications 725 and 728 that may be installed. For example, the first application package 721 acquired by the mobile electronic device 720 may include an Android package for Android Wear smart work or a widget for Samsung Gear smart watch as a second application package. there is.

각각의 제2 어플리케이션 패키지(723, 726)는 신뢰된 어플리케이션(725, 728)의 포함 여부를 나타내는 플래그(741, 742)를 더 포함할 수 있다. 제2 어플리케이션 패키지(723, 726)가 설치되는 전자 디바이스는 플래그(741, 742)를 이용하여 신뢰된 어플리케이션(725, 728)이 존재하는지 여부를 판단할 수 있다.Each of the second application packages 723 and 726 may further include flags 741 and 742 indicating whether the trusted applications 725 and 728 are included. The electronic device in which the second application packages 723 and 726 are installed may use the flags 741 and 742 to determine whether the trusted applications 725 and 728 exist.

모바일 전자 디바이스(720)는 타입 1의 웨어러블 전자 디바이스(710)에 설치될 수 있는 제2 어플리케이션 패키지(723)를 제1 어플리케이션 패키지(721)로부터 추출할 수 있다. 그리고, 모바일 전자 디바이스(720)는 타입 1의 웨어러블 전자 디바이스(710)로 제2 어플리케이션 패키지(723)를 전송할 수 있다. 도 7에 도시된 바와 같이, 제2 어플리케이션 패키지(723)에 포함된 타입 1의 신뢰된 어플리케이션(725)은 타입 1의 웨어러블 전자 디바이스(710)의 신뢰된 실행 환경(715)에 설치될 수 있다. 제2 어플리케이션 패키지(723)는 웨어러블 전자 디바이스(710)의 리치 OS 환경(714)에서 설치될 타입 1의 노멀 어플리케이션(724)을 더 포함할 수 있다. 일 실시 예에 의한, 제2 어플리케이션 패키지(723)는 타입 1의 웨어러블 전자 디바이스(710)에 설치될 수 있는 타입 1의 노멀 어플리케이션(725) 및 신뢰된 어플리케이션(725) 중 적어도 하나를 포함할 수 있다. The mobile electronic device 720 may extract the second application package 723 , which may be installed on the type 1 wearable electronic device 710 , from the first application package 721 . And, the mobile electronic device 720 may transmit the second application package 723 to the type 1 wearable electronic device 710 . As shown in FIG. 7 , the type 1 trusted application 725 included in the second application package 723 may be installed in the type 1 trusted execution environment 715 of the wearable electronic device 710. . The second application package 723 may further include a type 1 normal application 724 to be installed in the rich OS environment 714 of the wearable electronic device 710 . According to an embodiment, the second application package 723 may include at least one of a type 1 normal application 725 and a trusted application 725 that may be installed in the type 1 wearable electronic device 710. there is.

제2 어플리케이션 패키지(723)에 포함된 노멀 어플리케이션(724) 및 신뢰된 어플리케이션(725) 중 적어도 하나는 모바일 전자 디바이스(720)에 설치된 노멀 어플리케이션(729) 또는 신뢰된 어플리케이션(730)과 관련된 것일 수 있다. 예를 들면, 제2 어플리케이션 패키지(723)는 모바일 전자 디바이스(720)에 설치된 노멀 어플리케이션(729)과 연동되어 실행될 수 있는 타입 1의 노멀 어플리케이션(724) 및 신뢰된 어플리케이션(725) 중 적어도 하나를 포함할 수 있다.At least one of the normal application 724 and the trusted application 725 included in the second application package 723 may be related to the normal application 729 or the trusted application 730 installed in the mobile electronic device 720. there is. For example, the second application package 723 includes at least one of a type 1 normal application 724 and a trusted application 725 that can be executed in association with the normal application 729 installed on the mobile electronic device 720. can include

도 8은 일 실시 예에 따라서, 전자 디바이스와 페어링된 다른 전자 디바이스로 신뢰된 어플리케이션을 전송하는 방법을 나타낸 순서도이다.8 is a flowchart illustrating a method of transmitting a trusted application to another electronic device paired with the electronic device, according to an embodiment.

도 8을 참조하면, 단계 S810에서, 전자 디바이스는 제1 어플리케이션 패키지를 획득할 수 있다. 전자 디바이스와 다른 전자 디바이스는 서로 페어링되거나 유무선으로 연결된 상태일 수 있다.Referring to FIG. 8 , in step S810, the electronic device may obtain a first application package. An electronic device and another electronic device may be paired or wired or wirelessly connected to each other.

그리고 단계 S820에서, 전자 디바이스는 제1 어플리케이션 패키지에 포함된 하나 이상의 제2 어플리케이션 패키지 중 다른 전자 디바이스로 전송될 제2 어플리케이션 패키지를 결정할 수 있다. 제2 어플리케이션 패키지는 제2 어플리케이션 패키지의 어플리케이션이 다른 전자 디바이스에 설치될 수 있는지 여부에 따라 결정될 수 있다. In operation S820, the electronic device may determine a second application package to be transmitted to another electronic device from among one or more second application packages included in the first application package. The second application package may be determined according to whether applications of the second application package can be installed in other electronic devices.

제2 어플리케이션 패키지를 수신한 다른 전자 디바이스에는 제2 어플리케이션 패키지에 포함된 노멀 어플리케이션 및 신뢰된 어플리케이션 중 적어도 하나가 설치될 수 있다. 다른 전자 디바이스는 제2 어플리케이션 패키지에 포함된 플래그에 기초하여 신뢰된 어플리케이션을 설치할 수 있다.At least one of a normal application and a trusted application included in the second application package may be installed in another electronic device that has received the second application package. Other electronic devices may install the trusted application based on the flag included in the second application package.

일 실시예에 의하면, 모바일 전자 디바이스에 대한 제1 어플리케이션 패키지는 서로 다른 타입의 웨어러블 전자 디바이스에 대한 하나 이상의 제2 어플리케이션 패키지들을 포함할 수 있다. 특정된 하나의 타입의 웨어러블 전자 디바이스가 모바일 전자 디바이스와 페어링된 경우, 페어링된 웨어러블 전자 디바이스에 설치될 수 있는 제2 어플리케이션 패키지가 선택될 수 있다. 페어링된 웨어러블 전자 디바이스로 제2 어플리케이션 패키지가 전송될 수 있다.According to an embodiment, a first application package for a mobile electronic device may include one or more second application packages for wearable electronic devices of different types. When a wearable electronic device of one specific type is paired with a mobile electronic device, a second application package that can be installed in the paired wearable electronic device may be selected. The second application package may be transmitted to the paired wearable electronic device.

단계 S830에서, 전자 디바이스는 다른 전자 디바이스로 전송될 단계 S820에서 결정된 제2 어플리케이션 패키지를 제1 어플리케이션 패키지로부터 추출할 수 있다.In step S830, the electronic device may extract the second application package determined in step S820 to be transmitted to another electronic device from the first application package.

단계 S840에서, 추출된 제2 어플리케이션 패키지는 다른 전자 디바이스로 전송될 수 있다. 제2 어플리케이션 패키지는 리치 OS 환경에 설치될 수 있는 노멀 어플리케이션 및 신뢰된 실행환경에 설치될 수 있는 신뢰된 어플리케이션 중 적어도 하나를 포함할 수 있다. 또한, 제2 어플리케이션 패키지는 신뢰된 어플리케이션의 포함 여부를 나타내는 플래그를 더 포함할 수 있다. 또 다른 예로, 신뢰된 어플리케이션은 제2 어플리케이션 패키지에 포함되지 않고, 그 자체로 전자 디바이스에 의해 추출되고 페어링된 다른 전자 디바이스로 전송될 수 있다.In step S840, the extracted second application package may be transmitted to another electronic device. The second application package may include at least one of a normal application that can be installed in a rich OS environment and a trusted application that can be installed in a trusted execution environment. In addition, the second application package may further include a flag indicating whether a trusted application is included. As another example, the trusted application may be extracted by the electronic device itself and transmitted to another paired electronic device without being included in the second application package.

페어링된 다른 전자 디바이스로 전송된 제2 어플리케이션 패키지는 하나 이상의 제3 어플리케이션 패키지를 포함할 수 있다. 페어링된 다른 전자 디바이스는 제2 어플리케이션 패키지로부터 제3 어플리케이션 패키지를 추출하고, 제3 어플리케이션 패키지의 어플리케이션이 설치될 전자 디바이스로 제3 어플리케이션 패키지를 전송할 수 있다. 제3 어플리케이션 패키지가 설치될 전자 디바이스는 제2 어플리케이션 패키지의 어플리케이션이 설치된 전자 디바이스와 페어링된 또 다른 전자 디바이스일 수 있다.The second application package transmitted to the other paired electronic device may include one or more third application packages. The other paired electronic device may extract the third application package from the second application package and transmit the third application package to an electronic device where an application of the third application package is to be installed. The electronic device on which the third application package is installed may be another electronic device paired with the electronic device in which the application of the second application package is installed.

도 9는 일 실시 예에 따라서, 신뢰된 어플리케이션을 포함하는 어플리케이션을 분배하는 방법을 나타낸 순서도이다.9 is a flowchart illustrating a method of distributing an application including a trusted application, according to an embodiment.

도 9를 참조하면, 단계 S910에서, 어플리케이션을 분배하는 장치는 전자 디바이스에 설치될 노멀 어플리케이션 및 전자 디바이스의 보안 영역에 설치될 신뢰된 어플리케이션을 획득할 수 있다.Referring to FIG. 9 , in step S910, the application distributing device may obtain a normal application to be installed in the electronic device and a trusted application to be installed in a secure area of the electronic device.

단계 S920에서, 어플리케이션을 분배하는 장치는 노멀 어플리케이션 및 신뢰된 어플리케이션을 어플리케이션 패키지로 결합할 수 있다. 어플리케이션 패키지는 신뢰된 어플리케이션 포함 여부를 나타내는 플래그를 더 포함할 수 있다. 어플리케이션 패키지는 복수 개의 신뢰된 실행 환경의 타입과 대응되는 복수 개의 신뢰된 어플리케이션을 포함할 수 있다.In step S920, the application distributing device may combine the normal application and the trusted application into an application package. The application package may further include a flag indicating whether a trusted application is included. The application package may include a plurality of trusted applications corresponding to a plurality of trusted execution environment types.

단계 S930에서, 장치는 어플리케이션 패키지를 어플리케이션이 설치될 전자 디바이스로 전송할 수 있다. 장치는 전자 디바이스의 요청에 따라 어플리케이션 패키지를 전자 디바이스로 전송할 수 있다.In step S930, the device may transmit the application package to the electronic device where the application is to be installed. The device may transmit the application package to the electronic device according to a request of the electronic device.

도 10은 일 실시 예에 따라서, 어플리케이션이 설치되는 전자 디바이스를 나타낸 블록도이다.10 is a block diagram illustrating an electronic device on which an application is installed, according to an exemplary embodiment.

도 10을 참조하면, 전자 디바이스(1000)는 예를 들어 네트워크 인터페이스(1010) 및 프로세서(1020)를 포함할 수 있다.Referring to FIG. 10 , an electronic device 1000 may include, for example, a network interface 1010 and a processor 1020.

네트워크 인터페이스(1010)는 어플리케이션을 설치하기 위한 어플리케이션 패키지를 외부 네트워크를 통해 획득할 수 있다. 어플리케이션 패키지는 전자 디바이스(1000)에 설치할 수 있는 어플리케이션 패키지를 제공하는 앱 스토어 등을 통해 전자 디바이스(1000)로 제공될 수 있다.The network interface 1010 may acquire an application package for installing an application through an external network. The application package may be provided to the electronic device 1000 through an app store providing application packages that can be installed in the electronic device 1000 .

프로세서(1020)는 네트워크 인터페이스(1010)를 통해 획득된 어플리케이션 패키지로부터 신뢰된 어플리케이션을 추출하고, 신뢰된 어플리케이션을 전자 디바이스(1000)의 보안 영역에 설치할 수 있다. 일 실시 예에서, 전자 디바이스(1000)의 보안 영역은 외부 접근이 제한된 신뢰된 실행 환경을 포함할 수 있다. 신뢰된 어플리케이션은 민감하고 중요한 데이터를 이용하여 작업을 수행할 수 있다. 신뢰된 어플리케이션은 신뢰된 실행 환경에서 실행됨으로써 높은 보안 레벨에서 작업을 수행할 수 있다.The processor 1020 may extract a trusted application from an application package obtained through the network interface 1010 and install the trusted application in a secure area of the electronic device 1000 . In one embodiment, the security area of the electronic device 1000 may include a trusted execution environment in which external access is restricted. Trusted applications can work with sensitive and important data. A trusted application can perform tasks at a high security level by being executed in a trusted execution environment.

일 실시 예에 의하면, 신뢰된 어플리케이션을 하나 이상의 전자 디바이스로 분배하기 위한 서버 기반의 시스템을 반드시 구비할 필요없이 어플리케이션 패키지를 이용하여 신뢰된 어플리케이션을 하나 이상의 전자 디바이스로 분배할 수 있다.According to an embodiment, a trusted application may be distributed to one or more electronic devices using an application package without necessarily having a server-based system for distributing the trusted application to one or more electronic devices.

한편, 상술한 실시예는, 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터에 의해 판독 가능한 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 실시예에서 사용된 데이터의 구조는 컴퓨터 판독 가능 매체에 여러 수단을 통하여 기록될 수 있다. 또한, 상술한 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로 구현될 수 있다. 예를 들어, 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 컴퓨터가 읽고 실행할 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다.Meanwhile, the above-described embodiment can be written as a program that can be executed on a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable medium. In addition, the structure of data used in the above-described embodiment can be recorded on a computer readable medium through various means. In addition, the above-described embodiments may be implemented in the form of a recording medium including instructions executable by a computer, such as program modules executed by a computer. For example, methods implemented as software modules or algorithms may be stored in a computer-readable recording medium as codes or program instructions that can be read and executed by a computer.

컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 기록 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 포함할 수 있다. 컴퓨터 판독 가능 매체는 마그네틱 저장매체, 예를 들면, 롬, 플로피 디스크, 하드 디스크 등을 포함하고,) 광학적 판독 매체, 예를 들면, 시디롬, DVD 등과 같은 저장 매체를 포함할 수 있으나, 이에 제한되지 않는다. 또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다.Computer readable media may be any recording media that can be accessed by a computer, and may include volatile and nonvolatile media, removable and non-removable media. The computer readable medium may include a magnetic storage medium, for example, a ROM, a floppy disk, a hard disk, etc., and) an optical reading medium, for example, a CD-ROM, a DVD, and the like. don't Also, computer readable media may include computer storage media and communication media.

또한, 컴퓨터가 읽을 수 있는 복수의 기록 매체가 네트워크로 연결된 컴퓨터 시스템들에 분산되어 있을 수 있으며, 분산된 기록 매체들에 저장된 데이터, 예를 들면 프로그램 명령어 및 코드가 적어도 하나의 컴퓨터에 의해 실행될 수 있다.In addition, a plurality of computer-readable recording media may be distributed among computer systems connected by a network, and data stored on the distributed recording media, for example, program instructions and codes, may be executed by at least one computer. there is.

본 개시에서 설명된 특정 실행들은 일 실시예 일 뿐이며, 어떠한 방법으로도 본 개시의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 및 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. The specific implementations described in this disclosure are only one example and do not limit the scope of the disclosure in any way. For brevity of the specification, a description of conventional electronic components, control systems, software, and other functional aspects of the systems may be omitted.

본 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.Terms such as "unit" and "module" described in this specification refer to a unit that processes at least one function or operation, which may be implemented as hardware or software or a combination of hardware and software.

"부", "모듈"은 어드레싱될 수 있는 저장 매체에 저장되며 프로세서에 의해 실행될 수 있는 프로그램에 의해 구현될 수도 있다."Unit" and "module" may be implemented by a program stored in an addressable storage medium and executed by a processor.

예를 들어, "부", "모듈" 은 소프트웨어 구성 요소들, 객체 지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들에 의해 구현될 수 있다.For example, "part" and "module" can refer to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and programs. It can be implemented by procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables.

Claims (15)

전자 장치에서, 어플리케이션을 설치하는 방법에 있어서,
플래그, 상기 어플리케이션 및 복수의 신뢰된 어플리케이션을 포함하는, 상기 어플리케이션을 설치하기 위한 어플리케이션 패키지를 획득하는 단계;
상기 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부를 나타내는, 상기 플래그에 기초하여, 상기 어플리케이션 패키지가 상기 전자 장치에 설치될 수 있는 제1 신뢰된 어플리케이션(trusted application)을 포함하는지 여부를 식별하는 단계; 및
상기 어플리케이션 패키지가 상기 제1 신뢰된 어플리케이션을 포함하는 경우, 상기 제1 신뢰된 어플리케이션을 상기 전자 장치에 설치하는 단계를 포함하고,
상기 어플리케이션 패키지에 포함된 상기 플래그에 기초하여, 상기 어플리케이션 패키지가 다른 전자 장치에 설치 가능한 제2 신뢰된 어플리케이션을 포함하는지 여부를 식별하는 단계; 및
상기 어플리케이션 패키지가 상기 제2 신뢰된 어플리케이션을 포함하는 경우, 상기 제2 신뢰된 어플리케이션을 상기 다른 전자 장치로 전송하는 단계를 더 포함하고,
상기 플래그는 상기 어플리케이션 패키지에 포함된 상기 복수의 신뢰된 어플리케이션 중 상기 전자 장치의 실행 환경에서 신뢰된 어플리케이션이 존재하는지 여부 및 상기 어플리케이션 패키지에 포함된 상기 복수의 신뢰된 어플리케이션 중 상기 다른 전자 장치의 실행 환경에서 신뢰된 어플리케이션이 존재하는지 여부를 나타내는, 방법.
In an electronic device, a method of installing an application,
obtaining an application package for installing the application, including a flag, the application, and a plurality of trusted applications;
identifying whether the application package includes a first trusted application that can be installed in the electronic device, based on the flag indicating whether the application package includes a trusted application; and
When the application package includes the first trusted application, installing the first trusted application in the electronic device;
identifying whether the application package includes a second trusted application installable in another electronic device, based on the flag included in the application package; and
If the application package includes the second trusted application, further comprising transmitting the second trusted application to the other electronic device;
The flag determines whether or not an application trusted in the execution environment of the electronic device exists among the plurality of trusted applications included in the application package and the execution of the other electronic device among the plurality of trusted applications included in the application package. A method that indicates whether a trusted application exists in the environment.
삭제delete 제1항에 있어서,
상기 어플리케이션 패키지로부터, 상기 다른 전자 장치에서 설치될 수 있는 제2 어플리케이션 패키지를 추출하는 단계; 및
상기 추출된 제2 어플리케이션 패키지를 상기 다른 전자 장치로 전송하는 단계를 더 포함하는, 방법.
According to claim 1,
extracting a second application package that can be installed in the other electronic device from the application package; and
Further comprising transmitting the extracted second application package to the other electronic device.
제1항에 있어서, 상기 다른 전자 장치는
상기 전자 장치와 페어링된 웨어러블 전자 장치를 포함하는, 방법.
The method of claim 1, wherein the other electronic device
A method comprising a wearable electronic device paired with the electronic device.
제1항에 있어서, 상기 설치하는 단계는
상기 어플리케이션 패키지가 서로 다른 타입의 보안 영역과 각각 대응되는 복수 개의 신뢰된 어플리케이션을 포함하는 경우, 상기 전자 장치의 타입에 기초하여, 상기 전자 장치의 보안 영역에서 설치될 수 있는 신뢰된 어플리케이션을 선택하는 단계;
상기 선택된 신뢰된 어플리케이션을 상기 전자 장치의 보안 영역에 설치하는 단계를 포함하는, 방법.
The method of claim 1, wherein the installing step
When the application package includes a plurality of trusted applications corresponding to different types of security areas, selecting a trusted application that can be installed in the security area of the electronic device based on the type of the electronic device. step;
and installing the selected trusted application in a secure area of the electronic device.
삭제delete 어플리케이션이 설치되는 전자 장치에 있어서,
플래그, 상기 어플리케이션 및 복수의 신뢰된 어플리케이션을 포함하는, 상기 어플리케이션을 설치하기 위한 어플리케이션 패키지를 획득하는 네트워크 인터페이스; 및
상기 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부를 나타내는, 상기 플래그에 기초하여, 상기 어플리케이션 패키지가 상기 전자 장치에서 설치될 수 있는 제1 신뢰된 어플리케이션(trusted application)을 포함하는지 여부를 식별하고, 상기 어플리케이션 패키지가 상기 제1 신뢰된 어플리케이션을 포함하는 경우, 상기 제1 신뢰된 어플리케이션을 상기 전자 장치에 설치하는 프로세서를 포함하고,
상기 프로세서는, 상기 어플리케이션 패키지에 포함된 상기 플래그에 기초하여, 상기 어플리케이션 패키지가 다른 전자 장치에 설치 가능한 제2 신뢰된 어플리케이션을 포함하는지 여부를 식별하고,
상기 어플리케이션 패키지가 상기 제2 신뢰된 어플리케이션을 포함하는 경우, 상기 제2 신뢰된 어플리케이션을 상기 다른 전자 장치로 전송하도록, 상기 네트워크 인터페이스를 제어하고,
상기 플래그는 상기 어플리케이션 패키지에 포함된 상기 복수의 신뢰된 어플리케이션 중 상기 전자 장치의 실행 환경에서 신뢰된 어플리케이션이 존재하는지 여부 및 상기 어플리케이션 패키지에 포함된 상기 복수의 신뢰된 어플리케이션 중 상기 다른 전자 장치의 실행 환경에서 신뢰된 어플리케이션이 존재하는지 여부를 나타내는, 전자 장치.
In an electronic device in which an application is installed,
a network interface for obtaining an application package for installing the application, including a flag, the application, and a plurality of trusted applications; and
Identifying whether the application package includes a first trusted application that can be installed in the electronic device based on the flag indicating whether the application package includes a trusted application; a processor to install the first trusted application in the electronic device when the application package includes the first trusted application;
The processor identifies whether the application package includes a second trusted application installable in another electronic device based on the flag included in the application package;
If the application package includes the second trusted application, control the network interface to transmit the second trusted application to the other electronic device;
The flag determines whether or not an application trusted in the execution environment of the electronic device exists among the plurality of trusted applications included in the application package and the execution of the other electronic device among the plurality of trusted applications included in the application package. An electronic device that indicates whether a trusted application exists in the environment.
삭제delete 제7항에 있어서, 상기 프로세서는
상기 어플리케이션 패키지로부터, 상기 다른 전자 장치에서 설치될 수 있는 제2 어플리케이션 패키지를 추출하고,
상기 추출된 제2 어플리케이션 패키지를 상기 다른 전자 장치로 전송하도록 상기 네트워크 인터페이스를 제어하는, 전자 장치.
The method of claim 7, wherein the processor
Extracting a second application package that can be installed in the other electronic device from the application package;
Controlling the network interface to transmit the extracted second application package to the other electronic device.
제7항에 있어서, 상기 다른 전자 장치는
상기 전자 장치와 페어링된 웨어러블 전자 장치를 포함하는, 전자 장치.
The method of claim 7, wherein the other electronic device
An electronic device comprising a wearable electronic device paired with the electronic device.
제7항에 있어서, 상기 프로세서는
상기 어플리케이션 패키지가 서로 다른 타입의 보안 영역과 각각 대응되는 복수 개의 신뢰된 어플리케이션을 포함하는 경우, 상기 전자 장치의 타입에 기초하여, 상기 전자 장치의 보안 영역에서 설치될 수 있는 신뢰된 어플리케이션을 선택하고, 상기 선택된 신뢰된 어플리케이션을 상기 전자 장치의 보안 영역에 설치하는, 전자 장치.
The method of claim 7, wherein the processor
When the application package includes a plurality of trusted applications corresponding to different types of security areas, based on the type of the electronic device, a trusted application that can be installed in the security area of the electronic device is selected; , Installing the selected trusted application in the secure area of the electronic device.
삭제delete 삭제delete 삭제delete 삭제delete
KR1020160057812A 2015-09-15 2016-05-11 Method and apparatus for installing a trusted application on electronic device KR102548900B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP16846726.4A EP3321802A4 (en) 2015-09-15 2016-05-20 Method and apparatus for installation of trusted application in electronic device
US15/760,457 US10379833B2 (en) 2015-09-15 2016-05-20 Method and apparatus for installation of trusted application in electronic device
PCT/KR2016/005388 WO2017047904A1 (en) 2015-09-15 2016-05-20 Method and apparatus for installation of trusted application in electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1516326.4A GB2542355B (en) 2015-09-15 2015-09-15 Methods and apparatus for distributing and installing trusted applications
GB1516326.4 2015-09-15

Publications (2)

Publication Number Publication Date
KR20170032824A KR20170032824A (en) 2017-03-23
KR102548900B1 true KR102548900B1 (en) 2023-06-28

Family

ID=54363202

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160057812A KR102548900B1 (en) 2015-09-15 2016-05-11 Method and apparatus for installing a trusted application on electronic device

Country Status (4)

Country Link
US (1) US10379833B2 (en)
EP (1) EP3321802A4 (en)
KR (1) KR102548900B1 (en)
GB (1) GB2542355B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013065915A1 (en) * 2011-11-04 2013-05-10 에스케이플래닛 주식회사 Method for interworking trust between a trusted region and an untrusted region, method, server, and terminal for controlling the downloading of trusted applications, and control system applying same

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6353926B1 (en) * 1998-07-15 2002-03-05 Microsoft Corporation Software update notification
US8006243B2 (en) * 1999-12-07 2011-08-23 International Business Machines Corporation Method and apparatus for remote installation of network drivers and software
US6854016B1 (en) * 2000-06-19 2005-02-08 International Business Machines Corporation System and method for a web based trust model governing delivery of services and programs
US6681391B1 (en) * 2000-06-21 2004-01-20 Microsoft Corporation Method and system for installing software on a computer system
US7350204B2 (en) * 2000-07-24 2008-03-25 Microsoft Corporation Policies for secure software execution
US7930537B2 (en) * 2002-08-13 2011-04-19 Nokia Corporation Architecture for encrypted application installation
US7337330B2 (en) * 2003-03-10 2008-02-26 Cyberview Technology, Inc. Universal game download system for legacy gaming machines
US7290258B2 (en) * 2003-06-25 2007-10-30 Microsoft Corporation Managing multiple devices on which operating systems can be automatically deployed
US7624394B1 (en) * 2003-11-18 2009-11-24 Adobe Systems Incorporation Software installation verification
US8074214B2 (en) * 2005-05-19 2011-12-06 Oracle International Corporation System for creating a customized software installation on demand
US8869142B2 (en) * 2006-01-27 2014-10-21 Microsoft Corporation Secure content publishing and distribution
US8752044B2 (en) * 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
CN101755291B (en) * 2007-07-24 2012-05-30 Nxp股份有限公司 Method, system and trusted service manager for securely transmitting an application to a mobile phone
US8938735B2 (en) * 2007-08-31 2015-01-20 Thomson Reuters Global Resources Bootstrapper and software download manager
US8505056B2 (en) * 2008-07-10 2013-08-06 Apple Inc. Updating properties of remote A/V performance nodes
US8832681B1 (en) * 2008-08-29 2014-09-09 Adobe Systems Incorporated Bundled mobile/desktop application package
US8887144B1 (en) * 2009-09-04 2014-11-11 Amazon Technologies, Inc. Firmware updates during limited time period
KR101602461B1 (en) 2009-09-22 2016-03-15 삼성전자주식회사 Method for controlling display apparatus and mobile phone
US8769305B2 (en) * 2011-03-21 2014-07-01 Moncana Corporation Secure execution of unsecured apps on a device
US10496824B2 (en) * 2011-06-24 2019-12-03 Microsoft Licensing Technology, LLC Trusted language runtime on a mobile platform
US8914794B2 (en) * 2011-06-30 2014-12-16 Rockwell Automation Technologies, Inc. Multiple deployment of applications with multiple configurations in an industrial automation environment
US9009856B2 (en) 2011-12-16 2015-04-14 Dell Products L.P. Protected application programming interfaces
US9317689B2 (en) * 2012-06-15 2016-04-19 Visa International Service Association Method and apparatus for secure application execution
CN102752457B (en) 2012-07-19 2014-09-03 腾讯科技(深圳)有限公司 Method and system for installing applications
US9569184B2 (en) 2012-09-05 2017-02-14 Microsoft Technology Licensing, Llc Generating native code from intermediate language code for an application
US9442709B1 (en) * 2012-10-24 2016-09-13 Sprint Communications Company L.P. Transition experience during loading and updating an interface and applications pack
KR20140077539A (en) 2012-12-14 2014-06-24 삼성전자주식회사 Method and apparatus for protecting application program
US9323514B2 (en) 2013-05-30 2016-04-26 Microsoft Technology Licensing, Llc Resource package indexing
US9871821B2 (en) * 2014-11-11 2018-01-16 Oracle International Corporation Securely operating a process using user-specific and device-specific security constraints

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013065915A1 (en) * 2011-11-04 2013-05-10 에스케이플래닛 주식회사 Method for interworking trust between a trusted region and an untrusted region, method, server, and terminal for controlling the downloading of trusted applications, and control system applying same

Also Published As

Publication number Publication date
GB2542355B (en) 2019-07-17
KR20170032824A (en) 2017-03-23
GB201516326D0 (en) 2015-10-28
EP3321802A4 (en) 2018-07-11
GB2542355A (en) 2017-03-22
US20180260202A1 (en) 2018-09-13
EP3321802A1 (en) 2018-05-16
US10379833B2 (en) 2019-08-13

Similar Documents

Publication Publication Date Title
JP5891414B2 (en) Information processing apparatus and method for preventing unauthorized application cooperation
KR101503785B1 (en) Method And Apparatus For Protecting Dynamic Library
US9075966B2 (en) System and method for loading application classes
EP2680138B1 (en) Dynamic rule management for kernel mode filter drivers
CN106557669A (en) A kind of authority control method and device of application program installation process
JPWO2007040228A1 (en) Information processing apparatus, information processing method, and program
CN102110213A (en) Detection of hided object in computer system
JP2010182196A (en) Information processing apparatus and file verification system
KR20160098912A (en) Method for Re-adjusting Application Permission and User terminal for performing the same Method
CN106557687A (en) A kind of authority control method and device of application program installation process
CN115378735A (en) Data processing method and device, storage medium and electronic equipment
US8656182B2 (en) Security mechanism for developmental operating systems
KR101429131B1 (en) Device and method for securing system
US20180101485A1 (en) Method and apparatus for accessing private data in physical memory of electronic device
CN106982428B (en) Security configuration method, security control device and security configuration device
KR101283884B1 (en) Apparatus, method and computer readable recording medium for safeguard
KR102548900B1 (en) Method and apparatus for installing a trusted application on electronic device
CN108647516B (en) Method and device for defending against illegal privilege escalation
CN107392010B (en) Root operation execution method and device, terminal equipment and storage medium
KR102538096B1 (en) Device and method of verify application
US10091233B2 (en) Method and apparatus for controlling functionality using codes
KR101588533B1 (en) Method and Apparatus for Tightening Security of Application in Android System
US20170147798A1 (en) Mobile Device And Method Of Operating Mobile Device
TWI446207B (en) The device and method used to load the app category
WO2017047904A1 (en) Method and apparatus for installation of trusted application in electronic device

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right