[go: up one dir, main page]

KR20140112392A - Application access control method and electronic device implementing the same - Google Patents

Application access control method and electronic device implementing the same Download PDF

Info

Publication number
KR20140112392A
KR20140112392A KR1020140010227A KR20140010227A KR20140112392A KR 20140112392 A KR20140112392 A KR 20140112392A KR 1020140010227 A KR1020140010227 A KR 1020140010227A KR 20140010227 A KR20140010227 A KR 20140010227A KR 20140112392 A KR20140112392 A KR 20140112392A
Authority
KR
South Korea
Prior art keywords
access control
application
area
access
electronic device
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
KR1020140010227A
Other languages
Korean (ko)
Inventor
루킨 안드리
바실스키이 비타리이
이경희
코르키스코 티무르
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20140112392A publication Critical patent/KR20140112392A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)

Abstract

본 개시의 다양한 실시 예들에 따른 전자 장치에서 접근을 제어하는 방법은 상기 전자장치에 구성된 영역들 중 제 1 영역에 존재하는 접근 제어 모듈이, 제 2 영역에 존재하는 어플리케이션의 자원에 대한 접근 요구에 반응하여, 상기 어플리케이션의 고유 식별자를 상기 제 2영역에서 획득하는 동작; 상기 고유 식별자가 접근 제어 리스트에 존재하는지 여부를 판단하는 동작; 및 상기 고유 식별자가 상기 접근 제어 리스트에 존재할 경우 상기 자원에 대한 접근을 승인하는 동작을 포함할 수 있다.A method for controlling access in an electronic device according to various embodiments of the present disclosure includes the steps of determining whether an access control module in a first one of the areas configured in the electronic device Obtaining an unique identifier of the application in the second region; Determining whether the unique identifier is present in the access control list; And approving access to the resource if the unique identifier is present in the access control list.

Description

어플리케이션 접근 제어 방법 및 이를 구현하는 전자장치{APPLICATION ACCESS CONTROL METHOD AND ELECTRONIC DEVICE IMPLEMENTING THE SAME}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an application access control method,

본 개시의 다양한 실시 예는 컴퓨팅 자원(computing resource or computational resource)에 대한 어플리케이션의 접근을 제어하는 방법 및 이를 구현하는 전자장치에 관한 것이다.Various embodiments of the present disclosure are directed to methods of controlling access of an application to computing resources or computational resources and to electronic devices implementing the same.

스마트 폰, 태블릿 PC 등과 같은 전자장치는 메모리, 프로세서 및 운영체제(OS: Operating System)를 탑재하고 이에 따라 다양한 어플리케이션을 실행할 수 있다. 전자 장치는 컴퓨팅 자원에 대한 어플리케이션의 접근을 제어할 수 있다.Electronic devices such as smart phones, tablet PCs, and the like can be loaded with memories, processors, and operating systems (OSs) and can execute various applications accordingly. The electronic device may control access of the application to computing resources.

전자 장치는 컴퓨팅 자원 예컨대, 스토리지(storage)에 대한 접근을 제어하기 위한 드라이버를 가질 수 있다. 이러한 드라이버는 스토리지에 접근을 시도하려는 프로세스(예: 스토리지에 저장된 모든 데이터를 삭제하려는 행위)가 실행될 때, 이러한 삭제 행위가 유효한 것인지 여부를 검사(check)할 수 있다. 삭제 행위가 유효하면(예컨대, 사용자가 입력한 패스워드가 유효한 값이면), 드라이버는 상기 삭제 프로세스를 실행할 수 있다. 그러나, 이러한 접근 제어 방법은 사용자와의 상호 작용(예: 패스워드 입력)에 기반이 되는 것이기 때문에, 드라이버의 접근 제어 방법으로는 적합하지 않다.The electronic device may have a driver for controlling access to computing resources, e.g., storage. Such a driver may check whether such a deletion action is valid when a process attempting to access the storage (e.g., an attempt to delete all data stored in the storage) is executed. If the deletion action is valid (e.g., if the password entered by the user is a valid value), the driver may execute the deletion process. However, this access control method is not suitable as a driver's access control method because it is based on interaction with the user (for example, password input).

전자 장치는 클라이언트로써 서버(예: proxy server)와 통신할 수 있다. 이러한 서버는 월드 가든(walled garden)(즉, 사적으로 통제된 환경에서 존재하는 콘텐츠나 서비스)에 대한 접근을 제어할 수 있다. 클라이언트는 월드 가든 내에 존재하는 사이트에서 제공되는 서비스에 대한 접근을 서버에게 요구할 수 있다. 사이트는 API(Application Programming Interface)에 존재하는 기능(function)을 호출(call)하기 위한 코드를 클라이언트에게 전송할 수 있다. 코드가 유효한 경우 클라이언트는 코드에 대응되는 API의 기능을 호출하여 실행할 수 있다. 코드가 무효한 경우 클라이언트는 실행을 중단할 수 있다. 그러나 이러한 접근 제어 방법은 특정 모드(privileged mode)에 의해 기능의 실행을 위한 접근 제어를 제공하기 때문에 너무 복잡하다.An electronic device can communicate with a server (e.g., a proxy server) as a client. These servers can control access to walled gardens (ie content or services that exist in a privately controlled environment). The client can request the server to access the service provided at the site existing in the world garden. The site can send the client a code to call a function that exists in the API (Application Programming Interface). If the code is valid, the client can call and execute the function of the API corresponding to the code. If the code is invalid, the client can abort the execution. However, these access control methods are too complex because they provide access control for the execution of functions by a privileged mode.

전자 장치는 구성(예: 어플리케이션, 운영체제 등)에 대한 부당한 사용으로 인해 발생되는 부정적인 효과로부터 컴퓨터 시스템을 보호하기 위한 소프트웨어를 가질 수 있다. 이러한 소프트웨어는 어플리케이션을 로드(load)하여 실행하기 전에, 어플리케이션에 정책(policy)이 내재되어 있는지 여부를 결정할 수 있다. 어플리케이션이 정책이 내재되어 있는 경우, 소프트웨어는 어플리케이션을 로드하여 실행할 수 있다. 어플리케이션이 컴퓨팅 자원에 대한 접근을 요구하는 경우, 소프트웨어는 정책의 코드를 실행하여 상기 접근의 허락 여부를 결정할 수 있다. 그러나 이러한 접근 제어 방법은 생산성(productivity)의 감소를 야기하는 너무 복잡한 환경을 제공한다.The electronic device may have software to protect the computer system from adverse effects caused by improper use of the configuration (e.g., application, operating system, etc.). Such software can determine whether an application has an implicit policy before loading and executing the application. If the application has a policy, the software can load and run the application. If an application requires access to a computing resource, the software may execute the code of the policy to determine whether the access is permitted. However, these access control methods provide an overly complex environment that causes a decrease in productivity.

본 개시의 다양한 실시 예들은 사용자와의 상호 작용 없이 컴퓨팅 자원에 대한 어플리케이션의 접근을 제어하여 컴퓨팅 자원을 안전하고 효율적으로 보호할 수 있도록 한 방법 및 이를 구현하는 전자 장치를 제공한다. Various embodiments of the present disclosure provide a method for safely and efficiently protecting computing resources by controlling access of an application to computing resources without interaction with a user and an electronic device implementing the method.

본 개시의 다양한 실시 예들에 따른 전자장치에서 접근을 제어하는 방법은 상기 전자장치에 구성된 영역들 중 제 1 영역에 존재하는 접근 제어 모듈이, 제 2 영역에 존재하는 어플리케이션의 자원에 대한 접근 요구에 반응하여, 상기 어플리케이션의 고유 식별자를 상기 제 2영역에서 획득하는 동작; 상기 고유 식별자가 접근 제어 리스트에 존재하는지 여부를 판단하는 동작; 및 상기 고유 식별자가 상기 접근 제어 리스트에 존재할 경우 상기 자원에 대한 접근을 승인하는 동작을 포함할 수 있다.A method for controlling access in an electronic device according to various embodiments of the present disclosure includes the steps of determining whether an access control module in a first one of the areas configured in the electronic device Obtaining an unique identifier of the application in the second region; Determining whether the unique identifier is present in the access control list; And approving access to the resource if the unique identifier is present in the access control list.

본 개시의 다양한 실시 예들에 따른 전자 장치는 제 1 영역과 제 2 영역을 포함하는 메모리; 및 상기 제 1 영역 및 상기 제 2 영역에 포함된 프로그램들을 실행하기 위한 프로세서를 포함할 수 있다. 상기 제 1 영역은 접근 제어 모듈을 포함하고, 상기 제 2 영역은 어플리케이션을 포함할 수 있다. 상기 접근 제어 모듈은, 상기 어플리케이션의 자원에 대한 접근 요구에 반응하여, 상기 어플리케이션의 고유 식별자를 상기 제 2 영역에서 획득하고, 상기 고유 식별자가 접근 제어 리스트에 존재하는지 여부를 판단하고, 상기 고유 식별자가 상기 접근 제어 리스트에 존재할 경우 상기 자원에 대한 접근을 승인하도록 구성될 수 있다.According to various embodiments of the present disclosure, an electronic device includes a memory including a first area and a second area; And a processor for executing programs contained in the first area and the second area. The first area may comprise an access control module and the second area may comprise an application. Wherein the access control module obtains a unique identifier of the application in the second area in response to an access request for the resource of the application, determines whether the unique identifier is present in the access control list, May be configured to grant access to the resource if it is present in the access control list.

본 개시의 다양한 실시 예들은 사용자와의 상호 작용 없이 컴퓨팅 자원에 대한 어플리케이션의 접근을 제어하여 컴퓨팅 자원을 안전하고 효율적으로 보호할 수 있도록 한 방법 및 이를 구현하는 전자 장치를 제공할 수 있다.Various embodiments of the present disclosure can provide a method for safely and efficiently protecting computing resources by controlling an access of an application to computing resources without interaction with a user and an electronic device implementing the method.

도 1은 다양한 실시예에 따른, 전자 장치를 포함하는 네트워크 환경을 도시한다.
도 2는 본 개시의 다양한 실시 예들에 따른 전자장치의 블록도를 도시한다.
도 3은 다양한 실시예들에 따른 전자 장치를 운영하는 방법을 설명하기 위한 흐름도이다.
도 4는 다양한 실시예들에 따른 프로그래밍 모듈의 블록도이다.
도 5는 다양한 실시예들에 따른 접근 제어 방법을 설명하기 위한 흐름도이다.
1 illustrates a network environment including an electronic device, in accordance with various embodiments.
Figure 2 shows a block diagram of an electronic device according to various embodiments of the present disclosure.
3 is a flow chart illustrating a method of operating an electronic device according to various embodiments.
4 is a block diagram of a programming module in accordance with various embodiments.
5 is a flow chart illustrating an access control method according to various embodiments.

이하, 첨부된 도면을 참조하여 본 개시(present disclosure)를 설명한다. 본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.The present disclosure will be described below with reference to the accompanying drawings. The present disclosure is capable of various modifications and various embodiments, and specific embodiments are illustrated in the drawings and detailed description of the invention is set forth. It is to be understood, however, that this disclosure is not intended to be limited to the specific embodiments, but includes all changes and / or equivalents and alternatives falling within the spirit and scope of the disclosure. In connection with the description of the drawings, like reference numerals have been used for like elements.

본 개시 가운데 사용될 수 있는 "포함한다" 또는 "포함할 수 있다" 등의 표현은 개시된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 개시에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.    The use of the terms "comprises" or "comprising" may be used in the present disclosure to indicate the presence of a corresponding function, operation, or element, etc., and does not limit the presence of one or more other features, operations, or components. Also, in this disclosure, the terms "comprises" or "having ", and the like, specify that the presence of stated features, integers, But do not preclude the presence or addition of other features, numbers, steps, operations, components, parts, or combinations thereof.

본 개시에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.  The "or" in the present disclosure includes any and all combinations of words listed together. For example, "A or B" may comprise A, comprise B, or both A and B.

본 개시 가운데 "제 1," "제2," "첫째," 또는 "둘째," 등의 표현들이 본 개시의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분 짓기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.   The expressions "first," " second, "" first," or "second, " and the like in the present disclosure may modify various elements of the disclosure, but do not limit the elements. For example, the representations do not limit the order and / or importance of the components. The representations may be used to distinguish one component from another. For example, both the first user equipment and the second user equipment are user equipment and represent different user equipment. For example, without departing from the scope of the present disclosure, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.    It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 개시에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 개시를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.    The terminology used in this disclosure is used only to describe a specific embodiment and is not intended to limit the disclosure. The singular expressions include plural expressions unless the context clearly dictates otherwise.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 개시에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.   Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the relevant art and are to be interpreted as either ideal or overly formal in the sense of the art unless explicitly defined in this disclosure Do not.

본 개시에 따른 전자 장치는 어떠한 기능(function)이나 동작(operation) 등이 어느 환경(environment)에서 실행(execute or run) 또는 계산(compute)되느냐에 따라 또는 그 환경의 신뢰도에 따라, 여러 환경들로 구분될 수 있다. 예를 들면, 전자 장치는 신뢰 환경(trusted environment)과 비신뢰 환경(non-trusted environment)을 포함할 수 있다. An electronic device according to the present disclosure may be implemented in a variety of environments, depending on what functions or operations are executed or run or compute, or depending on the reliability of the environment, . For example, an electronic device may include a trusted environment and a non-trusted environment.

비신뢰 환경은 어플리케이션을 포함할 수 있다. 어떤 어플리케이션들은 신뢰 환경에서 제공하는 어플리케이션 자원 또는 시스템 자원에 대한 접근을 신뢰 환경에게 요청할 수 있다. 여기서 어플리케이션 자원은 예를 들면, 키(예: 보안키), 민감한(sensitive) 데이터(예: 드라이버나 OS에서 처리한 데이터), 어떤 곳에 대한 접근 등을 의미할 수 있다. 시스템 자원은 메모리, 프로세서, 버스 등을 의미할 수 있다.An untrusted environment may include an application. Some applications may request the trusted environment to access application resources or system resources provided in a trusted environment. Where application resources can mean, for example, keys (e.g., security keys), sensitive data (e.g., data processed by a driver or an OS), or access to something. System resources may refer to memory, processors, buses, and the like.

신뢰 환경은 드라이버 및 OS를 포함할 수 있다. 특히, 드라이버는 비신뢰 환경의 접근이 허락되지 않은 특정 기능을 실행할 수 있는 특정 모듈로 여겨질 수 있다. 또한 드라이버와 OS는 신뢰되고 안전한 것으로 여겨질 수 있다. OS는 "접근을 요청한 비신뢰 환경(예: 어플리케이션)"에 대한 인증을 수행하고, 인증 결과에 따라 어플리케이션과 그것의 UID(Unique IDentifier) 간의 유사성(correspondence)을 수립(establish)할 수 있다.The trusted environment may include a driver and an OS. In particular, a driver may be considered a particular module capable of performing certain functions that are not allowed to access untrusted environments. In addition, the driver and OS may be considered trusted and secure. The OS can perform authentication for an untrusted environment (e.g., application) that requested access and establish correspondences between the application and its UID (Unique IDentifier) according to the authentication result.

한편 신뢰 환경은 신뢰 영역(trusted world, trusted region or trusted area)으로 바꾸어 지칭될 수 있다. 또한 신뢰 환경은 준-신뢰 환경(Semi-trusted environment)으로 바꾸어 지칭될 수 있다. 비신뢰 환경은 비신뢰 영역(non-trusted world, non-trusted region or non-trusted area)으로 바꾸어 지칭될 수 있다.On the other hand, the trust environment can be referred to as a trusted world (trusted world). The trust environment can also be referred to as a semi-trusted environment. An untrusted environment may be referred to as a non-trusted world (non-trusted region) or a non-trusted area.

준-신뢰 환경(semi-trusted environment)에서 드라이버 API 보안 방법은 시스템 수행(system performance)에 대한 중요한 영향 없이, 어플리케이션의 접근을 드라이버의 기능과 구별할 수 있다. 또한 준-트러스티드 환경(semi-trusted environment)에서 드라이버 API 보안 방법은 다음의 특성들(properties)을 제공하는 특별한 기술이다. 그 분석(예: 접근 승인 여부)이 호스트 OS 인증 서비스(host OS authentication services)에 의존하기 때문에, 매우 효율적이다. 그 방법은 하드웨어 특권 레벨(hardware privilege levels)에 기초한 것이기 때문에, 비교적으로 안전하다. 그 방법은 기능 액세스 제어(function access control)을 통하기 때문에 매우 정확하다. 사용자와의 상호작용 없이, 높은 하드웨어 기반의 보안 레벨이 보장된다. 동일한 전자 장치에서 동시에, 서로 다른 어플리케이션들 및/또는 서로 다른 사용자들 별로 사용자 데이터의 프라이버시가 제공될 수 있다. In a semi-trusted environment, the driver API security method can distinguish application access from driver functionality without significant impact on system performance. In addition, in a semi-trusted environment, the driver API security method is a special technique that provides the following properties: It is very efficient because its analysis (eg access authorization) depends on host OS authentication services. The method is relatively safe because it is based on hardware privilege levels. The method is very accurate because it passes through function access control. Without interaction with the user, a high level of hardware-based security is assured. At the same time in the same electronic device, the privacy of user data may be provided for different applications and / or different users.

본 개시에 따른 전자 장치는 신뢰 환경을 지원하는 모든 장치일 수 있다. 또한, 본 개시에 따른 전자 장치는, 통신 기능이 포함된 장치일 수 있다. 예를 들면, 전자 장치는 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 또는 스마트 와치(smartwatch))중 적어도 하나를 포함할 수 있다. An electronic device according to the present disclosure may be any device that supports a trusted environment. Further, the electronic device according to the present disclosure may be a device including a communication function. For example, the electronic device can be a smartphone, a tablet personal computer, a mobile phone, a videophone, an e-book reader, a desktop personal computer, a laptop Such as a laptop personal computer (PC), a netbook computer, a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, a mobile medical device, a camera, or a wearable device Such as a head-mounted-device (HMD) such as electronic glasses, an electronic garment, an electronic bracelet, an electronic necklace, an electronic app apparel, an electronic tattoo, or a smartwatch.

어떤 실시예들에 따르면, 전자 장치는 통신 기능을 갖춘 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들자면, 전자 장치는 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(game consoles), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.   According to some embodiments, the electronic device may be a smart home appliance with communication capabilities. [0003] Smart household appliances, such as electronic devices, are widely used in the fields of television, digital video disk (DVD) player, audio, refrigerator, air conditioner, vacuum cleaner, oven, microwave oven, washing machine, air cleaner, set- And may include at least one of a box (e.g., Samsung HomeSyncTM, Apple TVTM, or Google TVTM), game consoles, an electronic dictionary, an electronic key, a camcorder, or an electronic frame.

어떤 실시예들에 따르면, 전자 장치는 각종 의료기기(예: MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 초음파기 등), 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치 및 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛, 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine) 또는 상점의 POS(point of sales) 중 적어도 하나를 포함할 수 있다.   According to some embodiments, the electronic device may be a variety of medical devices (e.g., magnetic resonance angiography (MRA), magnetic resonance imaging (MRI), computed tomography (CT) (global positioning system receiver), EDR (event data recorder), flight data recorder (FDR), automotive infotainment device, marine electronic equipment (eg marine navigation device and gyro compass), avionics, A security device, a head unit for a vehicle, an industrial or home robot, an ATM (automatic teller's machine) of a financial institution, or a POS (point of sale) of a shop.

어떤 실시예들에 따르면, 전자 장치는 통신 기능을 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 본 개시에 따른 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 또한, 본 개세에 따른 전자 장치는 플렉서블 장치일 수 있다. 또한, 본 개시에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.According to some embodiments, the electronic device may be a piece of furniture or a structure / structure including a communication function, an electronic board, an electronic signature receiving device, a projector, (E.g., water, electricity, gas, or radio wave measuring instruments, etc.). An electronic device according to the present disclosure may be one or more of the various devices described above. Further, the electronic device according to the present expansion may be a flexible device. It should also be apparent to those skilled in the art that the electronic device according to the present disclosure is not limited to the above-described devices.

이하, 첨부된 도면을 참조하여 다양한 실시예에 따른 전자 장치에 대해서 살펴본다. 다양한 실시예에서 이용되는 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.Hereinafter, an electronic device according to various embodiments will be described with reference to the accompanying drawings. The term user as used in various embodiments may refer to a person using an electronic device or a device using an electronic device (e.g., an artificial intelligence electronic device).

도 1은 다양한 실시예에 따른, 전자 장치 101을 포함하는 네트워크 환경 100를 도시한다. 도 1을 참조하면, 상기 전자 장치 101는 버스 110, 프로세서 120, 메모리 130, 입출력 인터페이스 140, 디스플레이 150, 통신 인터페이스 160 및 어플리케이션 제어 모듈 170을 포함할 수 있다.1 illustrates a network environment 100 including an electronic device 101, in accordance with various embodiments. Referring to FIG. 1, the electronic device 101 may include a bus 110, a processor 120, a memory 130, an input / output interface 140, a display 150, a communication interface 160, and an application control module 170.

상기 버스 110는 전술한 구성요소들을 서로 연결하고, 전술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.The bus 110 may be a circuit that interconnects the components described above and communicates (e.g., control messages) between the components described above.

상기 프로세서 120는, 예를 들면, 상기 버스 110를 통해 전술한 다른 구성요소들(예: 상기 메모리 130, 상기 입출력 인터페이스 140, 상기 디스플레이 150, 상기 통신 인터페이스 160, 또는 상기 어플리케이션 제어 모듈 170 등)로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다. The processor 120 may be operatively coupled to other components (e.g., the memory 130, the input / output interface 140, the display 150, the communication interface 160, or the application control module 170) via the bus 110 Receives a command, decrypts the received command, and can execute an operation or data processing according to the decrypted command.

상기 메모리 130는, 상기 프로세서 120 또는 다른 구성요소들(예: 상기 입출력 인터페이스 140, 상기 디스플레이 150, 상기 통신 인터페이스 160, 또는 상기 어플리케이션 제어 모듈 170 등)로부터 수신되거나 상기 프로세서 120 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 상기 메모리 130는, 예를 들면, 전자 장치 101의 OS로써 커널 131, 미들웨어 132, 어플리케이션 프로그래밍 인터페이스(API: application programming interface) 133 또는 어플리케이션 134 등의 프로그래밍 모듈들을 포함할 수 있다. 전술한 각각의 프로그래밍 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.The memory 130 may be coupled to the processor 120 or other components such as the processor 120 or other components (e.g., the input / output interface 140, the display 150, the communication interface 160, or the application control module 170) Lt; RTI ID = 0.0 > and / or < / RTI > The memory 130 may include, for example, an operating system of the electronic device 101, such as a kernel 131, a middleware 132, an application programming interface (API) 133, or an application 134. Each of the above-described programming modules may be composed of software, firmware, hardware, or a combination of at least two of them.

상기 커널 131은 나머지 다른 프로그래밍 모듈들, 예를 들면, 상기 미들웨어 132, 상기 API 133 또는 상기 어플리케이션 134에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 상기 버스 110, 상기 프로세서 120 또는 상기 메모리 130 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널 131은 상기 미들웨어 132, 상기 API 133 또는 상기 어플리케이션 134에서 상기 전자 장치 101의 자원에 접근하여 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다. The kernel 131 may include system resources (e.g., the bus 110, the processor 120, etc.) used to execute the operations or functions implemented in the other programming modules, e.g., the middleware 132, the API 133, Or the memory 130 and the like). In addition, the kernel 131 may provide an interface for accessing and controlling or managing resources of the electronic device 101 in the middleware 132, the API 133, or the application 134.

상기 커널 131은 드라이버를 포함할 수 있다. 드라이버는, 커널 131로부터 명령을 수신하고, 명령에 응답하여 주변기기(예: 디스플레이, 카메라, 블루투스 등)의 입력 및 출력을 제어할 수 있다. 드라이버는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버 또는 오디오 드라이버를 포함할 수 있다. 또한, 한 실시예에 따르면, 드라이버는 IPC (inter-process communication) 드라이버를 포함할 수 있다.The kernel 131 may include a driver. The driver can receive commands from the kernel 131 and control input and output of peripheral devices (e.g., display, camera, Bluetooth, etc.) in response to commands. The driver may include, for example, a display driver, a camera driver, a Bluetooth driver, a memory driver, a USB driver, a keypad driver, a WiFi driver or an audio driver. Also, according to one embodiment, the driver may include an inter-process communication (IPC) driver.

상기 미들웨어 132는 상기 API 133 또는 상기 어플리케이션 134이 상기 커널 131과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어 132는 상기 어플리케이션 134로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 어플리케이션 134 중 적어도 하나의 어플리케이션에 상기 전자 장치 101의 시스템 리소스(예: 상기 버스 110, 상기 프로세서 120 또는 상기 메모리 130 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)을 수행할 수 있다.The middleware 132 can act as an intermediary for the API 133 or the application 134 to communicate with the kernel 131 to exchange data. In addition, the middleware 132 may be configured to communicate with at least one of the applications 134, for example, system resources of the electronic device 101 (e.g., the bus 110, the processor 120, or the like) (E.g., scheduling or load balancing) of a work request using a method of assigning a priority that can be used to the job (e.g., the memory 130).

상기 API 133는 상기 어플리케이션 134이 상기 커널 131 또는 상기 미들웨어 132에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. The API 133 is an interface for the application 134 to control the functions provided by the kernel 131 or the middleware 132 and includes at least one interface or function for file control, window control, image processing, (E.g., commands).

다양한 실시예에 따르면, 상기 어플리케이션 134는 SMS/MMS 어플리케이션, 이메일 어플리케이션, 달력 어플리케이션, 알람 어플리케이션, 건강 관리(health care) 어플리케이션(예: 운동량 또는 혈당 등을 측정하는 어플리케이션) 또는 환경 정보 어플리케이션(예: 기압, 습도 또는 온도 정보 등을 제공하는 어플리케이션) 등을 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 어플리케이션 134은 상기 전자 장치 101와 외부 전자 장치(예: 전자 장치 104) 사이의 정보 교환과 관련된 어플리케이션일 수 있다. 상기 정보 교환과 관련된 어플리케이션은, 예를 들어, 상기 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 상기 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다. According to various embodiments, the application 134 may be an SMS / MMS application, an email application, a calendar application, an alarm application, a health care application (e.g., an application that measures momentum or blood glucose) Pressure, humidity, or temperature information, etc.), and the like. Additionally or alternatively, the application 134 may be an application related to the exchange of information between the electronic device 101 and an external electronic device (e.g., electronic device 104). The application associated with the information exchange may include, for example, a notification relay application for communicating specific information to the external electronic device, or a device management application for managing the external electronic device .

예를 들면, 상기 알림 전달 어플리케이션은 상기 전자 장치 101 의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션 또는 환경 정보 어플리케이션 등)에서 발생한 알림 정보를 외부 전자 장치(예: 전자 장치 104)로 전달하는 기능을 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치(예: 전자 장치 104)로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 상기 장치 관리 어플리케이션은, 예를 들면, 상기 전자 장치 101와 통신하는 외부 전자 장치(예: 전자 장치 104)의 적어도 일부에 대한 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴온/턴오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 상기 외부 전자 장치에서 동작하는 어플리케이션 또는 상기 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스)를 관리(예: 설치, 삭제 또는 업데이트)할 수 있다. For example, the notification delivery application may send notification information generated by another application (e.g., SMS / MMS application, email application, healthcare application, or environment information application) of the electronic device 101 to an external electronic device ). ≪ / RTI > Additionally or alternatively, the notification delivery application may receive notification information from, for example, an external electronic device (e.g., electronic device 104) and provide it to the user. The device management application may provide a function (e.g., turn-on / turn-off) of at least some of the external electronic device (e.g., electronic device 104) in communication with the electronic device 101 (E.g., adjusting, turning off, or adjusting the brightness (or resolution) of the display), managing an application running on the external electronic device or services (e.g., call service or message service) )can do.

다양한 실시예에 따르면, 상기 어플리케이션 134은 상기 외부 전자 장치(예: 전자 장치 104)의 속성(예: 전자 장치의 종류)에 따라 지정된 어플리케이션을 포함할 수 있다. 예를 들어, 외부 전자 장치가 MP3 플레이어인 경우, 상기 어플리케이션 134은 음악 재생과 관련된 어플리케이션을 포함할 수 있다. 유사하게, 외부 전자 장치가 모바일 의료기기인 경우, 상기 어플리케이션 134은 건강 관리와 관련된 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 상기 어플리케이션 134은 전자 장치 101에 지정된 어플리케이션 또는 외부 전자 장치(예: 서버 106 또는 전자 장치 104)로부터 수신된 어플리케이션 중 적어도 하나를 포함할 수 있다.According to various embodiments, the application 134 may include an application designated according to attributes (e.g., the type of electronic device) of the external electronic device (e.g., electronic device 104). For example, if the external electronic device is an MP3 player, the application 134 may include an application related to music playback. Similarly, if the external electronic device is a mobile medical device, the application 134 may include applications related to health care. According to one embodiment, the application 134 may include at least one of an application specified in the electronic device 101 or an application received from an external electronic device (e.g., the server 106 or the electronic device 104).

상기 입출력 인터페이스 140은, 입출력 장치(예: 센서, 키보드 또는 터치 스크린)를 통하여 사용자로부터 입력된 명령 또는 데이터를, 예를 들면, 상기 버스 110를 통해 상기 프로세서 120, 상기 메모리 130, 상기 통신 인터페이스 160, 또는 상기 어플리케이션 제어 모듈 170에 전달할 수 있다. 예를 들면, 상기 입출력 인터페이스 140은 터치 스크린을 통하여 입력된 사용자의 터치에 대한 데이터를 상기 프로세서 120로 제공할 수 있다. 또한, 상기 입출력 인터페이스 140은, 예를 들면, 상기 버스 110을 통해 상기 프로세서 120, 상기 메모리 130, 상기 통신 인터페이스 160, 또는 상기 어플리케이션 제어 모듈 170로부터 수신된 명령 또는 데이터를 상기 입출력 장치(예: 스피커 또는 디스플레이)를 통하여 출력할 수 있다. 예를 들면, 상기 입출력 인터페이스 140은 상기 프로세서 120를 통하여 처리된 음성 데이터를 스피커를 통하여 사용자에게 출력할 수 있다. The input / output interface 140 connects commands or data input from a user via an input / output device (e.g., a sensor, a keyboard or a touch screen) to the processor 120, the memory 130, the communication interface 160 , Or to the application control module 170. For example, the input / output interface 140 may provide the processor 120 with data on the user's touch input through the touch screen. The input / output interface 140 may transmit commands or data received from the processor 120, the memory 130, the communication interface 160, or the application control module 170 via the bus 110 to the input / output device Or display). For example, the input / output interface 140 can output voice data processed through the processor 120 to a user through a speaker.

상기 디스플레이 150은 사용자에게 각종 정보(예: 멀티미디어 데이터 또는 텍스트 데이터 등)을 표시할 수 있다.The display 150 may display various information (e.g., multimedia data or text data) to the user.

상기 통신 인터페이스 160은 상기 전자 장치 101와 외부 장치(예: 전자 장치 104 또는 서버 106) 간의 통신을 연결할 수 있다. 예를 들면, 상기 통신 인터페이스 160은 무선 통신 또는 유선 통신을 통해서 네트워크 162에 연결되어 상기 외부 장치와 통신할 수 있다. 상기 무선 통신은, 예를 들어, Wifi(wireless fidelity), BT(Bluetooth), NFC(near field communication), GPS(global positioning system) 또는 cellular 통신(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등) 중 적어도 하나를 포함할 수 있다. 상기 유선 통신은, 예를 들어, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232) 또는 POTS(plain old telephone service) 중 적어도 하나를 포함할 수 있다.The communication interface 160 can connect the communication between the electronic device 101 and an external device (e.g., the electronic device 104 or the server 106). For example, the communication interface 160 may be connected to the network 162 via wireless communication or wired communication to communicate with the external device. The wireless communication may include, for example, wireless fidelity, Bluetooth, near field communication (NFC), global positioning system (GPS) , WiBro or GSM, etc.). The wired communication may include at least one of, for example, a universal serial bus (USB), a high definition multimedia interface (HDMI), a recommended standard 232 (RS-232) or a plain old telephone service (POTS).

한 실시예에 따르면, 상기 네트워크 162는 통신 네트워크(telecommunications network)일 수 있다. 상기 통신 네트워크 는 컴퓨터 네트워크(computer network), 인터넷(internet), 사물 인터넷(internet of things) 또는 전화망(telephone network) 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 상기 전자 장치 101와 외부 장치 간의 통신을 위한 프로토콜(예: transport layer protocol, data link layer protocol 또는 physical layer protocol))은 어플리케이션 134, 어플리케이션 프로그래밍 인터페이스 133, 상기 미들웨어 132, 커널 131 또는 통신 인터페이스 160 중 적어도 하나에서 지원될 수 있다. According to one embodiment, the network 162 may be a telecommunications network. The communication network may include at least one of a computer network, an internet, an internet of things, or a telephone network. (E.g., a transport layer protocol, a data link layer protocol, or a physical layer protocol) for communication between the electronic device 101 and the external device is controlled by the application 134, the application programming interface 133, the middleware 132, the kernel 131 Or the communication interface 160. [0035]

어플리케이션 제어 모듈 170은, 다른 구성요소들(예: 상기 프로세서 120, 상기 메모리 130, 상기 입출력 인터페이스 140, 또는 상기 통신 인터페이스 160 등)로부터 획득된 정보 중 적어도 일부를 처리하고, 이를 다양한 방법으로 사용자에게 제공할 수 있다. 예를 들면, 상기 어플리케이션 제어 모듈 170은, 상기 전자 장치 101에 구비된 접속 부품의 정보를 인식하고, 접속 부품의 정보를 상기 메모리 130에 저장하고, 접속 부품의 정보에 기반하여, 어플리케이션 134를 실행시킬 수 있다.The application control module 170 processes at least some of the information obtained from other components (e.g., the processor 120, the memory 130, the input / output interface 140, or the communication interface 160, etc.) . For example, the application control module 170 recognizes the information of the connected component provided in the electronic device 101, stores the information of the connected component in the memory 130, executes the application 134 based on the information of the connected component .

도 2는 다양한 실시예들에 따른 전자 장치 200의 블록도를 도시한다. 상기 전자 장치 200는, 예를 들면, 도 1에 도시된 전자 장치 101의 전체 또는 일부를 구성할 수 있다. 도 2를 참조하면, 상기 전자 장치 200는 하나 이상의 어플리케이션 프로세서(AP: application processor) 210, 통신 모듈 220, SIM(subscriber identification module) 카드 224, 메모리 230, 센서 모듈 240, 입력 장치 250, 디스플레이 260, 인터페이스 270, 오디오 모듈 280, 카메라 모듈 291, 전력관리 모듈 295, 배터리 296, 인디케이터 297 및 모터 298 를 포함할 수 있다. 2 shows a block diagram of an electronic device 200 in accordance with various embodiments. The electronic device 200 may constitute all or part of the electronic device 101 shown in Fig. 1, for example. 2, the electronic device 200 includes at least one application processor 210, a communication module 220, a subscriber identification module (SIM) card 224, a memory 230, a sensor module 240, an input device 250, a display 260, An interface 270, an audio module 280, a camera module 291, a power management module 295, a battery 296, an indicator 297, and a motor 298.

상기 AP 210는 운영체제 또는 응용 프로그램을 구동하여 상기 AP 210에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP 210는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 상기 AP 210는 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.The AP 210 may control a plurality of hardware or software components connected to the AP 210 by operating an operating system or an application program, and may perform various data processing and calculations including multimedia data. The AP 210 may be implemented as a system on chip (SoC), for example. According to one embodiment, the AP 210 may further include a graphics processing unit (GPU) (not shown).

상기 통신 모듈 220(예: 상기 통신 인터페이스 160)은 상기 전자 장치 200(예: 상기 전자 장치 101)와 네트워크를 통해 연결된 다른 전자 장치들(예: 전자 장치 104 또는 서버 106) 간의 통신에서 데이터 송수신을 수행할 수 있다. 한 실시예에 따르면, 상기 통신 모듈 220은 셀룰러 모듈 221, Wifi 모듈 223, BT 모듈 225, GPS 모듈 227, NFC 모듈 228 및 RF(radio frequency) 모듈 229를 포함할 수 있다.The communication module 220 (e.g., the communication interface 160) can send and receive data in communication between the electronic device 200 (e.g., the electronic device 101) and other electronic devices (e.g., electronic device 104 or server 106) Can be performed. According to one embodiment, the communication module 220 may include a cellular module 221, a Wifi module 223, a BT module 225, a GPS module 227, an NFC module 228, and a radio frequency (RF) module 229.

상기 셀룰러 모듈 221은 통신망(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등)을 통해서 음성 통화, 영상 통화, 문자 서비스 또는 인터넷 서비스 등을 제공할 수 있다. 또한, 상기 셀룰러 모듈 221은, 예를 들면, 가입자 식별 모듈(예: SIM 카드 224)을 이용하여 통신 네트워크 내에서 전자 장치의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 상기 셀룰러 모듈 221은 상기 AP 210가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 예를 들면, 상기 셀룰러 모듈 221은 멀티 미디어 제어 기능의 적어도 일부를 수행할 수 있다. The cellular module 221 may provide voice calls, video calls, text services, or Internet services over a communication network (e.g., LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro or GSM). In addition, the cellular module 221 can perform identification and authentication of electronic devices within the communication network using, for example, a subscriber identity module (e.g., a SIM card 224). According to one embodiment, the cellular module 221 may perform at least some of the functions that the AP 210 may provide. For example, the cellular module 221 may perform at least some of the multimedia control functions.

한 실시예에 따르면, 상기 셀룰러 모듈 221은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다. 또한, 상기 셀룰러 모듈 221은, 예를 들면, SoC로 구현될 수 있다. 도 2에서는 상기 셀룰러 모듈 221(예: 커뮤니케이션 프로세서), 상기 메모리 230 또는 상기 전력관리 모듈 295 등의 구성요소들이 상기 AP 210와 별개의 구성요소로 도시되어 있으나, 한 실시예에 따르면, 상기 AP 210가 전술한 구성요소들의 적어도 일부(예: 셀룰러 모듈 221)를 포함하도록 구현될 수 있다.According to one embodiment, the cellular module 221 may include a communication processor (CP). Also, the cellular module 221 may be implemented as an SoC, for example. In FIG. 2, components such as the cellular module 221 (e.g., a communication processor), the memory 230, or the power management module 295 are illustrated as separate components from the AP 210. However, according to one embodiment, May include at least a portion of the above-described components (e.g., cellular module 221).

한 실시예에 따르면, 상기 AP 210 또는 상기 셀룰러 모듈 221(예: 커뮤니케이션 프로세서)은 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP 210 또는 상기 셀룰러 모듈 221은 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.According to one embodiment, the AP 210 or the cellular module 221 (e.g., a communications processor) loads commands or data received from at least one of non-volatile memory or other components connected to each of them into a volatile memory for processing can do. In addition, the AP 210 or the cellular module 221 may store data generated by at least one of the other components or received from at least one of the other components in the non-volatile memory.

상기 Wifi 모듈 223, 상기 BT 모듈 225, 상기 GPS 모듈 227 또는 상기 NFC 모듈 228 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 도 2에서는 셀룰러 모듈 221, Wifi 모듈 223, BT 모듈 225, GPS 모듈 227 또는 NFC 모듈 228이 각각 별개의 블록으로 도시되었으나, 한 실시예에 따르면, 셀룰러 모듈 221, Wifi 모듈 223, BT 모듈 225, GPS 모듈 227 또는 NFC 모듈 228 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. 예를 들면, 셀룰러 모듈 221, Wifi 모듈 223, BT 모듈 225, GPS 모듈 227 또는 NFC 모듈 228 각각에 대응하는 프로세서들 중 적어도 일부(예: 셀룰러 모듈 221에 대응하는 커뮤니케이션 프로세서 및 Wifi 모듈 223에 대응하는 Wifi 프로세서)는 하나의 SoC로 구현될 수 있다. Each of the Wifi module 223, the BT module 225, the GPS module 227, and the NFC module 228 may include a processor for processing data transmitted and received through a corresponding module, for example. Although the cellular module 221, the Wifi module 223, the BT module 225, the GPS module 227, or the NFC module 228 are shown as separate blocks in FIG. 2, the cellular module 221, the Wifi module 223, the BT module 225, At least some (e.g., two or more) of modules 227 or NFC modules 228 may be included in one integrated chip (IC) or IC package. For example, at least some of the processors corresponding to the cellular module 221, the Wifi module 223, the BT module 225, the GPS module 227, or the NFC module 228, respectively (e.g., corresponding to the communication processor and Wifi module 223 corresponding to the cellular module 221) Wifi processor) can be implemented in a single SoC.

상기 RF 모듈 229는 데이터의 송수신, 예를 들면, RF 신호의 송수신을 할 수 있다. 상기 RF 모듈 229는, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, 상기 RF 모듈 229는 무선 통신에서 자유 공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다. 도 2에서는 셀룰러 모듈 221, Wifi 모듈 223, BT 모듈 225, GPS 모듈 227 및 NFC 모듈 228이 하나의 RF 모듈 229을 서로 공유하는 것으로 도시되어 있으나, 한 실시예에 따르면, 셀룰러 모듈 221, Wifi 모듈 223, BT 모듈 225, GPS 모듈 227 또는 NFC 모듈 228 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호의 송수신을 수행할 수 있다. The RF module 229 can transmit and receive data, for example, transmit and receive RF signals. The RF module 229 may include, for example, a transceiver, a power amplifier module (PAM), a frequency filter, or a low noise amplifier (LNA). In addition, the RF module 229 may further include a component for transmitting and receiving electromagnetic waves in a free space in a wireless communication, for example, a conductor or a lead wire. 2, the cellular module 221, the Wifi module 223, the BT module 225, the GPS module 227, and the NFC module 228 share one RF module 229. However, according to one embodiment, the cellular module 221, the Wifi module 223 , The BT module 225, the GPS module 227, or the NFC module 228 can transmit and receive RF signals through separate RF modules.

상기 SIM 카드 224_1~N는 가입자 식별 모듈을 포함하는 카드일 수 있으며, 전자 장치의 특정 위치에 형성된 슬롯 225_1~N에 삽입될 수 있다. 상기 SIM 카드 224_1~N는 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다. The SIM cards 224_1 to N may be cards including a subscriber identity module, and may be inserted into slots 225_1 to N formed at specific positions of the electronic device. The SIM cards 224_1-N may include unique identification information (e.g., an integrated circuit card identifier (ICCID)) or subscriber information (e.g., international mobile subscriber identity (IMSI)).

상기 메모리 230(예: 상기 메모리 130)는 내장 메모리 232 또는 외장 메모리 234를 포함할 수 있다. 상기 내장 메모리 232는, 예를 들면, 휘발성 메모리(예를 들면, DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous dynamic RAM) 등) 또는 비휘발성 메모리(non-volatile Memory, 예를 들면, OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, NAND flash memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다.The memory 230 (e.g., the memory 130) may include an internal memory 232 or an external memory 234. The built-in memory 232 may be a volatile memory such as a dynamic RAM (DRAM), a static random access memory (SRAM), a synchronous dynamic RAM (SDRAM), or a non-volatile memory , At least one of an OTPROM (one time programmable ROM), a PROM (programmable ROM), an EPROM (erasable and programmable ROM), an EEPROM (electrically erasable and programmable ROM), a mask ROM, a flash ROM, a NAND flash memory, . ≪ / RTI >

한 실시예에 따르면, 상기 내장 메모리 232는 Solid State Drive (SSD)일 수 있다. 상기 외장 메모리 234는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 등을 더 포함할 수 있다. 상기 외장 메모리 234는 다양한 인터페이스를 통하여 상기 전자 장치 200과 기능적으로 연결될 수 있다. 한 실시예에 따르면, 상기 전자 장치 200는 하드 드라이브와 같은 저장 장치(또는 저장 매체)를 더 포함할 수 있다.According to one embodiment, the internal memory 232 may be a solid state drive (SSD). The external memory 234 may be a flash drive such as a compact flash (CF), a secure digital (SD), a micro secure digital (SD), a mini secure digital (SD), an extreme digital And the like. The external memory 234 may be functionally connected to the electronic device 200 through various interfaces. According to one embodiment, the electronic device 200 may further include a storage device (or storage medium) such as a hard drive.

상기 센서 모듈 240은 물리량을 계측하거나 전자 장치 200의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈 240은, 예를 들면, 제스처 센서 240A, 자이로 센서 240B, 기압 센서 240C, 마그네틱 센서 240D, 가속도 센서 240E, 그립 센서 240F, 근접 센서 240G, color 센서 240H(예: RGB(red, green, blue) 센서), 생체 센서 240I, 온/습도 센서 240J, 조도 센서 240K 또는 UV(ultra violet) 센서 240M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈 240은, 예를 들면, 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시), IR(infra red) 센서(미도시), 홍채 센서(미도시) 또는 지문 센서(미도시) 등을 포함할 수 있다. 상기 센서 모듈 240은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다.The sensor module 240 may measure a physical quantity or sense an operation state of the electronic device 200, and convert the measured or sensed information into an electrical signal. The sensor module 240 includes a gesture sensor 240A, a gyro sensor 240B, an air pressure sensor 240C, a magnetic sensor 240D, an acceleration sensor 240E, a grip sensor 240F, a proximity sensor 240G, a color sensor 240H blue sensor), a living body sensor 240I, a temperature / humidity sensor 240J, an illuminance sensor 240K, or an ultraviolet (UV) sensor 240M. Additionally or alternatively, the sensor module 240 may include an electronic sensor such as, for example, an E-nose sensor (not shown), an EMG sensor (not shown), an EEG sensor (not shown) an electrocardiogram sensor (not shown), an infra red sensor (not shown), an iris sensor (not shown), or a fingerprint sensor (not shown). The sensor module 240 may further include a control circuit for controlling at least one sensor included in the sensor module 240.

상기 입력 장치 250은 터치 패널(touch panel) 252, (디지털) 펜 센서(pen sensor) 254, 키(key) 256 또는 초음파(ultrasonic) 입력 장치 258를 포함할 수 있다. 상기 터치 패널 252은, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 상기 터치 패널 252은 제어 회로를 더 포함할 수도 있다. 정전식의 경우, 물리적 접촉 또는 근접 인식이 가능하다. 상기 터치 패널 252은 택타일 레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 상기 터치 패널 252은 사용자에게 촉각 반응을 제공할 수 있다. The input device 250 may include a touch panel 252, a (digital) pen sensor 254, a key 256, or an ultrasonic input device 258. The touch panel 252 can recognize a touch input by at least one of an electrostatic type, a pressure sensitive type, an infrared type, and an ultrasonic type. The touch panel 252 may further include a control circuit. In electrostatic mode, physical contact or proximity recognition is possible. The touch panel 252 may further include a tactile layer. In this case, the touch panel 252 can provide a tactile response to the user.

상기 (디지털) 펜 센서 254는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 상기 키 256는, 예를 들면, 물리적인 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 상기 초음파(ultrasonic) 입력 장치 258는 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치 200에서 마이크(예: 마이크 288)로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시예에 따르면, 상기 전자 장치 200는 상기 통신 모듈 220를 이용하여 이와 연결된 외부 장치(예: 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다. The (digital) pen sensor 254 can be implemented, for example, in the same or similar manner as receiving a touch input of a user or using a separate recognition sheet. The key 256 may include, for example, a physical button, an optical key or a keypad. The ultrasonic input device 258 is a device that can recognize data by sensing a sound wave from the electronic device 200 through a microphone (e.g., a microphone 288) through an input tool for generating an ultrasonic signal, and is capable of wireless recognition. According to one embodiment, the electronic device 200 may use the communication module 220 to receive user input from an external device (e.g., a computer or a server) connected thereto.

상기 디스플레이 260(예: 상기 디스플레이 150)은 패널 262, 홀로그램 장치 264 또는 프로젝터 266을 포함할 수 있다. 상기 패널 262은, 예를 들면, LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic light-emitting diode) 등일 수 있다. 상기 패널 262은, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널 262은 상기 터치 패널 252과 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치 264은 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터 266는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 전자 장치 200의 내부 또는 외부에 위치할 수 있다. 한 실시예에 따르면, 상기 디스플레이 260은 상기 패널 262, 상기 홀로그램 장치 264, 또는 프로젝터 266를 제어하기 위한 제어 회로를 더 포함할 수 있다. The display 260 (e.g., the display 150) may include a panel 262, a hologram device 264, or a projector 266. The panel 262 may be, for example, a liquid crystal display (LCD) or an active matrix organic light-emitting diode (AM-OLED). The panel 262 may be embodied, for example, as being flexible, transparent or wearable. The panel 262 may be formed of one module with the touch panel 252. The hologram device 264 can display stereoscopic images in the air using interference of light. The projector 266 can display an image by projecting light onto a screen. The screen may be located, for example, inside or outside the electronic device 200. According to one embodiment, the display 260 may further include control circuitry for controlling the panel 262, the hologram device 264, or the projector 266.

상기 인터페이스 270는, 예를 들면, HDMI(high-definition multimedia interface) 272, USB(universal serial bus) 274, 광 인터페이스(optical interface) 276 또는 D-sub(D-subminiature) 278를 포함할 수 있다. 상기 인터페이스 270는, 예를 들면, 도 1에 도시된 통신 인터페이스 160에 포함될 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스 270는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure Digital) 카드/MMC(multi-media card) 인터페이스 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다. The interface 270 may include, for example, a high-definition multimedia interface (HDMI) 272, a universal serial bus (USB) 274, an optical interface 276, or a D-sub (D-subminiature) The interface 270 may, for example, be included in the communication interface 160 shown in FIG. Additionally or alternatively, the interface 270 may include, for example, a mobile high-definition link (MHL) interface, a secure digital (SD) card / multi-media card (MMC) interface, or an infrared data association can do.

상기 오디오 모듈 280은 소리(sound)와 전기신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈 280의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스 140에 포함될 수 있다. 상기 오디오 모듈 280은, 예를 들면, 스피커 282, 리시버 284, 이어폰 286 또는 마이크 288 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다. The audio module 280 can convert sound and electric signals into both directions. At least some components of the audio module 280 may be included, for example, in the input / output interface 140 shown in FIG. The audio module 280 may process sound information input or output through, for example, a speaker 282, a receiver 284, an earphone 286, a microphone 288, or the like.

상기 카메라 모듈 291은 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈(미도시), ISP(image signal processor, 미도시) 또는 플래쉬 (flash, 미도시)(예: LED 또는 xenon lamp)를 포함할 수 있다.The camera module 291 may capture still images and moving images. The camera module 291 may include at least one image sensor (e.g., a front sensor or a rear sensor), a lens (not shown), an image signal processor ) Or a flash (not shown), such as an LED or xenon lamp.

상기 전력 관리 모듈 295은 상기 전자 장치 200의 전력을 관리할 수 있다. 도시하지는 않았으나, 상기 전력 관리 모듈 295은, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. The power management module 295 can manage the power of the electronic device 200. Although not shown, the power management module 295 may include, for example, a power management integrated circuit (PMIC), a charger integrated circuit ("IC"), or a battery or fuel gauge.

상기 PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 상기 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시예에 따르면, 상기 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로 또는 정류기 등의 회로가 추가될 수 있다. The PMIC can be mounted, for example, in an integrated circuit or a SoC semiconductor. The charging method can be classified into wired and wireless. The charging IC can charge the battery, and can prevent an overvoltage or an overcurrent from the charger. According to one embodiment, the charging IC may comprise a charging IC for at least one of a wired charging scheme or a wireless charging scheme. The wireless charging system may be, for example, a magnetic resonance system, a magnetic induction system or an electromagnetic wave system, and additional circuits for wireless charging may be added, such as a coil loop, a resonant circuit or a rectifier have.

상기 배터리 게이지는, 예를 들면, 상기 배터리 296의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 상기 배터리 296는 전기를 저장 또는 생성할 수 있고, 그 저장 또는 생성된 전기를 이용하여 상기 전자 장치 200에 전원을 공급할 수 있다. 상기 배터리 296는, 예를 들면, 충전식 전지(rechargeable battery) 또는 태양 전지(solar battery)를 포함할 수 있다. The battery gauge can measure the remaining amount of the battery 296, the voltage during charging, the current or the temperature, for example. The battery 296 may store or generate electricity, and may supply power to the electronic device 200 using the stored or generated electricity. The battery 296 may include, for example, a rechargeable battery or a solar battery.

상기 인디케이터 297는 상기 전자 장치 200 혹은 그 일부(예: 상기 AP 210)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터 298는 전기적 신호를 기계적 진동으로 변환할 수 있다. 도시되지는 않았으나, 상기 전자 장치 200는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어 플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다. The indicator 297 may indicate a specific state of the electronic device 200 or a part thereof (e.g., the AP 210), for example, a boot state, a message state, or a charged state. The motor 298 may convert an electrical signal to mechanical vibration. Although not shown, the electronic device 200 may include a processing unit (e.g., GPU) for mobile TV support. The processing device for supporting the mobile TV can process media data conforming to standards such as digital multimedia broadcasting (DMB), digital video broadcasting (DVB), or media flow.

본 개시에 따른 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 본 개시에 따른 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 개시에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.Each of the above-described components of the electronic device according to the present disclosure can be composed of one or more components, and the name of the component can be changed according to the type of the electronic device. The electronic device according to the present disclosure may be configured to include at least one of the above-described components, and some components may be omitted or further include other additional components. In addition, some of the components of the electronic device according to the present disclosure may be combined and configured as an entity, so that the functions of the corresponding components before being combined can be performed in the same manner.

본 개시에 사용된 용어 "모듈"은, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component) 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 본 개시에 따른 "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다. The term "module" as used herein may mean a unit comprising, for example, one or a combination of two or more of hardware, software or firmware. A "module" may be interchangeably used with terms such as, for example, unit, logic, logical block, component or circuit. A "module" may be a minimum unit or a portion of an integrally constructed component. A "module" may be a minimum unit or a portion thereof that performs one or more functions. "Modules" may be implemented either mechanically or electronically. For example, a "module" in accordance with the present disclosure may be implemented as an application-specific integrated circuit (ASIC) chip, field-programmable gate arrays (FPGAs) or programmable logic arrays (FPGAs) logic device).

도 3은 다양한 실시예들에 따른 전자 장치를 운영하는 방법을 설명하기 위한 흐름도이다.3 is a flow chart illustrating a method of operating an electronic device according to various embodiments.

도 3을 참조하면, 어플리케이션은 드라이버(예: 커널 131에 포함된 드라이버)의 기능을 호출(invoke)할 수 있다. 이에 따라 동작 310에서 드라이버는 어플리케이션으로부터 기능의 요구를 수신할 수 있다. 동작 320에서 드라이버는 OS 예컨대, 커널 131로부터 어플리케이션에 대한 제어 권한(control)을 획득(get)할 수 있다. 동작 330에서 드라이버는 제어 권한을 해당 기능 모듈에 전달(pass)할 수 있다. 여기서 기능 모듈은 드라이버 내에 포함될 수 있다. 동작 340에서 기능 모듈은 어플리케이션의 접근 제어(access control)을 개시(launch)할 수 있다. 동작 350에서 기능 모듈은 접근 제어의 통과(pass) 여부를 결정할 수 있다. 동작 350에서의 결정 결과 접근 제어가 통과된 경우 동작 360에서 기능 모듈은 어플리케이션이 요구한 기능(functionality)을 실행할 수 있다. 이때 기능 모듈은 API로부터 상기 기능과 관련된 인터페이스나 함수를 호출하여, 호출된 것을 이용하여 기능을 실행할 수 있다. 동작 370에서 기능 모듈은 실행 결과로써 얻은 결과 데이터를 어플리케이션으로 전달(return)할 수 있다. 동작 350에서의 결정 결과 접근 제어가 실패한 경우 동작 380에서 기능 모듈은 어플리케이션에게 "접근이 거부됨"을 통보할 수 있다.Referring to FIG. 3, an application may invoke the functionality of a driver (e.g., a driver included in kernel 131). Accordingly, at operation 310, the driver may receive a request for a function from an application. At operation 320, the driver may obtain control of an application from an OS, such as kernel 131, for example. At operation 330, the driver may pass control rights to the function module. Here, the function module can be included in the driver. At operation 340, the functional module may launch an access control of the application. At operation 350, the functional module may determine whether access control is passed. If the result of the determination at operation 350 is that access control has passed, at function 360, the function module may execute the functionality required by the application. At this time, the function module can call the interface or function related to the function from the API, and execute the function using the called function. At operation 370, the functional module may return result data obtained as an execution result to the application. If the result of the determination at operation 350 indicates that access control has failed, at function 380, the functional module may notify the application of "denied access ".

도 4는 다양한 실시예들에 따른 프로그래밍 모듈의 블록도이다.4 is a block diagram of a programming module in accordance with various embodiments.

도 4를 참조하면, 프로그래밍 모듈 400은 도 1에 도시된 전자장치 101 (예: 메모리 130)에 포함(예: 저장)될 수 있다. 프로그래밍 모듈 400의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다. 프로그래밍 모듈 400은 어플리케이션 410, 드라이버 420, 접근 제어 리스트 430 및 UID(고유 식별자; Unique Identifier) 및 Func#(기능 넘버) 제공 모듈 440을 포함할 수 있다. 상기의 프로그래밍 모듈 400에서 드라이버 420, 접근 제어 리스트 430, 및 UID 및 Func# 제공 모듈 440은 신뢰 환경에 포함될 수 있다. 어플리케이션 410은 비신뢰 환경에 포함될 수 있다. 어플리케이션 410은 드라이버 420에게, 드라이버 420에서 제공되는 기능에 대해 접근을 요청하는 모듈로써, 예를 들면, 어플리케이션 134가 될 수 있다. Referring to FIG. 4, the programming module 400 may be included (e.g., stored) in the electronic device 101 (e.g., memory 130) shown in FIG. At least some of the programming modules 400 may be comprised of software, firmware, hardware, or a combination of at least two of them. The programming module 400 may include an application 410, a driver 420, an access control list 430, and a UID (Unique Identifier) and Func # (function number) providing module 440. In the above programming module 400, the driver 420, the access control list 430, and the UID and Func # providing module 440 may be included in the trusted environment. The application 410 may be included in an untrusted environment. The application 410 may be a module that requests the driver 420 to access the functions provided by the driver 420, for example, the application 134.

어플리케이션 410은 자기 자신 또는 다른 어플리케이션의 접근 요구를 드라이버 420에 전송할 수 있다. 여기서 접근 요구에는 어플리케이션 410이 요구한 기능의 넘버 412가 포함될 수 있다. 드라이버 420은 접근 요구를 접근 제어 모듈 421로 전달할 수 있다. 접근 제어 모듈 421은 메모리(예: 메모리 130)에서 어플리케이션 410 (또는 다른 어플리케이션)의 바이너리 헤더(binary header) 411를 찾을(find) 수 있다. 접근 제어 모듈 421은 바이너리 헤더 411에서 해당 어플리케이션의 UID 411a를 획득(catch)할 수 있다. 접근 제어 모듈 421은 접근 제어 리스트 430에서 획득된 UID 411a에 대응되는 기능의 넘버를 검색할 수 있다. 검색 결과는 액세스 제어 결과(예: 접근 승인 또는 거부)로써 받아들여진다. UID 및 Func# 제공 모듈 440은 접근 제어 리스트 430를 관리(예: 업데이트, 삭제, 추가, 편집 등)할 수 있다.The application 410 may send an access request of itself or another application to the driver 420. Here, the access request may include the number 412 of the function requested by the application 410. The driver 420 may forward the access request to the access control module 421. The access control module 421 may find a binary header 411 of the application 410 (or other application) in a memory (e.g., memory 130). The access control module 421 can catch the UID 411a of the application in the binary header 411. [ The access control module 421 can retrieve the number of the function corresponding to the UID 411a acquired in the access control list 430. [ The search results are accepted as access control results (eg, approve or deny access). The UID and Func # provision module 440 may manage (e.g., update, delete, add, edit, etc.) the access control list 430.

어떤 실시예들에 따르면, 접근 제어 리스트 430은 비신뢰 환경에 포함될 수도 있다. 그렇다면, UID 및 Func# 제공 모듈 440은 UID와 Func#를 암호화하는 모듈을 포함할 수 있다. 드라이버 420 또는 접근 제어 모듈 421은 암호화된 UID와 Func#를 복호화하는 모듈을 포함할 수 있다.According to some embodiments, the access control list 430 may be included in an untrusted environment. If so, the UID and Func # provision module 440 may include a module for encrypting UID and Func #. The driver 420 or the access control module 421 may include a module for decrypting the encrypted UID and Func #.

도 5는 다양한 실시예들에 따른 접근 제어 방법을 설명하기 위한 흐름도이다.5 is a flow chart illustrating an access control method according to various embodiments.

도 5를 참조하면, 동작 510에서 접근 제어 모듈(예: 접근 제어 모듈 421)은 접근 요구한 어플리케이션으로부터 UID를 획득할 수 있다. 동작 520에서 접근 제어 모듈 421은 획득된 UID가 접근 제어 리스트(예: 접근 제어 리스트 430)에 존재하는지 여부를 결정할 수 있다. 동작 520에서의 결정 결과 획득된 UID가 접근 제어 리스트 430에 존재하지 않다면, 동작 530에서 접근 제어 모듈 421은 어플리케이션에게 "접근이 거부됨"을 통보할 수 있다. 동작 520에서의 결정 결과 획득된 UID가 접근 제어 리스트 430에 존재한다면, 동작 540에서 접근 제어 모듈 421은 Func#(예컨대, 어플리케이션으로부터 수신한 Func#)가 접근 제어 리스트(예: 상기 획득된 UID에 해당되는 Func# 리스트)에 존재하는지 여부를 결정할 수 있다. 동작 540에서의 결정 결과 Func#가 접근 제어 리스트에 존재하지 않다면, 접근 제어 모듈 421은 동작 530을 수행할 수 있다. 동작 550에서의 결정 결과 Func#가 접근 제어 리스트에 존재한다면, 접근 제어 모듈 421은 접근을 승인할 수 있다. Referring to FIG. 5, at operation 510, an access control module (e.g., access control module 421) may obtain a UID from an access requesting application. In operation 520, access control module 421 may determine whether the acquired UID is present in an access control list (e.g., access control list 430). If the UID obtained as a result of the determination at operation 520 is not present in the access control list 430, then at operation 530, the access control module 421 may notify the application of "denied access ". If the UID obtained as a result of the determination at operation 520 is present in the access control list 430, then at operation 540, the access control module 421 determines that the Func # (e.g., Func # received from the application) The corresponding Func # list). If the determination result Func # at operation 540 is not present in the access control list, the access control module 421 may perform operation 530. [ If the determination result Func # at operation 550 is present in the access control list, the access control module 421 may approve the access.

다양한 실시예들에 따르면, 본 개시에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 하나 이상의 프로세서 (예: 상기 프로세서 210)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리 220가 될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 상기 프로세서210에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.According to various embodiments, at least a portion of a device (e.g., modules or functions thereof) or a method (e.g., operations) according to the present disclosure may be stored in a computer readable storage medium computer-readable storage media). The instructions, when executed by one or more processors (e.g., the processor 210), may cause the one or more processors to perform functions corresponding to the instructions. The computer readable storage medium may be, for example, the memory 220. At least some of the programming modules may be implemented (e.g., executed) by, for example, the processor 210. At least some of the programming modules may include, for example, modules, programs, routines, sets of instructions or processes, etc. to perform one or more functions.

어떠한 실시예들에 따르면, 전자 장치에서 접근을 제어하는 방법은 상기 전자장치에 구성된 영역들 중 제 1 영역에 존재하는 접근 제어 모듈이, 제 2 영역에 존재하는 어플리케이션의 자원에 대한 접근 요구에 반응하여, 상기 어플리케이션의 고유 식별자를 상기 제 2영역에서 획득하는 동작; 상기 고유 식별자가 접근 제어 리스트에 존재하는지 여부를 판단하는 동작; 및 상기 고유 식별자가 상기 접근 제어 리스트에 존재할 경우 상기 자원에 대한 접근을 승인하는 동작을 포함할 수 있다. 상기 방법은 상기 자원에 대한 식별 정보를 상기 어플리케이션으로부터 수신하는 동작과, 상기 식별 정보가 상기 접근 제어 리스트에 존재하는지 여부를 판단하는 동작을 더 포함하고, 상기 자원에 대한 접근을 승인하는 동작은, 상기 고유 식별자 및 상기 식별 정보가 상기 접근 제어 리스트에 존재할 경우 수행될 수 있다. 상기 식별 정보는, 상기 제 1 영역에서 제공되는 기능의 식별 정보를 포함할 수 있다. 상기 어플리케이션의 고유 식별자를 상기 제 2영역에서 획득하는 동작은, 상기 제 2 영역에 속한 메모리에서 상기 어플리케이션의 바이너리 헤더를 찾는 동작과, 상기 바이너리 헤더에서 상기 고유 식별자를 획득하는 동작을 포함할 수 있다. 상기 자원은 상기 접근 제어 모듈에 의해 접근의 승인이 필요한 영역에 포함될 수 있다. 상기 접근의 승인이 필요한 영역은 상기 제 1 영역일 수 있다. 상기 자원은 상기 제 1 영역에 존재하는 드라이버가 제공하는 기능일 수 있다.According to some embodiments, a method for controlling access in an electronic device is a method in which an access control module in a first one of the areas configured in the electronic device responds to an access request for resources of an application existing in the second area Obtaining an unique identifier of the application in the second area; Determining whether the unique identifier is present in the access control list; And approving access to the resource if the unique identifier is present in the access control list. The method further comprising: receiving identification information about the resource from the application; and determining whether the identification information is present in the access control list, wherein the granting of access to the resource comprises: And the unique identifier and the identification information are present in the access control list. The identification information may include identification information of functions provided in the first area. The operation of acquiring the unique identifier of the application in the second area may include an operation of searching for a binary header of the application in a memory belonging to the second area and an operation of obtaining the unique identifier in the binary header . The resource may be included in an area that requires approval of access by the access control module. The area requiring the approval of the access may be the first area. The resource may be a function provided by a driver existing in the first area.

어떠한 실시예들에 따르면, 전자 장치는 제 1 영역과 제 2 영역을 포함하는 메모리; 상기 제 1 영역 및 상기 제 2 영역에 포함된 프로그램들을 실행하기 위한 프로세서를 포함할 수 있다. 상기 제 1 영역은 접근 제어 모듈을 포함하고, 상기 제 2 영역은 어플리케이션을 포함할 수 있다. 상기 접근 제어 모듈은, 상기 어플리케이션의 자원에 대한 접근 요구에 반응하여, 상기 어플리케이션의 고유 식별자를 상기 제 2 영역에서 획득하고, 상기 고유 식별자가 접근 제어 리스트에 존재하는지 여부를 판단하고, 상기 고유 식별자가 상기 접근 제어 리스트에 존재할 경우 상기 자원에 대한 접근을 승인하도록 구성될 수 있다. 상기 접근 제어 모듈은, 상기 자원에 대한 식별 정보를 상기 어플리케이션으로부터 수신하고, 상기 식별 정보가 상기 접근 제어 리스트에 존재하는지 여부를 판단하고, 상기 고유 식별자 및 상기 식별 정보가 상기 접근 제어 리스트에 존재할 경우 상기 자원에 대한 접근을 승인하도록 구성될 수 있다. 상기 제 1 영역은 드라이버와 운영체제를 포함하고, 상기 식별 정보는 상기 드라이버에 의해 제공되는 기능의 식별 정보를 포함할 수 있다. 상기 접근 제어 모듈은, 상기 제 2 영역에서 상기 어플리케이션의 바이너리 헤더를 찾아 상기 바이너리 헤더로부터 상기 고유 식별자를 획득하도록 구성될 수 있다.According to some embodiments, an electronic device includes a memory including a first area and a second area; And a processor for executing programs included in the first area and the second area. The first area may comprise an access control module and the second area may comprise an application. Wherein the access control module obtains a unique identifier of the application in the second area in response to an access request for the resource of the application, determines whether the unique identifier is present in the access control list, May be configured to grant access to the resource if it is present in the access control list. Wherein the access control module receives identification information about the resource from the application, determines whether the identification information is present in the access control list, and when the unique identifier and the identification information are present in the access control list And may be configured to grant access to the resource. The first area includes a driver and an operating system, and the identification information may include identification information of a function provided by the driver. The access control module may be configured to look up the binary header of the application in the second area and obtain the unique identifier from the binary header.

상기 컴퓨터로 판독 가능한 기록 매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 마그네틱 매체(Magnetic Media)와, CD-ROM(Compact Disc Read Only Memory), DVD(Digital Versatile Disc)와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media)와, 그리고 ROM(Read Only Memory), RAM(Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령(예: 프로그래밍 모듈)을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 개시의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.The computer-readable recording medium includes a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD (Digital Versatile Disc) A magneto-optical medium such as a floppy disk, and a program command such as a read only memory (ROM), a random access memory (RAM), a flash memory, Module) that is configured to store and perform the functions described herein. The program instructions may also include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of this disclosure, and vice versa.

본 개시에 따른 모듈 또는 프로그래밍 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 본 개시에 따른 모듈, 프로그래밍 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.A module or programming module according to the present disclosure may include at least one or more of the elements described above, some of which may be omitted, or may further include other additional elements. Operations performed by modules, programming modules, or other components in accordance with the present disclosure may be performed in a sequential, parallel, iterative, or heuristic manner. Also, some operations may be performed in a different order, omitted, or other operations may be added.

그리고 본 명세서와 도면에 개시된 실시 예들은 본 개시의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 범위를 한정하고자 하는 것은 아니다. 따라서 본 개시의 범위는 여기에 개시된 실시 예들 이외에도 본 개시의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.It is to be understood that both the foregoing description and the following detailed description are exemplary and explanatory only and are not intended to limit the scope of the present disclosure. Accordingly, the scope of the present disclosure should be construed as being included within the scope of the present disclosure in addition to the embodiments disclosed herein, all changes or modifications derived from the technical idea of the present disclosure.

101, 104: 전자 장치 106: 서버 110 : 버스
120 : 프로세서 130 : 메모리
131: 커널 132: 미들웨어
133: 어플리케이션 프로그래밍 인터페이스(API)
134: 어플리케이션 140: 입출력 인터페이스
150: 디스플레이 160: 통신 인터페이스
162: 네트워크 170: 어플리케이션 제어 모듈
200: 전자장치 210: 어플리케이션 프로세서
220: 통신 모듈
224_1~N: 슬롯 225_1~N: SIM 카드
230: 메모리 232: 내장 메모리
234: 외장 메모리
240: 센서 모듈 250: 입력 장치
260: 디스플레이 모듈 270: 인터페이스
280: 오디오 모듈 291: 카메라 모듈
295: 전력 관리 모듈 296: 배터리
297 인디케이터 298: 모터
400: 프로그래밍 모듈 410: 어플리케이션
411: 헤더 411a: UID
412: Func# 420: 드라이버
421: 접근 제어 모듈 430: 접근 제어 리스트
440: UID 및 Func# 제공 모듈
101, 104: Electronic device 106: Server 110: Bus
120: processor 130: memory
131: Kernel 132: Middleware
133: Application Programming Interface (API)
134: Application 140: I / O interface
150: Display 160: Communication interface
162: network 170: application control module
200: electronic device 210: application processor
220: Communication module
224_1 to N: slots 225_1 to N: SIM card
230: memory 232: internal memory
234: External memory
240: Sensor module 250: Input device
260: Display module 270: Interface
280: audio module 291: camera module
295: Power management module 296: Battery
297 Indicator 298: Motor
400: Programming module 410: Application
411: Header 411a: UID
412: Func # 420: Driver
421: Access control module 430: Access control list
440: UID and Func # Providing Module

Claims (15)

전자장치에서 접근을 제어하는 방법에 있어서,
상기 전자장치에 구성된 영역들 중 제 1 영역에 존재하는 접근 제어 모듈이, 제 2 영역에 존재하는 어플리케이션의 자원에 대한 접근 요구에 반응하여, 상기 어플리케이션의 고유 식별자를 상기 제 2영역에서 획득하는 동작;
상기 고유 식별자가 접근 제어 리스트에 존재하는지 여부를 판단하는 동작; 및
상기 고유 식별자가 상기 접근 제어 리스트에 존재할 경우 상기 자원에 대한 접근을 승인하는 동작을 포함하는 방법.
A method of controlling access in an electronic device,
Wherein the access control module in the first area among the areas configured in the electronic device is operable in response to an access request for an application resource existing in the second area to acquire the unique identifier of the application in the second area ;
Determining whether the unique identifier is present in the access control list; And
And approving access to the resource if the unique identifier is present in the access control list.
제 1 항에 있어서,
상기 자원에 대한 식별 정보를 상기 어플리케이션으로부터 수신하는 동작과,
상기 식별 정보가 상기 접근 제어 리스트에 존재하는지 여부를 판단하는 동작을 더 포함하고,
상기 자원에 대한 접근을 승인하는 동작은,
상기 고유 식별자 및 상기 식별 정보가 상기 접근 제어 리스트에 존재할 경우 수행되는, 방법.
The method according to claim 1,
Receiving identification information on the resource from the application;
Further comprising: determining whether the identification information is present in the access control list,
Wherein the granting of access to the resource comprises:
Wherein the unique identifier and the identification information are present in the access control list.
제 2 항에 있어서,
상기 식별 정보는,
상기 제 1 영역에서 제공되는 기능의 식별 정보를 포함하는, 방법.
3. The method of claim 2,
Wherein,
And identification information of a function provided in the first area.
제 1 항에 있어서,
상기 어플리케이션의 고유 식별자를 상기 제 2영역에서 획득하는 동작은,
상기 제 2 영역에 속한 메모리에서 상기 어플리케이션의 바이너리 헤더를 찾는 동작과,
상기 바이너리 헤더에서 상기 고유 식별자를 획득하는 동작을 포함하는, 방법.
The method according to claim 1,
And acquiring the unique identifier of the application in the second area,
Searching for a binary header of the application in a memory belonging to the second area;
And obtaining the unique identifier in the binary header.
제 1 항에 있어서,
상기 자원은,
상기 접근 제어 모듈에 의해 접근의 승인이 필요한 영역에 포함되는, 방법.
The method according to claim 1,
The resource comprises:
Wherein the access control module is included in an area requiring acknowledgment of access.
제 5 항에 있어서,
상기 접근의 승인이 필요한 영역은 상기 제 1 영역인, 방법.
6. The method of claim 5,
Wherein the area requiring approval of the access is the first area.
제 5 항에 있어서,
상기 자원은,
상기 제 1 영역에 존재하는 드라이버가 제공하는 기능을 포함하는, 방법.
6. The method of claim 5,
The resource comprises:
And a function provided by a driver present in the first area.
전자 장치에 있어서,
제 1 영역과 제 2 영역을 포함하는 메모리;
상기 제 1 영역 및 상기 제 2 영역에 포함된 프로그램들을 실행하기 위한 프로세서를 포함하고,
상기 제 1 영역은 접근 제어 모듈을 포함하고,
상기 제 2 영역은 어플리케이션을 포함하고,
상기 접근 제어 모듈이, 상기 어플리케이션의 자원에 대한 접근 요구에 반응하여, 상기 어플리케이션의 고유 식별자를 상기 제 2 영역에서 획득하고, 상기 고유 식별자가 접근 제어 리스트에 존재하는지 여부를 판단하고, 상기 고유 식별자가 상기 접근 제어 리스트에 존재할 경우 상기 자원에 대한 접근을 승인하도록 구성된, 전자 장치.
In an electronic device,
A memory including a first area and a second area;
And a processor for executing programs contained in the first area and the second area,
Wherein the first area comprises an access control module,
Wherein the second area comprises an application,
The access control module acquires a unique identifier of the application in the second area in response to a request for access to the resource of the application, determines whether the unique identifier is present in the access control list, Is configured to grant access to the resource if it is present in the access control list.
제 8 항에 있어서,
상기 접근 제어 모듈이,
상기 자원에 대한 식별 정보를 상기 어플리케이션으로부터 수신하고, 상기 식별 정보가 상기 접근 제어 리스트에 존재하는지 여부를 판단하고, 상기 고유 식별자 및 상기 식별 정보가 상기 접근 제어 리스트에 존재할 경우 상기 자원에 대한 접근을 승인하도록 구성된, 전자 장치.
9. The method of claim 8,
The access control module,
Receiving from the application identification information for the resource, determining whether the identification information is present in the access control list, and if the unique identifier and the identification information are present in the access control list, An electronic device configured for approval.
제 9 항에 있어서,
상기 제 1 영역은 드라이버와 운영체제를 포함하고,
상기 식별 정보는,
상기 드라이버에 의해 제공되는 기능의 식별 정보를 포함하는, 전자 장치.
10. The method of claim 9,
Wherein the first area includes a driver and an operating system,
Wherein,
And identification information of a function provided by the driver.
제 8 항에 있어서,
상기 접근 제어 모듈이,
상기 제 2 영역에서 상기 어플리케이션의 바이너리 헤더를 찾아 상기 바이너리 헤더로부터 상기 고유 식별자를 획득하도록 구성된, 전자 장치.
9. The method of claim 8,
The access control module,
And to retrieve the binary header of the application in the second region to obtain the unique identifier from the binary header.
제 8 항에 있어서,
상기 자원은,
상기 메모리에서 상기 접근 제어 모듈에 의해 접근의 승인이 필요한 영역에 포함되는, 전자 장치.
9. The method of claim 8,
The resource comprises:
Wherein the access control module is included in the memory in an area requiring acknowledgment of access.
제 12 항에 있어서,
상기 접근의 승인이 필요한 영역은 상기 제 1 영역인, 전자 장치.
13. The method of claim 12,
And the area requiring the approval of the access is the first area.
제 12 항에 있어서,
상기 자원은,
상기 제 1 영역에 존재하는 드라이버가 제공하는 기능을 포함하는, 전자 장치.
13. The method of claim 12,
The resource comprises:
And a function provided by a driver existing in the first area.
전자장치에 구성된 영역들 중 제 1 영역에 존재하는 접근 제어 모듈이, 제 2 영역에 존재하는 어플리케이션의 자원에 대한 접근 요구에 반응하여, 상기 어플리케이션의 고유 식별자를 상기 제 2영역에서 획득하는 동작;
상기 고유 식별자가 접근 제어 리스트에 존재하는지 여부를 판단하는 동작; 및
상기 고유 식별자가 상기 접근 제어 리스트에 존재할 경우 상기 자원에 대한 접근을 승인하는 동작을 수행하는 프로그램 명령어들을 포함하는 컴퓨터로 판독 가능한 기록 매체.
The access control module existing in the first area among the areas configured in the electronic device acquires the unique identifier of the application in the second area in response to an access request for the resource of the application existing in the second area;
Determining whether the unique identifier is present in the access control list; And
And granting access to the resource if the unique identifier is present in the access control list.
KR1020140010227A 2013-03-13 2014-01-28 Application access control method and electronic device implementing the same Withdrawn KR20140112392A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361780266P 2013-03-13 2013-03-13
US61/780,266 2013-03-13

Publications (1)

Publication Number Publication Date
KR20140112392A true KR20140112392A (en) 2014-09-23

Family

ID=51757373

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140010227A Withdrawn KR20140112392A (en) 2013-03-13 2014-01-28 Application access control method and electronic device implementing the same

Country Status (1)

Country Link
KR (1) KR20140112392A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018117747A1 (en) * 2016-12-22 2018-06-28 Samsung Electronics Co., Ltd. Electronic device, method for controlling thereof and computer-readable recording medium
CN116112464A (en) * 2023-01-10 2023-05-12 武汉绿色网络信息服务有限责任公司 Data processing method, device, electronic equipment and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018117747A1 (en) * 2016-12-22 2018-06-28 Samsung Electronics Co., Ltd. Electronic device, method for controlling thereof and computer-readable recording medium
CN116112464A (en) * 2023-01-10 2023-05-12 武汉绿色网络信息服务有限责任公司 Data processing method, device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
US10979901B2 (en) Electronic device and method for processing data in electronic device
US10021103B2 (en) Service authorization methods and apparatuses
US10237269B2 (en) Method of providing information security and electronic device thereof
KR102204247B1 (en) Apparatus and Method for processing biometric information in a electronic device
KR102226411B1 (en) Electronic device and method for managing reenrollment
KR102213448B1 (en) Method for controlling log in authentication state of electronic device and electronic device implementing the same
KR20150126484A (en) Apparatas and method for transforming source code into machine code in an electronic device
US10242167B2 (en) Method for user authentication and electronic device implementing the same
KR20150123493A (en) Method of processing input and electronic device thereof
KR20150098002A (en) Authentication method and apparatus based on biometric information in a electronic device
KR20160041147A (en) Method for controlling and an electronic device thereof
KR20150055851A (en) Method and apparatus for connecting communication of electronic devices
KR20160059342A (en) Method for operating fingerprint sensor and electronic device
US9614673B2 (en) Method of managing keys and electronic device adapted to the same
KR20160014496A (en) Electronic apparatus and method for network temporary unlock
KR20150117543A (en) Apparatus and method for managing authentication
KR20160014357A (en) Electronic device and method for transceiving data
KR20180046149A (en) Electronic apparatus and method for performing authentication
US20150234757A1 (en) Security information inputting/outputting method and electronic device adapted to the method
KR102208696B1 (en) Method and Apparatus for Obtaining Sensing Data
KR102241831B1 (en) Electronic device and operating method thereof
US20150267934A1 (en) Method of controlling cpu and electronic device thereof
US10114542B2 (en) Method for controlling function and electronic device thereof
KR20160077851A (en) Apparatus and method for providing security for memory of in electronics device
KR20150142476A (en) Method and apparatus for displaying a execution screen of application in electronic device

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20140128

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid