KR100232086B1 - 보안성 메모리 카드 - Google Patents

보안성 메모리 카드 Download PDF

Info

Publication number
KR100232086B1
KR100232086B1 KR1019950704967A KR19950704967A KR100232086B1 KR 100232086 B1 KR100232086 B1 KR 100232086B1 KR 1019950704967 A KR1019950704967 A KR 1019950704967A KR 19950704967 A KR19950704967 A KR 19950704967A KR 100232086 B1 KR100232086 B1 KR 100232086B1
Authority
KR
South Korea
Prior art keywords
memory
microprocessor
lock
information
access control
Prior art date
Application number
KR1019950704967A
Other languages
English (en)
Other versions
KR960702651A (ko
Inventor
오. 홀티 토마스
제이. 윌슨 피터
Original Assignee
미쉘 꼴롱브
쎄뻬8 트랜색
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 미쉘 꼴롱브, 쎄뻬8 트랜색 filed Critical 미쉘 꼴롱브
Priority claimed from PCT/IB1994/000031 external-priority patent/WO1995024698A1/en
Publication of KR960702651A publication Critical patent/KR960702651A/ko
Application granted granted Critical
Publication of KR100232086B1 publication Critical patent/KR100232086B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

휴대용 호스트 컴퓨터와 함께 사용하는 보안성 메모리 카드에 있어서, 상기 메모리 카드는, 상기 호스트 컴퓨터로부터의 및 상기 호스트 컴퓨터로의 어드레스, 데이터 및 제어 정보를 송수신하기 위하여 연결된 마이크로 프로세서를 포함하고, 상기 마이크로 프로세서는, 다수의 키 값 및 구성 정보를 포함하는 정보를 저장하기 위한 어드레스 가능 비 휘발성 메모리, 상기 카드에 의해 수행되는 메모리 동작들을 한정하는 어드레스, 데이터 및 제어 정보를 송신하기 위해 상기 마이크로 프로세서에 연결된 내부 버스 및 상기 어드레스, 데이터 및 제어 정보를 수신하기 위해 상기 마이크로 프로세서와 공동으로 상기 내부 버스에 연결된 적어도 하나의 비 휘발성 어드레스 가능 메모리를 포함하며, 상기 메모리는 비 휘발성 메모리 부와 보안 제어부를 포함하고, 상기 메모리 부는 다수의 블럭으로 구성된 메모리 어레이를 포함하며, 상기 각 블럭은 복수의 어드레스 가능 장소 및 상기 메모리 동작을 수행하기 위한 제어 논리 수단을 가지고, 상기 보안 제어 부는 상기 내부 버스, 상기 제어 논리 수단 및 상기 메모리 어레이에 연결되며, 상기 보안 제어 부는 상기 블럭에 연합한 키 값 및 구성 정보의 적어도 하나를 저장하기 위한 다수의 비 휘발성 및 휘발성 저장 장치 및 상기 제어 논리 수단과 상기 저장 장치에 연결된 액세스 제어 논리 수단을 포함하고, 상기 액세스 제어 논리 수단은 상기 마이크로 프로세서가 상기 호스트 컴퓨터와 소정의 증명 절차를 수행 완료한 것을 결정 완료하고 상기 마이크로 프로세서가 상기 구성 정보에 따라서 상기 메모리 어레이로부터 상기 정보의 판독을 허용하기 위해 상기 액세스 제어 논리 수단을 인에이블 완료한 후에만 상기 구성 정보에 의해 한정된 상기 메모리 어레이의 어드레스된 상기 블럭 중의 하나에 저장된 정보의 판독을 인에이블 시키는 메모리 카드.

Description

보안성 메모리 카드
[발명의 상세한 설명]
[발명의 배경]
[발명의 분야]
본 발명은 휴대용 개인 컴퓨터 분야, 특히 휴대용 디지털 정보 환경에서 데이터 보안을 유지하기 위한 시스템에 관한 것이다.
[종래의 기술]
개인 정보의 보안은 언제나 중요시 되어 오고 있으며, 로크, 코드 및 비밀주머니 등으로 확보되어 왔다. 정보가 신규 형태를 띰에 따라서, 변화된 상황에 맞도록 신규 방법이 요구된다.
역사적으로 볼 때, 정보의 보안은 서명, 신임 증명서 및 사진의 사용을 통하여 지켜져 오고 있다. 은행업무 자동화 기계에서와 같은 전자적 장치에서는 보안기구의 목록에 부호화된 카드 및 개인 확인 번호(personal identification number ; PIN)가 덧붙여 진다.
최근에는, 보안기구로서 ″스마트 카드(smart card)″가 사용된다. ″스마트 카드″란 기록 가능하고 비 휘발성인 메모리 및 간단한 입/출력 인터페이스가 단일 칩으로서 조립되어 플라스틱으로 된 신용카드에 형성되어 있는 소형 마이크로 컴퓨터를 말한다. 그것은 외부 패드가 있으므로, 특수하게 설계된 장비와 연결도 가능하다. 카드내의 마이크로 컴퓨터에 담겨진 프로그램은 이 장비와 상호 작용하여, 패스워드의 교환행위를 임의적으로 포함할 수도 있는 소정 알고리즘에 따라, 자체 비 휘발성 메모리의 데이터 판독 및 데이터 변경을 가능하게 한다. 상황에 따라서, 메모리 정보를 보호하며 또한 다양한 변경을 허용하게 하는 특수한 기술들이 실행된다. 예로서, ″온-칩(on-chip) 변경가능한 메모리를 가진 단일 칩 마이크로 프로세서″ 라는 명칭을 가진 미국 특허번호 제4,382,279호에는 비 휘발성 메모리의 자동적인 프로그램을 가능케 하는 아키텍쳐가 개시되어 있는 바, 이 메모리는 처리 및 제어 유닛과 동일한 칩에 들어있다. 기타의 시스템에서와 같이, 이 마이크로 프로세서는 동일 칩 상의 메모리만을 보호할 뿐이다.
″스마트 키드″는 신원확인의 처리를 용이하게 하는 기능과 또한 중요한 정보의 실제적 저장 장소로서의 기능을 수행한다. 종래 대부분의 상황인 이런 상황에서, 확인(verification) 또는 증명(authentication)의 처리의 일부분으로서 ″키″ 의 실질적 존재와 더불어 약간의 특수정보가 이용되고 있다. 그러한 경우에 있어서, 신원확인에는 액세스(access)를 원하는 사람과 고정되어 있는 에이전트(agent)간의 대화가 수반되는 데, 이 때 에이전트로는 보안 감시인 또는 출납 자동화 기계와 같은 것이 있다.
현재의 자립형 연산 장치의 휴대 용이성으로 인해서, ″키″ 와 증명 에이전트(authentication agent)가 소형으로 휴대가능하게 되는 반면에 이들이 분실되거나 도난 되기가 쉽다. 게다가, 연산 장치들은 신원확인 처리에 관련된 패스워드 또는 특수 정보를 추측하거나 추론하기 위한 반복적 시도가 가능하다. 이것은 만일 증명 에이전트 또는 장치가 절취자의 수중에 있게 되는 경우에는 더욱 가능하다. 기술은, 막대한 양의 민감한 정보들을 개인 신변에 휴대하는 것을 가능하게 하며 이를 장려하게 되는 반면에 재난은 일어나기 쉽다는 데에 문제가 있는 것이다.
오늘날의 노트북, 서브노트북 크기의 컴퓨터는 상당한 연산능력을 갖는 자립형 환경을 제공하고 있는 바, 이 연산능력은 부가적 데이터 저장용량을 필요로 한다. 초기에는, 프로그램 및 데이터의 저장이 가능한 소형의 하드 디스크 장치로 상기 필요성이 충족되었다. 이러한 시스템에서 패스워드에 의한 보호가 자주 사용되고 있지만, 민감한 데이터의 완전한 보호에는 미치지 못하고 있다. 왜냐하면, 첫째로, 증명 에이전트가 공격받기 쉬운 약점을 안고 있기 때문이다. 한편, 더욱 중요한 것은, 그 데이터를 보유하고 있는 디스크 장치가 물리적으로 착탈될 수 있으므로 분석하기 위한 장치(setting)에서 액세스 된다는 것이다. 이런 경우에, 데이터는 어떤 형태의 암호의 채용을 통해서만 보호된다. 디스크 액세스의 특성상 이것은 지나친 비용이나 실행상의 장벽없이 가능하다. 이런 형태의 시스템의 한 예가 ″집적회로 카드″라는 명칭의 미국 특허번호 제4,985,920호에 기술되어 있다.
최근의 플래시 메모리 및 착탈 가능한 ″메모리 카드″의 출현은 휴대용 컴퓨터의 휴대특성에서의 크기 및 소비전력 면에 있어서 큰 감소를 가져 왔다. 플래시 메모리는 랜덤 액세스 메모리(RAM)의 융통성과 디스크의 영속성을 결합하였다. 오늘날, 그런 기술의 결합으로서, 신용카드 크기의 착탈 가능한 팩키지에 2천만 바이트의 데이터를 무전원으로 저장하는 것이 가능하다. 호스트 시스템에서 볼 때, 이러한 데이터는 통상의 디스크 드라이브처럼 또는 호스트 시스템의 메모리 확장기에 저장되어 있는 것처럼 보일 수 있는 것이다. 이러한 기술 개발은, 시스템 크기를 더욱 더 감소시켜서 시스템과 데이터를 손가방이나 서류가방이 아닌 주머니에 휴대가능하게 하는 정도까지 가능케 하고 있다.
그러므로 데이터와 그 호스트 시스템이 분실이나 도난의 면에서 더욱 공격받기 쉽게 되며 암호에 의한 메모리 데이터의 보호에는 비용 및 실행상의 장벽이 나타나게 되어 더욱 어려워지는 것이다.
이에 따라, 본 발명의 주 목적은 보안성의 메모리 서브 시스템을 가진 휴대용 디지털 시스템을 제공하는 것이다.
본 발명의 다른 목적은 휴대용 디지털 시스템에서 탈착된 경우에도 내용의 보호가 가능한 메모리 카드를 제공하는 것이다.
본 발명의 또 다른 목적은 상기 카드에서 탈착된 경우에도 카드 칩의 데이터 내용이 보호되는 메모리 카드를 제공하는 것이다.
[발명의 요약]
본 발명의 상기 목적이 본 발명, 보안성 메모리 카드의 바람직한 실시예에 의하여 달성된다. 보안성 메모리 카드는 단일 반도체 칩 상의 마이크로 프로세서와 하나 또는 그 이상의 비 휘발성 어드레스 가능 메모리 칩을 포함한다. 상기 마이크로 프로세서 칩과 비 휘발성 메모리 칩은, 비 휘발성 메모리 칩에 어드레스, 데이터 및 제어정보를 송신하기 위하여 내부 버스로 공통 접속되어 있다. 상기 마이크로 프로세서는, 다수의 키 값(key values), 구성(configuration) 정보 및 어드레스의 전송을 하기 위한, 프로그램 명령(instruction)들을 저장하기 위한 어드레스 가능 비 휘발성 메모리를 포함한다. 상기 칩 메모리는 다수의 블럭 또는 뱅크로 구성되고, 각 블럭은 복수의 어드레스 가능 장소들을 갖는다.
본 발명에 따르면, 각 메모리 칩은 보안 제어 논리 회로들을 포함하도록 구성되어 있다. 이 회로는 하나의 비 휘발성 로크(lock) 메모리, 하나의 비 휘발성 로크 저장 인에이블 소자 및 하나의 휘발성 액세스 제어 메모리를 포함하는 데, 각각은 마이크로 프로세서의 제어 하에 로드 가능하다. 특히 상기 마이크로 프로세서는 최초로 로크 값을 비 휘발성 로크 메모리 내에 로드하고, 상기 로크 저장 인에이블 소자가 액세스를 금지시키는 것을 리세트한다. 다음으로 마이크로 프로세서는 상기 액세스 제어 메모리를 구성 정보에 의해 한정된 바 대로 로드한다. 상기 구성 정보는 호스트 컴퓨터가 사용자와의 소정 증명 절차가 성공적으로 수행된 것이 상기 마이크로 프로세서에 의해 결정된 후에만 로드된다. 각 메모리의 보안 논리 회로는 플래시 메모리의 특정 어드레스 블럭 내에 저장된 정보를, 상기 메모리 칩의 액세스 제어 메모리 내에 로드된 구성 정보의 함수로서, 판독 인에이블 시킨다. 호스트 컴퓨터로부터의 증명절차가 성공적으로 수행되고, 액세스 제어 메모리에 의해 정보 판독이 계속적으로 허용되는 것이 주기적으로 요구된다. 바람직한 실시예에서는, 호스트 컴퓨터는 퍼스널 컴퓨터 메모리 카드 국제 협회(personal computer memory card international association ; PCMCIA)의 기준의 인터페이스에 따르는 표준 인터페이스를 통해 메모리 카드와 결합된다.
본 발명은 ″스마트 카드″와 ″메모리 카드″의 기술을 융합시켜, 전자적 축소화에 따른 ″보안의 엄격성″ 환경에 있어서 플래시 메모리 기술에 의한 대용량의 데이터의 보호를 가능케 하는 열쇠가 된다. 본 발명은 게다가 양 기술의 개선 및 증가 되는 장점들을 활용할 수 있다.
또한 본 발명의 보안 논리 회로는 플래시 메모리의 기본 논리 회로에서의 변화를 최소화하는 방법으로써 플래시 메모리와 연합하여 동작한다. 특히 상기 플래시 메모리는 보안 모드 및 비 보안 모드 양자에서 동작 가능하며, 비 보안 모드에서는 보안 논리 회로가 바이패스되어 이 회로가 설치되지 않은 것처럼 하여 플래시 메모리를 동작 시킬 수 있다. 플래시 메모리의 비 휘발성 로크 메모리의 내용이 클리어 되면 비 보안 모드로 들어간다. 이것은 프로그램 되지 않은, 또는 전체로 소거되어 소정 상태(즉, 모두 ONE 상태)로 소거된 플래시 메모리를 말한다.
플래시 메모리에 소량의 논리 회로 및 액세스 제어 처리기(ACP)를 부가하면, 플래시 메모리의 내용은 데이터 암호화 없이도 보안유지된다. 그러므로 본 발명은 큰 데이터 블럭에 대하여 시간 소모성 암호화 및 해독화에 필요한 제 경비의 필요를 제거한다.
동작 면에서, 상기 액세스 제어 처리기(ACP)는 사용자로 하여금 어떤 형태의 증명 형태를 입력하도록 주기적으로 프롬프트 한다. 이것은 패스워드, PIN, 어떤 기록 표면의 특정 위치에 수행된 팬 컴퓨터의 ″제스처″, 사용자의 구두 명령 또는 ″성문(voiceprint)″이 될 수도 있다. 이 방법은 시스템에 따라서 다양하다. 증명을 위한 코드, 로크에 필요한 데이터 및 액세스 제어 메모리들이 ACP와 동일 칩 상에 있는 ACP의 비 휘발성 메모리에 저장되므로, 또한 보호된다.
언급된 바와 같이, 증명이 성공되면, ACP는 플래시 메모리의 모든 블록 또는 특정 블록애 액세스가 인에이블되게 하거나, 계속 인에이블되게 한다. 실패되면 플래시 메모리가 디스에이블된다. 그러므로 이런 동작은 ″데드 맨 스로틀(dead man throttle)″과 유사하여, 증명이 실패하면 플래시 메모리의 데이터가 보호되도록 한다. 이에 추가하여, 사용자에 의해 시도된 명령도 액세스를 디스에이블 시킬 수 있다. 게다가 전원 오프 후 전원이 인가된 시초부터 최초의 증명이 성공적으로 수행되기 까지 메모리의 내용이 보호되도록 액세스가 차단된다.
그러므로, 메모리 카드 또는 호스트 프로세서가 분실, 도난, 무전원 또는 방치되어도 메모리의 데이터는 즉시부터 또는 계속되는 주기적 증명이 종료된 시점부터 액세스가 보호된다. 절취의 경우에, 비록 메모리 카드를 열어 전자적으로 프로브 하거나 메모리 칩을 탈착하여 다른 장치에 위치시키더라도 액세스가 보호된다.
첨부된 도면과 다음 설명으로부터 상기 목적들과 본 발명의 장점들이 잘 이해될 수 있을 것이다.
[도면의 간단한 설명]
제1도는 본 발명에 따라 구성된 메모리 카드를 결합시킨 시스템의 전체적인 블럭선도이다.
제2도는 제1도에서의 액세스 제어 처리기(ACP)의 비 휘발성 메모리의 구조를 포함한 상세도이다.
제3도는 본 발명에 따라 개조된, 제1도에서의 표준적인 플래시 메모리의 블럭 선도이다.
제4도 및 제5도는 다양한 증명 절차를 수행하는 본 발명의 메모리 카드의 동작을 설명하기 위하여 사용된 플로우 차트이다.
[바람직한 실시예에 대한 설명]
제1도는 퍼스널 컴퓨터 또는 상거래용 프로세서로 사용가능한 보안성 휴대용 핸드-홀드(hand-hold)형 컴퓨팅 시스템(1)의 블럭선도이다. 시스템(1)은 본 발명에 따라 구성되고, 버스(102)에 의하여 호스트 프로세서(5)에 연결된 메모리 카드(3)를 포함하고 있다. 호스트 프로세서(5)는 휴렛-패커드사에서 제조한 HP 95LX와 같은 팜 탑(palm top) 퍼스널 컴퓨터의 형태를 취할 수도 있다. 호스트 프로세서(5)는 버스(106)로서 모두 공통접속된 액정표시장치(5-2), 키-보드(5-4), 마이크로 프로세서(5-6), 메모리(5-8) 그리고 직렬 인터페이스(5-10)를 포함한다. 메모리(5-8)는 1메가 바이트의 읽기 전용 메모리(ROM)와 512킬로 바이트의 랜덤 액세스 메모리(RAM)를 포함한다.
메모리 카드(3)와 호스트 프로세서(5) 간의 접속은 표준의 버스 인터페이스를 통해 이루어진다. 바람직한 실시예에 있어서, 버스(102)는 퍼스널 컴퓨터 메모리 카드 국제 협회(PCMCIA)의표준에 따른다. 버스(102)는, 표준의 인터페이스 칩(104)과 메모리 카드 버스(105)를 경유하여, 호스트 프로세서(5)와 메모리 카드(3) 간의 어드레스, 제어 및 데이터 정보를 전송하기 위한 경로를 제공한다. 버스(102, 105 및 106) 각각은 데이터 버스, 제어 버스 및 어드레스 버스를 포함하고 있으며 모두 동종의 버스를 통하여 끊임없는 신호의 경로로써 제공된다. 예를 들어, 105버스는 어드레스 버스(105a), 데이터 버스(105b) 및 제어 버스(105c)를 포함한다.
PCMCIA 버스 표준(standard)은 메모리 카드 상에서 디스크 에뮬레이션(emulation)이 지원되는 표준으로부터 메모리 데이터에 랜덤 액세스를 허용케 하는 상당히 다른 종류의 표준으로 진화되어왔다. 본 발명의 메모리 카드는 암호화 기술에 의지하지 않고, 랜덤 메모리 장소에 신속히 액세스를 제공하는 방법에 의해, 이러한 새 표준을 지원하는 보호기술을 제공한다. 메모리 어레이로부터 호스트로 데이터를 운반하는 경로를 제어함으로써, 본 발명의 메모리 카드는 시간 소모성 버퍼링, 암호해독 또는 상기 경로 상에서의 직렬 프로세스를 적용하지 않고서도 데이터를 보호한다.
통상적으로, 사용자는 키-보드(5-4)로부터 시스템(1)을 동작시켜서, 표시장치(5-2)상에 정보를 표시하며 메모리 카드(3)내의 화일에 저장된 정보를 갱신하는 등의, 스프레드 시트 및 데이터 베이스 기능과 같은 전형 동작을 수행한다. 호스트 프로세서(5)는 버스(102)를 통해 어드레스 정보를 보내어 정보를 찾아오며, 필요한 경우 이를 갱신하여 소정 어드레스 및 제어 정보를 메모리 카드(3)에 되돌려 보낸다.
제1도에서 보여지는 바와 같이, 본 발명의 메모리 카드(3)는, 각각 버스(105)에 연결된 n개의 CMOS 플래시 메모리 칩(103a에서 103n) 및 버스(105)에 연결된 액세스 제어 처리기(ACP)(10)를 포함한다. ACP(10)는 ″스마트 카드″에서 사용되는 전형적인 프로세스 소자와 동형이다. CMOS 플래시 메모리(103a에서 103n)는 인텔사에서 제조된 플래시 메모리 형태를 취할 수도 있다. 예를 들어, 여덟 개의 128 킬로바이트 × 8 CMOS 플래시 메모리를 포함하는 인텔 28F001BX 1M 이라는 인텔사의 플래시 메모리 형태를 취할 수도 있다. 그러므로, 4 메가 바이트의 플래시 메모리 카드는 32개의 플래시 메모리들을 포함하게 되는 것이며, 여기서 n = 32 이다.
[액세스 제어 처리기(10)]
제2도는 바람직한 실시예로서의 액세스 제어 처리기(ACP)(10)의 블럭선도를 보여주고 있다. 나타낸 바와 같이, ACP(10)는 보호되는 비 휘발성 메모리(10-2), 랜덤 액세스 메모리(RAM)(10-4), 마이크로 프로세서(10-6), 인터발 카운터(10-8) 및 버스(105)에 연결된 인터페이스 블럭(10-12)을 포함하고 있다. 비 휘발성 메모리(10-2)는 증명정보(authentication information) 및 프로그램을 저장하기 위한 다수의 어드레스 지정 장소로서 전담되고 있다. 더 자세하게는, 메모리 장소 (10-2a)는 하나 또는 그 이상의 개인 확인 정보(PIN), 포로토콜 시퀀스 또는 사용자가 시스템에 액세스된 것의 확인 및 재 증명을 위해 사용되는 시간 인터발 값이 추가된 후에 사용자가 액세스 하는 경우, 플래시 메모리(103a에서 103n)의 블럭을 식별하도록 하기 위한, 타 확인 정보를 저장한다.
메모리 장소(10-2b)는, 각 플래시 메모리(103a에서 103n)를 보호하기 위한 키 값을 저장하거나 각 플래시 메모리(103a에서 103n)의 개별 블럭들을 보호하기 위하여 사용되는 코드들을 저장한다. 메모리 장소(10-2c)는 증명 동작(authentication operation)의 요구 시 이를 수행하기 위한 프로그램 명령 시퀀스와, 소정 조건에 따라서 시스템이 실패로 되었을 때 시스템을 클리어하기 위한 프로그램 명령 시퀀스를 저장한다.
어떤 프로그램 명령은 사용자로 하여금, 사용자의 제 증명(reauthentication) 실행을 성취하기 위한, 인터발 카운터(10-8)의 설정을 조절할 수 있도록 한다. 재 증명 인터발은 인터럽트 사이의 시간간격과, 사용자가 PIN 또는 다른 패스워드를 재 입력하여 사용자의 확인 증명을 요구하도록 호스트 프로세서(5)에 인터럽트를 보내는 시간을 규정한다. 인터발 카운터(10-8)는 버스(102)를 통해 호스트 프로세서(5)로부터 클럭 펄스를 수신하며, 작업환경에 따라 사용자에 의하여 설정이 가능하다. 예를 들어 사용자는 가정에서는 타이머를 오프로 하거나(즉, 최대값으로 설정함) 또는 시간 간격을 한 시간으로 설정할 수도 있으며, 비행기에서라면 보호를 강화하기 위하여 10 분으로 설정할 수도 있다. 사용자는 매번 ″파워 온″ 시에 이러한 인터발의 세팅을 재확인하도록 프롬프트(prompt)되므로, 주기적인 재증명 확인을 통하여 보안성이 강화된다.
[플래시 메모리 (103a에서 103n)]
제3도는 플래시 메모리(103a에서 103n)의 상세한 블럭선도이다. 메모리(103a)의 상세한 논리 회로만 나타내었으며, 잔여 플래시 메모리(103b에서 103n)는 상기 메모리(103a)와 동일하게 구성된다.
메모리(103a)는 두개의 부(section)로 되어 있는 바, 하나는 본 발명의 액세스 제어 보안 회로들을 포함하고 있는 보안 논리 부(103S)이며, 하나는 플래시 메모리의 기본/표준 논리 회로 부이다.
[액세스 제어 보안 부]
제3도에서 보여지는 바와 같이, 본 발명의 보안 제어 회로는 32-비트 키 레지스터(31), 32-비트 휘발성 로크 레지스터(33), 12-비트 지연 카운터(32), 비교 회로(39), ″모두 ONE″ 검출 신호 회로(38), 비 휘발성 로크 메모리(35), 휘발성 액세스 제어 메모리(43), 액세스 변경 허용 AND 게이트(34) 및 출력 OR 게이트(45)로 배열되어 있다. 이 부는, 기본 논리 부내의 명령 레지스터(50)로부터 지정된 다양한 16진값(즉, 31H에서 38H)에 의한 명령 제어 신호를 수신한다. 이 신호는, ACP(10)로부터 데이터 버스(105b)를 경유하여 명령 레지스터(50)에 수신된 한 세트의 명령에서의 별개의 데이터 값을 나타낸다. 이 명령은 플래시 메모리에서 보통 사용되는 한 세트의 명령에 대한 중요한 확장 명령이다. 표준 플래시 메모리 명령은 28F001BX 플래시 메모리에서 사용되는 명령의 형태를 취한다. 이런 명령들은 인텔사의 ″메모리 프로덕츠″ 라는 제목의 간행물에 기술되어 있다. 본 발명에서 사용된 명령들에 대해서는 표 1에 기술하였다.
표 1을 참조하면, 첫번째 명령은 각 메모리(103a에서 103n)에서의 비 휘발성 로크 메모리(LM)내에, 로크 값으로서의 랜덤 수를 최초 로드하기 위해 사용되는 로크 메모리 로드 명령이다. 각 메모리(103a에서 103n)는 사용자의 보안 필요에 따라서 별개의 로크 값을 갖거나 동일한 로크 값을 가질 수도 있다. 상기 로크 값은 비 휘발성 저장 소자(36)에서의 하나의 비트의 제어 하에, 키 레지스터(K)(31)를 통해 로크 메모리(LM)(35)에 로드된다. 표 1에서의 로크 저장 인에이블 리세트 명령은 저장 소자(36)를 리세트하도록 사용된다. 로크 저장 인에이블 리세트 명령이 저장 소자(36)를 세트되지 않도록 리세트 시킴에 의해, 로크 메모리(LM)(35)내에 저장된 상기 로크 값이 변경되는 것이 방지된다. 전원 투입 시에 로크 메모리(LM)(35)의 비 휘발성 내용들이 로크 레지스터(L)(33)에 전송된다. 로크 메모리(LM)(35)의 장소 또는 위치는 설계에 종속될 것이다. 예를 들어, 로크 메모리(LM)(35)는 메모리 어레이(54)의 한 연장으로서 실시될 수 있다.
표 1의 키 레지스터 로드 명령은 키 레지스터(31)를 로드하고 지연 카운터(32)를 세트하도록 사용된다. 지연 카운터 감소 명령은 지연 카운터(32)의 내용을 하나 감소시키도록 ACP(10)에 의해 사용된다. 메모리 뱅크 판독-허용 및 메모리 뱅크 판독-디스에이블 명령은 액세스 제어 메모리(43)의 로딩 중에 메모리 어레이(54)의 개별 메모리 블럭의 액세스를 인에이블 또는 디스에이블시키도록 ACP(10)에 의해 사용된다.
[표 1]
[로크 메모리 로드 (31H)]
이 명령은 로크 저장 인에이블(36)의 출력 신호가 TRUE일 경우에만 키 레지스터(31)의 내용을 비 휘발성 로크 메모리(LM)(35)내에 복사한다.
[로크 저장 인에이블 리세트 (33H)]
이 명령은 로크 저장 인에이블(36) 논리 소자를 리세트하여, 로크 메모리(LM)(35)의 로드 또는 변경을 금지한다.
[키 레지스터 로드 (32H)]
이 명령은 키 레지스터(31)의 이전 내용을 한 바이트 시프트(LSB를 MSB로)하고, 키 레지스터의 LSB에 ACP(10)으로부터 ″키 값″을 로드한다. 또한, 지연 카운터(32)를 최대값 즉 모두 ONE으로 세트한다.
[지연 카운터 감소 (35H)]
이 명령은 지연 카운터(32)를 ONE에 의해 감소시킨다. 상기 지연 카운터는 메모리 어레이(54)의 판독을 계속 허용하도록 ZERO와 동등하여야 한다.
[메모리 뱅크 판독-허용 (34H)]
이 명령은 액세스 제어 메모리(43)내의 메모리 뱅크 어드레스(MBA)에 해당하는 비트를, 액세스 변경 허용(37) 신호가 TRUE일 때에만 세트한다. 이것에 의해, 특정 뱅크의 판독 액세스가 허용된다.
[메모리 뱅크 판독-디스에이블 (38H)]
이 명령은 액세스 제어 메모리(43)내의 메모리 뱅크 어드레스에 해당하는 비트를 리세트한다.
표 1을 자세히 검토하면, 표 1은 상기 추가된 명령 각각에 대한 버스 사이클 동작을 보이고 있다. 두개의 버스 사이클을 요구하는 각 명령에 있어서 각각 제1버스 사이클 중에, 명령 레지스터(50)는 ACP(10)에 의해 발생되어 버스(105)의 데이터 버스(105a)와 입력 버퍼(51)를 경유하여 전송된 8-비트 명령을 수신한다. 명령 레지스터(50)는 제2버스 사이클 중에, 상기 명령을 수행하는 데 요구되는 정보를 데이터 버스(105b)로부터 수신하도록 특정 논리 소자를 조정한다. 지시된 바와 같이, 로크 저장 인에이블 및 지연 카운터 감소 명령들을 수행하는 데는 오직 하나의 사이클 만을 필요로 하기 때문에, 이것들의 제2버스 사이클은 비 해당으로 지정되어 있다.
정규의 동작 중에, 키 레지스터(31)에는 키 레지스터 명령 및 지연 카운터(32)가 그의 최대값으로 세트되는 것에 의해, 메모리 장소(10-2b)로부터 수신된 키 값이 로드된다. 지연 카운터(32)는 ACP(10)로부터 수신된 계속적인 지연 카운터 감소 명령에 응답하여 모두 ZERO로 감소되고, AND(34)의 하나의 입력으로 인가되는 ZERO 카운트 출력 신호(41)를 발생시킨다.
각 지연 카운터(32)는, 절취자가 칩을 탈착하여 ″불법 카드″에 장착하고 처리장치 등으로 각 메모리 칩의 키를 반복하여 추측하기 위한 프로그램을 실행하는 경우에 있어서 플래시 메모리(103a에서 103n)에 액세스될 수 있게 하는 시도의 수를 제한한다. 다르게 말해서, 지연 카운터(32)는 플래시 메모리에 불법적으로 액세스하기 위해서는 막대한 수의 시도가 필요하게 되는 것을 보장한다. 키 및 지연 카운터의 크기는 상기와 같은 시도에 있어서 터무니 없는 시간이 소요되도록 선정된다.
더 자세하게는, 키 레지스터(31)는 대략 4 빌리언(232)개의 별개 조합을 저장한다. 바람직한 실시예에 있어서, 지연 카운터(32)는 12-비트의 카운터이다. 상기 지연 카운터(32)가 각 마이크로 초에 한번씩 감소된다고 가정하면, 키 값을 추측하는 시도당 4 밀리 초 또는 212회의 시도가 요구된다. 정확한 키 값을 알고 있는 ACP(10)는 최초 셋업시 4 밀리 초의 지연만이 발생할 뿐이다. 키 값을 추측하기 위해 랜덤한 시도는 성공 확률 50%로서 231회의 시도가 요구된다. 이는 키 값을 추측하기 위해서, 231×212마이크로 초 또는 102일이 소요된다는 것을 말한다. 이런 시간은 대부분의 절취자에 대해서 충분한 시간이다. 물론 키의 크기와 지연 카운터(32)의 크기를 변경하면 이 시간을 증감 가능하다.
본 발명의 메모리 카드가 도난 되어 ″불법 호스트″에 연결되는 경우에 절취자가 PIN을 추측하려는 시도의 횟수를, ACP(10)는 알려진 기술에 의해 제한한다. 알려진 기술이란 액세스 고정 기술 또는 부정확한 추측에 대한 제한 초과시 데이터를 파괴하는 기술을 포함한다.
플래시 메모리(103a)의 최초 증명 동작 중에, 4개의 계속적인 키 레지스터 로드 명령(즉, 데이터 버스(105b)는 한 바이트 넓은 버스이다)에 응답하여 32비트 키 레지스터(31)내에 키 값이 로드된다. 지연 카운터(32)는 최대 카운트(모두 ONE)로 강제되고, ACP(10)가 지연 카운터 감소 명령을 제1버스 사이클에 계속하여 전송하는 것에 의해 감소된다. 이 지연 카운터(32)가 ZERO로 감소될 때, ZERO 카운트 출력 신호(41)를 발생시켜 AND 게이트(34)의 하나의 입력에 인가한다.
만일 키 레지스터(31)내에 저장된 키 값이 해당하는 로크 레지스터(L)(33)내에 저장된 로크 값과 동등하면(사용자가 호스트 프로세서(5)에 올바른 확인을 제공한 것을 지시함), 비교 회로(39)가 AND 게이트(34)의 또다른 하나의 입력에 비교 동등 신호(42)를 인가한다. 이것은 AND 게이트(34)가 그의 출력에 액세스 변경 허용(37) 신호를 발생시켜, ACP(10)의 제어 하에 액세스 제어 메모리(43)에 기록을 인에이블시킨다. 이것 이후에, 메모리 어레이(54)의 판독이 허용된다.
액세스 제어 메모리(43)는 메모리 어레이(54)의 각 블럭/뱅크에 대한 한 비트씩을 휘발성으로 저장한다. 이런 비트들은 플래시 메모리의 전원 투입 시퀀스의 일부중에서 ZERO로 클리어 된다. 메모리(103a)로부터 데이터를 판독하기 위해, 해당되는 어드레스된 메모리 블럭의 비트는 ONE이어야 한다. 이런 비트들은, 액세스 변경 허용(37) 신호가 TRUE일 때에만, ACP(10)가 메모리 뱅크 판독-허용 명령을 발하는 것에 의해 세트된다.
표 1에서 보인 것과 같이, 메모리 뱅크 판독-허용 명령의 제2버스 사이클 중에, 메모리 어레이(54)의 특정 메모리 뱅크의 어드레스 비트의 3개 고차 비트들은 어드레스 버스(105c)를 통해 발송될 뿐 아니라, 16진 명령 식별기의 반복이 데이터 버스(105a)를 통해 명령 레지스터(50)에 발송된다. 이것은 액세스 제어 메모리(43)의 어드레스된 비트 장소에 ONE이 기록되는 결과를 가져온다. 바람직한 실시예에 있어서, 메모리 뱅크 판독-허용 명령 시퀀스는, 메모리 어레이(54)가 각각 16킬로 바이트씩의 뱅크 여덟개로 구성되어 있기 때문에 여덟번 반복된다. ACP(10)는 비슷한 방법으로 메모리 뱅크 판독-디스에이블 명령 시퀀스를 발하여 특정 뱅크에 대한 액세스를 제한한다.
본 발명의 액세스 제어 메모리(43)의 출력은, 플래시 메모리 판독 사이클 중에서 메모리 어레이(54)의 어떤 뱅크 장소의 내용이 판독되는 때에, 출력 버퍼(52)의 인에이블 입력으로 인가된다. 즉, 판독 사이클이 발생되더라도, 적당한 뱅크의 액세스 제어 메모리 게이트 신호가 없으면 데이터 판독이 출력 버퍼(52)를 통과하는 것이 금지된다. 더 자세하게는, 바람직한 실시의 경우에 있어서, 액세스 제어 메모리(43)는 여덟개의 개별적 어드레스 가능 비트 저장 소자, 각 저장 소자의 입력에 접속된 입력 어드레스가 3에서 8비트인 디코더 및 각 저장 소자의 출력에 접속된 입력 어드레스가 1에서 8인 출력 멀티플렉서를 포함한다. 각 어드레스의 어드레스 비트의 3개의 고차 어드레스 비트들은 디코드 되고, 내용이 변경되고자 하는 블럭의 저장 소자를 특정하는 데 사용된다. 비슷하게, 동일한 3개의 비트들이, 판독되고자 하는 플래시 메모리 장소를 포함하는 블럭에 대한 저장소자의 출력을 특정하는 데 사용된다.
만일 로크 레지스터(L)(33)의 내용이 모두 ONE을 지시하는 것에 의해 로크 메모리(LM)(35)가 모두 삭제되면(즉, 모두 ONE), 출력 버퍼(52)는 항상 인에이블 된다. 즉, 로크 레지스터(L)(33)의 내용이 모두 ONE일 때, 모두 ONE 검출 소자(38)로부터 OR 게이트(45)로 출력 버퍼(52)를 인에이블 시키는 신호가 발생된다. 이것은 플래시 메모리(103a)를 비 보안 모드로 하며, 본 발명의 모든 보안 논리 회로가 바이패스되도록 허용한다. 그러므로, 동일 플래시 메모리 칩이 보안 및 비 보안 애플리케이션 양자에 사용될 수 있으므로 생산 경제성의 결과를 갖는다.
[플래시 메모리의 기본 논리 회로]
본 회로는 제3도에서 보여지는 바와 같이, 메모리 어레이(54), 명령 레지스터(50), 입력/출력 논리 회로(60), 어드레스 래치(56), 기록 상태 기(61), 소거 전압 시스템(62), 출력 멀티플렉서(53), 데이터 레지스터(55), 입력 버퍼(51), 출력 버퍼(52) 및 상태 레지스터(58)를 포함한다. 플래시 메모리(103a)의 기본 논리 회로는 상기 설명한 것과 같으며, 인텔사에서 제조되고 28F001BX라고 명명된 플래시 메모리에 포함된 형태의 회로를 취한다. 상기 회로들이 전형적인 것이기 때문에, 필요한 만큼만 설명하고자 한다. 상기 회로에 대한 더 자세한 정보는 인텔사에서 1992년 출판된 주문번호 제210830호의 ″메모리 프로덕츠″라는 제목의 간행물의 3-109페이지에서 3-134페이지를 참조하기 바란다. 제3도에서 보인 바와 같이, 플래시 메모리 기본 회로는 다수의 입력 신호(A0 - A16), 어드레스, 데이터 신호(D00 - D07) 및 제어 신호(CE, WE, OE, PWD 및 VPP)들을 수신한다. 이런 신호들이 아래의 표 2에 설명된다.
[표 2a]
[표 2b]
[표 2c]
표 2에 보인 바와 같이, 상기 칩 인에이블(CE), 기록 인에이블 처리기(WE), 출력 인에이블(OE) 신호들은 호스트 처리기(5)로부터 버스(102) 및 제어 버스(105b)를 경유하여 명령 레지스터(50) 및 입/출력 논리 회로(60)에 인가되고, 특정 논리 블럭을 제어하기 위해 분산된다. 전원 다운(PWD) 신호는 표 2에서 특정된 동작들을 수행하기 위해 플래시 메모리를 인에이블 하도록 명령 레지스터(50)에 역시 인가된다. 이 신호는 필요한 경우, 정규 동작이 재 시작될 때 사용자의 제 증명 동작을 요구하도록, 상기 플래시 메모리의 보안 제어 부의 휘발성 저장 소자를 클리어 하는 데 사용될 수 있다.
일반적으로 상기 플래시 메모리의 기본 논리 소자는 다음 방법으로 동작된다. 정보는 어드레스 래치(56)에 의해 어드레스 버스(105c)로부터 수신된 특정 어드레스의 메모리 블럭 중의 하나의 어드레스된 장소의 메모리 어레이(54)에, 데이터 버스(105a), 입력 버퍼(51) 및 데이터 레지스터(55)를 경유하여 저장된다. 정보는 메모리 어레이(54)의 특정 어드레스 장소의 뱅크로부터 판독되어, 호스트 처리기(5)에 출력 멀티플렉서(53), 출력 버퍼(52), 데이터 버스(105a) 및 버스(102)를 경유하여 전송된다. 상태 레지스터(58)는 기록 상태 기의 상태, 에러 서스펜드 상태, 소거 상태, 프로그램 상태 및 Vpp 상태를 저장하도록 사용된다.
기록 상태 기(61)는 블럭 소거 및 프로그램 알고리즘을 제어한다. 프로그램/소거 전압 시스템(62)은 메모리 어레이(54)의 블럭 또는 각 블럭의 프로그래밍 바이트를 Vpp 레벨의 함수로서 소거하도록 사용된다(즉, Vpp가 하이 레벨일 때 프로그래밍이 수행될 수 있으며, 만일 Vpp가 로우 레벨일 때에는 메모리 어레이(54)는 판독 전용 메모리로서 기능한다).
[동작의 설명]
본 발명 보안성 메모리 카드의 동작을 이하, 제4도 및 제5도의 플로우 선도를 참조하여 설명하고자 한다. 이 동작을 자세하게 설명하기 전에 상기 카드의 조립, 커스텀화 및 동작을 포함하는 단계에 대하여 먼저 설명하고자 한다.
첫 단계인 카드의 조립단계에서, ACP(10)는 메모리 카드 상의 각 메모리 칩에 로크 값들을 세트한다. 이것은, 제3도에서의 로크 메모리(LM)(35)내에 키 값을 로드함으로써 이루어 진다. 이 값들은 ACP(10)의 보호되는 비 휘발성 메모리(10-2)에 저장된다(즉, 제2도에서의 키 1에서 키 n). 로크 저장 인에이블(36) 소자들은 로크 메모리의 내용의 판독 또는 변경을 더이상 허용하지 않도록 ZERO로 세트된다. 이 소자들은 비 휘발성이므로, 전체의 플래시 메모리 칩이 클리어 되지 않는 한 변경될 수 없다.
둘째 단계인 커스텀 애플리케이션 단계에서, 기록은 상기 보호기능에 의해 영향받지 않으므로, 메모리 카드는 데이터 또는 소프트웨어 애플리케이션으로 로드될 수 있다. ACP(10)는 이제, 메모리 뱅크 구조 및 각 메모리 뱅크에 적용될 보호의 정도에 관한 정보가 로드된다.
셋째 단계인 사용자 커스텀화 단계에서, 사용자는 증명 모드 및 그 빈도에 관한 변수 및 요구될 특정 데이터(즉, 개인 확인 정보(personal identification number ; PIN)를 설정한다. 이런 정보는 상기 ACP(10)내에 저장된다.
넷째 단계인 전원 투입 단게에서 ″키 레지스터″, ″액세스 변경 허용″ 및 ″액세스 제어 메모리″ 신호들은, 액세스 제어 메모리(43)에 기록 또는 데이터 액세스를 금지하도록 초기화된다. 최초의 증명대화가 시도된다.
다섯째 단계인 최초의 증명 대화 단계에서, ACP(10)는 호스트 처리기(5)의 서비스를 사용하여, 사용자에게 증명 정보를 프롬프트하고 이를 수신한다. 만일 증명이 성공적이지 못하면 아무 동작도 수행되지 않고, 증명이 성공적이면 각 메모리 칩의 키 레지스터는 ACP(10)의 메모리 내에 저장된 값으로 로드된다. 이런 동작 중에 지연 카운터(32)는 로드 후의 칩의 동작을 일정 시간동안 금지시켜, 랜덤에 의한 시도를 차단시키도록 이용된다. 키 레지스터의 로드는 각 칩에 대해, ″액세스 변경 허용″ 신호를 참값으로 한다. ACP(10)는 이제, 저장된 구성정보에 따라서 액세스 제어 메모리를 로드 함으로 액세스가 수립된다.
여섯째 단계인 후속 증명 대화 단계에서, 사용자가 구성한 바에 따른 주기로, ACP(10)는 사용자의 추가 명령(제 증명)을 프롬프트 한다. 실패시에는, ACP(10)는 모든 메모리 칩을 전원 투입 상태로 유발시켜 액세스 제어 메모리(43) 및 키 레지스터(31)의 내용을 클리어 하므로, 메모리의 데이터에 액세스가 금지된다. 이제는 제4도 및 제5도를 참조하여, 제1도의 시스템의 동작을 설명하고자 한다.
[하루 중 최초의 동작]
제4도는 다양한 동작 모드를 블럭 선도의 형태로 보이고 있다. 401 및 402블럭은 두 가지의 스타트-업 초기 조건을 보인다. 402블럭에서는, 사용자가 이미 전원 투입된 호스트 처리기(5)에 메모리 카드(3)에 삽입한다. 401블럭에서는, 메모리 카드(3)를 호스트 처리기(5)에 삽입한 채로 사용자가 전원을 투입한다.
상기 스타트-업 동작에 있어서, 402블럭 중에 ACP(10) 및 그 인터페이스는 전형적 방법으로 초기화되고, 플래시 메모리(103a에서 103n)의 내부적 초기화 시퀀스의 일부로서, 403블럭은 키 레지스터(31)가 모든 ′n′ 및 액세스 제어 메모리(43)의 ′n′을 클리어 한다. 출력 버퍼(52)가 디스에이블되기 때문에, 플래시 메모리(103a에서 103n)의 데이터 판독이 방지된다. 전원 투입의 결과로서 해당하는 로크 메모리(LM)(35)로부터 로크 레지스터(L)(33)의 ′n′내에 로크 값이 로드된다.
404블럭에서, ACP(10)는 사용자로부터의 PIN 또는 타 식별 정보의 요구에 응답하여 호스트 처리기(5)에 인터럽트 신호를 전송한다. 405블럭에서, ACP(10)는 상기 PIN 또는 타 식별 정보가 메모리 장소(10-2a)에 저장된 정보와 일치하는지를 메모리 장소(10-2a)에 저장된 프로그램 수단에 의하여 점검한다. 만일 일치하지 않으면, 결정 블럭 406은 에러를 카운트하고 ACP(10)는 상기 테스트를 반복하도록 404블럭에 브랜치(branch)한다. 만일 상기 테스트의 실패가 소정 수에 달하면, 결정 블럭 406은 ACP(10)를 로크-업하게 하거나 플래시 메모리(103a에서 103n)의 내용을 파괴하도록 407블럭에 브랜치 한다.
[사용자의 최초 증명의 성공]
결정 블럭 406에서 증명 성공이 지시되면, 408블럭에서 ACP(10)는 키 레지스터 로드 명령을 통해 메모리 장소(10-2b)로부터 적절한 키 값을 각 키 레지스터(31)에 로드한다. 또한 409블럭은 지연 카운터(32)의 내용을 계속적인 지연 카운터 감소 명령에 의해, 제3도에서의 ZERO 카운트 신호(41)를 발생시키게 하는 2진 ZERO 카운트에 이르도록 반복적으로 감소시킨다.
410블럭에서, 각 액세스 제어 메모리(43) 장소는 해당 플래시 메모리(103a에서 103n)의 특정 뱅크에 액세스를 허용시키는 메모리 뱅크 판독-허용 명령 수단에 의해 정보가 로드된다.
[간헐적 재-증명]
411블럭에서, ACP(10)는 사용자의 재-증명을 요구하기 전, 메모리 장소(10-2a)내에 저장된 정보에 의해 설정되고 소정의 시간 인터발의 종료가 인터발 카운터(10-8)에 신호되는 것을 기다린다. 그 후 412블럭에서 ACP(10)는 호스트 처리기(5)를 인터럽트하여 사용자로 하여금 PIN 또는 타 식별 정보를 재-입력하도록 요구한다.
결정 블럭 413은 호스트 처리기(5)로부터 수신된 PIN 또는 타 식별 정보를 메모리 장소(10-2a)에 저장된 정보에 대해 점검하고, 인터발 타이머(10-8)의 출력을 기록한다. 통상적으로 사용자가 호스트 처리기(5)에 재-증명 정보를 입력하기 위해 30초의 시간 인터발이 설정된다. 클럭이 진행하는 동안, 결정 블럭 413의 점검이 실패하면 414블럭은 그 결과를 에러로서 기록하며, 에러의 수와 블럭 412 및 블럭 413의 반복 브랜치의 수가 최대값에 달하는지를 점검한다. 만일 에러의 수가 최대값과 동등하면, 블럭 415에서 ACP(10)는 플래시 메모리의 키 레지스터(31)를 계속적 키 레지스터 로드 명령 수단에 의해 클리어하고, 액세스 제어 메모리(43)를 계속적 메모리 뱅크 판독-디스에이블 명령에 의해 클리어 한다. 415블럭은 신규 ″최초 증명″ 동작이 발생하도록 404블럭에 브랜치 한다.
결정 블럭 413의 테스트가 성공적이면, 키 레지스터(31)는 변경되지 않으므로(즉, ACP에 의해 로드된 이전 키 값을 가짐) 사용자가 본 시스템(1)을 계속 동작하도록 인에이블 한다. 결정 블럭 413이 PIN 또는 타 식별 정보를 수신하지 않은 상태에서 30초가 경과한 경우에는, ACP(10)는 키 레지스터(31) 및 액세스 제어 메모리(43)를 이전과 같도록 클리어 한다.
제5도는 호스트 처리기(5)가, 제4도의 404블럭 및 412블럭에 응답하여 ACP(10)가 재-증명을 위한 인터럽트 요구시, 어떻게 응답하는가를 도시하는 플로우선도이다. 나타낸 바와 같이, 결정 블럭 501은 ACP(10)가 사용자로 하여금 PIN 또는 타 식별 정보를 재 입력하도록 요구하는 인터럽트를 기다린다. 결정 블럭 501은 404블럭 또는 412블럭으로부터 인터럽트를 수신하면 502블럭에 브랜치 한다. 502블럭은 호스트 표시장치(5-2) 상에 PIN 또는 타 식별 정보에 대한 요구를 표시한다. 503블럭은 키-보드로부터의 정보를 수령하고, 504블럭은 ACP(10)를 인터럽트한다. 505블럭은 상기 PIN을 ACP(10)에 전송한다.
본 발명의 가르침을 벗어나지 않고도 당 업자는 본 발명에서의 바람직한 실시예에 대한 다양한 변형이 가능할 것이다. 예를 들어 본 발명은 별개 형태의 비 휘발성 메모리와 별개 형태의 인터페이스와 함께 실시될 수도 있다.
법령과 규정에 따라서 본 발명의 가장 좋은 형태를 도시하고 설명해 왔지만, 첨부된 청구항에서 언명된 본 발명의 정신을 벗어남이 없이도 어떤 변경이 가능하며, 어떤 경우에는, 본 발명의 기타의 특징을 사용치 않고서 특정 특징만을 이용할 수도 있다.

Claims (27)

  1. 휴대용 호스트 컴퓨터와 함께 사용하는 보안성 메모리 카드로서, 상기 메모리 카드는, 상기 호스트 컴퓨터로부터의 및 상기 호스트 컴퓨터로의 어드레스, 데이터 및 제어 정보를 송수신하기 위하여 연결된 마이크로프로세서이며, 다수의 키 값 및 구성 정보를 포함하는 정보를 저장하기 위한 어드레스 가능 비 휘발성 메모리를 포함하는 상기 마이크로프로세서, 상기 카드에 의해 수행되는 메모리 동작들을 한정하는 어드레스, 데이터 및 제어 정보를 송신하기 위해 상기 마이크로프로세서에 연결된 내부 버스 및 상기 어드레스, 데이터 및 제어 정보를 수신하기 위해 상기 마이크로프로세서와 공동으로 상기 내부 버스에 연결된 적어도 하나의 비 휘발성 어드레스 가능 메모리를 포함하며, 상기 메모리는 비 휘발성 메모리 부와 보안 제어 부를 포함하고, 상기 메모리 부는 다수의 블럭으로 구성된 메모리 어레이를 포함하며, 상기 각 블럭은 복수의 어드레스 가능 장소 및 상기 메모리 동작을 수행하기 위한 제어 논리 수단을 갖고, 상기 보안 제어 부는 상기 내부 버스, 상기 제어 논리 수단 및 상기 메모리 어레이에 연결되며, 상기 보안 제어부는, 상기 블럭에 연합된 구성 정보 및 키 값의 적어도 하나를 저장하기 위한 다수의 비 휘발성 및 휘발성 저장 장치 및 상기 제어 논리 수단과 상기 저장 장치에 연결된 액세스 제어 논리 수단을 포함하고, 상기 액세스 제어 논리 수단은 상기 마이크로프로세서가 상기 호스트 컴퓨터와 소정의 증명 절차를 수행 완료한 것을 결정하고 상기 마이크로프로세서가 상기 구성 정보에 따라서 상기 메모리 어레이로부터 상기 정보의 판독을 허용하기 위해 상기 액세스 제어 논리 수단을 인에이블 완료한 후에만 상기 구성 정보에 의해 한정된 상기 메모리 어레이의 어드레스된 상기 블럭 중의 하나에 저장된 정보의 판독을 인에이블 시키는 메모리 카드.
  2. 제1항에 있어서, 상기 마이크로프로세서와 상기 비 휘발성 메모리가 별개의 반도체 칩 상에 포함되어 있는 메모리 카드.
  3. 제1항에 있어서, 상기 카드는 상기 카드를 상기 호스트 컴퓨터에 접속시키는 인터페이스 회로 수단을 더 포함하고, 상기 인터페이스 회로 수단과 상기 마이크로프로세서가 동일 반도체 칩 상에 포함되는 메모리 카드.
  4. 제1항에 있어서, 상기 비휘발성 메모리 및 상기 비 휘발성 저장 장치는 플래시 메모리인 메모리 카드.
  5. 제1항에 있어서, 상기 비휘발성 메모리 저장 장치 중의 하나는 상기 하나의 키 값에 해당하는 로크 값을 저장하기 위한 로크 메모리이며 상기 비 휘발성 저장 장치중의 둘은 상기 로크 메모리에 연결된 로크 저장 인에이블 소자이고, 상기 로크 메모리는 상기 로크 값으로 최초 로드되고 상기 로크 저장 인에이블 소자는 상기 마이크로프로세서의 제어 하에 상기 로크 값의 변경을 금지하는 상태로 전환되는 메모리 카드.
  6. 제2항에 있어서, 상기 로크 값의 저장 및 상기 로크 저장 인에이블 소자의 전환은 상기 메모리 카드의 최초 조립 중에 발생되는 메모리 카드.
  7. 제5항에 있어서, 상기 휘발성 저장 장치 중의 하나는 상기 구성 정보를 저장하기 위한 상기 메모리 어레이의 블럭의 갯수에 해당하는 복수의 장소를 가지는 어드레스 가능 액세스 제어 메모리이며, 상기 액세스 제어 메모리는 상기 액세스 제어 논리 수단 및 상기 내부 버스에 연결되며, 상기 액세스 제어 메모리는 상기 마이크로프로세서가 상기 호스트 컴퓨터와 소정 증명 절차를 성공적으로 수행 완료하였음을 결정함으로써 상기 마이크로프로세서가 상기 액세스 제어 논리 수단에 의해 상기 액세스 제어 메모리를 인에이블 시킨 후에만 상기 마이크로프로세서의 제어 하에 로드되는 메모리 카드.
  8. 제7항에 있어서, 상기 로크 메모리 내에 로드된 상기 로크 값은 모드 ONE이며, 상기 보안 제어 부는 상기 로크 메모리에 연결된 모두 ONE 검출기 회로를 더 포함하고, 상기 검출기 회로는 상기 로크 값이 모두 ONE인 것에 응답하여 상기 보안 제어부를 유효하게 바이패스시키는 신호를 발생시킴으로써 상기 비휘발성 메모리가 마치 상기 보안 제어 부가 포함되지 않았던 것처럼 동작되는 메모리 카드.
  9. 제7항에 있어서, 상기 소정 증명 절차의 수행은 상기 메모리 카드가 상기 호스트 컴퓨터와 최초로 연결될 때 최초로 발생되는 메모리 카드.
  10. 제9항에 있어서, 상기 액세스 제어 논리 수단은 상기 로크 메모리로부터의 상기 로크 값을 수신하도록 연결된 로크 레지스터, 비교기 회로, 상기 마이크로프로세서에 의해 전송된 키 값을 저장하기 위한 키 레지스터, 소정 시간 인터발을 한정하는 카운트를 저장하기 위한 지연 카운터 및 상기 액세스 제어 메모리에, 상기 비교기 회로에 및 상기 지연 카운터에 연결된 게이트 수단을 포함하여, 상기 비교기 회로는 상기 로크 레지스터 상기 키 레지스터 및 상기 게이트 수단에 연결되며, 상기 게이트 수단은 상기 지연 카운터가 상기 소정 시간 인터발의 종료를 신호할 때에 상기 비교기 회로가 상기 로크 레지스터 내에 로드된 상기 로크 값을 비교하여 비교 동등을 신호하는 것에 응답하여 액세스 변경 허용 신호를 발생시키도록 상기 지연 카운터에 연결되고, 상기 액세스 변경 허용 신호는 상기 액세스 제어 메모리가 상기 구성 정보를 로드하는 것을 규정하는 메모리 카드.
  11. 제10항에 있어서, 상기 액세스 제어 논리 수단은 상기 마이크로프로세서가 각 메모리 칩의 상기 보안 제어 부의 동작을 제어하는 데 사용하는 소정 세트의 명령에 응답하여 명령 신호들을 발생시키는 회로를 포함하는 메모리 카드.
  12. 제11항에 있어서, 상기 액세스 제어 논리 수단은 상기 마이크로프로세서에 의해 발생된 상기 소정 세트의 명령 중의 제1명령에 응답하여 상기 로크값을 상기 로크 메모리에 로드시키는 제1신호를 발생시키며, 상기 소정 세트의 명령 중의 제1명령은 상기 카드의 최초 조립 중에 발생되는 메모리 카드.
  13. 제12항에 있어서, 상기 액세스 제어 논리 수단은 상기 마이크로프로세서에 의해 발생된 상기 소정 세트의 명령 중의 제2명령에 응답하여 상기 로크 메모리에 저장된 상기 로크 값을 판독 또는 변경하도록 상기 로크 저장 인에이블 소자를 소정상태로 전환시키는 제2신호를 발생시키는 메모리 카드.
  14. 제12항에 있어서, 상기 액세스 제어 논리 수단은 상기 마이크로프로세서에 의해 발생된 상기 소정 세트의 명령 중의 제3명령에 응답하여 상기 키 레지스터를 상기 키 값 중의 소정 값으로 로드시키는 제3신호를 발생시키며, 상기 소정 세트의 명령 중의 제3명령은 상기 소정 증명 절차가 상기 마이크로프로세서에 의해 성공적으로 수행 완료된 것이 결정된 후에만 상기 마이크로프로세서에 의해 발생되는 메모리 카드.
  15. 제14항에 있어서, 상기 액세스 제어 논리 수단에 의해 발생된 상기 제3신호는 상기 소정 시간 인터발이 시작되도록 동시에 상기 지연 카운터를 강제하여, 상기액세스 제어 논리 수단은 상기 마이크로프로세서에 의해 발생된 상기 소정 세트의 명령 중의 제4명령들 각각에 응답하여 상기 소정 카운트를 하나씩 감소시키며, 상기 지연 카운터는 상기 소정 세트의 명령 중의 제4명령의 소정 개수의 실행 이후에 상기 시간 인터발의 종료를 신호하는 메모리 카드.
  16. 제11항에 있어서, 상기 액세스 제어 논리 수단은 상기 마이크로프로세서에 의해 발생된 소정 세트의 명령 중의 제5명령 및 제6명령에 응답하여 정보가 상기 블록 중에 어떤 블록으로부터 판독 허용되는 지를 한정하기 위해 상기 구성 정보에 따라서 상기 액세스 제어 메모리내의 장소를 세트 또는 리세트하는 제5신호 및 제6신호를 발생시키는 메모리 카드.
  17. 호스트 컴퓨터와 통신하도록 상기 호스트 컴퓨터 내에 장착가능한 보안성 메모리 카드로서, 상기 메모리 카드는, 상기 호스트 컴퓨터로부터의 및 상기 호스트 컴퓨터로의 어드레스, 데이터 및 제어 정보를 송수신하기 위하여 연결된 마이크로프로세서이며, 메모리 영역에 대한 사용자의 액세스 가능성을 한정하는 다수의 키 값을 포함하는 정보를 저장하기 위한 어드레스 가능 비 휘발성 메모리 및 상기 메모리 영역에 메모리 판독 액세스 가능성을 한정하는 메모리 구성 정보를 포함하며, 단일 반도체 칩 상에 형성된 마이크로프로세서, 상기 카드에 의해 수행되는 메모리 동작들을 한정하는 어드레스, 데이터 및 제어 정보를 송신하기 위한 내부 버스 및 상기 어드레스, 데이터 및 제어 정보를 수신하기 위해 상기 마이크로프로세서와 공동으로 상기 내부 버스에 연결된 적어도 하나의 비 휘발성 어드레스 가능 메모리 칩을 포함하여, 상기 메모리 칩은 비 휘발성 메모리 부와 보안 부를 포함하고, 상기 메모리 부는 다수의 블록으로 구성되면서 데이터 출력을 가진 비 휘발성 메모리 어레이를 포함하며, 상기 각 블록은 복수의 어드레스 가능 장소 및 상기 메모리 동작을 수행하기 위한 제어 논리 수단을 가지고, 상기 보안 부는 상기 내부 버스, 상기 제어 논리 수단 및 상기 데이터 출력에 연결되며, 상기 보안 제어 부는, 상기 다수의 키 값 중의 하나에 매치되는 소정 로크 값을 최초 수신하고 영구 저장하기 위하여 상기 내부 버스에 결속된 비 휘발성 로크 메모리, 상기 제어 논리 수단 및 상기 로크 메모리에 연결되어 상기 소정 로크 값이 상기 마이크로프로세서에 의해 상기 키 값 중의 하나에서 선정되어 상기 내부 버스에 인가된 값과 동일하게 매치될 때를 검출하여 인에이블 신호를 발생시키는 액세스 제어 논리 수단 및 상기 메모리 판독 액세스 가능성을 한정하는 상기 메모리 구성 정보를 저장하기 위한 상기 메모리 어레이의 블록의 개수에 해당하는 갯수의 복수의 장소를 가진 어드레스 가능 휘발성 액세스 제어 메모리를 포함하며, 상기 액세스 제어 메모리는 상기 제어 논리 수단에, 상기 메모리 어레이 데이터 출력에, 상기 내부 버스에 및 상기 액세스 제어 논리 수단에 연결되고, 상기 액세스 제어 논리 수단은 상기 마이크로프로세서가 상기 호스트 컴퓨터와 소정 증명 절차가 성공적으로 수행 완료되고 상기 키 값 메모리 중의 소정값이 전송 완료된 것을 결정하여 상기 액세스 제어 논리 수단이 상기 액세스 제어 메모리 구성 정보에 의해 한정된 바와 같이 상기 정보를 판독 인에이블 하도록 상기 데이터 출력에 애플리케이션을 위한 인에이블 신호를 발생시키는 것을 야기한 후에만 상기 메모리 구성 정보에 의해 한정된 바와 같은 상기 메모리 어레이의 상기 블록 중의 어드레스된 블록 내에 저장된 정보의 판독을 인에이블 시키는 메모리 카드.
  18. 다수의 비 휘발성 메모리 칩을 포함하며, 각 메모리 칩은 어드레스 가능 장소의 블록들로 구성된 메모리 어레이를 포함하고, 다수의 동작 모드의 가능성을 가진 보안성 메모리 카드로서, 상기 카드는, 로크 값을 저장하기 위한 로크 메모리, 제1명령과 제2명령 및 소정 키 값을 발생시키는 제어 수단, 상기 제어 수단에 연결되고 상기 제1명령에 응답하여 상기 소정 키 값을 저장하기 위한 키 레지스터, 상기 로크 메모리 및 상기 키 레지스터에 연결되고, 상기 로크 값과 상기 소정 키 값이 동등할 때 마다 비교 신호를 발생시키는 비교기, 상기 발생 수단에 연결되고 상기 제1명령에 응답하여 상기 카운터를 최대 카운트 값으로 설정하기 위한 지연 카운터이며, 계속적 시퀀스의 상기 제2명령에 응답하여 상기 지연 카운터가 ZERO로 감소 완료되었을 때 ZERO 카운트 신호를 발생시키는 상기 지연 카운터, 상기 비교기 및 상기 지연 카운터에 연결된 논리 회로 수단이며, 상기 비교 신호 및 상기 ZERO 카운트 신호에 응답하여 액세스 변경 허용 신호를 발생시키는 상기 논리 회로 수단, 제3명령을 발생시키는 상기 제어 수단이며, 상기 블록 중의 처음 블록 및 여기에 연속하는 블록들을 각각 지시하는 제1어드레스 신호 및 어드레스 신호들을 발생시키는 상기 제어 수단 및 상기 블록 중의 한 블록 및 여기에 연속하는 블록들이 판독 인에이블 되었을 때를 지시하는 것을 저장하기 위한 상기 제3명령, 상기 어드레스 신호들 및 상기 메모리 액세스 인에이블 신호에 응답하는 액세스 제어 메모리 수단을 포함하는 메모리 카드.
  19. 제18항에 있어서, 상기 소정 값 및 최대 값은 상기 메모리 카드가 비 공인 호스트 컴퓨터에 위치될 때에 상기 비 휘발성 메모리 내에 저장된 상기 정보에 쉽게 액세스되는 것이 방지되도록 충분히 크게 선정된 메모리 카드.
  20. 제18항에 있어서, 상기 제어 수단은 상기 메모리에 연결된 마이크로프로세서이며, 사용자의 최초 증명 동작이 성공적으로 수행됨에 따라 상기 제1명령, 제2명령 및 제3명령을 발생시키는 마이크로프로세서를 포함하는 메모리 카드.
  21. 제20항에 있어서, 상기 제1명령은 키 로드 명령이며, 상기 제2명령은 감소 명령이며, 상기 제3명령은 블럭 판독 허용 명령인 메모리 카드.
  22. 제18항에 있어서, 상기 메모리는 상기 카드가 정규의 메모리 동작을 수행하는 것을 조정하도록 하는 소정 세트의 명령을 디코드(decode)하기 위한 명령 제어 수단을 더 포함하며, 상기 명령 제어 수단은 상기 메모리 내에 저장된 정보의 보안을 제공하도록 하는 상기 제1명령, 제2명령 및 제3명령이 포함된 추가 세트의 명령을 디코드하기 위한 수단을 포함하는 메모리 카드.
  23. 다수의 비 휘발성 메모리 칩을 포함하는 호스트 컴퓨터 내에 장착 가능하며, 각 메모리 칩은 메모리 동작을 수행하기 위한 명령 신호를 발생하기 위한 제어 논리 회로 및 어드레스 가능 장소의 블럭들로 구성된 메모리 어레이를 포함하는 보안성 메모리 카드의 형성 방법으로서, 메모리 영역에 대한 액세스 가능성을 한정하는 메모리 구성 정보 및 사용자가 상기 메모리 영역에 액세스 가능성을 한정하는 다수의 키 값을 포함하는 정보를 저장하기 위한 어드레스 가능 비 휘발성 메모리를 포함하는 마이크로프로세서를, 카드에 장착되어 상기 호스트 컴퓨터와 통신하도록 상기 카드에 결합시키는 제(a)단계, 소정 로크 값을 저장하기 위한 비 휘발성 로크 메모리, 상기 로크 메모리에 연결된 액세스 제어 논리 회로 및 상기 구성 정보에 따라 액세스 가능 비트 정보를 저장하기 위한 복수개의 장소에 해당하는 상기 복수개의 블럭을 가진 어드레스 가능 휘발성 액세스 제어 메모리를 포함하는 보안 논리 회로를, 각 비 휘발성 메모리 칩에 결합시키는 제(b)단계, 각 메모리 칩에 어드레스, 데이터 및 제어 정보를 전송하도록 상기 마이크로프로세서를 각 메모리 칩에 결속시키는 제(c)단계, 상기 보안 논리 회로를 동작시키기 위해 상기 제어 논리 회로를 복수의 명령에 응답하도록 변경시키는 제(d)단계, 상기 마이크로프로세서가 상기 호스트 컴퓨터와 소정의 사용자 증명 동작을 최초 수행하는 제(e)단계 및 상기 마이크로프로세서가 상기 액세스 제어 메모리 내에 저장된 상기 액세스 가능 비트 정보에 따라서 상기 블럭의 개별 블럭에 저장되어 있는 정보를 판독 허용하도록 제(e)단계에서의 상기 증명 동작이 성공적으로 수행 완료된 때에만 상기 복수의 명령 중의 특정 명령을 상기 각 칩에 전송하는 것에 의해 상기 보안 논리 회로를 인에이블 하게 하는 제(f)단계로 구성된 메모리 카드의 형성 방법.
  24. 제23항에 있어서, 상기 마이크로프로세서의 비 휘발성 메모리는 다수의 부를 가지며, 상기 제(a)단계는 상기 다수의 부 중의 첫째 부내에서 상기 키 값의 로드 및 상기 키 값을 위한 랜덤 값을 발생시키는 단계를 더 포함하는 단계로 구성된 메모리 카드의 형성 방법.
  25. 제24항에 있어서, 상기 마이크로프로세서는 상기 마이크로프로세서의 비 휘발성 메모리에 연결된 인터발 카운터를 더 포함하며, 상기 제(a)단계는 사용자가 선정한 시간 인터발을 발생시키는 단계 및 상기 사용자가 선정한 시간 인터발 값을 상기 인터발 카운터 내에 로드하는 단계를 더 포함하며, 상기 사용자가 선정한 시간 인터발의 주기로서 상기 제(e)단계에서의 사용자의 증명 동작을 시도시키는 제(g)단계 및 상기 제(b)단계의 상기 증명 동작이 성공적으로 수행되는 한 상기 액세스 가능 비트 정보에 따라서 상기 블럭 내에 저장된 상기 정보를 계속적으로 판독 허용케 하는 제(h)단계를 더 포함하는 메모리 카드의 형성 방법.
  26. 많은 양의 정보를 저장하기 위한 다수의 비 휘발성 메모리 칩을 포함하며, 각 메모리 칩은 메모리 동작을 수행하도록 명령 신호를 발생시키기 위한 제어 논리 회로 및 어드레스 가능 장소의 블럭으로 구성된 메모리 어레이를 포함하는 보안성 메모리 카드의 형성 방법으로서, 메모리 영역에 대한 액세스 가능성을 한정하는 메모리 구성 정보 및 상기 메모리 영역에 대한 사용자의 액세스 가능성을 한정하는 다수의 키 값을 포함하는 정보를 저장하기 위한 어드레스 가능 비휘발성 메모리를 포함하는 마이크로프로세서를 상기 카드에 결합시키는 제(a)단계, 소정 로크 값을 저장하기 위한 비 휘발성 로크 메모리, 상기 로크 메모리에 연결된 액세스 제어 논리 회로 및 상기 구성 정보에 따라 액세스 가능 비트 정보를 저장하기 위한 복수개의 장소에 해당하는 상기 복수개의 블럭을 가진 어드레스 가능 휘발성 액세스 제어 메모리를 포함하는 보안 논리 회로를, 각 비 휘발성 메모리 칩에 결합시키는 제(b)단계, 각 메모리 칩에 어드레스, 데이터 및 제어 정보를 전송하도록 상기 마이크로프로세서를 각 메모리 칩에 연결시키는 제(c)단계 및 상기 제어 논리 회로에 의해 정규로 제공되는 한 세트의 명령에 대한 확장으로서 상기 보안 논리 회로를 동작시키기 위한 복수의 명령에 결합되도록 상기 제어 논리 회로를 변경하는 제(d)단계로 구성되어, 상기 보안 논리 회로가 상기 칩이 상기 메모리 카드로부터 탈착되더라도 상기 다수의 칩 내에 함유된 정보를 비 공인 방법으로 판독하는 것이 방지되는 메모리 카드의 형성 방법.
  27. 비휘발성 메모리부 및 보안 제어부를 포함하고, 상기 메모리부는, 각각 다수의 어드레스가능한 장소를 갖는 다수의 블럭으로 구성된 메모리 어레이(54), 및 메모리 동작을 행하기 위한 제어 논리 수단(50)을 내장하고, 상기 보안 제어부는 상기 제어 논리 수단 및 상기 메모리 어레이에 연결되는 비휘발성 메모리칩(103a)으로서, 상기 보안 제어부는, 상기 블럭과 조합된 구성 정보 및 적어도 하나의 키 값을 저장하기 위한 다수의 비휘발성 기억 장치(31,35)와 휘발성 기억장치(33,43); 및 상기 제어 논리 수단(50)과 상기 기억장치들에 연결된 액세스 제어 논리 수단(32,34,39)을 포함하고, 상기 액세스 제어 논리 수단은, 상기 메모리칩(103a)이 사용자와 소정의 증명 절차를 행한 것을 나타내는 신호를 외부 마이크로프로세서(10)로부터 수신한 후에만 상기 구성 정보에 의해 지정된 상기 메모리 어레이(54)의 블럭중 어드레스된 것들에 저장된 정보를 판독할 수 있고, 상기 액세스 제어 논리 수단(32,34,39)은, 상기 구성 정보에 따라 상기 메모리 어레이(54)로부터 상기 정보를 판독할 수 있도록 하는 것을 특징으로 하는 비휘발성 메모리칩.
KR1019950704967A 1994-03-07 1994-03-07 보안성 메모리 카드 KR100232086B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB1994/000031 WO1995024698A1 (en) 1992-10-14 1994-03-07 A secure memory card

Publications (2)

Publication Number Publication Date
KR960702651A KR960702651A (ko) 1996-04-27
KR100232086B1 true KR100232086B1 (ko) 1999-12-01

Family

ID=11004288

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950704967A KR100232086B1 (ko) 1994-03-07 1994-03-07 보안성 메모리 카드

Country Status (1)

Country Link
KR (1) KR100232086B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100476892B1 (ko) * 2002-04-29 2005-03-17 삼성전자주식회사 데이터의 부정조작을 방지하는 방법 및 그것을 이용한데이터 처리 시스템
KR100730903B1 (ko) 1999-04-07 2007-06-22 소니 가부시끼 가이샤 향상된 호환성을 갖춘 보안형 메모리 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100808948B1 (ko) 2006-12-19 2008-03-04 삼성전자주식회사 비휘발성 메모리의 보안장치 ,보안방법 및 그 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100730903B1 (ko) 1999-04-07 2007-06-22 소니 가부시끼 가이샤 향상된 호환성을 갖춘 보안형 메모리 장치
KR100476892B1 (ko) * 2002-04-29 2005-03-17 삼성전자주식회사 데이터의 부정조작을 방지하는 방법 및 그것을 이용한데이터 처리 시스템

Also Published As

Publication number Publication date
KR960702651A (ko) 1996-04-27

Similar Documents

Publication Publication Date Title
US5293424A (en) Secure memory card
JP2755828B2 (ja) 複数のマイクロプロセッサ間でアプリケーション・データおよび手続きを共用するための安全なアプリケーション・カード
KR100232087B1 (ko) 프로그램으로 제어되는 시큐리티 액세스 콘트롤을 가진 보안성 메모리 카드
US7010684B2 (en) Method and apparatus for authenticating an open system application to a portable IC device
US5841868A (en) Trusted computer system
US5610981A (en) Preboot protection for a data security system with anti-intrusion capability
US20060036851A1 (en) Method and apparatus for authenticating an open system application to a portable IC device
US20050108532A1 (en) Method and system to provide a trusted channel within a computer system for a SIM device
JPH07508604A (ja) カード読取り装置を用いてプログラムおよびデータを保護する装置
JPS6138519B2 (ko)
JPS6325393B2 (ko)
CN101213556B (zh) 评估令牌实现的计算机系统的机制
US20050200504A1 (en) Electronic data processing device
KR100232086B1 (ko) 보안성 메모리 카드
WO1995024698A1 (en) A secure memory card
KR100606196B1 (ko) 모바일 플랫폼 트랜잭션을 위한 신뢰 입력
JP3234959B2 (ja) マイクロコンピュータおよびこれを内蔵するカード
JPH10187543A (ja) メモリアクセス方法および情報処理装置およびカード処理装置
WO2000016179A1 (en) Method and device of disabling the unauthorised use of a computer
CA2162287C (en) A secure memory card

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: 20090902

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee