WO2008096066A2 - Procede de gestion du nombre de visualisations, processeur de securite et terminal pour ce procede - Google Patents

Procede de gestion du nombre de visualisations, processeur de securite et terminal pour ce procede Download PDF

Info

Publication number
WO2008096066A2
WO2008096066A2 PCT/FR2007/002137 FR2007002137W WO2008096066A2 WO 2008096066 A2 WO2008096066 A2 WO 2008096066A2 FR 2007002137 W FR2007002137 W FR 2007002137W WO 2008096066 A2 WO2008096066 A2 WO 2008096066A2
Authority
WO
WIPO (PCT)
Prior art keywords
audiovisual content
visualizations
segment
content
license
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/FR2007/002137
Other languages
English (en)
Other versions
WO2008096066A3 (fr
Inventor
Emmanuel Plesse
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Viaccess SAS
Original Assignee
Viaccess SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Viaccess SAS filed Critical Viaccess SAS
Priority to CN2007800469116A priority Critical patent/CN101563920B/zh
Priority to PL07872422T priority patent/PL2098073T3/pl
Priority to ES07872422T priority patent/ES2753848T3/es
Priority to US12/520,339 priority patent/US20090316896A1/en
Priority to EP07872422.6A priority patent/EP2098073B1/fr
Priority to KR1020097012997A priority patent/KR101378487B1/ko
Publication of WO2008096066A2 publication Critical patent/WO2008096066A2/fr
Publication of WO2008096066A3 publication Critical patent/WO2008096066A3/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00166Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
    • G11B20/00181Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software using a content identifier, e.g. an international standard recording code [ISRC] or a digital object identifier [DOI]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00746Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number
    • G11B20/00797Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number wherein the usage restriction limits the number of times a content can be reproduced, e.g. using playback counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00847Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction is defined by a licence file
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23895Multiplex stream processing, e.g. multiplex stream encrypting involving multiplex stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26606Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing entitlement messages, e.g. Entitlement Control Message [ECM] or Entitlement Management Message [EMM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • H04N21/43853Multiplex stream processing, e.g. multiplex stream decrypting involving multiplex stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management e.g. creating a master electronic programme guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management e.g. creating a master electronic programme guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Definitions

  • the present invention relates to a method for managing the number of visualizations, a security processor and a terminal for this method.
  • the electronic reader notably allowing jumps backwards to read a previous segment before the end of the audiovisual content is reached,
  • the digital audiovisual contents are, for example, videograms such as films or a television program.
  • a segment is an ordered and consecutive sequence of images and / or sounds. This segment is recorded in a format adapted to be read by the electronic reader and then viewed on a screen. When viewed on a screen, the images and sounds of a segment are sequenced one after the other at a frequency greater than or equal to 50 Hz so as to create an impression of visual and auditory continuity between the different images and sounds. of the same segment. Two segments are said to be consecutive, if during the reading of these segments in the prescribed order, the time interval between the moment when the preceding segment ceases to be played from the instant when the next segment begins to to be played is less than 1/50 second. Thus, when two segments are consecutive, a visual and auditory continuity is ensured between these two segments for the user.
  • the audiovisual content has been viewed once when each of its segments has been viewed at least once.
  • This strategy is very permissive because it also allows a user to view as many times as he wants a given segment back systematically after viewing this segment.
  • a somewhat less permissive strategy is to increment a counter each time a segment of the audiovisual content is viewed. This counter is then compared to a predetermined threshold. If the threshold is exceeded, the number of visualizations already performed is incremented by one. With this strategy, the user can no longer view as many times as he wants the same segment without the number of visualizations already made being incremented. On the other hand, conversely, the number of visualisations already carried out can be incremented even if certain segments have never been visualized.
  • the invention aims to satisfy this wish. It therefore relates to a method of managing the number of visualizations of an audiovisual content comprising:
  • each cell being associated in a one-to-one manner with a respective segment of the audiovisual content, each cell being able to contain a number
  • the table allows to memorize a representation of the number of times that each segment of the audiovisual content has been viewed.
  • the contents of this table also makes it possible to detect the use of jumps backwards.
  • the granulometry of the information contained in this table is therefore sufficient to be able to implement a large number of different strategies for calculating the number of visualizations already performed.
  • the method is therefore sufficiently flexible so that each operator or audiovisual content provider can define his own strategy for calculating the number of visualizations already made.
  • this license comprising at least:
  • a cryptographic redundancy such as a signature made using a cryptographic key, of at least a part of each of the preceding information
  • the license includes a T_Anti_Reuse identifier of its previous use, - a security processor equipped with information storage means containing:
  • the T_Anti_Reuse and C_Anti_Reuse identifiers are modified so that their new respective values correspond, and - before each new use of the reader to view the audiovisual content, the visualization of the audiovisual content is authorized only if the value of the identifier T_Anti_Reuse corresponds to the value of the identifier C_Anti_Reuse; the selection of an algorithm for calculating the number of visualizations to be performed when calculating the number of visualizations, according to the content of the license, among a set of several different calculation algorithms that can be executed, two algorithms of calculation being considered different if there is the same content of the cells of the table from which the two algorithms give different results;
  • each ECM message containing:
  • the predetermined step used to increment or decrement the number contained in the cell associated with a segment decreases or increases as a function of the number of times this segment has already been viewed.
  • the transmission of the license in the form of an EMM message limits the adaptations to be made to the security processor so that it can receive and process the license
  • the subject of the invention is also a security processor containing instructions for the execution of the above management method when these instructions are executed by an electronic computer.
  • the subject of the invention is also a terminal for reading an audiovisual content, this terminal comprising: an information recording medium containing the recorded digital audio-visual content, this content being divided into a plurality of consecutive time segments and intended to to be read automatically in a prescribed order,
  • the terminal being able to: calculate the number of visualizations of this audiovisual content already made
  • the terminal comprises an array containing as many cells as time segments, each cell being associated one-to-one with a respective segment of the audiovisual content, each cell being able to contain a number, and
  • the terminal is able to:
  • FIG. 1 is a schematic illustration of a terminal for reading recorded digital audio-visual contents
  • FIG. 2 is a schematic illustration of audiovisual content that can be viewed using the terminal of FIG. 1,
  • FIG. 3 is a schematic illustration of an ECM (Entitlement Control Message) recorded with the audiovisual content of FIG. 2,
  • FIG. 4 is a schematic illustration of a license used in the terminal of FIG. 1;
  • FIG. 5 is an illustration of the structure of a table contained in the license of FIG. 4;
  • FIG. 6 is an illustration of an anti-replay list contained in a security processor of the terminal of FIG.
  • FIGS. 7A and 7B are flow charts of a method for managing the number of visualizations of the audiovisual content implemented in the terminal of FIG. 1,
  • FIG. 8 is a schematic illustration of the structure of an EMM-U (Entitlement Management Message with Unique Address) generated during the execution of the method of FIG. 7, and FIGS. 9 to 11 are flowcharts, respectively , of three algorithms for calculating the number of visualizations already carried out.
  • EMM-U Entitlement Management Message with Unique Address
  • FIG. 1 represents a terminal 2 for reading digital audiovisual content.
  • This terminal 2 is able to control the display on a screen 4 audiovisual content read so that they can be viewed by a user.
  • user here is meant a human being.
  • the screen 4 is, for example, typically a television screen.
  • the terminal 2 comprises a decoder 6 connected to an information recording medium 8.
  • the audio-visual contents are recorded on this medium 8.
  • the contents CANi and CAN 2 are, for example, audiovisual content scrambled with CW control words.
  • Audiovisual content is divided into a multitude of time segments CAN_1 to CAN_N. These segments CAN_i follow each other in a prescribed order.
  • the CAN_1 segment corresponds to the first segment to be read and the CAN_N segment corresponds to the last segment to be read.
  • each CAN j segment is scrambled using a single control word CW different from that used to scramble the preceding segments and subsequent segments.
  • each segment corresponds to a cryptoperiod.
  • the duration of a cryptoperiod is generally 10 seconds.
  • Each segment or cryptoperiod CANJ is associated with a message
  • ECM Entitlement Control Message
  • ECM_i contains a cryptogram CW * of the control word CW used to scramble the segment CAN_i.
  • the ECM_i messages are recorded on the support 8 at the same time as the CANj segments.
  • ECM_i is for example compliant with the UTE C90-007 standard "Conditional access system for digital broadcasting systems" used in the field of signal transmission Multimedia scrambled through long-distance information transmission networks such as, for example, networks involving satellites.
  • the message ECM_i comprises an SOID field containing both an identifier of the operator having broadcast this audiovisual content and an identifier of the cryptographic context to be applied.
  • the identifier of the cryptographic context to be applied notably allows a security processor to identify which is the cryptographic key (s) to be used to process this ECM message.
  • the message ECM_i also includes:
  • ECM_R field containing a cryptographic redundancy such as a MAC (Message Authentication Code) or a cryptographic signature of the ECMJ relating to a part of the information contained in each of the preceding fields of this ECMJ message.
  • a cryptographic redundancy such as a MAC (Message Authentication Code) or a cryptographic signature of the ECMJ relating to a part of the information contained in each of the preceding fields of this ECMJ message.
  • the identifier CJd establishes a one-to-one relationship between this message ECMJ and a cell of the table of FIG.
  • each license includes the following fields:
  • NVA field containing a positive integer number NVA corresponding to the number of visualizations authorized for the audiovisual content identified by the identifier Contentjd
  • a T_Anti_Reuse field containing a T_Anti_Reuse identifier of the previous use of the license, used to avoid that the same license can be reused several times; typically this identifier is a number whose value strictly increases with each new use of the license,
  • an L_R field containing a cryptographic redundancy L_R such as a MAC or a cryptographic signature relating to at least part of the information contained in each of the preceding fields.
  • L_R a cryptographic redundancy
  • the Params field contains values for the following parameters:
  • Cryptographic redundancy LR is constructed by implementing a cryptographic algorithm and a cryptographic key.
  • Figure 5 shows schematically an example of a possible structure for the Tab table.
  • this table is formed of N successive cells classified in the order from 1 to N.
  • N is an integer equal to the number of segments contained in the audiovisual content with which the license is associated.
  • Each cell is intended to contain a number coded on a number of bits that can be parameterized using the parameter C_Size contained in the Params field of the license.
  • each of these cells represent the value of the identifier C Id making it possible to identify the cell situated just in -Dessous.
  • the decoder 6 comprises:
  • an electronic reader 10 able to read and write information on the support 8
  • a filter 12 able to direct the scrambled audiovisual content to a descrambler and a decoder 14 and to send the messages ECM_i associated with this scrambled audiovisual content to a decoder / card interface 16
  • the descrambler and decoder 14 includes, for illustration only, a receiver 18 adapted to receive via a wireless network 20 for transmitting information scrambled audiovisual content and ECM messages associated with this audiovisual content.
  • the scrambled audiovisual contents as well as the ECM messages are broadcast by a remote transmitter 24 to a multitude of remote terminals, such as the terminal 2.
  • the terminal 2 also comprises a security processor 30 connected to the decoder 6.
  • This security processor 30 is designed to process ECM and EMM (Entitlement Management Message) and perform the encryption and decryption operations necessary for the operation of the terminal 2.
  • the processor 30 comprises:
  • an interface 32 capable of cooperating with the interface 16 of the decoder in order to receive from the latter ECM and EMM messages
  • a computer 34 able to process the EMM and ECM messages received via the interface 32
  • a non-volatile memory 36 in which the various information necessary for the encryption / decryption operations is stored
  • the processor 30 is a removable security processor such as a smart card.
  • the memory 36 contains:
  • the memory 36 also contains the following information:
  • TdA access titles intended to be compared with the CdA access conditions contained in an ECM message in order to determine whether this ECM message may or may not be processed by the processor 30,
  • Figure 6 shows an example of a possible structure for the list
  • This list includes, for example, a first column containing the identifiers Contentjd and a second column comprising the identifier
  • the CAR list contains as many lines as licenses already read by the reader 10.
  • the memory 36 also includes an ArrayCcrement array for use in conjunction with the Algo3 algorithm.
  • the table Tablncrcons is, for example, the following:
  • the first line X of this table contains integers each corresponding to a number of times a segment has been viewed.
  • the second line Y associates with each of these integers a step of incrementation. It should be noted that this incrementation step is here a monotonically decreasing function of the number of times a segment has already been read.
  • the line Z gives the number actually taken into account by the algorithm for each display number of a segment.
  • the terminal 2 comprises a remote control 40 for controlling via a wireless link 42 the decoder 6.
  • a remote control 40 for controlling via a wireless link 42 the decoder 6.
  • a key 44 making it possible to trigger the reading of a selected audio-visual content among the various audio-visual contents recorded on the medium 8
  • a key 45 making it possible to stop the reading of an audiovisual content in order, for example, to switch to reading other audiovisual content or simply stop reading
  • a key 46 making it possible to jump backwards, that is to say to go directly from the segment currently read to a preceding segment without it being necessary for it to read the intermediate segments between the currently read segment and the previous segment, and
  • a key 47 making it possible to jump forward, that is to say making it possible to go from the currently read segment directly to a next segment without having to read the intermediate segments situated between the segment currently read and the following segment.
  • the transmitter 24 sends the terminal 2 scrambled audiovisual content and the corresponding ECM messages via the network. 20.
  • the terminal 2 records this scrambled audiovisual content and the corresponding ECM messages on the medium 8 so as to obtain, for example, the recorded audiovisual content CAN-i.
  • the transmitter 24 transmits via the network 20 or by another communication mode, the license Li to the terminal 2.
  • This is the initial version of the license L- ), containing in particular the initial value of the NVA number of authorized views of this content.
  • this initial value allows at least two complete visualizations of the content.
  • this license is transmitted in an EMM-U message whose structure is shown in FIG. 8. More precisely, the structure of this EMM-U message complies with the UTE C90-007 standard. (already mentioned) in the field of the transmission of scrambled multimedia signals. In Figure 8, only the elements necessary for understanding the remainder of the description are shown.
  • the message EMMJJ comprises the same fields as those already described with reference to FIG. 4, so that their description will not be repeated here in detail.
  • a step 76 only the terminal 2 whose security processor corresponds to the identifier UA contained in the EMM-U message records the license received on the support 8.
  • the license may be sent before or at the same time as the content, as well as for its recording on the medium 8. Steps 70 and 74 may thus be simultaneous or swapped, as well as steps 72 and 72.
  • steps 72 and 76 remain subsequent to steps 70 and 74, respectively.
  • the user of the terminal 2 triggers the playback of one of the audiovisual contents recorded on the support 8 using the remote control 40, for example. It is assumed here that the reading of the CANi content is triggered. A phase 80, called logon, then begins.
  • a step 82 if several licenses exist for the same audiovisual content, the user selects the license to use to view this content.
  • the license Li is automatically selected since only this license is associated with the content CAN 1 .
  • the terminal sends the selected license to the processor 30 via the interfaces 16 and 32.
  • the decoder transmits the EMM-U message representing the license l_i, this EMM-U message being identical to that of FIG. 8.
  • a step 86 the processor 30 verifies that the identifier UA contained in the received EMM-U message corresponds to the identifier UA stored in the memory 36. For example, in step 86, the processor 30 checks if these identifiers UA are identical.
  • step 88 the processor 30 verifies the authenticity of the received license using cryptographic redundancy L_R. More specifically, in step 88, the processor 30 proceeds from the contents of the license fields received to operations similar to those previously performed to obtain the redundancy L_R. In particular, during step 88, at least one of the operations involves encryption or decryption with a cryptographic key. For example, the cryptographic key used in the cryptographic redundancy is identified by virtue of the context identifier contained in the SOID field of the EMM-U message.
  • the processing of the cryptographic redundancy by the processor leads to a positive result, for example if the redundancy built by the processor 30 is identical to the redundancy contained in the L_R field, then the license is considered authentic and integrity and the processor proceeds to a step 90.
  • step 90 the processor 30 searches for the identifier C_Anti_Reuse associated with the identifier Contentjd contained in the received license. If no identifier of the list CAR corresponds to the identifier Contentjd received, then the processor 30 adds, during a step 92, the identifier Contentjd received to the list CAR and associates this identifier with a value identifier C_Anti_Reuse initialized to zero .
  • the processor 30 compares the value of the identifier T_Anti_Reuse of the license received to the value of the identifier C_Anti_Reuse associated with the identifier Contentjd in the list CAR. If the identifiers correspond, for example if the values are identical, then the processor 30, during a step 96, checks that the number NVA contained in the license received is strictly greater than zero. If so, during a step 98, the processor 30 stores in its memory 38 the parameters contained in the Params field, the numbers NVA, NCV and the table Tab contained in the license received.
  • step 86 If one of the checks performed in steps 86, 88, 94 or 96 fails, the processor 30 proceeds to a step 100 of stopping the processing of the received license and stopping the decryption of the scrambled audiovisual content.
  • step 98 the phase 80 is completed and a phase 104 for reading the audiovisual content begins automatically.
  • the first CAN_1 segment CANi audiovisual content is read and transmitted to the descrambler 14.
  • the associated ECIVM message is transmitted to the processor 30.
  • the CdA access conditions contained in the ECM_1 message are compared with the TdA access titles contained in the memory 36. In the case where the access conditions correspond to the TdA access titles. , then the method continues with a step 112 of extracting the identifier C_ld contained in the ECIVM message received.
  • the processor 30 increments by a specified step the cell of the received Tab table corresponding to the extracted identifier CJd.
  • Step 114 is executed only if the maximum size of the cell specified by the identifier CJd has not already been reached.
  • the processor 30 also increments the number NCV by a specified step.
  • the processor determines whether a new visualization of the audiovisual content has been performed. This determination is made by executing the algorithm corresponding to the identifier Algojd. Algorithms corresponding respectively to the identifiers Algol, Algo2 and
  • step 122 in which the number NVA is incremented and, if necessary, the table Tab and the number NVC are updated.
  • the processor 30 verifies that the number NVA is strictly greater than zero. If the number NVA is always strictly greater than zero, then in a step 126, the processor extracts the cryptogram CW * contained in the received ECIVM message and then decrypts the cryptogram with a decryption key recorded in the context associated with the content of the SOID field. Then, during a step 128, the decrypted CW control word is transmitted to the descrambler 14.
  • step 1 10 If during step 1 10, the access conditions received do not correspond to the registered access titles, or if in step 124, the number NVA is less than or equal to zero, then the processor 30 proceeds immediately in a step 130 for stopping the processing of received ECMj messages. Consequently, no new control word CW is supplied to the descrambler which prevents the correct descrambling of the audiovisual content recorded on the medium 8.
  • step 120 If in step 120 it has been determined that no further visualization has been performed, then the process proceeds from step 120 directly to step 126.
  • step 128 the descrambler 14 descrambles the segment CAN_1 using the control word CW received from the processor 30. Then, during a step 134, the descramble segment is displayed in clear on the screen 4. At the end of step 134, the method automatically returns to steps 106 and 108 to read the next segment of audiovisual content CAN-i.
  • the steps 106 to 134 are repeated for each of CANj CANi content segments in the order of these segments.
  • the user can also use the keys 46 and
  • the processor 30 After viewing the audiovisual content, the user can decide to end this display, for example, by pressing the key 45. At this time, the processor 30 proceeds to a phase 140 of closing the session. Classes. At the beginning of the phase 140, during a step 142, the processor 30 increments the number constituting the identifier C_Anti_Reuse associated with the identifier Contentjd in the list CAR. Then, in a step 144, the processor generates an updated license, that is to say that the updated license contains the new values of the numbers NVA, NCV, T_Anti_Reuse, and Tab, and a value L__R restored.
  • the value of the identifier T__Anti_Reuse of the updated license is identical to that of the identifier C_Anti_Reuse associated with the identifier Contentjd in the list CAR.
  • the redundancy L_R is built from the new values of the license and using the appropriate cryptographic key recorded in the context associated with the identifier SOID.
  • the processor 30 transmits the updated Li license to the decoder 6 which saves it instead of the Li license previously recorded on the support 8.
  • the Algol algorithm uses two parameters contained in the license, namely the Si threshold and the C_Size parameter.
  • the parameter C_Size is set to one bit.
  • the processor 30 detects a discontinuity in the playback of the audiovisual content. For example, this discontinuity can be detected in response to the depression of one of the keys 46 or 47. The discontinuity can also be detected by observing a discontinuity in the values of the identifiers CJd contained in the ECMJs received. Then, when this discontinuity has been detected, during a step 152, the processor 30 considers that a new visualization of the audiovisual content has been performed if the number of cells of the table Tab containing a "1" is greater than or equal to the threshold S 1 . If yes, at step 122, the number NVA is decremented by one and all cells in the Tab array are reset to zero.
  • Step 152 is also executed automatically when the end of the last segment of the audiovisual content is reached.
  • the Algol algorithm allows the repeated display of a restricted portion by the threshold S1 of the content but limits the number of visualizations as soon as the part of the content displayed is larger.
  • FIG. 10 illustrates the Algo2 algorithm for calculating the number of visualizations already carried out.
  • This algorithm Algo2 uses the parameters C_Size, Si and S 2 contained in the license.
  • the parameter C_Size is equal to one bit.
  • a discontinuity in the playback of the audiovisual content is detected.
  • the number NVA is decremented by one and all the cells of the table Tab as well as the value of the NCV number are reset to zero.
  • the algorithm Algo2 differs from Algol in that it limits the visualization of a restricted part of the content, by action of the threshold S 2 .
  • Figure 11 illustrates the algorithm Algo3.
  • the algorithm Algo3 uses the parameters C_Size and S 2 of the received license.
  • the identifier of the Algo3 algorithm indicates to the processor 30 that the increment step used in step 116 is determined from the Tablncrement table.
  • a step 170 the processor 30 detects a discontinuity in the playback of the audiovisual content.
  • the processor 30 detects a discontinuity in the playback of the audiovisual content.
  • a step 172 it is determined that a new visualization has been performed if the number NCV is greater than the threshold S 2 . If so, in step 122, the number NVA is decremented by one and the number NCV and all the cells of the table Tab are reset to zero. Note that in this last embodiment, the number NCV is incremented by one when a segment is viewed for the first time. On the other hand, when this same segment is visualized a second time, the number NCV is only incremented by 0.5. Then, if this segment is still viewed other times, the increment used in step 116 is even smaller. Thus, in this way, we assign a smaller importance to subsequent visualizations of the same segment as the first visualization.
  • the license may be transmitted from the transmitter to the decoder and then from the decoder to the security processor using a message other than an EMM-U message.
  • a message other than an EMM-U message For example, any signed data structure can be used.
  • the security processor 30 has been described here as being a removable processor. Alternatively, the processor 30 is integrated in the decoder 6 and permanently attached thereto.
  • the license does not contain an L_R field and is therefore not protected by a signature.
  • the LJd field may be omitted.
  • the selection of the license to be used may be automatic. For example, the oldest license can be used first.
  • each segment corresponds to a cryptoperiod.
  • a segment corresponds to several successive cryptoperiods.
  • several ECMj messages will have the same identifier CJd.
  • the cells of the Tab array can be decremented instead of incremented.
  • the NCV field may be omitted.
  • the license can also be common to several audiovisual contents recorded on the support 8.
  • the identifier Contentjd identifies not only a single audiovisual content, but a group of audiovisual contents that can be viewed using the terminal 2 .
  • step 110 may be performed after step 124.
  • control of the number of visualizations already carried out is carried out after the reading of each segment.
  • this control can be performed only at the end of the reading session.
  • the number of sessions will be limited.
  • the incrementation step used by the algorithm may be provided by a parameter of the ECM message to take account of the variable interest of one part or the other of the content.
  • the support 8 may be a removable medium such as, for example, a
  • DVD-RW Digital Video Disc-Rewritable
  • CD-RW Compact Disc-Rewritable
  • It can be a non-rewritable removable media (DVD-R, CD-R), in which case the license is stored in a non-volatile memory of the electronic reader. What has been described here in the case of audiovisual content can also be applied to audio content without video.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Ce procédé de gestion du nombre de visualisations d'un contenu audiovisuel comporte : la fourniture d'un tableau contenant autant de cellules que de segments temporels du contenu audiovisuel, chaque cellule étant associée de façon biunivoque à un segment respectif du contenu audiovisuel, lorsqu'un segment du contenu audiovisuel est lu, l'incrémentation (114) ou la décrémentation d'un pas prédéterminé d'un nombre contenu dans la cellule associée à ce segment, et le calcul (120) du nombre de visualisations déjà effectuées à partir des nombres enregistrés dans chacune des cellules du tableau.

Description

PROCEDE DE GESTION DU NOMBRE DE VISUALISATIONS, PROCESSEUR DE SECURITE ET TERMINAL POUR CE PROCEDE
La présente invention concerne un procédé de gestion du nombre de visualisations, un processeur de sécurité et un terminal pour ce procédé.
Il existe des procédés de gestion du nombre de visualisations d'un contenu audiovisuel. Ces procédés comportent, par exemple :
- la fourniture d'un contenu audiovisuel numérique enregistré sur un support d'enregistrement d'informations, ce contenu étant divisé en plusieurs segments temporels consécutifs et destinés à être lus automatiquement dans un ordre prescrit,
- la fourniture d'un nombre de visualisations autorisées de ce contenu audiovisuel,
- la lecture du contenu audiovisuel enregistré, à l'aide d'un lecteur électronique, le lecteur électronique permettant notamment des sauts en arrière pour lire un segment précédent avant que la fin du contenu audiovisuel ne soit atteinte,
- le calcul du nombre de visualisations du contenu audiovisuel déjà effectuées, et - l'interdiction de toute nouvelle visualisation du contenu audiovisuel si le nombre de visualisations déjà effectuées est supérieur ou égal au nombre de visualisations autorisées et, dans le cas contraire, l'autorisation d'une nouvelle visualisation du contenu audiovisuel dans son ensemble.
Les contenus audiovisuels numériques sont, par exemple, des vidéogrammes tels que des films ou une émission télévisée.
Un segment correspond à une suite ordonnée et consécutive d'images et/ou de sons. Ce segment est enregistré dans un format adapté pour être lu par le lecteur électronique puis visualisé sur un écran. Lors de la visualisation sur un écran, les images et sons d'un segment s'enchaînent les uns après les autres à une fréquence supérieure ou égale à 50 Hz de manière à créer une impression de continuité visuelle et auditive entre les différentes images et sons d'un même segment. On dit que deux segments sont consécutifs, si lors de la lecture de ces segments dans l'ordre prescrit, le laps de temps qui sépare l'instant où le segment précédent cesse d'être joué de l'instant où le segment suivant commence à être joué est inférieur à 1/50 seconde. Ainsi, lorsque deux segments sont consécutifs, une continuité visuelle et auditive est assurée entre ces deux segments pour l'usager.
Ces procédés de gestion sont particulièrement utiles pour limiter le nombre de fois qu'un usager peut visualiser un contenu audiovisuel enregistré.
On remarque ici que l'on limite le nombre de fois où le contenu audiovisuel peut être visualisé en utilisant un calcul du nombre de fois où l'usager a déjà visualisé le contenu audiovisuel. Cette première approche est à distinguer d'une seconde approche concurrente visant elle aussi à limiter le nombre de fois où le contenu est visualisable. Cette approche concurrente autorise au départ une durée de visualisation DVA. Ensuite, la durée DVA est décrémentée proportionnellement au temps de visualisations effectuées du contenu audiovisuel. Cette approche concurrente est simple, car il suffit de mesurer le temps de visualisation. Toutefois, elle est très peu flexible, en particulier, il est très difficile en mesurant uniquement le temps de visualisations déjà écoulé de tenir compte des différentes possibilités de visualisations du contenu audiovisuel rendues possibles par les sauts en arrière ou, au contraire, en avant, qui peuvent être réalisés sous la commande de l'utilisateur.
Potentiellement, le dénombrement du nombre de visualisations du contenu audiovisuel ne présente pas l'inconvénient de cette approche concurrente. Toutefois, à cause de la possibilité d'effectuer des sauts en arrière et, éventuellement, en avant, il existe un grand nombre de stratégies différentes pour calculer le nombre de visualisations déjà effectuées.
Par exemple, on peut décider que le contenu audiovisuel a été visualisé une fois lorsque chacun de ses segments a été visualisé au moins une fois.
Cette stratégie est très permissive puisqu'elle permet en outre à un usager de visualiser autant de fois qu'il le veut un segment donné en revenant systématiquement en arrière après la visualisation de ce segment.
Une stratégie un peu moins permissive consiste à incrémenter un compteur à chaque fois qu'un segment du contenu audiovisuel est visualisé. Ce compteur est ensuite comparé à un seuil prédéterminé. Si le seuil est dépassé, le nombre de visualisations déjà effectuées est incrémenté de un. Avec cette stratégie, l'usager ne peut plus visualiser autant de fois qu'il veut le même segment sans que le nombre de visualisations déjà effectuées ne soit incrémenté. Par contre, à l'inverse, le nombre de visualisations déjà effectuées peut être incrémenté même si certains segments n'ont jamais encore été visualisés.
Il est donc souhaitable de proposer un procédé de gestion du nombre de visualisations qui soit suffisamment flexible pour permettre l'implémentation de nouvelles stratégies de calcul du nombre de visualisations déjà effectuées sans entraîner de modifications importantes du procédé.
L'invention vise à satisfaire ce souhait. Elle a donc pour objet un procédé de gestion du nombre de visualisations d'un contenu audiovisuel comportant :
- la fourniture d'un tableau contenant autant de cellules que de segments temporels, chaque cellule étant associée de façon biunivoque à un segment respectif du contenu audiovisuel, chaque cellule étant apte à contenir un nombre,
- lorsqu'un segment du contenu audiovisuel est lu par le lecteur électronique, l'incrémentation ou la décrémentation d'un pas prédéterminé du nombre contenu dans la cellule associée à ce segment, et
- le calcul du nombre de visualisations déjà effectuées réalisé à partir des nombres enregistrés dans chacune des cellules du tableau.
Dans le procédé ci-dessus, le tableau permet de mémoriser une représentation du nombre de fois que chaque segment du contenu audiovisuel a été visualisé. En particulier, le contenu de ce tableau permet en outre de déceler l'utilisation de sauts en arrière. La granulométrie des informations contenues dans ce tableau est donc suffisante pour pouvoir mettre en œuvre un grand nombre de stratégies différentes de calcul du nombre de visualisations déjà effectuées. Le procédé est donc suffisamment flexible pour que chaque opérateur ou fournisseur de contenu audiovisuel puisse définir sa propre stratégie de calcul du nombre de visualisations déjà effectuées.
Toutefois, en cas de changement de stratégie de calcul, seuls la façon de calculer le nombre de visualisations déjà effectuées et/ou le pas prédéterminé d'incrémentation ou de décrémentation doivent être modifiés sans qu'il soit nécessaire de modifier les opérations de gestion et de mise à jour du tableau. Les modifications à apporter au procédé de gestion sont donc limitées.
Les modes de réalisation de ce procédé peuvent comporter une ou plusieurs des caractéristiques suivantes :
- l'enregistrement dans une mémoire non volatile d'une licence de visualisation multiple, cette licence comportant au moins :
. le nombre de visualisations autorisées,
. le tableau contenant les cellules associées de façon biunivoque aux segments temporels du contenu audiovisuel,
. une redondance cryptographique, telle qu'une signature réalisée à l'aide d'une clé cryptographique, d'au moins une partie de chacune des informations précédentes,
- la vérification de la redondance cryptographique avant chaque nouvelle utilisation du lecteur pour visualiser le contenu audiovisuel, et
- l'interdiction de toute nouvelle visualisation dans le cas où la redondance cryptographique n'a pas pu être vérifiée correctement ;
- la licence comporte un identifiant T_Anti_Reuse de son utilisation précédente, - un processeur de sécurité équipé de moyens de stockage d'informations contenant :
. une clé cryptographique utilisable pour vérifier la redondance cryptographique de la licence et/ou une clé cryptographique permettant de réaliser la redondance cryptographique de la licence, et . un identifiant C_Anti_Reuse de l'utilisation précédente de la licence,
- après chaque utilisation du lecteur pour visualiser le contenu audiovisuel, les identifiants T_Anti_Reuse et C_Anti_Reuse sont modifiés pour que leurs nouvelles valeurs respectives correspondent, et - avant chaque nouvelle utilisation du lecteur pour visualiser le contenu audiovisuel, la visualisation du contenu audiovisuel est autorisée uniquement si la valeur de l'identifiant T_Anti_Reuse correspond à la valeur de l'identifiant C_Anti_Reuse ; - la sélection d'un algorithme de calcul du nombre de visualisations effectuées à exécuter lors du calcul du nombre de visualisations, en fonction du contenu de la licence, parmi un ensemble de plusieurs algorithmes de calcul différents susceptibles d'être exécutés, deux algorithmes de calcul étant considérés comme différents s'il existe un même contenu des cellules du tableau à partir duquel les deux algorithmes donnent des résultats différents ;
- la fourniture de plusieurs contenus audiovisuels différents et de plusieurs licences ayant chacune un identifiant de contenu audiovisuel qui la relie de façon biunivoque à un seul des contenus audiovisuels, et - lors du calcul du nombre de visualisations déjà effectuées, seules les informations contenues dans la licence contenant l'identifiant du contenu audiovisuel actuellement lu est utilisée pour le calcul du nombre de visualisations déjà effectuées ;
- la fourniture d'un processeur de sécurité apte à traiter des messages ECM (Entitlement Control Message) et EMM (Entitlement
Management Message),
- la transmission de la licence sous la forme d'un message EMM au processeur de sécurité, ce message EMM contenant un identifiant de l'unique processeur de sécurité auquel il est adressé ; - différents segments du contenu audiovisuel sont embrouillés avec différents mots de contrôle, le procédé comportant pour chaque segment :
- la transmission d'au moins un message ECM à un processeur de sécurité, chaque message ECM contenant :
. un cryptogramme du mot de contrôle nécessaire pour désembrouiller au moins une partie de ce segment du contenu audiovisuel, et
. un identifiant de la cellule du tableau qui doit être incrémentée ou décrémentée quand ce message ECM est utilisé pour obtenir le mot de contrôle nécessaire au désembrouillage de ce segment du contenu audiovisuel,
- l'incrémentation ou décrémentation du nombre contenu dans la cellule correspondante à l'identifiant de cellule contenue dans le message ECM,
- le déchiffrement, par le processeur de sécurité, du mot de contrôle contenu dans le message ECM transmis, et - la transmission du mot de contrôle déchiffré à un désembrouilleur pour désembrouiller au moins une partie du segment du contenu audiovisuel ;
- le calcul du nombre de visualisations déjà effectuées comporte :
- la détermination du nombre de cellules du tableau contenant un nombre qui a été incrémenté ou décrémenté depuis la dernière visualisation du contenu audiovisuel, et
- le calcul du nombre de visualisations déjà effectuées en fonction du résultat de cette détermination ;
- lors du calcul du nombre de visualisations déjà effectuées, le pas prédéterminé utilisé pour incrémenter ou décrémenter le nombre contenu dans la cellule associée à un segment décroît ou croît en fonction du nombre de fois où ce segment a déjà été visualisé.
Ces modes de réalisation du procédé présentent en outre les avantages suivants : - la conservation des informations nécessaires au calcul du nombre de visualisations déjà effectuées dans une licence signée rend la falsification de ces informations difficile,
- la comparaison des identifiants T_Anti_Reuse et C_Anti_Reuse empêche qu'une licence puisse être réinitialisée dans un état précédent, - la possibilité de sélectionner différents algorithmes de calcul du nombre de visualisations déjà effectuées permet d'utiliser différentes stratégies de contrôle du nombre de visualisations pour différents contenus audiovisuels,
- l'utilisation d'un identifiant de contenu audiovisuel dans chaque licence permet de gérer individuellement le calcul du nombre de visualisations pour chacun des contenus audiovisuels,
- la transmission de la licence sous la forme d'un message EMM limite les adaptations à apporter au processeur de sécurité pour qu'il puisse recevoir et traiter la licence,
- la présence d'un identifiant de la cellule du tableau qui doit être incrémenté ou décrémenté dans le message ECM contenant le cryptogramme du mot de contrôle simplifie grandement la gestion du tableau par le processeur de sécurité, - incrémenter le nombre de visualisations déjà effectuées en fonction du nombre de cellules du tableau qui ont été modifiées depuis la dernière visualisation du contenu audiovisuel permet de tenir compte de la proportion du contenu audiovisuel qui a été visualisé pour incrémenter ou décrémenter le nombre de visualisations déjà effectuées, et
- faire varier le pas d'incrément ou de décrément en fonction du nombre de fois où le segment a déjà été visualisé permet d'attribuer une importance différente à la première visualisation d'un segment par rapport aux visualisations suivantes de ce même segment. L'invention a également pour objet un processeur de sécurité contenant des instructions pour l'exécution du procédé de gestion ci-dessus lorsque ces instructions sont exécutées par un calculateur électronique.
Enfin, l'invention a également pour objet un terminal de lecture d'un contenu audiovisuel, ce terminal comportant : - un support d'enregistrement d'informations contenant le contenu audiovisuel numérique enregistré, ce contenu étant divisé en plusieurs segments temporels consécutifs et destinés à être lus automatiquement dans un ordre prescrit,
- un nombre entier de visualisations autorisées pour ce contenu audiovisuel,
- un lecteur électronique de contenus audiovisuels permettant notamment des sauts en arrière pour lire un segment précédent avant que la fin du contenu audiovisuel ne soit atteinte,
- le terminal étant apte : . à calculer le nombre de visualisations de ce contenu audiovisuel déjà effectuées, et
. à interdire toute nouvelle visualisation du contenu audiovisuel si le nombre de visualisations déjà effectuées est supérieur ou égal au nombre de visualisations autorisées et, dans le cas contraire, à autoriser une nouvelle visualisation du contenu audiovisuel dans son ensemble,
- le terminal comprend un tableau contenant autant de cellules que de segments temporels, chaque cellule étant associée de façon biunivoque à un segment respectif du contenu audiovisuel, chaque cellule étant apte à contenir un nombre, et
- le terminal est apte :
. lorsqu'un segment du contenu multimédia est lu par le lecteur électronique, à incrémenter ou à décrémenter d'un pas prédéterminé le nombre contenu dans la cellule associée à ce segment, et
. à calculer le nombre de visualisations déjà effectuées à partir des nombres enregistrés dans chacune des cellules de ce tableau.
L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif et faite en se référant aux dessins sur lesquels :
- la figure 1 est une illustration schématique d'un terminal de lecture de contenus audiovisuels numériques enregistrés,
- la figure 2 est une illustration schématique d'un contenu audiovisuel visualisable à l'aide du terminal de la figure 1 ,
- la figure 3 est une illustration schématique d'un ECM (Entitlement Control Message) enregistré avec le contenu audiovisuel de la figure 2,
- la figure 4 est une illustration schématique d'une licence utilisée dans le terminal de la figure 1 , - la figure 5 est une illustration de la structure d'un tableau contenu dans la licence de la figure 4,
- la figure 6 est une illustration d'une liste d'anti-rejeu contenue dans un processeur de sécurité du terminal de la figure 1 ,
- les figures 7A et 7B sont des organigrammes d'un procédé de gestion du nombre de visualisations du contenu audiovisuel mis en œuvre dans le terminal de la figure 1 ,
- la figure 8 est une illustration schématique de la structure d'un EMM-U (Entitlement Management Message à adresse Unique) généré lors de l'exécution du procédé de la figure 7, et - les figures 9 à 11 sont des organigrammes, respectivement, de trois algorithmes de calcul du nombre de visualisations déjà effectuées.
Dans ces figures, les mêmes références sont utilisées pour désigner les mêmes éléments. Dans la suite de cette description, les caractéristiques et fonctions bien connues de l'homme du métier ne sont pas décrites en détail.
La figure 1 représente un terminal 2 de lecture de contenu audiovisuel numérique. Ce terminal 2 est apte à commander l'affichage sur un écran 4 des contenus audiovisuels lus de manière à ce que ceux-ci puissent être visualisés par un usager. Par usager, on désigne ici un être humain.
L'écran 4 est, par exemple, typiquement un écran de télévision.
Le terminal 2 comprend un décodeur 6 raccordé à un support 8 d'enregistrement d'informations. Les contenus audiovisuels sont enregistrés sur ce support 8. Par exemple, ici, à titre d'illustration, deux contenus audiovisuels CANi et CAN2 ainsi que leurs licences respectives Li et L2 sont enregistrés dans le support 8. Les contenus CANi et CAN2 sont, par exemple, des contenus audiovisuels embrouillés à l'aide de mots de contrôle CW.
La structure d'un de ces contenus audiovisuels est illustrée sur la figure 2.
Le contenu audiovisuel est divisé en une multitude de segments temporels CAN_1 à CAN_N. Ces segments CAN_i se suivent dans un ordre prescrit. Par exemple, le segment CAN_1 correspond au premier segment qui doit être lu et le segment CAN_N correspond au dernier segment qui doit être lu. Ici, chaque segment CAN j est embrouillé à l'aide d'un seul mot de contrôle CW différent de celui utilisé pour embrouiller les segments précédents et les segments suivants. Ainsi, dans ce mode de réalisation particulier, chaque segment correspond à une cryptopériode.
A titre d'exemple, la durée d'une cryptopériode est généralement de 10 secondes.
Chaque segment ou cryptopériode CANJ est associé à un message
ECM (Entitlement Control Message) noté ECM_i. Le message ECM_i contient un cryptogramme CW* du mot de contrôle CW utilisé pour embrouiller le segment CAN_i. Les messages ECM_i sont enregistrés sur le support 8 en même temps que les segments CANj.
La structure de ces messages ECM_i est par exemple conforme à la norme UTE C90-007 « Système d'accès conditionnel pour systèmes de diffusion numérique » utilisée dans le domaine de la transmission des signaux multimédias embrouillés par l'intermédiaire de réseaux grande distance de transmission d'informations tel que, par exemple, des réseaux faisant intervenir des satellites.
Sur la figure 3, seules les portions de la structure du message ECM_i utiles pour la compréhension de la suite de la description sont représentées. Le message ECM_i comprend un champ SOID contenant à la fois un identifiant de l'opérateur ayant diffusé ce contenu audiovisuel ainsi qu'un identifiant du contexte cryptographique à appliquer. L'identifiant du contexte cryptographique à appliquer permet notamment à un processeur de sécurité d'identifier quelle est la ou quelles sont les clés cryptographiques à utiliser pour traiter ce message ECM.
Le message ECM_i comprend également :
- un champ CJd contenant un identifiant CJd d'une cellule d'un tableau,
- un champ CW* contenant le cryptogramme CW* d'un mot de contrôle CW,
- un champ CdA contenant des conditions d'accès CdA au contenu audiovisuel, et
- un champ ECM_R contenant une redondance cryptographique telle qu'un MAC (Message Authentication Code) ou une signature cryptographique de l'ECMJ portant sur une partie des informations contenues dans chacun des champs précédents de ce message ECMJ.
L'identifiant CJd établit une relation biunivoque entre ce message ECMJ et une cellule du tableau de la figure 5.
La structure des licences Li et L2 est, par exemple, conforme à la structure de licence représentée sur la figure 4. Plus précisément, chaque licence comprend les champs suivants :
- un champ SOID ayant le même contenu que le champ SOID des messages ECMJ associés au contenu audiovisuel correspondant à cette licence, - un champ UA contenant un identifiant unique UA d'un processeur de sécurité,
- un champ Contentjd contenant un identifiant Contentjd du contenu audiovisuel auquel correspond cette licence, - un champ LJd contenant un identifiant LJd de cette licence permettant notamment de distinguer cette licence d'une autre licence contenant exactement les mêmes identifiants SOID1 UA et Contentjd,
- un champ NVA contenant un nombre entier positif NVA correspondant au nombre de visualisations autorisées pour le contenu audiovisuel identifié par l'identifiant Contentjd,
- un champ NCV contenant un nombre entier NCV utilisé pour mémoriser le nombre de segments déjà visualisés lors de la précédente lecture du contenu audiovisuel associé à cette licence, - un champ T_Anti_Reuse contenant un identifiant T_Anti_Reuse de l'utilisation précédente de la licence, utilisé pour éviter qu'une même licence puisse être réutilisée plusieurs fois ; typiquement cet identifiant est un nombre dont la valeur croit strictement à chaque nouvelle utilisation de la licence,
- un champ Params contenant différents paramètres d'un algorithme de calcul du nombre de visualisations déjà effectuées,
- un champ Tab contenant le tableau de la figure 5, et
- un champ L_R contenant une redondance cryptographique L_R telle qu'un MAC ou une signature cryptographique portant sur au moins une partie des informations contenues dans chacun des champs précédents. A titre d'exemple, le champ Params contient des valeurs pour les paramètres suivants :
- C_Size, - S1,
- S2, et - Algojd.
L'intérêt de ces paramètres apparaîtra en regard de la description des figures 9 à 11.
La redondance cryptographique L-R est construite en mettant en œuvre un algorithme cryptographique et une clé cryptographique. La figure 5 représente schématiquement un exemple de structure possible pour le tableau Tab. Ici, ce tableau est formé de N cellules successives classées dans l'ordre allant de 1 à N. N est un nombre entier égal au nombre de segments contenus dans le contenu audiovisuel auquel est associée la licence. Chaque cellule est destinée à contenir un nombre codé sur un nombre de bits paramétrables à l'aide du paramètre C_Size contenu dans le champ Params de la licence.
Les valeurs 1 , 2, 3, ... , i, i+1 , ... ,N indiquées au-dessus de chacune de ces cellules représentent la valeur de l'identifiant C Id permettant d'identifier la cellule située juste en-dessous.
Le décodeur 6 comprend :
- un lecteur électronique 10 apte à lire et à écrire des informations sur le support 8, - un filtre 12 apte à orienter le contenu audiovisuel embrouillé vers un désembrouilleur et un décodeur 14 et à envoyer les messages ECM_i associés à ce contenu audiovisuel embrouillé vers une interface décodeur/carte 16,
- le désembrouilleur et décodeur 14. Le décodeur 6 comprend ici, à titre d'illustration uniquement, un récepteur 18 apte à recevoir par l'intermédiaire d'un réseau sans fil 20 de transmission d'informations des contenus audiovisuels embrouillés et les messages ECM associés à ce contenu audiovisuel. Par exemple, les contenus audiovisuels embrouillés ainsi que les messages ECM sont diffusés par un émetteur distant 24 vers une multitude de terminaux distants, tel que le terminal 2.
Le terminal 2 comprend également un processeur de sécurité 30 raccordé au décodeur 6. Ce processeur de sécurité 30 est conçu pour traiter des messages ECM et EMM (Entitlement Management Message) et effectuer les opérations de chiffrement et de déchiffrement nécessaires au fonctionnement du terminal 2.
A cet effet, le processeur 30 comporte :
- une interface 32 apte à coopérer avec l'interface 16 du décodeur pour recevoir de ce dernier des messages ECM et EMM, - un calculateur 34 apte à traiter les messages EMM et ECM reçus par l'intermédiaire de l'interface 32, - une mémoire non volatile 36 dans laquelle sont stockées, en outre, les différentes informations nécessaires aux opérations de chiffrement/déchiffrement, et
- une mémoire volatile 38 dans laquelle sont stockés des résultats temporaires de traitement.
Par exemple, le processeur 30 est un processeur de sécurité amovible telle qu'une carte à puce.
La mémoire 36 contient :
. un identifiant UA unique du processeur de sécurité permettant de distinguer le processeur 30 de l'ensemble des processeurs de sécurité susceptibles d'être utilisés dans le décodeur 6,
. trois algorithmes Algol , Algo2 et Algo3 différents permettant chacun de calculer le nombre de visualisations déjà effectuées.
Pour chaque identifiant de contexte cryptographique, la mémoire 36 contient aussi les informations suivantes :
- des titres d'accès TdA destinés à être comparés aux conditions d'accès CdA contenues dans un message ECM afin de déterminer si ce message ECM peut être ou non traité par le processeur 30,
- une liste CAR destinée à empêcher la réutilisation d'une licence, - des clés cryptographiques Kj permettant d'effectuer les opérations de chiffrement et de déchiffrement nécessaires au traitement des messages
ECM et EMM.
La figure 6 représente un exemple de structure possible pour la liste
CAR. Cette liste comporte, par exemple, une première colonne contenant les identifiants Contentjd et une seconde colonne comportant l'identifiant
C_Anti_Reuse associé à l'identifiant Contentjd. La liste CAR contient autant de lignes que de licences déjà lues par le lecteur 10.
La mémoire 36 comprend également un tableau Tablncrément destiné à être utilisé en conjonction avec l'algorithme Algo3. Le tableau Tablncrément est, par exemple, le suivant :
Figure imgf000015_0001
La première ligne X de ce tableau contient des entiers correspondants chacun à un nombre de fois où un segment a été visualisé. La seconde ligne Y associe à chacun de ces entiers un pas d'incrémentation. On remarquera que ce pas d'incrémentation est ici une fonction décroissante monotone du nombre de fois où un segment a déjà été lu. La ligne Z donne le nombre effectivement pris en compte par l'algorithme pour chaque nombre de visualisation d'un segment.
Enfin, le terminal 2 comporte une télécommande 40 permettant de commander par l'intermédiaire d'une liaison sans fil 42 le décodeur 6. Pour simplifier l'illustration, seules les touches suivantes de la télécommande 40 sont représentées :
- une touche 44 permettant de déclencher la lecture d'un contenu audiovisuel sélectionné parmi les différents contenus audiovisuels enregistrés sur le support 8, - une touche 45 permettant d'arrêter la lecture d'un contenu audiovisuel afin, par exemple, de passer à la lecture d'un autre contenu audiovisuel ou tout simplement d'arrêter toute lecture,
- une touche 46 permettant de faire des sauts en arrière, c'est-à- dire de passer directement du segment actuellement lu à un segment précédent sans qu'il soit pour cela nécessaire de lire les segments intermédiaires entre le segment actuellement lu et le segment précédent, et
- une touche 47 permettant d'effectuer des sauts en avant, c'est-à- dire permettant de passer du segment actuellement lu directement à un segment suivant sans avoir à lire les segments intermédiaires situés entre le segment actuellement lu et le segment suivant.
Le fonctionnement du terminal 2 va maintenant être décrit en regard du procédé de la figure 7. Initialement, lors d'une étape 70, l'émetteur 24 envoie au terminal 2 un contenu audiovisuel embrouillé et les messages ECM correspondants par l'intermédiaire du réseau 20. Lors d'une étape 72, le terminal 2 enregistre ce contenu audiovisuel embrouillé et les messages ECM correspondants sur le support 8 de manière à obtenir, par exemple, le contenu audiovisuel enregistré CAN-i. Ensuite, lors d'une étape 74, l'émetteur 24 transmet par l'intermédiaire du réseau 20 ou par un autre mode de communication, la licence Li au terminal 2. Il s'agit ici de la version initiale de la licence L-), contenant notamment la valeur initiale du nombre NVA de visualisations autorisées de ce contenu. De préférence, cette valeur initiale permet au moins deux visualisations complètes du contenu. Par exemple, lors de l'étape 74, cette licence est transmise dans un message EMM-U dont la structure est représentée sur la figure 8. Plus précisément, la structure de ce message EMM-U est conforme à la norme UTE C90-007 (déjà citée) du domaine de la transmission de signaux multimédias embrouillés. Sur la figure 8, seuls les éléments nécessaires à la compréhension de la suite de la description sont représentés.
Plus précisément, le message EMMJJ comprend les mêmes champs que ceux déjà décrits en regard de la figure 4, de sorte que leur description ne sera pas reprise ici en détail. Lors d'une étape 76, seul le terminal 2 dont le processeur de sécurité correspond à l'identifiant UA contenu dans le message EMM-U enregistre la licence reçue sur le support 8.
On comprend que la licence peut être envoyée avant ou en même temps que le contenu, de même pour son enregistrement sur le support 8. Les étapes 70 et 74 peuvent ainsi être simultanées ou permutées, ainsi que les étapes 72 et
76, sous réserve que les étapes 72 et 76 restent postérieures respectivement aux étapes 70 et 74.
Plus tard, l'utilisateur du terminal 2 déclenche la lecture d'un des contenus audiovisuels enregistrés sur le support 8 à l'aide de la télécommande 40, par exemple. On suppose ici que la lecture du contenu CANi est déclenchée. Une phase 80, dite d'ouverture de session, débute alors.
Initialement, lors d'une étape 82, si plusieurs licences existent pour le même contenu audiovisuel, l'usager sélectionne la licence à utiliser pour visualiser ce contenu. Ici, la licence Li est automatiquement sélectionnée puisque seule cette licence est associée au contenu CAN1.
Ensuite, lors d'une étape 84, le terminal envoie la licence sélectionnée au processeur 30 par l'intermédiaire des interfaces 16 et 32. A cet effet, le décodeur transmet le message EMM-U représentant la licence l_i , ce message EMM-U étant identique à celui de la figure 8.
Lors d'une étape 86, le processeur 30 vérifie que l'identifiant UA contenu dans le message EMM-U reçu correspond à l'identifiant UA enregistré dans la mémoire 36. Par exemple, lors de l'étape 86, le processeur 30 vérifie si ces identifiants UA sont identiques.
Dans l'affirmative, il procède à une étape 88 lors de laquelle le processeur 30 vérifie l'authenticité de la licence reçue à l'aide de la redondance cryptographique L_R. Plus précisément, lors de l'étape 88, le processeur 30 procède à partir du contenu des champs de la licence reçue aux opérations similaires à celles précédemment effectuées pour obtenir la redondance L_R. En particulier, lors de l'étape 88, au moins une des opérations implique un chiffrement ou un déchiffrement avec une clé cryptographique. Par exemple, la clé cryptographique utilisée dans la redondance cryptographique est identifiée grâce à l'identifiant de contexte contenu dans le champ SOID du message EMM- U. Si le traitement de la redondance cryptographique par le processeur 30 conduit à un résultat positif, par exemple si la redondance construite par le processeur 30 est identique à la redondance contenue dans le champ L_R, alors la licence est considérée comme authentique et intègre et le processeur procède à une étape 90.
Lors de l'étape 90, le processeur 30 recherche l'identifiant C_Anti_Reuse associé à l'identifiant Contentjd contenu dans la licence reçue. Si aucun identifiant de la liste CAR correspond à l'identifiant Contentjd reçu, alors le processeur 30 ajoute, lors d'une étape 92, l'identifiant Contentjd reçu à la liste CAR et associe cet identifiant à un identifiant C_Anti_Reuse de valeur initialisée à zéro.
Dans le cas contraire, lors d'une étape 94, le processeur 30 compare la valeur de l'identifiant T_Anti_Reuse de la licence reçue à la valeur de l'identifiant C_Anti_Reuse associé à l'identifiant Contentjd dans la liste CAR. Si les identifiants correspondent, par exemple si les valeurs sont identiques, alors le processeur 30, lors d'une étape 96, vérifie que le nombre NVA contenu dans la licence reçue est strictement supérieur à zéro. Dans l'affirmative, lors d'une étape 98, le processeur 30 enregistre dans sa mémoire 38 les paramètres contenus dans le champ Params, les nombres NVA, NCV et le tableau Tab contenus dans la licence reçue.
Si l'une des vérifications effectuées lors des étapes 86, 88, 94 ou 96 échoue, le processeur 30 procède à une étape 100 d'arrêt du traitement de la licence reçue et d'arrêt du déchiffrement du contenu audiovisuel embrouillé.
A l'issue de l'étape 98, la phase 80 s'achève et une phase 104 de lecture du contenu audiovisuel débute automatiquement.
Au début de la phase 104, lors d'une étape 106, le premier segment CAN_1 du contenu audiovisuel CANi est lu et transmis au désembrouilleur 14. En parallèle, lors d'une étape 108, le message ECIVM associé est transmis au processeur 30.
Ensuite, lors d'une étape 110, les conditions d'accès CdA contenues dans le message ECM_1 sont comparées aux titres d'accès TdA contenus dans la mémoire 36. Dans le cas où les conditions d'accès correspondent aux titres d'accès TdA, alors le procédé se poursuit par une étape 112 d'extraction de l'identifiant C_ld contenu dans le message ECIVM reçu.
Ensuite, lors d'une étape 114, le processeur 30 incrémente d'un pas spécifié la cellule du tableau Tab reçu correspondant à l'identifiant CJd extrait.
Le pas spécifié dépend ici du paramètre Algojd. L'étape 114 est exécutée uniquement si la taille maximale de la cellule spécifiée par l'identifiant CJd n'a pas déjà été atteinte.
Lors d'une étape 116, le processeur 30 incrémente également du pas spécifié le nombre NCV.
Ensuite, lors d'une étape 120, le processeur détermine si une nouvelle visualisation du contenu audiovisuel a été effectuée. Cette détermination est effectuée en exécutant l'algorithme correspondant à l'identifiant Algojd. Des algorithmes correspondants respectivement aux identifiants Algol , Algo2 et
Algo3 sont décrits, respectivement, en regard des figures 9 à 11.
Dans l'affirmative, il procède à une étape 122, lors de laquelle le nombre NVA est incrémente et, si nécessaire, le tableau Tab et le nombre NVC sont mis à jour.
Lors d'une étape 124, le processeur 30 vérifie que le nombre NVA est strictement supérieur à zéro. Si le nombre NVA est toujours strictement supérieur à zéro, alors lors d'une étape 126, le processeur procède à l'extraction du cryptogramme CW* contenu dans le message ECIVM reçu puis déchiffre ce cryptogramme avec une clé de déchiffrement enregistrée dans le contexte associé au contenu du champ SOID. Ensuite, lors d'une étape 128, le mot de contrôle CW déchiffré est transmis au désembrouilleur 14.
Si lors de l'étape 1 10, les conditions d'accès reçues ne correspondent pas aux titres d'accès enregistrés, ou si lors de l'étape 124, le nombre NVA est inférieur ou égal à zéro, alors le processeur 30 procède immédiatement à une étape 130 d'arrêt du traitement des messages ECMj reçus. Par conséquent, aucun nouveau mot de contrôle CW n'est fourni au désembrouilleur ce qui empêche le désembrouillage correct du contenu audiovisuel enregistré sur le support 8.
Si lors de l'étape 120, il a été déterminé qu'aucune nouvelle visualisation n'a été effectuée, alors le procédé passe de l'étape 120 directement à l'étape 126.
A l'issue de l'étape 128, lors d'une étape 132, le désembrouilleur 14 désembrouille le segment CAN_1 en utilisant le mot de contrôle CW reçu du processeur 30. Ensuite, lors d'une étape 134, le segment désembrouille est affiché en clair sur l'écran 4. A l'issue de l'étape 134, le procédé retourne automatiquement aux étapes 106 et 108 pour lire le segment suivant du contenu audiovisuel CAN-i .
En l'absence d'utilisation de sauts en avant ou en arrière déclenchés à l'aide des touches 46 et 47, les étapes 106 à 134 sont réitérées pour chacun des segments CANj du contenu CANi dans l'ordre de ces segments. Lors de la phase 104, l'usager peut également utiliser les touches 46 et
47 pour provoquer des sauts en arrière ou en avant. Dans ces conditions, les segments du contenu CANi ne sont plus lus dans l'ordre prescrit. Toutefois, les étapes 106 à 134 continuent de s'appliquer à chacun des segments lus. En d'autres termes, l'usage des touches 46 et 47 ne met pas fin à la session de lecture en cours.
Après avoir visualisé le contenu audiovisuel, l'usager peut décider de mettre fin à cette visualisation, par exemple, en enfonçant la touche 45. A ce moment, le processeur 30 procède à une phase 140 de clôture de la session en cours. Au début de la phase 140, lors d'une étape 142, le processeur 30 incrémente le nombre constituant l'identifiant C_Anti_Reuse associé à l'identifiant Contentjd dans la liste CAR. Ensuite, lors d'une étape 144, le processeur génère une licence réactualisée, c'est-à-dire que la licence réactualisée contient les nouvelles valeurs des nombres NVA, NCV, T_Anti_Reuse, et Tab, ainsi qu'une valeur L__R reconstituée.
La valeur de l'identifiant T__Anti_Reuse de la licence réactualisée est identique à celle de l'identifiant C_Anti_Reuse associé à l'identifiant Contentjd dans la liste CAR. La redondance L_R est construite à partir des nouvelles valeurs de la licence et en utilisant la clé cryptographique adéquate enregistrée dans le contexte associé à l'identifiant SOID.
Ensuite, lors d'une étape 146, le processeur 30 transmet la licence Li réactualisée au décodeur 6 qui l'enregistre à la place de la licence Li précédemment enregistrée sur le support 8.
On décrit maintenant trois exemples d'algorithmes de calcul du nombre de visualisations tels qu'ils peuvent être mis en œuvre à l'étape 120. Chaque algorithme est désigné par une valeur particulière du paramètre Algojd contenu dans la licence La figure 9 illustre l'algorithme Algol de calcul du nombre de visualisations déjà effectuées. L'algorithme Algol utilise deux paramètres contenus dans la licence, à savoir le seuil Si et le paramètre C_Size. Pour l'exécution de l'algorithme Algol , le paramètre C_Size est fixé à un bit.
Lors de l'exécution de l'algorithme Algol , lors d'une étape 150, le processeur 30 détecte une discontinuité dans la lecture du contenu audiovisuel. Par exemple, cette discontinuité peut être détectée en réponse à l'enfoncement d'une des touches 46 ou 47. La discontinuité peut être également détectée en observant une discontinuité dans les valeurs des identifiants CJd contenus dans les ECMJ reçus. Ensuite, lorsque cette discontinuité a été détectée, lors d'une étape 152, le processeur 30 considère qu'une nouvelle visualisation du contenu audiovisuel a été effectuée si le nombre de cellules du tableau Tab contenant un « 1 » est supérieur ou égal au seuil S1. Dans l'affirmative, lors de l'étape 122, le nombre NVA est décrémenté de un et toutes les cellules du tableau Tab sont réinitialisées à la valeur zéro.
L'étape 152 est également exécutée automatiquement lorsque la fin du dernier segment du contenu audiovisuel est atteinte. L'algorithme Algol permet la visualisation répétée d'une partie restreinte par le seuil Si du contenu mais limite le nombre de visualisations dès lors que la partie du contenu visualisée est plus importante.
La figure 10 illustre l'algorithme Algo2 de calcul du nombre de visualisations déjà effectuées. Cet algorithme Algo2 utilise les paramètres C_Size, Si et S2 contenus dans la licence. Ici, le paramètre C_Size est égal à un bit.
Lors d'une étape 160, par exemple identique à l'étape 150, une discontinuité dans la lecture du contenu audiovisuel est détectée. En réponse, lors d'une étape 162, il est déterminé qu'une nouvelle visualisation a été effectuée si le nombre de cellules du tableau Tab contenant un « 1 » est supérieur au seuil Si ou si le nombre NCV est supérieur ou égal au seuil S2.
Dans le cas où il est déterminé qu'une nouvelle visualisation a été effectuée ou à la fin de la lecture du dernier segment, lors de l'étape 122, le nombre NVA est décrémenté de un et toutes les cellules du tableau Tab ainsi que la valeur du nombre NCV sont réinitialisées à la valeur zéro.
L'algorithme Algo2 se différencie de Algol en ce qu'il limite la visualisation d'une partie restreinte du contenu, par action du seuil S2.
La figure 11 illustre l'algorithme Algo3. L'algorithme Algo3 utilise les paramètres C_Size et S2 de la licence reçue. De plus, l'identifiant de l'algorithme Algo3 indique au processeur 30 que le pas d'incrément utilisé lors de l'étape 116 est déterminé à partir du tableau Tablncrément.
Ensuite, lors d'une étape 170, le processeur 30 détecte une discontinuité dans la lecture du contenu audiovisuel. En réponse ou à la fin de la lecture du dernier segment, lors d'une étape 172, il est déterminé qu'une nouvelle visualisation a été effectuée si le nombre NCV est supérieur au seuil S2. Dans l'affirmative, lors de l'étape 122, le nombre NVA est décrémenté de un et le nombre NCV ainsi que toutes les cellules du tableau Tab sont réinitialisés à zéro. On remarquera que dans ce dernier mode de réalisation, le nombre NCV est incrémenté de un lorsqu'un segment est visualisé pour la première fois. Par contre, lorsque ce même segment est visualisé une seconde fois, le nombre NCV n'est incrémenté que de 0,5. Puis, si ce segment est encore visualisé d'autres fois, l'incrément utilisé lors de l'étape 116 est encore plus petit. Ainsi, par ce biais, on affecte une importance moins grande aux visualisations ultérieures d'un même segment qu'à la première visualisation.
De nombreux autres modes de réalisation sont possibles. Par exemple, la licence peut être transmise de l'émetteur au décodeur, puis du décodeur au processeur de sécurité en utilisant un autre message qu'un message EMM-U. Par exemple, toute structure signée de données peut être utilisée.
Le processeur de sécurité 30 a été ici décrit comme étant un processeur amovible. En variante, le processeur 30 est intégré au décodeur 6 et fixé de façon permanente à ce dernier.
En variante, la licence ne contient pas de champ L_R et n'est donc pas protégée par une signature.
Dans le cas où il n'existerait qu'une seule licence par contenu audiovisuel, le champ LJd peut être omis.
Dans le cas où il existe plusieurs licences possibles pour un même contenu audiovisuel, la sélection de la licence à utiliser peut être automatique. Par exemple, la licence la plus vieille peut être utilisée en priorité.
Ici, chaque segment correspond à une cryptopériode. En variante, un segment correspond à plusieurs cryptopériodes successives. Dans ce cas, plusieurs messages ECMj comporteront le même identifiant CJd.
Dans un autre mode de réalisation, les cellules du tableau Tab peuvent être décrémentées au lieu d'être incrémentées.
Dans des modes de réalisation où le tableau Tab ne serait jamais réinitialisé, le champ NCV peut être omis.
La licence peut également être commune à plusieurs contenus audiovisuels enregistrés sur le support 8. Dans ce cas, l'identifiant Contentjd identifie non pas un seul contenu audiovisuel, mais un groupe de contenus audiovisuels susceptibles d'être visualisés à l'aide du terminal 2.
Certaines étapes du procédé de la figure 4 peuvent être permutées. Par exemple, l'étape 110 peut être effectuée après l'étape 124. Ici, le contrôle du nombre de visualisations déjà effectuées est réalisé après la lecture de chaque segment. En variante, ce contrôle peut être réalisé uniquement à la fin de la session de lecture. Ainsi, dans ce mode de réalisation, rien n'empêche un usager de visualiser autant de fois qu'il le souhaite un contenu audiovisuel au cours d'une seule et même session. Par contre, le nombre de sessions sera limité.
Dans une autre variante, le pas d'incrémentation utilisé par l'algorithme peut être fourni par un paramètre du message ECM pour tenir compte de l'intérêt variable d'une partie ou l'autre du contenu. Le support 8 peut être un support amovible tel que, par exemple, un
DVD-RW (Digital Video Disc-Rewritable) ou un CD-RW (Compact Disc- Rewritable). Il peut être un support amovible non ré-inscriptble (DVD-R, CD-R), dans ce cas la licence est stockée dans une mémoire non volatile du lecteur électronique. Ce qui a été décrit ici dans le cas de contenus audiovisuels peut également s'appliquer à des contenus audiophoniques sans vidéo.
Ce qui a été décrit ici dans le cas d'affichage d'un contenu audiovisuel peut également s'appliquer à la redistribution contrôlée d'un tel contenu dans un réseau local ou domestique.

Claims

REVENDICATIONS
1. Procédé de gestion du nombre de visualisations d'un contenu audiovisuel, ce procédé comportant : - la fourniture (72) d'un contenu audiovisuel numérique enregistré sur un support d'enregistrement d'informations, ce contenu étant divisé en plusieurs segments temporels consécutifs et destinés à être lus automatiquement dans un ordre prescrit,
- la fourniture (74) d'un nombre de visualisations autorisées de ce contenu audiovisuel,
- la lecture (106) du contenu audiovisuel enregistré, à l'aide d'un lecteur électronique, le lecteur électronique permettant notamment des sauts en arrière pour lire un segment précédent avant que la fin du contenu audiovisuel ne soit atteinte, - le calcul (120, 122) du nombre de visualisations du contenu audiovisuel déjà effectuées, et
- l'interdiction (130) de toute nouvelle visualisation du contenu audiovisuel si le nombre de visualisations déjà effectuées est supérieur ou égal au nombre de visualisations autorisées et, dans le cas contraire, l'autorisation d'une nouvelle visualisation du contenu audiovisuel, caractérisé en ce que le procédé comporte :
- la fourniture (84) d'un tableau contenant autant de cellules que de segments temporels, chaque cellule étant associée de façon biunivoque à un segment respectif du contenu audiovisuel, chaque cellule étant apte à contenir un nombre,
- lorsqu'un segment du contenu audiovisuel est lu par le lecteur électronique, l'incrémentation (114) ou la décrémentation d'un pas prédéterminé du nombre contenu dans la cellule associée à ce segment, et
- le calcul (120 ; 152 ; 162 ; 172) du nombre de visualisations déjà effectuées réalisé à partir des nombres enregistrés dans chacune des cellules du tableau.
2. Procédé selon la revendication 1 , dans lequel le procédé comporte : - l'enregistrement (76) dans une mémoire non volatile d'une licence de visualisation multiple, cette licence comportant au moins :
. le nombre de visualisations autorisées,
. le tableau contenant les cellules associées de façon biunivoque aux segments temporels du contenu audiovisuel,
. une redondance cryptographique réalisée à l'aide d'une clé cryptographique et d'au moins une partie de chacune des informations précédentes,
- la vérification (88) de la redondance cryptographiquee avant chaque nouvelle utilisation du lecteur pour visualiser le contenu audiovisuel, et
- l'interdiction (100) de toute nouvelle visualisation dans le cas où la redondance cryptographique n'a pas pu être vérifiée correctement.
3. Procédé selon la revendication 2, dans lequel :
- la licence comporte un identifiant T_Anti_Reuse de son utilisation précédente,
- un processeur (30) de sécurité équipé de moyens de stockage d'informations contenant :
. une clé cryptographique utilisable pour vérifier la redondance cryptographique de la licence et/ou une clé cryptographique permettant de réaliser la redondance cryptographique de la licence, et
. un identifiant C_Anti_Reuse de l'utilisation précédente de la licence,
- après chaque utilisation du lecteur pour visualiser le contenu audiovisuel, les identifiants T_Anti_Reuse et C_Anti_Reuse sont modifiés (142, 144) pour que leurs nouvelles valeurs respectives correspondent, et
- avant chaque nouvelle utilisation du lecteur pour visualiser le contenu audiovisuel, la visualisation du contenu audiovisuel est autorisée (94) uniquement si la valeur de l'identifiant T_Anti_Reuse correspond à la valeur de l'identifiant C_Anti_Reuse.
4. Procédé selon l'une quelconque des revendications précédentes, dans lequel le procédé comporte la sélection (120) d'un algorithme de calcul du nombre de visualisations effectuées à exécuter lors du calcul du nombre de visualisations, en fonction du contenu de la licence, parmi un ensemble de plusieurs algorithmes de calcul différents susceptibles d'être exécutés, deux algorithmes de calcul étant considérés comme différents s'il existe un même contenu des cellules du tableau à partir duquel les deux algorithmes donnent des résultats différents.
5. Procédé selon l'une quelconque des revendications précédentes, dans lequel le procédé comporte :
- la fourniture de plusieurs contenus audiovisuels différents et de plusieurs licences ayant chacune un identifiant de contenu audiovisuel qui la relie de façon biunivoque à un seul des contenus audiovisuels, et - lors du calcul du nombre de visualisations déjà effectuées, seules les informations contenues dans la licence contenant l'identifiant du contenu audiovisuel actuellement lu est utilisée pour le calcul du nombre de visualisations déjà effectuées.
6. Procédé selon l'une quelconque des revendications précédentes, dans lequel le procédé comporte :
- la fourniture d'un processeur de sécurité apte à traiter des messages ECM (Entitlement Control Message) et EMM (Entitlement Management Message),
- la transmission (84) de la licence sous la forme d'un message EMM au processeur de sécurité, ce message EMM contenant un identifiant de l'unique processeur de sécurité auquel il est adressé.
7. Procédé selon l'une quelconque des revendications précédentes, dans lequel différents segments du contenu audiovisuel sont embrouillés avec différents mots de contrôle, le procédé comportant pour chaque segment : - la transmission (108) d'au moins un message ECM à un processeur de sécurité, chaque message ECM contenant :
. un cryptogramme du mot de contrôle nécessaire pour désembrouiller au moins une partie de ce segment du contenu audiovisuel, et
. un identifiant (CJd) de la cellule du tableau qui doit être incrémentée ou décrémentée quand ce message ECM est utilisé pour obtenir le mot de contrôle nécessaire au désembrouillage de ce segment du contenu audiovisuel, - l'incrémentation (114) ou décrémentation du nombre contenu dans la cellule correspondante à l'identifiant de cellule contenue dans le message ECM,
- le déchiffrement (126), par le processeur de sécurité, du mot de contrôle contenu dans le message ECM transmis, et
- la transmission (128) du mot de contrôle déchiffré à un désembrouilleur pour désembrouiller au moins une partie du segment du contenu audiovisuel.
8. Procédé selon l'une quelconque des revendications précédentes, dans lequel le calcul du nombre de visualisations déjà effectuées comporte :
- la détermination (152 ; 162) du nombre de cellules du tableau contenant un nombre qui a été incrémenté ou décrémenté depuis la dernière visualisation du contenu audiovisuel, et
- le calcul (122) du nombre de visualisations déjà effectuées en fonction du résultat de cette détermination.
9. Procédé selon l'une quelconque des revendications précédentes, dans lequel, lors du calcul du nombre de visualisations déjà effectuées, le pas prédéterminé utilisé pour incrémenter (114) ou décrémenter le nombre contenu dans la cellule associée à un segment décroît ou croît en fonction du nombre de fois où ce segment a déjà été visualisé.
10. Processeur de sécurité, caractérisé en ce qu'il comporte des instructions pour l'exécution d'un procédé conforme à l'une quelconque des revendications précédentes, lorsque ces instructions sont exécutées par un calculateur électronique (34).
11. Terminal de lecture d'un contenu audiovisuel comportant :
- un support (8) d'enregistrement d'informations contenant le contenu audiovisuel numérique enregistré, ce contenu étant divisé en plusieurs segments temporels consécutifs et destinés à être lus automatiquement dans un ordre prescrit, - un nombre entier (NVA) de visualisations autorisées pour ce contenu audiovisuel, - un lecteur électronique (10) de contenus audiovisuels permettant notamment des sauts en arrière pour lire un segment précédent avant que la fin du contenu audiovisuel ne soit atteinte,
- le terminal étant apte : . à calculer le nombre de visualisations de ce contenu audiovisuel déjà effectuées, et
. à interdire toute nouvelle visualisation du contenu audiovisuel si le nombre de visualisations déjà effectuées est supérieur ou égal au nombre de visualisations autorisées et, dans le cas contraire, à autoriser une nouvelle visualisation du contenu audiovisuel, caractérisé en ce que le terminal comprend un tableau (figure 5) contenant autant de cellules que de segments temporels, chaque cellule étant associée de façon biunivoque à un segment respectif du contenu audiovisuel, chaque cellule étant apte à contenir un nombre, et en ce que le terminal est apte : - lorsqu'un segment du contenu multimédia est lu par le lecteur électronique, à incrémenter ou à décrémenter d'un pas prédéterminé le nombre contenu dans la cellule associée à ce segment, et
- à calculer le nombre de visualisations déjà effectuées à partir des nombres enregistrés dans chacune des cellules de ce tableau.
PCT/FR2007/002137 2006-12-21 2007-12-20 Procede de gestion du nombre de visualisations, processeur de securite et terminal pour ce procede Ceased WO2008096066A2 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN2007800469116A CN101563920B (zh) 2006-12-21 2007-12-20 用于管理显示的次数的方法、用于所述方法的安全处理器和终端
PL07872422T PL2098073T3 (pl) 2006-12-21 2007-12-20 Sposób zarządzania liczbą wyświetleń, procesor bezpieczeństwa i terminal dla tego sposobu
ES07872422T ES2753848T3 (es) 2006-12-21 2007-12-20 Procedimiento de gestión del número de visualizaciones, procesador de seguridad y terminal para este procedimiento
US12/520,339 US20090316896A1 (en) 2006-12-21 2007-12-20 Method for managing the number of visualizations, security processor and terminal for said method
EP07872422.6A EP2098073B1 (fr) 2006-12-21 2007-12-20 Procédé de gestion du nombre de visualisations, processeur de securité et terminal pour ce procédé
KR1020097012997A KR101378487B1 (ko) 2006-12-21 2007-12-20 시각화의 수를 관리하기 위한 방법, 보안 프로세서, 및 상기 방법을 위한 단말기

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0611194A FR2910671B1 (fr) 2006-12-21 2006-12-21 Procede de gestion du nombre de visualisations,processeur de securite et terminal pour ce procede
FR0611194 2006-12-21

Publications (2)

Publication Number Publication Date
WO2008096066A2 true WO2008096066A2 (fr) 2008-08-14
WO2008096066A3 WO2008096066A3 (fr) 2009-03-05

Family

ID=38308610

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/002137 Ceased WO2008096066A2 (fr) 2006-12-21 2007-12-20 Procede de gestion du nombre de visualisations, processeur de securite et terminal pour ce procede

Country Status (9)

Country Link
US (1) US20090316896A1 (fr)
EP (1) EP2098073B1 (fr)
KR (1) KR101378487B1 (fr)
CN (1) CN101563920B (fr)
ES (1) ES2753848T3 (fr)
FR (1) FR2910671B1 (fr)
PL (1) PL2098073T3 (fr)
TW (1) TWI448979B (fr)
WO (1) WO2008096066A2 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248918B (zh) * 2013-05-16 2015-12-02 浙江科技学院 集成基本数据、正常数据加扰的dvb条件发送装置
CN104850605A (zh) * 2015-05-05 2015-08-19 天脉聚源(北京)教育科技有限公司 一种快进后笔记文件中笔记的显示方法及装置
FR3078223A1 (fr) * 2018-02-16 2019-08-23 Orange Reception de flux representatif d'un contenu multimedia
CN116304189A (zh) * 2022-12-21 2023-06-23 富联裕展科技(深圳)有限公司 一种excel文件中图像提取方法和电子设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7562392B1 (en) * 1999-05-19 2009-07-14 Digimarc Corporation Methods of interacting with audio and ambient music
US6564253B1 (en) * 1999-05-07 2003-05-13 Recording Industry Association Of America Content authorization system over networks including searching and reporting for unauthorized content locations
EP1113609A4 (fr) * 1999-05-19 2008-08-06 Sony Corp Appareil et procede de diffusion, appareil et procede de reception, et support
JP4880158B2 (ja) * 1999-12-22 2012-02-22 イルデト アイントホーフェン ベー フェー データコンテンツへのアクセスを制御する条件付きアクセスシステム
EP1182874A1 (fr) * 2000-08-24 2002-02-27 Canal+ Technologies Société Anonyme Système de protection de contenu numérique
TW540245B (en) * 2000-10-26 2003-07-01 Gen Instrument Corp Enforcement of content rights and conditions for multimedia content
US7870592B2 (en) * 2000-12-14 2011-01-11 Intertainer, Inc. Method for interactive video content programming
US8055899B2 (en) * 2000-12-18 2011-11-08 Digimarc Corporation Systems and methods using digital watermarking and identifier extraction to provide promotional opportunities
US7415440B1 (en) * 2002-02-22 2008-08-19 Entriq, Inc. Method and system to provide secure key selection using a secure device in a watercrypting environment
FR2837055B1 (fr) * 2002-03-06 2004-06-11 Viaccess Sa Protocole de controle d'acces, par plages de durees specifiques, a des informations embrouillees
JP2005537708A (ja) * 2002-08-21 2005-12-08 ディズニー エンタープライゼス インコーポレイテッド デジタルホームムービーライブラリ
JP3737798B2 (ja) * 2002-11-25 2006-01-25 株式会社東芝 送信装置、受信装置及び受信方法
JP4430882B2 (ja) * 2003-03-19 2010-03-10 富士通株式会社 複合メディアコンテンツの変換装置及び変換方法並びに複合メディアコンテンツ変換プログラム
CN1755727A (zh) * 2004-09-27 2006-04-05 清华同方股份有限公司 一种卡拉ok点播系统按播放流付费的方法及其管理系统

Also Published As

Publication number Publication date
EP2098073B1 (fr) 2019-08-14
CN101563920B (zh) 2012-05-02
KR20090090356A (ko) 2009-08-25
CN101563920A (zh) 2009-10-21
PL2098073T3 (pl) 2020-03-31
US20090316896A1 (en) 2009-12-24
WO2008096066A3 (fr) 2009-03-05
FR2910671A1 (fr) 2008-06-27
FR2910671B1 (fr) 2009-04-03
TW200834441A (en) 2008-08-16
KR101378487B1 (ko) 2014-03-27
ES2753848T3 (es) 2020-04-14
TWI448979B (zh) 2014-08-11
EP2098073A2 (fr) 2009-09-09

Similar Documents

Publication Publication Date Title
EP1525748B1 (fr) Procede et module electronique de transmission securisee de donnees
EP3008905B1 (fr) Procede d'identification de terminal dans un systeme de fourniture de contenus multimedia
EP2060117B1 (fr) Processeur de securite et procede et support d'enregistrement pour configurer le comportement de ce processeur
EP1261969A1 (fr) Dispositifs de lecture, d'enregistrement et de restitution de donnees numeriques dans un systeme de protection contre la copie desdites donnees
EP1305948A1 (fr) Methode de distribution securisee de donnees numeriques representatives d'un contenu multimedia
EP1497986B1 (fr) Methode de gestion des droits d'un contenu encrypte et stocke sur un enregistreur numerique personnel
EP1495637B1 (fr) Methode de stockage securise de donnees encryptees
EP2103123B1 (fr) Procédé de controle d'acces a un contenu numerique embrouille
EP2633677B1 (fr) Procede de reception d'un contenu multimedia embrouille a l'aide de mots de controle et captcha
FR2954875A1 (fr) Procedes de dechiffrement, de transmission et de reception de mots de controle, support d'enregistrement et serveur pour ces procedes
EP3380983B1 (fr) Procédé d'identification de processeurs de sécurité
EP2098073B1 (fr) Procédé de gestion du nombre de visualisations, processeur de securité et terminal pour ce procédé
WO2011138333A1 (fr) Procedes de dechiffrement, de transmission et de reception de mots de controle, support d'enregistrement et serveur de mots de controle pour la mise en oeuvre de ces procedes
EP1900211B1 (fr) Methode et dispositif de controle d'acces a des donnees chiffrees
FR2888355A1 (fr) Procede de controle de droits de consommation du type "n consommations autorisees" d'un contenu numerique audio et/ou video et dispositif mettant en oeuvre ce procede
WO2007104876A1 (fr) Procédé pour la distribution sécurisée de séquences audiovisuelles, décodeur et système pour la mise en œuvre de ce procédé
WO2015018775A1 (fr) Procede de fourniture d'une licence dans un systeme de fourniture de contenus multimedias
EP2245854A1 (fr) Procédé d'affichage de contenus multimédia à perturbations variables en fonction de droits locaux de récepteurs/décodeurs
WO2003019899A2 (fr) Reseau numerique local, procedes d'installation de nouveaux dispositifs et procedes de diffusion et de reception de donnees dans un tel reseau
EP2279610B1 (fr) Procedes de reception et d'emission d'un contenu multimedia, recepteur, emetteur et support d'enregistrement et processeur de securite pour ce procede
EP2223524B1 (fr) Procédé de conditionnement et de contrôle d'accès à des contenus en codage hiérarchique, processeur et émetteur pour ce procédé
EP2326035B1 (fr) Procédé de traitement par un module de sécurité de messages de contrôle d'accès à un contenu et module de sécurité associé
EP2334007A1 (fr) Procédé de déchiffrement de données par un équipement utilisateur comportant un terminal et un module de sécurité
EP1438855A2 (fr) Procede de verification de recepteurs de television a controle d'acces et recepteur correspondant
EP2061243A1 (fr) Procédé pour l'accés á des données á accés conditionnel

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200780046911.6

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07872422

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 2007872422

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12520339

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 3572/CHENP/2009

Country of ref document: IN

Ref document number: 1020097012997

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE