[go: up one dir, main page]

KR20040015818A - 기입장치, 반도체 메모리 카드, 기입프로그램 및 기입방법 - Google Patents

기입장치, 반도체 메모리 카드, 기입프로그램 및 기입방법 Download PDF

Info

Publication number
KR20040015818A
KR20040015818A KR10-2004-7000779A KR20047000779A KR20040015818A KR 20040015818 A KR20040015818 A KR 20040015818A KR 20047000779 A KR20047000779 A KR 20047000779A KR 20040015818 A KR20040015818 A KR 20040015818A
Authority
KR
South Korea
Prior art keywords
memory card
semiconductor memory
writing
content
user area
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR10-2004-7000779A
Other languages
English (en)
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 KR20040015818A publication Critical patent/KR20040015818A/ko
Ceased legal-status Critical Current

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/077Constructional details, e.g. mounting of circuits in the carrier
    • G06K19/0772Physical layout of the record carrier
    • G06K19/07732Physical layout of the record carrier the record carrier having a housing or construction similar to well-known portable memory devices, such as SD cards, USB or memory sticks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • 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/077Constructional details, e.g. mounting of circuits in the carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00746Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Storage Device Security (AREA)
  • Read Only Memory (AREA)

Abstract

카드 라이터(101)는 SD 메모리 카드의 슬라이드 스위치를 구성하는 슬라이딩 부재(1)가 제1 위치에 있는지 또는 제2 위치에 있는지를 검출한다. 호스트 컴퓨터(100)의 디바이스 드라이버(60)는 슬라이딩 부재가 제1 위치에 있는 경우 SD 메모리 카드내의 메모리 영역을 기입 가능한 상태로 설정한다. 한편, 슬라이딩 부재가 제2 위치에 있는 경우, 디바이스 드라이버는 메모리 영역의 일부를 제외하고는 메모리 영역을 기입 불가능한 상태로 설정한다. 이 예외 부분은 보호 영역(25)으로서, 보호 영역(25)은 기입이 불가능한 상태로 설정되어 있는 경우라도 기입이 가능하다.

Description

기입장치, 반도체 메모리 카드, 기입프로그램 및 기입방법{WRITING APPARATUS, SEMICONDUCTOR MEMORY CARD, WRITING PROGRAM, AND WRITING METHOD}
기록된 데이터를 의도적이지 않게 삭제한다거나 재기입하는 것을 방지하기 위하여, 반도체 메모리 카드를 기입 가능한 상태 또는 기입 불가능한 상태로 설정하는데 이용되는 슬라이드 스위치가 반도체 메모리 카드에 제공된다. 사용자는 슬라이드 스위치의 슬라이딩 부재를 손가락으로 이동시켜 반도체 메모리 카드를 기입 가능한 상태 또는 기입 불가능한 상태로 설정하는 것이 가능하다. 이러한 반도체 메모리 카드에 대하여 종래의 기입장치가 어떻게 데이터를 기입하는지에 대하여 설명한다. 반도체 메모리 카드에 데이터를 기입하는 경우, 종래의 기입장치내에서 실행되는 애플리케이션 프로그램은 디바이스 드라이버에 데이터의 기입을 요구한다. 이에 따라, 디바이스 드라이버는 슬라이딩 부재의 위치를 검출한다. 슬라이딩 부재가 기입 가능한 상태를 나타내는 위치에 설정되어 있는 경우, 디바이스 드라이버는 애플리케이션에 의해 요구된 데이터를 기입한다. 한편, 슬라이딩 부재가 기입 불가능한 상태를 나타내는 위치에 설정되어 있는 경우, 디바이스 드라이버는 데이터를 기입하지 않고 슬라이드 스위치가 기입 불가능한 상태를 나타내는 위치로 설정되어 있다는 것을 애플리케이션에게 통지한다. 메모리 카드가 기입 불가능한 상태로 설정되어 있다고 통지되었다면, 애플리케이션은 데이터의 기입이 실패했다는 것을 사용자에게 알리고, 슬라이드 스위치를 기입이 가능한 상태를 나타내는 위치로 설정할 것을 사용자에게 요청한다.
상술한 바와 같은 데이터 기입이 행해지는 타이밍은 애플리케이션의 종류에 따라 달라진다. 에디터(editor)나 브라우저(browser) 등의 최종 사용자 애플리케이션(end user application)을 실행할 때에, 파일 보존(file save) 조작과 같은 사용자의 명시적인 조작에 따라 데이터의 기입요구가 행해진다. 이에 대하여, 시스템 애플리케이션이 실행될 때에는, 사용자가 어떠한 조작을 행하지 않아도 데이터의 기입요구가 행해지게 된다.
사용자의 조작에 불구하고, 시스템 애플리케이션이 디바이스 드라이버에게 데이터의 기입을 요구하고, 슬라이드 스위치가 기입이 불가능한 상태를 나타내는 위치에 설정되어 있기 때문에 데이터의 기입이 행해질 수 없는 경우에는, 결국 디바이스 드라이버는 사용자에게 스위치의 설정 변경을 요청하게 된다. 사용자의 관점에서 보면, 사용자가 데이터의 기입을 지시하지 않았음에도, 애플리케이션이 스위치의 설정변경을 사용자에게 촉구하는 것은 그다지 바람직하지 않다. 특히, 사용자가 반도체 메모리 카드에 기록된 데이터가 파괴되는 것을 방지하기 위하여 슬라이드 스위치를 기입 불가능한 상태를 나타내는 위치로 의도적으로 설정하는 경우도 바람직하지 않다. 사용자의 의도에도 불구하고 단지 애플리케이션 때문에 스위치의 설정을 기입 가능한 상태로 변경하는 것은, 사용자의 입장에서는 애플리케이션에게 지시를 받는 것과 같아서 불쾌한 일이 될 것이다. 또한, 시스템 애플리케이션의 소프트웨어 하우스나 개발자는 자신들의 프로그램내에서 기입 불가능한 상태로 설정된 메모리 카드에 대하여 기입 동작을 요구하는 것을 피하려는 경향이 있다. 기입 불가능한 상태로 설정될 수 있는 메모리 카드에는 기입 동작을 행하지 않도록 시스템 애플리케이션을 프로그램 하고자 하는 경우, 시스템 애플리케이션을 개발하는 프로그래머는 심리적으로 압박을 받게 되며, 시스템 애플리케이션의 개발에 지장을 받게 될 것이다.
본 발명은 데이터를 반도체 메모리 카드에 기입하기 위한 기입장치, 반도체 메모리 카드, 기입프로그램 및 기입방법에 관한 것으로, 특히 반도체 메모리 카드가 데이터의 보호를 위한 슬라이드 스위치를 구비하는 경우의 기술의 개선에 관한 것이다.
도 1은 기입장치의 구성을 나타내는 도면.
도 2의 (a) 및 (b)는 반도체 메모리 카드의 외관을 나타내는 도면.
도 3의 (a)는 제1 위치에 고정된 슬라이드 스위치를 구성하는 슬라이딩 부재(1)를 구비한 반도체 메모리 카드를 나타내는 도면.
도 3의 (b)는 제2 위치에 고정된 슬라이딩 부재(1)를 구비한 반도체 메모리 카드를 나타내는 도면.
도 4는 슬라이드 스위치를 확대하여 나타내는 도면
도 5는 호스트 컴퓨터(100), 카드 라이터(card writer: 101) 및 반도체 메모리 카드(102)의 각각의 계층 구조를 나타내는 도면.
도 6은 카드 라이터(101)의 내부 구성을 나타내는 도면.
도 7의 (a)는 슬라이딩 부재(1)를 제2 위치로 설정한 상태에서 반도체 메모리 카드(102)를 카드 라이터(101)에 장착한 경우의 슬라이드 위치 검출부(7)를 나타내는 도면.
도 7의 (b)는 슬라이딩 부재(1)를 제1 위치로 설정한 상태에서 반도체 메모리 카드(102)를 카드 라이터(101)에 장착한 경우의 슬라이드 위치 검출부(7)를 나타내는 도면.
도 8은 디바이스 드라이버(60)에 의한 상태정보의 생성 과정을 나타내는 흐름도.
도 9는 상태정보의 일례를 나타내는 도면.
도 10의 (a) 및 (b)는 반도체 메모리 카드(102)의 상태를 검사하기 위해 도 5에 도시된 계층에 의해 수행되는 동작을 나타내는 도면.
도 11은 제2 실시예에 따른 호스트 컴퓨터(100), 카드 라이터(101) 및 반도체 메모리 카드(102)의 각각의 계층구조를 나타내는 도면.
도 12는 SD 메모리 카드의 하드웨어적 구성을 나타내는 도면.
도 13은 시큐어 기입 프로토콜의 시퀀스를 나타내는 도면.
도 14는 SD 메모리 카드로부터 콘텐츠 및 이용조건정보를 판독하기 위해 수행되는 동작을 나타내는 도면.
도 15는 데이터를 SD 메모리 카드에 기입하기 위해 수행되는 동작을 나타내는 도면.
도 16은 제3 실시예에 따른 SD 메모리 카드의 내부 구성을 나타내는 도면.
본 발명은 반도체 메모리 카드의 슬라이드 스위치의 설정 변경을 사용자에게 요구하지 않고, 시스템 애플리케이션 프로그램에 의해 반도체 메모리 카드에 데이터를 기입할 수 있는 기입장치를 제공하는 것을 목적으로 한다.
이러한 본 발명의 목적은 애플리케이션 프로그램으로부터의 지시에 따라 반도체 메모리 카드내의 사용자 영역에 데이터를 기입하는 기입장치에 의해 달성된다. 본 발명의 기입장치는 상기 반도체 메모리 카드의 표면에 제공되어 수동으로 이동시킬 수 있는 슬라이딩 부재의 위치에 따라 상기 사용자 영역이 기입 가능한 상태인지 또는 기입 불가능한 상태인지를 인식하는 인식부와; 기입 가능한 상태인 사용자 영역에 데이터를 기입하고 사용자 영역이 기입 불가능한 상태인 경우, 예외적인 기입 동작을 수행하는 기입부를 구비한다. 예외적인 기입 동작은 애플리케이션 프로그램에 의해 발행된 특정의 기입 커맨드에 따라 수행되어, 반도체 메모리 카드내의 사용자 영역과 상이한 메모리 영역에 데이터를 기입한다.
이러한 구성에 의하면, 시스템 애플리케이션은 반도체 메모리 카드에 저장된 데이터가 의도적이지 않게 삭제되는 것을 방지하기 위해 사용자가 슬라이딩 부재를 설정하는 경우라도, 반도체 메모리 카드에 데이터를 기입할 수 있다. 이 시스템 애플리케이션에 의하면, 슬라이드 스위치의 설정변경을 사용자에게 요청하지 않고도 이러한 기입 동작을 수행할 수 있다. 다시 말해서, 슬라이드 스위치에 의해 설정된 기입 불가능한 상태에도 불구하고, 시스템 애플리케이션은 사용자를 귀찮게 하지 않으면서 반도체 메모리 카드에 데이터를 기입할 수 있다. 이러한 특징에 의하면 시스템 애플리케이션의 개발에 자유도를 증가시키게 되고, 프로그램의 개발을 더 효율적으로 할 수 있게 해준다.
여기에서, 반도체 메모리 카드는 인증회로를 구비한다. 특정의 기입 커맨드에는 (i) 기입장치가 반도체 메모리 카드의 인증을 행하도록 하는 명령과 (ii) 반도체 메모리 카드의 인증회로가 기입장치의 인증을 행하도록 하는 명령이 포함된다. 예외적인 기입 동작은 기입장치와 반도체 메모리 카드간의 상호인증이 성공적인 경우에만 수행된다.
이러한 구성에 의하면, 슬라이드 스위치가 기입 불가능한 상태로 설정된 메모리 카드는 상호인증 처리가 성공적으로 수행되는 경우에만 예외적으로 기입이 가능하다. 즉, 예외적인 기입 동작은 상호인증 처리를 지시하는 권리를 갖는 애플리케이션에 의해서만 수행되며, 모든 애플리케이션에 허용된다는 것은 아니다.
또한, 부분적으로 기입 가능한 상태로 설정된 메모리 카드에는 시스템 애플리케이션만이 데이터를 기입할 수 있기 때문에, 최종 사용자 애플리케이션은 메모리 영역에 데이터를 기입할 수 없다. 즉, 이러한 구성에 의해 사용자에 의한 의도적이지 않은 삭제를 방지한다고 하는 본래의 목적을 달성하게 되는 것이다.
(제1 실시예)
이하, 본 발명의 제1 실시예에 따른 기입장치를 설명한다. 도 1은 기입장치의 구성을 나타낸다. 도 1에 도시되어 있는 바와 같이, 기입장치는 호스트컴퓨터(100)와 카드 라이터(101)를 구비하며, 반도체 메모리 카드(102)에 데이터를 기입한다. 호스트 컴퓨터(100)와 카드 라이터(101)는 USB 케이블을 통해 접속되어 있다. 반도체 메모리 카드(102)로는 SD(시큐어 디지털) 메모리 카드와 플래시 메모리 카드의 2가지 유형가 있다. 반도체 메모리 카드(102)는 그 유형에는 관계없이 EEPROM과 콘트롤러(20)를 내장하고 있다. SD 메모리 카드에는 보호 영역이 있고 플래시 메모리 카드에는 보호 영역이 없다는 것이, SD 메모리 카드가 플래시 메모리 카드와 상이한 점이다. 여기에서, 보호 영역이라는 것은 반도체 메모리 카드에 접속된 디바이스가 액세스할 수 있는 메모리 영역으로서, 반도체 메모리 카드(102)와 디바이스간의 상호인증 처리과정이 성공적으로 수행되는 경우에만 액세스가 가능하다. 이러한 보호 영역에 라이센스관리나 과금관리에 필요한 데이터가 기록된다. 이와 달리, 상호인증의 처리과정이 필요없이 액세스할 수 있는 메모리 영역은 사용자 데이터 영역이라 한다.
반도체 메모리 카드(102)는 도 2의 (a) 및 (b)에 도시된 것과 같은 외관을 갖고 있다. 이 반도체 메모리 카드(102)는 길이가 대략 32.0mm, 폭이 대략 24.0mm, 두께가 대략 2.1mm이고, 손가락으로 잡을 수 있을 정도의 소형 사이즈(우표 사이즈 정도)이다. 반도체 메모리 카드(102)의 하면 아래에는 카드 라이터(101)와의 접속을 위한 9개의 커넥터가 제공되며, 그 측면에는 슬라이드 스위치가 제공되어 있다. 사용자는 슬라이드 스위치를 구성하는 슬라이딩 부재(1)를 커넥터측의 제2 위치나 그 반대측의 제1 위치로 이동시킬 수 있다. 도 3의 (a)는 슬라이딩 부재가 제1 위치로 설정되어 있는 것을 나타내며, 도 3의 (b)는 슬라이딩부재가 제2 위치로 설정되어 있는 것을 나타낸다. 제2 위치로 설정되어 있는 슬라이딩 부재(1)는 사용자가 반도체 메모리 카드(102), 즉 카드내에 내장되어 있는 EEPROM을 "기입 불가능한" 상태로 설정하고자 한다는 것을 나타내고 있으며, 제1 위치로 설정된 슬라이딩 부재(1)는 사용자가 반도체 메모리 카드(102), 즉 카드내에 내장되어 있는 EEPROM을 "기입 가능한" 상태로 설정하고자 한다는 것을 나타낸다.
"사용자의 의도를 나타낸다"는 것은 슬라이딩 부재(1)가 반도체 메모리 카드(102)를 구성하는 어떠한 구성요소와도 연동하고 있지 않다는 것을 의미한다. 슬라이딩 부재(1)는 반도체 메모리 카드(102)내에 제공된 회로를 물리적으로 연결 또는 차단하는 것과 같은 기능을 수행하는 구성요소라기 보다는 일종의 장식에 불과하다. 이것은 반도체 메모리 카드(102)가 소형이고 저비용으로 제조되어야 하기 때문이다. 이를 위하여, 반도체 메모리 카드(120)의 내부 회로를 연결하거나 차단하는 메커니즘을 제공하는 것이 실질적으로 곤란하다. 제1 위치 또는 제2 위치에 설정된 슬라이딩 부재에 따라 어떤 동작이 수행되는지를 결정하기 위해 스위치 설정을 검출하는 카드 라이터(101)와 컴퓨터 호스트(100)에 의한다.
도 4는 슬라이드 스위치를 확대하여 나타낸 도면이다. 슬라이드 스위치는 노치(2), 이 노치(2)의 바닥면(3)에 제공된 안내홈(4)을 포함함으로써, 사용자가 슬라이딩 부재(1)를 안내홈(4)을 따라 이동시킬 수 있게 된다. 바닥면(3)의 중간에는 돌출부(5)가 있다. 슬라이딩 부재(1)는 돌출부(5)와 체결이 이루어져서 제1 위치 또는 제2 위치에 고정된다. 이상으로, 반도체 메모리 카드(102)의 설명을 마친다.
다음으로, 호스트 컴퓨터(100), 카드 라이터(101) 및 반도체 메모리 카드(102)의 각각의 내부 구성에 대하여 설명한다.
도 5는 호스트 컴퓨터(100), 카드 라이터(101) 및 반도체 메모리 카드(102)의 각각의 계층 구조를 나타낸다. 반도체 메모리 카드(102)는 메모리부(10)와 콘트롤러(20)를 구비하며, 메모리부의 위에 콘트롤러가 위치하도록 배치되어 있다. 카드 라이터(101)는 하드웨어(30)의 위에 펌웨어(40)가 배치된 구성을 갖는다. 호스트 컴퓨터(100)는 하드웨어, 디바이스 드라이버(60) 및 애플리케이션 프로그램(50)이 위로부터 이 순서대로 배치된 구성을 갖는다.
먼저, 반도체 메모리 카드(102)의 구성요소(즉, 메모리부(10)와 콘트롤러(20))에 대하여 설명한다.
메모리부(10)는 EEPROM을 포함하며, 호스트 컴퓨터(50)에 포함된 애플리케이션 프로그램(50)으로부터 액세스 가능하게 되어 있다. 메모리부(10)의 상세한 설명은 이하의 제2 실시예에서 할 것이기 때문에, 제1 실시예에서의 설명은 여기까지만 하는 것으로 한다.
콘트롤러(20)는 애플리케이션 프로그램(50)으로부터의 요구에 따라 반도체 메모리 카드(102)내의 메모리부(10)에 기록된 데이터의 판독 및 기입을 행한다. 콘트롤러(20)에 의한 판독 동작 및 기입 동작에 대한 상세한 설명은 제2 실시예에서 할 것이기 때문에, 제1 실시예에서의 설명은 여기까지만 하는 것으로 한다.
카드 라이터(101)의 구성요소(즉, 하드웨어(30)와 펌웨어(40))에 대하여 설명한다.
하드웨어(30)는 반도체 메모리 카드(102)를 접속하기 위한 플러그와, 반도체 메모리 카드(102)의 슬라이드 스위치를 구성하는 슬라이딩 부재의 위치를 검출하기 위한 슬라이드 위치 검출부를 구비한다.
도 6은 카드 라이터(101)의 내부 구성을 나타낸다. 반도체 메모리 카드(102)를 카드 라이터(101)에 장착하기 위해서는, 반도체 메모리 카드(102)의 커넥터가 도 6에 도시된 플러그(6)에 삽입되어야 한다. 반도체 메모리 카드(102)가 장착될 때 슬라이딩 부재(1)와 접하는 위치에 슬라이드 위치 검출부(7)가 제공된다. 슬라이드 위치 검출부(7)는 상호 대향하는 2개의 금속편(8, 9)으로 구성되며, 금속편(9)은 U자형으로 구부러져 있다. 도 7의 (a)에 도시되어 있는 바와 같이, 슬라이딩 부재(1)가 제2 위치로 설정된 카드 라이터(101)에 반도체 메모리 카드(102)가 장착될 때, 금속편(9)의 U자형으로 굴곡된 부분이 슬라이딩 부재(1)에 의해 눌려져서 금속편(8)의 단부와 접촉하게 된다. 한편, 도 7의 (b)에 도시되어 있는 바와 같이, 슬라이딩 부재(1)가 제1 위치로 설정된 카드 라이터(101)에 반도체 메모리 카드(102)가 장착될 때, U자형으로 굴곡된 부분은 가압되지 않기 때문에, 2개의 금속편(7, 8)은 접촉되지 않은 비접촉 상태를 유지하게 된다. 이러한 2개의 금속편간의 접촉 및 비접촉을 전기적으로 검출함으로써, 슬라이딩 부재(1)가 제2 위치에 있는지 또는 제1 위치에 있는지가 검출된다[슬라이드 스위치가 제공되지 않은 반도체 메모리 카드(102)가 카드 라이터(101)에 장착될 때에는 2개의 금속편(8, 9)이 비접촉 상태를 유지하도록 슬라이드 위치 검출부(7)가 구성된다는 것에주의].
펌웨어(40)는 USB 케이블을 통해 호스트 컴퓨터(100)의 디바이스 드라이버(60)로부터 조회(inquiry)를 수신한다. 이러한 조회에 따라, 펌웨어(40)는 반도체 메모리 카드(102)의 슬라이딩 부재(1)가 제2 위치에 있는지 또는 제1 위치에 있는지를 호스트 컴퓨터(100)에 알려준다. 이 때, 펌웨어(40)는 카드 라이터(101)에 장착된 반도체 메모리 카드의 유형이 SD 메모리 카드인지 또는 플래시 메모리 카드인지를 검출하여, 이 검출된 결과를 호스트 컴퓨터에 알려준다.
다음으로, 호스트 컴퓨터(100)의 구성요소(즉, 애플리케이션 프로그램(50)과 디바이스 드라이버(60))에 대하여 설명한다.
애플리케이션 프로그램(50)에는 시스템 애플리케이션과 최종 사용자 애플리케이션이라고 하는 2가지 유형이 있다. 최종 사용자 애플리케이션은, 예컨대 문서와 이미지를 작성하는 에디터 또는 월드와이드웹(www) 사이트를 브라우징하는 브라우저이며, 사용자의 조작에 따라 반도체 메모리 카드(102)에 대해 기입 동작을 수행한다. 한편, 시스템 애플리케이션은, 예컨대 라이센스관리, 과금관리 또는 개인정보관리를 위한 프로그램이며, 사용자의 조작과는 독립적으로 반도체 메모리 카드(102)에 대한 기입 동작을 수행한다. 본 실시예에 있어서, 시스템 애플리케이션과 최종 사용자 애플리케이션과의 구별은 SD 메모리 카드의 보호 영역을 액세스하는데 필요한 상호인증 처리가 각각의 애플리케이션에 대해 가능한지 여부에 기초하여 이루어진다. 상호인증 처리가 가능한 애플리케이션은 시스템 애플리케이션이며, 상호인증 처리가 불가능한 애플리케이션은 최종 사용자 애플리케이션이다. 상호인증 처리를 수행하기 위하여, 애플리케이션은 디바이스키를 소유할 필요가 있다. 디바이스키는 본 실시예에 따른 기입장치와 같은 각각의 디바이스에 고유한 것으로서, SD 메모리 카드를 액세스할 수 있는 정보이다. 디바이스키는 SD 메모리 카드에 있어서의 저작권보호 기술 등의 표준화를 위한 단체와, 애플리케이션 프로그램을 개발하는 소프트웨어 하우스가 정식의 계약을 체결하는 것을 조건으로 하여 이 단체에 의해 교부된다. 이러한 계약에는 통상 사용자의 조작에 따라 데이터를 보호 영역에 자유롭게 재기입하는 애플리케이션의 개발을 금지하는 조항이 포함된다. 따라서, 이러한 시스템 애플리케이션은 보호 영역에 데이터를 기입할 수 있다고 해도 사용자로부터 지시를 받았음에도 불구하고 보호 영역에 데이터를 기입하지는 않는다.
디바이스 드라이버(60)는 호스트 컴퓨터에 의해 1개의 "드라이브"로서 인식되어 있는 카드 라이터(101)에 대하여, (ⅰ)초기화, (ⅱ)상태관리 및 (ⅲ)데이터의 입출력을 포함하는 동작을 수행한다. 드라이브의 상태관리를 수행하기 위하여, 디바이스 드라이버(60)의 API(애플리케이션 프로그램 인터페이스)는 카드 라이터(101)에 장착된 반도체 메모리 카드(102)가 기입 가능 상태인지 또는 기입 불가능 상태인지를 검사하는 함수(함수 DDchkSDCard)를 포함한다. 함수 DDchkSDCard의 인자는 상태가 관리되어야 하는 카드 라이터(101)의 드라이브 이름이다. "드라이브 이름"이라는 것은 호스트 컴퓨터(100)에 의해 인식된 "드라이버"를 식별하는 정보를 말한다.
예를 들어, 카드 라이터(101)에 드라이버 이름 "E:"가 할당되고 드라이브 E의 상태를 조회하는 경우, 애플리케이션 프로그램(50)은 함수 DDchkSDCard(E:)를 호출하기 위해 드라이브 이름 "E:"를 지정한다. 함수 DDchkSDCard는 카드 라이터(101)에 장착된 반도체 메모리 카드(102)의 상태에 대한 상태정보를 복귀값으로 한다. 디바이스 드라이버(60)에 의해 상태정보를 생성하기 위한 과정은 본 실시예의 특징이 되며, 이하 도 8에 도시된 흐름도를 참조하여 상세하게 설명한다.
도 8은 상태정보를 생성하기 위하여 디바이스 드라이버(60)에 의해 수행되는 처리과정을 나타내는 흐름도이다. 단계 S1에서, 디바이스 드라이버(60)는 카드 라이터(101)에 장착된 반도체 메모리 카드(102)의 슬라이딩 부재(1)의 위치에 대하여 카드 라이터(101)에 포함된 펌웨어(40)에게 조회한다. 슬라이딩 부재(1)의 위치에 대한 응답을 수신하게 되면(단계 S2), 디바이스 드라이버(60)는 단계 S3에서 반도체 메모리 카드의 유형(SD 메모리 카드, 플래시 메모리 카드)에 대하여 카드 라이터(101)에 있는 펌웨어에게 조회한다. 카드의 유형에 대한 응답을 수신하게 되면, 디바이스 드라이버(60)는 단계 S4에서 단계 S5로 진행하여, 슬라이딩 부재(1)가 제1 위치에 있는지 또는 제2 위치에 있는지를 판정한다. 슬라이딩 부재(1)가 제1 위치에 있다고 판정된 경우, 디바이스 드라이버(60)는 단계 S6에서 반도체 메모리 카드(102)가 기입 가능한 상태라고 인식한다. 다음으로, 단계 S7에서, 디바이스 드라이버(60)는 기입 가능한 상태를 나타내는 상태정보를 생성하고, 이 상태정보를 조회를 한 애플리케이션 프로그램(50)으로 되돌려 보낸다. 한편, 단계 S5에서 슬라이딩 부재(1)가 제2 위치에 있다고 판정된 경우, 디바이스 드라이버(60)는 단계 S8에서 카드의 유형이 SD 메모리 카드인지 또는 플래시 메모리 카드인지를 판정한다. 카드의 유형이 플래시 메모리 카드인 것으로 판정되면, 디바이스 드라이버(60)는 단계 S9에서 반도체 메모리 카드(102)가 기입 불가능한 상태인 것으로 인식한다. 다음으로, 단계 S12에서, 디바이스 드라이버(60)는 기입 가능한 상태를 나타내는 상태정보를 생성하고, 이 상태정보를 애플리케이션 프로그램(50)으로 보낸다.
한편, 단계 S8에서 카드의 유형이 SD 메모리 카드인 것으로 판정되면, 디바이스 드라이버(60)는 단계 S11에서 반도체 메모리 카드(102)가 "예외있는 기입 불가능한 상태"라고 인식한다. 다음으로, 단계 S12에서, 디바이스 드라이버(60)는 예외있는 기입 불가능한 상태라는 것을 나타내는 상태정보를 애플리케이션 프로그램(50)으로 보낸다.
"예외있는 기입 불가능한 상태"라는 것은 사용자 데이터 영역에 대한 기입 동작은 금지되지만 보호 영역에 대한 기입동작은 예외적으로 허용된다는 것을 의미한다. 즉, 제2 위치로 설정된 슬라이딩 부재(1)는 기본적으로 SD 메모리 카드를 기입 불가능한 상태로 설정함으로써, 사용자 데이터 영역에 대한 기입 동작을 금지시키게 된다. 그러나, 보호 영역에 대한 기입 동작은 예외적으로 계속 허용된다.
이러한 예외있는 기입 불가능한 상태에서, 사용자가 저장된 데이터를 의도적이지 않게 삭제해버리는 것을 피하기 위해 슬라이딩 부재(1)를 제2 위치로 설정해둔 경우라도, 시스템 애플리케이션은 반도체 메모리 카드(102)내의 보호 영역에 대한 기입 동작을 수행하도록 허용된다. 여기에서, 시스템 애플리케이션은 사용자가 슬라이드 스위치의 설정을 변경하지 않고도, 즉 사용자를 귀찮게 하지 않고도 상기와 같은 기입 동작을 수행하는 것이 허용된다. 또한, 슬라이드 스위치가 기입 불가능한 상태로 설정되면, 기입 동작은 보호 영역에 대해서만 예외적으로 허용된다. 또, 보호 영역에 기입 동작을 수행하는 것은 최종 사용자 애플리케이션이 아니라 시스템 애플리케이션이다. 다시 말해서, 이러한 예외있는 기입 불가능한 상태에서는, 저장된 데이터가 사용자의 의도적이지 않은 삭제로부터 보호된다.
도 9는 상태정보의 일례를 나타내는 도면이다. 상태정보는 2비트로 구성된다. 비트 패턴 "00"은 반도체 메모리 카드(102)가 기입 가능한 상태라는 것을 나타내며, "11"은 반도체 메모리 카드(102)가 기입 불가능한 상태라는 것을 나타낸다. 반도체 메모리 카드(102)가 플래시 메모리 카드인 경우, 상태정보는 "00" 또는 "11" 비트로 구성된다. "01" 비트 패턴은 반도체 메모리 카드(102)가 예외있는 기입 불가능한 상태라는 것을 나타낸다. 따라서, 반도체 메모리 카드(102)가 SD 메모리 카드인 경우, 상태정보는 "00" 또는 "01" 비트로 구성된다.
도 10의 (a) 및 (b)는 반도체 메모리 카드(102)의 상태를 검사하기 위하여 도 5에 도시된 계층에 의해 수행되는 동작을 도면이다. 함수 DDChkSDCard는 도 10의 (a)에 있는 화살표 ①로 나타나 있는 바와 같이 "DDChkSDCard(E:)"를 호출하여 수행되고, 디바이스 드라이버(60)는 화살표 ②와 ③으로 각각 나타나 있는 바와 같이, 슬라이딩 부재(1)의 위치와 카드의 종류에 대하여 펌웨어(40)에게 조회한다.
슬라이딩 부재(1)의 위치에 대한 조회에 따라, 펌웨어(40)는 참조기호 ※1로 나타나 있는 것과 같이 금속편끼리 접촉되어 있는지 또는 비접촉되어 있는지를 슬라이드 위치 검출부(7)에 의해 검출하고, 참조기호 ※2로 나타나 있는 바와 같이반도체 메모리 카드(102)의 카드 유형을 검출한다. 이러한 검출의 결과에 따라, 펌웨어(40)는 호스트 컴퓨터(100)의 디바이스 드라이버(60)에게 도 10의 (b)에 화살표 ④ 및 ⑤로 각각 나타나 있는 바와 같이 슬라이딩 부재(1)의 위치와 카드 유형에 대하여 통지한다. 이러한 통지를 수신하게 되면, 디바이스 드라이버(60)는 상태정보를 생성하고, 화살표 ⑥으로 나타나 있는 것과 같이 그 상태정보를 함수호출의 복귀를 위하여 애플리케이션 프로그램에게 보낸다.
이상 설명한 바와 같이, 본 실시예에 의하면, 시스템 애플리케이션은 슬라이드 스위치가 기입 불가능한 상태로 설정되어 있는 경우라도, 사용자를 귀찮게 하지 않으면서, 데이터를 SD 메모리 카드에 기입할 수 있다. 이러한 특징에 의하면 시스템 애플리케이션의 개발에 자유도를 증가시키게 되고, 프로그램의 개발을 더 효율적으로 할 수 있게 해준다.
본 실시예에서 반도체 메모리 카드(102)는 슬라이드 스위치를 갖는 것으로 설명하고 있지만, 슬라이드 스위치를 갖지 않는 반도체 메모리 카드도 가능하다. 이 경우, 도 8의 단계 S4 또는 S5에서, 기입 동작을 수행하여야 하는 반도체 메모리 카드가 일단 슬라이드 스위치를 갖지 않는 것으로 판정되면 그 반도체 메모리 카드는 기입 가능한 상태로 설정될 수도 있다.
(제2 실시예)
본 발명의 제2 실시예는 메모리 카드에 저장된 콘텐츠를 이용하기 위한 기입장치의 개량에 관한 것이다. 이러한 콘텐츠의 이용에 대한 애플리케이션은 2가지가 있다.
한가지 애플리케이션은 네트워크를 통하여 서버로부터 콘텐츠를 다운로드하여 SD 메모리 카드의 사용자 데이터 영역에 기입하며, 콘텐츠의 재생이나 복제 등의 "콘텐츠의 이용"을 실현하는 것이다.
다른 애플리케이션은 암호화 콘텐츠의 라이센스관리를 위한 LCM(Licensed Compliant Module)이다. LCM에 의한 라이센스관리라는 것은 SD 메모리 카드에서 보호 영역에 기록되어 있는 이용조건정보를 기입장치에 의한 콘텐츠의 이용에 따라 갱신하는 것이다.
콘텐츠의 이용을 실현하기 위하여, 콘텐츠가 어떻게 이용되는 것인지에 대한 조건을 규정하는 이용조건정보가 SD 메모리 카드의 보호 영역에 기록되어 있다. 이용조건정보는 각각의 콘텐츠에 대응하는 복수의 재생허가횟수 또는 복제허가횟수를 포함한다. LCM은 콘텐츠가 기입장치에 의해 복제 또는 재생될 때마다 재생허가횟수 또는 복제허가횟수를 감소(decrement)하여 이용조건정보를 갱신한다.
이하, 상술한 바와 같은 콘텐츠의 이용에 대한 이용조건정보를 재기입하는 동작에 대하여 설명한다.
도 11은 제2 실시예에 따른 호스트 컴퓨터(100), 카드 라이터(101) 및 반도체 메모리 카드(102)의 각각의 계층 구조를 나타낸다. 제2 실시예에 따른 디바이스 드라이버(60)의 API는 LCM에 함수 DDSecureWrite를 제공함으로써, LCM은 보호 영역에 데이터를 기입할 수 있게 된다. 도 11의 화살표 ①은 애플리케이션 프로그램(50)이 함수 DDSecureWrite를 호출하는 것을 모식적으로 나타내고 있다. 함수 DDSecureWrite에 대하여 2개의 인수가 있는데, (1)기입되는 데이터를 어드레싱하는포인터 및 (2)기입될 데이터의 사이즈가 인수로서 지정된다. 애플리케이션 프로그램(50)은 이용조건정보가 포함된 파일을 오픈하고 오픈된 파일의 어디에서 데이터의 기입을 시작할 지가 파일포인터에 의해 지정되고 나서, 함수 DDSecureWrite를 호출함으로써, 이용조건정보의 재기입을 디바이스 드라이버(60)에게 지시할 수 있다.
다음으로, 제2 실시예에 따른 펌웨어(40)의 개량에 대하여 설명한다. 함수 DDSecureWrite가 호출되면, 제2 실시예에 따른 펌웨어(40)는 디바이스 드라이버(60)로부터 데이터를 보호 영역에 기입하는 지시, 기록될 데이터 및 그 데이터의 사이즈를 수신하고, 보호 영역에 대한 기입 동작을 수행하기 위해 SD 메모리 카드에 포함된 콘트롤러(20)와 함께 기입 프로토콜을 수행한다. 도면에 있는 화살표 ②는 디바이스 드라이버(60)로부터 펌웨어(40)로 데이터를 전송하는 것을 모식적으로 나타내며, 화살표 ③은 펌웨어(40)와 콘트롤러(20)의 사이에서 수행되는 기입 프로토콜(시큐어 기입 프로토콜)을 모식적으로 나타낸다.
이하, 제2 실시예에 따른 SD 메모리 카드의 메모리부(10)의 개량에 대하여 설명한다 제2 실시예에서, 메모리부(10)는 도 12에 도시된 것과 같은 하드웨어 구성을 갖는다. 도 12는 SD 메모리 카드의 하드웨어 구성을 나타낸다. 도 12에 도시된 것과 같이, SD 메모리 카드의 메모리부(10)는 마스크 ROM(21)과 EEPROM(22)을 포함하며, 콘트롤러(20)를 통해 반도체 메모리 카드(102)의 커넥터에 접속되어 있다. 마스크 ROM(21)은 시스템 영역(23)과 히든 영역(24)을 포함한다. EEPROM(22)은 보호 영역(25)과 사용자 데이터 영역(26)을 포함한다.
시스템 영역(23)은 마스크 ROM의 일부 영역으로서, 매체 키 블록(MKB)과 매체 ID를 저장하고 있다. 시스템 영역(23)에 저장된 MKB와 매체 ID는 재기입이 불가능하다. MKB와 매체 ID는 SD 메모리 카드에 접속된 다른 기기에 의해 판독될 수 있다. 이 기기는 기기에 포함된 디바이스키 Kd뿐만 아니라 판독된 MKB와 매체 ID를 이용하여 미리 정해진 연산을 수행한다. 미리 정해진 연산이 바르게 수행되면, 기기는 정당한 암호화키 Kmu를 획득하게 된다.
히든 영역(24)은 시스템 영역(23)과 마찬가지로 마스크 ROM의 일부 영역으로서, 정당한 디바이스키 Kd를 이용하는 정확한 연산을 통해 다른 기기가 획득하는 암호화키 Kmu를 저장하고 있다.
보호 영역(25)은 EEPROM(22)의 일부 영역으로서 이용조건정보를 저장하고 있다.
사용자 데이터 영역(26)은 보호 영역(25)과 마찬가지로 EEPROM(22)의 일부 영역이다. 사용자 데이터 영역(26)은 기기의 정당성이 인증되는지 여부에 관계없이 기기로부터 액세스가 가능하다는 점에서 보호 영역(25)과 상이하다. 사용자 데이터 영역(26)은 암호화 콘텐츠를 저장하고 있다.
다음으로, 제2 실시예에 따른 콘트롤러(20)에 대하여 설명한다. 제2 실시예에서, SD 메모리 카드의 콘트롤러(20)는 펌웨어(40)로부터 SD 메모리 카드에 기입될 데이터를 수신하고, 기입 프로토콜을 수행함으로써 이 데이터를 SD 메모리 카드의 메모리부(10)에 기입한다. 도 12에서, 카드 라이터(101)에서 생성된 클록신호를 SD 메모리 카드에 입력시키기 위해 핀(5)이 사용된다. 콘트롤러(20)는 핀(5)을통해 클록신호를 수신하여 카드 라이터(101)와 SD 메모리 카드간의 동기 제어를 행한다. 콘트롤러(20)는 SD 메모리 카드에 기입될 데이터를 핀(1)뿐만 아니라 핀(7, 8, 9)을 통해서도 카드 라이터(101)로부터 수신한다. 콘트롤러(20)는 카드 라이터(101)로부터 핀(2)을 통해 커맨드도 수신한다. 또한, 콘트롤러(20)는 카드 라이터(101)에 대한 응답을 핀(2)을 통해 전송한다.
이하, 데이터를 SD 메모리 카드에 기입하기 위해 수행되는 기입 프로토콜에 대하여 설명한다. 보호 영역(25)에 데이터를 기입하기 위해 수행되는 기입 프로토콜은 데이터를 사용자 데이터 영역(26)에 기입하기 위해 수행되는 기입 프로토콜과 크게 상이하다. 데이터를 사용자 데이터 영역(26)에 기입하기 위한 프로토콜은 카드 라이터(101)가 기입 커맨드를 발행하는 것을 포함할 뿐이다. 이에 대하여, 보호 영역(25)에 데이터를 기입하기 위한 기입 프로토콜은 소위 시큐어 기입 프로토콜에 따라 기입 커맨드의 발행을 요구한다. 도 13은 시큐어 기입 프로토콜의 시퀀스를 나타낸다. 도 13에 있어서, 수직축은 시간축을 나타내며, 카드 라이터(101)로부터 SD 메모리 카드쪽으로 방향이 설정된 각각의 화살표(실선)는 펌웨어(40)로부터 발행된 커맨드를 모식적으로 나타낸다. SD 메모리 카드로부터 카드 라이터(101)쪽으로 방향이 설정된 각각의 화살표는 SD 메모리 카드에 포함된 콘트롤러(20)로부터의 응답을 모식적으로 나타낸다. 도 13에서, "SECURE WRITE MULTI BLOCK"은 기입 커맨드를 나타낸다. 도 13으로부터 명백하게 알 수 있는 바와 같이, SECURE WRITE MULTI BLOCK 커맨드 이전에 시큐어 기입 프로토콜에서 수행되어야 하는 동작이 많이 있다.
"GET MKB" 커맨드는 SD 메모리 카드의 시스템 영역에 저장된 MKB를 판독하는 것이다. 이 커맨드로 MKB를 획득하게 되면, 카드 라이터(101)의 펌웨어(40)는 제조업자와 MKB에 의해 제공된 디바이스키 Kd를 이용하는 미리 정해진 연산을 수행함으로써, 56비트의 암호화키 Km을 획득하게 된다.
"GET MID" 커맨드는 SD 메모리 카드의 시스템 영역에 저장된 매체 ID(MID)를 판독하는 것이다. 펌웨어(40)는 MID와 Km을 이용하는 미리 정해진 연산을 수행함으로써, 64비트 출력을 얻는다. 이 출력의 마지막 56비트는 암호화키 Kmu로서 지정되어 있다.
도 13에서, 점선으로 된 박스 부분은 인증 및 키 교환(AKE) 처리를 나타낸다. AKE 처리에서, 카드 라이터(101)와 SD 메모리 카드는 자신들의 각각의 정당성을 인증하기 위해 시도-응답형 상호인증을 수행한다. 자신들의 각각의 정당성을 인증하는 것이 실패하게 되면, 처리는 종료된다. 상호인증이 성공적으로 설정하게 되면, 카드 라이터(101)와 SD 메모리 카드간에 암호화키(세션키)가 공유된다.
"SET CER RN1" 커맨드는 SD 메모리 카드의 콘트롤러(20)에 시도값 RN1을 전달하는 커맨드이다. 이 시도값 RN1은 기입장치측에서 Kmu를 이용하여 생성 및 암호화된 난수이다.
"GET CER RN2" 커맨드는 시도값 RN2를 카드 라이터(101)로 되돌려 보내기 위해 SD 메모리 카드에 지시하는 커맨드이다. 이 시도값 RN2는 콘트롤러(20)에 의해 메모리 카드측에서 생성 및 암호화된 난수이다.
"SET CER RS2" 커맨드는 시도값 RN2에 대한 응답값 RS2를 SD 메모리 카드의콘트롤러(20)로 되돌려 보내기 위한 커맨드이다. 응답값 RS2는 시도값 RN2를 해독하는 펌웨어(40)가 Kmu를 이용하는 것에 의해 획득된다. 응답값 RS2를 수신하면, 콘트롤러(20)는 참조기호 ※3으로 표시되어 있는 것과 같이 시도값 RN2와 응답값 RS2가 서로 동일한지 여부를 판정한다. 이들 값이 동일하지 않다면, SD 메모리 카드의 콘트롤러(20)는 AKE 처리를 종료한다.
"GET CER RS1" 커맨드는 시도값 RN1에 대하여 회신하기 위한 응답값 RS1의 회신을 SD 메모리 카드의 콘트롤러(20)에 지시하는 커맨드이다. 응답값 RS1은 시도값 RN1을 해독하는 콘트롤러(20)가 Kmu를 이용하는 것에 의해 획득된다. 응답값 RS1을 수신하게 되면, 카드 라이터(101)의 펌웨어(40)는 참조기호 ※4로 표시되어 있는 것과 같이, 시도값 RN1과 응답값 RS1이 상호 동일한지 여부를 판정한다. 이들 값이 상호 동일하지 않다면, 카드 라이터(40)의 펌웨어(40)는 AKE 처리를 종료한다.
카드 라이터(101)와 콘트롤러(20)가 자신들 각각의 정당성을 상호인증하는 경우, 카드 라이터(101)와 콘트롤러(20)는 상술한 시도값 RN1과 응답값 RN2의 배타적 논리곱을 수행하고, 그 결과값은 Kmu를 이용하여 암호화하여 세션키 Ks를 획득할 수 있다.
"SECURE WRITE MULTI BLOCK" 커맨드는 보호 영역(25)에 데이터를 기입하기 위한 커맨드이다. SECURE WRITE MULTI BLOCK 커맨드에 의한 기입 동작은 블록(512비트) 단위로 수행된다. 보호 영역(25)에 기입될 데이터는 512비트마다 56비트의 세션키 Ks를 이용하여 암호화되고, SECURE WRITE MULTI BLOCK 커맨드에 의해 SD 메모리 카드로 전송된다. 이러한 SECURE WRITE MULTI BLOCK 커맨드에 의해, (1)기입될 블록의 수, (2)기입 모드 및 (3)기입 어드레스의 지정이 가능하다. 기입 모드는 기입될 데이터가 복수개의 애플리케이션 사이에서 공유되고 있는지 여부를 나타낸다. 복수개의 애플리케이션 사이에서 공유되는 데이터는, 예컨대 마스터 부트 레코드, 파티션 테이블, 파일 할당 테이블 및 디렉토리 엔트리이다. 복수개의 애플리케이션 사이에서 공유되지 않는 데이터는 이용조건정보와 암호화키이다.
이들 지정을 포함하는 커맨드를 수신하게 되면, SD 메모리 카드의 콘트롤러(20)는 SD 메모리 카드에 포함된 세션키를 이용하여 암호화된 데이터 블록을 해독하여, 원본 데이터를 획득하게 된다. 콘트롤러(20)는 해독된 데이터를 EEPROM(22)의 보호 영역(25)에 기입한다.
상술한 제2 실시예에서, 슬라이딩 부재(1)가 제2 위치에 설정되어 있으면, 사용자 데이터 영역(26), 즉 보호 영역(25)이외의 영역에 데이터를 기입하는 것이 금지된다. 따라서, 사용자 데이터 영역(26)에 저장된 암호화된 콘텐츠는 사용자에 의해 의도적이지 않게 삭제되버리거나 재기입하는 것으로부터 보호된다. 또한, 슬라이딩 부재(1)가 제2 위치에 설정되어 있는 경우라도, 보호 영역(25)에 저장된 이용조건정보를 재기입하는 것이 가능하다. 따라서, 이용조건정보에서의 재생허가횟수나 복제허가횟수는 콘텐츠가 이용(재생 또는 복제)될 때 증가(increment) 또는 감소(decrement)된다.
이하, 도 14와 도 15를 참조하여 상술한 이용조건정보의 갱신처리에 대하여 설명한다. 도 14는 콘텐츠와 SD 메모리 카드로부터 이용조건정보를 판독하기 위해수행되는 동작을 나타낸다. 콘텐츠의 재생이나 복제가 요청되면, 화살표 y1과 y2로 각각 표시된 것과 같이, 사용자 데이터 영역(26)으로부터 콘텐츠가 판독되고 보호 영역(25)으로부터 이용조건정보가 판독된다. 판독된 콘텐츠와 이용조건정보는 펌웨어(40)와 디바이스 드라이버(60)를 통해 호스트 컴퓨터(100)의 애플리케이션 프로그램(50)으로 전달된다. 호스트 컴퓨터(100)는 전달된 콘텐츠와 이용조건정보를 이용하여 콘텐츠를 재생한다[일반적으로는, 콘텐츠는 암호화되어 있고 이 콘텐츠의 암호화키는 보호 영역(25)에 기록되어 있기 때문에, 보호 영역(25)으로부터는 이용조건정보와 함께 암호화키가 판독된다].
도 15는 데이터를 SD 메모리 카드에 기입하기 위해 수행되는 동작을 나타낸다. SD 메모리 카드의 슬라이딩 부재(1)가 제2 위치에 설정되어 있는 것으로 가정하면, 사용자 데이터 영역에 저장된 콘텐츠를 삭제하기 위한 기입 동작을 포함하여 사용자 데이터 영역(26)에 데이터를 기입하기 위한 어떠한 기입 동작도 금지된다. 도면에서의 참조기호 "X" 표시는 사용자 데이터 영역(26)에의 기입이 모두 금지된 것을 모식적으로 나타낸다. 이러한 설정에 의해, 보호 영역(25)에의 기입 동작이 허용되는 동안 데이터를 의도적이지 않게 삭제되어버리는 것을 피하게 되며, 도면에서 화살표 y3과 y4로 표시되어 있는 것과 같이, 콘텐츠를 재생하기 위한 허가횟수가 3회에서 2회로 변경된다.
이상 설명한 바와 같이, 본 실시예에 의하면, 사용자 데이터 영역(26)에 기록된 콘텐츠를 의도적이지 않게 삭제해버리는 것으로부터 콘텐츠를 보호하면서, 콘텐츠의 이용에 따라 이용조건정보의 갱신이 가능하게 된다. 이에 의하면, 메모리카드가 슬라이딩 부재(1)에 의해 기입 불가능한 상태로 설정되어 있는 경우에도, 재생허가횟수나 복제허가횟수를 갱신할 수 있는 시스템 애플리케이션을 개발하는 것이 가능하게 된다
(제3 실시예)
제1 및 제2 실시예에의 디바이스 드라이버(60)는 슬라이딩 부재(1)의 위치에 따라 기입 가능한 상태 또는 기입 불가능한 상태를 나타내는 상태정보를 생성함으로써 메모리 카드의 상태를 관리한다. 그러나 제3 실시예에서는, SD 메모리 카드의 카드 콘트롤러(20)가 슬라이딩 부재(1)가 나타내는 기입 가능한 상태 또는 기입 불가능한 상태를 검출할 수 있다. 제1 실시예에서 설명한 것과 같이, 반도체 메모리 카드(102)의 내부 회로를 접속/단절시키기 위한 메커니즘을 제공하는 것은 용이하지 않다. 그러나, 이후의 기술개발에 의해 그와 같은 메커니즘을 갖는 반도체 메모리 카드가 등장할 가능성은 있기 때문에, 본 실시예는 그와 같은 메커니즘을 갖는 반도체 메모리 카드에 대한 것이다. 도 16은 본 실시예에 따른 SD 메모리 카드의 내부 구성을 나타낸다. 도 16에 도시된 SD 메모리 카드는 슬라이드 스위치의 슬라이딩 부재(1)의 위치를 검출하기 위한 검출부(27)를 구비한다. 검출부(27)에 의한 검출에 기초하여, 콘트롤러(20)는 SD 메모리 카드가 기입 가능한 상태인지 또는 기입 불가능한 상태인지를 인식한다.
SD 메모리 카드가 기입 가능한 상태인 경우, 기입장치는 사용자 데이터 영역(26)과 보호 영역(25)에 데이터를 기입한다. SD 메모리 카드가 예외있는 기입 불가능한 상태라면, 기입장치는 제2 실시예에서 설명한 바와 같은 시큐어 기입 프로토콜을 수행함으로써 데이터를 기입할 수 있지만, 사용자 데이터 영역(26)에 대해서는 어떠한 기입 동작도 수행할 수 없다. 다시 말해서, 제1 및 제2 실시예와 마찬가지로, 슬라이딩 부재(1)가 제2 위치에 설정되어 있는 경우에도 보호 영역(25)에 기입이 가능하다.
이상 설명한 바와 같이, 본 실시예에 의하면, 콘트롤러(20)는 슬라이딩 부재(1)의 위치에 의해 지시되는 바와 같이, 기입 가능한 상태 또는 기입 불가능한 상태로 SD 메모리 카드를 설정하도록 하는 동작을 수행하기 때문에, 기입장치에 디바이스 드라이버(60) 또는 카드 라이터(101)가 제공되지 않은 경우라도, 제1 및 제2 실시예와 마찬가지로 기입 동작이 수행된다.
본 실시예에 개시되어 있는 데이터 구조, 각각의 처리과정은 이하의 국제공개공보에 기초하는 것으로서, 보다 상세한 기술사항에 대해서는 이들 공보를 참조하시오.
WO 00/65602, 2000년 11월 2일 공개
WO 00/74054, 2000년 12월 7일 공개
WO 00/74059, 2000년 12월 7일 공개
WO 00/74060, 2000년 12월 7일 공개
WO 00/16821, 2001년 3월 8일 공개
이상, 상술한 실시예에 기초하여 설명하였지만, 상술한 실시예들은 최상의 효과를 얻기 위한 예에 지나지 않으며, 본 발명의 요지를 벗어남이 없이 다양한 변형이 가능하다. 이하, 변형예 (A) ∼ (J)에 대하여 설명한다.
(A) 제1 실시예에서는 디바이스 드라이버(60)가 슬라이딩 부재(1)의 위치에 따라 기입 가능한 상태 또는 기입 불가능한 상태를 나타내는 상태정보를 생성함으로써 메모리 카드의 상태를 관리하는 것이었지만, 상태관리는 카드 라이터(101)의 펌웨어(40)에 의해서도 수행될 수 있다.
(B) 상술한 실시예들에서는, 기입 가능한 상태 또는 기입 불가능한 상태의 설정이 슬라이딩 부재(1)의 위치에 의해 지시되었지만, 이러한 설정은 사용자에 의해 수동으로 조작하는 것이 가능하다면 임의의 다른 구성요소를 이용하여 지시하는 것도 된다. 예컨대, 이러한 설정을 나타내기 위해 반사용 스티커를 붙인다든가, 특정 부재[카세트 테이프용의 러그(lug)]를 제거시키게 할 수 있다.
(C) 제1 및 제2 실시예에서는, 카드 라이터(101)와 호스트 컴퓨터(100)가 개별 기기로서 제공되어 있지만, 호스트 컴퓨터(100)내에 카드 라이터(101)를 설치하는 것도 가능하다. 또, 호스트 컴퓨터(100)와 카드 라이터(101)로 구성된 기입장치에 대한 대안으로서, 기입장치를 일반 휴대기기, STB(셋톱박스) 또는 모바일폰으로 해도 된다.
(D) 제1 실시예에 의한 기입장치의 특징은 도 8에 도시된 흐름도에 따른 동작을 실행하는 컴퓨터로 판독 가능한 프로그램에 의해 구현될 수 있다. 따라서, 특징적인 동작을 실행하는 프로그램이 제1 실시예에 의한 기기와 개별적으로 구현될 수도 있다. 예를 들어, 이러한 프로그램은 프로그램을 컴퓨터로 판독 가능한 기록매체에 저장하고, 이러한 기록매체를 판매 또는 대여함으로써 단독으로 구현될 수 있다. 또한, 이러한 프로그램은 네트워크를 통해 프로그램을 분배시킴으로써구현될 수도 있다.
(E) SD 메모리 카드에 기록될 이용조건정보는 전자 출판물, 음악, 영화 등의 임의의 콘텐츠 종류라도 된다.
(F) 제2 실시예에서 이용조건정보는 보호 영역(25)에 기록되어 있지만, 기록될 정보는 과금정보, 개인정보, 거래비밀정보와 같은 기밀성을 요하는 정보가 될 수도 있다.
(G) 상기 실시예들에서는 이용조건정보로서 대응하는 콘텐츠의 재생이나 복제에 대한 제한을 설정하고 있지만, 콘텐츠가 이동, 마이그레이트(migrate), 체크아웃(check-out) 등과 같은 다양한 방식으로 복제될 수 있을 때, 이용조건정보가 이러한 종류의 각각의 복제에 대해 개별 제한을 설정해도 된다.
이동은 원본 콘텐츠의 삭제를 포함하는 복제의 한가지 방식이며, 하나의 기록매체로부터 다른 기록매체로 콘텐츠를 이동시키기 위해 이용된다.
마이그레이트는 콘텐츠가 복제되는 곳에서의 이용조건정보를 생성하는 것을 포함하는 복제의 다른 방식이다.
체크아웃은 횟수가 제한된 복제로서, 허가횟수가 감소된 이후에 수행되는 복제이다. 체크아웃 유형의 복제는 허가횟수가 증가될 수 있다는 점에서 소위 횟수가 제한된 유형의 복제와 다르다. 허가횟수를 증가시키는 처리과정은 복제에 의해 기록매체에 기록된 콘텐츠를 재생 불가능하게 하는 처리(이러한 처리를 "체크인(check-in)"이라 함)가 행해질 때 수행된다.
(H) 이용조건정보에는 콘텐츠의 이용을 다른 방식으로 허용하는 이용조건의다른 유형도 포함될 수 있다. 예를 들면, 제2 실시예에서와 같이, 재생이나 복제의 허가횟수를 설정하는 것이 가능하다. 또한, 콘텐츠에 대해 허용된 잔여이용기간이나, 재생에 대한 상한 또는 이용허가기간에 대한 유효기간(연, 월, 일)의 설정이 가능하다. 이용조건정보에 콘텐츠를 이용하기 위한 횟수의 상한, 콘텐츠 이용에 대한 시간 기간의 상한 또는 유효날짜가 포함된 경우, 기입장치는 콘텐츠가 사용된 현재의 횟수, 콘텐츠가 사용된 현재의 전체 횟수 또는 현재의 날짜를 보호 영역에 기입한다.
(I) 제1 및 제2 실시예에서, 반도체 메모리 카드는 슬라이드 스위치를 갖는 것으로 설명하였다. 그러나, 이러한 반도체 메모리 카드는 기록매체의 일례이며, 사용자가 수동으로 조작할 수 있는 스위치가 제공되어 있다면, 어떠한 다른 기록매체라도 가능하다. 이러한 예로서, 콤팩트 플래시 메모리, 스마트 매체, 메모리 스틱, 멀티미디어 카드 및 PCM-CIA 카드가 있다. 또, 이러한 예는 반도체 메모리 카드에 한정되지 않으며, 슬라이드 스위치가 제공된 카트리지에 내장되어 있는 한 (i)플렉서블 디스크나 SuperDisk 등의 자기 기록 디스크, (ii) ORB, JaZ, SparQ, SyJet, EZ Fley 또는 마이크로 드라이버 등의 제거 가능한 하드디스크 드라이버, (iii) DVD-RAM, DVD-RW, PD, DVD+RW, CD-RW 등의 광디스크도 가능하다.
(J) 상술한 제1 내지 제3 실시예에서 보호 영역(25)은 슬라이딩 부재(1)가 제2 위치에 있는 경우라도 기입이 가능하다. 또한, 보호 영역(25) 전체를 기입 가능한 상태로 설정하기 위하여, 보호 영역(25)내의 특정 영역을 기입 가능한 상태로 설정하는 것도 가능하다. 예를 들어, 보호 영역에 기록된 특정 파일을 기입 가능한 상태로 설정하는 것이 가능하다. 시스템 애플리케이션은 통상 이용조건정보를 포함하는 것과 같은 특정의 파일을 재기입한다. 따라서, 기입 가능한 상태로 재기입하여 보호 영역(25)에 있는 데이터의 파괴를 신뢰성 있게 방지할 필요가 있는 이들 특정 파일을 선택적으로 설정하는데 효과적이다. 또한, 보호 영역(25)은 자신의 어드레스 영역의 일부에만 기입 가능한 상태로 설정한다.
본 발명에 의하면, 사용자가 슬라이드 스위치의 설정을 변경하지 않고도 시스템 애플리케이션에 의해 데이터가 보호 영역(25)에 자유롭게 기입될 수 있기 때문에, 사용자가 선호하는 기입장치를 출시할 수 있게 된다. 이러한 장점 때문에, 본 발명에 따른 기입장치, 기입프로그램 및 기입방법은 소비자 지향의 제조산업이나 다른 산업에 이용할 수 있는 잠재력이 크다.

Claims (23)

  1. 애플리케이션 프로그램으로부터의 명령에 따라 반도체 메모리 카드내의 사용자 영역에 데이터를 기입하는 기입장치로서,
    상기 반도체 메모리 카드의 표면에 제공되어 수동으로 이동시킬 수 있는 슬라이딩 부재의 위치에 따라 상기 사용자 영역이 기입 가능한 상태인지 또는 기입 불가능한 상태인지를 인식하는 인식부와;
    기입 가능한 상태에서는 상기 사용자 영역에 데이터를 기입하고, 상기 사용자 영역이 기입 불가능한 상태인 경우에는 예외적인 기입 동작을 수행하는 기입부를 구비하며,
    상기 예외적인 기입 동작은 상기 애플리케이션 프로그램에 의해 발행된 특정의 기입 커맨드에 따라 수행되어, 상기 사용자 영역과 상이한 상기 반도체 메모리 카드내의 메모리 영역에 데이터를 기입하는 것을 특징으로 하는 기입장치.
  2. 제1항에 있어서,
    상기 반도체 메모리 카드는 인증회로를 구비하며,
    상기 특정의 기입 커맨드에는 (i) 상기 기입장치가 상기 반도체 메모리 카드의 인증을 행하도록 하는 명령과 (ii) 상기 반도체 메모리 카드의 인증회로가 상기 기입장치의 인증을 행하도록 하는 명령이 포함되고,
    상기 예외적인 기입 동작은 상기 기입장치와 반도체 메모리 카드간의 상호인증이 성공적인 경우에만 수행되는 것을 특징으로 하는 기입장치.
  3. 제2항에 있어서,
    상기 사용자 영역에는 콘텐츠가 기록되어 있으며,
    상기 상이한 메모리 영역은 상기 콘텐츠에 대응하는 이용조건정보가 기록된 보호 영역이고,
    상기 특정의 기입 커맨드는 상기 이용조건정보의 갱신을 위해 상기 보호 영역에 새로운 값이 기입될 때에 발행되는 것을 특징으로 하는 기입장치.
  4. 제3항에 있어서,
    상기 콘텐츠의 이용은 콘텐츠를 재생하거나 복제하는 것이며,
    상기 이용조건정보에는 콘텐츠의 재생허가횟수 또는 복제허가횟수가 포함되고,
    상기 이용조건정보를 갱신하기 위해 기입된 새로운 값은 수행된 콘텐츠의 재생이나 복제에 따라 증가하거나 감소된 재생허가횟수 또는 복제허가횟수인 것을 특징으로 하는 기입장치.
  5. 제1항에 있어서,
    상기 반도체 메모리 카드가 제1 유형인지 또는 제2 유형인지를 판정하는 판정부를 추가로 구비하며,
    상기 기입부는 상기 반도체 메모리 카드가 상기 제2 유형이고 상기 사용자 영역이 기입 불가능한 상태에 있는 경우에는 상기 예외적인 기입 동작을 수행하지 않으며, 상기 반도체 메모리 카드가 상기 제1 유형이고 기입이 불가능한 상태에 있는 경우에는 상기 예외적인 기입 동작을 수행하는 것을 특징으로 하는 기입장치.
  6. 제5항에 있어서,
    상기 제1 유형의 반도체 메모리 카드는 인증회로를 구비하며,
    상기 제2 유형의 반도체 메모리 카드는 인증회로를 구비하지 않고,
    상기 특정의 기입 커맨드는 (i) 상기 기입장치가 상기 반도체 메모리 카드의 인증을 행하도록 명령하며, (ii) 상기 반도체 메모리 카드의 인증회로가 상기 기입장치의 인증을 행하도록 명령하고,
    상기 예외적인 기입 동작은 상기 기입장치와 상기 반도체 메모리 카드간의 상호 정당성이 인증된 경우에만 수행되는 것을 특징으로 하는 기입장치.
  7. 반도체 메모리 카드에 있어서,
    반도체 메모리 카드의 표면에 제공되며 수동으로 이동시킬 수 있는 슬라이딩 부재와;
    사용자 영역과 보호 영역을 갖는 불휘발성 메모리와;
    상기 슬라이딩 부재의 위치에 따라 상기 사용자 영역이 기입 가능한 상태에 있는지 또는 기입 불가능한 상태에 있는지를 인식하는 인식부를 구비하며,
    상기 보호 영역은 상기 사용자 영역이 기입 불가능한 상태에 있는 경우라도 애플리케이션 프로그램에 의해 발행된 특정의 기입 커맨드에 따라 예외적으로 기입이 가능한 것을 특징으로 하는 반도체 메모리 카드.
  8. 제7항에 있어서,
    인증회로를 추가로 구비하며,
    상기 특정의 기입 커맨드는 (i) 기입장치가 상기 반도체 메모리 카드의 인증을 행하도록 지시하는 명령과, (ii) 상기 반도체 메모리 카드의 인증회로가 상기 기입장치의 인증을 행하도록 지시하는 명령을 포함하고,
    상기 보호 영역은 상기 기입장치와 상기 반도체 메모리 카드간의 상호 정당성이 인증된 경우에만 예외적으로 기입이 가능한 것을 특징으로 하는 반도체 메모리 카드.
  9. 제8항에 있어서,
    상기 사용자 영역에는 콘텐츠가 기록되어 있으며,
    상기 보호 영역은 상기 콘텐츠에 대응하는 이용조건정보가 기록되어 있고,
    상기 특정의 기입 커맨드는 기록된 이용조건정보를 갱신하기 위해 새로운 값이 상기 보호 영역에 기입될 때 발행되는 것을 특징으로 하는 반도체 메모리 카드.
  10. 제9항에 있어서,
    상기 콘텐츠의 이용은 콘텐츠를 재생하거나 복제하는 것이며,
    상기 이용조건정보에는 콘텐츠의 재생허가횟수 또는 복제허가횟수가 포함되고,
    상기 이용조건정보를 갱신하기 위해 기입된 새로운 값은 수행된 콘텐츠의 재생이나 복제에 따라 증가하거나 감소된 재생허가횟수 또는 복제허가횟수인 것을 특징으로 하는 반도체 메모리 카드.
  11. 애플리케이션 프로그램에 의해 발행된 명령에 따라 반도체 메모리 카드내의 사용자 영역에 데이터를 기입하는 기입 동작을 컴퓨터로 행하게 하는 컴퓨터 판독 가능한 프로그램으로서,
    상기 반도체 메모리 카드의 표면에 제공되어 수동으로 이동시킬 수 있는 슬라이딩 부재의 위치에 따라 상기 사용자 영역이 기입 가능한 상태인지 또는 기입 불가능한 상태인지를 인식하는 인식단계와;
    기입 가능한 상태에서는 상기 사용자 영역에 데이터를 기입하고, 상기 사용자 영역이 기입 불가능한 상태인 경우에는 예외적인 기입 동작을 수행하는 기입단계를 포함하며,
    상기 예외적인 기입 동작은 상기 애플리케이션 프로그램에 의해 발행된 특정의 기입 커맨드에 따라 수행되어, 상기 사용자 영역과 상이한 상기 반도체 메모리 카드내의 메모리 영역에 데이터를 기입하는 것을 특징으로 하는 컴퓨터 판독 가능한 프로그램.
  12. 제11항에 있어서,
    상기 반도체 메모리 카드는 인증회로를 구비하며,
    상기 특정의 기입 커맨드에는 (i) 상기 기입장치가 상기 반도체 메모리 카드의 인증을 행하도록 하는 명령과 (ii) 상기 반도체 메모리 카드의 인증회로가 상기 기입장치의 인증을 행하도록 하는 명령이 포함되고,
    상기 예외적인 기입 동작은 상기 기입장치와 반도체 메모리 카드간의 상호인증이 성공적인 경우에만 수행되는 것을 특징으로 하는 컴퓨터 판독 가능한 프로그램.
  13. 제12항에 있어서,
    상기 사용자 영역에는 콘텐츠가 기록되어 있으며,
    상기 상이한 메모리 영역은 상기 콘텐츠에 대응하는 이용조건정보가 기록된 보호 영역이고,
    상기 특정의 기입 커맨드는 상기 이용조건정보의 갱신을 위해 상기 보호 영역에 새로운 값이 기입될 때에 발행되는 것을 특징으로 하는 컴퓨터 판독 가능한 프로그램.
  14. 제13항에 있어서,
    상기 콘텐츠의 이용은 콘텐츠를 재생하거나 복제하는 것이며,
    상기 이용조건정보에는 콘텐츠의 재생허가횟수 또는 복제허가횟수가 포함되고,
    상기 이용조건정보를 갱신하기 위해 기입된 새로운 값은 수행된 콘텐츠의 재생이나 복제에 따라 증가하거나 감소된 재생허가횟수 또는 복제허가횟수인 것을 특징으로 하는 컴퓨터 판독 가능한 프로그램.
  15. 제11항에 있어서,
    상기 반도체 메모리 카드가 제1 유형인지 또는 제2 유형인지를 판정하는 판정단계를 추가로 구비하며,
    상기 기입단계는 상기 반도체 메모리 카드가 상기 제2 유형이고 상기 사용자 영역이 기입 불가능한 상태에 있는 경우에는 상기 예외적인 기입 동작을 수행하지 않으며, 상기 반도체 메모리 카드가 상기 제1 유형이고 기입이 불가능한 상태에 있는 경우에는 상기 예외적인 기입 동작을 수행하는 것을 특징으로 하는 컴퓨터 판독 가능한 프로그램.
  16. 제15항에 있어서,
    상기 제1 유형의 반도체 메모리 카드는 인증회로를 구비하며,
    상기 제2 유형의 반도체 메모리 카드는 인증회로를 구비하지 않고,
    상기 특정의 기입 커맨드는 (i) 상기 기입장치가 상기 반도체 메모리 카드의 인증을 행하도록 명령하며, (ii) 상기 반도체 메모리 카드의 인증회로가 상기 기입장치의 인증을 행하도록 명령하고,
    상기 예외적인 기입 동작은 상기 기입장치와 상기 반도체 메모리 카드간의 상호 정당성이 인증된 경우에만 수행되는 것을 특징으로 하는 컴퓨터 판독 가능한 프로그램.
  17. 제11항의 프로그램을 저장하는 것을 특징으로 하는 기록매체.
  18. 애플리케이션에 의해 발행된 명령에 따라 반도체 메모리 카드내의 사용자 영역에 데이터를 기입하는 방법으로서,
    상기 반도체 메모리 카드의 표면에 제공되어 수동으로 이동시킬 수 있는 슬라이딩 부재의 위치에 따라 상기 사용자 영역이 기입 가능한 상태인지 또는 기입 불가능한 상태인지를 인식하는 인식단계와;
    기입 가능한 상태에서는 상기 사용자 영역에 데이터를 기입하고, 상기 사용자 영역이 기입 불가능한 상태인 경우에는 예외적인 기입 동작을 수행하는 기입단계를 포함하며,
    상기 예외적인 기입 동작은 상기 애플리케이션 프로그램에 의해 발행된 특정의 기입 커맨드에 따라 수행되어, 상기 사용자 영역과 상이한 상기 반도체 메모리 카드내의 메모리 영역에 데이터를 기입하는 것을 특징으로 하는 방법.
  19. 제18항에 있어서,
    상기 반도체 메모리 카드는 인증회로를 구비하며,
    상기 특정의 기입 커맨드에는 (i) 상기 기입장치가 상기 반도체 메모리 카드의 인증을 행하도록 하는 명령과 (ii) 상기 반도체 메모리 카드의 인증회로가 상기 기입장치의 인증을 행하도록 하는 명령이 포함되고,
    상기 예외적인 기입 동작은 상기 기입장치와 반도체 메모리 카드간의 상호인증이 성공적인 경우에만 수행되는 것을 특징으로 하는 방법.
  20. 제19항에 있어서,
    상기 사용자 영역에는 콘텐츠가 기록되어 있으며,
    상기 상이한 메모리 영역은 상기 콘텐츠에 대응하는 이용조건정보가 기록된 보호 영역이고,
    상기 특정의 기입 커맨드는 상기 이용조건정보의 갱신을 위해 상기 보호 영역에 새로운 값이 기입될 때에 발행되는 것을 특징으로 하는 방법.
  21. 제20항에 있어서,
    상기 콘텐츠의 이용은 콘텐츠를 재생하거나 복제하는 것이며,
    상기 이용조건정보에는 콘텐츠의 재생허가횟수 또는 복제허가횟수가 포함되고,
    상기 이용조건정보를 갱신하기 위해 기입된 새로운 값은 수행된 콘텐츠의 재생이나 복제에 따라 증가하거나 감소된 재생허가횟수 또는 복제허가횟수인 것을 특징으로 하는 방법.
  22. 제18항에 있어서,
    상기 반도체 메모리 카드가 제1 유형인지 또는 제2 유형인지를 판정하는 판정단계를 추가로 구비하며,
    상기 기입단계는 상기 반도체 메모리 카드가 상기 제2 유형이고 상기 사용자 영역이 기입 불가능한 상태에 있는 경우에는 상기 예외적인 기입 동작을 수행하지 않으며, 상기 반도체 메모리 카드가 상기 제1 유형이고 기입이 불가능한 상태에 있는 경우에는 상기 예외적인 기입 동작을 수행하는 것을 특징으로 하는 방법.
  23. 제22항에 있어서,
    상기 제1 유형의 반도체 메모리 카드는 인증회로를 구비하며,
    상기 제2 유형의 반도체 메모리 카드는 인증회로를 구비하지 않고,
    상기 특정의 기입 커맨드는 (i) 상기 기입장치가 상기 반도체 메모리 카드의 인증을 행하도록 명령하며, (ii) 상기 반도체 메모리 카드의 인증회로가 상기 기입장치의 인증을 행하도록 명령하고,
    상기 예외적인 기입 동작은 상기 기입장치와 상기 반도체 메모리 카드간의 상호 정당성이 인증된 경우에만 수행되는 것을 특징으로 하는 방법.
KR10-2004-7000779A 2001-07-18 2002-07-16 기입장치, 반도체 메모리 카드, 기입프로그램 및 기입방법 Ceased KR20040015818A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2001-00217765 2001-07-18
JP2001217765 2001-07-18
PCT/JP2002/007192 WO2003009299A2 (en) 2001-07-18 2002-07-16 Writing apparatus, semiconductor memory card, writing proguram, and writing method

Publications (1)

Publication Number Publication Date
KR20040015818A true KR20040015818A (ko) 2004-02-19

Family

ID=19052033

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7000779A Ceased KR20040015818A (ko) 2001-07-18 2002-07-16 기입장치, 반도체 메모리 카드, 기입프로그램 및 기입방법

Country Status (7)

Country Link
US (1) US20040242029A1 (ko)
EP (1) EP1407456A2 (ko)
KR (1) KR20040015818A (ko)
CN (1) CN1555557A (ko)
MX (1) MXPA04000534A (ko)
NO (1) NO20040213L (ko)
WO (1) WO2003009299A2 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117651B2 (en) 2004-04-27 2012-02-14 Apple Inc. Method and system for authenticating an accessory
JP4717398B2 (ja) * 2004-09-10 2011-07-06 キヤノン株式会社 データ処理装置の制御方法
US7823214B2 (en) 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
US7625627B2 (en) 2005-12-30 2009-12-01 E.I. Du Pont De Nemours And Company Decorative polyvinyl butyral solar control laminates
KR20080084470A (ko) * 2007-03-16 2008-09-19 삼성전자주식회사 컨텐트의 보호 기능을 가진 휴대용 메모리 장치 및 그휴대용 메모리 장치 생성 방법
US20080280076A1 (en) * 2007-05-11 2008-11-13 Richard Allen Hayes Decorative safety glass
US8208853B2 (en) 2008-09-08 2012-06-26 Apple Inc. Accessory device authentication
US8238811B2 (en) 2008-09-08 2012-08-07 Apple Inc. Cross-transport authentication
US20100122323A1 (en) * 2008-11-12 2010-05-13 Condel International Technologies Inc. Storage device management systems and methods
US8924742B2 (en) * 2009-02-11 2014-12-30 Blackberry Limited Multi-level data storage
ATE526668T1 (de) * 2009-02-11 2011-10-15 Research In Motion Ltd Mehrstufen-datenspeicherung
US8838995B2 (en) * 2009-05-29 2014-09-16 Western Digital Technologies, Inc. Physically modifying a data storage device to disable access to secure data and repurpose the data storage device
US9448938B2 (en) 2010-06-09 2016-09-20 Micron Technology, Inc. Cache coherence protocol for persistent memories
US8694737B2 (en) 2010-06-09 2014-04-08 Micron Technology, Inc. Persistent memory for processor main memory
US8613074B2 (en) * 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
US9037788B2 (en) 2010-09-30 2015-05-19 Micron Technology, Inc. Validating persistent memory content for processor main memory
US20130074178A1 (en) * 2011-09-15 2013-03-21 Sandisk Technologies Inc. Preventing access of a host device to malicious data in a portable device
CN104684130B (zh) * 2013-11-26 2017-04-19 四川新力光源股份有限公司 卡片式led驱动器及带有这种卡片式驱动器的交通运输工具
CN106776383B (zh) * 2016-12-28 2023-07-04 深圳市道通智能航空技术股份有限公司 存储卡的识别方法、装置及电子设备
US11188511B2 (en) * 2019-06-04 2021-11-30 Western Digital Technologies, Inc. Offloading file-indexing to memory card firmware
CN115295062B (zh) * 2022-07-29 2025-07-11 深圳市友林电子有限公司 一种储存卡金属片接触检测装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0912939B1 (en) * 1996-07-19 2001-09-26 Tokyo Electron Device Limited Flash memory card
JPH10171942A (ja) * 1996-12-11 1998-06-26 Tokai Rika Co Ltd データキャリアシステム
JP3793629B2 (ja) * 1997-10-30 2006-07-05 沖電気工業株式会社 メモリカードとメモリカード装置
WO2000074059A1 (en) * 1999-05-28 2000-12-07 Matsushita Electric Industrial Co., Ltd. A semiconductor memory card, playback apparatus, recording apparatus, playback method, recording method, and computer-readable recording medium

Also Published As

Publication number Publication date
WO2003009299A2 (en) 2003-01-30
MXPA04000534A (es) 2004-05-04
EP1407456A2 (en) 2004-04-14
US20040242029A1 (en) 2004-12-02
NO20040213L (no) 2004-03-04
WO2003009299A3 (en) 2004-01-15
CN1555557A (zh) 2004-12-15

Similar Documents

Publication Publication Date Title
KR20040015818A (ko) 기입장치, 반도체 메모리 카드, 기입프로그램 및 기입방법
EP1290610B1 (en) Recording medium, license management apparatus, and recording and playback apparatus
JP3977549B2 (ja) コンテンツ管理方法、コンテンツ利用管理システム、コンテンツ利用管理装置及び再生装置
JP4357509B2 (ja) 記録装置及び記録方法
KR100566627B1 (ko) 반도체 메모리 카드 및 데이터 판독장치
KR100595800B1 (ko) 기록 매체, 기록 장치 및 기록/재생 시스템
EP2109949B1 (en) Method, system and article for dynamic authorization of access to licensed content
JP2001256113A (ja) コンテンツ処理システムおよびコンテンツ保護方法
US20050005142A1 (en) Digital rights management
US20020026580A1 (en) System for access control to hidden storage area in a disk drive
JP4770012B2 (ja) メモリ装置
US20060288403A1 (en) Information provision system, provision information copying device, user terminal device and user management device
JP4816012B2 (ja) 情報処理装置、ソフトウェアインストール方法、および光ディスク
US20090271875A1 (en) Upgrade Module, Application Program, Server, and Upgrade Module Distribution System
JP3712366B2 (ja) 情報処理システム、実行可能モジュール生成方法および記憶媒体
KR100586063B1 (ko) 가변 크기이고 데이터의 갱신이 가능한 시스템 영역을 갖는플래시 메모리 데이터 구조, 그 플래시 메모리를 구비한usb 저장 장치 및 상기 시스템 영역의 제어 방법
JP2003099729A (ja) 書込装置、半導体メモリカード、プログラム、方法
JP2006065503A (ja) 権利情報を格納した記録媒体、情報処理装置及び権利情報の管理方法
JP2000156034A (ja) ディジタル信号記憶装置、ディジタル信号記憶方法、プログラム記録媒体、ディジタル信号記録装置及びディジタル信号記録方法
RU2251752C2 (ru) Карта полупроводниковой памяти и устройство считывания данных
JP4090446B2 (ja) 電子装置および電子装置におけるデータ管理方法
JP3977857B2 (ja) 記憶装置
KR100797379B1 (ko) 단말 장치
KR100838513B1 (ko) 단일 영역을 갖는 기록매체의 활성화 방법 및 상기 방법을실행하기 위한 프로그램을 저장한 기록매체, 상기프로그램을 네트웍을 통해 다운로드 하기 위한 시스템
JP2006190185A (ja) 情報記録装置

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20040117

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20070123

Comment text: Request for Examination of Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20080425

Patent event code: PE09021S01D

E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20080930

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20080425

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I