WO2012101910A1 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
WO2012101910A1
WO2012101910A1 PCT/JP2011/078382 JP2011078382W WO2012101910A1 WO 2012101910 A1 WO2012101910 A1 WO 2012101910A1 JP 2011078382 W JP2011078382 W JP 2011078382W WO 2012101910 A1 WO2012101910 A1 WO 2012101910A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
content
time stamp
unit
user
Prior art date
Application number
PCT/JP2011/078382
Other languages
English (en)
French (fr)
Inventor
智之 浅野
洋平 川元
松田 誠一
Original Assignee
ソニー株式会社
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 ソニー株式会社 filed Critical ソニー株式会社
Priority to US13/993,783 priority Critical patent/US20130268679A1/en
Priority to CN2011800654594A priority patent/CN103329479A/zh
Publication of WO2012101910A1 publication Critical patent/WO2012101910A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Definitions

  • the present disclosure relates to an information processing apparatus, an information processing method, and a program.
  • a user transmits a characteristic value of data (generally, a result of applying data to a hash function) to a time stamp authority (TSA), and the TSA digitally compares the characteristic value of the data and the reception date and time. The value with the signature added is returned as a time stamp.
  • TSA time stamp authority
  • Patent Document 1 discloses a technique for collectively giving time stamps to a plurality of data stored in a storage.
  • Patent Document 1 does not assume that data is disclosed to other users after the data is stored in the storage. Nor does it prove the ownership of the data. Therefore, the technique disclosed in Patent Document 1 does not contribute to the solution of the above problem.
  • the present disclosure has been made in view of the above problems, and the purpose of the present disclosure is to protect content data that is disclosed to a third party other than the creator of the content data.
  • a new and improved information processing apparatus, information processing method, and program are provided.
  • a time stamp requesting unit that requests a time stamp for the content data output from the user device to the time stamp giving unit, and the content data to which the time stamp is given Is provided to a user data device other than the user device that has output the content data.
  • the time stamp requesting unit may request the time stamp giving unit for a time stamp for data obtained by aggregating a plurality of content data.
  • the time stamp requesting unit may request the time stamp giving unit for a time stamp for the content data output from the user device and identification data representing the user of the user device that has output the content data.
  • the content data output unit may output the content data not provided with the time stamp in addition to the content data provided with the time stamp to a device held by the user who output the content data.
  • the time stamp requesting unit may request a new time stamp from the time stamp providing unit when the time stamp is given from the time stamp giving unit after requesting the time stamp from the time stamp giving unit.
  • time stamp requesting unit may request a time stamp from the time stamp giving unit every time content data is output from the user device.
  • the content data output unit may further output the time stamp given to the content data to another user device.
  • the content data output unit may output the time stamp added to the content data to another user device when a time stamp is requested from another user device.
  • time stamp requesting unit may request the time stamp from the time stamp giving unit when the user device that has output the content data requests the time stamp to be given.
  • an information processing method including outputting content data to a user device other than the user device that has output the content data among a plurality of user devices.
  • a time stamp request function that requests a time stamp for a content data output from any one of a plurality of user devices to a time stamp assigning unit, and content A program that realizes a content data output function for outputting content data to a user device other than the user device that has output the content data among a plurality of user devices when a time stamp is added to the data.
  • an information processing system including a plurality of user devices and an information processing device, the information processing device being output from any one of the plurality of user devices.
  • a time stamp requesting unit for requesting a time stamp for the content data to the time stamp giving unit, and a content data output unit for outputting the content data to which the time stamp is given to another user device other than the user device that outputted the content data
  • An information processing system is provided.
  • a verification device that verifies whether the time stamp given to the content data is correct may be provided.
  • the user device may include a verification unit that verifies whether the time stamp given to the content data is correct.
  • a content acquisition unit that acquires content data
  • a content summary data generation unit that generates content summary data
  • a communication unit that transmits content summary data to another information processing device
  • an information processing method including acquiring content data, generating content summary data, and transmitting the content summary data to another information processing device. Provided.
  • a content acquisition function for acquiring content data
  • a content summary data generation function for generating content summary data
  • communication for transmitting content summary data to another information processing apparatus to a computer
  • a program for realizing the functions.
  • a first information processing device that receives content data output from a user device, a second information processing device that requests a time stamp assignment unit for a time stamp for the content data, and , A third information processing device for storing content data and a time stamp given to the content data, content identification data for identifying the content data, and location of the content data in the third information processing device
  • An information processing system is provided that includes content path data indicating the time stamp and time stamp path data indicating the location of the time stamp in the third information processing apparatus in association with each other. .
  • the date and time is after the date and time indicated by the time stamp. Based on the stamp, the creator of the content data can claim to be himself. That is, the content data disclosed to a third party other than the user who generated the content data is protected.
  • FIG. 1 is an explanatory diagram illustrating an overview of an information processing system according to a first embodiment of the present disclosure.
  • FIG. It is explanatory drawing which shows the outline
  • First embodiment 1-1 Schematic configuration of information processing system 1-2. Outline of processing by information processing system 1-3. Detailed configuration of information processing system 1-4. Processing by information processing system 1-5. Various modifications Second embodiment 2-1. Schematic configuration of information processing system 2-2. Detailed configuration of information processing system 2-3. Processing by information processing system
  • the information processing system 100 includes a content sharing server (information processing device) 10, a time stamp assigning server (time stamp assigning unit) 20, a plurality of user terminals (user devices) 40, and a network 50 connecting them. Prepare.
  • the content sharing server 10 is owned by an administrator who manages and publishes content data, and manages content data, requests a time stamp, and publishes content data with a time stamp.
  • the time stamp assigning server 20 is owned by a time stamp authority (TSA) 30 that performs time stamp assignment and the like, and assigns a time stamp to content data in response to a request from the content sharing server 10.
  • TSA time stamp authority
  • the user terminals 40 can be operated by different users 41 (41a, 41b, 41c), and the content data (UGC (User Generated Content) data) generated by the user 41 itself is shared.
  • the data can be output (uploaded) to the ring server 10.
  • the user 41a can upload content data to the content sharing server 10 using the user terminal 40a.
  • the user 41 can request the content sharing server 10 to browse the content data using the user terminal 40.
  • the content sharing server 10 outputs the content data that has received the browsing request to the user terminal 40.
  • the user terminal 40 displays the content data given from the content sharing server 10 on the display 401.
  • the time stamp assigning server 20 and the user terminal 40 known ones are arbitrarily used.
  • the user terminal 40 may be a television receiver, a car navigation system, a mobile phone, a game machine, a music player, a smartphone, a smart tablet, or the like.
  • step S1 the user 41a outputs (transmits) the content data generated by the user 41a to the content sharing server 10.
  • step S2 the content sharing server 10 stores the content data given by the user 41a, and requests the time stamp giving server 20 for a time stamp for the content data and data for identifying the user 41a.
  • step S3 the time stamp assigning server 20 issues a time stamp for the content data and the data for identifying the user 41a, and outputs (transmits) it to the content sharing server 10.
  • step S4 the user 41c makes a request for browsing the content data generated by the user 41a to the content sharing server 10.
  • the content sharing server 10 outputs (transmits) the content data with the time stamp to the user terminal 40c.
  • the user terminal 40 c displays content data on the display 401.
  • the content sharing server 10 publishes the content data to which the time stamp is given to a third party other than the user 41a.
  • the time stamp assigning server 20 has various hardware configurations such as a CPU, ROM, RAM, hard disk, and communication device, and performs various processes by the CPU reading and executing a program stored in the ROM. .
  • the time stamp assigning server 20 generates time stamp tag data to be described later in response to a request from the content sharing server 10 and outputs the time stamp tag data to the content sharing server 10.
  • the user terminal 40 includes various hardware configurations such as a CPU, a ROM, a RAM, a hard disk, a communication device, a keyboard, a mouse, a display 401, and the CPU reads and executes a program stored in the ROM. Perform various processes. For example, the user terminal 40 logs into the content sharing server 10 by outputting the account and password input by the user 41 to the content sharing server 10, and outputs the content data to the content sharing server 10 after logging in. The content data output from the sharing server 10 is displayed.
  • identification data that uniquely identifies the user 41 that has output (transmitted) the content data on the information processing system 100, such as an account or a user ID, is added to the content data output from the user terminal 40.
  • the account and user ID may be the same numerical value or character string, the account may be a character string that can be easily stored and identified by humans, and the user ID may be a numerical value corresponding to the account on a one-to-one basis.
  • the content sharing server 10 includes hardware configurations such as a CPU, a ROM, a RAM, a hard disk, and a communication device.
  • the CPU reads out and executes a program stored in the ROM, and performs various processes.
  • the content sharing server 10 includes a transmission / reception unit (content data output unit) 11, a storage unit 12, a data management unit 13 (time stamp request unit), and a verification unit 14.
  • the transmission / reception unit 11 outputs the data given from the time stamp assignment server 20 or the user terminal 40 to the data management unit 13, and outputs the data given from the data management unit 13 to the time stamp assignment server 20 or the user terminal 40. .
  • the storage unit 12 stores the content data management table shown in FIG. 5, and also stores data generated by the data management unit 13, various public keys, and public functions (for example, a hash function described later).
  • the content data management table is composed of a plurality of rows. For each row, the content ID, content data, user ID, reception date / time data, content summary data (CD (Content Digest) data), and ACID (Aggregated Content Info) are provided. (Digest) pointer, aggregated content information summary data (ACID data), time stamp tag data, and time stamp status data are recorded correspondingly. Details of these data will be described later.
  • the data management unit 13 includes a content summary data generation unit 131, a content information data generation unit 132, a content information summary data generation unit 133, an aggregated content information summary data generation unit 134, a request A data generation unit 135 and a content package data generation unit 136 are provided.
  • the content summary data generation unit 131 (hereinafter also referred to as “CD generation unit 131”) generates a row for the content data in the content data management table shown in FIG. The content data is stored in the row.
  • the CD generation unit 131 generates a content ID for uniquely specifying the content data on the information processing system 100, and uniquely specifies the user 41 that has output (transmitted) the content data on the information processing system 100. Together with the user ID for the content data. As described above, the user ID is presented by the user in the login process of the session in which the content is transmitted.
  • the CD generation unit 131 also generates reception date / time data indicating the reception date / time of the content data, and stores it in the row for the content data.
  • the CD generation unit 131 generates content summary data (CD data) by inputting the content data to the hash function, and stores the content summary data in a row for the content data.
  • CD data content summary data
  • a hash function that converts input data into 256-bit data for example, SHA-2
  • the hash function is arbitrarily selected according to, for example, the degree of security required for the information processing system 100.
  • the CD generation unit 131 indicates that data is undecided in the ACID pointer area, the ACID data area, and the time stamp tag data area among the areas constituting the content data row. Stores the initial value of. Further, the CD generation unit 131 stores an initial value indicating “time stamp not acquired” in the time stamp status data area.
  • the CD generation unit 131 outputs the content ID, user ID, reception date / time data, and CD data to the content information data generation unit 132.
  • the content information data generation unit 132 (hereinafter also referred to as “CI (Content Info) data generation unit 132”) concatenates the content ID, user ID, reception date data, and CD data. , Content information data (CI data) is generated. The CI generation unit 132 outputs the CI data to the content information summary data generation unit 133.
  • the content information summary data generation unit 133 (hereinafter also referred to as “CID (Content Info Digest) data generation unit 133”) generates content information summary data (CID data) by inputting the CI data into a hash function.
  • the CID data generation unit 133 sends the CID data and the content ID corresponding to the CID data (content ID in the CI data) to the integrated content information summary data generation unit 134 (hereinafter also referred to as “ACID data generation unit 134”). Output.
  • the ACID data generation unit 134 waits until CID data is given for all the content data received by the transmission / reception unit 11 within a predetermined time (for example, 1 minute).
  • the ACID data generation unit 134 generates ACID data by concatenating the CID data given during standby.
  • the ACID generation unit 134 determines a storage target row, which is a row for storing ACID data, based on the content ID included in the CID data given during standby. Specifically, the ACID data generation unit 134 determines the row indicated by the content ID as a storage target row. Further, the ACID data generation unit 134 generates an ACID pointer for each storage target row.
  • the ACID pointer is a pointer indicating where in the ACID data the CID data obtained from the CD data in the storage target row exists.
  • the ACID data generation unit 134 stores the generated ACID data and the ACID pointer in the storage target row.
  • the transmission / reception unit 11 receives the content i, j from the user 41a and the content data k from the user 41b within a predetermined time, and the CID data generation unit 133 generates the CID data i ′, j ′, k ′
  • the ACID The data generation unit 134 generates ACID data by connecting the CID data i ′, j ′, and k ′. Then, the ACID data generation unit 134 stores the generated ACID data and the ACID pointer indicating the position of the CID data i ′ in the ACID data in the row where the content i is stored. The same processing is performed for the contents j and k.
  • the ACID data generation unit 134 outputs the ACID data to the request data generation unit 135.
  • the request data generation unit 135 inputs the ACID data given from the ACID data generation unit 134 to the hash function, thereby generating DACID data (Digest ACID data) that is summarized ACID data.
  • DACID data Digist ACID data
  • the request data generation unit 135 keeps the DACID data constant regardless of the size of the ACID data.
  • the size can be as follows. Therefore, the load on management of DACID data is reduced.
  • the request data generation unit 135 outputs the time stamp request data for requesting the time stamp and the DACID data to the transmission / reception unit 11, and indicates the time stamp status data of the row in which the ACID data is stored indicating “time stamp requesting”. Change to data.
  • the transmission / reception unit 11 outputs the time stamp request data and the DACID data to the time stamp assigning server 20.
  • the data management unit 13 aggregates one or a plurality of content data output from the user terminal 40 within a predetermined time, and requests the time stamp giving server 20 for a time stamp for the aggregated data.
  • the time stamp assigning server 20 assigns a time stamp to the DACID data based on the given time stamp request data. Specifically, the time stamp assignment server 20 generates time stamp tag data shown in FIG. 7 and outputs it to the content sharing server 10.
  • the time stamp tag data indicates a time stamp authority ID that uniquely identifies the time stamp authority 30 on the information processing system 100, and the date and time when the time stamp was given (date and time when the time stamp tag data was generated). It consists of time stamp date / time data, DACID data, and signature data by the time stamp authority 30.
  • the time stamp assigning server 20 assigns a time stamp to one or a plurality of content data in a lump.
  • the transmission / reception unit 11 outputs the received time stamp tag data to the request data generation unit 135.
  • the request data generation unit 135 stores the time stamp tag data in the row where the ACID data is stored. Furthermore, the request data generation unit 135 changes the time stamp status data of the row in which the time stamp tag data is stored to data indicating “time stamp acquired”.
  • the content package data generation unit 136 (hereinafter also referred to as “CP (Content Package) data generation unit 136”), when there is a request for browsing the content data, the requester who is the user 41 who has made the browsing request, It is determined whether or not the creator who is the user 41 who generated the content data is the same. As a result, when it is determined that the requester and the creator are the same, the CP data generation unit 136 outputs the content data requested to be browsed to the user 41 regardless of the presence or absence of a time stamp. That is, the CP data generation unit 136 searches the content data management table for all content data requested to be browsed, and outputs it to the transmission / reception unit 11. The transmission / reception unit 11 outputs the content data to the user terminal 40 of the requester.
  • CP Content Package
  • the CP data generation unit 136 outputs only the content data to which the time stamp is given among the content data requested to be browsed to the requester.
  • the CP data generation part 136 determines in this way, when the user 41 requests
  • the CP data generation unit 136 searches the content data management table for content data for which browsing requests have been made and whose time stamp status data indicates “time stamp acquired”. .
  • the CP data generation unit 136 searches the content data and the content ID, user ID, reception date / time data, CD data, ACID pointer, ACID data, and time stamp tag data stored in the same row as the content data.
  • CP data is generated.
  • the data structure of CP data is shown in FIG. Then, the CP data generation unit 136 outputs the CP data to the transmission / reception unit 11, and the transmission / reception unit 11 outputs the CP data to the user terminal 40 of the requester.
  • the ACID data constituting the CP data may include CID data generated from content data that the requester does not request browsing.
  • the CID data is generated by hashing the content data, even if the viewer receives such CIP data, the viewer cannot browse the original content data.
  • the content sharing server 10 can prevent the requester from browsing content data other than the content data requested by the requester.
  • the verification unit 14 shown in FIG. 3 verifies the time stamp tag data. Specific processing will be described later.
  • each user 41 logs in to the content sharing server 10. Specifically, each user 41 inputs an account and a password to his user terminal 40. Each user terminal 40 outputs the input data to the content sharing server 10.
  • the CD data generation unit 131 of the content sharing server 10 compares the data output from each user terminal 40 with an account management table (a table that records and compares an account and a password) (not shown). Determine whether the data is correct. When the data output from the user terminal 40 is correct, the CD data generation unit 131 transmits data indicating that login is permitted to the user terminal 40. Thereby, login is performed. On the other hand, if the data output from the user terminal 40 is incorrect, the CD data generation unit 131 outputs request data for prompting re-input of the account and password to the user terminal 40.
  • step S10 the user terminal 40 outputs the content data generated by the user 41 to the content sharing server 10.
  • identification data for uniquely identifying the user 41 that generated the content data on the information processing system 100, for example, an account of the user 41 is added to the content data.
  • step S20 the transmission / reception unit 11 receives the content data and outputs it to the CD data generation unit 131.
  • step S30 the CD generation unit 131 generates a row for the content data in the content data management table shown in FIG. 5, and stores the content data in the row. Furthermore, the CD generation unit 131 generates a content ID and reception date / time data, and stores the content ID and the reception date / time data in a row for the content data together with the user ID.
  • the CD generation unit 131 generates CD data by inputting the content data to the hash function, and stores it in the row for the content data.
  • the CD generation unit 131 indicates that data is not determined in the area for the ACID pointer, the area for the ACID data, and the area for the time stamp tag data among the areas constituting the row for content data. Stores the initial value of. Further, the CD generation unit 131 stores an initial value indicating “time stamp not acquired” in the time stamp status data area.
  • the CD generation unit 131 outputs the content ID, user ID, reception date / time data, and CD data to the CI data generation unit 132.
  • step S40 the CI data generation unit 132 generates the CI data shown in FIG. 6 by concatenating the content ID, the user ID, the reception date / time data, and the CD data.
  • the CI generation unit 132 outputs the CI data to the CID data generation unit 133.
  • step S50 the CID data generation unit 133 generates CID data by inputting the CI data to the hash function.
  • the CID data generation unit 133 outputs the CID data and the content ID corresponding to the CID data to the ACID data generation unit 134.
  • step S60 the ACID data generation unit 134 waits until CID data is given for all of the content data received by the transmission / reception unit 11 within a predetermined time (for example, 1 minute).
  • the ACID data generation unit 134 generates ACID data by concatenating the CID data given during standby.
  • the ACID generation unit 134 determines a storage target row, which is a row for storing ACID data, based on the content ID included in the CID data given during standby. Specifically, the ACID data generation unit 134 determines the row indicated by the content ID as a storage target row. Further, the ACID data generation unit 134 generates an ACID pointer for each storage target row.
  • the ACID pointer is a pointer indicating where in the ACID data the CID data obtained from the CD data in the storage target row exists.
  • the ACID data generation unit 134 stores the generated ACID data and the ACID pointer in the storage target row. Next, the ACID data generation unit 134 outputs the ACID data to the request data generation unit 135.
  • step S70 the request data generation unit 135 generates the DACID data by inputting the ACID data given from the ACID data generation unit 134 into the hash function. Further, the request data generation unit 135 outputs the time stamp request data for requesting the time stamp and the DACID data to the transmission / reception unit 11, and displays the time stamp status data of the row storing the ACID data as “time stamp requesting”. Change to data indicating
  • step S80 the transmission / reception unit 11 outputs the time stamp request data and the DACID data to the time stamp assigning server 20.
  • step S90 the time stamp assigning server 20 receives the time stamp request data and the DACID data.
  • step S100 the time stamp assigning server 20 assigns a time stamp to the DACID data based on the time stamp request data. Specifically, the time stamp assigning server 20 generates time stamp tag data shown in FIG.
  • step S110 the time stamp assigning server 20 outputs the generated time stamp tag data to the content sharing server 10.
  • step S120 the transmission / reception unit 11 receives the time stamp tag data output from the time stamp assigning server 20, and outputs the time stamp tag data to the request data generation unit 135.
  • the request data generation unit 135 stores the time stamp tag data in the row where the ACID data is stored. Furthermore, the request data generation unit 135 changes the time stamp status data of the row in which the time stamp tag data is stored to data indicating “time stamp acquired”. Furthermore, the request data generation unit 135 outputs a row in which the time stamp tag data is newly stored to the verification unit 14 described later, and requests verification processing.
  • step S130 the user 41 (requester) makes a content data browsing request to the content sharing server 10. Specifically, the user 41 presents his / her account and password to the system and performs login processing, and then specifies data that identifies the creator of content data desired to be browsed, for example, the user name of the creator. 40. In response to this, the user terminal 40 outputs the input data to the content sharing server 10 as browsing request data.
  • the browsing request data includes identification data that uniquely identifies the requester and the creator on the information processing system 100.
  • step S140 the transmission / reception unit 11 receives the browsing request data and outputs it to the CP data generation unit 136.
  • step S150 the CP data generation unit 136 searches the content data management table for predetermined content data based on the browsing request data, and outputs it to the transmission / reception unit 11.
  • the transmission / reception unit 11 outputs the content data to the user terminal 40 of the requester.
  • step S160 the user terminal 40 of the requester receives the content data and displays it on the display 401. Details of the processes in steps S140 to S160 will be described later.
  • Steps S140 to S160 Next, the processing in steps S140 to S160 will be described in detail based on FIG.
  • step S200 the transmission / reception unit 11 receives the browsing request data and outputs it to the CP data generation unit 136.
  • step S210 the CP data generation unit 136 determines whether the requester and the creator of the content data requested to be viewed are the same based on the browsing request data. If the CP data generation unit 136 determines that they are the same, the process proceeds to step S220. If the CP data generation unit 136 determines that they are different, the process proceeds to step S230.
  • step S220 the CP data generation unit 136 outputs the content data subjected to the browsing request data to the user terminal 40 of the requester regardless of whether or not there is a time stamp. That is, the CP data generation unit 136 searches the content data management table for all the content data requested to be viewed (that is, all the content data uploaded by the creator), and outputs it to the transmission / reception unit 11. The transmission / reception unit 11 outputs the content data to the requester's user terminal 40, and the requester's user terminal 40 displays the received content data on the display 401.
  • step S230 the CP data generation unit 136 outputs only the content data to which the time stamp is given among the content data requested to be browsed to the user terminal 40 of the requester.
  • the CP data generation unit 136 searches the content data management table for content data for which browsing requests have been made and whose time stamp status data indicates “time stamp acquired”. .
  • the CP data generation unit 136 searches the content data and the content ID, user ID, reception date / time data, CD data, ACID pointer, ACID data, and time stamp tag data stored in the same row as the content data.
  • CP data is generated.
  • the CP data generation unit 136 outputs the CP data to the transmission / reception unit 11, and the transmission / reception unit 11 outputs the CP data to the user terminal 40 of the requester.
  • the user terminal 40 displays content data and the like on the display 401 based on the CP data. A display example at this time is shown in FIG.
  • One or a plurality of content information images 402 including a content data display area 402a, a content ID display area 402b, a time stamp display button 402c, and a download button 402d are displayed on the display 401.
  • Each content information image 402 corresponds to different content data.
  • a thumbnail of the content data corresponding to the content information image 402 is displayed.
  • the user terminal 40 displays content data corresponding to the content information image 402 on the display 402. Note that the content data itself may be displayed in the content data display area 402a.
  • the content ID of the content data corresponding to the content information image 402 is displayed.
  • the user terminal 40 When the mouse is clicked in a state where the mouse pointer 403 is overlaid on the time stamp display button 402c of the content information image 402, the user terminal 40 displays a time stamp corresponding to the content information image 402 (for example, time stamp date and time data and The signature data and the user ID of the user who generated the content are displayed on the display 402.
  • the mouse When the mouse is clicked in a state where the mouse pointer 403 is overlaid on the download button 402d of the content information image 402, the user terminal 40 has the CP data including the content and the time stamp mounted or connected to the user terminal 40. Record in storage device. [Verification processing]
  • This verification process is a process for determining whether or not the data recorded in the content data management table is correct.
  • the verification process is started by transmitting a request for the verification process to the verification unit 14 when the request data generation unit 135 receives the time stamp tag data from the time stamp assignment server 20. Further, as will be described later, the verification process is also performed in response to a request from the user. In this case, it is determined whether the data presented by the user is correct, not the data recorded in the content data management table.
  • step S300 the verification unit 14 determines, as a verification target row, a row corresponding to the content for which time stamp tag data has been newly acquired from the content data management table presented together with the verification processing request from the request data generation unit 135. To do.
  • the verification unit 14 generates CD data by inputting the content data in the search target row to the hash function.
  • step S310 the verification unit 14 determines whether the generated CD data matches the CD data in the search target row. If it is determined that these data match, the verification unit 14 proceeds to step S320, and these data are stored. If it is determined that they do not match, the process proceeds to step S380.
  • step S320 the verification unit 14 generates CI data by concatenating the generated CD data with the user ID, content ID, and reception date / time data of the search target row. Further, the verification unit 14 generates CID data by inputting the generated CI data into a hash function.
  • step S330 the verification unit 14 determines whether the generated CID data matches the CID data indicated by the ACID pointer in the search target line. If it is determined that these data match, the process proceeds to step S340. If it is determined that these data do not match, the process proceeds to step S380.
  • step S340 the verification unit 14 generates DACID data by inputting the ACID data in the search target row to the hash function.
  • step S350 the verification unit 14 determines whether the DACID data matches the DACID data in the search target row (that is, the DACID data in the time stamp tag data), and if it is determined that these data match, Proceeding to step S360, if it is determined that these data do not match, the process proceeds to step S380.
  • step S360 the verification unit 14 verifies whether the signature data in the search target row is correct signature data for other elements in the time stamp tag, that is, the time stamp authority ID, time stamp date / time data, and DACID. Determine based on the function. Here, a publicly known verification function is arbitrarily used. If the verification unit 14 determines that the signature data in the verification target line is correct signature data, the verification unit 14 proceeds to step S370. If the verification unit 14 determines that the signature data in the verification target line is incorrect signature data, the process proceeds to step S370. The process proceeds to S380.
  • step S370 the verification unit 14 determines that the data in the verification target row is correct (that is, the verification is successful), and records determination data to that effect in the verification target row.
  • step S380 the verification unit 14 determines that there is an error in the data in the verification target row (that is, the verification has failed), and records determination data to that effect in the verification target row.
  • the CP data generation unit 136 may output only data that has been successfully verified from the content package data to the user terminal 40 in step S230 described above. Further, the contents for which the verification process has failed may be repeated from the CD data creation process in step S30 of FIG.
  • the content sharing server 10 outputs the content data from the plurality of user terminals 40 when the time stamp is given to the content data. Output to the user terminal 40 other than 40.
  • the date and time is after the date and time indicated by the time stamp. You can claim to be the creator of content data.
  • the content sharing server 10 can protect content data that is disclosed to a third party other than the creator of the content data.
  • the content sharing server 10 outputs the content data to the user terminal 40 that has output the content data even if the time stamp is not given to the content data.
  • the creator of the content data can confirm the content of the content data even when the time stamp is not given to the content data.
  • the content sharing server 10 requests the time stamp giving server 20 to collectively give a time stamp to the content data given from the user terminal 40 within a predetermined time. Therefore, since the content sharing server 10 can reduce the number of times of requesting a time stamp, compared to the case of requesting a time stamp every time content data is received from the user terminal 40, the processing of the content sharing server 10 The burden can be reduced.
  • the content sharing server 10 outputs the time stamp tag data attached to the content data in addition to the content data to the user terminal 40 of the requester, so that the requester confirms the content of the time stamp tag data. I can do it.
  • the request data generation unit 135 outputs the time stamp request data to the time stamp assigning server 20 and then the next time stamp request data until time stamp tag data is given from the time stamp assigning server 20. Is not output.
  • the ACID data generation unit 134 includes a CID data generation unit between the time when the request data generation unit 135 outputs the time stamp request data to the time stamp assignment server 20 and the time when the request data generation unit 135 receives the time stamp tag data.
  • ACID data is generated by concatenating the CID data given from 133.
  • the request data generation unit 135 inputs the ACID data to the hash function to generate DACID data, and the time stamp grant server 20 generates the DACID data and the next time stamp request data. Output to.
  • the state management (for example, time stamp status data management, etc.) becomes easy.
  • the CID data generation unit 133 outputs the CID data directly to the request data generation unit 135, and the request data generation unit 135 requests the time stamp tag server for time stamp tag data for each CID data. . That is, the content sharing server 10 requests a time stamp from the time stamp giving server 20 every time content data is given from the user terminal 40.
  • the content sharing server 10 can reduce the difference between the time when the content data is received and the time when the time stamp is issued, and a third party after uploading the content data. It is possible to reduce the waiting time until it is released.
  • the requester inputs whether or not the time stamp tag data is necessary to the user terminal 40 when requesting browsing of the content data.
  • the user terminal 40 includes the data indicating whether or not the time stamp tag data is necessary in the browsing request data described above, and outputs the data to the content sharing server 10.
  • the CP data generation unit 136 generates CP data including the time stamp tag data and the content data when the browsing request data includes data indicating that the time stamp tag data is necessary, and the user terminal 40 of the requester. Output to.
  • the content sharing server 10 can output time stamp tag data to a requester who needs time stamp tag data.
  • the content sharing server 10 can separate the content storage and sharing service from the content guarantee service (guaranteed service using a time stamp) to provide a service with a separate contract.
  • the content sharing server 10 prepares a type 1 contract that obtains a time stamp by default and a type 2 contract that does not obtain a time stamp by default, and selects either type when contracting with the user 41. Let The result of this selection is recorded in, for example, the account management table described above.
  • the type 1 contractor inputs time stamp unnecessary data (flag) to the user terminal 40 if the content data does not require a time stamp. For example, the user terminal 40 displays a “time stamp unnecessary” check box on the display 401, and if the type 1 contractor does not require a time stamp, the user terminal 40 checks the check box. When time stamp unnecessary data is input, the user terminal 40 outputs the time stamp unnecessary data to the content sharing server 10 together with the content data. If the content data includes time stamp unnecessary data, the content sharing server 10 does not request the time stamp from the time stamp assigning server 20, and if the content data does not include time stamp unnecessary data, the content sharing server 10 defaults. Next, a time stamp is requested from the time stamp assigning server 20.
  • the request data generation unit 135 does not include the CID data obtained from the content data in the DACID if the content data includes the time stamp unnecessary data, and the content data includes the time stamp unnecessary data. If not, CID data obtained from the content data is included in DACID.
  • the type 2 contractor when uploading content data, if a time stamp is required for the content data, the type 2 contractor inputs time-stamp required data (flag) to the user terminal 40. For example, the user terminal 40 displays a “time stamp required” check box on the display 401, and a type 2 contractor checks the check box if a time stamp is required. When the time stamp necessary data is input, the user terminal 40 outputs the time stamp necessary data to the content sharing server 10 together with the content data.
  • the request data generation unit 135 requests a time stamp from the time stamp assigning server 20 if the time stamp necessary data is included in the content data, and defaults if the content data does not include the time stamp necessary data. The time stamp is not requested from the time stamp giving server 20.
  • the request data generation unit 135 includes CID data obtained from the content data in the DACID, and the content data includes the time stamp necessary data. Otherwise, CID data obtained from the content data is not included in DACID.
  • FIG. 13 shows the correlation between the contract type, the flag type, and the presence / absence of a time stamp request to the time stamp assigning server 20.
  • the content sharing server 10 can request a time stamp from the time stamp assigning server 20 when the user terminal 40 that has output the content data requests acquisition of the time stamp. Therefore, it is possible to acquire a time stamp reflecting the intention of the user 41. Further, since the content sharing server 10 sets whether or not a time stamp is required by default, the user 41 need only input data to that effect to the user terminal 40 when making a request different from the default. Thereby, the content sharing server 10 can provide the user 41 with a simple designation method regarding the necessity of the time stamp. In order to generate a time stamp, a cost such as calculating a hash value of the content is required. Therefore, for a content that does not require a time stamp, this cost can be reduced.
  • the information processing system 200 includes a content sharing system 80, a time stamp assigning server (time stamp assigning unit) 20, a plurality of user terminals (user devices) 60, a plurality of content generating devices 70, and a network connecting them. 50.
  • the content sharing system 80 is held by an administrator who manages and publishes content data, and manages content data, requests a time stamp, and publishes content data with a time stamp. That is, the content sharing system 80 is a system in which the functions of the content sharing server 10 according to the first embodiment are shared by a plurality of servers.
  • the user terminal 60 is a personal computer, for example, and can be operated by different users.
  • the user terminal 60 is detachable from the content generation device 70 via a connection cable or the like.
  • the user terminal 60 acquires content data data from the content generation device 70, and a content sharing system. 80 can be transmitted.
  • the user terminal 60 may perform wireless communication with the content generation device 70.
  • the user can request the content sharing system 80 to browse the content data using the user terminal 60.
  • the content sharing system 80 outputs the content data that has received the browsing request to the user terminal 60.
  • the user terminal 60 displays the content data given from the content sharing system 80 on the display unit 65.
  • the user terminal 60 is not limited to the personal computer shown in FIG.
  • the user terminal 60 may be a television receiver, a car navigation system, a mobile phone, a game machine, a music player, a smartphone, a smart tablet, or the like.
  • the content generation device 70 is, for example, a video camera, and can generate content data, for example, image data by a user operation. Further, the content generation device 70 can transmit content data and CD data to the content sharing system 80. The content generation device 70 can be attached to and detached from the user terminal 60 via a connection cable or the like. The content generation device 70 can transmit content data to the user terminal 60 when connected to the user terminal 60.
  • the content generation device 70 may be any device as long as it can generate content data, communicate with the content sharing system 80, and be attached to and detached from the user terminal 60.
  • the content generation device 70 may be a mobile phone, a smartphone, a smart tablet, or the like.
  • the user terminal 60 includes a storage unit 61, a communication unit 62, a connection detection unit 63, an input operation unit 64, a display unit 65, and a control unit 66.
  • the user terminal 60 has various hardware configurations such as a CPU, ROM, RAM, hard disk, communication device, keyboard, mouse, connector not shown in the figure, and display, and the CPU reads a program stored in the ROM. By executing it, various processes are performed.
  • the ROM stores programs for realizing the storage unit 61, the communication unit 62, the connection detection unit 63, the input operation unit 64, the display unit 65, and the control unit 66 in the user terminal 60.
  • the connector is a part to which a connection cable is connected.
  • the storage unit 61 stores data necessary for the user terminal 60 to perform various processes, such as a program, image data, audio data, various public keys, various public functions (for example, the hash function described above), and the like.
  • the storage unit 61 stores identification data for identifying the user of the user terminal 60, for example, a user ID.
  • the communication unit 62 communicates with the content sharing system 80 via the network 50.
  • the communication unit 62 communicates with the content generation device 70 when the content generation device 70 is connected.
  • the connection detection unit 63 detects that the content generation device 70 is connected, and outputs connection detection data indicating that to the control unit 66.
  • the input operation unit 64 is, for example, a keyboard and a mouse, and outputs input operation data corresponding to the input operation by the user to the control unit 66.
  • the display unit 65 is a so-called display and presents (outputs) various image data and audio data.
  • the control unit 66 controls each component of the user terminal 60, and also functions as a content acquisition unit 661, a content summary data generation unit (CD data generation unit) 662, a communication target data determination unit 663, and a verification unit 664.
  • the content acquisition unit 661 acquires content data from the content generation device 70 via the communication unit 62.
  • the content summary data generation unit 662 inputs the content data to the hash function to generate a hash value of the content data, that is, CD data.
  • the communication target data determination unit 663 determines communication target data to be communicated with the content sharing system 80 from the content data and the CD data.
  • the communication target data is given the content of the communication target data, that is, status data relating to the current communication state.
  • the verification unit 664 verifies whether the content package data (CP data) provided from the content sharing server 80 is appropriate.
  • the content generation device 70 includes a storage unit 71, a communication unit 72, an imaging unit 73, an input operation unit 74, a display unit 75, and a control unit 76.
  • the content generation device 70 includes various hardware configurations such as a CPU, a ROM, a RAM, an imaging device, a communication device, various buttons such as an imaging button, a touch panel, a connector not shown in the drawing, and a display. Various processes are performed by reading and executing the program stored in.
  • the ROM stores a program for realizing the storage unit 71, the communication unit 72, the imaging unit 73, the input operation unit 74, the display unit 75, and the control unit 76 in the content generation device 70.
  • the connector is a part to which a connection cable is connected.
  • the storage unit 71 stores data necessary for the content generation apparatus 70 to perform various processes, such as programs, image data, audio data, various public keys, various public functions (for example, the above-described hash function), and the like. .
  • the storage unit 71 stores identification data for identifying the content generation device 70, for example, a MAC address.
  • the communication unit 72 performs wireless communication with the content sharing system 80 via the network 50. In addition, the communication unit 72 detects the width of the communication band with the content sharing system 80 and outputs communication band data regarding the detection result to the control unit 76.
  • the communication unit 72 communicates with the user terminal 60 when the user terminal 60 is connected.
  • the image capturing unit 73 captures the periphery of the content generation device 70 to generate image data, that is, content data, and outputs the image data to the control unit 76.
  • the input operation unit 74 is, for example, various buttons and a touch panel, and outputs input operation data corresponding to the input operation by the user to the control unit 76.
  • the display unit 75 is a so-called display and presents (outputs) various image data.
  • the control unit 76 controls each component of the content generation device 70, and also functions as a content acquisition unit 761, a content summary data generation unit (CD data generation unit) 762, and a communication target data determination unit 763.
  • the content acquisition unit 761 causes the imaging unit 73 to generate content data and acquires content data from the imaging unit 73.
  • the content summary data generation unit 762 generates a hash value of content data, that is, CD data by inputting the content data into a hash function.
  • the communication target data determination unit 763 determines communication target data to be a target of wireless communication with the content sharing system 80 among the content data and the CD data.
  • the communication target data is given the content of the communication target data, that is, status data relating to the current communication state.
  • the content sharing system 80 is configured such that the functions of the content sharing server 10 according to the first embodiment are shared by a plurality of servers. That is, the content sharing system 80 includes a web server 81, a storage server 82, a database server 83, and a time stamp acquisition engine 84.
  • the web server (first information processing apparatus) 81 includes a storage unit 810, a communication unit 811, and a control unit 812.
  • the web server 81 has various hardware configurations such as a CPU, a ROM, a RAM, a hard disk, and a communication device.
  • the CPU reads and executes a program stored in the ROM to perform various processes. . That is, the ROM stores a program for causing the web server 81 to realize the storage unit 810, the communication unit 811, and the control unit 812.
  • the storage unit 810 stores various data necessary for the web server 81 to perform various processes, such as programs, image data, audio data, various public keys, various public functions (for example, the hash function described above), and the like. To do.
  • the storage unit 810 stores a MAC address related table that records a user ID and a MAC address in association with each other.
  • the storage unit 810 stores a CI data association table that records content information data (CI data) and random number data in association with each other.
  • CI data is a combination of CD data and a user ID. That is, the CI data of the second embodiment is simplified more than the CI data of the first embodiment (see FIG. 6).
  • the random number data is association data for associating content data with CD data (specifically, CD data in CI data).
  • the storage unit 810 stores an unauthorized processing determination table shown in FIG.
  • the fraud processing determination table records the types of fraud processing and the contents of fraud processing in association with each other.
  • the fraud processing is executed when the content data sent (posted) by the user is fraudulent (that is, when the content data posted by the user approximates content data owned by another user).
  • Unauthorized processing is divided into “notification to the user who owns the appropriate content data” and “rejection of posting of unauthorized content data”, and whether or not to execute these categories for each type of unauthorized processing. Different. Note that what type of fraud processing is executed may be arbitrarily determined by the web server 81 or may be arbitrarily determined by a user who has posted appropriate content data.
  • the communication unit 811 communicates with the user terminal 60 and the content generation device 70 via the network 50 and also communicates with other components of the content sharing system 80.
  • the control unit 812 also functions as a user request processing unit 813, a state determination unit 814, a content summary data generation unit 815, a content information data generation unit 816, and a fraud determination unit 817. To do.
  • the user request processing unit 813 is a part that functions as a window for the user, performs processing according to a request from the user, and performs a response. For example, the user request processing unit 813 performs login acceptance, content data posting acceptance, content data disclosure, and the like.
  • the state determination unit 814 determines the communication state between the content sharing system 80 and the content generation device 70 based on the state data.
  • a content summary data generation unit (CD data generation unit) 815 generates CD data by inputting content data into a hash function.
  • the content information data generation unit (CI data generation unit) 816 generates CI data by combining the user ID with the CD data. That is, the CI data of the second embodiment is simplified more than the CI data of the first embodiment (see FIG. 6).
  • the fraud determination unit 817 determines whether the content data posted by the user is appropriate.
  • the storage server (third information processing apparatus) 82 includes a storage unit 820, a communication unit 821, and a control unit 822, as shown in FIG.
  • the storage server 82 has various hardware configurations such as a CPU, ROM, RAM, hard disk, and communication device.
  • the CPU reads out and executes a program stored in the ROM, and performs various processes. . That is, the ROM stores a program for realizing the storage unit 820, the communication unit 821, and the control unit 822 in the storage server 82.
  • the storage unit 820 stores various data necessary for the storage server 82 to perform various processes, such as a program.
  • the storage unit 820 stores content data, time stamp tag data, and ACID data (list).
  • the time stamp tag data and ACID data are the same as those in the first embodiment. That is, the time stamp tag data includes a time stamp authority ID, time stamp date / time data, DACID data, and signature data.
  • the DACID data is a hash value of ACID data.
  • ACID data is a collection of CID data, that is, a list of CID data
  • CID data is a hash value of CI data.
  • the communication unit 821 communicates with other components of the content sharing system 80.
  • the control unit 822 controls each component of the storage server 82.
  • the database server (fourth information processing apparatus) 83 includes a storage unit 830, a communication unit 831, and a control unit 832.
  • the database server 83 has various hardware configurations such as a CPU, ROM, RAM, hard disk, and communication device.
  • the CPU reads out and executes programs stored in the ROM, and performs various processes. . That is, the ROM stores a program for causing the database server 83 to realize the storage unit 830, the communication unit 831, and the control unit 832.
  • the storage unit 830 stores various data necessary for the database server 83 to perform various processes, such as programs.
  • the storage unit 830 stores the content information management table shown in FIG. 21 and the time stamp information management table shown in FIG.
  • the content information management table records content ID, user ID, content path data, CD data, feature data, reception date / time data, and time stamp ID in association with each other.
  • the content ID is identification information for identifying content data
  • the user ID is identification information for identifying a user.
  • the feature amount data indicates the feature amount of the content data, and is calculated by, for example, a SIFT algorithm. Details will be described later.
  • the content path data indicates the location (address) of the content data in the storage server 82.
  • the reception date / time data indicates the date / time when the web server 81 received the content data.
  • the time stamp ID is identification information for identifying time stamp tag data.
  • the time stamp information management table records a time stamp ID, time stamp path data, ACID path data, DACID data, and time stamp date / time data (time stamp time data) in association with each other.
  • the time stamp path data indicates the location (address) of the time stamp tag in the storage server 82.
  • the ACID path data indicates the location (address) of the ACID data in the storage server 82.
  • the DACID data is a hash value of ACID data.
  • the time stamp date / time data indicates the date / time when the time stamp was given to the content data.
  • the content information management table and the time stamp information management table are associated by a time stamp ID. Therefore, the database server 83 stores the content ID, the content path data, and the time stamp path data in association with each other.
  • the communication unit 831 communicates with other components of the content sharing system 80.
  • the control unit 832 controls each component of the database server 83.
  • the time stamp acquisition engine (second information processing apparatus) 84 includes a storage unit 840, a communication unit 841, and a control unit 842.
  • the time stamp acquisition engine 84 has various hardware configurations such as a CPU, a ROM, a RAM, a hard disk, and a communication device.
  • the CPU reads out and executes a program stored in the ROM, thereby performing various processes. I do. That is, the ROM stores a program for causing the time stamp acquisition engine 84 to realize the storage unit 840, the communication unit 841, and the control unit 842.
  • the storage unit 840 stores various data necessary for the time stamp acquisition engine 84 to perform various processes, such as a program.
  • the storage unit 840 stores a time stamp flag indicating whether or not appropriate time stamp tag data has been acquired.
  • the communication unit 841 communicates with other components of the content sharing system 80.
  • the control unit 842 controls each component of the time stamp acquisition engine 84, a content information summary data generation unit (CID data generation unit) 843, an integrated content information summary data generation unit (ACID data generation unit) 844, and It also functions as the request data generation unit 845.
  • the CID data generation unit 843 generates CI data hash values, that is, CID data, by inputting the CI data into the hash function.
  • the ACID data generation unit 844 generates data in which CID data is aggregated, that is, ACID data.
  • the request data generation unit 845 generates DACID data by inputting ACID data to the hash function.
  • the request data generation unit 845 outputs time stamp request data for requesting a time stamp and DACID data to the communication unit 841.
  • the communication unit 841 transmits these data to the time stamp assignment server 20. Therefore, the request data generation unit 845 requests a time stamp from the time stamp assigning server 20.
  • step S400 the imaging unit 73 generates image data, that is, content data, and outputs the image data to the content acquisition unit 761.
  • the content acquisition unit 761 stores content data in the storage unit 71.
  • the content data may be provided with personal information data indicating the user's personal information (for example, position information indicating the shooting location). This personal information data is stored, for example, in the Exif header of the content data.
  • step S410 the content acquisition unit 761 determines whether or not the content generation device 70 has a resource for generating CD data, that is, the CD data generation unit 762. If the content acquisition unit 761 determines that the content generation device 70 has the CD data generation unit 762, the content acquisition unit 761 proceeds to step S420, and determines that the content generation device 70 does not have the CD data generation unit 762. If so, the process proceeds to step S450.
  • step S420 the CD data generation unit 762 acquires content data from the storage unit 71, and inputs the content data to a hash function to generate CD data.
  • the CD data generation unit 762 stores the content data and the CD data in the storage unit 71 in association with each other.
  • step S430 the communication unit 72 detects the width of the communication band with the web server 81, and outputs the communication band data related to the detection result to the communication target data determination unit 763.
  • the communication target data determination unit 763 determines whether or not the communication band is larger than a predetermined threshold T. If the communication target data determination unit 763 determines that the communication bandwidth is greater than the threshold T, the communication target data determination unit 763 proceeds to step S440. If the communication target data determination unit 763 determines that the communication bandwidth is equal to or smaller than the threshold T, the communication target data determination unit 763 The process proceeds to S470.
  • the communication target data determination unit 763 determines the content data and the CD data as communication target data, and includes communication including the MAC address of the content generation device 70, the content data, the CD data, and the status data indicating “1”. Generate target data.
  • the communication target data determination unit 763 outputs the communication target data to the communication unit 72, and the communication unit 72 transmits the communication target data to the web server 81. Thereafter, the content generation device 70 ends the process. Therefore, when the status data is “1”, the status data indicates a communication status in which the content data and the CD data are transmitted to the web server 81.
  • step S450 the communication unit 72 detects the width of the communication band with the web server 81, and outputs the communication band data related to the detection result to the communication target data determination unit 763.
  • the communication target data determination unit 763 determines whether or not the communication band is larger than a predetermined threshold T. If the communication target data determining unit 763 determines that the communication band is larger than the threshold value T, the process proceeds to step S460. On the other hand, when the communication target data determination unit 763 determines that the communication bandwidth is equal to or smaller than the threshold T, the storage unit 71 associates an untransmitted flag indicating that the content data has not been transmitted with the content data. And finish the process. In the latter case, the content data is transmitted to the web server 81 when the content generation device 70 is connected to the user terminal 60.
  • step S460 the communication target data determination unit 763 determines the content data as communication target data, and generates communication target data including the MAC address of the content generation device 70, the content data, and status data indicating “0”.
  • the communication target data determination unit 763 outputs the communication target data to the communication unit 72, and the communication unit 72 transmits the communication target data to the web server 81. Thereafter, the content generation device 70 ends the process. Therefore, when the state data is “0”, the state data indicates a communication state in which the content data is transmitted to the web server 81.
  • step S470 the communication target data determination unit 763 generates random number data as association data for associating content data and CD data.
  • the communication target data determination unit 763 determines the CD data as communication target data, and generates communication target data including the MAC address of the content generation device 70, the CD data, a random number, and status data indicating “2”. To do.
  • the communication target data determination unit 763 outputs the communication target data to the communication unit 72, and the communication unit 72 transmits the communication target data to the web server 81. Therefore, when the status data is “2”, the status data indicates a communication status in which CD data and random number data are transmitted to the web server 81.
  • step S490 the communication target data determining unit 763 stores the content data, CD data, and random number data in the storage unit 71 in association with each other. That is, the communication target data determination unit 763 adds random number data to the content data.
  • step S500 the communication unit 72 detects again the width of the communication band with the web server 81, and outputs the communication band data related to the detection result to the communication target data determination unit 763.
  • the communication target data determination unit 763 determines whether or not the communication band is larger than a predetermined threshold T. If the communication target data determination unit 763 determines that the width of the communication band is larger than the threshold value T, the process proceeds to step S510.
  • the storage unit 71 associates an untransmitted flag indicating that the content data has not been transmitted with the content data. And finish the process. In the latter case, the content data is transmitted to the web server 81 when the content generation device 70 is connected to the user terminal 60.
  • the communication target data determination unit 763 determines the content data as communication target data, and receives the MAC address of the content generation device 70, the content data, a random number associated with the content data, and status data indicating “3”. Generate communication target data including.
  • the communication target data determination unit 763 outputs the communication target data to the communication unit 72, and the communication unit 72 transmits the communication target data to the web server 81. Thereafter, the content generation device 70 ends the process. Therefore, when the status data is “3”, the status data indicates a communication status in which the content data and the random number data are transmitted to the web server 81.
  • the content generation device 70 can transmit CD data as communication target data to the web server 81, the content sharing system 80 can save time and effort for generating CD data. Thereby, the processing load of the content sharing system 80 is reduced. Further, the content generation device 70 determines communication target data based on the resources of the content generation device 70 and the width of the communication band with the web server 81. Therefore, the content generation device 70 can transmit the communication target data to the web server 81 more reliably and quickly. Further, the content generation device 70 automatically transmits at least one of content data and CD data when content data is generated. Therefore, the content generation device 70 can narrow the interval between the date and time when the content data was generated and the date and time guaranteed by the time stamp, that is, the date and time when the time stamp was given.
  • step S520 the content acquisition unit 661 determines whether connection detection data is given from the connection detection unit 63. If the content acquisition unit 661 determines that connection detection data is provided, the process proceeds to step S530. If the content acquisition unit 661 determines that connection detection data is not provided, the process ends.
  • step S530 the content acquisition unit 661 accesses the content generation device 70 via the communication unit 62, and reads content data and various data associated with the content data from the storage unit 71.
  • the content acquisition unit 661 stores these data in the storage unit 61.
  • step S540 the content acquisition unit 661 determines whether there is untransmitted content data, that is, content data associated with an untransmitted flag.
  • the content acquisition unit 661 proceeds to step S550 if it is determined that there is untransmitted content data, and ends the process if it is determined that there is no untransmitted content data.
  • the user terminal 60 performs the processing from step S550 on the untransmitted content data.
  • step S550 the content acquisition unit 661 determines whether or not the setting for deleting the personal information data accompanying the content data has been made. Note that the user can perform such settings by an input operation using the input operation unit 64.
  • the setting contents are stored in the storage unit 61. If the content acquisition unit 661 determines that the setting has been made, the process proceeds to step S560. If the content acquisition unit 661 determines that the setting has not been made, the process proceeds to step S570.
  • step S560 the content acquisition unit 661 deletes the personal information data from the content data. Note that the processing of steps S550 to S560 may be performed by the content generation device.
  • step S570 the content acquisition unit 661 determines whether the CD data has been calculated, that is, whether the CD data is associated with the content data. If the content acquisition unit 661 determines that the CD data has been calculated, the process proceeds to step S660. If the content acquisition unit 661 determines that the CD data has not been calculated, the process proceeds to step S580.
  • step S580 the content acquisition unit 661 determines whether or not the user terminal 60 has a CD data generation resource, that is, the CD data generation unit 662.
  • the content acquisition unit 661 determines that the user terminal 60 has the CD data generation unit 662
  • the content acquisition unit 661 proceeds to step S ⁇ b> 590 and determines that the user terminal 60 does not have the CD data generation unit 662.
  • step S620 the process proceeds to step S620.
  • step S590 the CD data generation unit 662 acquires content data from the storage unit 61, and inputs the content data to the hash function to generate CD data.
  • the CD data generation unit 662 stores the content data and the CD data in the storage unit 61 in association with each other.
  • step S600 the communication target data determination unit 663 determines whether or not the setting for transmitting the content data and the CD data to the web server 81 at the same time is made. Note that the user can perform such settings by an input operation using the input operation unit 64. The setting contents are stored in the storage unit 61. If the communication target data determination unit 663 determines that the setting is made, the process proceeds to step S610. If the communication target data determination unit 663 determines that the setting is not performed, the process proceeds to step S630.
  • step S610 the communication target data determining unit 663 determines the content data and CD data as communication target data, and generates communication target data including user ID, content data, CD data, and status data indicating “1”. .
  • the communication target data determination unit 663 outputs the communication target data to the communication unit 62, and the communication unit 62 transmits the communication target data to the web server 81. Thereafter, the user terminal 60 ends the process.
  • step S620 the communication target data determination unit 663 determines the content data as the communication target data, and generates communication target data including the user ID, the content data, and the status data indicating “0”.
  • the communication target data determination unit 663 outputs the communication target data to the communication unit 62, and the communication unit 62 transmits the communication target data to the web server 81. Thereafter, the content generation device 70 ends the process.
  • step S630 the communication target data determination unit 663 generates random number data as association data for associating content data and CD data.
  • step S640 the communication target data determination unit 663 determines the CD data as the communication target data, and generates communication target data including the user ID, the CD data, the random number, and the state data indicating “2”.
  • the communication target data determination unit 663 outputs the communication target data to the communication unit 62, and the communication unit 62 transmits the communication target data to the web server 81.
  • step S650 the communication target data determination unit 663 stores the content data, CD data, and random number data in the storage unit 61 in association with each other. That is, the communication target data determining unit 663 adds random number data to the content data.
  • step S660 the communication target data determining unit 663 determines the content data as the communication target data, and transmits the communication target data including the user ID, the content data, the random number associated with the content data, and the state data indicating “3”. Generate.
  • the communication target data determination unit 663 outputs the communication target data to the communication unit 62, and the communication unit 62 transmits the communication target data to the web server 81.
  • the user terminal 60 can transmit the CD data as the communication target data to the web server 81, the content sharing system 80 can save the trouble of generating the CD data. Thereby, the processing load of the content sharing system 80 is reduced. Further, the user terminal 60 determines communication target data based on the resource of the user terminal 60 and the data transmitted from the content generation device 70 to the web server 81. Therefore, the user terminal 60 can transmit the communication target data to the web server 81 more reliably and quickly. The user terminal 60 automatically transmits at least one of content data and CD data when the content generation device 70 is connected. Therefore, the user terminal 60 can narrow the interval between the date and time when the content data was generated and the date and time guaranteed by the time stamp, that is, the date and time when the time stamp was given. Further, the user terminal 60 can delete the personal information data accompanying the content data according to the setting by the user, so that the personal information data is prevented from being registered in the content sharing system 80 against the user's intention. be able to.
  • step S ⁇ b> 670 the communication unit 811 receives the communication target data and outputs it to the state determination unit 814.
  • step S680 the state determination unit 814 determines whether the state data included in the communication target data indicates “0”. If the state determination unit 814 determines that the state data indicates “0”, the process proceeds to step S690. If the state determination unit 814 determines that the state data indicates other than “0”, the process proceeds to step S720.
  • step S690 the CD data generation unit 815 generates CD data by inputting the content data included in the communication target data into the hash function.
  • step S700 the CI data generation unit 816 acquires the user ID from the communication target data, and generates the CI data by combining the user ID and the CD data.
  • the CD data is calculated in step S690 when the process of step 690 is performed, and is included in the communication target data when the process of step S720 is performed.
  • the CI data generation unit 816 acquires the user ID corresponding to the MAC address from the MAC address related table, and combines the user ID and the CD data to obtain the CI data. Generate.
  • the CI data generation unit 816 associates content data with CI data.
  • step S710 the fraud determination unit 817 performs fraud detection processing shown in FIG.
  • the fraud detection process is generally a process for determining whether or not the content data is appropriate (whether or not it is approximate to content data owned by another user). Thereafter, the web server 81 ends the process.
  • step S720 the state determination unit 814 determines whether or not the state data included in the communication target data indicates “1”. If it is determined that the state data indicates “1”, the state determination unit 814 proceeds to step S700, and if it is determined that the state data indicates “2” or “3”, the state determination unit 814 proceeds to step S730.
  • step S730 the state determination unit 814 determines whether or not the state data included in the communication target data indicates “2”. If it is determined that the state data indicates “2”, the state determination unit 814 proceeds to step S740. If it is determined that the state data indicates “3”, the state determination unit 814 proceeds to step S760.
  • step S740 the CI data generation unit 816 acquires the user ID and the CD data from the communication target data, and generates the CI data by combining the user ID and the CD data.
  • the CI data generation unit 816 acquires the user ID corresponding to the MAC address from the MAC address related table, and combines the user ID and the CD data to obtain the CI data. Generate.
  • step S750 the CI data generation unit 816 associates the random number data included in the communication target data with the CI data and registers them in the CI data association table. Thereafter, the web server 81 ends the process.
  • step S760 the CI data generation unit 816 searches the CI data related table for random number data included in the communication target data.
  • step S770 the CI data generation unit 816 determines whether the random number data included in the communication target data is recorded in the CI data related table. If the CI data generation unit 816 determines that the random number data is recorded in the CI data association table, the process proceeds to step S780. If the CI data generation unit 816 determines that the random number data is not recorded in the CI data related table, the CI data generation unit 816 determines that the random number data is invalid and ends the process.
  • step S780 the CI data generation unit 816 acquires CI data corresponding to the random number data from the CI data related table, and associates the content data included in the communication target data with the CI data.
  • step S790 the CI data generation unit 816 deletes the random number data and the CI data from the CI data related table.
  • step S800 fraud determination unit 817 performs fraud detection processing shown in FIG. Thereafter, the web server 81 ends the process.
  • the fraud determination unit 817 calculates the feature amount of the content data.
  • the feature amount of the content data is calculated by, for example, a SIFT (Scale Invariant Feature Transform) algorithm.
  • the feature amount calculated by the SIFT algorithm has a 128-dimensional vector value, and is characterized by being robust against content data rotation, scale change, illumination change, and the like. For example, even if resizing or clipping is performed on content data, the feature amount does not change much.
  • the hash value of content data that is, CD data may change greatly even if the content data hardly changes.
  • the SIFT algorithm is described in, for example, “David G. Lowe, 'Distinctive image features from scale scale-invariant keypoints,” International Journal of Computer, 91, 200 2 p. ing.
  • step S830 the fraud determination unit 817 accesses the database server 83 and acquires the content information management table. Then, the fraud determination unit 817 determines the degree of approximation between the calculated feature amount data, that is, the comparison target feature amount data, and the feature amount data stored in any row of the content information management table, that is, the reference feature amount data. calculate.
  • the degree of approximation indicates the degree to which feature quantity data is approximated.
  • the fraud determination unit 817 calculates a difference value between the comparison target feature amount data and the reference feature amount data for each dimension, and sets a value corresponding to the arithmetic average value of these difference values as the degree of approximation. In this case, the degree of approximation decreases as the arithmetic average value increases.
  • the fraud determination unit 817 determines whether or not the degree of approximation exceeds a predetermined threshold, and when it is determined that the degree of approximation exceeds the threshold, the process proceeds to step S870, and when the degree of approximation is determined to be equal to or less than the threshold. In step S850, the process proceeds to step S850.
  • step S850 the fraud determination unit 817 determines whether there is reference feature amount data that has not been compared with the comparison target feature amount data. If the fraud determination unit 817 determines that there is a reference feature amount that is not compared with the comparison target feature amount data, the fraud determination unit 817 returns to step S830 and compares all the reference feature amount data with the comparison target feature amount data. If so, the process proceeds to step S860.
  • step S860 the user request processing unit 813 registers the content data transmitted from the user in the content information management table. Specifically, the user request processing unit 813 performs content registration processing shown in FIG.
  • step S870 the fraud determination unit 817 executes preset fraud processing among the fraud processing registered in the fraud processing determination table.
  • a setting may be arbitrarily performed by the web server 81, but may be arbitrarily set by a user (appropriate user) who has posted appropriate content data.
  • the notification to the appropriate user is performed, for example, by transmitting data (for example, image data or audio data) indicating that the illegal content data has been received to the user terminal 60 of the appropriate user. If the posting is not rejected, the same processing as in step S860 is performed. Thereafter, the fraud determination unit 817 ends the fraud detection process.
  • the web server 81 can more reliably prevent unauthorized posting by the user by performing the fraud detection process in this way. For example, the following cases are assumed as unauthorized postings. In other words, the content data properly posted by the user 40 a by the user 40 b is illegally used at a location different from the content sharing system 80. Then, the user 40c tried to post the content data to the content sharing system 80. In this case, the above-described fraud process is executed. Thereby, unauthorized posting by the user 40c can be eliminated.
  • step S880 the user request processing unit 813 transmits the content data included in the communication target data to the storage server 82, and the control unit 822 of the storage server 82 stores the content data in the storage unit 820.
  • the control unit 822 transmits content path data indicating the location of the content data to the web server 81.
  • step S890 the user request processing unit 813 assigns a content ID to the content data. Further, the user request processing unit 813 generates reception date / time data indicating the date / time when the content data is received (specifically, the date / time when the communication target data including the content data is received). In step S ⁇ b> 910, the user request processing unit 813 associates the content ID, the user ID, the content path data, the CD data, the feature amount data, and the reception date / time data, and transmits them to the database server 83. The control unit 832 of the database server 83 records these data in association with each other in the content information management table. At this time, the time stamp ID is set to an initial value (for example, “0”).
  • time stamp acquisition engine 84 performs the processing shown in FIG. 29 at regular intervals. Further, the time stamp acquisition engine 84 performs processing regardless of processing by other servers constituting the content sharing system 80 and requests by users.
  • step S920 the CID data generation unit 843 accesses the content information management table in the database server 83.
  • step S930 the CID data generation unit 843 determines whether or not there are one or more rows (entries) in which the time stamp ID is “0” in the content information management table. If the CID data generation unit 843 determines that there is one or more entries with the time stamp ID “0”, the process proceeds to step S940. If it is determined that there is no entry with the time stamp ID “0”, The process proceeds to S931. The CID data generation unit 843 performs the following processing based on the entry whose time stamp ID is “0”.
  • step S931 the CID data generation unit 843 determines whether a time stamp flag is set. When it is determined that the time stamp flag is set, the CID data generation unit 843 refers to the ACID path data (this ACID path data is given in step S980 described later), and the ACID data is stored in the storage server. 82. Thereafter, the CID data generation unit 843 proceeds to step S990. On the other hand, if the CID data generation unit 843 determines that the time stamp flag is cleared, the process ends.
  • step S940 the CID data generation unit 843 determines whether a time stamp flag is set. If it is determined that the time stamp flag is set, the CID data generation unit 843 proceeds to step S960, and if it is determined that the time stamp flag is cleared, the process proceeds to step S950.
  • step S950 the ACID data generation unit 844 generates empty ACID data.
  • step S960 the CID data generation unit 843 generates CI data by combining the user ID and the CD data in the entry, and generates the CID data by inputting the CI data to the hash function.
  • step S970 the ACID data generation unit 844 adds CID data to the end of the ACID data.
  • step S 980 the ACID data generation unit 844 transmits ACID data to the storage server 82.
  • the control unit 822 of the storage server 82 stores ACID data in the storage unit 820.
  • the control unit 822 transmits ACID path data indicating the location of the ACID data to the time stamp acquisition engine 84.
  • the ACID data generation unit 844 stores the ACID path data in the storage unit 840.
  • step S990 the request data generation unit 845 generates DACID data by inputting the ACID data to the hash function.
  • the request data generation unit 845 transmits the time stamp request data requesting the time stamp and the DACID data to the time stamp assigning server 20.
  • the time stamp assigning server 20 generates time stamp tag data and transmits it to the time stamp acquisition engine 84.
  • step S1010 the request data generation unit 845 determines whether time stamp tag data has been received. If the request data generation unit 845 determines that the time stamp tag data has been acquired, the process proceeds to step S1020. If the request data generation unit 845 determines that the time stamp tag data has not been received, the process proceeds to step S1070.
  • the request data generation unit 845 verifies the time stamp tag data. Specifically, the request data generation unit 845 determines whether the signature data in the time stamp tag data is appropriate based on the public key of the time stamp authority 30 acquired in advance from the time stamp authority 30. If the request data generation unit 845 determines that the signature data in the time stamp tag data is appropriate, it determines that the time stamp tag data has been successfully verified.
  • step S1030 the request data generation unit 845 determines whether the time stamp tag data has been successfully verified. If the request data generation unit 845 determines that the time stamp tag data has been successfully verified, the process proceeds to step S1040. If the request data generation unit 845 determines that the time stamp tag data has failed to be verified, the process proceeds to step S1070.
  • step S1040 the request data generation unit 845 transmits the time stamp tag data to the storage server 82.
  • the control unit 822 of the storage server 82 stores the time stamp tag data in the storage unit 820.
  • the control unit 822 transmits time stamp path data indicating the location of the time stamp tag data to the time stamp acquisition engine 84.
  • the request data generation unit 845 stores the time stamp path data in the storage unit 840.
  • the request data generation unit 845 assigns a time stamp ID to the time stamp tag data. Further, the request data generation unit 845 acquires time stamp date / time data from the time stamp tag data. The request data generation unit 845 associates the time stamp ID, the time stamp path data, the ACID path data, the DACID data, and the time stamp date / time data and transmits them to the database server 83. The control unit 832 of the database server 83 records these data in the time stamp information management table in association with each other.
  • step S1060 the request data generation unit 845 clears the time stamp flag. Thereafter, the time stamp acquisition engine 84 ends the process.
  • step S1070 the request data generation unit 845 sets a time stamp flag. Thereafter, the time stamp acquisition engine 84 ends the process.
  • the time stamp acquisition engine 84 can perform processing independently of other servers constituting the content sharing system 80. Thereby, even if the resource of the content sharing system 80 fluctuates, the time stamp acquisition engine 84 can reduce the variation of the time stamp acquisition date and time.
  • time stamp acquisition engine 84 since the time stamp acquisition engine 84 performs ACID data generation and time stamp request in separate steps, it is not necessary to regenerate ACID data even if time stamp acquisition or verification fails.
  • the web server 81 performs the following processing. That is, the user request processing unit 813 deletes the corresponding content data from the storage server 82 when receiving the above request.
  • the user request processing unit 813 holds other data, for example, data in the content information management table and the time stamp information management table as they are. Thereby, the user can acquire the time stamp tag data even after the content data is deleted or withdrawn.
  • the user terminal 60 transmits a user ID and content data to the web server 81.
  • the CD data generation unit 815 of the web server 81 generates CD data by inputting content data into a hash function.
  • the user request processing unit 813 searches the content information management table for a row corresponding to the user ID and the CD data. Next, the user request processing unit 813 obtains a time stamp ID from the retrieved line, and retrieves a line corresponding to this time stamp ID from the time stamp information management table. Next, the user request processing unit 813 acquires time stamp path data from the retrieved row, and acquires time stamp tag data from the storage server 82 based on the time stamp path data. Next, the user request processing unit 813 transmits the time stamp tag data to the user terminal 60. Thereby, the user can acquire the time stamp tag data.
  • the disclosure of the content data is performed in the same manner as in the first embodiment, but the content of the CP data is different. Specifically, first, the user terminal 60 transmits a content ID designated by the user to the web server 81. Thereby, the user makes a browsing request for content data.
  • the user request processing unit 813 searches the content information management table for a row corresponding to the content ID when there is a request for browsing the content data from the user.
  • the user request processing unit 813 obtains the user ID, content path data, and time stamp ID from the retrieved row.
  • the user request processing unit 813 acquires content data from the storage server 82 based on the content path data.
  • the user request processing unit 813 searches the time stamp information management table for a line corresponding to the time stamp ID, and acquires ACID path data and time stamp path data from the searched line.
  • the user request processing unit 813 acquires ACID data and time stamp tag data from the storage server 82 based on these path data.
  • the user request processing unit 813 generates CP data by packaging the acquired user ID, content data, ACID data, and time stamp tag data. Therefore, the CP data of the second embodiment is simplified more than the CP data of the first embodiment (see FIG. 8).
  • a method of packaging these data for example, a method of archiving these data as a zip file is conceivable (the same applies to the first embodiment).
  • the user request processing unit 813 transmits CP data to the user terminal 60.
  • the control unit 66 of the user terminal 60 displays content data on the display unit 65 based on the CP data.
  • a display example is shown in FIG.
  • the display unit 65 displays an icon Im2 indicating that a time stamp is given to the content data Im1 in the vicinity of the content data Im1.
  • the content sharing system 80 can strongly impress the user that the time stamp is given to the content data Im1.
  • each user terminal 60 can perform verification processing on CP data.
  • a verification server for verification may be prepared separately, and this verification server may perform the following verification processing.
  • any user terminal 60 may be a verification terminal.
  • the verification process is started by a request from the user, for example.
  • the CP data is transmitted to each user terminal 60 or the verification server, and each user terminal 60 or verification server performs the verification process on the CP data. This is different from the verification process.
  • step S1080 the verification unit 664 shown in FIG. 15 generates the verification CD data by inputting the content data in the CP data to the hash function.
  • step S1090 the verification unit 664 generates verification CID data by combining the user ID in the CP data and the verification CD data.
  • step S1100 the verification unit 664 determines whether the verification CID data exists in the ACID data in the CP data. If the verification unit 664 determines that the verification CID data exists in the ACID data in the CP data, the verification unit 664 proceeds to step S1110, and determines that the verification CID data does not exist in the ACID data in the CP data. The process proceeds to step S1140.
  • step S1110 the verification unit 664 verifies the time stamp tag data in the CP data. Specifically, the verification unit 664 determines whether the signature data in the time stamp tag data is appropriate based on the public key of the time stamp authority 30. The verification unit 664 may acquire the public key from the time stamp authority 30 in advance, or may acquire the public key from the time stamp authority 30 when performing the process of step S1110. If the verification unit 664 determines that the signature data is appropriate, the verification unit 664 determines that the time stamp tag data has been successfully verified.
  • step S1120 the verification unit 664 determines whether the time stamp tag data has been successfully verified. If the verification unit 664 determines that the time stamp verification has been successful, the process proceeds to step S1130. If the verification unit 664 determines that time stamp verification has failed, the process proceeds to step S1140.
  • step S1130 the verification unit 664 determines that the CP data has been successfully verified. Then, the verification unit 664 displays information indicating that the verification is successful, the user ID in the CP data, and the time stamp date / time data in the CP data on the display unit 65. The verification unit 664 may output these data as audio. Thereafter, the verification unit 664 ends the verification process.
  • step S1140 the verification unit 664 determines that the verification of the CP data has failed. Then, the verification unit 664 displays information indicating that the verification has failed on the display unit 65.
  • the verification server transmits information indicating that the verification has succeeded (or failed) to the user terminal 60 that has made the request.
  • the verification process can be performed even if the content sharing system 80 is temporarily stopped.
  • the content sharing system 80 can save time and effort for generating the CD data. .
  • the content generation device 70 transmits at least one of the content data and the CD data as communication target data when generating the content data, the interval between the date and time when the content data is generated and the date and time guaranteed by the time stamp is narrowed. be able to.
  • the content generation device 70 determines communication target data based on the communication band with the content sharing system 80, the communication target data can be transmitted to the content sharing system 80 more quickly and reliably. For example, when a large amount of communication target data is transmitted to the content sharing system 80 when the communication band is narrow, there is a possibility that a significant decrease in communication speed or loss of communication target data may occur. However, since the content generation device 70 determines the communication target data based on the communication band, it is possible to more reliably avoid a significant decrease in communication speed, loss of communication target data, and the like.
  • the content generation apparatus 70 transmits the CD data to the content sharing system 80 and then transmits the content data as the communication target data based on the communication band. To decide. Therefore, the content generation device 70 can transmit the content data more reliably after transmitting the CD data to the content sharing system 80.
  • the content generation device 70 when transmitting the CD data and the content data as separate communication target data, the content generation device 70 includes random number data for associating them with the communication target data. Therefore, the content sharing system 80 can easily associate the CD data and the content data.
  • the content generation device 70 includes the content of the communication target data, that is, the state data related to the communication state, in the communication target data, the content sharing system 80 can easily determine the current communication state. Can be determined.
  • the user terminal 60 acquires content data from the content generation device 70 when the content generation device 70 is connected. Then, the user terminal 60 transmits the CD data to the content sharing system 80 when the content generation device 70 has not generated CD data. Therefore, the user terminal 60 can prevent the CD data from being transmitted to the content sharing system 80 redundantly. Furthermore, since the user terminal 60 transmits at least one of content data and CD data as communication target data when the content generation device 70 is connected, the date and time when the content data was generated and the date and time guaranteed by the time stamp Can be narrowed.
  • the user terminal 60 determines the communication target data based on the data transmitted from the content generation device 70 to the content sharing system 80, the data is prevented from being transmitted to the content sharing system 80 in duplicate. can do.
  • the user terminal 60 determines the content data and random number data as communication target data. Therefore, the user terminal 60 can prevent duplicate data from being transmitted to the content sharing system 80. Furthermore, the content sharing system 80 can easily associate the CD data with the content data.
  • the content sharing system 80 can easily determine the current communication state. can do.
  • time stamp acquisition engine 84 executes processing independently of other servers, even if the resources fluctuate, it is possible to reduce variations in the time stamp acquisition time.
  • time stamp acquisition engine 84 since the time stamp acquisition engine 84 performs ACID data generation and time stamp request in separate steps, it is not necessary to regenerate ACID data even if time stamp acquisition or verification fails.
  • the content data, time stamp tag data, and ACID data are stored in a storage server 82 that is different from the database server 83 that stores information for managing these data (the management tables shown in FIGS. 20 and 21). The Therefore, the access load to the storage server 82 is reduced.
  • each management table is stored in the database server 83, the storage server 82 can be easily distributed.
  • the verification process can be performed even if the content sharing system 80 stops.
  • the content sharing system 80 can efficiently search the time stamp tag data.
  • the data constituting the CP data is stored in each management table and the storage server 82, the content data sharing system does not need to store the CP data in the storage server 82 or the like.
  • the content sharing server 10 and the time stamp assigning server 20 exist separately, but the content sharing server 10 may have the function of the time stamp assigning server 20. Conversely, the time stamp assigning server 20 may have the function of the content sharing server 10.
  • the verification process is performed in response to a request from the request data generation unit 135.
  • the verification process may be performed in response to a request from the user 41. That is, when a user who has downloaded CP data including content and a time stamp wants to confirm the validity of the time stamp, the content sharing server 10 or another verification server having only the function of the verification unit 14 is used. CP data may be transmitted to request a time stamp validity check. in this case.
  • the content sharing server 10 or the verification server determines the CP data presented by the user by the same process as the process illustrated in FIG.
  • each user terminal 40 when receiving CP data, determines whether or not the CP data is correct by the same process as the process shown in FIG.
  • the content sharing server 10 outputs all content data uploaded by the creator to the content data creator, but outputs only the content data to which the time stamp tag data is added. May be. Thereby, the processing burden of the content sharing server 10 is reduced.
  • the content sharing server 10 outputs content data with a time stamp to a third-party user terminal 40, but the user terminal 40 of the user 41 permitted to browse by the creator of the content data. Alternatively, all content data may be output.
  • the content sharing server 10 may prepare a content data management table for each user 41.
  • the content data management table may record the link to the data stored in the storage unit 12 instead of the data itself.
  • the user terminal 40 and the content sharing server 10 are connected via the network 50, but may be connected via a home network or may be directly connected.
  • the configuration of the first embodiment and the configuration of the second embodiment can be arbitrarily combined.
  • the user terminal 40 of the first embodiment may be replaced with the user terminal 60 or the content generation device 70 of the second embodiment.
  • the content sharing server 10 only needs to perform the same processing as that of the content sharing system 80, so that it is not necessary to generate CD data, for example.
  • process of deleting the personal information data performed in the second embodiment may be performed in each user terminal 40 of the first embodiment.
  • the fraud detection process performed in the second embodiment may be performed by the content sharing server 10 of the first embodiment.
  • the content sharing server 10 of the first embodiment may be replaced with the content sharing system 80 of the second embodiment.
  • the content sharing system 80 may perform steps S690 to S710 in the process shown in FIG.
  • a time stamp requesting unit that requests a time stamping unit for a time stamp for content data output from a user device;
  • An information processing apparatus comprising: a content data output unit that outputs the content data to which the time stamp has been assigned to a user device other than the user device that has output the content data.
  • the time stamp requesting unit requests the time stamp giving unit for a time stamp for data obtained by collecting a plurality of the content data.
  • the time stamp requesting unit requests the time stamp giving unit to request time stamps for content data output from the user device and identification data representing a user of the user device that has output the content data.
  • the content data output unit outputs, in addition to the content data to which the time stamp is assigned, the content data to which the time stamp is not given to a device held by a user who has outputted the content data.
  • the information processing apparatus according to any one of 1) to (3).
  • the time stamp requesting unit requests the time stamp giving unit to request a new time stamp when the time stamp is given from the time stamp giving unit after requesting the time stamp to the time stamp giving unit.
  • the information processing apparatus according to any one of (1) to (4), wherein: (6)
  • the time stamp request unit requests the time stamp to the time stamp assigning unit every time the content data is output from the user device, any one of (1) to (4), The information processing apparatus according to item 1.
  • a time stamp requesting function for requesting a time stamp giving unit for a time stamp for content data output from any one of the plurality of user devices;
  • a content data output function for outputting the content data to a user device other than the user device that has output the content data among the plurality of user devices when the time stamp is given to the content data;
  • a program that realizes (12) An information processing system comprising a plurality of user devices and an information processing device, The information processing apparatus includes: A time stamp requesting unit that requests a time stamp for the content data output from any one of the user devices among the plurality of user devices;
  • An information processing system comprising: a content data output unit that outputs the content data to which the time stamp has been added to a user device other than the user device that output the content data.
  • a verification device that verifies whether the time stamp given to the content data is correct in response to a request from a user of the user device.
  • the user device includes a verification unit that verifies whether the time stamp given to the content data is correct.
  • a communication unit that transmits the content summary data to another information processing apparatus.
  • a communication target data determining unit that determines at least one of the content data and the content summary data as communication target data based on a communication band between the communication unit and the other information processing apparatus; The information processing apparatus according to (15), wherein the communication unit transmits the communication target data to the other information processing apparatus.
  • the communication target data determination unit determines at least one of the content data and the content summary data as first communication target data based on the communication band, and sets the content summary data as the first communication target data. If the communication unit transmits the content summary data to the other information processing apparatus, whether or not the content data is set as second communication target data based on the communication band is determined.
  • the information processing apparatus according to (16), which is determined.
  • the communication target data determination unit sets association data for associating the content data and the content summary data to the first communication target data.
  • the communication target data determination unit includes the association data in the second communication target data when the content data is the second communication target data.
  • the communication target data determination unit adds state data related to a content of the communication target data to the communication target data.
  • the content acquisition unit acquires the content data from the content generation device when the connection detection unit detects a connection of the content generation device,
  • the information processing device according to (15), wherein the content summary data generation unit generates the content summary data when the content generation device has not generated the content summary data.
  • a communication target data determination unit that determines at least one of the content data and the content summary data as communication target data based on data transmitted from the content generation apparatus to the other information processing apparatus;
  • the content generation device can transmit the content summary data and association data for associating the content data and the content summary data to the other information processing device,
  • the communication target data determination unit determines the content data and the association data as the communication target data when the content generation apparatus transmits the content summary data and the association data to the other information processing apparatus.
  • the information processing apparatus according to (22) or (23), wherein the communication target data determination unit adds state data related to the content of the communication target data to the communication target data.
  • (25) Getting content data, Generating content summary data; Transmitting the content summary data to another information processing apparatus.
  • a first information processing device that receives content data output from a user device; A second information processing device that requests a time stamp giving unit for a time stamp for the content data; A third information processing apparatus for storing the content data and a time stamp given to the content data; Content identification data for identifying the content data, content path data indicating the location of the content data in the third information processing device, and the location of the time stamp in the third information processing device
  • An information processing system comprising: a fourth information processing device that stores the time stamp path data indicating

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】コンテンツデータの生成者以外の第三者に公開されるコンテンツデータを保護することが可能な、新規かつ改良された情報処理装置等を提供する。 【解決手段】コンテンツシェアリングサーバ10は、ユーザ41からアップロードされたコンテンツに対するタイムスタンプをタイムスタンプ付与サーバ20に要求し、コンテンツデータにタイムスタンプが付与された場合に、コンテンツデータを第三者に公開する。

Description

情報処理装置、情報処理方法、及びプログラム
 本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
 近年、デジタルカメラなどの機器やインターネット環境の発展により、ユーザがコンテンツデータ(例えば写真等の画像データや、文書データ)を生成し、それをインターネット上のサーバに保存するとともに、他のユーザに公開するという、いわゆる共有(シェアリング)サービスが一般的になってきている。また、ブログなどで自身の日記や考えを他者に公開するユーザも多い。
特表平10-508121号公報
 このような状況で問題となるのは、あるユーザが生成したコンテンツデータを、第三者がコピーし、第三者が生成したものとして他の場所で使用するという、盗作や著作権の侵害といった行為である。
 なお、各種のデータを保護する技術として、ある時点でデータが存在していたことを証明するタイムスタンプ技術が知られている。
 タイムスタンプ技術は、ユーザがデータの特徴値(一般的には、データをハッシュ関数に適用した結果)をタイムスタンプオーソリティ(TSA)に送信し、TSAがデータの特徴値と受信日時に対してデジタル署名を付加した値とをタイムスタンプとして返送するものである。
 タイムスタンプとして署名されるアイテムにユーザの識別子が付加されていれば、ある時点でそのユーザがそのコンテンツを保持していたことが証明される。このようなタイムスタンプの技術は、例えば特許文献1に記載されている。特許文献1は、保管庫に保管する複数のデータに対して一括してタイムスタンプを与える技術を開示する。
 しかし特許文献1に開示された技術は、データを保管庫に保管した後に、他のユーザに対してデータを公開することを想定したものではない。また、データの所有者を証明するものでもない。したがって、特許文献1に開示された技術は、上記の問題の解決に何ら寄与しない。
 一方、上記の問題を解決するために、各コンテンツデータをディジタルライツマネジメント(DRM)等のコピー防止技術により保護することも考えられる。しかし、サーバにアップロードされるコンテンツデータは膨大であるので、これらのコンテンツデータに逐一コピー防止技術を適用しようとすると、サーバに掛かる負担が増大してしまう。
 そこで、本開示は、上記問題に鑑みてなされたものであり、本開示の目的とするところは、コンテンツデータの生成者以外の第三者に公開されるコンテンツデータを保護することが可能な、新規かつ改良された情報処理装置、情報処理方法、及びプログラムを提供することにある。
 上記課題を解決するために、本開示のある観点によれば、ユーザ装置から出力されたコンテンツデータに対するタイムスタンプをタイムスタンプ付与部に要求するタイムスタンプ要求部と、タイムスタンプが付与されたコンテンツデータを、コンテンツデータを出力したユーザ装置以外の他のユーザ装置に出力するコンテンツデータ出力部と、を備える、情報処理装置が提供される。
 ここで、タイムスタンプ要求部は、複数のコンテンツデータを集約したデータに対するタイムスタンプをタイムスタンプ付与部に要求してもよい。
 また、タイムスタンプ要求部は、ユーザ装置から出力されたコンテンツデータ及び当該コンテンツデータを出力したユーザ装置のユーザを表す識別データに対するタイムスタンプをタイムスタンプ付与部に要求するようにしてもよい。
 また、コンテンツデータ出力部は、タイムスタンプが付与されたコンテンツデータの他、タイムスタンプが付与されていないコンテンツデータを、コンテンツデータを出力したユーザの保有する装置に出力してもよい。
 また、タイムスタンプ要求部は、タイムスタンプをタイムスタンプ付与部に要求した後、タイムスタンプ付与部からタイムスタンプが与えられた場合に、新たなタイムスタンプをタイムスタンプ付与部に要求してもよい。
 また、タイムスタンプ要求部は、ユーザ装置からコンテンツデータが出力される毎に、タイムスタンプをタイムスタンプ付与部に要求してもよい。
 また、コンテンツデータ出力部は、コンテンツデータに付与されたタイムスタンプをさらに他のユーザ装置に出力してもよい。
 また、コンテンツデータ出力部は、他のユーザ装置からタイムスタンプを要求された場合に、コンテンツデータに付与されたタイムスタンプを、他のユーザ装置に出力してもよい。
 また、タイムスタンプ要求部は、コンテンツデータを出力したユーザ装置からタイムスタンプの付与を要求された場合に、タイムスタンプ付与部にタイムスタンプを要求してもよい。
 本開示の他の観点によれば、複数のユーザ装置のうち、いずれかのユーザ装置から出力されたコンテンツデータに対するタイムスタンプをタイムスタンプ付与部に要求することと、コンテンツデータにタイムスタンプが付与された場合に、コンテンツデータを、複数のユーザ装置のうち、コンテンツデータを出力したユーザ装置以外の他のユーザ装置に出力することと、を含む、情報処理方法が提供される。
 本開示のさらに他の観点によれば、コンピュータに、複数のユーザ装置のうち、いずれかのユーザ装置から出力されたコンテンツデータに対するタイムスタンプをタイムスタンプ付与部に要求するタイムスタンプ要求機能と、コンテンツデータにタイムスタンプが付与された場合に、コンテンツデータを、複数のユーザ装置のうち、コンテンツデータを出力したユーザ装置以外の他のユーザ装置に出力するコンテンツデータ出力機能と、を実現させる、プログラムが提供される。
 本開示のさらに他の観点によれば、複数のユーザ装置と、情報処理装置とを備える情報処理システムであって、情報処理装置は、複数のユーザ装置のうち、いずれかのユーザ装置から出力されたコンテンツデータに対するタイムスタンプをタイムスタンプ付与部に要求するタイムスタンプ要求部と、タイムスタンプが付与されたコンテンツデータを、コンテンツデータを出力したユーザ装置以外の他のユーザ装置に出力するコンテンツデータ出力部と、を備える、情報処理システムが提供される。
 ここで、ユーザ装置のユーザからの要求に応じて、コンテンツデータに付与されたタイムスタンプが正しいかを検証する検証装置を備えるようにしてもよい。
 また、ユーザ装置は、コンテンツデータに付与されたタイムスタンプが正しいかを検証する検証部を有するようにしてもよい。
 本開示のさらに他の観点によれば、コンテンツデータを取得するコンテンツ取得部と、コンテンツ要約データを生成するコンテンツ要約データ生成部と、コンテンツ要約データを他の情報処理装置に送信する通信部と、を備える、情報処理装置が提供される。
 本開示のさらに他の観点によれば、コンテンツデータを取得することと、コンテンツ要約データを生成することと、コンテンツ要約データを他の情報処理装置に送信することと、を含む、情報処理方法が提供される。
 本開示のさらに他の観点によれば、コンピュータに、コンテンツデータを取得するコンテンツ取得機能と、コンテンツ要約データを生成するコンテンツ要約データ生成機能と、コンテンツ要約データを他の情報処理装置に送信する通信機能と、を実現させる、プログラムが提供される。
 本開示のさらに他の観点によれば、ユーザ装置から出力されたコンテンツデータを受領する第1の情報処理装置と、コンテンツデータに対するタイムスタンプをタイムスタンプ付与部に要求する第2の情報処理装置と、コンテンツデータと、コンテンツデータに付与されたタイムスタンプとを記憶する第3の情報処理装置と、コンテンツデータを識別するためのコンテンツ識別データと、コンテンツデータの第3の情報処理装置内での所在を示すコンテンツパスデータと、タイムスタンプの第3の情報処理装置内での所在を示すタイムスタンプパスデータと、を関連付けて記憶する第4の情報処理装置と、を備える情報処理システムが提供される。
 以上説明したように本開示によれば、仮に他のユーザ装置のユーザがコンテンツデータを不正使用したとしても、その日時はタイムスタンプが示す日時以降であるので、コンテンツデータを生成したユーザは、タイムスタンプを根拠に、当該コンテンツデータの生成者は自分であることを主張することができる。すなわち、コンテンツデータを生成したユーザ以外の第三者に公開されたコンテンツデータが保護される。
本開示の第1の実施形態に係る情報処理システムの概要を示す説明図である。 同実施形態にかかる情報処理システムによる処理の概要を示す説明図である。 コンテンツシェアリングサーバの構成を示すブロック図である。 データ生成部の構成を示すブロック図である。 コンテンツシェアリングサーバが管理するテーブルの一例を示す説明図である。 コンテンツ情報データのデータ構造を示す説明図である。 タイムスタンプタグデータのデータ構造を示す説明図である。 コンテンツパッケージデータのデータ構造を示す説明図である。 情報処理システムによる処理の手順を示すシーケンス図である。 コンテンツシェアリングサーバによる処理の手順を示すフローチャートである。 ユーザ端末に表示される画像の例を示す説明図である。 コンテンツシェアリングサーバによる処理の手順を示すフローチャートである。 ユーザが事業者と締結した契約の種類と、タイムスタンプの取得の要否との対応関係を示す説明図である。 本開示の第2の実施形態に係る情報処理システムの概要を示す説明図である。 ユーザ端末の構成を示すブロック図である。 コンテンツ生成装置の構成を示すブロック図である。 ウェブサーバの構成を示すブロック図である。 不正処理決定テーブルの一例を示す説明図である。 ストレージサーバの構成を示すブロック図である。 データベースサーバの構成を示すブロック図である。 コンテンツ情報管理テーブルの一例を示す説明図である。 タイムスタンプ情報管理テーブルの一例を示す説明図である。 タイムスタンプ取得エンジンの構成を示すブロック図である。 コンテンツ生成装置による処理の手順を示すフローチャートである。 ユーザ端末による処理の手順を示すフローチャートである。 ウェブサーバによる処理の手順を示すフローチャートである。 ウェブサーバによる処理の手順を示すフローチャートである。 ウェブサーバによる処理の手順を示すフローチャートである。 タイムスタンプ取得エンジンによる処理の手順を示すフローチャートである。 ユーザ端末による処理の手順を示すフローチャートである。 ユーザ端末の表示部に表示される画像の一例を示す説明図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 なお、説明は以下の順序で行うものとする。
 1.第1の実施形態
  1-1.情報処理システムの概略構成
  1-2.情報処理システムによる処理の概要
  1-3.情報処理システムの詳細な構成
  1-4.情報処理システムによる処理
  1-5.各種変形例
 2.第2の実施形態
  2-1.情報処理システムの概略構成
  2-2.情報処理システムの詳細な構成
  2-3.情報処理システムによる処理
 <1-1.情報処理システムの構成>
 まず、図1に基づいて、本実施の形態に係る情報処理システムの概略構成を説明する。情報処理システム100は、コンテンツシェアリングサーバ(情報処理装置)10と、タイムスタンプ付与サーバ(タイムスタンプ付与部)20と、複数のユーザ端末(ユーザ装置)40と、これらを接続するネットワーク50とを備える。
 コンテンツシェアリングサーバ10は、コンテンツデータの管理、公開等を実施する管理者が保有し、コンテンツデータの管理、タイムスタンプの要求、タイムスタンプが付与されたコンテンツデータの公開等を行う。
 タイムスタンプ付与サーバ20は、タイムスタンプの付与等を実施するタイムスタンプオーソリティ(TSA)30が保有し、コンテンツシェアリングサーバ10からの要求に応じて、コンテンツデータにタイムスタンプを付与する。
 ユーザ端末40(40a、40b、40c)は、それぞれ異なるユーザ41(41a、41b、41c)によって操作が可能であり、ユーザ41が自ら生成したコンテンツデータ(UGC(User Generated Content)データ)をコンテンツシェアリングサーバ10に出力(アップロード)することができる。例えば、ユーザ41aは、ユーザ端末40aを用いてコンテンツデータをコンテンツシェアリングサーバ10にアップロードすることができる。
 また、ユーザ41は、ユーザ端末40を用いて、コンテンツデータの閲覧をコンテンツシェアリングサーバ10に要求することができる。コンテンツシェアリングサーバ10は、閲覧要求を受けたコンテンツデータをユーザ端末40に出力する。ユーザ端末40は、コンテンツシェアリングサーバ10から与えられたコンテンツデータをディスプレイ401に表示する。なお、タイムスタンプ付与サーバ20及びユーザ端末40としては、公知のものが任意に使用される。例えば、ユーザ端末40は、テレビジョン受信機、カーナビ、携帯電話機、ゲーム機、音楽プレーヤ、スマートフォン、スマートタブレット等であってもよい。
 <1-2.情報処理システムによる処理の概要>
 次に、情報処理システム100による処理の概要を、図2に基づいて説明する。ここでは、ユーザ41aがコンテンツデータをアップロードし、ユーザ41cがそのコンテンツデータを閲覧するものとする。
 まず、ステップS1において、ユーザ41aは、自ら生成したコンテンツデータをコンテンツシェアリングサーバ10に出力(送信)する。
 ステップS2において、コンテンツシェアリングサーバ10は、ユーザ41aから与えられたコンテンツデータを記憶する一方、このコンテンツデータおよびユーザ41aを識別するデータに対するタイムスタンプをタイムスタンプ付与サーバ20に要求する。
 ステップS3において、タイムスタンプ付与サーバ20は、コンテンツデータおよびユーザ41aを識別するデータに対するタイムスタンプを発行し、コンテンツシェアリングサーバ10に出力(送信)する。
 ステップS4において、ユーザ41cは、ユーザ41aが生成したコンテンツデータの閲覧要求をコンテンツシェアリングサーバ10に対して行う。これに応じて、コンテンツシェアリングサーバ10は、タイムスタンプが付与されたコンテンツデータを、ユーザ端末40cに出力(送信)する。ユーザ端末40cは、ディスプレイ401にコンテンツデータを表示する。これにより、コンテンツシェアリングサーバ10は、タイムスタンプが付与されたコンテンツデータを、ユーザ41a以外の第三者に公開する。
 したがって、仮にユーザ41cがコンテンツデータを不正使用(例えば、データの改竄、自らの名前での公開等)したとしても、その日時はタイムスタンプが示す日時以降であるので、ユーザ41aは、タイムスタンプを根拠に、当該コンテンツデータの生成者は自分であることを主張することができる。すなわち、ユーザ41a以外の第三者に公開されたコンテンツデータが保護される。なお、ステップS1~S4の詳細については後述する。
 <1-3.情報処理システムの詳細な構成>
 次に、図3~図8に基づいて、情報処理システム100の構成について詳細に説明する。
 タイムスタンプ付与サーバ20は、CPU、ROM、RAM、ハードディスク、通信装置等の各種ハードウェア構成を備えており、CPUがROMに記憶されたプログラムを読みだして実行することで、各種の処理を行う。例えば、タイムスタンプ付与サーバ20は、コンテンツシェアリングサーバ10の要求に応じて後述するタイムスタンプタグデータを生成し、コンテンツシェアリングサーバ10に出力する。
 ユーザ端末40は、CPU、ROM、RAM、ハードディスク、通信装置、キーボード、マウス、ディスプレイ401等の各種ハードウェア構成を備えており、CPUがROMに記憶されたプログラムを読みだして実行することで、各種の処理を行う。例えば、ユーザ端末40は、ユーザ41が入力したアカウント及びパスワードをコンテンツシェアリングサーバ10に出力することでコンテンツシェアリングサーバ10にログインし、ログイン後にコンテンツデータをコンテンツシェアリングサーバ10に出力し、コンテンツシェアリングサーバ10から出力されたコンテンツデータを表示する。ここで、ユーザ端末40から出力されるコンテンツデータには、そのコンテンツデータを出力(送信)したユーザ41を情報処理システム100上で一意に特定する識別データ、例えばアカウントやユーザIDが付加されている。アカウントとユーザIDは同一の数値もしくは文字列としてもよいし、アカウントは人間が記憶及び識別しやすい文字列とし、ユーザIDはアカウントと1対1に対応した数値としてもよい。
 コンテンツシェアリングサーバ10は、CPU、ROM、RAM、ハードディスク、及び通信装置等のハードウェア構成を備え、CPUがROMに記憶されたプログラムを読みだして実行することで、各種の処理を行う。コンテンツシェアリングサーバ10は、具体的には、送受信部(コンテンツデータ出力部)11と、記憶部12と、データ管理部13(タイムスタンプ要求部)と、検証部14とを備える。
 送受信部11は、タイムスタンプ付与サーバ20やユーザ端末40から与えられたデータをデータ管理部13に出力し、データ管理部13から与えられたデータをタイムスタンプ付与サーバ20やユーザ端末40に出力する。
 記憶部12は、図5に示すコンテンツデータ管理テーブルを記憶する他、データ管理部13が生成したデータや、各種公開鍵や公開関数(例えば、後述するハッシュ関数)も記憶する。コンテンツデータ管理テーブルは複数の行からなり、行毎に、コンテンツIDと、コンテンツデータと、ユーザIDと、受信日時データと、コンテンツ要約データ(CD(Content Digest)データ)と、ACID(Agrregated Content Info Digest)ポインタと、集約化コンテンツ情報要約データ(ACIDデータ)と、タイムスタンプタグデータと、タイムスタンプステータスデータとが対応して記録される。これらのデータの詳細については後述する。
 データ管理部13は、図4に示すように、コンテンツ要約データ生成部131と、コンテンツ情報データ生成部132と、コンテンツ情報要約データ生成部133と、集約化コンテンツ情報要約データ生成部134と、要求データ生成部135と、コンテンツパッケージデータ生成部136とを備える。
 コンテンツ要約データ生成部131(以下、「CD生成部131」とも称する)は、送受信部11からコンテンツデータが与えられた際に、図5に示すコンテンツデータ管理テーブルにそのコンテンツデータ用の行を生成し、コンテンツデータをその行に格納する。
 さらに、CD生成部131は、コンテンツデータを情報処理システム100上で一意に特定するためのコンテンツIDを生成し、コンテンツデータを出力(送信)したユーザ41を情報処理システム100上で一意に特定するためのユーザIDとともに、当該コンテンツデータ用の行に格納する。このユーザIDは、上述のように、そのコンテンツが送信されたセッションのログイン処理において、ユーザから提示される。
 さらに、CD生成部131は、コンテンツデータの受信日時を示す受信日時データも生成し、当該コンテンツデータ用の行に格納する。
 さらに、CD生成部131は、コンテンツデータをハッシュ関数に入力することで、コンテンツ要約データ(CDデータ)を生成し、当該コンテンツデータ用の行に格納する。なお、本願では、ハッシュ関数として、入力されたデータを256ビットのデータに変換するもの(例えばSHA-2)が使用されるが、これに限定されない。ハッシュ関数は、例えば、情報処理システム100に要求される安全性の度合いに応じて、任意に選択される。
 なお、CD生成部131は、コンテンツデータ用の行を構成する各領域のうち、ACIDポインタ用の領域、ACIDデータ用の領域、タイムスタンプタグデータ用の領域には、データが未決定である旨の初期値を格納する。また、CD生成部131は、タイムスタンプステータスデータ用の領域には、「タイムスタンプ未取得」を示す初期値を格納する。
 CD生成部131は、コンテンツID、ユーザID、受信日時データ、及びCDデータをコンテンツ情報データ生成部132に出力する。
 コンテンツ情報データ生成部132(以下、「CI(Content Info)データ生成部132」とも称する)は、図6に示すように、コンテンツID、ユーザID、受信日時データ、及びCDデータを連結することで、コンテンツ情報データ(CIデータ)を生成する。CI生成部132は、CIデータをコンテンツ情報要約データ生成部133に出力する。
 コンテンツ情報要約データ生成部133(以下、「CID(Content Info Digest)データ生成部133」とも称する)は、CIデータをハッシュ関数に入力することで、コンテンツ情報要約データ(CIDデータ)を生成する。CIDデータ生成部133は、CIDデータ及び当該CIDデータに対応するコンテンツID(CIデータ内のコンテンツID)を集約化コンテンツ情報要約データ生成部134(以下、「ACIDデータ生成部134」とも称する)に出力する。
 ACIDデータ生成部134は、所定時間(例えば1分)内に送受信部11が受信したコンテンツデータの全てについてCIDデータが与えられるまで待機する。ACIDデータ生成部134は、待機中に与えられたCIDデータを連結することで、ACIDデータを生成する。ACID生成部134は、待機中に与えられたCIDデータに含まれるコンテンツIDに基づいて、ACIDデータを格納する行である格納対象行を決定する。具体的には、ACIDデータ生成部134は、当該コンテンツIDが示す行を格納対象行として決定する。さらに、ACIDデータ生成部134は、格納対象行毎にACIDポインタを生成する。ACIDポインタは、格納対象行内のCDデータから得られるCIDデータがACIDデータ内のどの位置に存在するのかを示すポインタである。ACIDデータ生成部134は、生成したACIDデータとACIDポインタとを格納対象行に格納する。
 例えば、送受信部11が所定時間内にユーザ41aからコンテンツi、j、ユーザ41bからコンテンツデータkを受信し、CIDデータ生成部133がCIDデータi’、j’、k’を生成した場合、ACIDデータ生成部134は、CIDデータi’、j’、k’を連結することで、ACIDデータを生成する。そして、ACIDデータ生成部134は、生成されたACIDデータと、ACIDデータ内でのCIDデータi’の位置を示すACIDポインタとを、コンテンツiが格納された行に格納する。コンテンツj、kについても、同様の処理が行われる。
 次いで、ACIDデータ生成部134は、ACIDデータを要求データ生成部135に出力する。
 要求データ生成部135は、ACIDデータ生成部134から与えられたACIDデータをハッシュ関数に入力することで、要約されたACIDデータであるDACIDデータ(Digest ACIDデータ)を生成する。ここで、ハッシュ関数は、入力されたデータの大きさによらず、当該データを256ビットのデータに変換するので、要求データ生成部135は、ACIDデータの大きさによらず、DACIDデータを一定の大きさとすることができる。したがって、DACIDデータの管理等に掛かる負荷が低減される。
 要求データ生成部135は、タイムスタンプを要求するタイムスタンプ要求データとDACIDデータとを送受信部11に出力し、ACIDデータが格納された行のタイムスタンプステータスデータを、「タイムスタンプ要求中」を示すデータに変更する。送受信部11は、タイムスタンプ要求データとDACIDデータとをタイムスタンプ付与サーバ20に出力する。これにより、データ管理部13は、所定時間内にユーザ端末40から出力された一または複数のコンテンツデータを集約し、集約したデータに対するタイムスタンプをタイムスタンプ付与サーバ20に要求する。
 タイムスタンプ付与サーバ20は、与えられたタイムスタンプ要求データに基づいて、DACIDデータにタイムスタンプを付与する。具体的には、タイムスタンプ付与サーバ20は、図7に示すタイムスタンプタグデータを生成し、コンテンツシェアリングサーバ10に出力する。ここで、タイムスタンプタグデータは、タイムスタンプオーソリティ30を情報処理システム100上で一意に特定するタイムスタンプオーソリティIDと、タイムスタンプが付与された日時(タイムスタンプタグデータが生成された日時)を示すタイムスタンプ日時データと、DACIDデータと、タイムスタンプオーソリティ30による署名データとで構成される。これにより、タイムスタンプ付与サーバ20は、一または複数のコンテンツデータに一括してタイムスタンプを付与する。送受信部11は、受信したタイムスタンプタグデータを要求データ生成部135に出力する。
 要求データ生成部135は、タイムスタンプタグデータを、ACIDデータが格納された行に格納する。さらに、要求データ生成部135は、タイムスタンプタグデータが格納された行のタイムスタンプステータスデータを、「タイムスタンプ取得済み」を示すデータに変更する。
 コンテンツパッケージデータ生成部136(以下、「CP(Content Package)データ生成部136」とも称する)は、コンテンツデータの閲覧要求があった場合に、閲覧要求を行ったユーザ41である要求者と、そのコンテンツデータを生成したユーザ41である生成者とが同一であるかを判定する。この結果、CPデータ生成部136は、要求者と生成者とが同一であると判定した場合には、閲覧要求されたコンテンツデータを、タイムスタンプの有無にかかわらず、ユーザ41に出力する。すなわち、CPデータ生成部136は、閲覧要求されたすべてのコンテンツデータをコンテンツデータ管理テーブルから検索し、送受信部11に出力する。送受信部11は、コンテンツデータを要求者のユーザ端末40に出力する。
 一方、CPデータ生成部136は、要求者と生成者とが異なると判定した場合には、閲覧要求されたコンテンツデータのうち、タイムスタンプが付与されたコンテンツデータのみ、要求者に出力する。なお、CPデータ生成部136がこのように判定する場合としては、ユーザ41が他のユーザ41のコンテンツデータの閲覧を要求した場合の他、ユーザ41がログインせずに閲覧要求をしている場合等も考えられる。
 具体的には、CPデータ生成部136は、閲覧要求がなされたコンテンツデータのうち、タイムスタンプステータスデータが「タイムスタンプ取得済み」を示すデータとなっているものを、コンテンツデータ管理テーブルから検索する。そして、CPデータ生成部136は、検索したコンテンツデータと、このコンテンツデータと同じ行に格納されているコンテンツID、ユーザID、受信日時データ、CDデータ、ACIDポインタ、ACIDデータ、及びタイムスタンプタグデータとを連結することで、CPデータを生成する。CPデータのデータ構造は図8に示される。そして、CPデータ生成部136は、CPデータを送受信部11に出力し、送受信部11は、CPデータを要求者のユーザ端末40に出力する。なお、CPデータを構成するACIDデータは、要求者が閲覧を要求していないコンテンツデータから生成されたCIDデータを含む可能性がある。しかし、CIDデータは、コンテンツデータをハッシュすることで生成されるものであるので、閲覧者は、このようなCIPデータを受領しても、元のコンテンツデータを閲覧することができない。言い換えれば、コンテンツシェアリングサーバ10は、要求者が閲覧を要求したコンテンツデータ以外のコンテンツデータを、当該要求者に閲覧させないようにすることができる。
 図3に示す検証部14は、タイムスタンプタグデータを検証する。具体的な処理については後述する。
 <1-4.情報処理システムによる処理>
[全体的な処理]
 次に、情報処理システム100による全体的な処理を、図9に基づいて説明する。なお、この処理に先立って、各ユーザ41は、コンテンツシェアリングサーバ10にログインする。具体的には、各ユーザ41は、自己のユーザ端末40にアカウント及びパスワードを入力する。各ユーザ端末40は、入力されたデータをコンテンツシェアリングサーバ10に出力する。コンテンツシェアリングサーバ10のCDデータ生成部131は、各ユーザ端末40から出力されたデータと、図示しないアカウント管理テーブル(アカウントとパスワードとを対比して記録するテーブル)とを対比することで、当該データの正否を判定する。CDデータ生成部131は、ユーザ端末40から出力されたデータが正しい場合には、ログインを許可する旨のデータをユーザ端末40に送信する。これにより、ログインが行われる。一方、CDデータ生成部131は、ユーザ端末40から出力されたデータが誤っている場合には、アカウント及びパスワードの再入力を促す旨の要求データをユーザ端末40に出力する。
 ステップS10において、ユーザ端末40は、ユーザ41が自ら生成したコンテンツデータをコンテンツシェアリングサーバ10に出力する。ここで、コンテンツデータには、当該コンテンツデータを生成したユーザ41を情報処理システム100上で一意に特定する識別データ、例えばユーザ41のアカウントが付加されている。
 ステップS20において、送受信部11は、コンテンツデータを受信し、CDデータ生成部131に出力する。
 ステップS30において、CD生成部131は、図5に示すコンテンツデータ管理テーブルにそのコンテンツデータ用の行を生成し、その行にコンテンツデータを格納する。さらに、CD生成部131は、コンテンツID及び受信日時データを生成し、ユーザIDとともに当該コンテンツデータ用の行に格納する。
 さらに、CD生成部131は、コンテンツデータをハッシュ関数に入力することでCDデータを生成し、当該コンテンツデータ用の行に格納する。
 さらに、CD生成部131は、コンテンツデータ用の行を構成する各領域のうち、ACIDポインタ用の領域、ACIDデータ用の領域、タイムスタンプタグデータ用の領域には、データが未決定である旨の初期値を格納する。また、CD生成部131は、タイムスタンプステータスデータ用の領域には、「タイムスタンプ未取得」を示す初期値を格納する。
 CD生成部131は、コンテンツID、ユーザID、受信日時データ、及びCDデータをCIデータ生成部132に出力する。
 ステップS40において、CIデータ生成部132は、コンテンツID、ユーザID、受信日時データ、及びCDデータを連結することで、図6に示すCIデータを生成する。CI生成部132は、CIデータをCIDデータ生成部133に出力する。
 ステップS50において、CIDデータ生成部133は、CIデータをハッシュ関数に入力することで、CIDデータを生成する。CIDデータ生成部133は、CIDデータ及び当該CIDデータに対応するコンテンツIDをACIDデータ生成部134に出力する。
 ステップS60において、ACIDデータ生成部134は、所定時間(例えば1分)内に送受信部11が受信したコンテンツデータの全てについてCIDデータが与えられるまで待機する。ACIDデータ生成部134は、待機中に与えられたCIDデータを連結することで、ACIDデータを生成する。ACID生成部134は、待機中に与えられたCIDデータに含まれるコンテンツIDに基づいて、ACIDデータを格納する行である格納対象行を決定する。具体的には、ACIDデータ生成部134は、当該コンテンツIDが示す行を格納対象行として決定する。さらに、ACIDデータ生成部134は、格納対象行毎にACIDポインタを生成する。ACIDポインタは、格納対象行内のCDデータから得られるCIDデータがACIDデータ内のどの位置に存在するのかを示すポインタである。ACIDデータ生成部134は、生成したACIDデータとACIDポインタとを格納対象行に格納する。次いで、ACIDデータ生成部134は、ACIDデータを要求データ生成部135に出力する。
 ステップS70において、要求データ生成部135は、ACIDデータ生成部134から与えられたACIDデータをハッシュ関数に入力することで、DACIDデータを生成する。さらに、要求データ生成部135は、タイムスタンプを要求するタイムスタンプ要求データとDACIDデータとを送受信部11に出力し、ACIDデータが格納された行のタイムスタンプステータスデータを、「タイムスタンプ要求中」を示すデータに変更する。
 ステップS80において、送受信部11は、タイムスタンプ要求データとDACIDデータとをタイムスタンプ付与サーバ20に出力する。
 ステップS90において、タイムスタンプ付与サーバ20は、タイムスタンプ要求データ及びDACIDデータを受信する。
 ステップS100において、タイムスタンプ付与サーバ20は、タイムスタンプ要求データに基づいて、DACIDデータにタイムスタンプを付与する。具体的には、タイムスタンプ付与サーバ20は、図7に示すタイムスタンプタグデータを生成する。
 ステップS110において、タイムスタンプ付与サーバ20は、生成されたタイムスタンプタグデータをコンテンツシェアリングサーバ10に出力する。
 ステップS120において、送受信部11は、タイムスタンプ付与サーバ20から出力されたタイムスタンプタグデータを受信し、要求データ生成部135に出力する。
 要求データ生成部135は、タイムスタンプタグデータを、ACIDデータが格納された行に格納する。さらに、要求データ生成部135は、タイムスタンプタグデータが格納された行のタイムスタンプステータスデータを、「タイムスタンプ取得済み」を示すデータに変更する。さらに、要求データ生成部135は、後述する検証部14に対し、新規にタイムスタンプタグデータが格納された行を出力し、検証処理を要求する。
 ステップS130において、ユーザ41(要求者)は、コンテンツシェアリングサーバ10に対してコンテンツデータの閲覧要求を行う。具体的には、ユーザ41は、自身のアカウントとパスワードをシステムに提示してログイン処理を行った後に、閲覧を希望するコンテンツデータの生成者を特定するデータ、例えば生成者のユーザ名をユーザ端末40に入力する。これに応じて、ユーザ端末40は、入力されたデータを閲覧要求データとしてコンテンツシェアリングサーバ10に出力する。ここで、閲覧要求データには、要求者および生成者を情報処理システム100上でそれぞれ一意に特定する識別データが含まれる。
 ステップS140において、送受信部11は、閲覧要求データを受信し、CPデータ生成部136に出力する。
 ステップS150において、CPデータ生成部136は、閲覧要求データに基づいて、所定のコンテンツデータをコンテンツデータ管理テーブルから検索し、送受信部11に出力する。送受信部11は、コンテンツデータを要求者のユーザ端末40に出力する。
 ステップS160において、要求者のユーザ端末40は、コンテンツデータを受信し、ディスプレイ401に表示する。ステップS140~ステップS160の処理の詳細については後述する。
[ステップS140~ステップS160の処理]
 次に、図10に基づいて、ステップS140~ステップS160の処理を詳細に説明する。
 ステップS200において、送受信部11は、閲覧要求データを受信し、CPデータ生成部136に出力する。
 ステップS210において、CPデータ生成部136は、閲覧要求データに基づいて、要求者と閲覧要求がなされたコンテンツデータの生成者とが同一であるかを判定する。CPデータ生成部136は、これらが同一であると判定した場合には、ステップS220に進み、これらが異なると判定した場合には、ステップS230に進む。
 ステップS220において、CPデータ生成部136は、閲覧要求データがなされたコンテンツデータを、タイムスタンプの有無にかかわらず、要求者のユーザ端末40に出力する。すなわち、CPデータ生成部136は、閲覧要求がなされたすべてのコンテンツデータ(即ち、生成者がアップロードしたすべてのコンテンツデータ)をコンテンツデータ管理テーブルから検索し、送受信部11に出力する。送受信部11は、コンテンツデータを要求者のユーザ端末40に出力し、要求者のユーザ端末40は、受信したコンテンツデータをディスプレイ401に表示する。
 ステップS230において、CPデータ生成部136は、閲覧要求がなされたコンテンツデータのうち、タイムスタンプが付与されたコンテンツデータのみ、要求者のユーザ端末40に出力する。
 具体的には、CPデータ生成部136は、閲覧要求がなされたコンテンツデータのうち、タイムスタンプステータスデータが「タイムスタンプ取得済み」を示すデータとなっているものを、コンテンツデータ管理テーブルから検索する。そして、CPデータ生成部136は、検索したコンテンツデータと、このコンテンツデータと同じ行に格納されているコンテンツID、ユーザID、受信日時データ、CDデータ、ACIDポインタ、ACIDデータ、及びタイムスタンプタグデータとを連結することで、CPデータを生成する。次いで、CPデータ生成部136は、CPデータを送受信部11に出力し、送受信部11は、CPデータを要求者のユーザ端末40に出力する。ユーザ端末40は、CPデータに基づいて、コンテンツデータ等をディスプレイ401に表示する。このときの表示例を図11に示す。ディスプレイ401には、コンテンツデータ表示領域402aと、コンテンツID表示領域402bと、タイムスタンプ表示ボタン402cと、ダウンロードボタン402dからなるコンテンツ情報画像402が一または複数表示される。各コンテンツ情報画像402は、それぞれ異なるコンテンツデータに対応する。
 コンテンツ情報画像402のコンテンツデータ表示領域402aには、そのコンテンツ情報画像402に対応するコンテンツデータのサムネイルが表示される。マウスポインタ403がコンテンツ情報画像402のコンテンツデータ表示領域402aに重ねられた状態でマウスがクリックされると、ユーザ端末40は、そのコンテンツ情報画像402に対応するコンテンツデータをディスプレイ402に表示する。なお、コンテンツデータ表示領域402aには、コンテンツデータそのものを表示してもよい。
 コンテンツ情報画像402のコンテンツID表示領域402bには、そのコンテンツ情報画像402に対応するコンテンツデータのコンテンツIDが表示されている。
 マウスポインタ403がコンテンツ情報画像402のタイムスタンプ表示ボタン402cに重ねられた状態でマウスがクリックされると、ユーザ端末40は、そのコンテンツ情報画像402に対応するタイムスタンプ(例えば、タイムスタンプ日時データ及び署名データ、そのコンテンツを生成したユーザのユーザID)をディスプレイ402に表示する。
 マウスポインタ403がコンテンツ情報画像402のダウンロードボタン402dに重ねられた状態でマウスがクリックされると、ユーザ端末40は、そのコンテンツとタイムスタンプを含むCPデータを、ユーザ端末40に搭載または接続された記憶装置に記録する。
[検証処理]
 次に、検証部14が行う検証処理について、図12に基づいて説明する。この検証処理は、コンテンツデータ管理テーブルに記録されたデータが正しいか否かを判定する処理である。検証処理は、要求データ生成部135がタイムスタンプ付与サーバ20からタイムスタンプタグデータを受信した際に、検証部14に検証処理の要求を送信することによって開始される。また、後述のように、ユーザからの要求によっても検証処理は行われる。この場合は、コンテンツデータ管理テーブルに記録されたデータではなく、ユーザが提示したデータが正しいか否かを判定する。
 ステップS300において、検証部14は、要求データ生成部135から検証処理の要求とともに提示された、コンテンツデータ管理テーブルのうち新規にタイムスタンプタグデータを取得したコンテンツに対応する行を検証対象行として決定する。検証部14は、検索対象行内のコンテンツデータをハッシュ関数に入力することで、CDデータを生成する。
 ステップS310において、検証部14は、生成されたCDデータが検索対象行内のCDデータに一致するかを判定し、これらのデータが一致すると判定した場合には、ステップS320に進み、これらのデータが一致しないと判定した場合には、ステップS380に進む。
 ステップS320において、検証部14は、生成されたCDデータに、検索対象行のユーザID、コンテンツID、及び受信日時データを連結することで、CIデータを生成する。さらに、検証部14は、生成されたCIデータをハッシュ関数に入力することで、CIDデータを生成する。
 ステップS330において、検証部14は、生成されたCIDデータが検索対象行内のACIDポインタが示すCIDデータに一致するかを判定し、これらのデータが一致すると判定した場合には、ステップS340に進み、これらのデータが一致しないと判定した場合には、ステップS380に進む。
 ステップS340において、検証部14は、検索対象行内のACIDデータをハッシュ関数に入力することで、DACIDデータを生成する。
 ステップS350において、検証部14は、DACIDデータが検索対象行内のDACIDデータ(即ち、タイムスタンプタグデータ内のDACIDデータ)に一致するかを判定し、これらのデータが一致すると判定した場合には、ステップS360に進み、これらのデータが一致しないと判定した場合には、ステップS380に進む。
 ステップS360において、検証部14は、検索対象行内の署名データが、タイムスタンプタグ内の他の要素、すなわちタイムスタンプオーソリティID、タイムスタンプ日時データ、及びDACIDに対する正しい署名データになっているかを、検証関数に基づいて判定する。ここで、検証関数としては公知のものが任意に使用される。検証部14は、検証対象行内の署名データが正しい署名データであると判定した場合には、ステップS370に進み、検証対象行内の署名データが誤った署名データであると判定した場合には、ステップS380に進む。
 ステップS370において、検証部14は、検証対象行のデータが正しい(すなわち、検証に成功した)と判定し、その旨の判定データを検証対象行に記録する。
 ステップS380において、検証部14は、検証対象行のデータに誤りがある(すなわち、検証に失敗した)と判定し、その旨の判定データを検証対象行に記録する。
 検証処理の結果である判定データの利用方法としては、様々なものが考えられる。例えば、CPデータ生成部136は、上述したステップS230において、コンテンツパッケージデータのうち、検証処理が成功したデータのみをユーザ端末40に出力するようにしてもよい。また、検証処理が失敗したコンテンツについては、図9のステップS30のCDデータ作成の処理からやり直してもよい。
 以上により、第1の実施形態によれば、コンテンツシェアリングサーバ10は、コンテンツデータにタイムスタンプが付与された場合に、コンテンツデータを、複数のユーザ端末40のうち、コンテンツデータを出力したユーザ端末40以外の他のユーザ端末40に出力する。
 これにより、他のユーザ端末40のユーザ41がコンテンツデータを不正使用したとしても、その日時はタイムスタンプが示す日時以降であるので、コンテンツデータの生成者は、タイムスタンプを根拠に、自分が当該コンテンツデータの生成者であることを主張することができる。
 したがって、コンテンツシェアリングサーバ10は、コンテンツデータの生成者以外の第三者に公開されるコンテンツデータを保護することができる。
 さらに、コンテンツシェアリングサーバ10は、コンテンツデータにタイムスタンプが付与されていない場合であっても、コンテンツデータを、コンテンツデータを出力したユーザ端末40に出力する。これにより、コンテンツデータの生成者は、コンテンツデータにタイムスタンプが付与されていない場合であっても、コンテンツデータの内容を確認することができる。
 さらに、コンテンツシェアリングサーバ10は、所定時間内にユーザ端末40から与えられたコンテンツデータに一括してタイムスタンプを付与することを、タイムスタンプ付与サーバ20に要求する。したがって、コンテンツシェアリングサーバ10は、ユーザ端末40からコンテンツデータを受領する毎にタイムスタンプを要求する場合よりも、タイムスタンプを要求する回数を低減することができるので、コンテンツシェアリングサーバ10の処理負担を低減することができる。
 さらに、コンテンツシェアリングサーバ10は、コンテンツデータの他、そのコンテンツデータに付与されたタイムスタンプタグデータも要求者のユーザ端末40に出力するので、要求者は、そのタイムスタンプタグデータの内容を確認する事ができる。
 <1-5.各種変形例>
 次に、各種変形例を説明する。
[第1の変形例]
 第1の変形例では、要求データ生成部135は、タイムスタンプ要求データをタイムスタンプ付与サーバ20に出力した後、タイムスタンプ付与サーバ20からタイムスタンプタグデータが与えられるまで、次のタイムスタンプ要求データを出力しない。
 ACIDデータ生成部134は、要求データ生成部135がタイムスタンプ要求データをタイムスタンプ付与サーバ20に出力してから、要求データ生成部135がタイムスタンプタグデータを受領するまでの間にCIDデータ生成部133から与えられたCIDデータを連結することで、ACIDデータを生成する。
 要求データ生成部135は、タイムスタンプタグデータが与えられたら、このACIDデータをハッシュ関数に入力することでDACIDデータを生成し、このDACIDデータと次のタイムスタンプ要求データとをタイムスタンプ付与サーバ20に出力する。
 第1の変形例によれば、要求中のタイムスタンプは常にひとつとなるので、ステートの管理(例えば、タイムスタンプステータスデータの管理等)が容易となる。
[第2の変形例]
 第2の変形例では、CIDデータ生成部133は、CIDデータを要求データ生成部135に直接出力し、要求データ生成部135は、各CIDデータに対するタイムスタンプタグデータをタイムスタンプ付与サーバに要求する。すなわち、コンテンツシェアリングサーバ10は、ユーザ端末40からコンテンツデータが与えられる毎に、タイムスタンプをタイムスタンプ付与サーバ20に要求する。
 第2の変形例によれば、コンテンツシェアリングサーバ10は、コンテンツデータを受け付けた時刻とタイムスタンプの発行時刻との差を小さくすることができ、かつ、コンテンツデータをアップロードしてから第三者に公開されるまでの待ち時間を低減することができる。
[第3の変形例]
 第3の変形例では、要求者は、コンテンツデータの閲覧を要求する際に、タイムスタンプタグデータの要否もユーザ端末40に入力する。ユーザ端末40は、上述した閲覧要求データに、タイムスタンプタグデータの要否を示すデータを含めて、コンテンツシェアリングサーバ10に出力する。CPデータ生成部136は、閲覧要求データにタイムスタンプタグデータが必要である旨のデータが含まれる場合に、タイムスタンプタグデータとコンテンツデータとを含むCPデータを生成し、要求者のユーザ端末40に出力する。
 第3の変形例によれば、コンテンツシェアリングサーバ10は、タイムスタンプタグデータが必要な要求者に対してタイムスタンプタグデータを出力することができる。これにより、コンテンツシェアリングサーバ10は、コンテンツ保存、共有サービスと、コンテンツ保証サービス(タイムスタンプによる保証サービス)とを切り分け、別契約のサービスとすることができる。
[第4の変形例]
 第4の変形例は、コンテンツデータの生成者に対し、タイムスタンプの要否を任意に選択させるものである。
 すなわち、コンテンツシェアリングサーバ10は、デフォルトでタイムスタンプを取得するタイプ1の契約と、デフォルトでタイムスタンプを取得しないタイプ2の契約とを用意し、ユーザ41との契約時にいずれかのタイプを選択させる。この選択の結果は、例えば、上述したアカウント管理テーブルに記録される。
 そして、タイプ1の契約者は、コンテンツデータをアップロードする際に、そのコンテンツデータにタイムスタンプが不要であれば、その旨のタイムスタンプ不要データ(フラグ)をユーザ端末40に入力する。例えば、ユーザ端末40は、「タイムスタンプ不要」のチェックボックスをディスプレイ401に表示し、タイプ1の契約者は、タイムスタンプが不要であれば、そのチェックボックスにチェックを入れる。ユーザ端末40は、タイムスタンプ不要データが入力された場合には、タイムスタンプ不要データをコンテンツデータとともにコンテンツシェアリングサーバ10に出力する。コンテンツシェアリングサーバ10は、コンテンツデータにタイムスタンプ不要データが含まれていれば、タイムスタンプをタイムスタンプ付与サーバ20に要求せず、コンテンツデータにタイムスタンプ不要データが含まれていなければ、デフォルト通りに、タイムスタンプをタイムスタンプ付与サーバ20に要求する。具体的には、要求データ生成部135は、コンテンツデータにタイムスタンプ不要データが含まれていれば、そのコンテンツデータから得られるCIDデータをDACIDに含めず、コンテンツデータにタイムスタンプ不要データが含まれていなければ、そのコンテンツデータから得られるCIDデータをDACIDに含める。
 一方、タイプ2の契約者は、コンテンツデータをアップロードする際に、そのコンテンツデータにタイムスタンプが必要であれば、その旨のタイムスタンプ必要データ(フラグ)をユーザ端末40に入力する。例えば、ユーザ端末40は、「タイムスタンプ必要」のチェックボックスをディスプレイ401に表示し、タイプ2の契約者は、タイムスタンプが必要であれば、そのチェックボックスにチェックを入れる。ユーザ端末40は、タイムスタンプ必要データが入力された場合には、タイムスタンプ必要データをコンテンツデータとともにコンテンツシェアリングサーバ10に出力する。要求データ生成部135は、コンテンツデータにタイムスタンプ必要データが含まれていれば、タイムスタンプをタイムスタンプ付与サーバ20に要求し、コンテンツデータにタイムスタンプ必要データが含まれていなければ、デフォルト通りに、タイムスタンプをタイムスタンプ付与サーバ20に要求しない。具体的には、要求データ生成部135は、コンテンツデータにタイムスタンプ必要データが含まれていれば、そのコンテンツデータから得られるCIDデータをDACIDに含め、コンテンツデータにタイムスタンプ必要データが含まれていなければ、そのコンテンツデータから得られるCIDデータをDACIDに含めない。
 契約のタイプと、フラグの種類と、タイムスタンプ付与サーバ20へのタイムスタンプ要求の有無との相関関係を図13に示す。
 第4の変形例によれば、コンテンツシェアリングサーバ10は、コンテンツデータを出力したユーザ端末40からタイムスタンプの取得を要求された場合に、タイムスタンプ付与サーバ20にタイムスタンプを要求することができるので、ユーザ41の意図を反映したタイムスタンプの取得が可能となる。また、コンテンツシェアリングサーバ10は、デフォルトでタイムスタンプの要否を設定するので、ユーザ41は、デフォルトと異なる要求をする場合に、その旨のデータをユーザ端末40に入力すれば足りる。これにより、コンテンツシェアリングサーバ10は、タイムスタンプの要否に関する簡便な指定方法をユーザ41に提供することができる。タイムスタンプを生成させるためには、コンテンツのハッシュ値を計算するなどのコストがかかるため、タイムスタンプが不要のコンテンツについては、このコストを削減することが可能となる。
<2.第2の実施形態>
<2-1.情報処理システムの概略構成>
 次に、本開示の第2の実施形態について説明する。まず、図14に基づいて、第2の実施形態に係る情報処理システム200の概略構成について説明する。情報処理システム200は、コンテンツシェアリングシステム80と、タイムスタンプ付与サーバ(タイムスタンプ付与部)20と、複数のユーザ端末(ユーザ装置)60と、複数のコンテンツ生成装置70と、これらを接続するネットワーク50とを備える。
 コンテンツシェアリングシステム80は、コンテンツデータの管理、公開等を実施する管理者が保有し、コンテンツデータの管理、タイムスタンプの要求、タイムスタンプが付与されたコンテンツデータの公開等を行う。即ち、コンテンツシェアリングシステム80は、第1の実施形態に係るコンテンツシェアリングサーバ10の機能を複数のサーバに分担させたものである。
 ユーザ端末60は、例えばパーソナルコンピュータであり、それぞれ異なるユーザによって操作が可能となっている。ユーザ端末60は、コンテンツ生成装置70と接続ケーブル等を介して着脱可能となっており、コンテンツ生成装置70が接続された際に、コンテンツ生成装置70からコンテンツデータデータを取得し、コンテンツシェアリングシステム80に送信することができる。なお、ユーザ端末60は、コンテンツ生成装置70と無線通信を行ってもよい。
 また、ユーザは、ユーザ端末60を用いて、コンテンツデータの閲覧をコンテンツシェアリングシステム80に要求することができる。コンテンツシェアリングシステム80は、閲覧要求を受けたコンテンツデータをユーザ端末60に出力する。ユーザ端末60は、コンテンツシェアリングシステム80から与えられたコンテンツデータを表示部65に表示する。ユーザ端末60は、図14に示すパーソナルコンピュータに限られない。例えば、ユーザ端末60は、テレビジョン受信機、カーナビ、携帯電話機、ゲーム機、音楽プレーヤ、スマートフォン、スマートタブレット等であってもよい。
 コンテンツ生成装置70は、例えばビデオカメラであり、ユーザの操作によりコンテンツデータ、例えば画像データを生成することができる。また、コンテンツ生成装置70は、コンテンツデータ及びCDデータをコンテンツシェアリングシステム80に送信することができる。また、コンテンツ生成装置70は、接続ケーブル等を介してユーザ端末60に着脱可能となっている。コンテンツ生成装置70は、ユーザ端末60に接続された際に、コンテンツデータをユーザ端末60に送信することができる。なお、コンテンツ生成装置70は、コンテンツデータの生成、コンテンツシェアリングシステム80との通信、及びユーザ端末60への着脱が可能であれば、どのようなものであってもよい。例えば、コンテンツ生成装置70は、携帯電話機、スマートフォン、スマートタブレット等であってもよい。
<2-2.情報処理システムの詳細な構成>
[ユーザ端末の構成]
 次に、情報処理システムの詳細な構成について説明する。まず、図15に基づいて、ユーザ端末(情報処理装置)60の構成について説明する。ユーザ端末60は、記憶部61、通信部62、接続検知部63、入力操作部64、表示部65、及び制御部66を備える。なお、ユーザ端末60は、CPU、ROM、RAM、ハードディスク、通信装置、キーボード、マウス、図に示さないコネクタ、ディスプレイ等の各種ハードウェア構成を備えており、CPUがROMに記憶されたプログラムを読みだして実行することで、各種の処理を行う。即ち、ROMには、ユーザ端末60に、記憶部61、通信部62、接続検知部63、入力操作部64、表示部65、及び制御部66を実現させるためのプログラムが記憶されている。コネクタは、接続ケーブルが接続される部分である。
 記憶部61は、ユーザ端末60が各種の処理を行うために必要なデータ、例えばプログラム、画像データ、音声データ、各種公開鍵、及び各種公開関数(例えば、上述したハッシュ関数)等を記憶する。また、記憶部61は、ユーザ端末60のユーザを識別するための識別データ、例えばユーザIDを記憶する。通信部62は、コンテンツシェアリングシステム80とネットワーク50を介して通信を行う。また、通信部62は、コンテンツ生成装置70が接続された際に、コンテンツ生成装置70との間で通信を行う。
 接続検知部63は、コンテンツ生成装置70が接続されたことを検知し、その旨を示す接続検知データを制御部66に出力する。入力操作部64は、例えばキーボード及びマウスであり、ユーザによる入力操作に応じた入力操作データを制御部66に出力する。表示部65はいわゆるディスプレイであり、各種の画像データ、音声データを提示(出力)する。
 制御部66は、ユーザ端末60の各構成要素を制御する他、コンテンツ取得部661、コンテンツ要約データ生成部(CDデータ生成部)662、通信対象データ決定部663、及び検証部664としても機能する。コンテンツ取得部661は、通信部62を介してコンテンツ生成装置70からコンテンツデータを取得する。コンテンツ要約データ生成部662は、コンテンツデータをハッシュ関数に入力することで、コンテンツデータのハッシュ値、即ちCDデータを生成する。通信対象データ決定部663は、コンテンツデータ及びCDデータのうち、コンテンツシェアリングシステム80との通信の対象となる通信対象データを決定する。通信対象データには、通信対象データの内容、即ち現在の通信状態に関する状態データが付与される。検証部664は、コンテンツシェアリングサーバ80から提供されたコンテンツパッケージデータ(CPデータ)が適正か否かを検証する。
[コンテンツ生成装置の構成]
 次に、図16に基づいて、コンテンツ生成装置(情報処理装置)70の構成について説明する。コンテンツ生成装置70は、記憶部71、通信部72、撮像部73、入力操作部74、表示部75、及び制御部76を備える。なお、コンテンツ生成装置70は、CPU、ROM、RAM、撮像装置、通信装置、撮像ボタン等の各種ボタン、タッチパネル、図に示さないコネクタ、ディスプレイ等の各種ハードウェア構成を備えており、CPUがROMに記憶されたプログラムを読みだして実行することで、各種の処理を行う。即ち、ROMには、コンテンツ生成装置70に、記憶部71、通信部72、撮像部73、入力操作部74、表示部75、及び制御部76を実現させるためのプログラムが記憶されている。コネクタは、接続ケーブルが接続される部分である。
 記憶部71は、コンテンツ生成装置70が各種の処理を行うために必要なデータ、例えばプログラム、画像データ、音声データ、各種公開鍵、及び各種公開関数(例えば、上述したハッシュ関数)等を記憶する。また、記憶部71は、コンテンツ生成装置70を識別するための識別データ、例えばMACアドレスを記憶する。通信部72は、コンテンツシェアリングシステム80とネットワーク50を介して無線通信を行う。また、通信部72は、コンテンツシェアリングシステム80との間の通信帯域の広さを検出し、検出結果に関する通信帯域データを制御部76に出力する。また、通信部72は、ユーザ端末60が接続された際に、ユーザ端末60との間で通信を行う。
 撮像部73は、コンテンツ生成装置70の周辺を撮影することで画像データ、即ちコンテンツデータを生成し、制御部76に出力する。入力操作部74は、例えば各種ボタン及びタッチパネルであり、ユーザによる入力操作に応じた入力操作データを制御部76に出力する。表示部75はいわゆるディスプレイであり、各種の画像データを提示(出力)する。
 制御部76は、コンテンツ生成装置70の各構成要素を制御する他、コンテンツ取得部761、コンテンツ要約データ生成部(CDデータ生成部)762、及び通信対象データ決定部763としても機能する。コンテンツ取得部761は、撮像部73にコンテンツデータを生成させ、撮像部73からコンテンツデータを取得する。コンテンツ要約データ生成部762は、コンテンツデータをハッシュ関数に入力することで、コンテンツデータのハッシュ値、即ちCDデータを生成する。通信対象データ決定部763は、コンテンツデータ及びCDデータのうち、コンテンツシェアリングシステム80との無線通信の対象となる通信対象データを決定する。通信対象データには、通信対象データの内容、即ち現在の通信状態に関する状態データが付与される。
[コンテンツシェアリングシステムの構成]
 次に、コンテンツシェアリングシステム80の構成について説明する。コンテンツシェアリングシステム80は、第1の実施形態に係るコンテンツシェアリングサーバ10の機能を複数のサーバに分担させたものである。即ち、コンテンツシェアリングシステム80は、ウェブサーバ81、ストレージサーバ82、データベースサーバ83、及びタイムスタンプ取得エンジン84を備える。
[ウェブサーバの構成]
 ウェブサーバ(第1の情報処理装置)81は、図17に示すように、記憶部810、通信部811、及び制御部812を備える。なお、ウェブサーバ81は、CPU、ROM、RAM、ハードディスク、通信装置等の各種ハードウェア構成を備えており、CPUがROMに記憶されたプログラムを読みだして実行することで、各種の処理を行う。即ち、ROMには、ウェブサーバ81に、記憶部810、通信部811、及び制御部812を実現させるためのプログラムが記憶されている。
 記憶部810には、ウェブサーバ81が各種の処理を行うのに必要な各種データ、例えばプログラム、画像データ、音声データ、各種公開鍵、及び各種公開関数(例えば、上述したハッシュ関数)等を記憶する。
 記憶部810は、ユーザIDとMACアドレスとを関連付けて記録するMACアドレス関連テーブルを記憶する。また、記憶部810は、コンテンツ情報データ(CIデータ)と乱数データとを関連付けて記録するCIデータ関連テーブルを記憶する。CIデータは、CDデータにユーザIDを組み合わせたものである。即ち、第2の実施形態のCIデータは、第1の実施形態のCIデータよりも簡素化されている(図6参照)。乱数データは、コンテンツデータとCDデータ(具体的には、CIデータ内のCDデータ)とを関連付けるための関連付け用データである。
 また、記憶部810は、図18に示す不正処理決定テーブルを記憶する。不正処理決定テーブルは、不正処理の種類と不正処理の内容とを関連付けて記録する。不正処理は、ユーザから送信(投稿)されたコンテンツデータに不正があった場合(即ち、ユーザから投稿されたコンテンツデータと他のユーザが所有するコンテンツデータとが近似する場合)に実行される。ここでは、不正処理は4種類存在する。不正処理は、「適正なコンテンツデータを所有するユーザへの通知」、及び「不正なコンテンツデータの投稿の拒絶」に区分され、不正処理の種類ごとに、これらの区分を実行するか否かが異なる。なお、どの種類の不正処理が実行されるかについては、ウェブサーバ81が任意に決定してもよいし、適正なコンテンツデータを投稿したユーザが任意に決定してもよい。
 通信部811は、ネットワーク50を介してユーザ端末60及びコンテンツ生成装置70と通信を行う他、コンテンツシェアリングシステム80の他の構成要素との間で通信を行う。制御部812は、ウェブサーバ81の各構成要素を制御する他、ユーザ要求処理部813、状態判定部814、コンテンツ要約データ生成部815、コンテンツ情報データ生成部816、及び不正判定部817としても機能する。
 ユーザ要求処理部813は、ユーザに対する窓口としての機能を果たす部分であり、ユーザからのリクエストに応じた処理を行い、レスポンスを行なう。例えば、ユーザ要求処理部813は、ログインの受付、コンテンツデータの投稿の受付、及びコンテンツデータの公開等を行なう。
 状態判定部814は、状態データに基づいて、コンテンツシェアリングシステム80とコンテンツ生成装置70との間の通信状態を判定する。コンテンツ要約データ生成部(CDデータ生成部)815は、コンテンツデータをハッシュ関数に入力することで、CDデータを生成する。コンテンツ情報データ生成部(CIデータ生成部)816は、CDデータにユーザIDを組み合わせることで、CIデータを生成する。即ち、第2の実施形態のCIデータは、第1の実施形態のCIデータよりも簡素化されている(図6参照)。不正判定部817は、ユーザから投稿されたコンテンツデータが適正か否かを判定する。
[ストレージサーバの構成]
 ストレージサーバ(第3の情報処理装置)82は、図19に示すように、記憶部820、通信部821、及び制御部822を備える。なお、ストレージサーバ82は、CPU、ROM、RAM、ハードディスク、通信装置等の各種ハードウェア構成を備えており、CPUがROMに記憶されたプログラムを読みだして実行することで、各種の処理を行う。即ち、ROMには、ストレージサーバ82に、記憶部820、通信部821、及び制御部822を実現させるためのプログラムが記憶されている。
 記憶部820は、ストレージサーバ82が各種の処理を行うのに必要な各種データ、例えばプログラム等を記憶する。また、記憶部820は、コンテンツデータ、タイムスタンプタグデータ、及びACIDデータ(リスト)を記憶する。タイムスタンプタグデータ及びACIDデータは、第1の実施形態と同様である。即ち、タイムスタンプタグデータは、タイムスタンプオーソリティID、タイムスタンプ日時データ、DACIDデータ、及び署名データで構成される。DACIDデータは、ACIDデータのハッシュ値である。ACIDデータは、CIDデータを集約したもの、即ちCIDデータのリストであり、CIDデータは、CIデータのハッシュ値である。
 通信部821は、コンテンツシェアリングシステム80の他の構成要素との間で通信を行う。制御部822は、ストレージサーバ82の各構成要素を制御する。
[データベースサーバの構成]
 データベースサーバ(第4の情報処理装置)83は、図20に示すように、記憶部830、通信部831、及び制御部832を備える。なお、データベースサーバ83は、CPU、ROM、RAM、ハードディスク、通信装置等の各種ハードウェア構成を備えており、CPUがROMに記憶されたプログラムを読みだして実行することで、各種の処理を行う。即ち、ROMには、データベースサーバ83に、記憶部830、通信部831、及び制御部832を実現させるためのプログラムが記憶されている。
 記憶部830には、データベースサーバ83が各種の処理を行うのに必要な各種データ、例えばプログラム等を記憶する。また、記憶部830は、図21に示すコンテンツ情報管理テーブル及び図22に示すタイムスタンプ情報管理テーブルを記憶する。
 コンテンツ情報管理テーブルは、コンテンツID、ユーザID、コンテンツパスデータ、CDデータ、特徴量データ、受信日時データ、及びタイムスタンプIDを関連付けて記録する。コンテンツIDは、コンテンツデータを識別するための識別情報であり、ユーザIDは、ユーザを識別するための識別情報である。特徴量データは、コンテンツデータの特徴量を示し、例えばSIFTアルゴリズムにより算出される。具体的には後述する。コンテンツパスデータは、コンテンツデータのストレージサーバ82内での所在(アドレス)を示す。受信日時データは、ウェブサーバ81がコンテンツデータを受信した日時を示す。タイムスタンプIDは、タイムスタンプタグデータを識別するための識別情報である。
 タイムスタンプ情報管理テーブルは、タイムスタンプID、タイムスタンプパスデータ、ACIDパスデータ、DACIDデータ、及びタイムスタンプ日時データ(タイムスタンプタイムデータ)を関連付けて記録する。タイムスタンプパスデータは、タイムスタンプタグのストレージサーバ82内での所在(アドレス)を示す。ACIDパスデータは、ACIDデータのストレージサーバ82内での所在(アドレス)を示す。DACIDデータは、ACIDデータのハッシュ値である。タイムスタンプ日時データは、コンテンツデータにタイムスタンプが付与された日時を示す。コンテンツ情報管理テーブルとタイムスタンプ情報管理テーブルとは、タイムスタンプIDによって関連付けられる。したがって、データベースサーバ83は、コンテンツIDと、コンテンツパスデータと、タイムスタンプパスデータとを関連付けて記憶する。
 通信部831は、コンテンツシェアリングシステム80の他の構成要素との間で通信を行う。制御部832は、データベースサーバ83の各構成要素を制御する。
[タイムスタンプ取得エンジンの構成]
 タイムスタンプ取得エンジン(第2の情報処理装置)84は、図23に示すように、記憶部840、通信部841、及び制御部842を備える。なお、タイムスタンプ取得エンジン84は、CPU、ROM、RAM、ハードディスク、通信装置等の各種ハードウェア構成を備えており、CPUがROMに記憶されたプログラムを読みだして実行することで、各種の処理を行う。即ち、ROMには、タイムスタンプ取得エンジン84に、記憶部840、通信部841、及び制御部842を実現させるためのプログラムが記憶されている。
 記憶部840には、タイムスタンプ取得エンジン84が各種の処理を行うのに必要な各種データ、例えばプログラム等を記憶する。また、記憶部840は、適正なタイムスタンプタグデータが取得されたか否かを示すタイムスタンプフラグを記憶する。
 通信部841は、コンテンツシェアリングシステム80の他の構成要素との間で通信を行う。制御部842は、タイムスタンプ取得エンジン84の各構成要素を制御する他、コンテンツ情報要約データ生成部(CIDデータ生成部)843、集約化コンテンツ情報要約データ生成部(ACIDデータ生成部)844、及び要求データ生成部845としても機能する。CIDデータ生成部843は、CIデータをハッシュ関数に入力することで、CIデータのハッシュ値、即ちCIDデータを生成する。ACIDデータ生成部844は、CIDデータが集約されたデータ、即ちACIDデータを生成する。要求データ生成部845は、ACIDデータをハッシュ関数に入力することで、DACIDデータを生成する。要求データ生成部845は、タイムスタンプを要求するタイムスタンプ要求データとDACIDデータとを通信部841に出力する。通信部841は、これらのデータをタイムスタンプ付与サーバ20に送信する。したがって、要求データ生成部845は、タイムスタンプ付与サーバ20にタイムスタンプを要求する。
<2-3.情報処理システムによる処理>
[コンテンツ生成装置による処理]
 次に、情報処理システム200による処理の手順について説明する。まず、図24に基づいて、コンテンツ生成装置70による処理の手順について説明する。
 ステップS400において、撮像部73は、画像データ、即ちコンテンツデータを生成し、コンテンツ取得部761に出力する。コンテンツ取得部761は、コンテンツデータを記憶部71に記憶する。なお、このコンテンツデータには、ユーザの個人情報(例えば、撮影場所を示す位置情報)を示す個人情報データが付与されていてもよい。この個人情報データは、例えば、コンテンツデータのExifヘッダに格納される。
 ステップS410において、コンテンツ取得部761は、コンテンツ生成装置70がCDデータ生成用のリソース、即ちCDデータ生成部762を有しているか否かを判定する。コンテンツ取得部761は、コンテンツ生成装置70がCDデータ生成部762を有していると判定した場合には、ステップS420に進み、コンテンツ生成装置70がCDデータ生成部762を有していないと判定した場合には、ステップS450に進む。
 ステップS420において、CDデータ生成部762は、記憶部71からコンテンツデータを取得し、コンテンツデータをハッシュ関数に入力することで、CDデータを生成する。CDデータ生成部762は、コンテンツデータとCDデータとを関連付けて記憶部71に記憶する。
 ステップS430において、通信部72は、ウェブサーバ81との間の通信帯域の広さを検出し、検出結果に関する通信帯域データを通信対象データ決定部763に出力する。通信対象データ決定部763は、通信帯域の広さが所定の閾値Tよりも大きいか否かを判定する。通信対象データ決定部763は、通信帯域の広さが閾値Tよりも大きいと判定した場合には、ステップS440に進み、通信帯域の広さが閾値T以下であると判定した場合には、ステップS470に進む。
 ステップS440において、通信対象データ決定部763は、コンテンツデータ及びCDデータを通信対象データに決定し、コンテンツ生成装置70のMACアドレス、コンテンツデータ、CDデータ、及び「1」を示す状態データを含む通信対象データを生成する。通信対象データ決定部763は、通信対象データを通信部72に出力し、通信部72は、通信対象データをウェブサーバ81に送信する。その後、コンテンツ生成装置70は、処理を終了する。したがって、状態データが「1」となる場合、その状態データは、ウェブサーバ81にコンテンツデータ及びCDデータが送信されたという通信状態を示す。
 ステップS450において、通信部72は、ウェブサーバ81との間の通信帯域の広さを検出し、検出結果に関する通信帯域データを通信対象データ決定部763に出力する。通信対象データ決定部763は、通信帯域の広さが所定の閾値Tよりも大きいか否かを判定する。通信対象データ決定部763は、通信帯域の広さが閾値Tよりも大きいと判定した場合には、ステップS460に進む。一方、通信対象データ決定部763は、通信帯域の広さが閾値T以下であると判定した場合には、コンテンツデータが未送信であることを示す未送信フラグをコンテンツデータに関連付けて記憶部71に記憶し、処理を終了する。なお、後者の場合、コンテンツデータは、コンテンツ生成装置70がユーザ端末60に接続された際にウェブサーバ81に送信されることとなる。
 ステップS460において、通信対象データ決定部763は、コンテンツデータを通信対象データに決定し、コンテンツ生成装置70のMACアドレス、コンテンツデータ及び「0」を示す状態データを含む通信対象データを生成する。通信対象データ決定部763は、通信対象データを通信部72に出力し、通信部72は、通信対象データをウェブサーバ81に送信する。その後、コンテンツ生成装置70は、処理を終了する。したがって、状態データが「0」となる場合、その状態データは、ウェブサーバ81にコンテンツデータが送信されたという通信状態を示す。
 ステップS470において、通信対象データ決定部763は、コンテンツデータ及びCDデータを関連付けるための関連付け用データとして、乱数データを生成する。
 ステップS480において、通信対象データ決定部763は、CDデータを通信対象データに決定し、コンテンツ生成装置70のMACアドレス、CDデータ、乱数、及び「2」を示す状態データを含む通信対象データを生成する。通信対象データ決定部763は、通信対象データを通信部72に出力し、通信部72は、通信対象データをウェブサーバ81に送信する。したがって、状態データが「2」となる場合、その状態データは、ウェブサーバ81にCDデータ及び乱数データが送信されたという通信状態を示す。
 ステップS490において、通信対象データ決定部763は、コンテンツデータ、CDデータ、及び乱数データを関連付けて記憶部71に記憶する。即ち、通信対象データ決定部763は、コンテンツデータに乱数データを付与する。
 ステップS500において、通信部72は、ウェブサーバ81との間の通信帯域の広さを再度検出し、検出結果に関する通信帯域データを通信対象データ決定部763に出力する。通信対象データ決定部763は、通信帯域の広さが所定の閾値Tよりも大きいか否かを判定する。通信対象データ決定部763は、通信帯域の広さが閾値Tよりも大きいと判定した場合には、ステップS510に進む。一方、通信対象データ決定部763は、通信帯域の広さが閾値T以下であると判定した場合には、コンテンツデータが未送信であることを示す未送信フラグをコンテンツデータに関連付けて記憶部71に記憶し処理を終了する。なお、後者の場合、コンテンツデータは、コンテンツ生成装置70がユーザ端末60に接続された際にウェブサーバ81に送信されることとなる。
 ステップS510において、通信対象データ決定部763は、コンテンツデータを通信対象データに決定し、コンテンツ生成装置70のMACアドレス、コンテンツデータ、コンテンツデータに関連付けられた乱数、及び「3」を示す状態データを含む通信対象データを生成する。通信対象データ決定部763は、通信対象データを通信部72に出力し、通信部72は、通信対象データをウェブサーバ81に送信する。その後、コンテンツ生成装置70は、処理を終了する。したがって、状態データが「3」となる場合、その状態データは、ウェブサーバ81にコンテンツデータ及び乱数データが送信されたという通信状態を示す。
 このように、コンテンツ生成装置70は、通信対象データとしてCDデータをウェブサーバ81に送信することができるので、コンテンツシェアリングシステム80は、CDデータを生成する手間を省くことができる。これにより、コンテンツシェアリングシステム80の処理負荷が低減される。また、コンテンツ生成装置70は、コンテンツ生成装置70のリソース及びウェブサーバ81との通信帯域の広さに基づいて、通信対象データを決定する。したがって、コンテンツ生成装置70は、通信対象データをより確実かつ迅速にウェブサーバ81に送信することができる。また、コンテンツ生成装置70は、コンテンツデータの生成時に自動的にコンテンツデータ及びCDデータのうち少なくとも一方を送信する。したがって、コンテンツ生成装置70は、コンテンツデータが生成された日時と、タイムスタンプが保証する日時、即ちタイムスタンプが付与された日時との間隔を狭めることができる。
[ユーザ端末による処理]
 次に、図25に基づいて、ユーザ端末60による処理の手順について説明する。ステップS520において、コンテンツ取得部661は、接続検知部63から接続検知データが与えられたか否かを判定する。コンテンツ取得部661は、接続検知データが与えられたと判定した場合には、ステップS530に進み、接続検知データが与えられないと判定した場合には、処理を終了する。
 ステップS530において、コンテンツ取得部661は、通信部62を介してコンテンツ生成装置70にアクセスし、記憶部71からコンテンツデータ及びコンテンツデータに関連付けられた各種データを読みだす。コンテンツ取得部661は、これらのデータを記憶部61に記憶する。
 ステップS540において、コンテンツ取得部661は、未送信のコンテンツデータ、即ち未送信フラグが関連付けられたコンテンツデータが存在するか否かを判定する。コンテンツ取得部661は、未送信のコンテンツデータが存在すると判定した場合には、ステップS550に進み、未送信のコンテンツデータが存在しないと判定した場合には、処理を終了する。ユーザ端末60は、未送信のコンテンツデータに対して、ステップS550以降の処理を行う。
 ステップS550において、コンテンツ取得部661は、コンテンツデータ付随の個人情報データを削除する旨の設定がなされているか否かを判定する。なお、ユーザは、入力操作部64を用いた入力操作により、このような設定を行うことができる。設定内容は記憶部61に記憶される。コンテンツ取得部661は、当該設定がなされていると判定した場合には、ステップS560に進み、当該設定がなされていないと判定した場合には、ステップS570に進む。
 ステップS560において、コンテンツ取得部661は、コンテンツデータから個人情報データを削除する。なお、ステップS550~S560の処理は、コンテンツ生成装置70により行われてもよい。
 ステップS570において、コンテンツ取得部661は、CDデータが算出済みであるか、即ち、コンテンツデータにCDデータが関連付けられているか否かを判定する。コンテンツ取得部661は、CDデータが算出済みであると判定した場合には、ステップS660に進み、CDデータが算出されてないと判定した場合には、ステップS580に進む。
 ステップS580において、コンテンツ取得部661は、ユーザ端末60がCDデータ生成用のリソース、即ちCDデータ生成部662を有しているか否かを判定する。コンテンツ取得部661は、ユーザ端末60がCDデータ生成部662を有していると判定した場合には、ステップS590に進み、ユーザ端末60がCDデータ生成部662を有していないと判定した場合には、ステップS620に進む。
 ステップS590において、CDデータ生成部662は、記憶部61からコンテンツデータを取得し、コンテンツデータをハッシュ関数に入力することで、CDデータを生成する。CDデータ生成部662は、コンテンツデータとCDデータとを関連付けて記憶部61に記憶する。
 ステップS600において、通信対象データ決定部663は、コンテンツデータ及びCDデータを同時にウェブサーバ81に送信する旨の設定がなされているか否かを判定する。なお、ユーザは、入力操作部64を用いた入力操作により、このような設定を行うことができる。設定内容は記憶部61に記憶される。通信対象データ決定部663は、当該設定がなされていると判定した場合には、ステップS610に進み、当該設定がなされていないと判定した場合には、ステップS630に進む。
 ステップS610において、通信対象データ決定部663は、コンテンツデータ及びCDデータを通信対象データに決定し、ユーザID、コンテンツデータ、CDデータ、及び「1」を示す状態データを含む通信対象データを生成する。通信対象データ決定部663は、通信対象データを通信部62に出力し、通信部62は、通信対象データをウェブサーバ81に送信する。その後、ユーザ端末60は、処理を終了する。
 ステップS620において、通信対象データ決定部663は、コンテンツデータを通信対象データに決定し、ユーザID、コンテンツデータ及び「0」を示す状態データを含む通信対象データを生成する。通信対象データ決定部663は、通信対象データを通信部62に出力し、通信部62は、通信対象データをウェブサーバ81に送信する。その後、コンテンツ生成装置70は、処理を終了する。
 ステップS630において、通信対象データ決定部663は、コンテンツデータ及びCDデータを関連付けるための関連付け用データとして、乱数データを生成する。
 ステップS640において、通信対象データ決定部663は、CDデータを通信対象データに決定し、ユーザID、CDデータ、乱数、及び「2」を示す状態データを含む通信対象データを生成する。通信対象データ決定部663は、通信対象データを通信部62に出力し、通信部62は、通信対象データをウェブサーバ81に送信する。
 ステップS650において、通信対象データ決定部663は、コンテンツデータ、CDデータ、及び乱数データを関連付けて記憶部61に記憶する。即ち、通信対象データ決定部663は、コンテンツデータに乱数データを付与する。
 ステップS660において、通信対象データ決定部663は、コンテンツデータを通信対象データに決定し、ユーザID、コンテンツデータ、コンテンツデータに関連付けられた乱数、及び「3」を示す状態データを含む通信対象データを生成する。通信対象データ決定部663は、通信対象データを通信部62に出力し、通信部62は、通信対象データをウェブサーバ81に送信する。
 このように、ユーザ端末60は、通信対象データとしてCDデータをウェブサーバ81に送信することができるので、コンテンツシェアリングシステム80は、CDデータを生成する手間を省くことができる。これにより、コンテンツシェアリングシステム80の処理負荷が低減される。また、ユーザ端末60は、ユーザ端末60のリソース、及びコンテンツ生成装置70がウェブサーバ81に送信したデータに基づいて、通信対象データを決定する。したがって、ユーザ端末60は、通信対象データをより確実かつ迅速にウェブサーバ81に送信することができる。また、ユーザ端末60は、コンテンツ生成装置70の接続時に自動的にコンテンツデータ及びCDデータのうち少なくとも一方を送信する。したがって、ユーザ端末60は、コンテンツデータが生成された日時と、タイムスタンプが保証する日時、即ちタイムスタンプが付与された日時との間隔を狭めることができる。また、ユーザ端末60は、ユーザによる設定により、コンテンツデータ付随の個人情報データを削除することができるので、個人情報データがユーザの意図に反してコンテンツシェアリングシステム80に登録されることを防止することができる。
[ウェブサーバによる処理]
 次に、ウェブサーバ81による処理を図26に基づいて説明する。ステップS670において、通信部811は、通信対象データを受信し、状態判定部814に出力する。ステップS680において、状態判定部814は、通信対象データに含まれる状態データが「0」を示すか否かを判定する。状態判定部814は、状態データが「0」を示すと判定した場合には、ステップS690に進み、状態データが「0」以外を示すと判定した場合には、ステップS720に進む。
 ステップS690において、CDデータ生成部815は、通信対象データに含まれるコンテンツデータをハッシュ関数に入力することで、CDデータを生成する。ステップS700において、CIデータ生成部816は、通信対象データからユーザIDを取得し、ユーザIDとCDデータとを組み合わせることで、CIデータを生成する。なお、このCDデータは、ステップ690の処理が行われた場合には、ステップS690で算出されたものとなり、ステップS720の処理が行われた場合には、通信対象データに含まれるものとなる。CIデータ生成部816は、通信対象データにMACアドレスが含まれる場合、MACアドレス関連テーブルから当該MACアドレスに対応するユーザIDを取得し、このユーザIDとCDデータとを組み合わせることで、CIデータを生成する。CIデータ生成部816は、コンテンツデータとCIデータとを関連付ける。
 ステップS710において、不正判定部817は、図27に示す不正検出処理を行なう。不正検出処理は、概略的には、コンテンツデータが適正か否か(他のユーザが所有するコンテンツデータに近似しているか否か)を判定する処理である。その後、ウェブサーバ81は、処理を終了する。
 ステップS720において、状態判定部814は、通信対象データに含まれる状態データが「1」を示すか否かを判定する。状態判定部814は、状態データが「1」を示すと判定した場合には、ステップS700に進み、状態データが「2」または「3」を示すと判定した場合には、ステップS730に進む。
 ステップS730において、状態判定部814は、通信対象データに含まれる状態データが「2」を示すか否かを判定する。状態判定部814は、状態データが「2」を示すと判定した場合には、ステップS740に進み、状態データが「3」を示すと判定した場合には、ステップS760に進む。
 ステップS740において、CIデータ生成部816は、通信対象データからユーザID及びCDデータを取得し、ユーザIDとCDデータとを組み合わせることで、CIデータを生成する。CIデータ生成部816は、通信対象データにMACアドレスが含まれる場合、MACアドレス関連テーブルから当該MACアドレスに対応するユーザIDを取得し、このユーザIDとCDデータとを組み合わせることで、CIデータを生成する。
 ステップS750において、CIデータ生成部816は、通信対象データに含まれる乱数データと、CIデータとを関連付けてCIデータ関連テーブルに登録する。その後、ウェブサーバ81は、処理を終了する。
 ステップS760において、CIデータ生成部816は、通信対象データに含まれる乱数データを、CIデータ関連テーブルから検索する。ステップS770において、CIデータ生成部816は、通信対象データに含まれる乱数データがCIデータ関連テーブルに記録されているか否かを判定する。CIデータ生成部816は、乱数データがCIデータ関連テーブルに記録されていると判定した場合には、ステップS780に進む。CIデータ生成部816は、乱数データがCIデータ関連テーブルに記録されていないと判定した場合には、乱数データが不正であると認定し、処理を終了する。
 ステップS780において、CIデータ生成部816は、乱数データに対応するCIデータをCIデータ関連テーブルから取得し、通信対象データに含まれるコンテンツデータとCIデータとを関連付ける。ステップS790において、CIデータ生成部816は、CIデータ関連テーブルから、当該乱数データ及びCIデータを削除する。ステップS800において、不正判定部817は、図27に示す不正検出処理を行なう。その後、ウェブサーバ81は、処理を終了する。
[不正検出処理]
 次に、不正判定部817が行なう不正検出処理を図27に基づいて説明する。ステップS820において、不正判定部817は、コンテンツデータの特徴量を算出する。ここで、コンテンツデータの特徴量は、例えばSIFT(Scale Invariant Feature Transform)アルゴリズムにより算出される。SIFTアルゴリズムにより算出された特徴量は、128次元のベクトル値を有し、コンテンツデータの回転、スケールの変化、照明変化等に対して頑強であるという特徴がある。例えば、コンテンツデータに対してリサイズや切り抜きが行われても、特徴量があまり変化しない。なお、コンテンツデータのハッシュ値、即ちCDデータは、コンテンツデータ同士がほとんど変わらなくても値が大きく変化する場合がある。このため、CDデータ同士を比較するよりも、特徴量データ同士を比較したほうが、コンテンツデータが適正か否かを正確に判定することができる。なお、SIFTアルゴリズムについては、例えば、「David G. Lowe, ’Distinctive image features from scale-invariant keypoints,’ International Journal of Computer Vision, 60, 2 (2004), pp. 91-110」に詳細に記載されている。
 ステップS830において、不正判定部817は、データベースサーバ83にアクセスし、コンテンツ情報管理テーブルを取得する。そして、不正判定部817は、算出された特徴量データ、即ち比較対象特徴量データと、コンテンツ情報管理テーブルのいずれかの行に格納された特徴量データ、即ち基準特徴量データとの近似度を算出する。ここで、近似度は、特徴量データ同士が近似する度合いを示す。不正判定部817は、例えば、比較対象特徴量データと基準特徴量データとの差分値を次元毎に算出し、これらの差分値の算術平均値に対応する値を近似度とする。この場合、近似度は、算術平均値が大きいほど小さくなる。
 不正判定部817は、近似度が所定の閾値を超えるか否かを判定し、近似度が閾値を超えると判定した場合には、ステップS870に進み、近似度が閾値以下であると判定した場合には、ステップS850に進む。
 不正判定部817は、ステップS850において、不正判定部817は、比較対象特徴量データと比較していない基準特徴量データが存在するか否かを判定する。不正判定部817は、比較対象特徴量データと比較していない基準特徴量が存在すると判定した場合には、ステップS830に戻り、すべての基準特徴量データと比較対象特徴量データとを比較したと判定した場合には、ステップS860に進む。
 ステップS860において、ユーザ要求処理部813は、ユーザから送信されたコンテンツデータをコンテンツ情報管理テーブルに登録する。具体的には、ユーザ要求処理部813は、図28に示すコンテンツ登録処理を行なう。
 ステップS870において、不正判定部817は、不正処理決定テーブルに登録された不正処理のうち、予め設定された不正処理を実行する。このような設定は、ウェブサーバ81が任意に行なってもよいが、適正なコンテンツデータを投稿したユーザ(適正ユーザ)が任意に設定してもよい。なお、適正ユーザへの通知は、例えば、不正なコンテンツデータを受信したことを示すデータ(例えば画像データや音声データ)を適正ユーザのユーザ端末60に送信することで行われる。また、投稿が拒絶されない場合、ステップS860と同様の処理が行われる。その後、不正判定部817は不正検出処理を終了する。
 ウェブサーバ81は、このようは不正検出処理を行なうことで、ユーザによる不正な投稿をより確実に防止することができる。不正な投稿としては、例えば、以下のような事例が想定される。即ち、ユーザ40bがユーザ40aによって適正に投稿されたコンテンツデータをコンテンツシェアリングシステム80とは別の場所で不正に利用した。そして、ユーザ40cが当該コンテンツデータをコンテンツシェアリングシステム80に投稿しようと試みた。この場合、上述した不正処理が実行される。これにより、ユーザ40cによる不正な投稿が排除されうる。
[コンテンツ登録処理]
 次に、コンテンツ登録処理を図28に基づいて説明する。ステップS880において、ユーザ要求処理部813は、通信対象データに含まれるコンテンツデータをストレージサーバ82に送信し、ストレージサーバ82の制御部822は、コンテンツデータを記憶部820に記憶する。制御部822は、コンテンツデータの所在を示すコンテンツパスデータをウェブサーバ81に送信する。
 ステップS890において、ユーザ要求処理部813は、コンテンツデータにコンテンツIDを割り当てる。さらに、ユーザ要求処理部813は、コンテンツデータを受信した日時(具体的には、コンテンツデータを含む通信対象データを受信した日時)を示す受信日時データを生成する。ステップS910において、ユーザ要求処理部813は、コンテンツID、ユーザID、コンテンツパスデータ、CDデータ、特徴量データ、及び受信日時データを関連付けてデータベースサーバ83に送信する。データベースサーバ83の制御部832は、コンテンツ情報管理テーブルにこれらのデータを関連付けて記録する。なお、この時点では、タイムスタンプIDは初期値(例えば「0」)とされる。
[タイムスタンプ取得エンジンによる処理]
 次に、タイムスタンプ取得エンジン84による処理を図29に基づいて説明する。なお、タイムスタンプ取得エンジン84は、図29による処理を一定時間ごとに行う。また、タイムスタンプ取得エンジン84は、コンテンツシェアリングシステム80を構成する他のサーバによる処理や、ユーザによるリクエストとは関係なく処理を行なう。
 ステップS920において、CIDデータ生成部843は、データベースサーバ83内のコンテンツ情報管理テーブルにアクセスする。ステップS930において、CIDデータ生成部843は、コンテンツ情報管理テーブルに、タイムスタンプIDが「0」となる行(エントリ)が1以上存在するか否かを判定する。CIDデータ生成部843は、タイムスタンプIDが「0」となるエントリが1以上存在すると判定した場合、ステップS940に進み、タイムスタンプIDが「0」となるエントリが存在しないと判定した場合、ステップS931に進む。CIDデータ生成部843は、タイムスタンプIDが「0」となるエントリに基づいて、以下の処理を行う。
 ステップS931において、CIDデータ生成部843は、タイムスタンプフラグが立っているか否かを判定する。CIDデータ生成部843は、タイムスタンプフラグが立っていると判定した場合には、ACIDパスデータ(このACIDパスデータは、後述するステップS980で与えられる)を参照することで、ACIDデータをストレージサーバ82から取得する。その後、CIDデータ生成部843は、ステップS990に進む。一方、CIDデータ生成部843は、タイムスタンプフラグがクリアされていると判定した場合には、処理を終了する。
 ステップS940において、CIDデータ生成部843は、タイムスタンプフラグが立っているか否かを判定する。CIDデータ生成部843は、タイムスタンプフラグが立っていると判定した場合には、ステップS960に進み、タイムスタンプフラグがクリアされていると判定した場合には、ステップS950に進む。
 ステップS950において、ACIDデータ生成部844は、空のACIDデータを生成する。ステップS960において、CIDデータ生成部843は、エントリ内のユーザIDとCDデータとを組み合わせることでCIデータを生成し、CIデータをハッシュ関数に入力することで、CIDデータを生成する。
 ステップS970において、ACIDデータ生成部844は、ACIDデータの末尾にCIDデータを追加する。ステップS980において、ACIDデータ生成部844は、ACIDデータをストレージサーバ82に送信する。ストレージサーバ82の制御部822は、ACIDデータを記憶部820に記憶する。制御部822は、ACIDデータの所在を示すACIDパスデータをタイムスタンプ取得エンジン84に送信する。ACIDデータ生成部844は、ACIDパスデータを記憶部840に記憶する。
 ステップS990において、要求データ生成部845は、ACIDデータをハッシュ関数に入力することで、DACIDデータを生成する。ステップS1000において、要求データ生成部845は、タイムスタンプを要求するタイムスタンプ要求データとDACIDデータとをタイムスタンプ付与サーバ20に送信する。これに応じて、タイムスタンプ付与サーバ20は、タイムスタンプタグデータを生成し、タイムスタンプ取得エンジン84に送信する。
 ステップS1010において、要求データ生成部845は、タイムスタンプタグデータを受信したか否かを判定する。要求データ生成部845は、タイムスタンプタグデータを取得したと判定した場合には、ステップS1020に進み、タイムスタンプタグデータを受信していないと判定した場合には、ステップS1070に進む。
 ステップS1020において、要求データ生成部845は、タイムスタンプタグデータの検証を行なう。具体的には、要求データ生成部845は、タイムスタンプオーソリティ30から事前に取得したタイムスタンプオーソリティ30の公開鍵に基づいて、タイムスタンプタグデータ内の署名データが適正か否かを判定する。要求データ生成部845は、タイムスタンプタグデータ内の署名データが適正であると判定した場合には、タイムスタンプタグデータの検証に成功したと判定する。
 ステップS1030において、要求データ生成部845は、タイムスタンプタグデータの検証に成功したか否かを判定する。要求データ生成部845は、タイムスタンプタグデータの検証に成功したと判定した場合には、ステップS1040に進み、タイムスタンプタグデータの検証に失敗したと判定した場合には、ステップS1070に進む。
 ステップS1040において、要求データ生成部845は、タイムスタンプタグデータをストレージサーバ82に送信する。ストレージサーバ82の制御部822は、タイムスタンプタグデータを記憶部820に記憶する。制御部822は、タイムスタンプタグデータの所在を示すタイムスタンプパスデータをタイムスタンプ取得エンジン84に送信する。要求データ生成部845は、タイムスタンプパスデータを記憶部840に記憶する。
 要求データ生成部845は、タイムスタンプタグデータにタイムスタンプIDを付与する。さらに、要求データ生成部845は、タイムスタンプタグデータからタイムスタンプ日時データを取得する。要求データ生成部845は、タイムスタンプID、タイムスタンプパスデータ、ACIDパスデータ、DACIDデータ、及びタイムスタンプ日時データを関連付けてデータベースサーバ83に送信する。データベースサーバ83の制御部832は、これらのデータを関連付けてタイムスタンプ情報管理テーブルに記録する。
 ステップS1060において、要求データ生成部845は、タイムスタンプフラグをクリアする。その後、タイムスタンプ取得エンジン84は、処理を終了する。ステップS1070において、要求データ生成部845は、タイムスタンプフラグを立てる。その後、タイムスタンプ取得エンジン84は、処理を終了する。
 このように、タイムスタンプ取得エンジン84は、コンテンツシェアリングシステム80を構成する他のサーバとは独立して処理を行うことができる。これにより、タイムスタンプ取得エンジン84は、コンテンツシェアリングシステム80のリソースが変動しても、タイムスタンプ取得日時のばらつきを低減することができる。
 また、タイムスタンプ取得エンジン84は、ACIDデータの生成とタイムスタンプ要求とを別のステップで行うので、タイムスタンプの取得や検証に失敗しても、ACIDデータの再生成を行う必要がなくなる。
[コンテンツデータの削除または退会時の処理]
 ウェブサーバ81は、ユーザがコンテンツデータの削除またはコンテンツシェアリングシステム80が提供するサービスからの退会を要求した場合には、以下の処理を行なう。即ち、ユーザ要求処理部813は、上記の要求を受けた場合、ストレージサーバ82から該当するコンテンツデータを削除する。ユーザ要求処理部813は、それ以外のデータ、例えばコンテンツ情報管理テーブル及びタイムスタンプ情報管理テーブル内のデータをそのまま保持する。これにより、ユーザは、コンテンツデータの削除または退会を行った後であっても、タイムスタンプタグデータを取得することができる。具体的には、ユーザ端末60は、ユーザID及びコンテンツデータをウェブサーバ81に送信する。ウェブサーバ81のCDデータ生成部815は、コンテンツデータをハッシュ関数に入力することで、CDデータを生成する。次いで、ユーザ要求処理部813は、ユーザID及びCDデータに対応する行をコンテンツ情報管理テーブルから検索する。次いで、ユーザ要求処理部813は、検索された行からタイムスタンプIDを取得し、このタイムスタンプIDに対応する行をタイムスタンプ情報管理テーブルから検索する。次いで、ユーザ要求処理部813は、検索された行からタイムスタンプパスデータを取得し、このタイムスタンプパスデータに基づいて、ストレージサーバ82からタイムスタンプタグデータを取得する。次いで、ユーザ要求処理部813は、タイムスタンプタグデータをユーザ端末60に送信する。これにより、ユーザは、タイムスタンプタグデータを取得することができる。
[コンテンツデータの公開]
 次に、コンテンツデータの公開について説明する。コンテンツデータの公開は、第1の実施形態と同様にして行われるが、CPデータの内容が異なる。具体的には、まず、ユーザ端末60は、ユーザが指定したコンテンツIDをウェブサーバ81に送信する。これにより、ユーザは、コンテンツデータの閲覧要求を行なう。
 ユーザ要求処理部813は、ユーザからコンテンツデータの閲覧要求があった場合、コンテンツIDに対応する行をコンテンツ情報管理テーブルから検索する。ユーザ要求処理部813は、検索された行からユーザID、コンテンツパスデータ、及びタイムスタンプIDを取得する。次いで、ユーザ要求処理部813は、コンテンツパスデータに基づいて、ストレージサーバ82からコンテンツデータを取得する。さらに、ユーザ要求処理部813はタイムスタンプIDに対応する行をタイムスタンプ情報管理テーブルから検索し、検索された行からACIDパスデータ及びタイムスタンプパスデータを取得する。ユーザ要求処理部813は、これらのパスデータに基づいて、ACIDデータ及びタイムスタンプタグデータをストレージサーバ82から取得する。
 ユーザ要求処理部813は、取得したユーザID、コンテンツデータ、ACIDデータ、及びタイムスタンプタグデータをパッケージングすることで、CPデータを生成する。したがって、第2の実施形態のCPデータは、第1の実施形態のCPデータよりも簡素化されている(図8参照)。なお、これらのデータをパッケージングする方法としては、例えば、これらのデータをzipファイルとしてアーカイブする方法が考えられる(第1の実施形態も同様)。
 次いで、ユーザ要求処理部813は、CPデータをユーザ端末60に送信する。ユーザ端末60の制御部66は、CPデータに基づいて、コンテンツデータを表示部65に表示する。表示例を図31に示す。表示部65は、コンテンツデータIm1の近傍に、当該コンテンツデータIm1にタイムスタンプが付与されていることを示すアイコンIm2を表示する。これにより、コンテンツシェアリングシステム80は、コンテンツデータIm1にタイムスタンプが付与されていることをユーザに強く印象づけることができる。
[検証処理]
 次に、検証処理を図30に基づいて説明する。第2の実施形態では、各ユーザ端末60がCPデータに対して検証処理を行なうことができる。勿論、検証用の検証サーバを別途用意し、この検証サーバに以下の検証処理を行わせてもよい。また、いずれかのユーザ端末60を検証用の端末としてもよい。検証処理は、例えばユーザからのリクエストによって開始される。第2の実施形態の検証処理は、CPデータが各ユーザ端末60または検証サーバに送信され、各ユーザ端末60または検証サーバがCPデータに対して検証処理を行なうという点で、第1の実施形態の検証処理と異なる。
 ステップS1080において、図15に示す検証部664は、CPデータ内のコンテンツデータをハッシュ関数に入力することで、検証用CDデータを生成する。ステップS1090において、検証部664は、CPデータ内のユーザIDと、検証用CDデータとを組み合わせることで、検証用CIDデータを生成する。ステップS1100において、検証部664は、検証用CIDデータがCPデータ内のACIDデータに存在するか否かを判定する。検証部664は、検証用CIDデータがCPデータ内のACIDデータに存在すると判定した場合には、ステップS1110に進み、検証用CIDデータがCPデータ内のACIDデータに存在しないと判定した場合には、ステップS1140に進む。
 ステップS1110において、検証部664は、CPデータ内のタイムスタンプタグデータを検証する。具体的には、検証部664は、タイムスタンプオーソリティ30の公開鍵に基づいて、タイムスタンプタグデータ内の署名データが適正か否かを判定する。なお、検証部664は、当該公開鍵をタイムスタンプオーソリティ30から事前に取得してもよいし、ステップS1110の処理を行う段階でタイムスタンプオーソリティ30から取得してもよい。検証部664は、署名データが適正であると判定した場合には、タイムスタンプタグデータの検証に成功したと判定する。
 ステップS1120において、検証部664は、タイムスタンプタグデータの検証に成功したか否かを判定する。検証部664は、タイムスタンプの検証に成功したと判定した場合には、ステップS1130に進み、タイムスタンプの検証に失敗したと判定した場合には、ステップS1140に進む。
 ステップS1130において、検証部664は、CPデータの検証に成功したと判定する。そして、検証部664は、検証に成功した旨を示す情報、CPデータ内のユーザID、及びCPデータ内のタイムスタンプ日時データを表示部65に表示する。検証部664は、これらのデータを音声出力してもよい。その後、検証部664は、検証処理を終了する。一方、ステップS1140において、検証部664は、CPデータの検証に失敗したと判定する。そして、検証部664は、検証に失敗した旨を示す情報を表示部65に表示する。なお、検証サーバが検証処理を行った場合、検証サーバは、検証に成功(または失敗)した旨を示す情報を、リクエストがあったユーザ端末60に送信する。このように、第2の実施形態では、ユーザ端末60または検証サーバがCPデータに対して検証処理を行うので、仮にコンテンツシェアリングシステム80が停止しても、検証処理を行なうことができる。
 以上により、第2の実施形態では、ユーザ端末60またはコンテンツ生成装置70がCDデータをコンテンツシェアリングシステム80に送信するので、コンテンツシェアリングシステム80は、CDデータを生成する手間を省くことができる。
 さらに、コンテンツ生成装置70は、コンテンツデータ生成時にコンテンツデータ及びCDデータのうち少なくとも一方を通信対象データとして送信するので、コンテンツデータが生成された日時と、タイムスタンプが保証する日時との間隔を狭めることができる。
 さらに、コンテンツ生成装置70は、コンテンツシェアリングシステム80との通信帯域に基づいて、通信対象データを決定するので、通信対象データをより迅速かつ確実にコンテンツシェアリングシステム80に送信することができる。例えば、通信帯域が狭い場合に、大量の通信対象データをコンテンツシェアリングシステム80に送信しようとすると、通信速度の大幅な低下や、通信対象データの欠損等が起こる可能性がある。しかし、コンテンツ生成装置70は、通信帯域に基づいて、通信対象データを決定するので、通信速度の大幅な低下や、通信対象データの欠損等をより確実に回避することができる。
 さらに、コンテンツ生成装置70は、CDデータを通信対象データとした場合には、CDデータをコンテンツシェアリングシステム80に送信した後、通信帯域に基づいて、コンテンツデータを通信対象データとして送信するか否かを決定する。したがって、コンテンツ生成装置70は、CDデータをコンテンツシェアリングシステム80に送信した後に、コンテンツデータをより確実に送信することができる。
 さらに、コンテンツ生成装置70は、CDデータとコンテンツデータとを別々の通信対象データとして送信する場合には、これらを関連付けるための乱数データを通信対象データに含める。したがって、コンテンツシェアリングシステム80は、CDデータ及びコンテンツデータを容易に関連付けることができる。
 さらに、コンテンツ生成装置70は、通信対象データの内容、即ち通信状態に関する状態データを通信対象データに含めるので、コンテンツシェアリングシステム80は、現時点の通信状態がどのようになっているのかを容易に判定することができる。
 さらに、ユーザ端末60は、コンテンツ生成装置70が接続された際に、コンテンツ生成装置70からコンテンツデータを取得する。そして、ユーザ端末60は、コンテンツ生成装置70がCDデータを生成していない場合に、CDデータをコンテンツシェアリングシステム80に送信する。したがって、ユーザ端末60は、コンテンツシェアリングシステム80に重複してCDデータが送信されることを防止することができる。さらに、ユーザ端末60は、コンテンツ生成装置70が接続された際にコンテンツデータ及びCDデータのうち少なくとも一方を通信対象データとして送信するので、コンテンツデータが生成された日時と、タイムスタンプが保証する日時との間隔を狭めることができる。
 さらに、ユーザ端末60は、コンテンツ生成装置70がコンテンツシェアリングシステム80に送信したデータに基づいて、通信対象データを決定するので、コンテンツシェアリングシステム80に重複してデータが送信されることを防止することができる。
 さらに、ユーザ端末60は、コンテンツ生成装置70がCDデータ及び乱数データをコンテンツシェアリングシステム80に送信した場合には、コンテンツデータ及び乱数データを通信対象データに決定する。したがって、ユーザ端末60は、コンテンツシェアリングシステム80に重複してデータが送信されることを防止することができる。さらに、コンテンツシェアリングシステム80は、CDデータとコンテンツデータとを容易に関連付けることができる。
 さらに、ユーザ端末60は、通信対象データの内容、即ち通信状態に関する状態データを通信対象データに含めるので、コンテンツシェアリングシステム80は、現時点の通信状態がどのようになっているのかを容易に判定することができる。
 さらに、タイムスタンプ取得エンジン84は、他のサーバと独立して処理を実行するので、リソースが変動しても、タイムスタンプ取得時刻のばらつきを低減することができる。
 また、タイムスタンプ取得エンジン84は、ACIDデータの生成とタイムスタンプ要求とを別のステップで行うので、タイムスタンプの取得や検証に失敗しても、ACIDデータの再生成を行う必要がなくなる。
 さらに、コンテンツデータ、タイムスタンプタグデータ、及びACIDデータは、これらのデータを管理する情報(図20及び図21に示す各管理テーブル)を記憶するデータベースサーバ83とは別のストレージサーバ82に記憶される。したがって、ストレージサーバ82へのアクセス負担が低減される。
 さらに、各管理テーブルがデータベースサーバ83に記憶されるので、ストレージサーバ82の分散化が容易となる。
 さらに、ユーザ端末60または検証サーバがCPデータに対して検証処理を行うので、仮にコンテンツシェアリングシステム80が停止しても、検証処理を行なうことができる。
 さらに、コンテンツ情報管理テーブルに、タイムスタンプIDが記録されているので、コンテンツシェアリングシステム80は、効率よくタイムスタンプタグデータを検索することができる。また、CPデータを構成するデータは各管理テーブル及びストレージサーバ82に記憶されているので、コンテンツデータシェアリングシステムは、CPデータをストレージサーバ82等に記憶する必要がない。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 例えば、上記第1の実施形態では、コンテンツシェアリングサーバ10とタイムスタンプ付与サーバ20とが別々に存在するが、コンテンツシェアリングサーバ10にタイムスタンプ付与サーバ20の機能を持たせてもよい。逆にタイムスタンプ付与サーバ20にコンテンツシェアリングサーバ10の機能を持たせてもよい。
 また、上記第1の実施形態では、検証処理が要求データ生成部135からの要求に応じて行われることとしたが、ユーザ41からの要求に応じて検証処理が行われてもよい。すなわち、コンテンツやタイムスタンプを含むCPデータをダウンロードしたユーザが、タイムスタンプの正当性を確認したい場合に、コンテンツシェアリングサーバ10、もしくは、検証部14の機能だけを持つ別の検証サーバに対してCPデータを送信し、タイムスタンプの正当性の検査を依頼してもよい。この場合。依頼を受けたコンテンツシェアリングサーバ10もしくは検証サーバは、ユーザが提示したCPデータについて、図12に示す処理と同様の処理によって判定する。
 また、検証部14、すなわちコンテンツシェアリングサーバ10、もしくは検証サーバが検証処理を行うこととしたが、各ユーザ端末40にて行ってもよい。この場合、検証に必要な各関数は予め公開される。また、各ユーザ端末40は、CPデータを受信した場合に、このCPデータが正しいか否かを、図12に示す処理と同様の処理によって判定する。
 また、コンテンツシェアリングサーバ10は、コンテンツデータの生成者に対し、その生成者がアップロードしたすべてのコンテンツデータを出力することとしたが、タイムスタンプタグデータが付与されたコンテンツデータのみ出力するようにしてもよい。これにより、コンテンツシェアリングサーバ10の処理負担が低減される。
 また、コンテンツシェアリングサーバ10は、第三者のユーザ端末40に対しては、タイムスタンプが付与されたコンテンツデータを出力するが、コンテンツデータの生成者が閲覧を許可したユーザ41のユーザ端末40には、すべてのコンテンツデータを出力するようにしてもよい。
 また、コンテンツデータ管理テーブルは、複数であってもよい。例えば、コンテンツシェアリングサーバ10は、ユーザ41毎にコンテンツデータ管理テーブルを用意してもよい。コンテンツデータ管理テーブルは、データそのものではなく、記憶部12が記憶するデータへのリンクを記録してもよい。
 また、第1の実施形態では、ユーザ端末40とコンテンツシェアリングサーバ10とがネットワーク50で接続されているものとしたが、ホームネットワークによって接続されていても良く、直接接続されていてもよい。
 また、第1の実施形態の構成と第2の実施形態の構成とは任意に組み合わせられることができる。例えば、第1の実施形態のユーザ端末40を、第2の実施形態のユーザ端末60またはコンテンツ生成装置70に置き換えてもよい。この場合、コンテンツシェアリングサーバ10は、コンテンツシェアリングシステム80と同様の処理を行えば良いので、例えば、CDデータの生成を行う必要がなくなる。
 また、第2の実施形態で行われた個人情報データを削除する処理は、第1の実施形態の各ユーザ端末40にて行われてもよい。
 また、第2の実施形態で行われた不正検出処理は、第1の実施形態のコンテンツシェアリングサーバ10にて行われてもよい。
 また、第1の実施形態のコンテンツシェアリングサーバ10を第2の実施形態のコンテンツシェアリングシステム80で置き換えてもよい。この場合、ユーザ端末40からは、コンテンツデータが送信されることとなるので、コンテンツシェアリングシステム80は、図26に示す処理において、ステップS690~S710の処理を行えば良い。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 ユーザ装置から出力されたコンテンツデータに対するタイムスタンプをタイムスタンプ付与部に要求するタイムスタンプ要求部と、
 前記タイムスタンプが付与された前記コンテンツデータを、前記コンテンツデータを出力したユーザ装置以外の他のユーザ装置に出力するコンテンツデータ出力部と、を備える、情報処理装置。
(2)
 前記タイムスタンプ要求部は、複数の前記コンテンツデータを集約したデータに対するタイムスタンプを前記タイムスタンプ付与部に要求する、前記(1)記載の情報処理装置。
(3)
 前記タイムスタンプ要求部は、前記ユーザ装置から出力されたコンテンツデータ及び当該コンテンツデータを出力した前記ユーザ装置のユーザを表す識別データに対するタイムスタンプを前記タイムスタンプ付与部に要求する、前記(1)または(2)記載の情報処理装置。
(4)
 前記コンテンツデータ出力部は、前記タイムスタンプが付与された前記コンテンツデータの他、前記タイムスタンプが付与されていない前記コンテンツデータを、前記コンテンツデータを出力したユーザの保有する装置に出力する、前記(1)~(3)のいずれか1項に記載の情報処理装置。
(5)
 前記タイムスタンプ要求部は、前記タイムスタンプを前記タイムスタンプ付与部に要求した後、前記タイムスタンプ付与部から前記タイムスタンプが与えられた場合に、新たな前記タイムスタンプを前記タイムスタンプ付与部に要求する、前記(1)~(4)のいずれか1項に記載の情報処理装置。
(6)
 前記タイムスタンプ要求部は、前記ユーザ装置から前記コンテンツデータが出力される毎に、前記タイムスタンプを前記タイムスタンプ付与部に要求することを特徴とする、前記(1)~(4)のいずれか1項に記載の情報処理装置。
(7)
 前記コンテンツデータ出力部は、前記コンテンツデータに付与されたタイムスタンプをさらに前記他のユーザ装置に出力する、前記(1)~(6)のいずれか1項に記載の情報処理装置。
(8)
 前記コンテンツデータ出力部は、前記他のユーザ装置から前記タイムスタンプを要求された場合に、前記コンテンツデータに付与されたタイムスタンプを、前記他のユーザ装置に出力する、前記(7)記載の情報処理装置。
(9)
 前記タイムスタンプ要求部は、前記コンテンツデータを出力したユーザ装置から前記タイムスタンプの付与を要求された場合に、前記タイムスタンプ付与部に前記タイムスタンプを要求する、前記(1)~(4)のいずれか1項に記載の情報処理装置。
(10)
 複数のユーザ装置のうち、いずれかのユーザ装置から出力されたコンテンツデータに対するタイムスタンプをタイムスタンプ付与部に要求することと、
 前記コンテンツデータに前記タイムスタンプが付与された場合に、前記コンテンツデータを、前記複数のユーザ装置のうち、前記コンテンツデータを出力したユーザ装置以外の他のユーザ装置に出力することと、を含む、情報処理方法。
(11)
 コンピュータに、
 複数のユーザ装置のうち、いずれかのユーザ装置から出力されたコンテンツデータに対するタイムスタンプをタイムスタンプ付与部に要求するタイムスタンプ要求機能と、
 前記コンテンツデータに前記タイムスタンプが付与された場合に、前記コンテンツデータを、前記複数のユーザ装置のうち、前記コンテンツデータを出力したユーザ装置以外の他のユーザ装置に出力するコンテンツデータ出力機能と、を実現させる、プログラム。
(12)
 複数のユーザ装置と、情報処理装置とを備える情報処理システムであって、
 前記情報処理装置は、
 複数の前記ユーザ装置のうち、いずれかの前記ユーザ装置から出力されたコンテンツデータに対するタイムスタンプをタイムスタンプ付与部に要求するタイムスタンプ要求部と、
 前記タイムスタンプが付与された前記コンテンツデータを、前記コンテンツデータを出力したユーザ装置以外の他のユーザ装置に出力するコンテンツデータ出力部と、を備える、情報処理システム。
(13)
 前記ユーザ装置のユーザからの要求に応じて、前記コンテンツデータに付与された前記タイムスタンプが正しいかを検証する検証装置を備える、前記(12)記載の情報処理システム。
(14)
 前記ユーザ装置は、前記コンテンツデータに付与された前記タイムスタンプが正しいかを検証する検証部を有する、前記(12)または(13)記載の情報処理システム。
(15)
 コンテンツデータを取得するコンテンツ取得部と、
 コンテンツ要約データを生成するコンテンツ要約データ生成部と、
 前記コンテンツ要約データを他の情報処理装置に送信する通信部と、を備える、情報処理装置。
(16)
 前記通信部と前記他の情報処理装置との間の通信帯域に基づいて、前記コンテンツデータ及び前記コンテンツ要約データのうち少なくとも一方を通信対象データに決定する通信対象データ決定部を備え、
 前記通信部は、前記通信対象データを前記他の情報処理装置に送信する、前記(15)記載の情報処理装置。
(17)
 前記通信対象データ決定部は、前記通信帯域に基づいて、前記コンテンツデータ及び前記コンテンツ要約データのうち少なくとも一方を第1の通信対象データに決定し、前記コンテンツ要約データを前記第1の通信対象データに決定した場合には、前記通信部が前記コンテンツ要約データを前記他の情報処理装置に送信した後、前記通信帯域に基づいて、前記コンテンツデータを第2の通信対象データとするか否かを決定する、前記(16)記載の情報処理装置。
(18)
 前記通信対象データ決定部は、前記コンテンツ要約データを前記第1の通信対象データとした場合には、前記コンテンツデータ及び前記コンテンツ要約データを関連付けるための関連付け用データを前記第1の通信対象データに含める、前記(17)記載の情報処理装置。
(19)
 前記通信対象データ決定部は、前記コンテンツデータを第2の通信対象データとする場合には、前記関連付け用データを前記第2の通信対象データに含める、前記(18)記載の情報処理装置。
(20)
 前記通信対象データ決定部は、前記通信対象データの内容に関する状態データを前記通信対象データに付与する、前記(16)~(19)のいずれか1項に記載の情報処理装置。
(21)
 前記コンテンツデータの生成が可能なコンテンツ生成装置の接続を検知する接続検知部を備え、
 前記コンテンツ取得部は、前記接続検知部が前記コンテンツ生成装置の接続を検知した際に、前記コンテンツ生成装置から前記コンテンツデータを取得し、
 前記コンテンツ要約データ生成部は、前記コンテンツ生成装置が前記コンテンツ要約データを生成していない場合に、前記コンテンツ要約データを生成する、前記(15)記載の情報処理装置。
(22)
 前記コンテンツ生成装置が前記他の情報処理装置に送信したデータに基づいて、前記コンテンツデータ及び前記コンテンツ要約データのうち少なくとも一方を通信対象データに決定する通信対象データ決定部を備え、
 前記通信部は、前記通信対象データを前記他の情報処理装置に送信する、前記(21)記載の情報処理装置。
(23)
 前記コンテンツ生成装置は、前記コンテンツ要約データと、前記コンテンツデータ及び前記コンテンツ要約データを関連付けるための関連付け用データとを前記他の情報処理装置に送信可能であり、
 前記通信対象データ決定部は、前記コンテンツ生成装置が前記コンテンツ要約データ及び前記関連付け用データを前記他の情報処理装置に送信した場合に、前記コンテンツデータ及び前記関連付け用データを前記通信対象データに決定する、前記(22)記載の情報処理装置。
(24)
 前記通信対象データ決定部は、前記通信対象データの内容に関する状態データを前記通信対象データに付与する、前記(22)または(23)記載の情報処理装置。
(25)
 コンテンツデータを取得することと、
 コンテンツ要約データを生成することと、
 前記コンテンツ要約データを他の情報処理装置に送信することと、を含む、情報処理方法。
(26)
 コンピュータに、
 コンテンツデータを取得するコンテンツ取得機能と、
 コンテンツ要約データを生成するコンテンツ要約データ生成機能と、
 前記コンテンツ要約データを他の情報処理装置に送信する通信機能と、を実現させる、プログラム。
(27)
 ユーザ装置から出力されたコンテンツデータを受領する第1の情報処理装置と、
 前記コンテンツデータに対するタイムスタンプをタイムスタンプ付与部に要求する第2の情報処理装置と、
 前記コンテンツデータと、前記コンテンツデータに付与されたタイムスタンプとを記憶する第3の情報処理装置と、
 前記コンテンツデータを識別するためのコンテンツ識別データと、前記コンテンツデータの前記第3の情報処理装置内での所在を示すコンテンツパスデータと、前記タイムスタンプの前記第3の情報処理装置内での所在を示すタイムスタンプパスデータと、を関連付けて記憶する第4の情報処理装置と、を備える情報処理システム。
 10 コンテンツシェアリングサーバ
 20 タイムスタンプ付与サーバ
 30 タイムスタンプオーソリティ
 40 ユーザ端末
 41 ユーザ
 50 ネットワーク
 12 記憶部
 13 データ生成部
 14 検証部
 100 情報処理システム
 131 コンテンツ要約データ生成部
 132 コンテンツ情報データ生成部
 133 コンテンツ情報要約データ生成部
 134 集約化コンテンツ情報要約データ生成部
 135 要求データ生成部
 136 コンテンツパッケージデータ生成部
 200 情報処理システム
 60  ユーザ端末
 70  コンテンツ生成装置
 80  コンテンツシェアリングシステム
 63  接続検知部
 661、761 コンテンツ取得部
 662、762 コンテンツ要約データ生成部
 663、763 通信対象データ決定部
 664 検証部
 81  ウェブサーバ
 82  ストレージサーバ
 83  データベースサーバ
 84  タイムスタンプ取得エンジン
 
 

Claims (19)

  1.  ユーザ装置から出力されたコンテンツデータに対するタイムスタンプをタイムスタンプ付与部に要求するタイムスタンプ要求部と、
     前記タイムスタンプが付与された前記コンテンツデータを、前記コンテンツデータを出力したユーザ装置以外の他のユーザ装置に出力するコンテンツデータ出力部と、を備える、情報処理装置。
  2.  前記タイムスタンプ要求部は、複数の前記コンテンツデータを集約したデータに対するタイムスタンプを前記タイムスタンプ付与部に要求する、請求項1記載の情報処理装置。
  3.  前記タイムスタンプ要求部は、前記ユーザ装置から出力されたコンテンツデータ及び当該コンテンツデータを出力した前記ユーザ装置のユーザを表す識別データに対するタイムスタンプを前記タイムスタンプ付与部に要求する、請求項1記載の情報処理装置。
  4.  前記コンテンツデータ出力部は、前記タイムスタンプが付与された前記コンテンツデータの他、前記タイムスタンプが付与されていない前記コンテンツデータを、前記コンテンツデータを出力したユーザの保有する装置に出力する、請求項1記載の情報処理装置。
  5.  前記タイムスタンプ要求部は、前記タイムスタンプを前記タイムスタンプ付与部に要求した後、前記タイムスタンプ付与部から前記タイムスタンプが与えられた場合に、新たな前記タイムスタンプを前記タイムスタンプ付与部に要求する、請求項1記載の情報処理装置。
  6.  前記タイムスタンプ要求部は、前記ユーザ装置から前記コンテンツデータが出力される毎に、前記タイムスタンプを前記タイムスタンプ付与部に要求することを特徴とする、請求項1記載の情報処理装置。
  7.  前記コンテンツデータ出力部は、前記コンテンツデータに付与されたタイムスタンプをさらに前記他のユーザ装置に出力する、請求項1記載の情報処理装置。
  8.  前記コンテンツデータ出力部は、前記他のユーザ装置から前記タイムスタンプを要求された場合に、前記コンテンツデータに付与されたタイムスタンプを、前記他のユーザ装置に出力する、請求項7記載の情報処理装置。
  9.  前記タイムスタンプ要求部は、前記コンテンツデータを出力したユーザ装置から前記タイムスタンプの付与を要求された場合に、前記タイムスタンプ付与部に前記タイムスタンプを要求する、請求項1記載の情報処理装置。
  10.  複数のユーザ装置のうち、いずれかのユーザ装置から出力されたコンテンツデータに対するタイムスタンプをタイムスタンプ付与部に要求することと、
     前記コンテンツデータに前記タイムスタンプが付与された場合に、前記コンテンツデータを、前記複数のユーザ装置のうち、前記コンテンツデータを出力したユーザ装置以外の他のユーザ装置に出力することと、を含む、情報処理方法。
  11.  コンピュータに、
     複数のユーザ装置のうち、いずれかのユーザ装置から出力されたコンテンツデータに対するタイムスタンプをタイムスタンプ付与部に要求するタイムスタンプ要求機能と、
     前記コンテンツデータに前記タイムスタンプが付与された場合に、前記コンテンツデータを、前記複数のユーザ装置のうち、前記コンテンツデータを出力したユーザ装置以外の他のユーザ装置に出力するコンテンツデータ出力機能と、を実現させる、プログラム。
  12.  コンテンツデータを取得するコンテンツ取得部と、
     コンテンツ要約データを生成するコンテンツ要約データ生成部と、
     前記コンテンツ要約データを他の情報処理装置に送信する通信部と、を備える、情報処理装置。
  13.  前記通信部と前記他の情報処理装置との間の通信帯域に基づいて、前記コンテンツデータ及び前記コンテンツ要約データのうち少なくとも一方を通信対象データに決定する通信対象データ決定部を備え、
     前記通信部は、前記通信対象データを前記他の情報処理装置に送信する、請求項12記載の情報処理装置。
  14.  前記通信対象データ決定部は、前記通信帯域に基づいて、前記コンテンツデータ及び前記コンテンツ要約データのうち少なくとも一方を第1の通信対象データに決定し、前記コンテンツ要約データを前記第1の通信対象データに決定した場合には、前記通信部が前記コンテンツ要約データを前記他の情報処理装置に送信した後、前記通信帯域に基づいて、前記コンテンツデータを第2の通信対象データとするか否かを決定する、請求項13記載の情報処理装置。
  15.  前記通信対象データ決定部は、前記コンテンツ要約データを前記第1の通信対象データとした場合には、前記コンテンツデータ及び前記コンテンツ要約データを関連付けるための関連付け用データを前記第1の通信対象データに含める、請求項14記載の情報処理装置。
  16.  前記通信対象データ決定部は、前記コンテンツデータを第2の通信対象データとする場合には、前記関連付け用データを前記第2の通信対象データに含める、請求項15記載の情報処理装置。
  17.  前記通信対象データ決定部は、前記通信対象データの内容に関する状態データを前記通信対象データに付与する、請求項13記載の情報処理装置。
  18.  コンテンツデータを取得することと、
     コンテンツ要約データを生成することと、
     前記コンテンツ要約データを他の情報処理装置に送信することと、を含む、情報処理方法。
  19.  コンピュータに、
     コンテンツデータを取得するコンテンツ取得機能と、
     コンテンツ要約データを生成するコンテンツ要約データ生成機能と、
     前記コンテンツ要約データを他の情報処理装置に送信する通信機能と、を実現させる、プログラム。
     
     
PCT/JP2011/078382 2011-01-28 2011-12-08 情報処理装置、情報処理方法、及びプログラム WO2012101910A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/993,783 US20130268679A1 (en) 2011-01-28 2011-12-08 Information processing apparatus, information processing method, and program
CN2011800654594A CN103329479A (zh) 2011-01-28 2011-12-08 信息处理设备、信息处理方法和程序

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011016439 2011-01-28
JP2011-016439 2011-01-28
JP2011238415A JP2012170047A (ja) 2011-01-28 2011-10-31 情報処理装置、情報処理方法、及びプログラム
JP2011-238415 2011-10-31

Publications (1)

Publication Number Publication Date
WO2012101910A1 true WO2012101910A1 (ja) 2012-08-02

Family

ID=46580494

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/078382 WO2012101910A1 (ja) 2011-01-28 2011-12-08 情報処理装置、情報処理方法、及びプログラム

Country Status (4)

Country Link
US (1) US20130268679A1 (ja)
JP (1) JP2012170047A (ja)
CN (1) CN103329479A (ja)
WO (1) WO2012101910A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020108023A (ja) * 2018-12-27 2020-07-09 株式会社東京技術計算コンサルタント コンテンツ時刻証明システム

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5368637B1 (ja) * 2011-11-01 2013-12-18 株式会社野村総合研究所 時刻認証システムおよび時刻認証プログラム
US9256762B1 (en) * 2011-12-20 2016-02-09 Amazon Technologies, Inc. Securing a remote database
US9197733B2 (en) * 2012-02-21 2015-11-24 Blackberry Limited System and method for transferring data between electronic devices
US9558180B2 (en) 2014-01-03 2017-01-31 Yahoo! Inc. Systems and methods for quote extraction
US10503357B2 (en) 2014-04-03 2019-12-10 Oath Inc. Systems and methods for delivering task-oriented content using a desktop widget
US9742836B2 (en) 2014-01-03 2017-08-22 Yahoo Holdings, Inc. Systems and methods for content delivery
USD760791S1 (en) 2014-01-03 2016-07-05 Yahoo! Inc. Animated graphical user interface for a display screen or portion thereof
WO2015103546A1 (en) * 2014-01-03 2015-07-09 Yahoo! Inc. Systems and methods for delivering task-oriented content
US9940099B2 (en) 2014-01-03 2018-04-10 Oath Inc. Systems and methods for content processing
USD775183S1 (en) 2014-01-03 2016-12-27 Yahoo! Inc. Display screen with transitional graphical user interface for a content digest
USD760792S1 (en) 2014-01-03 2016-07-05 Yahoo! Inc. Animated graphical user interface for a display screen or portion thereof
US9971756B2 (en) 2014-01-03 2018-05-15 Oath Inc. Systems and methods for delivering task-oriented content
USD761833S1 (en) 2014-09-11 2016-07-19 Yahoo! Inc. Display screen with graphical user interface of a menu for a news digest
ITUB20151974A1 (it) * 2015-07-08 2017-01-08 Zeero S R L Metodo e sistema di certificazione temporale
KR101712570B1 (ko) * 2015-08-19 2017-03-06 라인 가부시키가이샤 컨텐츠 공유 서비스 제공 방법, 장치 및 컴퓨터 프로그램
US10855661B2 (en) * 2015-10-16 2020-12-01 Kasada Pty, Ltd. Dynamic cryptographic polymorphism (DCP) system and method
US10484181B2 (en) * 2016-12-12 2019-11-19 Datiphy Inc. Streaming non-repudiation for data access and data transaction
JP2018151881A (ja) * 2017-03-13 2018-09-27 Kddi株式会社 監視装置、監視方法、及びプログラム
CN112256774B (zh) * 2020-09-27 2024-04-26 深圳供电局有限公司 电力数据处理方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007028015A (ja) * 2005-07-13 2007-02-01 Fuji Xerox Co Ltd タイムスタンプ検証プログラム、タイムスタンプ検証システム、タイムスタンプ検証方法、タイムスタンプ生成依頼方法
JP2007259222A (ja) * 2006-03-24 2007-10-04 Ftl International:Kk 電子文書交換システムおよびこれに用いるシステムサーバ
JP2008090407A (ja) * 2006-09-29 2008-04-17 Toppan Forms Co Ltd 説明履歴管理システム
JP2008204066A (ja) * 2007-02-19 2008-09-04 Nec Corp 文書管理システム、文書管理サーバおよび文書管理プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2452007C2 (ru) * 2007-08-17 2012-05-27 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Устройство и способ резервирования объектов прав

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007028015A (ja) * 2005-07-13 2007-02-01 Fuji Xerox Co Ltd タイムスタンプ検証プログラム、タイムスタンプ検証システム、タイムスタンプ検証方法、タイムスタンプ生成依頼方法
JP2007259222A (ja) * 2006-03-24 2007-10-04 Ftl International:Kk 電子文書交換システムおよびこれに用いるシステムサーバ
JP2008090407A (ja) * 2006-09-29 2008-04-17 Toppan Forms Co Ltd 説明履歴管理システム
JP2008204066A (ja) * 2007-02-19 2008-09-04 Nec Corp 文書管理システム、文書管理サーバおよび文書管理プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020108023A (ja) * 2018-12-27 2020-07-09 株式会社東京技術計算コンサルタント コンテンツ時刻証明システム

Also Published As

Publication number Publication date
US20130268679A1 (en) 2013-10-10
JP2012170047A (ja) 2012-09-06
CN103329479A (zh) 2013-09-25

Similar Documents

Publication Publication Date Title
WO2012101910A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US9660988B2 (en) Identifying protected media files
US20110029555A1 (en) Method, system and apparatus for content identification
US8314948B2 (en) Image forming system utilizing network camera
JP5214228B2 (ja) コンテンツ配信システム
US20120210445A1 (en) Systems and Methods for Verifying the Authenticity of a Remote Device
CN111601115B (zh) 一种视频检测的方法、相关装置、设备及存储介质
JP2014501015A (ja) インターネットサイトにアップロードされるマルチメディアにおけるユーザプライバシを保護するシステム及び方法
JPWO2002056580A1 (ja) コンテンツのディレクトリサービス・システム
US20100023980A1 (en) Information Processing Apparatus, Terminal Apparatus, and Program
US8050447B2 (en) Information processing method and device, computer program, and computer-readable storage medium
US20240039722A1 (en) Dynamic utilization of a non-fungible token (nft) as a user identifier based on context
JP4740706B2 (ja) 不正画像検出装置、方法、プログラム
US8561156B2 (en) Server apparatus, and control method and computer-readable storage medium therefor
US11228451B2 (en) Authenticated content delivery platform
US20230418984A1 (en) Artwork managing method, computer, and program
JP2003178022A (ja) 識別情報発行装置及び方法、識別情報発行プログラムを記憶した記憶媒体、識別情報発行プログラム、情報処理装置及び方法、情報処理プログラムを記憶した記憶媒体、情報処理プログラム、情報処理システム
US9544644B2 (en) Broadcast receiving device and information processing system
JP3578091B2 (ja) コンテンツ取得方法及びコンテンツ提供方法及びコンテンツ取得装置及びコンテンツ提供装置及びコンテンツ取得プログラム及びコンテンツ提供プログラム
US20210303640A1 (en) Document management system, processing terminal device, and control device
US20240281803A1 (en) Nft issuing method, computer, and computer-readable medium
US8862887B1 (en) Providing user contributions for re-published content
US20240106672A1 (en) Content generation apparatus that registers information in blockchain, control method for content generation apparatus, and storage medium
CN112073359B (zh) 信息交互方法、装置、设备及系统
JP2017175377A (ja) タイムスタンプ保管サーバ、携帯端末、電子データ保管サーバ、タイムスタンプ保管プログラム、携帯端末プログラム、及び、電子データ保管プログラム

Legal Events

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

Ref document number: 11856917

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13993783

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11856917

Country of ref document: EP

Kind code of ref document: A1