# Patent

## Title
Method for transmitting content in home network using user-binding

## Abstract

A method for transmitting content to a user device from a home server in a home network is provided. The method includes: receiving an allocated user public key and a user private key of a user to whom the home server belongs; generating an arbitrary session public key and a session private key, generating an encrypted session private key by encrypting the session private key using a device public key that is a public key of the user device, and transmitting the encrypted session private key to the user device; and transmitting the content encrypted using a predetermined content key and a content key encrypted using the session private key to the user device. According to the method, by binding the content to each user, instead of to each device, the content can be safely and conveniently shared.

## Background
This application the claims priority from U.S. Provisional Application No. 60/628,386, filed on Nov. 17, 2004, in the U.S. Patent and Trademark Office and from Korean Patent Application No. 10-2004-0099434, filed on Nov. 30, 2004, in the Korean Intellectual Property Office, the disclosures of which are incorporated herein in their entireties by reference.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a content transmission method, and more particularly, to a content transmission method enabling user devices in a home network to share content more conveniently and safely.
2. Description of the Related Art
Digital content is transmitted to a user by a content provider. The content should be protected such that only after the user obtains a proper right by paying a fee for the content, the user can use the digital content and if the proper right is not obtained, the user cannot use the content.
In order to prevent an unauthorized user from obtaining the content, the content should be encrypted with a content key and the content key should be distributed only to an authorized user.
Meanwhile, with the latest development of home network technologies, one user can own more than one user device, and also, the movement of content between devices becomes possible. Sometimes, a user wants to use content in all devices owned by the user, with one payment. However, if the content can be moved freely in a reproducible way between devices, an unauthorized user can obtain and use the content. Accordingly, in home networking, a technology which permits a movement of content between user devices in a home network of an authorized user while preventing an unauthorized user from obtaining the content or using the content even if the content obtained, is needed.
In particular, Federal Communications Commission (FCC) of the U.S. requires from July 2005, a technology by which a 1-bit broadcast flag (BF) should be inserted into a high density (HD) level content broadcast through digital broadcasting in the U.S. so that if the BF of the content is 1, the content can be protected such that an unauthorized user cannot use the content.
FIG. 1 is a diagram showing the structure of a home network.
A content provider CP transmits content to a home server HS through a transmission channel 10.
The home server HS is connected to user devices DA, DB, and DC, and manages joining and secession of an authorized user device, and transmits the content only to an authorized user device, that is, a device currently registered.
Here, a domain refers to a set of user devices connected to one home server. The devices in a domain will vary due to user devices joining or leaving the home network. Accordingly, a process for preventing a user device that has left and is no longer registered with the home network from obtaining content is needed.
Content is encrypted by using a content key and the content key is encrypted by using a common key, and the content and the content key are transmitted to each of the user devices DA, DB, and DC. The common key can be obtained only by a user device that is currently registered in the home network.
FIG. 2 is a flowchart of the operations performed by the conventional method for transmitting content.
In operation 210, the home server HS receives content C from the transmission channel 10, and by encrypting the content C using a content key Kc, the home server HS generates an encrypted content E(Kc, C). The transmission channel 10 can be any of a variety of channels, such as the Internet, ground wave, and satellite broadcasting.
In operation 220, the user device DA transmits its unique information Xa′ to the home server HS.
In operation 230, the home server HS generates a common key Ks by using the unique information Xa′, and then transmits it to the user device DA.
In operation 240, the home server HS transmits the encrypted content E(Kc, C), an encrypted content key E(Ks, Kc), and a license L_A to user device DA.
The license L_A includes usage rule UR on the content C and the unique information Xa′ of the user device DA.
In operation 250, the user device DA extracts the unique information Xa′ from the license L_A received in operation 240, and then compares this with DA's own unique information Xa.
In operation 260, the user device DA determines if Xa′=Xa and whether or not it is possible to generate the content key Kc by decoding the encrypted content key E(Ks, Kc) received in operation 240 by using the common key Ks received in operation 230. If these two conditions are met, the user device DA in operation 220 is the same as the user device DA in operation 240, and therefore the user device DA can reproduce the content C.
However, the conventional method has the following drawbacks.
First, since the content C is bound to a user device, sharing the content in two or more user devices belonging to the same user is inconvenient. All these devices, that is, even devices belonging to the same user, must receive newly issued licenses based on their respective unique information. For example, when the device DB tries to reproduce the content received from the device DA, operations for transmitting unique information Xb′ of the device DB, generating content Kc′, generating common key Ks′, and generating license L_B for the device DB must all be performed again.
Secondly, unique information of a user device is exposed to external devices.
Since most of the unique information Xa′, Xb′, . . . , of user devices play important roles in the security aspect, it is preferable to avoid leakage of this information.
Thirdly, sharing content between user devices should be performed through the home server HS.
Generally, since authorization of use of the content C relies, in most cases, on a fee payment by a user and one user wants to use freely content in two or more user devices belonging to the domain of the user, the drawbacks described above become more serious obstacles to the development of home networks, the demand for which is currently increasing.
SUMMARY OF THE INVENTION
The present invention provides a method for transmitting content in a home network by binding the content to each user instead of to each device so that the content can be safely and conveniently shared.
According to an aspect of the present invention, there is provided a method for transmitting content to a user device from a home server in a home network, the method including: the home server receiving an allocated user public key and user private key of the user to whom the home server belongs; generating an arbitrary session public key and session private key, generating an encrypted session private key by encrypting the session private key using a device public key that is a public key of the user device, and transmitting the encrypted session private key that is generated to the user device; and transmitting content that is encrypted using a predetermined content key and content key encrypted using the session private key to the user device. The session public key and session private key may be updated whenever the user device joins or a change in registration of the user device with the home network occurs.
According to another aspect of the present invention, there is provided a method for transmitting content from a second user device to a first user device in a home network, the method including: the second user device receiving a user public key of a second user to whom the second user device belongs; generating a device certificate value by using a predetermined device value and the public key of the second user, and then transmitting the device certificate value to the home server of the first user device by using the device certificate value and the user private key of the first user to whom the first user device belongs, and determining whether or not the first user and the second user are identical based on the server certificate value generated by the home server and the device value; and receiving content encrypted by using a predetermined content key, and a content key encrypted by using a predetermined session public key, the content and content key being transmitted by the second user device if the first user and the second user are determined to be identical, wherein, the session private key corresponding to the session public key is transmitted to the user device by using a pair of the public key and private key of the user device if registration of the user device with the home network changes.
The device certificate value may be generated by the following equation:

C—A=mKpub—u1′

where C_A is the device certificate value, m is a device value, and Kpub_u1′ is a user public key transmitted by the second user device.
The server certificate value may be generated by the following equation:

C—A′=C—AKpri—u1 

where C_A′ is the server certificate value, and Kpri_u1 is the user public key of the first user.
The determination of whether or not the first user and the second user are identical may be performed by examining whether or not the server certificate value C_A′ is the same as the device value m.
The device certificate value may be generated by the following equation:

C—A=m*rKpub—u1 

where C_A is the device certificate value, m is a device value, Kpri_u1′ is the user public key transmitted by the second device, and r is an arbitrary random number.
The server certificate value may be generated by the following equation:

C—A′=C—AKpri—u1 

where C_A′ is the server certificate value, and Kpri_u1 is the user public key of the first user.
The determining whether the first user and the second user are identical may comprise determining whether a value that is obtained by dividing the server certificate value C_A′ by arbitrary random number r is the same as device value m.
The method may further include determining whether a session private key of the first device is identical to a session private key of the second user device by using an electronic signature if the first user and the second user are determined to be identical.
The determining of whether the session private key of the first user device is identical to the session private key of the second user device may include: the first user device generating a first electronic signature value by encrypting an arbitrary first random number with using the session private key of the first user device; the first user device transmitting the first electronic signature value and the first random number to the second user device; and the second user device decoding the first signature value by using the session public key of the second user device, and determining whether or not a result value that is generated by decoding the first electronic signature is identical to the first random number.
The determining of whether the session private key of the first user device is identical to the session private key of the second user device may further include: the second user device generating a second electronic signature value by encrypting an arbitrary second random number with using the session private key of the second user device; the second user device transmitting the second electronic signature value and the second random number to the first user device; and the first user device decoding the second signature value by using the session public key of the first user device, and determining whether a result value that is generated by decoding the second electronic signature is identical to the second random number.



BRIEF DESCRIPTION OF THE DRAWINGS
The above and other aspects of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:
FIG. 1 is a diagram showing the structure of a home network;
FIG. 2 is a flowchart of the operations performed by the conventional method for transmitting content;
FIG. 3 is a flowchart of the operations performed by a method for transmitting content from a home server to a user device according to an exemplary embodiment of the present invention;
FIG. 4 illustrates an example of a home network according to an exemplary embodiment of the present invention;
FIG. 5 illustrates a method for transmitting content between user devices according to an exemplary embodiment of the present invention;
FIG. 6 illustrates a method for transmitting content between user devices according to another exemplary embodiment of the present invention; and
FIG. 7 illustrates a process for examining whether or not session keys are identical when session keys are updated, in the content transmission method of FIG. 5.



DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS OF THE INVENTION
Aspects of the present invention will now be described more fully with reference to the accompanying drawings, in which exemplary embodiments of the invention are shown.
Referring to FIG. 3, it is assumed that at present user devices DA, DB, and DC are connected to a home server HS, a home network HN is formed with the home server HS and user devices DA, DB, and DC which belong to user U.
In operation 310, the home server HS receives a user common key Kpub_u and a user private key Kpri_u that are allocated to the user U to whom the home server HS belongs. According to the characteristics of a common key structure, the user common key Kpub_u is public and the user private key Kpri_u is owned only by the home server HS.
In operation 312, the home server HS generates a pair of arbitrary session keys (Kpub_s, Kpri_s), that is, a session common key Kpub_s and a session private key Kpri_s. Likewise, according to the characteristics of a common key structure, a common key Kpub_s is public and private key Kpri_s can be obtained only by user devices connected to the current home server HS, that is, user devices belonging to the domain of the home server HS.
In operation 320, the home server HS encrypts the session private key Kpri_s by using device common keys Kpub_DA, Kpub_DB, and Kpub_DC to generate encrypted session private keys E(Kpub_DA, Kpri_s), E(Kpub_DB, Kpri_s), and E(Kpub_DC, Kpri_s) and the home server HS then transmits the encrypted session private keys E(Kpub_DA, Kpri_s), E(Kpub_DB, Kpri_s), and E(Kpub_DC, Kpri_s) to the user devices DA, DB, and DC, respectively.
In operation 330, in response to requests of the user devices DA, DB, and DC, the home server HS transmits the encrypted content E(Kc, C) and the encrypted content key E(Kpri_s, Kc) to the user devices DA, DB, and DC. Here, Kc indicates the content key.
In operation 340, a change in user devices occurs. For example, the user device DA may leave the home network HN. Selling a user device to another user can be an example of this change of user devices.
In operation 350, the home server HS generates a pair of new session keys (Kpub_s′, Kpri_s′) and then, transmits the new session private key Kpri_s′ in an encrypted state to user devices that belongs to home network HN after the change, that is, the user devices DB and DC.
That is, by encrypting the new session private key Kpri_s′ by using the device common keys Kpub_DB and Kpub_DC, the home server HS generates encrypted session private keys E(Kpub_DB, Kpri_s′) and E(Kpub_DC, Kpri_s′), and transmits the encrypted session private keys to the user devices DB and DC, respectively.
In operation 360, in response to requests from the user devices DB and DC, the home server HS transmits the encrypted content E(Kc′, C) and the encrypted content key E(Kpri_s, Kc′) to the user devices DB and DC. Here, Kc′ indicates the new content key.
According to the method of FIG. 3, all of the user devices DA, DB, and DC belonging to the user U can obtain the session private key Kpri_s before the user device DA leaves the home network, and therefore can reproduce the content C. Accordingly, the inconvenience of requiring each user device to separately obtain an individual license can be reduced.
Also, since a user device does not need to transmit unique information to the home server, unnecessary leakage of unique information can be prevented.
FIG. 4 illustrates an example of a home network according to an exemplary embodiment of the present invention.
In FIG. 4, it is assumed that at present user devices DA, DB, and DC are connected to a home server HS1, and a home network HN is formed with the home server HS1 and the user devices DA, DB, and DC, which belong to the user U. At this time, the user device DA is going to leave the home network HN.
According to the method for transmitting content of FIG. 3, after the user device DA leaves the home network HN, a pair of session keys (Kpub_s, Kpri_s) is updated with a new pair of session keys (Kpub_s′, Kpri_s) such that after leaving, the user device DA cannot reproduce content transmitted to the user devices DB and DC after the user device DA leaves. However, since the user device DA still has session private key Kpri_s, if an encrypted content E(Kc, C) and an encrypted content key E(Kpri_s, Kc) transmitted by the user device DB are received, the user device DA can obtain and reproduce the content C, that is, the content that was transmitted to the user device DA before the user device DA left the home network HN.
Due to digital content policies, a case where content transmitted by the user device DB and received by the user device DA before the user device DA left the home network and then reproducing the content by the user device DA after the user device DA has left the home network should be prevented. For example, the user device DA may register in a home network HN2 of another user U2. In this case, the use of the content C of user U by the user U2 should be prevented. A method for transmitting content between user devices of FIG. 5 should be suggested in this case.
FIG. 5 illustrates a method for transmitting content between user devices according to an exemplary embodiment of the present invention.
It is assumed that at present a home server HS1 and user devices DA, DB, and DC belong to a home network HN1 of user U1, and a home server HS2 and user devices DD, and DE belong to a home network HN2 of user U2.
In operation 510, the user device DA requests the user device DB to send content C.
In operation 520, the user device DB transmits a user common key Kpub_u1′ of the user to whom the user device DB belongs to the user device DA.
In operations 530 and 535, the user device DA generates a device certificate value C_A by using a predetermined device value m and the user common key Kpub_u1′ received in operation 520, and then, the user device DA transmits the certificate value C_A to the home server HS1 to which the user device DA belongs. The device certificate value C_A is generated, for example, as in the following Equation 1:

C—A=mKpub—u1′  (Equation 1)

In operations 540 and 545, the home server HS1 generates a server certificate value C_A′ by using the device certificate value C_A received in operation 535 and the user private key Kpri_u1 of the user U1 to whom the home server HS1 belongs, and then transmits the server certificate value C_A′ to the user device DA. The server certificate value C_A′ is generated, for example, as in following Equation 2:

C—A′=C—AKpri—u1  (Equation 2)

In operation 550, based on the device certificate value C_A and the device value m, the user device DA examines whether or not the user U1 of the user device DA is the same as the user of the user device DB. If the users are identical, operation 560 is performed and if not, operation 580 is performed.
When the device certificate value C_A and the server certificate value C_A′ are defined as in Equation 1 and Equation 2, if the user of the user device DB is U1 (i.e., the user common key Kpub_u1′ transmitted in operation 520 of the user (not confirmed) to whom the user device DB belongs is the user common key Kpub_u1 of the user U1) the server certificate value C_A′ and device value m are identical as shown in the following Equation 3:




  
    
      
        
          
            
              
                
                  C_A
                  ′
                
                =
                
                ⁢
                
                  C_A
                  
                    Kpri
                    ⁢
                    
                      
                    
                    ⁢
                    _
                    ⁢
                    
                      
                    
                    ⁢
                    u
                    ⁢
                    
                      
                    
                    ⁢
                    1
                  
                
              
            
          
          
            
              
                =
                
                ⁢
                
                  
                    (
                    
                      m
                      
                        Kpub
                        ⁢
                        
                          
                        
                        ⁢
                        _
                        ⁢
                        
                          
                        
                        ⁢
                        u
                        ⁢
                        
                          
                        
                        ⁢
                        
                          1
                          ′
                        
                      
                    
                    )
                  
                  
                    Kpri
                    ⁢
                    
                      
                    
                    ⁢
                    _
                    ⁢
                    
                      
                    
                    ⁢
                    u
                    ⁢
                    
                      
                    
                    ⁢
                    1
                  
                
              
            
          
          
            
              
                =
                
                ⁢
                
                  m
                  
                    Kpub
                    ⁢
                    
                      
                    
                    ⁢
                    _
                    ⁢
                    
                      
                    
                    ⁢
                    u
                    ⁢
                    
                      
                    
                    ⁢
                    
                      1
                      ′
                    
                    *
                    Kpri
                    ⁢
                    
                      
                    
                    ⁢
                    _
                    ⁢
                    
                      
                    
                    ⁢
                    u
                    ⁢
                    
                      
                    
                    ⁢
                    1
                  
                
              
            
          
          
            
              
                =
                
                ⁢
                
                  m
                  
                    Kpub
                    ⁢
                    
                      
                    
                    ⁢
                    _
                    ⁢
                    
                      
                    
                    ⁢
                    u
                    ⁢
                    
                      
                    
                    ⁢
                    
                      1
                      ′
                    
                    *
                    Kpri
                    ⁢
                    
                      
                    
                    ⁢
                    _
                    ⁢
                    
                      
                    
                    ⁢
                    u
                    ⁢
                    
                      
                    
                    ⁢
                    1
                  
                
              
            
          
          
            
              
                =
                
                ⁢
                m
              
            
          
        
         
      
    
    
      
        (
        
          Equation
          ⁢
          
            
          
          ⁢
          3
        
        )
      
    
  




In operation 560, the user device DA transmits a success message (SUCCESS) to the user device DB.
In operation 570, if the user device DB receives the success message (SUCCESS), the user device DB transmits the encrypted content key E(Kpub_s, Kc) and the encrypted content E(Kc, C) to the user device DA.
In operation 580, since the user of user device DA is not the same as the user of the user device DB, the user device DA determines that content C cannot be received by transmission and stops the process.
In the above exemplary embodiment, since the user device DA receives the server certificate value C_A′, including information on the user, from the home server HS1, the user device DA cannot pretend that the user to whom the user device DA belongs to is another user. That is, if the user device DA comes to belong to a home network of another user U2, the user device DA will receive a server certificate value from the home server HS2 and therefore, Equation 3 is not satisfied.
Accordingly, only when the user of user device DB is the same as the user of the user device DA, the user device DA can transmit a success message (SUCCESS) to the user device DB. That is, only when the user device DA proves that the user of the user device DB is the same as the user of the user device DA, user device DA can receive content transmitted by the user device DB.
FIG. 6 illustrates a method for transmitting content between user devices according to another exemplary embodiment of the present invention.
As in FIG. 5, it is assumed that a home server HS1 and user devices DA, DB, and DC belong to a home network HN1 of a user U1, and a home server HS2 and user devices DD, and DE belong to a home network HN2 of user U2.
In operation 610, the user device DA requests the user device DB to send content C.
In operation 620, user device DB transmits a user common key Kpub_u1′ of the user to whom the user device DB belongs to the user device DA.
In operations 630 and 635, the user device DA generates a certificate value C_A by using an arbitrary random number r, a predetermined device value m and the user common key Kpub_u1′ that is received in operation 620, and then, transmits the certificate value C_A to the home server HS1 to which the user device DA belongs. The device certificate value C_A is generated, for example, as in the following Equation 4:

C—A=m*rKpub—u1′  (Equation 4)

In operations 640 and 645, the home server HS1 generates a server certificate value C_A′ by using the device certificate value C_A received in operation 635 and the user private key Kpri_u1 of user U1 to whom the home server HS1 belongs, and then transmits the server certificate value C_A to the user device DA. The server certificate value C_A′ is generated, for example, as in the following Equation 5:

C—A′=C—AKpri—u1  (Equation 5)

In operation 650, based on the arbitrary random number r, the device certificate value C_A and the device value m used in operation 630, the user device DA examines whether or not the user U1 of the user device DA is the same as the user of the user device DB. If the users are identical, operation 660 is performed. However, if the users are not identical, operation 680 is performed.
When the device certificate value C_A and the server certificate value C_A′ are defined as in Equation 4 and Equation 5, if the user of the user device DB is U1 (i.e., the user common key Kpub_u1′ transmitted in operation 620, of the user (not confirmed) to whom the user device DB belongs is the user common key Kpub_u1 of the user U1) then C_A′r−1 obtained by dividing the server certificate value C_A′ by the random number r is the same as the device value m. This is shown in the following Equation 6:




  
    
      
        
          
            
              
                
                  
                    C_A
                    ′
                  
                  *
                  
                    r
                    
                      -
                      1
                    
                  
                
                =
                
                ⁢
                
                  
                    C_A
                    
                      Kpri
                      ⁢
                      
                        
                      
                      ⁢
                      _
                      ⁢
                      
                        
                      
                      ⁢
                      u
                      ⁢
                      
                        
                      
                      ⁢
                      1
                    
                  
                  *
                  
                    r
                    
                      -
                      1
                    
                  
                
              
            
          
          
            
              
                =
                
                ⁢
                
                  
                    
                      (
                      
                        m
                        *
                        
                          r
                          
                            Kpub
                            ⁢
                            
                              
                            
                            ⁢
                            _
                            ⁢
                            
                              
                            
                            ⁢
                            u
                            ⁢
                            
                              
                            
                            ⁢
                            
                              1
                              ′
                            
                          
                        
                      
                      )
                    
                    
                      Kpri
                      ⁢
                      
                        
                      
                      ⁢
                      _
                      ⁢
                      
                        
                      
                      ⁢
                      u
                      ⁢
                      
                        
                      
                      ⁢
                      1
                    
                  
                  *
                  
                    r
                    
                      -
                      1
                    
                  
                
              
            
          
          
            
              
                =
                
                ⁢
                
                  
                    m
                    
                      Kpri
                      ⁢
                      
                        
                      
                      ⁢
                      _
                      ⁢
                      
                        
                      
                      ⁢
                      u
                      ⁢
                      
                        
                      
                      ⁢
                      1
                    
                  
                  *
                  
                    r
                    
                      Kpub
                      ⁢
                      
                        
                      
                      ⁢
                      _
                      ⁢
                      
                        
                      
                      ⁢
                      u
                      ⁢
                      
                        
                      
                      ⁢
                      
                        1
                        ′
                      
                      *
                      Kpri
                      ⁢
                      
                        
                      
                      ⁢
                      _
                      ⁢
                      
                        
                      
                      ⁢
                      u
                      ⁢
                      
                        
                      
                      ⁢
                      1
                    
                  
                  *
                  
                    r
                    
                      -
                      1
                    
                  
                
              
            
          
          
            
              
                =
                
                ⁢
                
                  
                    m
                    
                      Kpri
                      ⁢
                      
                        
                      
                      ⁢
                      _
                      ⁢
                      
                        
                      
                      ⁢
                      u
                      ⁢
                      
                        
                      
                      ⁢
                      1
                    
                  
                  *
                  
                    r
                    
                      Kpub
                      ⁢
                      
                        
                      
                      ⁢
                      _
                      ⁢
                      
                        
                      
                      ⁢
                      u
                      ⁢
                      
                        
                      
                      ⁢
                      
                        1
                        ′
                      
                      *
                      Kpri
                      ⁢
                      
                        
                      
                      ⁢
                      _
                      ⁢
                      
                        
                      
                      ⁢
                      u
                      ⁢
                      
                        
                      
                      ⁢
                      1
                    
                  
                  *
                  
                    r
                    
                      -
                      1
                    
                  
                
              
            
          
          
            
              
                =
                
                ⁢
                
                  m
                  *
                  r
                  *
                  
                    r
                    
                      -
                      1
                    
                  
                
              
            
          
          
            
              
                =
                
                ⁢
                m
              
            
          
        
         
      
    
    
      
        (
        
          Equation
          ⁢
          
            
          
          ⁢
          6
        
        )
      
    
  




In operation 660, the user device DA transmits a success message (SUCCESS) to the user device DB.
In operation 670, if the user device DB receives the success message (SUCCESS), the user device DB transmits the encrypted content key E(Kpub_s, Kc) and the encrypted content E(Kc, C) to the user device DA.
In operation 680, since the user of the user device DA is not the same as the user of the user device DB, the user device DA determines that content C cannot be received by transmission and the process is stopped.
As in FIG. 5, since the user device DA receives the server certificate value C_A′ including information on the user from the home server HS1, the user device DA cannot pretend that the user to whom the user device DA belongs to is another user. That is, if the user device DA comes to belong to a home network of another user U2, the user device DA will receive a server certificate value from the home server HS2 and therefore, Equation 6 is satisfied. Accordingly, only when the user of the user device DB is the same as the user of the user device DA can the user device DA transmit a success message (SUCCESS) to the user device DB. That is, only when the user device DA proves that the user of the user device DB is the same as the user of the user device DA can the user device DA receive content transmitted by the user device DB.
In the exemplary embodiments of FIGS. 5 and 6, it is possible to define a device value m as m=h(Xa), obtained by hashing unique information Xa of the user device DA.
Since the unique information Xa is hashed and then transmitted to the home server HS1, the unique information Xa is not exposed to the outside.
FIG. 7 illustrates a process for examining whether session keys are identical when session keys are updated, in the content transmission method of FIG. 5.
Even when the user devices DA and DB belong to the same user U1, if the time when the user device DA joins the home network HN1 is different from the time when user device DB joins the home network HN1, the session key Kpri_s held by the user device DB is different from the session key Kpri_s′ held by the user device DA. For example, there can be a case where the user devices DB and DC are in the home network HN1 before time t1, and the user device DB joins the home network HN1 at time t1.
Since a session key used for encrypting a content key is updated if there is a change in elements of a home network, even though the user device DA receives the encrypted content key E(Kpub_s, Kc) transmitted by the user device DB, newly joined user device DA does not have the session key Kpri_s (i.e., the session key before joining the home network) and therefore user device DA cannot obtain content key Kc. Accordingly, when content is transmitted between the user devices DA and DB, a process for examining whether or not versions of session keys are identical is additionally required.
Assuming that the situation is shown as in Table 1, a process for examining the version of a session key will now be explained. Here, the user device DA wants to receive content C from the user device DB.










TABLE 1







Before t1
After t1




















User devices of HN1
DB, DC
DA, DB, DC



Pair of session keys
Kpri_s, Kpub_s
Kpri_s′, Kpub_s′



Encrypted content key
E(Kpub_s, Kc)
E(Kpub_s′, Kc)










In operation 710, the user device DA electronically signs using an electronic signature function S( ) with a first random number r, which is an arbitrary random number, and the session private key Kpri_s′. That is, the user device DA generates the electronic signature value S_A=S(Kpri_s′, r) by encrypting the first random number r using the session private key Kpri_s′ held by the user device DA.
In operation 720, the user device DA transmits the electronic signature value S_A generated in operation 710 and the first random number r to the user device DB.
In operation 730, the user device DB verifies the electronic signature value S_A that is transmitted in operation 720, by using a verification function V( ). That is, the user device DB decodes the electronic signature value S_A transmitted in operation 720 by using the session common key Kpub_s held by the user device DB, and examines whether or not the generated result value, V(Kpub_s, S_A) is the same as the first random number r transmitted in operation 720.
If the session private key Kpri_s′ used for electronically signing by the user device DA is the same as the session private key Kpri_s paired with the session public key Kpub_s held by the user device DB, result value V(Kpub_s, S_A) is the same as first random number r. Thus, the version of a session key pair held by the user device DA is the same as that of a session key pair held by the user device DB.
In operation 740, the user device DB electronically signs by using electronic signature function S( ) with a second random number related to the first random number r in operation 730, for example, r+1, and session private key Kpri_s. That is, the user device DB generates an electronic signature value S_B=S(Kpri_s, r+1) by encrypting the related random number (r+1) with the session private key Kpri_s, which is held by the user device DB.
In operation 750, the user device DB transmits the electronic signature value S_B generated in operation 740 and the related random number (r+1) to the user device DA.
In operation 760, the user device DA verifies the electronic signature value S_B transmitted in operation 750 by using the verification function V( ). That is, the user device DA decodes the electronic signature value S_B transmitted in operation 750 by using the session public key Kpub_s′ held by user device DA, and examines whether or not the generated result value V(Kpub_s′, S_B) is the same as the second random number (r+1) that is obtained by adding 1 to the first random number in operation 710.
In the same manner as in operations 710 through 730, if the session private key Kpri_s used for electronically signing by the user device DB is the same as the session private key Kpri_s′ that is paired with the session public key Kpub_s′ held by the user device DA, the result value V(Kpub_s′, S_B) is the same as the second random number (r+1). This means that the version of the session key pair held by user device DB is the same as that of session key pair held by the user device DA.
The process for examining the version of session keys in operations 710 through 760 is added between operations 660 and 670 in FIG. 5. That is, the process for examining whether or not the versions of session key pairs of the user devices DA and DB are identical is added after the process for confirming whether or not the user devices DA and DB belong to an identical user.
Meanwhile, the method for transmitting content according to an exemplary embodiment of the present invention described above can be implemented as a computer program. Codes and code segments forming the program can be easily inferred by the programmers in the technology field of the present invention. Also, the program is stored in computer readable media, and read and executed by a computer to implement the filtering method. The computer readable media includes magnetic recording media, optical recording media and carrier wave media.
While aspects of the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims. The exemplary embodiments should be considered in descriptive sense only and not for purposes of limitation. Therefore, the scope of the invention is defined not by the detailed description of the invention but by the appended claims, and all differences within the scope will be construed as being included in the present invention.
According to aspects of the present invention as described above, in a home network, by binding content to each user with using a common key structure, not to each device, the content can be safely and conveniently shared.

## Claims

1. A method of transmitting content to a user device from a home server in a home network, the method comprising:
transmitting the content, which is encrypted by using a predetermined content key, and transmitting the predetermined content key, which is encrypted by using a pair of a predetermined session public key and a session private key, to the user device,
wherein the content that is transmitted is bound to a user by allowing transmission of the content from the user device to a first user device only if it is determined that the first user device belongs to the user by using a user public key and a user private key of the user to whom the home server belongs,
wherein the user public key and the user private key are used to determine whether users of a plurality of user devices in the home network are identical,
wherein the session public key and the session private key, used by the plurality of user devices in the home network, are updated if the user device leaves the home network.

2. The method of claim 1, wherein the transmitting comprises:
receiving the user public key and the user private key, which are allocated, of the user to whom the home server belongs;
generating the session public key and the session private key, generating an encrypted session private key by encrypting the session private key using a device public key, which is a public key of the user device, and transmitting the encrypted session private key to the user device; and
transmitting, to the user device, the content, which is encrypted by using the predetermined content key, and the predetermined content key, which is encrypted by using the session private key.

3. The method of claim 2, wherein the user device obtains the session private key by decoding the encrypted session private key using a device private key and the user device obtains the predetermined content key by decoding the encrypted content key using the session private key.

4. The method of claim 1, wherein the public session key and the private session key are generated by the home server.

5. The method of claim 1, wherein the home server receives the user public key and the user private key.

6. A method of transmitting content from a second user device to a first user device in a home network, the method comprising:
determining whether a user of the first user device is identical to a user of the second user device based on pairs of user public keys and user private keys of the first user device and the second user device, and transmitting the content from the second user device to the first user device only if the user of the first user device and the user of the second user device are determined to be identical, wherein the content is bound to a user by a user public key and a user private key of the user to whom each of the user devices belongs.

7. The method of claim 6, wherein the determining comprises:
receiving, from the second user device, a user public key of a second user to whom the second user device belongs;
generating a device certificate value by using a predetermined device value and the public key of the second user, and transmitting the device certificate value that is generated to a home server of the first user device;
determining whether the first user and the second user are identical based on a server certificate value that is generated by the home server by using the device certificate value and the user private key of the first user to whom the first user device belongs and the predetermined device value; and
receiving the content that is encrypted by using a predetermined content key, and a content key that is encrypted by using a predetermined session public key, wherein the content and the content key are transmitted by the second user device if the first user and the second user are determined to be identical, wherein the session private key that corresponds to the session public key is transmitted to the user device by using a pair of the public key and private key of the user device if registration of the user device with the home network changes.

8. The method of claim 7, wherein the device certificate value (C_A) is generated using the following equation:


C—A=mKpub—u1′

where m is a device value, and Kpub_u1' is a user public key that is transmitted by the second user device.

9. The method of claim 8, wherein the server certificate value (C_A′) is generated using the following equation:


C—A′=C_AKpri—u1

where Kpri_u1 is the user private key of the first user.

10. The method of claim 9, wherein the determining whether or not the first user and the second user are identical comprises determining whether the server certificate value (C_A′) is the same as the device value (m).

11. The method of claim 6, wherein the device certificate value (C_A) is generated using the following equation:


C—A=m*rKpub—u1′

where m is a device value, Kpub_u1′ is the user public key transmitted by the second device, and r is an arbitrary random number.

12. The method of claim 11, wherein the server certificate value (C_A′) is generated using the following equation:


C—A′=C—AKpri—u1

where Kpri_u1 is the user public key of the first user.

13. The method of claim 12, wherein the determining whether the first user and the second user are identical comprises determining whether a value that is obtained by dividing the server certificate value (CA′) by an arbitrary random number (r) is the same as the device value (m).

14. The method of claim 7, further comprising:
determining the content from the second user device cannot be received and stopping transmission of content if the users are determined not to be identical.

15. The method of claim 7, further comprising:
determining whether a session private key of the first user device is identical to a session private key of the second user device by using an electronic signature if the users are determined to be identical.

16. The method of claim 15, wherein the determining whether the session private key of the first user device is identical to the session private key of the second user device comprises:
generating, at the first user device, a first electronic signature value by encrypting an arbitrary first random number using the session private key of the first user device;
transmitting, from the first user device, the first electronic signature value and the first random number to the second user device; and
decoding, at the second user device, the first electronic signature value by using the session public key of the second user device, and determining whether a result value that is generated by decoding the first electronic signature value is identical to the first random number.

17. The method of claim 16, wherein the determining whether the session private key of the first user device is identical to the session private key of the second user device further comprises:
generating, at the second user device, a second electronic signature value by encrypting an arbitrary second random number using the session private key of the second user device;
transmitting, from the second user device, the second electronic signature value and the second random number to the first user device; and
decoding, at the first user device, the second electronic signature value by using the session public key of the first user device, and determining whether a result value that is generated by decoding the second electronic signature is identical to the second random number.

18. The method of claim 17, wherein the first random number and the second random number are related to each other.

19. The method of claim 6, wherein a home server of the home network determines whether the user of the first user device is identical to a user of the second user device.

20. A non-transitory computer readable storage medium having embodied thereon a computer program for executing a method of transmitting content to a user device from a home server in a home network, the method comprising:
transmitting the content, which is encrypted by using a predetermined content key, and transmitting the predetermined content key, which is encrypted by using a pair of a predetermined session public key and a session private key, to the user device,
wherein the content that is transmitted, is bound to a user by allowing transmission of the content from the user device to a first user device only if it is determined that the first user device belongs to the user by using a user public key and a user private key of the user to whom the home server belongs,
wherein the user public key and the user private key are used to determine whether users of a plurality of user devices in the home network are identical,
wherein the session public key and the session private key, used by a plurality of user devices in the home network, are updated if the user device leaves the home network.

21. The computer readable storage medium of claim 20, wherein the public session key and the private session key are generated by the home server.

22. The computer readable storage medium of claim 20, wherein the home server receives the user public key and the user private key.

23. A non-transitory computer readable storage medium having embodied thereon a computer program for executing a method of transmitting content from a second user device to a first user device in a home network, the method comprising:
determining whether a user of the first user device is identical to a user of the second device based on pairs of user public keys and user private keys of the first user device and the second user device, and transmitting the content from the second user device to the first user device only if the users of the first device and the second device are determined to be identical, wherein the content is bound to a user by a user public key and a user private key of the user to whom each of the user devices belongs, wherein the determining comprises:
receiving, from the second user device, a user public key of a second user to whom the second user device belongs;
generating a device certificate value by using a predetermined device value and the public key of the second user, and transmitting the device certificate value that is generated to the home server of the first user device;
determining whether the first user and the second user are identical based on the server certificate value that is generated by the home server by using the device certificate value and the user private key of the first user to whom the first user device belongs and the predetermined device value; and
receiving the content that is encrypted by using a predetermined content key, and a content key that is encrypted by using a predetermined session public key, wherein the content and the content key are transmitted by the second user device if the first user and the second user are determined to be identical,
wherein the session private key that corresponds to the session public key is transmitted to the user device by using a pair of the public key and private key of the user device if registration of the user device with the home network changes.