Information processing apparatus, control method, and computer-readable storage medium
By designing an information processing device as the central hub for blockchain services, the burden of managing multiple PCs was resolved, and the reliability and efficiency of electronic document processing were improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2020-06-23
- Publication Date
- 2026-08-04
AI Technical Summary
Registering electronic document information in blockchain services requires managing multiple PCs, which increases the burden of management tasks.
Design an information processing device as the central device for blockchain services. Through storage units, login units, and collaboration units, it collaborates with blockchain services to manage electronic data and control the use of functions according to user role permissions.
It reduces the burden of managing multiple PCs and improves the reliability and efficiency of electronic document processing.
Smart Images

Figure CN114127725B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to an information processing apparatus, control method, and computer-readable storage medium that uses blockchain to solve the problem of tampering with electronic data records. Background Technology
[0002] To prevent tampering with electronic documents, a technique is known to use blockchain to ensure the reliability of changes to the content of electronic documents (see PTL 1).
[0003] Citation List
[0004] Patent documents
[0005] PTL 1: Japanese Patent Publication No. 2018-128823 Summary of the Invention
[0006] Technical issues
[0007] When registering information about electronic documents in a blockchain service, the reliability of the electronic document processing must be ensured. This requires installing credentials used in the application or processing on the devices used by staff (typically personal computers (PCs)). In this case, staff need to manage multiple PCs, thus increasing the burden of administrative tasks.
[0008] One object of this invention is to provide an information processing device that collaborates with a blockchain service. The information processing device authenticates users and confirms the assignment of specific roles to users to enable multiple users and / or devices to use the blockchain service. In other words, the information processing device acts as a hub device for the blockchain service.
[0009] Problem Solution
[0010] According to embodiments of the present invention, an information processing apparatus collaborates with a management service and a blockchain service. The management service receives and stores electronic data via a network, while the blockchain service manages information about the stored electronic data in blocks and manages multiple blocks across multiple nodes by defining the association between each block and the blocks preceding and following it. The information processing apparatus includes: a storage unit that stores authentication information for user authentication in association with role information indicating permissions granted to the user; a login unit that performs authentication processing upon receiving the authentication information and, based on the confirmed role information, enables the authenticated user to log in to the information processing apparatus and use its functions; and a collaboration unit that provides information about the stored electronic data to the blockchain service. If the confirmed role information includes role information indicating that functions for collaboration with the blockchain service are available, the authenticated user is allowed to use the collaboration unit; otherwise, if the confirmed role information includes role information indicating that functions for collaboration with the blockchain service are unavailable, the authenticated user is not allowed to use the collaboration unit.
[0011] Advantages of the invention
[0012] An information processing device is provided as a central device for blockchain services. Attached Figure Description
[0013] Figure 1 This is a diagram illustrating the system configuration.
[0014] Figure 2 This is a diagram illustrating the hardware configuration of the image forming apparatus.
[0015] Figure 3 This is a diagram illustrating the hardware configuration of a PC and a document management device.
[0016] Figure 4 This is a diagram illustrating the software configuration of the image forming apparatus.
[0017] Figure 5 This is a diagram illustrating the software configuration of a document management device.
[0018] Figure 6 This is a diagram illustrating the data structure of a blockchain device.
[0019] Figure 7A This is an example of a verification screen.
[0020] Figure 7B This is an example of a verification screen.
[0021] Figure 8A This is a screenshot example of a remote authentication screen.
[0022] Figure 8B This is a screenshot example of a remote authentication screen.
[0023] Figure 9A This is an example of a function selection screen.
[0024] Figure 9B This is an example of a function selection screen.
[0025] Figure 10A This is an example of the document registration screen for application A.
[0026] Figure 10B This is an example of the document registration screen for application A.
[0027] Figure 10C This is an example of the document registration screen for application A.
[0028] Figure 10D This is an example of the document registration screen for application A.
[0029] Figure 11A This is an example of a screen showing the registration document saving / printing process for application A.
[0030] Figure 11B This is an example of a screen showing the registration document saving / printing process for application A.
[0031] Figure 12A This is an example of the registration document verification screen for application A.
[0032] Figure 12B This is an example of the registration document verification screen for application A.
[0033] Figure 13 This is a flowchart of the process of registering document information in a blockchain device.
[0034] Figure 14 This is a flowchart of the process of retrieving and saving electronic documents from a document management device.
[0035] Figure 15 This is a flowchart of the process of printing electronic documents in an image forming apparatus.
[0036] Figure 16 This is a flowchart for verifying electronic documents.
[0037] Figure 17 This is a flowchart of transaction processing on a blockchain device. Detailed Implementation
[0038] [First Embodiment]
[0039] Embodiments of the present invention will be described herein with reference to the accompanying drawings. Figure 1 This is an overall view of the system associated with the image forming apparatus 101. The image forming apparatus 101, personal computer (PC) 102, and document management device 103 are located in an intranet connected to a local area network (LAN) 100 and communicate with the blockchain device 111 via the Internet 110. The PC 102 is used to associate with the image forming apparatus 101 using a web browser and to print from the image forming apparatus 101 using a print driver.
[0040] Blockchain device 111 is a device that manages information about electronic documents generated in image forming apparatus 101 or PC 102 on a block-by-block basis, and provides blockchain services to ensure document validity. Document management device 103 is a device that stores electronic documents generated in image forming apparatus 101 or PC 102 and provides document management services.
[0041] Figure 2 This is a block diagram illustrating the hardware configuration of the image forming apparatus 101. A control unit 200, including a central processing unit (CPU) 201, controls the entire operation of the image forming apparatus 101. The CPU 201 reads a control program stored in a read-only memory (ROM) 202 to perform various controls, including read control and transfer control. A random access memory (RAM) 203 serves as a temporary storage area for the CPU 201, such as main memory and a working area. A hard disk drive (HDD) 204 stores image data, various programs, or various data as described below. Although the image forming apparatus 101 has a hardware configuration as an information processing device, in addition to this information processing device configuration, the image forming apparatus 101 also has the following hardware configurations.
[0042] An operator unit interface (I / F) 205 connects the control unit 200 to the operator unit 209. A printer I / F 206 connects the control unit 200 to the printer 210. Image data to be printed in the printer 210 is transmitted from the control unit 200 to the printer 210 via the printer I / F 206, and printed on the recording medium in the printer 210. A scanner I / F 207 connects the control unit 200 to the scanner 211. The scanner 211 reads the image of the original to generate image data, and provides the image data to the control unit 200 via the scanner I / F 207.
[0043] Network I / F 208 is used to connect control unit 200 (image forming apparatus 101) to LAN 100. Image data or information is transmitted to external devices on LAN 100 via network I / F 208, and various information is received from external devices on LAN 100 via network I / F 208.
[0044] Figure 3 This is a block diagram illustrating the hardware configuration of the computer, including PC 102 and document management device 103. CPU 302 controls the entire device. CPU 302 executes applications, operating system (OS), etc., stored in HDD 305 for control purposes, temporarily storing information required for executing programs, files, etc., in RAM 303. ROM 304 is a storage unit that stores various data, including basic input-output (I / O) programs. RAM 303 is a temporary storage unit and serves as the main memory and working area of CPU 302. HDD 305 is an external storage unit used as a mass storage device and stores applications such as office applications and web browsers, OS, and related programs.
[0045] Display 306 is a display unit that displays commands, etc., entered via keyboard / mouse 307, which serves as an instruction input unit. Interface 308 is an external device I / F and is used to connect the device to printers, Universal Serial Bus (USB) devices, and / or peripheral devices. System bus 301 is used to control the data flow within the device. Network interface card (NIC) 309 is used to exchange data with external devices via LAN 100.
[0046] The configuration of the information processing device is an example and is not limited to it. Figure 2 and Figure 3 The example configuration shown is illustrated. For instance, depending on the characteristics of the data and programs, portions of the storage for data and programs can be selected from ROM 304, RAM 303, HDD 305, etc. Unless otherwise stated in this embodiment, various processes are implemented by loading the corresponding programs stored in ROM 304, etc., into RAM 303, etc., and having the programs executed by CPU 302.
[0047] Figure 4This is a block diagram illustrating the software configuration related to the present invention in the image forming apparatus 101. Unless otherwise stated, each processing unit is a control program stored in ROM 202. A local user interface (UI) controller 400 provides the function of controlling the operation unit 209 via the operation unit I / F 205. The local UI controller 400 notifies the user authentication processor 402 or application of the content operated by the user through the operation unit 209. The local UI controller 400 displays a function selection screen 900 in the operation unit 209. An example of the function selection screen 900 is shown in... Figure 9A As shown in the diagram. The local UI controller 400 responds to a screen display request from the user authentication processor 402 or an application, controlling the display of a screen in the operation unit 209. Both the user authentication processor 402 and the application A404 display screens in the operation unit 209 via the local UI controller 400.
[0048] The remote UI controller 401 provides a webpage to a web browser on PC 102 via network I / F 208. The remote UI controller 401 notifies the user authentication processor 402 or application of the user's actions on the web browser. The remote UI controller 401 displays a function selection screen 910 on the web browser on PC 102. An example of the function selection screen 910 is shown in... Figure 9B The diagram shows a remote UI controller 401 that, in response to a request from a user authentication processor 402 or an application, controls the display of a webpage on a web browser. User authentication processor 402, application A 404, and application B 405 cause the web browser to display the webpage via the remote UI controller 401.
[0049] User authentication processor 402 provides functionality for authenticating users of image forming apparatus 101. Therefore, user authentication processor 402 displays authentication screen 700 in operation unit 209 (an example of the screen is shown in...). Figure 7A (See diagram). User authentication processor 402 receives authentication information including the username and password entered by the user through authentication screen 700, and compares the authentication information with the user information stored in user information DB 403 to perform user authentication.
[0050] User information DB 403 provides functionality for maintaining user information, which is information about the user using the image forming apparatus 101. User information DB 403 is built into HDD 204, and the information in user information DB 403 is stored in HDD 204. Examples of the information in user information DB 403 are shown in Tables 1 and 2:
[0051] Table 1
[0052] User Information Form
[0053] User A **** administrator User B **** Regular users tourists - Visitors
[0054] The user information table in Table 1 consists of "Username", "Password", and "Role", with the role associated with the authentication information. "Username" is a name that uniquely identifies the user. "Password" is the password used for user authentication and can be set to any value for each user. "Role" refers to the permissions granted to a user of the image forming apparatus 101 to use the image forming apparatus 101. In this embodiment, there are three roles: Administrator, Regular User, and Guest User.
[0055] An administrator is a role assigned to the image forming apparatus 101 for managing users, while a regular user is a role assigned to regular users using the image forming apparatus 101. A guest user is a role assigned to users whose available functions are to be restricted. A guest user is a role assigned to a user when they can use functions without registering authentication information, including username and password, in the user information DB 403. Since the available functions are determined based on the "role" value of the user logging into the image forming apparatus 101, the use of functions of the image forming apparatus 101 is restricted for each role.
[0056] Table 2
[0057] Character Information Table
[0058]
[0059] The role information table in Table 2 consists of "Role," "Copy," "Transfer," "Save," "BC Registration," "BC Save / Print," and "BC Verification." "Copy," "Transfer," "Save," "BC Registration," "BC Save / Print," and "BC Verification" represent various functions of the image forming apparatus 101, and their values indicate whether the corresponding function is allowed or prohibited for each role. "Copy," "Transfer," and "Save" represent the permissions for the copy function, the scanning function (transferring scanned documents to PC 102), and the function permission for saving scanned electronic documents in HDD 204, respectively.
[0060] "BC Registration" refers to the functional permission to register information about a document in the blockchain device 111. "BC Save / Print" refers to the functional permission to save or print a document associated with the document information registered in the blockchain device 111 and stored in the document management device 103 in the image forming apparatus 101. "BC Verification" refers to the functional permission to verify whether a document is valid based on the document information registered in the blockchain device 111. Applications in the image forming apparatus 101 restrict their functions according to the permissions of roles in the role information table, where each role corresponds to a user logged into the image forming apparatus 101.
[0061] In the first embodiment, roles such as administrator are prepared based on the user's permission level. However, roles such as "BC role" can also be prepared, and more specifically, dedicated roles for using blockchain services such as "BC registration role" and "BC save / print role" can be prepared.
[0062] Application A 404 provides the functionality to convert scanned documents into electronic documents and register information about the documents in blockchain device 111 via blockchain application 406 and document management device 103. Application A 404 provides the functionality to receive registered documents and print them via printer I / F 206. Application A 404 controls scanner 211 via scanner I / F 207 and transmits data to LAN 100 via network I / F 208 to transmit scanned data to external devices. Application A 404 provides screen information to local UI controller 400 and remote UI controller 401.
[0063] Application A 404 receives input from the screen displayed in operation unit 209 via local UI controller 400 and performs corresponding processing. Application A 404 displays registration screen 1000, registration document save / print screen 1100, and verification screen 1200 in operation unit 209. An example of registration screen 1000 is shown below. Figure 10A The image in the middle shows an example of the registration document saving / printing screen 1100. Figure 11A The image in the middle shows an example of screen 1200. Figure 12A The diagram in the middle is shown.
[0064] Additionally, application A 404 accepts input from a web browser on PC 102 via remote UI controller 401 and performs corresponding processing. Application A 404 displays registration screen 1020, registration document save / print screen 1110, and verification screen 1210 on the web browser on PC 102. An example of registration screen 1020 is shown below. Figure 10C The image in the middle shows an example of the registration document saving / printing screen 1110. Figure 11B The image in the middle shows an example of verifying screen 1210. Figure 12B The diagram in the middle is shown.
[0065] While an example application with features including document registration, printing, and verification has been described, these features can be shared across multiple applications. For example, a pattern could be assumed: a scanning application for preparing documents for registration and a printing application for printing.
[0066] Similar to Application A 404, Application B 405 provides the functionality to convert scanned documents into electronic documents and register information about the documents in the blockchain device 111 via blockchain application 406 and the document management device 103. Application B 405 provides screen information to the remote UI controller 401. While Application A 404 supports input-output from both the local UI and the remote UI controller 401, Application B 405 differs from Application A 404 in that it only supports input-output from the remote UI. Applications A 404 and B 405 do not communicate directly with the blockchain device 111.
[0067] Blockchain application 406 is an application for blockchain collaboration and provides functionality to register, retrieve, and verify information about documents in blockchain device 111 in response to instructions from application A 404 or application B 405. Figure 6 The diagram illustrates an example of the data structure of transaction 601 and the block registered in blockchain device 111 via blockchain application 406. The following will refer to... Figure 6 This will be described in detail.
[0068] When blockchain application 406 receives instructions for blockchain device 111 from the application, blockchain application 406 also receives credential information from credential information manager 410. Blockchain application 406 verifies the received credential information, and processes blockchain device 111 as soon as verification is successful.
[0069] Credential information A 408 is used to ensure that application A 404 is an authorized application using blockchain device 111. Credential information A 408 is issued for applications that have undergone appropriate verification, and the application is installed in image forming apparatus 101 with the credential information incorporated into the application.
[0070] Credential information B 409 is credential information used to ensure that application B 405 is an authorized application using blockchain device 111. Credential information B 409 is installed in image forming apparatus 101 in the same manner as credential information A 408.
[0071] Credential information C 407 is credential information used to ensure that the image forming apparatus 101 is an authorized device using the blockchain device 111. For example, credential information C 407 may be issued by the organization managing the system for each device manufacturer. Credential information C 407 may be shipped with credential information C 407 incorporated into the firmware of the image forming apparatus 101, or it may be installed in the image forming apparatus 101 after shipment.
[0072] Credential information can be a key pair of a digital certificate, private key, and public key, or a predefined data value. The format of credential information is unrestricted. Different applications can use credential information with different formats.
[0073] The credential information manager 410 provides functionality for managing credential information in the image forming apparatus 101. In this embodiment, the credential information manager 410, in response to an instruction from the blockchain application 406, transmits credential information C 407 to the blockchain application 406. Although in the first embodiment, the PC 102 collaborates with the blockchain device 111 via the image forming apparatus 101, the credential information manager 410 configures the credential information C 407 not to be provided to the PC 102. Because the user of the PC 102 logs in to the PC 102 via a remote UI and is allowed to use the blockchain application 406 based on the role confirmed by the image forming apparatus 101, the PC 102 cannot establish a confidential relationship with the blockchain device 111 in advance.
[0074] Figure 5 This is a block diagram illustrating the software configuration related to the present invention in the document management device 103. The electronic documents managed by the document management device 103 consist of document files to be saved in folder 501 and information indicating each document to be saved in document information folder 502. The data stored in document information folder 502 is the information described in the document information table in Table 3:
[0075] Table 3
[0076] 1 Document A 05 / 20 / 2019 12:00:00 D:¥Document¥document0001.pdf 2 Document B 05 / 21 / 2019 13:00:00 D:¥Document¥document0002.pdf 3 Document C 05 / 22 / 2019 12:30:00 D:¥Document¥document0003.pdf
[0077] The document information table in Table 3 consists of "ID", "Document Name", "Registration Date and Time", and "File Path". "ID" is identification information used to uniquely manage electronic documents. "Document Name" is the name assigned to the electronic document so that users can identify it. Multiple electronic documents can have the same document name. "Registration Date and Time" indicates the date and time when the electronic document was saved in the document management device 103. "File Path" indicates the save location of the document file stored in folder 501. Although in this embodiment, "File Path" indicates a path on the file system, information other than the path can be used, as long as the information uniquely represents the save location.
[0078] Although the document information table consists of the minimum items required to describe the first embodiment, information for classifying documents may also be maintained in the document information table, for example. The electronic document processor 503 has the function of accessing folder 501 and document information folder 502 to control processes including electronic document registration and retrieval, as well as list retrieval. Processing in the electronic document processor 503 is performed when the electronic document transmitter-receiver 504 is activated, having accepted input-output requests for electronic documents (received from outside the document management device 103, such as an image forming apparatus 101 or a PC 102).
[0079] Figure 6 This is a block diagram illustrating the data structure of transactions 601 held in blockchain device 111 and the blocks that each store multiple transactions. Blockchain device 111 is a device for managing data using a method called blockchain. Blockchain processes information in units of transactions and manages information in units of blocks, with each block containing multiple transactions.
[0080] The association of each block with the blocks preceding and following it is defined as maintaining the sequential state of the blocks. A blockchain is managed across multiple computers called nodes and has a decentralized device structure where each node manages block data in the same way. Therefore, when block data is tampered with, multiple nodes constituting the blockchain need to be updated; thus, blockchain is considered a data management method with high tamper-resistance. Although the term "blockchain device 111" is used, blockchain device 111 is a device composed of multiple computers as described above, and the blockchain service is provided by these multiple computers.
[0081] In this embodiment, when the electronic document is processed in the image forming apparatus 101, the transactions representing the document are transmitted to the blockchain device 111, and the transactions are managed by block to maintain the correct state of the electronic document. This makes it possible to confirm whether the electronic document in the document management device 103 has been tampered with.
[0082] Transaction 601, which indicates the registration of an electronic document in document management device 103 and the output of an electronic document from document management device 103, includes the following six pieces of information. Document hash value 602 is a hash value calculated to uniquely represent the target electronic document. Document hash value 602 is calculated based on the entire document file, and the value calculated for document hash value 602 changes when the electronic document itself is modified. However, calculation methods other than those described above may also be used.
[0083] Document identification information 603 is information maintained to be associated with electronic documents managed in the document management device 103, and in this embodiment, the ID value in Table 3 is stored as document identification information 603. Registered device identification information 604 is information identifying the image forming apparatus 101 that has registered a document, and in this embodiment, the hash value in the credential information C407 is stored as registered device identification information 604. Document registration date and time 605 is time information indicating the time of document registration, and in this embodiment, the values of the registration date and time in Table 3 are stored as document registration date and time 605.
[0084] Document registrant 606 is information indicating a user who has registered a document, and in this embodiment, the hash value of the username of the user who has logged into the image forming apparatus 101 is stored as document registrant 606. Since information registered for using the image forming apparatus 101 (such as username) can be used as information to be registered in the blockchain device 111, the burden of management tasks on the system manager can be reduced. Original document hash value 607 is information indicating the relationship between documents. When electronic data is printed, stored, etc., on electronic documents stored in the document management device 103, the original document hash value 607 is used to associate with the original electronic documents.
[0085] Next, we will use block 611 to describe the structure of the block that holds transaction 601. Block 611 schematically illustrates the general blockchain structure. Block 611 holds multiple transactions 601(a) to 601(c) and the block hash value 612 calculated based on transaction 601.
[0086] Although the block in the first embodiment includes three transactions 601, the number of transactions is not limited. Additionally, block 611 maintains the hash value 613 of the previous block used for linking blocks. In the first embodiment, the block hash value of block 614 is stored in the hash value 613 of the previous block to indicate that block 614 is associated with block 611. While the hash value of the previous block is maintained in the first embodiment, a mode of managing the hash values of subsequent blocks, or managing the hash values of both previous and subsequent blocks, can also be adopted.
[0087] Figure 7Aand Figure 7B This is an example of a verification screen. Figure 7A The authentication screen 700 is a screen used to provide user authentication functionality so that the user can use the functions of the image forming apparatus 101. The username input field 701 is a field for the user of the image forming apparatus 101 to enter their username. The password input field 702 is a field for the user of the image forming apparatus 101 to enter their password.
[0088] The login button 703 is used for user authentication. When a user touches this button, the user authentication processor 402 performs user authentication based on the values entered in the username input field 701 and the password input field 702.
[0089] Figure 7B The authentication screen (guest login) 710 is an example of an authentication screen that includes guest login, and it is a screen used to provide the function of user authentication so that the user can use the functions of the image forming apparatus 101. Here, only the difference between the authentication screen (guest login) 710 and the authentication screen 700 will be described.
[0090] The guest login button 711 is used for user authentication as a guest user. When a user touches this button, the user authentication processor 402 allows login without using a username and password. When a user logs into the image forming apparatus 101 by touching the guest login button 711, the username is "guest" and his / her role is "guest user". The functions available to the user are restricted according to the permissions in the role information table in Table 2. Although detailed descriptions are omitted in this embodiment, the display of the authentication screen 700 and the authentication screen (guest login) 710 can be switched based on the settings set in the user authentication processor 402.
[0091] Figure 8A and Figure 8B This is a screenshot example of a remote authentication screen. Figure 8A The remote authentication screen 800 is used for user authentication so that the user can use the functions of the image forming apparatus 101 from the web browser on the PC 102. The username input field 801 is used by the user of the image forming apparatus 101 to enter their username. The password input field 802 is used by the user of the image forming apparatus 101 to enter their password.
[0092] The login button 803 is used for user authentication. When a user touches this button, the user authentication processor 402 performs user authentication based on the values entered in the username input field 801 and the password input field 802.
[0093] Figure 8BThe remote authentication screen (guest login) 810 is a screen used to provide user authentication functionality so that the user can use the functions of the image forming apparatus 101. Here, only the differences between the remote authentication screen (guest login) 810 and the remote authentication screen 800 will be described.
[0094] The guest login button 811 is used for user authentication as a guest user. When a user touches this button, the user authentication processor 402 allows login without using a username and password. When a user logs into the image forming apparatus 101 by touching the guest login button 811, the username is "guest" and his / her role is "guest user". The functions available to the user can be restricted according to the permissions in the role information table in Table 2.
[0095] Although detailed descriptions are omitted in this embodiment, the display of remote authentication screen 800 and remote authentication screen (guest login) 810 can be switched based on the settings set in user authentication processor 402.
[0096] Figure 9A and Figure 9B This includes a screen example for selecting functions from those displayed by the local UI controller 400 and the remote UI controller 401. Figure 9A and Figure 9B The screen shown displays a list of functions installed in the image forming apparatus 101. The user of the image forming apparatus 101 touches a button displayed on the screen to use the corresponding function installed in the image forming apparatus 101.
[0097] Figure 9A The function selection screen 900 is the screen immediately displayed in the operation unit 209 by the local UI controller 400 after the user logs into the image forming apparatus 101 on the authentication screen 700 or the authentication screen (guest login) 710. The function selection buttons 901 are buttons used to access the various functions of the image forming apparatus 101.
[0098] The copy button displays a screen for using the copy function, the transfer button displays a screen for transferring the scanned document to the PC 102, and the save button displays a screen for saving the scanned document to the HDD 204. Although a description of the screens displayed after touching each button is omitted in this first embodiment, these screens will be displayed in a manner consistent with prior art.
[0099] When the document registration button is touched, registration screen 1000 or registration screen 1010 is displayed. When the document save / print button is touched, document save / print screen 1100 is displayed. When the document verification button is touched, verification screen 1200 is displayed.
[0100] The exit button 902 is used to perform the exit process displayed during login. When this button is touched, the exit process is performed, and then authentication screen 700 or authentication screen (guest login) 710 is displayed.
[0101] Figure 9B The function selection screen 910 is an example of a screen that is immediately displayed on a web browser on a PC 102 by the remote UI controller 401 after the user logs into the image forming apparatus 101 on the remote authentication screen 800 or the remote authentication screen (guest login) 810.
[0102] The function selection button 911 is used to access various functions. Similar to the function selection screen 900, the description of the screen displayed after touching the save button is omitted here. When the document registration button is touched, registration screen 1020 or registration screen 1030 is displayed. When the document registration save / print button is touched, document registration save / print screen 1110 is displayed. When the document verification button is touched, verification screen 1210 is displayed.
[0103] The selection of functions is not limited to this mode. For example, a mode can be adopted in which application A404 is displayed on the function selection screen 900, and after selecting application A404 on the function selection screen 900, functions such as registration or printing can be selected.
[0104] Figure 10A , Figure 10B , Figure 10C and Figure 10D This is an example of a registration screen displayed by application A 404 and application B 405. In the first embodiment, application A 404 displays the screen in the operation unit 209 and on a web browser on PC 102 via the local UI controller 400 and the remote UI controller 401, respectively, while application B 405 displays the screen only on the web browser on PC 102. Application B 405 can display the screen in the operation unit 209 and on the web browser on PC 102.
[0105] Figure 10AThe registration screen 1000 provides the functionality to register documents in the blockchain device 111 and the document management device 103. The document selection setting 1001 is for selecting a target document for registration from scanned paper documents or documents saved in the image forming device 101. From the document selection setting 1001, one can select either a scanned document or a saved document. The scan setting 1002 contains various settings related to scanning.
[0106] The blockchain button 1003 is used to select whether to register information about the document in the blockchain device 111. When the blockchain button 1003 is selected, the information about the document is registered in the blockchain device 111; when the blockchain button 1003 is not selected, the information about the document is not registered in the blockchain device 111.
[0107] When scanning is selected from the document selection settings 1001, the registration button 1004 is used to scan the document to create an electronic document. When saving the document is selected, a list of saved documents is displayed, and the document selected by the user from the list is retrieved. Then, when the blockchain button 1003 is selected, the electronic document is registered in the document management device 103, and information about the electronic document is registered in the blockchain device 111. When the blockchain button 1003 is not selected, the electronic document is registered in the document management device 103, but information about the electronic document is not registered in the blockchain device 111. The save destination setting 1005 is used to specify the path on the document management device 103 where the document will be saved.
[0108] Figure 10B Registration screen 1010 is a screen used to provide the function of registering documents in document management device 103, and is, for example, a screen displayed to a user logging into image forming device 101 as a guest user. Since guest users in the first embodiment do not have the authority to register document information in blockchain device 111, registration screen 1010 differs from registration screen 1000 in that the blockchain button 1003 is not displayed on registration screen 1010. When no role for using the blockchain service has been assigned to the user, it can be displayed... Figure 10B The registration screen is 1010.
[0109] Figure 10C The registration screen 1020 is a screen used to provide the function of registering documents in the blockchain device 111 and the document management device 103, and is an example of a screen displayed on a web browser on PC 102.
[0110] Figure 10DThe registration screen 1030 is a screen used to provide the function of registering documents in the document management device 103, and is, for example, a screen displayed to a user logging into the image forming device 101 as a guest user. It can be displayed when no role for using the blockchain service has been assigned to the user. Figure 10D The registration screen is 1030.
[0111] Figure 11A and Figure 11B This is an example of a screen displayed by application A404 and used to save or print the registration document. Figure 11A The registration document save / print screen 1100 is a screen used to provide the function of saving or printing documents managed in the blockchain device 111 and the document management device 103.
[0112] The document selection list 1101 is a list from which to select documents to save or print. Application A 404 displays documents managed in the document management device 103 in the document selection list 1101. The print button 1102 is a button for printing the document selected from the document selection list 1101. The save button 1103 is a button for saving the document selected from the document selection list 1101 to the HDD 204 in the image forming apparatus 101.
[0113] Figure 11B The registration document save / print screen 1110 is a screen used to provide the function of saving or printing documents managed in the blockchain device 111 and the document management device 103, and is an example of a screen displayed on a web browser on PC 102.
[0114] Figure 12A and Figure 12B This is an example of a screen displayed by application A404 for verifying a document. Figure 12A The verification screen 1200 is a screen used to provide a function for using the blockchain device 111 to verify whether the scanned document and the document stored in the image forming device 101 are valid documents.
[0115] Document selection setting 1201 is used to select a target document for verification from scanned paper documents or documents saved in the image forming apparatus 101. Document selection list 1202 is a list of documents from which target documents for verification are selected, and is also a list of documents saved in the HDD 204. Verification button 1203 is used to scan a document and then verify it using the blockchain device 111 when scanning is selected from the document selection setting 1201. When saving a document is selected from the document selection setting 1201, verification button 1203 is used to verify the document selected from the document selection list 1202.
[0116] Figure 12B Verification screen 1210 is a screen used to provide functionality for verifying whether a document stored in HDD 204 is a valid document using blockchain device 111, and is an example of a screen displayed on a web browser on PC 102.
[0117] Figure 13 This is a flowchart of the process of registering information about a document in the blockchain device 111, which takes place in the image forming apparatus 101. Although the first embodiment describes the case where a user uses the image forming apparatus 101 via the control unit 200, the user can also use the image forming apparatus 101 via a web browser on the PC 102. The flowchart begins when the login button 703 on the authentication screen 700 is touched. First, the user authentication processor 402 is executed in the CPU 201.
[0118] At the start of the process in the flowchart, the username and password entered by the user of the image forming apparatus 101 on the authentication screen 700 are transmitted to the user authentication processor 402. In step S1301, the user authentication processor 402 accepts the username and password as a login request.
[0119] In step S1302, the user authentication processor 402 verifies whether the received username and password match the username and password in the user information table in Table 1. If the username and password match the username and password in the user information table in Table 1, the user authentication processor 402 assumes successful user authentication and proceeds to step S1303. If the username and password do not match the username and password in the user information table in Table 1, the user authentication processor 402 assumes user authentication failed and proceeds to step S1314.
[0120] In step S1303, the user authentication processor 402 retains the username accepted in step S1301 as the user of the currently logged-in image forming apparatus 101 in RAM 203 as a login process. Then, the user authentication processor 402 passes the processing to the local UI controller 400. The local UI controller 400, taking over the processing, displays a function selection screen 900 in the operation unit 209. When the user touches the document registration button on the function selection screen 900, application A 404 is executed in the CPU 201 in subsequent processing of this flowchart.
[0121] Application A 404, which handles the takeover process, displays a screen reflecting functional restrictions based on the user's role currently logged into the image forming apparatus 101. Specifically, since BC registration is prohibited for the corresponding role of a guest user when the username of the user logged into the image forming apparatus 101 is guest, application A 404 displays a registration screen 1010 in the operation unit 209 that restricts the document registration function to the blockchain device 111. Since BC registration is allowed when the user logged into the image forming apparatus 101 has a username other than guest, application A 404 displays a registration screen 1000 in the operation unit 209.
[0122] In step S1314, application A 404 displays "user authentication failed" or "no permission to use blockchain device 111" as an error in operation unit 209 via operation unit I / F 205. Then, Figure 13 The process terminates. In step S1304, application A 404 waits for the blockchain button 1003 to be touched to register on the registration screen 1000. When the blockchain button 1003 is touched, the process proceeds to step S1305.
[0123] In step S1305, if scanning is selected on the registration screen 1000, the process proceeds to step S1306; otherwise, if saving the document is selected, the process proceeds to step S1308. In step S1306, application A 404 scans the paper document using scanner 211. In step S1307, application A 404 creates an electronic document from the data scanned in step S1306 according to the scanning settings 1002, and temporarily saves the electronic document in HDD 204. Figure 13 After the flowchart in the process terminates, the temporary data is deleted.
[0124] In step S1308, application A 404 determines whether to issue a blockchain registration instruction. In the first embodiment, if the user logging into the image forming apparatus 101 has a username other than "guest" and if the blockchain button 1003 is selected on the registration screen 1000, the process proceeds to step S1309. If the user logging into the image forming apparatus 101 has a username other than "guest" and if the blockchain button 1003 is not selected on the registration screen 1000, the process proceeds to step S1315.
[0125] In step S1309, application A 404 confirms whether the user of the image forming apparatus 101 has permission to use the blockchain device 111. If the user of the image forming apparatus 101 has permission to use the blockchain device 111, the process proceeds to step S1310. If the user of the image forming apparatus 101 does not have permission to use the blockchain device 111, the process proceeds to step S1314. When only an authorized user of the image forming apparatus 101 intends to use the blockchain device 111, the following method can be used: assuming the user has the permissions possessed if the username maintained in step S1303 is not a guest user. In determining the permission to use the blockchain device 111, a role dedicated to the blockchain can be created as described above, and the permission to use the blockchain device 111 can be determined based on the role dedicated to the blockchain.
[0126] In step S1310, application A 404 calculates the hash value of the electronic document created in step S1307. In step S1311, application A 404 requests the document management device 103 to register the electronic document created in step S1307, thus obtaining the ID of the electronic document indicating that registration has been completed, as well as date and time information indicating the date and time of registration completion.
[0127] Although application A 404 performs the processing prior to step S1311, blockchain application 406 performs the processing in step S1312. In step S1312, blockchain application 406 registers the electronic document in blockchain device 111. The following will refer to... Figure 17 The registration process for blockchain device 111 is described below. It will now be described as the value and credential information specified in transaction 601 for registration.
[0128] The hash value calculated in step S1310 is designated as the document hash value 602. The ID representing the electronic document received in step S1311 is designated as document identification information 603. The hash value of the credential information C 407 in the printed image forming apparatus 101 is designated as registration device identification information 604. The date and time information representing the date and time of registration completion received in step S1311 is designated as document registration date and time 605. The hash value of the username of the user who has registered and logged into the image forming apparatus 101 is designated as the document registrant 606. Figure 13 The original document is not present in the flowchart, therefore no value is assigned as the original document hash value 607.
[0129] In addition to the value specified in transaction 601, application A 404 also passes credential information A 408 to blockchain application 406. Blockchain application 406 uses credential information A 408 to verify whether the authorized application has performed a series of registration-related processes.
[0130] In step S1313, application A 404 obtains the registration processing result of blockchain device 111 from blockchain application 406. In step S1315, application A 404 performs the same steps as in step S1311. Then, the process proceeds to step S1316. Ordinary file registration can be performed, but blockchain registration is not performed in ordinary file registration.
[0131] In step S1316, application A 404 displays the registration result obtained in step S1313 in operation unit 209 via operation unit I / F 205. Information (not shown) regarding whether registration with document management device 103 and blockchain device 111 was successful is displayed on the screen. Then, Figure 13 The processing in the process is terminated.
[0132] Figure 14 This is a flowchart illustrating the process of storing electronic documents saved in the document management device 103 in the image forming apparatus 101. Although the first embodiment describes a user using the image forming apparatus 101 via the control unit 200, a user can also use the image forming apparatus 101 via a web browser on a PC 102. The flowchart begins when the login button 703 on the authentication screen 700 is touched. First, the user authentication processor 402 is executed in the CPU.
[0133] At the start of the process in the flowchart, the username and password entered by the user of the image forming apparatus 101 on the authentication screen 700 are transmitted to the user authentication processor 402. In step S1401, the user authentication processor 402 accepts the username and password as a login request. In step S1402, the user authentication processor 402 confirms whether the received username and password match the username and password in the user information table in Table 1. If the username and password match the username and password in the user information table in Table 1, the user authentication processor 402 assumes that the user authentication is successful and proceeds to step S1403. If the username and password do not match the username and password in the user information table in Table 1, the user authentication processor 402 assumes that the user authentication has failed and proceeds to step S1411.
[0134] In step S1403, the user authentication processor 402 retains the username accepted in step S1401 as the user of the currently logged-in image forming apparatus 101 in RAM 203 as a login process. Then, the user authentication processor 402 passes the processing to the local UI controller 400. The local UI controller 400, taking over the processing, displays a function selection screen 900 in the operation unit 209. In subsequent processing of this flowchart, when the user touches the registration document save / print button on the function selection screen 900, application A 404 is executed in the CPU 201. Application A 404, taking over the processing, displays a registration document save / print screen 1100 in the operation unit 209.
[0135] In step S1404, application A 404 is displayed in operation unit 209 via operation unit I / F 205. Figure 11A The registration document save / print screen 1100 is shown in the diagram, and the system waits for the save button 1103 to be touched. When the save button 1103 is touched, the process proceeds to step S1405.
[0136] In step S1405, application A 404 acquires the electronic document selected from the document selection list 1101 on the registration document save / print screen 1100 from the image forming apparatus 101. Document information about the acquired electronic document is temporarily stored in RAM 203, and the document file is temporarily stored in HDD 204.
[0137] Although application A 404 performs the processing prior to step S1405, blockchain application 406 performs the processing in step S1406. In step S1406, blockchain application 406 obtains transaction 601, which stores the ID of the document information saved in RAM 203 in document identification information 603. The following will refer to... Figure 17 Describe the acquisition and processing.
[0138] Application A 404 transmits credential information A 408 to blockchain application 406. Blockchain application 406 uses credential information A 408 to verify whether the authorized application has performed a series of processes related to obtaining electronic documents.
[0139] In step S1407, application A404 determines whether the corresponding transaction information was obtained in step S1406. If no transaction information exists, the process proceeds to step S1410 because the information is not managed in the blockchain device 111. If transaction information exists, the process proceeds to step S1408.
[0140] In step S1408, application A 404 calculates a hash value based on the document data stored in HDD 204. In step S1409, application A 404 determines whether the calculated hash value is equal to the document hash value 602 in the transaction information obtained in step S1406. If the calculated hash value is not equal to the document hash value 602 in the transaction information, the process proceeds to step S1411 because the document file stored in the document management device 103 is invalid data. If the calculated hash value is equal to the document hash value 602 in the transaction information, the process proceeds to step S1410.
[0141] In step S1410, application A 404 moves the document data temporarily stored in HDD 204 in step S1405 to the correct storage location in HDD 204. Although the document data is stored in HDD 204 in the image forming apparatus 101 in the first embodiment, the path to the storage location can be specified on the document storage / printing screen 1100, and the document data can be stored in the specified location.
[0142] In step S1411, when in Figure 14 If access is not permitted in the flowchart, an error message A404 is displayed. Specifically, an error dialog box (not shown) is displayed on the screen. At this time, the document file temporarily stored in HDD 204 is deleted.
[0143] Figure 15 This is a flowchart of the process of printing an electronic document from the image forming apparatus 101 and storing it in the document management apparatus 103. Although the first embodiment describes the case where the user uses the image forming apparatus 101 via the control unit 200, the user can also use the image forming apparatus 101 via a web browser on the PC 102. The flowchart begins when the login button 703 on the authentication screen 700 is touched. First, the user authentication processor 402 is executed in the CPU.
[0144] At the start of the process in the flowchart, the username and password entered by the user of the image forming apparatus 101 on the authentication screen 700 are transmitted to the user authentication processor 402. In step S1501, the user authentication processor 402 accepts the username and password as a login request. In step S1502, the user authentication processor 402 confirms whether the received username and password match the username and password in the user information table in Table 1. If the username and password match the username and password in the user information table in Table 1, the user authentication processor 402 assumes that the user authentication is successful and proceeds to step S1503. If the username and password do not match the username and password in the user information table in Table 1, the user authentication processor 402 assumes that the user authentication has failed and proceeds to step S1515.
[0145] In step S1503, the user authentication processor 402 saves the username accepted in step S1501 as the user of the currently logged-in image forming apparatus 101 in RAM 203 as a login process. Then, the user authentication processor 402 passes the processing to the local UI controller 400. The local UI controller 400, taking over the processing, displays a function selection screen 900 in the operation unit 209. In subsequent processing of this flowchart, when the user touches the registration document save / print button on the function selection screen 900, application A 404 is executed in 201. Application A 404, taking over the processing, displays a registration document save / print screen 1100 in the operation unit 209.
[0146] In step S1504, application A 404 is displayed in operation unit 209 via operation unit I / F 205. Figure 11A The registration document save / print screen 1100 is shown, and the system waits for the print button 1102 to be touched. When the print button 1102 is touched, the process proceeds to step S1505. In step S1505, application A 404 acquires the electronic document selected from the document selection list 1101 on the registration document save / print screen 1100 from the image forming apparatus 101. Document information about the acquired electronic document is temporarily stored in RAM 203, and the document file is temporarily stored in HDD 204.
[0147] Although application A 404 performs the processing prior to step S1505, blockchain application 406 performs the processing in step S1506. In step S1506, blockchain application 406 obtains transaction 601, which stores the ID of the document information saved in RAM 203 in document identification information 603. The following will refer to... Figure 17 Describe the acquisition and processing.
[0148] Application A 404 transmits credential information A 408 to blockchain application 406. Blockchain application 406 uses credential information A 408 to verify whether the authorized application has performed a series of processes related to obtaining electronic documents.
[0149] In step S1507, application A404 determines whether the corresponding transaction was obtained in step S1506. If no transaction information exists, the process proceeds to step S1508 because the document is not managed in blockchain device 111. If transaction information exists, the process proceeds to step S1509.
[0150] In step S1508, application A 404 prints the document data stored in HDD 204 using printer 210 via printer I / F 206 in image forming apparatus 101. In step S1509, application A 404 calculates a hash value based on the document data stored in HDD 204. In step S1510, application A 404 determines whether the calculated hash value is equal to the document hash value 602 in the transaction information obtained in step S1506. If the calculated hash value is not equal to the document hash value 602 in the transaction information, the process proceeds to step S1515 for error display because the document file stored in document management device 103 is invalid data. If the calculated hash value is equal to the document hash value 602 in the transaction information, the process proceeds to step S1511.
[0151] In step S1511, A 404 is used to calculate the hash value to be set in the printed document. The calculation is performed using the document hash value 602 from the transaction information obtained in step S1506, the voucher information C 407 from the image forming apparatus 101 being processed, and the date and time information from the image forming apparatus at the time of step S1507.
[0152] In step S1512, A 404 is applied to the file to be printed in step S1513, setting the hash value representing the printout calculated in step S1511 and the document hash value 602 representing the original image in the transaction information. In the verification described below, the hash value is set in a format readable during the scanning and printing process. The hash value can be set as information that can be determined on the printout as a two-dimensional barcode, or it can be embedded as invisible information.
[0153] In step S1513, application A 404 prints a document file with a hash value set using printer 210 via printer I / F 206 in image forming apparatus 101. While application A 404 performs the processing prior to step S1513, blockchain application 406 performs the processing in step S1514. In step S1514, blockchain application 406 registers information about the printing process in blockchain device 111. The following will refer to... Figure 17 The registration process will now be described. The values specified in transaction 601 used for registration will be described.
[0154] The hash value of the printed document calculated in step S1511 is designated as document hash value 602. The ID representing the electronic document, received as an argument, is designated as document identification information 603. The hash value of the credential information C 407 in the printed image forming apparatus 101 is designated as registration device identification information 604. The date and time information when the hash value was calculated in step S1511 is designated as document registration date and time 605. The hash value of the username used to log in to the printed image forming apparatus 101 is designated as document registrant 606. The document hash value 602 representing the original image in the transaction information obtained in step S1506 is designated as original document hash value 607.
[0155] Application A 404 transmits credential information A 408 to blockchain application 406. Blockchain application 406 uses credential information A 408 to verify whether the authorized application has performed a series of processes related to obtaining electronic documents. In step S1515, when in Figure 15 When printing is not allowed in the flowchart, an error message A404 is displayed. Specifically, an error dialog box (not shown) is displayed on the screen.
[0156] Figure 16 This is a flowchart illustrating the process of verifying a user-specified document file or a printed paper document from the image forming apparatus 101. The flowchart is displayed on a touch screen. Figure 7A and Figure 7B The process begins when the login button 703 on the authentication screen 700 or the guest login button 711 on the authentication screen 710 of the image forming apparatus 101 shown is pressed. First, the user authentication processor 402 is executed in the CPU 201. At the start of the process in the flowchart, the username and password entered by the user of the image forming apparatus 101 on the authentication screen 700 are passed to the user authentication processor 402.
[0157] In step S1601, the user authentication processor 402 accepts the username and password as a login request. In step S1602, the user authentication processor 402 verifies whether the received username and password match the username and password in the user information table in Table 1. If the username and password match the username and password in the user information table in Table 1, the user authentication processor 402 assumes successful user authentication and proceeds to step S1603. If the username and password do not match the username and password in the user information table in Table 1, the user authentication processor 402 assumes user authentication failed and proceeds to step S1614.
[0158] In step S1603, the user authentication processor 402 stores the username accepted in step S1601 as the user of the currently logged-in image forming apparatus 101 in RAM 203 as a login process. Then, the user authentication processor 402 passes the processing to the local UI controller 400. The local UI controller 400, taking over the processing, displays a function selection screen 900 in the operation unit 209. In subsequent processing of this flowchart, when the user touches the document verification button on the function selection screen 900, application A 404 is executed in the CPU 201. Application A 404, taking over the processing, displays a verification screen 1200 in the operation unit 209.
[0159] In step S1604, application A 404 is displayed in operation unit 209 via operation unit I / F 205. Figure 12A The verification screen 1200 is shown, and the system waits for the verification button 1203 to be touched. When the verification button 1203 is touched, the process proceeds to step S1605. In step S1605, application A 404 determines whether the target document is paper data based on the value of document selection setting 1201 received at the start of the process. If the target document is paper data, the process proceeds to step S1607; if the target document is electronic data, the process proceeds to step S1606.
[0160] In step S1606, A 404 is used to identify selected electronic data in HDD 204 and calculate the hash value of the electronic data. The hash value represents the document to be verified and is used for the verification process in step S1611. In step S1607, A 404 is used to scan the paper document set in the image forming apparatus 101. During scanning, the paper document is read by scanner 211 via scanner I / F 207 to generate image data.
[0161] In step S1608, application A 404 creates an electronic document based on the image data generated by scanner 211, and temporarily stores the electronic document as electronic data in HDD 204. Figure 16 After the flowchart in step S1609 terminates, the temporary data is deleted. In step S1609, application A 404 retrieves the hash value embedded in the electronic data stored in HDD 204 in step S1608. Here, the retrieval is performed in accordance with the above reference. Figure 15 The process of matching hash values in step S1512 of the described printing flowchart.
[0162] In step S1610, application A 404 determines whether a hash value has been obtained from the electronic data. If a hash value has been obtained, the process proceeds to step S1611. If no hash value has been obtained, the process proceeds to step S1614 because verification is unavailable. Although application A 404 performs the processing prior to step S1610, blockchain application 406 performs the processing in step S1611.
[0163] In step S1611, blockchain application 406 uses the transaction information recorded on blockchain device 111 to perform document verification processing. The following will refer to... Figure 17 Describe the document verification process. In the document verification process, the document verification, the document hash value calculated in step S1606 or obtained in step S1609, and the credential information A 408 are passed as the processing type.
[0164] Upon receiving a response to the request processing result, in step S1612, application A 404 determines the verification result. If verification is successful, in step S1613, application A 404 displays a standard dialog box (not shown) including a message indicating, for example, verification success. If verification fails, in step S1614, application A 404 displays a standard dialog box (not shown) including a message indicating verification failure or verification unavailable. After displaying each message, Figure 16 The flowchart in the dialog box terminates when the user issues a command to close the dialog box.
[0165] Figure 17 This is a flowchart illustrating the transaction processing from the blockchain application 406 in the image forming apparatus 101 to the blockchain device 111. Figures 13 to 16 During step A 404, blockchain application 406 initiates and performs the processing in this flowchart.
[0166] At the start of processing in the flowchart, application A 404 passes the processing type from blockchain device 111 and the information required for each processing type. The information required for each processing type is transaction 601 in transaction registration, document hash value 602 to be verified in document verification, and document identification information 603 in transaction acquisition.
[0167] In step S1701, blockchain application 406 transmits credential information C 407 and credential information A 408 to blockchain device 111 to verify whether credential information C 407 and credential information A 408 are valid credential information. Information obtained from credential information manager 410 when blockchain application 406 starts is used as credential information C 407, while information obtained from application A 404 is used as credential information A 408.
[0168] In step S1702, the blockchain application 406 determines whether the credential information confirmed in step S1701 is valid. When determining whether the credential information is valid, if the credential information is a digital certificate, the blockchain application 406 performs certificate verification, and if the verification is successful, the credential information is determined to be valid. If the credential information is a predetermined data value, and the value of the credential information equals the predetermined data value, the blockchain application 406 determines the credential information to be valid. If the credential information is valid, the process proceeds to step S1703 because access to the blockchain device 111 is available. If the credential information is not valid, the process proceeds to step S1704.
[0169] In step S1703, the blockchain application 406 determines the received processing type. If the processing type is transaction registration, the process proceeds to step S1705; if the processing type is transaction acquisition, it proceeds to step S1710; and if the processing type is document verification, it proceeds to step S1713.
[0170] In step S1704, the blockchain application 406 generates an error message indicating that access permissions to the blockchain device 111 are not satisfied during the processing of the flowchart.
[0171] In step S1705, the blockchain application 406 confirms the existence of all transaction information received at the start of processing. The blockchain application 406 searches the blockchain device 111 to confirm whether the document hash value 602 has not been registered in the blockchain device 111 and whether the original document hash value 607 has been registered in the blockchain device 111. If all transaction information is missing or the hash value is not in a correct state, the transaction information is invalid. In step S1706, the blockchain application 406 determines the confirmation result. If the transaction information is valid, the process proceeds to step S1707; otherwise, the process proceeds to step S1709 for error handling.
[0172] In step S1707, blockchain application 406 requests blockchain device 111 to register and confirm transaction 601. In this step, success or failure is received from blockchain device 111 as the result of the registration process.
[0173] In step S1708, the blockchain application 406 determines the processing result from the blockchain device 111. If the processing result is a failure, the process proceeds to step S1709 for error handling; if the processing result is a success, the process proceeds to step S1719 for result notification. In step S1709, the blockchain application 406 generates an error message indicating that transaction registration is unavailable during the flowchart processing.
[0174] In step S1710, blockchain application 406 searches for the following transaction in blockchain device 111 to obtain the transaction: retaining the document identification number received at the start of processing. In step S1711, blockchain application 406 determines the search result. If no transaction data is obtained, the process proceeds to step S1712 for error handling because the target document is not registered in blockchain device 111. If transaction data is obtained, the process proceeds to step S1719. In step S1712, blockchain application 406 generates an error message indicating that the transaction acquisition failed during the flowchart processing.
[0175] In step S1713, the blockchain application 406 searches for the following transaction in the blockchain device 111 to obtain the transaction: the hash value received at the start of processing is retained as the document hash value. In step S1714, the blockchain application 406 determines the search result. If transaction data is obtained, the blockchain application 406 determines the hash value to be a valid hash value, and the process proceeds to step S1715. If no transaction data is obtained, the blockchain application 406 determines the hash value to be an invalid hash value, and the process proceeds to step S1718 for error handling.
[0176] In step S1715, the blockchain application 406 determines whether the transaction obtained in step S1713 has an original document hash value. If the transaction does not have an original document hash value, the verification process terminates and proceeds to step S1719 because the hash value confirmed in step S1713 indicates the first document. If the transaction has an original document hash value, the process proceeds to step S1716 because the existence of the original document needs to be confirmed.
[0177] In step S1716, the blockchain application 406 designates document verification as the processing type and specifies the original document hash value as the processing type. Figure 17 The flowchart in the process requires information for recursion. In step S1717, the blockchain application 406 determines the recursion result. If the verification of the original document is successful, the process proceeds to step S1719. If the verification fails, the process proceeds to step S1718 for error handling. In step S1718, the blockchain application 406 generates an error message indicating that the document verification failed in the process of the flowchart.
[0178] In step S1719, as information for successful processing of each processing type, the blockchain application 406 will notify the source processing of the registration completion status in the transaction registration case and the verification success status in the file verification case. The blockchain application 406 will also notify the source processing of the transaction information obtained in the transaction acquisition case and the error information in the error handling case.
[0179] In the first embodiment, the above-described method enables many users and / or many devices to use the blockchain service based on user login and role-based permission confirmation.
[0180] [Other Embodiments]
[0181] This invention can be implemented by providing a program that implements one or more functions of the above embodiments to a system or device via a network or storage medium, and having the program read and executed by one or more processors in a computer within the system or device. This invention can also be implemented by a circuit (e.g., an application-specific integrated circuit (ASIC)) that implements one or more functions.
[0182] This invention is not limited to the embodiments described above, and various changes and modifications can be made without departing from the spirit and scope of the invention. Therefore, the appended claims are intended to disclose the scope of the invention.
[0183] This application claims the benefit of Japanese Patent Application No. 2019-133579, filed on July 19, 2019, the entire contents of which are incorporated herein by reference.
Claims
1. An information processing apparatus, the information processing apparatus collaborating with a management service and a blockchain service, the management service receiving and storing electronic data via a network, the blockchain service managing information about the stored electronic data in units of blocks and managing multiple blocks across multiple nodes by defining the association between each block and the blocks preceding and following it, the information processing apparatus comprising: A storage unit that associates authentication information used for user authentication with role information indicating the permissions granted to the user; The login unit performs authentication processing upon receiving the authentication information, and enables the authenticated user to log in to the information processing device and use the functions of the information processing device based on the confirmed role information. as well as A collaborative unit provides information about the stored electronic data to the blockchain service. Specifically, if the confirmed role information includes role information indicating the availability of functions for collaborating with the blockchain service, the authenticated user is allowed to use the collaboration unit to provide information about stored electronic data to the blockchain service. When the printing application receives an instruction from the authenticated user to print the electronic data stored in the management service, the collaboration unit obtains information about the electronic data registered in the blockchain service. After the collaboration unit obtains the information about the electronic data, the printing application prints the electronic data. If the confirmed role information includes role information indicating that the function of collaborating with the blockchain service is unavailable, the authenticated user is not allowed to use the collaboration unit.
2. The information processing apparatus according to claim 1, further comprising an application that transmits the electronic data to the management service via the network and does not directly communicate with the blockchain service. in, When the application receives an instruction from the authenticated user to use the blockchain service, the application transmits the electronic data to the management service via the network and transmits information about the electronic data to the collaborating unit.
3. The information processing device according to claim 2, in, The application provides the screen information where the user accepts the instruction to use the scanning function of the information processing device to the remote user interface or the local user interface, and, if it determines that the authenticated user is allowed to use the collaborative unit, in addition to the instruction to use the scanning function, it also provides the screen information where the user accepts the instruction to use the blockchain service or the instruction not to use the blockchain service.
4. The information processing apparatus according to any one of claims 1 to 3, wherein, The printing application receives and prints electronic data from the management service via the network and does not communicate directly with the blockchain service.
5. The information processing device according to claim 4, in, The login unit supports guest login, allowing the user to log in to the information processing device without authentication, and assigns role information indicating that the function of cooperating with the blockchain service is unavailable to the user who logs in to the information processing device as a guest.
6. The information processing apparatus according to claim 5, in, The collaborating unit obtains credential information indicating permission to collaborate with the blockchain service, and In this scenario, the credential information is not provided to the user of another information processing device, and the other information processing device transmits instructions to the information processing device via a remote user interface to use the blockchain service.
7. A computer-readable storage medium storing a program for causing a computer to perform a method of controlling an information processing device, the information processing device cooperating with a management service and a blockchain service, the management service receiving and storing electronic data via a network, and the blockchain service managing information about the stored electronic data in units of blocks and managing multiple blocks in multiple nodes by defining the association between each block and the blocks before and after it, the method comprising: The storage step involves storing the authentication information used for user authentication in association with role information indicating the permissions granted to the user; The login process involves performing authentication upon receiving the authentication information, and enabling the authenticated user to log in to the information processing device and use its functions based on the confirmed role information. as well as The collaborative step involves providing information about the stored electronic data to the blockchain service. Specifically, if the confirmed role information includes role information indicating that the function of collaborating with the blockchain service is available, the authenticated user is allowed to use the collaboration step to provide information about the stored electronic data to the blockchain service. When the printing application receives an instruction from the authenticated user to print the electronic data stored in the management service, the collaboration step obtains information about the electronic data registered in the blockchain service. After the collaboration step obtains the information about the electronic data, the printing application prints the electronic data. Conversely, if the confirmed role information includes role information indicating that the function of collaborating with the blockchain service is unavailable, the authenticated user is not allowed to use the collaboration step.
8. The storage medium according to claim 7, in, The information processing device includes an application that transmits the electronic data to the management service via the network but does not communicate directly with the blockchain service. Specifically, when the application receives an instruction from the authenticated user to use the blockchain service, the application transmits the electronic data to the management service via the network and transmits information about the electronic data to the collaboration step.
9. The storage medium according to claim 8, in, The application provides the screen information where the user accepts the instruction to use the scanning function of the information processing device to the remote user interface or the local user interface, and, if it determines that the authenticated user is allowed to use the collaborative steps, in addition to the instruction to use the scanning function, it also provides the screen information where the user accepts the instruction to use the blockchain service or the instruction not to use the blockchain service.
10. The storage medium according to any one of claims 7 to 9, in, The information processing device includes a printing application that receives and prints electronic data from the management service via the network and does not communicate directly with the blockchain service. Specifically, when the printing application receives an instruction from the authenticated user to print the electronic data stored in the management service, the collaboration step obtains information about the electronic data registered in the blockchain service, and after the collaboration step obtains the information about the electronic data, the printing application prints the electronic data.
11. The storage medium according to claim 10, in, The login step supports guest login, allowing the user to log in to the information processing device without authentication, and assigns role information indicating that the function of cooperating with the blockchain service is unavailable to the user who logs in to the information processing device as a guest.
12. The storage medium according to claim 11, in, The collaboration step obtains credential information indicating permission to collaborate with the blockchain service, and In this scenario, the credential information is not provided to the user of another information processing device, and the other information processing device transmits instructions to the information processing device via a remote user interface to use the blockchain service.
13. A method for controlling an information processing device, the information processing device cooperating with a management service and a blockchain service, the management service receiving and storing electronic data via a network, and the blockchain service managing information about the stored electronic data in units of blocks and managing multiple blocks across multiple nodes by defining the association between each block and the blocks preceding and following it, the method comprising: The storage step involves storing the authentication information used for user authentication in association with role information indicating the permissions granted to the user; The login process involves performing authentication upon receiving the authentication information, and enabling the authenticated user to log in to the information processing device and use its functions based on the confirmed role information. as well as The collaborative step involves providing information about the stored electronic data to the blockchain service. Specifically, if the confirmed role information includes role information indicating the availability of functions for collaborating with the blockchain service, the authenticated user uses the collaboration step to provide information about the stored electronic data to the blockchain service. When the printing application receives an instruction from the authenticated user to print the electronic data stored in the management service, the collaboration step obtains information about the electronic data registered in the blockchain service. After obtaining this information, the printing application prints the electronic data. If the verified role information includes role information indicating that the function of collaborating with the blockchain service is unavailable, the authenticated user will not use the collaboration step.