System, data provision method, and program

The system uses certificates and tokens to authenticate programs and set authorization information, allowing data providers to control data access based on program purpose and user identity, preventing unauthorized data usage.

JP2025129842APending Publication Date: 2025-09-05NEC SOLUTION INNOVATORS LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024026758
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-26
Publication Date
2025-09-05

AI Technical Summary

Technical Problem

Existing systems fail to control data provision based on the purpose of the program executed by the data user, allowing unauthorized data access even when the user has access rights.

Method used

A system comprising a first information processing device, an authentication device, and an authorization device that uses certificates and tokens to authenticate programs and set authorization information, determining data access based on the program's purpose and user identity.

Benefits of technology

Enables data providers to control data access according to the specific programs and users, preventing unauthorized data usage and ensuring data provision aligns with the intended purposes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025129842000001_ABST
    Figure 2025129842000001_ABST
Patent Text Reader

Abstract

To allow a data provider to provide data depending on a program for a data user.SOLUTION: A system comprises: a first information processing device for executing a program utilizing target data; an authentication device for authenticating the program and sending a certificate to the first information processing device; a second information processing device having the target data, and when the certificate is received from the first information processing device, sending the certificate to an authorization device, and allowing the authorization device to set authorization information for executing authorization of providing the target data to the program based on the certificate; and the authorization device, when, after the execution of the program by the first information processing device, the certificate for referring the target data has been received, for determining whether the target data can be provided to the program, and when it is determined that the provision of the target data is possible, authorizing the provision of the target data.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a system, a data providing method, and a program for providing target data. [Background technology]

[0002] Currently, whether or not a data provider provides data to a program run by a data user is determined based on whether or not the data user has access rights. Therefore, as long as the program is run by a data user with access rights, the data will be provided regardless of the program's purpose.

[0003] Therefore, it is desirable to prevent some programs from providing data held by the data provider, even if the program is executed by a data user who has the access right.

[0004] As a related technique, Patent Document 1 discloses a data processing device that prevents data from being used for purposes not intended by the data provider. The data processing device in Patent Document 1 receives a DKP (Data Key Package) from the data provider who provided the data to be processed, which specifies a program that can be used to process the data to be processed, and processes the data to be processed using the program specified in the received DKP.

[0005] As a related technology, Patent Document 2 discloses a data usage management system that realizes data utilization in accordance with the intentions of the data provider. The data usage management system in Patent Document 2 stores multiple pieces of data provided by providers in association with the purpose of use of the data permitted by the data provider, selects data from the stored data according to the purpose of use input by the user, and makes the selected data available to the user. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Japanese Patent Application Publication No. 2019-047334 [Patent Document 2] Japanese Patent Application Publication No. 2023-105910 Summary of the Invention [Problem to be solved by the invention]

[0007] However, Patent Documents 1 and 2 neither disclose nor suggest the following (i) and (ii): (i) the fact that the data provider sets access rights in advance using the result of authentication (certificate) for the program executed by the data user, and (ii) the fact that when the program is executed and the data is referenced, permission to access the data is requested using the certificate, and if permission to access the data is granted, the data is used by the program.

[0008] An example of the purpose of this disclosure is that a data provider provides data in accordance with a program of a data user. [Means for solving the problem]

[0009] In order to achieve the above object, a system according to one aspect of the present disclosure includes: a first information processing device that executes a program that uses target data in a program execution environment; an authentication device that authenticates the program and transmits a certificate to the first information processing device; a second information processing device that has the target data and, when receiving a certificate from the first information processing device, transmits the certificate to an authorization device and causes the authorization device to set authorization information for authorizing the program to provide the target data based on the certificate; the authorization device, when receiving the certificate for referencing the target data from the first information processing device after the program is executed on the first information processing device, determines whether or not the target data can be provided to the program based on the authorization information and the certificate, and when determining that the target data can be provided, authorizes the provision of the target data; The present invention is characterized by having the following.

[0010] In order to achieve the above object, a system according to one aspect of the present disclosure includes: a first information processing device that executes a program that uses target data in a program execution environment; an authentication device that authenticates the program and transmits a certificate to the first information processing device; a second information processing device that has the target data and, when receiving a certificate from the first information processing device, transmits the certificate to an authorization device and causes the authorization device to set authorization information for authorizing the program to provide the target data based on the certificate; an authorization device that, when acquiring a certificate from the first information processing device, generates a token based on the certificate and transmits the token to the first information processing device, and further, when receiving the token for referencing the target data from the first information processing device after the program is executed on the first information processing device, determines whether or not the target data can be provided to the program based on the authorization information and the token, and when determining that the target data can be provided, authorizes the provision of the target data; The present invention is characterized by having the following.

[0011] In order to achieve the above object, a data providing method according to one aspect of the present disclosure includes: a first information processing device executes a program that uses the target data in a program execution environment; an authentication device authenticating the program and transmitting a certificate to the first information processing device; when a second information processing device has the target data and receives a certificate from the first information processing device, transmits the certificate to an authorization device, and causes the authorization device to set authorization information for authorizing the program to provide the target data based on the certificate; When the authorization device receives the certificate for accessing the target data from the first information processing device after the program is executed on the first information processing device, the authorization device determines whether or not the target data can be provided to the program based on the authorization information and the certificate, and when it determines that the target data can be provided, authorizes the provision of the target data. It is characterized by:

[0012] In order to achieve the above object, a data providing method according to one aspect of the present disclosure includes: a first information processing device executes a program that uses the target data in a program execution environment; An authentication device authenticates the program and transmits a certificate to the first information processing device. when a second information processing device has the target data and receives a certificate from the first information processing device, transmits the certificate to an authorization device, and causes the authorization device to set authorization information for authorizing the program to provide the target data based on the certificate; When the authorization device receives a certificate from the first information processing device, it generates a token based on the certificate and transmits the token to the first information processing device. Furthermore, when the authorization device receives the token for referencing the target data from the first information processing device after the program is executed on the first information processing device, it determines whether or not the target data can be provided to the program based on the authorization information and the token, and when it determines that the target data can be provided, it authorizes the provision of the target data. It is characterized by:

[0013] In order to achieve the above object, a program according to one aspect of the present disclosure includes: On the computer, When a certificate of a program that uses target data and that has been authenticated using an authentication device is received from a first information processing device that executes the program in a program execution environment, via a second information processing device that provides the target data, authorization information is set to authorize the program to provide the target data; after the program is executed on the first information processing device, when the certificate for referencing the target data is received from the first information processing device, determining whether or not the target data can be provided to the program based on the authorization information and the certificate, and when determining that the target data can be provided, authorizing the provision of the target data; It is characterized by:

[0014] Furthermore, in order to achieve the above object, a program according to one aspect of the present disclosure comprises: On the computer, When a certificate of a program that uses target data and that has been authenticated using an authentication device is received from a first information processing device that executes the program in a program execution environment, via a second information processing device that provides the target data, authorization information is set to authorize the program to provide the target data; When a certificate is received from the first information processing device, a token is generated based on the certificate and transmitted to the first information processing device. Furthermore, when the token for referencing the target data is received from the first information processing device after the program is executed on the first information processing device, a determination is made based on the authorization information and the token as to whether or not the target data can be provided to the program, and when it is determined that the provision of the target data is possible, authorization is given to provide the target data. It is characterized by: [Effects of the Invention]

[0015] As described above, according to the present disclosure, a data provider can provide data in accordance with a program of a data user. [Brief explanation of the drawings]

[0016] [Figure 1] FIG. 1 is a diagram illustrating an example of a system according to the first embodiment. [Figure 2] FIG. 2 is a diagram for explaining an example of the certificate acquisition process and the authorization request process according to the first embodiment. [Figure 3] FIG. 3 is a diagram illustrating an example of the program execution process according to the first embodiment. [Figure 4] FIG. 4 is a diagram for explaining an example of the operation of the system in the certificate acquisition process of the first embodiment. [Figure 5] FIG. 5 is a diagram for explaining an example of the operation of the system in the authorization request process of the first embodiment. [Figure 6] FIG. 6 is a diagram for explaining an example of the operation of the system in the program execution process of the first embodiment. [Figure 7] FIG. 7 is a diagram illustrating an example of a system according to the second embodiment. [Figure 8] FIG. 8 is a diagram for explaining an example of the certificate acquisition process and the authorization request process according to the second embodiment. [Figure 9] FIG. 9 is a diagram illustrating an example of the program execution process according to the second embodiment. [Figure 10] FIG. 10 is a diagram illustrating an example of the operation of the system in the certificate acquisition process according to the second embodiment. [Figure 11] FIG. 11 is a diagram for explaining an example of the operation of the system in the authorization request process of the second embodiment. [Figure 12] FIG. 12 is a diagram for explaining an example of the operation of the system in the program execution process of the second embodiment. [Figure 13] FIG. 13 is a diagram illustrating an example of a computer that realizes each of the information processing devices according to the first and second embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0017] Hereinafter, embodiments will be described with reference to the drawings. In the drawings described below, elements having the same or corresponding functions are denoted by the same reference numerals, and repeated description thereof may be omitted.

[0018] (Embodiment 1) The configuration of a system according to the first embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram illustrating an example of a system according to the first embodiment.

[0019] [System Configuration] 1 is a system in which a data provider can provide data that the data provider possesses in accordance with a program on the data user side. Also, as shown in FIG. 1, the system 100 includes a first information processing device 10, an authentication device 20, a second information processing device 30, and an authorization device 40.

[0020] A first information processing device 10 (an information processing device on the data user side) executes a program that uses target data in a program execution environment. An authentication device 20 authenticates the program and transmits authentication information (certificate) to the first information processing device 10. A second information processing device 30 (an information processing device on the data provider side) has target data, and when it receives a certificate from the first information processing device 10, it transmits the certificate to an authorization device 40 and, based on the certificate, causes the authorization device 40 to set authorization information (access rights) for authorizing the program to provide the target data. After the program is executed on the first information processing device 10, when it receives a certificate for referencing the target data from the first information processing device 10, the authorization device 40 determines, based on the authorization information and the certificate, whether the target data can be provided to the program, and if it determines that the target data can be provided, authorizes the program to provide the target data.

[0021] As described above, in the first embodiment, authentication information (certificate) is obtained from the data user side, and the data provider side sets authorization information (access authority) in advance using the certificate. Then, after a program is executed, when the program uses target data, the data user side permits the use of the target data based on the access authority and the certificate, so that the data provider side can provide the target data according to the program on the data user side.

[0022] Specifically, when there are multiple programs run by the same data user, and the data user runs program A and program B, access rights can be set for the data held by the data provider to control data access. For example, the data provider can allow program A to read data, but not program B.

[0023] [Device configuration] The first information processing device 10 is, for example, a CPU (Central Processing Unit), a programmable device such as an FPGA (Field-Programmable Gate Array), a GPU (Graphics Processing Unit), or a circuit equipped with one or more of these, a server computer, a personal computer, a mobile terminal, etc. (information processing device on the data user's side).

[0024] Furthermore, the program and authentication information (certificate) on the data user side are stored in a storage device (not shown) provided inside or outside the first information processing device 10. The storage device is a database, a server computer, a circuit having a memory, or the like.

[0025] The authentication device 20 is, for example, an information processing device such as a CPU, a programmable device such as an FPGA, a GPU, or a circuit equipped with one or more of these, a server computer, or a personal computer.

[0026] The second information processing device 30 is, for example, a CPU, or a programmable device such as an FPGA, or a GPU, or a circuit equipped with one or more of these, a server computer, a personal computer, a database, a mobile terminal, etc. (an information processing device on the data provider's side).

[0027] Furthermore, the target data on the data provider side is stored in a storage device (not shown) provided inside or outside the second information processing device 30. The storage device is a database, a server computer, a circuit having a memory, or the like.

[0028] The authorization device 40 is, for example, an information processing device such as a CPU, a programmable device such as an FPGA, a GPU, or a circuit equipped with any one or more of them, a server computer, or a personal computer.

[0029] The first information processing device 10, the authentication device 20, the second information processing device 30, and the authorization device 40 are connected via a network.

[0030] The network is a general communication network constructed using communication lines such as the Internet, a LAN (Local Area Network), a dedicated line, a telephone line, an in-house network, a mobile communication network, Bluetooth (registered trademark), or Wi-Fi (Wireless Fidelity) (registered trademark).

[0031] (A) The certificate acquisition process will be explained. (A) Certificate acquisition processing will be described with reference to Fig. 2. Fig. 2 is a diagram for explaining an example of the certificate acquisition processing and the authorization request processing of the first embodiment.

[0032] First, the first information processing device 10 transmits an authentication request and a program on the data user side to the authentication device 20 (certificate authority) via a network, as shown in (1) of Fig. 2. Next, the authentication device 20 receives the authentication request and the program on the data user side, authenticates the program, and generates an authentication result (certificate), as shown in (2) of Fig. 2.

[0033] Thereafter, the authentication device 20 transmits the authentication response and the certificate to the first information processing device 10 via the network, as shown in (3) of Fig. 2. Next, after receiving the authentication response and the certificate, the first information processing device 10 associates the program on the data user side with the certificate and stores them in a storage device (not shown), as shown in (4) of Fig. 2.

[0034] The certificate may be embedded in the program, i.e., the program and the certificate are tightly coupled (so that they are not specified separately).

[0035] The authentication result (certificate) includes, for example, information indicating the program name, the hash value of the program, information indicating the developer or provider of the program, information indicating the purpose of using the program, generation information indicating files and information newly generated by the program, reference information indicating files and information referenced to generate the generated information, etc. The certificate may be, for example, a public key certificate such as an X.509 certificate.

[0036] (B) Authorization request processing will be explained. The authorization request process (B) will be described with reference to Fig. 2. First, the first information processing device 10 transmits an authorization request and a certificate to the second information processing device 30 via the network, as shown in (5) of Fig. 2.

[0037] Next, as shown in (6) of Fig. 2, when the second information processing device 30 receives the authorization request request and the certificate, it transmits an authorization setting request for setting the use of data and the certificate to the authorization device 40 via the network. Next, as shown in (7) of Fig. 2, when the authorization device 40 receives the authorization setting request and the certificate, it sets authorization information (access permission) based on the certificate. Next, when the authorization device 40 completes setting the authorization information (access permission), it transmits a setting completion response to the second information processing device 30 via the network.

[0038] Specifically, the authorization information (access rights) is set as follows: The authorization device 40 acquires provided data identification information for identifying and limiting the data for which authorization is to be set from the authorization setting request received in (6). The provided data identification information is information representing, for example, the ID of a file or data block, a file path name, etc. Next, provided data operation information requested for the target data is acquired. The provided data operation information is information representing, for example, reading, writing, deleting, etc., of the target data.

[0039] The authorization device 40 also acquires data user identification information for identifying and specifying the data user who will grant authorization to the target data from the certificate received in (6). Examples of the data user identification information include the data user's email address, employment number such as an employee number, and organization identification information (information about the organization to which the data user belongs) such as the name of the organization to which the data user belongs and a corporate number.

[0040] Furthermore, the authorization device 40 sets authorization information for the provided data by using the provided data identification information, the provided data operation information, and the data user identification information to associate the data user identification information that grants authorization for the provided data identification information with the provided data operation information that is permitted at that time.

[0041] The authorization information (access authority) includes, for example, data user identification information, provided data identification information, provided data operation information, and the like.

[0042] The data user identification information is information for identifying the data user, and is, for example, the data user's ID (identification), email address (e.g., nichidenn-taro@nec.com), employee number, etc. The data user identification information may be a character string or a uniquely assigned ID.

[0043] The data user organization information is information for identifying the organization to which the data user belongs. An example of the data user organization information is NEC Corporation. The data user organization information may be a character string, a trade name, a company ID, or the like.

[0044] The provided data information is information that includes the resources that are permitted to be provided (for example, data units such as files and data blocks), provided data identification information (for example, the ID of the file or data block, and the path name (for example, fileserver1: / data / recored1, in this example, the location where the data exists (computer name + directory)).

[0045] The provided data operation information is information that indicates the operations permitted for the above-mentioned resources. For example, it is read, write, delete, etc. It may be a character string, binary information, bit string, etc.

[0046] (C) The program execution process will be explained. The program execution process (C) will be described with reference to Fig. 3. Fig. 3 is a diagram for explaining an example of the program execution process of the first embodiment. First, as shown in (8) of Fig. 3, the first information processing device 10 executes a program that uses the target data (a program on the data user side) using a program execution environment. The program execution environment may be provided in a server computer or the like provided outside the first information processing device 10.

[0047] Next, after the program is executed, if the program refers to data on the data provider side, the first information processing device 10 transmits an authorization request and a certificate to the authorization device 40 via the network to obtain authorization to use the target data, as shown in (9) of Fig. 3. Next, when the authorization device 40 receives the authorization request and the certificate, as shown in (10) of Fig. 3, it determines whether or not the target data can be provided to the program based on the authorization information and the certificate.

[0048] Specifically, the determination of whether the target data can be provided to the program is performed as follows: The authorization information 40 acquires usage data identification information for identifying and limiting the target data for which authorization is requested from the authorization request received from the program in (9). The usage data identification information is information representing, for example, the ID of a file or data block, a file path name, etc. Next, usage data operation information requested for the target data is acquired. The usage data operation information is information representing, for example, reading, writing, deleting, etc. of the target data.

[0049] The authorization device 40 also acquires data user identification information for identifying and specifying the data user requesting authorization for the target data from the certificate received from the program in (9). The data user identification information is, for example, the data user's email address, employment number such as employee number, organization identification information such as the name of the organization to which the data user belongs, or corporate number.

[0050] Furthermore, the authorization device 40 uses the usage data identification information, usage data operation information, and data user identification information to match them with pre-set authorization information, and if the contents match, authorizes the data usage of the program executed by the data user for the target data.

[0051] Thereafter, when the authorization device 40 determines that the target data can be provided, as shown in (11) of Fig. 3, it transmits a use authorization response indicating that use of the target data in a program has been authorized to the second information processing device 30 via the network. Next, as shown in (12) of Fig. 3, the second information processing device 30 transmits the use authorization response to the first information processing device 10 via the network. As a result, the first information processing device 10 refers to the target data stored in the second information processing device 30 as shown in (13) of Fig. 3.

[0052] [System Operation] Next, the operation of the system in the first embodiment will be described with reference to Figs. 4, 5, and 6. Fig. 4 is a diagram for explaining an example of the operation of the system in the certificate acquisition process in the first embodiment. Fig. 5 is a diagram for explaining an example of the operation of the system in the authorization request process in the first embodiment. Fig. 6 is a diagram for explaining an example of the operation of the system in the program execution process in the first embodiment. In the following description, the figures will be referenced as appropriate. Furthermore, in the first embodiment, the data provision method is implemented by operating the system. Therefore, the description of the data provision method in the first embodiment will be replaced with the following description of the system operation.

[0053] (A) The operation of the certificate acquisition process will be explained. The operation of (A) certificate acquisition process will be described with reference to Fig. 4. First, the first information processing device 10 transmits an authentication request and a program on the data user's side to the authentication device 20 (certificate authority) via the network (step A1). Next, after receiving the authentication request and the program on the data user's side, the authentication device 20 authenticates the program and generates an authentication result (certificate) (step A2).

[0054] Thereafter, the authentication device 20 transmits the authentication response and the certificate to the first information processing device 10 via the network (step A3). Next, after receiving the authentication response and the certificate, the first information processing device 10 associates the program on the data user side with the certificate and stores them in a storage device (step A4).

[0055] (B) The operation of the authorization request process will be described. The operation of (B) authorization request processing will be described with reference to Fig. 5. First, the first information processing device 10 transmits an authorization request request and a certificate to the second information processing device 30 via the network (step B1). Next, when the second information processing device 30 receives the authorization request request and the certificate, it transmits an authorization setting request for setting the use of data and the certificate to the authorization device 40 via the network (step B2). Next, when the authorization device 40 receives the authorization setting request and the certificate, it sets authorization information (access permission) based on the certificate (step B3). Next, when the authorization device 40 has completed setting the authorization information (access permission), it transmits a setting completion response to the second information processing device 30 via the network (step B4).

[0056] (C) The operation of the program execution process will be explained. The operation of (C) program execution processing will be described with reference to Figure 6. First, the first information processing device 10 executes a program that uses target data (a program on the data user side) using a program execution environment (step C1). Next, after the program is executed, if the program references data on the data provider side, the first information processing device 10 transmits an authorization request and a certificate to the authorization device 40 via the network to obtain authorization to use the target data (step C2). Next, when the authorization device 40 receives the authorization request and the certificate, it determines whether or not the target data can be provided to the program based on the authorization information and the certificate (step C3).

[0057] Thereafter, when the authorization device 40 determines that the target data can be provided, it transmits a use authorization response indicating that use of the target data in the program has been authorized to the second information processing device 30 via the network (step C4). Next, the second information processing device 30 transmits the use authorization response to the first information processing device 10 via the network (step C5). As a result, the first information processing device 10 refers to the target data stored in the second information processing device 30 (step C6).

[0058] [Effects of the First Embodiment] With conventional technology, data providers can control whether data is provided to data users by setting access rights, but they cannot control the provision of data according to the purpose of use of each program.

[0059] However, according to the first embodiment as described above, authentication information (certificate) is obtained from the data user side, and the data provider side sets authorization information (access authority) in advance using the certificate. Then, after a program is executed, when the program uses target data, the data user side permits the use of the target data based on the certificate and access authority, so the data provider side can provide the target data according to the program on the data user side.

[0060] Specifically, when there are multiple programs run by the same data user, and the data user runs program A and program B, access rights can be set for the data held by the data provider to control data access. For example, the data provider can allow program A to read data, but not program B.

[0061] Furthermore, access rights can be set not only for each program but also for each module that makes up the program, and the data provider can provide the target data for each module.

[0062] [program] The programs in the first embodiment may be any programs that cause each computer to execute the steps shown in Figures 4 to 6. Specifically, a program for executing the processes of steps A1, A4, B1, C1, C2, and C6 is installed and executed in the first information processing device 10. A program for executing the processes of steps A2 and A3 is installed and executed in the authentication device 20. A program for executing the processes of steps B2 and C5 is installed and executed in the second information processing device 30. A program for executing the processes of steps B3, B4, C3, and C4 is installed and executed in the authorization device 40. In this way, the system and data providing method in the first embodiment can be realized by each computer executing the above-mentioned programs.

[0063] Furthermore, the program in the first embodiment may be executed by using a computer system constructed by multiple computers for each of the first information processing device 10, the authentication device 20, the second information processing device 30, and the authorization device 40.

[0064] (Embodiment 2) The difference between the first and second embodiments is that a token mechanism is introduced. The configuration of the system in the second embodiment will be described with reference to Fig. 7. Fig. 7 is a diagram for explaining an example of the system in the second embodiment.

[0065] [System Configuration] 7 is a system in which a data provider can provide data that the data provider possesses in accordance with a program on the data user side. Also, as shown in FIG. 7, the system 100a includes a first information processing device 10a, an authentication device 20, a second information processing device 30, and an authorization device 40a.

[0066] A first information processing device 10a (an information processing device on the data user side) executes a program that uses target data in a program execution environment. An authentication device 20 authenticates the program and transmits authentication information (certificate) to the first information processing device 10. A second information processing device 30 (an information processing device on the data provider side) has target data, and when it receives a certificate from the first information processing device 10, it transmits the certificate to an authorization device 40a and causes the authorization device 40a to set authorization information (access rights) for authorizing the program to provide the target data based on the certificate.

[0067] When the authorization device 40a obtains a certificate from the first information processing device 10, it generates a token based on the certificate and transmits the token to the first information processing device 10. Furthermore, when the authorization device 40a receives a token for referencing target data from the first information processing device 10a after a program is executed on the first information processing device 10, it determines whether or not the target data can be provided to the program based on the authorization information and the token, and when it determines that the target data can be provided, it authorizes the provision of the target data.

[0068] As described above, in the second embodiment, authentication information (certificate) is obtained from the data user side, and the data provider side sets authorization information (access authority) in advance using the certificate. Then, after a program is executed, when the program uses target data, the data user side permits the use of the target data based on the access authority and a token generated from the certificate, so that the data provider side can provide the target data according to the program on the data user side.

[0069] Specifically, when there are multiple programs run by the same data user, and the data user runs program A and program B, access rights can be set for the data held by the data provider to control data access. For example, the data provider can allow program A to read data, but not program B.

[0070] [Device configuration] The first information processing device 10a is, for example, a CPU, a programmable device such as an FPGA, a GPU, or a circuit equipped with one or more of these, a server computer, a personal computer, a mobile terminal, etc. (an information processing device on the data user's side).

[0071] The program, authentication information (certificate), and token on the data user side are stored in a storage device (not shown) provided inside or outside the first information processing device 10a. The storage device may be a database, a server computer, a circuit having a memory, or the like.

[0072] The authentication device 20 and the second information processing device 30 have been described in the first embodiment, so a description thereof will be omitted.

[0073] The authorization device 40a is, for example, an information processing device such as a CPU, a programmable device such as an FPGA, a GPU, or a circuit equipped with any one or more of them, a server computer, or a personal computer.

[0074] The first information processing device 10a, the authentication device 20, the second information processing device 30, and the authorization device 40a are connected via a network.

[0075] (A') The certificate acquisition process will be explained. The (A') certificate acquisition process will be described with reference to Fig. 8. Fig. 8 is a diagram for explaining an example of the certificate acquisition process and the authorization request process according to the second embodiment.

[0076] First, the first information processing device 10a transmits an authentication request and a program on the data user side to the authentication device 20 (certificate authority) via the network, as shown in (1) of Fig. 8. Next, the authentication device 20 receives the authentication request and the program on the data user side, authenticates the program, and generates an authentication result (certificate), as shown in (2) of Fig. 8.

[0077] Thereafter, the authentication device 20 transmits the authentication response and the certificate to the first information processing device 10a via the network, as shown in (3) of Fig. 8. Next, after receiving the authentication response and the certificate, the first information processing device 10a associates the program on the data user side with the certificate and stores them in a storage device (not shown) as shown in (4) of Fig. 8.

[0078] The certificate may be embedded in the program, i.e., the program and the certificate are tightly coupled (so that they are not specified separately).

[0079] Furthermore, the first information processing device 10a transmits the token issuance request and the certificate to the authorization device 40a via the network, as shown in (T1) of Fig. 8. Next, the authorization device 40a receives the token issuance request and the certificate, and then generates a token based on the certificate, as shown in (T2) of Fig. 8.

[0080] Thereafter, the authorization device 40a transmits the token issuance response and the token to the first information processing device 10a via the network, as shown in (T3) of Fig. 8. Next, after receiving the token issuance response and the token, the first information processing device 10a associates the program on the data user side with the token and stores them in a storage device (not shown) as shown in (T4) of Fig. 8.

[0081] The token is, for example, proxy information for an authorization request that is unique for each issuance request and is expressed as a character string of a certain length that includes numbers, letters, or a mixture of these. Once authorization is received for a token acquisition request, authorization can be received from the authorization device 40a by using the token obtained in response to that request.

[0082] (B') Authorization request processing will be explained. The (B′) authorization request process will be described with reference to Fig. 8. First, as shown in Fig. 8 (5), the first information processing device 10a transmits an authorization request and a certificate to the second information processing device 30 via the network.

[0083] Next, as shown in (6) of Fig. 8, when the second information processing device 30 receives the authorization request request and the certificate, it transmits an authorization setting request for setting the use of data and the certificate to the authorization device 40a via the network. Next, as shown in (7) of Fig. 8, when the authorization device 40a receives the authorization setting request and the certificate, it sets authorization information (access permission) based on the certificate. Next, when the authorization device 40a completes setting the authorization information (access permission), it transmits a setting completion response to the second information processing device 30 via the network.

[0084] (C') The program execution process will be explained. The program execution process (C') will be described with reference to Fig. 9. Fig. 9 is a diagram for explaining an example of the program execution process of the second embodiment. First, as shown in (8) of Fig. 9, the first information processing device 10a executes a program that uses the target data (a program on the data user side) using a program execution environment. The program execution environment may be provided in a server computer or the like provided outside the first information processing device 10a.

[0085] Next, after the program is executed, if the program references data on the data provider side, as shown in (T5) of Figure 9, the first information processing device 10a transmits an authorization request and a token to the authorization device 40a via the network to obtain authorization to use the target data.

[0086] The token may be generated in advance, or may be generated after the program is executed, or when the data on the data provider side is referenced.

[0087] Next, as shown in (10) of FIG. 9, when the authorization device 40a receives the authorization request and the token, it determines whether or not the target data can be provided to the program based on the authorization information and the token.

[0088] Specifically, the determination of whether the target data can be provided to the program is performed as follows: The authorization information 40a acquires application data identification information for identifying and limiting the target data for which authorization is requested from the authorization request received from the program at (T5), and then acquires application data operation information required for the target data.

[0089] Furthermore, the authorization device 40a acquires data user identification information for identifying and specifying the data user requesting authorization for the target data from the token received from the program at (T5).

[0090] Furthermore, the authorization device 40a uses the usage data identification information, usage data operation information, and data user identification information to match them with pre-set authorization information, and if the contents match, authorizes the data usage of the program executed by the data user for the target data.

[0091] Thereafter, as shown in (11) of Fig. 9, if the authorization device 40a determines that the target data can be provided, it transmits a use authorization response indicating that use of the target data in the program has been authorized to the second information processing device 30 via the network. Next, as shown in (12) of Fig. 9, the second information processing device 30 transmits the use authorization response to the first information processing device 10a via the network. As a result, the first information processing device 10a refers to the target data stored in the second information processing device 30 as shown in (13) of Fig. 9.

[0092] [System Operation] Next, the operation of the system in the second embodiment will be described with reference to Figs. 10, 11, and 12. Fig. 10 is a diagram for explaining an example of the operation of the system in the certificate acquisition process in the second embodiment. Fig. 11 is a diagram for explaining an example of the operation of the system in the authorization request process in the second embodiment. Fig. 12 is a diagram for explaining an example of the operation of the system in the program execution process in the second embodiment. In the following description, reference will be made to the figures as appropriate. In addition, in the second embodiment, the data provision method is implemented by operating the system. Therefore, the description of the data provision method in the second embodiment will be replaced with the description of the operation of the system below.

[0093] (A') The operation of the certificate acquisition process will be explained. The operation of the (A') certificate acquisition process will be described with reference to Figure 10. First, the first information processing device 10a transmits an authentication request and a program on the data user's side to the authentication device 20 (certificate authority) via the network (step A1'). Next, after receiving the authentication request and the program on the data user's side, the authentication device 20 authenticates the program and generates an authentication result (certificate) (step A2').

[0094] Thereafter, the authentication device 20 transmits the authentication response and the certificate to the first information processing device 10a via the network (step A3'). Next, after receiving the authentication response and the certificate, the first information processing device 10a associates the program on the data user side with the certificate and stores them in a storage device (step A4').

[0095] Furthermore, the first information processing device 10a transmits the token issuance request and the certificate to the authorization device 40a via the network (step A5'). Next, after receiving the token issuance request and the certificate, the authorization device 40a generates a token based on the certificate (step A6').

[0096] Thereafter, the authorization device 40a transmits the token issuance response and the token to the first information processing device 10a via the network (step A7'). Next, after receiving the token issuance response and the token, the first information processing device 10a associates the program on the data user side with the token and stores them in a storage device (not shown) (step A8').

[0097] (B') The operation of the authorization request process will be explained. The operation of (B') authorization request processing will be described with reference to Fig. 11. First, the first information processing device 10a transmits an authorization request request and a certificate to the second information processing device 30 via the network (step B1'). Next, when the second information processing device 30 receives the authorization request request and the certificate, it transmits an authorization setting request for setting the use of data and the certificate to the authorization device 40a via the network (step B2'). Next, when the authorization device 40a receives the authorization setting request and the certificate, it sets authorization information (access permission) based on the certificate (step B3'). Next, when the authorization device 40a has completed setting the authorization information (access permission), it transmits a setting completion response to the second information processing device 30 via the network (step B4').

[0098] (C') The operation of the program execution process will be explained. The operation of (C') program execution processing will be described with reference to Fig. 12. First, the first information processing device 10a executes a program that uses the target data (a program on the data user side) using a program execution environment (step C1'). Next, after the program is executed, if the program references data on the data provider side, the first information processing device 10a transmits an authorization request and a token to the authorization device 40a via the network to obtain authorization to use the target data (step C2').

[0099] As shown in steps A4' to A8', the token may be generated in advance, or may be generated after the program is executed, or when the data on the data provider side is referenced.

[0100] Next, when the authorization device 40a receives the authorization request and the token, it determines whether or not the target data can be provided to the program based on the authorization information and the token (step C3').

[0101] Thereafter, if the authorization device 40a determines that the target data can be provided, it transmits a use authorization response indicating that use of the target data in the program has been authorized to the second information processing device 30 via the network (step C4'). Next, the second information processing device 30 transmits the use authorization response to the first information processing device 10a via the network (step C5'). As a result, the first information processing device 10a refers to the target data stored in the second information processing device 30 (step C6').

[0102] [Effects of the second embodiment] As described above, according to the second embodiment, authentication information (certificate) is obtained from the data user side, and the data provider side sets authorization information (access authority) in advance using the certificate. Then, after a program is executed, when the program uses target data, the data user side permits the use of the target data based on the token and access authority, so that the data provider side can provide the target data according to the program on the data user side.

[0103] Furthermore, access rights can be set not only for each program but also for each module that makes up the program, and the data provider can provide the target data for each module.

[0104] [program] The programs in the second embodiment may be any programs that cause each computer to execute the steps shown in FIGS. 10 to 12. Specifically, a program for executing the processes of steps A1′, A4′, A5′, A8′, B1′, C1′, C2′, and C6′ is installed and executed in the first information processing device 10a. A program for executing the processes of steps A2′ and A3′ is installed and executed in the authentication device 20. A program for executing the processes of steps B2′ and C5′ is installed and executed in the second information processing device 30. A program for executing the processes of steps B3′, B4′, C3′, and C4′ is installed and executed in the authorization device 40. In this way, the system and data providing method in the second embodiment can be realized by each computer executing the above-mentioned programs.

[0105] Furthermore, the program in the second embodiment may be executed by using a computer system constructed by multiple computers for each of the first information processing device 10a, the authentication device 20, the second information processing device 30, and the authorization device 40a.

[0106] [Physical configuration] Here, a computer that realizes each of the above-mentioned information processing devices by executing the programs in the first and second embodiments will be described with reference to Fig. 13. Fig. 13 is a diagram for explaining an example of a computer that realizes each of the information processing devices in the first and second embodiments.

[0107] 13, the computer 110 includes a CPU (Central Processing Unit) 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader / writer 116, and a communication interface 117. These components are connected to each other via a bus 121 so as to be able to communicate data with each other. Note that the computer 110 may include a GPU or an FPGA in addition to or instead of the CPU 111.

[0108] The CPU 111 loads a program in the embodiment, which is composed of a group of codes and stored in the storage device 113, into the main memory 112 and executes each code in a predetermined order to perform various calculations. The main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory).

[0109] The program in the embodiment is provided in a state stored in a computer-readable recording medium 120. The program in the embodiment may be distributed over the Internet connected via the communication interface 117.

[0110] Specific examples of the storage device 113 include a hard disk drive and a semiconductor storage device such as a flash memory. The input interface 114 mediates data transmission between the CPU 111 and input devices 118 such as a keyboard and a mouse. The display controller 115 is connected to a display device 119 and controls the display on the display device 119.

[0111] The data reader / writer 116 mediates data transmission between the CPU 111 and the recording medium 120, reads programs from the recording medium 120, and writes processing results from the computer 110 to the recording medium 120. The communication interface 117 mediates data transmission between the CPU 111 and other computers.

[0112] Specific examples of the recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), magnetic recording media such as flexible disks, or optical recording media such as CD-ROMs (Compact Disk Read Only Memory).

[0113] Note that each of the information processing devices in the embodiments can be realized not by a computer on which a program is installed, but by hardware corresponding to each unit, for example, an electronic circuit. Furthermore, each of the information processing devices may be realized in part by a program and in the remaining part by hardware. In the embodiments, the computer is not limited to the computer shown in FIG. 13.

[0114] [Note] The following supplementary notes are further provided with respect to the above-described embodiments. Some or all of the above-described embodiments can be expressed by (Supplementary Note 1) to (Supplementary Note 15) described below, but are not limited to the following descriptions.

[0115] (Appendix 1) a first information processing device that executes a program that uses target data in a program execution environment; an authentication device that authenticates the program and transmits a certificate to the first information processing device; a second information processing device that has the target data and, when receiving a certificate from the first information processing device, transmits the certificate to an authorization device and causes the authorization device to set authorization information for authorizing the program to provide the target data based on the certificate; the authorization device, when receiving the certificate for referencing the target data from the first information processing device after the program is executed on the first information processing device, determines whether or not the target data can be provided to the program based on the authorization information and the certificate, and when determining that the target data can be provided, authorizes the provision of the target data; A system having:

[0116] (Appendix 2) The first information processing device stores the program and the certificate in association with each other in a storage device. 10. The system of claim 1.

[0117] (Appendix 3) the first information processing device embeds the certificate in the program; 1. The system described in Appendix 2.

[0118] (Appendix 4) a first information processing device that executes a program that uses target data in a program execution environment; an authentication device that authenticates the program and transmits a certificate to the first information processing device; a second information processing device that has the target data and, when receiving a certificate from the first information processing device, transmits the certificate to an authorization device and causes the authorization device to set authorization information for authorizing the program to provide the target data based on the certificate; an authorization device that, when acquiring a certificate from the first information processing device, generates a token based on the certificate and transmits the token to the first information processing device, and further, when receiving the token for referencing the target data from the first information processing device after the program is executed on the first information processing device, determines whether or not the target data can be provided to the program based on the authorization information and the token, and when determining that the target data can be provided, authorizes the provision of the target data; A system having:

[0119] (Appendix 5) generating the token after the program is executed; 10. The system described in Appendix 4.

[0120] (Appendix 6) a first information processing device executes a program that uses the target data in a program execution environment; an authentication device authenticating the program and transmitting a certificate to the first information processing device; when a second information processing device has the target data and receives a certificate from the first information processing device, transmits the certificate to an authorization device, and causes the authorization device to set authorization information for authorizing the program to provide the target data based on the certificate; When the authorization device receives the certificate for accessing the target data from the first information processing device after the program is executed on the first information processing device, the authorization device determines whether or not the target data can be provided to the program based on the authorization information and the certificate, and when it determines that the target data can be provided, authorizes the provision of the target data. How data is provided.

[0121] (Appendix 7) The first information processing device stores the program and the certificate in association with each other in a storage device. Data provision method described in Appendix 6.

[0122] (Appendix 8) the first information processing device embeds the certificate in the program; Data provision method described in Appendix 7.

[0123] (Appendix 9) a first information processing device executes a program that uses the target data in a program execution environment; An authentication device authenticates the program and transmits a certificate to the first information processing device. when a second information processing device has the target data and receives a certificate from the first information processing device, transmits the certificate to an authorization device, and causes the authorization device to set authorization information for authorizing the program to provide the target data based on the certificate; When the authorization device receives a certificate from the first information processing device, it generates a token based on the certificate and transmits the token to the first information processing device. Furthermore, when the authorization device receives the token for referencing the target data from the first information processing device after the program is executed on the first information processing device, it determines whether or not the target data can be provided to the program based on the authorization information and the token, and when it determines that the target data can be provided, it authorizes the provision of the target data. How data is provided.

[0124] (Appendix 10) generating the token after the program is executed; Data provision method as described in Appendix 9.

[0125] (Appendix 11) On the computer, When a certificate of a program that uses target data and that has been authenticated using an authentication device is received from a first information processing device that executes the program in a program execution environment, via a second information processing device that provides the target data, authorization information is set to authorize the program to provide the target data; after the program is executed on the first information processing device, when the certificate for referencing the target data is received from the first information processing device, determining whether or not the target data can be provided to the program based on the authorization information and the certificate, and when determining that the target data can be provided, authorizing the provision of the target data; program.

[0126] (Appendix 12) The first information processing device stores the program and the certificate in association with each other in a storage device. 11. The program described in Appendix 11.

[0127] (Appendix 13) the first information processing device embeds the certificate in the program; 13. The program described in Appendix 13.

[0128] (Appendix 14) On the computer, When a certificate of a program that uses target data and that has been authenticated using an authentication device is received from a first information processing device that executes the program in a program execution environment, via a second information processing device that provides the target data, authorization information is set to authorize the program to provide the target data; When a certificate is received from the first information processing device, a token is generated based on the certificate and transmitted to the first information processing device. Furthermore, when the token for referencing the target data is received from the first information processing device after the program is executed on the first information processing device, a determination is made based on the authorization information and the token as to whether or not the target data can be provided to the program, and when it is determined that the provision of the target data is possible, authorization is given to provide the target data. program.

[0129] (Appendix 15) generating the token after the program is executed; 14. The program described in Appendix 14.

[0130] Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. [Industrial Applicability]

[0131] According to the above description, the data provider can provide target data according to the program of the data user. This is also useful in fields where it is necessary to prevent data from being used for purposes not intended by the data provider. [Explanation of symbols]

[0132] 10, 10a First information processing device 20 Authentication Device 30 Second information processing device 40, 40a approved equipment 100, 100a systems 110 Computer 111 CPU 112 main memory 113 Storage device 114 Input Interface 115 Display Controller 116 Data Reader / Writer 117 Communication Interface 118 Input Devices 119 Display Device 120 Recording Media 121 Bus

Claims

1. a first information processing device that executes a program that uses target data in a program execution environment; an authentication device that authenticates the program and transmits a certificate to the first information processing device; a second information processing device that has the target data and, when receiving a certificate from the first information processing device, transmits the certificate to an authorization device and causes the authorization device to set authorization information for authorizing the program to provide the target data based on the certificate; the authorization device, when receiving the certificate for referencing the target data from the first information processing device after the program is executed on the first information processing device, determines whether or not the target data can be provided to the program based on the authorization information and the certificate, and when determining that the target data can be provided, authorizes the provision of the target data; A system having:

2. The first information processing device stores the program and the certificate in association with each other in a storage device. The system of claim 1 .

3. the first information processing device embeds the certificate in the program; The system of claim 2 .

4. a first information processing device that executes a program that uses target data in a program execution environment; an authentication device that authenticates the program and transmits a certificate to the first information processing device; a second information processing device that has the target data and, when receiving a certificate from the first information processing device, transmits the certificate to an authorization device and causes the authorization device to set authorization information for authorizing the program to provide the target data based on the certificate; an authorization device that, when acquiring a certificate from the first information processing device, generates a token based on the certificate and transmits the token to the first information processing device, and further, when receiving the token for referencing the target data from the first information processing device after the program is executed on the first information processing device, determines whether or not the target data can be provided to the program based on the authorization information and the token, and when determining that the target data can be provided, authorizes the provision of the target data; A system having:

5. generating the token after the program is executed; The system of claim 4.

6. a first information processing device executes a program that uses the target data in a program execution environment; an authentication device authenticating the program and transmitting a certificate to the first information processing device; when a second information processing device has the target data and receives a certificate from the first information processing device, transmits the certificate to an authorization device, and causes the authorization device to set authorization information for authorizing the program to provide the target data based on the certificate; When the authorization device receives the certificate for accessing the target data from the first information processing device after the program is executed on the first information processing device, the authorization device determines whether or not the target data can be provided to the program based on the authorization information and the certificate, and when it determines that the target data can be provided, authorizes the provision of the target data. How data is provided.

7. a first information processing device executes a program that uses the target data in a program execution environment; An authentication device authenticates the program and transmits a certificate to the first information processing device. when a second information processing device has the target data and receives a certificate from the first information processing device, transmits the certificate to an authorization device, and causes the authorization device to set authorization information for authorizing the program to provide the target data based on the certificate; When the authorization device receives a certificate from the first information processing device, it generates a token based on the certificate and transmits the token to the first information processing device. Furthermore, when the authorization device receives the token for referencing the target data from the first information processing device after the program is executed on the first information processing device, it determines whether or not the target data can be provided to the program based on the authorization information and the token, and when it determines that the target data can be provided, it authorizes the provision of the target data. How data is provided.

8. On the computer, When a certificate of a program that uses target data and that has been authenticated using an authentication device is received from a first information processing device that executes the program in a program execution environment, via a second information processing device that provides the target data, authorization information is set to authorize the program to provide the target data; after the program is executed on the first information processing device, when the certificate for referencing the target data is received from the first information processing device, determining whether or not the target data can be provided to the program based on the authorization information and the certificate, and when determining that the target data can be provided, authorizing the provision of the target data; program.

9. On the computer, When a certificate of a program that uses target data and that has been authenticated using an authentication device is received from a first information processing device that executes the program in a program execution environment, via a second information processing device that provides the target data, authorization information is set to authorize the program to provide the target data; When a certificate is received from the first information processing device, a token is generated based on the certificate and transmitted to the first information processing device. Furthermore, when the token for referencing the target data is received from the first information processing device after the program is executed on the first information processing device, a determination is made based on the authorization information and the token as to whether or not the target data can be provided to the program, and when it is determined that the provision of the target data is possible, authorization is given to provide the target data. program.

Citation Information

Patent Citations

  • Data processing unit, data processing method and program for data processing

    JP2019047334A

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

    JP2023105910A