KR100730903B1 - 향상된 호환성을 갖춘 보안형 메모리 장치 - Google Patents

향상된 호환성을 갖춘 보안형 메모리 장치 Download PDF

Info

Publication number
KR100730903B1
KR100730903B1 KR1020000018209A KR20000018209A KR100730903B1 KR 100730903 B1 KR100730903 B1 KR 100730903B1 KR 1020000018209 A KR1020000018209 A KR 1020000018209A KR 20000018209 A KR20000018209 A KR 20000018209A KR 100730903 B1 KR100730903 B1 KR 100730903B1
Authority
KR
South Korea
Prior art keywords
data
control data
memory
security
memory card
Prior art date
Application number
KR1020000018209A
Other languages
English (en)
Other versions
KR20010006966A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26441040&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100730903(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR20010006966A publication Critical patent/KR20010006966A/ko
Application granted granted Critical
Publication of KR100730903B1 publication Critical patent/KR100730903B1/ko

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • 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/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • 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/602Providing cryptographic facilities or services
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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
    • G06F21/79Protecting 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 in semiconductor storage media, e.g. directly-addressable memories
    • 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/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
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00246Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a local device, e.g. device key initially stored by the player or by the recorder
    • 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
    • G11B20/00485Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
    • G11B20/00492Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted
    • G11B20/00528Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted wherein each title is encrypted with a separate encryption key for each title, e.g. title key for movie, song or data file
    • 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/10Digital recording or reproducing
    • 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/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2121Chip on media, e.g. a disk or tape with a chip embedded in its case
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • 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/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • G11B2020/10546Audio or video recording specifically adapted for audio data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/16Solid state audio

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

메모리 카드와 같은 메모리 장치는 디지털 비디오 레코드나 오디오 기록/재생 장치와 같은 데이터 처리 장치에 제거 가능하게 부착할 수 있다. 메모리 장치는 비휘발성 메모리, 비휘발성 메모리에 저장된 데이터의 보안을 보호하는 보안 장치, 및 데이터 처리 장치로부터 제어 데이터를 수신하는 인터페이스를 포함한다. 제어 데이터는 비휘발성 메모리에 관한 판독 또는 기록 동작을 위한 제 1 제어 데이터 또는 보안 장치의 보안 동작을 위한 제 2 제어 데이터(제 1 제어 데이터와 다른)이다. 따라서, 보안형 메모리 카드는 보안형 및 비보안형 데이터 처리 장치와 호환될 수 있다.

Description

향상된 호환성을 갖춘 보안형 메모리 장치{Security type memory unit with enhanced compatibility}
도 1은 본 발명의 실시예에 따른 레코더/플레이어 및 메모리 카드의 전체 구조를 도시한 도면.
도 2는 본 발명의 실시예에 따른 보안형 메모리 카드의 내부구조를 도시한 도면.
도 3은 본 발명의 실시예에 따른 비보안형 메모리 카드의 내부구조를 도시한 도면.
도 4는 본 발명의 실시예에 따른 플래시 메모리의 파일 시스템 처리 계층의 구조를 도시한 도면.
도 5는 플래시 메모리의 물리 데이터 구조의 포맷을 도시한 도면.
도 6은 플래시 메모리의 부트블록의 구조를 도시한 도면.
도 7은 플래시 메모리의 부트블록의 부트 및 속성정보의 구조를 도시한 도면.
도 8a 및 도 8b는 내용물과 키간 관계를 도시한 도면.
도 9는 기록 동작에서 암호화 처리를 설명하는데 참조할 도면.
도 10은 인증 처리를 설명하는데 참조할 도면.
도 11은 기록 동작에서 암호화 처리를 설명하는데 참조할 도면.
도 12는 재생 동작에서 암호화 처리를 설명하는데 참조할 도면.
도 13은 재생 동작에서 암호화 처리를 설명하는데 참조할 도면.
도 14는 레코더와 메모리 카드간에 배치된 인터페이스의 동작을 설명하는데 참조할 도면.
도 15는 레코더와 메모리 카드간에 배치된 인터페이스의 동작을 설명하는데 참조할 도면.
도 16은 본 발명의 실시예에서 사용될 수 있는 프로토콜 코맨드의 예를 도시한 테이블.
도 17 및 도 18은 본 발명의 실시예에서 사용될 수 있는 코맨드를 도시한 테이블.
도 19는 본 발명에 따른 메모리 장치의 개략적인 블록도.
*도면의 주요 부분에 대한 부호의 간단한 설명*
1...디지털 오디오 레코더/플레이어
40...메모리 카드 2...중앙 처리 장치(CPU)
3...보안 블록 4...조작 버튼
5...디스플레이 장치 16...버스
6...오디오 인터페이스 7...내부 오디오 부호화/복호화기
8...아날로그 입력 9...아날로그 디지털("A/D") 변환기
본 발명은 일반적으로 데이터 보안에 관한 것으로, 특히 데이터 처리 장치에 제거 가능하게 부착할 수 있고 데이터 보안 수단을 포함하는, 메모리 카드와 같은 메모리 장치에 관한 것이다.
EEPROM(Electrically Erasable Programmable ROM)과 같은 종래의 비휘발성 메모리에서 2개의 트랜지스터가 1비트의 정보를 저장하는데 사용된다. 결과적으로, 메모리의 집적도를 상승시킬 능력을 제한하는 비트당 메모리 면적이 크다. 한편, 이 문제는 한 비트가 "전 비트 동시 소거(all-bit-simultaneous-erase)" 방법에 따라 단일 트랜지스터를 사용하여 저장되는 최근에 개발된 플래시 메모리에서 제거되었다. 조만간에 플래시 메모리는 많은 애플리케이션에서 자기 디스크 및 광학 디스크와 같은 기존의 기록 매체를 대치할 것으로 기대되고 있다.
카드 판독/기록 장치에 제거 가능하게 부착될 수 있는 플래시 메모리 기반 메모리 카드 또는 메모리 스틱스(등록상표)가 공지되어 있다. 이러한 유형의 메모리 카드 출현으로, CD(콤팩트 디스크) 또는 미니 디스크와 같은 기존의 디스크 형상 매체 대신 메모리 카드를 사용하는 디지털 오디오 기록/재생 장치가 개발되었다.
기록 매체로서 메모리 카드를 사용하는 오디오 레코더는 기록/재생을 위해 비교적 고품질로 데이터가 복구되게 하는 데이터 압축방법을 채용한다. 이 오디오 레코더로 기록 및 재생되는 음악 타이틀의 저작권을 보호하기 위해서 암호화 기술이 구현될 수 있다. 예로서, 오디오 레코더는 암호화 기술을 통해서 메모리 카드가 유효한지 여부를 판정하도록 설계될 수 있으며, 따라서 레코더에 의해 사용되는 것이 금지될 수 있다. 즉, 유효한 레코더 및 유효한 메모리 카드의 조합으로, 암호화된 데이터를 해독할 수 있다. 저작권 보호 외에도, 암호화 기술들을 사용해서 메모리 카드내에 저장된 다른 정보의 보안을 보호하기 위해 사용될 수 있다.
종래의 메모리 카드는 암호화 기능을 갖고 있지 않다. 따라서, 비밀 데이터를 메모리 카드에 기록할 때, "세트" 측, 즉 메모리가 삽입되며 기록용 데이터를 셋업하는 장치("세트")에서 데이터를 암호화한다. 그 후, 암호화된 데이터는 저장하기 위해서 메모리 카드로 전달된다. 해독 키도 메모리 카드에 저장된다면, 카드의 데이터 보안은 손상된다. 한편, 해독키가 특정 세트에 저장되었을 때, 세트에 의해 원래 암호화되어 메모리 카드에 기록된 데이터는 그 특정 세트 이외의 세트들에 의해서는 해독될 수 없다. 따라서, 메모리 카드의 호환성이 유지될 수 없다. 이 문제를 해결하기 위해서, 세트 및 메모리 카드 각각이 암호화 기능을 갖고 있어 세트 및 메모리 카드가 상호 인증되게 할 수 있게 한 시스템이 제안되었다. 이 경우에 메모리 카드는 데이터 암호화를 수행하는 처리 회로를 갖는 "스마트 카드"로 간주될 수 있다. 이러한 방법에 의해서, 카드의 보안성 및 호환성을 유지할 수 있다.
상기 인증 및 암호화 기능을 갖는 보안 장치는 데이터 부호화 표준(DES)에 따라 암호화할 수 있다. DES는 텍스트를 블록으로 구획하고 각 블록 구획을 암호화는 블록 암호화 시스템이다. DES로, 64비트의 입력된 데이터는 64비트의 키(실제로는 56비트의 키 및 8비트의 패리티)로 암호화되고 64비트의 암호화된 데이터가 출력된다. DES는 4개의 사용 모드를 갖고 있는데, 이중 하나는 암호블록 연쇄(CBC)모드이다. CBC 모드는 64비트의 텍스트와 선행 암호화된 데이터(64비트)를 XOR하여 그 결과를 DES장치에 입력시키는 피드백형 모드이다. 초기단계에선 암호화된 데이터가 없으므로 초기화 벡터가 사용된다. 또한, 세트와 메모리 카드간에 데이터가 교환될 때, 난수들을 발생하여 데이터에 부가할 수도 있다.
비암호화된 데이터가 메모리 카드에 기록되고 이로부터 재생되는 많은 애플리케이션이 있다. 예들로는, 대화 음성의 기록(통상, 이를 저장하기 전에 고압축비로 압축됨), 전자식 스틸 카메라 또는 비디오 카메라로부터의 이미지 데이터 등을 포함한다. 이들 경우엔 데이터의 저작권을 보호하는 수단을 제공할 필요는 없다. 일반적으로, 암호화 기능을 갖는 보안형 메모리 카드는 비보안형 메모리 카드(즉, 종래의 메모리 카드)보다는 비싸다. 따라서, 보안형 메모리 카드들(및 관련된 세트)은 이를 필요로 하는 애플리케이션에서 사용되며, 반면 비보안형 카드 및 세트는 비용을 줄이기 위해서 다른 애플리케이션에 사용될 수 있다. 종래의 보안형 세트들은 보안형 메모리 카드로만 사용할 수 있는 한편, 비보안형 세트는 비보안형 메모리 카드로만 사용할 수 있다.
본 발명은 호환성 관점에서, 비보안형 세트, 예를 들면 종래의 세트에 보안형 메모리 카드로 사용할 수 있는 보안형 메모리 카드가 일부 애플리케이션에서 바람직할 것이라는 것을 인식한다. 휴대용 비디오 레코드로부터의 기록 이미지와 같은 이들 애플리케이션들에서는 메모리 카드의 암호화 기능이 사용되지 않을 것이다.
그러므로, 본 발명의 목적은 보안형 및 비보안형 데이터 처리 장치(세트) 모두와 사용될 수 있는 보안형 메모리 장치를 제공하는 것이다.
본 발명의 다른 목적은 각각의 기능을 수행하도록 상이한 유형의 제어 데이터를 메모리 카드에 전송하는, 메모리 카드에 호환되는 데이터 처리 장치를 제공하는 것이다.
본 발명의 일면에서 디지털 비디오 레코더나 오디오 기록/재생 장치와 같은 데이터 처리 장치에 제거 가능하게 부착할 수 있는 메모리 장치가 제공된다. 메모리 장치는 비휘발성 메모리, 비휘발성 메모리에 저장된 데이터의 보안을 보호하는 보안 장치, 및 데이터 처리 장치로부터 제어 데이터를 수신하는 인터페이스를 포함한다. 제어 데이터는 비휘발성 메모리에 관한 판독 또는 기록 동작을 위한 제 1 제어 데이터 또는 보안 장치의 보안 동작을 위한 제 2 제어 데이터(제 1 제어 데이터와 다른 데이터)이다.
따라서, 보안형 메모리 카드는 보안형 및 비보안형 데이터 처리 장치("세트")에 사용될 수 있다. 비보안형 세트는 메모리 장치에/로부터 데이터를 저장 및/또는 검색하는데(암호화되지 않은 것) 사용되는 제 1 제어 데이터만을 전송한다. 보안형 세트는 제 1 및 제 2 제어 데이터를 메모리 장치에 전송함으로써 비휘발성 메모리 내에 저장된 데이터 보안을 보호한다. 따라서, 비보안형 데이터 처리 장치는 보안형 및 비보안형 메모리 카드와 동작할 수 있다. 결국, 보안형 메모리 장치의 호환성이 개선될 수 있다.
본 발명의 또 다른 면에서, 데이터를 데이터 처리 장치에 제거 가능하게 부착된 메모리 장치에 기록하기 위한 데이터 처리 장치가 제공되며, 상기 메모리 장치는 비휘발성 메모리 및 보안 장치를 갖는다. 데이터 처리 장치는 메모리 장치와 통신하는 인터페이스, 및 메모리 장치의 보안 장치에 관련하여 비휘발성 메모리에 저장되는 데이터의 보안을 보호하는 보안 블록을 포함한다. 데이터 처리 장치는 비휘발성 메모리에 관하여 판독 또는 기록 동작을 위한 제 1 제어 데이터와 보안 동작을 위한 제 1 제어 데이터와 다른 제 2 제어 데이터를 인터페이스를 통해 전송한다.
본 발명의 상기 언급한 목적, 부가적인 목적, 특징 및 이점은 첨부한 도면에 관련하여 읽을 때, 다음의 상세한 설명으로부터 쉽게 명백하게 될 것이다.
도 1은 본 발명의 바람직한 실시예에 따라 디지털 오디오 레코더/플레이어(1)의 구조를 도시한 블록도이다. 디지털 오디오 레코더/플레이어(1)는 착탈 가능한 메모리 카드(또는 메모리 스틱(등록상표))(40)를 사용하여 디지털 오디오 신호를 기록 및 재생한다. 레코드/플레이어(1)는 증폭부(도시하지 않음), 스피커(도시하지 않음), CD 플레이어(도시하지 않음), MD 레코더(도시하지 않음), 튜너(도시하지 않음), 등과 더불어 오디오 시스템의 일부일 수 있다. 그러나, 본 발명은 다른 오디오 세트에 적용될 수 있을 알 것이다. 예를 들면, 레코더/플레이어(10)는 휴대용 장치일 수 있다. 본 발명은 위성 데이터 통신, 디지털 방송 또는 인터넷 등을 통해 유효되는 디지털 오디오 데이터를 기록하는 셋탑 박스에 적용될 수 있다. 더욱이, 본 발명은 오디오 데이터 이외의 화상 데이터 및 정지화상 데이터를 기록/재생하는 시스템에 적용될 수 있다. 본 발명에 따른 시스템은 디지털 오디오 신호이외에 화상 및 텍스트와 같은 부가적인 정보를 기록 및 재생할 수도 있다.
레코더/플레이어(1)("데이터 처리 장치"로도 간주될 수 있음)는 중앙처리 장치(CPU)(2), 보안 블록(3), 조작버튼(4), 및 디스플레이 장치(5)를 갖는다. 보안 블록(3), 조작버튼(4) 및 디스플레이 장치(5)는 버스(16)를 통해 CPU(2)에 접속된다. 보안 블록(3)은 데이터 암호화 표준("DES") 암호화 회로를 포함한다. 사용자의 조작 버튼(4) 조작에 대응하는 기록 코맨드, 재생 코맨드 등과 같은 데이터는 버스(16)를 통해 CPU(2)에 공급된다. 여러 가지 정보, 레코더/플레이어(1)의 동작상태, 등은 디스플레이 장치(5)에 표시된다. 오디오 인터페이스(6)는 후술되는 외부입력/출력과 내부 오디오 부호화/복호화기(7)간에 배치된다.
후술되는 바와 같이, 메모리 카드(40)는 플래시 메모리(비휘발성 메모리)(42), 제어블록(41), 보안 블록(52)(보안 블록(52)은 DES 암호화 회로를 포함할 수도 있음), 통신 인터페이스, 레지스터 등을 갖는 IC 칩이다. 메모리 카드(40)는 레코더/플레이어에 착탈 가능하다. 실시예에 따라, 레코더/플레이어(1)는 암호화 기능(즉, 보안 블록(52))이 없는 메모리 카드와 호환될 수도 있다.
오디오 부호화/복호화기(7)는 메모리 카드(40)에 기록될 디지털 오디오 데이터를 고효율 부호화 방법에 따라 부호화한다. 더욱이, 부호화/복호화기(7)는 메모리 카드(40)로부터 읽은 부호화된 데이터를 복호한다. 고효율 ATRAC3 포맷 부호화 방법은 MD에 사용되는 적응형 변환 음향 부호화(ATRAC: Adaptive Transform Acoustic Coding) 포맷의 변형으로서 이 방법이 사용될 수 있다.
ATRAC3 포맷에서, 44.1kHz로 샘플되고 16비트로 양자화된 오디오 데이터는 고효율로 암호화된다. 처리를 위한 오디오 데이터의 최소 데이터 단위는 사운드 단위("SU")이다. 1SU는 1024 샘플로 구성되며, 따라서 수백 바이트로 압축되는 (1024 x 16비트 x 2채널) 비트를 포함한다. 1SU의 기간은 대략 23msec이다. 이러한 고효율 부호화 방법하에서, 압축된 데이터의 크기는 대략 원래 데이터보다 10배정도 작다. MD에서 사용되는 ATRAC12와 비교할 때, ATRAC3 포맷에 따라 압축 및 압축 해제된 오디오 신호의 오디오 품질은 더 악화된다.
예시적으로, 아날로그 입력(8)은 MD, 튜너 또는 테이프의 재생출력신호를 아날로그 디지털("A/D") 변환기(9)에 공급한다. A/D 변환기(9)는 아날로그 입력(8)으로부터 신호를 디지털 오디오 신호(샘플링 주파수=44.1kHz; 양자화 비트수=16)로 변환하고 이 변환된 디지털 오디오 신호를 오디오 인터페이스(6)로 공급한다. 디지털 입력(10)은 MD, CD, 디지털 방송 신호, 또는 망에 유포된 오디오 데이터에 대한 디지털 출력신호를 오디오 인터페이스(6)에 공급한다. 디지털 입력신호는 예를 들면 광케이블을 통해 전송된다. 오디오 인터페이스(6)는 A/D 변환기(9) 및 디지털 입력(10)으로부터의 입력된 디지털 오디오 신호를 선택하여 이 선택된 입력 디지털 오디오 신호를 오디오 부호화/복호화기(7)로 공급한다.
오디오 부호화/복호화기(7)는 입력된 디지털 오디오 신호를 부호화하여 이 부호화된 데이터를 보안 블록(3)에 공급한다. 보안 블록(3)은 상기 데이터(이 예에서는 디지털 오디오 신호)의 내용물에 관한 저작권을 보호하기 위해서 오디오 부호화/복호화기(7)로부터 수신된 부호화된 데이터를 암호화된다. 레코더/플레이어(1)의 보안 블록(3)은 복수의 마스터 키 및 장치(unit) 고유 저장키를 가질 수도 있다. 더욱이, 보안 블록(3)은 난수발생 회로(도시하지 않음)를 갖출 수도 있다. 보안 블록(52)을 갖는 메모리 카드(40)가 레코더/플레이어(10)에 부착되었을 때, 레코더/플레이어(1)의 보안 블록(3)은 메모리 카드(40)가 유효한지 여부를 판정한다(즉, 메모리 카드(40)를 인증한다). 레코더/플레이어(10)의 보안 블록(30)이 올바르게 메모리 카드(40)를 인증한 후에, 레코더/플레이어(1)의 보안 블록(3) 및 메모리 카드(40)의 보안 블록(52)은 보안키를 공유한다.
보안 블록(3)으로부터 출력되는 암호화된 오디오 데이터는 CPU(2)에 공급된다. CPU(2)는 양방향 직렬 인터페이스(11)를 통해 메모리 카드(40)와 통신한다. 실시예에서, 메모리 카드(40)는 레코더/플레이어(1)의 착탈 기구(도시하지 않음)에 부착된다. CPU(2)는 암호화된 데이터를 메모리 카드(40)의 플래시 메모리(42)에 기록한다. 암호화된 데이터는 CPU(2)와 메모리 카드(40)간에 직렬로 전송된다.
CPU(2)는 메모리 인터페이스(11)를 통해 메모리 카드(40)로부터 암호화된 오디오 데이터를 읽고 이러한 데이터를 보안 블록(3)에 공급한다. 보안 블록(3)은 암호화된 오디오 데이터를 해독한다. 해독된 오디오 데이터는 해독된 오디오 데이터를 복호하는 오디오 부호화/복호화기(7)로 공급된다. 오디오 부호화/복호화기(7)의 출력신호는 오디오 인터페이스(7)를 통해 D/A 변환기(12)에 공급된다. D/A 변환기(12)는 디지털 오디오 데이터를 아날로그 오디오 신호로 변환하고 이를 출력(13)을 통해 송신한다. 오디오 부호화/복호화기(7)로부터 수신된 오디오 데이터 및 보안 블록(3)으로부터 수신된 해독된 데이터는 각각 인터페이스(6)를 통해서 출력(14, 15)을 통해 디지털 출력신호로서 출력될 수도 있다.
도 2는 메모리 카드(40)의 내부구성을 도시한 블록도이다. 메모리 카드(40)는 제어블록(41), 보안 블록(52), 및 플래시 메모리(42)를 포함하는 1칩 집적회로("IC")이다. 도 2에 도시한 바와 같이, 레코더/플레이어(1)와 메모리 카드(40)간에 배치된 양방향 직렬 인터페이스(11)는 10개의 라인으로 구성되는데, 이들 라인은 데이터와 더불어 전송되는 클럭신호를 전송하기 위한 클럭라인(SCK), 상태신호를 전송하기 위한 상태라인(SBS), 데이터를 전송하기 위한 데이터라인(DIO), 인터럽트 라인(INT), 2개의 GND 라인, 2개의 VCC 라인, 및 2개의 유보라인을 포함한다.
10개의 라인 중 4개의 주요 라인은 클럭라인(SCK), 상태라인(SBS), 데이터 라인(DIO), 및 인터럽트 라인(INT)이다. 클럭라인(SCK)은 데이터 전송을 동기시키기 위해 클럭신호를 보내는데 사용된다. 상태라인(SBS)은 메모리 카드(40)의 상태를 나타내는 신호를 전송하는데 사용된다. 데이터 라인(DIO)은 코맨드 및 암호화된 오디오 데이터를 입력 및 출력하는데 사용된다. 인터럽트 라인(INT)은 레코더/플레이어(1)의 CPU(2)에 발행되는 메모리 카드(40)로부터 인터럽트 요청신호를 보내는데 사용된다. 메모리 카드(40)가 레코더/플레이어(1)에 부착될 때, 인터럽트 신호가 발생된다. 다른 실시예에서, 인터럽트 신호는 데이터 라인(DIO)을 통해 전송되는데, 이 경우 인터럽트 라인(INT)은 접지되어 사용되지 않는다.
직렬/병렬 및 병렬/직렬 인터페이스 블록("S/P 및 P/S I/F 블록")(43)은 인터페이스(11)에 결합된 제어블록(41)의 인터페이스이다. S/P 및 P/S IF 블록(43)은 레코더/플레이어(1)로부터 수신된 직렬 데이터를 병렬 데이터로 변환한다. 제어블록(41)의 병렬 데이터를 직렬 데이터로 변환하여 이 직렬 데이터를 레코더/플레이어(1)에 공급한다. 더욱이, S/P 및 P/S IF 블록(43)은 데이터 라인(DIO)을 통해 수신된 코맨드 및 데이터를 플래시 메모리(42)에 액세스하기 위한 것들과 암호화 처리를 수행하기 위한 것들로 분리한다.
즉, 데이터 라인(DIO)을 통해 코맨드가 전송된 후에, 데이터가 전송된다. S/P 및 P/S IF 블록(43)은 수신된 코맨드 및 데이터가 플래시 메모리(42)에 액세스하기 위한 것들인지 또는, 수신된 코맨드의 코드로 암호화 처리를 수행하기 위한 것들인지를 판정한다. 판정결과에 대응하여, 플래시 메모리(42)에 액세스하기 위한 코맨드를 코맨드 레지스터(44)에 저장하며, 데이터는 페이지 버퍼(45) 및 기록 레지스터(46)에 저장된다. 기록 레지스터(46)에 관련하여, 에러정정 코드 부호화 회로(47)가 배치된다. 에러정정 코드 부호화 회로(47)는 페이지 버퍼(45)에 일시 저장된 데이터에 대한 에러정정 코드인 중복코드(redundant code)를 생성한다.
코맨드 레지스터(44), 페이지 버퍼(45), 기록 레지스터(46), 및 에러정정 코드 부호화 회로(47)의 출력은 플래시 메모리 인터페이스 및 시퀀서("메모리 I/F 및 시퀀서")(51)에 공급된다. 메모리 IF 및 시퀀서(51)는 플래시 메모리(42)에 결합된 인터페이스이며 플래시 메모리(42)와 제어블록(42)간에 교환되는 데이터를 제어하는데, 예를 들면, 데이터는 메모리 IF 및 시퀀스(51)를 통해 플래시 메모리(42)에 기록된다.
플래시 메모리(42)로부터 읽은 데이터는 페이지 버퍼(45), 판독 레지스터(48)와, 메모리 IF 및 시퀀서(51)를 통해 에러정정 회로(49)에 공급된다. 에러정정 회로(49)는 페이지 버퍼(45)에 저장된 데이터의 에러(들)를 정정한다. 페이저 버퍼(45)로부터 출력된 에러 정정된 데이터 및 판독 레지스터(48)로부터 출력된 데이터는 S/P 및 P/S IF 블록(43)에 공급되고 이어서 직렬 인터페이스(11)를 통해 레코더/플레이어(1)의 CPU(2)에 공급된다.
플래시 메모리(42)에 기록된 내용물(ATRAC3 포맷으로 압축된 오디오 데이터("ATRAC3 데이터"))에 대한 저작권을 보호하기 위해서, 레코더/플레이어(1)의 보안 블록(3) 및 메모리 카드(40)의 보안 블록(52)은 서로 협동하여 내용물을 암호화한다. 보안 블록(52)은 버퍼 메모리(53), DES 암호화 회로(54), 비휘발성 메모리(55), 등을 갖는다.
도 2에 도시한 바와 같이, 구성 ROM(50)은 제어블록(41) 내에 배치된다. 구성 ROM(50)은 메모리 카드(40)의 버전정보 및 여러 종류의 속성정보를 저장한다. 메모리 카드(40)는 사용자에 의해 조작될 수 있는 기록 보호 스위치(writing protection switch)(60)를 갖는다. 스위치(60)가 기록 보호 위치에 있을 때, 레코더/플레이어(1)가 플래시 메모리(42)에 대한 소거 코맨드를 보낼지라도, 플래시 메모리(42)에 저장된 데이터는 소거가 금지된다. 스위치(60)가 기록 비보호 위치에 있을 때, 플래시 메모리(42)에 저장된 데이터는 소거될 수 있다. 발진기(61)는 메모리 카드(40)에서 수행되는 처리를 위한 타이밍 기준으로서 사용되는 클럭신호를 발생한다.
플래시 메모리(40)의 보안 블록(52)은 복수의 인증키 및 메모리 카드 고유 저장키를 갖는다. 비휘발성 메모리(55)는 보안 블록(52) 외부로부터 액세스될 수 없는 해독 또는 저장키를 갖는다. 보안 블록(52)은 난수발생회로를 갖는다. 보안 블록(52)은 레코더/플레이어(1)(소정의 데이터 포맷을 사용하는 전용 시스템을 형성할 수 있는)를 인증할 수 있고 그와 합께 세션키를 공유할 수 있다. ATRAC3 데이터를 암호화하기 위한 내용물 키는 세션키로 암호화되고 레코더/플레이어(1)와 메모리 카드(40)간에 보내진다. 메모리 카드(40)의 보안 블록(52)에서처럼, 레코더/플레이어(10)의 보안 블록(3)은 한 세트의 고유 저장키를 갖는다. 내용물이 암호화되어 플래시 메모리(42)에 저장될 때, 대응하는 내용물 키는 저장키를 사용하여 암호화되어 암호화 내용물과 함께 저장된다.
도 3은 암호화 기능이 없는 메모리 카드(40')를 도시한 것이다. 즉, 메모리 카드(40')은 비보안형 메모리 카드이다. 도 2에 도시한 메모리 카드와 달리, 메모리 카드(40')는 보안 블록(52)을 포함하지 않는다. 메모리 카드(40')의 나머지 구조는 메모리 카드(40)와 거의 동일하다. 더욱이, 메모리 카드(40')의 크기 및 형상은 메모리 카드(40)와 같을 수 있다. 도 1에 도시한 레코더/플레이어(1)는 보안형 레코더이기 때문에, 레코더/플레어(1) 및 메모리 카드(40)는 상호 인증되고 키는 그들 사이에서 통신된다. 도 3에 도시한 메모리 카드(40')가 레코더/플레이어(1)에 부착되었을 때, 레코더/플레이어(10)는 메모리 카드(40')가 레코더/플레이어(1)로 사용될 수 없는 비보안형 메모인 것으로 판정한다.
레코더/플레이어(1)가 이에 부착된 메모리 카드의 유형을 판정하는 몇 가지 방법이 있다. 한 예로서, 메모리 카드(40')가 레코더/플레이어(1)에 부착되었을 때, 메모리 카드를 인증하기 위해서 레코더/플레이어(1)에서 메모리 카드(40')로 키가 보내진다. 메모리 카드(40')은 레코더/플레이어(1)에 올바른 응답을 보내지 않기 때문에, 레코더/플레이어(1)는 시간경과 기간(time-out period) 후에 보안형이 아닌 것으로 판정한다. 또 다른 예로서, 메모리 카드(40, 40')가 레코더/플레이어(1)에 부착되었을 때, 메모리 카드가 보안형인지 여부를 나타내는 식별정보가 메모리 카드의 소정의 영역(부트영역)에 기록될 수도 있다. 이러한 식별정보를 읽었을 때, 레코더/플레이어(1)는 이에 부착된 메모리 카드의 유형을 판정할 수 있다. 도 1에 도시한 레코더/플레이어(1) 외에, 비보안형 메모리 카드(40')를 사용할 수 있는 장치가 본 발명에 따라 제시된다. 한 예는 전하 결합 소자("CCD") 카메라로 촬영된 화상을 메모리 카드(40')에 기록하며 이로부터 화상을 재생하는 팜-코더(palm-corder)이다. 후술하는 바와 같이, 본 발명의 실시예에 따라, 메모리 카드(40)의 호환성을 향상시키기 위해서, 디지털 팜-코더와 같은 비보안형 장치는 메모리 카드(40)를 사용하여 데이터를 기록 및 재생할 수 있게 구성된다. 즉, 전술한 바와 같이, S/P 및 P/S IF 블록(43)은 플래시 메모리(42)용과 보안 블록(52)용의 코맨드와 데이터를 분리하는 기능을 갖는다.
실시예에 따라, 메모리 카드(40, 40')는 디스크 형상의 기록 매체에서처럼, 개인용 컴퓨터의 파일 할당 테이블("FAT") 파일 시스템을 사용하여 데이터를 저장한다. 플래시 메모리(42)는 초기 프로그램 로드("IPL") 영역, FAT 영역, 및 경로 디렉토리를 포함한다. IPL 영역은 레코더/플레이어(1)의 메모리에 초기에 적재되는 프로그램의 어드레스를 저장한다. 또한, IPL 영역은 플래시 메모리(42)에 대한 여러 종류의 정보를 저장한다. FAT 영역은 플래시 메모리(42)에 메모리 블록들에 관한 데이터를 저장한다. 즉, FAT 영역은 미사용 블록, 다음 블록번호, 불량 블록, 및 마지막 블록을 나타내는 값들을 저장한다. 경로 디렉토리 영역은 디렉토리 엔트리(파일속성, 갱신일(년, 월, 및 일자), 시작 클러스터, 파일크기, 등)를 저장한다.
메모리 카드들(40 및 40')의 포맷으로 정의된 파일관리 시스템 외에도, 음악 파일용 파일 관리정보(트랙 정보 관리 파일)가 정의될 수 있다. 트랙정보 관리파일은 메모리 카드(40, 40')의 사용자 블록을 사용하여 플래시 메모리(42)에 저장된다. 따라서, 메모리 카드(40 또는 40')의 FAT가 파괴되었어도, 파일은 복구될 수 있다.
트랙 정보 관리파일은 CPU(2)에 의해 생성된다. 레코더/플레이어(10)에 전원을 켰을 때, CPU(2)는 메모리 카드(40 또는 40')가 레코더/플레이어(1)에 부착되었는지 여부를 판정한다. 메모리 카드(40, 또는 40')가 레코더/플레이어(1)에 부착되었을 때, CPU(2)는 플래시 메모리(42)의 부트블록을 로드한다. 부트블록의 식별정보에 따라, CPU(2)는 부착된 메모리 카드가 보안형 메모리 카드인지 여부를 판정한다.
메모리 카드(40)(즉, 보안형)가 부착되었을 때, CPU(2)는 인증 처리를 수행한다. 메모리 카드(40)로부터 읽은 다른 데이터는 CPU(2)에 의해 관리되는 메모리(도시하지 않음)에 저장된다. 사용된 적이 없는 메모리 카드(40 또는 40')의 플래시 메모리(42)에는 출하되기 전에 FAT 및 경로 디렉토리가 기록된다. 데이터가 기록되었을 때, 트랙정보 관리 파일이 생성된다. CPU(2)가 메모리 카드(40)를 인증하였을 때, 레코더/플레이어(1)는 암호화된 ATRAC3 데이터 파일을 기록 또는 재생한다.
데이터가 기록될 때, 조작버튼(4)의 조작에 대응하여 발행되는 기록 코맨드는 CPU(2)로 보내진다. 입력된 오디오 데이터는 부호화/복호화기(7)에 의해 압축된다. 부호화/복호화기(7)로부터 수신된 ATRAC3 데이터는 보안 블록(3)에 의해서 암호화된다. CPU(2)는 암호화된 ATRAC3 데이터를 메모리 카드(40)의 플래시 메모리(42)에 저장한다. 그후에, FAT 및 트랙정보 관리파일이 갱신된다. 파일이 갱신될 때는 항상(즉, 오디오 데이터가 기록된 후에) FAT 및 트랙정보 관리 파일은 CPU(2)에 의해 제어되는 메모리에 재기록된다. 메모리 카드(40)가 레코더/플레이어(10)로부터 분리되었을 때 또는 전원이 턴오프되었을 때, 최종의 FAT 및 트랙정보 관리 파일은 메모리로부터 메모리 카드(40)의 플래시 메모리(42)로 공급된다. 이 경우, 오디오 데이터가 기록되었을 때는 항상, 메모리(42)의 플래시 메모리에 저장된 FAT 및 트랙정보 관리파일이 재기록될 수 있다. 데이터가 편집될 때, 트랙 정보 관리파일의 내용물이 갱신된다.
도 4는 저장매체로서 메모리 카드(40 또는 40')를 사용하는 컴퓨터 시스템의 파일 시스템 처리 계층을 도시한 개략도이다. 여기 도시된 바와 같이, 최상위 계층레벨은 애플리케이션 처리층이다. 애플리케이션 처리층 다음에는 파일 관리 처리층, 논리 어드레스 관리층, 물리 어드레스 관리층, 및 플래시 메모리 액세스층이 온다. 파일관리 처리층은 FAT 파일 시스템이다. 물리 어드레스는 메모리 카드(40 또는 40')에 플래시 메모리(42)의 개개의 블록에 할당된다. 플래시 메모리(42)의 블록들과 이들의 물리 어드레스간 관계는 달라지지 않는다. 논리 어드레스는 파일관리 처리층에서 논리적으로 다루어지는 어드레스이다.
도 5는 메모리 카드(40 또는 40')의 플래시 메모리(42)에서 처리되는 데이터의 물리구조를 도시한 개략도이다. 플래시 메모리(42)에서, 데이터 단위(구획이라 함)는 소정 수의 블록(일정한 길이)으로 분할된다. 하나의 블록은 소정 수의 페이지(일정길이)로 분할된다. 플래시 메모리(42)에서, 데이터는 한번에 한 블록으로 소거된다. 데이터는 한번에 한 페이지로 플래시 메모리(42)에 기록되거나 이로부터 판독된다. 각 블록의 크기는 동일하다. 마찬가지로, 각 페이지의 크기는 동일하다. 한 블록은 페이지 0 내지 페이지 m으로 구성된다. 한 블록은 8 KB(킬로바이트) 또는 16KB의 저장용량을 가지며 한 페이지는 512B(바이트)의 저장용량을 갖는다. 한 블록이 8KB의 저장용량을 가질 때, 플래시 메모리(42)의 총 저장용량은 4MB(512 블록) 또는 8MB(1024블록)의 저장용량을 갖는다. 한 블록이 16KB의 저장용량을 가질 때, 플래시 메모리(42)의 총 저장용량은 16MB(1024 블록), 32MB(2048블록), 또는 64MB(4096블록)이다.
한 페이지는 512 바이트의 데이터 부분과 16바이트의 중복 부분(redundant portion)으로 구성된다. 중복 부분의 제 1의 3개의 바이트는 데이터가 갱신될 때마다 재기록되는 덮어쓰기 부분이다. 제 1의 3개의 바이트는 연속적으로 블록 상태영역, 페이지 상태영역, 및 갱신 상태영역을 포함한다. 중복 부분의 나머지 13바이트는 데이터 부분의 내용물에 의존하는 고정된 데이터이다. 13바이트는 관리 플래그 영역(1바이트), 논리 어드레스 영역(2바이트), 포맷 유보영역(바이트), 분산정보 에러정정 부호("ECC") 영역(2바이트), 및 데이터 ECC 영역(3바이트)을 포함한다. 분산 정보 ECC 영역은 관리 플래그 영역, 논리 어드레스 영역, 및 포맷 유보 영역에 대한 에러정정 처리를 위한 중복 데이터를 포함한다. 데이터 ECC 영역은 512 바이트 데이터 부분 내의 데이터에 대한 에러정정 처리를 위한 중복 데이터를 포함한다.
관리 플레이 영역은 시스템 플래그(1:사용자 블록, 0: 부트 블록), 변환 테이블 플래그(1: 무효, 0: 테이블 블록), 복사 금지 플래그(1: 복사 허용, 0: 복사 불허), 및 액세스 허용 플래그(1: 허용, 0: 읽기 방지)를 포함한다.
제 1의 2개의 블록인 블록0과 블록1은 부트 블록이다. 블록1은 블록0의 백업이다. 부트블록은 메모리 카드(40 또는 40')에서 유효한 최상위 블록이다. 메모리 카드(40 또는 40')가 레코더/플레이어(1)에 부착되었을 때, 부트블록이 먼저 액세스된다. 나머지 블록은 사용자 블록이다. 부트블록의 페이지0은 헤더영역, 시스템 엔트리 영역, 및 부트 및 속성 정보영역을 포함한다. 부트블록의 페이지1은 금지된 블록 데이터 영역을 포함한다. 부트블록의 페이지2는 CIS(카드 정보 구조)/IDI)(식별 구동 정보) 영역을 포함한다.
도 6은 부트블록의 페이지0, 1, 2의 포맷을 도시한 것이다. 부트 블록의 헤더(368바이트)는 부트블록 ID, 포맷버전, 및 부트블록의 유효 엔트리 수를 저장한다. 시스템 엔트리(48 바이트)는 금지블록 데이터의 시작위치, 이의 데이터 크기, 이의 데이터 유형, CIS/IDI의 데이터 시작위치, 이의 데이터 크기, 및 이의 데이터 유형을 저장한다. 부트 및 속성 정보는 메모리 카드 유형(판독전용 유형, 재기록가능 유형, 또는 혼합유형), 블록크기, 블록수, 총 블록수, 보안/비보안 유형, 카드제조일(제조일), 등을 포함한다.
도 7은 도 6에 도시한 부트 및 속성정보(96바이트)의 구조를 도시한 것이다. 부트 및 속성 정보는 메모리 카드의 부류, 유형(판독전용, 판독 기록 인에이블, 양 유형의 혼합, 등), 블록크기, 블록의 수, 총 블록수, 보안유형/비보안유형, 제조 데이터(제조일:년, 월, 일) 등을 포함할 수 있다. 레코더/플레이(1)는 메모리 카드가 보안유형 정보(1바이트)를 사용하는 보안유형의 카드인지를 판정한다. 도 7에서, (*1)은 메모리 카드가 레코더/플레이(1)에 부착되었을 때 레코더/플레이(1)가 읽어 체크하는 데이터 항목을 나타내며, (*2)는 제조/질 관리 데이터 항목을 나타낸다.
플래시 메모리(42)에 저장된 데이터가 재기록될 때마다 플래시 메모리(42)의 절연막이 악화된다는 것을 알고 있다. 따라서, 메모리 카드(40 또는 40')의 사용수명은 플래시 메모리(42)가 재기록되는 회수로 제한된다. 따라서, 플래시 메모리(42)의 특정 저장영역(블록)이 반복하여 액세스되는 것을 방지하는 것이 바람직하다. 결국, 특정 물리 어드레스에 저장된 데이터가 재기록될 때, 갱신데이터는 동일 블록에 다시 기록되지 않는다. 대신에, 갱신 데이터는 사용된 적이 없는 블록에 기록된다. 따라서, 데이터가 갱신된 후에, 물리 어드레스와 논리 어드레스간 관계가 달라진다. 이러한 처리(스왑핑 처리라 함)가 수행될 때, 동일 블록이 반복하여 액세스되는 것이 방지된다. 따라서, 플래시 메모리(42)의 사용수명이 연장될 수 있다.
논리 어드레스는 블록에 기록되는 데이터에 대응하기 때문에, 갱신 데이터가 물리적으로 또 다른 블록으로 옮겨져도, 동일한 논리 어드레스는 FAT에 유지될 수도 있다. 스왑핑 처리는 논리 어드레스와 물리 어드레스간 관계를 달라지게 한다. 따라서, 이러한 스왑핑 처리가 수행될 때 논리 어드레스를 물리 어드레스로 변환하는 변환 테이블이 변경된다. 변환 테이블을 참조함으로써, FAT에 의해 지정된 논리 어드레스에 대응하는 물리 어드레스가 얻어진다. 따라서, 갱신 데이터는 동일한 논리 어드레스를 사용하여 올바르게 액세스될 수 있다.
논리 어드레스-물리 어드레스 변환 테이블은 CPU(2)에 의해 랜덤 액세스 메모리("RAM) 메모리에 저장된다. 그러나, RAM의 저장용량이 작을 때, 논리 어드레스-물리 어드레스 변환 테이블은 플래시 메모리(42)에 저장될 수 있다. 이 테이블은 기본적으로 오름차순으로 배열된 논리 어드레스(2바이트)를 물리 어드레스(2바이트)와 상호 관련시킨다. 플래시 메모리(42)의 최대 저장용량은 128MB(8192 블록)이기 때문에, 2바이트로 8192 어드레스를 나타낼 수 있다. 더욱이, 논리 어드레스-물리 어드레스 변환 테이블은 구획 단위로 관리된다. 논리 어드레스-물리 어드레스 변환 테이블의 크기는 플래시 메모리(42)의 저장용량에 비례한다. 플래시 메모리(42)의 저장용량이 8MB(2개의 구획)이면, 2개의 구획에 대응하는 2개의 페이지는 논리 어드레스-물리 어드레스 변환 테이블용으로 사용된다. 논리 어드레스-물리 어드레스 변환 테이블이 플래시 메모리(42)에 저장된다면, 각 페이지의 중복 부분의 관리 플래그의 한 비트는 관계된 블록이 논리 어드레스-물리 어드레스 변환 테이블에 저장되어 있는지 여부를 나타낸다.
다음에, 보안보호기능에 대해 더 기술한다. 먼저, 도 8a 및 도8b에서, 키와 내용물간 관계를 기술한다. 플래시 메모리(42)에 저장된 각각의 곡(또는 노래)을 트랙으로서 참조될 수 있다. 도 8a에 도시한 바와 같이, 각각의 트랙은 키영역(헤더(101)를 포함한다. 암호화된 오디오 데이터의 각 트랙(타이틀)마다 생성된 내용물 키(CK)는 메모리 카드 고유 저장키(Kstm)로 암호화되며 결과로 나온 데이터는 키 영역(101)에 저장된다. DES는 내용물 키(CK)와 저장키(Kstm)에 대한 암호화 처리에 사용된다. DES(Kstm, CK)는 내용물 키(CK)가 저장키(Kstm)로 암호화됨을 나타낸다. 암호화된 값은 56비트의 데이터와 순환 중복 검사(CRC: Cyclical Redundancy Checking)에 의한 8비트의 에러검출로 구성된 64비트를 갖는 것이 바람직하다.
각각의 트랙은 파트(102)들로 분할된다. 파트 키(PK)는 각 파트에 대해 기록된다. 도 8a에 도시한 트랙은 단지 한 파트(102)만을 포함한다. 파트(102)는 일련의 블록(103)(각각 16KB)의 집합이다. 각각의 블록(103)은 블록 시드(seed)(BK_SEED) 및 초기 벡터(INV)를 저장한다. 파트 키(PK)는 내용물을 암호화하기 위한 블록 키(BK)를 생성하기 위해서 내용물 키(CK)와 쌍이 된다. 즉, BK=DES(CK(+_PK, BK_SEED)(56비트+8비트)(여기서 (+)는 배타논리-OR를 나타낸다)이다. 초기 벡터(INV)는 한 블록에 대해 암호화/해독처리를 위한 초기값이다.
도 8b는 레코더/플레이어(1) 내에 내용물 데이터에 관한 것이다. 내용물의 각 트랙마다 내용물 키(CK)는 해독되어 결과적인 데이터는 레코더 고유 저장키(Kstd)로 다시 암호화된다. 재암호화된 데이터는 키영역(11)에 저장된다. 즉, 해독처리는 IDES(Kstm, CK)(56비트+8비트)로 표기된다. 재암호화 처리는 DES(Kstd, CK)(56비트+8비트)로 표기된다. 블록키(BK)를 생성하기 위한 파트키(PK)는 내용물의 각 파트(112)마다 기록된다. 파트(112)의 각 블록(113)은 블록 시드(BK_SEED) 및 초기벡터(INV)를 저장할 수 있다. 메모리 카드에서 처럼, 블록키(BK)는 BK=DES(CK(+)PK, BK_SEED)(56비트+8비트)로서 나타낸다.
메모리 카드(40)에 기록 동작
레코더/플레이어(1)의 기록(기입)동작에서 이용될 수 있는 암호화 처리에 대해 도 9를 참조로 설명한다. 단순화를 위해서 도 9에서, 도 1과 유사한 부분들에는 동일한 참조부호로 표시하고 이들의 설명은 생략한다. 또한, 인터페이스(11), 버스(16), 및 제어블록(41)은 이들을 통해 데이터 및 코맨드가 레코더/플레이어(1)의 구성요소와 메모리 카드(40)간에 전송되는 것으로, 단순화를 위해서 도9 및 다음 과정설명을 생략한다. 도 9에서, SeK는 레코더/플레이어(1)와 메모리 카드(40)들이 서로 인증된 후에 이들간에 공유된 세션키이다. 도 9에서, 참조부호 10'은 CD이며 디지털 입력(10)에 입력되는 디지털 오디오 신호원이다.
메모리 카드(40)가 레코더/플레이어(1)에 부착되었을 때, 레코더/플레이어(1)는 부트영역 내 식별정보를 사용하여 메모리 카드(40)가 보안형 메모리 카드인지 여부를 판정한다. 메모리 카드(40)가 보안형 메모리 카드이므로, 레코더/플레이어(10) 및 메모리 카드(40)가 상호 인증된다.
레코더/플레이어(10)와 메모리 카드(40)간 상호인증 처리를 이하 도 10을 참조로 기술한다.
기록 요청신호가 레코더/플레이어(1)에서 메모리 카드(40)로 보내진 후에, 레코더/플레이어(1) 및 메모리 카드(40)는 서로 신호를 인증하여 이에 대해서는 도 10을 참조하여 상세히 설명한다. 레코더/플레이어(1) 및 메모리 카드(40)가 초기 식별처리에 따라 적법한 것으로 서로 인정하다면, 키 기록 처리는 도 11을 참조하여 후술하는 바와 같이 수행된다. 그렇지 않다면, 기록 동작은 종료된다. 키 기록처리가 완료된 후에, 오디오 데이터는 암호화되어 CPU(2)에 의해 인터페이스(11)를 통해 메모리 카드(40)에 기입된다.
도 9에서, 레코더/플레이어(1)는 데이터(곡)의 각각의 트랙에 대해 기록될 난수(random number)를 생성하고 이들 난수 각각에 따라 대응하는 내용물 키(CK)를 생성한다. 레코더/플레이어(1)의 보안 블록(3)은 세션키(SeK)를 사용하여 내용물 키(CK)를 암호화한다. 레코더/플레이어(1)는 암호화된 내용물 키(CK)를 메모리 카드(40)에 출력한다. 메모리 카드(40)에 보안 블록(52)의 DES 암호화/해독 회로(54)는 암호화된 내용물 키(CK)를 해독하고, 해독된 내용물키(CK)를 메모리(55)로부터의 저장키(Kstm)를 사용하여 재암호화한다. 메모리 카드(40)는 재암호화된 CK를 레코더/플레이어(1)(CPU(2))로 출력한다. 레코더/플레이어(1)(CPU(2))는 각각의 트랙의 키 영역(111)에 재암호화된 내용물 키(CK)를 설정한다(도 8b에 도시한 바와 같이). 레코더/플레이어(1)는 각 트랙의 각각의 파트의 데이터 영역(112) 각각에 대해 난수를 발생하고 각 난수에 따라 파트 키(PK)를 생성한다. 각각의 생성된 파트 키(PK)는 CPU(2)에 의해 대응하는 파트 데이터(112)에 설정된다.
임시키(TMK)는 다음의 식(1)에 도시한 바와 같이 각 파트 데이터 영역(112) 에 대해 레코더/플레이어(1)에 의해 파트 키(PK)와 내용물 키(CK)와의 XOR를 수행함으로써 발생될 수 있다. 임시키(TMK)의 생성은 XOR 기능을 사용하는 것으로 한정되지 않는다. 간단한 AND 연산자와 같은, 다른 기능 연산자를 사용하는 것이 가능하다.
TMK = PK XOR CK (1)
레코더/플레이어(1)는 각각의 파트 데이터 영역(112)의 각각의 블록(113)에 대해 난수를 발생하고 각각의 난수에 따라 블록 시드(BK_SEED)를 생성한다. 더욱이, 레코더/플레이어(1)(CPU(2))는 각각의 대응하는 블록(113)에 적합한 위치에 사이 생성된 블록 시드(BK_SEED)를 설정한다. 레코더/플레이어(1)는 식(2)에서 임시키(TMK) 및 블록 시드(BK_SEED)를 사용하여 메시지 인증 코드("MAC") 동작을 수행하며 각 블록(113)에 대해 블록키(BK)를 생성한다.
BK=MAC(TMK, BK_SEED) (2)
MAC 연산 외에, SHA-1(시큐어 해시 알고리즘(secure Hash algorithm), RIPEMD-160, 또는 일방향 해시 함수의 입력에 비밀키를 사용하여 블록키(BK)를 생성함으로써 처리를 수행하는 것이 가능하다. 여기서, 일방향 함수 f는 x로부터 y=f(x)를 계산하기 쉽게 하는 함수를 정의하지만 반대로 y로부터 x를 찾기는 어렵다. 일방향 해시 함수는 "응용 암호문, CRC 프레스 핸드북"에 상세히 기술되어 있다.
오디오 부호화/복호화기(7)는 CD(10')로부터 디지털 입력(10)에 입력된 디지털 오디오 신호 또는 A/D 변환기(9)로부터의 디지털 신호를 압축하며, A/D 변환기는 ATRAC3 포맷에 따라 아날로그 입력(8)에 입력된 아날로그 오디오 신호를 디지털 신호로 변환한다. 이어서, 보안 블록(3)은 블록키(BK)를 사용하여 암호블록 연쇄("CBC" 모드에서 압축된 오디오 데이터를 암호화하는데, 이 CBC 모드는 연합 정보 처리 표준("FIPS") PUB 81("DES MODES OF OPERATION")에 규정된 데이터 암호화 모드이다.
레코더/플레이어(1)는 헤더들을 암호화된 오디오 데이터에 부가하고 결과를 메모리 카드(40)에 출력한다. 메모리 카드(40)는 암호화된 오디오 데이터 및 헤더를 플래시 메모리(42)에 기입한다. 이때, 레코더/플레이어(1)에서 메모리 카드(40)로 오디오 데이터를 기입하는 것이 완료된다.
도 10은 레코더/플레이어(1)(세트)와 메모리 카드(40)(메모리 카드)간에 수행되는 인증 처리를 도시한 것이다. 단계 S1에서, 메모리 카드(40)에서 보안 블록(52)의 난수 발생기는 난수(Rm)을 발생하고 난수(Rm) 및 메모리 카드(40)의 일련번호(ID)를 레코더/플레이어(1)에 보낸다.
단계 S2에서, 레코더/플레이어(1)는 Rm 및 ID를 받아 관계식 IKj=MAC(MKj, ID)에 따라 인증키(IKj)를 발생하며, 여기서 MKj는 보안 블록(3)에 저장된 마스터 키 중 하나이다. 레코더/플레이어(1)는 난수(Rd)를 발생하고 인증키를 갖는 메시지 인증자(MACA), 즉 MAC(IKj, Rd//Rm//ID)를 생성한다. 그후, 레코더/플레이어(1)는 메모리 카드(40)에 Rd//Sd//MACA//j를 보낸다.
단계 S3에서, 메모리 카드(40)는 데이터 RD//Sd//MACA//j를 수신하여, j에 대응하는 보안 블록(52)으로부터 인증키(IKj)를 찾고, Rd, Rm, 및 ID를 사용하여 인증키(IKj)로 MACB를 계산한다. 계산된 MACB가 수신된 MACA와 같을 때, 메모리 카드(40)는 레코더/플레이어(1)가 유효한 것으로(즉, 인증된 것으로) 판정된다. 단계 S4에서, 메모리 카드(40)는 MACC=MAC(IKj, Rm//Rd)를 생성하고 난수(Sm)을 발생한다. 그후, 메모리 카드(40)를 Sm//MACC를 레코더/플레이어(1)에 보낸다.
단계 S5에서, 레코더/플레이어(1)는 메모리 카드(40)로부터 Sm//MACC를 수신한다. 레코더/플레이어(1)는 IKj, Rm 및 Rd를 사용하여 MACD를 계산한다. 계산된 MACD이 수신된 MACC와 같을 때, 레코더/플레이어(1)는 메모리 카드(40)가 유효한 것으로(즉, 인증된 것으로) 판정한다. 단계 S6에서, 레코더/플레이어(1)는 MAC(IKj, Rm//Rd)를 세션키(SeK)로서 지정한다. 단계 S7에서, 메모리 카드(40)는 MAC(IKj, Rm//Rd)를 세션키(SeK)로서 지정한다. 레코더/플레이어(1) 및 메모리 카드(40)이 상호 인증될 때, 세션키(SeK)는 이들간에 공유된다. 세션키(SeK)는 인정이 성공된 때마다 생성된다.
도 11은 메모리 카드(40)(메모리 카드)의 플래시 메모리(42)에 레코더/플레이어(1)(세트)가 오디오 데이터를 기록하는 경우에 키 기록 처리를 도시한 것이다. 단계 S11에서, 레코더/플레이어(1)는 내용물의 각 트랙에 대해 난수를 발생하고 내용물 키(CK)를 생성한다. 단계 S12에서, 레코더/플레이어(1)는 내용물 키(CK)를 세션키(SeK)를 사용하여 암호화하고 암호화된 DES(SeK, CK)를 메모리 카드(40)에 보낸다.
단계 S13에서, 메모리 카드(40)는 레코더/플레이어(1)로부터 데이터 DES(SeK, CK)를 수신하며 내용물 키(CK)를 세션키(SeK)로 해독한다. 해독처리는 IDES(SeK, DES(SeK, CK))로 표기된다. 단계 S14에서, 메모리 카드(40)는 해독된 내용물 키(CK)를 메모리(55)로부터의 저장키(Kstm)로 재암호화하고 이 재암호화된 키(DES)(Kstm, CK)를 레코드/플레이어(1)로 보낸다.
단계 S15, 레코더/플레이어(1)는 대응하는 파트 데이터 영역(112)을 관리하기 위해 키 영역(111)에 재암호화된 내용물 키(CK)를 넣고 포맷화 처리를 수행하여, 재암호화된 내용물 키(CK) 및 내용물이 메모리 카드(40)의 플래시 메모리(42)에 기록되도록 한다. 내용물을 암호화하기 위해서, 내용물 키(CK) 및 파트 키(PK)는 도 9에 도시한 바와 같이 배타논리-OR(XOR, 또는 대안으로, AND)된다. XOR 연산 결과는 임시키(TMK)이다. 임시키(TMK)는 보안 블록(3)에만 저장된다. 따라서, 임시키(TMK)는 보안 블록(3) 외부로부터 액세스될 수 없다. 각 블록(1132)의 시작시, 난수는 블록 시드(BK_SEED)로서 발생된다. 난수는 각각의 파트 데이터 영역(112)에 저장된다. 레코더/플레이어(1)는 블록키(BK)를 얻기 위해서 임시키(TMK)로 블록 시드(BK_SEED)를 암호화한다. 즉, BK=(CK(+)PK, BK_SEED)의 관계가 얻어진다. 블록키(BK)는 보안 블록(3)에만 저장된다. 따라서, 블록키(BK)는 보안 블록(3)의 외부로부터 액세스될 수 없다.
단계 S16에서, 레코더/플레이어(1)는 블록단위로 각각의 파트 데이터 영역(112) 내의 데이터를 블록키(BK)를 사용하여 암호화하여 이 암호화된 데이터 및 키영역(111) 내의 데이터를 메모리 카드(40)로 보낸다. 단계 S17에서 메모리 카드(40)는 레코더/플레이어(1)로부터 수신된 암호화된 데이터 및 키 영역(110)내의 데이터(헤더 데이터)를 플래시 메모리(42)에 기록한다.
메모리 카드(40)로부터 판독동작
레코더/플레이어(1)의 재생(판독)동작에서 사용하기 위한 해독처리를 도 12를 참조하여 설명한다. 간단하게 하기 위해서, 도 12에서 도 1과 동일부분은 동일 참조부호로 표기하였으며 이에 대한 설명은 생략한다. 또한, 인터페이스(11), 버스(16), 및 제어블록(41)은 이들을 통해 데이터 및 코맨드가 레코더/플레이어(1)의 구성요소와 메모리 카드(40)간에 전송되는 것으로, 간단하게 하기 위해서 도12 및 다음 과정 설명이 생략되었다.
원하는 데이터의 트랙(곡)을 명시하는 판독 요청신호는 레코더/플레이어(1)에서 메모리 카드(40)로 보내진다. 레코더/플레이어91) 및 메모리 카드(40)는 도 10을 참조하여 전술한 바와 같이, 상호인증 동작을 수행한다. 레코더/플레이어(1) 및 메모리 카드(40)가 상호인증 처리에 따라 적법한 것으로 서로 인식한다면, 도 11을 참조하여 상기 기술된 바와 같이, 키 기입처리가 수행된다. 그렇지 않으면, 판독동작은 종료된다. 키 기입처리가 완료된 후에, 암호화된 오디오 데이터는 CPU(2)에 의해 메모리 카드(40)에서 레코더/플레이어(1)로 읽혀진다.
상호식별이 메모리 카드(40)와 레코더/플레이어(1)간에 수행되기 때문에, 암호화된 내용물 키(CK)는 메모리 카드(40) 및 레코더/플레이어(1)가 서로 적법한 것 으로 확인한 때에만 적합한 세션키(ScK)를 사용하여 해독될 수 있다. 그러므로, 오디오 데이터의 불법이용이 쉽게 회피된다. 판독 동작시 읽혀진 데이터는 도 9에 도시한 전술한 기입 동작에 의해 기입되었다. 각각의 파트 데이터 영역(112) 내의 내용물 키(CK) 및 파트 키(PK), 및 각 블록(113)의 블록시드(BK_SSED)의 설정된 바를 사용하여 대응하는 파트 데이터 영역(102)에 데이터를 기입 및 이로부터 데이터를 판독한다. 도 10의 단계 S10이 완료된 후에, 메모리 카드(40) 및 레코더/플레이어(1)는 세션키(ScK)를 공유한다. 메모리 카드(40)로부터 오디오 데이터를 읽는 것은 다음과 같이 진행된다.
메모리 카드(40)는 판독 요청 신호에 대응하는 파트 데이터 영역(102)(도 8a) 내의 데이터를 명시하여 명시된 파트 데이터 영역(102) 내의 블록(103)(도 8a)으로부터 사운드 단위(SU)로 오디오 데이터를 출력한다. 메모리 카드(40)는 오디오 데이터의 대응하는 키 영역(101)(도 8a)을 읽고 이를 레코더/플레이어(1)로 출력한다.
레코더/플레이어(1)는 키영역(101) 내의 데이터로부터 암호화된 내용물 키(CK)를 취하여 이를 메모리 카드(40)로 출력한다. 메모리 카드(40) 내의 보안 블록(52)의 DES 암호화/해독 회로(54)는 메모리(55)에 저장된 저장키(Kstm)를 사용하여 암호화된 내용물 키(CK)를 해독하고, 해독된 내용물 키(CK)를 세션키(ScK)를 사용하여 재암호화한다.
메모리 카드(40)는 재암호화된 내용물 키(CK)를 레코더/플레이어(1)로 출력한다. 레코더/플레이어(1)는 세션키(ScK)를 사용하여 메모리 카드(40)로부터 재암 호화된 내용물 키(CK)를 해독한다. 레코더/플레이어(1)는 해독된 내용물 키(CK)와 각 파트 데이터 영역(102) 내의 데이터로부터 파트 키(PK)와의 XOR를 얻어 식(3)에 따라 임시키(TMK)를 얻도록 한다.
TMK=PK XOR CK (3)
레코더/플레이어(1)는 임시키(TMK) 및 각 파트 데이터 영역(102) 내의 블록시드(BK_SEED)를 사용하여 다음식(4)에 나타낸 MAC 연산을 수행함으로써 블록키(BK)를 얻는다. 블록키(BK)는 다음과 같이 모든 블록(103)에 대해 구한다.
BK=MAC(TMK, BK_SEED) (4)
레코더/플레이어(1)의 보안 블록(3)은 블록키(BK)를 사용하여 오디오 데이터를 해독한다. 구체적으로, 오디오 데이터는 개별적으로 구한 블록키(BK)를 사용하여 모든 블록(103)에 대해 해독된다. 더욱이, 해독은 암호화에 사용된 바와 동일한 15KB 블록에 수행된다. 오디오 부호화/복호화기(7)는 ATRAC3 시스템에 따라, 해독된 오이도 데이터를 신장시켜 디지털 출력(14)을 통해 상기 복호된 신호를 출력하거나 D/A 변환기(12)는 디지털 오디오 신호를 아날로그 신호로 변환하고 결과를 아날로그 출력(13)을 통해 출력한다. 대안으로, 보안 블록(3)으로부터 ATRAC3 오디오 데이터는 출력(15)을 토해 출력된다. 오디오 부호화/복호화기(7)는 오디오 데이터를 사운드 단위(SU)로 신장한다.
도 13은 메모리 카드(40)의 플래시 메모리(42)에 저장된 오디오 트랙을 레코더/플레이어(1)가 재생할 때 해독처리를 도시한 것이다. 도 9 내지 도 11에 도시한 기입 동작에서처럼, 세션키(SeK)는 레코더/플레이어(1)와 메모리 카드(40)가 사오 인증된 후에 이들간에 공유된다.
단계 S21에서, 레코더/플레이어(1)(세트)는 메모리 카드(40)(메모리 카드)로부터 데이터를 읽고 저장키(Kstm)로 암호화된 내용물키(CK)(즉, DES(Kstm, CK))와 암호화된 내용물(원하는 트랙의 파트 데이터 영역(들))을 얻는다. 그후, 레코더/플레이어(1)는 저장키(Kstm)로 암호화된 내용물키(CK)를 메모리 카드(40)로 보낸다.
단계 S22에서, 메모리 카드(40)는 저장키(Kstm)를 사용하여 내용물키(CK)를 해독한다(즉, IDES(Kstm, DES(Kstm, CK)). 단계 S23에서, 메모리 카드(40)는 해독된 내용물키를 세션키(ScK)로 암호화하여 DES(SeK, CK)를 레코더/플레이어(1)로 보낸다.
단계 S24에서, 레코더/플레이어91)는 내용물키를 세션키(ScK)로 해독한다. 단계 S25에서, 레코더/플레이어(1)는 해독된 내용물키(CK), 파트키(PK), 및 블록시드(BK_SEED)로 블록키(BK)를 생성한다. 단계 S26에서, 레코더/플레이어(1)는 블록키(BK)를 사용하여 블록단위로 각각의 암호화된 파트 데이터 영역(102)을 해독한다. 오디오 부호화/복호화기(7)는 해독된 오디오 데이터를 복호한다.
도 2에 도시한 인터페이스(11)에 관련하여, 도 14는 메모리 카드(40)로부터 데이터를 읽는 타이밍도를 도시한 것이다. 데이터를 동기화하는데 사용되는 클럭신호는 클럭라인(SCK)을 통해 보내진다. 데이터가 레코더/플레이어(1)와 메모리 카드(40)간에 송수신될 때, 상태라인(SBS)의 신호레벨은 로우이다. 초기조건을 상태0(초기상태)라 칭한다. t31의 타이밍에서, 레코더/플레이어(1)는 상태라인(SBS)의 신호레벨이 하이로 되게 한다(상태1).
상태라인(SBS)의 신호레벨이 이라로 될 때, 메모리 카드(40)(S/P 및 P/S IF 블록(43)은 상태0이 상태1로 변경된 것으로 판정한다. 상태1에서, 레코더/플레이어(1)는 판독 코맨드를 데이터 라인(DIO)을 통해 메모리 카드(40)로 보낸다. 따라서, 메모리 카드(40)는 판독 코맨드를 수신한다. 판독 코맨드는 전송 프로토콜 코맨드("TPC")라 하는 프로토콜 코맨드이다. 후술하는 바와 같이, 프로토콜 코맨드는 통신의 내용물 이에 이어지는 데이터의 길이를 나타낸다.
타이밍 t32에서, 코맨드가 전송된 후에, 상태라인(SBS)의 신호레벨은 하이에서 로우로 변경된다. 따라서, 상태1은 상태로 변경된다. 상태2에서, 메모리 카드(40)에 의해 수신된 코맨드에 의해 지정된 처리가 수행된다. 실제로, 판독 코맨드에 의해 지정된 어드레스의 데이터는 플래시 메모리(42)에서 페이지 버퍼(45)로 읽혀진다. 처리가 수행되고 있는 동안, 비지신호(하이레벨)가 데이터 라인(DIO)을 통해 레코더/플레이어(1)로 보내진다.
타이밍 t33에서, 데이터가 플래시 메모리(42)에서 페이지 버퍼(45)로 읽혀진 후에, 비지신호의 공급이 정지된다. 판독 코맨드에 따라 메모리 카드(40)가 데이터를 보낼 준비가 된 것을 나타내는 준비신호(로우레벨)는 레코더/플레이어(1)로 출력된다.
레코더/플레이어(1)가 메모리 카드(40)로부터 준비신호를 수신할 때, 레코더/플레이어(1)는 메모리 카드(40)가 판독 코맨드로 처리할 준비가 된 것으로 판정한다. 타이밍 t34에서, 레코더/플레이어(1)는 상태 라인(SBS)의 신호레벨이 하이로 되게 한다. 즉, 상태2는 상태3으로 변경된다.
상태3에서, 메모리 카드(40)는 페이지 버퍼(45)로 읽혀진 데이터를 데이터 라인(DIO)을 통해 레코더/플레이어(1)로 출력한다. 타이밍 t35에서, 판독 데이터가 보내진 후에, 레코더/플레이어(1)는 클럭라인(SCK)을 통해 클럭신호를 보내는 것을 정지한다. 더욱이, 레코더/플레이어(1)는 상태라인(SBS)의 신호레벨이 하이에서 로우로 되게 한다. 따라서, 상태3은 초기상태(상태0)로 변경된다.
인터럽트 처리가 이를테면 메모리 카드(40)에서 타이밍 t36에서 상태변화에 기인하여 수행될 때, 메모리 카드(40)는 인터럽트 신호를 데이터 라인(DIO)fm 통해 레코더/플레이어(1)로 보낸다. 레코더/플레이어(1)가 상태0에서 데이터 라인(DIO)을 통해 메모리 카드(40)로부터 인터럽트 신호를 수신할 때, 레코더/플레이어(1)는 신호는 인터럽트 신호인 것으로 판정하고 인터럽트 신호에 대응하는 처리를 수행한다.
도 15는 메모리 카드(40)의 플래시 메모리(42)에 데이터가 기입되는 동작의 타이밍도이다. 초기상태(상태0)에서, 클럭신호는 클럭라인(SCK)을 통해 보내지지 않는다. 타이밍 t41에서, 레코더/플레이어(1)는 상태라인(SBS)의 신호레벨이 로우에서 하이로 변경되게 한다. 따라서, 상태0은 상태1로 변경된다. 상태1에서, 메모리 카드(40)는 코맨드를 수신할 준비가 되어 있다. 타이밍 t41에서, 기입 코맨드는 데이터 라인(DIO)을 통해 메모리 카드(40)로 보내지며 메모리 카드(40)는 기입 코맨드를 수신한다.
타이밍 t42에서, 레코더/플레이어(1)는 상태라인(SBS)의 신호레벨이 하이에서 로우로 변경되게 한다. 따라서, 상태1은 상태2로 변경한다. 상태2에서, 레코더/ 플레이어(1)는 기입 데이터를 데이터 라인(DIO)을 통해 메모리 카드(40)로 보내며 메모리 카드(40)는 수신된 기입 데이터를 페이지 버퍼(45)에 저장한다.
타이밍 t43에서, 레코더/플레이어(1)는 상태라인(SBS)의 신호레벨이 로우에서 하이로 변경되게 한다. 따라서, 상태2는 상태3으로 변경한다. 상태3에서, 메모리 카드(40)는 기입 데이터를 플래시 메모리(42)에 기입하며, 메모리 카드(40)는 비지 신호(하이레벨)를 레코더/플레이어(1)에 데이터 라인(DIO)을 통해 보내며, 레코더/플레이어(1)는 기입 코맨드를 메모리 카드(40)에 보낸다. 현재의 상태는 상태3이므로, 레코더/플레이어(1)는 메모리 카드(40)로부터 수신된 신호가 상태신호인 것으로 판정한다.
타이밍 t44에서, 메모리 카드(40)는 비지신호를 출력하는 것을 중지하고 준비신호(로우레벨)를 레코더/플레이어(1)로 보낸다. 레코더/플레이어(1)가 준비신호를 수신할 때, 레코더/플레이어(1)는 기입 코맨드에 대응하는 기입처리를 완료한 것으로 판정하고 클럭 신호를 보내는 것을 중지한다. 부가적으로, 타이밍 t45에서, 레코더/플레이어(1)는 상태라인(SBS)의 신호레벨이 하이에서 로우로 되게 한다. 따라서, 상태3은 상태0(초기상태)으로 돌아간다.
레코더/플레이어(1)가 상태0에서 메모리 카드(40)로부터 하이레벨 신호를 데이터 라인(DIO)을 통해 수신하였을 때, 레코더/플레이어(1)는 수신된 신호가 인터럽트 신호인 것으로 판정한다. 레코더/플레이어(1)는 수신된 인터럽트 신호에 대응하는 처리를 수행한다. 메모리 카드(40)가 레코더/플레이어(1)로부터 분리되었을 때, 메모리 카드(40)는 인터럽트 신호를 발생한다.
판독처리 및 기입처리 이외에, 상태1에서 코맨드가 보내진다. 상태2에서, 코맨드에 대응하는 데이터가 보내진다.
레코더/플레이어(1)와 메모리 카드(40)간 배치된 직렬 인터페이스가 전술한 바와 같은 인터페이스(11)로 한정되지 않는다. 즉, 여러 유형의 직렬 인터페이스가 사용될 수 있다.
도 16은 직렬 인터페이스의 데이터 라인(DIO)을 통해 보내진 프로토콜 코맨드(TPC 코드)의 예를 도시한 테이블이다. 각각의 프로토콜의 데이터 길이는 1바이트이다. 도 16에서, 각각의 프로토콜 코맨드는 16진수 표기로 표현되고(첨자는 h) 십진기 표기(0과 1)로 표현된다. 더욱이, 개개의 프로토콜 코맨드의 정의는 비보안형 메모리 카드(40')(도 3 참조) 및 보안형 메모리 카드(40)(도 2) 양자를 나타낸다. 도 16에서, R 및 W는 판독형 프로토콜 코맨드와 기입형 프로토콜 코맨드를 각각 나타낸다. 전술한 바와 같이, 코맨드가 상태1에서 보내지고 데이터가 상태2에서 보내지므로, 각 프로토콜 코맨드에 대응하는 데이터 길이(바이트)가 보여진다.
이때, 프로토콜 코맨드 TPC 각각을 기술한다.
TPC=2Dh는 통상의 플래시 메모리에의 액세스 코맨드이다(이 코맨드를 단순히 메모리 제어 코맨드라함). 이 코맨드는 페이지 데이터 판독 코맨드이며 메모리 카드(40 및 40')에 공통이다. 코맨드가 선행되는 데이터의 길이는 1페이지에 대한 데이터 길이(512바이트 + 2바이트(CRC))이다. 페이지 데이터는 페이지 버퍼(45)로부터 읽혀진다.
TPC=D2h는 메모리 제어 코맨드이다. 이 코맨드는 페이지 데이터 기입 코맨드 이다. 코맨드에 의해 처리된 데이터의 길이는 1페이지에 대한 데이터(512바이트+2바이트(CRC))이다. 페이지 데이터는 페이지 버퍼(45)에 기입된다.
TPC=48h는 메모리 제어 코맨드이다. 이 코맨드는 판독 레지스터(48)에 대한 판독 코맨드이다. 코맨드가 선행하는 데이터의 데이터 길이는 (31바이트 + 2바이트(CRC))이다.
TPC=B4h는 메모리 제어 코맨드이다. 이 코맨드는 기입 레지스터(46)에 대한 기입 코맨드이다. 코맨드가 선행되는 데이터의 데이터 길이는 (31바이트+2바이트(CRC))이다.
TPC=78h는 메모리 제어 코맨드이다. 이 코맨드는 판독 레지스터(48)로부터 1바이트를 읽게 하는 코맨드이다. 코맨드가 선행되는 데이터의 데이터 길이는 (1바이트+2바이트(CRC))이다.
TPC=87h는 메모리 제어 코맨드이다. 이 코맨드는 코맨드 레지스터(44)의 액세스 범위를 가변시키는 코맨드이다. 코맨드가 선행되는 데이터의 데이터 길이는 (4바이트+2바이트(CRC))이다.
TPC=1또는 메모리 카드(40)의 보안 블록(52)의 상태 레지스터에 대한 데이터 판독 코맨드이다. 그러나, 이 코맨드는 메모리 카드(40')용으로 정의되지 않는다. 코맨드가 선행되는 데이터의 데이터 길이는 (2바이트+2바이트(CRC))이다. 보안 블록(52)에만 관련한 코맨드를 보안 코맨드라 한다.
TPC=E1h는 메모리 제어 코맨드이다. 이 코맨드는 코맨드 레지스터(44)에 대한 코맨드 세트 코맨드이다. 이 코맨드에는 TPC 코맨드보다 낮은 레벨 계층의 코맨 드가 이어진다. 따라서, 이 코맨드의 데이터 길이는 (1바이트+2바이트(CRC))이다.
TPC=3Ch는 메모리 카드(40)의 보안 블록(52)에 대한 보안 데이터 판독 코맨드이다. 그러나, 이 코맨드는 메모리 카드(40')에 대해 정의되지 않는다. 코맨드가 선행되는 데이터의 데이터 길이는 (24바이트+2바이트(CRC))이다.
TPC=C3h는 메모리 카드(40)의 보안 블록(52)에 대한 보안 데이터 기입 코맨드이다. 그러나, 이 코맨드는 메모리 카드(40')에 대해 정의되지 않는다. 코맨드가 선행되는 데이터의 데이터 길이는 (26바이트+2바이트(CRC))이다.
도 17 및 도 18을 참조하여 TPC=E1h 코맨드가 이어지는 코맨드(1바이트)에 대해 기술한다. 도 17은 비보안형 메모리 카드(40')에 대한 코맨드를 도시한 것이다. 이들은 다음과 같다.
E1h=AAh: 블록 판독 코맨드
E1h=55h: 블록 기입 코맨드
E1h=33h: 블록 판독/기입 취소 코맨드
E1h=99h: 블록 소거 코맨드
E1h=CCh: 메모리 동작 정지 코맨드
E1h=5Ah: 전원영역 모드 코맨드
E1h=C3h: 페이지 버퍼 클리어 코맨드
E1h=3Ch: 메모리 제어기 리셋 코맨드
도 18은 보안형 메모리 카드(40)용 코맨드이다. 도 18에 도시한 코맨드(AAh 내지 3Ch)의 정의는 도 17에 도시한 것들과 동일하기 때문에, 이들은 생략한다. 즉, 이들 코맨드는 메모리 카드(40 및 40')와 공통으로 정의된 메모리 제어 코맨드이다. 도 18에서, 코맨드(60h 내지 83h)는 메모리 카드(40) 전용의 부호화 처리(해독처리 및 암호화 처리를 포함하는)를 위한 보안 코맨드이다.
도 17 및 도 18에 도시한 바와 같이, 메모리 카드(40, 40')에 공통인 메모리 제어 코맨드(TPC) 및 메모리 카드(40) 전용의 보안 코맨드(TPC)가 정의된다. 마찬가지로, 이 관계는 하위 계층 레벨의 코맨드에 적용한다. 즉, 하위 계층 레벨에서, 공통되는 메모리 제어 코맨드 및 보안 코맨드가 정의된다. 보안 코맨드는 메모리 카드(40')용으로 정의되지 않는다(사용되지 않는다). 실시예에 따라서, S/P 및 P/S IF 블록(43)이 레코드(1)로부터 직렬 인터페이스를 통해 코맨드를 수신할 때, 메모리 카드(40)는 수신된 코맨드(TPC)가 공통의 메모리 제어 코맨드인지 또는 보안 코맨드인지 여부를 판정한다. 메모리 카드(40)는 후속되는 데이터를 상기 판정된 결과에 대응하는 적합한 회로로 보낸다. 수신된 코맨드가 예를 들면 코맨드에 이어 또 다른 코맨드가 이어지는 TPC=E1h 코맨드일 때, 메모리 카드(40)는 도 18에 도시한 코맨드에 대한 정의에 대응하는 적합한 회로에 코맨드들을 보낸다.
도 19는 수신된 코맨드에 대응하여, 데이터를 보낼 회로를 선택하기 위한 장치를 도시한 것이다. 장치는 메모리 카드(40)의 인터페이스 회로 내에 구현된다. 데이터는 레코더(1)로부터 데이터 라인(DIO)을 통해 메모리 카드(40)로 보내진다. 수신된 데이터는 지연회로(150)를 거쳐 스위치 회로(152)의 단자 "a"로 공급된다. 더욱이, 수신된 데이터는 검출 회로(151)의 입력단자에 공급된다. 검출 회로(151)는 데이터 라인(DIO)을 통해 수신된 프로토콜 코맨드(TPC)가 메모리 제어 코맨드인 지 또는 보안 코맨드인지를 프로토콜 코맨드의 코드 값에 따라 판정한다. 스위치 회로(152)는 판정결과에 따라 제어된다. 지연회로(150)는 검출 회로(151)의 검출시간을 보상한다. 이들 구성요소는 S/P 및 P/S IF 블록(43) 내의 하드웨어 및/또는 소프트웨어에 의해 달성된다. 실시예에 따라서, 메모리 제어 코맨드에 사용되지 않는 코드가 보안 코맨드에 할당되기 때문에, 검출 회로(151)는 2가지 유형의 코맨드를 쉽게 판정할 수 있다.
검출 회로(151)가 수신된 프로토콜 코맨드가 메모리 제어 코맨드인 것으로 판정하였을 때, 스위치 회로(151)의 단자 "a"는 단자 "b"에 접속된다. 따라서, 메모리 제어 코맨드는 페이지 버퍼(예를 들면, 도 2에 도시한 페이지 버퍼(45), 그러나 명료하게 하기 위해서 도 19에는 생략되었음), 레지스터(예를 들면, 도 2에 도시한 레지스터(46 또는 48)) 등에 스위치 회로(151)의 단자 "a" 및 "b"를 통해 공급되어 플레이 메모리(42)를 제어한다. 메모리 제어 코맨드 다음의 데이터는 페이지 버퍼, 레지스터로부터 레코더(1)로 스위치 회로(151)의 단자 "b" 및 "a"를 통해 공급된다.
수신된 프로토콜 코맨드가 보안 코맨드인 것으로 검출 회로(151)가 판정하였을 때, 스위치 회로(151)의 단자 "a"는 이 외호의 단자 "c"에 접속된다. 보안 코맨드는 스위치 회로(151)의 단자 "a" 및 "c"를 통해 보안 블록(52)에 공급된다. 보안 코맨드 다음의 데이터는 보안 블록(25)에 공급된다. 데이터는 보안 블록(52)으로부터 스위치 회로(151)의 단자 "a" 및 "c"를 통해 레코더(1)에 보내진다.
수신된 코맨드가 프로토콜 코맨드(TPC=E1h)일 때, 이 다음에 정규 메모리 제어 코맨드 또는 보안 코맨드가 온다. 검출 회로(151)가 TPC=E1h 프로토콜 코맨드를 수신하였을 때, 검출 회로(151)는 코맨드 다음에 제어 코맨드가 오는지 또는 보안 코맨드가 오는지를 판정한다. 메모리 카드(40)는 판정결과에 따라 스위치 회로(151)를 제어한다. 수신된 코맨드가 코맨드 TPC=E1h 이외의 것이고 그에 이에 메모리 제어 코맨드 또는 보안 코맨드가 올 때, 메모리 카드(40)는 코맨드의 코드값에 대응하는 적합한 회로에 데이터를 보낼 수 있다.
메모리 카드(40)는 수신된 코맨드가 메모리 제어 코맨드 또는 보안 코맨드인지 여부를 판정하는 기능이 있기 때문에, 메모리 카드(40)는 비보안형 레코드용으로 사용될 수 있다. 즉, 비보안형 레코더는 메모리 카드(40)와 보안정보를 교환하지 않는다. 비보안형 레코더는 기입/판독 메모리 제어 코맨드 및 이에 대응하는 데이터만을 메모리 카드(40)로 보낸다. 전술한 바와 같이, 메모리 카드(40)는 레코더로부터 수신된 코맨드가 메모리 제어 코맨드인지 여부를 판정하여 이에 대응하는 데이터를 플래시 메모리(42)에 기입하거나 이로부터 읽는다. 따라서, 데이터는 메모리 카드(40)에 기입될 수 있거나 이로부터 읽혀질 수 있다.
다음의 청구 범위는 본 명세서에 기술된 본 발명의 포괄적인 특정한 특징 모두와, 언어 문제상 본 발명의 범위에 대한 모든 서술 문간에 든다고 할 모든 서술물을 포함하게 한 것이다.
전술한 실시예에 따라, DES는 바람직한 암호화 방법으로서 기술되었다. 그러나, 여러 가지 다른 암호화 기술을 대안으로 사용될 수 있다.
본 발명에 따라, 비휘발성 메모리 및 보안 블록을 갖는 메모리 카드는 오디오 및/또는 비디오 레코더와 같은 보안형 및 비보안형 데이터 처리 장치 양자에 사용될 수 있다. 따라서, 보안형 메모리 카드의 호환성이 개선된다.
더욱이, 본 발명에 따라, 데이터 처리 장치와 메모리 카드간 통신에 사용되지 않는 코드는 보안 동작용 제어 데이터에 할당되기 때문에, 문제없이 종래의 비보안형 메모리 카드에 대해서도 전술한 호환성이 얻어진다. 즉, 비보안형 전자장치를 사용할 수 있을 때, 본 발명에 따른 보안형 메모리 카드를 전자장치에 사용할 수 있다. 전자장치와 메모리 카드간에 교환되는 데이터에 새로운 식별자를 부가하고 데이터 유형을 식별하는 방법에서, 새로운 식별자 요건 외에, 종래의 전자장치는 사용될 수 없다. 그러나, 이러한 문제를 나타내지 않는 본 발명에 의해서, 종래의 전자장치 및 종래의 메모리 카드와의 호환성이 달성될 수 있다.

Claims (15)

  1. 데이터 처리 장치에 제거 가능하게 부착할 수 있는 메모리 장치에 있어서,
    비휘발성 메모리;
    상기 비휘발성 메모리에 저장된 데이터의 보안을 보호하는 보안 수단; 및
    상기 데이터 처리 장치로부터, 제 1 제어 데이터 및 상기 제 1 제어 데이터와 다른 제 2 제어 데이터를 수신하기 위한 인터페이스로서, 상기 인터페이스는 상기 비휘발성 메모리에 대하여 판독 또는 기록 동작을 위해 수신된 제 1 제어 데이터를 공급하며, 상기 보안 수단의 보안 동작을 위해 수신된 제 2 제어 데이터를 공급하는, 상기 인터페이스;를 포함하는, 메모리 장치.
  2. 제 1 항에 있어서,
    상기 인터페이스는 상기 데이터 처리 장치로부터 들어오는 제어 데이터가 상기 제 1 제어 데이터인지 또는 상기 제 2 제어 데이터인지 검출하는 검출 수단, 및 상기 검출 수단의 검출에 따라, 상기 제 1 제어 데이터는 상기 비휘발성 메모리에 공급되고 상기 제 2 제어 데이터는 상기 보안 수단에 공급되는 방식으로, 상기 제어 데이터를 스위칭하는 스위칭 수단을 포함하는, 메모리 장치.
  3. 제 1 항에 있어서,
    상기 인터페이스에 의한 상기 제 1 또는 제 2 제어 데이터의 수신에 이어, 상기 인터페이스는 상기 제 1 또는 제 2 제어 데이터 각각에 의해 정의되는 데이터를 수신하는, 메모리 장치.
  4. 제 3 항에 있어서,
    상기 제 1 제어 데이터 또는 상기 제 2 제어 데이터 이후에 수신된 상기 데이터는, 상기 비휘발성 메모리에 대한 상기 판독 및 기록 동작을 위한 제 1 코맨드, 및 상기 제 1 코맨드와 다른 상기 보안 동작을 위한 제 2 코맨드를 포함하는, 메모리 장치.
  5. 제 4 항에 있어서,
    상기 인터페이스는 상기 비휘발성 메모리에 대한 판독 또는 기입 동작을 위한 상기 제 1 코맨드를 공급하며 상기 보안 수단의 보안 동작을 위한 상기 제 2 코맨드를 공급하는, 메모리 장치.
  6. 제 1 항에 있어서,
    상기 인터페이스는, 상기 인터페이스와 상기 비휘발성 메모리 사이에 동작적으로(operatively) 결합된 페이지 버퍼, 기록 레지스터, 및 판독 레지스터 중 적어도 하나에, 상기 제 1 제어 데이터를 출력하는, 메모리 장치.
  7. 제 1 항에 있어서,
    상기 메모리 장치는, 상기 제 1 제어 데이터를 전송하며 상기 제 2 제어 데이터는 전송하지 않는 비보안형 데이터 처리 장치에 제거 가능하게 부착할 수 있고 상기 비보안형 데이터 처리 장치와 함께 동작할 수 있으며, 상기 제 1 및 제 2 제어 데이터 모두를 전송하는 보안형 데이터 처리 장치에 제거 가능하게 부착할 수 있고 상기 보안형 데이터 처리 장치와 함께 동작할 수 있는, 메모리 장치.
  8. 제 7 항에 있어서,
    상기 비보안 및 보안형 데이터 처리 장치들은 오디오 레코더/플레이어 및 이미지 기록/재생 디바이스로 구성된 그룹에서 각각 선택되는, 메모리 장치.
  9. 제 1 항에 있어서,
    상기 보안 수단은 상기 데이터 처리 장치의 보안 수단과 관련하여 세션키를 공유함으로써 상기 비휘발성 메모리에 저장된 데이터의 보안을 보호하도록 구성되는, 메모리 장치.
  10. 데이터 처리 장치에 제거 가능하게 부착된 메모리 장치에 데이터를 기록하기 위한 상기 데이터 처리 장치로서, 상기 메모리 장치는 비휘발성 메모리 및 보안 수단을 갖으며, 상기 데이터 처리 장치는,
    상기 메모리 장치와 통신하는 인터페이스; 및
    상기 메모리 장치의 보안 수단과 관련하여 상기 비휘발성 메모리에 저장된 데이터의 보안을 보호하는 보안 수단;을 포함하며,
    상기 데이터 처리 장치는 상기 인터페이스를 통해, 상기 비휘발성 메모리에 대하여 판독 또는 기록 동작을 위한 제 1 제어 데이터, 및 상기 제 1 제어 데이터와 다른 보안 동작을 위한 제 2 제어 데이터를 전송하는, 데이터 처리 장치.
  11. 제 10 항에 있어서,
    상기 제 1 또는 제 2 제어 데이터의 전송에 이어, 상기 데이터 처리 장치는 상기 각각의 제 1 또는 제 2 제어 데이터에 의해 정의된 데이터를 전송하는, 데이터 처리 장치.
  12. 제 10 항에 있어서,
    상기 제 1 제어 데이터 또는 상기 제 2 제어 데이터 이후에 전송된 상기 데이터는 상기 비휘발성 메모리에 대한 상기 판독 및 기록 동작을 위한 제 1 코맨드, 및 상기 제 1 코맨드와 다른 상기 보안 동작을 위한 제 2 코맨드를 포함하는, 데이터 처리 장치.
  13. 데이터 처리 장치, 및 상기 데이터 처리 장치에 제거 가능하게 부착된 비휘발성 메모리를 갖는 데이터 처리 시스템으로서, 상기 메모리 장치는 비휘발성 메모리 및 보안 수단을 갖으며,
    상기 데이터 처리 장치는 상기 메모리 장치의 보안 수단과 관련하여 상기 비휘발성 메모리에 저장된 데이터의 보안을 보호하는 보안 수단을 포함하며,
    상기 데이터 처리 시스템은 상기 데이터 처리 장치 및 상기 메모리 장치간 인터페이스 수단을 포함하며, 상기 비휘발성 메모리에 대한 판독 또는 기록 동작을 위한 제 1 제어 데이터와 상기 제 1 제어 데이터와 다른 보안 동작을 위한 제 2 제어 데이터는 상기 데이터 처리 장치로부터 상기 메모리 장치로 상기 인터페이스 수단을 통해 전송되는, 데이터 처리 시스템.
  14. 데이터 처리 장치, 및 상기 데이터 처리 장치에 제거 가능하게 부착된 메모리 장치를 갖는 데이터 처리 시스템의 데이터 처리 방법으로서, 상기 메모리 장치는 비휘발성 메모리와 상기 비휘발성 메모리에 저장된 데이터의 보안을 보호하는 보안 수단을 포함하고, 상기 데이터 처리 방법은,
    상기 비휘발성 메모리에 대하여 판독 또는 기록 동작을 위한 제 1 제어 데이터, 또는 상기 제 1 제어 데이터와 다른 보안 동작을 위한 제 2 제어 데이터를 상기 데이터 처리 장치로부터 상기 메모리 장치로 선택적으로 전송하는 단계; 및
    상기 메모리 장치는 상기 전송된 제어 데이터를 수신하고, 상기 데이터가 제 1 제어 데이터 또는 제 2 제어 데이터인지 판정하며, 수신된 제 1 제어 데이터를 상기 비휘발성 메모리로 공급하고 수신된 제 2 제어 데이터를 상기 보안 수단에 공급하는 단계;를 포함하는, 데이터 처리 방법.
  15. 데이터 처리 장치에 제거 가능하게 부착된 메모리 장치에서 사용하기 위한 방법으로서, 상기 메모리 장치는 비휘발성 메모리와 상기 비휘발성 메모리에 저장된 데이터의 보안을 보호하는 보안 수단을 포함하고, 상기 방법은,
    상기 메모리 장치가 상기 데이터 처리 장치에 의해 전송된 제어 데이터를 수신하는 단계로서, 상기 제어 데이터는 판독 또는 기록 동작을 위한 제 1 제어 데이터 또는 상기 제 1 제어 데이터와 다른 보안 동작을 위한 제 2 제어 데이터인, 상기 수신 단계; 및
    상기 수신된 제어 데이터가 상기 제 1 제어 데이터인지 또는 제 2 제어 데이터인지 판정하고, 수신된 제 1 제어 데이터를 상기 비휘발성 메모리에 공급하고 수신된 제 2 제어 데이터를 상기 보안 장치에 공급하는 단계;를 포함하는, 방법.
KR1020000018209A 1999-04-07 2000-04-07 향상된 호환성을 갖춘 보안형 메모리 장치 KR100730903B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP99-099949 1999-04-07
JP9994999 1999-04-07
JP17818899 1999-06-24
JP99-178188 1999-06-24

Publications (2)

Publication Number Publication Date
KR20010006966A KR20010006966A (ko) 2001-01-26
KR100730903B1 true KR100730903B1 (ko) 2007-06-22

Family

ID=26441040

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000018209A KR100730903B1 (ko) 1999-04-07 2000-04-07 향상된 호환성을 갖춘 보안형 메모리 장치

Country Status (6)

Country Link
US (1) US6618789B1 (ko)
EP (1) EP1050821B2 (ko)
KR (1) KR100730903B1 (ko)
CN (1) CN1178140C (ko)
DE (1) DE60031476T3 (ko)
MY (1) MY124364A (ko)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131570B2 (en) 1998-03-10 2012-03-06 Discovery Holdings Limited Managing the business of a medical insurance plan
US8359208B2 (en) 1999-03-09 2013-01-22 Discover Holdings Limited Wellness program management and integration with payroll vendor systems
MY123388A (en) * 1999-03-15 2006-05-31 Sony Corp Processing method and apparatus for encrypted data transfer
JP4300643B2 (ja) * 1999-08-24 2009-07-22 ソニー株式会社 著作権対応携帯端末、著作権非対応携帯端末
GB2396231B (en) * 1999-08-24 2004-07-21 Sony Corp Terminal apparatus
US6937814B1 (en) 2000-04-14 2005-08-30 Realnetworks, Inc. System and method for play while recording processing
JP4608749B2 (ja) * 2000-07-24 2011-01-12 ソニー株式会社 データ処理装置、データ処理方法、およびライセンスシステム、並びにプログラム提供媒体
AU7659601A (en) 2000-08-07 2002-02-18 Discovery Life Pty Ltd Managing a life insurance investment
GB2369778A (en) 2000-09-06 2002-06-12 Discovery Health Ltd Incentivising compliance in members of a disease management programme
JP4678084B2 (ja) * 2000-09-29 2011-04-27 ソニー株式会社 メモリ装置およびメモリアクセス制限方法
JP2002196986A (ja) * 2000-12-27 2002-07-12 Pioneer Electronic Corp 情報処理装置、情報処理方法及び情報処理用プログラムがコンピュータで読取可能に記録された情報記録媒体並びに記録媒体
JP2002229861A (ja) * 2001-02-07 2002-08-16 Hitachi Ltd 著作権保護機能つき記録装置
JP2002329180A (ja) * 2001-04-27 2002-11-15 Toshiba Corp 無線通信機能を有するメモリカード及びそのデータ通信方法
US6973571B2 (en) * 2001-07-03 2005-12-06 Bank Of America Corporation System, apparatus, and method for performing cryptographic validity services
US7076530B2 (en) * 2001-08-31 2006-07-11 Thomson Licensing Multiple function modem including external memory adapter
US6868480B2 (en) * 2001-09-28 2005-03-15 Ui Evolution, Inc. Removable active application specific medium
KR100441601B1 (ko) * 2001-10-19 2004-07-23 삼성전자주식회사 메모리 카드, 디지털 기기 및 메모리 카드와 디지털 기기사이의 데이터 인터페이스 방법
JP2003141888A (ja) * 2001-11-01 2003-05-16 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP4157709B2 (ja) * 2002-01-31 2008-10-01 富士通株式会社 アクセス制御方法及び記憶装置
US6839826B2 (en) * 2002-02-06 2005-01-04 Sandisk Corporation Memory device with pointer structure to map logical to physical addresses
JP2003242470A (ja) * 2002-02-21 2003-08-29 Sony Corp 外部接続機器及びホスト機器
JP4178809B2 (ja) 2002-02-21 2008-11-12 ソニー株式会社 外部接続機器及びホスト機器
US7457967B2 (en) 2002-02-28 2008-11-25 The Directv Group, Inc. Hidden identification
US7275163B2 (en) 2002-02-28 2007-09-25 The Directv Group, Inc. Asynchronous configuration
US7475259B1 (en) 2002-02-28 2009-01-06 The Directv Group, Inc. Multiple nonvolatile memories
US7437571B1 (en) 2002-02-28 2008-10-14 The Directv Group, Inc. Dedicated nonvolatile memory
JP4282951B2 (ja) * 2002-05-31 2009-06-24 パイオニア株式会社 半導体記憶素子及びその寿命動作開始装置、並びに該半導体記憶素子を備えた情報記録媒体
JP2004072718A (ja) * 2002-06-12 2004-03-04 Fuji Photo Film Co Ltd デジタルカメラ用メモリーカード
KR20040000924A (ko) * 2002-06-26 2004-01-07 타이구엔 엔터프라이즈 코퍼레이션 리미티드 플래시 메모리에 기반한 시스템 가이드 디바이스 및가이드 실행 방법
US6862223B1 (en) * 2002-07-05 2005-03-01 Aplus Flash Technology, Inc. Monolithic, combo nonvolatile memory allowing byte, page and block write with no disturb and divided-well in the cell array using a unified cell structure and technology with a new scheme of decoder and layout
US7395435B2 (en) * 2002-09-20 2008-07-01 Atmel Corporation Secure memory device for smart cards
US7908156B2 (en) 2002-09-20 2011-03-15 Discovery Holdings Limited Method of calculating a premium payable by an insured person on a life insurance policy
JP4242682B2 (ja) * 2003-03-26 2009-03-25 パナソニック株式会社 メモリデバイス
KR100403376B1 (en) * 2003-04-04 2003-10-30 Telechips Inc Device for processing media using external storage
JP4605011B2 (ja) * 2003-04-11 2011-01-05 ソニー株式会社 情報記録媒体ドライブ装置
US7055039B2 (en) * 2003-04-14 2006-05-30 Sony Corporation Protection of digital content using block cipher crytography
FR2856490B1 (fr) * 2003-06-17 2005-10-07 Thales Sa Procede d'ecriture, de mise a jour et d'allocation memoire applique a l'ecriture de fichiers sur un support memoire tel qu'une carte a puce
JP2005217842A (ja) * 2004-01-30 2005-08-11 Fujitsu Ltd データ圧縮方法、データ復元方法及びそのプログラム
US6890188B1 (en) 2004-02-27 2005-05-10 Imation Corp. Memory card compatible with device connector and host connector standards
US6883718B1 (en) 2004-02-27 2005-04-26 Imation Corp. Credit card sized memory card with host connector
US7151673B2 (en) * 2004-02-27 2006-12-19 Imation Corp. Memory card host connector with retractable shieldless tab
US6908038B1 (en) 2004-02-27 2005-06-21 Imotion Corp. Multi-connector memory card with retractable sheath to protect the connectors
US20050276572A1 (en) * 2004-06-14 2005-12-15 Rok Productions Limited Providing audio-visual content
GB2421394B (en) * 2004-06-14 2007-03-21 Rok Productions Ltd Providing audio-visual content
WO2006003537A2 (en) * 2004-06-28 2006-01-12 Koninklijke Philips Electronics N.V. Apparatus for reading an information carrier
JP2006023957A (ja) * 2004-07-07 2006-01-26 Sony Corp 半導体集積回路及び情報処理装置
WO2006013425A2 (en) 2004-07-26 2006-02-09 Discovery Holdings Limited A data processing system for accurately calculating a policyholder's discount in a medical insurance plan and a method therefor
US20060047880A1 (en) * 2004-08-27 2006-03-02 Imation Corp. Memory device with HUB capability
US7184264B2 (en) * 2004-09-23 2007-02-27 Imation Corp. Connectable memory devices to provide expandable memory
EP1843513A1 (en) * 2005-01-24 2007-10-10 Matsushita Electric Industrial Co., Ltd. Signature generation device and signature verification device
CN101454746B (zh) * 2006-05-29 2012-03-28 帕夏利斯·帕帕格利高利欧 一种以多功能存储卡通讯的方法
US8768732B2 (en) 2006-06-07 2014-07-01 Discovery Holdings Limited System and method of managing an insurance scheme
US8423794B2 (en) 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
US7481659B2 (en) * 2007-01-05 2009-01-27 Imation Corp. Multiconnector memory card
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
US20080235440A1 (en) * 2007-03-22 2008-09-25 Le Trung V Memory device
US8082387B2 (en) 2007-10-29 2011-12-20 Micron Technology, Inc. Methods, systems, and devices for management of a memory system
WO2009147591A2 (en) 2008-06-03 2009-12-10 Discovery Holdings Limited A system and method of managing an insurance scheme
CN102057390A (zh) 2008-06-03 2011-05-11 发现控股有限公司 管理保险方案的系统和方法
CN102057392A (zh) 2008-06-03 2011-05-11 发现控股有限公司 管理保险方案的系统和方法
TWI427641B (en) * 2009-03-02 2014-02-21 A flash memory with data encryption and the method using the same
US8131568B2 (en) 2009-03-11 2012-03-06 Discovery Holdings Limited Method and system for operating an insurance program to insure a performance bonus of a person
DE102009048240A1 (de) * 2009-10-05 2011-04-07 Giesecke & Devrient Gmbh Portabler Datenträger mit Zusatzfunktionalität
KR20120088779A (ko) 2009-10-26 2012-08-08 디스커버리 라이프 리미티드 보험 설계를 관리하는 시스템 및 방법
CN101853417B (zh) * 2010-05-24 2013-12-25 飞天诚信科技股份有限公司 Cf接口信息安全设备的工作方法和系统
JP5779434B2 (ja) * 2011-07-15 2015-09-16 株式会社ソシオネクスト セキュリティ装置及びセキュリティシステム
US10075596B2 (en) * 2012-06-01 2018-09-11 At&T Intellectual Property I, L.P. Method and apparatus for sharing a service in a wireless network
JP6079050B2 (ja) * 2012-08-23 2017-02-15 ティアック株式会社 マルチトラックレコーダ
ZA201308624B (en) 2012-12-21 2015-02-25 Destiny Health Inc A method of determining the attendance of an individual at a location and a system therefor
US20140245021A1 (en) * 2013-02-27 2014-08-28 Kabushiki Kaisha Toshiba Storage system in which fictitious information is prevented
CN103596108B (zh) * 2013-11-04 2017-01-04 北京旋极信息技术股份有限公司 一种音频转接系统和装置
US10298555B2 (en) 2014-04-04 2019-05-21 Zettaset, Inc. Securing files under the semi-trusted user threat model using per-file key encryption
US10873454B2 (en) 2014-04-04 2020-12-22 Zettaset, Inc. Cloud storage encryption with variable block sizes
US9363247B2 (en) * 2014-04-04 2016-06-07 Zettaset, Inc. Method of securing files under the semi-trusted user threat model using symmetric keys and per-block key encryption
US10043029B2 (en) 2014-04-04 2018-08-07 Zettaset, Inc. Cloud storage encryption
US9697140B2 (en) 2014-09-23 2017-07-04 Intel Corporation Encryption integrity check with CRC encryption in memory using a word count- and address-derived nonce

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309529A (ja) * 1993-04-23 1994-11-04 Hitachi Ltd Icカード記憶装置のセキュリティ方式
WO1995024698A1 (en) * 1992-10-14 1995-09-14 Cp8 Transac A secure memory card
KR19980024178A (ko) * 1996-09-03 1998-07-06 가나이 쯔도무 프로그램 기록 가능 ic 카드 및 그 방법
JPH10307896A (ja) 1997-05-08 1998-11-17 Mitsubishi Electric Corp Icカード
KR100232086B1 (ko) 1994-03-07 1999-12-01 미쉘 꼴롱브 보안성 메모리 카드
KR100239235B1 (ko) 1995-10-19 2000-01-15 오까다 마사하루 카드 및 그 처리장치

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2661019B1 (fr) * 1990-04-12 1992-10-09 Skorski Serge Livre ecran portatif.
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US5887145A (en) * 1993-09-01 1999-03-23 Sandisk Corporation Removable mother/daughter peripheral card
AU1265195A (en) * 1993-12-06 1995-06-27 Telequip Corporation Secure computer memory card
US5491827A (en) * 1994-01-14 1996-02-13 Bull Hn Information Systems Inc. Secure application card for sharing application data and procedures among a plurality of microprocessors
US5442704A (en) * 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
US5491774A (en) * 1994-04-19 1996-02-13 Comp General Corporation Handheld record and playback device with flash memory
US5749088A (en) * 1994-09-15 1998-05-05 Intel Corporation Memory card with erasure blocks and circuitry for selectively protecting the blocks from memory operations
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
JPH08328962A (ja) * 1995-05-31 1996-12-13 Mitsubishi Electric Corp 端末機と、当該端末機に接続されるメモリカードからなるシステム
US5852290A (en) * 1995-08-04 1998-12-22 Thomson Consumer Electronics, Inc. Smart-card based access control system with improved security
US5835604A (en) * 1995-12-19 1998-11-10 Pitney Bowes Inc. Method of mapping destination addresses for use in calculating digital tokens
JP3104646B2 (ja) * 1997-06-04 2000-10-30 ソニー株式会社 外部記憶装置
JPH10340575A (ja) * 1997-06-04 1998-12-22 Sony Corp 外部記憶装置及びその制御装置、データ送受信装置
US6061449A (en) * 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995024698A1 (en) * 1992-10-14 1995-09-14 Cp8 Transac A secure memory card
JPH06309529A (ja) * 1993-04-23 1994-11-04 Hitachi Ltd Icカード記憶装置のセキュリティ方式
KR100232086B1 (ko) 1994-03-07 1999-12-01 미쉘 꼴롱브 보안성 메모리 카드
KR100239235B1 (ko) 1995-10-19 2000-01-15 오까다 마사하루 카드 및 그 처리장치
KR19980024178A (ko) * 1996-09-03 1998-07-06 가나이 쯔도무 프로그램 기록 가능 ic 카드 및 그 방법
JPH10307896A (ja) 1997-05-08 1998-11-17 Mitsubishi Electric Corp Icカード

Also Published As

Publication number Publication date
DE60031476T3 (de) 2011-05-19
EP1050821B2 (en) 2010-11-03
US6618789B1 (en) 2003-09-09
CN1178140C (zh) 2004-12-01
EP1050821A3 (en) 2003-09-10
DE60031476T2 (de) 2007-08-23
MY124364A (en) 2006-06-30
EP1050821A2 (en) 2000-11-08
EP1050821B1 (en) 2006-10-25
CN1272028A (zh) 2000-11-01
KR20010006966A (ko) 2001-01-26
DE60031476D1 (de) 2006-12-07

Similar Documents

Publication Publication Date Title
KR100730903B1 (ko) 향상된 호환성을 갖춘 보안형 메모리 장치
KR100710603B1 (ko) 메모리 카드용 보안 유닛
US6601140B1 (en) Memory unit, data processing unit, and data processing method using memory unit type
US8607069B2 (en) Data processing apparatus, data processing method, terminal unit, and transmission method of data processing apparatus
US6404676B2 (en) Nonvolatile memory and nonvolatile memory reproducing apparatus
US6691149B1 (en) System for distributing music data files between a server and a client and returning the music data files back to the previous locations
US6792539B1 (en) Processing method and apparatus for encrypted data transfer
US7155013B2 (en) Recording apparatus, recording method, reproducing apparatus, and reproducing method
EP1512147A2 (en) System, method, and device for playing back recorded audio, video or other content from non-volatile memory cards, compact disks or other media
US7673153B1 (en) Data processing method, apparatus and system for encrypted data transfer
EP1175675B1 (en) Method and apparatus for processing digitally encoded audio data
KR100699189B1 (ko) 비휘발성 기록 매체, 기록 방법, 및 기록 장치
KR100729546B1 (ko) 편집 장치, 편집 방법 및 비휘발성 메모리
JP2001077805A (ja) セキュリティ装置、メモリ装置、データ処理装置および方法
JP3882460B2 (ja) メモリ装置、データ処理装置、データ処理システムおよびデータ処理方法
JP2003044361A (ja) データ保存再生システム、データ保存装置、データ再生装置、データ保存再生方法、プログラム、および媒体
JP3882459B2 (ja) メモリ装置、データ処理装置、データ処理システムおよびデータ処理方法
JP4300643B2 (ja) 著作権対応携帯端末、著作権非対応携帯端末
KR100727799B1 (ko) 재생 장치 및 재생 방법
JP2006229277A (ja) 記録再生システム

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
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20130607

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140610

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee