KR100232087B1 - 프로그램으로 제어되는 시큐리티 액세스 콘트롤을 가진 보안성 메모리 카드 - Google Patents

프로그램으로 제어되는 시큐리티 액세스 콘트롤을 가진 보안성 메모리 카드 Download PDF

Info

Publication number
KR100232087B1
KR100232087B1 KR1019950703948A KR19950703948A KR100232087B1 KR 100232087 B1 KR100232087 B1 KR 100232087B1 KR 1019950703948 A KR1019950703948 A KR 1019950703948A KR 19950703948 A KR19950703948 A KR 19950703948A KR 100232087 B1 KR100232087 B1 KR 100232087B1
Authority
KR
South Korea
Prior art keywords
memory
command
bit
block
bits
Prior art date
Application number
KR1019950703948A
Other languages
English (en)
Other versions
KR960701415A (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 미쉘 꼴롱브
Publication of KR960701415A publication Critical patent/KR960701415A/ko
Application granted granted Critical
Publication of KR100232087B1 publication Critical patent/KR100232087B1/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
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)
  • Burglar Alarm Systems (AREA)
  • Selective Calling Equipment (AREA)
  • Fire Alarms (AREA)

Abstract

내부 버스를 통해 다수의 어드레스 가능한 비휘발성 메모리칩(103a, 103b, ...103n)과 결합된 단일 반도체 칩 상의 마이크로프로세서를 포함하고 있는 보안성 메모리 카드. 이 마이크로프로세서는 다수의 키 값들을 저장하기 위한 어드레스 가능한 비휘발성 메모리를 포함하고 있다. 각 칩의 메모리(54)는 다수의 블록들로서 구성되어 있으며, 각 블록은 다수의 열의 바이트 로케이션을 포함하며, 이것의 총합은 로크 값의 저장장소로서 제공된다. 각 메모리칩(103a, 103b, ...103n)은, 호스트 컴퓨터와의 증명절차(authentication procedure) 기간 중에, 로크 비트 로케이션들의 비트 내용들과 키 값들을 비교하도록 하는, 소정 키 확인 동작을 수행하기 위하여 사전 계획된 시큐리티 콘트롤 로직 회로(30)를 포함하도록 형성되어 있다.

Description

프로그램으로 제어되는 시큐리티 액세스 콘트롤을 가진 보안성 메모리 카드
[발명의 상세한 설명]
[발명의 배경]
[발명의 분야]
본 발명은 휴대용 개인 컴퓨터 분야, 특히 휴대용 디지탈 정보 환경에서의 데이터 보안을 유지하기 위한 시스템에 관한 것이다.
[종래의 기술]
개인 정보에 관한 보안은 항상 중요시되어 오고 있으며, 역사적으로 볼때, 서명, 신임 증명서 및 사진의 사용을 통하여 지켜져 오고 있다. 자동화된 은행업무 기계에서와 같은 전자적 장치에서는 보안기구의 목록에 부호화된 카드 및 개인적인 신원확인번호(personal identification number ; PIN)들이 부가되어 있다.
더욱 최근에는, 보안기구로서 ″스마트 카드(smart card)″가 사용되어 왔다. ″스마트 카드″란 기록가능하고 비휘발성인 메모리 및 간단한 입/출력 인터페이스가 싱글 칩으로서 조립되어 플라스틱으로 된 신용카드에 형성되어 있는 소형의 마이크로 컴퓨터를 말한다. 그것은 외부 핀이 있어, 특수하게 디자인된 장비와 연결도 가능하게 된다. 카드내의 마이크로 컴퓨터에 담겨진 프로그램은 이 장비와 상호 작용하여, 패스워드의 교환행위를 임의적으로 포함할 수도 있는 소정 알고리즘에 따라, 그 비휘발성 메모리의 데이터 판독 및 변경을 가능하게 한다. 상황조건에 따라서, 메모리 데이터를 보호하며 또한 변경을 허용케 하기 위한 특수한 기술들이 실행되어 오고 있다. 예로서, ″온-칩(on-chip) 변경가능한 메모리를 가진 싱글 칩 마이크로프로세서″ 라는 명칭을 가진 미국 특허번호 4,382,279에는 비휘발성 메모리의 자동적인 프로그래밍을 가능케 하는 아키텍쳐가 도시되어 있는 바, 이 메모리는 처리 및 제어 유닛과 동일한 칩에 들어있다. 기타의 시스템에서와 같이, 이 마이크로프로세서는 동일 칩상의 메모리만을 보호할 뿐이다.
″스마트 카드″는 신원확인의 프로세스를 용이하게 하고, 또한 중요한 정보의 실제적인 저장장소로서의 두가지 기능을 수행해 오고 있다. 종래 대부분의 상황조건인 이런 상황에서 확인(verification) 또는 증명(authentication)의 프로세스의 일부분으로서 ″키″ 의 실질적 존재와 더불어 약간의 특수정보가 이용되어 오고 있다. 그러한 경우에 있어서, 신원확인에는 액세스(access)를 원하는 사람과 고정되어 있는 에이젠트(agent)간의 대화가 수반되는 데, 이 때 에이젠트로는 보안 감시인 또는 자동화된 출납기계와 같은 것이 있다.
현재의 자립형 연산 장치의 휴대 용이성은 ″실질적 키″ 및 증명 에이젠트(authentication agent)가 소형, 휴대가능하게 되는 한편 분실되거나 도난되기 쉽게 된다. 게다가, 연산 장치들은 신원확인 프로세스에 관련된 패스워드 또는 특수정보를 추측하거나 추론하기 위한 반복적 시도를 가능하게 한다. 이것은 만일 증명에이젠트 또는 장치가 도둑질한 자의 수중에 있게되는 경우에는 더욱 가능하게 된다. 기술은, 막대한 양의 센시티브한 정보들을 개인의 신변에 휴대하는 것을 가능하게 하며 이를 장려하게 되는 반면, 재난은 일어나기 쉽다는 데에 문제가 있는 것이다.
또한, 오늘날의 노트북. 서브노트북 사이즈의 컴퓨터는 상당한 연산능력을 갖는 자립형 환경을 제공하고 있는 바, 이 연산능력은 부가적 데이터 저장용량을 필요로 한다. 이러한 필요는, 초기에는, 프로그램과 데이터를 저장가능한 소형의 하드 디스크 장치로 충족되어 왔다. 이러한 시스템에서 패드워드에 의한 보호가 자주 사용되고 있지만, 센시티브한 데이터의 완전한 보호에는 미치지 못하고 있다. 왜냐하면, 첫째로, 증명 에이젠트가 공격받기 쉬운 약점을 안고 있기 때문이다. 한편, 더욱 중요한 것은, 그 데이터를 보유하고 있는 디스크 장치는 물리적으로 착탈될 수 있어 분석하기 위한 장치대(setting)에서 접근가능하다는 것이다. 이런 경우에, 데이터는 어떤 형태의 암호의 채용을 통해 보호되어 오고 있다. 디스크 액세스의 특성상 이것은 지나친 비용이나 실행상의 장벽없이 가능하다. 이런 형태의 시스템의 한 예가 ″집적회로 카드″라는 명칭의 미국 특허번호 4,985,920에 설명되어 있다.
최근의 플래시 메모리 및 착탈가능한 ″메모리 카드″의 출현은 휴대용 컴퓨터의 휴대특성에서의 사이즈 및 소비전력에 있어 큰 감소를 가져 오게 하였다. 플래시 메모리는 랜덤 액세스 메모리(RAM)에서의 융통성과 디스크의 영속성을 결합하였다. 오늘날, 그런 기술의 결합으로서, 신용카드 크기의 착탈가능한 팩키지에 2천만 바이트의 데이터를 무전원으로 저장하는 것이 가능하다. 이러한 데이터는 호스트 시스템에서 볼 때는 통상의 디스크 드라이브는 물론 호스트 시스템의 메모리 확장기에 저장되어 있는 것처럼 보일 수 있는 것이다.
이러한 기술의 개발은, 시스템 사이즈를 더욱 더 감소시켜서 시스템과 데이터를 개인의 신변에 휴대가능하게 하는 정도까지 가능케 하고 있다. 이것은 데이터 및 그 호스트 시스템의 분실이나 도난의 면에서 더욱 공격받기 쉽게 되게 하고 있으며 암호에 의한 메모리 데이터의 보호에는 비용 및 실행상의 장벽이 나타나게 되어 더욱 어려워지는 것이다.
이에 따라, 본 발명의 주 목적은 보안성의 메모리 서브 시스템을 가진 휴대용 디지탈 시스템을 제공하는 것이다.
본 발명의 다른 목적은 휴대용 디지탈 시스템에서 제거된 경우에도 내용의 보호가 가능한 메모리 카드를 제공하는 것이다.
본 발명의 또 다른 목적은 이와같은 카드에서 제거된 경우에도 카드 칩의 데이터 내용이 보호되는 메모리 카드를 제공하는 것이다.
본 발명의 다른 목적은 설계상의 간결성으로 인해 용이하게 제조할 수 있는 보안성 메모리 서브시스템을 제공하는 것이다.
[발명의 요약]
본 발명의 상기목적 및 기타의 목적이 관련 미국 특허출원(출원번호 906.748)에서 기술된 보안성 메모리 카드의 바람직한 실시예에 의하여 달성된다. 그 보안성 메모리 카드는 싱글 반도체 칩의 마이크로프로세서와 하나 또는 그 이상의 비휘발성 어드레서블(addressable) 메모리칩들을 포함하고 있다. 상기 마이크로프로세서 칩과 비휘발성 메모리칩은 어드레스, 비휘발성 메모리칩에 데이터 및 제어정보를 송신하기 위한 내부 버스로 공통 접속되어 있다. 상기 마이크로프로세서는, 다수의 키 값(key values) 및 내부 버스상의 어드레스, 데이터 및 제어정보의 전송제어를 위한 프로그램 지시정보와 같은 정보들을 저장하기 위한 어드레스 가능한 비휘발성 메모리를 포함하고 있다.
본 발명에 따르면, 칩 메모리는 다수의 블럭으로 구성되어 있으며, 각 블럭은, 복수의 어드레서블 바이트 로케이션(addressable byte location)을 각각 포함하고 있는, 다수의 열(row)을 가지고 있다. 상기 각 열은 단일의 로크 비트 로케이션(lock bit location)을 포함하고 있으며, 이것은 다른 열의 로크 비트 로케이션과 집단화 되므로서, 각 블럭내에는, 칩 메모리의 크기 증가가 거의 없이도, 상당한 수의 로크 비트들의 저장수단이 제공된다. 로크 비트들은 비휘발성 메모리의 소정 특징을 활용하여 데이터 보호를 보증하게 되도록 독특하게 코드화된다.
또한, 본 발명에 따르면, 각 메모리칩은 시큐리티 콘트롤 로직 회로들을 포함하도록 구성되어 있는 바, 이 회로는 복수의 액세스 콘트롤 저장소자를 가진 휘발성의 액세스 콘트롤 메모리 및 키 확인 동작을 수행하는 소수의 회로를 포함하고 프로그램가능한 시큐리티 액세스 콘트롤 유닛을 포함하고 있다. 더 자세하게는, 이미 설정되어 있는 명령 세트(set)의 통제하에서, 시큐리티 액세스 콘트롤 유닛은 보호되고자 한 블럭에 대하여, 메모리 블럭의 로크 비트 포지션에 담겨져 있는 비트를, 명령에 대응하여 키 값 비트들에 대해 직렬 비교하는 방법에 의해, 소정의 키 확인 동작을 수행한다.
이러한 확인동작은 소정 증명절차의 일부분으로서 호스트 컴퓨터에 의해 수행된다. 마이크로프로세서는 이런 절차의 수행 성공이 있은 후에만, 한 블럭의 메모리 액세스 콘트롤 소자에 대해 이것과 연합된 휘발성의 액세스 콘트롤 메모리를 인에이블(enable)로 세트하여, 사용자로 하여금 보호되고자 한 블럭으로부터 정보를 판독하기 위해 액세스 하도록 하게 할 수 있다.
관련 특허출원의 경우에 있어서는, 사용자는, 주기적으로 호스트 컴퓨터로부터의 증명절차가 성공적으로 수행되고, 액세스 콘트롤 메모리에 의해 허용되어 정보판독이 계속적으로 허용되도록 요구받을 수 있다. 바람직한 실시예에서는, 호스트 컴퓨터는 퍼스널 컴퓨터 메모리 카드 국제 협회(personal computer memory card international assosiation ; PCMCIA)의 기준의 인터페이스에 순응하는 것과 같은 표준 인터페이스를 통해 메모리 카드와 결합된다.
시큐리티 로직 회로의 바람직한 실시예는, 각 블럭의 메모리 열당 하나의 수에 상당하는 수의 다수의 로크 비트 로케이션을 포함하는 최소한의 수의 로직 회로, 하나의 엔드 카운터, 하나의 비교기와 비교 축적 플립-플롭 및 각 메모리 블럭에 대하여 하나의 비트 로케이션 또는 플립-플롭을 포함하는 하나의 액세스 콘트롤 메모리를 포함한다. 엔드 카운터는 저장된 키 값의 엔드부분임을 감지하기 위하여, 블럭의 로크 비트 로케이션에서의 연속적인 ONE 비트를 카운트하는데 사용된다. 비교기는 명령에서 제시된 각 데이터 비트와 여기에 상당하는 로크 비트 로케이션에 저장된 로크 비트를 비교하고, 비교 축적 플립-플롭은 여기에서 비교된 일련의 연속적인 비교결과를 축적한다.
본 발명은 병렬의 데이터 경로, 병렬 데이터 비교기 및 추측에 대항하여 큰 보호를 제공하기 위하여 선택된 큰 키 값들을 저장하기 위한 큰 레지스터 폭의 필요성을 제거한다. 바람직한 실시예에 있어서, 각 블럭은 최대로 8 킬로비트의 키 길이를 제공할 수 있다. 이것은 큰 레지스터 폭 또는 더 넓은 병렬 경로를 제공하기 위한 문제들에 대한 염려없이 이루어진다. 더구나, 오늘날은 마이크로프로세서의 속도로 인해 키 길이가 큰 값을 처리하기 위해 필요한 시간은 여전히 초단위 아래의 범위에 있게 된다. 게다가 그러한 처리는 통상적으로 시스템 초기화 기간중에만 발생된다.
본 발명에 따라, 키 값들은 각 키 값의 처음 비트가 메모리칩의 소정 특성을 활용하기 위한, 소정 상태로 설정되도록 선정된다. 더욱 자세하게는, 바람직한 실시예의 메모리에 있어서, 메모리가 소거될 때 모든 비트들은 ONEs로 세트되고, 메모리에의 기입은 ONEs를 ZEROs로는 바꿀 수 있으나 ZEROs를 다시 ONEs로는 바꿀 수는 없다. 본 발명은 그러한 특성을 이용하여, 각 키의 처음 비트를 이러한 소정 상태 (즉 ZERO)로 설정될 것을 요구하여 이를 각 블럭의 보호 비트로 준비되도록 한다. 게다가, 키들은 보호를 더욱 보증하게 하는 소정 프로토콜에 따라 코드화된다. 바람직한 실시예에 있어서, 프로토콜은 하이-레벨 데이터 링크 콘트롤 (HDLC)의 통신 프로토콜과 같은 유명한 통신 프로토콜에서 사용되는 것과 유사한 룰(rule)을 사용한다. 즉 각 키 값 비트 시퀀스는, 소정 숫자만큼의 연속적인 ONE 비트들을 포함하는 플래그 필드(flag field)는 제외하고, 소정 숫자만큼의 연속적인 ONE 비트들보다 적은 숫자가 되도록 코드화된다. 만일 어떤 엔드 코드(end code)의 비트들이 부당하게 변경된다면, 키 값의 엔드(end)를 검출하여 어떤 특별한 블럭에 접근한다는 것은 불가능하게 될 것이다. 또한, 키 값의 다른 비트들이 부당하게 변경된다면, 로크와 키 값이 미스매치되므로서 액세스가 방지되게 된다.
또한, 본 발명에 따르면, 몇가지 다른 종류의 명령이 활용되어 키 확인 동작을 수행하게 된다. 여기에는 키 확인 동작을 시작하도록 하는, 1회만 실행되는, 제1형태의 명령이 포함되게 된다. 만일 메모리 블럭이 보호되지 않는다면, 이것은 수행되어야 할 오직 하나의 명령인 것이다. 마이크로프로세서는, 키 비트들의 시퀀스 안에 있는 각 비트에 대해 하나씩인, 제2형태의 명령을 실행한다. 제2형태의 명령은, 블럭의 로크 비트 로케이션에 저장되어 있는 로크 비트들의 시퀀스에 상응하는 로크 비트와 키 비트 시퀀스에 한 비트가 비교되도록 한다. 마이크로프로세서는 제3형태의 명령을 실행하여 키 확인 동작을 달성하게 된다. 이 명령은 비교 축적 플립-플롭에 저장되어 있는 축적된 비교결과를 샘플링시키고, 엔드 카운터를 테스트 하고, 그 결과들이 정확한 값을 가질 때에만 블럭의 액세스 콘트롤 메모리 비트를 세트한다. (즉, 카운터와 비교 축적 플립-플롭이 정확한 상태에 있는 때를 말한다.)
또한 바람직한 실시예에 있어서, 이같은 한 세트의 명령들은 메모리 카드를 조립하는 과정중에, 또는 블럭을 선택하여 소거동작을 시키는 과정중에 사용되도록 개조가 가능하다. 즉, 키 값의 비트들을 판독하는 것이 아니라, 소거동작 이후에 메모리 블록의 로크 비트 포지션에 키 값 비트 시퀀스를 기입시키는 데 명령이 사용되게 할 수도 있다.
본 발명은 각 메모리 블럭에 대해 개별적인 로크(lock)를 제공함으로써, 관련 특허출원인 보안성 카드의 용량을 확장시키고 있다. 또한, 키 값의 길이의 가변성을, 보호되어야 할 정보에 준하여 보호의 용량을 정하는 함수로 사용하게 하기도 한다. 게다가, 본 발명은 상당히 적은 수의 회로소자를 요구하므로서, 구성을 쉽게 하고 비용절감을 하게 한다. 관련 특허출원의 경우에 있어서는, 본 발명은 ″스마트 카드″와 ″메모리 카드″의 기술을 융합시켜, 전자적 축소화에 따른 ″보안의 엄격성″ 분야에 있어 플래시 메모리 기술에 의한 대용량의 데이터의 보호를 가능케 하는, 열쇠가 된다. 본 발명은, 보안 모드 및 비 보안 모드 양쪽에서 동작가능하며, 데이터의 암호화 및 해독의 필요성을 제거하고, 또한 카드 또는 그의 호스트 프로세서가 분실, 도난, 무전원 또는 방치상태에 있게 되는 경우에도 메모리 데이터가 보호되는, 관련 특허출원인 보안성 카드의 특징을 아울러 보유하고 있다. 절도의 경우에, 메모리 카드를 분해하여 전자적으로 프로브 검사하거나 메모리칩을 제거하고 또 다른 장치에 설치하더라도 메모리 데이터는 접근이 보호되게 된다.
상기한 목적들과 본 발명의 특징을 첨부된 도면을 참조하여 상세히 설명한다.
[도면의 간단한 설명]
제1도는 본 발명에 따라 구성된 메모리 카드를 결합시킨 시스템의 블럭선도이다.
제2도는 제1도에서의 액세스 콘트롤 프로세서(ACP)의 비휘발성 메모리의 구조를 포함하여 더욱 세부를 보여주고 있다.
제3도는 본 발명에 따라 개조된, 제1도에서의 표준적 플래시 메모리의 블럭선도를 보여주고 있다.
제4도는 본 발명에 따라 구성된 제3도에서의 플래시 메모리의 더욱 세부를 보여주고 있다.
제5도는 본 발명의 메모리 카드의 동작을 설명하기 위하여 사용되는 표이다.
제6(a)도에서 제6(c)도는 본 발명의 메모리 카드의 동작 모드를 설명하기 위하여 사용된 플로우 챠트이다.
[바람직한 실시예에 대한 설명]
제1도는 퍼스널 컴퓨터 또는 상거래용 프로세서에 사용가능한 보안성의 휴대용 핸드-헬드(hand-held)의 컴퓨팅 시스템(1)의 블럭선도이다. 시스템(1)은 버스(102)에 의하여 호스트 프로세서(5)에 연결되고, 본 발명에 따라 구성된 메모리 카드(3)를 포함하고 있다. 호스트 프로세서(5)는 휴렛-패커드사에서 제조한 HP 95LX와 같은 팜 탑(palm top) 퍼스날 컴퓨터의 형태를 취할 수도 있다.
호스트 프로세서(5)는 버스(106)로서 공통접속된 액정표시장치(5-2), 키 보드(5-4), 메모리(5-8) 그리고 직렬 인터페이스(5-10)를 포함한다. 메모리(5-8)는 1메가 바이트의 읽기 전용 메모리(ROM)와 512키로 바이트의 랜덤 액세스 메모리(RAM)를 포함한다.
메모리 카드(3)와 호스트 프로세서(5) 간의 접속은 표준의 버스 인터페이스를 통해 이루어진다. 바람직한 실시예에 있어서, 버스(102)는 퍼스날 컴퓨터 메모리 카드 국제 협회(PCMCIA)의 표준에 따른다. 인터페이스(102)는, 표준의 인터페이스 칩(104)과 메모리 카드 버스(105)를 경유하여 호스트 프로세서(5)와 메모리 카드 시스템(3) 간의 어드레스, 콘트롤 및 데이터 정보를 전송하기 위한 경로를 제공한다. 각 버스(102, 105 및 106)들은 데이터 버스, 콘트롤 버스 및 어드레스 버스를 포함하고 있으며 모두, 동종의 버스를 통하는 지속적인 신호의 경로로서 제공되고 있다. 예를 들면, 105 버스(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 이다). 플래시 메모리의 구성소자에 대한 자세한 정보는 IEEE 스펙트럼 간행물로 1993년 8월 출판된 ″주류로 가는 플래시 메모리 ; Flash Memory Goes Mainstream″ 라는 제목의 기사를 참조하기 바란다.
[액세스 콘트롤 프로세서(10)]
제2도는 바람직한 실시예로서 액세스 콘트롤 프로세서(ACP)(10)의 블럭선도를 보여주고 있다. 나타낸 바와 같이, ACP(10)는 보호된 비휘발성 메모리(10-2), 랜덤 액세스 메모리(RAM)(10-4), 마이크로프로세서(10-6), 인터발 카운터(10-8) 및 버스(105)에 연결된 인터페이스 블럭(10-10)을 포함하고 있다. 비휘발성 메모리(10-2)는 증명정보(authentication information)와 프로그램들을 저장하기 위한 다수의 어드레스가 지정된 장소로서 전담되고 있다. 더 자세하게는, 10-2a 메모리 장소 (10-2a)는 하나 또는 그 이상의 개인 신원확인 정보(PINs), 프로토콜 시퀀스, 또는 사용자가 시스템에 액세스된 것의 확인 및 재증명을 위해 사용되는 시간 인터발 값이 추가된 후에 사용자가 액세스하는 경우, 플래시 메모리(103a 에서 103n)의 블럭을 식별하도록 하기 위한 타 신원확인 정보를 저장한다.
10-2b 메모리 장소(10-2b)는, 각 플래시 메모리(103a 에서 103n)를 보호하기 위한 키 값을 저장하거나 각 플래시 메모리(103a 에서 103n)의 개별 블럭들을 보호하기 위하여 사용되는 코드들을 저장한다. 10-2c 메모리 장소(10-2c)는 증명동작(authentication operation)의 요구시 이를 수행하기 위한 프로그램 명령 시퀀스와, 소정 조건에 따라서 시스템이 실패로 되었을 때 시스템을 클리어하기 위한 프로그램 명령 시퀀스를 저장한다.
어떤 프로그램 명령은 사용자로 하여금, 사용자의 재증명(reauthentication) 실행을 성취하기 위한, 인터발 카운터(10-8)의 셋팅을 조절할 수 있도록 한다. 재 증명 인터발은 인터럽트 사이의 시간 간격과, 사용자가 PIN 또는 다른 패스워드를 재 입력하여 사용자의 신원확인의 증명을 요구하도록 호스트 프로세서(5)에 인터럽트를 보내는 시간을 규정한다. 인터발 카운터(10-8)는 버스(102)를 통해 호스트 프로세서(5)로부터 클록 펄스를 수신하며, 작업환경에 따라 사용자에 의하여 세트가 가능하다. 예를 들어, 가정에서, 사용자는 타이머를 오프로 할 수 있고(즉, 최대값으로 세트함) 또는 시간 간격을 한 시간으로 세트할 수도 있다. 비행기에서라면, 사용자는 보호를 강화하기 위하여 10 분으로 세트할 수도 있다. 사용자는 매번 ″파워 온″ 시에 이러한 인터발의 세팅을 재확인하도록 프롬프트(prompted)되므로, 주기적인 재증명 확인을 통하여 보안성을 강화하게 된다.
[플래시 메모리 (103a 에서 103n)]
제3도는 플래시 메모리(103a)의 블럭선도를 보여주고 있는데, 이것은 잔여 플래시 메모리(103b~103n)를 구성하는 것과 동일한 것이다. 보여지는 바와 같이, 메모리(103a)는 두개의 섹션으로 되어 있는 바, 하나는 본 발명에 따라 구성된 메모리 섹션(103M)이며 하나는 본 발명의 시큐리티 액세스 콘트롤 회로들을 포함하고 있는 시큐리티 로직 섹션(103S)이다. 제4도에서 양 섹션을 더 자세하게 보여주고 있다.
[메모리 섹션(103M)]
제3도에 도시한 바와 같이, 103M 섹션(103M)은 제4도에서 보여지는 16개 블럭으로 구성된 메모리 어레이(54), 코맨드 레지스터(50), 입/출력 로직 회로(60), 어드레스 카운터(51), 기입 상태기(write state machine)(61), 소거 전압 시스템(62), 출력 멀티플렉서(53), 데이터 레지스터(55), 입력 버퍼(51), 출력 버퍼(52), 상태 레지스터(58)들로 구성된다. 위에서 언급된 플래시 메모리(103a)의 기본적 로직 회로는 인텔사에서 제조된 플래시 메모리에 포함되어 있는 회로와 동형의 형태를 취한다. 이러한 회로는 설계상 관례적인 것들이기 때문에, 필요한 범위내에서만 설명하고자 한다. 그런 회로들에 대한 자세한 정보는 인텔사에 의해 1992년 출판된, 주문번호 210830, ″메모리 프로덕츠″라는 제목의 간행물 또는 인텔사의 기타 간행물을 참조하기 바란다.
제3도에 도시한 바와 같이, 플래시 메모리 회로는 복수의 입력 어드레스 신호(A0 - A16), 데이터 신호(D00 - D07) 및 칩 인에이블(CE), 기입 인에이블(WE), 출력 인에이블(OE), 전원 다운(PWD) 및 소거/프로그램 전원 공급 신호(VPP)들을 수령한다. 이러한 신호들에 의해 수행되는 기능들이 부록 I 에서 설명되어 있다.
CE, WE, OE 신호들은 버스(102)와 콘트롤 버스(105b)를 경유하여 호스트 프로세서(5)로부터 레지스터(50)와 I/O 로직 블럭(60)에 인가되고 지시된 로직 블럭을 콘트롤하기 위해 분산된다. PWD 신호는 역시, 플래시 메모리를 인에이블하기 위하여 코맨드 레지스터(50)에 인가되어 부록 I 에서 설명된 동작들을 수행한다. 또한, 이 신호는 필요한 경우 섹션(103S)의 휘발성 저장소자를 클리어하는데 사용될 수 있으며, 정상동작이 다시 계속되는 경우, 사용자의 재증명(reauthentication)을 강화하도록 한다.
일반적으로, 103M 섹션(103M)의 기본적 로직 요소들은 다음의 방법으로 동작된다. 정보는 데이터 버스(105a), 입력 버퍼(51) 및 어드레스 버스(105c)로부터 어드레스 카운터(56)에 의해 수령된 어드레스에 의해 규정된 메모리 블럭중의 하나의 어드레스 장소의 데이터 레지스터를 경유하여 메모리 어레이(54)에 저장된다. 정보는 메모리 어레이(54)의 규정된 어드레스 장소로부터 읽혀져서, 출력 멀티플렉서(53), 출력 버퍼(52), 데이터 버스(105a) 및 버스(102)를 경유하여 호스트 프로세서로 보내진다. 상태 레지스터(58)는 기입 상태기, 에러 정지 상태(error suspended status), 소거 상태, 프로그램 상태 및 VPP 상태를 저장하는데 사용된다.
기입 상태기(61)는 블럭소거와 프로그램 알고리즘을 제어한다. 프로그램/소거 전압 시스템(62)은 VPP의 전압레벨의 함수로서, 메모리 어레이(54) 또는 각 블럭의 프로그래밍 바이트를 소거하기 위해 사용된다.
[시큐리티 섹션(103S)]
제3도에 도시한 바와 같이, 103S 섹션(103S)은 시큐리티 액세스 콘트롤 유닛(30)과, 제4도에서 더 자세히 보여지는, 로크 기입 허용(lock write allow) 저장 소자(32)와 휘발성 액세스 콘트롤 메모리(43)의 연결을 포함한다. 액세스 콘트롤 메모리(43)의 출력은, 메모리 어레이(53)의 어떤 블럭의 바이트 로케이션의 내용이 판독될 때, 출력 버퍼(52)의 인에이블 입력으로서, 각 메모리 판독 사이클중에 인가된다. 즉, 판독 사이클 중에, 해당하는 블럭의 액세스 콘트롤 메모리 게이팅 시그널이 없는 경우에는 판독된 데이터가 출력 버퍼(52)를 통과하는 것이 금지되는 것을 말한다.
더욱 자세하게는, 바람직한 실시예에 있어서, 액세스 콘트롤 메모리(43)는 16개의 독립적으로 어드레스 가능한 비트 저장 소자들과, 각 저장 소자의 입력에 연결된 4에서 16 비트의 입력 어드레스를 가진 디코우더 및 각 저장 소자의 출력에 연결된 1에서 16의 출력 멀티플렉서를 포함하고 있다. 여기에 언급된 한 조의 메모리 코맨드에 덧붙여, 어떤 종류의 명령들의 각각의 어드레스의 4개의 상위 또는 최상위 비트들은 해독되어져서, 내용변경이 되어야 하는 블럭에서의 저장소자를 선정하는 데 사용된다. 비슷하게, 그 4개의 비트들은, 판독되고자 하는 메모리 로케이션을 가진 블럭에서의 저장소자의 출력을 선정하는데 사용된다.
이 섹션이 103M 섹션의 코맨드 레지스터(50)으로부터 지시된 여러가지 16진수값의 (즉, 31H 에서 33H) 코맨드 콘트롤 시그널을 수령하는 것을 주의하여야 한다. 이 시그널들은, 버스(105b)를 경유하여 ACP(10)로부터 코맨드 레지스터(50)에 의해 수령된 한 조의 코맨드의 데이터 값간의 차이점을 지시한다. 이하에서 설명되는 바와 같이, 이러한 코맨드들은 플래시 메모리에 의하여 사용되는 한 조의 코맨드에 대한 중요한 확장부분이 된다. 표준의 플래시 메모리 코맨드는 인텔사의 플래시 메모리에서 사용되는 코맨드의 형태를 취한다.
[제4도에서의 섹션 103M과 103S의 상세한 설명]
제4도는 103M과 103S 섹션의 구조의 자세한 상세도를 보여주고 있다. 보여지는 바와 같이, 메모리 어레이(54)는 두개의 섹션을 가지고 있는 데, 하나는 로크 비트 섹션(lock bit section)(54a)이며 하나는 데이터 섹션(data section)(54b)이다. 더욱 상세하게는, 메모리(54)는 1메가 바이트의 저장용량을 가지며, 위에서 지시되었던 바와 같이, 16개의 블럭으로 구성되어 있다. 각 블럭은 8K의 열(row)을 포함하고 있으며 각 열은 8바이트의 로케이션을 포함하고 있다. 본 발명에 따르면, 하나의 비트 로케이션이 각 열에 추가되어 로크 비트 섹션(54a)을 형성하게 된다. 각 열의 비트 로케이션의 수를 64에서 65비트로 확장하는 것에 의해, 메모리 어레이(54)는, 데이터 및 이에 연합된 로크 비트 정보들을 저장하므로서, 여기에 설명된 바와 같이 데이터의 보호가 가능하게 된다.
나타낸 바와 같이, 양 섹션들은 세 부분의 섹션으로 구성되어 있는 어드레스 래치 카운터(56)를 경유하여 어드레스 지정가능하게 된다. 제1레지스터 섹션은 어떤 블럭이 어드레스 되고 있는 가를 지시하는 어드레스 비트들의 최상위 그룹(most significant group)을 저장하는 데 사용된다. 제2섹션은 레지스터와 카운터의 양쪽으로 동작하도록 구성되어 있으며, 블럭의 어떤 열이 어드레스 되고 있는 가를 지시하는 어드레스 비트들의 중위 그룹(middle significant group)을 저장하고 여기에 하나를 증가시키는 데 사용된다. 제3레지스터 섹션은, 열중의 어떤 바이트가 어드레스 되고 있는 가를 지시하는, 어드레스 비트들의 최하위 그룹(least significant group)을 저장하는데 사용된다. 회로 블럭(53)을 포함하고 있는 멀티플렉서/디멀티플렉서 회로(53a)는, 어드레스 래치 카운터(56)에 저장되어 있는 최하위 어드레스 비트들의 함수에 의하여, 기입 또는 판독되어야 하는 바이트 로케이션을 선정하는 데 사용된다.
또한, 제4도에 도시한 바와 같이, 103S 섹션에서의 시큐리티 액세스 콘트롤 유닛(30)은 비트 비교기 회로(30-1), 비교 축적 플립-플롭(30-2) 및 엔드 카운터(30-3)로 구성되어 있다. 비트 비교기 회로(30-1)는, 버스(105b)를 경유하여 ACP(10)에 의하여 인가되는, 54a 섹션(54a)의 로크 비트 로케이션의 로크 비트 내용들 및 키 비트들을 수령하는, 입력처럼 연결되어 있다. 비교 회로(30-1)는 ACP(10)에 의하여 제공되는 각 키 비트와 로크 비트 섹션(54a)으로부터 판독된 해당 로크 비트를 비교하고, 나타낸 바와 같이, 비교된 결과를 축적 비교 플립-플롭(30-2)의 입력으로서 인가한다. 플립-플롭(30-2)은 연속된 비교의 결과를 축적한다. 엔드 카운터(30-3)는 소형 카운터인데(즉, 3비트이다), 저장된 키 값의 엔드를 검출하기 위하여, 로크 비트들의 문자열(string)에서 발생되는 연속적인 ONE 비트들의 갯수를 카운트한다.
로크 기입(lock write) 허용 플립-플롭 소자(32)는 코맨드 레지스터(50)와 프로그램/소거 전압 시스템에 연결된다. 여기에서 논의된 바와 같이, 블럭 소거 동작이 실행되면, 플립-플롭(32)은 소거 동작의 종료시에 2진의 ONE 상태로 세트된다. 플립-플롭(32)의 출력은 코맨드 레지스터(50)의 입력으로서 인가되며, 메모리 블럭의 로크 비트 로케이션에 정보가 기입되도록 허용하여야 할 때를 잡는다.
지적되어 있는 것처럼, 시큐리티 액세스 콘트롤 유닛(30)의 각 소자들은 코맨드 레지스터(50)로부터 코맨드를 수신한다. 위에서 언급한 것처럼, 이러한 코맨드들은 플래시 메모리(54)에서 보통으로 사용되는 한 조의 코맨드에 대한 중요한 확장이 된다. 본 발명에서 사용되는 코맨드들을 이제 설명하고자 한다. 이러한 명령들은 부록 II에서 더 자세하게 설명되어 있으며, 이제부터 논의하고자 한다.
제1명령 또는 코맨드는, 특정 블럭에 대한 키 확인 동작의 시초에 ACP(10)에 의해 수행되는 스타트(start) 코맨드이다. 이 명령은, 블럭의 제1비트(LBMO)를 액세스 콘트롤 메모리(43)의 액세스 콘트롤 저장소자에 스트로브(strobed)시키게 한다. 스타트 명령은 또한, 엔드 카운터(30-3)를 ZERO로 리세트시키고, 비교 축적 플립-플롭(30-2)을 비교 실패(a comparison failure)가 발생하지 않았음을 지시하는 소정 상태(2진의 ONE 상태)로 세트하도록 한다. 스타트 명령은 또한, 어드레스 버스(105a)를 경우하여 인가된 최상위 어드레스 비트 및 중위의 어드레스 비트를 어드레스 카운터(56)에 로드시키게 하고, 블럭 내의 처음 비트 (로크 비트)를 어드레스하기 위해 중위의 어드레스 비트가 모두 ZERO인 것을 보증한다. 최하위 어드레스 비트들은 무시된다.
두번째 타입의 명령은, 블럭의 키 확인 동작의 기간중에, 키 비트들의 시퀀스로서 각 비트들에 대해 한번씩 수행되는 스텝 명령이다. 보호된 각 블럭에 n개의 키 비트가 있다면, ACP(10)는 각 키 확인 동작에 대해 n차의 명령을 수행하게 될 것이다. 각 스텝 명령은 어드레스 카운터(56)의 중위 비트들을, 블럭의 로크 비트 로케이션으로부터 다음 로크 비트를 판독하기 위해 하나씩 증가시키도록 한다. 따라서, 각 스텝 명령에서 제시된 어드레스는 무시된다.
스텝 명령은, 비트 비교 로직회로(30-1)의 출력 샘플링을, ACP(10)에 의하여 제공된 키 비트와 메모리 블럭으로부터 판독된 다음의 로크 비트와 비교한 결과를 저장하도록 한다. 게다가, 메모리 블럭으로부터 판독된 로크 비트가 1을 포함하고 있을 때에는 엔드 카운터(30-3)를 하나 증가시키며, ACP(10)에 의하여 제공된 키 비트와 비교한다. 스텝 명령은, 메모리 블럭으로부터의 판독된 로크 비트가 ZERO일 때에는, 엔드 카운터(30-3)를 ZERO로 리세트하도록 한다. 또한, 비교의 결과가 다를 때에는, 스텝 명령은 비교 축적 플립-플롭을 ZERO로 리세트한다.
제3형태의 명령은, ACP(10)에 의하여 한번만 수행되는, 키 확인 동작을 종료시키도록 하는 엔드 명령이다. 이 명령은 비교 축적 플립-플롭(30-2)과 엔드 카운터(30-3)의 상태를 샘플링하도록 한다. 양자가 모두 코렉트 상태에 있을 때에는, 엔드 명령은 메모리(43)의 블럭의 액세스 콘트롤 소자를 세트한다. 특히, 엔드 카운터(30-3)가, 오버플로우 출력 시그널의 발생 및 비교 축적 플립-플롭(30-2)이, 여전히, 비교결과가 같은 상태로서 2진법으로 ONE 상태에 있으므로, 최대의 카운트값에 도달하게 되면, 엔드 명령은 메모리(43)의 액세스 콘트롤 소자의 세팅을 어드레스 카운터(56)의 최상위 어드레스 비트에 의하여 지시된다.
상기 언급된 명령은, 카드의 최초의 로딩 또는 조립중에 및 선정된 블럭의 소거중에 이루어지는 블럭 소거 동작시에 사용된다는 것을 유의하여야 할 것이다.
[동작의 설명]
본 발명 보안성 메모리 카드의 동작을 이하, 제5도의 동작표 및 제6(a)도에서 제6(c)도의 플로우 선도를 참조하여 설명하고자 한다. 제6(a)도는 메모리 카드의 최초의 로딩 또는 조립에 관계되는 스텝의 시퀀스를 보이고 있다. 이 시퀀스는 카드의 특정 애플리케이션 상태에 이용되도록 맞추어져 있다. 이 동작을 자세하게 설명하기 전에, 키 값의 선정 및 메모리 소거 과정을 먼저 설명하고자 한다.
ACP(10)는, 카드의 조립중 또는 최초의 로딩 동작중에, 메모리 카드 각 블럭의 메모리칩에 로크 값들을 세트한다. 이것은, 제4도에서의 메모리(54)의 각 블럭의 로크 비트 로케이션에 키 값을 로딩함으로써 이루어진다. 이 값들은 ACP(10)의 보호된 비휘발성 메모리(10-2)에 저장된다(즉, 제2도에서의 키 1 에서 키 n). 또한, ACP(10)에는 메모리 구조에 적합한 구성정보 및 각 메모리 블럭에 적용되는 보호레벨들이 로딩되어 있다.
전술한 바와 같이, 보호된 메모리 블럭의 키 값들은 HDLC 프로토콜과 유사한 규칙에 따라서 선정된다. 각 키 값들은 할당된 블럭의 로크 메모리 영역내에서 저장될 수 있는 한 어떠한 길이를 가지는 것도 가능하며, 2진값의 ZERO에서 시작하여 ONE 또는 ZERO의 시퀀스를 가진 후 7개의 ONE 비트를 갖는 시퀀스 또는 문자열로서 종료한다. 마지막의 7개의 연속적인 ONE을 제외하고, 시퀀스가 코드화되므로, 코드에서는 연속적인 ONE 비트의 갯수는 6을 초과할 수 없다.
키의 기입 또는 로딩이 이루어지기 전에, 플래시 메모리(43)는 먼저 소거되어 있어야 하는 데, 이것은, 저장된 데이터가 보호되도록 하는 플래시 메모리 고유의 기입 특성을 사용하기 위함이다. 즉, 보호되고자 하는 각 블럭의 로크 비트 로케이션의 제1비트(0 th)를 ZERO 상태로 세트하도록 하는 것이다. 이러한 소자들은 비휘발성 소자들이므로, 각 소자만이 ZERO 상태에서 ONE상태로 변경될 수 없으며, 내용을 변경하기 위해서는 블럭 전체가 소거되어야 한다.
[소거 과정]
바람직한 실시예에서 있어서, 플래시 메모리(43)는 블럭 단위로 소거된다. 카드의 사용중 특정 블럭의 소거동작을 수행하거나, 메모리 카드의 조립 또는 로딩중의 소거과정중에도 유사한 소거 과정이 이루어지게 된다. 로크 저장 영역내에 저장된 로크 비트를 포함한 모든 데이터는, 블럭이 소거될 때, ONE으로 세트된다. 블럭을 보호하고자 한다면, 이 때에 새로운 로크 값이 기입되어야 한다. 즉, 아무 때나 로크 비트의 기입이 허용된다면, 보안유지가 침해되게 된다. 그러므로, 로크 기입 허용 플립-플롭(32)은 블럭소거 동작 직후에만 로크 비트의 기입이 이루어지도록 보증하기 위해 포함되어 있다.
블럭 소거중에, 어드레스 레지스터 카운터(56)의 최상위 비트는 소거진행중인 블럭의 어드레스를 유지하고 있다. 소거 동작의 종료시에, 플립-플롭(32)은 2진법의 ONE상태로 세트된다. 세트되면, 플립-플롭은 스타트 및 스텝 명령의 동작을 변경하여, 이 명령에서 제공되는 비트들을 비교하는 대신, 로크 비트위치에 기입되도록 한다. 스타트 및 스텝 명령을 제외한 다른 명령은 플립-플롭(32)을 리세트하도록 한다. 그러므로, 엔드 명령은 로크 기입 허용 플립-플롭(32)을 리세트하여 로크 비트의 기입 동작을 종료시키는 데 사용된다. 또한 이 경우에, 엔드 명령은 블럭의 ACM 저장 소자를 2진법의 ONE으로 세트하므로, 그 블럭에 액세스를 가능하게 한다.
만일 어떤 블럭이, ACP(10)의 메모리의 구성정보에 의거, 보호되지 않아야 하는 경우에는, 스타트 및 스텝 명령을 제외한 다른 명령을 실행하면 로크 기입 허용 플립-플롭(32)이 리세트되어, 로크 비트의 기입이 방지되게 될 것이다. 스타트 명령을 실행하면, ONE 인, 0차(0 th)의 로크 비트가 ACM 저장 소자에 전송되어 액세스가 허용되게 될 것이다.
[카드의 조립]
제6(a)도는 ACP(10)가 메모리 카드의 각 메모리칩에, 로크 값을 어떻게 세트하는가를 도시하고 있다. 이것은, 키 값을, 제4도의 메모리의 각각의 블럭의 로크 비트 로케이션에 로드함으로 이루어진다. 제6(a)도의 600 및 602블럭에서 지시된 바와 같이, 카드 조립중에 수행되는 키 기입/로딩 동작은, 메모리 블럭의 소거이후 제1플래시 메모리 블럭을, 어드레싱 하는 것에 의해 시작된다. ACP(10)는, 메모리의 보호레벨이 규정되어 있는 구성정보로부터, 블럭이 보호되어야 하는 지를 결정한다. 만일 블럭이 보호되지 않아야 한다면, ACP(10)는 제6(a)도의 614블럭에서 지시된 바와 같이 단지 블럭의 내용을 로드하게 된다.
블럭이 보호되어야 한다면, ACP(10)는 스타트, 스텝 및 엔드 명령(즉 606 - 610 블럭)의 시퀀스를 실행하여 블럭의 키 값 비트를 로크 비트 로케이션에 기입하도록 한다. 즉, 스타트 명령을 실행하면, 제6(a)도의 606 블럭에서 지시된 바와 같이 제1메모리 블럭의 로크 비트 위치 LMBO에 2진법의 ZERO를 기입하도록 한다. 제6(a)도의 608 블럭에서 지시된 바와 같이, 각 스텝 명령을 실행하면, ACP(10)의 메모리에 저장되어 있는 키 값의 다음 비트가 제1블럭의 다음 로크 비트 로케이션(즉, LMB1)에 기입되도록 한다. 만일, 제1블럭의 로크 비트 위치들보다 기입되어야 할 키 비트들이 더 많다면, ACP(10)는 또다른 스텝의 명령을 실행하도록 한다. 저장된 키 값의 모든 비트들이, 제1메모리 블럭에 대해, 로크 메모리 영역의 로크 비트 위치에 기입되었음을 ACP(10)가 결정하기까지 스텝 명령이 실행된다. ACP(10)는 키 값의 끝을 나타내는 연속적인 7개의 ONE 비트를 검출하여 이를 결정한다.
제6(a)도의 612 블럭에서 지시된 바와 같이, 키 값의 기입이 종료되면, ACP(10)는 해당하는 제1블럭의 ACM 저장소자를 블럭에 액세스 가능하도록 2진법의 ONE상태로 세트하는 엔드 명령을 실행한다. 다음으로, 제1블럭은, 특정한 애플리케이션을 위하여 적당한 데이터 또는 절차 정보가 로드된다. 제6(a)도에서 지시된 바와 같이, 602에서 614블럭의 동작이, 칩의 모든 메모리 블럭에 대해 진행되기 까지, 각 블럭에 반복된다.
관련 특허출원의 경우에 있어서는, 사용자의 커스텀화 기간중에, 사용자가 필요한 규정 데이터와 증명의, 빈도와 모드의 변수를 설정한다 (즉, 개인 신원확인 번호들(PIN)을 말함). 이러한 정보 역시 ACP의 메모리에 저장된다. 메모리 카드는, 이 시점에서 전원투입의 준비가 되고 증명절차를 수행한다.
관련 특허출원의 경우에 있어서는, ACP(10)에 의하여 제1의 증명 대화가 시작될 수 있다. 즉, ACP(10)는 호스트 프로세서(5)의 도움을 받아, 사용자로부터 PIN 또는 신원확인 정보와 같은 증명정보를 수령한다. 증명이 성공적이지 못하면, 아무 동작도 수행되지 않는다. 만일 증명이 성공적이라면, 보호되고자 하는 각 블럭에 대하여 제1의 키 확인 동작이 ACP(10)에 의해 수행된다. 확인 동작이 성공적으로 수행되었을 때, ACP(10)는 액세스 콘트롤 메모리(43)의 해당하는 액세스 콘트롤 저장소자를 세트하여 블럭에 액세스를 가능하게 한다.
다음 단계로, 사용자의 구성현황에 따라, 주기적으로, ACP(10)는 사용자의 추가 증명(재증명)을 나타나게 할 수도 있다. 오류의 발생시에는, ACP(10)는 모든 메모리칩을 전원 온 상태로 강제하여, 액세스 콘트롤 메모리(43)의 내용을 클리어하는 것에 의해, 메모리의 데이터에 액세스 되는 것을 방지하게 된다.
[전원 투입 과정]
본 발명의 키 확인 동작을 제6(b)도와 관련하여 설명하고자 한다. 보여지는 바와 같이, 확인 동작은 정규의 전원투입 동작의 일부분으로서 수행된다. 620블럭에 도시한 바와 같이, 전원투입 시퀀스는 시큐리티 섹션(103S)의 여러 소자들, 액세스 콘트롤 메모리(43), 비교 축적 플립-플롭(30-2) 및 엔드 카운터(30-3)를 초기화시키는 것을 포함하고 있다. 키 확인 동작은 제5도의 표에 나타낸 일련의 동작들을 시키는, 제6(b)도에서 지시된 명령들과 동작들의, 시퀀스를 실행하는 것에 의해 수행된다.
제6(b)도를 참조해 보면, 초기화에 이어서, ACP(10)는 제1메모리 블록을 어드레스하고, 먼저 스타트 명령을 수행하도록 하는 624 블럭의 동작을 수행한다. 이것은, 제5도의 표에서 지시된 바와 같이, 어드레스 래치 카운터(56)에, 스타트 명령의 최상위 어드레스 비트들이 로드되도록 한다. 동시에, 중위의 어드레스 비트들은, 제1비트 로케이션의 내용의 판독결과가 LBMO에 상응하도록, 모두 ZERO로 강제된다. LMBO 비트의 내용들은, 제1블럭에 연합된 콘트롤 메모리(43)의 콘트롤 액세스 저장소자에 계속 로드된다. 만일 제1블럭이 보호되고자 한다면, 콘트롤 액세스 저장 소자는 2진법의 ZERO상태로 세트된다. 이는, 키 확인 동작과정 중에도 블럭의 데이터 내용들이 계속적으로 보호된다는 것을 보증한다. 그러나 블럭이 보호되지 않는다면, 그 소자는 2진법의 ONE상태로 세트된다. 또한 엔드 카운터(30-3)는, 비교 축적 플립-플롭(30-2)이 2진법의 ONE상태로 세트되어 있는 동안에는, ZERO로 리세트된다.
만일 블럭이 보호되고 있지 않다면, 스타트 명령은 실행되어야 할 단 하나의 명령이 된다. 즉, 스타트 명령에 의하여 지시된 ACM 블럭 저장 플립-플롭은, 제1비트 위치(LBMO)의 2진법의 ONE상태를 그 플립-플롭에 스트로브하는 결과로서, 2진법의 ONE상태로 세트된다. 제1블럭이 보호된다면, ACP(10)는, 위에서 설명한 바와 같이, 비휘발성 메모리에 저장된 키 값의 비트를 시험하여 결정되는 키 시퀀스중의 비트의 숫자에 상응하는 숫자의, 복수의 스텝 명령을 실행한다.
제5도의 표에 도시한 바와 같이, 각 스텝 명령은 어드레스 래치 카운터(30-3)에 저장되어 있는 중위의 어드레스 비트들을, 다음 로크 비트 로케이션(LMB1)의 판독을 위해,하나씩 증가시킨다. LMB1 로케이션(LMB1)의 내용들은, ACP(10)에 의해 제공된, 비교될 시퀀스의 제1키 비트로서의 키 비트와 비교된다. 비교치가 동일하면, 비교 축적 플립-플롭(30-2)의 상태를 변화시키기 위한 아무 동작도 취해지지 않고, 세트 상태로 남아있게 된다. 만일 비교치가 다르면, 플립-플롭(30-2)은 2진법의 ZERO로 리세트된다. 또한 스텝 명령 역시 로크 메모리 비트의 판독(LMB1)이 2진법의 ONE이면, 엔드 카운터(30-3)를 하나 증가시키고, 현재의 키 비트와 비교한다. 만일 비교치가 다르다는 지시가 없다면, 엔드 카운터(30-3)는 ZERO로 리세트된다.
또한, 엔드 카운터(30-3)가 최대의 카운트를 초과하여 오우버플로우가 되면, 비교 플립-플롭(30-2)을 2진법의 ZERO상태로 리세트되도록 한다. 엔드 카운터(30-3)가 최대 값을 초과하여 증가할 때, 이는 ACP(10)가 로크 비트의 범위를 초과하여 비교를 시도한다는 지시가 된다. 이것은 정규의 동작중에는 절대로 발생되지 않는 것이기 때문에, 비교 축적 플립-플롭(30-2)은 ZERO로 리세트되어, 이후에는 매치되는 것을 금지시키므로, 더 확실한 보안이 보장된다.
비교잘못이 없는 경우에는, ACP(10)는 위에서 설명된 일련의 동작들을 반복하는, 다음 스텝 명령을 실행한다. 그러한 실행중에, 연속되는 ONE비트 각각은 엔드 카운터(30-3)를 하나씩 증가시키도록 한다. 그러므로, n차의 스텝 명령의 실행 직전에, 엔드 카운터(30-3)는 6개의 연속적인 ONE비트들을 카운트하였어야 한다. 비교잘못이 없고 오우버플로우가 없는 경우, n차의 스텝 명령의 실행은 엔드 카운터를 증가시켜 최대치인 7로 함으로서 출력이 발생되게 되는 결과가 된다.
n차의 스텝 명령의 실행에 이어서, ACP(10)는 키 확인 동작을 종료시키는 엔드 명령을 실행한다. 이 명령은 엔드 카운터(30-3) 및 비교 축적 플립-플롭(30-2)의 상태를, 결과가 정확한 지를 결정하기 위하여 표본화한다. 양자가 모두 2진법의 ONE상태라면, ACP(10)는 그 블럭의 액세스 콘트롤 소자를 2진법의 ONE상태로 세트되도록 한다. 만일 결과가 정확하지 않다면, ACP(10)는 액세스 콘트롤 소자를 2진법의 ZERO상태로 세트되도록 한다. 또한, 제5도의 표에서 지시된 바와 같이, 엔드 명령은 엔드 카운터(30-3)와 비교 축적 플립-플롭(30-2) 양자를 리세트시킨다.
제6(b)도에 도시한 바와 같이, 위에서 설명된 키 확인 동작은 보호되고자 하는 나머지 각 블럭에 대하여 반복된다. 키 확인 동작의 종결시에, 보안성 메모리 카드는 위에서 설명한 메모리 동작을 시작할 준비가 완료된다. 그러한 동작중에 만일, 사용자가 메모리 블럭내에 새로운 정보를 저장하기 원한다면, ACP(10)는 제6(c)도에서 설명되는 동작의 시퀀스를 수행하게 될 것이다. 보여진 바와 같이, 선정된 블럭의 어드레스가 어드레스 카운터(56)에 로드될 것이다. 카운터(56)에 포함되어 있는 최상위 어드레스 비트들에 의해 지시된 블럭상에, 통상의 방법으로 소거가 수행될 것이다. 제3도의 62 블럭(62)의 회로에 의해 신호된 소거 동작의 종결시에, 출력 신호가 발생되어 로크 기입 허용 플립-플롭(32)의 세팅을 2진법의 ONE상태로 한다.
다음으로, 제6(c)도의 644블럭에서 지시된 바와 같이, ACP(10)는 저장되어 있는 구성정보로부터, 소거한 블럭을 보호하여야 하는 지를 결정한다. 만일 보호되어야 한다면, ACP(10)는 스타트 명령을 실행할 것이다. 로크 기입 허용 플립-플롭(32)이 세트되므로서, 스타트 명령의 동작이 변경되어 비교 동작을 수행하는 대신, 선택된 블럭의 로크 메모리 영역의 제1비트 위치에 2진법의 ZERO가 기입되도록 한다. 다음으로, 648 및 650 블럭에서 지시된 바와 같이, ACP(10)는 스텝 명령에 의하여 제공된 키 값의 비트들을, 선택된 블럭의 로크 비트 위치에, 연속된 7개의 ONE비트들의 표시에 의하여 모든 비트가 기입완료되었음이 표시될 때까지 기입하게 하는, 다수의 스텝 명령을 실행할 것이다. 기입 동작의 종결시에, ACP(10)는 로크 기입 허용 플립-플롭(32)을 2진법의 ZERO상태로 리세트하게 하는 엔드 명령을 실행한다. 또한 이 엔드 명령은, 액세스를 허용하게 하도록, 블럭과 연합된 ACM의 저장소자를 2진법의 ONE상태로 세팅시킨다. 블럭이 구성정보에 의거 보호되지 않아야 한다면, 어느 명령을 실행하여도, 로크 기입 허용 플립-플롭(32)이 리세트되어 로크 비트의 기입을 방지하게 될 것이다. 다음으로, 제6c도에서 지시된 바와 같이, ACP(10)는, 선택된 블럭으로부터 판독된 0차(0th) 로크 비트를 전송하고, 그 블럭과 연합된 ACM 저장 소자에 스트로브하도록 정규 동작하는 스타트 명령을 실행한다.
이상으로 본 발명이 제공하는 고 생산성이며 프로그램 가능한 키 확인 동작 시스템을 나타내 보였다. 본 발명에 벗어나지 않고도 바람직한 실시예에 대한 다양한 변화가, 당 업자들에게는 실감될 것이다. 예를 들어, 본 발명은 다른 타입의 비휘발성 메모리와 다른 인터페이스에도 사용이 가능하다. 또한 본 발명은, 시큐리티 액세스 콘트롤 유닛을 상당히 복잡하게 하지 않고도 충분히 큰 키가 제공되도록 하는, 메모리당 하나 이상의 로크 비트를 가질것이 요구되는, 극히 작은 크기를 갖는 메모리에 사용될 수도 있다.
[부록]
[부록 I]
[신호의 설명]
기호 명칭 및 기능
A0 - A16 메모리 어드레스들을 위한 어드레스입력.
어드레스들은 기입주기 중에 내부적으로 래치된다.
D00 - D07 데이터 입/출력: 메모리 기입 주기중에 데이터 및 명령들을 입력한다; 메모리 및 상태 판독주기중에 데이터를 출력한다. 데이터핀은 액티브 하이이며, 칩이 선택해제 되거나 출력이 디스에이블 될 때 트리스테이트 오프로 플로트된다. 데이터는 기입주기동안 내부적으로 래치된다.
CE 칩 인에이블: 디바이스의 제어로직, 입력 버퍼, 디코더, 및 센스 증폭기를 액티브시킨다. CE는 액티브 로우이며, CE하이는 메모리 디바이스를 선택해제하고 대기레벨의 전력 소모를 감소시킨다.
PWD 파워 다운 : 디바이스를 깊은 파워 다운 모드로 한다. PWD는 액티브 로우이다; PWD하이는 정규 동작을 게이트한다. PWD=VHH는 메모리 블럭의 프로그래밍을 허용한다. 또한 PWD는 액티브 로우일 때 소거 또는 기입 동작을 로크아웃시켜, 전원의 천이기간중에 데이터 보호를 제공한다.
OE 출력 인에이블: 판독 주기중에 데이터 버퍼를 통하여 디바이스의 출력을 게이트한다.
WE 기입 인에이블: 코맨드 레지스터와 어레이 블럭에의 기입을 제어한다.
Vpp 각 블럭의 어레이 또는 프로그래밍 바이트들을 소거하기 위한 소거/프로그램 전원 공급. 주의: Vpp < 최대 Vpp1에서는, 메모리 내용이 변경될 수 없다. Vpp가 하이 레벨일 때, 프로그래밍 될 수 있다; 만일 Vpp가 로우 레벨이면, 메모리 어레이(54)는 판독 전용 메모리로서 기능한다.
[부록]
[부록 II]
(1) LWE는 로크 기입 인에이블임.
(2) 어드레스의 최상위 비트들은 블럭 어드레스임, 나머지 비트들은 무시됨.
(3) LBMO는 로크 메모리 어레이의 제1비트임.
(4) 비교를 위해 제공된 키 데이터중의 하나의 비트임.
(5) 기입을 위해 제공된 로크 데이터중의 하나의 비트임.
[스타트 명령(31H)]
이 코맨드는 키 확인 동작을 위해, ACP(10)에 의해 한번만 수행된다. 만일 블럭이 보호되지 않았다면(즉, 제1로크 비트가 ONE이다), 확인을 위해 이 명령만이 요구된다. 이 명령이 수행되어 로크 기입 허용 플립-플롭이 세트 상태일 때에, 명령에 의해 제공된 비트가, 지시된 메모리 블럭의 제1로크 비트 위치에 기입되도록 한다. 이 경우에 있어서, 어드레스의 최상위 비트들은, 어드레스된 블럭이 그 이전의 소거동작에서와 동일하지 않기 때문에, 어드레스 레지스터에 로드되지 않는다.
[스텝 명령 (32H)]
이 코맨드는 키 비트 시퀀스의 각 비트에 대해 한번씩 수행된다. 각 코맨드는, 다음 시퀀스의 로크 비트와 비교하도록, 키 비트 시퀀스 중의 하나의 비트를 제공한다. 이 명령이 수행되어 로크 기입 허용 플립-플롭이 소거동작에 이어서 세트 상태에 있을 때, 명령에 의해 제공된 비트가 메모리 블럭의 지시된 로크 비트 위치에 기입되도록 한다.
[엔드 명령 (33H)]
이 코맨드는 키 확인 동작을 완료하거나 종료하기 위해, ACP(10)에 의해 한번 수행된다. 이것은 비교 축적 플립- 플롭의 상태를 표본하고, 엔드 카운터를 시험하고, 결과가 올바를 경우 블럭의 액세스 콘트롤 저장 소자의 세팅을 인에이블로 한다. 이 명령이 수행되어 로크 기입 플립-플롭이 세트 상태에 있을 때, 이것은 로크 비트 기입 동작을 정지시키도록 로크 기입 허용 플립-플롭을 리세팅하여 2진법의 ZERO상태로 하고 또한 블럭의 액세스 콘트롤 저장 소자를 액세스 제공을 위해 세팅되도록 한다.
법령과 규정에 따라 본 발명의 가장 바람직한 형태를 도시하고 설명해 왔지만, 첨부된 청구항에 개시된 본 발명의 정신을 벗어남이 없이도 임의의 변경이 가능하며, 어느 경우에는, 본 발명의 기타의 특징을 사용치 않고 특정 특징만을 이용할 수도 있다.

Claims (20)

  1. 휴대용의 호스트 컴퓨터와 함께 사용하는 보안성 메모리 카드에 있어서, 상기 메모리 카드는, 어드레스, 데이터 및 콘트롤 정보를 상기 호스트 컴퓨터와 송수신하기 위하여 연결된 마이크로프로세서를 구비하고 상기 마이크로프로세서는, 각 키 값이 소정수의 비트보다 크지 않은 길이를 가진 다수의 키 값들을 포함하는 정보의 저장을 위한 어드레스 가능한 비휘발성 메모리; 상기 마이크로프로세서에 연결되어 상기 카드에 의해 수행되는 메모리 동작들을 한정하는 어드레스, 데이터 및 콘트롤 정보를 송신하기 위한 내부 버스; 및 상기 어드레스, 데이터 및 콘트롤 정보를 수신하기 위해 상기 마이크로프로세서와 공동으로 상기 내부 버스에 연결된 최소한 하나의 비휘발성 어드레스 가능한 메모리를 포함하며, 상기 메모리는 메모리 섹션과 시큐리티 섹션을 포함하고, 상기 메모리 섹션은 다수의 블럭으로 구성된 비휘발성 메모리 어레이를 가지며, 각 블럭은 복수의 어드레스 가능한 멀티 비트 로케이션을 가지며, 상기 소정수의 다수의 로케이션 중 각 하나의 최소한 하나의 소정 비트 로케이션은 상기 메모리 동작을 수행하기 위한 콘트롤 로직 수단과 상기 소정수의 비트를 저장하는 것을 가능케 하는 직렬 어드레스 가능한 그룹의 로크 비트 로케이션을 집합적으로 제공하는 상이한 비트의 키 값을 저장하기 위한 로크 비트 로케이션으로 지정되고, 상기 시큐리티 섹션은 상기 메모리 섹션과 상기 콘트롤 로직 수단에 연결되며, 상기 시큐리티 섹션은 ; 상기 비휘발성 메모리 어레이의 상기 갯수의 블럭 각각에 할당된 복수의 어드레스 가능한 저장 소자를 가진 액세스 콘트롤 메모리; 및 상기 액세스 콘트롤 메모리, 상기 내부 버스 및 상기 콘트롤 로직 수단에 결합된 시큐리티 액세스 콘트롤 유닛을 포함하고, 상기 시큐리티 액세스 콘트롤 유닛은 상기 콘트롤 로직 수단으로부터 수신한 신호에 응답하여 상기 키 값중 하나의 각 키 비트를 지시된 블럭의 상기 그룹의 로크 비트 로케이션에 저장된 상응하는 각각 비트와 직렬 비교하여 키 확인 동작을 수행하며 상기 키 확인 동작이 성공적으로 수행된 때에만 상응하는 상기 블럭으로부터 판독이 인에이블 되도록 상기 복수의 어드레스 가능한 저장 소자 중의 하나를 스위칭시키는 출력 신호를 발생시키는 보안성 메모리 카드.
  2. 제1항의 메모리 카드에 있어서, 상기 시큐리티 섹션은: 상기 키 값 중의 하나의 상기 키 비트와 상기 로크 비트 로케이션의 그룹에 저장된 상기 상응하는 비트와 직렬 비교하기 위하여, 상기 비휘발성 메모리 어레이, 상기 콘트롤 로직수단 및 상기 내부 버스에 결합되고, 각 비교 결과의 신호를 위한 제1출력 신호를 발생시키는 비트 비교 로직 수단, 상기 출력 신호를 수신하기 위해 상기 비트 비교 로직 수단에 또한, 상기 콘트롤 로직 수단 및 상기 액세스 콘트롤 메모리와 결합되고 상기 비교 로직 수단에서 비트 비교가 계속해서 잘못이 없다는 것을 지시하는 제2출력 신호를 발생시키는 비교 축적 저장 소자, 및 상기 비휘발성 메모리 어레이, 상기 콘트롤 로직 수단 및 상기 액세스 콘트롤 메모리에 결합되고, 상기 로크 비트 로케이션 그룹에 저장되어 있는 모든 상기 비트들이 상기 메모리로부터 판독되었음을 지시하는 제3출력 신호를 발생시키며, 상기 제2 및 상기 제3출력 신호는 공동으로 상기 복수의 저장 소자중 상기 하나의 상기 스위칭을 이루게 하는 엔드 카운터를 구비하는 보안성 메모리 카드.
  3. 제2항에 있어서, 상기 콘트롤 로직수단은 상기 메모리 어레이 및 상기 내부 버스와 결합되어, 상기 내부 버스로부터 수신된 어드레스와 코맨드들을 각각 저장하기 위한 어드레스 래치 카운터와 코맨드 레지스터를 포함하며, 상기 레지스터는 제1형태의 코맨드에 응답하여 상기 비교 축적 저장소자를 소정 상태로 세팅하고 상기 엔드 카운터를 제로로 리세팅하고, 상기 어드레스 래치 카운터를 상기 코맨드에 연합된 어드레스의 최상위비트로 로딩하고, 상기 어드레스의 중위 비트들을 제로로 만들기 위한 신호를 발생시키는 보안성 메모리 카드.
  4. 제3항에 있어서, 상기 제1코맨드는 스타트 명령, 상기 소정 상태는 2진법의 ONE 상태이며 상기 어드레스 래치 카운터는 상기 최상위 비트들을 저장하기 위한 복수의 저장 섹션을 가지며, 상기 어드레스의 중위 비트와 최하위 비트가 상기 스타트 명령으로부터 얻어지는 보안성 메모리 카드.
  5. 제3항에 있어서, 상기 코맨드 레지스터는 제2형태의 코맨드 각각에 응답하여 상기 비트 비교 로직 수단에 의해 발생된 상기 제1출력 신호가 발생될 때만 상기 엔드 카운터를 하나 증가 시키고, 상기 비교 축적 저장소자를 상기 소정 상태에서 다른 상태로 스위칭하고, 상기 엔드 카운터가 소정 최대의 카운트를 넘어 오우버 플로우 상태를 초래할 때에 엔드 카운터들 리세트하기 위한 신호들을 발생시키는 보안성 메모리 카드.
  6. 제5항에 있어서, 스텝 명령에 상응하는 상기 제2형태의 코맨드 및 상기 키 값의 끝부분임을 신호하는 소정 갯수의 ONE 비트들이 키 값에 발생하는 것에 상응하는 상기 최대의 카운트를 갖는 보안성 메모리 카드.
  7. 제3항에 있어서, 상기 코맨드 레지스터는 제3형태의 코맨드에 응답하여, 상기 엔드 카운터가 최대 카운트로 될 때 상기 최상위 어드레스 비트들에 의하여 지시된 상기 액세스 콘트롤 저장소자중의 하나 및 상기 비교 축적 저장소자가 상기 소정 상태인, 소정 상태로 세팅되기 위한 신호를 발생시키는 보안성 메모리 카드.
  8. 제7항에 있어서, 상기 제3형태의 코맨드는 엔드 명령에 상응하고 상기 엔드 카운터가 상기 최대 카운트에 도달하지 않았거나 상기 비교 축적 저장소자가 상기 소정 상태가 아닌 때에 상기 신호가 상기 엔드 카운터와 축적 비교 저장소자를 ZERO로 리세트하게 하는 보안성 메모리 카드.
  9. 제1항에 있어서, 상기 메모리 섹션은 더 나아가 상기 비휘발성 메모리 어레이의 상기 갯수의 블럭중의 하나의 선택적인 블럭 소거 동작을 수행하기 위한 상기 메모리에 결합된 소거 콘트롤 수단을 포함하고 또한 상기 로크/기입 허용 저장소자가 상기 소정 상태에 있을 때 상기 콘트롤 로직 수단을 상기 로크/기입 허용 저장소자가 상기 소정 상태에 남아있는 기간 중에는 상기 비휘발성 메모리 어레이상에 기입 동작을 수행하는 것을 금지하게 하는 보안성 메모리 카드.
  10. 제9항에 있어서, 상기 마이크로프로세서가 상기 내부 버스에 소정 타입의 코맨드를 적용하는 것에 응답하여 상기 소정 상태에서 다른 상태로 전환되는 로크 기입 허용 저장소자를 가진 보안성 메모리 카드.
  11. 제10항에 있어서, 상기 선택적인 소거동작의 종료를 지시하는데 사용되는 엔드 명령에 상응하는 상기 소정 타입의 코맨드를 가진 보안성 메모리 카드.
  12. 제10항에 있어서, 보호되고자 하는 상기 비휘발성 메모리의 상기 갯수의 블럭을 지시하는 코드화된 구성정보를 더욱 포함하고 있는 상기 마이크로프로세서의 어드레스 가능한 상기 비휘발성 메모리에 상기 정보가 저장되는, 그리고 상기 소정 키 값중의 하나의 비트를 상기 구성정보에 의해 보호되도록 지시되는 소거된 블럭의 상기 직렬 어드레스 가능한 로크 비트 로케이션의 그룹에 기입하기 위한 소정 시퀀스의 코맨드들을 수행하는 상기 마이크로프로세서를 가진 보안성 메모리 카드.
  13. 제12항에 있어서, 상기 소정 시퀀스의 코맨드들은 상기 소거된 블럭의 상기 어드레스 가능한 멀티 비트로케이션들이 뒤이어 로드된 정보의 보호를 보증하기 위하여 상기 소거된 블럭의 상기 로크 비트 로케이션 그룹의 제1로크 비트 로케이션을 소정 상태로 세팅하기 위한 첫번째 타입의 코맨드를 포함하고 있는 보안성 메모리 카드.
  14. 제13항에 있어서, 상기 소정 상태는 상기 소거된 블럭에 뒤이어 로드된 정보가 상기 제1로크 비트 로케이션을 리세트하여 상기 정보에 액세스를 인에이블하기 위하여 소거되어야만 할 것을 요구하는 2진법의 ZERO상태이며, 그리고 상기 제1코맨드는 스타트 코맨드인 보안성 메모리 카드.
  15. 제13항에 있어서, 상기 소정 시퀀스의 코맨드들은 제2형태의 코맨드들을 다수 포함하고 있는 바, 제2형태의 코맨드 각각은 상기 키 값중의 하나의 상기 비트 중의 별개 비트를 상기 그룹의 다른 로크 비트 로케이션에 상기 키 값중의 상기 하나의 상기 비트의 모두가 저장완료되기까지 직렬 기입되도록 하는 보안성 메모리 카드.
  16. 제15항에 있어서, 상기 키 값의 각각은 소정 프로토콜 패턴에 의하여 코드화된 보안성 메모리 카드.
  17. 제15항에 있어서, 상기 제2형태의 코맨드는 스텝 명령이며 상기 다수의 상기 두번째 타입의 코맨드들은 상기 키 값을 포함하고 있는 다수의 비트에 상응하는 보안성 메모리 카드.
  18. 제15항에 있어서, 상기 소정 시퀀스의 코맨드들은 상기 시퀀스중에 마지막 코맨드로서의 소정 코맨드를 포함하고 있는 바, 상기 소정 코맨드는 상기 액세스 콘트롤 메모리의 상기 복수의 어드레스 가능 저장소자들중의 하나를 상기 저장 로케이션에 정보를 로드하여 상기 선택적인 블럭 소거 동작을 종료시키도록 소정 상태로 세트시키는 보안성 메모리 카드.
  19. 제16항에 있어서, 상기 소정 프로토콜 패턴은 상기 키 값의 끝부분임을 신호하기 위한 소정 갯수의 연속적인 2진법의 ONE 비트를 포함하고 있는 메모리 카드.
  20. 제1항에 있어서, 상기 마이크로프로세서의 상기 어드레스 가능한 비휘발성 메모리에 저장되어 있는 상기 정보는, 보호되고자 하는 상기 비휘발성 메모리의 상기 갯수의 블럭 중의 하나를 지시하기 위하여 코드화된 구성정보를 더 포함하고, 상기 마이크로프로세서는, 상기 구성정보에 따라 상기 비휘발성 메모리 어레이를 구성시키는 코맨드들을 더 포함하며, 상기 코맨드들은 상기 콘트롤 로직 수단을 상기 구성 정보에 의해 보호되도록 지시된 상기 블럭의 모든 첫번째 로크 비트 로케이션들을, 보호되도록 지시된 상기 블럭의 모든 상기 로크 비트 로케이션 그룹에 상기 키 값들에 상응하는 비트들을 기입하기 위하여, 보호되는 블록에 할당된 상기 액세스 콘트롤 메모리의 모든 상기 저장 소자들이 상기 비휘발성 메모리 어레이의 최초 구성을 종료시키도록 정보의 로드를 인에이블시키게 하는 소정 상태로 세트시키는 보안성 메모리 카드.
KR1019950703948A 1994-01-14 1995-01-12 프로그램으로 제어되는 시큐리티 액세스 콘트롤을 가진 보안성 메모리 카드 KR100232087B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/181,691 US5442704A (en) 1994-01-14 1994-01-14 Secure memory card with programmed controlled security access control
US08/181,691 1994-01-14
US8/181,691 1994-01-14
PCT/IB1995/000027 WO1995019607A1 (en) 1994-01-14 1995-01-12 A secure memory card with programmed controlled security access control

Publications (2)

Publication Number Publication Date
KR960701415A KR960701415A (ko) 1996-02-24
KR100232087B1 true KR100232087B1 (ko) 1999-12-01

Family

ID=22665370

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950703948A KR100232087B1 (ko) 1994-01-14 1995-01-12 프로그램으로 제어되는 시큐리티 액세스 콘트롤을 가진 보안성 메모리 카드

Country Status (16)

Country Link
US (1) US5442704A (ko)
EP (1) EP0689701B1 (ko)
JP (1) JP3517680B2 (ko)
KR (1) KR100232087B1 (ko)
CN (1) CN1082215C (ko)
AT (1) ATE210863T1 (ko)
CA (1) CA2158264C (ko)
DE (1) DE69524482T2 (ko)
DK (1) DK0689701T3 (ko)
ES (1) ES2169120T3 (ko)
FI (1) FI112713B (ko)
NO (1) NO953615L (ko)
PT (1) PT689701E (ko)
SG (1) SG50590A1 (ko)
TW (1) TW323359B (ko)
WO (1) WO1995019607A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100505106B1 (ko) * 2002-05-29 2005-07-29 삼성전자주식회사 강화된 보안 기능을 갖춘 스마트 카드

Families Citing this family (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2693575B1 (fr) * 1992-07-09 1994-08-19 Gemplus Card Int Carte à mémoire de masse avec fonction entrée/sortie.
US5490077A (en) * 1993-01-20 1996-02-06 Francotyp-Postalia Gmbh Method for data input into a postage meter machine, arrangement for franking postal matter and for producing an advert mark respectively allocated to a cost allocation account
FR2716280B1 (fr) * 1994-02-11 1996-04-12 Solaic Sa Procédé de protection des composants de cartes à mémoire contre des utilisations frauduleuses.
CN1080905C (zh) * 1994-06-15 2002-03-13 汤姆森消费电子有限公司 不需微处理器介入的智能卡消息传送
US6058478A (en) * 1994-09-30 2000-05-02 Intel Corporation Apparatus and method for a vetted field upgrade
US5761609A (en) * 1995-03-09 1998-06-02 United Microelectronics Corporation Limited use circuit
JP2986375B2 (ja) * 1995-06-22 1999-12-06 インターナショナル・ビジネス・マシーンズ・コーポレイション 情報処理装置及びその制御方法
US5640002A (en) * 1995-08-15 1997-06-17 Ruppert; Jonathan Paul Portable RF ID tag and barcode reader
JPH0962583A (ja) * 1995-08-24 1997-03-07 Mitsubishi Electric Corp データ処理装置
US5835594A (en) * 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US6587949B1 (en) 1998-06-26 2003-07-01 Fotonation Holdings, Llc Secure storage device for transfer of data via removable storage
US6510520B1 (en) * 1998-06-26 2003-01-21 Fotonation, Inc. Secure storage device for transfer of digital camera data
US6750902B1 (en) 1996-02-13 2004-06-15 Fotonation Holdings Llc Camera network communication device
US5778070A (en) * 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory
US6073243A (en) * 1997-02-03 2000-06-06 Intel Corporation Block locking and passcode scheme for flash memory
US5954818A (en) * 1997-02-03 1999-09-21 Intel Corporation Method of programming, erasing, and reading block lock-bits and a master lock-bit in a flash memory device
US6035401A (en) * 1997-02-03 2000-03-07 Intel Corporation Block locking apparatus for flash memory
EP0874334A1 (en) * 1997-04-21 1998-10-28 Koninklijke KPN N.V. Secure application module for multiservice applications and a terminal provided with such a secure application module
US6078985A (en) * 1997-04-23 2000-06-20 Micron Technology, Inc. Memory system having flexible addressing and method using tag and data bus communication
US6003135A (en) * 1997-06-04 1999-12-14 Spyrus, Inc. Modular security device
US6088802A (en) * 1997-06-04 2000-07-11 Spyrus, Inc. Peripheral device with integrated security functionality
JPH1165936A (ja) * 1997-06-12 1999-03-09 Oki Micro Design Miyazaki:Kk メモリ装置
FR2771875B1 (fr) 1997-11-04 2000-04-14 Gilles Jean Antoine Kremer Procede de transmission d'information et serveur informatique le mettant en oeuvre
FR2774196B1 (fr) * 1998-01-27 2000-03-17 Gemplus Card Int Carte a memoire asynchrone
US6209069B1 (en) 1998-05-11 2001-03-27 Intel Corporation Method and apparatus using volatile lock architecture for individual block locking on flash memory
US6026016A (en) * 1998-05-11 2000-02-15 Intel Corporation Methods and apparatus for hardware block locking in a nonvolatile memory
US6173405B1 (en) 1998-05-29 2001-01-09 3Com Corporation Secure communications card modem and method of using same
US6393565B1 (en) * 1998-08-03 2002-05-21 Entrust Technologies Limited Data management system and method for a limited capacity cryptographic storage unit
JP3743173B2 (ja) * 1998-09-08 2006-02-08 富士通株式会社 半導体集積回路
JP3553387B2 (ja) * 1998-09-11 2004-08-11 オムロン株式会社 相互認証システム
US6279114B1 (en) * 1998-11-04 2001-08-21 Sandisk Corporation Voltage negotiation in a single host multiple cards system
US7324133B2 (en) * 1998-11-06 2008-01-29 Fotomedia Technologies, Llc Method and apparatus for controlled camera useability
JP2000181898A (ja) * 1998-12-14 2000-06-30 Nec Corp フラッシュメモリ搭載型シングルチップマイクロコンピュータ
GB9905056D0 (en) * 1999-03-05 1999-04-28 Hewlett Packard Co Computing apparatus & methods of operating computer apparatus
US7810152B2 (en) * 2002-05-08 2010-10-05 Broadcom Corporation System and method for securely controlling access to device functions
US7681043B1 (en) * 2002-05-08 2010-03-16 Broadcom Corporation System and method for configuring device features via programmable memory
US7549056B2 (en) 1999-03-19 2009-06-16 Broadcom Corporation System and method for processing and protecting content
US6618789B1 (en) * 1999-04-07 2003-09-09 Sony Corporation Security memory card compatible with secure and non-secure data processing systems
US6820203B1 (en) 1999-04-07 2004-11-16 Sony Corporation Security unit for use in memory card
US6510501B1 (en) 1999-05-11 2003-01-21 National Semiconductor Corporation Non-volatile memory read/write security protection feature selection through non-volatile memory bits
EP1058216B1 (en) 1999-06-04 2002-12-11 D'Udekem D'Acoz, Xavier Guy Bernard Memory card
FR2795838B1 (fr) * 1999-06-30 2001-08-31 Bull Cp8 Procede de securisation du traitement d'une information sensible dans un module de securite monolithique, et module de securite associe
US6289455B1 (en) 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
GB9925227D0 (en) 1999-10-25 1999-12-22 Internet Limited Data storage retrieval and access system
US6615324B1 (en) * 2000-01-07 2003-09-02 Cygnal Integrated Products, Inc. Embedded microprocessor multi-level security system in flash memory
PL355475A1 (en) * 2000-02-21 2004-05-04 Trek 2000 International Ltd. A portable data storage device
JP2001283594A (ja) * 2000-03-29 2001-10-12 Sharp Corp 不揮発性半導体記憶装置
US6795905B1 (en) * 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
AU2001247941B2 (en) * 2000-04-11 2007-09-06 Mathis, Richard M. Method and apparatus for computer memory protection and verification
US7103782B1 (en) * 2000-09-27 2006-09-05 Motorola, Inc. Secure memory and processing system having laser-scribed encryption key
US7089427B1 (en) * 2000-11-28 2006-08-08 Nintendo Co., Ltd. Security system method and apparatus for preventing application program unauthorized use
US6996721B2 (en) * 2001-03-27 2006-02-07 Micron Technology, Inc. Flash device security method utilizing a check register
US7149854B2 (en) * 2001-05-10 2006-12-12 Advanced Micro Devices, Inc. External locking mechanism for personal computer memory locations
US20030056116A1 (en) * 2001-05-18 2003-03-20 Bunker Nelson Waldo Reporter
US6772307B1 (en) 2001-06-11 2004-08-03 Intel Corporation Firmware memory having multiple protected blocks
CN100432962C (zh) * 2001-06-28 2008-11-12 特科2000国际有限公司 数据传送的方法与装置
WO2003003295A1 (en) * 2001-06-28 2003-01-09 Trek 2000 International Ltd. A portable device having biometrics-based authentication capabilities
TWI246028B (en) * 2001-06-28 2005-12-21 Trek 2000 Int Ltd A portable device having biometrics-based authentication capabilities
EP1276033B1 (de) 2001-07-10 2012-03-14 Trident Microsystems (Far East) Ltd. Speichereinrichtung mit Datenschutz in einem Prozessor
US7024532B2 (en) * 2001-08-09 2006-04-04 Matsushita Electric Industrial Co., Ltd. File management method, and memory card and terminal apparatus that make use of the method
KR100428786B1 (ko) * 2001-08-30 2004-04-30 삼성전자주식회사 내부 버스 입출력 데이터를 보호할 수 있는 집적 회로
US7779267B2 (en) * 2001-09-04 2010-08-17 Hewlett-Packard Development Company, L.P. Method and apparatus for using a secret in a distributed computing system
US7426644B1 (en) * 2001-12-05 2008-09-16 Advanced Micro Devices, Inc. System and method for handling device accesses to a memory providing increased memory access security
AU2002233912B2 (en) * 2002-02-07 2006-01-05 Trek 2000 International Ltd A portable data storage and image recording device capable of direct connection to a computer USB port
US7162644B1 (en) 2002-03-29 2007-01-09 Xilinx, Inc. Methods and circuits for protecting proprietary configuration data for programmable logic devices
US7398554B1 (en) * 2002-04-02 2008-07-08 Winbond Electronics Corporation Secure lock mechanism based on a lock word
JP3673274B1 (ja) 2002-05-13 2005-07-20 トレック・2000・インターナショナル・リミテッド ポータブルデータ記憶デバイスに記憶されたデータを圧縮および解凍するためのシステムおよび装置
JP2004072718A (ja) * 2002-06-12 2004-03-04 Fuji Photo Film Co Ltd デジタルカメラ用メモリーカード
US7444682B2 (en) * 2002-07-03 2008-10-28 Macronix International Co., Ltd. Security memory device and method for making same
JP2004038569A (ja) * 2002-07-03 2004-02-05 Toshiba Lsi System Support Kk 不揮発性メモリのデータ保護システム
TW588243B (en) * 2002-07-31 2004-05-21 Trek 2000 Int Ltd System and method for authentication
GB0301726D0 (en) * 2003-01-24 2003-02-26 Ecebs Ltd Improved smartcard
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US7146477B1 (en) * 2003-04-18 2006-12-05 Advanced Micro Devices, Inc. Mechanism for selectively blocking peripheral device accesses to system memory
JP2004348801A (ja) * 2003-05-20 2004-12-09 Sharp Corp 半導体記憶装置、予め定められたメモリ素子を保護するための方法及び携帯電子機器
US8122215B1 (en) 2003-09-15 2012-02-21 The Directv Group, Inc. Method and apparatus for verifying memory contents
US7496958B2 (en) * 2003-10-29 2009-02-24 Qualcomm Incorporated System for selectively enabling operating modes of a device
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US7493487B2 (en) * 2004-10-15 2009-02-17 Microsoft Corporation Portable computing environment
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8464348B2 (en) 2004-11-15 2013-06-11 Microsoft Corporation Isolated computing environment anchored into CPU and motherboard
US8176564B2 (en) 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US8321686B2 (en) 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8108691B2 (en) 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
US8423788B2 (en) 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
US20060194603A1 (en) * 2005-02-28 2006-08-31 Rudelic John C Architecture partitioning of a nonvolatile memory
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US9436804B2 (en) * 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
FR2886027A1 (fr) * 2005-05-20 2006-11-24 Proton World Internatinal Nv Detection d'erreur de sequencement dans l'execution d'un programme
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US8353046B2 (en) 2005-06-08 2013-01-08 Microsoft Corporation System and method for delivery of a modular operating system
JP4584044B2 (ja) * 2005-06-20 2010-11-17 ルネサスエレクトロニクス株式会社 半導体装置
US7743409B2 (en) 2005-07-08 2010-06-22 Sandisk Corporation Methods used in a mass storage device with automated credentials loading
US7934049B2 (en) 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
US7536540B2 (en) 2005-09-14 2009-05-19 Sandisk Corporation Method of hardware driver integrity check of memory card controller firmware
US7865740B2 (en) * 2005-09-27 2011-01-04 Intel Corporation Logging changes to blocks in a non-volatile memory
US7788499B2 (en) * 2005-12-19 2010-08-31 Microsoft Corporation Security tokens including displayable claims
US20070203852A1 (en) * 2006-02-24 2007-08-30 Microsoft Corporation Identity information including reputation information
US8104074B2 (en) * 2006-02-24 2012-01-24 Microsoft Corporation Identity providers in digital identity system
US8117459B2 (en) * 2006-02-24 2012-02-14 Microsoft Corporation Personal identification information schemas
US7500095B2 (en) * 2006-03-15 2009-03-03 Dell Products L.P. Chipset-independent method for locally and remotely updating and configuring system BIOS
US8108692B1 (en) 2006-06-27 2012-01-31 Siliconsystems, Inc. Solid-state storage subsystem security solution
US8078880B2 (en) * 2006-07-28 2011-12-13 Microsoft Corporation Portable personal identity information
KR100816750B1 (ko) * 2006-08-11 2008-03-27 삼성전자주식회사 공유 블록 및 고유 블록을 갖는 스마트 카드, 검출기 및반도체 집적 회로
US20080052524A1 (en) * 2006-08-24 2008-02-28 Yoram Cedar Reader for one time password generating device
US20080072058A1 (en) * 2006-08-24 2008-03-20 Yoram Cedar Methods in a reader for one time password generating device
US8607070B2 (en) * 2006-12-20 2013-12-10 Kingston Technology Corporation Secure storage system and method of use
US8423794B2 (en) 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
US8087072B2 (en) * 2007-01-18 2011-12-27 Microsoft Corporation Provisioning of digital identity representations
US8407767B2 (en) * 2007-01-18 2013-03-26 Microsoft Corporation Provisioning of digital identity representations
US8689296B2 (en) * 2007-01-26 2014-04-01 Microsoft Corporation Remote access of digital identities
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
US8499168B2 (en) * 2007-05-09 2013-07-30 Kingston Technology Corporation Secure and scalable solid state disk system
US8006095B2 (en) * 2007-08-31 2011-08-23 Standard Microsystems Corporation Configurable signature for authenticating data or program code
US20090094678A1 (en) * 2007-10-05 2009-04-09 Nokia Corporation Mulimode device
KR101239767B1 (ko) * 2007-11-12 2013-03-06 삼성전자주식회사 화상형성장치 및 그 제어방법
CN101196877B (zh) * 2007-12-29 2012-01-04 大唐微电子技术有限公司 一种多存储单元操作隔离的智能卡及其实现方法
US8694737B2 (en) 2010-06-09 2014-04-08 Micron Technology, Inc. Persistent memory for processor main memory
US9448938B2 (en) 2010-06-09 2016-09-20 Micron Technology, Inc. Cache coherence protocol for persistent memories
US8613074B2 (en) * 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
CN102164304B (zh) * 2011-02-23 2013-08-14 中国电子科技集团公司第三十六研究所 基于卫星传输的广播节目加密识别防插播方法
CN102123001B (zh) * 2011-02-23 2012-11-21 浙江广播电视集团 数字卫星广播传输防插播系统
JP2012252416A (ja) * 2011-05-31 2012-12-20 Toshiba Corp 記憶装置、データ制御方法、及びデータコントローラ
US9305142B1 (en) * 2011-12-19 2016-04-05 Western Digital Technologies, Inc. Buffer memory protection unit
CN104520801B (zh) * 2012-08-07 2019-10-18 诺基亚技术有限公司 对于无线存储器的访问控制
US9647838B2 (en) * 2013-01-25 2017-05-09 Ralph John Hilla Restructuring the computer and its association with the internet
CN103150524B (zh) * 2013-01-30 2016-01-13 华中科技大学 一种安全存储器芯片、系统及其认证方法
US10079676B2 (en) 2013-07-12 2018-09-18 The Board Of Regents Of The University Of Oklahoma Optical cryptography systems and methods
US9940048B2 (en) 2014-02-26 2018-04-10 Macronix International Co., Ltd. Nonvolatile memory data protection using nonvolatile protection codes and volatile protection codes
US9606939B2 (en) * 2015-02-26 2017-03-28 International Business Machines Corporation Memory data security
US10127485B2 (en) 2015-07-01 2018-11-13 Carrier Corporation Onion layer encryption scheme for secure multi-access with single card
US10162694B2 (en) * 2015-12-21 2018-12-25 Intel Corporation Hardware apparatuses and methods for memory corruption detection
US10715340B2 (en) * 2016-08-04 2020-07-14 Macronix International Co., Ltd. Non-volatile memory with security key storage
US10911229B2 (en) 2016-08-04 2021-02-02 Macronix International Co., Ltd. Unchangeable physical unclonable function in non-volatile memory
US10855477B2 (en) 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US10680809B2 (en) 2016-08-04 2020-06-09 Macronix International Co., Ltd. Physical unclonable function for security key
US11258599B2 (en) * 2016-08-04 2022-02-22 Macronix International Co., Ltd. Stable physically unclonable function
US10296738B2 (en) * 2017-05-03 2019-05-21 Nuvoton Technology Corporation Secure integrated-circuit state management
TWI758697B (zh) * 2019-03-22 2022-03-21 旺宏電子股份有限公司 積體電路、記憶體電路以及用於操作積體電路的方法
EP3966989A1 (en) 2019-05-10 2022-03-16 QRC AAA Sàrl Quantum-resistant sim card
US11380379B2 (en) 2020-11-02 2022-07-05 Macronix International Co., Ltd. PUF applications in memories
US11593275B2 (en) 2021-06-01 2023-02-28 International Business Machines Corporation Operating system deactivation of storage block write protection absent quiescing of processors
CN115794686B (zh) * 2023-02-08 2023-04-11 量子芯云(北京)微电子科技有限公司 一种安全存储芯片控制系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59138151A (ja) * 1983-01-28 1984-08-08 Nec Corp ロ−カルエリアネツトワ−クにおける初期化方式
ATE65632T1 (de) * 1985-07-08 1991-08-15 Siemens Ag Verfahren zum kontrollieren eines speicherzugriffs auf einer chipkarte und anordnung zur durchfuehrung des verfahrens.
JPH0632102B2 (ja) * 1985-08-22 1994-04-27 カシオ計算機株式会社 Icカ−ドの照合方式
US4800520A (en) * 1985-10-29 1989-01-24 Kabushiki Kaisha Toshiba Portable electronic device with garbage collection function
JPH0754536B2 (ja) * 1986-02-17 1995-06-07 株式会社日立製作所 Icカ−ド利用システム
US4816653A (en) * 1986-05-16 1989-03-28 American Telephone And Telegraph Company Security file system for a portable data carrier
JPH087720B2 (ja) * 1986-09-16 1996-01-29 富士通株式会社 複数サービス用icカードの領域アクセス方法
JPH0758500B2 (ja) * 1987-02-20 1995-06-21 株式会社東芝 携帯可能電子装置
KR0146067B1 (ko) * 1990-03-09 1998-09-15 문정환 롬 데이타 보호방법 및 장치
US5285200A (en) * 1990-11-29 1994-02-08 Kabushiki Kaisha Toshiba Portable electronic device and a method for processing data therefore
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100505106B1 (ko) * 2002-05-29 2005-07-29 삼성전자주식회사 강화된 보안 기능을 갖춘 스마트 카드

Also Published As

Publication number Publication date
CA2158264A1 (en) 1995-07-20
ES2169120T3 (es) 2002-07-01
FI954298A0 (fi) 1995-09-13
SG50590A1 (en) 1998-07-20
US5442704A (en) 1995-08-15
CA2158264C (en) 1997-01-14
TW323359B (ko) 1997-12-21
DE69524482T2 (de) 2002-08-01
JP3517680B2 (ja) 2004-04-12
ATE210863T1 (de) 2001-12-15
PT689701E (pt) 2002-06-28
FI954298A (fi) 1995-09-13
NO953615D0 (no) 1995-09-13
EP0689701A1 (en) 1996-01-03
DE69524482D1 (de) 2002-01-24
DK0689701T3 (da) 2002-03-11
KR960701415A (ko) 1996-02-24
FI112713B (fi) 2003-12-31
WO1995019607A1 (en) 1995-07-20
CN1082215C (zh) 2002-04-03
NO953615L (no) 1995-11-14
JP2002509624A (ja) 2002-03-26
EP0689701B1 (en) 2001-12-12
CN1122163A (zh) 1996-05-08

Similar Documents

Publication Publication Date Title
KR100232087B1 (ko) 프로그램으로 제어되는 시큐리티 액세스 콘트롤을 가진 보안성 메모리 카드
US5293424A (en) Secure memory card
KR100205740B1 (ko) 복수의 마이크로 프로세서들간에 애플리케이션 데이터 및 절차들을 공유하기 위한 보안성 애플리케이션 카드
US8332653B2 (en) Secure processing environment
US4211919A (en) Portable data carrier including a microprocessor
JPS6138519B2 (ko)
US20060184799A1 (en) Security circuit and method to secure information in a device
EP1785902A1 (en) Decryption key table access control on ASIC or ASSP
US20020089890A1 (en) Memory device and method for accessing a memory
JP2003521034A (ja) マイクロプロセッサシステムおよびそれを操作する方法
JP4489915B2 (ja) 暗証コード照合機能をもった携帯型情報処理装置
US20050200504A1 (en) Electronic data processing device
US20040186947A1 (en) Access control system for nonvolatile memory
US7464260B2 (en) Method for alternatively activating a replaceable hardware unit
KR100232086B1 (ko) 보안성 메모리 카드
WO1995024698A1 (en) A secure memory card
CA2505606C (en) Method and system for alternatively activating a replaceable hardware unit
CN1129098C (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: 20110901

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee