[go: up one dir, main page]

KR101975027B1 - 시스템 온 칩, 이의 동작 방법, 이를 포함하는 장치들 - Google Patents

시스템 온 칩, 이의 동작 방법, 이를 포함하는 장치들 Download PDF

Info

Publication number
KR101975027B1
KR101975027B1 KR1020120047743A KR20120047743A KR101975027B1 KR 101975027 B1 KR101975027 B1 KR 101975027B1 KR 1020120047743 A KR1020120047743 A KR 1020120047743A KR 20120047743 A KR20120047743 A KR 20120047743A KR 101975027 B1 KR101975027 B1 KR 101975027B1
Authority
KR
South Korea
Prior art keywords
data
encryption
decryption engine
nonvolatile memory
soc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020120047743A
Other languages
English (en)
Other versions
KR20130126843A (ko
Inventor
이헌수
최홍묵
박상현
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020120047743A priority Critical patent/KR101975027B1/ko
Priority to US13/718,382 priority patent/US20130297948A1/en
Priority to DE102013104167A priority patent/DE102013104167A1/de
Priority to CN201310159666.7A priority patent/CN103383668B/zh
Priority to JP2013097518A priority patent/JP6239259B2/ja
Publication of KR20130126843A publication Critical patent/KR20130126843A/ko
Priority to US14/702,167 priority patent/US9489540B2/en
Application granted granted Critical
Publication of KR101975027B1 publication Critical patent/KR101975027B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • G06F21/72Protecting 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 in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • 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
    • 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/602Providing cryptographic facilities or services
    • 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
    • G06F21/74Protecting 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 operating in dual or compartmented mode, i.e. at least one secure mode
    • 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/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1014One time programmable [OTP] memory, e.g. PROM, WORM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

시스템 온 칩의 동작 방법은 암호키를 이용하여 평문 데이터를 암호문 데이터로 변환하는 단계와, 상기 암호문 데이터를 불휘발성 메모리의 동작을 제어하는 메모리 컨트롤러로 직접 전송하는 단계를 포함한다. 상기 암호키는 OTP(one-time programmable) 메모리로부터 출력된다.

Description

시스템 온 칩, 이의 동작 방법, 이를 포함하는 장치들{SYSTEM ON CHIP, OPERATION METHOD THEREOF, AND DEVICES HAVING THE SAME}
본 발명의 개념에 따른 실시 예는 시스템 온 칩(system on chip(SoC))에 관한 것으로, 특히 암복호화 엔진(encryption/decryption engine)과 메모리 컨트롤러가 직접 접속된 SoC, 이의 동작 방법, 및 이를 포함하는 장치들에 관한 것이다.
메인 메모리(main memory)는 CPU(central processing unit)가 실행할 프로그램과 상기 CPU에서 필요한 데이터를 다른 저장 매체, 예컨대 불휘발성 메모리 장치로부터 수신할 수 있다.
또한, 메인 메모리는 데이터를 저장하기 위해 상기 데이터를 다른 저장 매체, 예컨대 불휘발성 메모리 장치로 전송할 수 있다.
메인 메모리와 불휘발성 메모리 장치 사이의 데이터 송수신 과정에서, 상기 데이터가 프로빙(probing) 되는 것을 방지하기 위해, 상기 데이터 송수신 도중에 상기 데이터를 암호화하는 과정이 포함될 수 있다.
메인 메모리와 불휘발성 메모리 장치를 포함하는 시스템의 성능은 메인 메모리와 불휘발성 메모리 장치 사이에서 데이터를 송수신하기 위한 데이터 전송 경로, 즉 데이터 패스(data path)에 따라 결정될 수 있다.
본 발명이 이루고자 하는 기술적인 과제는 시스템 온 칩에 포함된 암복호화 엔진과 메모리 컨트롤러를 직접 접속시킴으로써, 데이터 전송 경로를 감소시킬 수 있는 시스템 온 칩, 이의 동작 방법, 및 이를 포함하는 장치들을 제공하는 것이다.
본 발명의 일 실시 예에 따른 시스템 온 칩(system on chip(SoC))의 동작 방법은 암호키를 이용하여 평문 데이터를 암호문 데이터로 변환하는 단계와, 상기 암호문 데이터를 불휘발성 메모리의 동작을 제어하는 메모리 컨트롤러로 직접 전송하는 단계를 포함한다.
실시 예에 따라, 상기 평문 데이터는 CPU(central processing unit)의 제어에 따라 메인 메모리로부터 버스를 통해 리드된 데이터일 수 있다.
다른 실시 예에 따라, 상기 평문 데이터는 DMA(direct memory access) 유닛으로부터 출력된 데이터일 수 있다.
상기 암호키는 OTP(one-time programmable) 메모리로부터 출력될 수 있다.
상기 암호키는 보안 프로그램에 의해서만 입력가능하다.
상기 변환하는 단계는 상기 평문 데이터를 블록 단위로 상기 암호문 데이터로 변환한다.
본 발명의 다른 실시 예에 따른 SoC의 동작 방법은 불휘발성 메모리의 동작을 제어하는 메모리 컨트롤러로부터 암호문 데이터를 직접 수신하는 단계와, 암호키를 이용하여 상기 암호문 데이터를 평문 데이터로 변환하는 단계를 포함한다.
상기 방법은 상기 평문 데이터를 DMA(direct memory access) 유닛으로 전송하는 단계를 더 포함한다.
상기 변환하는 단계는 상기 암호문 데이터를 블록 단위로 상기 평문 데이터로 변환한다.
본 발명의 실시 예에 따른 SoC는 암호키를 이용하여, 제1평문 데이터를 제1암호문 데이터를 암호화하거나 제2암호문 데이터를 제2평문 데이터로 복호화하는 블록 암복호화 엔진과, 상기 암복호화 엔진에 직접 접속되고 상기 제1암호문 데이터를 불휘발성 메모리로 전송하거나 상기 불휘발성 메모리로부터 상기 제2암호문 데이터를 수신하는 메모리 컨트롤러를 포함한다.
상기 SoC는 상기 암호키를 저장하는 OTP(one-time programmable) 메모리를 더 포함할 수 있다.
상기 SoC는 데이터 소스로부터 전송된 상기 제1평문 데이터를 상기 암복호화 엔진으로 전송하거나 상기 암복호화 엔진으로부터 전송된 상기 제2평문 데이터를 상기 데이터 소스로 전송하는 DMA(direct memory access) 유닛을 더 포함할 수 있다.
상기 DMA 유닛은 상기 암복호화 엔진과 직접 접속된다.
상기 SoC는 데이터 소스와 상기 암복호화 엔진 사이에서 상기 제1평문 데이터 또는 상기 제2평문 데이터의 전송을 제어하는 CPU(central processing unit)를 더 포함할 수 있다.
실시 예에 따라 시스템-인 패키지(system-in pakage)는 상기 SoC와, 상기 SoC의 제어에 따라, 불휘발성 메모리와 데이터를 통신하는 데이터 소스를 포함할 수 있다.
다른 실시 예에 따라 시스템-인 패키지는 상기 SoC와, 불휘발성 메모리와, 상기 SoC의 제어에 따라, 상기 불휘발성 메모리와 데이터를 통신하는 데이터 소스를 포함할 수 있다.
본 발명의 다른 실시 예에 따른 데이터 소스와 불휘발성 메모리 사이에서 데이터의 전송을 제어하는 시스템 온 칩(SoC)은 상기 데이터를 전송하기 위한 제1데이터 패스를 포함하고, 상기 제1데이터 패스는 상기 불휘발성 메모리를 제어할 수 있는 메모리 컨트롤러와, 상기 메모리 컨트롤러에 직접 접속되고, 상기 데이터를 암호화 또는 복호화하는 암복호화 엔진을 포함할 수 있다.
본 발명의 실시 예에 따른 전자 장치는 데이터 소스와, 불휘발성 메모리와, 상기 데이터 소스와 상기 불휘발성 메모리 사이에서 데이터의 전송을 제어하는 시스템 온 칩(SoC)을 포함하고, 상기 SoC는 상기 불휘발성 메모리를 제어하는 메모리 컨트롤러와, 상기 메모리 컨트롤러와 직접 접속되고, 상기 데이터를 암호화 또는 복호화하는 암복호화 엔진을 포함할 수 있다.
상기 암복호화 엔진은 OTP(one-time programmable) 메모리에 저장된 암호키를 이용하여 상기 데이터를 암호화 또는 복호화할 수 있다.
본 발명의 실시 예에 따른 시스템 온 칩(SoC)은 상기 SoC 내부에서 데이터를 암호화하므로, 상기 SoC의 외부에서 상기 데이터를 프로빙을 할 수 없는 효과가 있다.
상기 SoC는 암호화에 필요한 암호키를 상기 SoC의 내부에 저장하므로 상기 암호키의 노출을 방지하는 효과가 있다.
상기 SoC는 암호화에 필요한 암호키를 소프트웨어가 액세스할 수 없으므로 해킹에 의해 상기 암호키가 유출되는 것을 방지하는 효과가 있다.
상기 SoC의 소프트웨어는 암호화에 개입하지 않으므로 상기 소프트웨어의 부담을 증가시키지 않는 효과가 있다.
상기 SoC는 상기 SoC의 내부에 구현된 암복호화 엔진과 메모리 컨트롤러를 직접 접속시킴으로써, 상기 SoC의 내부의 데이터 전송 경로를 감소시킬 수 있는 효과가 있다. 따라서, 상기 SoC의 성능이 향상되는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 시스템 온 칩을 포함하는 시스템의 블록도이다.
도 2는 도 1에 도시된 시스템 온 칩의 일 실시 예에 따른 블록도이다.
도 3은 도 2에 도시된 암복호화 엔진으로 암호키를 입력할 수 있는 보안 모드를 설명하기 위한 개념도이다.
도 4는 도 1에 도시된 시스템 온 칩의 다른 실시 예에 따른 블록도이다.
도 5는 도 1에 도시된 시스템 온 칩의 또 다른 실시 예에 따른 블록도이다.
도 6은 도 1에 도시된 시스템 온 칩의 또 다른 실시 예에 따른 블록도이다.
도 7은 도 1에 도시된 시스템 온 칩의 또 다른 실시 예에 따른 블록도이다.
도 8은 도 7에 도시된 선택 회로와 암복호화 엔진의 블록도이다.
도 9는 도 1에 도시된 시스템 온 칩의 또 다른 실시 예에 따른 블록도이다.
도 10은 본 발명의 일 실시 예에 따른 시스템 온 칩의 동작 방법을 설명하기 위한 플로우 차트이다.
도 11은 본 발명의 다른 실시 예에 따른 시스템 온 칩의 동작 방법을 설명하기 위한 플로우 차트이다.
도 12는 본 발명의 또 다른 실시 예에 따른 시스템 온 칩의 동작 방법을 설명하기 위한 플로우 차트이다.
도 13은 본 발명의 또 다른 실시 예에 따른 시스템 온 칩의 동작 방법을 설명하기 위한 플로우 차트이다.
도 14는 도 1에 도시된 시스템을 포함하는 데이터 처리 장치 장치의 일 실시 예에 따른 블록도이다.
도 15는 도 1에 도시된 시스템을 포함하는 데이터 처리 장치 장치의 다른 실시 예에 따른 블록도이다.
도 16은 도 1에 도시된 시스템을 포함하는 데이터 처리 장치 장치의 또 다른 실시 예에 따른 블록도이다.
도 17은 도 1에 도시된 시스템 온 칩을 포함하는 시스템 인 패키지와 불휘발성 메모리 장치의 블록도이다.
도 18은 도 1에 도시된 시스템 온 칩을 포함하는 시스템 인 패키지의 다른 실시 예에 따른 블록도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에" 또는 "~에 이웃하는"등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 다수개의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 명세서에서 "직접 전송하다"라고 언급된 때에는, 전송 중에 다른 구성에 의한 처리 과정을 거치지 않고 데이터를 전송하는 것을 의미할 수 있다.
본 명세서에서 "직접 접속되다"라고 언급된 때에는, 중간에 다른 구성을 두지 않고 배선(wiring), 멀티플렉서(multiplexer), 및/또는 디멀티플렉서(demultiplexer) 등을 통해 접속되는 것을 의미할 수 있다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 시스템 온 칩을 포함하는 시스템의 블록도이다.
도 1을 참조하면, 시스템(10)은 시스템 온 칩(system on chip(SoC);100), 불휘발성 메모리 장치(non-volatile memory device; 200), 및 메인 메모리(main memory; 300)를 포함할 수 있다.
실시 예에 따라, 시스템(10)은 PC(personal computer), 데이터 서버(data server), 또는 휴대용 장치(portable device)로 구현될 수 있다.
예컨대, 휴대용 장치는 랩탑 컴퓨터(laptop computer), 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, PDA(personal digital assistant), EDA (enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP (portable multimedia player), PDN(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 또는 e-북(e-book) 등으로 구현될 수 있다.
SoC(100)은 불휘발성 메모리 장치(200)와 메인 메모리(300) 사이의 데이터의 송수신을 제어할 수 있다.
SoC(100)의 구성과 동작은 도 2, 및 도 4부터 도 9를 참조하여 상세히 설명된다.
불휘발성 메모리 장치(200)는 각종 프로그램들(programs)과 데이터를 저장할 수 있다.
실시 예에 따라, 불휘발성 메모리 장치(200)는 EEPROM(electrically erasable programmable read-only Memory), 플래시 메모리(flash memory), MRAM (magnetic RAM), 스핀전달토크 MRAM(spin-transfer torque MRAM), Conductive bridging RAM(CBRAM), FeRAM (ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(resistive RAM (RRAM)), 나노튜브 RRAM(nanotube RRAM), 폴리머 RAM (polymer RAM: PoRAM), 나노 부유 게이트 메모리(nano floating gate memory: NFGM), 홀로그래픽 메모리(holographic memory), 분자 전자 메모리 소자 (molecular electronics memory device), 또는 절연 저항 변화 메모리(insulator resistance change memory) 등으로 구현될 수 있으나 본 발명의 범위가 이에 한정되는 것은 아니다.
메인 메모리(300)는 SoC(100)에서 실행될 프로그램과 SoC(100)에서 필요한 데이터를 SoC(100)을 통하여 불휘발성 메모리 장치(200)로부터 수신할 수 있다.
메인 메모리(300)는 저장될 데이터를 SoC(100)를 통하여 불휘발성 메모리 장치(200)로 전송할 수 있다.
실시 예에 따라, 메인 메모리(300)는 휘발성 메모리인 RAM(random access memory), 예컨대 DRAM(dynamic RAM) 또는 SRAM(static RAM)으로 구현될 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 2는 도 1에 도시된 시스템 온 칩의 일 실시 예에 따른 블록도이다.
도 2를 참조하면, 도 1의 SoC(100)의 일 실시 예에 따른 SoC(100A)은 버스 (bus; 110), CPU(central processing unit; 120), 메모리 컨트롤러(memory controller; 130), 불휘발성 메모리 컨트롤러(140), 및 암복호화 엔진 (encryption/decryption engine; 150)을 포함할 수 있다.
CPU(120)는 버스(110)에 접속되고 SoC(100A)의 전반적인 동작을 제어할 수 있다.
메모리 컨트롤러(130)는 메인 메모리(300)의 동작, 예컨대 리드(read) 동작 또는 라이트(write) 동작을 제어할 수 있다.
메모리 컨트롤러(130)는 버스(110)에 접속될 수 있다.
불휘발성 메모리 컨트롤러(140)는 불휘발성 메모리 장치(200)의 데이터 액세스 동작, 예컨대 리드(read) 동작, 라이트(write) 동작, 프로그램(program) 동작, 또는 이레이즈(erase) 동작 등을 제어할 수 있다.
암복호화 엔진(150)은 메인 메모리(300)로부터 메모리 컨트롤러(130)와 버스 (110)를 통하여 전송된 평문 데이터(plain data)를 암호문 데이터(cipher data)로 변환, 즉 암호화할 수 있다.
암복호화 엔진(150)은 암호문 데이터를 버스(110)를 경유하지 않고 불휘발성 메모리 컨트롤러(140)로 직접, 예컨대 온-더-플라이(on-the-fly)로 전송할 수 있다.
실시 예에 따라, 암복호화 엔진(150)은 불휘발성 메모리 컨트롤러(140)로부터 출력된 암호문 데이터를 버스(110)를 경유하지 않고 직접, 예컨대 온-더-플라이로 수신할 수 있다. 암복호화 엔진(150)은 암호문 데이터를 평문 데이터로 변환, 예컨대 복호화할 수 있다.
암복호화 엔진(150)의 암호화 과정 또는 복호화 과정에는 암호키가 사용될 수 있다. 실시 예에 따라, 암복호화 엔진(150)은 상기 암호키를 저장하기 위한 저장 매체(미도시)를 포함할 수 있다. 다른 실시 예에 따라, 상기 암호키는 보안 모드(secure mode)에서만 상기 저장 매체로 입력 가능하도록 설정될 수 있다. 상기 보안 모드는 도 3을 참조하여 상세히 설명된다.
실시 예에 따라, 암복호화 엔진(150)은 데이터를 정해진 크기, 예컨대 64비트, 128비트, 또는 256 비트의 블록(block) 단위로 암호화 또는 복호화할 수 있다.
이 경우, 암호화 또는 복호화를 위한 암호키와 알고리즘(algorithm)은 블록 단위로 적용될 수 있다.
실시 예에 따라, 상기 알고리즘은 DES(data encryption standard) 알고리즘 또는 AES(advanced encryption standard algorithm) 알고리즘일 수 있 수 있으나 이에 한정되는 것은 아니다.
실시 예에 따라, 암호화 엔진(150)이 데이터를 블록 단위로 변환, 예컨대 암호화 또는 복호화하는 방법을 결정하는 암호 모드는 ECB(electronic code book) 모드, CBC(cipher block chaining) 모드, PCBC(propagating cipher block chaining) 모드, 또는 CFB(cipher feed back) 모드일 수 있으며, 본 발명의 범위가 이에 한정되는 것은 아니다.
데이터가 불휘발성 메모리 장치(200)에 라이트될 때의 라이트 데이터 패스 (write data path; WP)를 설명하면, 메인 메모리(300)로부터 출력된 평문 데이터는 메모리 컨트롤러(130)와 버스(110)를 통하여 CPU(120)로 전송된 후, 상기 평문 데이터는 CPU(120)로부터 버스(110)를 통하여 암복호화 엔진(150)으로 전송된다.
즉, CPU(120)의 제어에 따라 평문 데이터는 암복호화 엔진(150)으로 전송된다.
암복호화 엔진(150)은 암호키를 이용하여 평문 데이터를 암호문 데이터로 변환한다. 상기 암호문 데이터는 불휘발성 메모리 컨트롤러(140)를 통하여 불휘발성 메모리 장치(200)로 전송될 수 있다.
데이터가 불휘발성 메모리 장치(200)로부터 리드될 때의 리드 데이터 패스 (read data path; RP)를 설명하면, 불휘발성 메모리 장치(200)로부터 출력된 암호문 데이터는 불휘발성 메모리 컨트롤러(140)를 통하여 암복호화 엔진(150)으로 직접 전송된다.
암복호화 엔진(150)은 암호키를 이용하여 상기 암호문 데이터를 평문 데이터로 변환한다. 상기 평문 데이터는 버스(110)를 통하여 CPU(120)로 전송된 후, 상기 평문 데이터는 CPU(120)로부터 버스(110)와 메모리 컨트롤러(130)를 통하여 메인 메모리(300)로 전송될 수 있다. 즉, CPU(120)의 제어에 따라 평문 데이터는 버스(110)와 메모리 컨트롤러(130)를 통하여 메인 메모리(300)로 전송될 수 있다.
도 3은 도 2에 도시된 암복호화 엔진으로 암호키를 입력할 수 있는 보안 모드를 설명하기 위한 개념도이다.
도 2와 도 3을 참조하면, 운영 체제(operating system(OS))는 하드웨어 (hardware)를 관리하고, 응용 프로그램(application program)을 실행시키기 위해 상기 하드웨어에 설치될 수 있다.
보안 운영 체제(secure OS)는 보안이 요구되는 보안 응용 프로그램(secure application program)을 실행시키기 위해 일반적인 운영 체제(OS)와는 별개로 하드웨어에 설치될 수 있다.
실시 예에 따라, 보안 운영 체제(secure OS)는 정해진 시간 내에 실행이 완료되어야 하는 응용 프로그램, 예컨대 보안 응용 프로그램(secure application program)을 실행시키기 위해 실시간 운영 체제(real time operating system(RTOS))로 구현될 수 있다.
비-보안 모드(non-secure mode)라 함은 운영 체제(OS)에 의해 응용 프로그램이 실행되는 경우를 의미할 수 있고, 보안 모드(secure mode)라 함은 보안 운영 체제(secure OS)에 의해 보안 응용 프로그램이 실행되는 경우를 의미할 수 있다.
보안 모드에서 보안 응용 프로그램이 실행됨에 따라, CPU(120)는 암복호화 엔진(150)에 암호키를 입력하거나, 암복호화 엔진(150)의 내부 또는 외부에 저장되어 있는 암호키를 액세스할 수 있다. 실시 예에 따라, 보안 모드에서 보안 응용 프로그램이 실행됨에 따라, 암호키는 변경되거나 또는 재설정될 수 있다.
도 4는 도 1에 도시된 시스템 온 칩의 다른 실시 예에 따른 블록도이다.
도 1부터 도 4를 참조하면, 도 1의 SoC(100)의 다른 실시 예에 따른 SoC (100B)은 버스(110), CPU(120), 메모리 컨트롤러(130), 불휘발성 메모리 컨트롤러 (140), 암복호화 엔진(150), 및 OTP 메모리(one-time programmable memory; 160)를포함할 수 있다.
OTP 메모리(160)는 암복호화 엔진(150)의 암호화 과정 또는 복호화 과정에서 사용될 수 있는 암호키를 저장할 수 있다. 실시 예에 따라, OTP 메모리(160)는 퓨즈(fuse), 안티 퓨즈(anti-fuse), 또는 e-퓨즈로 구현될 수 있다.
도 4의 SoC(100B)는 도 2의 SoC(100A)와 달리, 보안 모드에서 보안 응용 프로그램이 실행되더라도 CPU(120)는 OTP 메모리(160)에 저장된 암호키를 액세스, 예컨대 리드(read), 라이트(write), 또는 이레이즈(erase)할 수 없도록 구현될 수 있다.
데이터의 암호화 또는 복호화에 사용될 수 있는 암호키가 OTP 메모리(160)로부터 암복호화 엔진(150)으로 공급되는 것을 제외하면, 도 4의 SoC(100B)의 라이트 데이터 패스(WP)와 리드 데이터 패스(RP) 각각은 도 2의 SoC(100A)의 라이트 데이터 패스(WP)와 리드 데이터 패스(RP) 각각과 실질적으로 동일하다.
도 5는 도 1에 도시된 시스템 온 칩의 또 다른 실시 예에 따른 블록도이다.
도 1과 도 5를 참조하면, 도 1의 SoC(100)의 또 다른 실시 예에 따른 SoC (100C)는 버스(110), CPU(120), 메모리 컨트롤러(130), 불휘발성 메모리 컨트롤러 (140), 암복호화 엔진(150), OTP 메모리(160), 및 DMA 유닛(direct memory access unit; 170)을 포함할 수 있다.
DMA 유닛(170)은 CPU(120)를 통하지 않고 필요한 구성(예컨대, 130, 140, 또는 150)을 통하여 메인 메모리(300) 또는 불휘발성 메모리 장치(200)를 액세스할 수 있다. 이때, DMA 유닛(170)은 버스(110)에 접속될 수 있다.
불휘발성 메모리 장치(200)가 데이터를 라이트할 때의 라이트 데이터 패스 (WP)를 설명하면, 메인 메모리(300)로부터 출력된 평문 데이터는 메모리 컨트롤러 (130)와 버스(110)를 통하여 DMA 유닛(170)으로 전송된다. 상기 평문 데이터는 DMA 유닛(170)으로부터 버스(110)를 통하여 암복호화 엔진(150)으로 전송된다.
암복호화 엔진(150)은 상기 평문 데이터를 암호문 데이터로 변환한다. 암복호화 엔진(150)으로부터 출력된 암호문 데이터는 직접 불휘발성 메모리 컨트롤러 (140)로 전송된 후 불휘발성 메모리 장치(200)로 전송될 수 있다.
즉, 암복호화 엔진(150)은 암호문 데이터를 불휘발성 메모리 컨트롤러(140)로 직접, 예컨대 온-더-플라이(on-the-fly)로 전송할 수 있다.
데이터가 불휘발성 메모리 장치(200)로부터 리드될 때의 리드 데이터 패스 (RP)를 설명하면, 불휘발성 메모리 장치(200)로부터 출력된 암호문 데이터는 불휘발성 메모리 컨트롤러(140)를 통하여 암복호화 엔진(150)으로 전송된다.
즉, 암복호화 엔진(150)은 불휘발성 메모리 컨트롤러(140)로부터 출력된 암호문 데이터를 직접, 예컨대 온-더-플라이로 수신할 수 있다.
암복호화 엔진(150)은 암호문 데이터를 평문 데이터로 변환한다. 상기 평문 데이터는 버스(110)를 통하여 DMA 유닛(170)으로 전송된다. 상기 평문 데이터는 DMA 유닛(170)으로부터 버스(110)와 메모리 컨트롤러(130)를 통하여 메인 메모리 (300)로 전송될 수 있다.
도 6은 도 1에 도시된 시스템 온 칩의 또 다른 실시 예에 따른 블록도이다.
도 1과 도 6을 참조하면, 도 1의 SoC(100)의 또 다른 실시 예에 따른 SoC (100D)은 버스(110), CPU(120), 메모리 컨트롤러(130), 불휘발성 메모리 컨트롤러 (140), 암복호화 엔진(150), OTP 메모리(160), 및 DMA 유닛(170)을 포함할 수 있다.
DMA 유닛(170)은 버스(110)와 암복호화 엔진(150) 사이에 접속될 수 있다. 데이터는 DMA 유닛(170)과 암복호화 엔진(150) 사이에서 온-더-플라이로 전송될 수 있다.
불휘발성 메모리 장치(200)가 데이터를 라이트할 때의 라이트 데이터 패스 (WP)를 설명하면, 메인 메모리(300)로부터 출력된 평문 데이터는 메모리 컨트롤러 (130), 버스(110), 및 DMA 유닛(170)을 통하여 암복호화 엔진(150)으로 전송된다.
암복호화 엔진(150)은 상기 평문 데이터를 암호문 데이터로 변환, 예컨대 암호화할 수 있다. 상기 암호문 데이터는 불휘발성 메모리 컨트롤러(140)를 통하여 불휘발성 메모리 장치(200)로 전송될 수 있다.
이때, 암복호화 엔진(150)은 불휘발성 메모리 컨트롤러(140)로 암호문 데이터를 직접, 예컨대 온-더-플라이로 전송할 수 있다.
불휘발성 메모리 장치(200)가 데이터를 리드할 때의 리드 데이터 패스(RP)를 설명하면, 불휘발성 메모리 장치(200)로부터 출력된 암호문 데이터는 불휘발성 메모리 컨트롤러(140)를 통하여 암복호화 엔진(150)으로 전송된다.
이때, 암복호화 엔진(150)은 불휘발성 메모리 컨트롤러(140)로부터 암호문 데이터를 직접, 예컨대 온-더-플라이로 수신할 수 있다.
암복호화 엔진(150)은 상기 암호문 데이터를 평문 데이터로 변환, 예컨대 복호화할 수 있다. 상기 평문 데이터는 DMA 유닛(170), 버스(110), 및 메모리 컨트롤러(130)를 통하여 메인 메모리(300)로 전송될 수 있다.
도 7은 도 1에 도시된 시스템 온 칩의 또 다른 실시 예에 따른 블록도이다.
도 1, 도 3, 및 도 7을 참조하면, 도 1의 SoC(100)의 또 다른 실시 예에 따른 SoC(100E)는 버스(110), CPU(120), 메모리 컨트롤러(130), 불휘발성 메모리 컨트롤러(140), 암복호화 엔진(150), OTP 메모리(160), DMA 유닛(170), 레지스터 (register; 180), 및 선택 회로(selection circuit; 190)를 포함할 수 있다.
레지스터(180)는 버스(110)에 접속될 수 있다. 레지스터(180)는 선택 신호 (SEL)를 발생시키는 선택 신호 발생기로서 동작할 수 있다.
실시 예에 따라, 레지스터(180)는 CPU(120)가 보안 응용 프로그램을 실행하는지의 여부, 즉 보안 모드를 지시하는 지시 신호에 기초하여 선택 신호(SEL)를 변경할 수 있다. 상기 지시 신호는 CPU(120)로부터 출력될 수 있다.
예컨대, 보안 모드에서 상기 지시 신호의 로직 레벨은 하이(high)이고, 비-보안 모드에서 상기 지시 신호의 로직 레벨은 로우(low)일 수 있다.
선택 회로(190)는 레지스터(180)로부터 출력된 선택 신호(SEL)에 따라 데이터 패스를 선택할 수 있다.
선택 회로(190)의 구조와 동작은 도 8을 참조하여 상세히 설명된다.
도 8은 도 7에 도시된 선택 회로와 암복호화 엔진의 블록도이다.
도 3, 도 7, 및 도 8을 참조하면, 선택 회로(190)는 제1선택기(192)와 제2선택기(194)를 포함할 수 있다.
실시 예에 따라, 제1선택기(192)는 디멀티플렉서(demultiplexer)로 구현될 수 있고, 제2선택기(194)는 멀티플렉서(multiplexer)로 구현될 수 있다.
선택 회로(190)는, 선택 신호(SEL)의 로직 레벨이 하이일 때, 데이터가 암복호화 엔진(150)을 포함하는 데이터 패스를 선택할 수 있다. 실시 예에 따라, CPU (120)가 보안 응용 프로그램을 실행할 때, 즉 보안 모드일 때, 선택 회로(190)는 암복호화 엔진(150)을 포함하는 데이터 패스를 선택할 수 있다.
그러나, 선택 회로(190)는, 선택 신호(SEL)의 로직 레벨이 로우일 때, 암복호화 엔진(150)을 포함하지 않는 데이터 패스, 즉 바이패스(bypass) 패스를 선택할 수 있다. 실시 예에 따라, CPU(120)가 일반 응용 프로그램을 실행할 때, 즉 비-보안 모드일 때, 선택 회로(190)는 암복호화 엔진(150)을 포함하지 않는 데이터 패스, 즉 바이패스(bypass) 패스를 선택할 수 있다.
도 9는 도 1에 도시된 시스템 온 칩의 또 다른 실시 예에 따른 블록도이다.
도 1, 도 8, 및 도 9를 참조하면, 도 1의 SoC(100)의 또 다른 실시 예에 따른 SoC(100F)은 버스(110), CPU(120), 메모리 컨트롤러(130), 불휘발성 메모리 컨트롤러(140), 암복호화 엔진(150), OTP 메모리(160), DMA 유닛(170), OTP 메모리 (182), 및 선택 회로(190)를 포함할 수 있다.
OTP 메모리(182)는 선택 신호(SEL)를 발생시키는 선택 신호 발생기로서 동작할 수 있다. 실시 예에 따라, OTP 메모리(182)는 하나의 레벨, 예컨대 하이 레벨을 갖는 선택 신호(SEL)를 발생하도록 프로그램될 수 있다. 이때, 선택 회로(190)는 암복호화 엔진(150)을 포함하는 데이터 패스만을 선택할 수 있다.
도 10은 본 발명의 일 실시 예에 따른 시스템 온 칩의 동작 방법을 설명하기 위한 플로우 차트이다.
도 2, 도 4부터 도 7, 도 9, 및 도 10을 참조하면, 암복호화 엔진(150)은 암호키를 이용하여 평문 데이터를 암호문 데이터로 변환, 즉 암호화할 수 있다(S10).
암복호화 엔진(150)은 상기 암호화 데이터를 불휘발성 메모리 컨트롤러(140)로 직접, 예컨대 온-더-플라이로 전송할 수 있다(S12). 따라서, 암호키와 암호화 데이터는 SoC(100)의 내부에 존재하므로 프로빙(probing)에 강한 효과가 있다.
도 11은 본 발명의 다른 실시 예에 따른 시스템 온 칩의 동작 방법을 설명하기 위한 플로우 차트이다.
도 5부터 도 7, 도 9, 및 도 10을 참조하면, 암복호화 엔진(150)은 평문 데이터를 DMA 유닛(170)으로부터 수신할 수 있다(S20).
실시 예에 따라, 암복호화 엔진(150)은 평문 데이터를 DMA 유닛(170)으로부터 직접, 예컨대 온-더-플라이로 수신할 수 있다.
도 12는 본 발명의 또 다른 실시 예에 따른 시스템 온 칩의 동작 방법을 설명하기 위한 플로우차트이다.
도 2, 도 4부터 도 7, 도 9, 및 도 10을 참조하면, 암복호화 엔진(150)은 불휘발성 메모리 컨트롤러(140)로부터 암호문 데이터를 직접, 예컨대 온-더-플라이로 수신할 수 있다(S30).
암복호화 엔진(150)은 상기 암호문 데이터를 평문 데이터로 복호화할 수 있다(S32).
도 13은 본 발명의 또 다른 실시 예에 따른 시스템 온 칩의 동작 방법을 설명하기 위한 플로우차트이다.
도 5부터 도 7, 도 9, 및 도 13을 참조하면, 암복호화 엔진(150)은 평문 데이터를 DMA 유닛(170)으로 전송할 수 있다(S34).
실시 예에 따라, 암복호화 엔진(150)은 평문 데이터를 DMA 유닛(170)으로 직접, 예컨대 온-더-플라이로 전송할 수 있다.
도 14는 도 1에 도시된 시스템을 포함하는 데이터 처리 장치 장치의 일 실시 예에 따른 블록도이다.
도 1과 도 14를 참조하면, 데이터 처리 장치(400)는 PC(personal computer) 또는 데이터 서버로 구현될 수 있다.
데이터 처리 장치(400)는 프로세서(100), 저장 장치(200), 메모리(300), 파워 소스(410), 입출력 포트들(420), 확장 카드(430), 네트워크 장치(440), 및 디스플레이(450)를 포함한다. 실시 예에 따라. 데이터 처리 장치(400)는 카메라 모듈 (460)을 더 포함할 수 있다.
프로세서(100)는 도 1에 도시된 SoC(100)를 의미할 수 있다. 프로세서(100)는 멀티-코어(multi-core) 프로세서일 수 있다. 실시 예에 따라, 프로세서(100)는 도 1에 도시된 SoC(100)를 포함할 수 있다.
프로세서(100)는 구성 요소들(elements; 200, 300, 및 410~460) 중에서 적어도 하나의 동작을 제어할 수 있다.
저장 장치(200)는 도 1에 도시된 불휘발성 메모리 장치(200)를 의미할 수 있다. 실시 예에 따라, 저장 장치(200)는 하드디스크 드라이브(hard disk drive) 또는 SSD(solid state drive)로 구현될 수 있다.
메모리(300)는 도 1에 도시된 메인 메모리(300)를 의미할 수 있다. 메모리 (300)는 휘발성 메모리 또는 불휘발성 메모리로 구현될 수 있다.
실시 예에 따라, 메모리(300)에 대한 데이터 액세스 동작, 예컨대, 리드 동작, 라이트 동작(또는 프로그램 동작), 또는 이레이즈 동작을 제어할 수 있는 메모리 컨트롤러(도 2의 140)는 프로세서(100)에 집적 또는 내장될 수 있다.
파워 소스(410)는 구성 요소들(100, 200, 300 및 420~460) 중에서 적어도 하나로 동작 전압을 공급할 수 있다.
입출력 포트들(420)은 데이터 저장 장치(200)로 데이터를 전송하거나 데이터 저장 장치(200)로부터 출력된 데이터를 외부 장치로 전송할 수 있는 포트들을 의미할 수 있다. 예컨대, 입출력 포트들(420)은 컴퓨터 마우스와 같은 포인팅 장치 (pointing device)를 접속하기 위한 포트, 프린터를 접속하기 위한 포트, 또는 USB(universal serial bus) 드라이브를 접속하기 위한 포트일 수 있다.
확장 카드(430)는 SD(secure digital) 카드 또는 MMC(multimedia card)로 구현될 수 있다. 실시 예에 따라, 확장 카드(430)는 SIM (Subscriber Identification Module) 카드 또는 USIM(Universal Subscriber Identity Module) 카드일 수 있다.
네트워크 장치(440)는 데이터 저장 장치(200)를 유선 네트워크 또는 무선 네트워크에 접속시킬 수 있는 장치를 의미한다.
디스플레이(450)는 저장 장치(200), 메모리(300), 입출력 포트들(420), 확장 카드(430), 또는 네트워크 장치(440)로부터 출력된 데이터를 디스플레이할 수 있다.
카메라 모듈(460)은 광학 이미지를 전기적인 이미지로 변환할 수 있는 모듈을 의미한다. 따라서, 카메라 모듈(460)로부터 출력된 전기적인 이미지는 저장 장치(200), 메모리(300), 또는 확장 카드(430)에 저장될 수 있다.
또한, 카메라 모듈(460)로부터 출력된 전기적인 이미지는 디스플레이(450)를 통하여 디스플레이될 수 있다.
도 15는 도 1에 도시된 시스템을 포함하는 데이터 처리 장치 장치의 다른 실시 예에 따른 블록도이다.
도 1과 도 15를 참조하면, 데이터 처리 장치(500)는 랩탑(laptop) 컴퓨터로 구현될 수 있다.
도 16은 도 1에 도시된 시스템을 포함하는 데이터 처리 장치 장치의 또 다른 실시 예에 따른 블록도이다.
도 1과 도 16을 참조하면, 데이터 처리 장치(600)는 휴대용 장치로 구현될 수 있다. 휴대용 장치(600)는 이동 전화기, 스마트 폰(smart phone), 태블릿 (tablet) PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라 (digital still camera), 디지털 비디오 카메라 (digital video camera), PMP (portable multimedia player), PDN(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 또는 e-북(e-book)으로 구현될 수 있다.
도 17은 도 1에 도시된 시스템 온 칩을 포함하는 시스템-인 패키지와 불휘발성 메모리 장치의 블록도이고, 도 18은 도 1에 도시된 시스템 온 칩을 포함하는 시스템-인 패키지의 다른 실시 예에 따른 블록도이다.
도 1과 도 17을 참조하면, SoC(100)와 메인 메모리(300)는 시스템-인 패키지 (system-in pakage(SiP); 700)로 패키징될 수 있다.
도 1과 도 18을 참조하면, SoC(100), 불휘발성 메모리 장치(200), 및 메인 메모리(300)는 SiP(700')로 패키징될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10: 시스템
100: 시스템 온 칩(SoC)
110: 버스
120: CPU(central processing unit)
130: 메모리 컨트롤러
140: 불휘발성 메모리 컨트롤러
150: 암복호화 엔진
160: OTP(one-time programmable) 메모리
170: DMA(direct memory access)
200: 불휘발성 메모리 장치
300 : 메인 메모리

Claims (20)

  1. 암호키를 이용하여 암복호화 엔진에 의해 평문 데이터를 암호문 데이터로 변환하는 단계; 및
    상기 암호문 데이터를 불휘발성 메모리의 동작을 제어하는 불휘발성 메모리 컨트롤러로 직접 전송하는 단계를 포함하며,
    상기 암복호화 엔진은 상기 불휘발성 메모리 컨트롤러에 직접 접속되어, 상기 암복호화 엔진 및 상기 불휘발성 메모리 컨트롤러 사이에는 어떠한 장치(device)도 연결되지 않은 것을 특징으로 하는 시스템 온 칩(system on chip(SoC))의 동작 방법.
  2. 제1항에 있어서,
    상기 평문 데이터는 CPU(central processing unit)의 제어에 따라 메인 메모리로부터 버스를 통해 리드된(read) 데이터인 SoC의 동작 방법.
  3. 제1항에 있어서,
    상기 평문 데이터는 DMA(direct memory access) 유닛으로부터 출력된 데이터인 SoC의 동작 방법.
  4. 제1항에 있어서,
    상기 암호키는 OTP(one-time programmable) 메모리로부터 출력되는 SoC의 동작 방법.
  5. 제1항에 있어서,
    상기 암호키는 보안 프로그램(secure program)에 의해서만 입력가능한 SoC의 동작 방법.
  6. 제1항에 있어서, 상기 변환하는 단계는,
    상기 평문 데이터를 블록 단위로 상기 암호문 데이터로 변환하는 SoC의 동작 방법.
  7. 불휘발성 메모리의 동작을 제어하는 불휘발성 메모리 컨트롤러로부터 암호문 데이터를 직접 수신하는 단계; 및
    암호키를 이용하여 암복호화 엔진에 의해 상기 암호문 데이터를 평문 데이터로 변환하는 단계를 포함하며,
    상기 암복호화 엔진은 상기 불휘발성 메모리 컨트롤러에 직접 접속되어, 상기 암복호화 엔진 및 상기 불휘발성 메모리 컨트롤러 사이에는 어떠한 장치(device)도 연결되지 않은 것을 특징으로 하는 시스템 온 칩(system on chip(SoC))의 동작 방법.
  8. 제7항에 있어서,
    상기 평문 데이터를 DMA(direct memory access) 유닛으로 전송하는 단계를 더 포함하는 SoC의 동작 방법.
  9. 제7항에 있어서,
    상기 암호키는 OTP(one-time programmable) 메모리로부터 출력되는 SoC의 동작 방법.
  10. 제7항에 있어서,
    상기 암호키는 보안 프로그램(secure program)에 의해서만 입력가능한 SoC의 동작 방법.
  11. 제7항에 있어서, 상기 변환하는 단계는,
    상기 암호문 데이터를 블록 단위로 상기 평문 데이터로 변환하는 SoC의 동작 방법.
  12. 암호키를 이용하여, 제1평문 데이터(plain data)를 제1암호문 데이터(cipher data)를 암호화하거나 제2암호문 데이터를 제2평문 데이터로 복호화하는 암복호화 엔진; 및
    상기 제1암호문 데이터를 불휘발성 메모리로 전송하거나 상기 불휘발성 메모리로부터 상기 제2암호문 데이터를 수신하는 불휘발성 메모리 컨트롤러를 포함하며,
    상기 암복호화 엔진은 상기 불휘발성 메모리 컨트롤러에 직접 접속되어, 상기 암복호화 엔진 및 상기 불휘발성 메모리 컨트롤러 사이에는 어떠한 장치(device)도 연결되지 않은 것을 특징으로 하는 시스템 온 칩(system on chip(SoC)).
  13. 제12항에 있어서,
    상기 암호키를 저장하는 OTP(one-time programmable) 메모리를 더 포함하는 SoC.
  14. 제12항에 있어서,
    데이터 소스로부터 전송된 상기 제1평문 데이터를 상기 암복호화 엔진으로 전송하거나 상기 암복호화 엔진으로부터 전송된 상기 제2평문 데이터를 상기 데이터 소스로 전송하는 DMA(direct memory access) 유닛을 더 포함하는 SoC.
  15. 제14항에 있어서,
    상기 DMA 유닛은 상기 암복호화 엔진과 직접 접속되는 SoC.
  16. 제12항에 있어서,
    데이터 소스와 상기 암복호화 엔진 사이에서 상기 제1평문 데이터 또는 상기 제2평문 데이터의 전송을 제어하는 CPU(central processing unit)를 더 포함하는 SoC.
  17. 제12항의 상기 SoC; 및
    상기 SoC의 제어에 따라, 불휘발성 메모리와 데이터를 통신하는 데이터 소스를 포함하는 시스템-인 패키지(system-in pakage).
  18. 제12항의 상기 SoC;
    불휘발성 메모리; 및
    상기 SoC의 제어에 따라, 상기 불휘발성 메모리와 데이터를 통신하는 데이터 소스를 포함하는 시스템-인 패키지.
  19. 데이터 소스;
    불휘발성 메모리; 및
    상기 데이터 소스와 상기 불휘발성 메모리 사이에서 데이터의 전송을 제어하는 시스템 온 칩(SoC)을 포함하고,
    상기 SoC는,
    상기 불휘발성 메모리를 제어하는 불휘발성 메모리 컨트롤러; 및
    상기 데이터를 암호화 또는 복호화하는 암복호화 엔진을 포함하며,
    상기 암복호화 엔진은 상기 불휘발성 메모리 컨트롤러에 직접 접속되어, 상기 암복호화 엔진 및 상기 불휘발성 메모리 컨트롤러 사이에는 어떠한 장치(device)도 연결되지 않은 것을 특징으로 하는 전자 장치.
  20. 제19항에 있어서,
    상기 암복호화 엔진은 OTP(one-time programmable) 메모리에 저장된 암호키를 이용하여 상기 데이터를 암호화 또는 복호화하는 전자 장치.
KR1020120047743A 2012-05-04 2012-05-04 시스템 온 칩, 이의 동작 방법, 이를 포함하는 장치들 Active KR101975027B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020120047743A KR101975027B1 (ko) 2012-05-04 2012-05-04 시스템 온 칩, 이의 동작 방법, 이를 포함하는 장치들
US13/718,382 US20130297948A1 (en) 2012-05-04 2012-12-18 System on chip, method of operating the same, and devices including the system on chip
DE102013104167A DE102013104167A1 (de) 2012-05-04 2013-04-25 Ein-Chip-System, Verfahren zum Betreiben desselben und Vorrichtung mit dem Ein-Chip-System
CN201310159666.7A CN103383668B (zh) 2012-05-04 2013-05-03 片上系统、操作片上系统的方法和包括片上系统的设备
JP2013097518A JP6239259B2 (ja) 2012-05-04 2013-05-07 システムオンチップとその動作方法、及びそれを含むシステムインパッケージ
US14/702,167 US9489540B2 (en) 2012-05-04 2015-05-01 Memory controller with encryption and decryption engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120047743A KR101975027B1 (ko) 2012-05-04 2012-05-04 시스템 온 칩, 이의 동작 방법, 이를 포함하는 장치들

Publications (2)

Publication Number Publication Date
KR20130126843A KR20130126843A (ko) 2013-11-21
KR101975027B1 true KR101975027B1 (ko) 2019-05-03

Family

ID=49384556

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120047743A Active KR101975027B1 (ko) 2012-05-04 2012-05-04 시스템 온 칩, 이의 동작 방법, 이를 포함하는 장치들

Country Status (5)

Country Link
US (2) US20130297948A1 (ko)
JP (1) JP6239259B2 (ko)
KR (1) KR101975027B1 (ko)
CN (1) CN103383668B (ko)
DE (1) DE102013104167A1 (ko)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2758332C (en) * 2008-08-22 2017-08-22 Qualcomm Incorporated Method and apparatus for transmitting and receiving secure and non-secure data
US20140244513A1 (en) * 2013-02-22 2014-08-28 Miguel Ballesteros Data protection in near field communications (nfc) transactions
US9607178B2 (en) * 2014-03-20 2017-03-28 Qualcomm Incorporated Protection against key tampering
CN103941119B (zh) * 2014-03-27 2016-09-07 北京汇德信科技有限公司 一种多功能可编程信号发生参数测试系统
KR102157668B1 (ko) * 2014-04-03 2020-09-22 에스케이하이닉스 주식회사 호스트와 통신하는 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 컴퓨팅 시스템
US10169618B2 (en) 2014-06-20 2019-01-01 Cypress Semiconductor Corporation Encryption method for execute-in-place memories
US10691838B2 (en) 2014-06-20 2020-06-23 Cypress Semiconductor Corporation Encryption for XIP and MMIO external memories
US10192062B2 (en) * 2014-06-20 2019-01-29 Cypress Semiconductor Corporation Encryption for XIP and MMIO external memories
US9621549B2 (en) * 2014-07-25 2017-04-11 Qualcomm Incorporated Integrated circuit for determining whether data stored in external nonvolative memory is valid
US9298647B2 (en) 2014-08-25 2016-03-29 HGST Netherlands B.V. Method and apparatus to generate zero content over garbage data when encryption parameters are changed
KR102208072B1 (ko) * 2014-09-01 2021-01-27 삼성전자주식회사 데이터 처리 시스템
US9660806B2 (en) * 2014-12-30 2017-05-23 International Business Machines Corporation Carbon nanotube array for cryptographic key generation and protection
US9734117B2 (en) * 2015-01-26 2017-08-15 Western Digital Technologies, Inc. Data storage device and method for integrated bridge firmware to be retrieved from a storage system on chip (SOC)
WO2016122547A1 (en) * 2015-01-29 2016-08-04 Hewlett Packard Enterprise Development Lp Foster twin data structure
WO2016122548A1 (en) * 2015-01-29 2016-08-04 Hewlett Packard Enterprise Development Lp Hash index
KR102347827B1 (ko) * 2015-02-12 2022-01-07 삼성전자주식회사 보안 메시지 전송 장치 및 그 처리 방법
US9560737B2 (en) 2015-03-04 2017-01-31 International Business Machines Corporation Electronic package with heat transfer element(s)
CN106155568B (zh) * 2015-04-03 2019-03-01 华为技术有限公司 一种存储分区的方法及终端
US9779262B2 (en) * 2015-04-20 2017-10-03 Qualcomm Incorporated Apparatus and method to decrypt file segments in parallel
US10426037B2 (en) 2015-07-15 2019-09-24 International Business Machines Corporation Circuitized structure with 3-dimensional configuration
CN106407829A (zh) * 2015-07-30 2017-02-15 宇龙计算机通信科技(深圳)有限公司 基于指纹识别对文件进行加密的方法、装置及移动终端
US9591776B1 (en) 2015-09-25 2017-03-07 International Business Machines Corporation Enclosure with inner tamper-respondent sensor(s)
US9911012B2 (en) 2015-09-25 2018-03-06 International Business Machines Corporation Overlapping, discrete tamper-respondent sensors
US10098235B2 (en) 2015-09-25 2018-10-09 International Business Machines Corporation Tamper-respondent assemblies with region(s) of increased susceptibility to damage
US10175064B2 (en) 2015-09-25 2019-01-08 International Business Machines Corporation Circuit boards and electronic packages with embedded tamper-respondent sensor
US10172239B2 (en) 2015-09-25 2019-01-01 International Business Machines Corporation Tamper-respondent sensors with formed flexible layer(s)
US9894749B2 (en) 2015-09-25 2018-02-13 International Business Machines Corporation Tamper-respondent assemblies with bond protection
US9924591B2 (en) 2015-09-25 2018-03-20 International Business Machines Corporation Tamper-respondent assemblies
US9578764B1 (en) 2015-09-25 2017-02-21 International Business Machines Corporation Enclosure with inner tamper-respondent sensor(s) and physical security element(s)
WO2017058414A1 (en) 2015-09-29 2017-04-06 Apple Inc. Unified addressable memory
KR102458351B1 (ko) * 2015-10-02 2022-10-26 삼성전자주식회사 공개키 암호 시스템 기반의 인증 장치, 그것을 갖는 모바일 장치 및 그것의 인증 방법
US10143090B2 (en) 2015-10-19 2018-11-27 International Business Machines Corporation Circuit layouts of tamper-respondent sensors
US9978231B2 (en) 2015-10-21 2018-05-22 International Business Machines Corporation Tamper-respondent assembly with protective wrap(s) over tamper-respondent sensor(s)
CN105426793B (zh) * 2015-11-17 2018-02-06 无锡江南计算技术研究所 一种多端口设备控制器加解密调度控制方法
US9913389B2 (en) 2015-12-01 2018-03-06 International Business Corporation Corporation Tamper-respondent assembly with vent structure
US10327343B2 (en) 2015-12-09 2019-06-18 International Business Machines Corporation Applying pressure to adhesive using CTE mismatch between components
US9555606B1 (en) 2015-12-09 2017-01-31 International Business Machines Corporation Applying pressure to adhesive using CTE mismatch between components
US10225247B2 (en) * 2015-12-14 2019-03-05 Intel Corporation Bidirectional cryptographic IO for data streams
US9554477B1 (en) 2015-12-18 2017-01-24 International Business Machines Corporation Tamper-respondent assemblies with enclosure-to-board protection
US10382410B2 (en) * 2016-01-12 2019-08-13 Advanced Micro Devices, Inc. Memory operation encryption
WO2017127084A1 (en) 2016-01-21 2017-07-27 Hewlett-Packard Development Company, L.P. Data cryptography engine
US9916744B2 (en) 2016-02-25 2018-03-13 International Business Machines Corporation Multi-layer stack with embedded tamper-detect protection
US9904811B2 (en) 2016-04-27 2018-02-27 International Business Machines Corporation Tamper-proof electronic packages with two-phase dielectric fluid
DE102016116152A1 (de) * 2016-04-30 2017-11-02 Krohne Messtechnik Gmbh Elektrisches Gerät mit einer Funktionseinrichtung
US9913370B2 (en) 2016-05-13 2018-03-06 International Business Machines Corporation Tamper-proof electronic packages formed with stressed glass
US9881880B2 (en) 2016-05-13 2018-01-30 International Business Machines Corporation Tamper-proof electronic packages with stressed glass component substrate(s)
US10762030B2 (en) * 2016-05-25 2020-09-01 Samsung Electronics Co., Ltd. Storage system, method, and apparatus for fast IO on PCIE devices
US9858776B1 (en) 2016-06-28 2018-01-02 International Business Machines Corporation Tamper-respondent assembly with nonlinearity monitoring
US10261919B2 (en) * 2016-07-08 2019-04-16 Hewlett Packard Enterprise Development Lp Selective memory encryption
US10321589B2 (en) 2016-09-19 2019-06-11 International Business Machines Corporation Tamper-respondent assembly with sensor connection adapter
US10299372B2 (en) 2016-09-26 2019-05-21 International Business Machines Corporation Vented tamper-respondent assemblies
US10271424B2 (en) 2016-09-26 2019-04-23 International Business Machines Corporation Tamper-respondent assemblies with in situ vent structure(s)
US9999124B2 (en) 2016-11-02 2018-06-12 International Business Machines Corporation Tamper-respondent assemblies with trace regions of increased susceptibility to breaking
US10326587B2 (en) * 2016-12-28 2019-06-18 Intel Corporation Ultra-lightweight cryptography accelerator system
US10896267B2 (en) * 2017-01-31 2021-01-19 Hewlett Packard Enterprise Development Lp Input/output data encryption
US10327329B2 (en) 2017-02-13 2019-06-18 International Business Machines Corporation Tamper-respondent assembly with flexible tamper-detect sensor(s) overlying in-situ-formed tamper-detect sensor
KR102488636B1 (ko) * 2017-11-23 2023-01-17 삼성전자주식회사 데이터 및 타임스탬프를 암호화하는 암호화 장치, 이를 포함하는 시스템 온 칩, 및 전자 장치
KR20190075363A (ko) * 2017-12-21 2019-07-01 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈
US10715321B2 (en) 2017-12-22 2020-07-14 Micron Technology, Inc. Physical unclonable function using message authentication code
CN108197504B (zh) * 2017-12-28 2022-01-11 湖南国科微电子股份有限公司 一种可控数据加解密系统及方法
US10906506B2 (en) 2017-12-28 2021-02-02 Micron Technology, Inc. Security of user data stored in shared vehicles
US10924277B2 (en) * 2018-01-25 2021-02-16 Micron Technology, Inc. Certifying authenticity of stored code and code updates
US10306753B1 (en) 2018-02-22 2019-05-28 International Business Machines Corporation Enclosure-to-board interface with tamper-detect circuit(s)
US11122682B2 (en) 2018-04-04 2021-09-14 International Business Machines Corporation Tamper-respondent sensors with liquid crystal polymer layers
US10778661B2 (en) 2018-04-27 2020-09-15 Micron Technology, Inc. Secure distribution of secret key using a monotonic counter
WO2020034118A1 (zh) * 2018-08-15 2020-02-20 华为技术有限公司 一种安全的数据转移装置、系统和方法
US10936459B2 (en) * 2018-12-07 2021-03-02 Microsoft Technology Licensing, Llc Flexible microcontroller support for device testing and manufacturing
KR102621645B1 (ko) 2019-03-12 2024-01-05 삼성전자주식회사 보안 집적 회로를 포함하는 전자 장치
CN111775698B (zh) * 2019-04-04 2021-11-16 北京新能源汽车股份有限公司 一种车辆里程信息的处理方法、装置及汽车
KR102740557B1 (ko) 2019-05-10 2024-12-09 삼성전자주식회사 재전송 공격에 대한 방어책을 포함하는 메모리 시스템의 구동 방법 및 이를 수행하는 메모리 시스템
CN112115094B (zh) * 2019-06-21 2025-04-08 珠海一微半导体股份有限公司 一种处理器芯片的数据存储方法和数据读取方法
CN110275845B (zh) * 2019-06-29 2021-11-19 江苏芯盛智能科技有限公司 存储器控制方法、装置及电子设备
CN110443078B (zh) * 2019-07-19 2021-05-28 南京芯驰半导体科技有限公司 一种基于特权分级的安全存储系统
KR102765870B1 (ko) * 2019-08-05 2025-02-07 삼성전자주식회사 시스템 온 칩
US12169588B2 (en) * 2019-08-29 2024-12-17 Google Llc Securing external data storage for a secure element integrated on a system-on-chip
TWI748570B (zh) * 2020-07-22 2021-12-01 瑞昱半導體股份有限公司 資料處理裝置
US11768963B2 (en) * 2021-01-22 2023-09-26 Nxp Usa, Inc. System and method for validating trust provisioning operation on system-on-chip
CN113312000B (zh) * 2021-06-04 2023-04-28 河北光兴半导体技术有限公司 硬盘以及存储系统
CN113312307A (zh) * 2021-06-25 2021-08-27 展讯通信(上海)有限公司 片上系统及其数据处理方法、中央处理器
CN115705301A (zh) * 2021-08-11 2023-02-17 华为技术有限公司 神经网络参数部署方法、ai集成芯片及其相关装置
DE102021126509B4 (de) * 2021-10-13 2023-05-17 Infineon Technologies Ag Tragbare Chipvorrichtung und Verfahren zum Ausführen eines Softwaremodul-Updates in einer tragbaren Chipvorrichtung
CN115994366A (zh) * 2021-10-20 2023-04-21 华为技术有限公司 网络设备和数据解密方法
TWI868416B (zh) * 2021-12-29 2025-01-01 新唐科技股份有限公司 保護並管理金鑰的方法及裝置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060090084A1 (en) * 2004-10-22 2006-04-27 Mark Buer Secure processing environment

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080192928A1 (en) * 2000-01-06 2008-08-14 Super Talent Electronics, Inc. Portable Electronic Storage Devices with Hardware Security Based on Advanced Encryption Standard
JP2003198531A (ja) * 2001-12-27 2003-07-11 Denso Corp 共通鍵暗号通信方法及び装置
DE60210416T2 (de) 2002-02-28 2006-09-07 Matsushita Electric Industrial Co., Ltd., Kadoma Speicherkarte
US7941662B2 (en) * 2002-05-31 2011-05-10 Broadcom Corporation Data transfer efficiency in a cryptography accelerator system
KR20050002103A (ko) 2003-06-30 2005-01-07 (주)파인칩스 암호 프로세서를 내장한 휴대용 저장장치
US8954751B2 (en) * 2004-10-08 2015-02-10 International Business Machines Corporation Secure memory control parameters in table look aside buffer data fields and support memory array
US7457985B2 (en) 2005-09-09 2008-11-25 International Business Machines Corporation Method to detect errors in computer systems by using state tracking
US20070061597A1 (en) 2005-09-14 2007-03-15 Micky Holtzman Secure yet flexible system architecture for secure devices with flash mass storage memory
US20100191959A1 (en) * 2005-09-23 2010-07-29 Space Micro Inc. Secure microprocessor and method
US20070074046A1 (en) * 2005-09-23 2007-03-29 Czajkowski David R Secure microprocessor and method
US7835518B2 (en) 2006-04-03 2010-11-16 Sandisk Corporation System and method for write failure recovery
US20100077230A1 (en) 2006-12-15 2010-03-25 Michael Chambers Protecting a programmable memory against unauthorized modification
US8209550B2 (en) * 2007-04-20 2012-06-26 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for protecting SIMLock information in an electronic device
KR20090037712A (ko) 2007-10-12 2009-04-16 삼성전자주식회사 보안 부트-업되는 전자 장치, 그것의 해쉬값 계산 방법 및부트-업 방법
KR20090095909A (ko) 2008-03-06 2009-09-10 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 관리 방법
KR100959275B1 (ko) 2008-04-04 2010-05-26 주식회사 셀픽 보안기능을 갖는 솔리드 스테이트 디스크
JP2010009174A (ja) 2008-06-25 2010-01-14 Panasonic Corp 不揮発性記憶媒体制御装置、不揮発性記憶媒体制御方法、及び不揮発性記憶媒体制御プログラム
CN101661546B (zh) 2008-08-28 2012-12-19 深圳富泰宏精密工业有限公司 在手持行动电子装置中进行文件加密的系统及方法
US8781127B2 (en) * 2008-09-05 2014-07-15 Vixs Systems, Inc. Device with privileged memory and applications thereof
US8555015B2 (en) 2008-10-23 2013-10-08 Maxim Integrated Products, Inc. Multi-layer content protecting microcontroller
US8589700B2 (en) 2009-03-04 2013-11-19 Apple Inc. Data whitening for writing and reading data to and from a non-volatile memory
US8411867B2 (en) * 2009-04-06 2013-04-02 Broadcom Corporation Scalable and secure key management for cryptographic data processing
US8526605B2 (en) 2009-10-09 2013-09-03 Seagate Technology Llc Data encryption to provide data security and memory cell bit wear leveling
US20110154061A1 (en) 2009-12-21 2011-06-23 Babu Chilukuri Data secure memory/storage control
CN101788958A (zh) * 2010-02-04 2010-07-28 杭州晟元芯片技术有限公司 一种存储器数据保护的方法
US8458377B2 (en) * 2010-03-05 2013-06-04 Lsi Corporation DMA engine capable of concurrent data manipulation
JP5353828B2 (ja) * 2010-06-14 2013-11-27 富士通セミコンダクター株式会社 プロセッサ及びプロセッサシステム
KR101279213B1 (ko) * 2010-07-21 2013-06-26 삼성에스디에스 주식회사 시스템 온 칩 기반의 안티-멀웨어 서비스를 제공할 수 있는 디바이스 및 그 방법과 인터페이스 방법
KR101231637B1 (ko) 2011-04-27 2013-02-08 대우조선해양 주식회사 밀폐형 데릭의 댐퍼구조

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060090084A1 (en) * 2004-10-22 2006-04-27 Mark Buer Secure processing environment

Also Published As

Publication number Publication date
KR20130126843A (ko) 2013-11-21
US20150235053A1 (en) 2015-08-20
JP6239259B2 (ja) 2017-11-29
CN103383668A (zh) 2013-11-06
DE102013104167A1 (de) 2013-11-07
US20130297948A1 (en) 2013-11-07
CN103383668B (zh) 2018-03-20
JP2013236376A (ja) 2013-11-21
US9489540B2 (en) 2016-11-08

Similar Documents

Publication Publication Date Title
KR101975027B1 (ko) 시스템 온 칩, 이의 동작 방법, 이를 포함하는 장치들
US9094190B2 (en) Method of managing key for secure storage of data and apparatus therefor
US10291390B2 (en) Endecryptor preventing side channel attack, driving method thereof and control device having the same
EP3355232B1 (en) Input/output data encryption
US9483664B2 (en) Address dependent data encryption
US8990571B2 (en) Host device, semiconductor memory device, and authentication method
US20170357832A1 (en) Encrypting portable media system and method of operation thereof
US9977749B2 (en) Application processor and data processing system including the same
US20150089245A1 (en) Data storage in persistent memory
CN111131130B (zh) 密钥管理方法及系统
US11921645B2 (en) Securing data direct I/O for a secure accelerator interface
TW201918923A (zh) 安全邏輯系統及操作安全邏輯系統的方法
US10505927B2 (en) Memory device and host device
TWI402755B (zh) 具有生命周期階段之安全記憶卡
KR101496975B1 (ko) 고체 상태 디스크 및 이에 대한 입출력방법
CN113449349A (zh) 平台安全机制
KR102218715B1 (ko) 채널별로 데이터를 보호할 수 있는 반도체 장치
US20160202314A1 (en) Test circuit and method of semiconductor device

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20120504

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20170502

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20120504

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20180717

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20190130

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20190426

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20190429

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20220323

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20230327

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20240325

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20250325

Start annual number: 7

End annual number: 7