WO2019026372A1 - 情報処理装置、情報処理方法およびプログラム - Google Patents

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

Info

Publication number
WO2019026372A1
WO2019026372A1 PCT/JP2018/017805 JP2018017805W WO2019026372A1 WO 2019026372 A1 WO2019026372 A1 WO 2019026372A1 JP 2018017805 W JP2018017805 W JP 2018017805W WO 2019026372 A1 WO2019026372 A1 WO 2019026372A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
family
father
control unit
shares
Prior art date
Application number
PCT/JP2018/017805
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 JP2019533905A priority Critical patent/JPWO2019026372A1/ja
Priority to US16/633,722 priority patent/US11290263B2/en
Publication of WO2019026372A1 publication Critical patent/WO2019026372A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Definitions

  • the present disclosure relates to an information processing device, an information processing method, and a program.
  • the key is divided by secret sharing, each of a plurality of pieces of information obtained by the division is assigned to the corresponding subscriber, and the key is derived when consent is obtained from a predetermined number of subscribers according to the secret sharing method.
  • a technique for performing signing and decryption using a key see, for example, Patent Document 1.
  • an information processing apparatus comprising: a control unit that encrypts with the first key as a second key and generates a plurality of shares based on the second key.
  • a plurality of shares based on the first key are generated from the first key capable of decrypting the first data, and the second key generation request is generated.
  • the first key can be recovered, and a part of the plurality of shares based on a part or all of the first key can be decrypted with the second data
  • An information processing method is provided, including encrypting with the first key as the second key and generating a plurality of shares based on the second key.
  • the computer generates a plurality of shares based on the first key from the first key capable of decrypting the first data based on the first key generation request, and the second key
  • the first key is restored from the plurality of shares based on the first key based on the generation request, and a part of the plurality of shares based on a part or all of the first key is a second data
  • a program for functioning as an information processing apparatus comprising: a control unit that encrypts with the first key as the second key that can be decrypted and generates a plurality of shares based on the second key; Ru.
  • a plurality of components having substantially the same or similar functional configurations may be distinguished by attaching different numerals after the same reference numerals. However, when it is not necessary to distinguish each of a plurality of components having substantially the same or similar functional configuration, only the same reference numeral is given. Also, similar components in different embodiments may be distinguished by attaching different alphabets after the same reference numerals. However, when it is not necessary to distinguish each of similar components in particular, only the same reference numeral is attached.
  • FIG. 1 is a diagram for describing a first use case mainly assumed in the embodiment of the present disclosure.
  • information on a family is divided into a plurality of domains, and access to the plurality of domains is controlled.
  • a family consisting of a father, a mother and a child is assumed.
  • members constituting a family are not limited to such an example.
  • a family domain M0, a father domain M1, a mother domain M2 and a child domain M3 exist as an example of a plurality of domains.
  • Family domain M0 includes information (eg, an address, etc.) shared by the family.
  • Father domain M1 contains father's personal data.
  • the mother domain M2 contains mother's personal data.
  • the child domain M3 contains the child's personal data.
  • the father uses the home agent 30
  • the father is permitted to access the family domain M0 and the father domain M1 through the home agent 30.
  • the mother is permitted to access the family domain M0 and the mother domain M2 through the home agent 30.
  • the child uses the child terminal 20-3
  • the child is permitted to access the family domain M0 and the child domain M3 via the child terminal 20-3.
  • FIG. 2 is a diagram for describing a second use case mainly assumed in the embodiment of the present disclosure.
  • access to another user's domain is permitted by delegation of access authority.
  • the mother's terminal 20-2 is an information “based on the location information of the father's domain M1 It is possible to get 'coming home'.
  • the father terminal 20-1, the mother terminal 20-2, and the child terminal 20-3 are smartphones.
  • father's terminal 20-1, mother's terminal 20-2, and child's terminal 20-3 are not limited to smart phones.
  • each of the father terminal 20-1, the mother terminal 20-2, and the child terminal 20-3 may be a mobile phone, a tablet terminal, or a PC (Personal Computer). .
  • FIG. 3 is a diagram for explaining access control according to a comparative example.
  • Home agent 30 holds a family key for accessing family domain M0.
  • the father's terminal 20-1 holds a key (parent's key) for accessing the father's domain M1.
  • the mother terminal 20-2 holds a key (mother key) for accessing the mother domain M2.
  • the child terminal 20-3 holds a key (child key) for accessing the child domain M3.
  • home agent 30 since home agent 30 holds only the family key, home agent 30 can not access father domain M1, mother domain M2 and child domain M3.
  • the father's terminal 20-1 holds only the father's key
  • the mother's terminal 20-2 holds only the mother's key
  • the child's terminal 20-3 holds only the child's key.
  • the family domain M0 can not be accessed from the mother terminal 20-2 and the child terminal 20-3 (hereinafter, these arbitrary terminals are also referred to as "personal terminals"). If the personal terminal holds the family key, access to the family domain M0 can not be denied if, for example, the father and mother need to go off due to divorce or the like. Although a family key may be revoked and a new family key may be issued, costs such as re-encryption accompanying key exchange will occur.
  • the mother can access the family key when agreement with the father and / or child is obtained. Since the mother terminal 20-2 holds only the mother key, the mother terminal 20-2 can not access the father key.
  • FIG. 4 is a diagram illustrating an exemplary configuration of an information processing system according to an embodiment of the present disclosure.
  • the information processing system 1 includes a server 10 as an example of an information processing apparatus, a father terminal 20-1, a mother terminal 20-2, a child terminal 20-3, and a home agent 30.
  • An agent server 40, cloud storages 50-1 to 50-N as an example of an information providing apparatus, and an ID provider 60 are included.
  • the server 10, the father terminal 20-1, the mother terminal 20-2, the child terminal 20-3, the home agent 30, the agent server 40, the cloud storages 50-1 to 50-N, and the ID provider 60 are connected to the network 70. It is done.
  • FIG. 5 is a diagram showing an example of a functional configuration of the server 10 according to an embodiment of the present disclosure.
  • the server 10 includes a control unit 110, a communication unit 140, and a storage unit 150.
  • the control unit 110 executes control of each unit of the server 10.
  • the control unit 110 may be configured of, for example, a CPU (Central Processing Unit).
  • a CPU Central Processing Unit
  • the control unit 110 is configured by a processing unit such as a CPU, the processing unit may be configured by an electronic circuit.
  • the communication unit 140 has a function of communicating with another device via the network 70.
  • the communication unit 140 is configured of a communication interface.
  • the communication unit 140 can communicate with the agent server 40 and the cloud storages 50-1 to 50-N via the network 70.
  • the storage unit 150 is a recording medium that stores a program executed by the control unit 110 and stores data necessary for the execution of the program. In addition, the storage unit 150 temporarily stores data for the calculation by the control unit 110.
  • the storage unit 150 may be a magnetic storage unit device, a semiconductor storage device, an optical storage device, or a magneto-optical storage device.
  • FIG. 6 is a diagram for describing an overall function of the information processing system 1 according to the embodiment of the present disclosure.
  • home agent 30 When home agent 30 receives the family registration request including the token, home agent 30 transmits the family registration request including the token to agent server 40.
  • the agent server 40 transmits an authentication request including a token to the ID provider 60, and when an ID corresponding to the token is returned from the ID provider 60, a family key generation request (first key generation request) is sent to the server 10. Send.
  • the control unit 110 determines that the family key shared information (first data) can be decrypted based on the family key generation request.
  • Key 1 is generated as a Key family .
  • the control unit 110 generates a plurality of shares based on the Key family from the Key family . More specifically, control unit 110 divides Key family into a plurality of shares by the secret sharing method.
  • the control unit 110 controls the communication unit 140 such that a part of a plurality of shares (DS family ) based on the Key family is transmitted to the agent server 40 (first information providing device) based on the family key generation request. Do.
  • the agent server 40 creates a family ID corresponding to the DS family , and registers the family ID in its own storage device.
  • the agent server 40 transmits the DS family to the home agent 30, the home agent 30 receives and stores the DS family , and sends a notification to the father's terminal 20-1 that family registration has been completed.
  • control section 110 provides cloud storages 50-1 to 50-N (second information) with another part (CS family [1] ) of the plurality of shares based on the Key family.
  • Control 140 divides the other part (CS family [1] ) into CS family [1,1] to CS family [1, N] by the secret sharing method, and CS family [1,1] . 1] is sent to the cloud storage 50-1, the CS family [1, 2] is sent to the cloud storage 50-2, and the communication unit is sent the CS family [1, N] to the cloud storage 50-N.
  • the father terminal 20-1 transmits the ID and the password to the ID provider 60, and when the token issued from the ID provider 60 corresponding to the ID and the password is returned, the user registration request including the token is homed. Send to the agent 30.
  • HA 30 receives the user registration request including the token, reads the DS family from its own storage device, transmits a user registration request including the DS family token to the agent server 40.
  • the agent server 40 transmits an authentication request including the token to the ID provider 60, and when the ID provider 60 returns an ID corresponding to the token, a father key generation request including the DS family (second key generation request ) To the server 10.
  • the father key generation request is received by the communication unit 140, the control unit 110 obtains the DS family father key generation request based on Chichikagi generation request to restore the family key from DS family . More specifically, when acquiring the DS family from the parent key generation request, the control unit 110 acquires the CS father [1] corresponding to the DS family from the cloud storages 50-1 to 50-N, and the DS family and CS By combining with father [1] , Key family (family key) is obtained.
  • the control unit 110 sets a part of a plurality of shares based on part or all of the Key family as a father key (second key) capable of decrypting father's personal data (second data) as the key father Generate
  • second key capable of decrypting father's personal data (second data) as the key father
  • the control unit 110 generates a part of a plurality of shares based on a part of the Key family (DS family ) as a Key father .
  • the control unit 110 may generate a part of a plurality of shares based on the entire Key family (DS family and CS family [1] ) as a Key father .
  • the control unit 110 generates an encrypted key (represented as Enc (Key family , Key father ) in FIG. 6) by encrypting the Key father with the Key family , and generates the generated key.
  • the key family , key father are stored in the storage unit 150. Then, the control unit 110 generates a plurality of shares based on the Key father . More specifically, the control unit 110 divides the Key father into a plurality of shares by the secret sharing method.
  • the control unit 110 controls the communication unit 140 such that a part (DS father ) of a plurality of shares based on the Key father is transmitted to the agent server 40 (first information providing device) based on the father key generation request. Do.
  • the agent server 40 creates a user ID father corresponding to the DS father , and registers the user ID father in its storage device.
  • the agent server 40 transmits the DS father to the home agent 30, the home agent 30 transmits the DS father to the father terminal 20-1, and the father terminal 20-1 receives and stores the DS father .
  • control unit 110 Based on the request for generation of a father key, the control unit 110 provides cloud storages 50-1 to 50-N (second information) with another part of the plurality of shares (CS father [1] ) based on the Key father. Control the communication unit 140 to be transmitted to the device. More specifically, control section 110 divides another part (CS father [1] ) into CS father [1,1] to CS father [1, N] by the secret sharing method, and CS father [1,1] . 1] is sent to the cloud storage 50-1, the CS father [1, 2] is sent to the cloud storage 50-2, and the communication unit is sent the CS father [1, N] to the cloud storage 50-N. Control 140
  • control unit 110 based on the request for generation of a father key, provides a part of the plurality of shares based on the Key father (CS father [2] ) with cloud storage 50-1 to 50-N (second information provision) Control the communication unit 140 to be transmitted to the device. More specifically, control section 110 divides another part (CS father [2] ) into CS father [2, 1] to CS father [2, N] by the secret sharing method, and CS father [2, 2 1] is transmitted to the cloud storage 50-1, the CS father [2, 2] is transmitted to the cloud storage 50-2, and the communication unit so that the CS father [2, N] is transmitted to the cloud storage 50-N Control 140
  • the mother terminal 20-2 transmits the ID and the password to the ID provider 60, and when the token issued corresponding to the ID and the password is returned from the ID provider 60, the user registration request including the token is homed. Send to the agent 30.
  • HA 30 receives the user registration request including the token, reads the DS family from its own storage device, transmits a user registration request including the DS family token to the agent server 40.
  • the agent server 40 transmits an authentication request including a token to the ID provider 60, and when an ID corresponding to the token is returned from the ID provider 60, a generation key generation request including a DS family (third key generation request ) To the server 10.
  • the control unit 110 when the mother key generation request is received by the communication unit 140, the control unit 110, based on the base key generation request to get the DS family from the mother key generation request to recover the family key from DS family . More specifically, when acquiring the DS family from the key generation request, the control unit 110 acquires the CS mother [1] corresponding to the DS family from the cloud storages 50-1 to 50-N, and the DS family and CS By combining with the mother [1] , a Key family (family key) is obtained.
  • control unit 110 sets a part of a plurality of shares based on a part or all of the Key family to a mother key (third key) capable of decrypting mother personal data (third data) as a key mother.
  • a mother key third key
  • control unit 110 generates a part of a plurality of shares based on a part of the Key family (DS family ) as a Key mother .
  • the control unit 110 may generate a part of a plurality of shares based on all of the Key family (DS family and CS family [1] ) as a Key mother .
  • the control unit 110 generates an encrypted key (represented as Enc (Key family , Key mother ) in FIG. 6) by encrypting the Key mother with the Key family , and generates the generated key.
  • the key family , key mother is stored in the storage unit 150. Then, the control unit 110 generates a plurality of shares based on the Key mother . More specifically, control unit 110 divides Key family into a plurality of shares by the secret sharing method.
  • the control unit 110 controls the communication unit 140 such that a part (DS mother ) of a plurality of shares based on the Key mother is transmitted to the agent server 40 (first information providing device) based on the mother key generation request. Do.
  • the agent server 40 creates a user ID mother corresponding to the DS mother and registers the user ID mother in its own storage device.
  • the agent server 40 transmits the DS mother to the home agent 30, the home agent 30 transmits the DS mother to the mother terminal 20-2, and the mother terminal 20-2 receives and stores the DS mother .
  • control unit 110 Based on the request for generation of a master key, control unit 110 provides cloud storages 50-1 to 50-N (second information provision) with another part (CS mother [1] ) of the plurality of shares based on the key mother. Control the communication unit 140 to be transmitted to the device. More specifically, control unit 110 divides another part (CS mother [1] ) into CS mother [1,1] to CS mother [1, N] by the secret sharing method, and CS mother [1,1] . 1] is sent to the cloud storage 50-1, the CS mother [1, 2] is sent to the cloud storage 50-2, and the communication unit is sent the CS mother [1, N] to the cloud storage 50-N. Control 140
  • control unit 110 provides cloud storages 50-1 to 50-N (second information provision) with another part (CS mother [2] ) of the plurality of shares based on the key mother. Control the communication unit 140 to be transmitted to the device. More specifically, control unit 110 divides another part (CS mother [2] ) into CS mothers [2, 1] to CS mothers [2, N] by the secret sharing method, and CS mothers [2, 1] is sent to the cloud storage 50-1, the CS mother [2, 2] is sent to the cloud storage 50-2, and the communication unit is sent the CS mother [2, N] to the cloud storage 50-N Control 140
  • the father's terminal 20-1 transmits an address registration request including the address and the latitude and longitude to the home agent 30. Although it is assumed here that the father uses the father's terminal 20-1 to save family sharing information, families other than the father (eg, mother, children, etc.) may save family sharing information. .
  • the home agent 30 When the home agent 30 receives an address registration request including the address and the latitude and longitude, the home agent 30 acquires the DS family from its storage device, and the agent server requests the address registration request including the DS family and the address and the latitude and longitude. Send to 40 When receiving the address registration request from the home agent 30, the agent server 40 transmits, to the server 10, an address encryption request (first encryption request) including the DS family , the address, and the latitude and longitude.
  • an address encryption request first encryption request
  • the control unit 110 acquires parts (DS family ) of a plurality of shares based on the Key family based on the address encryption request. Gets Key family other part of the plurality of share based on the (CS family [1]), some of the plurality of share based on the Key family (DS family) and the other part (CS family [1]) and Restore Key Family based on.
  • control unit 110 acquires a part (DS family ) of a plurality of shares based on the Key family from the address encryption request, and from the cloud storages 50-1 to 50-N to the Key family . Acquire another part (CS family [1] ) of multiple shares based on, and combine part (DS family ) of multiple shares based on Key family with other part (CS family [1] ) Restore Key Family by.
  • the control unit 110 encrypts the address and the latitude and longitude with the restored Key family , and controls the communication unit 140 so that the encrypted address and the latitude and longitude are transmitted to the agent server 40.
  • the agent server 40 When the agent server 40 receives the encrypted address and the latitude / longitude, the agent server 40 stores the encrypted address and the latitude / longitude. The agent server 40 returns, via the home agent 30, to the father's terminal 20-1 that the registration of the address and the latitude and longitude has been completed.
  • FIG. 7 is a diagram for explaining an example of acquisition processing of family sharing information and personal data using the home agent 30.
  • FIG. 8 is a diagram for explaining an example of acquisition processing of family sharing information and personal data using the father's terminal 20-1.
  • the home agent 30 recognizes the user using the home agent 30.
  • the user may be recognized in any way.
  • the user may be recognized by face recognition from an image captured by a camera of the home agent 30, or the user may be recognized by voice recognition from sound information collected by a microphone of the home agent 30.
  • the home agent 30 When the home agent 30 recognizes a father as an example of the user, the home agent 30 derives a Key family from the DS family (S1), and transmits an address acquisition request including the Key family to the agent server 40. Although it is assumed here that the father uses the home agent 30 to acquire family sharing information, a family other than the father (for example, a mother, a child, etc.) may acquire family sharing information.
  • the agent server 40 When receiving the address acquisition request including the Key family , acquires the address and latitude / longitude encrypted by the Key family from its storage device, and transmits the address and latitude encrypted with the Key family. An address decryption request including the longitude and the like is sent to the server 10.
  • the control unit 110 decrypts the address and the latitude / longitude based on the address decryption request. First, based on the address decryption request, the control unit 110 obtains the Key family from the address decryption request, and decrypts the address and the latitude / longitude with the Key family . The control unit 110 returns the address and the latitude / longitude to the home agent 30 via the agent server 40.
  • the father's terminal 20-1 transmits an address acquisition request including the DS father to the agent server 40. Although it is assumed here that the father acquires family sharing information using the father's terminal 20-1, families other than the father (eg, mother, children, etc.) may acquire family sharing information. .
  • the agent server 40 When receiving the address acquisition request including the DS father , the agent server 40 acquires the address and latitude / longitude encrypted by the Key family from its storage device, and the address and latitude encrypted with the DS father An address decryption request (first decryption request) including the longitude and the like is transmitted to the server 10.
  • the control unit 110 decrypts the address and the latitude / longitude based on the address decryption request.
  • the control unit 110 acquires a part (DS father ) of a plurality of shares based on the Key father based on the address decryption request and another part (a CS father [1] of a plurality of shares based on the Key father ) .
  • a CS father [1] of a plurality of shares based on the Key father Obtain and restore Key father based on a part of multiple shares based on Key father (DS father ) and another part (CS father [1] ) (S3).
  • control unit 110 the address decoding request, to acquire a part of the plurality of share-based Key father (DS father), the cloud storage 50-1 ⁇ 50-N, based on the Key Father get the other portion of the plurality of shares (CS father [2]), some of the plurality of share-based Key father (DS father) and the other part (CS father [2]) possible to connect the Restore Key Father by.
  • control unit 110 acquires another part (CS father [1] ) of the plurality of shares based on part or all of the Key family from the cloud storages 50-1 to 50-N, and the other part By combining (CS dad [1] ) and Key dad, it restores part or all of the Key family .
  • CS dad [1] the DS family is restored
  • the control unit 110 acquires the CS family [1] corresponding to the DS family from the cloud storages 50-1 to 50-N, and restores the Key family by combining the DS family and the CS family [1] ( S5).
  • control unit 110 decodes the address and the latitude / longitude with the Key family .
  • the control unit 110 returns the address and the latitude / longitude to the father's terminal 20-1 via the agent server 40.
  • the father's terminal 20-1 transmits, to the agent server 40, a location information storage request including the DS father and the latitude and longitude.
  • a location information storage request including the DS father and the latitude and longitude.
  • the agent server 40 When the agent server 40 receives the location information storage request including the DS father and the latitude / longitude, the agent server 40 sends the location information encryption request (second encryption request) including the DS father and the latitude / longitude to the server 10. Send.
  • the control unit 110 acquires a part (DS father ) of a plurality of shares based on the Key father based on the position information encryption request. a plurality of another part of the share-based Key father as well as (CS father [2]) to get a portion of the plurality of share-based Key father (DS father) and the other part (CS father [2] ) And restore Key Father based on.
  • the control unit 110 acquires a part (DS father ) of a plurality of shares based on the Key father from the position information encryption request, and also acquires the key father from the cloud storages 50-1 to 50-N. coupling the other part of the plurality of share to get the (CS father [2]), some of the plurality of share based on the Key father (DS father) and the other part of the (CS father [2]) based on the Restore Key Father by letting it go.
  • the control unit 110 encrypts the latitude and longitude with the restored Key father , and controls the communication unit 140 so that the encrypted latitude and longitude are transmitted to the agent server 40.
  • the agent server 40 When receiving the encrypted latitude and longitude, the agent server 40 stores the encrypted latitude and longitude. The agent server 40 returns, via the home agent 30, to the father's terminal 20-1 that the latitude / longitude registration has been completed.
  • the home agent 30 recognizes the user using the home agent 30. User recognition may be performed as described above.
  • the home agent 30 recognizes a father as an example of the user, the home agent 30 derives a Key family from the DS family (S1), and transmits a location information acquisition request including the Key family to the agent server 40.
  • S1 DS family
  • the father acquires his / her personal data using the home agent 30, but a family other than the father (for example, a mother, a child, etc.) may acquire his / her personal data. .
  • the agent server 40 transmits, to the server 10, the father's position information decryption request including the Key family .
  • the control unit 110 acquires the Key family from the father position information decryption request, and decrypts the Key father with the Key family . Then, the control unit 110 decodes the latitude and longitude with the key father . The control unit 110 returns the latitude and longitude to the home agent 30 via the agent server 40.
  • the father's terminal 20-1 transmits to the agent server 40 a location information acquisition request including the DS father .
  • the father acquires his / her personal data using the father's terminal 20-1, but a family other than the father (for example, a mother, a child, etc.) acquires his / her personal data. It is also good.
  • the agent server 40 When receiving the location information acquisition request including the DS father , the agent server 40 acquires the address and latitude / longitude encrypted by the Key father from its storage device, and the latitude / longitude encrypted with the DS father And a position information decryption request (a second decryption request) including the
  • the control unit 110 restores the Key father based on the position information decryption request (S3), and decodes the latitude and longitude with the Key father. .
  • the control unit 110 acquires a part (DS father ) of a plurality of shares based on the Key father based on the position information decryption request, and at the same time, a part (CS father 2 of the plurality of shares based on the Key father ). ] ) Obtain and restore Key Father based on part of multiple shares based on Key Father (DS Father ) and other part (CS Father [2] ).
  • control unit 110 acquires a part (DS father ) of a plurality of shares based on the Key father from the position information decryption request and, from the cloud storages 50-1 to 50-N, to the Key father Acquire another part (CS father [2] ) of multiple shares based on and combine part (DS father ) of multiple shares based on Key father with the other part (CS father [2] ) Restore Key Father by.
  • control unit 110 decodes the latitude and longitude with the key father .
  • the control unit 110 returns the latitude and longitude to the father's terminal 20-1 via the agent server 40 and the home agent 30.
  • FIG. 9 is a diagram for explaining an example of sharing processing of father's personal data using mother terminal 20-2.
  • the mother terminal 20-2 transmits a father position information sharing request including the DS mother to the agent server 40.
  • the agent server 40 acquires the latitude and longitude encrypted by the Key father from its storage device, and the DS mother and the encrypted latitude and longitude And transmits to the server 10 a father position information decryption request (third decryption request).
  • the control unit 110 restores the Key mother based on the father position information decryption request (S6), and based on the Key mother , the Key Restore family , restore Key father based on Key family , and decrypt latitude / longitude with Key father .
  • the control unit 110 acquires a part (DS mother ) of the plurality of shares based on the Key mother based on the father position information decryption request, and at the same time, another part (CS mother [ of the plurality of shares based on the Key mother 2]) to get the part of the plurality of share-based Key mother (DS mother) and another part (CS base [2]) and to restore the Key mother based on.
  • control unit 110 acquires a part (DS mother ) of a plurality of shares based on the Key mother from the position information decryption request, and from the cloud storages 50-1 to 50-N to the Key mother . Acquire another part (CS mother [2] ) of multiple shares based on, and combine part (DS mother ) of multiple shares based on Key mother with the other part (CS mother [2] ) Restore Key Mother by.
  • control unit 110 a part or another part of the plurality of shares based on the whole of the Key family (CS mother [1]) to get the other part (CS mother [1]) and the Key mother Restore Key Family based on.
  • control unit 110 obtains, from cloud storages 50-1 to 50-N, another part (CS mother [1] ) of a plurality of shares based on part or all of the Key family , Restore part or all of the Key family by combining a part of (CS mother [1] ) and the Key mother .
  • CS mother [1] another part of the Key family
  • Restore part or all of the Key family by combining a part of (CS mother [1] ) and the Key mother .
  • S7 the DS family is restored
  • the control unit 110 acquires the CS family [1] corresponding to the DS family from the cloud storages 50-1 to 50-N, and restores the Key family by combining the DS family and the CS family [1] ( S8).
  • the control unit 110 decrypts the Key father based on the Key family (S9).
  • the control unit 110 decodes the latitude and longitude with the key father .
  • the control unit 110 returns the latitude and longitude to the mother terminal 20-2 via the agent server 40.
  • the agent server 40 may return the father's latitude and longitude as it is to the mother terminal 20-2, but it is assumed that the home address is also decoded by the control unit 110 using the Key family. .
  • the agent server 40 may return information on the distance between the father and the house to the mother terminal 20-2 based on the latitude and longitude corresponding to the house address and the latitude and longitude of the father. The information on the distance between the nearest station and the father from the house address may be sent back to the mother terminal 20-2.
  • control unit 110 may control whether to restore the key based on the access control information. For example, control unit 110 does not restore the family key when there is access from child terminal 20-3, but restores the family key when there is access from father terminal 20-1 or mother terminal 20-2. Access control information may be set to do so.
  • control unit 110 may control whether to restore the family key based on the access control information. Also, the control unit 110 may control whether or not to restore the parent key based on the access control information. In addition, the control unit 110 may control whether or not to restore the mother key based on the access control information. In addition, the control unit 110 may control whether or not to restore the child key based on the access control information.
  • control unit 110 may control whether to decode data based on the access control information. For example, control unit 110 does not decrypt family sharing information when accessed from child terminal 20-3, but family shared information when accessed from father terminal 20-1 or mother terminal 20-2.
  • the access control information may be set to decode the
  • FIG. 10 is a diagram for describing various modifications.
  • one home agent 30 is provided in one home.
  • a plurality of home agents 30 may be provided in one home.
  • the control unit 110 divides the Key family again and holds the first home agent 30. It is preferable to have the “second unit” home agent 30 hold a DS family different from the DS family to be
  • one or more home agents 30 may be provided to each of a plurality of homes.
  • the second family family domain Y
  • a home agent 30 may be provided for each family (family domain Y).
  • the control unit 110 when allowing the second family to access the first home (family domain X), the control unit 110 generates a second key family Y of the second family Y. By encrypting the first family X key family X , mutual access may be made possible.
  • FIG. 11 is a sequence diagram showing an example of a process of registering family information. An example of a process of registering family information will be described with reference to FIG. In addition, the sequence diagram shown in FIG. 11 only shows an example of the process which registers family information. Therefore, the process of registering family information is not limited to the process example of the sequence diagram shown in FIG.
  • the agent server 40 transmits an authentication request including a token to the ID provider 60 (S15), and when an ID corresponding to the token is returned from the ID provider 60 (S16), a family key generation request (first key generation) Request) is sent to the server 10 (S17).
  • the control unit 110 determines that the family key shared information (first data) can be decrypted based on the family key generation request. 1) is generated as a Key family (S18). Then, the control unit 110 divides the Key family into a plurality of shares by the secret sharing method (S19).
  • Control unit 110 divides another part of the plurality of shares based on the Key family (CS family [1] ) into CS family [1, 1] to CS family [1, N] by the secret sharing method (S20) , CS family [1, 1] is sent to cloud storage 50-1 (S21), CS family [1, 2] is sent to cloud storage 50-2, and CS family [1, N] is cloud storage 50-
  • the communication unit 140 is controlled to be transmitted to N (S22).
  • the control unit 110 controls the communication unit 140 such that a part of a plurality of shares (DS family ) based on the Key family is transmitted to the agent server 40 (first information providing device) based on the family key generation request.
  • the agent server 40 creates a family ID corresponding to the DS family (S24), and registers the family ID in its own storage device (S25).
  • the agent server 40 transmits the DS family to the home agent 30 (S26)
  • the home agent 30 receives and stores the DS family (S27), and sends a reply indicating that family registration has been completed to the father's terminal 20-1 (S26) S28).
  • FIG. 12 is a sequence diagram showing an example of a process of registering a father as an example of a user. An example of processing for registering a father as an example of a user will be described with reference to FIG.
  • the sequence diagram shown in FIG. 12 only shows an example of the user registration process. Therefore, the user registration process is not limited to the process example of the sequence diagram shown in FIG.
  • the father's terminal 20-1 sends an ID and a password to the ID provider 60 (S31), and the token issued from the ID provider 60 corresponding to the ID and the password is returned.
  • S32 A user registration request including a token is sent to the home agent 30 (S33).
  • the home agent 30 receives the user registration request including the token, it reads the DS family from its storage device (S34), and transmits the user registration request including the DS family and the token to the agent server 40 (S35) .
  • the agent server 40 transmits the authentication request including the token to the ID provider 60 (S36), and when the ID corresponding to the token is returned from the ID provider 60 (S37), the father key generation request including the DS family ( The second key generation request is transmitted to the server 10 (S38).
  • control unit 110 acquires the CS family [1] corresponding to the DS family when the DS family is acquired from the father key generation request. Acquired from 1 to 50-N (S39, S40), and a DS family and a CS father [1] are combined to obtain a Key family (family key) (S41). Subsequently, control unit 110 sets a part of the plurality of shares based on a part of the Key family (DS family ) and a parent key (the second key) capable of decrypting father's personal data (the second data) as the key. It is generated as a father , and another part is generated as a CS father [1] (S42).
  • the control unit 110 divides the other part (CS father [1] ) into the CS father [1,1] to CS father [1, N] by the secret sharing method (S43), and the CS father [1,1] is sent to the cloud storage 50-1 (S44), the CS father [1,2] is sent to the cloud storage 50-2, and the CS father [1, N] is sent to the cloud storage 50-N
  • the communication unit 140 is controlled to be on (S45).
  • the control unit 110 generates an encrypted key (represented as Enc (Key family , Key father ) in FIG. 6) by encrypting the Key father with the Key family (S46).
  • the generated Enc (Key family , Key father ) is stored in the storage unit 150 (S47). Then, the control unit 110 divides the Key father into a plurality of shares by the secret sharing method (S48).
  • the control unit 110 divides the other part of the plurality of shares (CS father [2] ) based on the Key father into CS fathers [2, 1] to CS father [2, N] by the secret sharing method (S49) , CS father [2, 1] is sent to cloud storage 50-1 (S50), CS father [2, 2] is sent to cloud storage 50-2, CS father [2, N] is cloud storage 50-
  • the communication unit 140 is controlled to be transmitted to N (S51).
  • the control unit 110 controls the communication unit 140 such that a part (DS father ) of a plurality of shares based on the Key father is transmitted to the agent server 40 (first information providing device) based on the father key generation request. (S52).
  • the agent server 40 creates a user ID father corresponding to the DS father (S53), and registers the user ID father in its own storage device (S54).
  • the agent server 40 transmits the DS father to the home agent 30 (S55)
  • the home agent 30 transmits the DS father to the father terminal 20-1 (S56), and the father terminal 20-1 receives the DS father. Save (S57).
  • FIG. 13 is a sequence diagram showing an example of a process of registering an address as an example of family sharing information. An example of a process of registering an address as an example of family sharing information will be described with reference to FIG. The sequence diagram shown in FIG. 13 merely shows an example of the process of storing family sharing information. Therefore, the storage processing of family sharing information is not limited to the processing example of the sequence diagram shown in FIG.
  • the father's terminal 20-1 transmits an address registration request including the address and the latitude and longitude to the home agent 30 (S61).
  • the home agent 30 receives an address registration request including the address and the latitude and longitude
  • the home agent 30 acquires the DS family from its storage device (S62), and the address registration request including the DS family and the address and the latitude and longitude Are sent to the agent server 40 (S63).
  • the agent server 40 transmits an address encryption request (first encryption request) including the DS family , the address, and the latitude and longitude to the server 10 (S64).
  • the control unit 110 acquires a part (DS family ) of a plurality of shares based on the Key family from the address encryption request, and from the storage 50-1 ⁇ 50-N, to get more of the other part of the market share based on the Key family (CS family [1]) (S65 ⁇ S68 ), a part of the plurality of share based on the Key family (DS The Key family is restored by combining the family ) and the other part (CS family [1] ) (S69).
  • the control unit 110 encrypts the address and the latitude and longitude with the restored Key family (S70), and controls the communication unit 140 so that the encrypted address and the latitude and longitude are transmitted to the agent server 40 (S71).
  • the agent server 40 When the agent server 40 receives the encrypted address and the latitude / longitude, the agent server 40 stores the encrypted address and the latitude / longitude. The agent server 40 sends a reply indicating that the registration of the address and the latitude / longitude is completed to the father terminal 20-1 via the home agent 30 (S72, S73).
  • FIG. 14 is a sequence diagram showing an example of processing for storing latitude and longitude as an example of personal data. An example of processing for storing latitude and longitude as an example of personal data will be described with reference to FIG. The sequence diagram shown in FIG. 14 merely shows an example of the personal data storage process. Therefore, the storage processing of personal data is not limited to the processing example of the sequence diagram shown in FIG.
  • the father's terminal 20-1 reads the DS father from his / her storage device (S81), and transmits a location information storage request including the DS father and the latitude / longitude to the agent server 40 (S82).
  • the agent server 40 receives the location information storage request including the DS father and the latitude / longitude
  • the agent server 40 sends the location information encryption request (second encryption request) including the DS father and the latitude / longitude to the server 10.
  • Send (S83).
  • the control unit 110 acquires a part (DS father ) of a plurality of shares based on the Key father from the position information encryption request. , And another part (CS father [2] ) of a plurality of shares based on Key father from cloud storages 50-1 to 50-N (S 84 to S 87), a part of a plurality of shares based on Key father The Key father is restored by combining (DS father ) and another part (CS father [2] ) (S88). The control unit 110 encrypts the latitude and longitude with the restored Key father (S89), and controls the communication unit 140 so that the encrypted latitude and longitude are transmitted to the agent server 40 (S90).
  • the agent server 40 When receiving the encrypted latitude and longitude, the agent server 40 stores the encrypted latitude and longitude (S91). The agent server 40 sends, to the father terminal 20-1, a reply indicating that the registration of the latitude and longitude is completed (S92).
  • FIG. 15 is a sequence diagram showing an example of processing for sharing latitude and longitude as an example of personal data. An example of a process of sharing latitude and longitude as an example of personal data will be described with reference to FIG. The sequence diagram shown in FIG. 15 merely shows an example of the sharing process of personal data. Therefore, the sharing process of personal data is not limited to the process example of the sequence diagram shown in FIG.
  • the mother terminal 20-2 reads the DS mother from its own storage device (S101), and transmits a father position information sharing request including the DS mother to the agent server 40 (S102).
  • the agent server 40 receives the father's location information sharing request including the DS mother
  • the agent server 40 acquires the latitude and longitude encrypted by the Key father from its storage device (S103), and the latitudes encrypted with the DS mother
  • a father position information decryption request (third decryption request) including the longitude is transmitted to the server 10 (S104).
  • the control unit 110 acquires a part (DS mother ) of a plurality of shares based on the Key mother from the position information decryption request. from cloud storage 50-1 ⁇ 50-N, and acquires another part of the plurality of share-based Key mother (CS mother [2]) (S105 ⁇ S107 ), a portion of the plurality of share-based Key mother ( The Key mother is restored by combining the DS mother ) and the other part (CS mother [2] ) (S108).
  • CS mother [2] cloud storage 50-1 ⁇ 50-N
  • the control unit 110 acquires another part (CS mother [1] ) of a plurality of shares based on part or all of the Key family from the cloud storages 50-1 to 50-N (S109 to S111) , DS family is restored by combining the other part (CS mother [1] ) and the key mother (S112).
  • the control unit 110 acquires the CS family [1] corresponding to the DS family from the cloud storages 50-1 to 50-N (S113 to S115), and combines the DS family with the CS family [1] to obtain a Key.
  • the family is restored (S116).
  • control unit 110 decrypts the Key father based on the Key family (S117).
  • the control unit 110 decodes the father's latitude and longitude with the Key father (S118), and decodes the address with the Key family (S119).
  • the control unit 110 returns the address and the latitude and longitude of the father to the agent server 40 (S120).
  • the agent server 40 generates information (response) on the distance between the nearest station and the father from the house address based on the latitude and longitude corresponding to the address and the father's latitude and longitude (S121), and the generated information Are sent to the mother terminal 20-2 (S122).
  • FIG. 16 is a flowchart showing an example of information sharing processing between family members. An example of information sharing processing between families will be described with reference to FIG. The flowchart shown in FIG. 16 merely shows an example of information sharing processing between family members. Therefore, the information sharing process between families is not limited to the process example of the flowchart shown in FIG.
  • the agent server 40 receives from the home agent of the family X that the family Y is to share the information of the family X, and the home agent of the family Y causes the family X to share the information of the family Y.
  • the request for information decryption of the family X and the request for information decryption of the family Y are transmitted to the server 10.
  • the control unit 110 unlocks (decrypts) the encrypted key family Y with the key family X. Further, when the information decryption request for the family Y is received by the communication unit 140, the control unit 110 unlocks (decrypts) the encrypted Key family X with the Key family Y.
  • the control unit 110 decodes the family X holiday history and preference information with the key family X , and decodes the family Y holiday history and preference information with the key family Y , and based on the respective holiday history and preference information, the destination The candidates are presented (S152).
  • the home agent of family X displays the presented destination candidates as a candidate list (S161). Similarly, the home agent of family Y displays the presented destination candidates as a candidate list (S171).
  • the fact that the destination is determined is input to the home agent of the family X (S 162).
  • the agent server 40 receives from the home agent of the family X that the destination has been determined, the agent server 40 locks (encrypts) the key family X and the key family Y again (S153).
  • FIG. 17 is a block diagram showing an example of the hardware configuration of the information processing apparatus 10 according to the embodiment of the present disclosure.
  • the example shown in FIG. 17 is an example of the hardware configuration of the information processing apparatus 10, the hardware configuration of each of the personal terminal 20, home agent 30, agent server 40, cloud storage 50 and ID provider 60 is also shown. It can be realized in the same manner as the hardware configuration example shown in 17.
  • the information processing apparatus 10 includes a central processing unit (CPU) 901, a read only memory (ROM) 903, and a random access memory (RAM) 905.
  • the information processing apparatus 10 may also include a host bus 907, a bridge 909, an external bus 911, an interface 913, an input device 915, an output device 917, a storage device 919, a drive 921, a connection port 923, and a communication device 925.
  • the information processing device 10 may include an imaging device 933 and a sensor 935 as necessary.
  • the information processing apparatus 10 may have a processing circuit called a digital signal processor (DSP) or an application specific integrated circuit (ASIC) instead of or in addition to the CPU 901.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • the CPU 901 functions as an arithmetic processing unit and a control unit, and controls the entire operation or a part of the information processing apparatus 10 according to various programs recorded in the ROM 903, the RAM 905, the storage unit 919, or the removable recording medium 927.
  • the ROM 903 stores programs used by the CPU 901, calculation parameters, and the like.
  • the RAM 905 temporarily stores programs used in the execution of the CPU 901, parameters that appropriately change in the execution, and the like.
  • the CPU 901, the ROM 903 and the RAM 905 are mutually connected by a host bus 907 configured by an internal bus such as a CPU bus. Furthermore, the host bus 907 is connected to an external bus 911 such as a peripheral component interconnect / interface (PCI) bus via the bridge 909.
  • PCI peripheral component interconnect / interface
  • the input device 915 is, for example, a device operated by the user, such as a mouse, a keyboard, a touch panel, a button, a switch, and a lever.
  • the input device 915 may include a microphone that detects the user's voice.
  • the input device 915 may be, for example, a remote control device using infrared rays or other radio waves, or may be an external connection device 929 such as a mobile phone corresponding to the operation of the information processing apparatus 10.
  • the input device 915 includes an input control circuit that generates an input signal based on information input by the user and outputs the generated signal to the CPU 901.
  • the user operates the input device 915 to input various data to the information processing apparatus 10 and instruct processing operations.
  • an imaging device 933 described later can also function as an input device by imaging the movement of the user's hand, the finger of the user, and the like. At this time, the pointing position may be determined according to the movement of the hand or the direction of the finger.
  • the output device 917 is configured of a device capable of visually or aurally notifying the user of the acquired information.
  • the output device 917 is, for example, an LCD (Liquid Crystal Display), a PDP (Plasma Display Panel), an organic EL (Electro-Luminescence) display, a display device such as a projector, a display device of a hologram, a sound output device such as a speaker and headphones, And a printer device.
  • the output device 917 outputs the result obtained by the processing of the information processing apparatus 10 as a video such as text or an image or outputs it as a sound such as voice or sound.
  • the output device 917 may include a light or the like to brighten the surroundings.
  • the storage device 919 is a device for data storage configured as an example of a storage unit of the information processing device 10.
  • the storage device 919 is configured of, for example, a magnetic storage unit device such as a hard disk drive (HDD), a semiconductor storage device, an optical storage device, or a magneto-optical storage device.
  • the storage device 919 stores programs executed by the CPU 901, various data, various data acquired from the outside, and the like.
  • the drive 921 is a reader / writer for a removable recording medium 927 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and is built in or externally attached to the information processing apparatus 10.
  • the drive 921 reads out the information recorded in the mounted removable recording medium 927 and outputs it to the RAM 905.
  • the drive 921 also writes a record on the attached removable recording medium 927.
  • connection port 923 is a port for directly connecting a device to the information processing apparatus 10.
  • the connection port 923 may be, for example, a Universal Serial Bus (USB) port, an IEEE 1394 port, a Small Computer System Interface (SCSI) port, or the like.
  • the connection port 923 may be an RS-232C port, an optical audio terminal, a high-definition multimedia interface (HDMI (registered trademark)) port, or the like.
  • HDMI registered trademark
  • the communication device 925 is, for example, a communication interface configured of a communication device or the like for connecting to the communication network 931.
  • the communication device 925 may be, for example, a communication card for a wired or wireless Local Area Network (LAN), Bluetooth (registered trademark), or WUSB (Wireless USB).
  • the communication device 925 may be a router for optical communication, a router for Asymmetric Digital Subscriber Line (ADSL), or a modem for various types of communication.
  • the communication device 925 transmits and receives signals and the like to and from the Internet or another communication device using a predetermined protocol such as TCP / IP.
  • a communication network 931 connected to the communication device 925 is a network connected by wire or wireless, and is, for example, the Internet, a home LAN, infrared communication, radio wave communication, satellite communication, or the like.
  • the imaging device 933 uses various members such as an imaging device such as a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS), and a lens for controlling the formation of an object image on the imaging device. It is an apparatus which images real space and generates a captured image.
  • the imaging device 933 may capture a still image, or may capture a moving image.
  • the sensor 935 is, for example, various sensors such as a distance measuring sensor, an acceleration sensor, a gyro sensor, a geomagnetic sensor, a vibration sensor, an optical sensor, and a sound sensor.
  • the sensor 935 acquires information on the environment of the information processing apparatus 10, such as information on the state of the information processing apparatus 10 itself, such as the attitude of the housing of the information processing apparatus 10, and brightness and noise around the information processing apparatus 10, for example. Do.
  • the sensor 935 may also include a GPS sensor that receives a Global Positioning System (GPS) signal and measures the latitude, longitude and altitude of the device.
  • GPS Global Positioning System
  • a plurality of shares based on the first key can be generated from the first key capable of decrypting the first data based on the first key generation request. And, based on a second key generation request, reconstructing the first key from a plurality of shares based on the first key, and a part of a plurality of shares based on a part or all of the first key
  • An information processing apparatus comprising: a control unit that encrypts the second data with the first key as a second key capable of decrypting the second data and generates a plurality of shares based on the second key; Ru.
  • a program for causing hardware such as a CPU, a ROM, and a RAM incorporated in a computer to exhibit the same function as the function of the control unit 110 described above.
  • a computer readable recording medium having the program recorded thereon.
  • a plurality of shares based on the first key are generated from a first key capable of decrypting first data based on a first key generation request, and the first key is generated based on a second key generation request.
  • the first key is restored from a plurality of shares based on the key of the second key, and a portion of the plurality of shares based on a part or all of the first key is used as a second key capable of decrypting second data.
  • a controller that encrypts the first key and generates a plurality of shares based on the second key.
  • the control unit controls the communication unit such that a part of the plurality of shares based on the first key is transmitted to the first information providing apparatus based on the first key generation request, Acquiring part of a plurality of shares based on the first key from the first information providing apparatus based on the second key generation request; The information processing apparatus according to (1).
  • the control unit controls the communication unit such that another part of the plurality of shares based on the first key is transmitted to the second information providing apparatus based on the first key generation request. Acquiring the other part from the second information provision device based on the second key generation request, The information processing apparatus according to (2).
  • the control unit controls the communication unit such that a part of the plurality of shares based on the second key is transmitted to the first information providing apparatus based on the second key generation request.
  • the control unit controls the communication unit such that another part of the plurality of shares based on the second key is transmitted to the second information providing apparatus based on the second key generation request.
  • the control unit controls the communication unit such that another part of the plurality of shares based on part or all of the first key is transmitted to the first information provision device.
  • the information processing apparatus according to (1).
  • the control unit acquires part of a plurality of shares based on the first key and acquires another part of the plurality of shares based on the first key based on a first encryption request. Recovering the first key based on part of the plurality of shares based on the first key and the other part, and encrypting the first data with the first key;
  • the information processing apparatus according to any one of the above (1) to (6).
  • the control unit restores the first key based on a first decryption request, and decrypts the first data with the first key.
  • the information processing apparatus according to (7).
  • the control unit acquires part of a plurality of shares based on the second key and acquires another part of a plurality of shares based on the second key based on a second encryption request. Recovering the second key based on a part of the plurality of shares based on the second key and the other part, and encrypting the second data with the second key.
  • the information processing apparatus according to any one of the above (1) to (8).
  • the control unit restores the second key based on a second decryption request, and decrypts the second data with the second key.
  • the information processing apparatus according to (9).
  • the control unit restores the first key from a plurality of shares based on the first key based on a third key generation request, and a plurality of shares based on a part or all of the first key Encrypting a part of the second key with the first key as a third key, and generating a plurality of shares based on the third key,
  • the information processing apparatus according to (1).
  • the control unit controls the communication unit such that a part of the plurality of shares based on the third key is transmitted to the information providing apparatus based on the third key generation request.
  • the control unit controls the communication unit to transmit another part of the plurality of shares based on the third key based on the third key generation request.
  • the control unit restores the third key based on a third decryption request, restores the first key based on the third key, and the first key based on the first key. Restore the second key and decrypt the second data with the second key,
  • the information processing apparatus according to any one of (11) to (13).
  • the control unit acquires a part of the plurality of shares based on the third key based on the third decryption request and acquires another part of the plurality of shares based on the third key Recovering the third key based on part of the plurality of shares based on the third key and the other part, The information processing apparatus according to (14).
  • the control unit acquires another part of a plurality of shares based on part or all of the first key, and based on the other part and the third key, the first key Restore The information processing apparatus according to (14) or (15).
  • the control unit controls whether or not to restore at least one of the first key and the second key based on access control information.
  • the information processing apparatus according to any one of (11) to (16).
  • the control unit controls whether to decode at least one of the first data and the second data based on access control information.
  • the information processing apparatus according to (1). (19) A plurality of shares based on the first key are generated from a first key capable of decrypting first data based on a first key generation request, and the first key is generated based on a second key generation request.
  • the first key is restored from the plurality of shares based on the key of the second key, and a portion of the plurality of shares based on a part or all of the first key is used as a second key capable of decrypting the second data. Encrypting with the first key and generating a plurality of shares based on the second key, Information processing method. (20) Computer, A plurality of shares based on the first key are generated from a first key capable of decrypting first data based on a first key generation request, and the first key is generated based on a second key generation request.
  • the first key is restored from a plurality of shares based on the key of the second key, and a portion of the plurality of shares based on a part or all of the first key is used as a second key capable of decrypting second data.
  • a controller that encrypts the first key and generates a plurality of shares based on the second key.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】秘密分散を階層的に行う場合において特定のユーザのみに秘密情報の復号を許容する柔軟なアクセスコントロールを実現する技術が提供されることが望ましい。 【解決手段】第1の鍵生成要求に基づいて、第1のデータを復号可能な第1の鍵から前記第1の鍵に基づく複数のシェアを生成し、第2の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアから前記第1の鍵を復元し、前記第1の鍵の一部または全部に基づく複数のシェアの一部を、第2のデータを復号可能な第2の鍵として前記第1の鍵で暗号化するとともに、前記第2の鍵に基づく複数のシェアを生成する制御部を備える、情報処理装置が提供される。

Description

情報処理装置、情報処理方法およびプログラム
 本開示は、情報処理装置、情報処理方法およびプログラムに関する。
 近年、秘密分散によって鍵を分割する技術が存在する。例えば、秘密分散によって鍵を分割し、分割によって得られた複数の情報それぞれを対応する加入者に割り当て、秘密分散法に従って所定の人数の加入者から同意が得られた場合に、鍵を導出し、鍵を用いて署名を行ったり復号を行ったりする技術が開示されている(例えば、特許文献1参照。)。また、秘密分散を階層的に行うことによって、多階層でこのような鍵の扱いを実現することも可能である。
特開平10-198272号公報
 しかし、所定の数のユーザから同意が得られなければ鍵を導出することができないとすると、あるユーザがアクセス可能な秘密情報であっても、他のユーザからの同意なしにはアクセスできないという事態が生じ得る。また、所定の数のユーザから同意が得られれば鍵を導出することができるとすると、あるユーザのプライバシーに関わる情報に対して当該ユーザの同意なしにアクセスできてしまうという事態が生じ得る。そこで、秘密分散を階層的に行う場合において特定のユーザのみに秘密情報の復号を許容する柔軟なアクセスコントロールを実現する技術が提供されることが望ましい。
 本開示によれば、第1の鍵生成要求に基づいて、第1のデータを復号可能な第1の鍵から前記第1の鍵に基づく複数のシェアを生成し、第2の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアから前記第1の鍵を復元し、前記第1の鍵の一部または全部に基づく複数のシェアの一部を、第2のデータを復号可能な第2の鍵として前記第1の鍵で暗号化するとともに、前記第2の鍵に基づく複数のシェアを生成する制御部を備える、情報処理装置が提供される。
 本開示によれば、第1の鍵生成要求に基づいて、第1のデータを復号可能な第1の鍵から前記第1の鍵に基づく複数のシェアを生成し、第2の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアから前記第1の鍵を復元し、前記第1の鍵の一部または全部に基づく複数のシェアの一部を、第2のデータを復号可能な第2の鍵として前記第1の鍵で暗号化するとともに、前記第2の鍵に基づく複数のシェアを生成することを含む、情報処理方法が提供される。
 本開示によれば、コンピュータを、第1の鍵生成要求に基づいて、第1のデータを復号可能な第1の鍵から前記第1の鍵に基づく複数のシェアを生成し、第2の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアから前記第1の鍵を復元し、前記第1の鍵の一部または全部に基づく複数のシェアの一部を、第2のデータを復号可能な第2の鍵として前記第1の鍵で暗号化するとともに、前記第2の鍵に基づく複数のシェアを生成する制御部を備える、情報処理装置として機能させるためのプログラムが提供される。
 以上説明したように本開示によれば、秘密分散を階層的に行う場合において特定のユーザのみに秘密情報の復号を許容する柔軟なアクセスコントロールを実現する技術が提供される。なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の実施形態において主に想定する一つ目のユースケースについて説明するための図である。 同実施形態において主に想定する二つ目のユースケースについて説明するための図である。 比較例に係るアクセスコントロールについて説明するための図である。 同実施形態に係る情報処理システムの構成例を示す図である。 同実施形態に係るサーバの機能構成例を示す図である。 同実施形態に係る情報処理システムの全体的な機能について説明するための図である。 ホームエージェントを利用した家族共有情報およびパーソナルデータの取得処理の例について説明するための図である。 父端末を利用した家族共有情報およびパーソナルデータの取得処理の例について説明するための図である。 母端末を利用した父パーソナルデータの共有処理の例について説明するための図である。 各種の変形例について説明するための図である。 家族情報を登録する処理の例を示すシーケンス図である。 ユーザの例としての父を登録する処理の例を示すシーケンス図である。 家族共有情報の例としての住所を登録する処理の例を示すシーケンス図である。 パーソナルデータの例としての緯度・経度を保存する処理の例を示すシーケンス図である。 パーソナルデータの例としての緯度・経度を共有する処理の例を示すシーケンス図である。 家族間での情報共有処理の例を示すフローチャートである。 同実施形態に係る情報処理装置(サーバ)10のハードウェア構成について説明する。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 また、本明細書および図面において、実質的に同一または類似の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一または類似の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、類似する構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
 なお、説明は以下の順序で行うものとする。
 0.概要
 1.実施形態の詳細
  1.0.システム構成例
  1.1.サーバの機能構成例
  1.2.全体的な機能
   1.2.1.家族情報登録処理
   1.2.2.1人目のユーザ登録処理
   1.2.3.2人目のユーザ登録処理
   1.2.4.家族共有情報の保存処理
   1.2.5.家族共有情報の取得処理
   1.2.6.パーソナルデータの保存処理
   1.2.7.パーソナルデータの取得処理
   1.2.8.パーソナルデータの共有処理
   1.2.9.アクセス制御
   1.2.10.各種の変形例
  1.3.動作例
   1.3.1.家族情報登録処理
   1.3.2.ユーザ登録処理
   1.3.3.家族共有情報の保存処理
   1.3.4.パーソナルデータの保存処理
   1.3.5.パーソナルデータの共有処理
   1.3.6.家族間での情報共有処理
 2.ハードウェア構成例
 3.むすび
 <0.概要>
 まず、本開示の実施形態の概要について説明する。
 まず、本開示の実施形態において主に想定する一つ目のユースケースについて説明する。図1は、本開示の実施形態において主に想定する一つ目のユースケースについて説明するための図である。本開示の実施形態においては、図1に示すように、家族に関する情報を複数のドメインに分け、複数のドメインに対するアクセスをコントロールする。図1に示した例では、父と母と子供とによって構成される家族を想定する。しかし、家族を構成するメンバは、かかる例に限定されない。
 また、図1を参照すると、複数のドメインの例として、家族ドメインM0、父ドメインM1、母ドメインM2および子供ドメインM3が存在している。家族ドメインM0は、家族によって共有される情報(例えば、住所など)を含んでいる。父ドメインM1は、父のパーソナルデータを含んでいる。母ドメインM2は、母のパーソナルデータを含んでいる。子供ドメインM3は、子供のパーソナルデータを含んでいる。
 例えば、父がホームエージェント30を利用する場合には、父がホームエージェント30を介して家族ドメインM0および父ドメインM1にアクセスすることが許可される。また、例えば、母がホームエージェント30を利用する場合には、母がホームエージェント30を介して家族ドメインM0および母ドメインM2にアクセスすることが許可される。子供が子供端末20-3を利用する場合には、子供が子供端末20-3を介して家族ドメインM0および子供ドメインM3にアクセスすることが許可される。
 続いて、本開示の実施形態において主に想定する二つ目のユースケースについて説明する。図2は、本開示の実施形態において主に想定する二つ目のユースケースについて説明するための図である。本開示の実施形態においては、アクセス権限の委譲によって他のユーザのドメインにアクセスすることが許可される。具体的には、図2に示すように、父端末20-1から送信された位置情報が父ドメインM1に蓄積された場合、母端末20-2は、父ドメインM1の位置情報に基づく情報「帰宅中です」を取得することが可能である。
 なお、本開示の実施形態においては、父端末20-1、母端末20-2および子供端末20-3がスマートフォンである場合を主に想定する。しかし、父端末20-1、母端末20-2および子供端末20-3がスマートフォンに限定されない。例えば、父端末20-1、母端末20-2および子供端末20-3それぞれは、携帯電話であってもよいし、タブレット端末であってもよいし、PC(Personal Computer)であってもよい。
 ここで、比較例について説明する。
 図3は、比較例に係るアクセスコントロールについて説明するための図である。図3を参照すると、家族ドメインM0、父ドメインM1、母ドメインM2および子供ドメインM3が存在している。ホームエージェント30は、家族ドメインM0にアクセスするための家族鍵を保持している。父端末20-1は、父ドメインM1にアクセスするための鍵(父鍵)を保持している。母端末20-2は、母ドメインM2にアクセスするための鍵(母鍵)を保持している。子供端末20-3は、子供ドメインM3にアクセスするための鍵(子供鍵)を保持している。
 ここで、上記した一つ目のユースケースを想定する。しかし、比較例においては、ホームエージェント30が家族鍵しか保持していないため、ホームエージェント30からは父ドメインM1、母ドメインM2および子供ドメインM3にアクセスすることができない。
 一方、父端末20-1は父鍵しか保持しておらず、母端末20-2は母鍵しか保持しておらず、子供端末20-3は子供鍵しか保持していないため、父端末20-1、母端末20-2および子供端末20-3(以下、これらの任意の端末を「個人端末」とも言う。)から家族ドメインM0にアクセスすることができない。仮に、個人端末が家族鍵を保持してしまうと、父と母が離婚などで縁を切る必要が生じた場合などに、家族ドメインM0へのアクセスを拒否できなくなってしまう。家族鍵をリボークして新しい家族鍵を発行してもよいが、鍵交換に伴う再暗号化などのコストが発生してしまう。
 また、上記した二つ目のユースケースを想定する。しかし、比較例においては、例えば、k=2、n=3の秘密分散の場合には、母が父and/or子供との同意が得られた場合には家族鍵にアクセスすることができるが、母端末20-2は母鍵しか保持していないため、母端末20-2から父鍵にアクセスすることができない。
 以上、本開示の実施形態の概要について説明した。
 <1.実施形態の詳細>
 続いて、本開示の実施形態の詳細について説明する。
 [1.0.システム構成例]
 図4は、本開示の実施形態に係る情報処理システムの構成例を示す図である。図4に示すように、情報処理システム1は、情報処理装置の例としてのサーバ10と、父端末20-1と、母端末20-2と、子供端末20-3と、ホームエージェント30と、エージェントサーバ40と、情報提供装置の例としてのクラウドストレージ50-1~50-Nと、IDプロバイダ60とを有する。サーバ10、父端末20-1、母端末20-2、子供端末20-3、ホームエージェント30、エージェントサーバ40、クラウドストレージ50-1~50-N、および、IDプロバイダ60は、ネットワーク70に接続されている。
 [1.1.サーバの機能構成例]
 まず、本開示の実施形態に係るサーバ10の機能構成例について説明する。図5は、本開示の実施形態に係るサーバ10の機能構成例を示す図である。図5に示したように、サーバ10は、制御部110、通信部140および記憶部150を有している。
 制御部110は、サーバ10の各部の制御を実行する。なお、制御部110は、例えば、CPU(Central Processing Unit;中央演算処理装置)などで構成されていてよい。制御部110がCPUなどといった処理装置によって構成される場合、かかる処理装置は、電子回路によって構成されてよい。
 通信部140は、ネットワーク70を介して他の装置との間で通信を行う機能を有する。例えば、通信部140は、通信インターフェースにより構成される。例えば、通信部140は、ネットワーク70を介して、エージェントサーバ40およびクラウドストレージ50-1~50-Nとの間で通信を行うことが可能である。
 記憶部150は、制御部110によって実行されるプログラムを記憶したり、プログラムの実行に必要なデータを記憶したりする記録媒体である。また、記憶部150は、制御部110による演算のためにデータを一時的に記憶する。記憶部150は、磁気記憶部デバイスであってもよいし、半導体記憶デバイスであってもよいし、光記憶デバイスであってもよいし、光磁気記憶デバイスであってもよい。
 以上、本開示の実施形態に係るサーバ10の機能構成例について説明した。
 [1.2.全体的な機能]
 続いて、本開示の実施形態に係る情報処理システム1の全体的な機能について説明する。図6は、本開示の実施形態に係る情報処理システム1の全体的な機能について説明するための図である。
 (1.2.1.家族情報登録処理)
 図4~図6を参照しながら、家族情報を登録する処理の例について説明する。まず、父端末20-1は、IDとパスワードとをIDプロバイダ60に送信し、IDプロバイダ60からIDとパスワードとに対応して発行されたトークンが返信されると、トークンを含んだ家族登録要求をホームエージェント30に送信する。なお、ここでは、父が父端末20-1を用いて家族情報を登録する場合を想定するが、父以外の家族(例えば、母、子供など)が家族情報の登録を行ってもよい。
 ホームエージェント30は、トークンを含んだ家族登録要求を受信すると、トークンを含んだ家族登録要求をエージェントサーバ40に送信する。エージェントサーバ40は、トークンを含んだ認証要求をIDプロバイダ60に送信し、IDプロバイダ60からトークンに対応するIDが返信されると、家族鍵生成要求(第1の鍵生成要求)をサーバ10に送信する。
 サーバ10においては、通信部140によって家族鍵生成要求が受信されると、制御部110は、家族鍵生成要求に基づいて、家族内共有情報(第1のデータ)を復号可能な家族鍵(第1の鍵)をKey家族として生成する。そして、制御部110は、Key家族からKey家族に基づく複数のシェアを生成する。より具体的には、制御部110は、Key家族を秘密分散法によって複数のシェアに分割する。
 制御部110は、家族鍵生成要求に基づいて、Key家族に基づく複数のシェアの一部(DS家族)がエージェントサーバ40(第1の情報提供装置)に送信されるように通信部140を制御する。エージェントサーバ40は、DS家族を受信すると、DS家族に対応する家族IDを作成し、家族IDを自身の記憶装置に登録する。エージェントサーバ40がDS家族をホームエージェント30に送信すると、ホームエージェント30は、DS家族を受信して保存し、家族登録が完了した旨を父端末20-1に返信する。
 一方、制御部110は、家族鍵生成要求に基づいて、Key家族に基づく複数のシェアの他の一部(CS家族[1])がクラウドストレージ50-1~50-N(第2の情報提供装置)に送信されるように通信部140を制御する。より具体的に、制御部110は、他の一部(CS家族[1])を秘密分散法によってCS家族[1,1]~CS家族[1,N]に分割し、CS家族[1,1]がクラウドストレージ50-1に送信され、CS家族[1,2]がクラウドストレージ50-2に送信され、CS家族[1,N]がクラウドストレージ50-Nに送信されるように通信部140を制御する。
 (1.2.2.1人目のユーザ登録処理)
 続いて、1人目のユーザとして父を登録する処理の例について説明する。なお、ここでは、1人目のユーザとして父のユーザ登録を行う場合を想定するが、1人目のユーザとして父以外の家族(例えば、母、子供など)のユーザ登録が行われてもよい。父端末20-1は、IDとパスワードとをIDプロバイダ60に送信し、IDプロバイダ60からIDとパスワードとに対応して発行されたトークンが返信されると、トークンを含んだユーザ登録要求をホームエージェント30に送信する。
 ホームエージェント30は、トークンを含んだユーザ登録要求を受信すると、自身の記憶装置からDS家族を読み出し、DS家族とトークンとを含んだユーザ登録要求をエージェントサーバ40に送信する。エージェントサーバ40は、トークンを含んだ認証要求をIDプロバイダ60に送信し、IDプロバイダ60からトークンに対応するIDが返信されると、DS家族を含んだ父鍵生成要求(第2の鍵生成要求)をサーバ10に送信する。
 サーバ10においては、通信部140によって父鍵生成要求が受信されると、制御部110は、父鍵生成要求に基づいて父鍵生成要求からDS家族を取得し、DS家族から家族鍵を復元する。より具体的には、制御部110は、父鍵生成要求からDS家族を取得すると、DS家族に対応するCS父[1]をクラウドストレージ50-1~50-Nから取得し、DS家族とCS父[1]とを結合させることによって、Key家族(家族鍵)を得る。
 続いて、制御部110は、Key家族の一部または全部に基づく複数のシェアの一部を、父パーソナルデータ(第2のデータ)を復号可能な父鍵(第2の鍵)をKeyとして生成する。ここでは、制御部110が、Key家族の一部(DS家族)に基づく複数のシェアの一部を、Keyとして生成する場合を主に想定する。しかし、制御部110は、Key家族の全部(DS家族およびCS家族[1])に基づく複数のシェアの一部を、Keyとして生成してもよい。
 制御部110は、KeyをKey家族で暗号化することによって、暗号化された鍵(図6には、Enc(Key家族,Key)と表されている)を生成し、生成したEnc(Key家族,Key)を記憶部150に記憶させる。そして、制御部110は、Keyに基づく複数のシェアを生成する。より具体的には、制御部110は、Keyを秘密分散法によって複数のシェアに分割する。
 制御部110は、父鍵生成要求に基づいて、Keyに基づく複数のシェアの一部(DS)がエージェントサーバ40(第1の情報提供装置)に送信されるように通信部140を制御する。エージェントサーバ40は、DSを受信すると、DSに対応するユーザIDを作成し、ユーザIDを自身の記憶装置に登録する。エージェントサーバ40がDSをホームエージェント30に送信すると、ホームエージェント30は、DSを父端末20-1に送信し、父端末20-1は、DSを受信して保存する。
 一方、制御部110は、父鍵生成要求に基づいて、Keyに基づく複数のシェアの他の一部(CS父[1])がクラウドストレージ50-1~50-N(第2の情報提供装置)に送信されるように通信部140を制御する。より具体的に、制御部110は、他の一部(CS父[1])を秘密分散法によってCS父[1,1]~CS父[1,N]に分割し、CS父[1,1]がクラウドストレージ50-1に送信され、CS父[1,2]がクラウドストレージ50-2に送信され、CS父[1,N]がクラウドストレージ50-Nに送信されるように通信部140を制御する。
 また、制御部110は、父鍵生成要求に基づいて、Keyに基づく複数のシェアの他の一部(CS父[2])がクラウドストレージ50-1~50-N(第2の情報提供装置)に送信されるように通信部140を制御する。より具体的に、制御部110は、他の一部(CS父[2])を秘密分散法によってCS父[2,1]~CS父[2,N]に分割し、CS父[2,1]がクラウドストレージ50-1に送信され、CS父[2,2]がクラウドストレージ50-2に送信され、CS父[2,N]がクラウドストレージ50-Nに送信されるように通信部140を制御する。
 (1.2.3.2人目のユーザ登録処理)
 続いて、2人目のユーザとして母を登録する処理の例について説明する。なお、ここでは、2人目のユーザとして母のユーザ登録を行う場合を想定するが、2人目のユーザとして母以外の家族(例えば、子供など)のユーザ登録が行われてもよい。母端末20-2は、IDとパスワードとをIDプロバイダ60に送信し、IDプロバイダ60からIDとパスワードとに対応して発行されたトークンが返信されると、トークンを含んだユーザ登録要求をホームエージェント30に送信する。
 ホームエージェント30は、トークンを含んだユーザ登録要求を受信すると、自身の記憶装置からDS家族を読み出し、DS家族とトークンとを含んだユーザ登録要求をエージェントサーバ40に送信する。エージェントサーバ40は、トークンを含んだ認証要求をIDプロバイダ60に送信し、IDプロバイダ60からトークンに対応するIDが返信されると、DS家族を含んだ母鍵生成要求(第3の鍵生成要求)をサーバ10に送信する。
 サーバ10においては、通信部140によって母鍵生成要求が受信されると、制御部110は、母鍵生成要求に基づいて母鍵生成要求からDS家族を取得し、DS家族から家族鍵を復元する。より具体的には、制御部110は、母鍵生成要求からDS家族を取得すると、DS家族に対応するCS母[1]をクラウドストレージ50-1~50-Nから取得し、DS家族とCS母[1]とを結合させることによって、Key家族(家族鍵)を得る。
 続いて、制御部110は、Key家族の一部または全部に基づく複数のシェアの一部を、母パーソナルデータ(第3のデータ)を復号可能な母鍵(第3の鍵)をKeyとして生成する。ここでは、制御部110が、Key家族の一部(DS家族)に基づく複数のシェアの一部を、Keyとして生成する場合を主に想定する。しかし、制御部110は、Key家族の全部(DS家族およびCS家族[1])に基づく複数のシェアの一部を、Keyとして生成してもよい。
 制御部110は、KeyをKey家族で暗号化することによって、暗号化された鍵(図6には、Enc(Key家族,Key)と表されている)を生成し、生成したEnc(Key家族,Key)を記憶部150に記憶させる。そして、制御部110は、Keyに基づく複数のシェアを生成する。より具体的には、制御部110は、Key家族を秘密分散法によって複数のシェアに分割する。
 制御部110は、母鍵生成要求に基づいて、Keyに基づく複数のシェアの一部(DS)がエージェントサーバ40(第1の情報提供装置)に送信されるように通信部140を制御する。エージェントサーバ40は、DSを受信すると、DSに対応するユーザIDを作成し、ユーザIDを自身の記憶装置に登録する。エージェントサーバ40がDSをホームエージェント30に送信すると、ホームエージェント30は、DSを母端末20-2に送信し、母端末20-2は、DSを受信して保存する。
 一方、制御部110は、母鍵生成要求に基づいて、Keyに基づく複数のシェアの他の一部(CS母[1])がクラウドストレージ50-1~50-N(第2の情報提供装置)に送信されるように通信部140を制御する。より具体的に、制御部110は、他の一部(CS母[1])を秘密分散法によってCS母[1,1]~CS母[1,N]に分割し、CS母[1,1]がクラウドストレージ50-1に送信され、CS母[1,2]がクラウドストレージ50-2に送信され、CS母[1,N]がクラウドストレージ50-Nに送信されるように通信部140を制御する。
 また、制御部110は、母鍵生成要求に基づいて、Keyに基づく複数のシェアの他の一部(CS母[2])がクラウドストレージ50-1~50-N(第2の情報提供装置)に送信されるように通信部140を制御する。より具体的に、制御部110は、他の一部(CS母[2])を秘密分散法によってCS母[2,1]~CS母[2,N]に分割し、CS母[2,1]がクラウドストレージ50-1に送信され、CS母[2,2]がクラウドストレージ50-2に送信され、CS母[2,N]がクラウドストレージ50-Nに送信されるように通信部140を制御する。
 (1.2.4.家族共有情報の保存処理)
 続いて、家族共有情報(第1のデータ)を保存する処理の例について説明する。ここでは、家族共有情報として、家の住所と緯度・経度を保存する処理の例について説明する。しかし、家族共有情報は、かかる例に限定されない。父端末20-1は、住所と緯度・経度とを含んだ住所登録要求をホームエージェント30に送信する。なお、ここでは、父が父端末20-1を用いて家族共有情報を保存する場合を想定するが、父以外の家族(例えば、母、子供など)が家族共有情報の保存を行ってもよい。
 ホームエージェント30は、住所と緯度・経度とを含んだ住所登録要求を受信すると、自身の記憶装置からDS家族を取得し、DS家族と住所と緯度・経度とを含んだ住所登録要求をエージェントサーバ40に送信する。エージェントサーバ40は、ホームエージェント30から住所登録要求を受信すると、DS家族と住所と緯度・経度とを含んだ住所暗号化要求(第1の暗号化要求)をサーバ10に送信する。
 サーバ10においては、通信部140によって住所暗号化要求が受信されると、制御部110は、住所暗号化要求に基づいて、Key家族に基づく複数のシェアの一部(DS家族)を取得するとともにKey家族に基づく複数のシェアの他の一部(CS家族[1])を取得し、Key家族に基づく複数のシェアの一部(DS家族)と他の一部(CS家族[1])とに基づいてKey家族を復元する。
 より具体的には、制御部110は、住所暗号化要求から、Key家族に基づく複数のシェアの一部(DS家族)を取得するとともに、クラウドストレージ50-1~50-Nから、Key家族に基づく複数のシェアの他の一部(CS家族[1])を取得し、Key家族に基づく複数のシェアの一部(DS家族)と他の一部(CS家族[1])とを結合させることによってKey家族を復元する。制御部110は、復元したKey家族で住所および緯度・経度を暗号化し、暗号化した住所および緯度・経度がエージェントサーバ40に送信されるように通信部140を制御する。
 エージェントサーバ40は、暗号化された住所および緯度・経度を受信すると、暗号化された住所および緯度・経度を保存する。エージェントサーバ40は、ホームエージェント30を介して父端末20-1に住所および緯度・経度の登録が完了した旨を返信する。
 (1.2.5.家族共有情報の取得処理)
 続いて、家族共有情報を取得する処理の例について説明する。図7は、ホームエージェント30を利用した家族共有情報およびパーソナルデータの取得処理の例について説明するための図である。図8は、父端末20-1を利用した家族共有情報およびパーソナルデータの取得処理の例について説明するための図である。まず、図7を参照しながら、ホームエージェント30を利用した家族共有情報の取得処理の例について説明する。
 ホームエージェント30は、ホームエージェント30を利用しているユーザを認識する。ここで、ユーザの認識はどのようになされてもよい。ホームエージェント30が有するカメラによって撮像された画像から顔認識によってユーザを認識してもよいし、ホームエージェント30が有するマイクロフォンによって集音された音情報から音声認識によってユーザを認識してもよい。
 ホームエージェント30は、ユーザの例として父を認識した場合、DS家族からKey家族を導出し(S1)、Key家族を含んだ住所取得要求をエージェントサーバ40に送信する。なお、ここでは、父がホームエージェント30を用いて家族共有情報を取得する場合を想定するが、父以外の家族(例えば、母、子供など)が家族共有情報の取得を行ってもよい。エージェントサーバ40は、Key家族を含んだ住所取得要求を受信すると、自身の記憶装置から、Key家族によって暗号化された住所および緯度・経度を取得し、Key家族と暗号化された住所および緯度・経度とを含んだ住所復号要求をサーバ10に送信する。
 サーバ10においては、通信部140によって住所復号要求が受信されると、制御部110は、住所復号要求に基づいて、住所および緯度・経度を復号する。まず、制御部110は、住所復号要求に基づいて、住所復号要求からKey家族を取得し、住所および緯度・経度をKey家族で復号する。制御部110は、エージェントサーバ40を介してホームエージェント30に住所および緯度・経度を返信する。
 続いて、図8を参照しながら、父端末20-1を利用した家族共有情報の取得処理の例について説明する。まず、父端末20-1は、DSを含んだ住所取得要求をエージェントサーバ40に送信する。なお、ここでは、父が父端末20-1を用いて家族共有情報を取得する場合を想定するが、父以外の家族(例えば、母、子供など)が家族共有情報の取得を行ってもよい。
 エージェントサーバ40は、DSを含んだ住所取得要求を受信すると、自身の記憶装置から、Key家族によって暗号化された住所および緯度・経度を取得し、DSと暗号化された住所および緯度・経度とを含んだ住所復号要求(第1の復号要求)をサーバ10に送信する。
 サーバ10においては、通信部140によって住所復号要求が受信されると、制御部110は、住所復号要求に基づいて、住所および緯度・経度を復号する。まず、制御部110は、住所復号要求に基づいて、Keyに基づく複数のシェアの一部(DS)を取得するとともにKeyに基づく複数のシェアの他の一部(CS父[1])を取得し、Keyに基づく複数のシェアの一部(DS)と他の一部(CS父[1])とに基づいてKeyを復元する(S3)。
 より具体的には、制御部110は、住所復号要求から、Keyに基づく複数のシェアの一部(DS)を取得するとともに、クラウドストレージ50-1~50-Nから、Keyに基づく複数のシェアの他の一部(CS父[2])を取得し、Keyに基づく複数のシェアの一部(DS)と他の一部(CS父[2])とを結合させることによってKeyを復元する。
 また、制御部110は、クラウドストレージ50-1~50-Nから、Key家族の一部または全部に基づく複数のシェアの他の一部(CS父[1])を取得し、他の一部(CS父[1])とKeyとを結合させることによって、Key家族の一部または全部を復元する。ここでは、DS家族が復元される場合を想定する(S4)。制御部110は、クラウドストレージ50-1~50-Nから、DS家族に対応するCS家族[1]を取得し、DS家族とCS家族[1]とを結合させることによってKey家族を復元する(S5)。
 そして、制御部110は、住所および緯度・経度をKey家族で復号する。制御部110は、エージェントサーバ40を介して父端末20-1に住所および緯度・経度を返信する。
 (1.2.6.パーソナルデータの保存処理)
 続いて、パーソナルデータを保存する処理の例について説明する。ここでは、パーソナルデータとして、父の位置情報(緯度・経度)を保存する処理の例について説明する。しかし、パーソナルデータは、かかる例に限定されない。
 まず、父端末20-1は、DSと緯度・経度とを含んだ位置情報保存要求をエージェントサーバ40に送信する。なお、ここでは、父が父端末20-1を用いてパーソナルデータを保存する場合を想定するが、父以外の家族(例えば、母、子供など)がパーソナルデータの保存を行ってもよい。
 エージェントサーバ40は、DSと緯度・経度とを含んだ位置情報保存要求を受信すると、DSと緯度・経度とを含んだ位置情報暗号化要求(第2の暗号化要求)をサーバ10に送信する。
 サーバ10においては、通信部140によって位置情報暗号化要求が受信されると、制御部110は、位置情報暗号化要求に基づいて、Keyに基づく複数のシェアの一部(DS)を取得するとともにKeyに基づく複数のシェアの他の一部(CS父[2])を取得し、Keyに基づく複数のシェアの一部(DS)と他の一部(CS父[2])とに基づいてKeyを復元する。
 より具体的には、制御部110は、位置情報暗号化要求から、Keyに基づく複数のシェアの一部(DS)を取得するとともに、クラウドストレージ50-1~50-Nから、Keyに基づく複数のシェアの他の一部(CS父[2])を取得し、Keyに基づく複数のシェアの一部(DS)と他の一部(CS父[2])とを結合させることによってKeyを復元する。制御部110は、復元したKeyで緯度・経度を暗号化し、暗号化した緯度・経度がエージェントサーバ40に送信されるように通信部140を制御する。
 エージェントサーバ40は、暗号化された緯度・経度を受信すると、暗号化された緯度・経度を保存する。エージェントサーバ40は、ホームエージェント30を介して父端末20-1に緯度・経度の登録が完了した旨を返信する。
 (1.2.7.パーソナルデータの取得処理)
 続いて、パーソナルデータを取得する処理の例について説明する。まず、図7を参照しながら、ホームエージェント30を利用したパーソナルデータの取得処理の例について説明する。
 ホームエージェント30は、ホームエージェント30を利用しているユーザを認識する。ユーザの認識は、上記したようにして行われてよい。ホームエージェント30は、ユーザの例として父を認識した場合、DS家族からKey家族を導出し(S1)、Key家族を含んだ位置情報取得要求をエージェントサーバ40に送信する。なお、ここでは、父がホームエージェント30を用いて自身のパーソナルデータを取得する場合を想定するが、父以外の家族(例えば、母、子供など)が自身のパーソナルデータの取得を行ってもよい。
 エージェントサーバ40は、Key家族を含んだ父位置情報取得要求を受信すると、Key家族を含んだ父位置情報復号要求をサーバ10に送信する。サーバ10においては、制御部110が、父位置情報復号要求から、Key家族を取得し、KeyをKey家族で復号する。そして、制御部110は、緯度・経度をKeyで復号する。制御部110は、エージェントサーバ40を介してホームエージェント30に緯度・経度を返信する。
 続いて、図8を参照しながら、父端末20-1を利用したパーソナルデータの取得処理の例について説明する。まず、父端末20-1は、DSを含んだ位置情報取得要求をエージェントサーバ40に送信する。なお、ここでは、父が父端末20-1を用いて自身のパーソナルデータを取得する場合を想定するが、父以外の家族(例えば、母、子供など)が自身のパーソナルデータの取得を行ってもよい。
 エージェントサーバ40は、DSを含んだ位置情報取得要求を受信すると、自身の記憶装置から、Keyによって暗号化された住所および緯度・経度を取得し、DSと暗号化された緯度・経度とを含んだ位置情報復号要求(第2の復号要求)をサーバ10に送信する。
 サーバ10においては、通信部140によって位置情報復号要求が受信されると、制御部110は、位置情報復号要求に基づいて、Keyを復元し(S3)、Keyで緯度・経度を復号する。まず、制御部110は、位置情報復号要求に基づいて、Keyに基づく複数のシェアの一部(DS)を取得するとともにKeyに基づく複数のシェアの他の一部(CS父[2])を取得し、Keyに基づく複数のシェアの一部(DS)と他の一部(CS父[2])とに基づいてKeyを復元する。
 より具体的には、制御部110は、位置情報復号要求から、Keyに基づく複数のシェアの一部(DS)を取得するとともに、クラウドストレージ50-1~50-Nから、Keyに基づく複数のシェアの他の一部(CS父[2])を取得し、Keyに基づく複数のシェアの一部(DS)と他の一部(CS父[2])とを結合させることによってKeyを復元する。
 そして、制御部110は、緯度・経度をKeyで復号する。制御部110は、エージェントサーバ40およびホームエージェント30を介して父端末20-1に緯度・経度を返信する。
 (1.2.8.パーソナルデータの共有処理)
 続いて、パーソナルデータを共有する処理の例について説明する。ここでは、パーソナルデータとして、父の位置情報(緯度・経度)を共有する処理の例について説明する。しかし、パーソナルデータは、かかる例に限定されない。また、ここでは、父パーソナルデータが母に共有される例を説明する。しかし、誰のパーソナルデータが誰に共有されるかは限定されない。
 図9は、母端末20-2を利用した父パーソナルデータの共有処理の例について説明するための図である。まず、母端末20-2は、DSを含んだ父位置情報共有要求をエージェントサーバ40に送信する。エージェントサーバ40は、DSを含んだ父位置情報共有要求を受信すると、自身の記憶装置から、Keyによって暗号化された緯度・経度を取得し、DSと暗号化された緯度・経度とを含んだ父位置情報復号要求(第3の復号要求)をサーバ10に送信する。
 サーバ10においては、通信部140によって父位置情報復号要求が受信されると、制御部110は、父位置情報復号要求に基づいて、Keyを復元し(S6)、Keyに基づいて、Key家族を復元し、Key家族に基づいて、Keyを復元し、Keyで緯度・経度を復号する。まず、制御部110は、父位置情報復号要求に基づいて、Keyに基づく複数のシェアの一部(DS)を取得するとともにKeyに基づく複数のシェアの他の一部(CS母[2])を取得し、Keyに基づく複数のシェアの一部(DS)と他の一部(CS母[2])とに基づいてKeyを復元する。
 より具体的には、制御部110は、位置情報復号要求から、Keyに基づく複数のシェアの一部(DS)を取得するとともに、クラウドストレージ50-1~50-Nから、Keyに基づく複数のシェアの他の一部(CS母[2])を取得し、Keyに基づく複数のシェアの一部(DS)と他の一部(CS母[2])とを結合させることによってKeyを復元する。
 そして、制御部110は、Key家族の一部または全部に基づく複数のシェアの他の一部(CS母[1])を取得し、他の一部(CS母[1])とKeyとに基づいて、Key家族を復元する。
 より具体的に、制御部110は、クラウドストレージ50-1~50-Nから、Key家族の一部または全部に基づく複数のシェアの他の一部(CS母[1])を取得し、他の一部(CS母[1])とKeyとを結合させることによって、Key家族の一部または全部を復元する。ここでは、DS家族が復元される場合を想定する(S7)。制御部110は、クラウドストレージ50-1~50-Nから、DS家族に対応するCS家族[1]を取得し、DS家族とCS家族[1]とを結合させることによってKey家族を復元する(S8)。
 そして、制御部110は、Key家族に基づいてKeyを復号する(S9)。制御部110は、緯度・経度をKeyで復号する。制御部110は、エージェントサーバ40を介して母端末20-2に緯度・経度を返信する。このとき、エージェントサーバ40は、父の緯度・経度をそのまま母端末20-2に返信してもよいが、制御部110によって、Key家族を用いて家の住所も復号される場合が想定される。かかる場合には、エージェントサーバ40は、家の住所に対応する緯度・経度と父の緯度・経度とに基づいて、父と家との距離に関する情報を母端末20-2に返信してもよいし、家の住所から最も近い駅と父との距離に関する情報を母端末20-2に返信してもよい。
 (1.2.9.アクセス制御)
 上記のようにして、家族鍵、父鍵および母鍵が復元され得る。このとき、鍵の復元には制限が設けられていてよい。すなわち、制御部110は、アクセス制御情報に基づいて、鍵を復元するか否かを制御してもよい。例えば、制御部110は、子供端末20-3からアクセスがあった場合には家族鍵を復元しないが、父端末20-1または母端末20-2からアクセスがあった場合には家族鍵を復元するようにアクセス制御情報が設定されていてもよい。
 具体的に、制御部110は、アクセス制御情報に基づいて、家族鍵を復元するか否かを制御してもよい。また、制御部110は、アクセス制御情報に基づいて、父鍵を復元するか否かを制御してもよい。また、制御部110は、アクセス制御情報に基づいて、母鍵を復元するか否かを制御してもよい。また、制御部110は、アクセス制御情報に基づいて、子供鍵を復元するか否かを制御してもよい。
 また、上記のようにして、家族共有情報および父パーソナルデータが復号され得る。このとき、各種データの復号には制限が設けられていてよい。すなわち、制御部110は、アクセス制御情報に基づいて、データを復号するか否かを制御してもよい。例えば、制御部110は、子供端末20-3からアクセスがあった場合には家族共有情報を復号しないが、父端末20-1または母端末20-2からアクセスがあった場合には家族共有情報を復号するようにアクセス制御情報が設定されていてもよい。
 (1.2.10.各種の変形例)
 図10は、各種の変形例について説明するための図である。上記では、1つの家庭内に1台のホームエージェント30が設けられる場合を主に想定した。しかし、1つの家庭内に複数台のホームエージェント30が設けられてもよい。例えば、図10に示すように、制御部110は、1つの家庭内に2台目のホームエージェント30を追加する場合には、Key家族を再度分割して、1台目のホームエージェント30が保持するDS家族と異なるDS家族を「2台目」のホームエージェント30に保持させるのがよい。
 また、複数の家庭それぞれに1または複数のホームエージェント30が設けられてもよい。例えば、図10に示すように、1つ目の家庭(家族ドメインX)の他に2つ目の家庭(家族ドメインY)が追加され、1つ目の家庭(家族ドメインX)および2つ目の家庭(家族ドメインY)それぞれにホームエージェント30が設けられてもよい。このとき、図10に示すように、制御部110は、1つ目の家庭(家族ドメインX)へのアクセスを、2つ目の家族に許可する場合、2つ目の家族YのKey家族Yで1つ目の家族XのKey家族Xを暗号化することによって、相互アクセスを可能としてもよい。
 以上、本開示の実施形態に係る情報処理システム1の全体的な機能について説明した。
 [1.3.動作例]
 続いて、本開示の実施形態に係る情報処理システム1の動作例について説明する。
 (1.3.1.家族情報登録処理)
 図11は、家族情報を登録する処理の例を示すシーケンス図である。図11を参照しながら、家族情報を登録する処理の例について説明する。なお、図11に示したシーケンス図は、家族情報を登録する処理の一例を示したに過ぎない。したがって、家族情報を登録する処理は、図11に示したシーケンス図の処理例に限定されない。
 図11に示すように、父端末20-1は、IDとパスワードとをIDプロバイダ60に送信し(S11)、IDプロバイダ60からIDとパスワードとに対応して発行されたトークンが返信されると(S12)、トークンを含んだ家族登録要求をホームエージェント30に送信する(S13)。ホームエージェント30は、トークンを含んだ家族登録要求を受信すると、トークンを含んだ家族登録要求をエージェントサーバ40に送信する(S14)。
 エージェントサーバ40は、トークンを含んだ認証要求をIDプロバイダ60に送信し(S15)、IDプロバイダ60からトークンに対応するIDが返信されると(S16)、家族鍵生成要求(第1の鍵生成要求)をサーバ10に送信する(S17)。
 サーバ10においては、通信部140によって家族鍵生成要求が受信されると、制御部110は、家族鍵生成要求に基づいて、家族内共有情報(第1のデータ)を復号可能な家族鍵(第1の鍵)をKey家族として生成する(S18)。そして、制御部110は、Key家族を秘密分散法によって複数のシェアに分割する(S19)。
 制御部110は、Key家族に基づく複数のシェアの他の一部(CS家族[1])を秘密分散法によってCS家族[1,1]~CS家族[1,N]に分割し(S20)、CS家族[1,1]がクラウドストレージ50-1に送信され(S21)、CS家族[1,2]がクラウドストレージ50-2に送信され、CS家族[1,N]がクラウドストレージ50-Nに送信されるように通信部140を制御する(S22)。
 制御部110は、家族鍵生成要求に基づいて、Key家族に基づく複数のシェアの一部(DS家族)がエージェントサーバ40(第1の情報提供装置)に送信されるように通信部140を制御する(S23)。エージェントサーバ40は、DS家族を受信すると、DS家族に対応する家族IDを作成し(S24)、家族IDを自身の記憶装置に登録する(S25)。エージェントサーバ40がDS家族をホームエージェント30に送信すると(S26)、ホームエージェント30は、DS家族を受信して保存し(S27)、家族登録が完了した旨を父端末20-1に返信する(S28)。
 (1.3.2.ユーザ登録処理)
 図12は、ユーザの例としての父を登録する処理の例を示すシーケンス図である。図12を参照しながら、ユーザの例としての父を登録する処理の例について説明する。なお、図12に示したシーケンス図は、ユーザ登録処理の一例を示したに過ぎない。したがって、ユーザ登録処理は、図12に示したシーケンス図の処理例に限定されない。
 図12に示すように、父端末20-1は、IDとパスワードとをIDプロバイダ60に送信し(S31)、IDプロバイダ60からIDとパスワードとに対応して発行されたトークンが返信されると(S32)、トークンを含んだユーザ登録要求をホームエージェント30に送信する(S33)。ホームエージェント30は、トークンを含んだユーザ登録要求を受信すると、自身の記憶装置からDS家族を読み出し(S34)、DS家族とトークンとを含んだユーザ登録要求をエージェントサーバ40に送信する(S35)。
 エージェントサーバ40は、トークンを含んだ認証要求をIDプロバイダ60に送信し(S36)、IDプロバイダ60からトークンに対応するIDが返信されると(S37)、DS家族を含んだ父鍵生成要求(第2の鍵生成要求)をサーバ10に送信する(S38)。
 サーバ10においては、通信部140によって父鍵生成要求が受信されると、制御部110は、父鍵生成要求からDS家族を取得すると、DS家族に対応するCS父[1]をクラウドストレージ50-1~50-Nから取得し(S39、S40)、DS家族とCS父[1]とを結合させることによって、Key家族(家族鍵)を得る(S41)。続いて、制御部110は、Key家族の一部(DS家族)に基づく複数のシェアの一部を、父パーソナルデータ(第2のデータ)を復号可能な父鍵(第2の鍵)をKeyとして生成し、他の一部をCS父[1]として生成する(S42)。
 制御部110は、制御部110は、他の一部(CS父[1])を秘密分散法によってCS父[1,1]~CS父[1,N]に分割し(S43)、CS父[1,1]がクラウドストレージ50-1に送信され(S44)、CS父[1,2]がクラウドストレージ50-2に送信され、CS父[1,N]がクラウドストレージ50-Nに送信されるように通信部140を制御する(S45)。
 一方、制御部110は、KeyをKey家族で暗号化することによって、暗号化された鍵(図6には、Enc(Key家族,Key)と表されている)を生成し(S46)、生成したEnc(Key家族,Key)を記憶部150に記憶させる(S47)。そして、制御部110は、Keyを秘密分散法によって複数のシェアに分割する(S48)。
 制御部110は、Keyに基づく複数のシェアの他の一部(CS父[2])を秘密分散法によってCS父[2,1]~CS父[2,N]に分割し(S49)、CS父[2,1]がクラウドストレージ50-1に送信され(S50)、CS父[2,2]がクラウドストレージ50-2に送信され、CS父[2,N]がクラウドストレージ50-Nに送信されるように通信部140を制御する(S51)。
 制御部110は、父鍵生成要求に基づいて、Keyに基づく複数のシェアの一部(DS)がエージェントサーバ40(第1の情報提供装置)に送信されるように通信部140を制御する(S52)。エージェントサーバ40は、DSを受信すると、DSに対応するユーザIDを作成し(S53)、ユーザIDを自身の記憶装置に登録する(S54)。エージェントサーバ40がDSをホームエージェント30に送信すると(S55)、ホームエージェント30は、DSを父端末20-1に送信し(S56)、父端末20-1は、DSを受信して保存する(S57)。
 (1.3.3.家族共有情報の保存処理)
 図13は、家族共有情報の例としての住所を登録する処理の例を示すシーケンス図である。図13を参照しながら、家族共有情報の例としての住所を登録する処理の例について説明する。なお、図13に示したシーケンス図は、家族共有情報の保存処理の一例を示したに過ぎない。したがって、家族共有情報の保存処理は、図13に示したシーケンス図の処理例に限定されない。
 まず、父端末20-1は、住所と緯度・経度とを含んだ住所登録要求をホームエージェント30に送信する(S61)。ホームエージェント30は、住所と緯度・経度とを含んだ住所登録要求を受信すると、自身の記憶装置からDS家族を取得し(S62)、DS家族と住所と緯度・経度とを含んだ住所登録要求をエージェントサーバ40に送信する(S63)。エージェントサーバ40は、ホームエージェント30から住所登録要求を受信すると、DS家族と住所と緯度・経度とを含んだ住所暗号化要求(第1の暗号化要求)をサーバ10に送信する(S64)。
 サーバ10においては、通信部140によって住所暗号化要求が受信されると、制御部110は、住所暗号化要求から、Key家族に基づく複数のシェアの一部(DS家族)を取得するとともに、クラウドストレージ50-1~50-Nから、Key家族に基づく複数のシェアの他の一部(CS家族[1])を取得し(S65~S68)、Key家族に基づく複数のシェアの一部(DS家族)と他の一部(CS家族[1])とを結合させることによってKey家族を復元する(S69)。制御部110は、復元したKey家族で住所および緯度・経度を暗号化し(S70)、暗号化した住所および緯度・経度がエージェントサーバ40に送信されるように通信部140を制御する(S71)。
 エージェントサーバ40は、暗号化された住所および緯度・経度を受信すると、暗号化された住所および緯度・経度を保存する。エージェントサーバ40は、ホームエージェント30を介して父端末20-1に住所および緯度・経度の登録が完了した旨を返信する(S72、S73)。
 (1.3.4.パーソナルデータの保存処理)
 図14は、パーソナルデータの例としての緯度・経度を保存する処理の例を示すシーケンス図である。図14を参照しながら、パーソナルデータの例としての緯度・経度を保存する処理の例について説明する。なお、図14に示したシーケンス図は、パーソナルデータの保存処理の一例を示したに過ぎない。したがって、パーソナルデータの保存処理は、図14に示したシーケンス図の処理例に限定されない。
 まず、父端末20-1は、自身の記憶装置からDSを読み出し(S81)、DSと緯度・経度とを含んだ位置情報保存要求をエージェントサーバ40に送信する(S82)。エージェントサーバ40は、DSと緯度・経度とを含んだ位置情報保存要求を受信すると、DSと緯度・経度とを含んだ位置情報暗号化要求(第2の暗号化要求)をサーバ10に送信する(S83)。
 サーバ10においては、通信部140によって位置情報暗号化要求が受信されると、制御部110は、位置情報暗号化要求から、Keyに基づく複数のシェアの一部(DS)を取得するとともに、クラウドストレージ50-1~50-Nから、Keyに基づく複数のシェアの他の一部(CS父[2])を取得し(S84~S87)、Keyに基づく複数のシェアの一部(DS)と他の一部(CS父[2])とを結合させることによってKeyを復元する(S88)。制御部110は、復元したKeyで緯度・経度を暗号化し(S89)、暗号化した緯度・経度がエージェントサーバ40に送信されるように通信部140を制御する(S90)。
 エージェントサーバ40は、暗号化された緯度・経度を受信すると、暗号化された緯度・経度を保存する(S91)。エージェントサーバ40は、父端末20-1に緯度・経度の登録が完了した旨を返信する(S92)。
 (1.3.5.パーソナルデータの共有処理)
 図15は、パーソナルデータの例としての緯度・経度を共有する処理の例を示すシーケンス図である。図15を参照しながら、パーソナルデータの例としての緯度・経度を共有する処理の例について説明する。なお、図15に示したシーケンス図は、パーソナルデータの共有処理の一例を示したに過ぎない。したがって、パーソナルデータの共有処理は、図15に示したシーケンス図の処理例に限定されない。
 まず、母端末20-2は、DSを自身の記憶装置から読み出し(S101)、DSを含んだ父位置情報共有要求をエージェントサーバ40に送信する(S102)。エージェントサーバ40は、DSを含んだ父位置情報共有要求を受信すると、自身の記憶装置から、Keyによって暗号化された緯度・経度を取得し(S103)、DSと暗号化された緯度・経度とを含んだ父位置情報復号要求(第3の復号要求)をサーバ10に送信する(S104)。
 サーバ10においては、通信部140によって父位置情報復号要求が受信されると、制御部110は、位置情報復号要求から、Keyに基づく複数のシェアの一部(DS)を取得するとともに、クラウドストレージ50-1~50-Nから、Keyに基づく複数のシェアの他の一部(CS母[2])を取得し(S105~S107)、Keyに基づく複数のシェアの一部(DS)と他の一部(CS母[2])とを結合させることによってKeyを復元する(S108)。
 そして、制御部110は、クラウドストレージ50-1~50-Nから、Key家族の一部または全部に基づく複数のシェアの他の一部(CS母[1])を取得し(S109~S111)、他の一部(CS母[1])とKeyとを結合させることによって、DS家族を復元する(S112)。制御部110は、クラウドストレージ50-1~50-Nから、DS家族に対応するCS家族[1]を取得し(S113~S115)、DS家族とCS家族[1]とを結合させることによってKey家族を復元する(S116)。
 そして、制御部110は、Key家族に基づいてKeyを復号する(S117)。制御部110は、父の緯度・経度をKeyで復号し(S118)、Key家族で住所を復号する(S119)。制御部110は、住所と父の緯度経度とをエージェントサーバ40に返信する(S120)。エージェントサーバ40は、住所に対応する緯度・経度と父の緯度・経度とに基づいて、家の住所から最も近い駅と父との距離に関する情報(応答)を生成し(S121)、生成した情報を母端末20-2に返信する(S122)。
 (1.3.6.家族間での情報共有処理)
 図16は、家族間での情報共有処理の例を示すフローチャートである。図16を参照しながら、家族間での情報共有処理の例について説明する。なお、図16に示したフローチャートは、家族間での情報共有処理の一例を示したに過ぎない。したがって、家族間での情報共有処理は、図16に示したフローチャートの処理例に限定されない。
 図16に示すように、ここでは、家族Xと家族Yとの間の情報共有を想定する。また、家族Xのメンバが家族Yのメンバと今度の休日に一緒に遊びたいと考えた場合を想定する(S131)。このとき、家族Xのメンバは、家族Yに対して家族Xの情報を共有させるか否かを家族Xのホームエージェントに対して入力する(S132)。一方、家族Yのメンバは、家族Xに対して家族Yの情報を共有させるか否かを家族Yのホームエージェントに対して入力する(S141)。
 エージェントサーバ40は、家族Xのホームエージェントから、家族Yに対して家族Xの情報を共有させる旨を受信し、家族Yのホームエージェントから、家族Xに対して家族Yの情報を共有させる旨を受信すると、サーバ10に対して家族Xの情報復号要求および家族Yの情報復号要求を送信する。
 サーバ10において、通信部140によって家族Xの情報復号要求が受信されると、制御部110は、暗号化されたKey家族YをKey家族Xでロック解除する(復号する)。また、通信部140によって家族Yの情報復号要求が受信されると、制御部110は、暗号化されたKey家族XをKey家族Yでロック解除する(復号する)。制御部110は、Key家族Xで家族Xの行楽履歴および嗜好情報を復号するとともに、Key家族Yで家族Yの行楽履歴および嗜好情報を復号し、それぞれの行楽履歴および嗜好情報に基づいて、行き先候補を提示する(S152)。
 家族Xのホームエージェントは、提示された行き先候補を候補リストとして表示する(S161)。同様にして、家族Yのホームエージェントは、提示された行き先候補を候補リストとして表示する(S171)。家族Xのメンバは、候補リストを参照して、行き先を決定した場合、行き先を決定した旨を家族Xのホームエージェントに対して入力する(S162)。エージェントサーバ40は、家族Xのホームエージェントから、行き先を決定した旨を受信すると、Key家族XおよびKey家族Yを再度ロックする(暗号化する)(S153)。
 以上、本開示の実施形態に係る情報処理システム1の動作例について説明した。
 <2.ハードウェア構成例>
 次に、図17を参照して、本開示の実施形態に係る情報処理装置(サーバ)10のハードウェア構成について説明する。図17は、本開示の実施形態に係る情報処理装置10のハードウェア構成例を示すブロック図である。なお、図17に示した例は、情報処理装置10のハードウェア構成例であるが、個人端末20、ホームエージェント30、エージェントサーバ40、クラウドストレージ50およびIDプロバイダ60それぞれのハードウェア構成も、図17に示したハードウェア構成例と同様に実現され得る。
 図17に示すように、情報処理装置10は、CPU(Central Processing unit)901、ROM(Read Only Memory)903、およびRAM(Random Access Memory)905を含む。また、情報処理装置10は、ホストバス907、ブリッジ909、外部バス911、インターフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923、通信装置925を含んでもよい。さらに、情報処理装置10は、必要に応じて、撮像装置933、およびセンサ935を含んでもよい。情報処理装置10は、CPU901に代えて、またはこれとともに、DSP(Digital Signal Processor)またはASIC(Application Specific Integrated Circuit)と呼ばれるような処理回路を有してもよい。
 CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置10内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一時的に記憶する。CPU901、ROM903、およびRAM905は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
 入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置915は、ユーザの音声を検出するマイクロフォンを含んでもよい。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置10の操作に対応した携帯電話などの外部接続機器929であってもよい。入力装置915は、ユーザが入力した情報に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、情報処理装置10に対して各種のデータを入力したり処理動作を指示したりする。また、後述する撮像装置933も、ユーザの手の動き、ユーザの指などを撮像することによって、入力装置として機能し得る。このとき、手の動きや指の向きに応じてポインティング位置が決定されてよい。
 出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置917は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、有機EL(Electro-Luminescence)ディスプレイ、プロジェクタなどの表示装置、ホログラムの表示装置、スピーカおよびヘッドホンなどの音出力装置、ならびにプリンタ装置などであり得る。出力装置917は、情報処理装置10の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音として出力したりする。また、出力装置917は、周囲を明るくするためライトなどを含んでもよい。
 ストレージ装置919は、情報処理装置10の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
 ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体927のためのリーダライタであり、情報処理装置10に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体927に記録を書き込む。
 接続ポート923は、機器を情報処理装置10に直接接続するためのポートである。接続ポート923は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどであり得る。また、接続ポート923は、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポートなどであってもよい。接続ポート923に外部接続機器929を接続することで、情報処理装置10と外部接続機器929との間で各種のデータが交換され得る。
 通信装置925は、例えば、通信ネットワーク931に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カードなどであり得る。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置925は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置925に接続される通信ネットワーク931は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信などである。
 撮像装置933は、例えば、CCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置933は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
 センサ935は、例えば、測距センサ、加速度センサ、ジャイロセンサ、地磁気センサ、振動センサ、光センサ、音センサなどの各種のセンサである。センサ935は、例えば情報処理装置10の筐体の姿勢など、情報処理装置10自体の状態に関する情報や、情報処理装置10の周辺の明るさや騒音など、情報処理装置10の周辺環境に関する情報を取得する。また、センサ935は、GPS(Global Positioning System)信号を受信して装置の緯度、経度および高度を測定するGPSセンサを含んでもよい。
 <3.むすび>
 以上説明したように、本開示の実施形態によれば、第1の鍵生成要求に基づいて、第1のデータを復号可能な第1の鍵から前記第1の鍵に基づく複数のシェアを生成し、第2の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアから前記第1の鍵を復元し、前記第1の鍵の一部または全部に基づく複数のシェアの一部を、第2のデータを復号可能な第2の鍵として前記第1の鍵で暗号化するとともに、前記第2の鍵に基づく複数のシェアを生成する制御部を備える、情報処理装置が提供される。
 かかる構成によれば、秘密分散を階層的に行う場合において特定のユーザのみに秘密情報の復号を許容する柔軟なアクセスコントロールを実現することが可能である。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 例えば、コンピュータに内蔵されるCPU、ROMおよびRAMなどのハードウェアを、上記した制御部110が有する機能と同等の機能を発揮させるためのプログラムも作成可能である。また、該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏し得る。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 第1の鍵生成要求に基づいて、第1のデータを復号可能な第1の鍵から前記第1の鍵に基づく複数のシェアを生成し、第2の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアから前記第1の鍵を復元し、前記第1の鍵の一部または全部に基づく複数のシェアの一部を、第2のデータを復号可能な第2の鍵として前記第1の鍵で暗号化するとともに、前記第2の鍵に基づく複数のシェアを生成する制御部を備える、
 情報処理装置。
(2)
 前記制御部は、前記第1の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアの一部が第1の情報提供装置に送信されるように通信部を制御し、前記第2の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアの一部を前記第1の情報提供装置から取得する、
 前記(1)に記載の情報処理装置。
(3)
 前記制御部は、前記第1の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアの他の一部が、第2の情報提供装置に送信されるように前記通信部を制御し、前記第2の鍵生成要求に基づいて、前記他の一部を前記第2の情報提供装置から取得する、
 前記(2)に記載の情報処理装置。
(4)
 前記制御部は、前記第2の鍵生成要求に基づいて、前記第2の鍵に基づく複数のシェアの一部が第1の情報提供装置に送信されるように通信部を制御する、
 前記(1)に記載の情報処理装置。
(5)
 前記制御部は、前記第2の鍵生成要求に基づいて、前記第2の鍵に基づく複数のシェアの他の一部が、第2の情報提供装置に送信されるように前記通信部を制御する、
 前記(4)に記載の情報処理装置。
(6)
 前記制御部は、前記第1の鍵の一部または全部に基づく複数のシェアの他の一部が、第1の情報提供装置に送信されるように通信部を制御する、
 前記(1)に記載の情報処理装置。
(7)
 前記制御部は、第1の暗号化要求に基づいて、前記第1の鍵に基づく複数のシェアの一部を取得するとともに前記第1の鍵に基づく複数のシェアの他の一部を取得し、前記第1の鍵に基づく複数のシェアの一部と前記他の一部とに基づいて前記第1の鍵を復元し、前記第1のデータを前記第1の鍵で暗号化する、
 前記(1)~(6)のいずれか一項に記載の情報処理装置。
(8)
 前記制御部は、第1の復号要求に基づいて、前記第1の鍵を復元し、前記第1の鍵で前記第1のデータを復号する、
 前記(7)に記載の情報処理装置。
(9)
 前記制御部は、第2の暗号化要求に基づいて、前記第2の鍵に基づく複数のシェアの一部を取得するとともに前記第2の鍵に基づく複数のシェアの他の一部を取得し、前記第2の鍵に基づく複数のシェアの一部と前記他の一部とに基づいて前記第2の鍵を復元し、前記第2のデータを前記第2の鍵で暗号化する、
 前記(1)~(8)のいずれか一項に記載の情報処理装置。
(10)
 前記制御部は、第2の復号要求に基づいて、前記第2の鍵を復元し、前記第2の鍵で前記第2のデータを復号する、
 前記(9)に記載の情報処理装置。
(11)
 前記制御部は、第3の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアから前記第1の鍵を復元し、前記第1の鍵の一部または全部に基づく複数のシェアの一部を第3の鍵として前記第1の鍵で暗号化するとともに、前記第3の鍵に基づく複数のシェアを生成する、
 前記(1)に記載の情報処理装置。
(12)
 前記制御部は、前記第3の鍵生成要求に基づいて、前記第3の鍵に基づく複数のシェアの一部が情報提供装置に送信されるように通信部を制御する、
 前記(11)に記載の情報処理装置。
(13)
 前記制御部は、前記第3の鍵生成要求に基づいて、前記第3の鍵に基づく複数のシェアの他の一部が送信されるように前記通信部を制御する、
 前記(12)に記載の情報処理装置。
(14)
 前記制御部は、第3の復号要求に基づいて、前記第3の鍵を復元し、前記第3の鍵に基づいて前記第1の鍵を復元し、前記第1の鍵に基づいて前記第2の鍵を復元し、前記第2の鍵で前記第2のデータを復号する、
 前記(11)~(13)のいずれか一項に記載の情報処理装置。
(15)
 前記制御部は、前記第3の復号要求に基づいて、前記第3の鍵に基づく複数のシェアの一部を取得するとともに前記第3の鍵に基づく複数のシェアの他の一部を取得し、前記第3の鍵に基づく複数のシェアの一部と前記他の一部とに基づいて前記第3の鍵を復元する、
 前記(14)に記載の情報処理装置。
(16)
 前記制御部は、前記第1の鍵の一部または全部に基づく複数のシェアの他の一部を取得し、前記他の一部と前記第3の鍵とに基づいて、前記第1の鍵を復元する、
 前記(14)または(15)に記載の情報処理装置。
(17)
 前記制御部は、アクセス制御情報に基づいて、前記第1の鍵および前記第2の鍵の少なくともいずれか一方を復元するか否かを制御する、
 前記(11)~(16)のいずれか一項に記載の情報処理装置。
(18)
 前記制御部は、アクセス制御情報に基づいて、前記第1のデータおよび前記第2のデータの少なくともいずれか一方を復号するか否かを制御する、
 前記(1)に記載の情報処理装置。
(19)
 第1の鍵生成要求に基づいて、第1のデータを復号可能な第1の鍵から前記第1の鍵に基づく複数のシェアを生成し、第2の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアから前記第1の鍵を復元し、前記第1の鍵の一部または全部に基づく複数のシェアの一部を、第2のデータを復号可能な第2の鍵として前記第1の鍵で暗号化するとともに、前記第2の鍵に基づく複数のシェアを生成することを含む、
 情報処理方法。
(20)
 コンピュータを、
 第1の鍵生成要求に基づいて、第1のデータを復号可能な第1の鍵から前記第1の鍵に基づく複数のシェアを生成し、第2の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアから前記第1の鍵を復元し、前記第1の鍵の一部または全部に基づく複数のシェアの一部を、第2のデータを復号可能な第2の鍵として前記第1の鍵で暗号化するとともに、前記第2の鍵に基づく複数のシェアを生成する制御部を備える、
 情報処理装置として機能させるためのプログラム。
 1   情報処理システム
 10  サーバ(情報処理装置)
 20-1 父端末(個人端末)
 20-2 母端末(個人端末)
 20-3 子供端末(個人端末)
 30  ホームエージェント
 40  エージェントサーバ
 50  クラウドストレージ
 60  IDプロバイダ
 70  ネットワーク
 110 制御部
 140 通信部
 150 記憶部
 M0  家族ドメイン
 M1  父ドメイン
 M2  母ドメイン
 M3  子供ドメイン

Claims (20)

  1.  第1の鍵生成要求に基づいて、第1のデータを復号可能な第1の鍵から前記第1の鍵に基づく複数のシェアを生成し、第2の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアから前記第1の鍵を復元し、前記第1の鍵の一部または全部に基づく複数のシェアの一部を、第2のデータを復号可能な第2の鍵として前記第1の鍵で暗号化するとともに、前記第2の鍵に基づく複数のシェアを生成する制御部を備える、
     情報処理装置。
  2.  前記制御部は、前記第1の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアの一部が第1の情報提供装置に送信されるように通信部を制御し、前記第2の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアの一部を前記第1の情報提供装置から取得する、
     請求項1に記載の情報処理装置。
  3.  前記制御部は、前記第1の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアの他の一部が、第2の情報提供装置に送信されるように前記通信部を制御し、前記第2の鍵生成要求に基づいて、前記他の一部を前記第2の情報提供装置から取得する、
     請求項2に記載の情報処理装置。
  4.  前記制御部は、前記第2の鍵生成要求に基づいて、前記第2の鍵に基づく複数のシェアの一部が第1の情報提供装置に送信されるように通信部を制御する、
     請求項1に記載の情報処理装置。
  5.  前記制御部は、前記第2の鍵生成要求に基づいて、前記第2の鍵に基づく複数のシェアの他の一部が、第2の情報提供装置に送信されるように前記通信部を制御する、
     請求項4に記載の情報処理装置。
  6.  前記制御部は、前記第1の鍵の一部または全部に基づく複数のシェアの他の一部が、第1の情報提供装置に送信されるように通信部を制御する、
     請求項1に記載の情報処理装置。
  7.  前記制御部は、第1の暗号化要求に基づいて、前記第1の鍵に基づく複数のシェアの一部を取得するとともに前記第1の鍵に基づく複数のシェアの他の一部を取得し、前記第1の鍵に基づく複数のシェアの一部と前記他の一部とに基づいて前記第1の鍵を復元し、前記第1のデータを前記第1の鍵で暗号化する、
     請求項1に記載の情報処理装置。
  8.  前記制御部は、第1の復号要求に基づいて、前記第1の鍵を復元し、前記第1の鍵で前記第1のデータを復号する、
     請求項7に記載の情報処理装置。
  9.  前記制御部は、第2の暗号化要求に基づいて、前記第2の鍵に基づく複数のシェアの一部を取得するとともに前記第2の鍵に基づく複数のシェアの他の一部を取得し、前記第2の鍵に基づく複数のシェアの一部と前記他の一部とに基づいて前記第2の鍵を復元し、前記第2のデータを前記第2の鍵で暗号化する、
     請求項1に記載の情報処理装置。
  10.  前記制御部は、第2の復号要求に基づいて、前記第2の鍵を復元し、前記第2の鍵で前記第2のデータを復号する、
     請求項9に記載の情報処理装置。
  11.  前記制御部は、第3の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアから前記第1の鍵を復元し、前記第1の鍵の一部または全部に基づく複数のシェアの一部を第3の鍵として前記第1の鍵で暗号化するとともに、前記第3の鍵に基づく複数のシェアを生成する、
     請求項1に記載の情報処理装置。
  12.  前記制御部は、前記第3の鍵生成要求に基づいて、前記第3の鍵に基づく複数のシェアの一部が情報提供装置に送信されるように通信部を制御する、
     請求項11に記載の情報処理装置。
  13.  前記制御部は、前記第3の鍵生成要求に基づいて、前記第3の鍵に基づく複数のシェアの他の一部が送信されるように前記通信部を制御する、
     請求項12に記載の情報処理装置。
  14.  前記制御部は、第3の復号要求に基づいて、前記第3の鍵を復元し、前記第3の鍵に基づいて前記第1の鍵を復元し、前記第1の鍵に基づいて前記第2の鍵を復元し、前記第2の鍵で前記第2のデータを復号する、
     請求項11に記載の情報処理装置。
  15.  前記制御部は、前記第3の復号要求に基づいて、前記第3の鍵に基づく複数のシェアの一部を取得するとともに前記第3の鍵に基づく複数のシェアの他の一部を取得し、前記第3の鍵に基づく複数のシェアの一部と前記他の一部とに基づいて前記第3の鍵を復元する、
     請求項14に記載の情報処理装置。
  16.  前記制御部は、前記第1の鍵の一部または全部に基づく複数のシェアの他の一部を取得し、前記他の一部と前記第3の鍵とに基づいて、前記第1の鍵を復元する、
     請求項14に記載の情報処理装置。
  17.  前記制御部は、アクセス制御情報に基づいて、前記第1の鍵および前記第2の鍵の少なくともいずれか一方を復元するか否かを制御する、
     請求項11に記載の情報処理装置。
  18.  前記制御部は、アクセス制御情報に基づいて、前記第1のデータおよび前記第2のデータの少なくともいずれか一方を復号するか否かを制御する、
     請求項1に記載の情報処理装置。
  19.  第1の鍵生成要求に基づいて、第1のデータを復号可能な第1の鍵から前記第1の鍵に基づく複数のシェアを生成し、第2の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアから前記第1の鍵を復元し、前記第1の鍵の一部または全部に基づく複数のシェアの一部を、第2のデータを復号可能な第2の鍵として前記第1の鍵で暗号化するとともに、前記第2の鍵に基づく複数のシェアを生成することを含む、
     情報処理方法。
  20.  コンピュータを、
     第1の鍵生成要求に基づいて、第1のデータを復号可能な第1の鍵から前記第1の鍵に基づく複数のシェアを生成し、第2の鍵生成要求に基づいて、前記第1の鍵に基づく複数のシェアから前記第1の鍵を復元し、前記第1の鍵の一部または全部に基づく複数のシェアの一部を、第2のデータを復号可能な第2の鍵として前記第1の鍵で暗号化するとともに、前記第2の鍵に基づく複数のシェアを生成する制御部を備える、
     情報処理装置として機能させるためのプログラム。
PCT/JP2018/017805 2017-08-04 2018-05-08 情報処理装置、情報処理方法およびプログラム WO2019026372A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019533905A JPWO2019026372A1 (ja) 2017-08-04 2018-05-08 情報処理装置、情報処理方法およびプログラム
US16/633,722 US11290263B2 (en) 2017-08-04 2018-05-08 Information processing apparatus and information processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-151380 2017-08-04
JP2017151380 2017-08-04

Publications (1)

Publication Number Publication Date
WO2019026372A1 true WO2019026372A1 (ja) 2019-02-07

Family

ID=65233708

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/017805 WO2019026372A1 (ja) 2017-08-04 2018-05-08 情報処理装置、情報処理方法およびプログラム

Country Status (3)

Country Link
US (1) US11290263B2 (ja)
JP (1) JPWO2019026372A1 (ja)
WO (1) WO2019026372A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008219177A (ja) * 2007-02-28 2008-09-18 Kddi Corp 端末装置、データ管理装置およびコンピュータプログラム
JP2009103774A (ja) * 2007-10-22 2009-05-14 Panasonic Corp 秘密分散システム
JP2011010170A (ja) * 2009-06-29 2011-01-13 Pioneer Electronic Corp 電子機器及びその不正利用防止方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4030062A1 (de) * 1990-09-22 1992-03-26 Bayer Ag Substituierte aminosaeureamid-derivate deren herstellung und verwendung
JPH10198272A (ja) 1996-12-27 1998-07-31 Canon Inc 階層を有する鍵管理方法及び暗号システム、分散デジタル署名システム
JP4029234B2 (ja) * 1998-07-16 2008-01-09 ソニー株式会社 情報処理装置および情報処理方法
JP4051510B2 (ja) * 1998-07-16 2008-02-27 ソニー株式会社 データ記憶装置およびデータ記憶方法
EP1689115A1 (en) * 2003-11-28 2006-08-09 Matsushita Electric Industries Co., Ltd. Management device, terminal device, and copyright protection system
KR100891325B1 (ko) * 2006-05-26 2009-03-31 삼성전자주식회사 TSS(TPM Software Stack)에서의 키캐쉬(key cache) 관리 방법
US20110099362A1 (en) * 2008-06-23 2011-04-28 Tomoyuki Haga Information processing device, encryption key management method, computer program and integrated circuit
US10027676B2 (en) * 2010-01-04 2018-07-17 Samsung Electronics Co., Ltd. Method and system for multi-user, multi-device login and content access control and metering and blocking
WO2011159715A2 (en) * 2010-06-14 2011-12-22 Engels Daniel W Key management systems and methods for shared secret ciphers
US8738915B2 (en) * 2011-06-30 2014-05-27 Dell Products L.P. System and method for establishing perpetual trust among platform domains
US8571538B2 (en) * 2011-08-10 2013-10-29 Qualcomm Incorporated Web-based parental controls for wireless devices
WO2013080204A1 (en) * 2011-11-28 2013-06-06 Porticor Ltd. Methods and devices for securing keys for a non-secured, distributed environment with applications to virtualization and cloud-computing security and management
US20140096180A1 (en) * 2012-09-28 2014-04-03 Ansuya Negi System, devices, and methods for proximity-based parental controls
JP2014089644A (ja) * 2012-10-31 2014-05-15 Toshiba Corp プロセッサ、プロセッサ制御方法及び情報処理装置
US9331989B2 (en) * 2014-10-06 2016-05-03 Micron Technology, Inc. Secure shared key sharing systems and methods

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008219177A (ja) * 2007-02-28 2008-09-18 Kddi Corp 端末装置、データ管理装置およびコンピュータプログラム
JP2009103774A (ja) * 2007-10-22 2009-05-14 Panasonic Corp 秘密分散システム
JP2011010170A (ja) * 2009-06-29 2011-01-13 Pioneer Electronic Corp 電子機器及びその不正利用防止方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"NTT Communications. Secret Sharing Engine for Secure Protection of Confidential Information", NTT TECHNICAL REVIEW, vol. 17, no. 2, 1 February 2005 (2005-02-01), pages 38 - 41 *

Also Published As

Publication number Publication date
JPWO2019026372A1 (ja) 2020-06-18
US11290263B2 (en) 2022-03-29
US20200213098A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
US8769131B2 (en) Cloud connector key
JP6015162B2 (ja) 端末装置、情報処理システム、情報処理方法およびプログラム
CN103621128B (zh) 基于上下文的安全计算
US9330275B1 (en) Location based decryption
KR102124575B1 (ko) 사용자 프라이버시 보호를 위한 전자 장치 및 그 제어 방법
US11025603B2 (en) Service providing system, service delivery system, service providing method, and non-transitory recording medium
US10834595B2 (en) Service providing apparatus configured to control communication mode between communication terminals, service communicating system, service providing method and recording medium configured to perform same
CN110597868B (zh) 基于区块链的信息查询方法、装置、终端及存储介质
US11128623B2 (en) Service providing system, service delivery system, service providing method, and non-transitory recording medium
JP6620883B2 (ja) サービス提供システム、サービス授受システム、サービス提供方法、及びプログラム
WO2019026372A1 (ja) 情報処理装置、情報処理方法およびプログラム
KR101701625B1 (ko) 암호화된 컨텐츠의 복호화 키를 안전하게 획득하여 컨텐츠를 재생하기 위한 방법 및 시스템
JP6638808B2 (ja) サービス提供システム、サービス授受システム、サービス提供方法、及びプログラム
JP2020022015A (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: 18841871

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019533905

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18841871

Country of ref document: EP

Kind code of ref document: A1