KR101416322B1 - 복사 방지된 타이틀의 인증 방법 및 이를 적용하는 재생장치 - Google Patents
복사 방지된 타이틀의 인증 방법 및 이를 적용하는 재생장치 Download PDFInfo
- Publication number
- KR101416322B1 KR101416322B1 KR1020120100662A KR20120100662A KR101416322B1 KR 101416322 B1 KR101416322 B1 KR 101416322B1 KR 1020120100662 A KR1020120100662 A KR 1020120100662A KR 20120100662 A KR20120100662 A KR 20120100662A KR 101416322 B1 KR101416322 B1 KR 101416322B1
- Authority
- KR
- South Korea
- Prior art keywords
- odd
- authentication
- file system
- fat
- file
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000003287 optical effect Effects 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 33
- 238000006243 chemical reaction Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 101100119780 Arabidopsis thaliana FATB gene Proteins 0.000 description 11
- 101100119784 Umbellularia californica FATB1 gene Proteins 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 101100350187 Caenorhabditis elegans odd-2 gene Proteins 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/80—Protecting 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 storage media based on magnetic or optical technology, e.g. disks with sectors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00188—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised devices recording or reproducing contents to/from a record carrier
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
DVD 타이틀등과 같이 인증이 필요한 매체에 대한 인증 방법 및 이를 적용하는 장치에 관해 개시된다. 인증방법:은 매체를 구동하는 ODD(Optical Disc Drive)와 매체에 저장된 컨텐츠를 재생하는 재생 장치를 인터페이스 장치를 이용해 연결하는 단계; ODD에 마련된 메모리에, 상기 컨텐츠 인증을 위한 쿼리 데이터 및 그 결과 데이터를 저장하기 위한 인증영역을 할당하는 단계; 그리고 데이터들을 저장하는 인증영역을 매개로 상기 재생 장치와 ODD 간의 데이터를 상호 교환하여 상기 컨텐츠의 재생에 요구되는 인증을 수행하는 단계;를 포함한다.
Description
본 발명은 복사 방지된 타이틀의 인증 방법 및 이를 적용하는 장치에 관련하며, 상세하게 타이틀의 인증 시스템을 내장하지 않는 재생 시스템을 위한 인증 방법 및 이를 적용하는 장치에 관련한다.
광학적 매체 장치의 하나인 광 디스크 드라이브(ODD; Optical Disc Drive)는 대표적인 컨텐츠 저장 및 재생 장치이다. 광 디스크의 대표적인 포맷은 CD(Compact Disc) 및 DVD(Digital Versatile Disc)이며 점차 BD(Blue ray Disc)로 그 폭이 넓어지고 있다. 대부분의 DVD 매체 장치는 저용량의 CD(Compact Disc)에 대한 호환성을 확보하고 있으며, 최근에는 CD, DVD, BD에 대해 호환성을 가지는 광학 매체 장치가 소개되고 있다.
또한, 대표적인 정보 표시 장치로서는 컴퓨터와 같은 범용성 장치가 있는 한편, 전통적인 장치로서 스마트TV와 같은 영상 재생 기기, 스마트폰이나 테블릿 PC와 같은 개인 휴대용 단말기가 있으며, 이들은 다양한 컨텐츠를 재생할 수 있는 A/V 호스트로서 다양하게 이용된다.
이러한 영상 표시 장치는 주변 장치의 접속을 통해 주변 장치에 저장된 다양한 콘텐츠를 표시할 수 있는 기능도 탑재하고 있다. 그러나, 일반적인 범용 PC와는 달리, 스마트TV, 스마트폰, 테블릿 PC 등과 같이 컨텐츠의 재생이 가능한 장치(이하 재생 장치)는 제한된 범위의 연결성(Connectivity)을 허용하며, 따라서 다양한 종류의 매체에 대한 호환성 부족하다. 이러한 재생 장치는 USB(Universal Serial Bus)나 와이파이(WIFI), 블루투스(BLUETOOTH) 등과 같은 인터페이스를 통해 다양한 호스트 기능을 가지고 있지만, 일반적으로 ISO(International Standard Organization, 국제표준화기구) 9293에서 정의하는 FAT(File Allocation Table) 파일 시스템만을 지원하기 때문에 CDFS(Compact Disc File System) 또는 UDF(Universal Disc Format)을 파일 시스템으로 사용하는 CD/DVD 등의 광 디스크의 컨텐츠를 직접 재생할 수 없다. 이와 같이 ODD에 대한 연결성이 없는 재생장치를 이용해 CD/DVD의 컨텐츠를 재생하기 위한 방법으로 CD/DVD 고유 포맷을 FAT 시스템으로 변환한 후 이를 재생 장치에 제공함으로써 이를 재생할 수는 있다. 그러나, 이 경우, 복사 방지된 콘텐츠, 예를 들어 DVD(digital video disc) 타이틀을 재생하기 위해서는 인증 과정(Authentication process)을 거쳐야 하는데, 상기 재생 장치는 상기 인증 과정을 수행할 수 없다. 컨텐츠 인증을 위해서, 재생 어플리케이션(Player Application)에서 SCSI(Small Computer System Interface) 디바이스 드라이버(Device driver)에 접근하여 ATAPI(Advanced Technology Attachment Packet Interface) 커맨드(command)를 ODD로 직접 내려야 하는데, 상기 재생 장치들은 ODD 디바이스 드라이버를 갖추지 않기 때문에 인증 자체가 불가능하다.
본 발명은 ODD 드라이버를 제공하지 않는 재생 장치에서도 복사 금지된 DVD 타이틀(Contents-protected DVD title)을 재생할 수 있는 인증 방법 및 이를 적용하는 재생장치를 제공한다.
본 발명에 따른 인증 방법: 은
매체를 구동하는 ODD와 상기 매체에 저장된 컨텐츠를 재생하는 재생 장치를 인터페이스 장치를 이용해 연결하는 단계;
상기 ODD에 마련된 메모리에, 상기 컨텐츠 인증을 위한 쿼리 데이터 및 그 결과 데이터를 저장하기 위한 인증영역을 할당하는 단계; 그리고
상기 데이터를 저장하는 인증영역을 매개로 상기 재생 장치와 ODD 간의 데이터를 상호 교환하여 상기 컨텐츠의 재생에 요구되는 최종 인증 값을 획득하는 단계;를 포함한다.
본 발명에 따른 재생 장치:는
컨텐츠를 저장하는 매체를 구동하는 것으로 상기 컨텐츠의 인증에 필요한 데이터가 저장되는 인증영역을 포함하는 메모리 장치; 상기 인증영역의 데이터를 처리하여 컨텐츠 인증에 필요한 명령 수행 및 그 결과를 상기 인증 영역에 저장하는 인증영역 매니저; 를 포함하는 ODD(Optical Disc Drive);
상기 ODD에 연결되는 것으로, 컨텐츠의 인증에 필요한 명령 패킷과 파마미터를 포함하는 데이터를 발생하는 재생부; 및 상기 데이터를 상기 상기 ODD 장치의 인증영역에 저장하는 파일 시스템 드라이버; 그리고
그리고 상기 호스트와 ODD의 통신 연결을 위한 인터페이스 장치;를 포함한다.
본 발명의 일 실시 예에 따르면, 상기 인증영역은 상기 메모리의 일부 영역을 차지하는 가상 파일에 의해 제공될 수 있다.
본 발명의 다른 실시 예에 따르면, 상기 가상 파일은 FAT 시스템의 포맷을 가질 수 있으며, 상기 인증영역에 대한 데이터의 기록 및 읽기는 FAT 포맷에 준거할 수 있다.
본 발명의 다른 실시 예에 따르면, 상기 ODD는 상기 인증영역에 저장된 쿼리데이터를 해독하여 이에 대응하는 SCSI/ATAPI 커맨드를 이용해 상기 쿼리에 대한 응답 값을 얻어 상기 인증영역에 저장한다.
상기 인터페이스 장치는 USB 프로토콜과 무선 방식의 프로토콜 중의 어느 하나를 이용할 수 있다.
본 발명은 스마트TV나 일반적인 휴대용 개인 단말기등과 같이 ODD에 대해 호환성을 가지지 않는 장치를 이용해 ODD에 대한 연결성을 제공하고 복사 방지된 컨텐츠에 대한 인증을 수행할 수 있을 방법을 제시하며 이를 이를 통해 ODD에 대한 연결성이 없는 재생 장치를 통해서도 복사 방지된 컨텐츠의 재생이 가능하게 된다.
도1은 본 발명에 따른 디지털 컨텐츠 재생 장치 또는 시스템의 개략적 구성을 보인다.
도2는 본 발명의 일 실시 예에 따라, 공중파 수상기 등의 호스트와 슬레이브(ODD) 간의 USB 인터페이스를 통한 연결 개념도를 보인다.
도3은 본 발명의 일 실시 예에 따른 파일 시스템 변환기의 개념적 블럭도이다.
도 4는 본 발명의 일 실시 예에 따른 파일 시스템 변환기에 사용되는 것으로 광 디스크로부터 취득한 파일 정보를 저장하는 버퍼 메모리의 논리적 구조도이다.
도 5는 본 발명의 일 실시 예에 따라 얻어진 FAT 테이블의 구조를 나타내 보인다.
도 6은 일반적인 FAT 시스템에서 비연속적인 클러스터 체인의 구조를 예시한다.
도 7은 일 실시 예에 따른 FAT 생성 알고리즘을 나타내는 순서도이다.
도 8은 FAT 포맷의 파일 시스템을 지원하는 호스트를 이용해 3 종류의 포맷이 적용된 광 디스크의 콘텐츠를 재생(액세스)하는 예시적 방법을 보이는 플로우 챠트이다.
도9는 DVD 타이틀의 재생에 요구되는 CSS인증 프로세스를 개략적으로 도시한다.
도10은 본 발명에 따른 디지털 컨텐츠 재생장치 또는 시스템의 개념도이다.
도11은 본 발명에 따른 인증방법에서 ODD 내부의 메모리 장치에 인증영역을 할당하는 방법의 흐름도이다.
도12는 본 발명의 따른 인증 방법에서 호스트의 파일 API를 이용해 ODD에 가상 파일에 커맨드 패키지 및 파라미터의 기록하는 방법의 흐름도이다.
도13은 본 발명의 인증 방법에서, ODD로 인증 프로세스에 필요한 정보 또는 데이터를 전달(기록)하는 방법의 흐름도이다.
도14는 본 발명의 인증 방법에서, ODD의 인증영역에 저장된 ATAPI 커맨드 처리 결과값을 저장하는 방법의 흐름도이다.
도2는 본 발명의 일 실시 예에 따라, 공중파 수상기 등의 호스트와 슬레이브(ODD) 간의 USB 인터페이스를 통한 연결 개념도를 보인다.
도3은 본 발명의 일 실시 예에 따른 파일 시스템 변환기의 개념적 블럭도이다.
도 4는 본 발명의 일 실시 예에 따른 파일 시스템 변환기에 사용되는 것으로 광 디스크로부터 취득한 파일 정보를 저장하는 버퍼 메모리의 논리적 구조도이다.
도 5는 본 발명의 일 실시 예에 따라 얻어진 FAT 테이블의 구조를 나타내 보인다.
도 6은 일반적인 FAT 시스템에서 비연속적인 클러스터 체인의 구조를 예시한다.
도 7은 일 실시 예에 따른 FAT 생성 알고리즘을 나타내는 순서도이다.
도 8은 FAT 포맷의 파일 시스템을 지원하는 호스트를 이용해 3 종류의 포맷이 적용된 광 디스크의 콘텐츠를 재생(액세스)하는 예시적 방법을 보이는 플로우 챠트이다.
도9는 DVD 타이틀의 재생에 요구되는 CSS인증 프로세스를 개략적으로 도시한다.
도10은 본 발명에 따른 디지털 컨텐츠 재생장치 또는 시스템의 개념도이다.
도11은 본 발명에 따른 인증방법에서 ODD 내부의 메모리 장치에 인증영역을 할당하는 방법의 흐름도이다.
도12는 본 발명의 따른 인증 방법에서 호스트의 파일 API를 이용해 ODD에 가상 파일에 커맨드 패키지 및 파라미터의 기록하는 방법의 흐름도이다.
도13은 본 발명의 인증 방법에서, ODD로 인증 프로세스에 필요한 정보 또는 데이터를 전달(기록)하는 방법의 흐름도이다.
도14는 본 발명의 인증 방법에서, ODD의 인증영역에 저장된 ATAPI 커맨드 처리 결과값을 저장하는 방법의 흐름도이다.
이하, 첨부된 도면을 참조하면서 본 발명에 따른 복사 방지된 컨텐츠, 예를 들어 DVD 타이틀에 대한 인증방법 및 이를 적용한 재생장치의 바람직한 실시 예를 설명한다.
본 발명의 인증방법, 예를 들어 DVD 타이틀의 인증 방법은 호스트와 ODD 간의 직접적인 ATAPI/SCSI 커맨드 교환에 의존하지 않고, 간접적인 인증 방법으로 호스트(HOST)와 ODD 간의 정보를 교환하며, ODD는 교환된 정보에 기초하여 ATAPI/SCSI 커맨드를 통해 실질적인 인증과정을 수행한다.
도 1에 도시된 바와 같이 개인용 휴대용 단말기와 같은 디지털 콘텐츠의 재생이 가능한 재생 장치로서의 호스트(1)에 ODD(2)가 슬레이브 장치로서 인터페이스(3)에 의해 연결된다.
본 발명에서 상기 재생 장치에는 ODD에 대한 직접적인 연결성을 가지지 않으면서 디지털 컨텐츠의 재생이 가능한 장치, 예를 들어 스마트TV, 전자액자, 태블릿 PC, 스마트 폰 등과 같이 디지털 컨텐츠의 재생이 가능한 전자 장치가 포함될 수 있다.
상기 인터페이스(3)는 대표적으로 적어도 한 쌍의 USB 포트(port)를 포함할 수 있으며, 이들 포트들은 잘 알려 진 바와 같이 호스트와 슬레이브 장치에 상호 대응하게 마련되는 인터페이스 파트(1a), (2a)에 마련된다. 따라서 USB포트를 포함하는 인터페이스(3)는 인터케이블로서 USB 케이블(3a)을 포함하며, ODD(2)와 호스트(1)는 상기 인터케이블(3a)에 의해 상호 정보를 교환할 수 있다. 한편, 다른 실시 예에 따르면, 인터케이블이 없는 무선 방식으로 상기 인터페이스(3)를 구성할 수 있다. 무선 방식에는 다양한 방식이 알려져 있으며, 이 무선 방식에는 여기에는 블루투스나 애드혹(ad hoc) 방식 등의 무선 전파 접속방식 또는 적외선 등을 이용한 무선 광 접속 방식이 포함되며, 따라서 상기 인터케이블(3a)은 사용되지 않는다.
상기 호스트(1)는 구조적인 한계에 의해 제한된 범위의 파일 시스템을 지원한다. 대표적으로 지원되는 파일 시스템은 FAT이며, 이는 HDD 뿐 아니라, CF(Compact Flash), SD(Secure Digital), MMC(Multi Media Card), 메모리 스틱(Memory stick) 등의 다양한 형태의 메모리 카드에 적용된다. 그 외에도 다양한 파일 시스템이 존재하나, 호스트는 이 모두를 지원할 수 없고, 일반적으로 가장 널리 사용되는 파일 시스템을 일부만을 지원한다. 호스트에 대해 호환성이 없는 슬레이브 장치가 연결되는 알수 없는 장치(unknown device)로 분류된다. 예를 들어 FAT 파일 시스템만을 지원하는 호스트에 CDFS/UDF 파일 시스템의 ODD가 연결되면, ODD는 알 수 없는 장치(unknown device)로 분류된다.
본 발명에 따르면, 슬레이브 장치인 ODD(2)에 파일시스템 변환 알고리즘을 적용되어 호스트가 ODD(2)를 인식할 수 있게 된다. 이러한 변환은 파일 시스템 변환 알고리즘에 의해 수행되며, 이러한 변환 알고리즘은 ODD(2)의 인터페이스에 내장된 변환부(또는 컨버터)에 탑재된다.
구체적으로 본 발명은 파일 시스템 변환 알고리즘을 통해 상기 CDFS/UDF 파일 시스템을 FAT 파일 시스템으로 변환한다. 상기 변환 알고리즘은 호스트(1)가 ODD(2)를 수용 가능한 장치로 인식됨과 아울러, ODD(2)로부터는 인식 가능한 파일 시스템 정보를 얻도록 한다. 수용 가능한 장치란, 호스트(1)가 인식할 수 있으며 상호 호환 가능한 명령어 집합 (Command set)과 파일 시스템을 사용할 수 있는 장치를 의미한다.
아래의 표 1은 본 발명의 시스템에서 인터페이스 장치로 적용할 수 있는 USB 장치의 서브 클래스 코드로서 명령어 집합 정보에 대해 정의한다.
USB 규격에서, ODD는 인터페이스 디스크립터(interface descriptor)에서의 디바이스 클래스 코드는 08H로서 대용량 저장장치(mass storage)에 속하며, 그 서브클래스 코드는 02h로서 MMC-5(ATAPI) 명령어 집합(command set)를 이용한다.
그런데, MMC 명령어 셋트를 적용하는 서브 클래스 02h의 장치, 즉 ODD가 호스트에서 지원하지 않는 장치로 인식할 경우 사용이 불가하므로, 호스트가 사용 가능한 장치로 인식되는 장치, 예를 들어 가장 보편적인 SBC(SCSI(Small Computer System Interface) Block Commands)를 이용하는 서브 클래스 코드 06h를 호스트로 전송함으로써 호스트가 ODD를 사용 가능한 장치로서 인식하도록 한다. 그러나, 서브클래스 02h의 장치가 호스트에 의해 지원되는 경우 그대로 02h를 전송한다.
또한, 아래의 표 2에 정의된 바와 같이 CD, DVD 등 ODD는 MMC 명령어 집합을 이용하는 주변장치 코드 05h로 정의되어 있는데, 이러한 MMC 명령어 집합을 호스트가 수용하지 않는 경우, 수용 가능한 명령어 집합, 예를 들어 가장 보편적인 SBC 명령어 집합을 이용하는 장치, 예를 들어 데이터의 직접 기록이 가능한 비광학적 저장장치로서 자기 디스크 드라이브와 같은 직접 액세스 블럭 장치(Direct-access block device)에 해당하는 00h로 변환할 수 있다.
상기와 같은 방법에 의해 호스트에 대해 ODD를 비광학적 저장장치로서의 자기 디스크 드라이브로 인식시켜 사용 가능한 상태로 만든 후, 디렉토리 엔트리(Directory entry) 정보가 호스트로부터 요구되었을 때, ODD는 광 디스크의 고유 포맷의 파일 시스템 정보를 호스트가 인식 가능한 포맷의 FAT 파일 시스템 정보로 변환하여 전송한다. 즉, ODD는 내부적으로 CDFS/UDF/FAT 포맷의 파일 시스템 정보를 가지고 있지만, 호스트의 요구에 대해서는 이를 FAT 포맷의 파일 시스템 정보로 변환하여 전송한다. 이러한 변환은 인터페이스에 내장된 변환부 또는 컨버터에 의해 이루어진다. 한편, FAT 포맷에는 공지된 바와 같이 16 비트의 FAT16과 32 비트의 FAT32 포맷이 포함된다.
이렇게 함으로써 호스트는 광 디스크에 저장된 콘텐츠의 어드레스 등을 포함하는 파일 정보를 인식할 수 있게 되고, 따라서 특정 콘텐츠의 액세스 및 재생이 가능하게 된다.
도 2은 호스트(HOST)와 ODD간의 USB 인터페이스를 통한 연결 개념도를 보인다.
호스트(HOST)와 ODD는 USB에 의해 상호 정보 교환이 가능한 상태로 인증(identification)된 후, 호스트는 첫 번째 논리적 블럭인 LBA0(logical block address 0)에 저장된 MBR(master boot record)등의 정보를 요구하며, 이에 ODD는 부트섹터(boot sector)와 FAT 포맷의 BPB(BIOS Parameter Block)를 호스트로 전송한다. 다시, 호스트(HOST)가 디렉토리 엔트리를 요구하면, 이에 ODD는 FAT 포멧의 디렉토리 엔트리 정보를 호스트(HOST)로 전송한다. 이와 같이 디렉토리 엔트리 정보를 획득한 호스트는 ODD의 데이터(콘텐츠)의 위치(주소)를 알 수 있고, 이 주소를 통해 데이터를 읽을 수 있는, 재생 가능한 상태가 된다. 상기 ODD로부터 호스트로 전송되는 MBR, BPB, 디렉토리 엔트리 정보는 FAT 포맷이나, 내부적으로는 변환부에 의해 CDFS/UDF 포맷을 변환한 것이다.
아래 표3는 CDFS/UDF를 FAT로 변환하는 알고리즘의 의사코드(psuedo code)로 FAT 변환용 프로그램 함수(function)인 MakeFAT을 나타내 보인다.
FAT 변환 함수 /sector size = 512 |
Function MakeFat PASS IN : Integer of fat_offset PASSOUT : nothing (void) CALCULATE cur_tbl_start as 512*fat_offset CALL ClearFATT with sector_size WHILE infinite CALL ReadFATB with clus_start_index RETURING clus_start CALL ReadFATB with clus_end_index RETURING clus_end IF clus_start is equal to end of entry mark THEN QUIT funciton ENDIF IF cur_tbl_start?clus_start&&cur_tbl_start<=clus_end THEN SET buf_idx to 0 SET clus_idx_s to cur_tbl_start ELSEIF cur_tbl_start<=clus_start && (cur_tbl_start+512)>clus_start THEN CALCULATE buf_idx as (clus_start-cur_tbl_start)*4 SET clus_idx_s to clus_start ELSE SET buf_idx to -1 END IF IF buf_idx is equal to -1 THEN QUIT funtion END IF REPEAT INCREMENT clus_idx_s IF clus_idx_s>clus_end THEN SET clus_idx_s to FAT32_LAST CLUSTER_MARK ENDIF CALL WriteFATT with buf_idx and clus_idx_s INCREMENT buf_idx UNTIL cur_tbl_start+512 > clus_idx_s END WHILE END FUNCTION |
위의 의사코드에서, clus_start_index 및 clust_end_index 는 클러스터의 시작 인덱스 및 종료 인덱스를 나타내는데, 이렇게 표현된 알고리즘은 호스트가 파일할당 테이블(FAT)을 요청하였을 때 작동되며, FAT 오프셋(fat offset)을 인자 또는 파라미터로 전달 받고, FATB 버퍼에 저장되어 있는 파일 정보를 이용해서 fat_offset에 해당하는 FAT 엔트리를 FATT 버퍼에 조직함으로써 FAT를 생성한다.
도 3은 전술한 요소를 가지는 본 발명의 일 실시 예에 적용하는 파일시스템 변환기의 개념적 블럭도이다. FATB 버퍼는 링 버퍼(ring buffer)의 타입을 가지며, 파일 시스템 변환기의 일부 요소이다. 파일 시스템 변환기는 인터페이스의 일부 요소로서, 자체 내장된 메모리(RAM)의 일정 영역을 할당하여 사용한다. FATB 버퍼(제1버퍼 메모리)는 광 디스크가 로딩될 때에, 디스크에 저장된 파일의 시작 위치, 끝 위치, 파일 종류를 저장하는 것으로 위의 의사 코드에 따른 FAT 변환 시 원형 데이터(raw data)로 활용될 수 있게 한다. 상기 FATT 버퍼(제2버퍼메모리)는 역시 상기 메모리의 일정영역을 할당한 것으로, 상기 알고리즘의 함수를 통해 상기 FATB버퍼로부터의 파일정보를 이용해 FAT 엔트리를 조직한 후 이를 저장하는 버퍼이다. FAT 생성기는 FATB 버퍼가 가진 파일 정보를 이용해 호스트로부터 요청받은 오프셋으로부터 파일 할당 테이블을 생성하고, 이를 FATT 버퍼에 저장한다. FATT 버퍼에 저장된 데이터는 인터페이스에 내장되는 데이터 송신기를 통해 호스트로 전송된다. 이러한 구조에 따르면, FAT 생성과 전송부분이 독립된 블럭에서 병렬로 동작하며, 따라서 FAT 생성과 전송에서의 효율을 높일 수 있다.
도 4는 N 개(N: 자연수)의 파일에 대한 정보를 저장하고 있는 FATB 버퍼의 논리적 구조를 나타내 보인다. 광 디스크가 이미 로딩되어 있는 광 드라이브가 기동하거나, 광 드라이브에 새롭게 광 디스크가 로딩되면, 파일 변화시스템 변환기는 광 디스크의 전체 파일을 검색한 후 FATB 버퍼에 해당 파일들의 시작 위치(4 byte), 끝 위치(4 byte), 파일 종류(1byte)를 기록한다. 참고로, UDF나 ISO-9660 파일시스템에서는, 파일 데이터가 연속된 단일 영역에 끊임없이 저장하기 때문에 파일의 시작과 끝 위치만 알면 파일 테이터를 읽을 수 있다.
도 5는 FAT 변환 시스템에 의해 생성된 FAT의 논리적 구조를 나타내 보인다. 도 5에서, 한 섹터의 크기가 2048 byte이고 FAT 엔트리 하나의 크기가 4 바이트인 FAT32 파일 시스템을 가정한 예를 보인다. FAT 파일 시스템에서는, 도 6에 도시된 바와 같이, 파일 데이터를 비연속적인 클러스터 체인 형태로 저장된다. 따라서 파일 데이터의 위치를 파악하기 위해 도 6에 예를 들어 나타낸 바와 같은 FAT 정보가 필요하다. 즉, 파일 데이터가 513을 시작으로 515, 516, 600 클러스터에 차례로 저장되어 있으면 FAT의 513번 엔트리에는 다음 클러스터 번호인 515를, 515번 엔트리에는 516, 600번 엔트리에는 EOC (End Of Cluster)를 기록해서 파일 데이터를 읽을 수 있도록 정보를 제공한다.
도 7은 전술한 알고리즘에 따라 FAT를 생성하는 과정의 플로우 챠트이다. 전술한 바와 같이, 파라미터를 통해 fat_offset의 값을 받아 섹터 사이즈인 512를 곱해서 인스턴스 변수 cur_tbl_start에 넣는다(71). 일반적인 경우, FAT에서는 디스크의 LBA32로부터 일정한 크기만큼 연속해서 저장되어 있어서 호스트의 요청이 있을 때 해당 파일의 주소의 데이터를 읽어서 전송하면 되는데, 본 발명에서와 같이 미리 저장되어 있는 FAT가 없이 실시간으로 생성하는 경우에는 요청 받은 주소에 맞는 적절한 FAT를 만들어서 호스트에게 전송해야 한다. FAT의 시작위치를 기준으로 offset을 정하는데, LBA 32부터 FAT가 시작할 때 호스트가 LBA 32의 데이터를 요청하면 fat_offset은 0이 되고, LBA 33의 데이터를 요청하면 fat_offset은 1이 되는 형식으로 fat_offset가 결정된다. 현재 한 개의 클러스터 크기가 2048 바이트이고 클러스터 번호를 표기하는 주소가 4 바이트이기 때문에 fat_offste에 512를 곱해서 cur_tbl_start (클러스터 시작 주소)를 계산한다. 즉, cur_tbl_start에는 요청 받은 주소의 FAT 엔트리 중 첫 번째 클러스터 번호를 나타낸다.
그리고, FATB 버퍼에서 파일의 시작위치와 끝 위치에 해당하는 데이터를 읽어서 clus_start와 clus_end를 설정한다(72). FATB 버퍼에는 전술한 바와 같이 디스크 상의 모든 파일에 대한 파일의 시작 위치와 끝 위치가 저장되어 있고, 루프를 반복할 때마다 다음 파일의 시작 위치와 끝 위치를 읽어와서 4 바이트 단위의 clus_start와 clus_end에 저장한다. 루프를 반복하다가 clus_start의 값이 0x0FFFFFFF 이면(74), 더 이상의 파일 정보가 없다고 판단하고 파일 할당 테이블 만드는 알고리즘을 종료한다.
본 발명의 실시 예에 있어서, 파일 할당 테이블을 생성하는 것은, 예를 들어 2048 바이트 크기를 가지는, FATT 버퍼에 FAT 엔트리를 기록하는 것을 의미한다. 전술했듯이 FAT 엔트리 하나(클러스터 번호)의 크기가 4 바이트이기 때문에 2048 바이트 크기의 FATT는 512개의 FAT 엔트리를 표현할 수 있다. 호스트가 요구하는 FAT를 전송하기 위해 앞서 FATB 버퍼에서 읽어온 파일의 시작(clus_start)과 끝 위치(clus-end)를 cur_tbl_start와 비교해서, clus_start 보다 크고 clus_end 보다 작거나 같은 경우 단계 "75"로 이행하며, 그렇지 않으면 단계 "79"로 이행한다.
단계 "75"에서, 파일 시작보다 큰 FATT 버퍼에서의 기록 위치를 결정하기 위한 버퍼 인덱스를 저장하는 인스턴스 변수 buf_idx를 '0'으로 세트(클리어)하고, 임시 카운터인 인스턴스 변수 clus_idx_s에는 해당 buf_idx에 기록되어야 할 클러스터 번호를 저장한다(75). 그리고 clus_idx_s가 clus_end보다 커지기 전 까진 clus_idx_s 에 1을 더해주고(76), clus_idx_s가 clus_end보다 커지면(77) 클러스터 체인의 마지막을 뜻하는 0x0FFFFFFF을 clus_idx_s에 넣어준다(78). 다음으로 FATT 버퍼의 buf_idx의 위치에 clus_idx_를 기록하고, buf_idx의 값을 '1' 증가 시킨다(7B). clus_idx_s를 설정하고 FATT 버퍼의 buf_idx 위치에 기록하는 과정은 buf_idx가 512보다 커지기 전까지 계속 반복된다. 즉, 단계 "7B" 이후 buf_idx 가 512 보다 작으면 전술한 단계 "72"로 리턴하며, 그렇지 않은 경우, 단계 "76"으로 이행한다.
한편, 단계 "79"에서 cur_tbl_start는 요청받은 fat_offset에 해당하는 FAT의 시작 클러스터 번호이기 때문에, clus_start가 cur_tbl_start 와 같거나 크고 그리고 cur_tbl_start + 섹터 사이즈(512)보다 작은 경우는 clus_start가 요청 받은 fat_offset에 FAT에 포함되는 상황이며, 단계 "7A"로 이행한다. 단계 "7A"에서는 buf_idx에 (clus_start-cur_tbl_start)*4 를 대입해서 FATT 버퍼에서 기록할 처음 위치를 정하고, clus_idx_s 에는 clus_start를 대입하여 buf_idx에 기록할 처음 값을 정한 후 단계 "76"으로 이행한다.
전술한 내용은 전형적인 FAT 파일 시스템 인식 및 동작 과정에 관한 것이며, CDFS/UDF 포맷에서 FAT 포맷으로의 변환은 호스트의 요청에 의해 변환부에서 실시간으로 이루어진다.
도 8은 FAT 포맷의 파일 시스템을 지원하는 호스트를 이용해 3 종류의 포맷의 파일 시스템(FAT, CDFS, UDF)이 적용된 광 디스크의 콘텐츠를 재생(액세스)하는 예시적 방법을 보이는 플로우 챠트이다.
광 디스크 장치가 호스트에 접속된 상태에서 ODD의 전원을 켜면(80), USB 인터페이스 디스크립터의 서브 클래스 02h를 호스트가 허용하는 서브 클래스인 06h로 변경한다(81). 서브 클래스의 변경에 이어서, 호스트가 수용하는 명령어 세트를 가지는 디바이스 타입으로 변경한다. 예를 들어 MMC 명령어 세트를 사용하는 05h(Multi-media logical unit)를 SBC 명령어 세트를 사용하는 00h(Direct-access block device, e.g., magnetic disk)로 변경한다(82)(표 2 및 전술한 내용 참조).
그리고, 디스크 트레이에 광 디스크가 존재하는지를 검사한다(83). 광 디스크가 존재하면 다음의 파일 시스템 확인 단계로 이행하고, 그렇지 않으면 종료한다. 전술한 파일시스템 변환기는 디스크의 전체파일을 검색한 후, 전술한 바와 같이 FATB 버퍼에 해당 파일의 시작위치, 끝 위치, 파일종류를 저장한다. 참고로 UDF나 ISO-9660 파일 시스템은 파일 데이터를 단일 영역에 저장하기 때문에 파일의 시작과 끝 위치만 알면 파일 데이터를 읽을 수 있다.
첫 번째 파일 시스템 확인 단계로서 광 디스크가 FAT 포맷의 디스크인지를 판단한다(84). 예를 들어 DVD-RAM은 UDF나 FAT로 파일 시스템으로 포맷할 수 있는데, FAT로 포맷된 경우, FAT 포맷은 호스트가 지원하므로 종료한다(89). FAT 포맷이 아닌 경우, 광 디스크가 CDFS 포맷의 디스크인지를 판단한다(85). 광 디스크가 CDFS 포맷의 디스크이면, ODD의 파일 시스템을 CDFS에서 FAT으로 변경하여 호스트의 요구(inquiry)에 대응 작동할 수 있도록 한다(86). 그리고 광 디스크가 CDFS 포맷의 디스크가 아닌 경우 그 다음의 판단 단계(87)에서 광 디스크가 UDF 포맷의 디스크인지를 판단한다. 광 디스크가 UDF 포맷의 디스크이면, UDF 파일 시스템을 FAT 파일 시스템으로 변경하여 호스트의 요구에 대응하도록 한다(88)
호스트는 위와 같은 과정을 거친 후 ODD로부터 디렉토리 엔트리, FAT(File Allocation Table) 등의 FAT 파일 시스템 정보를 가져 갈 수 있으며, 이로써 ODD로부터 콘텐츠를 업로드하여 재생할 수 있게 된다.
상기한 바와 같은 방법에 의해 CDFS/UDF 포맷의 ODD를 상기 호스트에 접속하여 사용할 수 있게 된다. 그런데, DVD 타이틀과 같이 복사가 방지된 콘텐츠는 인증과정을 거쳐야 사용할 수 있다. 그러나, 전술한 바와 같이 ODD 디바이스 드라이브를 가지고 있지 않은 호스트는 인증절차를 수행할 수 없다. 본 발명은 ODD 디스크 드라이브를 가지지 않는 호스트, 예를 들어, 스마트TV, 태블릿PC, 전자액자, 스마트폰과 같은 전자 장치에서도 인증절차를 수행할 수 있는 방법 및 이를 적용하는 장치를 제시한다.
본 발명은 호스트와 광 디스크드라이브를 MMC 명령어 세트를 사용하는 05h(Multi-media logical unit)가 아닌 다른 디바이스, 예를 들어 SBC 명령어 세트를 사용하는 디바이스, 예를 들어 자기 디스크 드라이브(Magnetic Disc Drive)로 인식시키고, FAT 파일 시스템을 이용해 복사 방지된 콘텐츠에 대한 인증 프로세스(Authentication Process)를 진행한다.
인증 프로세스는 기존의 방식에서와 같은 ATAPI 커맨드 세트에 의한 직접적인 인증 과정의 수행이 불가능하다. 본 발명에서는 SBC명령어 셋트, 즉 FAT 파일 시스템에 의해 호스트로부터 ODD에 정보를 전달하고, ODD는 내부 ATAPI 커맨드 셋트에 의해 호스트로부터의 정보에 기초한 인증 관련 반환 값의 획득한 후 FAT 파일 시스템을 통해 반환하는 과정을 포함한다. 상기 인증 과정에서 사용되는 FAT 파일 시스템은 ODD의 내장 메모리의 한 영역이며, 이를 이하에서 인증영역이라 한다. 이 인증영역은 FAT 파일 시스템에서 직접 액세스가 가능한 가상 파일(Virtual File)의 형태로 존재할 수 있다.
본 발명에서 호스트로부터의 인증 관련 쿼리 데이터는 FAT 파일 시스템을 통해 상기 인증 영역 또는 가상 파일(이하 가상 파일)에 저장하고, ODD는 상기 가상 파일에 저장된 인증 관련 쿼리를 파싱(또는 해독, parsing)하여 이에 대응하는 ATAPI 커맨드를 재구성하여 이를 실행한다. ATAPI 커맨드의 수행에 의해 얻어진 반환 값 또는 리턴 값(이하 리턴 값)은 상기 인증 영역 또는 가상 파일에 저장되며, 상기 호스트는 이 리턴 값을 상기 가상 파일로부터 읽어간다. 이러한 과정을 통해 DVD 타이틀의 인증에 필요한 여러 단계의 챌린지(challenge)와 리포트(report)가 수행된다.
잘 알려진 바와 같이 CSS(Content Scrambling System)을 위한 디스크 인증은 DVD 암호화 규격에 준거하여 ATAPI/SCSI 명령을 통해 여러 단계의 챌린지와 리포트하고 최종적으로 버스 키를 획득하여, 그 대략적인 흐름은 도 9와 같다. ODD가 초기화된 상태에서 CSS를 위한 AGID(Authentication Grant ID) 를 요구하는 것으로 시퀀스가 시작되며, 이러한 시퀀스 중의 반복된 챌린지와 리포트의 과정에서 호스트와 ODD는 ODD 내부의 메모리 상의 인증영역에 대한 정보의 기록 및 읽기를 통해 상호 정보교환을 수행하여 인증에 성공했을 때 버스 키(Bus Key)를 획득할 수 있게 된다. 이때에 본 발명에 따르면, 호스트와 ODD가 상호 주고 받는 샌드 키(Send key)와 리포트 키(Report key)를 주고받는 과정에서 통해 해당 데이터가 인증영역에 기록되며, 수신하는 측은 이를 읽어간 후 인증에 필요한 연산을 수행한다.
도10은 본 발명의 실시 예에 따른 DVD 타이틀 재생 시스템의 개념을 설명하는 개략적 블럭도이다.
도10에 예시된 시스템은 호스트 장치로서 휴대용 단말기(10)를 재생 장치로서 적용하며, 이는 ODD(20)와 USB, WIFI 등의 유무선 인터페이스, 일반적으로 USB를 통해 상호 정보 교환이 가능하도록 연결된다. 여기에서 호스트(10)는 ODD는 상기 호스트(10)는 전술한 바와 같은 알고리즘에 의해 상기 ODD(20)를, 직접 액세스가 가능한 HDD(Hard Disc Drive)와 같은 자기 디스크 드라이브 등으로 인식하며, 정보의 교환은 FAT 시스템에 의해 상기 인증 영역에 대한 정보의 기록을 수행한다. 따라서, FAT 시스템에서의 정보의 기록 및 읽기를 위해 상기 인증영역은 상기 메모리 상에 가상파일로서 존재할 수 있다.
제9를 참조하면, 상기 휴대용 단말기는 어플리케이션 형태의 DVD 재생부(11), 휴대용 단말기용 파일 API(Application Programming Interface, 12), 파일 시스템 드라이버(13) 및 인터페이스 장치 드라이버(14)를 구비한다. ODD(20)는 일반적인 ODD의 구조를 가지며, 이에 더하여, DRAM 등의 메모리 영역(21)의 일부를 차지하는 인증영역 또는 버퍼 메모리 영역, 즉 가상파일(22), 상기 가상 파일(22)에 기록된 데이터를 파싱하여 ODD의 구동에 필요한 ATAPI/SCSI 명령을 구성하고, 또한 수행된 명령의 결과인 리포트 값을 가상파일에 저장하는 가상 파일 매니저 또는 인증영역 매니저(23)를 포함한다.
이하에서 본 발명에 따른 인증 방법에 관련한 여러 과정을 설명한다.
도11은 ODD에 가상파일을 생성하는 단계를 설명한다.
ODD가 기동한 후(11a), 매체 존재 여부가 검출된다(11b). 검출된 매체가 UDF 포맷이면 이를 전술한 바와 같은 방법에 의해 FAT 파일 시스템으로 변환한다(11c). 이때에 매체가 복사 방지된 컨텐츠를 포함하고 있어서 인증 과정이 필요하면, ODD의 메모리 상에 인증 영역, 즉 가상 파일을 생성하여(11e)을 인증 절차를 준비한다(11f).
이와 같이 인증절차가 준비되면, 호스트, 예를 들어 휴대용 단말기의 재생부(11)는 인증 프로세스를 진행한다. 이때에 도 12에 도시된 파일 API를 이용한 ATAPI 커맨드 처리 흐름이 적용된다. 도12에 도시된 바와 같은 가상 파일에 대한 데이터 기록 및 읽기 과정을 통해, 휴대용 단말기는 해당 OS 플랫폼의 파일 API를 통해 인증을 진행한다. 먼저 채린지를 위한 키 송신(SEND KEY)는 파일 API의 파일 쓰기 함수(File write function)를 호출하고, 인터페이스 드라이버는 ATAPI 커맨드를 이용해 ODD(20)의 가상 파일, 인증영역의 해당 주소에 데이터를 전송한다(12a). 이때에 전송되는 데이터는 ATAPI 커맨드 패킷과 파라미터 데이터를 포함한다. 가상 파일 매니저는 가상 파일 상의 데이터를 파싱하여 이를 ATAPI 커맨드로 변환하고, 이에 따르는 커맨드 루틴을 수행한다(12b). 그리고 커맨드 루틴 수행 결과값(REPORT KEY)를 가상파일에 저장하여 한 단계의 커맨드 처리를 완료한다(12c). 그리고 휴대용 단말기(10)의 재생부(11)는 ATAPI 커맨드 수행결과를 확인하기 위하여 파일 읽기 함수(File read function)을 호출하여 가상 파일에 저장된 데이터를 읽어 간다(12d). 이와 같은 파일 기록 및 읽기 동작 수행은 실제 ATAPI 커맨드 하나를 처리하는 동작에 해당하며, 따라서 여러 단계의 CSS 인증 절차는 위와 같은 쓰기 및 읽기 과정이 수회 반복된다. 이러한 방법을 이용하면 복사가 방지된(Content protected) 매체의 인증 과정을 성공적으로 수행할 수 있으며, 따라서 복사 방지된 컨텐츠를 재생할 수 있게 된다.
도13은 본 발명에 따른 인증 프로세스에서 수행되는 파일 쓰기의 흐름을 보다 상세하게 보인다.
인증이 시작되면(13a), 어플리케이션 형태의 재생부는 파일 API 함수를 호출한다. 이때 파일 API를 통해서 가상 파일로 기록할 ATAPI 커맨드 패킷과 파라미터가 전달된다(13b).
상기 파일 API에 의해 파일 디바이스 드라이버는 가상 파일에 대한 쓰기 명령이 지령된다(13c). 이때에 가상 파일의 유효하지 않은 경우, 즉, ODD의 메모리 영역에서 특정 주소가 유효하지 않거나 존재하지 않는 경우 에러처리(13e)하고, 유효한 경우 그 다음의 파싱 과정으로 이행한다. 가상 파일 매니저는 인증영역의 데이터를 분석하고(13f), 이것이 ATAPI 커맨드이면 그 다음의 APAPI 커맨드 루틴(13h)으로 이행하고, 그러지 않으면 에러처리 한다(13e). APAPI 커맨드 처리 루틴에서는 상기 데이터로부터 파싱된 커맨드가 수행되며, 그 결과값은 가상 파일에 저장된 후(13i), 일 회의 쓰기 과정이 종료된다(13j).
도14는 상기와 같은 과정에서 얻어진 결과값을 휴대용 단말기로 통보(리포트) 되는 과정을 설명한다.
상기한 바와 같이 쓰기 과정을 통해 ATAPI 커맨드 패킷과 파라미터는 ODD로 전송한 휴대용 단말기의 재생부는 ODD의 처리를 대기(hold) 하면서 리턴 값의 읽기를 시작한다(14a).
가상 파일에 리턴 값이 저장되면, 상기 재생부는 파일 API를 통해 가상 파일로부터 그 결과 값을 획득을 시도하며(14b), 따라서 파일 디바이스 드라이버는 가상 파일에 대한 읽기 커맨드를 지령(issue)한다(14c). 이때에 가상 파일의 주소가 유효하지 않으면 가상 파일이 아닌 일반 영역의 데이터를 읽으려는 것으로 판단하여 , 광 디스크 데이터 읽기 루틴으로 점프한다(14e). 그리고, 가상 파일의 주소가 유효하면, 가상 파일 매니저는 DRAM 등의 메모리에 있는 가상 파일을 읽어서 호스트 장치인 휴대용 단말기로 전송한 후(14g), 전제 프로세스를 종료한다(14h).
앞에서 설명된 실시 예들의 장치 및 방법은 ODD의 접속을 허용하지 않거나, 허용하더라도 ODD의 고유 파일 시스템을 지원하지 않는 경우에 사용될 수 있다. 즉, 다양한 호스트 중 특정 호스트, 예를 들어 공중파 수상기에 대해 ODD가 호환성을 가지지 않는 경우, 호스트에 대해 호환이 가능한 디바이스 정보와 파일 시스템인 FAT 시스템으로 변환하는 기능 및 단계를 ODD 및 광 디스크 구동 방법에 부여함으로써 그 활용 범위를 넓힌다. 또한, 본 발명에 따르면, ODD를 직접 구동할 수 있는 드라이버를 가지지 않는 장치, 예를 들어 스마트 TV, 스마트 폰, 전자액자 등에 의해서도 복사가 방지된 컨텐츠를 재생할 수 있다.
지금까지, 본원 다양한 모범적 실시 예가 설명되고 첨부된 도면에 도시되었다. 그러나, 이러한 실시 예는 단지 다양한 실시 예들의 일부임이 이해되어야 할 것이다. 다양한 다른 변형이 본 기술분야에서 통상의 지식을 가진 자에게 일어날 수 있기 때문이다.
Claims (16)
- 매체를 구동하는 ODD(Optical Disc Drive)와 상기 매체에 저장된 컨텐츠를 재생하는 것으로 상기 ODD에 호환성이 없는 재생 장치를 인터페이스 장치를 이용해 연결하는 단계;
상기 재생 장치에 재생 장치가 인식할 수 있는 장치의 정보를 전송하여상기 재생 장치가 상기 ODD를 인식할 수 있는 장치 인식시키는 단계;
상기 ODD에 마련된 메모리에, 상기 재생장치가 액세스할 수 있는 임의 파일 시스템에 따른 가상 파일을 마련하여 상기 컨텐츠 인증을 위한 쿼리 데이터 및 그 결과 데이터를 저장하기 위한 인증영역을 상기 가상 파일에 저장하는 단계; 그리고
상기 데이터들을 저장하는 가상 파일을 매개로 상기 재생 장치와 ODD 간의 데이터를 상호 교환하여 상기 컨텐츠의 재생에 요구되는 인증을 수행하는 단계;를 포함하는 인증 방법. - 삭제
- 제1항에 있어서,
상기 파일 시스템은 FAT 시스템이며, 상기 가상 파일은 FAT 시스템의 포맷을 가지는 것을 특징으로 하는 인증 방법. - 삭제
- 제1항에 있어서,
상기 재생 장치가 인식하는 장치는 자기 디스크 드라이브인 것을 특징으로 하는 인증 방법. - 제1항에 있어서,
상기 인증영역은 FAT 시스템의 포맷으로 데이터를 저장하는 것을 특징으로 하는 인증 방법. - 제1항에 있어서,
상기 매체는 DVD 인 것을 특징으로 하는 인증 방법. - 제7항에 있어서,
상기 인증 영역은 FAT 파일 시스템의 포맷으로 데이터를 저장하는 것을 특징으로 하는 인증 방법. - 제8항에 있어서,
상기 재생장치와 ODD는 USB 방식과 와이파이 방식 중 어느 하나의 인터페이스 방식으로 연결하는 것을 특징으로 하는 인증 방법. - 컨텐츠를 저장하는 매체를 구동하는 것으로 상기 컨텐츠의 인증에 필요한 데이터가 저장되는 인증영역을 포함하는 메모리 장치; 상기 인증영역의 데이터를 처리하여 컨텐츠 인증에 필요한 명령 수행 및 그 결과를 상기 인증 영역에 저장하는 인증영역 매니저; 를 포함하는 ODD(Optical Disc Drive);
상기 ODD와 호환성이 없는 것으로, 상기 매체에 저장된 컨텐츠의 인증에 필요한 명령 패킷과 파라미터를 포함하는 데이터를 발생하는 재생부; 및 상기 데이터를 상기 ODD 장치의 인증영역에 저장하는 파일 시스템 드라이버; 그리고 상기 파일 시스템 드라이버와 ODD와의 통신 연결을 위한 인터페이스 장치;를 구비하고,
상기 ODD는 상기 파일 시스템 드라이버가 인식할 수 있는 장치 정보를 전송하여 상기 ODD를 인식할 수 잇는 장치로 상기 파일 시스템 드라이버가 인식할 수 있는 장치 정보하며,
상기 인증영역은 상기 파일 시스템 드라이버가 인식할 수 있는 파일 시스템에 따른가상 파일에 의해 마련되어 있는, 컨텐츠 재생 장치. - 제10항에 있어서,
상기 파일 시스템 드라이버와 ODD는 FAT 파일 시스템으로 연결되고, 상기 인증영역은 상기 FAT 파일 시스템에 따른 가상 파일에 의해 제공되는 것으로 하는 컨텐츠 재생장치. - 삭제
- 제10항에 있어서,
상기 파일시스템 드라이버와 ODD는 USB 방식과 WIFI 방식 중 어느 하나의 인터페이스 장치로 연결되는 것을 특징으로 하는 컨텐츠 재생장치. - 제13항에 있어서,
상기 ODD는 UDF 파일 시스템을 FAT 파일 시스템으로 변환하는 것을 특징으로 하는 컨텐츠 재생장치. - 제10항에 있어서,
상기 ODD는 UDF 파일 시스템을 FAT 파일 시스템으로 변환하는 것을 특징으로 하는 컨텐츠 재생장치. - 제10항 또는 제11항, 또는 제13항 내지 제15항 중의 어느 한 항에 있어서,
상기 매체는 DVD인 것을 특징으로 하는 컨텐츠 재생장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120100662A KR101416322B1 (ko) | 2012-09-11 | 2012-09-11 | 복사 방지된 타이틀의 인증 방법 및 이를 적용하는 재생장치 |
US14/022,465 US9087186B2 (en) | 2012-09-11 | 2013-09-10 | Device and method for authenticating contents-protected information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120100662A KR101416322B1 (ko) | 2012-09-11 | 2012-09-11 | 복사 방지된 타이틀의 인증 방법 및 이를 적용하는 재생장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140034995A KR20140034995A (ko) | 2014-03-21 |
KR101416322B1 true KR101416322B1 (ko) | 2014-07-08 |
Family
ID=50234805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120100662A KR101416322B1 (ko) | 2012-09-11 | 2012-09-11 | 복사 방지된 타이틀의 인증 방법 및 이를 적용하는 재생장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9087186B2 (ko) |
KR (1) | KR101416322B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101416322B1 (ko) * | 2012-09-11 | 2014-07-08 | 도시바삼성스토리지테크놀러지코리아 주식회사 | 복사 방지된 타이틀의 인증 방법 및 이를 적용하는 재생장치 |
US10216449B1 (en) * | 2016-12-23 | 2019-02-26 | EMC IP Holding Company LLC | Extended snapshot using backup and microservice |
US11005842B2 (en) * | 2016-12-27 | 2021-05-11 | Seagate Technology Llc | External storage device that expands a data storage capability of a host device |
CN109874049B (zh) * | 2019-01-23 | 2021-04-27 | 杭州雄迈集成电路技术股份有限公司 | 一种优化提取视频帧读取速度的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100279339B1 (ko) * | 1997-07-24 | 2001-03-02 | 니시무로 타이죠 | 정보 기록 매체에 기록되어 있는 정보를 재생하는 정보 재생장치, 인증 처리를 하는 인증 장치, 제1 장치와 복수의 제2장치 사이에서 상호 인증을 행함으로써 정보를 전송하는 정보처리 시스템 |
WO2009017289A1 (en) * | 2007-07-27 | 2009-02-05 | Lg Electronics Inc. | Method for emulating optical disk, optical disk drive using the same, and optical disk including security zone |
KR20100008678A (ko) * | 2008-07-16 | 2010-01-26 | 주식회사 마크애니 | 가상 머신을 이용한 응용 프로그램 제공 방법 및 시스템,가상 응용 프로그램 수행 방법, 가상 머신 모듈 및 온라인서비스 제공 방법 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6119116A (en) | 1997-12-18 | 2000-09-12 | International Business Machines Corp. | System and method for accessing and distributing audio CD data over a network |
KR20020023760A (ko) | 2001-12-15 | 2002-03-29 | 심재석 | 가상 CD ROM 드라이브 및 가상 Disk 드라이브를 이용한소프트웨어 설치, 실행 및 사용권 라이센스 관리 프로그램제작 방법 |
KR20060081323A (ko) | 2005-01-07 | 2006-07-12 | 엘지전자 주식회사 | 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치 |
CN101887736B (zh) | 2005-11-15 | 2012-11-21 | 松下电器产业株式会社 | 再现装置及其控制方法 |
KR20080067075A (ko) * | 2007-01-15 | 2008-07-18 | 주식회사 히타치엘지 데이터 스토리지 코리아 | 광디스크의 암호화 데이터 기록 및 재생방법 |
KR20090012010A (ko) * | 2007-07-27 | 2009-02-02 | 엘지전자 주식회사 | 광디스크 에뮬레이션 방법 및 이를 이용한 광디스크드라이브 |
WO2009060503A1 (ja) * | 2007-11-05 | 2009-05-14 | Pioneer Corporation | 情報記憶装置、情報記録再生装置、及び消費電力管理方法 |
KR101330821B1 (ko) * | 2011-07-21 | 2013-11-15 | 도시바삼성스토리지테크놀러지코리아 주식회사 | 광 디스크 드라이브 및 그 구동 방법 |
KR101416322B1 (ko) * | 2012-09-11 | 2014-07-08 | 도시바삼성스토리지테크놀러지코리아 주식회사 | 복사 방지된 타이틀의 인증 방법 및 이를 적용하는 재생장치 |
-
2012
- 2012-09-11 KR KR1020120100662A patent/KR101416322B1/ko not_active IP Right Cessation
-
2013
- 2013-09-10 US US14/022,465 patent/US9087186B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100279339B1 (ko) * | 1997-07-24 | 2001-03-02 | 니시무로 타이죠 | 정보 기록 매체에 기록되어 있는 정보를 재생하는 정보 재생장치, 인증 처리를 하는 인증 장치, 제1 장치와 복수의 제2장치 사이에서 상호 인증을 행함으로써 정보를 전송하는 정보처리 시스템 |
WO2009017289A1 (en) * | 2007-07-27 | 2009-02-05 | Lg Electronics Inc. | Method for emulating optical disk, optical disk drive using the same, and optical disk including security zone |
KR20100008678A (ko) * | 2008-07-16 | 2010-01-26 | 주식회사 마크애니 | 가상 머신을 이용한 응용 프로그램 제공 방법 및 시스템,가상 응용 프로그램 수행 방법, 가상 머신 모듈 및 온라인서비스 제공 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20140075544A1 (en) | 2014-03-13 |
US9087186B2 (en) | 2015-07-21 |
KR20140034995A (ko) | 2014-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7007127B2 (en) | Method and related apparatus for controlling transmission interface between an external device and a computer system | |
US20060253620A1 (en) | Data structure of flash memory having system area with variable size in which data can be updated, USB memory device having the flash memory, and method of controlling the system area | |
US20060285559A1 (en) | Method for controlling host from device coupled thereto using universal serial bus and system thereof | |
US20040039575A1 (en) | Host processing device using external storage medium | |
US11163442B2 (en) | Self-formatting data storage device | |
KR101416322B1 (ko) | 복사 방지된 타이틀의 인증 방법 및 이를 적용하는 재생장치 | |
EP1770701A2 (en) | Method of music data transcription | |
WO2010074818A1 (en) | Device and method for filtering a file system | |
WO2005088632A1 (ja) | 情報処理装置および方法、プログラム記録媒体、並びにプログラム | |
US20100180080A1 (en) | External storage device having a self-contained security function | |
US9235351B2 (en) | Selective interfacing apparatus and method | |
US7716412B2 (en) | Data storage apparatus and data access method for controlling address information for data writing using a free area control table | |
US9043566B2 (en) | Method and apparatus for optically backing up data | |
US11272263B2 (en) | Electronic apparatus, control method of electronic apparatus, and recording medium | |
US7213112B2 (en) | Media processing device using an external storage device | |
JP6693417B2 (ja) | リーダライタ装置、情報処理装置、およびデータ転送制御方法、並びにプログラム | |
KR101255339B1 (ko) | 광 디스크 드라이브 및 그 구동 방법 | |
US20050090944A1 (en) | System and method for driving portable multimedia player | |
KR101330821B1 (ko) | 광 디스크 드라이브 및 그 구동 방법 | |
KR101339429B1 (ko) | 광 디스크 드라이브 및 그 구동 방법 | |
US8209452B2 (en) | External device having a virtual storage device | |
US20070055819A1 (en) | Information recording medium and its control method | |
KR20150022273A (ko) | 광 디스크 드라이브 및 그 구동 방법 | |
KR20150022275A (ko) | 광 디스크 드라이브 및 그 구동 방법 | |
KR20150022281A (ko) | 광 디스크 드라이브 및 그 구동 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |