KR20200109111A - 보안 집적 회로를 포함하는 전자 장치 - Google Patents

보안 집적 회로를 포함하는 전자 장치 Download PDF

Info

Publication number
KR20200109111A
KR20200109111A KR1020190028203A KR20190028203A KR20200109111A KR 20200109111 A KR20200109111 A KR 20200109111A KR 1020190028203 A KR1020190028203 A KR 1020190028203A KR 20190028203 A KR20190028203 A KR 20190028203A KR 20200109111 A KR20200109111 A KR 20200109111A
Authority
KR
South Korea
Prior art keywords
security
secure
memory
key
electronic device
Prior art date
Application number
KR1020190028203A
Other languages
English (en)
Other versions
KR102621645B1 (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 KR1020190028203A priority Critical patent/KR102621645B1/ko
Priority to US16/815,541 priority patent/US11461475B2/en
Priority to PCT/KR2020/003402 priority patent/WO2020184987A1/en
Priority to EP20162344.4A priority patent/EP3709205B1/en
Publication of KR20200109111A publication Critical patent/KR20200109111A/ko
Application granted granted Critical
Publication of KR102621645B1 publication Critical patent/KR102621645B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System 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
    • G06F15/7821Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/57Protection from inspection, reverse engineering or tampering
    • H01L23/576Protection from inspection, reverse engineering or tampering using active circuits
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Power Engineering (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 다양한 실시예들은 전자 장치 및 그의 송신 전력을 제어하는 방법에 관한 것으로, 상기 전자 장치는 일반 환경 및 보안 환경을 제공하는 시스템 온 칩(system on chip: SoC)의 보안(secure) 집적 회로(integrated circuit: IC)를 포함하고, 상기 보안 집적 회로는 상기 일반 환경에서 동작하는 메인 프로세서, 상기 보안 환경에서 동작하고, 제1 보안 키를 이용한 데이터의 보안을 제어하는 보안 프로세서, 및 상기 보안 프로세서와 작동적으로(operatively) 연결되고, 상기 제1 보안 키에 대응하는 제2 보안 키를 저장하는 보안 메모리를 포함할 수 있다. 그 밖의 다양한 실시예들이 가능하다.

Description

보안 집적 회로를 포함하는 전자 장치{ELECTRONIC DEVICE HAVING SECURE INTEGRATED CIRCUIT}
본 발명의 다양한 실시예들은 보안 집적 회로를 포함하는 전자 장치에 관한 것이다.
전자 장치들(예: 이동 단말, 스마트 폰, 또는 착용형(wearable) 장치)은 다양한 기능 및/또는 서비스를 제공할 수 있다. 예를 들어, 전자 장치들은 전파를 이용한 무선 통신(예: 블루투스(bluetooth), 와이파이(Wi-Fi), 또는 NFC(near field communication), 이동 통신) 기능, 이동 통신(3G(generation), 4G, 또는 5G) 기능, 음악 또는 동영상 재생 기능, 촬영 기능, 또는 네비게이션 기능을 제공할 수 있다.
한편, 최근의 전자 장치들은 보안을 필요로 하는 다양한 정보들(예: 결제 정보, 크레덴셜 정보, 인증서 등)을 저장할 수 있다. 보안을 필요로 하는 다양한 정보를 저장 가능함에 따라 전자 장치의 보안에 대한 관심이 증가하고 있다. 예를 들어, 최근의 전자 장치들은 독립적인 RAM(random access memory)과 ROM(read only memory)을 갖는 보안 프로세서(secure processor)를 내장하여 전자 장치 및 다양한 정보를 보다 안전하게 보호할 수 있는 보안 환경을 제공하고 있다.
하지만, 현재의 보안 프로세서는 프로세서의 공정과 메모리 공정 상의 차이로 인하여, 보안이 요구되는 데이터(이하, 보안 데이터)를 저장할 메모리를 함께 내장(embedded)하기 어려울 수 있다. 이에, 일반적인 전자 장치는 일반 환경에서 이용되는 외부의 일반 메모리의 일부 영역을 보안 데이터를 저장하기 위한 영역으로 활용하고 있다. 이와 같이, 보안 프로세서가 일반 환경에서 이용되는 일반 메모리를 공유하여 보안 데이터를 저장함에 따라 전자 장치는 완전히 독립적인 보안 환경을 제공하지 못할 수 있다. 예를 들어, 전자 장치는 일반 환경의 OS(operating system)에서 보안 데이터를 저장한 메모리 영역에 접근이 가능할 수 있고, 보안 데이터를 삭제할 수 있다. 또한, 전자 장치는 재전송 공격(replay attack)에 취약할 수 있다.
본 발명의 다양한 실시예들에 따른 전자 장치는 보안 환경에서 동작하는 메모리(예: 보안 메모리 또는 보안 기능이 없는 비보안 메모리(일반 메모리))를 별도로 제공하여 독립적이고 안전한 보안 환경을 제공할 수 있다.
본 발명의 다양한 실시예들에 따른 전자 장치는 보안 환경에서 동작하는 메모리 및 보안 프로세서를 하나의 칩(예: 시스템 온 칩(system on chip: SoC))으로 통합하여 제공할 수 있다.
본 문서에서 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 다양한 실시예에 따른 전자 장치는, 예를 들면, 일반 환경 및 보안 환경을 제공하는 시스템 온 칩(system on chip: SoC)의 보안(secure) 집적 회로(integrated circuit: IC)를 포함하고, 상기 보안 집적 회로는 상기 일반 환경에서 동작하는 메인 프로세서, 상기 보안 환경에서 동작하고, 제1 보안 키를 이용한 데이터의 보안을 제어하는 보안 프로세서, 및 상기 보안 프로세서와 작동적으로(operatively) 연결되고, 상기 제1 보안 키에 대응하는 제2 보안 키를 저장하는 보안 메모리를 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는, 예를 들면, 일반 환경에서 동작하는 메인 프로세서, 및 보안 환경에서 동작하고 제1 보안 키를 이용한 데이터의 보안을 제어하는 보안 프로세서를 포함하는 시스템 온 칩(system on chip: SoC) 형태의 보안(secure) 집적 회로(integrated circuit: IC); 및 상기 보안 집적 회로의 보안 프로세서와 작동적으로(operatively) 연결되고, 상기 제1 보안 키에 대응하는 제2 보안 키를 저장하는 보안 메모리를 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는, 예를 들면, 일반 환경 및 보안 환경을 제공하는 시스템 온 칩(system on chip: SoC)의 보안(secure) 집적 회로(integrated circuit: IC)를 포함하고, 상기 보안 집적 회로는 상기 일반 환경에서 동작하는 메인 프로세서, 상기 보안 환경에서 동작하고, 보안 키를 이용한 데이터의 보안을 제어하는 보안 프로세서, 및 상기 보안 프로세서와 작동적으로(operatively) 연결되고, 보안 기능이 없는 메모리를 포함할 수 있다.
본 발명의 다양한 실시예들은 보안 데이터를 저장하는 메모리를 별도로 제공하여 완전히 독립적이고 안전한 보안 환경을 제공할 수 있다. 또한, 본 발명의 다양한 실시예는 보안 데이터를 저장하는 메모리 및 보안 프로세서를 하나의 칩으로 통합하여 보다 안전한 보안 환경을 제공할 수 있다.
본 문서에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 다양한 실시예에 따른, 네트워크 환경 내의 전자 장치의 블럭도이다.
도 2는 본 발명의 한 실시예에 따른 전자 장치의 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 전자 장치의 블럭도이다.
도 4는 본 발명의 한 실시예에 따른 전자 장치의 보안 키를 생성하여 저장하는 방법을 설명하는 도면이다.
도 5는 본 발명의 다른 실시예에 따른 전자 장치의 보안 키를 생성하여 저장하는 방법을 설명하는 도면이다.
도 6은 본 발명의 한 실시예에 따른 보안 환경에서 데이터를 저장하는 방법을 설명하는 도면이다.
도 7은 본 발명의 다른 실시예에 따른 보안 환경에서 데이터를 저장하는 방법을 설명하는 도면이다.
도 8은 본 발명의 또 다른 실시예에 따른 전자 장치의 블록도이다.
도 9는 본 발명의 또 다른 실시예에 따른 전자 장치의 보안 키를 생성하여 저장하는 방법을 설명하는 도면이다.
도 10은 본 발명의 또 다른 실시예에 따른 전자 장치의 보안 키를 생성하여 저장하는 방법을 설명하는 도면이다.
도 11은 본 발명의 한 실시예에 따른 보안 환경에서 데이터를 저장하는 방법을 설명하는 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 설명한다. 본 문서는 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있으나, 이는 본 발명의 다양한 실시예들을 특정한 형태로 한정하려는 것이 아니다. 예를 들어, 본 발명의 실시예들은 다양하게 변경될 수 있다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)은 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)은, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예:스타일러스 펜)을 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)이 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)은, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(388)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, or 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
보조 프로세서(123)는 보안 환경(secure execution environment: SEE)에서 동작하는 보안 프로세서(secure processor)일 수 있다. 프로세서(120)는 보안 프로세서와 연결되고, 보안을 요구하는 데이터를 저장하는 메모리(예: 일반 메모리 또는 보안 메모리)(이하, 제2 메모리)를 더 포함할 수 있다. 상기 메인 프로세서(121), 보안 프로세서, 및 제2 메모리는 하나의 칩(예: 시스템 온 칩(system on chip: SoC))으로 형성될 수 있다.
어떤 실시예에 따르면, 메인 프로세서(121) 및 보안 프로세서는 하나의 칩으로 형성되고, 보안 프로세서와 연결되는 보안 메모리는 별도의 구성으로 형성될 수 있다.
도 2는 본 발명의 한 실시예에 따른 전자 장치의 블록도이다.
도 2를 참조하면, 본 발명의 한 실시예에 따른 전자 장치(201)(예: 전자 장치(101))는 일반 환경(rich execution environment) 및 보안 환경(secure execution environment)을 제공하는 시스템 온 칩(system on chip: SoC)의 보안(secure) 집적 회로(integrated circuit: IC)(200)를 포함할 수 있다.
보안 집적 회로(200)는 메인 프로세서(221)(예: 메인 프로세서(121)), 보안 프로세서(223)(예: 보조 프로세서(123)), 및 보안 메모리(225)를 포함할 수 있다.
메인 프로세서(221)는 일반 환경에서 동작할 수 있다. 메인 프로세서(221)는 일반 환경에서 데이터의 처리 및 연산을 제어할 수 있다.
보안 프로세서(223)는 메인 프로세서(221)와 작동적으로(operatively) 연결되어 통신할 수 있다. 예를 들어, 보안 프로세서(223)는 메인 프로세서(221)로부터 보안 환경의 구동 또는 초기화 요청을 수신할 수 있다. 보안 프로세서(223)는 보안 환경에서 동작할 수 있다. 예를 들어, 보안 프로세서(223)는 제1 보안 키(25a)를 이용한 데이터의 보안(예: 암호화)을 제어할 수 있다. 제1 보안 키(25a)는 OTP(one time programmable) 메모리(25)에 저장될 수 있다.
보안 프로세서(223)는 프로세싱 모듈(21), 암호화 모듈(22), 랜덤 넘버 생성 모듈(23), 보안 메모리 컨트롤러(24), 및 OTP 메모리(25)를 포함할 수 있다.
프로세싱 모듈(21)은 보안 프로세서(223)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세싱 모듈(21)은 보안 키 생성 절차 및 보안 통신(또는 암호 통신) 절차를 제어할 수 있다. 이에 대한 상세한 설명은 도 4 내지 도 8을 참조하여 후술하기로 한다.
암호화 모듈(22)은 보안이 요구되는 데이터를 암호화할 수 있다. 예를 들어, 암호화 모듈(22)은 보안 환경에서 동작하는 보안 어플리케이션(이하, 보안 앱)(예: 삼성 페이TM와 같은 결제 앱)으로부터 데이터의 저장이 요청되면, 제1 보안 키(25a)를 이용하여 데이터를 암호화할 수 있다.
랜덤 넘버 생성 모듈(23)은 난수(random number)를 생성할 수 있다. 예를 들어, 랜덤 넘버 생성 모듈(23)은 보안 프로세서(223)가 필요로 하는 엔트로피(entropy)의 난수(예: 256 비트의 난수)를 생성할 수 있다. 상기 생성된 난수는 제1 보안 키(25a) 및 제2 보안 키(25b)의 생성에 이용될 수 있다.
보안 메모리 컨트롤러(24)는 보안 메모리(225)를 제어할 수 있다. 예를 들어, 보안 메모리 컨트롤러(24)는 제2 보안 키(25b)를 보안 메모리(225)에 기록하거나, 암호화된 데이터를 보안 메모리(225)로 전송할 수 있다.
OTP 메모리(25)는 비휘발성 메모리(non-volatile memory: NVM)로, 데이터가 한번만 기록될 수 있다. OTP 메모리(25)는 제1 보안 키(25a)를 포함할 수 있다. OTP 메모리(25)의 지정된 영역에는 제1 보안 키(25a)가 기록되었는지 여부를 나타내는 비트가 기록될 수 있다.
보안 프로세서(223)는 다양한 구성을 더 포함할 수 있다. 예를 들어, 보안 프로세서(223)는 보안 캐쉬(secure cache), ROM, RAM, 메모리 컨트롤러(MEM controller), 보안 센서(security sensors) 등을 더 포함할 수 있다.
보안 메모리(225)는 보안 프로세서(223)와 작동적으로 연결될 수 있다. 예를 들어, 보안 메모리(225)는 보안 프로세서(223)와 사전에 공유된 키들(예: 제1 보안 키(25a) 및 제2 보안 키(25b))를 이용하여 암호화 통신을 수행할 수 있다. 보안 메모리(225)는 제1 보안 키(25a)에 대응하는 제2 보안 키(25b)를 포함(저장)할 수 있다. 제1 보안 키(25a) 및 제2 보안 키(25b)는 랜덤 넘버 생성 모듈(23)에 의해 생성된 난수를 기초로 생성되며, 동일한 값을 가질 수 있다. 보안 메모리(225)는 비휘발성 메모리(NVM) 메모리일 수 있다.
도 2에 도시하지는 않았지만, 본 발명의 한 실시예에 따른 전자 장치(201)는 일반 환경에서 동작하고, 보안을 요하지 않는 데이터(일반 데이터 또는 비보안 데이터)를 저장하는 메모리(예: 메모리(130))(이하, 제1 메모리)를 더 포함할 수 있다. 이와 같이, 전자 장치(201)는 제1 메모리와 구별되는 보안 메모리(225)(이하, 제2 메모리)를 별도로 포함하여, 독립적이고 안전한 보안 환경을 제공할 수 있다. 또한, 본 발명의 한 실시예는 제2 메모리를 SoC 형태로 제공함에 따라 더욱 안전한 보안 환경을 제공할 수 있다.
도 3은 본 발명의 다른 실시예에 따른 전자 장치의 블럭도이다.
도 3을 참조하면, 본 발명의 다른 실시예에 따른 전자 장치(301)(예: 전자 장치(101))는 보안 집적 회로(300) 및 보안 메모리(325)를 포함할 수 있다. 여기서, 보안 집적 회로(200)는 일반 환경에서 동작하는 메인 프로세서(321), 및 보안 환경에서 동작하고 제1 보안 키를 이용한 데이터의 보안을 제어하는 보안 프로세서(323)를 포함하는 시스템 온 칩일 수 있다.
본 발명의 다른 실시예에 따른 전자 장치(301)는 보안 메모리(325)가 메인 프로세서(321) 및 보안 프로세서(323)와 통합되지 않고 별도의 구성으로 포함될 수 있다. 이러한 차이점을 제외하고, 전자 장치(301)의 구성들은 도 2의 전자 장치(201)의 구성들과 유사하게 동작한다. 예를 들어, 도 3의 프로세싱 모듈(31), 암호화 모듈(32), 랜덤 넘버 생성 모듈(33), 및 보안 메모리 컨트롤러(34), OTP 메모리(35), 제1 보안 키(35a), 및 제2 보안 키(35b)는 도 2의 프로세싱 모듈(21), 암호화 모듈(22), 랜덤 넘버 생성 모듈(23), 및 보안 메모리 컨트롤러(24), OTP 메모리(25), 제1 보안 키(25a), 및 제2 보안 키(25b)와 유사하게 동작할 수 있다. 이에, 도 2와의 중복 설명을 피하기 위하여, 전자 장치(301)의 구성들에 대한 상세한 설명을 생략하기로 한다.
이하에서는, 설명의 편의를 위하여, 도 2의 전자 장치(201)를 기준으로 아래의 도 4 내지 도 7에 개시된 보안 키 생성 방법 및 데이터 저장 방법에 대하여 설명하기로 한다. 하지만, 도 4 내지 도7의 보안 키 생성 방법 및 데이터 저장 방법은 도 1의 전자 장치(101) 또는 도 3의 전자 장치(301)에도 동일 또는 유사하게 적용될 수 있음은 자명할 것이다.
도 4는 본 발명의 한 실시예에 따른 전자 장치의 보안 키를 생성하여 저장하는 방법을 설명하는 도면이다.
도 4를 참조하면, 본 발명의 한 실시예에 따른 전자 장치(201)의 메인 프로세서(221)는, 401 동작에서, 제1 보안 키(25a)의 기록(또는 퓨징(fusing)) 여부를 보안 프로세서(223)의 프로세싱 모듈(21)에 문의(질의)할 수 있다. 상기 문의는 전자 장치(201)의 제조 과정 또는 제조 이후 첫 번째 부팅에서 보안 환경을 초기화하면서 메인 프로세서(221)에 의해 수행될 수 있다. 또는, 상기 문의는 지정된 조건을 만족하는 경우 수행될 수 있다. 예를 들어, 상기 문의는 전자 장치(201)의 초기화 또는 전자 장치(201)의 업데이트 등으로 인해 보안 환경이 초기화된 경우 수행될 수 있다. 어떤 실시예에 따르면, 메인 프로세서(221)는 제2 보안 키(25b)의 기록 여부를 프로세싱 모듈(21)에 문의할 수 있다.
상기 문의에 대응하여, 프로세싱 모듈(21)은, 403 동작에서, OTP 메모리(25)(또는 보안 메모리 컨트롤러(24))에 제1 보안 키(25a)가 기록되어 있는지 여부를 확인할 수 있다. 예를 들어, 프로세싱 모듈(21)은 OTP 메모리(25)의 지정된 영역의 비트 값을 확인하여 제1 보안 키(25a)의 기록 여부를 확인할 수 있다. 어떤 실시예에 따르면, 프로세싱 모듈(21)은 보안 메모리(225)의 지정된 영역의 비트 값을 확인하여 제2 보안 키(25b)의 기록 여부를 확인할 수 있다.
상기 403 동작의 확인 결과, OTP 메모리(25)(또는 보안 메모리 컨트롤러(24))에 제1 보안 키(25a)가 기록되어 있지 않은 것으로 확인되면, 프로세싱 모듈(21)은, 405 동작에서, 랜덤 넘버 생성 모듈(23)에 랜덤 키의 생성을 요청하고, 생성된 랜덤 키를 수신할 수 있다.
프로세싱 모듈(21)은, 407 동작에서, 상기 생성된 랜덤 키를 기반으로, OTP 메모리(25)에 제1 보안 키(25a)를 기록할 수 있다. 예를 들어, 프로세싱 모듈(21)은 상기 생성된 랜덤 키가 OTP 메모리(25)에 제1 보안 키(25a)로 기록되도록 할 수 있다. 프로세싱 모듈(21)은 제1 보안 키(25a)의 기록이 완료되면, 제1 보안 키(25a)가 기록되었음을 OTP 메모리(25)의 지정된 영역에 기록할 수 있다.
프로세싱 모듈(21)은, 409 동작에서, 보안 메모리 컨트롤러(24)를 통해 상기 생성된 랜덤 키를 보안 메모리(225)로 전송할 수 있다. 예를 들어, 보안 메모리 컨트롤러(24)는 통신 채널(또는 보안이 적용된 통신 채널)을 통해 상기 생성된 랜덤 키를 보안 메모리(225)로 전송할 수 있다. 상기 통신 채널은 SPI(serial peripheral interface), I2C(inter-integrated circuit), 또는 SCI(serial communication interface) 방식의 통신 채널일 수 있다.
보안 메모리(225)는, 411 동작에서, 상기 생성된 랜덤 키를 기반으로 제2 보안 키(25b)를 기록할 수 있다. 예를 들어, 보안 메모리(225)는 생성된 랜덤 키를 상기 제2 보안 키(25b)로 보안 영역에 기록할 수 있다. 어떤 실시예에 따르면, 랜덤 넘버 생성 모듈(23)은 생성된 랜덤 키를 OTP 메모리(25)로 바로(직접) 전달하여 제1 보안 키(25a)를 OTP 메모리(25)에 기록할 수 있다.
보안 메모리(225)는, 413 동작에서, 제2 보안 키(25b)의 기록을 완료한 후 그 결과를 보안 메모리 컨트롤러(24)를 통해 프로세싱 모듈(21)로 리턴할 수 있다. 프로세싱 모듈(21)은 제2 보안 키(25b)의 기록이 완료되었다는 결과만을 지정된 영역(예: OTP 메모리(25)의 지정된 영역)에 저장할 수 있다. 상기 프로세싱 모듈(21)은 메인 프로세서(221)의 제2 보안 키(25b)의 기록 여부에 대한 문의에 대응하여, 저장 결과를 확인하여 회신할 수 있다. 또한, 상기 407 동작 및 409-411 동작은 동시에 수행되거나, 반대 순서로 수행될 수 있다. 또한, 제1 보안 키(25a)는 OTP 메모리(25)가 아닌 보안 메모리 컨트롤러(24)에 기록될 수 있다.
도 5는 본 발명의 다른 실시예에 따른 전자 장치의 키를 생성하여 저장하는 방법을 설명하는 도면이다.
도 5를 참조하면, 본 발명의 다른 실시예에 따른 전자 장치(201)는 보안 집적 회로(200)의 제조 시 외부 장치에서 생성된 랜덤 키(501)를 기반으로, OTP 메모리(25) 또는 보안 메모리 컨트롤러(24)에 제1 보안 키(25a)가 기록되고, 상기 보안 메모리(225)에 제2 보안 키(25b)가 기록될 수 있다.
한편, 도 3의 전자 장치(301)와 같이, 보안 메모리(325)를 별도의 구성으로 포함하는 경우 제1 보안 키(35a)는 보안 집적 회로(300)의 제조 시 외부 장치에서 생성된 랜덤 키(501)를 기반으로, OTP 메모리(35) 또는 보안 메모리 컨트롤러(34)에 기록되고, 제2 보안 키(35b)는 보안 환경의 초기화 시 상기 OTP 메모리(35) 또는 보안 메모리 컨트롤러(34)에 기록된 제1 보안 키(35a)를 기반으로 상기 보안 메모리 컨트롤러(34)에 의해 상기 보안 메모리(325)에 기록될 수 있다.
도 6은 본 발명의 한 실시예에 따른 보안 환경에서 데이터를 저장하는 방법을 설명하는 도면이다.
도 6을 참조하면, 본 발명의 한 실시예에 따른 전자 장치(201)는 제1 보안 키(25a) 및 제2 보안 키(25b)를 이용하여 보안 프로세서(223)와 보안 메모리(225) 사이에 보안 채널을 형성하여 암호화 통신을 수행할 수 있다.
메인 프로세서(221)의 요청에 기반하여, 보안 프로세서(223)가 보안 환경을 구동하는 것에 대응하여, 보안 프로세서(223)의 암호화 모듈(22)은, 601 동작에서, OTP 메모리(25)(또는 보안 메모리 컨트롤러(24))에 저장된 제1 보안 키(25a)를 로드할 수 있다. 어떤 실시예에 따르면, 보안 메모리 컨트롤러(24)가 암호화 엔진을 내장하는 경우 보안 메모리 컨트롤러(24)는 보안 환경의 구동 시 OTP 메모리(25)에 저장된 제1 보안 키(25a)를 로드할 수 있다.
보안 환경에서 구동되는 어플리케이션(보안 앱)(61)은, 603 동작에서, 데이터의 저장을 프로세싱 모듈(21)에 요청할 수 있다. 상기 요청에 대응하여, 프로세싱 모듈(21)은, 605 동작에서, 저장 요청된 데이터를 보안 메모리 컨트롤러(24)로 전송할 수 있다.
보안 메모리 컨트롤러(24)는, 607 동작에서, 암호화 모듈(22)에 데이터의 암호화를 요청하고, 609 동작에서 암호화된 데이터를 수신할 수 있다. 어떤 실시예에 따르면, 보안 프로세서(223)는 암호화 모듈(22)이 아닌 보안 메모리 컨트롤러(24)에 내장된 암호화 엔진을 이용하여 데이터를 암호화할 수 있다.
보안 메모리 컨트롤러(24)는, 611 동작에서, 암호화 데이터를 보안 메모리(225)로 전송할 수 있다. 예를 들어, 보안 메모리 컨트롤러(24)는 암호화 데이터를 보안 채널을 통해 보안 메모리(225)로 전송할 수 있다.
보안 메모리(225)는, 613 동작에서, 전송된 암호화 데이터를 복호하여 저장할 수 있다. 예를 들어, 보안 메모리(225)는 제2 보안 키(25b)를 이용하여 암호화 데이터를 복호하고, 복호된 데이터를 보안 영역에 저장할 수 있다.
상술한 본 발명의 한 실시예는 보안 환경에서 동작하는 보안 앱 또는 보안 OS 단에서 제1 보안 키(25a)에 접근하지 않고, 하드웨어 단의 보안 메모리 컨트롤러(224)가 암호화를 제어할 수 있어, 보안을 향상 시킬 수 있다.
도 7은 본 발명의 다른 실시예에 따른 보안 환경에서 데이터를 저장하는 방법을 설명하는 도면이다.
도 7을 참조하면, 본 발명의 한 실시예에 따른 전자 장치(201)는 보안 OS 단 또는 플랫폼 단에서 동작하는 소프트웨어인 보안 인터페이스 모듈(73)을 통해 암호화 통신을 제어할 수 있다. 이때, 보안 메모리 컨트롤러(24)는 보안 인터페이스 모듈(73)과 보안 메모리(225) 사이의 인터페이스 역할을 수행할 수 있다.
메인 프로세서(221)의 요청에 기반하여, 보안 프로세서(223)가 보안 환경을 구동하는 것에 대응하여, 보안 인터페이스 모듈(73)은, 701 동작에서, OTP 메모리(25)(또는 보안 메모리 컨트롤러(24))에 저장된 제1 보안 키(25a)를 로드하고, 로드된 제1 보안 키(25a)를, 703 동작에서, 암호화 모듈(22)로 전송할 수 있다. 어떤 실시예에 따르면, 보안 환경의 구동 시 암호화 모듈(22)은 OTP 메모리(25)에 저장된 제1 보안 키(25a)를 직접 로드하거나, 다른 구성(예: 프로세싱 모듈(21) 또는 보안 메모리 컨트롤러(24))를 통해 전송 받을 수 있다.
보안 환경에서 구동되는 어플리케이션(보안 앱)(71)은, 705 동작에서, 데이터의 저장을 보안 인터페이스 모듈(73)에 요청할 수 있다. 상기 요청에 대응하여, 보안 인터페이스 모듈(73)은, 707 동작에서, 저장 요청된 데이터를 암호화 모듈(22)로 전송하여 데이터의 암호화를 요청하고, 709 동작에서 암호화된 데이터를 수신할 수 있다.
보안 인터페이스 모듈(73)은, 711 동작에서, 암호화 데이터를 보안 메모리 컨트롤러(24)를 통해 보안 메모리(225)로 전송할 수 있다. 예를 들어, 암호화 데이터는 보안 채널을 통해 보안 메모리(225)로 전송될 수 있다.
보안 메모리(225)는, 713 동작에서, 전송된 암호화 데이터를 복호하여 저장할 수 있다. 예를 들어, 보안 메모리(225)는 제2 보안 키(25b)를 이용하여 암호화 데이터를 복호하고, 복호된 데이터를 보안 영역에 저장할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치(예: 전자 장치(101), 전자 장치(201))는 일반 환경 및 보안 환경을 제공하는 시스템 온 칩(system on chip: SoC)의 보안(secure) 집적 회로(integrated circuit: IC)(예: 프로세서(120), 보안 집적 회로(200))를 포함하고, 상기 보안 집적 회로는 상기 일반 환경에서 동작하는 메인 프로세서(예: 메인 프로세서(121), 메인 프로세서(221)), 상기 보안 환경에서 동작하고, 제1 보안 키(예: 제1 보안 키(25a))를 이용한 데이터의 보안을 제어하는 보안 프로세서(예: 보조 프로세서(123), 보안 프로세서(223)), 및 상기 보안 프로세서와 작동적으로(operatively) 연결되고, 상기 제1 보안 키에 대응하는 제2 보안 키(예: 제2 보안 키(25b))를 저장하는 보안 메모리(예: 보안 메모리(225))를 포함할 수 있다.
다양한 실시예에 따르면, 상기 보안 프로세서는 설정된 비트의 랜덤 넘버를 생성하는 랜덤 넘버 생성 모듈(예: 랜덤 넘버 생성 모듈(23)), OTP(one time programmable) 메모리(예: OTP 메모리(25)), 상기 보안 메모리를 제어하는 보안 메모리 컨트롤러(예: 보안 메모리 컨트롤러(24)), 및 상기 랜덤 넘버 생성 모듈, 상기 OTP 메모리, 및 상기 보안 메모리 컨트롤러와 작동적으로 연결되는 프로세싱 모듈(예: 프로세싱 모듈(21))을 포함할 수 있다. 상기 프로세싱 모듈은 상기 보안 환경의 초기화 시 상기 OTP 메모리에 상기 제1 보안 키가 기록되어 있는지 여부를 확인하고, 상기 제1 보안 키가 기록되지 않은 것으로 확인되면, 상기 랜덤 넘버 생성 모듈에 랜덤 키의 생성을 요청하고, 상기 OTP 메모리 또는 상기 보안 메모리 컨트롤러에 상기 생성된 랜덤 키가 상기 제1 보안 키로 기록되도록 하고, 및 상기 생성된 랜덤 키를 상기 보안 메모리 컨트롤러를 통해 상기 보안 메모리로 전송하여, 상기 보안 메모리에 상기 생성된 랜덤 키가 상기 제2 보안 키로 기록되도록 할 수 있다.
다양한 실시예에 따르면, 상기 프로세싱 모듈은 상기 OTP 메모리의 지정된 영역의 비트 값을 확인하여 상기 제1 보안 키의 기록 여부를 확인할 수 있다.
다양한 실시예에 따르면, 상기 보안 프로세서는 상기 제1 보안 키를 이용하여 데이터를 암호화하는 암호화 모듈(예: 암호화 모듈(22))을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 암호화 모듈은 상기 보안 환경의 구동 시 상기 OTP 메모리로부터 상기 제1 보안 키를 로드할 수 있다. 상기 보안 메모리 컨트롤러는 상기 보안 환경에서 동작하는 보안 어플리케이션(예: 보안 앱(61))으로부터 데이터의 저장이 요청되면, 상기 암호화 모듈에 상기 데이터의 암호화를 요청하고, 상기 암호화 모듈로부터 상기 제1 보안 키를 이용하여 암호화된 데이터(암호화 데이터)를 수신하고, 및 상기 수신된 암호화 데이터를 보안 채널을 통해 상기 보안 메모리로 전송하도록 할 수 있다. 상기 보안 메모리는 상기 제2 보안 키를 이용하여 상기 전송된 암호화 데이터를 복호하여 저장할 수 있다.
다양한 실시예에 따르면, 상기 프로세싱 모듈은 소프트웨어 기반의 보안 인터페이스 모듈(예: 보안 인터페이스 모듈(73))을 더 포함할 수 있다. 상기 보안 인터페이스 모듈은 상기 보안 환경의 구동 시 상기 OTP 메모리로부터 상기 제1 보안 키를 획득하여, 상기 암호화 모듈에 전송하고, 상기 보안 환경에서 동작하는 보안 어플리케이션(예: 보안 앱(71))으로부터 데이터의 저장이 요청되면, 상기 저장 요청된 데이터를 상기 암호화 모듈에 전송하여 암호화를 요청하고, 상기 암호화 모듈로부터 상기 제1 보안 키를 이용하여 암호화된 데이터(암호화 데이터)를 수신하고, 및 상기 수신된 암호화 데이터를 상기 보안 메모리 컨트롤러를 통해 상기 보안 메모리로 전송하도록 할 수 있다. 상기 보안 메모리는 상기 제2 보안 키를 이용하여 상기 전송된 암호화 데이터를 복호하여 저장할 수 있다.
다양한 실시예에 따르면, 상기 보안 프로세서는 OTP(one time programmable) 메모리 및 상기 보안 메모리를 제어하는 보안 메모리 컨트롤러를 포함할 수 있다. 상기 제1 보안 키는 상기 보안 집적 회로의 제조 시 상기 OTP 메모리 또는 상기 보안 메모리 컨트롤러에 기록되고, 상기 제2 보안 키는 상기 보안 집적 회로의 제조 시 상기 보안 메모리에 기록될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치(예: 전자 장치(101), 전자 장치(301))는, 일반 환경에서 동작하는 메인 프로세서(예: 메인 프로세서(121), 메인 프로세서(321)), 및 보안 환경에서 동작하고 제1 보안 키(예: 제1 보안 키(35a))를 이용한 데이터의 보안을 제어하는 보안 프로세서(예: 보조 프로세서(123), 보안 프로세서(323))를 포함하는 시스템 온 칩(system on chip: SoC) 형태의 보안(secure) 집적 회로(integrated circuit: IC)(예: 프로세서(120), 보안 집적 회로(300)); 및 상기 보안 집적 회로의 보안 프로세서와 작동적으로(operatively) 연결되고, 상기 제1 보안 키에 대응하는 제2 보안 키(예: 제2 보안 키(35b))를 저장하는 보안 메모리(예: 보안 메모리(325))를 포함할 수 있다.
다양한 실시예에 따르면, 상기 보안 프로세서는 설정된 비트의 랜덤 넘버를 생성하는 랜덤 넘버 생성 모듈(예: 랜덤 넘버 생성 모듈(33)); OTP(one time programmable) 메모리(예: OTP 메모리(35)); 상기 보안 메모리를 제어하는 보안 메모리 컨트롤러(예: 보안 메모리 컨트롤러(34)); 및 상기 랜덤 넘버 생성 모듈, 상기 OTP 메모리, 및 상기 보안 메모리 컨트롤러와 작동적으로 연결되는 프로세싱 모듈(예: 프로세싱 모듈(31))을 포함할 수 있다. 상기 프로세싱 모듈은 상기 보안 환경의 초기화 시 상기 OTP 메모리에 상기 제1 보안 키가 기록되어 있는지 여부를 확인하고, 상기 제1 보안 키가 기록되어 있지 않은 것으로 확인되면, 상기 랜덤 넘버 생성 모듈에 랜덤 키의 생성을 요청하고, 상기 OTP 메모리 또는 상기 보안 메모리 컨트롤러에 상기 생성된 랜덤 키가 상기 제1 보안 키로 기록하도록 하고, 및 상기 생성된 랜덤 키를 상기 보안 메모리 컨트롤러를 통해 상기 보안 메모리로 전송하여, 상기 보안 메모리에 상기 생성된 랜덤 키가 제1 보안 키로 기록되도록 할 수 있다.
다양한 실시예에 따르면, 상기 프로세싱 모듈은 상기 OTP 메모리의 지정된 영역의 비트 값을 확인하여 상기 제1 보안 키의 기록 여부를 확인할 수 있다.
다양한 실시예에 따르면, 상기 보안 프로세서는 상기 제1 보안 키를 이용하여 데이터를 암호화하는 암호화 모듈(예: 암호화 모듈(32))을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 암호화 모듈은 상기 보안 환경의 구동 시 상기 OTP 메모리로부터 상기 제1 보안 키를 로드할 수 있다. 상기 보안 메모리 컨트롤러는 상기 보안 환경에서 동작하는 보안 어플리케이션(예: 보안 앱(61))으로부터 데이터의 저장이 요청되면, 상기 암호화 모듈에 상기 데이터의 암호화를 요청하고, 상기 암호화 모듈로부터 상기 제1 보안 키를 이용하여 암호화된 데이터(암호화 데이터)를 수신하고, 및 상기 수신된 암호화 데이터를 보안 채널을 통해 상기 보안 메모리로 전송하도록 할 수 있다. 상기 보안 메모리는 상기 제2 보안 키를 이용하여 상기 전송된 암호화 데이터를 복호하여 저장할 수 있다.
다양한 실시예에 따르면, 상기 프로세싱 모듈은 소프트웨어 기반 보안 인터페이스 모듈(예: 소프트웨어 기반 보안 인터페이스 모듈(73))을 더 포함할 수 있다. 상기 보안 인터페이스 모듈은 상기 보안 환경의 구동 시 상기 OTP 메모리로부터 상기 제1 보안 키를 획득하여, 상기 암호화 모듈에 전송하고, 상기 보안 환경에서 동작하는 보안 어플리케이션(예: 보안 앱(71))으로부터 데이터의 저장이 요청되면, 상기 저장 요청된 데이터를 상기 암호화 모듈에 전송하여 암호화를 요청하고, 상기 암호화 모듈로부터 상기 제1 보안 키를 이용하여 암호화된 데이터(암호화 데이터)를 수신하고, 및 상기 수신된 암호화 데이터를 상기 보안 메모리 컨트롤러를 통해 상기 보안 메모리로 전송하도록 할 수 있다. 상기 보안 메모리는 상기 제2 보안 키를 이용하여 상기 전송된 암호화 데이터를 복호하여 저장할 수 있다.
다양한 실시예에 따르면, 상기 보안 프로세서는 OTP 메모리 및 상기 보안 메모리를 제어하는 보안 메모리 컨트롤러를 포함할 수 있다. 상기 제1 보안 키는 상기 보안 집적 회로의 제조 시 상기 OTP 메모리 또는 상기 보안 메모리 컨트롤러에 기록될 수 있다. 상기 프로세싱 모듈은 상기 보안 환경의 초기화 시 상기 OTP 메모리 또는 상기 보안 메모리 컨트롤러에 기록된 제1 보안 키를 로드하고, 상기 로드된 제1 보안 키를 기반으로 상기 보안 메모리 컨트롤러를 통해 상기 보안 메모리에 상기 제2 보안 키를 기록하도록 할 수 있다.
도 8은 본 발명의 또 다른 실시예에 따른 전자 장치의 블록도이다.
도 8을 참조하면, 본 발명의 한 실시예에 따른 전자 장치(801)(예: 전자 장치(101))는 일반 환경 및 보안 환경을 제공하는 시스템 온 칩의 보안 집적 회로 (800)를 포함할 수 있다.
보안 집적 회로(800)는 메인 프로세서(821)(예: 메인 프로세서(121)), 보안 프로세서(823)(예: 보조 프로세서(123)), 및 보안 기능이 없는 메모리(825)(이하, 비보안 메모리)를 포함할 수 있다. 보안 프로세서(823)는 프로세싱 모듈(81), 암호화 모듈(82), 랜덤 넘버 생성 모듈(83), 메모리 컨트롤러(84), 및 OTP 메모리(85)를 포함할 수 있다.
본 발명의 한 실시예에 따른 보안 집적 회로(800)는, 도 2의 보안 집적 회로(200)와 유사하다. 다만, 보안 집적 회로(800)는 비휘발성의 비보안 메모리(825)를 포함할 수 있고, 보안 프로세서(823)는 보안 메모리 컨트롤러가 아닌, 일반적인 메모리 컨트롤러(84)를 포함할 수 있다. 또한, 전자 장치(801)는 비보안 메모리(825)를 이용함에 따라, OTP 메모리(85)에만 보안 키(85a)를 저장할 수 있고, 보안 키(85a)를 이용하여 암호화된 데이터를 비보안 메모리(825)에 저장할 수 있다.
본 발명의 한 실시예에 따른 보안 집적 회로(800)는 비보안 메모리(825)를 이용함에 따라, 암호화된 데이터의 보호를 위한 알려진 다양한 기술(예: replay protected memory block: RPMB)을 통해 비보안 메모리(825)를 보호할 수 있다.
한편, 도 8에 도시하지는 않았지만, 본 발명의 한 실시예에 따른 전자 장치(801)는 일반 환경에서 동작하고, 보안을 요하지 않는 데이터(일반 데이터 또는 비보안 데이터)를 저장하는 메모리(예: 메모리(130))(이하, 제1 메모리)를 더 포함할 수 있다. 이와 같이, 전자 장치(801)는 제1 메모리와 구별되는 비보안 메모리(825)(이하, 제2 메모리)를 별도로 포함하여, 독립적이고 안전한 보안 환경을 제공할 수 있다. 또한, 본 발명의 한 실시예는 제2 메모리를 SoC 형태로 제공함에 따라 더욱 안전한 보안 환경을 제공할 수 있다.
상술한 차이점을 제외하고, 전자 장치(801)의 구성들은 도 2의 전자 장치(201)의 구성들과 유사하게 동작하는 바, 중복 설명을 피하기 위하여 전자 장치(801)의 구성들에 대한 상세한 설명은 생략하기로 한다.
도 9는 본 발명의 또 다른 실시예에 따른 전자 장치의 보안 키를 생성하여 저장하는 방법을 설명하는 도면이다.
도 9를 참조하면, 본 발명의 또 다른 실시예에 따른 전자 장치(801)의 메인 프로세서(821)는, 901 동작에서, 보안 키(85a)의 기록(또는 퓨징(fusing)) 여부를 보안 프로세서(823)의 프로세싱 모듈(81)에 문의(질의)할 수 있다. 상기 문의는 전자 장치(801)의 제조 과정 또는 제조 이후 첫 번째 부팅에서 보안 환경을 초기화하면서 메인 프로세서(821)에 의해 수행될 수 있다. 또는, 상기 문의는 지정된 조건을 만족하는 경우 수행될 수 있다. 예를 들어, 상기 문의는 전자 장치(801)의 초기화 또는 전자 장치(801)의 업데이트 등으로 인해 보안 환경이 초기화된 경우 수행될 수 있다.
상기 문의에 대응하여, 프로세싱 모듈(21)은, 903 동작에서, OTP 메모리(85)에 보안 키(85a)가 기록되어 있는지 여부를 확인할 수 있다. 예를 들어, 프로세싱 모듈(81)은 OTP 메모리(85)의 지정된 영역의 비트 값을 확인하여 보안 키(85a)의 기록 여부를 확인할 수 있다.
상기 903 동작의 확인 결과, OTP 메모리(85)에 보안 키(85a)가 기록되어 있지 않은 것으로 확인되면, 프로세싱 모듈(81)은, 905 동작에서, 랜덤 넘버 생성 모듈(83)에 랜덤 키의 생성을 요청하고, 생성된 랜덤 키를 수신할 수 있다.
프로세싱 모듈(81)은, 907 동작에서, 상기 생성된 랜덤 키를 기반으로, OTP 메모리(85)에 보안 키(85a)를 기록할 수 있다. 예를 들어, 프로세싱 모듈(81)은 상기 생성된 랜덤 키가 OTP 메모리(85)에 보안 키(85a)로 기록되도록 제어할 수 있다. 어떤 실시예에 따르면, 랜덤 넘버 생성 모듈(83)은 생성된 랜덤 키를 OTP 메모리(85)로 바로(직접) 전달하여 보안 키(85a)를 기록할 수 있다.
프로세싱 모듈(81)은 보안 키(85a)의 기록이 완료되면, 보안 키(85a)가 기록되었음을 OTP 메모리(85)의 지정된 영역에 기록할 수 있다.
한편, 전자 장치(801)가 RPMB를 이용하는 경우 OTP 메모리(85)는 RPMB를 위한 키를 더 저장할 수 있다.
도 10은 본 발명의 또 다른 실시예에 따른 전자 장치의 보안 키를 생성하여 저장하는 방법을 설명하는 도면이다.
도 10을 참조하면, 본 발명의 또 다른 실시예에 따른 전자 장치(801)는 보안 집적 회로(800)의 제조 시 외부 장치에서 생성된 랜덤 키(1001)를 기반으로, OTP 메모리(85)에 보안 키(85a)를 기록할 수 있다.
도 11은 본 발명의 한 실시예에 따른 보안 환경에서 데이터를 저장하는 방법을 설명하는 도면이다.
도 11을 참조하면, 본 발명의 한 실시예에 따른 전자 장치(801)의 보안 인터페이스 모듈(113)은, 1101 동작에서, 보안 환경의 구동 시 OTP 메모리(85)에 저장된 보안 키(85a)를 로드하고, 로드된 보안 키(85a)를, 1103 동작에서, 암호화 모듈(82)로 전송할 수 있다. 어떤 실시예에 따르면, 보안 환경의 구동 시 암호화 모듈(82)은 OTP 메모리(85)에 저장된 보안 키(85a)를 직접 로드하거나, 다른 구성(예: 프로세싱 모듈(81) 또는 메모리 컨트롤러(84))를 통해 전송 받을 수 있다.
보안 환경에서 구동되는 어플리케이션(보안 앱)(111)은, 1105 동작에서, 데이터의 저장을 보안 인터페이스 모듈(113)에 요청할 수 있다. 상기 요청에 대응하여, 보안 인터페이스 모듈(113)은, 1107 동작에서, 저장 요청된 데이터를 암호화 모듈(82)로 전송하여 데이터의 암호화를 요청하고, 1109 동작에서 암호화된 데이터를 수신할 수 있다.
보안 인터페이스 모듈(113)은, 1111 동작에서, 암호화 데이터를 메모리 컨트롤러(84)를 통해 메모리(825)로 전송할 수 있다. 암호화 데이터는 보안 채널을 통해 메모리(825)로 전송될 수 있다.
메모리(825)는, 1113 동작에서, 전송된 암호화 데이터를 저장할 수 있다. 어떤 실시예에 따르면, 암호화 데이터는 메모리(825)의 보호 영역(예: RPMB)에 저장될 수 있다. 이때, 보안 인터페이스 모듈(113) 또는 메모리 컨트롤러(84)는 보호 영역(RPMB)에 접근하기 위한 키를 사전에 로드할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치(예: 전자 장치(101), 전자 장치(801))는, 일반 환경 및 보안 환경을 제공하는 시스템 온 칩(system on chip: SoC)의 보안(secure) 집적 회로(integrated circuit: IC)(예: 프로세서(120), 보안 집적 회로(800))를 포함하고, 상기 보안 집적 회로는 상기 일반 환경에서 동작하는 메인 프로세서(예: 메인 프로세서(121), 메인 프로세서(821)), 상기 보안 환경에서 동작하고, 보안 키(예: 보안 키(85a))를 이용한 데이터의 보안을 제어하는 보안 프로세서(예: 보조 프로세서(123), 보안 프로세서(223)), 및 상기 보안 프로세서와 작동적으로(operatively) 연결되고, 보안 기능이 없는 메모리(예: 비보안 메모리(825))를 포함할 수 있다.
다양한 실시예에 따르면, 상기 보안 프로세서는 설정된 비트의 랜덤 넘버를 생성하는 랜덤 넘버 생성 모듈(예: 랜덤 넘버 생성 모듈(83)), OTP(one time programmable) 메모리(예: OTP 메모리(85)), 및 상기 랜덤 넘버 생성 모듈, 상기 OTP 메모리, 및 상기 보안 메모리 컨트롤러와 작동적으로 연결되는 프로세싱 모듈(예: 프로세싱 모듈(81))을 포함할 수 있다. 상기 프로세싱 모듈은 상기 보안 환경의 초기화 시 상기 OTP 메모리에 상기 보안 키가 기록되어 있는지 여부를 확인하고, 상기 보안 키가 기록되어 있지 않은 것으로 확인되면, 상기 랜덤 넘버 생성 모듈에 랜덤 키의 생성을 요청하고, 상기 OTP 메모리에 상기 생성된 랜덤 키가 상기 보안 키로 기록되도록 할 수 있다.
다양한 실시예에 따르면, 상기 보안 프로세서는 상기 메모리를 제어하는 메모리 컨트롤러(예: 메모리 컨트롤러(84)) 및 상기 OTP 메모리에 기록된 보안 키를 이용하여 데이터를 암호화하는 암호화 모듈(예: 암호화 모듈(82))을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세싱 모듈은 소프트웨어 기반 보안 인터페이스 모듈(예: 보안 인터페이스 모듈(113)을 더 포함할 수 있다. 상기 인터페이스 모듈은 상기 보안 환경의 구동 시 상기 OTP 메모리로부터 상기 보안 키를 획득하여, 상기 암호화 모듈에 전송하고, 상기 보안 환경에서 동작하는 보안 어플리케이션(예: 보안 앱(111))으로부터 데이터의 저장이 요청되면, 상기 저장 요청된 데이터를 상기 암호화 모듈에 전송하여 암호화를 요청하고, 상기 암호화 모듈로부터 상기 보안 키를 이용하여 암호화된 데이터(암호화 데이터)를 수신하고, 및 상기 수신된 암호화 데이터를 상기 메모리 컨트롤러를 통해 상기 메모리로 전송하여 저장할 수 있다.
다양한 실시예에 따르면, 상기 암호화 데이터는 상기 메모리의 보호 영역에 저장될 수 있다.
다양한 실시예에 따르면, 상기 보안 프로세서는 OTP 메모리를 포함할 수 있고, 상기 보안 키는 상기 보안 집적 회로의 제조 시 상기 OTP 메모리에 기록될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (20)

  1. 전자 장치에 있어서,
    일반 환경 및 보안 환경을 제공하는 시스템 온 칩(system on chip: SoC)의 보안(secure) 집적 회로(integrated circuit: IC)를 포함하고, 상기 보안 집적 회로는
    상기 일반 환경에서 동작하는 메인 프로세서,
    상기 보안 환경에서 동작하고, 제1 보안 키를 이용한 데이터의 보안을 제어하는 보안 프로세서, 및
    상기 보안 프로세서와 작동적으로(operatively) 연결되고, 상기 제1 보안 키에 대응하는 제2 보안 키를 저장하는 보안 메모리를 포함하는 전자 장치.
  2. 제 1 항에 있어서,
    상기 보안 프로세서는
    설정된 비트의 랜덤 넘버를 생성하는 랜덤 넘버 생성 모듈;
    OTP(one time programmable) 메모리;
    상기 보안 메모리를 제어하는 보안 메모리 컨트롤러; 및
    상기 랜덤 넘버 생성 모듈, 상기 OTP 메모리, 및 상기 보안 메모리 컨트롤러와 작동적으로 연결되는 프로세싱 모듈을 포함하고,
    상기 프로세싱 모듈은
    상기 보안 환경의 초기화 시 상기 OTP 메모리에 상기 제1 보안 키가 기록되어 있는지 여부를 확인하고,
    상기 제1 보안 키가 기록되지 않은 것으로 확인되면, 상기 랜덤 넘버 생성 모듈에 랜덤 키의 생성을 요청하고,
    상기 OTP 메모리 또는 상기 보안 메모리 컨트롤러에 상기 생성된 랜덤 키가 상기 제1 보안 키로 기록되도록 하고, 및
    상기 생성된 랜덤 키를 상기 보안 메모리 컨트롤러를 통해 상기 보안 메모리로 전송하여, 상기 보안 메모리에 상기 생성된 랜덤 키가 상기 제2 보안 키로 기록되도록 하는 전자 장치.
  3. 제 2 항에 있어서,
    상기 프로세싱 모듈은
    상기 OTP 메모리의 지정된 영역의 비트 값을 확인하여 상기 제1 보안 키의 기록 여부를 확인하는 전자 장치.
  4. 제 2 항에 있어서,
    상기 보안 프로세서는
    상기 제1 보안 키를 이용하여 데이터를 암호화하는 암호화 모듈을 더 포함하는 전자 장치.
  5. 제 4 항에 있어서,
    상기 암호화 모듈은
    상기 보안 환경의 구동 시 상기 OTP 메모리로부터 상기 제1 보안키를 로드하고,
    상기 보안 메모리 컨트롤러는
    상기 보안 환경에서 동작하는 보안 어플리케이션으로부터 데이터의 저장이 요청되면, 상기 암호화 모듈에 상기 데이터의 암호화를 요청하고,
    상기 암호화 모듈로부터 상기 제1 보안 키를 이용하여 암호화된 데이터(암호화 데이터)를 수신하고, 및
    상기 수신된 암호화 데이터를 보안 채널을 통해 상기 보안 메모리로 전송하도록 하고,
    상기 보안 메모리는
    상기 제2 보안 키를 이용하여 상기 전송된 암호화 데이터를 복호하여 저장하는 전자 장치.
  6. 제 4 항에 있어서,
    상기 프로세싱 모듈은
    소프트웨어 기반의 보안 인터페이스 모듈을 더 포함하고,
    상기 보안 인터페이스 모듈은
    상기 보안 환경의 구동 시 상기 OTP 메모리로부터 상기 제1 보안 키를 획득하여, 상기 암호화 모듈에 전송하고,
    상기 보안 환경에서 동작하는 보안 어플리케이션으로부터 데이터의 저장이 요청되면, 상기 저장 요청된 데이터를 상기 암호화 모듈에 전송하여 암호화를 요청하고,
    상기 암호화 모듈로부터 상기 제1 보안 키를 이용하여 암호화된 데이터(암호화 데이터)를 수신하고, 및
    상기 수신된 암호화 데이터를 상기 보안 메모리 컨트롤러를 통해 상기 보안 메모리로 전송하도록 하고,
    상기 보안 메모리는
    상기 제2 보안 키를 이용하여 상기 전송된 암호화 데이터를 복호하여 저장하는 전자 장치.
  7. 제 1 항에 있어서,
    상기 보안 프로세서는
    OTP(one time programmable) 메모리 및 상기 보안 메모리를 제어하는 보안 메모리 컨트롤러를 포함하고,
    상기 제1 보안 키는 상기 보안 집적 회로의 제조 시 상기 OTP 메모리 또는 상기 보안 메모리 컨트롤러에 기록되고,
    상기 제2 보안 키는 상기 보안 집적 회로의 제조 시 상기 보안 메모리에 기록되는 전자 장치.
  8. 전자 장치에 있어서,
    일반 환경에서 동작하는 메인 프로세서, 및 보안 환경에서 동작하고 제1 보안 키를 이용한 데이터의 보안을 제어하는 보안 프로세서를 포함하는 시스템 온 칩(system on chip: SoC) 형태의 보안(secure) 집적 회로(integrated circuit: IC); 및
    상기 보안 집적 회로의 보안 프로세서와 작동적으로(operatively) 연결되고, 상기 제1 보안 키에 대응하는 제2 보안 키를 저장하는 보안 메모리를 포함하는 전자 장치.
  9. 제 8 항에 있어서,
    상기 보안 프로세서는
    설정된 비트의 랜덤 넘버를 생성하는 랜덤 넘버 생성 모듈;
    OTP(one time programmable) 메모리;
    상기 보안 메모리를 제어하는 보안 메모리 컨트롤러; 및
    상기 랜덤 넘버 생성 모듈, 상기 OTP 메모리, 및 상기 보안 메모리 컨트롤러와 작동적으로 연결되는 프로세싱 모듈을 포함하고,
    상기 프로세싱 모듈은
    상기 보안 환경의 초기화 시 상기 OTP 메모리에 상기 제1 보안 키가 기록되어 있는지 여부를 확인하고,
    상기 제1 보안 키가 기록되어 있지 않은 것으로 확인되면, 상기 랜덤 넘버 생성 모듈에 랜덤 키의 생성을 요청하고,
    상기 OTP 메모리 또는 상기 보안 메모리 컨트롤러에 상기 생성된 랜덤 키가 상기 제1 보안 키로 기록하도록 하고, 및
    상기 생성된 랜덤 키를 상기 보안 메모리 컨트롤러를 통해 상기 보안 메모리로 전송하여, 상기 보안 메모리에 상기 생성된 랜덤 키가 제1 보안 키로 기록되도록 하는 전자 장치.
  10. 제 9 항에 있어서,
    상기 프로세싱 모듈은
    상기 OTP 메모리의 지정된 영역의 비트 값을 확인하여 상기 제1 보안 키의 기록 여부를 확인하는 전자 장치.
  11. 제 9 항에 있어서,
    상기 보안 프로세서는
    상기 제1 보안 키를 이용하여 데이터를 암호화하는 암호화 모듈을 더 포함하는 전자 장치.
  12. 제 11 항에 있어서,
    상기 암호화 모듈은
    상기 보안 환경의 구동 시 상기 OTP 메모리로부터 상기 제1 보안키를 로드하고,
    상기 보안 메모리 컨트롤러는
    상기 보안 환경에서 동작하는 보안 어플리케이션으로부터 데이터의 저장이 요청되면, 상기 암호화 모듈에 상기 데이터의 암호화를 요청하고,
    상기 암호화 모듈로부터 상기 제1 보안 키를 이용하여 암호화된 데이터(암호화 데이터)를 수신하고, 및
    상기 수신된 암호화 데이터를 보안 채널을 통해 상기 보안 메모리로 전송하도록 하고,
    상기 보안 메모리는
    상기 제2 보안 키를 이용하여 상기 전송된 암호화 데이터를 복호하여 저장하는 전자 장치.
  13. 제 11 항에 있어서,
    상기 프로세싱 모듈은
    소프트웨어 기반 보안 인터페이스 모듈을 더 포함하고,
    상기 보안 인터페이스 모듈은
    상기 보안 환경의 구동 시 상기 OTP 메모리로부터 상기 제1 보안 키를 획득하여, 상기 암호화 모듈에 전송하고,
    상기 보안 환경에서 동작하는 보안 어플리케이션으로부터 데이터의 저장이 요청되면, 상기 저장 요청된 데이터를 상기 암호화 모듈에 전송하여 암호화를 요청하고,
    상기 암호화 모듈로부터 상기 제1 보안 키를 이용하여 암호화된 데이터(암호화 데이터)를 수신하고, 및
    상기 수신된 암호화 데이터를 상기 보안 메모리 컨트롤러를 통해 상기 보안 메모리로 전송하도록 하고,
    상기 보안 메모리는
    상기 제2 보안 키를 이용하여 상기 전송된 암호화 데이터를 복호하여 저장하는 전자 장치.
  14. 제 8 항 에 있어서,
    상기 보안 프로세서는
    OTP(one time programmable) 메모리 및 상기 보안 메모리를 제어하는 보안 메모리 컨트롤러를 포함하고,
    상기 제1 보안 키는
    상기 보안 집적 회로의 제조 시 상기 OTP 메모리 또는 상기 보안 메모리 컨트롤러에 기록되고,
    상기 프로세싱 모듈은
    상기 보안 환경의 초기화 시 상기 OTP 메모리 또는 상기 보안 메모리 컨트롤러에 기록된 제1 보안 키를 로드하고, 상기 로드된 제1 보안 키를 기반으로 상기 보안 메모리 컨트롤러를 통해 상기 보안 메모리에 상기 제2 보안 키를 기록하도록 하는 전자 장치.
  15. 전자 장치에 있어서,
    일반 환경 및 보안 환경을 제공하는 시스템 온 칩(system on chip: SoC)의 보안(secure) 집적 회로(integrated circuit: IC)를 포함하고, 상기 보안 집적 회로는
    상기 일반 환경에서 동작하는 메인 프로세서,
    상기 보안 환경에서 동작하고, 보안 키를 이용한 데이터의 보안을 제어하는 보안 프로세서, 및
    상기 보안 프로세서와 작동적으로(operatively) 연결되고, 보안 기능이 없는 메모리를 포함하는 전자 장치.
  16. 제 15 항에 있어서,
    상기 보안 프로세서는
    설정된 비트의 랜덤 넘버를 생성하는 랜덤 넘버 생성 모듈;
    OTP(one time programmable) 메모리; 및
    상기 랜덤 넘버 생성 모듈, 상기 OTP 메모리, 및 상기 보안 메모리 컨트롤러와 작동적으로 연결되는 프로세싱 모듈을 포함하고,
    상기 프로세싱 모듈은
    상기 보안 환경의 초기화 시 상기 OTP 메모리에 상기 보안 키가 기록되어 있는지 여부를 확인하고,
    상기 보안 키가 기록되어 있지 않은 것으로 확인되면, 상기 랜덤 넘버 생성 모듈에 랜덤 키의 생성을 요청하고,
    상기 OTP 메모리에 상기 생성된 랜덤 키가 상기 보안 키로 기록되도록 하는 전자 장치.
  17. 제 16 항에 있어서,
    상기 보안 프로세서는
    상기 메모리를 제어하는 메모리 컨트롤러; 및
    상기 OTP 메모리에 기록된 보안 키를 이용하여 데이터를 암호화하는 암호화 모듈을 더 포함하는 전자 장치.
  18. 제 17 항에 있어서,
    상기 프로세싱 모듈은
    소프트웨어 기반 보안 인터페이스 모듈을 더 포함하고,
    상기 인터페이스 모듈은
    상기 보안 환경의 구동 시 상기 OTP 메모리로부터 상기 보안 키를 획득하여, 상기 암호화 모듈에 전송하고,
    상기 보안 환경에서 동작하는 보안 어플리케이션으로부터 데이터의 저장이 요청되면, 상기 저장 요청된 데이터를 상기 암호화 모듈에 전송하여 암호화를 요청하고,
    상기 암호화 모듈로부터 상기 보안 키를 이용하여 암호화된 데이터(암호화 데이터)를 수신하고, 및
    상기 수신된 암호화 데이터를 상기 메모리 컨트롤러를 통해 상기 메모리로 전송하여 저장하는 전자 장치.
  19. 제 15 항에 있어서,
    상기 암호화 데이터는
    상기 메모리의 보호 영역에 저장되는 전자 장치.
  20. 제 15 항에 있어서,
    상기 보안 프로세서는
    OTP(one time programmable) 메모리를 포함하고,
    상기 보안 키는 상기 보안 집적 회로의 제조 시 상기 OTP 메모리에 기록되는 전자 장치.
KR1020190028203A 2019-03-12 2019-03-12 보안 집적 회로를 포함하는 전자 장치 KR102621645B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190028203A KR102621645B1 (ko) 2019-03-12 2019-03-12 보안 집적 회로를 포함하는 전자 장치
US16/815,541 US11461475B2 (en) 2019-03-12 2020-03-11 Electronic device including secure integrated circuit
PCT/KR2020/003402 WO2020184987A1 (en) 2019-03-12 2020-03-11 Electronic device including secure integrated circuit
EP20162344.4A EP3709205B1 (en) 2019-03-12 2020-03-11 Electronic device including secure integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190028203A KR102621645B1 (ko) 2019-03-12 2019-03-12 보안 집적 회로를 포함하는 전자 장치

Publications (2)

Publication Number Publication Date
KR20200109111A true KR20200109111A (ko) 2020-09-22
KR102621645B1 KR102621645B1 (ko) 2024-01-05

Family

ID=69804617

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190028203A KR102621645B1 (ko) 2019-03-12 2019-03-12 보안 집적 회로를 포함하는 전자 장치

Country Status (4)

Country Link
US (1) US11461475B2 (ko)
EP (1) EP3709205B1 (ko)
KR (1) KR102621645B1 (ko)
WO (1) WO2020184987A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11550963B2 (en) 2020-04-08 2023-01-10 Samsung Electronics Co., Ltd. Method of processing secure data and electronic device supporting the same

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231729A (zh) * 2020-10-23 2021-01-15 山东超越数控电子股份有限公司 一种基于SoC芯片的SD安全模块和传输方法
US11775690B2 (en) * 2020-12-02 2023-10-03 Dell Products L.P. System and method for supporting multiple independent silicon-rooted trusts per system-on-a-chip
EP4307149A3 (en) * 2022-07-11 2024-04-03 Samsung Electronics Co., Ltd. System-on-chip and electronic device including the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140020114A1 (en) * 2012-07-13 2014-01-16 Qualcomm Incorporated Methods and apparatuses for integrating a portion of secure element components on a system on chip
US20150312036A1 (en) * 2014-04-23 2015-10-29 Cryptography Research, Inc. Generation and management of multiple base keys based on a device generated key
KR20160101635A (ko) * 2015-02-17 2016-08-25 삼성전자주식회사 보안 회로를 통한 데이터의 저장 및 이용
US20180018461A1 (en) * 2015-03-18 2018-01-18 Samsung Electronics Co., Ltd. Method and apparatus for protecting application
KR20180074967A (ko) * 2016-12-26 2018-07-04 포항공과대학교 산학협력단 하드웨어 수준 보안을 보장하는 가상화 기반 소프트웨어 보안 방법 및 이를 이용하는 장치

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040072256A (ko) * 2003-02-10 2004-08-18 삼성전자주식회사 컨텐츠에 대한 사용 제한 및 저작권 보호를 위한 통신단말기 및 컨텐츠 보안 시스템
US8332653B2 (en) * 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
JP5178839B2 (ja) * 2009-11-27 2013-04-10 株式会社東芝 メモリチップ
WO2011068996A1 (en) * 2009-12-04 2011-06-09 Cryptography Research, Inc. Verifiable, leak-resistant encryption and decryption
US8543838B1 (en) * 2009-12-23 2013-09-24 Marvell International Ltd. Cryptographic module with secure processor
US9177152B2 (en) * 2010-03-26 2015-11-03 Maxlinear, Inc. Firmware authentication and deciphering for secure TV receiver
EP2461265B1 (en) * 2010-12-03 2019-05-22 Novomatic AG Device for and method of handling sensitive data
KR101975027B1 (ko) 2012-05-04 2019-05-03 삼성전자주식회사 시스템 온 칩, 이의 동작 방법, 이를 포함하는 장치들
KR102013841B1 (ko) 2012-08-06 2019-08-23 삼성전자주식회사 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치
US9881161B2 (en) * 2012-12-06 2018-01-30 S-Printing Solution Co., Ltd. System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof
US9621549B2 (en) 2014-07-25 2017-04-11 Qualcomm Incorporated Integrated circuit for determining whether data stored in external nonvolative memory is valid
KR20160019780A (ko) 2014-08-12 2016-02-22 삼성전자주식회사 시스템 온 칩, 시스템 온 칩을 포함하는 전자 장치 및 시스템 온 칩의 동작 방법
US10044510B2 (en) 2015-02-17 2018-08-07 Samsung Electronics Co., Ltd Storing and using data with secure circuitry
KR20160132302A (ko) * 2015-05-09 2016-11-17 삼성전자주식회사 물리적 접근 제한을 이용한 장치들 사이의 키 공유 방법
KR102349714B1 (ko) 2015-08-13 2022-01-12 삼성전자주식회사 전자 기기의 프로그램 관리 방법 및 장치
US10534882B2 (en) 2016-03-29 2020-01-14 Qualcomm Incorporated Method and apparatus for configuring an integrated circuit with a requested feature set
US20170329995A1 (en) 2016-05-10 2017-11-16 Qualcomm Incorporated Anti-replay techniques using secure external non-volatile memory
EP3472747B1 (en) 2016-06-20 2021-08-04 Hewlett-Packard Development Company, L.P. Firmware-inaccessible key storage
US10185553B2 (en) * 2016-06-30 2019-01-22 Microsoft Technology Licensing, Llc Fault-tolerant variable region repaving during firmware over the air update
CN109075815A (zh) * 2016-08-09 2018-12-21 华为技术有限公司 一种片上系统和处理设备
EP3547195B1 (en) * 2016-12-29 2020-11-25 Huawei Technologies Co., Ltd. System-on-chip and method for switching secure operating systems
US20180365406A1 (en) 2017-06-20 2018-12-20 Qualcomm Incorporated Methods and systems for providing advanced secure boot features to limited-resource peripheral devices by using a secure processor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140020114A1 (en) * 2012-07-13 2014-01-16 Qualcomm Incorporated Methods and apparatuses for integrating a portion of secure element components on a system on chip
US20150312036A1 (en) * 2014-04-23 2015-10-29 Cryptography Research, Inc. Generation and management of multiple base keys based on a device generated key
KR20160101635A (ko) * 2015-02-17 2016-08-25 삼성전자주식회사 보안 회로를 통한 데이터의 저장 및 이용
US20180018461A1 (en) * 2015-03-18 2018-01-18 Samsung Electronics Co., Ltd. Method and apparatus for protecting application
KR20180074967A (ko) * 2016-12-26 2018-07-04 포항공과대학교 산학협력단 하드웨어 수준 보안을 보장하는 가상화 기반 소프트웨어 보안 방법 및 이를 이용하는 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11550963B2 (en) 2020-04-08 2023-01-10 Samsung Electronics Co., Ltd. Method of processing secure data and electronic device supporting the same

Also Published As

Publication number Publication date
US20200293667A1 (en) 2020-09-17
US11461475B2 (en) 2022-10-04
EP3709205A1 (en) 2020-09-16
WO2020184987A1 (en) 2020-09-17
EP3709205B1 (en) 2024-02-28
KR102621645B1 (ko) 2024-01-05

Similar Documents

Publication Publication Date Title
EP3531659B1 (en) Electronic device and method for sharing screen data
US10810811B2 (en) Electronic device and method for managing electronic key thereof
KR102621645B1 (ko) 보안 집적 회로를 포함하는 전자 장치
KR20210017083A (ko) 퓨즈된 키에 기반하여 증명 인증서를 생성하는 전자 장치 및 방법
KR102400580B1 (ko) 다른 전자 장치의 인증을 수행하는 전자 장치와 이의 동작 방법
US11567748B2 (en) Interface device having updatable firmware, mobile device, and firmware update method
CN112287360B (zh) 电子装置以及该电子装置的操作方法
KR102643372B1 (ko) 장치를 탐색하는 전자 장치 및 그 방법
KR20200104043A (ko) 사용자 식별 정보를 저장하기 위한 전자 장치 및 그에 관한 방법
US11429366B2 (en) Electronic device for updating firmware by using security integrated circuit and operation method thereof
US11716603B2 (en) Method for transmitting data based on multiple communication schemes and electronic device supporting same
US20200396080A1 (en) Electronic device and method for transmitting and receiving data on the basis of security operating system in electronic device
KR20200131035A (ko) 블록체인에 저장된 푸시 메시지를 수신하는 전자 장치 및 방법
KR20210017268A (ko) 사용자 데이터에 대해 암호화 동작을 수행하는 전자 장치
KR20220037849A (ko) 탈중앙화 네트워크를 이용하여 권리를 관리하는 전자 장치 및 이의 동작 방법
KR102657388B1 (ko) 암호화될 데이터의 정보량에 기반하여 암호화에 사용될 키를 선택하는 전자 장치 및 전자 장치의 동작 방법
KR102495672B1 (ko) 모바일 카드의 백업 및 재설치를 지원하는 전자 장치
KR20220094847A (ko) 보안 데이터 처리 방법 및 이를 지원하는 전자 장치
KR20210026233A (ko) 디바이스 리소스에 대한 접근을 제어하기 위한 전자 장치 및 그의 동작 방법
KR20190058914A (ko) 전자 장치 및 전자 장치에서 서비스 키를 관리하는 방법
US12026064B2 (en) Electronic device and method of backing up secure element
US20230029025A1 (en) Electronic device and method of backing up secure element
KR20240032591A (ko) 암호화된 데이터를 비휘발성 메모리 내에 저장하기 위한 전자 장치 및 그 방법
US20210084364A1 (en) Electronic device for reproducing data and operation method thereof
KR20200127880A (ko) 암호화 및 복호화를 수행하는 전자 장치 및 그 제어 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant