KR20160019780A - System on chip, electronic apparatus including system on chip and operation method of system on chip - Google Patents
System on chip, electronic apparatus including system on chip and operation method of system on chip Download PDFInfo
- Publication number
- KR20160019780A KR20160019780A KR1020140104538A KR20140104538A KR20160019780A KR 20160019780 A KR20160019780 A KR 20160019780A KR 1020140104538 A KR1020140104538 A KR 1020140104538A KR 20140104538 A KR20140104538 A KR 20140104538A KR 20160019780 A KR20160019780 A KR 20160019780A
- Authority
- KR
- South Korea
- Prior art keywords
- flash memory
- chip
- security
- command
- access
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
- G06F21/79—Protecting 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 in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
Abstract
Description
본 개시는 시스템 온 칩, 시스템 온 칩을 포함하는 전자 장치 및 시스템 온 칩의 동작 방법에 관한 것으로, 플래시 메모리 시스템에 대한 다양한 보안 정책을 설정할 수 있어, 보안성을 유지 내지 증가시키면서도 효율을 향상시키는 시스템 온 칩, 시스템 온 칩을 포함하는 전자 장치 및 시스템 온 칩의 동작 방법에 관한 것이다.The present disclosure relates to a system-on-chip, an electronic device including a system-on-chip, and a method of operating a system-on-chip, and it is possible to set various security policies for the flash memory system to improve efficiency while maintaining or increasing security. System-on-a-chip, an electronic device including a system-on-chip, and a method of operating a system-on-chip.
네트워킹(networking) 또는 원격 컴퓨팅(remote computing)이 일상화되고, 전자 장치에 저장될 수 있는 데이터의 양이 증대하고 데이터의 종류가 다양해짐에 따라, 보안이 요구되는 데이터에 대한 보안을 효율적으로 수행하기 위한 방안들이 요구되고 있다. As networking or remote computing becomes commonplace, the amount of data that can be stored in electronic devices increases, and the variety of data becomes diverse, security of data requiring security is efficiently performed There is a need for measures.
본 개시는 보안성을 유지 내지 증가시키면서도 효율을 향상시키는 시스템 온 칩, 시스템 온 칩을 포함하는 전자 장치 및 시스템 온 칩의 동작 방법을 제공하는 것에 있다.The present disclosure is to provide a system-on-chip, an electronic device including a system-on-chip, and a method of operating a system-on-chip to improve efficiency while maintaining or increasing security.
본 발명의 일 실시예에 따른 시스템 온 칩(System On Chip)은, 상기 시스템 온 칩에 연결될 수 있는 외부의 플래시 메모리 시스템의 저장 영역에 대한 보안 정보를 저장하는 보안 정보 저장부; 상기 시스템 온 칩의 중앙 처리 장치가 상기 플래시 메모리 시스템으로 인가하고자 하는 명령을 모니터링(monitoring) 하여, 상기 명령에 포함된 주소를 캡쳐(captur)하는 명령 모니터링부; 상기 보안 정보에 근거하여, 상기 캡쳐된 주소에 대응되는 저장 영역에 대한 접근의 허용 여부를 결정하는 접근 결정부; 및 상기 접근 결정부에 의해 상기 캡쳐된 주소에 대응되는 저장 영역에 대한 접근이 허용된 경우, 상기 명령을 상기 플래시 메모리 시스템에 전송하는 플래시 메모리 인터페이스부를 구비하는 플래시 메모리 제어 블록을 포함한다. A system on chip according to an embodiment of the present invention includes a security information storage unit for storing security information on a storage area of an external flash memory system that can be connected to the system-on-chip; A command monitoring unit for monitoring a command to be applied to the flash memory system by the central processing unit of the system on chip and capturing an address included in the command; An access determining unit for determining whether to allow access to the storage area corresponding to the captured address based on the security information; And a flash memory control unit for transmitting the command to the flash memory system when access to the storage area corresponding to the captured address is permitted by the access determination unit.
상기 보안 정보는, 상기 저장 영역에 대응되는 LBA(Logical Block Address) 및 상기 LBA에 대응되는 영역에 대한 보안 정책을 포함할 수 있다. The security information may include an LBA (Logical Block Address) corresponding to the storage area and a security policy for an area corresponding to the LBA.
상기 보안 정책은, 상기 LBA에 대응되는 영역으로, 상기 시스템 온 칩이 보안 모드(secure mode)에서 동작하는 때에 한해 접근이 가능한지 또는 상기 시스템 온 칩이 비보안 모드(non-secure mode)에서도 접근이 가능한지를 나타낼 수 있다. The security policy is an area corresponding to the LBA, and it can be accessed only when the system-on-chip operates in a secure mode, or when the system-on-chip is accessible even in a non-secure mode Lt; / RTI >
상기 보안 정책은, 상기 LBA에 대응되는 영역으로 접근이 가능한 명령의 유형을 나타낼 수 있다. The security policy may indicate the type of command accessible to the area corresponding to the LBA.
상기 보안 정책은, 상기 LBA에 대응되는 영역에 대한 보안 레벨(secure level)을 나타낼 수 있다. The security policy may indicate a security level for an area corresponding to the LBA.
상기 명령은, SSD(Solid State Drive)로 구현되는 상기 플래시 메모리 시스템에 대응되는 포맷(format)으로 구현될 수 있다. The instruction may be implemented in a format corresponding to the flash memory system implemented with an SSD (Solid State Drive).
상기 명령은, 메모리 카드로 구현되는 상기 플래시 메모리 시스템에 대응되는 포맷(format)으로 구현될 수 있다. The instruction may be implemented in a format corresponding to the flash memory system implemented as a memory card.
상기 접근 결정부는, 상기 캡쳐된 주소가 상기 플래시 메모리 시스템의 저장 영역 중 보안 영역에 대응되는 것으로 판단된 경우, 상기 시스템 온 칩이 보안 모드로 동작하는 경우 접근을 허용하는 것으로 결정하고, 상기 시스템 온 칩이 비보안 모드로 동작하는 경우 접근을 불허하는 것으로 결정할 수 있다. Wherein the access determining unit determines that access is permitted when the system-on-chip operates in a secure mode when it is determined that the captured address corresponds to a security area in a storage area of the flash memory system, If the chip is operating in non-secure mode, it can be determined that access is denied.
상기 접근 결정부는, 상기 시스템 온 칩이 보안 모드 및 비보안 모드 중 어느 모드로 동작하는지를 나타내는 비보안 비트(NS bit)에 근거하여, 상기 시스템 온 칩의 동작 모드를 판단할 수 있다. The access determination unit may determine an operation mode of the system-on-chip based on an unsecured bit (NS bit) indicating whether the system-on-chip operates in a secure mode or an unsecured mode.
상기 시스템 온 칩은, 상기 중앙 처리 장치로부터 상기 플래시 메모리 제어 블록으로 상기 비보안 비트를 전송하는 모드 신호 전송선을 더 포함할 수 있다. The system-on-chip may further include a mode signal transmission line for transmitting the unsecure bit from the central processing unit to the flash memory control block.
상기 접근 결정부는, 상기 캡쳐된 주소가 상기 플래시 메모리 시스템의 저장 영역 중 보안 영역에 대응되는 것으로 판단된 경우, 상기 시스템 온 칩이 보안 모드로 동작하고 상기 명령이 상기 캡쳐된 주소에 대응되는 보안 영역에 대해 허용된 명령인 경우 접근을 허용하는 것으로 결정하고, 상기 시스템 온 칩이 비보안 모드로 동작하거나 상기 캡쳐된 주소에 대응되는 보안 영역에 대해 허용된 명령이 아닌 경우 접근을 불허할 수 있다. Wherein the access determination unit determines that the system-on-chip operates in a secure mode when the captured address corresponds to a security area in the storage area of the flash memory system, If the system-on-chip is operating in an unsecured mode or is not an authorized command for a secure area corresponding to the captured address, access may be denied.
상기 접근 결정부는, 상기 캡쳐된 주소가 상기 플래시 메모리 시스템의 저장 영역 중 보안 영역에 대응되는 것으로 판단된 경우, 상기 시스템 온 칩이 보안 모드로 동작하고 상기 명령이 상기 캡쳐된 주소에 대응되는 보안 영역에 대해 허용된 어플리케이션의 실행을 위한 명령인 경우 접근을 허용하는 것으로 결정하고, 상기 시스템 온 칩이 비보안 모드로 동작하거나 상기 캡쳐된 주소에 대응되는 보안 영역에 대해 허용된 어플리케이션의 실행을 위한 명령이 아닌 경우 접근을 불허하는 것으로 결정할 수 있다. Wherein the access determination unit determines that the system-on-chip operates in a secure mode when the captured address corresponds to a security area in the storage area of the flash memory system, If the command is for an execution of an allowed application for the security zone, and the command for the execution of an application permitted for the security zone in which the system-on-chip operates in an unsecured mode or corresponds to the captured address If not, you can decide not to allow access.
상기 플래시 메모리 제어 블록은, 상기 시스템 온 칩의 외부에 위치하는 메인 메모리(main memory)에 저장된 평문을 암호화한 암호문을 상기 플래시 메모리 인터페이스부로 전송하거나, 상기 플래시 메모리 시스템에 저장된 암호문을 평문으로 복호화하는 암복호화 엔진을 더 포함할 수 있다. The flash memory control block transmits a ciphertext encrypted with a plain text stored in a main memory located outside the system-on-chip to the flash memory interface or decrypts a cipher text stored in the flash memory system into a plain text And may further include an encryption / decryption engine.
상기 플래시 메모리 제어 블록은, 상기 메인 메모리에 저장된 평문을 상기 암복호화 엔진으로 전송하거나, 상기 암호화 엔진으로부터 복호화된 평문을 상기 메인 메모리로 전송하는 DMA(Dynamic Memory Access)를 더 포함할 수 있다. The flash memory control block may further include a DMA (Dynamic Memory Access) for transmitting a plain text stored in the main memory to the encryption / decryption engine or for transmitting a plain text decrypted from the encryption engine to the main memory.
상기 접근 결정부는, 상기 캡쳐된 주소에 대응되는 저장 영역에 대한 접근을 불허하는 것으로 결정한 경우, 상기 결정된 결과를 상기 암복호화 엔진 또는 상기 DMA에 전송하여 상기 암복호화 엔진 또는 상기 DMA가 상기 명령에 대한 동작을 수행하지 않도록 제어할 수 있다. Wherein the access determination unit determines that access to the storage area corresponding to the captured address is to be denied, transmits the determined result to the encryption / decryption engine or the DMA so that the encryption / decryption engine or the DMA It is possible to control not to perform the operation.
상기 시스템 온 칩은, 암 트러스트존(ARM TrustZone)의 구조로 구현될 수 있다. The system-on-chip may be implemented in a structure of an ARM TrustZone.
본 발명의 다른 실시예에 따른 시스템 온 칩(System On Chip)은, 상기 시스템 온 칩에 연결될 수 있는 외부의 플래시 메모리 시스템에 인가하고자 하는 명령을 생성하는 중앙 처리 장치; 및 상기 시스템 온 칩이 비보안 모드로 동작하고 상기 명령이 상기 플래시 메모리 시스템의 보안 영역에 대한 접근을 요구하는 명령인 경우, 상기 명령을 상기 플래시 메모리 시스템으로 인가하지 아니하는 플래시 메모리 제어 블록을 포함할 수 있다. According to another embodiment of the present invention, a system on chip includes a central processing unit for generating a command to be applied to an external flash memory system that can be connected to the system-on-chip; And a flash memory control block that does not authorize the command to the flash memory system if the system on chip is operating in an unsecured mode and the command is an instruction requiring access to a secure area of the flash memory system .
상기 시스템 온 칩은, 상기 플래시 메모리 시스템의 보안 영역에 대한 보안 정보를 저장하는 저장부를 더 포함할 수 있다. The system-on-chip may further include a storage unit for storing security information on a security area of the flash memory system.
상기 보안 정보는, 상기 저장 영역에 대응되는 LBA(Logical Block Address) 및 상기 LBA에 대응되는 영역에 대한 보안 정책을 포함할 수 있다. The security information may include an LBA (Logical Block Address) corresponding to the storage area and a security policy for an area corresponding to the LBA.
본 발명의 실시예에 따른 전자 장치는, 어플리케이션 프로세서(application processor) 및 플래시 메모리 시스템(flash memory system)을 포함하고, 상기 어플리케이션 프로세서는, 상기 플래시 메모리 시스템의 저장 영역에 대한 보안 정보를 저장하는 보안 정보 저장부; 상기 어플리케이션 프로세서의 중앙 처리 장치가 상기 플래시 메모리 시스템으로 인가하고자 하는 명령을 모니터링(monitoring) 하여, 상기 명령에 포함된 주소를 캡쳐(captur)하는 명령 모니터링부; 상기 보안 정보에 근거하여, 상기 캡쳐된 주소에 대응되는 저장 영역에 대한 접근의 허용 여부를 결정하는 접근 결정부; 및 상기 접근 결정부에 의해 상기 캡쳐된 주소에 대응되는 저장 영역에 대한 접근이 허용된 경우, 상기 명령을 상기 플래시 메모리 시스템에 전송하는 플래시 메모리 인터페이스부를 구비하는 플래시 메모리 제어 블록을 포함한다.An electronic device according to an embodiment of the present invention includes an application processor and a flash memory system, and the application processor includes a security function for storing security information on a storage area of the flash memory system, An information storage unit; A command monitoring unit for monitoring a command to be applied to the flash memory system by the central processing unit of the application processor and capturing an address included in the command; An access determining unit for determining whether to allow access to the storage area corresponding to the captured address based on the security information; And a flash memory control unit for transmitting the command to the flash memory system when access to the storage area corresponding to the captured address is permitted by the access determination unit.
본 개시의 일 실시예에 따른 시스템 온 칩, 시스템 온 칩을 포함하는 전자 장치 및 시스템 온 칩의 동작 방법에 의하면, 시스템 온 칩의 내부에서 플래시 메모리 시스템에 대한 다양한 보안 정책을 설정하고 보안 정책에 따른 차별된 제어를 수행함으로써, 보안성을 유지 내지 증가시키면서도 효율을 향상시킬 수 있는 장점이 있다. According to the system-on-chip, the electronic device including the system-on-chip, and the method of operating the system-on-chip according to an embodiment of the present disclosure, various security policies for the flash memory system are set in the system- It is possible to improve the efficiency while maintaining or increasing the security.
도 1은 본 발명의 일 실시예에 따른 시스템 온 칩을 나타내는 도면이다.
도 2는 도 1의 시스템 온 칩의 CPU(Central Processing Unit)의 일 예를 나타내는 도면이다.
도 3은 도 1의 시스템 온 칩의 동작의 일 예를 나타내는 도면이다.
도 4는 도 1의 시스템 온 칩과 전기적으로 연결될 수 있는 플래시 메모리 시스템의 일 예를 나타내는 도면이다.
도 5는 도 4의 플래시 메모리 컨트롤러의 동작을 설명하기 위한 도면이다.
도 6a, 도 6b 및 도 7은 각각, 도 1의 시스템 온 칩과 전기적으로 연결될 수 있는 플래시 메모리 시스템의 다른 예를 나타내는 도면이다.
도 8은 도 1의 플래시 메모리 제어 블록의 동작에 대한 일 예를 나타내는 도면이다.
도 9는 도 1의 시스템 온 칩에 연결될 수 있는 플래시 메모리의 각 영역에 대한 보안 설정의 일 예를 나타내는 도면이다.
도 10은 도 1의 플래시 메모리 시스템으로 인가되는 명령의 포맷(format)에 대한 일 예를 나타내는 도면이다.
도 11은 도 1의 플래시 메모리 제어 블록의 동작에 대한 다른 예를 나타내는 도면이다.
도 12 및 도 13은 각각, 본 발명의 실시예에 따른 시스템 온 칩에 연결될 수 있는 플래시 메모리의 예를 나타내는 도면이다.
도 14는 본 발명의 다른 실시예에 따른 시스템 온 칩을 나타내는 도면이다.
도 15 내지 도 17은 각각, 본 발명의 다른 실시예에 따른 플래시 메모리 제어 블록을 나타내는 도면이다.
도 18은 본 발명의 일 실시예에 따른 모바일 장치를 나타내는 도면이다.
도 19는 본 발명의 일 실시예에 따른 컴퓨팅 시스템을 나타내는 도면이다. 1 is a diagram illustrating a system on chip according to an embodiment of the present invention.
2 is a diagram showing an example of a CPU (Central Processing Unit) of the system-on-chip of FIG.
3 is a diagram showing an example of the operation of the system-on-chip of FIG.
4 is a diagram showing an example of a flash memory system that can be electrically connected to the system-on-chip of FIG.
5 is a diagram for explaining the operation of the flash memory controller of FIG.
6A, 6B, and 7 are diagrams illustrating another example of a flash memory system that can be electrically connected to the system-on-chip of FIG.
8 is a diagram showing an example of the operation of the flash memory control block of FIG.
9 is a diagram illustrating an example of security settings for each area of a flash memory that can be connected to the system-on-chip of FIG.
10 is a diagram showing an example of a format of a command applied to the flash memory system of FIG.
11 is a diagram showing another example of the operation of the flash memory control block of FIG.
12 and 13 are diagrams respectively showing an example of a flash memory that can be connected to a system-on-chip according to an embodiment of the present invention.
14 is a diagram illustrating a system on chip according to another embodiment of the present invention.
15 to 17 are diagrams respectively showing a flash memory control block according to another embodiment of the present invention.
18 is a diagram of a mobile device in accordance with an embodiment of the present invention.
Figure 19 is a diagram of a computing system in accordance with an embodiment of the present invention.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다. 이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. In order to fully understand the present invention, operational advantages of the present invention, and objects achieved by the practice of the present invention, reference should be made to the accompanying drawings and the accompanying drawings which illustrate preferred embodiments of the present invention. BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, the present invention will be described in detail with reference to the preferred embodiments of the present invention with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements.
도 1은 본 발명의 일 실시예에 따른 시스템 온 칩을 나타내는 도면이다. 도 1을 참조하면, 본 발명의 일 실시예에 따른 시스템 온 칩(100)은 중앙 처리부(Central Processing Unit(이하 CPU), 110), 메인 메모리 제어 블록(main memory control block, 120), 플래시 메모리 제어 블록(flash memory control block, 130), 다수의 IP(Intellectual Property, 140) 및 버스(bus, 150)를 포함한다. 도 1의 시스템 온 칩(100)은 암 트러스트존(ARM Trustzone)의 아키텍쳐(architecture)로 구현될 수 있다. 1 is a diagram illustrating a system on chip according to an embodiment of the present invention. Referring to FIG. 1, a system-on-
CPU(110)는 운영 체제(Operating System)를 구동하여, 어플리케이션(application)의 수행 등을 위해 시스템 온 칩(100)의 동작을 제어한다. 운영 체제는 시스템 온 칩(100) 또는 시스템 온 칩(100)이 포함된 전자 장치(미도시)가 턴-온 되는 때에, 시스템 온 칩(100)의 외부의 플래시 메모리 시스템(300)으로부터 시스템 온 칩(100)의 외부의 메인 메모리(200)로 로딩(loading)된다. CPU(110)는 암(ARM) CPU로 구현될 수 있다. The
메인 메모리 제어 블록(120)은 CPU(110)의 제어하에, 시스템 온 칩(100)의 외부에 위치하는 메인 메모리(200)로의 기입 동작 또는 메인 메모리(200)로부터의 독출 동작 등을 제어한다. 메인 메모리(200)는 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), MRAM(Magnetic Random Access Memory), FRAM(ferroelectrics Random Access Memory) 및 RRAM(Resistive Random Access Memory) 등일 수 있다. The main
플래시 메모리 제어 블록(130a)은 시스템 온 칩(100)의 외부에 위치하는 플래시 메모리 시스템(300)로의 프로그램 동작 또는 메인 메모리(200)로부터의 독출 동작 등을 제어한다. 플래시 메모리 제어 블록(130a)은 보안 정보 저장부(131), 명령 모니터링부(132), 접근 결정부(133) 및 플래시 메모리 인터페이스부(134)를 구비할 수 있다. 플래시 메모리 제어 블록(130a)의 각 구성 및 동작에 대한 구체적인 사항은 후술된다. The flash
다수의 IP(140)는 각각, 설정된 기능을 수행한다. 예를 들어, 다수의 IP(140)는 3D 엔진(3D engine), 비디오 코덱(video CODEC), 디스플레이 시스템(display system), 카메라 시스템(camera system), 후처리 프로세서(post processor), 퍼리퍼럴(peripheral) 또는 연결 장치(connectivity) 등으로 구현될 수 있다. CPU(110), 메인 메모리 제어 블록(120), 플래시 메모리 제어 블록(130a) 및 다수의 IP(140)는 버스(150)에 연결되어, 명령, 주소 및 데이터 등을 송수신한다. Each of the plurality of
도 2는 도 1의 시스템 온 칩의 CPU(Central Processing Unit)의 일 예를 나타내는 도면이다. 도 2를 참조하면, CPU(110)는 CPU 코어(111) 및 레지스터 영역(112)으로 구성될 수 있다. CPU 코어(111)는 사용자 등으로부터 실행이 요청되는 어플리케이션을 실행한다. CPU 코어(111)는 다수의 처리 파이프라인을 구비하여 병렬 처리가 가능할 수 있다. 도 2에서 CPU(110)가 하나의 CPU 코어(111)를 포함하는 것으로 도시되어 있으나 이에 한정되는 것은 아니다. 본 발명의 실시예에 따른 시스템 온 칩(100)의 CPU(110)는, 예를 들어, Big and Little CPU로 구현되어 다수의 CPU 코어를 포함할 수도 있다. 2 is a diagram showing an example of a CPU (Central Processing Unit) of the system-on-chip of FIG. Referring to FIG. 2, the
레지스터 영역(112)은 CPU 코어(111)가 어플리케이션을 실행하는데 요구되는 다양한 정보를 포함하는 레지스터들이 포함될 수 있다. 도 2는 예시적으로, 레지스터 영역(112)에, 현재 프로그램 상태 레지스터(Current Program State Register, 112_1) 및 보안 환경 설정 레지스터(Secure Configuration Register, 112_2)를 포함함을 도시하고 있다. 현재 프로그램 상태 레지스터(112_1)는, 시스템 온 칩(100)에서 현재 실행되고 있는 프로그램(어플리케이션 등)의 현재의 동작 상태(조건부 명령의 실행 여부 등)를 나타내는 정보 또는 비트 값(bit value) 등을 포함하여, CPU(110)에 상태 신호(ST_sig)로 제공할 수 있다. 보안 환경 설정 레지스터(112_2)는, 시스템 온 칩(100)이 보안 모드(secure mode)로 동작하는지 비보안 모드(non-secure mode)로 동작하는지를 나타내는 비보안 비트(NS bit(Non-Secure bit)) 등을 포함하여, CPU(110)에 보안 신호(SC_sig)로 제공할 수 있다. The
레지스터 영역(112)은 예시된 레지스터들(112_1, 112_2) 이외에, 범용 레지스터, 링크 레지스터(link register) 및 프로그램 카운터(program counter) 등이 더 포함될 수 있다. 현재 프로그램 상태 레지스터(112_1) 및 보안 환경 설정 레지스터(112_2)에 포함된 정보 또는 비트 값은 도 3의 모니터 모드(monitor mode)에서 모니터링(monitoring)된 결과에 따라 조절될 수 있다. The
도 3은 도 1의 시스템 온 칩의 동작의 일 예를 나타내는 도면이다. 도 1 내지 도 3을 참조하면, 본 발명의 실시예에 따른 시스템 온 칩(100)은 도 3에 도시되는 바와 같이, 다양한 모드 중 하나로 동작할 수 있다. 도 3은 비보안 커널 모드(non-secure kernel mode), 비보안 유저 모드(non-secure user mode), 모니터 모드(monitor mode), 보안 커널 모드(secure kernel mode) 및 보안 유저 모드(secure user mode)를 예시한다. 비보안 커널 모드 또는 보안 커널 모드에서 운영 체제 코드가 실행되고, 비보안 유저 모드 또는 보안 유저 모드에서 어플리케이션 코드는 실행된다. 모니터 모드는 비보안 월드와 보안 월드의 전환 여부를 모니터링 한다. 3 is a diagram showing an example of the operation of the system-on-chip of FIG. Referring to FIGS. 1 to 3, a system-on-
시스템 온 칩(100)이 암 트러스트존의 구조로 구현되는 경우, 하나의 물리적인 CPU 코어(111)는 시스템 온 칩(100)을 보안 월드(secure world)와 비보안 월드(non-secure world)로 나눈다. 비보안 월드는 비보안 OS에 의해 비보안 어플리케이션이 실행되고, 보안 모드는 보안 OS에 의해 보안 어플리케이션이 실행된다. 비보안 월드와 보안 월드는 접근할 수 있는 디바이스(device) 또는 메모리 영역이 분리된다. 이는 비보안 월드와 보안 월드에서 기능하는, 도 2의 레지스터 영역(112)에 포함되는 일부 레지스터들을 분리시킴으로써 구현될 수 있다. When the system-on-
예를 들어, 암 트러스트존으로 동작하는 경우, 부팅(booting)이 2회에 걸쳐 수행된다. 2회의 부팅을 통해, 두 월드가 부팅된다. 먼저 보안 월드의 운영 체제(보안 OS)가 부팅되어 각 저장 영역에 대한 접근 권한이 설정된다. 보안 월드에 대한 부팅이 완료된 후, 노말 월드(normal world), 즉 비보완 월드의 운영 체제(비보안 OS)가 부팅된다. 이렇듯 보안 월드에 대한 초기화가 수행된 후에야 비로소 비보안 월드로 전환될 수 있으므로, 보안 월드의 코드(code)들이 안전하게 보호될 수 있다. For example, when operating as an arm trust zone, booting is performed twice. Through two rounds of booting, both worlds are booted. First, the operating system (security OS) of the security world is booted and the access right for each storage area is set. After the boot for the security world is completed, the normal world, that is, the non-complementary world's operating system (non-secure OS), is booted. Since the initialization for the security world is performed before the transition to the non-security world, the codes of the security world can be safely protected.
비보안 커널 모드 및 비보안 유저 모드는 비보안 월드에, 모니터 모드, 보안 커널 모드 및 보안 유저 모드는 보안 월드에 속할 수 있다. 하나의 월드에서 다른 월드로 전환은 상태 신호(ST_sig)와 보안 신호(SC_sig)의 값을 조절함으로써 수행될 수 있다. 보안 신호(SC_sig)에 포함되는 비보안 비트(NS bit)는 모니터 모드에서만 조절되므로, 모니터 모드는 보안 월드에서 동작한다. 모니터 모드로의 진입은 SMC(Secure Monitor Call) 명령이 실행되는 경우에 수행되는데 SMC 명령은 커널 모드에서만 실행이 가능하므로, 어플리케이션 레벨에서 임의적으로 월드를 전환할 수는 없다. Non-secure kernel mode and non-secure user mode can belong to non-security world, monitor mode, secure kernel mode and secure user mode can belong to security world. Switching from one world to another may be performed by adjusting the values of the status signal ST_sig and the security signal SC_sig. Since the non-security bit (NS bit) included in the security signal SC_sig is adjusted only in the monitor mode, the monitor mode operates in the security world. The entry into the monitor mode is performed when the SMC (Secure Monitor Call) instruction is executed. Since the SMC instruction can be executed only in the kernel mode, it is not possible to arbitrarily switch the world at the application level.
전술한 바와 같이, 비보안 월드와 보안 월드에서 접근할 수 있는 메모리 영역이 분리된다. 보안 월드 및 비보안 월드 모두에서 접근할 수 있는 메모리 영역은 비보안 영역이고, 보안 월드에서만 접근할 수 있고 비보안 월드에서 접근할 수 없는 메모리 영역은 보안 영역이라 할 수 있다. As described above, the memory areas accessible in the non-security world and security world are separated. The memory area accessible in both the security world and the non-security world is the non-security area, and the memory area that can only be accessed in the security world and not accessible in the non-security world is the security area.
도 4는 도 1의 시스템 온 칩과 전기적으로 연결될 수 있는 플래시 메모리 시스템의 일 예를 나타내는 도면이다. 도 4를 참조하면, 플래시 메모리 시스템(300)은 플래시 메모리 컨트롤러(310) 및 플래시 메모리(320)를 포함한다. 플래시 메모리 컨트롤러(310) 는 도 1의 시스템 온 칩(100)으로부터 인가되는 명령에 응답하여, 플래시 메모리(320)로부터 데이터를 독출하거나, 플래시 메모리(320)에 데이터를 프로그램을 하기 위한 제어를 수행한다. 이를 위해, 플래시 메모리 컨트롤러(310) 는 도 5와 같은 펌웨어를 포함할 수 있다. 4 is a diagram showing an example of a flash memory system that can be electrically connected to the system-on-chip of FIG. Referring to FIG. 4, the
도 5는 도 4의 플래시 메모리 컨트롤러의 동작을 설명하기 위한 도면이다. 도 5를 참조하면, 본 발명의 실시예에 따른 펌웨어(firmware)는 호스트 인터페이스 레이어(HIL) 및 플래시 변환 레이어(FTL)를 포함할 수 있다. 호스트 인터페이스 레이어(HIL)는 도 1의 시스템 온 칩(100)으로부터 수신되는 요청(프로그램 명령, 독출 명령 등)을 처리한다. 예를 들어, 호스트 인터페이스 레이어(HIL)는 시스템 온 칩(100)의 요청에 대한 기계어 처리 및 데이터 전송 등의 기능을 포함할 수 있다. 5 is a diagram for explaining the operation of the flash memory controller of FIG. Referring to FIG. 5, the firmware according to the embodiment of the present invention may include a host interface layer (HIL) and a flash conversion layer (FTL). The host interface layer (HIL) processes requests (program commands, read commands, etc.) received from the system on
플래시 변환 레이어(FTL)는 호스트 인터페이스 레이어(HIL)에서 처리된 결과에 따라, 시스템 온 칩(100)으로부터 수신된 어드레스와 도 5의 플래시 메모리(320)의 물리적 어드레스를 맵핑하기 위한 제어 내지 리소스 할당을 수행할 수 있다. 도 5은 펌웨어가 요청 처리 레이어(RDL)를 더 포함하는 예를 도시한다. 도 5의 요청 처리 레이어(RDL)는 시스템 온 칩(100)의 요청에 따라 플래시 메모리(320)가 동작한 결과를, 요청에 대한 응답으로, 시스템 온 칩(100)에 전송한다. 도 5에서는 요청 처리 레이어(RDL)가 호스트 인터페이스 레이어(HIL)와 별개의 레이어로 구비되는 예를 도시하였으나, 호스트 인터페이스 레이어(HIL)에 포함될 수도 있다. The flash conversion layer FTL includes a control or resource allocation for mapping an address received from the system-on-
다시 도 4를 참조하면, 플래시 메모리(320)는 데이터를 저장하기 위한 저장 영역을 포함한다. 플래시 메모리(320)의 저장 영역은 보안 영역(321)과 비보안 영역(322)을 포함할 수 있다. 전술한 바와 같이, 보안 영역(321)은 보안 월드에서만 접근할 수 있고, 비보안 영역(322)은 보안 월드 및 비보안 월드 모두에서 접근할 수 있는 영역이다. 보안 영역(321)은 예를 들어, 부트 데이터(boot data), OS 데이터 및 보안 데이터 등이 저장될 수 있다. 비보안 영역(322)은 유저 데이터(user data)가 저장될 수 있다. Referring again to FIG. 4, the
도 4의 플래시 메모리 시스템은 다양한 시스템으로 구현될 수 있다. 또한, 도 4의 플래시 메모리(320)에서 보안 영역과 비보안 영역은 다양한 방식으로 설정될 수 있다. 이에 대하여 설명한다. The flash memory system of Figure 4 may be implemented in a variety of systems. In addition, in the
도 6a, 도 6b 및 도 7은 각각, 도 1의 시스템 온 칩과 전기적으로 연결될 수 있는 플래시 메모리 시스템의 다른 예를 나타내는 도면이다. 본 발명의 실시예에 따른 시스템 온 칩(100)에 연결되는 플래시 메모리 시스템(300)은 도 6a과 같이, 솔리드 스테이트 드라이브(Solid State Drive, 이하 SSD)로 구현되는 플래시 메모리 시스템(MSYS)일 수 있다. SSD(MSYS)는 SSD 컨트롤러(SCtrl) 및 플래시 메모리(MDEV)를 포함한다. SSD 컨트롤러(SCtrl)는 SSD(MSYS)의 제1 포트(PT1)를 통해 호스트 장치(HOST)로부터 수신되는 신호(SIG)에 응답하여 플래시 메모리(MDEV)를 제어한다. SSD 컨트롤러(SCtrl)는 다수의 채널(Ch1~CHn)을 통해 플래시 메모리(MDEV)와 연결될 수 있다. 플래시 메모리(MDEV)는 다수로 구비될 수 있다. 6A, 6B, and 7 are diagrams illustrating another example of a flash memory system that can be electrically connected to the system-on-chip of FIG. The
다수의 플래시 메모리들은 각각 도 4의 플래시 메모리(320)일 수 있다. 따라서, 각 플래시 메모리에 보안 영역 및 비보안 영역이 포함될 수 있다. 다만, 이에 한정되는 것은 아니다. 도 6b를 참조하면, 다수의 플래시 메모리 중 일부의 플래시 메모리(예를 들어, 제1 플래시 메모리)는 보안 영역만을 구비하고, 일부의 플래시 메모리(예를 들어, 제2 플래시 메모리)는 비보안 영역만을 구비할 수도 있다. The plurality of flash memories may each be the
다시 도 6a를 참조하면, SSD(MSYS)는 보조 전원 장치(DSP)를 더 구비하여 제2 포트(PT2)를 통해 호스트 장치(HOST)로부터 전원(PWR)을 입력 받을 수 있다. 다만, 이에 한정되는 것은 아니고, SSD(MSYS)는 호스트 장치(HOST) 이외의 외부 장치로부터 전원을 공급받을 수 있다. SSD(MSYS)는 제1 포트(PT1)를 통해 호스트 장치(HOST)의 요청을 처리한 결과(SIG)를 출력할 수 있다. SSD(MSYS)로부터 출력되는 신호(SIG)는 전술된 메인 응답(MRSP)일 수 있다. Referring again to FIG. 6A, the SSD (MSYS) further includes an auxiliary power supply (DSP) to receive power PWR from the host device HOST through the second port PT2. However, the present invention is not limited to this, and the SSD (MSYS) can receive power from an external device other than the host device (HOST). The SSD (MSYS) can output the result (SIG) of processing the request of the host device (HOST) through the first port PT1. The signal SIG output from the SSD MSYS may be the main response MRSP described above.
또한, 본 발명의 실시예에 따른 시스템 온 칩(100)에 연결되는 플래시 메모리 시스템(300)은 도 7과 같이, 메모리 카드(700)로 구현될 수 있다. 메모리 카드(700)는 도 1의 시스템 온 칩(100)에 연결되는 휴대용 저장장치일 수 있다. 도 7에 도시된 바와 같이, 메모리 카드(700)는 포트 영역(720), 플래시 메모리 컨트롤러(740) 및 플래시 메모리(660)을 구비할 수 있다. 메모리 카드(700)는 포트 영역(720)을 통해서 시스템 온 칩(100)과 통신할 수 있고, 플래시 메모리 컨트롤러(740) 는 플래시 메모리(760)를 제어할 수 있다. 플래시 메모리(320)는 다수로 구비될 수 있고, 다수의 플래시 메모리(320) 각각은 도 4의 플래시 메모리(320)와 같이, 보안 영역과 비보안 영역을 포함할 수 있다. 또는, 다수의 플래시 메모리(760) 각각은 도 6b와 같이, 일부의 플래시 메모리는 보안 영역만을 구비하고, 일부의 플래시 메모리는 비보안 영역만 구비할 수도 있다. In addition, the
도 7의 본 발명의 실시예에 따른 시스템 온 칩(100)과 전기적으로 연결될 수 있는 플래시 메모리 시스템(300)인 메모리 카드(700)는, SD 카드(secure digital card), eMMC(embedded Multimedia Memory Card) 또는 UFS(universal Flash Storage) 등 다양한 형태로 구현될 수 있다. 다만, 도 7은 SD 카드, eMMC 또는 UFS을 구분하여 도시하지는 아니하였다. The
본 발명의 실시예에 따른 시스템 온 칩(100)은 전술된 플래시 메모리의 보안 영역과 비보안 영역에 대한 접근을, 시스템 온 칩(100)의 내부에 위치하는 플래시 메모리 제어 블록(130a)에 의해 제어할 수 있다. 또한, 본 발명의 실시예에 따른 시스템 온 칩(100)은 보안 영역 및 비보안 영역에 대해 단순히 접근 여부를 설정하는 것에 나아가, 보안 영역 및 비보안 영역에 대한 요청의 유형에 따른 보안 정책을 달리 설정할 수도 있다. 이에 대하여 설명한다. The system on
도 8은 도 1의 플래시 메모리 제어 블록의 동작에 대한 일 예를 나타내는 순서도이다. 도 1 및 도 8을 참조하면, 본 발명의 실시예에 따른 시스템 온 칩(100)의 플래시 메모리 제어 블록(130a)의 보안 정보 저장부(131)는 도 2의 플래시 메모리(320)의 각 영역에 대한 보안 정보를 저장한다(S810). 예를 들어, 보안 정보 저장부(131)는 보안 정보를 도 9에 도시된 표와 같은 형태로 저장할 수 있다. 8 is a flowchart showing an example of the operation of the flash memory control block of FIG. 1 and 8, the security
도 9를 참조하면, 보안 정보는 플래시 메모리(320)의 저장 영역에 대응되는 LBA(Logical Block Address) 및 LBA에 대한 보안 정책을 포함할 수 있고, 표의 형태로 저장될 수 있다. 보안 정책은 LBA로 규정된 영역에 대한 보안 요구 여부, 보안이 요구되는 명령의 유형, 및 보안 레벨(암호화 여부 또는 암호화 정보) 중 적어도 하나 이상을 나타낼 수 있다. 도 9의 예에서, 표의 각 열에는, 시작 LBA, 끝 LBA, 시작 LBA 및 끝 LBA로 규정되는 플래시 메모리(320)의 저장 영역에 대한 보안 독출 여부, 보안 기입 여부, 비보안 독출 여부 및 비보안 기입 여부에 대한 보안 정보가 포함된다. 이때, 보안 독출 및 보안 기입은 각각, 보안 어플리케이션 또는 보안 OS의 수행에 따른 보안 모드에서의 독출 및 기입만이 허용되는 독출 및 기입을 나타내고, 비보안 독출 및 기입은 보안 어플리케이션(또는 보안 OS) 및 비보안 어플리케이션(또는 비보안 OS)의 수행에 따른 독출 및 기입이 모두 허용되는 독출 및 기입을 나타낸다. 즉, 보안 독출 및 보안 기입은 도 3의 보안 모드에서만 허용되고, 비보안 독출 및 비보안 기입은 도 3의 비보안 모드에서도 허용된다. Referring to FIG. 9, the security information may include a security policy for an LBA (Logical Block Address) and an LBA corresponding to a storage area of the
도 9의 표에 의하면, LBA 0x00000000~0x07FFFFFF로 규정되는 영역에 대하여는 보안 독출 및 보안 기입만이 허용된다. 즉, 비보안 어플리케이션의 수행을 위해, LBA 0x00000000~0x07FFFFFF로 규정되는 영역에 대한 접근이 불허된다. 반면, LBA 0x08000000~0x0BFFFFFF로 규정되는 영역에 대하여는 보안 독출만이 허용된다. 즉, LBA 0x00000000~0x0BFFFFFF로 규정되는 영역에 대한 기입을 위한 접근은 아예 불허된다. According to the table of FIG. 9, only the security reading and security writing are allowed for the area defined by LBA 0x00000000 to 0x07FFFFFF. That is, access to the area defined by LBA 0x00000000 to 0x07FFFFFF is not allowed for execution of non-secure application. On the other hand, only secure reading is permitted for the area defined by LBA 0x08000000 to 0x0BFFFFFF. That is, access to the area defined by LBA 0x00000000 to 0x0BFFFFFF is not allowed at all.
도 8은 단계 S810은 보안 정보가 저장되는 단계를 도시하고 있으나 이에 한정되는 것은 아니다. 본 발명의 실시예에 따른 단계 S810은 보안 정보의 저장 이외에, 보안 정보가 업데이트(update) 되는 경우도 포함될 수 있다. 도 9의 표는 시스템 온 칩(100)이 턴-온 되어 플래시 메모리 시스템(300)으로부터 플래시 메모리 시스템(300)의 동작 환경에 대한 정보를 수신하는 때에 업데이트 될 수 있다. 시스템 온 칩(100)이 턴-온 되어 플래시 메모리 시스템(300)과 초기화 동작을 수행하는 중에, 플래시 메모리 시스템(300)의 저장 영역에 대한 보안 정책, 즉 어느 영역에 어떤 보안 정책이 설정되었는지를 나타내는 보안 정보가 시스템 온 칩(100)으로 전송될 수 있다. FIG. 8 illustrates a step in which security information is stored in step S810, but is not limited thereto. The step S810 according to the embodiment of the present invention may include the case where the security information is updated in addition to the storage of the security information. The table of FIG. 9 may be updated when the system-on-
다시 도 1 및 도 8을 참조하면, 플래시 메모리 제어 블록(130a)의 명령 모니터링부(132)는 CPU(110)가 플래시 메모리 시스템(300)으로 인가하는 명령을 모니터링(monitoring)하여(S820), 명령에 연관된 주소를 캡쳐(capture)한다(S830). 명령은, 플래시 메모리 시스템(300)이 eMMC로 구현되는 경우, 도 10과 같은 포맷(format)을 가질 수 있다. 1 and 8, the
도 10은 JEDEC Standard N0. 84-B45의 Table 34에서 규정된 명령 포맷이다. 도 10을 참조하면, eMMC로 인가되는 명령은 시작 비트(Start Bit), 전송 비트(Transmission Bit), 명령 인덱스(Command Index), 아규먼트(Argument), CRC7(cyclical redundancy check7) 및 끝 비트(End Bit)를 포함하는 48 비트로 구현된다. 시작 비트는 명령의 시작을 알리며 항상 0의 값을 갖는다. 전송 비트는 전송 방향을 나타내는데, 예를 들어, 호스트(도 1의 시스템 온 칩)는 1의 값을 갖는다. 명령 인덱스는 명령의 종류를 나타낸다. 예를 들어, JEDEC Standard N0. 84-B45의 Table 36에서 Table 44는 eMMC에서 사용되는 각종 명령의 종류를 나타낸다. 예를 들어, CMD1은 호스트가 eMMC에게 유효한 동작 상태를 보낼 것을 요청하는 명령이고, CMD2는 호스트가 eMMC에게 장치 식별자를 요청하는 명령이며, CMD17 및 CMD18은 eMMC에 저장된 데이터의 독출을 위한 명령이며, CMD24 및 CMD25는 eMMC에 데이터를 기입하기 위한 명령이다. 10 is a graphical representation of JEDEC Standard N0. It is the command format specified in Table 34 of 84-B45. 10, a command applied to the eMMC includes a Start Bit, a Transmission Bit, a Command Index, an Argument, a cyclic redundancy check (CRC) 7, and an End Bit ). ≪ / RTI > The start bit indicates the start of the command and always has a value of zero. The transfer bit represents the transfer direction, for example, the host (the system on chip of FIG. 1) has a value of one. The instruction index indicates the type of instruction. For example, JEDEC Standard N0. Table 36 in Table 44 of 84-B45 shows the types of commands used in the eMMC. For example, CMD1 is a command for a host to send a valid operation state to the eMMC, CMD2 is a command for a host to request a device identifier from the eMMC, CMD17 and CMD18 are commands for reading data stored in the eMMC, CMD24 and CMD25 are instructions for writing data to the eMMC.
아규먼트는 예를 들어, 명령이 수행되는 eMMC의 저장 영역에 대한 주소를 나타낼 수 있으며, 32 비트로 코딩(coding)된다. 플래시 메모리 제어 블록(130a)으로부터 출력되는 명령에서, 아규먼트에 의해 나타내어지는 eMMC의 저장 영역에 대한 주소는 LBA(Logical Block Address)로 표현될 수 있다. eMMC의 메모리 컨트롤러의 FTL은 LBA를 eMMC의 저장 영역에 대한 물리적 주소에 맵핑(mapping)시킨다. CRC7은 에러 검출 및 정정을 위한 값을 포함한다. 끝 비트는 명령의 끝을 나타내며 항상 1의 값을 갖는다. 도 9의 표에서 x는 명령에 따라 다른 값을 가질 수 있음을 나타낸다. The argument may, for example, represent the address of the storage area of the eMMC on which the instruction is to be executed and is coded to 32 bits. In the command output from the flash
명령 모니터링부(132)는 명령의 아규먼트를 캡쳐하여 접근 결정부(133)에 캡쳐된 주소를 전송할 수 있다. 접근 결정부(133)는 명령 모니터링부(132)로부터 전송된 주소에 대응되는 보안 정보 저장부(131)의 보안 정보에 근거하여 캡쳐된 주소로의 접근 가부를 판단한다(S840). 예를 들어, 명령 모니터링부(132)로부터 전송된 주소가 도 9의 표 상의 LBA 0x00000000~0x07FFFFFF에 포함된다면, 접근 결정부(133)는 보안 어플리케이션 또는 보안 OS에 의한 접근만을 허용한다. 예를 들어, 보안 모드에서 해당 명령이 발생한 경우, 접근 결정부(133)는 해당 영역에 대한 접근을 허용한다(S840의 YES). 이 경우, 플래시 메모리 시스템(300)과 인터페이싱하는 플래시 메모리 인터페이스부(134)는 명령을 플래시 메모리 시스템(300)으로 전송한다(S850). 반면, 비보안 모드에서 해당 명령이 발생한 경우, 접근 결정부(133)는 해당 영역에 대한 접근을 불허한다(S840의 NO). 이 경우, 접근 결정부(133)는 CPU(110)에게 명령이 거부되었음을 알릴 수 있다(S860). The
도 11은 본 발명의 다른 실시예에 따른 시스템 온 칩의 동작 방법을 나타내는 도면이다. 도 1 및 도 11을 참조하면, 도 11의 시스템 온 칩(100)의 동작 방법은 도 8의 동작 방법과 마찬가지로, 보안 정보 저장부(131)가 도 2의 플래시 메모리(320)의 각 영역에 대한 보안 정보를 저장하고(S8010), 명령 모니터링부(132)가 CPU(110)로부터 플래시 메모리 시스템(300)으로 인가하는 명령을 모니터링(S820)한다. 또한, 도 11의 시스템 온 칩(100)의 동작 방법은 도 8의 동작 방법과 마찬가지로, 접근(또는 명령의 실행)이 허용되면(S845의 YES) 플래시 메모리 인터페이스부(134)가 명령을 플래시 메모리 시스템(300)으로 전송(S850)하고, 해당 영역에 대한 접근(또는 명령의 실행)을 불허(S845의 NO)되면 접근 결정부(133)는 CPU(110)에게 명령이 거부되었음을 알릴 수 있다(S860).11 is a diagram illustrating a method of operating a system-on-chip according to another embodiment of the present invention. Referring to FIGS. 1 and 11, a method of operating the system-on-
이때, 도 11의 시스템 온 칩(100)의 동작 방법은, 명령 모니터링부(132)가 CPU(110)로부터 플래시 메모리 시스템(300)으로 인가하는 명령을 모니터링(S820)하여, 명령에 연관된 주소와 함께 명령의 유형을 캡쳐할 수 있다(S835). 명령의 유형의 캡쳐(S835)는, 예를 들어, 도 10의 명령 인덱스를 캡쳐함으로써 수행될 수 있다. The method of operating the system-on-
이 경우, 접근 결정부(133)가 명령 모니터링부(132)로부터 전송된 주소에 대응되는 보안 정보 저장부(131)의 보안 정보에 근거하여 그 주소로의 접근 가부(캡쳐된 주소에서의 캡쳐된 유형에 해당하는 명령의 실행 가부)를 판단한다(S845). 캡쳐된 명령의 유형이 캡쳐된 주소에 대해 허용된 명령인지의 판단(S845)은, 예를 들어, 캡쳐된 주소가 도 9의 표 상의 LBA 0x08000000~0x0BFFFFFF로 규정되는 영역인 경우, 캡쳐된 명령이 해당 영역에 대해 허용된 독출 명령인지, 아니면 불허된 기입 명령인지를 판단함으로써 수행될 수 있다. In this case, based on the security information of the security
도 11과 같이, 캡쳐된 명령의 유형에 따라 플래시 메모리 시스템(300)의 저장 영역으로의 접근을 달리하기 위해, 플래시 메모리 시스템(300)의 저장 영역은 각 영역에 따라 보안의 정도를 달리할 수 있다. 본 발명의 일 실시예에 따른 시스템 온 칩에 전기적으로 연결될 수 있는 플래시 메모리의 일 예를 나타내는 도 12를 참조하면, 일 실시예에 따른 플래시 메모리(1220)는 보안 영역(1221) 및 비보안 영역(1222)을 포함할 수 있다. 이때, 보안 영역(1221)은 수행하고자 하는 명령의 유형에 따라 영역이 구분될 수 있다. 예를 들어, 보안 영역(1221)은 보안 독출 영역(1221_1), 보안 기입 영역(1221_2) 및 보안 독출 및 기입 영역(1221_3)을 포함할 수 있다. 보안 독출 영역(1221_1)은 도 9의 표 상의 보안 독출만이 허용되는 LBA 0x08000000~0x0BFFFFFF로 규정되는 영역이고 보안 독출 및 기입 영역(1221_3)은 도 9의 표 상의 보안 독출 및 보안 기입이 허용되는 LBA 0x00000000~0x07FFFFFF로 규정되는 영역에 대응될 수 있다. 비보안 영역(1222) 또한, 비보안 독출 영역(1222_1), 비보안 기입 영역(1222_2) 및 비보안 독출 및 기입 영역(1222_3)으로 구분되어 설정될 수 있다. As shown in FIG. 11, in order to differentiate access to the storage area of the
도 12는 보안 영역(1221) 및 비보안 영역(1222)이 모두 플래시 메모리 시스템(300)으로 인가되는 명령의 유형에 따라 세부적으로 구분되어 접근이 제어되는 예를 도시하였으나, 이에 한정되는 것은 아니다. 예를 들어, 보안 영역(1221)만 명령의 유형에 따라 세부적으로 구분되고, 비보안 영역(1222)은 명령의 유형에 무관하게 접근이 허용될 수도 있다. 또한, 본 발명의 일 실시예에 따른 시스템 온 칩에 전기적으로 연결될 수 있는 플래시 메모리의 일 예를 나타내는 도 13에 도시되는 바와 같이, 플래시 메모리 시스템(300)으로 인가되는 명령의 유형이 아닌, 보안의 요구 정도에 따라 보안 영역(1321)은 보안 레벨 1 영역(1321_1) 및 보안 레벨 2 영역(1321_2) 등으로 구분하여 설정할 수 있다. 예를 들어, 보안 레벨 1 영역(1321_1)은 보안 레벨 2 영역(1321_2)와 마찬가지로 보안 영역에 포함되나, 보안 레벨 1 영역(1321_1)의 데이터를 사용할 수 있는 어플리케이션이 보안 레벨 2 영역(1321_2)의 데이터를 사용할 수 있는 어플리케이션보다 한정적일 수 있다. 예를 들어, 보다 높은 정도의 보안이 요구되는 제1 어플리케이션은 보안 레벨 1 영역(1321_1) 및 보안 레벨 2 영역(1321_2)의 데이터를 모두 사용할 수 있으나, 제1 어플리케이션보다 낮은 정도의 보안이 요구되는 제2 어플리케이션은 보안 레벨 2 영역(1321_2)의 데이터의 데이터만을 사용할 수 있다. 또는, 예를 들어, 보안 레벨 1 영역(1321_1)은 전술된 접근에 대한 제어 이외에 암호화가 요구되는 데이터를 저장하는 영역일 수 있다. 이때, 보안 레벨 1 영역(1321_1)은 보안 레벨 2 영역(1321_2)보다 강화된 암호화가 수행될 수 있다. 비보안 영역(1322) 또한 마찬가지이다. 이 경우, 시스템 온 칩(100)의 플래시 메모리 제어 블록(130a)은 명령의 실행 주체(어플리케이션) 또는 암호화 정도에 따라 보안의 레벨을 달리하는 보안 정보를 저장하고, 이에 따라 전술된 접근 허용 여부를 판단할 수 있을 것이다. FIG. 12 shows an example in which access is controlled by the
이렇듯, 본 발명의 실시예에 따른 시스템 온 칩(100)에 의하면, 플래시 메모리 시스템(300)의 저장 영역에 대한 보안 정책을 시스템 온 칩(100)의 내부에서 수행함으로써, 보안을 유지 내지 강화하면서도 시스템 온 칩(100) 또는 시스템 온 칩(100)을 포함하는 전자 장치의 동작 효율을 증대시킬 수 있다. As described above, according to the system-on-
도 14는 본 발명의 다른 실시예에 따른 시스템 온 칩을 나타내는 도면이다. 도 14를 참조하면, 본 발명의 다른 실시예에 따른 시스템 온 칩(1400)은 도 1의 시스템 온 칩(100)과 마찬가지로, CPU(110), 메인 메모리 제어 블록(120), 플래시 메모리 제어 블록(130), 다수의 IP(140) 및 버스(bus, 150)를 포함한다. 나아가, 도 14의 시스템 온 칩(1400)은 모드 신호 전송선(160)을 더 포함할 수 있다. CPU(110), 메인 메모리 제어 블록(120), 플래시 메모리 제어 블록(130a) 및 다수의 IP(140)는 버스(150) 이외에, 모드 신호 전송선(160)으로 연결된다. CPU(110)는 시스템 온 칩(100)이 보안 모드(secure mode)로 운영되는지 비보안 모드(non-secure mode)로 운영되는지를 나타내는 NS bit를 메인 메모리 제어 블록(120), 플래시 메모리 제어 블록(130a) 및 다수의 IP(140) 각각에 전송한다. NS bit는 도 2의 보안 신호(SC_sig)에 포함될 수 있다. 메인 메모리 제어 블록(120), 플래시 메모리 제어 블록(130a) 및 다수의 IP(140) 각각은 NS bit에 근거하여, 현재 실행되는 모드가 보안 모드인지 비보안 모드인지를 판단할 수 있다. 이상에서는 시스템 온 칩이 보안 모드로 동작하는지 여부를 NS bit가 나타내는 것으로 설명되었으나, 이에 한정되는 것은 아니다. NS bit의 논리 레벨과 반전되는 S_bit(Secure_bit)를 통해 시스템 온 칩이 보안 모드로 동작하는지 여부를 나타낼 수도 있다. 14 is a diagram illustrating a system on chip according to another embodiment of the present invention. 14, a system-on-a-chip 1400 according to another embodiment of the present invention includes a
모드 신호 전송선(160)은 도 14에 도시된 바와 같이, CPU(110), 메인 메모리 제어 블록(120), 플래시 메모리 제어 블록(130a) 및 다수의 IP(140)에 공통으로 연결될 수 있다. 다만, 이에 한정되는 것은 아니다. 모드 신호 전송선(160)은 CPU(110)와 메인 메모리 제어 블록(120), CPU(110)와 플래시 메모리 제어 블록(130a) 및 CPU(110)와 각각의 IP를 개별적으로 연결하도록 구비될 수 있다. The mode
도 15는 본 발명의 다른 실시예에 따른 플래시 메모리 제어 블록을 나타내는 도면이다. 도 1 및 도 15를 참조하면, 본 발명의 다른 실시예에 따른 플래시 메모리 제어 블록(130b)은 도 1의 플래시 메모리 제어 블록(130a)과 같이, 보안 정보 저장부(131), 명령 모니터링부(132), 접근 결정부(133) 및 플래시 메모리 인터페이스부(134)를 구비할 수 있다. 보안 정보 저장부(131), 명령 모니터링부(132), 접근 결정부(133) 및 플래시 메모리 인터페이스부(134)의 구체적인 동작은 전술된 바와 같을 수 있다. 15 is a block diagram of a flash memory control block according to another embodiment of the present invention. 1 and 15, a flash
나아가, 도 15의 플래시 메모리 제어 블록(130b)은 암복호화 엔진(135)을 더 구비할 수 있다. 암복호화 엔진(135)은 메인 메모리(200)로부터 메인 메모리 제어 블록(120) 및 버스(150)를 통하여 전송되는 평문(pain text)를 암호문(cipher text)로 암호화하거나, 플래시 메모리 시스템(300)으로부터 플래시 메모리 제어 블록(130a) 및 버스(150)를 통하여 전송되는 암호문을 평문으로 복호화할 수 있다. 본 발명의 실시예에 따른 암복호화 엔진(135)은 암호문을 플래시 메모리 제어 블록(130a)와 플래시 메모리 시스템(300) 사이에서 직접 송수신하는, 즉 암복호화 엔진(135)이 플래시 메모리 제어 블록(130a)에 구비되어 암복호화 엔진(135) 및 플래시 메모리 제어 블록(130a)이 버스(150)를 통해 암호문을 송수신하지 아니하는 온-더-플라이(on-the-fly) 형태로 구현될 수 있다. Further, the flash
암복호화 엔진(135)은 암복호화가 필요한지를 나타내는 제어 신호(XCON)에 응답하여, 암복호화의 수행 여부를 달리할 수 있다. 제어 신호(XCON)는 CPU(110)로부터 생성될 수 있다. 또한, 전술된 보안 정보도 CPU(110)에 의해 보안 정보 저장부(131)로 제공될 수 있다. 접근 결정부(133)는 전술된 판단 동작에 따라 접근을 불허하는 경우, 명령이 불허되었음을 CPU(110)에 통보하는 한편, 암복호화 엔진(135)에도 통보하여, 암복호화 엔진(135)이 해당 명령에 대해 동작하지 아니하도록 할 수 있다.The encryption /
도 15의 플래시 메모리 제어 블록(130b)을 포함하는 시스템 온 칩에 의하면, 버스(150)를 점유하지 아니하고 암복호화 엔진(135) 및 플래시 메모리 제어 블록(130a) 사이에 암호문의 전송이 가능하여 버스 자원을 절약할 수 있고, 암호문으로 플래시 메모리 시스템(300) 사이의 데이터 송수신을 수행함으로써 보안을 강화할 수 있다. According to the system-on-chip including the flash
도 16은 본 발명의 다른 실시예에 따른 플래시 메모리 제어 블록을 나타내는 도면이다. 도 1 및 도 16을 참조하면, 본 발명의 다른 실시예에 따른 플래시 메모리 제어 블록(130c)은 도 15의 플래시 메모리 제어 블록(130b)과 마찬가지로, 보안 정보 저장부(131), 명령 모니터링부(132), 접근 결정부(133), 플래시 메모리 인터페이스부(134) 및 암복호화 엔진(135)을 포함할 수 있다. 보안 정보 저장부(131), 명령 모니터링부(132), 접근 결정부(133), 플래시 메모리 인터페이스부(134) 및 암복호화 엔진(135)의 구체적인 동작은 전술된 바와 같을 수 있다. 나아가 도 16의 플래시 메모리 제어 블록(130c)은 DMA(Dynamic Memory Access, 136)을 더 포함할 수 있다. DMA(136)는 CPU(110)의 개입 없이, 메인 메모리(200)로의, 또는 메인 메모리(200)로부터의 데이터 전송을 수행할 수 있다. DMA(136)는 버스(150)와 암복호화 엔진(135) 사이에 연결되어 암복호화 엔진(135)으로 메인 메모리(200)의 데이터를 전송하거나 암복호화 엔진(135)으로부터 메인 메모리(200)로 데이터를 전송할 수 있다. DMA(136)는 암복호화 엔진(135)의 내부에 구비될 수도 있다. 접근 결정부(133)는 전술된 판단 동작에 따라 접근을 불허하는 경우, 명령이 불허되었음을 CPU(110)에 통보하는 한편, 암복호화 엔진(135) 또는 DMA(136)에도 통보하여, 암복호화 엔진(135) 또는 DMA(136)가 해당 명령에 대해 동작하지 아니하도록 할 수 있다. 16 is a block diagram of a flash memory control block according to another embodiment of the present invention. 1 and 16, a flash
도 17은 본 발명의 다른 실시예에 따른 플래시 메모리 제어 블록을 나타내는 도면이다. 도 1 및 도 17을 참조하면, 본 발명의 다른 실시예에 따른 플래시 메모리 제어 블록(130d)은 도 16의 플래시 메모리 제어 블록(130c)과 마찬가지로 보안 정보 저장부(131), 명령 모니터링부(132), 접근 결정부(133), 플래시 메모리 인터페이스부(134), 암복호화 엔진(135) 및 DMA(136)를 포함할 수 있다. 보안 정보 저장부(131), 명령 모니터링부(132), 접근 결정부(133), 플래시 메모리 인터페이스부(134), 암복호화 엔진(135) 및 DMA(136)의 구체적인 동작은 전술된 바와 같을 수 있다. 다만, 도 17의 플래시 메모리 제어 블록(130d)의 암복호화 엔진(135)은 키 저장부(170)에 저장된 암호 키(secure key)를 이용하여 암복호화를 수행할 수 있다. 키 저장부(170)는 OPT 메모리(One Time Programmable memory)로 구현될 수 있다. 17 is a block diagram of a flash memory control block according to another embodiment of the present invention. 1 and 17, a flash
이상에서 암복호화 엔진(135) 및 DMA(136)는 플래시 메모리 제어 블록(130)의 내부에 위치하고, 키 저장부(170)는 플래시 메모리 제어 블록(130)의 외부에 위치하는 것으로 설명되었으나, 이에 한정되는 것은 아니다. 암복호화 엔진(135), DMA(136) 및 키 저장부(170)는 시스템 온 칩의 내의 다른 영역에 위치할 수도 있다. Although the encryption /
도 18은 본 발명의 일 실시예에 따른 모바일 장치를 나타내는 도면이다. 도 18을 참조하면, 모바일 장치(1800)는 시스템 온 칩으로 구현되는 어플리케이션 프로세서(1810), 커뮤니케이션 프로세서(1820), 카메라(1830), 디스플레이(1840), 커뮤니케이션 RF(communication Radio Frequency, 1850) 및 메모리들(1860, 1870)을 포함할 수 있다. 모바일 장치(1800)에서 어플리케이션 프로세서(1810)에 의해 어플리케이션(application)이 실행될 수 있다. 예를 들어, 카메라(1830)를 통해 영상이 촬영되면, 어플리케이션 프로세서(1810)는 촬영된 영상을 메모리(1870)에 저장하고, 디스플레이(1840)에 디스플레이할 수 있다. 어플리케이션 프로세서(1810)는 전술된 도 1의 시스템 온 칩(100) 또는 도 14의 시스템 온 칩(1400)일 수 있다. 촬영된 영상은 커뮤니케이션 프로세서(1820)의 제어에 따라 커뮤니케이션 RF(1850)을 통해 외부로 전송될 수 있다. 이때, 커뮤니케이션 프로세서(1820)는 영상을 전송하기 위해 임시적으로 영상을 메모리(1860)에 저장할 수 있다. 커뮤니케이션 프로세서(1820)는 그 밖에, 통화, 데이터 송수신을 위한 통신을 제어할 수 있다. 18 is a diagram of a mobile device in accordance with an embodiment of the present invention. 18, the
도 19는 본 발명의 일 실시예에 따른 컴퓨팅 시스템(computing system)을 나타내는 도면이다. 도 19를 참조하면, 모바일 기기(mobile device), 데스크탑 컴퓨터(desktop computer) 또는 서버(server)와 같은 컴퓨팅 시스템(1900)에서 시스템 온 칩(1910), 메모리 장치(1920), 입출력 장치(1930) 및 디스플레이 장치(1940)을 더 포함할 수 있으며, 이들 구성요소들은 각각 버스(1950)에 전기적으로 연결될 수 있다. 도 19의 시스템 온 칩(1910)은 전술된 도 1의 시스템 온 칩(100) 또는 도 14의 시스템 온 칩(1400)과 같을 수 있다. 19 is a diagram illustrating a computing system according to an embodiment of the present invention. 19, there is shown a system-on-
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 개시를 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 본 개시에 의한 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, an optimal embodiment has been disclosed in the drawings and specification. It is to be understood that the terminology used herein is for the purpose of describing the present disclosure only and is not used to limit the scope of the present invention. Therefore, those skilled in the art will appreciate that various modifications and equivalent embodiments are possible without departing from the scope of the present invention. The scope of the present invention should be determined by the technical idea of the appended claims.
100, 1400, 1810, 1910: 시스템 온 칩
200: 메인 메모리
300: 플래시 메모리 시스템
110: CPU
120: 메인 메모리 제어 블록
130a, 130b, 130c, 130d: 플래시 메모리 제어 블록
140: IP들
150: 버스 100, 1400, 1810, 1910: System-on-Chip
200: main memory
300: flash memory system
110: CPU
120: main memory control block
130a, 130b, 130c and 130d: flash memory control block
140: IPs
150: Bus
Claims (10)
상기 시스템 온 칩에 연결될 수 있는 외부의 플래시 메모리 시스템의 저장 영역에 대한 보안 정보를 저장하는 보안 정보 저장부;
상기 시스템 온 칩의 중앙 처리 장치가 상기 플래시 메모리 시스템으로 인가하고자 하는 명령을 모니터링(monitoring) 하여, 상기 명령에 포함된 주소를 캡쳐(captur)하는 명령 모니터링부;
상기 보안 정보에 근거하여, 상기 캡쳐된 주소에 대응되는 저장 영역에 대한 접근의 허용 여부를 결정하는 접근 결정부; 및
상기 접근 결정부에 의해 상기 캡쳐된 주소에 대응되는 저장 영역에 대한 접근이 허용된 경우, 상기 명령을 상기 플래시 메모리 시스템에 전송하는 플래시 메모리 인터페이스부를 구비하는 플래시 메모리 제어 블록을 포함하는 것을 특징으로 하는 시스템 온 칩.In System On Chip,
A security information storage unit for storing security information on a storage area of an external flash memory system connectable to the system-on-chip;
A command monitoring unit for monitoring a command to be applied to the flash memory system by the central processing unit of the system on chip and capturing an address included in the command;
An access determining unit for determining whether to allow access to the storage area corresponding to the captured address based on the security information; And
And a flash memory control unit for transmitting the command to the flash memory system when access to the storage area corresponding to the captured address is permitted by the access determination unit, System on chip.
상기 저장 영역에 대응되는 LBA(Logical Block Address) 및 상기 LBA에 대응되는 영역에 대한 보안 정책을 포함하는 것을 특징으로 하는 시스템 온 칩. The method of claim 1,
A logical block address (LBA) corresponding to the storage area, and a security policy for an area corresponding to the LBA.
상기 LBA에 대응되는 영역으로, 상기 시스템 온 칩이 보안 모드(secure mode)에서 동작하는 때에 한해 접근이 가능한지 또는 상기 시스템 온 칩이 비보안 모드(non-secure mode)에서도 접근이 가능한지를 나타내는 것을 특징으로 하는 시스템 온 칩. 3. The method of claim 2,
Wherein the access point is accessible only when the system-on-chip operates in a secure mode, or whether the system-on-chip is accessible even in a non-secure mode, in an area corresponding to the LBA. System on chip.
상기 LBA에 대응되는 영역으로 접근이 가능한 명령의 유형을 나타내는 것을 특징으로 하는 시스템 온 칩. 3. The method of claim 2,
Wherein the type of the instruction indicates the type of instruction accessible to the area corresponding to the LBA.
상기 캡쳐된 주소가 상기 플래시 메모리 시스템의 저장 영역 중 보안 영역에 대응되는 것으로 판단된 경우,
상기 시스템 온 칩이 보안 모드로 동작하는 경우 접근을 허용하는 것으로 결정하고, 상기 시스템 온 칩이 비보안 모드로 동작하는 경우 접근을 불허하는 것으로 결정하는 것을 특징으로 하는 시스템 온 칩. The apparatus according to claim 1,
When it is determined that the captured address corresponds to the security area of the storage area of the flash memory system,
Determining that access is granted when the system-on-chip is operating in a secure mode, and determining that access is not allowed when the system-on-chip is operating in an unsecured mode.
상기 캡쳐된 주소가 상기 플래시 메모리 시스템의 저장 영역 중 보안 영역에 대응되는 것으로 판단된 경우,
상기 시스템 온 칩이 보안 모드로 동작하고 상기 명령이 상기 캡쳐된 주소에 대응되는 보안 영역에 대해 허용된 명령인 경우 접근을 허용하는 것으로 결정하고, 상기 시스템 온 칩이 비보안 모드로 동작하거나 상기 캡쳐된 주소에 대응되는 보안 영역에 대해 허용된 명령이 아닌 경우 접근을 불허하는 것으로 결정하는 것을 특징으로 하는 시스템 온 칩. The apparatus according to claim 1,
When it is determined that the captured address corresponds to the security area of the storage area of the flash memory system,
Determining that the system on chip is operating in a secure mode and allowing access if the command is an allowable command for a secure area corresponding to the captured address; and if the system on chip is operating in an unsecured mode, And determines that access is not allowed if the command is not an allowed command for a security area corresponding to the address.
상기 캡쳐된 주소가 상기 플래시 메모리 시스템의 저장 영역 중 보안 영역에 대응되는 것으로 판단된 경우,
상기 시스템 온 칩이 보안 모드로 동작하고 상기 명령이 상기 캡쳐된 주소에 대응되는 보안 영역에 대해 허용된 어플리케이션의 실행을 위한 명령인 경우 접근을 허용하는 것으로 결정하고, 상기 시스템 온 칩이 비보안 모드로 동작하거나 상기 캡쳐된 주소에 대응되는 보안 영역에 대해 허용된 어플리케이션의 실행을 위한 명령이 아닌 경우 접근을 불허하는 것으로 결정하는 것을 특징으로 하는 시스템 온 칩. The apparatus according to claim 1,
When it is determined that the captured address corresponds to the security area of the storage area of the flash memory system,
Determining that the system on chip is operating in a secure mode and allowing access if the command is an instruction for execution of an application permitted for a secure area corresponding to the captured address; And determines that access is denied if it is not an instruction for execution of an application permitted to operate in the secure area corresponding to the captured address.
상기 시스템 온 칩의 외부에 위치하는 메인 메모리(main memory)에 저장된 평문을 암호화한 암호문을 상기 플래시 메모리 인터페이스부로 전송하거나, 상기 플래시 메모리 시스템에 저장된 암호문을 평문으로 복호화하는 암복호화 엔진을 더 포함하는 것을 특징으로 하는 시스템 온 칩. 2. The flash memory control block according to claim 1,
And an encryption decryption engine for encrypting a plaintext stored in a main memory located outside the system-on-chip to a flash memory interface or decrypting a cipher text stored in the flash memory system into a plaintext The system-on-chip comprising:
상기 메인 메모리에 저장된 평문을 상기 암복호화 엔진으로 전송하거나, 상기 암호화 엔진으로부터 복호화된 평문을 상기 메인 메모리로 전송하는 DMA(Dynamic Memory Access)를 더 포함하는 것을 특징으로 하는 시스템 온 칩. 9. The flash memory control block according to claim 8,
Further comprising a DMA (Dynamic Memory Access) for transmitting a plain text stored in the main memory to the encryption / decryption engine or for transmitting a plain text decrypted from the encryption engine to the main memory.
상기 어플리케이션 프로세서는,
상기 플래시 메모리 시스템의 저장 영역에 대한 보안 정보를 저장하는 보안 정보 저장부;
상기 어플리케이션 프로세서의 중앙 처리 장치가 상기 플래시 메모리 시스템으로 인가하고자 하는 명령을 모니터링(monitoring) 하여, 상기 명령에 포함된 주소를 캡쳐(captur)하는 명령 모니터링부;
상기 보안 정보에 근거하여, 상기 캡쳐된 주소에 대응되는 저장 영역에 대한 접근의 허용 여부를 결정하는 접근 결정부; 및
상기 접근 결정부에 의해 상기 캡쳐된 주소에 대응되는 저장 영역에 대한 접근이 허용된 경우, 상기 명령을 상기 플래시 메모리 시스템에 전송하는 플래시 메모리 인터페이스부를 구비하는 플래시 메모리 제어 블록을 포함하는 것을 특징으로 하는 전자 장치. 1. An electronic device comprising an application processor and a flash memory system,
The application processor,
A security information storage unit for storing security information on a storage area of the flash memory system;
A command monitoring unit for monitoring a command to be applied to the flash memory system by the central processing unit of the application processor and capturing an address included in the command;
An access determining unit for determining whether to allow access to the storage area corresponding to the captured address based on the security information; And
And a flash memory control unit for transmitting the command to the flash memory system when access to the storage area corresponding to the captured address is permitted by the access determination unit, Electronic device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140104538A KR20160019780A (en) | 2014-08-12 | 2014-08-12 | System on chip, electronic apparatus including system on chip and operation method of system on chip |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140104538A KR20160019780A (en) | 2014-08-12 | 2014-08-12 | System on chip, electronic apparatus including system on chip and operation method of system on chip |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160019780A true KR20160019780A (en) | 2016-02-22 |
Family
ID=55445451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140104538A KR20160019780A (en) | 2014-08-12 | 2014-08-12 | System on chip, electronic apparatus including system on chip and operation method of system on chip |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20160019780A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113050877A (en) * | 2019-12-27 | 2021-06-29 | 北京兆易创新科技股份有限公司 | Mapping table storage method and device, electronic equipment and storage medium |
US11461475B2 (en) | 2019-03-12 | 2022-10-04 | Samsung Electronics Co., Ltd. | Electronic device including secure integrated circuit |
US11726672B2 (en) | 2020-12-24 | 2023-08-15 | Samsung Electronics Co., Ltd. | Operating method of storage device setting secure mode of command, and operating method of storage system including the storage device |
-
2014
- 2014-08-12 KR KR1020140104538A patent/KR20160019780A/en not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461475B2 (en) | 2019-03-12 | 2022-10-04 | Samsung Electronics Co., Ltd. | Electronic device including secure integrated circuit |
CN113050877A (en) * | 2019-12-27 | 2021-06-29 | 北京兆易创新科技股份有限公司 | Mapping table storage method and device, electronic equipment and storage medium |
CN113050877B (en) * | 2019-12-27 | 2024-03-01 | 兆易创新科技集团股份有限公司 | Mapping table storage method and device, electronic equipment and storage medium |
US11726672B2 (en) | 2020-12-24 | 2023-08-15 | Samsung Electronics Co., Ltd. | Operating method of storage device setting secure mode of command, and operating method of storage system including the storage device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11088846B2 (en) | Key rotating trees with split counters for efficient hardware replay protection | |
TWI570589B (en) | Apparatus for providing trusted computing | |
US9094190B2 (en) | Method of managing key for secure storage of data and apparatus therefor | |
KR101224322B1 (en) | Methods and apparatus for the secure handling of data in a microcontroller | |
US8479264B2 (en) | Architecture for virtual security module | |
US11411747B2 (en) | Nonvolatile memory device with regions having separately programmable secure access features and related methods and systems | |
US9607177B2 (en) | Method for securing content in dynamically allocated memory using different domain-specific keys | |
KR102176612B1 (en) | Secure subsystem | |
US20140164793A1 (en) | Cryptographic information association to memory regions | |
US10372628B2 (en) | Cross-domain security in cryptographically partitioned cloud | |
US20150317495A1 (en) | Protecting Critical Data Structures in an Embedded Hypervisor System | |
JP2005523519A (en) | Control function that restricts data access in the integrated system using the requesting master ID and data address | |
CN111881490A (en) | Shared data protection method for NVME storage equipment fused with external encryption chip | |
US10505927B2 (en) | Memory device and host device | |
US20150227755A1 (en) | Encryption and decryption methods of a mobile storage on a file-by-file basis | |
KR20160019780A (en) | System on chip, electronic apparatus including system on chip and operation method of system on chip | |
CN114238185A (en) | Direct storage access and command data transmission method, device and related equipment | |
US20220198074A1 (en) | Secure Transient Buffer Management | |
KR101320739B1 (en) | System for securing of memory of the portable terminal | |
EP4134845A1 (en) | Memory access method, system-on-chip, and electronic device | |
KR102421318B1 (en) | A device for managing multiple accesses to a system-on-a-chip security module of an apparatus | |
CN112257092A (en) | Data transmission control method, key management method, configuration method and related device | |
US9058295B2 (en) | Encrypt data of storage device | |
US20140164787A1 (en) | Control method and information processing apparatus | |
CN116226870B (en) | Security enhancement system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |