KR100762957B1 - Method and apparatus for descrambling AV stream - Google Patents
Method and apparatus for descrambling AV stream Download PDFInfo
- Publication number
- KR100762957B1 KR100762957B1 KR1020050079447A KR20050079447A KR100762957B1 KR 100762957 B1 KR100762957 B1 KR 100762957B1 KR 1020050079447 A KR1020050079447 A KR 1020050079447A KR 20050079447 A KR20050079447 A KR 20050079447A KR 100762957 B1 KR100762957 B1 KR 100762957B1
- Authority
- KR
- South Korea
- Prior art keywords
- information
- descramble
- packet
- stream
- packets
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 239000000284 extract Substances 0.000 claims description 19
- 238000000605 extraction Methods 0.000 claims description 13
- 230000000007 visual effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 24
- 230000000694 effects Effects 0.000 description 3
- 230000001010 compromised effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
Images
Classifications
-
- 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
- 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
-
- 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
- G11B19/00—Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
- G11B19/02—Control of operating function, e.g. switching from recording to reproducing
-
- 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/0021—Circuits 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/0042—Circuits 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 copy protection scheme being related to a specific access protection standard
- G11B20/00427—Circuits 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 copy protection scheme being related to a specific access protection standard advanced access content system [AACS]
-
- 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/0021—Circuits 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/0042—Circuits 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 copy protection scheme being related to a specific access protection standard
- G11B20/00449—Circuits 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 copy protection scheme being related to a specific access protection standard content scrambling system [CSS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video stream decryption
-
- 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
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B2020/1264—Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
- G11B2020/1288—Formatting by padding empty spaces with dummy data, e.g. writing zeroes or random data when de-icing optical discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2541—Blu-ray discs; Blue laser DVR discs
Abstract
본 발명은 스크램블(scramble)로 인하여 변형된 AV(Audio Visual) 스트림을 디스크램블(descramble)하는 방법 및 장치에 관한 것으로, 본 발명에 따른 제 1 디스크램블 방법은 스크램블로 인하여 변형된 스트림의 제 1 변형 부분을 교정하기 위한 제 1 디스크램블 정보로부터 스트림의 제 2 변형 부분을 교정하기 위한 제 2 디스크램블 정보의 위치 정보를 획득하고, 제 1 디스크램블 정보에 기초하여 제 1 변형 부분을 디스크램블함으로서 AV 스트림으로부터 난독 교정 테이블을 포함하는 PMT 패킷의 정확한 위치를 신속하게 찾을 수 있다.The present invention relates to a method and apparatus for descrambling an audio visual (AV) stream deformed due to scramble, and the first descrambling method according to the present invention provides a method of deforming a stream deformed due to scramble. Obtaining position information of the second descramble information for correcting the second deformed portion of the stream from the first descrambled information for correcting the deformed portion, and descrambles the first deformed portion based on the first descramble information. Quickly find the exact location of the PMT packet containing the obfuscation correction table from the AV stream.
Description
도 1은 종래의 제 1 디스크램블 방식에 따른 제 1 플레이어의 구성도이다.1 is a block diagram of a first player according to a conventional first descramble method.
도 2는 종래의 제 1 디스크램블 방식에 따른 교정 테이블의 구조도이다.2 is a structural diagram of a calibration table according to a conventional first descramble method.
도 3은 종래의 제 1 디스크램블 방식에 따른 교정 엔트리의 구조도이다.3 is a structural diagram of a calibration entry according to a conventional first descramble method.
도 4는 종래의 제 1 디스크램블 방식에 따른 디스크램블 동작을 도시한 도면이다.FIG. 4 is a diagram illustrating a descramble operation according to a first descramble method.
도 5는 종래의 제 1 디스크램블 방식의 문제점을 도시한 도면이다.5 is a diagram illustrating a problem of a conventional first descramble method.
도 6은 종래의 제 2 디스크램블 방식에 따른 제 2 플레이어의 구성도이다.6 is a configuration diagram of a second player according to a conventional second descramble method.
도 7은 종래의 제 2 디스크램블 방식에 따른 교정 테이블의 구조도이다.7 is a structural diagram of a calibration table according to a conventional second descramble method.
도 8은 종래의 제 2 디스크램블 방식에 따른 FUT 블록의 구조도이다.8 is a structural diagram of a FUT block according to a conventional second descramble method.
도 9는 본 발명의 바람직한 일 실시예에 따른 제 1 플레이어의 구성도이다.9 is a block diagram of a first player according to an embodiment of the present invention.
도 10은 본 발명의 바람직한 일 실시예에 따른 교정 엔트리의 구조도이다.10 is a structural diagram of a calibration entry according to one preferred embodiment of the present invention.
도 11은 본 발명의 바람직한 일 실시예에 따른 디스크램블 동작을 도시한 도면이다.11 illustrates a descramble operation according to an embodiment of the present invention.
도 12는 본 발명의 바람직한 일 실시예에 따른 제 2 플레이어의 구성도이다.12 is a block diagram of a second player according to an embodiment of the present invention.
도 13은 본 발명의 바람직한 일 실시예에 따른 FUT 블록의 구조도이다.13 is a structural diagram of a FUT block according to an embodiment of the present invention.
도 14-15는 본 발명의 바람직한 일 실시예에 따른 제 1 컨텐트 복원 방법의 흐름도이다.14-15 are flowcharts of a first content restoration method according to an embodiment of the present invention.
도 16-17은 본 발명의 바람직한 일 실시예에 따른 제 2 컨텐트 복원 방법의 흐름도이다.16-17 are flowcharts of a second content restoration method according to an embodiment of the present invention.
본 발명은 디스크에 저장된 AV(Audio Visual) 스트림으로부터 AV 컨텐트를 복원하는 방법 및 장치에 관한 것으로, 특히 스크램블(scramble)로 인하여 변형된 AV 스트림을 디스크램블(descramble)하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for restoring AV content from an AV (Audio Visual) stream stored in a disc, and more particularly, to a method and apparatus for descrambled an AV stream modified due to scramble.
차세대 광디스크 보호 시스템인 AACS(Advanced Access Content System) 규격은 브로드캐스트 암호화 방식(Broadcast Encryption Scheme)을 적용하여 해커의 공격 등으로 인하여 폐기(revoke)된 디바이스 키 셋을 가진 플레이어는 브로드캐스트 암호화 방식에 따라 암호화된 컨텐트를 복호화할 수 없도록 하고 있다. 브로드캐스트 암호화 방식이란 다수의 플레이어들 각각에 서로 다른 디바이스 키 셋을 할당하고, 공중(public)에 배포되는 디스크에 폐기된 디바이스 키 셋으로 암호화된 중간 키 값을 저장하지 않음으로서 이 디바이스 키 셋을 가진 플레이어는 이 중간 키 값을 획득할 수 없게 하고, 그 결과 컨텐츠 복호화 키를 획득할 수 없도록 하는 방식을 말한다.The Advanced Access Content System (AACS) standard, the next-generation optical disc protection system, applies the Broadcast Encryption Scheme to allow players with device key sets revoked due to hacker attacks. Encrypted content cannot be decrypted. The broadcast encryption method assigns a different device key set to each of a plurality of players, and does not store the intermediate key value encrypted with the discarded device key set on a disk distributed in public. The player having the game cannot acquire this intermediate key value, and as a result, cannot obtain the content decryption key.
그런데, 디바이스 키 셋의 개수는 한정되어 있고, 이러한 디바이스 키 셋이 할당되어야 할 플레이어의 개수는 계속해서 증가되기 때문에 동일한 디바이스 키 셋을 여러 대의 플레이어들에 할당할 경우가 발생하게 된다. 이 플레이어들 중 어느 하나의 플레이어가 해킹되어, 이 플레이어의 디바이스 키 셋이 노출된 경우, 동일한 디바이스 키 셋을 가진 다른 플레이어들도 폐기되어야 하는 문제점이 있었다.However, since the number of device key sets is limited, and the number of players to which the device key set should be allocated continues to increase, there is a case where the same device key set is assigned to multiple players. If any one of these players is hacked and the device key set of this player is exposed, there is a problem that other players with the same device key set should also be discarded.
이러한 문제점을 해결하기 위하여, 스크램블 기반 갱신 방식(scramble-based renewability scheme)이 등장하였다. 이 방식은 디스크에 컨텐트를 저장할 때, 컨텐트의 중간 중간에 스크램블(scramble)을 걸고, AACS 규격에 따라 암호화한다. 따라서, 플레이어가 원래의 컨텐트를 복원하기 위해서는 AACS 규격에 따라 디스크에 저장된 스트림을 해독한 후에 컨텐트의 중간 중간에 걸린 스크램블도 풀어야 한다. In order to solve this problem, a scramble-based renewability scheme has emerged. This method scrambles in the middle of the content when storing the content on disk, and encrypts it according to the AACS standard. Therefore, in order to restore the original content, the player must also decode the stream stored in the disc according to the AACS standard, and then unscramble the middle of the content.
이 방식에 따르면, 스크램블을 푸는 역할을 하는 컨텐트 코드(content code)가 디스크에 저장된다. 이 컨텐트 코드는 컨텐트 재생 전에 미리 실행되면서, 컨텐트 재생에 문제가 있는지를 판단한다. 예를 들면, 플레이어가 디바이스 키 셋을 노출한 플레이어인지를 판단하거나, 컨텐트의 불법 복제물이 돌고 있는지 등을 판단한다. 그 결과, 컨텐트 재생에 문제가 없는 것으로 판단된 경우에만 디스크램블(descramble)을 수행하고, 문제가 있는 것으로 판단된 경우에는 디스크램블을 수행하지 않는다. 바꾸어 말하면, 플레이어는 한 번 판매되면, 다시 이것을 갱신하는 것이 어렵지만, 디스크의 경우 디스크마다 상기된 바와 같은 컨텐트 코드를 삽입함으로서 컨텐트 레벨의 갱신을 가능하게 할 수 있다. 이와 같은 디스크램블을 위한 종래의 방식들로는 대표적으로 다음의 두 가지를 들 수 있다. According to this method, content code, which serves to solve scramble, is stored on the disk. This content code is executed before the content is played back to determine whether there is a problem with the content being played. For example, it is determined whether the player has exposed the device key set, whether illegal copies of the content are running, and the like. As a result, descramble is performed only when it is determined that there is no problem in content reproduction, and descramble is not performed when it is determined that there is a problem. In other words, once the player is sold, it is difficult to update it again, but in the case of a disc, the content level can be updated by inserting the content code as described above for each disc. Conventional schemes for such descramble include the following two examples.
도 1은 종래의 제 1 디스크램블 방식에 따른 제 1 플레이어의 구성도이다.1 is a block diagram of a first player according to a conventional first descramble method.
도 1을 참조하면, 종래의 제 1 디스크램블에 따른 제 1 플레이어(2)는 트랙 버퍼(track buffer)(21), 해독부(decrypt)(22), 버퍼(23), 디먹스(demux)(24), 복호화부(decoder)(25), AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(virtual machine)(26), 플레이어 정보 데이터베이스(27), SP 레지스터(28), 연산부(29), 및 겹쳐쓰기부(30)로 구성된다.Referring to FIG. 1, a
트랙 버퍼(21)는 디스크(1)로부터 AV 스트림을 독출하고, 해독부(22)에서의 해독 처리 속도에 대응하기 위하여, 이 AV 스트림을 일시적으로 저장한다. 트랙 버퍼(21)에 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.The
해독부(22)는 AACS 규격에 따라 트랙 버퍼(21)에 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 트랙 버퍼(21)에 저장된 AV 스트림을 해독한다. The
버퍼(23)는 복호화부(25)에서의 복호화 처리 속도에 대응하기 위하여, 해독부(22)에 의해 해독된 AV 스트림을 일시적으로 저장한다. 버퍼(23)에 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG(Moving Picture Experts Group)-2 규격에 따라 부호화된 형태의 AV 스트림이다. The
디먹스(24)는 MPEG-2 규격에 따라 버퍼(23)에 저장된 AV 스트림을 디먹싱함으로서 버퍼(23)에 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다. 특히, 디먹스(24)는 버퍼(23)에 저장된 AV 스트림으로부터 난독 교정 테이블(obfuscated Fix-up Table)을 포함하는 PMT(Program Map Table) 패킷을 검색하고, 이 PMT 패킷으로부터 난독 교정 테이블을 추출한다. The
교정 테이블은 AV 스트림의 중간 중간에 걸린 스크램블로 인하여 변형된 AV 스트림의 변형 부분을 교정하기 위한 디스크램블 정보가 기록된 테이블이다. 난독 교정 테이블은 교정 테이블의 값들이 용이하게 파악될 수 없도록 이 교정 테이블의 값들과 비밀 파라미터 값들을 배타적 논리합한 값이다.The calibration table is a table in which descramble information for correcting the deformed portion of the deformed AV stream due to the scramble in the middle of the AV stream is recorded. The obfuscation correction table is an exclusive OR of the values of the correction table and the secret parameter values so that the values of the correction table cannot be easily understood.
도 2는 종래의 제 1 디스크램블 방식에 따른 교정 테이블의 구조도이다.2 is a structural diagram of a calibration table according to a conventional first descramble method.
도 2를 참조하면, "SP_ID" 필드는 교정 테이블의 배타적 논리합에 사용된 비밀 파라미터 값의 아이디를 나타낸다. "FixUpEntry"는 스크램블로 인한 변형을 교정하기 위한 실질적인 정보를 포함하는 교정 엔트리를 나타낸다.Referring to FIG. 2, the "SP_ID" field indicates an ID of a secret parameter value used for an exclusive logical OR of a calibration table. "FixUpEntry" indicates a calibration entry that contains substantial information for correcting the deformation due to scramble.
도 3은 종래의 제 1 디스크램블 방식에 따른 교정 엔트리의 구조도이다.3 is a structural diagram of a calibration entry according to a conventional first descramble method.
도 3을 참조하면, "type_indicator" 필드는 교정 테이블의 처리 타입을 나타낸다. 즉, 이 필드의 값 "00b"는 스크램블로 인한 변형이 없음을 나타내고, "01b"는 스크램블로 인한 변형이 있음을 나타내고, "10b"는 포렌식임을 나타낸다. "FM_ID_bit_position" 필드는 포렌식 마킹(forensic marking)을 위한 포렌식 마크 아이의 비트 위치를 나타낸다. "relative_SPN(Source Packet Number)_1" 필드는 PMT 패킷으로부터 첫 번째 변형 패킷까지의 상대적 패킷 넘버를 나타낸다. "relative_SPN_2" 필드는 PMT 패킷으로부터 두 번째 변형 패킷까지의 상대적 패킷 넘버를 나타낸다. "byte_position_1" 필드는 첫 번째 패킷 내 변형 데이터의 시작 바이트 위치를 나타낸다. "byte_position_2" 필드는 두 번째 변형 패킷 내 변형 데이터의 시작 바이트 위치를 나타낸다. "overwrite_value_1"은 겹쳐쓰기될 첫 번째 값을 나타낸다. "overwrite_value_2" 필드는 겹쳐쓰기될 두 번째 값을 나타낸다. Referring to Fig. 3, the "type_indicator" field indicates the processing type of the calibration table. That is, the value "00b" of this field indicates that there is no deformation due to scramble, "01b" indicates that there is deformation due to scramble, and "10b" indicates that it is forensic. The "FM_ID_bit_position" field indicates the bit position of the forensic mark eye for forensic marking. The "relative_SPN (Source Packet Number) _1" field indicates a relative packet number from the PMT packet to the first modified packet. The "relative_SPN_2" field indicates a relative packet number from the PMT packet to the second modified packet. The "byte_position_1" field indicates the start byte position of transform data in the first packet. The "byte_position_2" field indicates the start byte position of transform data in the second transform packet. "overwrite_value_1" represents the first value to be overwritten. The "overwrite_value_2" field indicates a second value to be overwritten.
복호화부(25)는 MPEG-2 규격에 따라 디먹스(24)에 의해 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다. The
AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(26)은 디스크(1)로부터 이 디스크(1)에 저장된 AV 스트림에 포함된 AV 컨텐트를 보호하기(secure) 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크(forensic mark) 아이디를 생성한다. 보다 상세하게 설명하면, AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(26)은 플레이어 정보 데이터베이스(27)에 저장된 플레이어 정보와 컨텐트 코드 실행 결과로서 획득된 플레이어 정보를 비교함으로서 플레이어(2)가 디바이스 키 셋을 노출한 플레이어인지를 판단하고, 그 결과 디바이스 키 셋을 노출한 플레이어가 아닌 것으로 판단된 경우에만 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성하고, 디바이스 키 셋을 노출한 플레이어인 것으로 판단된 경우에는 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성하지 않는다. The
포렌식 마크는 비밀 파라미터와 같이 AV 컨텐트의 직접적인 보호에 관여하지는 않지만, 만약 포렌식 마크를 갖는 컨텐트가 손상된 플레이어에서 재생되면, 이 컨텐트 상에 이 플레이어 특유의 마크를 만든다. 이 컨텐트가 공공에 노출된 후, 컨텐트 소유자는 노출된 컨텐트 상의 포렌식 마크를 확인함으로서 손상된 플레이어를 알아낼 수 있다. Forensic marks are not involved in the direct protection of AV content like secret parameters, but if the content with forensic marks is played in a compromised player, a mark specific to this player is created on this content. After this content is exposed to the public, the content owner can identify the compromised player by checking the forensic mark on the exposed content.
SP 레지스터(28)는 AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(26)에 의해 생성된 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 저장한다.The SP register 28 stores secret parameter values, secret parameter IDs, and forensic mark IDs generated by the
연산부(29)는 SP 레지스터(28)에 저장된 비밀 파라미터 값들과 디먹스(24)에 의해 추출된 난독 교정 테이블을 배타적 논리합(XOR)함으로서 원래의 교정 테이블을 복원한다. 난독 교정 테이블은 원래의 교정 테이블에 대해 비밀 파라미터 값들로 배타적 논리합 연산이 수행된 것이므로, 연산부(29)는 이러한 난독 교정 테이블을 상기 배타적 논리합 연산에 사용된 비밀 파라미터 값들과 동일한 값들로 다시 한번 더 배타적 논리합 연산을 수행함으로서 원래의 교정 테이블을 복원한다.The
겹쳐쓰기부(30)는 연산부(29)에 의해 복원된 교정 테이블에 기초하여 버퍼(23)에 저장된 데이터 패킷들 중 스크램블에 의해 변형된 패킷의 변형 위치에 디스크램블 값을 겹쳐쓰기함으로서 버퍼(23)에 저장된 데이터 패킷들의 스크램블 부분을 디스크램블한다. The
도 4는 종래의 제 1 디스크램블 방식에 따른 디스크램블 동작을 도시한 도면이다.FIG. 4 is a diagram illustrating a descramble operation according to a first descramble method.
도 4를 참조하면, 디먹스(24)는 버퍼(23)로부터 출력된 전송 스트림을 구성하는 TS 패킷들 중에서 교정 테이블 기술자를 포함하는 PMT 패킷을 검색하고, 이 PMT 패킷 내의 난독 교정 테이블을 출력한다. 연산부(29)는 디먹스(24)로부터 출력된 교정 테이블과 비밀 파라미터 값들을 배타적 논리합함으로서 원래의 교정 테이블을 복원한다. 겹쳐쓰기부(30)는 연산부(29)에 의해 복원된 교정 테이블의 "relative_SPN_1" 필드의 값 및 "relative_SPN_2" 필드의 값으로부터 스크램블로 인하여 변형된 첫 번째 패킷과 두 번째 패킷의 상대적 위치를 각각 알아내고, 이 위치들에 디스크램블 값을 겹쳐쓰기한다.Referring to FIG. 4, the
도 5는 종래의 제 1 디스크램블 방식의 문제점을 도시한 도면이다.5 is a diagram illustrating a problem of a conventional first descramble method.
도 5를 참조하면, 겹쳐쓰기부(30)가 버퍼(23)에 저장된 전송 스트림의 어느 위치에 디스크램블 값을 겹쳐쓰기하고자 할 때, 이 위치 계산의 기초가 되는 PMT 패킷은 버퍼(23) 내에 있지 않고, 디먹스(24) 내에서 이미 디먹싱 처리를 당한 상태이다. 이로 인하여, 버퍼(23)에 저장된 전송 스트림의 변형 부분의 위치를 계산하기가 용이하지 않다는 문제점이 있었다. 또한, 버퍼(23)에 저장된 전송 스트림의 변형 부분의 위치 계산이 신속하게 이루어지지 않을 경우, 버퍼(23)에 저장된 전송 스트림의 변형 부분이 그대로 출력될 수도 있다는 문제점이 있었다. 따라서, 이동 단말 등 저사양 CPU를 사용하는 디바이스는 이와 같은 속도의 제약 때문에 디스크램블을 소프트웨어적으로 처리할 수 없게 된다. Referring to FIG. 5, when the
도 6은 종래의 제 2 디스크램블 방식에 따른 제 2 플레이어의 구성도이다.6 is a configuration diagram of a second player according to a conventional second descramble method.
도 6을 참조하면, 종래의 제 2 디스크램블 방식에 따른 제 2 플레이어(4)는 트랙 버퍼(41), 해독부(42), 버퍼(43), 디먹스(44), 복호화부(45), AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(46), 플레이어 정보 데이터베이스(47), SP 레지스터(48), 메모리(49), 연산부(50), 및 겹쳐쓰기부(51)로 구성된다.Referring to FIG. 6, the second player 4 according to the conventional second descramble method includes a
트랙 버퍼(41)는 디스크(3)로부터 AV 스트림을 독출하고, 해독부(42)에서의 해독 처리 속도에 대응하기 위하여, 이 AV 스트림을 일시적으로 저장한다. 트랙 버퍼(41)에 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.The
해독부(42)는 AACS 규격에 따라 트랙 버퍼(41)에 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 트랙 버퍼(41)에 저장된 AV 스트림을 해독한다. The
버퍼(43)는 복호화부(45)에서의 복호화 처리 속도에 대응하기 위하여, 해독부(42)에 의해 해독된 AV 스트림을 일시적으로 저장한다. 버퍼(43)에 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG-2 규격에 따라 부호화된 형태의 AV 스트림이다. The
디먹스(44)는 MPEG-2 규격에 따라 버퍼(43)에 저장된 AV 스트림을 디먹싱함으로서 버퍼(43)에 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다. The
복호화부(45)는 MPEG-2 규격에 따라 디먹스(44)에 의해 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다. The
가상 머신(46)은 디스크(3)로부터 이 디스크(3)에 저장된 AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성한다. The
또한, 가상 머신(46)은 디스크(3)로부터 난독 교정 테이블을 독출하고, 이것을 메모리(49)에 로드한다. 이것이 도 1에 도시된 제 1 디스크램블 방식과의 차이점이다. 즉, 도 1에 도시된 제 1 디스크램블 방식은 AV 스트림의 여러 위치에 난독 교정 테이블들을 포함하고 있으나, 도 2에 도시된 제 2 디스크램블 방식은 디스크(3)의 별도의 영역에 난독 교정 테이블들이 하나의 파일의 형태로 기록되어 있다. The
도 7은 종래의 제 2 디스크램블 방식에 따른 교정 테이블의 구조도이다.7 is a structural diagram of a calibration table according to a conventional second descramble method.
도 7을 참조하면, "Number of FUT blocks" 필드는 교정 테이블 블록들의 개수를 나타낸다. 또한, "Start address of FUT blocks" 필드는 교정 테이블의 시작부터 카운트되는 각각의 교정 테이블 블록의 바이트 오프셋을 나타낸다. 또한, "SP_ID" 필드는 이 교정 테이블 블록에 배타적 논리합하기 위하여 사용된 비밀 파라미터 값들의 아이디를 나타낸다. 또한, "FUT block" 필드는 비밀 파라미터 아이디에 의하여 지시되는 비밀 파라미터 값의 배타적 논리합에 의하여 난독 처리된 교정 테이블 블록을 나타낸다.Referring to FIG. 7, the "Number of FUT blocks" field indicates the number of calibration table blocks. The "Start address of FUT blocks" field also indicates the byte offset of each calibration table block counted from the start of the calibration table. The "SP_ID" field also indicates the ID of secret parameter values used to exclusive OR this correction table block. In addition, the "FUT block" field indicates a calibration table block obfuscated by an exclusive OR of the secret parameter value indicated by the secret parameter ID.
도 8은 종래의 제 2 디스크램블 방식에 따른 FUT 블록의 구조도이다.8 is a structural diagram of a FUT block according to a conventional second descramble method.
도 8을 참조하면, "Number of FixUpEntry" 필드는 교정 엔트리 넘버를 나타낸다. "Base SPN for FixUpEntry" 필드는 상대적인 교정 엔트리 값들 계산의 기초가 되는 절대적인 패킷 넘버를 나타낸다. 즉, 이 값은 교정 테이블을 포함하는 PMT 패킷의 패킷 넘버를 나타낸다. "FixUpEntry"는 스크램블로 인한 변형을 교정하기 위한 실질적인 정보를 포함하는 교정 엔트리를 나타낸다.Referring to FIG. 8, the "Number of FixUpEntry" field indicates a correction entry number. The "Base SPN for FixUpEntry" field indicates the absolute packet number on which the relative correction entry values are calculated. In other words, this value indicates the packet number of the PMT packet containing the calibration table. "FixUpEntry" indicates a calibration entry that contains substantial information for correcting the deformation due to scramble.
종래의 제 2 디스크램블 방식에 따른 교정 엔트리의 구조는 도 3에 도시된 교정 엔트리의 구조와 동일하다. The structure of the calibration entry according to the conventional second descramble method is the same as that of the calibration entry shown in FIG.
SP 레지스터(48)는 가상 머신(46)에 의해 생성된 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 저장한다.The SP register 48 stores secret parameter values, secret parameter IDs, and forensic mark IDs generated by the
연산부(50)는 SP 레지스터(48)에 저장된 비밀 파라미터 값들과 메모리(49)에 로드된 난독 교정 테이블을 배타적 논리합함으로서 원래의 교정 테이블을 복원한 다. The
겹쳐쓰기부(51)는 연산부(50)에 의해 복원된 교정 테이블에 기초하여 버퍼(43)에 저장된 데이터 패킷들 중 스크램블에 의해 변형된 패킷의 변형 위치에 디스크램블 값을 겹쳐쓰기함으로서 버퍼(43)에 저장된 데이터 패킷들의 스크램블 부분을 디스크램블한다. The
종래의 제 2 디스크램블 방식에 따르면, 난독 교정 테이블 전체를 메모리에 로드해야 하는데, AV 컨텐트를 재생하는 동안, 난독 교정 테이블 전체를 메모리에 로드한 상태에서 디스크램블을 동시에 수행한다는 것은 플레이어의 메모리에 상당한 부하를 초래할 수 있다는 문제점이 있었다. According to the second conventional descrambling method, the entire obfuscation correction table must be loaded into the memory, and while the AV content is played back, simultaneously performing descrambling with the entire obfuscation correction table loaded into the memory is performed in the memory of the player. There was a problem that it could cause a significant load.
본 발명이 이루고자 하는 기술적 과제는 AV 컨텐트의 중간 중간에 걸린 스크램블에 대한 디스크램블 작업을 신속하게 처리하고, 디스크램블로 인한 시스템 부하를 줄일 수 있는 방법 및 장치를 제공하는데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.An object of the present invention is to provide a method and apparatus for quickly processing a descrambling operation for a scramble in the middle of an AV content and reducing a system load due to descrambling. The present invention also provides a computer-readable recording medium having recorded thereon a program for executing the method on a computer.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 제 1 디스크램블 방법은 스크램블로 인하여 변형된 스트림의 제 1 변형 부분을 교정하기 위한 제 1 디스크램블 정보로부터 상기 스트림의 제 2 변형 부분을 교정하기 위한 제 2 디스크램블 정보의 위치 정보를 획득하는 단계; 및 상기 제 1 디스크램블 정보에 기초하여 상 기 제 1 변형 부분을 디스크램블하는 단계를 포함한다. The first descramble method according to the present invention for solving the technical problem is a first for correcting the second deformed portion of the stream from the first descramble information for correcting the first deformed portion of the stream deformed due to scramble Obtaining location information of the descramble information; And descrambling the first deformable portion based on the first descramble information.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 따른 제 1 디스크램블 장치는 스크램블로 인하여 변형된 스트림을 구성하는 패킷들 중 제 1 패킷으로부터 상기 제 1 패킷의 변형 부분을 교정하기 위한 제 1 디스크램블 정보를 추출하는 추출부; 및 상기 추출부에 의해 추출된 제 1 디스크램블 정보로부터 상기 패킷들 중 제 2 패킷의 변형 부분을 교정하기 위한 제 2 디스크램블 정보의 위치 정보를 획득하고, 상기 제 1 디스크램블 정보로부터 계산된 상기 제 1 패킷의 변형 부분의 위치에 상기 제 1 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하는 겹쳐쓰기부를 포함한다. The first descramble device according to the present invention for solving the other technical problem is the first descramble information for correcting the modified portion of the first packet from the first packet among the packets constituting the modified stream due to scramble Extraction unit for extracting; And obtaining position information of the second descramble information for correcting a deformed portion of a second packet of the packets from the first descramble information extracted by the extracting unit, and calculating the calculated information from the first descramble information. And an overwrite portion for overwriting a descramble value for correcting the modified portion of the first packet at a position of the modified portion of the first packet.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 제 1 디스크램블 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다. In order to solve the above further technical problem, the present invention provides a computer-readable recording medium having recorded thereon a program for executing the above-described first descramble method on a computer.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 제 2 디스크램블 방법은 스크램블로 인하여 변형된 스트림의 변형 부분을 교정하기 위한 디스크램블 정보로부터 상기 디스크램블 정보를 제공한 패킷의 절대적 위치 정보를 획득하는 단계; 상기 획득된 절대적 위치 정보를 기준으로 상기 변형 부분의 위치를 계산하는 단계; 및 상기 계산된 위치에 상기 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하는 단계를 포함한다. In accordance with another aspect of the present invention, there is provided a second descramble method according to the present invention. The absolute position information of a packet providing the descramble information is obtained from the descramble information for correcting a deformed portion of a stream deformed due to scramble. Making; Calculating a position of the modified part based on the obtained absolute position information; And overwriting a descramble value for correcting the deformed portion at the calculated position.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 제 2 디스크램블 장치는 스크램블로 인하여 변형된 스트림으로부터 상기 스트림의 변형 부분을 교정 하기 위한 디스크램블 정보를 추출하는 추출부; 및 상기 추출부에 의해 추출된 디스크램블 정보로부터 상기 디스크램블 정보를 포함하는 패킷의 절대적 위치 정보를 획득하고, 상기 획득된 절대적 위치 정보를 기준으로 계산된 위치에 상기 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하는 겹쳐쓰기부를 포함한다.According to another aspect of the present invention, there is provided a second descramble device including an extractor configured to extract descramble information for correcting a deformed portion of a stream from a stream deformed due to scramble; And descrambling for acquiring absolute position information of a packet including the descramble information from the descramble information extracted by the extracting unit, and correcting the deformed portion at a position calculated based on the obtained absolute position information. Contains an overwrite section that overwrites a value.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 제 2 디스크램블 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다. In order to solve the above further technical problem, the present invention provides a computer-readable recording medium having recorded thereon a program for executing the above-described second descramble method on a computer.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 9는 본 발명의 바람직한 일 실시예에 따른 제 1 플레이어의 구성도이다.9 is a block diagram of a first player according to an embodiment of the present invention.
도 9를 참조하면, 본 실시예에 따른 제 1 플레이어(6)는 트랙 버퍼(61), 해독부(62), 버퍼(63), 디먹스(64), 복호화부(65), 가상 머신(66), 플레이어 정보 데이터베이스(67), SP 레지스터(68), FUT 추출부(69), 연산부(70), 및 겹쳐쓰기부(71)로 구성된다.Referring to FIG. 9, the
트랙 버퍼(61)는 디스크(5)로부터 AV 스트림을 독출하고, 해독부(62)에서의 해독 처리 속도에 대응하기 위하여, 이 AV 스트림을 일시적으로 저장한다. 트랙 버퍼(61)에 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.The
해독부(62)는 AACS 규격에 따라 트랙 버퍼(61)에 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 트랙 버퍼(61)에 저장된 AV 스트림을 해독한다. The
버퍼(63)는 복호화부(65)에서의 복호화 처리 속도에 대응하기 위하여, 해독 부(62)에 의해 해독된 AV 스트림을 일시적으로 저장한다. 버퍼(63)에 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG-2 규격에 따라 부호화된 형태의 AV 스트림이다. The
디먹스(64)는 MPEG-2 규격에 따라 버퍼(63)에 저장된 AV 스트림을 디먹싱함으로서 버퍼(63)에 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다. 본 실시예에 따르면, 디먹스(64)는 종래와 달리 버퍼(63)에 저장된 AV 스트림으로부터 난독 교정 테이블을 추출하지는 않는다. 이러한 기능은 FUT 추출부(69)가 담당한다.The
복호화부(65)는 MPEG-2 규격에 따라 디먹스(64)에 의해 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다. The
가상 머신(66)은 디스크(5)로부터 이 디스크(5)에 저장된 AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성한다. 보다 상세하게 설명하면, 가상 머신(66)은 플레이어 정보 데이터베이스(67)에 저장된 플레이어 정보와 컨텐트 코드 실행 결과로서 획득된 플레이어 정보를 비교함으로서 플레이어(6)가 디바이스 키 셋을 노출한 플레이어인지를 판단하고, 그 결과 디바이스 키 셋을 노출한 플레이어가 아닌 것으로 판단된 경우에만 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성하고, 디바이스 키 셋을 노출한 플레이어인 것으로 판단된 경우에는 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성하지 않는다. The
SP 레지스터(68)는 가상 머신(66)에 의해 생성된 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 저장한다.The SP register 68 stores secret parameter values, secret parameter IDs, and forensic mark IDs generated by the
FUT 추출부(69)는 버퍼(63)에 저장된 AV 스트림을 파싱함으로서 난독 교정 테이블을 포함하는 PMT 패킷을 검색하고, 이 PMT 패킷으로부터 난독 교정 테이블을 추출한다. FUT 추출부(69)는 난독 교정 테이블 추출만을 수행함으로서 보다 신속하게 난독 교정 테이블을 추출할 수 있다. 교정 테이블은 AV 스트림의 중간 중간에 걸린 스크램블로 인하여 변형된 AV 스트림의 변형 부분을 교정하기 위한 디스크램블 정보가 기록된 테이블이다. 난독 교정 테이블은 교정 테이블의 값들이 용이하게 파악될 수 없도록 이 교정 테이블의 값들과 비밀 파라미터 값들을 배타적 논리합한 값이다.The
FUT 추출부(69)는 겹쳐쓰기부(71)에 의해 획득된, 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보, 즉 연산부(70)에 의해 복원된 교정 테이블을 제공한 PMT 패킷과 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷간의 패킷 개수를 기준으로 AV 스트림으로부터 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 정확한 위치를 신속하게 찾을 수 있다. 즉, FUT 추출부(69)는 겹쳐쓰기부(71)에 의해 획득된, 연산부(70)에 의해 복원된 교정 테이블을 제공한 PMT 패킷의 넘버에 이 PMT 패킷과 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷간의 패킷 개수를 가산한 값에 해당하는 위치의 PMT 패킷으로부터 난독 교정 테이블을 추출한다.The
그런데, 본 실시예의 경우, 일단 난독 교정 테이블을 포함하는 어느 하나의 PMT 패킷의 절대적 위치 정보를 알아내기만 하면, 다음 PMT 패킷들의 위치는 신속하게 찾을 수 있지만, 난독 교정 테이블을 포함하는 최초의 PMT 패킷의 위치를 찾는 것이 어렵다. 다음과 같은 여러 가지 방법으로 이 문제를 해결할 수 있다.However, in the present embodiment, once the absolute position information of any one PMT packet including the obfuscation correction table is found, the location of the next PMT packets can be quickly found, but the first PMT including the obfuscation correction table can be found. It is difficult to locate the packet. There are several ways to solve this problem.
BD(Blu-ray Disc) 규격에 따르면, MPEG-2 전송 스트림은 적어도 하나 이상의 정렬 단위(aligned unit)로 구성되고, 이 정렬 단위는 32개의 소스 패킷들로 묶어 놓은 것이다. 이 정렬 단위로 부호화 및 복호화 과정이 수행된다. 이 점에 착안하여, 이 정렬 단위를 구성하는 패킷들 중 첫 번째 패킷 내에 첫 번째 난독 교정 테이블을 둠으로서 FUT 추출부(69)는 모든 PMT 패킷들을 파싱할 필요 없이 이 정렬 단위를 구성하는 패킷들 중 첫 번째 패킷만을 파싱하면 된다. 따라서, FUT 추출부(69)에서의 파싱 량은 1/32로 줄어들게 된다. 즉, FUT 추출부(69)는 버퍼(63)에 저장된 AV 스트림의 정렬 단위에 해당하는 패킷들 중 첫 번째 패킷을 파싱함으로서 첫 번째 난독 교정 테이블을 포함하는 PMT 패킷을 검색하고, 이 PMT 패킷으로부터 첫 번째 난독 교정 테이블을 추출한다.According to the Blu-ray Disc (BD) standard, an MPEG-2 transport stream consists of at least one aligned unit, which is grouped into 32 source packets. Encoding and decoding processes are performed in this alignment unit. With this in mind, by putting the first obfuscation table in the first of the packets constituting this sorting unit, the
MPEG-2 TS 패킷의 헤더에 어떤 PMT 패킷이 난독 교정 테이블을 포함하고 있는지 여부를 나타내는 플래그를 둘 수도 있다. FUT 추출부(69)는 버퍼(63)에 저장된 AV 스트림을 구성하는 패킷들의 플래그의 값을 검사함으로서 이 패킷들이 난독 교정 테이블을 포함하는지 여부를 판단하고, 이 판단 결과에 기초하여 첫 번째 난독 교정 테이블을 포함하는 PMT 패킷을 검색하고, 이 PMT 패킷으로부터 첫 번째 난독 교정 테이블을 추출한다.In the header of the MPEG-2 TS packet, a flag indicating whether a PMT packet includes an obfuscation correction table may be provided. The
본 실시예에 사용되는 교정 테이블의 구조는 도 2에 도시된 교정 테이블의 구조와 동일하다. 다만, 이 교정 테이블에 포함된 교정 엔트리의 구조는 도 3에 도시된 교정 엔트리의 구조와 다르다.The structure of the calibration table used in this embodiment is the same as that of the calibration table shown in FIG. However, the structure of the calibration entry included in this calibration table is different from that of the calibration entry shown in FIG.
도 10은 본 발명의 바람직한 일 실시예에 따른 교정 엔트리의 구조도이다.10 is a structural diagram of a calibration entry according to one preferred embodiment of the present invention.
도 10을 참조하면, 본 실시예에 따른 교정 엔트리는 도 3에 도시된 교정 엔트리와 거의 동일하나, 다음의 두 가지 항목이 추가되었다. "Absolute_SPN" 필드는 현재 난독이 풀린 교정 테이블을 포함하는 PMT 패킷의 절대적 위치 정보를 나타낸다. 본 실시예에서, PMT 패킷의 절대적 위치 정보란 AV 스트림을 구성하는 패킷들 전체에서 난독 교정 테이블을 포함하는 패킷이 몇 번째인지를 나타내는 패킷 넘버를 의미한다. 또한, "Next_FUT_Position" 필드는 또 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 나타낸다. 본 실시예에서, PMT 패킷의 상대적 위치 정보란 어떤 난독 교정 테이블을 포함하는 PMT 패킷으로부터 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷이 몇 패킷 떨어져 있는지를 나타내는 패킷 개수를 의미한다.Referring to FIG. 10, the calibration entry according to the present embodiment is almost the same as the calibration entry shown in FIG. 3, but the following two items have been added. The "Absolute_SPN" field indicates absolute position information of a PMT packet including a current deobfuscated calibration table. In the present embodiment, the absolute position information of the PMT packet means a packet number indicating the number of packets including the obfuscation correction table in all the packets constituting the AV stream. In addition, the "Next_FUT_Position" field indicates relative position information of the next PMT packet including another obfuscation correction table. In the present embodiment, the relative position information of the PMT packet means the number of packets indicating how many packets the PMT packet including another obfuscation table is separated from the next PMT packet including another obfuscation table.
연산부(70)는 SP 레지스터(68)에 저장된 비밀 파라미터 값들과 FUT 추출부(69)에 의해 추출된 난독 교정 테이블을 배타적 논리합함으로서 원래의 교정 테이블을 복원한다. 난독 교정 테이블은 원래의 교정 테이블에 대해 비밀 파라미터 값들로 배타적 논리합 연산이 수행된 것이므로, 연산부(68)는 이러한 난독 교정 테이블을 상기 배타적 논리합 연산에 사용된 비밀 파라미터 값들과 동일한 값들로 다시 한번 더 배타적 논리합 연산을 수행함으로서 원래의 교정 테이블을 복원한다.The
겹쳐쓰기부(71)는 연산부(70)에 의해 복원된 교정 테이블로부터 이 교정 테 이블을 제공한 PMT 패킷의 절대적 위치 정보를 획득하고, 이것을 FUT 추출부(69)에 제공한다. 겹쳐쓰기부(71)는 이와 같이 획득된 PMT 패킷의 절대적 위치 정보를 기준으로 스크램블로 인하여 변형된 패킷의 정확한 위치를 용이하게 찾을 수 있다. The
또한, 겹쳐쓰기부(71)는 연산부(70)에 의해 복원된 교정 테이블로부터 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 획득하고, 이것을 FUT 추출부(69)에 제공한다. In addition, the
또한, 겹쳐쓰기부(71)는 이와 같이 획득된 PMT 패킷의 절대적 위치 정보를 기준으로 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산한다. 또한, 겹쳐쓰기부(71)는 이와 같이 계산된 위치에 스크램블로 인하여 변형된 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기함으로서 AV 스트림의 중간 중간에 걸린 스크램블이 풀리게 된다. In addition, the
도 11은 본 발명의 바람직한 일 실시예에 따른 디스크램블 동작을 도시한 도면이다.11 illustrates a descramble operation according to an embodiment of the present invention.
도 11을 참조하면, FUT 추출부(69)는 버퍼(63)에 저장된 AV 스트림을 파싱함으로서 난독 교정 테이블을 포함하는 PMT 패킷을 검색하고, 이 PMT 패킷으로부터 난독 교정 테이블을 추출한다. 이어서, 연산부(70)는 SP 레지스터(68)에 저장된 비밀 파라미터 값들과 FUT 추출부(69)에 의해 추출된 난독 교정 테이블을 배타적 논리합함으로서 원래의 교정 테이블을 복원한다. 이어서, 겹쳐쓰기부(71)는 연산부(70)에 의해 복원된 교정 테이블로부터 이 교정 테이블을 제공한 PMT 패킷의 절대적 위치 정보, 즉 PMT 패킷의 넘버를 획득한다.Referring to FIG. 11, the
이어서, 겹쳐쓰기부(71)는 버퍼(63)에 현재 입력 중인 패킷의 넘버로부터 난독 교정 테이블을 포함하는 PMT 패킷의 넘버와 스크램블로 인하여 변형된 패킷의 변형 부분의 상대적 위치 정보, 즉 이 PMT 패킷과 변형 부분간의 패킷 개수의 합을 감함으로서 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산한다. 버퍼(63)로 AV 스트림을 구성하는 패킷들이 차례대로 입력되고, 버퍼(63)는 버퍼(63)로 입력되는 패킷들을 차례대로 카운팅함으로서 이 패킷들의 절대적 패킷 넘버를 알 수 있다. 버퍼(63)는 버퍼(63)에 현재 입력 중인 패킷의 넘버를 겹쳐쓰기부(71)에 제공한다. Subsequently, the
이와 같이, 겹쳐쓰기부(71)는 난독 교정 테이블을 포함하는 PMT 패킷의 넘버와 같은 절대적 위치 정보를 기준으로 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산하기 때문에 난독 교정 테이블을 포함하는 PMT 패킷이 버퍼(63)를 이미 빠져나갔고, 그 후 몇 개의 패킷들이 추가로 빠져나갔는지를 고려하지 않아도 된다. 즉, 버퍼(63)에 현재 입력 중인 패킷의 넘버가 "Packer Number 2", 난독 교정 테이블을 포함하는 PMT 패킷의 넘버가 "Packet Number 1", 이 PMT 패킷과 변형 부분간의 패킷 개수가 "relative_SPN"이면, 겹쳐쓰기부(71)는 버퍼(63)의 입구로부터 "Packet Number 2-(Packet Number 1 + relative_SPN)"만큼 거슬러 올라가면 스크램블로 인하여 변형된 패킷의 정확한 위치를 용이하게 찾을 수 있다. As such, the
이어서, 겹쳐쓰기부(71)는 이와 같이 계산된 위치에 스크램블로 인하여 변형된 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기한다. 겹쳐쓰기부(71)에서의 상기 동작은 스크램블로 인하여 변형된 패킷의 변형 부분들의 개수만큼 반복하여 수행된다. 본 실시예의 경우, 스크램블로 인하여 변형된 패킷의 변형 부분들의 개수가 2개이기 때문에 2번 반복하여 수행된다. Subsequently, the
도 12는 본 발명의 바람직한 일 실시예에 따른 제 2 플레이어의 구성도이다.12 is a block diagram of a second player according to an embodiment of the present invention.
도 12를 참조하면, 본 실시예에 따른 제 2 플레이어(8)는 트랙 버퍼(81), 해독부(82), 버퍼(83), 디먹스(84), 복호화부(85), 가상 머신(86), 플레이어 정보 데이터베이스(87), SP 레지스터(88), 메모리(89), FUT 추출부(90), 및 연산부(91), 및 겹쳐쓰기부(92)로 구성된다.Referring to FIG. 12, the
트랙 버퍼(81)는 디스크(7)로부터 AV 스트림을 독출하고, 해독부(82)에서의 해독 처리 속도에 대응하기 위하여, 이 AV 스트림을 일시적으로 저장한다. 트랙 버퍼(81)에 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.The
해독부(82)는 AACS 규격에 따라 트랙 버퍼(81)에 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 트랙 버퍼(81)에 저장된 AV 스트림을 해독한다. The
버퍼(83)는 복호화부(85)에서의 복호화 처리 속도에 대응하기 위하여, 해독부(82)에 의해 해독된 AV 스트림을 일시적으로 저장한다. 버퍼(83)에 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG-2 규격에 따라 부호화된 형태의 AV 스트림이다. The
디먹스(84)는 MPEG-2 규격에 따라 버퍼(83)에 저장된 AV 스트림을 디먹싱함으로서 버퍼(83)에 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다. The
복호화부(85)는 MPEG-2 규격에 따라 디먹스(84)에 의해 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다. The
가상 머신(86)은 디스크(7)로부터 이 디스크(7)에 저장된 AV 타이틀을 보호하기 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성한다. 또한, 가상 머신(86)은 디스크(7)로부터 난독 축약 교정 테이블을 독출하고, 첫 번째 난독 교정 테이블을 포함하는 첫 번째 패킷을 검색할 때만 이것을 메모리(89)에 로드한다. The
본 실시예에 사용되는 축약 교정 테이블의 구조는 도 7에 도시된 교정 테이블의 구조와 동일하다. 다만, 이 축약 교정 테이블에 포함된 FUT 블록의 구조는 도 8에 도시된 FUT 블록의 구조와 다르다.The structure of the abbreviated calibration table used in this embodiment is the same as that of the calibration table shown in FIG. However, the structure of the FUT block included in this abbreviated correction table is different from that of the FUT block shown in FIG.
도 13은 본 발명의 바람직한 일 실시예에 따른 FUT 블록의 구조도이다.13 is a structural diagram of a FUT block according to an embodiment of the present invention.
도 13을 참조하면, 본 실시예에 따른 FUT 블록은 도 8에 도시된 FUT 블록으로부터 "FixUpEntry" 필드가 제거되었다. 본 실시예에 따르면, 도 8에 도시된 FUT 블록의 대부분을 차지하는 "FixUpEntry" 필드에 기록된 정보는 AV 스트림으로부터 얻을 수 있기 때문에 본 실시예에 따른 FUT 블록에는 난독 교정 테이블을 포함하는 PMT 패킷의 넘버인 "Base SPN for each FixUpEntry" 필드만을 남긴다. 그 결과, 본 실시예에 따른 축약 교정 테이블은 원래의 교정 테이블에 비해 그 용량이 1/5로 줄어들게 된다. Referring to FIG. 13, in the FUT block according to the present embodiment, the “FixUpEntry” field is removed from the FUT block shown in FIG. 8. According to the present embodiment, since information recorded in the "FixUpEntry" field, which occupies most of the FUT block shown in FIG. 8, can be obtained from an AV stream, the FUT block according to the present embodiment includes a PMT packet including an obfuscation correction table. Only the number "Base SPN for each FixUpEntry" field is left. As a result, the abbreviated calibration table according to the present embodiment is reduced in capacity by 1/5 compared with the original calibration table.
이와 같이, 원래의 난독 교정 테이블보다 훨씬 용량이 작은 난독 축약 교정 테이블을 첫 번째 난독 교정 테이블을 포함하는 PMT 패킷을 검색할 때만 메모리(89)에 로드함으로서 난독 교정 테이블 전체를 메모리에 로드한 상태에서 디스크램 블을 동시에 수행해야 하는 부담을 제거할 수 있게 되었다. As such, the entire obfuscation table is loaded into the memory by loading the obfuscation correction table, which is much smaller than the original obfuscation table, into the
SP 레지스터(88)는 가상 머신(86)에 의해 생성된 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 저장한다.The SP register 88 stores the secret parameter value, secret parameter ID, and forensic mark ID generated by the
FUT 추출부(90)는 겹쳐쓰기부(92)로부터 제공받은 첫 번째 난독 교정 테이블을 포함하는 PMT 패킷의 절대적 위치 정보, 즉 이 PMT 패킷의 넘버에 해당하는 위치의 PMT 패킷으로부터 첫 번째 난독 교정 테이블을 추출한다. The
또한, FUT 추출부(90)는 PMT 패킷의 넘버에 겹쳐쓰기부(92)로부터 제공받은 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 기준으로 AV 스트림으로부터 난독 교정 테이블을 추출한다. 보다 상세하게 설명하면, FUT 추출부(90)는 PMT 패킷의 넘버에 겹쳐쓰기부(92)로부터 제공받은 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보, 즉 PMT 패킷간의 패킷 개수를 가산한 값에 해당하는 위치의 PMT 패킷으로부터 난독 교정 테이블을 추출한다. FUT 추출부(90)는 상기된 과정을 반복함으로서 N 번째 난독 교정 테이블을 포함하는 PMT 패킷을 신속하게 찾을 수 있다.In addition, the
연산부(91)는 SP 레지스터(88)에 저장된 비밀 파라미터 값들과 메모리(87)에 로드된 난독 축약 교정 테이블을 배타적 논리합함으로서 원래의 축약 교정 테이블을 복원한다. 또한, 연산부(91)는 SP 레지스터(88)에 저장된 비밀 파라미터 값들과 FUT 추출부(90)에 의해 추출된 난독 교정 테이블을 배타적 논리합함으로서 원래의 교정 테이블을 복원한다. The
겹쳐쓰기부(92)는 연산부(91)에 의해 복원된 축약 교정 테이블로부터 첫 번 째 교정 테이블을 포함하는 PMT 패킷의 절대적 위치 정보를 획득하고, 이것을 FUT 추출부(90)에 제공한다. The
겹쳐쓰기부(92)는 연산부(91)에 의해 복원된 교정 테이블로부터 이 교정 테이블을 제공한 PMT 패킷의 절대적 위치 정보를 획득한다. 또한, 겹쳐쓰기부(92)는 연산부(91)에 의해 복원된 교정 테이블로부터 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 획득하고, 이것을 FUT 추출부(90)에 제공한다. The overwriting
또한, 겹쳐쓰기부(92)는 이와 같이 획득된 PMT 패킷의 절대적 위치 정보를 기준으로 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산한다. 또한, 겹쳐쓰기부(92)는 이와 같이 계산된 위치에 스크램블로 인하여 변형된 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기함으로서 AV 스트림의 중간 중간에 걸린 스크램블이 풀리게 된다. 보다 상세하게 설명하면, 겹쳐쓰기부(92)는 버퍼(83)에 현재 입력 중인 패킷의 넘버로부터 난독 교정 테이블을 포함하는 PMT 패킷의 넘버와 스크램블로 인하여 변형된 패킷의 변형 부분의 상대적 위치 정보, 즉 이 PMT 패킷과 변형 부분간의 패킷 개수의 합을 감함으로서 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산한다. In addition, the
도 14-15는 본 발명의 바람직한 일 실시예에 따른 제 1 컨텐트 복원 방법의 흐름도이다.14-15 are flowcharts of a first content restoration method according to an embodiment of the present invention.
도 14-15를 참조하면, 본 실시예에 따른 제 1 컨텐트 복원 방법은 다음과 같은 단계들로 구성된다. 본 실시예에 따른 제 1 컨텐트 복원 방법은 도 9에 도시된 제 1 플레이어(6)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 9에 도시된 제 1 플레이어(6)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 제 1 컨텐트 복원 방법에도 적용된다. 14-15, the first content restoration method according to the present embodiment includes the following steps. The first content reconstruction method according to the present embodiment consists of steps processed in time series in the
141 단계에서 플레이어(6)는 디스크(5)로부터 AV 스트림을 독출하고, 이 AV 스트림을 일시적으로 저장한다. 141 단계에서 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.In
142 단계에서 플레이어(6)는 AACS 규격에 따라 141 단계에서 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 141 단계에서 저장된 AV 스트림을 해독한다. In
143 단계에서 플레이어(6)는 142 단계에서 해독된 AV 스트림을 일시적으로 저장한다. 143 단계에서 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG-2 규격에 따라 부호화된 형태의 AV 스트림이다. In
144 단계에서 플레이어(6)는 디스크(5)로부터 이 디스크(5)에 저장된 AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성한다. In
145 단계에서 플레이어(6)는 144 단계에서 생성된 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 저장한다.In
146 단계에서 플레이어(6)는 143 단계에서 저장된 AV 스트림의 정렬 단위에 해당하는 패킷들 중 첫 번째 패킷을 파싱함으로서 첫 번째 난독 교정 테이블을 포 함하는 PMT 패킷을 검색하고, 이 PMT 패킷으로부터 첫 번째 난독 교정 테이블을 추출한다. 또한, 146 단계에서 플레이어(6)는 143 단계에서 저장된 AV 스트림을 구성하는 패킷들의 플래그의 값을 검사함으로서 이 패킷들이 난독 교정 테이블을 포함하는지 여부를 판단하고, 이 판단 결과에 기초하여 첫 번째 난독 교정 테이블을 포함하는 PMT 패킷을 검색하고, 이 PMT 패킷으로부터 첫 번째 난독 교정 테이블을 추출할 수도 있다.In
147 단계에서 플레이어(6)는 145 단계에서 저장된 비밀 파라미터 값들과 146 단계 또는 152 단계에서 추출된 난독 교정 테이블을 배타적 논리합함으로서 원래의 교정 테이블을 복원한다. In
148 단계에서 플레이어(6)는 147 단계에서 복원된 교정 테이블로부터 이 교정 테이블을 제공한 PMT 패킷의 절대적 위치 정보 및 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 획득한다. In
149 단계에서 플레이어(6)는 148 단계에서 획득된 PMT 패킷의 절대적 위치 정보를 기준으로 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산한다. 보다 상세하게 설명하면, 149 단계에서 플레이어(6)는 143 단계에서의 저장을 위하여 현재 입력 중인 패킷의 넘버로부터 난독 교정 테이블을 포함하는 PMT 패킷의 넘버와 스크램블로 인하여 변형된 패킷의 변형 부분의 상대적 위치 정보, 즉 이 PMT 패킷과 변형 부분간의 패킷 개수의 합을 감함으로서 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산한다. In
150 단계에서 플레이어(6)는 149 단계에서 계산된 위치에 스크램블로 인하여 변형된 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기한다.In
151 단계에서 플레이어(6)는 148 단계에서 획득된, 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보가 존재하는지 여부를 판단하고, 그 판단 결과 다음 PMT 패킷의 상대적 위치 정보가 존재하는 경우에는 152 단계로 진행하고, 다음 PMT 패킷의 상대적 위치 정보가 존재하지 않는 경우에는 153 단계로 진행한다. 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보가 존재하는지 여부를 판단한다는 것은 AV 스트림의 중간 중간에 걸린 스크램블이 모두 풀렸는지 여부를 판단한다는 것을 의미한다.In
152 단계에서 플레이어(6)는 148 단계에서 획득된, 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 기준으로 AV 스트림으로부터 난독 교정 테이블을 추출하고, 147 단계로 돌아간다. In
153 단계에서 플레이어(6)는 MPEG-2 규격에 따라 144 단계 ~ 152 단계에 의해 디스크램블된 AV 스트림을 디먹싱함으로서 143 단계에서 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다. In
154 단계에서 플레이어(6)는 MPEG-2 규격에 따라 153 단계에서 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다. In
도 16-17은 본 발명의 바람직한 일 실시예에 따른 제 2 컨텐트 복원 방법의 흐름도이다.16-17 are flowcharts of a second content restoration method according to an embodiment of the present invention.
도 16-17을 참조하면, 본 실시예에 따른 제 2 컨텐트 복원 방법은 다음과 같 은 단계들로 구성된다. 본 실시예에 따른 제 2 컨텐트 복원 방법은 도 12에 도시된 제 2 플레이어(8)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 12에 도시된 제 2 플레이어(8)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 제 2 컨텐트 복원 방법에도 적용된다. 16-17, the second content reconstruction method according to the present embodiment includes the following steps. The second content reconstruction method according to the present embodiment consists of steps processed in time series in the
161 단계에서 제 2 플레이어(8)는 디스크(7)로부터 AV 스트림을 독출하고, 이 AV 스트림을 일시적으로 저장한다. 161 단계에서 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.In
162 단계에서 제 2 플레이어(8)는 AACS 규격에 따라 161 단계에서 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 트랙 버퍼(81)에 저장된 AV 스트림을 해독한다. In
163 단계에서 제 2 플레이어(8)는 162 단계에서 해독된 AV 스트림을 일시적으로 저장한다. 163 단계에서 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG-2 규격에 따라 부호화된 형태의 AV 스트림이다. In
164 단계에서 제 2 플레이어(8)는 디스크(7)로부터 이 디스크(7)에 저장된 AV 타이틀을 보호하기 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성한다. 또한, 164 단계에서 제 2 플레이어(8)는 디스크(7)로부터 난독 축약 교정 테이블을 독출하고, 첫 번째 난독 교정 테이블을 포함하는 첫 번째 패킷을 검색할 때만 이것을 메모리(89)에 로드한다. In
165 단계에서 제 2 플레이어(8)는 164 단계에서 생성된 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 저장한다.In
166 단계에서 제 2 플레이어(8)는 165 단계에서 저장된 비밀 파라미터 값들과 164 단계에서 메모리(87)에 로드된 난독 축약 교정 테이블을 배타적 논리합함으로서 원래의 축약 교정 테이블을 복원한다. In
167 단계에서 제 2 플레이어(8)는 166 단계에서 복원된 축약 교정 테이블로부터 첫 번째 난독 교정 테이블을 포함하는 PMT 패킷의 절대적 위치 정보를 획득한다.In
168 단계에서 제 2 플레이어(8)는 167 단계에서 획득된 정보에 해당하는 위치의 PMT 패킷으로부터 첫 번째 난독 교정 테이블을 추출한다. In
169 단계에서 제 2 플레이어(8)는 165 단계에서 저장된 비밀 파라미터 값들과 167 단계에서 추출된 난독 교정 테이블을 배타적 논리합함으로서 원래의 교정 테이블을 복원한다. In
170 단계에서 제 2 플레이어(8)는 169 단계에서 복원된 교정 테이블로부터 이 교정 테이블을 제공한 PMT 패킷의 절대적 위치 정보를 획득하고, 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 획득한다. In
171 단계에서 제 2 플레이어(8)는 170 단계에서 획득된 PMT 패킷의 절대적 위치 정보를 기준으로 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산한다. In
172 단계에서 제 2 플레이어(8)는 171 단계에서 계산된 위치에 스크램블로 인하여 변형된 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기한다. In
173 단계에서 플레이어(6)는 170 단계에서 획득된, 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보가 존재하는지 여부를 판단하고, 그 판단 결과 다음 PMT 패킷의 상대적 위치 정보가 존재하는 경우에는 174 단계로 진행하고, 다음 PMT 패킷의 상대적 위치 정보가 존재하지 않는 경우에는 175 단계로 진행한다. In
174 단계에서 플레이어(6)는 170 단계에서 획득된, 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 기준으로 AV 스트림으로부터 난독 교정 테이블을 추출하고, 169 단계로 돌아간다. In
175 단계에서 플레이어(6)는 MPEG-2 규격에 따라 164 단계 ~ 174 단계에 의해 디스크램블된 AV 스트림을 디먹싱함으로서 163 단계에서 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다. In
176 단계에서 플레이어(6)는 MPEG-2 규격에 따라 175 단계에서 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다. In
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium. In addition, the structure of the data used in the above-described embodiment of the present invention can be recorded on the computer-readable recording medium through various means.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.The computer-readable recording medium may be a magnetic storage medium (for example, ROM, floppy disk, hard disk, etc.), an optical reading medium (for example, CD-ROM, DVD, etc.) and a carrier wave (for example, the Internet). Storage medium).
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.
본 발명에 따르면, 스크램블로 인하여 변형된 AV 스트림의 변형 부분을 교정하기 위한 교정 테이블로부터 이 스트림의 다른 변형 부분을 교정하기 위한 난독 교정 테이블을 포함하는 PMT 패킷의 위치 정보를 획득함으로서 AV 스트림으로부터 난독 교정 테이블을 포함하는 PMT 패킷의 정확한 위치를 신속하게 찾을 수 있다는 효과가 있다.According to the present invention, obfuscation from an AV stream is obtained by obtaining position information of a PMT packet including an obfuscation correction table for calibrating another modified portion of the stream from a calibration table for correcting the modified portion of the AV stream modified due to scramble. This has the effect of quickly finding the exact location of the PMT packet containing the calibration table.
또한, 본 발명에 따르면, 스크램블로 인하여 변형된 스트림의 변형 부분을 교정하기 위한 교정 테이블로부터 이 교정 테이블을 제공한 PMT 패킷의 절대적 위치 정보를 획득함으로서 스크램블로 인하여 변형된 패킷의 정확한 위치를 용이하게 찾을 수 있다는 효과가 있다. Further, according to the present invention, the absolute position information of the PMT packet providing the calibration table is obtained from the calibration table for correcting the deformed portion of the deformed stream due to scramble, so that the correct position of the deformed packet due to the scramble can be easily obtained. There is an effect that can be found.
또한, 본 발명에 따르면, 원래의 난독 교정 테이블보다 훨씬 용량이 작은 난독 축약 교정 테이블을 첫 번째 난독 교정 테이블을 포함하는 PMT 패킷을 검색할 때만 메모리에 로드함으로서 난독 교정 테이블 전체를 메모리에 로드한 상태에서 디스크램블을 동시에 수행해야 하는 부담을 제거할 수 있게 되었다. According to the present invention, the entire obfuscation table is loaded into the memory by loading the obfuscation correction table, which is much smaller than the original obfuscation table, into the memory only when the PMT packet including the first obfuscation table is retrieved. Eliminates the burden of concurrent descrambling.
나아가, 본 발명에 따르면, 상기된 바와 효과들로 인하여 디스크램블 작업의 속도가 증가되고, 디스크램블로 인한 시스템 부하가 줄어들게 되어, 이동 단말 등 저사양 CPU를 사용하는 디바이스도 디스크램블을 소프트웨어적으로 처리할 수 있게 되었다. Furthermore, according to the present invention, the speed of the descrambling operation is increased due to the above-described effects and the system load due to the descrambling is reduced, so that a device using a low specification CPU such as a mobile terminal can also process the descramble by software. I can do it.
Claims (18)
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US70033605P | 2005-07-19 | 2005-07-19 | |
US60/700,336 | 2005-07-19 | ||
US70149305P | 2005-07-22 | 2005-07-22 | |
US60/701,493 | 2005-07-22 | ||
US70300305P | 2005-07-28 | 2005-07-28 | |
US60/703,003 | 2005-07-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070011029A KR20070011029A (en) | 2007-01-24 |
KR100762957B1 true KR100762957B1 (en) | 2007-10-04 |
Family
ID=38012147
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050079447A KR100762957B1 (en) | 2005-07-19 | 2005-08-29 | Method and apparatus for descrambling AV stream |
KR1020060065179A KR100803603B1 (en) | 2005-07-19 | 2006-07-12 | Method and apparatus for fixing-up the transform part of content efficiently |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060065179A KR100803603B1 (en) | 2005-07-19 | 2006-07-12 | Method and apparatus for fixing-up the transform part of content efficiently |
Country Status (6)
Country | Link |
---|---|
US (1) | US8428256B2 (en) |
JP (1) | JP5539462B2 (en) |
KR (2) | KR100762957B1 (en) |
CN (2) | CN102646432B (en) |
ES (1) | ES2388173T3 (en) |
TW (1) | TWI328967B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8315988B2 (en) * | 2006-08-31 | 2012-11-20 | Sap Ag | Systems and methods for verifying a data communication process |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0136458B1 (en) * | 1994-12-08 | 1998-05-15 | 구자홍 | Copy protection apparatus of digital magnetic recording and reproducing system |
WO1996027155A2 (en) * | 1995-02-13 | 1996-09-06 | Electronic Publishing Resources, Inc. | Systems and methods for secure transaction management and electronic rights protection |
CA2169131C (en) * | 1995-02-28 | 2004-08-10 | Fabrizio Caffarelli | Compact disc recording system and method |
DE69630060T2 (en) | 1995-07-14 | 2004-07-08 | Sony Corp. | Process for the transmission of digital data and recording medium |
JPH09162859A (en) * | 1995-12-07 | 1997-06-20 | Fujitsu Ltd | Scrambling method and device, descrambling method and device and data transmission method and system |
JP3651721B2 (en) * | 1996-11-01 | 2005-05-25 | 株式会社東芝 | Mobile computer device, packet processing device, and communication control method |
KR100611867B1 (en) * | 1998-01-26 | 2006-08-11 | 마츠시타 덴끼 산교 가부시키가이샤 | Method and system for data recording/reproducing, apparatus for recording/reproducing, and media for recording program |
US6285774B1 (en) * | 1998-06-08 | 2001-09-04 | Digital Video Express, L.P. | System and methodology for tracing to a source of unauthorized copying of prerecorded proprietary material, such as movies |
US6430159B1 (en) * | 1998-12-23 | 2002-08-06 | Cisco Systems Canada Co. | Forward error correction at MPEG-2 transport stream layer |
US7016951B1 (en) | 1999-04-30 | 2006-03-21 | Mantech Ctx Corporation | System and method for network security |
WO2001033832A1 (en) * | 1999-10-29 | 2001-05-10 | Fujitsu Limited | Image reproducing apparatus and image recording/reproducing apparatus |
JP4457474B2 (en) * | 2000-04-04 | 2010-04-28 | ソニー株式会社 | Information recording apparatus, information reproducing apparatus, information recording method, information reproducing method, information recording medium, and program providing medium |
EP1215905B2 (en) * | 2000-12-15 | 2010-04-21 | Panasonic Corporation | Reception apparatus having a storage unit for recording a scrambled broadcast signal and broadcast apparatus for scrambling a signal to be broadcast, and associated methods |
CN1457495B (en) * | 2001-02-28 | 2012-09-05 | 索尼公司 | Information recording apparatus and method |
US7987510B2 (en) | 2001-03-28 | 2011-07-26 | Rovi Solutions Corporation | Self-protecting digital content |
US7124303B2 (en) * | 2001-06-06 | 2006-10-17 | Sony Corporation | Elementary stream partial encryption |
US20030142560A1 (en) * | 2001-12-07 | 2003-07-31 | Pioneer Corporation | Data recording medium, reproduction apparatus, recording apparatus, reproducing method, recording method, computer-readable recorded medium in which reproducing program is recorded, and computer-readable recorded medium in which recording program is recorded |
US7242773B2 (en) * | 2002-09-09 | 2007-07-10 | Sony Corporation | Multiple partial encryption using retuning |
US6851084B2 (en) * | 2002-06-10 | 2005-02-01 | Harris Corporation | Forward error correction method and system for reliable transmission of real time data over a packet based network |
US7349386B1 (en) * | 2003-02-18 | 2008-03-25 | Cisco Technology, Inc. | Method and apparatus for transporting MPEG streams on IP networks including removing null packets |
US7292692B2 (en) * | 2003-03-25 | 2007-11-06 | Sony Corporation | Content scrambling with minimal impact on legacy devices |
CA2523055A1 (en) | 2003-04-25 | 2004-11-11 | Thomson Licensing | Marking techniques for tracking pirated media |
TWI250759B (en) * | 2003-06-09 | 2006-03-01 | Sony Corp | Information recording medium, data processing method and computer program |
EP1524659A1 (en) * | 2003-10-13 | 2005-04-20 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for decrypting an encrypted supplementary data set |
US7278084B2 (en) * | 2003-10-29 | 2007-10-02 | Nokia Corporation | Method and system for providing communications security |
JP4352976B2 (en) * | 2004-04-20 | 2009-10-28 | 株式会社日立製作所 | Receiving apparatus and receiving method |
US7634223B2 (en) * | 2004-07-12 | 2009-12-15 | Motorola Inc. | Method and apparatus for controlling a delivery of a broadcast-multicast flow in a packet data communication system |
-
2005
- 2005-08-29 KR KR1020050079447A patent/KR100762957B1/en not_active IP Right Cessation
-
2006
- 2006-07-12 KR KR1020060065179A patent/KR100803603B1/en active IP Right Grant
- 2006-07-18 ES ES06117438T patent/ES2388173T3/en active Active
- 2006-07-19 CN CN201210052808.5A patent/CN102646432B/en not_active Expired - Fee Related
- 2006-07-19 CN CN2006101063304A patent/CN1917071B/en active Active
- 2006-07-19 TW TW095126326A patent/TWI328967B/en not_active IP Right Cessation
- 2006-07-19 US US11/488,692 patent/US8428256B2/en active Active
-
2012
- 2012-08-03 JP JP2012172593A patent/JP5539462B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TW200721829A (en) | 2007-06-01 |
TWI328967B (en) | 2010-08-11 |
US8428256B2 (en) | 2013-04-23 |
KR20070011107A (en) | 2007-01-24 |
CN102646432A (en) | 2012-08-22 |
CN102646432B (en) | 2015-03-11 |
JP5539462B2 (en) | 2014-07-02 |
CN1917071A (en) | 2007-02-21 |
KR100803603B1 (en) | 2008-02-15 |
JP2012252777A (en) | 2012-12-20 |
US20070022088A1 (en) | 2007-01-25 |
ES2388173T3 (en) | 2012-10-10 |
CN1917071B (en) | 2012-05-23 |
KR20070011029A (en) | 2007-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7661000B2 (en) | Information processing device, information recording medium and information processing method, and computer program | |
KR101278075B1 (en) | Playing apparatus, method and apparatus for manufacturing information recording medium, recording medium, and authoring apparatus | |
US8422049B2 (en) | Information processing device, information record medium manufacturing device, information record medium, method therefore, and computer program | |
US8325917B2 (en) | Reproducing device, recording device, recording medium, data processing method, data processing program, data recording method, data recording program, and integrated circuit | |
US8510852B2 (en) | Information processing apparatus, information recording medium manufacturing apparatus, information recording medium, method, and computer program | |
US20100183148A1 (en) | Recording keys in a broadcast-encryption-based system | |
US7433488B2 (en) | Information recording medium drive device, information processing apparatus, data replay control system, data replay control method, and computer program | |
KR100762957B1 (en) | Method and apparatus for descrambling AV stream | |
US8964978B2 (en) | Method and apparatus for efficiently fixing transformed part of content | |
EP3188405B1 (en) | Information processing device, information recording medium, information processing method, and program | |
KR20070058288A (en) | Method and apparatus for descrambling av stream | |
JP4905585B2 (en) | Information recording medium and program | |
JP4862957B2 (en) | Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program | |
JP2011076616A (en) | Information processing apparatus, information recording medium manufacturing device, information recording medium, method, and computer program | |
JP2016042687A (en) | Content processing method, content processing device and recording medium |
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: 20120830 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20130829 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140828 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150828 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |