KR20180060876A - Processor and control method thereof - Google Patents

Processor and control method thereof Download PDF

Info

Publication number
KR20180060876A
KR20180060876A KR1020170012897A KR20170012897A KR20180060876A KR 20180060876 A KR20180060876 A KR 20180060876A KR 1020170012897 A KR1020170012897 A KR 1020170012897A KR 20170012897 A KR20170012897 A KR 20170012897A KR 20180060876 A KR20180060876 A KR 20180060876A
Authority
KR
South Korea
Prior art keywords
thread
program
security
access
security process
Prior art date
Application number
KR1020170012897A
Other languages
Korean (ko)
Other versions
KR102690486B1 (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 삼성전자주식회사
Publication of KR20180060876A publication Critical patent/KR20180060876A/en
Application granted granted Critical
Publication of KR102690486B1 publication Critical patent/KR102690486B1/en

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

Disclosed is a processor. The processor includes a security memory and a control unit. The control unit stores security data among data in a program as one security process in a security memory, controls execution of security process, and selectively blocks each access to a plurality of threads included in the security process based on the access right of each thread while the program is executed. Therefore, the security of an electronic device including the processor is effectively improved.

Description

프로세서 및 그 제어방법{PROCESSOR AND CONTROL METHOD THEREOF}PROCESSOR AND CONTROL METHOD THEREOF FIELD OF THE INVENTION [0001]

본 발명은 프로세서 및 그 제어방법에 관한 것으로, 보다 구체적으로 프로그램의 보안 데이터를 보호하기 위한 프로세서 및 그 제어방법에 관한 것이다.The present invention relates to a processor and a control method thereof, and more particularly, to a processor and a control method thereof for protecting security data of a program.

네트워크 기술의 발전에 따라 시스템 내에서 어플리케이션, 프로그램 등 다양한 데이터의 보안 확보의 필요성이 보다 중요해지고 있다. 전자장치의 보안을 지키기 위한 수단으로 다양한 기술이 연구되고 있다. 종래기술에 따르면, 어플리케이션 등 실행될 때 프로세서에 보안데이터를 프로세스 단위로 격리 수용하기 위한 별도의 캐시 메모리를 마련함으로써 보안이 필요한 프로세스에 직접 접근할 수 없게 되어 보안이 향상된다. With the development of network technology, the necessity of ensuring security of various data such as applications and programs in the system becomes more important. Various techniques have been studied as means for securing electronic devices. According to the related art, when an application or the like is executed, by providing a separate cache memory for isolating the security data to the processor in units of processes, the security can be prevented from being directly accessed, thereby improving security.

하지만, 프로세스는 메모리 접근 제어를 하기엔 너무 큰 단위이다. 종래기술은 프로세스 내부의 대상을 타겟으로 하는 공격에 취약하다. 예컨대, 프로세스에 포함된 복수의 스레드(thread) 중 적어도 일부가 이미 공격된 경우 다른 스레드로의 접근을 허용하는 문제가 있다.However, the process is too large a unit for memory access control. The prior art is vulnerable to attacks targeted at objects within the process. For example, there is a problem of allowing access to another thread if at least some of the plurality of threads included in the process are already attacked.

따라서 본 발명은 상술한 문제점을 해결하기 위한 것으로서, 보안이 필요한 프로세스를 스레드 단위로 보호하여 보안이 향상된 프로세서 및 그 제어방법이 제공된다.SUMMARY OF THE INVENTION Accordingly, the present invention has been made keeping in mind the above problems occurring in the prior art, and an object of the present invention is to provide a processor and a method of controlling the same.

상기한 목적을 달성하기 위하여, 프로세서에 있어서, 보안메모리; 및 프로그램이 실행되는 동안, 상기 프로그램의 데이터 중 보안데이터를 적어도 하나의 보안프로세스로서 상기 보안메모리에 저장하고, 상기 보안프로세스의 수행을 제어하고, 상기 보안프로세스에 포함된 복수의 스레드 각각에 대한 접근을 각 스레드의 접근권한에 기초하여 선택적으로 차단하는 제어부를 포함하는 프로세서가 제공된다. 이로 인하여, 스레드단위로 접근을 제어하게 되어 보안이 효율적으로 향상된다.According to an aspect of the present invention, there is provided a processor comprising: a secure memory; And storing, during execution of the program, security data in the program's data as at least one security process in the secure memory, controlling the execution of the security process, and accessing each of the plurality of threads included in the security process And a control unit for selectively blocking access based on the access right of each thread. As a result, access is controlled on a thread-by-thread basis, thereby improving security efficiently.

상기 제어부는 제1스레드의 실행 중에 상기 제1스레드가 제2스레드로 접근을 시도할 때, 상기 제2스레드의 접근권한에 기초하여 상기 제1스레드의 접근을 차단할 수 있다.The control unit may block the access of the first thread based on the access right of the second thread when the first thread attempts to access the second thread during execution of the first thread.

상기 보안데이터는 상기 보안데이터에 포함된 다른 스레드로부터의 접근이 차단되지 않는 공용 스레드를 포함할 수 있다.The security data may include a public thread whose access from other threads included in the secure data is not blocked.

상기 제어부는 상기 프로그램의 실행이 종료된 후 상기 보안메모리에서 상기 프로그램의 보안데이터를 삭제할 수 있다.The control unit may delete the security data of the program in the secure memory after execution of the program is terminated.

상기 보안메모리는 상기 프로그램의 실행 중에 상기 보안프로세스를 호출하는 제1명령에 따라 상기 복수의 스레드 중 적어도 일부를 수행하고, 수행이 완료된 결과값을 반환할 수 있다.The secure memory may perform at least some of the plurality of threads in response to a first command that invokes the secure process during execution of the program, and may return a result that is completed.

상기 제어부는 상기 프로그램의 실행 중에 상기 보안프로세스의 중단을 명령하는 제2명령에 따라 실행중인 제3스레드를 종료하며, 상기 제3스레드에서 종료된 위치를 저장할 수 있다.The control unit may terminate a third thread that is being executed according to a second instruction to interrupt the security process during execution of the program, and may store the terminated position in the third thread.

상기 제어부는 상기 프로그램의 실행 중에 상기 보안데이터에 재호출을 명령하는 제3명령에 따라 상기 제3스레드를 상기 종료된 위치부터 실행할 수 있다.The control unit may execute the third thread from the terminated position in accordance with a third instruction to re-invoke the secure data during execution of the program.

상기한 목적을 달성하기 위하여, 보안메모리를 포함하는 프로세서의 제어방법에 있어서, 프로그램이 실행되는 동안, 상기 프로그램의 데이터 중 보안데이터를 적어도 하나의 보안프로세스로서 상기 보안메모리에 저장하는 단계; 상기 보안프로세스의 수행을 제어하는 단계; 및 상기 보안프로세스에 포함된 복수의 스레드 각각에 대한 접근을 각 스레드의 접근권한에 기초하여 선택적으로 차단하는 단계를 포함하는 프로세서의 제어방법이 제공된다. 이로 인하여 스레드 단위로 접근을 제어하게 되어 보안이 더욱 향상된다.In order to achieve the above object, there is provided a control method of a processor including a secure memory, comprising the steps of: storing security data among data of the program in a secure memory as at least one security process while a program is being executed; Controlling the execution of the security process; And selectively blocking access to each of the plurality of threads included in the security process based on an access right of each thread. As a result, access is controlled on a thread-by-thread basis, which further enhances security.

제1스레드의 실행 중에 상기 제1스레드가 제2스레드로 접근을 시도할 때, 상기 제2스레드의 접근권한에 기초하여 상기 제1스레드의 접근을 차단하는 단계를 포함할 수 있다.And blocking access of the first thread based on the access right of the second thread when the first thread attempts to access the second thread during execution of the first thread.

상기 보안데이터는 상기 보안데이터에 포함된 다른 스레드로부터의 접근이 차단되지 않는 공용 스레드를 포함할 수 있다.The security data may include a public thread whose access from other threads included in the secure data is not blocked.

상기 프로그램의 실행이 종료된 후 상기 보안메모리에서 상기 프로그램의 보안데이터를 삭제하는 단계를 포함할 수 있다.And deleting the security data of the program from the secure memory after execution of the program is terminated.

상기 보안프로세스의 수행을 제어하는 단계는, 상기 프로그램의 실행 중에 상기 보안프로세스를 호출하는 제1명령에 따라 상기 복수의 스레드 중 적어도 일부를 수행하는 단계; 및 수행이 완료된 결과값을 반환하는 단계를 포함할 수 있다.Wherein controlling the execution of the security process comprises: performing at least some of the plurality of threads in accordance with a first instruction to invoke the security process during execution of the program; And returning the result value of which execution is completed.

상기 보안프로세스의 수행을 제어하는 단계는, 상기 프로그램의 실행 중에 상기 보안프로세스의 중단을 명령하는 제2명령에 따라 실행중인 제3스레드를 종료하는 단계; 및 상기 제3스레드에서 종료된 위치를 저장하는 단계를 포함할 수 있다.Wherein the step of controlling the execution of the security process comprises the steps of: terminating a third thread being executed according to a second instruction for commanding the interruption of the security process during execution of the program; And storing the terminated position in the third thread.

상기 보안프로세스의 수행을 제어하는 단계는, 상기 프로그램의 실행 중에 상기 보안데이터에 재호출을 명령하는 제3명령에 따라 상기 제3스레드를 상기 종료된 위치부터 실행하는 단계를 포함할 수 있다.The step of controlling the execution of the security process may include executing the third thread from the terminated position in accordance with a third instruction to re-invoke the secure data during execution of the program.

상기한 바와 같이, 본 발명에 의하면 보안이 필요한 프로세스가 스레드 단위로 보호됨으로써 보안이 향상된다.As described above, according to the present invention, a process requiring security is protected on a per-thread basis, thereby improving security.

도 1은 본 발명의 일 실시예에 따른 전자장치를 도시한다.
도 2는 본 발명의 일 실시예에 따른 전자장치의 블록도를 도시한다.
도 3은 본 발명의 일 실시예에 따른 프로세서의 블록도를 도시한다.
도 4는 본 발명의 일 실시예에 따른 프로세서의 동작을 도시한다.
도 5는 본 발명의 일 실시예에 따른 프로세서의 프로세스로의 접근을 차단하는 동작을 도시한다.
도 6은 본 발명의 일 실시예에 따른 프로세서의 스레드로의 접근을 차단하는 동작을 도시한다.
도 7은 본 발명의 일 실시예에 따른 프로세서의 공유스레드로의 접근을 허용하는 동작을 도시한다.
도 8은 본 발명의 다른 일 실시예에 따른 SGX를 이용한 프로세서의 일 예를 도시한다.
도 9는 본 발명의 일 실시예에 따른 프로세서의 제어흐름도를 도시한다.
1 shows an electronic device according to an embodiment of the present invention.
Figure 2 shows a block diagram of an electronic device according to an embodiment of the invention.
Figure 3 shows a block diagram of a processor in accordance with an embodiment of the present invention.
Figure 4 illustrates the operation of a processor in accordance with an embodiment of the present invention.
5 illustrates an operation for blocking access to a process of a processor according to an embodiment of the present invention.
6 illustrates an operation for blocking access to a thread of a processor according to an embodiment of the present invention.
Figure 7 illustrates an operation that allows access to a shared thread of a processor in accordance with an embodiment of the invention.
FIG. 8 illustrates an example of a processor using an SGX according to another embodiment of the present invention.
9 shows a control flow diagram of a processor according to an embodiment of the present invention.

이하에서는 첨부도면을 참조하여 본 발명에 따른 실시예들에 관해 상세히 설명한다. 이하 실시예들의 설명에서는 첨부된 도면들에 기재된 사항들을 참조하는 바, 각 도면에서 제시된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 구성요소를 나타낸다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.

만일, 실시예에서 제1구성요소, 제2구성요소 등과 같이 서수를 포함하는 용어가 있다면, 이러한 용어는 다양한 구성요소들을 설명하기 위해 사용되는 것이며, 용어는 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용되는 바, 이들 구성요소는 용어에 의해 그 의미가 한정되지 않는다. 실시예에서 사용하는 용어는 해당 실시예를 설명하기 위해 적용되는 것으로서, 본 발명의 사상을 한정하지 않는다.If the term includes an ordinal such as a first component, a second component, or the like in the embodiment, such term is used to describe various components, and the term is used to distinguish one component from another And these components are not limited in meaning by their terms. The terms used in the embodiments are applied to explain the embodiments, and do not limit the spirit of the present invention.

이하 실시예들에 의해 설명되는 본 발명의 사상은 다양한 기능을 수행하는 전자장치에 적용될 수 있다.The spirit of the present invention described by the following embodiments can be applied to an electronic device performing various functions.

도 1은 본 발명의 일 실시예에 따른 전자장치를 도시한다. 본 발명의 일 실시예에 따른 전자장치(1)는 컴퓨터, TV, 스마트폰 등으로 구현될 수 있다. 본 발명의 다른 실시예로서, 전자장치(1)는 태블릿PC, 멀티미디어 재생기, 전자액자, 디지털광고판, LFD, 디지털 사이니지, 셋탑박스, 스마트워치, 냉장고 등 네트워크 신호를 수신하고, 컨텐츠를 제공할 수 있는 다양한 장치로 구현될 수 있으나, 본 발명에 따른 전자장치(1)는 전술된 예시로 한정되지 않는다.1 shows an electronic device according to an embodiment of the present invention. The electronic device 1 according to an embodiment of the present invention can be implemented as a computer, a TV, a smart phone, or the like. As another embodiment of the present invention, the electronic device 1 may receive a network signal such as a tablet PC, a multimedia player, an electronic frame, a digital billboard, an LFD, a digital signage, a set-top box, a smart watch, a refrigerator, However, the electronic device 1 according to the present invention is not limited to the example described above.

본 실시예에서의 전자장치(1)는 저장된 프로그램 등 명령어에 따른 동작을 수행하는 프로세서(207)에 의해 제어된다. 프로세서(207)는 보안이 필요한 보안프로세스(도 3의 310 참조)를 일시적으로 저장하는 보안메모리(301)와 나머지 프로세스인 비보안프로세스(도 3의 311 참조)를 일시적으로 저장하는 비보안메모리(303)를 포함한다. 명령에 의해 프로그램이 실행될 때, 프로그램의 데이터 중 보안이 필요한 보안프로세스(310)는 보안메모리(301)로 이동되고, 보안프로세스(310)로의 접근은 차단된다. 보안프로세스(310)는 복수의 스레드(도 4의 400 참조)를 포함하며, 보안프로세스(310)내부에서 어느 하나의 스레드(400)로부터 다른 하나로의 접근 역시 차단된다. 스레드(400)단위로 접근을 제어함으로 인하여, 전자장치(1)의 보안이 향상된다.The electronic device 1 in the present embodiment is controlled by a processor 207 that performs an operation according to a command, such as a stored program. The processor 207 includes a secure memory 301 for temporarily storing a secure process (see 310 in FIG. 3) requiring security and a non-secure memory 303 for temporarily storing a non-secured process (see 311 in FIG. 3) . When a program is executed by an instruction, the security process 310 requiring security in the data of the program is moved to the security memory 301, and access to the security process 310 is blocked. The security process 310 includes a plurality of threads (see 400 in FIG. 4), and access from one thread 400 to another within the security process 310 is also blocked. By controlling access on a per thread 400 basis, the security of the electronic device 1 is improved.

도 2는 본 발명의 일 실시예에 따른 전자장치의 블록도를 도시한다. 본 발명의 일 실시예에 따른 전자장치(1)는 신호수신부(200), 신호처리부(201), 디스플레이부(203), 통신부(205), 저장부(209) 및 프로세서(207)를 포함한다. 도 2에 도시된 본 발명의 일 실시예에 따른 전자장치(1)의 구성은 하나의 예시일 뿐이며, 본 발명의 일 실시예에 따른 전자장치(1)는 도 2에 도시된 구성 외 다른 구성이 추가되거나, 혹은 도 2에 도시된 구성 중 어느 하나가 배제되어 구현될 수도 있다.Figure 2 shows a block diagram of an electronic device according to an embodiment of the invention. An electronic device 1 according to an embodiment of the present invention includes a signal receiving unit 200, a signal processing unit 201, a display unit 203, a communication unit 205, a storage unit 209, and a processor 207 . The configuration of the electronic device 1 according to the embodiment of the present invention shown in Fig. 2 is merely an example, and the electronic device 1 according to the embodiment of the present invention is different from the configuration shown in Fig. Or any of the configurations shown in FIG. 2 may be omitted.

신호수신부(200)는 외부로부터 컨텐츠의 신호를 수신한다. 컨텐츠의 신호는 방송신호를 포함한다. 신호수신부(200)는 방송신호송출장비로부터 또는 방송신호를 중계하는 중계장치로부터 방송신호를 수신하기 위한 튜너(tuner)를 구비할 수 있다. 튜너는 복수의 채널 중 사용자에 의해 선택된 어느 하나의 채널의 방송신호를 튜닝하여 수신할 수 있다. 신호수신부(200)는 서버로부터 네트워크를 통해 컨텐츠의 신호를 수신할 수도 있다.The signal receiving unit 200 receives a content signal from the outside. The signal of the content includes a broadcast signal. The signal receiving unit 200 may include a tuner for receiving a broadcast signal from a broadcast signal transmitting apparatus or a relay apparatus for relaying a broadcast signal. The tuner can receive and receive a broadcast signal of any one of a plurality of channels selected by the user. The signal receiving unit 200 may receive a signal of the content from the server through the network.

전자장치(1)는 전술한 바와 같이 핸드폰, 스마트폰, 태블릿 PC 등 모바일 장치로 구성될 수도 있다. 전자장치(1)가 모바일장치로 구성되는 경우, 전자장치(1)는 이동통신을 통해 외부 장치와 연결되기 위한 이동통신부를 추가로 구비할 수 있다. 이동통신부는 적어도 하나 이상의 안테나를 포함하는 외부 장치와 통신하며 음성통화, 영상통화, 문자메시지 또는 멀티미디어 메시지를 위한 무선신호를 송수신한다.The electronic device 1 may be configured as a mobile device such as a mobile phone, a smart phone, or a tablet PC as described above. When the electronic device 1 is configured as a mobile device, the electronic device 1 may further include a mobile communication unit for connecting with an external device through mobile communication. The mobile communication unit communicates with an external device including at least one antenna and transmits and receives radio signals for voice call, video call, text message or multimedia message.

신호처리부(201)는 신호수신부(200)를 통해 수신되는 컨텐츠의 신호에 대해 신호처리를 수행하고, 신호처리가 수행된 신호를 디스플레이부(203)에 출력함으로써 디스플레이부(203)에 출력영상이 표시되도록 한다. 신호처리부(201)가 수행하는 신호처리 프로세스는, 예를 들면, 영상 및 오디오를 포함하는 컨텐츠 신호를 영상, 오디오 부가데이터의 각 하위스트림으로 구분하는 디멀티플렉싱(demultiplexing), 인터레이스(interace) 방식의 영상신호를 프로그레시브(progressive) 방식으로 변환하는 디인터레이싱(de-interlacing), 영상신호의 해상도를 조정하는 스케일링(scaling), 영상 화질 개선을 위한 노이즈 감소(noise reduction), 디테일 강화(detail enhancement), 프레임 리프레시 레이트(frame refresh rate) 변환 등을 포함할 수 있다.The signal processing unit 201 performs signal processing on the signal of the content received through the signal receiving unit 200 and outputs the processed signal to the display unit 203, Display. The signal processing process performed by the signal processing unit 201 may include demultiplexing for separating a content signal including video and audio into each lower stream of video and audio additional data, De-interlacing for converting a video signal into a progressive mode, scaling for adjusting a resolution of an image signal, noise reduction for improving image quality, detail enhancement, A frame refresh rate conversion, and the like.

디스플레이부(203)는 신호처리부(201)에서 처리된 신호에 기초하여 컨텐츠의 영상을 표시한다. 디스플레이부(203)의 구현방식은 한정되지 않으며, 예를 들면 액정(liquid crystal), 플라즈마(plasma), 발광 다이오드(light-emitting diode), 유기발광 다이오드(organic light-emitting diode), 면전도 전자총(surface-conduction electron-emitter), 탄소 나노 튜브(carbon nano-tube), 나노 크리스탈(nano-crystal) 등의 다양한 디스플레이 방식으로 구현될 수 있다.The display unit 203 displays an image of the content on the basis of the signal processed by the signal processing unit 201. The method of implementing the display unit 203 is not limited, and examples thereof include a liquid crystal, a plasma, a light-emitting diode, an organic light-emitting diode, such as surface-conduction electron-emitter, carbon nano-tube, and nano-crystal.

디스플레이부(203)는 액정 방식인 경우에, 액정 디스플레이 패널과 액정 디스플레이 패널에 광을 공급하는 백라이트유닛과, 액정 디스플레이 패널을 구동시키는 패널구동기판 등을 포함한다. 디스플레이부(203)는 백라이트유닛없이, 자발광소자인 OLED패널로 구현될 수도 있다.The display unit 203 includes a backlight unit for supplying light to the liquid crystal display panel and the liquid crystal display panel, and a panel drive substrate for driving the liquid crystal display panel. The display unit 203 may be implemented as an OLED panel, which is a self-luminous element, without a backlight unit.

통신부(205)는 유선통신을 위한 접속부를 포함하며, 접속부는 HDMI(high definition multimedia interface), HDMI-CEC(consumer electronics control), USB, 컴포넌트(component) 등의 규격에 따른 신호/데이터를 송/수신할 수 있으며, 이들 각각의 규격에 대응하는 적어도 하나 이상의 커넥터 또는 단자를 포함한다. 통신부(205)는 유선 LAN(local area network)을 통해 복수의 서버들과 유선 통신을 수행할 수 있다.The communication unit 205 includes a connection unit for wired communication and the connection unit transmits / receives signals / data conforming to standards such as HDMI (High Definition Multimedia Interface), HDMI-CEC (consumer electronics control), USB, And includes at least one connector or terminal corresponding to each of these specifications. The communication unit 205 can perform wired communication with a plurality of servers through a wired LAN (local area network).

통신부(205)는 유선 접속을 위한 커넥터 또는 단자를 포함하는 접속부 이외에도 다양한 다른 통신 방식으로 구현될 수 있다. 예컨대, 통신부(205)는 무선 LAN을 통해 무선 통신 또는 무선 근거리 통신 등을 수행할 수 있다. 외부 장치와 무선 통신을 수행하기 위해 RF(radio frequency)신호를 송수신하는 RF회로를 포함할 수 있으며, Wi-fi, 블루투스, 지그비(Zigbee), UWM(Ultra-Wide Band), Wireless USB, NFC(Near Field Communication), 적외선 통신(IrDA, infrared data association) 중 하나 이상의 통신을 수행하도록 구성될 수 있다.The communication unit 205 may be implemented by various other communication methods in addition to the connection unit including the connector or terminal for wired connection. For example, the communication unit 205 may perform wireless communication, wireless local area communication, or the like through a wireless LAN. And may include an RF circuit for transmitting and receiving a radio frequency (RF) signal in order to perform wireless communication with an external device. The RF circuit may include a Wi-fi, a Bluetooth, a Zigbee, an Ultra-Wide Band (UWM) Near Field Communication, Near Field Communication (IrDA), and infrared data association (IrDA).

저장부(209)는 전자장치(1)의 다양한 데이터를 저장하도록 구성된다. 본 실시예에서의 저장부(209)는 플래쉬 메모리(flash memory), EPROM 또는 EEPROM 등과 같은 비휘발성 메모리로 구성된다.The storage unit 209 is configured to store various data of the electronic device 1. [ The storage unit 209 in this embodiment is constituted by a nonvolatile memory such as a flash memory, EPROM or EEPROM.

프로세서(207)는 전자장치(1)의 제반 구성들이 동작하기 위한 제어를 수행한다. 프로세서(207)는 설치된 프로그램이 시작될 때 적어도 일부가 로드되는 휘발성의 메모리를 포함한다. 메모리는 프로그램(305)의 보안데이터(302)가 로드되는 보안메모리(301)와 비보안데이터(304)가 로드되는 비보안메모리(303)를 포함하며, 각각은 별도의 하드웨어로 구성된다. 프로세서(207)는 또한 보안메모리(301)와 비보안메모리(303)의 동작을 제어하는 마이크로프로세서, CPU(central processing unit) 등 서브프로세서들을 포함하는 접근제어부(300)를 포함할 수 있다. The processor 207 performs control for operating all the components of the electronic device 1. [ The processor 207 includes volatile memory at least partially loaded when the installed program is started. The memory includes a security memory 301 in which the security data 302 of the program 305 is loaded and a non-secure memory 303 in which the non-security data 304 is loaded, each of which is configured with separate hardware. The processor 207 may also include an access control unit 300 including subprocessors, such as a microprocessor, a central processing unit (CPU), and the like, for controlling the operation of the secure memory 301 and the non-secure memory 303.

프로세서(207)를 동작하기 위한 제어프로그램은, BIOS, 디바이스드라이버, 운영체계, 펌웨어, 플랫폼 및 응용프로그램(어플리케이션) 중 적어도 하나의 형태로 구현되는 프로그램(들)을 포함할 수 있다. 하나의 실시예로서, 응용프로그램은, 전자장치장치(1)의 제조 시에 전자장치(1)에 미리 설치 또는 저장되거나, 혹은 추후 사용 시에 외부로부터 응용프로그램의 데이터를 수신하여 수신된 데이터에 기초하여 전자장치(1)에 설치될 수 있다. 응용프로그램의 데이터는, 예컨대, 어플리케이션 마켓과 같은 외부 서버로부터 전자장치(1)로 다운로드 될 수도 있다.The control program for operating the processor 207 may include program (s) implemented in the form of at least one of a BIOS, a device driver, an operating system, firmware, a platform and an application program. In one embodiment, the application program is installed or stored in the electronic device 1 at the time of manufacture of the electronic device 1, or receives data of the application program from the outside at the time of use, And can be installed in the electronic device 1 on the basis of this. The data of the application program may be downloaded to the electronic device 1 from an external server, for example, an application market.

일 실시예로서, 프로세서(207)는 프로그램이 실행될 때, 프로그램(도 3의 305 참조)의 보안데이터(302)를 보안메모리(301)에 저장하여 로드한다. 프로그램의 실행에 따라 보안데이터(302)가 필요할 때는 콜게이트(도 4의 403 참조)를 통해 호출 및 리턴을 하여 보안프로세스(310)를 수행한다. 프로세서(207)는 보안프로세스(310)뿐 아니라, 보안프로세스(310)의 각 스레드(도 4의 400 참조)들에 대한 접근을 차단한다. In one embodiment, when the program is executed, the processor 207 stores the security data 302 of the program (see 305 in FIG. 3) in the security memory 301 and loads the security data. When the security data 302 is needed according to the execution of the program, the secure process 310 is performed by calling and returning through the call gate (see 403 in FIG. 4). The processor 207 blocks access to each thread (see 400 in Figure 4) of the security process 310 as well as the security process 310. [

이하, 도면을 통해 프로세서(207)의 동작에 대해서 자세히 설명한다.Hereinafter, the operation of the processor 207 will be described in detail with reference to the drawings.

도 3은 본 발명의 일 실시예에 따른 프로세서의 블록도를 도시한다. 프로세서(207)는 보안메모리(301), 비보안메모리(303) 및 접근제어부(300)를 포함한다. 보안메모리(301)는 별도의 하드웨어로 구성된다. 프로그램(305)이 시작될 때, 프로세서(207)는 저장부(209)로부터 보안데이터(302)를 보안메모리(301)에 로드하고, 비보안데이터(304)를 비보안메모리(303)에 로드한다. 보안메모리(301)에 로드된 보안데이터(302)는 적어도 하나 이상의 보안프로세스(310)를 생성하고, 비보안메모리(303)에 로드된 비보안데이터(304)는 적어도 하나 이상의 비보안프로세스(311)를 생성한다. 접근제어부(300)는 외부 및 다른 보안프로세스(310)로부터 보안프로세스(310)로의 접근을 차단한다.Figure 3 shows a block diagram of a processor in accordance with an embodiment of the present invention. The processor 207 includes a secure memory 301, a non-secure memory 303, and an access control unit 300. The security memory 301 is composed of separate hardware. When the program 305 is started, the processor 207 loads the secure data 302 from the storage unit 209 into the secure memory 301 and loads the non-secured data 304 into the non-secured memory 303. [ The secure data 302 loaded into the secure memory 301 creates at least one security process 310 and the insecure data 304 loaded into the insecure memory 303 creates at least one non- do. The access control unit 300 blocks access from the external and other security processes 310 to the security process 310. [

프로그램(305)의 실행이 종료되면, 프로세서(207)는 보안메모리(301)와 비보안메모리(303)에 저장되고 로드된 데이터를 모두 삭제한다. When the execution of the program 305 ends, the processor 207 deletes all the data stored and loaded in the secure memory 301 and the non-secure memory 303. [

도 4는 본 발명의 일 실시예에 따른 프로세서의 동작을 도시한다. 프로그램(305)의 실행은 일례로서 비보안메모리(303)에서 시작된다. 비보안프로세스(311)는 복수의 스레드를 포함한다. 비보안프로세스(311)의 각 스레드(401)를 순차적으로 실행함으로써 비보안프로세스(311)가 수행된다. 스레드(401)의 실행 중에 콜게이트(403)를 통해 보안프로세스(310)가 호출한다. 콜게이트(403)는 보안프로세스(310)에 접근할 수 있는 권한이 있는 구성으로, 비보안프로세스(311)로부터 호출데이터를 수신하여 보안프로세스(310)로 전달하고, 보안프로세스(310)로부터 리턴값을 수신하면 비보안프로세스(311)로 전달하는 역할을 수행한다. 보안메모리(301)는 콜게이트(403)를 통해 호출되는 명령이 수신되면, 호출된 명령에 따라 보안프로세스(310)를 수행한다. 보안프로세스(310)는 포함된 복수의 스레드(400)를 순차적으로 실행함으로써 수행된다. 보안프로세스(310)의 수행이 완료되거나, 종료를 명령하는 명령이 수신됨에 따라 보안프로세스(310)의 수행을 종료하고, 결과값을 콜게이트(403)로 리턴한다. 비보안메모리(303)는 콜게이트(403)로부터 수신된 결과값을 이용하여 비보안프로세스(311)의 수행을 완료한다.Figure 4 illustrates the operation of a processor in accordance with an embodiment of the present invention. Execution of the program 305 starts in the non-secure memory 303 as an example. The non-secure process 311 includes a plurality of threads. The non-secured process 311 is executed by sequentially executing each thread 401 of the non-secured process 311. [ The security process 310 calls through the call gate 403 during the execution of the thread 401. The call gate 403 receives the call data from the insecure process 311 and transfers it to the security process 310 with a configuration that is authorized to access the security process 310. The call gate 403 receives the call data from the security process 310, Secure process 311. The non-secured process 311 is a non-secured process. The secure memory 301 performs the security process 310 in response to the invoked command when an invoked command is received via the call gate 403. The security process 310 is performed by sequentially executing a plurality of threads 400 included. Terminates the execution of the security process 310 as soon as the execution of the security process 310 is completed or an instruction to terminate the termination is received and returns the result to the call gate 403. [ The non-secure memory 303 completes the execution of the non-secure process 311 using the result value received from the call gate 403.

보안프로세스(310)의 수행이 완료되기 전 명령에 의해 정지되는 경우, 보안메모리(301)는 수행이 종료된 스레드(400)의 위치를 기억한다. 보안메모리(301)는 다시 호출에 의해 보안프로세스(310)가 시작될 때, 수행이 종료된 시점부터 수행을 계속하도록 구성된다.If the security process 310 is stopped by an instruction before the execution of the security process 310 is completed, the security memory 301 stores the position of the thread 400 that has been executed. The security memory 301 is configured to continue execution from the point of time when execution of the security process 310 is started by calling again.

도 5는 본 발명의 일 실시예에 따른 보안프로세스로의 접근을 차단하는 동작을 도시한다.5 illustrates an operation for blocking access to a security process according to an embodiment of the present invention.

접근제어부(300)는 콜게이트(403)를 통해 보안프로세스(310)를 호출하는 것이 아닌 보안프로세스(310)의 데이터의 복사 및 변경 등의 직접적인 접근을 차단한다. 차단되는 보안프로세스(310)로의 접근은 통신부(205)를 통해 전자장치(1) 외부로부터의 접근, 프로세서(207) 외부로부터의 접근, 비보안메모리(303)로부터의 접근 및 복수의 보안프로세스(310) 중 어느 하나로부터 다른 하나로의 접근을 포함한다. 저장부(209)는 보안프로세스(310)로의 접근권한에 대한 정보를 저장할 수 있다. 접근제어부(300)는 저장부(209)에 저장된 보안프로세스(310)로의 접근권한에 기초하여 접근권한이 없는 접근을 모두 차단한다. The access control unit 300 does not call the security process 310 through the call gate 403 but blocks direct access such as copying and changing of the data of the security process 310. [ Access to the blocked security process 310 is controlled by access from outside the electronic device 1 through the communication unit 205, access from outside the processor 207, access from the insecure memory 303 and multiple security processes 310 ≪ / RTI > from one to another. The storage unit 209 may store information on access rights to the security process 310. [ The access control unit 300 blocks all unauthorized access based on the access right to the security process 310 stored in the storage unit 209. [

도 6은 본 발명의 일 실시예에 따른 프로세서의 스레드로의 접근을 차단하는 동작을 도시한다. 본 발명의 일 실시예에 따른 접근제어부(300)는 보안프로세스(310)로의 접근을 차단할 뿐 아니라, 보안프로세스(310)에 포함된 스레드(600, 601)각각으로의 접근 또한 차단한다. 차단되는 보안프로세스(310)의 어느 하나의 스레드(601)로의 접근은 통신부(205)를 통해 전자장치(1) 외부로부터의 접근, 프로세서(207) 외부로부터의 접근, 비보안메모리(303)로부터의 접근, 다른 보안프로세스(310)로부터의 접근 및 실행중인 보안프로세스(310)에 포함된 다른 스레드(600)로부터의 접근을 포함한다. 저장부(209)는 각 스레드(600, 601)로의 접근권한에 대한 정보를 저장할 수 있다. 접근제어부(300)는 저장부(209)에 저장된 스레드(600, 601)로의 접근권한에 기초하여 접근권한이 없는 접근을 모두 차단한다.6 illustrates an operation for blocking access to a thread of a processor according to an embodiment of the present invention. The access control unit 300 according to an embodiment of the present invention not only blocks access to the security process 310 but also blocks access to each of the threads 600 and 601 included in the security process 310. [ Access to any one of the threads 601 of the blocked security process 310 may be accessed from outside the electronic device 1 through the communication unit 205, from outside the processor 207, Access from another security process 310, and access from another thread 600 included in the executing security process 310. [ The storage unit 209 may store information on access rights to the respective threads 600 and 601. The access control unit 300 blocks all accesses without access right based on the access right to the threads 600 and 601 stored in the storage unit 209. [

도 7은 본 발명의 일 실시예에 따른 프로세서의 공유스레드로의 접근을 허용하는 동작을 도시한다. 보안프로세스(310)는 다른 스레드(700)로부터 접근이 허용되는 공유스레드(701)를 포함한다. 접근제어부(300)는 외부로부터 공유스레드(701)로의 접근은 차단하고, 같은 보안프로세스(310)에 속한 스레드(700)로부터의 접근은 허용한다. Figure 7 illustrates an operation that allows access to a shared thread of a processor in accordance with an embodiment of the invention. The security process 310 includes a shared thread 701 that is allowed access from another thread 700. The access control unit 300 blocks access from the outside to the shared thread 701 and allows access from the thread 700 belonging to the same security process 310. [

도 8은 본 발명의 다른 일 실시예에 따른 SGX를 이용한 프로세서의 일 예를 도시한다.FIG. 8 illustrates an example of a processor using an SGX according to another embodiment of the present invention.

본 발명의 다른 일 실시예에 따른 프로세서(207)는 SGX(Software Guard Extension)에 따른 프로세서(207)를 포함한다. SGX는 어플리케이션 등의 보안이 필요한 보안프로세스(도 3의 310 참조)에게 인클레이브(enclave)(810)라는 공간을 제공하여 안전하게 실행되도록 한다. 본 발명의 일 실시예에 따른 프로세서(207)는 스레드(811, 813)의 접근권한를 알 수 있는 ETCM(Enclave Thread Cache Map)(805)와 스레드(811, 813)로의 접근을 제어하는 TAC(thread access controller)(809)를 추가로 포함한다. 이하, 본 발명의 일 실시예에 따른 프로세서(207)의 구성요소를 설명한다.The processor 207 according to another embodiment of the present invention includes a processor 207 according to a Software Guard Extension (SGX). The SGX provides a space called an enclave 810 to a secure process (see 310 in FIG. 3) that requires security, such as an application, to be executed securely. The processor 207 according to an embodiment of the present invention includes an Enclave Thread Cache Map (ETCM) 805 that can know the access right of the threads 811 and 813 and a TAC access controller (809). Hereinafter, components of the processor 207 according to an embodiment of the present invention will be described.

SGX CPU(800)는 프로세서(207)의 제어부로서, 보호영역을 생성 및 관리하며, 실행중인 인클레이브(810)의 컨텍스트정보(CR_ACTIVE_SECS)와 실행중인 스레드(811, 813) 컨텍스트정보(CR_TCS_PH)를 레지스터에 저장한다. The SGX CPU 800 is a control unit of the processor 207. The SGX CPU 800 generates and manages a protection area and updates the context information CR_ACTIVE_SECS of the executing enclosure 810 and the context information CR_TCS_PH of the executing threads 811 and 813 And stores it in a register.

EPC(enclave page cache)(803)는 페이지캐시로서 인클레이브(810)를 넣어 실행하는 별도의 하드웨어다. 어플리케이션이 실행될 때 SGX CPU(800)는 EPC(803)내에 적어도 하나 이상의 인클레이브(810)를 생성한다. 인클레이브(810)는 복수의 스레드(811, 813)를 포함할 수 있다.An encapsulated page cache (EPC) 803 is a separate hardware for embedding an enclosure 810 as a page cache. When the application is executed, the SGX CPU 800 creates at least one enclosure 810 in the EPC 803. [ The enclosure 810 may include a plurality of threads 811, 813.

EPCM(enclave page cache map)(805)은 보안구조로서, 페이지캐시의 컨텐츠를 트래킹하도록 프로세서(207)에 의해 사용된다. EPCM(805)은 엔클레이브(810)로의 접근권한(enclavesecs)에 대한 정보를 포함하고 있다.An encapsulated page cache map (EPCM) 805 is a security architecture and is used by the processor 207 to track the contents of the page cache. The EPCM 805 contains information about enclavesecs to the enclave 810.

MMU(memory management unit)(801)는 현재 실행중인 인클레이브(810)의 컨텍스트정보와 접근권한에 기초하여 인클레이브(810)로의 권한 없는 접근을 제어한다.A memory management unit (MMU) 801 controls unauthorized access to the enclosure 810 based on context information and access rights of the currently executing inclave 810.

ETCM(807)은 스레드(811, 813)로의 접근권한에 대한 정보(enclavetcs)를 포함한다.The ETCM 807 contains information (enclavetcs) about the access rights to the threads 811, 813.

TAC(809)는 실행중인 스레드(811)의 컨텍스트정보와 접근권한에 기초하여 다른 스레드(813)로의 권한 없는 접근을 제어한다. 본 실시예에서, TAC(809)는 실행중인 스레드(811)가 같은 인클레이브(810)에 포함된 다른 스레드(813)의 데이터를 수정, 복사 등을 위한 접근을 차단한다.The TAC 809 controls unauthorized access to the other thread 813 based on the context information and access rights of the executing thread 811. In this embodiment, the TAC 809 blocks access for modifying, copying, etc. the data of the other thread 813 included in the same enclosure 810 by the executing thread 811.

도 9는 본 발명의 일 실시예에 따른 프로세서의 제어흐름도를 도시한다.9 shows a control flow diagram of a processor according to an embodiment of the present invention.

먼저, 동작 S900에서, 프로세서(207)는 프로그램이 실행되는 동안, 프로그램의 데이터 중 보안데이터를 적어도 하나의 보안프로세스(310)로서 보안메모리(301)에 저장한다. 이어서, 동작 S901에서, 보안프로세스(310)의 수행이 제어된다. 마지막으로, 동작 S902에서, 접근제어부(300)는 보안프로세스(310)에 포함된 복수의 스레드(400) 각각에 대한 접근을 각 스레드(400)의 접근권한에 기초하여 선택적으로 차단한다.First, in operation S900, the processor 207 stores security data of the program's data in the security memory 301 as at least one security process 310 while the program is being executed. Subsequently, in operation S901, the execution of the security process 310 is controlled. Finally, in operation S902, the access control unit 300 selectively blocks access to each of the plurality of threads 400 included in the security process 310 based on the access right of each thread 400. [

1 - 전자장치
207 - 프로세서
300 - 접근제어부
301 - 보안메모리
303 - 비보안메모리
1 - electronic device
207 - Processor
300 - access control unit
301 - Secure memory
303 - Non-secure memory

Claims (14)

프로세서에 있어서,
보안메모리; 및
프로그램이 실행되는 동안, 상기 프로그램의 데이터 중 보안데이터를 적어도 하나의 보안프로세스로서 상기 보안메모리에 저장하고, 상기 보안프로세스의 수행을 제어하고, 상기 보안프로세스에 포함된 복수의 스레드 각각에 대한 접근을 각 스레드의 접근권한에 기초하여 선택적으로 차단하는 제어부를 포함하는 프로세서.
A processor comprising:
Secure memory; And
The method comprising: storing, during execution of a program, security data in the program's data as at least one security process in the secure memory, controlling the execution of the security process, and accessing each of a plurality of threads included in the security process And for selectively blocking based on access rights of each thread.
제 1항에 있어서,
상기 제어부는 제1스레드의 실행 중에 상기 제1스레드가 제2스레드로 접근을 시도할 때, 상기 제2스레드의 접근권한에 기초하여 상기 제1스레드의 접근을 차단하는 프로세서.
The method according to claim 1,
Wherein the controller blocks access of the first thread based on an access right of the second thread when the first thread attempts to access the second thread during execution of the first thread.
제 2항에 있어서,
상기 보안데이터는 상기 보안데이터에 포함된 다른 스레드로부터의 접근이 차단되지 않는 공용 스레드를 포함하는 프로세서.
3. The method of claim 2,
Wherein the secure data comprises a public thread whose access from other threads contained in the secure data is not blocked.
제 1항에 있어서,
상기 제어부는 상기 프로그램의 실행이 종료된 후 상기 보안메모리에서 상기 프로그램의 보안데이터를 삭제하는 프로세서.
The method according to claim 1,
Wherein the control unit deletes the security data of the program from the secure memory after execution of the program is terminated.
제 1항에 있어서,
상기 보안메모리는 상기 프로그램의 실행 중에 상기 보안프로세스를 호출하는 제1명령에 따라 상기 복수의 스레드 중 적어도 일부를 수행하고, 수행이 완료된 결과값을 반환하는 프로세서.
The method according to claim 1,
Wherein the secure memory performs at least some of the plurality of threads in accordance with a first command that invokes the security process during execution of the program, and returns a result that is completed.
제 1항에 있어서,
상기 제어부는 상기 프로그램의 실행 중에 상기 보안프로세스의 중단을 명령하는 제2명령에 따라 실행중인 제3스레드를 종료하며, 상기 제3스레드에서 종료된 위치를 저장하는 프로세서.
The method according to claim 1,
Wherein the control unit terminates a third thread that is being executed according to a second instruction to interrupt the security process during execution of the program, and stores the terminated position in the third thread.
제 6항에 있어서,
상기 제어부는 상기 프로그램의 실행 중에 상기 보안데이터에 재호출을 명령하는 제3명령에 따라 상기 제3스레드를 상기 종료된 위치부터 실행하는 프로세서.
The method according to claim 6,
Wherein the control unit executes the third thread from the terminated position in accordance with a third instruction to re-invoke the secure data during execution of the program.
보안메모리를 포함하는 프로세서의 제어방법에 있어서,
프로그램이 실행되는 동안, 상기 프로그램의 데이터 중 보안데이터를 적어도 하나의 보안프로세스로서 상기 보안메모리에 저장하는 단계;
상기 보안프로세스의 수행을 제어하는 단계; 및
상기 보안프로세스에 포함된 복수의 스레드 각각에 대한 접근을 각 스레드의 접근권한에 기초하여 선택적으로 차단하는 단계를 포함하는 프로세서의 제어방법.
A control method of a processor including a secure memory,
Storing security data among data of the program in the secure memory as at least one security process while the program is being executed;
Controlling the execution of the security process; And
And selectively blocking access to each of the plurality of threads included in the security process based on access rights of each thread.
제 8항에 있어서,
제1스레드의 실행 중에 상기 제1스레드가 제2스레드로 접근을 시도할 때, 상기 제2스레드의 접근권한에 기초하여 상기 제1스레드의 접근을 차단하는 단계를 포함하는 프로세서의 제어방법.
9. The method of claim 8,
And blocking access of the first thread based on the access right of the second thread when the first thread attempts to access the second thread during execution of the first thread.
제 9항에 있어서,
상기 보안데이터는 상기 보안데이터에 포함된 다른 스레드로부터의 접근이 차단되지 않는 공용 스레드를 포함하는 프로세서의 제어방법.
10. The method of claim 9,
Wherein the secure data includes a public thread whose access from other threads included in the secure data is not blocked.
제 8항에 있어서,
상기 프로그램의 실행이 종료된 후 상기 보안메모리에서 상기 프로그램의 보안데이터를 삭제하는 단계를 포함하는 프로세서의 제어방법.
9. The method of claim 8,
And deleting the security data of the program from the secure memory after execution of the program is terminated.
제 8항에 있어서,
상기 보안프로세스의 수행을 제어하는 단계는,
상기 프로그램의 실행 중에 상기 보안프로세스를 호출하는 제1명령에 따라 상기 복수의 스레드 중 적어도 일부를 수행하는 단계; 및
수행이 완료된 결과값을 반환하는 단계를 포함하는 프로세서의 제어방법.
9. The method of claim 8,
Wherein the step of controlling the execution of the security process comprises:
Performing at least a portion of the plurality of threads in accordance with a first instruction to invoke the security process during execution of the program; And
And returning a result value of which execution is completed.
제 8항에 있어서,
상기 보안프로세스의 수행을 제어하는 단계는,
상기 프로그램의 실행 중에 상기 보안프로세스의 중단을 명령하는 제2명령에 따라 실행중인 제3스레드를 종료하는 단계; 및
상기 제3스레드에서 종료된 위치를 저장하는 단계를 포함하는 프로세서의 제어방법.
9. The method of claim 8,
Wherein the step of controlling the execution of the security process comprises:
Terminating a third thread being executed in accordance with a second instruction to interrupt the security process during execution of the program; And
And storing the terminated position in the third thread.
제 13항에 있어서,
상기 보안프로세스의 수행을 제어하는 단계는,
상기 프로그램의 실행 중에 상기 보안데이터에 재호출을 명령하는 제3명령에 따라 상기 제3스레드를 상기 종료된 위치부터 실행하는 단계를 포함하는 프로세서의 제어방법.
14. The method of claim 13,
Wherein the step of controlling the execution of the security process comprises:
And executing the third thread from the terminated position in accordance with a third instruction to re-invoke the secure data during execution of the program.
KR1020170012897A 2016-11-28 2017-01-26 Processor and control method thereof KR102690486B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662426726P 2016-11-28 2016-11-28
US62/426,726 2016-11-28

Publications (2)

Publication Number Publication Date
KR20180060876A true KR20180060876A (en) 2018-06-07
KR102690486B1 KR102690486B1 (en) 2024-08-01

Family

ID=62622040

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170012897A KR102690486B1 (en) 2016-11-28 2017-01-26 Processor and control method thereof

Country Status (1)

Country Link
KR (1) KR102690486B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210043644A (en) * 2018-10-05 2021-04-21 구글 엘엘씨 Enclave fork support

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020035582A (en) * 1999-09-03 2002-05-11 션 엘. 맥클린톡 Resource access control system
KR20090010871A (en) * 2007-07-24 2009-01-30 삼성전자주식회사 Method and apparatus for managing access privileges in a cldc osgi environment
JP2011526387A (en) * 2008-06-27 2011-10-06 マイクロソフト コーポレーション Granting least privilege access for computing processes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020035582A (en) * 1999-09-03 2002-05-11 션 엘. 맥클린톡 Resource access control system
KR20090010871A (en) * 2007-07-24 2009-01-30 삼성전자주식회사 Method and apparatus for managing access privileges in a cldc osgi environment
JP2011526387A (en) * 2008-06-27 2011-10-06 マイクロソフト コーポレーション Granting least privilege access for computing processes

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210043644A (en) * 2018-10-05 2021-04-21 구글 엘엘씨 Enclave fork support
US11714912B2 (en) 2018-10-05 2023-08-01 Google Llc Enclave fork support

Also Published As

Publication number Publication date
KR102690486B1 (en) 2024-08-01

Similar Documents

Publication Publication Date Title
US8225061B2 (en) Method and apparatus for protected content data processing
US10515209B2 (en) Sandboxing third party components
KR20150026786A (en) Electronic device and method for contolling power
KR101355697B1 (en) Secure provision of a digital content protection scheme
CN103455520A (en) Method and device for accessing Android database
CN109933960B (en) Service calling control method, service calling method, device and terminal
KR102100456B1 (en) Method and apparatus for drm service in an electronic device
US10212470B1 (en) System for highly predictable performance of set-top boxes using downloadable conditional access
CN104115413A (en) Method and apparatus for outputting content in portable terminal supporting secure execution environment
US20170169218A1 (en) Electronic device and method of operating the same
KR20180060876A (en) Processor and control method thereof
RU2679187C2 (en) Method, device for setting system data and terminal
KR20180052695A (en) Secure entry and exit of software modules protected by controlled encryption key management
CN111382381B (en) User data sharing method and device, mobile terminal and storage medium
US7747791B2 (en) Program access authorization of peripheral devices via a smart card
KR102569734B1 (en) Electronic apparatus and the control method thereof
KR102230862B1 (en) Image processing apparatus and control methof thereof
CN115842927B (en) Video stream safety display method and device and electronic equipment
US10846376B2 (en) Electronic apparatus and control method thereof
CN116361777A (en) Authority management method and device, storage medium and electronic equipment
EP1345417A1 (en) Method and digital television unit for operating broadcast applications
CN115277099A (en) Function security method based on Android system and related equipment
US9607178B2 (en) Protection against key tampering
CN115495396A (en) Remote control method and device
CN115220800A (en) Application program control system and method

Legal Events

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