KR100844998B1 - 비휘발성 메모리 카드, 콤팩트 디스크 또는 다른 매체로부터 기록된 오디오, 비디오 또는 다른 콘텐츠를 재생하기 위한 시스템, 방법 및 장치 - Google Patents

비휘발성 메모리 카드, 콤팩트 디스크 또는 다른 매체로부터 기록된 오디오, 비디오 또는 다른 콘텐츠를 재생하기 위한 시스템, 방법 및 장치 Download PDF

Info

Publication number
KR100844998B1
KR100844998B1 KR1020037007604A KR20037007604A KR100844998B1 KR 100844998 B1 KR100844998 B1 KR 100844998B1 KR 1020037007604 A KR1020037007604 A KR 1020037007604A KR 20037007604 A KR20037007604 A KR 20037007604A KR 100844998 B1 KR100844998 B1 KR 100844998B1
Authority
KR
South Korea
Prior art keywords
key
encrypted
media
content
medium
Prior art date
Application number
KR1020037007604A
Other languages
English (en)
Other versions
KR20040055724A (ko
Inventor
바만 카와미
파쉬드 사베트샤기
로버트 씨. 창
Original Assignee
쌘디스크 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쌘디스크 코포레이션 filed Critical 쌘디스크 코포레이션
Publication of KR20040055724A publication Critical patent/KR20040055724A/ko
Application granted granted Critical
Publication of KR100844998B1 publication Critical patent/KR100844998B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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
    • 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/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1014Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to tokens
    • 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/108Transfer of content, software, digital rights or licenses
    • G06F21/1083Partial license transfers
    • 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/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • 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/00094Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers
    • 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/00166Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
    • 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/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/00253Circuits 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 stored on the record carrier
    • G11B20/00275Circuits 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 stored on the record carrier the key being stored on a chip attached to the 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/00253Circuits 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 stored on the record carrier
    • G11B20/00347Circuits 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 stored on the record carrier wherein the medium identifier is used as a key
    • 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/00253Circuits 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 stored on the record carrier
    • G11B20/00362Circuits 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 stored on the record carrier the key being obtained from a media key block [MKB]
    • 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/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00666Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of erasing or nullifying data, e.g. data being overwritten with a random string
    • G11B20/00673Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of erasing or nullifying data, e.g. data being overwritten with a random string wherein the erased or nullified data include a cryptographic key
    • 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
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • 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
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91357Television signal processing therefor for scrambling ; for copy protection by modifying the video signal
    • H04N2005/91364Television signal processing therefor for scrambling ; for copy protection by modifying the video signal the video signal being scrambled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Mathematical Physics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

휴대용 장치 또는 컴퓨터에 대한 보안 소프트웨어 시스템은 간단한 인터페이스를 장치나 컴퓨터에 제공하고 보안매체로부터 콘텐츠와 키를 검색 및 다이나믹하게 해독하는 한편, 키의 노출을 최소화하고, 디바이스 또는 컴퓨터 제조자가 이러한 복잡한 프로세스를 관리하기 위해 자체 시스템을 만들어 낼 필요가 없게 한다.

Description

비휘발성 메모리 카드, 콤팩트 디스크 또는 다른 매체로부터 기록된 오디오, 비디오 또는 다른 콘텐츠를 재생하기 위한 시스템, 방법 및 장치{SYSTEM, METHOD, AND DEVICE FOR PLAYING BACK RECORDED AUDIO, VIDEO OR OTHER CONTENT FROM NON-VOLATILE MEMORY CARDS, COMPACT DISKS, OR OTHER MEDIA}
본 출원은 2000. 12. 7.자로 출원된 미국 특허 가출원 제60/251,731호 "비휘발성 메모리 카드, 콤팩트 디스크 또는 다른 매체로부터의 기록된 오디오, 비디오 또는 다른 콘텐츠를 재생하기 위한 보안 소프트웨어 시스템"과 관련되고, 본원과 동일자로 출원되고 본원과 동일한 발명자가 발명한 대리인 서류 번호 M 9913 US의 "비휘발성 메모리 카드, 콤팩트 디스크 또는 다른 매체로부터 기록된 오디오, 비디오 또는 다른 콘텐츠를 재생하기 위한 시스템, 방법 및 장치"와 관련된다.
소스 코드는 다음의 파일을 포함하는 부속물로서 37 CFR 1.52 에 따른 콤팩트 디스크에서 제출되는데, 이들 각각은 본원에 참조로서 포함된다.
Sd_security\Sd_oem\Makefile, 11/05/01,2KB;
Sd_security\Sd_oem\Readme,11/05/2001,3KB;
Sd_security\Sd_oem\Sd_oem.c, 11/05/2001, 6KB;
Sd_security\Sd_oem\Sd_oem.h, 11/05/2001, 1KB;
Sd_security\Sd_oem\Sd_oem.inc, 11/05/2001, 1KB;
Sd_security\Sd_oem\Sdtypes.h, 11/05/2001, 3KB;
Sd_security\Sd_oem\vssver.scc 11/05/2001, 1KB;
Sd_security\Security\Tstsampl\Dotest.c, 11/05/2001, 8KB;
Sd_security\Security\Tstsampl\Makefile, 11/05/2001, 4KB;
Sd_security\Security\Tstsampl\Readme 11/05/2001, 3KB;
Sd_security\Security\Tstsampl\Regress.c, 11/05/2001, 26KB;
Sd_security\Security\Tstsampl\Sdls.c, 11/05/2001, 10KB;
Sd_security\Security\Tstsampl\Sdrm.c, 11/05/2001, 5KB;
Sd_security\Security\Tstsampl\Securmmc.c, 11/05/2001, 6KB;
Sd_security\Security\Tstsampl\Tstsampl.inc, 11/05/2001, 1KB;
Sd_security\Security\Tstsampl\vssver.scc, 11/05/2001, 1KB;
Sd_security\Security\Err.h, 11/05/2001, 1KB;
Sd_security\Security\Fsentry.c, 11/05/2001, 7KB;
Sd_security\Security\keyInfo.h, 11/05/2001, 84KB;
Sd_security\Security\Makefile, 11/05/2001, 3KB;
Sd_security\Security\Readme, 11/05/2001, 4KB;
Sd_security\Security\Scdrv.c, 11/05/2001, 29KB;
Sd_security\Security\Scdrv.h, 11/05/2001, 5KB;
Sd_security\Security\Scfs.c, 11/05/2001, 13KB;
Sd_security\Security\Scfs.h, 11/05/2001, 4KB;
Sd_security\Security\Sdsec.h, 11/05/2001, 5KB;
Sd_security\Security\Sdsys.c, 11/05/2001, 2KB;
Sd_security\Security\Security.c, 11/05/2001, 64KB;
Sd_security\Security\Smanager.c, 11/05/2001, 7KB;
Sd_security\Security\Smanager.h, 11/05/2001, 2KB;
Sd_security\Security\Ssmapi.c, 11/05/2001, 3KB;
Sd_security\Security\vssver.scc, 11/05/2001, 1KB;
Sdaudlib\HostFunc.c, 11/05/2001, 3KB;
Sdaudlib\Inpoutp.c, 11/05/2001, 1KB;
Sdaudlib\mssccprj.scc, 11/05/2001, 1KB;
Sdaudlib\plmInfo.h, 11/05/2001, 16KB;
Sdaudlib\Sd_plm.h, 11/05/2001, 5KB;
Sdaudlib\Sd_tkm.h, 11/05/2001, 4KB;
Sdaudlib\Sd_types.h, 11/05/2001, 2KB;
Sdaudlib\Sdapi.h, 11/05/2001, 2KB;
Sdaudlib\Sdaudapi.c, 11/05/2001, 91KB;
Sdaudlib\Sdaudapi.h, 11/05/2001, 8KB;
Sdaudlib\Sdaudlib.dsp, 11/05/2001, 4KB;
Sdaudlib\Sdaudlib.dsw, 11/05/2001, 1KB;
Sdaudlib\vssver.scc, 11/05/2001, 1KB.
본 발명은 메모리 카드, 콤팩트 디스크 또는 다른 매체로부터의 디지털 오디오, 비디오 또는 다른 콘텐츠의 보안 재생에 일반적으로 그리고 구체적으로 관련된다.
저작권이 있는 음악을 인터넷을 통해, 다른 통신 시스템에 의해, 또는 소매 매장을 통해 전자적으로 배포하는 가능성은 음악의 인가되지 않은 복제에 대한 우려에 의해 제한된다. 이것은 또한 비디오뿐만 아니라 다른 오디오 콘텐츠에 대해서도 마찬가지다. 콘텐츠는 궁극적인 고객에게 암호화된 형태로 공급되는 것이 전형적이며, 고객은 암호화된 콘텐츠 파일을 개인용 컴퓨터 메모리, 휴대용 재생 장치의 메모리, 쓰기 가능한 콤팩트 디스크(CD) 또는 비휘발성 메모리 카드와 같은 어떤 저장매체 상에 기록한다. 콘텐츠의 제공자는 콘텐츠의 인가되지 않은 복제의 가능성을 제거하고 싶어하지만, 발생하는 복제량을 최소화시키는 조치를 취하는데 만족해야만 한다. 이것은 기록매체 상에 콘텐츠의 보호를 제공하는 것을 포함한다. 비휘발성 메모리 카드에 저장된 콘텐츠의 보호는 콤팩트 디스크 또는 다른 기록가능매체에 저장될 수 있다.
콘텐츠 데이터 저장매체로서 사용되기에 적절한 몇 가지의 상업적으로 이용가능한 비휘발성 메모리 카드가 존재한다. 그 하나는 콤팩트 플래쉬(CF) 카드이고, 다른 것은 멀티미디어카드(MMC)이며, 또 다른 하나는 MMC 카드와 밀접하게 관련된 보안 디지털(SD) 메모리 카드이다. 이들 모두와 다른 것들이 본 출원의 양도인인 캘리포니아, 서니베일의 샌디스크 코퍼레이션으로부터 다양한 저장 수단으로 이용 가능하다. MMC에 대한 물리적 전기적 세부 사항은 캘리포니아, 큐페르티노의 멀티미디어카드 협회(MMCA)에 의해서 종종 갱신되고 출판되는 "멀티미디어카드 시스템의 상세"에 개시된다. 1999년 6월과 2000년 1월의 버젼 2.11과 2.2의 상세는 각각 본원에 참고로서 포함된다. MMC의 제품은 샌디스크 코퍼레이션에 의해 간행된 2000년 4월자의 "멀티미디어카드 제품 매뉴얼" 개정판 2에 설명되어 있으며, 이러한 매뉴얼은 본원에 참고로서 포함된다. MMC 제품의 전기적인 작동은 토마스 엔. 툼스와 미키 홀츠만이 1998년 11월 4일자로 출원하고 샌디스크사가 양도받은 특허 출원 제09/185,649호 및 제09/186,064호에 개시되어 있다. 이들 출원은 모두 본원에 참고로서 포함된다.
신규의 SD 카드는 MMC 카드와 유사하고, 평면도가 동일하다. 그것들 사이의 주된 차이는 카드와 호스트 사이의 보다 빠른 데이터 전송을 가능하게 하기 위하여 부가적인 데이터 접촉을 포함한다는 것이다. SD 카드의 다른 접촉부는 SD 카드를 받아들이도록 디자인된 소켓이 MMC 카드도 받아들이기 위하여 MMC 카드의 접촉부와 동일하다. SD 카드와의 전기적인 인터페이스는, 호스트의 작동에 대한 변화가 양쪽 유형의 카드를 수용하기 위하여 거의 필요하지 않도록, 위에서 참조된 상세의 버젼 2.11에 설명된 MMC 제품과 대부분 역으로 호환되도록 만들어진다. SD 카드의 전기적인 인터페이스와 그것의 작동은 2000. 8. 17에 제출되어 계류 중인 특허 출원 제09/641,023호에 설명되어 있으며, 이것은 본원에 참조로서 포함된다.
암호화된 콘텐츠는 접근하기가 곤란하며, 암호화된 콘텐츠를 가진 메모리 카드 또는 콤팩트 디스크는 암호화된 콘텐츠와 암호화되지 않은 콘텐츠에 접근하기 위한 특정의 명령과 루틴을 필요로 하는 특정의 구조를 각각 가진다. 본 발명의 소프트웨어는 그 어떤 최초의 장비 제조자(original equipment manufacturer)(OEM)도 무수한 상이한 유형의 마이크로프로세서를 가진 무수한 상이한 유형의 장치에 설치할 수 있고 가동할 수 있는 간단한 솔루션이다. 이러한 장치들은 개인용 컴퓨터로부터 휴대용 장치나 카 스테레오까지 걸쳐있고, 암호화될 수 있는 콘텐츠에 접근하고자 하는 어떤 장치라도 포함한다. 휴대용 장치는 휴대용 오디오 플레이어 또는 휴대전화 또는 휴대용 오거나이저(organizer) 또는 일반적으로 어떤 마이크로프로세서로 제어되는 휴대용 장치일 수 있다. 저장매체는 플래시 메모리 또는 어떤 유형의 기록 가능한 디스크일 수 있다. 장치들은 소용량 또는 대용량의 메모리를 가진 간단하거나 강력한 마이크로프로세서를 가질 수 있다. 소프트웨어는 암호화 목적으로 단지 작은 버퍼를 이용하고 필요로 하며 제한된 처리용 전력과 메모리를 가진 환경에서조차 효과적으로 가동하도록 설계된다. 이것은 어떤 유형의 일반적 목적의 마이크로프로세서에 의해서 가동될 수 있거나, DSP 또는 ASIC 같은 특수한 목적의 마이크로프로세서에 의해서 가동될 수 있다. 더욱이, 암호화 및 암호해제 (보안) 엔진 같이, 소프트웨어의 컴퓨터 사용(computation)이 요구되는 부분은 DSP에 의해서 수행될 수 있는 반면에, 소프트웨어의 다른 부분은 마이크로프로세서 또는 ASIC에 의해서 수행될 수 있다.
소프트웨어는 오디오, 비디오 및 이미지 인터페이스를 가져서 개별 유형의 파일들 각각에 관한 명령을 수신한다. 이러한 인터페이스는 재생 목록과 다른 편리한 특징을 관리하는 것을 포함하는 재생 및 기록을 조직화할 수 있다. 따라서 장치가 무엇이건 간에, 인터페이스에 명령을 내리는 것만이 필요하고, 소프트웨어는 보안 매체로부터의 데이터를 읽거나 쓰고, 오디오, 비디오 또는 이미지 엔진 내의 어떤 공지의 오디오, 비디오 또는 이미지 파일 포맷으로부터의 데이터를 디코딩하고 압축해제(decompressing)하는 것을 관리할 것이다.
암호화와 암호해제는 분리된 모듈 내에서 발생하여 접근하기가 매우 어렵고, 따라서 매체 또는 장치로부터 파일을 복사하기 위하여 암호화 키에 접근하기를 희망하는 인가되지 않은 사람으로부터의 어떤 시도로부터 분리된다. 콘텐츠는 작은 부분에서만 암호해제되며, 다이내믹(dynamic) 키 발생과 삭제 방법은 암호해제된 키의 노출을 최소화한다.
도 1 은 보안 매체상에 정보를 읽고 쓰도록 사용된 장치에 대한 설명이다.
도 2 는 보안 매체에 접근하도록 사용된 장치의 개략적인 다이아그램이다.
도 3a 는 보안 매체의 층에 대한 이론적인 설명이다.
도 3b 는 보안 매체의 메모리 셀에 대한 물리적이고 논리적인 구조에 대한 설명이다.
도 4는 컴포넌트 청크(component chunks)로 쪼개진 매체 키 블록(MKB) 이미지의 설명이다.
도 5 는 인증 및, 암호 해제 과정의 일부에 대한 설명이다.
도 6 은 인증 및, 암호화 과정에 대한 설명이다.
도 7은 도 6에 도시된 인증 키 교환 프로세스에 대한 개략도이다.
도 8은 본 발명의 소프트웨어의 모듈을 설명하는 블록 다이아그램이다.
도 9 는 본 발명에 따른 오디오 트랙의 재생에 대한 순서도 개관이다.
도 10 은 도 9 의 단계에서 도 4 에 도시된 MKB 이미지 처리에 대한 순서도이다.
도 1을 참조하면, 콘텐츠 보호가 음악 같은 콘텐츠에 적용되는 예시적인 시스템이 설명되어 있다. 호스트 컴퓨터 장치(11)는 도시된 바와 같이 개인용 컴퓨터(PC)일 수 있으며, 음악 또는 다른 콘텐츠를 배포하는 소매 상점에 위치한 매점에 있는 것일 수 있다. 이러한 예에서 SD 메모리 카드(13)가 음악을 저장하는데 사용된다. 카드(13)는 응용장치 안에 삽입될 수 있는데, 본 경우에서는 카드(13)에 기록된 음악 또는 다른 오디오 콘텐츠를 개인용 이어폰을 통하여 재생하기 위해 배터리로 작동되는 휴대용 장치(PD)(15)이다. 예컨대 컴퓨터 범용 직렬 버스(USB) 접속(17)을 통하여 장치(17)를 호스트(11)에 접속시킴으로써 장치(15)로 삽입되었을 때 음악은 카드(13)에 저장될 수 있다. 선택적으로, 재생장치(15)에 콘텐츠를 카드(13)로 기록하는 성능이 제공되어 있지 않거나, 달리 그것이 바람직하다면, 카드 라이터(writer)/리더(reader)(19)가 USB 연결(21)을 통해 컴퓨터에 연결될 수 있으며, 카드(13)는 음악을 카드에 기록하기 위해 그 안에 삽입된다. 카드에 기록된 오디오 콘텐츠를 재생하기 위해 카드(13)는 다음에 라이터/리더(19)로부터 제거되어 휴대용 장치(15)로 삽입된다. 호스트(11)는 그것이 4C 엔터티(entity)와 SD 그룹의 보안 및 인증 프로토콜에 따라서 카드(13)의 콘텐츠 데이터로부터 쓰고 읽는데 필요한 소프트웨어를 포함할 때 LCM(licensed compliant module)으로 지칭된다.
예로 든 휴대용 응용장치(15)에 있는 전자 시스템은 도 2에 도시된다. 버스(23)를 통해 함께 작동가능하게 연결된 것은 컴퓨팅 유니트(MCU)(25)이고, 이것은 일부 비휘발성 플래시 메모리(25A), 고속 랜덤 액세스 메모리(RAM)이 바람직한 시스템 메모리(27), 그리고 메모리 카드(13)와 연결하기 위한 인터페이스 회로(29)를 바람직하게 구비한다. USB 접속(17)이 MCU(25)에 또한 옵션으로 제공된다. 필요하다면 오디오 또는 비디오 데이터 같은 콘텐츠 데이터를 압축해제하고 및/또는 암호해제하기 위한 디지털 신호 프로세서(DSP)(31)가 또한 포함되는데, 이것은 압축되고 및/또는 암호화된 형태로 저장된다. DSP(31)는 또한 프로세서의 일부로서 포함된 그 자신의 RAM 메모리(31)를 가진다. DSP(31)는 포함되거나 포함되지 않을 수 있다. 더욱이, DSP가 포함되면 그것은 MCU(25)의 기능성을 수행할 수 있고, 따라서 MCU(25)는 제거될 수 있다. 리드 전용 메모리(ROM)(32)는 본 발명의 소프트웨어의 일부 또는 전부를 저장할 수 있다. ROM(32) 내의 소프트웨어 명령과 데이터는 ROM(32)으로부터 직접적으로 수행되거나 읽혀질 수 있고, 또는 장치의 회로에 포함된 RAM 메모리로 새도우(shadow)될 수 있다.
기록가능한 매체 상의 콘텐츠 보호에 대한 세부 사항은 인텔 코퍼레이션, 인터내셔널 비즈니스 머신 코퍼레이션, 마쓰시다 일렉트릭 인더스트리 및 도시바 코포레이션(4C 엔터티)에 의해 함께 수립되었다. 4C 엔터티의 다음 3가지 간행물이 특히 여기에 관련되는데, 이것들은 본원에 참조로서 포함된다: "기록가능한 매체 상세에 대한 콘텐츠 보호, 개론 및 공통적인 암호 요소", 개정판 0.94, 2000년 10월, "기록가능한 매체 상세에 대한 콘텐츠 보호, SD 메모리 카드 북" 개정판 0.95, 2001년 5월, "C2 블록 사이퍼(cipher) 상세" 개정판 0.9, 2000년 1월, "기록가능한 매체 상세에 대한 콘텐츠 보호, DVD 북" 개정판 0.95, 2001년 5월. SD 메모리 카드에 대한 이들 4C 엔터티 세부 사항을 수행하기 위한 다른 자세한 사항은 마스시타 일렉트릭 인더스트리(MEI), 샌디스크 코퍼레이션 및 도시바 코퍼레이션(SD 그룹)에 의해서 수립되었다.
도 3a를 참조하면, 메모리 카드(13)는 4개의 개별 층을 가지는 것으로 생각될 수 있다. 그러한 층들은 또한 보안매체의 다른 유형으로 존재할 수도 있다.
가장 기초 레벨에서, 데이터는 메모리 카드(13)의 물리적 층(13d) 상의 클러스터에 배열된 메모리 셀에 저장된다. 저작권이 있는 자료이거나 암호화 가치가 있다면 데이터는 암호화되거나 또는 보안이 이루어진다. 보안 콘텐츠를 암호화하고 암호해제하는데 사용되는 키는 또한 암호화되어 물리적 층의 보안 영역에 저장된다.
본 발명의 소프트웨어는 장치 내에서 작동되어, 제조자(OEM)가 암호화된 데이터 및 키를 포함하는 메모리 셀에 접근하기 위한 매우 특정한 명령을 프로그램할 필요 없이, 장치가 암호화된 정보를 저장하고 검색할 수 있게 한다. 이것은 암호화된 데이터를 장치로 전송하고, 장치 내의 데이터를 암호해제하고, 장치로부터의 요청 시 오디오, 비디오 및 이미지 파일을 압축해제하고 재생하는 방법을 포함한다. 즉, 장치는 "재생 트랙" 같은 명령을 송신할 필요만이 있다. 소프트웨어는 명령을 받고, 메모리 셀 내에 저장된 암호화된 데이터를 검색하고, 암호화된 키를 검색하고, 데이터를 조직화하고 암호해제하고, 그것을 압축해제하고 포맷하여, 노래를 재생할 것이다.
논리층(13c)은 물리층(13d)의 클러스터와 메모리 셀에 대한 조직화 구조를 포함한다. 2개의 층(13c,13d)은 카드(13)의 메모리를 포함하고 논리적으로 구조화한다. 카드(13)는 보안 카드이므로, 안전 층(13b)은 아래의 층에 하우징된 보안 데이터에 대한 접근을 제어하고 제한한다.
응용 층(13a)은 카드에 저장된 콘텐츠에 접근하는 장치와 통신하는 메모리 카드(13) 부분이다. 이것은 장치의 인터페이스 또는 접촉점(39)을 통해 그것을 수행한다. 메모리 카드(13)는 카드의 모든 층(13a∼d)의 제어와 함께 응용 층(13)의 기능성 및 카드의 작동을 처리하는 제어기를 바람직하게 포함한다.
전술한 설명에 따르고 도 3a의 층(13c,13d)에 해당하는, SD 카드(13) 같은 기록매체의 물리적 논리적 구조가 도 3b에 도시된다. 카드는 메모리 셀(33)의 어레이(array) 및 메모리 제어기(35)를 포함한다. 사용자 데이터, 명령 및 상태 신호가 제어기(35)와 메모리 어레이(33) 사이에서 회로(37)를 거쳐 통신된다. 제어기(35)는 소켓에 연결된 호스트 장치와 통신되는데, 여기서 카드는 카드 상의 일련의 전기 접촉부(39)를 통해서 삽입된다.
어레이(33)의 메모리 셀은 셀들의 4개의 중첩되지 않은 영역으로 분할되는데, 이들은 개별적으로 상이한 유형의 데이터를 저장하도록 지정된다. 본 경우에 있어서, 가장 큰 저장용량 영역(41)은 사용자 데이터, 암호화된 오디오, 비디오 또는 다른 데이터를 저장하도록 지정된다. 사용자 데이터는 암호화되지 않은 데이터를 포함할 수 있거나 그렇지 않을 수도 있다. 메모리의 시스템 영역(43)은 카드 제조자의 64비트 매체 식별자(IDmedia) 및 4C 엔터티에 의해 제공되는 16 매체 키 블록(MKB)를 저장하는데, 각각의 MKB는 4k바이트의 최대 크기를 가지며, 모두 카드 제조자에 의해서 사전 기록된다. 16 MKB 중 하나는 오디오 사용자 데이터와 함께 사용되도록 지정되며, 다른 것은 비디오 사용자 데이터용으로, 그리고 다른 것은 이미지 데이터용으로 지정된다. 시스템 영역(43)은 카드의 외부로부터 읽혀지도록 접근될 수 있는 쓰기 보호된 영역이다. 은폐(hidden) 영역(45)은 시스템 영역(43) 내에 저장된 16개의 개별 매체 키 블록(MKB)에 해당하는 16개의 사전 기록된 매체 고유 키(media unique key:Kmu)를 보유한다. 은폐 영역(45)은 쓰기 보호된 영역이므로 메모리 카드 자체에 의해서만 접근될 수 있다. 보호 영역(47)은 성공적인 명백한 상호 인가가 일어난 후에만 접근될 수 있는 읽기/쓰기 영역이다. 임의 선택 타이틀 키(randomly picked title key:Kt)와 복사제어정보(CCI)는 암호화된 형태로 보호 영역(47)에 저장된다. 사용자 데이터 영역(41)에 저장된 콘텐츠의 각 단편(파일)은 보호 영역(47) 내에 암호화된 형태로 저장된 고유 타이틀 키로 암호화된다. 보호된 영역(47)에 저장된 타이틀 키와 CCI는 매체 고유 키에 의해서 함께 연관되어 암호화되는데, 이것은 각 메모리 카드에 대해서 유일하며 그것의 은폐 영역(45)에 저장된다. 사용자 데이터 영역(41)의 파일 시스템은 통상적으로 보통의 FAT 파일 시스템이다.
카드 메모리의 시스템 영역(43)에 저장된 것과 같은 매체 키 블록(MKB)은 인접한 레코드의 시퀀스를 포함하는데, 그러한 레코드의 하나가 도 4에 도시된다. 전체 MKB 이미지(49)는 64Kbyte이다. 이것은 512바이트의 128개 청크(chunk)로 나눠지고, 그것들이 처음 기록하는 전부 또는 일부를 포함하는 청크(1)는 도면에서 MKB 청크(50)로 표시되고 그것의 구성 부분을 나타내도록 확대되어 있다. 청크(50)는 다중 레코드를 또한 포함할 수 있다. 제1필드(51)는 레코드 유형을 포함하고, 제2필드(53)는 레코드의 전체 길이를 포함하며, 나머지 필드(55)는 키 자체를 포함한다. 레코드 유형과 길이 필드(51,53) 내의 데이터는 암호화되지 않는다. MKB의 각 레코드는 전체 길이 내의 다중의 4바이트이다. 도 5의 블록(57)에 의해서 도시된 바와 같이, MKB 키 레코드는 휴대장치(PD), LCM 또는 저장된 콘텐츠를 읽거나 프로그래밍하도록 메모리 카드를 사용하는 다른 장치에 저장된 장치 키에 의해서 암호해제된다. 장치 키(Kd1,Kd2,Kd3...)는 장치의 제조자에 의해서 도 2의 휴대용 오디오 재생기의 MCU(25) 내에 있는 비휘발성 플래시 메모리 같은 응용장치의 메모리 안으로 기록된다. 장치 키는 4C 엔터티에 의해서 장치 제조자에게 제공되고 신뢰성 있게 유지된다. 주어진 응용장치에 저장된 장치 키의 수는 장치의 유형에 달려있다.
도 5의 처리를 수행하는 응용장치(PD, LCM 또는 다른 장치)는 블록(57)의 암호화의 부분으로서 매체 키(Km)를 계산하는데, 이것은 도 9 및 도 10과 관련하여 더욱 상세하게 설명될 것이다. 삽입된 메모리 카드의 시스템 영역으로부터 읽혀진 MKB의 각 레코드(도 4)는 이러한 방식으로 항상 처리된다. MKB의 처리가 완성된 이후, 가장 최근에 계산된 Km 값은 블록(57)의 비밀 매체 키 출력으로서 취해진다. 이러한 매체 키(Km)와 매체 식별자(IDmedia)는 도 5의 블록(59)에 의해서 표시된 바와 같이 C2 일방향 함수의 사용에 의해 조합되어, 매체 고유 키(Kmu)를 생성한다. 이러한 처리의 상세한 사항은 이전에 참고된 4C 엔터티의 간행물을 참고하여 얻을 수 있다.
도 6은 도 3의 메모리 공간 배당을 받은 메모리 카드(13)로 오디오 콘텐츠를 기록하거나 그것으로부터 오디오 콘텐츠를 재생할 때 발생하는 모든 인증 및 암호화 처리를 도시한다. 개인 컴퓨터 또는 다른 LCM(63)에서 발생하는 처리는 오디오 또는 다른 콘텐츠를 카드(13) 상으로 레코딩하기 위해서 도시되어 있다. 마찬가지로, 휴대용 오디오 또는 다른 응용장치(65)의 처리는 레코딩된 콘텐츠를 카드(13)로부터 읽는 것에 대해서 도시되어 있다. 양쪽에는 도 5를 참조하여 설명된 처리가 포함되어 있는데, 처리 블록(57,59)은 응용장치(65)의 일부이고, 그것에 대응하는 처리 블록(57',59')은 콘텐츠 레코딩 시스템(63)의 일부이다.
레코딩 콘텐츠의 일부로서, 임의로 할당된 키(Kt)는 오디오의 하나의 파일(단편)를 암호화하도록 암호화 모듈(69)에 의해 사용되기 위한 라인(67)에서의 입력이거나 라인(71)에서의 다른 콘텐츠 입력이다. 암호화된 파일은 다음에 메모리 카드(13)의 사용자 데이터 영역(41)에 저장된다. 타이틀 키가 레코딩된 콘텐츠를 암호화하는데 이용가능하게 하기 위하여, 이전에 설명된 바와 같이, 타이틀 키(Kt)의 암호화된 버전이 보호된 카드 메모리 영역(47)에 저장된다. 타이틀 키(Kt)의 암호화된 버전은 시스템 메모리(27), MCU(25)의 RAM 메모리(25A), 또는 DSP(31)의 RAM 메모리(31A)에 저장된다. 암호화된 타이틀 키(Kt)를 장치의 메모리에 저장하는 것은 보호된 카드 메모리 영역(47)에 접근할 필요성을 제거한다. 이것은 각각의 읽기를 위해서 보호된 영역(47)에 접근하는 것과 비교하여 상당한 시간과 처리 용량을 절감시키기 때문에 중요하다. 이것은 도 9를 참조하여 이후에 설명될 것이다. 타이틀 키(Kt)와 복사제어정보(CCI)는 메모리 카드(61) 상의 LCM(63)과 모듈(81) 내의 일련의 암호화 모듈(75,55,79)에 의해서 암호화된다. 매체 고유 키(Kmu)는 모듈(77)에 의해서 사용된다. 인증키 교환(AKE) 모듈(83)은 모듈(59')에 의해서 계산되고 카드(61)의 은폐 영역(45)에 저장된 매체 고유 키(Kmu)를 조합하여 각 모듈(79,81)에 의해 사용된 세션 키(Ks)를 생성한다. 응용장치(65)가 기록된 암호화 콘텐츠를 암호해제하기 위하여, 동일한 참조번호로 표시되지만 프라임(')이 부가되어 표시된 대응 모듈이 암호화 과정의 역을 수행하도록 사용된다.
도 7은 메모리 카드의 보호된 영역(47)에 접근하기 위한 기술을 나타내는데, 카드와 일부 LCM 또는 응용장치 사이에서 인증 및 키 교환(AKE) 시도 응답 프로토콜을 사용하는 것이다. 이러한 인증이 성공적일 때, 카드와 다른 모듈 또는 장치는 보안이 이루어진 공통의 세션 키(Ks)를 공유한다. 전술한 과정과 프로토콜에 대한 상세한 설명은 이전에 알려진 4C 엔터티의 간행물을 참고하여 얻을 수 있다.
SD 메모리 카드의 인증 영역에 대한 접근을 수행하는 것은 이전에 언급된 바와 같이 OEM이 4C 엔터티로부터 인가를 받아야만 하는 비밀 장치 키를 사용하는 것을 요한다. 이들 키 값을 보호하고 그것들의 노출을 SDK SW 100 소프트웨어 층 내에 제한하는 것은 소프트웨어 설계에 있어서 중심적인 고려사항 중 하나이다. 이러한 키(그리고 세션 키 같은 다른 결과적인 값)을 단일의 내부 모듈에 고립시키면서 SD 메모리 카드 장치 드라이버와 같은 보안매체가 상기 값에 의존하는 작동을 수행하는 것은 강력하고 보안이 이루어진 방법론에서 달성된다. 또한, SD 메모리 카드는 본 발명을 나타내도록 사용된다; 그러나 본 발명은 CD 또는 카드나 원격 위치된 저장장치 내에 있을 수 있는 다른 보안이 이루어진 메모리에서 사용될 수 있다.
도 8은 전술한 프로세스로 암호화된 정보에 접근하기 위하여 휴대용 장치 또는 LCM에서 작동하도록 설계된 소프트웨어 시스템의 구현 예를 도시한다. SanDisk 소프트웨어인 SW100은 완전한 턴-키(turn-key) 소프트웨어 솔루션이고, 이것은 OEM 음악 재생기와 레코더가 보안 디지털(SD) 메모리 카드를 포함하는 보안매체를 용이하게 지원할 수 있게 한다.
도 8에 있어서, 휴대용 장치(15) 내에 장착된 것으로 도시된 SW100은 SD 카드(13)에 접근하기 위한 것이다. SW100은 개인용 컴퓨터 같은 임의의 LCM(licensed compliant module) 내에 또한 설치될 수 있다. 오디오 인터페이스(105), 비디오 인터페이스(110) 및 이미지 인터페이스(115)는 장치로의 통신 포인트이다. 이러한 인터페이스는 장치를 위한 통신의 단일 포인트를 제공하며 일반적으로 장치로부터 단순한 명령을 수신함으로써, 장치가 보안매체로부터 암호화된 데이터를 얻고, 데이터를 암호해제하고 처리하는 복잡성과 연관될 필요가 없게 한다. 모든 이러한 복잡한 과정은 SW100에 의해서 취급된다. 인터페이스(105,110,115)는 또한 예술가의 이미지 같은 이미지를 예술가의 노래나 재생목록에 연관시키는 것을 관리하고 재생목록을 관리하는 것과 같은 재생의 배치를 관리한다. 응용 프로그래밍 인터페이스(API)(130A)는 명령 디스패처(command dispatcher)(CD)(130) 내에 존재한다. CD(130)와 API(130a)는 인터페이스(105,110,115)로부터 명령을 수신하여 정보를 인터페이스로 중계하고 모든 과정들을 조직화하는데, 상기 과정들은 SW100에서 발생한다. 장치(15)의 과정은 필요한 모든 암호화, 암호해제 및 압축 알고리즘과 함께, 보안매체에 저장된 콘텐츠의 레코딩과 재생에 관련된다. 이러한 인터페이스 및 제어에 대한 보다 많은 정보에 대해서는, 이 출원과 동일자로 출원되고 발명자가 동일한 미국 특허 출원, 대리인 서류 번호 M-9913 US의 "SYSTEM, METHOD, AND DEVICE FOR PLAYING BACK RECORDED AUDIO, VIDEO OR OTHER CONTENT FROM NON-VOLATILE MEMORY CARDS, COMPACT DISKS OR OTHER MEDIA"에 개시된다.
SD 오디오 엔진(SDAE)(140), SD 비디오 엔진(SDVE)(150) 및 SD 이미지 엔진(SDIE)(160)은, CD(130)로부터 명령 수신 시, 보안 매체 상에 있는 오디오, 비디오 및 이미지 콘텐츠를 각각 처리한다. 이것은 SDAE(140)가 AAC, WMA 및, MP3 같은 오디오를 위한 어떤 공지의 포맷이라도 처리할 수 있다는 점을 의미한다. 마찬가지로, 이것은 SDVE(150)가 윈도우즈 미디어 파일 같은 비디오 클립 또는 리얼 네트워크 파일 MPEG 같은 어떤 공지의 포맷이나 비디오 파일의 어떤 공지의 유형도 처리할 수 있다는 것을 의미한다. 마지막으로 SDIE(160)는 TIF, GIF, JPEG, 비트맵 등과 같은 공지 유형의 어떤 이미지 파일도 처리할 수 있다. 각 인터페이스는 보안이 이루어진 API(SAPI)와 보안이 이루어지지 않은 API(NSPI)를 가진다. 처리된 콘텐츠는 암호화될 수 있거나 암호화되지 않을 수 있다. 암호화된 콘텐츠는 SAPI(140A,150A,160A)를 통해서 접근된다. 이러한 SAPI는 SanDisk 보안 매니저(SSM)(180)와 통신한다. 보안 콘텐츠와 관련된 모든 명령은 SSM(180)을 통해서 전달된다. 이후에 보다 상세하게 설명되는 보안이 이루어진 디지털 보안 엔진(SDSE)(175)은 모든 암호화 및 암호해제 과정을 취급한다. 매체를 인증하고 콘텐츠를 암호해제 하는데 사용된 키는 SDSE(175) 내에 포함되어 그것에 의해서만 전적으로 처리된다. 카드 상에 존재하는 암호화되지 않은 콘텐츠는 NSAPI(140B,150B,160B)를 통해서 접근된다. 이러한 NSAPI는 매체 상의 암호화되지 않은 콘텐츠에 접근하기 위하여 비-보안(non-secure) 파일 인터페이스(NSFI)(170)와 통신한다.
저장매체 내의 데이터를 읽고 쓰기 위하여, NSFI(170)와 SDSE(175)가 장치 구동부(190)와 통신한다. SD 카드의 예에 있는 장치 구동부(190)는 SD 카드(13)의 장치 인터페이스(39)의 접촉부로의 신호와 그것으로부터의 신호를 관리하고 구동시킨다. 장치 구동부(190)는 다양한 장치 또는 매체의 장치 인터페이스에 대한 특정 유형으로 주문 제작될 것이다. 메모리 카드 장치의 경우에, 구동부(190)는 장치(15) 상에 위치된 접촉부로의 신호와 그것으로부터의 신호를 관리하고 구동한다. 광 매체의 경우, 장치 구동부(190)는 광 픽업 유니트(optical pick-up unit)를 포함하는 다양한 하드웨어 구성부로의 신호와 그것으로부터의 신호를 관리하고 구동한다. 장치 구동부(19)는 보안 장치 구동부 인터페이스(SDDI)(190a)와 비 보안 장치 구동부 인터페이스(NSDDI)(190B)를 포함한다. SDDI(190A)와 NSDDI(190B)는 장치 구동부(190) 내에서 서로 격리된다. SDDI(190A)는 SDSE(175)와 전용으로 통신하는 반면에, NSDDI(190B)는 NSFI(170)와 전용으로 통신한다.
장치 키와 SD 오디오 보안 계획에 중심적인 다른 값들은 하나의 제한된 보안 소프트웨어 모듈인 SD 보안 엔진(SDSE)(175) 내에 하우징된다. 이러한 값들의 모든 조작은 이러한 모듈에 단독으로 제한된다. 값들은 SDSE(175) 위의 소프트웨어 층 안팎으로 결코 통과되지 않는다. 이러한 키를 포함하는 보안 서비스에 대한 모든 요청은 이러한 보안 모듈을 보호하는 SSM(180)에 의해서 제어되고 모니터된다. 보안 모듈의 아래로, SD 메모리 카드 장치 구동부(190)가 보안 접근을 수행한다. 이러한 구동부 서비스에 대한 요청은 비밀의(private) 구동부 보안 인터페이스인 보안 장치 구동부 인터페이스(SDDI)(190a)를 통해서 이루어지는데, 이것은 보안 모듈에만 알려진다. SDSE(175)는 이러한 인터페이스(190a)를 사용하여 Get Media Key Block(MKB) 같은 특수한 보안 명령을 수행한다. 비 보안 장치 구동부 인터페이스(NSDDI)(190B)도 장치 구동부(190)를 사용하여 카드(13)의 사용자 영역(41)에 있는 어떤 암호화되지 않은 파일에 접근한다.
SW100 아키텍처의 보안은 그것의 키의 보안 내에 존재한다. 비밀의 "소프트 키"(soft key)는 임시 보안 영역에 장기간 저장되지 않는데, 이것이 키를 손상시킬 가능성을 증가시켜 암호화된 콘텐츠의 손상 가능성을 증가시키기 때문이다. SW100은 필요한 키(또는 "소프트 키")를 동적으로 발생시키고 그러한 특정 키에 대한 즉각적인 필요성이 없을 때 그것들을 삭제하는 SDSE(175) 내의 계획을 이용한다.
삭제
SW100의 작동이 이제 보다 상세하게 설명될 것이다. SW100 내에서, OEM의 4C-인가를 받은 장치 키가 사용될 것을 요구하는 장치로 명령이 내려진다. 이러한 키의 모든 처리는 SSM(180) 아래에 하우징된 SDSE(175) 모듈로만 제한된다.
SSM(180)이 보안 서비스에 대한 요청을 수신하였을 때, 이것은 명령 요청 패킷을 SDSE(175) 내의 처리_보안(process_security) 기능으로 통과시킴으로써 그것을 수행한다. 키 값은 요청 패킷 내에 포함되거나 SDSE(175)의 위에 있는 소프트웨어 층에 노출되지 않는다.
SDSE(175)에 의해서 내부적으로 필요할 때, 장치 키는 기능 호출을 통해서 OEM에 공급된 라이브러리로 복구된다. SDSE의 라이브러리(175)인 보안 리브(security.lib)는 암호해제된 키가 시스템의 보안 영역에 존재하는 시간을 감소시키도록 설계된 다음의 API를 포함한다.
1) SEC_AKE API;
2) SEC_ENC_TKEY API;
3) SEC_DEC_TKEY API;
4) SEC_GETCCI API;
5) SEC_UPDATECCI API.
SW 100 의 기능성과 구조는 본 출원의 내용중에 설명되어 있으며 보다 상세하게는 상기의 API들(1-5)의 기능성이 도 9 의 플로우차트내에 도시되어 있다. API들은 그들이 수행하는 해당 기능들 다음에 도시되어 있다. 모든 SW100 뿐만 아니라 이들 API 들의 수행에 대한 보다 상세한 내용은 본 출원의 부속물로 제출된 소스 코드에서 볼 수 있다. 그 소스코드는 이런 응용의 일부를 형성하여 이런 레퍼런스에 의해 명백히 통합된다.
장치 키는 일단 얻어지면 SD 메모리 카드로부터의 매체 키 블록(MKB)과 조합되어 "매체 키"(media key)를 형성한다. 이러한 값은 차후의 요청을 처리하는데 사용되도록 SDSE(175) 내에 유지된다. 그러나 "매체 고유 키"(Kmu)는 결코 SDSE(175) 내부에 유지되지 않는다. 모든 보안 접근을 위한 기초를 형성하는 이러한 값은 별도의 보안 예방조치로서 실시간에 기초하여 계산된다(그리고 캐시(cache)되지 않는다). SDSE(175) 내의 키 처리의 상세한 설명은 다음과 같다.
암호화 프로세스는 일반적으로 보안매체 상에 위치한 콘텐츠의 인가되지 않은 복사를 중지시키도록 설계된 것이다. 본 발명에는 이것을 달성하기 위한 많은 양상이 있다. 우선, 예컨대 노래인 전체 파일은 즉시 암호해제되지 않고 그것이 손상되기 쉬운 메모리로 저장된다. 휴대용 장치는 버퍼를 할당하고, SDSE(175)는 암호화된 콘텐츠의 청크를 한번에 읽고, 그것을 암호해제시킨 후, 파일의 끝에 도달할 때까지 계속해서 같은 버퍼에 쓴다.
도 6과 도 7에 도시된 바와 같이, 매체 고유 키(Kmu)와 타이틀 키(Kt)는 콘텐츠를 암호해제하는데 마지막으로 사용된 키들이다. 타이틀 키를 보호하는 많은 방법이 있다. 키를 장치(15)의 고도 보안이 이루어진 영역에 저장하면, 암호화된 버퍼가 읽혀지고 암호해제될 때마다 다른 것은 카드(13)의 보호된 영역(47)로부터 타이틀 키를 읽게 된다.
도 9를 참조하면, 단계(205)에 있어서, 도 4에 도시된 바와 같은 64킬로바이트인 MKB 이미지가 도 6에 도시된 바와 같이 매체 키(Km)를 처리하도록 읽혀져서, 매체 고유 키(Kmu)를 산출한다. 이러한 단계는 도 10에 더 상세하게 설명되는데, 이것은 이후에 설명될 것이다. 장치 및 매체의 상호 인증이 단계(205)에서 완료된 이후에, AKE 과정을 겪어서 세션 키(Ks)를 산출하게 되는데, 상기 세션 키는 단계(210)에서 (장치가 켜져 있거나 활성 상태에 있는 한) 세션 중에만 사용될 수 있다. AKE 과정은 도 6을 다시 한번 참조함으로써 볼 수 있다. 단계 213에 있어서, 매체 고유 키(Kmu)가 삭제된다. 단계(215)에 있어서, 세션 키(Ks)는 메모리 카드(13)의 보호된 영역(47)에 저장된 이중으로 암호화된 타이틀 키(E(E(Kt)))를 암호해제하는데 사용된다. 결과는 한번 암호화된 타이틀 키(E(Kt))다. 단계 220에서, 이러한 암호화된 타이틀 키(E(Kt))는 장치(15)의 메모리에 저장된다. E(Kt)는 시스템 메모리(27), MCU(25)의 RAM 메모리(25A) 또는 DSP(31)의 RAM 메모리(31A)에 저장될 수 있다. 타이틀 키(Kt)는 각 타이틀에 대해서 특정적인 것으로서, 본 발명을 예시하는데 사용된 도 9에서 그리고 오디오의 영역에서는 트랙으로서 지칭된다. 각 트랙은 다중 파일로 만들어질 수 있는데, 예를 들면, 긴 클래식 노래의 경우에 그러하다. 대형 비디오 클립에 대해서는 타이틀이 많은 파일을 포함할 수 있다. 따라서 트랙의 암호화된 콘텐츠의 모든 차후의 읽기 및 암호해제에 대해서, 타이틀 키는 그것이 로컬 메모리 내에 저장되기 때문에 메모리 카드로부터 검색될 필요가 없으며, 귀중한 시간과 컴퓨팅 자원이 절감될 수도 있고, 동시에 타이틀 키는 보안 목적을 위해서 암호화되어 유지된다.
단계(225)에 있어서, 트랙의 일부가 재생된다. 이러한 부분은 트랙을 포함하는 임의의 파일에 있을 수 있다. 단계(225a)에 있어서, 매체 고유 키(Kmu)가 다시 한번 계산된다. 단계(225b)에 있어서, 로컬 메모리에 저장된 암호화된 타이틀 키가 암호해제된다. 다음에, 단계(225c)에 있어서, 타이틀 키는 카드 메모리 카드(13)의 사용자 영역(41)으로부터의 콘텐츠를 포함하는 장치(15)의 버퍼로부터 콘텐츠를 암호해제하도록 사용된다. 버퍼가 암호해제된 직후에, 타이틀 키는 단계(225d)에서 삭제되며 매체 고유 키는 단계(225e)에서 삭제된다. 단계(225d)와 단계(225e)의 순서는 중요하지 않지만, 트랙의 일부를 읽는데 드는 시간 동안에만 양쪽 키들이 노출되는 것이 중요하다. 이러한 부분은 재생 (암호해제되고, 압축해제되고, 그리고 디코딩된) 콘텐츠, 오디오 또는 다른 것의 1초의 몇 분의 1 내지는 약 10초에 이르기까지 그 어느 곳일 수 있다. 바람직하게는 이것은 2초이다. 그 부분을 읽는데 드는 시간은 처리속도와 장치의 버퍼 크기를 포함하는 많은 인자에 달려있다. 이전에 설명된 바와 같이, SW 100은 MCU(25) 또는 DSP(31)에 의해서 수행될 수 있고 장치(15)의 메모리(27,25A,31A,32) 중 어느 것에 저장될 수 있으며, 따라서 처리시간이 변화할 수 있다. 이것은 트랙의 모든 부분이 단계(230)에서와 같이 읽혀질 때까지 반복된다. 일단 모든 부분이 읽혀지면, 만약 재생이 계속될 경우에 시스템은 단계(235)에서와 같이 다음의 트랙으로 이동할 수 있다. 이것은 예를 들어 사용자가 전체의 재생목록을 재생하도록 선택하였다면 그렇게 될 수 있다는 것이다.
트랙의 모든 부분이 읽혀져서 다음 트랙을 읽는 것이 시작될 때, 과정은 단계(215)에서 다시 시작될 것이며, 카드(13)의 보호된 영역(47)으로부터 다음의 이중으로 암호화된 타이틀 키를 검색할 것이다. 이것은 다중 트랙을 포함하고 있는 전체 재생목록을 재생하도록 사용자가 장치를 작동상태로 설정하였을 경우에 일반적인 경우이다. 세션이 닫히면(즉, 장치(15)가 켜졌거나 꺼졌다면), 새로운 세션 키가 생성되어야 할 것이고, 과정은 단계(210)에서 시작될 것이다. 메모리 카드가 제거되거나 또는 새롭게 삽입된다면, 장치와 매체는 다시 인증을 받아야 할 것이며 과정은 트랙을 읽기 위하여 단계(205)에서 다시 시작할 것이다.
도 10은 전술한 도 9의 단계(205)에서 매체 키 블록을 처리하는 작동을 처리한다. 도 4에서 도시되었던 것과 같이, MKB 이미지(49)는 길이에 있어서 64Kbyte이다. MKB를 계산하기 위해 전체 이미지(49)를 즉시 읽는 것은 비효율적이며, 커다란 RAM과 긴 처리시간을 필요로 한다. 본 시스템은 RAM 요건을 감소시키고 처리시간을 줄인다. MKB 이미지(49)는 1 내지 128의 청크로 분할된다. 각 청크는 512바이트이며 MKB의 레코드의 상이한 4개 유형 중 하나를 포함할 수 있다: 0x81로서 알려진 검증 매체 키 레코드(VMKR); 0x01로서 알려진 계산 매체 키 레코드(CMKR); 0x82로서 알려진 조건부 계산 매체 키 레코드(CCMKR); 또는 0x02로서 알려진 종료(end) 매체 키 레코드(EMKR). 이러한 레코드는 위에서 언급한 4C 엔터티의 기록가능한 매체의 보호(CPRM) 명세에 설명되어 있다.
이러한 예에서, 청크의 길이와 버퍼의 길이는 같다. 그러나 버퍼의 길이와 청크의 길이는 256바이트 내지 4096바이트이다. 각 레코드는 레코드 유형에 기초한 특정 작동을 수행하도록 검사되고, 어떤 데이터는 매체 키를 획득하도록 이후를 위해 저장될 것이다. 레코드 길이는 레코드가 식별될 때마다 버퍼 오프셋의 전체 길이에 부가된다. 청크의 수는 전체 길이를 청크 길이로 나눔으로써 계산된다. 청크의 수는 선택된 청크 데이터의 매체 키 블록에 대한 인덱스이다. 전체 길이의 나머지는 선택된 청크 데이터에 대하여 오프셋된다. 행렬이 사용되어 암호화된 매체 키와 조건부의 암호화된 매체 키가 어느 곳에 있는지를 계산한다. 이러한 암호화된 키들이 저장되고, 전자 코드북 모드 알고리즘의 암호해제 C2 사이퍼가 수행되어 매체 키를 얻는다. 이러한 매체 키는 다음에 정확한 최종의 매체 키(Km)를 위해서 검증된다.
레코드의 수와 연관된 MKB로부터 매체 키(Km)를 얻기 위한 MKB 청크마다 필요한 읽기(read)의 수인 T는 아래와 같다.
레코드의 수 < T < (레코드의 수*2)
T: MKB 청크에 접근하는데 필요한 횟수
각 레코드는 상이한 길이와 데이터 값을 가진다. 각 레코드의 정보는 2회 읽기 내에서 얻어질 수 있다. 4개의 레코드가 있기 때문에, 4회 읽기와 8회 읽기 사이에 MKB 청크를 처리하고 레코드를 얻을 필요가 있을 것이다.
따라서 읽기 수인 T는,
4 < T < 8 이다.
MKB 데이터의 512바이트에 접근하는데 N㎳가 걸린다고 가정하자. 제1방법으로부터 매체 키를 얻기 위해 전체 64K의 MKB 이미지에 접근하는 데는 (128*N)㎳가 걸릴 것이다. 제2방법으로부터, 최악의 시나리오에서는 매체 키를 획득하는데 (8*N)㎳가 걸린다. 따라서 이러한 계획을 사용함으로써 상당한 시간이 절감된다. 평균적으로, 매체 키(Km)를 얻으려면, 읽기 수는 4 내지 6의 범위에 있으며, 필요한 시간은 위에서 도시된 것보다 비례적으로 작다.
도 10에서 확장된 도 9의 단계(205)는, 최종 매체 키가 단계(205.75)에서 생성될 때까지 또는 매체가 단계(205.80)에서 거절될 때까지 수행된다. 128개의 청크 모두가 읽혀질 필요는 없으며, 청크마다 512바이트 모두가 매체 키를 계산하기 위하여 읽힐 필요는 없다. MKB 데이터를 처리하는 것은 데이터의 청크를 한번에 요청하는 것과, 특정의 청크 내의 소정 위치를 지시하는 것과, 얻은 값을 계산하는 것을 필요로 하는 작동이다. MKB 데이터 모두가 필요한 것은 아니다. 도 10에 도시된 알고리즘은 MKB 데이터의 어떤 청크가 필요한지, 어떤 레코드가 처리되어야 하는지, 그리고 어디에 암호화된 데이터가 위치하는지를 계산하기 위한 수학적인 계산을 제공할 것이다.
단계 205.5에서, 버퍼 포인터는 데이터 버퍼로 설정되며 버퍼 오프셋은 클리어(clear)된다. 다음에 단계(205.10)에서, 청크의 수는 그것이 최대 청크 수와 같은지 또는 그것보다 큰지를 알기 위해서 점검된다. 만약 그렇다면, 에러가 단계(205.15)에서 반환될 것이다. 만약 그렇지 않다면, 청크의 수는 증가할 것이며 새로운 데이터가 단계(205.20)에서 버퍼로 로딩될 것이다. 다음에 버퍼 오프셋은 단계(205.25)에서 갱신될 것이다. 따라서 포인터는 정확한 위치(청크 수 더하기 오프셋)에 설정될 수 있다. 단계(205.30)에서, 버퍼 포인터는 버퍼 오프셋으로 설정된다. 단계(205.40)에서, 버퍼가 읽혀져서 포인터가 위치되는 오프셋에서 시작된다. 다음에 시스템은 그것이 어떠한 유형의 레코드를 읽고 있는지를 결정할 것이다. 단계(205.40)에서 알 수 있는 바와 같이, 시스템은 우선 어떠한 유형의 레코드가 읽혀지고 있는지, 그리고 어떠한 레코드 길이가 그 레코드와 연관되어 있는지를 점검한다. 각 레코드의 레코드 길이는 버퍼 포인트가 차후의 레코드를 읽으면서 위치되어야 하는 곳을 결정하는데 사용될 것이다. 이것은 단계(205.49)에 의해 반영되어, 버퍼의 오프셋을 갱신하고 버퍼 포인트를 새로운 오프셋에 설정시킨다.
레코드가 단계(205.42)에서 도시된 것과 같은 CMKR이라면, 시스템은 암호화된 매체 키(Km)가 단계(205.49)에서 위치된 곳인 정확한 MKB 위치에 대한 오프셋과 버퍼 청크의 수를 갱신한다. 각 카드는 16 MKB를 가진다. 따라서 시스템은 암호화된 매체 키가 있는 오프셋을 얻고, 특정 MKB 청크 수로 가고, 버퍼(16블록×512바이트)를 할당하고, 암호화된 매체 키를 읽기 위해 각 블록 내의 오프셋으로 가게 될 것이다. 다음에 시스템은 단계(205.50)에서 매체 키를 암호해제(계산)하기 위해 장치(15)로부터 공급된 장치 키(Kd)를 사용한다. 일단 매체 키가 계산되면 다음의 단계는 매체 키를 검증하게 된다.
레코드가 단계(205.44)에서 평가된 바와 같이 VMKR라면, 단계(205.50)에서의 제1시도 또는 단계(205.65)에서의 제2시도에서, 이전에 계산되었던 매체 키는 단계(205.55)에서의 기준 매체 키(Km)와 비교될 것이다. 이것을 하기 위하여, 기준 매체 키는 우선 로컬 저장될 것이다. 키가 같다면, 6진법에서 DEADBEEF인 통과(pass)가 반환될 것이고, 시스템은 매체 키를 조건부로 계산할 필요가 없다. 다음 레코드를 읽는 것을 어디에서 시작할지를 계산하기 위하여, VMKR의 레코드 길이가 버퍼 포인터를 다음 레코드로 이동시키는데 사용된다. 만일 키가 같지 않다면, 언제 CCMKR 레코드가 단계(205.46)에서 읽히는지 다시 계산될 것이다. 이러한 레코드가 읽혀진다면, 버퍼 포인트가 단계(205.49)에서 갱신된 버퍼 오프셋에서 읽혀지도록 설정된 이후에 매체 키가 다시 한번 단계(205.65)에서 계산될 것이며, 다음 VMKR이 읽혀질 때를 이어서 검증할 것이다. CCMKR이 계산되는 최대 시간 수는 시스템에 의해서 바람직하게는 한번 설정될 수 있다.
제1의 계산은 CMKR이 밝혀졌을 때 일어난다. VMKR이 밝혀질 때 개시된 검증 과정 동안에 결정되는 바와 같이 성공적으로 계산된다면, 조건부로 매체 키(Km)를 계산할 필요가 없다. 검증이 성공적이지 못하다면 CCMKR이 밝혀졌을 때 매체 키(Km)가 계산될 것이고 재검증될 것이다. 이것은 매체 키를 계산할 수 있는 2번의 기회가 있다는 것을 의미한다. 마지막으로, 단계(205.48)에서, 다음에 단계(205.75)에서 평가된 바와 같이 레코드가 EMKR이라면, 버퍼 포인터가 단계(205.49)에서 이러한 유형의 레코드에 대하여 적절한 오프셋에 설정된 이후에, 시스템은 레코드의 끝에서 타당한 매체 키(Km)가 존재하는 것을 검증할 것이며, 단계(205.75)에서 마지막 매체 키(Km)가 생성될 것이다. 그러나 만약 타당한 매체 키가 단계(205.70)에서 반환되지 않는다면, 단계(205.85)에 의해서 도시된 바와 같이, 처리는 도 9의 단계(210)에서 계속될 것이다. 따라서 MKB 프로세스가 완료된다.
SDSE(175) 내의 기능은 장치 구동부(19)에 대한 보안장치 구동부 인터페이스(190A)를 사용함으로써 Get MKB와 같은 보안 접근을 수행한다. 마찬가지의 장치 드라이버인 SDDI(190A)는 그것이 직접적으로 호출할 수 있는 SDSE(175) 내의 기능을 또한 이용할 수 있다. 예를 들면, 인가 영역에 대한 읽기를 지시하기 전에, SDDI(190A)는 처음에 SDSE(175) 내의 sec_ake 기능을 호출하여야 한다. sec_ake 기능은 다시 SDDI(190a)로 호출된다. 이러한 SDSE(175) 내의 장치 키의 고립을 용이하게 하는 "이중 호출 관계"는 SD-오디오 표준의 SW 100의 수행에 대하여 유일하다.
SDSE(175)는 모든 키-배향된 처리를 취급하고, 이러한 값들은 특정의 SD 명령이 오디오 인터페이스(105), 비디오 인터페이스(110) 또는 이미지 인터페이스(115)에 의해 수신될 때 필요하기 때문에, 장치 구동부는 그것이 직접적으로 호출할 수 있는 SDSE(175) 내의 기능을 이용하여야 한다. 기능을 수행할 때, SDSE 모듈(175)은 다시 장치 구동부(190)의 비밀 보안 인터페이스인 SDDI(190A)로 호출되어야 한다. 이러한 "이중 호출 관계"는 SDSE(175)와 장치 구동부(190) 사이에서 서로 짜인 요청을 가능하게 하여, 키 값이 보안 모듈 내에 고립될 수 있게 한다.
SDSE(175) 소프트웨어 층은 보안 구동부 요청 패킷을 초기화하고 요청 패킷 포인터를 통과시키는 보안 구동부 인터페이스 가입 지점을 호출함으로써 비밀 인터페이스를 통하여 보안 장치 구동부 서비스를 실시한다.
참조로서 포함된 첨부의 소스 코드를 명확하게 하기 위하여, 다음의 표가 제공된다.
요청 패킷(sdapi.h 로 정의됨)은 다음과 같이 한정된 데이터 유형 SSMSERVE 로 구성되어 있다.
변수 변수 명칭
Typedef struct_mySecuredDrv
{
데이터 버퍼 UCHAR *buffer
데이터 블록의 수 UNIT16 noBlocks
적용 유일 번호 UNIT16 mkb_ID
시작 어드레스 UNIT16 lba
보안 플래그 INT16 securityFlag
드라이브 번호 INT16 driveNo
명령 인덱스 INT16 opCode
}

명령 인덱스(INT16 opCode) 는 요청되는 서비스에 대한 명령을 유지한다. 지원된 명령은 다음을 포함한다:
명령 기능 코드 루틴
장치 식별 SDDRV_IDENT 0 # 한정
보안 식별 SDDRV_SECIDENT 1 # 한정
보안 읽기 SDDRV_SECRD 2 # 한정
보안 쓰기 SDDRV_SECWR 3 # 한정
보안 소거 SDDRV_SECERASE 4 # 한정
MKB 읽음 SDDRV_RDMKB 5 # 한정
MID 를 가져옴 SDDRV_GETMID 6 # 한정
챌린지(challange)를 설정 SDDRV_SETCHALGE 7 # 한정
챌린지를 가져옴 SDDRV_GETCHALGE 8 # 한정
응답을 설정 SDDRV_SETRESP 9 # 한정
응답을 가져옴 SDDRV_GETRESP 10 # 한정
보호된 부위의 크기 변화 SDDRV_CHANGESA 11 # 한정

보안 장치 구동부 서비스의 요청은 SDSE(175) 모듈로부터 발행된다. 예를 들면, 챌린지 발생(1) 기능은 챌린지(1)를 다음과 같이 보낸다.
명령 작동
보안 루틴을 호출하라 SDSECURITYDRV mySecDrv
드라이브 번호를 설정하라 mySecDrv.driveNo = (INT16)drv
메모리 어드레스를 매체내에 설정하라 mySecDrv.lba = 0
데이타 블록의 번호 mySecDrv.noBlocks = 1
챌린지를 설정하라 mySecDrv.opCode = SDDRV_SETCHALGE
챌린지(1)를 보내라 mySecDrv.buffer = Chlg 1
장치 구동부로 호출하라 scDDHandler(&mySecDrv)
모든 키 조작은 SDSE(175)에 제한되어 있기 때문에, SSDI(190A)는 인증키 교환(AKE)을 수행하도록 또는 버스를 가로질러 전달되었던 데이터를 암호해제하도록 SDSE(175)에 의존하여야만 한다(버스를 지나서 보내진 모든 데이터는 각 AKE로부터 발생된 "세션 키"를 사용하여 처음에 암호화된다는 점을 주목하라).
AKE를 수행할 때, SDSE(175)는 명령을 SD 메모리 카드(13)로 보내야 하고, 따라서 이것은 다시 SDDI(190A)로 호출되어야 한다. 이러한 호출 관계는 도 7의 도식에 개설되는데, 이것은 인증 영역의 읽기를 처리하는데 필요한 단계를 나타낸다.
보안 SDDI(190A)에 의해서 호출되었을 때, SDSE(175) 내의 sec_ake 함수는 비밀 구동부 인터페이스를 통하여 보안장치의 구동부로 4개의 호출을 다시 수행한다. 이러한 4개의 요청은 SDDRV_SETCHALGE, SDDRV_GETCHALGE, SDDRV_SETRESP 및 SDDRV_GETRESP로 이루어진다. 이것은 보안모듈이 도 7에 도시된 바와 같은, 필요한 챌린지 설정/챌린지 얻기, 응답 설정/응답 얻기를 수행할 수 있게 한다. 결과적인 세션 키는 보안모듈 내에 저장된다. 이것은 보안장치 드라이버가 SDDI(190A)로부터 정보를 얻기 위해서 SDSE(175)의 bus_decrypt 기능으로 호출할 때 데이터를 암호해제하는데 사용된다.
난수 발생
도6 및 7에 도시된 AKE 프로세스(83)는 난수의 발생을 필요로한다. SD 난수 발생(RNG)의 구현은 선행 난수(Vt)에 기초한 난수 시드(Seed) V(t+1)의 계산을 필요로 한다. 난수 시드 V(t+1)은 플래시 메모리에 저장될 필요가 있으며 차기 난수의 발생을 위해 시드로서 사용될 것이다. 이런 난수 및 시드는 C2_G, C2 암호 단방향 함수(C2 Cipher one-way function)로 사용된다.
난수 시드 Vt+1을 재기록하는 것이 가능하지 않은(즉, 시드 저장을 위해 지시된 EEPROM이 없음) 저비용 계산 플랫폼들에서, RNG 구현은 문제를 발생시킬 수 있다.
프로그램이 난수 발생기의 시드로서 예측가능한 수 또는 고정된 수를 사용하는 경우, 해커가 복제방지를 깨거나 또는 키들을 훔칠 수 있다. 고정 시드로, 제1난수와 챌린지는 동일한 SD 카드 주소가 접근될 경우 고정된다. 응답을 트래킹함으로써, 매체 고유 키가 도난될 가능성이 있다. 여기에서, 우리는 PC 응용을 위한 솔루션으로서 시스템 타이머를 사용한다. 타이머 발생된 시드는 예측가능하지 않음을 보장하기 위하여, 난수 시드의 모든 바이트가 랜덤하도록 타이머를 셔플링한다(shuffle). 마이크로칩 PIC16xxx 같은 시스템 상에서, 실행되는 명령어의 수인 타이머1은 셔플링 이후에 난수 발생의 시드로서 사용될 수 있다.
주요 아이디어는 항상 증가하는 하나 이상의 타이머를 사용하고 이들이 고주파수로 갱신되도록 최저속(slowest) 갱신 (가장 중요한) 바이트들의 주파수를 조작하는 것이다. 최저속 갱신 (가장 중요한) 바이트들의 값은 최고속 갱신 (가장 덜 중요한) 바이트들의 함수로서 계산될 것이다. 난수 발생의 한 가지 방법은 시스템 타이머를 사용하는 것이다. 그것은 4바이트의 프로세서 클럭 및 4바이트의 만국 표준시를 사용한다. 프로세서 클럭은 프로그램이 시작한 때부터의 프로세서 시간의 수이다. 이 시간은 이러한 적용에서 60인 CLOCKS_PER_SECONDS로 개량된다. 그것은 마이크로소프트 C++ 실행시간 함수 "clock()"를 통해 얻어진다. 만국 표준시는 마이크로소프트 C++ 실행시간 함수 "time()"를 통해 얻어진다. 그것은 1899년 12월 31일 정오부터의 초의 수이다.
프로세서 클럭은 0∼3 바이트로 판독되고, 만국 표준시는 4∼7 바이트로 판독된다. 바이트 0과 1이 빠르게 변하지만, 바이트 2와 3은 덜 빠르게 변한다. 바이트 0과 1이 변하는 페이스에 기초한 페이스로 바이드 2와 3이 변하게 함으로써 바이트 2 및 3의 변화율을 증가시킬 수 있다. 이것은 다수의 방식으로 달성될 수 있다. 예를 들면, 배타적 OR 함수를 가지고:
vt_1[2]=vt_1[2]^vt_1[0]
vt_1[3]=vt_1[3]^vt_1[1]^vt_1[0] 이다.
유사하게는, 바이트 6 및 7이 이하 실시예에 의해 보다 빠른 페이스로 변화되도록 될 수 있다:
Vt_1[6]=vt_1[0]+vt_1[1]+vt_1[2]+vt_1[3]+vt_1[4]+vt_1[5]+vt_1[6]
Vt_1[7]=vt_1[0]^vt_1[1]^vt_1[2]^vt_1[3]^vt_1[4]^vt_1[5]^vt_1[6]^vt_1[7]
변화의 페이스를 증가시키는 것은 또한 특정 바이트 위치들에서 타이머 값들 의 곱을 사용하여 또는 보다 빠른 이동 바이트들에 의존한 느린 이동 바이트들을 만드는 다른 방법들에 의해 달성될 수 있다. 보다 상세하게는, 이 명세서의 일부를 형성하는 첨부된 소스 코드를 참고하시오.
결과적으로, 고정 시드에 C2 암호를 적용하는 것이 새로운 난수 시드 V(t+1)를 발생시킬 것이다. C2_G는 C2 암호 단방향 함수이다. 그것은 제1 AKE에 대해 다른 초기 시드 "v1"를 발생시키기 위해 난수 키 "c1"를 고정 시드"v0"에 인가한다.
CurrentTime은 타이머 틱(tick)들을 판독하기 위해 DOS 소프트웨어 인터럽트 "1A" 함수 "0"을 사용하는 어셈플리 프로그램이다. 이하는 _CurrentTime PROC NEAR의 코드이다: push cx; mov ax, 0; int 1ah; mov dx,cx; pop cx; ret; _CurrentTime ENDP.
이득
본 발명의 시스템 및 방법은 다수의 방식들로 종래기술들 보다 이득적이다. 장치 키들 및 관련 세션 키들은 매우 격리되고 보호된 소프트웨어층에서 조종된다. 이들은 상부층들에서 결코 노출되지 않는다.
하부 디바이스 드라이버층도 키들에 직접 접근되지 않는다. 디바이스 키들은 매체 키를 발생시킬 때 OEM-제공된 라이브러리로부터 검색된다. 이런 키는 보안 엔진내에 유지되지만, 보안 기법의 핵심인 매체 고유 키(Kmu)는 결코 저장되지 않는다. 보안 엔진에 대한 개인 인터페이스는 보안 엔진이 메모리 카드에 대한 하위레벨 접근을 얻도록 하면서 모든 보안관련 키들(예를들어, 디바이스 키, 매체 키, 세 션키)의 노출이 보안 엔지내에 한정되도록 한다. "이중 호출 관계(dual calling relationship)"는 보안 엔진 및 보안 디바이스 드라이버가 상호 서비스들의 섞이도록(interwoven) 한다.
본 발명의 특정 실시예와 이들의 장점이 도시되고 기술되었지만, 다양한 변화, 대체 및 변형이 첨부된 청구항으로 한정되는 본 발명의 사상 및 범위를 벗어나지 않고 본문에서 이루어질 수 있다. 예를 들면, SD 메모리 카드의 사용이 본 발명의 기능을 예시하도록 도시되었지만, 본 발명은 암호화 콘텐츠를 가지는 어떤 매체에서도 사용될 수 있다. 임의 유형의 디바이스에 의해 또한 사용될 수도 있다.

Claims (39)

  1. 제거가능한 매체 상의 암호화된 트랙에 디바이스로 접근하는 방법으로서, 상기 트랙은 콘텐츠를 가지는 프레임을 포함하는 방법에 있어서,
    상기 매체를 인증(authorization)하는 단계; 및
    (a) 매체 고유 키를 계산하는 단계, (b) 상기 매체 고유 키로 상기 디바이스의 메모리에 저장된 타이틀 키를 해독하는 단계, (c) 프레임 그룹을 해독하는 단계, (d) 상기 해독된 타이틀 키를 삭제하는 단계, (e) 상기 매체 고유 키를 삭제하는 단계, 그리고 (f) 전체 트랙이 완료될 때까지 상기 (a) 내지 (e)를 반복하는 단계를 포함하는 프로세스에 의해 상기 트랙을 해독하는 단계;
    를 포함하는 암호화된 트랙 접근 방법.
  2. 제1항에 있어서, 상기 매체를 인증하는 단계는,
    매체 키를 계산하는 단계;
    상기 매체 키로부터 매체 고유 키를 계산하는 단계;
    상기 매체 키를 삭제하는 단계;
    상기 매체 고유 키로부터 세션 키를 계산하는 단계; 및
    상기 매체 고유 키를 삭제하는 단계;
    를 포함하는 암호화된 트랙 접근 방법.
  3. 제1항에 있어서,
    상기 매체에 저장된 이중 암호화된 타이틀 키를 계산된 세션 키로 해독하면서 단일 암호화된 타이틀 키를 생성하도록 상기 매체를 인증하는 단계; 및
    상기 매체로부터의 상기 디바이스의 메모리로 상기 단일 암호화된 타이틀 키를 복사하는 단계;
    를 더 포함하는 암호화된 트랙 접근 방법.
  4. 제2항에 있어서, 상기 매체 키를 계산하는 단계는,
    (a) 버퍼로부터 매체 키 블록의 제1레코드를 판독하는 단계;
    (b) 상기 제1레코드의 길이와 유형에 기초하여 버퍼 오프셋을 갱신하는 단계;
    (c) 상기 갱신된 버퍼 오프셋에서 상기 매체 키 블록의 다른 레코드를 판독하는 단계; 및
    (d) 상기 매체 키 블록의 모든 필요한 레코드가 판독되고 상기 매체 키가 계산될 때까지 상기 (a) 내지 (c)를 반복하는 단계;
    를 포함하는 암호화된 트랙 접근 방법.
  5. 제1항에 있어서, 상기 프레임 그룹은 디코딩되거나 압축해제된 형태로 5초 이하의 콘텐츠를 포함하는 암호화된 트랙 접근 방법.
  6. 제1항에 있어서, 상기 트랙을 해독하는 단계는 하나 이상의 파일을 해독하는 단계를 포함하고, 상기 파일은 상기 프레임을 포함하는 암호화된 트랙 접근 방법.
  7. 제1항에 있어서, 상기 트랙을 디코딩하고 압축해제하는 단계를 더 포함하는 암호화된 트랙 접근 방법.
  8. 제거가능한 매체 상의 암호화된 데이터 파일에 디바이스로 접근하는 방법으로서, 상기 데이터 파일은 콘텐츠를 가지는 프레임을 포함하는 방법에 있어서,
    매체 키를 계산하는 단계, 상기 매체 키로부터 매체 고유 키를 계산하는 단계, 상기 매체 키를 삭제하는 단계, 상기 매체 고유 키로부터 세션 키를 계산하는 단계, 그리고 상기 매체 고유 키를 삭제하는 단계를 포함하는 프로세스에 의해 사용자 세션에 관한 매체를 인증하는 단계;
    단일 암호화된 타이틀 키를 생성하기 위해 상기 매체에 저장된 이중 암호화된 타이틀 키를 상기 세션 키로 해독하는 단계;
    상기 매체로부터 상기 디바이스의 메모리로 상기 단일 암호화된 타이틀 키를 복사하는 단계; 및
    (a) 상기 매체 고유 키를 계산하는 단계, (b) 상기 매체 고유 키로 상기 디바이스의 메모리에 저장된 상기 타이틀 키를 해독하는 단계, (c) 프레임 그룹을 해독하는 단계, (d) 상기 해독된 타이틀 키를 삭제하는 단계, (e) 상기 매체 고유 키를 삭제하는 단계, 그리고 (f) 전체 파일이 완료될 때까지 상기 (a) 내지 (e)를 반복하는 단계를 포함하는 프로세스에 의해 파일을 해독하는 단계;
    를 포함하는 암호화된 데이터 파일 접근 방법.
  9. 제8항에 있어서, 상기 매체 키를 계산하는 단계는,
    매체 키 블록을 암호화된 데이터의 바이트들을 포함하는 청크들(chunks)로 분할하는 단계; 및
    상기 블록의 특정 청크 내의 오프셋에서 판독하도록 버퍼를 설정함으로써 상기 매체 키 블록 내에서 키를 해독하는 단계;
    를 포함하는 암호화된 데이터 파일 접근 방법.
  10. 제9항에 있어서, 상기 키를 해독하는 단계는,
    (a) 제1레코드로부터 매체 키를 계산하는 단계;
    (b) 버퍼 오프셋을 갱신하는 단계;
    (c) 상기 갱신된 버퍼 오프셋에서 제2레코드를 판독하는 단계; 및
    (d) 상기 계산된 매체 키를 기준 매체 키와 비교하여 제2레코드로 상기 매체키를 검증하는 단계;
    를 포함하는 암호화된 데이터 파일 접근 방법.
  11. 제10항에 있어서, 상기 버퍼 오프셋은 상기 매체 키 블록의 제1레코드의 유형과 길이에 의해 결정되는 암호화된 데이터 파일 접근 방법.
  12. 제8항에 있어서, 상기 프레임 그룹은 5초 이하의 압축해제되고 디코딩된 오디오 콘텐츠를 포함하는 암호화된 데이터 파일 접근 방법.
  13. 디바이스가 매체로부터 암호화된 콘텐츠를 가지는 암호화된 파일을 판독하도록 하고 암호화된 콘텐츠를 가지는 암호화된 파일을 매체에 기록하도록 하는 시스템에 있어서,
    컴퓨팅 유닛 및 시스템 메모리;
    상기 디바이스로부터 명령어를 수신하기 위한 인터페이스 수단; 및
    (a) 상기 매체로부터 상기 디바이스의 메모리에 암호화된 타이틀 키를 복사하고, (b) 상기 암호화된 타이틀 키를 해독하고, (c) 상기 해독된 타이틀 키로 암호화된 콘텐츠의 일부를 해독하고, (d) 상기 해독된 타이틀 키를 삭제하고, 그리고 (e) 상기 파일의 모든 콘텐츠가 해독될 때까지 상기 (a) 내지 (d)를 반복하도록 구성된 보안 다이나믹 해독 수단;
    을 포함하며, 상기 해독된 타이틀 키는 상기 보안 다이나믹 해독 수단에 위치하고 상기 보안 다이나믹 해독 수단에만 접근가능한 것을 특징으로 하는 시스템.
  14. 제13항에 있어서, 상기 타이틀 키는 재생될 때 압축해제되고 디코딩된 상태로 5초 이하의 콘텐츠를 해독하는데 걸리는 시간 동안 해독 상태인 것을 특징으로 하는 시스템.
  15. 제13항에 있어서, 디지털 신호 프로세서를 더 포함하는 것을 특징으로 하는 시스템.
  16. 제13항에 있어서, 상기 인터페이스 수단 및 보안 다이나믹 해독 수단은 상기 디바이스의 시스템 메모리에 저장되는 것을 특징으로 하는 시스템.
  17. 제16항에 있어서, 상기 인터페이스 수단 및 보안 다이나믹 해독 수단은 컴퓨팅 유닛에 의해 실행되는 것을 특징으로 하는 시스템.
  18. 제15항에 있어서, 상기 보안 다이나믹 해독 수단은 상기 디지털 신호 프로세서의 메모리에 저장되고, 상기 디지털 신호 프로세서에 의해 실행되는 것을 특징으로 하는 시스템.
  19. 제18항에 있어서, 상기 인터페이스 수단은 상기 디지털 신호 프로세서에 의해 실행되는 것을 특징으로 하는 시스템.
  20. 디바이스가 보안 매체 상에 암호화된 콘텐츠를 가지는 파일을 해독하도록 하는 시스템에 있어서,
    상기 디바이스로부터 명령어를 수신하기 위한 하나 이상의 사용자 인터페이스 모듈;
    상기 하나 이상의 사용자 인터페이스 모듈로부터 명령어를 수신하고 상기 보안 매체로부터 암호화된 콘텐츠의 검색 및 저장을 관리하는 응용 프로그래밍 인터페이스; 및
    상기 암호화된 콘텐츠와 상기 보안 매체로부터 디바이스의 메모리로 전송된 하나 이상의 암호화된 키를 해독하기 위한 보안 엔진으로서, 해독된 키가 상기 암호화된 콘텐츠를 해독하는데 사용되는 보안 엔진;
    을 포함하며,
    상기 하나 이상의 키는 암호화된 데이터 세그먼트에 포함되고, 그리고
    상기 보안 엔진은 (a) 상기 하나 이상의 암호화된 키를 해독하고, (b) 상기 해독된 하나 이상의 키를 사용하여 상기 암호화된 콘텐츠의 일부를 해독하고, (c) 상기 해독된 하나 이상의 키를 삭제하고, (d) 상기 암호화된 콘텐츠의 모든 부분이 해독될 때까지 상기 (a) 내지 (c)를 반복하는 것을 특징으로 하는 시스템.
  21. 제20항에 있어서, 상기 콘텐츠는 AAC, MP3 또는 WMA 포맷으로 인코딩되는 것을 특징으로 하는 시스템.
  22. 제21항에 있어서, 상기 하나 이상의 암호화된 키는 5초 이하의 디코딩된 콘텐츠를 해독하고 처리하는데 걸리는 시간 동안 해독 상태에 있는 것을 특징으로 하는 시스템.
  23. 제20항에 있어서, 상기 하나 이상의 암호화된 키를 포함하는 상기 데이터 세그먼트는 단편부분(fractional portions)으로 버퍼링되고 해독되는 것을 특징으로 하는 시스템.
  24. 제23항에 있어서, 상기 단편부분은 512바이트인 것을 특징으로 하는 시스템.
  25. 제20항에 있어서, 상기 디바이스는 컴퓨팅 유닛, 시스템 메모리 및 하드웨어 인터페이스를 포함하는 것을 특징으로 하는 시스템.
  26. 제20항에 있어서, 상기 디바이스는 디지털 신호 프로세서를 더 포함하는 것을 특징으로 하는 시스템.
  27. 제25항에 있어서, 상기 시스템은 상기 디바이스의 시스템 메모리에 저장되는 것을 특징으로 하는 시스템.
  28. 제27항에 있어서, 상기 시스템 메모리에 저장된 상기 시스템은 상기 컴퓨팅 유닛에 의해 실행되는 것을 특징으로 하는 시스템.
  29. 제26항에 있어서, 상기 시스템은 상기 디지털 신호 프로세서의 RAM에 저장되는 것을 특징으로 하는 시스템.
  30. 제26항에 있어서, 상기 시스템의 일부는 상기 디바이스의 시스템 메모리에 저장되고 시스템의 일부는 상기 디지털 신호 프로세서의 RAM에 저장되는 것을 특징으로 하는 시스템.
  31. 제30항에 있어서, 상기 디지털 신호 프로세서의 RAM에 저장된 상기 시스템의 일부는 상기 디지털 신호 프로세서에 의해 실행되는 것을 특징으로 하는 시스템.
  32. 제30항에 있어서, 상기 디지털 신호 프로세서의 RAM에 저장된 시스템의 일부는 상기 보안 엔진을 포함하는 것을 특징으로 하는 시스템.
  33. 제20항에 있어서, 오디오, 비디오 및 이미지를 처리하고 전송하기 위한 하나 이상의 엔진을 더 포함하고, 여기서 각각의 엔진은 보안 응용 프로그래밍 인터페이스, 매체의 상기 암호화된 콘텐츠와 키에 접근하기 위한 보안 인터페이스, 그리고 매체의 암호화되지 않은 콘텐츠에 접근하기 위한 비보안(non-secure) 인터페이스를 포함하는 것을 특징으로 하는 시스템.
  34. 제33항에 있어서, 보안 관리자 모듈을 더 포함하는 것을 특징으로 하는 시스템.
  35. 제34항에 있어서, 상기 보안 인터페이스는 상기 보안 관리자 모듈과 통신하고 상기 보안 관리자 모듈은 상기 보안 엔진과 통신하는 것을 특징으로 하는 시스템.
  36. 제33항에 있어서, 디바이스 드라이버를 더 포함하고, 여기서 상기 보안 엔진은 상기 디바이스 드라이버를 통해 상기 콘텐츠와 키에 접근하는 것을 특징으로 하는 시스템.
  37. 제33항에 있어서, 오디오, 비디오 또는 이미지를 처리하고 전송하기 위한 각각의 상기 하나 이상의 엔진은 상기 매체의 암호화되지 콘텐츠에 접근하기 위한 비보안 응용 프로그래밍 인터페이스를 더 포함하는 것을 특징으로 하는 시스템.
  38. 제20항에 있어서, 상기 보안 엔진은 난수(random number) 발생기를 더 포함하고, 여기서 상기 난수 발생기는 난수를 발생시키기 위해 두 개 이상의 시스템 타이머를 사용하는 것을 특징으로 하는 시스템.
  39. 제38항에 있어서, 상기 난수 발생기는 난수를 발생시키기 위해 사용되는 상기 시스템 타이머의 틱(tick)의 고유 주파수 갱신을 증가시키는 것을 특징으로 하는 시스템.
KR1020037007604A 2000-12-07 2001-12-06 비휘발성 메모리 카드, 콤팩트 디스크 또는 다른 매체로부터 기록된 오디오, 비디오 또는 다른 콘텐츠를 재생하기 위한 시스템, 방법 및 장치 KR100844998B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US25173100P 2000-12-07 2000-12-07
US60/251,731 2000-12-07
PCT/US2001/047014 WO2002047081A2 (en) 2000-12-07 2001-12-06 System, method, and device for playing back recorded audio, video or other content from non-volatile memory cards, compact disks or other media

Publications (2)

Publication Number Publication Date
KR20040055724A KR20040055724A (ko) 2004-06-26
KR100844998B1 true KR100844998B1 (ko) 2008-07-09

Family

ID=22953171

Family Applications (2)

Application Number Title Priority Date Filing Date
KR10-2003-7007607A KR20030060981A (ko) 2000-12-07 2001-11-06 비휘발성 메모리 카드, 콤팩트 디스크 또는 다른매체로부터 기록된 오디오, 비디오 또는 다른 컨텐츠를재생하기 위한 시스템, 방법 및, 장치
KR1020037007604A KR100844998B1 (ko) 2000-12-07 2001-12-06 비휘발성 메모리 카드, 콤팩트 디스크 또는 다른 매체로부터 기록된 오디오, 비디오 또는 다른 콘텐츠를 재생하기 위한 시스템, 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR10-2003-7007607A KR20030060981A (ko) 2000-12-07 2001-11-06 비휘발성 메모리 카드, 콤팩트 디스크 또는 다른매체로부터 기록된 오디오, 비디오 또는 다른 컨텐츠를재생하기 위한 시스템, 방법 및, 장치

Country Status (8)

Country Link
US (5) US7840818B2 (ko)
EP (3) EP1512147A2 (ko)
JP (2) JP4219680B2 (ko)
KR (2) KR20030060981A (ko)
CN (2) CN1720578A (ko)
AU (2) AU2002232494A1 (ko)
TW (2) TW544579B (ko)
WO (2) WO2002047080A2 (ko)

Families Citing this family (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6578203B1 (en) 1999-03-08 2003-06-10 Tazwell L. Anderson, Jr. Audio/video signal distribution system for head mounted displays
CN1187756C (zh) * 1999-05-28 2005-02-02 松下电器产业株式会社 半导体存储器卡、播放装置、记录装置、播放方法、记录方法、和计算机可读记录介质
US20020057364A1 (en) 1999-05-28 2002-05-16 Anderson Tazwell L. Electronic handheld audio/video receiver and listening/viewing device
US7210160B2 (en) 1999-05-28 2007-04-24 Immersion Entertainment, L.L.C. Audio/video programming and charging system and method
US6585622B1 (en) 1999-12-03 2003-07-01 Nike, Inc. Interactive use an athletic performance monitoring and reward method, system, and computer program product
US8956228B2 (en) * 1999-12-03 2015-02-17 Nike, Inc. Game pod
CA2365236A1 (en) * 2000-01-21 2001-07-26 Sony Corporation Data authentication system
FR2815738B1 (fr) * 2000-10-25 2003-03-21 Dolphin Integration Sa Controle d'acces a une memoire integree avec un microprocesseur
WO2002047080A2 (en) * 2000-12-07 2002-06-13 Sandisk Corporation System, method, and device for playing back recorded audio, video or other content from non-volatile memory cards, compact disks or other media
JP2002328846A (ja) * 2001-02-20 2002-11-15 Sony Computer Entertainment Inc コピー管理システム,クライアント端末装置の情報処理プログラムが記憶されたコンピュータ読み取り可能な記憶媒体,管理サーバ装置の情報処理プログラムが記憶されたコンピュータ読み取り可能な記憶媒体,クライアント端末装置の情報処理プログラム,管理サーバ装置の情報処理プログラム,コピー管理方法,クライアント端末装置の情報処理方法、及び管理サーバ装置の情報処理方法
US20030188183A1 (en) * 2001-08-27 2003-10-02 Lee Lane W. Unlocking method and system for data on media
FR2830950A1 (fr) * 2001-10-11 2003-04-18 Archos Systeme et procede de stockage de masse, et unite de stockage de masse autonome et portative utilisee dans un tel systeme
US20030145183A1 (en) * 2002-01-31 2003-07-31 Muehring Phillip T. Applications for removable storage
US8656178B2 (en) * 2002-04-18 2014-02-18 International Business Machines Corporation Method, system and program product for modifying content usage conditions during content distribution
US7367059B2 (en) * 2002-05-30 2008-04-29 Nokia Corporation Secure content activation during manufacture of mobile communication devices
JP2005535958A (ja) 2002-08-08 2005-11-24 エム−システムズ フラッシュ ディスク パイオニアーズ リミテッド デジタル著作権管理のための集積回路
CN1675878A (zh) * 2002-08-20 2005-09-28 皇家飞利浦电子股份有限公司 用于保护存储内容的移动网络鉴权
US20040039932A1 (en) * 2002-08-23 2004-02-26 Gidon Elazar Apparatus, system and method for securing digital documents in a digital appliance
US7979700B2 (en) 2002-08-23 2011-07-12 Sandisk Corporation Apparatus, system and method for securing digital documents in a digital appliance
US7725073B2 (en) * 2002-10-07 2010-05-25 Immersion Entertainment, Llc System and method for providing event spectators with audio/video signals pertaining to remote events
DE60310968T2 (de) * 2002-10-07 2007-10-11 Telefonaktiebolaget Lm Ericsson (Publ) Sicherheits- und Privatsphärenverbesserungen für Sicherheitseinrichtungen
KR20040034076A (ko) * 2002-10-21 2004-04-28 케이비 테크놀러지 (주) 엠피쓰리 플레이어 및 엠피쓰리 제공 서버 및 엠피쓰리파일 재생방법
US20040083378A1 (en) * 2002-10-29 2004-04-29 Research Triangle Software, Inc. Method, systems and devices for handling files while operated on in physically different computer devices
US8206219B2 (en) 2002-10-30 2012-06-26 Nike, Inc. Interactive gaming apparel for interactive gaming
WO2004041379A2 (en) 2002-10-30 2004-05-21 Nike Inc. Clothes with tracking marks for computer games
US20040093509A1 (en) * 2002-11-12 2004-05-13 Gidon Elazar Method and apparatus for connecting a storage device to a television
US7599976B1 (en) * 2002-11-13 2009-10-06 Metrowerks Corporation System and method for cryptographic key generation
US7478248B2 (en) * 2002-11-27 2009-01-13 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for securing data on a portable storage device
JP4434573B2 (ja) * 2002-11-29 2010-03-17 株式会社東芝 ライセンス移動装置及びプログラム
JP3878542B2 (ja) * 2002-11-29 2007-02-07 株式会社東芝 記録装置
AU2003292648A1 (en) * 2003-01-15 2004-08-10 Sony Corporation Signal processing system, recording method, program, recording medium, reproduction device, and information processing device
WO2004075092A1 (en) * 2003-02-21 2004-09-02 Matsushita Electric Industrial Co., Ltd. Software-management system, recording medium, and information-processing device
US11063766B2 (en) 2003-06-13 2021-07-13 Ward Participations B.V. Method and system for performing a transaction and for performing a verification of legitimate access to, or use of digital data
AU2003304217A1 (en) 2003-06-13 2005-01-04 Orbid Limited Method and system for performing a transaction and for performing a verification of legitimate use of digital data
CN1860787A (zh) * 2003-09-29 2006-11-08 手持娱乐公司 用于编码信息的方法和装置
US7593687B2 (en) 2003-10-07 2009-09-22 Immersion Entertainment, Llc System and method for providing event spectators with audio/video signals pertaining to remote events
EP1524659A1 (en) * 2003-10-13 2005-04-20 Deutsche Thomson-Brandt Gmbh Method and apparatus for decrypting an encrypted supplementary data set
KR101022465B1 (ko) * 2003-11-13 2011-03-15 삼성전자주식회사 암호화된 디지털 데이터의 복사 및 복호화 방법 및 장치
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
WO2005076576A2 (en) * 2004-02-03 2005-08-18 Sandisk Secure Content Solutions, Inc. Protection of digital data content
WO2005076138A1 (en) * 2004-02-03 2005-08-18 Sydney Gordon Low A content player
US7499550B2 (en) * 2004-02-09 2009-03-03 International Business Machines Corporation System and method for protecting a title key in a secure distribution system for recordable media content
FR2867582B1 (fr) * 2004-03-10 2006-05-05 Michel Koenig Unite electronique portative comportant dans un microcircuit un processeur numerique a capacite de cryptographie, une me oire flash de grande capacite et un processeur de traitement du signal
KR101100385B1 (ko) * 2004-03-22 2011-12-30 삼성전자주식회사 인증서 폐지 목록을 이용한 디지털 저작권 관리 방법 및장치
TWI259957B (en) * 2004-04-19 2006-08-11 Faraday Tech Corp System and method for accessing discrete data
KR101224348B1 (ko) 2004-05-10 2013-01-21 코닌클리케 필립스 일렉트로닉스 엔.브이. 바이오메트릭 데이터를 가지고 보안된 거래를 기록할 수 있는 개인용 통신 장치와, 컴퓨터 판독가능한 기록매체
US20050280705A1 (en) * 2004-05-20 2005-12-22 Immersion Entertainment Portable receiver device
US20050262361A1 (en) * 2004-05-24 2005-11-24 Seagate Technology Llc System and method for magnetic storage disposal
JP4686138B2 (ja) * 2004-05-26 2011-05-18 株式会社東芝 記憶媒体変換方法、プログラム及び機器
US8393005B2 (en) * 2004-06-30 2013-03-05 Panasonic Corporation Recording medium, and device and method for recording information on recording medium
JP2006020154A (ja) * 2004-07-02 2006-01-19 Toshiba Corp コンテンツ管理方法及びコンテンツ管理用プログラム、並びに電子機器
JP2006020253A (ja) * 2004-07-05 2006-01-19 Ricoh Co Ltd 情報管理システム、情報管理方法、記録媒体及びプログラム
WO2006022006A1 (ja) * 2004-08-26 2006-03-02 Fujitsu Limited コンテンツ管理プログラム、方法及び装置
JP4569228B2 (ja) * 2004-09-02 2010-10-27 ソニー株式会社 データ処理方法、情報記録媒体製造管理システム、記録データ生成装置、および方法、並びにコンピュータ・プログラム
TWI277870B (en) * 2004-11-22 2007-04-01 Toshiba Corp Copyright management method, information recording/reproducing method and device, and information recording medium and method of manufacturing the medium
US7865917B2 (en) * 2004-12-17 2011-01-04 Martin E Hellman Security enhanced tiered subscription broadcast system
US8627354B2 (en) 2004-12-17 2014-01-07 Martin E. Hellman Tiered subscription broadcast system
US8270901B2 (en) 2004-12-17 2012-09-18 Martin E. Hellman Dropout-resistant media broadcasting system
JP2006185016A (ja) * 2004-12-27 2006-07-13 Hitachi Ltd コンテンツ移動制御装置及び方法
KR101147763B1 (ko) * 2005-01-19 2012-05-25 엘지전자 주식회사 데이터 복호방법 및 복호장치, 기록매체
US20060170760A1 (en) * 2005-01-31 2006-08-03 Collegiate Systems, Llc Method and apparatus for managing and distributing audio/video content
US8423788B2 (en) 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8321686B2 (en) 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8108691B2 (en) 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
KR100670005B1 (ko) * 2005-02-23 2007-01-19 삼성전자주식회사 모바일 플랫폼을 위한 메모리의 무결성을 원격으로 확인하는 확인장치 및 그 시스템 그리고 무결성 확인 방법
US20060248235A1 (en) * 2005-03-21 2006-11-02 Sony Corporation Method and apparatus for data collection in a media player
US7360057B2 (en) 2005-03-22 2008-04-15 Seagate Technology, Llc Encryption of data in a range of logical block addresses
US8832458B2 (en) 2005-03-22 2014-09-09 Seagate Technology Llc Data transcription in a data storage device
US20060265436A1 (en) * 2005-05-20 2006-11-23 Andrew Edmond Grid network for distribution of files
US8874082B2 (en) * 2005-05-25 2014-10-28 Qualcomm Incorporated Apparatus and methods for protecting data on a wireless device
US8887295B2 (en) * 2005-06-27 2014-11-11 Safend Ltd. Method and system for enabling enterprises to use detachable memory devices that contain data and executable files in controlled and secure way
US20070005625A1 (en) * 2005-07-01 2007-01-04 Nec Laboratories America, Inc. Storage architecture for embedded systems
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US7840178B2 (en) * 2005-07-12 2010-11-23 Martin E. Hellman FM broadcast system competitive with satellite radio
US8321953B2 (en) 2005-07-14 2012-11-27 Imation Corp. Secure storage device with offline code entry
US8438647B2 (en) 2005-07-14 2013-05-07 Imation Corp. Recovery of encrypted data from a secure storage device
US8015606B1 (en) 2005-07-14 2011-09-06 Ironkey, Inc. Storage device with website trust indication
US8335920B2 (en) 2005-07-14 2012-12-18 Imation Corp. Recovery of data access for a locked secure storage device
ATE433596T1 (de) * 2005-08-23 2009-06-15 Koninkl Philips Electronics Nv Authentifizierung von informationsträgern über eine physische einwegfunktion
JP2009508412A (ja) * 2005-09-08 2009-02-26 サンディスク コーポレーション メディアコンテンツのセキュアストレージと配信のためのモバイルメモリシステム
US8966284B2 (en) 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
US7934049B2 (en) 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
WO2007123567A2 (en) 2005-09-19 2007-11-01 Ironkey, Inc. Recovery of encrypted data from a secure storage device
US20080025504A1 (en) * 2005-11-23 2008-01-31 Robert Rapp Computer or digital device data encryption/decryption performed by using a random analog source
JP2007164540A (ja) 2005-12-14 2007-06-28 Samsung Electronics Co Ltd データ記憶装置,データ記憶方法およびプログラム
US8266378B1 (en) 2005-12-22 2012-09-11 Imation Corp. Storage device with accessible partitions
US8639873B1 (en) 2005-12-22 2014-01-28 Imation Corp. Detachable storage device with RAM cache
US20070145135A1 (en) * 2005-12-28 2007-06-28 Fabrice Jogand-Coulomb Methods used in a nested memory system with near field communications capability
US20070145152A1 (en) * 2005-12-28 2007-06-28 Fabrice Jogand-Coulomb Nested memory system with near field communications capability
US7590600B2 (en) * 2006-03-28 2009-09-15 Microsoft Corporation Self-contained rights management for non-volatile memory
AU2006343229B2 (en) * 2006-05-08 2011-11-03 Hui Lin A method for protecting digital content by encrypting and decrypting a memory card
US7971071B2 (en) * 2006-05-24 2011-06-28 Walkoe Wilbur J Integrated delivery and protection device for digital objects
US20070288752A1 (en) * 2006-06-08 2007-12-13 Weng Chong Chan Secure removable memory element for mobile electronic device
US8126993B2 (en) 2006-07-18 2012-02-28 Nvidia Corporation System, method, and computer program product for communicating sub-device state information
JP4979312B2 (ja) * 2006-09-09 2012-07-18 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8839005B2 (en) * 2006-09-13 2014-09-16 Sandisk Technologies Inc. Apparatus for transferring licensed digital content between users
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
US8069298B2 (en) * 2007-06-29 2011-11-29 Sandisk Technologies Inc. Method of storing and accessing header data from memory
US20090006796A1 (en) * 2007-06-29 2009-01-01 Sandisk Corporation Media Content Processing System and Non-Volatile Memory That Utilizes A Header Portion of a File
US7685374B2 (en) * 2007-07-26 2010-03-23 Siliconsystems, Inc. Multi-interface and multi-bus structured solid-state storage subsystem
US20090052670A1 (en) * 2007-08-21 2009-02-26 Samsung Electronics Co., Ltd. Method and apparatus for storing digital content in storage device
JP4473900B2 (ja) 2007-08-22 2010-06-02 株式会社東芝 半導体メモリ装置
US20090060182A1 (en) * 2007-09-04 2009-03-05 Thomas Killian Apparatus and method for enhancing the protection of media content
JP2009086890A (ja) * 2007-09-28 2009-04-23 Toppan Printing Co Ltd 申請受理システムおよび申請受理方法
KR101453464B1 (ko) * 2007-11-09 2014-10-21 삼성전자주식회사 이동통신 단말기의 컨텐츠 권한 정보 관리 장치 및 방법
KR20100106327A (ko) 2007-11-16 2010-10-01 디브이엑스, 인크. 멀티미디어 파일을 위한 계층적 및 감소된 인덱스 구조
US8327051B2 (en) * 2007-11-20 2012-12-04 Sandisk Technologies Inc. Portable handheld memory card and methods for use therewith
KR20090052199A (ko) * 2007-11-20 2009-05-25 삼성전자주식회사 저장 장치, 상기 저장 장치를 이용하는 단말장치와 그 방법
US8315950B2 (en) * 2007-12-31 2012-11-20 Sandisk Technologies Inc. Powerfully simple digital media player and methods for use therewith
JP5025009B2 (ja) * 2008-02-15 2012-09-12 株式会社東芝 認証方法、ホスト計算機及び記録媒体
US8695087B2 (en) * 2008-04-04 2014-04-08 Sandisk Il Ltd. Access control for a memory device
US8839002B2 (en) * 2008-04-23 2014-09-16 Cyberlink Corp. Optical media recording device for protecting device keys and related method
WO2009135196A1 (en) 2008-05-02 2009-11-05 Ironkey, Inc. Enterprise device policy management
US8713026B2 (en) * 2008-06-13 2014-04-29 Sandisk Technologies Inc. Method for playing digital media files with a digital media player using a plurality of playlists
US20090313432A1 (en) * 2008-06-13 2009-12-17 Spence Richard C Memory device storing a plurality of digital media files and playlists
US8009831B2 (en) * 2008-06-30 2011-08-30 Condel International Technologies Inc. Method and system for hiding the decryption key in a dispersive way
JP4620146B2 (ja) * 2008-07-18 2011-01-26 株式会社東芝 情報処理装置及び認証方法
US8365279B2 (en) * 2008-10-31 2013-01-29 Sandisk Technologies Inc. Storage device and method for dynamic content tracing
CN101753683B (zh) * 2008-12-03 2013-09-04 深圳富泰宏精密工业有限公司 手机防盗系统
US20100162120A1 (en) * 2008-12-18 2010-06-24 Derek Niizawa Digital Media Player User Interface
JP2010218428A (ja) * 2009-03-18 2010-09-30 Buffalo Inc 外付け記憶装置及びその制御方法
GB2468862A (en) * 2009-03-24 2010-09-29 Steven John Kennedy A method of protecting electronic content by encryption or deletion of consumed portions
US8429365B2 (en) * 2009-06-26 2013-04-23 Sandisk Technologies Inc. Memory device and method for embedding host-identification information into content
US8745365B2 (en) 2009-08-06 2014-06-03 Imation Corp. Method and system for secure booting a computer by booting a first operating system from a secure peripheral device and launching a second operating system stored a secure area in the secure peripheral device on the first operating system
US8683088B2 (en) 2009-08-06 2014-03-25 Imation Corp. Peripheral device data integrity
US8977783B2 (en) * 2009-10-21 2015-03-10 Media Ip, Llc High-speed secure content transfer to SD card from kiosk
US8954625B2 (en) * 2010-01-21 2015-02-10 Lee Friedman System, method and computer program product for portable multimedia content display
US8892691B2 (en) * 2010-04-07 2014-11-18 Apple Inc. Real-time or near real-time streaming
CN102479296A (zh) * 2010-11-29 2012-05-30 公安部第一研究所 一种u盘数据防病毒木马方法
US8533812B1 (en) * 2011-03-03 2013-09-10 Symantec Corporation Systems and methods for securing access to kernel devices
JP5776432B2 (ja) * 2011-08-11 2015-09-09 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
JP5747758B2 (ja) * 2011-09-15 2015-07-15 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US8826459B2 (en) * 2011-11-29 2014-09-02 Jason Swist Systems and methods of automatic multimedia transfer and playback
JP5100884B1 (ja) * 2011-12-02 2012-12-19 株式会社東芝 メモリ装置
US9214184B2 (en) * 2012-04-10 2015-12-15 Western Digital Technologies, Inc. Digital rights management system, devices, and methods for binding content to an intelligent storage device
JP5377712B2 (ja) * 2012-05-31 2013-12-25 株式会社東芝 電子機器
US9361483B2 (en) * 2012-07-10 2016-06-07 Forcepoint Federal Llc Anti-wikileaks USB/CD device
JP2013118616A (ja) * 2012-09-24 2013-06-13 Toshiba Corp メモリ装置
JPWO2014049830A1 (ja) * 2012-09-28 2016-08-22 富士通株式会社 情報処理装置および半導体装置
US9143331B2 (en) * 2013-02-07 2015-09-22 Qualcomm Incorporated Methods and devices for authentication and key exchange
US9342699B2 (en) * 2013-11-06 2016-05-17 Blackberry Limited Method and apparatus for controlling access to encrypted data
US10140477B2 (en) * 2013-12-09 2018-11-27 Thales E-Security, Inc. Obfuscating in memory encryption keys
US20150186656A1 (en) * 2013-12-26 2015-07-02 Hui Lin Method for protecting digital contents by using memory card encryption and decryption
JP5870163B2 (ja) * 2014-06-30 2016-02-24 達男 眞子 コンテンツ閲覧制限システム、コンテンツ閲覧制限方法及びコンテンツ閲覧制限プログラム並びにリムーバブルメディア読取装置
KR102230862B1 (ko) 2014-07-01 2021-03-24 삼성전자 주식회사 영상처리장치 및 그 제어방법
KR20160039922A (ko) * 2014-10-02 2016-04-12 삼성전자주식회사 영상처리장치 및 그 제어방법
US9626304B2 (en) * 2014-10-21 2017-04-18 Sandisk Technologies Llc Storage module, host, and method for securing data with application information
US10949508B2 (en) * 2017-08-11 2021-03-16 Productionpal, Llc System and method to protect original music from unauthorized reproduction and use
US11176265B2 (en) * 2017-12-29 2021-11-16 Stash America Llc Data-centric interactive data security system
US10630652B2 (en) * 2017-12-29 2020-04-21 Janine Darling Data-centric secure data technology, archiving, and storage system
US11017127B2 (en) 2018-01-31 2021-05-25 Seagate Technology Llc Storage compute appliance with internal data encryption
US10909272B2 (en) 2018-01-31 2021-02-02 Seagate Technology Llc Storage compute appliance with user authentication and memory allocation capabilities
WO2020051910A1 (en) * 2018-09-14 2020-03-19 Cobo Global Limited Secure hardware cryptographic key storage device with detachable battery and anti-tamper security functionality
US11483361B2 (en) * 2020-06-24 2022-10-25 KORD, Inc. Audio stem access and delivery solution

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4465901A (en) 1979-06-04 1984-08-14 Best Robert M Crypto microprocessor that executes enciphered programs

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6084686A (ja) 1983-10-17 1985-05-14 Toshiba Corp 情報記録媒体の記録方式
NL8402095A (nl) * 1984-07-02 1986-02-03 Philips Nv Inrichting voor het weergeven van informatie van een registratiedrager.
US4661658A (en) 1985-02-12 1987-04-28 International Business Machines Corporation Offline PIN validation with DES
EP0198384A3 (en) 1985-04-09 1988-03-23 Siemens Aktiengesellschaft Berlin Und Munchen Method and device for enciphering data
DE3512785A1 (de) 1985-04-10 1986-10-23 Telefonbau Und Normalzeit Gmbh, 6000 Frankfurt Verfahren zur zugriffssicherung
FR2592502B1 (fr) 1985-12-26 1990-03-30 Lefevre Jean Pierre Certificateur a memorisation sequentielle
DE3601526A1 (de) 1986-01-20 1987-07-23 Rene Dipl Biol Kleinhenn Kopierschutzverfahren fuer computerprogramme mit hilfe der smart card
FR2596177B1 (fr) 1986-03-19 1992-01-17 Infoscript Procede et dispositif de sauvegarde qualitative de donnees numerisees
CA2153445C (en) * 1994-09-08 2002-05-21 Ashok Raj Saxena Video optimized media streamer user interface
EP0704785B1 (en) * 1994-09-30 2003-11-19 Mitsubishi Corporation Data copyright management system
US5604801A (en) * 1995-02-03 1997-02-18 International Business Machines Corporation Public key data communications system under control of a portable security device
US5790423A (en) 1995-06-14 1998-08-04 Audible, Inc. Interactive audio transmission receiving and playback system
WO1997014147A1 (fr) 1995-10-09 1997-04-17 Matsushita Electric Industrial Co., Ltd. Support, appareil et procede d'enregistrement d'informations
US5790431A (en) * 1995-11-20 1998-08-04 International Business Machines Corporation Method and system for measuring availability in a distributed network
US6118870A (en) * 1996-10-09 2000-09-12 Lsi Logic Corp. Microprocessor having instruction set extensions for decryption and multimedia applications
DE69733986T2 (de) * 1996-10-31 2006-01-26 Matsushita Electric Industrial Co., Ltd., Kadoma Vorrichtung zur verschlüsselten Kommunikation mit beschränkten Schaden bei Bekanntwerden eines Geheimschlüssels
US5966441A (en) * 1996-11-18 1999-10-12 Apple Computer, Inc. Method and apparatus for creating a secure autonomous network entity of a network component system
JPH11250141A (ja) * 1998-03-04 1999-09-17 Nippon Telegr & Teleph Corp <Ntt> リアルタイムコンテンツの配信方法
JPH11328033A (ja) * 1998-05-20 1999-11-30 Fujitsu Ltd ライセンス委譲装置
US6523113B1 (en) * 1998-06-09 2003-02-18 Apple Computer, Inc. Method and apparatus for copy protection
US6040622A (en) 1998-06-11 2000-03-21 Sandisk Corporation Semiconductor package using terminals formed on a conductive layer of a circuit board
JP3634636B2 (ja) * 1998-08-05 2005-03-30 株式会社東芝 データ再生装置及びデータ記録装置並びにプログラム記録媒体
US6611812B2 (en) 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
US6279114B1 (en) * 1998-11-04 2001-08-21 Sandisk Corporation Voltage negotiation in a single host multiple cards system
US6901457B1 (en) * 1998-11-04 2005-05-31 Sandisk Corporation Multiple mode communications system
US6332175B1 (en) * 1999-02-12 2001-12-18 Compaq Computer Corporation Low power system and method for playing compressed audio data
US6615192B1 (en) * 1999-03-12 2003-09-02 Matsushita Electric Industrial Co., Ltd. Contents copying system, copying method, computer-readable recording medium and disc drive copying contents but not a cipher key via a host computer
MY123388A (en) * 1999-03-15 2006-05-31 Sony Corp Processing method and apparatus for encrypted data transfer
US6367019B1 (en) * 1999-03-26 2002-04-02 Liquid Audio, Inc. Copy security for portable music players
JP4161466B2 (ja) * 1999-04-22 2008-10-08 日本ビクター株式会社 コンテンツ情報記録方法及びコンテンツ情報処理装置
JP3682840B2 (ja) * 1999-05-21 2005-08-17 日本ビクター株式会社 コンテンツ情報記録方法及びコンテンツ情報記録装置
CN1187756C (zh) * 1999-05-28 2005-02-02 松下电器产业株式会社 半导体存储器卡、播放装置、记录装置、播放方法、记录方法、和计算机可读记录介质
CA2338695C (en) * 1999-05-28 2009-07-07 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card, playback apparatus, recording apparatus, playback method, recording method, and computer-readable recording medium
JP4127587B2 (ja) * 1999-07-09 2008-07-30 株式会社東芝 コンテンツ管理方法およびコンテンツ管理装置および記録媒体
US7386516B2 (en) 1999-09-10 2008-06-10 Metavante Corporation System and method for providing secure services over public and private networks using a removable portable computer-readable storage
CN100414864C (zh) * 2000-03-09 2008-08-27 松下电器产业株式会社 具有编辑装置和记录媒体的音频数据重放管理系统及方法
JP2001256113A (ja) * 2000-03-13 2001-09-21 Toshiba Corp コンテンツ処理システムおよびコンテンツ保護方法
US6661812B1 (en) * 2000-04-05 2003-12-09 Triscend Corporation Bidirectional bus for use as an interconnect routing resource
US6820148B1 (en) * 2000-08-17 2004-11-16 Sandisk Corporation Multiple removable non-volatile memory cards serially communicating with a host
WO2002047080A2 (en) * 2000-12-07 2002-06-13 Sandisk Corporation System, method, and device for playing back recorded audio, video or other content from non-volatile memory cards, compact disks or other media
US6313386B1 (en) * 2001-02-15 2001-11-06 Sony Corporation Music box with memory stick or other removable media to change content
US6888532B2 (en) * 2001-11-30 2005-05-03 Palmone, Inc. Automatic orientation-based user interface for an ambiguous handheld device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4465901A (en) 1979-06-04 1984-08-14 Best Robert M Crypto microprocessor that executes enciphered programs

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MMCA Technical Committee: "The Multimedia Card system summary", The Multimedia Card Online, 2000.1.
MMCA Technical Committee:"Memory Card Version 0.90, Application Note", Keitaide-Music Tec. Spec., 2000.6.15.

Also Published As

Publication number Publication date
EP2357651A2 (en) 2011-08-17
US20080137865A1 (en) 2008-06-12
JP4219681B2 (ja) 2009-02-04
CN100514471C (zh) 2009-07-15
JP4219680B2 (ja) 2009-02-04
US20020176575A1 (en) 2002-11-28
US7840818B2 (en) 2010-11-23
KR20040055724A (ko) 2004-06-26
WO2002047081A2 (en) 2002-06-13
TW558903B (en) 2003-10-21
US8443208B2 (en) 2013-05-14
TW544579B (en) 2003-08-01
CN1541391A (zh) 2004-10-27
WO2002047081A9 (en) 2003-04-17
CN1720578A (zh) 2006-01-11
US20070237329A1 (en) 2007-10-11
US20110191600A1 (en) 2011-08-04
WO2002047080A2 (en) 2002-06-13
EP2357651A3 (en) 2013-06-26
JP2005506590A (ja) 2005-03-03
AU2002232494A1 (en) 2002-06-18
AU2002230658A1 (en) 2002-06-18
EP1512147A2 (en) 2005-03-09
JP2005506589A (ja) 2005-03-03
WO2002047081A3 (en) 2004-07-08
WO2002047080A3 (en) 2005-01-13
US7227952B2 (en) 2007-06-05
KR20030060981A (ko) 2003-07-16
EP1461808A2 (en) 2004-09-29
US20020186842A1 (en) 2002-12-12

Similar Documents

Publication Publication Date Title
KR100844998B1 (ko) 비휘발성 메모리 카드, 콤팩트 디스크 또는 다른 매체로부터 기록된 오디오, 비디오 또는 다른 콘텐츠를 재생하기 위한 시스템, 방법 및 장치
KR100566627B1 (ko) 반도체 메모리 카드 및 데이터 판독장치
US7412607B2 (en) Methods and apparatus for customizing a rewritable storage medium
US8533807B2 (en) Methods for accessing content based on a session ticket
JP2002539557A (ja) 書き込みアクセスの際に位置とキーをランダム化することによる蓄積媒体のコピー保護
JP2003044361A (ja) データ保存再生システム、データ保存装置、データ再生装置、データ保存再生方法、プログラム、および媒体
KR100320181B1 (ko) 디지탈 데이터 파일 암호화 방법
EP1585127A2 (en) System, method, and device for playing back recorded audio, video or other content from non-volatile memory cards, compact disks, or other media
RU2251752C2 (ru) Карта полупроводниковой памяти и устройство считывания данных
MXPA00011207A (en) Copy-protection on a storage medium by randomizing locations and keys upon write access

Legal Events

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

Payment date: 20120620

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee