KR100906967B1 - 대량 저장장치를 구비한 착탈가능한 컴퓨터 - Google Patents

대량 저장장치를 구비한 착탈가능한 컴퓨터 Download PDF

Info

Publication number
KR100906967B1
KR100906967B1 KR1020047001651A KR20047001651A KR100906967B1 KR 100906967 B1 KR100906967 B1 KR 100906967B1 KR 1020047001651 A KR1020047001651 A KR 1020047001651A KR 20047001651 A KR20047001651 A KR 20047001651A KR 100906967 B1 KR100906967 B1 KR 100906967B1
Authority
KR
South Korea
Prior art keywords
card
data
host
unit
add
Prior art date
Application number
KR1020047001651A
Other languages
English (en)
Other versions
KR20040025709A (ko
Inventor
마이클 홀츠만
요시 핀토
Original Assignee
쌘디스크 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쌘디스크 코포레이션 filed Critical 쌘디스크 코포레이션
Publication of KR20040025709A publication Critical patent/KR20040025709A/ko
Application granted granted Critical
Publication of KR100906967B1 publication Critical patent/KR100906967B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 동일 카드 상에 대량 저장 능력과 프로세서를 겸비시킨 호스트 시스템에 착탈가능 애드-온 카드 유닛을 제공한다. 카드는 호스트로부터 데이터를 수신하고 이를 처리된 형태로 저장하며, 저장된 데이터를 불러들여, 이를 처리하고 이를 호스트에 공급하는 역 과정을 행한다. 비휘발성 대량 저장 메모리는 프로그램 저장 및 카드 시스템 데이터와 사용자 데이터를 포함할 수 있다. 카드의 최종 사용자는 애플리케이션들을 프로그램 저장장치에 프로그램할 수 있다. 대량 저장장치와 프로세서의 조합은 온-카드 프로세스의 능력들을 증가시켜, 카드가 프로그램을 저장 및 실행할 수 있게 한다. 본 발명은 호스트 시스템에 프로그램 가능 애드-온 카드 유닛을 제공할 수 있다. 다수의 애플리케이션들이 카드의 대량 저장장치에 저장될 수 있고 온-카드 마이크로제어기에 의해 필요로 될 때 로딩될 수 있다.

Description

대량 저장장치를 구비한 착탈가능한 컴퓨터{Removable computer with mass storage}
본 발명은 디지털 매체에 관한 것으로, 특히 카드들 및 모듈들과 같은 디지털 매체 및 조합들에 관한 것이다. 특히, 본 발명은 카드 유닛이 대량 저장장치를 포함하고 호스트 유닛에 추가 처리능력을 제공할 수 있는, 호스트 유닛에 착탈가능하게 결합되는 애드-온 카드 유닛에 관한 것이다.
최근에, 개인용 컴퓨터들("PC")과 같은 디지털 시스템에서 사용하기 위해 개발된 다양한 애드-온(add-on) 카드들 및 모듈들이 있다. 이들은 각종의 메모리 집약적인 애플리케이션들에 어느 정도 성공을 누리고 있다. 이들 메모리 애드-온 카드들의 일부는 플래시 메모리를 사용하며 플래시 메모리 카드들로서 알려져 있다. 플래시 메모리 카드들은 대량의 데이터 저장 애플리케이션들에 널리 사용되고 있으며, 특히 노트북 컴퓨터들, 개인 휴대 단말기(PDA; personal data assistant), 및 일부 고사양(high-end) 디지털 카메라들용으로 이를테면 회전하는 하드 디스크들 및 밧데리 사용(battery-backed) SRAM과 같은 비휘발성 메모리 해결책으로 구현된 종래의 애드-온 카드에 선호되는 대안이다. 회전하는 하드 디스크 PC 카드들에 대한 대안으로서, 플래시 메모리 카드들은 보다 견고하고 공간 효율적이며, 조용하 고, 파워를 덜 소비하며, 보다 높은 성능(대부분의 경우)을 제공하며, 착탈가능한 폼-팩터를 제공한다. 밧데리 사용 SRAM PC 카드들에 대한 대안으로서, 플래시 메모리 카드들은 통상 보다 높은 밀도와 비트 당 낮은 비용을 제공하며 밧데리 사용 SRAM PC 카드들에 사용되는 밧데리들에 연관된 신뢰성 및 온도 문제들에 의해 제한받지 않는다.
일반적으로, 이들 메모리 카드들은 호스트 시스템들을 위한 보조 저장 기능들만을 수행한다. 어떤 경우엔, 일부 단순 데이터 처리 기능들이 이 카드에서 수행된다. 현재 서로 다른 벤더들에 의해 개발된 이들 PC 카드들에 각종의 표준들이 있다. 이들 메모리 카드 표준들의 각각은 어떤 저장 기능들을 수행할 수 있는 카드 유형을 정하고 있다. 다음은 메모리 카드 업계에서 여러 가지 표준들의 간략한 요약이다.
플래시 PC 카드들은 국제 개인용 컴퓨터 메모리 카드 협회("PCMCIA") 표준에 따른다. 플래시 PC 카드들이 광범위한 애플리케이션들용으로 충분한 양의 메모리를 제공할 수는 있으나, 이들은 이를테면 이동 및 휴대 전자장치들과 같은 애플리케이션들, 혹은 현저히 비용에 민감한 애플리케이션들에서 사용엔 널리 받아들여지진 않았다. 단순히 PC 카드들은 페이저들, 음성 레코더들, 이동전화들, 및 휴대 미터 미터들과 같은 많은 휴대 애플리케이션들용으로는 너무 큰 경향이 있다. 또한, 주머니 혹은 지갑에 휴대하는 것은 많은 소비자 애플리케이션들에 바람직할 것지만, PC 카드들은 이와 같이 휴대하기엔 너무 부피가 크고 무겁다.
호스트 시스템에 기능성을 부가하는 PC 카드의 예가 Depew의 미국특허 6,047,342에 개시되어 있다. 이 특허의 장치는 호스트로부터 데이터를 수신하고 이 데이터에 동작하여, 처리된 데이터를 호스트에 돌려보낸다. 이 시스템은 카드상에 어떠한 대량 저장장치도 제공하지 않으며 처리되는 데이터를 버퍼링 목적으로 RAM에만 저장한다.
콤팩트 플래시 카드는 1944년에 샌디스크 사에 의해 처음 알려졌던 소형 포맷 플래시 메모리 카드이다. 콤팩트 카드는 온-카드(on-card) ATA 제어기 IC에 의해 IDE/ATA 인터페이스 규격을 지원한다. 최대 256 메가바이트까지의 메모리 용량이 현재 가능하다. 5볼트 및 3.3 볼트 전원들이 모두 지원된다. 콤팩트 플래시 카드는 이를 전용의 PC 카드 어댑터에 삽입시킴으로써 노트북 컴퓨터들 및 PDA들에 인터페이스된다.
소형 카드는 1995년에 인텔 사에 의해 처음 알려졌던 소형 포맷 카드이다. 소형 카드는 16비트 데이터 버스를 사용하여 메모리의 최대 64 메가바이트까지의 선형 어드레싱 범위를 지원한다. 5볼트 및 3.3볼트 전원들이 명세에 의해 모두 지원된다. 소형 카드는 전용의 PC카드 어댑터와의 표준 PC 카드 인터페이스를 지원하는 노트북 컴퓨터들 및 PDA들에 인터페이스된다. 소형 카드 명세는 소형 카드 명세, 릴리스 1.0에 기재되어 있고 캘리포니아, 산타 클라라의 인텔 사로부터 얻을 수 있다.
고체상태 플로피 디스크 카드 또는 SSFDC는 1995년에 도시바 사에 의해 처음 알려진 소형 포맷 카드이다. SSFDC는 22개의 평탄한 콘택 패드들을 구비하고, 이들 중 일부는 명령 입력들뿐만 아니라 어드레스 및 데이터 입력 및 출력을 위한 I/O 패드들이다. 카드 명세는 바이트 시리얼 NAND형 플래시 메모리 전용이다. 명세는 5볼트 혹은 3.3 볼트 전원들을 수용한다. SSFDC는 전용 PC 카드 어댑터와의 표준 PC 카드 인터페이스를 구비한 노트북 컴퓨터들 및 PDA들에 인터페이스된다. 예로서의 장치는 유형 TC5816ADC이고, 이는 1996년 4월, 임시 TC5816ADC 데이터 시트 번호 NV16030496에 기재되어 있고, 캘리포니아, 어빈의 도시바 아메리카 전자부품 사에서 얻을 수 있다. 이 장치는 고체상태 파일 저장, 음성 레코딩, 스틸 카메라용의 이미지 파일 메모리, 및 이외 고용량, 비휘발성 메모리 데이터 저장을 요하는 시스템들과 같은 애플리케이션들에 적합한 것으로 알려져 있다.
캘리포니아 쿠페르티노의 지멘스 콤포넌츠는 MultiMediaCards 또는 MMC로서 알려진 장치를 개시한 바 있고, 이에 대해선 1996년 7월 Portable Design의 23페이지 이하를 참조할 수 있다. 원래의 MMC 패키지는 6개의 에지-실장형 콘택 패드들을 구비하고 직렬 버스를 사용한다. 이 포맷은 MMC 시스템 협회(MMCA; MultimediaCard System Association)의 기술위원에 의해 작성된, 웹 사이트 http://www.mmca.org에서 얻을 수 있는 "MMC 시스템 명세"에 기재된 바와 같이 7핀 포맷으로 확장되었다. 이 장치는 게임, 말하는 장난감, 자동차 진단, 스마트 전화, PDA(맞춤 운용 시스템들 또는 전용 프로그램들), 및 PDA 어댑터를 통한 노트북과 같은 애플리케이션들에 적합하다. 이들 카드들은 대량의 비휘발성 저장장치를 제공하지만, 처리 능력은 없다. MMC 설계는 SD(Secure Digital) 카드로서 더욱 개발되었다. 이 설계는 MMC 패키지에 추가 데이터 핀들 및 보안 특징을 더했다. SD 포맷에 관한 정보는 웹 사이트 http://www.sdcard.org에서 얻을 수 있다.
일반적으로 스마트 카드로서 알려진, 집적회로(IC) 카드 포맷 및 유사한 식별(ID) 카드 포맷이 1980년대 중반에 도입되었고, 식별 카드--콘택을 구비한 집적회로 카드, 파트 1: 물리적 특성, 문서 번호 ISO 7816-2, 1988년 5월, 국제 표준화 기구; 및 국제 표준화 기구, 식별 카드--콘택을 구비한 집적회로 카드, 파트 3: 전자신호 및 전송 프로토콜, 문서번호 ISO 7816-3, 1989년 9월, 국제 표준화 기구에 의해 표준화되었다. 스마트 카드들은 신용카드 크기이고 통상 몇 킬로바이트 정도의 소량의 EEPROM 메모리를 구비한 마이크로제어기를 내포하고 있다. 카드들은 유럽에선 인기가 있고 미국시장을 잠식하고 있다. 주요 애플리케이션은 스마트 전화 카드 및 화폐(value) 저장 카드이고, 후자는 지폐 대용으로 비자 및 마스터카드와 같은 신용카드 회사들에 의해 조장되고 있다. 이들 카드들이 카드에 어떤 처리 능력을 구비하고 있을지라도, 사용자는 사용할 수 없으며, 결합된 시스템에 사용자가 능력을 부가할 수 없다. 사용자가 카드를 받기 전에 초기 데이터와 더불어 어떤 처리 능력이든 카드 발행자에 의해 고정된다. 스마트 카드 시스템은 사용자를 위한 어떠한 부가적인 기능들도 실행하지 않으며, 안전 사용을 위해서 혹은 저장된 액수를 유지하기 위해서 데이터의 안전한 저장에만 사용되고, 카드의 처리 능력은 카드 발행자의 결정에 근거하여 이들 기능들을 운영하는 것으로 격하된다. 이것은 카드와 호스트 사이에서만 안전한 링크가 되게 한다.
또 다른 저 메모리 용량 카드 포맷은 가입자 식별 모듈(SIM; Subscriber Identification Module)로서 알려진 것으로 GSM(Global System for Mobile Communication) 규격에 기초한 이동전화들과 함께 사용된다. SIM 명세는 유럽 디 지털 셀룰라 전기통신 시스템 명칭의 유럽 전기통신 표준기구 간행물, GSM, 페이즈 2: SIM 명세--1995년 12월, 이동장비 인터페이스, 문서 번호 GSM 11.11 참조(RE/SMG)--091111PR3, ICS 33.060.50에 개시되어 있다. SIM들은 통상 1킬로비트 미만의 매우 제한된 양의 메모리만을 제공한다. 그러나, 이 소량의 메모리는 GSM 이동전화에 GSM 가입자의 보안 식별을 제공하기엔 충분하며, 호 미터링을 위한 소량의 데이터, 전화번호 저장, 및 경우에 따라선 매우 짧은 데이터 메시지들(몇 백 바이트 미만의 데이터)을 유지할 수도 있다. 통상 플러그-인 SIM은 캘리포니아, 산타 아나의 ITT 캐논 사로부터 구입할 수 있는 CCMO3형에 유사한 소형의 절첩식 스마트 카드 콘넥터 내에 수용된다. 폼-팩터가 소형이므로 GSM SIM을 플러그-인 모듈로서 전화 내에 설치할 수 있다.
이외의 메모리 기술들은 플래시 메모리와 같은 성공적인 기술들에 비해 본연의 단점들로 인해서 삽입가능/착탈가능 메모리 모듈들 및 카드들에 널리 사용되지 않았다. 예를 들면, 밧데리 사용 SRAM 혹은 DRAM 메모리들은 주 전원이 제거되었을 때 보급 밧데리 전원을 필요로 하나, 플래시 메모리는 비휘발성(밧데리가 전혀 필요하지 않음)이고 온도에 대해 보다 신뢰성이 있다. 플래시 메모리는 SRAM 및 EEPROM 메모리보다 고밀도 및 비트 당 저 비용으로 사용이 가능하며, 비용이 DRAM 메모리에 비견된다.
어떤 경우에, 저장을 위해 데이터가 PC 카드에 전송되기 전에 이 데이터에 대해 데이터 처리가 수행된다. 이들 경우에, 데이터는 호스트 유닛 내에서 처리된 후 호스트 유닛에서 저장을 위해 카드 유닛으로 전송된다. 예를 들면, 데이터는 호스트에서 암호화될 수 있고 이 암호화된 데이터는 저장을 위해 메모리 카드에 보내진다. 또 다른 예는 데이터가 호스트에서 압축된 후 저장을 위해 메모리 카드에 보내지는 것이다.
도 1은 데이터를 호스트 유닛에 의해 처리한 후 저장을 위해 PC 카드에 전송하는 종래의 시스템을 도시한 것이다. 도면에 도시된 바와 같이, 시스템은 호스트 유닛(160) 및, 예를 들면 표준 MMC 혹은 SD 카드인 카드 유닛(100)인 2개의 유닛을 포함한다. 일반적으로, 호스트 유닛은 셀룰라 전화, PDA, 팜 파일럿, 혹은 개인용 컴퓨터와 같은 소비자의 장치일 수 있다. 호스트 유닛(160)은 프로세서(162) 및 이외 지원 성분들, 이를테면 호스트 메모리(163), 타이머(164), 및 이외 여기 도시되지 않은 많은 표준 요소들을 포함한다. 또한, 호스트 유닛은 카드 유닛(100)과의 통신을 위한 카드 인터페이스(161)를 더 포함한다. 호스트 인터페이스(161)는 여러 제조업자들 혹은 협회에 의해 정해진 전술한 프로토콜들 중 어느 하나를 사용하여 구현될 수 있다.
도 1에 도시된 바와 같이, 카드 유닛(100)은 일반적으로 호스트 인터페이스(141), 메모리 저장장치 및, 경우에 따라선, 온-카드 마이크로제어기를 포함한다. 도시된 예에서, 카드 유닛의 호스트 인터페이스(141)는 호스트 유닛(160)과 통신하는데 사용된다. 온-카드 마이크로제어기(131)는 호스트 유닛에서 메모리 저장장치로 데이터의 로딩을 제어하는데 사용된다. 또한, 제어기는 어드레싱 및 버퍼링과 같은 메모리 기능들을 다루기 위해 설계된다. 제어기(131) 및 호스트 인터페이스(141)는 카드 버스(153)에 접속되고, 이 카드 버스에는 어떤 프 로그램 저장을 위한 프로그램 불가 ROM 메모리(123) 및, 참조로 여기 포함시키는 예를 들면 미국특허 5,418,752 및 5,172,338에 기술된 바와 같이, 캐시로서 작용할 수 있는, 통상 휘발성인 RAM 메모리(121)가 접속될 수도 있다. MMC 혹은 SD 카드 상의 플래시 메모리가 될 것인 대량 저장 메모리(111)는 버스(153)에 직접 접속되는 것이 아니라 155를 통해 대량 저장 인터페이스(115)에 접속되고, 이 인터페이스는 버스(153)에 접속된다. 대량 저장 인터페이스(115)는 데이터가 비선형 형태로 저장되는 플래시 메모리를 제어하기 위한 "비선형" 혹은 "비-랜덤" 액세스 인터페이스로서 사용된다. 대량 저장 메모리(111) 내 내용들은 제어기(131)에 의해 무작위로 어드레스될 수 없고, 혹은 보다 정확하게는 먼저 읽어낸 후 전체 블록을 캐시하지 않고는 너무 커서 제어기가 이용할 수 없는 블록들로만 액세스될 수 있다.
그러나, 도 1에 도시된 바와 같은 시스템 설계는 메모리 저장장치에 저장되기 전에 데이터를 처리해야 할 때(에를 들면, 압축/압축해제 및/또는 암호화/복호화) 수행 문제들을 겪는다. 데이터 처리는 통상 호스트 유닛 내 프로세서의 수행을 크게 저하시킬 수 있는 집약적인 수학적 계산을 요한다. 또한, 카드에 저장되는 동작 순서들은 ROM(123)에 있다. 실제 카드에서, ROM(123) 부분의 물리적인 크기는 비교적 꽤 크고 고가이어서, 저장될 수 있는 동작 순서들의 수는 ROM의 량을 최소화하려는 요구에 의해 제약된다.
<발명의 요약>
본 발명은 동일 카드 상에 대량 저장 능력과 프로세서를 겸비시킨 호스트 시스템에 착탈가능 애드-온 카드 유닛을 제공한다. 또한, 대량 저장장치는 사용자 데이터 및 카드 시스템 데이터뿐만 아니라 사용자에 의해 프로그램된 동작순서를 저장할 수 있다. 이에 의해 카드는 호스트로부터 데이터를 수신하고 데이터를 처리하여 이를 처리된 형태로 저장하는 저장능력, 및 저장된 데이터를 불러들여, 이를 처리하고 이를 호스트에 공급하는 역 과정을 더 잘 이용할 수 있게 된다. 예를 들면, 카드는 호스트엔 없는 압축 혹은 암호화 능력들을 구비할 수 있어, 카드는 호스트로부터 데이터를 수신하고 이를 압축 혹은 암호화하고 이를 이 처리된 형태로 저장할 수 있다. 처리된 데이터는 불러내어져, 압축해제되거나 복호화되고, 동일 혹은 다른 호스트에 공급될 수 있다.
대량 저장장치 및 프로세서의 조합은 온-카드 프로세서의 능력들을 증가시켜 카드가 프로그램들을 저장 및 실행할 수 있게 한다. 이들 프로그램들은 사전에 로딩되거나 사용자가 로딩할 수 있으므로 본 발명은 프로그램가능 애드-온 유닛을 호스트 시스템에 제공할 수 있다. 다수의 애플리케이션들이 카드의 대량 저장장치에 저장되고 온-카드 마이크로제어기에 의해 필요로 될 때 로딩될 수 있다. 이들 애플리케이션들은 카드에 사전에 로딩될 뿐만 아니라 사용자에 의해 선택되었을 때 호스트로부터 카드에 로딩될 수 있다. 사용자에 의해 프로그램된 애플리케이션들을 저장하는 것 외에도, 대량 저장장치는 카드의 기본 기능성에 관계된 프로그램들을 유지할 수 있어 ROM 요건이 감소된다. 이에 따라 카드 내 프로세서는 기능성 부가 및 기존 기능성 내에 능력 부가에 의해, 호스트에 추가 처리 능력을 제공한다. 이에 따라 카드의 프로세스 및 호스트의 프로세서는 명령 및 애플리케이션 레벨 모두에서 함께 동작할 수 있게 된다. 대량 저장 능력은 카드 ROM를 확장하기 위해 카드 시스템 소프트웨어 가상 메모리로서 프로그램의 부분들을 추가로 저장할 수 있다.
일반적인 사용자가 프로그램한 애플리케이션들 외에도, 이러한 카드의 사용의 특정의 예들은 데이터 암호화/복호화에 호스트 시스템을 돕는 것, 보안 특징들을 호스트 시스템에 제공하는 것, 온 라인 보안 링크를 통신 시스템에 제공하는 것, 보안 저장장치를 호스트 시스템에 제공하는 것을 포함한다.
본 발명은 호스트 유닛 및 카드 유닛을 포함하는 애드-온 카드 시스템을 개시한다. 본 발명의 일 면에 따라서, 카드 유닛은 추가 처리 능력을 호스트 유닛에 제공하도록 호스트 유닛에 착탈가능하게 결합될 수 있다. 카드 유닛은 호스트 유닛에 의해 제공되는 데이터를 처리하기 위한 적어도 한 동작순서로 프로그램된다. 특히, 호스트 유닛은 카드 유닛에 새로운 동작순서를 다운로딩할 수 있거나, 기존의 동작순서를 업그레이드할 수 있다. 본 발명의 일 실시예에서, 카드 유닛에는 호스트 유닛에 의해 추후에 불러들이기 위해 상기 처리된 데이터를 저장하는 주 저장장치가 제공된다. 어떤 경우엔, 처리된 데이터는 호스트 유닛에 리턴되기 전에 재처리될 것이다. 호스트 유닛에 추가 처리능력을 제공하기 위해 카드 유닛을 사용함으로써, 서로 다른 방식들의 데이터 보안 특징들이 구현될 수 있다.
본 발명의 추가 목적들, 특징들 및 잇점들은 바람직한 실시예들에 대한 다음의 설명으로부터 명백해질 것이며, 이 설명은 첨부한 도면과 함께 취해질 것이다.
도 1은 호스트 유닛에 데이터를 처리하여 저장을 위해 PC 카드에 전송하는 종래의 시스템을 도시한 것이다.
도 2는 본 발명에 따른 애드-온 카드 시스템의 실시예를 도시한 것이다.
도 3은 스마트 저장 장치로서 사용되는 카드를 도시한 흐름도이다.
도 4는 데이터 처리 알고리즘만을 수행하는 카드를 도시한 흐름도이다.
도 5는 두 개의 호스트 유닛들을 포함하는 보안 통신 시스템을 도시함으로써 본 발명의 또 다른 면을 도시한 도면이다.
도 6은 카드가 메시지를 수신, 암호화하여 대량 저장 메모리에 암호화된 형태로 메시지를 저장하는 실시예의 흐름도이다.
도 2는 본 발명에 따른 애드-온 카드 시스템의 실시예를 도시한 것이다. 도 2에 도시된 바와 같은 카드 시스템은 2개의 유닛들로서 호스트 유닛(260) 및 카드 유닛(200)을 포함한다. 도 2에 도시된 호스트 유닛(260)은 이의 서로 상이한 세트의 요소들이 명료하게 도시되어 있긴 하지만, 도 1에 도시된 호스트 유닛(160)과 유사하다. 본 발명에 따른 카드 유닛(200)은 도 1에 도시된 카드 유닛(100)에 비교하였을 때 이와 다르게 설계된다.
도 2에 도시된 바와 같이, 카드 유닛(200)은 호스트 유닛과 통신하고 이어 버스(201)를 통해 카드의 나머지와 통신하는 호스트 인터페이스(241)를 포함한다. 온-카드 마이크로제어기(231)는 도 1의 제어기(131)와 동일한 기능들을 수행하며, 호스트 유닛에서 메모리 저장장치로의 데이터의 로딩을 제어하는데 사용되며, 지금은 처리 유닛으로서의 부가적인 능력들을 구비하고 있다. 대량 저장 인터페이스(217)는 대량 저장 메모리(21)와 버스(210) 사이에 접속된다. RAM 메모리(221)는 대량 저장장치(21)에 혹은 이로부터 데이터를 기입 혹은 독출하기 위한 캐시 혹은 버퍼로서 사용될 수 있고 ROM(223)은 프로그램 메모리로서 사용된다. MMC 혹은 SD 실시예에서의 프로그램 메모리는 통상 비휘발성 플래시 ROM이고 온-카드 마이크로제어기(231)에서 수행될 동작순서들을 저장하고, 경우에 따라선 데이터 처리 동안 관계된 데이터를 저장하기 위한 저장영역을 제공할 수도 있다. 데이터 처리 유닛(205)은 일반적으로 호스트에 의해 구성이 가능하지 않고 특정의 기능들, 이를테면 수행을 향상시키게 되는 특정한 동작순서의 실행 중에 제어기(231)에 의해 필요로 될 수 있는 수학적 기능을 수행한다.
도 2의 카드 유닛은 몇 가지 면에서 도 1과는 다르다. 카드(200)는 프로그램 저장장치로부터 동작순서들에 따라 호스트 유닛(260) 혹은 대량 저장 메모리(210)로부터 수신된 데이터를 제어기(231)가 처리하게 하며, 데이터 처리 유닛(205)과 함께 가능하다. 대량 저장 인터페이스(217)는 제어기가 대량 저장장치(210)와 통신하는데 필요한 하드웨어를 제공한다. 또한, 대량 저장 메모리(210)는 현재, 저장 전에 데이터 처리 유닛(205)에 의해 처리되어 있을 수 있는 사용자 데이터를 저장하기 위한 부분(211)과, 카드 시스템 데이터를 유지하는 부분(215)과, 어떤 실시예들에서의 프로그램 메모리 부분(213)으로 세분된다. 카드 시스템 데이터부(215)는 일반적으로 사용자의 액세스용이 아닌 실행 중 프로그램들에 의해 필요로 하는 데이터를 저장하고, 여기서는 사용자 데이터부(211)와 구별된다. 예를 들면, 카드 시스템 데이터부(215)에 저장된 관련된 데이터는 암호화 키, 음성 t명서명, 키 열들, 생물 측정 데이터 등을 포함할 수도 있을 것이며, 어떤 경우엔 암호화 키는 사용자에게 제공될 수도 있다.
프로그램 메모리부(213)는 카드 시스템 소프트웨어이고 프로그램들의 부분들을 저장할 수 있어, 실제로 카드로 하여금 이의 각종의 애플리케이션들용의 보다 큰 ROM을 구비할 수 있게 한다. 이것을 가상 메모리(223')로서 점선으로 표시한 ROM(223) 확장으로 도시하였다. ROM은 통상 비교적 크고 카드의 물리적 크기의 비용이 드는 부분이므로, ROM 요건을 감축시키는 능력은 매우 유용할 수 있다. 예를 들면, 사용자에 의해 프로그램된 애플리케이션들 외에도, 자주 사용되지 않고 많은 공간을 차지하는 카드 자체의 대다수의 기본 기능성들이 프로그램 메모리부(213)에 저장될 수 있다.
사용자 데이터 및 사용자에 의해 프로그램된 애프리케이션을 대량 저장장치(210)에 저장하는 능력은 본 발명을 강력하고 유연성 있게 한다. 사용자는 데이터뿐만 아니라 사용자가 실행되게 할 동작순서를 프로그램할 수 있는데, 대신 스마트 카드와 같은 종래 기술의 시스템들에서와 같이, 카드의 최종의 사용자가 아닌 제조업자 혹은 카드 발행자에 의해 로딩되는 동작순서들로 제약된다. 대량 저장장치(210)는 비선형 구조로 데이터를 저장하므로, 실행될 순서는 인터페이스(217)에 의해 불러들여져 제어기(231)에 의해 사용가능한 선형의 형태로 저장된다. 이러한 선형 형태로 RAM(221)에, 혹은 ROM(223)에 대해 캐시 구조를 갖는 실시예들에서는 ROM 캐시에 저장될 수 있다.
본 발명에 따라서, 카드 유닛(200)은 호스트 유닛(260)에 착탈가능하게 접속 된다. 카드 유닛이 호스트 유닛에 부착된 후에, 데이터는 두 인터페이스들(즉, 호스트 인터페이스(241) 및 카드 인터페이스(261))을 통해 호스트 유닛에서 카드 유닛으로 전송된다. 카드 유닛이 호스트 유닛으로부터 데이터를 수신하였을 때, 카드 유닛은 프로그램 저장장치에 저장된 동작 순서에 따라 데이터를 처리한다. 카드 유닛에 구성된 것들로부터 인에이블 된 명령들의 유형에 따라, 처리된 데이터는 다시 호스트 유닛으로 전송되거나 카드 유닛의 주 저장장치에 저장된다. 예를 들면, 호스트 유닛이 카드 유닛으로부터만 데이터 처리를 요청한다면, 카드는 처리된 데이터를 카드 유닛에 저장하지 않고 처리된 데이터를 다시 호스트 유닛에 전송할 것이다. 이 경우, 카드 유닛은 주 저장장치를 구비할 필요가 없다. 반면, 호스트 유닛이 처리된 데이터를 카드 유닛에 저장할 것을 요청한다면, 처리된 데이터는 처리된 후 카드 유닛의 주 저장장치에 저장될 것이다. 이 경우, 처리된 데이터는 데이터가 처리된 후 호스트 유닛에서 카드 유닛이 분리될 수 있기 때문에 휴대할 수 있다.
배경기술에서 다룬 포맷들 중 어느 하나의 정도를 변경시키고 여러 가지 대응하는 프로토콜들을 사용하여 본 발명이 구현될 수 있겠지만, 설명을 보다 구체적으로 하기 위해서 주로 MMC 혹은 SD 카드 실시예에 관하여 기술하도록 하겠다. MMC 카드들에 대한 보다 상세한 것은 "Voltage Negotiations in a Signal Host Multiple Cards Systems", 미국특허 출원 09/185,649와, "Multiple Mode Communication System", 09/186,064에 기술되어 있고, 이들 모두는 1998년 11월 11에 출원되었으며 이들을 참조로 여기 포함시킨다. SD 카드들에 관한 보다 상세한 것은 여기 참고로 포함시키는, 2000년 8월 17일 출원된 미국특허 출원 09/641,023, "Multiple Removable Non-Volatile Memory Cards Serially Communicating with a Host"에 기술되어 있다. 카드 유형 구현 외에도, 본 발명의 여러 가지 면들은 MMC 혹은 SD 카드의 구조를 갖지만 내장가능한 칩의 폼-팩터로 된 TriFlash로서 알려진 것과 같은 내장 가능한 성분으로서 실시예로 구현될 수도 있다.
이들 카드들은 메모리 어레이와, 메모리 제어 기능 및 호스트 인터페이스 기능을 수행하는 프로세서 기반의 제어기를 포함하는 착탈가능 플래시 메모리 카드들이다. 애플리케이션에 부가되었을 때 애플리케이션이 사용할 수 있는 메모리 양을 증가시키고 새로운, 메모리 집약적인 기능들을 가능하게 한다. 유사하게 온-카드 프로세서는 메모리 제어 기능들보다는 애플리케이션에 관계된 기능들에 사용될 수 있고, 착탈가능한 코프로세서로서 사용되어 애플리케이션의 연산능력을 향상시킨다. 큰 메모리 공간과 사용가능한(애플리케이션이) 부가된 연산능력을 포함하는 착탈가능 컴퓨터의 조합은 매우 강력하다. 다음에 신규의 장치의 개념을 기술하고 애플리케이션들의 몇가지 예를 열거하고 이들 주 일부는 상세히 기술한다.
일반적인 주 프로세스가 실행엔 매우 효과적이지 않은 특정한 기능들을 구현하는, 도 2의 265와 같은 코프로세서 발상은 이 기술에 공지되어 있다. 본 발명에서는 코프로세서가 하드웨어, 소프트웨어, 및 저장공간을 포함하는 착탈가능 카드 형태인 점에서 다르다. 이에 따라, SD 혹은 MMC 카드 실시예에서, 카드를 사용하도록 설계된 시스템들은 직렬 통신 채널의 핀들을 통해 액세스가능한 새로운 특징들로 새로운 기능들을 이용할 수 있을 것이다. 프로세서-카드에 특정의 기능들을 할당하는 것은 애플리케이션들의 주 프로세서의 복잡도와 가격을 감소시킬 것이며, 개발, 유통 및 별도로 가격을 매길 수 있는 애드-온 애플리케이션들을 가능케 할 것이며, 사용자들이 장비를 이들의 요구에 맞게 할 수 있게 할 것이다. 예를 들면, 후술하는 바와 같이, 이러한 구성으로 오디오, 비디오, 혹은 이외 다른 스트림 가능 콘텐트와 같은 연속 매체들을 호스트엔 없는 압축해제 능력과 더불어 압축된 형태로 카드에 저장할 수 있게 되므로, 연속 매체들은 압축해제된 형태로 호스트에 공급될 수 있다. 연속 매체 외에도, 압축된 데이터의 다른 예들은 다른 큰 데이터 파일들, 예를 들면 고해상도 X-선을 포함할 수 있다.
그러므로, 카드는 기능성 및 능력 모두를 호스트에 부가할 수 있다. 부가된 기능성의 예는 데이터가 카드의 대량 저장장치에서 온 것이든 카드에 공급되는 것이든, 호스트 시스템엔 없는 데이터의 압축해제 능력이다. 카드는 호스트에 이미 있는 기능성의 능력을 증가시킬 수도 있다. 따라서, 사용자에 의해 결정된 카드에 어떤 기능이 호스트에 의해 부분적으로 혹은 전체가 옮겨질 수 있어, 호스트/카드 시스템의 애플리케이션 수준의 소프트웨어에 융통성을 증가시킬 수 있게 한다.
도 2의 호스트 유닛(260)에 도시된 바와 같은 표준 코프로세서 구성에서, 주 CPU(263) 및 코프로세서(265)는 병렬로, 다소 독립적으로 동작한다. CPU(263)가 ROM(269)로부터 명령을 페치하였을 때, CPU가 이 명령을 이해하지 못하였다면 동작을 중지시키고 이 명령은 버스에서 픽업되어 코프로세서(265)에 의해 실행된다. 이에 따라, 주 CPU 및 코프로세서는 명령 레벨에서 서로 협동한다. 반대로, 본 발명은 호스트의 주 CPU(263)가 온-카드 제어기(231)와, 필요하다면, 프로그램을 실 행할 때 데이터 처리 유닛(205)을 인식하고 있는 애플리케이션 레벨에서 카드(200) 및 호스트가 함께 작용하게 한다.
이러한 식으로 애플리케이션 레벨에서 어떤 문제에 대해 함께 작용할 때, 호스트는 처리 작업들을 카드에 명료하게 할당할 것이다. 이 경우, 애플리케이션의 일부는 프로그램 메모리(213)에 저장되거나 사용자에 의해 미리 로딩된 후 이로부터 카드의 데이터 처리 유닛(205)을 위해 로딩될 수 있다.
이하 많은 예를 제공한다. 이들 대다수는 본 발명의 여러 가지 면들에 이들이 어떻게 이용될 수 있는가를 예시하기 위해 선택된 상당히 표준의 애플리케이션들이다. 카드는 프로그램이 가능하므로, 사용자가 카드에 프로그램할 수 있는 애플리케이션들은 이들 예를 훨씬 넘어 확장될 수 있는 것을 기억해 두어야 할 것이다.
제1 예로서, 호스트로서 한정된 내부 전화번호부를 구비하고 있고 보다 크고, 보충의 전화번호부로서 작용하는 카드엔 대량 저장장치가 있는 휴대전화를 고찰한다. 종래의 기술에서, 이들 두 전화번호부에의 탐색은 호스트에서 행해질 것이다. 사용자가 내부 전화번호부에 없는 원하는 이름을 입력한다면, 보충 전화번호부에서 각각의 이름을 얻음으로써 보충 전화번호부가 탐색될 것이며, 이를 인터페이스들을 통해 호스트에 전하고, 이를 호스트에서 검사한다. 이 과정은 찾는 이름이 발견될 때까지 보충 전화번호부 내 각 이름마다 반복되고, 결국 대량의 데이터가 인터페이스들을 걸쳐 전달하는 것이 된다. 본 발명에서, 카드는 호스트가 이의 내부 메모리를 탐색한 후에 혹은 이와 동시에, 카드 상에서 탐색 애플리케이션 을 채용할 수 있다. 그러므로, 원하는 이름만이 인터페이스들을 거쳐 카드에 전달되고, 카드 자체는 대량 저장장치의 탐색을 수행하고, 결과만이 호스트에 보내진다.
또 다른 예는 예를 들면 GPS(Global Positioning System)와 인터페이스 할 수 있는 이를테면 지도와 같은 내비게이션 데이터베이스로서 카드의 사용이다. 데이터베이스는, 전체 지도 알고리즘은 카드에 있고, 계층 구조를 갖는 서로 다른 축척의 일련의 지도들로 구성될 수도 있을 것이다. 호스트에 의해 제공된 GPS 정보에 기초하여, 카드는 적합한 축척의 적합한 영역의 지도를 결정하여 호스트에 제공할 수도 있을 것이다.
전화번호부 혹은 지도 데이터베이스들에 사용하기 위한 데이터 탐색 애플리케이션은 ROM(223)이나 프로그램 메모리(213)에 저장될 수 있는 애플리케이션들의 예들이다. 전술한 바와 같이, 이들 애플리케이션들은 카드에 미리 로딩될 수 있고, 혹은 프로그램 메모리(213)의 경우엔 사용자에 의해 제공될 수 있다. 다수의 애플리케이션들을 대량 저장장치(210)에 부분적으로 혹은 완전히 저장해 둠으로써, 이들 애플리케이션들은 제어기(231)에 의해 필요할 때 로딩될 수 있다. 이것은, 사용자에 의해 카드에 기능성이 호스트로부터 옮겨질 수 없는 이를테면 스마트 카드와 같은 종래 기술과는 다르다. 또한, 종래 기술의 카드 설계들은 프로그램 데이터 및 사용자에 의해 저장되는 데이터를 위한 대량 저장장치가 없다.
많은 추가의 예들을 상세히 고찰하기 전에, 카드의 대량 저장장치에 압축된 형태로 저장된 연속 매체들, 즉 MP3 포맷의 음악에 대해 압축해제 애플리케이션을 구비한 카드의 예를 다시 고찰한다. 카드에는 사전에 기록된 콘텐트 및 애플리케이션이 공급될 수 있다. 그러면 카드는, 카드 슬롯, CPU, 및 오디오 능력은 있으나 음악을 제공하기 위한 압축해제 혹은 확장 저장 능력은 없는 PDA와 같은 호스트에서 사용될 수도 있을 것이다. 대안으로, 압축해제 능력 및 이미 압축된 형태이거나 카드에서 압축될 데이터는 이를테면 개인용 컴퓨터와 같은 또 다른 호스트로부터 사용자에 의해 로딩될 수 있다. 어느 경우이든, 카드는 저장된 매체를 사용자 데이터(211)로부터 읽고, 이를 대량 저장장치 인터페이스(217)를 통해 버스(201)에 공급하고 이를 제어기(231)에서 ROM(223)이나 가상 ROM(223')(프로그램 메모리(213)로부터)의 프로그램 메모리를 사용하여 압축해제하고, 이를 재생을 위해 인터페이스(241)를 통해 PDA에 공급할 것이다.
이에 따라, 본 발명은 카드 유닛에 저장된 동작 순서를 수정하는 능력을 갖는다. 즉, 카드 유닛의 프로그램 저장장치에 이미 있는 동작 순서들에 새롭고 갱신된 동작 순서들이 부가될 수 있다. 일 실시예에서, 동작 순서를 저장하기 위한 카드 유닛 내 프로그램 저장장치는 재기록 가능한 메모리이다. 바람직하게, 이것은 플래시 EEPROM과 같은 비휘발성 메모리이다. 재기록 가능 비휘발성 메모리를 프로그램 저장장치로서 갖춤으로써, 호스트 유닛은 호스트 혹은 카드의 대량 저장장치로부터 새로운 동작 순서들을 다운로드할 수 있고, 혹은 카드 유닛 내 현 동작 순서들을 갱신할 수 있다. 예를 들면, 데이터 암호화 및 복호화를 위해 프로그램된 카드 유닛에서, 상이한 및/또는 새로운 암호화/복호화 방식들이 카드의 사용자에 의해 시스템에 로딩될 수 있다. 이에 따라 사용자는 이들의 보안 애플리케이션 들을 갱신 혹은 자신에 맞게 할 수 있게 된다.
본 발명은 호스트 유닛과 카드 유닛간 통신을 다루기 위한 특정의 프로토콜로 한정되는 것은 아닌 것에 유의한다. 본 발명에 따라서, 시스템 내 호스 인터페이스 및 카드 인터페이스 각각은 이전의 단락에서 다룬 어떠한 프로토콜이든 동작하게 설계될 수 있다. 예를 들면, MMCA, PCMCIA, PC 카드 혹은 SIM 프로토콜들 중 어느 하나가 호스트 유닛과 카드 유닛 간 통신을 다루기 위해 본 발명에서 사용될 수 있다.
본 발명에 따라서, 데이터는 저장하거나 처리되어 호스트로 다시 재전송하기 위해 호스트 유닛에서 카드 유닛으로 다운로드될 수 있다. 또한, 새로운 혹은 업그레이드된 소프트웨어는 호스트 유닛에 의해 제공된 데이터를 카드 유닛이 처리하도록 명령하기 위해 호스트 유닛으로부터 카드 유닛의 프로그램 저장장치로 다운로드될 수 있다.
카드에 이미 저장된 데이터를 처리하는 것 외에도, 호스트와 카드의 조합된 시스템은 호스트로부터의 데이터에 작용할 수 있다. 도 2에서, 도시된 바와 같은 카드 유닛(200)은 호스트와의 통신을 위한 인터페이스(241), 카드 유닛 내 서로 다른 성분들을 제어 및 조정할 뿐만 아니라 호스트 유닛(260)에 의해 제공되는 혹은 카드에 저장된 데이터를 처리하는 온-카드 제어기(231), 적어도 하나의 처리 순서를 저장하기 위해 제어기(231)에 결합된 프로그램 저장 ROM(223), 데이터 처리 유닛(205), 어떤 실시예들에선 옵션일 수 있는 플래시 메모리와 같은 대량 저장장치(210), 주 저장장치(210)의 동작들을 제정하기 위한 대량 저장장치 인터페 이스(217), 및 카드 유닛용의 임시 저장장치로서의 메모리 버퍼 RAM(221)을 포함한다. 도 2에 도시된 실시예에서, 카드 인터페이스(261) 및 호스트 인터페이스(241)는 호스트 유닛(260)과 카드 유닛(200) 간에 데이터 및 명령들을 전달하는 것을 처리하기 위해 함께 동작한다. 이들 두 인터페이스들은 어떠한 사용가능한 프로토콜이든 동작시킬 수 있는 호스트-슬레이브 카드 환경처럼 동작한다. 예를 들면, 전술한 MMC 프로토콜은 카드 유닛이 MMC 명세의 물리적 명세에 따르도록 설계될 수 있게 구현될 수 있다.
제어기(231)는 서로 다른 처리 요구들을 처리할 수 있는 일반적인 계산 유닛이다. 다음의 예들에서, 이 데이터 처리 유닛은 암호화, 복호화, 압축, 압축해제, 음성 검증, 보안 검증, 등, 및 이외 다른 최종 사용자에 의해 프로그램된 애플리케이션들을 처리할 수 있다. 각각의 특정의 경우에, 적어도 한 동작 순서는 카드 유닛의 프로그램 저장장치(223 혹은 223')에 저장될 것이다. 상이한 처리의 상세는 다음 예들에서 다루도록 하겠다.
본 발명의 또 다른 면은 제어기(231)에 의해 액세스될 수 있는 애플리케이션들을 저장하는 프로그램 메모리부(213)의 사용이다. 종래 기술에서, 프로그램 저장장치는 장친 내 저장되는 동작 시퀀스가 카드 유닛 제조업자 혹은 발행자에 의해 사전에 프로그램되도록 ROM(223)과 같은 재기록 불가 메모리이다. 예를 들면, 특정한 암호화/복호화 동작 순서는 제조업자에 의해 ROM(223)에 미리 저장된다. 이 경우, 호스트 유닛(260)으로부터 카드 유닛(200)에 의해 수신된 데이터는 미리 저장된 동작 순서에 따라서만 처리될 것이다. 사용자가 새로운 동작 순서를 원한다 면, 다른 카드 유닛이 필요하다.
대신으로, 본 발명의 실시예에서, 프로그램 저장장치(213)는 플래시 메모리와 같은 재기록 가능 비휘발성 메모리이다. 앞 단락에서 다룬 ROM(223)을 사용하는 대신 혹은 이에 부가하여 프로그램 저장장치로서 대량 저장장치(210)를 사용함으로써, 호스트 유닛(260)은 카드에서 새로운 혹은 업그레이드된 동작순서가 실행될 수 있도록 카드 유닛(200)에 새로운 혹은 업그레이드된 동작 순서를 다운로드 할 수 있다. 본 발명의 이러한 면에 따라서, 호스트 유닛은 새로운 혹은 업그레이드된 동작순서를 프로토콜에 따라 2개의 인터페이스들을 통해 카드 유닛에 보낸다. 그러면 카드 유닛은 데이터 처리 유닛에 부착된 프로그램 저장장치에 저장 혹은 갱신한다. 이러한 다운로딩 및 갱신하는 특징을 제공함으로써, 일반적인 카드 유닛은 호스트 유닛의 각종의 요구를 만족시킬 수 있다.
또 다른 실시예에서, 프로그램 저장장치는 복수의 동작순서들을 저장하도록 설계될 수 있다. 예를 들면, 카드 유닛의 프로그램 저장장치는 암호화/복호화 순서와 압축/압축해제 순서를 모두 저장할 수 있다. 카드 유닛 내 프로그램 저장장치에 복수의 동작순서들을 저장함으로써, 호스트 유닛은 미리 저장한 순서들의 리스트에서 데이터 처리를 위해 하나 이상의 순서들을 선택할 수 있다. 이 경우, 프로그램 저장장치(223 혹은 213) 내 하나 이상의 동작순서들은 호스트 유닛으로부터 수신된 데이터를 처리하기 위해 호스트에 의해 선택될 수 있다. 또 다른 설계에서, 카드 유닛은 복수의 동작순서들(예를 들면, 암호화 및 압축)이 호스트 유닛으로부터 수신된 데이터에 적용되도록 사전에 프로그램 될 수 있다.
프로그램 메모리(213)에 저장된 동작순서들은 보다 높은 저장밀도를 달성하기 위해 대량 저장장치 인터페이스(217)를 통해 비선형으로 저장된다. 어떤 순서가 실행에 필요하게 되어 확장 메모리(223') 부분을 형성할 때, 코드를 불러들여 제어기가 이를 이용할 수 있도록 선형형태로 넣어두어야 한다.
필요하다면 데이터 처리 유닛(205)과 함께, 제어기(231)가 버퍼링을 제외하고 카드에 데이터를 저장하지 않고 호스트(260)로부터의 데이터에 작용하는 경우를 고찰한다. 예를 들면, 어떤 경우에 호스트 유닛은 카드 유닛에 데이터 압축만을 수행할 것을 요청할 수 있다(카드 유닛에 압축된 데이터를 저장함이 없이). 데이터가 카드 유닛에서 압축된 후에, 압축된 데이터는 호스트 유닛에 보내진다. 다른 경우에, 호스트 유닛은 호스트 유닛으로 다시 재전송 되기 전에 수신된 어떤 데이터에 압축 혹은 암호화가 수행될 것을 요청할 수 있다. 요청된 동작순서들 각각은 프로그램 메모리(213)에 저장되고 물론 호스트 유닛으로부터 미리 저장되거나 다운로드 될 수 있는 것에 유의한다.
이에 따라, 본 발명은 서로 보완되는 두 가지 방식으로 기능할 수 있다. 어느 경우이든, 카드는 원래의 호스트 시스템들엔 없거나 설계되지 않은 능력, 기능성을 모두 부가할 수 있다. 제1 모드에서, 카드 유닛은 처리된 데이터를 저장하거나 처리될 데이터를 불러들이거나, 혹은 이들 양자를 위한 플래시 혹은 이외 다른 대량 저장장치를 포함한다. 저장하는 경우, 카드 유닛이 호스트 유닛으로부터 데이터를 수신할 수 있는 다음에, 카드 유닛의 데이터 처리 유닛은 프로그램 저장장치에 저장된 동작순서에 따라 데이터를 처리한다. 불러들이는 경우, 전에 처리되 었건 아니건 간에 저장된 데이터는 동일 혹은 다른 호스트 유닛에 의해 추후에 불러내기 위해 대량 메모리에 저장될 수 것이다. 본 발명의 이러한 면에 따라, 카드 유닛은 호스트 유닛으로부터 분리될 수 있고 필요로 되었을 때 다른 호스트 유닛에 전달될 수 있다. 즉, 데이터는 처리 및 저장을 위해 제1 호스트 유닛에 의해 카드 유닛으로 제공될 수 있고, 이어서 처리된 데이터는 카드 유닛을 제2 호스트에 부착함으로써 제2 호스트 유닛을 사용하여 불러들여질 수 있다. 본 발명의 이러한 면 하에서 모든 데이터 처리는 도 1에 도시된 바와 같이 호스트 유닛 대신 카드 유닛에서 수행될 수 있는 것에 유의한다. 이에 따라, 이 경우, 전체 데이터 처리는 호스트 유닛이 인지할 것이고, 가장 중요하게는 호스트 유닛의 프로세서에 부담을 주지 않을 것이다.
본 발명을 동작시키는 제2 모드에서, 카드 유닛은 처리된 데이터를 저장하기 위한 대량 저장장치 주 메모리의 사용자 데이터부(211)를 이용하지 않을 수도 있고 따라서 이를 포함할 필요가 없다. 이 실시예에서, 데이터는 처리만을 위해 호스트 유닛으로부터 수신된다. 카드 유닛의 처리유닛이 호스트 유닛으로부터 수신된 데이터를 처리한 후에, 카드 유닛은 처리된 데이터를 두 개의 인터페이스들(즉, 호스트 인터페이스 및 카드 인터페이스)을 통해 호스트 유닛에 다시 전달할 것이다. 처리된 데이터는 카드 유닛에 저장되지 않기 때문에, 카드 유닛은 처리된 데이터를 저장하기 위한 주 메모리를 필요로 하지 않는다. 즉, 카드 유닛은 호스트 유닛이 어떤 특정의 데이터 처리 기능들을 수행하는 것을 돕는 "착탈가능 컴퓨터"로서 동작한다. 예를 들면, 호스트는 데이터를 카드 데이터에 보낼 수 있고 카 드 유닛이 암호화 혹은 압축과 같은 특정의 처리 기능을 수행할 것을 요청할 수 있다. 처리 유닛이 데이터를 처리한 후에, 카드 유닛은 처리된 데이터를 다시 호스트 유닛에 전송한다. 이 실시예에서, 호스트 유닛은 단순히 카드 유닛에 저장된 동작순서(들)에 따라 처리하기 위해 카드 유닛에 데이터를 공급한다. 호스트 유닛은 카드 유닛에 데이터 처리 동작들을 "다운로드"하기 때문에, 전체 데이터 처리는 호스트 유닛이 인지하고 있다. 본 발명의 이러한 특징은 암호화, 복호화, 압축, 압축해제, 데이터 보안, 등과 같은 특정의 데이터 처리 기능에 호스트 유닛을 돕는데 특히 유용하다. 따라서, 카드 유닛은 임의의 호스트 유닛에 애드-온 특징으로서 작용한다. 예를 들면, PDA에 저장된 데이터에 추가 보안을 제공하기 위해서 호스트 유닛으로부터 전송된 데이터를 암호화 혹은 복호화하는데 사용되는 PDA에 암호화/복호화 카드가 판매될 수 있다. 마찬가지로, PDA 내 한정된 메모리 공간들을 보존하기 위해서 데이터 압축을 수행하기 위해 PDA 사용자에게 압축/압축해제 카드가 판매될 수 있다. 이 바람직한 실시예의 잇점들 중 하나는 호스트 유닛의 처리 능력을 유지하면서도 부가적인 계산 기능들을 호스트 유닛에 제공하는 능력이다. 본 발명의 이 면에 따른 또 다른 예는 호스트 유닛에 보안 특징들을 제공하는 능력이다. 이 경우, 카드 유닛은 암호, 키워드 혹은 생체측정 보호들과 같은 추가 보안 특징들을 호스트 유닛에 제공할 수 있다. 또한, 카드가 처리 중의 데이터를 대량 저장장치에 저장하지 않을지라도, 데이터는 대량 저장장치의 프로그램 메모리(213)에 저장된 프로그램으로 처리될 수도 있거나, 카드 시스템의 데이터부(215)에서 데이터를 사용할 수도 있고, 혹은 이들 양자가 행해질 수 있는 것에 유의한다.
이들 두 모드의 카드 사용에 대해 도 3 및 도 4의 흐름도에 기술하였다. 도 3에서, 데이터는 대량 저장장치에 기입되기 전에, 혹은 대량 저장장치로부터 읽혀진 후에, 혹은 전후에 처리된다. 전술한 바와 같이, 이들 두 프로세스들은 독립적이나, 본 논의에선 결합한다. 도 4에서, 데이터는 호스트로부터 보내져, 처리되고, 카드의 대량 저장장치에 놓여지지 않고 다시 호스트로 보내진다.
도 3은 스마트 저장장치로서 사용되는 카드의 예를 도시한 것이다. 프로세스는 301에선 호스트에 대해서, 302에선 카드에 대해 시작된다. 카드 유닛이 호스트 유닛에 부착된 후에, 호스트는 카드가 필요한 애플리케이션이 없다면 카드에 애플리케이션을 다운로딩함으로써 311 및 312에서 카드를 구성한다. 이 대신으로, 애플리케이션은 카드에 사전에 저장되어 있을 수도 있다. 일단 카드가 구성되면, 애플리케이션은 데이터가 처리될 것인가에 따라 인에이블 되거나 디저블 될 필요가 있다. 호스트는 많은 목적들을 위해 카드에 데이터 전송을 온 오프 할 수 있고 카드에 구성된 특정의 애플리케이션들을 모든 전송들을 위해 불러내기를 원하지 않을 수도 있다. 예를 들면, 카드는 데이터를 암호화하도록 구성될 수도 있으나, 사용자는 암호화된 카드에 데이터가 저장되는 것을 원하지 않을 수도 잇다. 결국, 암호화된 매 데이터 전송마다 애플리케이션이 인에이블 될 것이며, 암호화되지 않은 데이터에 대해선 디저블 될 것이다.
321에서 호스트는 322에서 데이터 처리를 위해, 구성된 카드 유닛을 활성화시키기 위해 카드 유닛에 인에이블 명령을 보낸다. 이어서, 호스트 유닛은 전에 참 고로 포함시킨 MMC 및 SD 카드 애플리케이션들에서 논한 바와 같이, 331에서 프로토콜에 따라 카드 유닛에 데이터를 보낸다. 데이터가 카드 유닛에 의해 수신된 후에, 322에서 카드 유닛은 사전에 저장된 동작순서 중 적어도 하나에 따라 데이터를 처리하고 이미 압축, 암호화, 아니면 처리된 데이터를 대량 저장장치에 저장한다. 독출은 역의 동작이다. 데이터 처리 유닛이 인에이블 되는 동안(원 데이터 처리 알고리즘의 역을 행하도록 구성된) 데이터는 342에서 플래시로부터 읽혀진다. 호스트는 341에서 비압축, 복호화 등이 행해진 데이터를 다시 얻게 될 것이고 프로세스는 351 및 452에서 종료된다.
도 4는 카드가 데이터 처리 알고리즘만을 수행하는데 사용되는 방법의 예를 도시한 것이다. 이 알고리즘은 사용자에 의해 사전에 프로그램 메모리(213)에 프로그램 되어 있을 수도 있다. 이 프로세스는 일부 단계들이 보다 명료하게 되어 있긴 하나 도 3의 프로세스와 유사하다. 프로세스는 각각 401 및 402에서 호스트 및 카드에 대해 시작된다. 카드가 원하는 애플리케이션용으로 사전에 구성되어 있지 않다면, 이것은 411, 412에서 행해진다.
도 4의 예에서, 카드 상의 애플리케이션이 인에이블 되고, 데이터가 카드에 전달되고, 처리 및 버퍼링되고, 이어서 애플리케이션이 디저블 되고 처리된 데이터는 호스트로 돌려보내진다. 예를 들면, 암호화의 경우에, 데이터가 호스트에 다시 전송될 때 데이터가 복호화되지 않게 애플리케이션은 독출 전에 턴 오프 된다. 이에 따라, 데이터는 암호화/복호화 과정을 병렬로 계속 진행되게 한다. 이 대신 카드가 역 복호 과정에 사용 중에 있었다면, 처리는 421/422에서 디저블 되고 441/442에서 인에이블 될 것이다.
421에서 호스트는 422에서 데이터 처리를 위해, 구성된 카드 유닛을 활성화시키기 위해 카드 유닛에 인에이블 명령을 보낸다. 431에서 데이터는 카드에 보내지지만, 대량 저장장치에 저장하기 위한 것은 아니다. 데이터를 수신한 후에, 432에서 데이터는 카드에서 처리되어 대량 저장장치가 아닌 메모리 버퍼들에 저장된다. 이어서 호스트는 441에서 디저블 명령을 보내어 442에서 카드를 디저블 시킨다. 처리된 데이터는 452 및 451에서 카드 버퍼들로부터 다시 읽혀진다. 데이터는 이제 예를 들면 암호화된다. 호스트 유닛이 처리할 어떠한 더 이상의 데이터도 갖고 있지 않을 때, 호스트 유닛은 종료 신호를 카드 유닛에 보낸다. 처리된 데이터 모두를 호스트 유닛이 수신하였을 때, 전체 동작이 461 및 462에서 종료된다. 도 4의 과정에서, 데이터가 대량 저장 메모리에 저장되지도 이로부터 읽혀지지도 않을지라도, 데이터를 처리하는데 사용되는 애플리케이션은 대량 저장 메모리에 저장된 애플리케이션일 수도 있다.
위에 어느 정도 이미 다루어진 데이터의 압축 및 압축해제부터 시작하여 몇 가지 예들을 주어질 것이다. 전술한 바와 같이, 데이터는 카드에 공급되어 이미 기록되어 있을 수 있다. 압축 알고리즘은 데이터 파일들에, 혹은 다중 매체 시스템의 경우엔 예를 들면 MPEG 알고리즘에 따른 오디오/비디오 데이터에 최적으로 활용될 수 있다.
카드 유닛이 데이터를 대량 저장장치에 저장하지 않고 처리할 때, 카드는 호스트 유닛으로부터 보내진 데이터를 수신하고, 카드 유닛은 제공된 데이터를 압축 혹은 압축해제한다. 본 발명의 이 면에 따라서, 호스트 유닛은 데이터 압축 혹은 압축해제를 위해 카드 유닛에 데이터를 제공한다. 카드가 이를 처리한 후에, 압축 혹은 압축해제된 데이터는 호스트 유닛에서 사용하기 위해, 혹은 다른 외부 성분들에 재전송하기 위해 호스트에 다시 전송된다.
카드 유닛이 데이터를 저장하려한다면, 카드는 호스트 유닛으로부터 수신된 데이터를 대량 저장 메모리에 저장되기 전에 압축한다. 호스트가 데이터를 요청할 때, 압축된 데이터는 호스트 유닛에 전송되기 전에 카드 유닛에서 압축해제될 수 있다. 데이터 앙축 및 암호화 모두 데이터가 비휘발성 메모리에 저장되기 전에 카드에서 수행될 수 있는 것에 유의한다. 이에 따라 카드 유닛은 이어서 호스트로 다시 읽혀질 때 저장된 데이터의 복호화 및 압축해체를 수행할 수 있다.
또 다른 애플리케이션 예는 음성 인식이다. 음성 인식은 음성 명령들을 샘플링하고 디지털화된 데이터를 처리하여 명령의 "의미"와 함께 저장되는 서명을 발생시키는 과정이다. 사용자가 장치를 말로 활성화시키려고 시도할 때, 오디오 명령이 샘플링되고 다시 처리되어 서명이 명령 데이터베이스와 비교될 것이다. 일치되는 것이 있으면 명령이 실행될 것이다. 장치들의 주 기능성의 일부로서 음성을 기록하는, 이를테면 음성 레코더들, 전화들, 및 사운드 기록 및 재생 능력들을 구비한 대부분의 데크스 탑 및 휴대 컴퓨터들과 같은 이들 장치들에 음성 활성화 기능을 부가하기 위해, 음성 서명들을 발생하고, 이들을 저장하고 데이터베이스를 유지할 수 있는 프로세서 카드가 사용될 수 있다. 음성 서명들은 동일 메모리 카드 혹은 다른 시스템 메모리 뱅크들에 저장될 수 있다. 후자의 경우 애플리케이션은 카드의 음성 서명 발생 능력만을 사용하고 반드시 저장/불러들임 기능과 결합될 필요는 없다.
본 발명의 이러한 면은 시스템에의 사용자 액세스를 걸러내는 방법(들)에 관계된다. 이 면에 따라서, 호스트 유닛에 부착되었을 때, 카드 유닛은 호스트 유닛에의 사용자 액세스를 걸러내는 애드-온 사용자 검증 장치로서 기능할 수 있다. 일 실시예에서, 호스트 유닛에 의해 수행되는 기능들 일부 혹은 전부는 사용자 인증 과정에 의해 보호된다. 예를 들면, 호스트 유닛이 셀룰라 전화일 때, 호스트 유닛은 인증된 사용자들의 선택된 그룹만이 장거리 전화를 할 수 있게 한다. 이 실시예에서, 인증된 사용자(들)의 음성 서명, 사용자 암호, 및/또는 생체측정 데이터와 같은 정보는 카드 유닛에 이의 카드 시스템 데이터부에 저장된다. 이에 따라, 장거리 기능을 사용하기 위한 인증은 대응하는 사용자의 입력이 수락된 상태에서 부착된 카드 유닛에 의해서만 승인된다.
음성 서명 인증 실시예에서, 카드 유닛은 호스트 유닛의 모든 인증된 사용자(들)의 음성 서명을 저장한다. 또한, 카드 유닛은 입력된 음성 캡처가 저장된 음성 서명들 중 어느 것과 일치하는지 여부를 검증하기 위한 음성 검증 시퀀스를 저장하고 있다.
구체적으로, 호스트 유닛의 전부 혹은 일부에 액세스할 수 있기 위해서, 사용자는 호스트 시스템이 검증할 음성 캡처 샘플을 생성해야 한다. 일단 호스트 유닛이 사용자에 의해 제공된 입력 음성 캡처를 얻었으면, 디지털화된 입력 음성 캡처는 검증을 위해 호스트 유닛에서 카드 유닛으로 전송된다. 이어서 카드 유닛은 수신된 입력 음성 캡처를 카드 유닛의 프로그램 저장장치에 저장된 음성 서명(들)과 비교한다. 검증 결과가 발생된 후에, 대응하는 사용자에게 호스트 유닛의 보안 부분에 액세스가 허용되었는지 여부를 나타내는 결과가 호스트 유닛에 보내진다. 음성 캡처 샘플이 카드 유닛에 저장된 음성 서명과 일치하지 않는다면, 카드 유닛은 대응하는 사용자의 액세스를 거절할 것을 호스트 유닛에 명령할 것이다. 한편, 음성 캡처 샘플은 카드 유닛에 저장된 음성 서명과 일치하고, 카드 유닛은 대응하는 사용자에 시스템에의 액세스를 승인할 것을 호스트 유닛에 명령할 것이다.
이 발명에 따른 카드 유닛은 착탈가능하고 휴대할 수 있는 것임에 유의한다. 따라서, 호스트 유닛에 음성 서명 검증을 제공하기 위해 어떠한 일반적인 호스트 유닛에도 사용될 수 있다.
본 발명의 일 실시예에서, 카드 유닛의 프로그램 저장장치는 전술한 바와 같은 SIM 모듈과 유사하게 동작될 수도 있다. 본 발명의 이 면에 따라, 카드 유닛의 프로그램 저장장치는 사용자에 의해 정해진 전화번호(들) 및 이 특정의 사용자에 대한 어카운팅 정보를 저장할 수 있다. 사용자의 개인적인 정보를 카드 유닛의 시스템 데이터 저장 영역에 저장함으로써, 전체 시스템이 임의의 특정의 사용자에 맞추어질 수 있다.
또 다른 예는 데이터 암호화이다. 메모리 카드들은 사용자가 보호할 필요가 있음을 알게 될 민감 데이터(sensitive data)를 저장할 수도 있다. 데이터를 보호할 가장 효과적인 방법은 이를 암호화하는 것이다. 암호화는 독출가능한 형태의 데이트 스트림인 평문으로부터 독출할 수 없는 데이터 스트림인 암호문을 발생하는 알고리즘이다. 복호화는 암호문으로부터 평문을 발생하는 알고리즘이다.
키를 비밀로 유지한다고만 한다면, 확증 및 입증된 보안 레벨을 갖는, 암호화를 위한 표준 "키 기반"의 알고리즘이 있다. 키 기반의 알고리즘들은 비밀(대칭이라 알려져 있기도 함) 키 암호화 방식과 공개(비대칭이라 알려져 있기도 함) 키 암호화 방식 모두를 포함한다. 비밀 키 암호문은 암호화 및 복호화를 위해 단일의 키를 사용하는 일군의 알고리즘들이다. 암호문 수신자는 이를 복호할 수 있도록 데이터를 암호화하는데 사용되었던 키를 갖고 있어야 한다. 공개 키 암호화 방식은 하나는 암호화용이고 또 하나는 복호화용인 한 쌍의 키들을 사용하는 일군의 알고리즘들이다. 키 쌍들은 이들 중 하나로 암호화되어 있는 메시지가 다른 하나로만 복호화될 수 있게 발생된다. 한 키는 공개적으로 알려져 공개 키가 된다. 다른 하나는 비밀로 유지되어 사설 키로서 작용한다.
키 기반의 알고리즘들의 예들은 DES 및 RSA를 포함한다. DES는 비밀 키 암호화 방식의 확증된 표준이다. 이것은 64비트의 데이터 블록들을 암호화/복호화하기 위해 64비트의 키를 사용하는 블록 암호화 알고리즘이다. RSA는 긴(128 내지 1024비트) 키들을 사용하는 널리 사용되는 공개 키 알고리즘이고 주로 디지털 서명 및 인증에 사용된다. 혼성 시스템은 일군의 데이터를 암호화하는데 사용될 DES 키를 비밀로 전송하기 위해 RSA를 사용하는 암호화-시스템이다.
메모리뿐만 아니라 암호화 엔진을 포함하는 프로세서 카드는 기입시 데이터를 암호화하고 독출시 복호화할 수 있을 것이다. 키들은 카드에서 발생되거나 애플리케이션에 의해 제공될 수 잇고, 유사하게 이들은 시스템 데이터 영역에 저장되 거나 다른 어떤 곳에 간수될 수 있다. 비밀 키가 카드에 없다면 코드는 안전하다.
프로세서 카드는 메모리와 함께 사용될 수 있고(카드 상의 데이터를 보호함) 애플리케이션을 위한 부호화 엔진으로서 작용한다. 예로서, 전화는 발신/착신 데이터 패킷들을 각각 암호화 복호화하기 위해 카드를 사용할 수 있다. 이것은 두 전화 가입자들 간에 안전한 데이터 링크를 확립하는데 매우 쉬운 메카니즘이다.
암호화 알고리즘들(이 경우엔 공중 키 알고리즘들)의 또 다른 사용은 개인 디지털 서명들을 발생하고 신원을 인증하는 것이다. 디지털 서명은 개인 혹은 법인체를 문서의 내용에 디지털로 결부시키는 방법이다. 예를 들면, 해시(hash)가 행해진 데이터 파일을 생성하고 서명자(signee)의 이름을 결부시키고 서명자의 사설 키로 암호화시킬 수 있다. 서명을 검증하기 위해서, 이를 서명자의 사설 키로 복호화하고 그 결과를 해시가 행해진 문서와 비교하는데, 여기서 해시는 데이터 파일을 나타내는 (비교적) 짧은 비트 스트림을 생성하여 동일 스트링에 해시한 다른 데이터 파일을 찾을 수 없게 하는 알고리즘이다. 인증은 어떤 사람의 신원을 디지털로 검증하는 방법이며 디지털 서명과 유사하나 이를 문서에 결부시킬 필요는 없다. 예로서, 전화 시스템에서, 프로세서 카드 상의 암호화 엔진은 기본 전화에 거의 부가되지 않고 이들 기능들을 구현하는데 사용될 수 있다.
암호화 카드는 DES 및 RSA 키들을 생성하고 RSA 및 DES를 사용하여 데이터를 암호화/복호화하는데 필요한 모든 하드웨어 및 소프트웨어 구축 블록들을 포함할 수 있다. 예를 들면 셀룰라 전화와 같은 애플리케이션이 전화에 하드웨어를 부가함이 없이 그리고 서비스 제공자 혹은 셀룰라 교환반을 연루시킴이 없이 많은 작업 들을 수행할 수 있게 할 것이다. 이들 작업들은 착신 민감 데이터(sensitive data)를 암호화하여 이를 안전하게 카드에 저장하고, 역으로 발신 민감 데이터를 복호화하고 이를 안전하게 전송하는 것을 포함한다. 이하 도 5에 관련하여 기술되는 바와 같이, 다른 가입자와의 온라인 안전 링크를 확립하고, 암호화된 데이터를 송신/수신할 수도 있다. 카드의 대량 저장 능력에 기인하여, 추후에 사용하기 위해 암호화된 데이터를 수신하여 카드에 저장할 수 있다. 이 데이터는 이를 들을 때 복호화될 수 있다. 또한 메시지의 내용과 발신자의 신원이 위조될 수 없게 또한 거절될 수 없게 하면서 서명된 메시지들을 발송 및 수신할 수 있다. 또한, 발호자가 누구인지를 확실하게 함으로써 발호자 신원을 검증할 수 있다. 전화에 부가된 기능성으로, 카드는 전화에 잠금 키로서 기능할 수도 있는데, 이 경우 전화는 카드가 삽입되지 않으면 작동하지 않을 것이다. 유사하게 카드는 또 다른 애플리케이션에 의해 액세스되는 것으로부터 잠겨질 수 있으므로, 단지 한 전화에서만 사용될 수 있다.
카드는 키들을 발생하여 이들을 전화에 전할 수 있다. 애플리케이션은 카드에 저장된 데이터의 보안 레벨을 증가시키기 위해 카드가 아닌 곳에 키들을 저장하거나 이를 다른 가입자에 전송하는 것을 선택할 수도 있다. 키들이 생성되어 다른 어떤 곳, 예를 들면 암호화된 데이터 메시지의 전송자에 저장된 경우, 카드는 전화 혹은 다른 호스트로부터 이들 키들을 수신할 수도 있다.
완전한 암호화-시스템은 카드에 의해 지원되지 않을 수 있는 두 개의 추가 기능들을 요한다. 이들 중 첫 번째는 키 관리 및 분배로서, 키들을 저장하고 공개 키들을 실 소유자들에 일치시키는 것을 처리하는 기능이다. 두 번째 추가 기능은 공개 키들을 검색하고 및/또는 수신측들에 비밀 키들을 전송하는 프로토콜들을 보장하는 것이다. 이들 두 기능들은 전화 링크들에 직통 전화의 경우 전화 가입자들에 의해 수행될 수 있다. 안전 링크들이 셀룰라 서비스 제공자에 의해 중앙 서비스로서 제공될 때, 이들은 교환반 능력들의 일부로서 구현될 것이다.
도 6은 카드가 메시지를 수신하고, 암호화하고, 대량 저장 메모리에 암호화된 형태로 저장하는 실시예의 흐름도이다. 호스트는 단계 601에서 카드에서 프로세스를 시작한다. 단계 603에서 키가 생성되고 카드에 저장된다. 알고리즘, 이 경우 DES가 단계 605에서 인에이블 된다. 카드는 단계 607에서 메시지를 수신하기 시작하고 이어서 알고리즘에 따라 암호화되어 609에서 대량 메모리에 저장된다. 단계 607 및 단계 609는 모든 메시지가 저장될 때까지 반복된다. 이어서 알고리즘은 단계 613에서 디저블 되고, 제거된 키가 단계 615에서 제거되며, 이 때 프로세스가 완료되고 단계 617에서 호스트에 의해 정지된다.
데이터가 호스트 유닛에 의해 요청되었을 때, 카드 유닛은 도 6의 프로세스의 역으로 호스트 유닛에 다시 전송되기 전에, 암호화된 데이터를 복호화한다. 대안으로, 카드는 카드 상에 이미 있는 복호화 능력뿐만 아니라 암호화된 데이터가 사용자에게 제공될 수도 있을 것이다. 이 실시예에서, 애플리케이션들 자체뿐만 아니라 데이터 암호화 및 복호화를 위한 키(들)는 대량 저장장치에 휴대 목적으로 카드 유닛에 저장될 수 있는 것에 유의한다. 또 다른 실시예에서, 암호화된 데이터의 복호화를 위한 키(들)은 추가의 보안 목적을 위해 호스트 유닛 혹은 호스트 유닛의 사용자에 의해 제공될 수 있다.
애플리케이션 카드로서의 이의 면들에서, 메시지는 대량 저장장치에 저장될 필요가 없다. 이 경우, 카드 유닛이 호스트 유닛으로부터 데이터를 수신한 후에, 카드 유닛은 데이터를 암호화 혹은 복호화한다. 데이터가 암호화 혹은 복호화(요구에 따라서)된 후에, 암호화 혹은 복호화된 데이터는 호스트 유닛에서 사용하기 위해 호스트 유닛에 다시 전송되거나 다른 외부 성분(들)에 재전송한다. 예를 들면, 호스트 유닛이 암호화된 데이터를 수신하였을 때, 호스트는 암호화된 데이터를 통상의 통신채널(예를 들면, 셀룰라 전화 송신전파(airwaves))을 통해 다른 호스트 유닛에 전송할 수 있으므로 이들 두 호스트 유닛들 간에 안전한 통신 링크가 수립된다. 이 경우, 제2 호스트 유닛이 제1 호스트 유닛으로부터 암호화된 데이터를 수신하였을 때, 제2 호스트 유닛은 이의 자신의 카드 유닛에 데이터 복호화를 수행할 것을 요청할 수 있다. 본 발명의 이 면에 따라서, 처리된 데이터를 영속적으로 저장하기 위한 메모리를 포함할 필요가 없을지라도, 암호화/복호화 애플리케이션들 및 키들은 주 메모리의 프로그램 저장부에 저장될 수도 있다. 이 경우, 카드 유닛은 카드 유닛 내 프로그램 저장장치에 저장된 동작순서에 따라 호스트 유닛이 특정의 동작을 수행하도록 보조 프로세서로서 작용한다.
도 5는 온 라인 안전 링크로서 이 실시예를 도시한 것으로, 여기서 호스트 유닛은 다른 호스트 유닛과 통신할 수 있는 셀룰라 전화와 같은 통신장치이다. 카드 유닛은 카드 유닛이 호스트 유닛에 부착되었을 때 호스트 유닛에 안전 통신 링크를 제공하도록 설계된 휴대 장치이다. 도 5는 두 개의 셀룰라 전화들(즉, 두 개 의 호스트 유닛들)로 구성된 온 라인 안전 링크를 도시한 것이다. 도면에 도시된 바와 같이, 안전 통신 링크는 제1 호스트 유닛과, 셀룰라 전화 A(501)인 제2 호스트 유닛인 셀룰라 전화 B(511) 간에 수립된다. 본 발명에 따라서, 제1 호스트 유닛은 착탈가능 제1 카드 유닛인 카드 A(503)에 부착되고, 제2 호스트 유닛은 착탈 가능 제2 카드 유닛인 카드 B(513)에 부착된다.
본 발명의 이 면에 따라서, 2개의 호스트 유닛들에 부착된 2개의 카드 유닛들은 두 개의 호스트 유닛들 간 통신을 위해 암호화/복호화 기능들을 수행한다. 예를 들면, 제1 호스트 유닛으로부터 제2 호스트 유닛으로 전송되는 모든 통신들은 전송 전에 제1 카드 유닛에 의해 암호화된다. 한편, 제2 호스트 유닛에 부착된 제2 카드 유닛은 제1 호스트 유닛으로부터 전송되는 모든 암호화된 데이터를 복호화한다. 두 개의 호스트 유닛들 간에 전송되는 모든 데이터는 암호화되기 때문에, 두 개의 호스트 유닛들 간에 수립되는 통신링크는 안전하게 된다.
도면에 도시된 바와 같이, 제1 호스트 유닛(501)엔 예를 들면 제2 유닛(511)에 전송하기 위해 사용자로부터 음성이 제공된다. 호스트 A(510)에서 제1 카드 유닛(502)이 이 보안 기능에 도움이 되게 부착된 것을 검출하였을 때, 제1 호스트 유닛(501)은 음성 데이터를 암호화를 위해 카드 A(503)에 전송한다. 구체적으로, 음성 데이터의 암호화는 카드 A(503)의 프로그램 저장장치, 도 2에서 ROM(223) 혹은 프로그램 메모리(213)에 저장된 암호화 순서에 따라 제1 카드 유닛에서 수행된다. 음성 데이터가 암호화된 후에, 제1 카드 유닛(503)은 암호화된 음성 데이터를 다시 제1 호스트(501)에 전송할 것이다. 호스트 A(501)이 카드 A(503)로부터 암호화된 데이터를 수신하였을 때, 제1 호스트 유닛은 제1 호스트 유닛과 제2 호스트 유닛 간에 수립된 통신링크를 통해 암호화된 데이터를 제2 호스트 유닛인 호스트 B(511)에 전송한다. 호스트 B(511)가 암호화된 신호를 수신하였을 때, 제2 호스트 유닛은 암호화된 음성 데이터를 복호화를 위해 제2 카드 유닛인 카드 B(513)에 전송한다. 제2 카드 유닛은 암호화된 음성 데이터를 제2 카드 유닛(513)의 프로그램 저장장치에 저장된 복호화 순서에 기초하여 복호화할 것이다. 복호화된 음성 데이터는 대응하는 음성 메시지들이 제2 호스트 유닛에 의해 제2 사용자에게 재생될 수 있게 제2 호스트 유닛으로 다시 전송될 것이다.
제1 카드 유닛 및 제2 카드 유닛은 두 개의 호스트 유닛들에 애드-온 착탈가능한 유닛들인 것에 유의한다. 이들 두 카드 유닛들 없이도, 두 호스트 유닛들이 통신을 계속할 수 있을 것이나 안전 링크가 없이는 할 수 없다. 이들 착탈가능성 및 이식성 특징들로 인해, 특정의 암호화/복호화 알고리즘들이 서로 다른 요구를 만족시키도록 사용자들에 의해 선택될 수 있다. 예를 들면, 암호화/복호화 알고리즘들을 동기화하고 서로 맞춘 키들을 구비함으로써 서로 다른 암호화/복호화 방식들이 두 카드 유닛들에 의해 구현될 수 있다.
암호화 및 복호화가 호스트 유닛들(즉, 제1 호스트 유닛 및 제2 호스트 유닛) 내에서 수행될 수 있을지라도, 카드에 이들 능력들을 구비시키는 것에 몇 가지 잇점들이 있다. 전술한 바와 같이, 부호화된 데이터는 카드에 안전하게 저장될 수 있다. 이 외에도, 암호화/복호화와 같은 진보된 능력들, 혹은 예를 들면 위에 기술된 전화번호부 능력이 없는 저 사양의 이동전화 혹은 이외 다른 애플리케이션을 판매하는 것이 흔히 바람직하다. 이것은 호스트의 비용 혹은 크기를 감축시키도록 행해질 수 있다. 간단히 카드 인터페이스를 제공함으로써, 사용자가 추후에 호스트를 업그레이드하고자 한다면, 이들 능력들은 원하는 대로 부가될 수 있다.
또한, 종래의 설계들은 본 발명만큼 휴대적이지 않다. 암호화/복호화 프로그래밍 순서들 및 암호화/복호화 키들이 호스트 유닛들에 사전에 저장될 때 호스트 유닛에 암호화 및 복호화 순서들을 수정 및/또는 업그레이드하는 것은 어렵다. 본 발명에 따라서, 카드 유닛들은 호스트 유닛들에 관하여 휴대가 가능하므로, 사용자는 지정된 호스트 유닛에 사용할 필요 없이 카드 유닛을 간단히 휴대할 수 있다. 또한, 호스트 유닛(예를 들면, 셀룰라 전화)을 갱신할 필요 없이, 추가 카드 유닛들을 구입하거나, 현 카드의 프로그램 저장장치에 추가 순서들을 저장함으로써 상이한 암호화 과정들이 채용될 수 있다. 이에 따라, 본 발명은 시스템 설계에 상당한 융통성을 제공한다. 특히, 동일 전화를 사용하면서 카드를 변경함으로써 보안 업그레이드를 쉽게 가능하다.
본 발명을 바람직한 특정의 실시예들과 함께 위에 기술하였으나, 본 설명 및 예들은 예시하기 위한 것으로 첨부한 청구범위에 정한 본 발명의 범위를 한정하는 것은 아니다.



Claims (62)

  1. 처리 시스템에 착탈가능하게 결합하기 위한 애드-온 카드에 있어서,
    상기 애드-온 카드가 상기 처리 시스템에 결합되는 동안 상기 처리 시스템과 통신하는 인터페이스;
    적어도 한 동작순서를 저장하는 프로그램 저장 메모리;
    적어도 한 추가 동작순서를 저장하는 프로그램 메모리부를 포함하는 대량 저장 메모리; 및
    상기 인터페이스, 상기 프로그램 저장 메모리, 및 상기 대량 저장 메모리에 결합된 처리 유닛을 포함하고, 이에 의해 상기 프로세서는 상기 적어도 한 추가 동작순서에 따라 상기 인터페이스를 통해 상기 카드와 상기 처리 시스템 간에 전송되는 데이터에 작용할 수 있는 것을 특징으로 하는 애드-온 카드.
  2. 제1항에 있어서, 상기 처리 유닛, 상기 인터페이스 및 상기 프로그램 저장 메모리가 접속되게 하는 카드 버스; 및
    상기 대량 저장 메모리가 상기 카드 버스에 접속되게 하는 대량 저장장치 인터페이스를 더 포함하는 것을 특징으로 하는 애드-온 카드.
  3. 제2항에 있어서, 상기 대량 저장장치 인터페이스는 비선형 인터페이스인 것을 특징으로 하는 애드-온 카드.
  4. 제1항에 있어서, 상기 카드와 상기 처리 시스템 간에 전송되는 상기 데이터는 연속 매체인 것을 특징으로 하는 애드-온 카드.
  5. 제4항에 있어서, 상기 프로세서와 상기 대량 저장 메모리에 접속되어 상기 카드와 상기 처리 시스템 간에 전송되는 상기 연속 매체를 버퍼링하는 데이터 캐시 메모리를 더 포함하는 것을 특징으로 하는 애드-온 카드.
  6. 제1항에 있어서, 상기 적어도 한 추가 동작순서는 압축해제 프로그램을 포함하는 것을 특징으로 하는 애드-온 카드.
  7. 제1항에 있어서, 상기 적어도 한 추가 동작순서는 압축 프로그램을 포함하는 것을 특징으로 하는 애드-온 카드.
  8. 제1항에 있어서, 적어도 한 추가 동작순서는 데이터 암호화/복호화 루틴을 포함하는 것을 특징으로 하는 애드-온 카드.
  9. 제1항에 있어서, 적어도 한 추가 동작순서는 음성 인식 루틴을 포함하는 것을 특징으로 하는 애드-온 카드.
  10. 제1항에 있어서, 상기 대량 저장 메모리는 플래시 메모리인 것을 특징으로 하는 애드-온 카드.
  11. 제1항에 있어서, 상기 대량 저장 메모리는 시스템 데이터 저장부를 더 포함하고, 이에 의해 상기 프로세서는 상기 시스템 데이터를 사용함으로써 상기 카드와 상기 처리 시스템 간에 전송되는 데이터에 동작할 수 있는 것을 특징으로 하는 애드-온 카드.
  12. 제1항에 있어서, 상기 대량 저장장치는 사용자 데이터 저장부를 더 포함하는 것을 특징으로 하는 애드-온 카드.
  13. 처리 시스템에 착탈가능하게 결합하기 위한 애드-온 카드에 있어서,
    상기 애드-온 카드가 상기 처리 시스템에 결합되는 동안 상기 처리 시스템과 통신하는 인터페이스;
    동작순서를 저장하는 프로그램 저장 메모리;
    상기 인터페이스 및 상기 프로그램 저장 메모리에 결합된 처리 유닛; 및
    상기 처리 유닛에 결합된 대량 저장 메모리를 포함하고, 이에 의해 상기 프로세서는 상기 동작순서에 따라 상기 인터페이스와 상기 대량 저장 메모리 간에 전송되는 데이터에 작용할 수 있는 것을 특징으로 하는 애드-온 카드.
  14. 제13항에 있어서, 상기 처리 유닛, 상기 인터페이스 및 상기 프로그램 저장 메모리가 접속되게 하는 카드 버스; 및
    상기 대량 저장 메모리가 상기 카드 버스에 접속되게 하는 대량 저장장치 인터페이스를 더 포함하는 것을 특징으로 하는 애드-온 카드.
  15. 제14항에 있어서, 상기 대량 저장장치 인터페이스는 비선형 인터페이스인 것을 특징으로 하는 애드-온 카드.
  16. 제13항에 있어서, 상기 대량 저장 메모리는 적어도 한 추가 동작순서를 저장하는 프로그램 메모리부를 포함하는 것을 특징으로 하는 애드-온 카드.
  17. 제13항에 있어서, 상기 인터페이스와 상기 대량 저장 메모리 간에 전송되는 상기 데이터는 연속 매체인 것을 특징으로 하는 애드-온 카드.
  18. 제17항에 있어서, 상기 프로세서와 상기 대량 저장 메모리에 접속되어 상기 인터페이스와 상기 대량 저장 메모리 간에 전송되는 데이터를 버퍼링하는 데이터 캐시 메모리를 더 포함하고, 상기 전송되는 데이터는 비선형으로 저장되는 것을 특징으로 하는 애드-온 카드.
  19. 제17항에 있어서, 상기 대량 저장 메모리의 적어도 일부는 사전에 기록된 연 속 매체를 포함하는 것을 특징으로 하는 애드-온 카드.
  20. 제17항에 있어서, 상기 적어도 한 동작순서는 압축해체 프로그램을 포함하는 것을 특징으로 하는 애드-온 카드.
  21. 제17항에 있어서, 상기 적어도 한 동작순서는 압축 프로그램을 포함하는 것을 특징으로 하는 애드-온 카드.
  22. 제13항에 있어서, 상기 인터페이스와 상기 대량 저장 메모리 간에 전송되는 상기 데이터는 내비게이션 데이터베이스인 것을 특징으로 하는 애드-온 카드.
  23. 제13항에 있어서, 상기 적어도 한 동작순서는 데이터 암호화/복호화 루틴을 포함하는 것을 특징으로 하는 애드-온 카드.
  24. 제13항에 있어서, 상기 적어도 한 동작순서는 음성 인식 루틴을 포함하는 것을 특징으로 하는 애드-온 카드.
  25. 제13항에 있어서, 상기 대량 저장 메모리는 플래시 메모리인 것을 특징으로 하는 애드-온 카드.
  26. 애드-온 카드가 착탈가능하게 결합될 수 있는 호스트 시스템을 동작시키는 방법에 있어서,
    애드-온 카드에 처리 유닛 및 비휘발성 대량 저장 메모리를 제공하는 단계;
    상기 애드-온 카드를 상기 호스트 시스템에 부착되게 하는 단계;
    상기 처리 유닛으로 상기 대량 저장 메모리에 저장된 데이터를 처리하는 단계; 및
    상기 처리된 데이터를 호스트에 공급하는 단계를 포함하는 것을 특징으로 하는 호스트 시스템 동작방법.
  27. 제26항에 있어서, 상기 처리단계는 상기 호스트에 없는 애플리케이션에 따라 수행되는 것을 특징으로 하는 호스트 시스템 동작방법.
  28. 제26항에 있어서, 상기 대량 저장 메모리에 저장된 상기 데이터는 상기 애드-온 카드를 상기 호스트 시스템에 부착되게 하는 상기 단계 전에 기록되는 것을 특징으로 하는 호스트 시스템 동작방법.
  29. 제26항에 있어서, 상기 대량 저장 메모리에 저장된 상기 데이터는 연속 매체인 것을 특징으로 하는 호스트 시스템 동작방법.
  30. 제29항에 있어서, 상기 대량 저장 메모리에 저장된 상기 데이터는 압축된 형태로 저장되고, 상기 처리단계는 압축해체인 것을 특징으로 하는 호스트 시스템 동작방법.
  31. 제26항에 있어서, 상기 대량 저장 메모리에 저장된 상기 데이터는 내비게이션 데이터베이스인 것을 특징으로 하는 호스트 시스템 동작방법.
  32. 제26항에 있어서, 상기 대량 저장 메모리에 저장된 상기 데이터는 암호화된 형태로 저장되고, 상기 처리단계는 복호화인 것을 특징으로 하는 호스트 시스템 동작방법.
  33. 제26항에 있어서, 복수의 애플리케이션들이 상기 애드-온 카드에 저장되고, 상기 방법은, 상기 복수의 애플리케이션들로부터 애플리케이션이 선택되게 하는 단계를 더 포함하고, 상기 처리단계는 상기 선택된 애플리케이션에 따라 수행되는 것을 특징으로 하는 호스트 시스템 동작방법.
  34. 제26항에 있어서, 상기 애드-온 카드를 상기 호스트 시스템에 부착되게 하는 단계에 이어 상기 호스트로부터 상기 애드-온 카드로 애플리케이션을 다운로드하는 단계를 더 포함하고, 상기 처리단계는 상기 다운로드된 애플리케이션에 따라 수행되는 것을 특징으로 하는 호스트 시스템 동작방법.
  35. 제26항에 있어서, 상기 애드-온 카드를 상기 호스트 시스템에 부착되게 하는 단계에 이어, 상기 대량 저장 메모리에 저장된 데이터를 상기 처리 유닛으로 처리하기 전에,
    상기 호스트로부터의 데이터를 상기 애드-온 카드에 제공하는 단계;
    상기 호스트로부터 제공된 데이터를 상기 처리 유닛으로 처리하는 단계; 및
    상기 처리 유닛으로 처리된 상기 호스트로부터의 데이터를 상기 대량 저장 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 호스트 시스템 동작방법.
  36. 애드-온 카드가 착탈가능하게 결합될 수 있는 호스트 시스템을 동작시키는 방법에 있어서,
    애드-온 카드에 처리 유닛 및 비휘발성 대량 저장 메모리를 제공하는 단계;
    상기 애드-온 카드를 상기 호스트 시스템에 부착되게 하는 단계;
    상기 호스트로부터 공급된 데이터를 상기 처리 유닛으로 처리하는 단계; 및
    상기 처리된 데이터를 상기 대량 저장 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 호스트 시스템 동작방법.
  37. 제36항에 있어서, 상기 처리단계는 상기 호스트에 없는 애플리케이션에 따라 수행되는 것을 특징으로 하는 호스트 시스템 동작방법.
  38. 제36항에 있어서, 상기 대량 저장 메모리에 저장된 상기 데이터는 연속 매체 인 것을 특징으로 하는 호스트 시스템 동작방법.
  39. 제38항에 있어서, 상기 대량 저장 메모리에 저장된 상기 데이터는 압축된 형태로 저장되고, 상기 처리단계는 압축해체인 것을 특징으로 하는 호스트 시스템 동작방법.
  40. 제36항에 있어서, 상기 대량 저장 메모리에 저장된 상기 데이터는 암호화된 형태로 저장되고, 상기 처리단계는 암호화인 것을 특징으로 하는 호스트 시스템 동작방법.
  41. 제36항에 있어서, 복수의 애플리케이션들이 상기 애드-온 카드에 저장되고, 상기 방법은, 상기 복수의 애플리케이션들로부터 애플리케이션이 선택되게 하는 단계를 더 포함하고, 상기 처리단계는 상기 선택된 애플리케이션에 따라 수행되는 것을 특징으로 하는 호스트 시스템 동작방법.
  42. 제36항에 있어서, 상기 애드-온 카드를 상기 호스트 시스템에 부착되게 하는 단계에 이어 상기 호스트로부터 상기 애드-온 카드로 애플리케이션을 다운로드하는 단계를 더 포함하고, 상기 처리단계는 상기 다운로드된 애플리케이션에 따라 수행되는 것을 특징으로 하는 호스트 시스템 동작방법.
  43. 애드-온 카드가 착탈가능하게 결합될 수 있는 호스트 시스템을 동작시키는 방법에 있어서,
    처리 유닛 및 비휘발성 대량 저장 메모리를 포함하는 애드-온 카드를 제공하는 단계, 상기 대량 저장 메모리는 복수의 애플리케이션들이 저장되는 프로그램 메모리부를 포함하고;
    상기 애드-온 카드를 상기 호스트 시스템에 결합시키는 단계;
    상기 애플리케이션들 중 하나가 선택되게 하는 단계;
    상기 호스트로부터 데이터를 상기 애드-온 카드에 수신하는 단계;
    상기 호스트로부터 수신된 데이터를 상기 선택된 애플리케이션에 따라 상기 처리 유닛으로 처리하는 단계; 및
    상기 처리된 데이터를 호스트에 공급하는 단계를 포함하는 것을 특징으로 하는 호스트 시스템 동작방법.
  44. 제43항에 있어서, 상기 선택된 애플리케이션은 상기 호스트에 없는 애플리케이션인 것을 특징으로 하는 호스트 시스템 동작방법.
  45. 제43항에 있어서, 상기 호스트로부터 수신된 데이터는 연속 매체인 것을 특징으로 하는 호스트 시스템 동작방법.
  46. 제45항에 있어서, 상기 선택된 애플리케이션은 데이터 압축해제인 것을 특징 으로 하는 호스트 시스템 동작방법.
  47. 제45항에 있어서, 상기 선택된 애플리케이션은 데이터 압축인 것을 특징으로 하는 호스트 시스템 동작방법.
  48. 제43항에 있어서, 상기 선택된 애플리케이션은 복호화인 것을 특징으로 하는 호스트 시스템 동작방법.
  49. 제43항에 있어서, 상기 선택된 애플리케이션은 암호화인 것을 특징으로 하는 호스트 시스템 동작방법.
  50. 제43항에 있어서, 선택된 애플리케이션은 음성 인식인 것을 특징으로 하는 호스트 시스템 동작방법.
  51. 처리 시스템에 착탈가능하게 결합되는 애드-온 카드를 동작시키는 방법에 있어서,
    상기 애드-온 카드를 제1 호스트 시스템에 결합하는 단계, 이와 같이 결합된 동안에;
    상기 제1 호스트로부터의 데이터를 상기 카드에 전송하고;
    상기 제1 호스트로부터의 상기 데이터를 제1 애플리케이션에 따라 처리하고;
    상기 제1 애플리케이션에 따라 처리된 상기 데이터를 상기 카드에 저장하며;
    상기 애드-온 카드를 상기 제1 호스트 시스템으로부터 분리하는 단계;
    상기 애드-온 카드를 제2 호스트 시스템에 결합하는 단계, 이와 같이 결합된 동안에,
    상기 카드로부터 상기 저장된 데이터를 상기 제2 호스트에 전송하고;
    상기 저장된 데이터를 제2 애플리케이션에 따라 처리하며,
    상기 카드가 상기 호스트들 중 상기 적어도 한 호스트에 부착된 동안 수행되는 처리의 애플리케이션이 없는 것을 특징으로 하는 애드-온 카드 동작방법.
  52. 제51항에 있어서, 상기 제1 애플리케이션은 데이터 압축이고, 상기 제2 애플리케이션은 데이터 압축해제인 것을 특징으로 하는 애드-온 카드 동작방법.
  53. 제51항에 있어서, 상기 제1 애플리케이션은 데이터 암호화이고, 상기 제2 애플리케이션은 데이터 복호화인 것을 특징으로 하는 애드-온 카드 동작방법.
  54. 애드-온 카드가 착탈가능하게 부착될 수 있는 호스트 처리 시스템을 동작시키는 방법에 있어서,
    애드-온 카드에 처리 유닛을 제공하는 단계, 복수의 애플리케이션들이 상기 결합된 호스트/카드 시스템에 저장되고;
    상기 애드-온 카드를 상기 호스트 시스템에 결합하는 단계;
    상기 애플리케이션들 중 하나가 선택되게 하는 단계;
    데이터를 상기 선택된 애플리케이션에 따라 처리하는 단계를 포함하고, 상기 처리는 애플리케이션 레벨에서 상기 카드의 처리 유닛 및 상기 호스트 처리 시스템에 의해 함께 수행되는 것을 특징으로 하는 호스트 처리 시스템 동작방법.
  55. 제54항에 있어서, 상기 처리는 복수의 작업들을 실행하는 것을 포함하고, 상기 작업들 중 적어도 하나는 상기 호스트 처리 시스템에 의해 실행되고, 상기 작업들 중 적어도 하나는 상기 카드의 처리 유닛에 의해 실행되도록 상기 호스트에 의해 할당되는 것을 특징으로 하는 호스트 처리 시스템 동작방법.
  56. 제1 장치 및 제2 장치를 포함하는 안전 통신 시스템에서, 상기 제1 장치는,
    음성 데이터를 수신하는 데이터 수신기 및 상기 제2 장치와 통신하는 전송기를 구비한 제1 호스트 유닛; 및
    상기 제1 호스트 유닛에 착탈가능하게 결합하는 제1 카드 유닛을 포함하고, 상기 제1 호스트 유닛은 상기 음성 데이터를 처리를 위해 상기 제1 카드 유닛에 전송하고, 상기 제1 카드 유닛은 상기 제1 호스트 유닛으로부터 수신된 상기 음성 데이터에 대해 데이터 처리를 수행하며, 상기 처리된 데이터는 상기 제1 카드 유닛으로부터 상기 제1 호스트 유닛에 리턴되며,
    상기 제2 장치는,
    상기 제1 장치와 통신하는 수신기, 상기 처리된 데이터는 상기 제1 호스트 유닛으로부터 상기 제2 호스트 유닛에 수신되며;
    상기 제2 호스트 유닛에 착탈가능하게 결합하는 제2 카드 유닛을 포함하고, 상기 제2 호스트 유닛은 상기 제1 호스트 유닛으로부터 수신된 상기 처리된 데이터를 전송하고, 상기 제2 카드 유닛은 상기 처리된 데이터로부터 상기 음성 데이터를 재구성하고, 상기 재구성된 음성 데이터는 상기 제2 카드 유닛으로부터 상기 제2 호스트 유닛에 리턴되는 것을 특징으로 하는 안전 통신 시스템.
  57. 제56항에 있어서, 상기 제1 카드 유닛은 수신된 상기 음성 데이터를 암호화하고, 상기 제2 카드 유닛은 상기 암호화된 음성 데이터를 복호화하는 것을 특징으로 하는 안전 통신 시스템.
  58. 제56항에 있어서, 상기 제1 카드 유닛은 수신된 상기 음성 데이터를 압축하고, 상기 제2 카드 유닛은 상기 압축된 음성 데이터를 압축해제하는 것을 특징으로 하는 안전 통신 시스템.
  59. 안전 장치에 있어서,
    사용자로부터 사용자 입력들을 수신하는 입력 메카니즘을 구비한 호스트 유닛, 상기 사용자 입력들은 사용자 검증을 위한 보안 데이터를 포함하고;
    상기 호스트 유닛에 착탈가능하게 결합하는 카드 유닛을 포함하고, 상기 호스트 유닛은 상기 보안 데이터를 상기 사용자 검증을 위해 상기 카드 유닛에 전송 하고, 상기 카드 유닛은 상기 호스트 유닛으로부터 수신된 상기 보안 데이터를 사용하여 상기 사용자 검증을 수행하며, 사용자 검증 결과는 상기 카드 유닛으로부터 상기 호스트 유닛에 리턴되고,
    상기 사용자 검증 결과는 상기 사용자가 인증된 사용자이며 상기 사용자는 상기 안전 장치를 사용하도록 인증된 것을 특징으로 하는 안전장치.
  60. 제59항에 있어서, 상기 보안 데이터는 상기 사용자로부터 캡처된 음성 샘플을 포함하는 것을 특징으로 하는 안전장치.
  61. 제59항에 있어서, 상기 보안 데이터는 암호를 포함하는 것을 특징으로 하는 안전장치.
  62. 제59항에 있어서, 상기 보안 데이터는 상기 사용자의 생체측정 데이터를 포함하는 것을 특징으로 하는 안전장치.
KR1020047001651A 2001-08-02 2002-08-02 대량 저장장치를 구비한 착탈가능한 컴퓨터 KR100906967B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/924,185 2001-08-02
US09/924,185 US7418344B2 (en) 2001-08-02 2001-08-02 Removable computer with mass storage
PCT/US2002/024541 WO2003012657A2 (en) 2001-08-02 2002-08-02 Removable computer with mass storage

Publications (2)

Publication Number Publication Date
KR20040025709A KR20040025709A (ko) 2004-03-24
KR100906967B1 true KR100906967B1 (ko) 2009-07-08

Family

ID=25449832

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047001651A KR100906967B1 (ko) 2001-08-02 2002-08-02 대량 저장장치를 구비한 착탈가능한 컴퓨터

Country Status (6)

Country Link
US (3) US7418344B2 (ko)
KR (1) KR100906967B1 (ko)
CN (2) CN1983227B (ko)
AU (1) AU2002313720A1 (ko)
GB (1) GB2395323B (ko)
WO (1) WO2003012657A2 (ko)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5673218A (en) 1996-03-05 1997-09-30 Shepard; Daniel R. Dual-addressed rectifier storage device
US6956757B2 (en) * 2000-06-22 2005-10-18 Contour Semiconductor, Inc. Low cost high density rectifier matrix memory
US7418344B2 (en) * 2001-08-02 2008-08-26 Sandisk Corporation Removable computer with mass storage
US7554842B2 (en) * 2001-09-17 2009-06-30 Sandisk Corporation Multi-purpose non-volatile memory card
US6807106B2 (en) * 2001-12-14 2004-10-19 Sandisk Corporation Hybrid density memory card
GB0205751D0 (en) * 2002-03-12 2002-04-24 James Barry E Improvements relating to memory devices
US20030182663A1 (en) * 2002-03-25 2003-09-25 Sony Corporation System and method for sharing user comments on TV screens
US20030226119A1 (en) * 2002-05-28 2003-12-04 Chi-Tung Chang Integrated circuit design of a standard access interface for playing compressed music
JP2004038287A (ja) * 2002-06-28 2004-02-05 Toshiba Corp 携帯可能電子媒体の発行システム及び発行方法と携帯可能電子媒体
US7773754B2 (en) * 2002-07-08 2010-08-10 Broadcom Corporation Key management system and method
KR100499686B1 (ko) * 2002-07-23 2005-07-07 주식회사 디지털웨이 메모리 확장 가능한 휴대용 플래쉬 메모리 장치
US20040039871A1 (en) * 2002-08-26 2004-02-26 Colin Stobbs Replacement memory device
US7305535B2 (en) * 2003-04-17 2007-12-04 Sandisk Corporation Memory cards including a standard security function
US9015390B2 (en) * 2003-04-25 2015-04-21 Micron Technology, Inc. Active memory data compression system and method
CN1599338A (zh) * 2003-09-19 2005-03-23 皇家飞利浦电子股份有限公司 增强无线局域网安全的方法
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
US8234421B2 (en) * 2004-04-21 2012-07-31 Stmicroelectronics, Inc. Smart card with selectively allocatable data buffers and associated methods
KR101152388B1 (ko) 2004-05-31 2012-06-05 삼성전자주식회사 휴대용 저장장치와 디바이스에서 다수의 어플리케이션을수행하는 방법 및 장치
US9032192B2 (en) 2004-10-28 2015-05-12 Broadcom Corporation Method and system for policy based authentication
US8601283B2 (en) * 2004-12-21 2013-12-03 Sandisk Technologies Inc. Method for versatile content control with partitioning
US20070168292A1 (en) * 2004-12-21 2007-07-19 Fabrice Jogand-Coulomb Memory system with versatile content control
TW201017514A (en) * 2004-12-21 2010-05-01 Sandisk Corp Memory system with versatile content control
US8051052B2 (en) * 2004-12-21 2011-11-01 Sandisk Technologies Inc. Method for creating control structure for versatile content control
GB0427973D0 (en) * 2004-12-21 2005-01-26 Falanx Microsystems As Microprocessor systems
US8504849B2 (en) * 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
JP4817836B2 (ja) 2004-12-27 2011-11-16 株式会社東芝 カードおよびホスト機器
US8161524B2 (en) * 2005-01-13 2012-04-17 Samsung Electronics Co., Ltd. Method and portable storage device for allocating secure area in insecure area
WO2006075892A1 (en) 2005-01-13 2006-07-20 Samsung Electronics Co., Ltd. Method and device for consuming rights objects having inheritance structure
US8181266B2 (en) * 2005-01-13 2012-05-15 Samsung Electronics Co., Ltd. Method for moving a rights object between devices and a method and device for using a content object based on the moving method and device
WO2006133059A2 (en) * 2005-06-03 2006-12-14 Mo-Dv, Inc. Content protection system and method for memory cards in electronic devices
US7748031B2 (en) * 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
DE102005045149A1 (de) * 2005-09-22 2007-04-05 Giesecke & Devrient Gmbh Verfahren zur Initialisierung und/oder Personalisierung eines tragbaren Datenträgers
US7827398B2 (en) * 2005-10-27 2010-11-02 Hewlett-Packard Company Method for offloading encryption and decryption of a message received at a message server to remote end devices
EP1942503B1 (en) * 2005-10-28 2011-12-28 Shenzhen Chipsbank Technologies Co., Ltd. Memory device with control chip having compatible configure function and manufacturing method thereof
US7667996B2 (en) * 2006-02-15 2010-02-23 Contour Semiconductor, Inc. Nano-vacuum-tubes and their application in storage devices
US20070207800A1 (en) * 2006-02-17 2007-09-06 Daley Robert C Diagnostics And Monitoring Services In A Mobile Network For A Mobile Device
JP2007233590A (ja) * 2006-02-28 2007-09-13 Oki Electric Ind Co Ltd 携帯型電子装置、個人認証システム、個人認証方法、及び半導体装置の製造方法
CN101042738B (zh) * 2006-03-24 2011-01-26 中国银联股份有限公司 一种实现智能卡多应用的方法及数据处理装置
CN101042737B (zh) * 2006-03-24 2011-05-25 中国银联股份有限公司 一种智能卡及向智能卡中创建应用、插入对象的方法
US8639939B2 (en) 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
US8266711B2 (en) * 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US8140843B2 (en) * 2006-07-07 2012-03-20 Sandisk Technologies Inc. Content control method using certificate chains
US20100138652A1 (en) * 2006-07-07 2010-06-03 Rotem Sela Content control method using certificate revocation lists
US8245031B2 (en) 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US8613103B2 (en) * 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US7966039B2 (en) * 2007-02-02 2011-06-21 Microsoft Corporation Bidirectional dynamic offloading of tasks between a host and a mobile device
US9025770B1 (en) * 2007-06-28 2015-05-05 Trend Micro Incorporated Dynamic encryption arrangement with a wireless device and methods therefor
US7813157B2 (en) * 2007-10-29 2010-10-12 Contour Semiconductor, Inc. Non-linear conductor memory
KR101012398B1 (ko) * 2008-03-03 2011-02-11 삼성전자주식회사 O/s를 이용하는 유닛 및 이를 이용하는 화상형성장치
US20090225621A1 (en) * 2008-03-05 2009-09-10 Shepard Daniel R Split decoder storage array and methods of forming the same
WO2009149061A2 (en) * 2008-06-02 2009-12-10 Contour Semiconductor, Inc. Diode decoder array with non-sequential layout and methods of forming the same
US8825929B2 (en) 2008-07-31 2014-09-02 Chevron U.S.A. Inc. System and method of processing seismic data on a co-processor device
US8281056B2 (en) * 2008-07-31 2012-10-02 Chevron U.S.A. Inc. System and method of processing data on a peripheral device configured to communicate with a host computing system over a peripheral BUS
US9437238B2 (en) 2008-07-31 2016-09-06 Chevron U.S.A. Inc. System and method of processing seismic data on a co-processor device
US20100047166A1 (en) * 2008-08-20 2010-02-25 Kanner Steven B Antibodies and related molecules that bind to 58p1d12 proteins
US8325556B2 (en) * 2008-10-07 2012-12-04 Contour Semiconductor, Inc. Sequencing decoder circuit
US9104618B2 (en) * 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
US20100185843A1 (en) * 2009-01-20 2010-07-22 Microsoft Corporation Hardware encrypting storage device with physically separable key storage device
DE102009019051B4 (de) * 2009-04-28 2011-07-07 Giesecke & Devrient GmbH, 81677 Speichermedium mit Verschlüsselungseinrichtung
US8583561B2 (en) * 2009-04-28 2013-11-12 Mastercard International Incorporated Apparatus, method, and computer program product for providing a quality control mechanism for the contactless interface of a dual-interface card
US8726043B2 (en) 2009-04-29 2014-05-13 Empire Technology Development Llc Securing backing storage data passed through a network
US8352679B2 (en) * 2009-04-29 2013-01-08 Empire Technology Development Llc Selectively securing data and/or erasing secure data caches responsive to security compromising conditions
US8924743B2 (en) * 2009-05-06 2014-12-30 Empire Technology Development Llc Securing data caches through encryption
US8799671B2 (en) 2009-05-06 2014-08-05 Empire Technology Development Llc Techniques for detecting encrypted data
US9330282B2 (en) * 2009-06-10 2016-05-03 Microsoft Technology Licensing, Llc Instruction cards for storage devices
US8321956B2 (en) 2009-06-17 2012-11-27 Microsoft Corporation Remote access control of storage devices
WO2011001486A1 (ja) * 2009-06-30 2011-01-06 パナソニック株式会社 データ処理方法、半導体集積回路
US8200281B2 (en) * 2009-07-14 2012-06-12 Greenliant Llc Secure removable card and a mobile wireless communication device
US20110224810A1 (en) * 2010-03-12 2011-09-15 Spansion Llc Home and building automation
US20110225327A1 (en) * 2010-03-12 2011-09-15 Spansion Llc Systems and methods for controlling an electronic device
US8166244B2 (en) * 2010-03-12 2012-04-24 Sandisk Il Ltd. Emulating a computer system on a removable storage device
WO2012025728A1 (en) 2010-08-27 2012-03-01 Fxi Technologies As Electronics Device
TWI499317B (zh) * 2010-09-08 2015-09-01 Greenliant Llc 安全可移除式卡片及行動無線通訊裝置
CN102402464A (zh) * 2010-09-17 2012-04-04 中国移动通信有限公司 一种智能卡中的存储器的数据擦写方法及智能卡
US8941981B2 (en) 2010-10-22 2015-01-27 Xplore Technologies Corp. Computer with high intensity screen
CN103064814A (zh) * 2011-10-21 2013-04-24 鸿富锦精密工业(深圳)有限公司 具有多路接口的电子装置
WO2013063769A1 (en) * 2011-11-02 2013-05-10 Intel Corporation Extending capabilities of existing devices without making modifications to existing devices
US20130151755A1 (en) 2011-12-12 2013-06-13 Reuven Elhamias Non-Volatile Storage Systems with Go To Sleep Adaption
US9411721B2 (en) 2013-11-15 2016-08-09 Sandisk Technologies Llc Detecting access sequences for data compression on non-volatile memory devices
CN105159697A (zh) * 2015-07-09 2015-12-16 捷鼎国际股份有限公司 存贮装置的韧体更新结构及方法
US20170031676A1 (en) * 2015-07-27 2017-02-02 Deja Vu Security, Llc Blockchain computer data distribution
CN111162911B (zh) * 2019-12-27 2022-03-15 郑州信大捷安信息技术股份有限公司 一种plc固件升级系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047342A (en) 1998-03-31 2000-04-04 Apple Computer, Inc. PC processing card for decoding operations

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2204973A (en) 1987-05-19 1988-11-23 Gen Electric Co Plc Data processing system
GB2204971A (en) 1987-05-19 1988-11-23 Gen Electric Co Plc Transportable security system
JP2580171B2 (ja) * 1987-05-29 1997-02-12 ソニー株式会社 バスライン用コネクタ
JPH07121630B2 (ja) * 1987-05-30 1995-12-25 株式会社東芝 Icカ−ド
US5172338B1 (en) * 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
EP0392895B1 (en) * 1989-04-13 1995-12-13 Sundisk Corporation Flash EEprom system
US5120939A (en) 1989-11-09 1992-06-09 At&T Bell Laboratories Databaseless security system
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5481464A (en) * 1991-04-10 1996-01-02 U-Ship, Inc. System for collecting and shipping items
US5388841A (en) * 1992-01-30 1995-02-14 A/N Inc. External memory system having programmable graphics processor for use in a video game system or the like
AU3777593A (en) 1992-02-26 1993-09-13 Paul C. Clark System for protecting computers via intelligent tokens or smart cards
WO1993023809A1 (en) 1992-05-15 1993-11-25 Connective Strategies, Inc. Isdn-based high speed communication system
US5237611A (en) * 1992-07-23 1993-08-17 Crest Industries, Inc. Encryption/decryption apparatus with non-accessible table of keys
US5428787A (en) * 1993-02-23 1995-06-27 Conner Peripherals, Inc. Disk drive system for dynamically selecting optimum I/O operating system
US5418837A (en) * 1993-07-30 1995-05-23 Ericsson-Ge Mobile Communications Inc. Method and apparatus for upgrading cellular mobile telephones
US5666516A (en) * 1993-12-16 1997-09-09 International Business Machines Corporation Protected programmable memory cartridge having selective access circuitry
US5530232A (en) * 1993-12-22 1996-06-25 Datamark Services, Inc. Multi-application data card
JPH08123917A (ja) * 1994-09-02 1996-05-17 Mitsubishi Electric Corp Icカード及びicカードシステム
GB9502864D0 (en) * 1995-02-14 1995-04-05 Digicash Bv Cryptographic reduced instruction set processor
FR2732790B1 (fr) * 1995-04-05 1997-05-09 Gemplus Card Int Systeme de collecte d'informations pour lecteurs de cartes
US5721781A (en) * 1995-09-13 1998-02-24 Microsoft Corporation Authentication system and method for smart card transactions
EP0798673A1 (en) * 1996-03-29 1997-10-01 Koninklijke KPN N.V. Method of securely loading commands in a smart card
US6038551A (en) * 1996-03-11 2000-03-14 Microsoft Corporation System and method for configuring and managing resources on a multi-purpose integrated circuit card using a personal computer
US6055314A (en) * 1996-03-22 2000-04-25 Microsoft Corporation System and method for secure purchase and delivery of video content programs
TW396706B (en) * 1996-07-09 2000-07-01 Matra Comm Radiocommunication equipment having a secure communication mode, and an extension unit forming part of the equipment
US5877975A (en) * 1996-08-13 1999-03-02 Nexcom Technology, Inc. Insertable/removable digital memory apparatus and methods of operation thereof
US5923884A (en) * 1996-08-30 1999-07-13 Gemplus S.C.A. System and method for loading applications onto a smart card
US6023713A (en) * 1996-09-06 2000-02-08 Intel Corporation Optimized CD/DVD authoring employing block reallocation
US6038320A (en) * 1996-10-11 2000-03-14 Intel Corporation Computer security key
JPH10124399A (ja) * 1996-10-22 1998-05-15 Mitsubishi Electric Corp Icメモリカード
US6268788B1 (en) * 1996-11-07 2001-07-31 Litronic Inc. Apparatus and method for providing an authentication system based on biometrics
DE69827405T2 (de) * 1997-03-24 2005-05-19 Visa International Service Association, Foster City System und verfahren für eine mehrzweckchipkarte die eine nachträgliche speicherung einer anwendung auf dieser karte ermöglicht
US6088761A (en) * 1997-03-31 2000-07-11 Sun Microsystems, Inc. Reduced pin system interface
EP0875850A3 (en) * 1997-04-28 2004-04-21 Matsushita Electric Industrial Co., Ltd. Information transfer system
JPH11110267A (ja) * 1997-10-02 1999-04-23 Oki Electric Ind Co Ltd データ保存装置、データ保存方法及び記録媒体
US5987155A (en) * 1997-10-27 1999-11-16 Dew Engineering And Development Limited Biometric input device with peripheral port
CN1150760C (zh) * 1997-12-10 2004-05-19 汤姆森许可公司 用于保护通过nrss接口的音频/视频数据的方法
US6097618A (en) * 1997-12-11 2000-08-01 Cypress Semiconductor Corporation Apparatus and method for correcting data in a non-volatile random access memory
ID23654A (id) * 1997-12-15 2000-05-11 Matsushita Electric Ind Co Ltd Disk optik, apparatus rekam disk optik, dan metode rekam disk optik untuk mempermudah dubbing, media simpanan untuk menyimpan program rekam disk optik untuk mempermudah dubbing, apparatus reproduksi disk optik, dan metode reproduksi disk optik
DE29806899U1 (de) 1998-04-17 1998-05-28 Illies Thomas Coprozessorkarte für Computer
US6092202A (en) * 1998-05-22 2000-07-18 N*Able Technologies, Inc. Method and system for secure transactions in a computer system
US6108236A (en) * 1998-07-17 2000-08-22 Advanced Technology Materials, Inc. Smart card comprising integrated circuitry including EPROM and error check and correction system
US6558320B1 (en) 2000-01-20 2003-05-06 Medtronic Minimed, Inc. Handheld personal data assistant (PDA) with a medical device and method of using the same
US6298477B1 (en) * 1998-10-30 2001-10-02 Sun Microsystems, Inc. Method and apparatus for selecting ways to compile at runtime
US6532152B1 (en) * 1998-11-16 2003-03-11 Intermec Ip Corp. Ruggedized hand held computer
US6209077B1 (en) * 1998-12-21 2001-03-27 Sandia Corporation General purpose programmable accelerator board
US6191663B1 (en) * 1998-12-22 2001-02-20 Intel Corporation Echo reduction on bit-serial, multi-drop bus
JP2000215172A (ja) * 1999-01-20 2000-08-04 Nec Corp 個人認証システム
FI114434B (fi) * 1999-05-11 2004-10-15 Nokia Corp Viestintälaitteet
US7729986B1 (en) * 1999-07-30 2010-06-01 Visa International Service Association Smart card transactions using wireless telecommunications network
DE19935945A1 (de) 1999-07-30 2001-02-22 Giesecke & Devrient Gmbh Verfahren, Datenträger sowie System zur Authentisierung eines Benutzers und eines Endgeräts
JP2001184472A (ja) * 1999-12-27 2001-07-06 Hitachi Ltd アプリケーションプログラムの供給方法、スマートカード、スクリプト供給方法、端末装置およびアプリケーションプログラムを有する記憶媒体
US20010047473A1 (en) 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
US6779066B2 (en) 2000-05-01 2004-08-17 Matsushita Electric Industrial Co., Ltd. Module having application-specific program stored therein
JP3456528B2 (ja) * 2000-05-10 2003-10-14 日本電気株式会社 携帯電話機およびデータの秘匿方法
GB0026803D0 (en) 2000-11-02 2000-12-20 Multimedia Engineering Company Securized method for communicating and providing services on digital networks and implementing architecture
US6824064B2 (en) * 2000-12-06 2004-11-30 Mobile-Mind, Inc. Concurrent communication with multiple applications on a smart card
US6745944B2 (en) * 2001-06-20 2004-06-08 Capital One Financial Corporation System and method for identifying applications loaded in a smart card
US20030018587A1 (en) * 2001-07-20 2003-01-23 Althoff Oliver T. Checkout system for on-line, card present equivalent interchanges
US7418344B2 (en) * 2001-08-02 2008-08-26 Sandisk Corporation Removable computer with mass storage
US6590464B1 (en) * 2002-03-13 2003-07-08 Faraday Technology Corp. Resistor-capacitor oscillator circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047342A (en) 1998-03-31 2000-04-04 Apple Computer, Inc. PC processing card for decoding operations

Also Published As

Publication number Publication date
WO2003012657A2 (en) 2003-02-13
WO2003012657A3 (en) 2003-05-30
GB2395323A (en) 2004-05-19
CN1287271C (zh) 2006-11-29
US20030028699A1 (en) 2003-02-06
US7418344B2 (en) 2008-08-26
US20080288700A1 (en) 2008-11-20
AU2002313720A1 (en) 2003-02-17
US8176335B2 (en) 2012-05-08
CN1537270A (zh) 2004-10-13
US20080295167A1 (en) 2008-11-27
CN1983227B (zh) 2012-05-30
GB0401853D0 (en) 2004-03-03
GB2395323B (en) 2006-01-11
KR20040025709A (ko) 2004-03-24
CN1983227A (zh) 2007-06-20

Similar Documents

Publication Publication Date Title
KR100906967B1 (ko) 대량 저장장치를 구비한 착탈가능한 컴퓨터
EP1688859B1 (en) Application authentification system
US8233624B2 (en) Method and apparatus for securing data in a memory device
US7406604B2 (en) Method for protecting a memory card, and a memory card
CN100555933C (zh) 具有加密系统的便携式数据存储装置
JP3456528B2 (ja) 携帯電話機およびデータの秘匿方法
US20060126422A1 (en) Memory device and electronic device using the same
EP2099154A2 (en) On-chip storage, creation, and manipulation of an encryption key
JP4816975B2 (ja) アプリケーション認証システム
EP1050821A2 (en) Memory units, data processing units, and methods therefor
JP2004104539A (ja) メモリカード
KR20030071460A (ko) 메모리카드
WO2006120938A1 (ja) メモリカード、アプリケーションプログラム保持方法、及び保持プログラム
JP2002329180A (ja) 無線通信機能を有するメモリカード及びそのデータ通信方法
US8032663B2 (en) Information processing system, information processing apparatus and integrated circuit chip
US20040083378A1 (en) Method, systems and devices for handling files while operated on in physically different computer devices
JP2008109276A (ja) 携帯可能電子装置
JP2009032003A (ja) 携帯可能電子装置、端末装置、認証システム、及び認証方法
JP2006227679A (ja) Usbメモリキー
US20040111626A1 (en) Security processing of unlimited data size
GB2416054A (en) Secured communication system
TW595185B (en) Mobile phone with an encryption function

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee