Order reception / placement system and order reception / placement management method
Patent Information
- Application Number
- JP2022126251
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-08-08
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2042-08-08
AI Technical Summary
In multi-tiered business outsourcing structures, maintaining confidentiality of order information between companies is challenging due to the risk of private keys being lost, leaked, or accessed by unauthorized entities, compromising the security of sensitive data.
A system where private keys are divided into shares and distributed across multiple servers, including third-party companies, with access rights managed to ensure only authorized entities can decrypt order information, using methods like (k,n) secret sharing to prevent recovery of the private key.
Ensures confidentiality of order information by preventing unauthorized access and leakage, even if some servers are compromised, while enabling secure payment and communication between companies.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an order placement system. [Background technology]
[0002] A chain- or flow-type outsourcing structure is formed by repeatedly outsourcing work through orders and receipts, such as subcontracting and sub-subcontracting, in which all or part of the work for a project is outsourced from the zero-tier company to the first tier company, which then outsources it to the second tier company. In this case, the zero-tier company, which is the initial orderer, may operate a server that provides order and placement information for each stage of outsourcing.
[0003] The following prior art is included as background art in this technical field. Patent Document 1 (JP 2021-158548 A) describes an information sharing management device that is at least one of a plurality of information processing devices on a network, and includes a storage device that holds information to be managed, a process of reading the information from the storage device, dividing the information into a predetermined number, and encrypting each of the divided information obtained by the division with a different key to generate a predetermined number of encrypted information, a process of secretly distributing each of the keys to generate a predetermined number of distributed keys, a process of extracting encrypted information corresponding to information indicated by an information request from another information processing device on the network or information on a case involving the operator of the information processing device from the generated encrypted information and transmitting it to the other information processing device, and a process of distributing the predetermined number of distributed keys to each information processing device on the network. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2021-158548 A Summary of the Invention [Problem to be solved by the invention]
[0005] In the outsourcing structure described above, communications between the primary and secondary companies need to be kept confidential from the zero-tier company. For example, the primary company's order information can be encrypted so that the zero-tier company cannot decrypt it. In this case, if the zero-tier company's server holds the private key, the zero-tier company can decrypt the ciphertext. If the private key is held on the client terminal of the primary or secondary company, there is a risk that the private key will be lost or leaked. In addition, if the private key is held on the server of a third party company (e.g., a financial institution), the third party may be able to access the zero-tier company's server and view the order information. Furthermore, if the third party company's server is illegally accessed and the private key is leaked, an attacker may be able to access the zero-tier company's server and view the order information.
[0006] The present invention aims to keep order information between companies confidential in a multi-tiered business outsourcing structure. [Means for solving the problem]
[0007] A representative example of the invention disclosed in the present application is as follows: That is, an order-receiving system for managing orders and receipts of business in commercial transactions in which outsourcing of business consisting of orders and receipts is carried out stepwise between a plurality of companies, comprising: a first arithmetic unit that executes a program and a first storage device accessible by the arithmetic unit, a zeroth server that manages order information and order information, a second arithmetic unit that executes a program and a second storage device accessible by the arithmetic unit, a key management server that manages an encryption key for encrypting the order information and the order information, a third arithmetic unit that executes a program and a third storage device accessible by the arithmetic unit, a plurality of key share holding servers each holding a part of a plurality of key shares generated from the key, a fourth arithmetic unit that executes a program and a fourth storage device accessible by the arithmetic unit, and a terminal to which the order information and the order information are input and output, the key management server comprising: the second arithmetic unit has an access right management unit which assigns authentication information of a company which can acquire the key share to the key share, and the second arithmetic unit has a communication unit which distributes the key share to the key share holding server; the terminal has an information transmission unit which requests the key share from the key share holding server by the fourth arithmetic unit, a key recovery / generation unit which restores an encryption key from the acquired multiple key shares by the fourth arithmetic unit, an encryption / decryption unit which encrypts input order information and decrypts received order information using the restored encryption key, and a display unit which displays the decrypted received order information; the information transmission unit transmits the encrypted order information to the zeroth server; and the key share holding server has an authentication unit which determines whether or not to transmit the key share to each terminal based on the authentication information by the third arithmetic unit. Effect of the Invention
[0008] According to one aspect of the present invention, it is possible to keep order information between companies confidential. Problems, configurations and effects other than those described above will become apparent from the following description of the embodiments. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram illustrating a solution concept of an embodiment of the present invention. [Diagram 2] FIG. 1 is a diagram showing a configuration of an order placement and receipt system according to a first embodiment. [Diagram 3] FIG. 4 is a diagram illustrating a configuration example of access right information according to the first embodiment. [Figure 4] FIG. 11 is a diagram illustrating an example of a configuration of password information according to the first embodiment. [Diagram 5] FIG. 11 is a sequence diagram of a key generation and distribution process according to the first embodiment. [Figure 6] FIG. 11 is a sequence diagram of an order process from a first-tier company to a second-tier company in the first embodiment. [Figure 7] FIG. 11 is a sequence diagram of an order process from a first-tier company to a second-tier company in the first embodiment. [Figure 8] FIG. 11 is a sequence diagram of a process in which a secondary company confirms an order in the first embodiment. [Figure 9] FIG. 11 is a sequence diagram of the process from delivery completion notification to payment in the first embodiment. [Figure 10] FIG. 11 is a sequence diagram of the process from delivery completion notification to payment in the first embodiment. [Figure 11A] FIG. 11 is a diagram showing an example of an email sent from the zeroth-order company server in the first embodiment. [Figure 11B] FIG. 11 is a diagram showing an example of an email sent from the zeroth-order company server in the first embodiment. [Figure 11C] FIG. 11 is a diagram showing an example of an email sent from the zeroth-order company server in the first embodiment. [Figure 12] FIG. 13 is a diagram showing an example of an order information display screen in the first embodiment. [Figure 13] FIG. 13 is a diagram showing an example of an order information input screen according to the first embodiment. [Figure 14] FIG. 13 is a diagram showing an example of an order information display screen in the first embodiment. [Figure 15] FIG. 13 is a diagram showing an example of a payment confirmation screen in the first embodiment. [Figure 16] FIG. 11 is a diagram showing the configuration of an order placement and receipt system according to a second embodiment. [Figure 17] FIG. 11 is a sequence diagram of a key generation and distribution process according to the second embodiment. [Figure 18] FIG. 2 is a block diagram showing a physical configuration of a zeroth-level enterprise server in the first embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. Note that the following embodiment is merely an example of the present invention, and the present invention is not limited to the configurations shown in the drawings.
[0011] FIG. 1 is a diagram showing a solution concept of an embodiment of the present invention.
[0012] As mentioned above, all or part of the work for one project is outsourced from the zero-tier company to the first-tier company, and then from the first-tier company to the second-tier company, and so on. By repeatedly outsourcing work through orders and orders, such as subcontracting and sub-subcontracting, a chain-like or flow-like outsourcing structure (hereinafter simply referred to as a "business outsourcing flow") is formed. Note that the outsourcing source at each stage is not limited to the ordering logistics company, and there is an outsourcing source and an outsourcing recipient at each stage. In this case, communications between the first-tier company and the second-tier company must be kept confidential from the zero-tier company. In particular, the outsourcing amount is highly confidential, and the outsourcing amount from the first-tier company to the second-tier company should not be known to the zero-tier company.
[0013] For this reason, in the order-receiving system of this embodiment, the private key used by the first-order and second-order companies is divided into multiple private key shares by secret sharing, and the private key shares are held by the servers of multiple companies. The private key shares are distributed and held by the servers of two or more companies, particularly by multiple servers including third-party companies other than the zero-order company, to prevent the private key from being restored by a specific company's server holding all the private key shares. For example, in a (k,n) secret sharing scheme, the number of private key shares that each company's server can hold is limited to (k-1), and when n=k=2, the number of private key shares that each company can hold is limited to 1. The access rights to each private key share are managed, and only the servers of specific companies can obtain and use the private key shares.
[0014] Supply chain finance can be combined with the confidentiality of order information by sharing the secret key described above. With supply chain finance, when the 1st and 2nd tier companies that the outsourcees receive notification of the completion of the work and the 0th and 1st tier companies that outsource the work approve the completion (payment), the outsourcing fee is paid to the 1st and 2nd tier companies by the financial institution, and the outsourcing fee can be paid early, improving the outsourcees' cash flow.
[0015] The terms "0th order", "1st order", "2nd order" and the like in this specification and drawings are used to distinguish components and do not necessarily limit the number, order, or content. Note that, although an embodiment in which the present invention is applied to the transportation industry, particularly to the delivery of goods, is described, the present invention is not limited to the transportation industry and can be applied to any industry with a multi-stage outsourcing flow, such as the construction industry or manufacturing industry.
[0016] In this embodiment, the key shares may be distributed and managed among a plurality of companies, and the holders of the key shares do not have to be the first-order companies and financial institutions. For example, the key shares may be held by a system provider, a certification authority, or a public institution.
[0017] <Example 1> FIG. 2 is a diagram showing the configuration of the order placement and receipt system according to the first embodiment of the present invention.
[0018] The order-receiving system of the first embodiment includes a zero-order company server 100 (corresponding to the "zero-order server" in the claims), a zero-order company storage device 150 (corresponding to the "first storage device" in the claims), a third-party server 200 (corresponding to the "key share holding server" in the claims), a third-party company storage device 250 (corresponding to the "third storage device" in the claims), a key management server 300 (corresponding to the "key management server" in the claims), a zero-order client 180, a first-order client 400, and a second-order client 500 (clients 180, 400, and 500 correspond to the "terminals" in the claims). The zero-order company server 100, the third-party server 200, the key management server 300, the zero-order client 180, the first-order client 400, and the second-order client 500 are connected via a network. The hierarchical structure of the order-receiving system may be a multi-stage hierarchical structure including third-order and fourth-order companies in addition to the second-order companies, but the order-receiving system will be described with a two-stage order-receiving system from the zero-order company to the second-order company.
[0019] The zero-order company server 100 is a computer operated by the zero-order company, an affiliated company such as a subsidiary of the zero-order company, or a company to which server management is outsourced, and includes a mail notification unit 110, an order information transmission / reception unit 120, a share·pk transmission unit 130, and an authentication unit 140. The mail notification unit 110 creates and transmits e-mails that trigger work by the first-order company and the second-order company. If a dedicated application is installed in the first client 400 and the second client 500, the mail notification unit 110 may transmit a notification to the dedicated application instead of e-mail. The order information transmission / reception unit 120 transmits and receives order information to the first client 400 and the second client 500. The share·pk transmission unit 130 transmits the private key share and the public key stored in the storage device 150 in response to a request from the first client 400 and the second client 500. The authentication unit 140 refers to password information stored in the key management server 300 and authenticates the primary client 400 and secondary client 500 that access the zeroth-level company server 100. The authentication method by the authentication unit 140 may be a method other than the IP address and password. Since an IP address may be impersonated by a third party, for example, a client certificate issued by a key generator may be used to authenticate that the client is a legitimate client. Alternatively, the key management server 300 may perform the authentication.
[0020] The storage device 150 is a storage device operated by the zeroth company, and stores encrypted data of order information from the primary company to the secondary company. The storage device 150 also stores encryption keys pk1, pk2, sk1-s1, and sk2-s1. pk1 is the public key of the primary client 400, pk2 is the public key of the secondary client 500, sk1-s1 is a share of the private key of the primary client 400, and sk2-s1 is a share of the private key of the secondary client 500. The storage device 150 may be configured separately from the zeroth company server 100, or may be configured integrally with the zeroth company server 100 (i.e., in the auxiliary storage device 3 in the zeroth company server 100).
[0021] The zeroth-order client 180 is a computer used by the zeroth-order company to access the zeroth-order company server 100, and runs a web browser or a dedicated application.
[0022] The third-party server 200 is a computer operated by a third-party company such as a financial institution, and includes a share sending unit 210, an amount receiving unit 220, and an authentication unit 230 (corresponding to the "authentication unit" in the claims). The share sending unit 210 transmits the private key share stored in the storage device 250 in response to requests from the primary client 400 and the secondary client 500. The amount receiving unit 220 receives data on the amount to be paid between the companies, generates payment data, and transmits it to the accounting system of the financial institution. The authentication unit 230 authenticates the primary client 400 and the secondary client 500 that access the third-party server 200 by referring to password information stored in the key management server 300.
[0023] Storage device 250 is a storage device operated by a third-party company, and stores encryption key shares sk1-s2 and sk1-s2. sk1-s2 is a share of the private key of the primary client 400, and sk2-s2 is a share of the private key of the secondary client. Storage device 250 may be configured separately from third-party server 200, or may be configured integrally with third-party server 200 (i.e., as an auxiliary storage device within third-party server 200).
[0024] The private key sk1 of the primary client 400 can be generated by restoring it from sk1-s1 stored in the storage device 150 and sk1-s2 stored in the storage device 250. Similarly, the private key sk2 of the secondary client 500 can be generated by restoring it from sk2-s1 stored in the storage device 150 and sk2-s2 stored in the storage device 250.
[0025] The storage device 150 and the storage device 250 may be provided separately, or may be a single physical storage device that is logically divided and used.
[0026] The key management server 300 is a computer operated by a company other than the zero-level company, and includes a communication unit 310 (corresponding to the "communication unit" in the claims), an access right management unit 320 (corresponding to the "access right management unit" in the claims), a division unit 330, a key generation unit 340 (corresponding to the "key generation unit" in the claims), and a storage unit 350 (corresponding to the "second storage device" in the claims). The communication unit 310 controls communication with other devices. The access right management unit 320 authenticates the primary client 400 and the secondary client 500 that access the key management server 300 by referring to password information stored in the storage unit 350. The division unit 330 (corresponding to the "division unit" in the claims) divides the private key generated by the key generation unit 340 to generate private key shares. The private key shares are preferably generated by a (k, n) secret sharing scheme, but may be generated by other methods as long as the encryption key can be divided into multiple fragments in some way, such as electronic tally. The key generation unit 340 generates a key pair including a private key and a public key in response to a request from the primary client 400 or the secondary client 500. The storage unit 350 stores password information and access right information used for authentication by the access right management unit 320. Details of the access right information are shown in Fig. 3, and details of the password information are shown in Fig. 4.
[0027] The storage unit 350 of the key management server 300 may store all or some of the private key shares. The key management server 300 may be included in a group that stores private key shares.
[0028] Although the key management server 300 is a computer operated by a company (key generator) that is neither a zeroth-order company nor a third-party company, the key generator may also be a third-party company. If the key generator is a zeroth-order company, the zeroth-order company will be able to know the private key, which is inappropriate.
[0029] As described in the second embodiment, the private key and the public key may be generated by the primary client 400 and the secondary client 500 instead of the key management server 300 .
[0030] The primary client 400 is a computer used by the primary company to access the zeroth company server 100 and the third party server 200, and includes an input unit 410, an information receiving unit 420, an information transmitting unit 430 (corresponding to the "information transmitting unit" in the claims), a display unit 440 (corresponding to the "display unit" in the claims), an encryption / decryption unit 450 (corresponding to the "encryption / decryption unit" in the claims), and a key recovery / generation unit 460 (corresponding to the "key recovery / generation unit" in the claims). Each unit of the primary client 400 may be configured with a web browser or a dedicated application. The input unit 410 accepts data input from a user. The information receiving unit 420 receives data transmitted from another device. The information transmitting unit 430 transmits data to another device. The display unit 440 displays the results of the calculation process and the data received from another device to the user. The encryption / decryption unit 450 decrypts the encrypted and transferred data and generates plaintext data. The key recovery / generation unit 460 recovers and generates the original key from the collected key shares.
[0031] The secondary client 500 is a computer used by the secondary company to access the zeroth company server 100 and the third party server 200, and includes an input unit 510, an information receiving unit 520, an information transmitting unit 530 (corresponding to the "information transmitting unit" in the claims), a display unit 540 (corresponding to the "display unit" in the claims), an encryption / decryption unit 550 (corresponding to the "encryption / decryption unit" in the claims), and a key recovery / generation unit 560 (corresponding to the "key recovery / generation unit" in the claims). Each unit of the secondary client 500 may be configured with a web browser or a dedicated application. The input unit 510 accepts data input from a user. The information receiving unit 520 receives data transmitted from another device. The information transmitting unit 530 transmits data to another device. The display unit 540 displays the results of the calculation process and the data received from another device to the user. The encryption / decryption unit 550 decrypts the encrypted and transferred data and generates plaintext data. The key recovery / generation unit 560 recovers and generates the original key from the collected key shares.
[0032] Here, the unauthorized acquisition of private key shares by the zero-order corporate server 100 from the third-party server 200, and the unauthorized acquisition of private key shares by the third-party server 200 from the zero-order corporate server 100, can be prevented, for example, by making the sources of the zero-order corporate server 100 and the third-party server 200 open to the public as OSS.
[0033] FIG. 18 is a block diagram showing the physical configuration of the zeroth-level enterprise server 100 of this embodiment.
[0034] The zeroth-order company server 100 of this embodiment is configured by a computer having a processor (CPU) 1, a memory 2, an auxiliary storage device 3, and a communication interface 4. The zeroth-order company server 100 may have an input interface 5 and an output interface 8.
[0035] The processor 1 is a calculation device that executes the programs stored in the memory 2. The processor 1 executes various programs to realize the functions of each functional unit of the zeroth company server 100 (e.g., the email notification unit 110, the order information transmission / reception unit 120, the share·pk transmission unit 130, the authentication unit 140, etc.). Note that some of the processes performed by the processor 1 executing the programs may be executed by other calculation devices (e.g., hardware such as ASIC and FPGA). Note that the processor 1 that realizes the functions of each functional unit of the zeroth company server 100 corresponds to the "first calculation device" in the claims.
[0036] The memory 2 includes a ROM, which is a non-volatile storage element, and a RAM, which is a volatile storage element. The ROM stores unchanging programs (e.g., BIOS) and the like. The RAM is a high-speed, volatile storage element such as a DRAM (Dynamic Random Access Memory), and temporarily stores programs executed by the processor 1 and data used when the programs are executed.
[0037] The auxiliary storage device 3 is, for example, a large-capacity non-volatile storage device such as a magnetic storage device (HDD) or a flash memory (SSD). The auxiliary storage device 3 also stores data used by the processor 1 when executing a program, and the program executed by the processor 1. That is, the program is read from the auxiliary storage device 3, loaded into the memory 2, and executed by the processor 1 to realize each function of the zeroth-level enterprise server 100.
[0038] The communication interface 4 is a network interface device that controls communications with other devices in accordance with a predetermined protocol.
[0039] The input interface 5 is an interface to which input devices such as a keyboard 6 and a mouse 7 are connected and which receives input from an operator. The output interface 8 is an interface to which output devices such as a display device 9 and a printer (not shown) are connected and which outputs the results of program execution in a format that can be viewed by the user. Note that a user terminal connected to the zeroth-order company server 100 via a network may provide the input device and the output device. In this case, the zeroth-order company server 100 may have the function of a web server, and the user terminal may access the zeroth-order company server 100 using a specified protocol (e.g., http).
[0040] The program executed by the processor 1 is provided to the zeroth company server 100 via a removable medium (CD-ROM, flash memory, etc.) or a network, and is stored in a non-volatile auxiliary storage device 3, which is a non-transient storage medium. For this reason, the zeroth company server 100 may have an interface for reading data from the removable medium.
[0041] The zero-level enterprise server 100 is a computer system that is configured on one physical computer, or on multiple computers that are configured logically or physically, and may operate on a virtual computer constructed on multiple physical computer resources. For example, the mail notification unit 110, the order information transmission / reception unit 120, the share·pk transmission unit 130, and the authentication unit 140 may each operate on separate physical or logical computers, or multiple units may be combined to operate on a single physical or logical computer.
[0042] Although the physical configuration of the zeroth-order enterprise server 100 has been described with reference to Fig. 18, the other servers (third-party server 200, key management server 300) may have the same configuration. Furthermore, the zeroth-order client 180, the primary client 400, and the secondary client 500 may also be configured with general computers, and may be computers with the same configuration as in Fig. 18. Note that the processor (CPU) 1 (see Fig. 18), which is one of the physical configurations of the third-party server 200, corresponds to the "third arithmetic unit" in the claims, the processor 1, which is one of the physical configurations of the key management server 300, corresponds to the "second arithmetic unit" in the claims, and the processor 1, which is one of the physical configurations of the primary client 400 and the secondary client 500, corresponds to the "fourth arithmetic unit" in the claims.
[0043] FIG. 3 is a diagram showing an example of the configuration of the access right information in this embodiment.
[0044] The access rights information is information used to determine whether or not access to the private key share is permitted, and is recorded in association with the user name, user ID, and IP address. The user name is a name that can uniquely identify a user who uses the ordering system, and is preferably defined to include the company name as part of the name. The user ID is a symbol or number that can uniquely identify a user. The IP address is an address assigned to the client 400, 500 used by the user.
[0045] The access right information is held by the zeroth-order company server 100 and the third-party server 200 , and may also be held by the key management server 300 .
[0046] FIG. 4 is a diagram showing an example of the configuration of password information according to the present embodiment.
[0047] The password information records a user ID, password, and key information in association with each other. The user ID is a symbol or number that can uniquely identify a user who uses the ordering system. The password is a password entered by the user and used for authentication. The key information is identification information for a private key that has been granted access rights that are authenticated by the user ID and password.
[0048] The password information is held in the key management server 300 .
[0049] FIG. 5 is a sequence diagram of the key generation and distribution process according to the first embodiment.
[0050] The information transmitting unit 430 of the primary client 400 requests the key management server 300 to generate a key (1001).
[0051] When the key management server 300 receives the key generation request, the key generation unit 340 generates a pair of a private key sk1 and a public key pk1 (1002). Then, the communication unit 310 of the key management server 300 requests an ID and a password from the primary client 400 (1003).
[0052] In the primary client 400, when the input unit 410 receives an input of an ID and a password (1004), the information transmission unit 430 transmits the ID and the password to the key management server 300 (1005).
[0053] When the key management server 300 receives the ID and password, the division unit 330 divides the generated private key to generate private key shares sk1-s1 and sk1-s2 (1006), and the access right management unit 320 associates the generated private key share with the received ID and password pair to grant access right information based on the received ID and password to the generated private key share (1007), and stores password information including the ID and password in the storage unit 350 (1008). The number of divisions of the private key and the storage destination of the private key shares may be determined in advance by the zeroth-order company. In addition, the number of divisions of the private key and the storage destination of the private key shares may be changed for each company. Then, the communication unit 310 of the key management server 300 transmits the private key share sk1-s1 and the public key pk1 to the zeroth-order company server 100 (1009).
[0054] The zeroth-order enterprise server 100 stores the received private key share sk1-s1 in the storage device 150 (1010).
[0055] Furthermore, the communication unit 310 of the key management server 300 transmits the other secret key share (sk1-s2) to the third-party server 200 (1011).
[0056] The third party server 200 stores the received private key share in the storage device 250 (1012).
[0057] Furthermore, the communication unit 310 of the key management server 300 transmits the client certificate to the zeroth-order enterprise server 100 (1013).
[0058] In this embodiment, ECDH-AES is used as the encryption, but other encryption methods (e.g., common key, public key, hybrid) may also be used. For example, when public key encryption is used, the order information from the primary company to the secondary company becomes different encrypted data, encrypted with different public keys, for the data seen by the primary company and the data seen by the secondary company. On the other hand, in hybrid encryption (e.g., ECDH-AES) or common key encryption, the data seen by the primary company and the data seen by the secondary company become the same encrypted data, so common key and hybrid encryption can reduce the amount of data stored in the storage devices 150, 250 compared to public key encryption.
[0059] 6 and 7 are sequence diagrams of an order process from a first-tier company to a second-tier company in the first embodiment.
[0060] A user of the zeroth company inputs order information for the work to be outsourced from the zeroth company to the first company into the zeroth client, and transmits it to the zeroth company server 100 (1101).
[0061] When the zeroth-order company server 100 receives the order information for the outsourced work, the mail notification unit 110 sends an order email (1102). As shown in FIG. 11A, this email includes link information for accessing the zeroth-order company server 100 from the primary client 400 and confirming the order information.
[0062] When the display unit 440 of the primary client 400 displays the received e-mail by the operation of the user of the primary company, the user of the primary company further operates the primary client 400 to select a link included in the displayed e-mail. When the input unit 410 accepts the selection of the link, the information transmission unit 430 accesses the selected link and requests the order information from the zeroth company server 100 (1103).
[0063] When the zeroth-level company server 100 receives the request for order information, the order information transmitting / receiving unit 120 transmits display data for a login screen to the primary client 400 (1104).
[0064] When the display unit 440 of the primary client 400 displays the login screen, the user of the primary company inputs an ID and a password (1105). When the input unit 410 accepts the ID and password, the information transmission unit 430 of the primary client 400 transmits the input ID and password to the zeroth company server 100 (1106).
[0065] The authentication unit 140 of the zeroth company server 100 sends a password information acquisition request to the key management server 300 (1107).
[0066] When the key management server 300 receives the password information acquisition request, the communication unit 310 transmits the password information to the zeroth-level company server 100 (1108).
[0067] When the zeroth company server 100 receives the password information, the authentication unit 140 authenticates the primary client 400 using the received password information (1109). If the authentication is successful, the order information transmitting / receiving unit 120 transmits the order information to the primary client 400 (1110).
[0068] The display unit 440 of the primary client 400 displays the received order information in response to an operation by the user of the primary company. The order information display screen has an order button for the secondary company as shown in Fig. 12, and when the user of the primary company operates the order button, the order screen shown in Fig. 13 is displayed. When the user of the primary company selects the supplier for each item, inputs the amount, and operates the confirm button, the input unit 410 accepts the secondary company to which the order will be sent and the amount (1111).
[0069] Thereafter, the information transmitting unit 430 of the primary client 400 transmits the ID, IP address, and password to request the public key pk2 of the secondary client 500 and the private key share sk1-s1 of the primary client 400 from the zeroth-order enterprise server 100 (1112).
[0070] When the zeroth enterprise server 100 receives the ID, IP address, and password, the authentication unit 140 authenticates the primary client 400 by checking that the received ID, IP address, and password match the IP address in Fig. 3 and the password in Fig. 4 (1113). If the authentication is successful, the share pk transmission unit 130 transmits the public key pk2 of the secondary client 500 and the private key share sk1-s1 of the primary client 400 to the primary client 400 (1114).
[0071] Furthermore, the information transmitting unit 430 of the primary client 400 transmits the ID, IP address, and password to request the private key share sk1-s2 of the primary client 400 from the third-party server 200 (1115).
[0072] When the third-party server 200 receives the ID, IP address, and password, the authentication unit 230 requests the key management server 300 to obtain password information (1116).
[0073] When the key management server 300 receives the password information acquisition request, the communication unit 310 transmits the password information to the third-party server 200 (1117).
[0074] When the third-party server 200 receives the password information, the authentication unit 230 authenticates the primary client 400 using the received password information (1118). Then, if the authentication is successful, the share sending unit 210 sends the private key share sk1-s2 of the primary client 400 to the primary client 400 (1119).
[0075] After the primary client 400 receives the private key shares sk1-s1 and sk1-s2, the key recovery / generation unit 460 recovers the private key sk1 from the two private key shares sk1-s1 and sk1-s2 (1120), and generates an AES common key from the private key sk1 of the primary client 400 and the public key pk2 of the secondary client 500 (1121). Then, the encryption / decryption unit 450 encrypts the order information for the secondary company using the generated AES common key (1122). Then, the information transmission unit 430 transmits the encrypted order information for the secondary company to the zeroth company server 100 (1123).
[0076] The zeroth company server 100 stores in the storage device 150 the order information for the secondary company that has been encrypted using the AES common key.
[0077] FIG. 8 is a sequence diagram of a process in which the secondary company confirms an order in the first embodiment.
[0078] When the zeroth company server 100 receives the order information for the secondary company from the primary client 400, the mail notification unit 110 sends an order email (1201). As shown in FIG. 11B, this email contains link information for accessing the zeroth company server 100 from the secondary client 500 to confirm the order information.
[0079] When the display unit 540 of the secondary client 500 displays the received e-mail by operation of the user of the secondary company, the user of the secondary company further operates the secondary client 500 to select a link included in the displayed e-mail. When the input unit 510 accepts the selection of the link, the information transmission unit 530 accesses the selected link and requests the order information from the zeroth company server 100 (1202).
[0080] When the zeroth-level company server 100 receives the request for order information, the order information transmitting / receiving unit 120 transmits display data for a login screen to the secondary client 500 (1203).
[0081] When the display unit 540 of the secondary client 500 displays the login screen, the user of the secondary company inputs an ID and a password (1204). When the input unit 510 accepts the ID and password, the information transmission unit 530 of the secondary client 500 transmits the input ID and password to the zeroth company server 100 (1205).
[0082] The authentication unit 140 of the zeroth company server 100 sends a password information acquisition request to the key management server 300 (1206).
[0083] When the key management server 300 receives the password information acquisition request, the communication unit 310 transmits the password information to the zeroth-level company server 100 (1207).
[0084] When the zeroth-order company server 100 receives the password information, the authentication unit 140 authenticates the secondary client 500 using the received password information (1208). If the authentication is successful, the order information transmitting / receiving unit 120 transmits the order information, the secret key share sk2-s1 of the secondary client 500, and the public key pk1 of the primary client 400 to the secondary client 500 (1209).
[0085] When the secondary client 500 receives the private key share sk2-s1 and the public key pk1, the information transmitting unit 530 of the secondary client 500 transmits the input ID and password to the third-party server 200 (1210).
[0086] When the third-party server 200 receives the ID, IP address, and password, the authentication unit 230 requests the key management server 300 to obtain password information (1211).
[0087] When the key management server 300 receives the password information acquisition request, the communication unit 310 transmits the password information to the third-party server 200 (1212).
[0088] When the third-party server 200 receives the password information, the authentication unit 230 authenticates the secondary client 500 using the received password information (1213). Then, if the authentication is successful, the share sending unit 210 sends the secret key share sk2-s2 of the secondary client 500 to the secondary client 500 (1214).
[0089] After the secondary client 500 receives the private key shares sk2-s1 and sk2-s2, the key recovery / generation unit 560 recovers the private key sk2 from the two private key shares sk2-s1 and sk2-s2 (1215), and generates an AES common key from the private key sk2 of the secondary client 500 and the public key pk1 of the primary client 400 (1216). Then, the encryption / decryption unit 550 decrypts the order information to the secondary company using the generated AES common key (1217). Then, the display unit 540 of the secondary client 500 displays the received order information according to the operation of the user of the secondary company. The order information display screen is provided with an approval button as shown in FIG. 14, and when the user of the primary company operates the approval button, the order for the business to be entrusted from the primary company to the secondary company is confirmed (1218). Note that the order information display screen may be provided with buttons for further dividing the business into smaller parts and placing orders with the tertiary companies. Then, the information transmitting unit 530 transmits approval of the order information to the zeroth company server 100 (1219).
[0090] 9 and 10 are sequence diagrams of the process from delivery completion notification to payment in the first embodiment.
[0091] First, the user of the second-tier company accesses the zero-tier company server 100, inputs the completion of the business, and notifies the completion of the business (1301).
[0092] The user of the 0th company accesses the 0th company server 100 from the 0th client 180 and receives a business completion notice (1302). A payment confirmation screen as shown in Fig. 15 is displayed on the 0th client 180, and by operating the approval button, the completion of the business outsourced to the 1st company is approved and the payment to the 1st company is approved (1303). When the input unit of the 0th client 180 accepts the payment approval to the 1st company, the payment approval to the 1st company is transmitted from the 0th client 180 to the 0th company server 100 (1304).
[0093] When the zeroth company server 100 receives the payment approval to the first-tier company from the zeroth client 180, the mail notification unit 110 sends an order email (1305). As shown in FIG. 11C, this email contains link information for accessing the zeroth company server 100 from the first-tier client 400 and making a payment to the second-tier company.
[0094] When the display unit 440 of the primary client 400 displays the received e-mail by the operation of the user of the primary company, the user of the primary company further operates the primary client 400 to select a link included in the displayed e-mail. When the input unit 410 accepts the selection of the link, the information transmission unit 430 accesses the selected link and requests the zeroth company server 100 for order information for the secondary company (1306).
[0095] When the zeroth-level company server 100 receives the request for order information, the order information transmitting / receiving unit 120 transmits display data for a login screen to the primary client 400 (1307).
[0096] When the display unit 440 of the primary client 400 displays the login screen, the user of the primary company inputs an ID and a password (1308). When the input unit 410 accepts the ID and password, the information transmission unit 430 of the primary client 400 transmits the input ID and password to the zeroth company server 100 (1309).
[0097] The authentication unit 140 of the zeroth company server 100 sends a password information acquisition request to the key management server 300 (1310).
[0098] When the key management server 300 receives the password information acquisition request, the communication unit 310 transmits the password information to the zeroth-level company server 100 (1311).
[0099] When the zeroth company server 100 receives the password information, the authentication unit 140 authenticates the primary client 400 using the received password information (1312). Then, if the authentication is successful, the order information transmitting / receiving unit 120 transmits the order information to the secondary company, and the share pk transmitting unit 130 transmits the private key share sk1-s1 of the primary client 400 and the public key pk2 of the secondary client 500 to the primary client 400 (1313).
[0100] Thereafter, the information transmitting unit 430 of the primary client 400 transmits the ID, IP address, and password, and requests the private key share sk1-s2 of the primary client 400 from the third-party server 200 (1314).
[0101] When the third-party server 200 receives the ID and password, the authentication unit 230 requests the key management server 300 to obtain password information (1315).
[0102] When the key management server 300 receives the password information acquisition request, the communication unit 310 transmits the password information to the third-party server 200 (1316).
[0103] When the third-party server 200 receives the password information, the authentication unit 230 authenticates the primary client 400 using the received password information (1317). Then, if the authentication is successful, the share sending unit 210 sends the private key share sk1-s2 of the primary client 400 to the primary client 400 (1318).
[0104] After the primary client 400 receives the private key shares sk1-s1 and sk1-s2, the key recovery / generation unit 460 recovers the private key sk1 from the two private key shares sk1-s1 and sk1-s2 (1319), and generates an AES common key from the private key sk1 of the primary client 400 and the public key pk2 of the secondary client 500 (1320). Then, the encryption / decryption unit 450 decrypts the order information to the secondary company using the generated AES common key (1321). Then, the display unit 440 of the primary client 400 displays the received order information according to the operation of the user of the primary company. The payment confirmation screen has an approval button as shown in FIG. 15, and when the user of the primary company operates the approval button, the completion of the commissioned work is approved, and the payment from the primary company to the secondary company is confirmed (1322).
[0105] The information transmitting unit 430 then notifies the zeroth company server 100 of the approval of the payment (1323), and transmits information on the payment amount for the commissioned work to the third-party server 200 (1324).
[0106] When the third party server 200 receives the information on the payment amount, it creates transfer data from the first company to the second company and executes the payment from the first company to the second company.
[0107] 11A to 11C are diagrams showing examples of emails sent from the zeroth-level company server 100. FIG.
[0108] In the ordering system of this embodiment, notifications such as e-mails are used as triggers to prompt the user to perform the next task via links included in the notifications. FIG. 11A is an example of an e-mail sent when a task is ordered from a 0th-order company to a 1st-order company, and includes link information for accessing the 0th-order company server 100 from the 1st-order client 400 to confirm the order information. FIG. 11B is an example of an e-mail sent when a task is ordered from a 1st-order company to a 2nd-order company, and includes link information for accessing the 0th-order company server 100 from the 2nd-order client 500 to confirm the order information. FIG. 11C is an example of an e-mail sent to a 1st-order company when a task of a 2nd-order company is completed, and includes link information for accessing the 0th-order company server 100 from the 1st-order client 400 to confirm the order information and payment information.
[0109] FIG. 12 is a diagram showing an example of an order information display screen.
[0110] The order information display screen shown in FIG. 12 is displayed after accessing and logging in to the zero-tier company server 100 via a link contained in an email (FIG. 11A) sent when an order for work is placed from the zero-tier company to the primary company (steps 1110, 1111 in FIG. 6). The order information display screen displays the destination (contractee) of the work being ordered, the ordering source (orderer), information describing the work (order ID, order date, order date, order amount), and the work content (name of item to be transported, quantity, departure point, destination). A user at the contractor (e.g., primary company) can learn the order content by looking at the order information display screen.
[0111] The order information display screen has an order button for the secondary company, and when the user of the primary company operates the order button, the order information input screen (Fig. 13) is displayed. The order information display screen also has a "Do not accept" button that is operated when the user does not want to accept the job.
[0112] FIG. 13 is a diagram showing an example of an order information input screen.
[0113] The order information input screen shown in FIG. 13 displays the destination of the received work (the person who will be subcontracted), the orderer (the person who ordered the received work), information describing the work (order ID, order date, order date, order amount), and the work content (name of item to be transported, quantity, departure point, destination). The work content has a supplier field for inputting the subcontractor and an amount field for inputting the amount of the subcontract. The supplier to which the work is subcontracted should preferably be selectable using a pull-down menu. The user of the contractor who will be subcontracting (e.g., the primary company) looks at the order information input screen, decides on the subcontractor and the amount of the contract for each work (transportation), and enters them into the order information input screen. When the user of the primary company operates the confirm button, the primary client 400 accepts the secondary company to which the work is to be subcontracted and the amount.
[0114] The order information for the secondary company accepted by the primary client 400 is encrypted using an AES common key generated from the private key sk1 of the primary client 400 and the public key pk2 of the secondary client 500, and is sent to the zeroth company server 100 (steps 1120, 1121 in FIG. 6).
[0115] FIG. 14 is a diagram showing an example of an order information display screen.
[0116] The order information display screen shown in FIG. 14 is displayed after logging in by accessing the zero-tier company server 100 via a link contained in an email (FIG. 11B) sent when an order for work is placed from a primary company to a secondary company (step 1218 in FIG. 8). The order information display screen displays the destination (contractee) of the work being ordered, the ordering source (orderer), information describing the work (order ID, order date, order date, order amount), and the work content (name of item to be transported, quantity, departure point, destination). A user at the contractor (e.g., secondary company) can learn the order content by looking at the order information display screen.
[0117] The order information display screen has a "Reject" button that is operated when the order is not to be received, and an "Approve" button that is operated when the order is to be received. When the user of the secondary company operates the approve button, an approval notice is sent to the zeroth company server 100 (step 1219 in FIG. 8).
[0118] FIG. 15 is a diagram showing an example of a payment confirmation screen.
[0119] The payment confirmation screen shown in FIG. 15 is displayed (step 1322 in FIG. 10) in response to a work completion notice (step 1302 in FIG. 9) sent when the work of the secondary company is completed. The payment confirmation screen displays the payee of the payment (contractor of the outsourced work), information describing the work (order ID, order date, work completion date and time, order amount), and the work content (name of items to be transported, quantity, departure point, destination). The user of the work outsourcer (e.g., the primary company) looks at the payment confirmation screen to confirm the payment content.
[0120] The payment confirmation screen has a "Display Invoice" button for displaying the invoice from the secondary company (e.g., in PDF format) and an "Approve" button for approving the payment. When the user of the primary company operates the approve button, the approval of the payment is notified to the zeroth company server 100 (step 1323 in FIG. 10), and information on the payment amount is sent to the third-party server 200 (step 1324 in FIG. 10).
[0121] As described above, according to the first embodiment of the present invention, in a commercial transaction in which outsourcing of business operations consisting of ordering and receiving orders is carried out step by step among a plurality of companies, order placement and receipt information between the companies can be kept confidential. In particular, the outsourcing amount, which requires high confidentiality, can be kept confidential from companies in other steps.
[0122] <Example 2> Next, a second embodiment of the present invention will be described. In the second embodiment, the clients 400 and 500 generate a key pair and generate a secret key share, instead of the key management server 300. In the second embodiment, differences from the first embodiment will be mainly described, and the same configurations and processes as those in the first embodiment will be denoted by the same reference numerals, and the description thereof will be omitted.
[0123] FIG. 16 is a diagram showing the configuration of an order placement and receipt system according to the second embodiment of the present invention.
[0124] The order-placing system of the second embodiment includes a zero-order company server 100, a zero-order company storage device 150, a third-party server 200, a third-party company storage device 250, a key management server 300, a zero-order client 180, a primary client 400, and a secondary client 500. The zero-order company server 100, the third-party server 200, the key management server 300, the zero-order client 180, the primary client 400, and the secondary client 500 are connected via a network. Note that the hierarchical structure of the order-placing system may be a multi-stage hierarchical structure including third-order and fourth-order companies in addition to the second-order companies, but the order-placing system will be described with a two-stage order-placing structure from the zero-order company to the second-order company.
[0125] The zeroth company server 100 is a computer operated by the zeroth company, and has the same configuration as in the first embodiment. The storage device 150 is a storage device operated by the zeroth company, and has the same configuration as in the first embodiment.
[0126] The zeroth-order client 180 is a computer used by the zeroth-order company to access the zeroth-order company server 100, and runs a web browser or a dedicated application.
[0127] Third party server 200 is a computer operated by a third party company such as a financial institution, and has the same configuration as in embodiment 1. Storage device 250 is a storage device operated by a third party company, and has the same configuration as in embodiment 1.
[0128] The key management server 300 is a computer operated by a company other than the zero-level company, and includes a communication unit 310, an access right management unit 320, and a storage unit 350. The communication unit 310 controls communication with other devices. The access right management unit 320 authenticates the primary client 400 and the secondary client 500 that access the key management server 300 by referring to password information stored in the storage unit 350. The storage unit 350 stores password information and access right information used by the access right management unit 320 for authentication.
[0129] The primary client 400 is a computer used by the primary company to access the zeroth company server 100 and the third-party server 200, and includes an input unit 410, an information receiving unit 420, an information transmitting unit 430, a display unit 440, an encryption / decryption unit 450, a key recovery / generation unit 460, a key generating unit 470 (corresponding to the "key generating unit" in the claims), and a division unit 480 (corresponding to the "division unit" in the claims). Each unit of the primary client 400 may be configured with a web browser or a dedicated application. In order to prevent the zeroth company server 100 from acquiring the key, the dedicated application may be distributed from the third-party server 200, not from the zeroth company server 100. The input unit 410 accepts data input from a user. The information receiving unit 420 receives data transmitted from another device. The information transmitting unit 430 transmits data to another device. The display unit 440 displays the result of the calculation process and the data received from another device to the user. The encryption / decryption unit 450 decrypts the encrypted and transferred data to generate plaintext data. The key recovery / generation unit 460 recovers and generates the original key from the collected key shares. The key generation unit 470 generates a key pair including a private key and a public key for the primary client. The division unit 480 divides the private key generated by the key generation unit 470 to generate private key shares. The private key shares may be generated by a (k, n) secret sharing scheme, but may be generated by other methods as long as the encryption key can be divided into multiple fragments in some way, such as electronic tally.
[0130] The secondary client 500 is a computer used by the secondary company to access the zeroth company server 100 and the third-party server 200, and includes an input unit 510, an information receiving unit 520, an information transmitting unit 530, a display unit 540, an encryption / decryption unit 550, a key recovery / generation unit 560, a key generating unit 570 (corresponding to the "key generating unit" in the claims), and a division unit 580 (corresponding to the "division unit" in the claims). Each unit of the secondary client 500 may be configured with a web browser or a dedicated application. The dedicated application may be distributed from the third-party server 200, not the zeroth company server 100, in order to prevent the zeroth company server 100 from acquiring the key. The input unit 510 accepts data input from a user. The information receiving unit 520 receives data transmitted from another device. The information transmitting unit 530 transmits data to another device. The display unit 540 displays the result of the calculation process and the data received from another device to the user. The encryption / decryption unit 550 decrypts the encrypted and transferred data to generate plaintext data. The key recovery / generation unit 560 recovers and generates the original key from the collected key shares. The key generation unit 570 generates a key pair including a private key and a public key for the primary client. The division unit 580 divides the private key generated by the key generation unit 570 to generate private key shares. The private key shares may be generated by a (k, n) secret sharing scheme, but may be generated by other methods as long as the encryption key can be divided into multiple fragments in some way, such as electronic tally.
[0131] FIG. 17 is a sequence diagram of the key generation and distribution process according to the second embodiment.
[0132] When the ordering system is started, the communication unit 310 of the key management server 300 requests the primary client 400 and the secondary client 500 for their IDs and passwords (1401, 1402).
[0133] In the primary client 400, when the input unit 410 receives input of an ID and password (1403), the key generation unit 470 generates a key pair including a private key sk1 and a public key pk1 for the primary client, the division unit 480 divides the generated private key to generate private key shares sk1-s1 and sk1-s2 (1404), and the information transmission unit 430 transmits the ID, password, key pair, and private key shares to the key management server 300 (1405).
[0134] Furthermore, in the secondary client 500, when the input unit 510 receives input of an ID and password (1406), the key generation unit 570 generates a key pair including a private key sk2 and a public key pk2 for the secondary client, the division unit 580 divides the generated private key to generate private key shares sk2-s1 and sk2-s2 (1407), and the information transmission unit 530 transmits the ID, password, key pair, and private key shares to the key management server 300 (1408).
[0135] When the key management server 300 receives an ID, password, key pair, and private key share from the primary client 400 or secondary client 500, the access rights management unit 320 grants access rights to the private key share using the received ID and password, and stores the access rights information in the memory unit 350 (1409).
[0136] Thereafter, the communication unit 310 of the key management server 300 transmits (1410) the public keys pk1 and pk2, the private key shares sk1-s1 and sk2-s1, and the access right information to the zeroth company server 100. The zeroth company server 100 stores (1411) the received public keys, private key shares, and access right information in the storage device 150.
[0137] Furthermore, communication unit 310 transmits (1412) the other private key shares sk1-s2 and sk2-s2 and the access right information to third party server 200. Third party server 200 stores (1413) the received private key shares and access right information in storage device 250.
[0138] The number of shares of the private key and the storage destination of the shares of the private key may be determined in advance by the zeroth-order company. Also, the number of shares of the private key and the storage destination of the shares of the private key may be different for each primary or secondary company.
[0139] The processing after the private key shares are stored in the zeroth company server 100 and the third party server 200 is the same as in the first embodiment described above.
[0140] As described above, in the second embodiment of the present invention, the clients 400 and 500 generate key pairs and private key shares, instead of the key management server 300, so the key management server does not need to have a function for generating keys, and the key management server only needs to manage access rights information and password information. In addition, the clients 400 and 500 grant access rights information to the private key shares and transmit it to the zeroth company server 100 and the third-party server 200 together with password information.
[0141] <Example 3> Next, a third embodiment of the present invention will be described. In the third embodiment, the threshold k of secret sharing is set to 3 or more. That is, the number of third-party companies is set to 2 or more, and the secret key share is held by 3 or more companies including the zero-order company. In the third embodiment, differences from the first embodiment will be mainly described, and the same configurations and processes as those in the first embodiment will be given the same reference numerals and their description will be omitted. In this embodiment, the key share may be distributed and managed among a plurality of companies, and the holder of the key share does not have to be the zero-order company and a financial institution. For example, the key share may be held by a system provider, a certification authority, or a public institution.
[0142] According to the third embodiment of the present invention, even if a zero-order company or a third-party company illegally obtains one private key share managed by each company's server and obtains a second private key share from another company, the encryption key cannot be restored unless the zero-order company or a third-party company obtains a private key share from at least one other company, so that the effect of deterring the zero-order company or a third-party company from viewing the order information is increased. Also, an attacker cannot restore the encryption key unless he obtains three or more private key shares, so that the effect of deterring the leakage of the order information to the attacker is increased.
[0143] <Example 4> Next, a fourth embodiment of the present invention will be described. In the fourth embodiment, an electronic signature is added to the order information to prevent the order information from being tampered with. In the fourth embodiment, differences from the first embodiment will be mainly described, and the same configurations and processes as those in the first embodiment will be denoted by the same reference numerals, and the description thereof will be omitted.
[0144] In the fourth embodiment, an electronic signature is attached to the order information to prevent tampering with the billing amount when the secondary company bills the primary company for the payment amount after the delivery is completed. For example, an electronic signature (e.g., a hash value of the order information) is attached to the approval of the order information sent from the secondary client 500 to the zeroth company server 100 in step 1216 of FIG. 8, and the electronic signature is sent to the zeroth company server 100. In step 1319 of FIG. 10, when approving the completion of the commissioned work, the primary client 400 verifies that the electronic signature acquired from the order information matches the electronic signature of the secondary client 500 when approving. If they match, approval is granted, and if they do not match, approval is denied. This prevents tampering with the billing amount when the secondary company approves payment to the primary company.
[0145] <Example 5> Next, a fifth embodiment of the present invention will be described. In the fifth embodiment, single sign-on is realized between servers. In the fifth embodiment, differences from the first embodiment will be mainly described, and the same configurations and processes as those in the first embodiment will be denoted by the same reference numerals, and the description thereof will be omitted.
[0146] In the fifth embodiment, single sign-on is performed between the zeroth-order company server 100 and the third-party server 200. Specifically, for example, an existing proxy authentication method is used, and a dedicated agent is held in each of the primary client 400 and the secondary client 500 described in the first embodiment, and once authentication by the key management server is successful, the dedicated agent automatically inputs the ID, password, and IP address during subsequent authentications. This eliminates the need for the primary client 400 and the secondary client 500 to input a password each time they request the zeroth-order company server 100 and the third-party server 200 to obtain a private key share, reducing the number of times the user inputs a password.
[0147] The present invention is not limited to the above-described embodiments, and includes various modified examples and equivalent configurations within the spirit of the appended claims. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those including all of the configurations described. Furthermore, a part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Furthermore, the configuration of another embodiment may be added to the configuration of one embodiment. Furthermore, a part of the configuration of each embodiment may be added, deleted, or replaced with another configuration.
[0148] In addition, each of the above-mentioned configurations, functions, processing units, processing means, etc. may be realized in hardware, for example by designing some or all of them as an integrated circuit, or may be realized in software by a processor interpreting and executing a program that realizes each function.
[0149] Information such as programs, tables, and files that realize each function can be stored in a storage device such as a memory, a hard disk, or an SSD (Solid State Drive), or in a recording medium such as an IC card, an SD card, or a DVD.
[0150] In addition, the control lines and information lines shown are those considered necessary for the explanation, and do not necessarily show all the control lines and information lines necessary for implementation. In reality, it can be considered that almost all components are connected to each other. [Explanation of symbols]
[0151] 100 0th Enterprise Server 110 Email notification section 120 Order information transmission and reception unit 130 Share·pk Transmission Unit 140 Authentication Department 150 Storage device 180 0th client 200 Third Party Server 210 Share Transmission Unit 220 Amount Receiving Department 230 Authentication Department 250 Storage device 300 Key Management Server 310 Communications Department 320 Access Rights Management Department 330 Split section 340 Key generation section 350 Storage section 400 Primary Client 410 Input section 420 Information Receiving Department 430 Information Transmission Department 440 Display section 450 Encryption and Decryption Unit 460 Key Recovery and Generation Unit 470 Key generation section 480 Split section 500 Secondary Client 510 Input section 520 Information Receiving Department 530 Information Transmission Department 540 Display section 550 Encryption and Decryption Unit 560 Key Recovery and Generation Unit 570 Key generation section 580 Split section
Claims
1. An order receiving and issuing system for managing order receiving and issuing of operations in a business transaction where business commissions consisting of ordering and order receiving are carried out step by step among a plurality of companies, comprising a first arithmetic unit that executes a program and a first storage device accessible by the first arithmetic unit, and a zero-order server that manages order information and order receiving information, a second arithmetic unit that executes a program and a second storage device accessible by the second arithmetic unit, and a key management server that manages an encryption key for encrypting the order information and the order receiving information, a third arithmetic unit that executes a program and a third storage device accessible by the third arithmetic unit, and a plurality of key share holding servers that each hold a part of a plurality of key shares generated from the key, a fourth arithmetic unit that executes a program and a fourth storage device accessible by the fourth arithmetic unit, and a terminal through which the order information and the order receiving information are input and output, wherein the key management server, the second arithmetic unit has an access right management unit that assigns authentication information of a company capable of acquiring the key share to the key share, the second arithmetic unit has a communication unit that distributes the key share to the key share holding server, wherein the terminal, the fourth arithmetic unit has an information transmission unit that requests the key share from the key share holding server, the fourth arithmetic unit has a key restoration / generation unit that restores an encryption key from the plurality of key shares acquired, the fourth arithmetic unit has an encryption / decryption unit that encrypts input order information and decrypts order receiving information using the restored encryption key, the fourth arithmetic unit has a display unit that displays the decrypted order receiving information, the information transmission unit transmits the encrypted order information to the zero-order server, and the key share holding server is characterized in that the third arithmetic unit has an authentication unit that determines whether the key share can be transmitted to each terminal based on the authentication information. An order receiving and issuing system.
2. The order receiving and issuing system according to claim 1, wherein the information transmission unit, after receiving a notification from the zero-order server, transmits the authentication information to the key share holding server and requests the key share, the key restoration / generation unit restores an encryption key from the key shares acquired from a plurality of the key share holding servers, the encryption / decryption unit decrypts the order receiving information received from the zero-order server using the restored encryption key, and the display unit is characterized in that it displays the decrypted order receiving information. An order receiving and issuing system.
3. The order receiving and placing system according to claim 1, wherein upon completion of the entrusted business, the information transmission unit acquires order information related to the completed entrusted business from the zero - th server, transmits the authentication information to the key share holding server, and requests the key share, the key restoration / generation unit restores an encryption key from the key shares acquired from a plurality of the key share holding servers, the encryption / decryption unit decrypts the order information received from the zero - th server using the restored encryption key, the display unit displays the decrypted order information to prompt approval of the completion of the entrusted business. The order receiving and placing system is characterized by this.
4. The order receiving and placing system according to claim 1, wherein the terminal requests the key share from the key share holding server, and acquires the key share from each of the key share holding servers without passing through the zero - th server. The order receiving and placing system is characterized by this.
5. The order receiving and placing system according to claim 1, wherein the key management server the second arithmetic unit has a key generation unit that generates the encryption key, and a division unit that generates a plurality of the key shares from the encryption key. The order receiving and placing system is characterized by this.
6. The order receiving and placing system according to claim 1, wherein the terminal the fourth arithmetic unit has a key generation unit that generates the encryption key, and a division unit that generates a plurality of the key shares from the encryption key. The order receiving and placing system is characterized by this.
7. The order receiving and placing system according to claim 5 or 6, wherein the division unit generates the key share using the (k, n) threshold secret sharing method, and the communication unit distributes (k - 1) or fewer of the key shares to each of the key share holding servers. The order receiving and placing system is characterized by this.
8. In a business transaction in which business entrustment consisting of order placing and order receiving among a plurality of companies is carried out step by step, an order receiving and placing management method in which an order receiving and placing system manages the order receiving and placing of the business The order receiving and placing system includes a first arithmetic unit that executes a program and a first storage device accessible by the first arithmetic unit, a zero-order server that manages order information and order receiving information, a second arithmetic unit that executes a program, and a second storage device accessible by the second arithmetic unit, a key management server that manages an encryption key for encrypting the order information and the order receiving information, a third arithmetic unit that executes a program and a third storage device accessible by the third arithmetic unit, a plurality of key share holding servers that each hold a part of a plurality of key shares generated from the key, and a fourth arithmetic unit that executes a program and a fourth storage device accessible by the fourth arithmetic unit, and a terminal through which the order information and the order receiving information are input and output. The order receiving and placing management method includes: the second arithmetic unit attaching authentication information of an enterprise capable of acquiring the key share to the key share; the second arithmetic unit distributing the key share to the key share holding server; the fourth arithmetic unit requesting the key share from the key share holding server; the third arithmetic unit determining whether the key share can be transmitted to each terminal based on the authentication information; the fourth arithmetic unit restoring an encryption key from the plurality of acquired key shares; the fourth arithmetic unit encrypting order information using the restored encryption key; the fourth arithmetic unit transmitting the encrypted order information to the zero-order server; the fourth arithmetic unit decrypting the order receiving information received from the zero-order server using the restored encryption key; the fourth arithmetic unit displaying the decrypted order receiving information, and being characterized by the order receiving and placing management method.