WO2020202255A1 - ユーザ情報管理システム、ユーザ情報管理方法およびプログラム - Google Patents

ユーザ情報管理システム、ユーザ情報管理方法およびプログラム Download PDF

Info

Publication number
WO2020202255A1
WO2020202255A1 PCT/JP2019/014007 JP2019014007W WO2020202255A1 WO 2020202255 A1 WO2020202255 A1 WO 2020202255A1 JP 2019014007 W JP2019014007 W JP 2019014007W WO 2020202255 A1 WO2020202255 A1 WO 2020202255A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
attribute
hash
acquired
management system
Prior art date
Application number
PCT/JP2019/014007
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 JP2020535263A priority Critical patent/JP6837186B1/ja
Priority to PCT/JP2019/014007 priority patent/WO2020202255A1/ja
Publication of WO2020202255A1 publication Critical patent/WO2020202255A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/383Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Definitions

  • the present invention relates to a user information management system, a user information management method and a program.
  • the first computer encrypts the stored user information (personal information) so that the second computer can decrypt it, and the second computer is encrypted via the distributed ledger database. It is disclosed that the user information is acquired.
  • User information may change due to a user's move or job change.
  • the present invention has been made in view of the above problems, and an object of the present invention is to provide a technique for more easily detecting changes in user information.
  • the user information management system specifies one of a plurality of registered data stored in a storage connected via a network from any of a plurality of terminals.
  • the registration data acquisition means for acquiring the registration data from the storage based on the specific information, and the attribute acquisition means having the hash value included in the acquired registration data.
  • the attribute value of the compared attribute is changed based on the comparison means for comparing the generated hash value with the acquired hash value and the result of the comparison.
  • Includes a change output means that outputs information indicating whether or not the data was present.
  • the user information management method is specific information that identifies any of a plurality of registered data stored in a storage connected via a network from any of a plurality of terminals.
  • the user from a step of acquiring specific information that identifies registration data including a hash value based on a hash value based on a past attribute value for each of the plurality of attributes of the user, and from any one of the plurality of terminals.
  • the step of acquiring the registration data from the storage the attribute including the hash value in the acquired registration data, and the attribute from which the attribute value has been acquired, the generated hash value and the said. It includes a step of comparing with the acquired hash value and a step of outputting information indicating whether or not the attribute value of the compared attribute has been changed based on the result of the comparison.
  • the program according to the present invention is specific information for specifying one of a plurality of registered data stored in a storage connected via a network from any of a plurality of terminals, and is a plurality of users.
  • a specific means for acquiring specific information for specifying registration data including a hash value based on a hash value based on a past attribute value for one or a plurality of the attributes of the above, and a plurality of the users from any one of the plurality of terminals.
  • the hash generation means for generating the hash value based on the acquired attribute value for each of the one or more attributes, and the specific information.
  • the registered data acquisition means for acquiring the registration data from the storage, the attribute for which the acquired registration data includes a hash value, and the attribute value for which the attribute value has been acquired by the attribute acquisition means are generated.
  • a comparison means for comparing the hash value with the acquired hash value, and a change output means for outputting information indicating whether or not the attribute value of the compared attribute has been changed based on the result of the comparison.
  • the user information management system specifies registered data including a hash value based on an attribute value acquired by the attribute acquisition means for each of the plurality of attributes of the user.
  • the registration means stored in the storage in association with the registration data specified by the information may be further included.
  • the user information management system acquires a conversion parameter for generating a hash value from a past attribute value for each of a plurality of attributes of the user from any of the terminals.
  • the hash generation means converts the acquired attribute value based on the acquired conversion parameter for each of the one or a plurality of attributes, and the converted attribute value of the converted attribute value.
  • a hash value may be generated.
  • the conversion parameter is a time related to the registration of the user
  • the hash generation means may convert the attribute value by adding the time to the acquired attribute value. ..
  • the user information management system has acquired the registration conversion parameter acquisition means for acquiring the registration conversion parameter and the acquisition of each of the one or a plurality of attributes based on the acquired registration conversion parameter.
  • the registration data generation means that converts the attribute value and generates the registration data including the hash value of the converted attribute value, and the registration conversion parameter is transmitted to the user's terminal and the registration conversion parameter is sent to the user's terminal.
  • the registered data including the transmission means for storing the data and the hash value generated by the registered data generating means may be stored in the storage.
  • the user information management system further includes a token updating means for updating the token information stored in the user's terminal to the new token information, and the registration means is generated based on the new token information.
  • the registered data including the token hash which is the hash value is further stored in the storage, and the user information management system has a token acquisition means for acquiring the token information from the user's terminal and a hash value based on the acquired token. Is generated, and when the generated token hash and the token hash included in the registration data stored in the storage are different, warning information indicating that the token information is different is output to the user. It may further include a token authentication means.
  • the user information management system generates registration data including hash values based on the attribute values acquired by the attribute acquisition means for each of the plurality of attributes of the user.
  • the registered data generation means converts the attribute value acquired for a predetermined attribute among the plurality of attributes of the user according to a predetermined rule, and obtains a hash value based on the converted attribute value. It may be generated.
  • the registered data generation means may convert the attribute value acquired for the attribute related to the date among the plurality of attributes of the user into a predetermined format.
  • the registered data generation means extracts a part of the attribute values acquired for the attributes related to the address or work place from the plurality of attributes of the user, and hashes based on the extracted attribute values. You may generate a value.
  • each of a plurality of organizations has a customer management system.
  • each of the multiple organizations has a contact point or department for confirming the identification card, etc., and the organization confirms the identity of the user through the contact point, etc., and the user information acquired at the time of the identity verification is used as a customer management system. It is stored and managed in.
  • the user information may include so-called personal information.
  • FIG. 1 is a diagram showing the relationship between the customer management system according to the embodiment of the present invention and other systems.
  • the customer management systems 1a, 1b, and 1c are used by different organizations.
  • the distributed ledger nodes 2a, 2b, and 2c are provided corresponding to the customer management systems 1a, 1b, and 1c, respectively.
  • the plurality of terminals 3 may be computers such as smartphones operated by the user, or may be stationary computers arranged in an organization.
  • the customer management systems 1a, 1b, and 1c are collectively referred to as the customer management system 1. Although three customer management systems 1 are shown in FIG. 1, the number of customer management systems 1 may be any number.
  • the distributed ledger nodes 2a, 2b, and 2c are connected to the customer management systems 1a, 1b, and 1c, respectively, via a network.
  • the distributed ledger nodes 2a, 2b, and 2c are collectively referred to as the distributed ledger node 2.
  • Each of the distributed ledger nodes 2 is composed of one or more server computers.
  • the distributed ledger node 2 provides a storage (distributed ledger) using a distributed ledger management technology (DLT), a so-called blockchain technology.
  • DLT distributed ledger management technology
  • Distributed ledger A plurality of registered data are stored in the distributed ledger of the node 2. Details of the registration data will be described later.
  • the number of distributed ledger nodes 2 may be one or more, and a plurality of customer management systems 1 may be connected to one distributed ledger node 2.
  • FIG. 2 is a diagram showing an example of the hardware configuration of the customer management system 1, and is an example of the case where the customer management system 1 is configured by one server computer.
  • the customer management system 1 includes a processor 11, a storage unit 12, a communication unit 13, and an input / output unit 14.
  • the customer management system 1 may be realized by a plurality of server computers.
  • the processor 11 operates according to the program stored in the storage unit 12.
  • the processor 11 also controls the communication unit 13 and the input / output unit 14.
  • the above program may be provided via the Internet or the like, or may be stored and provided in a computer-readable storage medium such as a flash memory or a DVD-ROM. ..
  • the storage unit 12 is composed of a memory element such as a RAM and a flash memory and an external storage device such as a hard disk drive.
  • the storage unit 12 stores the above program.
  • the storage unit 12 stores information and calculation results input from each unit.
  • the communication unit 13 realizes a function of communicating with another device, and is composed of, for example, an integrated circuit of a wired LAN. Based on the control of the processor 11, the communication unit 13 inputs the information received from the other device to the processor 11 and the storage unit 12, and transmits the information to the other device.
  • the input / output unit 14 is composed of a video controller that controls a display output device, a controller that acquires data from the input device, and the like.
  • Input devices include keyboards, mice, touch panels, and the like.
  • the input / output unit 14 outputs display data to the display output device based on the control of the processor 11, and acquires the data input by the user operating the input device.
  • the display output device is, for example, a display device connected to the outside.
  • the server computer constituting the terminal 3 and the distributed ledger node 2 includes a processor 11, a storage unit 12, a communication unit 13, and an input / output unit 14, as in the customer management system 1.
  • FIG. 3 is a block diagram showing the functions realized by the customer management system 1 and the terminal 3.
  • the terminal 3 functionally includes a user information transmission unit 51, a registered information transmission unit 52, and an information storage unit 53. These functions are realized by the processor 11 included in the terminal 3 executing a program stored in the storage unit 12 and controlling the communication unit 13 and the like.
  • the user information transmission unit 51 transmits user information to the customer management system 1.
  • the user information is information necessary for membership registration, and includes attribute values for each of one or more attributes such as a name, an address, and an occupation written on a health insurance card or an ID card.
  • a plurality of attributes for which attribute values can be set are predetermined, and the user information stores attribute values for one or more of the plurality of attributes.
  • the user information may include user information (attribute value of user attribute) that is not described in the identification card and is input by the user.
  • the registered information transmission unit 52 transmits the member retention information and the latest token for the already registered organization to the customer management system 1.
  • the member retention information includes specific data for specifying the data registered in the distributed ledger node 2 and information used as conversion parameters. Details of membership information, specific data, conversion parameters and tokens will be described later.
  • the information storage unit 53 receives the member retention information and tokens about the user registered in any organization from the customer management system 1, and stores the received member retention information and the latest token in the storage unit 12.
  • the customer management system 1 functionally includes a user information acquisition unit 61, a registered information acquisition unit 63, an authentication unit 68, a registration conversion parameter acquisition unit 71, a new token issuing unit 72, a registration data generation unit 73, and a registration unit 74. It includes a terminal transmission unit 75, a comparison hash generation unit 81, a registration data acquisition unit 82, a comparison unit 83, a change notification unit 84, and a customer database 91. Further, the registered information acquisition unit 63 includes a conversion parameter acquisition unit 64, a specific unit 65, and a token acquisition unit 66. These functions are realized by the processor 11 included in the customer management system 1 executing a program stored in the storage unit 12 and storing the calculation results and the like in the storage unit 12 while controlling the communication unit 13.
  • the user information acquisition unit 61 acquires user information transmitted from the user information transmission unit 51 of the terminal 3.
  • the registered information acquisition unit 62 receives the member retention information and the latest token transmitted from the registered information transmission unit 52. More specifically, the conversion parameter acquisition unit 64 acquires the conversion parameters included in the member retention information, and the specific unit 65 acquires the specific data included in the member retention information. Further, the token acquisition unit 66 acquires the token transmitted from the terminal 3.
  • the authentication unit 68 authenticates the user based on the token acquired by the token acquisition unit 66 and the hash value of the latest token stored in the storage of the distributed ledger node 2.
  • the customer database 91 is mainly realized by the storage unit 12, and stores the user information acquired by the user information acquisition unit 61 and the information indicating specific data.
  • the registration conversion parameter acquisition unit 71 acquires the conversion parameter of the attribute value used when generating the hash value included in the registration data from the user information.
  • the registration data is the data registered in the distributed ledger node 2.
  • the new token issuing unit 72 issues a new token.
  • the registration data generation unit 73 generates registration data.
  • the registration data includes a hash value based on the attribute value of one or more attributes included in the user information, specific data, and a hash value of a new token.
  • the registration unit 74 registers the generated registration data in the distributed ledger node 2.
  • the terminal transmission unit 75 transmits the member retention information to the terminal 3 and stores it in the information storage unit 53. Further, the terminal transmission unit 75 transmits a new token to the terminal 3 to update the token included in the information storage unit 53.
  • FIG. 4 is a diagram showing an example of acquisition and registration of information by an organization.
  • each organization confirms the identity of the customer, and the customer management system 1 of each organization registers the user information acquired at the time of the identity verification in the distributed ledger provided by the distributed ledger node 2. ..
  • This identity verification includes those performed in accordance with the requirements of the so-called KYC (Know Your Customer).
  • Organization A is a company that provides online securities, and when registering as a member, the actual department confirms the identity by confirming the identification card and the address by mail, and the attributes of the user whose identity has been confirmed. Information about the name, date of birth, address, and occupation (specifically, a hash value based on attribute values such as name) is registered in the distributed ledger.
  • Organization B is a medical institution, and not only confirms the medical insurance certificate at the time of patient registration, which is a kind of membership registration, but also the medical insurance certificate at the maximum frequency of once a month when the user uses the medical institution. To confirm.
  • Information on the name, occupation, date of birth, and presence / absence of survival (specifically, a hash value based on an attribute value such as a name) is registered in the distributed ledger.
  • Organization C is a retail store or restaurant, confirms the membership card when using the store, and registers information on whether or not it is alive in the distributed ledger.
  • Organization D is a telecommunications company that mails invoices and, when paid for them, registers information about them in a decentralized ledger, assuming that the user's name and address are real.
  • FIG. 5 is a diagram illustrating a case where the user first registers as a member with the organization A. Information exchanged between the user and the organization A (and documents related to identity verification, etc.), an outline of the processing of the customer management system 1, and an outline of the exchange with the distributed ledger will be described.
  • the user requests membership registration online and sends an identity verification document for identity verification.
  • the customer management system 1 acquires the user information input from the user's terminal 3 or extracted from the identity verification information by the terminal in the customer management system 1. , Issue tokens and generate registration data to be registered in the distributed ledger. Tokens are used for authentication when using your own organization and other organizations.
  • FIG. 6 is a diagram showing an example of registration data registered at the time of membership registration of organization A.
  • the registration data includes a member information hash, a member information signature, a signature public key, an identity verification item, a token hash, a token signature, and a token issuance time.
  • the function h indicates a hash value generated from the argument by the hash function
  • the function sig indicates an electronic signature generated from the argument and the private key of the organization.
  • the signature public key is a public key that is a pair of the private key used for the digital signature
  • the registration data may include an electronic certificate including the public key as the signature public key.
  • the member information hash includes a hash value for each attribute value of one or more attributes of the user, and specifically, a conversion parameter is added to each attribute value of one or more attributes identified by the user. Contains the hash value of the data generated by.
  • the member information hash also includes a hash value based on the organization ID and the member ID as information that identifies the member and information that identifies the registered data.
  • the customer management system 1 When the registration data is generated, the customer management system 1 (4) registers the registration data in the distributed ledger of the distributed ledger node 2, and (5) transmits the member retention information and the token to the user's terminal 3. It is stored in the information storage unit 53 of the terminal 3.
  • FIG. 7 is a diagram showing an example of data passed to the user.
  • the customer management system 1 transmits a hash of the organization ID, a hash of the member ID, a hash of the entire member information, and a member registration time as member retention information to the user's terminal 3.
  • the customer management system 1 also transmits the token and the token issuance time to the user's terminal 3.
  • the hash of the organization ID and the hash of the member ID are also specific data that identifies the registration data registered in the distributed ledger.
  • the member registration time means the time when the user is registered in the customer management system 1 of the organization A as a member of the organization A.
  • the member registration time is also a conversion parameter added to the data when the customer management system 1 generates a hash based on the attribute value of the member information.
  • the hash based on the attribute value of the member information is the hash value of the data to which the conversion parameter is added. Since the conversion parameters are not stored in the distributed ledger, it is difficult for a third party to obtain the conversion parameters, and it is possible to prevent the actual value from being deciphered from the hash value by a so-called dictionary attack. Further, the customer management system 1 confirms whether the information of the terminal 3 is appropriate by confirming whether the hash for the entire member information is consistent with the member information signature of the registration data.
  • FIG. 8 is a diagram for explaining a case where a user registers as a member for organization A and then registers as a member for organization B, and is a diagram corresponding to FIG.
  • the user requests member registration at the counter, presents the identity verification document for identity verification, and (2) is a member of another organization (organization A). Send retention information and tokens.
  • the customer management system 1 (4) acquires specific data included in the member retention information of another organization, searches the distributed ledger based on the specific data, and (5). Acquire registration data of other organizations.
  • the customer management system 1 (6) acquires the hash TS of the token included in the latest registration data of another organization, authenticates the token input by the user, and (7) the member retention information input by the user is appropriate. Check if it is. When the authentication and confirmation are performed, the customer management system 1 issues (8) tokens and generates registration data to be registered in the distributed ledger. The customer management system 1 registers (9) the registration data in the distributed ledger of the distributed ledger node 2 in association with the registration data of another organization, and further (10) transmits the membership retention information and the token to the user's terminal 3. , Stored in the information storage unit 53 of the terminal 3.
  • FIG. 9 is a diagram showing an example of registration data registered at the time of membership registration of organization B
  • FIG. 10 is a diagram showing an example of data passed to the user.
  • the major difference from the examples of FIGS. 6 and 7 is that the attributes of the users stored in the member information hash differ between the organization A and the organization B, and more specifically, there is no hash based on the address. Further, the token and its hash are newer than the examples of FIGS. 6 and 7, and the conversion parameter is the member registration time for the organization B, which is different from the conversion parameter for the organization A.
  • the user information acquisition unit 61 acquires the user information transmitted from the terminal 3 (step S201).
  • the user information is, for example, a name, an address, and an occupation.
  • the items of the acquired user information may differ depending on the organization.
  • the user information acquisition unit 61 stores the user information in the customer database 91 in association with the member ID that identifies the user.
  • FIG. 19 is a diagram showing an example of data stored in the customer database 91.
  • FIG. 19 shows data stored in the customer database 91 for one user registered in organization B.
  • the stored user data includes a member ID, user information such as name and occupation, member registration time, and information about each of other organizations.
  • Information about each of the other organizations includes a hash based on the organization ID (see “Other organization 1 member ID” in FIG. 19) and a hash based on the user's member ID in the other organization (see “Other organization 1 member ID” in FIG. 19). ) And conversion parameters in other organizations (see “Other organization 1 conversion parameters” in FIG. 19).
  • the hash based on the organization ID of the other organization and the hash based on the member ID of the user in the other organization constitute specific data.
  • the member ID stored in the customer database 91 is also information indicating specific data that identifies the registration data of the own organization. This is because specific data including a hash value based on the member ID and a hash value based on the organization ID of the own organization can be generated from the member ID.
  • the registered information acquisition unit 63 determines whether or not the member is registered for another organization (step S202). More specifically, the registered information acquisition unit 63 registers this user as a member of another organization based on the information indicating the presence or absence of member information of another organization acquired from the registered information transmission unit 52 of the terminal 3. Judge whether or not. The information indicating the presence or absence of member information of another organization may be simply information indicating whether or not the member retention information has been received from the registered information transmission unit 52.
  • the registered information acquisition unit 63 and the authentication unit 68 execute the processes of steps S203 to S210. This case corresponds to the example of FIG. If the membership of another organization has not been registered (N in step S202), the processing of steps S203 to S210 is skipped. This example corresponds to the example of FIG.
  • the registered information acquisition unit 63 acquires data including the member retention information and the latest token received when the user registers as a member with another organization from the registered information transmission unit 52 of the terminal 3.
  • the member retention information transmitted by the registered information transmitting unit 52 for one other organization is the data shown in FIG. 7 minus the token and the token issuance time, and the registered information transmitting unit 52 and the information of each organization Sends the latest token separately.
  • the conversion parameter acquisition unit 64 acquires conversion parameters (specifically, member registration time) from the acquired data.
  • the specific unit 65 acquires specific data (specifically, an organization ID hash and a member ID hash) from the acquired data.
  • the token acquisition unit 66 acquires a token from the acquired data.
  • the authentication unit 68 acquires the registration data of another organization regarding this user specified by the acquired specific data stored in the distributed ledger (storage) of the distributed ledger node 2, and further acquires the registration data.
  • the hash TS of the latest token is acquired from the associated registration data (step S204).
  • the authentication unit 68 generates a hash TU of the latest token included in the data transmitted from the terminal 3 (step S205).
  • the authentication unit 68 compares the hash TS and the hash TU (step S206). When the hash TS and the hash TU are different (N in step S206), the authentication unit 68 notifies the terminal 3 of a message of authentication failure because the token of the terminal 3 is invalid (step S207).
  • the authentication unit 68 confirms whether the entire hash of the member information transmitted from the terminal 3 is appropriate. More specifically, the authentication unit 68 acquires the member information signature from the registration data of another organization (step S208). The authentication unit 68 verifies the member retention information (specifically, the entire member information hash) received from the terminal 3 for the other organization by using the member information signature of the other organization (step S209). Since verification based on an electronic signature is known as a technique for preventing falsification and spoofing, the description thereof will be omitted. If it is determined by the verification that the member retention information is invalid (N in step S210), the authentication unit 68 notifies the message of authentication failure (step S207).
  • the customer management system 1 New registration data is registered in the distributed ledger, and the following processing is executed in order to further store the member retention information and the like in the terminal 3.
  • the registration conversion parameter acquisition unit 71 acquires the conversion parameters for registration (specifically, the user's member registration time for the own organization) from the customer database 91 (step S212).
  • the new token issuing unit 72 issues a new token (step S213).
  • the registration data generation unit 73 adds a conversion parameter for registration to each attribute value of one or a plurality of attributes included in the user information, and also converts each of the one or a plurality of attributes for registration.
  • the hash R of the attribute value to which the parameter is added is generated, and the registration data generation unit 73 acquires the specific data (step S214).
  • the registration data generation unit 73 acquires specific data by generating hashes for the organization ID and the member ID by the same method.
  • the hash R and the specific data constitute a member information hash of the registered data.
  • the terminal 3 acquires the information (specifically, the organization ID and the member ID) necessary for generating the specific data from the customer management system 1. Then, the terminal 3 may generate a hash based on them and store it in the information storage unit 53.
  • the registration data generation unit 73 generates registration data including a member information hash consisting of a hash R for each of one or a plurality of attributes included in the user information, specific data, and a hash TN of a new token. Generate (step S215).
  • the registration data generated by the registration data generation unit 73 includes a member information signature which is an electronic signature of the entire member information hash, a signature public key, and identity verification.
  • the item and the digital signature of the hash TN of the token and the issue time of the token are included.
  • the entire member information hash is a hash value of data obtained by concatenating one or more hash Rs and specific data included in the member information hash.
  • the registration data generation unit 73 processes the attribute value of each of the one or a plurality of attributes included in the user information in advance according to a predetermined procedure, and the processed attribute value.
  • the hash R may be generated based on.
  • the registration data generation unit 73 may convert the acquired attribute value of the attribute related to the date into a predetermined format, and generate a hash R based on the converted attribute value.
  • the registration data generation unit 73 extracts a portion indicating a wider range such as a zip code or a local government name from the attribute values acquired for the attribute related to the address, and obtains a hash R based on the extracted portion. It may be generated, or a character string obtained by removing a standard description such as a joint-stock company from the attribute value acquired for the attribute related to the workplace may be acquired, and a hash R based on the character string may be generated.
  • the registration unit 74 When the registration data is generated, the registration unit 74 generates it in association with the registration data of another organization registered in the distributed ledger (this registration data is specified based on the specific data acquired by the specific unit 65). The registered data is registered in the distributed ledger of the distributed ledger node 2 (step S216). If the registration data of another organization does not exist, the registration unit 74 simply registers the generated registration data in the distributed ledger of the distributed ledger node 2 (step S216).
  • the terminal transmission unit 75 transmits data including a hash R for each of one or a plurality of attributes included in the user information, specific data, and a conversion parameter for registration to the user's terminal 3, and transmits the data. It is stored in the information storage unit 53 (step S217). Further, the terminal transmission unit 75 transmits the generated new token to the terminal 3 and stores the new token in the information storage unit 53 of the terminal 3 (step S218). Then, the process for membership registration is completed.
  • the registration data for multiple organizations registered for a certain user are associated with each other in the distributed ledger, and the registration data has a hash based on the customer's user information.
  • the registration data has a hash based on the customer's user information.
  • FIG. 13 is a flow chart showing a process for detecting a change in user information.
  • the process shown in FIG. 13 may be executed when the membership registration is performed, or may be executed at predetermined intervals (for example, once a month).
  • the comparison hash generation unit 81 acquires the user information input from the user and acquired by the user information acquisition unit 61 (step S401).
  • the comparison hash generation unit 81 may acquire the user information acquired by the user information acquisition unit 61 and stored in the customer database 91 in the customer management system 1.
  • the comparison hash generation unit 81 acquires the conversion parameter acquired by the conversion parameter acquisition unit 64 (step S402). Regarding this conversion parameter, the conversion parameter and other conversion parameters included in the member retention information received when the user registers as a member in another organization, which is transmitted from the user's terminal 3 in advance when the conversion parameter acquisition unit 64 registers as a member.
  • a hash based on the organization ID of the organization and a hash based on the member ID of another organization may be stored in the customer database 91 of the customer management system 1 in association with the user (see FIG. 19).
  • the comparison hash generation unit 81 acquires the conversion parameters and the organization ID associated with the user from the customer database 91.
  • the comparison hash generation unit 81 may acquire the organization ID of another organization and the member ID of another organization, that is, the specific data itself from the customer database 91.
  • the registration data acquisition unit 82 acquires the registration data registered for the user from the distributed ledger of the distributed ledger node 2 (step S403).
  • the registration data acquisition unit 82 may acquire the registration data of another organization based on the specific data of the other organization acquired by the specific unit 65.
  • the registration data acquisition unit 82 may acquire the registration data of another organization associated with the registration data based on the specific data that identifies the registration data.
  • the number of registered data to be acquired may be one or more, and the time when the registered data is registered (the token issuance time can be substituted) is the information of this user in the internal customer database 91 in the customer management system 1.
  • the registration data may be acquired only when it is after the registration time. Since the specific data acquired by the specific unit 65 is used for associating the registration data, the specific data acquired by the specific unit 65 plays an important role in acquiring the registration data of other organizations. There is.
  • the comparison unit 83 selects the first registered data among the acquired registered data (step S404). Then, the comparison hash generation unit 81 detects an attribute among the plurality of attributes that is included in the user information acquired in step S401 and that includes the hash CS in the member information hash of the selected registration data. (Step S405). The comparison hash generation unit 81 generates a hash CU based on the attribute value of the user information and the conversion parameter for the detected attribute (step S406). Of course, the hash CU is generated by the same method as the hash CS is generated. Further, the conversion parameters used for generating the hash CU are stored in the customer database 91 in association with the hash based on the organization ID included in the selected registration data or the specific data among the conversion parameters acquired in step S402. It is a thing.
  • the comparison unit 83 compares the hash CS included in the registered data with the hash CU for each of the detected attributes (step S407). If the hash CS and the hash CU have attributes that are not the same, the comparison unit 83 notifies (outputs) the attributes to the operator of the customer management system 1 (step S408). Then, when there is registered data of another organization that has not been selected yet (Y in step S409), the comparison unit 83 selects the next registered data (step S410), and repeats the processes after step S405. When all the registered data have been processed (N in step S409), the process shown in FIG. 13 ends.
  • the hash value based on the user information is stored in the external storage, and the user information itself is not stored.
  • the user information itself is shared by a plurality of organizations, it is possible to reduce data encryption according to a complicated protocol in order to prevent information leakage when exchanging data with the outside. That is, in the present embodiment, security can be ensured by a simple process. As a result, the load on the servers constituting the customer management system 1 can be reduced.
  • the customer management system 1 may change the registration data and the data stored in the terminal 3 even at the timing after the member registration and when the information on the attributes of the user is obtained.
  • FIG. 14 is a diagram illustrating a case where the organization B is used after registering as a member in the organization B, and is a diagram corresponding to FIG. FIG. 14 shows the interaction between the customer management system 1 and the user and the distributed ledger node 2 when the medical insurance certificate is confirmed, for example, at a medical institution.
  • the exchange shown in FIG. 14 is performed when the user's information is confirmed at the window of the organization or the like.
  • the exchange shown in FIG. 14 is also performed when there is no change in the user information.
  • the user's terminal 3 transmits the membership retention information and token of the own organization (organization B), and (2) presents the identity verification document such as the medical insurance card. Furthermore, when (3) organization B confirms the identity, the customer management system 1 searches (4) the latest registration data and the registration data of the own organization from the distributed ledger, and (5) the latest registration data and the registration of the own organization. Get the data. The customer management system 1 (6) acquires the hash TS of the token included in the latest registration data, authenticates the token input by the user, and (7) the member retention information transmitted from the terminal 3 is appropriate. Check if. Upon authentication and confirmation, the customer management system 1 issues (8) tokens and generates additional registration data to be added to the distributed ledger.
  • the customer management system 1 (9) adds additional registration data to the registration data of its own organization to the distributed ledger of the distributed ledger node 2, and (10) the customer management system 1 transmits a token to the user's terminal 3. ,
  • the token stored in the information storage unit 53 of the terminal 3 is updated.
  • the customer management system 1 also transmits the member retention information changed due to the change to the user's terminal 3 and stores it in the information storage unit 53 of the terminal 3.
  • FIG. 15 is a diagram showing an example of the registered data to be added
  • FIG. 16 is a diagram showing an example of the data passed to the user.
  • 15 and 16 are examples in the case where the user's information is not changed by the identity verification.
  • the items of numbers 1 to 7 have existed for a long time, and the items of numbers 8 to 11 are added to the registration data.
  • the member information hash is not added to the registration data of the example of FIG. 15, but an identity verification item indicating that the identity verification has been performed is added, and the hash of the token to be updated and related information are added. Further, only the token and the token issuance time are sent to the terminal 3.
  • 17 and 18 are flow charts showing processes executed by the customer management system 1 when the customer is used after membership registration.
  • the user information acquisition unit 61 acquires information regarding changes in user information transmitted from the terminal 3 (step S301).
  • This information is, for example, a changed attribute value of an attribute included in the user information, but is also information indicating an attribute for which the presence or absence of a change in the attribute value has been confirmed.
  • the registered information acquisition unit 63 acquires data including the member retention information of the user's own organization and the latest token, which is transmitted from the registered information transmission unit 52 of the terminal 3 (step S303).
  • the conversion parameter acquisition unit 64 may acquire conversion parameters from the transmitted data, or may acquire conversion parameters stored in association with the user in the customer database 91 inside the customer management system 1.
  • the specific unit 65 may acquire specific data from the acquired data, or may acquire specific data from information such as an organization ID and a member ID stored in the customer database 91.
  • the token acquisition unit 66 acquires a token from the acquired data.
  • the authentication unit 68 acquires the hash TS of the latest token from one or more registered data registered for this user stored in the distributed ledger (storage) of the distributed ledger node 2 (step S304). ).
  • the authentication unit 68 generates a hash TU of the latest token included in the data transmitted from the terminal 3 (step S305).
  • the authentication unit 68 compares the hash TS and the hash TU (step S306). When the hash TS and the hash TU are different (N in step S306), the authentication unit 68 notifies the terminal 3 of a message of authentication failure because the token of the terminal 3 is invalid (step S307).
  • the authentication unit 68 confirms whether the entire hash of the member information transmitted from the terminal 3 is appropriate. More specifically, the authentication unit 68 acquires the member information signature from the registration data of its own organization (or another organization) (step S308). Then, the authentication unit 68 verifies the member retention information (specifically, the entire member information hash) received from the terminal 3 for that organization by using the member information signature of its own organization (or another organization) (step S309). If it is determined by the verification that the member retention information is invalid (N in step S310), the authentication unit 68 notifies the message of authentication failure (step S307).
  • the customer management system 1 When the member retention information is determined to be correct by the electronic signature (Y in step S310), the customer management system 1 adds data to the registration data of its own organization for this user in the distributed ledger, and further adds data to the terminal 3. Execute the following process to store a new token etc.
  • the new token issuing unit 72 issues a new token (step S313).
  • the registration data generation unit 73 generates a hash R based on the attribute value of the changed attribute and the conversion parameter for registration (here, the member registration time). Generate (step S314).
  • the registration data generation unit 73 includes information indicating an attribute for which the presence or absence of change has been confirmed (identity verification item in FIG. 15), a hash R for the changed attribute, and one or more of the user information. Additional registration data including the hash R for each of the attributes and the hash TN of the new token is generated (step S315). The hash R is included in the additional registration data only when the attribute value is changed. In addition, when the attribute value is changed, the additional registration data further includes a member information signature which is an electronic signature of the entire member information hash based on the attribute value of each attribute including the changed attribute value.
  • the registration unit 74 adds the generated additional registration data to the registered registration data of the own organization registered in the distributed ledger (step S316).
  • the terminal transmission unit 75 sends the member retention information including the entire member information hash based on the hash R for each of one or a plurality of attributes included in the user information to the user's terminal 3. Is transmitted to, and the data is stored in the information storage unit 53 (step S317). Further, the terminal transmission unit 75 transmits the issued new token to the terminal 3 and causes the information storage unit 53 of the terminal 3 to set the new token (step S318).
  • the registration data of the distributed ledger is additionally updated in response to identity verification and changes in user information that occur other than membership registration, and the additional registration data is used as the latest registration data by other organizations in the process shown in FIG. By substituting the items for processing, it becomes easier for other organizations to detect changes in attributes such as the user's occupation and address.
  • the token set in the terminal 3 is shared by a plurality of organizations, and the token is verified and updated at the timing of using the actual window other than the member registration.
  • the token is updated relatively securely and at a certain frequency.
  • This token may be used not only for the timing of registering or changing customer information, but also for logging in to services online.
  • the token may be further authenticated by the process corresponding to steps S303 to S307 in FIG.
  • the embodiment of the present invention is not limited to that described so far.
  • token issuance, token storage in the distributed ledger and terminal 3 and token authentication may not be performed, and membership retention information may not necessarily be verified. It suffices if security can be ensured by other appropriate authentication means.
  • a distributed ledger instead of a plurality of distributed ledger nodes 2, an integrated database server may be installed, a plurality of customer management systems 1 may store registration data in the database, and the registration data may be read from the database.
  • 1,1a, 1b, 1c Customer management system, 2,2a, 2b Distributed ledger node, 3 terminals, 11 processors, 12 storage units, 13 communication units, 14 input / output units, 51 user information transmission units, 52 registered information Transmission unit, 53 Information storage unit, 61 User information acquisition unit, 62 Registered information acquisition unit, 63 Registered information acquisition unit, 64 Conversion parameter acquisition unit, 65 Specific unit, 66 Token acquisition unit, 68 Authentication unit, 71 Registration conversion Parameter acquisition unit, 72 new token issue unit, 73 registration data generation unit, 74 registration unit, 75 terminal transmission unit, 81 comparison hash generation unit, 82 registration data acquisition unit, 83 comparison unit, 84 change notification unit, 91 customer database.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

ユーザ情報の変化をより容易に検出する。 ユーザ情報管理システムは、端末から、ネットワーク上のストレージに格納される複数の登録データのうちいずれかを特定する特定情報であって、ユーザの複数の属性のうち1または複数のそれぞれについての過去の属性値に基づくハッシュ値を含む登録データを特定する特定情報を取得し(S203)、前記ユーザの複数の属性のうち1または複数のそれぞれについての属性値を取得し(S201)、前記1または複数の属性のそれぞれについて、前記取得された属性値に基づくハッシュ値を生成し(S406)、前記特定情報に基づいて、前記ストレージから登録データを取得し(S403)、前記取得された登録データにハッシュ値が含まれる属性でありかつ前記属性値が取得された属性について、前記生成されたハッシュ値と、前記取得されたハッシュ値とを比較する(S407)。

Description

ユーザ情報管理システム、ユーザ情報管理方法およびプログラム
 本発明はユーザ情報管理システム、ユーザ情報管理方法およびプログラムに関する。
 様々な企業において、登録されたユーザのユーザ情報を管理している。
 特許文献1には、第1のコンピュータが、保管されたユーザ情報(個人情報)を第2のコンピュータが復号可能なように暗号化し、第2のコンピュータが分散型台帳データベースを介して暗号化されたユーザ情報を取得することが開示されている。
国際公開第2018/043599号
 ユーザの転居や転職などによりユーザ情報が変化することがある。現状ではコストなどの事情から企業が定期的にユーザ情報の変化を確認することは難しく、登録されたユーザからの申告以外の方法でユーザ情報の変化を知ることができなかった。複数の企業でユーザ情報を共有することも考えられるが、ユーザ情報の特性から、例えばユーザ本人の同意および同意書の保管が必要になるため、企業の負担が大きくなってしまう。
 本発明は上記課題を鑑みてなされたものであって、その目的は、ユーザ情報の変化をより容易に検出する技術を提供することにある。
 上記課題を解決するために、本発明にかかるユーザ情報管理システムは、複数の端末のうちいずれかから、ネットワークを介して接続されるストレージに格納される複数の登録データのうちいずれかを特定する特定情報であって、ユーザの複数の属性のうち1または複数のそれぞれについての過去の属性値に基づくハッシュ値を含む登録データを特定する特定情報を取得する特定手段と、前記複数の端末のうち前記いずれかから、前記ユーザの複数の属性のうち1または複数のそれぞれについての属性値を取得する属性取得手段と、前記1または複数の属性のそれぞれについて、前記取得された属性値に基づくハッシュ値を生成するハッシュ生成手段と、前記特定情報に基づいて、前記ストレージから登録データを取得する登録データ取得手段と、前記取得された登録データにハッシュ値が含まれる属性でありかつ前記属性取得手段により属性値が取得された属性について、前記生成されたハッシュ値と、前記取得されたハッシュ値とを比較する比較手段と、前記比較の結果に基づいて、前記比較された属性の属性値に変更があったか否かを示す情報を出力する変更出力手段と、を含む。
 また、本発明にかかるユーザ情報管理方法は、複数の端末のうちいずれかから、ネットワークを介して接続されるストレージに格納される複数の登録データのうちいずれかを特定する特定情報であって、ユーザの複数の属性のうち1または複数のそれぞれについての過去の属性値に基づくハッシュ値を含む登録データを特定する特定情報を取得するステップと、前記複数の端末のうち前記いずれかから、前記ユーザの複数の属性のうち1または複数のそれぞれについての属性値を取得するステップと、前記1または複数の属性のそれぞれについて、前記取得された属性値に基づくハッシュ値を生成するステップと、前記特定情報に基づいて、前記ストレージから登録データを取得するステップと、前記取得された登録データにハッシュ値が含まれる属性でありかつ前記属性値が取得された属性について、前記生成されたハッシュ値と、前記取得されたハッシュ値とを比較するステップと、前記比較の結果に基づいて、前記比較された属性の属性値に変更があったか否かを示す情報を出力するステップと、を含む。
 また、本発明にかかるプログラムは、複数の端末のうちいずれかから、ネットワークを介して接続されるストレージに格納される複数の登録データのうちいずれかを特定する特定情報であって、ユーザの複数の属性のうち1または複数のそれぞれについての過去の属性値に基づくハッシュ値を含む登録データを特定する特定情報を取得する特定手段、前記複数の端末のうち前記いずれかから、前記ユーザの複数の属性のうち1または複数のそれぞれについての属性値を取得する属性取得手段、前記1または複数の属性のそれぞれについて、前記取得された属性値に基づくハッシュ値を生成するハッシュ生成手段、前記特定情報に基づいて、前記ストレージから登録データを取得する登録データ取得手段、前記取得された登録データにハッシュ値が含まれる属性でありかつ前記属性取得手段により属性値が取得された属性について、前記生成されたハッシュ値と、前記取得されたハッシュ値とを比較する比較手段、および、前記比較の結果に基づいて、前記比較された属性の属性値に変更があったか否かを示す情報を出力する変更出力手段、としてコンピュータを機能させる。
 本発明によれば、ユーザ情報の変化をより容易に検出することができる。
 本発明の一態様では、ユーザ情報管理システムは、前記ユーザの複数の属性のうち前記1または複数のそれぞれについて前記属性取得手段により取得された属性値に基づくハッシュ値を含む登録データを、前記特定情報により特定される登録データに関連付けて前記ストレージに格納する登録手段をさらに含んでもよい。
 本発明の一態様では、ユーザ情報管理システムは、前記いずれかの端末から、前記ユーザの複数の属性のうち1または複数のそれぞれについて過去の属性値からハッシュ値を生成するための変換パラメータを取得するパラメータ取得手段をさらに含み、前記ハッシュ生成手段は、前記1または複数の属性のそれぞれについて、前記取得された変換パラメータに基づいて前記取得された属性値を変換し、前記変換された属性値のハッシュ値を生成してもよい。
 本発明の一態様では、前記変換パラメータは、前記ユーザの登録に関する時刻であり、前記ハッシュ生成手段は、前記取得された属性値に前記時刻を付加することにより前記属性値を変換してもよい。
 本発明の一態様では、ユーザ情報管理システムは、登録変換パラメータを取得する登録変換パラメータ取得手段と、前記1または複数の属性のそれぞれについて、前記取得された登録変換パラメータに基づいて前記取得された属性値を変換し、前記変換された属性値のハッシュ値を含む登録データを生成する登録データ生成手段と、前記ユーザの端末に前記登録変換パラメータを送信し、前記ユーザの端末に前記登録変換パラメータを格納させる送信手段と、をさらに含み、前記登録データ生成手段により生成されるハッシュ値を含む登録データは、前記ストレージに格納されてもよい。
 本発明の一態様では、ユーザ情報管理システムは、前記ユーザの端末が格納するトークン情報を新トークン情報に更新させるトークン更新手段をさらに含み、前記登録手段は、前記新トークン情報に基づいて生成されたハッシュ値であるトークンハッシュをさらに含む登録データを前記ストレージに格納し、ユーザ情報管理システムは、前記ユーザの端末から前記トークン情報を取得するトークン取得手段と、前記取得されたトークンに基づくハッシュ値であるトークンハッシュを生成し、当該生成されたトークンハッシュと、前記ストレージに格納される登録データに含まれるトークンハッシュとが異なる場合に、前記ユーザにトークン情報が異なることを示す警告情報を出力するトークン認証手段と、をさらに含んでよい。
 本発明の一態様では、ユーザ情報管理システムは、前記ユーザの複数の属性のうち前記1または複数のそれぞれについて前記属性取得手段により取得された属性値に基づくハッシュ値を含む登録データを生成する登録データ生成手段とさらに含み、前記登録データ生成手段は、前記ユーザの複数の属性のうち所定の属性について取得された属性値を所定のルールに従って変換し、前記変換された属性値に基づくハッシュ値を生成してもよい。
 本発明の一態様では、前記登録データ生成手段は、前記ユーザの複数の属性のうち日付に関する属性について取得された属性値を所定のフォーマットに変換してもよい。
 本発明の一態様では、前記登録データ生成手段は、前記ユーザの複数の属性のうち住所または勤務先に関する属性について取得された属性値の一部を抽出し、前記抽出された属性値に基づくハッシュ値を生成してもよい。
本発明の実施形態にかかる顧客管理システムと他のシステムとの関係を示す図である。 顧客管理システムを構成するサーバのハードウェア構成を示す図である。 顧客管理システムおよび端末が実現する機能を示すブロック図である。 組織による情報の取得および登録の一例を示す図である。 ユーザが初めて組織Aに対して会員登録をする場合を説明する図である。 組織Aの会員登録の際に登録される登録データの一例を示す図である。 ユーザへ渡されるデータの一例を示す図である。 ユーザが組織Aに対して会員登録した後に組織Bに対して会員登録をする場合を説明する図である。 組織Bの会員登録の際に登録される登録データの一例を示す図である。 ユーザへ渡されるデータの一例を示す図である。 顧客管理システムが会員登録の際に実行する処理を示すフロー図である。 顧客管理システムが会員登録の際に実行する処理を示すフロー図である。 ユーザ情報の変更の検出にかかる処理を示すフロー図である。 組織Bに会員登録後に組織Bを利用する場合を説明する図である。 追加される登録データの一例を示す図である。 ユーザへ渡されるデータの一例を示す図である。 顧客管理システムが会員登録後の顧客の利用の際に実行する処理を示すフロー図である。 顧客管理システムが会員登録後の顧客の利用の際に実行する処理を示すフロー図である。 顧客データベースに格納されるデータの一例を示す図である。
 以下では、本発明の実施形態を図面に基づいて説明する。同じ符号を付された構成に対しては、重複する説明を省略する。本実施形態では、複数の組織(例えば証券会社、病院、商店など)のそれぞれが顧客管理システムを有している。また複数の組織のそれぞれは身分証などを確認する窓口や部署を有し、その組織はその窓口等を介してユーザの本人確認をし、その本人確認の際に取得したユーザ情報を顧客管理システムの内に保管し管理している。ユーザ情報は、いわゆる個人情報を含んでよい。
 図1は、本発明の実施形態にかかる顧客管理システムと他のシステムとの関係を示す図である。顧客管理システム1a,1b,1cは、それぞれ互いに異なる組織が使用するものである。分散型台帳ノード2a,2b,2cはそれぞれ顧客管理システム1a,1b,1cに対応して設けられている。複数の端末3はユーザにより操作されるスマートフォンなどのコンピュータであってもよいし、組織に配置される据え置き型のコンピュータであってもよい。以下では、顧客管理システム1a,1b,1cを総称して顧客管理システム1と記載する。図1には3つの顧客管理システム1が記載されているが、顧客管理システム1の数はいくつであってもよい。
 分散型台帳ノード2a,2b,2cは、それぞれ顧客管理システム1a,1b,1cとネットワークを介して接続されている。分散型台帳ノード2a,2b,2cを総称して分散型台帳ノード2と記載する。分散型台帳ノード2のそれぞれは、1または複数のサーバコンピュータにより構成されている。分散型台帳ノード2は、分散型台帳管理技術(DLT)、いわゆるブロックチェーン技術を用いたストレージ(分散型台帳)を提供する。いずれかの分散型台帳ノード2に格納されるデータが変更されると、他の分散型台帳ノード2にもその変更が反映され、どの分散型台帳ノード2に格納されるデータは常に同期されている。分散型台帳ノード2の分散型台帳には、複数の登録データが格納される。登録データの詳細については後述する。分散型台帳ノード2の数は1以上のいくつであってもよく、複数の顧客管理システム1が1つの分散型台帳ノード2に接続されてもよい。
 図2は、顧客管理システム1のハードウェア構成の一例を示す図であり、顧客管理システム1が一つのサーバコンピュータにより構成される場合の例である。顧客管理システム1は、プロセッサ11、記憶部12、通信部13、入出力部14を含む。顧客管理システム1は複数のサーバコンピュータにより実現されてもよい。
 プロセッサ11は、記憶部12に格納されているプログラムに従って動作する。またプロセッサ11は通信部13、入出力部14を制御する。なお、上記プログラムは、インターネット等を介して提供されるものであってもよいし、フラッシュメモリやDVD-ROM等のコンピュータで読み取り可能な記憶媒体に格納されて提供されるものであってもよい。
 記憶部12は、RAMおよびフラッシュメモリ等のメモリ素子とハードディスクドライブのような外部記憶装置とによって構成されている。記憶部12は、上記プログラムを格納する。また、記憶部12は、各部から入力される情報や演算結果を格納する。
 通信部13は、他の装置と通信する機能を実現するものであり、例えば有線LANの集積回路などにより構成されている。通信部13は、プロセッサ11の制御に基づいて、他の装置から受信した情報をプロセッサ11や記憶部12に入力し、他の装置に情報を送信する。
 入出力部14は、表示出力デバイスをコントロールするビデオコントローラや、入力デバイスからのデータを取得するコントローラなどにより構成される。入力デバイスとしては、キーボード、マウス、タッチパネルなどがある。入出力部14は、プロセッサ11の制御に基づいて、表示出力デバイスに表示データを出力し、入力デバイスをユーザが操作することにより入力されるデータを取得する。表示出力デバイスは例えば外部に接続されるディスプレイ装置である。
 端末3と分散型台帳ノード2を構成するサーバコンピュータとは、顧客管理システム1と同様に、プロセッサ11、記憶部12、通信部13、入出力部14を含む。
 図3は、顧客管理システム1および端末3が実現する機能を示すブロック図である。端末3は、機能的に、ユーザ情報送信部51、既登録情報送信部52、情報格納部53を含む。これらの機能は、端末3に含まれるプロセッサ11が記憶部12に格納されるプログラムを実行し、通信部13などを制御することにより実現される。
 ユーザ情報送信部51は、顧客管理システム1へ向けて、ユーザ情報を送信する。ユーザ情報は、会員登録に必要な情報であり、例えば健康保険証や身分証明書に記載された氏名、住所、職業のような1または複数の属性のそれぞれについての属性値を含む。属性値の設定が可能な複数の属性は予め定められており、ユーザ情報には、その複数の属性のうち1または複数についての属性値が格納されている。ユーザ情報に、身分証明書に記載されておらずかつユーザが入力したユーザ情報(ユーザの属性の属性値)が含まれていてもよい。
 既登録情報送信部52は、顧客管理システム1へ向けて、すでに登録されている組織についての会員保持情報および最新のトークンを送信する。会員保持情報には、分散型台帳ノード2に登録されているデータを特定するための特定データと、変換パラメータとして用いられる情報が含まれている。会員保持情報、特定データ、変換パラメータおよびトークンの詳細は後述する。
 情報格納部53は、顧客管理システム1からいずれかの組織に登録されたユーザについての会員保持情報およびトークンを受信し、受信された会員保持情報および最新のトークンを記憶部12に格納する。
 顧客管理システム1は、機能的に、ユーザ情報取得部61、既登録情報取得部63、認証部68、登録変換パラメータ取得部71、新トークン発行部72、登録データ生成部73、登録部74、端末送信部75、比較ハッシュ生成部81、登録データ取得部82、比較部83、変更通知部84、顧客データベース91を含む。また既登録情報取得部63は、変換パラメータ取得部64、特定部65、トークン取得部66を含む。これらの機能は、顧客管理システム1に含まれるプロセッサ11が記憶部12に格納されるプログラムを実行し、通信部13を制御しつつ計算結果等を記憶部12に格納することにより実現される。
 ユーザ情報取得部61は、端末3のユーザ情報送信部51から送信される、ユーザ情報を取得する。既登録情報取得部62は、既登録情報送信部52から送信される会員保持情報および最新のトークンを受信する。より具体的には、変換パラメータ取得部64は会員保持情報に含まれる変換パラメータを取得し、特定部65は会員保持情報に含まれる特定データを取得する。またトークン取得部66は、端末3から送信されるトークンを取得する。
 認証部68は、トークン取得部66が取得したトークンと、分散型台帳ノード2のストレージに格納される最新のトークンのハッシュ値とに基づいて、ユーザを認証する。
 顧客データベース91は、主に記憶部12により実現され、ユーザ情報取得部61が取得したユーザ情報と、特定データを示す情報と、を格納する。
 登録変換パラメータ取得部71は、ユーザ情報から登録データに含まれるハッシュ値を生成する際に用いられる属性値の変換パラメータを取得する。登録データは分散型台帳ノード2に登録されるデータである。新トークン発行部72は、新たなトークンを発行する。登録データ生成部73は、登録データを生成する。登録データは、ユーザ情報に含まれる1または複数の属性の属性値に基づくハッシュ値、特定データ、新たなトークンのハッシュ値を含む。登録部74は、生成された登録データを分散型台帳ノード2に登録する。端末送信部75は、会員保持情報を端末3へ送信し、情報格納部53に格納させる。また端末送信部75は新たなトークンを端末3へ送信し、情報格納部53に含まれるトークンを更新させる。
 次に、顧客管理システム1の理解を容易にするために、顧客管理システム1を用いた顧客情報の管理の背景について説明する。図4は、組織による情報の取得および登録の一例を示す図である。ここでは、各組織が顧客の本人確認を行い、その各組織の顧客管理システム1がその本人確認の際に取得したユーザ情報を分散型台帳ノード2が提供する分散型台帳に登録するものとする。この本人確認は、いわゆるKYC(Know Your Customer)の要件にしたがって行われるものを含んでいる。
 組織Aはオンライン証券を提供する会社であり、会員登録の際に実在の部署が身分証明書の確認と郵送による住所の確認とを行うことにより本人確認をし、本人確認がされたユーザの属性である、氏名、生年月日、住所、職業に関する情報(具体的には氏名等の属性値に基づくハッシュ値)を分散型台帳へ登録する。組織Bは医療機関であり、会員登録の一種である患者登録の際に医療保険証を確認するだけでなく、ユーザが医療機関を利用する際に最大で月に1回の頻度で医療保険証を確認する。分散型台帳には、氏名、職業、生年月日、および生存の有無に関する情報(具体的には氏名等の属性値に基づくハッシュ値)が登録される。組織Cは小売店舗または飲食店であり、店舗利用の際に会員カードを確認し、生存の有無に関する情報を分散型台帳に登録する。組織Dは通信会社であり、請求書を郵送し、それに対する支払いがあった場合に、そのユーザの氏名および住所は実在するとして分散型台帳へそれらに関する情報を登録する。
 次に、顧客管理システム1の処理の理解を容易にするために、その顧客管理システム1にかかわる通信等の概要について説明する。図5は、ユーザが初めて組織Aに対して会員登録をする場合を説明する図である。ユーザと組織Aとの間でやり取りされる情報(および本人確認に関連する書類等)、顧客管理システム1の処理の概要、および分散型台帳とのやりとりの概要について説明する。図5の例では、会員登録の際はじめに、(1)ユーザはオンラインで会員登録を依頼するとともに、本人確認のための本人確認書類を送付する。(2)組織Aが本人確認をすると、(3)顧客管理システム1はユーザの端末3から入力される、または、顧客管理システム1内の端末により本人確認情報から抽出されるユーザ情報を取得し、トークンを発行するとともに分散型台帳へ登録する登録データを生成する。トークンは、自組織および他組織を利用する際に認証に用いられる。
 図6は、組織Aの会員登録の際に登録される登録データの一例を示す図である。登録データは、会員情報ハッシュ、会員情報署名、署名公開鍵、本人確認項目、トークンのハッシュ、トークンの署名、トークン発行時刻を含む。図6の内容欄において、関数hは引数からハッシュ関数により生成されるハッシュ値を示し、関数sigは引数とその組織の秘密鍵とから生成される電子署名を示す。署名公開鍵は、その電子署名に用いられた秘密鍵のペアとなる公開鍵であり、登録データには署名公開鍵としてその公開鍵を含む電子証明書が含まれてよい。
 会員情報ハッシュは、ユーザの1または複数の属性のそれぞれの属性値についてのハッシュ値を含み、具体的には、本人確認された1または複数の属性のそれぞれの属性値に変換パラメータを追加することで生成されるデータのハッシュ値を含む。また、会員情報ハッシュは、会員を特定する情報、かつ、登録データを特定する情報として組織IDおよび会員IDに基づくハッシュ値も含む。
 登録データが生成されると、顧客管理システム1は(4)登録データを分散型台帳ノード2の分散型台帳に登録し、さらに(5)会員保持情報およびトークンをユーザの端末3へ送信し、端末3の情報格納部53へ格納させる。
 図7は、ユーザへ渡されるデータの一例を示す図である。顧客管理システム1は、ユーザの端末3へ、会員保持情報として組織IDのハッシュ、会員IDのハッシュ、会員情報の全体に対するハッシュ、会員登録時刻を送信する。また顧客管理システム1は、ユーザの端末3へ、トークンとトークン発行時刻も送信する。
 組織IDのハッシュおよび会員IDのハッシュは、分散型台帳に登録される登録データを特定する特定データでもある。会員登録時刻とは、ユーザが組織Aの会員として組織Aの顧客管理システム1に登録される時刻をいう。また、会員登録時刻は、顧客管理システム1が会員情報の属性値に基づくハッシュを生成する際に、そのデータに追加される変換パラメータでもある。会員情報の属性値に基づくハッシュは、変換パラメータが追加されたデータのハッシュ値である。変換パラメータは分散型台帳には格納されていないので、変換パラメータを第三者が取得することは難しく、いわゆる辞書攻撃によりハッシュ値から実際の値を解読されることを防ぐことができる。また、顧客管理システム1は会員情報の全体に対するハッシュが、登録データの会員情報署名と整合するか確認することにより、端末3の情報が適正であるか確認する。
 図8は、ユーザが組織Aに対して会員登録した後に組織Bに対して会員登録をする場合を説明する図であり、図5に対応する図である。図8の例では、会員登録の際はじめに、(1)ユーザは窓口で会員登録を依頼するとともに、本人確認のための本人確認書類を提示し、さらに(2)他組織(組織A)の会員保持情報およびトークンを送信する。(3)組織Bが本人確認をすると、顧客管理システム1は(4)他組織の会員保持情報に含まれる特定データを取得し、その特定データに基づいて分散型台帳を検索し、(5)他組織の登録データを取得する。顧客管理システム1は(6)他組織の最新の登録データに含まれるトークンのハッシュTSを取得し、ユーザから入力されたトークンを認証し、さらに(7)ユーザから入力される会員保持情報が適正であるか確認する。認証および確認がされると、顧客管理システム1は(8)トークンを発行するとともに分散型台帳へ登録する登録データを生成する。顧客管理システム1は(9)登録データを分散型台帳ノード2の分散型台帳に、他組織の登録データに関連付けて登録し、さらに(10)会員保持情報およびトークンをユーザの端末3へ送信し、端末3の情報格納部53へ格納させる。
 図9は、組織Bの会員登録の際に登録される登録データの一例を示す図であり、図10はユーザへ渡されるデータの一例を示す図である。図6および7の例との大きな違いは、組織Aと組織Bとで会員情報ハッシュに格納されるユーザの属性が異なる、より具体的には住所に基づくハッシュがない点である。また、トークンおよびそのハッシュは図6,7の例より新しく、変換パラメータは組織Bについての会員登録時刻であり、組織Aについての変換パラメータとは値が異なっている。
 次に、これまでに説明した情報のやり取りを実現する処理の詳細について説明する。図11,12は、顧客管理システム1が会員登録の際に実行する処理を示すフロー図である。はじめに、ユーザ情報取得部61は、端末3から送信されたユーザ情報を取得する(ステップS201)。ユーザ情報は、例えば、氏名や住所、職業である。取得されるユーザ情報の項目は、組織に応じて異なってよい。また、ユーザ情報取得部61は、ユーザ情報をそのユーザを識別する会員IDと関連付けて顧客データベース91に格納する。
 図19は顧客データベース91に格納されるデータの一例を示す図である。図19は、組織Bに登録される1つのユーザについて顧客データベース91に格納されるデータを示している。格納されるユーザのデータは、会員IDと、氏名、職業などのユーザ情報と、会員登録時刻と、他組織のそれぞれに関する情報とを含む。他組織のそれぞれに関する情報は、組織IDに基づくハッシュ(図19の「他組織1組織ID」参照)と、他組織におけるユーザの会員IDに基づくハッシュ(図19の「他組織1会員ID」参照)と、他組織における変換パラメータ(図19の「他組織1変換パラメータ」参照)とを含む。他組織の組織IDに基づくハッシュと、他組織におけるユーザの会員IDに基づくハッシュとは、特定データを構成する。また、顧客データベース91に格納される会員IDは、自組織の登録データを特定する特定データを示す情報でもある。会員IDから、会員IDに基づくハッシュ値と自組織の組織IDに基づくハッシュ値とからなる特定データを生成することができるからである。
 そして、既登録情報取得部63は、他組織について会員登録されているか否かを判定する(ステップS202)。より具体的には、既登録情報取得部63は、端末3の既登録情報送信部52から取得した、他組織の会員情報の有無を示す情報に基づいて、このユーザが他組織について会員登録されているか否かを判定する。他組織の会員情報の有無を示す情報は、単に既登録情報送信部52から会員保持情報を受信したか否かを示す情報であってもよい。他組織について会員登録がされた場合には(ステップS202のY)、既登録情報取得部63および認証部68はステップS203からステップS210の処理を実行する。このケースは図8の例に相当する。他組織について会員登録がされていない場合には(ステップS202のN)、ステップS203からステップS210の処理はスキップされる。こちらの例は図5の例に相当する。
 ステップS203では、既登録情報取得部63は端末3の既登録情報送信部52から、ユーザが他組織に会員登録をした際に受け取った会員保持情報と最新のトークンとを含むデータを取得する。既登録情報送信部52が1つの他組織について送信する会員保持情報は、図7に示されるデータからトークンおよびトークン発行時刻を除いたものであり、既登録情報送信部52は各組織の情報とは別に最新のトークンを送信する。変換パラメータ取得部64は、取得されたデータから変換パラメータ(具体的には会員登録時刻)を取得する。特定部65は、取得されたデータから特定データ(具体的には組織IDハッシュおよび会員IDハッシュ)を取得する。トークン取得部66は、取得されたデータからトークンを取得する。
 次に、認証部68は、分散型台帳ノード2の分散型台帳(ストレージ)に格納される、取得された特定データにより特定されるこのユーザに関する他組織の登録データを取得し、さらにその登録データまたは関連付けられた登録データから最新のトークンのハッシュTSを取得する(ステップS204)。認証部68は、端末3から送信されたデータに含まれる最新のトークンのハッシュTUを生成する(ステップS205)。認証部68は、ハッシュTSとハッシュTUとを比較する(ステップS206)。ハッシュTSとハッシュTUとが異なる場合は(ステップS206のN)、認証部68は端末3のトークンは不正であるので、認証失敗のメッセージを端末3に向けて通知する(ステップS207)。
 一方、ハッシュTSとハッシュTUとが同じ場合は(ステップS206のN)、認証部68は端末3から送信された会員情報全体ハッシュが適正であるか確認する。より具体的には、認証部68は、他組織の登録データから会員情報署名を取得する(ステップS208)。認証部68は他組織の会員情報署名を用いて、その他組織について端末3から受け取った会員保持情報(具体的には会員情報全体ハッシュ)を検証する(ステップS209)。電子署名に基づく検証については、改ざんやなりすましを防ぐ技術として公知であるので説明を省略する。検証により会員保持情報が不正であると判断された場合には(ステップS210のN)、認証部68は認証失敗のメッセージを通知する(ステップS207)。
 他組織の会員登録がされていないと判定された場合(ステップS206のN)、または、電子署名により会員保持情報が正しいと判断された場合(ステップS210のY)には、顧客管理システム1は分散型台帳に新たな登録データを登録し、さらに端末3に会員保持情報などを格納させるために以下の処理を実行する。
 はじめに、登録変換パラメータ取得部71は、例えば顧客データベース91から、登録用の変換パラメータ(具体的には自組織についてのユーザの会員登録時刻)を取得する(ステップS212)。新トークン発行部72は新たなトークンを発行する(ステップS213)。登録データ生成部73は、ユーザ情報に含まれる1または複数の属性のそれぞれの属性値に対して、登録用の変換パラメータを追加し、またその1または複数の属性のそれぞれについて、登録用の変換パラメータが追加された属性値のハッシュRを生成し、登録データ生成部73は、特定データを取得する(ステップS214)。登録データ生成部73は、組織IDと会員IDについて同様の手法でハッシュを生成することにより特定データを取得する。なお、ハッシュRおよび特定データは登録データの会員情報ハッシュを構成する。なお、顧客管理システム1の登録データ生成部73が特定データを生成する代わりに、端末3が顧客管理システム1から特定データの生成に必要な情報(具体的には組織IDおよび会員ID)を取得し、端末3がそれらに基づくハッシュを生成し、情報格納部53に格納してもよい。
 次に、登録データ生成部73は、ユーザ情報に含まれる1または複数の属性のそれぞれについてのハッシュRからなる会員情報ハッシュと、特定データと、新たなトークンのハッシュTNと、を含む登録データを生成する(ステップS215)。図6,9からわかるように、登録データ生成部73により生成される登録データには、上記のものに加え、会員情報全体ハッシュの電子署名である会員情報署名と、署名公開鍵と、本人確認項目と、トークンのハッシュTNの電子署名とトークンの発行時刻とが含まれている。会員情報全体ハッシュは、会員情報ハッシュに含まれる1または複数のハッシュRおよび特定データを連結したデータのハッシュ値である。
 ここで、登録データ生成部73は、ユーザ情報に含まれる1または複数の属性のそれぞれのうち予め定められた属性について、予め定められた手順にしたがってその属性値を加工し、加工された属性値に基づいてハッシュRを生成してもよい。例えば、登録データ生成部73は、日付に関する属性について、取得された属性値を所定のフォーマットに変換し、変換された属性値に基づいてハッシュRを生成してもよい。また、登録データ生成部73は、住所に関する属性について取得された属性値のうち、郵便番号や地方自治体名などのより広範な範囲を示す部分を抽出し、前記抽出された部分に基づくハッシュRを生成してもよいし、勤務先に関する属性について取得された属性値から、株式会社などの定型的な記載を取り除いた文字列を取得し、その文字列に基づくハッシュRを生成してもよい。
 登録データが生成されると、登録部74は、分散型台帳に登録された他組織の登録データ(この登録データは特定部65が取得した特定データに基づいて特定される)に関連付けて、生成された登録データを分散型台帳ノード2の分散型台帳に登録する(ステップS216)。なお、他組織の登録データが存在しない場合には、登録部74は単に生成された登録データを分散型台帳ノード2の分散型台帳に登録する(ステップS216)。
 そして、端末送信部75は、ユーザ情報に含まれる1または複数の属性のそれぞれについてのハッシュRと、特定データと、登録用変換パラメータとを含むデータをユーザの端末3へ送信し、そのデータを情報格納部53に格納させる(ステップS217)。また端末送信部75は生成された新たなトークンを端末3へ送信し、その新たなトークンを端末3の情報格納部53に格納させる(ステップS218)。そして、会員登録にかかる処理が終了する。
 これまでに説明した会員登録の処理により、分散型台帳にはあるユーザについて登録される複数の組織についての登録データが互いに関連付けられ、しかも、その登録データには、顧客のユーザ情報に基づくハッシュが含まれている。顧客管理システム1がユーザから取得した複数の属性の属性値と、登録データに含まれるハッシュと、から、ユーザの住所などの属性が変更されたか否かをより簡易かつ確実に認識することが可能である。以下ではその手法について説明する。
 図13は、ユーザ情報の変更の検出にかかる処理を示すフロー図である。図13に示される処理は、会員登録が行われる際に実行されてもよいし、予め定められた期間ごとに(例えば月に1回)実行されてもよい。
 はじめに、比較ハッシュ生成部81は、ユーザから入力されユーザ情報取得部61が取得したユーザ情報を取得する(ステップS401)。比較ハッシュ生成部81は、ユーザ情報取得部61が取得し、顧客管理システム1内の顧客データベース91に格納したユーザ情報を取得してよい。次に、比較ハッシュ生成部81は、変換パラメータ取得部64により取得された変換パラメータを取得する(ステップS402)。この変換パラメータに関して、予め変換パラメータ取得部64が、会員登録の際にユーザの端末3から送信される、ユーザが他組織に会員登録をした際に受け取った会員保持情報に含まれる変換パラメータと他組織の組織IDに基づくハッシュと、他組織の会員IDに基づくハッシュとを、顧客管理システム1の顧客データベース91に、ユーザと関連付けて格納してよい(図19参照)。この場合、比較ハッシュ生成部81は、顧客データベース91からユーザに関連付けられた変換パラメータおよび組織IDを取得する。なお、比較ハッシュ生成部81は、顧客データベース91から他組織の組織IDおよび他組織の会員ID、つまり特定データそのものを取得してもよい。
 また、登録データ取得部82は、分散型台帳ノード2の分散型台帳から、ユーザについて登録された登録データを取得する(ステップS403)。登録データ取得部82は、特定部65が取得した他組織の特定データに基づいて他組織の登録データを取得してよい。登録データ取得部82は、自組織の登録データが存在する場合には、その登録データを特定する特定データに基づいて、その登録データに関連付けられた他組織の登録データを取得してもよい。また取得される登録データの数は1または複数であってよいし、登録データが登録された時刻(トークン発行時刻で代用できる)が顧客管理システム1において内部の顧客データベース91にこのユーザの情報を登録した時刻より後である場合に限ってその登録データが取得されてもよい。なお、登録データの関連付けには特定部65により取得される特定データが用いられているため、他組織の登録データの取得には、その特定部65により取得される特定データが重要な役割を果たしている。
 1または複数の登録データが取得されると、比較部83は、取得された登録データのうち、1番目の登録データを選択する(ステップS404)。そして、比較ハッシュ生成部81は、複数の属性のうち、ステップS401で取得されたユーザ情報に含まれる属性であり、かつ、選択された登録データの会員情報ハッシュにハッシュCSが含まれる属性を検出する(ステップS405)。比較ハッシュ生成部81は、その検出された属性について、ユーザ情報の属性値と変換パラメータとに基づくハッシュCUを生成する(ステップS406)。もちろんハッシュCUはハッシュCSを生成するのと同じ手法により生成される。またハッシュCUの生成に用いられる変換パラメータは、ステップS402で取得された変換パラメータのうち、選択された登録データに含まれる組織IDに基づくハッシュまたは特定データと関連付けて顧客データベース91に格納されているものである。
 ハッシュCUが生成されると、比較部83は、検出された属性のそれぞれについて、登録データに含まれるハッシュCSと、ハッシュCUとを比較する(ステップS407)。比較部83は、ハッシュCSとハッシュCUとが同一でない属性がある場合には、その属性を顧客管理システム1のオペレータに向けて通知(出力)する(ステップS408)。そして、まだ選択されていない他組織の登録データがある場合には(ステップS409のY)、比較部83は次の登録データを選択し(ステップS410)、ステップS405以降の処理を繰り返させる。すべての登録データについて処理がされた場合には(ステップS409のN)、図13に示す処理は終了する。
 このように、分散型台帳にハッシュが登録され、実際の値がわからなくても、顧客管理システム1に格納される情報から変化があるか否かを検出することができる。
 また、外部のストレージにはユーザ情報に基づくハッシュ値が格納され、ユーザ情報そのものは格納されない。これにより、ユーザ情報そのものを複数の組織で共有する場合に比べ、外部とのデータのやりとりの際に情報漏洩防止のために複雑なプロトコルに従ったデータの暗号化等を削減できる。つまり、本実施形態では、簡素な処理でセキュリティを確保できる。これにより、顧客管理システム1を構成するサーバの負荷を軽減することもできる。
 ここで、会員登録の後のタイミングにおいても、ユーザの属性の情報が得られた場合にも、顧客管理システム1は登録データおよび端末3に格納されるデータを変更してよい。
 図14は、組織Bに会員登録後に組織Bを利用する場合を説明する図であり、図8に対応する図である。図14は、例えば医療機関において医療保険証が確認される場合に顧客管理システム1とユーザおよび分散型台帳ノード2とのやり取りを示している。図14に示されるやりとりは、組織の窓口などにおいてユーザの情報が確認された場合に行われる。図14に示されるやり取りは、ユーザ情報に変更がない場合にも行われる。
 図14の例では、はじめに、(1)ユーザの端末3は自組織(組織B)の会員保持情報およびトークンを送信し、また(2)医療保険証などの本人確認書類を提示する。さらに(3)組織Bが本人確認をすると、顧客管理システム1は(4)分散型台帳から最新の登録データおよび自組織の登録データを検索し、(5)最新の登録データおよび自組織の登録データを取得する。顧客管理システム1は(6)最新の登録データに含まれるトークンのハッシュTSを取得し、ユーザから入力されたトークンを認証し、さらに(7)端末3から送信された会員保持情報が適正であるか確認する。認証および確認がされると、顧客管理システム1は(8)トークンを発行するとともに分散型台帳へ追加する追加登録データを生成する。顧客管理システム1は(9)分散型台帳ノード2の分散型台帳に、自組織の登録データに追加登録データを追加し、さらに(10)顧客管理システム1はトークンをユーザの端末3へ送信し、端末3の情報格納部53に格納されるトークンを更新させる。ここで、ユーザ情報の変更があった場合には、顧客管理システム1は、変更に伴い変更された会員保持情報もユーザの端末3へ送信し、端末3の情報格納部53へ格納させる。
 図15は、追加される登録データの一例を示す図であり、図16はユーザへ渡されるデータの一例を示す図である。図15および図16は、本人確認によって、ユーザの情報に変更がない場合の例である。図15では、番号1から7の項目は以前から存在し、番号8から11の項目が登録データに追加されている。図15の例の登録データには、会員情報ハッシュは追加されないが、本人確認がされたことを示す本人確認項目が追加され、さらに更新されるトークンのハッシュとそれに関連する情報が追加される。また、端末3へは、トークンおよびトークン発行時刻のみが送られる。
 次に、図15から17について説明した情報のやり取りを実現する処理の詳細について説明する。図17,18は、顧客管理システム1が会員登録後の顧客の利用の際に実行する処理を示すフロー図である。
 はじめに、ユーザ情報取得部61は、端末3から送信された、ユーザ情報の変化に関する情報を取得する(ステップS301)。この情報は、例えば、ユーザ情報に含まれる属性の変更された属性値であるが、属性値の変化の有無が確認された属性を示す情報でもある。
 次に、既登録情報取得部63は、端末3の既登録情報送信部52から送信される、ユーザの自組織の会員保持情報と最新のトークンとを含むデータを取得する(ステップS303)。変換パラメータ取得部64は、送信されるデータから変換パラメータを取得してもよいし、顧客管理システム1の内部の顧客データベース91にユーザと関連付けて格納される変換パラメータを取得してもよい。特定部65は、取得されたデータから特定データを取得してもよいし、その顧客データベース91に格納される組織IDおよび会員IDのような情報から特定データを取得してもよい。トークン取得部66は、取得されたデータからトークンを取得する。
 次に、認証部68は、分散型台帳ノード2の分散型台帳(ストレージ)に格納される、このユーザについて登録された1または複数の登録データから最新のトークンのハッシュTSを取得する(ステップS304)。認証部68は、端末3から送信されたデータに含まれる最新のトークンのハッシュTUを生成する(ステップS305)。認証部68は、ハッシュTSとハッシュTUとを比較する(ステップS306)。ハッシュTSとハッシュTUとが異なる場合は(ステップS306のN)、認証部68は端末3のトークンは不正であるので、認証失敗のメッセージを端末3に向けて通知する(ステップS307)。
 一方、ハッシュTSとハッシュTUとが同じ場合は(ステップS306のN)、認証部68は端末3から送信された会員情報全体ハッシュが適正であるか確認する。より具体的には、認証部68は、自組織(または他組織)の登録データから会員情報署名を取得する(ステップS308)。そして、認証部68は自組織(または他組織)の会員情報署名を用いて、その組織について端末3から受け取った会員保持情報(具体的には会員情報全体ハッシュ)を検証する(ステップS309)。検証により会員保持情報が不正であると判断された場合には(ステップS310のN)、認証部68は認証失敗のメッセージを通知する(ステップS307)。
 電子署名により会員保持情報が正しいと判断された場合(ステップS310のY)には、顧客管理システム1は分散型台帳のこのユーザについての自組織の登録データにデータを追加し、さらに端末3に新たなトークンなどを格納させるために以下の処理を実行する。
 はじめに、新トークン発行部72は新たなトークンを発行する(ステップS313)。登録データ生成部73は、属性値が変更された属性が存在する場合には、変更された属性の属性値と、登録用の変換パラメータ(ここでは会員登録時刻)とに基づいて、ハッシュRを生成する(ステップS314)。
 次に、登録データ生成部73は、変更の有無が確認された属性を示す情報(図15の本人確認項目)と、変更された属性についてのハッシュRと、ユーザ情報に含まれる1または複数の属性のそれぞれについてのハッシュRと、新たなトークンのハッシュTNと、を含む追加登録データを生成する(ステップS315)。ハッシュRは、属性値に変更があった場合のみ追加登録データに含まれる。また、属性値に変更があった場合には、追加登録データは、変更後の属性値を含む各属性の属性値に基づく会員情報全体ハッシュの電子署名である会員情報署名をさらに含む。
 追加登録データが生成されると、登録部74は、分散型台帳に登録された自組織の登録済の登録データに、生成された追加登録データを追加する(ステップS316)。
 そして、端末送信部75は、属性値が変更された場合には、ユーザ情報に含まれる1または複数の属性のそれぞれについてのハッシュRに基づく会員情報全体ハッシュを含む会員保持情報をユーザの端末3へ送信し、そのデータを情報格納部53に格納させる(ステップS317)。また端末送信部75は発行された新たなトークンを端末3へ送信し、その新たなトークンを端末3の情報格納部53に設定させる(ステップS318)。
 会員登録以外でも生じる本人確認およびユーザ情報の変更に応じて分散型台帳の登録データを追加更新し、他組織が図13に示される処理において追加登録データを最新の登録データとして登録データ中の古い項目と差し替えて処理することにより、ユーザの職業や住所などの属性の変化を他の組織が検出することがさらに容易になる。
 また、本実施形態では端末3に設定されるトークンを、複数の組織で共通化し、さらに、会員登録以外の実窓口を利用するタイミングにもトークンの検証および更新を行っている。これにより、トークンの更新が比較的セキュアに、かつ、ある程度の頻度で行われる。これにより、何らかの原因でトークンが他人に渡ったとしても、ユーザが容易に気づくことができる。このトークンは、顧客情報の登録や変更のタイミングだけでなく、オンライン上のサービスのログインに用いられてもよい。この場合、トークンと異なる手法でユーザの認証が行われる際に、さらに図17のステップS303からS307に相当する処理により、トークンによる認証が行われてよい。
 本発明の実施形態は、これまでに説明したものには限られない。例えば、トークンの発行、トークンの分散型台帳および端末3への格納およびトークンの認証は行われなくてもよいし、会員保持情報の検証も必ずしも行われなくてよい。他の適切な認証手段によりセキュリティを確保することができればよい。
 また、これまでの説明では分散型台帳を用いてユーザの情報の変更を検出しているが、かならずしも分散型台帳を用いなくてもよい。例えば、複数の分散型台帳ノード2の代わりに、統合されたデータベースサーバを設置し、複数の顧客管理システム1がそのデータベースに登録データを格納し、そのデータベースから登録データを読み出してもよい。
 1,1a,1b,1c 顧客管理システム、2,2a,2b 分散型台帳ノード、3 端末、11 プロセッサ、12 記憶部、13 通信部、14 入出力部、51ユーザ情報送信部、52 既登録情報送信部、53 情報格納部、61 ユーザ情報取得部、62 既登録情報取得部、63 既登録情報取得部、64 変換パラメータ取得部、65 特定部、66 トークン取得部、68 認証部、71 登録変換パラメータ取得部、72 新トークン発行部、73 登録データ生成部、74 登録部、75 端末送信部、81 比較ハッシュ生成部、82 登録データ取得部、83 比較部、84 変更通知部、91 顧客データベース。

 

Claims (11)

  1.  複数の端末のうちいずれかから、ネットワークを介して接続されるストレージに格納される複数の登録データのうちいずれかを特定する特定情報であって、ユーザの複数の属性のうち1または複数のそれぞれについての過去の属性値に基づくハッシュ値を含む登録データを特定する特定情報を取得する特定手段と、
     前記複数の端末のうち前記いずれかから、前記ユーザの複数の属性のうち1または複数のそれぞれについての属性値を取得する属性取得手段と、
     前記1または複数の属性のそれぞれについて、前記取得された属性値に基づくハッシュ値を生成するハッシュ生成手段と、
     前記特定情報に基づいて、前記ストレージから登録データを取得する登録データ取得手段と、
     前記取得された登録データにハッシュ値が含まれる属性でありかつ前記属性取得手段により属性値が取得された属性について、前記生成されたハッシュ値と、前記取得されたハッシュ値とを比較する比較手段と、
     前記比較の結果に基づいて、前記比較された属性の属性値に変更があったか否かを示す情報を出力する変更出力手段と、
     を含むユーザ情報管理システム。
  2.  請求項1に記載のユーザ情報管理システムにおいて、
     前記ユーザの複数の属性のうち前記1または複数のそれぞれについて前記属性取得手段により取得された属性値に基づくハッシュ値を含む登録データを、前記特定情報により特定される登録データに関連付けて前記ストレージに格納する登録手段をさらに含む、
     ユーザ情報管理システム。
  3.  請求項1または2に記載のユーザ情報管理システムにおいて、
     前記いずれかの端末から、前記ユーザの複数の属性のうち1または複数のそれぞれについて過去の属性値からハッシュ値を生成するための変換パラメータを取得するパラメータ取得手段をさらに含み、
     前記ハッシュ生成手段は、前記1または複数の属性のそれぞれについて、前記取得された変換パラメータに基づいて前記取得された属性値を変換し、前記変換された属性値のハッシュ値を生成する、
     ユーザ情報管理システム。
  4.  請求項3に記載のユーザ情報管理システムにおいて、
     前記変換パラメータは、前記ユーザの登録に関する時刻であり、
     前記ハッシュ生成手段は、前記取得された属性値に前記時刻を付加することにより前記属性値を変換する、
     ユーザ情報管理システム。
  5.  請求項3または4に記載のユーザ情報管理システムにおいて、
     登録変換パラメータを取得する登録変換パラメータ取得手段と、
     前記1または複数の属性のそれぞれについて、前記取得された登録変換パラメータに基づいて前記取得された属性値を変換し、前記変換された属性値のハッシュ値を含む登録データを生成する登録データ生成手段と、
     前記ユーザの端末に前記登録変換パラメータを送信し、前記ユーザの端末に前記登録変換パラメータを格納させる送信手段と、をさらに含み、
     前記登録データ生成手段により生成されるハッシュ値を含む登録データは、前記ストレージに格納される、
     ユーザ情報管理システム。
  6.  請求項2に記載のユーザ情報管理システムにおいて、
     前記ユーザの端末が格納するトークン情報を新トークン情報に更新させるトークン更新手段をさらに含み、
     前記登録手段は、前記新トークン情報に基づいて生成されたハッシュ値であるトークンハッシュをさらに含む登録データを前記ストレージに格納し、
     前記ユーザの端末から前記トークン情報を取得するトークン取得手段と、
     前記取得されたトークンに基づくハッシュ値であるトークンハッシュを生成し、当該生成されたトークンハッシュと、前記ストレージに格納される登録データに含まれるトークンハッシュとが異なる場合に、前記ユーザにトークン情報が異なることを示す警告情報を出力するトークン認証手段と、をさらに含む、
     ユーザ情報管理システム。
  7.  請求項2に記載のユーザ情報管理システムにおいて、
     前記ユーザの複数の属性のうち前記1または複数のそれぞれについて前記属性取得手段により取得された属性値に基づくハッシュ値を含む登録データを生成する登録データ生成手段とさらに含み、
     前記登録データ生成手段は、前記ユーザの複数の属性のうち所定の属性について取得された属性値を所定のルールに従って変換し、前記変換された属性値に基づくハッシュ値を生成する、
     ユーザ情報管理システム。
  8.  請求項7に記載のユーザ情報管理システムにおいて、
     前記登録データ生成手段は、前記ユーザの複数の属性のうち日付に関する属性について取得された属性値を所定のフォーマットに変換する、
     ユーザ情報管理システム。
  9.  請求項7に記載のユーザ情報管理システムにおいて、
     前記登録データ生成手段は、前記ユーザの複数の属性のうち住所または勤務先に関する属性について取得された属性値の一部を抽出し、前記抽出された属性値に基づくハッシュ値を生成する、
     ユーザ情報管理システム。
  10.  複数の端末のうちいずれかから、ネットワークを介して接続されるストレージに格納される複数の登録データのうちいずれかを特定する特定情報であって、ユーザの複数の属性のうち1または複数のそれぞれについての過去の属性値に基づくハッシュ値を含む登録データを特定する特定情報を取得するステップと、
     前記複数の端末のうち前記いずれかから、前記ユーザの複数の属性のうち1または複数のそれぞれについての属性値を取得するステップと、
     前記1または複数の属性のそれぞれについて、前記取得された属性値に基づくハッシュ値を生成するステップと、
     前記特定情報に基づいて、前記ストレージから登録データを取得するステップと、
     前記取得された登録データにハッシュ値が含まれる属性でありかつ前記属性値が取得された属性について、前記生成されたハッシュ値と、前記取得されたハッシュ値とを比較するステップと、
     前記比較の結果に基づいて、前記比較された属性の属性値に変更があったか否かを示す情報を出力するステップと、
     を含むユーザ情報管理方法。
  11.  複数の端末のうちいずれかから、ネットワークを介して接続されるストレージに格納される複数の登録データのうちいずれかを特定する特定情報であって、ユーザの複数の属性のうち1または複数のそれぞれについての過去の属性値に基づくハッシュ値を含む登録データを特定する特定情報を取得する特定手段、
     前記複数の端末のうち前記いずれかから、前記ユーザの複数の属性のうち1または複数のそれぞれについての属性値を取得する属性取得手段、
     前記1または複数の属性のそれぞれについて、前記取得された属性値に基づくハッシュ値を生成するハッシュ生成手段、
     前記特定情報に基づいて、前記ストレージから登録データを取得する登録データ取得手段、
     前記取得された登録データにハッシュ値が含まれる属性でありかつ前記属性取得手段により属性値が取得された属性について、前記生成されたハッシュ値と、前記取得されたハッシュ値とを比較する比較手段、および、
     前記比較の結果に基づいて、前記比較された属性の属性値に変更があったか否かを示す情報を出力する変更出力手段、
     としてコンピュータを機能させるためのプログラム。

     
PCT/JP2019/014007 2019-03-29 2019-03-29 ユーザ情報管理システム、ユーザ情報管理方法およびプログラム WO2020202255A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020535263A JP6837186B1 (ja) 2019-03-29 2019-03-29 ユーザ情報管理システム、ユーザ情報管理方法およびプログラム
PCT/JP2019/014007 WO2020202255A1 (ja) 2019-03-29 2019-03-29 ユーザ情報管理システム、ユーザ情報管理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/014007 WO2020202255A1 (ja) 2019-03-29 2019-03-29 ユーザ情報管理システム、ユーザ情報管理方法およびプログラム

Publications (1)

Publication Number Publication Date
WO2020202255A1 true WO2020202255A1 (ja) 2020-10-08

Family

ID=72666687

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/014007 WO2020202255A1 (ja) 2019-03-29 2019-03-29 ユーザ情報管理システム、ユーザ情報管理方法およびプログラム

Country Status (2)

Country Link
JP (1) JP6837186B1 (ja)
WO (1) WO2020202255A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169490A (ja) * 2008-01-11 2009-07-30 Fuji Xerox Co Ltd ユーザ属性情報管理プログラム、ユーザ属性情報確認プログラム、ユーザ属性情報管理装置、ユーザ属性情報確認装置及びユーザ属性情報管理システム
WO2013118270A1 (ja) * 2012-02-09 2013-08-15 株式会社日立製作所 計算機システム、データ管理方法及びプログラム
JP2014192707A (ja) * 2013-03-27 2014-10-06 International Business Maschines Corporation 匿名化データを名寄せするための名寄せシステム、並びに、その方法及びコンピュータ・プログラム
JP2016220212A (ja) * 2016-05-20 2016-12-22 テンテン テクノロジーズ リミテッドTenten Technologies Limited ユーザに報酬を提供するための方法、システムおよび移動体装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169490A (ja) * 2008-01-11 2009-07-30 Fuji Xerox Co Ltd ユーザ属性情報管理プログラム、ユーザ属性情報確認プログラム、ユーザ属性情報管理装置、ユーザ属性情報確認装置及びユーザ属性情報管理システム
WO2013118270A1 (ja) * 2012-02-09 2013-08-15 株式会社日立製作所 計算機システム、データ管理方法及びプログラム
JP2014192707A (ja) * 2013-03-27 2014-10-06 International Business Maschines Corporation 匿名化データを名寄せするための名寄せシステム、並びに、その方法及びコンピュータ・プログラム
JP2016220212A (ja) * 2016-05-20 2016-12-22 テンテン テクノロジーズ リミテッドTenten Technologies Limited ユーザに報酬を提供するための方法、システムおよび移動体装置

Also Published As

Publication number Publication date
JPWO2020202255A1 (ja) 2021-04-30
JP6837186B1 (ja) 2021-03-03

Similar Documents

Publication Publication Date Title
US11943362B2 (en) System and method for providing personal information using one time private key based on blockchain of proof of use
CN111183426B (zh) 基于区块链的通知的系统和方法
US20220414260A1 (en) Selectively verifying personal data
KR101676215B1 (ko) 추가적 검증에 의해 아날로그 디지털 서명으로 전자문서에 사인하는 방법
CN109784870B (zh) 合同管理方法、装置、计算机设备及计算机可读存储介质
CN109416713B (zh) 验证系统和非暂态信息记录介质
CN108573741A (zh) 业务数据记录方法、装置、设备和存储介质
JP2020036234A (ja) 情報処理装置及び認可システムと検証方法
WO2019081530A1 (en) METHODS OF RECORDING AND SHARING A DIGITAL IDENTITY OF A USER USING DISTRIBUTED REGISTERS
EP4002786B1 (en) Distributed ledger system
EP2354996B1 (en) Apparatus and method for remote processing while securing classified data
US20080270520A1 (en) Provision of Personal Data in a Data Communications Network
JP2019219782A (ja) サービス提供システムおよびサービス提供方法
CN110597836A (zh) 基于区块链网络的信息查询请求响应方法及装置
JP2022171928A (ja) 端末装置、認証サーバ、端末装置の制御方法、認証方法及びプログラム
JP6840692B2 (ja) 計算機システム、接続装置、及びデータ処理方法
JP2020106927A (ja) 情報処理システム、情報処理プログラム、情報処理方法及び情報処理装置
JP6837186B1 (ja) ユーザ情報管理システム、ユーザ情報管理方法およびプログラム
JP2016085638A (ja) サーバー装置、端末装置、システム、情報処理方法及びプログラム
JP7351724B2 (ja) 組織間の情報連携を制御するシステム
US20230036355A1 (en) Server apparatus, terminal, authentication system, authentication method, and storage medium
JP2017182433A (ja) タイムスタンプ登録装置、及びタイムスタンプ登録プログラム
JP2020067719A (ja) 属性情報管理システム及び属性情報管理方法
JP2020102741A (ja) 認証システム、認証方法、及び、認証プログラム
JP2016062487A (ja) 中継装置、データ処理システム及びプログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2020535263

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 19922807

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19922807

Country of ref document: EP

Kind code of ref document: A1