WO1999035786A1 - Systeme, dispositif et procede de traitement de donnees - Google Patents

Systeme, dispositif et procede de traitement de donnees Download PDF

Info

Publication number
WO1999035786A1
WO1999035786A1 PCT/JP1998/006007 JP9806007W WO9935786A1 WO 1999035786 A1 WO1999035786 A1 WO 1999035786A1 JP 9806007 W JP9806007 W JP 9806007W WO 9935786 A1 WO9935786 A1 WO 9935786A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
information processing
information
value
processing device
Prior art date
Application number
PCT/JP1998/006007
Other languages
English (en)
French (fr)
Inventor
Ryuji Ishiguro
Yoshitomo Osawa
Tomoyuki Asano
Original Assignee
Sony Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to EP98961646A priority Critical patent/EP0966127A1/en
Publication of WO1999035786A1 publication Critical patent/WO1999035786A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91357Television signal processing therefor for scrambling ; for copy protection by modifying the video signal
    • H04N2005/91364Television signal processing therefor for scrambling ; for copy protection by modifying the video signal the video signal being scrambled

Definitions

  • the present invention relates to an information processing system, an information processing apparatus, and an information processing method, and particularly to an information processing system, an information processing apparatus, and an information processing method suitable for use in an authentication protocol used for copyright protection. .
  • the act of a general user outputting movie information reproduced by a DVD player to a monitor via the 1394 serial bus and displaying the movie information generally involves purchasing a DVD. At that point, the copyright holder of the movie information is deemed to have been accepted.
  • the act of recording movie information reproduced by a DVD player on a magneto-optical disk or other recording medium requires special permission from the copyright holder. In such a case, for example, A key indicating whether or not recording of movie information is permitted in the disk device is stored, and the magneto-optical disk device is used by this key to make a license from a valid device, that is, a license from the copyright holder.
  • Authentication is performed as to whether or not the device has received the movie information, and only the magneto-optical disk device that has been authenticated as a legitimate device is permitted to record movie information.
  • a device that transmits movie information hereinafter, such a device is referred to as a source
  • a device that receives the transmission hereinafter, such a device is referred to as a sink
  • an authentication protocol using such an encryption algorithm is assigned to Japanese Patent Application No. 9-2097953, Japanese Patent Application No. 9-120989, and the assignee of the present applicant.
  • Information processing apparatus in iormation processing method, information processing sysxem and recording medium j US serial numbers 09/059, 757 (filed April 14, 1998) and ⁇ information processing apparat US, information processing method, information processing system and recording mediumj US serial number 09/059, 812 (filed on April 14, 1998).
  • strong symbolic algorithms are banned from exporting, so if a cryptographic algorithm is used in the authentication protocol, it cannot be exported or used in other countries. Problems can arise. Therefore, an object of the present invention is to provide an information processing system, an information processing apparatus, and an information processing method that can perform an authentication process using a predetermined function.
  • the present invention relates to an information processing system including a first information processing device and a second information processing device, wherein the first information processing device is configured to store a service key and a predetermined function.
  • First storage means for storing and receiving data between the second information processing apparatus, and the first transmission / reception means received from the second information processing apparatus by the first transmission / reception means.
  • a first intermediate key generating means for generating a first intermediate key by applying the function to the identification information unique to the second information processing apparatus and the service key; and the first intermediate key
  • a judgment key generating means for generating a judgment key by applying the above function to the key n times (n is an integer), and the function is applied to the first intermediate key by the judgment key generating means.
  • the number data indicating the number of times (1) a number data transmission means to be transmitted to the second information processing apparatus by the first transmitting / receiving means, and the intermediate key information received from the second information processing apparatus by the first transmitting / receiving means by the determination key and the first transmitting / receiving means.
  • the second Second intermediate key generating means for generating an intermediate key, and intermediate key information transmission for causing the first information processing apparatus to transmit intermediate key information, which is information relating to the second intermediate key, to the first information processing apparatus.
  • the present invention provides a first information processing device that stores a service key and a predetermined function, a unique identification information allocated to itself, and the above function as G b (G b (Natural number)
  • G b G b (Natural number)
  • a license key generated by applying the number of times, a version data indicating the purge of the license key, and information in an information processing system including a second information processing device storing the predetermined function.
  • a processing method comprising: an identification information requesting step for requesting identification information unique to the second information processing device from the first information processing device to the second information processing device; a soap; and the second information.
  • a determination key generation step, and count data indicating the number of times the function has been applied to the first intermediate key in the determination key generation step are transmitted from the first information processing apparatus to the second key.
  • the number of data received by the information processing device and the number of data received by the number data receiving step in the second information processing device are used to assign the function to the license key.
  • Gb) a second intermediate key generation step for generating a second intermediate key K lic—n by applying G b) times; and intermediate key information that is information on the second intermediate key.
  • the information processing apparatus includes: a storage unit that stores a service key and a predetermined function; a transmission / reception unit that transmits and receives data to and from another information processing device; Intermediate key generation means for generating an intermediate key by applying the function to the identification information unique to the other information processing apparatus and the service key received from the other information processing apparatus; A judgment key generating means for generating a judgment key by applying the function to the intermediate key n times (n is an integer); and applying the function to the intermediate key by the judgment key generating means.
  • a number data transmitting means for transmitting the number of times indicating the number of times performed by the transmitting / receiving means to the other information processing apparatus; Key
  • An authentication means for authenticating the other information processing apparatus by determining whether or not both are equal based on the one information.
  • the information processing method includes: an identification information receiving step for requesting and receiving identification information unique to another information processing apparatus from the other information processing apparatus; A first intermediate key generating step of generating a first intermediate key by applying a predetermined function to identification information and a service key unique to the other information processing apparatus; By applying the above function n times (where n is an integer) to the intermediate key of, the determination key generation step for generating the determination key and the first intermediate key in the determination key generation step The number data transmission step of transmitting the number data indicating the number of times the above function is applied to the other information processing device, and an intermediate key generated based on the number of times by the other information processing device.
  • the information processing apparatus provides a unique identification information assigned to itself, a license generated by applying a predetermined function to the first intermediate key Gb times (Gb is a natural number) times.
  • the second Second intermediate key generation means for generating an intermediate key, and intermediate key information transmission for transmitting the intermediate key information, which is information on the second intermediate key, to the first information processing apparatus by the second transmission / reception means.
  • the information processing method includes an identification information transmitting step of transmitting unique identification information assigned to itself to another information processing apparatus, and a first intermediate key in the other information processing apparatus.
  • FIG. 1 is a block diagram showing a configuration example of an information processing system to which the present invention is applied.
  • FIG. 2 is a block diagram showing a specific configuration example of the inside of a DVD player, a personal computer, and a magneto-optical disk device in the information processing system.
  • FIG. 3 is a diagram for explaining an authentication procedure performed between a source and a sink in the information processing system.
  • FIG. 4 is a timing chart for explaining a basic procedure of authentication performed between the source and the sink.
  • FIG. 5 is a timing chart showing a specific procedure of an authentication process performed between the source and the sink.
  • FIG. 6 is a timing chart showing another authentication process performed between the source and the sink.
  • the present invention is applied to, for example, an information processing system having a configuration as shown in FIG.
  • This information processing system consists of a DVD player 1, a personal computer 2, a magneto-optical disk device 3, a data broadcasting receiver 4, a monitor 5, a television 5, and a DVD player 1, which are interconnected via an IE EE 1394 serial bus 11. It consists of 6 receivers.
  • FIG. 2 shows a specific example of the internal configuration of the DVD player 1, the personal computer 2, and the magneto-optical disk device 3.
  • the DVD player 1 includes a CPU 21, a ROM 22, an AM 23 operation unit 24, a drive 25, a 1394 interface 26, an EEPROM 27, and the like, which are interconnected via an internal bus 28.
  • the DVD player 1 is connected to an IEEE 1394 serial bus 11 via a 1394 interface 26.
  • the CPU 21 executes various processes according to a program stored in the ROM 22.
  • the RAM 23 stores data and programs necessary for the CPU 21 to execute various processes.
  • the operation unit 24 includes a button, a switch, a remote controller, and the like, and outputs a signal corresponding to an operation by a user.
  • the drive 25 drives a DVD (not shown) and reproduces data recorded on the DVD.
  • the EE PROM 27 stores information that needs to be stored even after the device is turned off, such as key information.
  • the magneto-optical disk unit 3 includes a CPU 31, a R 3M 32, a RAM 33, an operation unit 34, a drive 35, and a 1 394 interface 3 interconnected via an internal bus 38. 6, equipped with EEPR OM 37, etc., CPU 31, ROM 32, RAM 33, operation unit 34, drive 35, 1 3 9 4
  • the first 36, the EEPROM 37, the internal bus 38, etc. are the same as the CPU 21 in the DVD player 1, 0M22, RAM 23, operation unit 24, drive 25, 1 3 9 4 It can have the same function as the Infinity Table 26, EEPRO ⁇ 27, Internal Bus 28, etc., and detailed description is omitted.
  • the drive 35 drives a magneto-optical disc (not shown), and records or reproduces data therefrom.
  • the personal computer 2 has a CPU 41, a ROM 42, a RAM 43, and an input / output interface 44, 13 9 4 connected to each other via an internal bus 51.
  • One 49, EEPR OM 50, It has a keyboard 45, a mouse 46, a hard disk drive (HDD) 47, an expansion board 48, etc. connected to the input / output interface 44.
  • HDD hard disk drive
  • the personal computer 2 is connected to the IEEE 1394 serial bus 11 via a 1394 interface--face 49.
  • the CPU 41 executes various processes according to the program stored in the ROM 42.
  • the RAM 43 stores data and programs necessary for the CPU 41 to execute various processes.
  • the input / output interface 44 outputs a signal input from the keyboard 45 or the mouse 46 to the CPU 41.
  • the input / output interface 44 can record and reproduce data and programs using a hard disk drive (HDD) 47.
  • HDD hard disk drive
  • the EPROM 50 stores information that needs to be stored even after the apparatus is turned off, such as key information.
  • the internal bus 51 is constituted by, for example, a PCI (Peripheral Component Interconnect) or a single-bus.
  • the internal bus 51 is open to the user, and the user can connect a predetermined board to the expansion board 48, generate a predetermined software program, and execute the CPU. By installing it on 41, it is possible to receive data transmitted by the internal bus 51.
  • consumer electronics (CE) devices such as the DVD player 1 and the magneto-optical disk device 3 have internal buses 28 and The internal bus 38 is not open to the user, so that the user cannot acquire the data transmitted there unless special modification is performed.
  • the authentication process performed to protect the copyright is performed by a firmware 20 which is one of the software programs pre-stored in the ROM 22 of the DVD player 1 as a source, for example.
  • the actual data transfer between the license manager 62, which is one of the software programs stored in the R2M 42 of the personal computer 2 as a sink and processed by the CPU 41, is performed. It is done before it is done.
  • the personal computer 2 can usually load and use an arbitrary application program. And, as this application program, an unauthorized one may be used. Therefore, as shown in FIG. 3, the personal computer 2 performs an authentication process between the application unit 61 and the license manager 62 for each application program loaded.
  • the license manager 62 is the source and the application unit 61 is the sink.
  • the encrypted real data is transferred from the source to the sink, and the sink decrypts the encrypted real data.
  • the video data which is the actual data output from the DVD player 1 as a source, is transmitted via the 1394 serial bus 11. Transmitted to Sonal Computer 2 and decrypted.
  • the encryption process is performed in the 1394 interface 26 using the session key S and the time-varying key i.
  • the session key S and the time-varying key i are supplied from the firmware 20 to the 1394 interface 26, respectively. .
  • the session key S is composed of an initial value key Ss used as an initial value and a disturbance key Si used to disrupt the time-varying key i.
  • This session key S is updated as appropriate for each session (for example, for each piece of movie information or for each playback), but is not changed within the same session.
  • a time-varying key i composed of a disturbance key S i and a key i ′ is a key that is frequently updated in one session, and for example, time information is used.
  • the actual data encrypted in this manner is transmitted via the IEEE1394 serial bus 11 and received by the 1394 interface 49 of the personal computer 2.
  • Personal Consumer In the evening 2, the license manager 62 supplies the initial value key S s of the session key S to the application unit 61, and the disturbance key S i and the time-varying key i (exactly Supplies the key i,) for generating the time-varying key i to the 1394 in 1st face 49. Then, at the 1394 interface 49, a time-varying key i is generated from the disturbance key S i and the key i, and the first-stage decryption is performed The decrypted actual data is further decrypted in the application unit 61 using the session key S (more precisely, the initial value key S s).
  • the internal bus 51 since the internal bus 51 is open to the user, data on the internal bus 51 may be accessed from the outside and cause a problem. Performs only the first stage of decryption, and the actual data is still in an encrypted state. Then, in the application section 61, the second-stage decryption is further performed to obtain a completely decrypted plaintext. This prohibits copying of data transmitted and received on the internal bus 51 to the hard disk 47 and other devices.
  • FIG. 4 shows a basic procedure of an authentication process performed between a source (DVD player 1) and a sink (personal computer 2).
  • a service key (Service-key) and a hash function (HI, H 2) are stored in advance in the EPPROM 27 of the DVD player 1 as a source. These are all given to the user of the DVD Player 1 by the copyright holder and are kept confidential in EEPPR0M27.
  • the service key is given for each piece of information provided by the copyright holder, and is common in a system composed of the IEEE 1394 serial bus 11.
  • Representative one-way hash functions include MD (Message Digest) 5 and SHA (Soecure Hash Algorithm). The -direction hash function is described in detail in "Applied Cryptography (Second Edition, Willy)" by Bruce Schneier.
  • the personal computer 2 serving as the sink has data G b indicating the version of the identification number (ID) unique to itself, the license key (license_key), the hash function (HI, H2), and the license key (license_key). Is kept secret in EEPR0M50.
  • the license key (license_key) is composed of n + m bits of concatenated data (ID II Service—key) obtained by concatenating the n-bit identification number (ID) and the m-bit service key (Service_key). On the other hand, it is a value obtained by applying the hash function HI Gb times. That is, the license key (1 license-key) is expressed by the following equation.
  • ID a node-unique-ID defined in the standard of 1394 serial bus 11 can be used.
  • This node—unique—ID is composed of 8 bytes (64 bits), the upper 3 bytes are managed by the IEEE, each manufacturer of electronic equipment is given a unique value from the IEEE, and the lower 5 bytes are assigned by the IEEE. It can be given to each device provided by the manufacturer to the user.
  • Each manufacturer has an example For example, serial numbers are assigned to the lower 5 bytes, one for each unit, and when all 5 bytes are used, the upper 3 bytes are further different numbers node— unique— Receives an ID and assigns one number to each of the lower 5 bytes. Therefore, this node_unique-ID is different for each device, regardless of the manufacturer, and is unique to each device.
  • step S1 the license manager 62 of the personal computer 1 transmits an authentication request to the DVD player 1 via the 1394 serial bus 11 by controlling the 1394 interface 49.
  • step S2 the firmware 20 of the DVD player 1 receives the authentication request.
  • step S3 the firmware 20 requests an identification number (ID) from the personal computer 2 in order to perform an authentication process.
  • ID identification number
  • step S4 the license manager 62 of the personal computer 2 receives the request for the identification number (ID), and in step S5, responds to the identification number (ID) stored in the EEPR0M50 as a response. ) Is read and transmitted to the DVD player 1.
  • step S6 the firmware 20 of the DVD player 1 receives the identification number (ID). Then, in step S7, the firmware 20 reads out the license key (license_key) stored in the EEPROM 27, and concatenates the received identification number (ID) with the license key to identify, for example, the upper bit. Generates a concatenated data (ID II Service_key) with the number (ID) and the lower bits as the license key (license—key). Applying the hash function H 1 as shown in
  • step S8 the firmware 20 of the DVD player 1 selects a variable n that satisfies 0 ⁇ n ⁇ C1.
  • n is a value that is set in advance so as to satisfy 0 ⁇ n ⁇ C1, and may not be selected in step S8.
  • C1 is a constant set in the system in advance.
  • step S9 the firmware 20 applies the hash function H1 n times to the key Km generated in step S7 as shown in the following equation,
  • step SI1 the license manager 62 of the personal computer 2 receives the variable n. Then, in step S 34, the license manager 62 applies the hash function HI (n ⁇ Gb) times to the license key (license_key) stored in the EE PROM 50 as shown in the following equation,
  • K licn H 1 "(n-Gb) (license key) Generate the key K lic—n.
  • n of (n—Gb) is the variable n received in step S 11, and Gb is the license key (license_key) stored in the EEPR 0 M 50 of the personal computer 2. This is information indicating the version.
  • the license key is an n + m-bit concatenated data (Service-key) obtained by concatenating an n-bit identification number (ID) and an m-bit service key (Service-key).
  • the hash function is applied negatively, that is, the inverse function of the hash function is obtained, and the inverse function of the hash function is obtained as described above. Is difficult, so that if (n—G b) ⁇ 0, it is practically impossible to generate the key K 1 ic—n. Therefore, by utilizing this property, it becomes possible to manage the version information Gb of the license key. For example, if a device with a high security function and a device with a low security function exist as devices on the sink side, the version of the license key (license_key) is used for the device with a high security function.
  • a license key (license_key) having a higher value that is, a license key (license_key) having a larger value of the version information Gb is given to a device having a low confidentiality function, thereby exposing the license key (license_key).
  • the process of excluding the sink having a higher-order license key (license-key) from the authentication target can be performed by selecting the variable n on the source side.
  • step S13 the license manager 62 adds, for example, to the Keyedhash function H2 using the key K1ic-n as a By applying the data with the second value N b (N a II Nb),
  • the Keyedhash function is a hash function with a key
  • Keyedhash H 2 (K 1 i c_n, Na
  • step S14 the license manager 62 sends a response R to the DVD player 1.
  • the firmware 20 of the DVD player 1 is Receives the response R transmitted from the license manager 62. Then, in step S16, the firmware 20 adds the upper bit to the first value Na and the lower bit to the keyed hash H2 using the key Km-n generated in step S9 as a key. It is determined whether or not the response R 'obtained by applying the value Nb (Na II Nb) of the value Rb is equal to the response R received in step S15.
  • step S9 When the key Km—n generated in step S9 is equal to the key K1ic_n generated in step S13, the response R ′ generated in step S16 is the response received in step S15. Equal to R.
  • the firmware 20 determines that the license manager 62 of the personal computer 2 is invalid and discards the received response R. The authentication process ends.
  • the firmware 20 performs authentication.
  • FIG. 5 shows a specific authentication procedure performed between a source (DVD player 1) and a sink (personal computer 2).
  • a service key (Service key) and a hash function (HI, H2, ⁇ 3) are stored in advance. These are all given by the copyright holder to the user of the DVD player 1 and are stored in the EEPROM 27 in secret.
  • the service key is given for each piece of information provided by the copyright holder and is common in a system configured with the IEEE1394 serial bus 11.
  • the personal computer 2 as a sink has an identification number (ID) unique to itself, a license key (license-key), a hash function (H1, H2, H3) and a license key (license_key ) Is kept secret in EEPR0M50.
  • ID identification number
  • license-key license key
  • hash function H1, H2, H3
  • license_key license key
  • the license key is a
  • H l to G b indicates that the hash function H I is applied Gb times. That is, the license key (license-key) is an n + m-bit concatenated data obtained by concatenating an n-bit identification number (ID) and an m-bit service key (Service-key). This value is obtained by applying the hash function H 1 G b times to (ID
  • ID a node-unique-ID defined in the standard of the 1394 serial bus 11 is used.
  • step S21 the license manager 62 of the personal computer 2 generates a random number Nb. Then, in step S22, the license manager 62 controls the generated random number Nb and version information Gb by controlling the interface 13 Via bus 1 1 towards DVD player 1 And send it along with the authentication request.
  • step S23 the firmware 20 of the DVD player 1 receives the random number Nb and the version information Gb along with the authentication request.
  • step S24 the firmware 20 requests the personal computer 2 for an identification number "" (ID) in order to perform an authentication process.
  • ID identification number
  • step S25 the license manager 62 of the personal computer 2 receives the request for the identification number (ID).
  • step S26 the license manager 62 reads the identification number (ID) stored in the EEPROM 50 as a response. , DVD Player 1 to send.
  • step S27 the firmware 20 of the DVD player 1 receives the identification number (ID). Then, in step S28, the firmware 20 reads out the license key (license-key) stored in the EEPROM 27, connects the received identification number (ID) and the license key (license-key), and A concatenated data (ID II Service—key) is generated using the upper bits as an identification number (ID) and the lower bits as a license key (license key), and the generated concatenated data (ID II Service— key) by applying the hash function H 1 as shown in the following formula,
  • the firmware 20 of the DVD player 1 selects a variable n that satisfies 0 ⁇ nC1.
  • n is a value set in advance so as to satisfy 0 ⁇ n ⁇ C1 and may not be selected in step S29.
  • C 1 is a system It is a constant set in.
  • firmware 2
  • step S30 the hash function H1 is applied n times to the key Km generated in step S28 as shown in the following equation.
  • step S31 the firmware 20 generates a random number Na.
  • step S32 the firmware 20 transmits the random number Na and the variable n to the personal computer 2.
  • step S33 the license manager 62 of the personal convenience 2 receives the random number Na and the variable n.
  • step S34 the license manager 62 adds the hash function HI to the license key stored in the EEPROM 50 as shown in the following equation (n—Gb). Apply once
  • n of (n—Gb) is the variable n received in step S33
  • Gb is the number of the license key (license_key) stored in the EEPROM 50 of the personal computer 2.
  • the license key (license_key) is a concatenated data (n + m bits) obtained by concatenating the n-bit identification number (ID) and the m-bit service key (Service_key). ID
  • Service — k ey) is generated by applying the hash function H 1 Gb times to the license key.
  • the hash function is applied negatively, that is, the inverse function of the hash function is obtained, and the inverse function of the hash function is obtained as described above. It is difficult to generate the key K 1 ic- n if (n ⁇ Gb) ⁇ 0. Therefore, by utilizing this property, it becomes possible to manage the version information Gb of the license key (license_key). For example, if a device with a high confidentiality function and a device with a low confidentiality function exist as devices on the sink side, the version of the license key (license_key) is used for the device with a high confidentiality function.
  • license_key a license key having a higher value, that is, a larger value of the version information Gb
  • the process of excluding the sink having a higher-order license key (license_key) from the target of authentication can be performed by selecting the variable n on the source side.
  • Step S35 the license manager 62 adds the random number Na received in Step S33 and the random number Na received in Step S33 to the Keyedhash function H2 using the key K1ic_n as shown in the following equation.
  • the Keyedhash function is a hash function with a key, and Keyedhash H 2 (K lic—n, Na
  • step S36 the license manager 62 sends a response R to the DVD player 1.
  • the firmware 20 of the DVD player 1 receives the response R transmitted from the license manager 62 in step S37. Then, in Step S38, the firmware 20 receives the random number Na generated in Step S31 and the Keye dhash H2 having the key Km-n generated in Step S30 as a key, and receives the random number Na in Step S3. It is determined whether or not the response R, obtained by applying the concatenated data (N a
  • step S30 When the key K 1 ic—n generated in 34 is equal, the response R ′ generated in step S38 becomes equal to the response R received in step S37.
  • the firmware 20 determines that the license manager 62 of the personal computer 2 is invalid, discards the received response R, and performs authentication. The process ends.
  • step S39 when the generated response R 'is equal to the received response R, the firmware 20 proceeds to step S39.
  • step S39 the firmware 20 concatenates the key Km-n generated in step S30, the random number Na generated in step S31, and the random number Nb received in step S3, and Evening (Km—n II Na II N b) is generated, and a hash function H 3 is applied to this concatenated data (Km—n
  • K a b H 3 (Km_n
  • step S40 the firmware 2 ⁇ generates a session key sk. Further, in step S41, the firmware 20 encrypts the session key sk with the key Kab generated in step S39 by the operation shown in the following equation,
  • Enc (A, B) is a common key encryption method, which means that data B is encrypted using key A. Then, in step S42, the firmware 20 The generated encryption key X is sent to the personal computer overnight 2.
  • the license manager 62 of the personal computer 2 receives the encryption key X in step S43. Further, in step S44, the license manager 62 concatenates the key K1ic-n generated in step S34, the random number Na received in step S33, and the random number Nb generated in step S21. , Generates a concatenated data (K lic— n
  • K a b ' H 3 (K m_n
  • step S45 the license manager 62 decrypts the encryption key X received in step S43 using the key K a b, generated in step S44, as follows:
  • D e c (A, B) means that data B is decrypted using key A in the common key cryptosystem.
  • DES Data Encrption Standard
  • the secret key cryptosystem is also described in the above-mentioned Factory Applied Cryptography (Second Edition), Wileyj.
  • the session key sk ′ obtained by decrypting the encryption key X by the personal manager in step S45 described above by the license manager 62 in the evening 2 is obtained by the firmware 20 of the DVD player 1 in step S40 described above. It has the same value as the generated session key sk. That is, the following equation holds.
  • the same session keys sk and sk ' can be supplied to both the firmware 20 (source) of the DVD player 1 and the license manager 62 (sink) of the personal computer 2. Therefore, the session key sk can be used as it is as the # key, or a pseudorandom number can be generated for each of them based on this key and used as the encryption key.
  • the license key (license_key) is generated based on the identification number (ID) unique to each device and the service key (Service_key) for the information to be supplied. It is not possible to generate session key sk or session key sk '.
  • a device not recognized by the copyright holder does not have a license key (key-key), and therefore cannot generate a session key sk or a session key sk '. Therefore, when the DVD player 1 encrypts the actual data using the session key sk and transmits it to the personal computer 2, the personal computer 2 obtains the license key (license_key) properly.
  • the personal computer 2 is not an appropriate one, the encryption key X cannot be decrypted, so that the personal computer 2 does not have the session key sk 'and decrypts the transmitted encrypted real data. Can not do it. In other words, only the appropriate device can generate a common session key sk, sk ', and as a result, authentication is performed.
  • hash function a plurality of hash functions are used.
  • one hash function may be used.
  • MD Message Digest
  • the case of using MD (Message Digest) 5, which is widely used as the hash function will be described as an example, and the authentication procedure will be described with reference to the timing chart of FIG.
  • step S58 the firmware 20 of the DVD player 1 concatenates the constant El, the identification number (ID) received from the personal computer 2, and the service key stored in the EEPROM 27. Then, a concatenated data (E 1
  • the constant E1 is previously set in common within the system.
  • These constants E1 to E4 are kept secret in each system.
  • the total number of bits of the concatenated data (E 1 II ID II Service—key) obtained by concatenating the data is 448 bits.
  • the concatenated data (E1IIIDII Service—key) is compressed to 128 bits by applying the hash function MD5, and is used as the key Km.
  • step S59 the firmware 20 of the DVD player 1 selects a variable n that satisfies 0 ⁇ n ⁇ C1. Note that the selection of the variable n is the same as step S29 in the authentication processing procedure shown in FIG. 5 described above.
  • step S60 the firmware 20 concatenates the constant E2 with the key Km generated in step S58 above, and concatenates the concatenated data (E2IIKm). And apply the hash function MD5 n times as shown in the following formula,
  • the key K m is a 128-bit data, so by setting the constant E 2 to 320 bits, the concatenation obtained by concatenating them is obtained.
  • the total number of bits in a day (E 2 II Km) is 4
  • the concatenated data (E 2 II Km) is compressed to 128 bits by applying the hash function MD5 to obtain a key Km-n.
  • Step S61 the firmware 20 generates a random number Na. Then, in step S62, the firmware 20 receives the random number Na generated in step S62 and the step S62.
  • variable n selected in 59 is transmitted to the personal computer 2.
  • step S63 the license manager 62 of the personal convenience store 2 receives the random number Na and the variable n. Then, in step S64, the license manager 62 adds the hash function MD5 to the license key stored in the EEPROM 50 as shown in the following equation (n—Gb ) Apply
  • step S65 the license manager 62 sets the constant E3, the random number Na received in step S63, the random number Nb generated in step S51, and the key K1ic-n generated in step S64. And applying the concatenated data (E 3 II Na II Nb II K lic— n) to the hash function MD 5, as shown in the following equation,
  • step S66 the license manager 62 sends a response R to the DVD player 1.
  • the firmware 20 of the DVD player 1 receives the response R transmitted from the license manager 62 in step S67. Then, in step S68, the firmware 20 calculates the constant E3, the random number Na generated in step S61, the random number Nb received in step S53, and the key Km-n generated in step S60. Concatenated and obtained by applying the concatenated data (E 3 II N a II Nb II Km n) to the hash function MD 5 It is determined whether or not the response is equal to the response received in step S67.
  • the firmware 20 determines that the license manager 62 of the personal computer 2 is invalid, discards the received response R, and performs authentication. The process ends.
  • step S69 when the generated response R 'is equal to the received response R, the firmware 20 proceeds to step S69.
  • step S69 the firmware 20 concatenates the constant E4, the random number Nb received in step S53, the random number Na generated in step S61, and the key Km-n generated in step S60, Generate the concatenated data (E4IINbIINaIIKm-n), and apply the hash function to this concatenated data (E4IINbIINaIIKm-n) as shown in the following equation. Apply MD 5,
  • step S70 the firmware 20 generates a session key sk. Further, in step S71, the firmware 20 executes the operation shown in the following equation to execute step S69.
  • the session key sk is encrypted with the generated key Kab,
  • step S72 the firmware 20 transmits the generated encryption key X to the personal computer 2.
  • the license manager 62 of the personal computer 2 receives the encryption key X in step S73. Further, in step S74, the license manager 62 determines the constant E4, the random number Nb generated in step 7S1, the random number Na received in step S63, and the key K1ic-n generated in step S64. To generate the concatenated data (E 4 II Nb II N a
  • the license manager 62 decrypts the encryption key X received in step S73 by using the key K a b, generated in step S74, and
  • step S the key Kab generated by the firmware 20 of the DVD player 1 5 7 4 License Manager for Personal Computer 2
  • the session key sk ′ obtained by decrypting the encryption key X by the license manager 62 of the personal computer 2 in step S75 described above is stored in the firmware 2 of the DVD player 1 in step S70 described above.
  • the value is the same as the session key sk generated by 0, and the following expression is satisfied.
  • the key Kab is used to encrypt the session key sk, but in consideration of export restrictions and the like, if a child who can use only a shorter number of bits can be used, A new function F common to the system is prepared, and this function F is used to reduce. This function F must be kept secret in the system. For example, as a method of this reduction, when the input is 128 bits, a function F that outputs XOR (exclusive OR) of the upper 64b bits and the lower 64 bits is used. As a result, a 128-bit string can be reduced to a 64-bit string.
  • the DVD player 1 (firmware 20) is used as a source, and the personal computer 2 (license manager 62) is used as a sink.
  • the external bus connecting various electronic devices is not limited to the 1398 serial bus, and various buses can be used.
  • the electronic devices connected to the bus are also described above.
  • the present invention is not limited to this example, and may be any device.
  • the above-mentioned various programs for executing the various commands are transmitted to the user via a recording medium such as a magnetic disk or CD-ROM disk, or via a transmission medium such as a network. It can be used by storing it in RAM or a hard disk.

Description

明 細 情報処理システム、 情報処理装置及び情報処理方法
技 術 分 野 本発明は、 情報処理システム、 情報処理装置及び情報処理方法に 関し、 特に、 著作権保護に用いられる認証プロ トコルに用いて好適 な情報処理システム、 情報処理装置及び情報処理方法に関する。
背 景 技 術 近年、 A V機器やパーソナルコンビュ一夕等の電子機器を、 例え ば I E E E 1 3 9 4シリアルバスを介して相互に接続し、 相互の間 でデ一夕を送受することができるようにしたシステムが提案されて いる。
このようなシステムにおいて、 例えば一般のュ一ザが、 D V Dプ レーャにより再生された映画情報を、 1 3 9 4シリアルバスを介し てモニタに出力して表示させる行為は、 一般的に D V Dを購入した 時点において、 映画情報の著作権者から許容されているものとされ る。 しかしながら、 D V Dプレーヤにより再生された映画情報を、 光磁気ディスク、 その他の記録媒体に記録する行為は、 著作権者か らの特別な許諾が必要となる。 このような場合、 例えば、 光磁気デ ィスク装置に映画情報を記録することが許可されているか否かを表 すキ一を記憶しておき、 このキーを利用して、 その光磁気ディスク 装置が正当な装置すなわち著作権者からのライセンスを受けた装置 であるか否かを認証するようにし、 正当な装置として認証された光 磁気ディスク装置のみに映画情報の記録を許可するようにすること が行われる。 このような場合、 映画情報を伝送する側の装置 (以下、 このような装置をソース(source)という) と、 伝送を受けた装置 (以下、 このような装置をシンク(sink)という) との間で、 相手側 の装置が適正な装置であるか否かを認証する必要がある。
このようなシステムにおける著作権保護を目的として、 様々な認 証方式が提案されている。 これらの認証方式に用いられる認証プロ トコルには、 暗号アルゴリズムが用いられることが多い。
このような暗号アルゴリズムを用いた認証プロ トコルは、 特願平 9— 2 0 7 9 5 3号、 特願平 9— 2 1 0 8 9 9号、 本出願人のアサ ィ二一にアサインされた 「information processing apparatus, in iormation processing method, information processing sysxem a nd recording medium j U Sシリアル番号 0 9/0 5 9, 7 5 7 ( 1 9 9 8年 4月 1 4日出願) 及び 「 information processing apparat us, information processing method, information processing sy stem and recording mediumj U Sシ リアル番号 0 9/0 5 9 , 8 1 2 ( 1 9 9 8年 4月 1 4日出願) に開示されている。 ところで、 日本や米国などを始めとする国々においては、 強力な喑号ァルゴリ ズムに関しては輸出を禁止している。 したがって、 認証プロ トコル において、 暗号アルゴリズムを用いると、 輸出できない、 他国にお いて使用できない、 等の問題が生じる可能性がある。 そこで、 本発明の目的は、 所定の関数を用いて、 認証処理を行う ことができるようにした情報処理システム、 情報処理装置及び情報 処理方法を提供することにある。
発 明 の 開 示 本発明は、 第 1の情報処理装置と第 2の情報処理装置から構成さ れる情報処理システムにおいて、 上記第 1の情報処理装置は、 サー ビスキーと所定の関数を記憶する第 1の記憶手段と、 上記第 2の情 報処理装置との間でデータを送信及び受信する第 1の送受信手段と、 上記第 1の送受信手段により上記第 2の情報処理装置から受信した 上記第 2の情報処理装置に固有の識別情報と上記サービスキーに対 して、 上記関数を適用することにより、 第 1の中間キ一を生成する 第 1の中間キー生成手段と、 上記第 1の中間キーに対し、 上記関数 を n ( nは整数) 回適用することにより、 判定キーを生成する判定 キ一生成手段と、 上記判定キ一生成手段で上記第 1の中間キーに対 して上記関数を適用した回数を示す回数データを上記第 1の送受信 手段により上記第 2の情報処理装置に送信させる回数データ送信手 段と、 上記判定キーと上記第 1の送受信手段により上記第 2の情報 処理装置から受信した中間キ一情報とに基づいて両者が等しいか否 かを判定することにより上記第 2の情報処理装置を認証する認証手 段とを備え、 上記第 2の情報処理装置は、 自分自身に割り当てられ た固有の識別情報、 上記第 1の中間キーに上記関数を G b ( G bは 自然数) 回適用することにより生成されたライセンスキー、 上記ラ ィセンスキーのバージョンを示すバージョンデ一夕、 及び、 上記所 定の関数を記憶する第 2の記憶手段と、 上記第 1の情報処理装置と の間でデータを送信及び受信する第 2の送受信手段と、 上記第 2の 送受信手段により上記第 1の情報処理装置から受信した上記回数デ —夕を用いて、 上記関数を、 上記ライセンスキーに (n— G b ) 回 適用することによって、 第 2の中間キーを生成する第 2の中間キー 生成手段と、 上記第 2の中間キーに関する情報である中間キー情報 を上記第 2の送受信手段により上記第 1の情報処理装置に送信させ る中間キー情報送信手段とを備えることを特徴とする。
また、 本発明は、 サービスキーと所定の関数を記憶した第 1の情 報処理装置と、 自分自身に割り当てられた固有の識別情報、 第 1の 中間キーに上記関数を G b ( G bは自然数) 回適用することにより 生成されたライセンスキー、 上記ライセンスキーのパージヨンを示 すバージョンデ一夕、 及び上記所定の関数を記憶した第 2の情報処 理装置から構成される情報処理システムにおける情報処理方法であ つて、 上記第 2の情報処理装置に固有の識別情報を上記第 1の情報 処理装置から上記第 2の情報処理装置に要求する識別情報要求ステ 、ソプと、 上記第 2の情報処理装置に固有の識別情報を当該第 2の情 報処理装置から送信して上記第 1の情報処理装置で受信する識別情 報送受信ステップと、 上記第 1の情報処理装置において、 上記識別 情報送受信ステツプで受信した上記第 2の情報処理装置に固有の識 別情報と上記サービスキーに対して、 上記関数を適用することによ り、 第 1の中間キーを生成する第 1の中間キー生成ステップと、 上 記第 1の情報処理装置において、 上記第 1の中間キーに対し、 上記 関数を n ( nは整数) 回適用することによって、 判定キーを生成す る判定キ一生成ステツプと、 上記判定キー生成ステツプで上記第 1 の中間キーに対して上記関数を適用した回数を示す回数データを上 記第 1の情報処理装置から送信して上記第 2の情報処理装置で受信 する回数データ送受信ステツプと、 上記第 2の情報処理装置におい て、 上記回数データ受信ステ 'ソプで受信した回数デ一夕を用いて、 上記ライセンスキーに上記関数を (n— G b ) 回適用することによ つて、 第 2の中間キ一 K l ic— n を生成する第 2の中間キー生成ステ ップと、 上記第 2の中間キーに関する情報である中間キ一情報を上 記第 2の情報処理装置から送信して上記第 1の情報処理装置で受信 する中間キ一情報送受信ステツプと、 上記第 1の情報処理装置にお いて、 上記判定キーと上記中間キ一情報送受信ステツプで受信した 上記中間キ一情報とに基づいて両者が等しいか否かを判定すること により上記第 2の情報処理装置を認証する認証ステップとを有する ことを特徴とする。
また、 本発明に係る情報処理装置は、 サービスキーと所定の関数 を記憶する記憶手段と、 他の情報処理装置との間でデ一夕を送信及 び受信する送受信手段と、 上記送受信手段により上記他の情報処理 装置から受信した上記他の情報処理装置に固有の識別情報と上記サ —ビスキ一に対して、 上記関数を適用することにより、 中間キ一を 生成する中間キー生成手段と、 上記中間キーに対し、 上記関数を n ( nは整数) 回適用することにより、 判定キ一を生成する判定キー 生成手段と、 上記判定キー生成手段で上記中間キーに対して上記関 数を適用した回数を示す回数デ一夕を上記送受信手段により上記他 の情報処理装置に送信させる回数データ送信手段と、 上記判定キー と上記送受信手段により上記他の情報処理装置から受信した中間キ 一情報とに基づいて両者が等しいか否かを判定することにより上記 他の情報処理装置を認証する認証手段とを備えることを特徴とする。
また、 本発明に係る情報処理方法は、 他の情報処理装置に固有の 識別情報を上記他の情報処理装置に要求して受信する識別情報受信 ステツプと、 上記識別情報受信ステツプで受信した 1:記他の情報処 理装置に固有の識別情報とサービスキ一に対して、 所定の関数を適 用することにより、 第 1の中間キーを生成する第 1の中間キー生成 ステップと、 上記第 1の中間キーに対し、 上記関数を n ( nは整 数) 回適用することによって、 判定キ一を生成する判定キ一生成ス テップと、 上記判定キ一生成ステツプで上記第 1の中間キーに対し て上記関数を適用した回数を示す回数データを上記他の情報処理装 置に送信する回数データ送信ステツプと、 上記他の情報処理装置に より上記回数デ一夕に基づいて生成された中間キー情報を受信する 中間キー情報受信ステップと、 上記判定キーと上記中間キー情報受 信ステツプで受信した上記中間キー情報とに基づいて両者が等しい か否かを判定することにより上記他の情報処理装置を認証する認証 ステップとを有することを特徴とする。
また、 本発明に係る情報処理装置は、 自分自身に割り当てられた 固有の識別情報、 第 1の中間キーに所定の関数を G b ( G bは自然 数) 回適用することにより生成されたライセンスキー、 上記ライセ ンスキーのバ一ジョンを示すバージョンデータ、 及び、 上記所定の 関数を記憶する記憶手段と、 他の情報処理装置との間でデ一夕を送 信及び受信する送受信手段と、 上記送受信手段により上記他の情報 処理装置から受信した上記回数データを用いて、 上記関数を、 上記 ライセンスキーに (n— G b ) 回適用することによって、 第 2の中 間キーを生成する第 2の中間キー生成手段と、 上記第 2の中間キー に関する情報である中間キー情報を上記第 2の送受信手段により上 記第 1の情報処理装置に送信させる中間キー情報送信手段とを備え ることを特徴とする。
さらに、 本発明に係る情報処理方法は、 自分自身に割り当てられ た固有の識別情報を他の情報処理装置に送信する識別情報送信ステ ップと、 上記他の情報処理装置において第 1の中間キーを生成する ために上記識別情報とサービスキーに対して所定の関数を適用する 回数 n ( nは整数) を示す回数デ一夕を上記他の情報処理装置から 受信する回数データ受信ステップと、 上記第 1の中間キーに上記関 数を G b ( G bは自然数) 回適用することにより生成されたライセ ンスキーに、 上記回数データ受信ステツプで受信した回数データを 用いて、 上記関数を ( n— G b ) 回適用することによって、 第 2の 中間キー K l ic_n を生成する第 2の中間キー生成ステップと、 上記 第 2の中間キーに関する情報である中間キー情報を送信する中間キ 一情報送受信ステツプとを有することを特徴とする。
図面の簡単な説明 図 1は、 本発明を適用した情報処理システムの構成例を示すプロ ック図である。
図 2は、 情報処理システムにおける D V Dプレーヤ、 パーソナル コンピュー夕及び光磁気ディスク装置の内部の具体的な構成例を示 すブロック図である。 図 3は、 上記情報処理システムにおいてソースとシンクとの間で 行われる認証の手順を説明するするための図である。
図 4は、 上記ソースとシンクとの間で行われる認証の基本的な手 順を説明するするためのタイ ミングチャートである。
図 5は、 上記ソースとシンクとの間で行われる具体的な認証処理 の手順を示すタイ ミングチャートである。
図 6は、 上記ソースとシンクとの間で行われる他の認証処理の手 順を示すタイ ミ ングチヤ一トである。
発明を実施するための最良の形態 以下、 本発明を実施するための最良の形態を図面を参照しながら 詳細に説明する。
本発明は、 例えば図 1に示すような構成の情報処理システムに適 用される。
この情報処理システムは、 I E EE 1 394シリアルバス 1 1を 介して相互に接続された D VDプレーヤ 1、 パーソナルコンビュ一 夕 2, 光磁気ディスク装置 3、 データ放送受信装置 4、 モニタ 5、 テレビジョン受像機 6等からなる。
図 2は、 DVDプレーヤ 1、 パーソナルコンピュータ 2 , 光磁気 ディスク装置 3の内部の具体的な構成例を示している。
D VDプレーヤ 1は、 内部バス 28を介して相互に接続された C PU 2 1、 ROM22、 AM 23 操作部 24、 ドライブ 25、 1394イン夕一フェース 26、 E E P R OM 27等を備える。 この DVDプレーヤ 1は、 1 3 9 4イン夕一フェース 2 6を介し て I E E E 1 3 94シリアルバス 1 1に接続されている。 C P U 2 1は、 R OM 2 2に記憶されているプログラムに従って各種の処理 を実行する。 RAM 2 3は、 C P U 2 1が各種の処理を実行する上 で必要なデータやプログラムなどを記憶する。 操作部 24は、 ボタ ン、 スィ ッチ、 リモートコン トローラ等からなり、 ユーザによる操 作に対応する信号を出力する。 ドライブ 2 5は、 図示しない DVD を駆動し、 そこに記録されているデータを再生するようになされて いる。 E E PR OM 2 7は、 装置の電源オフ後も記憶している必要 のある情報例えば鍵情報等を記憶するようになされている。
光磁気ディスク装置 3は、 内部バス 3 8を介して相互に接続され た C P U 3 1、 R〇M 3 2、 RAM 3 3、 操作部 34 , ドライブ 3 5、 1 3 94イ ン夕一フェース 3 6、 E E P R OM 3 7等を備える, この光磁気ディスク装置 3を構成している C P U 3 1、 R OM 3 2、 R A M 3 3、 操作部 34、 ドライ ブ 3 5、 1 3 9 4イ ン夕一フ エース 3 6、 E E P R OM 3 7, 内部バス 3 8等は、 上述の DVD プレーヤ 1における C PU 2 1、 0 M 2 2 , RAM 2 3 , 操作部 24, ドライブ 2 5、 1 3 9 4イ ン夕一フエ一ス 2 6、 E E PR O Μ 2 7、 内部バス 2 8等と同様な機能を有す得るものであり、 その 詳細な説明は省略する。 ただし、 ドライブ 3 5は、 図示しない光磁 気ディスクを駆動し、 そこにデ一夕を記録又は再生するようになさ れいる。
パーソナルコンピュー夕 2は、 内部バス 5 1を介して相互に接続 された C PU 4 1、 ROM 4 2、 RAM 4 3 , 入出力イ ン夕一フエ —ス 44、 1 3 9 4イ ン夕一フエ一ス 4 9、 E E P R OM 5 0や、 上記入出力ィン夕一フェース 44に接続されたキ一ボ一ド 4 5、 マ ウス 4 6、 ハードディスク ドライブ (H D D ) 4 7、 拡張ボード 4 8等を備える。
このパーソナルコンピュータ 2は、 1 3 9 4イ ンタ - -フェース 4 9を介して I E E E 1 3 9 4シリアルバス 1 1に接続されている。 C P U 4 1は、 R OM 4 2に記憶されているプログラムに従って各 種の処理を実行する。 RAM 4 3には、 C P U 4 1が各種の処理を 実行する上で必要なデ一夕やプログラムなどが記憶される。 入出力 インターフェース 44は、 キ一ボード 4 5やマウス 4 6から入力さ れた信号を C P U 4 1に出力するようになされている。 また、 入出 力イ ン夕一フェース 44は、 ハードディスク ドライブ (HDD) 4 7によりデータやプログラムを記録再生することができるようにな されている。 さらに、 入出力インターフェース 44には、 拡張ボ一 ド 4 8を装着することにより、 必要な機能を付加することができる ようになされている。 E E P R OM 5 0は、 装置の電源オフ後も記 憶している必要のある情報例えば鍵情報等を記憶するようになされ ている。 内部バス 5 1は、 例えば P C I (Peripheral Component In terconnect)あるいは口一カルバスなどにより構成されている。
なお、 内部バス 5 1はユーザに対して開放されており、 ユーザは、 拡張ボ一ド 4 8に所定の所定のボ一ドを接続したり、 所定のソフ ト ウェアプログラムを生成して、 C P U 4 1にインス トールすること で、 内部バス 5 1により伝送されるデ一夕を受信することができる ようになされている。
これに対して、 DVDプレーヤ 1や光磁気ディスク装置 3などの コンシュ一マエレク トロニクス ( C E) 装置では、 内部バス 2 8や 内部バス 3 8はユーザに解放されておらず、 特殊な改造などを行わ ない限り、 ユーザは、 そこに伝送されるデータを取得することがで きないようになされている。
次にソースとシンクとの間で行われるデ一夕の授受について説明 する。
著作権を保護するために行われる認証の処理は、 図 3に示すよう に、 ソースとしての例えば D V Dプレーヤ 1の R O M 2 2に予め記 憶されているソフ トウエアプログラムの 1つであるファームウェア 2 0 と、 シンクとしての例えばパーソナルコンピュータ 2の R 0 M 4 2に記憶されており、 C P U 4 1が処理するソフ トウエアプログ ラムの 1つであるライセンスマネージャ 6 2 との間で実際のデータ の授受が行われる前に行われる。
パーソナルコンピュータ 2は、 通常、 任意のアプリケーションプ ログラムをロードして用いることができる。 そして、 このアプリケ ーションプログラムとしては、 不正に作成したものが使用される場 合もある。 そこで、 このパーソナルコンピュータ 2は、 図 3に示す ように、 アプリケーション部 6 1 とライセンスマネージャ 6 2 との 間において、 ロードされるアプリケーションプログラム毎に認証処 理を行うようになっている。 この場合、 ライセンスマネージャ 6 2 がソースとなり、 アプリケーション部 6 1がシンクとなる。
そして、 認証の処理が行われ、 シンクが適正なものであることが 確認されると、 ソースから暗号化した実データをシンクに転送し、 シンクにおいて、 この暗号化した実データを復号することになる。 すなわち、 ソースとしての D V Dプレーヤ 1から出力された実デ 一夕である映像データは、 1 3 9 4シリアルバス 1 1を介してパー ソナルコンピュータ 2に伝送され、 復号される。
この場合、 DVDプレーヤ 1では、 1 3 9 4インターフエ一ス 2 6において、 セッションキ一 Sと時変キ一 iを用いて暗号化処理が 行われる。 このセッションキ一 Sと時変キー i (正確には時変キー iを作成するためのキー i, ) は、 それぞれファームウェア 2 0か ら 1 3 9 4イ ン夕一フェース 2 6に供給される。
セッションキー Sは、 初期値として用いられる初期値キ一 S sと 時変キ一 iを攪乱するために用いられる攪乱キ一S iにより構成さ れている。 この初期値キー S sと攪乱キ一S iは、 後述する認証処 理において生成される所定ビッ ト数の暗号鍵 s k (= s k, ) の上 位ビッ トと下位ビッ トを用いて、 それぞれ構成される。 このセッシ ヨンキ一 Sは、 セッション毎に (例えば、 1つの映画情報毎に、 あ るいは、 1回の再生毎に) 、 適宜、 更新されるが、 同一のセッショ ン内においては変更されない。 これに対して、 攪乱キ一S iとキー i ' から構成される時変キー iは、 1つのセッション内において、 頻繁に更新されるキーであり、 例えば、 時刻情報などが用いられる。
このようにして暗号化された実デ一夕は、 I E E E 1 3 9 4シリ アルバス 1 1を介して伝送され、 パーソナルコンピュータ 2の 1 3 94インターフェース 49により受信される。 パーソナルコンビュ —夕 2においては、 ライセンスマネージャ 6 2が、 セッションキ一 Sのうち、 初期値キー S sをアプリケーショ ン部 6 1に供給し、 攪 乱キ一 S iと時変キー i (正確には、 時変キ一 iを生成するための キ一 i, ) を 1 3 94イン夕一フェース 4 9に供給する。 そして、 1 3 94インターフェース 4 9において、 攪乱キー S iとキ一 i, から時変キー iが生成され、 時変キー iを用いて 1段目の復号が行 われ、 復号された実デ一夕は、 アプリケーション部 6 1において、 さらに、 セッションキー S (正確には、 初期値キ一 S s) を用いて 2段目の復号が行われる。
このように、 パーソナルコンピュータ 2においては、 内部バス 5 1が、 ユーザに解放されているために、 内部バス 5 1にあるデータ が外部からアクセスされて問題となる可能性があるので、 1394 インターフヱース 49により第 1段階の復号だけを行い、 実データ は、 まだ暗号状態としておく。 そして、 アプリケーション部 6 1に おいて、 さらに、 第 2段階の復号を行い、 暗号を完全に解いた平文 にする。 これにより、 内部バス 5 1において授受されるデータをハ —ドディスク 47や他の装置にコピーすることを禁止する。
図 4は、 ソース (DVDプレーヤ 1 ) とシンク (パーソナルコン ピュー夕 2 ) との間で行われる認証処理の基本的な手順を示してい る。
ソースとしての D VDプレーヤ 1の E E P R OM 27には、 サ一 ビスキ一(Service— key) と ha s h関数(H I, H 2 )が予め記憶さ れている。 これらは、 いずれも著作権者から D VDプレーヤ 1のュ 一ザに与えられたものであり、 E E P R 0 M 27に秘密裡に保管さ れているものである。
サービスキーは、 著作権者が提供する情報毎に与えられるもので あり、 I EEE 1 394シリアルバス 1 1で構成されるシステムに おいて、 共通のものである。
h a s h関数は、 任意長の入力データに対して、 64ビッ ト又は 128ビッ トなどの固定長のデ一夕を出力する関数であり、 y (= ha s h(x )) を与えられたとき、 Xを求めることが困難であり、 かつ、 h a s h(x l )=h a s h(x 2 )となる x 1 と x 2との組を 求めることも困難となる関数である。 一方向 h a s h関数の代表的 なものとして MD (Message Digest) 5や S H A (Soecure Hash Algo rythm)などが知られている。 この -方向 h a s h関数については、 Bruce Schneier著 「Applied Cryptography( Second Edition , Wile y」 に詳しく解説されている。
一方、 シンクとしてのパーソナルコンピュータ 2には、 自分自身 に固有の識別番号( I D )、 ライセンスキー(license_key) 、 h a s h関数(H I , H 2 )及びライセンスキー(license_key) のバージョ ンを示すデータ G bが、 E E P R 0M 5 0に秘密裡に保持されてい る。
ライセンスキー(license_key) は、 nビッ トの識別番号( I D )と mビッ トのサ一ビスキ一(Service_key) を連結して得た n + mビッ 卜の連結データ( I D II Service— key) に対して、 h a s h関数 H I を Gb回適用して得られる値である。 すなわち、 ライセンスキー(1 icense—key)は、 次式で表される。
license_key= H I G b ( I D || Service— key)
なお、 H l " G bは、 h a s h関数 H 1を G b回適用することを示 している。
また、 識別番号( I D )としては、 例えば 1 3 94シリアルバス 1 1の規格に定められている node— unique— IDを用いることができる。 この node— unique— IDは、 8バイ ト( 64ビッ ト)で構成され、 上位 3 バイ 卜は I E E Eで管理され、 電子機器の各メーカに I E E Eから 固有の値が付与され、 下位 5バイ トは各メーカがユーザに提供する 各装置に対して付与することができるものである。 各メーカは、 例 えば下位 5バイ 卜に対してシリアルに、 1台に 1個の番号を割り当 てるようにし、 5バイ ト分を全部使用した場合には、 上位 3バイ ト がさらに別の番号となっている node— unique— IDの付与を受け、 その 下位 5バイ トについて 1台に 1個の番号を割り当てるようにする。 したがって、 この node_unique— IDは、 メーカに拘わらず、 1台毎に 異なるものとなり、 各装置に固有のものなる。
次に、 実データの送受に先立って行われる認証の処理について、 図 4を参照して説明する。
ステップ S 1において、 パーソナルコンビュ一夕 2のライセンス マネージャ 62は、 1 394イン夕一フェース 49を制御すること で、 1 394シリアルバス 1 1を介して D V Dプレーヤ 1に向けて 認証要求を送信する。
ステップ S 2において、 DVDプレーヤ 1のファームウェア 20 は、 認証要求を受信する。 次のステップ S 3において、 ファームゥ エア 20は、 認証処理を行うために、 パーソナルコンピュータ 2に 対して識別番号( I D )を要求する。
ステップ S 4において、 パーソナルコンビュ一夕 2のライセンス マネージャ 62は、 識別番号( I D )の要求を受信し、 ステップ S 5 において、 その応答として、 E E P R 0 M 50に記憶されている識 別番号( I D )を読み出し、 D VDプレーヤ 1に送信する。
ステップ S 6において、 DVDプレーヤ 1のファームウェア 20 は、 識別番号( I D )を受信する。 そして、 ファームウェア 20は、 ステップ S 7において、 EEPROM27に記憶されているライセ ンスキー(license_key) を読み出し、 受信した識別番号( I D )とラ ィセンスキー(license key) を連結して、 例えば上位ビッ トを識別 番号( I D )とし下位ビッ トをライセンスキー(license— key) とした 連結デ一夕( I D II Service_key) を生成し、 生成した連結デ一夕( I D II Service— key) に対して、 次式に示すように h a s h関数 H 1を 適用して、
K m = H 1 ( I D II Service— key)
鍵 Kmを生成する。
次のステップ S 8において、 DVDプレーヤ 1のファームウェア 20は、 0≤n≤ C 1を満たすような変数 nを選択する。 なお、 n は 0≤ n≤ C 1を満たすように予め設定された値であり、 このステ ップ S 8で選択しなくてもよい。 また、 C 1は、 予めシステム内に おいて設定されている定数である。 そして、 ファームウェア 2 0は、 ステップ S 9において、 上記ステヅプ S 7において生成した鍵 Km に対して、 次式に示すように h a s h関数 H 1を n回適用して、
Km— n = H 1 — n (Km)
鍵 Km— nを生成する。 なお、 H 1 nは、 h a s h関数 H 1を n 回適用することを示し、 n= 0のとき、 Km— n = Kmとする。 さ らに、 ファームウェア 20は、 ステップ S 3 1において、 乱数 N a を生成する。 そして、 ステップ S 1 0において、 ファームウェア 2 0は、 変数 nをパーソナルコンピュ一夕 2に送信する。
ステップ S I 1において、 パーソナルコンピュータ 2のライセン スマネージャ 6 2は、 変数 nを受信する。 そして、 ステップ S 34 において、 ライセンスマネージャ 6 2は、 E E PROM 5 0に記憶 されているライセンスキ一(license_key) に、 次式に示すように h a s h関数 H Iを(n— Gb )回適用して、
K l i c n = H 1 " (n-Gb ) (license key) 鍵 K l i c— nを生成する。
なお、 (n— Gb )の nは、 ステップ S 1 1において受信された変 数 nであり、 また、 Gbは、 パーソナルコンピュータ 2の E E P R 0 M 5 0に記憶されているラィセンスキー- (license_key) のバ一ジ ョンを示す情報である。 上述の如くライセンスキ一(license— key) は、 nビッ 卜の識別番号( I D )と mビヅ 卜のサービスキー(Service —key) を連結して得た n + mビッ 卜の連結データ( I D || Service— k ey) に対して、 h a s h関数 H 1を G b回適用して生成されたもの であるから、 ライセンスキ一(license_key) に h a s h関数 H Iを (n— G b ) 回適用することにより生成される鍵 K l i c— nは、 ( n— G b )= 0 の場合に K 1 i c—n = license一 keyとされており、 (n ~ G b )≥ 0 であれば、 ヒ記連結デ一夕( I D II Service— key)に 対して、 h a s h関数 H 1を n回適用して生成される Km— nと等 しい。
ここで、 (n— G b )く 0である場合には、 h a s h関数をマイナ ス回適用すること、 すなわち h a s h関数の逆関数を求めることに なり、 上述の如く h a s h関数の逆関数を求めることは困難である ので、 (n— G b )< 0であれば、 鍵 K 1 i c— nを生成することは 実質的に不可能となる。 したがって、 この性質を利用するにより、 ライセンスキ一(license— key) のバージョン情報 Gbの管理を行う ことが可能となる。 例えば、 秘密保持機能の高い機器と秘密保持機 能の低い機器がシンク側の装置として存在している場合に、 秘密保 持機能の高い機器に対してはライセンスキ一(license_key) のバ一 ジョン情報 G として 「 1」 を与えておき、 秘密保持機能の低い機 器に対してはライセンスキ一(license key) のバ一ジョン情報 Gb として 「2」 を与えておく。 そして、 秘密保持機能の低い機器に与 えられた Gb = 2のライセンスキー(license— key) が不正なユーザ により暴かれてしまった場合にも、 ソース側で変数 nに 「 1」 を選 択するようにすることによって、 秘密保持機能の低い機器は、 (n - G b )< 0 となるので、 鍵 K l i c— nを生成することができな くなり、 認証されなくなる。
したがって、 秘密保持機能の低い機器に対してはより高次すなわ ちバ一ジョン情報 G bの値が大きいライセンスキ一(license_key) を与えることにより、 そのライセンスキ一(license_key) が暴かれ た場合に、 それよりも高次のライセンスキ一(license—key) を有す るシンクを認証の対象外とする処理をソース側で変数 nを選択する ことによって行うことができる。
さらに、 ステップ S 1 3において、 ライセンスマネージャ 6 2は、 次式に示すように、 鍵 K 1 i c— nを鍵とする Keyedhash 関数 H 2 に、 例えば上位ビッ 卜が第 1の値 N aで下位ビッ トが第 2の値 N b のデータ(N a II Nb )を適用することにより、
R = Keyedhash H 2 (K l i c_n , Ν a || Ν b )
レスポンス Rを生成する。
なお、 Keyedhash 関数は、 鍵付きの hash関数であり、 Keyedhash H 2 (K 1 i c_n, N a || Nb )は、 K 1 i c— nを鍵とする Keye dhash 関数 H 2に上記デ一夕(N a || Nb )を入力することを示して いる。
そして、 ステップ S 1 4において、 ライセンスマネージャ 6 2は、 レスポンス Rを DVDプレーヤ 1に送信する。
DVDプレーヤ 1のファームウェア 2 0は、 ステップ S 1 5にお いて、 ライセンスマネージャ 62から送信されてく るレスポンス R を受信する。 そして、 ステップ S 1 6において、 ファームウェア 2 0は、 ステップ S 9において生成した鍵 Km— nを鍵とする Keyedh ash H 2に、 上位ビッ トが第 1の値 N aで下位ビッ トが第 2の値 N bのデ一夕(Na II Nb)を適用することにより得られるレスポンス R' がステップ S 1 5において受信したレスポンス Rと等しいか否 かを判定する。
なお、 ステップ S 9において生成した鍵 Km— nとステップ S 1 3で生成した鍵 K 1 i c_nが等しい場合に、 ステップ S 1 6で生 成したレスポンス R ' がステップ S 1 5において受信したレスポン ス Rと等しくなる。
そして、 ファームウェア 20は、 生成したレスポンス R' が受信 したレスポンス Rと等しくない場合には、 パーソナルコンピュ一夕 2のライセンスマネージャ 62が不正なもであると判断して、 受信 したレスポンス Rを破棄し、 認証処理を終了する。
一方、 生成したレスポンス R' が受信したレスポンス Rと等しい 場合に、 ファームウェア 20は、 認証する。
次に、 図 5は、 ソース (DVDプレーヤ 1 ) とシンク (パ一ソナ ルコンピュータ 2 ) との間で行われる具体的な認証の手順を示して いる。
ソースとしての D VDプレーヤ 1の EEPROM27には、 サー ビスキ一(Service— key) と ha s h関数(H I , H 2 , Η 3 )が予め 記憶されている。 これらは、 いずれも著作権者から DVDプレーヤ 1のユーザに与えられたものであり、 EEPROM27に秘密裡に 保管されているものである。 サービスキーは、 著作権者が提供する情報毎に与えられるもので あり、 I E E E 1 3 94シリアルバス 1 1で構成されるシステムに おいて、 共通のものである。
-方、 シンクとしてのパーソナルコンピュータ 2には、 自分自身 に固有の識別番号( I D )、 ライセンスキ一(license— key) 、 h a s h関数(H l, H 2 , H 3 )及びライセンスキ一(license_key) のバ —ジョンを示すデ一夕 G bが、 E E P R 0 M 5 0に秘密裡に保持さ れている。
ライセンスキ一(license— key) は、
license— key= H 1 G b ( I D || Service— key)
にて与えられる。 なお、 H l ~ G bは、 h a s h関数 H Iを Gb回 適用することを示している。 すなわち、 ライセンスキ一(license— k ey)は、 nビッ 卜の識別番号( I D )と mビッ トのサ一ビスキー( Serv ice— key) を連結して得た n + mビッ 卜の連結データ( I D || Servic e_key) に対して、 h a s h関数 H 1を G b回適用して得られる値で ある。
また、 識別番号( I D )としては、 1 3 9 4シリアルバス 1 1の規 格に定められている node— unique— IDが用いられている。
次に、 実デ一夕の送受に先立って行われる認証の具体的な処理に ついて、 図 5を参照して説明する。
ステップ S 2 1において、 パーソナルコンピュータ 2のライセン スマネージャ 6 2は、 乱数 N bを生成する。 そして、 ステップ S 2 2において、 ライセンスマネージャ 6 2は、 生成した乱数 Nbとバ —ジョン情報 G bを、 1 3 9 4イ ン夕一フェース 4 9を制御するこ とで、 1 3 9 4シリアルバス 1 1を介して D VDプレーヤ 1に向け て認証要求とともに送信する。
ステップ S 23において、 DVDプレーヤ 1のファームウェア 2 0は、 認証要求とともに乱数 N bとパージョン情報 G bを受信する。 次のステヅプ S 24において、 フ ァ一ムウェア 20は、 認証処理を 行うために、 パーソナルコンピュー夕 2に対して識別番 ¾"( I D )を 要求する。
ステップ S 25において、 パーソナルコンピュータ 2のライセン スマネージャ 62は、 識別番号( I D )の要求を受信し、 ステップ S 26において、 その応答として、 E E P R OM 50に記憶されてい る識別番号( I D )を読み出し、 D VDプレーヤ 1に送信する。
ステップ S 27において、 DVDプレーヤ 1のファームウェア 2 0は、 識別番号( I D )を受信する。 そして、 ファームウェア 20は、 ステップ S 28において、 E EPROM27に記憶されているライ センスキ一(license— key) を読み出し、 受信した識別番号( I D )と ライセンスキー(license— key) を連結して、 例えば上位ビッ トを識 別番号( I D )とし下位ビッ トをライセンスキー(license— key) とし た連結デ一夕( I D II Service— key) を生成し、 生成した連結デ一夕 ( I D II Service— key) に対して、 次式に示すように h a s h関数 H 1を適用して、
Km = H 1 ( I D II Service— key)
鍵 Kmを生成する。
次のステップ S 29において、 DVDプレーヤ 1のファームゥェ ァ 20は、 0≤ n C 1を満たすような変数 nを選択する。 なお、 nは 0≤ n≤ C 1を満たすように予め設定された値であり、 このス テツプ S 29で選択しなくてもよい。 また、 C 1は、 予めシステム 内において設定されている定数である。 そして、 ファームウェア 2
0は、 ステップ S 3 0において、 上記ステップ S 2 8において生成 した鍵 Kmに対して、 次式に示すように h a s h関数 H 1を n回適 用して、
Km— n = H 1 " n (Km)
鍵 Km— nを生成する。 なお、 H 1 nは、 h a s h関数 H 1を n 回適用することを示し、 n= 0のとき、 Km— n = Kmとする。 さ らに、 ファームウェア 2 0は、 ステップ S 3 1において、 乱数 N a を生成する。 そして、 ステップ S 3 2において、 ファームウェア 2 0は、 乱数 N aと変数 nをパーソナルコンピュータ 2に送信する。 ステップ S 3 3において、 パーソナルコンビユー夕 2のライセン スマネージャ 6 2は、 乱数 N aと変数 nを受信する。 そして、 ステ ップ S 34において、 ライセンスマネージャ 6 2は、 E E PR OM 50に記憶されているライセンスキ一(license— key) に、 次式に示 すように h a s h関数 H Iを(n— Gb )回適用して、
K l i c― n = H l ( n - G b ) ( license— key)
鍵 K 1 i c— nを生成する。
なお、 (n— Gb )の nは、 ステップ S 3 3において受信された変 数 nであり、 また、 Gbは、 パーソナルコンピュータ 2の E E P R OM 50に記憶されているライセンスキー(license_key) のバ一ジ ョンを示す情報である。 上述の如くライセンスキ一(license_key) は、 nビヅ 卜の識別番号( I D )と mビッ トのサービスキ一(Service _key) を連結して得た n + mビッ 卜の連結デ一夕( I D || Service— k ey) に対して、 h a s h関数 H 1を Gb回適用して生成されたもの であるから、 ライセンスキ一(license key) に h a s h関数 H 1を (n— Gb ) 回適用することにより生成される鍵 K 1 i c— nは、 (n - G b )= 0 の場合に K 1 i c一 n二 license_keyとされており、 (n-Gb )≥ 0 であれば、 上記連結デ一夕( I D II Service_key)に 対して、 h a s h関数 H 1を n回適用して生成される K m— nと等 しい。
ここで、 (n— G b )< 0である場合には、 h a s h関数をマイナ ス回適用すること、 すなわち h a s h関数の逆関数を求めることに なり、 上述の如く h a s h関数の逆関数を求めることは困難である ので、 (n— Gb )く 0であれば、 鍵 K 1 i c— nを生成することは 実質的に不可能となる。 したがって、 この性質を利用するにより、 ライセンスキー(license_key) のバ一ジョン情報 G bの管理を行う ことが可能となる。 例えば、 秘密保持機能の高い機器と秘密保持機 能の低い機器がシンク側の装置として存在している場合に、 秘密保 持機能の高い機器に対してはライセンスキ一(license_key) のバ一 ジョン情報 Gbとして 「 1」 を与えておき、 秘密保持機能の低い機 器に対してはライセンスキ一(license— key) のバ一ジョン情報 G b として 「2」 を与えておく。 そして、 秘密保持機能の低い機器に与 えられた G b = 2のライセンスキー(license— key) が不正なユーザ により暴かれてしまった場合にも、 ソ一ス側で変数 nに 「 1」 を選 択するようにすることによって、 秘密保持機能の低い機器は、 (n - G b )< 0 となるので、 鍵 K l i c— nを生成することができな くなり、 認証されなくなる。
したがって、 秘密保持機能の低い機器に対してはより高次すなわ ちバ一ジョン情報 G bの値が大きいライセンスキー(license_key) を与えることにより、 そのライセンスキー(license key) が暴かれ た場合に、 それよりも高次のライセンスキー(license_key) を有す るシンクを認証の対象外とする処理をソース側で変数 nを選択する ことによって行うことができる。
さらに、 ステップ S 35において、 ライセンスマネージャ 62は、 次式に示すように、 鍵 K 1 i c_nを鍵とする Keyedhash 関数 H 2 に、 ステップ S 33において受信した乱数 N aとステップ S 2 1に おいて生成した乱数 Nbを連結した連結データ(N a II Nb)を適用 することにより、
R = Keyedhash H 2 (K l i c— n, N a || N b )
レスポンス Rを生成する。
なお、 Keyedhash 関数は、 鍵付きの hash関数であり、 Keyedhash H 2(K l i c— n, Na || Nb)は、 K 1 i c— nを鍵とする Keye dhash 関数 H 2に乱数 N aと乱数 N bの連結デ一夕( N a || Nb )を 入力することを示している。
そして、 ステップ S 36において、 ライセンスマネージャ 62は、 レスポンス Rを DVDプレーヤ 1に送信する。
DVDプレーヤ 1のファームウェア 20は、 ステップ S 37にお いて、 ライセンスマネージャ 62から送信されてく るレスポンス R を受信する。 そして、 ステップ S 38において、 ファームウェア 2 0は、 ステップ S 30において生成した鍵 Km— nを鍵とする Keye dhash H 2に、 ステップ S 3 1において生成した乱数 N aとステツ プ S 3において受信した乱数 Nbを連結した連結デ一夕(N a || N b ) を適用することにより得られるレスポンス R, がステップ S 3 7において受信したレスポンス Rと等しいか否かを判定する。
なお、 ステップ S 30において生成した鍵 K m nとステップ S 34で生成した鍵 K 1 i c— nが等しい場合に、 ステップ S 38で 生成したレスポンス R ' がステップ S 37において受信したレスポ ンス Rと等しくなる。
そして、 ファームウェア 20は、 生成したレスポンス R' が受信 したレスポンス Rと等しくない場合には、 パーソナルコンピュータ 2のライセンスマネージャ 62が不正なもであると判断して、 受信 したレスポンス Rを破棄し、 認証処理を終了する。
一方、 生成したレスポンス R' が受信したレスポンス Rと等しい 場合に、 ファームウェア 20は、 ステップ S 39に進む。
このステップ S 39において、 ファームウェア 20は、 ステヅプ S 30において生成した鍵 Km— n、 ステップ S 3 1で生成した乱 数 N a及びステップ S 3で受信した乱数 N bを連結して、 連結デ一 夕(Km— n II N a II N b )を生成し、 この連結データ (Km— n || N a II N b ) に対して、 次式に示すように h a s h関数 H 3を適用 して、
K a b = H 3 (Km_n || N a || N b )
鍵 K abを生成する。
次のステップ S 40において、 ファームウェア 2◦は、 セッショ ンキー s kを生成する。 さらに、 ファームウェア 20は、 ステップ S 4 1において、 次式に示す演算により、 ステヅプ S 39において 生成した鍵 K a bによって、 セッションキ一 s kを暗号化し、
X = En c(Kab, s k)
暗号化データ (暗号鍵) Xを生成する。 なお、 En c(A, B)は、 共通鍵暗号方式で、 鍵 Aを用いてデータ Bを暗号化することを意味 する。 そして、 ステップ S 42において、 ファームウェア 20は、 生成した暗号鍵 Xをパーソナルコンビュ一夕 2に送信する。
パーソナルコンピュータ 2のライセンスマネージャ 62は、 ステ ップ S 43において、 暗号鍵 Xを受信する。 さらに、 ステップ S 4 4において、 ライセンスマネージャ 62は、 ステップ S 34におい て生成した鍵 K 1 i c— n、 ステップ S 33において受信した乱数 N a及びステップ S 2 1において生成した乱数 Nbを連結して、 連 結デ一夕(K l i c— n || Na || Nb)を生成し、 この連結デ一夕(K 1 i c_n II N a II N b ) に対して、 次式に示すように h a s h関 数 H 3を適用して、
K a b ' = H 3 ( K m_n || N a || N b )
鍵 K a b, を生成する。
そして、 次のステップ S 45において、 ライセンスマネージャ 6 2は、 ステップ S 44で生成した鍵 K a b, によって、 ステップ S 43において受信した暗号鍵 Xを復号し、 次式のように、
s k ' =D e c(Kab, , X)
セッションキー s k, を演算する。
ここで、 D e c (A, B ) は、 共通鍵暗号方式で、 鍵 Aを用いて データ Bを復号することを意味する。 なお、 共通鍵暗号方式におけ る暗号化のアルゴリズムとしては、 D E S (Data Encrption Standa rd) が知られている。 また、 共通鍵暗号方式についても、 上述した 厂 Applied Cryptography( Second Edition), Wileyj に s羊しく解説さ れている。
上述のステップ S 39において D VDプレーヤ 1のファームゥェ ァ 20により生成される鍵 K a bは、 上述のステツプ S 44におい てパーソナルコンピュータ 2のライセンスマネージャ 6 2により生 成される鍵 K a b ' と同一の値となる。 すなわち、 次式が成立する。 K a b = K a b '
したがって、 上述のステップ S 4 5においてパーソナルコンビュ —夕 2のライセンスマネージャ 6 2によって暗号鍵 Xを復号して得 られるセッションキー s k ' は、 上述のステップ S 4 0において D V Dプレーヤ 1のファームウェア 2 0により生成されるセヅシヨン キ一 s kと同一の値となる。 すなわち、 次式が成立する。
s k ' = s k
このように、 D V Dプレーヤ 1のファームウェア 2 0 (ソース) とパーソナルコンピュータ 2のライセンスマネージャ 6 2 (シン ク) の両方において、 同一のセッションキー s k、 s k ' を供給す ることができる。 したがって、 このセッションキ一 s kをそのまま 喑号鍵として用いるか、 あるいは、 これを基にしてそれぞれについ て擬似乱数を作り出し、 それを暗号鍵として用いることができる。 ライセンスキ一(l icense_key) は、 上述したように、 各装置に固 有の識別番号( I D )と、 供給する情報に対するサービスキー(Servi ce_key ) に基づいて生成されているので、 他の装置がセッションキ 一 s k又はセッションキ一 s k ' を生成することはできない。 また、 著作権者から認められていない装置は、 ラィセンスキ一(l icense— k ey ) を有していないので、 セッションキ一 s k又はセッションキ一 s k ' を生成することができない。 したがって、 D V Dプレーヤ 1 がセッションキ一s kを用いて実デ一夕を暗号化してパーソナルコ ンピュー夕 2に伝送した場合、 パーソナルコンピュータ 2が適正に ライセンスキー(l icense_key ) を得たものである場合には、 暗号鍵 Xを復号したセッションキー s k ' を有しているので、 D V Dプレ ーャ 1から伝送されてきた暗号化されている実データを復号するこ とができる。 しかしながら、 パーソナルコンピュータ 2が適正なも のでない場合には、 暗号鍵 Xを復号することができないのでセッシ ヨンキー s k' を有しおらず、 伝送されてきた暗号化されている実 デ一夕を復号することができない。 換言すれば、 適 ιΚな装置だけが 共通のセヅシヨンキー s k、 s k ' を生成することができるので、 結果的に、 認証が行われることになる。
また、 仮に 1台のパーソナルコンピュータ 2のライセンスキー(1 icense— key) が盗まれたとしても、 識別番号( I D )が 1台毎に異な るの、 そのライセンスキ一(license—key) を用いて、 他の装置が D VDプレーヤ 1から伝送されてきた暗号化されている実デ一タを復 号することはできない。 したがって、 安全性が向上する。
上述した実施の形態においては、 複数の h a s h関数を用いたが、 1つの h a s h関数を用いるようにすることもできる。 例えば、 h a s h関数として広く用いられている MD (Message Digest) 5を用 いた場合を例にあげて、 図 6のタイ ミングチャートを参照し、 認証 の手順について説明する。
MD 5は、 入力デ一夕のビヅ ト数を 5 1 2 xm— 64 (m= 1 , 2, · · · ) ビッ ト毎に処理して 1 2 8ビッ トの出力デ一夕を出力 するものである。 この MD 5についても、 上述した 「Applied Cryp tography( Second Edition) ,Wiley」 に詳しく解説されている。
図 6に示す認証処理の手順において、 ステップ S 5 1乃至ステツ プ S 5 7の処理は、 上述の図 5に示した認証処理の手順におけるス テツプ S 2 1乃至ステツプ S 2 7の処理と同様の処理なので、 その 説明を省略する。 ステップ S 58において、 DVDプレーヤ 1のファームウェア 2 0は、 定数 E l、 パーソナルコンピュータ 2から受信した識別番号 (I D), 及び E E P R OM 27に記憶されているサービスキ一( Ser vice— key)を連結して、 連結デ一夕(E 1 || I D || Service— key )を生 成し、 この連結データ(E l II I D II Service— key) に対して、 次式 に示すように h a s h関数 MD 5を適用して、
Km = MD 5(E l || I D || Service— key)
鍵 Kmを生成する。
ここで、 定数 E 1は、 予めシステム以内において、 共通に設定さ れている。 また、 後述する定数 E 2〜E 4についても、 同様である。 これらの定数 E 1〜E 4は、 各システムにおいて秘密裡に保持され ている。
上述した鍵 Kmを求める式において、 例えば、 定数 E 1を 256 ビッ ト、 識別番号( I D )を 64ビッ ト、 サ一ビスキ一(Service— ke y)を 1 28ビッ トとすることにより、 それらを連結して得られる連 結デ一夕(E 1 II I D II Service— key) の合計ビッ ト数は 448ビヅ トとなる。 この連結デ一夕(E 1 II I D II Service— key) は、 ha s h関数 MD 5を適用することにより、 128ビッ トに圧縮され、 鍵 Kmとされる。
次のステップ S 59において、 DVDプレーヤ 1のファームゥェ ァ 20は、 0≤ n≤ C 1を満たすような変数 nを選択する。 なお、 この変数 nの選択は、 上述の図 5に示した認証処理の手順における ステップ S 29と同様の処理である。 そして、 ファームウェア 20 は、 ステップ S 60において、 定数 E 2と上記ステップ S 58にお いて生成した鍵 Kmを連結し、 その連結データ(E 2 II Km)に対し て、 次式に示すように h a s h関数 MD 5を n回適用して、
Km— n = MD 5 " n ( E 2 || K m )
鍵 Km— nを生成する。 なお、 MD 5 " nは、 h a s h関数 MD 5 を n回適用することを示し、 n= 0のとき、 Km— n二(E 2 || K m) とする。
上述した鍵 K m— nを求める式において、 鍵 K mは 1 2 8ビッ ト のデ一夕なので、 定数 E 2を 3 2 0ビッ トとすることにより、 それ らを連結して得られる連結デ一夕(E 2 II Km)の合計ビッ ト数は 4
48ビッ トとなる。 この連結デ一夕(E 2 II Km)は、 ha s h関数 MD 5を適用することにより、 1 2 8ビッ トに圧縮され、 鍵 Km— nとされる。
さらに、 ファームウェア 2 0は、 ステップ S 6 1において、 乱数 N aを生成する。 そして、 ステップ S 6 2において、 ファームゥェ ァ 2 0は、 ステップ S 6 2において生成した乱数 N aとステップ S
59において選択した変数 nをパーソナルコンピュータ 2に送信す る。
ステップ S 6 3において、 パーソナルコンビュ一夕 2のライセン スマネージャ 6 2は、 乱数 N aと変数 nを受信する。 そして、 ステ ップ S 64において、 ライセンスマネージャ 6 2は、 E E P R OM 50に記憶されているライセンスキ一(license— key) に、 次式に示 すように h a s h関数 MD 5を(n— G b )回適用して、
K 1 i c— n = MD 5 " ( n - G b )( license— key)
鍵 K 1 i c— nを生成する。
なお、 この場合も上述の図 5に示した認証処理の手順におけるス テツプ S 34において説明したのと同様に、 (n— G b ) = 0の場合 に K 1 i c— n二 license— keyとされており、 (n— Gb)< 0 の場 合は、 鍵 K 1 i c— nは生成されない。
さらに、 ステップ S 65において、 ライセンスマネージャ 62は、 定数 E 3、 ステップ S 63において受信した乱数 N a、 ステップ S 5 1において生成した乱数 N b及びステツプ S 64において生成し た鍵 K 1 i c— nを連結し、 その連結デ一夕 (E 3 II N a II N b II K l i c— n) を ha s h関数 MD 5に適用することにより、 次式 に示すように、
R = MD 5(E 3 II N a II N b || K 1 i c__n)
レスポンス Rを生成する。 このレスポンス; Rを生成する式において、 定数 E 3は 64ビッ ト、 乱数 N a、 乱数 N b及び鍵 K 1 i c— _ nは、 それぞれ 1 28ビッ トとすることにより、 その連結デ一夕 (E 3 II N a II N b II K 1 i c_n ) の合計ビッ ト数は 448ビッ トになる。 この連結データ(E 3 II N a II N b II K 1 i c— n )は、 h a s h関 数 MD 5を適用することにより、 1 28ビッ トに圧縮され、 レスポ ンス Rとして出力される。
そして、 ステップ S 66において、 ライセンスマネージャ 62は、 レスポンス Rを D VDプレーヤ 1に送信する。
DVDプレーヤ 1のファームウェア 20は、 ステップ S 67にお いて、 ライセンスマネージャ 62から送信されてく るレスポンス R を受信する。 そして、 ステップ S 68において、 ファームウェア 2 0は、 定数 E 3、 ステップ S 6 1において生成した乱数 N a、 ステ ップ S 53において受信した乱数 N b及びステップ S 60において 生成した鍵 Km— nを連結し、 その連結デ一夕 (E 3 II N a II Nb II Km n ) を h a s h関数 MD 5に適用することにより得られる レスポンスお, がステップ S 67において受信したレスポンス と 等しいか否かを判定する。
そして、 ファームウェア 20は、 生成したレスポンス R, が受信 したレスポンス Rと等しくない場合には、 パーソナルコンピュータ 2のライセンスマネージャ 62が不正なもであると判断して、 受信 したレスポンス Rを破棄し、 認証処理を終了する。
一方、 生成したレスポンス R' が受信したレスポンス Rと等しい 場合に、 ファームウェア 20は、 ステップ S 69に進む。
このステップ S 69において、 ファームウェア 20は、 定数 E 4、 ステップ S 53で受信した乱数 N b、 ステップ S 6 1で生成した乱 数 Na及びステップ S 60において生成した鍵 Km— nを連結して、 連結データ(E 4 II N b II N a II Km— n )を生成し、 この連結デー 夕(E 4 II N b II N a II Km— n)に対して、 次式に示すように h a s h関数 MD 5を適用して、
K a b = M D 5 ( E 4 II N b II N a II Km_n)
鍵 Kabを生成する。 この鍵 K a bを生成する式において、 定数 E 4は 64ビッ ト、 乱数 Na、 乱数 Nb及び鍵 K 1 i c— nは、 それ それ 128ビッ トとすることにより、 その連結デ一夕 (E 4 II N b II N a II K m— n ) の合計ビッ ト数は 448ビッ トになる。 この連 結データ(E 3 II N b II N a II Km— n )は、 ha s h関数 MD 5を 適用することにより、 128ビッ トに圧縮され、 鍵 Kabとして出 力される。
次のステップ S 70において、 ファームウェア 20は、 セッショ ンキー s kを生成する。 さらに、 ファームウェア 20は、 ステヅプ S 7 1において、 次式に示す演算により、 ステップ S 69において 生成した鍵 Kabによって、 セッションキー s kを暗号化し、
X = E n c(Kab, s k )
暗号化デ一夕 (暗号鍵) Xを生成する。 そして、 ステップ S 72に おいて、 ファームウェア 20は、 生成した暗号鍵 Xをパーソナルコ ンピュー夕 2に送信する。
パーソナルコンピュータ 2のライセンスマネージャ 62は、 ステ ップ S 73において、 暗号鍵 Xを受信する。 さらに、 ステップ S 7 4において、 ライセンスマネージャ 62は、 定数 E 4、 ステヅプ 7 S 1において生成した乱数 N b、 ステップ S 63において受信した 乱数 N a及びステツプ S 64において生成した鍵 K 1 i c— nを連 結して、 連結データ(E 4 II N b II N a || K 1 i c— η )を生成し、 この連結デ一夕(Ε 4 II N b II N a II Κ 1 i c— n)に対して、 次式 に示すように ha s h関数 MD 5を適用して、
Kab' =MD 5(E 4 || Nb || Na || K l i c_n)
鍵 K a b ' を生成する。
そして、 次のステップ S 75において、 ライセンスマネージャ 6 2は、 ステップ S 74で生成した鍵 K a b, によって、 ステップ S 73において受信した暗号鍵 Xを復号し、 次式のように、
s k ' =D e c (Kab' , X)
セッションキー s k' を演算する。
このように、 D VDプレーヤ 1のファームウェア 20 (ソース) とパーソナルコンピュータ 2のライセンスマネージャ 62 (シン ク) の両方において、 1つの h a s h関数 MD 5を共通に用いた場 合においても、 上述のステップ S 69において DVDプレーヤ 1の ファームウェア 20により生成される鍵 K a bは、 上述のステツプ 5 7 4においてパーソナルコンピュータ 2のライセンスマネージャ
6 2により生成される鍵 K a b ' と同一の値となり、 次式が成立す る。
K a b = K a b '
また、 上述のステップ S 7 5においてパーソナルコンピュータ 2 のライセンスマネージャ 6 2によって暗号鍵 Xを復号して得られる セッションキ一 s k ' は、 上述のステップ S 7 0において D V Dプ レ一ャ 1のファームウェア 2 0により生成されるセッションキー s kと同一の値となり、 次式が成立する。
s k ' = s k
上述したように、 鍵 K a bはセッションキ一 s kを暗号化するの に用いられるものであるが、 輸出規制などを考慮に入れ、 より短い ビヅ ト数しか用いるこどができない場合には、 新たにシステム共通 の関数 Fを用意し、 この関数 Fを用いて縮約するようにする。 この 関数 Fは、 システム内において秘密保持しておく必要がある。 例え ばこの縮約の仕方として、 入力 1 2 8 ビッ 卜の場合、 その上位 6 4 bビッ トと下位 6 4ビッ トの X 0 R (排他的論理和) を出力するよ うな関数 Fを用いることにより、 1 2 8 ビッ トのビッ ト列を 6 4ビ ッ トのビッ ト列に縮約することができる。
以上の実施の形態の説明においては、 D V Dプレーヤ 1 (ファー ムウェア 2 0 ) をソースとし、 パーソナルコンピュータ 2 (ライセ ンスマネージャ 6 2 ) をシンクとしたが、 いずれの装置をソースと するかシンクとするかは任意である。 また、 各種電子機器を接続す る外部バスも、 1 3 9 8シリアルバスに限定されることなく、 各種 バスを利用することができ、 それに接続する電子機器も、 上述した れ例に限定されることなく、 任意の装置とすることができる。 なお、 上述の各種の指令を実行するコンビュー夕プログラムは、 磁気ディスク、 C D— R O Mディスクなどの記録媒体や、 ネッ トヮ ークなどの伝送媒体を介してユーザに伝送し、 必要に応じて内蔵す る R A Mやハードディスクなどに記憶して利用させるようにするこ とができる。

Claims

請 求 の 範 囲
1 . 第 1の情報処理装置と第 2の情報処理装置から構成される情 報処理システムにおいて、
上記第 1の情報処理装置は、 サービスキーと所定の関数を記憶す る第 1の記憶手段と、 上記第 2の情報処理装置との間でデ一夕を送 信及び受信する第 1の送受信手段と、 上記第 1の送受信手段により 上記第 2の情報処理装置から受信した上記第 2の情報処理装置に固 有の識別情報と上記サービスキーに対して、 上記関数を適用するこ とにより、 第 1の中間キーを生成する第 1の中間キ一生成乒段と、 上記第 1の中間キーに対し、 上記関数を n ( nは整数) 回適用する ことにより、 判定キ一を生成する判定キ一生成手段と、 上記判定キ —生成手段で上記第 1の中間キーに対して上記関数を適用した回数 を示す回数デ一夕を上記第 1の送受信手段により上記第 2の情報処 理装置に送信させる回数データ送信手段と、 上記判定キーと上記第 1の送受信手段により上記第 2の情報処理装置から受信した中間キ —情報とに基づいて両者が等しいか否かを判定することにより上記 第 2の情報処理装置を認証する認証手段とを備え、
上記第 2の情報処理装置は、 自分自身に割り当てられた固有の識 別情報、 上記第 1の中間キーに上記関数を G b ( G bは自然数) 回 適用することにより生成されたライセンスキ一、 上記ライセンスキ —のバ一ジョンを示すバージョンデ一夕、 及び、 上記所定の関数を 記憶する第 2の記憶手段と、 上記第 1の情報処理装置との間でデー 夕を送信及び受信する第 2の送受信手段と、 上記第 2の送受信手段 により上記第 1の情報処理装置から受信した上記回数データを用い て、 上記関数を、 上記ライセンスキーに ( n— G b ) 回適用するこ とによって、 第 2の中間キ一を生成する第 2の中間キ一生成手段と、 上記第 2の中間キーに関する情報である中間キ一情報を上記第 2の 送受信手段により上記第 1の情報処理装置に送信させる中間キー情 報送信手段とを備える
ことを特徴とする情報処理システム。
2 . 上記第 1の情報処理装置は、 第 1の値を生成するとともに上 記第 1の値を上記第 1の送受信手段により t記第 2の情報処理装置 に送信する第 1の値生成手段と、 上記判定キーと、 上記第 1の値と、 上記第 1の送受信手段により上記第 2の情報処理装置から受信した 第 2の値とに基づいて演算処理を行い、 演算結果を上記認証手段に 供給する第 1の演算手段とをさらに備え、
上記第 2の情報処理装置は、 上記第 2の値を生成するとともに上 記第 2の値を上記第 2の送受信手段により上記上記第 1の情報処理 装置に送信する第 2の値生成手段と、
上記第 2の中間キーと、 上記第 2の値と、 上記第 2の送受信手段 により上記第 1の情報処理装置から受信した第 1の値とに基づいて 演算処理を行うことにより、 上記第 2の中間キーの中間キー情報を 生成する第 2の演算手段とをさらに備える
ことを特徴とする請求の範囲第 1項記載の情報処理システム。
3 . 上記第 1の値生成手段と上記第 2の値生成手段の少なく とも 一方は、 乱数を生成する乱数生成手段であることを特徴とする請求 の範囲第 2項記載の情報処理システム。
4 . 上記第 1の情報処理装置は、 上記判定キー生成手段により上 記第 1の中間キーに対し上記関数を適用する回数 nを設定する設定 手段を備え、
上記判定キ一生成手段は、 上記第 1の中間キーに対し、 上記関数 を上記設定手段により設定された n回適用することにより、 判定キ 一を生成する
ことを特徴とする請求の範囲第 1項記載の情報処理システム。
5 . 上記第 1の情報処理装置は、 上記認証手段により等しいと判 定された場合に、 上記判定キーと上記第 1の値と上記第 2の値に対 して、 ヒ記関数を適用することにより、 暗号化キーを生成する暗号 化キ--生成手段と、 セッションキーを生成するセッションキ一生成 手段と、 上記暗号化キ一を用いて、 上記セ 'ソシヨンキ一を暗号化し、 上記第 2の情報処理装置に伝送する暗号化手段とを備え、
上記第 2の情報処理装置は、 上記第 2の中間キーと上記第 1の値 と上記第 2の値に対して、 上記関数を適用することにより、 復号キ —を生成する復号キー生成手段と、 上記復号キーを用いて、 上記第 1の情報処理装置から伝送された暗号化されている上記セッシヨン キーを復号する復号手段とを備える
ことを特徴とする請求の範囲第 2項記載の情報処理システム。
6 . 上記第 2の情報処理装置は、 上記第 1の情報処理装置に対し て、 認証を要求するための認証要求データを上記第 2の送受信手段 から送信させる認証要求手段をさらに備えることを特徴とする請求 の範囲第 1項記載の情報処理システム。
7 . 上記第 1の情報処理装置は、 上記第 1の送受信手段が上記第 2の情報処理装置からの上記認証要求データを受信した際に、 上記 第 2の情報処理装置に対して上記識別情報を送信することを要求す るための識別情報要求データを、 上記第 1の送受信手段から送信さ せる識別情報要求データ送信手段をさらに備えることを特徴とする 請求の範囲第 6項記載の情報処理システム。
8 . 上記第 2の情報処理装置は、 1:記第 2の送受信手段が上記第 1の情報処理装置からの上記識別情報要求デ一夕を受信した際に、 上記識別情報を上記第 2の送受信手段から送信させる識別情報送信 手段をさらに備えることを特徴とする請求の範囲第 7項記載の情報 処理システム。
9 . サービスキーと所定の関数を記憶した第 1の情報処理装置と、 自分自身に割り当てられた固有の識別情報、 第 1の中間キーに上記 関数を G b ( G bは自然数) 回適用することにより生成されたライ センスキ一、 上記ライセンスキーのバ一ジョンを示すバ一ジョンデ 一夕、 及び上記所定の関数を記憶した第 2の情報処理装置から構成 される情報処理システムにおける情報処理方法であって、
上記第 2の情報処理装置に固有の識別情報を上記第 1の情報処理 装置から上記第 2の情報処理装置に要求する識別情報要求ステツプ と、
上記第 2の情報処理装置に固有の識別情報を当該第 2の情報処理 装置から送信して上記第 1の情報処理装置で受信する識別情報送受 信ステツプと、
上記第 1の情報処理装置において、 上記識別情報送受信ステツプ で受信した上記第 2の情報処理装置に固有の識別情報と上記サービ スキーに対して、 上記関数を適用することにより、 第 1の中間キー を生成する第 1の中間キー生成ステツプと、 上記第 1の情報処理装置において、 上記第 1の中間キーに対し、 上記関数を n ( nは整数) 回適用することによって、 判定キ一を生 成する判定キー生成ステツプと、
上記判定キ一生成ステツプで h記第 1の中間キーに対して上記関 数を適用した回数を示す回数デ一夕を上記第 1の情報処理装置から 送信して上記第 2の情報処理装置で受信する回数データ送受信ステ ヅプと、
上記第 2の情報処理装置において、 上記回数データ受信ステツプ で受信した回数データを用いて、 上記ライセンスキーに七記関数を ( n— G b ) 回適用することによって、 第 2の中間キ一 K l ie— n を 生成する第 2の中間キ一生成ステップと、
上記第 2の中間キーに関する情報である中間キー情報を上記第 2 の情報処理装置から送信して上記第 1の情報処理装置で受信する中 間キ一情報送受信ステップと、
上記第 1の情報処理装置において、 上記判定キーと上記中間キー 情報送受信ステツプで受信した上記中間キー情報とに基づいて両者 が等しいか否かを判定することにより上記第 2の情報処理装置を認 証する認証ステツプと
を有することを特徴とする情報処理方法。
1 0 . 上記第 1の情報処理装置において、 第 1の値を生成する第 1の値生成ステツプと、
上記第 1の値を上記第 1の情報処理装置から送信して上記第 2の 情報処理装置で受信する第 1の値送受信ステツプと、
上記第 2の情報処理装置において、 第 2の値を生成する第 2の値 生成ステツプと、 上記第 2の値を上記第 2の情報処理装置から送信して上記第 1の 情報処理装置で受信する第 2の値送受信ステツプと、
上記第 2の情報処理装置において、 上記第 2の中間キーと、 上記 第 2の値と、 七記第 1の値送受信ステツプで受信した上記第 1の値 とに基づいて演算処理を行い、 上記第 2の中間キーの中間キ一情報 を生成する中間キー情報生成ステツプと、
上記第 1の情報処理装置において、 上記判定キーと、 上記第 1の 値と、 上記第 2の値送受信ステツプで受信した上記第 2の値とに基 づいて演算処理を行う演算ステップとをさらに有し、
上記中間キー情報送受信ステツプでは、 上記中間キー情報生成ス テップで生成した上記第 2の中間キーの中間キ一情報を上記第 2の 情報処理装置から送信して上記第 1の情報処理装置で受信し、 上記認証ステツプでは、 上記演算ステツプでの演算結果と上記判 定キーと上記中間キー情報送受信ステツプで受信した上記中間キー 情報とが等しいか否かを判定することにより上記第 2の情報処理装 置を認証する
ことを特徴とする請求の範囲第 9項記載の情報処理方法。
1 1 . 上記第 1の値と上記第 2の値の少なく とも一方は、 乱数発 生手段より乱数として与えられることを特徴とする請求の範囲第 1 0項記載の情報処理方法。
1 2 . 上記判定キー生成ステツプにおいて上記第 1の中間キーに 対し上記関数を適用する回数 nを設定する設定ステツプをさらに有 し、
上記判定キ一生成ステップでは、 上記第 1の中間キーに対し、 上 記関数を上記設定ステツプで設定された n回適用することにより、 判定キ一を生成する
ことを特徴とする請求の範囲第 9項記載の情報処理方法。
1 3 . 上記第 1の情報処理装置において、 上記認証ステップによ り等しいと判定された場合に、 上記判定キーと上記第 1の値と上記 第 2の値に対して、 上記関数を適用することにより、 暗号化キーを 生成する暗号化キ一生成ステツプと、
上記第 1の情報処理装置において、 セッションキーを生成するセ ッションキ一生成ステップと、
上記第 1の情報処理装置において、 上記暗号化キ一を用いて、 上 記セッションキーを暗号化する暗号化ステップと、
上記暗号化ステップで暗号化された t記セッションキーを上記第 1の情報処理装置から送信して上記第 2の情報処理装置で受信する セッショ ンキ一送受信ステップと、
上記第 2の情報処理装置において、 上記第 2の中間キーと上記第 1の値と上記第 2の値に対して、 上記関数を適用することにより、 復号キ一を生成する復号キー生成ステツプと、
上記第 2の情報処理装置において、 上記復号キーを用いて、 上記 セヅションキー送受信ステツプで受信した暗号化されている上記セ ヅションキーを復号する復号ステツプと
さらに有することを特徴とする請求の範囲第 1 0項記載の情報処 理方法。
1 4 . 認証を要求するための認証要求データを上記第 2の情報処 理装置から上記第 1の情報処理装置に送信する認証要求ステツプを さらに備えることを特徴とする請求の範囲第 9項記載の情報処理方 法。
1 5 . 上記識別情報要求ステップでは、 上記第 2の情報処理装置か らの上記認証要求データを受信した際に、 上記第 2の情報処理装置 に対して上記識別情報を送信することを要求するための識別情報要 求デ一夕を、 上記第 1の送受信手段から上記第 2の情報処理装置に 送信することを特徴とする請求の範囲第 1 4項記載の情報処理方法。
1 6 . 上記識別情報送受信ステツプでは、 上記第 1の情報処理装 置からの上記識別情報要求デ一夕を受信した際に、 上記識別情報を 上記第 2の情報処理装置から上記第 1の情報処理装置に送信するこ とを特徴とする請求の範囲第 1 5項記載の情報処理方法。
1 7 . サービスキーと所定の関数を記憶する記憶手段と、
他の情報処理装置との間でデ一夕を送信及び受信する送受信手段 と、
上記送受信手段により上記他の情報処理装置から受信した上記他 の情報処理装置に固有の識別情報と上記サービスキーに対して、 上 記関数を適用することにより、 中間キーを生成する中間キー生成手 段と、
上記中間キーに対し、 上記関数を n ( nは整数) 回適用すること により、 判定キ一を生成する判定キー生成手段と、
上記判定キー生成手段で上記中間キーに対して上記関数を適用し た回数を示す回数データを上記送受信手段により上記他の情報処理 装置に送信させる回数データ送信手段と、
上記判定キーと上記送受信手段により上記他の情報処理装置から 受信した中間キー情報とに基づいて両者が等しいか否かを判定する ことにより上記他の情報処理装置を認証する認証手段と
を備えることを特徴とする情報処理装置。
1 8 . 第 1の値を生成するとともに上記第 1の値を上記送受信手 段により上記他の情報処理装置に送信する第 1の値生成手段と、 上 記判定キーと、 上記第 1の値と、 上記第 1の送受信手段により上記 他の情報処理装置から受信した第 2の値とに基づいて演算処理を行 い、 演算結果を上記認証手段に供給する演算手段とをさらに備える ことを特徴とする請求の範囲第 1 7項記載の情報処理装置。
1 9 . 上記第 1の値生成手段は、 乱数を生成する乱数生成手段で あることを特徴とする請求の範囲第 1 8項記載の情報処理システム。
2 0 . 上記判定キー生成手段により上記中間キーに対し上記関数 を適用する回数 nを設定する設定手段を備え、
上記判定キー生成手段は、 上記中間キーに対し、 上記関数を i:記 設定手段により設定された n回適用することにより、 判定キ一を生 成する
ことを特徴とする請求の範囲第 1 7項記載の情報処理装置。
2 1 . 上記認証手段によ り等しいと判定された場合に、 上記判定 キーと上記第 1の値と上記第 2の値に対して、 上記関数を適用する ことにより、 暗号化キーを生成する暗号化キー生成手段と、 セッシ ヨンキーを生成する復号キー生成手段と、 上記暗号化キーを用いて、 上記セッシヨンキーを暗号化し、 上記他の情報処理装置に伝送する 暗号化手段とを備える
ことを特徴とする請求の範囲第 1 8項記載の情報処理装置。
2 2 . 上記送受信手段が上記他の情報処理装置からの認証要求デ 一夕を受信した際に、 上記他の情報処理装置に対して識別情報を送 信することを要求するための識別情報要求データを、 上記第 1の送 受信手段から送信させる識別情報要求データ送信手段をさらに備え ることを特徴とする請求の範囲第 2 1項記載の情報処理装置。
2 3 . 他の情報処理装置に固有の識別情報を上記他の情報処理装 置に要求して受信する識別情報受信ステツプと、
上記識別情報受信ステップで受信した上記他の情報処理装置に固 有の識別情報とサービスキーに対して、 所定の関数を適用すること により、 第 1の中間キーを生成する第 1の中間キ一生成ステツプと、 上記第 1の中間キ一に対し、 上記関数を n ( nは整数) 回適用す ることによって、 判定キーを生成する判定キー生成ステツプと、 上記判定キー生成ステツプで上記第 1の中間キーに対して上記関 数を適用した回数を示す回数デ一夕を上記他の情報処理装置に送信 する回数デ一夕送信ステヅプと、
上記他の情報処理装置により上記回数データに基づいて生成され た中間キ一情報を受信する中間キー情報受信ステップと、
上記判定キーと上記中間キー情報受信ステツプで受信した上記中 間キ一情報とに基づいて両者が等しいか否かを判定することにより 上記他の情報処理装置を認証する認証ステツプと
を有することを特徴とする情報処理方法。
2 4 . 第 1の値を生成する第 1の値生成ステップと、
上記第 1の値を上記他の情報処理装置に送信する第 1の値送信ス テヅプと、
上記他の情報処理装置から送信されてく る第 2の値を受信する第 2の値受信ステップと、
上記判定キーと、 上記第 1の値と、 上記第 2の値受信ステップで 受信した上記第 2の値とに基づいて演算処理を行う演算ステツプと をさらに有し、 上記中間キー情報送受信ステツプでは、 上記他の情報処理装置に おいて、 上記第 2の中間キーと、 上記第 2の値と、 上記第 1の値と に基づいて生成された中間キー情報を受信し、
上記認証ステップでは、 上記演算ステップでの演算結果と ヒ記判 定キ- -と上記中間キ一情報受信ステップで受信した上記中間キ一情 報とが等しいか否かを判定することにより上記第 2の情報処理装置 を認証する
ことを特徴とする請求の範囲第 2 3項記載の情報処理方法。
2 5 . 上記第 1の値は、 乱数発生手段よ り乱数として与えられる ことを特徴とする請求の範囲第 2 4項記載の情報処理方法つ
2 6 . J 記判定キー生成ステップにおいて h記第 1の中問キ―に 対し上記関数を適用する回数 nを設定する設定ステップをさらに有 し、
上記判定キー生成ステップでは、 上記第 1の中間キーに対し、 上 記関数を上記設定ステップで設定された η回適用することにより、 判定キーを生成する
ことを特徴とする請求の範囲第 2 3項記載の情報処理方法。
2 7 . 上記認証ステップにより等しいと判定された場合に、 上記 判定キーと上記第 1の値と上記第 2の値に対して、 上記関数を適用 することにより、 暗号化キーを生成する暗号化キー生成ステツプと、 セッションキーを生成するセッションキ一生成ステヅプと、 上記暗号化キーを用いて、 上記セッションキ一を暗号化する暗号 化ステップと、
上記暗号化ステップで暗号化された上記セッションキ一を送信す るセッションキ一送受信ステツプとを さらに有することを特徴とする請求の範囲第 2 4項記載の情報処 理方法。
2 8 . 上記識別情報要求ステツプでは、 上記他の情報処理装置か らの認証要求デ一夕を受信した際に、 上記他の情報処理装置に対し て上記識別情報を送信することを要求するための識別情報要求デー 夕を、 上記他の情報処理装置に送信することを特徴とする請求の範 囲第 2 7項記載の情報処理方法。
2 9 . 自分自身に割り当てられた固有の識別情報、 第 1の中間キ —に所定の関数を G b ( G bは自然数) 回適用することにより生成 されたライセンスキー、 上記ライセンスキーのバージョンを示すバ 一ジョンデ一夕、 及び、 上記所定の関数を記憶する記憶 3—段と、 他の情報処理装置との間でデータを送信及び受信する送受信手段 と、
上記送受信手段により上記他の情報処理装置から受信した上記回 数データを用いて、 上記関数を、 上記ライセンスキーに (n _ G b ) 回適用することによって、 第 2の中間キーを生成する第 2の中 間キ一生成手段と、
t記第 2の中間キーに関する情報である中間キー情報を t記第 2 の送受信手段により上記第 1の情報処理装置に送信させる中間キー 情報送信手段と
を備えることを特徴とする情報処理装置。
3 0 . 第 2の値を生成するとともに上記第 2の値を上記第 2の送 受信手段により上記他の第 1の情報処理装置に送信する第 2の値生 成手段と、
上記第 2の中間キーと、 上記第 2の値と、 上記送受信手段により 上記他の情報処理装置から受信した第 1の値とに基づいて演算処理 を行うことにより、 上記第 2の中間キーの中間キ一情報を生成する 演算手段とをさらに備える
ことを特徴とする請求の範囲第 2 9項記載の情報処理装置。
3 1 . 上記第 2の値生成手段は、 乱数を生成する乱数生成手段で あることを特徴とする請求の範囲第 3 0項記載の情報処理装置。
3 2 . 上記他の情報処理装置に対して、 認証を要求するための認 証要求データを上記送受信手段から送信させる認証要求手段をさら に備えることを特徴とする請求の範囲第 2 9項記載の情報処理装置。
3 3 . 上記送受信手段が上記他の情報処理装置からの識別情報要 求データを受信した際に、 上記識別情報を上記送受信手段から送信 させる識別情報送信手段をさらに備えることを特徴とする請求の範 囲第 2 9項記載の情報処理装置。
3 4 . 自分自身に割り当てられた固有の識別情報を他の情報処理 装置に送信する識別情報送信ステ 'ソプと、
上記他の情報処理装置において第 1の中間キーを生成するために 上記識別情報とサービスキ一に対して所定の関数を適用する回数 n ( nは整数) を示す回数データを上記他の情報処理装置から受信す る回数データ受信ステツプと、
上記第 1の中間キーに上記関数を G b ( G bは自然数) 回適用す ることにより生成されたライセンスキーに、 上記回数デ一夕受信ス テツプで受信した回数デ一夕を用いて、 上記関数を (n— G b ) 回 適用することによって、 第 2の中間キ一 K l ic— n を生成する第 2の 中間キー生成ステツプと、
上記第 2の中間キーに関する情報である中間キー情報を送信する 中間キー情報送受信ステツプと
を有することを特徴とする情報処理方法。
3 5 . 第 1の値を上記他の情報処理装置から受信する第 1の値受 ^ステップと、
第 2の値を生成する第 2の値生成ステツプと、
上記第 2の値を上記他の情報処理装置に送信する第 2の値送受信 ステップと、
上記第 2の値と、 上記第 1の値送受信ステツプで受信した上記第 1の値とに基づいて演算処理を行い、 上記第 2の中間キーの中間キ —情報を生成する中間キー情報生成ステツプとをさらに有し、 上記中間キ一情報送受信ステツプでは、 上 ¾中間キ一情報生成ス テップで生成した上記第 2の中間キーの中間キー情報を上記他の情 報処理装置に送信することを特徴とする請求の範囲第 3 4項記載の 情報処理方法。
3 6 . 上記第 2の値は、 乱数発生手段より乱数として与えられる ことを特徴とする請求の範囲第 3 5項記載の情報処理方法。
3 7 . 上記判定キーと上記第 1の値と上記第 2の値に対して、 上 記関数を適用することにより生成された暗号化キ一を用いて暗号化 されたセッションキ一を上記第 1の情報処理装置から受信するセッ ションキ一送受信ステップと、
上記第 2の中間キーと上記第 1の値と上記第 2の値に対して、 上 記関数を適用することにより、 復号キーを生成する復号キ一生成ス テツプと、
上記復号キ一を用いて、 上記セッションキ一送受信ステツプで受 信した暗号化されている上記セッションキーを復号する復号ステツ プと
さらに有することを特徴とする請求の範囲第 3 5記載の情報処理 方法。
3 8 . 認証を要求するための認証要求データを上記第 1の情報処 理装置に送信する認証要求ステツプをさらに備えるこ とを特徴とす る請求の範囲第 3 4項記載の情報処理方法。
3 9 . 上記識別情報送受信ステップでは、 上記他の情報処理装置 から識別情報要求データを受信した際に、 識別情報を上記第 1の情 報処理装置に送信することを特徴とする請求の範囲第 3 8項記載の 情報処理方法。
PCT/JP1998/006007 1998-01-07 1998-12-28 Systeme, dispositif et procede de traitement de donnees WO1999035786A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP98961646A EP0966127A1 (en) 1998-01-07 1998-12-28 Data processing system, data processing device and data processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10/1343 1998-01-07
JP134398 1998-01-07

Publications (1)

Publication Number Publication Date
WO1999035786A1 true WO1999035786A1 (fr) 1999-07-15

Family

ID=11498863

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/006007 WO1999035786A1 (fr) 1998-01-07 1998-12-28 Systeme, dispositif et procede de traitement de donnees

Country Status (6)

Country Link
EP (1) EP0966127A1 (ja)
KR (1) KR20000076003A (ja)
CN (1) CN1249873A (ja)
ID (1) ID22760A (ja)
TW (1) TW442754B (ja)
WO (1) WO1999035786A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001144748A (ja) * 1999-11-11 2001-05-25 Sony Corp 暗号鍵生成装置、暗号化・復号化装置および暗号鍵生成方法、暗号化・復号化方法、並びにプログラム提供媒体
KR100360996B1 (ko) * 1999-12-08 2002-11-21 캐리어 코포레이션 소프트웨어 보안 메커니즘
JP2006121215A (ja) * 2004-10-19 2006-05-11 Fuji Electric Holdings Co Ltd 鍵交換方法、及び、鍵交換処理装置
JP2018014629A (ja) * 2016-07-21 2018-01-25 Kddi株式会社 通信システム、通信装置、通信方法、及びプログラム
JP2018014628A (ja) * 2016-07-21 2018-01-25 Kddi株式会社 通信システム、通信装置、通信方法、及びプログラム
US20230229743A1 (en) * 2022-01-19 2023-07-20 Sony Group Corporation Re-encryption-based digital rights management

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898708B2 (en) * 1999-12-07 2005-05-24 Sanyo Electric Co., Ltd. Device for reproducing data
JP4370721B2 (ja) * 2000-04-06 2009-11-25 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、キー更新端末装置、世代管理キー更新方法、および情報記録媒体、並びにプログラム提供媒体
JP2002189636A (ja) * 2000-12-20 2002-07-05 Sega Corp セキュリティシステム
CN100343775C (zh) * 2004-05-25 2007-10-17 华为技术有限公司 一种许可证文件生成方法及软件产品保护方法和系统
CN100416449C (zh) * 2005-04-29 2008-09-03 国际商业机器公司 软件服务提供商自动获得及运行软件服务的方法和装置
CN102158757A (zh) * 2010-02-11 2011-08-17 中兴通讯股份有限公司 终端及其电视业务的播放方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103256A (ja) * 1995-10-16 1998-01-06 Sony Corp 暗号化方法、暗号化装置、記録方法、復号化方法、復号化装置及び記録媒体
JPH10171903A (ja) * 1996-12-11 1998-06-26 Nippon Telegr & Teleph Corp <Ntt> 電子現金方法及びこれに用いる装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103256A (ja) * 1995-10-16 1998-01-06 Sony Corp 暗号化方法、暗号化装置、記録方法、復号化方法、復号化装置及び記録媒体
JPH10171903A (ja) * 1996-12-11 1998-06-26 Nippon Telegr & Teleph Corp <Ntt> 電子現金方法及びこれに用いる装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LAMPORT L.: "PASSWORD AUTHENTICATION WITH INSECURE COMMUNICATION.", COMMUNICATIONS OF THE ACM, ASSOCIATION FOR COMPUTING MACHINERY, INC, UNITED STATES, vol. 24., no. 11., 1 November 1981 (1981-11-01), United States, pages 770 - 772., XP000577349, ISSN: 0001-0782, DOI: 10.1145/358790.358797 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001144748A (ja) * 1999-11-11 2001-05-25 Sony Corp 暗号鍵生成装置、暗号化・復号化装置および暗号鍵生成方法、暗号化・復号化方法、並びにプログラム提供媒体
JP4719950B2 (ja) * 1999-11-11 2011-07-06 ソニー株式会社 暗号鍵生成装置、暗号化・復号化装置および暗号鍵生成方法、暗号化・復号化方法、並びにプログラム提供媒体
KR100360996B1 (ko) * 1999-12-08 2002-11-21 캐리어 코포레이션 소프트웨어 보안 메커니즘
JP2006121215A (ja) * 2004-10-19 2006-05-11 Fuji Electric Holdings Co Ltd 鍵交換方法、及び、鍵交換処理装置
JP2018014629A (ja) * 2016-07-21 2018-01-25 Kddi株式会社 通信システム、通信装置、通信方法、及びプログラム
JP2018014628A (ja) * 2016-07-21 2018-01-25 Kddi株式会社 通信システム、通信装置、通信方法、及びプログラム
US20230229743A1 (en) * 2022-01-19 2023-07-20 Sony Group Corporation Re-encryption-based digital rights management

Also Published As

Publication number Publication date
ID22760A (id) 1999-12-09
CN1249873A (zh) 2000-04-05
KR20000076003A (ko) 2000-12-26
TW442754B (en) 2001-06-23
EP0966127A1 (en) 1999-12-22

Similar Documents

Publication Publication Date Title
KR100495189B1 (ko) 데이터전송장치및방법,암호화장치및방법,데이터수신장치및방법,데이터해독장치및방법,및프로그램기록을위한기록매체
JP3864401B2 (ja) 認証システム、電子機器、認証方法、および記録媒体
US6542610B2 (en) Content protection for digital transmission systems
US9112678B2 (en) Information processing apparatus and method
KR100466474B1 (ko) 암호화장치및방법,복호장치및방법,정보처리장치및방법
US5949877A (en) Content protection for transmission systems
US7373506B2 (en) Data authentication system
JP4496440B2 (ja) 暗号化コンテンツ送信装置
US20030023847A1 (en) Data processing system, recording device, data processing method and program providing medium
JP2004533194A (ja) データを交換するように構成されたデバイスおよび認証の方法
WO1999035786A1 (fr) Systeme, dispositif et procede de traitement de donnees
JP2000115154A (ja) 記憶装置および方法、復号装置および方法、提供媒体、並びに情報記憶媒体
JPH1051439A (ja) 暗号化装置
JP4748109B2 (ja) 暗号化装置および方法、復号装置および方法、情報処理装置および方法、並びに情報再生装置
JP4496506B2 (ja) 暗号化コンテンツ送信装置
WO2003090186A1 (fr) Dispositif et procede de calcul
JP2007043738A (ja) 電子機器
JP2013179701A (ja) 暗号化装置および方法
JP2012070430A (ja) 復号装置および方法
JPH11194708A (ja) 情報処理装置および方法、並びに伝送媒体
JP2016015783A (ja) 暗号化装置
JP2015019430A (ja) 復号装置
JP2015043611A (ja) 復号装置
JP2001308842A (ja) コンテンツ情報復号化方法及びコンテンツ情報復号化装置
JP2014064318A (ja) 暗号化装置および方法

Legal Events

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

Ref document number: 98803175.2

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CN ID IN JP KR SG US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: IN/PCT/1999/23/KOL

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 1019997008089

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1998961646

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1998961646

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019997008089

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1998961646

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1019997008089

Country of ref document: KR