KR20170102285A - 보안 요소 - Google Patents

보안 요소 Download PDF

Info

Publication number
KR20170102285A
KR20170102285A KR1020177020905A KR20177020905A KR20170102285A KR 20170102285 A KR20170102285 A KR 20170102285A KR 1020177020905 A KR1020177020905 A KR 1020177020905A KR 20177020905 A KR20177020905 A KR 20177020905A KR 20170102285 A KR20170102285 A KR 20170102285A
Authority
KR
South Korea
Prior art keywords
area
program
pbl
sbl
loaded
Prior art date
Application number
KR1020177020905A
Other languages
English (en)
Other versions
KR102324328B1 (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 제말토 에스에이
Publication of KR20170102285A publication Critical patent/KR20170102285A/ko
Application granted granted Critical
Publication of KR102324328B1 publication Critical patent/KR102324328B1/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/77Protecting 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 smart cards
    • 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/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • 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
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

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

Abstract

본 발명은 적어도 하나의 프로세서, 적어도 하나의 통신 인터페이스, 적어도 하나의 메모리(RAM, NVM) 및 적어도 하나의 버스 액세스 컨트롤러를 포함하는 보안 요소에 관한 것인데, 버스 액세스 컨트롤러는 적어도 제1 영역(PBL), 제2 영역(SBL) 및 보안 영역(MZ)을 형성한다. 제1 영역은 제2 영역 내에 프로그램 패키지를 로딩할 수 있는 제1 로더 프로그램을 포함한다. 보안 영역은 제2 영역 내에 로딩된 프로그램 패키지를 인증할 수 있는 인증 키를 포함한다. 제2 영역 내에 로딩된 프로그램 패키지의 인증 이후에, 제1 로더 프로그램의 액세스 권한이 변경되어서, 제1 영역 내의 프로그램이 더 이상 제2 영역에 액세스할 수 없다.

Description

보안 요소
본 발명은 보안 요소에 관한 것이다. 보안 요소는 조작 방지되는 프로세싱 회로이다.
오늘날 보안 요소는 가장 큰 전자 장치의 마더 보드에 솔더링되거나 제거가능한 독립적인 칩이다. 흔히, 보안 요소는 일반적으로, 휘발성 및 비휘발성 메모리를 가진 마이크로프로세서, 가끔 암호화-프로세서 및 보안 전용 몇 몇의 하드웨어를 포함한다. 스마트 카드 칩과 관련된 종래 기술은 보안 및 이러한 보안 요소의 애플리케이션에 관한 것의 거대한 부분을 구성한다.
그럼에도 불구하고, 보안 요소에 로딩된 소프트웨어는 보안되어야 하고, 보안 요소에 보안적으로 로딩되어야 한다. 흔히, 칩 제조자는 블랭크(blank) 보안 요소를 부품 통합자(component integrator)에 제공할 수 있는데, 상기 부품 통합자는, 트러스티드 부품(trusted component)이 실제로 블랭크된 부품 제조자로부터 보증을 가진 트러스티드 소프트웨어(trusted software)가 있는 보안 요소를 로딩할 것이다. 일반적으로, 부품 통합자는 보안 운영 시스템(OS)를 칩 내부로 로딩한다. 그리고 나서, 그 OS를 가진 칩은 휴대용 카드형 장치 내에 내장되거나, 스마트폰, 컴퓨터, 차, 측정 장비 등과 같은 더 큰 전자 장치 내에 포함될 또 다른 장치 제조자로 전달될 수 있다.
그 OS를 수신한 이후에, 보안 요소는 원격적이고 보안적으로 애플리케이션을 로딩할 수 있다. 보안 로딩의 트러스트(trust)는 보안 요소의 액세스 키를 작동하는 부품 통합자에 의해 보증된다. 운영 시스템이 최종 애플리케이션을 수신하기 위해 적응되어야 하기 때문에, 어떤 문제가 발생할 수 있다. 또 다른 문제는 전자 장치의 최종 클라이언트가 애플리케이션의 보안을 보증하는 부품 통합자를 선택할 수 없다는 것이다.
이상적으로, 보안 요소가 전자 장치 내로 완전히 블랭크 하게 통합되어서, 전자 장치의 구매 이후에, 완전한 맞춤화가 이루어지는 것이 최선일 것이다. 그러나 주요 문제는, 특히 전자 장치의 많은 재판매 이후에, 보안 요소가 실제로 블랭크인지를 최종 클라이언트한테 어떻게 보증할 것인지이다.
본 발명은, 부품이 실제로 블랭크인 것을 보증하기 위한 일부 하드웨어 특징을 포함하는 내장된 회로의 새로운 구조물을 제안한다. 좀 더 구체적으로, 본 발명은 적어도 하나의 프로세서, 적어도 하나의 통신 인터페이스, 적어도 하나의 메모리 및 적어도 하나의 버스 액세스 컨트롤러를 포함하는 보안 요소이다. 버스 액세스 컨트롤러는 적어도 제1 영역, 제2 영역 및 보안 영역을 형성한다. 제1 영역은 제2 영역 내에 프로그램 패키지를 로딩할 수 있는 제1 로더 프로그램을 포함한다. 보안 영역은 제2 영역 내에 로딩된 프로그램 패키지를 인증할 수 있는 인증 키를 포함한다. 제2 영역 내에 로딩된 프로그램 패키지의 인증 이후에, 제1 로더 프로그램의 액세스 권한이 변경되어서, 제1 영역 내의 프로그램이 더 이상 제2 영역에 액세스할 수 없다.
프로그램 보증의 로딩 이후에 변경된 액세스 권한을 가진 제1 로더 프로그램의 사용은 제1 로더를 통한 공격의 가능한 방법을 차단한다.
우선적으로, 제2 영역 내에 로딩된 프로그램 패키지는, 인증 키로 인증될 수 있는 로딩된 프로그램 패키지의 시그니쳐를 포함하는 인증 토큰을 포함할 수 있다. 로딩된 프로그램 패키지는 인증 키로 암호화된 이차 키(second key)를 포함할 수 있고, 상기 이차 키는 프로그램 패키지의 적어도 하나의 부분을 해독하는데 사용된다.
제2 영역 내에 로딩된 프로그램 패키지는, 제2 로더 프로그램을 포함할 수 있다. 이러한 제2 로더 패키지는 OS 제조자에 의해 제조되고, 이러한 제2 로더에 대한 제어는 더욱 신뢰성 있고, 모든 환경이 제어하에 있을 때, 기술 분야에서 잘 알려진 좀 더 복잡한 보호 메카니즘을 사용할 수 있도록 한다. 제2 로더 프로그램에 의해 이루어진 이후의 로딩은 암호화 방식으로 이루어질 수 있고, 해독화는 이차 키를 사용하여 이루어진다.
보안의 증가는 추가적인 하드웨어 방화벽에 의해 이루어질 수 있다. 버스 액세스 컨트롤러는 제2 로더 프로그램에 의해서만 로딩될 수 있는, 가령 운영 시스템에 전용인, 제3 영역을 형성할 수 있다. 또 다른 보안 개선은 보안 영역 내의 이차 키를 저장하는 것으로 구성될 수 있다. 버스 액세스 컨트롤러는 또 다른 영역에서 실행되는 임의의 프로그램으로부터 리드 및 라이트 모드에서 액세스될 수 있는 중립 영역을 형성할 수 있고, 상기 중립 영역은 영역들 사이에 데이터를 전달하는데 사용되고, 버스 액세스 컨트롤러에 의한 액세스 권한 위반이 검출된 경우, 중립 영역 내의 모든 데이터는 삭제될 수 있다. 보안 영역은 또 다른 영역으로부터 시작(launched from)될 수 있는 암호화 및 해독화의 일부 보안 기능을 포함할 수 있으나, 이들의 실행은 보안 영역에서만 이루어진다.
재사용을 위해, 제2 영역의 삭제가 완료된 이후에, 제1 로더 프로그램은 다시 제2 영역에 액세스할 수 있다. 이러한 메카니즘은, 비밀 데이터가 삭제되기 때문에, 이들의 공개 위험 없이 칩의 재사용을 가능하게 할 수 있다. 그러한 경우에, 제3 영역이 있다면, 제3 영역은 제2 영역과 동시에 삭제되어야 한다. 삭제 사고를 방지하기 위해, 통신 인터페이스에 연결된 호스트 장치로부터 삭제에 대한 인증 이후에만, 제2 영역의 삭제가 이루어져야 한다.
본 발명은 첨부된 도면을 참조하여 좀 더 상세히 기술될 것이다.
도 1은 보안 요소의 블록도를 나타낸다.
도 2는 본 발명에 따른 보안 요소의 보안 도메인을 나타낸다.
도 3은 본 발명에 따른 보안 도메인에 의해 형성된 메모리 맵을 나타낸다.
도 4 및 5는 보안 도메인에 따른 메모리들의 액세스 테이블을 나타낸다.
도 6은 키 관리의 테이블을 나타낸다.
도 7은 이차적 부트 로더(이차적 부트 로더)의 설치 순서도이다.
도 1은 버스 액세스 컨트롤러(103)에 의해 모니터링되는 중앙 버스(102)에 연결된 프로세싱 유닛(101)을 포함하는 보안 요소(100)의 아키텍쳐의 예시를 나타낸다. 또한, 중앙 버스는 통신 인터페이스(104), 휘발성 메모리(RAM, 105), 비휘발성 메모리(106) 및 암호화 코프로세서(107)에도 연결된다. 보안 요소의 다른 아키텍쳐는 본 발명에 적응될 수 있다. 이러한 보안 요소(100)는 집적 회로 내에서 이루어진다. 그러나, 보안 요소가 소프트웨어로 구성될 것이라는 점을 고려하면, 칩의 한 조각으로 볼 수 있다. 다시 말해, 보안 요소는 시스템 온 칩 내부에 통합될 수 있고, 여기서, 보안 요소는 그 통신 인터페이스(104)를 통해 통신하는 모듈이다.
시스템 온 침(System On Chip) 내부에 내장된 보안 요소(100)에 대하여, 통신 인터페이스(104)는 SOC의 중앙 버스에 연결된 병렬 인터페이스일 수 있다. 그러한 경우에, 보안 요소(100)의 호스트는 SOC이다. 통신 인터페이스(104)는 호스트로부터의 커맨드와 데이터를 수신하기 위한 버퍼를 주로 포함할 것이다.
보안 요소(100)가 집적 회로 내부에 단독으로 제조되면, 통신 인터페이스(104)는 하나 이상의 잘 알려진 프로토콜에 따른 하나 이상의 인터페이스를 포함할 수 있다. 우선적으로, ISO781 6, ISO, USB, I2C, SPI, SWP와 같은 직렬 인터페이스 또는 두 개의 침들 사이의 통신에 흔히 사용되는 임의의 직렬 인터페이스가 사용된다. 안테나를 칩에 직접 연결시키는 IS014443, 지그비, 블루투스 등과 같은 무선 인터페이스를 가질 수도 있다.
암호화 코프로세서(107)는 암호화에 전용되는 일부 작업을 프로세싱 유닛(101)보다 더 빠르게 컴퓨팅하도록 실행된다. 암호화 코프로세서(107)의 사용이 필요하지 않더라도, 프로세싱 유닛(101)과 같은 범용 프로세서에 대해 긴 프로세싱 시간을 걸리도록 하는 강한 암호화 기능을 수행하기 위한 것을 가지는 것이 권고된다.
비휘발성 메모리(106)는 ROM, PROM, E2PROM, 또는 Flash E2PROM와 같은 여러 타입의 메모리를 포함할 수 있다. 전형적으로, 메모리의 일부는 한 번만 프로그램되고, IC 제조자에 의해 직접 프로그램될 수 있다. IC 제조자에 의해 제공되는 모든 종류의 데이터와 프로그램은 삭제할 수 없는 기술을 사용할 수 있다. 휘발성 메모리(105)와 비휘발성 메모리(106)는 이들의 어드레스에 의해 용이하게 식별가능한 서로 다른 영역에 분리되어 배치된다.
중앙 버스(102)는 3개의 부분, 어드레스를 위한 1 부분, 데이터를 위한 1 부분, 및 제어 신호를 위한 마지막 부분을 포함하는 병렬 마이크로프로세서 버스이다. 버스 액세스 컨트롤러(103)는 중앙 버스(102)의 제어 신호와 어드레스를 모니터링한다. 여러 영역에서 메모리를 분리시키기 위한 하드웨어에 의해 어드레스 맵이 형성되는데, 각각의 영역은 이하에 상세히 설명될 보안 도메인(security domain)에 대응된다. 제어 신호는, 메모리 액세스가 리드(Read) 동작, 라이트(Write) 동작 또는 페치(Fetch) 동작인지를 버스 액세스 컨트롤러가 알 수 있도록 한다. 페치가 명령어를 실행한다는 것을 고려하면, 액세스 버스 컨트롤러는 어드레스로부터 다음 액세스가 행해질 지 알 수 있다. 우선적으로, 버스 컨트롤러(103)는 하드웨어에 내장(hard wired)되어서, 보안 요소(100)의 모니터링된 어드레스 맵핑을 수정할 수 없다. 버스 액세스 컨트롤러(103)는 하나의 액세스 규칙을 변경하기 위해 프로그램될 수 있는 비휘발성 타입의 적어도 하나의 비트를 포함한다. 당업자는 이하에 상세히 설명되는 실행 규칙에 의존하는 이러한 버스 액세스 컨트롤러를 용이하게 제조할 수 있다.
도 2는 본 발명으로 실행될 수 있는 서로 다른 보안 도메인을 나타낸다. 제1 도메인(201)은 IC 제조자의 도메인이다. 제1 도메인(201)은 원칙적으로, 이후의 소프트웨어를 보안적으로 로딩하는데 사용될 일차적 부트 로더(primary boot loader)를 포함한다. 제2 도메인(202)은 OS 제조자의 제어 하에 있다. 제2 도메인(202)은 이차적 부트 로더(secondary boot loader)를 포함한다. 이차적 부트 로더는 일차적 부트 로더에 의해 로딩되고, 운영 시스템을 로딩하는데 사용될 것이다. 제3 도메인(203)은 OS 제조자의 제어 하에 있다. 제3 도메인은 운영 시스템을 포함한다. 제4 도메인은 고객 전용이고, 애플리케이션을 포함한다. 모든 도메인들은 방화벽에 의해 분리되어서, 하나의 도메인의 소프트웨어는 다른 도메인의 데이터에 액세스될 수 없다.
본 발명의 바람직한 실시예에서, 제1 도메인과 제2 도메인 사이의 방화벽과 제2 도메인과 제3 도메인 사이의 방화벽은 하드웨어 방화벽인 반면, 제3 도메인과 제4 도메인 사이의 방화벽은 OS의 소프트웨어에 의해 만들어진다. 변형예로서, 제2 도메인과 제3 도메인은 방화벽 없이 단일 도메인을 구성할 수도 있다. 제1 도메인과 제2 도메인 사이의 하드웨어 방화벽은 IC 제조자와 OS 제조자 사이의 비밀성을 보증한다.
도 3은 어떻게 하드웨어 보안성을 보장하는지를 설명하기 위해, 서로 다른 도메인에 대응되는 메모리 맵을 상세히 나타낸다. 도 3에서, 제1 도메인(201)은 두 개의 메모리 영역(하나는 일차적 부트 로더(PBL 영역)에 전용이고, 다른 하나는 보안 기능(MZ 영역)을 위한)에서 공유된다. MZ 영역은 보안 기능을 포함하고, PBL 영역으로부터 액세스될 수 없다. 제2 도메인(202)은 이차적 부트 로더를 포함하고, SBL 영역을 구성한다. 제2 도메인(203)과 제3 도메인(204)은 단일 영역(OS 영역)에 위치된다. 이러한 4개의 영역(PBL 영역, MZ 영역, SBL 영역 및 OS 영역)은 버스 액세스 컨트롤러(103)에 의해 관리되는 하드웨어 방화벽(FW1, FW2 및 FW3)에 의해 서로 분리된다. 제5 영역은 모든 영역에 대해 라이팅과 리딩에 있어서 개방되는 공유된 영역에 대응된다. 공유된 영역은 분리된 영역들 사이에 정보를 보안적으로 교환할 수 있도록 하는데 사용된다.
영역의 특정한 하드웨어 방화벽은 일차적 부트 로더(Primary Boot Loader)와 이차적 부트 로더(Secondary Boot Loader) 사이의 임의의 비밀 누설을 방지하여서, 제1 도메인과 제2 도메인 사이의 방화벽을 본질적으로 강화시키는데 목적이 있다. PBL이 소프트웨어 기능 장애를 가지거나, 악성 프로그램이 삽입되면, 공인된 하드웨어는 반대편 도메인 외부로 어떠한 비밀 누설을 차단할 것이다. 요약하면, PBL은 SBL의 비밀을 누설하지 않고, SBL도 PBL의 비밀을 누설하지 못한다.
버스 액세스 컨트롤러의 액세스 규칙에 대한 더 자세한 세부사항들은, 도 4 및 도 5를 참조한다. 도 4는 이차적 부트 로더의 로딩 이전의 액세스 규칙에 해당하고, 도 5는 이차적 부트 로더의 로딩 및 인증 이후의 액세스 규칙에 해당한다. 이들 도 4 및 5는 버스 액세스 컨트롤러 내의 하드웨어 내장에 의해 실행되어서, 규칙은 부품의 수명 동안에 밀봉된다. 앞서 표시된 바와 같이, 버스 액세스 컨트롤러(103)는 버스와 프로세스된 명령어를 모니터링한다. 언제라도, 버스 액세스 컨트롤러(103)는 현재 실행되는 명령어가 어디로부터 온 영역인지를 안다. 기원된 영역에 의존하여, 일부 권한이 다른 영역에 주어진다. 테이블에서, R은 리딩 동작을 할 수 있는 액세스 권한을 나타내고, W는 라이팅 동작을 할 수 있는 액세스 권한이며, X는 미래의 실행에 있어서, 페치 동작이 허용된다는 것을 나타낸다.
도 4 및 5에 정의된 권한은 그 영역에서만 명령어의 실행을 가능하게 한다는 것을 볼 수 있다. 두 도면의 오직 하나의 차이점은 PBL 영역에서 SBL 영역까지의 액세스 권한이다. 도 4에서, PBL 영역은 SBL 영역에 리드 및 라이트에 액세스할 권한을 가져서, SBL 영역 내의 프로그램 패키지를 다운로딩하고, 로딩이 수행된다는 것을 확인한다. 패키지의 다운로딩 이후에, 패키지의 인증이 행해질 것이고, 성공적이며, 버스 액세스 컨트롤러의 비휘발성 비트가 변경되며, 그리고 나서, PBL 영역에서 SBL 영역까지의 액세스는 도 5에 표시된 바와 같이, 제한된다.
이러한 메모리 맵핑은 보안의 레벨과 어떤 선택에 의존하여, 당업자에 의해 수정될 수 있다. 명세서의 예시에서, OS 영역은 SBL 영역과 분리된다. SBL 영역은 리드와 라이트에서 OS 영역 내의 액세스 권한을 가지는데, 왜냐하면, OS의 모든 업데이트는 이차적 부트 로더를 통해 이루어져야 하기 때문이다. OS 영역에 관하여, 일부 액세스 권한은 SBL 영역에 주어지는데, 특히, 소프트웨어 애플리케이션을 로딩하는데 관심있는 SBL 영역으로부터의 일부 정보를 사용하기 위함이다. 두 개의 대응되는 도메인이 동일한 도메인이 될 수 있다는 점을 고려하면, SBL 영역과 OS 영역 모두에 대한 단일 영역을 형성할 수도 있다. 이것이 가능한데, 왜냐하면 이차적 부트 로더는 OS 제조자에 의해 만들어져서, 운영 시스템이 완전히 식별된 부트 로더 소프트웨어에 의해 보안적으로 로딩된다는 것을 OS 제조자에게 보증하기 때문이다. 운영 시스템과 이차적 부트 로더 사이의 방화벽은 소프트웨어에 의해 만들질 수 있다.
볼 수 있는 바와 같이, 일부 데이터는 공유된 영역을 통해 하나의 영역으로부터 또 다른 영역으로 전달될 수 있다. 이러한 메카니즘을 사용하여, 오직 데이터만이 하나의 영역으로부터 또 다른 영역으로 정상적으로 전달된다. 또한, 데이터를 수신하는 영역은 수신된 데이터에 대해 완전한 제어를 가지는데, 왜냐하면, 상기 영역의 프로그램에 의해 정상적으로 리드된다. 그럼에도 불구하고, 버스 액세스 컨트롤러(103)가 권한 위반을 검출하거나, 프로세싱 유닛의 오류가 검출되면, 공유된 메모리는 완전히 삭제된다. 옵션으로, 보안 요소(100)는 이러한 보안 부품에 이미 알려진 것에 따라 물리적 공격의 검출을 위한 어떤 보안 센서를 포함할 수 있다. 보안 센서가 잠재적인 공격을 검출하면, 공유된 메모리가 또한 삭제된다.
하나의 영역으로부터 또 다른 영역으로 스위칭하기 위해서는 두 개의 메카니즘이 가능하다. 첫번째 메카니즘은, 공유된 메모리 내의 종국적으로 일부 데이터를 가진 함수의 시작에 대응되는 포인터를 로딩하고, 그리고 나서, 선택된 영역으로의 스위칭을 나타내는 중단(interruption)을 활성화시키는 것이다. 영역의 활성화는 포인터와 종국적인 데이터를 리드할 수 있다. 리딩한 후에, 포인팅된 함수를 시작하기 위해 영역에서 포인터의 확인이 이루어진다.
또 다른 메카니즘은 각각의 영역 내에서 하나 이상의 입구(entry point)를 형성하는 것이다. 이들 입구는 버스 액세스 컨트롤러에 의해 식별되는 특정 어드레스에 대응되어서, 일반적인 액세스 규칙을 제외하고 권한 위임있다. 물론 상보적 데이터(complementary data)가 공유된 메모리를 통과되어야 한다.
이전에 소개된 바와 같이, MZ 영역은 칩의 보안 함수를 포함한다. MZ 영역은 보안 요소에 의해 사용될 키와 함께 하나 이상의 암호화 함수의 코드를 포함한다. 동일한 방법으로, 암호화 코프로세서는 MZ 도메인에서만 정상적으로 실행된다. SBL 도메인에 로딩된 코드의 인증, SBL 영역의 삭제, 버스 액세스 컨트롤러의 비휘발성 비트의 락킹(locking)과 언락킹(unlocking)과 같은 다른 함수도 MZ 도메인에 전용된다. MZ 영역은 완전히 IC 제조자의 제어하에 있고, 그 소프트웨어로 공인되는 공인된 도메인이어야 한다. 비휘발성 메모리의 일부는 ROM 타입일 수 있는데, 왜냐하면, 코드가 수정되지 않기 때문이다. 대안적으로, MZ 내에 포함되는 어떤 함수는 어떤 기능을 수행하기 위한 프로세싱 유닛 대신에 작용하는 하드웨어 내장된 스테이트 머신을 시작할 수 있다.
모든 암호화 프로세싱은 MZ 영역 내에서 이루어지는데, MZ 영역은 액세스 권한의 테이블과 함께 모든 키를 저장한다. 예시로써, 도 6은 이제 상세하게 설명될 설치 프로세스 동안에 사용되는 키인 3개의 키가 있는 테이블을 나타낸다. 일차 키(first key, KPBL)는 로딩된 프로그램 패키지가 로딩될 권한을 가진다는 것을 인증하고, PBL 영역이 수정되지 않았다는 것을 인증하며, 이차적 부트 로드를 암호화하기 위한 키인 이차 키(KSBL)를 해독하기 위해 일차적 부트 로더에 할당된 키이다. 우선적으로, 삼차 키(third key, KOEM)는 메모리 삭제와 같은 어떤 함수를 시작하는데 사용된다. 일차 키와 삼차 키는 분리되어서, 두 개의 서로 다른 알고리즘을 가능하게 사용하는 두 개의 서로 다른 함수에 대한 관리의 분리 권한을 부여하여서, 이들 두 개의 키(KSBL 및 KOEM)는 IC 제조자에 의해 직접 로딩된다. 변형예로서, 일차 키와 삼차 키 대신에 단일 키를 가질 수 있다.
도 6에 표시된 바와 같이, 키들은 일부 도메인에 대해 사용 가능하고, 다른 것들에 대해서는 사용 가능하지 않다. 모든 암호화 프로세싱이 MZ 영역 내부에서 이루어진다는 것을 고려하면, 키는 항상 MZ 영역 내에 유지해야 하나, 이들은 권한 있는 영역으로부터 시작된 프로세싱만 사용할 수 있다. 임의의 경우에, MZ 영역 내부에 등록된 키는 MZ 영역 외부로 나가지 않고, 키의 모든 사용은 MZ 영역 내부에서 수행되어야만 한다. 일차 키(KPBL)는 SBL 영역이나 MZ 영역으로부터 요청된 프로세싱에서 사용가능하나, 이러한 일차 키(KPBL)는 요청이 다른 영역으로부터 오면 사용될 수 없다. 이차 키(KSBL)는 SBL 영역, MZ 영역 및 OS 영역에 사용 가능하나 다른 영역에서는 사용 가능하지 않다. 삼차 키(KOEM) PBL 영역 및 MZ 영역에 사용 가능하다.
설치 프로세스는 도 7의 알고리즘을 참조하여 기술된다. 보안 요소가 단계(700)에서 파워 온되면, 프로세스가 시작된다. 전압이 작동 레벨에 있다고 생각되면, 초기화의 단계(701)가 수행된다. 이러한 단계는 부품의 모든 버퍼의 리셋이고, 테스트(702)에 해당하는 명령어에 대한 PBL 영역내의 프로그램 포인터의 포지셔닝이다. 테스트(702)는 이차적 부트 로더 내의 표시가 활성화인지 아닌지를 비휘발성 메모리에서 플래그를 확인하는 것으로 구성된다. SBL이 활성화되지 않으면, 보안 요소(100)는 대기 상태(703)에 있는다. 대기 상태는 아이들 상태(idle state)이고, 통신 인터페이스(104)로부터의 정지는 테스트(704)인 다음 단계로 가도록 허용하는 커맨드의 수신을 나타낸다. 테스트(704)는 수신된 커맨드가 삭제 커맨드(Erase command)인지를 확인한다. 커맨드가 삭제 커맨드가 아니라면, 테스트(705)는 로드 커맨드(Load command)인지를 확인한다. 커맨드가 로드 커맨드가 아니라면, 테스트(706)는 설치 커맨드(Install command)인지를 확인한다. 커맨드가 설치 커맨드가 아니라면, 프로세스는 다음 커맨드 수신까지 아이들 단계(703)으로 다시 돌아간다.
당업자는 일차적 부트 로더가 호스트로부터 오는 3개의 커맨드에만 반응한다는 것을 주목할 수 있다. 3개의 커맨드는 프로그램을 로딩하는데 필수적인 최소 세트의 커맨드이다. PBL이 잠재적인 공격의 위험을 줄이기 위해 가장 작은 수의 커맨드를 가진 가장 작은 크기를 가지는 것이 필수적이다.
수신된 커맨드가 삭제 커맨드라면, 삭제 단계(707)가 수행된다. 이러한 삭제 단계(707) 동안에, PBL은 인증 토큰을 확인할 것이다. 예시로써, 인증 토큰은 무작위 수를 포함하고, 상기 무작위 수는 삼차 키(KOEM)로 암호화된다. 암호화 방법은 가령, AES 알고리즘일 수 있다. PBL은 삼차 키(KOEM)를 사용하는 수의 AES의 계산이나 암호화도니 수의 해독화로 MZ 영역을 일시적으로 요청할 것이다. 그리고 나서, 요청은 토큰의 다른 부분과 비교될 것이다. 토큰이 인증되면, SBL 영역 및 OS 영역의 모든 비휘발성 메모리는 삭제된다. 단계(707)를 마무리하기 위해, 두 개의 비휘발성 플래그가 다시 라이트되고, 하나는 SBL이 활성화되지 않는다는 것을 나타내고, 다른 하나는 비휘발성 메모리가 삭제된다는 것을 나타낸다. 그리고 나서, 프로세서는 아이들 단계(703)로 다시 돌아갈 수 있다.
수신된 커맨드가 로드 커맨드라면, 테스트(708)가 수행된다. 테스트(708)는 메모리가 정확하게 삭제되는지 아닌지를 나타내는 플래그의 상태만을 확인한다. 메모리가 정확하게 삭제되지 않는다면, 프로세스는 아이들 단계(703)로 되돌아온다. 메모리가 삭제되면, 메모리는 로딩 단계(709)를 시작하는데, 비휘발성 플래그는 메모리가 더 이상 삭제되지 않는다는 것을 나타내고, 통신 인터페이스로부터 오는 프로그램 패키지의 로딩은 SBL 영역 내에 로딩된다. 당업자는 PBL 영역이 이 단계(709) 동안에 SBL 영역에 액세스할 수 있다는 것을 주목할 수 있는데, 왜냐하면, SBL은 활성화되지 않기 때문이다.
프로그램 패키지는 SBL의 암호화 코드, 인증 토큰 및 이차 키(KSBL)를 포함한다. 이러한 프로그램 패키지를 만들기 위해 많은 대안예가 있고, 오직 하나의 예시만 주로 상세히 설명될 것이다. 암호화된 코드는 가령, 이차 키(KSBL)를 사용하는 AES 알고리즘에 따라 암호화된다. 인증 토큰과 관련해서는, 코드 무결성을 확인할 수 있고, 코드가 로딩될 수 있다는 토큰을 정의하는 것이 중요하다. 이차 키(KOEM)를 암호화하기 위해서, 우리는 일차 키(KPBL)를 사용해야 하나, OS 제조자는 키(KPBL)를 알지 못해야 한다. 이러한 메카니즘을 허용하기 위해, IC 제조자는 두 개의 정보로 구성되는 식별 정보를 제공해야 하는데, 하나의 정보는 넘버(RPBL)이고, 다른 것은 일차 키(KPBL)를 사용하는 AES 알고리즘으로 RPBL의 암호화에 해당하는 암호화된 넘버(CPBL)이다. 이차 키(KSBL)를 암호화하기 위한 하나의 방식은 정보(RPBL)를 사용하는 암호를 만드는 것이고, 정보(CPBL)는 패키지 내로 통과된다. 그리고 나서, 패키지의 시그니쳐는 CPBL을 대신하여 정보(RPBL)를 가진 전체 패키지의 해싱 함수를 만드는 것으로 이루어질 수 있다.
공식이 있는 예시를 명확하게 하기 위하여, IC 제조자는 OS 제조자에게 몇 몇 정보를 준다.
{CPBL;RPBL}
여기서:
CPBL = AES[KPBL](RPBL)
RPBL = AES-1[KPBL](CPBL)
패키지는 다음 정보 그룹에 대응된다:
{EC; CPBL; CKSBL; XSBL}
여기서:
- EC는 암호화된 코드이다:
EC = AES[KSBL](code)
- CKSBL는 이차 키(KSBL )의 암호이다:
CKSBL = KSBL XOR RPBL
- XSBL는 패키지의 시그니쳐이다
XSBL = SHA256(EC; RPBL; CKSBL)
SHA256는 기술 분야의 당업자에게 잘 알려진 256 비트상의 보안 해시 값이다..
이러한 경우에, 인증 토큰은 패키지 내부로 전달된 커플{CPBL; XSBL}이다.
물론, 다른 인코딩이 행해질 가능성도 있다. 대칭 키 AES 대신에 RSA가 있는 공용 키를 사용할 수 있다. 중요한 것은, 키(KPBL)를 OS 제조자에게 주지 않으며서, 코드를 인증하고 일차 키(KPBL)를 사용하여 이차 키(KSBL)를 암호화할 수 있다는 것이다.
SBL 영역 내에 로딩된 프로그램 패키지의 공개 이후에, 도 7의 프로세스를 계속하여 공개하는 것이 좀 더 용이할 것이다. 설치 커맨드를 수신하면, 일차적 부트 로더는 MZ 영역에 의해 실행되는 인증 단계(710)를 시작한다. 인증 단계(710)는 무결성 및 패키지의 인증을 체크하나, 또한 PBL 영역의 무결성을 확인하고, SBL 영역에 대한 PBL 영역 액세스를 락킹하여 최종적으로 코드를 해독하는 것을 목적으로 한다.
커플 정보 {CPBL; RPBL}와 패키지 {EC; CPBL; CKSBL; XSBL}를 고려하면, MZ 영역은 KPBL을 사용하여 RPBL을 계산하기 위해 CPBL을 리드한다. 그리고 나서, 시그니쳐가 계산되어서 시그니쳐(XSBL)이 정확한지를 확인한다. 시그니쳐(XSBL)가 정확하지 않으면, 오류 메세지가 통신 인터페이스(104)로 전송되고 SBL 영역과 OS 영역의 메모리는 삭제된다. 시그니쳐(XSBL)가 정확하다는 것은, 패키지가 인증되다는 것을 의미하고, SBL이 인증된다는 것을 나타내는 비휘발성 플래그가 PBL 영역으로부터 SBL 영역까지의 액세스를 차단하도록 설정된다. 코드를 해독하기 전에, PBL 영역의 무결성의 확인도 가령, 모든 PBL 영역상의 SHA256을 수행하는 것을 사용하여 확인되고, MZ 영역에 이전에 기록된 시그니쳐와 비교가 이루어진다. 부품 무결성을 확신하여서, 이차 키(KSBL)는 CKSBL로부터 추출되고 MZ 영역에 저장된다.
마지막으로, MZ은 해독 단계(711)를 위해 SBL로 스위칭되고, 코드는 이차 키(KSBL)를 사용하여 해독된다.
SBL은 활성화되고, 운영 시스템이 설치되는지 아닌지를 확인하는 테스트(712)에서 프로세스가 계속 실행된다. 이차적 부트 로더 코드 함수는 운영 시스템에 보안 부트 로더를 주로 제공한다. 그러므로, OS가 로딩되지 않으면, 로딩 단계(713)가 수행되어서 OS를 OS영역에 로딩한다. OS의 로딩은 좀 더 복잡할 수 있고, 이차적 부트 로더에 의한 OS 설치가 이루어지고, OS 제조자에 의해 보증되기 때문에, 애플리케이션을 위한 소프트웨어 방화벽이 정의될 수 있다. OS가 이차적 부트 로더에 의해서만 로딩될 수 있다는 사실은 OS의 로딩을 좀 더 안전하게 한다. 특히, 동일한 키(KSBL)는 운영 시스템의 패키지를 해독하는데 사용될 수도 있다. OS의 로딩 이후에, OS는 활성화되고, OS와 설치된 애플리케이션을 실행할 수 있다.
본 발명의 하나의 추가적인 이점은, 본 발명의 보안 요소를 포함하는 장치가 서로 다른 소스로부터 올 수 있고 동일한 OS를 반드시 사용하지 않는 서로 다른 애플리케이션을 실행할 수 있다는 것이다. 그러한 경우, OS 및 부트 로더의 애플리케이션의 암호화된 백업이 호스트 상에서 행해질 수 있고, 메모리는 OS 및 애플리케이션으로 또 다른 이차적 부트 로더를 수신하기 위해 완전히 삭제될 수 있다.
당업자는 첨부된 청구항 세트에 정의된 바와 같은 본 발명의 범위를 변경하지 않으면서, 실시예의 예시가 수정될 수 있다는 것을 이해할 것이다.

Claims (14)

  1. 적어도 하나의 프로세서(101), 적어도 하나의 통신 인터페이스(104), 적어도 하나의 메모리(105, 106, RAM, NVM) 및 적어도 하나의 버스 액세스 컨트롤러(103를 포함하는 보안 요소 장치(100)에 있어서, 상기 버스 액세스 컨트롤러(103)는 적어도 제1 영역(PBL 영역), 제2 영역(SBL 영역) 및 보안 영역(MZ 영역)을 형성하되,
    제1 영역은 제2 영역 내에 프로그램 패키지를 로딩할 수 있는 제1 로더 프로그램을 포함하고,
    보안 영역은 제2 영역 내에 로딩된 프로그램 패키지를 인증할 수 있는 인증 키(KPBL)를 포함하며,
    제2 영역 내에 로딩된 프로그램 패키지의 인증 이후에, 제1 로더 프로그램의 액세스 권한이 변경되어서, 제1 영역 내의 프로그램이 더 이상 제2 영역에 액세스할 수 없는 것을 특징으로 하는 보안 요소 장치.
  2. 제 1 항에 있어서, 제2 영역 내에 로딩된 프로그램 패키지는, 인증 키(KPBL)로 인증될 수 있는 로딩된 프로그램 패키지의 시그니쳐를 포함하는 인증 토큰(CPBL, XSBL)을 포함하는, 보안 요소 장치.
  3. 제 1 항에 있어서, 로딩된 프로그램 패키지는, 인증 키로 암호화된 이차 키(KSBL)를 포함할 수 있고, 상기 이차 키는 프로그램 패키지(EC)의 적어도 하나의 부분을 해독하는데 사용되는, 보안 요소 장치.
  4. 제 1 항에 있어서, 제2 영역 내에 로딩된 상기 프로그램 패키지는 제2 로더 프로그램을 포함하는, 보안 요소 장치.
  5. 제 4 항에 있어서, 버스 액세스 컨트롤러(104)는 제2 로더 프로그램에 의해서만 로딩될 수 있는 제3 영역(OS 영역)을 형성하는, 보안 요소 장치.
  6. 제 3 항 또는 제 4 항에 있어서, 제2 로더 프로그램에 의해 이루어진 이후의 로딩은 암호화 방식으로 이루어지고, 해독화는 이차 키를 사용하여 이루어지는, 보안 요소 장치.
  7. 제 3 항에 있어서, 상기 이차 키는 보안 영역 내에 저장되는, 보안 요소 장치.
  8. 제 1 항에 있어서, 버스 액세스 컨트롤러는 또 다른 영역에서 실행되는 임의의 프로그램으로부터 리드 및 라이트 모드에서 액세스될 수 있는 중립 영역(공유 영역)을 형성할 수 있고, 상기 중립 영역은 영역들 사이에 데이터를 전달하는데 사용되고, 버스 액세스 컨트롤러에 의한 액세스 권한 위반이 검출된 경우, 중립 영역 내의 모든 데이터는 삭제되는, 보안 요소 장치.
  9. 제 1 항에 있어서, 보안 영역은 또 다른 영역으로부터 시작(launched from)될 수 있는 암호화 및 해독화의 일부 보안 기능을 포함할 수 있으나, 이들의 실행은 보안 영역에서만 이루어지는, 보안 요소 장치.
  10. 제 1 항에 있어서, 제2 영역의 삭제가 완료된 이후에, 제1 로더 프로그램은 다시 제2 영역에 액세스할 수 있는, 보안 요소 장치.
  11. 제 5 항 또는 제 10 항에 있어서, 제3 영역은 제2 영역과 동시에 삭제되는, 보안 요소 장치.
  12. 제 10 항에 있어서, 통신 인터페이스에 연결된 호스트 장치로부터 삭제에 대한 인증 이후에만, 제2 영역의 삭제가 이루어지는, 보안 요소 장치.
  13. 제 1 항 내지 제 12 항 중 어느 한 항의 보안 요소 장치를 포함하는 것을 특징으로 하는 집적 회로.
  14. 제 13 항에 있어서, 상기 집적 회로는 여러 회로를 포함하는 시스템 온 칩(System On Chip)이고, 상기 보안 요소 장치는 여러 회로들 중 하나인, 집적 회로.
KR1020177020905A 2014-12-30 2015-12-16 보안 요소 KR102324328B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14307208.0A EP3040896A1 (en) 2014-12-30 2014-12-30 Secure element
EP14307208.0 2014-12-30
PCT/EP2015/080104 WO2016107749A1 (en) 2014-12-30 2015-12-16 Secure element

Publications (2)

Publication Number Publication Date
KR20170102285A true KR20170102285A (ko) 2017-09-08
KR102324328B1 KR102324328B1 (ko) 2021-11-09

Family

ID=52394064

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177020905A KR102324328B1 (ko) 2014-12-30 2015-12-16 보안 요소

Country Status (6)

Country Link
US (1) US11481523B2 (ko)
EP (2) EP3040896A1 (ko)
JP (1) JP6636028B2 (ko)
KR (1) KR102324328B1 (ko)
CN (1) CN107223252B (ko)
WO (1) WO2016107749A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10909248B2 (en) 2017-06-29 2021-02-02 Microsoft Technology Licensing, Llc Executing encrypted boot loaders
US10819680B1 (en) * 2018-03-08 2020-10-27 Xilinx, Inc. Interface firewall for an integrated circuit of an expansion card
GB2579034B (en) * 2018-11-15 2021-05-05 Trustonic Ltd Software installation method
CN109886035B (zh) * 2019-05-06 2019-08-13 上海燧原智能科技有限公司 芯片访问安全的控制装置及芯片系统
CN117610089B (zh) * 2024-01-23 2024-03-26 上海励驰半导体有限公司 多核异构芯片的加密方法、系统、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100235651A1 (en) * 2005-09-27 2010-09-16 Sony Computer Entertainment, Inc. Secure operation of processors
US20110022832A1 (en) * 2008-03-14 2011-01-27 Mitsubishi Electric Corporation Multi-operating system (os) booting apparatus, multi-os booting program, recording medium, and multi-os booting method
US20140137271A1 (en) * 2012-11-15 2014-05-15 Elwha LLC, a limited liability corporation of the State of Delaware Data security and access tracking in memory

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6715085B2 (en) 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
JP2004199138A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd メモリデバイスとそれを使用する電子機器
CN1574370A (zh) * 2003-05-30 2005-02-02 松下电器产业株式会社 固体摄像器件
US6961852B2 (en) * 2003-06-19 2005-11-01 International Business Machines Corporation System and method for authenticating software using hidden intermediate keys
US7725703B2 (en) * 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module
JP4625341B2 (ja) 2005-01-31 2011-02-02 新日本製鐵株式会社 再生セラミックファイバーを用いた施工方法及びこれを用いた成形体並びにその積層方法
WO2006137073A2 (en) * 2005-06-22 2006-12-28 Discretix Technologies Ltd. System, device, and method of selectively allowing a host processor to access host-executable code
JPWO2007011001A1 (ja) * 2005-07-22 2009-02-05 パナソニック株式会社 実行装置
JP4740926B2 (ja) * 2007-11-27 2011-08-03 フェリカネットワークス株式会社 サービス提供システム、サービス提供サーバ、及び情報端末装置
US20090199014A1 (en) * 2008-02-04 2009-08-06 Honeywell International Inc. System and method for securing and executing a flash routine
US8219772B2 (en) * 2009-07-02 2012-07-10 Stmicroelectronics (Research & Development) Limited Loading secure code into a memory
US9177152B2 (en) * 2010-03-26 2015-11-03 Maxlinear, Inc. Firmware authentication and deciphering for secure TV receiver
US8983870B2 (en) * 2010-08-18 2015-03-17 Snap-On Incorporated Apparatus and method for managing software applications using partitioned data storage devices
JP5824977B2 (ja) * 2011-08-31 2015-12-02 株式会社リコー 鍵ペア管理プログラム、鍵ペア管理方法及び画像形成装置
CN103282911A (zh) * 2011-11-04 2013-09-04 Sk普兰尼特有限公司 普通域与安全域之间与信任区交互工作的方法和信任应用下载的管理方法、使用该方法的管理服务器、装置和系统
US9413538B2 (en) * 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
KR101859646B1 (ko) * 2011-12-16 2018-05-18 삼성전자주식회사 보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법
WO2013190598A1 (ja) 2012-06-21 2013-12-27 パイオニア株式会社 放送受信装置のプログラム書き換え方法、放送受信装置およびプログラム
JP5986897B2 (ja) 2012-11-13 2016-09-06 Kddi株式会社 端末装置、完全性検証システム、およびプログラム
US9223942B2 (en) * 2013-10-31 2015-12-29 Sony Corporation Automatically presenting rights protected content on previously unauthorized device
US9213653B2 (en) * 2013-12-05 2015-12-15 Intel Corporation Memory integrity
TW201530344A (zh) * 2014-01-21 2015-08-01 hong-jian Zhou 應用程式存取保護方法及應用程式存取保護裝置
US9755831B2 (en) * 2014-01-22 2017-09-05 Qualcomm Incorporated Key extraction during secure boot
TWI533160B (zh) * 2014-11-26 2016-05-11 緯創資通股份有限公司 電子系統、電子裝置及其存取認證方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100235651A1 (en) * 2005-09-27 2010-09-16 Sony Computer Entertainment, Inc. Secure operation of processors
US20110022832A1 (en) * 2008-03-14 2011-01-27 Mitsubishi Electric Corporation Multi-operating system (os) booting apparatus, multi-os booting program, recording medium, and multi-os booting method
US20140137271A1 (en) * 2012-11-15 2014-05-15 Elwha LLC, a limited liability corporation of the State of Delaware Data security and access tracking in memory

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Hanse-Ulrich BuchmLilen ‘Security Target Lite Chip Card & Security’, Common Criteria, 2011.12.13. *

Also Published As

Publication number Publication date
KR102324328B1 (ko) 2021-11-09
CN107223252A (zh) 2017-09-29
JP2018508063A (ja) 2018-03-22
EP3241143A1 (en) 2017-11-08
JP6636028B2 (ja) 2020-01-29
WO2016107749A1 (en) 2016-07-07
US11481523B2 (en) 2022-10-25
CN107223252B (zh) 2021-01-12
EP3040896A1 (en) 2016-07-06
EP3241143B1 (en) 2022-09-21
US20170364711A1 (en) 2017-12-21

Similar Documents

Publication Publication Date Title
EP2854066B1 (en) System and method for firmware integrity verification using multiple keys and OTP memory
KR100851631B1 (ko) 보안 모드 제어 메모리
US10509568B2 (en) Efficient secure boot carried out in information processing apparatus
US8572410B1 (en) Virtualized protected storage
US8060925B2 (en) Processor, memory, computer system, and method of authentication
US11455397B2 (en) Secure boot assist for devices, and related systems, methods and devices
KR102324328B1 (ko) 보안 요소
US20090285390A1 (en) Integrated circuit with secured software image and method therefor
CN110990084B (zh) 芯片的安全启动方法、装置、存储介质和终端
KR20170095161A (ko) 시큐어 시스템 온 칩
US20050259465A1 (en) Nonvolatile memory apparatus
US20080278285A1 (en) Recording device
US20170243011A1 (en) Component for processing a protectable date and method for implementing a security function for protecting a protective date in such a component
CN113190880B (zh) 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作
US20060289656A1 (en) Portable electronic apparatus and data output method therefor
CN113094720A (zh) 安全地管理密钥的设备和方法
CN108363912B (zh) 一种程序代码的密保方法及装置
US11443075B2 (en) Secure storage system
JP5494389B2 (ja) 電子制御装置
JP5942612B2 (ja) 情報記憶装置及びそのアクセス判定方法
US8627406B2 (en) Device for protection of the data and executable codes of a computer system
CN118051919A (zh) 数据处理方法、芯片、电子设备以及存储介质

Legal Events

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