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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols 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
본 개시는 신뢰된 어플리케이션(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
어플리케이션 분배 서비스 장치(110)는 어플리케이션을 전자 디바이스에 설치하기 위한 어플리케이션 패키지를 네트워크(120)를 통해 적어도 하나의 전자 디바이스(100)로 전송할 수 있다. 어플리케이션 분배 서비스 장치(110)는 전자 디바이스(100)의 요청에 따라 전자 디바이스(100)로 어플리케이션 패키지를 전송할 수 있다.The application
전자 디바이스(100)는 프로세서(101), 네트워크에 접속하기 위한 네트워크 인터페이스(102) 및 프로세서(101)에 의해 실행될 수 있는 컴퓨터 프로그램을 저장하기 위한 메모리(103)를 포함한다. 프로세서(101)는 도 2에 도시되어 있는 리치(rich) OS 환경(101a) 및 신뢰된 실행 환경(Trusted Execution Environment; TEE, 101b)을 적어도 하나 포함할 수 있다. 리치(rich) OS 환경(101a) 및 신뢰된 실행 환경(101b)은 노멀 어플리케이션 및 신뢰된 어플리케이션이 실행될 수 있는 환경을 제공할 수 있다. 이하에서는, 리치 OS 환경(101a)에 설치되는 어플리케이션을 노멀 어플리케이션이라 지칭하기로 한다. The
메모리(103)는 컴퓨터로 판독 가능한 기록 매체를 포함할 수 있다. 전자 디바이스(100)의 메모리(103)는 어플리케이션 매니저(104) 및 신뢰된 어플리케이션 설치 서비스부(105)를 포함한다. 일 실시 예에 있어서, 어플리케이션 매니저(104) 및 신뢰된 어플리케이션 설치 서비스부(105)는 메모리(103)에 저장된 소프트웨어 프로그램일 수 있다. 또한, 어플리케이션 매니저(104) 및 신뢰된 어플리케이션 설치 서비스부(105)는 전자 디바이스(100)에 임베디드될 수 있다. The
어플리케이션 매니저(104)는 어플리케이션 분배 서비스 장치(110)로부터 어플리케이션 패키지를 획득할 수 있다. 어플리케이션 패키지는 리치 OS 환경(101a)에 설치될 수 있는 노멀 어플리케이션을 포함할 수 있다.The
신뢰된 어플리케이션 설치 서비스부(105)는 어플리케이션 분배 서비스 장치(110)로부터 획득된 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부를 체크할 수 있다. 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는 경우, 신뢰된 어플리케이션 설치 서비스부(105)는 어플리케이션 패키지로부터 신뢰된 어플리케이션을 추출하고, 신뢰된 실행 환경(101b)에 신뢰된 어플리케이션을 설치할 수 있다. The trusted application
신뢰된 어플리케이션 설치 서비스부(105)는 전자 디바이스(100)의 제조자에 의해 전자 디바이스(100)에 미리 구비될 수 있다. 따라서, 신뢰된 어플리케이션 설치 서비스부(105)는 신뢰된 실행 환경(101b)의 아키텍처에 적응될 수 있도록 전자 디바이스(100)에 구비될 수 있다. 신뢰된 어플리케이션 설치 서비스부(105)는 어플리케이션 패키지로부터 신뢰된 어플리케이션을 추출하고, 신뢰된 어플리케이션을 설치할 수 있다. 따라서, 일 실시 예에 의하면, 신뢰된 어플리케이션을 복수 개의 전자 디바이스들(100)로 분배하고 관리하기 위한 별도의 서버 기반 시스템은 필요로 하지 않을 수 있다.The trusted application
도 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
리치 OS 환경(101a)에서는, 운영체제(OS; operating system) 상에서 노멀 어플리케이션이 실행될 수 있다. 리치 OS 환경(101a)은 전자 디바이스(100)의 통상적인(conventional) 노멀 어플리케이션들이 실행될 수 있는 운영체제를 포함할 수 있다. 리치 OS 환경(101a)에서 실행되는 노멀 어플리케이션들은 운영체제에 의해 서로 고립(isolated)되어 실행될 수 있다. 따라서, 노멀 어플리케이션들은 외부 공격에 맞서 보호될 수 있다. 그러나, 리치 OS 환경(101a)의 운영체제는 상대적으로 보안 수준이 높지 않아, 리치 OS 환경(101a)의 운영체제는 멀웨어에 의해 오염될 가능성이 존재한다. 어플리케이션의 보안 수준은 기저의(underlying) 운영체제에 의존적(dependent)이므로, 리치 OS 환경(101a)의 운영체제가 오염되는 경우, 노멀 어플리케이션도 오염될 가능성이 높아진다. 따라서, 리치 OS 환경(101a)에서는 상대적으로 보안이 중요하지 않은 데이터를 다루는 프로세스들이 노멀 어플리케이션에 의해 수행될 수 있다.In the
신뢰된 실행환경(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
리치 OS 환경(101a) 및 신뢰된 실행환경(101b)은 병렬적으로 실행되는 분리된 운영체제 환경일 수 있다. 리치 OS 환경(101a) 및 신뢰된 실행환경(101b) 간 데이터 흐름은 엄격히 제어됨에 따라 신뢰된 실행환경(101b)의 데이터는 보호될 수 있다. 리치 OS 환경(101a)에 비해 신뢰된 실행환경(101b)에 대한 외부 접근은 신뢰된 실행 환경(101b)에서 처리되는 데이터의 보호를 위해 엄격하게 제한될 수 있다.The
신뢰된 어플리케이션은 리치 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
도 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
단계 S320에서, 전자 디바이스(100)는 단계 S310에서 획득된 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부를 결정할 수 있다. 예를 들면, 전자 디바이스(100)는 신뢰된 어플리케이션의 포함 여부를 나타내는 플래그 값에 기초하여 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부를 결정할 수 있다. 플래그는 어플리케이션 패키지에 포함될 수 있다. 일 실시 예에 의하면, 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부와는 관계 없이, 전자 디바이스(100)는 어플리케이션 패키지를 이용하여 리치 OS 환경(101a)에 노멀 어플리케이션을 설치할 수 있다.In step S320, the
단계 S330에서, 전자 디바이스(100)는 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는 경우, 신뢰된 어플리케이션을 어플리케이션 패키지로부터 추출하여, 전자 디바이스(100)에 설치할 수 있다. 일 예로, 신뢰된 어플리케이션은 전자 디바이스(100)의 보안 영역에 설치될 수 있다. 전자 디바이스(100)의 보안 영역은 높은 보안 수준의 환경을 신뢰된 어플리케이션에 제공할 수 있다. 예를 들면, 보안 영역은 신뢰된 실행환경(101b)을 포함할 수 있다. 신뢰된 실행환경(101b)은 외부로부터의 접근을 엄격히 제한함으로써, 높은 보안 수준의 환경을 신뢰된 어플리케이션에 제공할 수 있다. 신뢰된 어플리케이션은 보안 영역에 설치됨으로써, 높은 보안 수준의 환경에서 민감하고 중요한 데이터를 처리하는 동작을 수행할 수 있다.In operation S330 , when the application package includes a trusted application, the
도 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
예를 들면, 전자 디바이스(100)는 어플리케이션 분배 서비스 장치(110)에 의해 제공되는 앱 스토어에 접속할 수 있다. 앱 스토어는 전자 디바이스(100)에 설치된 어플리케이션에 관한 정보와, 전자 디바이스(100)에 설치될 수 있는 새로운 어플리케이션에 관한 정보 중 적어도 하나를 전자 디바이스(100)에 제공할 수 있다. 전자 디바이스(100)에 설치될 어플리케이션이 선택되면, 전자 디바이스(100)는 선택된 어플리케이션을 전자 디바이스(100)에 설치하기 위한 어플리케이션 패키지를 앱 스토어를 통해 다운로드할 수 있다. For example, the
단계 S420에서, 전자 디바이스(100)는 어플리케이션 패키지를 이용하여 노멀 어플리케이션을 리치 OS 환경(101a)에 설치할 수 있다. In step S420, the
단계 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
단계 S440에서, 새로운 어플리케이션이 설치됨을 나타내는 이벤트 알림에 대응하여, 전자 디바이스(100)는 리치 OS 환경(101a)에 설치된 새로운 어플리케이션의 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부를 결정할 수 있다. 예를 들면, 전자 디바이스(100)는 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부를 나타내는 플래그 값에 기초하여, 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부를 결정할 수 있다. 일 실시 예에서, 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하지 않는 경우, 신뢰된 어플리케이션의 설치는 필요하지 않으므로, 어플리케이션의 설치는 종료될 수 있다.In step S440, in response to the event notification indicating that a new application is installed, the
단계 S450에서, 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는 경우, 전자 디바이스(100)는 복수 개의 신뢰된 어플리케이션이 어플리케이션 패키지에 포함되어 있는지 여부를 결정할 수 있다. 예를 들면, 전자 디바이스(100)는 어플리케이션 패키지에 포함된 신뢰된 어플리케이션을 나타내는 식별 정보에 기초하여, 복수 개의 신뢰된 어플리케이션이 어플리케이션 패키지에 포함되어 있는지 여부를 판단할 수 있다. In step S450, when the application package includes trusted applications, the
일 실시예에 의한 어플리케이션 패키지는 서로 다른 타입의 신뢰된 실행 환경(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
단계 S460에서, 어플리케이션 패키지가 복수 개의 신뢰된 어플리케이션을 포함하는 경우, 전자 디바이스(100)신뢰된 어플리케이션이 설치될 신뢰된 실행 환경(101b)에 설치될 수 있는 신뢰된 어플리케이션을 선택할 수 있다. 예를 들면, 전자 디바이스(100)는 복수 개의 신뢰된 어플리케이션 중 신뢰된 실행 환경(101b)에서 설치되어 실행될 수 있는 신뢰된 어플리케이션을 선택할 수 있다. In step S460, when the application package includes a plurality of trusted applications, the
일 실시 예에서, 서로 다른 타입의 신뢰된 실행 환경(101b)들이 전자 디바이스(100)에 존재하는 경우, 전자 디바이스(100)는 각각의 신뢰된 실행 환경(101b)에 설치될 수 있는 신뢰된 어플리케이션을 복수 개 선택할 수 있다. In one embodiment, when different types of trusted
그리고, 단계 S470에서 전자 디바이스(100)는 어플리케이션 패키지로부터 단계 S460에서 선택된 신뢰된 어플리케이션을 추출하고, 신뢰된 실행환경(101b)에 신뢰된 어플리케이션을 설치할 수 있다.In step S470, the
일 실시예에 의하면, 신뢰된 어플리케이션은 리치 OS 환경(101a)에 노멀 어플리케이션이 설치된 후 설치되거나, 노멀 어플리케이션이 리치 OS 환경(101a)에 설치되기 전에 설치될 수 있다. 또한, 리치 OS 환경(101a)에서 노멀 어플리케이션 및 신뢰된 어플리케이션은 병렬적으로 설치될 수도 있다. According to an embodiment, the trusted application may be installed after the normal application is installed in the
다만, 새로운 어플리케이션이 설치될 때 새로운 어플리케이션이 설치됨을 알리는 시스템 알림이 활성화되는 경우, 리치 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
한편, 어플리케이션 패키지에 하나의 신뢰된 어플리케이션만 포함되어 있는 경우, 전자 디바이스(100)는 어플리케이션 패키지에 포함된 신뢰된 어플리케이션을 신뢰된 실행 환경(101b)에 설치할 수 있다. 다만, 신뢰된 어플리케이션 설치 서비스부(105)는 신뢰된 어플리케이션이 신뢰된 실행 환경(101b)에 설치될 수 없는 경우, 신뢰된 어플리케이션을 설치하지 않고 신뢰된 어플리케이션을 설치하는 프로세스를 종료할 수 있다. 예를 들면, 신뢰된 어플리케이션의 타입과 신뢰된 실행 환경(101b)의 타입이 상이한 경우, 신뢰된 어플리케이션 설치 서비스부(105)는 신뢰된 어플리케이션을 설치하지 않고 신뢰된 어플리케이션을 설치하는 프로세스를 종료할 수 있다.Meanwhile, when the application package includes only one trusted application, the
도 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
예를 들면, 어플리케이션 패키지 생성부(111)는 소정의 운영체제를 기반으로 하는 소프트웨어 개발킷(Software Development Kit)을 이용하여 어플리케이션 패키지(113)를 생성할 수 있다. 소프트웨어 개발 킷은 하드웨어 플랫폼, 컴퓨터 시스템, 운영 체제 등을 위한 응용 프로그램을 만들 수 있게 하는 개발 도구의 집합이다. 어플리케이션 패키지 생성부(111)는 전자 디바이스(100)에 설치된 운영체제에 설치될 수 있는 어플리케이션 패키지(113)를 소프트웨어 개발킷을 이용하여 생성할 수 있다.For example, the application
어플리케이션 패키지 생성부(111)는 신뢰된 어플리케이션(116)이 노멀 어플리케이션(115)과 함께 전자 디바이스(100)에 설치될 수 있도록 신뢰된 어플리케이션(116)이 포함된 어플리케이션 패키지(113)를 생성할 수 있다. 어플리케이션 패키지 생성부(111)는 어플리케이션 패키지(113)에 신뢰된 어플리케이션(116)이 포함되었는지 여부를 나타내기 위해 플래그(114)의 상태를 설정할 수 있다. 예를 들면, 플래그(114)는 신뢰된 어플리케이션(116)이 포함되면, 'TRUE'로 설정되거나 신뢰된 어플리케이션(116)이 포함되지 않으면, 'FALSE'로 설정될 수 있다. The application
일 예로, 어플리케이션 패키지(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
전자 디바이스(100)는 플래그(114)의 상태를 체크함으로써 어플리케이션 패키지(113)가 신뢰된 어플리케이션(116)을 포함하는지 여부를 결정할 수 있다. 전자 디바이스(100)는 플래그(114) 값이 'TRUE'인 경우, 신뢰된 어플리케이션(116)을 설치하기 위한 프로세스를 수행할 수 있다.The
또한, 신뢰된 실행 환경의 관리를 위한 인증 토큰이 어플리케이션 패키지(113)에 임베딩될 수 있다. 따라서, 인증 토큰에 의해, 전자 디바이스(100)에서 신뢰된 어플리케이션(116)에 대한 다양한 관리 기능(예를 들면, 신뢰된 어플리케이션 삭제, 업데이트 및 상태 업데이트)이 지원될 수 있다. 인증 토큰은 신뢰된 실행 환경의 벤더 또는 보안 도메인 소유자와 같이, 전자 디바이스(100)의 신뢰된 실행 환경 또는 신뢰된 어플리케이션(116)과 관련된 권한을 가진 주체에 의하여 발생된 인증된 명령어를 나타내는 전자적으로 서명된 바이너리 데이터이다.Also, an authentication token for managing a trusted execution environment may be embedded in the
상술한 바와 같이 플래그(114)는 신뢰된 어플리케이션(116)의 존재 및 부존재를 시그널링할 수 있다. 이에 한하지 않고, 신뢰된 어플리케이션(116)의 존재 및 부존재는 신뢰된 어플리케이션(116)의 존재 여부를 나타내는 시그널인 접미어(suffix), 예를 들면, ".TA PKG"를 포함함으로써 패키지 이름 속성을 통해 시그널링될 수 있다. As described above, the
어플리케이션 분배 서비스 장치(110)는 전자 디바이스(100)에 어플리케이션 패키지(113)를 전송하는 어플리케이션 분배부(112)를 포함할 수 있다. 어플리케이션 분배부(112)는 어플리케이션 패키지 생성부(111)에 의해 생성된 어플리케이션 패키지(113)를 전자 디바이스(100)로 전송할 수 있다. 어플리케이션 분배부(112)는 전자 디바이스(100)의 요청에 따라 어플리케이션 패키지(113)를 전자 디바이스(100)로 전송할 수 있다.The application
도 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
어플리케이션의 개발자는 서로 다른 타입의 전자 디바이스(100)들에 동일한 어플리케이션 패키지(600)를 제공할 수 있다. 서로 다른 타입의 전자 디바이스(100)들은 서로 다른 타입의 신뢰된 실행 환경(101b)을 포함할 수 있다. 어플리케이션 패키지(600)는 서로 다른 타입의 신뢰된 실행 환경(101b)에 설치될 수 있는 복수 개의 신뢰된 어플리케이션(630, 640)을 포함할 수 있다. 따라서, 하나의 어플리케이션 패키지(600)가 전자 디바이스(100)들에 제공될 수 있다. 일 실시 예에서, 전자 디바이스(100)는 전자 디바이스(100)의 타입과 일치하는 신뢰된 어플리케이션(630, 640)을 어플리케이션 패키지(600)로부터 추출하고 전자 디바이스(100)의 신뢰된 실행 환경(101b)에 설치할 수 있다.An application developer may provide the
도 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
이하 설명에서, 제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
제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
또한, 제1 어플리케이션 패키지(721)는 타입 1의 웨어러블 전자 디바이스(710)에 대한 제2 어플리케이션 패키지(723) 및 타입 2의 웨어러블 전자 디바이스에 대한 어플리케이션 패키지(726)를 더 포함할 수 있다. 서로 다른 타입의 웨어러블 전자 디바이스들은 서로 다른 운영체제를 포함하거나 서로 다른 신뢰된 실행 환경을 포함할 수 있다. 타입 1 웨어러블 전자 디바이스에 대한 어플리케이션 패키지(723) 및 타입 2 웨어러블 전자 디바이스에 대한 어플리케이션 패키지(726)는 각각 서로 다른 운영체제에 설치될 수 있는 노멀 어플리케이션(724, 727) 및 서로 다른 신뢰된 실행 환경에 설치될 수 있는 신뢰된 어플리케이션(725, 728) 중 적어도 하나를 포함할 수 있다. 예를 들면, 모바일 전자 디바이스(720)에 의해 획득된 제1 어플리케이션 패키지(721)는 제2 어플리케이션 패키지로써 안드로이드 웨어 스마트 워크에 대한 안드로이드 패키지를 포함하거나, 삼성 기어 스마트 워치에 대한 위젯을 포함할 수 있다. In addition, the
각각의 제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
모바일 전자 디바이스(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
제2 어플리케이션 패키지(723)에 포함된 노멀 어플리케이션(724) 및 신뢰된 어플리케이션(725) 중 적어도 하나는 모바일 전자 디바이스(720)에 설치된 노멀 어플리케이션(729) 또는 신뢰된 어플리케이션(730)과 관련된 것일 수 있다. 예를 들면, 제2 어플리케이션 패키지(723)는 모바일 전자 디바이스(720)에 설치된 노멀 어플리케이션(729)과 연동되어 실행될 수 있는 타입 1의 노멀 어플리케이션(724) 및 신뢰된 어플리케이션(725) 중 적어도 하나를 포함할 수 있다.At least one of the
도 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
네트워크 인터페이스(1010)는 어플리케이션을 설치하기 위한 어플리케이션 패키지를 외부 네트워크를 통해 획득할 수 있다. 어플리케이션 패키지는 전자 디바이스(1000)에 설치할 수 있는 어플리케이션 패키지를 제공하는 앱 스토어 등을 통해 전자 디바이스(1000)로 제공될 수 있다.The
프로세서(1020)는 네트워크 인터페이스(1010)를 통해 획득된 어플리케이션 패키지로부터 신뢰된 어플리케이션을 추출하고, 신뢰된 어플리케이션을 전자 디바이스(1000)의 보안 영역에 설치할 수 있다. 일 실시 예에서, 전자 디바이스(1000)의 보안 영역은 외부 접근이 제한된 신뢰된 실행 환경을 포함할 수 있다. 신뢰된 어플리케이션은 민감하고 중요한 데이터를 이용하여 작업을 수행할 수 있다. 신뢰된 어플리케이션은 신뢰된 실행 환경에서 실행됨으로써 높은 보안 레벨에서 작업을 수행할 수 있다.The
일 실시 예에 의하면, 신뢰된 어플리케이션을 하나 이상의 전자 디바이스로 분배하기 위한 서버 기반의 시스템을 반드시 구비할 필요없이 어플리케이션 패키지를 이용하여 신뢰된 어플리케이션을 하나 이상의 전자 디바이스로 분배할 수 있다.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.
상기 어플리케이션 패키지로부터, 상기 다른 전자 장치에서 설치될 수 있는 제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.
상기 전자 장치와 페어링된 웨어러블 전자 장치를 포함하는, 방법.The method of claim 1, wherein the other electronic device
A method comprising a wearable electronic device paired with the electronic device.
상기 어플리케이션 패키지가 서로 다른 타입의 보안 영역과 각각 대응되는 복수 개의 신뢰된 어플리케이션을 포함하는 경우, 상기 전자 장치의 타입에 기초하여, 상기 전자 장치의 보안 영역에서 설치될 수 있는 신뢰된 어플리케이션을 선택하는 단계;
상기 선택된 신뢰된 어플리케이션을 상기 전자 장치의 보안 영역에 설치하는 단계를 포함하는, 방법.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.
플래그, 상기 어플리케이션 및 복수의 신뢰된 어플리케이션을 포함하는, 상기 어플리케이션을 설치하기 위한 어플리케이션 패키지를 획득하는 네트워크 인터페이스; 및
상기 어플리케이션 패키지가 신뢰된 어플리케이션을 포함하는지 여부를 나타내는, 상기 플래그에 기초하여, 상기 어플리케이션 패키지가 상기 전자 장치에서 설치될 수 있는 제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.
상기 어플리케이션 패키지로부터, 상기 다른 전자 장치에서 설치될 수 있는 제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.
상기 전자 장치와 페어링된 웨어러블 전자 장치를 포함하는, 전자 장치.The method of claim 7, wherein the other electronic device
An electronic device comprising a wearable electronic device paired with the electronic device.
상기 어플리케이션 패키지가 서로 다른 타입의 보안 영역과 각각 대응되는 복수 개의 신뢰된 어플리케이션을 포함하는 경우, 상기 전자 장치의 타입에 기초하여, 상기 전자 장치의 보안 영역에서 설치될 수 있는 신뢰된 어플리케이션을 선택하고, 상기 선택된 신뢰된 어플리케이션을 상기 전자 장치의 보안 영역에 설치하는, 전자 장치.
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.
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)
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)
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 |
-
2015
- 2015-09-15 GB GB1516326.4A patent/GB2542355B/en not_active Expired - Fee Related
-
2016
- 2016-05-11 KR KR1020160057812A patent/KR102548900B1/en active IP Right Grant
- 2016-05-20 EP EP16846726.4A patent/EP3321802A4/en not_active Withdrawn
- 2016-05-20 US US15/760,457 patent/US10379833B2/en not_active Expired - Fee Related
Patent Citations (1)
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 |