KR20010014684A - 메모리 장치 - Google Patents

메모리 장치 Download PDF

Info

Publication number
KR20010014684A
KR20010014684A KR1020000017514A KR20000017514A KR20010014684A KR 20010014684 A KR20010014684 A KR 20010014684A KR 1020000017514 A KR1020000017514 A KR 1020000017514A KR 20000017514 A KR20000017514 A KR 20000017514A KR 20010014684 A KR20010014684 A KR 20010014684A
Authority
KR
South Korea
Prior art keywords
data
memory
test
memory device
confidential data
Prior art date
Application number
KR1020000017514A
Other languages
English (en)
Other versions
KR100607016B1 (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 KR20010014684A publication Critical patent/KR20010014684A/ko
Application granted granted Critical
Publication of KR100607016B1 publication Critical patent/KR100607016B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/46Test trigger logic
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31719Security aspects, e.g. preventing unauthorised access during test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS

Landscapes

  • Storage Device Security (AREA)

Abstract

본 발명은 전원 차단 시에도 데이터를 보유하는 메모리 장치에 관한 것으로,높은 보안성을 실현하면서 테스트 단자로부터 입력되는 테스트 신호에 따라서 테스트 처리를 실행할 수 있도록 하는 것을 목적으로 한다.
기밀 데이터를 저장하는 메모리(10)에 대하여 데이터의 판독 지시를 발행하는 발행 수단(14)과, 발행 수단(14)의 발행 처리에 응답하여 판독되는 데이터로부터, 기밀 데이터를 저장하는 메모리(10)에 기밀 데이터가 저장되어 있는지의 여부를 해독하는 해독 수단(15)과, 해독 수단(15)의 해독 결과를 휘발성의 형태로 보유하는 보유 수단(16)과, 보유 수단(16)이 기밀 데이터의 저장을 나타내는 정보를 보유할 때, 테스트 단자로부터 입력되는 테스트 신호를 차단하는 차단 수단(13)을 구비하도록 구성한다.

Description

메모리 장치{MEMORY DEVICE}
본 발명은 전원 차단 시에도 데이터를 보유하는 메모리 장치에 관한 것으로,특히 높은 보안성을 실현하면서 테스트 단자로부터 입력되는 테스트 신호에 따라서 테스트 처리를 실행할 수 있도록 하는 메모리 장치에 관한 것이다.
메모리 장치에 저장되는 데이터의 보안성을 확보하는 것은 매우 중요한 것이다. 한편, 메모리 장치의 품질을 향상시키는 것도 매우 중요한 것이다.
메모리 장치의 품질을 향상시키기 위해서는 제조된 메모리 장치를 테스트하여 고장이 있는 것을 검출할 필요가 있다. 그런데, 이러한 테스트를 가능하게 하도록 테스트용 단자를 설치하면 부정 사용자가 이 테스트 기능을 이용함으로써, 메모리 장치에 저장되는 암호키 등의 기밀 데이터를 취득할 수 있을 가능성이 생기게 된다.
이제부터 높은 보안성을 실현하면서 제조된 메모리 장치를 테스트할 수 있도록 하는 기술을 구축해 갈 필요가 있다.
예를 들면, 메모리 스틱 등과 같은 불휘발성 메모리에 암호화된 음악 등의 저작물을 기록하는 것이 행해지고 있다.
이러한 경우에 암호키가 해크(hack)되면, 그 저작물이 무단으로 복사되도록 하는 문제점이 발생한다.
또한, 불휘발성 메모리와 그 불휘발성 메모리를 이용하는 호스트 장치 간에서 공통 열쇠의 암호키를 사용하여 암호문을 교환함으로써, 인증 처리를 실행하는 것이 행해지고 있다.
이와 같은 경우에도, 암호키가 해크되면 부정 사용자가 조작하는 호스트 장치가 불휘발성 메모리의 데이터를 참조할 수 있게 된다는 문제점이 발생한다.
그래서, 종래에서는 부정 사용자가 테스트 기능을 사용하여 암호키 등의 기밀 데이터를 훔치지 않도록 하기 위해서 메모리 스틱 등과 같은 불휘발성 메모리에는 테스트용 단자를 설치하지 않도록 하는 구성을 채용하고 있다.
확실하게는, 종래 기술과 같이 불휘발성 메모리에 테스트용 단자를 설치하지 않도록 하면 높은 보안성을 확보할 수 있게 된다.
그러나, 불휘발성 메모리의 제조 메이커는 제조된 불휘발성 메모리를 충분히 테스트할 수 없고 그 품질을 보증할 수 없다.
이제부터, 종래 기술에 따르면 메모리 스틱 등과 같은 불휘발성 메모리의 품질을 향상시킬 수 없다는 문제점이 있었다.
본 발명은 이러한 사정에 감안하여 이루어진 것으로서, 전원 차단 시에도 데이터를 보유하는 구성을 채용할 때에 있어서, 높은 보안성을 실현하면서 테스트 단자로부터 입력되는 테스트 신호에 따라서 테스트 처리를 실행할 수 있도록 하는 새로운 메모리 장치의 제공을 목적으로 한다.
도 1에 본 발명의 원리 구성을 나타낸다.
도면 중, 참조 번호 1은 본 발명을 구비하는 메모리 장치에 있어서, 전원 차단 시에도 데이터를 보유하는 동시에, 테스트 단자로부터 입력되는 테스트 신호에 따라서 테스트 처리를 실행하는 것이다.
본 발명의 메모리 장치(1)는 기밀 데이터 메모리 수단(10)과, 회로 수단(11-i ; i=1 ∼ n)과, 테스트 입력용 인터페이스 수단(12)과, 차단 수단(13)과, 발행 수단(14)과, 해독 수단(15)과, 보유 수단(16)을 구비한다.
이 기밀 데이터 메모리 수단(10)은 암호키 등의 기밀 데이터를 저장하고, 기밀 데이터를 저장하지 않을 때에는, 기밀 데이터는 다른 초기 데이터를 저장하고, 기밀 데이터를 저장할 때에 있어서 기밀 데이터를 저장하는 영역 이외의 영역이 있을 때에는 그 영역에 기밀 데이터의 저장의 유무를 나타내는 데이터를 저장하는 것이 있다.
회로 수단(11-i : i=1 ∼ n)은 기밀 데이터 메모리 수단(10)으로부터 기밀 데이터를 판독하고 그것을 사용하여 규정한 처리를 실행한다. 테스트 입력용 인터페이스 수단(12)은 테스트 단자로부터, 회로 수단(11-i ; i= 1∼n)의 테스트에 이용하는 테스트용 신호를 입력한다. 차단 수단(13)은 테스트 입력 인터페이스 수단(12)을 입력하는 테스트 신호를 차단한다.
발행 수단(14)은 기밀 데이터 메모리 수단(10)에 대하여 데이터의 판독 지시를 발행한다. 해독 수단(15)은 기밀 데이터 메모리 수단(10)으로부터 판독되는 데이터를 해독함으로써, 기밀 데이터 메모리 수단(10)에 기밀 데이터가 저장되어 있는지의 여부를 해독한다. 보유 수단(16)은 해독 수단(15)의 해독 결과를 휘발성의 형태로 보유한다.
이와 같이 구성되는 본 발명의 메모리 장치(1)에서는 발행 수단(14)은 전원 투입 시에 기밀 데이터 메모리 수단(10)에 대하여 데이터의 판독 지시를 발행하거나, 리세트 시에 기밀 데이터 메모리 수단(10)에 대하여 데이터의 판독 지시를 발행하거나 기밀 데이터를 조작하는 커맨드의 발행 시에 기밀 데이터 메모리 수단(10)에 대하여 데이터의 판독 지시를 발행한다.
이 때, 발행 수단(14)는 기밀 데이터 메모리 수단(10)에 대하여 기밀 데이터의 판독 지시를 발행하거나 작업용 데이터를 제외하는 모든 데이터의 판독 지시를 발행하거나 기밀 데이터의 저장에 이용되지 않은 영역에 저장되는 기밀 데이터의 저장의 유무를 나타내는 데이터의 판독 지시를 발행한다.
이 발행 수단(14)의 발행 처리를 받아서 기밀 데이터 메모리 수단(10)은 기밀 데이터를 저장할 때에는 기밀 데이터나 기밀 데이터의 저장을 나타내는 데이터를 출력하고, 기밀 데이터를 저장하지 않을 때에는 기밀 데이터는 다른 초기 데이터나 기밀 데이터의 미저장을 나타내는 데이터를 출력하고, 이것을 받아서, 해독 수단(15)은 기밀 데이터 메모리 수단(10)에 기밀 데이터가 저장되어 있는지의 여부를 해독한다.
이 해독 수단(15)의 해독 결과를 받아서, 보유 수단(16)은 기밀 데이터 메모리 수단(10)에 기밀 데이터가 저장되어 있는지의 여부를 나타내는 정보를 보유하고, 이것을 받아서, 차단 수단(13)은 보유 수단(16)이 기밀 데이터의 저장을 나타내는 정보를 보유할 때에는 테스트 입력용 인터페이스 수단(12)으로부터 입력되는 테스트 신호를 차단한다.
이와 같이 하여, 본 발명의 메모리 장치(1)에서는 기밀 데이터 메모리 수단(10)에 기밀 데이터가 저장되고 있을 때에는 테스트 신호의 입력을 접수하지 않음으로써 테스트할 수 없도록 하는 구성을 채용하기 때문에 실질적으로 테스트 단자를 갖지 않은 메모리 장치와 동등한 보안성을 실현하면서, 품질 향상을 위한 테스트를 실행할 수 있다.
한편, 이와 같이 구성되는 본 발명의 메모리 장치(1)에서는 기밀 데이터 메모리 수단(10)에 대하여 액세스 요구가 발행되면, 해독 수단(15)은 그 액세스 요구에 응답하여 기밀 데이터 메모리 수단(10)으로부터 판독되는 데이터를 수집하여, 그 수집 데이터로부터 기밀 데이터 메모리 수단(10)에 기밀 데이터가 저장되어 있는지의 여부를 해독한다.
이 해독 수단(15)의 해독 결과를 받아서, 보유 수단(16)은 기밀 데이터 메모리 수단(10)에 기밀 데이터가 저장되어 있는지의 여부를 나타내는 정보를 보유하고, 이것을 받아서 차단 수단(13)은 보유 수단(16)이 기밀 데이터의 저장을 나타내는 정보를 보유할 때에는 테스트 입력용 인터페이스 수단(12)으로부터 입력되는 테스트 신호를 차단한다.
여기서, 보유 수단(16)은 기밀 데이터 메모리 수단(10)에 대하여 액세스 요구가 발행될 때 그 취지를 나타내는 정보를 보유하고, 이것을 받아서 차단 수단(13)은 즉시 테스트 단자로부터 입력되는 테스트 신호를 차단하는 구성을 채용하는 것도 가능하다.
이와 같이 하여, 본 발명의 메모리 장치(1)에서는 기밀 데이터 메모리 수단(10)에 대한 액세스 요구의 발행을 검출하면, 그 이후 테스트 신호의 입력을 접수하지 않도록 하는 구성을 채용하기 때문에 실질적으로 테스트 단자를 갖지 않은 메모리 장치와 동등한 보안성을 실현하면서 품질 향상을 위한 테스트를 실행할 수 있게 된다.
도 1은 본 발명의 원리 구성도.
도 2는 본 발명의 한 실시예.
도 3은 호스트 장치와의 교환을 설명하는 도면.
도 4는 본 발명의 한 실시예.
도 5는 시퀀서의 한 실시예.
도 6은 본 발명의 다른 실시예.
도 7은 본 발명의 다른 실시예.
도 8은 시퀀서의 한 실시예.
도 9는 본 발명의 다른 실시예.
도 10a 및 10b은 본 발명의 설명도.
<도면의 주요 부분에 대한 부호의 설명>
1 : 메모리 장치
10 : 기밀 데이터 메모리 수단
11 : 회로 수단
12 : 테스트 입력용 인터페이스 수단
13 : 차단 수단
14 : 발행 수단
15 : 해독 수단
16 : 보유 수단
이하, 실시 형태에 따라서 본 발명을 상세하게 설명한다.
도 2에, 본 발명의 한 실시예를 나타낸다.
도면 중, 참조 번호 20은 본 발명을 구비하는 메모리 스틱, 참조 번호 30은 메모리 스틱(20)을 이용하는 호스트 장치이다.
본 발명의 메모리 스틱(20)은 플래시 메모리(40)와, 플래시 메모리(40)를 컨트롤하는 MS 컨트롤러(50)로 구성되고 있으며, 호스트 장치(30)로부터 직렬 프로토콜 버스 스테이트 신호(BS)와 직렬 프로토콜 클럭 신호(SCLK)를 입력하고, 호스트 장치(30) 간에서 직렬 프로토콜 데이터 신호(DIO)를 교환한다.
이 MS 컨트롤러(50)는 호스트 장치(30) 간의 인터페이스 처리를 담당하는 호스트 인터페이스(51)와, 플래시 메모리(40) 간의 인터페이스 처리를 담당하는 플래시 인터페이스(52)와, 레지스터(53)와, 페이지 버퍼(54)와, ROM(55)과, 컨트롤러용 메모리(56)와, 암호 복호 기구(57)와, 보안 기구(58)를 구비한다.
도 3에 도시한 바와 같이, 암호 복호 기구(57)는 암호 복호 회로(570)와 난수 발생 회로(571)를 구비하고, 컨트롤러용 메모리(56)는 예를 들면 512 바이트로 구성되며, 예를 들면 16 바이트로 구성되는 복수의 암호키를 저장하는 암호키 메모리 영역과, 난수 발생 회로(571)가 발생하는 난수 등을 저장하기 위하여 준비되는 작업용 메모리 영역을 구비한다.
여기서, 암호키가 저장되어 있지 않은 경우에는 이 컨트롤러용 메모리(56)의 암호키 메모리 영역에는 암호키로서 이용되지 않는 올 0 등과 같은 규정의 초기 데이터가 저장된다.
이와 같이 구성되는 암호 복호 기구(57)에서는 호스트 장치(30) 간에서 데이터를 교환할 필요가 생기면 난수 발생 회로(571)가 난수를 발생하여, 이것을 암호 복호 회로(570)에 통지하는 동시에 컨트롤러용 메모리(56)의 작업용 메모리 영역에 저장한다.
이 난수 발생 회로(571)로부터 통지되는 난수를 받아서, 암호 복호 회로(570)는 컨트롤러용 메모리(56)의 암호키 메모리 영역으로부터, 그 난수가 지정하는 암호키를 판독하고, 통지된 난수를 키로 하여 그 판독한 암호키를 암호화하여 호스트 장치(30)에 송신한다.
이 MS 컨트롤러(50)로부터의 암호문을 수취하면 호스트 장치(30)는 암호문을 해독함으로써, 암호 복호 회로(570)가 판독한 암호키를 알 수 있으므로 그 암호키를 사용하여 필요한 데이터를 암호화하여 MS 컨트롤러(50)에 회신한다.
그리고, 이 호스트 장치(30)로부터의 암호문을 수취하면, 암호 복호 회로(570)는 자기가 이용한 암호키를 사용하여 이 암호문을 복호함으로써, 호스트 장치(30)가 회신된 데이터를 해독한다.
이와 같이 하여, MS 컨트롤러(50)는 공통 열쇠가 되는 암호키를 이용하여 호스트 장치(30) 간에서 암호문의 교환을 행하지만 인증 처리 등과 같은 경우에는 안전성을 높이기 위하여, 복수의 암호키를 사용하여 암호문을 교환할 필요가 생긴다. 이러한 경우에는 난수 발생 회로(571)는 컨트롤러용 메모리(56)의 작업용 메모리 영역에 저장한 전회의 발생 난수를 판독하여, 그것을 기초하여 다음 난수를 발생해감으로써 발생하는 난수의 랜덤성을 확보하도록 처리하고 있다.
이러한 처리를 행하는 MS 컨트롤러(50)를 가지는 메모리 스틱(20)의 품질을 보증하기 위해서는 MS 컨트롤러(50)가 설계대로 제조되고 있는지의 여부를 테스트해갈 필요가 있다. 그런데, 이러한 테스트 기능을 가지면, 그것을 이용하여 부정 사용자가 암호키를 훔칠 가능성이 생긴다.
그래서, MS 컨트롤러(50)는 이러한 가능성을 배제하기 위하여 도 2에 도시한 바와 같이 보안 기구(58)를 구비하는 구성을 채용하고 있다.
도 4에 이 보안 기구(58)의 한 실시예를 나타낸다. 여기서, 도면 중의 참조 번호 56은 도 2에 도시한 컨트롤러용 메모리, 참조 번호 570은 도 3에 도시한 암호 복호 회로, 참조 번호 571은 도 3에 도시한 난수 발생 회로(571)이다.
이 도면에 도시한 바와 같이, 보안 기구(58)는 시퀀서(580)와, 테스트 입력 인터페이스(581)와, 테스트 셀렉트부(582)와, 내부 신호 셀렉트 출력부(583)와, 레지스터(584)와, 디코더(585)와, 제어 플래그 래치 회로(586)를 구비한다.
이 시퀀서(580)는 전원 투입을 계기로 기동되어 전체의 제어 처리를 실행한다. 테스트 입력 인터페이스(581)는 테스트 단자로부터 입력된 테스트 신호를 입력하고, 그것을 디코드함으로써 대응하는 테스트 기능을 호출한다.
테스트 셀렉트부(582)는 제어 플래그 래치 회로(586)에 래치되는 제어 플래그에 따라서, 테스트 입력 인터페이스(581)가 출력하는 테스트 신호를 차단하는지의 여부를 제어한다. 내부 신호 셀렉트 출력부(583)는 테스트 출력을 테스트 단자에 출력한다.
레지스터(584)는 컨트롤러용 메모리(56)로부터 판독되는 데이터(암호키가 저장되어 있는 경우에는 암호키, 암호키가 저장되어 있지 않은 경우에는 초기 데이터)를 보유한다.
디코더(585)는 레지스터(584)가 보유하는 데이터를 디코드함으로써, 레지스터(584)가 보유하는 데이터가 암호키인지 그 이외의 초기 데이터인지를 디코드한다. 제어 플래그 래치 회로(586)는 디코더(585)의 디코드 결과를 래치하여 테스트 셀렉트부(582)를 제어한다.
도 5에, 보안 기구(58)가 구비하는 시퀀서(580)의 한 실시예를 나타낸다.
이 도면에 도시한 바와 같이, 시퀀서(580)는 시퀀서 동작 플래그 ON부(5800)와, 시퀀서· 카운터(5801)와, 시퀀서 동작 종료 신호 생성부(5802)와, 메모리 어드레스 생성부(5803)와, 판독 신호 생성부(5804)와, 레지스터 저장 신호 생성부(5805)를 구비한다.
이 시퀀서 동작 플래그 ON부(5800)는 전원이 투입될 때에 동작 플래그를 ON한다. 시퀀서·카운터(5801)는 동작 플래그가 ON하고 있는 동안 계수치를 카운트 업하여, 그 계수치가 규정치에 도달할 때에 메모리 어드레스 생성부(5803)/판독 신호 생성부(5804)/ 레지스터 저장 신호 생성부(5805)를 기동한다. 시퀀서 동작 종료 신호 생성부(5802)는 시퀀서· 카운터(5801)의 계수치가 최대치에 도달할 때에 동작 플래그를 OFF시키는 동작 종료 신호를 생성한다.
메모리 어드레스 생성부(5803)는 암호키의 저장처가 되고 있는 컨트롤러용 메모리(56)의 메모리 어드레스를 생성한다. 판독 신호 생성부(5804)는 컨트롤러용 메모리(56)로부터의 데이터의 판독을 지시하는 판독 신호를 생성한다. 레지스터 저장 신호 생성부(5805)는 레지스터(584)의 저장 타이밍 신호가 되는 레지스터 저장 신호를 생성한다.
이와 같이 구성되는 보안 기구(58)는 다음에 설명하는 동작을 실행함으로써 부정 사용자에 의한 암호키의 해크를 방지한다.
즉, 보안 기구(58)가 구비하는 시퀀서(580)는 전원이 투입되면 시퀀서· 카운터(5801)에 의한 시퀀스 동작에 들어와서, 우선 최초로 메모리 어드레스 생성부(5803)를 기동함으로써 암호키의 저장처가 되고 있는 컨트롤러용 메모리(56)의 메모리 어드레스를 생성하고, 계속하여 판독 신호 생성부(5804)를 기동함으로써 컨트롤러용 메모리(56)로부터의 데이터의 판독을 지시하는 판독 신호를 생성한다.
이 메모리 어드레스 및 판독 신호의 생성을 받아서, 컨트롤러용 메모리(56)는 그 메모리 어드레스가 지정하는 예를 들면 16 바이트의 데이터를 판독한다. 즉, 암호키가 저장되어 있을 때에는 암호키, 암호키가 저장되어 있지 않을 때에는 초기 데이터를 판독하는 것이다.
계속해서, 시퀀서(580)는 레지스터 저장 신호 생성부(5805)를 기동함으로써 레지스터(584)의 저장 타이밍 신호가 되는 레지스터 저장 신호를 생성한다.
이 레지스터 저장 신호를 받아서, 레지스터(584)는 컨트롤러용 메모리(56)로부터 판독된 데이터를 보유한다.
이와 같이 하여, 레지스터(584)에 컨트롤러용 메모리(56)로부터 판독된 데이터가 보유되면 디코더(585)는 그 데이터를 디코드함으로써, 그 데이터가 암호키인지 그 이외의 초기 데이터인지를 디코드하고, 이것을 받아서 제어 플래그 래치 회로(586)는 레지스터(584)에 보유되는 데이터가 암호키일 때는 예를 들면 1을 래치하고 레지스터(584)에 보유되는 데이터가 초기 데이터일 때는 예를 들면 0을 래치한다.
이 제어 플래그 래치 회로(586)가 래치하는 제어 플래그를 받아서, 테스트 셀렉트부(582)는 레지스터(584)에 보유되는 데이터가 암호키일 때는 테스트 입력 인터페이스(581)가 출력하는 테스트 신호를 차단함으로써 테스트 기능의 실행을 저지하고 레지스터(584)에 보유되는 데이터가 초기 데이터일 때는 테스트 입력 인터페이스(581)가 출력하는 테스트 신호를 차단하지 않음으로써 테스트 기능의 실행을 저지하지 않도록 처리한다.
이와 같이 하여, 보안 기구(58)는 전원 투입 시에 컨트롤러용 메모리(56)에 암호키가 저장되어 있을 때에는 그 이후, 테스트 모드로 들어갈 수 없도록 함으로써, 테스트 기능을 이용하는 암호키의 해크를 확실하게 방지하도록 처리하는 것이다.
그리고, 보안 기구(58)는 전원 투입 시에 컨트롤러용 메모리(56)에 암호키가 저장되어 있을 때에는 그 이후, 테스트 모드에 넣도록 함으로써, MS 컨트롤러(50)가 설계대로 제조되고 있는지의 여부를 테스트할 수 있도록 하고 있다.
즉, 메모리 스틱(20)의 제조 메이커는 MS 컨트롤러(50)를 테스트하는 경우에는 호스트 장치(30)를 사용하여, 컨트롤러용 메모리(56)에 저장되는 암호키를 소거한 후, 전원을 한번 차단한 후 재투입하면 테스트 모드에 들어가게 된다.
이 구성을 채용할 때에 보안 기구(58)는 전원 투입 후에 암호키가 소거되는 경우가 있는 것을 고려하여, 리세트가 발행될 때 상술한 처리를 실행함으로써 리세트 발행 시에 암호키가 소거되어 있을 때에는 테스트 입력 인터페이스(581)의 출력하는 테스트 신호를 차단하지 않음으로써 테스트 기능의 실행을 저지하지 않도록 처리한다.
메모리 스틱(20)의 사용자가 되는 메이커(사용자 메이커)로부터 컨트롤러용 메모리(56)의 어느 메모리 어드레스 위치에 암호키를 저장하는 것인지를 알 수 있는 경우에 메모리 스틱(20)의 제조 메이커는 메모리 어드레스 생성부(5803)가 그 메모리 어드레스를 생성하도록 설계한다.
그러나, 사용자 메이커로부터 그와 같은 메모리 어드레스를 알 수 없는 경우에는 제조 메이커는 메모리 어드레스 생성부(5803)가 컨트롤러용 메모리(56)로부터 작업용 데이터를 제외하는 모든 데이터를 판독하게 되는 메모리 어드레스를 생성하도록 설계한다.
이 때에는 레지스터(584)에 컨트롤러용 메모리(56)로부터 판독되는 데이터가 순서대로 보유되게 되므로, 제어 플래그 래치 회로(586)가 암호키가 판독된 것을 나타내는 제어 플래그를 래치할 때, 레지스터(584)에 대하여 그리고 이후의 데이터의 보유를 금지시키는 처리를 행하는 회로 기구를 준비하게 된다.
상술한 바와 같이, 컨트롤러용 메모리(56)의 암호키 메모리 영역에는 암호키가 저장되어 있지 않은 경우에는 암호키로서 이용되는 것이 없는 올 0 등과 같은 규정의 초기 데이터가 저장되게 된다.
이에 따라, 암호키가 저장되어 있는지 저장되어 있지 않은지를 판별할 수 있게 되지만, 메모리 스틱(20)의 사용자 메이커에 의해서는 메모리 스틱(20)의 제조 메이커가 상정한 초기 데이터를 암호키로서 사용할 가능성도 있다.
이제부터, 사용자 메이커로부터 암호키로서 사용하는 것이 없는 데이터가 알려진 경우에는 제조 메이커는 그 데이터를 초기 데이터로서 이용하도록 설계하게 된다.
한쪽, 사용자 메이커로부터 그와 같은 초기 데이터가 알려지지 않은 경우에는 제조 메이커는 사용자 메이커에 대하여 컨트롤러용 메모리(56)의 작업용 메모리 영역의 특정 영역에 암호키의 기록과 동기시켜서, 암호키의 저장을 나타내는 특정한 데이터를 기록하도록 요구한다. 그리고, 그 특정한 데이터를 판독하여 디코더(585)에 의해 디코드함으로써 암호키가 저장되어 있는지의 여부를 판별하도록 설계된다.
도 4의 실시예에서는 전원이 투입될 때 컨트롤러용 메모리(56)에 암호키가 저장되어 있는지의 여부를 판단하여, 그 판단 결과를 제어 플래그 래치 회로(586)에 래치시키는 구성을 채용하였다. 그리고, 이 외에 리세트가 발행될 때 컨트롤러용 메모리(56)에 암호키가 저장되어 있는지의 여부를 판단하여, 그 판단 결과를 제어 플래그 래치 회로(586)에 래치시키는 구성을 채용하였지만, 그 외의 타이밍 시에 이 처리를 행하는 구성을 부가하는 것도 가능하다.
예를 들면, 도 6에 도시한 바와 같이 보안 기구(58)에 발행 커맨드를 해석하는 커맨드 해석부(587)를 구비하는 구성을 채용하여, 이 커맨드 해석부(587)가 암호키를 조작하는 커맨드의 발행을 검출할 때, 컨트롤러용 메모리(56)에 암호키가 저장되어 있는지의 여부를 판단하여, 그 판단 결과를 제어 플래그 래치 회로(586)로 래치시키는 구성을 부가하는 것도 가능하다.
도 7에 본 발명을 실현하기 위한 보안 기구(58)의 다른 실시예를 도시한다.
도 4의 실시예에서는 전원 투입 시에 컨트롤러용 메모리(56)에 암호키가 저장되어 있을 때에는 테스트 모드에 들어갈 수 없도록 함으로써 암호키의 해크를 방지하는 구성을 채용하였지만, 이 실시예에서는 암호 복호 회로(570)가 암호키를 판독할 때에 테스트 셀렉트부(582)가 테스트 입력 인터페이스(581)가 출력하는 테스트 신호를 차단하도록 동작시킴으로써 테스트 모드로 들어가 있을 때에는 테스트 모드를 계속하는 것을 금지시키고, 통상 모드에 있을 때에는 테스트 모드로의 이행을 금지시키는 구성을 채용하고 있다.
암호 복호 회로(570)가 암호키를 판독하면, 테스트 기능을 사용하여, 그 암호키를 해크할 수 있을 가능성이 생기므로, 이 구성에 따라서 그와 같은 가능성을 배제하는 것이다.
이 실시예에 따르는 경우, 시퀀서(580)는 도 8에 도시한 바와 같이 레지스터 저장 신호 생성부(5805)만을 구비하는 구성을 채용하여, 이 레지스터 저장 신호 생성부(5805)를 사용하여, 암호 복호 회로(570)가 컨트롤러용 메모리(56)에 저장되는 암호키의 메모리 액세스 신호를 발행할 때, 레지스터(584)의 저장 타이밍 신호가 되는 레지스터 저장 신호를 생성하도록 처리한다.
이와 같이 구성되는 도 7의 실시예에서는 암호 복호 회로(570)가 컨트롤러용 메모리(56)에 대하여 암호키의 액세스 신호를 발행하면, 시퀀서(580)는 레지스터 저장 신호 생성부(5805)를 기동함으로써, 레지스터(584)의 저장 타이밍 신호가 되는 레지스터 저장 신호를 생성한다.
이 레지스터 저장 신호를 받아서 레지스터(584)는 암호 복호 회로(570)가 판독하는 암호키를 샘플링하여 보유한다.
이와 같이 하여, 레지스터(584)에 암호키가 보유되면 디코더(585)는 레지스터(584)가 보유하는 데이터가 암호키인 것을 디코드하고, 이것을 받아 제어 플래그 래치 회로(586)는 레지스터(584)에 보유되는 데이터가 암호키인 것을 나타내는 예를 들면 1을 래치한다.
이 제어 플래그 래치 회로(586)가 래치하는 제어 플래그를 받아서, 테스트 셀렉트부(582)는 테스트 입력 인터페이스(581)가 출력하는 테스트 신호를 차단함으로써 테스트 기능의 실행을 저지하도록 처리한다.
이와 같이 하여, 이 실시예에 따르는 경우 보안 기구(58)는 암호 복호 회로(570)가 암호키를 판독하면, 그것까지 테스트 모드에 있을 때에는 그 이후 테스트 모드를 계속하지 않도록 처리하는 동시에, 그것까지 통상 모드에 있을 때에는 그 이후 테스트 모드로 들어갈 수 없도록 처리함으로써, 테스트 기능을 이용하는 암호키의 해크를 확실하게 방지하도록 처리하는 것이다.
도 7의 실시예에서는 암호 복호 회로(570)가 판독하는 암호키를 레지스터(584)에 보유함으로써, 제어 플래그 래치 회로(586)에 대하여 테스트 신호를 차단 시키기 위한 제어 플래그를 래치시키는 구성을 채용하였지만, 도 9에 도시한 바와 같이 암호 복호 회로(570)가 발행하는 암호키의 액세스 신호를 받아서, 시퀀서(580)가 직접 제어 플래그 래치 회로(586)에 대하여 테스트 신호를 차단시키기 위한 제어 플래그를 래치시키는 구성을 채용하는 것도 가능하다.
이와 같이 하여, 도 4의 실시예에 따르는 경우에는 MS 컨트롤러(50)는 전원 투입 시에, 도 10a의 처리 플로우에 도시한 바와 같이, 컨트롤러용 메모리(56)의 암호키 메모리 영역으로부터 데이터를 판독하고, 그 판독한 데이터가 소거 형태가 아닌 경우, 즉 그 판독한 데이터가 암호키인 경우에는 테스트 신호의 입력을 차단함으로써, 테스트 처리로 들어가는 것을 금지하고, 그 판독한 데이터가 소거 상태인 경우에는 테스트 신호의 입력을 허가함으로써, 테스트 처리로 들어가는 것을 허가하는 구성을 채용하는 것이다.
이 구성에 따라서, 컨트롤러용 메모리(56)에 암호키가 저장되어 있는 경우에는 테스트 모드로 들어갈 수 없도록 함으로써 테스트 기능을 이용하는 암호키의 해크를 확실하게 방지할 수 있게 된다.
한편, 도 7의 실시예에 따르는 경우에는 MS 컨트롤러(50)는 암호 복호 회로(570)가 암호키의 액세스 요구를 발행할 때, 도 10b의 처리 플로우에 나타낸 바와 같이, 테스트 신호의 입력을 차단함으로써, 테스트 처리로 들어가는 것을 금지하거나 테스트 처리로 들어가 있을 때는 그 계속을 금지하는 구성을 채용하는 것이다.
이 구성에 따라서, 컨트롤러용 메모리(56)로부터 암호키가 판독된 경우에는 테스트 모드로 들어갈 수 없도록 하거나 테스트 모드로부터 강제적으로 빠져나가게 하도록 함으로써 테스트 기능을 이용하는 암호키의 해크를 확실하게 방지할 수 있게 된다.
도시 실시예에 따라서 본 발명을 설명하였지만, 본 발명은 이것에 한정되는 것은 아니다. 예를 들면, 암호키를 구체예로 하여 본 발명을 설명하였지만 본 발명은 그 적용이 암호키에 한정되지는 않는다.
이상 설명한 바와 같이, 본 발명의 메모리 장치에서는 기밀 데이터가 저장되어 있을 때는 테스트 신호의 입력을 접수하지 않음으로써 테스트할 수 없도록 하는 구성을 채용하기 때문에, 실질적으로 테스트 단자를 갖지 않은 메모리 장치와 동등한 보안성을 실현하면서 품질 향상을 위한 테스트를 실행할 수 있다.
그리고, 본 발명의 메모리 장치에서는 기밀 데이터에 대한 액세스 요구의 발행을 검출하면, 그 이후 테스트 신호의 입력을 접수하지 않도록 하는 구성을 채용하기 때문에 실질적으로 테스트 단자를 갖지 않은 메모리 장치와 동등한 보안성을 실현하면서 품질 향상을 위한 테스트를 실행할 수 있다.

Claims (9)

  1. 전원 차단 시에도 데이터를 보유하는 동시에, 테스트 단자로부터 입력되는 테스트 신호에 따라서 테스트 처리를 실행하는 메모리 장치에 있어서,
    기밀 데이터를 저장하는 메모리에 대하여, 데이터의 판독 지시를 발행하는 발행 수단과,
    상기 발행 수단의 발행 처리에 응답하여 판독되는 데이터로부터, 상기 메모리에 기밀 데이터가 저장되어 있는지의 여부를 해독하는 해독 수단과,
    상기 해독 수단의 해독 결과를 휘발성의 형태로 보유하는 보유 수단과,
    상기 보유 수단이 기밀 데이터의 저장을 나타내는 정보를 보유할 때, 테스트 단자로부터 입력되는 테스트 신호를 차단하는 차단 수단
    을 구비하는 것을 특징으로 하는 메모리 장치.
  2. 제1항에 있어서, 상기 발행 수단은 기밀 데이터를 저장하는 상기 메모리에 대하여 기밀 데이터의 판독 지시를 발행하는 것을 특징으로 하는 메모리 장치.
  3. 제1항에 있어서, 상기 발행 수단은 기밀 데이터를 저장하는 상기 메모리에 대하여 그것이 저장하는 작업용 데이터를 제외하는 모든 데이터의 판독 지시를 발행하는 것을 특징으로 하는 메모리 장치.
  4. 제1항에 있어서, 상기 발행 수단은 기밀 데이터를 저장하는 상기 메모리에 대하여, 기밀 데이터의 저장에 이용되지 않은 영역에 저장되는 기밀 데이터의 저장 유무를 나타내는 데이터의 판독 지시를 발행하는 것을 특징으로 하는 메모리 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 발행 수단은 전원 투입 시에 데이터의 판독 지시를 발행하는 것을 특징으로 하는 메모리 장치.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 발행 수단은 리세트 시에 데이터의 판독 지시를 발행하는 것을 특징으로 하는 메모리 장치.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 발행 수단은 기밀 데이터를 조작하는 커맨드의 발행 시에 데이터의 판독 지시를 발행하는 것을 특징으로 하는 메모리 장치.
  8. 전원 차단 시에도 데이터를 보유하는 동시에 테스트 단자로부터 입력되는 테스트 신호에 따라서 테스트 처리를 실행하는 메모리 장치에 있어서,
    기밀 데이터를 저장하는 메모리에 대한 액세스 요구의 발행에 응답하여 판독되는 데이터를 수집하고, 그 수집 데이터로부터 상기 메모리에 기밀 데이터가 저장되어 있는지의 여부를 해독하는 해독 수단과,
    상기 해독 수단의 해독 결과를 휘발성의 형태로 보유하는 보유 수단과,
    상기 보유 수단이 기밀 데이터의 저장을 나타내는 정보를 보유할 때에, 테스트 단자로부터 입력되는 테스트 신호를 차단하는 차단 수단
    을 구비하는 것을 특징으로 하는 메모리 장치.
  9. 전원 차단 시에도 데이터를 보유하는 동시에, 테스트 단자로부터 입력되는 테스트 신호에 따라서 테스트 처리를 실행하는 메모리 장치에 있어서,
    기밀 데이터를 저장하는 메모리에 대한 액세스 요구가 발행될 때에, 그 취지를 나타내는 정보를 휘발성의 형태로 보유하는 보유 수단과,
    상기 보유 수단이 액세스 요구의 발행을 나타내는 정보를 보유할 때에, 테스트 단자로부터 입력되는 테스트 신호를 차단하는 차단 수단을 구비하는
    것을 특징으로 하는 메모리 장치.
KR1020000017514A 1999-07-09 2000-04-04 메모리 장치 KR100607016B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1999-195527 1999-07-09
JP19552799A JP3602984B2 (ja) 1999-07-09 1999-07-09 メモリ装置

Publications (2)

Publication Number Publication Date
KR20010014684A true KR20010014684A (ko) 2001-02-26
KR100607016B1 KR100607016B1 (ko) 2006-08-01

Family

ID=16342583

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000017514A KR100607016B1 (ko) 1999-07-09 2000-04-04 메모리 장치

Country Status (3)

Country Link
US (1) US7076667B1 (ko)
JP (1) JP3602984B2 (ko)
KR (1) KR100607016B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101540875B1 (ko) * 2011-06-03 2015-07-30 가부시끼가이샤 도시바 의사-난수 생성용 반도체 메모리 장치

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005004382A1 (ja) 2003-07-08 2005-01-13 Fujitsu Limited 暗号処理装置
US8156343B2 (en) * 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
FR2865827A1 (fr) * 2004-01-29 2005-08-05 St Microelectronics Sa Securisation du mode de test d'un circuit integre
EP1560033A1 (fr) * 2004-01-29 2005-08-03 STMicroelectronics S.A. Circuit intégré comportant un mode de test sécurisé par initialisation du dit mode de test
FR2865828A1 (fr) * 2004-01-29 2005-08-05 St Microelectronics Sa Procede de securisation du mode de test d'un circuit integre par detection d'intrusion
JP3938376B2 (ja) * 2004-03-29 2007-06-27 シャープ株式会社 テスト端子無効化回路
JP2005303676A (ja) * 2004-04-12 2005-10-27 Canon Inc 画像形成装置、鍵ペア生成方法及びコンピュータプログラム
US8015393B2 (en) 2004-04-12 2011-09-06 Canon Kabushiki Kaisha Data processing device, encryption communication method, key generation method, and computer program
KR100645043B1 (ko) * 2004-09-08 2006-11-10 삼성전자주식회사 테스트용 버퍼를 구비한 불휘발성 메모리 장치 및 그것의테스트 방법
FR2885417A1 (fr) * 2005-05-04 2006-11-10 St Microelectronics Sa Circuit integre comportant un mode de test securise par detection de l'etat chaine des cellules configurables du circuit integre
US7694197B2 (en) * 2005-07-08 2010-04-06 Stmicroelectronics, Sa Integrated circuit comprising a test mode secured by detection of the state of a control signal
US8291295B2 (en) * 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
JP5020040B2 (ja) * 2007-11-28 2012-09-05 株式会社ユーシン 生体認証装置及び生体認証システム
US8756391B2 (en) * 2009-05-22 2014-06-17 Raytheon Company Multi-level security computing system
TWI435328B (zh) * 2009-07-20 2014-04-21 Silicon Motion Inc 針對一快閃記憶體的控制器所存取之資料來進行資料型樣管理之方法以及相關之記憶裝置及其控制器
US20110041039A1 (en) * 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
US20110041005A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
US20110040924A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code
CN101873622B (zh) * 2010-06-29 2012-10-10 青岛海信移动通信技术股份有限公司 一种测试加密单元的方法及装置
US8549367B1 (en) * 2010-12-29 2013-10-01 Cadence Design Systems, Inc. Method and system for accelerating memory randomization
US9373377B2 (en) * 2011-11-15 2016-06-21 Micron Technology, Inc. Apparatuses, integrated circuits, and methods for testmode security systems

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4521852A (en) * 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
US5293610A (en) * 1989-08-04 1994-03-08 Motorola, Inc. Memory system having two-level security system for enhanced protection against unauthorized access
KR940005696B1 (ko) * 1991-11-25 1994-06-22 현대전자산업 주식회사 보안성 있는 롬(rom)소자
US5465341A (en) * 1992-10-23 1995-11-07 Vlsi Technology, Inc. Verifiable security circuitry for preventing unauthorized access to programmed read only memory
US5394367A (en) * 1994-03-18 1995-02-28 Ramtron International Corporation System and method for write-protecting predetermined portions of a memory array
WO1999038078A1 (en) * 1998-01-21 1999-07-29 Tokyo Electron Limited Storage device, encrypting/decrypting device, and method for accessing nonvolatile memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101540875B1 (ko) * 2011-06-03 2015-07-30 가부시끼가이샤 도시바 의사-난수 생성용 반도체 메모리 장치

Also Published As

Publication number Publication date
US7076667B1 (en) 2006-07-11
KR100607016B1 (ko) 2006-08-01
JP3602984B2 (ja) 2004-12-15
JP2001022646A (ja) 2001-01-26

Similar Documents

Publication Publication Date Title
KR100607016B1 (ko) 메모리 장치
US11093600B2 (en) Chip accessing method, security controlling module, chip and debugging device
RU2298824C2 (ru) Способ и устройство для шифрования/дешифрования данных в запоминающем устройстве большой емкости
CN104156642B (zh) 一种基于安全触控屏控制芯片的安全密码输入系统和方法
US6664803B2 (en) Method and apparatus for selecting an encryption integrated circuit operating mode
US7383445B2 (en) Semiconductor storage device
JP5775738B2 (ja) 情報処理装置、セキュアモジュール、情報処理方法、および情報処理プログラム
EP2297665B1 (en) Method and apparatus for secure hardware analysis
CN109933481B (zh) 一种jtag接口的解锁系统及jtag解锁控制方法
US20040177257A1 (en) Data processing device and data processing method
WO2000057278A1 (en) Information processing device
JPH09259045A (ja) メモリカードのセキュリティシステム装置及びそのメモリカード
KR20010034283A (ko) 기억 장치, 암호화ㆍ복호화 장치 및 불휘발성 메모리의액세스 방법
JPH08305558A (ja) 暗号化プログラム演算装置
KR20090007123A (ko) 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템
KR20090095843A (ko) 보안 기능을 갖는 프로세서 장치
EP1830240A1 (en) Memory information protecting system, semiconductor memory, and method for protecting memory information
CN106919858B (zh) 芯片、所述芯片的数据保护装置及方法
JP2005157930A (ja) 機密情報処理システムおよびlsi
CN101770559A (zh) 数据保护装置和方法
EP4319041A1 (en) Cipher card and root key protection method therefor, and computer readable storage medium
JP2008005408A (ja) 記録データ処理装置
CN101615160B (zh) 用于码转储保护的安全系统及安全方法
US7272856B2 (en) Decryption device
CN101175268A (zh) 控制通信终端芯片操作权限的方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
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: 20130705

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140716

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150618

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee