Analysis service providing method, analysis service providing device, analysis service providing system, and program

The use of private and public keys with containers for analysis services ensures accurate sample delivery by preventing mix-ups and tampering, addressing the issue of incorrect sample analysis in existing services.

JP7803206B2Active Publication Date: 2026-01-21KK TOYOTA CHUO KENKYUSHO
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2022071073
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-04-22
Publication Date
2026-01-21
Estimated Expiration
2042-04-22

AI Technical Summary

Technical Problem

Existing analysis services do not adequately prevent sample mix-ups during transportation, despite security measures for analysis information, leading to incorrect samples being analyzed and incorrect results being delivered to clients.

Method used

A method involving the use of private and public keys associated with containers, where samples are sealed, to ensure authenticity and integrity of sealing instructions, using digital signatures and public keys engraved on containers for verification.

Benefits of technology

Reduces the occurrence of samples being mistakenly placed in the wrong containers, ensuring accurate analysis by verifying the authenticity of sealing instructions and preventing tampering or interception.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007803206000001
    Figure 0007803206000001
  • Figure 0007803206000002
    Figure 0007803206000002
  • Figure 0007803206000003
    Figure 0007803206000003
Patent Text Reader

Abstract

To provide an analysis service providing method, an analysis service providing device, an analysis service providing system, and a program, capable of reducing mistakes in placing samples in containers in analysis services in which samples are encapsulated in containers and delivered.SOLUTION: Disclosed is an analysis service providing method, in which a sample is encapsulated in a container and delivered, and which includes the steps of: associating a secret key and a public key with the container; receiving the analysis request from a requester; electronically signing information on the sample to be encapsulated in the container in response to the analysis request with the secret key associated with the container and transmitting the information to the requester; and requesting a custodian of the container to deliver the container, to which the public key associated with the container or its storage location has been added, to the requester.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an analysis service providing method, an analysis service providing device, an analysis service providing system, and a program. [Background technology]

[0002] Conventionally, a contract analysis service has been provided in which a client sends a sample to an analyst, and the analyst responds with the analysis results to the client. For example, Patent Document 1 discloses a method of receiving a test analysis sample from a user who desires test analysis, and providing the user with test analysis data that is the result of the test analysis of the user sample. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2005-43257 Summary of the Invention [Problem to be solved by the invention]

[0004] The analysis service described in Patent Document 1 also takes security measures to prevent leakage of analysis information, such as user authentication for the client, encryption of the analysis results, and confidentiality agreements between the client and the analysis contractor. However, despite the need to deliver the correct sample to the analyst, the analysis service described in Patent Document 1 does not take measures to prevent sample mix-ups.

[0005] In contract analysis services, samples are sealed in a dedicated transport container prepared for that sample and sent to the analyst. After the sample is sealed in the transport container, it is identified by the identification information attached to the transport container. Therefore, if the client mistakenly places the wrong sample in the transport container and sends it, the analysis will be performed as is, and the client will not be able to obtain the analysis results they intended.

[0006] The present invention has been made in consideration of the above-mentioned problems, and an object of the present invention is to provide an analytical service providing method, an analytical service providing device, an analytical service providing system, and a program that can reduce the occurrence of placing samples in the wrong containers in analytical services in which samples are sealed in containers and handed over. [Means for solving the problem]

[0007] According to one aspect of the present disclosure, there is provided a method for providing analytical services in which a sample is sealed in a container and delivered, the method comprising the steps of: associating a private key and a public key with the container; The method includes the steps of: accepting an analysis request from a requester; electronically signing information regarding the sample to be sealed in the container in response to the analysis request with the private key associated with the container and sending it to the requester; and requesting a custodian of the container to deliver the container to the requester, with the public key associated with the container or its storage location attached.

[0008] An analysis service providing device according to one aspect of the present disclosure is an analysis service providing device that seals a sample in a container and delivers it, and includes: a container registration unit that associates a private key and a public key with the container; a request receiving unit that receives an analysis request from a client; a signature generation unit that digitally signs information regarding the sample to be sealed in the container in response to the analysis request using the private key associated with the container and sends the digitally signed information to the client; and a delivery request unit that requests the container custodian to deliver the container, to which the public key associated with the container or its storage location has been attached, to the client.

[0009] An analysis service providing system according to one aspect of the present disclosure comprises an analysis service providing device according to the present disclosure and a client terminal having a signature verification unit that verifies an electronic signature, and the signature verification unit verifies the received electronic signature using the public key and the information related to the container read from the container.

[0010] A program according to one aspect of the present disclosure is a program for an analysis service in which a sample is sealed in a container and delivered, the program causing a computer to execute the following steps: associating a private key and a public key with the container; accepting an analysis request from a client; electronically signing information regarding the sample to be sealed in the container in response to the analysis request with the private key associated with the container and sending it to the client; and requesting the custodian of the container to deliver the container to the client, with the public key associated with the container or its storage location attached. [Effects of the Invention]

[0011] According to the present invention, in an analysis service in which samples are sealed in containers and delivered, it is possible to reduce the number of cases in which samples are mistakenly placed in containers. [Brief explanation of the drawings]

[0012] [Figure 1] FIG. 2 is a diagram showing an example of the appearance of a container. [Figure 2] FIG. 1 is a schematic diagram for explaining an overview of the present invention. [Figure 3] 1 is a schematic diagram showing an example of the configuration of an analysis service providing system according to a first embodiment of the present invention. [Figure 4] FIG. 2 is a block diagram showing an example of an electrical configuration of a server. [Figure 5] FIG. 2 is a block diagram showing an example of the electrical configuration of a terminal device. [Figure 6] FIG. 3 is a sequence diagram showing an example of the processing flow of the analysis service providing system according to the first embodiment of the present invention. [Figure 7] 1 is a functional block diagram of a main part of an analysis service providing system according to the present invention. [Figure 8] FIG. 10 is a screen transition diagram showing an example of a UI screen displayed on a client terminal. [Figure 9] FIG. 10 is a screen transition diagram showing an example of a UI screen displayed on the analyst terminal. [Figure 10] FIG. 10 is a schematic diagram illustrating an example of a container registration process. [Figure 11] 10 is a flowchart showing an example of the flow of a "container registration process" performed by the server. [Figure 12] 10 is a diagram showing an example of a data structure stored in a container DB. [Figure 13] FIG. 10 is a schematic diagram showing an example of processing of an analysis request / acceptance step. [Figure 14] 10 is a flowchart showing an example of the flow of "client main processing" by a client terminal. [Figure 15] 10 is a flowchart showing an example of the flow of a "new registration process" by a client terminal. [Figure 16] 10 is a flowchart showing an example of the flow of "OTP input processing" by a client terminal. [Figure 17] 10 is a flowchart showing an example of the flow of an "analysis request reception process" by the server. [Figure 18] 10 is a flowchart showing an example of the flow of "analyst main processing" by the analyst terminal. [Figure 19] 10 is a flowchart showing an example of the flow of an "analysis request process" by an analyst terminal. [Figure 20] FIG. 10 is a schematic diagram showing an example of processing in an inclusion instruction creating step. [Figure 21] 10 is a flowchart showing an example of the flow of an "insertion instruction input process" by an analyst terminal. [Figure 22] 10 is a flowchart showing an example of the flow of a "signature generation process" by a server. [Figure 23] FIG. 10 is a schematic diagram showing an example of a sample delivery process. [Figure 24] 10 is a flowchart showing an example of the flow of "requested case processing" by a requester terminal. [Figure 25] 10 is a flowchart showing an example of the flow of a "container identifier reading process" by a client terminal. [Figure 26] 10 is a flowchart showing an example of the flow of an "insertion instruction display process" by a client terminal. [Figure 27]10 is a flowchart showing an example of the flow of "sample information input processing" by a client terminal. [Figure 28] FIG. 10 is a schematic diagram showing an example of processing in an analysis and reporting step. [Figure 29] 10 is a flowchart showing an example of the flow of an "analysis report process" by an analyst terminal. [Figure 30] 10 is a flowchart showing an example of the flow of an "analysis end process" by the server. [Figure 31] FIG. 10 is a sequence diagram showing an example of the processing flow of the analysis service providing system according to the second embodiment of the present invention. [Figure 32] FIG. 10 is a schematic diagram showing an example of an additional configuration of an analysis service providing system according to a third embodiment of the present invention. [Figure 33] 10A is a schematic diagram showing a functional arrangement corresponding to a "one-to-one" analysis request, and FIG. 10B is a schematic diagram showing a functional arrangement corresponding to a "many-to-many" analysis request. DETAILED DESCRIPTION OF THE INVENTION

[0013] An embodiment of the present invention will now be described in detail with reference to the accompanying drawings.

[0014] [First embodiment] <Summary of the Invention> First, the container will be described with reference to FIG. When a container 30 that contains and transports a sample is registered, a private key and a public key are generated for the container 30, and an identification label representing the public key is also generated. Examples of the identification label include a two-dimensional code such as a QR code (registered trademark) and a one-dimensional code such as a barcode. As shown in FIG. 1 , the identification label representing the public key is attached to the container 30 in a physically unremovable form by being engraved, printed, or embedded in the container. These identification labels can be read optically or electromagnetically. The following description will be given of a case where a two-dimensional code is used as the identification label and engraved on the container 30.

[0015] Next, an outline of the present invention will be described with reference to FIG. As shown in FIG. 2, a requester 10 makes an analysis request, and an analyst 14 accepts the analysis request. Here, it is assumed that the requester 10 makes an analysis request for two samples A and B, and the analyst 14 accepts the analysis requests for samples A and B. The analyst 14 prepares a container 30A and a container 30B, and assigns the container 30A to the sample A and the container 30B to the sample B. The containers 30A and 30B are delivered to the requester 10.

[0016] The analyst 14 creates a sealing instruction including information about sample A to be sealed in the container 30A and encrypts it with a common key held by the requester 10 and the analyst 14. The sealing instruction may include, in addition to the name of the sample, the dimensions of the sample piece to be sealed, points to note when processing and sealing, a return address, etc. The sealing instruction is not limited to a written document and may also be a photograph or video. The analyst 14 generates a digital signature for the encrypted sealing instruction using the private key of the container 30A. Note that, if the server 18 described below is involved, strictly speaking, the server 18 generates the digital signature. Similarly, the analyst 14 creates and encrypts a sealing instruction for sample B, and generates a digital signature for the encrypted sealing instruction using the private key of the container 30B. The ciphertext of the sealing instruction and its digital signature are transmitted to the requester 10 separately from the container 30.

[0017] The requester 10 receives container 30A, container 30B, the ciphertext of the instructions for enclosing sample A, the ciphertext signature (i.e., electronic signature) of the instructions for enclosing sample A, the ciphertext of the instructions for enclosing sample B, and the ciphertext signature (i.e., electronic signature) of the instructions for enclosing sample B. The requester 10 reads the public key of container 30A and verifies the authenticity of the ciphertext of the instructions for enclosing sample A using the public key of container 30A. The authenticity of only the ciphertext of the instructions for enclosing sample A that has been digitally signed with the private key of container 30A can be verified using the public key of container 30A. The requester 10 decrypts the ciphertext of the instructions for enclosing sample A that has been verified to be authentic, using the common key, and encloses sample A in container 30A according to the instructions.

[0018] Similarly, the requester 10 reads the public key of the container 30B and verifies the authenticity of the ciphertext of the enclosing instruction using the public key of the container 30B. If the requester 10 can verify the authenticity, the requester 10 decrypts the ciphertext of the enclosing instruction for the sample B using the common key, and encloses the sample B in the container 30B according to the enclosing instruction.

[0019] As shown in this example, the analytical service providing method of the present disclosure generates a private key and a public key for each container 30, and uses these as electronic tallies so that the authenticity of the sealing instruction digitally signed with the private key can be verified only by the public key engraved in a physically irremovable form on the container 30. This allows the analyst 14 to safely and reliably transmit the sealing instruction linked to the container 30 to the client 10. Therefore, with this configuration, the analytical service providing method of the present disclosure can achieve the following effects 1) to 3).

[0020] 1) Only sealing instructions that can be verified using the public key engraved on the container 30 can be presented to the requester 10, reducing sealing errors such as the requester 10 mistaking the instructions of the analyst 14 and sealing the sample in an unintended container 30.

[0021] 2) Even if the wrong container 30 is delivered to the requester 10, there are no verifiable sealing instructions, and sealing errors such as sealing a sample into the wrong container 30 can be reduced.

[0022] 3) Since the sealing instructions are encrypted, it is difficult for a third party to intercept them, and even if a malicious third party attempts to switch containers or tamper with the return address, this can be detected through verification.

[0023] <Configuration of the analysis service provision system> Next, the configuration of the analysis service providing system will be described with reference to FIGS. 3, the analysis service providing system 1 includes a client terminal 12 used by a client 10, an analyst terminal 16 used by an analyst 14, a server 18 which is an example of an analysis service providing device, and a terminal device (not shown) used in a stockyard 20. The server 18 is located, for example, on a cloud.

[0024] The following explanation focuses on the configuration enclosed by the dotted line in Fig. 3. The main components of the analysis service providing system 1 are a client terminal 12 used by a client 10 and a server 18. The functions of the analyst terminal 16 can also be performed by the server 18.

[0025] The analysis service providing system 1 may optionally further include various external devices 24 arranged in a server (not shown) of the analysis center 22. In this example, the external devices 24 are exemplified by an analytical device 24A, a storage cabinet 24B, and a transport vehicle 24C. In response to instructions from the analyst 14, the server 18 causes these external devices 24 to perform various processes (e.g., analysis, storage, transport) on the container 30 in which the sample is sealed.

[0026] The client terminal 12, analyst terminal 16, terminal device of stockyard 20, and server of analysis center 22 are each connected to server 18 via wired or wireless communication lines such as the Internet so as to be able to communicate with the server 18. The analysis device 24A, storage 24B, and transport vehicle 24C are also connected to the server of analysis center 22 via wired or wireless communication lines such as a LAN so as to be able to communicate with the server. Containers 30 can be delivered between the client 10, analyst 14, stockyard 20, and analysis center 22, as indicated by the vehicle icons.

[0027] The terminal device of the stockyard 20 requests the server 18 to register the container 30 and obtains the public key information of the container 30 from the server 18. A worker at the stockyard 20 imprints a two-dimensional code representing the public key on the container 30 based on the public key information of the container 30. The terminal device of the stockyard 20 also receives a shipping instruction for the container 30 from the analyst 14 and prompts the worker to ship the container 30.

[0028] In response to a request from a terminal device in the stockyard 20, the server 18 registers the container 30, generates a private key and a public key for the container 30, associates the container ID that identifies the container 30, the private key and public key of the container 30, and the specifications of the container 30 (width, height, depth, etc.) with one another, stores them in a container database 48C described below, and manages this information. The server 18 discloses the public key of the container 30 in response to an inquiry from the client 10 or the analyst 14. The server 18 manages various other information in a database (hereinafter abbreviated as "DB"). The server 18 digitally signs the encrypted text of the enclosing instruction.

[0029] The requester terminal 12 provides the requester 10 with an input / output interface for various information. The requester terminal 12 generates a temporary common key and encrypts or decrypts various information using the temporary common key. The requester terminal 12 verifies the authenticity of the ciphertext of the sealing instruction using the public key of the container 30 read by the camera 62 described below.

[0030] The analyst terminal 16 provides an input / output interface for various types of information to the analyst 14. The analyst terminal 16 generates a temporary common key and encrypts or decrypts various types of information using the temporary common key.

[0031] The external device 24 is a device for supporting remote analysis by the analyst 14. When the analysis is performed at the analysis center 22, the server 18 causes the external device 24 to process the container 30 in accordance with instructions from the analyst 14.

[0032] If the analysis is performed at the analysis center 22, the location of the storage warehouse 24B will be entered in the sealing instruction as the return destination. The speed of the remote analysis work is determined by the inventory of containers 30 and the availability of storage warehouse 24B. For this reason, when creating the sealing instruction, the analyst 14 checks not only the inventory of containers 30 but also the availability of storage warehouse 24B.

[0033] Each storage location within storage 24B is assigned an ID (hereinafter referred to as a "storage location ID"). Server 18 stores the storage location ID of the container 30 in association with the ID of the container 30. Storage 24B is not simply a warehouse, but also operates as a device for receiving and storing containers 30 containing samples. Server 18 instructs storage 24B to store the container 30 containing the sample in the storage location identified by the storage location ID.

[0034] During remote analysis, the server 18, in response to instructions from the analyst 14, retrieves the container 30 containing the sample from the storage 24B, transports it to the analysis device 24A using the transport vehicle 24C, removes the sample from the container 30, and sets the sample in the analysis device 24A. In addition, in response to instructions from the analyst 14, the server 18 causes the analysis device 24A to analyze the set sample.

[0035] (Server electrical configuration) 4, the server 18 includes a CPU (Central Processing Unit) 40, a memory 42, a storage unit 44, a communication unit 46, and various DBs 48. The CPU 40, the memory 42, the storage unit 44, the communication unit 46, and the various DBs 48 are connected to each other via a bus 49 so as to be able to communicate with each other.

[0036] The CPU 40 is a central processing unit. The memory 42 is made up of RAM (Random Access Memory) and serves as a working area to temporarily store programs and data. The storage unit 44 is made up of ROM (Read Only Memory), HDD (Hard Disk Drive), SSD (Solid State Drive), etc., and stores various programs including the operating system and various data.

[0037] The CPU 40 reads out a program from the storage unit 44 and executes the program using the memory 42 as a work area. The CPU 40 also controls the above-mentioned components and performs various types of arithmetic processing in accordance with the program stored in the storage unit 44.

[0038] The communication unit 46 is an interface for communicating with other devices. It includes an account DB 48A for managing the account information of the requester 10, an analysis request DB 48B for managing analysis request information, and a container DB 48C for managing container information.

[0039] (Electrical configuration of terminal device) As shown in Fig. 5, a client terminal 12 and an analyst terminal 16 are provided as terminal devices. Since both have the same configuration, only the configuration of the client terminal 12 will be described here. The client terminal 12 has a CPU 50, a memory 52, a storage unit 54, an operation input unit 56, a display unit 58, a communication unit 60, and a camera 62. The CPU 50, memory 52, storage unit 54, operation input unit 56, display unit 58, communication unit 60, and camera 62 are connected to each other via a bus 64 so as to be able to communicate with each other.

[0040] The CPU 50, memory 52, storage unit 54, and communication unit 60 are similar to the CPU 40, memory 42, storage unit 44, and communication unit 46 of the server 18. The operation input unit 56 is a device for inputting various types of information, such as a keyboard or mouse. The display unit 58 is a device for outputting various types of information, such as a display or printer. A touch panel display may be provided as the operation input unit 56 and the display unit 58. The camera 62 is a device for capturing images, and in this case, is provided for reading two-dimensional codes. The CPU 50 controls the above-mentioned components and performs various arithmetic processing in accordance with programs stored in the storage unit 54. The storage unit 54 also stores application programs such as a web browser.

[0041] 5, the reference numerals of the various components of the analyst terminal 16 are written in parentheses. As shown, the analyst terminal 16 includes a CPU 51, a memory 53, a storage unit 55, an operation input unit 57, a display unit 59, a communication unit 61, and a camera 63.

[0042] <Overall processing flow of the analysis service provision system> Next, the overall flow of processing in the analysis service providing system will be described. The processing of the analysis service providing system can be broadly divided into the following six steps. (1) A container registration process in which the server 18 registers the container 30 (2) Analysis request process in which the requester 10 makes an analysis request (3) An analysis request acceptance process in which the analyst 14 accepts the analysis request. (4) A process of creating an inclusion instruction in which the analyst 14 creates an inclusion instruction. (5) A sample sending step in which the requester 10 seals the sample in a container 30 and sends it to the analyst 14. (6) An analysis report process in which the analyst 14 delivers the analysis report to the client 10

[0043] First, the processing flow of the analysis service providing system will be explained in outline with reference to the sequence diagram in Figure 6. Here, the processing entities are conceptually represented, with the client terminal 12 referred to as the "client 10," the analyst terminal 16 referred to as the "analyst 14," and the terminal device of the stockyard 20 referred to as the "stockyard 20."

[0044] In the container registration step (1), the stockyard 20 requests the server 18 to register the container (S2). The server 18 registers the container 30 in response to the request from the stockyard 20, generates a private key and a public key (hereinafter referred to as the "container private key" and the "container public key") for the container 30, and stores information about each key in the container DB 48C (S4). The server 18 provides the container public key to the stockyard 20 (S6). The stockyard 20 generates a two-dimensional code representing the container public key and imprints it on the container 30 (S8).

[0045] In the analysis request step (2), the requester 10 requests the server 18 to start the request (S10). The server 18 starts accepting analysis requests and, in response to the request from the requester 10, transmits temporary common key parameters for generating a temporary common key to the requester 10 (S12). The requester 10 generates a temporary common key, creates an analysis request, and encrypts it with the temporary common key (S14). The requester 10 transmits the ciphertext of the analysis request to the server 18 (S16). Note that the requester 10 may encrypt sample information related to the sample with the temporary common key and include it in the analysis request.

[0046] (3) In the analysis request acceptance step, the analyst 14 requests an analysis request query from the server 18 (S18). In response to the request from the analyst 14, the server 18 transmits a temporary common key parameter to the analyst 14 (S20). The analyst 14 generates a temporary common key (S22). The analyst 14 obtains the ciphertext of the analysis request from the server 18 (S24). The analyst 14 decrypts the ciphertext of the analysis request with the temporary common key and views it (S26).

[0047] In the enclosing instruction creation step (4), the analyst 14 creates an enclosing instruction and encrypts it with a temporary common key (S26). The analyst 14 orders the container 30 from the server 18 (S28). The server 18 instructs the stockyard 20 to ship the container 30 selected by the analyst 14 (S30). The analyst 14 transmits an encrypted enclosing instruction to the server 18 (S32). The server 18 calculates a hash value of the shared information (encrypted enclosing instruction and container public key) and generates a digital signature with the container private key (S34). The server 18 transmits the encrypted enclosing instruction and the digital signature to the requester 10 (S36).

[0048] In the sample delivery step (5), the container 30 is delivered from the stockyard 20 to the requester 10 (S38). The requester 10 reads the container public key from the container 30, combines it with the encrypted text of the received sealing instruction to construct shared information, calculates a hash value, and verifies the hash value and the electronic signature using the container public key (S40). The requester 10 decrypts the encrypted text of the sealing instruction using the temporary common key, and seals the sample in the container 30 according to the sealing instruction (S42). The requester 10 delivers the container 30 with the sample sealed therein to the analyst 14 (S44). Note that the requester 10 may encrypt sample information related to the sample using the temporary common key and transmit it to the analyst 14.

[0049] In the analysis report step (6), the analyst 14 analyzes the sample, creates an analysis report, and encrypts it with a temporary common key (S46). The analyst 14 delivers the ciphertext of the analysis report to the requester 10 (S48). The requester 10 decrypts the ciphertext of the analysis report with the temporary common key and views it (S50). Finally, the analyst 14 returns the container 30 to the stockyard 20 (S52).

[0050] Fig. 7 is a functional block diagram of the analysis service providing system 1 that executes the sequence shown in Fig. 6. As shown in Fig. 7, the analysis service providing system 1 includes a client terminal 12, an analyst terminal 14, and a server 18, which are capable of communicating with each other via a communication line N. The server 18 includes a container registration unit 300 that associates a private key and a public key with a container 30, a request receiving unit 302 that receives an analysis request from the client 10, a signature generation unit 304 that digitally signs information about the sample to be sealed in the container 30 in response to the analysis request using the private key associated with the container 30 and transmits the digital signature to the client 10, and a delivery request unit 306 that requests the custodian of the container 30 to deliver the container 30, to which the public key associated with the container 30 (or its storage destination) has been added, to the client 10. The server 18 also functions as a web server.

[0051] The requester terminal 12 includes an interface providing unit 310, an encryption / decryption unit 312, and a signature verification unit 314. The analyst terminal 16 includes an interface providing unit 320 and an encryption / decryption unit 322. The interface providing units 310 and 320 provide a user interface. The encryption / decryption units 312 and 322 perform encryption or decryption of information. The signature verification unit 314 verifies an electronic signature based on a public key and information to be signed. Each of the interface providing units 310 and 320 serves as a web browser.

[0052] <UI Screen Transition> As shown in FIG. 8, the UI screen displayed on the display unit 58 of the requester terminal 12 includes a requester main screen 100, a new request screen 110, an OTP input screen 120, a completed request case screen 130, a container identifier reading screen 140, an enclosure instruction display screen 150, and a sample information input screen 160. As indicated by the arrows, these screens transition to the next screen when a specific selection is made. Details of each screen will be described later.

[0053] As shown in FIG. 9, the user interface (hereinafter abbreviated as "UI") screen displayed on the display unit 59 of the analyst terminal 16 includes an analyst main screen 170, an analysis request screen 180, an enclosure instruction input screen 190, and an analysis report input screen 200. As indicated by the arrows, these screens transition to the next screen when a specific selection is made. Details of each screen will be described later.

[0054] <Each Processing Step of the Analysis Service Providing System> Hereinafter, referring also to the UI screens shown in FIGS. 8 and 9, each of (1) the container registration step, (2) the analysis request step, (3) the analysis request acceptance step, (4) the enclosure instruction creation step, (5) the sample sending step, and (6) the analysis report step will be described in detail.

[0055] The analysis service provided by the server 18 is provided via a website accessible via the HTTPS protocol, with the server 18 functioning as a web server. The requester terminal 12 and the analyst terminal 16 each display various UI screens via a web browser and accept operations on the various UI screens. That is, the CPU 50 of the requester terminal 12 and the CPU 40 of the server 18 work together to provide a user interface to the requester 10. Similarly, the CPU 51 of the analyst terminal 16 and the CPU 40 of the server 18 work together to provide a user interface to the analyst 14.

[0056] (Container registration process) Next, the container registration process will be described in detail. 10, when the stockyard 20 requests the server 18 to register a container 30, the server 18 generates a private key and a public key for the container 30, and notifies the stockyard 20 of a URL including a hash value of the container public key. The stockyard 20 converts the URL including the hash value of the container public key into a two-dimensional code, and engraves the two-dimensional code on the container 30 by laser processing.

[0057] -Server processing- The "container registration process" executed by the CPU 40 of the server 18 will now be described in detail with reference to the flowchart shown in Fig. 11. The "container registration process" is started when registration of a container 30 is requested. First, in step S100, the CPU 40 of the server 18 generates a pair of a container private key and a container public key. The container private key and the container public key can be generated, for example, by the Edwards-curve Digital Signature Algorithm (EdDSA).

[0058] Next, in step S102, the CPU 40 stores the container private key and the container public key in the container DB 48C. Each of the container private key and the container public key is converted into a string using, for example, the BASE64 method, and a hash value is calculated from the string of the container public key using a hash function such as SHA-256 (Secure Hash Algorithm 256-bit). This hash value of the container public key is used as the container ID.

[0059] The container DB 48C stores the character string of the container public key, the character string of the container private key, and each value of the container specifications using a key-value system with the hash value of the container public key (i.e., the container ID) as the key, as shown in Table 1 of Fig. 12. Alternatively, as shown in Table 2, an arbitrary abbreviated name may be used as the key, and the character string of the container public key, the character string of the container private key, the hash value (footprint) of the container public key, and each value of the container specifications may be used as the value.

[0060] For example, in Table 1, the hash value of the container public key ("12c70824abb1a7e441e04257..."), which is the key, is associated with the container public key string ("Pubkey": "MCowBQYDK2VwAyEA2+h9+JCt..."), the container private key string ("Privkey": "MC4CAQAwBQYDK2VwBCIEIK1k..."), and the container specifications ("Width": 100, "Height": 100, "Depth": 100) as values.

[0061] Next, in step S104, the CPU 40 notifies the stockyard 20 of a URL including, for example, a hash value (or a shortened URL thereof) as a URL at which the container public key can be viewed, and ends the "container registration process" routine.

[0062] The server 18 functions as a web server, and the client 10 and analyst 14 can also view the container public key by reading the two-dimensional code engraved on the container 30. As such, the public key associated with the container 30 is made public to third parties, and it can be identified as belonging to the analyst 14 or the organization to which he or she belongs.

[0063] (Analysis request process) Next, the analysis request process will be described in detail. As shown in FIG. 13, a token generator 11 that generates a time-based one-time password (hereinafter abbreviated as "OTP") is distributed in advance to the requester terminal 12. A unique ID and a salt string that are unique to the token generator 11 are embedded in the token generator 11. The time on the internal timer of the token generator 11 is synchronized with the time on the timer of the server 18. The token generator 11 generates the OTP from the time, unique ID, and salt. Note that the password may be abbreviated as "PW."

[0064] Furthermore, the requester 10, who is a user, has an account for using the analysis service, and a user ID has been issued to the requester 10 in advance. The server 18 manages account information such as the user ID in an account DB 48A. The account DB 48A also links the unique ID of the token generator 11 distributed to the requester 10 to the user ID.

[0065] -Processing on the client's device- 14 to 16, the processing on the side of the requester terminal 12 will be described in more detail. These processing steps are executed by the CPU 50 of the requester terminal 12.

[0066] When the client 10 accesses the analysis service website (i.e., the server 18) and logs in using his / her own user ID, the "client main processing" shown in Fig. 14 is started. First, in step S200, the CPU 50 obtains a list of requested cases of the client 10 from the server 18.

[0067] Next, in step S202, the CPU 50 displays the requester main screen 100 as an interface.

[0068] Here, reference is made to the screen transition diagram in Figure 8. In the case of a new request, the requester 10 selects the New button 102 on the requester main screen 100. When the New button 102 is selected, the UI screen transitions to a New Request screen 110. On the other hand, in the case of an already requested case, the requester 10 selects the target already requested case from the selection field 104. When the target already requested case is selected, the UI screen transitions to a Requested Case screen 130.

[0069] Returning to the explanation of Figure 14, next, in step S204, the CPU 50 determines whether or not the request is a new request based on the input from the requester 10. If it is a new request, the process proceeds to "new request processing" in step S208. If it is not a new request, the process proceeds to step S206, where the CPU 50 determines whether or not the request is already requested based on the input from the requester 10. If it is already requested, the process proceeds to "requested request processing" in step S210. If it is not already requested, the process returns to step S200 and waits until the next loop.

[0070] Next, the "new request process" in step S208 in Fig. 14 will be described with reference to Fig. 15. First, in step S212, the CPU 50 displays the new request screen 110 as an interface.

[0071] Here, reference is made to the screen transition diagram in FIG. 8. The requester 10 inputs the request details (for example, text, photos, videos, etc. of the request details) in the request details input field 112 on the new request screen 110. If the requester wishes to make the request with the input details, the requester 10 selects the send button 114. When the send button 114 is selected, the UI screen transitions to the OTP input screen 120. On the other hand, if the requester 10 wishes to cancel the input details, the requester 10 selects the cancel button 116. When the input details are canceled, the UI screen returns to the requester main screen 110.

[0072] Returning to the description of Fig. 15, next, in step S214, the CPU 50 determines whether or not transmission is to be performed based on the input of the requester 10. If transmission is to be performed, the process proceeds to "OTP input processing" in step S218. If transmission is not to be performed, the process proceeds to step S216, where the CPU 50 determines whether or not cancellation is to be performed based on the input of the requester 10. If cancellation is to be performed, the process proceeds to "requester main processing" in step S220. If cancellation is not to be performed, the process returns to step S212 and waits until the next loop.

[0073] Next, the "OTP input process" in step S218 in Fig. 15 will be described with reference to Fig. 16. First, in step S222, the CPU 50 displays the OTP input screen 120 as an interface.

[0074] Here, reference is made to the screen transition diagram in Figure 8. The requester 10 inputs the OTP generated by the token generator 11 into the PW input field 122 on the OTP input screen 120. If the input content is OK, the requester 10 selects the send button 124. On the other hand, if the input content needs to be canceled, the requester 10 selects the cancel button 126. In either case, the UI screen returns to the requester main screen 110.

[0075] Returning to the description of Fig. 16, next, in step S224, the CPU 50 determines whether or not to send based on the input of the requester 10. If it is to send, the process proceeds to step S230. If it is not to send, the process proceeds to step S226, where the CPU 50 determines whether or not to cancel based on the input of the requester 10. If it is to cancel, the process proceeds to "requester main processing" in step S228. If it is not to cancel, the process returns to step S222 and waits until the next loop.

[0076] Next, in step S230, the CPU 50 transmits the user ID and the OTP to the server 18. Note that the user ID of the requester 10 was transmitted to the server 18 at the time of login, but in step S230, the user ID may be transmitted again to the server 18 together with the OTP. Upon receiving the OTP from the requester terminal 12, the server 18 transmits the common key parameters to the requester terminal 12.

[0077] Next, in step S232, the CPU 50 determines whether or not a response has been received from the server 18. If a response has been received, the process proceeds to step S234, and if no response has been received, the process returns to step S222.

[0078] Next, in step S234, the CPU 50 receives the shared key parameters from the server 18. In the following step S236, a temporary shared key is generated. For example, the server 18 transmits an initialization vector (IV) stored in advance as a constant to the requester terminal 12 as the shared key parameter. The CPU 50 of the requester terminal 12 generates an AES shared key of the shared key cryptosystem (AES: Advanced Encryption Standard) from the OTP and the initialization vector using a web browser. That is, in the first embodiment, an "AES shared key" is used as the temporary shared key.

[0079] Next, in step S238, the CPU 50 encrypts the analysis request with the temporary common key. In the following step S240, the CPU 50 transmits the ciphertext of the analysis request to the server 18. Upon receiving the ciphertext of the analysis request from the requester terminal 12, the server 18 issues an analysis request ID and transmits it to the requester terminal 12. Next, in step S242, the CPU 50 receives the analysis request ID from the server 18, stores the temporary common key in the memory unit 54, and returns to step S228.

[0080] -Server processing- Here, the "analysis request reception process" executed by the CPU 40 of the server 18 will be described with reference to Figure 17. The "analysis request reception process" starts when a new request is received from the requester 10. First, in step S110, the CPU 40 receives an OTP from the requester 10. Next, in step S112, the CPU 40 transmits a common key parameter to the requester 10. Next, in step S114, the CPU 40 lists OTPs that can be generated before and after the request and detects the time difference of the token generator 11.

[0081] Next, in step S116, the encrypted analysis request is received from the requester 10. Next, in step S118, the CPU 40 issues an analysis request ID and transmits it to the requester 10. Next, in step S120, the CPU 40 generates a work status record and sets the work status to "not started." Next, in step S122, the CPU 40 associates the unique ID, time difference, encrypted analysis request, and work status record with the analysis request ID and stores them in the analysis request DB 48B, and ends the "analysis request reception process" routine.

[0082] (Analysis request acceptance process) Next, the analysis request acceptance process will be specifically described. As shown in Figure 13, the analyst 14 can access the website (i.e., the server 18) and query the analysis request DB 48B. The analyst 14 generates a temporary common key each time using the unique ID and time difference stored in the analysis request DB 48B along with the ciphertext of the analysis request. The analyst 14 uses the temporary common key to decrypt the ciphertext of the analysis request and view it.

[0083] -Analyst terminal processing- 18 and 19, the processing on the analyst terminal 16 side will be described in more detail. These processing steps are executed by the CPU 51 of the analyst terminal 16.

[0084] When the analyst 14 queries the analysis request DB 48B, the "analyst main processing" shown in Fig. 18 is started. First, in step S400, the CPU 51 acquires a list of all analysis requests from the server 18. Next, in step S402, the CPU 51 displays the analyst main screen 170 as an interface.

[0085] Here, refer to the screen transition diagram in Figure 9. The analyst 14 selects an analysis request to accept from among the analysis requests displayed in the all request list selection field 172. When the analyst 14 selects an analysis request to accept, the UI screen transitions to an analysis request screen 180.

[0086] Returning to the description of Fig. 18, next, in step S404, the CPU 51 determines whether or not an analysis request has been selected. If an analysis request has been selected, the process proceeds to "analysis request processing" in step S406. On the other hand, if an analysis request has not been selected, the process returns to step S400 and waits until the next loop.

[0087] Next, the "analysis process" in step S406 in Fig. 18 will be described with reference to Fig. 19. First, in step S408, the CPU 51 acquires the ciphertext of the selected analysis request from the server 18 based on the analysis request ID. Next, in step S410, the CPU 51 decrypts the ciphertext of the analysis request with the temporary common key corresponding to the analysis request ID.

[0088] Next, in step S412, the CPU 51 displays the analysis request screen 180 as an interface.

[0089] Here, reference is made to the screen transition diagram in Figure 9. The request content display field 182 of the analysis request screen 180 displays the decrypted analysis request (i.e., the request content), and the sample information display field 186 displays the sample information corresponding to the analysis request. When the analyst 14 inputs an encapsulation instruction, he / she selects the encapsulation instruction input button 184. When the encapsulation instruction input button 184 is selected, the UI screen transitions to an encapsulation instruction input screen 190.

[0090] When the analyst 14 wants to input an analysis report, he / she selects the analysis report input button 188. When the analysis report input button 188 is selected, the UI screen transitions to an analysis report input screen 200. When the analyst 14 wants to input an enclosure instruction, he / she selects the enclosure instruction input button 184. When the analyst 14 is finished, he / she selects the complete button 189, and the UI screen returns to the analyst main screen 170.

[0091] Returning to the description of Figure 19, next, in step S414, the CPU 51 determines whether or not an enclosing instruction has been input based on the input of the analyst 14. If an enclosing instruction has been input, the process proceeds to "enclosing instruction input processing" in step S420. If an enclosing instruction has not been input, the process proceeds to step S416, where the CPU 51 determines whether or not an analysis report has been input based on the input of the analyst 14 in step S416. If an analysis report has been input, the process proceeds to "analysis report input processing" in step S422. If an analysis report has not been input, the process proceeds to step S418, where the CPU 51 determines whether or not the process has been completed based on the input of the analyst 14 in step S418. If the process has been completed, the process returns to "analyst main processing." If the process has not been completed, the process returns to step S408 and waits until the next loop.

[0092] (Enclosure instruction creation process) Next, the process of creating the inclusion instructions will be described. 20, when the analyst 14 decides to start accepting an analysis request, the analyst 14 selects a container 30 from the container DB 48C with appropriate specifications for receiving the sample based on the content of the analysis request, and places an order for the selected container 30 with the server 18. Multiple containers 30 may be selected. The analyst 14 also creates a sealing instruction, encrypts it with a temporary common key, and transmits the ciphertext of the sealing instruction to the server 18.

[0093] Furthermore, if the analysis request does not contain sufficient information necessary to select the container 30, the analyst 14 may create a query, encrypt it with a temporary common key, and send it to the requester 10 to prompt them to update the analysis request.

[0094] The server 18 places an order for the container 30 selected by the analyst 14 with the stockyard 20. Upon receiving the order, the stockyard 20 delivers the container 30 to the requester 10. The server 18 obtains the container private key and container public key of the selected container 30. The server 18 uses the container private key to generate a digital signature for the shared information including the encrypted text of the enclosing instruction, and transmits the encrypted text of the enclosing instruction and the digital signature to the requester 10.

[0095] -Analyst terminal processing- Here, the processing on the analyst terminal 16 side will be described in more detail with reference to Fig. 21. These processing steps are executed by the CPU 51 of the analyst terminal 16.

[0096] As described above, when the "Insert Enclosure Instructions" 184 is selected on the analysis request screen 180 shown in Fig. 9, the "Insert Enclosure Instructions" process shown in Fig. 21 is started. First, in step S426, the CPU 51 initializes the container ID to an initial value (null). Next, in step S428, the CPU 51 obtains a list of available containers 30 from the server 18.

[0097] Next, in step S430, the CPU 51 displays the inclusion instruction input screen 190 as an interface.

[0098] Here, reference will be made to the screen transition diagram in Figure 9. When the analyst 14 selects the sealing instruction input 184 on the analysis request screen 180, the UI screen transitions to a sealing instruction input screen 190. A container list selection field 192 on the sealing instruction input screen 190 displays a list of selectable containers 30. The analyst 14 selects a container 30 and inputs a sealing instruction in the sealing instruction input field 194 to seal the sample in that container 30. When the analyst 14 selects the send button 196, the sealing instruction is sent to the server 18, and the UI screen returns to the analyst main screen 170. Alternatively, when the analyst 14 selects the cancel button 198, the input is canceled, and the UI screen returns to the analyst main screen 170.

[0099] Returning to the description of Fig. 21, next, in step S432, the CPU 51 determines whether or not a container 30 has been selected based on the input of the analyst 14. If a container has been selected, the process proceeds to step S438, where the container ID of the container 30 selected in step S438 is set as the container ID, and the process returns to step S430. On the other hand, if a container has not been selected, the process proceeds to step S434.

[0100] Next, in step S434, the CPU 51 determines whether or not to send based on the input from the analyst 14. If it is to send, the process proceeds to step S442. If it is not to send, the process proceeds to step S436, where the CPU 51 determines whether or not to cancel based on the input from the analyst 14. If it is to cancel, the process returns to the "analysis request process." If it is not to cancel, the process returns to step S426 and waits until the next loop.

[0101] When the sending of the enclosing instruction is instructed in step S434, the CPU 51 then determines in step S442 whether the container ID is the initial value. If the container ID is the initial value, a container 30 has not been selected, and the process returns to step S430. If the container ID is not the initial value, the process proceeds to step S444. Next, in step S444, the CPU 51 encrypts the enclosing instruction with the temporary common key corresponding to the analysis request ID. In the following step 446, the CPU 51 transmits the ciphertext of the enclosing instruction and the container ID to the server 18, and the process returns to step S440.

[0102] -Server processing- The "signature generation process" executed by the CPU 40 of the server 18 will now be described with reference to FIG. 22. The "signature generation process" begins when the analyst 14 selects an analysis request to accept. First, in step S124, the CPU 40 identifies the ID of the accepted analysis request. Next, in step S126, the CPU 40 updates the work status record of the accepted analysis request to "started." Subsequently, in step S128, the CPU 40 records information about the analyst 14 and the work start time.

[0103] Next, in step S130, the CPU 40 instructs the stockyard 20 to deliver the container 30 selected by the analyst 14 to the client 10. Next, in step S132, the CPU 40 generates a container private key and a container public key for the container 30 selected by the analyst 14. Next, in step S134, the CPU 40 acquires the encrypted text of the enclosing instruction created by the analyst 14.

[0104] Next, in step S136, the CPU 40 generates a digital signature for the shared information including the ciphertext of the enclosing instruction and the container public key. That is, the CPU 40 calculates a hash value of the shared information and generates a digital signature using the container private key. In the following step S138, the CPU 40 transmits the ciphertext of the enclosing instruction and the digital signature to the client 10, and ends the "signature generation process" routine.

[0105] (Sample delivery process) Next, the sample delivery process will be described. 23, the requester 10 acquires the container public key by reading with a camera 62 the two-dimensional code imprinted on the container 30 delivered from the stockyard 20. In detail, a URL including a hash value of the container public key is read from the two-dimensional code, and the container public key can be viewed from the URL.

[0106] The requester 10 verifies the digital signature using the container public key to verify the authenticity of the ciphertext of the sealing instructions. If this verification is unsuccessful, the container, sealing instructions, and their combination are not what the analyst intended, and the requester must contact a service provider, etc. If the verification is successful, the requester 10 seals the sample in a container 30 according to the sealing instructions and sends it to the analyst 14. It is also possible to encrypt sample information about the sealed sample with a temporary common key and send it to the analyst 14.

[0107] -Processing on the client's device- 24 to 27, the processing on the side of the requester terminal 12 will be described in more detail. These processing steps are executed by the CPU 50 of the requester terminal 12.

[0108] When the client 10 selects a requested case on the client main screen 100 of Fig. 8, the "Requested Case Processing" shown in Fig. 24 is started. First, in step S250, the CPU 50 identifies the analysis request ID of the selected requested case, and obtains the ciphertext and digital signature of the analysis request from the server 18.

[0109] Next, in step S252, the CPU 50 decrypts the encrypted analysis request created by the requester 10 himself / herself, using the temporary common key corresponding to the analysis request ID.

[0110] Next, in step S254, the CPU 50 displays the requested item screen 130 as an interface.

[0111] Here, refer to the screen transition diagram in Fig. 8. When the requester 10 selects a requested case on the requester main screen 100, the UI screen transitions to a requested case screen 130. The analysis request (i.e., the request content) is displayed in a request content display field 132 on the requested case screen 130, and the analysis report is displayed in an analysis report display field 138.

[0112] If the requester 10 wishes to display sealing instructions, he / she selects the sealing instruction display button 134. When the sealing instruction display button 134 is selected, the UI screen transitions to a container identifier reading screen 140. If the requester 10 wishes to input sample information, he / she selects the sample information input button 136. When the sample information input button 136 is selected, the UI screen transitions to the sample information input button 136. When the process is complete, the requester 10 selects the complete button 139, and the UI screen returns to the requester main screen 100.

[0113] Returning to the description of Figure 24, next, in step S256, the CPU 50 determines whether or not a sealing instruction is displayed based on the input of the requester 10. If a sealing instruction is displayed, the process proceeds to step S262, "container identifier reading process." If a sealing instruction is not displayed, the process proceeds to step S258, where the CPU 50 determines whether or not sample information has been input based on the input of the requester 10, in step S258. If sample information has been input, the process proceeds to step S264, "sample information input process." If sample information has not been input, the process proceeds to step S260, where the CPU 50 determines whether or not the process has been completed based on the input of the requester 10, in step S260. If the process has been completed, the process returns to "requester main process." If the process has not been completed, the process returns to step S250 and waits until the next loop.

[0114] Next, with reference to Figure 25, the "container identifier reading process" in step S262 of Figure 24 will be described. First, in step S270, the CPU 50 acquires a camera image. Next, in step S272, the CPU 50 acquires a character string from a two-dimensional code in the camera image. Next, in step S274, the CPU 50 determines whether the two-dimensional code represents a container public key. If it represents a container public key, the process proceeds to step S276; if it does not represent a container public key, the process returns to step S270.

[0115] Next, in step S276, the CPU 50 determines whether or not the document is to be read based on the input from the requester 10. If the document is to be read, the process proceeds to step S280, "enclosure instruction display process." If the document is not to be read, the process proceeds to step S278, where the CPU 50 determines whether or not the document is to be canceled based on the input from the requester 10. If the document is to be canceled, the process returns to step S282, "requested case processing," and if the document is not to be canceled, the process returns to step S270 and waits until the next loop.

[0116] Here, reference is made to the screen transition diagram in Figure 8. The requester 10 photographs the two-dimensional code of the container 30 and displays the image taken by the camera 62 in the camera image display field 142 of the container identifier reading screen 140. When the requester 10 selects the read button 144, the two-dimensional code is read, the container public key is obtained, and the UI screen transitions to the sealing instruction display screen 150.

[0117] Next, with reference to Figure 26, the "enclosure instruction display process" of step S280 in Figure 25 will be described. First, in step S290, the CPU 50 verifies the digital signature using the container public key and the ciphertext. Next, in step S292, the CPU 50 determines whether or not the verification has failed. If the verification has succeeded, the process proceeds to step S294. On the other hand, if the verification has failed, the process returns to the requested case processing of step S300.

[0118] Next, in step S294, the CPU 50 decrypts the ciphertext of the enclosing instruction with the temporary common key corresponding to the analysis request ID. Next, in step S296, the CPU 50 displays the enclosing instruction display screen 150 as an interface.

[0119] Here, reference is made to the screen transition diagram in Figure 8. The enclosing instruction display field 152 on the enclosing instruction display screen 150 displays the plaintext of the enclosing instruction verified with the container public key and decrypted with the temporary common key. When the requester 10 selects the Complete button, the screen returns to the requester main screen 100.

[0120] Returning to the description of Fig. 26, next, in step S298, the CPU 50 determines whether or not the process is complete. If it is complete, the process returns to step S300, "processing the requested case," and if it is not complete, the process returns to step S290, and the process waits until the next loop.

[0121] Next, the "sample information input process" in step S264 in Fig. 24 will be described with reference to Fig. 27. First, in step S302, the CPU 50 displays the sample information input screen 160 as an interface.

[0122] Here, reference is made to the screen transition diagram in Figure 8. The requester 10 inputs sample information as needed into the input field 161 of the sample information input screen 160. When the requester 10 selects the send button 162, the sample information is encrypted and sent to the server 18, and the UI screen returns to the requester main screen 100. Alternatively, when the requester 10 selects the cancel button 164, the input is canceled, and the UI screen returns to the requester main screen 100.

[0123] Returning to the description of Fig. 27, next, in step S304, the CPU 50 determines whether or not to send based on the input of the requester 10. If it is to send, the process proceeds to step S310. If it is not to send, the process proceeds to step S306, where the CPU 50 determines whether or not to cancel based on the input of the requester 10. If it is to cancel, the process proceeds to step S308, "Processing the requested case."

[0124] If an instruction to send sample information is given in step S304, then in step S310, the CPU 50 encrypts the sample information with a temporary common key corresponding to the analysis request ID. In the following step S312, the CPU 50 sends the encrypted sample information to the server 18, returns to step S302, and waits until the next loop.

[0125] (Analysis report process) Next, the analysis and reporting process will be described. As shown in Figure 28, the analyst 14 extracts a sample from the container 30 delivered by the requester 10 and performs an analysis. When sample information is provided by the requester 10, the analyst 14 decrypts it using the temporary common key and views it, just as with the analysis request. Similarly to the requester 10, the analyst 14 may also read the two-dimensional code engraved on the container 30 and, based on the container public key, confirm that the container 30 is the one he or she ordered, along with the sealing instructions.

[0126] The analyst 14 then creates an analysis report, encrypts it with the temporary common key, and sends it to the requester 10. Here, the analysis report is an example of "other information" that is different from the information included in the enclosing instruction. At this time, as with the enclosing instruction, an electronic signature may be generated for the encrypted text of the analysis report using the container private key, and the electronic signature may be sent together with the encrypted text of the analysis report. The electronic signature allows the requester 10 to be provided with an analysis report linked to the container 30.

[0127] If the sample does not need to be returned, the container 30 is returned to the stockyard 20 and the sample is discarded when it is no longer needed before or after analysis. If the sample needs to be returned, the container 30 is returned to the requester 10 with the sample inside.

[0128] The requester 10 decrypts the analysis report sent by the analyst 14 using a temporary common key and views it. If an electronic signature is present, it is verified using the same process as the enclosing instruction to confirm the authenticity of the combination of the container 30 and the analysis report. If the sample is returned, the sample is removed from the container 30 and returned to the stockyard 20.

[0129] -Analyst terminal processing- Here, the processing on the analyst terminal 16 side will be described in more detail with reference to Fig. 29. This processing is executed by the CPU 51 of the analyst terminal 16.

[0130] When the analysis report input button 188 is selected on the analysis request screen 180 of Fig. 9, the "analysis report input process" of Fig. 29 is started. First, in step S450, the CPU 51 displays the analysis report input screen 200 as an interface.

[0131] Here, reference will be made to the screen transition diagram in Figure 9. When the analyst 14 selects the analysis report input button 188 on the analysis request screen 180, the UI screen transitions to an analysis report input screen 200. The analyst 14 inputs the analysis report in the analysis report input field 202 on the analysis report input screen 200. When the analyst 14 selects the send button 204, the analysis report is encrypted and sent to the server 18, and the UI screen returns to the analyst main screen 170. Also, when the analyst 14 selects the cancel button 206, the input is canceled, and the UI screen returns to the analyst main screen 170.

[0132] Returning to the description of Figure 29, next, in step S452, the CPU 51 determines whether or not transmission is to be performed based on the input from the analyst 14. If transmission is to be performed, the process proceeds to step S458. If transmission is not to be performed, the process proceeds to step S454. In the following step S454, the CPU 51 determines whether or not cancellation is to be performed based on the input from the analyst 14. If cancellation is to be performed, the process proceeds to "analysis request processing" in step S456. If cancellation is not to be performed, the process returns to step S450 and waits until the next loop.

[0133] On the other hand, if it is determined in step S452 that the analysis report should be transmitted, then in step S458, the CPU 51 encrypts the analysis report with the temporary common key corresponding to the analysis request ID. In the following step 460, the CPU 51 transmits the ciphertext of the analysis report to the server 18, and returns to step S450 to wait until the next loop.

[0134] -Server processing- Here, the "analysis termination process" executed by the CPU 40 of the server 18 will be described with reference to Figure 30. The "analysis termination process" starts when the ciphertext of the analysis report is received from the analyst 14. First, in step S140, the CPU 40 optionally generates a digital signature for the ciphertext of the analysis report using the container private key. Next, in step S142, the CPU 40 transmits the ciphertext of the analysis report to the requester 10. If a digital signature has been generated, the ciphertext of the analysis report and the digital signature are transmitted to the requester 10. Next, in step S144, the CPU 40 updates the work status record to "completed" and terminates the "analysis termination process" routine.

[0135] -Processing on the client's device- As explained with reference to Fig. 24, the "Requested Case Processing" shown in Fig. 24 also corresponds to the case where an analysis report is delivered by the analyst 14. When the requester 10 views the analysis report, if the requester 10 selects the requested case on the requester main screen 100 of Fig. 8, the "Requested Case Processing" shown in Fig. 24 starts, and the plain text of the analysis report is displayed in the analysis report display field 138 of the requested case screen 130.

[0136] As described above, in the first embodiment, only sealing instructions that can be verified using the public key engraved on the container 30 can be presented to the requester 10, thereby reducing sealing errors such as the requester 10 mistaking the instructions of the analyst 14 and sealing the sample in an unintended container 30.

[0137] Furthermore, even if the wrong container 30 is delivered to the requester 10, there are no verifiable sealing instructions, which can reduce sealing errors such as sealing a sample into the wrong container 30. Furthermore, since the sealing instructions are encrypted, it is difficult for a third party to intercept them, and even if a malicious third party attempts to switch containers or falsify the return address, this can be detected by verification.

[0138] In the first embodiment, information exchanged between the requester 10 and the analyst 14 is encrypted with a common key, and only the requester 10 and the analyst 14, who have the common key necessary for decryption, can know the contents of the information. Furthermore, the public key engraved on the container 30 can be read optically or electromagnetically, allowing for quick verification. Furthermore, because the public key is made public to third parties, it can be identified as belonging to the analyst 14 or the organization to which the analyst belongs.

[0139] [Second embodiment] The second embodiment introduces a temporary common key A for encrypting the analysis request and a temporary common key B for encrypting the exchange between the requester and the analyst after the enclosing instruction.

[0140] As in the first embodiment, the temporary common key A may be an AES common key generated by common key cryptography from the OTP generated by the token generator 11 and an initialization vector.

[0141] On the other hand, temporary common key B is a common key generated using the Diffie-Hellman (DH) key exchange method or the Elliptic Curve Diffie-Hellman (ECDH) key exchange method. In the DH key exchange method and the ECDH key exchange method, of the pair of temporary private key and temporary public key temporarily generated between the requester 10 and the analyst 14, only the temporary public key is transmitted to the other party. The requester 10 and the analyst 14 each generate a temporary common key from the other party's temporary public key and their own pair of temporary private key and temporary public key.

[0142] FIG. 31 is a sequence diagram outlining the processing flow of the analysis service providing system. It differs from the sequence diagram shown in FIG. 6 in that steps S2 to S8 have been omitted and steps S54 to S68, enclosed by dotted lines, have been inserted. Common steps are given the same or similar reference numerals and will not be described again. In FIG. 31, step S26 in FIG. 6 is divided into step S26A, which decrypts the analysis request with temporary common key A, and step S26B, which creates an enclosing instruction and encrypts it with temporary common key B. Steps S28A to S52A in FIG. 31 are the same as steps S28 to S52 in FIG. 6, except that temporary common key B is used.

[0143] Therefore, only the process of generating the temporary common key B in steps S54 to S68 will be described. The server 18 transmits the temporary common key parameters to the analyst 14 (S54). The server 18 also transmits the temporary common key parameters to the requester 10 (S56). The analyst 14 generates a pair of a temporary private key and a temporary public key using the temporary common key parameters (S58). The requester 10 also generates a pair of a temporary private key and a temporary public key using the temporary common key parameters (S60).

[0144] The requester 10 transmits the temporary public key to the analyst 14 (S62). The analyst 14 generates a temporary common key B from the analyst's 14's own temporary private key and temporary public key and the analyst's 10's temporary public key (S64). The analyst 14 also transmits a temporary public key to the requester 10 (S66). The requester 10 generates a temporary common key B from the requester's 10's own temporary private key and temporary public key and the analyst's 14's temporary public key (S68). The temporary common key B is used for subsequent encryption.

[0145] In the first embodiment, the client 10, analyst 14, and server 18 all hold the same temporary common key, but the server 18 (and its administrator) does not inherently need to know the analysis content. Furthermore, if the temporary common key is leaked from the server 18, there is a risk that all of the analysis content will be intercepted. In the second embodiment, temporary common key B is used to encrypt communications between the client and analyst after the enclosing instruction is issued. Because temporary common key B is generated only between the client 10 and analyst 14, without being known to third parties, the communication content can be kept secret from third parties, including the server 18.

[0146] [Third embodiment] The analysis service providing system according to the third embodiment utilizes external devices 24 (transport vehicles, storage cabinets, analytical devices, etc.) that are located away from the analyst 14. In this case, in addition to the client 10 and the analyst 14, third parties such as personnel involved in the transport and storage of containers may also have access to the operation and status display of the external devices 24.

[0147] 32, in the third embodiment, the external device 24 is provided with an authentication system that manages access to the operation and status display of the external device 24. The external device 24 is also provided with a mechanism that can read the two-dimensional code engraved on the container 30 with a camera 26 and identify the container public key.

[0148] When the requester 10, analyst 14, or a third party (hereinafter referred to as "requester 10, etc.") attempts to access the operation or status display of the external device 24, they are first authenticated by another authentication system such as login authentication for the server 18, and then further authentication by the external device 24 is required.

[0149] For example, when the requester 10 or the like generates an appropriate random number and sends it to the server 18, the server 18 encrypts the random number with the container private key to generate a digital signature and issues the digital signature to the requester 10 or the like. The requester 10 or the like then inputs the random number and the digital signature into the authentication system of the external device 24. The external device 24 can authenticate the requester 10 or the like depending on whether the received random number and digital signature can be verified with the container public key obtained from the container 30.

[0150] When using the external device 24, it may be necessary to restrict access to each device for confidentiality reasons. As in the third embodiment, by providing an authentication system that manages access to the operation and status display of the external device 24 and a mechanism for acquiring a container public key, it becomes possible to authenticate access based on whether or not appropriate information (for example, a random number) and a digital signature generated using the container private key for that information can be verified using the container public key.

[0151] The method by which the external device 24 obtains the public key is not limited to this example. For example, the container public key may be directly registered in advance in the authentication system of the external device 24.

[0152] Furthermore, the public key used for authentication is not limited to the container public key. There are cases where it is desired to link the authentication system of the external device 24 not only to the container 30 but also to an individual as multi-factor authentication. In this case, an individual such as the requester 10 may individually possess a private key and a public key, and the individual's public key may be registered in the authentication system of the external device 24.

[0153] For example, consider a case where an individual's public key is converted into a two-dimensional code and printed on a nameplate, a private key is stored in a smartphone, and the time on the external device 24 and the smartphone are synchronized with an NTP (Network Time Protocol) server on the Internet. In this case, a digital signature for the time can be generated using the private key stored in the smartphone and displayed as a two-dimensional code on the smartphone screen. The external device 24 can then obtain the digital signature by reading the public key from the nameplate, the digital signature from the smartphone screen, and the two-dimensional code with the camera 26. This allows the external device 24 to perform authentication based on whether the time can be verified.

[0154] Another form of multi-factor authentication can be the use of the temporary public key and temporary private key generated by the DH key exchange in the second embodiment. By adding a mechanism for printing the generated temporary public key as a two-dimensional code on paper and a mechanism for displaying a time-stamped digital signature generated by the temporary private key as a two-dimensional code on a smartphone or PC screen, the external device 24 can obtain the time, digital signature, and temporary public key, and perform authentication based on whether the time can be verified.

[0155] In the third embodiment, the external device 24 performs the authentication. However, the server 18 may perform the authentication via the external device 24.

[0156] [Variations] It goes without saying that the configurations of the analysis service providing method, analysis service providing device, analysis service providing system, and program described in each of the above embodiments are examples, and may be modified within the scope of the present invention.

[0157] Fig. 33(A) is a schematic diagram showing a functional arrangement corresponding to a "one-to-one" analysis request, and in the above embodiment, Fig. 33(B) is a schematic diagram showing a functional arrangement corresponding to a "many-to-many" analysis request. In the above embodiment, Fig. 33(B) explains the present invention using a "many-to-many" analysis request, but the present invention can also be applied to a "one-to-one" analysis request shown in Fig. 33(A). In this case, as is clear from a comparison of the two, the functions previously performed by the server 18 and stockyard 20 will be performed by the analyst 14. [Explanation of symbols]

[0158] 1. Analysis service provision system 10. Client 11 Token Generator 12. Client terminal 14 Analyst 16 Analyst terminal 18 Servers 20 Stockyard 22 Analysis Center 24 External equipment 24A Analyzer 24B Storage 24C transport cart 26 Camera 30, 30A, 30B container 48 Database (DB) 62, 63 Camera 100 Requester Main Screen 110 Client Main Screen 110 New Request Screen 120 OTP input screen 130 Requested Projects Screen 140 Container Identifier Reading Screen 150 Encapsulation instruction display screen 160 Sample information input screen 170 Analyst Main Screen 180 Analysis request screen 190 Enclosure instruction input screen 200 Analysis report input screen 300 Container Registration Department 302 Request Reception Department 304 Signature generation section 306 Delivery Request Department 310 Interface Provisioning Department 312 Encryption and Decryption Unit 314 Signature Verification Unit 320 Interface Provider 322 Encryption and Decryption Unit

Claims

1. An analysis service providing method for delivering a sample sealed in a container, comprising: The computer associating a private key and a public key with the container; A step of accepting an analysis request from a client; a step of digitally signing information about the sample to be sealed in the container in response to the analysis request with the private key associated with the container and transmitting the digitally signed information to the requester; requesting a custodian of the container to deliver the container to the requester, the custodian appending the public key associated with the container or its storage location; A method for providing an analysis service, comprising:

2. The method of claim 1 , wherein the public key associated with the container is permanently affixed to the container.

3. The method for providing analytical services according to claim 1 , wherein the public key associated with the container is attached as an optically or electromagnetically readable identification mark.

4. The analysis service providing method according to claim 3 , wherein the identification mark is a one-dimensional code or a two-dimensional code.

5. The analysis service providing method according to claim 1 , wherein the container is delivered separately from the information.

6. The analysis service providing method according to claim 1 , wherein the information is encrypted with a common key that can be held by the client.

7. The analysis service providing method according to claim 6 , wherein the common key is generated from a one-time password using a token.

8. The analytical service providing method according to claim 6 , wherein the common key is generated using a Diffie-Hellman (DH) key exchange method or an Elliptic Curve Diffie-Hellman (ECDH) key exchange method.

9. The method further includes a step of the computer sending or receiving other information different from the information, 2. The analysis service providing method according to claim 1, further comprising generating a private key and a public key for communication, generating an electronic signature for the other information using the private key for communication, and enabling verification of the electronic signature for the other information using the public key for communication.

10. If a common key is generated between the client and the client through a key exchange method, The analysis service providing method according to claim 9 , wherein a temporary private key and a temporary public key used to generate the common key are used as the private key and public key for communication.

11. A method for providing an analysis service as described in claim 1, wherein the exchange of information is carried out via a communication means.

12. The method further includes a step of causing an external device to process the container containing the sample; The analysis service providing method according to claim 1 , wherein the external device performs access authentication for the client, an analyst who analyzes the sample, or a third party.

13. The method of claim 12 , wherein the access authentication uses the private and public keys associated with the container.

14. The analysis service providing method according to claim 12 , wherein the temporary private key and temporary public key used to generate the common key by a key exchange method are used for the access authentication.

15. The analysis service providing method according to claim 12 , wherein a private key and a public key for authentication generated for the access authentication are used for the access authentication.

16. The method of claim 1 , wherein the public key associated with the container is made viewable.

17. further comprising the step of obtaining the public key from a storage location of the public key and providing the public key; The analysis service providing method according to claim 1 .

18. An analysis service providing device that seals a sample in a container and delivers it, a container registration unit that associates a private key and a public key with the container; a request receiving unit that receives an analysis request from a requester; a signature generating unit that digitally signs information about the sample to be sealed in the container in response to the analysis request using the private key associated with the container and transmits the digitally signed information to the requester; a delivery request unit that requests a custodian of the container to deliver the container to which the public key related to the container or its storage destination is added, to the requester; An analysis service providing device comprising:

19. The analysis service providing device according to claim 18; a client terminal having a signature verification unit that verifies an electronic signature; Equipped with the signature verification unit verifies the received digital signature using the public key and the information related to the container read from the container; Analysis service delivery system.

20. the client terminal further includes an interface providing unit that provides a user interface; displaying the information verified by the signature verification unit on the user interface; 20. The analysis service providing system according to claim 19.

21. The client terminal further includes an encryption / decryption unit that encrypts or decrypts information, If the information verified by the signature verification unit is encrypted, the information decrypted by the encryption / decryption unit is displayed on the user interface. The analysis service providing system according to claim 20.

22. A program for an analytical service in which a sample is sealed in a container and delivered, By computer, associating a private key and a public key with the container; A step of accepting an analysis request from a client; a step of digitally signing information about the sample to be sealed in the container in response to the analysis request with the private key associated with the container and transmitting the digitally signed information to the requester; requesting a custodian of the container to deliver the container to the requester, the custodian appending the public key associated with the container or its storage location; A program to execute.

Citation Information

Patent Citations

  • Inspection kit sales system

    JP2002063436A

  • Logistics pki service system, portable terminal, and logistic pki service method used therefor

    JP2003223493A

  • Inspection analysis method and device

    JP2005043257A

  • Organism information management system

    JP2018137594A

  • Device provisioning

    US20180375665A1