KR20160077851A - 전자 장치에서 메모리에 대한 보안을 제공하기 위한 장치 및 방법 - Google Patents

전자 장치에서 메모리에 대한 보안을 제공하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR20160077851A
KR20160077851A KR1020140188266A KR20140188266A KR20160077851A KR 20160077851 A KR20160077851 A KR 20160077851A KR 1020140188266 A KR1020140188266 A KR 1020140188266A KR 20140188266 A KR20140188266 A KR 20140188266A KR 20160077851 A KR20160077851 A KR 20160077851A
Authority
KR
South Korea
Prior art keywords
access
memory
electronic device
area
write
Prior art date
Application number
KR1020140188266A
Other languages
English (en)
Inventor
양승진
김길윤
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020140188266A priority Critical patent/KR20160077851A/ko
Priority to US14/998,160 priority patent/US20160188244A1/en
Publication of KR20160077851A publication Critical patent/KR20160077851A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephone Function (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 실시 예에 따른 전자 장치의 동작 방법은, 저장 공간 내 다수의 영역들 중 접근이 제한된 적어도 하나의 영역에 대한 메모리 단위별 접근 허용 여부를 나타내는 접근 권한 정보를 저장하는 과정과, 상기 접근이 제한된 적어도 하나의 영역에 대한 접근 요청 발생 시, 상기 접근 권한 정보에 기초하여 접근 허용 여부를 판단하는 과정을 포함하는 것을 특징으로 한다.

Description

전자 장치에서 메모리에 대한 보안을 제공하기 위한 장치 및 방법 {APPARATUS AND METHOD FOR PROVIDING SECURITY FOR MEMORY OF IN ELECTRONICS DEVICE}
본 발명은 전자 장치에서 메모리에 대한 보안을 위한 기술에 관한 것이다.
통신 기술의 발달로 인해 휴대 단말(user equipment)의 보급은 급속도로 증가하였다. 또한, 상기 휴대 단말의 보급 증가로 인해 상기 휴대 단말에 대한 보안(security)의 필요성이 증가하고 있다. 상기 보안이란, 데이터 또는 프로그램에 대한 권한이 없는 사용자가 상기 데이터 또는 상기 프로그램을 사용할 수 없도록 하는 것을 의미한다. 특히, 상기 휴대 단말에 대해서는, 메모리 페이지(page)에 대한 보안이 중요하다. 상기 메모리 페이지란, 가상 기억 장치(virtual storage)에서 기억 영역을 임의 크기로 분할한 영역을 의미한다. 예를 들어, 상기 메모리 페이지는 2KB, 4KB, 1MB 등 다양한 크기의 메모리 블록(block)이 될 수 있다. 상기 각 메모리 페이지는 연속적인 논리 주소(logical address)의 하나의 블록으로 구성될 수 있으며, 상기 하나의 블록이 하나의 단위로 사용될 수 있다. 상기 하나의 블록을 통해 실기억 장치(real storage)와 보조 기억 장치(secondary storage) 사이에서 데이터의 전송이 이루어질 수 있다.
상기 휴대 단말에 대한 보안 방식은, 트러스트 존(trust zone) 방식, MMU(Memory Management Unit) 방식, 버스 모니터(bus monitor) 방식 방식이 있다.
도 1은 종래 기술의 트러스트 존 방식에 따른 메모리의 구성의 예를 도시한다. 상기 도 1을 참고하면, 상기 트러스트 존 방식은, 메모리(101)에 대해 다수의 영역들(103 내지 107)을 설정하여, 상기 다수의 영역들(103 내지 107) 중 적어도 하나의 영역에 대한 메모리 접근(access)이 발생할 경우, 상기 메모리 접근이 접근 권한이 있는 접근인지 여부를 판단하는 방식을 의미한다. 예를 들어, 트러스트 존 방식은, 상기 접근이 상기 접근 권한이 없는 경우, 상기 접근을 차단하고 시스템에 알릴 수 있다. 예를 들어, 상기 다수의 영역들(103 내지 107)은, 시작 주소 영역, 끝 주소 영역, 권한 설정 영역(예: 보안 쓰기, 보안 읽기, 일반 쓰기, 일반 읽기) 등으로 설정될 수 있다. 상기 트러스트 존 방식은, 상기 메모리(101)에 시작 주소 및 끝 주소를 명시하기 때문에 연속적인 메모리 확보를 위한 사전 메모리 할당(memory reservation)이 필요하다. 상기 트러스트 존 방식은, 상기 메모리(101)의 특정 시작 주소에서 특정 크기로 접근 권한을 관리할 수 있다. 상기 트러스트 존 방식은, 임의의 트래픽에 대해서 상기 트래픽이, 상기 다수의 영역들(103 내지 107) 중 적어도 하나에 대해 접근하는 트래픽인지, 상기 다수의 영역들(103 내지 107) 중 적어도 하나에 대한 접근 권한이 있는지 여부를 판단할 수 있다. 상기 트러스트 존 방식을 적용하기 위해서는 상기 다수의 영역들(103 내지 107) 각각은 상기 메모리(101)에서 연속된 공간을 점유해야 한다. 또한, 상기 다수의 영역들(103 내지 107)의 개수는 한정적이다. 따라서, 상기 트러스트 존 방식은, 상기 메모리(101)의 영역 중 연속된 일부 영역에 대해 상기 다수의 영역들(103 내지 107)을 트러스트 존으로 설정해야 하기 때문에 사전에 상기 메모리(101)의 영역 중 연속된 일부 영역에 대한 상기 사전 메모리 할당이 필요하다. 이렇게 상기 트러스트 존을 위해 할당된 메모리는 다른 용도로 사용이 불가능하며, 예를 들어, 시스템 구동 시 동적으로 영역 크기의 재지정이 어려울 수 있다. 상기 MMU 방식은, 상기 MMU가 각각의 메모리 페이지에 대한 접근 권한 정보가 입력된 메모리 페이지 테이블(table)에 기초하여 상기 각각의 메모리 페이지에 대한 접근을 제어하는 방식을 의미한다.
도 2는 종래 기술의 MMU 방식, 버스 모니터 방식, 트러스트 존 방식의 예를 도시한다. 상기 도 2를 참고하면, 상기 MMU(207-1 내지 207-3)는, 중앙처리부(201), 그래픽처리부(203), 비디오(205) 중 적어도 하나로부터 메모리에 접근하기 위한 트래픽이 발생할 경우, 상기 메모리 페이지 테이블에 기초하여, 상기 트래픽이 상기 메모리에 대한 접근 권한이 있는지 여부를 확인하여, 상기 트래픽을 제어할 수 있다. 상기 MMU 방식은, 상당한 크기의 하드웨어 로직(logic)인 MMU가 마스터(master) IP(Intelectual Property)에 위치해야하고, MMU 페이지 불일치(miss)가 자주 발생할 경우 시스템 성능을 떨어뜨리는 원인이 되고 모든 버스 마스터에 MMU가 포함되어야 한다.
상기 버스 모니터 방식은, LKM(Linux Kernel Module)과 같이 쓰기가 필요없는 중요한 데이터가 로드(load)된 메모리 영역에 대한 정보를 보유하고 있는 상기 버스 모니터가 버스에서 상기 중요한 데이터가 로드된 메모리 영역에 대한 메모리 쓰기가 수행되는지 여부를 감시하는 방식을 의미한다. 예를 들어, 상기 도 2를 참고하면, 상기 버스 모니터(211)는, 상기 중요한 데이터가 로드된 메모리(215) 영역에 쓰기가 발생할 경우, 상기 쓰기 발생을 확인할 수 있다. 상기 버스 모니터(211)는, 상기 쓰기 발생이 정상적인 접근인지 비정상적인 접근인지 여부를 확인하고, 상기 쓰기 발생의 정상 접근 또는 비정상 접근 여부에 따라 상기 쓰기를 제어할 수 있다. 하지만, 상기 버스 모니터 방식은 메모리에 접근 후 해당 접근이 정상적인지 또는 비정상적인지 판단을 하게 되고 모니터의 처리 용량 상 특정 주소 영역에 대한 모니터링만 가능하다.
본 발명의 실시 예는, 메모리 내의 다수의 영역들 중 접근이 제한된 영역들 각각에 대한 메모리 단위별(예를 들어, 페이지 단위 또는 블록 단위) 접근 허용 여부를 나타내는 정보를 생성하기 위한 장치 및 방법을 제공한다.
본 발명의 다른 실시 예는, 접근이 제한된 영역들의 메모리 단위 중 적어도 하나에 대한 접근 요청 발생 시, 상기 접근이 제한된 영역들의 메모리 단위별 접근 허용 여부를 나타내는 정보에 기초하여 접근 허용 여부를 판단하는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 실시 예는, 메모리 내의 다수의 영역들 각각에 대해 메모리 단위별 접근 허용 여부를 나타내는 각각의 정보들을 생성하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 실시 예에 따른 전자 장치는, 저장 공간 내 다수의 영역들 중 접근이 제한된 적어도 하나의 영역에 대한 메모리 단위별 접근 허용 여부를 나타내는 접근 권한 정보를 저장하는 메모리와, 상기 접근이 제한된 적어도 하나의 영역에 대한 접근 요청 발생 시, 상기 접근 권한 정보에 기초하여 접근 허용 여부를 판단하는 로직(logic)을 포함하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 전자 장치의 동작 방법은, 저장 공간 내 다수의 영역들 중 접근이 제한된 적어도 하나의 영역에 대한 메모리 단위별 접근 허용 여부를 나타내는 접근 권한 정보를 저장하는 과정과, 상기 접근이 제한된 적어도 하나의 영역에 대한 접근 요청 발생 시, 상기 접근 권한 정보에 기초하여 접근 허용 여부를 판단하는 과정을 포함하는 것을 특징으로 한다.
도 1은 종래 기술의 트러스트 존 방식에 따른 메모리의 구성의 예를 도시한다.
도 2는 종래 기술의 MMU 방식, 버스 모니터 방식, 트러스트 존 방식의 예를 도시한다.
도 3은 다양한 실시 예에 따른, 전자 장치 301을 포함하는 네트워크 환경 300를 도시한다.
도 4는 본 발명의 다양한 실시 예들에 따른 전자 장치의 블록 구성의 예를 도시한다.
도 5은 본 발명의 실시 예에 따른 전자 장치에서 메모리에 접근을 시도하는 트래픽을 제어하는 예를 도시한다.
도 6a 내지 도 6c는 본 발명의 실시 예에 따른 전자 장치에서 메모리 영역을 다수의 메모리 페이지 단위로 분할한 예를 도시한다.
도 7a 내지 도 7d는 본 발명의 실시 예에 따른 전자 장치에서 메모리에 접근을 요청하는 트래픽을 제어하는 예를 도시한다.
도 8은 본 발명의 실시 예에 따른 전자 장치에서 메모리에 대한 접근을 요청하는 트래픽 발생시 상기 트래픽이 상기 메모리에 접근할 수 있는지 여부를 확인하는 예를 도시한다.
도 9은 본 발명의 실시 예에 따른 전자 장치에서 메모리 영역 중 쓰기 보호가능 영역에 접근을 시도하는 트래픽의 발생 시 동작 순서도를 도시한다.
도 10은 본 발명의 실시 예에 따른 전자 장치에서 메모리의 영역 중 보안 보호 가능 영역에 접근을 시도하는 트래픽 발생 시의 동작 순서도를 도시한다.
도 11은 본 발명의 실시 예에 따른 전자 장치의 동작 순서도를 도시한다.
이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면과 연관되어 기재된다. 본 발명의 다양한 실시 예는 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명의 다양한 실시 예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 다양한 실시 예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 발명의 다양한 실시 예에서 사용될 수 있는“포함한다” 또는 “포함할 수 있다” 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시 예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 다양한 실시 예에서 “또는” 또는 “ A 또는/및 B 중 적어도 하나” 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, “A 또는 B” 또는 “ A 또는/및 B 중 적어도 하나” 각각은, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 발명의 다양한 실시 예에서 사용된 “제 1,”“제2,”“첫째,”또는“둘째,”등의 표현들은 다양한 실시 예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 발명의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 발명의 다양한 실시 예에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명의 다양한 실시 예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 다양한 실시 예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 다양한 실시예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 다양한 실시 예에 따른 전자 장치는, 통신 기능이 포함된 장치일 수 있다. 예를 들면, 전자 장치는 스마트 폰(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), 전자 문신, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 통신 기능을 갖춘 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들자면, 전자 장치는 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔(game consoles), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 각종 의료기기(예: 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? machine) 또는 상점의 POS(point of sales) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 통신 기능을 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 본 발명의 다양한 실시 예에 따른 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 또한, 본 발명의 다양한 실시 예에 따른 전자 장치는 플렉서블 장치일 수 있다. 또한, 본 발명의 다양한 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.
이하 첨부된 도면을 참조하여 다양한 실시 예에 따른 전자 장치에 대해서 살펴본다. 다양한 실시 예에서 이용되는 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
이하 본 발명은 전자 장치에서 메모리 보안을 위한 기술에 대하여 설명한다.
도 3은 다양한 실시 예에 따른, 전자 장치 301을 포함하는 네트워크 환경 300를 도시한다.
상기 도 3을 참조하면, 상기 전자 장치 301는 버스 310, 프로세서 320, 메모리 330, 입출력 인터페이스 340, 디스플레이 350, 통신 인터페이스 360을 포함할 수 있다.
상기 버스 310는 전술한 구성요소들을 서로 연결하고, 전술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.
상기 프로세서 320는, 예를 들면, 상기 버스 310를 통해 전술한 다른 구성요소들(예: 상기 메모리 330, 상기 입출력 인터페이스 340, 상기 디스플레이 350, 상기 통신 인터페이스 360 등)로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다.
본 발명의 실시 예에 따라 상기 전자 장치 301는 메모리 제어부(미도시)를 더 포함할 수 있다. 상기 메모리 제어부(미도시)는, 접근이 제한된 적어도 하나의 영역에 대한 접근 요청 발생 시, 상기 접근 권한 정보에 기초하여 접근 허용 여부를 판단할 수 있다. 상기 접근 요청은, 상기 접근 요청의 의도가 상기 적어도 하나의 메모리 단위에 대한 보안 읽기, 보안 쓰기, 일반 읽기, 일반 쓰기 중 적어도 하나를 위한 것임을 나타내는 표시 및 상기 접근 요청이 접근하고자하는 메모리 단위의 주소를 포함할 수 있다. 상기 메모리 제어부(미도시)는, 상기 접근 요청이 발생한 메모리 단위가, 상기 접근 요청의 의도를 허용하지 않는 메모리 단위일 경우, 상기 접근 요청을 차단할 수 있다. 상기 메모리 제어부(미도시)는, 상기 접근 권한 정보에 대한 수정이 요청될 경우, 상기 접근 권한 정보를 수정할 수 있다. 상기 메모리 제어부(미도시)는, 읽기, 쓰기 중 적어도 하나에 대한 접근 제한 영역 에 대한 접근 요청 발생 시, 상기 접근 권한 정보에 기초하여 상기 읽기, 쓰기에 대한 접근 제한 영역에 대한 접근 허용 여부를 판단할 수 있다. 상기 메모리 제어부(미도시)는, 로직(logic)으로 지칭될 수 있다.
상기 메모리 330는, 상기 프로세서 320 또는 다른 구성요소들(예: 상기 입출력 인터페이스 340, 상기 디스플레이 350, 상기 통신 인터페이스 360 등)로부터 수신되거나 상기 프로세서 320 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 상기 메모리 330는, 예를 들면, 커널 331, 미들웨어 332, 어플리케이션 프로그래밍 인터페이스(API: application programming interface) 333 또는 어플리케이션 334 등의 프로그래밍 모듈들을 저장할 수 있다. 전술한 각각의 프로그래밍 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.
통상적인 기능에 더하여, 본 발명의 실시 예에 따른, 상기 메모리 330은, 저장 공간 내 다수의 영역들 중 접근이 제한된 적어도 하나의 영역에 대한 메모리 단위별 접근 허용 여부를 나타내는 접근 권한 정보를 저장할 수 있다. 상기 접근 권한 정보는, 상기 접근을 제한할 수 있는 적어도 하나의 영역 각각을 위한 적어도 하나의 테이블을 포함할 수 있다. 상기 적어도 하나의 테이블 각각은, 상기 메모리 단위별 보안 읽기, 보안 쓰기, 일반 읽기, 일반 쓰기 중 적어도 하나의 허용 여부를 나타낼 수 있다. 상기 메모리 330은, 상기 접근 권한 정보를 상기 접근이 제한된 적어도 하나의 영역에 저장할 수 있다. 본 발명의 실시 예에 따라, 상기 테이블은 상기 메모리 접근 권한 정보의 집합을 의미하는 것으로, 비트(bit) 단위로 대응되는 메모리 단위에 접근 권한 정보를 가질 수 있다. 상기 전자 장치 301는, 상기 테이블 구조를 통해 접근 권한 정보 저장을 위한 공간은 최소화하면서 실시간으로 상기 접근 정보를 확인할 수 있다. 본 발명의 실시 예에 따라, 상기 테이블은 특정 자료구조의 형태로 한정되는 것은 아니다.
상기 커널 331은 나머지 다른 프로그래밍 모듈들, 예를 들면, 상기 미들웨어 332, 상기 API 333 또는 상기 어플리케이션 334에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 상기 버스 310, 상기 프로세서 320 또는 상기 메모리 330 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널 331은 상기 미들웨어 332, 상기 API 333 또는 상기 어플리케이션 334에서 상기 전자 장치 301의 개별 구성요소에 접근하여 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어 332는 상기 API 333 또는 상기 어플리케이션 334이 상기 커널 331과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어 332는 상기 어플리케이션 334로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 어플리케이션 334 중 적어도 하나의 어플리케이션에 상기 전자 장치 301의 시스템 리소스(예: 상기 버스 310, 상기 프로세서 320 또는 상기 메모리 330 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)을 수행할 수 있다.
상기 API 333는 상기 어플리케이션 334이 상기 커널 331 또는 상기 미들웨어 332에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 어플리케이션 334는 SMS/MMS 어플리케이션, 이메일 어플리케이션, 달력 어플리케이션, 알람 어플리케이션, 건강 관리(health care) 어플리케이션(예: 운동량 또는 혈당 등을 측정하는 어플리케이션) 또는 환경 정보 어플리케이션(예: 기압, 습도 또는 온도 정보 등을 제공하는 어플리케이션) 등을 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 어플리케이션 334은 상기 전자 장치 301와 외부 전자 장치(예: 전자 장치 304) 사이의 정보 교환과 관련된 어플리케이션일 수 있다. 상기 정보 교환과 관련된 어플리케이션은, 예를 들어, 상기 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 상기 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 상기 알림 전달 어플리케이션은 상기 전자 장치 301의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션 또는 환경 정보 어플리케이션 등)에서 발생한 알림 정보를 외부 전자 장치(예: 전자 장치 304)로 전달하는 기능을 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치(예: 전자 장치 304)로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 상기 장치 관리 어플리케이션은, 예를 들면, 상기 전자 장치 301와 통신하는 외부 전자 장치(예: 전자 장치 304)의 적어도 일부에 대한 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴온/턴오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 상기 외부 전자 장치에서 동작하는 어플리케이션 또는 상기 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스)를 관리(예: 설치, 삭제 또는 업데이트)할 수 있다.
다양한 실시 예에 따르면, 상기 어플리케이션 334은 상기 외부 전자 장치(예: 전자 장치 304)의 속성(예: 전자 장치의 종류)에 따라 지정된 어플리케이션을 포함할 수 있다. 예를 들어, 외부 전자 장치가 MP3 플레이어인 경우, 상기 어플리케이션 334은 음악 재생과 관련된 어플리케이션을 포함할 수 있다. 유사하게, 외부 전자 장치가 모바일 의료기기인 경우, 상기 어플리케이션 334은 건강 관리와 관련된 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 상기 어플리케이션 334은 전자 장치 301에 지정된 어플리케이션 또는 외부 전자 장치(예: 서버 306 또는 전자 장치 304)로부터 수신된 어플리케이션 중 적어도 하나를 포함할 수 있다.
상기 입출력 인터페이스 340은, 입출력 장치(예: 센서, 키보드 또는 터치 스크린)를 통하여 사용자로부터 입력된 명령 또는 데이터를, 예를 들면, 상기 버스 310를 통해 상기 프로세서 320, 상기 메모리 330, 상기 통신 인터페이스 360에 전달할 수 있다. 예를 들면, 상기 입출력 인터페이스 340은 터치 스크린을 통하여 입력된 사용자의 터치에 대한 데이터를 상기 프로세서 320로 제공할 수 있다. 또한, 상기 입출력 인터페이스 340은, 예를 들면, 상기 버스 310을 통해 상기 프로세서 320, 상기 메모리 330, 상기 통신 인터페이스 360로부터 수신된 명령 또는 데이터를 상기 입출력 장치(예: 스피커 또는 디스플레이)를 통하여 출력할 수 있다. 예를 들면, 상기 입출력 인터페이스 340은 상기 프로세서 320를 통하여 처리된 음성 데이터를 스피커를 통하여 사용자에게 출력할 수 있다.
상기 디스플레이 350은 사용자에게 각종 정보(예: 멀티미디어 데이터 또는 텍스트 데이터 등)을 표시할 수 있다.
상기 통신 인터페이스 360은 상기 전자 장치 301와 외부 장치(예: 전자 장치 304 또는 서버 306) 간의 통신을 연결할 수 있다. 예를 들면, 상기 통신 인터페이스 360은 무선 통신 또는 유선 통신을 통해서 네트워크 362에 연결되어 상기 외부 장치와 통신할 수 있다. 상기 무선 통신은, 예를 들어, 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) 중 적어도 하나를 포함할 수 있다.
한 실시 예에 따르면, 상기 네트워크 362는 통신 네트워크(telecommunications network)일 수 있다. 상기 통신 네트워크 는 컴퓨터 네트워크(computer network), 인터넷(internet), 사물 인터넷(internet of things) 또는 전화망(telephone network) 중 적어도 하나를 포함할 수 있다. 한 실시 예에 따르면, 상기 전자 장치 301와 외부 장치 간의 통신을 위한 프로토콜(예: transport layer protocol, data link layer protocol 또는 physical layer protocol))은 어플리케이션 334, 어플리케이션 프로그래밍 인터페이스 333, 상기 미들웨어 332, 커널 331 또는 통신 인터페이스 360 중 적어도 하나에서 지원될 수 있다.
한 실시 예에 따르면, 상기 서버 306는 상기 전자 장치 301에서 구현되는 동작(또는, 기능)들 중 적어도 하나의 동작을 수행함으로써, 상기 전자 장치 301의 구동을 지원할 수 있다.
도 4는 본 발명의 다양한 실시 예들에 따른 전자 장치의 블록 구성의 예를 도시한다.
상기 도 4를 참조하면, 상기 전자 장치는 하나 이상의 어플리케이션 프로세서(AP: application processor)(410), 통신 모듈(420), SIM(subscriber identification module) 카드(424), 메모리(430), 센서 모듈(440), 입력 장치(450), 디스플레이(460), 인터페이스(470), 오디오 모듈(480), 카메라 모듈(491), 전력관리 모듈(495), 배터리(496), 인디케이터(497) 및 모터(498)를 포함할 수 있다.
상기 AP(410)는 운영체제 또는 응용 프로그램을 구동하여 상기 AP(410)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP(410)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시 예에 따르면, 상기 AP(410)는 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.
본 발명의 실시 예에 따라 상기 전자 장치는 메모리 제어부(미도시)를 더 포함할 수 있다. 상기 메모리 제어부(미도시)는, 접근이 제한된 적어도 하나의 영역에 대한 접근 요청 발생 시, 상기 접근 권한 정보에 기초하여 접근 허용 여부를 판단할 수 있다. 상기 접근 요청은, 상기 접근 요청의 의도가 상기 적어도 하나의 메모리 단위에 대한 보안 읽기, 보안 쓰기, 일반 읽기, 일반 쓰기, 쓰기 금지 중 적어도 하나를 위한 것임을 나타내는 표시 및 상기 접근 요청이 접근하고자하는 메모리 단위의 주소를 포함할 수 있다. 상기 메모리 제어부(미도시)는, 상기 접근 요청이 발생한 메모리 단위가, 상기 접근 요청의 의도를 허용하지 않는 메모리 단위일 경우, 상기 접근 요청을 차단하고 그 정보를 시스템에 전달할 수 있다. 상기 메모리 제어부(미도시)는, 상기 접근 권한 정보에 대한 수정이 요청될 경우, 상기 접근 권한 정보를 수정할 수 있다. 상기 메모리 제어부(미도시)는, 읽기, 쓰기 중 적어도 하나에 대한 접근 제한 영역 에 대한 접근 요청 발생 시, 상기 접근 권한 정보에 기초하여 상기 읽기, 쓰기에 대한 접근 제한 영역에 대한 접근 허용 여부를 판단할 수 있다.
상기 통신 모듈(420)은 상기 전자 장치(401)와 네트워크를 통해 연결된 다른 전자 장치들(미도시) 간의 통신에서 데이터 송수신을 수행할 수 있다. 한 실시 예에 따르면, 상기 통신 모듈(420)은 셀룰러 모듈(421), WiFi 모듈(423), BT 모듈(425), GPS 모듈(427), NFC 모듈(428) 및 RF(radio frequency) 모듈(429)을 포함할 수 있다.
상기 셀룰러 모듈(421)은 통신망(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등)을 통해서 음성 통화, 영상 통화, 문자 서비스 또는 인터넷 서비스 등을 제공할 수 있다. 또한, 상기 셀룰러 모듈(421)은, 예를 들면, 가입자 식별 모듈(예: SIM 카드 424)을 이용하여 통신 네트워크 내에서 전자 장치의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈(421)은 상기 AP(410)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 예를 들면, 상기 셀룰러 모듈(421)은 멀티 미디어 제어 기능의 적어도 일부를 수행할 수 있다.
한 실시 예에 따르면, 상기 셀룰러 모듈(421)은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다. 또한, 상기 셀룰러 모듈(421)은, 예를 들면, SoC로 구현될 수 있다. 도 4에서는 상기 셀룰러 모듈(421)(예: 커뮤니케이션 프로세서), 상기 메모리(430) 또는 상기 전력관리 모듈(495) 등의 구성요소들이 상기 AP(410)와 별개의 구성요소로 도시되어 있으나, 한 실시 예에 따르면, 상기 AP(410)가 전술한 구성요소들의 적어도 일부(예: 셀룰러 모듈 421)를 포함하도록 구현될 수 있다.
한 실시 예에 따르면, 상기 AP(410) 또는 상기 셀룰러 모듈(421)(예: 커뮤니케이션 프로세서)은 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP(410) 또는 상기 셀룰러 모듈(421)은 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 WiFi 모듈(423), 상기 BT 모듈(425), 상기 GPS 모듈(427) 또는 상기 NFC 모듈(428) 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 도 4에서는 셀룰러 모듈(421), WiFi 모듈(423), BT 모듈(425), GPS 모듈(427) 또는 NFC 모듈(428)이 각각 별개의 블록으로 도시되었으나, 한 실시 예에 따르면, 셀룰러 모듈(421), WiFi 모듈(423), BT 모듈(425), GPS 모듈(427) 또는 NFC 모듈(428) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. 예를 들면, 셀룰러 모듈(421), WiFi 모듈(423), BT 모듈(425), GPS 모듈 (427) 또는 NFC 모듈(428) 각각에 대응하는 프로세서들 중 적어도 일부(예: 셀룰러 모듈(421)에 대응하는 커뮤니케이션 프로세서 및 WiFi 모듈(423)에 대응하는 WiFi 프로세서)는 하나의 SoC로 구현될 수 있다.
상기 RF 모듈(429)는 데이터의 송수신, 예를 들면, RF 신호의 송수신을 할 수 있다. 상기 RF 모듈(429)는, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, 상기 RF 모듈(429)는 무선 통신에서 자유 공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다. 도 4에서는 셀룰러 모듈(421), WiFi 모듈(423), BT 모듈(425), GPS 모듈(427) 및 NFC 모듈(428)이 하나의 RF 모듈(429)을 서로 공유하는 것으로 도시되어 있으나, 한 실시예에 따르면, 셀룰러 모듈(421), WiFi 모듈(423), BT 모듈(425), GPS 모듈(427) 또는 NFC 모듈(428) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호의 송수신을 수행할 수 있다.
상기 SIM 카드(424)는 가입자 식별 모듈을 포함하는 카드일 수 있으며, 상기 전자 장치(401)의 특정 위치에 형성된 슬롯에 삽입될 수 있다. 상기 SIM 카드(424)는 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
상기 메모리(430)는 내장 메모리(432) 또는 외장 메모리(434)를 포함할 수 있다. 상기 내장 메모리(432)는, 예를 들면, 휘발성 메모리(예를 들면, 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 등) 중 적어도 하나를 포함할 수 있다.
한 실시 예에 따르면, 상기 내장 메모리(432)는 Solid State Drive (SSD)일 수 있다. 상기 외장 메모리(434)는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 등을 더 포함할 수 있다. 상기 외장 메모리(434)는 다양한 인터페이스를 통하여 상기 전자 장치(401)와 기능적으로 연결될 수 있다. 한 실시 예에 따르면, 상기 전자 장치(401)는 하드 드라이브와 같은 저장 장치(또는 저장 매체)를 더 포함할 수 있다. 상기 메모리(430)는, 상기 AP(410)의 처리 및 제어를 위한 프로그램의 마이크로코드와 각종 참조 데이터를 저장한다. 특히, 본 발명의 실시 예에 따라 상기 메모리(430)는, 상기 AP(410)의 처리 및 제어를 위한 프로그램의 마이크로코드와 각종 참조 데이터를 저장한다.
통상적인 기능에 더하여, 본 발명의 실시 예에 따른, 상기 메모리(430)는, 저장 공간 내 다수의 영역들 중 접근이 제한된 적어도 하나의 영역에 대한 메모리 단위별 접근 허용 여부를 나타내는 접근 권한 정보를 저장할 수 있다. 상기 접근 권한 정보는, 상기 접근이 제한된 적어도 하나의 영역 각각을 위한 적어도 하나의 테이블을 포함할 수 있다. 상기 적어도 하나의 테이블 각각은, 상기 메모리 단위별 보안 읽기, 보안 쓰기, 일반 읽기, 일반 쓰기 중 적어도 하나의 허용 여부를 나타낼 수 있다. 상기 메모리(430)는, 상기 접근 권한 정보를 상기 접근이 제한된 적어도 하나의 영역에 저장할 수 있다. 본 발명의 실시 예에 따라 상기 접근 권한 정보는 내장메모리(432), 외장메모리(434) 중 적어도 하나에 저장될 수 있다.
상기 센서 모듈(440)은 물리량을 계측하거나 전자 장치(401)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈(440)은, 예를 들면, 제스처 센서(440A), 자이로 센서(440B), 기압 센서 (440C), 마그네틱 센서(440D), 가속도 센서(440E), 그립 센서(440F), 근접 센서(440G), color 센서(440H)(예: RGB(red, green, blue) 센서), 생체 센서(440I), 온/습도 센서(440J), 조도 센서(440K) 또는 UV(ultra violet) 센서(440M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈(440)은, 예를 들면, 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시), IR(infra red) 센서(미도시), 홍채 센서(미도시) 또는 지문 센서(미도시) 등을 포함할 수 있다. 상기 센서 모듈(440)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 입력 장치(450)는 터치 패널(touch panel)(452), (디지털) 펜 센서(pen sensor)(454), 키(key)(456) 또는 초음파(ultrasonic) 입력 장치(458)를 포함할 수 있다. 상기 터치 패널(452)은, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 상기 터치 패널(452)은 제어 회로를 더 포함할 수도 있다. 정전식의 경우, 물리적 접촉 또는 근접 인식이 가능하다. 상기 터치 패널(452)은 택타일 레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 상기 터치 패널(452)은 사용자에게 촉각 반응을 제공할 수 있다. 본 발명의 실시 예에 따른, 상기 터치 패널(452)은, 터치 입력의 발생을 인지할 수 있다.
상기 (디지털) 펜 센서(454)는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 상기 키(456)는, 예를 들면, 물리적인 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 상기 초음파(ultrasonic) 입력 장치(458)는 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치(401)에서 마이크(예: 마이크 488)로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시 예에 따르면, 상기 전자 장치(401)는 상기 통신 모듈(420)를 이용하여 이와 연결된 외부 장치(예: 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다.
상기 디스플레이(460)는 패널(462), 홀로그램 장치(464) 또는 프로젝터 (466)를 포함할 수 있다. 상기 패널(462)은, 예를 들면, LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic light-emitting diode) 등일 수 있다. 상기 패널(462)은, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널(462)은 상기 터치 패널(452)과 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치(464)은 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터(466)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 테더링 장치(401)의 내부 또는 외부에 위치할 수 있다. 한 실시 예에 따르면, 상기 디스플레이(460)는 상기 패널(462), 상기 홀로그램 장치(464), 또는 프로젝터 (466)를 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스(470)는, 예를 들면, HDMI(high-definition multimedia interface)(472), USB(universal serial bus)(474), 광 인터페이스(optical interface)(476) 또는 D-sub(D-subminiature)(478)를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스(470)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure Digital) 카드/MMC(multi-media card) 인터페이스 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈(480)은 소리(sound)와 전기신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈(480)은, 예를 들면, 스피커(482), 리시버(484), 이어폰(486) 또는 마이크(488) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈(491)은 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈(미도시), ISP(image signal processor, 미도시) 또는 플래쉬 (flash, 미도시)(예: LED 또는 xenon lamp)를 포함할 수 있다.
상기 전력 관리 모듈(495)은 상기 전자 장치(401)의 전력을 관리할 수 있다. 도시하지는 않았으나, 상기 전력 관리 모듈(495)은, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다.
상기 PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 상기 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시 예에 따르면, 상기 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로 또는 정류기 등의 회로가 추가될 수 있다.
상기 배터리 게이지는, 예를 들면, 상기 배터리(496)의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 상기 배터리(496)는 전기를 저장 또는 생성할 수 있고, 그 저장 또는 생성된 전기를 이용하여 상기 전자 장치(401)에 전원을 공급할 수 있다. 상기 배터리(496)는, 예를 들면, 충전식 전지(rechargeable battery) 또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터(497)는 상기 전자 장치(401) 혹은 그 일부(예: 상기 AP 410)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터(498)는 전기적 신호를 기계적 진동으로 변환할 수 있다. 도시되지는 않았으나, 상기 전자 장치(401)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 본 발명의 다양한 실시 예에 따른 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 발명의 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 5는 본 발명의 실시 예에 따른 전자 장치에서 메모리에 접근을 시도하는 트래픽을 제어하는 예를 도시한다.
상기 도 5를 참고하면, 상기 전자 장치는, 메모리(505)에 접근을 시도하는 적어도 하나의 트래픽(501)이 발생할 경우, 메모리 제어부(503)를 통해 상기 트래픽(501)을 제어할 수 있다. 예를 들어, 상기 전자 장치는, 상기 메모리(505)를 적어도 하나의 보안 영역을 포함하는 다수의 영역들로 분할할 수 있다. 상기 전자 장치는, 상기 적어도 하나의 보안 영역을 다수의 메모리 페이지 단위들로 분할할 수 있다. 상기 전자 장치는, 상기 다수의 메모리 페이지 단위들 각각에 대하여 접근 허용 여부를 결정할 수 있다. 상기 전자 장치는, 상기 접근 허용 여부에 관한 정보를 생성할 수 있다. 상기 메모리 제어부(503)는, 상기 메모리(505) 중 다수의 메모리 단위들 중 적어도 하나에 대해 접근을 시도하는 적어도 하나의 트래픽이 발생할 경우, 상기 접근 허용 여부에 관한 정보에 기초하여 상기 적어도 하나의 메모리 단위가 접근이 허용된 메모리 단위인지 여부를 판단할 수 있다. 상기 메모리 제어부(503)는, 상기 적어도 하나의 메모리 단위가 접근이 허용되지 않은 메모리 단위일 경우, 상기 트래픽을 차단할 수 있다.
본 발명의 실시 예에 따라, 본 명세서에서는 메모리 페이지 단위들에 관한 실시 예를 기술하지만, 이는 단지 예시를 위한 것일 뿐 본 발명을 한정하는 것은 아니다. 예를 들어, 본 발명의 다른 실시 예에 따라, 상기 메모리는 페이지 단위들이 아닌, 본 발명의 범위를 벗어나지 않는 다른 어떤 메모리 단위들로 구성될 수 있다.
도 6a 내지 도 6c는 본 발명의 실시 예에 따른 전자 장치에서 메모리 영역을 다수의 메모리 페이지 단위로 분할한 예를 도시한다.
상기 도 6a를 참고하면, 상기 전자 장치는, 메모리(601)를 사전 할당 영역(reserved region)(603), 쓰기 보호 가능 영역(write protectable region)(605), 보안 보호 가능 영역(security protectable region)(607), 보안이 필요하지 않은 일반 영역(609)으로 분할할 수 있다. 상기 전자 장치는, 상기 쓰기 보호 가능 영역(605) 및 상기 보안 보호 가능 영역(607)을 다수의 메모리 페이지들로 분할할 수 있다.
예를 들어, 리눅스(linux) 시스템에서 상기 메모리(601)는, 사전 할당 메모리(reserved memory) 영역, 하이멤(himem) 메모리 영역, 노멀(normal) 메모리 영역으로 나뉠 수 있다. 또한 상기 영역들 각각에 대해 페이지 단위로 메모리를 할당해서 사용하기 때문에, 메모리 블록들에 대한 속성 할당이 상기 영역들 각각 내에서 블록 단위로 이루어질 수 있다.
본 발명의 실시 예에 따른 상기 전자 장치는, 상기 메모리(601)에 대한 읽기 또는 쓰기의 허용 여부를 나타내는 비트 스트림을 상기 메모리(601)의 어느 주소부터 적용할지를 나타내는 시작 주소를 가질 수 있다. 예를 들어, 상기 전자 장치는, 상기 쓰기 보호 가능 영역(605) 또는 상기 보안 보호 가능 영역(607)의 시작 주소에 관한 정보를 미리 결정할 수 있다.
상기 전자 장치는, 상기 쓰기 보호 가능 영역(605) 및 상기 보안 보호 가능 영역(607)의 다수의 메모리 페이지들 각각에 대한 접근 허용 여부를 설정할 수 있다. 예를 들어, 상기 쓰기 보호 가능 영역(605)이 다수의 메모리 페이지들로 구성될 경우, 상기 전자 장치는, 상기 다수의 메모리 페이지들 각각에 대해 쓰기 허용 여부를 나타내는 쓰기 보호 테이블(609)을 정의할 수 있다. 예를 들어, 상기 전자 장치는, 상기 10개의 메모리 페이지들 각각에 대한 쓰기 허용 여부를 나타내는 10개의 값들을 포함하는 상기 쓰기 보호 테이블(609)을 생성할 수 있다.
상기 도 6a에 도시된 실시 예에서, 상기 쓰기 보호 테이블(609)에 포함된 값들의 개수는 페이지들의 개수와 동일하다. 그러나, 본 발명의 다른 실시 예에 따라 상기 전자 장치는, 다수의 페이지들에 대하여 하나의 쓰기 허용 여부를 나타내는 값을 설정할 수 있다. 예를 들어, 상기 전자 장치는, 상기 10개의 메모리 페이지들을 2개의 페이지들로 묶어 5개의 그룹으로 나눈 후, 상기 5개의 그룹들 각각에 대한 쓰기 허용 여부를 나타내는 값들을 설정할 수 있다. 본 발명의 또 다른 실시 예에 따라 상기 전자 장치는, 상기 10개의 메모리 페이지들을 3개의 페이지들로 묶인 그룹들로 나눈 후, 상기 그룹 각각에 대한 쓰기 허용 여부를 나타내는 값들을 설정할 수 있다.
상기 도 6a에 도시된 실시 예에서, 상기 쓰기 보호 테이블(609)에 포함된 값들은 각 페이지에 대응하며, 상기 값들의 배치 순서 및 상기 페이지들의 배치 순서는 동일하다. 그러나, 본 발명의 다른 실시 예에 따라 상기 전자 장치는, 상기 10개의 메모리 페이지들에 대응하는 순서와 다른 순서로 상기 쓰기 허용 여부를 나타내는 10개의 값들을 상기 쓰기 보호 테이블(609)에 설정할 수 있다. 예를 들어, 상기 값들의 순서 및 대응하는 페이지들의 순서는 역순으로 정의될 수 있다.
상기 도 6a에 도시된 실시 예에서, 상기 쓰기 보호 테이블(609)의 값들은, 쓰기가 허용된 페이지에 대하여 '0'으로, 쓰기가 허용되지 않은 페이지에 대하여 '1'로 설정되었다. 그러나, 본 발명의 다른 실시 예에 따라, 상기 쓰기 보호 가능 영역(609)의 다수의 메모리 페이지들 각각에 대해, 쓰기가 허용되는 페이지는 '1'로, 쓰기가 허용되지 않는 페이지는 '0'으로 정의될 수 있다.
상기 도 6b를 참고하면, 본 발명의 다른 실시 예에 따라, 상기 전자 장치는, 상기 보안 보호 가능 영역(607)의 다수의 메모리 페이지들 각각에 대한 접근 허용 여부를 설정할 수 있다. 예를 들어, 상기 전자 장치는, 상기 보안 보호 가능 영역(607)의 다수의 메모리 페이지들 각각에 대해 보안 읽기가 허용된 페이지는 '0'으로, 상기 보안 읽기가 허용되지 않은 페이지는 '1'로 설정된 보안 읽기 테이블(615)을 생성할 수 있다. 또한, 상기 전자 장치는, 상기 보안 보호 가능 영역(607)의 다수의 메모리 페이지들 각각에 대해 보안 쓰기가 허용된 페이지는 '0'으로, 상기 보안 쓰기가 허용되지 않은 페이지는 '1'로 설정된 보안 쓰기 테이블(617)을 생성할 수 있다.
상기 도 6c를 참고하면, 본 발명의 또 다른 실시 예에 따라, 상기 전자 장치는, 상기 보안 보호 가능 영역(607)의 다수의 페이지들 각각에 대해, 상기 보안 읽기 테이블(615), 상기 보안 쓰기 테이블(617), 일반 읽기 테이블(619), 일반 쓰기 테이블(621)을 생성할 수 있다. 예를 들어, 상기 전자 장치는, 상기 보안 보호 가능 영역(607)의 다수의 페이지들 각각에 대해 상기 일반 읽기(619) 및 상기 일반 쓰기(621)는 모두 허용되지 않도록 할 수 있다. 예를 들어, 상기 전자 장치는, 상기 보안 보호 가능 영역(607)의 다수의 페이지들 각각에 대한 상기 일반 읽기 테이블(619) 및 상기 일반 쓰기 테이블(621)을 모두 '0'으로 설정할 수 있다.
본 발명의 실시 예에 따라, 상기 도 6a 및 6c의 보안 관련 테이블들(609 내지 617)은 상기 보호 영역들(605 및 607) 내의 각각의 단위들에 대응하는 값을 갖고 있다. 그러나, 본 발명의 다른 실시 예에 따라, 상기 보안 관련 테이블들(609 내지 617)은 상기 보호 영역들(605 및 607) 내의 각각의 단위들 중 일부에 대응하는 값들만을 가질 수도 있다. 예를 들어, 상기 전자 장치는, 모든 메모리 영역들 중 일부 영역에 대해서만 보안을 설정할 수 있다.
본 발명의 실시 예에 따라 상기 보안 관련 테이블들(609 내지 617)은 상기 전자 장치가 부팅(booting)될 때 생성될 수 있다. 상기 전자 장치는, 제1 메모리, 제2 메모리를 포함하는 다수의 메모리들을 구비할 수 있다. 상기 보안 관련 테이블들(609 내지 617)은 상기 다수의 메모리들 중 적어도 하나에 저장될 수 있다. 본 발명의 다른 실시 예에 따라, 상기 보안 관련 테이블들(609 내지 617)은 상기 전자 장치가 부팅될 때, 상기 제1 메모리로부터 로딩(loading)되어 상기 제2 메모리에 저장된 후 상기 제2 메모리에 고정(lock)될 수 있다. 상기 제2 메모리는, SRAM, 스크래치패드(scretchpad) 메모리, 내부 메모리 중 적어도 하나일 수 있다.
도 7a 내지 도 7d는 본 발명의 실시 예에 따른 전자 장치에서 메모리에 접근을 요청하는 트래픽을 제어하는 예를 도시한다.
상기 도 7a를 참고하면, 상기 전자 장치에서, 메모리에 접근을 시도하는 트래픽(703)이 발생할 경우, 메모리 제어부(701)는, 쓰기 보호 점검부(write protection checker)(709)를 통해 상기 트래픽(703)에 대한 보안성을 점검할 수 있다. 예를 들어, 상기 쓰기 보호 점검부(709)는, 보안 운영 체제(operation system)(미도시)로부터 쓰기 보호 정보(write protection information)(713)를 전달받을 수 있다. 상기 쓰기 보호 정보(713)는, 쓰기 보호 가능 영역의 메모리 페이지들 각각에 대한 접근 허용 여부가 표시된 메모리 페이지 테이블이 될 수 있다. 상기 메모리 페이지 테이블은, 상기 보안 운영 체제(미도시)에 의해 설정(705)될 수 있다.
상기 트래픽(703)이 상기 쓰기 보호 점검부(709)의 점검을 통과할 경우, 보안 보호 점검부(secure protection checker)(711)는, 상기 트래픽(703)에 대한 점검을 실시할 수 있다. 예를 들어, 상기 보안 보호 점검부(711)는, 상기 보안 운영 체제(미도시)로부터 보안 보호 정보(715)를 전달받을 수 있다. 상기 보안 보호 정보(715)는, 보안 보호 가능 영역의 메모리 페이지들 각각에 대한 접근 허용 여부가 표시된 메모리 페이지 테이블이 될 수 있다. 상기 메모리 페이지 테이블은, 상기 보안 운영 체제(미도시)에 의해 설정(705)될 수 있다.
상기 메모리 제어부(701)는, 상기 트래픽(703)을 상기 쓰기 보호 점검부(709) 및 상기 보안 보호 점검부(711)를 통해 순차적으로 상기 트래픽(703)에 대한 보안성 여부를 판단할 수 있다. 상기 메모리 제어부(701)는, 상기 보안성 여부에 대한 판단에 기초하여 상기 메모리(707)에 접근을 시도하는 트래픽(703)을 제어할 수 있다.
본 발명의 다른 실시 예에 따라, 상기 쓰기 보호 점검부(709) 및 상기 보안 보호 점검부(711)의 위치는 달라질 수 있다. 예를 들어, 상기 보안 보호 점검부(711)가 상기 쓰기 보호 점검부(709)의 앞에 위치할 수 있다. 또한, 상기 쓰기 보호 점검부(709) 및 상기 보안 보호 점검부(711)는 상기 도 7a와 같이 순차적으로 위치하지 않고, 병렬적으로 위치할 수 있다. 예를 들어, 상기 도 7b를 참고하면, 상기 메모리 접근 트래픽(703)은 병렬로 위치한 상기 쓰기 보호 점검부(709) 및 상기 보안 보호 점검부(711)를 각각 통과할 수 있다. 상기 상기 쓰기 보호 점검부(709) 및 상기 보안 보호 점검부(711)는 상기 메모리 접근 트래픽(703)이 상기 메모리(707)에 대한 접근이 허용되는지 여부를 판단할 수 있다.
상기 도 7c를 참고하면, 본 발명의 또 다른 실시 예에 따라, 상기 쓰기 보호 점검부(709) 및 상기 보안 보호 점검부(715)는 분리되지 않고, 하나로 통합되어 운용될 수 있다. 예를 들어, 상기 메모리에 접근을 시도하는 트래픽(703)은, 상기 쓰기 보호 점검부(709) 및 상기 보안 보호 점검부(711)를 순차적으로 통과하지 않고, 쓰기 및 보안 보호 점검부(717)를 통해 한번에 보안성 여부를 점검받을 수 있다. 예를 들어, 상기 쓰기 및 보안 보호 점검부(717)는, 상기 보안 운영 체제(미도시)로부터 쓰기 및 보안 보호 정보(719)를 전달받을 수 있다. 상기 쓰기 및 보안 보호 점검부(717)는, 상기 쓰기 및 보안 보호 정보(719)에 기초하여 상기 트래픽(703)에 대한 메모리 접근 허용 여부를 판단할 수 있다. 상기 쓰기 및 보안 보호 정보(719)는, 상기 메모리(707)의 쓰기 보안 영역 및 상기 보안 보호 가능 영역의 다수의 메모리 페이지들 각각에 대한 접근 허용 여부가 표시된 메모리 페이지 테이블이 될 수 있다. 상기 메모리 페이지 테이블은 상기 보안 운영 체제(미도시)에 의해 설정(705)될 수 있다.
상기 도 7d를 참고하면, 본 발명의 또 다른 실시 예에 따라, 쓰기 및 보안 보호 점검부(721)는 상기 메모리 제어부(701)의 외부에 위치할 수 있다. 예를 들어, 상기 메모리(707)에 대한 접근을 시도하는 트래픽(703)이 발생 시, 상기 트래픽(703)은, 상기 메모리 제어부(701)의 외부에 위치한 상기 쓰기 및 보안 보호 점검부(721)에 의해 상기 메모리(707)에 대한 접근 가능 여부를 점검받을 수 있다. 상기 트래픽(703)은, 상기 쓰기 및 보안 보호 점검부(721)의 점검을 받은 후 상기 메모리 제어부(701)로 이동할 수 있다.
도 8은 본 발명의 실시 예에 따른 전자 장치에서 메모리에 대한 접근을 요청하는 트래픽 발생시, 상기 트래픽이 상기 메모리에 접근할 수 있는지 여부를 확인하는 예를 도시한다.
상기 도 8을 참고하면, 상기 전자 장치에서 커널(803)은, 상기 메모리(821)를 예약 영역, 쓰기 보호 가능 영역, 보안 보호 가능 영역, 보안이 필요 없는 일반 영역 중 적어도 하나의 영역으로 분할할 수 있다. 상기 커널(803)은, 상기 예약 영역, 상기 쓰기 보호 가능 영역, 상기 보안 보호 가능 영역, 상기 보안이 필요 없는 일반 영역 중 적어도 하나의 영역을 다수의 메모리 페이지들로 분할할 수 있다.
상기 커널(803)은, 상기 쓰기 보호 가능 영역, 상기 보안 보호 가능 영역 중 적어도 하나의 영역의 메모리 페이지들 각각에 대한 보안을 설정할 수 있다. 상기 커널(803)은, 상기 메모리 페이지들 각각에 대한 보안을 설정한 정보를 포함하는 메모리 보호 정보(809)를 생성할 수 있다. 예를 들어, 상기 메모리 보호 정보(809)는, 상기 다수의 메모리 페이지들 각각에 대한 접근이 가능할 경우 '0'이, 상기 접근이 불가능할 경우 '1'이 표시된 상기 다수의 메모리 페이지들에 대한 테이블(819)이 될 수 있다.
상기 커널(803)은, 상기 메모리 보호 정보(809)를 보안 운영 체제(805)에 전달할 수 있다. 상기 보안 운영 체제(805)는, 상기 메모리 보호 정보(809)를 메모리 제어부(815)의 보호 점검부(817)에 전달할 수 있다. 본 발명의 다른 실시 예에 따라 상기 보호 점검부(817)는 상기 메모리 제어부(815)의 외부에 위치할 수 있다.
상기 보호 점검부(817)는, 적어도 하나의 프로세서(801)로부터 상기 메모리(821)에 접근을 시도하는 트래픽(807)이 발생할 경우, 상기 보안 운영 체제(805)로부터 전달받은 상기 메모리 보호 정보(809) 또는 메모리 페이지 테이블(819)에 기초하여 상기 트래픽(807)이 접근을 시도하는 상기 메모리(821)의 페이지 영역이 접근을 허용하는 메모리 페이지인지 여부를 확인할 수 있다. 상기 보호 점검부(817)는, 상기 트래픽(807)이 접근을 시도하는 상기 메모리(821)의 페이지 영역이 접근이 허용된 메모리 페이지일 경우, 상기 트래픽(807)의 접근을 허용할 수 있다. 상기 보호 점검부(817)는, 상기 트래픽(807)이 접근을 시도하는 상기 메모리(821)의 페이지 영역이 접근이 허용된 메모리 페이지가 아닐 경우, 상기 트래픽(807)의 접근을 차단할 수 있다. 또한, 상기 보호 점검부(817)는, 상기 보안 운영 체제(805)로 상기 접근이 허용되지 않은 메모리 페이지 영역에 접근을 시도하는 트래픽이 발생하였음을 알릴 수 있다.
상기 보안 운영 체제(805)는, 상기 커널(803)로부터 전달받은 상기 메모리 보호 정보(809)를 관리할 수 있다. 예를 들어, 상기 보안 운영 체제(805)는, 상기 메모리 보호 정보(809)를 초기화할 수 있다. 또한, 상기 보안 운영 체제(805)는, 상기 메모리 제어부(815)로부터 상기 메모리 보호 정보(809)에 대한 설정 변경이 요청될 경우, 상기 요청에 따라 상기 메모리 보호 정보(809)를 변경할 수 있다. 예를 들어, 상기 메모리 보호 정보(809)가 상기 메모리 페이지 테이블(819)일 경우, 상기 메모리 페이지 테이블(819)의 메모리 페이지들에 대한 접근 허용 여부를 변경할 수 있다.
도 9은 본 발명의 실시 예에 따른 전자 장치에서 메모리 영역 중 쓰기 보호영역에 접근을 시도하는 트래픽의 발생 시 동작 순서도를 도시한다.
상기 도 9을 참고하면, 상기 전자 장치는 901단계로 진행하여 메모리에 대한 접근을 시도하는 트래픽의 발생을 인지한다. 상기 전자 장치는 적어도 하나의 프로세서로부터 발생한 상기 메모리에 대한 접근을 시도하는 트래픽의 발생을 인지할 수 있다.
상기 전자 장치는 903단계로 진행하여, 상기 트래픽이 상기 쓰기 보호 가능 영역에 접근을 시도하는 트래픽인지 여부를 확인한다. 상기 전자 장치는, 상기 트래픽이 상기 메모리의 영역 중 상기 쓰기 보호 가능 영역에 접근을 시도하는 트래픽인지 여부를 확인할 수 있다. 상기 전자 장치는, 상기 트래픽이 상기 쓰기 보호 가능 영역에 접근을 시도하는 트래픽이 아닐 경우, 905단계로 진행하여 상기 트래픽이 상기 메모리에 접근하는 것을 허용한다.
상기 전자 장치는, 상기 트래픽이 상기 쓰기 보호 가능 영역에 접근을 시도하는 트래픽일 경우, 907단계로 진행하여, 상기 쓰기 보호 가능 영역 중 메모리 페이지에 쓰기가 발생하는지 여부를 판단한다. 상기 전자 장치는, 상기 메모리 페이지에 상기 쓰기가 발생하지 않을 경우, 909단계로 진행하여, 상기 메모리 페이지에 대한 읽기를 허용한다.
본 발명의 다른 실시 예에 따라, 상기 전자 장치가, 상기 트래픽이 접근하고자하는 영역이, 상기 보호 가능 영역인지 또는 상기 쓰기 보호 가능 영역인지를 판단하는 순서는 상기 도 9에 도시된 순서와 다르게 진행될 수 있다. 본 발명의 또 다른 실시 예에 따라, 상기 전자 장치는, 상기 트래픽이 접근하고자하는 영역이, 상기 보호 가능 영역인지, 또는 상기 쓰기 보호 가능영역인지를 동시에 판단할 수 있다.
상기 전자 장치는, 상기 쓰기 보호 가능 영역 중 적어도 하나의 메모리 페이지에 쓰기가 발생할 경우, 911단계로 진행하여 해당 페이지에 대한 보호 정보를 로딩한다. 상기 전자 장치는, 상기 적어도 하나의 메모리 페이지에 대한 쓰기가 발생할 경우, 상기 쓰기 보호 가능 영역에 대한 메모리 보호 정보 중 해당 페이지에 대한 정보를 확인할 수 있다. 상기 메모리 보호 정보는, 상기 쓰기 보호 가능 영역의 페이지들에 대한 접근 허용 정보를 표시한 비트 스트림이다.
상기 전자 장치는, 913단계로 진행하여 상기 쓰기 보호 가능 영역 중 적어도 하나의 메모리 페이지에 대한 변경이 가능한지 여부를 확인한다. 상기 전자 장치는, 상기 적어도 하나의 메모리 페이지에 대한 쓰기가 발생할 경우, 상기 메모리 보호 정보에 기초하여, 상기 적어도 하나의 메모리 페이지가 쓰기를 허용하는지 여부를 확인할 수 있다. 상기 전자 장치는, 상기 적어도 하나의 메모리 페이지가 쓰기를 허용하지 않는 메모리 페이지일 경우, 915단계로 진행하여, 상기 쓰기 입력을 무시하고 시스템에 예외 상황이 발생하였음을 알릴 수 있다. 상기 전자 장치는, 상기 메모리 페이지가 쓰기를 허용하는 메모리 페이지일 경우, 917단계로 진행하여, 상기 메모리 페이지에 대한 쓰기를 허용한다.
상기 도 10은 본 발명의 실시 예에 따른 전자 장치에서 메모리의 영역 중 보안 보호 가능 영역에 접근을 시도하는 트래픽 발생 시의 동작 순서도를 도시한다.
상기 도 10을 참고하면, 상기 전자 장치는 1001단계로 진행하여, 메모리에 접근을 시도하는 트래픽의 발생을 인지한다. 상기 전자 장치는, 적어도 하나의 프로세서로부터 발생하는 상기 메모리에 접근을 시도하는 트래픽의 발생을 인지할 수 있다.
상기 전자 장치는, 1003단계로 진행하여, 상기 트래픽이 상기 보안 보호 가능 영역에 접근을 시도하는 트래픽인지 여부를 확인한다. 상기 전자 장치는, 상기 트래픽이 상기 보안 보호 가능 영역에 접근을 시도하는 트래픽이 아닐 경우, 1011단계로 진행하여, 상기 트래픽이 상기 메모리에 접근하는 것을 허용한다.
상기 전자 장치는, 상기 트래픽이 상기 보안 보호 가능 영역에 접근을 시도하는 트래픽일 경우, 1005단계로 진행하여 상기 트래픽이 상기 보안 보호 가능 영역에 대한 접근이 허용된 트래픽인지 여부를 확인한다. 상기 전자 장치는, 상기 트래픽이 상기 보안 보호 가능 영역에 대한 접근이 허용된 트래픽일 경우, 1011단계로 진행하여, 상기 보안 보호 가능 영역에 대한 상기 트래픽의 접근을 허용한다.
본 발명의 다른 실시 예에 따라, 상기 전자 장치가, 상기 트래픽이 상기 보안 보호 가능 영역에 접근하는지 또는 상기 보안 영역에 대한 접근인지 여부를 판단하는 순서는 상기 도 10과 다를 수 있고 또는 동시에 진행될 수도 있다.
상기 전자 장치는, 상기 트래픽이 상기 보안 보호 가능 영역에 대한 접근이지만 비보안 접근일 경우, 1007단계로 진행하여, 메모리의 보안 보호 정보를 로딩한다. 상기 메모리 보호 정보는, 상기 보안 보호 가능 영역들의 페이지들에 대해서 순차적으로 보안 보호 필요 여부를 기록한 비트 스트림이다.
상기 전자 장치는, 1009단계로 진행하여 상기 트래픽이 접근을 시도하는 상기 보안 보호 가능 영역의 페이지에 대해서 비보안 페이지인지 보안 페이지 인지 여부를 확인한다. 상기 전자 장치는, 상기 메모리 보호 정보에 기초하여 상기 트래픽이 접근을 시도하는 상기 메모리 페이지가 비보안 접근이 허용되지 않는 보안 영역인지, 접근이 허용된 상기 비 보안 영역인지 여부를 확인할 수 있다. 상기 전자 장치는, 상기 메모리 페이지가 비 보안 영역일 경우, 1011단계로 진행하여, 상기 메모리 페이지에 대한 상기 트래픽의 접근을 허용한다.
상기 전자 장치는, 상기 메모리 페이지가 상기 비 보안 영역이 아닐 경우, 1013단계로 진행하여, 상기 메모리 페이지에 대한 상기 트래픽의 접근을 불허하고 예외 상황 발생을 시스템에 알린다.
도 11은 본 발명의 실시 예에 따른 전자 장치의 동작 순서도를 도시한다.
상기 도 11을 참고하면, 상기 전자 장치는, 1101단계로 진행하여 저장 공간 내 다수의 영역들 중 접근이 제한된 적어도 하나의 영역에 대한 메모리 단위별 접근 허용 여부를 나타내는 접근 권한 정보를 저장한다. 상기 접근 권한 정보는, 상기 접근이 제한된 적어도 하나의 영역 각각을 위한 적어도 하나의 테이블을 포함할 수 있다. 상기 테이블 각각은, 상기 메모리 단위별 보안 읽기, 보안 쓰기, 일반 읽기, 일반 쓰기 중 적어도 하나의 허용 여부를 나타낼 수 있다. 상기 전자 장치는, 상기 접근 권한 정보를 상기 접근이 제한된 적어도 하나의 영역에 저장할 수 있다.
상기 전자 장치는, 1103단계로 진행하여 상기 접근이 제한된 적어도 하나의 영역에 대한 접근 요청 발생 시, 상기 접근 권한 정보에 기초하여 접근 허용 여부를 판단한다. 상기 접근 요청은, 상기 접근 요청의 의도가 상기 적어도 하나의 메모리 단위에 대한 보안 읽기, 보안 쓰기, 일반 읽기, 일반 쓰기 중 적어도 하나를 위한 것임을 나타내는 표시 및 상기 접근 요청이 접근하고자하는 메모리 단위의 주소를 포함할 수 있다. 상기 전자 장치는, 상기 접근 요청이 발생한 메모리 단위가, 상기 접근 요청의 의도를 허용하지 않는 메모리 단위일 경우, 상기 접근 요청을 차단할 수 있다. 상기 전자 장치는, 상기 접근 권한 정보에 대한 수정이 요청될 경우, 상기 접근 권한 정보를 수정할 수 있다. 상기 접근이 제한된 적어도 하나의 영역은, 읽기, 쓰기 중 적어도 하나를 제한하는 영역을 포함할 수 있다. 상기 전자 장치는, 상기 일기, 쓰기 중 적어도 하나를 제한하는 영역에 대한 접근 요청 발생 시, 상기 접근 권한 정보에 기초하여 접근 허용 여부를 판단할 수 있다.
본 발명의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 발명의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 상기 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 발명의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 발명의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 발명의 구체적인 실시 예들에서, 발명에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 발명이 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (16)

  1. 전자 장치에 있어서,
    저장 공간 내 다수의 영역들 중 접근이 제한된 적어도 하나의 영역에 대한 메모리 단위별 접근 허용 여부를 나타내는 접근 권한 정보를 저장하는 메모리와,
    상기 접근이 제한된 적어도 하나의 영역에 대한 접근 요청 발생 시, 상기 접근 권한 정보에 기초하여 접근 허용 여부를 판단하는 로직(logic)을 포함하는 것을 특징으로 하는 장치.
  2. 제1항에 있어서,
    상기 접근 권한 정보는, 상기 접근이 제한된 적어도 하나의 영역 각각을 위한 적어도 하나의 테이블을 포함하고,
    상기 적어도 하나의 테이블 각각은, 상기 메모리 단위별 보안 읽기, 보안 쓰기, 일반 읽기, 일반 쓰기 중 적어도 하나의 허용 여부를 나타내는 것을 특징으로 하는 장치.
  3. 제1항에 있어서,
    상기 접근 요청은, 상기 접근 요청의 의도가 상기 적어도 하나의 메모리 단위에 대한 보안 읽기, 보안 쓰기, 일반 읽기, 일반 쓰기 중 적어도 하나를 위한 것임을 나타내는 표시 및 상기 접근 요청이 접근하고자하는 메모리 단위의 주소를 포함하는 것을 특징으로 하는 장치.
  4. 제3항에 있어서,
    상기 로직은, 상기 접근 요청이 발생한 메모리 단위가, 상기 접근 요청의 의도를 허용하지 않는 메모리 단위일 경우, 상기 접근 요청을 차단하는 것을 특징으로 하는 장치.
  5. 제1항에 있어서,
    상기 로직은, 상기 접근 권한 정보에 대한 수정이 요청될 경우, 상기 접근 권한 정보를 수정하는 것을 특징으로 하는 장치.
  6. 제1항에 있어서,
    상기 메모리는, 상기 접근 권한 정보를 상기 접근이 제한된 적어도 하나의 영역에 저장하는 것을 특징으로 하는 장치.
  7. 제1항에 있어서,
    상기 접근이 제한된 적어도 하나의 영역은, 읽기, 쓰기 중 적어도 하나를 제한하는 영역를 포함하는 것을 특징으로 하는 장치.
  8. 제7항에 있어서,
    상기 로직은, 상기 읽기, 쓰기 중 적어도 하나를 제한하는 영역에 대한 접근 요청 발생 시, 상기 접근 권한 정보에 기초하여 접근 허용 여부를 판단하는 것을 특징으로 하는 장치.
  9. 전자 장치의 동작 방법에 있어서,
    저장 공간 내 다수의 영역들 중 접근이 제한된 적어도 하나의 영역에 대한 메모리 단위별 접근 허용 여부를 나타내는 접근 권한 정보를 저장하는 과정과,
    상기 접근이 제한된 적어도 하나의 영역에 대한 접근 요청 발생 시, 상기 접근 권한 정보에 기초하여 접근 허용 여부를 판단하는 과정을 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서,
    상기 접근 권한 정보는,
    상기 접근이 제한된 적어도 하나의 영역 각각을 위한 적어도 하나의 테이블을 포함하고,
    상기 적어도 하나의 테이블 각각은,
    상기 메모리 단위별 보안 읽기, 보안 쓰기, 일반 읽기, 일반 쓰기 중 적어도 하나의 허용 여부를 나타내는 것을 특징으로 하는 방법.
  11. 제9항에 있어서,
    상기 접근 요청은,
    상기 접근 요청의 의도가 상기 적어도 하나의 메모리 단위에 대한 보안 읽기, 보안 쓰기, 일반 읽기, 일반 쓰기 중 적어도 하나를 위한 것임을 나타내는 표시 및 상기 접근 요청이 접근하고자하는 메모리 단위의 주소를 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 접근 허용 여부를 판단하는 과정은,
    상기 접근 요청이 발생한 메모리 단위가, 상기 접근 요청의 의도를 허용하지 않는 메모리 단위일 경우, 상기 접근 요청을 차단하는 과정을 포함하는 것을 특징으로 하는 방법.
  13. 제9항에 있어서,
    상기 접근 권한 정보에 대한 수정이 요청될 경우, 상기 접근 권한 정보를 수정하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  14. 제9항에 있어서,
    상기 접근 권한 정보를 저장하는 과정은,
    상기 접근 권한 정보를 상기 접근이 제한된 적어도 하나의 영역에 저장하는 과정을 포함하는 것을 특징으로 하는 방법.
  15. 제9항에 있어서,
    상기 접근이 제한된 적어도 하나의 영역은,
    읽기, 쓰기 중 적어도 하나를 제한하는 영역를 포함하는 것을 특징으로 하는 방법.
  16. 제15항에 있어서,
    상기 접근 허용 여부를 판단하는 과정은,
    상기 읽기, 쓰기 중 적어도 하나를 제한하는 영역에 대한 접근 요청 발생 시, 상기 접근 권한 정보에 기초하여 접근 허용 여부를 판단하는 과정을 포함하는 것을 특징으로 하는 방법.
KR1020140188266A 2014-12-24 2014-12-24 전자 장치에서 메모리에 대한 보안을 제공하기 위한 장치 및 방법 KR20160077851A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140188266A KR20160077851A (ko) 2014-12-24 2014-12-24 전자 장치에서 메모리에 대한 보안을 제공하기 위한 장치 및 방법
US14/998,160 US20160188244A1 (en) 2014-12-24 2015-12-24 Apparatus and method for providing security for memory in electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140188266A KR20160077851A (ko) 2014-12-24 2014-12-24 전자 장치에서 메모리에 대한 보안을 제공하기 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20160077851A true KR20160077851A (ko) 2016-07-04

Family

ID=56164213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140188266A KR20160077851A (ko) 2014-12-24 2014-12-24 전자 장치에서 메모리에 대한 보안을 제공하기 위한 장치 및 방법

Country Status (2)

Country Link
US (1) US20160188244A1 (ko)
KR (1) KR20160077851A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936211B2 (en) * 2017-09-07 2021-03-02 Arm Ip Ltd Optimized storage protection
KR102514062B1 (ko) * 2018-02-27 2023-03-24 삼성전자주식회사 트러스트존 그래픽 렌더링 방법 및 그에 따른 디스플레이 장치
CN110489351B (zh) * 2018-05-14 2021-03-09 英韧科技(上海)有限公司 芯片指纹管理装置及安全芯片

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775779B1 (en) * 1999-04-06 2004-08-10 Microsoft Corporation Hierarchical trusted code for content protection in computers
CN104426938A (zh) * 2013-08-27 2015-03-18 宇宙互联有限公司 存储管理系统及方法
US9418097B1 (en) * 2013-11-15 2016-08-16 Emc Corporation Listener event consistency points

Also Published As

Publication number Publication date
US20160188244A1 (en) 2016-06-30

Similar Documents

Publication Publication Date Title
US11800004B2 (en) Executing applications in conjunction with other devices
US10021103B2 (en) Service authorization methods and apparatuses
US10257177B2 (en) Electronic device and method for managing re-enrollment
KR20160008885A (ko) 전자 장치 및 전자 장치의 메모리 관리 방법
US10181028B2 (en) Method and apparatus to sandbox run-time android applications with lightweight container
KR20160044307A (ko) 정보 보안 제공 방법 및 그 전자 장치
US20150288528A1 (en) Method for application installation, electronic device, and certificate system
KR20150123493A (ko) 입력 처리 방법 및 그 전자 장치
KR20150135837A (ko) 디스플레이 운용 전자장치 및 방법
KR102250772B1 (ko) 이어 잭 오작동을 방지하는 전자 장치 및 방법
US10242170B2 (en) Method and apparatus for obtaining sensing data
KR20150064354A (ko) 입력 처리 방법 및 그 전자 장치
KR20150087085A (ko) 전화번호를 이용하여 외부 기기를 제어하는 전자 기기 및 방법
KR102241831B1 (ko) 전자 장치 및 이의 운영 방법
KR20140112399A (ko) 어플리케이션 접근 제어 방법 및 이를 구현하는 전자 장치
US20150121474A1 (en) Processor security authentication area
US10114542B2 (en) Method for controlling function and electronic device thereof
KR102348217B1 (ko) 전자장치에서 보안화면을 제어하는 방법 및 장치
KR20150089393A (ko) 배터리 충전 제어 방법 및 그 전자 장치
KR20150104697A (ko) 정보 무늬 코드를 이용한 개인 전자장치의 그룹핑 방법 및 장치
KR20160077851A (ko) 전자 장치에서 메모리에 대한 보안을 제공하기 위한 장치 및 방법
US9734344B2 (en) Providing control in a multi user environment
KR20160029510A (ko) 인덱스 처리 방법 및 장치
KR102216656B1 (ko) 이미지 처리 방법 및 그 전자 장치
KR102246270B1 (ko) 전자 장치 및 그 연동 방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination