WO2007086435A1 - 端末装置、サーバ装置及びデジタルコンテンツ配信システム - Google Patents

端末装置、サーバ装置及びデジタルコンテンツ配信システム Download PDF

Info

Publication number
WO2007086435A1
WO2007086435A1 PCT/JP2007/051099 JP2007051099W WO2007086435A1 WO 2007086435 A1 WO2007086435 A1 WO 2007086435A1 JP 2007051099 W JP2007051099 W JP 2007051099W WO 2007086435 A1 WO2007086435 A1 WO 2007086435A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction
message
flag
content key
transaction flag
Prior art date
Application number
PCT/JP2007/051099
Other languages
English (en)
French (fr)
Inventor
Ryuichi Okamoto
Akio Higashi
Satoshi Niwano
Hiroki Murakami
Original Assignee
Matsushita Electric Industrial Co., Ltd.
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 Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to EP07707346A priority Critical patent/EP1978462A4/en
Priority to KR1020087016100A priority patent/KR101316150B1/ko
Priority to US12/162,054 priority patent/US7676042B2/en
Priority to CN200780002907XA priority patent/CN101375286B/zh
Publication of WO2007086435A1 publication Critical patent/WO2007086435A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/108Transfer of content, software, digital rights or licenses
    • G06F21/1082Backup or restore
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords

Definitions

  • Terminal device server device, and digital content distribution system
  • the present invention relates to a system in which a digital content such as video and music and a license permitting use of digital content are distributed from a server device using a network, and a user uses the digital content on a terminal device.
  • the present invention relates to a system and apparatus that prevents licenses from being lost or duplicated even when communication disconnection occurs, while preventing unauthorized duplication or falsification of licenses in communication between the server device and the terminal device.
  • contents such as music, video, and games
  • contents are distributed from a server device to a terminal device through communication such as the Internet or digital broadcasting, and the content is used in the terminal device.
  • a system called a content distribution system that can do this has entered the practical application stage.
  • copyright protection technology is used to protect the copyright of the content and prevent unauthorized use of the content by malicious users.
  • the copyright protection technology is a technology for securely controlling the use of content by using a signal technology or the like.
  • Patent Document 1 as an example of a content distribution system, a terminal device receives from a server device the content, usage conditions, and content decryption key that have been given a sign, and whether or not tampering has occurred. After confirmation, a system that performs conformity verification of usage conditions and decrypts content only when all the verifications are satisfied is described.
  • the power to distribute licenses (a general term for data including usage conditions and content decryption keys; also called usage rights) from the server device to the terminal device is generally distributed Since the public line such as the Internet is used for this, it is necessary to prevent eavesdropping and tampering with the license. In other words, if the usage conditions are tampered with, the leakage of content keys must be prevented. Furthermore, the server device must also authenticate the license distribution destination. In other words, a license is granted to a terminal device that is not intended It is also necessary to prevent distribution.
  • licenses a general term for data including usage conditions and content decryption keys; also called usage rights
  • SAC Secure Authenticated Channel
  • SSL Secure Socket Layer
  • Patent Document 2 and Patent Document 3 describe a protocol for avoiding communication data loss due to communication disconnection by data retransmission.
  • Patent Document 1 Japanese Patent No. 3276021
  • Patent Document 2 Japanese Patent Laid-Open No. 2002-251524
  • Patent Document 3 Japanese Patent Laid-Open No. 2003-16041
  • Non-Patent Document l A.Frier, P.Karlton, and P.Kocher, "The SSL 3.0 Protocol", [online], NetScape Communications Corp., Nov. 18, 1996, [searched January 23, 2006] , Internet ⁇ net URL: http://wp.netscape.com/eng/ ssl3 / draft302.txt
  • the license server 101 manages license issuance until a commit message is received after a response message is transmitted in response to a license acquisition request message from the user terminal 103.
  • Log recording 2601 and log deletion 2603, and the user terminal 103 receives a response message and then receives an ACK message before logging the log record 2602 and log deletion 2604 for license management. It is necessary to do. Therefore, the license server 101 and the user terminal 103 need to accumulate data every time log is recorded, and log recording is performed by writing to a flash memory or the like that is a non-volatile memory in order to cope with power-off or the like. In some cases, there is a problem that it affects the life of the memory that has a limit on the number of writes.
  • the present invention solves such a conventional problem, and even when license management between a server device and a terminal device is performed using log recording, information recorded by the server device and the terminal device is recorded. It is an object to provide a system and apparatus that realizes a protocol that is small in size and less frequently logs.
  • the terminal device transmits a content key request message to the server device, and a response to the content key request message from the server device.
  • a terminal device that receives a message and uses content, wherein the content key request message includes a transaction flag that is associated with a content key request process that is currently being executed and takes a value of 0 or 1.
  • the response message includes a content key and a transaction flag storage necessity flag indicating whether the transaction flag needs to be stored, message transmission / reception means for transmitting / receiving a message to / from the server device, and storing the transaction flag.
  • Transaction file Lag storage means and transaction flag writing means for writing the transaction flag to the transaction storage means, and the transaction writing means
  • the message transmission / reception unit of the terminal device of the present invention receives the response message
  • the message transmission / reception unit transmits a commit message notifying successful reception of the response message to the server device, and writing the transaction flag.
  • the terminal device does not need to perform log recording for license management when the transaction flag storage necessity flag is not required, depending on the number of issuables and usage conditions.
  • the transaction flag storage necessity flag By using the transaction flag storage necessity flag, the size of the information recorded by the server device and the terminal device is small, and the frequency of recording the log is low, so that the terminal device can be obtained.
  • the message transmission / reception means of the terminal device of the present invention omits transmission of the commit message when the transaction flag storage necessity flag included in the response message is set to be unnecessary. It is characterized by.
  • the server device of the present invention is a server device that returns a response message in response to a content key request message from a terminal device. Includes a transaction flag having a value of 0 or 1, which is associated with the currently executing content key request process, and the response message is a transaction flag indicating whether the content key and the transaction flag need to be stored.
  • a message transmission / reception unit that includes a storage necessity flag and transmits / receives a message to / from the terminal device; a transaction flag storage necessity setting unit that sets a value in the transaction flag storage necessity flag in the response message;
  • the transaction flag storage necessity setting means determines whether the transaction flag needs to be stored, and sets the determination result as the transaction flag storage necessity flag.
  • the server device notifies the terminal device of a transaction flag storage necessity flag when managing the number of issued licenses or according to usage conditions.
  • the server device When recording is not necessary, there is no need to log transaction flags for license management, and the size of information recorded by the server device and terminal device is reduced by using the transaction flag storage necessity flag.
  • the present invention provides a digital content distribution system comprising the terminal device and the server device, and a transaction comprising characteristic constituent means of the terminal device and the server device as steps. It can be realized as a processing method or as a program including all these steps.
  • the program can be distributed via a recording medium such as a CD-ROM or a communication network by simply storing it in a ROM.
  • the server device side notifies the terminal device side of whether or not log recording is necessary in the license distribution process, and when log recording is unnecessary, log recording is not performed. Memory write frequency can be reduced.
  • FIG. 1 is a block diagram showing a configuration of a digital content distribution system in an embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of a license 200 in the embodiment of the present invention.
  • FIG. 3 is a block diagram showing a configuration of license server 101 in the embodiment of the present invention.
  • FIG. 4 is a diagram showing an example of a license database 301 in the embodiment of the present invention.
  • FIG. 5 is a block diagram showing a configuration of secure communication section 302 in the embodiment of the present invention.
  • FIG. 6 is a diagram showing an example of a transaction log 600 according to the embodiment of the present invention.
  • FIG. 7 is a diagram showing an example of a transaction log database 502 in the embodiment of the present invention.
  • FIG. 8 is a block diagram showing a configuration of user terminal 103 in the embodiment of the present invention.
  • FIG. 9 is a block diagram showing a configuration of secure communication section 803 in the embodiment of the present invention.
  • FIG. 10 is a diagram showing an example of a transaction log 1000 according to the embodiment of the present invention.
  • FIG. 11 is a diagram showing an example of a transaction log database 902 according to the embodiment of the present invention.
  • FIG. 12 shows a license acquisition process (user terminal 103) according to the embodiment of the present invention.
  • FIG. 6 is a diagram for explaining the outline of a case where a transaction log is not recorded in the transaction log database 902 at the start of communication between the license server 101 and the license server 101.
  • FIG. 13 shows an outline of the license acquisition process (when a transaction log is recorded in the transaction log database 902 at the start of communication between the user terminal 103 and the license server 101) in the embodiment of the present invention.
  • FIG. 14 is a flowchart illustrating processing performed in authentication phase P 1 in the embodiment of the present invention.
  • FIG. 15 is a flowchart illustrating processing performed in authentication / request phase P 2 in the embodiment of the present invention.
  • FIG. 16 is a flowchart for explaining a cancellation process in the embodiment of the present invention.
  • FIG. 17 is a flowchart for explaining a response message generation 'transmission process according to the embodiment of the present invention.
  • FIG. 18 is a flowchart illustrating processing upon receipt of a response message in the embodiment of the present invention.
  • FIG. 19 is a flowchart illustrating processing performed in request phase P3 in the embodiment of the present invention.
  • FIG. 20 is a flowchart for explaining a commit process in the embodiment of the present invention.
  • FIG. 21 is a flowchart for explaining the response message generation 'transmission process (retransmission) in the embodiment of the present invention.
  • FIG. 22 is a flowchart illustrating processing performed in commit phase P4 in the embodiment of the present invention.
  • FIG. 23 is a flowchart for explaining processing at the time of ACK message reception in the embodiment of the present invention.
  • FIG. 24 is a flowchart illustrating a process performed in authentication 'commit phase P5 in the embodiment of the present invention.
  • FIG. 25 shows that the license server 101 in the embodiment of the present invention disconnects communication. It is a flowchart explaining the process at the time of detecting.
  • FIG. 26 is a communication sequence diagram of a conventional digital content distribution system.
  • FIG. 27 is a communication sequence diagram of a digital content distribution system comprising a license server and user terminals according to the present invention.
  • FIG. 28 is a diagram showing an example of a data configuration when a retention period is further given to the transaction log and transaction log database of the license server.
  • FIG. 29 is a diagram showing an example of a data configuration when a retention period is further given to the transaction log and transaction log database of the user terminal.
  • FIG. 30 is a sequence diagram of another session of the digital content distribution system according to the present invention.
  • FIG. 31 is a sequence diagram of another session in the digital content distribution system according to the present invention.
  • FIG. 1 is a diagram showing an overall configuration of a digital content distribution system in the present embodiment.
  • a license request message (2701) is transmitted from the user terminal 103 to the license server 101 as shown in FIG.
  • the transaction identification flag for license management is recorded as a log or no log recording is required, and a response message (2702) including the necessity of log recording is transmitted to the user terminal 103.
  • the user terminal 103 performs log recording when log recording is necessary, and does not perform log recording when log recording is unnecessary.
  • the digital content distribution system includes a license server 101, a content server 102, a plurality of user terminals 103, and a transmission medium 104.
  • the following describes each component of the digital content distribution system.
  • the license server 101 is a server that is installed on the provider ⁇ side, manages the usage rights of the user's content, and distributes a license 200, which will be described later with reference to FIG.
  • the content server 102 is a server that is installed on the provider ⁇ side and delivers content to the user terminal 103. It is assumed that the content is encrypted using a license 200 so that it can be decrypted and distributed.
  • the user terminal 103 is installed on the user ⁇ side, manages the license 200 distributed from the license server 101, and reproduces the content distributed from the content server 102 using the license 200.
  • the transmission medium 104 is a wired transmission medium such as the Internet, CATV (Cable Television), broadcast waves, or a wireless transmission medium and a portable recording medium, and includes a license server 101 and a content server 102.
  • the user terminal 103, the user terminal 103, and another user terminal 103 are connected so as to be able to exchange data.
  • FIG. 2 is a diagram illustrating an example of the license 200.
  • the license 200 includes a license ID 201, a content ID 202, a ⁇ IJ condition type 203, a ⁇ IJ condition 204, and a content key 205.
  • the license ID 201 an ID that uniquely identifies the license 200 is described.
  • the content ID 202 describes the ID of the content to be used using the license 200.
  • IJ condition type 203 information indicating the type of use condition 204 is described.
  • the usage condition 204 is a usage condition that needs to be updated (for example, “can be played once”), etc.
  • a usage condition that does not need to be updated for example, “until March 2007”). It is assumed that information indicating whether or not playback is possible is described.
  • the use condition 204 describes a condition for permitting use of the content.
  • the content key 205 describes a decryption key for decrypting the content.
  • FIG. 3 is a diagram showing an overall configuration of the license server 101 in the present embodiment.
  • the license server 101 includes a license database 301, a secure communication unit 302, and a license issuing unit 303. Each component is described below.
  • the license database 301 is a database that manages licenses 200 that can be issued to each user terminal 103 as shown in FIG.
  • the license database 301 includes a terminal ID 401, a license 200 that can be issued to the user terminal 103 specified by the terminal ID 401, an issuable count 402, and a commit waiting flag 403.
  • the terminal ID 401 is an ID that uniquely identifies the user terminal 103 in the digital content distribution system.
  • the number of issuable times 402 is the number of times that the license 200 can be issued to the user terminal 103.
  • the issuable number of times 402 is decremented by 1 every time a license 200 is transmitted to the user terminal 103 and a license reception completion notification (hereinafter referred to as a commit message) is received as a reply. When it reaches 0, the license 200 cannot be issued. In the present embodiment, it is assumed that the license 200 is deleted from the license database 301 when the issuable number of times becomes 402 power SO.
  • the commit wait flag 403 is information indicating whether or not a commit message from the user terminal 103 is waiting. In this embodiment, The commit wait flag 403 takes one of the values “0” or “1”. When it is “1”, it is in a state of waiting for a commit message, and when it is “0”, a commit message is displayed.
  • the commit wait flag 403 is set to “1” before transmission. If a commit message is received while the commit wait flag 403 is “1”, the commit count is reduced by “1”, and the commit wait flag 403 is changed to “0”. Shall be performed.
  • two licenses 200 whose license ID 201 is “0011” or “0012” can be issued to the user terminal 103 whose terminal ID 401 is “0001”, and the terminal ID 401 is “0002”.
  • a user terminal 103 can issue a license 200 having a license ID 201 of “0021”.
  • a license 200 that can be issued to the user terminal 103 whose terminal ID 401 is “0001” and whose license ID 201 is “0011” can be issued only once and is currently waiting for commit. ing.
  • the secure communication unit 302 authenticates the user terminal 103, concealed communication between the license server 101 and the user terminal 103 (communication for preventing eavesdropping / tampering and authenticating the communication partner), and Take measures against transaction interruption.
  • the configuration of the secure communication unit 302 will be described later with reference to FIG.
  • the license issuing unit 303 is a processing unit that performs a license 200 issuing process in response to a request from the user terminal 103.
  • the secure communication unit 302 is composed of a secure communication control unit 501, a transaction log database 502, a unique information storage unit 503, a random number generation unit 504, a sign processing unit 505, and a communication unit 506.
  • a secure communication control unit 501 a transaction log database 502
  • a unique information storage unit 503 a unique information storage unit 503
  • a random number generation unit 504 a sign processing unit 505
  • the secure communication control unit 501 is a means for controlling the entire secure communication unit 302.
  • the secure communication control unit 501 performs authentication processing of the user terminal 103 and data number / data to be transmitted to and received from the user terminal 103. Controls such as decryption processing and falsification check processing. More secure
  • the communication control unit 501 manages the transaction log 600 whose example is shown in FIG. 6 on the volatile memory, and performs processing of recording it in the transaction log database 502 as necessary. When a transaction being executed is interrupted due to communication disconnection, etc., the prescribed processing is performed based on the information recorded in this transaction log database 502, and the interrupted transaction is completed or before execution of the interrupted transaction. It becomes possible to return to the state.
  • the transaction log 600 includes a terminal ID 401, a transaction being processed 601, a transaction identification flag 602 being processed, and a rollback necessity 603.
  • the terminal ID 401 describes the ID of the user terminal 103 with which the license server 101 is communicating.
  • In-process transaction presence / absence 601 describes whether or not there is a transaction currently being processed.
  • the in-process transaction identification flag 602 describes a value of “0” or “1” assigned to the transaction currently being processed. In this embodiment, “0” or “1” is alternately assigned to each transaction.
  • the rollback necessity 603 information indicating whether or not the license database 301 needs to be rolled back is described when the transaction being processed ends incomplete.
  • the license server 101 indicates that it is communicating with the user terminal 103 whose terminal ID 401 is “0001”, and there is a transaction currently being processed, and the processing assigned to the transaction is in progress.
  • the value of the transaction identification flag 602 is “0”, indicating that rollback of the license database 301 is not required even when the transaction is incomplete and terminated.
  • the transaction log database 502 is realized by a nonvolatile recording medium.
  • this is a database in which a set of terminal ID 401 and in-process transaction identification flag 602 is recorded.
  • the unique information storage unit 503 includes a server public key certificate including the public key KDs unique to the license server 101 in the public key cryptosystem, a private key K Es unique to the license server 101, and a CA public key certificate.
  • Server public key certificate is license server 101 public keys KDs are signed by a certificate authority.
  • a general X.509 certificate format is used for the format of the public key certificate.
  • public key cryptography and X.509 certificate format refer to ITU-T Document X.509 fhe Direcrory: Public-key and attribute certificate frameworks.
  • the random number generation unit 504 generates a random number.
  • the encryption processing unit 505 performs data encryption, decryption, signature generation, signature verification, generation of a session key generation parameter, and generation of a session key.
  • AES Advanced Encryption Standard
  • EC—DS A Elliptic Curve Digital Signature Algorithm
  • the encryption processing unit 505 receives an AES key and plaintext / encrypted data as input, and each of the data encrypted / decrypted with the input AES key. Output.
  • signature generation / verification the signature target data / signature verification data and the private key / public key are input, and the signature data / verification result is output.
  • session key generation parameters random numbers are input and Diffie-Hellman parameters are output.
  • EC-DH Elliptic Curve Diffie-Hellman
  • the algorithm of EC —DH is detailed in the above IEEE 1363 Standard.
  • the communication unit 506 is means for communicating with the user terminal 103.
  • the user terminal 103 includes a license storage unit 801, a content storage unit 802, a secure communication 803, a license acquisition 804, a content acquisition 805, an It is composed of a numeric output control unit 806 and a content output unit 807.
  • a license storage unit 801 a license storage unit 801
  • a content storage unit 802 a secure communication 803
  • a license acquisition 804 a content acquisition 805, an It is composed of a numeric output control unit 806 and a content output unit 807.
  • Each component will be described below.
  • the license accumulation unit 801 is means for accumulating the license 200 acquired from the license server 101.
  • the license storage unit 801 securely stores the license 200 in a tamper-resistant memory.
  • the content storage unit 802 is means for storing encrypted content acquired from the content server 102.
  • the secure communication unit 803 performs authentication of the license server 101, secret communication between the license server 101 and the user terminal 103 (communication for preventing eavesdropping and tampering and authentication of the communication partner), and countermeasures against transaction interruption. Do.
  • the configuration of the secure communication unit 803 will be described later with reference to FIG.
  • the license acquisition unit 804 is a unit that performs license 200 issue request processing to the license server 101.
  • the content acquisition unit 805 is a means for acquiring content from the content server 102.
  • the content output control unit 806 is means for controlling the output of content based on the license 200.
  • the content output unit 807 is means for decrypting and outputting the content using the content key 205 in accordance with an instruction from the content output control unit 806.
  • the secure communication unit 803 includes a secure communication control unit 901, a transaction log database 902, a unique information storage unit 903, a random number generation unit 904, a signal processing unit 905, and a communication unit 906. Consists of Hereinafter, each component of the secure communication unit 803 will be described.
  • the secure communication control unit 901 is a means for controlling the entire secure communication unit 803, and the secure communication control unit 901 performs authentication processing of the license server 101 and encryption of data transmitted to and received from the license server 101. Controls such as decryption processing and falsification check processing. More
  • the secure communication control unit 901 manages the transaction log 1000, an example of which is shown in FIG. 10, in the volatile memory, and records the transaction log 1000 in the transaction log database 902 as necessary. Do. When a transaction being executed is interrupted due to communication disconnection, etc., the prescribed processing is performed based on the information recorded in this transaction log database 902, and the interrupted transaction is completed or interrupted transaction is completed. It becomes possible to return to the state before execution of.
  • the transaction log 1000 includes a Sano 101001 and a transaction identification flag 602 being processed.
  • the server ID 1001 describes the ID of the license server 101 with which the user terminal 103 is communicating.
  • the transaction identification flag 602 being processed the value “0” or “1” assigned to the transaction currently being processed is described, as in the transaction log 600.
  • the user terminal 103 indicates that it is communicating with the license server 101 whose server ID 1001 is “0001”, and the value of the in-process transaction identification flag 602 assigned to the transaction currently being processed is shown. Indicates “0”.
  • the transaction log database 902 is realized by a nonvolatile recording medium.
  • an example is a database in which a set of a server ID 1001 and a transaction identification flag 6002 being processed is recorded.
  • the unique information storage unit 903 includes a terminal public key certificate including the public key KDc unique to the user terminal 103 in the public key cryptosystem, a secret key KEc unique to the user terminal 103, a certification authority public key certificate, and Remember.
  • the terminal public key certificate is obtained by signing the public key KDc of the user terminal 103 with the certificate authority.
  • the X.509 certificate format is used for the public key certificate format.
  • the random number generation unit 904 generates a random number.
  • the encryption processing unit 905 performs data encryption, decryption, signature generation, signature verification, session key generation parameter generation, and session key generation.
  • the input / output of the cryptographic processing unit 905 is the same as that of the license processing unit 505 of the license server 101.
  • Communication unit 906 is means for communicating with license server 101.
  • FIG. 12 is a diagram for explaining an outline of the license acquisition process when no log is recorded in the transaction log database 902 when communication between the user terminal 103 and the license server 101 is started.
  • FIG. 13 is a diagram for explaining the outline of the license acquisition process when a log is recorded in the transaction log database 902 at the start of communication between the user terminal 103 and the license server 101.
  • Communication between the user terminal 103 and the license server 101 consists of a request message all started from the user terminal 103 and a response message returned from the license server 101 in response to the request message.
  • a pair of request and response is called a phase and consists of five types of phases as shown in Figs. Hereinafter, an outline of each phase will be described.
  • the authentication phase P1 is a phase for mutual authentication that is performed only once after the session is established between the user terminal 103 and the license server 101.
  • the user terminal 103 transmits authentication information A, which is information necessary for the license server 101 to authenticate the user terminal 103, to the license server 101 as an initial request message.
  • the license server 101 After verifying the authentication information A, the license server 101 transmits authentication information B, which is information necessary for the user terminal 103 to authenticate the license server 101.
  • the user terminal 103 verifies the authentication information B. This completes the description of the authentication phase P1.
  • the authentication / request phase P2 is a phase that is performed only once following the authentication phase P1 if no log is recorded in the transaction log database 902 at the start of the authentication phase P1.
  • Authentication 'request phase P 2 the user terminal 103 transmits the authentication information C, which is information necessary for confirming the mutual authentication, and the transaction identification flag T to the license server 101 together with the license request message.
  • An initial value (“0” in the present embodiment) is set in the transaction identification flag transmitted here.
  • the license server 101 determines that a new transaction is started, and if there is a previously interrupted transaction, the license server 301 returns the state of the license database 301 or the transaction log database 502 to the state before the start of the transaction (hereinafter referred to as “transaction”). Then, a response message including the license 200 is transmitted to the user terminal 103 as a response to the request message.
  • the user terminal 103 that has received the response message shifts to the commit phase P4 by transmitting a commit message when not performing transaction processing continuously. If transaction processing is performed continuously, the commit message is not sent and the process moves to request phase P3.
  • the request phase P3 is a phase that occurs when two or more transactions are processed in the same session. In other words, the request phase P3 is used when a license request is made multiple times. Request phase P3 is repeated as many times as necessary. In this request phase P3, the commit message is not transmitted, and instead of the commit message, the transaction identification flag whose value is inverted is transmitted together with the license request message in the next request phase P3. In the request phase P3, the license server 101 receives the transaction identification flag T whose value is inverted with respect to the transaction identification flag T received in the previous request phase P3, and responds to the previous transaction. And commit processing. After the final request phase P3 is completed, the process proceeds to the commit phase P4.
  • the commit phase P4 is a phase for confirming completion of transaction processing in the license server 101 after all transaction processing is completed.
  • the user terminal 103 transmits a commit message to the license server 101.
  • the license server 101 that has received the commit message performs a commit process.
  • Authentication 'commit phase P5 is logged in transaction log database 902 at the start of authentication phase P1 If this is the case, it is a phase that is performed only once following the authentication phase PI.
  • the user terminal 103 transmits to the license server 101 authentication information C, which is information necessary for confirming mutual authentication, and a transaction identification flag T together with a commit message.
  • the license server 101 performs a commit process or a cancel process according to the value of the transaction identification flag ⁇ .
  • S1401 When the user j3 instructs the license server 101 to acquire the license 200, the secure communication control unit 901 included in the secure communication unit 803 refers to the transaction log database 902 and designates it. Check whether there is a log corresponding to the license server 101 registered. If there is a corresponding log, it is read as transaction log 100 00 on volatile memory managed by itself.
  • the secure communication control unit 901 generates a challenge message including the random number Rc generated by the random number generation unit 904 and the terminal public key certificate stored in the unique information storage unit 903. The data is transmitted to the license server 101 via the communication unit 906.
  • the secure communication control unit 501 generates random numbers Rs and Rs2 in the random number generation unit 504,
  • the cryptographic processing unit 505 generates a Diffie-Hellman parameter DHs with the random number Rs2 as an input.
  • the secure communication control unit 501 signs the data (equation 1) obtained by concatenating the random number Rc received from the user terminal 103 and the DHs generated in step S 1405 with the secret key KEs unique to the license server 101 ( Equation 2) is generated by the encryption processing unit 505.
  • S (A, B) indicates that the signature for data B is generated with the secret key A using the algorithm S for generating the signature.
  • the secure communication control unit 501 refers to the transaction log database 502 and confirms whether there is a log corresponding to the user terminal 103 that is communicating.
  • the transaction log 600 is read out on the volatile memory managed by itself, and the log read from the transaction log database 502 is deleted.
  • “present” is set in the transaction in process presence / absence 601 and “necessary” is set in the rollback necessity 603.
  • the transaction log 600 is generated on the volatile memory managed by itself.
  • the terminal ID 401 is the ID of the user terminal 103 that is in communication
  • the transaction being processed presence / absence 601 is “None”
  • the transaction identification flag 602 is “0”
  • the rollback necessity 603 is “Unnecessary” is set.
  • the secure communication control unit 501 generates the random number Rs generated in S1405, the Diffie-Hellman parameter DHs, the server public key certificate stored in the unique key information storage unit 503, and the step S1406.
  • a response & challenge message including the generated signature (formula 2) is generated and transmitted to the user terminal 103 via the communication unit 506.
  • the secure communication control unit 501 generates an error message and transmits it to the user terminal 103 via the communication unit 506.
  • S1410 The secure communication control unit 901 checks whether the message received from the license server 101 is a response & challenge message. License server 10 1 Power If the received message is a response & challenge message, proceed to S1411. If the message received from the license server 101 is not a response & challenge message, the process ends.
  • the secure communication control unit 901 sends the certificate authority public key certificate stored in the unique information storage unit 903 and the server public key certificate included in the response & challenge message to the encryption processing unit 905. By giving it, the signature of the server public key certificate is verified.
  • S1413 The secure communication control unit 901 generates data (formula 3) that combines the random number Rc created in S1402 and the DHs contained in the response & challenge message, and the data (formula 3) and the response & Signature data (formula 2) included in the challenge message and server public key certificate are input to the encryption processing unit 905 to verify the signature data (formula 2).
  • S1414 If the verification fails as a result of the signature verification in S1413, the processing ends. As a result of the signature verification in S1413, if the verification is successful, the user terminal 103 knows that the communication partner is indeed the license server 101 (authentication of the communication partner). In this case, the process proceeds to S1415.
  • Secure communication control section 901 generates random number Rc2 at random number generation section 904, and generates Diffie-Hellman parameter DHc using the generated random number Rc2 as input to encryption processing section 905.
  • S1416 The secure communication control unit 901 generates a session key KS in the signature processing unit 905, including the DHs included in the response & challenge message, the Rc2 generated in S1415, and the power.
  • S1417 The secure communication control unit 901 uses the random number Rs included in the response & challenge message and the DHc generated in S1415 to concatenate the data (Formula 4) with the private key KEc unique to the user terminal 103 (Formula 5) Is generated by the cryptographic processing unit 905. [0103] Rs II DHc (Formula 4)
  • the secure communication control unit 901 refers to the transaction log database 902 and confirms whether there is a log corresponding to the license server 101 in communication. If there is a log corresponding to the license server 101 during communication, the process proceeds to the processing of the authentication 'commit phase P5'. If there is no log corresponding to the license server 101 in communication, the process proceeds to the processing of the authentication 'request phase P2.
  • the secure communication control unit 901 generates a transaction log 1000 on a volatile memory managed by itself.
  • the server ID 1001 is set to the ID of the license server 101 in communication
  • the transaction-in-process identification flag 602 is set to an initial value (“0” in the present embodiment).
  • the license acquisition unit 804 generates a license acquisition request message Mreq.
  • the license acquisition request message Mreq includes the license ID 201 of the license 200 that is desired to be acquired.
  • the secure communication control unit 901 concatenates the sequence number Seq, the transaction identification flag T, the license acquisition request message Mreq generated in S1502 and the hash value h for them, and uses it as the session key KS.
  • the encrypted key data expression 6)
  • E (X, Y) indicates that the data Y is converted into a sign with the sign key X using the sign algorithm E.
  • the secure communication control unit 901 includes a request & response including the DHc generated in S1415, the signature generated in S1417 (Equation 5), and the signature data generated in S1503 (Equation 6). A message is generated and transmitted to the license server 101 via the communication unit 906.
  • Secure communication control unit 501 included in secure communication unit 302 of license server 101 includes Diffie-Hellman parameter D Hc, signature data, and signature data from user terminal 103 via communication unit 506.
  • D Hc Diffie-Hellman parameter
  • signature data signature data
  • signature data signature data from user terminal 103 via communication unit 506.
  • the data formula 7 that combines the random number Rs created in S1405 and the DHc is generated, and the generated data (formula 7), the signature data, and the terminal public key certificate are generated. Is input to the encryption processing unit 505 to verify the signature data.
  • S1506 If the verification fails as a result of the signature verification in S1505, the process proceeds to S1513. As a result of the signature verification in S1505, if the verification is successful, the process proceeds to S1507.
  • S1507 Secure communication control unit 501 generates DHc included in the request & response message, Rs2 and power generated in S1405, and encryption processing unit 505 generates session key KS. After that, the encrypted data included in the request & response message and the generated session key K S are input to the encryption processing unit 505 to decrypt the encrypted data.
  • S1508 The secure communication control unit 501 verifies the sequence number Seq and the hash value h.
  • S1509 If the verification fails in S1508, the process proceeds to S1513. As a result of the verification in S1508, if the verification is successful, the process proceeds to S1510.
  • S1510 The secure communication control unit 501 confirms the value of transaction in process presence / absence 601 in the transaction log 600. As a result of the confirmation, if the value of the transaction being processed 601 is “Yes”, the process proceeds to S1511. Presence / absence of transaction being processed If the value of 601 is “None”, the process proceeds to S1512.
  • S1511 The secure communication control unit 501 executes a cancel process to be described later.
  • S1512 The secure communication control unit 501 executes response message generation 'transmission processing described later. To do.
  • the secure communication control unit 501 generates an error message and transmits it to the user terminal 103 via the communication unit 506.
  • S1514 The secure communication control unit 901 checks whether the message received from the license server 101 is a response message. If the message received from the license server 101 is a response message, the process proceeds to S1515. If the message received from the license server 101 is not a response message, the process ends.
  • S1515 The secure communication control unit 901 executes a response message reception process described later.
  • S1516 In the response message reception process of S1515, if the verification of the sequence number Seq and the hash value h is successful, the process proceeds to S1517. On the other hand, if the verification of the sequence number Seq and the hash value h fails, the process is terminated as it is.
  • S1517 The secure communication control unit 901 proceeds to the processing of the request phase P3 when continuing to request a license. On the other hand, if the license request is not continued, the process proceeds to the commit phase P4.
  • the secure communication control unit 501 instructs the license issuing unit 303 to perform a rollback process of the license database 301.
  • This rollback instruction includes the terminal ID 401 of the user terminal 103 currently communicating.
  • the license issuance unit 303 refers to the license database 301 and selects the information with the value “1” of the commit wait flag 403 from the information associated with the terminal ID 401 included in the rollback instruction. Search and change its value to "0".
  • the secure communication control unit 501 sets the value of the transaction presence / absence of transaction 601 in the transaction log 600 to “none”.
  • the power explained as performing the rollback process of the license database 301 is not limited to that, and rollback is necessary. If you manage and update sensitive information, you may roll back that information.
  • the secure communication control unit 501 transmits a decrypted license acquisition request message Mreq to the license issuing unit 303, notifying that a new license acquisition request has been received.
  • the license issuing unit 303 refers to the license database 301 and determines whether or not the license 200 can be issued.
  • the license issuing unit 303 determines that the license 200 can be issued when the number of possible issuances 402 of the license 200 requested to be issued by the license acquisition request message Mreq is 1 or more and the commit waiting flag 403 is “0”. It shall be determined.
  • the process proceeds to S1702.
  • the license cannot be issued the process proceeds to S1705.
  • S1702 The license issuance unit 303 confirms whether the issuable count 402 is finite.
  • the license issuing unit 303 determines that rollback processing of the license database 301 is necessary when the user terminal 103 cannot receive the license 200 to be issued.
  • the license issuing unit 303 changes the value of the commit waiting flag 403 of the license 200 to be issued to “1”.
  • the license issuing unit 303 determines that rollback processing of the license database 301 is unnecessary even when the user terminal 103 cannot receive the license 200 to be issued.
  • the license issuing unit 303 generates a license request response Mres.
  • the license issuing unit 303 issues a license request response message Mres including the license 200 when it is determined that the license can be issued in S1701, and issues the license 200 when it is determined that the license cannot be issued in S1701.
  • a license request response Mres is generated to notify that is not possible.
  • License issuing unit 303 generates The license request response Mres and the rollback necessity determined in S1703 and S1705 are transmitted to the secure communication control unit 501.
  • S1707 The secure communication control unit 501 identifies the transaction log sent from the user terminal 103 as the value of the transaction transaction presence / absence 601 in the transaction log 600 as "Yes" and the value of the transaction identification flag 602 as being processed.
  • the flag T value is set to the value notified in S 1706 for rollback necessity 603.
  • S1708 The secure communication control unit 501 concatenates the sequence number Seq, the transaction identification flag storage instruction TR, the license acquisition request response message Mreq generated in S 1706, and the hash value h corresponding to them into the session. Generate encrypted data (Equation 8) encrypted using the key KS.
  • the transaction identification flag storage instruction TR is information indicating whether or not the transaction log 1000 needs to be recorded in the transaction log database 902 in the user terminal 103.
  • the secure communication control unit 501 sets “transaction required” in the transaction identification flag storage instruction TR, and the rollback necessity 603 is “unnecessary”. In this case, “Recording not required” shall be set in the transaction identification flag storage instruction TR. By notifying the necessity of recording in the transaction log database 902 by the transaction identification flag storage instruction TR, unnecessary recording in the transaction log database 902 can be suppressed.
  • secure communication control section 501 generates a response message including the generated encrypted data (Formula 8), and transmits it to user terminal 103 via communication section 506.
  • response message transmitted from the license server 101 may include the transaction identification flag retention period.
  • Figures 28 and 29 show reference diagrams when a retention period is further given to the transaction log 600.
  • the transaction log 600 managed by the license server has a retention period of 2801
  • the transaction log database 502 has a retention period of 2802
  • the transaction log 1000 managed by the user terminal has a retention period of 2901 and the transaction log database.
  • a retention period 2902 is added to 02.
  • set a unique length in the system (1 month after recording the log, etc.) and grant it according to usage conditions (if the license can be issued until March, set the end of March) ) Etc. are considered. Therefore, conventionally, when the license server 101 or the user terminal 103 stops the operation even though it is interrupted, the transaction log cannot be deleted. However, since the license server 101 and the user terminal 103 can delete the transaction log when the retention period is exceeded, it is appropriate that the transaction log remains in the license server 101 and the user terminal 103 indefinitely. Can be prevented.
  • the license server 101 determines whether or not it is necessary to record the transaction log 1000 in the transaction log database 902 in the user terminal 103, and stores the determination result in the transaction identification flag in the response message.
  • the instruction TR notifies the user terminal 103, but this recording necessity determination is performed according to the contents of the usage conditions 204 included in the license 200 to be transmitted, whether the information managed by the license server 101 is updated, or the like. It may be broken. For example, when the usage condition 204 of the license 200 to be transmitted is stateful, it is determined that “recording is necessary”, and when the usage condition is stateless, it is determined that “not necessary” is determined.
  • the license server 101 updates the managed information with the issuance of the license 200, “recording is required” is considered, and when the information is not updated, “unnecessary” is considered.
  • the information managed by the license server 101 and updated as the license 200 is issued may include the number of licenses 200 issued and the license 200 issue history.
  • the license server 101 determines whether or not the transaction log 1000 needs to be recorded in the transaction log database 902 in the user terminal 103, but the license server 101 does not determine whether or not recording is necessary. In addition, for example, the determination may be made on the user terminal 103 side based on the contents of the usage condition 204 of the license 2000.
  • S1801 The secure communication control unit 901 inputs the signature key data and the session key KS included in the response message to the encryption processing unit 905, and decrypts the encrypted data.
  • S1802 The secure communication control unit 901 verifies the sequence number Seq and the hash value h.
  • the secure communication control unit 901 refers to the transaction identification flag storage instruction TR included in the data decrypted in S1801, and confirms whether or not the transaction log 1000 needs to be recorded in the transaction log database 902. . As a result of confirmation, if recording is necessary, the process proceeds to S1806. If recording is unnecessary, the process proceeds to S1807.
  • S1806 The secure communication control unit 901 records the transaction log 1000 in the transaction log database 902.
  • the secure communication control unit 901 transmits a license acquisition request response message Mreq included in the encrypted data decrypted in S1801 to the license acquisition unit 804.
  • the license acquisition unit 804 refers to the license acquisition request response message Mreq and confirms whether or not the license 200 has been acquired. If the license 200 is obtained as a result of the confirmation, the process proceeds to S1808. Thereafter, the acquired license 200 can be used in the user terminal 103. On the other hand, if the license 200 cannot be obtained, the process is terminated.
  • the license acquisition unit 804 stores the license 200 in the license storage unit 801.
  • the secure communication control unit 901 inverts the value of the in-process transaction identification flag 602 of the transaction account 1000 managed on the volatile memory.
  • the license acquisition unit 804 generates a license acquisition request message Mreq.
  • the license acquisition request message Mreq includes the license ID 201 of the license 200 that is desired to be acquired.
  • S1903 The secure communication control unit 901 concatenates the sequence number Seq, the transaction identification flag T, the license acquisition request message Mreq generated in S1902 and the hash value h for them, and uses it as the session key KS. Use the key to generate the key number data (Equation 6).
  • the transaction identification flag T the value of the transaction identification flag 602 being processed in the transaction log 1000 is set.
  • the secure communication control unit 901 generates a request message including the encrypted data (Formula 6) generated in S1903, and transmits it to the license server 101 via the communication unit 906.
  • secure communication control section 501 Upon receiving the request message, secure communication control section 501 inputs the signature data and session key KS contained in the request message to encryption processing section 505, and decrypts the signature data.
  • S1906 The secure communication control unit 501 verifies the sequence number Seq and the hash value h.
  • S1908 The secure communication control unit 501 confirms the value of the transaction identification flag 602 being processed in the transaction log 600 and the value of the transaction identification flag T included in the encrypted data decrypted in S 1905. As a result of the confirmation, if the value of the transaction identification flag T matches the value of the transaction identification flag 602 being processed, the process proceeds to S1911. If the value of the transaction identification flag T does not match the value of the transaction identification flag 602 being processed, the process proceeds to S1909.
  • S1909 The secure communication control unit 501 executes a commit process to be described later.
  • S1910 The secure communication control unit 501 executes the above-described response message generation ′ transmission process.
  • the secure communication control unit 501 executes response message generation 'transmission processing (retransmission) described later.
  • the secure communication control unit 501 generates an error message and transmits it to the user terminal 103 via the communication unit 506.
  • the secure communication control unit 901 checks whether the message received from the license server 101 is a response message. If the message received from the license server 101 is a response message, the process proceeds to S1914. If the message received from the license server 101 is not a response message, the process ends.
  • S1915 In the response message reception process of S1914, if the sequence number Seq and the hash value h are successfully verified, the process proceeds to S1916. On the other hand, if the verification of the sequence number Seq and the hash value h fails, the process is terminated as it is.
  • S1916 The secure communication control unit 901 executes the request phase P3 again when continuing to request a license. On the other hand, if the license request is not continued, the process proceeds to the commit phase P4.
  • the secure communication control unit 501 instructs the license issuing unit 303 to perform commit processing. It is assumed that this commit instruction includes the terminal ID 401 of the user terminal 103 currently communicating.
  • the license issuing unit 303 refers to the license database 301 and searches for information associated with the terminal ID 401 included in the commit instruction. As a result of the search, if the license 200 with the commit wait flag 403 value of “1” is detected, the process proceeds to S2002. Commit waiting flag 403 value S "l" license 200 If not detected, the process proceeds to S2003.
  • the license issuance unit 303 changes the value of the commit wait flag 403 of the license 200 detected in S2001 to “0”, and subtracts the issuable count 402 by 1.
  • the secure communication control unit 501 sets the value of transaction in progress transaction presence / absence 601 of the transaction log 600 to “none”.
  • the information contained in the license database 301 was updated.
  • the present invention is not limited to this, and information that needs to be updated when the license 200 is issued is managed. If so, the information may be updated.
  • the secure communication control unit 501 transmits a decrypted license acquisition request message Mreq to the license issuing unit 303, notifying that the retransmitted license acquisition request has been received.
  • the license issuing unit 303 refers to the license database 301 and determines whether or not the license 200 can be issued.
  • the license issuing unit 303 determines that the license 200 can be issued when the number of issuable times 402 of the license 200 requested to be issued by the license acquisition request message Mreq is 1 or more.
  • the license issuing unit 303 generates a license request response Mres. If the license issuing unit 303 determines in S2101 that the license can be issued, the license request response message Mres including the license 200 is issued. If it is determined in S2101 that the license cannot be issued, the license 200 is issued. A license request response Mres to notify that it is impossible is generated. The license issuing unit 303 transmits the generated license request response Mres to the secure communication control unit 501.
  • the secure communication control unit 501 concatenates the sequence number Seq, the transaction identification flag storage instruction TR, the license acquisition request response message Mreq generated in S2102, and the hash value h for them, and generates the session key. Generate encrypted data (Formula 8) encrypted using KS.
  • the secure communication control unit 501 stores the transaction identification flag storage instruction.
  • the transaction identification flag storage instruction TR is set to “recording unnecessary”. Thereafter, the secure communication control unit 501 generates a response message including the generated encrypted data (Formula 8), and transmits it to the user terminal 103 via the communication unit 506.
  • S2201 The secure communication control unit 901 concatenates the sequence number Seq, the transaction identification flag T, the commit command C, and the hash value h for them, and encrypts them using the session key KS. Generate data (Equation 9). In the transaction identification flag T, the value of the transaction identification flag 602 being processed in the transaction log 1000 is set.
  • S2202 The secure communication control unit 901 generates a commit message including the encrypted data (formula 9) generated in S2201, and transmits it to the license server 101 via the communication unit 906.
  • S2203 When the secure communication control unit 501 receives the commit message, the secure communication control unit 501 inputs the signature data and the session key KS included in the commit message to the encryption processing unit 505, and decrypts the encrypted data. I do.
  • S2204 The secure communication control unit 501 verifies the sequence number Seq and the hash value h.
  • S2206 The secure communication control unit 501 executes the above-described commit process.
  • S2207 The secure communication control unit 501 concatenates the sequence number Seq, the transaction identification flag T, the ACK command A, and the hash value h for them, and encrypts them using the session key KS. Generate data (Equation 10) and generate the generated data (Equation 10) An ACK message including the same is generated and transmitted to the user terminal 103 via the communication unit 506.
  • the transaction identification flag T the value of the transaction identification flag 602 being processed in the transaction log 600 is set.
  • the secure communication control unit 501 generates an error message and transmits it to the user terminal 103 via the communication unit 506.
  • S2209 The secure communication control unit 901 checks whether the message received from the license server 101 is an ACK message. If the message received from the license server 101 is an ACK message, the process proceeds to S2210. If the received message is not an ACK message, the processing is terminated.
  • S2210 The secure communication control unit 901 executes an ACK message reception process described later.
  • the secure communication control unit 901 inputs the encrypted data and the session key KS included in the ACK message to the encryption processing unit 905, and decrypts the encrypted data.
  • S2302 The secure communication control unit 901 verifies the sequence number Seq and the hash value h.
  • S2304 Secure communication control wholesaler 901 deletes information related to the transaction being processed from transaction log database 902.
  • S2401 The secure communication control unit 901 received from the communicating license server 101 Compare the server ID 1001 included in the server public key certificate with the server ID 1001 of the transaction log 1000 and check whether the license server 101 in communication is the license server 101 to which a commit & response message should be sent. To do. If the server ID 1001 contained in the server public key certificate received from the communicating license server 101 matches the server ID 1001 of the transaction log 1000 as a result of the confirmation, the process proceeds to S2402. On the other hand, when the server ID 1001 included in the server public key certificate received from the communicating license server 101 does not match the Sano ID 1001 of the transaction log 1000, the processing is terminated as it is.
  • S2402 The secure communication control unit 901 concatenates the sequence number Seq, the transaction identification flag T, and the hash value h for them, and encrypts them using the session key KS (formula 11) is generated.
  • sequence number Seq is set to the sequence number Seq.
  • the sequence number Seq shall be incremented by 1 each time a message is sent or received during the same session.
  • the transaction identification flag T is set to the value of the transaction identification flag 602 being processed in the transaction log 1000.
  • S2403 The secure communication control unit 901 is a commit & responder including the DHc generated in S1415, the signature generated in S1417 (Equation 5), and the signature data generated in S2402 (Equation 11). Is generated and transmitted to the license server 101 via the communication unit 906.
  • the secure communication control unit 501 included in the secure communication unit 302 of the license server 101 receives the Diffie-Hellman parameter D Hc, signature data, and signature data from the user terminal 103 via the communication unit 506.
  • the data (formula 7) that combines the random number Rs created in S1405 and the DHc is generated (formula 7), the generated data (formula 7), the signature data, and the terminal public key certificate
  • the certificate is input to the cryptographic processing unit 505, and the signature data is verified.
  • S2405 If the verification fails as a result of the signature verification in S2404, the process proceeds to S2414. As a result of the signature verification in S2404, if the verification is successful, S240 Proceed to step 6.
  • the secure communication control unit 501 generates a session key KS by the encryption processing unit 505 based on DHC included in the commit & response message and Rs2 generated in S1405. After that, the encrypted data included in the commit & response message and the generated session key KS are input to the encryption processing unit 505 to decrypt the encrypted data.
  • S2407 The secure communication control unit 501 verifies the sequence number Seq and the hash value h.
  • S2408 If verification fails in S2407, the process proceeds to S2414. As a result of the verification in S2407, if the verification is successful, the process proceeds to S2409.
  • S2409 The secure communication control unit 501 confirms the value of the transaction in progress transaction presence / absence 601 in the transaction log 600. As a result of the confirmation, if the value of the transaction being processed 601 is “Yes”, the process proceeds to S2410. Presence / absence of transaction in process If the value of 601 is “None”, the process proceeds to S2413.
  • S2410 The secure communication control unit 501 checks the value of the transaction identification flag 602 being processed in the transaction log 600 and the value of the transaction identification flag T included in the encrypted data decrypted in S2404. As a result of the confirmation, if the value of the transaction identification flag T matches the value of the transaction identification flag 602 being processed, the process proceeds to S2412. If the value of the transaction identification flag T does not match the value of the transaction identification flag 602 being processed, the process proceeds to S2411.
  • S2411 The secure communication control unit 501 executes the cancellation process described above.
  • S2412 The secure communication control unit 501 executes the above-described commit process.
  • S2413 The secure communication control unit 501 concatenates the sequence number Seq, the transaction identification flag T, the ACK command A, and the hash value h for them, and encrypts them using the session key KS. (Equation 10) is generated, an ACK message including the generated data (Equation 10) is generated, and transmitted to the user terminal 103 via the communication unit 506.
  • the transaction identification flag T the value of the transaction identification flag 602 being processed in the transaction log 600 is set.
  • S2414 The secure communication control unit 501 generates an error message and transmits it to the user terminal 103 via the communication unit 506.
  • the secure communication control unit 901 confirms whether the message received from the license server 101 is an ACK message. If the message received from the license server 101 is an ACK message, the process proceeds to S2416. If the received message is not an ACK message, the processing is terminated.
  • the secure communication control unit 901 executes the above-described processing at the time of ACK message reception.
  • S2501 The secure communication control unit 501 confirms the value of the transaction in process 601 in the transaction log 600, and checks whether there is a transaction in process with the user terminal 103 that has lost communication. To do. As a result of confirmation, if there is a transaction being processed, the process proceeds to S2502. On the other hand, if there is no transaction being processed, the process is terminated.
  • S2502 The secure communication control unit 501 checks the value of the transaction log 600 for rollback necessity 633, and the transaction being processed with the user terminal 103 whose communication was disconnected is rolled back. Check if the transaction is a required transaction. As a result of confirmation, if the transaction requires rollback, the process proceeds to S2503. If the transaction does not require rollback, the processing ends.
  • the secure communication control unit 501 records the set of the terminal ID 401 of the user terminal 103 whose communication has been disconnected and the transaction identification flag 602 being processed in the transaction log database 502.
  • the number of issuables 402 when the number of issuables 402 is indefinite, no rollback is required, and “recording unnecessary” is set in the transaction identification flag storage instruction TR.
  • the power described as being defined may be set according to other predetermined rules. For example, when the usage condition type 203 of the license 200 to be issued is “stateless”, rollback is not necessary, and “recording unnecessary” may be set in the transaction identification flag recording instruction TR.
  • the secure communication control unit 501 transmits a message in response to the message from the user terminal 103, the secure communication control unit 501 stores the message, and the next received message is a retransmission of the previous message. If it is determined, the stored message may be retransmitted.
  • the license 200 is described as being managed in association with the terminal ID 401, and the user S and the domain in which the user terminal 103 is gnolled are not limited thereto. It may be associated.
  • the license acquisition request message Mreq transmitted from the user terminal 103 to the license server 101 may be a permission request for a predetermined operation (for example, a reproduction request or an export request). Specifically, the license server 101 may transmit a content key, a time limit for holding the content key, control information, and the like to the user terminal as a response to the license acquisition request message Mreq.
  • This control information includes information for controlling output to each terminal (such as CCI (Copy Control Information) and macrovision signal ON / OFF control) when the permission request from the user terminal 103 is a reproduction request, If the permission request from terminal 103 is a request to export a license or content to a recording medium, the usage conditions of the export destination (when writing to DVD, the value set in CCI on DVD, etc.) can be considered.
  • CCI Copy Control Information
  • the license server 101 may determine whether or not to record a transaction log according to the operation content requested for permission from the user terminal 103. For example, in the case of a playback request, the transaction log record may be “unnecessary”, and in the case of an export request, the transaction log record may be “necessary”.
  • the user terminal 103 may omit the transmission of the commit message.
  • the license server 101 and the user terminal 103 When distributing the license 200 that does not require log recording, it is possible to reduce the number of communications by omitting the communication processing following the commit message, which is just the number of transaction log rewrites.
  • the timing at which the user terminal 103 can use the license 200 acquired from the license server 101 has been described as being at the time of receiving the license 200.
  • the present invention is not limited to this. It may be usable.
  • the license 200 is unlocked (can be used). In this case, the license 200 cannot be used until the user terminal 103 receives the ACK message. Therefore, even if the transaction log is deleted from the transaction log database 902, the license 200 is not duplicated. Absent. Therefore, even if there is no instruction to delete the transaction log by a secure command, the transaction log can be deleted from the transaction log database 902 based on the non-secure information at the user's will.
  • deletion is instructed by a command on the SAC from a predetermined server, (2) In communication other than SAC (for example, HTTP, etc.), it is possible to acquire and delete data prominently provided by the specified operator in response to the delete command. In this case, along with the deletion of the transaction log, it can be considered that the associated and locked license 200 is also deleted.
  • the hash value h included in each message has been described as being subject to calculation only for a part of the message, but this is not the only case. To do. In this case, the user terminal 103 and the license server 101 However, when checking what the received message is, the hash value h may be verified prior to that.
  • Each of the above devices is specifically a computer system including a microprocessor, ROM, RAM, a hard disk unit, a display unit, a keyboard, a mouse, and the like.
  • a computer program is stored in the RAM or hard disk unit.
  • Microprocessor power Each device achieves its functions by operating according to the computer program.
  • the computer program is configured by combining a plurality of instruction codes indicating instructions to the computer in order to achieve a predetermined function.
  • a system LSI is an ultra-multifunctional LSI that is manufactured by integrating multiple components on a single chip. Specifically, it is a computer system that includes a microprocessor, ROM, RAM, and so on. It is. A computer program is stored in the RAM. By operating according to the above-mentioned computer program S, the microprocessor power S
  • the system LSI achieves its functions.
  • each of the above devices may be configured as an IC card that can be attached to and removed from each device or a single module force.
  • the IC card or the module is a computer system composed of a microprocessor, ROM, RAM, and the like.
  • the IC card or the module may include the super multi-functional LSI described above. Microprocessor power By operating according to a computer program, the IC card or the module achieves its function. This IC card or this module may have tamper resistance.
  • the present invention may be the method described above. These methods are also reviewed. It may be a computer program realized by a computer, or may be a digital signal composed of the computer program.
  • the present invention provides a computer-readable recording medium capable of reading the computer program or the digital signal, for example, a flexible disk, a hard disk, a CD-ROM, M0, DVD, DVD-ROM, DVD-RAM, It may be recorded on a BD (Blu-ray Disc), a semiconductor memory, or the like. Further, it may be the digital signal recorded on these recording media.
  • a computer-readable recording medium capable of reading the computer program or the digital signal, for example, a flexible disk, a hard disk, a CD-ROM, M0, DVD, DVD-ROM, DVD-RAM, It may be recorded on a BD (Blu-ray Disc), a semiconductor memory, or the like. Further, it may be the digital signal recorded on these recording media.
  • the present invention may be configured such that the computer program or the digital signal is transmitted via an electric communication line, a wireless or wired communication line, a network typified by the Internet, data transmission, or the like.
  • the present invention may be a computer system including a microprocessor and a memory, wherein the memory stores the computer program, and the microprocessor operates according to the computer program. .
  • the license management apparatus and method according to the present invention are useful in a content distribution service receiving terminal using digital broadcasting, CATV, the Internet, etc., a content distribution service receiving terminal using package media such as a DVD, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

 通信切断対策用の通信管理情報を記録する頻度を少なくする。  ライセンスを発行するライセンスサーバ(101)と、発行されたライセンスに基づいてコンテンツの利用を制御するユーザ端末(103)を含むデジタルコンテンツ配信システムであって、ライセンスサーバ(101)は、発行するライセンスの内容に応じて、通信切断対策用の通信管理情報の記録要否を判定し、それをユーザ端末に通知する。これにより、ユーザ端末(103)において通信管理情報を記録する頻度を少なくすることが可能となる。

Description

明 細 書
端末装置、サーバ装置及びデジタルコンテンツ配信システム
技術分野
[0001] 本発明は、ネットワークを用いて、サーバ装置から映像、音楽などのデジタルコンテ ンッと、デジタルコンテンツの利用を許諾するライセンスを配信し、ユーザが端末装置 でデジタルコンテンツを利用するシステムに関し、特に、前記サーバ装置と前記端末 装置間の通信において、不正にライセンスの複製や改ざんが行われることを防ぎつ つ、通信切断発生時においてもライセンスの消失や二重配信を防ぐシステムおよび 装置に関する。
背景技術
[0002] 近年、音楽、映像、ゲーム等のデジタルコンテンツ(以下、コンテンツと記述)を、ィ ンターネット等の通信やデジタル放送等を通じて、サーバ装置から端末装置に配信 し、端末装置においてコンテンツを利用することが可能な、コンテンツ配信システムと 呼ばれるシステムが実用化段階に入ってレ、る。一般的なコンテンツ配信システムでは 、コンテンツの著作権を保護し、悪意あるユーザ等によるコンテンツの不正利用を防 止するため、著作権保護技術が用いられる。著作権保護技術とは、具体的には、喑 号技術等を用いてコンテンツの利用をセキュアに制御する技術である。
[0003] 例えば、特許文献 1には、コンテンツ配信システムの一例として、喑号ィ匕されたコン テンッ、利用条件、および、コンテンツ復号鍵を、端末装置が、サーバ装置より受信し 、改ざん有無の確認を行った後、利用条件の適合検証を行い、全ての検証を満足し たときのみコンテンツの復号を行うシステムが記載されている。
[0004] このように、従来のコンテンツ配信システムでは、サーバ装置からライセンス (利用条 件とコンテンツ復号鍵を含むデータの総称。利用権利とも呼ぶ)を端末装置に配信 する力 その配信経路は一般的にインターネットなどの公衆回線を用いるため、ライ センスの盗聴および改ざんを防ぐ必要がある。つまり、利用条件の不正改ざんゃコン テンッ鍵の流出を防止しなければならなレ、。さらに、サーバ装置はライセンス配信先 の認証も行う必要がある。つまり、サーバ装置が意図しない端末装置にライセンスを 配信することも防止する必要がある。盗聴 ·改ざん防止と通信相手の認証を行うプロト コノレは SAC (Secure Authenticated Channel)プロトコノレと呼ばれ、例えば、 SS L (Secure Socket Layer)がよく知られている(例えば、非特許文献 1参照)。
[0005] また、通信装置 '通信回線の故障や電源断などによる通信切断がライセンス配信中 に発生した場合、そのライセンスが消失してしまう可能性がある。このような場合、購 入したコンテンツを再生することができないとレ、つた不利益がユーザに発生する。例 えば、特許文献 2および特許文献 3には、通信切断による通信データの消失を、デー タ再送によって回避するプロトコルが記載されている。
特許文献 1 :特許第 3276021号公報
特許文献 2 :特開 2002— 251524号公報
特許文献 3 :特開 2003— 16041号公報
非特許文献 l : A.Frier, P.Karlton, and P.Kocher, "The SSL 3.0 Protocol", [online], NetScape Communications Corp. , Nov. 18, 1996, [平成 18年 1月 23日検索],インタ ~~ネットく URL:http://wp.netscape.com/ eng/ ssl3/ draft302.txtノ
発明の開示
発明が解決しょうとする課題
[0006] し力、しながら、 SACプロトコルや通信切断対策プロトコルは、その適用範囲を広げ るために汎用性を重視し、それぞれ独立に提案されている。これにより、双方のプロト コルを利用することで、ライセンスの盗聴'改ざんの防止、通信相手の認証、通信切 断対策の全ての機能を実現するためには、双方のプロトコルで必要な通信往復回数 が必要となる。
[0007] また、ライセンス取得やライセンス返却などのトランザクションを連続して行う場合、ト ランザクシヨン毎に SACプロトコルと通信切断対策プロトコルを単純に繰り返すことに すれば、 1回のトランザクション処理に力かる通信往復回数の倍数だけ通信往復回数 が増えていくこととなる。例えば、 1回のトランザクション処理に力かる通信往復回数を 4回とする場合、 n個のトランザクションを処理する際には 4n回の通信往復回数が必 要となる。
[0008] それゆえ、端末装置がトランザクション処理を完了するまでに通信遅延が発生し、 ユーザが要求を出してから、応答を得るまでに待ち時間が発生するという課題がある
[0009] また、図 26に示すように、ライセンスサーバ 101ではユーザ端末 103からのライセン ス取得要求メッセージに対して、応答メッセージを送信してからコミットメッセージを受 信するまでライセンス発行を管理するためにログ記録 2601及びログ消去 2603を行 レ、、ユーザ端末 103では応答メッセージを受信してから ACKメッセージを受信するま での期間におレ、てライセンス管理のためにログ記録 2602及びログ消去 2604をする 必要がある。従って、ライセンスサーバ 101及びユーザ端末 103ではログ記録の度に データを蓄積する必要があり、ログ記録が電源切断等に対処するため不揮発性メモ リであるフラッシュメモリ等への書き込みで行われている場合には、書き込み回数に 制限があるメモリの寿命に影響するという問題がある。
[0010] 本発明は、こうした従来の問題点を解決するものであり、サーバ装置と端末装置間 のライセンスの管理をログ記録を用いて行う場合においても、サーバ装置と端末装置 で記録する情報の大きさが小さぐ且つ、ログを記録する頻度が少ないプロトコルを 実現するシステムおよび装置を提供することを目的としている。
[0011] また、ライセンスの盗聴'改ざんの防止、通信相手の認証、通信切断対策の全ての 機能を実現すると共に、複数トランザクション処理を行う場合において、サーバ装置 · 端末装置間の通信往復回数を減少させるプロトコルを実現するシステムおよび装置 を提供することを目的とする。
課題を解決するための手段
[0012] 上記従来の課題を解決するために、本発明の請求項 1記載の端末装置は、コンテ ンッ鍵要求メッセージをサーバ装置へ送信し、前記サーバ装置からの前記コンテン ッ鍵要求メッセージに対する応答メッセージを受信し、コンテンツを利用する端末装 置であって、前記コンテンツ鍵要求メッセージは、現在実行中のコンテンツ鍵要求処 理に関連づけられており 0または 1の値を取るトランザクションフラグを含み、前記応 答メッセージは、コンテンツ鍵と、前記トランザクションフラグの記憶の要否を示すトラ ンザクシヨンフラグ記憶要否フラグを含み、前記サーバ装置とメッセージの送受信を 行うメッセージ送受信手段と、前記トランザクションフラグを記憶するトランザクションフ ラグ記憶手段と、前記トランザクションフラグを前記トランザクション記憶手段に書き込 むトランザクションフラグ書き込み手段とを備え、前記トランザクション書き込み手段は
、(1)前記メッセージ送受信手段が、前記応答メッセージを受信し、且つ、(2)前記応 答メッセージに含まれる前記トランザクションフラグ記憶要否フラグが記憶要と設定さ れている場合、前記トランザクションフラグを前記トランザクション記憶手段に書き込む ことを特徴とする。
[0013] また、本願発明の端末装置の前記メッセージ送受信手段は、前記応答メッセージを 受信した場合、前記応答メッセージの受信成功を通知するコミットメッセージを前記サ ーバ装置に送信し、前記トランザクションフラグ書き込み手段は、(1)前記メッセージ 送受信手段が、前記サーバ装置からの前記コミットメッセージに対する ACKメッセ一 ジを受信し、且つ、(2)前記トランザクション記憶手段に前記トランザクションフラグが 記憶されている場合、前記トランザクション記憶手段から前記トランザクションフラグを 削除することを特徴とする。
[0014] この構成により、端末装置側では、発行可能回数や利用条件に応じて、トランザク シヨンフラグ記憶要否フラグで記憶が不要とされる場合にはライセンス管理のための ログ記録を行う必要がなくなり、トランザクションフラグ記憶要否フラグを用いることで サーバ装置と端末装置で記録する情報の大きさが小さぐ且つ、ログを記録する頻度 が少なレ、端末装置とすることができる。
[0015] また、本願発明の端末装置の前記メッセージ送受信手段は、前記応答メッセージ に含まれる前記トランザクションフラグ記憶要否フラグが記憶不要と設定されている場 合、前記コミットメッセージの送信を省略することを特徴とする。
[0016] この構成により、トランザクションフラグ記憶要否フラグが記憶不要と設定されており ログ記録を行わない場合には端末装置からサーバ装置へのライセンス受信のコミット メッセージを送信する必要がなぐまた、サーバ装置はコミットメッセージに対する AC Kメッセージを送信する必要がなくなるために、サーバ装置'端末装置間の通信往復 回数を減少させることが可能となる。
[0017] また、本願発明のサーバ装置は、端末装置からのコンテンツ鍵要求メッセージに対 して応答メッセージを返送するサーバ装置であって、前記コンテンツ鍵要求メッセ一 ジは、現在実行中のコンテンツ鍵要求処理に関連づけられており 0または 1の値を取 るトランザクションフラグを含み、前記応答メッセージは、コンテンツ鍵と、前記トランザ クシヨンフラグの記憶の要否を示すトランザクションフラグ記憶要否フラグを含み、前 記端末装置とメッセージの送受信を行うメッセージ送受信手段と、前記応答メッセ一 ジ中の前記トランザクションフラグ記憶要否フラグに値を設定するトランザクションフラ グ記憶要否設定手段とを備え、前記トランザクションフラグ記憶要否設定手段は、前 記トランザクションフラグの記憶の要否を判定し、その判定結果を前記トランザクショ ンフラグ記憶要否フラグに設定することを特徴とする。
[0018] この構成により、サーバ装置は、ライセンスの発行数を管理している場合や、利用 条件に応じて、トランザクションフラグ記憶要否フラグを端末装置に通知して、サーバ 装置および端末装置においては記録が不要の場合にはライセンス管理のためのトラ ンザクションフラグ等のログ記録を行う必要がなくなり、トランザクションフラグ記憶要 否フラグを用いることでサーバ装置と端末装置で記録する情報の大きさが小さぐ且 つ、ログを記録する頻度が少ないプロトコルを実現できる。
[0019] 尚、前記目的を達成するために、本発明は、前記端末装置及び前記サーバ装置か らなるデジタルコンテンツ配信システム、前記端末装置及び前記サーバ装置の特徴 的な構成手段をステップとするトランザクション処理方法としたり、それらのステップを 全て含むプログラムとして実現することもできる。そして、そのプログラムは、 ROM等 に格納しておくだけでなぐ CD— ROM等の記録媒体や通信ネットワークを介して流 通させることもできる。
発明の効果
[0020] 本発明によれば、ライセンス配信処理においてログ記録の要否をサーバ装置側か ら端末装置側に通知し、ログ記録が不要の場合にはログ記録を行わないようにできる ために、メモリの書き込み頻度を削減できる。
[0021] また、ライセンスに含まれる利用条件の種別に応じて、ライセンス蓄積時や転送時 等の処理を切り替える為、許可された範囲を超えてのコンテンツ利用を防止し、且つ 、不必要な SAC確立等の処理を行わなレ、ライセンス管理を実現することが可能とな るという効果がある。 [0022] ライセンスの盗聴 ·改ざんの防止、通信相手の認証、通信切断対策の全ての機能 を実現すると共に、複数トランザクション処理を行う場合においても、サーバ装置'端 末装置間の通信往復回数を減少させ、更に、上記機能を実現するためにサーバ装 置と端末装置で管理'保持する情報の大きさが小さぐ且つ、記録する頻度が少ない プロトコルを実現するシステムおよび装置を提供することが可能となる。
図面の簡単な説明
[0023] [図 1]図 1は、本発明の実施の形態におけるデジタルコンテンツ配信システムの構成 を示すブロック図である。
[図 2]図 2は、本発明の実施の形態におけるライセンス 200の一例を示す図である。
[図 3]図 3は、本発明の実施の形態におけるライセンスサーバ 101の構成を示すプロ ック図である。
[図 4]図 4は、本発明の実施の形態におけるライセンスデータベース 301の一例を示 す図である。
[図 5]図 5は、本発明の実施の形態におけるセキュア通信部 302の構成を示すブロッ ク図である。
[図 6]図 6は、本発明の実施の形態におけるトランザクションログ 600の一例を示す図 である。
[図 7]図 7は、本発明の実施の形態におけるトランザクションログデータベース 502の 一例を示す図である。
[図 8]図 8は、本発明の実施の形態におけるユーザ端末 103の構成を示すブロック図 である。
[図 9]図 9は、本発明の実施の形態におけるセキュア通信部 803の構成を示すブロッ ク図である。
[図 10]図 10は、本発明の実施の形態におけるトランザクションログ 1000の一例を示 す図である。
[図 11]図 11は、本発明の実施の形態におけるトランザクションログデータベース 902 の一例を示す図である。
[図 12]図 12は、本発明の実施の形態におけるライセンス取得処理 (ユーザ端末 103 とライセンスサーバ 101との通信開始時に、トランザクションログデータベース 902にト ランザクシヨンログが記録されていない場合)の概略を説明する図である。
園 13]図 13は、本発明の実施の形態におけるライセンス取得処理 (ユーザ端末 103 とライセンスサーバ 101との通信開始時に、トランザクションログデータベース 902にト ランザクシヨンログが記録されている場合)の概略を説明する図である。
[図 14]図 14は、本発明の実施の形態における認証フェーズ P1において行われる処 理を説明するフローチャートである。
[図 15]図 15は、本発明の実施の形態における認証 ·要求フェーズ P2において行わ れる処理を説明するフローチャートである。
[図 16]図 16は、本発明の実施の形態におけるキャンセル処理を説明するフローチヤ ートである。
園 17]図 17は、本発明の実施の形態における応答メッセージ生成'送信処理を説明 するフローチャートである。
[図 18]図 18は、本発明の実施の形態における応答メッセージ受信時処理を説明す るフローチャートである。
[図 19]図 19は、本発明の実施の形態における要求フェーズ P3において行われる処 理を説明するフローチャートである。
[図 20]図 20は、本発明の実施の形態におけるコミット処理を説明するフローチャート である。
園 21]図 21は、本発明の実施の形態における応答メッセージ生成'送信処理 (再送) を説明するフローチャートである。
[図 22]図 22は、本発明の実施の形態におけるコミットフェーズ P4において行われる 処理を説明するフローチャートである。
園 23]図 23は、本発明の実施の形態における ACKメッセージ受信時処理を説明す るフローチャートである。
[図 24]図 24は、本発明の実施の形態における認証'コミットフェーズ P5において行わ れる処理を説明するフローチャートである。
園 25]図 25は、本発明の実施の形態におけるライセンスサーバ 101が、通信切断を 検知した際の処理を説明するフローチャートである。
[図 26]図 26は、従来のデジタルコンテンツ配信システムの通信シーケンス図である。 園 27]図 27は、本発明に係るライセンスサーバ及びユーザ端末からなるデジタルコ ンテンッ配信システムの通信シーケンス図である。
[図 28]図 28は、ライセンスサーバのトランザクションログ及びトランザクションログデー タベースに、さらに保持期限を付与した場合のデータ構成の一例を示す図である。
[図 29]図 29は、ユーザ端末のトランザクションログ及びトランザクションログデータべ ースに、さらに保持期限を付与した場合のデータ構成の一例を示す図である。
[図 30]図 30は、本発明に係るデジタルコンテンツ配信システムの他のセッションのシ 一ケンス図である。
[図 31]図 31は、本発明に係るデジタルコンテンッ配信システムにおける他のセッショ ンのシーケンス図である。
符号の説明
101 ライセンスサーバ
102 コンテンツサーノく
103 ユーザ端末
104 伝送媒体
200 ライセンス
201 ライセンス ID
202 コンテンツ ID
203 利用条件種別
204 利用条件
205 コンテンツ鍵
301 ライセンスデータベース
302 セキュア通信部
303 ライセンス発行部
401 端末 ID
402 発行可能回数 403 コミット待ちフラグ
501 セキュア通信制御部
502 トランザクションログデー -タベース
503 固有情報記憶部
504 乱数発生部
505 暗号処理部
506 通信部
600 トランザクションログ
601 処理中トランザクション有無
602 処理中トランザクション識別フラグ
603 ローノレ/くック要否
801 ライセンス蓄積部
802 コンテンツ蓄積部
803 セキュア通信部
804 ライセンス取得部
805 コンテンツ取得部
806 コンテンツ出力制御部
807 コンテンツ出力部
901 セキュア通信部
902 トランザクションログデー -タベース
903 固有情報記憶部
904 乱数発生部
905 喑号処理部
906 通信部
1000 1 トランザクションログ
1001 サーバ ID
発明を実施するための最良の形態
(実施の形態 1) 本発明の実施の形態におけるデジタルコンテンツ配信システムにつレ、て説明を行う
[0026] 図 1は、本実施の形態におけるデジタルコンテンツ配信システムの全体構成を示す 図である。なお、本発明に力かるデジタルコンテンツ配信システムにおいては、図 27 に示すようにユーザ端末 103からライセンスサーバ 101にライセンスの要求メッセ一 ジ(2701)が送信された場合には、ライセンスサーバ 101側でライセンス管理のため のトランザクション識別フラグのログ記録又はログ記録不要を判断して、ログ記録の要 否を含めた応答メッセージ(2702)をユーザ端末 103に送信する。そして、ユーザ端 末 103はログ記録が必要な場合にはログ記録を行って、ログ記録が不要な場合には ログ記録を行わないことを特徴とするものである。
[0027] 図 1において、デジタルコンテンツ配信システムは、ライセンスサーバ 101と、コンテ ンッサーバ 102と、複数のユーザ端末 103と、伝送媒体 104とを備えている。以下、 デジタルコンテンツ配信システムの各構成要素について説明を行う。
[0028] ライセンスサーバ 101は、事業者 α側に設置され、ユーザ のコンテンツに対する 利用権利を管理し、ユーザ端末 103に対し、図 2を用いて後述するライセンス 200を 配信するサーバである。
[0029] コンテンツサーバ 102は、事業者 α側に設置され、ユーザ端末 103に対し、コンテ ンッを配信するサーバである。なお、コンテンツはライセンス 200を用いて復号可能 な状態に暗号化された上で配信されるものとする。
[0030] ユーザ端末 103は、ユーザ β側に設置され、ライセンスサーバ 101から配信された ライセンス 200を管理し、ライセンス 200を用いて、コンテンツサーバ 102から配信さ れたコンテンツの再生を行う。
[0031] 伝送媒体 104は、インターネットや、 CATV (Cable Television)、放送波等の有 線伝送媒体、または、無線伝送媒体、及び、可搬型記録媒体であり、ライセンスサー バ 101、コンテンツサーバ 102とユーザ端末 103、ユーザ端末 103と他のユーザ端 末 103との間をデータ交換可能に接続するものである。
[0032] 以上で、本実施の形態におけるデジタルコンテンツ配信システムの全体構成に関 する説明を終了する。 [0033] 図 2は、ライセンス 200の一例を示す図である。図 2において、ライセンス 200は、ラ ィセンス ID201と、 ンテンッ ID202と、禾 IJ用条件種別 203と、禾 IJ用条件 204と、 ン テンッ鍵 205とを含む。
[0034] ライセンス ID201には、ライセンス 200を一意に特定する IDが記述される。コンテン ッ ID202には、ライセンス 200を使用して利用するコンテンツの IDが記述される。禾 IJ 用条件種別 203には、利用条件 204の種別を示す情報が記述される。本実施の形 態においては、利用条件 204が、更新する必要のある利用条件 (例えば、「1回再生 可」等)である力 更新する必要のない利用条件 (例えば、「2007年 3月迄再生可」 等)であるかを示す情報が記述されるものとする。利用条件 204には、コンテンツの利 用を許可する条件が記述される。コンテンツ鍵 205には、コンテンツを復号する復号 鍵が記述される。
[0035] 図 3は、本実施の形態におけるライセンスサーバ 101の全体構成を示す図である。
図 3においてライセンスサーバ 101は、ライセンスデータベース 301と、セキュア通信 部 302と、ライセンス発行部 303とから構成される。以下、各構成要素について説明 を行う。
[0036] ライセンスデータベース 301は、図 4にその一例を図示する通り、各ユーザ端末 10 3に発行可能なライセンス 200を管理するデータベースである。図 4において、ライセ ンスデータベース 301は、端末 ID401と、端末 ID401で特定されるユーザ端末 103 に発行可能なライセンス 200と、発行可能回数 402と、コミット待ちフラグ 403とから構 成される。端末 ID401は、デジタルコンテンツ配信システムにおいて、ユーザ端末 10 3を一意に特定する IDである。発行可能回数 402は、ユーザ端末 103に対してライ センス 200を発行可能な回数である。発行可能回数 402は、ユーザ端末 103に対し てライセンス 200を送信し、その返信としてライセンス受信完了通知(以降、コミットメッ セージと呼ぶ)を受信する毎に 1減算されるものとし、発行可能回数 402が 0となった 時点でライセンス 200は発行不可となる。本実施の形態においては、発行可能回数 402力 SOとなった場合、そのライセンス 200は、ライセンスデータベース 301から削除 されるものとする。コミット待ちフラグ 403は、ユーザ端末 103からのコミットメッセージ を待っている状態であるかどうかを示す情報である。本実施の形態においては、コミ ット待ちフラグ 403は、「0」、または、「1」のいずれかの値をとり、「1」である場合、コミ ットメッセージを待っている状態であり、「0」の場合、コミットメッセージを待っている状 態ではないことを示している。本実施の形態においては、発行可能回数 402が有限 であるライセンス 200をユーザ端末 103に対して送信する場合に、コミット待ちフラグ 403を「1」に設定した上で送信するものとする。なお、コミット待ちフラグ 403が「1」の 状態で、コミットメッセージを受信した場合には、コミット処理として、発行可能回数 40 2を「1」減じ、コミット待ちフラグ 403を「0」に変更する処理を行うものとする。
[0037] 図 4では、端末 ID401が「0001」であるユーザ端末 103には、ライセンス ID201が「 0011」もしくは「0012」である 2つのライセンス 200が発行可能であり、端末 ID401が 「0002」であるユーザ端末 103には、ライセンス ID201が「0021」であるライセンス 2 00が発行可能であることを示している。また、例えば、端末 ID401が「0001」である ユーザ端末 103に対して発行可能な、ライセンス ID201が「0011」であるライセンス 200は、 1回のみ発行可能であり、現在コミット待ちであることを示している。
[0038] 図 3に戻り、セキュア通信部 302は、ユーザ端末 103の認証、ライセンスサーバ 101 とユーザ端末 103との間の秘匿通信(盗聴 ·改ざんの防止と通信相手の認証を行う 通信)、およびトランザクション中断対策を行う。セキュア通信部 302の構成について は図 5を用いて後述する。
[0039] ライセンス発行部 303は、ユーザ端末 103からの要求に応じてライセンス 200の発 行処理を行う処理部である。
[0040] 以上で、ライセンスサーバ 101の全体構成に関する説明を終了する。
[0041] 次に、図 5を用いてライセンスサーバ 101におけるセキュア通信部 302の構成につ いて説明を行う。図 5において、セキュア通信部 302は、セキュア通信制御部 501と、 トランザクションログデータベース 502と、固有情報記憶部 503と、乱数発生部 504と 、喑号処理部 505と、通信部 506と力 構成される。以下、セキュア通信部 302の各 構成要素について説明を行う。
[0042] セキュア通信制御部 501は、セキュア通信部 302全体の制御を行う手段であり、セ キュア通信制御部 501は、ユーザ端末 103の認証処理や、ユーザ端末 103と送受信 するデータの喑号/復号処理、改ざんチェック処理等の制御を行う。更に、セキュア 通信制御部 501は、図 6にその一例を図示するトランザクションログ 600を揮発性メモ リ上に管理し、また、必要に応じてそれを、トランザクションログデータベース 502に記 録する処理を行う。通信切断等によって実行中のトランザクションが中断した場合に は、このトランザクションログデータベース 502に記録した情報に基づいて所定の処 理を行い、中断したトランザクションを完了させる、もしくは、中断したトランザクション の実行前の状態に戻すことが可能となる。
[0043] 図 6において、トランザクションログ 600は、端末 ID401と、処理中トランザクション有 無 601と、処理中トランザクション識別フラグ 602と、ロールバック要否 603とから構成 される。端末 ID401には、ライセンスサーバ 101が通信中であるユーザ端末 103の I Dが記述される。処理中トランザクション有無 601には、現在処理中のトランザクション が有るか否かが記述される。処理中トランザクション識別フラグ 602には、現在処理 中のトランザクションに割り当てられた「0」もしくは「1」の値が記述される。本実施の形 態においては、各トランザクションには「0」、または、「1」が交互に付与されるものとす る。ロールバック要否 603には、処理中のトランザクションが未完了で終了した場合に 、ライセンスデータベース 301をロールバックする必要があるか否かを示す情報が記 述される。ここで、ロールバック (Roll Back)とは、データベースに障害が発生したと きに、記録してあるチェックポイントにまでデータを巻き戻して、改めて処理を開始す ることをレヽう。図 6では、ライセンスサーバ 101は、端末 ID401が「0001」であるユー ザ端末 103と通信中であることを示し、また、現在処理中のトランザクションが有って、 そのトランザクションに割り当てられた処理中トランザクション識別フラグ 602の値は「 0」で、そのトランザクションが未完了で終了した場合でも、ライセンスデータベース 30 1のロールバックは不要であることを示している。
[0044] トランザクションログデータベース 502は、不揮発性記録媒体によって実現され、図
7にその一例を図示する通り、端末 ID401と処理中トランザクション識別フラグ 602と の組を記録したデータベースである。
[0045] 固有情報記憶部 503は、公開鍵暗号方式におけるライセンスサーバ 101固有の公 開鍵 KDsが含まれるサーバ公開鍵証明書と、ライセンスサーバ 101固有の秘密鍵 K Esと、認証局公開鍵証明書とを記憶する。サーバ公開鍵証明書はライセンスサーバ 101の公開鍵 KDsに認証局の署名が施されたものである。本実施の形態において は、公開鍵証明書のフォーマットには、一般的な X. 509証明書フォーマットを用いる ものとする。なお、公開鍵暗号方式および X. 509証明書フォーマットについては、 IT U— T文書 X. 509 fhe Direcrory: Public— key and attribute certificate frameworks,,力、 g羊しレヽ。
[0046] 乱数発生部 504は、乱数の生成を行う。
[0047] 暗号処理部 505は、データの暗号化、復号、署名生成、署名検証、セッション鍵生 成用パラメータの生成、セッション鍵の生成を行う。データの暗号化および復号アル ゴリズムには AES (Advanced Encryption Standard)を、署名生成および署名 検証アルゴリズムには EC— DS A (Elliptic Curve Digital Signature Algorit hm)を用レヽる。 AESについては National Institute Standard and Technolo gy (NIST)、 FIPS Publication 197、 EC— DSAについては IEEE 1363Stan dard力 S言羊しレヽ。
[0048] 暗号処理部 505は、データの暗号ィヒ /復号を行う場合には、 AES鍵と平文/暗号 化データをそれぞれ入力とし、入力された AES鍵で暗号化/復号したデータをそれ ぞれ出力する。また、署名生成/検証を行う場合には、署名対象データ/署名検証 データと秘密鍵/公開鍵をそれぞれ入力とし、署名データ/検証結果をそれぞれ出 力する。さらに、セッション鍵生成用パラメータの生成を行う場合には、乱数を入力と し、 Diffie— Hellmanパラメータを出力する。また、セッション鍵の生成を行う場合、 乱数と Diffie— Hellmanパラメータを入力とし、セッション鍵を出力する。ここで、セッ シヨン鍵の生成には EC— DH (Elliptic Curve Diffie— Hellman)を用いる。 EC —DHのアルゴリズムは、上記の IEEE 1363 Standardが詳しい。
[0049] 通信部 506は、ユーザ端末 103と通信を行う手段である。
[0050] 以上で、ライセンスサーバ 101におけるセキュア通信部 302の構成についての説明 を終了する。
[0051] 次に、図 8を用いて本実施の形態におけるユーザ端末 103の構成について説明を 行う。図 8においてユーザ端末 103は、ライセンス蓄積部 801と、コンテンツ蓄積部 8 02と、セキュア通信咅 803と、ライセンス取得咅 804と、 ンテンッ取得咅 805と、 ン テンッ出力制御部 806と、コンテンツ出力部 807とから構成される。以下、各構成要 素について説明を行う。
[0052] ライセンス蓄積部 801は、ライセンスサーバ 101から取得したライセンス 200を蓄積 する手段である。ライセンス蓄積部 801は、ライセンス 200を耐タンパ化されたメモリ 内などにセキュアに蓄積するものとする。
[0053] コンテンツ蓄積部 802は、コンテンツサーバ 102から取得した暗号化コンテンツを 蓄積する手段である。
[0054] セキュア通信部 803は、ライセンスサーバ 101の認証、ライセンスサーバ 101とユー ザ端末 103との間の秘匿通信 (盗聴'改ざんの防止と通信相手の認証を行う通信)、 およびトランザクション中断対策を行う。セキュア通信部 803の構成については図 9を 用いて後述する。
[0055] ライセンス取得部 804は、ライセンスサーバ 101に対し、ライセンス 200の発行要求 処理を行う手段である。
[0056] コンテンツ取得部 805は、コンテンツサーバ 102から、コンテンツを取得する手段で ある。
[0057] コンテンツ出力制御部 806は、ライセンス 200に基づいて、コンテンツの出力を制 御する手段である。
[0058] コンテンツ出力部 807は、コンテンツ出力制御部 806の指示に従って、コンテンツ 鍵 205を用いてコンテンツを復号し、出力する手段である。
[0059] 以上で、ユーザ端末 103の全体構成に関する説明を終了する。
[0060] 次に、図 9を用いてユーザ端末 103におけるセキュア通信部 803の構成について 説明を行う。図 9において、セキュア通信部 803は、セキュア通信制御部 901と、トラ ンザクシヨンログデータベース 902と、固有情報記憶部 903と、乱数発生部 904と、喑 号処理部 905と、通信部 906とから構成される。以下、セキュア通信部 803の各構成 要素について説明を行う。
[0061] セキュア通信制御部 901は、セキュア通信部 803全体の制御を行う手段であり、セ キュア通信制御部 901は、ライセンスサーバ 101の認証処理や、ライセンスサーバ 10 1と送受信するデータの暗号 Z復号処理、改ざんチェック処理等の制御を行う。更に 、セキュア通信制御部 901は、図 10にその一例を図示するトランザクションログ 1000 を揮発性メモリ上に管理し、また、必要に応じてトランザクションログ 1000を、トランザ クシヨンログデータベース 902に記録する処理を行う。通信切断等によって実行中の トランザクションが中断した場合には、このトランザクションログデータベース 902に記 録した情報に基づいて所定の処理を行レ、、中断したトランザクションを完了させる、も しくは、中断したトランザクションの実行前の状態に戻すことが可能となる。
[0062] 図 10において、トランザクションログ 1000は、サーノ 101001と、処理中トランザク シヨン識別フラグ 602とから構成される。サーバ ID1001には、ユーザ端末 103が通 信中であるライセンスサーバ 101の IDが記述される。処理中トランザクション識別フラ グ 602には、トランザクションログ 600同様、現在処理中のトランザクションに割り当て られた「0」もしくは「1」の値が記述される。図 10では、ユーザ端末 103は、サーバ ID 1001が「0001」であるライセンスサーバ 101と通信中であることを示し、また、現在処 理中のトランザクションに割り当てられた処理中トランザクション識別フラグ 602の値は 「0」であることを示している。
[0063] トランザクションログデータベース 902は、不揮発性記録媒体によって実現され、図
11にその一例を図示する通り、サーバ ID1001と処理中トランザクション識別フラグ 6 02との組を記録したデータベースである。
[0064] 固有情報記憶部 903は、公開鍵暗号方式におけるユーザ端末 103固有の公開鍵 KDcが含まれる端末公開鍵証明書と、ユーザ端末 103固有の秘密鍵 KEcと、認証 局公開鍵証明書とを記憶する。端末公開鍵証明書はユーザ端末 103の公開鍵 KDc に認証局の署名が施されたものである。公開鍵証明書のフォーマットには、ライセン スサーバ 101と同様に X. 509証明書フォーマットを用レ、る。
[0065] 乱数発生部 904は、乱数の生成を行う。
[0066] 暗号処理部 905は、データの暗号化、復号、署名生成、署名検証、セッション鍵生 成用パラメータの生成、セッション鍵の生成を行う。暗号処理部 905の入出力は、ライ センスサーバ 101の喑号処理部 505と同じである。
[0067] 通信部 906は、ライセンスサーバ 101と通信を行う手段である。
[0068] 以上で、ユーザ端末 103におけるセキュア通信部 803の構成についての説明を終 了する。
[0069] 以上で、本実施の形態におけるデジタルコンテンツ配信システムの構成について の説明を終わる。
[0070] 次にフローチャートを参照して、本実施の形態におけるデジタルコンテンツ配信シ ステムの処理について説明を行う。
[0071] まず、図 12、及び、図 13を参照して、本実施の形態におけるユーザ端末 103が、ラ ィセンスサーバ 101からライセンス 200を取得する処理の概略を説明する。
[0072] 図 12は、ユーザ端末 103とライセンスサーバ 101との通信開始時に、トランザクショ ンログデータベース 902にログが記録されていない場合の、ライセンス取得処理の概 略を説明する図である。
[0073] 図 13は、ユーザ端末 103とライセンスサーバ 101との通信開始時に、トランザクショ ンログデータベース 902にログが記録されている場合の、ライセンス取得処理の概略 を説明する図である。
[0074] ユーザ端末 103とライセンスサーバ 101との通信は、全てユーザ端末 103から開始 される要求メッセージと、要求メッセージに呼応してライセンスサーバ 101から返信さ れる応答メッセージからなる。要求と応答との対をフェーズと呼び、図 12、図 13に示 す通り 5種類のフェーズからなる。以下、各フェーズの概略を説明する。
[0075] まず、認証フェーズ P1について説明を行う。認証フェーズ P1は、ユーザ端末 103と ライセンスサーバ 101との間でセッションが確立された後、最初に 1度だけ行われる 相互認証用のフェーズである。認証フェーズ P1においてユーザ端末 103は、ライセ ンスサーバ 101がユーザ端末 103を認証するために必要となる情報である認証情報 Aを初回の要求メッセージとしてライセンスサーバ 101に送信する。ライセンスサーバ 101は、認証情報 Aを検証した後、ユーザ端末 103がライセンスサーバ 101を認証 するために必要となる情報である認証情報 Bを送信する。ユーザ端末 103は認証情 報 Bを検証する。以上で、認証フェーズ P1の説明を終わる。
[0076] 次に認証.要求フェーズ P2の説明を行う。認証.要求フェーズ P2は、認証フェーズ P1開始時にトランザクションログデータベース 902にログが記録されていない場合に 、認証フェーズ P1に続いて、 1度だけ行われるフェーズである。認証'要求フェーズ P 2において、ユーザ端末 103は、ライセンス要求メッセージと共に、相互認証を確定さ せるために必要となる情報である認証情報 C、及び、トランザクション識別フラグ Tをラ ィセンスサーバ 101に対し送信する。ここで送信されるトランザクション識別フラグ丁に は初期値 (本実施の形態においては、「0」)が設定される。ライセンスサーバ 101は、 新たなトランザクションの開始と判断し、前回中断しているトランザクションがある場合 には、ライセンスデータベース 301やトランザクションログデータベース 502の状態を 、そのトランザクション開始前の状態に戻す処理(以降、キャンセル処理と呼ぶ)を行 レ、、その後、要求メッセージに対する応答として、ライセンス 200を含む応答メッセ一 ジをユーザ端末 103に送信する。応答メッセージを受信したユーザ端末 103は、連 続してトランザクション処理を行わない場合には、コミットメッセージを送信することに よりコミットフェーズ P4に移行する。また、連続してトランザクション処理を行う場合に は、コミットメッセージを送信しないで、要求フェーズ P3に移行する。
[0077] 要求フェーズ P3は、同一セッション内で 2つ以上のトランザクションを処理する場合 に発生するフェーズである。つまり、ライセンス要求が複数回行われる場合に、要求 フェーズ P3が用いられる。要求フェーズ P3は、必要なトランザクション数だけ繰り返さ れる。この要求フェーズ P3では、コミットメッセージは送信されず、コミットメッセージの 代わりに、値が反転したトランザクション識別フラグ T力 次の要求フェーズ P3におけ るライセンス要求メッセージと共に送信される。ライセンスサーバ 101は、要求フエ一 ズ P3において、前回の要求フェーズ P3で受信したトランザクション識別フラグ Tに対 して、値が反転したトランザクション識別フラグ Tを受信した場合には、前回のトランザ クシヨンに対してコミット処理を行うものとする。最後の要求フェーズ P3が完了した後 は、コミットフェーズ P4に移行する。
[0078] コミットフェーズ P4は、全てのトランザクション処理が終了した後にライセンスサーバ 101においてトランザクション処理の完了を確定させるためのフェーズである。コミット フェーズ P4において、ユーザ端末 103はコミットメッセージをライセンスサーバ 101に 送信する。コミットメッセージを受信したライセンスサーバ 101はコミット処理を行う。
[0079] 次に、認証'コミットフェーズ P5について説明を行う。認証'コミットフェーズ P5は、 認証フェーズ P1開始時にトランザクションログデータベース 902にログが記録されて いる場合に、認証フェーズ PIに続いて、 1度だけ行われるフェーズである。認証'コミ ットフェーズ P5において、ユーザ端末 103は、コミットメッセージと共に、相互認証を 確定させるために必要となる情報である認証情報 C、及び、トランザクション識別フラ グ Tをライセンスサーバ 101に対し送信する。ライセンスサーバ 101は、トランザクショ ン識別フラグ τの値に応じて、コミット処理、もしくは、キャンセル処理を行う。
[0080] 以上で、本実施の形態におけるユーザ端末 103が、ライセンスサーバ 101からライ センス 200を取得する際の 5つのフェーズにおける処理の概略説明を終了する。
[0081] 以下、 P1〜P5の各通信フェーズにおいて行われる処理について詳細な説明を行 う。
[0082] まず、図 14に示すフローチャートを参照して、認証フェーズ P1において行われる処 理について説明する。
[0083] S1401 :ユーザ j3によって、ライセンスサーバ 101からライセンス 200を取得するよ う指示されると、セキュア通信部 803に含まれるセキュア通信制御部 901は、トランザ クシヨンログデータベース 902を参照し、指定されたライセンスサーバ 101に対応する ログがあるかどうかを確認する。対応するログがある場合には、トランザクションログ 10 00として、 自らが管理する揮発性メモリ上に、それを読み出す。
[0084] S1402 :セキュア通信制御部 901は、乱数発生部 904で生成した乱数 Rcと、固有 情報記憶部 903に記憶している端末公開鍵証明書とを含むチャレンジメッセージを 生成し、それを、通信部 906を介して、ライセンスサーバ 101へ送信する。
[0085] S1403 :ライセンスサーバ 101のセキュア通信部 302に含まれるセキュア通信制御 部 501は、通信部 506を介してユーザ端末 103から、乱数 Rc、端末公開鍵証明書を 含むチャレンジメッセージを受信すると、まず、固有情報記憶部 503に記憶している 認証局公開鍵証明書と、前記端末公開鍵証明書とを、暗号処理部 505に与えること により、前記端末公開鍵証明書の署名検証を行う。
[0086] S1404 : S1403における署名検証の結果、検証失敗となった場合には、 S1409の 処理に進む。 S1403における署名検証の結果、検証成功となった場合には、 S140 5の処理に進む。
[0087] S1405 :セキュア通信制御部 501は、乱数生成部 504で乱数 Rs、 Rs2を生成し、 暗号処理部 505で、乱数 Rs2を入力として Diffie— Hellmanパラメータ DHsの生成 を行う。
[0088] S1406 :セキュア通信制御部 501は、ユーザ端末 103から受信した乱数 Rc、ステツ プ S 1405で生成した DHsを連結したデータ(式 1)のライセンスサーバ 101固有の秘 密鍵 KEsによる署名(式 2)を暗号処理部 505で生成する。
[0089] Rc I I DHs (式 1)
S (KEs, Rc I I DHs) (式 2)
[0090] ここで、記号「 I I」はデータの連結を表す。また、 S (A, B)は、署名を生成するァ ルゴリズム Sを用いて、秘密鍵 Aにより、データ Bに対する署名を生成することを示す
[0091] S1407 :セキュア通信制御部 501は、トランザクションログデータベース 502を参照 し、通信中のユーザ端末 103に対応したログがあるかどうかを確認する。対応する口 グがある場合には、トランザクションログ 600として、自らが管理する揮発性メモリ上に 、それを読み出し、トランザクションログデータベース 502から読み出したログを削除 する。なお、この際、処理中トランザクション有無 601には「有り」を、ロールバック要否 603には「要」を設定するものとする。一方、トランザクションログデータベース 502に 対応するログが無い場合には、トランザクションログ 600を自らが管理する揮発性メモ リ上に生成する。この場合、端末 ID401には通信中のユーザ端末 103の IDを、処理 中トランザクション有無 601には「無し」を、処理中トランザクション識別フラグ 602には 「0」を、ロールバック要否 603には「不要」を設定するものとする。
[0092] S1408 :セキュア通信制御部 501は、 S1405で生成した乱数 Rs、及び、 Diffie— Hellmanパラメータ DHsと、固有鍵情報記憶部 503に記憶しているサーバ公開鍵証 明書と、ステップ S1406で生成した署名(式 2)を含むレスポンス &チャレンジメッセ ージを生成し、それを、ユーザ端末 103に通信部 506を介して送信する。
[0093] S1409 :セキュア通信制御部 501は、エラーメッセージを生成し、それを、ユーザ端 末 103に通信部 506を介して送信する。
[0094] S1410 :セキュア通信制御部 901は、ライセンスサーバ 101から受信したメッセージ がレスポンス &チャレンジメッセージであるかどうかを確認する。ライセンスサーバ 10 1力 受信したメッセージがレスポンス &チャレンジメッセージである場合、 S1411の 処理に進む。ライセンスサーバ 101から受信したメッセージがレスポンス &チャレンジ メッセージでない場合、そのまま処理を終了する。
[0095] S1411:セキュア通信制御部 901は、固有情報記憶部 903に記憶している認証局 公開鍵証明書と、レスポンス &チャレンジメッセージに含まれるサーバ公開鍵証明書 とを、暗号処理部 905に与えることにより、前記サーバ公開鍵証明書の署名検証を行 う。
[0096] S1412 : S1411における署名検証の結果、検証失敗となった場合には、そのまま 処理を終了する。 S1411における署名検証の結果、検証成功となった場合には、 S 1413の処理に進む。
[0097] S1413 :セキュア通信制御部 901は、 S1402で作成した乱数 Rcとレスポンス &チ ャレンジメッセージに含まれる DHsを結合したデータ(式 3)を生成し、そのデータ(式 3)と、レスポンス &チャレンジメッセージに含まれる署名データ(式 2)、およびサーバ 公開鍵証明書を暗号処理部 905に入力し、署名データ(式 2)の検証を行う。
[0098] Rc I I DHs (式 3)
[0099] S1414 : S1413における署名検証の結果、検証失敗となった場合には、そのまま 処理を終了する。 S1413における署名検証の結果、検証成功となった場合には、ュ 一ザ端末 103は通信相手が確かにライセンスサーバ 101であることがわかる(通信相 手の認証)。この場合、 S1415の処理に進む。
[0100] S1415 :セキュア通信制御部 901は、乱数発生部 904で乱数 Rc2を生成し、生成 した乱数 Rc2を暗号処理部 905の入力として Diffie— Hellmanパラメータ DHcを生 成する。
[0101] S1416 :セキュア通信制御部 901は、レスポンス &チャレンジメッセージに含まれる DHsと、 S1415で生成した Rc2と力ゝら、喑号処理部 905でセッション鍵 KSを生成す る。
[0102] S1417 :セキュア通信制御部 901は、レスポンス &チャレンジメッセージに含まれる 乱数 Rsと S1415で生成した DHcを連結したデータ(式 4)のユーザ端末 103固有の 秘密鍵 KEcによる署名(式 5)を暗号処理部 905で生成する。 [0103] Rs I I DHc (式 4)
S (KEc, Rs I I DHc) (式 5)
[0104] S1418 :セキュア通信制御部 901は、トランザクションログデータベース 902を参照 し、通信中のライセンスサーバ 101に対応するログが有るかどうかを確認する。通信 中のライセンスサーバ 101に対応するログが有る場合、認証'コミットフェーズ P5の処 理へ進む。通信中のライセンスサーバ 101に対応するログが無い場合、認証'要求フ エーズ P2の処理へ進む。
[0105] 以上で、認証フェーズ P1において行われる処理についての説明を終わる。
[0106] 次に、図 15に示すフローチャートを参照して、認証.要求フェーズ P2において行わ れる処理について説明する。
[0107] S1501 :セキュア通信制御部 901は、トランザクションログ 1000を自らが管理する 揮発性メモリ上に生成する。この場合、サーバ ID1001には通信中のライセンスサー バ 101の IDを、処理中トランザクション識別フラグ 602には初期値(本実施の形態に おいては「0」)を設定するものとする。
[0108] S 1502 :ライセンス取得部 804は、ライセンス取得要求メッセージ Mreqを生成する
。ライセンス取得要求メッセージ Mreqには、取得を希望するライセンス 200のライセ ンス ID201が含まれているものとする。
[0109] S1503 :セキュア通信制御部 901は、シーケンス番号 Seqとトランザクション識別フ ラグ Tと S1502で生成したライセンス取得要求メッセージ Mreqとそれらに対するハツ シュ値 hとを連結し、それを、セッション鍵 KSを用いて喑号ィ匕した暗号ィ匕データ(式 6
)を生成する。
[0110] E (KS, Seq | | T | | Mreq | | h) (式 6)
[0111] なお、 E (X, Y)は、喑号アルゴリズム Eを用いて、喑号鍵 Xにより、データ Yを喑号 化することを表す。
[0112] ここで、シーケンス番号 Seqには「0」を設定するものとする。シーケンス番号 Seqは 、以降、同一セッション中のメッセージの送信および受信の度に 1ずつ加算されるも のとする。また、トランザクション識別フラグ Tには、トランザクションログ 1000の処理 中トランザクション識別フラグ 602の値を設定するものとする。 [0113] S1504 :セキュア通信制御部 901は、 S1415で生成した DHcと、 S1417で生成し た署名(式 5)と、 S1503で生成した喑号ィ匕データ(式 6)とを含む要求 &レスポンスメ ッセージを生成し、それを、ライセンスサーバ 101に通信部 906を介して送信する。
[0114] S1505 :ライセンスサーバ 101のセキュア通信部 302に含まれるセキュア通信制御 部 501は、通信部 506を介してユーザ端末 103から、 Diffie— Hellmanパラメータ D Hc、署名データ、および喑号ィヒデータを含む要求 &レスポンスメッセージを受信す ると、 S1405で作成した乱数 Rsと上記 DHcを結合したデータ(式 7)を生成し、その 生成データ(式 7)、上記署名データ、及び、端末公開鍵証明書を暗号処理部 505に 入力し、署名データの検証を行う。
[0115] Rs I I DHc (式 7)
[0116] S1506 : S1505における署名検証の結果、検証失敗となった場合には、 S1513の 処理に進む。 S1505における署名検証の結果、検証成功となった場合には、 S150 7の処理に進む。
[0117] S1507 :セキュア通信制御部 501は、要求 &レスポンスメッセージに含まれる DHc と、 S 1405で生成した Rs2と力 、暗号処理部 505でセッション鍵 KSを生成する。そ の後、要求 &レスポンスメッセージに含まれる暗号化データと生成したセッション鍵 K Sを暗号処理部 505に入力し暗号化データの復号を行う。
[0118] S1508 :セキュア通信制御部 501は、シーケンス番号 Seqとハッシュ値 hの検証を 行う。
[0119] S1509 : S1508における検証の結果、検証失敗となった場合には、 S1513の処理 に進む。 S1508における検証の結果、検証成功となった場合には、 S1510の処理 に進む。
[0120] S1510 :セキュア通信制御部 501は、トランザクションログ 600の処理中トランザクシ ヨン有無 601の値を確認する。確認の結果、処理中トランザクション有無 601の値が「 有り」の場合、 S1511の処理に進む。処理中トランザクション有無 601の値が「無し」 の場合、 S1512の処理に進む。
[0121] S1511 :セキュア通信制御部 501は、後述するキャンセル処理を実行する。
[0122] S1512 :セキュア通信制御部 501は、後述する応答メッセージ生成'送信処理を実 行する。
[0123] S1513 :セキュア通信制御部 501は、エラーメッセージを生成し、それを、ユーザ端 末 103に通信部 506を介して送信する。
[0124] S1514 :セキュア通信制御部 901は、ライセンスサーバ 101から受信したメッセージ が応答メッセージであるかどうかを確認する。ライセンスサーバ 101から受信したメッ セージが応答メッセージである場合、 S1515の処理に進む。ライセンスサーバ 101か ら受信したメッセージが応答メッセージでない場合、そのまま処理を終了する。
[0125] S1515 :セキュア通信制御部 901は、後述する応答メッセージ受信時処理を実行 する。
[0126] S1516 : S1515の応答メッセージ受信時処理において、シーケンス番号 Seq、ハツ シュ値 hの検証に成功した場合には、 S1517の処理に進む。一方、シーケンス番号 Seq、ハッシュ値 hの検証に失敗した場合には、そのまま処理を終了する。
[0127] S1517 :セキュア通信制御部 901は、続けてライセンス要求を行う場合には、要求 フェーズ P3の処理へ進む。一方、続けてライセンス要求を行わない場合には、コミツ トフェーズ P4の処理へ進む。
[0128] 以上で、認証 ·要求フェーズ P2において行われる処理についての説明を終わる。
[0129] 次に、図 16に示すフローチャートを参照して、図 15における S1511のキャンセノレ 処理の詳細について説明を行う。
[0130] S1601 :セキュア通信制御部 501は、ライセンス発行部 303に対し、ライセンスデー タベース 301のロールバック処理を行うよう指示する。このロールバック指示には、現 在通信中のユーザ端末 103の端末 ID401が含まれているものとする。指示を受けた ライセンス発行部 303は、ライセンスデータベース 301を参照し、ロールバック指示に 含まれる端末 ID401と関連づけられている情報の中から、コミット待ちフラグ 403の値 力 1」となっているものを検索し、その値を「0」に変更する。
[0131] S1602 :セキュア通信制御部 501は、トランザクションログ 600の処理中トランザクシ ヨン有無 601の値を「無し」に設定する。
[0132] なお、キャンセル処理においては、ライセンスデータベース 301のロールバック処理 を行うこととして説明を行った力 それに限るわけではなぐ他にロールバックが必要 な情報を管理 ·更新している場合には、その情報をロールバックしても良い。
[0133] 以上で、キャンセル処理についての説明を終わる。
[0134] 次に、図 17に示すフローチャートを参照して、図 15における S1512の応答メッセ ージ生成 ·送信処理の詳細につレ、て説明を行う。
[0135] S1701:セキュア通信制御部 501は、ライセンス発行部 303に対し、復号したライセ ンス取得要求メッセージ Mreqを送信し、新規ライセンス取得要求を受信したことを通 知する。通知を受けたライセンス発行部 303は、ライセンスデータベース 301を参照 し、ライセンス 200の発行可否を判定する。ライセンス発行部 303は、ライセンス取得 要求メッセージ Mreqで発行を要求されているライセンス 200の発行可能回数 402が 1以上で、且つ、コミット待ちフラグ 403が「0」である場合に、ライセンス 200発行可と 判定するものとする。判定の結果、ライセンス発行可の場合には、 S1702の処理に 進む。一方、ライセンス発行不可の場合には、 S1705の処理に進む。
[0136] S1702 :ライセンス発行部 303は、発行可能回数 402が有限かどうかを確認する。
確認の結果、発行可能回数 402が有限の場合、 S 1703の処理に進む。発行可能回 数 402力 S無限の場合、 S1705の処理に進む。
[0137] S1703 :ライセンス発行部 303は、発行しょうとしているライセンス 200をユーザ端 末 103が受信できなかった場合には、ライセンスデータベース 301のロールバック処 理が必要であると判定する。
[0138] S1704 :ライセンス発行部 303は、発行しょうとしているライセンス 200のコミット待ち フラグ 403の値を「1」に変更する。
[0139] S1705 :ライセンス発行部 303は、発行しょうとしているライセンス 200をユーザ端 末 103が受信できなかった場合でも、ライセンスデータベース 301のロールバック処 理が不要であると判定する。
[0140] S1706 :ライセンス発行部 303は、ライセンス要求レスポンス Mresを生成する。な お、ライセンス発行部 303は、 S1701でライセンス発行可と判定した場合には、ライ センス 200を含むライセンス要求レスポンスメッセージ Mresを、 S 1701でライセンス 発行不可と判定した場合には、ライセンス 200の発行が不可であることを通知するラ ィセンス要求レスポンス Mresを生成するものとする。ライセンス発行部 303は、生成 したライセンス要求レスポンス Mresと、 S1703、及び、 S 1705で判定したロールバッ ク要否とを、セキュア通信制御部 501に対し送信する。
[0141] S1707 :セキュア通信制御部 501は、トランザクションログ 600の処理中トランザクシ ヨン有無 601の値を「有り」に、処理中トランザクション識別フラグ 602の値をユーザ端 末 103から送信されてきたトランザクション識別フラグ Tの値に、ロールバック要否 60 3を S 1706で通知された値に設定する。
[0142] S1708 :セキュア通信制御部 501は、シーケンス番号 Seqとトランザクション識別フ ラグ記憶指示 TRと S 1706で生成したライセンス取得要求レスポンスメッセージ Mreq とそれらに対するハッシュ値 hとを連結し、それを、セッション鍵 KSを用いて暗号化し た暗号化データ(式 8)を生成する。トランザクション識別フラグ記憶指示 TRとは、ュ 一ザ端末 103において、トランザクションログ 1000を、トランザクションログデータべ ース 902に記録する必要があるか否かを示す情報である。セキュア通信制御部 501 は、トランザクションログ 600のロールバック要否 603が「要」の場合には、トランザクシ ヨン識別フラグ記憶指示 TRに「記録要」と設定し、ロールバック要否 603が「不要」の 場合には、トランザクション識別フラグ記憶指示 TRに「記録不要」と設定するものとす る。トランザクション識別フラグ記憶指示 TRで、トランザクションログデータベース 902 への記録要否を通知することにより、トランザクションログデータベース 902への不要 な記録を抑えることが可能となる。
[0143] E (KS, Seq | | TR | | Mres | | h) (式 8)
[0144] その後、セキュア通信制御部 501は、生成した暗号化データ(式 8)を含む応答メッ セージを生成し、それをユーザ端末 103に通信部 506を介して送信する。
[0145] なお、ライセンスサーバ 101から送信される応答メッセージにトランザクション識別フ ラグの保持期限を含むようにしても構わない。
[0146] 図 28及び 29に、トランザクションログ 600に、さらに保持期限を付与した場合の参 考図を示す。
[0147] ライセンスサーバが管理するトランザクションログ 600には保持期限 2801、トランザ クシヨンログデータベース 502には保持期限 2802が付加され、ユーザ端末が管理す るトランザクションログ 1000には保持期限 2901、トランザクションログデータベース 9 02には保持期限 2902が付加されている。この保持期限の設定の例としては、システ ムで固有の長さ(ログを記録してから 1ヶ月等)、利用条件に応じて付与(ライセンスを 3月迄発行可の場合、 3月末と設定)等が考えられる。従って、従来は、ライセンスサ ーバ 101またはユーザ端末 103が、中断してレ、る処理があるにも関らず運用を停止 した場合等には、トランザクションログを消去できない等の問題があつたが、保持期限 を付与することにより、ライセンスサーバ 101及びユーザ端末 103は、保持期限を過 ぎた場合にはトランザクションログを削除できるため、トランザクションログがライセンス サーバ 101及びユーザ端末 103にいつまでも残ることを適切に防止できる。
[0148] また、ライセンスサーバ 101は、ユーザ端末 103においてトランザクションログ 1000 を、トランザクションログデータベース 902に記録する必要があるか否かを判定し、そ の判定結果を、応答メッセージ中のトランザクション識別フラグ記憶指示 TRによって 、ユーザ端末 103に対し通知するが、この記録要否判定は、送信するライセンス 200 に含まれる利用条件 204の内容や、ライセンスサーバ 101で管理する情報の更新の 有無等に応じて行われてもよい。例えば、送信するライセンス 200の利用条件 204が ステートフルの場合には「記録要」と判定し、利用条件がステートレスの場合には「不 要」と判定することが考えられる。また、ライセンスサーバ 101で、ライセンス 200の発 行に伴い、管理している情報を更新する場合には「記録要」とし、更新しない場合に は「不要」とすることが考えられる。ライセンスサーバ 101で管理し、ライセンス 200の 発行に伴い更新される情報としては、ライセンス 200の発行数や、ライセンス 200の 発行履歴等が考えられる。
[0149] また、ライセンスサーバ 101が、ユーザ端末 103においてトランザクションログ 1000 を、トランザクションログデータベース 902に記録する必要があるか否かを判定すると したが、ライセンスサーバ 101では記録要否の判定を行わずに、例えば、ライセンス 2 00の利用条件 204の内容等により、ユーザ端末 103側で判定を行うこととしても良い
[0150] 以上で、応答メッセージ生成 ·送信処理についての説明を終わる。
[0151] 次に、図 18に示すフローチャートを参照して、図 5における S1515の応答メッセ一 ジ受信時処理の詳細について説明を行う。 [0152] S1801 :セキュア通信制御部 901は、応答メッセージに含まれる喑号ィ匕データとセ ッシヨン鍵 KSを暗号処理部 905に入力し暗号化データの復号を行う。
[0153] S1802 :セキュア通信制御部 901は、シーケンス番号 Seqとハッシュ値 hの検証を 行う。
[0154] S1803 : S1802における検証の結果、検証失敗となった場合には、そのまま処理 を終了する。 S1802における検証の結果、検証成功となった場合には、 S1804の処 理に進む。
[0155] S1804 :セキュア通信制御部 901は、トランザクションログデータベース 902に、通 信中のライセンスサーバ 101に対応するログがある場合、それを削除する。
[0156] S1805 :セキュア通信制御部 901は、 S1801で復号したデータに含まれるトランザ クシヨン識別フラグ記憶指示 TRを参照し、トランザクションログ 1000をトランザクション ログデータベース 902に記録する必要があるかどうかを確認する。確認の結果、記録 が必要な場合には、 S1806の処理に進む。記録が不必要な場合には、 S1807の処 理に進む。
[0157] S1806 :セキュア通信制御部 901は、トランザクションログ 1000をトランザクション口 グデータベース 902に記録する。
[0158] S1807 :セキュア通信制御部 901は、 S1801で復号した暗号化データに含まれる ライセンス取得要求レスポンスメッセージ Mreqを、ライセンス取得部 804に送信する 。ライセンス取得部 804は、ライセンス取得要求レスポンスメッセージ Mreqを参照し、 ライセンス 200を取得できたか否かを確認する。確認の結果ライセンス 200を取得で きた場合には、 S1808の処理に進む。以降、取得したライセンス 200はユーザ端末 1 03において使用可能である。一方、ライセンス 200を取得できなかった場合には、そ のまま処理を終了する。
[0159] S1808 :ライセンス取得部 804は、ライセンス 200をライセンス蓄積部 801に蓄積す る。
[0160] 以上で、応答メッセージ受信時処理についての説明を終わる。
[0161] 次に、図 19に示すフローチャートを参照して、要求フェーズ P3において行われる 処理について説明する。 [0162] S1901:セキュア通信制御部 901は、揮発性メモリ上で管理するトランザクション口 グ 1000の処理中トランザクション識別フラグ 602の値を反転する。
[0163] S 1902 :ライセンス取得部 804は、ライセンス取得要求メッセージ Mreqを生成する 。ライセンス取得要求メッセージ Mreqには、取得を希望するライセンス 200のライセ ンス ID201が含まれているものとする。
[0164] S1903 :セキュア通信制御部 901は、シーケンス番号 Seqとトランザクション識別フ ラグ Tと S1902で生成したライセンス取得要求メッセージ Mreqとそれらに対するハツ シュ値 hとを連結し、それを、セッション鍵 KSを用いて喑号ィ匕した喑号ィ匕データ(式 6 )を生成する。トランザクション識別フラグ Tには、トランザクションログ 1000の処理中ト ランザクシヨン識別フラグ 602の値を設定するものとする。
[0165] S1904 :セキュア通信制御部 901は、 S1903で生成した暗号化データ(式 6)を含 む要求メッセージを生成し、それを、ライセンスサーバ 101に通信部 906を介して送 信する。
[0166] S1905 :セキュア通信制御部 501は、要求メッセージを受信すると、要求メッセージ に含まれる喑号ィ匕データとセッション鍵 KSを暗号処理部 505に入力し喑号ィ匕データ の復号を行う。
[0167] S1906 :セキュア通信制御部 501は、シーケンス番号 Seqとハッシュ値 hの検証を 行う。
[0168] S1907 : S1906における検証の結果、検証失敗となった場合には、 S1912の処理 に進む。 S1906における検証の結果、検証成功となった場合には、 S1908の処理 に進む。
[0169] S1908 :セキュア通信制御部 501は、トランザクションログ 600の処理中トランザクシ ヨン識別フラグ 602の値と、 S 1905で復号した暗号化データに含まれるトランザクショ ン識別フラグ Tの値を確認する。確認の結果、トランザクション識別フラグ Tの値と処 理中トランザクション識別フラグ 602の値が一致する場合、 S1911の処理に進む。ト ランザクシヨン識別フラグ Tの値と処理中トランザクション識別フラグ 602の値が一致し なレヽ場合、 S1909の処理 ίこ進む。
[0170] S1909 :セキュア通信制御部 501は、後述するコミット処理を実行する。 [0171] S1910 :セキュア通信制御部 501は、前述した応答メッセージ生成'送信処理を実 行する。
[0172] S1911 :セキュア通信制御部 501は、後述する応答メッセージ生成'送信処理(再 送)を実行する。
[0173] S1912 :セキュア通信制御部 501は、エラーメッセージを生成し、それを、ユーザ端 末 103に通信部 506を介して送信する。
[0174] S1913 :セキュア通信制御部 901は、ライセンスサーバ 101から受信したメッセージ が応答メッセージであるかどうかを確認する。ライセンスサーバ 101から受信したメッ セージが応答メッセージである場合、 S1914の処理に進む。ライセンスサーバ 101か ら受信したメッセージが応答メッセージでない場合、そのまま処理を終了する。
[0175] S1914 :セキュア通信制御部 901は、前述した応答メッセージ受信時処理を実行 する。
[0176] S1915 : S1914の応答メッセージ受信時処理において、シーケンス番号 Seq、ハツ シュ値 hの検証に成功した場合には、 S1916の処理に進む。一方、シーケンス番号 Seq、ハッシュ値 hの検証に失敗した場合には、そのまま処理を終了する。
[0177] S1916 :セキュア通信制御部 901は、続けてライセンス要求を行う場合には、再度 要求フェーズ P3の処理を実行する。一方、続けてライセンス要求を行わない場合に は、コミットフェーズ P4の処理へ進む。
[0178] 以上で、要求フェーズ P3において行われる処理についての説明を終わる。
[0179] 次に、図 20に示すフローチャートを参照して、図 19における S1910のコミット処理 の詳細について説明する。
[0180] S2001:セキュア通信制御部 501は、ライセンス発行部 303に対し、コミット処理を 行うよう指示する。このコミット指示には、現在通信中のユーザ端末 103の端末 ID40 1が含まれているものとする。指示を受けたライセンス発行部 303は、ライセンスデー タベース 301を参照し、コミット指示に含まれる端末 ID401と関連づけられている情 索する。検索の結果、コミット待ちフラグ 403の値が「1」のライセンス 200が検出され た場合、 S2002の処理に進む。コミット待ちフラグ 403の値力 S「l」のライセンス 200が 検出されない場合、 S2003の処理に進む。
[0181] S2002 :ライセンス発行部 303は、 S2001で検出したライセンス 200のコミット待ち フラグ 403の値を「0」に変更し、発行可能回数 402を 1減算する。
[0182] S2003 :セキュア通信制御部 501は、トランザクションログ 600の処理中トランザクシ ヨン有無 601の値を「無し」に設定する。
[0183] なお、 S2002において、ライセンスデータベース 301に含まれる情報を更新すると して説明を行ったが、これに限るわけではなぐ他にライセンス 200の発行に伴い更 新が必要な情報を管理している場合には、その情報を更新しても良い。
[0184] 以上で、コミット処理についての説明を終わる。
[0185] 次に、図 21に示すフローチャートを参照して、図 19における S1911の応答メッセ ージ生成 ·送信処理 (再送)の詳細について説明する。
[0186] S2101:セキュア通信制御部 501は、ライセンス発行部 303に対し、復号したライセ ンス取得要求メッセージ Mreqを送信し、再送されたライセンス取得要求を受信したこ とを通知する。通知を受けたライセンス発行部 303は、ライセンスデータベース 301を 参照し、ライセンス 200の発行可否を判定する。ライセンス発行部 303は、ライセンス 取得要求メッセージ Mreqで発行を要求されているライセンス 200の発行可能回数 4 02が 1以上である場合に、ライセンス 200発行可と判定するものとする。
[0187] S2102 :ライセンス発行部 303は、ライセンス要求レスポンス Mresを生成する。な お、ライセンス発行部 303は、 S2101でライセンス発行可と判定した場合には、ライ センス 200を含むライセンス要求レスポンスメッセージ Mresを、 S2101でライセンス 発行不可と判定した場合には、ライセンス 200の発行が不可であることを通知するラ ィセンス要求レスポンス Mresを生成するものとする。ライセンス発行部 303は、生成 したライセンス要求レスポンス Mresを、セキュア通信制御部 501に対し送信する。
[0188] S2103 :セキュア通信制御部 501は、シーケンス番号 Seqとトランザクション識別フ ラグ記憶指示 TRと S2102で生成したライセンス取得要求レスポンスメッセージ Mreq とそれらに対するハッシュ値 hとを連結し、それを、セッション鍵 KSを用いて暗号化し た暗号化データ(式 8)を生成する。セキュア通信制御部 501は、トランザクションログ 600のロールバック要否 603が「要」の場合には、トランザクション識別フラグ記憶指 示 TRに「記録要」と設定し、ロールバック要否 603が「不要」の場合には、トランザクシ ヨン識別フラグ記憶指示 TRに「記録不要」と設定するものとする。その後、セキュア通 信制御部 501は、生成した暗号化データ(式 8)を含む応答メッセージを生成し、それ をユーザ端末 103に通信部 506を介して送信する。
[0189] 以上で、応答メッセージ生成 ·送信処理(再送)についての説明を終わる。
[0190] 次に、図 22に示すフローチャートを参照して、コミットフェーズ P4において行われる 処理について説明する。
[0191] S2201 :セキュア通信制御部 901は、シーケンス番号 Seqとトランザクション識別フ ラグ Tとコミットコマンド Cとそれらに対するハッシュ値 hとを連結し、それを、セッション 鍵 KSを用いて暗号化した暗号化データ(式 9)を生成する。トランザクション識別フラ グ Tには、トランザクションログ 1000の処理中トランザクション識別フラグ 602の値を 設定するものとする。
[0192] E (KS, Seq | | T | | C | | h) (式 9)
[0193] S2202 :セキュア通信制御部 901は、 S2201で生成した暗号化データ(式 9)を含 むコミットメッセージを生成し、それを、ライセンスサーバ 101に通信部 906を介して 送信する。
[0194] S2203 :セキュア通信制御部 501は、コミットメッセージを受信すると、コミットメッセ ージに含まれる喑号ィ匕データとセッション鍵 KSを暗号処理部 505に入力し暗号ィ匕デ 一タの復号を行う。
[0195] S2204 :セキュア通信制御部 501は、シーケンス番号 Seqとハッシュ値 hの検証を 行う。
[0196] S2205: S2204における検証の結果、検証失敗となった場合には、 S2208の処理 に進む。 S2204における検証の結果、検証成功となった場合には、 S2206の処理 に進む。
[0197] S2206 :セキュア通信制御部 501は、前述したコミット処理を実行する。
[0198] S2207 :セキュア通信制御部 501は、シーケンス番号 Seqとトランザクション識別フ ラグ Tと ACKコマンド Aとそれらに対するハッシュ値 hとを連結し、それを、セッション 鍵 KSを用いて暗号化した暗号化データ(式 10)を生成し、生成したデータ(式 10)を 含む ACKメッセージを生成し、それを、ユーザ端末 103に通信部 506を介して送信 する。トランザクション識別フラグ Tには、トランザクションログ 600の処理中トランザク シヨン識別フラグ 602の値を設定するものとする。
[0199] E (KS, Seq | | T | | A | | h) (式 10)
[0200] S2208 :セキュア通信制御部 501は、エラーメッセージを生成し、それを、ユーザ端 末 103に通信部 506を介して送信する。
[0201] S2209 :セキュア通信制御部 901は、ライセンスサーバ 101から受信したメッセージ が ACKメッセージであるかどうかを確認する。ライセンスサーバ 101から受信したメッ セージが ACKメッセージである場合、 S2210の処理に進む。ライセンスサーバ 101 力、ら受信したメッセージが ACKメッセージでなレ、場合、そのまま処理を終了する。
[0202] S2210 :セキュア通信制御部 901は、後述する ACKメッセージ受信時処理を実行 する。
[0203] 以上で、コミットフェーズ P4において行われる処理についての説明を終わる。
[0204] 次に、図 23に示すフローチャートを参照して、図 22における S2210の ACKメッセ ージ受信時処理の詳細について説明する。
[0205] S2301:セキュア通信制御部 901は、 ACKメッセージに含まれる暗号化データとセ ッシヨン鍵 KSを暗号処理部 905に入力し暗号化データの復号を行う。
[0206] S2302 :セキュア通信制御部 901は、シーケンス番号 Seqとハッシュ値 hの検証を 行う。
[0207] S2303: S2302における検証の結果、検証失敗となった場合には、そのまま処理 を終了する。 S2302における検証の結果、検証成功となった場合には、 S2304の処 理に進む。
[0208] S2304 :セキュア通信制 ί卸部 901は、トランザクションログデータベース 902から、 処理中のトランザクションに関する情報を削除する。
[0209] 以上で、 ACKメッセージ受信時処理についての説明を終わる。
[0210] 次に、図 24に示すフローチャートを参照して、認証.コミットフェーズ Ρ5において行 われる処理について説明する。
[0211] S2401 :セキュア通信制御部 901は、通信中のライセンスサーバ 101から受信した サーバ公開鍵証明書に含まれるサーバ ID1001と、トランザクションログ 1000のサー バ ID1001とを比較し、通信中のライセンスサーバ 101がコミット &レスポンスメッセ一 ジを送信すべきライセンスサーバ 101であるかどうかを確認する。確認の結果、通信 中のライセンスサーバ 101から受信したサーバ公開鍵証明書に含まれるサーバ ID1 001と、トランザクションログ 1000のサーバ ID1001とが一致する場合には、 S2402 の処理に進む。一方、通信中のライセンスサーバ 101から受信したサーバ公開鍵証 明書に含まれるサーバ ID1001と、トランザクションログ 1000のサーノ ID1001と力 S 一致しない場合には、そのまま処理を終了する。
[0212] S2402 :セキュア通信制御部 901は、シーケンス番号 Seqとトランザクション識別フ ラグ Tとそれらに対するハッシュ値 hとを連結し、それを、セッション鍵 KSを用いて喑 号化した暗号化データ(式 11)を生成する。
[0213] E (KS, Seq | | T | | h) (式 11)
[0214] ここで、シーケンス番号 Seqには「0」を設定するものとする。シーケンス番号 Seqは 、以降、同一セッション中のメッセージの送信および受信の度に 1ずつ加算されるも のとする。また、トランザクション識別フラグ Tには、トランザクションログ 1000の処理 中トランザクション識別フラグ 602の値を設定するものとする。
[0215] S2403 :セキュア通信制御部 901は、 S1415で生成した DHcと、 S1417で生成し た署名(式 5)と、 S2402で生成した喑号ィ匕データ(式 11)とを含むコミット &レスボン スメッセージを生成し、それを、ライセンスサーバ 101に通信部 906を介して送信する
[0216] S2404 :ライセンスサーバ 101のセキュア通信部 302に含まれるセキュア通信制御 部 501は、通信部 506を介してユーザ端末 103から、 Diffie— Hellmanパラメータ D Hc、署名データ、および喑号ィ匕データを含むコミット &レスポンスメッセージを受信 すると、 S1405で作成した乱数 Rsと上記 DHcを結合したデータ(式 7)を生成し、そ の生成データ(式 7)、上記署名データ、及び、端末公開鍵証明書を暗号処理部 505 に入力し、署名データの検証を行う。
[0217] S2405 : S2404における署名検証の結果、検証失敗となった場合には、 S2414の 処理に進む。 S2404における署名検証の結果、検証成功となった場合には、 S240 6の処理に進む。
[0218] S2406 :セキュア通信制御部 501は、コミット &レスポンスメッセージに含まれる DH cと、 S1405で生成した Rs2と力ら、暗号処理部 505でセッション鍵 KSを生成する。 その後、コミット &レスポンスメッセージに含まれる暗号化データと生成したセッション 鍵 KSを暗号処理部 505に入力し暗号化データの復号を行う。
[0219] S2407 :セキュア通信制御部 501は、シーケンス番号 Seqとハッシュ値 hの検証を 行う。
[0220] S2408: S2407における検証の結果、検証失敗となった場合には、 S2414の処理 に進む。 S2407における検証の結果、検証成功となった場合には、 S2409の処理 に進む。
[0221] S2409 :セキュア通信制御部 501は、トランザクションログ 600の処理中トランザクシ ヨン有無 601の値を確認する。確認の結果、処理中トランザクション有無 601の値が「 有り」の場合、 S2410の処理に進む。処理中トランザクション有無 601の値が「無し」 の場合、 S2413の処理に進む。
[0222] S2410 :セキュア通信制御部 501は、トランザクションログ 600の処理中トランザクシ ヨン識別フラグ 602の値と、 S2404で復号した暗号化データに含まれるトランザクショ ン識別フラグ Tの値を確認する。確認の結果、トランザクション識別フラグ Tの値と処 理中トランザクション識別フラグ 602の値が一致する場合、 S2412の処理に進む。ト ランザクシヨン識別フラグ Tの値と処理中トランザクション識別フラグ 602の値が一致し ない場合、 S2411の処理に進む。
[0223] S2411 :セキュア通信制御部 501は、前述したキャンセル処理を実行する。
[0224] S2412 :セキュア通信制御部 501は、前述したコミット処理を実行する。
[0225] S2413 :セキュア通信制御部 501は、シーケンス番号 Seqとトランザクション識別フ ラグ Tと ACKコマンド Aとそれらに対するハッシュ値 hを連結し、それを、セッション鍵 KSを用いて暗号化した暗号化データ(式 10)を生成し、生成したデータ(式 10)を含 む ACKメッセージを生成し、それを、ユーザ端末 103に通信部 506を介して送信す る。トランザクション識別フラグ Tには、トランザクションログ 600の処理中トランザクショ ン識別フラグ 602の値を設定するものとする。 [0226] S2414 :セキュア通信制御部 501は、エラーメッセージを生成し、それを、ユーザ端 末 103に通信部 506を介して送信する。
[0227] S2415 :セキュア通信制御部 901は、ライセンスサーバ 101から受信したメッセージ が ACKメッセージであるかどうかを確認する。ライセンスサーバ 101から受信したメッ セージが ACKメッセージである場合、 S2416の処理に進む。ライセンスサーバ 101 力、ら受信したメッセージが ACKメッセージでなレ、場合、そのまま処理を終了する。
[0228] S2416 :セキュア通信制御部 901は、前述した ACKメッセージ受信時処理を実行 する。
[0229] 以上で、認証'コミットフェーズ P5において行われる処理についての説明を終わる。
[0230] 次に、図 25に示すフローチャートを参照して、ライセンスサーバ 101が、通信切断 を検知した際の処理にっレ、て説明する。
[0231] S2501:セキュア通信制御部 501は、トランザクションログ 600の処理中トランザクシ ヨン有無 601の値を確認し、通信が切断したユーザ端末 103との間で処理中のトラン ザクシヨンが有るかどうかを確認する。確認の結果、処理中のトランザクションが有る 場合、 S2502の処理に進む。一方、処理中のトランザクションが無い場合、そのまま 処理を終了する。
[0232] S2502 :セキュア通信制御部 501は、トランザクションログ 600のロールバック要否 6 03の値を確認し、通信が切断したユーザ端末 103との間で処理中であったトランザ クシヨンが、ロールバックが必要なトランザクションかどうかを確認する。確認の結果、 ロールバックが必要なトランザクションである場合、 S2503の処理に進む。ロールバッ クが不要なトランザクションである場合、そのまま処理を終了する。
[0233] S2503 :セキュア通信制御部 501は、通信が切断したユーザ端末 103の端末 ID4 01と、その処理中トランザクション識別フラグ 602との組を、トランザクションログデー タベース 502に記録する。
[0234] 以上で、ライセンスサーバ 101が、通信切断を検知した再の処理についての説明を 終わる。
[0235] なお、本実施の形態においては、発行可能回数 402が無期限である場合に、ロー ルバック不要であり、また、トランザクション識別フラグ記憶指示 TRに「記録不要」と設 定するとして説明を行った力 それに限るわけではなぐ他の所定のルールに従って 設定しても良いものとする。例えば、発行するライセンス 200の利用条件種別 203が「 ステートレス」の場合に、ロールバック不要であり、また、トランザクション識別フラグ記 憶指示 TRに「記録不要」と設定することなどが考えられる。
[0236] なお、セキュア通信制御部 501は、ユーザ端末 103からのメッセージに応えてメッ セージを送信した場合、そのメッセージを記憶しておき、次に受信したメッセージが先 程のメッセージの再送であると判定した場合には、記憶しておいたメッセージを再送 するようにしても良い。
[0237] なお、ライセンスデータベース 301で、ライセンス 200は、端末 ID401と関連づけら れて管理されるとして説明を行った力 S、それに限るわけではなぐユーザ やユーザ 端末 103をグノレープ化したドメインに対して関連付けられるものであってもよい。
[0238] また、ユーザ端末 103からライセンスサーバ 101に送信されるライセンス取得要求メ ッセージ Mreqは、所定動作(例えば再生要求やエクスポート要求)への許可要求で あっても良い。具体的には、ライセンスサーバ 101はライセンス取得要求メッセージ M reqへのレスポンスとして、ユーザ端末にコンテンツ鍵、コンテンツ鍵を保持してもよい 期限、制御情報等を送信することが考えられる。この制御情報としては、ユーザ端末 103からの許可要求が再生要求の場合には各端子への出力を制御する情報(CCI ( Copy Control Information)やマクロビジョン信号の ON/OFFの制御等)、ユーザ端 末 103からの許可要求がライセンスやコンテンツの記録媒体等へのエクスポート要求 の場合にはエクスポート先の利用条件(DVDに書く場合、 DVD上の CCIに設定する 値等)が考えられる。
[0239] また、ライセンスサーバ 101は、ユーザ端末 103から許可を求められた動作内容に 応じて、トランザクションログの記録要否判定を行ってもよい。たとえば、再生要求の 場合にはトランザクションログの記録を「不要」とし、エクスポート要求の場合にはトラン ザクシヨンログの記録を「要」とすることが考えられる。
[0240] また、図 30に示す通り、ユーザ端末 103は、ライセンスサーバ 101からトランザクシ ヨンログの記録が不要と通知された場合には、コミットメッセージの送信を省略すると しても良い。この場合、ライセンスサーバ 101及びユーザ端末 103でトランザクション ログを記録をする必要がないライセンス 200を配信する場合には、トランザクション口 グの書き換え回数だけでなぐコミットメッセージ以下の通信処理を省略して通信回 数を削減することが可能となる。
[0241] また、ユーザ端末 103において、ライセンスサーバ 101から取得したライセンス 200 を使用可能とするタイミングは、ライセンス 200受信時点であるとして説明を行ったが 、これに限るわけではなぐ ACKメッセージ受信時点で使用可能とするとしても良い。 また、トランザクション識別フラグ記憶指示 TRの値に応じて使用可能とするタイミング を変更するようにしても良レ、ものとする。例えば、トランザクション識別フラグ記憶指示 TRの値が「記録不要」の場合には、ライセンス 200を受信した時点で使用できる状態 とする力 トランザクション識別フラグ記憶指示 TRの値が「記録要」の場合には、図 3 1に示す通り、ライセンス 200 (3102)受信時にはライセンス 200をトランザクション口 グに関連づけてロック状態 (使用できない状態)にしておき、コミットメッセージ(3103 )に対する ACKメッセージ(3104)を受信してからライセンス 200をロック解除状態 (使 用できる状態)とすることが考えられる。この場合、ユーザ端末 103側は ACKメッセ一 ジを受信するまでライセンス 200が使用できない状態である為、トランザクションログ データベース 902からトランザクションログを消去しても、ライセンス 200が重複取得さ れてしまうことはない。この為、セキュアコマンドによるトランザクションログ消去指示が 無くても、ノンセキュアな情報に基づいて、ユーザ の意思で、トランザクションログデ ータベース 902からトランザクションログを消去することが可能となる。
[0242] また、さらに、ユーザ端末 103においてトランザクションログデータベース 902からト ランザクシヨンログを削除する他の方法例としては、(1)所定サーバから SAC上のコマ ンドで指示され削除、(2)SAC以外の通信(たとえば HTTP等)で、削除コマンドに対し 所定の事業者が著名したデータを入手し削除等が考えられる。この場合、トランザク シヨンログの削除に併せて、関連づけられてロックされているライセンス 200も削除す ること力と考えられる。
[0243] また、各メッセージに含まれるハッシュ値 hは、メッセージの一部分のみを計算対照 とするとして説明を行ったが、それに限るわけではなぐメッセージ全体を計算対象と してもょレ、ものとする。また、この場合、ユーザ端末 103及びライセンスサーバ 101に おいて、受信したメッセージが何であるかを確認する際には、それに先立ってハツシ ュ値 hの検証が行われるようにしても良レ、。
[0244] (その他変形例)
なお、本発明を上記実施の形態に基づいて説明してきた力 本発明は、上記の実 施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる
[0245] (1)上記の各装置は、具体的には、マイクロプロセッサ、 ROM、 RAM,ハードディ スクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュー タシステムである。前記 RAMまたはハードディスクユニットには、コンピュータプロダラ ムが記憶されている。前記マイクロプロセッサ力 前記コンピュータプログラムにしたが つて動作することにより、各装置は、その機能を達成する。ここでコンピュータプロダラ ムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが 複数個組み合わされて構成されたものである。
[0246] (2)上記の各装置を構成する構成要素の一部または全部は、 1個のシステム LSI ( Large Scale Integration :大規模集積回路)から構成されているとしてもよレ、。シ ステム LSIは、複数の構成部を 1個のチップ上に集積して製造された超多機能 LSIで あり、具体的には、マイクロプロセッサ、 ROM、 RAMなどを含んで構成されるコンビ ユータシステムである。前記 RAMには、コンピュータプログラムが記憶されている。前 記マイクロプロセッサ力 S、前記コンピュータプログラムにしたがって動作することにより
、システム LSIは、その機能を達成する。
[0247] (3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能 な ICカードまたは単体のモジュール力も構成されているとしてもよレ、。前記 ICカード または前記モジュールは、マイクロプロセッサ、 R〇M、 RAMなど力 構成されるコン ピュータシステムである。前記 ICカードまたは前記モジュールは、上記の超多機能 L SIを含むとしてもよレ、。マイクロプロセッサ力 コンピュータプログラムにしたがって動 作することにより、前記 ICカードまたは前記モジュールは、その機能を達成する。この ICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
[0248] (4)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンビュ ータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプ ログラムからなるデジタル信号であるとしてもよい。
[0249] また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンビユー タ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、 CD-R OM、 M〇、 DVD, DVD-ROM, DVD -RAM, BD (Blu-ray Disc)、半導体 メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前 記デジタル信号であるとしてもよい。
[0250] また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信 回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放 送等を経由して伝送するものとしてもよい。
[0251] また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、 前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは 、前記コンピュータプログラムにしたがって動作するとしてもよい。
[0252] また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送する ことにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経 由して移送することにより、独立した他のコンピュータシステムにより実施するとしても よい。
[0253] (5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
産業上の利用可能性
[0254] 本発明にかかるライセンス管理装置及び方法は、デジタル放送、 CATV,インター ネット等によるコンテンツ配信サービス受信端末や、 DVD等のパッケージメディアに よるコンテンツ配信サービス受信端末等において有用である。

Claims

請求の範囲 [1] コンテンツ鍵要求メッセージをサーバ装置へ送信し、前記サーバ装置からの前記コ ンテンッ鍵要求メッセージに対する応答メッセージを受信し、コンテンツを利用する端 末装置であって、 前記コンテンツ鍵要求メッセージは、現在実行中のコンテンツ鍵要求処理に関連 づけられており 0または 1の値を取るトランザクションフラグを含み、 前記応答メッセージは、コンテンツ鍵と、前記トランザクションフラグの記憶の要否を 前記サーバ装置とメッセージの送受信を行うメッセージ送受信手段と、 前記トランザクションフラグを記憶するトランザクションフラグ記憶手段と、 前記トランザクションフラグを前記トランザクション記憶手段に書き込むトランザクショ ンフラグ書き込み手段とを備え、 前記トランザクション書き込み手段は、 (1)前記メッセージ送受信手段が、前記応答メッセージを受信し、且つ、(2)前記応答メッセージに含まれる前記トランザクションフラグ記憶要否フラグが記 憶要と設定されている場合、 前記トランザクションフラグを前記トランザクション記憶手段に書き込む ことを特徴とする端末装置。 [2] 前記メッセージ送受信手段は、前記応答メッセージを受信した場合、前記応答メッ セージの受信成功を通知するコミットメッセージを前記サーバ装置に送信し、 前記トランザクションフラグ書き込み手段は、
(1)前記メッセージ送受信手段が、前記サーバ装置からの前記コミットメッセージに 対する ACKメッセージを受信し、且つ、
(2)前記トランザクション記憶手段に前記トランザクションフラグが記憶されている場 前記トランザクション記憶手段から前記トランザクションフラグを削除する ことを特徴とする請求項 1記載の端末装置。
[3] 前記コミットメッセージは、前記トランザクションフラグを含み、 前記メッセージ送受信手段は、前記コンテンツ鍵要求メッセージ送信前に、前記ト ランザクシヨン記憶手段に、前記トランザクションフラグが記憶されてレ、るかを確認し、 記憶されている場合、記憶されている前記トランザクションフラグの値を、前記コミット メッセージに含まれる前記トランザクションフラグに設定し、前記コミットメッセージを前 記サーバ装置に送信し、
前記トランザクションフラグ書き込み手段は、
前記メッセージ送受信手段が、前記サーバ装置からの前記コミットメッセージに対 する ACKメッセージを受信した場合、
前記トランザクション記憶手段から前記トランザクションフラグを削除する ことを特徴とする請求項 2記載の端末装置。
[4] 前記メッセージ送受信手段は、前記応答メッセージに含まれる前記トランザクション フラグ記憶要否フラグが記憶不要と設定されてレ、る場合、前記コミットメッセージの送 信を省略する
ことを特徴とする請求項 2記載の端末装置。
[5] 前記メッセージ送受信手段は、
前記応答メッセージに含まれる前記トランザクションフラグ記憶要否フラグが記憶不 要と設定されている場合、前記応答メッセージ受信時点で前記コンテンツ鍵を利用 可の状態とし、
前記応答メッセージに含まれる前記トランザクションフラグ記憶要否フラグが記憶要 と設定されてレ、る場合、前記コミットメッセージに対する ACKメッセージ受信時点で 前記コンテンツ鍵を利用可の状態とする
ことを特徴とする請求項 2記載の端末装置。
[6] 前記メッセージ送受信手段は、
連続してコンテンツ鍵を要求する場合、最終回のコンテンツ鍵要求処理を除レ、ては 、前記コミットメッセージの送信を省略し、
2回目以降のコンテンツ鍵要求処理においては、前記トランザクションフラグを含む 連続要求用コンテンツ鍵要求メッセージを送信し、
連続要求用コンテンツ鍵メッセージに含まれる前記トランザクションフラグには、前 回のコンテンツ鍵要求処理におけるコンテンツ鍵要求メッセージ、または、連続要求 用コンテンツ鍵要求メッセージに含まれるトランザクションフラグの値を反転した値を
S /Lレ、
前記トランザクション書き込み手段は、最終回のコンテンツ鍵要求処理を除いては、
( 1 )前記メッセージ送受信手段が、前記応答メッセージを受信し、且つ、
(2)前記応答メッセージに含まれる前記トランザクションフラグ記憶要否フラグが記 憶不要と設定されており、且つ、
(3)前記トランザクション記憶手段に前記トランザクションフラグが記憶されている 場合、前記トランザクション記憶手段から前記トランザクションフラグを削除する ことを特徴とする請求項 2記載の端末装置。
[7] 前記応答メッセージは、前記トランザクションフラグの記憶期限を含み、
前記トランザクションフラグ書き込み手段は、前記トランザクションフラグ記憶手段に 前記トランザクションフラグを書き込む際には、前記記憶期限を関連付けて書き込み 前記記憶期限が超過したことを検知した場合、所定のタイミングで、前記トランザク シヨンフラグを前記トランザクションフラグ記憶手段から削除する
ことを特徴とする請求項 2記載の端末装置。
[8] 端末装置からのコンテンツ鍵要求メッセージに対して応答メッセージを返送するサ ーバ装置であって、
前記コンテンツ鍵要求メッセージは、現在実行中のコンテンツ鍵要求処理に関連 づけられており 0または 1の値を取るトランザクションフラグを含み、
前記応答メッセージは、コンテンツ鍵と、前記トランザクションフラグの記憶の要否を 示すトランザクションフラグ記憶要否フラグを含み、
前記端末装置とメッセージの送受信を行うメッセージ送受信手段と、
前記応答メッセージ中の前記トランザクションフラグ記憶要否フラグに値を設定する トランザクションフラグ記憶要否設定手段とを備え、
前記トランザクションフラグ記憶要否設定手段は、前記トランザクションフラグの記憶 の要否を判定し、その判定結果を前記トランザクションフラグ記憶要否フラグに設定 する
ことを特徴とするサーバ装置。
[9] 前記サーバ装置は、さらに、
前記コンテンツ鍵の前記端末装置への送信可能回数を管理するコンテンツ鍵送信 可能回数管理手段を有し、
前記トランザクションフラグ記憶要否設定手段は、前記コンテンツ鍵送信可能回数 管理手段が管理する前記送信可能回数が有限回数の場合、前記トランザクションフ ラグの記憶が必要であると判定し、その判定結果を前記トランザクションフラグ記憶要 否フラグに設定する
ことを特徴とする請求項 8記載のサーバ装置。
[10] 前記サーバ装置は、さらに、
前記コンテンツ鍵を前記端末装置へ送信した履歴を管理するコンテンツ鍵送信履 歴管理手段を有し、
前記トランザクションフラグ記憶要否設定手段は、コンテンツ鍵送信履歴管理手段 、送信する前記コンテンツ鍵について、前記端末装置への送信履歴を管理する場 合、前記トランザクションフラグの記憶が必要であると判定し、その判定結果を前記ト ランザクシヨンフラグ記憶要否フラグに設定する
ことを特徴とする請求項 8記載のサーバ装置。
[11] 前記応答メッセージは、前記トランザクションフラグの記憶期限を含み、
前記メッセージ送受信手段は、前記トランザクションフラグ記憶要否設定手段が、前 記トランザクションフラグの記憶が必要であると判定した場合、前記トランザクションフ ラグの記憶期限に所定の期限を設定する
ことを特徴とする請求項 8記載のサーバ装置。
[12] 前記サーバ装置は、さらに、
前記端末装置が前記応答メッセージの受信に成功した場合に所定のコミット処理を 実行するコミット処理手段を有し、
前記コミット処理手段は、
前記メッセージ送受信手段が、前記端末装置から、前記端末装置が前記応答メッ セージの受信に成功したことを通知するコミットメッセージを受信した場合、 前記所定のコミット処理を実行する
ことを特徴とする請求項 8記載のサーバ装置。
[13] 前記サーバ装置は、さらに、
前記端末装置が前記応答メッセージの受信に失敗した場合に所定のロールバック 処理を実行するロールバック処理手段を有し、
前記ロールバック処理手段は、
前記メッセージ送受信手段が、前記応答メッセージ送信後に、前記端末装置から、 前記コミットメッセージを受信する前に、新たに前記コンテンツ鍵要求メッセージを受 信した場合、
前記所定の口ールバック処理を実行する
ことを特徴とする請求項 12記載のサーバ装置。
[14] コンテンツ鍵を配信するサーバ装置と、前記コンテンツ鍵を取得し、コンテンツの利 用を行う端末装置とから成るデジタルコンテンツ配信システムであって、
前記端末装置は、コンテンツ鍵要求メッセージをサーバ装置へ送信し、 前記サーバ装置は、前記コンテンツ鍵要求メッセージに対する応答メッセージを端 末装置へ送信し、
前記コンテンツ鍵要求メッセージは、現在実行中のコンテンツ鍵要求処理に関連 づけられており 0または 1の値を取るトランザクションフラグを含み、
前記応答メッセージは、コンテンツ鍵と、前記トランザクションフラグの記憶の要否を 前記端末装置は、
前記サーバ装置とメッセージの送受信を行う第一のメッセージ送受信手段と、 前記トランザクションフラグを記憶するトランザクションフラグ記憶手段と、 前記トランザクションフラグを前記トランザクション記憶手段に書き込むトランザクショ ンフラグ書き込み手段とを備え、
前記トランザクション書き込み手段は、
(1)前記第一のメッセージ送受信手段が、前記応答メッセージを受信し、且つ、 (2)前記応答メッセージに含まれる前記トランザクションフラグ記憶要否フラグが記 憶要と設定されている場合、
前記トランザクションフラグを前記トランザクション記憶手段に書き込み、 前記サーバ装置は、
前記端末装置とメッセージの送受信を行う第二のメッセージ送受信手段と、 前記応答メッセージ中の前記トランザクションフラグ記憶要否フラグに値を設定する トランザクションフラグ記憶要否設定手段とを備え、
前記トランザクションフラグ記憶要否設定手段は、前記トランザクションフラグの記憶 の要否を判定し、その判定結果を前記トランザクションフラグ記憶要否フラグに設定 する
ことを特徴とするデジタルコンテンツ配信システム。
[15] コンテンツ鍵要求メッセージをサーバ装置へ送信し、前記サーバ装置からの前記コ ンテンッ鍵要求メッセージに対する応答メッセージを受信し、コンテンツを利用する端 末装置に用いるプログラムであって、
前記コンテンツ鍵要求メッセージは、現在実行中のコンテンツ鍵要求処理に関連 づけられており 0または 1の値を取るトランザクションフラグを含み、
前記応答メッセージは、コンテンツ鍵と、前記トランザクションフラグの記憶の要否を 前記サーバ装置とメッセージの送受信を行うステップと、
前記トランザクションフラグを記憶するステップと、
前記トランザクションフラグを前記トランザクション記憶手段に書き込むトランザクショ ンフラグ書き込みステップとをコンピュータに実行させ、
前記トランザクション書き込みステップは、
(1)前記メッセージ送受信ステップが、前記応答メッセージを受信し、且つ、
(2)前記応答メッセージに含まれる前記トランザクションフラグ記憶要否フラグが記 要と設定されている場合、
前記トランザクションフラグを前記トランザクション記憶手段に書き込む
ことを特徴とするプログラム。
[16] 端末装置からのコンテンツ鍵要求メッセージに対して応答メッセージを返送するサ ーバ装置に用いるプログラムであって、
前記コンテンツ鍵要求メッセージは、現在実行中のコンテンツ鍵要求処理に関連 づけられており 0または 1の値を取るトランザクションフラグを含み、
前記応答メッセージは、コンテンツ鍵と、前記トランザクションフラグの記憶の要否を 示すトランザクションフラグ記憶要否フラグを含み、
前記端末装置とメッセージの送受信を行うステップと、
前記応答メッセージ中の前記トランザクションフラグ記憶要否フラグに値を設定する トランザクションフラグ記憶要否設定ステップとをコンピュータに実行させ、
前記トランザクションフラグ記憶要否設定ステップは、前記トランザクションフラグの 記憶の要否を判定し、その判定結果を前記トランザクションフラグ記憶要否フラグに 設定する
ことを特徴とするサーバ装置。
[17] コンテンツ鍵要求メッセージをサーバ装置へ送信し、前記サーバ装置からの前記コ ンテンッ鍵要求メッセージに対する応答メッセージを受信し、コンテンツを利用する端 末装置におけるトランザクション処理方法であって、
前記コンテンツ鍵要求メッセージは、現在実行中のコンテンツ鍵要求処理に関連 づけられており 0または 1の値を取るトランザクションフラグを含み、
前記応答メッセージは、コンテンツ鍵と、前記トランザクションフラグの記憶の要否を 前記サーバ装置とメッセージの送受信を行うステップと、
前記トランザクションフラグを記憶するステップと、
前記トランザクションフラグを前記トランザクション記憶手段に書き込むトランザクショ ンフラグ書き込みステップとを有し、
前記トランザクション書き込みステップは、
(1)前記メッセージ送受信ステップが、前記応答メッセージを受信し、且つ、
(2)前記応答メッセージに含まれる前記トランザクションフラグ記憶要否フラグが記 憶要と設定されている場合、 前記トランザクションフラグを前記トランザクション記憶手段に書き込む ことを特徴とするトランザクション処理方法。
[18] 端末装置からのコンテンツ鍵要求メッセージに対して応答メッセージを返送するサ ーバ装置におけるトランザクション処理方法であって、
前記コンテンツ鍵要求メッセージは、現在実行中のコンテンツ鍵要求処理に関連 づけられており 0または 1の値を取るトランザクションフラグを含み、
前記応答メッセージは、コンテンツ鍵と、前記トランザクションフラグの記憶の要否を 示すトランザクションフラグ記憶要否フラグを含み、
前記端末装置とメッセージの送受信を行うステップと、
前記応答メッセージ中の前記トランザクションフラグ記憶要否フラグに値を設定する トランザクションフラグ記憶要否設定ステップとを有し、
前記トランザクションフラグ記憶要否設定ステップは、前記トランザクションフラグの 記憶の要否を判定し、その判定結果を前記トランザクションフラグ記憶要否フラグに
HX/L る
ことを特徴とするトランザクション処理方法。
PCT/JP2007/051099 2006-01-25 2007-01-24 端末装置、サーバ装置及びデジタルコンテンツ配信システム WO2007086435A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP07707346A EP1978462A4 (en) 2006-01-25 2007-01-24 END DEVICE, SERVER DEVICE AND DISTRIBUTION SYSTEM FOR DIGITAL CONTENTS
KR1020087016100A KR101316150B1 (ko) 2006-01-25 2007-01-24 단말 장치, 서버 장치 및 디지털 컨텐츠 배포 시스템
US12/162,054 US7676042B2 (en) 2006-01-25 2007-01-24 Terminal apparatus, server apparatus, and digital content distribution system
CN200780002907XA CN101375286B (zh) 2006-01-25 2007-01-24 终端装置、服务器装置及事务处理方法以及数字内容分发***

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006016365 2006-01-25
JP2006-016365 2006-06-23

Publications (1)

Publication Number Publication Date
WO2007086435A1 true WO2007086435A1 (ja) 2007-08-02

Family

ID=38309224

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/051099 WO2007086435A1 (ja) 2006-01-25 2007-01-24 端末装置、サーバ装置及びデジタルコンテンツ配信システム

Country Status (6)

Country Link
US (1) US7676042B2 (ja)
EP (1) EP1978462A4 (ja)
JP (2) JP4016061B2 (ja)
KR (1) KR101316150B1 (ja)
CN (1) CN101375286B (ja)
WO (1) WO2007086435A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4531696B2 (ja) * 2003-04-25 2010-08-25 パナソニック株式会社 マルチメディア情報共有システム
WO2007007764A1 (ja) * 2005-07-14 2007-01-18 Matsushita Electric Industrial Co., Ltd. ライセンス管理装置及び方法
JP5249058B2 (ja) * 2009-01-09 2013-07-31 富士通テレコムネットワークス株式会社 通信システムと通信システムにおけるログイン認証方法
US9258391B2 (en) 2009-05-29 2016-02-09 Canon Kabushiki Kaisha Processing method and apparatus
JP5432595B2 (ja) * 2009-05-29 2014-03-05 キヤノン株式会社 通信装置及びその処理方法
US9256695B1 (en) 2009-09-30 2016-02-09 Saba Software, Inc. Method and system for sharing content
US8925109B2 (en) * 2010-07-30 2014-12-30 Adobe Systems Incorporated Client-side player file and content license verification
US9148478B2 (en) 2011-10-25 2015-09-29 Alcatel Lucent Verification of integrity of peer-received content in a peer-to-peer content distribution system
US9621549B2 (en) * 2014-07-25 2017-04-11 Qualcomm Incorporated Integrated circuit for determining whether data stored in external nonvolative memory is valid
KR102033465B1 (ko) * 2015-02-27 2019-10-17 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) 통신 디바이스와 네트워크 디바이스 사이의 통신에서의 보안 설비
US9680820B2 (en) * 2015-07-01 2017-06-13 Telefonaktiebolaget Lm Ericsson (Publ) Decrypting and decoding media assets through a secure data path
US10031810B2 (en) 2016-05-10 2018-07-24 International Business Machines Corporation Generating a chain of a plurality of write requests
US10067717B2 (en) 2016-05-10 2018-09-04 International Business Machines Corporation Processing a chain of a plurality of write requests
CN111768304A (zh) 2018-08-06 2020-10-13 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
EP3869426A4 (en) * 2018-10-18 2021-12-15 Panasonic Intellectual Property Corporation of America CONTROL PROCEDURE, CONTROL SYSTEM, FIRST SERVER AND DATA STRUCTURE
CN112470150A (zh) * 2018-10-22 2021-03-09 松下电器(美国)知识产权公司 控制方法、内容管理***、程序及数据结构
PL3745637T3 (pl) 2018-11-27 2021-11-02 Advanced New Technologies Co., Ltd. System i sposób ochrony informacji
SG11201902778UA (en) 2018-11-27 2019-05-30 Alibaba Group Holding Ltd System and method for information protection
BR112019007232B1 (pt) 2018-11-27 2022-02-15 Advanced New Technologies Co., Ltd Métodos implementados por computador para proteção da informação, sistemas para proteção da informação e meio de armazenamento legível por computador não transitório
KR102248154B1 (ko) 2018-11-27 2021-05-06 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 정보 보호를 위한 시스템 및 방법
RU2735439C2 (ru) 2018-11-27 2020-11-02 Алибаба Груп Холдинг Лимитед Система и способ для защиты информации
JP7174237B2 (ja) * 2018-11-29 2022-11-17 富士通株式会社 鍵生成装置、鍵更新方法および鍵更新プログラム
WO2020122095A1 (ja) * 2018-12-11 2020-06-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 制御方法、サーバ、プログラム、および、データ構造

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02171846A (ja) * 1988-12-24 1990-07-03 Mitsubishi Electric Corp トランザクション処理方式
JPH04239962A (ja) * 1991-01-23 1992-08-27 Nec Corp トランザクション実行解析情報出力方式
JP3276021B2 (ja) 1993-11-04 2002-04-22 日本電信電話株式会社 ディジタル情報保護方法及びその処理装置
JP2002251524A (ja) 2001-02-23 2002-09-06 Sony Corp 通信システム,カード,管理サーバ,通信方法,プログラム,および,プログラムを記録した記録媒体
JP2003016041A (ja) 2001-07-05 2003-01-17 Sony Corp 通信システム、サーバ装置、クライアント装置、携帯電話機、通信方法、連携処理提供方法、連携処理方法、課金代行方法、コンテンツ有効化方法、プログラムおよび記録媒体
JP2004280791A (ja) * 2003-01-27 2004-10-07 Matsushita Electric Ind Co Ltd デジタルコンテンツ配信システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263438A (ja) * 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US6764001B1 (en) * 2000-05-30 2004-07-20 Sony Corporation Electronic money system and transaction method using the same
JP2001331658A (ja) * 2000-05-18 2001-11-30 Yamaha Corp コンテンツの配給システム及び同配給方法、同配給システムに利用されるサーバ及びクライアント、並びにこれらに適用されるプログラムを記録したコンピュータ読取り可能な記録媒体
KR20020064672A (ko) * 2001-02-02 2002-08-09 마쯔시다덴기산교 가부시키가이샤 콘텐츠 이용 관리 시스템 및 콘텐츠 이용 관리 방법
US7395245B2 (en) * 2001-06-07 2008-07-01 Matsushita Electric Industrial Co., Ltd. Content usage management system and server used in the system
WO2003098512A1 (fr) * 2002-05-15 2003-11-27 Matsushita Electric Industrial Co., Ltd. Systeme de gestion de l'utilisation de contenus
CN100365612C (zh) * 2003-01-14 2008-01-30 松下电器产业株式会社 内容使用管理的***、装置及方法、内容使用装置及方法
US20060195405A1 (en) * 2003-01-27 2006-08-31 Kouji Miura Digital content distribution system
KR20050117526A (ko) * 2003-02-28 2005-12-14 마쯔시다덴기산교 가부시키가이샤 디지털 권리 관리용 콘텐츠 이용 실적 수집을 위한 시스템 및 방법
US20060253400A1 (en) * 2003-03-05 2006-11-09 Ryuichi Okamoto Digital content delivery system
EP1735939A1 (en) * 2004-03-29 2006-12-27 Smart Internet Technology Crc Pty Limited Digital license sharing system and method
JP4239962B2 (ja) 2004-12-15 2009-03-18 沖電気工業株式会社 紙葉類集積機構
KR100746198B1 (ko) * 2005-07-08 2007-08-06 삼성전자주식회사 데이터 저장장치, 데이터 저장방법, 및 그 기록매체
US8769275B2 (en) * 2006-10-17 2014-07-01 Verifone, Inc. Batch settlement transactions system and method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02171846A (ja) * 1988-12-24 1990-07-03 Mitsubishi Electric Corp トランザクション処理方式
JPH04239962A (ja) * 1991-01-23 1992-08-27 Nec Corp トランザクション実行解析情報出力方式
JP3276021B2 (ja) 1993-11-04 2002-04-22 日本電信電話株式会社 ディジタル情報保護方法及びその処理装置
JP2002251524A (ja) 2001-02-23 2002-09-06 Sony Corp 通信システム,カード,管理サーバ,通信方法,プログラム,および,プログラムを記録した記録媒体
JP2003016041A (ja) 2001-07-05 2003-01-17 Sony Corp 通信システム、サーバ装置、クライアント装置、携帯電話機、通信方法、連携処理提供方法、連携処理方法、課金代行方法、コンテンツ有効化方法、プログラムおよび記録媒体
JP2004280791A (ja) * 2003-01-27 2004-10-07 Matsushita Electric Ind Co Ltd デジタルコンテンツ配信システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A. FRIER; P. KARLTON; P. KOCHER: "The SSL 3.0 Protocol", NETSCAPE COMMUNICATIONS CORP., 18 November 1996 (1996-11-18), Retrieved from the Internet <URL:http:llwp.netscape,comleng/ss13/draft302.txt>

Also Published As

Publication number Publication date
US7676042B2 (en) 2010-03-09
JP4951434B2 (ja) 2012-06-13
EP1978462A4 (en) 2011-11-30
CN101375286B (zh) 2012-06-27
US20090010439A1 (en) 2009-01-08
JP2007226777A (ja) 2007-09-06
JP2008027452A (ja) 2008-02-07
EP1978462A1 (en) 2008-10-08
KR20080096502A (ko) 2008-10-30
JP4016061B2 (ja) 2007-12-05
KR101316150B1 (ko) 2013-10-08
CN101375286A (zh) 2009-02-25

Similar Documents

Publication Publication Date Title
JP4951434B2 (ja) 端末装置
AU2022204148B2 (en) Methods and apparatus for providing blockchain participant identity binding
WO2017038507A1 (ja) 許諾情報管理システム、利用者端末、権利者端末、許諾情報管理方法、および、許諾情報管理プログラム
US7386722B2 (en) Certificate management system and method
JP4755189B2 (ja) コンテンツ暗号化方法、これを利用したネットワークによるコンテンツ提供システム及びその方法
CN101883100B (zh) 一种数字内容分布式授权方法
CN100472550C (zh) 产生证书的方法以及使用证书提供内容的方法和设备
US20110119494A1 (en) Method and apparatus for sharing licenses between secure removable media
CN110601830B (zh) 基于区块链的密钥管理方法、装置、设备及存储介质
CN101103591A (zh) 在装置之间移动版权对象的方法以及基于移动方法和装置使用内容对象的方法和装置
KR101020342B1 (ko) 디지털 컨텐츠 분배 시스템
JPWO2007007764A1 (ja) ライセンス管理装置及び方法
US11381553B2 (en) Systems and techniques for trans-account device key transfer in benefit denial system
JP3889004B2 (ja) デジタルコンテンツ配信システム
JP2009212689A (ja) 共通鍵自動配布システム、クライアント、第三者認証機関側サーバ、及び共通鍵自動共有方法
JP2004240959A (ja) コンテンツ再生装置、ライセンス発行サーバ及びコンテンツ再生システム
JP3796732B2 (ja) 送受信データ監視サーバ、送信端末、送受信データ監視サーバプログラム及びその記憶媒体
JP3987874B2 (ja) デジタルコンテンツ配信システム
CN101667995B (zh) 数字版权管理方法、***、硬件安全单元及计算机
JP2007328398A (ja) 権利払戻システム、方法及びプログラム、並びに権利譲渡システム、方法及びプログラム
WO2023235199A1 (en) A system for managing distributed digital rights

Legal Events

Date Code Title Description
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: 1020087016100

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 200780002907.X

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 12162054

Country of ref document: US

Ref document number: 2007707346

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE