KR100205740B1 - 복수의 마이크로 프로세서들간에 애플리케이션 데이터 및 절차들을 공유하기 위한 보안성 애플리케이션 카드 - Google Patents

복수의 마이크로 프로세서들간에 애플리케이션 데이터 및 절차들을 공유하기 위한 보안성 애플리케이션 카드 Download PDF

Info

Publication number
KR100205740B1
KR100205740B1 KR1019950703947A KR19950703947A KR100205740B1 KR 100205740 B1 KR100205740 B1 KR 100205740B1 KR 1019950703947 A KR1019950703947 A KR 1019950703947A KR 19950703947 A KR19950703947 A KR 19950703947A KR 100205740 B1 KR100205740 B1 KR 100205740B1
Authority
KR
South Korea
Prior art keywords
access
microprocessor
application
memory
control
Prior art date
Application number
KR1019950703947A
Other languages
English (en)
Other versions
KR960701414A (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 KR960701414A publication Critical patent/KR960701414A/ko
Application granted granted Critical
Publication of KR100205740B1 publication Critical patent/KR100205740B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (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)
  • Microcomputers (AREA)
  • Circuits Of Receivers In General (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

보안 애플리케이션 메모리 카드(3)는 표준 인터페이스를 통해 호스트 마이크로 프로세서(5-6)에 동작가능하게 접속될 수 있고, 다수의 블럭들로 구성된 다수의 어드레스가능한 비휘발성 메모리 칩들(103a,103n)에 상호접속하는 단일 반도체 칩상에 액세스 제어 마이크로 프로세서(ACP 10)를 포함한다. 상기 마이크로 프로세서는 다수의 키이 값들 및 프로그램 교육 정보를 포함하는 정보를 저장하는 어드레스가능한 비휘발성 메모리(10-2) 및 허가받지 않은 액세스로부터 비휘발성 메모리 칩들의 데이터 내용을 보호하는 보안 제어 유닛을 포함한다. 상기 메모리 카드는 애플리케이션 프로세서(A1) 및 액세스 식별 논리 유닛(A3)을 더 포함한다. 상기 액세스 식별 논리 유닛은 보안을 유지하도록 ACP(10)의 제어하에 애플리케이션 프로세서(A1)에 의해 기입가능한 타입의 메모리에 의한 액세스를 포함한다. 상기 메모리는 다수의 위치들을 가지며, 각 위치는 다수의 액세스 제어 비트를 가지며 상기 블럭에 허용되는 다른 타입의 액세스를 한정하도록 비휘발성 메모리 칩의 다른 블럭과 관련된다.

Description

[발명의 명칭]
복수의 마이크로 프로세서들간에, 애플리케이션 데이터 및 절차들을 공유하기 위한 보안성 애플리케이션 카드
[발명의 상세한 설명]
[발명의 배경]
[발명의 분야]
본 발명은 휴대용 퍼스날 컴퓨터 분야, 특히 휴대용 디지탈 정보 환경에서의 데이터 보안을 유지하기 위한 시스템에 관한 것이다.
[종래의 기술]
개인 정보에 관한 보안은 항상 중요시되어 오고 있으며, 역사적으로 볼 때, 서명, 신임 증명서 및 사진을 통하여 지켜져 오고 있다. 자동화된 은행 업무 기계에서와 같은 전자적 장치에서는 보안기구의 목록에 부호화된 카드 및 개인적인 신원 확인번호(personal identification number; PIN)가 부가되어 있다.
더욱 최근에는, 보안기구로서 "스마트 카드(smart card)"가 사용되어 왔다. "스마트 카드"란 기입가능하고 비휘발성인 메모리 및 간단한 입/출력 인터페이스가 싱글 칩으로서 조립되어 플라스틱으로 된 신용카드에 형성되어 있는 소형의 마이크로 컴퓨터를 말한다. 그것은 외부 핀이 있어, 특수하게 디자인된 장비와 연결도 가능하게 된다. 카드내의 마이크로 컴퓨터에 담겨진 프로그램은 이 장비와 상호 작용하여, 패스워드의 교환행위를 임의적을 포함할 수도 있는 소정 알고리즘에 따라, 그 비휘발성 메모의 데이터 판독 및 변경을 가능하게 한다. 상황조건에 따라서, 메모리 데이터를 보호하며 또한 변경을 허용케 하기 위한 특수한 기술들이 실행되어 오고 있다. 예로서, "온-칩(on-chip) 변경가능한 메모리를 가진 싱글 칩 마이크로 프로세서"라는 명칭을 가진 미국 특허번호 4,382,279에는 비휘발성 메모리의 자동적인 프로그래밍을 가능케 하는 아키텍쳐가 도시되어 있는 바, 이 메모리는 처리 및 제어 유닛과 동일한 칩에 들어 있다. 기타의 시스템에서와 같이, 이 마이크로 프로세서에는 동일 칩상의 메모리만을 보호할 뿐이다.
"스마트 카드"는 신원확인의 프로세스를 용이하게 하고, 또한 중요한 정보의 실제적인 저장장소로서의 두가지 기능을 수행해 오고 있다. 종래 대부분의 상황조건인 이런 상황에서 확인(verification) 또는 증명(authentication)의 프로세스의 일부분으로서 "키"의 실질적 존재와 더불어 약간의 특수정보가 이용되어 오고 있다. 그러한 경우에 있어서, 신원확인에는 액세스를 원하는 사람과 고정되어 있는 에이젠트간의 대화가 수반되는데, 이때 에이젠트로는 보안 감시인 또는 자동화된 출납기계와 같은 것이 있다.
현재의 자립형 연산 장치의 휴대 용이성은 "실질적 키" 및 증명 에이젠트(authentication agent)가 소형, 휴대가능하게 되는 한편 분실되거나 도난되기 쉽게 된다. 게다가, 연산 장치들은 신원확인 프로세스에 관련된 패스워드 또는 특수정보를 추측하거나 추론하기 위한 반복적 시도를 가능하게 한다. 이것은 만일 증명 에이젠트 또는 장치가 도둑질한 자의 수중에 있게 되는 경우에는 더욱 가능하게 된다. 기술은, 막대한 양의 센시티브한 정보들을 개인의 신변에 휴대하는 것을 가능하게 하며 이를 장려하게 되는 반면, 재난은 일어나기 쉽다는데에 문제가 있는 것이다.
또한, 오늘날의 노트북, 서브노트북 사이즈의 컴퓨터는 상당한 연산능력을 갖는 자립형 환경을 제공하고 있는 바, 이 연산능력은 부가적 데이타 저장용량을 필요로 한다. 이러한 필요는, 초기에는, 프로그램과 데이터를 저장가능한 소형의 하드 디스크 장치로 충족되어 왔다. 이러한 시스템에서 패스워드에 의한 보호가 자주 사용되고 있지만, 센시티브한 데이터의 완전한 보호에는 미치지 못하고 있다. 왜냐하면, 첫째로, 증명 에이젠트가 공격받기 쉬운 약점을 안고 있기 때문이다. 한편, 더욱 중요한 것은, 그 데이터를 보유하고 있는 디스크 장치는 물리적으로 착탈될 수 있어 분석하기 위한 장치대(setting)에서 접근가능하다는 것이다. 이런 경우에, 데이터는 어떤 형태의 암호의 채용을 통해 보호되어 오고 있다. 디스크 액세스의 특성상 이것은 지나친 비용이나 실행상의 장벽없이 가능하다. 이런 형태의 시스템의 한 예가 "집적회로 카드"라는 명칭의 미국 특허번호 4,985,920에 설명되어 있다.
최근의 플래시 메모리 및 착탈가능한 "메모리 카드"의 출현은 휴대용 컴퓨터의 휴대특성에서의 사이즈 및 소비전력에 있어 큰 감소를 가져 오게 하였다. 플래시 메모리는 랜덤 액세스 메모리(RAM)에서의 융통성과 디스크의 영속성을 결합하였다. 오늘날, 그런 기술의 결합으로서, 신용카드 크기의 착탈가능한 팩키지에 2천만 바이트의 데이터를 무전원으로 저장하는 것이 가능하다. 이러한 데이터는 호스트 시스템에서 볼 때는 통상의 디스크 드라이브는 물론 호스트 시스템의 메모리 확장기에 저장되어 있는 것처럼 보일 수 있는 것이다.
이러한 기술의 개발은, 시스템 사이즈를 더욱 더 감소시켜서 시스템과 프로그램을 포함한 데이터를 개인의 신변에 휴대가능하게 하는 정도까지 가능케 하고 있다. 이것은 데이터, 프로그램 및 그 호스트 시스템의 분실이나 도난의 면에서 더욱 공격받기 쉽게 되게 하고 있으며 암호에 의한 메모리 데이터의 보호에는 비용 및 실행상의 장벽이 나타나게 되어 더욱 어려워지는 것이다.
이에 따라, 본 발명의 주 목적은 보안성의 메모리 서브 시스템을 가진 휴대용 디지탈 시스템을 제공하는 것이다.
본 발명의 다른 목적은 휴대용 디지탈 시스템에서 제거된 경우에도 내용의 보호가 가능한 메모리 카드를 제공하는 것이다.
본 발명의 다른 목적은 어떤 애플리케이션을 실행하는데 요구되는 작업 환경을 완벽히 보호하기 위해 이용되는 보안성 메모리 서브 시스템을 제공하는 것이다.
[발명의 요약]
본 발명의 상기목적 및 기타의 목적이 관련 미국 특허출원(출원번호 906,748)에서 기술된, 호스트 시스템 마이크로 프로세서와 같은, 큰 호스트 시스템중의 하나와 결합하여 동작하는 보안성 애플리케이션 카드의 바람직한 실시예에 의하여 달성된다. 본 발명은 데이터의 보안성을 프로그램에까지 연장하여, 애플리케이션의 실행을 위한 보안성 작업환경을 제공한다. 보안성 애플리케이션 카드의 바람직한 실시예는 단일 반도체 칩상의 액세스 콘트롤 프로세서(ACP) 및 주 메모리로 사용되는 하나 또는 그 이상의 어드레스 가능한 비휘발성 메모리 칩을 포함한다. 액세스 콘트롤 마이크로 프로세서 칩과 비휘발성 메모리 칩들은 어드레스, 데이터 및 콘트롤 정보를 비휘발성 메모리 칩에 전송하기 위한 별개로 구성된 내부버스를 통하여 공통으로 접속되어 있다. 액세스 콘트롤 마이크로 프로세서는, 내부 버스에서 어드레스, 데이터 및 콘트롤 정보를 전송하는 것을 제어하기 위한 다수의 키 값들 및 프로그램 명령 정보를 포함한 구성정보를 저장하기 위한, 어드레스 가능한 비휘발성 메모리를 포함한다. 바람직한 실시예에서, 구성정보의 일부분은, 파워 업시에 로드되는 액세스 바이 타입(ACCESS-BY-TYPE) 메모리를 위한 내용으로 사용된다. 이 데이터는 ACP에 의해 보호되며, 호스트 프로세서에 의해 적절한 허가를 수반하여야만(패스워드의 변경을 통하여) 변경될 수 있다.
본 발명에 따르면, 보안성 애플리케이션 카드는, 내부 버스에 역시 연결된, 애플리케이션 마이크로 프로세서를 또 포함한다. 바람직한 실시예에서, 애플리케이션 프로세서 뿐 아니라 카드에 유효하게 연결된 타 마이크로 프로세서들은 단순한 판독 액세스에 대조되어, 메모리에 "실행" 액세스를 지시하는데 사용되는, 내부 버스의 제어 부분을 통하여 수행되는 버스 인터페이스의 제어 부분을 포함하는 추가적 신호라인을 가진다. 애플리케이션 프로세서와 연합하여, 비휘발성 메모리 칩들에 접근을 제어하는 액세스 제어 마이크로 프로세서로서, 동일 칩상에 포함되는 액세스 식별 로직 유닛이 있다. 액세스 식별 로직 유닛은 복수의 워드 로케이션들을 가지는 액세스 바이 타입의 랜덤 액세스 메모리(RAM)를 포함하는 바, 각 로케이션은, 어드레스 가능한 메모리 칩들의 개별 블럭 및 특정 애플리케이션의 실행에 따른 함수로서 규정되는 별개의 타입의 액세스를 코드화한 다수의 액세스 제어 비트들과 연합되어 있다.
액세스 바이 타입 메모리에 있는 선별기 수단은, 내부 버스의 제어 부분에 결합되며, "실행" 신호 라인에 인가된 신호 및 마이크로 프로세서 소스가 애플리케이션 카드의 외부(즉, 호스트 마이크로 프로세서)에 위치되거나 카드내에 있음을 지시하기 위한 "오프 보드"신호 라인에 응답하여 결합된다. 선별기 수단은 요구된 액세스 형태에 상응하는 비트 로케이션을 선별하며, 지시된 액세스 비트 로케이션의 비트 내용을, 비휘발성 메모리 칩에, 제어 신호를 인에이블하게 하는 전송을 허용 또는 불허용하게 하는 데 사용한다. 바람직한 실시예에서, "실행" 및 "오프 보드"신호 라인의 상태는 몇개의 메모리 액세스 방식을 규정짓는다. 이것들은 호스트 마이크로 프로세서로부터 데이터 판독 액세스, 호스트 마이크로 프로세서로부터의 실행 액세스, 및 애플리케이션 카드의 마이크로 프로세서로부터의 실행 액세스를 말한다.
액세스 콘트롤 마이크로 프로세서는, 파워 업 기간중에 통상의 방법으로, 액세스 바이 타입 RAM의 내용들을 기입한다. 지시된 바와 같이, 호스트 또는 애플리케이션 프로세서는, 보안유지를 위해 ACP의 통제하에서만 이 RAM의 내용들을 변경하도록 허용한다.
바람직한 실시예에서는, 호스트 컴퓨터는 퍼스날 컴퓨터 메모리 카드 국제 협회(personal computer memory card international assosiation; PCMCIA)의 기준의 인터페이스에 따르는 표준 인터페이스를 통해 메모리 카드와 결합된다. 특히, 선정된 특정의 PCMCIA 인터페이스는 버스 마스터링과 카드간 통신 가능성을 제공하는 카드 프로세서와 결합하여 사용될 수 있는, 소위 "인-플레이스 실행; (Execute-in-place)(XIP)"을 가진 것이다.
본 발명은 관련 특허출원의 보안성 메모리 카드의 용량을, 프로그램에 대한 보안성을 제공함으로서 확장시켜, 애플리케이션 소프트웨어를, 표준의 공유버스에, 규정된 메세지 또는 프로토콜을 사용하는 한편 마이크로 프로세서의 내부동작은 차폐하는 방법을 통해 호스트 마이크로 프로세서에 응답하는, 마이크로 프로세서를 자체로 포함하고 있는 카드와 함께 패키지화하는 것을 가능케 한다. 이러한 동작 모드는, 그러한 기능의 단편으로서 뛰어난 개발환경을 제공함을 목표로 하는 객체 지향의 소프트웨어 디자인의 기본 원리에 순응한다. 그러므로, 본 발명은 애플리케이션을 위한 보안성 동작환경을 제공하는, 동일한 목표를 달성하게 되는 것이다.
관련 특허출원의 경우에 있어서는, 본 발명은 "스마트 카드"와 "메모리 카드"의 기술을 융합시켜, 전자적 축소화에 따른 "보안의 엄격성" 분야에 있어 플래시 메모리 기술에 의한 대용량의 데이터의 보호를 가능케 하는, 열쇠가 된다. 본 발명은, 보안 모드 그리고 비 보안 모드 양쪽에서 동작가능하며, 데이터의 암호화 및 해독의 필요성을 제거하고, 또한 카드 또는 그의 호스트 프로세서가 분실, 도난, 무전원 또는 방치상태에 있게 되는 경우에도 메모리 데이터가 보호되는, 관련 특허출원으로서의 보안성 카드의 특징을 아울러 보유하고 있다. 절도의 경우에, 메모리 카드를 분해하여 전자적으로 프로브 검사하거나 메모리 칩을 장탈해 내어 또 다른 장치에 놓게 되더라도 메모리 데이터는 접근이 보호된다.
상기한 목적들과 본 발명의 유용성들은 다음의 설명과, 동반하는 도면을 함께 해보면 더 잘 이해될 수 있을 것이다.
[도면의 간단한 설명]
제1도는 본 발명에 따라 구성된 애플리케이션 카드를 결합시킨 시스템의 블럭선도이다.
제2도는 제1도에서의 플래시 메모리의 구조를 더욱 상세히 보인 도면이다.
제3도는 본 발명에 따라 구성된, 제1도에서의 액세스 바이 타입 메모리를 더욱 상세히 보인 도면이다.
제4도는 본 발명의 애플리케이션 카드의 동작을 설명하기 위해 사용된 시스템 배열도이다.
[바람직한 실시예에 대한 설명]
제1도는 퍼스날 컴퓨터 또는 상거래용 프로세서에 사용가능한 보안성 휴대용 핸드-헬드(hand-held)의 컴퓨터 시스템(1)의 블럭선도이다. 시스템(1)은 외부 버스(102)에 의하여 호스트 프로세서(5)에 연결되고, 본 발명에 따라 구성된 애플리케이션 카드(3)를 포함하고 있다. 호스트 프로세서(5)는 휴렛-패커드사에서 제조한 HP95LX와 같은 팜 탑(palm top) 퍼스날 컴퓨터의 형태를 취할 수도 있다.
호스트 프로세서(5)는 내부 버스(106)와 5-10 블럭(5-10)의 인터페이스 로직회로를 경유하여 버스(102)에 연결된 마이크로 프로세서를 포함하고 있다. 호스트 프로세서(5)는 버스(106)에 접속된 액정표시장치(5-2), 키 보드(5-4) 및 메모리와 같은 기타 유닛을 포함할 수도 있다. 메모리는 1메가 바이트의 읽기 전용 메모리(ROM)와 512키로 바이트의 랜덤 액세스 메모리(RAM)를 포함한다.
애플리케이션 카드(3)와 호스트 마이크로 프로세서(5) 간의 접속은 표준의 버스 인터페이스를 통해 이루어진다. 바람직한 실시예에 있어서, 버스(102)는 "인-플레이스-실행; (XIP)" 성능을 포함하는, 퍼스날 컴퓨터 메모리 카드 국제 협회(PCMCIA)의 표준에 따른다. 인터페이스(102)는, 표준의 인터페이스 칩(104)과 내부 카드 버스(105)를 경유하여 호스트 프로세서(5)와 애플리케이션 카드 시스템(3) 간의 어드레스, 콘트롤 및 데이터 정보를 전송하기 위한 경로를 제공한다. 각 버스(102, 105 및 106)들은 데이터 버스, 콘트롤 버스 및 어드레스 버스를 포함하고 있으며 모두, 동종의 버스를 통하는 간단없는 신호의 경로로서 제공되고 있다. 예를 들면, 105 버스(105)는 어드레스 버스(105a), 데이터 버스(105b) 및 콘트롤 버스(105c)를 포함하는 것을 말한다.
제1도에서 보여지는 바와 같이, 본 발명의 애플리케이션 카드(3)는, 각각 버스(105)에 결부된 복수의 CMOS 플래시 메모리 칩(103a에서 103n)들과, 버스(105)에 결부된 액세스 콘트롤 마이크로 프로세서(ACP)(10) 및 플래시 메모리(103a에서 103n)와 버스(105)에 결부된 액세스 식별 로직 유닛(A3)과 버스(105)에 결부된, 애플리케이션 마이크로 프로세서(A1)를 포함한다. ACP(10)는 "스마트 카드"에서 사용되는 전형적인 프로세싱 소자와 동형이 것이다. CMOS 플래시 메모리(103a에서 103n)는 인텔사에서 제조되는 플래시 메모리의 형태를 취하는 것도 가능하다. 예를 들어, 128 킬로바이트 × 8 비트의 CMOS 플래시 메모리 8개를 포함하고 있는 인텔 28F001BX 1M이라는 인텔사의 플래시 메모리의 형태를 취해도 된다. 그러므로, 4메가 바이트의 플래시 메모리 카드는 32개의 플래시 메모리들을 포함하게 되는 것이다(즉, n=32이다).
액세스 콘트롤 마이크로 프로세서(10)와 플래시 메모리(103a에서 103n)들은 위에서 언급한 관련 특허출원에서 설명된 바와 같이 형성될 수 있다. 이를 완성시키기 위하여, ACP(10)와 비휘발성 메모리(103i) 양자를 여기에서 자세히 설명하고자 한다.
본 발명에 따라, 제1도에서 보여지는 바와 같이, 내부 버스(105) 뿐만 아니라 외부 버스(102)의 제어 부분은 마이크로 프로세서들(5-6, 10 및 A1) 중의 하나에 의해 발생되는 실행, 기입 및 판독 제어 신호를 인가하는 복수의 제어 신호 라인을 포함한다. 특히, 마이크로 프로세서 각각은, 제어 라인의 다양한 별개의 상태를 통해, 실행, 판독 및 기입 동작의 주기를 착수시키는 수단을 가진다. 예를 들어, 특정 제어 라인의 변화하는 상태에 의해 코드의 판독, 메모리 판독 및 메모리 기입 버스 주기를 착수시키는 성능을 포함하는, 인텔 486DX 마이크로 프로세서와 유사한 방법으로, 마이크로 프로세서가 구성될 수 있다. 그러한 버스 주기에 관한 정보는, 인텔사의 참고번호 CG-110392, 제목 "마이크로 프로세서 I권" 간행물을 참조하기 바란다.
제3도에 자세히 설명된 액세스 식별 로직 유닛(A3)은 복수의 워드 로케이션을 가지고 있는 액세스 바이 타입 RAM을 포함하는 바, 메모리 칩(103a에서 103n) 각 블럭의 하나의 로케이션, 그리고 "실행" 및 "오프 보드" 제어 신호 라인에 연결된 입력 선택기 회로는 메모리 액세스의 소스와 그 특성을 지시한다. 본 발명에 따르면, 이 신호들은 메모리 액세스의 4가지 다른 타입을 규정짓는데, 이것들은 호스트 마이크로 프로세서(5-6)로부터의 데이터 판독 액세스, 애플리케이션 마이크로 프로세서(A1)로부터의 데이터 판독 액세스, 호스트 마이크로 프로세서(5-6)로부터의 실행 액세스 및 애플리케이션 마이크로 프로세서(A1)로부터의 실행 액세스들이다. 액세스 식별 로직 유닛(A3)은 메모리 칩(103a에서 103n)에 출력 인에이블 콘트롤을 인가하는 작업을 수행한다. 즉, 그것은 메모리 칩(103a에서 103n)에 인가될 인에이블 콘트롤 신호의 타입을 결정하는데 있어, 어드레스되고 있는 블럭과 연합된 로케이션에 기 저장된 액세스 제어 비트들의 선택된 상태의 함수로서, 결정한다.
[액세스 콘트롤 마이크로 프로세서(10)]
바람직한 실시예로서, 액세스 콘트롤 마이크로 프로세서(ACP)(10)는 보호된 비휘발성 메모리(10-2), 랜덤 액세스 메모리(RAM)(10-4) 및 인터벌 카운터(10-6)를 포함하고 있으며, 제1도에서 도표로서 나타내고 있다. 비휘발성 메모리(10-2)는 증명정보(authentication information)와 프로그램들을 저장하기 위한 다수의 어드레스가 지정된 장소로서 전담되고 있다. 특히, 어떤 메모리 장소 그룹은 하나 또는 그 이상의 개인 신원확인 정보(PINs), 프로토콜 시퀀스, 또는 사용자가 시스템에 액세스된 것의 확인 및 재증명을 위해 사용되는 시간 인터벌 값이 추가된 후에 사용자가 액세스하는 경우, 플래시 메모리(103a에서 103n)의 블럭을 식별하도록 하기 위한 구성 정보를 저장한다. 또한 메모리 장소의 다른 그룹은, 액세스 식별 로직 RAM에 코드 가능한, 액세스의 타입(즉, 액세스 바이 타입 RAM의 내용이 맵(map)인지 이미지(image)인지)을 지정하도록 하는 특정 애플리케이션에 관한 정보를 저장한다.
메모리 장소의 다른 그룹은, 각 플래시 메모리(103a에서 103n)를 보호하기 위한 키 값을 저장하거나 각 플래시 메모리(103a에서 103n)의 개별 블럭들을 보호하기 위하여 사용되는 코드들을 저장한다. 메모리 장소의 또 다른 그룹은 증명동작(authentication operation)의 요구시 이를 수행하기 위한 프로그램 명령 시퀀스와, 소정 조건에 따라서 시스템이 실패로 되었을 때 시스템을 클리어하기 위한 프로그램 명령 시퀀스를 저장한다. 특정 애플리케이션하에서, 사용자로 하여금, 사용자의 재증명(reauthentication) 실행을 성취하기 위한, 인터벌 카운터(10-6)의 셋팅(setting)을 조절가능케 하기 위하여, 프로그램 명령들이 포함될 수도 있다.
[플래시 메모리(103a에서 103n)]
제2도는 플래시 메모리(103a)의 블럭선도를 보여주고 있는데, 이것은 잔여의 플래시 메모리(103b에서 103n)를 구성하는 것과 동일한 것이다. 보여지는 바와 같이, 메모리(103a)는 두개의 섹션으로 되어 있는 바, 하나는 본 발명에 따라 구성된 메모리 섹션(103M)이며 하나는 본 발명의 시큐리티 액세스 콘트롤 회로들을 포함하고 있는 시큐리티 로직 섹션(103S)이다.
[메모리 섹션(103M)]
제2도에서 보여지는 바와 같이, 103M 섹션(103M)은 제4도에서 보여지는 16개 블럭으로 구성된 메모리 어레이(54), 코맨드 레지스터(50), 입/출력 로직 회로(60), 어드레스 카운터(51), 기입 상태기(write state machine)(61), 소거 전압 시스템(620, 출력 멀티플렉서(53), 데이터 레지스터(55), 입력 버퍼(51), 출력 버퍼(52), 상태 레지스터(58)들로 구성된다. 위에서 언급된 플래시 메모리(103a)의 기본적 로직 회로는 인텔사에서 제조된 플래시 메모리에 포함되어 있는 회로와 동형의 형태를 취한다. 이러한 회로는 설계상 관례적인 것들이기 때문에, 필요한 범위내에서만 설명하고자 한다. 그런 회로들에 대한 자세한 정보는 인텔사에 의해 1992년 출판된, 주문번호 210830, "메모리 프로덕츠"라는 제목의 간행물을 참조하기 바란다.
제2도에서 보여지는 바와 같이, 플래시 메모리 회로는 복수의 입력 어드레스시그날(A0-A16), 데이터 시그날(D00-D07) 및 칩 인에이블(CE), 기입 인에이블(WE), 출력 인에이블(OE), 전원 다운(PWD) 그리고 소거/프로그램 전원 공급 시그날(VPP)들을 수령한다.
CE, WE, OE 시그날들은 버스(102)와 콘트롤 버스(105b)를 경유하여 호스트 프로세서(5)로부터 레지스터(50)와 I/O 로직 블럭(60)에 인가되고, 지시된 로직 블럭을 콘트롤하기 위해 분산된다. 특히, OE 시그날은 출력 버퍼(52)에 입력으로서 인가되며, 본 발명에 따라, 제1도에서의 액세스 식별 로직(A3)에 의하여 제공된다. PWD 시그날은 역시, 플래시 메모리를 인에이블하기 위하여 코맨드 레지스터(50)에 인가되어, 필요한 경우 섹션(103S)의 휘발성 저장소자를 클리어 하는 것과 같은 동작들을 수행하도록 하며, 정상 동작이 다시 계속되는 경우, 사용자의 재증명(reauthentication)을 강화하도록 한다.
일반적으로, 103M 섹션(103M)의 기본적 로직 요소들은 다음의 방법으로 동작된다. 정보는 데이터 버스(105a), 입력 버퍼(51) 및 어드레스 버스(105c)로부터 어드레스 카운터(56)에 의해 수신된 어드레스에 의해 규정된 메모리 블럭중의 하나의 어드레스 장소의 데이터 레지스터를 경유하여 메모리 어레이(54)에 저장된다. 정보는 메모리 어레이(54)의 규정된 어드레스 장소로부터 읽혀져서, 출력 멀티플렉서(53), 출력 버퍼(52), 데이터 버스(105a) 및 버스(102)를 경유하여 호스트 프로세서로 보내진다. 상태 레지스터(58)는 기입 상태기, 에러 정지 상태(error suspended status), 소거 상태, 프로그램 상태 및 VPP 상태를 저장하는데 사용된다.
기입 상태기(61)는 블럭소거와 프로그램 알고리즘을 제어한다. 프로그램/소거전압 시스템(62)은 VPP의 전압레벨의 함수로서, 메모리 어레이(54) 또는 각 블럭의 프로그래밍 바이트를 소거하기 위해 사용된다.
[시큐리티 섹션(103S)]
제2도에서 보여지는 바와 같이, 103S 섹션(103S)은 시큐리티 액세스 콘트롤 유닛(30)과 휘발성 액세스 콘트롤 메모리(43)의 연결을 포함한다. 액세스 콘트롤 메모리(43)의 출력은, 메모리 어레이(53)의 어떤 블럭의 바이트 로케이션의 내용이 판독될 때, 출력 버퍼(52)의 인에이블 입력으로서, 각 메모리 판독 사이클중에 인가된다. 즉, 판독 사이클 중에, 해당하는 블럭의 액세스 콘트롤 메모리 게이팅(gating) 시그널이 없는 경우에는 판독된 데이터가 출력 버퍼(52)를 통과하는 것이 금지되는 것을 말한다.
특히, 액세스 콘트롤 메모리(43)는 16개의 독립적으로 어드레스 가능한 비트 저장 소자들과, 각 저장 소자의 입력에 연결된 4에서 16 비트의 입력 어드레스를 가진 디코우더 및 각 저장 소자의 출력에 연결된 1에서 16의 출력 멀티플렉서를 포함하고 있다. 나타낸 바와 같이, 콘트롤 메모리(43)에 적용된 블럭 어드레스에 상응하는, 어드레스 래치 카운터(56)의 4개의 비트들은 해독되어져서, 출력 버퍼(52)에 인에이블링 입력으로서 적용되는 저장소자 출력의, 적절한 선택을 위해 사용된다.
이 섹션은 103M 섹션의 코맨드 레지스터(50)로부터의 코맨드 콘트롤 신호들을 수신한다. 관련 특허출원에서 설명된 것과 같은 특별 코맨드들이, 데이터 보안성을 이행하기 위하여 플래시 메모리에 의하여 사용되는 한조의 코맨드 세트에 추가된다. 표준의 플래시 메모리 코맨드는 인텔사의 플래시 메모리에서 사용되는 코맨드의 형태를 취한다.
[애플리케이션 마이크로 프로세서와 호스트 장치]
애플리케이션 마이크로 프로세서(A1)는 애플리케이션 카드 속에 포함되어 있으며, 특정 애플리케이션을 실행하기 위하여 요구되는 모든 동작 기능들을 수행하도록 프로그램되어 있다. 바람직한 실시예에 있어서, 마이크로 프로세서는 인텔 80286 마이크로 프로세서 칩을 사용하도록 형성할 수도 있다. 애플리케이션 마이크로 프로세서(A1)는 또한, 특정 애플리케이션을 실행하기 위한 특정 중간 계산들을 수행하는데 사용되는 랜덤 액세스 메모리를 가진다.
제1도의 호스트 프로세서(5)와 함께 사용되는 것에 덧붙여, 애플리케이션 카드(3)는 또한, 제4도의 핸드-헬드 위치의 호스트 프로세서와 연결되어 동작된다. 이 호스트 프로세서는 표시장치, 키 패드, 티켓 프린터, 신용 카드 판독기 및 내부 버스에서 공통으로 접속된 통신 링크와 같은 주변 기기들을 포함한다. 호스트 마이크로 프로세서는, 스스로는 최소한의 기능만을 갖고 있지만, 주변 기기들을 동작시키도록 하는 간단한 장치이다. 예를 들어, 그 마이크로 프로세서는 인텔 8051 칩을 사용할 수도 있다. 그것은 스타트 업 및 자가 진단 코드만을 포함하고 있는 자체의 ROM을 가지고 있다. 그러므로, 호스트 장치는 모든 중요한 기능이 애플리케이션카드(3)에 포함되어 있는 "쉘"처럼 보일 수 있다.
[액세스 식별 로직]
제3도에서 보여지는 액세스 식별 로직 유닛(A3)은, 플래시 메모리의 숫자에 상응하는 n개의 그룹의 로케이션들을 가지는 랜덤 액세스 메모리(B1)를 포함한다. 각 그룹은 16개의 멀티 비트 또는 워드 로케이션을 포함하고 있는 바, 각 블럭의 하나는 플래시 메모리(103a)에 포함되어 있다. 각 워드의 비트 위치들의 갯수는 실행되고자 하는 애플리케이션에서 요구되는 별개의 액세스 타입의 갯수와 일치한다. 예를 들어 바람직한 실시예에서의 애플리케이션 카드는, 위에서 언급한 것처럼 4가지 종류의 다른 타입의 액세스가 있다. 이러한 액세스들은 각 워드의 0에서 3까지의 비트 위치들에 의해 지정된다. 지시된 바와 같이, 0 및 1의 비트 위치들은, 애플리케이션 마이크로 프로세서를 데이터와 프로그램에 각각 액세스하도록 제어하는데 사용된다. 각 워드의 2 및 3의 비트 위치들은 프로세서를 데이터와 프로그램에 각각 액세스하도록 제어하는데 사용된다. 어떤 비트 위치가 2진의 one상태로 프리셋되어 있을 때는, 액세스가 허용된다는 것을 지시한다. 비트 위치가 2진의 zero상태로 프리셋되어 있을 때는 액세스가 허용되지 않는다는 것을 지시한다.
도시된 바와 같이, RAM 어레이(B1)는, 내부 버스(105)의 데이터 버스 부분(105b)을 어떤 승인된 마이크로 프로세서에 의해 로딩되도록 연결된다. 또한 이 어레이의 어드레스의 하나로서 작용되는 메모리 어드레스의 최상위 비트를 공급하는, 내부 버스(105)의 어드레스 부분(105a)에 연결된다. 어드레스된 로케이션의 출력은 멀티플렉서(B2)의 데이터 입력에 인가된다. 나타낸 바와 같이, 멀티플렉서(B1)의 선별기 입력은, 내부 버스(105)의 제어 부분(105c)의 "실행" 및 "오프 보드" 제어 라인들에 연결된다. 멀티플렉서(B1)의 출력은, AND 게이트(B3)의 입력중의 하나에 인가되는데, 이 게이트의 다른 입력은 내부 버스(105)의 제어 부분(105c)의 출력 인에이블 제어 라인에 연결된다. AND 게이트(B3)는, 각 메모리 칩(103a에서 103n)의 입력으로서 인가되는, 출력 인에이블 제어 라인에 연결된다.
[동작의 설명]
본 발명 애플리케이션 카드의 동작을 제4도의 시스템 구성에서 도시된 특정 애플리케이션과 관련하여 설명하고자 한다. 다수의 애플리케이션 카드들이 있으며, 각각은 레스토랑에서 사용하기 위하여 프로그램되어 있다. 레스토랑에서, 주 프레임의 퍼스날 컴퓨터는 레스토랑에서의 모든 프로세스에 사용되며, 제1도의 호스트 퍼스날 컴퓨터(5)와 같이 구성될 수 있다. 통상의 설비에 덧붙여, 호스트 퍼스날 컴퓨터(5)는, 디스켓 슬롯을 가지며, PCMCIA 카드를 받아들이는 장치를 갖고 있다.
각 애플리케이션 카드는 그러한 인터페이스에 접속될 뿐만 아니라 제4도에서의 기기와 같은, 다수의 핸드-헬드 기기중의 하나에 접속될 수 있다. 나타낸 바와 같이, 각 핸드 헬드 기기는 키 패드, 소형 표시장치 및 기타의 필요한 보조장치에 덧붙여 신용카드 판독기를 가진다. 종업원(웨이터, 바 텐더 등)의 수에 따라서, 그러한 장치들이 50개까지 있을 수도 있다.
레스토랑이 영업을 시작하기 전인 매일 아침에, 레스토랑의 데이터 프로세싱 관리자는, 각각의 웨이터에 대하여, 선반에 보관된 장치들의 밧데리를 재충전하고, 핸드-헬드 장치 그룹을 체크한다. 다른 장소에서 관리자는, 어제 저녁에 사용한 애플리케이션 카드들을 찾아낸다. 즉, 통상절차에 따르면, 웨이터가 체크 아웃하면, 핸드-헬드 장치로부터 카드를 제거하고, 장치를 재충전 선반에 위치시키고, 카드는 관리자만이 접근가능한 시건장치가 있는 안전한 장소에 보관한다.
각 애플리케이션 카드는 2개의 호스트를 인식하는 성능이 있는 바, 이는 각 카드의 액세스 콘트롤 마이크로 프로세서(10)가 두개의 PIN을 인식하도록 프로그램되어 있다는 것을 말한다. 이중 하나는 관리자와 주 프레임 개인 컴퓨터(5)만이 알고 있는 컴퓨터 시스템의 PIN이다. 다른 하나는, 관리자에 의해 제공된 PIN의 리스트로부터 선택되며, 매번 근무시작시에 웨이터에 의해 선정된 것이다.
관리자는 각 애플리케이션 카드를 취하여, 보다 상위 레벨의 PIN을 제공하는, 주 프레임 개인 컴퓨터(5)에 삽입한다. 각 애플리케이션 카드에 저장된 정보중 가장 중요한 것은, 특정 근무 일정중에 특정 웨이터에 의해 수행된 어제의 거래기입니다. 이것은 다량의 종이 영수증에 의한 진행의 필요를 제거시키는, 회계계산의 근거들이 된다.
액세스 식별 로직(A3)에 있어서, 제4도에서 지시된 바와 아래의 표에서와 같은, 데이터 타입과 액세스 타입에 관련하여 식별이 이루어진다.
여기에서, AD=애플리케이션 데이터, AP=애플리케이션 프로그램, HD=호스트 데이터, HP=호스트 프로그램.
위에서 지시된 바와 같이, 하루의 거래 기록의 데이터는 여기에 설명하고자 하는 이유로 인해, 핸드 헬드 장치 자체가 아닌, 핸드 헬드 장치속의 애플리케이션 마이크로 프로세서(A1)에 의하여만 접근 가능한, 데이터로서 나타내지고 있다. 이러한 정보를 저장하기 위해 2개의 블럭에 해당하는, 메모리(103a)의 영역이 할당되어 있다. 할당된 블럭에 관련된 W14 워드 및 W15 워드 각각의 처음 비트들은, 애플리케이션 마이크로 프로세서(A1)에 의해 판독전용을 지시하는 2진법의 ONE으로 세트된다.
이 상황에서, 거래 기입의 데이터는, 추후 ACP(10)의 통제하에 주 프레임 개인 컴퓨터에 접근 가능하도록 될 것이다. 핸드 헬드 장치가 웨이터의 수중에 있는 동안에는, 애플리케이션 카드내에 종료된 거래 기입이 저장되고, 카드상의 애플리케이션 마이크로 프로세서(A1)에 의하여만 접근 가능하다. 이것은 누군가에 의해 상기 데이터가 부당하게 변경되는 것을 방지한다.
애플리케이션 카드가 주 프레임 개인 컴퓨터(5)내에 위치한 때에는, 호스트 컴퓨터(5)가 정확히 허가하였음을 증명하기 위해 ACP(10)에 의해 사용되는 PIN 또는 패스워드를 제공한다. 적절한 허가가 제공된 때에만, ACP(10)는 RAM 어레이의 내용을, 적절한 액세스를 제공하도록(즉, W14 워드 및 W15 워드 각각의 세번째 비트를 2진법의 ONE으로 세트함) 개조한다. 액세스 식별 로직의 휘발성 RAM 어레이가 재로드되면, 주 프레임 컴퓨터(5)는, 핸드 헬드 장치가 판독 불가능하였던, 이런 데이터를 판독하도록 허용된다. 액세스 식별 로직(A3)의 휘발성 메모리는, 주 프레임 컴퓨터(5)가 애플리케이션 카드의 모든 정보에 자유롭게 접근 가능하도록 하기 위해, ACP(10)에 의해 셋업된다. 보안성을 유지하기 위해, 셋업은 ACP의 통제하에 있다.
관리자가 하는 첫번째 일은 전날 밤의 모든 거래 상황을 수집하고 그것들을 주 프레임 컴퓨터(5)에, 차후의 적당한 프로세싱(즉, 봉급의 계산 등등)을 위해 저장하는 것이다. 앞서 지시한 것처럼, 주 프레임 컴퓨터(5)가 올바른 PIN을 제공할 때에, ACP(10)로 하여금 주 프레임 컴퓨터(5)가 메모리에 저장되어 있는 모든 데이터를 판독하기 위하여 허용되도록 플래시 메모리(103a에서 103n)내의 로크와 액세스 식별로직(A3)의 RAM(B3)을 셋업하도록 한다. 데이터가 저장완료된 후에, 메모리 블럭들은 다음의 사용을 위해 클리어/소거 및 재 기입된다.
제4도 및 표에서 지시된 바와 같이 메모리(103a)의 또다른 영역이 할당되어, 관리자에 의하여 매일 아침 재 기입되는 가격/특별 주문들의 올바른 메뉴가 유지되도록 한다. 이러한 영역은 W5 워드를 가지고 있는 단일 블럭에 상응한다. 표에서 지시된 바와 같이, 이러한 정보는, 응용 마이크로 프로세서(A10) 및 제4도의 핸드 헬드 호스트 마이크로 프로세서 양자에 접근 가능하다. 그러므로, 첫번 비트와 세번째 비트 양자는, 그와 같은 접근을 허용케 하도록 2진법의 ONE으로 세트된다.
변화되지 않는 데이터 부분은, 응용 마이크로 프로세서 자신을 위한 프로그램 코드이다. 그러한 코드의 중요한 부분은, 네트웍에 핸드 헬드 장치가 접근하게 하는 방법을 설명하는 정보를 포함하는, 제4도의 통신 링크를 경유하여 신용 네트웍에 메시지들이 전달되도록 하는, 알고리즘과 암호화이다. 즉, 그것은 특정 계산서에 대해 거스름돈을 지불케 하는 정당한 거래를 달성케 하는데 사용되도록, 적절한 신원 확인되는 것과 같은 정보를 포함한다. 이는 애플리케이션 카드에서 유지되는 높은 보안정보이다. 이러한 정보에 대해 패스워드의 변경이나 네트웍 상의 소스로서의 레스토랑의 신원확인에 관계되는 개정들과 같은 변경이 있다면, 이런 정보는 관리자에 의해 카드에 기입될 뿐만 아니라, 이것이 레스토랑의 종업원에게는 접근되지 못하도록 보호된다. 표에서 지시된 바와 같이, 8개의 블럭들에 상응하는 메모리(103a) 영역이 응용 마이크로 프로세서(A3)를 위한 프로그램 코드를 저장하기 위해 할당되어 있다. 그 블럭들은 워드 W5에서 워드 W6까지와 연합되어 있는데, 각각은 응용 마이크로 프로세서(A3)에 의하여 실행 타입의 액세스를 지시하는, 2진의 ONE 상태로 세트된, 2번째 비트들을 가지고 있다.
애플리케이션 카드의 메모리(103a)에 저장된 또다른 타입의 정보는 핸드 헬드 장치상에 있는 장치 드라이버들이다. 이러한 정보의 저장을 위하여 5개의 블럭의 메모리 영역이 할당되어 있다. 이 블럭들은 워드 W0에서 W4까지와 연합되어 있는데, 제4도의 핸드 헬드 호스트에 의하여만 액세스 되는 것을 지시하는, 2진의 ONE 상태로 세트된, 4번째 비트들을 가지고 있다.
만일 신용카드 판독 프로그램에 버그가 있었다면, 관리자에 의해 이 시점에서 개정되어 플레쉬 메모리에 기입될 것이다. 주 프레임 호스트 프로세서(5)가, 별개의 호스트는 별개 레벨의 특권을 가질 수 있음에 의거하여, 자신을 인식하는 것에 의해, 메모리가 클리어 완료된 모든 애플리케이션 카드는 내일의 사용을 위해 개정되거나 특정 직원을 위해 개인화되거나 동종의 정보가 모든 카드에 기입되게 할 수 있다.
프로그램된 애플리케이션 카드들은 보관장소에 보관되며, 어느 직원이 업무를 시작하려 할 때에, 그 직원은 충전 랙에서 핸드 헬드 장치를 취하여, 규정된 개인카드(즉, 바 텐더용 타입, 웨이터용 타입)가 있다면 이를 선정하여, 핸드 헬드 장치에 삽입하게 될 것이다. 첫번째 로그온 기간중에 직원은, 사용자가 보안을 위하여 그 직원의 업무시간대에 사용하도록 한 PIN 중에서, 특정 개인의 신원확인으로 요구되는 일반적 PIN을 삽입하게 될 것이다.
만일 카드 또는 장치가 폐기되었고 차후에 복구되었다면, 주 프레임 컴퓨터(5)는 오버라이드 PIN을 사용하여 데이터를 획득할 수 있을 것이다. 물론, 애플리케이션 카드의 모든 데이터는, 인용된 관련 특허 출원에서 설명된 바와 같이, 애플리케이션 카드의 시큐리티 유닛에 의하여 부적절하게 접근되는 것이 보호되게 된다. 즉, 접근은 주 프레임 컴퓨터(5)에 의하여만 알 수 있는 마스터 PIN의 사용을 통하여만 얻을 수 있다.
이 보안성의 태양은 레스토랑을 웨이퍼 슬립없이 운영할 수 있게 하는 것이다. 그러므로, 사본을 보관할 필요가 없으며 고객의 신용카드 데이터보호가 확실하게 된다. 핸드 헬드 장치의 프린터는 영수증을 요구하는 고객에게 영수증 한장만을 프린트하는데 사용되게 된다. 만일 핸드 헬드 장치가 펜으로 쓰는 표면을 갖고 있다면, 고객의 서명을 획득할 수도 있다.
상기 동작들이 수행완료된 후에, 메모리의 4개 영역은 표에 따라서 적절히 셋업되며, 핸드 헬드 장치는 이제 직원의 수중에 있다. 언급된 바와 같이, 데이터 영역은 응용 마이크로 프로세서(A3)에 의해 일별 종료된 거래상황을, 보호되는 영역에(즉, 워드 W14 및 워드 W15)의 코드에 의하여 통제되는 영역), 보안상의 이유로 적절히 보관되도록(즉, 사고시에 오버라이드되지 않도록), 보관하기 위해 예약되어 있다. 이것은, 그러한 정보를 보존하기 위한 특별한 밧데리 백업의 필요를 제거하는 점에서, 플래시 메모리의 장점인 것이다.
레스토랑의 작업기간 중에, 직원은 적절한 메모리(103a) 영역에 종료된 거래상황을 입력한다. 기입은 적절한 기입 보호 알고리즘의 통제하에 전형적인 방법으로 이루어진다. 즉, 응용 프로그램 코드는, 응용 프로세서(A1)가 적절한 메모리 영역에 기입하도록 시킨다. 메모리(103a)에 기입능력을 가진 제4도의 핸드 헬드 호스트 프로세서에는 소프트웨어가 없다. 기입방법은 본 발명의 일부분을 구성하고 있지 않기 때문에, 여기에서 더 이상 자세하게 설명하지는 않는다.
지시된 바와 같이, 핸드 헬드 프로세서를 위한 데이터 영역이라고 지시된 또다른 영역이 있는데, 이는 진행중인 주문과 메뉴 정보를 유지하기 위하여 자유롭게 접근가능하다. 제4도에서, 애플리케이션 카드의 일부분으로서 보여진 RAM이 있다. 플래시 메모리(103a)의 영역에 재 기입하는 것이 보다 어렵기 때문에, 주문 이행을 용이하게 하기 위한, 중간 또는 스크래치(scratch) 계산을 위한 통상의 거래상황은 RAM에서 이루어진다. 그러나 전원 손실에 대비하여 주문을 메모리(103a)에 기입하는 것이 더 필요한 것이다. 이런 상황에서, 응용 프로세서(A1)는 주문이 변경되었을 때를 지시하는 레코드를 붙이게 된다. 이러한 것은 설계상 선택의 문제인 것이다.
상기 사항과 별도로, RAM에는 응용 마이크로 프로세서(A1)와 핸드 헬드 호스트 프로세서 양자가 필수적으로 접근 가능한, 어떤 타입의 정보 영역이 있을 수 있다. 핸드 헬드 호스트 프로세서상의 스크린을 리프레쉬하도록 사용된 버퍼 영역은 양 장치에서 접근 가능하도록 이루어질 수 있다. 여기는 진정한 보안성 정보는 저장되지 않을 것이다. 각 거래상황은 RAM을 경유하지만 신용카드번호와 같은 정보는 여기에 저장될 이유가 없다. 그것은 RAM의 보안 영역에만 기입될 것이다.
위에서 언급된 바와 같이, 메모리(103a)에는 두 섹션의 프로그램이 있다. 한 섹션은 응용 프로세서(A1)의, 비밀 프로그램 영역이다. 이것은 기본적으로 보호되는, 장치를 시동하게 하는 독특한 프로그램과 같은, 장치 제조자(즉, BIOS와 같은)의 독점 소유물로서 대표되는 것이기 때문에, 그리고 그것은 암호화 알고리즘을 포함하고 있기 때문에, 전체적 애플리케이션 프로그램이다. 만일 애플리케이션 카드가 절취되어 누군가가 리버스 엔지니어링 목적으로 또는 보안기능을 침해하는 목적으로 그 프로그램을 복사하려 한다면, 기본적으로 처음부터 적절한 PIN을 알아야 하는 이유로 인해, 적절한 호스트 장치에 애플리케이션 카드를 삽입할지라도, 여전히 데이터의 판독이 불가능하게 될 것이다. 이러한 보안성은 관련 출원의 주제인 시큐리티 유닛에 의하여 제공된다.
지시된 바와 같이, 핸드 헬드 호스트 프로세서는, 건전성 확보의 목적으로 이러한 타입의 정보에는 접근하지 않게 되어 있다. 만일 코드에 버그나 에러가 있어, 잘못된 영역으로 분기된다면, 그러한 코드에서는 액세스되지 않도록 잡아내게 될 것이다.
유사하게, 핸드 헬드 프로세서의 프로그램 코드는 건전성 확보의 목적으로 응용 마이크로 프로세서(A1)에 의해 접근되지 않도록 보호된다. 또한 그것은 핸드 헬드 장치가 간단히 프로그램되도록 하고, 요구되는 메모리의 양을 감소시키도록 한다. 그러므로 본 발명은, 두개의 마이크로 프로세서가 메모리를 공유하는 것을 허용하는 것에 의해, 경제적인 시스템 실행의 결과를 낳는다.
통상의 동작 중에, 핸드 헬드 호스트 프로세서 및 제4도의 응용 프로세서(A1)는 플래시 메모리(103a)에 접근하도록 요구하는 메모리 어드레스들을 발생시킨다. 각 접근의 경우에 있어서, 메모리 어드레스의 최상위 비트들은 어드레스 버스(105a)를 경유하여 제4도의 RAM(B1)의 어드레스 입력으로 인가된다. 이것은 지정된 워드 로케이션의 멀티비트 로케이션이 판독되도록 한다. 멀티플렉서(B2)에 입력으로서 인가된 실행 및 오프 보드라인의 상태들은 적절한 비트 로케이션을 선택한다. 이 비트 상태는 교대로, AND 게이트(B3)의 출력을 제어하여, 출력 인에이블 제어라인에 인가된 신호를 제2도의 메모리 섹션(103m)에 전송하는 것을 허용 또는 불허용하게 한다. 즉, 출력 버퍼(52)가 메모리(54)로부터 판독된 정보를 내부 버스(105)의 데이터 부분에 인가하는 것을 방지하는 것에 의해, 판독 액세스가 허용되거나 불허된다.
시스템의 요구되는 성능과 액세스 바이 타입 RAM 어레이의 액세스 시간이, 사용하고자 하는 특정의 메모리 제어 비트를 선택하는데 있어 중요하다는 것이 실감될 것이다. 게다가, 사용된 호스트 마이트로 프로세서 또는 사용된 외부 버스중의 하나가 실행 액세스 제어 기능을 지원하지 않는 경우에, 이러한 액세스들은 보안성면에서 약간의 손실과 더불어 판독 액세스로부터 다루어지게 된다.
이상으로부터, 본 발명의 원리에 따라 구성된 애플리케이션 카드가 어떻게 데이터 및 프로그램 양자의 보안성 환경을 제공하는지를 보였다. 이것은 비휘발성 메모리에 저장된 그런 정보가 복수의 마이크로 프로세서간에 공유되는 것을 허용한다. 게다가, 애플리케이션 소프트 웨어가 자신의 전용 애플리케이션 프로세서와 함께 패키지화되는 것을 가능케 하여, 그러한 시스템이 더욱 경제적으로 생산되고 사용되도록 한다.
본 발명의 바람직한 실시예에서 벗어남이 없이도 많은 변화가 가능하다. 예를 들어, 본 발명은 다양한 애플리케이션과 연합하여 사용될 수 있다. 예를 들어 아래에 주어진 표는 메모리(103a)의 간단한 애플리케이션의 또다른 예를 보여주고 있다.
법령과 규정에 따라서 본 발명의 가장 좋은 형태를 도시하고 설명해 왔지만, 첨부된 청구항에서 언명된 본 발명의 정신을 벗어남 없이도 어떤 변경이 가능하며, 어느 경우에는, 본 발명의 기타의 특징을 사용치 않고서 특정 특징만을 이용할 수도 있다.

Claims (19)

  1. 버스 인터페이스를 통해 결합된 호스트 마이크로 프로세서와 조합되어 사용되는 애플리케이션 카드로서 : 상기 호스트 마이크로 프로세서로의 그리고 그 호스트 마이크로 프로세서로부터의, 어드레스, 데이터 및 제어정보를 포함하는 요청들을 송수신하도록 상기 버스 인터페이스에 유효하게 결합된 인터페이스 논리회로 수단; 상기 인터페이스 논리회로 수단에 접속되며, 상기 인터페이스 논리회로 수단으로부터, 어떤 마이크로 프로세서가 상기 메모리 요청을 하는지 그리고 어떤 타입의 메모리 액세스가 이루어지는지를 한정하는 각 메모리 요청에 관한 신호를 포함하는 요청을 전송하기 위한 어드레스, 데이터 및 제어부를 갖는 내부 버스; 상기 내부 버스에 접속되며, 특정 애플리케이션을 실행하도록 코드된 비휘발성 메모리 매핑 정보를 포함하는 구성 정보를 저장하기 위한 어드레스 가능한 비휘발성 메모리를 포함하는 액세스 제어 마이크로 프로세서; 상기 어드레스, 데이터 및 제어 정보를 수신하기 위하여 상기 마이크로 프로세서와 공통으로 상기 내부 버스에 접속되며, 상기 애플리케이션을 실행하기 위해 요구되는 별개의 액세스 타입 정보를 저장하기 위한 다수의 블럭들로 구성된 적어도 하나의 어드레스 가능한 비휘발성 메모리; 및 상기 내부 버스와 상기 비휘발성 메모리의 어드레스, 데이터 및 제어부에 결합되는 액세스 식별 논리 유닛으로서, 상기 애플리케이션 실행에 관계된 각 마이크로 프로세서 및 메모리 요청에 응답하는 상기 액세스 식별 논리 유닛에 의해 각 블럭에 대해 만들어지는 별개의 메모리 액세스 타입을 한정하도록 코드된 상기 다수의 블럭들을 위한 상기 비휘발성 메모리 매핑 정보에 대응하는 액세스 바이 타입 정보를 저장하고, 상기 마이크로 프로세서가 상기 액세스 바이 타입 정보에 의해 한정된 상기 메모리 요청만에 의해 상기 블럭에 액세스를 인에이블 하도록 하기 위한 상기 메모리 요청의 상기 어드레스 정보에 의해 지정된 상기 블럭들 중 하나와 관계된 상기 액세스 바이 타입 정보를 판독하는 액세스 식별 논리 유닛을 포함하는 애플리케이션 카드.
  2. 제1항에 있어서, 상기 액세스 식별 논리 유닛은 : 상기 내부 버스의 어드레스, 데이터 및 제어부에 각각 접속된 어드레스, 데이터 및 제어 입력, 상기 비휘발성 메모리에 접속된 출력, 및 상기 비휘발성 메모리 매핑 정보를 저장하기 위한 상기 갯수의 블럭들의 갯수에 대응하는 복수의 저장 위치들을 가진 랜덤 액세스 메모리(RAM) 어레이를 포함하며, 각 저장 위치는 상기 애플리케이션 실행에 요구되는 메모리 액세스 타입을 지정하기 위한 상기 메모리 매핑 정보에 의해 한정되는 소정 상태로 세트된 다수의 액세스 제어 비트 위치들을 가지며, 상기 RAM 어레이는 각 메모리 요청에 응답하여 상기 어드레스 정보에 의해 지정된 상기 복수의 저장 위치들 중 하나에서의 메모리 매핑 정보를 판독하고, 상기 액세스를 인에이블하도록 하기 위한 상기 인터페이스 논리회로 수단으로부터의 상기 신호에 의해 한정된 상기 액세스 제어 비트 위치들 중 하나로부터의 상기 소정 상태들 중 하나에 대응하는 제어 신호로서 상기 출력에 인가하는 애플리케이션 카드.
  3. 제1항에 있어서, 상기 액세스 제어 마이크로 프로세서 및 액세스 식별 논리 유닛이 단일 칩내에 포함되는 애플리케이션 카드.
  4. 제2항에 있어서, 상기 액세스 식별 논리 유닛은 : 데이터 및 제어 입력 및 출력 회로 수단을 가진 멀티플렉서 셀렉터 회로 수단을 더 포함하며, 상기 데이터 입력들은 상기 메모리 매핑 정보를 수신하기 위해 상기 RAM 어레이에 결합되며, 상기 제어 입력들은 상기 인터페이스 논리 회로 수단 및 상기 비휘발성 메모리에 결합된 상기 출력 회로 수단으로부터 상기 신호들을 수신하기 위한 상기 제어부에 결합되며, 상기 멀티플렉서 셀렉터 회로 수단은 상기 제어 입력들에 인가된 상기 신호들에 응답하여 상기 액세스를 인에이블링 하기 위해 상기 출력 회로에 상기 제어 신호를 인가하기 위한 상기 액세스 제어 비트 위치들 중 하나를 선택하는 애플리케이션 카드.
  5. 제3항에 있어서, 상기 출력 회로 수단은 적어도 제1 및 제2입력 및 출력을 가진 논리 회로를 포함하며, 상기 제1입력은 상기 제어 신호를 수신하도록 접속되며 상기 제2입력은 상기 제어부의 소정 버스라인에 접속되며 상기 출력은 상기 비휘발성 메모리에 접속되며, 상기 신호들은 상기 메모리 요청을 발생시킨 마이크로 프로세서를 나타내는 오프 보드 신호 및 상기 메모리 액세스의 타입을 한정하는 버스 액세스 제어 신호를 포함하는 애플리케이션 카드.
  6. 제5항에 있어서, 상기 버스 액세스 제어 신호는 상기 액세스를 요청한 마이크로 프로세서가 액세스되고 있는 상기 블럭내의 정보만을 실행할 수 있게끔 한정하기 위해 코드된 실행 제어 신호인 애플리케이션 카드.
  7. 제5항에 있어서, 상기 버스 액세스 제어 신호는 액세스를 요청한 마이크로 프로세서가 액세스되고 있는 상기 블럭내의 정보를 판독하여 실행할 수 있게끔 한정하기 위해 코드된 판독 제어 신호인 애플리케이션 카드.
  8. 제3항에 있어서, 상기 비휘발성 메모리의 상기 블럭들 중 제1그룹이 상기 애플리케이션에 관계하는 제1타입의 데이터를 저장하며 상기 블럭들의 상기 제1그룹 중 다른 하나와 관계된 각 저장 위치의 제1액세스 제어 비트 위치는 상기 특정 애플리케이션을 실행하기 위한 동작을 실행하도록 프로그램된 애플리케이션 마이크로 프로세서에 의해 상기 블럭들의 제1그룹내의 저장위치들로 액세스를 인에이블하도록 하기 위한 제1상태로 세트되며 상기 각 저장 위치의 제2액세스 제어 비트 위치는 상기 데이터를 액세스하도록 인가되지 않은 호스트 마이크로 프로세서에 의해 상기 블럭들의 제1그룹내의 저장위치들로의 액세스가 금지되게 하기 위한 제2상태로 세트되는 애플리케이션 카드.
  9. 제8항에 있어서, 상기 제1 및 제2상태는 각각 2진의 ONE 및 2진의 ZERO에 대응하는 애플리케이션 카드.
  10. 제8항에 있어서, 상기 비휘발성 메모리의 상기 블럭들의 제2그룹이 상기 애플리케이션에 관계하는 제2타입의 데이터를 저장하며 상기 블럭들의 상기 제2그룹 중 다른 하나와 관계된 각 저장 위치의 상기 제1액세스 제어 비트 위치는 상기 애플리케이션 마이크로 프로세서에 의해 상기 블럭들의 상기 제2그룹내의 저장 위치들로의 액세스를 금지하도록 하기 위한 상기 제2상태로 세트되며 상기 각 저장 위치의 상기 제2액세스 제어 비트 위치는 상기 호스트 마이크로 프로세서에 의해 상기 제2그룹의 위치들내의 저장 위치들로 인에이블하게 하는 상기 제1상태로 세트되는 애플리케이션 카드.
  11. 제10항에 있어서, 상기 비휘발성 메모리의 상기 블럭들의 제3그룹은 상기 애플리케이션에 관계되는 동작의 실행시에 상기 애플리케이션 마이크로 프로세서에 의해 사용되는 제1타입의 프로그램 정보를 저장하며 상기 블럭들의 제3그룹 중 다른 하나와 관계된 각 저장위치의 제3액세스 제어 비트 위치는 상기 특정 애플리케이션을 실행하기 위한 동작을 실행하도록 프로그램된 애플리케이션 마이크로 프로세서에 의해 상기 블럭들의 제1그룹내의 저장위치들로 액세스를 인에이블하게 하기 위한 제1상태로 세트되며 상기 각 저장위치의 제4액세스 제어 비트 위치는 보안을 유지하기 위해 상기 프로그램 정보를 액세스하도록 인가되지 않은 호스트 마이크로 프로세서에 의해 상기 블럭들의 제3그룹내의 저장위치들로의 액세스를 금지하도록 하기 위한 상기 제2상태로 세트되는 애플리케이션 카드.
  12. 제11항에 있어서, 상기 비휘발성 메모리의 상기 블럭들 중 제4그룹이 상기 애플리케이션에 관계되는 동작의 실행시에 상기 호스트 마이크로 프로세서에 의해 사용되는 제2타입의 프로그램 정보를 저장하며 상기 블럭들의 제4그룹 중 다른 하나와 관계된 각 저장 위치의 상기 제3액세스 제어 비트 위치는 시스템의 완전성을 위해 상기 애플리케이션 마이크로 프로세서에 의해 상기 블럭들의 제4그룹내의 저장 위치들로의 액세스를 금지하도록 하기 위한 상기 제2상태로 세트되며 상기 각 저장 위치의 상기 제4액세스 제어 비트 위치는 상기 호스트 마이크로 프로세서에 의해 제4그룹의 위치들내의 저장 위치들로 액세스를 인에이블하도록 하기 위한 상기 제1상태로 세트되는 애플리케이션 카드.
  13. 제12항에 있어서, 상기 블럭들의 제1, 제2, 제3 및 제4그룹들은 다른 갯수의 블럭들을 포함하는 애플리케이션 카드.
  14. 제1항에 있어서, 상기 애플리케이션 카드는 상기 특정 애플리케이션을 실행하기 위한 동작을 실행하도록 프로그램된 애플리케이션 마이크로 프로세서를 더 포함하며, 상기 애플리케이션 마이크로 프로세서는 상기 내부 버스의 상기 어드레스, 데이터 및 제어부에 결합되며 메모리 액세스가 이루어지는 상기 타입을 한정하는 신호들을 발생시키는 애플리케이션 카드.
  15. 제1항에 있어서, 상기 액세스 제어 마이크로 프로세서는 파워 온 신호에 응답하여 상기 특정 애플리케이션의 실행시에 사용되는 상기 비휘발성 메모리 매핑 정보를 상기 액세스 식별 논리 유닛에 로드하는 애플리케이션 카드.
  16. 제1항에 있어서, 상기 특정 애플리케이션의 실행중에, 상기 액세스 제어 마이크로 프로세서는 상기 호스트 마이크로 프로세서로부터 수신된 상기 액세스 식별 논리 유닛내에 저장된 상기 비휘발성 메모리 매핑 정보를 변경시키기 위한 각 요청에 응답하여서만 상기 호스트 마이크로 프로세서에 의해 성공적인 증명동작이 실행된 후에 상기 비휘발성 매핑 정보를 변경시키는 애플리케이션 카드.
  17. 제16항에 있어서, 상기 액세스 제어 마이크로 프로세서의 비휘발성 메모리 구성정보는 상기 증명 동작 실행시에 상기 액세스 제어 마이크로 프로세서에 의해 사용되는 다수의 패스워드를 더 포함하는 애플리케이션 카드.
  18. 버스 인터페이스를 통해 결합된 호스트 마이크로 프로세서와 조합되어 사용되는 애플리케이션 카드로서 : 상기 호스트 마이크로 프로세서로의 그리고 그 호스트 마이크로 프로세서로부터의, 어드레스, 데이터 및 제어 정보를 포함하는 요청들을 송수신하도록 상기 버스 인터페이스에 유효하게 결합된 인터페이스 논리회로 수단; 상기 인터페이스 논리회로 수단에 접속되며, 각 메모리 요청을 어떤 마이크로 프로세서가 만들어야 하는지 그리고 어떤 타입의 메모리 액세스가 이루어져야 하는지를 상기 각 메모리 요청에 의해 한정하도록 상기 인터페이스 논리회로 수단에서의 신호를 포함하는 상기 요청을 전달하도록 어드레스, 데이터 및 제어부를 갖는 내부 버스; 상기 내부 버스에 접속되며, 특정 애플리케이션을 실행하도록 코드된 비휘발성 메모리 매핑 정보를 포함하는 구성 정보를 저장하는 어드레스가능한 비휘발성 메모리를 포함하는 액세스 제어 마이크로 프로세서; 상기 애플리케이션 마이크로 프로세서는 상기 내부 버스의 상기 어드레스, 데이터 및 제어부에 접속되고, 상기 특정 애플리케이션의 실행을 위하여 및 상기 메모리 액세스가 이루어지고 있는 타입을 한정하는 신호를 발생시키기 위한 동작들을 수행하기 위하여 프로그램된 애플리케이션 마이크로 프로세서; 상기 어드레스, 데이터 및 제어 정보를 수신하기 위해 상기 마이크로 프로세서와 공통으로 상기 내부 버스에 접속되며, 상기 애플리케이션을 실행하기 위해 요구되는 별개의 액세스 타입 정보를 저장하기 위한 복수의 저장 위치들을 가진 다수의 블럭들로 구성되며, 상기 블럭들이 다수의 블럭들의 그룹들을 가지며, 상기 각 그룹이 상기 특정 애플리케이션의 실행시에 상기 호스트 및 애플리케이션 마이크로 프로세서들에 의해 사용되는 다른 데이터 및 프로그램 정보를 저장하도록 하기 위한 적어도 하나의 어드레스가능한 비휘발성 메모리; 및 상기 내부 버스의 어드레스, 데이터 및 제어부 및 상기 비휘발성 메모리에 결합되는 액세스 식별 논리 유닛으로서, 상기 애플리케이션 실행에 관계된 상기 애플리케이션 및 호스트 마이크로 프로세서 및 메모리 요청에 응답하는 상기 액세스 식별 논리 유닛에 의해 각 블럭에 저장된 상기 데이터 또는 프로그램 정보중에 하나에 대해 만들어지는 별개의 메모리 액세스 타입을 한정하도록 코드된 상기 갯수의 블럭들의 상기 갯수의 그룹들의 상기 비휘발성 메모리 매핑 정보에 대응하는 액세스 바이 타입 정보를 저장하고, 상기 마이크로 프로세서가 상기 액세스 바이 타입 정보에 의해 한정된 상기 메모리 요청만을 만드는 것에 의해 상기 블럭에 저장된 정보에 액세스를 인에이블하도록 하기 위한 상기 메모리 요청의 상기 어드레스 정보에 의해 지정된 상기 블럭들 중 하나의 상기 액세스 바이 타입 정보를 판독하는 액세스 식별 논리 유닛을 포함하는 애플리케이션 카드.
  19. 제1항에 있어서, 상기 액세스 식별 논리 유닛은 : 상기 내부 버스의 어드레스, 데이터 및 제어부에 각각 접속된 어드레스, 데이터 및 제어입력, 상기 비휘발성 메모리에 접속된 출력, 및 상기 비휘발성 메모리 매핑 정보를 저장하기 위한 상기 다수의 블럭들의 갯수에 대응하는 다수의 저장 위치들을 가진 랜덤 액세스 메모리(RAM) 어레이를 포함하며, 각 저장위치는 상기 갯수의 블럭들내의 상기 갯수의 그룹들에 대응하는 다수의 액세스 제어 비트 위치들을 가지며, 상기 액세스 제어 비트 위치들은 상기 특정 애플리케이션 실행을 위하여 상기 애플리케이션 및 호스트 마이크로 프로세서에 의해 요구되는 메모리 액세스 타입을 지정하기 위한 상기 메모리 매핑 정보에 의해 한정되는 소정 상태로 세트되며, 상기 RAM 에레이는 각 메모리 요청에 응답하여 상기 어드레스 정보에 의해 지정된 상기 다수의 저장 위치들 중 하나에서의 메모리 매핑 정보를 판독하고, 상기 인터페이스 로직 회로 수단으로부터 상기 신호들에 의해 한정된 상기 액세스 제어 비트 위치 중의 하나로부터 상기 소정 상태 중 하나로 대표되는 제어 신호는 상기 소정 상태들 중 하나에 의해 한정되어서만 상기 액세스를 인에이블링하도록 하기 위한 메모리 액세스 타입 및 메모리 액세스 요청으로서의 상기 애플리케이션 또는 호스트 마이크로 프로세서를 지정하는 애플리케이션 카드.
KR1019950703947A 1994-01-14 1995-01-13 복수의 마이크로 프로세서들간에 애플리케이션 데이터 및 절차들을 공유하기 위한 보안성 애플리케이션 카드 KR100205740B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/181,684 US5491827A (en) 1994-01-14 1994-01-14 Secure application card for sharing application data and procedures among a plurality of microprocessors
US8/181684 1994-01-14
US08/181,684 1994-01-14
PCT/IB1995/000032 WO1995019608A1 (en) 1994-01-14 1995-01-13 A secure application card for sharing application data and procedures among a plurality of microprocessors

Publications (2)

Publication Number Publication Date
KR960701414A KR960701414A (ko) 1996-02-24
KR100205740B1 true KR100205740B1 (ko) 1999-07-01

Family

ID=22665328

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950703947A KR100205740B1 (ko) 1994-01-14 1995-01-13 복수의 마이크로 프로세서들간에 애플리케이션 데이터 및 절차들을 공유하기 위한 보안성 애플리케이션 카드

Country Status (16)

Country Link
US (1) US5491827A (ko)
EP (1) EP0689702B1 (ko)
JP (1) JP2755828B2 (ko)
KR (1) KR100205740B1 (ko)
CN (1) CN1053509C (ko)
AT (1) ATE206543T1 (ko)
CA (1) CA2158265C (ko)
DE (1) DE69522998T2 (ko)
DK (1) DK0689702T3 (ko)
ES (1) ES2164144T3 (ko)
FI (1) FI112714B (ko)
NO (1) NO311545B1 (ko)
PT (1) PT689702E (ko)
SG (1) SG49773A1 (ko)
TW (1) TW432283B (ko)
WO (1) WO1995019608A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100914427B1 (ko) 1999-04-05 2009-08-28 샌디스크 아이엘 엘티디 유니버설 시리얼 버스에 기초한 pc 플래시 디스크의 아키텍처

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696917A (en) 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
AU684184B2 (en) * 1994-06-15 1997-12-04 Thomson Consumer Electronics, Inc Smart card message transfer without microprocessor intervention
US5613092A (en) * 1994-09-01 1997-03-18 Motorola Inc. Peripheral card having an adaptive PCMCIA compliant interface
US5802558A (en) * 1994-09-30 1998-09-01 Intel Corporation Method and apparatus for upgrading reprogrammable memory contents in a PCMCIA card
US6408333B1 (en) * 1994-11-23 2002-06-18 Horizon Technologies Inc. System for portable establishing network server
US5596562A (en) * 1995-01-19 1997-01-21 United Microelectronics Corp. Controlling method and apparatus for supporting hard disk and/or CD-ROM drives through the PCMCIA interface
US5737524A (en) * 1995-05-22 1998-04-07 International Business Machines Corporation Add-in board with programmable configuration registers for use in PCI bus computers
JPH0962583A (ja) * 1995-08-24 1997-03-07 Mitsubishi Electric Corp データ処理装置
JPH10511488A (ja) * 1995-10-19 1998-11-04 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 電子回路を有する識別名トークン及び識別名コードを実現するための回路に対する外部のトークンにおける導体手段
US6075858A (en) * 1995-10-27 2000-06-13 Scm Microsystems (U.S.) Inc. Encryption key system and method
FR2748135B1 (fr) * 1996-04-25 1998-06-19 Aerospatiale Equipement de calcul a memoire amovible pour aeronef
FR2752071B1 (fr) * 1996-07-30 1998-12-18 Thomson Csf Lecteur pour cartes a puce a interface homme-machine amelioree
JP2982702B2 (ja) * 1996-08-30 1999-11-29 日本電気株式会社 ディスク装置
JPH1079000A (ja) * 1996-09-03 1998-03-24 Hitachi Ltd プログラム書き込み可能なicカード
EP0968608B1 (en) * 1997-03-21 2002-09-25 Canal+ Technologies Receiver/decoder and method of reception
AU770198B2 (en) * 1997-03-21 2004-02-19 Nagra France Sas Broadcast and reception system, and receiver/decoder and remote controller therefor
US6088802A (en) * 1997-06-04 2000-07-11 Spyrus, Inc. Peripheral device with integrated security functionality
US6003135A (en) * 1997-06-04 1999-12-14 Spyrus, Inc. Modular security device
JPH11120300A (ja) * 1997-10-09 1999-04-30 Fujitsu Ltd 可搬型カード媒体,可搬型カード媒体のメモリ空間管理方法,可搬型カード媒体の発行方法および可搬型カード媒体のプログラムデータ書込方法並びにメモリ空間管理プログラムが記録されたコンピュータ読取可能な記録媒体
US5974500A (en) * 1997-11-14 1999-10-26 Atmel Corporation Memory device having programmable access protection and method of operating the same
GB2332530B (en) * 1997-12-16 2002-01-16 3Com Technologies Ltd Signalling between independently powered electrical circuit cards
DE19804784A1 (de) * 1998-02-06 1999-08-12 Philips Patentverwaltung Chipkarte mit integrierter Schaltung
US6535917B1 (en) * 1998-02-09 2003-03-18 Reuters, Ltd. Market data domain and enterprise system implemented by a master entitlement processor
JP3743173B2 (ja) * 1998-09-08 2006-02-08 富士通株式会社 半導体集積回路
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US7174457B1 (en) 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
US7139915B2 (en) * 1998-10-26 2006-11-21 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US7290284B1 (en) * 1999-01-11 2007-10-30 Myspace Ab System for data processing a security critical activity
US7013456B1 (en) 1999-01-28 2006-03-14 Ati International Srl Profiling execution of computer programs
US7275246B1 (en) 1999-01-28 2007-09-25 Ati International Srl Executing programs for a first computer architecture on a computer of a second architecture
US8127121B2 (en) 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US8121828B2 (en) * 1999-01-28 2012-02-21 Ati Technologies Ulc Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions
US7941647B2 (en) 1999-01-28 2011-05-10 Ati Technologies Ulc Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination
US7065633B1 (en) 1999-01-28 2006-06-20 Ati International Srl System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU
US6826748B1 (en) 1999-01-28 2004-11-30 Ati International Srl Profiling program execution into registers of a computer
US7111290B1 (en) 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US8074055B1 (en) 1999-01-28 2011-12-06 Ati Technologies Ulc Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
US6775779B1 (en) * 1999-04-06 2004-08-10 Microsoft Corporation Hierarchical trusted code for content protection in computers
US6601140B1 (en) * 1999-04-07 2003-07-29 Sony Corporation Memory unit, data processing unit, and data processing method using memory unit type
US6618789B1 (en) * 1999-04-07 2003-09-09 Sony Corporation Security memory card compatible with secure and non-secure data processing systems
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
US6779107B1 (en) 1999-05-28 2004-08-17 Ati International Srl Computer execution by opportunistic adaptation
DE69904446T2 (de) * 1999-06-04 2003-12-04 Udekem D Acoz Xavier Guy Berna Speicherkarte
JP2001051904A (ja) * 1999-08-11 2001-02-23 Hitachi Ltd 不揮発性半導体メモリを用いた外部記憶装置
US7254806B1 (en) 1999-08-30 2007-08-07 Ati International Srl Detecting reordered side-effects
JP2001188686A (ja) * 1999-10-22 2001-07-10 Sony Corp データ書換装置、制御方法および記録媒体
US6757824B1 (en) 1999-12-10 2004-06-29 Microsoft Corporation Client-side boot domains and boot rules
US6920543B1 (en) * 1999-12-14 2005-07-19 Genesis Microchip, Inc. Method and apparatus for performing distributed processing of program code
US6775757B1 (en) * 1999-12-14 2004-08-10 Genesis Microchip Inc. Multi-component processor
US6738884B1 (en) 1999-12-14 2004-05-18 Genesis Microchip Inc. Method and apparatus for processing data with semaphores
US6424975B1 (en) 2000-01-07 2002-07-23 Trg Products, Inc. FAT file system in palm OS computer
US6934832B1 (en) 2000-01-18 2005-08-23 Ati International Srl Exception mechanism for a computer
JP4028798B2 (ja) * 2000-06-02 2007-12-26 株式会社ルネサステクノロジ 不揮発性半導体記憶装置および情報配信システムにおける情報管理方法
US6681304B1 (en) * 2000-06-30 2004-01-20 Intel Corporation Method and device for providing hidden storage in non-volatile memory
JP4489915B2 (ja) * 2000-07-31 2010-06-23 大日本印刷株式会社 暗証コード照合機能をもった携帯型情報処理装置
KR20020016430A (ko) 2000-08-25 2002-03-04 윤종용 멀티미디어 모듈러 카드와 모듈러 카드 운영장치 및통합형 멀티미디어 시스템
US6938164B1 (en) * 2000-11-22 2005-08-30 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
US7283975B2 (en) * 2001-02-05 2007-10-16 Broughton W Curtis System and method for tracking and managing construction projects
JP2002245023A (ja) * 2001-02-16 2002-08-30 Mitsubishi Electric Corp マイクロコンピュータ
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
US7237126B2 (en) * 2001-09-28 2007-06-26 Hewlett-Packard Development Company, L.P. Method and apparatus for preserving the integrity of a management subsystem environment
US7159240B2 (en) * 2001-11-16 2007-01-02 Microsoft Corporation Operating system upgrades in a trusted operating system environment
US7137004B2 (en) 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
US7243230B2 (en) * 2001-11-16 2007-07-10 Microsoft Corporation Transferring application secrets in a trusted operating system environment
US7783901B2 (en) * 2001-12-05 2010-08-24 At&T Intellectual Property Ii, L.P. Network security device and method
DE60210416T2 (de) * 2002-02-28 2006-09-07 Matsushita Electric Industrial Co., Ltd., Kadoma Speicherkarte
US7890771B2 (en) * 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
US7487365B2 (en) * 2002-04-17 2009-02-03 Microsoft Corporation Saving and retrieving data based on symmetric key encryption
US6851056B2 (en) 2002-04-18 2005-02-01 International Business Machines Corporation Control function employing a requesting master id and a data address to qualify data access within an integrated system
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
US7089419B2 (en) 2002-04-18 2006-08-08 International Business Machines Corporation Control function with multiple security states for facilitating secure operation of an integrated system
US7266842B2 (en) * 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
GB2396034B (en) * 2002-11-18 2006-03-08 Advanced Risc Mach Ltd Technique for accessing memory in a data processing apparatus
US7149862B2 (en) 2002-11-18 2006-12-12 Arm Limited Access control in a data processing apparatus
EP1513039B1 (en) * 2003-09-02 2007-02-28 Sony Ericsson Mobile Communications AB Transfer of security data between two memories
KR101065904B1 (ko) 2003-09-02 2011-09-19 소니 에릭슨 모빌 커뮤니케이션즈 에이비 두 메모리 사이의 보안성 데이터 전송
US7530108B1 (en) 2003-09-15 2009-05-05 The Directv Group, Inc. Multiprocessor conditional access module and method for using the same
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
US20060236026A1 (en) * 2005-04-15 2006-10-19 Jens Hempel Method and system for allocating, accessing and de-allocating storage space of a memory card
US9497022B2 (en) * 2005-05-24 2016-11-15 Broadcom Corporation Method and system for improved fault tolerance in distributed customization controls using non-volatile memory
CN101151356B (zh) * 2005-10-28 2013-01-23 深圳芯邦科技股份有限公司 带兼容配置功能控制芯片存储装置的制造方法
WO2007082900A1 (fr) * 2006-01-19 2007-07-26 Gemplus Dispositif electronique portable apte a fournir un contenu dynamique
DE102007050463A1 (de) * 2006-11-16 2008-05-21 Giesecke & Devrient Gmbh Verfahren zum Zugriff auf einen tragbaren Speicherdatenträger mit Zusatzmodul und tragbarer Speicherdatenträger
DE102006054835A1 (de) * 2006-11-21 2008-05-29 Giesecke & Devrient Gmbh Tragbarer Datenträger
US20080127162A1 (en) * 2006-11-29 2008-05-29 Sap Ag Method and apparatus for configuring application software
JP4457241B2 (ja) * 2007-06-28 2010-04-28 フェリカネットワークス株式会社 情報処理システム、リーダ/ライタ、情報処理装置、アクセス制限管理方法、およびプログラム
CN101354754B (zh) * 2007-07-26 2011-03-16 上海瀚银信息技术有限公司 一种内嵌cpu ic的智能存储卡及其应用
WO2009074686A2 (en) * 2007-12-13 2009-06-18 Thomson Licensing Copy-protected software cartridge
EP2083355A1 (en) * 2008-01-25 2009-07-29 THOMSON Licensing Copy-protected software cartridge
DE102009006487A1 (de) 2009-01-28 2010-07-29 Vodafone Holding Gmbh Chipkarte mit Speicher
JP2012027929A (ja) * 2011-08-31 2012-02-09 Sandisk Il Ltd スマートカード上の内部アプリケーションのローディング
EP3070607B1 (en) * 2015-03-20 2020-12-09 Virtual Open Systems Compute node supporting virtual machines and services
US10649915B1 (en) * 2018-10-28 2020-05-12 Virtual Open Systems Disaggregated computing architecture using device pass-through wherein independent physical address spaces between systems nodes are implemented in a single execution environment
US20220240095A1 (en) 2019-05-10 2022-07-28 Qrc Aaa Sarl Quantum-resistant sim card
WO2022159107A1 (en) * 2021-01-22 2022-07-28 Hewlett-Packard Development Company, L.P. Application security and mobility

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4829169A (en) * 1985-07-01 1989-05-09 Toppan Moore Company, Inc. IC card having state marker for record access
JP2664137B2 (ja) * 1985-10-29 1997-10-15 凸版印刷株式会社 Icカード
JP2695855B2 (ja) * 1988-08-26 1998-01-14 株式会社東芝 携帯可能電子装置
JPH0812646B2 (ja) * 1989-03-03 1996-02-07 三菱電機株式会社 半導体集積回路
JPH02297235A (ja) * 1989-03-22 1990-12-07 Nec Corp メモリデータ保護回路
US5237609A (en) * 1989-03-31 1993-08-17 Mitsubishi Denki Kabushiki Kaisha Portable secure semiconductor memory device
JPH02278446A (ja) * 1989-04-20 1990-11-14 Nec Ibaraki Ltd メモリアクセス制御回路
JP2682700B2 (ja) * 1989-05-09 1997-11-26 三菱電機株式会社 Icカード
FR2667417B1 (fr) * 1990-10-02 1992-11-27 Gemplus Card Int Carte a microprocesseur concue pour recevoir des programmes multiples en memoire programmable.
FR2667714A1 (fr) * 1990-10-09 1992-04-10 Gemplus Card Int Procede pour repartir la memoire d'un circuit integre entre plusieurs applications.
US5263147A (en) * 1991-03-01 1993-11-16 Hughes Training, Inc. System for providing high security for personal computers and workstations
FR2686171B1 (fr) * 1992-01-14 1996-09-06 Gemplus Card Int Carte a memoire de masse pour microordinateur avec facilites d'execution de programmes internes.
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100914427B1 (ko) 1999-04-05 2009-08-28 샌디스크 아이엘 엘티디 유니버설 시리얼 버스에 기초한 pc 플래시 디스크의 아키텍처
KR100922766B1 (ko) 1999-04-05 2009-10-21 샌디스크 아이엘 엘티디 유니버설 시리얼 버스를 기초한 pc 플래시 디스크의 아키텍처

Also Published As

Publication number Publication date
EP0689702B1 (en) 2001-10-04
WO1995019608A1 (en) 1995-07-20
EP0689702A1 (en) 1996-01-03
CA2158265A1 (en) 1995-07-20
FI954299A (fi) 1995-09-13
JP2755828B2 (ja) 1998-05-25
KR960701414A (ko) 1996-02-24
ATE206543T1 (de) 2001-10-15
NO311545B1 (no) 2001-12-03
CA2158265C (en) 1997-01-14
FI954299A0 (fi) 1995-09-13
SG49773A1 (en) 1998-06-15
NO953614D0 (no) 1995-09-13
FI112714B (fi) 2003-12-31
ES2164144T3 (es) 2002-02-16
JPH08506915A (ja) 1996-07-23
TW432283B (en) 2001-05-01
NO953614L (no) 1995-11-13
CN1122164A (zh) 1996-05-08
DE69522998T2 (de) 2002-06-13
CN1053509C (zh) 2000-06-14
PT689702E (pt) 2002-03-28
DK0689702T3 (da) 2001-12-03
DE69522998D1 (de) 2001-11-08
US5491827A (en) 1996-02-13

Similar Documents

Publication Publication Date Title
KR100205740B1 (ko) 복수의 마이크로 프로세서들간에 애플리케이션 데이터 및 절차들을 공유하기 위한 보안성 애플리케이션 카드
US5293424A (en) Secure memory card
US5237616A (en) Secure computer system having privileged and unprivileged memories
AU681754B2 (en) Data exchange system comprising portable data processing units
US5325430A (en) Encryption apparatus for computer device
EP0689701B1 (en) A secure memory card with programmed controlled security access control
JP3459649B2 (ja) ポータブルデータ処理ユニットを含むデータ交換システム
US20010037450A1 (en) System and method for process protection
US6453397B1 (en) Single chip microcomputer internally including a flash memory
US20020089890A1 (en) Memory device and method for accessing a memory
US7409251B2 (en) Method and system for writing NV memories in a controller architecture, corresponding computer program product and computer-readable storage medium
JPS6210745A (ja) メモリへのアクセスのコントロ−ル方法および装置
JP2002014825A (ja) プログラムインストール方法、プログラムインストールシステム、プログラム実行装置及び記憶媒体
JPH01233590A (ja) 携帯可能電子装置
US20040186947A1 (en) Access control system for nonvolatile memory
WO1995024698A1 (en) A secure memory card
KR100232086B1 (ko) 보안성 메모리 카드
WO2000016179A1 (en) Method and device of disabling the unauthorised use of a computer
JPH03296842A (ja) データ書き込み方法およびicカード
JPH0449147B2 (ko)
JPH08315089A (ja) Icカード用端末
JPH0693254B2 (ja) 携帯可能電子装置
JPH01147686A (ja) 携帯可能電子装置
JPS63228282A (ja) 携帯可能電子装置
JPS63220386A (ja) 携帯可能電子装置

Legal Events

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

Payment date: 20120402

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee