WO2019088279A1 - データ共有方法、データ共有システム、データ共有サーバ、通信端末、プログラム - Google Patents
データ共有方法、データ共有システム、データ共有サーバ、通信端末、プログラム Download PDFInfo
- Publication number
- WO2019088279A1 WO2019088279A1 PCT/JP2018/040951 JP2018040951W WO2019088279A1 WO 2019088279 A1 WO2019088279 A1 WO 2019088279A1 JP 2018040951 W JP2018040951 W JP 2018040951W WO 2019088279 A1 WO2019088279 A1 WO 2019088279A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- session key
- data
- communication terminal
- data sharing
- encrypted
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/065—Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
Definitions
- the present invention relates to applications of information security technology, and more particularly to data sharing technology in which a plurality of users forming a group share data.
- Non-Patent Document 1 is an example of a cloud-based message transmission system.
- the communication path is encrypted to prevent eavesdropping on the communication path, or as described above, the communication terminal is lost or illegal by not leaving data in the communication terminal. Information leakage prevention caused by taking out is taken.
- the conventional data sharing system copes with the threat to "communication path" and "communication terminal", the countermeasure to the threat to the server is insufficient.
- the threats to the server mentioned here include “attack from the outside of the server”, “internal fraud by server administrator etc.”, and the like. In response to these threats, measures may be taken to encrypt and store data to be shared. However, as long as it is possible to decrypt data on the server side, there is still the possibility of data leak from the server against the aforementioned threat. It is important that the data sent to the server that performs transmission / reception and storage is concealed from the server (it is not intercepted on the server side).
- Non-Patent Document 2 proposes a protocol for sharing keys (hereinafter, session keys) between users without providing any information to the authentication server in a star type network having an authentication server at the center.
- the session key is shared so that data can be read only by the currently participating communication terminal, the session key is updated by an event such as addition / deletion of a user.
- Non Patent Literature 2 by sharing the key between the communication terminals so as not to be known to the server, it is possible to exchange data while being kept secret from the server.
- Non-Patent Document 2 the session key is updated along with the addition / deletion of a user such as a login / logout event or the like regularly because the current participating members share the session key. It may be updated. Therefore, in order to make it possible to read data accumulated in the past only at the currently participating communication terminal, using the updated session key without decrypting the data previously stored in the server on the server side. There is a problem that data must be updated to be decodable on the communication terminal side. Therefore, practically, it is difficult to apply the above protocol as it is to a cloud-based data sharing system.
- the data stored in the server can be updated to data that can be decoded on the communication terminal side using the updated session key without the server side decrypting the data, and the deleted user can
- An object of the present invention is to provide a data sharing technology that can not decode the decodable data.
- One aspect of the present invention includes n (n is an integer of 1 or more) communication terminals that share data, a data sharing server that records encrypted data obtained by encrypting the data, and a key generation server that generates public parameters
- the data sharing system including: when a user using any one of the n communication terminals leaves the group consisting of users using the n communication terminals, A data sharing method for updating an encrypted session key obtained by encrypting a session key shared between communication terminals sharing data so that a user can not decrypt the encrypted data, the data sharing method comprising: Any one of n-1 communication terminals except the communication terminal used by the user is used as the communication terminal for updating the encrypted session key, the encrypted session key A recording unit of the communication terminal for updating the public parameter and a session key valid at the current time, and the data sharing server generates a generation identifier indicating a generation of the group; A communication terminal for updating the encryption session key encrypts the session key using the generation identifier received from the data sharing server, the public parameter recorded in the recording
- the present invention it is possible to share data that can be decrypted on the communication terminal side updated using the updated session key, without decrypting the data previously stored on the server on the server side.
- the deleted user can not be decrypted.
- FIG. 1 shows an example of the configuration of a data sharing system 10
- FIG. 2 is a block diagram showing an example of a configuration of a data sharing server 100
- FIG. 6 is a block diagram showing an example of the configuration of a key generation server 200.
- FIG. 6 is a block diagram showing an example of the configuration of communication terminal 300. It is a sequence diagram which shows an example of a generation identifier generation process. It is a sequence diagram which shows an example of a session key encryption process. It is a sequence diagram which shows an example of a data sharing process. It is a sequence diagram which shows an example of a re-encryption process. It is a sequence diagram which shows an example of the session key encryption process accompanying a user deletion.
- N the set of all positive integers.
- the ID-based encryption method is composed of the following four algorithms (Setup, Keygen, Enc, Dec). Setup, Keygen, Enc and Dec are algorithms with the following inputs and outputs.
- k ⁇ N be a security parameter.
- Setup (1 k ) ⁇ (params, msk)] Setup is an algorithm that receives the security parameter k and outputs the public parameter params and the master secret key msk.
- Keygen (params, msk, ID) ⁇ d ID ]
- Keygen is an algorithm that receives a public parameter params, a master secret key msk, and an identifier ID, and outputs a secret key d ID for the identifier ID.
- Enc is an algorithm that receives the public parameter params, the identifier ID, and the plaintext m as an input, and outputs a ciphertext C.
- Dec is an algorithm which receives a public parameter params, a secret key d ID and a ciphertext C as input and outputs a plaintext m '.
- Arbitrary security parameter k an arbitrary public parameter and master secret key pair (params, msk) output by Setup (1 k ), and an arbitrary identifier ID by Keygen (params, msk, ID)
- d ID an arbitrary plaintext
- Dec an arbitrary plaintext
- Enc an arbitrary plaintext
- k1 ⁇ N a key space of k1 bit length
- KEY ⁇ 0, 1 ⁇ k1 .
- the operation of x 1 -x 2 means the difference in the additive group when the key space contains the structure as the additive group.
- the operation of x1 / x2 means quotient in the multiplicative group when the key space contains the structure as the multiplicative group.
- FIG. 1 is a diagram showing an example of the configuration of a data sharing system 10.
- the data sharing system 10 includes a data sharing server 100, a key generation server 200, communication terminals 300 1 ,..., Communication terminals 300 n (n ⁇ 1).
- the data sharing server 100, the key generation server 200, the communication terminals 300 1 ,..., The communication terminals 300 n are connected to a network 900 such as the Internet and can communicate with each other. However, it is preferable that the data sharing server 100 and the key generation server 200 not be directly communicated with each other.
- the data sharing system 10 is a system for n communication terminals 300 1 ,..., Communication terminals 300 n to share data.
- communication terminal 300 i (1 ⁇ i ⁇ n) shares data with another communication terminal 300 j (1 ⁇ j ⁇ n)
- encrypted data is generated by encrypting data to be shared. Then, they are shared via the data sharing server 100.
- Data sharing server 100 records the encrypted data transmitted from the communication terminal 300 i, and transmits the encrypted data to another communication terminal 300 j.
- the key generation server 200 also generates a public parameter, a master secret key, and a secret key, which are information necessary for encryption / decryption of a session key described later.
- An ID-based encryption method is used to generate a public parameter, a master secret key, and a secret key.
- a person sharing data using the communication terminal 300 is called a user.
- Users form groups to share data. Each group is given a group identifier.
- the users of communication terminal 300 1 , communication terminal 300 2 , communication terminal 300 3 , and communication terminal 300 4 are users A, B, C and D, respectively, and users A, B, C and D are groups having a group identifier groupID.
- It belongs to Communication terminal 300 may be any terminal having a communication function that can be used by the user, such as a personal computer or a smartphone.
- the user uses the communication terminal 300 to share a session key with other users.
- the session key is generated on a group basis, and is a key shared only between the communication terminals 300 used by users belonging to the group. It is assumed that the session key is shared without leaking any information related to the session key to devices other than the communication terminal 300 such as the data sharing server 100 and the key generation server 200.
- the protocol described in Reference Non-Patent Document 2 can be mentioned.
- the session key sharing method is not limited to the protocol described in Reference Non-Patent Document 2, and any method may be used to share the session key.
- the session key may be generated such that the usable period of the session key is while at least one user is logged in. That is, when the first user logs in, a session key may be generated, and when all users log out, the session key may be destroyed.
- FIG. 2 is a block diagram showing an example of the configuration of the data sharing server 100.
- the data sharing server 100 includes a group information management unit 105, a generation identifier generation unit 110, an encrypted session key management unit 115, a ciphertext management unit 117, an encrypted session key transmission unit 120, a re-encryption unit 130, a transmission / reception unit 180, A recording unit 190 is included.
- the transmitting and receiving unit 180 is a component for appropriately transmitting and receiving information that the data sharing server 100 needs to exchange with other devices.
- the recording unit 190 is a component that appropriately records information necessary for the process of the data sharing server 100. For example, the recording unit 190 records encrypted data.
- FIG. 3 is a block diagram showing an example of the configuration of the key generation server 200.
- the key generation server 200 includes a key management unit 205, a setup processing unit 210, a secret key generation unit 220, a transmission / reception unit 280, and a recording unit 290.
- the transmitting and receiving unit 280 is a component for appropriately transmitting and receiving information that the key generation server 200 needs to exchange with other devices.
- the recording unit 290 is a configuration unit that records information necessary for the processing of the key generation server 200 as appropriate. For example, the recording unit 290 records the public parameter and the master secret key.
- FIG. 4 is a block diagram showing an example of the configuration of communication terminal 300.
- Communication terminal 300 includes group information management unit 305, session key encryption unit 310, data encryption unit 320, first key operation unit 330, second key operation unit 340, data decryption unit 350, secret key generation request unit 360, Private key management unit 363, encrypted session key acquisition request unit 365, session key decryption unit 370, re-encryption key generation unit 375, session key sharing unit 377, transmission / reception unit 380, and recording unit 390 are included.
- the transmitting and receiving unit 380 is a component for appropriately transmitting and receiving information that the communication terminal 300 needs to exchange with another device.
- the recording unit 390 is a component that appropriately records information necessary for processing of the communication terminal 300. For example, the recording unit 390 records a group identifier.
- the communication terminal 300 1 previously described, the communication terminal 300 2, the communication terminal 300 3, the user A of the communication terminal 300 4, B, C, will be described as an example of data sharing in the group that a member of the D.
- the group information management unit 105 of the data sharing server 100 is a group identifier for a group having users A, B, C, and D of the communication terminal 300 1 , the communication terminal 300 2 , the communication terminal 300 3 , and the communication terminal 300 4 as members.
- a group ID is generated, and the group identifier group ID is recorded in the recording unit 190.
- the data sharing server 100 relates to a group by the group information management unit 105 recording the user identifiers of the users A, B, C, and D constituting the group having the group identifier groupID together with the group identifier groupID in the recording unit 190.
- Information shall be managed comprehensively. Therefore, the data sharing server 100 can grasp users who currently belong to the group.
- the data sharing server 100 transmits the group identifier groupID to the communication terminal 300 1 , the communication terminal 300 2 , the communication terminal 300 3 , and the communication terminal 300 4 using the transmission unit 180, and the group information management unit 305 of each communication terminal 300. Stores the group identifier groupID in the recording unit 390.
- the process relates to the group identifier described, not limited to the above method, the data sharing server 100, the communication terminal 300 1, the communication terminal 300 2, the communication terminal 300 3, each recording unit of the communication terminal 300 4 Any processing method may be used as long as the identifier groupID is to be recorded.
- the setup processing unit 210 of the key generation server 200 generates a public parameter params and a master secret key msk by the algorithm Setup (1 k ) with a predetermined security parameter k ⁇ N (for example, key length) as an input, and generates a key generation server
- the key management unit 205 of 200 records the set of public parameters and master key (params, msk) in the recording unit 290.
- the public parameter params is information used by the communication terminal 300, it is transmitted from the key generation server 200 to the communication terminal 300 at the timing when the user logs in to the data sharing system 10.
- the communication terminal 300 records the public parameter params in the recording unit 390.
- the master secret key is information to be concealed by a device other than the key generation server 200
- the key generation server 200 secretly records the master secret key msk in the recording unit 290.
- the process relating to the public parameter and the master secret key described above is not limited to the method described above, and the combination of the public parameter and the master key (params, msk) in the recording unit 290 of the key generation server 200 is the communication terminal 300. 1 , the communication terminal 300 2 , the communication terminal 300 3 , and the recording unit 390 of the communication terminal 300 4 may use any processing method as long as the public parameters params are to be recorded.
- the group identifier is an identifier used by the data sharing system 10 until a certain group is generated and then disappears (for example, the number of members becomes zero).
- the data sharing system 10 also uses an identifier (hereinafter referred to as a generation identifier) generated each time the configuration of the members of the group changes. That is, the generation identifier can be said to be an identifier indicating the generation of a group.
- generation identifier generation processing will be described.
- the first timing of generating the generation identifier is, for example, timing when one of the users (for example, user A) who configure the group having the group identifier groupID first logs in to the data sharing system 10 after generating the group identifier groupID. That is, the communication terminal 300 1 is a communication terminal that receives the generation identifiers.
- the generation identifier generation process will be described below with reference to FIG.
- the generation identifier generating unit 110 of the data sharing server 100 generates the generation identifier GID (S120).
- the generation identifier gID is a character string groupID
- the generation identifier is not limited to this, and may be, for example, a random number.
- the group information management unit 105 of the data sharing server 100 records the generated generation identifier gID in the recording unit 190. That is, the data sharing server 100 manages the generation identifier as well as the group identifier and the user identifier constituting the group.
- Data sharing server 100 transmits the generation identifiers gID generated in S120 using the transceiver 180 to the communication terminal 300 1 (S130).
- group information management unit 305 of the communication terminal 300 1 records the generation identifiers gID the recording unit 390 (S140).
- the generation identifier gID corresponds to the communication terminal when a user (user B, C, D) other than the user A who constitutes the group having the group identifier groupID logs in to the data sharing system 10 using the communication terminal 300. It is transmitted from the data sharing server 100 to 300, and the communication terminal 300 records the received generation identifier gID in the recording unit 390.
- Session key encryption process As described above, the session key is appropriately updated to ensure security.
- the session key encryption processing for encrypting the session key effective at the present time and recording the encrypted session key in the data sharing server 100 will be described below with reference to FIG.
- communication terminal 300 that encrypts a valid session key for example, and a communication terminal 300 2 of the user B who is currently logged in to the data sharing system 10. That is, the communication terminal communication terminal 300 2 to encrypt the session key.
- SK be the currently valid session key.
- the session key SK is generated by the communication terminal 300 1 , the communication terminal 300 2 , the communication terminal 300 3 , and the session key sharing unit 377 of the communication terminal 300 4 , and the communication terminal 300 1 , the communication terminal 300 2 , and the communication terminal 300. 3, and it shall be recorded in the recording unit 390 of the communication terminal 300 4.
- Session key encryption unit 310 of the communication terminal 300 2 public parameters params and generation identifiers GID recorded in the recording section 390, the algorithm Enc as inputs the session key SK (params, GID, SK), the session key SK An encrypted encrypted session key CSK is generated (S210).
- Communication terminal 300 2 transmits the encrypted session key C SK generated in S210 using the transceiver 380 to data sharing server 100 (S220).
- the encrypted session key management unit 115 of the data sharing server 100 records the encrypted session key CSK in the recording unit 190 (S230). ).
- Communication terminal 300 3 that is the transmission source, and previously generated common key K used to encrypt the data to be shared object, is recorded in the recording unit 390.
- the common key K may be, for example, a random number.
- Data encryption unit 320 of the communication terminal 300 3 encrypts the data m to be shared object by using the common key K recorded in the recording unit 390, generates the encrypted data C m (S310).
- the first key calculation unit 330 of the communication terminal 300 3 the common key K used for encrypting the session key SK and S310 are recorded in the recording unit 390, arithmetic result by the function f k1 key f k1 (K, SK ) Is generated (S320).
- the communication terminal 300 uses the transmission / reception unit 380 to generate the encrypted data C m generated in S310 and the operation result key f k1 (K, SK) generated in S320 a ciphertext (C m , f k1 (K, Send SK)) to the data sharing server 100 (S330).
- the transmission information of the communication terminal 300 4 as the destination for example, IP address of the communication terminal 300 4) is specified is fit to the data sharing server 100.
- the ciphertext management unit 117 of the data sharing server 100 transmits the ciphertext (C m , f k1 (K , SK)) is recorded in the recording unit 190 (S340). At that time, data sharing server 100 also receives together information of the communication terminal 300 4 as the destination.
- Data sharing server 100 transmits the cipher text received in S340 with the reception unit 180 (C m, f k1 ( K, SK)) to the communication terminal 300 4, which is designated as the destination (S350).
- Ciphertext communication terminal 300 4 which is designated as a transmission destination by using the transmitting and receiving unit 380 (C m, f k1 ( K, SK)) upon receiving the second key calculation unit 340 of the communication terminal 300 4, encryption
- the operation result key h k1 (f k1 (K, SK), SK) based on the function h k1 is generated from the sentence elements f k1 (K, SK) and the session key SK recorded in the recording unit 390 ( S360).
- h k1 (f k1 (K , SK), SK) from K holds, the communication terminal 300 4 will be obtained common key K.
- Data decoding unit 350 of the communication terminal 300 4 the operation generated by the S360 results key h k1 (f k1 (K, SK), SK) using the common key K is, decoding the C m is an element of ciphertext Then, data m is acquired (S370).
- Communication terminal 300 for generating a re-encryption key that is a key for re-encrypting the ciphertext and a communication terminal 300 1 of the user who is currently logged in to the data sharing system 10. That is, the communication terminal communication terminal 300 1 transmits a re-encryption key. Further, it is assumed that none of the communication terminal 300 1 , the communication terminal 300 2 , the communication terminal 300 3 , and the communication terminal 300 4 have the session key SK of one generation before the update. For example, it is assumed that the session key SK is not held at the timing when all the communication terminals 300 log out of the data sharing system 10 once.
- Secret key generation request section 360 of the communication terminal 3001 generates a private key generation request to the key generating server 200 together with the generation identifiers gID recorded in the recording section 390 (S410).
- the secret key generation unit 220 of the key generation server 200 sets the public parameter and the master secret key pair recorded in the recording unit 290 (params, Using msk) and the generation identifier gID as input, a secret key dID for the generation identifier gID is generated by the algorithm Keygen (params, msk, gID) (S420).
- the key management unit 205 of the key generation server 200 records the secret key dg ID in the recording unit 290.
- Key generating server 200 transmits the secret key d GID generated in S420 using the transceiver 280 to the communication terminal 300 1 (S430).
- the secret key management unit 363 of the communication terminal 300 1 records the secret key d GID to the recording unit 390 (S440).
- Encrypted session key acquisition request unit 365 of the communication terminal 300 1 generates an encrypted session key obtaining request to the data sharing server 100 (S450).
- the data sharing server 100 When the data sharing server 100 receives the encrypted session key acquisition request by using the transmitting and receiving unit 180, the encrypted session key transmission unit 120 of data sharing server 100, the encrypted session key C SK recorded in the recording section 190 to the communication terminal 300 1 (S460).
- the session key SK is obtained by the algorithm Dec (params, d gID , C SK ) with the encrypted session key C SK as input (S 470).
- Re-encryption key generation unit 375 of the communication terminal 300 1 is generated 'from a calculation result of the function f k1 re-encryption key f k1 (SK, SK' session key SK and the session key SK was obtained in S470 of) To do (S480).
- Communication terminal 300 1 transmits re-encryption key generated in S480 using the transceiver 380 f k1 (SK, SK ' ) to the data sharing server 100 (S490).
- the (K, SK ′) is generated, and the ciphertext management unit 117 of the data sharing server 100 records the ciphertext (C m , f k1 (K,
- Session key encryption process with user deletion The second and subsequent timings of generating a generation identifier (that is, the timing of updating a generation identifier) are, for example, ones of users who configure a group after one of the users configuring the group is removed from the group (leaves). It is the timing when one logged in to the data sharing system 10. At this time, the encrypted session key recorded in the data sharing server 100 is updated.
- the session key encryption process accompanying user deletion will be described below with reference to FIG. It is assumed that the encrypted session key CSK is recorded in the recording unit 190 of the shared data server 100. Further, it is assumed that the user deleted from the group is D.
- the communication terminal 300 that encrypts a valid session key, for example, and a communication terminal 300 1 of the user A who is currently logged in to the data sharing system 10. That is, the communication terminal communication terminal 300 1 updates the encryption session key.
- the session key valid at present is SK ′ ′.
- the session key SK '' is recorded in the recording unit 390 of the communication terminal 300 1.
- the generation identifier generating unit 110 of the data sharing server 100 generates the generation identifiers gID '(S520).
- the generation identifier gID ′ is a character string groupID
- the generation identifier is not limited to this, and may be, for example, a random number.
- the group information management unit 105 of the data sharing server 100 records the generation identifier gID ′ in the recording unit 190 in such a manner as to update the generation identifier. That is, the group information management unit 105 deletes the generation identifier gID one generation before and records the generation identifier gID 'which is effective at the present time.
- Data sharing server 100 transmits the generation identifier GID 'generated in S520 using the transceiver 180 to the communication terminal 300 1 (S530).
- generation identifier GID' communication terminal 300 1 is generation identifier GID using the transmission and reception unit 380 for recording in the recording unit 390 (S540).
- the generation identifier gID ′ is used when the user (users B and C) other than the user A who constitutes the group having the group identifier groupID logs in to the data sharing system 10 using the communication terminal 300, the communication terminal 300.
- the communication terminal 300 records the received generation identifier gID ′ in the recording unit 390.
- Session key encryption unit 310 of communication terminal 300 encrypts session key SK ′ ′ with Enc (params, gID ′, SK ′ ′) using public parameter params, generation identifier gID ′ and session key SK ′ ′ as input.
- the encrypted session key CSK '' is generated (S550).
- Communication terminal 300 1 transmits the S550 generated encrypted session key C SK with '' with the transceiver 380 to data sharing server 100 (S560).
- the encrypted session key management unit 115 of the data sharing server 100 determines that the encrypted session key CSK '' is currently valid.
- the encrypted session key is recorded in the recording unit 190 (S570). Note that this time, it is preferable to delete the previous generation of the encrypted session key C SK of the session key encrypted.
- the user D deleted from the group can know the secret key d gID of the previous generation but can not know the current secret key d gID ′ ′.
- the encrypted session key C SK ′ ′ recorded in 100 can not be decrypted.
- the apparatus is, for example, an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected as a single hardware entity, or a communication apparatus (eg, communication cable) capable of communicating outside the hardware entity.
- Communication unit that can be connected, CPU (central processing unit, cache memory, registers, etc. may be provided), RAM or ROM that is memory, external storage device that is hard disk, input unit for these, output unit, communication unit , CPU, RAM, ROM, and a bus connected so as to enable exchange of data between external storage devices.
- the hardware entity may be provided with a device (drive) capable of reading and writing a recording medium such as a CD-ROM. Examples of physical entities provided with such hardware resources include general purpose computers.
- the external storage device of the hardware entity stores a program necessary for realizing the above-mentioned function, data required for processing the program, and the like (not limited to the external storage device, for example, the program is read) It may be stored in the ROM which is a dedicated storage device). In addition, data and the like obtained by the processing of these programs are appropriately stored in a RAM, an external storage device, and the like.
- each program stored in the external storage device (or ROM etc.) and data necessary for processing of each program are read into the memory as necessary, and interpreted and processed appropriately by the CPU .
- the CPU realizes predetermined functions (each component requirement expressed as the above-mentioned,...
- the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention. Further, the processing described in the above embodiment may be performed not only in chronological order according to the order of description but also may be performed in parallel or individually depending on the processing capability of the device that executes the processing or the necessity. .
- the processing function in the hardware entity (the apparatus of the present invention) described in the above embodiment is implemented by a computer, the processing content of the function that the hardware entity should have is described by a program. Then, by executing this program on a computer, the processing function of the hardware entity is realized on the computer.
- the program describing the processing content can be recorded in a computer readable recording medium.
- the computer readable recording medium any medium such as a magnetic recording device, an optical disc, a magneto-optical recording medium, a semiconductor memory, etc. may be used.
- a magnetic recording device a hard disk drive, a flexible disk, a magnetic tape or the like as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only) Memory), CD-R (Recordable) / RW (Rewritable), etc. as magneto-optical recording medium, MO (Magneto-Optical disc) etc., as semiconductor memory, EEP-ROM (Electronically Erasable and Programmable Only Read Memory) etc. Can be used.
- this program is carried out, for example, by selling, transferring, lending, etc. a portable recording medium such as a DVD, a CD-ROM, etc. in which the program is recorded.
- this program may be stored in a storage device of a server computer, and the program may be distributed by transferring the program from the server computer to another computer via a network.
- a computer that executes such a program first temporarily stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. Then, at the time of execution of the process, this computer reads the program stored in its own storage device and executes the process according to the read program. Further, as another execution form of this program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and further, the program is transferred from the server computer to this computer Each time, processing according to the received program may be executed sequentially.
- ASP Application Service Provider
- the program in the present embodiment includes information provided for processing by a computer that conforms to the program (such as data that is not a direct command to the computer but has a property that defines the processing of the computer).
- the hardware entity is configured by executing a predetermined program on a computer, but at least a part of the processing content may be realized as hardware.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
以前にサーバに保存されたデータをサーバ側で復号することなく、更新されたセッション鍵を用いて通信端末側で復号可能なデータに更新することができ、削除されたユーザが当該復号可能なデータを復号することができないデータ共有技術を提供する。データ共有サーバが、グループの世代を示す世代識別子を生成する世代識別子生成ステップと、暗号化セッション鍵を更新する通信端末が、データ共有サーバから受信した世代識別子、記録部に記録している公開パラメータとセッション鍵を用いて、セッション鍵を暗号化した暗号化セッション鍵を生成するセッション鍵暗号化ステップと、データ共有サーバが、暗号化セッション鍵を更新する通信端末から受信した暗号化セッション鍵を現時点で有効な暗号化セッション鍵として記録する暗号化セッション鍵管理ステップとを含む。
Description
この発明は情報セキュリティ技術の応用に関し、特にグループを形成する複数のユーザがデータを共有するデータ共有技術に関する。
ビジネスでの使用を前提とするデータ共有システムとしてパソコンやスマートフォン等のマルチデバイスに対応可能なシステムが存在する。マルチデバイスに対応可能なシステムのうち、企業の機密情報漏えいを考慮し、通信端末にデータを残さないクラウドベース型のデータ共有システムが存在する。クラウドベース型のメッセージ送信システムの例として、非特許文献1が挙げられる。
このようなデータ共有システムにおいては、通信路を暗号化することで通信経路上の盗聴防止がなされていたり、既に述べたように、通信端末にデータを残さないことによって通信端末の紛失や不正な持ち出しに起因する情報漏えい防止がなされていたりする。このように、従来のデータ共有システムは「通信経路」と「通信端末」に対する脅威に対処している一方、サーバに対する脅威への対処は不十分である。
ここでいうサーバに対する脅威として「サーバに対する外部からの攻撃」や「サーバ管理者等による内部不正」等が挙げられる。これらの脅威に対し、共有対象となるデータを暗号化して保存する、という対策が考えられる。しかしながら、サーバ側でデータを復号可能である以上、前述の脅威に対してサーバからのデータ漏えいの可能性が依然として存在する。送受信・保存を行うサーバに送られてくるデータがサーバに対して秘匿化されている(サーバ側で盗聴されない)ことが重要である。
1つの方法として、サーバに対してデータを秘匿し、通信端末でのみ復号可能なエンドツーエンドの暗号化通信を実現することが考えられる。この場合、通信端末間で用いる共通鍵をどのように共有するかが問題となる。この問題の解決策として例えば非特許文献2が開示されている。非特許文献2では中央に認証サーバをもつスター型のネットワークにおいて、認証サーバに対していかなる情報ももらさずに利用者間で鍵(以下、セッション鍵)を共有するプロトコルが提案されている。
これによって、サーバに対しデータを秘匿したまま通信端末間でやりとりすることができる。また、現在参加している通信端末でのみデータが読めるようセッション鍵の共有を行うため、ユーザの追加・削除等のイベントによりセッション鍵が更新される。
"ビジネス向けグループチャットTopicRoom",[online],[平成29年10月16日検索],インターネット <URL: https://www.ntt-tx.co.jp/products/topicroom/>
小林鉄太郎,米山一樹,吉田麗生,川原祐人,冨士仁,山本具英,"スケーラブルな動的多者鍵配布プロトコル",SCIS2016-暗号と情報セキュリティシンポジウム-講演論文集,一般社団法人電子情報通信学会,4E2-3,2016.
上記非特許文献2の技術によれば、サーバに知られないよう、通信端末間で鍵を共有することで、サーバに対しデータを秘匿したままやりとりすることができる。
しかし、非特許文献2では、現在の参加メンバのみでセッション鍵を共有するため、セッション鍵はログイン・ログアウトイベントのようなユーザの追加・削除に伴って更新されたり、それ以外にも定期的に更新されたりすることがある。したがって、現在参加している通信端末でのみ過去に蓄積されたデータを読めるようにするために、以前にサーバに保存されたデータをサーバ側で復号することなく、更新されたセッション鍵を用いて通信端末側で復号可能なデータに更新しなければならない、という課題がある。そのため、実用上、クラウドベース型データ共有システムに上記プロトコルをそのまま適用させることは難しい。
また、削除されたユーザに対しては、上記復号可能なデータが読めないようにする必要がある。
そこで本発明は、以前にサーバに保存されたデータをサーバ側で復号することなく、更新されたセッション鍵を用いて通信端末側で復号可能なデータに更新することができ、削除されたユーザが当該復号可能なデータを復号することができないデータ共有技術を提供することを目的とする。
本発明の一態様は、データを共有するn台(nは1以上の整数)の通信端末と前記データを暗号化した暗号化データを記録するデータ共有サーバと公開パラメータを生成する鍵生成サーバとを含むデータ共有システムにおいて、前記n台の通信端末のうちの何れかの通信端末を利用するユーザが前記n台の通信端末を利用するユーザから構成されるグループから離脱した場合に、前記離脱したユーザが前記暗号化データを復号することができないように、データを共有する通信端末の間で共有されるセッション鍵を暗号化した暗号化セッション鍵を更新するデータ共有方法であって、前記離脱したユーザが利用する通信端末を除くn-1台の通信端末のうちの何れかの通信端末を、暗号化セッション鍵を更新する通信端末として、前記暗号化セッション鍵を更新する通信端末の記録部には、前記公開パラメータと現時点で有効なセッション鍵が記録されており、前記データ共有サーバが、前記グループの世代を示す世代識別子を生成する世代識別子生成ステップと、前記暗号化セッション鍵を更新する通信端末が、前記データ共有サーバから受信した前記世代識別子、前記記録部に記録している前記公開パラメータと前記セッション鍵を用いて、前記セッション鍵を暗号化した暗号化セッション鍵を生成するセッション鍵暗号化ステップと、前記データ共有サーバが、前記暗号化セッション鍵を更新する通信端末から受信した前記暗号化セッション鍵を現時点で有効な暗号化セッション鍵として記録する暗号化セッション鍵管理ステップとを含む。
この発明によれば、以前にサーバに保存されたデータをサーバ側で復号することなく、更新されたセッション鍵を用いて更新された通信端末側で復号可能なデータを、データ共有を行うグループから削除されたユーザは復号することができない。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
<定義>
Nを正の整数全体の集合とする。
Nを正の整数全体の集合とする。
IDベース暗号方式は、次の4つのアルゴリズム(Setup, Keygen, Enc, Dec)から構成される。Setup, Keygen, Enc, Decは、それぞれ以下の入出力をもつアルゴリズムである。ここで、k∈Nをセキュリティパラメータとする。
[Setup(1k)→(params, msk)]
Setupは、セキュリティパラメータkを入力とし、公開パラメータparamsとマスター秘密鍵mskを出力するアルゴリズムである。
Setupは、セキュリティパラメータkを入力とし、公開パラメータparamsとマスター秘密鍵mskを出力するアルゴリズムである。
[Keygen(params, msk, ID)→ dID]
Keygenは、公開パラメータparams、マスター秘密鍵msk、識別子IDを入力とし、識別子IDに対する秘密鍵dIDを出力するアルゴリズムである。
Keygenは、公開パラメータparams、マスター秘密鍵msk、識別子IDを入力とし、識別子IDに対する秘密鍵dIDを出力するアルゴリズムである。
[Enc(params, ID, m)→C]
Encは、公開パラメータparams、識別子ID、平文mを入力とし、暗号文Cを出力するアルゴリズムである。
Encは、公開パラメータparams、識別子ID、平文mを入力とし、暗号文Cを出力するアルゴリズムである。
[Dec(params, dID, C)→m']
Decは、公開パラメータparams、秘密鍵dID、暗号文Cを入力とし、平文m'を出力するアルゴリズムである。
Decは、公開パラメータparams、秘密鍵dID、暗号文Cを入力とし、平文m'を出力するアルゴリズムである。
さらに、上記アルゴリズムは、以下の条件を満たすものとする。
(条件)任意のセキュリティパラメータk、Setup(1k)によって出力された任意の公開パラメータとマスター秘密鍵の組(params, msk)、任意の識別子IDに対してKeygen(params, msk, ID)によって出力された秘密鍵dID、任意の平文mに対して、Dec(params, dID, Enc(params, ID, m))=mが成り立つ。
(条件)任意のセキュリティパラメータk、Setup(1k)によって出力された任意の公開パラメータとマスター秘密鍵の組(params, msk)、任意の識別子IDに対してKeygen(params, msk, ID)によって出力された秘密鍵dID、任意の平文mに対して、Dec(params, dID, Enc(params, ID, m))=mが成り立つ。
このようなIDベース暗号方式の例は、例えば、参考非特許文献1に記載がある。
(参考非特許文献1:森山大輔,西巻陵,岡本龍明,“公開鍵暗号の数理”,共立出版,2011年.)
(参考非特許文献1:森山大輔,西巻陵,岡本龍明,“公開鍵暗号の数理”,共立出版,2011年.)
k1∈Nとし、k1ビット長の鍵空間をKEY={0,1}k1とする。関数fk1:KEY×KEY→KEYに対して、以下の条件(a)、条件(b)を満たすhk1:KEY×KEY→KEYと関数gk1:KEY×KEY→KEYが存在するものとする。
(条件(a))任意のK,K'∈KEYに対し、関数hk1:KEY×KEY→KEYは次式を満たす。
(条件(b))任意のK,K',K''∈KEYに対し、関数gk1:KEY×KEY→KEYは次式を満たす。
このような関数の組(fk1, gk1, hk1)として、例えば、(fk1, gk1, hk1)=(((x1, x2)→x1-x2), ((y1, y2)→y1+y2), ((z1, z2)→z1+z2))や(fk1, gk1, hk1)=(((x1, x2)→x1/x2), ((y1, y2)→y1・y2), ((z1, z2)→z1・z2))がある。なお、x1-x2の演算-は、鍵空間に加法群としての構造が入っているときの加法群における差を意味する。x1/x2の演算/は、鍵空間に乗法群としての構造が入っているときの乗法群における商を意味する。
<第一実施形態>
[システム構成]
以下、図1を参照して、データ共有システム10について説明する。図1は、データ共有システム10の構成の一例を示す図である。データ共有システム10は、データ共有サーバ100、鍵生成サーバ200、通信端末3001、…、通信端末300n (n≧1)を含む。
[システム構成]
以下、図1を参照して、データ共有システム10について説明する。図1は、データ共有システム10の構成の一例を示す図である。データ共有システム10は、データ共有サーバ100、鍵生成サーバ200、通信端末3001、…、通信端末300n (n≧1)を含む。
データ共有サーバ100、鍵生成サーバ200、通信端末3001、…、通信端末300nは、インターネットなどのネットワーク900に接続し、相互に通信可能である。ただし、データ共有サーバ100と鍵生成サーバ200が直接通信することがないよう構成するのが好ましい。
データ共有システム10は、n台の通信端末3001、…、通信端末300nがデータを共有するためのシステムである。なお、通信端末300i(1≦i≦n)が他の通信端末300j(1≦j≦n)とデータを共有する際には、共有対象となるデータを暗号化した暗号化データを生成した上で、データ共有サーバ100を介して共有される。
データ共有サーバ100は、通信端末300iから送信された暗号化データを記録し、他の通信端末300jへ暗号化データを送信する。また、鍵生成サーバ200は、後述するセッション鍵の暗号化・復号に必要な情報である公開パラメータ、マスター秘密鍵、秘密鍵を生成する。公開パラメータ、マスター秘密鍵、秘密鍵の生成には、IDベース暗号方式を用いる。
通信端末300を用いてデータを共有する者をユーザという。ユーザはデータを共有するためのグループを形成する。各グループにはグループ識別子が与えられる。例えば、通信端末3001、通信端末3002、通信端末3003、通信端末3004のユーザをそれぞれユーザA、B、C、Dとし、ユーザA、B、C、Dはグループ識別子groupIDを有するグループに属しているとする。なお、通信端末300は、パソコンやスマートフォンなどユーザが利用できる通信機能を持つ端末であればどのようなものでもよい。
また、ユーザは、通信端末300を用いて、他のユーザとセッション鍵を共有する。セッション鍵は、グループ単位で生成されるものであり、そのグループに属するユーザが利用する通信端末300間でのみ共有される鍵である。なお、データ共有サーバ100や鍵生成サーバ200など通信端末300以外の装置に対してセッション鍵に関するいかなる情報も漏らさない形で、セッション鍵が共有されるものとする。そのような共有方法として、例えば、参考非特許文献2に記載のプロトコルが挙げられる。ただし、セッション鍵の共有方法は、参考非特許文献2に記載のプロトコルに限られるものではなく、どのような方法を用いてセッション鍵を共有してもよい。
(参考非特許文献2:K. Yoneyama, R. Yoshida, Y. Kawahara, T. Kobayashi, H. Fuji,and T. Yamamoto, “Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction”, Cryptology ePrint Archive, Report 2016/833, http://eprint.iacr.org/2016/833, 2016)
(参考非特許文献2:K. Yoneyama, R. Yoshida, Y. Kawahara, T. Kobayashi, H. Fuji,and T. Yamamoto, “Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction”, Cryptology ePrint Archive, Report 2016/833, http://eprint.iacr.org/2016/833, 2016)
セッション鍵の安全性を確保するために、例えば、グループに新しいユーザが追加される、グループからユーザが離脱する(削除される)など所定のイベントが発生した場合や一定時間が経過した場合に新しいセッション鍵が生成されるものする。また、セッション鍵の使用可能期間が少なくともひとりのユーザがログインしている間となるように、セッション鍵を生成してもよい。つまり、一人目のユーザがログインすると、セッション鍵が生成され、すべてのユーザがログアウトするとそのセッション鍵は破棄されることになるようにしてもよい。
次に、図2~図4を参照して、データ共有サーバ100、鍵生成サーバ200、通信端末300の各装置について説明する。図2は、データ共有サーバ100の構成の一例を示すブロック図である。データ共有サーバ100は、グループ情報管理部105、世代識別子生成部110、暗号化セッション鍵管理部115、暗号文管理部117、暗号化セッション鍵送信部120、再暗号化部130、送受信部180、記録部190を含む。送受信部180は、データ共有サーバ100がその他の装置と交換する必要がある情報を適宜送受信するための構成部である。記録部190は、データ共有サーバ100の処理に必要な情報を適宜記録する構成部である。例えば、記録部190は、暗号化データを記録する。
図3は、鍵生成サーバ200の構成の一例を示すブロック図である。鍵生成サーバ200は、鍵管理部205、セットアップ処理部210、秘密鍵生成部220、送受信部280、記録部290を含む。送受信部280は、鍵生成サーバ200がその他の装置と交換する必要がある情報を適宜送受信するための構成部である。記録部290は、鍵生成サーバ200の処理に必要な情報を適宜記録する構成部である。例えば、記録部290は、公開パラメータやマスター秘密鍵を記録する。
図4は、通信端末300の構成の一例を示すブロック図である。通信端末300は、グループ情報管理部305、セッション鍵暗号化部310、データ暗号化部320、第一鍵演算部330、第二鍵演算部340、データ復号部350、秘密鍵生成要求部360、秘密鍵管理部363、暗号化セッション鍵取得要求部365、セッション鍵復号部370、再暗号化鍵生成部375、セッション鍵共有部377、送受信部380、記録部390を含む。送受信部380は、通信端末300がその他の装置と交換する必要がある情報を適宜送受信するための構成部である。記録部390は、通信端末300の処理に必要な情報を適宜記録する構成部である。例えば、記録部390は、グループ識別子を記録する。
以下、先述した通信端末3001、通信端末3002、通信端末3003、通信端末3004のユーザA、B、C、Dをメンバとするグループでのデータ共有を例に説明していく。
[システムセットアップ]
データ共有サーバ100のグループ情報管理部105は、通信端末3001、通信端末3002、通信端末3003、通信端末3004のユーザA、B、C、Dをメンバとするグループに対してグループ識別子groupIDを生成し、グループ識別子groupIDを記録部190に記録する。グループ情報管理部105がグループ識別子groupIDとともに、グループ識別子groupIDを有するグループを構成するユーザA、B、C、Dのユーザ識別子をあわせて記録部190に記録することにより、データ共有サーバ100はグループに関する情報を総括的に管理するものとする。したがって、データ共有サーバ100は、現在そのグループに属しているユーザを把握できる。
データ共有サーバ100のグループ情報管理部105は、通信端末3001、通信端末3002、通信端末3003、通信端末3004のユーザA、B、C、Dをメンバとするグループに対してグループ識別子groupIDを生成し、グループ識別子groupIDを記録部190に記録する。グループ情報管理部105がグループ識別子groupIDとともに、グループ識別子groupIDを有するグループを構成するユーザA、B、C、Dのユーザ識別子をあわせて記録部190に記録することにより、データ共有サーバ100はグループに関する情報を総括的に管理するものとする。したがって、データ共有サーバ100は、現在そのグループに属しているユーザを把握できる。
また、データ共有サーバ100は、送信部180を用いてグループ識別子groupIDを通信端末3001、通信端末3002、通信端末3003、通信端末3004に送信、各通信端末300のグループ情報管理部305は、グループ識別子groupIDを記録部390に記録しておく。
以上、説明したグループ識別子に関する処理は、上記の方法に限られるものでなく、データ共有サーバ100、通信端末3001、通信端末3002、通信端末3003、通信端末3004の各記録部にグループ識別子groupIDが記録されるようになるのであれば、どのような処理方法であってもよい。
鍵生成サーバ200のセットアップ処理部210は、所定のセキュリティパラメータk∈N(例えば、鍵長)を入力としてアルゴリズムSetup(1k)により、公開パラメータparamsとマスター秘密鍵mskを生成し、鍵生成サーバ200の鍵管理部205は公開パラメータとマスター鍵の組(params, msk)を記録部290に記録しておく。
公開パラメータparamsは通信端末300が利用する情報であるため、ユーザがデータ共有システム10にログインするタイミングで、鍵生成サーバ200から通信端末300に送信されるものとする。通信端末300は、公開パラメータparamsを記録部390に記録しておく。一方、マスター秘密鍵は鍵生成サーバ200以外の装置に秘匿される情報であるため、鍵生成サーバ200は、マスター秘密鍵mskを記録部290に秘密裏に記録しておくものとする。
以上、説明した公開パラメータとマスター秘密鍵に関する処理は、上記の方法に限られるものでなく、鍵生成サーバ200の記録部290に公開パラメータとマスター鍵の組(params, msk)が、通信端末3001、通信端末3002、通信端末3003、通信端末3004の記録部390に公開パラメータparamsが記録されるようになるのであれば、どのような処理方法であってもよい。
[世代識別子生成処理]
グループ識別子は、あるグループが生成されてから消滅する(例えば、メンバ数がゼロになる)までデータ共有システム10で利用される識別子である。このグループ識別子とは別に、そのグループのメンバの構成が変わるたびに生成される識別子(以下、世代識別子という)もデータ共有システム10は利用する。つまり、世代識別子はグループの世代を示す識別子といえる。ここでは、世代識別子生成処理について説明する。
グループ識別子は、あるグループが生成されてから消滅する(例えば、メンバ数がゼロになる)までデータ共有システム10で利用される識別子である。このグループ識別子とは別に、そのグループのメンバの構成が変わるたびに生成される識別子(以下、世代識別子という)もデータ共有システム10は利用する。つまり、世代識別子はグループの世代を示す識別子といえる。ここでは、世代識別子生成処理について説明する。
世代識別子を生成する最初のタイミングは、例えば、グループ識別子groupIDを有するグループを構成するユーザのひとり(例えば、ユーザA)がデータ共有システム10にグループ識別子groupID生成後最初にログインしたタイミングである。つまり、通信端末3001が世代識別子を受信する通信端末となる。以下、図5を参照して、世代識別子生成処理について説明する。
ユーザAが通信端末3001を用いてデータ共有システム10にログインする(S110)と、データ共有サーバ100の世代識別子生成部110は、世代識別子gIDを生成する(S120)。世代識別子gIDは、グループ識別子groupIDと当該世代形成時の時刻(例えば、ログイン時刻)gen-timeを連結した文字列groupID||gen-timeとする。なお、世代識別子はこれに限ったものでなく、例えば乱数としてもよい。データ共有サーバ100のグループ情報管理部105は、生成した世代識別子gIDを記録部190に記録しておく。つまり、データ共有サーバ100は、世代識別子もグループ識別子やグループを構成するユーザ識別子とともに管理する。
データ共有サーバ100は、送受信部180を用いてS120で生成した世代識別子gIDを通信端末3001に送信する(S130)。
通信端末3001が送受信部380を用いて世代識別子gIDを受信すると、通信端末3001のグループ情報管理部305は世代識別子gIDを記録部390に記録する(S140)。なお、この世代識別子gIDは、グループ識別子groupIDを有するグループを構成するユーザA以外のユーザ(ユーザB、C、D)が通信端末300を用いてデータ共有システム10にログインしたときに、当該通信端末300にデータ共有サーバ100から送信され、当該通信端末300は受信した世代識別子gIDを記録部390に記録するものとする。
[セッション鍵暗号化処理]
上述した通り、セッション鍵は、安全性を確保するために、適宜更新される。以下、図6を参照して、現時点で有効なセッション鍵を暗号化し、データ共有サーバ100に記録するセッション鍵暗号化処理について説明する。現時点で有効なセッション鍵を暗号化する通信端末300は、例えば、現在データ共有システム10にログインしているユーザBの通信端末3002であるとする。つまり、通信端末3002がセッション鍵を暗号化する通信端末となる。また、現時点で有効なセッション鍵をSKとする。セッション鍵SKは、通信端末3001、通信端末3002、通信端末3003、通信端末3004のセッション鍵共有部377により生成したものであり、通信端末3001、通信端末3002、通信端末3003、通信端末3004の記録部390に記録されるものとする。
上述した通り、セッション鍵は、安全性を確保するために、適宜更新される。以下、図6を参照して、現時点で有効なセッション鍵を暗号化し、データ共有サーバ100に記録するセッション鍵暗号化処理について説明する。現時点で有効なセッション鍵を暗号化する通信端末300は、例えば、現在データ共有システム10にログインしているユーザBの通信端末3002であるとする。つまり、通信端末3002がセッション鍵を暗号化する通信端末となる。また、現時点で有効なセッション鍵をSKとする。セッション鍵SKは、通信端末3001、通信端末3002、通信端末3003、通信端末3004のセッション鍵共有部377により生成したものであり、通信端末3001、通信端末3002、通信端末3003、通信端末3004の記録部390に記録されるものとする。
通信端末3002のセッション鍵暗号化部310は、記録部390に記録している公開パラメータparamsと世代識別子gID、セッション鍵SKを入力としてアルゴリズムEnc(params, gID, SK)により、セッション鍵SKを暗号化した暗号化セッション鍵CSKを生成する(S210)。
通信端末3002は、送受信部380を用いてS210で生成した暗号化セッション鍵CSKをデータ共有サーバ100に送信する(S220)。
データ共有サーバ100が送受信部180を用いて暗号化セッション鍵CSKを受信すると、データ共有サーバ100の暗号化セッション鍵管理部115は、暗号化セッション鍵CSKを記録部190に記録する(S230)。
[データ共有処理]
通信端末3001、通信端末3002、通信端末3003、通信端末3004の間で、世代識別子gIDとセッション鍵SKが共有されているものとする。すなわち、各通信端末300の記録部390には、世代識別子gIDとセッション鍵SKが記録されている。以下、図7を参照して、通信端末300があるデータを別の通信端末300と共有するデータ共有処理について説明する。ここでは、送信元となる通信端末300を通信端末3003、送信先となる通信端末300を通信端末3004とする。つまり、通信端末3003が共有対象となるデータを送信する通信端末、通信端末3004が共有対象となるデータを受信する通信端末となる。
通信端末3001、通信端末3002、通信端末3003、通信端末3004の間で、世代識別子gIDとセッション鍵SKが共有されているものとする。すなわち、各通信端末300の記録部390には、世代識別子gIDとセッション鍵SKが記録されている。以下、図7を参照して、通信端末300があるデータを別の通信端末300と共有するデータ共有処理について説明する。ここでは、送信元となる通信端末300を通信端末3003、送信先となる通信端末300を通信端末3004とする。つまり、通信端末3003が共有対象となるデータを送信する通信端末、通信端末3004が共有対象となるデータを受信する通信端末となる。
送信元となる通信端末3003は、共有対象となるデータの暗号化に用いる共通鍵Kをあらかじめ生成し、記録部390に記録しておく。共通鍵Kは、例えば乱数でよい。
通信端末3003のデータ暗号化部320は、記録部390に記録している共通鍵Kを用いて共有対象となるデータmを暗号化し、暗号化データCmを生成する(S310)。
通信端末3003の第一鍵演算部330は、記録部390に記録しているセッション鍵SKとS310の暗号化に用いた共通鍵Kから、関数fk1による演算結果鍵fk1(K, SK)を生成する(S320)。
通信端末300は、送受信部380を用いてS310で生成した暗号化データCmとS320で生成した演算結果鍵fk1(K, SK)の組である暗号文(Cm, fk1(K, SK))をデータ共有サーバ100に送信する(S330)。このとき、送信先となる通信端末3004の情報(例えば、通信端末3004のIPアドレス)があわせて指定されデータ共有サーバ100に送信される。
データ共有サーバ100が送受信部180を用いて暗号文(Cm, fk1(K, SK))を受信すると、データ共有サーバ100の暗号文管理部117は暗号文(Cm, fk1(K, SK))を記録部190に記録する(S340)。その際、データ共有サーバ100は、送信先となる通信端末3004の情報もあわせて受信する。
データ共有サーバ100は、送受信部180を用いてS340で受信した暗号文(Cm, fk1(K, SK))を送信先として指定されている通信端末3004に送信する(S350)。
送信先として指定されている通信端末3004が送受信部380を用いて暗号文(Cm, fk1(K, SK))を受信すると、通信端末3004の第二鍵演算部340は、暗号文の要素であるfk1(K, SK)と記録部390に記録しているセッション鍵SKから、関数hk1による演算結果鍵hk1(fk1(K, SK), SK)を生成する(S360)。ここで、hk1(fk1(K, SK), SK)=Kが成り立つから、通信端末3004は、共通鍵Kを得ることになる。
通信端末3004のデータ復号部350は、S360で生成した演算結果鍵hk1(fk1(K, SK), SK)である共通鍵Kを用いて、暗号文の要素であるCmを復号してデータmを取得する(S370)。
[再暗号化処理]
以下、図8を参照して、セッション鍵の更新に伴う、共有データサーバ100における暗号文の再暗号化処理処理について説明する。共有データサーバ100の記録部190には暗号化セッション鍵CSKが記録されている。通信端末3001、通信端末3002、通信端末3003、通信端末3004の記録部390には世代識別子gIDが記録されている。また、通信端末3001、通信端末3002、通信端末3003、通信端末3004は、セッション鍵共有部377を用いて、新たなセッション鍵SK'を生成、共有しているものとする。暗号文を再暗号化するための鍵である再暗号化鍵を生成する通信端末300は、現在データ共有システム10にログインしているユーザの通信端末3001であるとする。つまり、通信端末3001が再暗号化鍵を送信する通信端末となる。また、通信端末3001、通信端末3002、通信端末3003、通信端末3004はいずれも更新前の1世代前のセッション鍵SKを持っていないものとする。例えば、すべての通信端末300がデータ共有システム10からいったんログアウトしたタイミングで、セッション鍵SKを保持しない状態となったとする。
以下、図8を参照して、セッション鍵の更新に伴う、共有データサーバ100における暗号文の再暗号化処理処理について説明する。共有データサーバ100の記録部190には暗号化セッション鍵CSKが記録されている。通信端末3001、通信端末3002、通信端末3003、通信端末3004の記録部390には世代識別子gIDが記録されている。また、通信端末3001、通信端末3002、通信端末3003、通信端末3004は、セッション鍵共有部377を用いて、新たなセッション鍵SK'を生成、共有しているものとする。暗号文を再暗号化するための鍵である再暗号化鍵を生成する通信端末300は、現在データ共有システム10にログインしているユーザの通信端末3001であるとする。つまり、通信端末3001が再暗号化鍵を送信する通信端末となる。また、通信端末3001、通信端末3002、通信端末3003、通信端末3004はいずれも更新前の1世代前のセッション鍵SKを持っていないものとする。例えば、すべての通信端末300がデータ共有システム10からいったんログアウトしたタイミングで、セッション鍵SKを保持しない状態となったとする。
通信端末3001の秘密鍵生成要求部360は、秘密鍵生成要求を生成し、記録部390に記録している世代識別子gIDとともに鍵生成サーバ200に送信する(S410)。
鍵生成サーバ200が送受信部280を用いて秘密鍵生成要求を受信すると、鍵生成サーバ200の秘密鍵生成部220は、記録部290に記録している公開パラメータとマスター秘密鍵の組(params, msk)と世代識別子gIDを入力としてアルゴリズムKeygen(params,msk, gID)により、世代識別子gIDに対する秘密鍵dgIDを生成する(S420)。鍵生成サーバ200の鍵管理部205は秘密鍵dgIDを記録部290に記録しておく。
鍵生成サーバ200は、送受信部280を用いてS420で生成した秘密鍵dgIDを通信端末3001に送信する(S430)。
通信端末3001が送受信部380を用いて秘密鍵dgIDを受信すると、通信端末3001の秘密鍵管理部363は秘密鍵dgIDを記録部390に記録する(S440)。
通信端末3001の暗号化セッション鍵取得要求部365は、暗号化セッション鍵取得要求を生成し、データ共有サーバ100に送信する(S450)。
データ共有サーバ100が送受信部180を用いて暗号化セッション鍵取得要求を受信すると、データ共有サーバ100の暗号化セッション鍵送信部120は、記録部190に記録している暗号化セッション鍵CSKを通信端末3001に送信する(S460)。
通信端末3001が送受信部380を用いて暗号化セッション鍵CSKを受信すると、通信端末3001のセッション鍵復号部370は、記録部390に記録している公開パラメータparamsと秘密鍵dgID、暗号化セッション鍵CSKを入力としてアルゴリズムDec(params, dgID, CSK)により、セッション鍵SKを取得する(S470)。
通信端末3001の再暗号化鍵生成部375は、S470で取得したセッション鍵SKとセッション鍵SK'から、関数fk1による演算結果である再暗号化鍵fk1(SK, SK')を生成する(S480)。
通信端末3001は、送受信部380を用いてS480で生成した再暗号化鍵fk1(SK, SK')をデータ共有サーバ100に送信する(S490)。
データ共有サーバ100が送受信部180を用いて再暗号化鍵fk1(SK, SK')を受信すると、データ共有サーバ100の再暗号化部130は、記録部190に記録している暗号文(Cm, fk1(K, SK))の要素である演算結果鍵fk1(K, SK)と再暗号化鍵fk1(SK, SK')から関数gk1による演算結果鍵gk1(fk1(K, SK), fk1(SK, SK')= fk1(K, SK')を生成、当該演算結果鍵fk1(K, SK')を用いて暗号文(Cm, fk1(K, SK'))を生成し、データ共有サーバ100の暗号文管理部117は、暗号文(Cm, fk1(K, SK'))を記録部190に記録する(S495)。
[ユーザ削除に伴うセッション鍵暗号化処理]
世代識別子を生成する2番目以降のタイミング(つまり、世代識別子を更新するタイミング)は、例えば、グループを構成するユーザのひとりがそのグループから削除された(離脱した)後、グループを構成するユーザのひとりがデータ共有システム10にログインしたタイミングである。その際、データ共有サーバ100に記録されている暗号化セッション鍵を更新する。以下、図9を参照して、ユーザ削除に伴うセッション鍵暗号化処理について説明する。共有データサーバ100の記録部190には暗号化セッション鍵CSKが記録されているものとする。また、グループから削除されたユーザはDであるとする。現時点で有効なセッション鍵を暗号化する通信端末300は、例えば、現在データ共有システム10にログインしているユーザAの通信端末3001であるとする。つまり、通信端末3001が暗号化セッション鍵を更新する通信端末となる。また、現時点で有効なセッション鍵をSK''とする。このセッション鍵SK''は通信端末3001の記録部390に記録されている。
世代識別子を生成する2番目以降のタイミング(つまり、世代識別子を更新するタイミング)は、例えば、グループを構成するユーザのひとりがそのグループから削除された(離脱した)後、グループを構成するユーザのひとりがデータ共有システム10にログインしたタイミングである。その際、データ共有サーバ100に記録されている暗号化セッション鍵を更新する。以下、図9を参照して、ユーザ削除に伴うセッション鍵暗号化処理について説明する。共有データサーバ100の記録部190には暗号化セッション鍵CSKが記録されているものとする。また、グループから削除されたユーザはDであるとする。現時点で有効なセッション鍵を暗号化する通信端末300は、例えば、現在データ共有システム10にログインしているユーザAの通信端末3001であるとする。つまり、通信端末3001が暗号化セッション鍵を更新する通信端末となる。また、現時点で有効なセッション鍵をSK''とする。このセッション鍵SK''は通信端末3001の記録部390に記録されている。
ユーザAが通信端末3001を用いてデータ共有システム10にログインする(S510)と、データ共有サーバ100の世代識別子生成部110は、世代識別子gID'を生成する(S520)。世代識別子gID'は、グループ識別子groupIDとユーザDがグループから削除された時刻del-timeを連結した文字列groupID||del-timeとする。なお、世代識別子はこれに限ったものでなく、例えば乱数としてもよい。また、データ共有サーバ100のグループ情報管理部105は、世代識別子を更新する形で、世代識別子gID'を記録部190に記録する。つまり、グループ情報管理部105は、1世代前の世代識別子gIDを削除、現時点で有効な世代識別子gID'を記録する。
データ共有サーバ100は、送受信部180を用いてS520で生成した世代識別子gID'を通信端末3001に送信する(S530)。
通信端末3001が送受信部380を用いて世代識別子gID'を受信すると、通信端末3001のグループ情報管理部305は世代識別子gID'を記録部390に記録する(S540)。なお、この世代識別子gID'は、グループ識別子groupIDを有するグループを構成するユーザA以外のユーザ(ユーザB、C)が通信端末300を用いてデータ共有システム10にログインしたときに、当該通信端末300にデータ共有サーバ100から送信され、当該通信端末300は受信した世代識別子gID'を記録部390に記録するものとする。
通信端末300のセッション鍵暗号化部310は、公開パラメータparams、世代識別子gID'、セッション鍵SK''を入力としてEnc(params, gID', SK'')により、セッション鍵SK''を暗号化した暗号化セッション鍵CSK''を生成する(S550)。
通信端末3001は、送受信部380を用いてS550で生成した暗号化セッション鍵CSK''をデータ共有サーバ100に送信する(S560)。
データ共有サーバ100が送受信部180を用いて暗号化セッション鍵CSK''を受信すると、データ共有サーバ100の暗号化セッション鍵管理部115は、暗号化セッション鍵CSK''を現時点で有効な暗号化セッション鍵として記録部190に記録する(S570)。なお、その際、1世代前のセッション鍵を暗号化した暗号化セッション鍵CSKについては削除するのが好ましい。
この時点で、グループから削除されたユーザDは1世代前の秘密鍵dgIDを知りえることはあっても、現在の秘密鍵dgID''については知りえないため、これ以降、データ共有サーバ100に記録されている暗号化セッション鍵CSK''を復号することはできない。
本実施形態によると、以前にサーバに保存されたデータをサーバ側で復号することなく、更新されたセッション鍵を用いて更新された通信端末側で復号可能なデータを、データ共有を行うグループから削除されたユーザは復号することができない。
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD-ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD-ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD-RAM(Random Access Memory)、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP-ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
上述の本発明の実施形態の記載は、例証と記載の目的で提示されたものである。網羅的であるという意思はなく、開示された厳密な形式に発明を限定する意思もない。変形やバリエーションは上述の教示から可能である。実施形態は、本発明の原理の最も良い例証を提供するために、そして、この分野の当業者が、熟考された実際の使用に適するように本発明を色々な実施形態で、また、色々な変形を付加して利用できるようにするために、選ばれて表現されたものである。すべてのそのような変形やバリエーションは、公正に合法的に公平に与えられる幅にしたがって解釈された添付の請求項によって定められた本発明のスコープ内である。
Claims (5)
- データを共有するn台(nは1以上の整数)の通信端末と前記データを暗号化した暗号化データを記録するデータ共有サーバと公開パラメータを生成する鍵生成サーバとを含むデータ共有システムにおいて、前記n台の通信端末のうちの何れかの通信端末を利用するユーザが前記n台の通信端末を利用するユーザから構成されるグループから離脱した場合に、前記離脱したユーザが前記暗号化データを復号することができないように、データを共有する通信端末の間で共有されるセッション鍵を暗号化した暗号化セッション鍵を更新するデータ共有方法であって、
前記離脱したユーザが利用する通信端末を除くn-1台の通信端末のうちの何れかの通信端末を、暗号化セッション鍵を更新する通信端末として、
前記暗号化セッション鍵を更新する通信端末の記録部には、前記公開パラメータと現時点で有効なセッション鍵が記録されており、
前記データ共有サーバが、前記グループの世代を示す世代識別子を生成する世代識別子生成ステップと、
前記暗号化セッション鍵を更新する通信端末が、前記データ共有サーバから受信した前記世代識別子、前記記録部に記録している前記公開パラメータと前記セッション鍵を用いて、前記セッション鍵を暗号化した暗号化セッション鍵を生成するセッション鍵暗号化ステップと、
前記データ共有サーバが、前記暗号化セッション鍵を更新する通信端末から受信した前記暗号化セッション鍵を現時点で有効な暗号化セッション鍵として記録する暗号化セッション鍵管理ステップと
を含むデータ共有方法。 - データを共有するn台(nは1以上の整数)の通信端末と前記データを暗号化した暗号化データを記録するデータ共有サーバと公開パラメータを生成する鍵生成サーバとを含み、前記n台の通信端末のうちの何れかの通信端末を利用するユーザが前記n台の通信端末を利用するユーザから構成されるグループから離脱した場合に、前記離脱したユーザが前記暗号化データを復号することができないように、データを共有する通信端末の間で共有されるセッション鍵を暗号化した暗号化セッション鍵を更新するデータ共有システムであって、
前記離脱したユーザが利用する通信端末を除くn-1台の通信端末のうちの何れかの通信端末を、暗号化セッション鍵を更新する通信端末として、
前記データ共有サーバは、
前記グループの世代を示す世代識別子を生成する世代識別子生成部と、
前記暗号化セッション鍵を更新する通信端末から受信した暗号化セッション鍵を現時点で有効な暗号化セッション鍵として記録する暗号化セッション鍵管理部と
を含み、
前記暗号化セッション鍵を更新する通信端末は、
前記公開パラメータと現時点で有効なセッション鍵を記録する記録部と、
前記データ共有サーバから受信した前記世代識別子、前記記録部に記録している前記公開パラメータと前記セッション鍵を用いて、前記セッション鍵を暗号化した暗号化セッション鍵を生成するセッション鍵暗号化部と
を含むデータ共有システム。 - データを共有するn台(nは1以上の整数)の通信端末と前記データを暗号化した暗号化データを記録するデータ共有サーバと公開パラメータを生成する鍵生成サーバとを含み、前記n台の通信端末のうちの何れかの通信端末を利用するユーザが前記n台の通信端末を利用するユーザから構成されるグループから離脱した場合に、前記離脱したユーザが前記暗号化データを復号することができないように、データを共有する通信端末の間で共有されるセッション鍵を暗号化した暗号化セッション鍵を更新するデータ共有システムに含まれるデータ共有サーバであって、
前記離脱したユーザが利用する通信端末を除くn-1台の通信端末のうちの何れかの通信端末を、暗号化セッション鍵を更新する通信端末として、
前記グループの世代を示す世代識別子を生成する世代識別子生成部と、
前記暗号化セッション鍵を更新する通信端末から受信した暗号化セッション鍵を現時点で有効な暗号化セッション鍵として記録する暗号化セッション鍵管理部と
を含むデータ共有サーバ。 - データを共有するn台(nは1以上の整数)の通信端末と前記データを暗号化した暗号化データを記録するデータ共有サーバと公開パラメータを生成する鍵生成サーバとを含み、前記n台の通信端末のうちの何れかの通信端末を利用するユーザが前記n台の通信端末を利用するユーザから構成されるグループから離脱した場合に、前記離脱したユーザが前記暗号化データを復号することができないように、データを共有する通信端末の間で共有されるセッション鍵を暗号化した暗号化セッション鍵を更新するデータ共有システムに含まれる通信端末であって、
前記通信端末は、暗号化セッション鍵を更新する、前記離脱したユーザが利用する通信端末を除くn-1台の通信端末のうちの何れかの通信端末であり、
前記公開パラメータと現時点で有効なセッション鍵を記録する記録部と、
前記データ共有サーバから受信した世代識別子、前記記録部に記録している前記公開パラメータと前記セッション鍵を用いて、前記セッション鍵を暗号化した暗号化セッション鍵を生成するセッション鍵暗号化部と
を含む通信端末。 - 請求項3に記載のデータ共有サーバまたは請求項4に記載の通信端末としてコンピュータを機能させるためのプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201880069026.8A CN111279655B (zh) | 2017-11-06 | 2018-11-05 | 数据共享方法、系统及服务器、通信终端、记录介质 |
JP2019550511A JP6908128B2 (ja) | 2017-11-06 | 2018-11-05 | データ共有方法、データ共有システム、データ共有サーバ、通信端末、プログラム |
EP18874039.3A EP3709564B1 (en) | 2017-11-06 | 2018-11-05 | Data sharing method, data sharing system, data sharing server, communication terminal, and program |
US16/638,356 US11177949B2 (en) | 2017-11-06 | 2018-11-05 | Data sharing method, data sharing system, data sharing server, communication terminal and program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017213499 | 2017-11-06 | ||
JP2017-213499 | 2017-11-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019088279A1 true WO2019088279A1 (ja) | 2019-05-09 |
Family
ID=66333240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/040951 WO2019088279A1 (ja) | 2017-11-06 | 2018-11-05 | データ共有方法、データ共有システム、データ共有サーバ、通信端末、プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US11177949B2 (ja) |
EP (1) | EP3709564B1 (ja) |
JP (1) | JP6908128B2 (ja) |
CN (1) | CN111279655B (ja) |
WO (1) | WO2019088279A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021001989A1 (ja) * | 2019-07-04 | 2021-01-07 | 日本電信電話株式会社 | チャットボットシステム、情報処理装置、情報処理方法及びプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015169842A (ja) * | 2014-03-07 | 2015-09-28 | 株式会社東芝 | データ管理装置、システム、再暗号化装置、データ共有装置及びプログラム |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775382B1 (en) * | 1997-06-30 | 2004-08-10 | Sun Microsystems, Inc. | Method and apparatus for recovering encryption session keys |
JPH11275068A (ja) * | 1998-03-20 | 1999-10-08 | Fujitsu Ltd | 鍵管理サーバ、チャットシステムの端末装置、チャットシステム及び記録媒体 |
CA2267395C (en) * | 1999-03-30 | 2002-07-09 | Ibm Canada Limited-Ibm Canada Limitee | Method and system for managing keys for encrypted data |
US7089211B1 (en) * | 2000-01-12 | 2006-08-08 | Cisco Technology, Inc. | Directory enabled secure multicast group communications |
JP2003069547A (ja) * | 2001-08-29 | 2003-03-07 | Fujitsu Ltd | マルチキャスト通信システム |
JP2003101570A (ja) * | 2001-09-21 | 2003-04-04 | Sony Corp | 通信処理システム、通信処理方法、およびサーバー装置、並びにコンピュータ・プログラム |
US7127613B2 (en) * | 2002-02-25 | 2006-10-24 | Sun Microsystems, Inc. | Secured peer-to-peer network data exchange |
US20060047960A1 (en) * | 2003-06-19 | 2006-03-02 | Nippon Telegraph And Telephone Corporation | Session control server, communication system |
JP2005210193A (ja) * | 2004-01-20 | 2005-08-04 | Matsushita Electric Works Ltd | 共通秘密鍵生成装置 |
KR100677152B1 (ko) * | 2004-11-17 | 2007-02-02 | 삼성전자주식회사 | 사용자 바인딩을 이용한 홈 네트워크에서의 콘텐츠 전송방법 |
JP5034498B2 (ja) * | 2006-02-20 | 2012-09-26 | 株式会社日立製作所 | ディジタルコンテンツの暗号化,復号方法,及び,ディジタルコンテンツを利用した業務フローシステム |
US7936878B2 (en) * | 2006-04-10 | 2011-05-03 | Honeywell International Inc. | Secure wireless instrumentation network system |
US20070248232A1 (en) * | 2006-04-10 | 2007-10-25 | Honeywell International Inc. | Cryptographic key sharing method |
CN100463391C (zh) * | 2006-09-23 | 2009-02-18 | 西安西电捷通无线网络通信有限公司 | 一种网络密钥管理及会话密钥更新方法 |
US20100293379A1 (en) * | 2007-05-31 | 2010-11-18 | Beijing Transpacific Ip Technology Development Ltd | method for secure data transmission in wireless sensor network |
US8422687B2 (en) * | 2008-05-30 | 2013-04-16 | Lantiq Deutschland Gmbh | Key management for communication networks |
CN100581169C (zh) * | 2008-08-21 | 2010-01-13 | 西安西电捷通无线网络通信有限公司 | 一种基于单播会话密钥的组播密钥分发方法及其更新方法 |
US8301879B2 (en) * | 2009-01-26 | 2012-10-30 | Microsoft Corporation | Conversation rights management |
US10129211B2 (en) * | 2011-09-15 | 2018-11-13 | Stephan HEATH | Methods and/or systems for an online and/or mobile privacy and/or security encryption technologies used in cloud computing with the combination of data mining and/or encryption of user's personal data and/or location data for marketing of internet posted promotions, social messaging or offers using multiple devices, browsers, operating systems, networks, fiber optic communications, multichannel platforms |
US20170149748A1 (en) * | 2015-11-25 | 2017-05-25 | Ty Lindteigen | Secure Group Messaging and Data Steaming |
US9225516B1 (en) * | 2013-10-03 | 2015-12-29 | Whatsapp Inc. | Combined authentication and encryption |
US9781123B2 (en) * | 2014-04-25 | 2017-10-03 | Samsung Electronics Co., Ltd. | Methods of providing social network service and server performing the same |
US20180123784A1 (en) * | 2015-04-24 | 2018-05-03 | Pcms Holdings, Inc. | Systems, methods, and devices for device credential protection |
CN106130716B (zh) * | 2015-05-06 | 2020-01-21 | 三星Sds株式会社 | 基于认证信息的密钥交换系统及方法 |
WO2016181586A1 (ja) * | 2015-05-08 | 2016-11-17 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 認証方法及び認証システム |
KR102395799B1 (ko) * | 2015-07-09 | 2022-05-10 | 삼성전자주식회사 | 메신저 서비스를 제공하는 장치 및 방법 |
US11516195B2 (en) * | 2016-06-20 | 2022-11-29 | Nippon Telegraph And Telephone Corporation | Terminal device, key distribution management device, server-client system, communication method, and programs |
CN107566324A (zh) * | 2016-06-30 | 2018-01-09 | 南京中兴新软件有限责任公司 | 加密方法、解密方法及装置 |
US11223472B2 (en) * | 2016-09-12 | 2022-01-11 | Nippon Telegraph And Telephone Corporation | Encrypted message search method, message transmission/reception system, server, terminal and program |
US10341100B2 (en) * | 2017-01-06 | 2019-07-02 | Microsoft Technology Licensing, Llc | Partially encrypted conversations via keys on member change |
US10833870B2 (en) * | 2017-01-06 | 2020-11-10 | Microsoft Technology Licensing, Llc | Cryptographic operations in an isolated collection |
-
2018
- 2018-11-05 US US16/638,356 patent/US11177949B2/en active Active
- 2018-11-05 CN CN201880069026.8A patent/CN111279655B/zh active Active
- 2018-11-05 WO PCT/JP2018/040951 patent/WO2019088279A1/ja unknown
- 2018-11-05 JP JP2019550511A patent/JP6908128B2/ja active Active
- 2018-11-05 EP EP18874039.3A patent/EP3709564B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015169842A (ja) * | 2014-03-07 | 2015-09-28 | 株式会社東芝 | データ管理装置、システム、再暗号化装置、データ共有装置及びプログラム |
Non-Patent Citations (7)
Title |
---|
DAISUKE MORIYAMARYO NISHIMAKITATSUAKI OKAMOTO: "Mathematics of Public Key Cryptography", 2011, KYORITSU SHUPPAN CO., LTD. |
K. YONEYAMAR. YOSHIDAY. KAWAHARAT. KOBAYASHIH. FUJIT. YAMAMOTO: "Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction", CRYPTOLOGY EPRINT ARCHIVE, REPORT 2016/833, 2016, Retrieved from the Internet <URL:http://eprint.iacr.org/2016/833> |
KOBAYASHI; TETSUTARO; ET AL: "3F3-5 ID-based Scalable and Dynamic Multi-Cast Key Distribution for secure business chat system", SCIS2017 (2017 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY); 24-27/01/2017, 24 January 2017 (2017-01-24), pages 1 - 8, XP009517227 * |
See also references of EP3709564A4 |
TETSUTARO KOBAYASHIKAZUKI YONEYAMAREO YOSHIDAYUTO KAWAHARAHITOSHI FUJITOMOHIDE YAMAMOTO: "Scalable and Dynamic Multi-Cast Key Distribution", PROCEEDINGS OF SCIS2016-SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS, vol. 4E2-3, 2016 |
TOPICROOM: GROUP CHAT FOR BUSINESS, 16 October 2017 (2017-10-16), Retrieved from the Internet <URL:https://www.ntt-tx.co.jp/products/topicroom> |
YOSHIDA, REO: "3F3-6 On the performance of cryptographic messaging protocol", SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY (SCIS2017); 24-27/01/2017, 24 January 2017 (2017-01-24), pages 1 - 8, XP009520177 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021001989A1 (ja) * | 2019-07-04 | 2021-01-07 | 日本電信電話株式会社 | チャットボットシステム、情報処理装置、情報処理方法及びプログラム |
JPWO2021001989A1 (ja) * | 2019-07-04 | 2021-01-07 | ||
JP7215580B2 (ja) | 2019-07-04 | 2023-01-31 | 日本電信電話株式会社 | チャットボットシステム及び情報処理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6908128B2 (ja) | 2021-07-21 |
CN111279655A (zh) | 2020-06-12 |
EP3709564A4 (en) | 2021-08-04 |
EP3709564A1 (en) | 2020-09-16 |
CN111279655B (zh) | 2023-03-31 |
US20200374114A1 (en) | 2020-11-26 |
EP3709564B1 (en) | 2023-03-22 |
JPWO2019088279A1 (ja) | 2020-10-08 |
US11177949B2 (en) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220006627A1 (en) | Quantum key distribution node apparatus and method for quantum key distribution thereof | |
US10938554B2 (en) | Managing private key access in multiple nodes | |
US8769259B2 (en) | Methods and apparatuses for secure information sharing in social networks using randomly-generated keys | |
JP6556955B2 (ja) | 通信端末、サーバ装置、プログラム | |
WO2016136024A1 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
CN106790037B (zh) | 一种用户态加密的即时通讯方法与系统 | |
Reshma et al. | Pairing-free CP-ABE based cryptography combined with steganography for multimedia applications | |
JP2019102970A (ja) | データ共有サーバ装置、鍵生成サーバ装置、通信端末、プログラム | |
CN109495248B (zh) | 基于秘密共享方案的可监察隐私通信方法 | |
JP6840685B2 (ja) | データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム | |
JP6939897B2 (ja) | 通信端末、プログラム | |
JP6908128B2 (ja) | データ共有方法、データ共有システム、データ共有サーバ、通信端末、プログラム | |
Mujaj | A comparison of secure messaging protocols and implementations | |
WO2015156145A1 (ja) | 再暗号化方法,再暗号化システム及び再暗号化装置 | |
CN110321722B (zh) | Dna序列相似率安全计算方法及系统 | |
Guo et al. | A multi-hop privacy-preserving reputation scheme in online social networks | |
JP7254296B2 (ja) | 鍵交換システム、情報処理装置、鍵交換方法及びプログラム | |
JP7097581B2 (ja) | 通信システム、サーバ装置、通信方法、及びプログラム | |
US20240056288A1 (en) | Communication system, information processing apparatus, communication method and program | |
Au et al. | While mobile encounters with clouds | |
Kaosar et al. | Privacy-preserving interest group formation in online social networks (OSNs) using fully homomorphic encryption | |
Kausalye et al. | Data Confidentiality in Cloud Storage. A Survey | |
Domb | Advanced Lightweight Encryption Key Management Algorithms for IoT Networks | |
Lima et al. | A secure collaborative network protocol | |
Narayanan et al. | An Efficient User Revocation and Encryption Methods for Secure Multi-Owner Data Sharing to Dynamic Groups in the Cloud |
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: 18874039 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019550511 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2018874039 Country of ref document: EP Effective date: 20200608 |