KR20140112392A - Application access control method and electronic device implementing the same - Google Patents
Application access control method and electronic device implementing the same Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation 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
본 개시의 다양한 실시 예는 컴퓨팅 자원(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
상기 버스 110는 전술한 구성요소들을 서로 연결하고, 전술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.The
상기 프로세서 120는, 예를 들면, 상기 버스 110를 통해 전술한 다른 구성요소들(예: 상기 메모리 130, 상기 입출력 인터페이스 140, 상기 디스플레이 150, 상기 통신 인터페이스 160, 또는 상기 어플리케이션 제어 모듈 170 등)로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다. The
상기 메모리 130는, 상기 프로세서 120 또는 다른 구성요소들(예: 상기 입출력 인터페이스 140, 상기 디스플레이 150, 상기 통신 인터페이스 160, 또는 상기 어플리케이션 제어 모듈 170 등)로부터 수신되거나 상기 프로세서 120 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 상기 메모리 130는, 예를 들면, 전자 장치 101의 OS로써 커널 131, 미들웨어 132, 어플리케이션 프로그래밍 인터페이스(API: application programming interface) 133 또는 어플리케이션 134 등의 프로그래밍 모듈들을 포함할 수 있다. 전술한 각각의 프로그래밍 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.The
상기 커널 131은 나머지 다른 프로그래밍 모듈들, 예를 들면, 상기 미들웨어 132, 상기 API 133 또는 상기 어플리케이션 134에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 상기 버스 110, 상기 프로세서 120 또는 상기 메모리 130 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널 131은 상기 미들웨어 132, 상기 API 133 또는 상기 어플리케이션 134에서 상기 전자 장치 101의 자원에 접근하여 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다. The
상기 커널 131은 드라이버를 포함할 수 있다. 드라이버는, 커널 131로부터 명령을 수신하고, 명령에 응답하여 주변기기(예: 디스플레이, 카메라, 블루투스 등)의 입력 및 출력을 제어할 수 있다. 드라이버는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버 또는 오디오 드라이버를 포함할 수 있다. 또한, 한 실시예에 따르면, 드라이버는 IPC (inter-process communication) 드라이버를 포함할 수 있다.The
상기 미들웨어 132는 상기 API 133 또는 상기 어플리케이션 134이 상기 커널 131과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어 132는 상기 어플리케이션 134로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 어플리케이션 134 중 적어도 하나의 어플리케이션에 상기 전자 장치 101의 시스템 리소스(예: 상기 버스 110, 상기 프로세서 120 또는 상기 메모리 130 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)을 수행할 수 있다.The
상기 API 133는 상기 어플리케이션 134이 상기 커널 131 또는 상기 미들웨어 132에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. The
다양한 실시예에 따르면, 상기 어플리케이션 134는 SMS/MMS 어플리케이션, 이메일 어플리케이션, 달력 어플리케이션, 알람 어플리케이션, 건강 관리(health care) 어플리케이션(예: 운동량 또는 혈당 등을 측정하는 어플리케이션) 또는 환경 정보 어플리케이션(예: 기압, 습도 또는 온도 정보 등을 제공하는 어플리케이션) 등을 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 어플리케이션 134은 상기 전자 장치 101와 외부 전자 장치(예: 전자 장치 104) 사이의 정보 교환과 관련된 어플리케이션일 수 있다. 상기 정보 교환과 관련된 어플리케이션은, 예를 들어, 상기 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 상기 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다. According to various embodiments, the
예를 들면, 상기 알림 전달 어플리케이션은 상기 전자 장치 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
다양한 실시예에 따르면, 상기 어플리케이션 134은 상기 외부 전자 장치(예: 전자 장치 104)의 속성(예: 전자 장치의 종류)에 따라 지정된 어플리케이션을 포함할 수 있다. 예를 들어, 외부 전자 장치가 MP3 플레이어인 경우, 상기 어플리케이션 134은 음악 재생과 관련된 어플리케이션을 포함할 수 있다. 유사하게, 외부 전자 장치가 모바일 의료기기인 경우, 상기 어플리케이션 134은 건강 관리와 관련된 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 상기 어플리케이션 134은 전자 장치 101에 지정된 어플리케이션 또는 외부 전자 장치(예: 서버 106 또는 전자 장치 104)로부터 수신된 어플리케이션 중 적어도 하나를 포함할 수 있다.According to various embodiments, the
상기 입출력 인터페이스 140은, 입출력 장치(예: 센서, 키보드 또는 터치 스크린)를 통하여 사용자로부터 입력된 명령 또는 데이터를, 예를 들면, 상기 버스 110를 통해 상기 프로세서 120, 상기 메모리 130, 상기 통신 인터페이스 160, 또는 상기 어플리케이션 제어 모듈 170에 전달할 수 있다. 예를 들면, 상기 입출력 인터페이스 140은 터치 스크린을 통하여 입력된 사용자의 터치에 대한 데이터를 상기 프로세서 120로 제공할 수 있다. 또한, 상기 입출력 인터페이스 140은, 예를 들면, 상기 버스 110을 통해 상기 프로세서 120, 상기 메모리 130, 상기 통신 인터페이스 160, 또는 상기 어플리케이션 제어 모듈 170로부터 수신된 명령 또는 데이터를 상기 입출력 장치(예: 스피커 또는 디스플레이)를 통하여 출력할 수 있다. 예를 들면, 상기 입출력 인터페이스 140은 상기 프로세서 120를 통하여 처리된 음성 데이터를 스피커를 통하여 사용자에게 출력할 수 있다. The input /
상기 디스플레이 150은 사용자에게 각종 정보(예: 멀티미디어 데이터 또는 텍스트 데이터 등)을 표시할 수 있다.The
상기 통신 인터페이스 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
한 실시예에 따르면, 상기 네트워크 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
어플리케이션 제어 모듈 170은, 다른 구성요소들(예: 상기 프로세서 120, 상기 메모리 130, 상기 입출력 인터페이스 140, 또는 상기 통신 인터페이스 160 등)로부터 획득된 정보 중 적어도 일부를 처리하고, 이를 다양한 방법으로 사용자에게 제공할 수 있다. 예를 들면, 상기 어플리케이션 제어 모듈 170은, 상기 전자 장치 101에 구비된 접속 부품의 정보를 인식하고, 접속 부품의 정보를 상기 메모리 130에 저장하고, 접속 부품의 정보에 기반하여, 어플리케이션 134를 실행시킬 수 있다.The
도 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
상기 AP 210는 운영체제 또는 응용 프로그램을 구동하여 상기 AP 210에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP 210는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 상기 AP 210는 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.The
상기 통신 모듈 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
상기 셀룰러 모듈 221은 통신망(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등)을 통해서 음성 통화, 영상 통화, 문자 서비스 또는 인터넷 서비스 등을 제공할 수 있다. 또한, 상기 셀룰러 모듈 221은, 예를 들면, 가입자 식별 모듈(예: SIM 카드 224)을 이용하여 통신 네트워크 내에서 전자 장치의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 상기 셀룰러 모듈 221은 상기 AP 210가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 예를 들면, 상기 셀룰러 모듈 221은 멀티 미디어 제어 기능의 적어도 일부를 수행할 수 있다. The
한 실시예에 따르면, 상기 셀룰러 모듈 221은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다. 또한, 상기 셀룰러 모듈 221은, 예를 들면, SoC로 구현될 수 있다. 도 2에서는 상기 셀룰러 모듈 221(예: 커뮤니케이션 프로세서), 상기 메모리 230 또는 상기 전력관리 모듈 295 등의 구성요소들이 상기 AP 210와 별개의 구성요소로 도시되어 있으나, 한 실시예에 따르면, 상기 AP 210가 전술한 구성요소들의 적어도 일부(예: 셀룰러 모듈 221)를 포함하도록 구현될 수 있다.According to one embodiment, the
한 실시예에 따르면, 상기 AP 210 또는 상기 셀룰러 모듈 221(예: 커뮤니케이션 프로세서)은 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP 210 또는 상기 셀룰러 모듈 221은 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.According to one embodiment, the
상기 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
상기 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
상기 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
상기 센서 모듈 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
상기 입력 장치 250은 터치 패널(touch panel) 252, (디지털) 펜 센서(pen sensor) 254, 키(key) 256 또는 초음파(ultrasonic) 입력 장치 258를 포함할 수 있다. 상기 터치 패널 252은, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 상기 터치 패널 252은 제어 회로를 더 포함할 수도 있다. 정전식의 경우, 물리적 접촉 또는 근접 인식이 가능하다. 상기 터치 패널 252은 택타일 레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 상기 터치 패널 252은 사용자에게 촉각 반응을 제공할 수 있다. The
상기 (디지털) 펜 센서 254는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 상기 키 256는, 예를 들면, 물리적인 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 상기 초음파(ultrasonic) 입력 장치 258는 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치 200에서 마이크(예: 마이크 288)로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시예에 따르면, 상기 전자 장치 200는 상기 통신 모듈 220를 이용하여 이와 연결된 외부 장치(예: 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다. The (digital)
상기 디스플레이 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
상기 인터페이스 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
상기 오디오 모듈 280은 소리(sound)와 전기신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈 280의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스 140에 포함될 수 있다. 상기 오디오 모듈 280은, 예를 들면, 스피커 282, 리시버 284, 이어폰 286 또는 마이크 288 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다. The
상기 카메라 모듈 291은 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈(미도시), ISP(image signal processor, 미도시) 또는 플래쉬 (flash, 미도시)(예: LED 또는 xenon lamp)를 포함할 수 있다.The
상기 전력 관리 모듈 295은 상기 전자 장치 200의 전력을 관리할 수 있다. 도시하지는 않았으나, 상기 전력 관리 모듈 295은, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. The
상기 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
상기 인디케이터 297는 상기 전자 장치 200 혹은 그 일부(예: 상기 AP 210)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터 298는 전기적 신호를 기계적 진동으로 변환할 수 있다. 도시되지는 않았으나, 상기 전자 장치 200는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어 플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다. The
본 개시에 따른 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(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
도 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
어플리케이션 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
어떤 실시예들에 따르면, 접근 제어 리스트 430은 비신뢰 환경에 포함될 수도 있다. 그렇다면, UID 및 Func# 제공 모듈 440은 UID와 Func#를 암호화하는 모듈을 포함할 수 있다. 드라이버 420 또는 접근 제어 모듈 421은 암호화된 UID와 Func#를 복호화하는 모듈을 포함할 수 있다.According to some embodiments, the
도 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
다양한 실시예들에 따르면, 본 개시에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(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
어떠한 실시예들에 따르면, 전자 장치에서 접근을 제어하는 방법은 상기 전자장치에 구성된 영역들 중 제 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:
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.
상기 자원에 대한 식별 정보를 상기 어플리케이션으로부터 수신하는 동작과,
상기 식별 정보가 상기 접근 제어 리스트에 존재하는지 여부를 판단하는 동작을 더 포함하고,
상기 자원에 대한 접근을 승인하는 동작은,
상기 고유 식별자 및 상기 식별 정보가 상기 접근 제어 리스트에 존재할 경우 수행되는, 방법.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.
상기 식별 정보는,
상기 제 1 영역에서 제공되는 기능의 식별 정보를 포함하는, 방법.3. The method of claim 2,
Wherein,
And identification information of a function provided in the first area.
상기 어플리케이션의 고유 식별자를 상기 제 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.
상기 자원은,
상기 접근 제어 모듈에 의해 접근의 승인이 필요한 영역에 포함되는, 방법.The method according to claim 1,
The resource comprises:
Wherein the access control module is included in an area requiring acknowledgment of access.
상기 접근의 승인이 필요한 영역은 상기 제 1 영역인, 방법.6. The method of claim 5,
Wherein the area requiring approval of the access is the first area.
상기 자원은,
상기 제 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.
상기 접근 제어 모듈이,
상기 자원에 대한 식별 정보를 상기 어플리케이션으로부터 수신하고, 상기 식별 정보가 상기 접근 제어 리스트에 존재하는지 여부를 판단하고, 상기 고유 식별자 및 상기 식별 정보가 상기 접근 제어 리스트에 존재할 경우 상기 자원에 대한 접근을 승인하도록 구성된, 전자 장치.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.
상기 제 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.
상기 접근 제어 모듈이,
상기 제 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.
상기 자원은,
상기 메모리에서 상기 접근 제어 모듈에 의해 접근의 승인이 필요한 영역에 포함되는, 전자 장치.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.
상기 접근의 승인이 필요한 영역은 상기 제 1 영역인, 전자 장치.13. The method of claim 12,
And the area requiring the approval of the access is the first area.
상기 자원은,
상기 제 1 영역에 존재하는 드라이버가 제공하는 기능을 포함하는, 전자 장치.13. The method of claim 12,
The resource comprises:
And a function provided by a driver existing in the first area.
상기 고유 식별자가 접근 제어 리스트에 존재하는지 여부를 판단하는 동작; 및
상기 고유 식별자가 상기 접근 제어 리스트에 존재할 경우 상기 자원에 대한 접근을 승인하는 동작을 수행하는 프로그램 명령어들을 포함하는 컴퓨터로 판독 가능한 기록 매체.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.
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)
| 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 |
-
2014
- 2014-01-28 KR KR1020140010227A patent/KR20140112392A/en not_active Withdrawn
Cited By (2)
| 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 |