KR100906175B1 - 프로세서에서 데이터 보안성을 갖는 메모리 장치 - Google Patents

프로세서에서 데이터 보안성을 갖는 메모리 장치 Download PDF

Info

Publication number
KR100906175B1
KR100906175B1 KR1020037003540A KR20037003540A KR100906175B1 KR 100906175 B1 KR100906175 B1 KR 100906175B1 KR 1020037003540 A KR1020037003540 A KR 1020037003540A KR 20037003540 A KR20037003540 A KR 20037003540A KR 100906175 B1 KR100906175 B1 KR 100906175B1
Authority
KR
South Korea
Prior art keywords
memory
program
memory device
processor
data
Prior art date
Application number
KR1020037003540A
Other languages
English (en)
Other versions
KR20030029970A (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 KR20030029970A publication Critical patent/KR20030029970A/ko
Application granted granted Critical
Publication of KR100906175B1 publication Critical patent/KR100906175B1/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
    • 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/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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

Abstract

본 발명은 프로세서(10)용 메모리 장치(1)에 관한 것이다. 상기 메모리 장치(1)와 상기 프로세서(10)는 단일 칩 상에 통합되며, 상기 메모리 장치(1)는 초기화 프로그램을 위한 제1 메모리부(2)와 사용자 프로그램을 위한 제2 메모리부(3)를 포함한다. 상기 제1 메모리부(2)는 제1 그룹의 데이터 인터페이스(16, 18)를 통해 기록 및/또는 판독될 수 있고, 상기 제2 메모리부(3)는 제2 그룹의 데이터 인터페이스(16, 17, 18)를 통해 기록 및/또는 판독될 수 있다. 상기 제1 및/또는 제2 메모리부(2, 3)는 블록 단위로 어드레스 지정 가능한 메모리 블록(4, 5, 6, 7)을 포함한다. 제1 메모리 블록(4)은 상기 개개의 데이터 인터페이스에 대한 프로그램 가능한 인에이블 및/또는 디스에이블 정보를 포함하는 보호 제어 레지스터(PCR)를 포함한다. 상기 보호 제어 레지스터(PCR)에 대한 질의는 파워 업 때 이루어진다. 제2 및 제3 메모리 블록(5, 6)은 상기 메모리 장치(1) 내의 암호화 및 식별 프로그램에 연결되어 있는 패스워드(키 1, 키 1')를 저장하는 역할을 한다.

Description

프로세서에서 데이터 보안성을 갖는 메모리 장치{DATA-PROTECTED MEMORY DEVICE FOR A PROCESSOR}
본 발명은 프로세서에서 데이터 보안성을 갖는 메모리 장치에 관한 것이다.
본 발명은 각각의 메모리 장치의 암호화 프로그램 및 패스워드에 대한 액세스를 방지함으로써 공개 또는 비밀 키워드, 즉 패스워드를 이용하는 종래의 암호화 기술의 보호 기능을 지원한다. 이러한 민감한 데이터는 전기적으로 기록 및 판독 가능한 플래시 메모리와 같이, 프로세서 칩 상에 통합되는 랜덤 액세스 메모리(RAM; random-access memory)에 저장된다. 이것의 이점은 RAM의 내용을 직접적으로는 판독할 수 없고, 단지 간접적으로 데이터 인터페이스를 통해 판독할 수 있다는 점이다. 공지된 외부적으로 액세스 가능한 데이터 인터페이스로는 예컨대 표준화 인터페이스 JTAG(Joint Test Action Group), UART(Universal Asynchronous Receiver/Transmitter) 또는 직렬 액세스를 허용하는 USB(Universal Serial Bus) 등이 있다. 일부는 USB의 경우에서와 같이 인터페이스 기능이 프로세서의 특정 프로그램의 지원을 필요로 하고, 일부는 인터페이스가 외부적으로 제어되므로 완전히 프로세서에 독립적이다. 필요하다면, 프로세서에 비독립적이거나 독립적이고 표준화되거나 비표준화된 다른 데이터 인터페이스를 통해 병렬 고속 액세스도 가능하 다. 이러한 병렬 액세스의 경우, 일반적으로, 예컨대 32 비트 데이터 및 32 비트 어드레스가 병렬로 입력 또는 출력될 수 있도록 다수의 단자들의 기능이 전환된다.
최종 사용자 또는 제3자가 허가없이 암호화 프로세스에 관한 지식을 얻고자 하는 경우, 이것은 일반적으로 암호화된 데이터의 내용을 파악하는 데 도움이 된다. 그러한 데이터는 저장되거나 전송되는 데이터일 수 있다. MP3 압축 기술을 사용하여 보호 받아야 할 음악을 권한없이 전송 및 복제하는 경우가 있다. 이것은 데이터를 암호화함으로써 방지할 수 있으나, 개개 또는 전체 암호화 프로그램을 비밀로 유지할 필요가 있다. 데이터 암호 해독에 대한 관심이 크다면, 우회 프로그램이 인터넷이나 다른 경로를 통해 빠르게 확산되어 암호화 효과를 무력화시킬 수도 있다는 것을 생각할 필요가 있다.
본 발명의 목적은 암호화 또는 암호 해독 프로그램과 함께 프로세서에 저장되는 데이터에 대한 보호 방법을 제공하는 것이다. 특히, 암호화 또는 암호 해독 프로그램을 권한없는 판독, 변경 또는 소거로부터 보호해야만 한다. 그러나, 권한있는 최종 사용자의 경우에는 언제라도 프로그램을 갱신할 수 있도록 해야 한다. 그 보호 수준은 프로세서 제조업체가 아닌, 특히 최종 사용자가 미리 결정할 수 있도록 해야 한다. 이후의 명세서에 있어서, 표현을 간략화하기 위해서 암호화 및 암호 해독을 대부분 용어 "암호화"로 통일하였다. 본 명세서에 있어서, 용어 "사용자"는 반도체 제조업체로부터 구성 요소(building block)로서 프로세서를 구매하고 그것을 특정 용도의 회로에 통합하여 장치를 생산하는 사람을 의미한다. 최종 사용자는 최종적으로 그 장치를 구매하여 직접 사용하거나 다른 장치의 부품으로서 사용한다.
상기 목적은 청구항 1에서 청구한 특징에 의해 달성된다. 또한 유효한 특징 및 개발을 종속항으로 기재하였다.
본 발명의 기초 사상은 보호되는 메모리 장치가 마이크로프로세서에 통합되고, 상이한 액세스 능력을 가진 제1 메모리부와 제2 메모리부를 포함한다는 사실에 있다. 그러한 메모리 장치의 온칩 통합은 분리된 메모리 장치에 대해서는 불가능한 보호 하드웨어 방법과 보호 소프트웨어 방법의 조합을 가능하게 한다. 제1 메모리부는 암호 해독 중에 부트 프로그램으로서의 역할도 하는 초기화 프로그램을 유지하고, 제2 메모리부는 사용자 프로그램, 예컨대 수신 데이터를 암호 해독 및/또는 디코딩하는 프로그램을 유지한다. 그러한 데이터로는 예컨대 MP3 표준에 따라 인코딩되는 오디오 데이터가 있으며, 부가적으로 권한없는 수신에 대비하여 비밀 또는 공개 패스워드로 암호화된다. 이 암호 해독 프로그램은 제2 메모리부 내의 사용자 프로그램의 부트 영역 또는 양식 부분(forms part) 내의 그런대로 안전한 암호 해독 프로그램과 일치할 수도 있다. 제1 메모리부는 하나 또는 그 이상의 외부 인터페이스를 통해서 프로그램 가능하고 변경 가능하나, 프로세서 또는 프로세서가 제어하는 데이터 인터페이스를 통해서는 불가능하다. 이 때문에, 프로세서는 어떤 프로그램을 통해서도 적어도 암호화, 암호 해독 또는 식별 프로그램의 일부를 포함하는 초기화 프로그램의 내용을 판독, 변경 또는 파기할 수 없다. 변경 또는 파기된 프로그램을 제2 메모리부에 다시 로드하기 위해서는 제1 메모리부에 포함된 기본 기능만으로도 충분하다. 제2 메모리부는 외부 데이터 인터페이스를 통해서뿐만 아니라 프로세서 및 프로세서가 제어하는 데이터 인터페이스를 통해서도 프로그램 가능하고 변경 가능하다.
정상 동작 중에 그리고 사용자가 권한있는 최종 사용자에 의한 프로그램 갱신을 제공하는 경우에는 프로세서가 제1 및 제2 메모리부에 액세스할 수 있어야 한다. 그러한 프로그램 갱신은 미리 결정 가능한 간격으로, 예컨대 암호화 방식이 우연하게 또는 불법적으로 공개되어 부정적인 결과가 초래되는 것을 방지할 수 있도록 관련된 개개 또는 그룹의 암호화 프로그램 또는 패스워드를 변경할 경우에 필요하다. 그러나, 본 발명에 따라, 프로그램 갱신을 불필요하게 만드는 금지(inhibition)도 가능하다. 그 경우에, 사용자는 디스에이블 비트를 설정함으로써 프로세서가 제어하는 것을 포함한 모든 외부 인터페이스를 디스에이블시킨다. 이 경우에도, 프로세서는 전술한 바와 같이 항상 정상적인 일련의 동작 중에 양쪽 메모리부 모두에 액세스한다.
본 발명은 사용자의 저마다의 보호 요구 사항에 대한 적응력에 관하여 매우 유연하며, 소비자 용도 및 전문가 용도 모두 가능하다. 생각할 수 있는 소비자 용도로는 예컨대 비디오 또는 오디오 데이터의 암호화 전송이 있다. 본 발명에 의하면, 그 데이터는 단지 권한있는 사용자만이 다음의 프로세서에서 처리 또는 재생을 위해서 프로세서에 의해서 암호 해독할 수 있다. 그러나, 이 사용자는 그 암호 해독된 데이터를 제3자를 위해서는 복제할 수 없는데, 그 이유는 이 데이터는 어떠한 외부적으로 액세스 가능한 인터페이스에서도 사용할 수 없기 때문이다. 그 상황은 자동차 내 엔진이 복제 또는 변경으로부터 보호되어야만 하는 비밀 프로그램을 가진 전자 엔진 관리 시스템에 의해서 제어되는 것과 유사하다.
권한 부여 또는 동일성 검사는 제1 또는 제2 메모리부에 저장된 공개 또는 비공개 키워드 및 암호 형태로 수신된 프로그램과 공지된 방식으로 상호 작용하는 보호된 암호화 프로그램을 통해 이루어진다. 모든 부분이 서로 일치하는 경우에만 암호 해독하므로, 의미있게 수신 데이터를 사용하거나 저장된 데이터를 갱신할 수 있다.
제2 메모리부는 필요하다면 제1 메모리부도, 새로운 프로그램과 오래된 프로그램간의 충돌을 피하기 위해서 프로그램 갱신 중에 블록 단위로 변경 또는 소거 가능하도록 상이한 메모리 블록들로 분할된다.
제1 또는 제2 메모리부 내 제1 메모리 블록은 각 데이터 인터페이스가 이 데이터 인터페이스를 통한 제1 및 제2 메모리부에 대한 판독 및/또는 기록을 인에이블 또는 디스에이블시키는 데 사용하는 프로그램 가능한 인에이블 또는 디스에이블 정보를 포함하는 보호 제어 레지스터를 포함한다. 그 디스에이블 정보가 활성화되지 않는 한, 제1 및 제2 메모리부는 프로세서가 제어하는 것을 포함한 모든 외부 데이터 인터페이스를 통해 액세스 가능하다. 이것은 제조업체 또는 사용자가 초기화 또는 사용자 프로그램을 개조, 변경 또는 디버깅하는 것을 가능하게 한다. 이러한 변경이 완료된 후에 외부적으로 액세스 가능한 데이터 인터페이스에 대한 디스에이블 비트가 사용자에 의해서 설정된다면, 일반적으로 기존의 프로그램을 파기하지 않고서는 어느 누구도 그것을 취소할 수 없다. 따라서 그 디스에이블 정보를 포 함한 제1 메모리 블록을 모든 변경으로부터 확실하게 보호할 수 있다. 기존의 소프트웨어와 저장된 패스워드를 통해 권한있는 사용자로서 식별된 사용자는 보호 제어 레지스터의 내용을 변경할 수 있다. 즉, 그러한 금지를 취소할 수 있다. 이것은 그 사용자로 하여금 필요하다면 현재 디스에이블된 프로세서에서 에러를 탐색할 수 있도록 해준다.
보호 제어 레지스터에 대한 질의(interrogation)는 바람직하게는 파워 업 때 이루어지고, 초기화 프로그램이 다른 조회(inquiry) 또는 프로그램 동작을 허용하기 전에 프로세서의 고정 배선(hardwired) 기능을 통해 달성된다. 보호 제어 레지스터에 있어서 매우 중요한 이러한 질의의 고정 배선은 어떠한 프로그램에 의해서도 고의적이든 우연이든간에 변경이 불가능하다는 이점이 있다. 물론, 파워가 턴온되거나 중단되는 짧은 시간 동안에도 보호 제어 레지스터에 대한 질의를 회피할 수 없도록 보장한다.
제1 또는 제2 메모리부 내 제2 및 제3 메모리 블록은 공개 또는 비밀 키워드를 이중으로 저장하는 역할을 한다. 그 키워드("패스워드"라고도 함)는 제1 및/또는 제2 메모리부 내 암호화 프로그램에 연결되어 있다. 사용자가 공개적으로 액세스 가능한 보호를 선호하든 공개적으로 액세스 불가능한, 즉 비밀 보호를 선호하든간에, 키워드는 본 발명에 있어서 중요한 것은 아니고, 단지 요구되는 보호 방식에 따라 달라질 뿐이다. 양쪽 시스템의 이점 및 단점은 본 발명에 의해서 바뀔 수는 없는 것이나, 양쪽의 경우 모두에 있어서, 보호된 데이터 내용에 대한 액세스는 방지되거나 적어도 매우 어렵게 되어 있다.
제2 메모리부 내의 비교적 큰 제4 메모리 블록은 사용자 프로그램을 저장하는 역할을 한다. 이 프로그램은 일반적으로 프로그램 갱신 시에 대체된다. 패스워드와 함께 사용자 프로그램의 내용은 프로세스가 수신 데이터를 암호 해독 및 디코딩하는 것을 허락한다. 물론, 권한없는 액세스로부터의 보호는 암호 해독 목적으로뿐만 아니라 암호화 목적으로도 사용될 수 있다.
이하, 본 발명 및 그 이로운 디벨럽먼트를 첨부된 도면을 참조하여 더 상세하게 설명할 것이다.
도 1은 프로세서 칩 상에 통합된 메모리 유닛의 분할을 개략적으로 보여준다.
도 2는 인터페이스마다 메모리 위치를 갖는 보호 제어 레지스터를 개략적으로 보여준다.
도 3는 초기화 순서의 흐름도이다.
도 4는 프로그램 갱신의 흐름도이다.
도 5는 본 발명의 실시예인 프로세서를 개략적으로 보여준다.
도 1은 프로세서(10)(도 5 참조)에 통합된 메모리 장치(10)의 분할을 개략적으로 보여준다. 시작 어드레스(0x00)에서 시작하는 제1 메모리부(2)는 초기화 프로그램("부트 프로그램"이라고도 함)을 포함한다. 프로그램 시에, 이 제1 메모리부(2)는 사용자 및 제조업체에게 제한된 액세스, 즉 프로세서의 동작에 독립 적인 데이터 인터페이스를 통한 액세스만을 허용한다. 제조 공정 중에, 제1 메모리부에 대한 액세스는 초기화 프로그램을 로드하기 위해서 다음에 액세스 불가능한 칩 콘택을 통해 쉽게 이루어질 수 있다.
프로세서가 스위치 온되면 초기화 프로그램이 활성화된다. 초기화 프로그램은 또한 사용자 또는 최종 사용자의 인증성 또는 동일성을 검사하고 프로세서가 제어하는 데이터 인터페이스에 대한 판독 및 기록 동작을 지원하는 프로그램들을 포함한다. 초기화 프로그램은 또한 예컨대 프로세서가 제어하는 데이터 인터페이스를 통해 암호화된 새로운 프로그램을 입력함으로써 이 메모리 부분이 비거나 장애가 있을 때 프로세서의 도움으로 제2 메모리 부분을 다시 프로그램하는 것이 필요한 암호 해독 프로그램의 적어도 그러한 부분을 포함한다.
제1 메모리 부분(2) 다음에는 제2 메모리 부분(3)(사용자 영역)이 이어지며, 제2 메모리 부분은 사용자 프로프램을 포함하며, 사용자 프로그램의 어드레스는 메모리 블록에 할당되며 사용자 시작 어드레스(adr-U)로 시작한다. 제1 메모리 블록(4)은 개별 데이터 인터페이스에 대한 활성화 또는 비활성화 정보를 담고 있는 보호 제어 레지스터(PCR)를 포함한다. 추가 데이터를 위해 제1 메모리 블록(4)에서 추가 공간이 이용 가능하다.
제1 메모리 블록(4) 다음에는 제2 및 제3 메모리 블록(5,6)이 이어지며, 제2 및 제3 메모리 블록은 최종 사용자 또는 최종 사용자 그룹에 할당되는 패스워드 키 1 및 키 1'을 각각 필수적으로 포함하고 있다. 두 패스워드는 동일하며 적어도 하나의 유효 패스워드가 재프로그래밍 동안 항상 존재하도록 별개로 소거 가능한 영역에 존재하여야 한다. 이러한 패스워드없이는 수신된 데이터의 암호 해독이 가능하지 않다. 재프로그래밍 동안 기존의 패스워드는 상이한 제어 섹션에서 제2 및 제3 메모리 블록(5,6)의 새로운 패스워드로 대체된다. 제2 및 제3 메모리 블록(5,6)은 필요시 다른 암호화 프로그램에 대한 추가 패스워드를 기억하기 충분히 크다.
적당한 사용자 프로그램이 제4 메모리 블록(7)에 포함된다. 이 메모리 블록은 현재 및 미래 사용자 프로그램을 기억하기에 충분히 크다. 제1 및 제2 메모리 부분(2,3)의 상이한 레벨의 액세스 또는 궁극적으로는 원하는 금지는 블록 어드레스를 이용하는 하드웨어에 의해서 제어된다. 예컨대, 프로세서의 프로그래밍 신호는 메모리 장치(1)에 대한 전역 인에이블 신호 또는 메모리 블록 인에이블 신호가 형성되지 않는 방식으로 제1 메모리 부분(2)에 대한 영역 신호와 논리적으로 결합된다. 그러나, 제1 메모리 부분(2)이 프로세서와 무관한 데이터 인터페이스와 결합하여 어드레스되면, 전역 또는 메모리 블록 인에이블 신호는 레지스터(PCR) 내의 관련 디스에이블 신호가 설정되지 않으면 억압되지 않을 것이다. 유사한 방법으로, 제2 메모리 부분(3)의 블록(4) 내지 블록(7)은 블록 어드레스 또는 어드레스 범위 신호를 메모리 장치(1) 및 관련 데이터 인터페이스로부터 판독되거나 메모리 장치(1) 및 관련 데이터 인터페이스에 기록하기 위한 신호와 결합함으로서 제어된다.
도 1의 실시예에서, 메모리 블록(4,5,6)은 제2 메모리 부분(3)과 관련이 있다. 이런 방법으로 보호 기능의 최고 융통성이 달성되는데, 이는 액세스 확실성 또는 패스워드의 변화가 재프로그래밍(갱신)에 의해서 가능하기 때문이다. 패스워드 키 1 및 키 1'에 대한 보호 제어 레지스터(PCR) 또는 레지스터(5,6)가 제1 메모리 부분(2)에 있다면, 프로세서를 통한 재프로그래밍은 가능하지 않으며, 액세스 허가 및 패스워드는 프로그램 데이터에 의해서 영구적으로 고정된다. 비허가 판독 액세스에 대한 보호는 외부적으로 액세스 가능한 데이터 인터페이스의 전자적인 금지에 의해서 데이터가 판독되지 않는 경우 보존된다.
도 2는 제1 메모리 블록(4) 내의 보호 제어 레지스터(PCR)의 개략도이다. 외부 데이터 인터페이스마다, 보호 제어 레지스터는 값 "1" 또는 "0"을 기억하는 위치를 가진다. "1"이란 메모리 장치(1)로부터의 판독 또는 메모리 장치(1)로의 기록이 관련 데이터 인터페이스를 통해 가능함을 의미한다. 물론, 이와 같은 인에이블 상태는 예를 들어 제1 메모리부(2)가 프로세서에 의해 제어되는 데이터 인터페이스를 통하여 결코 액세스할 수 없는 소정의 액세스 가능성을 무효화시키지는 않는다. 논리 "1"의 선택은 메모리 장치(1)에 사용되는 각각의 기술에 좌우된다. 플래시 메모리에 있어서, 모든 셀들은 소거 이후에 논리 "1" 상태로 유지됨으로써, 이러한 메모리 유형의 경우에 대해서 논리 "1" 상태는 인에이블링 신호로서 선택되어야만 한다. 따라서, 논리 "0" 상태는 판독, 기록 및 소거 동작을 위한 디스에이블링 신호를 나타낸다. 동작의 시작 시에, 레지스터 내용의 각 비트는 전력이 턴온될 때 프로세서의 상태 머신에서 대응하는 논리 "1" 상태나 논리 "0" 상태를 설정한다. 또는 PCR 레지스터는 영구 접속된 출력 판독 라인을 통하여 상태 레지스터로서 이미 동작하고 있다. 동작하는 동안 상기 상태 레지스터의 내용은 보호 제어 레지스터의 내용 변경이나 전력 다운 중 어느 하나에 의해서만 변경될 수 있다. 온 상태 의 상태 레지스터의 내용은 PCR 레지스터의 내용에 따라 논리 "1" 상태에서 논리 "0" 상태로 변경될 수 있다. 디스에이블 신호 "0" 이 외부에서 액세스 가능한 데이터 인터페이스를 통하여 보호 제어 레지스터(PCR)로 액세스가 불가능하기 때문에 다른 방향으로의 변경은 수행할 수 없다.
도 3의 흐름도는 전력 턴온될 때 발생하는 이벤트를 도시하고 있다. 전력 온은 보호 제어 레지스터(PCR) 내의 개별 위치의 질의를 시작한다. 본원 명세서에서 가정된 온칩 플래시 메모리의 예에 있어서, 논리 "1"의 상태는 "인에이블"에 해당되고, 논리 "0"의 상태는 "디스에이블"에 해당된다. 도 3은 일례로서 외부에서 접속가능한 데이터 인터페이스 3가지, 즉 JTAG 인터페이스, 병렬 인터페이스 및 TEST 인터페이스를 나타낸 것이다. 그 각각의 기능 상자가 기호로 표시되어 있는 각각의 인터페이스가 인에이블되면, 메모리 장치(1)의 데이터는 이러한 인터페이스를 거쳐 판독되거나 변경될 수 있다. 이러한 판독 또는 기록 동작의 종료는 부트 영역 내의 시작 어드레스 0x00로의 건너뜀을 시작하는 것으로 이루어진다. 그렇지만, 턴온 이후 PCR 레지스터로부터 디스에이블 정보가 판독되면, 부트 시작 어드레스 Ox00로의 건너뜀은 즉각적으로 일어나게 되어, 인터페이스를 통해 메모리 장치(1)의 임의의 부분에 대한 판독 또는 기록은 할 수 없게 된다. 이와 같이, PCR 레지스터의 디스에이블 정보를 회피할 수 없는데, 왜냐하면 이러한 하드웨어 제어형 질의는 턴온 시 첫번째 시스템 클록 주기 중에 즉각 첫번째 단계로서 행해지기 때문이다. 그와 반대로, 부트 메모리 어드레스 0x00로부터의 프로그램 기동은 순수한 소프트웨어 동작이다.
그 다음 단계로서, 부트 시작 어드레스 OxOO로부터의 프로그램 기동은 새로운 사용자 프로그램, 예를 들어 갱신이 로드될 것인지 여부에 관한 질의를 시작한다. 이것을 원한다는 신호는 예를 들어 입력 키(갱신 키)의 수동 조작에 의해 보낼 수 있다. 이것을 원할 경우(키가 설정된 경우), 도 4의 흐름도에 보다 상세히 설명되어 있는 프로그래밍 모드가 시작될 것이다.
프로그램 갱신을 원하지 않을 경우, 완전하고 유효한 사용자 프로그램이 제2 메모리 부분(3)에 들어 있는지를 알아보기 위한 검사가 행해진다. 그 검토 결과가 부정인 경우에, 사용자 프로그램이 완료되지 않은 상태이기 때문에, 대기 상태는 초기화되고, 그 현재의 기능들은 중단될 것이다. 사용자 프로그램이 완료되어 유효한 경우에, 사용자 프로그램의 시작 어드레스(adr-U)로 건너뜀은 초기화될 것이다. 따라서, 초기화 프로그램(=부트 프로그램)을 내장한 제1 메모리부(2)는 방치된다. 프로세서(10)(도 5에 도시)는 이제 그 수신 데이터의 내용을 해독하고, 디코딩하여, 내부적으로 처리하기 시작한다. 그러나, 전술한 바와 같이, 외부적으로 액세스 가능한 인터페이스를 통해 해독된 데이터의 전송은 불가능하다.
전체 메모리 장치(1)를 의도하지 않은 소거로부터 보호하는 것은 갱신 키 질의 후에 "아니오" 분기에서 프로그램 가능한 보호 비트(보호 비트 설정)를 삽입함으로써 제공될 수 있는데, 그 이유는 사용자 프로그램이 여전히 초기 프로그램 세그먼트에 있기 때문이다. 이러한 보호 비트가 사용자 프로그램의 프로그래밍 동안에 설정됨으로써, 현재의 실행 프로그램의 수정 또는 불량의 결과로 메모리 장치(1)가 전체 적으로 또는 일부분이 소거되는 것을 방지한다. 이러한 보호 비트는 그 메모리 장치를 턴오프하고, 그 갱신 키에 의해 새로운 사용자 프로그램의 입력을 신호 전송함으로써 단지 바이패스될 수 있다. 이러한 경우에 보호 비트가 설정되는지 여부는 이용 가능한 새로운 사용자 프로그램을 생성하고 만드는 사용자의 결정으로 남겨둔다.
도 4의 흐름도는 프로그래밍 모드에 의해 초기화되는 사용자 프로그램의 갱신 동작시 발생하는 이벤트 순서를 보여준다. 먼저, 식별 검사가 이루어진다. 만일 이러한 검사의 결과가 부정적이면, 프로그래밍 모드는 즉시 중단될 것이고 대기 상태가 초기화되어서 표시될 것이다. 만약 식별 검사가 성공적이었다면, 다음 단계에서 키워드 "키 1'"를 포함하고 있는 제3 메모리 블록(6)은 소거될 것이다. 이러한 것은 보호 제어 레지스터(PCR)가 디스에이블 비트 "0"을 포함하는지와 새로운 내용이 역시 디스에이블 비트인지를 조회하는 것을 수반한다. 만일 위의 어떠한 경우도 아니라면, 상기 PCR 레지스터는 소거되게 된다. 이러한 조회는 처음 볼때는 다소 이상하게 보일 수 있지만, 다음과 같은 목적이 있다. 우선, 상기 보호 제어 레지스터(PCR)의 내용이 변화가 되어야 하는지 또는 인에이블된 상태가 유지되어 있는지의 여부에 따라 이러한 경우들이 결정된다. 그러한 경우들에 있어서, 상기 PCR은 새로운 프로그램이 로드되기 전에 소거될 수 있다. 만일 그러한 검사가 상기 보호 제어 레지스터의 이전의 내용이 디스에이블 비트이고 로드될 프로그램 역시 디스에이블 비트를 포함하고 있다는 것을 나타내면, 상기 보호 제어 레지스터(PCR)는 소거되지 않을 것이다. 이러한 것은, 보호 제어 레지스터 내에 포함된 디스에이블 정보는 재프로그래밍 중에 어느 때라도, 즉 매우 작은 시간동안이라도, 무효화되지 않는다는 것을 보장한다. 상기 보호 제어 레지스터(PCR)가 새로운 내용을 수신한 후, 새로운 사용자 프로그램이 제4 메모리 블록(7)에 로드될 수 있다. 이 로드는 유리하게는 이전의 사용자 프로그램을 소거한 후에 실행된다.
사용자 프로그램을 프로그래밍할 때에는 제3 메모리 블록(6)의 "키 1'" 패스워드가 소거된다는 것을 주의하여야 한다. 상기 프로그램의 암호 해독은 제2 메모리 블록(5)에 존재하는 "키 1" 패스워드에 의하여 이루어진다. 새로운 프로그램이 제4 메모리 블록(7)에 로드된 후, 새로운 패스워드 "키 1'"이 수신된 프로그램에 의하여 제3 메모리 블록(6)에 기록된다. 재프로그래밍의 마지막 단계에서, 메모리 블록(5)에 있는 종전 패스워드 "키 1"은 지워지고, 새로운 패스워드로 대체된다. 이것으로 재프로그래밍은 완료된다.
흐름도로부터 제3 메모리 블록(6)에 있는 패스워드가 소거됨으로써 재프로그래밍이 시작되고, 제2 메모리 블록(5)에 새로운 패스워드를 기록함으로써 재프로그래밍이 종료된다. 제3 및 제2 메모리 블록(6, 5)의 상태는 사용자 프로그램의 프로그래밍이 종료되거나, 종료 이전에 취소되었는 지에 관한 선언을 허용한다. 후자의 경우에 있어서, 제2 및 제3 메모리 블록(5,6) 내용에 대한 간단한 논리 비교로 사용자 프로그램이 완료되고, 또한 유효한지가 나타날 것이다. 사용자 프로그램이 유효하지 않다면, 도 3에 제시된 프로세서는 대기 모드로 가게 되어, 사용자 시작 어드레스(adr-U)로부터 새로운 프로그램을 시작함으로써만 이를 종료시킬 수 있다.
도 3 및 도 4의 흐름도에서, 메모리 장치(1) 전체 내용의 전역 소거는 나타나 있지 않다. 예컨대, 이는 프로세서(10)의 미리 결정된 단자에서의 미리 결정된 구성의 레벨에 의하여 행할 수 있다. 이러한 상태는 프로세서의 최악 동작 조건에서도 일어나면 안된다. 전역 소거는 완전히 비정상적인 동작 조건과 연계되어 있는 것이 좋다. 전역 소거의 목적은 특정 조건에서 메모리 장치에서 보호 상태의 데이타를 읽을 수 없는 상태에서 보호 제어 레지스터 (PCR)에 의한 금지를 취소하기 위한 것이다. 이러한 데이터는 상기 소거의 결과로 사라지게 된다. 이제 메모리 장치(1) 전체를 재프로그래밍하는 것이 가능하다. 이러한 프로그래밍은 상기 프로세서에 의해 제어되는 데이터 인터페이스를 통해 제1 메모리 부분이 로드되는 것이 여전히 불가능하고, 대신 상기 프로세서에 독립된 인터페이스를 통해서만 가능하기 때문에, 다소 번거롭다. 전체적인 소거를 통해, 오류가 있는 또는 틀린 프로그램이 실수로 로드된 프로세서도 사용 금지가 있은 후에 여전히 제조업자나 사용자에 의해 사용될 수 있다. 전역 소거의 지식을 가진 제 3자는 메모리 내용을 액세스할 수 없다. 따라서 보호 기능이 충분히 유지된다.
도 5는 보호 기능에 필수적인 기능 유닛을 가진 본 발명의 실시예를 블록도의 형태로 나타내고 있다. 프로세서(10)는 내부 데이터 버스(12)와 내부 어드레스 버스(13)에 입/출력이 연결된 프로세서 코어(11)를 포함한다. 이러한 두 버스(12, 13)는 드러나 있지 않기 때문에, 또한 이들은 예컨대 32개의 라인으로 각각 구성된 고속 병렬 버스로서 디자인될 수도 있다. 이외에도 상기 프로세서의 개개의 상기 기능 유닛들을 상호 연결하는, 덜 효율적인 내부 버스 링크가 있을 수 있다. 상기 프로세서(10)는 온칩 클록 발생기(14)에 의해 제공되는 시스템 클록 신호(cl)에 의해 클록 된다.
프로세서 코어(11)에서 처리될 데이터 및 어드레스는 SRAM(15), 플래시 메모 리(1), 또는 데이터 인터페이스(16, 17, 18)로부터 데이터 버스(12) 또는 어드레스 버스(13)를 경유하여 올 수 있다. 상기 데이터 및 어드레스는 데이터 인터페이스(16)로부터 상기 프로세서 코어로 바로 보내어질 수도 있다. 도 5의 실시예에서는, JTAG 인터페이스(16), USB 인터페이스(17), 병렬 인터페이스(18)와 같은, 외부에서 액세스 가능한 데이터 인터페이스가 데이터 버스(12)와 어드레스 버스(13)에 연결되어 있다. USB 데이터 인터페이스(17)는 적절한 프로그램 제어기를 통해 프로세서 코어(11)와 협력할 수 있다. JTAG 인터페이스(16) 및 병렬 인터페이스(18)는 프로세서 코어(11)에 독립적이며, 이들은 다소간의 편리한 데이터 및 어드레스 입력을 갖는다.
메모리 영역 신호(adr-i)는 어드레스 발생기(19)에 의해 개개의 어드레스로부터 발생된다. 상기 인터페이스(16, 17, 18)와 각각 연결된 로직 장치(20, 21, 22)에 있어서, 이러한 어드레스 범위 신호는 PCR 레지스터로부터의 관련 디스에이블 또는 인에이블 신호와 결합되어 제어 신호(25, 26, 27)를 형성하고, 이들 제어 신호는 각각 인터페이스(16, 17, 18)들을 디스에이블 또는 인에이블시킨다.

Claims (14)

  1. 단일 칩 상에 통합되고, 초기화 프로그램 및 부트 프로그램 중 적어도 하나의 프로그램을 위한 메모리부인 제1 메모리부(2)와 사용자 프로그램을 위한 메모리부인 제2 메모리부(3)를 포함하는 프로세서(10)용 메모리 장치(1)로서,
    상기 제1 메모리부(2)는 제1 그룹의 데이터 인터페이스(16, 18)를 통해 기록 및 판독 중 적어도 하나의 동작이 수행될 수 있고, 상기 제2 메모리부(3)는 제2 그룹의 데이터 인터페이스(16, 17, 18)를 통해 기록 및 판독 중 적어도 하나의 동작이 수행될 수 있으며,
    상기 제1 및 제2 메모리부(2, 3) 중 적어도 하나의 메모리부는 블록 단위로 어드레스 지정 가능한 제1 메모리 블록(4)을 포함하고,
    상기 제1 메모리 블록(4)은 상기 제1 및 제2 그룹의 데이터 인터페이스(16, 18; 16, 17, 18)에 대한 프로그램 가능한 인에이블 정보 및 디스에이블 정보 중 적어도 하나의 정보를 포함하는 보호 제어 레지스터(PCR)를 포함하며,
    상기 보호 제어 레지스터(PCR)에 대한 질의(interrogation)는 상기 초기화 프로그램이 질의 또는 프로그램 동작을 허용하기 전에 이루어지는 것인 메모리 장치.
  2. 제1항에 있어서, 상기 제1 그룹의 데이터 인터페이스는 상기 프로세서(10)에 독립적인 데이터 인터페이스(16, 18)를 포함하는 것인 메모리 장치.
  3. 제2항에 있어서, 상기 제2 그룹의 데이터 인터페이스는 상기 프로세서(10)에 독립적인 데이터 인터페이스(16, 18)와 상기 프로세서(10)에 의해 제어되는 데이터 인터페이스(17)를 모두 포함하는 것인 메모리 장치.
  4. 제1항에 있어서, 상기 제1 및 제2 메모리부(2, 3) 중 적어도 하나의 메모리부는 블록 단위로 어드레스 지정 가능한 제2 및 제3 메모리 블록(5, 6)을 포함하고, 상기 제2 및 제3 메모리 블록(5, 6)은 상기 제1 및 제2 메모리부(2, 3) 중 적어도 하나의 메모리부 내의 암호 해독 및 암호화 프로그램 중 적어도 하나의 프로그램에 연결되어 있는 패스워드(키 1, 키 1')를 저장하는 역할을 하는 것인 메모리 장치.
  5. 제4항에 있어서, 관련된 디스에이블 정보가 상기 보호 제어 레지스터(PCR)에 설정되어 있지 않은 경우, 상기 패스워드(키 1, 키 1')와, 상기 제1 및 제2 메모리부(2, 3) 중 적어도 하나의 메모리부에 포함된 상기 초기화 프로그램과 상기 암호 해독 및 암호화 프로그램 중 적어도 하나의 프로그램에 의해서 식별되는 인가된 액세스에 대해서만, 상기 제2 그룹의 데이터 인터페이스(16, 17, 18)를 통한 상기 제2 메모리부(3)에의 기록 및 상기 제2 메모리부(3)로부터의 판독 중 적어도 하나의 동작이 가능한 것인 메모리 장치.
  6. 제5항에 있어서, 디스에이블 정보가 상기 보호 제어 레지스터(PCR)에 설정되어 있다면, 액세스가 인가된 경우라도, 상기 제1 그룹의 데이터 인터페이스(16, 18)를 통한 상기 제1 메모리부(2)에의 기록 및 상기 제1 메모리부(2)로부터의 판독 중 적어도 하나의 동작이 가능하지 않은 것인 메모리 장치.
  7. 제1항에 있어서, 상기 제2 메모리부(3)에 유지된 상기 사용자 프로그램의 적어도 일부를 변경 또는 소거시키는 실패(abortion) 또는 파워 고장(power failure) 시에, 상기 프로세서(10)는 대기 상태로 되는 것인 메모리 장치.
  8. 제7항에 있어서, 상기 대기 상태는 시작 어드레스(adr-U)에서 시작하는 상기 사용자 프로그램(USER PROGRAM)의 갱신을 개시하는 시작 정보에 의해서 종료되는 것인 메모리 장치.
  9. 제1항에 있어서, 상기 제1 및 제2 메모리부(2, 3)는 전역 소거 정보에 의해서 소거 가능한 것인 메모리 장치.
  10. 제9항에 있어서, 상기 전역 소거 정보는 상기 프로세서(10)의 미리 결정된 단자에서의 미리 결정된 구성의 레벨에 의해서 개시될 수 있는 것인 메모리 장치.
  11. 제10항에 있어서, 상기 프로세서(10)의 내장(built-in) 조건에서, 상기 미리 결정된 단자는 마더보드(motherboard)를 통해서 액세스 불가능한 것인 메모리 장치.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 프로그램 갱신 시에, 상기 보호 제어 레지스터(PCR)에 이미 존재하는 디스에이블 정보는, 새로운 프로그램도 상기 각각의 데이터 인터페이스(16, 17, 18)에 대한 디스에이블 정보를 포함하고 있는 경우, 임의의 시간 간격 내에서 소거되지 않고 상기 보호 제어 레지스터에 변경되지 않은 상태로 남게 되는 것인 메모리 장치.
  13. 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 보호 제어 레지스터에 대한 상기 질의에 의해서 상기 초기화 프로그램에서 개시되는 상기 관련 데이터 인터페이스(16, 17, 18)의 금지는 직접적으로, 간접적으로 그리고 프로그램에 의해서도 취소될 수 없는 내부 제어 신호(25, 26, 27)를 통해 영향을 받는 것인 메모리 장치.
  14. 제1항 내지 제11항 중 어느 한 항에 있어서, 회로 수단을 통한 상기 메모리 장치(1)의 임의의 의도하지 않은 소거를 방지하는 프로그램 가능한 보호 비트(보호 비트 설정)가 상기 사용자 프로그램에 삽입되는 것인 메모리 장치.
KR1020037003540A 2001-07-10 2002-07-06 프로세서에서 데이터 보안성을 갖는 메모리 장치 KR100906175B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP01116594A EP1276033B1 (de) 2001-07-10 2001-07-10 Speichereinrichtung mit Datenschutz in einem Prozessor
EP01116594.1 2001-07-10
PCT/EP2002/007548 WO2003007132A1 (de) 2001-07-10 2002-07-06 Speichereinrichtung mit datenschutz in einem prozessor

Publications (2)

Publication Number Publication Date
KR20030029970A KR20030029970A (ko) 2003-04-16
KR100906175B1 true KR100906175B1 (ko) 2009-07-03

Family

ID=8177986

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037003540A KR100906175B1 (ko) 2001-07-10 2002-07-06 프로세서에서 데이터 보안성을 갖는 메모리 장치

Country Status (6)

Country Link
US (1) US7761717B2 (ko)
EP (1) EP1276033B1 (ko)
JP (1) JP2003044363A (ko)
KR (1) KR100906175B1 (ko)
CN (1) CN1215390C (ko)
WO (1) WO2003007132A1 (ko)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100495420C (zh) * 2000-02-21 2009-06-03 特科2000国际有限公司 便携式数据存储装置
US20040015709A1 (en) * 2002-07-18 2004-01-22 Bei-Chuan Chen Software delivery device and method for providing software copy protection
EP1570330A2 (en) * 2002-11-27 2005-09-07 Koninklijke Philips Electronics N.V. Chip integrated protection means
US20040192373A1 (en) * 2002-12-05 2004-09-30 Galetti Ralph R. Method and circuit for initializing non-volatile memory
JP2007528521A (ja) * 2003-06-16 2007-10-11 アイオセル コーポレーション 情報処理装置およびその制御方法
US7248069B2 (en) * 2003-08-11 2007-07-24 Freescale Semiconductor, Inc. Method and apparatus for providing security for debug circuitry
US7734932B2 (en) * 2003-11-10 2010-06-08 Broadcom Corporation System and method for securing executable code
US7461407B2 (en) 2004-02-05 2008-12-02 Research In Motion Limited Debugging port security interface
US8028164B2 (en) * 2004-03-19 2011-09-27 Nokia Corporation Practical and secure storage encryption
CA2462495A1 (en) * 2004-03-30 2005-09-30 Dspfactory Ltd. Method and system for protecting content in a programmable system
JP4447977B2 (ja) * 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US20060090085A1 (en) * 2004-10-23 2006-04-27 Mckenney Paul E Method and apparatus for improving computer security
TW200629067A (en) * 2005-02-04 2006-08-16 Elan Microelectronics Corp Storage device with separable data protection and method thereof
WO2006082985A2 (en) * 2005-02-07 2006-08-10 Sony Computer Entertainment Inc. Methods and apparatus for providing a secure booting sequence in a processor
WO2006082994A2 (en) * 2005-02-07 2006-08-10 Sony Computer Entertainment Inc. Methods and apparatus for facilitating a secure session between a processor and an external device
WO2006082988A2 (en) * 2005-02-07 2006-08-10 Sony Computer Entertainment Inc. Methods and apparatus for facilitating a secure processor functional transition
WO2006121251A1 (en) * 2005-05-06 2006-11-16 Iocell Co., Ltd. Data structure of flash memory having system area with variable size in which data can be updated, usb memory device having the flash memory, and method of controlling the system area
WO2006129738A1 (en) * 2005-05-30 2006-12-07 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and method for operating the same
CN101243451B (zh) * 2005-08-22 2010-10-13 Nxp股份有限公司 保护嵌入式存储器的访问的方法和装置
US20070055859A1 (en) * 2005-09-02 2007-03-08 Mediatek Inc. Boot systems and methods
US20070162759A1 (en) * 2005-12-28 2007-07-12 Motorola, Inc. Protected port for electronic access to an embedded device
RU2296363C1 (ru) * 2006-04-27 2007-03-27 Общество с ограниченной ответственностью "АСТРОМА" Способ и средство защиты программного обеспечения от несанкционированного использования
CN101490687B (zh) * 2006-07-07 2012-04-18 桑迪士克股份有限公司 使用身份对象的控制系统及方法
US8099629B2 (en) * 2006-07-14 2012-01-17 Marvell World Trade Ltd. System-on-a-chip (SoC) test interface security
DE102006043167B4 (de) 2006-09-14 2014-10-16 Ams Ag Mikrocontroller und Verfahren zum Starten eines Anwendungsprogramms auf einem Mikrocontroller
KR100800589B1 (ko) * 2006-12-20 2008-02-04 엘지전자 주식회사 정보 처리 장치 및 그 운용방법
US8607070B2 (en) * 2006-12-20 2013-12-10 Kingston Technology Corporation Secure storage system and method of use
JP4912921B2 (ja) * 2007-02-27 2012-04-11 富士通セミコンダクター株式会社 セキュアプロセッサシステム、セキュアプロセッサ及びセキュアプロセッサシステムの制御方法
US8499168B2 (en) * 2007-05-09 2013-07-30 Kingston Technology Corporation Secure and scalable solid state disk system
US8010768B2 (en) * 2007-05-09 2011-08-30 Kingston Technology Corporation Secure and scalable solid state disk system
US8527781B2 (en) * 2007-05-09 2013-09-03 Kingston Technology Corporation Secure and scalable solid state disk system
DE102007037879A1 (de) * 2007-08-10 2009-02-12 BSH Bosch und Siemens Hausgeräte GmbH Hausgerät und Verfahren zum Betreiben eines Hausgeräts
DE102008061574A1 (de) * 2008-12-11 2010-06-17 Continental Automotive Gmbh Infotainmentsystem
KR101122697B1 (ko) * 2008-12-22 2012-03-09 한국전자통신연구원 Usb 메모리에 대한 내용 분석기반 데이터 유출 방지 방법 및 그 시스템
US8332641B2 (en) * 2009-01-30 2012-12-11 Freescale Semiconductor, Inc. Authenticated debug access for field returns
WO2012035628A1 (ja) * 2010-09-15 2012-03-22 富士通株式会社 情報処理装置、情報処理装置制御方法、情報処理装置制御プログラム及び情報処理装置制御プログラムを記録したコンピュータ読取可能な記録媒体
US9147074B2 (en) * 2011-05-24 2015-09-29 Cisco Technology, Inc. Method and apparatus for securing CPUS booted using attached flash memory devices
US8949586B2 (en) 2011-10-06 2015-02-03 Cisco Technology, Inc. System and method for authenticating computer system boot instructions during booting by using a public key associated with a processor and a monitoring device
CN102394752B (zh) * 2011-10-31 2013-11-13 飞天诚信科技股份有限公司 一种动态令牌与工装通信的系统及方法
US9647838B2 (en) * 2013-01-25 2017-05-09 Ralph John Hilla Restructuring the computer and its association with the internet
US9208105B2 (en) 2013-05-30 2015-12-08 Dell Products, Lp System and method for intercept of UEFI block I/O protocol services for BIOS based hard drive encryption support
US9442864B2 (en) * 2013-12-27 2016-09-13 Intel Corporation Bridging circuitry between a memory controller and request agents in a system having multiple system memory protection schemes
CN106326695A (zh) * 2015-06-16 2017-01-11 联想(北京)有限公司 一种信息处理方法和电子设备
GB2557305A (en) * 2016-12-05 2018-06-20 Nordic Semiconductor Asa Memory protection logic
US10930364B2 (en) * 2018-11-16 2021-02-23 International Business Machines Corporation Iterative functional test exerciser reload and execution
US11431492B2 (en) * 2020-06-25 2022-08-30 At&T Intellectual Property I, L.P. Mutable encrypted system
DE102021201236A1 (de) 2021-02-10 2022-08-11 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Authentifizieren einer Nachricht einer Recheneinheit, Recheneinheit, Computerprogramm und Fahrzeug
KR20220124584A (ko) * 2021-03-03 2022-09-14 에스케이하이닉스 주식회사 호스트, 이와 통신하는 메모리 시스템 및 이들을 포함하는 컴퓨팅 시스템
US20230063057A1 (en) * 2021-08-27 2023-03-02 Micron Technology, Inc. Memory access managment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826007A (en) 1996-01-22 1998-10-20 Kabushiki Kaisha Toshiba Memory data protection circuit
WO2000075759A1 (en) * 1999-06-08 2000-12-14 General Instrument Corporation Reprogrammable secure software in an embedded processor

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5081675A (en) * 1989-11-13 1992-01-14 Kitti Kittirutsunetorn System for protection of software in memory against unauthorized use
US5537544A (en) * 1992-09-17 1996-07-16 Kabushiki Kaisha Toshiba Portable computer system having password control means for holding one or more passwords such that the passwords are unreadable by direct access from a main processor
US5442704A (en) 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
JPH0816529A (ja) 1994-06-27 1996-01-19 Matsushita Electric Works Ltd 共有メモリのアクセス方法
US6052780A (en) * 1996-09-12 2000-04-18 Open Security Solutions, Llc Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information
US5890199A (en) * 1996-10-21 1999-03-30 Ramtron International Corporation Data processor incorporating a ferroelectric memory array selectably configurable as read/write and read only memory
US6272637B1 (en) * 1997-04-14 2001-08-07 Dallas Semiconductor Corporation Systems and methods for protecting access to encrypted information
US6112304A (en) * 1997-08-27 2000-08-29 Zipsoft, Inc. Distributed computing architecture
US6708273B1 (en) * 1997-09-16 2004-03-16 Safenet, Inc. Apparatus and method for implementing IPSEC transforms within an integrated circuit
JPH11272560A (ja) 1998-03-19 1999-10-08 Sony Corp 集積回路
US6223284B1 (en) * 1998-04-30 2001-04-24 Compaq Computer Corporation Method and apparatus for remote ROM flashing and security management for a computer system
JP2000076135A (ja) 1998-08-27 2000-03-14 Nippon Telegr & Teleph Corp <Ntt> プロセッサのメモリ保護方法及びプロセッサのメモリを保護されたicカード
JP2000172810A (ja) 1998-12-10 2000-06-23 Dainippon Printing Co Ltd 携帯型情報処理媒体
US7814337B2 (en) * 2000-01-06 2010-10-12 Super Talent Electronics, Inc. Secure flash-memory card reader with host-encrypted data on a flash-controller-mastered bus parallel to a local CPU bus carrying encrypted hashed password and user ID
US6308256B1 (en) * 1999-08-18 2001-10-23 Sun Microsystems, Inc. Secure execution of program instructions provided by network interactions with processor
FR2797966B1 (fr) * 1999-08-24 2003-12-05 Sagem Procede de personnalisation electronique d'un dispositif electronique et dispositif personnalise selon ce procede
US6181605B1 (en) * 1999-10-06 2001-01-30 Advanced Micro Devices, Inc. Global erase/program verification apparatus and method
US6754784B1 (en) * 2000-02-01 2004-06-22 Cirrus Logic, Inc. Methods and circuits for securing encached information
US6874139B2 (en) * 2000-05-15 2005-03-29 Interfuse Technology Corporation Method and system for seamless integration of preprocessing and postprocessing functions with an existing application program
US20020029358A1 (en) * 2000-05-31 2002-03-07 Pawlowski Chester W. Method and apparatus for delivering error interrupts to a processor of a modular, multiprocessor system
US6507247B2 (en) * 2001-02-27 2003-01-14 Corrent Corporation Circuit and method for generating a variable frequency clock signal
US7073059B2 (en) * 2001-06-08 2006-07-04 Hewlett-Packard Development Company, L.P. Secure machine platform that interfaces to operating systems and customized control programs
US7237121B2 (en) * 2001-09-17 2007-06-26 Texas Instruments Incorporated Secure bootloader for securing digital devices
US7085385B2 (en) * 2002-01-04 2006-08-01 Hewlett-Packard Development Company, L.P. Method and apparatus for initiating strong encryption using existing SSL connection for secure key exchange
US7762470B2 (en) * 2003-11-17 2010-07-27 Dpd Patent Trust Ltd. RFID token with multiple interface controller
US20050114687A1 (en) * 2003-11-21 2005-05-26 Zimmer Vincent J. Methods and apparatus to provide protection for firmware resources
US7774619B2 (en) * 2004-11-17 2010-08-10 Broadcom Corporation Secure code execution using external memory
US7961885B2 (en) * 2005-04-20 2011-06-14 Honeywell International Inc. Encrypted JTAG interface
US7613891B2 (en) * 2006-05-04 2009-11-03 Intel Corporation Methods and apparatus for providing a read access control system associated with a flash device
US7877563B2 (en) * 2006-12-07 2011-01-25 International Business Machines Corporation Programmable memory device security
US8117445B2 (en) * 2006-12-20 2012-02-14 Spansion Llc Near field communication, security and non-volatile memory integrated sub-system for embedded portable applications
EP2122900A4 (en) * 2007-01-22 2014-07-23 Spyrus Inc PORTABLE DATA ENCRYPTION DEVICE WITH CONFIGURABLE SAFETY FUNCTIONS AND METHOD FOR FILING ENCRYPTION
US20090125997A1 (en) * 2007-04-03 2009-05-14 Debra L Cook Network node with one-time-password generator functionality

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826007A (en) 1996-01-22 1998-10-20 Kabushiki Kaisha Toshiba Memory data protection circuit
WO2000075759A1 (en) * 1999-06-08 2000-12-14 General Instrument Corporation Reprogrammable secure software in an embedded processor

Also Published As

Publication number Publication date
JP2003044363A (ja) 2003-02-14
CN1465002A (zh) 2003-12-31
EP1276033A1 (de) 2003-01-15
US7761717B2 (en) 2010-07-20
EP1276033B1 (de) 2012-03-14
CN1215390C (zh) 2005-08-17
KR20030029970A (ko) 2003-04-16
WO2003007132A1 (de) 2003-01-23
US20030014653A1 (en) 2003-01-16

Similar Documents

Publication Publication Date Title
KR100906175B1 (ko) 프로세서에서 데이터 보안성을 갖는 메모리 장치
US7043615B1 (en) Nonvolatile semiconductor memory and method of managing information in information distribution system
KR100397316B1 (ko) 기억 장치, 암호화ㆍ복호화 장치 및 불휘발성 메모리의액세스 방법
US7461268B2 (en) E-fuses for storing security version data
US9141804B2 (en) Processor boot security device and methods thereof
US7389536B2 (en) System and apparatus for limiting access to secure data through a portable computer to a time set with the portable computer connected to a base computer
US7089419B2 (en) Control function with multiple security states for facilitating secure operation of an integrated system
US6182217B1 (en) Electronic data-processing device and system
WO1996034334A1 (fr) Dispositif pour l&#39;execution d&#39;un programme chiffre
JP2007501477A (ja) アクセス許可を決定するための方法および装置
US20040088554A1 (en) Semiconductor integrated circuit device,program delivery method, and program delivery system
JP3602984B2 (ja) メモリ装置
KR100830910B1 (ko) 반도체 기억장치
WO2019211385A1 (en) Cryptographic key distribution
JP4686193B2 (ja) チップが集積されている保護手段
US7542567B2 (en) Method and apparatus for providing security in a data processing system
US20020166034A1 (en) Protection circuit for preventing unauthorized access to the memory device of a processor
US8924672B2 (en) Device with processing unit and information storage
KR20040097435A (ko) Usb 휴대용 저장장치를 이용한 소프트웨어 불법복제방지장치 및 방지방법
CN112703703B (zh) 用于存储敏感信息和其它数据的闪存设备
JP2002251595A (ja) メモリカード
KR20090094876A (ko) 선택적 활성영역을 포함하는 외장형 데이타저장장치 및 그제어방법
JP2001166995A (ja) マイクロコンピュータにおけるデータ機密保持回路
RO116510B1 (ro) Cartela de extensie isa si metoda pentru protectia calculatoarelor ibm-pc si compatibile impotriva folosirii de catre persoane neautorizate
WO2007000726A2 (en) Electronic device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130612

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140612

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee