WO2021014863A1 - 情報処理装置、制御方法、プログラム - Google Patents

情報処理装置、制御方法、プログラム Download PDF

Info

Publication number
WO2021014863A1
WO2021014863A1 PCT/JP2020/024578 JP2020024578W WO2021014863A1 WO 2021014863 A1 WO2021014863 A1 WO 2021014863A1 JP 2020024578 W JP2020024578 W JP 2020024578W WO 2021014863 A1 WO2021014863 A1 WO 2021014863A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
user
document
blockchain
electronic data
Prior art date
Application number
PCT/JP2020/024578
Other languages
English (en)
French (fr)
Inventor
幹彦 亀川
佐藤 圭
Original Assignee
キヤノン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by キヤノン株式会社 filed Critical キヤノン株式会社
Priority to CN202080052299.9A priority Critical patent/CN114127725A/zh
Publication of WO2021014863A1 publication Critical patent/WO2021014863A1/ja
Priority to US17/576,847 priority patent/US11843751B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • H04N1/4406Restricting access, e.g. according to user identity
    • H04N1/4413Restricting access, e.g. according to user identity involving the use of passwords, ID codes or the like, e.g. PIN
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • H04N1/4406Restricting access, e.g. according to user identity
    • H04N1/4433Restricting access, e.g. according to user identity to an apparatus, part of an apparatus or an apparatus function

Definitions

  • the present invention relates to an information processing device, a control method, and a program corresponding to record falsification of electronic data using a blockchain.
  • An object of the present invention is to provide an information processing device that cooperates with a blockchain service, and by confirming that the information processing device authenticates a user and assigns a specific role to the user, a large number of users and / or Have the device use the blockchain service. That is, the information processing device functions as a hub device for the blockchain service.
  • the information processing apparatus has a management service that receives and stores electronic data via a network, and manages the stored information related to the electronic data in block units, and before and / for each block.
  • a management service that receives and stores electronic data via a network, and manages the stored information related to the electronic data in block units, and before and / for each block.
  • it is an information processing device that cooperates with a blockchain service that manages multiple blocks with multiple nodes after defining the relationship with later blocks, and the authentication information used for user authentication and the authority given to the user.
  • the information processing is performed according to the confirmed role information by executing the authentication process and logging in the authenticated user in response to the receipt of the authentication information and the storage means for storing the role information indicating It has a login means for using the function of the device and a linking means for providing the stored information about the electronic data to the blockchain service, and cooperates with the blockchain service in the confirmed role information. If it is confirmed that the role information indicating that the function can be used is included, the authenticated user is permitted to use the linking means, and the role information indicating that the function linked with the blockchain service cannot be used. When it is confirmed that the data is included, the authenticated user is not permitted to use the cooperation means.
  • FIG. 1 is an overall view of a system associated with the image forming apparatus 101.
  • the image forming apparatus 101, the PC 102, and the document management apparatus 103 are connected to the LAN 100 and exist in the intranet, and communicate with the blockchain apparatus 111 via the Internet 110.
  • the PC 102 is used for managing the image forming apparatus 101 using a web browser and printing from the image forming apparatus 101 using a print driver.
  • the blockchain device 111 is a device that collectively manages information related to electronic documents generated by the image forming device 101 or PC 102 in block units, and is a device that provides a blockchain service for guaranteeing the validity of documents.
  • the document management device 103 is a device that stores electronic documents generated by the image forming device 101 or the PC 102, and provides a document management service.
  • FIG. 2 is a block diagram showing a hardware configuration of the image forming apparatus 101.
  • the control unit 200 including the CPU 201, which is a Central Processing Unit, controls the operation of the entire image forming apparatus 101.
  • the CPU 201 reads a control program stored in the ROM 202, which is a Read Only Memory, and performs various controls such as read control and transmission control.
  • the RAM 203 which is a Random Access Memory, is used as a temporary storage area such as a main memory and a work area of the CPU 201.
  • the HDD 204 which is a Hard Disk Drive, stores image data, various programs, or various data described later.
  • the image forming apparatus 101 has a hardware configuration as an information processing apparatus, and further has the following hardware configuration.
  • the operation unit I / F 205 connects the operation unit 209 and the control unit 200.
  • the printer I / F 206 connects the printer 210 and the control unit 200.
  • the image data to be printed by the printer 210 is transferred from the control unit 200 via the printer I / F 206, and is printed on the recording medium by the printer 210.
  • the scanner I / F 207 connects the scanner 211 and the control unit 200.
  • the scanner 211 reads the image on the document, generates image data, and inputs the image data to the control unit 200 via the scanner I / F 207.
  • the network I / F 208 connects the control unit 200 (image forming device 101) to the LAN 100.
  • the network I / F 208 transmits image data and information to an external device on the LAN 100, and receives various information from the external device on the LAN 100.
  • FIG. 3 is a block diagram showing the hardware configurations of the computers of the PC 102 and the document management device 103.
  • the CPU 302 controls the entire device.
  • the CPU 302 executes an application program, an OS, or the like stored in the HDD 305, and controls the RAM 303 to temporarily store information, files, or the like necessary for executing the program.
  • the ROM 304 is a storage means, and internally stores various data such as a basic I / O program.
  • the RAM 303 is a temporary storage means, and functions as a main memory, a work area, and the like of the CPU 302.
  • the HDD 305 is one of the external storage means, functions as a large-capacity memory, and stores application programs such as office applications and Web browsers, an OS, and related programs.
  • the display 306 is a display means, and displays a command or the like input from the keyboard / mouse 307 which is an instruction input means.
  • the interface 308 is an external device I / F and connects a printer, a USB device, and a peripheral device.
  • the system bus 301 controls the flow of data in the device.
  • the network interface card (hereinafter referred to as NIC) 309 exchanges data with an external device via the LAN 100.
  • the configuration of the information processing device is an example thereof, and is not limited to the configuration examples of FIGS. 2 and 3.
  • the storage destination of data or programs can be changed in ROM 304, RAM 303, HDD 305, or the like according to the characteristics.
  • various processes are realized by loading the program stored in the ROM 304 or the like into the RAM 303 or the like and executing the program in the CPU 302.
  • FIG. 4 is a block diagram showing a software configuration related to the present invention in the image forming apparatus 101.
  • each processing unit is a control program stored in the ROM 202.
  • the local UI control unit 400 provides a function of controlling the operation unit 209 via the operation unit I / F 205.
  • the local UI control unit 400 notifies the user authentication processing unit 402 and the application of the content operated by the user in the operation unit 209.
  • the local UI control unit 400 displays the function selection screen 900 on the operation unit 209.
  • An example of the function selection screen 900 is shown in FIG. 9A.
  • the local UI control unit 400 receives a screen display request from the user authentication processing unit 402 or the application, and controls the operation unit 209 to display the screen.
  • the user authentication processing unit 402 and the application A404 display a screen on the operation unit 209 via the local UI control unit 400.
  • the remote UI control unit 401 provides a web page to the web brother on the PC 102 via the network I / F 208.
  • the remote UI control unit 401 notifies the user authentication processing unit 402 and the application of the content operated by the user with the web browser.
  • the remote UI control unit 401 displays the function selection screen 910 on the web brother on the PC 102.
  • An example of the function selection screen 910 is shown in FIG. 9B.
  • the remote UI control unit 401 controls to display a web page on a web browser in response to a request from the user authentication processing unit 402 or an application.
  • the user authentication processing unit 402, application A404, and application B405 display a web page on a web browser via the remote UI control unit 401.
  • the user authentication processing unit 402 provides a function for authenticating a user who uses the image forming apparatus 101. Therefore, the user authentication processing unit 402 displays the authentication screen 700 (screen examples are shown in FIGS. 7A and 7B) on the operation unit 209.
  • the user authentication processing unit 402 receives authentication information such as input of a user name and password from the user via the authentication screen 700, and performs user authentication by comparing with the user information held in the user information DB 403. ..
  • the user information DB 403 provides a function of holding user information which is information about a user who uses the image forming apparatus 101.
  • the user information DB 403 is constructed in the HDD 204, and the stored information is stored in the HDD 204.
  • Tables 1 and 2 show examples of information stored in the user information DB 403.
  • the user information table in Table 1 is composed of a "user name”, a "password”, and a “role”, and the authentication information and the role are associated with each other.
  • the "user name” is a name for uniquely identifying a user.
  • the "password” is a password used for user authentication, and an arbitrary value can be set for each user.
  • the “roll” refers to the authority to use the image forming apparatus 101 given to the user of the image forming apparatus 101, and in this embodiment, there are three, Administrator, General User, and Guest User.
  • the Administrator is a role assigned to the administrator user of the image forming apparatus 101
  • the General User is a role assigned to a general user who uses the image forming apparatus 101.
  • the Guest User is a role assigned to a user who wants to limit the functions that can be used, and is a role assigned when the user uses the function without registering authentication information such as a user name and password in the user information DB 403. Since the functions that can be used are determined according to the value of the "role" of the logged-in user, the use of the functions of the image forming apparatus 101 can be restricted for each role.
  • the role information table in Table 2 is composed of "role”, “copy”, “send”, “save”, “BC registration”, “BC save / print”, and “BC verification”.
  • "Copy”, “Send”, “Save”, “BC registration”, “BC save / print”, and “BC verification” represent each function of the image forming apparatus 101, and their values are for each role. Indicates whether the use of the function is permitted or prohibited.
  • "Copy”, “Send”, and “Save” represent the authority for the copy function, the scan function for transmitting the scanned document to the PC 102, and the function for saving the scanned electronic document in the HDD 204.
  • BC registration represents the authority for the function of registering document information in the blockchain device 111.
  • BC save / print gives authority to the function of saving or printing the document stored in the document management device 103 associated with the document information registered in the blockchain device 111 in the image forming device 101.
  • BC verification represents the authority for the function of verifying whether or not the document is a formal document based on the document information registered in the blockchain device 111.
  • the application of the image forming apparatus 101 limits each function according to the authority of the role of the role information table corresponding to the role of the logged-in user.
  • a role such as Administrator is prepared from the viewpoint of the authority level of the user.
  • a roll called "BC roll”, or more specifically, a dedicated roll for using the blockchain service such as "BC registration roll” and "BC save / print roll” may be prepared.
  • the application A404 provides a function of converting a scanned document into an electronic document and registering the document information in the blockchain device 111 and the document in the document management device 103 via the blockchain application 406.
  • the application A404 provides a function of receiving the registered document and printing it via the printer I / F 206.
  • the application A404 transmits scan data to an external device by controlling the scanner 211 via the scanner I / F207 or transmitting data to the LAN 100 via the network I / F208.
  • Application A404 provides screen information to the local UI control unit 400 and the remote UI control unit 401.
  • Application A404 receives input to the screen displayed on the operation unit 209 via the local UI control unit 400, and performs processing accordingly.
  • the application A404 displays the registration screen 1000, the registration document save / print screen 1100, and the verification screen 1200 on the operation unit 209.
  • An example of the registration screen 1000 is shown in FIG. 10A
  • an example of the registration document saving / printing screen 1100 is shown in FIG. 11A
  • an example of the verification screen 1200 is shown in FIG. 12A.
  • the application A404 receives the input from the web brother on the PC 102 via the remote UI control unit 401, and performs processing accordingly.
  • the application A404 displays the registration screen 1020, the registration document save / print screen 1110, and the verification screen 1210 on the Web Brother on the PC 102.
  • An example of the registration screen 1020 is shown in FIG. 10C
  • an example of the registration document save / print screen 1110 is shown in FIG. 11B
  • an example of the verification screen 1210 is shown in FIG. 12B.
  • a scanning application for registering a document and a printing application for printing can be considered.
  • Application B405 provides a function of converting a scanned document into an electronic document in the same manner as application A404, registering document information in the blockchain device 111 via the blockchain application 406, and registering the document in the document management device 103.
  • Application B405 provides screen information to the remote UI control unit 401.
  • the application A404 supports input / output from both the local UI and the remote UI via the local UI control unit 400 and the remote UI control unit 401, except that the application B405 supports input / output only from the remote UI.
  • the application A404 and the application B405 do not directly communicate with the blockchain device 111.
  • the blockchain application 406 is an application for linking with the blockchain, and provides a function of registering, acquiring, and verifying document information in the blockchain device 111 in response to instructions from application A404 and application B405.
  • An example of the data structure of the transaction 601 and the block registered by the blockchain application 406 in the blockchain device 111 is shown in FIG. 6, but the details will be described later.
  • the blockchain application 406 also receives the credential information from the credential information management unit 410 when receiving an instruction from the application to the blockchain device 111.
  • the blockchain application 406 verifies the received credential information and executes processing on the blockchain device 111 only when the verification is successful.
  • the credential information A408 is credential information for ensuring that the application A404 is a legitimate application that uses the blockchain device 111.
  • the credential information A408 is issued to an application that has been verified to perform correct processing, and the application is mounted on the image forming apparatus 101 with the credential information incorporated.
  • the credential information B409 is credential information for ensuring that the application B405 is a legitimate application that uses the blockchain device 111. It is mounted on the image forming apparatus 101 in the same manner as the credential information A408.
  • the credential information C407 is credential information for ensuring that the image forming apparatus 101 is a legitimate apparatus using the blockchain apparatus 111.
  • the credential information C407 may be issued by, for example, the organization that operates this system for each manufacturer of the device.
  • the credential information C407 may be shipped in a state of being incorporated in the firmware of the image forming apparatus 101, or may be installed in the image forming apparatus 101 after shipment.
  • the credential information may be a digital certificate, a key pair of a private key and a public key, or a predetermined data value, and there is no limitation on the actual state of the credential information.
  • the credential information may be different for each application.
  • the credential information management unit 410 provides a function of managing the credential information in the image forming apparatus 101.
  • the credential information management unit 410 receives the instruction from the blockchain application 406 and passes the credential information C407 to the blockchain application 406.
  • the PC 102 cooperates with the blockchain device 111 by passing through the image forming device 101, but the credential information management unit 410 is configured not to provide the credential information C407 to the PC 102.
  • the user of the PC 102 is permitted to use the blockchain application 406 based on the role confirmed by the image forming device 101, so that the PC 102 has a trust relationship with the blockchain device 111 in advance. You don't have to tie it.
  • FIG. 5 is a block diagram showing a software configuration related to the present invention in the document management device 103.
  • the electronic document managed by the document management device 103 is composed of a document file stored in the file holding unit 501 and information representing a document stored in the document information holding unit 502.
  • the data stored in the document information holding unit 502 is the information described in the document information table of Table 3.
  • the document information table in Table 3 is composed of "ID”, "document name”, "registration date and time”, and "file path”.
  • the "ID” is identification information for uniquely managing an electronic document.
  • the "document name” is a name given to the user to identify the electronic document. This document name may be duplicated in a plurality of electronic documents.
  • the "registration date and time” is the date and time when the electronic document is saved in the document management device 103.
  • the "file path” represents the position where the document file stored in the file holding unit 501 is stored. In this embodiment, it is shown as a path on the file system, but it does not have to be a path as long as it is information that uniquely represents the storage location.
  • the electronic document processing unit 503 has a function for accessing the file holding unit 501 and the document information holding unit 502 and controlling processing such as registration and acquisition of electronic documents and acquisition of a list.
  • the processing in the electronic document processing unit 503 is executed by being activated from the electronic document transmission / reception unit 504 that receives a request for input / output processing regarding an electronic document from the outside of a document management device 103 such as an image forming device 101 or a PC 102.
  • FIG. 6 is a block diagram showing a transaction 601 held in the blockchain device 111 and a data structure of a block in which a plurality of the transactions are stored.
  • the blockchain device 111 is a device that manages data by a method called a blockchain. This blockchain handles information in units called transactions, and manages the transactions in units called blocks.
  • Each block is configured so that each block keeps a string of beads by defining the relationship with the blocks before and after it.
  • the blockchain is managed by a plurality of computers called nodes, and each node has a decentralized device structure that manages equal block data. Therefore, when falsifying block data, it is necessary to update a plurality of configured nodes, which is known as a data management method having strong tamper resistance.
  • the blockchain device 111 it is a device composed of a plurality of computers as described above, and the blockchain service is provided by these devices.
  • a transaction representing a document is transmitted to the blockchain device 111 during electronic document processing by the image forming apparatus 101, and block management is performed to maintain the correct state of the electronic document. This makes it possible to confirm whether or not the electronic document in the document management device 103 has been tampered with.
  • Transaction 601 representing the processing of registration and output of an electronic document in the document management device 103 includes the following six pieces of information.
  • the document hash value 602 is a hash value calculated to uniquely represent the target electronic document. This document hash value 602 is calculated from the entire document file, and the calculated hash value changes when the electronic document itself is changed. However, it does not limit other calculation methods.
  • the document identification information 603 is information held for associating with an electronic document managed by the document management device 103, and in this embodiment, the ID value in Table 3 is stored.
  • the registered device identification information 604 is information that identifies the image forming apparatus 101 that has registered the document, and stores the hash value of the credential information C407 in this embodiment.
  • the document registration date and time 605 is information indicating the time when the document is registered, and in this embodiment, the values of the registration date and time in Table 3 are stored.
  • the document registrant 606 is information representing a user who has registered a document, and in this embodiment, stores a hash value of a user name of a user who has logged in to the image forming apparatus 101.
  • the management work load of the system administrator can be reduced. It will be possible.
  • the original document hash value 607 is information representing the relationship between documents. This is used to associate the electronic document stored in the document management device 103 with the original electronic document when printing or electronic data storage is performed.
  • the block 611 holds a plurality of transactions 601 (a) to 601 (c) and a hash value 612 of the block calculated from those transactions 601.
  • the number of transactions 601 included in the block is three, but the number of transactions is not limited.
  • the hash value 613 of the previous block for connecting the blocks is held.
  • the hash value of the block of the block 614 is stored in the hash value 613 of the previous block, indicating that the blocks are related.
  • the hash value of the front block is used, but the hash value of the back block may be managed, or the hash value of both the front block and the back block may be managed.
  • the 7A and 7B are screen examples of the authentication screen.
  • the authentication screen 700 of FIG. 7A is a screen for providing a function for the user to perform user authentication in order to use the function of the image forming apparatus 101.
  • the user name input field 701 is a field for the user of the image forming apparatus 101 to input a user name.
  • the password input field 702 is a field for the user of the image forming apparatus 101 to input a password.
  • the login button 703 is a button for executing user authentication.
  • the user authentication processing unit 402 performs user authentication based on the values entered in the user name input field 701 and the password input field 702.
  • the authentication screen (guest login) 710 of FIG. 7B is a screen example of an authentication screen provided with a guest login, and is a screen for providing a function for a user to perform user authentication in order to use the function of the image forming apparatus 101. ..
  • the authentication screen 700 will be described.
  • the guest login button 711 is a button for executing user authentication as a guest user. When the user presses this button, the user authentication processing unit 402 does not authenticate with the user name and password, but permits login. A user who logs in by pressing the guest login button 711 has a user name of Guest and a role of Guest User, and the functions that can be used are restricted according to the authority of the role information table in Table 2. Although detailed description is omitted in this embodiment, which of the authentication screen 700 and the authentication screen (guest login) 710 may be displayed may be switched by the setting of the user authentication processing unit 402.
  • the remote authentication screen 800 of FIG. 8A is a screen for the user to authenticate the user in order to use the function of the image forming apparatus 101 from the web browser on the PC 102.
  • the user name input field 801 is a field for the user of the image forming apparatus 101 to input a user name.
  • the password input field 802 is a field for the user of the image forming apparatus 101 to input a password.
  • Login 803 is a button for executing user authentication. When the user presses this button, the user authentication processing unit 402 performs user authentication based on the values entered in the user name input field 801 and the password input field 802.
  • the remote authentication screen (guest login) 810 of FIG. 8B is a screen for providing a function for performing user authentication in order for the user to use the function of the image forming apparatus 101.
  • guest login guest login
  • Guest login button 811 is a button for executing user authentication as a guest user. When the user presses this button, the user authentication processing unit 402 does not authenticate with the user name and password, but permits login. A user who logs in by pressing the guest login button 811 has a user name of Guest and a role of Guest User, and the functions that can be used are restricted according to the authority of the role information table in Table 2.
  • FIG. 9 is a screen example of a screen for selecting a function to be displayed by the local UI control unit 400 and the remote UI control unit 401.
  • the screen for selecting the function shown in FIG. 9 is a list of the functions mounted on the image forming apparatus 101.
  • the user of the image forming apparatus 101 can use each function mounted on the image forming apparatus 101 by pressing the button displayed on this screen.
  • the function selection screen 900 of FIG. 9A is a screen displayed on the operation unit 209 by the local UI control unit 400 immediately after logging in on the authentication screen 700 or the authentication screen (guest login) 710.
  • the function selection button 901 is a button for using each function of the image forming apparatus 101.
  • the copy button displays a screen that uses the copy function
  • the send button displays a screen that uses the function to send the scanned document to the PC102
  • the save button displays the screen that uses the function to save the scanned electronic document to the HDD 204.
  • Button In the first embodiment, the description of the screen displayed after each button is pressed is omitted, but all of them are the same as before.
  • the registration screen 1000 or the registration screen 1010 is displayed.
  • the registered document save / print button is pressed, the registered document save / print screen 1100 is displayed.
  • the verification button is pressed, the verification screen 1200 is displayed.
  • the logout button 902 is a button for executing the logout process displayed during login. When this button is pressed, the log-out process is executed, and then the authentication screen 700 or the authentication screen (guest login) 710 is displayed.
  • the function selection screen 910 of FIG. 9B is an example of a screen displayed on the web browser on the PC 102 by the remote UI control unit 401 immediately after logging in on the remote authentication screen 800 or the remote authentication screen (guest login) 810.
  • the function selection button 911 is a button for using each function. The description of the screen displayed after the save button is pressed as in the function selection screen 900 will be omitted.
  • the registration button is pressed, the registration screen 1020 or the registration screen 1030 is displayed.
  • the registered document save / print button is pressed, the registered document save / print screen 1110 is displayed.
  • the verification button is pressed, the verification screen 1210 is displayed.
  • the function selection is not limited to this form, and for example, the application A404 may be displayed on the function selection screen 900, and after the application A404 is selected, a function such as registration or printing may be selected.
  • 10A, 10B, 10C, and 10D are screen examples of registration screens displayed by application A404 and application B405.
  • the application A404 displays the screen on the operation unit 209 and the web browser on the PC 102 via the local UI control unit 400 and the remote UI control unit 401
  • the application B405 displays the screen only on the web browser on the PC 102.
  • the application B405 may also display the screen on both the operation unit 209 and the web browser on the PC 102.
  • the registration screen 1000 of FIG. 10A is a screen for providing a function of registering a document in the blockchain device 111 and the document management device 103.
  • the document selection setting 1001 is a setting for selecting a document to be registered from a scanned paper document or a document stored in the image forming apparatus 101, and either a scanned document or a stored document can be selected.
  • the scan setting 1002 is various settings related to scanning.
  • the blockchain button 1003 is a button for selecting whether or not to register the document information in the blockchain device 111. If the blockchain button 1003 is selected, the document information is registered in the blockchain device 111, and if it is not selected, the document information is not registered in the blockchain device 111.
  • the button 1004 to be registered scans the document and generates an electronic document when scanning is selected in the document selection setting 1001. If a saved document is selected, a list of saved documents is displayed, and the document selected by the user is acquired from the list. After that, when the blockchain button 1003 is selected, the electronic document is registered in the document management device 103, and the information of the electronic document is registered in the blockchain device 111. If the blockchain button 1003 is not selected, the electronic document is registered in the document management device 103 and is not registered in the blockchain device 111.
  • the save destination setting 1005 is a setting for specifying in which path of the document management device 103 the document is saved.
  • the registration screen 1010 of FIG. 10B is a screen for providing a function of registering a document in the document management device 103, and is a screen displayed to, for example, a guest logged-in user.
  • the blockchain button 1003 is not displayed on this screen, which is different from the registration screen 1000.
  • the registration screen 1010 of FIG. 10B may be displayed when the user is not assigned a role that can use the blockchain service.
  • the registration screen 1020 of FIG. 10C is a screen for providing a function of registering a document in the blockchain device 111 and the document management device 103, and is an example of a screen displayed on a web browser on the PC 102.
  • the registration screen 1030 of FIG. 10D is a screen for providing a function of registering a document in the document management device 103, and is, for example, a screen displayed on a web browser on the PC 102 for a guest logged-in user.
  • the registration screen 1010 of FIG. 10D may be displayed when the user is not assigned a role that can use the blockchain service.
  • 11A and 11B are screen examples of screens for saving or printing a registered document displayed by application A404.
  • the save / print screen 1100 of the registered document of FIG. 11A is a screen for providing a function of saving or printing a document managed by the blockchain device 111 and the document management device 103.
  • the document selection list 1101 is a list for selecting a document to be saved or printed, and the application A404 displays the document managed by the document management device 103 in the document selection list 1101.
  • the print button 1102 is a button for executing printing of the document selected in the document selection list 1101.
  • the save button 1103 is a button for saving the document selected in the document selection list 1101 in the HDD 204 of the image forming apparatus 101.
  • the save / print screen 1110 of the registered document of FIG. 11B is a screen for providing a function of saving or printing a document managed by the blockchain device 111 and the document management device 103, and is displayed on a web browser on the PC 102. This is an example of the screen to be printed.
  • the verification screen 1200 of FIG. 12A is a screen for providing a function of verifying that the scanned document or the document stored in the image forming apparatus 101 is a formal document by using the blockchain apparatus 111.
  • the document selection setting 1201 is a setting for selecting a document to be verified from a scanned paper document or a document stored in the image forming apparatus 101.
  • the document selection list 1202 is a list for selecting a document to be verified, and is a list of documents stored in the HDD 204.
  • the verification button 1203 is a button that scans the document when scanning is selected in the document selection setting 1201 and then verifies the document using the blockchain device 111. The verification button 1203 verifies the document selected in the document selection list 1202 when the saved document is selected in the document selection setting 1201.
  • the verification screen 1210 of FIG. 12B is a screen for providing a function of verifying that the document stored in the HDD 204 is a formal document by using the blockchain device 111, and is a screen for a web browser on the PC 102. This is an example of the screen to be displayed.
  • FIG. 13 is a flowchart of a process of registering document information in the blockchain device 111 in the image forming device 101.
  • the image forming apparatus 101 may be used via the web browser on the PC 102.
  • This flowchart is activated when the login button 703 is pressed on the authentication screen 700, and first, the user authentication processing unit 402 is executed in the CPU 201.
  • the user name and password entered by the user of the image forming apparatus 101 are passed to the user authentication processing unit 402 from the authentication screen 700.
  • a user name and password are accepted as a login request.
  • step S1302 it is confirmed whether the received user name and password match the user name and password in the user information table in Table 1, and if they match, it is considered that the user authentication has succeeded, and the process proceeds to step S1303. If they do not match, it is considered that the user authentication has failed, and the process proceeds to step S1314.
  • step S1303 the user name received in step S1301 as the currently logged-in user is held in the RAM 203 as the login process, and the process is passed to the local UI control unit 400.
  • the local UI control unit 400 that has taken over the processing displays the function selection screen 900 on the operation unit 209.
  • the document registration button is pressed by the user on the function selection screen 900, and the application A404 executes the subsequent processing on the CPU 201.
  • the application A404 that took over the processing displays a screen that reflects the function restrictions based on the role of the currently logged-in user. Specifically, when the user name of the logged-in user is Guest, BC registration of the corresponding role Guest User is prohibited, so that the document registration function to the blockchain device 111 is restricted.
  • the screen 1010 is displayed on the operation unit 209. If the user name of the logged-in user is other than Guest, BC registration is permitted, so the registration screen 1000 is displayed on the operation unit 209.
  • step S1314 the failure of user authentication or the fact that there is no authority to use the blockchain device 111 as error processing is displayed on the operation unit 209 via the operation unit I / F 205, and the process ends.
  • step S1304 the application A404 waits until the blockchain button 1003 to be registered on the registration screen 1000 is pressed, and if pressed, proceeds to step S1305.
  • step S1305 if scanning is selected on the registration screen 1000, the process proceeds to step S1306, and if a saved document is selected, the process proceeds to step S1308.
  • step S1306 the scanner 211 is used to execute the scanning process on the paper document.
  • step S1307 an electronic document is generated from the data scanned in step S1306 according to the scan setting 1002, and temporarily stored in the HDD 204. This temporary data will be deleted at the end of this flowchart.
  • step S1308 it is determined whether or not the blockchain registration instruction has been given. In the first embodiment, if the user name of the logged-in user is other than Guest, and the blockchain button 1003 is selected on the registration screen 1000, the process proceeds to step S1309. If the user name of the logged-in user is Guest, or if the user name is other than Guest and the blockchain button 1003 is not selected on the registration screen 1000, the process proceeds to step S1315.
  • step S1309 it is confirmed whether the user of the image forming apparatus 101 has the authority to use the blockchain device 111, and if the user has the authority, the process proceeds to step S1310, and if not, the process proceeds to step S1314. If you want only the regular user of the image forming device 101 to use the blockchain device 111, there is also a method of considering that the role of the user name held in step S1303 is authorized when the role is not Guest User. Further, as for the authority to use the blockchain device 111, a role dedicated to the blockchain may be created as described above, and the authority may be determined based on the role.
  • step S1310 the hash value of the electronic document generated in step S1307 is calculated.
  • step S1311 the electronic document generated in step S1307 is requested to be registered in the document management device 103, and as a result, the ID representing the registered electronic document and the date and time information indicating the date and time when the registration is completed are acquired.
  • step S1312 the application A404 was used for processing, but in step S1312, the blockchain application 406 executes the processing.
  • the electronic document is registered in the blockchain device 111.
  • the registration process to the blockchain device 111 will be described later with reference to FIG.
  • the value specified for the transaction 601 for registration and the credential information will be described.
  • Application A404 also passes credential information A408 to blockchain application 406 in addition to the value specified in transaction 601.
  • the credential information A408 is used by the blockchain application 406 to verify that the sequence of processes related to registration is being performed by the legitimate application.
  • step S1313 the application A404 acquires the result of the registration process in the blockchain device 111 from the blockchain application 406.
  • step S1315 the same process as in step S1311 is executed, and the process proceeds to step S1316.
  • Ordinary document registration can be performed without blockchain registration.
  • step S1316 the registration result acquired by the application A404 in step S1313 is displayed on the operation unit 209 via the operation unit I / F205. Regarding this, information (not shown) such as success / failure of registration to the document management device 103 and success / failure of registration to the blockchain device 111 is displayed on the screen. After that, the process ends.
  • FIG. 14 is a flowchart of a process of storing an electronic document stored in the document management device 103 in the image forming device 101.
  • the image forming apparatus 101 may be used via the web browser on the PC 102.
  • This flowchart is activated when the login button 703 is pressed on the authentication screen 700, and the user authentication processing unit 402 is first executed in the CPU 201.
  • step S1401 a user name and password are accepted as a login request.
  • step S1402 it is confirmed whether the received user name and password match the user name and password in the user information table of Table 1, and if they match, it is considered that the user authentication has succeeded, and the process proceeds to step S1403. If they do not match, it is considered that the user authentication has failed, and the process proceeds to step S1411.
  • step S1403 the user name received in step S1401 as the currently logged-in user is held in the RAM 203 as the login process, and the process is passed to the local UI control unit 400.
  • the local UI control unit 400 that has taken over the processing displays the function selection screen 900 on the operation unit 209.
  • the registered document save / print button is pressed by the user on the function selection screen 900, and the application A404 executes the subsequent processing on the CPU 201.
  • the application A404 that has taken over the processing displays the save / print screen 1100 of the registered document on the operation unit 209.
  • step S1404 the application A404 displays the save / print screen 1100 of the registered document shown in FIGS. 11A and 11B on the operation unit 209 via the operation unit I / F205, and waits until the save button 1103 is pressed. If pressed, the process proceeds to step S1405.
  • step S1405 the electronic document selected in the document selection list 1101 on the save / print screen 1100 of the registered document is acquired from the image forming apparatus 101.
  • the document information of the acquired electronic document is temporarily stored in the RAM 203, and the document file is temporarily stored in the HDD 204.
  • step S1406 the application A404 was used for processing, but in step S1406, the blockchain application 406 executes the processing.
  • the transaction 601 that holds the ID of the document information stored in the RAM 203 in the document identification information 603 is acquired. This acquisition process will be described with reference to FIG. 17 described later.
  • application A404 passes the credential information A408 to blockchain application 406.
  • the credential information A408 is used by the blockchain application 406 to verify that a series of processes relating to the acquisition of an electronic document is being performed by a legitimate application.
  • step S1407 it is determined whether or not the corresponding transaction information could be acquired in step S1406. If the transaction information does not exist, the information is not managed by the blockchain device 111, so the process proceeds to step S1410. If the transaction information exists, the process proceeds to step S1408.
  • step S1408 the hash value is calculated from the document data stored in the HDD 204. It is determined whether or not the hash value is the same as the document hash value 602 of the transaction information acquired in step S1406 in step S1409. If the values are not the same, the document file stored in the document management device 103 is invalid data, and the process proceeds to the error display in step S1411. If the values are the same, the process proceeds to step S1410.
  • step S1410 the document data temporarily saved in HDD 204 in step S1405 is moved to a regular storage location in HDD 204.
  • the configuration is such that the image is saved in the HDD 204 of the image forming apparatus 101, but the registration document is saved in the designated location by designating the save destination path on the save / print screen 1100. You may.
  • step S1411 an error is displayed when acquisition cannot be permitted in this processing flowchart. For this, an error dialog (not shown) is displayed on the screen. At this time, the document file temporarily saved in the HDD 204 is deleted.
  • FIG. 15 is a flowchart in which an electronic document stored in the document management device 103 is printed from the image forming device 101.
  • the image forming apparatus 101 may be used via the web browser on the PC 102.
  • This flowchart is activated when the login button 703 is pressed on the authentication screen 700, and the user authentication processing unit 402 is first executed in the CPU 201.
  • step S1501 a user name and password are accepted as a login request.
  • step S1502 it is confirmed whether the received user name and password match the user name and password in the user information table of Table 1, and if they match, it is considered that the user authentication has succeeded, and the process proceeds to step S1503. If they do not match, it is considered that the user authentication has failed, and the process proceeds to step S1515.
  • step S1503 the user name received in step S1501 as the currently logged-in user is held in the RAM 203 as the login process, and the process is passed to the local UI control unit 400.
  • the local UI control unit 400 that has taken over the processing displays the function selection screen 900 on the operation unit 209.
  • the registered document save / print button is pressed by the user on the function selection screen 900, and the application A404 executes the subsequent processing on the CPU 201.
  • the application A404 that has taken over the processing displays the save / print screen 1100 of the registered document on the operation unit 209.
  • step S1504 the application A404 displays the save / print screen 1100 of the registered document shown in FIGS. 11A and 11B on the operation unit 209 via the operation unit I / F205, and waits until the print button 1102 is pressed. If pressed, the process proceeds to step S1505.
  • step S1505 the electronic document selected in the document selection list 1101 on the save / print screen 1100 of the registered document is acquired from the image forming apparatus 101.
  • the document information of the acquired electronic document is temporarily stored in the RAM 203, and the document file is temporarily stored in the HDD 204.
  • step S1506 the application A404 was used for processing, but in step S1506, the blockchain application 406 executes the processing.
  • the transaction 601 that holds the ID of the document information stored in the RAM 203 in the document identification information 603 is acquired. This acquisition process will be described with reference to FIG. 17 described later.
  • application A404 passes the credential information A408 to blockchain application 406.
  • the credential information A408 is used by the blockchain application 406 to verify that a series of processes relating to the acquisition of an electronic document is being performed by a legitimate application.
  • step S1507 it is determined whether or not the corresponding transaction information could be acquired in step S1506. If the transaction information does not exist, the document is not managed by the blockchain device 111, and the process proceeds to step S1508. If the transaction information exists, the process proceeds to step S1509.
  • step S1508 the document data stored in the HDD 204 is printed from the printer 210 via the printer I / F 206 of the image forming apparatus 101.
  • step S1509 the hash value is calculated from the document data stored in the HDD 204. It is determined whether or not the hash value is the same as the document hash value 602 of the transaction information acquired in step S1507 in step S1510. If the values are not the same, the document file stored in the document management device 103 is invalid data, and the process proceeds to the error display in step S1515. If the values are the same, the process proceeds to step S1511.
  • step S1511 the hash value to be set in the printed document is calculated. This is calculated using the document hash value 602 of the transaction information acquired in step S1507, the credential information C407 of the image forming apparatus 101 that performs processing, and the date and time information in the image forming apparatus at the time of this step processing.
  • step S1512 the hash value representing the printed matter calculated in step S1511 and the document hash value 602 of the transaction information representing the original image are set in the file to be printed in step S1513.
  • the format set here is a format that can be read when the paper printed in the verification described later is scanned, and may be information that can be determined on the printed matter as a two-dimensional bar code, or may be embedded as invisible information.
  • step S1513 the document file in which the hash value is set is printed from the printer 210 via the printer I / F 206 of the image forming apparatus 101.
  • step S1514 the blockchain application 406 executes the process.
  • step S1514 the printing process information is registered in the blockchain device 111. This registration process will be described later with reference to FIG. Here, the value specified for transaction 601 for registration will be described.
  • the hash value of the printed document calculated in step S1511 is specified in the document hash value 602, and the ID representing the electronic document received as an argument is specified in the document identification information 603.
  • a hash value of the credential information C407 of the printed image forming apparatus 101 is specified.
  • the document registration date and time 605 the date and time information when the hash value is searched in S1511 is specified.
  • the document registrant 606 specifies a hash value of the user name logged in to the printed image forming apparatus 101.
  • the document hash value 602 of the transaction information representing the original image acquired in S1506 is specified.
  • application A404 passes the credential information A408 to blockchain application 406.
  • the credential information A408 is used by the blockchain application 406 to verify that a series of processes relating to the acquisition of an electronic document is being performed by a legitimate application.
  • step S1515 an error is displayed when printing cannot be permitted in this processing flowchart. For this, an error dialog (not shown) is displayed on the screen.
  • FIG. 16 is a flowchart in which a document file specified by the user or a printed paper document is verified by the image forming apparatus 101. This flowchart is activated by pressing the login button 703 or the guest login button 711 on the authentication screen 700 of the image forming apparatus 101 shown in FIGS. 7A and 7B.
  • the user authentication processing unit 402 is executed by the CPU 201. To. At the time of starting this flowchart, the user name and password entered by the user of the image forming apparatus 101 from the authentication screen 700 are passed to the user authentication processing unit 402.
  • step S1601 the user name and password are accepted as a login request.
  • step S1602 it is confirmed whether the received user name and password match the user name and password in the user information table of Table 1, and if they match, it is considered that the user authentication has succeeded, and the process proceeds to step S1603. If they do not match, it is considered that the user authentication has failed, and the process proceeds to step S1614.
  • step S1603 the user name received in step S1601 as the currently logged-in user is held in the RAM 203 as the login process, and the process is passed to the local UI control unit 400.
  • the local UI control unit 400 that has taken over the processing displays the function selection screen 900 on the operation unit 209.
  • the document verification button is pressed by the user on the function selection screen 900, and the application A404 executes the subsequent processing on the CPU 201.
  • the application A404 that has taken over the processing displays the verification screen 1200 on the operation unit 209.
  • step S1604 the application A404 displays the verification screen 1200 shown in FIGS. 12A and 12B on the operation unit 209 via the operation unit I / F205, waits until the verification button 1203 is pressed, and then presses the button 1203. Proceeds to step S1605.
  • step S1605 it is determined whether or not the target document is paper data based on the value of the document selection setting 1201 received at startup. In the case of paper data, the process proceeds to step S1607, and in the case of electronic data, the process proceeds to step S1606.
  • step S1606 the electronic data in the selected HDD 204 is specified, and the hash value of the electronic data is calculated. This hash value represents the document to be verified, and is used for the verification process in step S1611.
  • step S1607 the paper document set in the image forming apparatus 101 is scanned. In scanning, a paper document is read by the scanner 211 through the scanner I / F 207, and image data is generated.
  • step S1608 the data imaged by the scanner 211 is digitized and temporarily stored in the HDD 204 as electronic data. This temporary data will be deleted at the end of this flowchart.
  • step S1609 the hash value embedded in the electronic data stored in the HDD 204 in step S1608 is acquired. This acquisition is performed by a process of acquiring a hash value according to the method embedded in step S1512 of the printing flowchart described with reference to FIG.
  • step S1610 it is determined whether the hash value can be obtained from the electronic data. If there is a hash value, the process proceeds to step S1611, and if there is no hash value, the verification process cannot be performed, so the process proceeds to step S1614. Up to step S1610, the application A404 has performed the process, but in step S1611, the blockchain application 406 executes the process.
  • step S1611 a document verification process is performed using the transaction information recorded in the blockchain device 111. This document verification process will be described later with reference to FIG. At that time, the document verification, the document hash value calculated / acquired in step S1606 or step S1609, and the credential information A408 are passed as the processing type.
  • step S1612 When the response of the requested processing result is received, the verification result is determined in step S1612. If the verification is successful, a standard dialog (not shown) for displaying a message such as that the verification was successful is displayed in step S1613. If the verification fails, a standard dialog (not shown) for displaying a message indicating that the verification has failed or cannot be verified is displayed in step S1614. After displaying each message, the flow chart ends when the user gives an instruction to close the dialog.
  • FIG. 17 is a flowchart in which the blockchain application 406 of the image forming apparatus 101 performs transaction processing to the blockchain apparatus 111. This flowchart is started and executed as the blockchain application 406 during the processing of the application A404 of FIGS. 13 to 16.
  • the processing type from the application A404 to the blockchain device 111 and the necessary information for each processing type are passed.
  • the information required for each processing type is transaction 601 at the time of transaction registration, document hash value 602 that needs to be verified at the time of document verification, and document identification information 603 at the time of transaction acquisition.
  • step S1701 the blockchain application 406 passes the credential information C407 and the credential information A408 to the blockchain device 111 to confirm that the credential information is correct.
  • the credential information C407 is acquired from the credential information management unit 410 when the blockchain application 406 is started, and the credential information A408 is acquired from the application A404.
  • step S1702 it is determined whether or not the credential information confirmed in step S1701 is correct. If the credential information is a digital certificate, the certificate is verified and if the verification is successful, the credential information is judged to be correct. In addition, in the case of predetermined data values, if the values match, it is determined that the credential information is correct. If the credential is correct, the blockchain device 111 can be accessed. Therefore, the process proceeds to step S1703, and if the credential is not correct, the process proceeds to step S1704.
  • step S1703 the processing type received by the blockchain application 406 is determined. If the transaction is registered, the process proceeds to step S1705, if the transaction is acquired, the process proceeds to step S1710, and if the document is verified, the process proceeds to step S1713.
  • step S1704 error information indicating that the access authority to the blockchain device 111 is not satisfied is generated in this processing flowchart.
  • step S1705 it is confirmed whether or not the transaction information received at the start of processing is complete. Further, by searching the blockchain device 111, the document hash value 602 is not registered in the blockchain device 111, and the original document hash value 607 is registered in the blockchain device 111. Confirm. If the information is not complete or the hash value is not in the correct state, the transaction information will be invalid. The check result is determined in step S1706, and if the transaction information is valid, the process proceeds to step S1707, and if the transaction information is invalid, the process proceeds to the error processing in step S1709.
  • step S1707 the blockchain device 111 is requested to register the checked transaction 601.
  • success / failure is received from the blockchain device 111 as a result of the registration process.
  • step S1708 the processing result from the blockchain device 111 is determined, and if it fails, the process proceeds to the error processing of step S1709, and if it succeeds, the process proceeds to the result notification S1719.
  • step S1709 error information indicating that the transaction cannot be registered is generated in this processing flowchart.
  • step S1710 the transaction holding the document identification number received at the start of processing is searched from the blockchain device 111 and acquired.
  • the search result is determined in step S1711, and if transaction data cannot be acquired, the target document is not registered in the blockchain device 111, and the process proceeds to error processing in step S1712. If the transaction data can be acquired, the process proceeds to step S1719.
  • step S1712 error information indicating that transaction acquisition has failed is generated in this processing flowchart.
  • step S1713 a transaction that holds the hash value received at the start of processing as a document hash value is searched from the blockchain device 111 and acquired.
  • the search result is determined in step S1714, and if the transaction data cannot be acquired, the process proceeds to step S1715 as a valid hash value, and if it cannot be acquired, the error processing proceeds to step S1718 as an invalid hash value.
  • step S1715 it is determined whether or not the transaction acquired in step S1713 has the original document hash value. If the original document has no hash value, the hash value confirmed in step S1707 is the first document, so the verification process ends, and the process proceeds to step S1719. If the original document has a hash value, it is necessary to confirm the existence of the original document, so the process proceeds to step S1716.
  • step S1716 document verification is specified as the processing type, the original document hash value is specified as the information required for processing, and the flowchart of FIG. 17 is recursively executed. This execution result is determined in step S1717, and if the verification including the original document is successful, the process proceeds to step S1719. If the verification fails, the process proceeds to the error processing in step S1718. In step S1718, error information indicating that the document verification has failed is generated in this processing flowchart.
  • step S1719 the registration completion status is notified to the calling process in the case of transaction registration, and the verification success status is notified to the calling process in the case of document verification, as information when the processing is successful for each processing type.
  • the acquired transaction information is notified to the process that is the caller, and if error processing is being performed, the error information is notified.
  • the present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
  • a circuit for example, ASIC

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Facsimiles In General (AREA)

Abstract

画像形成装置でブロックチェーンを利用した電子ファイルの処理を行うことで、管理すべき装置数を少なくし、管理負荷を軽減する。

Description

情報処理装置、制御方法、プログラム
 本発明は、ブロックチェーンを使用した電子データの記録改ざんに対応する情報処理装置、制御方法、プログラムに関する。
 電子ファイルの改ざんを防止するために、ブロックチェーンを利用することで電子ファイルの内容変更に信頼性を担保することが知られている(特許文献1を参照)。
特開2018-128823号公報
 電子ファイルの情報をブロックチェーンサービスに登録する場合、電子ファイルに対する処理が信頼されたものであることを保証しなければならない。そのためには、アプリケーションや処理時に使用するクレデンシャルを作業従事者が使用する装置(たいていの場合にはPC)に導入する必要がある。その場合、作業従事者はPC台数分の管理を行うことが必要となり、管理業務負荷が大きくなってしまうという問題が発生する。
 本願発明の目的は、ブロックチェーンサービスと連携する情報処理装置を用意し、情報処理装置がユーザを認証しユーザに特定のロールが割り当てられていることを確認することで、数多くのユーザおよび/または装置に対しブロックチェーンサービスを利用させる。すなわち、その情報処理装置がブロックチェーンサービスのハブデバイスとして機能する。
 本発明の一実施形態に係る情報処理装置は、ネットワークを介して電子データを受信し格納する管理サービスと、格納された前記電子データに関する情報をブロック単位で管理し夫々のブロックごとに前および/または後のブロックとの関連を定義した上で複数のブロックを複数のノードで管理するブロックチェーンサービスと連携する情報処理装置であって、ユーザの認証に用いる認証情報と、ユーザに付与される権限を示すロール情報とを対応付けて記憶する記憶手段と、前記認証情報を受け付けたことに応じて、認証処理を実行し、認証されたユーザをログインさせて、確認されたロール情報に従い前記情報処理装置の機能を利用させるログイン手段と、格納された前記電子データに関する情報を前記ブロックチェーンサービスへ提供する連携手段と、を有し、確認されたロール情報の中に、前記ブロックチェーンサービスと連携する機能が利用できることを示すロール情報が含まれていると確認された場合は、認証されたユーザに前記連携手段の利用を許可し、前記ブロックチェーンサービスと連携する機能が利用できないことを示すロール情報が含まれていると確認された場合は、認証されたユーザに前記連携手段の利用を許可しないことを特徴とする。
 ブロックチェーンサービスのハブデバイスとなる情報処理装置を提供する。
システムの構成を示す図である。 画像形成装置のハードウェア構成を示す図である。 PCおよび文書管理装置のハードウェア構成を示す図である。 画像形成装置のソフトウェア構成を示す図である。 文書管理装置のソフトウェア構成を示す図である。 ブロックチェーン装置のデータ構成を示す図である。 認証画面の画面例である。 認証画面の画面例である。 リモート認証画面の画面例である。 リモート認証画面の画面例である。 機能選択画面の画面例である。 機能選択画面の画面例である。 アプリケーションAの文書登録画面の画面例である。 アプリケーションAの文書登録画面の画面例である。 アプリケーションAの文書登録画面の画面例である。 アプリケーションAの文書登録画面の画面例である。 アプリケーションAの登録文書の保存/印刷画面の画面例である。 アプリケーションAの登録文書の保存/印刷画面の画面例である。 アプリケーションAの登録文書の検証画面の画面例である。 アプリケーションAの登録文書の検証画面の画面例である。 文書の情報をブロックチェーン装置に登録する処理を示すフローチャート。 電子文書を文書管理装置から取得し保存する処理を示すフローチャート。 電子文書を画像形成装置で印刷する処理を示すフローチャート。 電子文書を検証する処理を示すフローチャート。 ブロックチェーン装置へのトランザクション処理を示すフローチャート。
 [実施例1]
 以下、本発明を実施するための形態について図面を用いて説明する。図1は、画像形成装置101と関連するシステムの全体図である。画像形成装置101、PC102、文書管理装置103がLAN100に接続されイントラネット内に存在し、インターネット110を介して、ブロックチェーン装置111と通信を行う。PC102はウェブブラウザを利用した画像形成装置101の管理やプリントドライバを利用した画像形成装置101からの印刷に利用される。
 ブロックチェーン装置111は画像形成装置101やPC102で生成された電子文書に関する情報をブロック単位にまとめて管理する装置であり文書の正当性を保障するためのブロックチェーンサービスを提供する装置である。文書管理装置103は画像形成装置101やPC102で生成された電子文書を保存する装置であり文書管理サービスを提供する。
 図2は、画像形成装置101のハードウェア構成を示すブロック図である。Central Processing UnitであるCPU201を含む制御部200は、画像形成装置101全体の動作を制御する。CPU201は、Read Only MemoryであるROM202に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御を行う。Randam Access MemoryであるRAM203は、CPU201の主メモリ、ワークエリア等の一時記憶領域として用いられる。Hard Disc DriveであるHDD204は、画像データや各種プログラム、あるいは後述する各種データを記憶する。画像形成装置101は情報処理装置としてのハードウェア構成を有しているが、これに加え以下のハードウェア構成をさらに有する。
 操作部I/F205は、操作部209と制御部200とを接続する。プリンタI/F206は、プリンタ210と制御部200とを接続する。プリンタ210で印刷すべき画像データはプリンタI/F206を介して制御部200から転送され、プリンタ210において記録媒体上に印刷される。スキャナI/F207は、スキャナ211と制御部200とを接続する。スキャナ211は、原稿上の画像を読み取って画像データを生成し、スキャナI/F207を介して制御部200に入力する。
 ネットワークI/F208は、制御部200(画像形成装置101)をLAN100に接続する。ネットワークI/F208は、LAN100上の外部装置に画像データや情報を送信したり、LAN100上の外部装置から各種情報を受信したりする。
 図3は、PC102、および文書管理装置103のコンピューターのハードウェア構成を表すブロック図である。CPU302は装置全体の制御を行う。CPU302はHDD305に格納されているアプリケーションプログラムやOS等を実行し、RAM303にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。ROM304は記憶手段であり、内部には、基本I/Oプログラム等の各種データを記憶する。RAM303は一時記憶手段であり、CPU302の主メモリ、ワークエリア等として機能する。HDD305は外部記憶手段の一つであり、大容量メモリとして機能し、オフィスアプリケーションやWebブラウザー等のアプリケーションプログラム、OS、関連プログラム等を格納している。
 ディスプレイ306は表示手段であり、指示入力手段であるキーボード/マウス307から入力したコマンド等を表示したりするものである。インターフェース308は外部装置I/Fであり、プリンタ、USB機器、周辺機器を接続する。システムバス301は、装置内におけるデータの流れを司るものである。ネットワークインターフェースカード(以降NIC)309は、LAN100を介して外部装置とのデータのやり取りを行う。
 なお、情報処理装置の構成はその一例であり、図2および図3の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてROM304、RAM303、HDD305などで変更することも可能である。本実施例中で特に明記しない場合は、各種処理はROM304等に記憶されているプログラムをRAM303等にロードし、CPU302で実行することによって実現されるものとする。
 図4は、画像形成装置101において本発明に関連するソフトウェア構成について示したブロック図である。特に断りのない限り、各処理部はROM202に記憶された制御プログラムである。ローカルUI制御部400は、操作部I/F205を介して操作部209を制御する機能を提供する。ローカルUI制御部400はユーザが操作部209で操作した内容をユーザ認証処理部402やアプリケーションに通知する。ローカルUI制御部400は機能選択画面900を操作部209に表示する。機能選択画面900の例を図9Aに示す。ローカルUI制御部400はユーザ認証処理部402やアプリケーションからの画面表示依頼を受けて、操作部209へ画面を表示するための制御を行う。ユーザ認証処理部402、アプリケーションA404はローカルUI制御部400を介して操作部209に画面を表示する。
 リモートUI制御部401は、ネットワークI/F208を介してPC102上のウェブブラザに対してウェブページを提供する。リモートUI制御部401はユーザがウェブブラウザで操作した内容をユーザ認証処理部402やアプリケーションに通知する。リモートUI制御部401は機能選択画面910をPC102上のウェブブラザに表示する。機能選択画面910の例を図9Bに示す。リモートUI制御部401はユーザ認証処理部402やアプリケーションからの依頼を受けて、ウェブブラウザに対してウェブページを表示するための制御を行う。ユーザ認証処理部402、アプリケーションA404、アプリケーションB405はリモートUI制御部401を介してウェブブラウザに対してウェブページを表示させる。
 ユーザ認証処理部402は、画像形成装置101を利用するユーザを認証するための機能を提供する。そのため、ユーザ認証処理部402は認証画面700(画面例を図7A及び図7Bに示す)を操作部209に表示する。ユーザ認証処理部402は認証画面700を介して、ユーザからユーザ名とパスワードの入力と言った認証情報を受信し、ユーザ情報DB403内に保持しているユーザ情報と比較することでユーザ認証を行う。
 ユーザ情報DB403は、画像形成装置101を利用するユーザに関する情報であるユーザ情報を保持する機能を提供する。ユーザ情報DB403は、HDD204内に構築され、格納される情報はHDD204に記憶される。ユーザ情報DB403に格納している情報の例を表1と表2に示す。
Figure JPOXMLDOC01-appb-T000001
 表1のユーザ情報テーブルは、「ユーザ名」と「パスワード」、「ロール」から構成されており、認証情報とロールは対応付けられている。「ユーザ名」はユーザを一意に識別するための名称である。「パスワード」はユーザ認証で利用するパスワードであり、ユーザ毎に任意の値を設定することができる。「ロール」は画像形成装置101のユーザに付与する画像形成装置101の利用権限を指し、本実施例ではAdministrator、General User、Guest Userの3つが存在する。
 Administratorは画像形成装置101の管理者ユーザに割り当てるロールであり、General Userは画像形成装置101を利用する一般的なユーザに割り当てるロールである。Guest Userは利用できる機能を制限したいユーザに割り当てるロールであり、ユーザがユーザ情報DB403にユーザ名およびパスワードなどの認証情報を登録せずに機能を利用する場合に割り当てられるロールである。ログインしたユーザの「ロール」の値に従って利用できる機能が決定されるので、ロールごとに画像形成装置101の機能の利用制限を行うことができる。
Figure JPOXMLDOC01-appb-T000002
 表2のロール情報テーブルは、「ロール」と「コピー」、「送信」、「保存」、「BC登録」、「BC保存/印刷」、「BC検証」から構成される。「コピー」、「送信」、「保存」、「BC登録」、「BC保存/印刷」、「BC検証」は画像形成装置101が有するそれぞれの機能を表し、その値はそれぞれのロールに対してその機能の利用が許可されているか、禁止されているかを表す。「コピー」、「送信」、「保存」はコピー機能、スキャンした文書をPC102に送信するスキャン機能、スキャンした電子文書をHDD204に保存する機能に対する権限を表している。
 「BC登録」は文書の情報をブロックチェーン装置111に登録する機能に対する権限を表している。「BC保存/印刷」はブロックチェーン装置111に登録されている文書情報に紐付いている文書管理装置103に保存されている文書を画像形成装置101に保存したり、印刷したりする機能に対する権限を表している。「BC検証」はブロックチェーン装置111に登録されている文書情報を基にして正式な文書か否かを検証する機能に対する権限を表している。画像形成装置101のアプリケーションはログインしているユーザのロールに該当するロール情報テーブルのロールの権限に従って、それぞれの機能の制限を行う。
 実施例1では、ユーザの権限レベルという観点でAdministratorなどのロールを用意した。しかし、例えば、「BCロール」と言ったロールや、さらに細かく「BC登録ロール」、「BC保存/印刷ロール」のように、ブロックチェーンサービスを利用するための専用ロールを用意しても良い。
 アプリケーションA404は、スキャンした文書を電子文書に変換し、ブロックチェーンアプリケーション406を介してブロックチェーン装置111に文書の情報を、文書管理装置103に文書を登録する機能を提供する。アプリケーションA404は、登録された文書を受信しプリンタI/F206を介して印刷する機能を提供する。アプリケーションA404はスキャナI/F207を介してスキャナ211を制御したり、ネットワークI/F208を介してLAN100へデータを送信したりすることで、外部装置へスキャンデータの送信を行う。アプリケーションA404はローカルUI制御部400およびリモートUI制御部401へ画面情報を提供する。
 アプリケーションA404はローカルUI制御部400を介して操作部209に表示された画面への入力を受け付け、それに応じて処理を行う。アプリケーションA404は登録画面1000、登録文書の保存/印刷画面1100、検証画面1200を操作部209に表示する。登録画面1000の例を図10Aに、登録文書の保存/印刷画面1100の例を図11Aに、検証画面1200の例を図12Aに示す。
 また、アプリケーションA404はリモートUI制御部401を介してPC102上のウェブブラザからの入力を受け付け、それに応じて処理を行う。アプリケーションA404は登録画面1020、登録文書の保存/印刷画面1110、検証画面1210をPC102上のウェブブラザに表示する。登録画面1020の例を図10Cに、登録文書の保存/印刷画面1110の例を図11Bに、検証画面1210の例を図12Bに示す。
 なお、文書の登録、印刷、検証と言った機能を1つのアプリケーションに備える例を説明するが、それらの機能を複数のアプリケーションに分担させても良い。例えば、文書の登録を行うスキャンアプリケーションと、印刷を行う印刷アプリケーションのように分ける形態が考えられる。
 アプリケーションB405は、アプリケーションA404と同様にスキャンした文書を電子文書に変換し、ブロックチェーンアプリケーション406を介してブロックチェーン装置111に文書情報を、文書管理装置103に文書を登録する機能を提供する。アプリケーションB405はリモートUI制御部401へ画面情報を提供する。アプリケーションA404はローカルUI制御部400とリモートUI制御部401を介してローカルUIとリモートUIの両方からの入出力に対応するが、アプリケーションB405はリモートUIからだけの入出力に対応する点が異なる。なお、アプリケーションA404およびアプリケーションB405はブロックチェーン装置111とは直接通信することはない。
 ブロックチェーンアプリケーション406は、ブロックチェーン連携するためのアプリケーションであり、アプリケーションA404やアプリケーションB405からの指示を受け、ブロックチェーン装置111に文書の情報を登録、取得、検証する機能を提供する。ブロックチェーンアプリケーション406がブロックチェーン装置111に登録するトランザクション601とブロックのデータ構造の例を図6に示すが詳細は後述する。
 ブロックチェーンアプリケーション406は、アプリーションからブロックチェーン装置111に対する指示を受けた際にクレデンシャル情報管理部410からクレデンシャル情報も受け取る。ブロックチェーンアプリケーション406は、受け取ったクレデンシャル情報の検証を行って、検証が成功した場合だけ、ブロックチェーン装置111に対して処理を実行する。
 クレデンシャル情報A408は、アプリケーションA404がブロックチェーン装置111を利用する正規のアプリケーションであることを保証するためのクレデンシャル情報である。クレデンシャル情報A408は正しい処理を行っていることが検証されたアプリケーションに対して発行され、アプリケーションはクレデンシャル情報が組み込まれた状態で画像形成装置101に搭載される。
 クレデンシャル情報B409は、アプリケーションB405がブロックチェーン装置111を利用する正規のアプリケーションであることを保証するためのクレデンシャル情報である。クレデンシャル情報A408と同様に画像形成装置101に搭載される。
 クレデンシャル情報C407は、画像形成装置101がブロックチェーン装置111を利用する正規の装置であることを保証するためのクレデンシャル情報である。クレデンシャル情報C407は、例えば本システムを運営する団体が装置のメーカーごとに発行してもよい。クレデンシャル情報C407は画像形成装置101のファームウェア内に組み込んだ状態で出荷してもよいし、出荷後に画像形成装置101へインストールしてもよい。
 なお、クレデンシャル情報はデジタル証明書や秘密鍵と公開鍵の鍵ペアでもよいし、予め定められたデータ値でもよく、クレデンシャル情報の実態に制限はない。クレデンシャル情報はアプリケーションごとに異なる実態であってもよい。
 クレデンシャル情報管理部410は、画像形成装置101内のクレデンシャル情報を管理する機能を提供する。本実施例ではクレデンシャル情報管理部410は、ブロックチェーンアプリケーション406からの指示を受けて、ブロックチェーンアプリケーション406にクレデンシャル情報C407を渡す。なお、実施例1ではPC102が画像形成装置101を経由することでブロックチェーン装置111と連携するが、クレデンシャル情報管理部410はクレデンシャル情報C407をPC102に提供しないように構成している。PC102のユーザはリモートUIを介してログインすることで、画像形成装置101が確認したロールに基づいてブロックチェーンアプリケーション406の利用が許可されるので、PC102は事前にブロックチェーン装置111との信頼関係を結ばずとも良い。
 図5は、文書管理装置103において、本発明に関連するソフトウェア構成について示したブロック図である。文書管理装置103で管理する電子文書は、ファイル保持部501に保存する文書ファイルと、文書情報保持部502に保存する文書を表す情報とで構成される。文書情報保持部502に格納するデータは、表3の文書情報テーブルに記載した情報である。
Figure JPOXMLDOC01-appb-T000003
 表3の文書情報テーブルは、「ID」と「文書名」、「登録日時」、「ファイルパス」から構成される。「ID」は、電子文書を一意に管理するための識別情報である。「文書名」は電子文書をユーザが識別するために付与する名称である。この文書名は複数の電子文書で重複してもよい。「登録日時」は、電子文書を文書管理装置103に保存した日時である。「ファイルパス」はファイル保持部501に格納された文書ファイルを保存している位置を表す。本実施例ではファイルシステム上のパスとして示しているが、保存場所を一意に表す情報であればパスでなくても良い。
 これらは、実施例1を説明するために必要な最低限の項目で構成しているが、文書を分類するための情報などを合わせて保持しても良い。電子文書処理部503は、ファイル保持部501と文書情報保持部502へアクセスを行い、電子文書の登録や取得、リストの取得といった処理を制御するための機能を有する。この電子文書処理部503での処理は、画像形成装置101やPC102など文書管理装置103の外部からの電子文書に関する入出力処理の要求を受け付けた電子文書送受信部504から起動されることにより実行される。
 図6は、ブロックチェーン装置111に保持するトランザクション601とそのトランザクションを複数格納したブロックのデータ構造について示したブロック図である。ブロックチェーン装置111は、ブロックチェーンと呼ばれる方式でデータを管理する装置である。このブロックチェーンは、情報をトランザクションという単位で取り扱い、そのトランザクションを複数まとめたブロックという単位で管理する。
 個々のブロックはその前後のブロックとの関連が定義されることで、各ブロックが数珠繋ぎの状態を保つように構成される。また、ブロックチェーンはノードと呼ばれる複数のコンピューターで管理されており、それぞれのノードがすべて等しいブロックデータの管理を行う非中央集権的な装置構造となる。このため、ブロックデータの改ざんを行う場合には構成されている複数のノードに対して更新を行わなければならず、対改ざん性の強いデータ管理方法として知られている。なお、ブロックチェーン装置111と記載はしたが、上述の通り複数のコンピューターで構成されている装置であって、それらによってブロックチェーンサービスが提供される。
 本実施例では、画像形成装置101での電子文書処理時にブロックチェーン装置111に文書を表すトランザクションを送信し、ブロック管理することで、電子文書の正しい状態を保持する。これにより、文書管理装置103内の電子文書に対する改ざんが行われていないかを確認できることができる。
 文書管理装置103への電子文書の登録や出力の処理を表すトランザクション601には、以下の6情報を含む。文書ハッシュ値602は、対象の電子文書を一意に表すために算出されたハッシュ値である。この文書ハッシュ値602は、文書ファイル全体から算出されるものであり、電子文書自体に変更が入る事で算出されるハッシュ値が変わるものである。ただし、これ以外の算出方法を制限するものではない。
 文書識別情報603は、文書管理装置103で管理されている電子文書との紐付けを行うために保持する情報であり、本実施例では表3のID値を格納する。登録デバイス識別情報604は、文書登録を行った画像形成装置101を識別する情報であり、本実施例ではクレデンシャル情報C407のハッシュ値を格納する。文書登録日時605は、文書を登録した時点を表す情報であり、本実施例では表3の登録日時の値を格納する。
 文書登録者606は、文書登録を行ったユーザを表す情報であり、本実施例では画像形成装置101へログインしたユーザのユーザ名のハッシュ値を格納する。ここで、画像形成装置101を利用するために既に登録されているユーザ名などの情報をブロックチェーン装置111に登録する情報としてそのまま利用できるため、システムの管理者の管理業務負荷を少なくすることが可能となる。元文書ハッシュ値607は、文書間の関連を表す情報である。これは、文書管理装置103に格納されている電子文書に対して印刷や電子データ保存などを行った場合に、元となる電子文書と紐付けを行うために使用する。
 続けて、トランザクション601を保持するブロックの構造についてブロック611を用いて説明する。これは一般的なブロックチェーン構造を模式化したものである。ブロック611には、複数のトランザクション601(a)~601(c)と、それらのトランザクション601から算出するブロックのハッシュ値612を保持する。
 実施例1ではブロックに含むトランザクション601の数は3つとしたがトランザクション数を制限するものではない。また、ブロック間を連結するための前ブロックのハッシュ値613を保持する。実施例1においては、ブロック614のブロックのハッシュ値を前ブロックのハッシュ値613に格納し、ブロックが関連を持っていることを表している。実施例1では前ブロックのハッシュ値としたが、後ブロックのハッシュ値を管理する、もしくは前ブロックと後ブロックの両方のハッシュ値を管理する形態であっても良い。
 図7Aおよび図7Bは、認証画面の画面例である。図7Aの認証画面700はユーザが画像形成装置101の機能を利用するためにユーザ認証を行う機能を提供するための画面である。ユーザ名入力フィールド701は画像形成装置101のユーザがユーザ名を入力するためのフィールドである。パスワード入力フィールド702は画像形成装置101のユーザがパスワードを入力するためのフィールドである。
 ログインボタン703はユーザ認証を実行するためのボタンである。ユーザがこのボタンを押下した場合、ユーザ認証処理部402はユーザ名入力フィールド701とパスワード入力フィールド702に入力された値を元にユーザ認証を行う。
 図7Bの認証画面(ゲストログイン)710はゲストログインを設けた認証画面の画面例であり、ユーザが画像形成装置101の機能を利用するためにユーザ認証を行う機能を提供するための画面である。以下、認証画面700との違いのみ説明する。
 ゲストログインボタン711はゲストユーザとしてユーザ認証を実行するためのボタンである。ユーザがこのボタンを押下した場合、ユーザ認証処理部402はユーザ名とパスワードによる認証は行わず、ログインを許可する。ゲストログインボタン711を押下してログインしたユーザは、ユーザ名がGuestでロールがGuest Userとなり、表2のロール情報テーブルの権限に従って利用できる機能が制限される。なお、本実施例では詳細の説明は省くが、ユーザ認証処理部402の設定で認証画面700と認証画面(ゲストログイン)710のどちらの画面を表示するかを切り替えてもよい。
 図8Aおよび図8Bはリモート認証画面の画面例である。図8Aのリモート認証画面800はユーザがPC102上のウェブブラウザから画像形成装置101の機能を利用するために、ユーザ認証を行うための画面である。ユーザ名入力フィールド801は画像形成装置101のユーザがユーザ名を入力するためのフィールドである。パスワード入力フィールド802は画像形成装置101のユーザがパスワードを入力するためのフィールドである。
 ログイン803はユーザ認証を実行するためのボタンである。ユーザがこのボタンを押下した場合、ユーザ認証処理部402はユーザ名入力フィールド801とパスワード入力フィールド802に入力された値を元にユーザ認証を行う。
 図8Bのリモート認証画面(ゲストログイン)810はユーザが画像形成装置101の機能を利用するためにユーザ認証を行う機能を提供するための画面である。以下、リモート認証画面800との違いのみ説明する。
 ゲストログインボタン811はゲストユーザとしてユーザ認証を実行するためのボタンである。ユーザがこのボタンを押下した場合、ユーザ認証処理部402はユーザ名とパスワードによる認証は行わず、ログインを許可する。ゲストログインボタン811を押下してログインしたユーザは、ユーザ名がGuestでロールがGuest Userとなり、表2のロール情報テーブルの権限に従って利用できる機能が制限される。
 なお、本実施例では詳細の説明は省くが、ユーザ認証処理部402の設定でリモート認証画面800とリモート認証画面(ゲストログイン)810のどちらの画面を表示するかを切り替えてもよい。
 図9はローカルUI制御部400およびリモートUI制御部401が表示する機能を選択する画面の画面例である。図9に示す機能を選択する画面は画像形成装置101に搭載されている機能の一覧である。画像形成装置101のユーザはこの画面に表示されているボタンを押下することで、画像形成装置101に搭載されている各機能を利用することができる。
 図9Aの機能選択画面900は、認証画面700または認証画面(ゲストログイン)710でログインした直後にローカルUI制御部400によって操作部209に表示される画面である。機能選択ボタン901は画像形成装置101の各機能を利用するためのボタンである。
 コピーボタンはコピー機能を利用する画面を、送信ボタンはスキャンした文書をPC102に送信する機能を利用する画面を、保存ボタンはスキャンした電子文書をHDD204に保存する機能を利用する画面を表示するためのボタンである。実施例1ではそれぞれのボタンが押下された後に表示する画面の説明は省略するが、いずれも従来通りである。
 文書登録ボタンが押下された場合は、登録画面1000または登録画面1010を表示する。登録文書保存/印刷ボタンが押下された場合は、登録文書の保存/印刷画面1100を表示する。文書検証ボタンが押下された場合は、検証画面1200を表示する。
 ログアウトボタン902は、ログイン中に表示されるログアウト処理を実行するためのボタンである。このボタンが押下されるとログアウト処理が実行され、その後、認証画面700または認証画面(ゲストログイン)710が表示される。
 図9Bの機能選択画面910はリモート認証画面800またはリモート認証画面(ゲストログイン)810でログインした直後にリモートUI制御部401によってPC102上のウェブブラウザに表示する画面の例である。
 機能選択ボタン911はそれぞれの機能を利用するためのボタンである。機能選択画面900と同様に保存ボタンが押下された後に表示する画面の説明は省略する。文書登録ボタンが押下された場合は、登録画面1020または登録画面1030を表示する。登録文書保存/印刷ボタンが押下された場合は、登録文書の保存/印刷画面1110を表示する。文書検証ボタンが押下された場合は、検証画面1210を表示する。
 なお、ファンクションの選択はこの形態に限られず、例えば、アプリケーションA404を機能選択画面900に表示し、アプリケーションA404が選択された後に登録や印刷などの機能を選択させる形態であっても良い。
 図10A、図10B、図10C、および図10DはアプリケーションA404およびアプリケーションB405が表示する登録画面の画面例である。実施例1ではアプリケーションA404はローカルUI制御部400とリモートUI制御部401を介して操作部209とPC102上のウェブブラウザに画面を表示し、アプリケーションB405はPC102上のウェブブラウザにだけ画面を表示する。尚、アプリケーションB405も操作部209とPC102上のウェブブラウザの両方に画面を表示してもよい。
 図10Aの登録画面1000は文書をブロックチェーン装置111および文書管理装置103に登録する機能を提供するための画面である。文書選択設定1001は登録の対象となる文書をスキャンした紙文書または画像形成装置101に保存されている文書から選択する設定であり、スキャンまたは保存文書のどちらか一方が選択できる。スキャン設定1002はスキャンに関する各種の設定である。
 ブロックチェーンボタン1003は文書の情報をブロックチェーン装置111に登録するか否かを選択するボタンである。ブロックチェーンボタン1003が選択されている場合は文書の情報をブロックチェーン装置111に登録し、選択されていない場合はブロックチェーン装置111に登録しない。
 登録するボタン1004は文書選択設定1001でスキャンが選択されていた場合は文書のスキャンを実行して電子文書を生成する。保存文書が選択されていた場合は保存文書のリストを表示し、そのリストからユーザが選択した文書を取得する。その後、ブロックチェーンボタン1003が選択されている場合は、電子文書を文書管理装置103に登録し、電子文書の情報をブロックチェーン装置111へ登録する。ブロックチェーンボタン1003が選択されていない場合は、電子文書を文書管理装置103に登録し、ブロックチェーン装置111には登録しない。保存先設定1005は文書を文書管理装置103のどのパスに保存するかを指定する設定である。
 図10Bの登録画面1010は文書を文書管理装置103に登録する機能を提供するための画面であって、例えばゲストログインしたユーザに対して表示される画面である。実施例1ではゲストユーザにはブロックチェーン装置111に文書情報を登録する権限が無いため、本画面にはブロックチェーンボタン1003は表示しない点が登録画面1000とは異なる。なお、ユーザにブロックチェーンサービスを利用できるロールが割り当てられていない場合に、図10Bの登録画面1010を表示しても良い。
 図10Cの登録画面1020は文書をブロックチェーン装置111および文書管理装置103に登録する機能を提供するための画面であって、PC102上のウェブブラウザに表示する画面の例である。
 図10Dの登録画面1030は文書を文書管理装置103に登録する機能を提供するための画面であって、例えばゲストログインしたユーザに対してPC102上のウェブブラウザに表示する画面である。なお、ユーザにブロックチェーンサービスを利用できるロールが割り当てられていない場合に、図10Dの登録画面1010を表示しても良い。
 図11Aおよび図11Bは、アプリケーションA404が表示する登録されている文書を保存または印刷する画面の画面例である。図11Aの登録文書の保存/印刷画面1100はブロックチェーン装置111および文書管理装置103で管理されている文書を保存または印刷する機能を提供するための画面である。
 文書選択リスト1101は、保存または印刷する文書を選択するためのリストであり、アプリケーションA404は文書管理装置103で管理されている文書を文書選択リスト1101に表示する。プリントするボタン1102は、文書選択リスト1101で選択した文書の印刷を実行するボタンである。保存するボタン1103は、文書選択リスト1101で選択した文書を画像形成装置101のHDD204に保存するボタンである。
 図11Bの登録文書の保存/印刷画面1110はブロックチェーン装置111および文書管理装置103で管理されている文書を保存または印刷する機能を提供するための画面であって、PC102上のウェブブラウザに表示する画面の例である。
 図12Aおよび図12BはアプリケーションA404が表示する文書を検証するための画面の画面例である。図12Aの検証画面1200はスキャンした文書または画像形成装置101に保存されている文書を、ブロックチェーン装置111を利用して正式な文書であることを検証する機能を提供するための画面である。
 文書選択設定1201は検証の対象となる文書をスキャンした紙文書または画像形成装置101に保存されている文書から選択する設定である。文書選択リスト1202は検証対象となる文書を選択するためのリストであり、HDD204に保存されている文書の一覧である。検証するボタン1203は、文書選択設定1201でスキャンが選択されていた場合は文書のスキャンを実行し、その後、ブロックチェーン装置111を利用して文書の検証を実行するボタンである。検証するボタン1203は、文書選択設定1201で保存文書が選択されていた場合は文書選択リスト1202で選択されている文書の検証を行う。
 図12Bの検証画面1210はHDD204に保存されている文書を、ブロックチェーン装置111を利用して正式な文書であることを検証する機能を提供するための画面であって、PC102上のウェブブラウザに表示する画面の例である。
 図13は、画像形成装置101において文書の情報をブロックチェーン装置111に登録する処理のフローチャートである。実施例1では、ユーザが制御部200を介して画像形成装置101を利用するケースを説明するが、PC102上のウェブブラウザを介して画像形成装置101を利用してもよい。本フローチャートは、認証画面700でログインボタン703が押下されたことにより起動され、まず、ユーザ認証処理部402がCPU201において実行される。
 本フローチャート起動時には、認証画面700から画像形成装置101のユーザによって入力されたユーザ名とパスワードがユーザ認証処理部402に渡される。ステップS1301では、ログイン依頼としてユーザ名とパスワードを受け付ける。
 ステップS1302では、受信したユーザ名とパスワードが表1のユーザ情報テーブル内のユーザ名とパスワードと一致するか確認し、一致する場合はユーザ認証が成功したと見なし、ステップS1303へ進む。一致しなかった場合はユーザ認証が失敗したと見なし、ステップS1314へ進む。
 ステップS1303では、ログイン処理として現在ログインしているユーザとしてステップS1301で受け付けたユーザ名をRAM203に保持し、処理をローカルUI制御部400に渡す。処理を引き継いだローカルUI制御部400は機能選択画面900を操作部209に表示する。本フローチャートでは、その後、機能選択画面900においてユーザによって文書登録ボタンが押下され、それ以降の処理はアプリケーションA404がCPU201において実行される。
 処理を引き継いだアプリケーションA404は現在ログインしているユーザのロールを元に機能制限を反映した画面を表示する。具体的には、ログインしているユーザのユーザ名がGuestの場合は該当するロールであるGuest UserはBC登録が禁止されているため、ブロックチェーン装置111への文書登録機能が制限されている登録画面1010を操作部209に表示する。ログインしているユーザのユーザ名がGuest以外の場合はBC登録が許可されているため、登録画面1000を操作部209に表示する。
 ステップS1314では、エラー処理としてユーザ認証の失敗やブロックチェーン装置111を利用する権限が無いことを操作部I/F205を経由して操作部209に表示して処理を終了する。ステップS1304では、アプリケーションA404は登録画面1000において登録するブロックチェーンボタン1003が押下されるまで待ち、押下された場合はステップS1305に進む。
 ステップS1305では、登録画面1000でスキャンが選択されていた場合は、ステップS1306に進み、保存文書が選択されていた場合は、ステップS1308に進む。ステップS1306では、スキャナ211を用いて紙文書に対してスキャン処理を実行する。ステップS1307では、ステップS1306でスキャンしたデータからスキャン設定1002に従って電子文書を生成し、一時的にHDD204に保存する。この一時的なデータについては、本フローチャート終了時に削除する。
 ステップS1308では、ブロックチェーン登録指示をされているか否かを判断する。実施例1では、ログインしているユーザのユーザ名がGuest以外の場合、かつ、登録画面1000でブロックチェーンボタン1003が選択されていた場合はステップS1309に進むことになる。ログインしているユーザのユーザ名がGuestの場合、または、Guest以外の場合かつ登録画面1000でブロックチェーンボタン1003が選択されていなかった場合はステップS1315に進むことになる。
 ステップS1309では、画像形成装置101のユーザにブロックチェーン装置111を利用する権限があるかを確認し、権限がある場合はステップS1310に進み、権限がない場合はステップS1314に進む。なお、画像形成装置101の正規ユーザにのみ、ブロックチェーン装置111を利用させたい場合、ステップS1303で保持したユーザ名のロールがGuest Userではない場合に権限があると見なす方法もある。また、ブロックチェーン装置111を利用する権限は、上述したようにブロックチェーン専用のロールを作成し、それを基に権限の判断をしても良い。
 ステップS1310では、ステップS1307で生成した電子文書のハッシュ値を算出する。ステップS1311では、ステップS1307で生成した電子文書を文書管理装置103に登録を依頼し、結果として、登録が完了した電子文書を表すIDと登録が完了した日時を表す日時情報を取得する。
 ステップS1311まではアプリケーションA404で処理を行っていたが、ステップS1312はブロックチェーンアプリケーション406が処理を実行する。ステップS1312では、電子文書をブロックチェーン装置111に登録する。ブロックチェーン装置111への登録処理は後述の図17で説明する。ここでは、登録するためのトランザクション601へ指定する値と、クレデンシャル情報について説明する。
 文書ハッシュ値602にはステップS1310で算出したハッシュ値を指定する。文書識別情報603にはステップS1311で受け取った電子文書を表すIDを指定する。登録デバイス識別情報604には印刷を行った画像形成装置101のクレデンシャル情報C407のハッシュ値を指定する。文書登録日時605にはステップS1311で受け取った登録が完了した日時を表す日時情報を指定する。文書登録者606には登録操作を行った画像形成装置101へログインしているユーザ名のハッシュ値を指定する。尚、本フローでは元文書は存在しないため、元文書ハッシュ値607には値を指定しない。
 アプリケーションA404はトランザクション601に指定する値に加えて、クレデンシャル情報A408もブロックチェーンアプリケーション406に渡す。クレデンシャル情報A408は、登録に関する一連の処理が正規なアプリケーションによって行われていることを検証するためにブロックチェーンアプリケーション406によって利用される。
 ステップS1313では、アプリケーションA404がブロックチェーン装置111への登録処理の結果をブロックチェーンアプリケーション406から取得する。ステップS1315では、ステップS1311と同じ処理を実行して、ステップS1316に進む。ブロックチェーン登録を行わない、通常の文書登録も実行できる。
 ステップS1316では、アプリケーションA404がステップS1313で取得した登録結果を操作部I/F205を経由して操作部209に表示する。これについては画面上に文書管理装置103への登録の成否やブロックチェーン装置111への登録の成否などの情報(不図示)を表示する。その後、処理を終了する。
 図14は、文書管理装置103に保存されている電子文書を画像形成装置101に保存する処理のフローチャートである。実施例1では、ユーザが制御部200を介して画像形成装置101を利用するケースを説明するが、PC102上のウェブブラウザを介して画像形成装置101を利用してもよい。本フローチャートは、認証画面700でログインボタン703が押下されたことにより起動され、まずユーザ認証処理部402がCPU201において実行される。
 本フローチャート起動時には、認証画面700から画像形成装置101のユーザによって入力されたユーザ名とパスワードがユーザ認証処理部402に渡される。ステップS1401では、ログイン依頼としてユーザ名とパスワードを受け付ける。ステップS1402では、受信したユーザ名とパスワードが表1のユーザ情報テーブル内のユーザ名とパスワードと一致するか確認し、一致する場合はユーザ認証が成功したと見なし、ステップS1403へ進む。一致しなかった場合はユーザ認証が失敗したと見なし、ステップS1411へ進む。
 ステップS1403では、ログイン処理として現在ログインしているユーザとしてステップS1401で受け付けたユーザ名をRAM203に保持し、処理をローカルUI制御部400に渡す。処理を引き継いだローカルUI制御部400は機能選択画面900を操作部209に表示する。本フローチャートでは、その後、機能選択画面900においてユーザによって登録文書保存/印刷ボタンが押下され、それ以降の処理はアプリケーションA404がCPU201において実行される。処理を引き継いだアプリケーションA404は登録文書の保存/印刷画面1100を操作部209に表示する。
 ステップS1404では、アプリケーションA404は図11Aおよび図11Bに示した登録文書の保存/印刷画面1100を操作部I/F205を経由して操作部209に表示し、保存するボタン1103が押下されるまで待ち、押下された場合はステップS1405に進む。
 ステップS1405では、登録文書の保存/印刷画面1100の文書選択リスト1101で選択された電子文書を画像形成装置101から取得する。取得した電子文書の文書情報はRAM203に、文書ファイルはHDD204に一時的に保存する。
 ステップS1405まではアプリケーションA404で処理を行っていたが、ステップS1406はブロックチェーンアプリケーション406が処理を実行する。ステップS1406では、RAM203に保存した文書情報のIDを文書識別情報603に保持するトランザクション601を取得する。この取得処理については、後述の図17において説明する。
 ここで、アプリケーションA404はクレデンシャル情報A408をブロックチェーンアプリケーション406に渡す。クレデンシャル情報A408は、電子文書の取得に関する一連の処理が正規なアプリケーションによって行われていることを検証するためにブロックチェーンアプリケーション406によって利用される。
 ステップS1407では、ステップS1406で該当するトランザクション情報を取得できたかどうかを判定する。トランザクション情報が存在しない場合には、ブロックチェーン装置111で管理されていない情報であるため、ステップS1410に進む。トランザクション情報が存在する場合には、ステップS1408に進む。
 ステップS1408では、HDD204に保存した文書データからハッシュ値を算出する。そのハッシュ値は、ステップS1409においてステップS1406で取得したトランザクション情報の文書ハッシュ値602と同一値であるかどうかを判定する。同一値でなければ、文書管理装置103に保存されている文書ファイルは不正なデータであるため、ステップS1411のエラー表示に進む。同一値である場合には、ステップS1410に進む。
 ステップS1410では、ステップS1405でHDD204に一時的に保存した文書データをHDD204内の正規な保存場所に移動する。実施例1においては、画像形成装置101のHDD204に保存する構成としたが、登録文書の保存/印刷画面1100に保存先のパスを指定するようにして、指定された場所へ保存するように構成しても良い。
 ステップS1411では、本処理フローチャートにおいて取得を許可できない場合のエラー表示を行う。これについては画面上にエラーダイアログ(不図示)を表示する。この際、HDD204に一時的に保存した文書ファイルは削除する。
 図15は、文書管理装置103に保存されている電子文書を画像形成装置101から印刷処理を行うフローチャートである。実施例1では、ユーザが制御部200を介して画像形成装置101を利用するケースを説明するが、PC102上のウェブブラウザを介して画像形成装置101を利用してもよい。本フローチャートは、認証画面700でログインボタン703が押下されたことにより起動され、まずユーザ認証処理部402がCPU201において実行される。
 本フローチャート起動時には、認証画面700から画像形成装置101のユーザによって入力されたユーザ名とパスワードがユーザ認証処理部402に渡される。ステップS1501では、ログイン依頼としてユーザ名とパスワードを受け付ける。ステップS1502では、受信したユーザ名とパスワードが表1のユーザ情報テーブル内のユーザ名とパスワードと一致するか確認し、一致する場合はユーザ認証が成功したと見なし、ステップS1503へ進む。一致しなかった場合はユーザ認証が失敗したと見なし、ステップS1515へ進む。
 ステップS1503では、ログイン処理として現在ログインしているユーザとしてステップS1501で受け付けたユーザ名をRAM203に保持し、処理をローカルUI制御部400に渡す。処理を引き継いだローカルUI制御部400は機能選択画面900を操作部209に表示する。本フローチャートでは、その後、機能選択画面900においてユーザによって登録文書保存/印刷ボタンが押下され、それ以降の処理はアプリケーションA404がCPU201において実行される。処理を引き継いだアプリケーションA404は登録文書の保存/印刷画面1100を操作部209に表示する。
 ステップS1504では、アプリケーションA404は図11Aおよび図11Bに示した登録文書の保存/印刷画面1100を操作部I/F205を経由して操作部209に表示し、プリントするボタン1102が押下されるまで待ち、押下された場合はステップS1505に進む。ステップS1505では、登録文書の保存/印刷画面1100の文書選択リスト1101で選択された電子文書を画像形成装置101から取得する。取得した電子文書の文書情報はRAM203に、文書ファイルはHDD204に一時的に保存する。
 ステップS1505まではアプリケーションA404で処理を行っていたが、ステップS1506はブロックチェーンアプリケーション406が処理を実行する。ステップS1506では、RAM203に保存した文書情報のIDを文書識別情報603に保持するトランザクション601を取得する。この取得処理については、後述の図17において説明する。
 ここで、アプリケーションA404はクレデンシャル情報A408をブロックチェーンアプリケーション406に渡す。クレデンシャル情報A408は、電子文書の取得に関する一連の処理が正規なアプリケーションによって行われていることを検証するためにブロックチェーンアプリケーション406によって利用される。
 ステップS1507では、ステップS1506で該当するトランザクション情報を取得できたかどうかを判定する。トランザクション情報が存在しない場合には、ブロックチェーン装置111で管理されていない文書であるため、ステップS1508に進む。トランザクション情報が存在する場合には、ステップS1509に進む。
 ステップS1508では、HDD204に保存した文書データを画像形成装置101のプリンタI/F206を経由して、プリンタ210から印刷処理を行う。ステップS1509では、HDD204に保存した文書データからハッシュ値を算出する。そのハッシュ値は、ステップS1510においてステップS1507で取得したトランザクション情報の文書ハッシュ値602と同一値であるかどうかを判定する。同一値でなければ、文書管理装置103に保存されている文書ファイルは不正なデータであるため、ステップS1515のエラー表示に進む。同一値である場合には、ステップS1511に進む。
 ステップS1511では、印刷文書に設定するためのハッシュ値を算出する。これには、ステップS1507で取得したトランザクション情報の文書ハッシュ値602と処理を行う画像形成装置101のクレデンシャル情報C407と本ステップ処理時点の画像形成装置内の日時情報を使用して計算する。
 ステップS1512では、ステップS1511で算出された印刷物を表すハッシュ値と、元の画像を表すトランザクション情報の文書ハッシュ値602をステップS1513で印刷するファイル内に設定する。ここで設定する形式は、後述の検証で印刷した紙をスキャンした際に読み取れる形式であり、二次元バーコードとして印刷物上で判断できる情報であっても良いし、不可視情報として埋め込んでもよい。
 ステップS1513では、ハッシュ値を設定した文書ファイルを画像形成装置101のプリンタI/F206を経由して、プリンタ210から印刷処理を行う。ステップS1513まではアプリケーションA404で処理を行っていたが、ステップS1514はブロックチェーンアプリケーション406が処理を実行する。ステップS1514では、印刷処理の情報をブロックチェーン装置111に登録する。この登録処理は後述の図17で説明する。ここでは、登録するためのトランザクション601へ指定する値について説明する。
 文書ハッシュ値602にはステップS1511で算出した印刷文書のハッシュ値を、文書識別情報603には引数で受け取った電子文書を表すIDを指定する。登録デバイス識別情報604には印刷を行った画像形成装置101のクレデンシャル情報C407のハッシュ値を指定する。文書登録日時605にはS1511でハッシュ値を検索した際の日時情報を指定する。文書登録者606は、印刷を行った画像形成装置101へログインしているユーザ名のハッシュ値を指定する。元文書ハッシュ値607には、S1506で取得した元の画像を表すトランザクション情報の文書ハッシュ値602を指定する。
 ここで、アプリケーションA404はクレデンシャル情報A408をブロックチェーンアプリケーション406に渡す。クレデンシャル情報A408は、電子文書の取得に関する一連の処理が正規なアプリケーションによって行われていることを検証するためにブロックチェーンアプリケーション406によって利用される。ステップS1515では、本処理フローチャートにおいて印刷を許可できない場合のエラー表示を行う。これについては画面上にエラーダイアログ(不図示)を表示する。
 図16は、ユーザが指定した文書ファイル、もしくは印刷された紙文書を画像形成装置101から検証処理を行うフローチャートである。本フローチャートは、図7Aおよび図7Bに示した画像形成装置101の認証画面700でログインボタン703もしくは、ゲストログインボタン711が押下されたことにより起動され、まずユーザ認証処理部402がCPU201において実行される。本フローチャート起動時には、認証画面700から画像形成装置101のユーザによって入力されたユーザ名とパスワードがユーザ認証処理部402に渡される。
 ステップS1601では、ログイン依頼としてユーザ名とパスワードを受け付ける。ステップS1602では、受信したユーザ名とパスワードが表1のユーザ情報テーブル内のユーザ名とパスワードと一致するか確認し、一致する場合はユーザ認証が成功したと見なし、ステップS1603へ進む。一致しなかった場合はユーザ認証が失敗したと見なし、ステップS1614へ進む。
 ステップS1603では、ログイン処理として現在ログインしているユーザとしてステップS1601で受け付けたユーザ名をRAM203に保持し、処理をローカルUI制御部400に渡す。処理を引き継いだローカルUI制御部400は機能選択画面900を操作部209に表示する。本フローチャートでは、その後、機能選択画面900においてユーザによって文書検証ボタンが押下され、それ以降の処理はアプリケーションA404がCPU201において実行される。処理を引き継いだアプリケーションA404は検証画面1200を操作部209に表示する。
 ステップS1604では、アプリケーションA404は図12Aおよび図12Bに示した検証画面1200を操作部I/F205を経由して操作部209に表示し、検証するボタン1203が押下されるまで待ち、押下された場合はステップS1605に進む。ステップS1605では、起動時に受け取った文書選択設定1201の値で対象文書が紙データかどうかを判定する。紙データの場合にはステップS1607へ進み、電子データである場合にはステップS1606へ進む。
 ステップS1606では、選択されたHDD204内の電子データを特定し、その電子データのハッシュ値を算出する。このハッシュ値が検証対象の文書を表すものであり、ステップS1611での検証処理に使用される。ステップS1607では、画像形成装置101にセットされた紙文書をスキャンする。スキャンは、スキャナI/F207を通じてスキャナ211で紙文書を読み込み、画像データを生成する。
 ステップS1608では、スキャナ211によって画像化されたデータを電子化し、電子データとして一時的にHDD204に保存する。この一時的なデータについては、本フローチャート終了時に削除する。ステップS1609では、ステップS1608でHDD204に保存した電子データに埋め込まれたハッシュ値を取得する。この取得は、前述の図15で説明した印刷フローチャートのステップS1512で埋め込んだ方法に合わせたハッシュ値を取得する処理を行う。
 ステップS1610では、電子データからハッシュ値を取得できたかを判定する。ハッシュ値がある場合にはステップS1611へ進み、ハッシュ値がない場合には検証処理ができないためステップS1614へ進む。ステップS1610まではアプリケーションA404で処理を行っていたが、ステップS1611はブロックチェーンアプリケーション406が処理を実行する。
 ステップS1611では、ブロックチェーン装置111に記録されているトランザクション情報を使用した文書検証処理を行う。この文書検証処理は後述の図17で説明する。その際には、処理種別として文書検証と、ステップS1606もしくはステップS1609において算出/取得した文書ハッシュ値と、クレデンシャル情報A408とを渡す。
 依頼した処理結果の応答を受け取ったら、ステップS1612で検証結果を判定する。検証が成功した場合には、ステップS1613で検証が成功した等のメッセージを表示する標準ダイアログ(不図示)を表示する。また、検証が失敗した場合には、ステップS1614で検証が失敗したもしくは検証不可能である旨のメッセージを表示する標準ダイアログ(不図示)を表示する。それぞれのメッセージ表示後、ユーザがダイアログを閉じる指示を行ったら本フローチャートを終了する。
 図17は、画像形成装置101のブロックチェーンアプリケーション406でブロックチェーン装置111へのトランザクション処理を行うフローチャートである。本フローチャートは、図13から図16までのアプリケーションA404の処理中にブロックチェーンアプリケーション406として起動され、実行される。
 本フローチャート起動時には、アプリケーションA404から、ブロックチェーン装置111への処理種別と、処理種別ごとに必要な情報が渡される。処理種別ごとに必要な情報は、トランザクション登録時にはトランザクション601、文書検証時には検証が必要な文書ハッシュ値602、トランザクション取得時には文書識別情報603である。
 ステップS1701では、ブロックチェーンアプリケーション406はクレデンシャル情報C407とクレデンシャル情報A408をブロックチェーン装置111に渡して、正しいクレデンシャル情報であることを確認する。ここで、クレデンシャル情報C407はブロックチェーンアプリケーション406の起動時にクレデンシャル情報管理部410から取得したものを、クレデンシャル情報A408はアプリケーションA404から取得したものを用いる。
 ステップS1702では、ステップS1701で確認したクレデンシャル情報が正しいものであるかどうかを判定する。正しいか否かの判定は、クレデンシャル情報がデジタル証明書の場合は証明書の検証を行って検証が成功した場合に、正しいクレデンシャル情報であると判断する。また、予め定められたデータ値の場合は値が一致する場合に、正しいクレデンシャル情報であると判断する。正しいクレデンシャルであった場合にはブロックチェーン装置111へのアクセスが可能な状況であるため、ステップS1703に進み、正しいクレデンシャルでなかった場合にはステップS1704に進む。
 ステップS1703では、ブロックチェーンアプリケーション406が受信した処理種別を判定する。トランザクション登録であればステップS1705へ、トランザクション取得であればステップS1710へ、文書検証であればステップS1713へ進む。
 ステップS1704では、本処理フローチャートにおいてブロックチェーン装置111へのアクセス権限を満たしていない旨のエラー情報を生成する。
 ステップS1705では、処理起動時に受け取ったトランザクション情報がそろっているかどうかを確認する。また、文書ハッシュ値602についてはブロックチェーン装置111内に登録されていない事を、元文書ハッシュ値607についてはブロックチェーン装置111内に登録されている事を、ブロックチェーン装置111を検索することで確認する。情報がそろっていない、もしくはハッシュ値が正しい状態ではない場合には、トランザクション情報は不正なものとなる。このチェック結果をステップS1706で判定し、トランザクション情報が正当であればステップS1707へ、不正な情報であればステップS1709のエラー処理へ進む。
 ステップS1707では、ブロックチェーン装置111に対してチェック済みのトランザクション601の登録を依頼する。本ステップではブロックチェーン装置111から登録処理の結果として成功/失敗を受け取る。
 ステップS1708では、そのブロックチェーン装置111からの処理結果を判定し、失敗の場合にはステップS1709のエラー処理へ進み、成功であれば結果通知S1719へ進む。ステップS1709では、本処理フローチャートにおいてトランザクション登録ができない旨のエラー情報を生成する。
 ステップS1710では、処理起動時に受け取った文書識別番号を保持するトランザクションをブロックチェーン装置111から検索し、取得する。検索結果はステップS1711で判定し、トランザクションデータを取得できなかった場合には、対象の文書はブロックチェーン装置111に登録されていないため、ステップS1712のエラー処理へ進む。トランザクションデータを取得できた場合には、ステップS1719へ進む。ステップS1712では、本処理フローチャートにおいてトランザクション取得に失敗した旨のエラー情報を生成する。
 ステップS1713では、処理起動時に受け取ったハッシュ値を文書ハッシュ値として保持するトランザクションをブロックチェーン装置111から検索し取得する。検索結果はステップS1714で判定し、トランザクションデータを取得できなかた場合には、正当なハッシュ値としてステップS1715へ進み、取得できなかった場合には、不正なハッシュ値としてステップS1718のエラー処理へ進む。
 ステップS1715では、ステップS1713で取得したトランザクションに元文書ハッシュ値を持っているかどうかを判定する。元文書ハッシュ値を持っていない場合には、ステップS1707で確認したハッシュ値が一番先頭の文書であるため検証処理は終了となり、ステップS1719へ進む。元文書ハッシュ値を持っている場合、その元文書の存在を確認する必要があるため、ステップS1716へ進む。
 ステップS1716では、処理種別として文書検証を、処理に必要な情報として元文書ハッシュ値を指定し、本図17のフローチャートを再帰実行する。この実行結果はステップS1717で判定し、元文書まで含めた検証が成功した場合には、ステップS1719へ進む。検証が失敗した場合には、ステップS1718のエラー処理へ進む。ステップS1718では、本処理フローチャートにおいて文書検証に失敗した旨のエラー情報を生成する。
 ステップS1719では、それぞれの処理種別ごとの処理成功時の情報として、トランザクション登録の場合には登録完了ステータスを、文書検証の場合には検証成功ステータスを呼び出し元となる処理に通知する。トランザクション取得の場合には取得したトランザクション情報を、またエラー処理が行われている場合にはエラー情報を呼び出し元となる処理に通知する。
 以上、実施例1により、ユーザのログインおよびロールに基づく権限の確認がされたことで、数多くのユーザおよび/または装置に対しブロックチェーンサービスを利用させることができる。
 [その他の実施例]
 本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
 本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために以下の請求項を添付する。
 本願は、2019年7月19日提出の日本国特許出願特願2019-133579を基礎として優先権を主張するものであり、その記載内容の全てをここに援用する。

Claims (13)

  1.  ネットワークを介して電子データを受信し格納する管理サービスと、格納された前記電子データに関する情報をブロック単位で管理し夫々のブロックごとに前および/または後のブロックとの関連を定義した上で複数のブロックを複数のノードで管理するブロックチェーンサービスと連携する情報処理装置であって、
     ユーザの認証に用いる認証情報と、ユーザに付与される権限を示すロール情報とを対応付けて記憶する記憶手段と、
     前記認証情報を受け付けたことに応じて、認証処理を実行し、認証されたユーザをログインさせて、確認されたロール情報に従い前記情報処理装置の機能を利用させるログイン手段と、
     格納された前記電子データに関する情報を前記ブロックチェーンサービスへ提供する連携手段と、を有し、
     確認されたロール情報の中に、前記ブロックチェーンサービスと連携する機能が利用できることを示すロール情報が含まれていると確認された場合は、認証されたユーザに前記連携手段の利用を許可し、前記ブロックチェーンサービスと連携する機能が利用できないことを示すロール情報が含まれていると確認された場合は、認証されたユーザに前記連携手段の利用を許可しないことを特徴とする情報処理装置。
  2.  ネットワークを介して前記電子データを前記管理サービスに送信する、かつ前記ブロックチェーンサービスとは直接は通信しないアプリケーションを有し、前記アプリケーションは前記ブロックチェーンサービスを利用するための指示を認証されたユーザから受け付けた場合、ネットワークを介して前記電子データを前記管理サービスに送信するとともに前記電子データに関する情報を前記連携手段へ送信することを特徴とする請求項1に記載の情報処理装置。
  3.  前記アプリケーションは、前記情報処理装置のスキャン機能を利用する指示をユーザから受け付ける画面情報をリモートUIまたはローカルUIに提供し、認証されたユーザに前記連携手段の利用を許可することが決定されている場合は、前記スキャン機能を利用する指示の他に前記ブロックチェーンサービスを利用する指示または利用しない指示もユーザから受け付ける前記画面情報を提供することを特徴とする請求項2に記載の情報処理装置。
  4.  ネットワークを介して前記電子データを前記管理サービスから受信し印刷する、かつ前記ブロックチェーンサービスとは直接は通信しない印刷アプリケーションを有し、前記印刷アプリケーションは前記管理サービスに格納された前記電子データを印刷する指示を認証されたユーザから受け付けた場合、前記連携手段は前記ブロックチェーンサービスに登録された前記電子データに関する情報を取得し、前記印刷アプリケーションは前記連携手段が前記電子データに関する情報を取得した後に前記電子データを印刷することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5.  前記ログイン手段は、認証を行わずにユーザをログインさせるゲストログインに対応し、ゲストログインしたユーザには前記ブロックチェーンサービスと連携する機能が利用できないことを示すロール情報が付与されることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6.  前記連携手段は、前記ブロックチェーンサービスと連携することが許可されたことを示すクレデンシャル情報を取得しており、
     リモートUIを介して前記ブロックチェーンサービスを利用する指示を前記情報処理装置へ送信する別の情報処理装置のユーザには、前記クレデンシャル情報は提供されないことを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
  7.  ネットワークを介して電子データを受信し格納する管理サービスと、格納された前記電子データに関する情報をブロック単位で管理し夫々のブロックごとに前および/または後のブロックとの関連を定義した上で複数のブロックを複数のノードで管理するブロックチェーンサービスと連携する情報処理装置のプログラムであって、
     ユーザの認証に用いる認証情報と、ユーザに付与される権限を示すロール情報とを対応付けて記憶させる記憶ステップと、
     前記認証情報を受け付けたことに応じて、認証処理を実行し、認証されたユーザをログインさせて、確認されたロール情報に従い前記情報処理装置の機能を利用させるログインステップと、
     格納された前記電子データに関する情報を前記ブロックチェーンサービスへ提供させる連携ステップと、を有し、
     確認されたロール情報の中に、前記ブロックチェーンサービスと連携する機能が利用できることを示すロール情報が含まれていると確認された場合は、認証されたユーザに前記連携ステップの利用を許可し、前記ブロックチェーンサービスと連携する機能が利用できないことを示すロール情報が含まれていると確認された場合は、認証されたユーザに前記連携ステップの利用を許可しないことを特徴とするプログラム。
  8.  前記情報処理装置はネットワークを介して前記電子データを前記管理サービスに送信する、かつ前記ブロックチェーンサービスとは直接は通信しないアプリケーションを有し、前記アプリケーションは前記ブロックチェーンサービスを利用するための指示を認証されたユーザから受け付けた場合、ネットワークを介して前記電子データを前記管理サービスに送信するとともに前記電子データに関する情報を前記連携ステップへ送信することを特徴とする請求項7に記載のプログラム。
  9.  前記アプリケーションは、前記情報処理装置のスキャン機能を利用する指示をユーザから受け付ける画面情報をリモートUIまたはローカルUIに提供し、認証されたユーザに前記連携ステップの利用を許可することが決定されている場合は、前記スキャン機能を利用する指示の他に前記ブロックチェーンサービスを利用する指示または利用しない指示もユーザから受け付ける前記画面情報を提供することを特徴とする請求項8に記載のプログラム。
  10.  ネットワークを介して前記電子データを前記管理サービスから受信し印刷する、かつ前記ブロックチェーンサービスとは直接は通信しない印刷アプリケーションを有し、前記印刷アプリケーションは前記管理サービスに格納された前記電子データを印刷する指示を認証されたユーザから受け付けた場合、前記連携ステップにおいて前記ブロックチェーンサービスに登録された前記電子データに関する情報を取得し、前記印刷アプリケーションは前記連携ステップにおいて前記電子データに関する情報が取得された後に前記電子データを印刷することを特徴とする請求項7乃至9の何れか1項に記載のプログラム。
  11.  前記ログインステップは、認証を行わずにユーザをログインさせるゲストログインに対応し、ゲストログインしたユーザには前記ブロックチェーンサービスと連携する機能が利用できないことを示すロール情報が付与されることを特徴とする請求項7乃至10の何れか1項に記載のプログラム。
  12.  前記連携ステップでは、前記ブロックチェーンサービスと連携することが許可されたことを示すクレデンシャル情報を取得しており、
     リモートUIを介して前記ブロックチェーンサービスを利用する指示を前記情報処理装置へ送信する別の情報処理装置のユーザには、前記クレデンシャル情報は提供されないことを特徴とする請求項7乃至11の何れか1項に記載のプログラム。
  13.  ネットワークを介して電子データを受信し格納する管理サービスと、格納された前記電子データに関する情報をブロック単位で管理し夫々のブロックごとに前および/または後のブロックとの関連を定義した上で複数のブロックを複数のノードで管理するブロックチェーンサービスと連携する情報処理装置の制御方法であって、
     ユーザの認証に用いる認証情報と、ユーザに付与される権限を示すロール情報とを対応付けて記憶する記憶ステップと、
     前記認証情報を受け付けたことに応じて、認証処理を実行し、認証されたユーザをログインさせて、確認されたロール情報に従い前記情報処理装置の機能を利用させるログインステップと、
     格納された前記電子データに関する情報を前記ブロックチェーンサービスへ提供する連携ステップと、を含み、
     確認されたロール情報の中に、前記ブロックチェーンサービスと連携する機能が利用できることを示すロール情報が含まれていると確認された場合は、認証されたユーザは前記連携ステップを利用し、前記ブロックチェーンサービスと連携する機能が利用できないことを示すロール情報が含まれていると確認された場合は、認証されたユーザは前記連携ステップを利用しないことを特徴とする制御方法。
PCT/JP2020/024578 2019-07-19 2020-06-23 情報処理装置、制御方法、プログラム WO2021014863A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202080052299.9A CN114127725A (zh) 2019-07-19 2020-06-23 信息处理装置、控制方法和程序
US17/576,847 US11843751B2 (en) 2019-07-19 2022-01-14 Information processing apparatus, control method, and computer-readable medium for using blockchain to manage electronic data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019133579A JP7423212B2 (ja) 2019-07-19 2019-07-19 情報処理装置、制御方法、プログラム
JP2019-133579 2019-07-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/576,847 Continuation US11843751B2 (en) 2019-07-19 2022-01-14 Information processing apparatus, control method, and computer-readable medium for using blockchain to manage electronic data

Publications (1)

Publication Number Publication Date
WO2021014863A1 true WO2021014863A1 (ja) 2021-01-28

Family

ID=74193415

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/024578 WO2021014863A1 (ja) 2019-07-19 2020-06-23 情報処理装置、制御方法、プログラム

Country Status (4)

Country Link
US (1) US11843751B2 (ja)
JP (1) JP7423212B2 (ja)
CN (1) CN114127725A (ja)
WO (1) WO2021014863A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022259940A1 (ja) * 2021-06-10 2022-12-15 キヤノン株式会社 ブロックチェーンに情報を登録するコンテンツ生成装置、コンテンツ生成装置の制御方法、及びプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7442569B2 (ja) * 2022-04-28 2024-03-04 キヤノン株式会社 情報処理システム、印刷制御方法、プログラム
US11876936B1 (en) * 2022-09-09 2024-01-16 Toshiba Tec Kabushiki System and method for dynamic tabs based selection in a role-based software system user interface

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019053427A (ja) * 2017-09-13 2019-04-04 富士ゼロックス株式会社 情報処理装置、画像ファイルのデータ構造及びプログラム
JP2019092120A (ja) * 2017-11-16 2019-06-13 キヤノン株式会社 情報処理システム、制御方法及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160098723A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
JP6892088B2 (ja) 2017-02-08 2021-06-18 株式会社サテライトオフィス 電子ファイル証明システム
US20200160354A1 (en) * 2017-08-08 2020-05-21 3M Innovative Properties Company Article Attestation System Using Blockchain
US11170092B1 (en) * 2017-12-14 2021-11-09 United Services Automobile Association (Usaa) Document authentication certification with blockchain and distributed ledger techniques
CN110598394B (zh) * 2019-03-28 2021-12-21 腾讯科技(深圳)有限公司 一种权限验证方法、装置和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019053427A (ja) * 2017-09-13 2019-04-04 富士ゼロックス株式会社 情報処理装置、画像ファイルのデータ構造及びプログラム
JP2019092120A (ja) * 2017-11-16 2019-06-13 キヤノン株式会社 情報処理システム、制御方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022259940A1 (ja) * 2021-06-10 2022-12-15 キヤノン株式会社 ブロックチェーンに情報を登録するコンテンツ生成装置、コンテンツ生成装置の制御方法、及びプログラム

Also Published As

Publication number Publication date
US11843751B2 (en) 2023-12-12
US20220141353A1 (en) 2022-05-05
JP2021019272A (ja) 2021-02-15
CN114127725A (zh) 2022-03-01
JP7423212B2 (ja) 2024-01-29

Similar Documents

Publication Publication Date Title
JP7263167B2 (ja) 画像形成装置、制御方法、プログラム
JP5888880B2 (ja) 印刷システム、サーバ装置、画像形成装置および印刷処理方法
WO2021014863A1 (ja) 情報処理装置、制御方法、プログラム
JP6098172B2 (ja) 情報処理システム及びデータ変換方法
US9864939B2 (en) Information processing apparatus, information processing system, method of sharing data, and recording medium storing data sharing control program
JP6098169B2 (ja) 情報処理システム、情報処理装置、プログラム及び認証方法
CN102446077B (zh) 打印系统以及打印方法
US9471328B2 (en) Information processor having program and configuration data stored in different storage areas and reflecting configuration data in operation in program
CN101945193B (zh) 数据处理装置及数据处理装置的控制方法
US20140129607A1 (en) Information processing apparatus, information processing system, and information processing method
US9348994B2 (en) Information processor and system that associate job and user information based on job identifier
JP7490368B2 (ja) 情報処理装置、制御方法、およびプログラム
US20090109477A1 (en) Server apparatus, management system, and method
JP6415040B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP7438771B2 (ja) 画像形成装置、制御方法、およびプログラム
US10291620B2 (en) Information processing apparatus, terminal apparatus, program, and information processing system for collaborative use of authentication information between shared services
US9361315B2 (en) Image display apparatus, image display system, and image display method
JP2010191714A (ja) 情報処理装置及び方法
JP6605060B2 (ja) 情報処理装置とその制御方法、及びプログラム
JP2019197249A (ja) プログラム
JP5081668B2 (ja) 画像処理装置、情報処理方法及び情報処理プログラム
JP6526274B2 (ja) 情報処理装置とその制御方法、及びプログラム
JP2018045632A (ja) 情報配信装置、情報配信プログラム、情報配信システムおよび情報配信方法
JP2007293509A (ja) 情報処理装置及び出力ステータス管理方法
JP2005352901A (ja) 情報処理装置及び出力ステータス管理方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20843526

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20843526

Country of ref document: EP

Kind code of ref document: A1