[go: up one dir, main page]

HK1099384B - Integrity protection of streamed content - Google Patents

Integrity protection of streamed content Download PDF

Info

Publication number
HK1099384B
HK1099384B HK07106349.8A HK07106349A HK1099384B HK 1099384 B HK1099384 B HK 1099384B HK 07106349 A HK07106349 A HK 07106349A HK 1099384 B HK1099384 B HK 1099384B
Authority
HK
Hong Kong
Prior art keywords
key
content
integrity
electronic device
content stream
Prior art date
Application number
HK07106349.8A
Other languages
Chinese (zh)
Other versions
HK1099384A1 (en
Inventor
Sami Pippuri
Original Assignee
Nokia Technologies Oy
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
Priority claimed from US10/844,063 external-priority patent/US7477749B2/en
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of HK1099384A1 publication Critical patent/HK1099384A1/en
Publication of HK1099384B publication Critical patent/HK1099384B/en

Links

Description

Integrity protection of content streams
Technical Field
The present invention relates to digital rights management in electronic devices. The invention relates in particular to streaming content integrity protection and shared secret establishment in electronic devices applying digital rights management.
Background
With the development of digital storage technology, more effective copyright management is becoming a focus of increasing attention. Especially, the emergence of the internet as an illegal distribution channel for copyright-protected contents has increased the need to apply new technologies in copyright protection. One of them is Digital Rights Management (DRM). DRM is a generic term for standards and proprietary systems that encrypt a given content item to define the rights of a user. The content item may be a sound recording, a video, an image, a computer program or simply a document and the user rights may be various rules for restricting the use of the content item. For example, rights may be granted to present the content item to the user for a certain period of time. In addition to this, the usage rules for the content item may be rights allowing the user to listen a limited number of times, identity verification when using the device, rights allowing only viewing of parts of the content, etc. DRM requires that both the display device and the display software therein perform digital rights authentication. In the display device there is usually a DRM agent, also called DRM engine, which enforces DRM rights and protects the content item against illegal copying. In order to avoid that DRM protected content items are illegally copied, said content items may be encrypted when being transferred from the network to said display device and when said content items thereof are stored in a display device external to the DRM engine, e.g. on a hard disk. In the case of content streaming, the DRM protected content cannot be downloaded in its entirety to the display device before being presented to the user. However, when the display device requests the start of streaming content, the content stream can always be provided to the display device in an encrypted form. Similarly, the content may also be transmitted periodically via Internet Protocol (IP) multicast. In any case, the DRM-provided content is presented in encrypted form.
One standard for DRM is the DRM specification based on OMA (open mobile alliance). The purpose of OMA DRM is to control the use of digital media objects by enabling content providers to express content rights. The media objects are content items such as audio bands, video bands, images, Java applications, documents, etc. The content items managed by the rights are referred to as assets. In the OAMDRM specification, content rights are represented as document objects, i.e., documents written by the rights description language (REL). To elaborate the rights on the asset, the rights are associated with the REL object. The association between the REL object and the asset may be illustrated by noting the asset's identifier in the REL object, or may be implicitly illustrated by providing the REL object in the same message with the asset. Three methods of delivering content to a terminal and its DRM engine are defined in the OMA DRM specifications. The content is transmitted to the mobile terminal by DRM messages, and a DRM message contains a media object and an optional rights object, REL object. The first method is called forward-lock, in which no REL object is associated with the media object, i.e. there is no REL object associated with it when the media object is sent in a DRM message, but rather a default right known to the mobile terminal is given to the media object. This may prevent the media object from being further distributed to other mobile terminals, for example. The second method is called combined delivery, where the media object and the REL object are delivered together in a DRM message. In a third method, the media object and the REL object are delivered separately, and they can be delivered through different transmission channels.
A mobile terminal applying DRM is equipped with a DRM agent, also called DRM engine. The media objects or media streams (also referred to as content streams) are provided to the media application through the DRM engine for presentation to the user. The DRM engine also decrypts a media object or content stream if it is encrypted in order to protect it. Optional encryption is performed in the content source using encryption that can only be decrypted using keys available to the DRM engine. Typically, the key may be a decryption/encryption symmetric key. The mobile terminal also stores at least one rule object. The DRM engine verifies the user rights with respect to a given media object using the rule object. The DRM engine verifies user rights before rendering the media object or content stream to the user through a media application.
Fig. 1 is a diagram illustrating a process of providing streaming media and a content decryption key to a terminal equipped with a DRM agent in the related art. Included in fig. 1 is a content owner entity, such as content owner node 110. Content streams are transmitted from the content owner node 110 to a plurality of streaming servers, such as streaming server 112, and the streaming server 112 provides encrypted streams to content clients, such as content client 114. The actual content stream is sent from the streaming server 112, for example as a Real Time Protocol (RTP) stream as defined in RFC1889 of the IETF (internet engineering task force). The RTP stream is carried by Internet Protocol (IP) packets, and its transport layer protocol may use UDP protocol. Content client 114 requests streaming server 112 to start the streaming, for example, using Session Initiation Protocol (SIP) as defined in RFC2543, or using real-time streaming protocol (RTSP) as defined in RFC 2362. The content client 114 is equivalent to a content display device, and can be used for a user to watch or listen to a streaming media program. Rights for viewing the content stream are obtained by the content client 114 from the rights issuer node 116. The rights contain at least a Content Encryption Key (CEK) that the DRM engine uses to decrypt the content stream. The rights may also contain information relating to, for example, the validity period of the rights. Since the content encryption key CEK is a symmetric key, the content encryption key may also serve as a decryption key. The content encryption key is provided to the DRM engine in a format in which the content encryption key is encrypted by an asymmetric key associated with the DRM engine on the receiving client. The asymmetric key may also be, for example, a public key to a DRM engine in content client 114. In this way, the content encryption key may only be obtained to the DRM engine of the content client 114 having the private key.
First, the content owner node 110 encrypts the content stream using the CEK. It should be noted that EKEY(DATA) denotes the DATA unit DATA encrypted with the encryption KEY. In fig. 1, arrow 101 indicates that the encrypted content is streamed to the streaming server 112 using, for example, a batch file download. Arrow 102 represents content owner node 110 providing the CEK to rights issuer node 116. Arrow 103 represents the transmission of a rights request with the client identification therein to rights issuer node 116 when content client 114 desires to begin the transfer of the content stream. In fig. 1, C denotes the client. Arrow 104 indicates that, in response to the rights request, rights issuer node 116 replies to client 114 with a CEK that has been encrypted with content client 114 public key (C-PUB). Content client 114 may then begin receiving the content stream encrypted with the CEK from streaming server 112. The stream may be requested to start separately from the streaming server 112 or may be provided continuously in a broadcast or multicast without a separate request from the content client 114.
There are some problems with the content streaming schematic shown in fig. 1. Although the content stream, as indicated by arrow 105, is encrypted using the CEK, it is possible to manipulate the content stream if an attacker between the streaming server 112 and the content client 114 obtains information about the effect of bit manipulation on the final content stream provided to the user. If the CEK does not change frequently enough, the information may be obtained. However, the changing CEK requires additional protocols, which complicates the operation between streaming server 112, content client 114, and rights issuer node 116. Protocols for achieving this are for example the multimedia internet encryption (MIKEY) protocol, which is described in the draft-IETF-msec-MIKEY07.txt document of the IETF.
Disclosure of Invention
The present invention relates to a method of providing at least one content stream to an electronic device applying Digital Rights Management (DRM). The method comprises the following steps: encrypting the master integrity key with the content key; the electronic device requesting information about at least one content stream from a streaming node; selecting at least one seed value; receiving information about the at least one content stream in the electronic device, the information comprising at least the at least one seed value and the encrypted master integrity key; decrypting, in the electronic device, the master integrity key using the content key; forming, in the electronic device and the streaming node, at least one session integrity key using the at least one seed value and the master integrity key; in the streaming node, forming at least one integrity protected content stream using the at least one session integrity key; providing the at least one integrity protected content stream from the streaming node to the electronic device; and verifying, in the electronic device, the integrity of the at least one integrity-protected content stream using the at least one session integrity key.
The invention also relates to a method of providing at least one content stream to an electronic device applying Digital Rights Management (DRM). The method comprises the following steps: obtaining at least one master integrity key in the streaming node; obtaining an encrypted master integrity key in the electronic device; decrypting, in the electronic device, the encrypted master integrity key; forming, in the streaming node and the electronic device, at least one session integrity key using at least the integrity key; and protecting the integrity of at least one content stream between the streaming node and the electronic device using the at least one session integrity key.
The invention also relates to a system comprising at least one end node and a streaming node, the at least one end node being configured to: requesting information about at least one content stream, receiving information about at least one content stream comprising at least one seed value and an encrypted master integrity key, decrypting the encrypted master integrity key using a content key, forming at least one session integrity key using the at least one seed value and the master integrity key, and verifying the integrity of the at least one integrity protected content stream using the at least one session integrity key; and the streaming node is configured to: the method comprises selecting at least one seed value, forming at least one session integrity key using the at least one seed value and a master integrity key, providing information comprising at least the at least one seed value and the encrypted integrity key to the terminal node, forming at least one integrity protected content stream using the at least one session integrity key, and providing the at least one integrity protected content stream to the electronic device.
The invention also relates to a system comprising at least one end node and said streaming node, said at least one end node being configured to: obtaining an encrypted master integrity key, decrypting the encrypted master integrity key, forming at least one session integrity key using at least the master integrity key, and verifying integrity of at least one content stream received from the streaming node using the at least one session integrity key; and the streaming node is configured to: -obtaining the master integrity key, -forming at least one session integrity key using at least the master integrity key, -protecting the integrity of at least one content stream transmitted to the at least one end node using the at least one session integrity key.
The invention also relates to an electronic device configured to receive at least one content stream, further comprising digital rights management means and communication means, the digital rights management means being configured to: storing a content key, decrypting an encrypted master integrity key using the content key, forming at least one session integrity key using the master integrity key and at least one seed value, and verifying the integrity of at least one integrity protected content stream using the at least one session integrity key; and the communication device is configured to: and the digital rights management device, requesting information about at least one content stream from a streaming node, receiving information about at least one content stream including at least one seed value and the decrypted master integrity key, and receiving the at least one content protection stream from the streaming node.
The invention relates to another electronic device configured to receive at least one content stream, further comprising digital rights management means and communication means, the digital rights management means being configured to: decrypting the encrypted master integrity key, forming at least one session integrity key using at least the master integrity key, and verifying the integrity of at least one content stream using the at least one session integrity key; and the communication device is configured to receive the encrypted master integrity key and to receive at least one content stream from a streaming node.
The invention also relates to a computer program comprising code which, when executed on a data processing system, is capable of performing the following steps: encrypting the master integrity key with the content key; requesting, by the electronic device, information about at least one content stream from a streaming node; selecting at least one seed value; receiving information about the at least one content stream in the electronic device, the information comprising at least the at least one seed value and the encrypted master integrity key; decrypting, in the electronic device, the encrypted master integrity key using the content key; forming at least one session integrity key in the electronic device and the streaming node using the at least one seed value and the master integrity key; forming at least one integrity protected content stream on the streaming node using the at least one session integrity key; providing the at least one integrity protected content stream from the streaming node to the electronic device; and verifying the integrity of the at least one integrity-protected content stream in the electronic device using the at least one session integrity key.
The invention also relates to a computer program comprising code which, when executed on a data processing system, is capable of performing the following steps: acquiring a master integrity key in a flow node; obtaining an encrypted master integrity key in the electronic device; decrypting the encrypted master integrity key in the electronic device; forming at least one session integrity key in the electronic device and the streaming node using the master integrity key; and protecting the integrity of at least one content stream between the electronic device and the streaming node using the at least one session integrity key.
In one embodiment of the invention, an integrity protected content stream refers to a content stream that includes integrity check data formed using a session integrity key. The integrity check data may be, for example, a frame check sequence encrypted with a session key. The frame check sequence has been obtained from a particular portion of the encrypted or unencrypted content stream by computing, for example, a hash code or message classification algorithm. The integrity check data may also be transmitted separately. In one embodiment of the invention, the streaming node is a streaming server and the electronic device is a content client.
In one embodiment of the invention, an integrity check is performed in the electronic device against the seed value and the encrypted master integrity key using the session integrity key. The purpose is to prevent the seed value and the encrypted master integrity key from being changed by an attacker located between the streaming server and the electronic device.
In an embodiment of the invention, the forming of the session integrity key and the integrity check of the at least one content stream are both implemented on a DRM engine, i.e. a digital rights management device, or DRM entity. The digital rights management means may be implemented as software, for example, in the electronic device, or by means of a hardware module, possibly accompanied by software. The term digital rights management means also usually denotes the parts of the electronic device software that are responsible for the digital rights management related tasks, i.e. they do not form a separate logical entity in the software.
In one embodiment of the invention, the content key is provided from the content owner node to the rights issuer node. The content key is encrypted by a public key associated with the electronic device. The public key may also be associated with a user of the electronic device. The rights issuer node receives a content rights request identifying the electronic device and replies at least to the electronic device with an encrypted content key. The encrypted content key is decrypted in a digital rights management apparatus of the electronic device.
In one embodiment of the invention, the encrypted master integrity key is provided from the content owner node to the streaming node and stored in the streaming node.
In one embodiment of the invention, the IP packet stream comprises said at least one content stream.
In one embodiment of the invention, the content key is a symmetric key used in symmetric encryption, i.e. the content key is a content encryption/decryption key.
In one embodiment of the invention, the electronic device is a mobile station. The mobile station may be a Universal Mobile Telephone System (UMTS) mobile station or a General Packet Radio System (GPRS) mobile station. A Subscriber Identity Module (SIM) is utilized in a mobile station to identify a user of an electronic device.
In one embodiment of the invention, the electronic device is a fixed IP network terminal.
In one embodiment of the invention, the rights associated with the media objects and content streams are represented by a rule object or document expressed, for example, in OMA REL format.
In one embodiment of the invention, the electronic device is a mobile device, for example a wide area network (WLAN) terminal or a terminal in any cellular radio system. The terminal may also be a fixed data network or a communication network terminal.
In one embodiment of the invention, the computer program is stored on a computer readable medium. The computer readable medium may be a removable memory card, magnetic disk, optical disk, or magnetic tape.
In one embodiment of the invention, the electronic device is a mobile device, such as a laptop, a palmtop, a mobile terminal or a Personal Digital Assistant (PDA). In one embodiment of the invention, the electronic device is a desktop computer or other computing device.
The advantage of the invention is improved digital management protection. By means of the invention, it is possible to avoid the hindrance of the content stream transmitted between the electronic device and the streaming node. Another advantage of the invention is that the integrity key is not exposed to the outside world. The server cannot generate a new encryption password, which avoids the risk of attacks with compromise of the server and the original content stream.
The present invention avoids the need to use additional security protocols. Furthermore, the present invention provides the authenticity of the content by verifying the content stream with a content key known only to the content owner and the digital rights management means in the electronic device. The present invention utilizes a master integrity password trusted by the server from the content owner node to provide the authenticity of the original content. The invention can also be used for integrity protection of non-encrypted content streams.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention. In the drawings:
FIG. 1 is a block diagram illustrating DRM-protected streaming to a content client in the prior art;
FIG. 2 is a block diagram illustrating DRM-protected and integrity-protected streaming to a content client in accordance with the present invention;
FIG. 3 is a flow diagram illustrating one embodiment of an integrity protection method for DRM protected streams in accordance with the present invention; and
fig. 4 is a block diagram illustrating a mobile terminal and system for applying integrity protection to DRM protected streams in accordance with the present invention.
Detailed Description
Various embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
Fig. 2 is a block diagram illustrating DRM-protected and integrity-protected flows to content client 214. Included in fig. 2 is a content owner entity, such as content owner node 210. Content is provided from the content owner entity 210 to a plurality of streaming servers, such as streaming server 212, and the streaming server 212 provides encrypted content streams to a plurality of content clients, such as content client 214. The content forms a multimedia presentation, typically comprising two media components, one for video and one for audio. The media components include video and audio recordings in an encoded format. The video may be encoded using, for example, the Moving Picture Experts Group (MPEG) encoding format MPEG-4. The audio may be encoded using adaptive multi-rate (AMR) coding, for example, used in GSM mobile communication systems for mobile communications. The content for the multimedia presentation is streamed out from the streaming server 212, for example as at least one real-time protocol (RTP) stream. The Real Time Protocol (RTP) is defined in RFC1889 of the IETF. RTP streams are used to carry media streams, i.e. content streams comprising, for example, encoded video or audio data. In one embodiment of the invention, there is one RTP stream for each media component associated with the multimedia presentation, one RTP stream for video and another RTP stream for audio. In one embodiment of the invention, the plurality of media components may also be multiplexed into one RTP stream.
The content client 214 requests the start of the streaming from the streaming server 212, for example, using Session Initiation Protocol (SIP) defined in RFC2543 or using real-time streaming protocol (RTSP) defined in RFC 2326. The content flow attributes associated with the media components of the multimedia presentation are described in accordance with the Session Description Protocol (SDP) defined in IETF 2327. The SDP protocol specifies a description file format for describing content streams, attributes of the content streams and associated transport addresses. The streaming server responds to a streaming information request or to a streaming start request, thereby providing an SDP description, abbreviated SDP. By means of the SDP description, a content client is able to determine, for example, the address of the RTP stream and the media coding used in the stream.
Content client 214 corresponds to a content display device that a user may view or listen to streamed programs. Rights to view the content stream are obtained by the content client 214 from the rights issuer node 216. The rights contain at least a Content Encryption Key (CEK) that is used by the DRM engine to decrypt the content stream. The rights may also contain information associated with, for example, a validity period for the rights. Since the content encryption key is a symmetric key, it can also be used as a content decryption key. The content encryption key is provided to the DRM engine in a format that has been encrypted by an asymmetric key associated with the DRM engine for the receiving content client. The asymmetric key may also be, for example, a public key to a DRM engine in content client 214. In this way, the content encryption key may be obtained only for the DRM engine of content client 214 having the ownership of the private key.
First, at t1At this point, the content owner node 210 generates a content encryption/decryption key (CEK) and a master integrity key (K) as symmetric keys. The content owner node then serves to the streaming serviceThe server 212 provides the K encrypted with the CEK (shown as E in FIG. 2)KEY(K) And at least one stream encrypted with a CEK (E shown in fig. 2KEY(STREAM)). In FIG. 2, arrow 201 indicates that E is to be downloaded, such as using File Transfer Protocol (FTP), Hypertext transfer protocol (HTTP) or HTTPS (secure HTTP)KEY(STREAM)、EKEY(K) And K to the streaming server 212. In addition to downloading, E can also be transmitted by physical mediaKEY(STREAM)、EKEY(K) And K to the streaming server 212. EKEY(STREAM)、EKEY(K) And K may be transmitted as a plurality of separate files or may be transmitted as one file. When the streaming Server 212 is at t2At the moment when at least K is received, it generates a random SEED value (indicated as SEED in fig. 2) and computes the session Integrity Key (IK) according to the formula IK ═ H (SEED, K), where K represents the master integrity key, SEED represents the random SEED value, and H () represents the one-way hash function. Arrow 202 indicates that content owner node 210 provides the CEK to rights issuer node 216. Arrow 203 represents that since content client 214 desires to begin the multimedia display stream, it sends a rights request to rights issuer 216, in which content client 214 identifies itself. C in fig. 2 represents the content client. Arrow 204 represents the rights issuer node 216 replying to the rights request with a response with the CEK that has been encrypted with the client's 214 public key (C-PUB). The CEK is decrypted in the DRM engine associated with client 214 and only the DRM engine knows the CEK. Thereupon, content client 114 may begin receiving a content stream that has been encrypted with a CEK, E in FIG. 2, from streaming server 212KEY(STREAM)。
Content client 214 sends a streaming information request, such as an RTSP Describe operation, to streaming server 212. The streaming server 212 replies with an information element H at least included in the SDP descriptionIK(SDP), SEED and ECEK(K)。HIK(SDP) is a hash code computed from the SDP description returned by the streaming server 212. HIK(SDP) is a message authentication code with which it is verified whether the SDP description is already in a slave streamThe delivery of server 212 to content client 214 is changed. When content client 214 receives ECEK(K) Then, it will be said ECEK(K) Forward to its DRM engine, which decrypts E using CEKCEK(K) Thereby obtaining K. Thereupon, at t3At that time, the DRM engine associated with content client 214 also computes a session integrity key IK according to the formula IK-H (SEED, K), which is then transmitted to streaming server 212 at t2The IK calculated at the time is the same. Thereupon, content client 214 may begin receiving streams encrypted with the CEK from streaming server 212. The start of the streaming may be requested separately from the streaming server 212 or the stream may be continuously provided by the streaming server 212 in a broadcast or multicast form without a separate request from the content client 214. Encrypted stream ECEKThe (STREAM) is transmitted to a DRM engine associated with the content client. In the DRM engine, the CEK is used for ECEK(STREAM) is decrypted to obtain the original content STREAM, as shown in fig. 2 STREAM.
In one embodiment of the invention, the streaming server 212 prepares a pre-generated SDP description that is transmitted to the content client 214. The streaming server 212 may decide to change the seed value and respond to the RTSP Setup command issued by the content client 214 with an RTSP Redirect command. After receiving the RTSP Redirect command, the content client 214 repeatedly sends the RTSP Describe command to obtain at least one new seed value from the streaming server 212.
In one embodiment of the invention, the IK is applied such that a predetermined length of a sequence of bytes is extracted at both the streaming server 212 and the content client 214. The byte sequence may be, for example, a packet, a group of packets, or any form of content frame. Thereupon, a hash code is calculated from the byte sequence. The hash code is then encrypted using the IK. The stream server 212 combines the encrypted hash with the encrypted stream ECEK(STREAM) is communicated to content client 214, and content client 214 combines the encrypted hash with the encrypted STREAMTo its DRM engine. The DRM engine decrypts the hash code using the IK and computes another hash code in the same way using the same byte sequence, proving the received content stream E if the two hash codes matchCEK(STREAM) is not changed.
In one embodiment of the invention, a separate session integrity key is formed for each of the at least one content stream and a separate seed value is also formed for each of the at least one content stream in the streaming node, i.e. the streaming server. The flow node provides the seed value to an electronic device. In the electronic device, a session integrity key is formed using the seed value and a master integrity key. Providing, from the streaming node to the electronic device, the at least one content stream and integrity check data associated with each of the at least one content stream. Verifying, in the electronic device, the integrity of the at least one content stream using the session integrity key, the integrity verification data associated with each of the at least one content stream, and the at least one content stream. That is, in the electronic device, the separate seed values are used to form a session integrity key associated with each separate content stream. The session integrity key formed in the electronic device using the separate seed value is the same as that formed in the streaming node. The integrity of a particular content stream is then verified in the electronic device using the session integrity key generated for the particular content stream, integrity verification data associated with the particular content stream, and the content stream itself. In one embodiment of the invention, multiple content streams use the same session integrity key.
Fig. 3 is a flow chart illustrating one embodiment of a method for integrity protection for DRM content protected streams in a content client, such as content client 214 of fig. 2. In step 300, the content client obtains the CEK from the rights issuer node. The CEK acquisition process may be performed upon completion of a billing transaction for a particular multimedia program. In step 302The content client requests a streaming server for a streaming description associated with the requested multimedia program. By receiving the response, the content client obtains at least the information element H contained in the SDP description, step 304IK(SDP), SEED and ECEK(K) In that respect Said HIK(SDP) represents a hash code computed from the SDP description returned by the streaming server 212, which hash code is used to confirm that the SDP description has not been changed during transfer from the streaming server 212 to the content client 214. In step 306, the content client sends the SEED and ECEK(K) To its DRM engine. The DRM engine decrypts the K using the CEK and computes a session integrity key, denoted as IK in fig. 3, using the formula IK-H (SEED, K), where K is the master integrity key, SEED is the random SEED value, and H () is a one-way hash function. In step 308, the content client receives an encrypted content stream E that is also protected using IKCEK(STREAM). The encrypted content stream is further forwarded to a multimedia application in the content client through the DRM engine. The DRM engine decrypts the encrypted content stream using the CEK. In step 310, the content client verifies the received encrypted content stream E using the IKCEK(STREAM) integrity. The integrity check may be based, for example, on a periodically received check sequence that has been encrypted by the streaming server using the IK. If the integrity check is successful, no integrity invalidation message will be detected and the method returns to step 308 where the content client waits to receive more encrypted content streams. If the integrity check is not successful, the content client registers an error and stops serving the content stream to the user at step 312. An error message is also provided to the user and an error message report may be sent to the streaming server.
In one embodiment of the invention, the content client performs the action of obtaining the CEK from the rights issuer node only after the content client obtains the SDP description. Thus, step 300 is performed after step 304. The obtaining of the CEK involves a charging transaction for a particular multimedia program.
In one embodiment of the invention, the content client verifies the integrity of the SDP description using IK after it has computed it.
Fig. 4 is a block diagram illustrating a mobile terminal 400 and system for applying integrity protection to DRM protected streams in one embodiment of the invention. A Mobile Terminal (MT)400 communicates with a base station 420 associated with an access network 410. Access network 410 is coupled to at least streaming server 416 and entitlement server 418. MT400 includes DRM engine 402 (also referred to as a DRM agent or DRM entity), media application 404, and at least one rights object. MT400 also includes a communication entity 406 (also referred to as a communication device) configured to receive messages from access network 410 and to perform protocol layer processing, e.g., for protocols of the physical, link and network layers. In one embodiment of the invention, the communication entity 406 performs IP packet processing and has the functionality to process the UDP protocol and the TCP protocol. Communication entity 406 is configured to communicate with DRM engine 402 and media application 404. MT400 is configured to forward messages received in communication entity 406 to DRM engine 402 or media application 404 based on the message content. At least one media object may be stored in MT400 and transmitted to media application 404 through DRM engine 402. MT400 may also receive an encrypted stream carrying media components. MT400 provides the encrypted stream to DRM engine 402, and DRM engine 402 decrypts the encrypted stream using a content decryption key known only to it. The encrypted content stream is transmitted from streaming server 416 to DRM engine 402 via MT400 as represented by arrow 450 in fig. 4. Arrow 450 also indicates that MT400 is provided with an information unit H before receiving the encrypted content streamIK(SDP), SEED and ECEK(K) The SDP description of. In fig. 4, I1 represents the SDP description information element, and I2 represents the encrypted content stream. If an encrypted media object or media stream is delivered to MT400, it is decrypted by DRM engine 402. The encryption is performed in the content source and can only be decrypted with a key available to DRM engine 402. MT400 also stores at least one rights object 414, or rights object from a stream server 416 as shownA content stream is received at a streaming server. Rights object 414 is used by the DRM engine to verify the rights of a user with respect to a particular media object, such as the media object stored in MT 400. DRM engine 402 verifies the user rights before enabling the media object to be presented to the user through media application 404. Rights object 414 may also include a content decryption key, such as the CEK shown in FIGS. 2 and 3. Rights object 414 is obtained from rights server 418 associated with the rights purchase process. Rights object 414 provides at least the content encryption/decryption key CEK to DRM engine 402, as indicated by arrow 448 in fig. 4. The CEK is represented in fig. 4 as information element I3. It should be noted that in one embodiment of the invention, the content client is a fixed IP network terminal. In this case, the streaming server and the rights server are connected with the content client through the fixed access network. In a manner similar to MT400, the fixed IP network terminal also includes at least a rights object, a DRM engine, and a media application.
It is obvious to a person skilled in the art that with the advancement of technology, the basic idea of the invention may be implemented in various ways. Therefore, the invention is not limited to the above examples, but rather a number of variants falling within the scope of the appended claims are intended to cover the scope of the present invention.

Claims (26)

1. A method for receiving at least one content stream, comprising:
requesting, by the electronic device, information about the at least one content stream from a streaming server;
receiving, in the electronic device, information about the at least one content stream, the information comprising at least one seed value and a master integrity key encrypted with a content key;
decrypting, in the electronic device, the encrypted master integrity key using the content key;
forming, in the electronic device, at least one session integrity key using the at least one seed value and the master integrity key;
receiving, at the electronic device, at least one integrity protected content stream from the streaming server, the integrity protected content stream being protected with the at least one session integrity key;
verifying, in the electronic device, the integrity of the at least one integrity-protected content stream using the at least one session integrity key; and
decrypting the at least one integrity protected content stream using the content key.
2. The method of claim 1, wherein, in the electronic device, integrity checking is performed for the at least one seed value and the master integrity key using one or more of the at least one session integrity key.
3. The method of claim 1, wherein the forming of the at least one session integrity key and the integrity checking of the at least one content stream are performed in a digital rights management engine associated with the electronic device.
4. The method of claim 1, wherein the method further comprises:
sending, by the electronic device, a content rights request identifying the electronic device to a rights issuer node;
receiving, at the electronic device, the content key from the rights issuer node in response to the rights request, wherein the content key is encrypted using a public key and the rights issuer node receives the content key from a content owner node; and
decrypting the encrypted content key in the electronic device.
5. The method of claim 1, wherein the method further comprises:
providing the master integrity key from a content owner node to the streaming server; and is
Storing the master integrity key in the streaming server.
6. The method of claim 1, wherein an IP packet flow comprises the at least one content flow.
7. The method of claim 1, wherein the content key comprises a symmetric key.
8. The method of claim 1, wherein the electronic device comprises a mobile station.
9. The method of claim 8, wherein the mobile station comprises a universal mobile telephone system mobile station.
10. The method of claim 8, wherein the mobile station comprises a general packet radio system mobile station.
11. The method of claim 1, wherein the electronic device comprises a fixed IP network terminal.
12. The method of claim 1, the method further comprising:
if the integrity verification of the at least one integrity-protected content stream is successful, continuing presentation of the at least one integrity-protected content stream to a user of the electronic device.
13. A method for providing at least one content stream, comprising:
receiving, at a stream server, a master integrity key and at least one encrypted content stream from a content owner, the master integrity key being encrypted with a content key;
receiving a request for information of at least one content stream from an electronic device;
generating, by the streaming server, at least one seed value;
sending, by the streaming server, information to the electronic device in response to the request for information of the at least one content stream, the information including at least one seed value and a master integrity key encrypted with a content key;
forming, in the streaming server, at least one session integrity key using the at least one seed value and the master integrity key;
at the streaming server, protecting the integrity of at least one content stream with the at least one session integrity key; and
transmitting the at least one content stream in integrity protected form with at least one session integrity key to the electronic device.
14. The method of claim 13, wherein the at least one content stream is included in an IP packet stream.
15. The method of claim 13, wherein the content key comprises a symmetric key.
16. An electronic device configured to receive at least one content stream, the electronic device comprising:
a digital rights management engine configured to: storing a content key, decrypting an encrypted master integrity key using the content key, forming at least one session integrity key using the master integrity key and at least one seed value, and verifying the integrity of at least one integrity protected content stream using the at least one session integrity key; and
a communication entity communicatively coupled to the digital rights management engine, the communication entity configured to: the method comprises sending at least one request for information of at least one content stream to a streaming server, receiving information on at least one content stream comprising at least one seed value and the encrypted master integrity key, and receiving the at least one integrity-protected content stream from the streaming server.
17. The electronic device of claim 16, wherein the digital rights management engine is configured to perform an integrity check on the at least one seed value and the encrypted master integrity key using the at least one session integrity key.
18. The electronic device of claim 16, wherein the communication entity is configured to receive an encrypted content key and the digital rights management engine is configured to decrypt the encrypted content key.
19. The electronic device of claim 16, wherein an IP packet stream comprises the at least one content stream.
20. The electronic device of claim 16, wherein the content key comprises a symmetric key.
21. The electronic device of claim 16, wherein the electronic device comprises a mobile station.
22. The electronic device of claim 16, wherein the mobile station comprises a universal mobile telephone system mobile station.
23. The electronic device of claim 16, wherein the mobile station comprises a general packet radio system mobile station.
24. The electronic device of claim 16, wherein the electronic device comprises a fixed IP network terminal.
25. The electronic device of claim 16, wherein the electronic device further comprises:
a media application module to continue presentation of the at least one integrity protected content stream to a user of the electronic device if the integrity check of the at least one integrity protected content stream is successful.
26. An apparatus at a streaming server for providing at least one content stream, comprising:
means for receiving from a content owner at least one encrypted content stream and a master integrity key encrypted with a content key,
means for receiving a request for information of at least one content stream from an electronic device,
means for generating at least one seed value,
means for transmitting information comprising the at least one seed value and a master integrity key encrypted with a content key to the electronic device in response to the request for information of at least one content stream,
means for forming at least one session integrity key using the at least one seed value and the master integrity key,
means for protecting the integrity of said at least one content stream using said at least one session integrity key, an
Means for sending the at least one content stream in integrity protected form with the at least one session integrity key to the electronic device.
HK07106349.8A 2004-05-12 2005-05-11 Integrity protection of streamed content HK1099384B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/844,063 2004-05-12
US10/844,063 US7477749B2 (en) 2004-05-12 2004-05-12 Integrity protection of streamed content
PCT/FI2005/000215 WO2005109146A1 (en) 2004-05-12 2005-05-11 Integrity protection of streamed content

Publications (2)

Publication Number Publication Date
HK1099384A1 HK1099384A1 (en) 2007-08-10
HK1099384B true HK1099384B (en) 2011-05-13

Family

ID=

Similar Documents

Publication Publication Date Title
CN1950777B (en) Integrity protection of content streams
EP1454493B1 (en) Method of rights management for streaming media
CN1675881B (en) Monitoring of digital content provided from a content provider over a network
US20040019801A1 (en) Secure content sharing in digital rights management
JP4901815B2 (en) Method for distributing streaming data, client device used in the method, and order server
US7617158B2 (en) System and method for digital rights management of electronic content
US9177112B2 (en) Method and device for communicating digital content
US20080063195A1 (en) Method and system for encrypting or decrypting wmv streaming media
JP2005513664A5 (en)
HK1099384B (en) Integrity protection of streamed content
HK1078713B (en) Method and client for digital rights management for streaming media