Apparatus, data management system, method, and program

JP7915711B2Active Publication Date: 2026-09-04HITACHI LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023042158
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-03-16
Publication Date
2026-09-04
Estimated Expiration
2043-03-16

AI Technical Summary

Benefits of technology

【0005】 上記目的を達成するために、本開示が備えうる特徴、及び、当該特徴に対応する作用効果は、例えば次のとおりである。 本開示の装置はインデックス処理部と暗号化部と復号化部と検索部を備える。インデックス処理部は、発行された発行データに含まれる情報をインデックスに登録することによりインデックスを更新する。暗号化部は、発行データを暗号化して暗号化発行データにするとともに、インデックス処理部が更新したインデックスを暗号化して暗号化インデックスにする。復号化部は、検証のために提示する提示データを用意する際に、暗号化インデックスを復号化して復号化済みインデックスにする。検索部は、復号化済みインデックスに登録された情報を検索し、提示データを用意するために用いる暗号化発行データを選択する。復号化部は、検索部が選択した暗号化発行データを復号化して復号化済み発行データにする。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007915711000001
    Figure 0007915711000001
  • Figure 0007915711000002
    Figure 0007915711000002
  • Figure 0007915711000003
    Figure 0007915711000003
Patent Text Reader

Abstract

To allow a user to easily utilize issued data while protecting the issued data issued to the user.SOLUTION: An index processing unit 124 registers information included in issued data 171 on an index 181 to update the index 181. An encryption unit 126 encrypts the issued data 171 to form encrypted issued data 172, and encrypts the updated index 181 (182) to form an encrypted index 183. In preparing presentation data 174 for verification, a decryption unit 127 decrypts the encrypted index 183 to form a decrypted index 184. A retrieval unit 125 searches for information registered on the decrypted index 184 and selects the encrypted issued data 172 to be used for preparing the presentation data 174. The decryption unit 127 decrypts the selected encrypted issued data 172 to form decrypted issued data 173.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an apparatus, a data management system, a method, and a program for managing issuance data and preparing presentation data for verification from the issuance data.

Background Art

[0002] Self-Sovereign Identity (SSI) is known, in which a user sovereignly manages their own attributes and personal information (issuance data) without intermediation of a third party such as a platformer. In SSI, a user (holder) manages issuance data issued by an issuer and data certifying the content of the issuance data, and the user presents the issuance data and the data certifying the content of the issuance data to a verifier who is a third party as needed, and undergoes verification by the verifier. Non-Patent Document 1 shows an implementation example of SSI. In Non-Patent Document 1, an issuer issues a Verifiable Credential (VC, verifiable certificate) created by adding an electronic signature using the issuer's own private key to issuance data related to a user to the user. The user presents a Verifiable Presentation (VP, verifiable presentation) created by adding an electronic signature using the user's own private key to VC (presentation data based thereon) to a verifier. The verifier verifies each electronic signature of the VP and the VC (presentation data based thereon) included in the VP with a public key corresponding to each electronic signature.

Prior Art Literature

Non-Patent Literature

[0003]

Non-Patent Literature 1

[0004] In SSI, there are problems and challenges regarding the protection of the content of issued data from third parties. In SSI, users manage their own issued data. Possible methods for managing issued data include management on the user's personal device (e.g., smartphone) or management in cloud storage. However, with personal devices, there is a risk that issued data may be leaked and misused if the personal device is lost or stolen. On the other hand, with storage, in addition to the risk of issued data being leaked and misused from the storage, there is also the risk that the storage administrator may misuse the issued data. Thus, it is necessary to protect issued data from information leaks and misuse by others. Based on the above, the purpose of this disclosure is to protect the content of the issued data issued for users from being known to third parties, while also ensuring that users can smoothly utilize the issued data even after such protective measures have been taken. Means for solving the problem and effects of the invention

[0005] To achieve the above objectives, the features that this disclosure may possess, and the effects corresponding to those features, are as follows, for example: The apparatus of this disclosure comprises an index processing unit, an encryption unit, a decryption unit, and a search unit. The index processing unit updates the index by registering the information contained in the issued data into the index. The encryption unit encrypts the issued data to create encrypted issued data, and also encrypts the index updated by the index processing unit to create an encrypted index. The decryption unit decrypts the encrypted index to create a decrypted index when preparing presentation data to be presented for verification. The search unit searches the information registered in the decrypted index and selects the encrypted issued data to be used to prepare the presentation data. The decryption unit decrypts the encrypted issued data selected by the search unit to create decrypted issued data.

[0006] The device described in this disclosure can achieve both a reduction in the risk of the contents of issued data being known to third parties and the smooth utilization of issued data by users. Specifically, the device disclosed herein encrypts the issued data to create encrypted issued data. This reduces the risk of information contained in the issued data being leaked to third parties in plain text. Furthermore, since each issued data is encrypted individually, the amount of communication, processing, and risk of information leakage during the encryption (and decryption) of the issued data can be reduced. The device described in this disclosure registers the information contained in the issued data into an index. Then, by searching the information registered in the index, the device selects the encrypted issued data to be used to prepare the presentation data to be presented for verification. Therefore, encrypted issued data can be selected without decrypting the encrypted issued data. The device described in this disclosure encrypts and decrypts the index. Therefore, the risk of information contained in the issued data within the index being leaked to a third party in plain text is reduced.

[0007] Furthermore, data management systems including the above-mentioned devices, as well as methods and programs that achieve the same processing and operation as the above-mentioned devices, can obtain the same effects and benefits as the above-mentioned devices. Moreover, in the form of programs, costs can often be reduced. In addition, design changes related to processing and operation are easier to implement in programs. Any other features that this disclosure may possess, and the effects corresponding to such features, are disclosed in this specification, claims, or drawings. [Brief explanation of the drawing]

[0008] [Figure 1] The functional configuration of the embodiments of this disclosure is shown. [Figure 2] The system configuration of the data management system according to the embodiment of this disclosure is shown. [Figure 3] The configuration of the internal functional parts of the apparatus according to the present disclosure is shown. [Figure 4] Shows a wallet. [Figure 5] Shows a computer architecture for implementing an apparatus, a unit, etc. [Figure 6] It is a sequence diagram of issuer registration processing. [Figure 7] It is a sequence diagram of user registration processing. [Figure 8] Shows an example of an index. [Figure 9] It is a sequence diagram of data issuance processing. [Figure 10] Shows a flowchart of registration processing to an index (step 918). [Figure 11] Shows a screen prompting selection of information to be registered in an index. [Figure 12] Shows a screen in which information to be registered in an index has been selected. [Figure 13] Shows a screen prompting confirmation of information to be registered in an index. [Figure 14] Shows a screen notifying completion of registration to an index. [Figure 15] It is a sequence diagram of data presentation and verification processing. [Figure 16] It is a sequence diagram of data presentation and verification processing, which is a continuation of FIG. 15. [Figure 17] Shows a flowchart of index search processing (step 1512). [Figure 18] It is a screen prompting selection, and shows a case where no search condition is specified. [Figure 19] It is a screen prompting selection, and shows a case where a search condition is specified. [Figure 20] It is a screen prompting selection, and shows a case where data selection has been performed. [Figure 21] Shows a screen prompting confirmation of selected data. [Figure 22] Shows a functional configuration of a modified example. MODES FOR CARRYING OUT THE INVENTION

[0009] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. The following description and drawings are examples for explaining the present disclosure, and omissions and simplifications have been made as appropriate for clarifying the description. The present disclosure can be implemented in various other forms. Unless specifically limited, each component may be singular or plural. The position, size, shape, scope, and the like of each component shown in the drawings may not represent the actual position, size, shape, scope, and the like, in order to facilitate understanding of the invention. Therefore, the present disclosure is not necessarily limited to the position, size, shape, scope, and the like disclosed in the drawings. Components denoted by the same reference numerals in a plurality of drawings indicate that they are the same or similar components. Each "device" or "section" in the present disclosure may be integrated as one in terms of hardware, or may be divided into a plurality of parts that cooperate with each other to fulfill their roles. Several "devices" or "sections" may be integrated in terms of hardware. Furthermore, each "device" or "section" in the present disclosure may be implemented by causing a computer to execute software (a program), as shown in FIG. 5. In addition, part of the functions of a "device" or "section" may be implemented by hardware (for example, hard-wired logic or an FPGA), and the remaining functions may be implemented by executing software (a program). Furthermore, all functions of each "device" or "section" may be implemented in terms of hardware. Furthermore, the "program" in the present disclosure only needs to be included in the concept encompassing general software that corresponds to such software that a specific information processing apparatus or an operation method thereof according to the purpose of use is constructed through cooperation between software and hardware resources. That is, the "program" in the present disclosure is not limited to programs of a specific type or form. In addition, the "program" may be initially recorded in a compressed format. In the present disclosure, processing may be described with flowcharts and the like. Part or all of the processing steps shown in flowcharts and the like can also be implemented in terms of hardware.

[0010] 1. Functional configuration of the embodiments of this disclosure Figure 1 shows the functional configuration of an embodiment of this disclosure. The device 102 comprises an index processing unit 124, an encryption unit 126, a decryption unit 127, and a search unit 125. Each time device 102 receives issuance data 171 issued outside of device 102 (device 102 itself may be the issuer of issuance data 171), the index processing unit 124 registers the information contained in the issuance data 171 in index 181. This registration updates index 181, resulting in the updated index 182. (Note that the decryption unit 127 may prepare index 181 by decrypting the encrypted index 183 before performing the processing by the index processing unit 124 described above.) Each time the device 102 receives issued issuance data 171, the encryption unit 126 encrypts the issuance data 171 to create encrypted issuance data 172. The encryption unit 126 also encrypts the updated index 182 to create encrypted index 183. The device 102 may continue to store the encrypted issuance data 172 and encrypted index 183 (for example, locally in a recording device or database (DB) within the device 102). Alternatively, instead of a remote server (cloud server, etc.) storing them, the device 102 may delete the encrypted issuance data 172 and encrypted index 183. When preparing presentation data 174 for verification (for example, to be presented to the verifier) ​​in preparation for some kind of verification, the device 102 (or the person handling it (user, etc.)) selects encrypted issuance data 172 to be used to prepare the presentation data 174. For this selection, first (after obtaining the encryption index 183), the decryption unit 127 decrypts the encryption index 183 to obtain the decrypted index 184. Once the decrypted index 184 is obtained, the search unit 125 searches the information registered in the decrypted index 184 and selects the encrypted issuance data 172 to be used to prepare the presentation data 174. (Note that the selected encrypted issuance data 172 is retrieved from the remote or local location where the encrypted issuance data 172 is stored.) The decryption unit 127 decrypts the encrypted issuance data 172 selected (and retrieved) by the search unit 125 to obtain decrypted issuance data 173. (The device 102 then uses the decrypted issuance data 173 to prepare (create) presentation data 174 and presents the said presentation data 174 for verification.)

[0011] As described above, the device 102 can reduce the risk that the contents of the issued data 171 may be known to a third party in plain text by encrypting the issued data 171. Furthermore, since the device 102 encrypts the issued data 171 individually each time it is issued, it can reduce the amount of communication, processing, and risk of information leakage during the encryption (and decryption) of the issued data 171. Furthermore, as described above, device 102 registers the information contained in the issued data 171 (encrypted issued data 172) in an index (index 181, updated index 182). Device 102 also searches for the information contained in the encrypted issued data 172 using the decrypted index 184. Therefore, by knowing the information contained in the encrypted issued data 172 before decrypting it, device 102 can select the encrypted issued data 172, thereby enabling the smooth utilization of the encrypted issued data 172. Furthermore, as described above, the device 102 encrypts the index on which the information contained in the issued data 171 (encrypted issued data 172) is registered, creating an encrypted index 183. Therefore, (before the index is decrypted,) the risk of the information contained in the issued data 171 (encrypted issued data 172) being leaked to a third party in plain text is reduced.

[0012] 2. System configuration of the system according to the embodiment of this disclosure Figure 2 shows the system configuration of the system according to the embodiment of this disclosure. Hereafter, "database" will be abbreviated as "DB" (the same applies in the drawings). In the data management system 109 shown in Figure 2, various devices are able to communicate with each other via the network 106. In the example shown in Figure 2, the data management system 109 includes an issuer device 101, a user device 102, a verifier device 103, a first server 104, and a second server 105. These devices 101 through 105 are able to communicate with each other via the network 106. (Note that it is not necessary for all combinations of devices within the data management system 109 to be able to communicate with each other.)

[0013] The issuer device 101 performs issuer registration processing (Figure 6) and data issuance processing (Figure 9). In the data issuance processing, the issuer device 101 performs user authentication, issuance data generation, signature generation for the issuance data, and encryption of the issuance data in response to a data issuance request from the user (user device 102), and issues the issuance data 171 to the user (user device 102). The issuer device 101 includes an issuer key generation unit 111, an authentication unit 112, a data generation unit 113, a signature generation unit 114, an encryption unit 115, and an issuer DB 116. The issuer DB 116 stores data such as the content of the issuance data 171 issued to the user (user device 102) and the issuer's private key. Issued data 171 is an electronic representation of user qualifications and attribute information (e.g., My Number Card, driver's license, educational certificate, health insurance card, passport, employment history certificate, membership card, purchase history, medical history certificate). Issued data 171 can be represented in any data structure, such as a table, list, JSON (JavaScript® Object Notation), JSON-LD (JavaScript® Object Notation for Linked Data), etc.

[0014] The user device 102 performs the following during user registration processing (Figure 7) and data issuance processing (Figure 9): data issuance application, user authentication, verification of issued data 171, registration to index 181, encryption of issued data 171 and the updated index 182, user authentication during data presentation and verification processing (Figures 15 and 16): decryption of encrypted index 183, searching using the decrypted index 184 and selection of encrypted issued data 172, decryption of encrypted issued data 172, preparation of presentation data 174, and presentation of presentation data 174 to the verifier. The user device 102 may be a personal device such as a smartphone owned by the user, or it may be a shared device installed in a store or facility. Index 181 stores information contained in the issued data 171 issued to the user, and can be represented in any data structure, such as a table, list, or JSON. Index 181 is created for each user. The information to be registered in Index 181 can be selected by the user who received the issued data 171, while reviewing the information contained in the issued data 171. A concrete example of the index will be described later with reference to Figure 8. The user device 102 includes a user key generation unit 121, an ID assignment unit 122, an authentication unit 123, an index processing unit 124, a search unit 125, an encryption unit 126, a decryption unit 127, a signature generation unit 128, and a user device DB 129. The user device DB 129 holds, for example, user private keys and data necessary for data issuance applications.

[0015] Figure 3 shows the configuration of the functional units that may be present in the index processing unit 124 and the search unit 125 of the user device 102. When registering information in index 181, if manual registration is performed with input / output (including display) between the user and the user device 102, the index processing unit 124 may include an issued data information display control unit (hereinafter abbreviated as "issued data information display unit 311"; the same applies in Figure 3), a registration information pre-selection unit (hereinafter abbreviated as "registration pre-selection unit 312"; the same applies in Figure 3), and a registration information selection acceptance control unit (hereinafter abbreviated as "registration acceptance unit 313"; the same applies in Figure 3). When registering information in index 181, if automatic registration is performed without input / output (including display) between the user and the user device 102, the index processing unit 124 may include an automatic registration information extraction unit (hereinafter abbreviated as "automatic registration unit 314"; the same applies in Figure 3). The user device 102 may be configured to allow selection of both manual and automatic registration. When specifying search conditions for the decoded index 184, if manual specification is performed with input / output (including display) between the user and the user device 102, the search unit 125 may include a search condition candidate display control unit (hereinafter abbreviated as "condition candidate display unit 322"; the same applies in Figure 3), a search condition selection reception control unit (hereinafter abbreviated as "condition reception unit 323"; the same applies in Figure 3), and a search condition specification unit (hereinafter abbreviated as "condition specification unit 324"; the same applies in Figure 3). When specifying search conditions, if automatic specification is performed without input / output (including display) between the user and the user device 102, the search unit 125 may include an automatic search condition specification unit (hereinafter abbreviated as "automatic condition unit 325"; the same applies in Figure 3). The user device 102 may be configured to allow selection of both manual and automatic specification. The search unit 125 may include a search condition matching information identification unit (hereinafter abbreviated as "matching information identification unit 326"; the same applies in Figure 3). When selecting encrypted issuance data 172 to be used to prepare presentation data 174 from encrypted issuance data 172 corresponding to information matching the search criteria, if manual selection is performed with input / output (including display) between the user and the user device 102, the search unit 125 may include a search result display control unit (hereinafter abbreviated as "search result display unit 327"; the same applies in Figure 3) and an issuance data selection reception control unit (hereinafter abbreviated as "issuance data selection reception unit 328"; the same applies in Figure 3). When selecting encrypted issuance data 172, if automatic selection is performed without input / output (including display) between the user and the user device 102, the search unit 125 may include an automatic issuance data selection unit 329. The user device 102 may be configured to allow both manual and automatic selection. If one or more manual specifications and manual selections are performed, the search unit 125 may be equipped with a display control unit for the presentation request content (hereinafter abbreviated as "presentation request display unit 321"; the same applies in Figure 3). The processing performed by the functional units (parts) related to manual registration, manual specification, and manual selection, as shown in Figure 3, will be explained in "3. Processing of Embodiments of the Disclosure" below. The processing performed by the functional units (parts) related to automatic registration, automatic specification, and automatic selection will be explained in either "3. Processing of Embodiments of the Disclosure" or "4. Others (Variations)" below.

[0016] Let's return to the explanation in Figure 2. The verifier device 103 performs user authentication and verifies each electronic signature in the presented data 174 received from the user (user device 102). The verifier device 103 comprises an authentication unit 131 and a signature verification unit 132. The first server 104 holds the public key of each issuer (issuer device 101) and transmits the issuer's public key to the verifier (verifier device 103) upon request. The first server 104 includes a data registration unit 141, a data acquisition unit 142, and a first server DB 143. The first server DB 143 holds the issuer's public key data. The first server DB 143 is a database of a trusted organization or a tamper-proof database (e.g., a blockchain).

[0017] The second server 105 registers data to the wallet 410 (Figure 4) and retrieves data from the wallet 410 and sends it to the user device 102, in response to a request from the user (user device 102). The second server 105 includes a data registration unit 151, an authentication unit 152, a data retrieval unit 153, and a second server DB 154. The second server DB 154 holds the user public key 401, encryption index 183, and encrypted issuance data 172 in the format of the wallet 410 associated with the user ID. The wallet 410 is, for example, a data storage area defined for each user ID, and stores various types of data. The structure and format of the wallet 410 can be arbitrary, for example, a table or a list. Figure 4 shows a wallet 410. A wallet 410 can be prepared for each user (user ID). The wallet 410 is stored in the second server DB 154. Alternatively, the wallet 410 may be stored locally in the user device DB 129 within the user device 102 handled by the user (user ID) associated with that wallet 410. The wallet 410 holds encrypted issuance data 172, an encryption index 183, and a user public key 401. The wallet 410 may also hold auxiliary information 402. The encrypted issuance data 172 is the encrypted version of each issuance data 171 issued to the user associated with the wallet 410. Since each issuance data 171 is individually encrypted to become encrypted issuance data 172, a single wallet 410 can hold multiple encrypted issuance data 172. Here, the data ID is used to identify the encrypted issuance data 172 within the wallet 410. The encryption index 183 exists for each user associated with the wallet 410 and contains information contained in each of the encrypted issuance data 172 held in the wallet 410. The user public key 401 is included in the user key pair for the user device 102. The user private key included in the user key pair is handled within the user device 102. The auxiliary information 402 can be used when the user device 102 (re)acquires the user's private key.

[0018] In this way, the issued data 171 becomes easier for users (such as those using the data management system 109) to manage. Furthermore, since the encrypted index 183 and encrypted issued data 172 can be placed locally or remotely for the user, the system configuration of the data management system 109 can be made more flexible, and the usability of the system is also improved.

[0019] The functions of the devices, units, and databases shown in Figures 2 and 3, as well as the processes and operations they perform, will be explained later in "3. Processing of Embodiments of the Disclosure" or "4. Others (Modifications)".

[0020] Figure 5 shows a computer architecture for realizing embodiments of the present disclosure. The entire system or apparatus shown in Figure 2, or the parts (functional units) or parts within one part (functional unit) shown in Figures 2 and 3, may be realized using the computer architecture shown in Figure 5. To realize the system, each device, each part (functional unit), or each part shown in Figure 2 or Figure 3, an information processing device (e.g., CPU) 501, a storage device (e.g., memory) 502, a non-volatile recording medium (e.g., non-volatile memory, non-volatile disk device) 503, an external recording medium drive (e.g., disk drive) 504, an output device (e.g., printer, display; may also be a device that outputs processing screens and processing results in a format visible to users or operators, etc.) 506, an input device (e.g., mouse, keyboard, imaging device, sensor) 507, a communication device (e.g., wired communication device, wireless communication device; may also be a network interface device that controls communication with other devices or servers according to a predetermined protocol) 508, and some or all of the external input / output ports 509 may be interconnected by an interconnection unit (e.g., bus, crossbar switch) 510. The non-volatile recording medium 503 may store a program 520a, various databases 521, and various information 522. Alternatively, some or all of the program, tables, or various information may be acquired (accessed) from outside Figure 5. An external recording medium (for example, a portable recording disc (DVD, etc.), an IC card, or an SD card) 505 can be connected to the external recording medium drive 504. Alternatively, the program 520a, various databases 521, and various information 522 may be transferred from this external recording medium 505 to the non-volatile recording medium 503 or the storage device (memory) 502 and stored therein. Furthermore, the program 520a, various DBs 521, and various information 522 may be provided via the communication device 508, the external input / output port 509, or the input device 507, and stored in the non-volatile recording medium 503 or the storage device (memory) 502. In order for a system, a device within a system, each part (functional unit) within a system, or a part of each part to function as one or a series of parts (or a part of a part) (to execute one or a series of processes (steps)), first, program 520a may be loaded into a storage device (e.g., memory) 502 (e.g., from a non-volatile recording medium 503). The loaded program is shown as 520b in Figure 5. Then, an information processing device (e.g., a CPU) 501 may execute program 520b on the storage device (e.g., memory) 502 (using tables and various information present in the non-volatile recording medium 503, etc., as needed). The execution of program 520b realizes the function of one or a series of parts (or a part of a part) (one or a series of processes (steps) are executed). At this time, various buffers 523 temporarily formed in the storage device (e.g., memory) 502 may also be used as appropriate.

[0021] 3. Processing of the embodiments of the present disclosure The processing of the embodiments of this disclosure will be described below. Specifically, it will be described in parts: issuer registration processing (Figure 6), user registration processing (Figure 7), data issuance processing (Figures 9-14), and data posting and verification processing (Figures 15-21). In the sequence diagrams and flowcharts described below, rectangular boxes indicate processing / operation steps. In the sequence diagrams, horizontal arrows indicate processing / operation steps involving transmission and reception between devices (servers). In the flowcharts, diamond-shaped boxes indicate conditional branching steps. In the sequence diagrams and flowcharts, the devices or servers shown in the barrel-shaped boxes located above the rectangular and diamond-shaped boxes indicate the main entities performing the processing / operation. In the sequence diagrams and flowcharts, "step" is abbreviated as "S".

[0022] 3-1. Issuer Registration Process Figure 6 is a sequence diagram showing the issuer registration process that the data management system 109 performs to register an issuer (issuer device 101). In step 601 of Figure 6, the issuer key generation unit 111 generates an issuer key pair consisting of the issuer's public key and issuer's private key. The issuer key pair can be any public-key cryptography or signature scheme, such as a key pair in RSA (Rivest-Shamir-Adleman) or BBS+ signature. The issuer key generation unit 111 performs key pair generation processing for a general-purpose cryptographic library, for example. In step 602, the issuer device 101 securely stores the issuer private key generated in step 601 in any way it chooses. For example, the issuer device 101 stores the issuer private key on a recording medium, data storage, or issuer DB 116 owned by a user of the issuer device 101. After step 601, in step 603, the issuer device 101 sends the issuer public key generated in step 601 to the first server 104 via the network 106. The first server 104 receives the issuer public key. At this time, the issuer device 101 may also specify the issuer ID and public key ID and send them to the first server 104 along with the issuer public key. In step 604, the data registration unit 141 of the first server 104 registers and stores the issuer's public key received in step 603 in the first server DB 143. If, for example, the first server 104 receives an issuer ID and a public key ID along with the issuer's public key in step 603, the data registration unit 141 may store the issuer's public key in the first server DB 143, linked to the received issuer ID and public key ID.

[0023] 3-2. User Registration Process Figure 7 is a sequence diagram showing the user registration process that the data management system 109 performs to register a user (user device 102). In step 701 of Figure 7, the ID designation unit 122 of the user device 102 designates a user ID to identify the user who is using the user device 102, for example, based on user input or automatic input. In step 702, the user key generation unit 121 of the user device 102 generates a user key pair (a user public key 401 and a user private key pair) for the user. The user key generation unit 121 may use any method in any public-key cryptography scheme when generating the user key pair. For example, the user key generation unit 121 may generate a key pair in RSA using the key pair generation process of a general-purpose cryptographic library. In this case, the user key generation unit 121 may use information such as a PIN or password as a seed for the key pair generation process to generate the user key pair. Alternatively, after connecting a biometric information acquisition device such as a camera or infrared sensor to the user device 102, the user key generation unit 121 may use biometric information such as the user's face, finger veins, fingerprints, and iris acquired via the biometric information acquisition device to generate a user public key 401 and a user private key pair (and auxiliary information 402 as needed) based on an algorithm such as Fuzzy Extractor or Fuzzy Signature. In step 703, the index processing unit 124 of the user device 102 generates a new index 181 to be used for managing the issued data 171 (encrypted issued data 172). Figure 8 shows an example of an index 181 (encrypted index 183) used to manage the issued data 171 (encrypted issued data 172) issued to the user. The index 181 (encrypted index 183) may take the form of a table 800. Table 800 has a record 810 for each individual issued data 171 (encrypted issued data 172). Figure 8 shows that five records 810 (five issued data 171 (encrypted issued data 172)) have been registered. Note that in step 703 of Figure 7, if the index processing unit 124 has generated a new index and there is no issued data 171 to register yet, there may be no valid record 810. Record 810 may have fields for data ID 801, data type 802, issuer 803, and item(s) 804. (However, if the data ID 801 corresponding to record 810 is clear from its position in table 800, the field for data ID 801 does not need to be provided.) Data type 802 is, for example, a driver's license, an academic transcript, or a health insurance card. Issuer 803 is the name of the entity that issues the issued data (for example, a local government, a university, or a company). Item(s) 804 is the name of the information (for example, name, gender, date of birth, address) and the value of the information. In the example shown in Figure 8, for example, the record for data ID 1 indicates that the type of data in the issued data 171 (encrypted issued data 172) corresponding to the record for data ID 1 is a driver's license, and that the issuer is A. It also indicates that the information contained in the issued data 171 (encrypted issued data 172) includes at least the names of name, address, date of birth, category, and conditions. In the example shown in Figure 8, for example, the record with data ID 5 indicates that the data type of the corresponding issue data 171 (encrypted issue data 172) is purchase history, the issuer is E, and that the information contained in issue data 171 (encrypted issue data 172) includes information named purchase date, product, and amount. Furthermore, this record with data ID 5 also indicates that the purchase date was March 2022 and the product was E1. This record with data ID 5 also includes information on the values ​​of the listed items. The registration information and format in index 181 (encryption index 183) shown in Figure 8 are examples only and are not limited to these. Also, in the example shown in Figure 8, all fields are registered in all records 810, but for example, in some records 810, only the data type 802 and issuer 803 may be registered, or the data type 802 and field 804 may be registered, or only the data type 802 may be registered. Let's return to the explanation in Figure 7. In step 704 of Figure 7, the encryption unit 126 of the user device 102 uses the user public key 401 generated in step 702 to encrypt the index 181 generated in step 703 (however, if the issuance data 171 has not yet been issued, a valid record 810 does not need to exist) to create the encrypted index 183. In step 705, the user device 102 sends the user ID, user public key 401 (and auxiliary information 402 if necessary), and encryption index 183 to the second server 105 via the network 106. The second server 105 receives these. In step 706, the second server 105 creates a wallet 410 associated with the user ID received in step 705 in the second server DB 154. In step 707, the data registration unit 151 of the second server 105 registers the user public key 401 (and auxiliary information 402 if received) and the encryption index 183 received in step 705 with the wallet 410 created in step 706. In step 708, the user device 102 performs user private key management processing. The user device 102 securely stores the user private key in, for example, the user device DB 129, a recording medium such as a USB or IC card, or another device or server. At this time, the user private key may also be stored protected by, for example, a password. Alternatively, if, for example, the user key generation unit 121 generates a user key pair based on a PIN, password, biometric information, etc. in step 702, the user device 102 may, if necessary (for example, if the auxiliary information 402 was not sent to the second server 105 in step 705), save the auxiliary information 402 in the user device DB 129, a storage medium, or a terminal, and then delete the user private key.

[0024] 3-3. Data Issuance Process Figure 9 is a sequence diagram showing the data issuance process performed by the data management system 109 to issue issued data 171 to a user. In step 901 of Figure 9, for example, based on input or automatic input from a user who is a user of the user device 102, the ID designation unit 122 of the user device 102 designates a user ID to identify the user. In step 902, the user device 102 sends the user ID specified in step 901 to the second server 105 via the network 106. The second server 105 receives it. In step 903, the second server 105 identifies the wallet 410 associated with the user ID received in step 902. The data acquisition unit 153 of the second server 105 obtains the user public key 401 from the identified wallet 410. If auxiliary information 402 is registered in the wallet 410 along with the user public key 401, the data acquisition unit 153 also obtains the auxiliary information 402 from the wallet 410 along with the user public key 401. In that case, the second server 105 sends the auxiliary information 402 to the user device 102. Following step 901, in step 904, the user device 102 acquires the user's private key according to the processing performed in step 708 of the user registration process (Figure 7). For example, if in step 708 the user device 102 stored the user's private key in the user device DB 129, a recording medium such as a USB memory or IC card, or another terminal, in step 904 the user device 102 acquires the user's private key from that storage location. Also, for example, if in step 702 of the user registration process (Figure 7) the user key generation unit 121 of the user device 102 generated a user key pair based on a PIN, password, biometric information, etc., in step 904 the user key generation unit 121 generates and acquires the user's private key using the same method as in step 702. At this time, if auxiliary information 402, etc., is required for user private key generation, it is appropriately acquired from, for example, the user device DB 129, a recording medium or terminal, or the second server 105 (by sending and receiving auxiliary information 402 in step 903). After steps 903 and 904, user authentication is performed in step 905. For example, the authentication unit 123 of the user device 102 may use the user's private key, and the authentication unit 152 of the second server 105 may use the user's public key 401. As for user authentication methods, for example, the second server 105 may generate a challenge such as a random number and send it to the user device 102, the user device 102 may generate an electronic signature using an arbitrary signature algorithm with the user's private key, and the second server 105 may perform signature verification. If user authentication is successful in step 905, the process proceeds to the next step; if authentication fails, the data issuance process is stopped. If authentication is successful in step 905, in step 906, the data acquisition unit 153 of the second server 105 retrieves the encryption index 183 from the wallet 410 associated with the user ID received in step 902. The second server 105 sends the user public key 401 and the encryption index 183 to the user device 102 via the network 106. The user device 102 receives them. (Note that instead of the second server 105 sending the user public key 401, the user device 102 may use the user public key 401 generated in step 904 by the user key generation unit 121 of the user device 102 from this point onward.) Following step 906, in step 907, the user device 102 creates a data issuance request. The data issuance request is data that includes information to convey the details of the issuance request (for example, the type of data to be issued, its content, and identification documents). The user device 102 creates the information to be included in the data issuance request based on, for example, user input, automatic input, or data stored in the user device DB 129. At this time, the user device 102 may also include other issuance data held by the user as identification documents or qualification certificates in the data issuance request, or it may present such other issuance data separately. In this case, the user device 102 may use the data presentation and verification process described later. In step 908, the user device 102 transmits the user ID, user public key 401, and data issuance request to the issuer device 101 via the network 106. The issuer device 101 receives these. Although not shown in Figure 9, to prevent leakage of the issuance data content and identity document information included in the data issuance request, the encryption unit 126 of the user device 102 encrypts the data issuance request with the issuer device 101's public key to create an encrypted data issuance request. The user device 102 then transmits the encrypted data issuance request to the issuer device 101, and the issuer device 101 decrypts the received encrypted data issuance request with its private key to obtain the data issuance request. In steps 907 and 908, the user device 102 electronically creates a data issuance request and sends it to the issuer device 101, and the issuer device 101 receives the data issuance request. However, this can be done in other ways. For example, the issuer device 101 may create a data issuance request and send it to the user device 102, and the process may proceed to the next step after the user of the user device 102 confirms and approves its contents. Furthermore, the user and the issuer may submit the data issuance request in step 908 in person or remotely in writing or by telephone. In this case, the user's public key 401 may be separately transmitted from the user's device 102 to the issuer's device 101 via the network 106. Following step 908, user authentication is performed in step 909. For user authentication, the authentication unit 123 of the user device 102 may use the user's private key, and the authentication unit 112 of the issuer device 101 may use the user's public key 401. The user authentication method is the same as the method described in step 905, so the explanation is omitted. If user authentication is successful in step 909, the process proceeds to the next step; if authentication fails, the data issuance process is stopped. As described above, if the user and issuer submit the data issuance application in step 908 in person or remotely via written document or telephone, the user's identity may be verified by a separate method. If user authentication is successful in step 909, in step 910, the data generation unit 113 of the issuer device 101 generates issue data 171 based on the data issuance request received in step 908. The data generation unit 113 may generate issue data 171 by, for example, retrieving data already stored in the issuer DB 116, or it may generate issue data 171 based on input from the issuer or user. Furthermore, if the issuer device 101 and the first server 104 have registered the issuer ID, public key ID, and issuer public key together in the first server DB 143 in steps 603 and 604 of the issuer registration process (Figure 6), the data generation unit 113 may include the same issuer ID and public key ID in the issue data 171. In step 911, the issuer device 101 obtains the issuer secret key generated in step 601 of the issuer registration process (Figure 6). For example, the issuer device 101 obtains the issuer secret key from a storage medium, data storage, or issuer DB 116 owned by a user of the issuer device 101. In step 912, the signature generation unit 114 of the issuer device 101 generates an electronic signature for the issue data 171 using the issuer's private key. Also, if the issuer device 101 and the first server 104 have registered the issuer ID, public key ID, and issuer public key together in the first server DB 143 in steps 603 and 604 of the issuer registration process (Figure 6), the same issuer ID and public key ID may be associated with the electronic signature. In step 913, the encryption unit 115 of the issuer device 101 encrypts the issuance data 171 and the digital signature with the user public key 401 received in step 908 to obtain encrypted issuance data 172. At this time, the encryption unit 115 may combine the issuance data 171 and the digital signature into a single data file and then encrypt it to obtain encrypted issuance data 172, or it may encrypt them individually to obtain encrypted issuance data 172 (if they are encrypted individually, the encrypted issuance data 171 may be called encrypted issuance data 172, or the data encompassing both the encrypted issuance data and the encrypted digital signature may be called encrypted issuance data 172). When combining them into a single data file, the encryption unit 115 may combine them in the VC format described in Non-Patent Literature 1, for example. If the encryption unit 115 encrypts the issuance data 171 and the digital signature individually, it is necessary to link the issuance data 171 and the digital signature in another way. For the sake of simplicity, in the following explanation, we will assume that in step 913, the encryption unit 115 combines the issuance data 171 and the digital signature into a single data file, then encrypts it to obtain encrypted issuance data 172. In step 914, the issuer device 101 transmits the encrypted issuance data 172 generated in step 913 to the user device 102 via the network 106. The user device 102 receives it. In step 915, the decryption unit 127 of the user device 102 uses the user secret key obtained in step 904 to decrypt the encrypted issuance data 172 received in step 914 and the encrypted index 183 received in step 906, obtaining issuance data 171 and index 181, respectively. In step 916, the person handling the user device 102 (the user) verifies the information in the decoded issued data 171. For example, the user device 102 identifies the information contained in the issued data 171 (for example, the data type 802, issuer 803, listed items and their values ​​804, as shown in Figure 8) and displays / outputs this information to the display / output device 506 (for example, a display) of the user device 102. The user verifies the information in the issued data 171. If the information in the issued data 171 is correct, the process proceeds to the next step; if there is an error in the information in the issued data 171, the data issuance process is stopped. In step 917, the ID designation unit 122 of the user device 102 specifies the data ID for the issued data 171 (encrypted issued data 172) either by user input or automatic input. In step 918 (indexing step), the indexing unit 124 of the user device 102 performs the registration process to the index (Figure 10) to associate the information of the issued data 171 with the data ID and register it in the index 181 after it has been decoded in step 915.

[0025] Figure 10 is a flowchart showing the index registration process performed in step 918 (index processing step) of the data issuance process (Figure 9). In step 1001 of Figure 10, the index processing unit 124 refers to the issued data 171 and identifies the information contained in the issued data 171 (for example, the data type 802, the issuer 803, the listed items and their values ​​804). This information identification process may be the same as the identification process performed by the user in step 916 to confirm the information of the issued data. In that case, step 1001 may be omitted, and the information identified in step 916 may be used in step 1002. In step 1002, the issued data information display unit 311 of the index processing unit 124 displays the information identified in step 1001 on the display / output device 506 (for example, a display) of the user device 102, prompting the user to select information to register in index 181. Since the primary purpose of index 181 is to assist in the selection of issued data 171 (encrypted issued data 172), it may be convenient for the user if the data type 802 of each issued data 171 is included in index 181. Therefore, when the registration pre-selection unit 312 of the index processing unit 124 prompts the user to select information to register in index 181, it may recommend the selection of data type 802 or control the display on the user device 102's display / output device 506 (e.g., display) to indicate that it has already been selected (pre-selected). At this time (when recommending / pre-selecting), the registration pre-selection unit 312 may also recommend or pre-select other information based on, for example, the information identification process in step 1001 or recommendations from the issuer (issuer device 101), and reflect this in the display on the user device 102's display / output device 506 (e.g., display). By recommending or pre-selecting this information, it is possible to assist the user in selecting information to register in index 181. Figure 11 is an example of a screen that prompts the user to select information to be registered in index 181, which is displayed on the display / output device 506 (e.g., a display) of the user device 102 in step 1002. The screen 1100, which prompts the user to select information to register in index 181, displays a message 1101 prompting the user to select information to register, an interface 1102 that displays the information identified in step 1001 and allows the user to select information to register, and a "Next" button 1103 that, when pressed, transitions control to step 1003. Interface 1102 allows the user to select information to register, for example, using checkboxes. Interface 1102 allows the user to choose whether to register only the item name or both the item name and its value for each entry item and its value 804. The "Next" button 1103 may be deactivated (cannot be pressed) until one or more pieces of information to register are selected in interface 1102. Let's return to the explanation in Figure 10. After step 1002 in Figure 10, in step 1003, the person handling the user device 102 (the user) selects the information to be registered in index 181. If the registration pre-selection unit 312 controlled the pre-selection of the information to be registered in index 181 in step 1002, the user may cancel that pre-selection in step 1003. The registration reception unit 313 of the index processing unit 124 receives the information regarding the selection of information to be registered in index 181 made by the user in step 1003. Figure 12 is an example of a screen displayed when the user selects information to be registered in index 181 in step 1003. The example in Figure 12 shows the screen when "Data Type 802", "Issuer 803", "Item Name" and "Item Value" for item 804 (name), "Item Name" for item 804 (date of birth), and "Item Name" for item 804 (address) are selected (in Figure 12, these are indicated by check marks). When the "Next" button 1103 is pressed in Figure 12, the index processing unit 124 transitions control from step 1003 to step 1004. Let's return to the explanation in Figure 10. In step 1004 of Figure 10, the issued data information display unit 311 displays a confirmation request on the display / output device 506 (for example, a display) of the user device 102 to confirm whether there are any errors in the information selected by the user in step 1003 (the selection of information to be registered in index 181). If the user selects YES (no errors), the process proceeds to the next step; if the user selects NO (there are errors), the process returns to step 1002. Figure 13 is an example of a screen that prompts the user to confirm the information to be registered in the index 181, which is displayed on the display / output device 506 (e.g., a display) of the user device 102 in step 1004. The screen 1300 that prompts the user to confirm the information to be registered displays a message 1304 prompting confirmation of the information to be registered, an interface 1305 that displays the information to be registered selected in step 1003, a "Yes" button 1306 that, when pressed, causes the index processing unit 124 to transition control to step 1005, and a "No" button 1307 that, when pressed, returns to step 1002. Let's return to the explanation in Figure 10. In step 1005 of Figure 10, the registration reception unit 313 registers the information selected in step 1003 and the data ID specified in step 917 in index 181. For example, the registration reception unit 313 adds a new row (record 810) to table 800 (which is index 181) shown in Figure 8, and registers the data ID 801, data type 802, issuer 803, description items and their values ​​804 included in the record 810. Note that since the registration to record 810 is performed according to the information selection made in step 1003, it is not guaranteed that information for all items that may be included in the record 810 will be registered. Also, if the data ID 801 can be determined from the position of record 810 in table 800, it is not necessary to register the data ID 801 in record 810. Figure 14 is an example of a screen that notifies the user in step 1005 that registration to index 181, which is displayed on the display / output device 506 (e.g., a display) of the user device 102, is complete. The screen 1400 that notifies the user that information has been registered to index 181 displays a message 1408 notifying the user that registration is complete. The content, interface, and methods for selecting information to register shown in Figures 11 to 14 are examples only and are not limited to these.

[0026] In this way, the device 102 allows the person handling the device 102 (such as a user) to select the information to be registered in the index 181 when obtaining the issued data 171. Therefore, when performing search processing using information registered in Index 181, it is possible to use information that has been selectively filtered. In addition, when users view the information registered in Index 181, they can access information that is highly visible. Device 102 controls the system to display candidate information to be registered in index 181 when a user or other person makes an input indicating the selection of information to be registered in index 181. Therefore, users can easily select the information to be registered in index 181 from the displayed list of candidates, thus simplifying the input process for making that selection. Device 102 controls the system to display a prompt to select information recommended for registration in index 181, or to pre-select information to be registered in index 181. Device 102 can also cancel the pre-selected state. Therefore, it becomes easier for users to select information that is recommended for registration in Index 181.

[0027] This concludes the explanation of Figure 10 (step 918 in Figure 9), and we will now return to the explanation of Figure 9. After step 918 in Figure 9, in step 919 (encryption step), the encryption unit 126 of the user device 102 uses the user public key 401 received in step 906 (or generated in step 904) to encrypt the issued data 171 and index 181 (updated index 182), respectively, resulting in encrypted issued data 172 and encrypted index 183. In step 920, the user device 102 sends the user ID, data ID, encrypted issuance data 172, and encrypted index 183 to the second server 105 via the network 106. The second server 105 receives these. In step 921, the second server 105 identifies the wallet 410 associated with the user ID received in step 920. The data registration unit 151 of the second server 105 registers the encrypted index 183 and the encrypted issuance data 172 associated with the data ID received in step 920 to the identified wallet 410. At this time, the data registration unit 151 overwrites or deletes the previous encrypted index 183. After step 920 (or step 915), in step 922, the user device 102 deletes the user private key.

[0028] In the data issuance process described above, it is possible that several hours to several days may be required between steps 909 and 914. For example, after step 909, the issuer may need to verify the documents required for the issuance data 171 issued in step 910, and this process may take several hours to several days. In this case, to prevent leakage of the user's private key from the storage device 502 of the user device 102, for example, the user device 102 may delete the user's private key after a certain period of time has elapsed since step 909. If the user's private key is deleted, before executing step 914, the user device 102 and the second server 105 perform steps 901 to 906, the user device 102 sends the user ID and user public key 401 to the issuer device 101, and the user device 102 and the issuer device 101 perform user authentication in the same manner as in step 909.

[0029] 3-4. Data Presentation and Verification Process Figures 15 and 16 are sequence diagrams showing the data presentation and verification process performed by the user (user device 102) in the data management system 109 to present data 174 to the verifier (verifier device 103) for verification. Figure 16 is a continuation of Figure 15. Steps 1501 to 1506 are the same as steps 901 to 906 of the data issuance process (Figure 9), so their explanation is omitted. In step 1507 of Figure 15, the user device 102 transmits the user ID specified in step 1501 and the user public key 401 received in step 1506 to the verifier device 103 via the network 106. The verifier device 103 receives them. Following step 1507, step 1508 performs user authentication. For user authentication, the authentication unit 123 of the user device 102 uses the user's private key obtained in step 1504, and the authentication unit 131 of the verifier device 103 uses the user's public key 401. The user authentication method is the same as the method described in step 905, so the explanation is omitted. If user authentication is successful in step 1508, the process proceeds to the next step; if authentication fails, the data presentation and verification process is stopped. In step 1509, the verifier device 103 may specify a presentation request that indicates the information to be included in the presentation data 174. The verifier device 103 may specify one or more combinations of the presentation request, such as the data type 802, issuer 803, and the items to be included and their values ​​804. For example, if the presentation request is for presentation data 174 showing a driver's license, the verifier device 103 may specify the presentation request in the format "Data type: Driver's license". As another example, if the presentation request is for date of birth and gender information to be included in the presentation data 174, the verifier device 103 may specify the presentation request in the format "Items to be included: Date of birth, Gender". The above-mentioned format for specifying the presentation request is just an example, and it may be specified in other formats. In step 1510, the verifier device 103 transmits the presentation request content specified in step 1509 to the user device 102 via the network 106. The user device 102 receives it. Following step 1510, in step 1511 (index decryption step), the decryption unit 127 of the user device 102 uses the user's secret key obtained in step 1504 to decrypt the encrypted index 183 received in step 1506, creating a decrypted index 184. In step 1512 (search step), the search unit 125 of the user device 102 uses the presentation request content received in step 1510 and the decrypted index 184 obtained by decryption in step 1511 to perform a search process on the decrypted index 184 and select one or more encrypted issuance data 172.

[0030] Figure 17 is a flowchart showing the search process on the index performed in step 1512 (search step) of the data presentation and verification process (Figures 15 and 16). In step 1701 of Figure 17, the presentation request display unit 321 of the search unit 125 controls the display / output device 506 (e.g., a display) of the user device 102 to display the presentation request content received in step 1510. This presentation request content indicates the information to be included in the presentation data 174. For example, the presentation request display unit 321 may be controlled to display the message 1801 indicating the presentation request content, as shown in Figures 18 to 21. In step 1702, the person (user) handling the user device 102 specifies the search conditions to be applied to the decoded index 184, based on the presented request. To enable this specification of search conditions, the condition candidate display unit 322 of the search unit 125 controls the display / output device 506 (e.g., display) of the user device 102 to display selectable search conditions. The condition candidate display unit 322 may be controlled to display, for example, the interface 1802 that allows selection of search conditions, as shown in Figures 18 to 20. In addition, the condition receiving unit 323 of the search unit 125 operates to receive input indicating the search conditions from the user. Furthermore, upon receiving the input indicating the received search conditions, the condition specification unit 324 of the search unit 125 specifies the search conditions. When specifying these search criteria, you may proceed to the following steps without specifying any search criteria (without narrowing down record 810 by specifying search criteria). In addition, instead of the user manually specifying the search conditions in step 1702, the automatic condition unit 325 of the search unit 125 may automatically specify the search conditions based on the requested content. In step 1703, the matching information identification unit 326 of the search unit 125 performs a search in the decrypted index 184 based on the specified search conditions, and the record 810 (and the encrypted issuance data 172 corresponding to the record 810) that holds information matching the search conditions is used as the search result. At this time, if two or more components of the search conditions are specified, the matching information identification unit 326 may include only the record 810 that contains all of the components in the search result, or it may include any record 810 that contains any of the components. In other words, the search condition may be the product of the components or the sum of the components. Also, if no search conditions are specified in step 1702, the matching information identification unit 326 uses all the records 810 (and the encrypted issuance data 172 corresponding to the record 810) registered in the decrypted index 184 as the search result. In step 1704, the search result display unit 327 of the search unit 125 controls the display / output device 506 (e.g., a display) of the user device 102 to display the search results from step 1703. Figures 18 and 19 show the screens displayed on the display / output device 506 (e.g., a display) of the user device 102 when the search result display unit 327 is controlled to display the search results in step 1704. In both Figure 18 and Figure 19, the screen 1800 prompting the selection of issuance data 171 (encrypted issuance data 172) displays a message 1801 showing the request content, an interface 1802 enabling the selection of search conditions, an interface 1803 enabling data selection, and a "Select" button 1804. The message 1801 showing the request content is based on the control of the request display unit 321, as described above. The interface 1802 enabling the selection of search conditions displays selectable search condition candidates based on the control of the condition candidate display unit 322, and enables input indicating search conditions, for example, by entering into checkboxes (input to select components of the search conditions), based on the control of the condition reception unit 323. In this way, the interface 1802 enabling the selection of search conditions makes the search conditions selectable. The interface 1803, which enables data selection, displays a list of search results, records 810 (encrypted issued data 172), based on the control of the search result display unit 327, and enables input indicating the selection of record 810 (encrypted issued data 172), for example, by checking a checkbox (input to select record 810), based on the control of the issued data selection reception unit 328. In this way, the interface 1803, which enables data selection, enables the selection of encrypted issued data 172. The "Select" button 1804 is for causing the search unit 125 to transition control from step 1707 to step 1708 when the button is pressed. The "Select" button 1804 may be deactivated (cannot be pressed) until one or more records 810 (corresponding to encrypted issued data 172) are selected in the interface 1803 that enables data selection. If the search conditions are changed in the interface 1802 that allows selection of search conditions (for example, if the input in the checkbox is changed within the interface 1802 that allows selection of search conditions), the matching information identification unit 326 performs a search on the decoded index 184 based on the new search conditions and obtains new search results. The search result display unit 327 controls the interface 1803 that allows selection of data to display (update the display content) the records 810 included in the new search results. Figure 18 is an example of a screen that displays all records 810 (encrypted issuance data 172) included in the decrypted index 184 as search results, when no search conditions are specified. Figure 19 is an example of a screen that displays records 810 (encrypted issuance data 172) that match the search conditions, after "date of birth" and "gender" have been specified as components of the search conditions. Let's return to the explanation in Figure 17. Following step 1704 in Figure 17, in step 1705, the search result display unit 327 and the issuance data selection receiving unit 328 prompt the person handling the user device 102 (user) to select the encrypted issuance data 172 to be used to prepare the presentation data 174 from the record 810 (corresponding encrypted issuance data 172) included in the search results displayed in step 1704. For example, in Figures 18 and 19, the search result display unit 327 and the issuance data selection receiving unit 328 may prompt the user to select the record 810 (encrypted issuance data 172) via an interface 1803 that enables data selection. Following steps 1704 and 1705, in step 1706, the condition receiving unit 323 determines whether the search conditions have been changed. For example, in Figures 18 and 19, the condition receiving unit 323 may determine whether the search conditions have been changed by detecting whether the input of the checkbox in the interface 1802 that enables the selection of search conditions has been changed. If the search conditions have been changed (YES), the process returns to step 1703, and the matching information identification unit 326 performs a search again based on the changed search conditions. In this case, if no search conditions are specified as a result of the search conditions being changed, the search results will be all records 810 held in the decoded index 184, as described above. If the search conditions have not been changed (NO), control proceeds to step 1707. In step 1707, the user selects one or more records 810 (corresponding to encrypted issuance data 172) from the displayed search results. For example, in Figures 18 and 19 above, the issuance data selection receiving unit 328 may detect the selected records 810 (corresponding to encrypted issuance data 172) by the user entering information into checkboxes in the interface 1803 that enables data selection. Figure 20 is an example of the screen when, in step 1707, the person handling the user device 102 (the user) selects record 810 (corresponding to encrypted issuance data 172) by entering information into the checkbox in the interface 1803 that enables data selection. Figure 20 is a screen similar to Figures 18 and 19, but in Figure 20, the user has entered information into the checkbox corresponding to record 810 in the interface 1803 that enables data selection. This is indicated by a check mark in Figure 20. As mentioned above, when the "Select" button 1804 is pressed in Figure 20, the search unit 125 transitions control from step 1707 to step 1708. Let's return to the explanation in Figure 17. After step 1707 in Figure 17, in step 1708, the issuance data selection receiving unit 328 controls the display / output device 506 (e.g., display) of the user device 102 to display a confirmation request to check whether there are any errors in one or more records 810 (corresponding encrypted issuance data 172) selected in step 1707. If the user selects YES (no errors), the process proceeds to the next step; if the user selects NO (errors), the process returns to step 1703. Figure 21 is an example of a screen that prompts the user to confirm the selection of record 810 (corresponding encrypted issuance data 172) displayed on the display / output device 506 (e.g., a display) of the user device 102 in step 1708. The confirmation prompt screen 2100 may display a message 1801 that displays the presentation request content, a confirmation prompt message 2105, an interface 2106 that displays the record 810 (corresponding encrypted issuance data 172) selected in step 1707, a "Yes" button 2107, and a "No" button 2108. If the user presses the "Yes" button 2107, the search unit 125 transitions control from step 1708 to step 1709. If the user presses the "No" button 2108, the search unit 125 transitions control from step 1708 to step 1703. The example screens shown in Figures 19 and 20 show cases where the search results and selected data contain a single record 810, but are not limited to these cases. For example, if the search results contain multiple records 810, multiple records 810 may be selected in step 1707. In this case, in step 1708 (Figure 21), all selected data may be displayed on a confirmation screen to prompt the user to confirm the selected data. The content and interface displayed on each message and button shown in Figures 18 to 21, the search criteria, and the method for selecting record 810 (corresponding to encrypted issuance data 172) are examples only and are not limited to these. Let's return to the explanation in Figure 17. In step 1709 of Figure 17, the search unit 125 asks the user if there are any other records 810 that they would like to select besides the record 810 (corresponding encrypted issuance data 172) selected in step 1707. If there are other records 810 (corresponding encrypted issuance data 172) that the user would like to select (YES), the unit returns to step 1703. If there are no other records 810 that the user would like to select (NO), the search unit 125 terminates the search process shown in Figure 17 and transitions control to step 1513 of the data presentation and verification process (Figure 15).

[0031] Here, referring to Figures 17 through 21, as well as Figure 8, we will describe several specific examples of the search process using the index (index 181, decoded index 184). The first specific example is when the requested information is "driver's license". In this case, in step 1702, "driver's license" is specified as the search condition, either automatically or by user input. In step 1703, the matching information identification unit 326 searches for record 810 in table 800 where the data type 802 is "driver's license". In step 1704, the search results are displayed. In the example in Figure 8, record 810 associated with data ID 1 is displayed as the search result. In step 1707, the user selects this record 810 (and the corresponding encrypted issuance data 172). In step 1708, the selection is confirmed by verifying the selected record 810. If there are no other records 810 (and corresponding encrypted issuance data 172) that the user wants to select, the search process in Figure 17 is terminated. The data ID related to the selected record 810 (data ID 1 in the example in Figure 8) is obtained from the decrypted index 184 in step 1513 of the data presentation and verification process (Figures 15 and 16). The second specific example is when the request for presentation is for an "academic transcript," and the user wants to present an academic transcript from a university. In this case, "academic transcript" is specified as the search condition. The matching information identification unit 326 searches for records 810 whose data type 802 is "academic transcript." In the example in Figure 8, records 810 associated with data ID 2 and data ID 3 are displayed as search results. The user selects a record 810 from this list whose "Issuer: B University" is confirmed, and the selected record 810 (and the corresponding encrypted issuance data 172) is verified. The data ID 2 related to the selected record 810 is obtained from the decrypted index 184 in step 1513 of the data presentation and verification process (Figures 15 and 16). The third specific example is when the requested information is "date of birth" and "gender." In this case, both "date of birth" and "gender" are set as components of the search condition. The matching information identification unit 326 searches for record 810 in the index (table 800) based on the components of the set search condition. From the search results, record 810 (corresponding encrypted issuance data 172) is selected. In the example in Figure 8, if the matching information identification unit 326 searches for record 810 that contains both items (components), only data ID 4 will be the search result. If the search is performed on record 810 that contains either item (component), data IDs 1 to 4 will be the search results. A fourth specific example is when the requested information is "date of birth" and "gender," and a discount is available if a purchase history from "E" is presented. In this case, similar to the third specific example, the matching information identification unit 326 searches the index (table 800) using "date of birth" and "gender" as search criteria. From the search results, record 810 (corresponding encrypted issuance data 172) is selected. Next, the matching information identification unit 326 may search for record 810 in the index (table 800) using "purchase history" as the search criterion. Then, from the search results, the corresponding record 810 (corresponding encrypted issuance data 172) may be selected. In the example in Figure 8, for example, data ID 4 and data ID 5 are selected in their respective search processes (as data IDs related to the selected record 810). The search processes and specific examples described here are just examples, and the contents of record 810, etc., are not limited to these.

[0032] In this way, the device 102 allows the person handling the device 102 (user, etc.) to select the encrypted issued data 172 when preparing the presentation data 174 to be presented for verification. Therefore, users can visually confirm and select the appropriate encrypted data for the presentation data 174. Furthermore, when creating presentation data 174 to be presented for verification, device 102 controls the system to display selectable search criteria for searching the information registered in the decrypted index 184. The user makes an input indicating the search criteria by selecting from the candidates. Based on this input, device 102 specifies the search criteria, identifies a record 810 (encrypted issued data 172) that contains information matching the search criteria, and controls the system to display the identified record 810 (encrypted issued data 172). The user then selects the encrypted issued data 172 to be used when preparing the presentation data 174 from among the displayed records 810 (encrypted issued data 172). Therefore, users can easily input search criteria by selecting from a list of available candidates. Furthermore, users can easily input their selection of record 810 (encrypted issuance data 172) from among the records 810 (encrypted issuance data 172) that have been narrowed down based on the search criteria. Furthermore, the device 102 is controlled to display the information that should be included in the presentation data 174 presented for verification. Therefore, it is easier for users to consider the information that should be included in the presented data 174 when entering search criteria or when selecting record 810 (encrypted issued data 172).

[0033] Let's return to the explanation in Figure 15. In step 1513 of Figure 15, the ID designation unit 122 of the user device 102 retrieves and specifies the data ID of each record 810 (corresponding to encrypted issuance data 172) selected in step 1512 from the decrypted index 184. In step 1514, the user device 102 sends the user ID specified in step 1501 and each data ID specified in step 1513 to the second server 105 via the network 106. The second server 105 receives these. In step 1515, the second server 105 identifies the wallet 410 associated with the user ID received in step 1514. The data acquisition unit 153 of the second server 105 acquires each encrypted issuance data 172 associated with each data ID received in step 1514 from the wallet 410. In step 1516, the second server 105 transmits each encrypted issuance data 172 obtained in step 1515 to the user device 102 via the network 106. The user device 102 receives it. In step 1517 (decryption step of issued data), the decryption unit 127 of the user device 102 uses the user's secret key obtained in step 1504 to decrypt each encrypted issued data 172 received in step 1516, resulting in decrypted issued data 173. In step 1518, the user device 102 prepares (creates) presentation data using each decrypted issued data 173 after decryption in step 1517. For example, the user device 102 may combine each decrypted issued data 173 into one to prepare (create) presentation data. The presentation data may include information such as the recipient, purpose of presentation, presentation consent form, and random numbers to prevent reuse. At this time, if the electronic signature attached to the decrypted issued data 173 is created using a signature scheme that enables the presentation and verification of partial data using zero-knowledge proofs, such as the BBS+ signature scheme, the user may select (or the user device 102 may automatically select) the information to be presented from the decrypted issued data 173, and the user device 102 may prepare (create) presentation data based on the selected information. In step 1519, the signature generation unit 128 of the user device 102 generates an electronic signature for the presentation data using the user's private key obtained in step 1504. In step 1520, the user device 102 transmits the user public key 401 obtained in step 1506 (or generated in step 1504), the presentation data 174 (a single data file containing the presentation data generated in step 1518 and the digital signature generated in step 1519) to the verifier device 103 via the network 106. The verifier device 103 receives these. At this time, the presentation data 174 may be in the VP format described in Non-Patent Literature 1, for example. Although omitted in Figures 15 and 16, to prevent information leakage of the presentation data 174, the encryption unit 126 of the user device 102 may encrypt the presentation data 174 with the public key of the verifier device 103 to obtain encrypted presentation data. The user device 102 then transmits the encrypted presentation data to the verifier device 103, and the verifier device 103 decrypts the received encrypted presentation data with its private key to obtain the presentation data 174. The explanation will now move from Figure 15 to Figure 16. Following step 1520 in Figure 16, in step 1521, the signature verification unit 132 of the verifier device 103 verifies the electronic signature of the presented data 174 using the user public key 401. If the signature verification is successful in step 1521, the process proceeds to the next step; if the signature verification fails, the data presentation and verification process is terminated. In step 1522, the verifier device 103 retrieves each piece of information from the presented data 174, verifies the content and issuer of each piece of information, and verifies the issuer ID and public key ID if they are included. In step 1523, the verifier device 103 requests the issuer public key of each issuer of the information confirmed in step 1522 from the first server 104 via the network 106. In step 1524, the data acquisition unit 142 of the first server 104 acquires each issuer public key requested by the verifier device 103 in step 1523 from the first server DB 143. In step 1525, the first server 104 sends each issuer public key obtained in step 1524 to the verifier device 103 via the network 106. The verifier device 103 receives them. In step 1526, the signature verification unit 132 of the verifier device 103 verifies the digital signature of each piece of information using the issuer's public key received in step 1525, which corresponds to the digital signature of each piece of information obtained in step 1522.

[0034] In the data presentation and verification process described above, the content to be presented was specified from the verifier device 103 to the user device 102 in steps 1509 and 1510, but these steps may be omitted. In this case, in step 1512, only the decrypted index 184 obtained in step 1511 is used to perform a search process on the index and select the encrypted issuance data 172 to be used to prepare the presentation data 174. The content to be presented may also be specified in person or remotely in writing or by telephone.

[0035] 4. Other (Variations) This disclosure is not limited to the embodiments described above and includes various modifications. The above is a detailed explanation for the purpose of facilitating understanding of this disclosure, and this disclosure is not necessarily limited to having all the configurations and processes described. Some of the configurations and processes of the embodiments can be replaced with configurations and processes of other embodiments that may be conceivable. Other configurations and processes of other embodiments can be added to the configurations and processes of the embodiments. Furthermore, some of the configurations and processes of the embodiments can be added, deleted, or replaced with other configurations and processes. Furthermore, the following variations are also possible.

[0036] (A) Automation As shown in Figure 3, for each of the following steps, the user can choose between a manual method involving the user and an automated method that does not involve the user: (1) selecting the information to be registered in index 181, (2) specifying search conditions for each record 810 included in the decrypted index 184, and (3) selecting the encrypted issuance data 172 to be used to prepare the presented data 174 from the record 810 (corresponding encrypted issuance data 172) that matches the information that matches the search conditions. (1) The automation of selecting information to be registered in index 181 can be achieved by providing an automatic registration unit 314 in the index processing unit 124. The automatic registration unit 314 appropriately selects information to be registered in index 181 based on the information contained in the issued issuance data 171. For example, the automatic registration unit 314 may select all of the information contained in the issuance data 171 that is meaningful to be registered in index 181 (for example, electronic signatures are excluded) as information to be registered in index 181. Alternatively, the automatic registration unit 314 may select only a specific part of the information contained in the issuance data 171 that conforms to predetermined rules as information to be registered in index 181. The automatic registration unit 314 then updates index 181 by registering the selected information in index 181. (2) The automation of specifying search conditions for each record 810 included in the decoded index 184 can be achieved by providing the search unit 125 with an automatic condition unit 325. The automatic condition unit 325 appropriately specifies search conditions for each record 810 included in the decoded index 184. For example, if each piece of information that should be included in the presented data 174 can be associated with each component of the search condition, the automatic condition unit 325 may specify a search condition to extract a record 810 that contains all of the components in a single record 810 (specifying the product of the components). Alternatively, the automatic condition unit 325 may specify a search condition to extract a record 810 that contains any of the components (specifying the sum of the components). Alternatively, the automatic condition unit 325 may first specify the product of the components, and if no record 810 matches the search condition specified by that specification, then specify the sum of the components. (3) The automation of selecting encrypted issuance data 172 to be used to prepare presentation data 174 from record 810 (corresponding encrypted issuance data 172) corresponding to information matching the search conditions can be achieved by providing the search unit 125 with an automatic issuance data selection unit 329. The automatic issuance data selection unit 329 appropriately selects encrypted issuance data 172 to be used to prepare presentation data 174. For example, the automatic issuance data selection unit 329 may select encrypted issuance data 172 such that the number of encrypted issuance data 172 required to prepare presentation data 174 is minimized, based on the information that should be included in presentation data 174. Alternatively, the automatic issuance data selection unit 329 may select records 810 (encrypted issuance data 172) in the list of search results in order from the beginning, and the union of the selected records 810 (encrypted issuance data 172) at the point when it is possible to prepare presentation data 174 may be used as the record 810 (encrypted issuance data 172) to be selected. Furthermore, it is possible to choose which of the above (1), (2), or (3) to automate (or to configure the device 102 to allow for automation) as appropriate. Thus, the automation in (1) eliminates the need for the person handling the device 102 (user, etc.) to select the information to be registered in the index 181 when the issued data 171 is issued. Furthermore, the automation in (2) eliminates the need for the user, etc. to input search criteria when preparing the presentation data 174 to be presented for verification. In addition, the automation in (3) eliminates the need for the user, etc. to input the selection of encrypted issued data 172 when preparing the presentation data 174 to be presented for verification.

[0037] (B) Differentiating the use of keys In the above embodiment, the index 181 and each issued data 171 were encrypted with the same user public key 401. However, the index 181 and each issued data 171 may be encrypted with different public keys. When encrypted with different public keys, the device (user device) 102 generates a public key and private key pair using an arbitrary encryption scheme each time new issued data 171 is issued, and decrypts the issued data based on that key pair. In this case, the private key used for decryption may be managed in the same way as described in the above embodiment, or it may be encrypted with the user public key 401 and stored in the second server DB 154 together with the encrypted issued data 172. Encrypting index 181 and each issued data 171 with the same public key reduces the burden of key pair generation and private key management. Conversely, encrypting index 181 and each issued data 171 with different public keys improves the security of each issued data.

[0038] (C) Encryption method In the above embodiment, the index 181 and each issued data 171 are encrypted and decrypted using a public-key cryptography scheme. However, the index 181 and each issue data 171 may be encrypted and decrypted using a different method. For example, the index 181 and each issue data 171 may be encrypted using a symmetric-key cryptography scheme such as AES (Advanced Encryption Standard), and the symmetric key may be encrypted using a public-key cryptography scheme to protect the index 181 and each issue data 171. In this case, the encrypted symmetric key is transmitted and received between each device and each server together with the encrypted index 183 and the encrypted issue data 172. Thus, this disclosure can be widely applied regardless of the encryption method used.

[0039] (D) Variations without encryption The above embodiment involves the encryption and decryption of issued data, etc. However, this disclosure is still useful even if the likelihood of information leakage of the issued data is low, or if the damage caused by such leakage is expected to be minimal. If we consider a data management system that presents data based on issued data (e.g., user data) from the device (user data, etc.) to a verifier device without going through the issuer device, problems can be anticipated as the number of issued data issued to the user data increases. Specifically, as the number of issued data issued to the user data increases, the management of the issued data by the device (user data, etc.) may become more complicated. Furthermore, when the device (user data, etc.) prepares the presentation data to be presented for verification based on the issued data, the process of selecting the issued data issued to the user data may become more complicated. In other words, one challenge to be addressed is enabling the device (user, etc.) to efficiently manage the issued data issued to users, etc. Another challenge to be addressed is enabling the device (user, etc.) to efficiently select the issued data issued to users, etc., when preparing the data to be presented for verification based on the issued data. From the perspective of solving the above problems, a device (or a method or program having equivalent inventive features) having the following inventive features, which does not necessarily involve encryption of issued data or indices, can be said to solve the problems. "It is a device, The aforementioned device comprises an index processing unit and a search unit, The index processing unit updates the index by registering the information contained in the issued data into the index. The search unit, when preparing presentation data to be presented for verification, searches the information registered in the index and selects the issued data to be used to prepare the presentation data. Figure 22 shows the functional configuration of a device that does not require encryption. Compared to the functional configuration of the embodiment shown in Figure 1, the device 102A in Figure 22 does not necessarily have to have the encryption unit 126 and decryption unit 127 (which were present in Figure 1). If the issuance data 171 is not encrypted, the device 102A in Figure 22 uses an (unencrypted) index 183A instead of the encrypted index 183 in Figure 1, and uses (unencrypted) issuance data 171 instead of the encrypted issuance data 172 in Figure 1. Thus, except that the encryption and decryption of the issuance data 171 and index 181 do not necessarily have to be performed, the processing performed by each unit shown in Figure 22 is the same as the processing described with respect to Figure 1. If the device has the inventive features described above (the device shown in Figure 22), the above-mentioned problems are resolved and the issues are solved. In other words, by registering the information contained in each issued data 171 in index 181 (182, 183A, 184A), even if the number of issued data issued to users etc. increases, the issued data can be efficiently managed using index 181. Furthermore, when preparing presentation data 174 to be presented for verification, the information registered in index 181 can be searched to select the issued data 171 to be used to prepare the presentation data 174, so the selection process of issued data 171 can be performed efficiently. Thus, the method of managing the issued data 171 using index 181 in this disclosure solves the problem from the perspective of realizing the smooth utilization of the issued data 171, even if the possibility of information leakage of the contents of the issued data 171 is low, or if the damage in the event of leakage is expected to be low.

[0040] (E) System Configuration In the data management system 109 of the above embodiment, all or some of the configurations and functional units of each device may be implemented in other devices. For example, the issuer DB 116 may be provided in a device or server separate from the issuer device 101, and the issuer device 101 may acquire data from the issuer DB 116 via the network 106. Alternatively, for example, the functional units of the second server 105 and the second server DB 154 may be provided in the user device 102.

[0041] 5. Combinations of embodiments and variations The technical matters shown in each of the embodiments and modifications of the embodiments described above can be combined as appropriate, as long as no technical inconsistencies arise. (Note 1) It is a device, The aforementioned device comprises an index processing unit, an encryption unit, a decryption unit, and a search unit. The index processing unit updates the index by registering the information contained in the issued data into the index. The encryption unit encrypts the issuance data to create encrypted issuance data, and also encrypts the index updated by the index processing unit to create an encrypted index. The decryption unit, when preparing the data to be presented for verification, decrypts the encrypted index to create a decrypted index. The search unit searches for information registered in the decrypted index and selects the encrypted issuance data to be used to prepare the presentation data. The decryption unit decrypts the encrypted issuance data selected by the search unit to obtain decrypted issuance data. (Note 2) The apparatus described in (Appendix 1), The aforementioned index processing unit includes a registration information selection and reception control unit, The registration information selection receiving control unit is a device that controls the device to receive input indicating the selection of information to be registered in the index. (Note 3) The apparatus described in (Appendix 2), The aforementioned index processing unit includes an issue data information display control unit, The issued data information display control unit is a device that controls the display of candidate information to be registered in the index from among the information contained in the issued data. (Note 4) The apparatus described in (Appendix 3), The aforementioned index processing unit includes a pre-selection unit for registered information, The pre-selection unit for registration information identifies information from the issued data that is recommended to be registered in the index. The registration information pre-selection unit instructs the issued data information display control unit to display a prompt to select the specified information as information to be registered in the index, or instructs the registration information selection reception control unit to set the specified information to be pre-selected as information to be registered in the index. The registration information selection receiving control unit is capable of receiving input to cancel the selection of some or all of the specified information, even if the specified information has been selected in advance. (Note 5) The apparatus described in (Appendix 1), The aforementioned index processing unit includes a registration information automatic extraction unit, The aforementioned automatic registration information extraction unit is a device that extracts information to be registered in the index from the issued data based on predetermined rules. (Note 6) The apparatus described in (Appendix 1), The search unit includes a data selection and reception control unit, The device is configured such that the issuance data selection receiving control unit is controlled to receive input indicating the selection of the encrypted issuance data. (Note 7) The apparatus described in (Appendix 6), The search unit comprises a search condition candidate display control unit, a search condition selection reception control unit, a search condition specification unit, a search condition matching information identification unit, and a search result display control unit. The aforementioned search condition candidate display control unit controls the display of selectable search conditions, which are the conditions for searching the information registered in the decoded index. The aforementioned search condition selection receiving control unit is controlled to receive input indicating the search condition in a manner that selects from among the candidates that can be selected as the search condition, which are controlled to be displayed by the search condition candidate display control unit. The search condition specification unit specifies the search conditions according to the input indicating the search conditions received based on the control of the search condition selection reception control unit. The search condition matching information identification unit identifies the encrypted issuance data corresponding to the information that matches the search condition specified by the search condition specification unit, from among the information registered in the decrypted index for each encrypted issuance data. The search result display control unit controls the display of information corresponding to the encrypted issuance data identified by the search condition matching information identification unit. The device is configured such that the issuance data selection receiving control unit is controlled to receive an input indicating the selection of encrypted issuance data, in which case it selects from the encrypted issuance data corresponding to the information controlled to be displayed by the search result display control unit. (Note 8) The apparatus described in (Appendix 7), The search unit includes a control unit for displaying the requested content. The aforementioned display control unit for the presentation request content controls the display of information that should be included in the presentation data. (Note 9) The apparatus described in (Appendix 6), The search unit comprises an automatic search condition specification unit, a search condition matching information identification unit, and a search result display control unit. The aforementioned automatic search condition specification unit specifies the search conditions, which are the conditions for searching the information registered in the decoded index, based on the information that should be included in the presented data. The search condition matching information identification unit identifies the encrypted issuance data for each encrypted issuance data, from among the information registered in the decrypted index, that corresponds to the information that matches the search condition specified by the automatic search condition specification unit. The search result display control unit controls the display of information corresponding to the encrypted issuance data identified by the search condition matching information identification unit. The device is configured such that the issuance data selection receiving control unit is controlled to receive an input indicating the selection of encrypted issuance data, in which case it selects from the encrypted issuance data corresponding to the information controlled to be displayed by the search result display control unit. (Note 10) The apparatus described in (Appendix 1), The search unit comprises a search condition candidate display control unit, a search condition selection reception control unit, a search condition specification unit, a search condition matching information identification unit, and an automatic data issuance selection unit. The aforementioned search condition candidate display control unit controls the display of selectable search conditions, which are the conditions for searching the information registered in the decoded index. The aforementioned search condition selection receiving control unit is controlled to receive input indicating the search condition in a manner that selects from among the candidates that can be selected as the search condition, which are controlled to be displayed by the search condition candidate display control unit. The search condition specification unit specifies the search conditions according to the input indicating the search conditions received based on the control of the search condition selection reception control unit. The search condition matching information identification unit identifies the encrypted issuance data corresponding to the information that matches the search condition specified by the search condition specification unit, from among the information registered in the decrypted index for each encrypted issuance data. The device includes an automatic issuance data selection unit that selects one or more encrypted issuance data from the encrypted issuance data identified by the search condition matching information identification unit, and enables the provision of information that should be included in the presentation data based on the information contained in the selected one or more encrypted issuance data. (Note 11) In the apparatus described in (Appendix 1), The search unit includes an automatic search condition specification unit, a search condition matching information identification unit, and an automatic issue data selection unit. The aforementioned automatic search condition specification unit specifies the search conditions for searching the information registered in the decoded index based on the information that should be included in the presented data. The search condition matching information identification unit identifies the encrypted issuance data for each encrypted issuance data, from among the information registered in the decrypted index, that corresponds to the information that matches the search condition specified by the automatic search condition specification unit. The device includes an automatic issuance data selection unit that selects one or more encrypted issuance data from the encrypted issuance data identified by the search condition matching information identification unit, and enables the provision of information that should be included in the presentation data based on the information contained in the selected one or more encrypted issuance data. (Note 12) A data management system, The aforementioned data management system comprises one or more devices described in any of (Appendix 1) to (Appendix 11), one or more issuer devices that issue the issued data, and one or more verifier devices that receive and verify the presented data. The device described in any of (Appendix 1) to (Appendix 11) and the issuer device are mutually communicative, A data management system in which the device described in any of (Appendix 1) to (Appendix 11) and the verifier device are mutually communicative. (Note 13) (Appendix 12) The data management system described above, The aforementioned data management system may be equipped with a wallet for each user of the data management system. The aforementioned wallet stores the aforementioned cryptographic index for the person associated with the wallet, The wallet stores encrypted issuance data, which is obtained by individually encrypting each of the issuance data issued from each of the issuer devices for the person associated with that wallet. A data management system in which the aforementioned wallet is held on either a device handled by the person associated with the wallet, or a device capable of communicating with the device handled by the person associated with the wallet. (Note 14) An indexing process step to update the index by registering the information contained in the issued data into the index, An encryption step which encrypts the aforementioned issuance data to create encrypted issuance data, and also encrypts the index updated by the index processing step to create an encrypted index, When preparing the data to be presented for verification, the following steps are taken: an index decryption step in which the encrypted index is decrypted to create a decrypted index, A search step of searching for information registered in the decrypted index and selecting the encrypted issuance data to be used to prepare the presentation data, The system includes a decryption step for issue data, which decrypts the encrypted issue data selected by the search step to obtain decrypted issue data. The way a computer executes something. (Note 15) On the computer, An indexing process step to update the index by registering the information contained in the issued data into the index, An encryption step which encrypts the aforementioned issuance data to create encrypted issuance data, and also encrypts the index updated by the index processing step to create an encrypted index, When preparing the data to be presented for verification, the following steps are taken: an index decryption step in which the encrypted index is decrypted to create a decrypted index, A search step of searching for information registered in the decrypted index and selecting the encrypted issuance data to be used to prepare the presentation data, A program for executing a decryption step of issuance data, which decrypts the encrypted issuance data selected by the search step and converts it into decrypted issuance data.

Claims

1. It is a device, The aforementioned device comprises an index processing unit, an encryption unit, a decryption unit, and a search unit. The index processing unit updates the index by registering the information contained in the issued data into the index. The encryption unit encrypts the issuance data to create encrypted issuance data, and also encrypts the index updated by the index processing unit to create an encrypted index. The decryption unit, when preparing the data to be presented for verification, decrypts the encrypted index to create a decrypted index. The search unit searches for information registered in the decrypted index and selects the encrypted issuance data to be used to prepare the presentation data. The decryption unit decrypts the encrypted issuance data selected by the search unit and converts it into decrypted issuance data. The aforementioned index processing unit includes a registration information selection and reception control unit, The registration information selection receiving control unit is a device that controls the device to receive input indicating the selection of information to be registered in the index.

2. The apparatus according to Claim 1, The aforementioned index processing unit includes an issue data information display control unit, The issued data information display control unit is a device that controls the display of candidate information to be registered in the index from among the information contained in the issued data.

3. The apparatus according to claim 2, The aforementioned index processing unit includes a pre-selection unit for registered information, The pre-selection unit for registration information identifies information from the issued data that is recommended to be registered in the index. The registration information pre-selection unit instructs the issued data information display control unit to display a prompt to select the specified information as information to be registered in the index, or instructs the registration information selection reception control unit to set the specified information to be pre-selected as information to be registered in the index. The registration information selection receiving control unit is capable of receiving input to cancel the selection of some or all of the specified information, even if the specified information has been selected in advance.

4. It is a device, The aforementioned device comprises an index processing unit, an encryption unit, a decryption unit, and a search unit. The index processing unit updates the index by registering the information contained in the issued data into the index. The encryption unit encrypts the issuance data to create encrypted issuance data, and also encrypts the index updated by the index processing unit to create an encrypted index. The decryption unit, when preparing the data to be presented for verification, decrypts the encrypted index to create a decrypted index. The search unit searches for information registered in the decrypted index and selects the encrypted issuance data to be used to prepare the presentation data. The decryption unit decrypts the encrypted issuance data selected by the search unit and converts it into decrypted issuance data. The aforementioned index processing unit includes a registration information automatic extraction unit, The aforementioned automatic registration information extraction unit is a device that extracts information to be registered in the index from the issued data based on predetermined rules.

5. It is a device, The aforementioned device comprises an index processing unit, an encryption unit, a decryption unit, and a search unit. The index processing unit updates the index by registering the information contained in the issued data into the index. The encryption unit encrypts the issuance data to create encrypted issuance data, and also encrypts the index updated by the index processing unit to create an encrypted index. The decryption unit, when preparing the data to be presented for verification, decrypts the encrypted index to create a decrypted index. The search unit searches for information registered in the decrypted index and selects the encrypted issuance data to be used to prepare the presentation data. The decryption unit decrypts the encrypted issuance data selected by the search unit and converts it into decrypted issuance data. The search unit includes a data selection and reception control unit, The aforementioned issuance data selection receiving control unit controls to receive input indicating the selection of the encrypted issuance data, The search unit comprises a search condition candidate display control unit, a search condition selection reception control unit, a search condition specification unit, a search condition matching information identification unit, and a search result display control unit. The aforementioned search condition candidate display control unit controls the display of selectable search conditions, which are the conditions for searching the information registered in the decoded index. The aforementioned search condition selection receiving control unit is controlled to receive input indicating the search condition in a manner that selects from among the candidates that can be selected as the search condition, which are controlled to be displayed by the search condition candidate display control unit. The search condition specification unit specifies the search conditions according to the input indicating the search conditions received based on the control of the search condition selection reception control unit. The search condition matching information identification unit identifies the encrypted issuance data corresponding to the information that matches the search condition specified by the search condition specification unit, from among the information registered in the decrypted index for each encrypted issuance data. The search result display control unit controls the display of information corresponding to the encrypted issuance data identified by the search condition matching information identification unit. The device is configured such that the issuance data selection receiving control unit is controlled to receive an input indicating the selection of encrypted issuance data, in which case it selects from the encrypted issuance data corresponding to the information controlled to be displayed by the search result display control unit.

6. The apparatus according to claim 5, The search unit includes a control unit for displaying the requested content. The aforementioned display control unit for the presentation request content controls the display of information that should be included in the presentation data.

7. It is a device, The aforementioned device comprises an index processing unit, an encryption unit, a decryption unit, and a search unit. The index processing unit updates the index by registering the information contained in the issued data into the index. The encryption unit encrypts the issuance data to create encrypted issuance data, and also encrypts the index updated by the index processing unit to create an encrypted index. The decryption unit, when preparing the data to be presented for verification, decrypts the encrypted index to create a decrypted index. The search unit searches for information registered in the decrypted index and selects the encrypted issuance data to be used to prepare the presentation data. The decryption unit decrypts the encrypted issuance data selected by the search unit and converts it into decrypted issuance data. The search unit includes a data selection and reception control unit, The aforementioned issuance data selection receiving control unit controls to receive input indicating the selection of the encrypted issuance data, The search unit comprises an automatic search condition specification unit, a search condition matching information identification unit, and a search result display control unit. The aforementioned automatic search condition specification unit specifies the search conditions, which are the conditions for searching the information registered in the decoded index, based on the information that should be included in the presented data. The search condition matching information identification unit identifies the encrypted issuance data for each encrypted issuance data, from among the information registered in the decrypted index, that corresponds to the information that matches the search condition specified by the automatic search condition specification unit. The search result display control unit controls the display of information corresponding to the encrypted issuance data identified by the search condition matching information identification unit. The device is configured such that the issuance data selection receiving control unit is controlled to receive an input indicating the selection of encrypted issuance data, in which case it selects from the encrypted issuance data corresponding to the information controlled to be displayed by the search result display control unit.

8. It is a device, The aforementioned device comprises an index processing unit, an encryption unit, a decryption unit, and a search unit. The index processing unit updates the index by registering the information contained in the issued data into the index. The encryption unit encrypts the issuance data to create encrypted issuance data, and also encrypts the index updated by the index processing unit to create an encrypted index. The decryption unit, when preparing the data to be presented for verification, decrypts the encrypted index to create a decrypted index. The search unit searches for information registered in the decrypted index and selects the encrypted issuance data to be used to prepare the presentation data. The decryption unit decrypts the encrypted issuance data selected by the search unit and converts it into decrypted issuance data. The search unit comprises a search condition candidate display control unit, a search condition selection reception control unit, a search condition specification unit, a search condition matching information identification unit, and an automatic data issuance selection unit. The aforementioned search condition candidate display control unit controls the display of selectable search conditions, which are the conditions for searching the information registered in the decoded index. The aforementioned search condition selection receiving control unit is controlled to receive input indicating the search condition in a manner that selects from among the candidates that can be selected as the search condition, which are controlled to be displayed by the search condition candidate display control unit. The search condition specification unit specifies the search conditions according to the input indicating the search conditions received based on the control of the search condition selection reception control unit. The search condition matching information identification unit identifies the encrypted issuance data corresponding to the information that matches the search condition specified by the search condition specification unit, from among the information registered in the decrypted index for each encrypted issuance data. The device includes an automatic issuance data selection unit that selects one or more encrypted issuance data from the encrypted issuance data identified by the search condition matching information identification unit, and enables the provision of information that should be included in the presentation data based on the information contained in the selected one or more encrypted issuance data.

9. It is a device, The aforementioned device comprises an index processing unit, an encryption unit, a decryption unit, and a search unit. The index processing unit updates the index by registering the information contained in the issued data into the index. The encryption unit encrypts the issuance data to create encrypted issuance data, and also encrypts the index updated by the index processing unit to create an encrypted index. The decryption unit, when preparing the data to be presented for verification, decrypts the encrypted index to create a decrypted index. The search unit searches for information registered in the decrypted index and selects the encrypted issuance data to be used to prepare the presentation data. The decryption unit decrypts the encrypted issuance data selected by the search unit and converts it into decrypted issuance data. The search unit includes an automatic search condition specification unit, a search condition matching information identification unit, and an automatic issue data selection unit. The aforementioned automatic search condition specification unit specifies the search conditions for searching the information registered in the decoded index based on the information that should be included in the presented data. The search condition matching information identification unit identifies the encrypted issuance data for each encrypted issuance data, from among the information registered in the decrypted index, that corresponds to the information that matches the search condition specified by the automatic search condition specification unit. The device includes an automatic issuance data selection unit that selects one or more encrypted issuance data from the encrypted issuance data identified by the search condition matching information identification unit, and enables the provision of information that should be included in the presentation data based on the information contained in the selected one or more encrypted issuance data.

10. A data management system, The data management system comprises one or more devices according to any one of claims 1 to 9, one or more issuer devices that issue the issued data, and one or more verifier devices that receive and verify the presented data. The apparatus described in any of claims 1 to 9 and the issuer apparatus are mutually communicative, A data management system in which the apparatus described in any one of claims 1 to 9 and the verifier apparatus are mutually communicative.

11. A method performed by a computer, wherein the method is: An indexing process step to update the index by registering the information contained in the issued data into the index, An encryption step which encrypts the aforementioned issuance data to create encrypted issuance data, and also encrypts the index updated by the index processing step to create an encrypted index, When preparing the data to be presented for verification, the following steps are taken: an index decryption step in which the encrypted index is decrypted to create a decrypted index, A search step of searching for information registered in the decrypted index and selecting the encrypted issuance data to be used to prepare the presentation data, The system includes a decryption step for issue data, which decrypts the encrypted issue data selected by the search step to obtain decrypted issue data. The aforementioned index processing step includes a registration information selection acceptance control step, The aforementioned registration information selection acceptance control step controls the system to accept input indicating the selection of information to be registered in the index. The way a computer executes something.

12. A method performed by a computer, wherein the method is: An indexing process step to update the index by registering the information contained in the issued data into the index, An encryption step which encrypts the aforementioned issuance data to create encrypted issuance data, and also encrypts the index updated by the index processing step to create an encrypted index, When preparing the data to be presented for verification, the following steps are taken: an index decryption step in which the encrypted index is decrypted to create a decrypted index, A search step of searching for information registered in the decrypted index and selecting the encrypted issuance data to be used to prepare the presentation data, The system includes a decryption step for issue data, which decrypts the encrypted issue data selected by the search step to obtain decrypted issue data. The search step includes a data selection and acceptance control step, The aforementioned issuance data selection acceptance control step controls the system to accept an input indicating the selection of the encrypted issuance data, The search step comprises a search condition candidate display control step, a search condition selection acceptance control step, a search condition specification step, a search condition matching information identification step, and a search result display control step. The aforementioned search condition candidate display control step controls the display of candidates that can be selected as search conditions when searching for information registered in the decoded index. The aforementioned search condition selection acceptance control step controls the acceptance of input indicating the search condition in a manner that selects from among the candidates that can be selected as the search condition, which are controlled to be displayed by the aforementioned search condition candidate display control step. The search condition specification step specifies the search conditions according to the input indicating the search conditions received based on the control by the search condition selection acceptance control step. The step of identifying information that matches the search criteria involves identifying the encrypted issued data for each encrypted issued data, from among the information registered in the decrypted index, that corresponds to the information that matches the search criteria specified in the search criteria specification step. The search result display control step controls the display of information corresponding to the encrypted issuance data identified in the search condition matching information identification step. The aforementioned issuance data selection reception control step is controlled to receive input indicating the selection of encrypted issuance data, in a manner that selects from the encrypted issuance data corresponding to the information controlled to be displayed by the search result display control step. The way a computer executes something.

13. A program, The aforementioned program is installed on the computer. An indexing process step to update the index by registering the information contained in the issued data into the index, An encryption step which encrypts the aforementioned issuance data to create encrypted issuance data, and also encrypts the index updated by the index processing step to create an encrypted index, When preparing the data to be presented for verification, the following steps are taken: an index decryption step in which the encrypted index is decrypted to create a decrypted index, A search step of searching for information registered in the decrypted index and selecting the encrypted issuance data to be used to prepare the presentation data, This is to execute an issue data decryption step, which decrypts the encrypted issue data selected by the search step and converts it into decrypted issue data. The aforementioned index processing step includes a registration information selection acceptance control step, The aforementioned registration information selection acceptance control step controls the system to accept input indicating the selection of information to be registered in the index. program.

14. A program, The aforementioned program is installed on the computer. An indexing process step to update the index by registering the information contained in the issued data into the index, An encryption step which encrypts the aforementioned issuance data to create encrypted issuance data, and also encrypts the index updated by the index processing step to create an encrypted index, When preparing the data to be presented for verification, the following steps are taken: an index decryption step in which the encrypted index is decrypted to create a decrypted index, A search step of searching for information registered in the decrypted index and selecting the encrypted issuance data to be used to prepare the presentation data, This is to execute an issue data decryption step, which decrypts the encrypted issue data selected by the search step and converts it into decrypted issue data. The search step includes a data selection and acceptance control step, The aforementioned issuance data selection acceptance control step controls the system to accept an input indicating the selection of the encrypted issuance data, The search step comprises a search condition candidate display control step, a search condition selection acceptance control step, a search condition specification step, a search condition matching information identification step, and a search result display control step. The aforementioned search condition candidate display control step controls the display of candidates that can be selected as search conditions when searching for information registered in the decoded index. The aforementioned search condition selection acceptance control step controls the acceptance of input indicating the search condition in a manner that selects from among the candidates that can be selected as the search condition, which are controlled to be displayed by the aforementioned search condition candidate display control step. The search condition specification step specifies the search conditions according to the input indicating the search conditions received based on the control by the search condition selection acceptance control step. The step of identifying information that matches the search criteria involves identifying the encrypted issued data for each encrypted issued data, from among the information registered in the decrypted index, that corresponds to the information that matches the search criteria specified in the search criteria specification step. The search result display control step controls the display of information corresponding to the encrypted issuance data identified in the search condition matching information identification step. The aforementioned issuance data selection reception control step is controlled to receive input indicating the selection of encrypted issuance data, in a manner that selects from the encrypted issuance data corresponding to the information controlled to be displayed by the search result display control step. program.

Citation Information

Patent Citations

  • Method and device for retrieving enciphered file and computer readable recording medium

    JP2002108911A

  • Data management system, data management method, and data management program

    JP2022183562A