KR20060135467A - 보호된 비휘발성 메모리를 사용하는 시스템 및 방법 - Google Patents

보호된 비휘발성 메모리를 사용하는 시스템 및 방법 Download PDF

Info

Publication number
KR20060135467A
KR20060135467A KR1020050091814A KR20050091814A KR20060135467A KR 20060135467 A KR20060135467 A KR 20060135467A KR 1020050091814 A KR1020050091814 A KR 1020050091814A KR 20050091814 A KR20050091814 A KR 20050091814A KR 20060135467 A KR20060135467 A KR 20060135467A
Authority
KR
South Korea
Prior art keywords
memory
key set
shielding
data
mode
Prior art date
Application number
KR1020050091814A
Other languages
English (en)
Inventor
데이비드 큐어튼 베이커
Original Assignee
시그마텔, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 시그마텔, 인크. filed Critical 시그마텔, 인크.
Publication of KR20060135467A publication Critical patent/KR20060135467A/ko

Links

Images

Classifications

    • 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
    • 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/1433Protection 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 module or a part of a module
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Microcomputers (AREA)

Abstract

본 명세는 프로세서 및 보호된 메모리를 사용하는 시스템 및 방법을 포함한다. 특정 실시예에서, 상기 시스템은 프로세서, 상기 프로세서에 액세스가능한 휘발성 메모리 및 상기 프로세서에 액세스가능한 제1 비휘발성 메모리를 포함한다. 상기 제1 비휘발성 메모리는 보호되는 메모리의 제1 부분 및 보호되지 않는 메모리의 제2 부분을 포함하며, 상기 메모리의 제1 부분은 차폐 비트(shield bit)가 비차폐 동작 모드를 나타내는 경우 판독가능하지만, 상기 차폐 비트가 차폐 동작 모드를 나타내는 경우 판독가능하지 않고, 상기 메모리의 제2 부분은 상기 차폐 비트의 값에 상관없이 판독가능하다. 상기 시스템은 상기 휘발성 메모리에 전송될 데이터를 포함하는 제2 비휘발성 메모리를 포함한다.
보호, 휘발성, 메모리, 비휘발성, 차폐

Description

보호된 비휘발성 메모리를 사용하는 시스템 및 방법{System and method of using a protected non-volatile memory}
도 1은 부분적으로 보호된 비휘발성 메모리 장치에 액세스하는 시스템을 도시한 블록도이다.
도 2는 도 1의 시스템의 일부의 추가 상세를 제공하는 블록도이다.
도 3은 부분적으로 보호된 비휘발성 메모리에 액세스하는 프로세서 장치를 활성화시키는 방법의 흐름도이다.
본 발명은 일반적으로 보호된 비휘발성 메모리의 사용에 관한 것이다.
소프트웨어 프로그램가능한 장치들을 사용하는 전자 장치 제공자들은 소프트웨어 보안과 관련된 관심을 가지고 있다. 상기 보안 관심을 다루기 위하여, 이러한 장치들은 종종 인증 및 암호화와 같은 보안 기술들을 사용한다. 인증 및 암호화가 유용한 도구들일지라도, 이러한 방법들은 프로그램 데이터를 인증하거나 복호화하는데 사용되는 하나 이상의 키들의 보호에 의존한다. 종종 보호될 필요가 있는 상기 키들은 판매되고 전개되는 전자 장치의 비휘발성 메모리와 같은, 메모리내에 저 장된다. 상기 전자 장치의 전개시 또는 심지어 개발중, 상기 키들을 포함하는 메모리는 보안 위험을 야기하는 허가되지 않은 제3자에 의해 액세스될 수 있다. 따라서, 이러한 키들이 비휘발성 메모리에 저장되는 경우, 소프트웨어 프로그램 데이터 및 상기 프로그램 데이터를 보호하는 보안 프로그램들에 대한 관련된 키들의 보안을 보호하는 개선된 시스템 및 방법이 필요하다.
본 발명이 이루고자 하는 기술적 과제는, 소프트웨어 프로그램 데이터 및 상기 프로그램 데이터를 보호하는 보안 프로그램들에 대한 관련된 키들의 보안을 보호하는 시스템을 제공하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는, 소프트웨어 프로그램 데이터 및 상기 프로그램 데이터를 보호하는 보안 프로그램들에 대한 관련된 키들의 보안을 보호하는 방법을 제공하는 것이다.
도 1을 참조하면, 데이터 처리 시스템(100)이 도시된다. 상기 시스템(100)은 프로세서 장치(102), 휘발성 메모리(104), 제1 비휘발성 메모리(106) 및 제2 비휘발성 메모리(108)를 포함한다. 상기 시스템(100)은 또한 제어 레지스터들(110) 및 JTAG 제어 모듈(112)에 대한 JTAG 인터페이스(130)를 포함한다. 상기 프로세서 장치(102)는 액세스를 위해 상기 제어 레지스터들(110)에 연결되어 있고 상기 JTAG 인터페이스(130)를 통해 외부 테스트 클록 입력을 수신하기 위한 입력을 구비한다. 상기 프로세서 장치(102)는 상기 JTAG 테스트 인터페이스(130)에 인터페이스하는 테스트 보호 로직(126)을 포함한다. 상기 프로세서 장치(102)는 메모리 버스(114)를 통해 상기 휘발성 메모리(104)에 연결되어 있다. 특정 실시예에서, 상기 휘발성 메모리(104)는 램(RAM) 장치이다. 상기 프로세서 장치(102)는 상기 메모리 버스(114)와 중간 차폐 로직(122)을 통해 상기 제1 비휘발성 메모리(106)에 연결되어 있다. 상기 차폐 로직(122)은 상기 제1 비휘발성 메모리(106)를 상기 메모리 버스(114)에 연결하고 롬(ROM) 차폐 비트(124)의 입력을 지닌다. 상기 롬 차폐 비트(124)는 상기 제어 레지스터들(110) 중 하나로서 저장될 수 있고 프로그램될 수 있거나 개별적인 한번 쓰기가능 메모리 장치(write-once memory device)에 구현될 수 있다. 상기 프로세서 장치(102)는 상기 메모리 버스(114)를 통해 상기 제2 비휘발성 메모리(108)에 연결되어 있다. 상기 제1 비휘발성 메모리(106)는 차폐 로직(122)에 대한 제1 인터페이스(120) 및 상기 메모리 버스(114)에 대한 외부 인터페이스(118)를 포함한다. 상기 제2 비휘발성 메모리(108)는 상기 메모리 버스(114)에 대한 인터페이스(116)를 포함한다.
상기 제1 비휘발성 메모리(106)는 차폐된 부분인 메모리의 제1 차폐된 부분(150) 및 메모리의 제2 부분(160)을 포함한다. 상기 차폐된 부분(150)은 저장된 키 세트 데이터(152)를 포함한다. 특정 실시예에서, 상기 키 데이터(152)는 인증 키, 암호화 키, 키 세트 추출 데이터 및 상기 키 세트 정보를 검색하고 사용하는데 필요한 키 세트 추출 프로그램 로직을 포함한다. 상기 제2 비휘발성 메모리(108)는 특정 실시예에서 플래시 메모리로서 구현될 수 있고 부트 프로그램 코드(140)와 같은 데이터를 포함한다. 특정 실시예에서, 상기 제1 비휘발성 메모리(106)는 롬 (ROM: Read-Only Memory)으로 구현될 수 있다.
특정 실시예에서, 상기 부트 프로그램 코드(140)는 복수의 산재된 인증 워드들을 포함한다. 상기 복수의 인증 워드들은 상기 제2 비휘발성 메모리(108)로부터 상기 램(104)으로의 상기 부트 프로그램 코드의 전송동안 사용되고 제3자의 허가되지 않은 사용 또는 해킹 시도를 탐지하기 위하여 상기 부트 프로그램 코드의 유효성을 인증하는 방법을 제공한다. 특정 실시예에서, 상기 인증 워드들은 상기 비휘발성 메모리(106)의 차폐된 부분(150)의 키 세트(152)내에서 발견된 인증 키를 사용하여 평가되고 확인된다.
동작중, 상기 시스템(100)의 전력 상승시, 상기 비휘발성 메모리(106)의 차폐된 부분(150)은 상기 키 세트(152)에 대한 판독 액세스를 허용하는 비차폐 모드에 있게 된다. 상기 비차폐 모드에서의 초기화동안, 상기 프로세서(102)는 상기 키 세트(152)를 검색할 수 있고 상기 키 세트내의 키들을 사용하여 애플리케이션 프로그램 코드(140)가 상기 제2 비휘발성 메모리(108)로부터 상기 램(104)으로 전송되는, 전송 프로세스를 수행할 수 있다. 상기 키 세트는 인증 키 및/또는 복호화 키 양자를 포함할 수 있다. 상기 인증 키는 상기 프로그램 코드의 유효성을 인증하고 전송된 데이터에 액세스하며 상기 전송된 데이터를 제1 인증 워드들과 비교하는데 사용될 수 있고, 상기 복호화 키는 이러한 코드가 이전에 암호화된 경우 상기 프로그램 코드를 복호화하는데 사용될 수 있다. 따라서, 상기 키 세트(152)는 상기 비휘발성 메모리(108)로부터 상기 램(104)으로의 상기 프로그램 코드(140)의 안전한 초기 전송을 제공하기 위하여 상기 프로세서 장치(102)에 의해 사용될 수 있다.
상기 프로그램 코드가 상기 램(104)으로 전송된 후, 하지만 상기 프로세서(102)에 의한 상기 프로그램 코드의 실행 이전에, 상기 롬 차폐 비트(124)가 상기 프로세서(102)에 의해 설정될 수 있다. 상기 롬 차폐 비트(124)를 설정함으로써, 상기 제1 비휘발성 메모리(106)의 차폐된 부분(150)은 상기 키 세트(152)가 판독가능하지 않은 차폐 모드에 들어간다. 이 경우, 상기 차폐 로직(122)은 상기 제1 비휘발성 메모리(106)의 차폐된 부분(150)에 대한 액세스를 방해하고 그대신 상기 차폐되고 판독가능하지 않은 메모리 상태를 나타내는 고정된 값 또는 에러 코드를 제공할 수 있다. 상기 롬 차폐 비트(124)가 설정되고 상기 제1 비휘발성 메모리(106)의 차폐된 부분(150)이 상기 키 세트(152)에 대한 액세스를 제한하기 위하여 차폐 모드로 들어간 후에, 상기 프로세서 장치(102)는 감시 모드에서 사용자 오퍼레이터 모드로 전환될 수 있고 상기 램(104)으로부터의 명령들을 실행할 수 있다. 그후 사용자 모드에서 상기 프로세서 장치(102)는 정상 동작중 명령들을 실행한다. 사용자 실행 모드 및 정상 동작중, 상기 차폐된 부분(150)이 차폐 모드로 유지되어 상기 키 세트(152)에 대한 액세스를 제한한다는 것은 주목되어야 한다. 따라서, 상기 키 세트(152)와 함께, 상기 롬 차폐 비트(124) 및 상기 제1 비휘발성 메모리(106)의 차폐된 부분(150)은 상기 램(104)으로의 상기 프로그램 코드 전송의 향상된 보안을 제공한다.
허가되지 않은 제3자가 JTAG 제어 인터페이스(130)와 같은 테스트 인터페이스를 통해 상기 키 세트(152)에 액세스를 시도할 수 있다. 이러한 허가되지 않은 액세스를 제한하기 위하여, 상기 프로세서 장치(102)는 상기 테스트 보호 로직 (126)을 포함한다. 상기 테스트 보호 로직(126)은 외부 클록 입력에 응답하고 상기 차폐된 부분(150)의 시도된 허가되지 않은 액세스를 탐지할 수 있다. 특정 실시예에서, 상기 테스트 보호 로직(126)에 의한 임계값을 초과하는 다수의 클록 사이클의 탐지에 응답하여, 상기 프로세서 장치(102)는 상기 롬 차폐 비트(124)를 설정할 수 있다. 특정 예에서, 상기 탐지 임계값은 20 클록 사이클의 설정과 같이, 40 클록 사이클 미만이다. JTAG 명령의 경우, 최소한의 JTAG 명령은 20보다 큰 다수의 클록 사이클을 요구할 것이다. 따라서, 40 미만 그리고 바람직하기로는 20 클록 사이클의 임계값이 상기 JTAG 인터페이스를 통해 상기 키 세트(152)에 액세스하려는 허가되지 않은 시도를 탐지하고 상기 허가되지 않은 시도에 응답하는데 사용될 수 있다.
도 2를 참조하면, 상기 제1 비휘발성 메모리(106)와 상기 차폐 로직(122)의 기능을 설명하는 상기 시스템(100)의 일부의 특정 실시예가 도시된다. 상기 제1 비휘발성 메모리(106)는 제1 인터페이스(120)를 통해 판독 멀티플렉서(MUX)(202)에 연결되어 있다. 상기 MUX(202)는 인터페이스(118)를 통해 상기 메모리 버스(114)에 연결되어 있다. 상기 MUX(202)는 차폐된 상태의 다른 표시 또는 에러 코드일 수 있는 고정 값(206)의 입력을 지닌다. 상기 MUX(202)는 로직 모듈(204)에 의해 제공되는 선택 입력을 포함한다. 상기 로직 모듈(204)은 한번 쓰기가능 메모리(220)에 의해 제공될 수 있는 롬 차폐 비트(124)에 응답한다. 상기 로직 모듈(204)은 또한 상기 메모리 인터페이스(118)를 통해 상기 메모리 버스(114)로부터 제공된 주소 코드(118)에 응답한다.
동작중, 상기 롬 차폐 비트(124)는 상기 비휘발성 메모리(106)의 차폐된 부분(150)의 상태를 나타내기 위하여 상기 로직 모듈(204)에 제공된다. 상기 로직 모듈(204)은 또한 상기 메모리 버스(114)로부터 주소들을 수신한다. 상기 메모리 버스(114)로부터 요구된 주소가 상기 메모리의 차폐된 부분(150)의 외부에 있는 경우, 메모리의 차폐되지 않은 부분(160)내의 부트 프로그램과 같은 데이터 또는 다른 데이터가 상기 MUX(202)를 통해 상기 제1 비휘발성 메모리(106)로부터 인터페이스(118)를 통해 상기 메모리 버스(114)에 제공된다.
하지만, 상기 메모리 버스(114)로부터 요구된 주소가 메모리의 차폐된 부분(150)내의 주소인 경우 그리고 상기 롬 차폐 비트가 설정된 경우, 상기 로직 모듈(204)은 인터페이스(118)를 통해 출력으로서 고정 값(206)을 상기 메모리 버스(114)에 단지 제공하기 위하여 상기 MUX(202)에 선택자(selector)를 제공한다. 이 상태에서, 상기 메모리의 차폐된 부분(150)의 내용은 보안 차폐된 상태에 있게 되고 액세스로부터 보호된다. 더욱이, 상기 롬 차폐 비트(124)에 대한 허가되지 않은 변경들을 회피하기 위하여, 상기 롬 차폐 비트는 한번 쓰기가능 메모리(220)에 저장되고 프로그램될 수 있다. 한번 쓰기가능 메모리를 사용하여, 상기 롬 차폐 비트가 일단 설정된 경우, 상기 메모리는 변경될 수 없다. 상기 한번 쓰기가능 메모리의 사용은 상기 비휘발성 메모리(106)의 제1 부분(150)의 차폐를 유지하기 위한 증강된 보안을 제공한다. 특정 실시예에서, 메모리의 차폐된 부분(150)은 인증 키, 복호화 키 및 비차폐 동작 모드동안 상기 비휘발성 메모리로부터 상기 키 세트의 검색에 필요한 바와 같은 키 세트 추출 프로그램 및 데이터를 포함한다. 따라서, 상기 비휘발성 메모리(106)는 보호되는 메모리의 제1 부분(150)을 포함하고, 상기 메모리의 제1 부분(150)은 차폐 비트가 비차폐 동작 모드를 나타내는 경우 판독가능하지만, 상기 차폐 비트가 차폐 동작 모드를 나타내는 경우 판독가능하지 않다. 더욱이, 상기 비휘발성 메모리(106)는 보호되지 않는 메모리의 제2 부분(160)을 포함하고, 상기 메모리의 제2 부분(160)은 상기 차폐 비트(124)의 값에 상관없이 판독가능하다.
도 3을 참조하면, 비휘발성 메모리에 액세스하는 프로세서 장치를 활성화시키는 방법이 도시되어 있다. 상기 방법은 302에 도시된 바와 같이, 상기 프로세서 장치의 전력을 상승시키는 단계를 포함한다. 특정 실시예에서, 상기 프로세서 장치는, 차폐될 수 있는 메모리의 보호된 부분을 지니지만 상기 보호된 부분이 전력 상승시 비차폐 모드에 있게 되는 롬(ROM)에 연결되어 있다. 상기 방법은 304에 도시된 바와 같이, 비차폐 동작 모드에 있는 비휘발성 메모리의 보호된 부분으로부터 키 세트 데이터를 판독하는 단계 및 플래시 메모리와 같은, 제2 비휘발성 메모리로부터 램(RAM)과 같은 주 메모리로 데이터를 전송하는 단계를 더 포함한다. 상기 단계는 또한 306에 도시된 바와 같이, 키 세트 추출 데이터에 액세스하는 단계 및 상기 키 세트 추출 데이터와 프로그램 로직을 사용하여 데이터의 전송에 필요한 인증 및 복호화 동작들을 수행하기 위하여 상기 키 세트에 액세스하는 단계를 포함한다. 특정의 예시적인 예에서, 상기 전송된 데이터는 상기 프로세서에 의해 실행될 프로그램 명령들을 포함하는 애플리케이션 프로그램이다.
상기 방법은 차폐 비트를 설정하여 상기 비휘발성 메모리의 보호된 부분을 상기 키 세트가 판독가능하지 않은 차폐 모드로 설정하는 단계를 더 포함한다. 상기 데이터 전송이 완료된 후 하지만 상기 프로세서에 의한 상기 램내의 전송된 프로그램 코드의 실행 이전에 상기 메모리의 보호된 부분은 상기 차폐 모드로 설정된다.
상기 방법은 310에 도시된 바와 같이, 프로그램 데이터가 상기 램에 전송된 명령들을 포함하는 경우, 상기 프로세서에 의해 프로그램 데이터가 실행되는 단계를 더 포함한다. 상기 램으로부터 상기 프로세서에 의한 프로그램 코드 실행동안, 상기 프로세서 장치는 사용자 모드에서 실행하고 있을 수 있고 이러한 사용자 모드에서 상기 비휘발성 메모리의 차폐된 부분은 상기 키 세트에 대한 허가되지 않은 액세스를 방지하도록 설정된 채 유지된다. 따라서, 상기 프로세서 장치를 활성화시키는 설명된 방법은 상기 프로세서 장치에 의해 사용가능한, 비휘발성 메모리로부터 램으로의 프로그램 코드의 초기의 안전한 전송을 제공한다.
본 발명에 의하면, 소프트웨어 프로그램 데이터 및 상기 프로그램 데이터를 보호하는 보안 프로그램들에 대한 관련된 키들의 보안을 제공할 수 있다.
상기에 개시된 주제는 예증적인 것으로 간주되어야 하고, 제한하는 것으로 간주되지 않아야 하며, 첨부된 청구항들은 본 발명의 진정한 정신 및 범위내에 있는 모든 이러한 변경들, 향상들 및 다른 실시예들을 포함할 것이다. 따라서, 법에 의해 허용된 최대 범위까지, 본 발명의 범위는 다음 청구항들 및 그들의 균등물의 가장 넓은 허용가능한 해석에 의해 결정될 것이고, 상기한 상세한 설명에 의해 제 한되거나 한정되지 않을 것이다.

Claims (22)

  1. 프로세서;
    상기 프로세서에 액세스가능한 휘발성 메모리;
    상기 프로세서에 액세스가능한 제1 비휘발성 메모리로서, 상기 제1 비휘발성 메모리는 보호되는 메모리의 제1 부분 및 보호되지 않는 메모리의 제2 부분을 포함하며, 상기 메모리의 제1 부분은 차폐 비트가 비차폐 동작 모드를 나타내는 경우 판독가능하지만, 상기 차폐 비트가 차폐 동작 모드를 나타내는 경우 판독가능하지않고, 상기 메모리의 제2 부분은 상기 차폐 비트의 값에 상관없이 판독가능한 제1 휘발성 메모리; 및
    상기 휘발성 메모리로 전송될 데이터를 포함하는 제2 비휘발성 메모리를 포함하는 것을 특징으로 하는 시스템.
  2. 제1항에 있어서, 키 세트가 상기 제1 부분에 저장되고, 상기 키 세트는 상기 휘발성 메모리로의 전송시 상기 제2 비휘발성 메모리내의 데이터의 인증 및 복호화 중 적어도 하나를 수행하기 위한 것임을 특징으로 하는 시스템.
  3. 제1항에 있어서, 상기 전송될 데이터는 프로그램 코드인 것을 특징으로 하는 시스템.
  4. 제3항에 있어서, 상기 프로그램 코드는 복수의 인증 워드들을 포함하는 것을 특징으로 하는 시스템.
  5. 제3항에 있어서, 상기 차폐 비트는 상기 프로그램 코드를 상기 제2 비휘발성 메모리로부터 상기 휘발성 메모리로 전송하는 동작을 수행한 후, 하지만 상기 프로세서에 의한 상기 프로그램 코드의 실행 이전에 설정되는 것을 특징으로 하는 시스템.
  6. 제5항에 있어서, 상기 차폐 비트는 상기 프로그램 코드의 제1 명령의 실행 이전에 설정되는 것을 특징으로 하는 시스템.
  7. 제1항에 있어서, 상기 시스템은 외부 테스트 인터페이스 보호 로직을 더 포함하고, 상기 외부 테스트 인터페이스 보호 로직은 외부 테스트 클록 입력에 응답하며, 상기 차폐 비트는 임계값을 초과하는 상기 외부 테스트 클록 입력의 다수의 사이클의 탐지 이후에 설정되는 것을 특징으로 하는 시스템.
  8. 제7항에 있어서, 상기 임계값은 40 클록 사이클 미만인 것을 특징으로 하는 시스템.
  9. 제8항에 있어서, 상기 임계값은 20 클록 사이클이고 상기 외부 테스트 클록 입력은 JTAG 명령과 관련된 JTAG 클록인 것을 특징으로 하는 시스템.
  10. 제2항에 있어서, 상기 키 세트는 유일한 제품 제조자와 관련되는 것을 특징으로 하는 시스템.
  11. 제1항에 있어서, 상기 제1 비휘발성 메모리의 제2 부분은 오디오 데이터를 포함하는 것을 특징으로 하는 시스템.
  12. 제2항에 있어서, 상기 키 세트는 인증 키 및 복호화 키를 포함하는 것을 특징으로 하는 시스템.
  13. 제1항에 있어서, 상기 제1 비휘발성 메모리는 롬(ROM: Read Only Memory)이고 상기 제2 비휘발성 메모리는 플래시 메모리인 것을 특징으로 하는 시스템.
  14. 보호되는 메모리의 제1 부분으로서, 차폐 비트가 비차폐 동작 모드를 나타내는 경우 판독가능하지만, 상기 차폐 비트가 차폐 동작 모드를 나타내는 경우 판독가능하지 않은 메모리의 제1 부분; 및
    보호되지 않는 메모리의 제2 부분으로서, 상기 차폐 비트의 값에 상관없이 판독가능한 메모리의 제2 부분을 포함하는 것을 특징으로 하는 메모리 장치.
  15. 제14항에 있어서, 상기 메모리 장치는 상기 메모리의 제1 부분에 연결된 판독(read) 멀티플렉서를 더 포함하고, 상기 멀티플렉서는 적어도 부분적으로 상기 차폐 비트에 응답하여 제어되는 것을 특징으로 하는 메모리 장치.
  16. 제15항에 있어서, 상기 멀티플렉서는 상기 비차폐 동작 모드동안 상기 메모리의 제1 부분으로부터 값을 출력하고 상기 멀티플렉서는 상기 차폐 동작 모드동안 에러 상태를 나타내는 고정된 출력 값을 출력하는 것을 특징으로 하는 메모리 장치.
  17. 제14항에 있어서, 상기 차폐 비트가 단일 쓰기 동작 이후에 사용자에 의해 변경될 수 없도록 상기 차폐 비트는 한번 쓰기가능 메모리 장치(write once memory device)에 저장되는 것을 특징으로 하는 메모리 장치.
  18. 롬(ROM: read only memory)에 액세스하는 프로세서 장치를 활성화시키는 방법에 있어서,
    상기 프로세서 장치의 전력을 상승시키는 단계로서, 상기 롬은 차폐가능하지만 전력 상승시 비차폐 모드에 있는 메모리의 보호된 부분을 지니는 단계;
    램(RAM: Random Access Memory)으로의 데이터 전송을 수행하는 것과 관련하여 상기 메모리의 보호된 부분으로부터 키 세트를 판독하는 단계; 및
    상기 데이터 전송을 수행한 후에, 상기 메모리의 보호된 부분을 상기 키 세 트가 상기 롬으로부터 더 이상 판독가능하지 않은 차폐 모드로 설정하는 단계를 포함하는 것을 특징으로 하는 방법.
  19. 제18항에 있어서, 상기 키 세트를 판독한 후, 상기 키 세트는 상기 램에 전송된 데이터에 대해 인증 및 복호화를 수행하는데 사용되는 것을 특징으로 하는 방법.
  20. 제18항에 있어서, 상기 램에 전송된 데이터는 프로그램 명령들을 포함하고 상기 프로세서 장치에 의해 상기 프로그램 명령들을 실행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  21. 제18항에 있어서, 상기 보호된 부분은 상기 보호된 부분이 비차폐 모드에 있는 경우 판독가능한 키 세트 추출 데이터를 더 포함하는 것을 특징으로 하는 방법.
  22. 제18항에 있어서, 상기 메모리의 보호된 부분과 관련된 차폐 비트는 한번 쓰기가능 메모리(write once memory)에 저장되는 것을 특징으로 하는 방법.
KR1020050091814A 2005-06-24 2005-09-30 보호된 비휘발성 메모리를 사용하는 시스템 및 방법 KR20060135467A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/166,872 2005-06-24
US11/166,872 US8639946B2 (en) 2005-06-24 2005-06-24 System and method of using a protected non-volatile memory

Publications (1)

Publication Number Publication Date
KR20060135467A true KR20060135467A (ko) 2006-12-29

Family

ID=35395187

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050091814A KR20060135467A (ko) 2005-06-24 2005-09-30 보호된 비휘발성 메모리를 사용하는 시스템 및 방법

Country Status (6)

Country Link
US (1) US8639946B2 (ko)
KR (1) KR20060135467A (ko)
CN (1) CN101124768A (ko)
GB (1) GB2427720B (ko)
TW (1) TWI321277B (ko)
WO (1) WO2007001376A2 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090014828A (ko) * 2007-08-07 2009-02-11 삼성전자주식회사 에러 정정 코드를 암호화하는 플래시 메모리 시스템 및플래시 메모리 시스템의 암호화 방법
US9069990B2 (en) 2007-11-28 2015-06-30 Nvidia Corporation Secure information storage system and method
US20090204803A1 (en) * 2008-02-11 2009-08-13 Nvidia Corporation Handling of secure storage key in always on domain
US8719585B2 (en) 2008-02-11 2014-05-06 Nvidia Corporation Secure update of boot image without knowledge of secure key
US9069706B2 (en) 2008-02-11 2015-06-30 Nvidia Corporation Confidential information protection system and method
US9158896B2 (en) 2008-02-11 2015-10-13 Nvidia Corporation Method and system for generating a secure key
US9613215B2 (en) 2008-04-10 2017-04-04 Nvidia Corporation Method and system for implementing a secure chain of trust
US8219772B2 (en) * 2009-07-02 2012-07-10 Stmicroelectronics (Research & Development) Limited Loading secure code into a memory
WO2013169249A1 (en) * 2012-05-09 2013-11-14 Intel Corporation Scheduling tasks among processor cores
EP2903202A4 (en) * 2012-09-28 2015-11-04 Fujitsu Ltd INFORMATION PROCESSING DEVICE AND SEMICONDUCTOR DEVICE
US9165163B2 (en) * 2012-11-30 2015-10-20 Broadcom Corporation Secure delivery of processing code
US9658787B2 (en) * 2014-02-26 2017-05-23 Macronix International Co., Ltd. Nonvolatile memory data protection using nonvolatile protection codes and volatile mask codes
WO2016068981A1 (en) 2014-10-31 2016-05-06 Hewlett Packard Enterprise Development Lp Systems and methods for restricting write access to non-volatile memory
US10042651B2 (en) * 2015-11-24 2018-08-07 Intel Corporation Techniques to configure multi-mode storage devices in remote provisioning environments
US20230350582A1 (en) * 2022-04-27 2023-11-02 Micron Technology, Inc. Data masking for memory

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4489380A (en) * 1982-04-01 1984-12-18 Honeywell Information Systems Inc. Write protected memory
JPH01232452A (ja) 1988-03-14 1989-09-18 Nec Corp ワンチッププロセッサ
US5111504A (en) 1990-08-17 1992-05-05 General Instrument Corporation Information processing apparatus with replaceable security element
DE9109977U1 (ko) * 1991-08-12 1992-12-24 Intelligent Solution Services Gmbh, 8051 Marzling, De
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5481611A (en) 1993-12-09 1996-01-02 Gte Laboratories Incorporated Method and apparatus for entity authentication
DE69714422T2 (de) * 1996-02-09 2002-11-14 Digital Privacy Inc Zugriffssteuerungs/verschlüsselungssystem
US5835594A (en) 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US6535976B1 (en) * 1997-03-27 2003-03-18 International Business Machines Corporation Initial program load in data processing network
DE19804784A1 (de) 1998-02-06 1999-08-12 Philips Patentverwaltung Chipkarte mit integrierter Schaltung
US6098171A (en) 1998-03-31 2000-08-01 International Business Machines Corporation Personal computer ROM scan startup protection
US6026016A (en) 1998-05-11 2000-02-15 Intel Corporation Methods and apparatus for hardware block locking in a nonvolatile memory
US6218941B1 (en) 1998-07-01 2001-04-17 International Business Machines Corporation Method and system for detecting an authorized tamper event
US6816968B1 (en) 1998-07-10 2004-11-09 Silverbrook Research Pty Ltd Consumable authentication protocol and system
US6401208B2 (en) 1998-07-17 2002-06-04 Intel Corporation Method for BIOS authentication prior to BIOS execution
JP2000148594A (ja) * 1998-11-10 2000-05-30 Mitsubishi Electric Corp Romデータの読み出しプロテクト回路
JP2000341263A (ja) * 1999-05-27 2000-12-08 Sony Corp 情報処理装置及び方法
JP4079552B2 (ja) 1999-07-16 2008-04-23 富士通株式会社 不正コピーを防止した不揮発性半導体メモリ
US6715074B1 (en) 1999-07-27 2004-03-30 Hewlett-Packard Development Company, L.P. Virus resistant and hardware independent method of flashing system bios
JP4300644B2 (ja) * 1999-08-24 2009-07-22 ソニー株式会社 携帯端末
JP4352523B2 (ja) * 1999-09-10 2009-10-28 ソニー株式会社 携帯端末
US6487465B1 (en) 1999-11-01 2002-11-26 International Business Machines Corporation Method and system for improved computer security during ROM Scan
US6629192B1 (en) 1999-12-30 2003-09-30 Intel Corporation Method and apparatus for use of a non-volatile storage management system for PC/AT compatible system firmware
US6775776B1 (en) * 2000-06-27 2004-08-10 Intel Corporation Biometric-based authentication in a nonvolatile memory device
FR2822971A1 (fr) 2001-04-03 2002-10-04 St Microelectronics Sa Systeme et procede de controle d'acces a des donnees protegees stockees dans une memoire
US20030037237A1 (en) 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
DE10126281A1 (de) 2001-05-29 2002-12-12 Infineon Technologies Ag Programmgesteuerte Einheit
US7363494B2 (en) * 2001-12-04 2008-04-22 Rsa Security Inc. Method and apparatus for performing enhanced time-based authentication
US7313705B2 (en) 2002-01-22 2007-12-25 Texas Instrument Incorporated Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
US6920566B2 (en) 2002-07-12 2005-07-19 Phoenix Technologies Ltd. Secure system firmware by disabling read access to firmware ROM
US6874069B2 (en) * 2002-07-26 2005-03-29 Silicon Storage Technology, Inc. Microcontroller having an embedded non-volatile memory array with read protection for the array or portions thereof
DE60336677D1 (de) 2002-12-02 2011-05-19 Silverbrook Res Pty Ltd Totdüsenausgleich
JP4208741B2 (ja) * 2003-03-28 2009-01-14 キヤノン株式会社 コンテンツ情報出力システム及びコンテンツ情報出力方法
US6717839B1 (en) 2003-03-31 2004-04-06 Ramtron International Corporation Bit-line shielding method for ferroelectric memories
CN102117636A (zh) * 2003-07-08 2011-07-06 松下电器产业株式会社 单次写入记录媒介的制造方法、记录方法以及再现方法
DE10336148A1 (de) * 2003-08-07 2005-03-10 Bayerische Motoren Werke Ag Verfahren zum Signieren einer Datenmenge in einem Public-Key-System sowie ein Datenverarbeitungssystem zur Durchführung des Verfahrens
US8255700B2 (en) * 2004-06-29 2012-08-28 Qualcomm Incorporated Lockstep mechanism to ensure security in hardware at power-up

Also Published As

Publication number Publication date
TWI321277B (en) 2010-03-01
US20060294397A1 (en) 2006-12-28
US8639946B2 (en) 2014-01-28
CN101124768A (zh) 2008-02-13
WO2007001376A2 (en) 2007-01-04
GB2427720A (en) 2007-01-03
WO2007001376A3 (en) 2007-09-07
TW200700990A (en) 2007-01-01
GB2427720B (en) 2010-11-17
GB0520101D0 (en) 2005-11-09

Similar Documents

Publication Publication Date Title
US8639946B2 (en) System and method of using a protected non-volatile memory
EP2115655B1 (en) Virtual secure on-chip one time programming
KR100970040B1 (ko) 보안키 보호 방법, 보안키 보호 방법에 사용되는 실행 전용 루틴을 구비한 컴퓨터 판독가능 저장 매체 및 보안 단말기
US20070297606A1 (en) Multiple key security and method for electronic devices
CN107003936B (zh) 具有非可读页的存储器保护
EP1785902B1 (en) Decryption key table access control on ASIC or ASSP
US9183394B2 (en) Secure BIOS tamper protection mechanism
US9129113B2 (en) Partition-based apparatus and method for securing bios in a trusted computing system during execution
US20150134976A1 (en) Event-based apparatus and method for securing bios in a trusted computing system during execution
EP2874092B1 (en) Recurrent BIOS verification with embedded encrypted hash
CN107743625B (zh) 由受控制的加密密钥管理进行的软件模块的分离
CN110659458A (zh) 支持软件代码数据保密可信执行的中央处理器设计方法
KR20090095843A (ko) 보안 기능을 갖는 프로세서 장치
US20150134974A1 (en) Apparatus and method for securing bios in a trusted computing system
JP4791250B2 (ja) マイクロコンピュータおよびそのソフトウェア改竄防止方法
US9779242B2 (en) Programmable secure bios mechanism in a trusted computing system
US9798880B2 (en) Fuse-enabled secure bios mechanism with override feature
US10049217B2 (en) Event-based apparatus and method for securing bios in a trusted computing system during execution
KR20190085387A (ko) 반도체 장치 및 반도체 장치의 동작 방법
US9779243B2 (en) Fuse-enabled secure BIOS mechanism in a trusted computing system
EP3316168B1 (en) Fuse-enabled secure bios mechanism in a trusted computing system
US10055588B2 (en) Event-based apparatus and method for securing BIOS in a trusted computing system during execution
EP3316167B1 (en) Programmable secure bios mechanism in a trusted computing system
US9767288B2 (en) JTAG-based secure BIOS mechanism in a trusted computing system
EP3316169B1 (en) Jtag-based secure bios mechanism in a trusted computing system

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid