KR20190052319A - 전자 장치 및 그의 제어 방법 - Google Patents

전자 장치 및 그의 제어 방법 Download PDF

Info

Publication number
KR20190052319A
KR20190052319A KR1020170147918A KR20170147918A KR20190052319A KR 20190052319 A KR20190052319 A KR 20190052319A KR 1020170147918 A KR1020170147918 A KR 1020170147918A KR 20170147918 A KR20170147918 A KR 20170147918A KR 20190052319 A KR20190052319 A KR 20190052319A
Authority
KR
South Korea
Prior art keywords
application
electronic device
state
function
access right
Prior art date
Application number
KR1020170147918A
Other languages
English (en)
Other versions
KR102477043B1 (ko
Inventor
이윤진
하승현
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170147918A priority Critical patent/KR102477043B1/ko
Priority to EP18876966.5A priority patent/EP3662399B1/en
Priority to US16/181,761 priority patent/US10867074B2/en
Priority to CN201880069321.3A priority patent/CN111279342B/zh
Priority to PCT/KR2018/013394 priority patent/WO2019093743A1/en
Publication of KR20190052319A publication Critical patent/KR20190052319A/ko
Application granted granted Critical
Publication of KR102477043B1 publication Critical patent/KR102477043B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones

Abstract

어플리케이션의 접근 권한을 제어할 수 있는 전자 장치 및 그의 제어 방법이 개시된다. 본 개시에 따른 어플리케이션을 실행하는 전자 장치의 제어 방법은 어플리케이션의 실행에 필요한 전자 장치의 기능에 대한 접근 권한 허용 여부를 문의하기 위한 이벤트가 감지된 경우, 접근 권한에 대한 허용 여부를 확인하기 위한 UI를 표시하는 단계 및 UI를 통해 사용자 명령이 입력되면, 이벤트에 따른 어플리케이션의 상태 및 사용자 명령에 따른 접근 권한의 허용 여부를 매칭하여 저장하는 단계를 포함한다.

Description

전자 장치 및 그의 제어 방법 {Electronic device and control method thereof}
본 개시는 어플리케이션을 실행하는 전자 장치 및 그의 제어 방법에 관한 것으로, 특히 어플리케이션의 상태 변경에 따라 전자 장치의 특정 기능에 대한 접근 권한을 변경할 수 있는 전자 장치 및 그의 제어 방법에 관한 것이다.
전자 기술의 및 소프트웨어 기술의 발달과 함께 사용자는 다양한 기능을 수행할 수 있는 어플리케이션을 제공 받을 수 있다. 근래에는 다양한 종류의 어플리케이션이 사용자의 편의를 위하여 제공되고 있다. 이때, 보안상의 이유 등으로 어플리케이션이 전자 장치의 특정 기능(예를 들어 카메라 기능, 인터넷 기능, 메모리의 저장 기능 등)을 사용하고자 하는 경우에는 해당 기능에 대한 접근 권한을 요구하고 있다.
그러나, 사용자는 자신이 사용하는 어플리케이션이 어떤 접근 권한을 필요로 하는지 여부에 대하여 정확히 인지하지 못하는 경우가 많다. 예를 들어, 대부분의 어플리케이션의 경우, 어플리케이션의 접근 권한이 설정되면, 어플리케이션은 사용자의 동의 없이도 특정 기능을 사용할 수 있다. 또한, 어떤 경우에는 특정 어플리케이션이 과도한 접근 권한을 요구하기 때문에, 사용자가 인지하지 못하는 사이 사용자의 개인 정보가 외부로 유출되기 쉬운 상황이다.
따라서, 어플리케이션의 접근 권한을 효율적으로 관리할 수 있는 방법에 대한 필요성이 대두되고 있다.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로, 실행되는 어플리케이션의 상태 조건에 따라 접근 권한 허용 여부를 문의하는 UI 및 상기 UI를 통해 입력된 사용자 명령에 따라 전자 장치의 기능에 대한 접근 권한을 설정하는 전자 장치 및 그의 제어 방법에 대하여 개시한다.
상기 문제를 해결하기 위한 본 개시의 일 실시예에 따른 어플리케이션을 실행하는 전자 장치의 제어방법은 어플리케이션의 실행에 필요한 상기 전자 장치의 기능에 대한 접근 권한 허용 여부를 문의하기 위한 이벤트가 감지된 경우, 상기 접근 권한에 대한 허용 여부를 확인하기 위한 UI를 표시하는 단계 및 상기 UI를 통해 사용자 명령이 입력되면, 상기 이벤트에 따른 어플리케이션의 상태 및 상기 사용자 명령에 따른 상기 접근 권한의 허용 여부를 매칭하여 저장하는 단계를 포함한다.
이때, 상기 UI를 표시하는 단계는, 상기 어플리케이션의 실행 상태가 변경되는 이벤트가 감지되는 경우, 상기 어플리케이션에 대응되는 기능의 접근 권한에 대한 허용 여부를 문의하는 UI를 표시할 수 있다.
이때, 상기 어플리케이션의 실행 상태 변경은, 포어 그라운드(fore-ground)에서 실행하는 상태에서 백그라운드(back-ground)로 실행하는 상태로 변경되는 것이고, 상기 저장하는 단계는, 상기 어플리케이션이 상기 포어 그라운드에서 상기 백그라운드 상태로 변경된 경우, 상기 백그라운드 상태에 대응되는 기능과 상기 기능의 접근 권한 허용 여부를 매칭하여 저장하는 단계를 포함 할 수 있다.
이때, 상기 어플리케이션이 백그라운드 상태인 경우, 상기 백그라운드 상태에서 저장된 접근 권한 여부에 따라 상기 기능을 실행하는 단계를 더 포함할 수 있다..
이때, 상기 제어 방법은 상기 어플리케이션이 백그라운드에서 실행되고 상기 전자 장치의 배터리가 기 설정된 값 이하인 경우, 상기 어플리케이션에 대응되는 기능의 접근 권한을 차단하는 단계를 더 포함할 수 있다.
이때, 상기 제어 방법은 상기 어플리케이션이 기 설정된 시간 동안 실행되지 않는 경우, 상기 어플리케이션에 대응되는 기능의 접근 권한을 차단하는 단계를 더 포함할 수 있다.
이때, 상기 제어 방법은, 상기 전자 장치가 기 설정된 네트워크에 연결되면, 상기 어플리케이션에 대응되는 네트워크 기능에 대한 접근 권한을 허용할 수 있다.
이때, 상기 제어 방법은, 상기 전자 장치의 특정 기능 실행에 대한 이벤트가 발생되면, 상기 특정 기능 실행에 대한 접근 권한이 허용되었는지 여부를 판단하는 단계, 상기 접근 권한이 허용되지 않은 경우, 상기 특정 기능에 대한 접근 권한에 대한 허용 여부를 확인하기 위한 UI를 표시하는 단계를 더 포함할 수 있다.
이때, 상기 제어 방법은, 상기 어플리케이션이 최초 실행되는 경우, 포어 그라운드 실행시 필요한 권한, 백그라운드 실행시 필요한 권한 및 인증을 위해 일시적으로 필요한 권한에 대한 허용 여부를 문의하는 UI를 표시하는 단계를 더 포함할 수 있다.
이때, 상기 제어 방법은, 상기 어플리케이션에 대응되는 기능이 인증을 위해 일시적으로 필요한 기능이고 상기 인증이 완료된 경우, 상기 인증을 위해 일시적으로 필요한 기능에 대한 접근 권한을 차단하는 단계를 더 포함할 수 있다.
한편, 상기 문제를 해결하기 위한 본 개시의 또다른 실시예에 다른 어플리케이션을 실행하는 전자 장치는, 메모리, 디스플레이 및 어플리케이션의 실행에 필요한 상기 전자 장치의 기능에 대한 접근 권한 허용 여부를 문의하기 위한 이벤트가 감지된 경우, 상기 접근 권한에 대한 허용 여부를 확인하기 위한 UI를 표시하도록 상기 디스플레이를 제어하고, 상기 UI를 통해 사용자 명령이 입력되면, 상기 이벤트에 따른 어플리케이션의 상태 및 상기 사용자 명령에 따른 상기 접근 권한의 허용 여부를 매칭하여 저장하도록 상기 메모리를 제어하는 프로세서를 포함한다.
이때, 상기 프로세서는, 상기 어플리케이션의 실행 상태가 변경되는 이벤트가 감지되는 경우, 상기 어플리케이션에 대응되는 기능의 접근 권한에 대한 허용 여부를 문의하는 UI를 표시하도록 상기 디스플레이를 제어할 수 있다.
이때, 상기 어플리케이션의 실행 상태 변경은, 포어 그라운드에서 실행하는 상태에서 백그라운드로 실행하는 상태로 변경되는 것이고, 상기 프로세서는, 상기 어플리케이션이 상기 포어 그라운드에서 상기 백그라운드 상태로 변경된 경우, 상기 백그라운드 상태에 대응되는 기능과 상기 기능의 접근 권한 허용 여부를 매칭하여 저장하도록 상기 메모리를 제어할 수 있다.
이때, 상기 프로세서는, 상기 어플리케이션이 백그라운드 상태인 경우, 상기 백그라운드 상태에서 저장된 접근 권한 여부에 따라 상기 기능을 실행하도록 상기 어플리케이션을 제어할 수 있다..
이때, 상기 프로세서는, 상기 어플리케이션이 백그라운드에서 실행되고 상기 전자 장치의 배터리가 기 설정된 값 이하인 경우, 상기 어플리케이션에 대응되는 기능의 접근 권한을 차단할 수 있다.
이때, 상기 프로세서는, 상기 어플리케이션이 기 설정된 시간 동안 실행되지 않는 경우, 상기 어플리케이션에 대응되는 기능의 접근 권한을 차단할 수 있다.
이때, 상기 전자 장치는 통신부를 더 포함하고, 상기 프로세서는, 상기 전자 장치가 상기 통신부를 통해 기 설정된 네트워크에 연결되면, 상기 어플리케이션에 대응되는 네트워크 기능에 대한 접근 권한을 허용할 수 있다.
이때, 상기 프로세서는, 상기 전자 장치의 특정 기능 실행에 대한 이벤트가 발생되면, 상기 특정 기능 실행에 대한 접근 권한이 허용되었는지 여부를 판단하고, 상기 접근 권한이 허용되지 않은 경우, 상기 특정 기능에 대한 접근 권한에 대한 허용 여부를 확인하기 위한 UI를 표시하도록 상기 디스플레이를 제어할 수 있다.
이때, 상기 프로세서는, 상기 어플리케이션이 최초 실행되는 경우, 포어 그라운드 실행시 필요한 권한, 백그라운드 실행시 필요한 권한 및 인증을 위해 일시적으로 필요한 권한에 대한 허용 여부를 문의하는 UI를 표시하도록 상기 디스플레이를 제어할 수 있다.
이때, 상기 프로세서는, 상기 어플리케이션에 대응되는 기능이 인증을 위해 일시적으로 필요한 기능이고 상기 인증이 완료된 경우, 상기 인증을 위해 일시적으로 필요한 기능에 대한 접근 권한을 차단할 수 있다.
상술한 바와 같이, 본 개시의 다양한 실시예에 따라, 전자 장치는 실행되는 어플리케이션의 상태가 변경되는 경우에 변경된 상태에 적합한 접근 권한을 설정할 수 있다.
도 1은 본 개시의 일 실시예에 따른 어플리케이션의 접근 권한을 설정하기 위한 UI를 표시한 전자 장치를 설명하기 위한 예시도이다.
도 2는 본 개시의 일 실시예에 따른 전자 장치의 구성을 간략히 도시한 블록도이다.
도 3a은 본 개시의 일 실시예에 따른 전자 장치의 구성을 상세히 도시한 블록도이다.
도 3b는 본 개시의 일 실시예에 따른 메모리의 구성을 상세히 도시한 블록도이다.
도 4a 및 도 4b는 본 개시의 일 실시예에 따른 접근 권한 관리 테이블을 설명하기 위한 예시도이다.
도 5a 내지 도 5d는 본 개시의 일 실시예에 따른 접근 권한을 설정하기 위한 방법을 설명하기 위한 예시도이다.
도 6a 내지 도 7b는 본 개시의 일 실시예에 따른 다양한 접근 권한 허용 여부 문의 UI를 설명하기 위한 예시도이다.
도 8a 내지 도 11c는 본 개시의 다양한 실시예를 설명하기 위한 예시도이다.
도 12는 본 개시의 일 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의'모듈' 혹은 복수의'부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
본 개시의 실시 예에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
또한, 본 개시의 실시 예에서, "어플리케이션"은 특정한 업무를 수행하기 위해 고안된 일련의 컴퓨터 프로그램 집합을 말한다. 본 개시의 실시 예에서, 어플리케이션은 다양할 수 있다. 예를 들어, 게임 애플리케이션, 동영상 재생 애플리케이션, 지도 애플리케이션, 메모 애플리케이션, 캘린더 애플리케이션, 폰 북 애플리케이션, 방송 애플리케이션, 운동 지원 애플리케이션, 결제 애플리케이션, 사진 폴더 애플리케이션, 의료 기기 제어 어플리케이션, 다수의 의료 기기의 사용자 인터페이스 제공 어플리케이션 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
도 1은 본 개시의 일 실시예에 따른 어플리케이션의 접근 권한을 설정하기 위한 UI를 표시한 전자 장치를 설명하기 위한 예시도이다.
도 1에 도시된 바와 같이, 사용자가 특정 어플리케이션을 사용하고, 전자 장치의 특정 기능의 접근이 차단된 상태에서 어플리케이션이 전자 장치의 특정 기능을 사용하고자 하는 경우, 전자 장치(100) 접근 권한 설정을 문의하는 UI를 표시할 수 있다.
이때, 사용자가 접근 권한을 설정하고자 하는 경우, 허용 명령을 입력할 수 있다. 예를 들어, 전자 장치(100)가 스마트폰인 경우, 사용자는 UI에 표시된 "Allow"버튼을 터치하여 특정 기능에 대한 접근 권한을 설정할 수 있다.
같은 방법으로 사용자가 접근 권한을 설정하기를 원치 않는 경우, 거부 명령을 입력할 수 있다. 예를 들어, 전자 장치(100)가 스마트폰인 경우, 사용자는 UI에 표시된 "Deny"버튼을 터치하여 특정 기능에 대한 접근 권한을 설정할 수 있다.
상기와 같은 사용자 명령의 형태는 전자 장치(100)의 종류에 따라 달라질 수 있음은 물론이다. 예를 들어 전자 장치(100)가 디스플레이 장치인 경우, 원격제어 장치를 통한 입력에 의해 사용자 명령이 입력된 수도 있으며, 그 외 음성 인식, 제스쳐 감지 등을 통해 사용자 명령을 입력할 수 있다.
이때, 어플리케이션의 접근 권한이 거부된 경우, 전자 장치(100)는 어플리케이션의 특정 기능을 사용하지 않을 수 있다. 이후, 어플리케이션이 이전에 거절된 접근 권한을 다시 사용하고자 하는 경우, 전자 장치(100)는 접근 권한 설정을 문의하는 UI를 다시 표시할 수 있다.
한편, 어플리케이션의 접근 권한이 허용된 경우, 전자 장치(100)는 어플리케이션이 허용된 접근 권한을 자유롭게 사용할 수 있도록 해당 어플리케이션에 대한 특정 기능 허용할 수 있다. 그러나 전자 장치(100) 또는 어플리케이션의 상태가 변경된 경우, 전자 장치(100)는 변경된 상태에 따라 특정 기능에 대한 어플리케이션의 접근 권한 허용 여부를 문의하는 UI를 재차 표시할 수 있다. 상태 변경이란 어플리케이션이 포어 그라운드에서 동작하는지 백 그라운드에서 동작하는지 여부, 전자 장치(100)와 연결된 네트워크의 종류, 전자 장치(100)의 스크린 온 오프 여부, 전자 장치가 위치한 장소 여부 등 다양할 수 있다 이에 대하여는 후술하도록 한다.
도 2는 본 개시의 일 실시예에 따른 전자 장치의 구성을 간략히 도시한 블록도이다.
도 2에 도시된 바와 같이, 전자 장치(100)는 메모리(110), 디스플레이(120) 및 프로세서(130)를 포함한다. 이때, 전자 장치(100)는 스마트 폰으로 구현될 수 있으나, 이는 일 실시예에 불과할 뿐, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면 웨어러블 장치는 엑세서리 형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘텍트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체 형(예: 전자 의복), 신체 부착 형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식 형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
또 다른 실시 예로, 전자 장치(100)는 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD 플레이어(Digital Video Disk player), 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔(예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
또 다른 실시 예로, 전자 장치(100)는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, 위성 항법 시스템(GNSS(Global Navigation Satellite System)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
또 다른 실시 예로, 전자 장치(100)는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다.
메모리(110)는 전자 장치(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리(110)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다.
메모리(110)는 어플리케이션의 종류, 특정 어플리케이션의 실행에 필요한 전자 장치(100)의 기능들, 전자 장치(100) 또는 어플리케이션 상태에 대응되는 접근 권한의 허용/거부에 대한 매핑 테이블을 저장할 수 있다.
디스플레이(120)는 디스플레이 영역에 다양한 화면들을 디스플레이 할 수 있다. 예를 들어, 디스플레이(120)는 어플리케이션의 접근 권한 허용 여부를 문의 하는 UI를 표시할 수 있다. 또는 디스플레이(120)는 사용자에게 다양한 정보를 제공하기 위한 노티바 창을 표시할 수 있다. 또는 디스플레이(120)는 어플리케이션 실행 화면, 어플리케이션 설정 환경 화면 등 다양한 화면을 표시할 수 있음은 물론이다. 그 외에도 디스플레이(120)는 이미지, 동영상, 텍스트와 같은 컨텐츠 등을 디스플레이 할 수 있음은 물론이다.
프로세서(130)는 전자 장치(100)의 전반적인 동작을 제어한다. 구체적으로, 프로세서(130)는 어플리케이션의 실행에 필요한 전자 장치(100)의 기능에 대한 접근 권한 허용 여부를 문의하기 위한 이벤트가 감지된 경우, 접근 권한에 대한 허용 여부를 확인하기 위한 UI를 표시하도록 디스플레이(120)를 제어할 수 있다. 이때, 접근 권한 허용 여부를 문의하기 위한 이벤트란, 어플리케이션의 실행에 전자 장치(100)의 특정 기능이 필요한 경우, 전자 장치(100) 또는 어플리케이션의 상태가 변경된 경우일 수 있다.
이때, 접근 권한에 대한 허용 여부를 확인하기 위한 UI를 통해 사용자 명령이 입력되면, 프로세서(130)는 발생한 이벤트에 따른 어플리케이션의 상태 및 사용자 명령에 따른 접근 권한의 허용 여부를 매칭하여 저장하도록 상기 메모리(110)를 제어할 수 있다. 구체적으로, 사용자 명령이 접근 권한 허용 명령인 경우, 프로세서(130)는 어플리케이션이 특정 기능을 실행하는 경우, 접근 권한 문의 UI를 표시하지 않고 어플리케이션이 특정 기능을 사용하도록 전자 장치(100)를 제어할 수 있다. 또는 사용자 명령이 접근 권한 거부 명령인 경우, 프로세서(130)는 어플리케이션이 특정 기능을 실행하는 경우, 접근 권한 문의 UI를 표시하도록 디스플레이(120)를 제어할 수 있다.
한편, 프로세서(130)는 전자 장치(100) 또는 어플리케이션의 실행 상태가 변경되는 경우, 어플리케이션에 대응되는 기능의 접근 권한에 대한 허용 여부를 문의하는 UI를 표시하도록 디스플레이(120)를 제어할 수 있다. 구체적으로, 어플리케이션의 실행 상태가 변경되는 경우, 프로세서(130)는 이전 실행 상태에서 특정 기능의 접근 권한을 허용하였다고 하더라도 이전 상태에서 허용한 기능에 대한 접근 권한을 허용할지를 문의하는 UI를 재차 표시하도록 디스플레이(120)를 제어할 수 있다.
예를 들어, 디스플레이(120) 화면에 켜진 상태에서 특정 어플리케이션이 카메라 기능에 대한 접근 권한이 허용되었더라도, 디스플레이(120)의 화면이 꺼진 상태에서는 카메라 기능에 대한 접근 권한이 차단될 수 있다. 이 경우, 프로세서(120)는 디스플레이(120)가 다시 켜진 후 디스플레이(120)가 꺼진 상태에서의 카메라 기능에 대한 접근 권한을 허용할 것인지 여부를 문의하는 UI를 표시하도록 디스플레이(120)를 제어할 수 있다.
또 다른 예로, 어플리케이션이 포어 그라운드 상태에서 카메라 기능에 대한 접근 권한이 허용 되었더라도, 어플리케이션의 실행 상태가 백그라운드 상태로 변경되면, 프로세서(130)는 허용되었던 카메라 기능에 대한 접근 권한 허용 여부를 문의하는UI를 표시하도록 디스플레이(120)를 제어할 수 있다. 이때, 포어 그라운드 상태란, 사용자가 어플리케이션을 직접 조작할 수 있는 상태를 의미하고, 백그라운드 상태란 사용자가 어플리케이션을 직접 조작하지는 못하지만, 어플리케이션이 실행되고 있는 상태를 의미할 수 있다.
한편, 어플리케이션이 포어 그라운드 상태에서 백그라운드 상태로 변경되는 경우, 프로세서(130)는 상태 변경과 함께 상술한 바와 같이 허용되었던 접근 권한들의 접근 권한 허용 여부를 문의하는 UI를 표시하도록 디스플레이(120)를 제어할 수 있으나 이에 한정되는 것은 아니다. 예를 들어, 어플리케이션이 포어 그라운드 상태에서 백그라운드 상태로 변경된 경우, 프로세서(130)는 허용되었던 접근 권한을 차단하고, 이후 백그라운드 상태에서 어플리케이션이 특정 기능을 사용하려는 경우, 특정 기능에 대한 접근 권한 허용 여부를 문의하는 UI를 표시하도록 디스플레이(120)를 제어할 수도 있음은 물론이다.
한편, 프로세서(130)는 어플리케이션이 포어 그라운드에서 백그라운드 상태로 변경되면, 백그라운드 상태에 대응되는 기능 및 기능의 접근 권한 허용 여부를 매칭하여 저장하도록 메모리(110)를 제어할 수 있다. 특정 기능에 대한 접근 권한이 백그라운드 상태에서 허용되도록 저장된 경우, 프로세서(130)는 허용된 기능에 대한 접근 권한 허용 문의 UI를 표시하지 않을 수 있다. 즉, 프로세서(130)는 어플리케이션이 백그라운드 상태인 경우, 백그라운드 상태에서 저장된 접근 권한 여부에 따라 어플리케이션이 동작하도록 어플리케이션을 제어할 수 있다.
한편, 상술한 디스플레이(120) 온-오프/ 포어 그라운드-백그라운드의 상태는 본 개시의 일 실시예에 불과할 뿐 이에 한정되는 것은 아니다. 프로세서(130)는 상술한 전자 장치(100) 또는 어플리케이션의 상태 뿐만 아니라 다양한 전자 장치(100) 또는 어플리케이션의 상태에 따라 다양한 기능에 대한 접근 권한 허용 여부를 메모리(110)에 저장할 수 있다. 또한 프로세서(130)는 다양한 상태들의 조합에 따른 다양한 접근 권한 허용 여부를 저장할 수도 있다.
예를 들어, 어플리케이션이 백그라운드 상태에서 동작하고, 전자 장치(100)의 배터리가 기 설정된 값 이하인 경우, 프로세서(130)는 어플리케이션에 대응되는 기능의 접근 권한을 차단할 수 있다.
또는 어플리케이션이 기 설정된 시간 동안 실행되지 않는 경우, 프로세서(130)는 어플리케이션에 대응되는 기능의 접근 권한을 차단할 수 있다.
또는, 전자 장치가 기 설정된 네트워크에 연결되면, 프로세서(130)는 어플리케이션에 대응되는 네트워크 기능에 대한 접근 권한을 허용할 수 있다.
한편, 특정 기능 실행에 대한 이벤트가 발생한 경우, 프로세서(130)는 특정 기능에 대한 접근 권한이 허용되었는지 여부를 판단할 수 있다. 구체적으로, 허용 여부 판단은 메모리(110)에 저장된 매칭 테이블을 기초로 이뤄질 수 있다.
이때, 특정 기능 실행에 대한 접근 권한이 허용되지 않은 경우, 프로세서(130)는 특정 기능에 대한 접근 권한 허용 여부를 확인하기 위한 UI를 표시하도록 디스플레이(120)를 제어할 수 있다. 즉, 프로세서(130)는 어플리케이션이 접근 권한이 차단된 기능을 실행하고자 하는 경우에만, 접근 권한 허용 여부를 확인하기 위한 UI를 표시하도록 디스플레이(120)를 제어할 수 있다.
한편, 프로세서(130)는 어플리케이션이 최초 실행되는 경우, 포어 그라운드 실행 시 필요한 권한, 백그라운드 실행시 필요한 권한 및 인증을 위해 일시적으로 필요한 권한에 대한 허용 여부를 문의하는 UI를 표시하도록 디스플레이(120)를 제어할 수 있다. 즉, 프로세서(130)는 자주 변경되는 상태에 대하여는 어플리케이션이 최초 실행되는 경우 접근 권한의 허용 여부를 문의하는 UI를 표시하도록 디스플레이(120)를 제어할 수 있다.
이때, 어플리케이션에 대응되는 특정 기능이 인증을 위해 일시적으로 필요한 기능인 경우, 프로세서(130)는 인증이 완료되면 인증을 위해 필요한 기능에 대한 접근 권한을 차단할 수 있다. 즉, 일시적으로 필요한 기능에 대하여는 접근 권한을 허용하는 사용자 명령이 입력된 경우라고 하더라도, 프로세서(130)는 접근 권한 허용 문의 UI를 표시하지 않고 일시적으로 필요한 기능에 대한 접근 권한을 차단할 수 있다.
도 3a은 본 개시의 일 실시예에 따른 전자 장치의 구성을 상세히 도시한 블록도이다. 도 3에 도시된 바와 같이, 전자 장치(100)는 메모리(110), 디스플레이(120), 프로세서(130) 외에 입력부(140), 오디오 처리부(150), 오디오 출력부(160) 및 통신부(170)를 더 포함할 수 있다. 그러나 상술한 구성에 한정되는 것은 아니며, 필요에 따라 일부 구성요소가 추가 또는 생략될 수 있음은 물론이다.
메모리(110)는 상술한 바와 같이, 전자 장치(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 이때, 메모리(110)는 하드 디스크, 메모리, 캐시 및 레지스터를 포함할 수 있다.
디스플레이(120)는 상술한 바와 같이, 다양한 화면을 표시할 수 있다. 이때, 디스플레이(120)는 다양한 형태의 디스플레이 패널로 구현될 수 있다. 예로, 디스플레이 패널은 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes), AM-OLED(Active-Matrix Organic Light-Emitting Diode), LcoS(Liquid Crystal on Silicon) 또는 DLP(Digital Light Processing) 등과 같은 다양한 디스플레이 기술로 구현될 수 있다.
또한, 디스플레이(120)는 플렉서블 디스플레이(flexible display)의 형태로 전자 장치(100)의 전면 영역 및, 측면 영역 및 후면 영역 중 적어도 하나에 결합될 수도 있다. 플렉서블 디스플레이는 종이처럼 얇고 유연한 기판을 통해 손상 없이 휘거나 구부리거나 말 수 있는 디스플레이일 수 있다. 이러한 플렉서블 디스플레이는 일반적으로 사용되는 유리 기판뿐 아니라 플라스틱 기판을 사용하여 제조될 수도 있다. 플라스틱 기판을 사용하는 경우, 기판의 손상을 방지하기 위해서 기존의 제조 프로세서를 사용하지 않고 저온 제조 프로세서를 사용하여 형성될 수 있다. 또한, 플렉서블 액정을 싸고 있는 유리 기판을 플라스틱 필름으로 대체하여, 접고 펼 수 있는 유연성을 부여할 수 있다. 이러한 플렉서블 디스플레이는 얇고 가벼울 뿐만 아니라 충격에도 강하며, 또한 휘거나 굽힐 수 있고 다양한 형태로 제작이 가능하다는 장점을 갖고 있다.
입력부(140)는 다양한 입력을 수신하기 위하여 터치 패널(141), 펜 센서(142), 키(143) 및 마이크(144)를 포함할 수 있다. 터치 패널(141)은 디스플레이(120) 및 터치 센서(미도시)가 결합되어 구성될 수 있으며, 터치 센서는 정전식, 감압식, 적외선 방식, 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 터치 패널은 디스플레이 기능뿐만 아니라 터치 입력 위치, 터치된 면적뿐만 아니라 터치 입력 압력까지도 검출하는 기능을 가질 수 있고, 또한 실질적인 터치(real-touch)뿐만 아니라 근접 터치(proximity touch)도 검출하는 기능을 가질 수 있다. 펜 센서(142)는 터치 패널(141)의 일부로 구현될 수 있으며 또는 별도의 인식용 시트를 포함할 수 있다. 키(143)는 물리적 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 마이크(144)는 내장형 마이크 또는 외장형 마이크 중 적어도 하나를 포함할 수 있다.
특히, 입력부(140)는 상술한 다양한 구성들로부터 외부 명령을 수신하여 프로세서(130)로 전달할 수 있다. 프로세서(120)는 수신한 입력에 대응되는 제어 신호를 생성하여 전자 장치(100)를 제어할 수 있다.
오디오 처리부(150)는 오디오 데이터에 대한 처리를 수행하는 구성 요소다. 오디오 처리부(150)에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다. 오디오 처리부(150)에서 처리된 오디오 데이터는 오디오 출력부(160)로 출력될 수 있다.
오디오 출력부(160)는 오디오 처리부(150)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성이다. 특히, 오디오 출력부(160)는 스피커로 구현될 수 있으나, 이는 일 실시 예에 불과할 뿐, 오디오 데이터를 출력할 수 있는 출력 단자로 구현될 수 있다.
통신부(170)는 외부 장치와 통신을 수행할 수 있다. 특히, 통신부(170)는 와이파이 칩(171), 블루투스 칩(172), 무선 통신 칩(173), NFC칩(174) 등과 같은 다양한 통신 칩을 포함할 수 있다. 이때, 와이파이 칩(171), 블루투스 칩(172), NFC 칩(174)은 각각 LAN 방식, WiFi 방식, 블루투스 방식, NFC 방식으로 통신을 수행한다. 와이파이 칩(171)이나 블루투스칩(172)을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신 하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신칩(173)은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다.
프로세서(130)는 메모리(110)에 저장된 각종 프로그램을 이용하여 전자 장치(100)의 전반적인 동작을 제어할 수 있다.
프로세서(130)는 RAM(131), ROM(132), 그래픽 처리부(133), 메인 CPU(134), 제1 내지 n 인터페이스(135-1 ~ 135-n) 및 버스(136)로 구성될 수 있다. 이때, RAM(131), ROM(132), 그래픽 처리부(133), 메인 CPU(134), 제1 내지 n 인터페이스(135-1 ~ 135-n) 등은 버스(136)를 통해 서로 연결될 수 있다.
RAM(131)은 O/S 및 어플리케이션 프로그램을 저장한다. 구체적으로, 전자 장치(100)가 부팅되면 O/S가 RAM(131)에 저장되고, 사용자가 선택한 각종 어플리케이션 데이터가 RAM(131)에 저장될 수 있다.
ROM(132)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴 온 명령이 입력되어 전원이 공급되면, 메인 CPU(134)는 ROM(132)에 저장된 명령어에 따라 메모리(110)에 저장된 O/S를 RAM(131)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(134)는 메모리(110)에 저장된 각종 어플리케이션 프로그램을 RAM(131)에 복사하고, RAM(131)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
그래픽 처리부(133)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이템, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다. 여기서, 연산부는 입력부(140)로부터 수신된 제어 명령을 이용하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산하는 구성일 수 있다. 그리고, 렌더링부는 연산부에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성하는 구성이 일 수 있다. 이러한 렌더링부에서 생성된 화면은 디스플레이(120)의 디스플레이 영역 내에 표시될 수 있다.
메인 CPU(134)는 메모리(110)에 액세스하여, 메모리(110)에 저장된 OS를 이용하여 부팅을 수행한다. 그리고, 메인 CPU(134)는 메모리(110)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.
제1 내지 n 인터페이스(135-1 내지 135-n)는 상술한 각종 구성요소들과 연결된다. 제1 내지 n 인터페이스(135-1 내지 135-n) 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
도 3b는 본 개시의 일 실시예에 따른 메모리의 구성을 상세히 도시한 블록도이다.
도 3에 도시된 바와 같이, 메모리(110)는 다양한 모듈을 포함할 수 있다. 즉, 메모리(110)는 서비스 모듈(111), 네트워크 드라이버 관리 모듈(112-1), 사용자 로그 관리 모듈(112-2), GPS 관리 모듈(112-3), 미디어 관리 모듈(112-4), 카메라 관리 모듈(112-5), 일정 관리 모듈(112-6), 접근 권한 관리 모듈(113-1) 및 상태 감지 모듈(113-2)을 더 포함할 수 있다.
각각의 모듈은 다양한 정보를 저장할 수 있다. 예를 들어 네트워크 드라이버 관리 모듈(112-1)은 네트워크에 대한 정보를, 사용자 로그 관리 모듈(112-2)은 사용자가 전자 장치(100)를 사용한 로그에 대한 정보를, GPS 관리 모듈(112-3) GPS 관련 정보를, 미디어 관리 모듈(112-4) 메모리(110)에 저장된 다양한 미디어에 대한 정보를, 카메라 관리 모듈(112-5) 카메라 관련 정보를, 일정 관리 모듈(112-6) 일정 관련 정보를 저장할 수 있다. 이때, 상술한 다양한 모듈들은 프로세서(130)에 의해 액세스 될 수 있다.
한편, 접근 권한 관리 모듈(113-1)은 전자 장치(100) 또는 어플리케이션의 실행 상태 및 어플리케이션에 대응되는 전자 장치(100)의 기능에 따른 접근 권한 정보를 저장할 수 있다. 구체적으로, 접근 권한 관리 모듈(113-1)은 사용자 동의에 따른 접근 권한 정책을 저장하고 있다. 즉, 접근 권한 허용 여부를 문의하는 UI를 통해 접근 권한을 허용 또는 거부하는 사용자 명령이 입력되면, 접근 권한 관리 모듈(113-1)은 어플리케이션의 상태 및 사용자 명령에 따른 접근 권한의 허용 여부를 매칭하여 저장할 수 있다. 이때, 접근 권한 관리 모듈(113-1)은 어플리케이션의 상태 조건에 대한 정보를 저장할 수 있다. 어플리케이션의 상태 조건 정보는 다양한 어플리케이션 또는 전자 장치(100)의 상태 조건에 대한 정보로, 하나 이상의 상태 조건의 조합으로 구성될 수 있다. 이때, 다양한 어플리케이션의 상태 조건 정보는 상태 아이디를 통해 관리 될 수 있다.
구체적으로, 어플리케이션의 상태 조건은 다양한 방법에 의해 결정될 수 있다. 예를 들어, 어플리케이션의 상태 조건은 전자 장치(100)가 연결된 네트워크, 연결된 디바이스 또는 전자 장치(100)의 위치 정보일 수 있다.
또는 어플리케이션의 상태 조건은 어플리케이션의 실행 상태일 수 있다.이때, 어플리케이션의 실행 상태란 어플리케이션이 백그라운드에서 동작하는 상태, 포어 그라운드에서 동작하는 상태, 실행 중지된 상태 등의 조건을 포함할 수 있다. 상술한 바와 같이, 포어 그라운드 상태는 사용자가 직접 어플리케이션을 조작할 수 있는 상태를 의미하며, 백그라운드 상태는 어플리케이션은 동작하지만 사용자가 어플리케이션을 조작할 수 없는 상태를 의미한다.
또는 어플리케이션의 상태 조건은 전자 장치(100)의 디스플레이(120) 온-오프 상태에 대한 조건일 수 있다.
또는 어플리케이션의 상태 조건은 전자 장치(100)가 연결된 네트워크 상태에 대한 조건일 수 있다. 예를 들어, 어플리케이션의 상태 조건은 전자 장치(100)가 사용자가 등록한 안전한 네트워크 환경에서 어플리케이션이 동작중인 상태 조건(이하 개인 네트워크 상태 조건이라고 한다) 또는 전자 장치(100)가 인증되지 않은 네트워크 환경에서 동작중인 상태 조건(이하 공용 네트워크 상태 조건이라고 한다)중 어느 하나일 수 있다.
또는, 어플리케이션의 상태 조건은 전자 장치(100)가 위치한 장소에 대한 조건일 수 있다. 예를 들어, 어플리케이션의 상태 조건은 전자 장치(100)가 사용자가 등록한 안전한 장소(예를 들어 집 또는 사무실)에서 어플리케이션이 실행되는 상태 조건(이하 개인 공간 상태 조건이라 한다) 또는 전자 장치(100)가 인증되지 않은 공공 장소(예를 들어, 카페 또는 지하철역 등)에서 어플리케이션이 실행되는 상태 조건(이하 공공 공간 상태 조건이라고 한다) 중 어느 하나일 수 있다.
또는 어플리케이션 상태 조건은 보안 어플리케이션이 실행되고 있는지 여부에 따른 상태 조건일 수 있다. 예를 들어, 어플리케이션 상태 조건은 전자 장치(100)가 사용자가 등록한 안전한 (다른)어플리케이션(예를 들어, 보안 어플리케이션, 백신 어플리케이션 등)이 실행중인 상태에서 어플리케이션이 실행중인 상태 조건(이하 Safe- APP Environment 상태 조건이라고 한다) 또는 상술한 어플리케이션이 실행되지 않는 상태에서 어플리케이션이 실행중인 상태 조건(이하 Non- Safe- APP Environment 상태 조건이라고 한다) 중 어느 하나일 수 있다.
또는, 어플리케이션의 상태 조건은 어플리케이션의 데이터/배터리 사용량에 대한 상태 조건일 수 있다. 예를 들어 어플리케이션 상태 조건은 전자 장치(100)는 어플리케이션이 실행되는 동안 데이터 또는 배터리가 기 설정된 값 만큼 감소하거나, 어플리케이션이 데이터 또는 배터리를 기 설정된 값만큼 사용하는 경우에 대한 상태 조건일 수 있다. 예를 들어, 어플리케이션 상태 조건은 전자 장치(100)의 배터리가 기 설정된 값(예를 들어 15% 등) 이상인 경우 제1 상태 조건, 기 설정된 값 미만인 경우 제2 상태 조건일 수 있다. 또는 어플리케이션 상태 조건은 어플리케이션이 사용한 전자 장치(100)의 배터리 사용량이 기 설정된 값(예를 들어 10%) 이상인 경우 제1 상태 조건, 기 설정된 값 미만인 경우 제2 상태 조건일 수 있다. 데이터에 대한 상태 조건 또한 상술한 바에 의해 결정될 수 있다.
또는 어플리케이션의 상태 조건은 어플리케이션의 실행 시간에 대한 상태 조건일 수 있다. 예를 들어, 어플리케이션 상태 조건은 어플리케이션이 기 설정된 시간(예를 들어 30분) 이상 실행되는 경우 제1 상태 조건, 기 설정된 시간 미만 실행되는 경우 제2 상태 조건일 수 있다.
또는, 어플리케이션의 상태 조건은 어플리케이션의 최종 실행 시각에 대한 상태 조건일 수 있다. 예를 들어, 어플리케이션이 마지막으로 실행된 지 기 설정된 시간(예를 들어 3일)이 지나기 전은 제1 상태 조건, 기 설정된 시간이 지난 경우 제2 상태 조건일 수 있다.
또는 어플리케이션의 상태 조건은 어플리케이션이 권한을 필요로 하는 전자 장치(100)의 기능에 접근하는 횟수, 빈도 최종 접근 시간들에 대한 상태 정보일 수 있다.
또는, 어플리케이션의 상태 조건은 어플리케이션의 실행 상태 변화에 따른 조건일 수 있다. 예를 들어, 어플리케이션이 포어 그라운드 상태에서 백그라운드 상태로 변경되는 상태, 포어 그라운드 상태에서 디스플레이(120) 오프로 변경되는 상태, 디스플레이(120) 오프 상태에서 디스플레이(120) 온으로 변경되는 상태, 디스플레이(120) 오프 상태에서 포어 그라운드 상태로 변경되는 상태, 디스플레이(120) 오프 상태에서 백그라운드 상태로 변경되는 상태 등 다양할 수 있다. 상술한 실시예에 의한 상태 변화는 하나의 상태에서 다른 하나의 상태로 변경되는 경우에 대하여 설명하였으나 이에 한정되는 것은 아니다. 즉, 제1 상태에서 제2 상태로 변하고 다시 제3 상태로 변하는 것을 하나의 상태 조건으로 판단할 수도 있음은 물론이다. 또한, 상술한 실시예에서는 디스플레이(120) 온-오프 및 포어 그라운드 - 백그라운드 상태들의 조합으로 상태 변경 조건을 설명하였으나, 다양한 상태 조건들이 변경되는 조합으로 상태 조건을 설정할 수 있음은 물론이다.
한편, 상술한 다양한 어플리케이션 상태 조건은 접근 권한 관리 모듈(113-1)에 저장될 수 있다. 프로세서(130)는 상술한 다양한 어플리케이션 상태 조건을 조합하여 어플리케이션의 실행 상태를 정의할 수 있다. 프로세서(130)는 정의된 어플리케이션 실행 상태에 상태 아이디를 부가하여 관리할 수 있다. 즉, 하기 표 1에 도시된 바와 같이, 접근 권한 관리 모듈(113-1)은 다양한 상태 조건들의 조합에 대응되는 상태 아이디 테이블을 저장할 수 있다.
상태 아이디 Focus Screen Network Location App Dependency
001 F ON Private Private Safe
002 FB ON Private Private Safe
003 B ON Private Private Safe
004 F ON Public Private Non
005 FB ON Public Private Non
006 B ON Public Private Non
007 F ON Private Private Non
008 FB OFF Private Public Non
009 B OFF Private Public Non
010 F OFF Private Public Non
...... ...... ...... ...... ...... ......
이때, 상태 아이디 미리 생성되어 존재할 수도 있으나 이에 한정되는 것은 아니다. 즉, 상태 아이디 테이블은 사용자가 직접 입력할 수도 있다.
또는 상태 아이디 테이블은 다양한 상태 조건이 감지되는 횟수, 시간 등에 따라 결정될 수도 있다. 예를 들어, 접근 권한 관리 모듈(113-1)에 상술한 다양한 상태 정보가 저장되어 있는 경우를 가정해 볼 수 있다. 예를 들어 제1 어플리케이션이 실행되는 경우, 상술한 다양한 상태 조건 중, 특정 상태 조건에서 제1 어플리케이션이 가장 많이(또는 가장 길게)실행될 수 있다. 즉, 프로세서(130)는 제1 어플리케이션의 누적된 사용 데이터 및 다양한 상태 조건들을 기초로, 제1 어플리케이션에 적합한 상태 아이디 테이블을 직접 생성할 수도 있다.
상태 관리 모듈(113-2)는 접근 권한 관리 모듈(113-1)에 저장된 어플리케이션의 상태 아이디를 감지하는 모듈이다. 프로세서(130)는 상태 관리 모듈(113-2)를 제어하여 어플리케이션의 상태 아이디 변경 여부를 판단할 수 잇다. 이때, 어플리케이션의 상태가 변경되면, 프로세서(130)는 접근 관리 모듈(113-1)를 이용하여 해당 상태 아이디에 대응되는 기능들의 허용/거부 여부를 판단하고, 필요한 경우, 특정 기능들에 대한 접근 권한 허용 여부를 문의하기 위한 UI를 표시하도록 디스플레이를 제어할 수 있다.
도 4a 및 도 4b는 본 개시의 일 실시예에 따른 접근 권한 관리 테이블을 설명하기 위한 예시도이다.
기존에는 어플리케이션의 종류 및 어플리케이션에서 실행되는 전자 장치(100)의 기능에 매칭되는 접근 권한을 테이블로 저장하고, 전자 장치(100)는 저장된 테이블에 따라 특정 기능의 실행 여부를 결정하였다. 예를 들어, 도 4a에 도시된 바와 같이 어플리케이션 A는 카메라 기능, 인터넷 기능에 대한 접근 권한을 허용하고, 음성 녹음 기능에 대한 접근 권한을 거부하도록 설정될 수 있다. 이 경우, 어플리케이션 A가 카메라 기능, 인터넷 기능을 사용하고자 하는 경우, 어플리케이션 상태와 무관하게 항상 해당 기능을 사용할 수 있으며, 음성 인식 기능은 어플리케이션의 상태와 무관하게 항상 사용할 수 없었다.
그러나 본 개시에 따른 전자 장치(100)는 어플리케이션의 상태에 따라 특정 기능에 대한 접근 권한이 달라질 수 있다. 구체적으로 도 4b에 도시된 바와 같이, 어플리케이션 A는 카메라 기능에 대하여 상태 아이디가 1인 경우, 카메라 기능 접근 권한을 '허용'으로 설정하고 카메라 기능에 대하여 상태 아이디가 2인 경우, 카메라 기능 접근 권한을 '거부' 로 설정할 수 있다. 또한, 어플리케이션 A는 인터넷 기능에 대하여 상태 아이디가 1,2,4인 경우, 인터넷 기능 접근 권한을 '허용' 으로 설정하고, 인터넷 기능에 대하여 상태 아이디가 3인 경우, 인터넷 기능 접근 권한을 '거부' 로 설정할 수 있다. 또한 어플리케이션 A는 음성 녹음 기능에 대하여 상태 아이디가 1인 경우, 음선 녹음 기능 접근 권한을 '거부' 로 설정하고, 음성 녹음 기능에 대하여 상태 아이디가 2인 경우, 음성 녹음 기능에 대한 접근 권한을 '허용'으로 설정할 수 있다.
이때, 상태 아이디와 관련된 상태 아이디 테이블은 상기 표1에 도시된 바와 같을 수 있다.
상술한 실시예에서는 어플리케이션 A에 대한 접근 권한 관리 테이블에 대하여만 설명하였으나, 다양한 어플리케이션에 대한 독립적인 접근 권한 테이블이 존재할 수 있음은 물론이다.
한편, 어플리케이션 종류, 전자 장치(100)의 기능 및 상태 아이디에 매칭되는 접근 권한은 고정된 것이 아니라 다양한 방법에 따라 변경될 수 있다. 예를 들어, 동일한 어플리케이션에 대하여 상태 아이디가 변경되는 경우, 또는 동일한 어플리케이션 및 전자 장치(100)의 기능에 대하여 상태 아이디가 변경되는 경우, 전자 장치(100)는 상태 아이디 변경에 따라 접근 권한이 변경되는지 여부를 판단할 수 있다. 접근 권한이 변경된다고 판단한 경우, 전자 장치(100)는 접근 권한이 변경되었음을 알림과 동시에 접근 권한 허용 여부를 문의하는 UI를 표시할 수 있다. 이때, 사용자 명령이 입력되면, 전자 장치(100)는 입력된 사용자 명령에 따라 접근 권한 관리 테이블의 접근 권한 허용 여부를 변경할 수 있다.
또는 전자 장치(100)는 사용자 명령에 따라 접근 권한 설정 UI를 표시하고, 표시된 접근 권한 설정 UI를 통한 사용자 명령이 입력되면, 입력된 사용자 명령에 따라 접근 권한 허용 여부를 변경할 수도 있음은 물론이다.
도 5a 내지 도 5d는 본 개시의 일 실시예에 따른 접근 권한을 설정하기 위한 방법을 설명하기 위한 예시도이다.
도 5a에 도시된 바와 같이, 사용자는 카메라 어플리케이션을 실행하기 위한 사용자 명령을 입력할 수 있다. 이때, 카메라 어플리케이션이 어플리케이션 설치 후 최초로 실행되는 경우를 가정할 수 있다. 어플리케이션이 최초 실행되는 경우, 전자 장치(100)의 모든 기능 및 상태 아이디에 따른 접근 권한은 '거부' 상태일 수 있다. 이때, 사용자가 사진 촬영 기능을 사용하고자 하는 경우, 전자 장치(100)는 어플리케이션 종류(카메라 어플리케이션), 전자 장치(100)의 기능(카메라 기능) 및 상태 아이디(상태 아이디=1)에 따른 접근 권한 설정 여부를 판단할 수 있다. 이때, 상태 아이디는 표 1에 도시된 바와 같은 다양한 상태 아이디일 수 있으나, 여기에서는 설명의 편의를 위해 상태 아이디 1은 단지 포어 그라운드 상태 조건만을 포함하고 있는 것으로 가정하고 설명한다.
카메라 어플리케이션이 최초 실행되는 경우, 카메라 기능에 대한 모든 상태 아이디에 대한 접근 권한은 '거부'로 설정되어 있으므로, 사용자는 카메라 기능을 사용할 수 없다. 따라서, 전자 장치(100)는 도 5a에 도시된 바와 같이, 카메라 기능에 대한 접근 권한을 허용할지 여부를 문의하는 UI를 표시할 수 있다.
이때, UI를 통해 접근 권한을 허용하는 사용자 명령이 입력되면, 전자 장치는 카메라 어플리케이션/카메라 기능/ 상태 아이디 1에 대한 접근 권한을 '허용'으로 변경하여 저장할 수 있다.
같은 방법으로 도 5b에 도시된 바와 같이, 사용자가 사진 촬영을 마치고, 촬영된 사진을 저장하는 경우, 전자 장치(100)는 어플리케이션 종류(카메라 어플리케이션), 전자 장치(100)의 기능(저장 기능) 및 상태 아이디(상태 아이디=1)에 따른 접근 권한 설정 여부를 판단할 수 있다.
카메라 어플리케이션이 최초 실행되는 경우, 저장 기능에 대한 모든 상태 아이디에 대한 접근 권한은 '거부'로 설정되어 있으므로, 사용자는 저장 기능을 사용할 수 없다. 따라서, 전자 장치(100)는 도 5b에 도시된 바와 같이, 저장 기능에 대한 접근 권한을 허용할지 여부를 문의하는 UI를 표시할 수 있다.
이때, UI를 통해 접근 권한을 허용하는 사용자 명령이 입력되면, 전자 장치는 카메라 어플리케이션/저장 기능/ 상태 아이디 1에 대한 접근 권한을 '허용'으로 변경하여 저장할 수 있다.
같은 방법으로 도 5c에 도시된 바와 같이, 사용자가 사진 저장을 마치고, 저장된 사진을 SNS 계정에 업로드하는 경우, 전자 장치(100)는 어플리케이션 종류(카메라 어플리케이션), 전자 장치(100)의 기능(인터넷 기능) 및 상태 아이디(상태 아이디=1)에 따른 접근 권한 설정 여부를 판단할 수 있다.
카메라 어플리케이션이 최초 실행되는 경우, 인터넷 기능에 대한 모든 상태 아이디에 대한 접근 권한은 '거부'로 설정되어 있으므로, 사용자는 인터넷 기능을 사용할 수 없다. 따라서, 전자 장치(100)는 도 5c에 도시된 바와 같이, 인터넷 기능에 대한 접근 권한을 허용할지 여부를 문의하는 UI를 표시할 수 있다.
이때, UI를 통해 접근 권한을 허용하는 사용자 명령이 입력되면, 전자 장치는 카메라 어플리케이션/인터넷 기능/ 상태 아이디 1에 대한 접근 권한을 '허용'으로 변경하여 저장할 수 있다.
즉, 도 5a 내지 도 5c와 같이 카메라 어플리케이션A는 상태 아이디 1의 조건에서 카메라 기능, 저장 기능 및 인터넷 기능을 자유롭게 사용할 수 있다.
한편, 카메라 어플리케이션이 백그라운드 상태에서 실행되도록 하는 사용자 명령 (예컨대 전자 장치(100)의 홈 버튼을 푸쉬하는 입력 등)이 입력되면, 전자 장치(100)는 변경된 상태 아이디(상태 아이디 1에서 상태 아이디 2로 변경)에 따라 변경되는 접근 권한 여부를 판단할 수 있다. 예를 들어 도 5d에 도시된 바와 같이, 전자 장치(100)는 상태 아이디 변경에 따라 인터넷 기능에 대한 접근 권한이 변경(허용->거부)된 것을 판단하고, 상태 아이디 2에서 인터넷 기능에 대한 접근 권한을 허용할 것인지 여부를 문의하는 UI를 표시할 수 있다.
이때, UI를 통해 접근 권한을 허용하는 사용자 명령이 입력되면, 전자 장치는 카메라 어플리케이션 / 인터넷 기능 / 상태 아이디2에 대한 접근 권한을 '허용'으로 변경하여 저장할 수 있다.
도 5d에는 도시되지는 않았으나, 카메라 기능, 저장 기능에 대하여도 동일한 형태의 UI가 표시되고, 사용자는 각각의 기능들에 대한 허용/거부를 선택할 수 있다.
도 6a 내지 도 6c는 본 개시의 일 실시예에 따른 다양한 접근 권한 허용 여부 문의 UI를 설명하기 위한 예시도이다.
구체적으로, 도 5a 내지 도 5d는 전자 장치(100)가 특정 기능이 실행되는 이벤트 및 상태 아이디가 변경되는 이벤트에 따라 특정 기능에 대한 접근 권한의 허용 여부를 문의하는 UI를 표시하는 것으로 설명하였으나 이에 한정되는 것은 아니다.
즉, 도 6a에 도시된 바와 같이, 카메라 어플리케이션이 최초 실행되는 경우, 전자 장치(100)는 카메라 어플리케이션에서 사용되는 기능들에 대한 접근 권한 허용 여부에 대한 UI를 한번에 표시할 수 있다. 이때, 전자 장치(100)는 다양한 상태 아이디에 따른 접근 원한 허용 여부를 문의하는 UI를 표시할 수도 있다.
구체적으로 도 6a에 도시된 바와 같이, 카메라 어플리케이션이 최초 실행된 경우, 전자 장치(100)가 표시하는 UI는 1)카메라 기능, 인터넷 기능 및 저장 기능을 허용할지 여부, 2) 인터넷 기능을 백그라운드 상태에서 허용할 지 여부 3) 사용자 인증을 위한 전화 기능을 허용할지 여부를 한번에 문의할 수 있다.
또는 전자 장치(100)는 상태 아이디가 변경될 때마다 특정 기능에 대한 접근 권한 설정 여부를 문의하는 UI를 표시 할 수 있다. 예를 들어, 도 6b에 도시된 바와 같이, 전자 장치(100)는 어플리케이션이 포어 그라운드에서 백그라운드로 변경되면, 위치 기능에 대한 접근 권한을 허용할지 여부를 문의하는 UI를 표시할 수 있다.
또는 전자 장치(100)는 복수의 상태 아이디에서 특정 기능에 대한 접근 권한에 대한 허용 여부를 문의하는 UI를 표시할 수 있다. 예를 들어, 도 6c에 도시된 바와 같이, 전자 장치(100)는 상태 아이디와 무관하게 위치 기능에 대한 접근 권한을 허용할 것인지 문의하는 UI를 표시할 수 있다.
한편, 도 5a 내지 도 6c는 접근 권한 허용 여부 문의 UI를 통해 접근 권한이 설정되는 경우에 대하여 설명하였으나 이에 한정되는 것은 아니다. 즉, 전자 장치(100)는 어플리케이션의 설정 UI를 통해 특정 기능에 대한 접근 권한 설정을 변경할 수 있다.
구체적으로 도 7a에 도시된 바와 같이, 전자 장치(100)는 어플리케이션별 접근 권한을 설정하는 설정 UI를 표시할 수 있다. 도 7a의 좌측에 도시된 바와 같이, 전자 장치(100)는 SNS에서 실행되는 기능들의 리스트를 제공하는 UI를 표시하는 설정 UI 화면을 표시할 수 있다. 이때, 카메라 기능의 접근 권한을 변경하기 위한 사용자 명령(예를 들어 도 7a의 좌측에 도시된 바와 같이 카메라 기능 리스트 우측의 포어 그라운드 영역을 터치하는 사용자 명령)이 입력되면, 전자 장치(100)는 카메라 기능의 접근 권한을 변경할 수 있는 UI 화면을 표시할 수 있다. 구체적으로, 도 7a의 우측에 도시된 바와 같이 설정 UI는 카메라 기능에 대한 접근 권한을 항상 허용, 포어 그라운드에서만 허용, 또는 백그라운드에서만 허용할 수 있는 엘리먼트를 포함할 수 있다. 다만 상술한 엘리먼트에 한정되는 것은 아니며, 설정 UI에 표시되는 엘리먼트는 어플리케이션 종료, 상태 아이디의 종류 및 시스템 설정 등에 따라 다양할 수 있다.
한편, 프로세서(130)는 특정 어플리케이션이 특정 상태 아이디를 가질 때 특정 기능에 대하여 항상 접근 권한을 거부하도록 어플리케이션을 제어할 수 있다. 그러나 이러한 경우에도, 사용자 명령을 통해 특정 기능에 대한 접근 권한을 허용할 수 있음은 물론이다.
예를 들어, 프로세서(130)는 SNS 어플리케이션이 백그라운드 상태에서 카메라 기능의 접근 권한을 항상 거부하도록 설정될 수 있다. 이때, 도 7b에 도시된 바와 같이, 카메라 기능에 대한 접근 권한을 상태 아이디와 무관하게 허용하고자 하는 사용자 명령이 입력되면, 전자 장치(100)는 백그라운드 상태에서 카메라 기능의 접근 권한을 허용할지 여부를 문의하는 UI를 표시할 수 있다. 이때, 백그라운드 상태에서 카메라 기능의 접근 권한을 허용하기 위한 사용자 명령이 입력되면, 전자 장치(100)는 백그라운드 상태에서 카메라 기능의 접근 권한을 허용할 경우, 보안상 문제가 발생할 수 있다는 경고 메시지를 포함하는 UI를 표시할 수 있다. 이때 경고 메시지를 포함하는 UI를 통해 백그라운드 상태에서 카메라 기능의 접근 권한을 허용하는 사용자 명령이 입력되면, 전자 장치(100)는 SNS 어플리케이션의 카메라 기능에 대한 접근 권한을 항상 허용할 수 있다.
즉, 보안상 또는 기타 이유로 특정 상태 아이디에서 특정 기능의 접근 권한을 거부하도록 설정된 경우, 전자 장치(100)는 특정 기능의 접근 권한을 표시할지 여부를 문의 하는 UI를 복수회 표시함으로써, 사용자가 특정 상태 아이디에서 특정 기능에 대한 접근 권한을 설정할지 여부를 한번 더 판단할 수 있게 할 수 있다.
이하에서는 도 8a 내지 도 11c를 기초로 본 개시의 일 실시예에 따른 다양한 실시예들에 대하여 설명한다.
도 8a 내지 도 8c는 본 개시의 일 실시예에 따른 네비게이션 또는 지도 어플리케이션을 사용하는 경우를 설명하기 위한 예시도이다.
도 8a에 도시된 바와 같이, 전자 장치(100)는 상태 아이디 1(예를 들어, 포어 그라운드 상태)에서 인터넷 기능 및 위치 기능에 대한 접근 권한을 허용하도록 설정될 수 있고, 인터넷 기능 및 위치 기능이 허용된 상태에서 네비게이션 또는 지도 어플리케이션을 사용할 수 있다.
전자 장치(100)가 상태 아이디 1 에서 네비게이션 또는 지도 어플리케이션을 사용하는 동안, 도 8b에 도시된 바와 같이, 전자 장치(100)는 외부 전자 장치로부터의 통화 명령을 수신하고, 통화 화면을 표시할 수 있다. 이때, 통화 화면이 디스플레이(120)에 표시되면, 상태 아이디 1 에서 실행중인 네비게이션 또는 지도 어플리케이션의 상태는 상태 아이디 2(예를 들어, 백그라운드)로 변경된다. 이때, 상태 아이디 2에서는 인터넷 기능 및 위치 기능에 대한 접근 권한이 거부될 수 있다.
많은 경우, 통화가 종료된 후 통화 전 실행되던 네비게이션 또는 지도 어플리케이션은 상태 아이디2에서 실행될 수 있다. 이때, 실행되는 네비게이션 또는 지도 어플리케이션이 악의적인 제공자에 의해 제작된 어플리케이션인 경우, 위치 기능 및 인터넷 기능을 이용하여 전자 장치(100)의 위치 정보를 외부로 유출할 수 있다.
그러나 도 8c에 도시된 바와 같이, 네비게이션 또는 지도 어플리케이션은 백그라운드 상태에서 인터넷 기능 및 위치 기능에 대한 접근 권한이 거부되어 있으며, 따라서, 악의적인 제공자에 의해 제작된 어플리케이션이라고 하더라도 전자 장치(100)의 위치 정보를 외부로 유출 할 수 없게 된다.
도 9a 및 도 9b는 본 개시의 일 실시예에 따른 SNS 어플리케이션을 사용하는 경우를 설명하기 위한 예시도이다.
도 9a에 도시된 바와 같이, 전자 장치(100)는 상태 아이디 1(예를 들어, 포어 그라운드 상태)에서 카메라 기능 및 인터넷 기능에 대한 접근 권한을 허용하도록 설정될 수 있고, 카메라 기능 및 인터넷 기능에 대한 접근 권한이 허용된 상태에서 SNS 어플리케이션을 사용할 수 있다.
전자 장치(100)가 상태 아이디 1 에서 SNS 어플리케이션 사용을 종료하고, 사용자 명령(예를 들어 홈버튼을 푸쉬하는 사용자 명령)을 통해 어플리케이션 상태를 변경할 수 있다. 이때, 어플리케이션의 상태가 상태 아이디 1에서 상태 아이디 2(백그라운드 상태)로 변경될 수 있다.
이때, 실행되는 SNS 어플리케이션이 악의적인 제공자에 의해 제작된 어플리케이션인 경우, 카메라 기능을 이용하여 촬영을 수행하고, 촬영된 사진을 외부로 유출할 수 있다.
그러나 도 9b에 도시된 바와 같이, SNS 어플리케이션은 백그라운드 상태에서 카메라 기능에 대한 접근 권한이 거부되어 있으며, 따라서, 악의적인 제공자에 의해 제작된 어플리케이션이라고 하더라도 임의로 촬영된 사진을 외부로 유출 할 수 없게 된다.
도 10a 내지 도 10c는 본 개시의 일 실시예에 따른 일회성으로 사용되는 기능에 대한 접근 권한을 설정하는 방법을 설명하기 위한 예시도이다.
특정 어플리케이션은 최초 실행시 본인 인증 등을 위해 문자 기능, 통화 기능, 또는 카메라 기능에 대한 접근 권한을 필요로 할 수 있다. 본인 인증이 완료되지 않으면 해당 어플리케이션을 사용할 수 없으므로, 전자 장치(100)는 인증을 위해 필요한 기능에 대한 접근 권한을 허용 한 뒤 인증 절차를 완료할 수 있다.
예를 들어 도 10a에 도시된 바와 같이, SNS 어플리케이션은 인증을 위해 카메라 기능 및 문자 기능에 대한 접근 권한을 필요로 할 수 있다. 전자 장치(100)는 상술한 다양한 방법들을 이용하여 카메라 기능, 지도 기능, 인터넷 기능 및 문자 기능에 대한 접근 권한을 허용할 수 있다.
이때, 도 10b에 도시된 바와 같이, SNS 어플리케이션에 대한 인증이 완료된 경우, 전자 장치(100)는 인증에 필요한 카메라 기능 및 문자 기능에 대한 접근 권한을 차단할 수 있다. 즉, 최초 인증을 위한 권한은 인증 시에만 사용되는 경우가 많기 때문에, 전자 장치(100)는 인증이 완료된 경우, 인증 시 사용된 권한에 대한 접근 권한을 회수할 필요가 있다. 이때, 전자 장치(100)는 다양한 방법을 통해 특정 기능의 접근 권한을 회수할 수 있다. 예를 들어, 특정 기능이 기 설정된 시간 동안 사용되지 않은 경우, 전자 장치(100)는 특정 기능에 대한 접근 권한을 차단할 수 있다. 또는 전자 장치(100)는 특정 기능의 접근 권한을 기 설정된 횟수 또는 기 설정된 시간 동안만 허용하고, 나머지 경우에 대하여는 접근 권한을 차단할 수도 있다.
한편, 도 10c에 도시된 바와 같이, 어플리케이션이 최종적으로 실행되고 기 설정된 시간이 경과하면, 접근 권한을 허용하였던 모든 기능들에 대한 접근 권한을 차단할 수 있다. 즉, 전자 장치(100)는 오랜 시간 사용되지 않는 어플리케이션의 접근 권한을 차단하여, 불필요한 리소스의 낭비를 방지할 수 있다.
도 11a 내지 11c는 본 개시의 일 실시예에 따른 접근 권한 변경의 다양한 예를 설명하기 위한 예시도이다.
접근 권한 변경을 문의하는 UI는 다양한 조건에서 발생할 수 있다. 예를 들어, 상술한 바와 같이, 전자 장치(100)가 지도 어플리케이션을 실행하는 경우, 인터넷 기능 및 위치 기능에 대한 접근 권한을 허용할지 여부를 문의하는 UI를 표시할 수 있다. 이때, 도 11a에 도시된 바와 같이, 인터넷 기능 및 위치 기능에 대한 접근 권한이 허용되면, 지도 어플리케이션은 인터넷 기능 및 지도 기능을 전자 장치(100)의 허가 없이 사용할 수 있다.
이때, 지도 어플리케이션의 상태가 변경되면(예를 들어 포어 그라운드 상태에서 백그라운드 상태로 변경되는 경우 등), 전자 장치(100)는 인터넷 기능에 대한 접근 권한을 허용할지 여부를 문의하는 UI를 표시할 수 있다. 이때, 도 11b에 도시된 바와 같이, 백 그라운드 상태에서 인터넷 기능의 접근 권한이 허용되면, 지도 어플리케이션은 백그라운드 상태에서도 인터넷 기능을 전자 장치(100)의 허가 없이 사용할 수 있다.
이때, 지도 어플리케이션이 백그라운드 상태에서 기 설정된 시간 동안 실행되는 경우, 전자 장치(100)는 인터넷 기능에 대한 접근 권한을 허용할지 여부를 문의하는 UI를 재차 표시할 수 있다. 즉, 지도 어플리케이션이 백그라운드 상태에서 실행 중인 경우, 전자 장치(100)는 기 설정된 시간 간격으로 특정 기능에 대한 접근 권한 허용 여부를 문의하는 UI를 표시함으로써, 사용자에게 지도 어플리케이션이 백그라운드 상태에서 특정 기능에 대한 접근 권한이 허용되어 있음을 알릴 수 있다.
한편, 도 11a 및 도 11b에 도시된 바와 같이 특정 기능에 대한 접근 권한 이 허용된 상태에서 특정 조건이 만족된 경우, 특정 기능에 대한 접근 권한 허용 여부를 문의하는 UI 표시 없이, 특정 기능에 대한 접근 권한을 차단할 수 있다.
예를 들어, 도 11c에 도시된 바와 같이, 지도 어플리케이션이 백그라운드 상태에서 실행되는 동안, 전자 장치(100)의 배터리가 기 설정된 값 이하로 소모되는 경우, 전자 장치(100)는 백그라운드 상태에서 실행중인 지도 어플리케이션의 모든 기능에 대한 접근 권한을 차단할 수 있다. 다만, 상술한 특정 조건은 전자 장치(100의 배터리가 기 설정된 값 이하로 소모되는 조건 뿐만 아니라 다양한 조건일 수 있다. 예를 들어, 특정 조건은 백그라운드 상태에서 지도 어플리케이션이 기 설정된 값 이상의 배터리를 소모하는 조건일 수 있다. 또는, 특정 조건은 백그라운드 상태에서 지도 어플리케이션이 네트워크 데이터를 기 설정된 값 이상 소모하는 조건일 수 있다.
한편, 도 11c에서는 전자 장치(100)가 특정 조건 만족 시 모든 기능에 대한 접근 권한을 차단하는 경우를 설명하였지만 이에 한정되는 것은 아니다. 예를 들어, 전자 장치(100)가 특정 조건을 만족하면 경고 UI를 디스플레이 창에 표시하거나, 노티바를 통해 경고 메시지를 표시할 수도 있음은 물론이다.
도 12는 본 개시의 일 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도이다.
먼저 사용자 명령이 입력되면, 전자 장치(100)는 어플리케이션을 실행할 수 있다(S1210). 전자 장치(100)는 전자 장치(100)의 기능에 대한 접근 권한 허용 여부를 문의하는 이벤트가 발생하는지 여부를 판단할 수 있다(S1220). 예를 들어, 어플리케이션은 어플리케이션의 실행을 위해 전자 장치의 특정 기능을 사용해야 하는 경우가 있다. 따라서, 어플리케이션이 전자 장치의 특정 기능을 사용하고자 하는 경우, 어플리케이션은 사용하고자 하는 특정 기능에 대한 접근 권한을 필요로 하게 된다. 이때, 이벤트란 전자 장치(100) 또는 어플리케이션의 상태 변경에 대한 이벤트, 어플리케이션이 전자 장치(100)의 특정 기능을 사용하고자 하는 이벤트 등일 수 있다. 전자 장치(100)의 기능에 대한 접근 권한 허용 여부를 문의하는 이벤트가 발생하지 않는 경우(S1220-N), 전자 장치(100)는 이벤트를 감지할 때 까지 기다릴 수 있다.
전자 장치(100)의 기능에 대한 접근 권한 허용 여부를 문의하는 이벤트가 발생한 경우(S1220-Y) 전자 장치(100)는 전자 장치의 기능에 대한 접근 권한 허용 여부를 확인하기 위한 UI를 표시할 수 있다(S1230).
이때, UI를 통한 사용자 명령이 입력되면, 전자 장치(100)는 이벤트에 따른 어플리케이션의 상태 및 사용자 명령에 따른 접근 권한의 허용 여부를 매칭하여 저장할 수 있다(S1240). 저장된 매칭 결과는 이후 어플리케이션이 전자 장치(100)의 특정 기능을 사용하고자 하는 경우 이용될 수 있다. 예를 들어, 상태 아이디 1에서 카메라 기능에 대한 접근 권한이 '허용'으로 저장된 경우, 전자 장치(100)는 어플리케이션이 상태 아이디 1에서 카메라 기능에 접근하는 경우, 접근 권한에 대한 문의 없이 카메라 기능을 실행할 수 있다.
다양한 실시 예에 따른 장치 (예: 모듈들 또는 전자 장치(100)) 또는 방법 (예: 동작들)은, 예컨대, 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 유지되는(maintain) 프로그램들 중 적어도 하나의 프로그램에 포함된 명령어(instructions)를 실행하는 적어도 하나의 컴퓨터(예: 프로세서 130)에 의하여 수행될 수 있다.
상기 명령어가 컴퓨터(예: 프로세서 130)에 의해 실행될 경우, 상기 적어도 하나의 컴퓨터는 상기 명령어에 해당하는 기능을 수행할 수 있다. 이 때, 컴퓨터로 읽을 수 있는 저장 매체는, 예를 들면, 상기 메모리(110)가 될 수 있다.
프로그램은, 예로, 하드디스크, 플로피디스크, 마그네틱 매체 (magnetic media)(예: 자기테이프), 광기록 매체 (optical media)(예: CD-ROM (compact disc read only memory), DVD (digital versatile disc), 자기-광 매체 (magneto-optical media)(예: 플롭티컬 디스크 (floptical disk)), 하드웨어 장치 (예: ROM (read only memory), RAM (random access memory), 또는 플래시 메모리 등) 등과 같은 컴퓨터로 읽을 수 저장 매체에 포함될 수 있다. 이 경우, 저장 매체는 일반적으로 전자 장치(100)의 구성의 일부로 포함되나, 전자 장치(100)의 포트(port)를 통하여 장착될 수도 있으며, 또는 전자 장치(100)의 외부에 위치한 외부 기기(예로, 클라우드, 서버 또는 다른 전자 기기)에 포함될 수도 있다. 또한, 프로그램은 복수의 저장 매체에 나누어 저장될 수도 있으며, 이 때, 복수의 저장 매체의 적어도 일부는 전자 장치(100)의 외부 기기에 위치할 수도 있다.
명령어는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
또한, 이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 전자 장치 110: 메모리
120: 디스플레이 130: 프로세서

Claims (20)

  1. 어플리케이션을 실행하는 전자 장치의 제어 방법에 있어서,
    어플리케이션의 실행에 필요한 상기 전자 장치의 기능에 대한 접근 권한 허용 여부를 문의하기 위한 이벤트가 감지된 경우, 상기 접근 권한에 대한 허용 여부를 확인하기 위한 UI를 표시하는 단계; 및
    상기 UI를 통해 사용자 명령이 입력되면, 상기 이벤트에 따른 어플리케이션의 상태 및 상기 사용자 명령에 따른 상기 접근 권한의 허용 여부를 매칭하여 저장하는 단계;를 포함하는 제어 방법.
  2. 제1항에 있어서,
    상기 UI를 표시하는 단계는,
    상기 어플리케이션의 실행 상태가 변경되는 이벤트가 감지되는 경우, 상기 어플리케이션에 대응되는 기능의 접근 권한에 대한 허용 여부를 문의하는 UI를 표시하는 제어 방법.
  3. 제2항에 있어서,
    상기 어플리케이션의 실행 상태 변경은,
    포어 그라운드에서 실행하는 상태에서 백그라운드로 실행하는 상태로의 변경이고,
    상기 저장하는 단계는,
    상기 어플리케이션이 상기 포어 그라운드에서 상기 백그라운드 상태로 변경된 경우, 상기 백그라운드 상태에 대응되는 기능과 상기 기능의 접근 권한 허용 여부를 매칭하여 저장하는 단계; 를 포함하는 제어 방법.
  4. 제3항에 있어서,
    상기 어플리케이션이 백그라운드 상태인 경우, 상기 백그라운드 상태에서 저장된 접근 권한 여부에 따라 상기 기능을 실행하는 단계;를 더 포함하는 제어 방법.
  5. 제3항에 있어서,
    상기 어플리케이션이 백그라운드에서 실행되고 상기 전자 장치의 배터리가 기 설정된 값 이하인 경우, 상기 어플리케이션에 대응되는 기능의 접근 권한을 차단하는 단계; 를 더 포함하는 제어 방법.
  6. 제1항에 있어서,
    상기 어플리케이션이 기 설정된 시간 동안 실행되지 않는 경우, 상기 어플리케이션에 대응되는 기능의 접근 권한을 차단하는 단계; 를 더 포함하는 제어 방법.
  7. 제1항에 있어서,
    상기 전자 장치가 기 설정된 네트워크에 연결되면,
    상기 어플리케이션에 대응되는 네트워크 기능에 대한 접근 권한을 허용하는 단계; 를 더 포함하는 제어 방법.
  8. 제1항에 있어서,
    상기 전자 장치의 특정 기능 실행에 대한 이벤트가 발생되면, 상기 특정 기능 실행에 대한 접근 권한이 허용되었는지 여부를 판단하는 단계;
    상기 접근 권한이 허용되지 않은 경우, 상기 특정 기능에 대한 접근 권한에 대한 허용 여부를 확인하기 위한 UI를 표시하는 단계; 를 더 포함하는 제어 방법.
  9. 제1항에 있어서,
    상기 어플리케이션이 최초 실행되는 경우, 포어 그라운드 실행시 필요한 권한, 백그라운드 실행시 필요한 권한 및 인증을 위해 일시적으로 필요한 권한에 대한 허용 여부를 문의하는 UI를 표시하는 단계; 를 더 포함하는 제어 방법.
  10. 제9항에 있어서,
    상기 어플리케이션에 대응되는 기능이 인증을 위해 일시적으로 필요한 기능이고 상기 인증이 완료된 경우, 상기 인증을 위해 일시적으로 필요한 기능에 대한 접근 권한을 차단하는 단계; 를 더 포함하는 제어 방법.
  11. 어플리케이션을 실행하는 전자 장치에 있어서,
    메모리;
    디스플레이; 및
    어플리케이션의 실행에 필요한 상기 전자 장치의 기능에 대한 접근 권한 허용 여부를 문의하기 위한 이벤트가 감지된 경우, 상기 접근 권한에 대한 허용 여부를 확인하기 위한 UI를 표시하도록 상기 디스플레이를 제어하고,
    상기 UI를 통해 사용자 명령이 입력되면, 상기 이벤트에 따른 어플리케이션의 상태 및 상기 사용자 명령에 따른 상기 접근 권한의 허용 여부를 매칭하여 저장하도록 상기 메모리를 제어하는 프로세서; 를 포함하는 전자 장치.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 어플리케이션의 실행 상태가 변경되는 이벤트가 감지되는 경우, 상기 어플리케이션에 대응되는 기능의 접근 권한에 대한 허용 여부를 문의하는 UI를 표시하도록 상기 디스플레이를 제어하는 전자 장치.
  13. 제12항에 있어서,
    상기 어플리케이션의 실행 상태 변경은,
    포어 그라운드에서 실행하는 상태에서 백그라운드로 실행하는 상태로의 변경이고,
    상기 프로세서는,
    상기 어플리케이션이 상기 포어 그라운드에서 상기 백그라운드 상태로 변경된 경우, 상기 백그라운드 상태에 대응되는 기능과 상기 기능의 접근 권한 허용 여부를 매칭하여 저장하도록 상기 메모리를 제어하는 전자 장치.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 어플리케이션이 백그라운드 상태인 경우, 상기 백그라운드 상태에서 저장된 접근 권한 여부에 따라 상기 기능을 실행하도록 상기 어플리케이션을 제어하는 전자 장치.
  15. 제13항에 있어서,
    상기 프로세서는,
    상기 어플리케이션이 백그라운드에서 실행되고 상기 전자 장치의 배터리가 기 설정된 값 이하인 경우, 상기 어플리케이션에 대응되는 기능의 접근 권한을 차단하는 전자 장치.
  16. 제11항에 있어서,
    상기 프로세서는,
    상기 어플리케이션이 기 설정된 시간 동안 실행되지 않는 경우, 상기 어플리케이션에 대응되는 기능의 접근 권한을 차단하는 전자 장치.
  17. 제11항에 있어서,
    상기 전자 장치는 통신부; 를 더 포함하고,
    상기 프로세서는,
    상기 전자 장치가 상기 통신부를 통해 기 설정된 네트워크에 연결되면, 상기 어플리케이션에 대응되는 네트워크 기능에 대한 접근 권한을 허용하는 전자 장치.
  18. 제11항에 있어서,
    상기 프로세서는,
    상기 전자 장치의 특정 기능 실행에 대한 이벤트가 발생되면, 상기 특정 기능 실행에 대한 접근 권한이 허용되었는지 여부를 판단하고,
    상기 접근 권한이 허용되지 않은 경우, 상기 특정 기능에 대한 접근 권한에 대한 허용 여부를 확인하기 위한 UI를 표시하도록 상기 디스플레이를 제어하는 전자 장치.
  19. 제11항에 있어서,
    상기 프로세서는,
    상기 어플리케이션이 최초 실행되는 경우, 포어 그라운드 실행시 필요한 권한, 백그라운드 실행시 필요한 권한 및 인증을 위해 일시적으로 필요한 권한에 대한 허용 여부를 문의하는 UI를 표시하도록 상기 디스플레이를 제어하는 전자 장치.
  20. 제19항에 있어서,
    상기 프로세서는,
    상기 어플리케이션에 대응되는 기능이 인증을 위해 일시적으로 필요한 기능이고 상기 인증이 완료된 경우, 상기 인증을 위해 일시적으로 필요한 기능에 대한 접근 권한을 차단하는 전자 장치.
KR1020170147918A 2017-11-08 2017-11-08 전자 장치 및 그의 제어 방법 KR102477043B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020170147918A KR102477043B1 (ko) 2017-11-08 2017-11-08 전자 장치 및 그의 제어 방법
EP18876966.5A EP3662399B1 (en) 2017-11-08 2018-11-06 Electronic device and control method thereof
US16/181,761 US10867074B2 (en) 2017-11-08 2018-11-06 Electronic device and control method thereof
CN201880069321.3A CN111279342B (zh) 2017-11-08 2018-11-06 电子设备及其控制方法
PCT/KR2018/013394 WO2019093743A1 (en) 2017-11-08 2018-11-06 Electronic device and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170147918A KR102477043B1 (ko) 2017-11-08 2017-11-08 전자 장치 및 그의 제어 방법

Publications (2)

Publication Number Publication Date
KR20190052319A true KR20190052319A (ko) 2019-05-16
KR102477043B1 KR102477043B1 (ko) 2022-12-14

Family

ID=66327277

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170147918A KR102477043B1 (ko) 2017-11-08 2017-11-08 전자 장치 및 그의 제어 방법

Country Status (5)

Country Link
US (1) US10867074B2 (ko)
EP (1) EP3662399B1 (ko)
KR (1) KR102477043B1 (ko)
CN (1) CN111279342B (ko)
WO (1) WO2019093743A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113805978A (zh) * 2020-06-12 2021-12-17 北京小米移动软件有限公司 权限显示方法、装置及存储介质
US11893399B2 (en) * 2021-03-22 2024-02-06 Samsung Electronics Co., Ltd. Electronic device for executing routine based on content and operating method of the electronic device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3040899A1 (en) * 2014-12-30 2016-07-06 Facebook, Inc. Methods and systems for managing permissions to access mobile device resources
US20170118611A1 (en) * 2015-10-27 2017-04-27 Blackberry Limited Monitoring resource access

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003901454A0 (en) * 2003-03-28 2003-04-10 Secure Systems Limited Security system and method for computer operating systems
US20050186954A1 (en) 2004-02-20 2005-08-25 Tom Kenney Systems and methods that provide user and/or network personal data disabling commands for mobile devices
US10631246B2 (en) 2011-02-14 2020-04-21 Microsoft Technology Licensing, Llc Task switching on mobile devices
KR20130023656A (ko) * 2011-08-29 2013-03-08 주식회사 팬택 애플리케이션 접근권한 통제 기능을 갖는 휴대용 다기능 디바이스 및 애플리케이션 접근권한 통제방법
KR101347458B1 (ko) 2012-03-08 2014-01-06 주식회사 팬택 위치 정보 유출 방지 기능을 갖는 이동통신단말 및 그 제어 방법
US8813177B2 (en) * 2012-07-12 2014-08-19 Microsoft Corporation Background application management
US20140046844A1 (en) * 2012-08-07 2014-02-13 Bank Of America Corporation Transaction Security Using Location Authentication
US9066326B2 (en) * 2013-03-14 2015-06-23 Google Technology Holdings LLC Automatic user notification, with quick response (QR) code generation following failed NFC device pairing
US20140316841A1 (en) * 2013-04-23 2014-10-23 Kofax, Inc. Location-based workflows and services
KR102109618B1 (ko) 2013-09-17 2020-05-13 주식회사 팬택 단말기 및 단말기의 설정 관리 방법
US20150150119A1 (en) 2013-11-27 2015-05-28 GM Global Technology Operations LLC Framework for fine-grain access control from high-level application permissions
US9256755B2 (en) 2013-12-31 2016-02-09 Google Inc. Notification of application permissions
EP3092838B1 (en) 2014-01-10 2019-10-09 Telsy Elettronica e Telecomunicazioni S.p.A Secure voice and data method and system
US9679162B2 (en) 2014-02-24 2017-06-13 Google Inc. Application permission settings
US9336358B2 (en) * 2014-03-25 2016-05-10 Google Inc. Granting permission in association with an application
US9977911B2 (en) * 2014-12-30 2018-05-22 Facebook, Inc. Methods and systems for managing permissions to access mobile device resources
WO2016182272A1 (en) 2015-05-08 2016-11-17 Samsung Electronics Co., Ltd. Terminal device and method for protecting information thereof
KR102468268B1 (ko) 2015-05-08 2022-11-18 삼성전자주식회사 전자 장치 및 그의 정보 보호 방법
US9836596B2 (en) * 2015-07-08 2017-12-05 Google Inc. Methods and systems for controlling permission requests for applications on a computing device
KR102469569B1 (ko) * 2016-01-04 2022-11-22 삼성전자주식회사 전자 장치 및 그의 동작 방법
US20170340956A1 (en) * 2016-05-26 2017-11-30 Quest Giver, LLC Method for monitoring quest progress
CN106874716A (zh) * 2017-01-09 2017-06-20 维沃移动通信有限公司 一种权限控制的方法和移动终端
US10673854B2 (en) * 2017-09-12 2020-06-02 Amazon Technologies, Inc. Proactively limiting functionality
US10853490B2 (en) * 2017-10-26 2020-12-01 Futurewei Technologies, Inc. Method and apparatus for managing hardware resource access in an electronic device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3040899A1 (en) * 2014-12-30 2016-07-06 Facebook, Inc. Methods and systems for managing permissions to access mobile device resources
US20170118611A1 (en) * 2015-10-27 2017-04-27 Blackberry Limited Monitoring resource access

Also Published As

Publication number Publication date
EP3662399B1 (en) 2024-04-24
US20190138741A1 (en) 2019-05-09
CN111279342A (zh) 2020-06-12
KR102477043B1 (ko) 2022-12-14
EP3662399A4 (en) 2020-06-10
US10867074B2 (en) 2020-12-15
WO2019093743A1 (en) 2019-05-16
EP3662399A1 (en) 2020-06-10
CN111279342B (zh) 2023-09-22

Similar Documents

Publication Publication Date Title
US10979901B2 (en) Electronic device and method for processing data in electronic device
US9935942B2 (en) Authentication processing method and electronic device for supporting the same
KR102294118B1 (ko) 보안 연결 장치 및 방법
US10735390B2 (en) Method for authentication and electronic device supporting the same
KR102216653B1 (ko) 지문 인증을 통하여 통신을 수행하는 전자 장치 및 방법
KR102327016B1 (ko) 권한 제어 방법 및 이를 운용하는 전자 장치
US10548003B2 (en) Electronic device for controlling an external device using a number and method thereof
KR102337990B1 (ko) 권한 설정 토큰을 이용하는 전자 장치
KR102558349B1 (ko) 조건부 액션에 대한 정보를 공유하기 위한 방법 및 그 전자 장치
KR102401645B1 (ko) 전자 장치 및 게이트웨이와 그 제어 방법
US10305883B2 (en) Electronic device and method for commonly using the same
KR20150117543A (ko) 인증 관리 방법 및 장치
US9904794B2 (en) Processing secure data
KR102416071B1 (ko) 전자장치 및 전자장치의 어플리케이션 실행 방법
KR20150109972A (ko) 액세스 포인트 연결 시스템, 방법 및 장치
US10430091B2 (en) Electronic device and method for storing security information thereof
US20170078269A1 (en) Method for managing application and electronic device supporting the same
KR102253155B1 (ko) 사용자 인터페이스를 제공하는 방법 및 이를 위한 전자 장치
EP3662399B1 (en) Electronic device and control method thereof
KR20160100746A (ko) 어플리케이션을 실행하는 전자 장치 및 그 제어 방법
KR20160045428A (ko) 잠금 해제 방법 및 장치
KR20160076565A (ko) 전자 장치 간의 상호 작용을 위한 능동 알림 방법 및 이를 제공하는 전자 장치
KR102412436B1 (ko) 다른 전자 장치로부터의 데이터 이용을 관리하는 전자 장치 및 그 제어 방법
KR102590426B1 (ko) 동반 장치를 관리하는 방법 및 그를 이용하는 전자 장치
KR20170042179A (ko) 전자 장치 및 전자 장치에서 어플리케이션의 실행을 제어하는 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right