WO2016009497A1 - データ改竄検知装置、ネットワークサービス提供装置、データ改竄検知方法、ネットワークサービス提供方法、及びプログラム - Google Patents

データ改竄検知装置、ネットワークサービス提供装置、データ改竄検知方法、ネットワークサービス提供方法、及びプログラム Download PDF

Info

Publication number
WO2016009497A1
WO2016009497A1 PCT/JP2014/068815 JP2014068815W WO2016009497A1 WO 2016009497 A1 WO2016009497 A1 WO 2016009497A1 JP 2014068815 W JP2014068815 W JP 2014068815W WO 2016009497 A1 WO2016009497 A1 WO 2016009497A1
Authority
WO
WIPO (PCT)
Prior art keywords
input data
user terminal
input
data
dimensional code
Prior art date
Application number
PCT/JP2014/068815
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 PCT/JP2014/068815 priority Critical patent/WO2016009497A1/ja
Priority to JP2016534022A priority patent/JP6307610B2/ja
Publication of WO2016009497A1 publication Critical patent/WO2016009497A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/42User authentication using separate channels for security data
    • 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

Definitions

  • the present invention relates to a data alteration detection device, a network service provision device, a data alteration detection method, a network service provision method, and a program.
  • Network services such as Internet banking using the Internet are widespread.
  • the user accesses a dedicated site by operating a terminal device such as a PC (Personal Computer), authenticates the user with a password, etc., and then enters the transfer data to use the necessary services such as transfer processing. It becomes possible to do.
  • a terminal device such as a PC (Personal Computer)
  • authenticates the user with a password, etc. and then enters the transfer data to use the necessary services such as transfer processing. It becomes possible to do.
  • Patent Document 1 describes that security of such a service is improved by issuing a one-time password.
  • the present invention has been made in view of such problems, and an object thereof is to provide a data falsification detection device, a data falsification detection method, and a program that can detect falsification of input data in a network service.
  • Another object of the present invention is to provide a network service providing apparatus, a network service providing method, and a program in which input data is not falsified.
  • a data falsification detection device provides: A two-dimensional code display control unit for displaying on the user terminal a two-dimensional code recording a URL (Uniform Resource Locator) for transmitting input data input to the user terminal in order to use the network service; A first data acquisition unit for acquiring input data transmitted from the mobile terminal that has read the two-dimensional code; A second data acquisition unit for acquiring input data from the user terminal; A falsification detection unit that determines that the input data input to the user terminal has been falsified when the input data acquired by the first data acquisition unit does not match the input data acquired by the second data acquisition unit When, Is provided.
  • a two-dimensional code display control unit for displaying on the user terminal a two-dimensional code recording a URL (Uniform Resource Locator) for transmitting input data input to the user terminal in order to use the network service
  • a first data acquisition unit for acquiring input data transmitted from the mobile terminal that has read the two-dimensional code
  • a second data acquisition unit for acquiring input data from the user terminal
  • a falsification detection unit
  • the two-dimensional code display control unit may display the two-dimensional code by transmitting and executing a JAVA (registered trademark) applet for creating the two-dimensional code to the user terminal.
  • JAVA registered trademark
  • the two-dimensional code display control unit displays a two-dimensional code in which a URL for encrypting and transmitting the input data is recorded on the user terminal,
  • the first data acquisition unit may decrypt the encrypted input data.
  • the network service is a transfer system;
  • the input data may be transfer data input to the user terminal in order to use the transfer system.
  • a network service providing apparatus provides: A two-dimensional code display control unit for displaying on the user terminal a two-dimensional code recording a URL (Uniform Resource Locator) for transmitting input data input to the user terminal in order to use the network service; A data acquisition unit for acquiring input data transmitted from the mobile terminal that has read the two-dimensional code; Using the input data acquired by the data acquisition unit, a service execution unit for executing the network service; Is provided.
  • a two-dimensional code display control unit for displaying on the user terminal a two-dimensional code recording a URL (Uniform Resource Locator) for transmitting input data input to the user terminal in order to use the network service
  • a data acquisition unit for acquiring input data transmitted from the mobile terminal that has read the two-dimensional code
  • a service execution unit for executing the network service
  • An input data transmission unit that transmits the input data acquired by the data acquisition unit to the mobile terminal of the transmission source;
  • a confirmation notification receiving unit that receives a confirmation notification from the mobile terminal that has transmitted the input data by the input data transmission unit,
  • the service execution unit may execute the network service when the confirmation notification receiving unit receives the confirmation notification within a predetermined time from the transmission of the input data by the input data transmission unit.
  • the confirmation notification may be an incoming call from the mobile terminal.
  • a data falsification detection method includes: A two-dimensional code recording a URL (Uniform Resource Locator) for transmitting input data input to the user terminal to use the network service is displayed on the user terminal; Obtaining input data transmitted from the mobile terminal that has read the two-dimensional code; Obtaining input data from the user terminal; When the input data acquired from the portable terminal does not match the input data acquired from the user terminal, it is determined that the input data input to the user terminal has been tampered with.
  • URL Uniform Resource Locator
  • a network service providing method includes: A two-dimensional code recording a URL (Uniform Resource Locator) for transmitting input data input to the user terminal to use the network service is displayed on the user terminal; Obtaining input data transmitted from the mobile terminal that has read the two-dimensional code; The network service is executed using the acquired input data.
  • URL Uniform Resource Locator
  • URL Uniform Resource Locator
  • a program provides: Computer A two-dimensional code display control unit for displaying on the user terminal a two-dimensional code recording a URL (Uniform Resource Locator) for transmitting input data input to the user terminal in order to use the network service; A data acquisition unit for acquiring input data transmitted from the mobile terminal that has read the two-dimensional code; A service execution unit that executes the network service using the input data acquired by the data acquisition unit; To function as.
  • a URL Uniform Resource Locator
  • the present invention it is possible to detect falsification of input data in a network service. Further, according to the present invention, it is possible to provide a network service in which input data is not falsified.
  • FIG. 1 is a diagram showing an overall configuration of a transfer system according to an embodiment of the present invention.
  • This transfer system includes a server 10, a user terminal 20 of a user who uses this transfer system, and a mobile terminal 30.
  • the server 10, each user terminal 20, and each portable terminal 30 are connected to each other via the Internet 40 so that they can communicate with each other.
  • the server 10 and each portable terminal 30 are connected via a telephone network 50 so as to be able to make a call or communicate.
  • the server 10 corresponds to the data alteration detection device and the network service providing device of the present invention.
  • the server 10 is, for example, a bank management server, and performs a transfer process for transferring an amount from a bank account to a designated account based on transfer data input by the user to the user terminal 20. Further, prior to the execution of the transfer process, the server 10 determines whether or not the transfer data input by the user has been falsified due to MITB or a man-in-the-middle attack. Do not execute processing.
  • the server 10 is, for example, a PC server or a mainframe, and includes a communication unit 11, a telephone communication unit 12, a storage unit 13, and a control unit 14, as shown in FIG.
  • the server 10 may be comprised from one computer, and may be comprised from the several computer.
  • the server 10 may include an authentication server that mainly executes user authentication processing (login) and falsification detection of transfer data, and a Web server that executes transfer processing for authenticated users. .
  • the communication unit 11 performs data communication with each user terminal 20 and the mobile terminal 30 via the Internet 40 under the control of the control unit 14.
  • the communication unit 11 includes a communication interface such as a communication connector, for example.
  • the telephone communication unit 12 performs a call and data communication with each mobile terminal 30 through the telephone network 50 under the control of the control unit 14.
  • the telephone communication unit 12 includes a communication interface such as a telephone line connection device.
  • the storage unit 13 is a hard disk drive, for example, and stores various data necessary for the server 10 to operate.
  • the storage unit 13 includes a user DB (database) 131, a transaction DB 132, a QR code display applet 133, and a transfer data acquisition applet 134.
  • the user DB 131 stores various types of information related to each user who can use the transfer service. Specifically, as shown in FIG. 3, the user DB 131 stores a user ID, name, password, account information, mobile phone number, and the like for each user.
  • User ID is an ID for uniquely identifying a user.
  • the password is used for user authentication when the user starts the transfer process.
  • the account information is information that identifies an account owned by the user.
  • the mobile phone number is the phone number of the user's mobile terminal 30.
  • the transaction DB 132 stores transaction data created every time a transfer request (QR code creation request) is received from the user. Specifically, as shown in FIG. 4, the transaction DB 132 stores transaction data including a request ID, a one-time ID, an encryption / decryption key, a mobile phone number, status, transfer data, and the like.
  • the request ID is an ID for uniquely identifying transaction data.
  • the one-time ID is a temporary ID recorded in a QR code (registered trademark) together with the transfer data.
  • the one-time ID is a 32-digit random character string.
  • the encryption / decryption key is key information for encrypting and decrypting the transfer data.
  • the encryption / decryption key is a 16-digit random character string.
  • the status indicates the progress of processing corresponding to the transaction data.
  • the QR code display applet 133 is a JAVA applet that is transmitted to the user terminal 20 and executed.
  • a QR code in which a URL for transmitting the transfer data input to the user terminal 20 to the server 10 is created and displayed on the user terminal 20.
  • the transfer data acquisition applet 134 is a JAVA applet that is transmitted to the user terminal 20 and executed. By executing the transfer data acquisition applet 134, the transfer data input to the user terminal 20 is transmitted to the server 10 via the Internet 40.
  • the control unit 14 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like (none of which are shown).
  • the CPU uses the RAM as a work memory, and a ROM or a storage unit.
  • the entire server 10 is controlled by appropriately executing various programs stored in 13.
  • control unit 14 when starting the transfer process, the control unit 14 performs a process of determining whether or not the transfer data input to the user terminal 20 has been falsified. Details of this processing performed by the control unit 14 will be described later.
  • the user terminal 20 is a general PC, for example, and is connected to the server 10 via the Internet 40.
  • the user can use the transfer service provided by the server 10 from the user terminal 20.
  • the user terminal 20 includes a communication unit 21, an input unit 22, a display unit 23, a storage unit 24, and a control unit 25.
  • the communication unit 21 includes a communication interface, and performs data communication with the server 10 via the Internet 40 under the control of the control unit 25.
  • the input unit 22 includes a keyboard and a mouse, and is used to input various information to the user terminal 20.
  • the user operates the input unit 22 to input a user ID and password necessary for logging in, or input transfer data such as an account number and an amount necessary for the transfer process.
  • the display unit 23 is a liquid crystal display, for example, and outputs various information under the control of the control unit 25.
  • the display unit 23 displays a login screen and a transfer data input screen described later.
  • the storage unit 24 is, for example, a hard disk drive and stores various data necessary for the user terminal 20 to operate.
  • the JAVA applet (QR code display applet 133, transfer data acquisition applet 134) transmitted from the server 10 is temporarily stored in the storage unit 24.
  • the control unit 25 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like (none of which are shown), and the CPU uses the RAM as a work memory, and a ROM and a storage unit.
  • the entire user terminal 20 is controlled by appropriately executing the various programs stored in 24.
  • the mobile terminal 30 is, for example, a mobile phone or a smartphone, and is connected to the server 10 via the Internet 40 and the telephone network 50.
  • the mobile terminal 30 is used to determine whether the transfer data input to the user terminal 20 has been tampered with.
  • the mobile terminal 30 includes a communication unit 31, a telephone communication unit 32, an input unit 33, a display unit 34, a two-dimensional code reading unit 35, a storage unit 36, and a control unit 37. .
  • the communication unit 31 performs data communication with the server 10 via the Internet 40 under the control of the control unit 37.
  • the communication unit 31 includes a communication interface such as a communication connector, for example.
  • the telephone communication unit 32 performs a call and data communication with the server 10 via the telephone network 50 under the control of the control unit 37.
  • the input unit 33 is a touch panel, for example, and is used for inputting various information to the mobile terminal 30.
  • the user operates the input unit 33 to perform an operation for making a telephone call to the server 30.
  • the display unit 34 is a liquid crystal display, for example, and outputs various information under the control of the control unit 37. For example, the transfer data received from the server 10 is displayed on the display unit 34.
  • the two-dimensional code reading unit 35 includes a camera or the like, reads information recorded in a two-dimensional code such as a QR code, and outputs the information to the control unit 37.
  • the two-dimensional code reading unit 35 is mounted as a standard in a general mobile phone or smartphone.
  • the storage unit 36 is, for example, a flash memory, and stores various data necessary for the mobile terminal 30 to operate.
  • the control unit 37 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like (none of which are shown).
  • the CPU uses the RAM as a work memory, and the ROM and storage unit.
  • the entire portable terminal 30 is controlled by appropriately executing various programs stored in 36.
  • a user who wants to use the transfer service operates the input unit 22 of the user terminal 20 to display a login screen for starting the transfer service on the display unit 23. Then, the user operates the input unit 22 to input his / her user ID and password on the login screen, and clicks the login button on the login screen. When the login button is clicked, the control unit 25 transmits a login request including the input user ID and password to the server 10 (step S101).
  • the control unit 14 of the server 10 uses the user ID and password included in the login request to perform user authentication to confirm that the user can use the transfer service (step S102). . Specifically, the control unit 14 may perform user authentication by confirming that a record including the user ID and password included in the received login request is registered in the user DB 131. If no corresponding record is registered in the user DB 131, the user authentication is unsuccessful and the process ends as an error.
  • the control unit 14 of the server 10 transmits a menu screen to the user terminal 20 (step S103), and the menu screen is displayed on the display unit 23 of the user terminal 20 (step S104).
  • the user operates the input unit 22 of the user terminal 20 to select a transfer process from the menu on the menu screen, and the control unit 25 displays a transfer data input screen as shown in FIG. 10 on the display unit 23 (step S105). ).
  • the transfer data has already been input.
  • the user operates the input unit 22 of the user terminal 20 to input transfer data such as the bank name, account number, and transfer amount of the transfer destination from the transfer data input screen, and clicks the input completion button.
  • the control unit 25 of the user terminal 20 transmits a QR code creation request to the server 10 (step S106).
  • the QR code creation request includes the user ID of the user, but does not include the input transfer data.
  • the control unit 14 of the server 10 When receiving the QR code creation request, the control unit 14 of the server 10 generates transaction data corresponding to the current process and registers it in the transaction DB 132 (step S107). Note that the status of the transaction data generated by this process is “1” indicating the start of the process.
  • the mobile phone number of the generated transaction data may be obtained by referring to the user DB 131 and acquiring the mobile phone number of the corresponding user (user ID). Note that the transfer data of the transaction data generated by this process is empty.
  • the control unit 14 of the server 10 transmits the QR code display applet 133 to the user terminal 20 that is the transmission source of the QR code creation request to be executed (step S108).
  • the control unit 25 of the user terminal 20 executes the QR code display applet 133 received from the server 10 and executes processing defined by the applet. That is, the control unit 25 creates a QR code that records a URL (Uniform Resource Locator) for transmitting the transfer data input on the transfer data input screen to the server 10 by processing of the QR code display applet 133. QR code display processing to be displayed on the display unit 23 is executed (step S109). According to the specifications of the JAVA applet, when executing the QR code display applet 133, a confirmation dialog with an electronic certificate of the administrator of the server 10 is popped up on the display unit 23 of the user terminal 20, The QR code display applet 133 is not executed unless a confirmation operation (for example, click of OK button) is waited.
  • a confirmation operation for example, click of OK button
  • control unit 25 of the user terminal 20 transmits an information acquisition request to the transaction DB 132 of the storage unit 13 of the server 10, and acquires a one-time ID and an encryption / decryption key from the transaction data created and registered in step S107. (Step S21).
  • control unit 25 encrypts the transfer data input on the transfer data input screen using the acquired encryption / decryption key (step S22).
  • the control unit 25 creates a URL for notifying the server 10 of the encrypted transfer data and the acquired one-time ID (step S23).
  • FIG. 12 shows an example of the URL created.
  • a URL in which encrypted transfer data and a one-time ID are added as parameters v1 and v2 to the URL for accessing the server 10 is created.
  • the control unit 25 of the user terminal 20 creates a QR code recording the created URL by a known method and displays it on the transfer data input screen as shown in FIG. 13 (step S24). At this time, the control unit 25 deletes the “input completion” button displayed on the transfer data input screen shown in FIG. 10 and changes the displayed message to a message prompting reading of the QR code.
  • step S25 the control unit 25 of the user terminal 20 transmits a QR code display completion notification to the server 10 (step S25). This is the end of the QR code display process.
  • the user brings the two-dimensional code reading unit 35 of the portable terminal 30 close to the QR code displayed on the transfer data input screen of the display unit 23 of the user terminal 20 by the QR code display process and inputs the QR code.
  • the unit 33 is operated to instruct activation of an application for QR code reading.
  • the two-dimensional code reading unit 35 captures an image of the QR code that is in close proximity, analyzes the image data, and reads the recorded URL (step S110).
  • the control part 37 of the portable terminal 30 accesses the server 10 with URL read by the two-dimensional code reading part 35 via the internet 40 (FIG. 8, step S111).
  • the control unit 14 of the server 10 acquires the encrypted transfer data and the one-time ID from the parameter of the accessed URL (step S112). Then, the control unit 14 determines whether or not the acquired one-time ID is registered in the transaction DB 132 (step S113).
  • step S113; No If the one-time ID is not registered (step S113; No), the control unit 14 of the server 10 ends the process as an error. On the other hand, when the one-time ID is registered (step S113; Yes), the control unit 14 acquires transaction data having the one-time ID from the transaction DB 132 (step S114).
  • control unit 14 of the server 10 decrypts the encrypted transfer data acquired in step S112 by using the encryption decryption key included in the acquired transaction data (step S115), and this data in the transaction DB 132 is stored in the transaction DB 132. Store in the transaction data (step S116).
  • control unit 14 of the server 10 transmits and executes the transfer data acquisition applet 134 to the user terminal 20 (step S117).
  • the control unit 25 of the user terminal 20 transmits the transfer data input on the transfer data input screen to the server 10 via the Internet 40 by the processing of the transfer data acquisition applet 134 (FIG. 9, step S118). .
  • control unit 14 of the server 10 When receiving the transfer data from the user terminal 20, the control unit 14 of the server 10 decrypts the transfer data in steps S115 to S116 and stores the transfer data stored in the transaction data in the transaction DB 132 (that is, acquired from the mobile terminal 30). It is determined whether or not it coincides with (transfer data) (step S119). Note that the control unit 14 may generate a hash value from both transfer data by a known method and confirm that the hash values match.
  • step S119 If the transfer data does not match (step S119; No), it is found that the transfer data has been tampered with, and the control unit 14 of the server 10 notifies the user terminal 20 to that effect and ends the processing as an error. On the other hand, if the transfer data match (step S119; Yes), it is found that the transfer data received from the user terminal 20 has not been tampered with, and the control unit 14 of the server 10 uses this transfer data as the URL access. A reply is made to the mobile terminal 30 that was present (step S120).
  • the control part 37 of the portable terminal 30 displays the transfer data returned from the server 10 on the display part 34, as shown in FIG. 14 (step S121).
  • the user confirms that the transfer data displayed on the display unit 34 of the mobile terminal 30 matches the transfer data (FIG. 13) displayed on the transfer data input screen of the display unit 23 of the user terminal 20. If they match, the telephone number portion (03-1234-5678) at the bottom of the screen is clicked. This telephone number represents the local telephone number of the server 10.
  • the control unit 37 of the mobile terminal 30 makes a telephone call to the server 10 via the telephone network 50 as a confirmation notice of the transfer process start (FIG. 9, step S122). This process is to notify the server 10 of the caller number of the mobile terminal 30. For this reason, the control unit 14 of the server 10 disconnects the incoming call immediately after detecting the incoming number (so-called one-off).
  • the control unit 14 of the server 10 confirms that there is a confirmation notification from the mobile terminal 30 within a predetermined time (for example, within 5 minutes) after transmitting (replying) the transfer data in Step S120 (Step S123). Specifically, the control unit 14 may confirm that the incoming call by the mobile phone number included in the transaction data generated in step S107 is made within a predetermined time. If there is no incoming call from the portable terminal 30 within a predetermined time, the control unit 14 ends the process as an error.
  • a predetermined time for example, within 5 minutes
  • the control unit 14 of the server 10 receives the transfer data received from the user terminal 20 from the user account indicated by the account information in the user DB 131.
  • the transfer process for transferring the designated amount to the designated account shown is started (step S124). This transfer process may be performed by an external bank server or the like.
  • control unit 14 of the server 10 deletes the corresponding transaction data from the transaction DB 132 and notifies the user terminal 20 of the completion of the transfer process (step S125). And the control part 25 of the user terminal 20 displays the transfer process completion screen on the display part 23 (step S126). This is the end of the transfer process.
  • the server 10 creates and displays a two-dimensional code (QR code) in which the URL for acquiring the input transfer data is recorded on the user terminal 20. Then, the server 10 compares the transfer data transmitted from the mobile terminal 30 that has read the QR code with the transfer data transmitted from the user terminal 20, and determines that the transfer data has been falsified if there is a mismatch. For this reason, it becomes possible to reliably detect falsification of transfer data (input data) in a network service such as a transfer system.
  • QR code two-dimensional code
  • this two-dimensional code is created by processing of a JAVA applet (QR code display applet 133) that the server 10 transmits to the user terminal 20 to execute.
  • a JAVA applet has a powerful security mechanism called a sandbox, and when executed, a confirmation dialog with an electronic certificate is displayed. Therefore, the QR code created by the JAVA applet process can be falsified. The nature is extremely low. Therefore, the transfer data transmitted from the mobile terminal 30 that has read the QR code is the content of the transfer data input on the screen without fear of falsification, and is compared with the transfer data acquired from the user terminal 20. Thus, it becomes possible to reliably detect tampering.
  • the transfer data transmitted from the mobile terminal 30 that has read the QR code is encrypted. Therefore, even if this QR code is read by a third party, there is no risk of transfer data leaking, and high security can be ensured.
  • the server 10 transmits the transfer data to the user's portable terminal 30, it can be confirmed that the transfer data is not falsified by the user's visual observation. Further, since the transfer process is started only when there is an incoming call (confirmation notification) from the portable terminal 30 of the user who confirmed the transfer data, impersonation using an illegally obtained user ID and password is also prevented. It becomes possible.
  • the transfer data transmitted from the mobile terminal 30 that has read the QR code is compared with the transfer data transmitted from the user terminal 20, and the transfer data is falsified if they match. Transfer processing was performed as if there was no. However, since the transfer data acquired from the mobile terminal 30 via the QR code has no fear of falsification, the transfer process may be performed directly using the transfer data acquired from the mobile terminal 30 without performing such a comparison. .
  • the user terminal 20 transmits a login request to the server 10
  • the server 10 transmits the QR code display applet 133 to display the QR code on the user terminal 20, and the data transmitted from the user terminal 20 that has read the QR code.
  • the processing from step S101 to S115 for obtaining the transfer data by decrypting is the same as the operation described so far (FIGS. 7 and 8).
  • control unit 14 of the server 10 returns the transfer data decrypted in step S115 to the mobile terminal 30 that has been accessed with the URL (step S201).
  • control part 37 of the portable terminal 30 displays the transfer data returned from the server 10 on the display part 34, as shown in FIG. 14 (step S202). This process is practically the same as step S121 in FIG.
  • the user matches the transfer data displayed on the display unit 34 of the mobile terminal 30 with the transfer data (FIG. 13) displayed on the transfer data input screen of the display unit 23 of the user terminal 20.
  • the telephone number part (03-1234-5678) at the bottom of the screen is clicked as a confirmation notice of the transfer process start, and the control unit 37 of the mobile terminal 30 passes through the telephone network 50.
  • a telephone call is made to the server 10 (FIG. 9, step S203). This process is practically the same as step S122 in FIG.
  • the control unit 14 of the server 10 confirms that there is a confirmation notification (incoming call) from the mobile terminal 30 within a predetermined time (for example, within 5 minutes) after transmitting (replying) the transfer data in Step S201 (Step S201). S204). This process is practically the same as step S123 in FIG.
  • the control unit 14 of the server 10 receives from the mobile terminal 30 from the user account indicated by the account information in the user DB 131 and performs step S115.
  • the transfer process of transferring the specified amount to the specified account indicated by the transfer data decrypted in step S205 is started.
  • the control unit 14 notifies the user terminal 20 to that effect (step S206), and the control unit 25 of the user terminal 20 displays a transfer process completion screen on the display unit 23 (step S207). ). This is the end of the transfer process.
  • the transfer process is directly performed using the data acquired from the mobile terminal 30 via the QR code without acquiring the transfer data from the user terminal 20, the process can be further shortened.
  • the server 10 acquires the transfer data from the user terminal via the Internet 40 by transmitting and executing the transfer data acquisition applet 134 (steps S117 and S118 in FIGS. 8 and 9). ).
  • the transfer data input on the transfer data input screen may be transmitted to the server 10 together with the QR code creation request.
  • the transfer data may be transmitted to the server 10 each time the transfer data is input on the transfer data input screen.
  • the detection of falsification of transfer data in the transfer system has been described.
  • the present invention is also applicable to detection of falsification of input data in other network services.
  • the present invention can be similarly applied to detection of falsification of reservation data input by a user in a ticket reservation system using the Internet 40.
  • the server 10 transmits the JAVA applet (QR code display applet 133) to the user terminal 20 to execute it, but the QR code is created.
  • the QR code is created.
  • other applets and programs other than the JAVA applet are transmitted. May be executed.
  • the server 10 displays the QR code in which the URL for transmitting the transfer data is recorded on the user terminal 20, but instead of the QR code, the CP code, the Sema code, or the like in which the URL is recorded. Other two-dimensional codes such as may be displayed.
  • the server 10 may be realized by a dedicated system or an ordinary computer system.
  • the server 10 may be configured by storing and distributing a program for executing the above-described operation in a computer-readable recording medium, installing the program in a computer, and executing the above-described processing.
  • the program may be stored in a disk device provided in a server device on a network such as the Internet so that it can be downloaded to a computer.
  • the above functions may be realized by cooperation between the OS and application software. In this case, a part other than the OS may be stored and distributed in a medium, or a part other than the OS may be stored in a server device and downloaded to a computer.
  • the present invention is suitably used for systems such as net banking.
  • Server 10 20 User terminal, 30 Mobile terminal, 40 Internet, 50 Telephone network, 11, 21, 31 Communication unit, 12, 32 Telephone communication unit, 13, 24, 36 Storage unit, 131 User DB, 132 Transaction DB, 133 QR code display applet, 134 transfer data acquisition applet, 14, 25, 37 control unit, 22, 33 input unit, 23, 34 display unit, 35 two-dimensional code reading unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

 サーバ(データ改竄検知装置)(10)は、ユーザ端末(20)に入力された入力データを送信するためのURLを記録した2次元コードを表示させ、この2次元コードを読み取った携帯端末(30)から送信された入力データを取得する。また、サーバ(10)は、ユーザ端末(20)から入力データを取得する。そして、サーバ(10)は、携帯端末(30)から取得した入力データとユーザ端末(20)から取得した入力データとが一致しない場合に、ユーザ端末(20)から取得した入力データは改竄されていると判別する。

Description

データ改竄検知装置、ネットワークサービス提供装置、データ改竄検知方法、ネットワークサービス提供方法、及びプログラム
 本発明は、データ改竄検知装置、ネットワークサービス提供装置、データ改竄検知方法、ネットワークサービス提供方法、及びプログラムに関する。
 インターネットを利用したネットバンキング等のネットワークサービスが普及している。ユーザは、PC(Personal Computer)等の端末装置を操作して専用のサイトにアクセスし、パスワード等による本人認証を行った後、振込データ等を入力して、振込処理等の必要なサービスを利用することが可能となる。
 また、特許文献1には、ワンタイムパスワードを発行することでこのようなサービスのセキュリティを向上させることについて記載されている。
特開2007-328381号公報
 特許文献1等に開示された技術により正しくユーザ認証ができたとしても、その後、ユーザが入力したデータを裏側で改竄する中間者攻撃やMITB(マン・イン・ザ・ブラウザ・アタック)を防ぐことは難しい。ユーザは正しいデータを入力したつもりであり、端末装置の画面には正しい処理内容が表示されるため、ユーザがデータの改竄に気付くのは困難なためである。
 本発明は、このような問題に鑑みてなされたものであり、ネットワークサービスにおける入力データの改竄を検知することができるデータ改竄検知装置、データ改竄検知方法、及びプログラムを提供することを目的とする。また、本発明は、入力データが改竄されることのないネットワークサービス提供装置、ネットワークサービス提供方法、及びプログラムを提供することを目的とする。
 上記目的を達成するため、本発明の第1の観点に係るデータ改竄検知装置は、
 ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのURL(Uniform Resource Locator)を記録した2次元コードを該ユーザ端末に表示させる2次元コード表示制御部と、
 前記2次元コードを読み取った携帯端末から送信された入力データを取得する第1データ取得部と、
 前記ユーザ端末から入力データを取得する第2データ取得部と、
 前記第1データ取得部が取得した入力データと前記第2データ取得部が取得した入力データとが一致しない場合に、前記ユーザ端末に入力された入力データは改竄されていると判別する改竄検知部と、
 を備える。
 前記2次元コード表示制御部は、前記ユーザ端末に前記2次元コードを作成するためのJAVA(登録商標)アプレットを送信して実行させることにより、該2次元コードを表示させてもよい。
 前記2次元コード表示制御部は、前記入力データを暗号化して送信するためのURLを記録した2次元コードを前記ユーザ端末に表示させ、
 前記第1データ取得部は、暗号化された入力データを復号化してもよい。
 前記ネットワークサービスは振込システムであり、
 前記入力データは、前記振込システムを利用するために前記ユーザ端末に入力された振込データであってもよい。
 上記目的を達成するため、本発明の第2の観点に係るネットワークサービス提供装置は、
 ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのURL(Uniform Resource Locator)を記録した2次元コードを該ユーザ端末に表示させる2次元コード表示制御部と、
 前記2次元コードを読み取った携帯端末から送信された入力データを取得するデータ取得部と、
 前記データ取得部が取得した入力データを用いて、前記ネットワークサービスを実行するサービス実行部と、
 を備える。
 前記データ取得部が取得した入力データを送信元の携帯端末に送信する入力データ送信部と、
 前記入力データ送信部により入力データを送信した携帯端末からの確認通知を受信する確認通知受信部と、を備え、
 前記サービス実行部は、前記入力データ送信部による前記入力データの送信から、所定時間以内に、前記確認通知受信部が確認通知を受信した場合に、前記ネットワークサービスを実行してもよい。
 前記確認通知は、前記携帯端末からの電話着信であってもよい。
 上記目的を達成するため、本発明の第3の観点に係るデータ改竄検知方法は、
 ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのURL(Uniform Resource Locator)を記録した2次元コードを該ユーザ端末に表示させ、
 前記2次元コードを読み取った携帯端末から送信された入力データを取得し、
 前記ユーザ端末から入力データを取得し、
 前記携帯端末から取得した入力データと前記ユーザ端末から取得した入力データとが一致しない場合に、前記ユーザ端末に入力された入力データは改竄されていると判別する。
 上記目的を達成するため、本発明の第4の観点に係るネットワークサービス提供方法は、
 ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのURL(Uniform Resource Locator)を記録した2次元コードを該ユーザ端末に表示させ、
 前記2次元コードを読み取った携帯端末から送信された入力データを取得し、
 取得した入力データを用いて、前記ネットワークサービスを実行する。
 上記目的を達成するため、本発明の第5の観点に係るプログラムは、
 コンピュータを、
 ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのURL(Uniform Resource Locator)を記録した2次元コードを該ユーザ端末に表示させる2次元コード表示制御部、
 前記2次元コードを読み取った携帯端末から送信された入力データを取得する第1データ取得部、
 前記ユーザ端末から入力データを取得する第2データ取得部、
 前記第1データ取得部が取得した入力データと前記第2データ取得部が取得した入力データとが一致しない場合に、前記ユーザ端末に入力された入力データは改竄されていると判別する改竄検知部、
 として機能させる。
 上記目的を達成するため、本発明の第6の観点に係るプログラムは、
 コンピュータを、
 ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのURL(Uniform Resource Locator)を記録した2次元コードを該ユーザ端末に表示させる2次元コード表示制御部、
 前記2次元コードを読み取った携帯端末から送信された入力データを取得するデータ取得部、
 前記データ取得部が取得した入力データを用いて、前記ネットワークサービスを実行するサービス実行部、
 として機能させる。
 本発明によれば、ネットワークサービスにおける入力データの改竄を検知することができる。また、本発明によれば、入力データが改竄されることのないネットワークサービスを提供することができる。
本発明の実施形態に係る振込システムの全体構成を示す図である。 サーバの構成を示すブロック図である。 ユーザDBに記憶されている情報の例を示す図である。 トランザクションDBに記憶されている情報の例を示す図である。 ユーザ端末の構成を示すブロック図である。 携帯端末の構成を示すブロック図である。 本発明の実施形態に係る振込システムの動作を説明するためのフローチャート(その1)である。 本発明の実施形態に係る振込システムの動作を説明するためのフローチャート(その2)である。 本発明の実施形態に係る振込システムの動作を説明するためのフローチャート(その3)である。 振込データ入力画面の例を示す図である。 QRコード表示処理の動作を説明するためのフローチャートである。 QRコードに記録されるURLの例を示す図である。 QRコードを表示した振込データ入力画面の例を示す図である。 携帯端末に表示される振込データ確認画面の例を示す図である。 本発明の実施形態に係る振込システムの動作の別例を説明するためのフローチャートである。
 以下、本発明の実施形態について図面を参照しながら詳細に説明する。なお、図中、同一または同等の部分には同一の符号を付す。
 図1は、本発明の実施形態に係る振込システムの全体構成を示す図である。この振込システムは、サーバ10と、この振込システムを利用するユーザのユーザ端末20と、携帯端末30と、を備える。サーバ10と各ユーザ端末20および各携帯端末30は、インターネット40を介して互いに通信可能に接続されている。また、サーバ10と各携帯端末30とは、電話網50を介して通話や通信可能に接続されている。
 サーバ10は、本発明のデータ改竄検知装置、及びネットワークサービス提供装置に相当する。サーバ10は、例えば銀行の管理サーバであり、ユーザがユーザ端末20に入力した振込みデータに基づいて、当該銀行の口座から指定された口座に金額を振り込むための振込処理を実施する。また、サーバ10は、この振込処理の実施に先立って、MITBや中間者攻撃等により、ユーザが入力した振込データが改竄されているか否かを判別し、改竄されていると判別した場合は振込処理を実行しない。
 続いて、サーバ10の構成について説明する。サーバ10は、例えば、PCサーバやメインフレームなどであり、図2に示すように、通信部11と、電話通信部12と、記憶部13と、制御部14と、を備える。なお、サーバ10は、1台のコンピュータから構成されていてもよいし、複数台のコンピュータから構成されていてもよい。例えば、サーバ10は、ユーザの認証処理(ログイン)や振込データの改竄検知を主に実行する認証サーバと、認証後のユーザに対して振込処理を実行するWebサーバと、から構成されてもよい。
 通信部11は、制御部14の制御の下、インターネット40を介して、各ユーザ端末20や携帯端末30とデータ通信を行う。通信部11は、例えば、通信コネクタなどの通信インタフェースを備える。
 電話通信部12は、制御部14の制御の下、電話網50を介して、各携帯端末30と通話やデータ通信を行う。電話通信部12は、例えば、電話回線接続装置などの通信インタフェースを備える。
 記憶部13は、例えば、ハードディスクドライブなどであり、サーバ10が動作するために必要な各種のデータを記憶する。例えば、記憶部13は、ユーザDB(データベース)131と、トランザクションDB132と、QRコード表示用アプレット133と、振込データ取得用アプレット134と、を備える。
 ユーザDB131には、振込サービスを利用可能なユーザ毎に、該ユーザに関する各種の情報が記憶される。具体的には、図3に示すように、ユーザDB131には、ユーザ毎に、ユーザID、氏名、パスワード、口座情報、携帯電話番号等が記憶される。
 ユーザIDは、ユーザを一意に識別するためのIDである。パスワードは、ユーザが振込処理を開始する際のユーザ認証に利用される。口座情報は、ユーザが所有する口座を特定する情報である。携帯電話番号は、ユーザの携帯端末30の電話番号である。
 図2に戻り、トランザクションDB132には、ユーザからの振込依頼(QRコード作成要求)を受信する度に作成されるトランザクションデータが記憶される。具体的には、図4に示すように、トランザクションDB132には、依頼ID、ワンタイムID、暗号復号化キー、携帯電話番号、ステータス、振込データ等から構成されるトランザクションデータが記憶される。
 依頼IDは、トランザクションデータを一意に識別するためのIDである。ワンタイムIDは、振込データとともにQRコード(登録商標)に記録される一時的なIDである。例えば、ワンタイムIDは、32桁のランダムな文字列である。暗号復号化キーは、振込データを暗号化及び復号化するためのキー情報である。例えば、暗号復号化キーは、16桁のランダムな文字列である。ステータスは、このトランザクションデータに対応する処理の進捗状況を示す。
 図2に戻り、QRコード表示用アプレット133は、ユーザ端末20に送信されて実行されるJAVAアプレットである。QRコード表示用アプレット133が実行されることにより、ユーザ端末20に入力された振込データをサーバ10に送信するためのURLが記録されたQRコードが作成されて、ユーザ端末20に表示される。
 振込データ取得用アプレット134は、ユーザ端末20に送信されて実行されるJAVAアプレットである。振込データ取得用アプレット134が実行されることにより、ユーザ端末20に入力された振込データが、インターネット40を介して、サーバ10に送信される。
 制御部14は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等(何れも図示せず)を備え、CPUが、RAMをワークメモリとして用い、ROMや記憶部13に記憶されている各種プログラムを適宜実行することにより、サーバ10の全体を制御する。
 また、制御部14は、振込処理を開始する際に、ユーザ端末20に入力された振込データが改竄されていないか否かを判別する処理を行う。制御部14が行うこの処理の詳細については後述する。
 図1に戻り、続いて、ユーザ端末20について説明する。ユーザ端末20は、例えば、一般的なPCであり、インターネット40を介して、サーバ10に接続される。ユーザは、ユーザ端末20から、サーバ10が提供する振込サービスを利用することができる。ユーザ端末20は、図5に示すように、通信部21と、入力部22と、表示部23と、記憶部24と、制御部25と、を備える。
 通信部21は、通信インタフェースを備え、制御部25の制御の下、インターネット40を介して、サーバ10とデータ通信を行う。
 入力部22は、キーボードやマウス等から構成され、ユーザ端末20に様々な情報を入力するために使用される。例えば、ユーザは、入力部22を操作して、ログインするために必要なユーザIDやパスワードを入力したり、振込処理に必要な口座番号や金額等の振込データを入力する。
 表示部23は、例えば液晶ディスプレイ等であり、制御部25の制御の下、様々な情報を出力する。例えば、表示部23には、後述するログイン画面や振込データ入力画面が表示される。
 記憶部24は、例えば、ハードディスクトライブであり、ユーザ端末20が動作するために必要な各種のデータを記憶する。また、記憶部24には、サーバ10から送信されたJAVAアプレット(QRコード表示用アプレット133,振込データ取得用アプレット134)が一時的に記憶される。
 制御部25は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等(何れも図示せず)を備え、CPUが、RAMをワークメモリとして用い、ROMや記憶部24に記憶されている各種プログラムを適宜実行することにより、ユーザ端末20の全体を制御する。
 続いて、図1に戻り、携帯端末30について説明する。携帯端末30は、例えば、携帯電話やスマートフォンであり、インターネット40および電話網50を介してサーバ10に接続される。携帯端末30は、ユーザ端末20に入力された振込データが改竄されていないかを判別するために利用される。携帯端末30は、図6に示すように、通信部31と、電話通信部32と、入力部33と、表示部34と、2次元コード読取部35と、記憶部36と、制御部37と、を備える。
 通信部31は、制御部37の制御の下、インターネット40を介して、サーバ10とデータ通信を行う。通信部31は、例えば、通信コネクタなどの通信インタフェースを備える。
 電話通信部32は、制御部37の制御の下、電話網50を介して、サーバ10と通話やデータ通信を行う。
 入力部33は、例えばタッチパネル等であり、携帯端末30に様々な情報を入力するために使用される。例えば、ユーザは、入力部33を操作して、サーバ30に電話発信するための操作を行う。
 表示部34は、例えば液晶ディスプレイ等であり、制御部37の制御の下、様々な情報を出力する。例えば、表示部34には、サーバ10から受信した振込データが表示される。
 2次元コード読取部35はカメラ等を備え、QRコード等の2次元コードに記録された情報を読み取り、制御部37に出力する。なお、2次元コード読取部35は、一般的な携帯電話やスマートフォンに標準で搭載されている。
 記憶部36は、例えば、フラッシュメモリであり、携帯端末30が動作するために必要な各種のデータを記憶する。
 制御部37は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等(何れも図示せず)を備え、CPUが、RAMをワークメモリとして用い、ROMや記憶部36に記憶されている各種プログラムを適宜実行することにより、携帯端末30の全体を制御する。
 続いて、上述した振込システムの動作について、図7~9のフローチャートを用いて説明する。
 振込サービスを利用したいユーザは、ユーザ端末20の入力部22を操作して、振込サービス開始用のログイン画面を表示部23に表示させる。そして、ユーザは、入力部22を操作して、ログイン画面に自分のユーザIDとパスワードとを入力し、ログイン画面のログインボタンをクリックする。ログインボタンがクリックされると、制御部25は、入力されたユーザIDとパスワードとを含んだログイン要求をサーバ10に送信する(ステップS101)。
 ログイン要求を受信すると、サーバ10の制御部14は、このログイン要求に含まれるユーザIDとパスワードとを用いて、ユーザが振込サービスを利用可能であることを確認するユーザ認証を行う(ステップS102)。具体的には、制御部14は、受信したログイン要求に含まれるユーザIDとパスワードとを含むレコードがユーザDB131に登録されていることを確認してユーザ認証を行えばよい。なお、ユーザDB131に該当するレコードが登録されていない場合、ユーザ認証は不成功となりエラーとして処理は終了する。
 ユーザ認証に成功するとサーバ10の制御部14は、メニュー画面をユーザ端末20に送信し(ステップS103)、ユーザ端末20の表示部23にはメニュー画面が表示される(ステップS104)。ユーザは、ユーザ端末20の入力部22を操作してメニュー画面のメニューから振込処理を選択し、制御部25は、図10に示すような振込データ入力画面を表示部23に表示させる(ステップS105)。なお、図10に示す振込データ入力画面では、既に振込データが入力されている状態である。
 続いて、ユーザは、ユーザ端末20の入力部22を操作して、振込データ入力画面から振込先の銀行名や口座番号や振込金額等の振込データを入力し、入力完了ボタンをクリックする。このクリック動作に応じて、ユーザ端末20の制御部25は、QRコード作成要求をサーバ10に送信する(ステップS106)。なお、このQRコード作成要求には、ユーザのユーザIDは含まれているものの、入力された振込データは含まれていない。
 QRコード作成要求を受信すると、サーバ10の制御部14は、今回の処理に対応するトランザクションデータを生成し、トランザクションDB132に登録する(ステップS107)。なお、この処理で生成されるトランザクションデータのステータスは、処理開始を表す「1」とする。また、生成されるトランザクションデータの携帯電話番号は、ユーザDB131を参照して対応するユーザ(ユーザID)の携帯電話番号を取得すればよい。なお、この処理で生成されるトランザクションデータの振込データは空である。
 トランザクションデータの生成が完了すると、サーバ10の制御部14は、QRコード表示用アプレット133を、QRコード作成要求の送信元であるユーザ端末20に送信して実行させる(ステップS108)。
 ユーザ端末20の制御部25は、サーバ10から受信したQRコード表示用アプレット133を実行し、当該アプレットで規定されている処理を実行する。即ち、制御部25は、QRコード表示用アプレット133の処理により、振込データ入力画面に入力された振込データをサーバ10に送信するためのURL(Uniform Resource Locator)を記録したQRコードを作成して表示部23に表示させるQRコード表示処理を実行する(ステップS109)。なお、JAVAアプレットの仕様により、QRコード表示用アプレット133を実行する際、サーバ10の管理者の電子証明書が付された確認ダイアログがユーザ端末20の表示部23にポップアップ表示され、ユーザからの確認操作(例えば、OKボタンのクリック)を待たなければ、QRコード表示用アプレット133は実行されない。
 ここで、ステップS109のQRコード表示処理の詳細について、図11のフローチャートを参照して説明する。
 まず、ユーザ端末20の制御部25は、サーバ10の記憶部13のトランザクションDB132に情報取得依頼を送信し、ステップS107で作成して登録したトランザクションデータからワンタイムIDと暗号復号化キーとを取得する(ステップS21)。
 続いて、制御部25は、取得した暗号復号化キーを用いて、振込データ入力画面に入力されている振込データを暗号化する(ステップS22)。
 続いて、制御部25は、暗号化した振込データと取得したワンタイムIDとをサーバ10に通知するためのURLを作成する(ステップS23)。図12に作成されるURLの例を示す。この例では、サーバ10アクセス用のURLに、暗号化した振込データとワンタイムIDとがパラメータv1,v2として付されたURLが作成されている。
 図11に戻り、ユーザ端末20の制御部25は、公知の手法により、作成したURLを記録したQRコードを作成し、図13に示すように振込データ入力画面に表示する(ステップS24)。なお、このとき制御部25は、図10に示す振込データ入力画面に表示されていた「入力完了」ボタンを消去するとともに、表示されているメッセージもQRコードの読み取りを促すメッセージに変更する。
 図11に戻り、QRコードの表示が完了するとユーザ端末20の制御部25は、QRコード表示完了通知をサーバ10に送信する(ステップS25)。以上でQRコード表示処理は終了する。
 図7に戻り、その後、ユーザは、QRコード表示処理によってユーザ端末20の表示部23の振込データ入力画面に表示されたQRコードに携帯端末30の2次元コード読取部35を近接させるとともに、入力部33を操作して、QRコード読取用のアプリケーションの起動を指示する。この指示に応答して、2次元コード読取部35は、近接されたQRコードを撮像してその画像データを解析し、記録されているURLを読み取る(ステップS110)。そして、携帯端末30の制御部37は、インターネット40を介して、2次元コード読取部35が読み取ったURLでサーバ10にアクセスする(図8、ステップS111)。
 サーバ10の制御部14は、アクセスのあったURLのパラメータから、暗号化された振込データとワンタイムIDとを取得する(ステップS112)。そして、制御部14は、取得したワンタイムIDがトランザクションDB132に登録されているか否かを判別する(ステップS113)。
 ワンタイムIDが登録されていない場合(ステップS113;No)、サーバ10の制御部14は、エラーとして処理を終了する。一方、ワンタイムIDが登録されている場合(ステップS113;Yes)、制御部14は、当該ワンタイムIDを有するトランザクションデータをトランザクションDB132から取得する(ステップS114)。
 続いて、サーバ10の制御部14は、取得したトランザクションデータに含まれる暗号複合化キーを用いて、ステップS112で取得した暗号化された振込データを復号化し(ステップS115)、トランザクションDB132内のこのトランザクションデータに格納する(ステップS116)。
 続いて、サーバ10の制御部14は、ユーザ端末20に振込データ取得用アプレット134を送信して実行させる(ステップS117)。ユーザ端末20の制御部25は、この振込データ取得用アプレット134の処理により、インターネット40を介して、振込データ入力画面に入力されている振込データをサーバ10に送信する(図9、ステップS118)。
 サーバ10の制御部14は、ユーザ端末20から振込データを受信すると、この振込みデータが、ステップS115~S116で復号化してトランザクションDB132内のトランザクションデータに格納した振込データ(即ち、携帯端末30から取得した振込データ)と一致するかどうかを判別する(ステップS119)。なお、制御部14は、公知の手法により、両振込データからハッシュ値を生成し、ハッシュ値が一致することを確認してもよい。
 振込データが不一致の場合(ステップS119;No)、振込データは改竄されていることがわかり、サーバ10の制御部14は、その旨をユーザ端末20に通知し、エラーとして処理を終了する。一方、振込データが一致する場合(ステップS119;Yes)、ユーザ端末20から受信した振込データは改竄されていないことがわかり、サーバ10の制御部14は、この振込データを、URLでのアクセスのあった携帯端末30に返信する(ステップS120)。
 そして、携帯端末30の制御部37は、図14に示すように、サーバ10から返信された振込データを表示部34に表示する(ステップS121)。ユーザは、携帯端末30の表示部34に表示されている振込データと、ユーザ端末20の表示部23の振込データ入力画面に表示されている振込データ(図13)とが一致することを確認し、一致する場合は、画面下の電話番号部分(03-1234-5678)をクリックする。なお、この電話番号は、サーバ10の自局電話番号を表す。電話番号がクリックされると、携帯端末30の制御部37は、振込処理開始の確認通知として、電話網50を介して、サーバ10に電話発信する(図9、ステップS122)。なお、この処理は、サーバ10に携帯端末30の発信者番号を通知するためである。そのため、サーバ10の制御部14は、着信した番号を検出した後、すぐに着信した電話を切断する(所謂ワン切りする)。
 サーバ10の制御部14は、ステップS120で振込データを送信(返信)してから所定時間以内(例えば、5分以内)に携帯端末30からの確認通知があることを確認する(ステップS123)。具体的には、制御部14は、ステップS107で生成したトランザクションデータに含まれる携帯電話番号による着信が、所定時間以内になされたことを確認すればよい。なお、所定時間以内にこの携帯端末30から着信が無かった場合、制御部14は、エラーとして処理を終了する。
 一方、所定時間以内に携帯端末30からの確認通知(着信)があった場合、サーバ10の制御部14は、ユーザDB131の口座情報が示すユーザの口座から、ユーザ端末20から受信した振込データが示す指定口座に指定金額を振り込む振込処理を開始する(ステップS124)。なお、この振込処理は、外部の銀行サーバ等が行ってもよい。
 続いて、振込処理が完了すると、サーバ10の制御部14は、対応するトランザクションデータをトランザクションDB132から削除するとともに、振込処理の完了をユーザ端末20に通知する(ステップS125)。そして、ユーザ端末20の制御部25は、表示部23に振込処理完了画面を表示する(ステップS126)。以上で振込処理は終了する。
 このように、本実施形態によれば、サーバ10は、ユーザ端末20に、入力された振込データを取得するためのURLを記録した2次元コード(QRコード)を作成して表示させる。そして、サーバ10は、このQRコードを読み取った携帯端末30から送信された振込データを、ユーザ端末20から送信された振込データと比較して、不一致の場合は振込データが改竄されたと判別する。このため、振込システム等のネットワークサービスにおける振込データ(入力データ)の改竄を確実に検知することが可能となる。
 さらに、本実施形態によれば、この2次元コードは、サーバ10がユーザ端末20に送信して実行させるJAVAアプレット(QRコード表示用アプレット133)の処理によって作成される。JAVAアプレットは、サンドボックスと呼ばれる強力なセキュリティ機構を持ち、実行の際には電子証明書が付された確認ダイアログが表示されるため、JAVAアプレットの処理によって作成されるQRコードが改竄される可能性は極めて低い。従って、このQRコードを読み取った携帯端末30から送信された振込データは、改竄の虞が無い、画面に入力された振込データの内容そのものであり、ユーザ端末20から取得した振込データと比較することで、確実に改竄を検知することが可能となる。
 さらに、本実施形態によれば、QRコードを読み取った携帯端末30から送信される振込データは暗号化されている。そのため、第三者によってこのQRコードが読み取られたとしても、振込データが漏洩する虞も無く、高いセキュリティを確保することができる。
 さらに、本実施形態によれば、サーバ10は、ユーザの携帯端末30に振込データを送信するため、ユーザの目視によっても振込データの改竄が無いことを確認することができる。また、振込データの確認をしたユーザの携帯端末30からの着信(確認通知)があった場合にのみ、振込処理を開始するため、不正に入手したユーザIDとパスワードとを用いた成りすましも防止することが可能となる。
(変形例)
 なお、上述した実施形態は一例であり、種々の変更及び応用が可能である。
 例えば、上記実施形態に係る振込システムでは、QRコードを読み取った携帯端末30から送信された振込データとユーザ端末20から送信された振込データとを比較し、一致する場合に振込データは改竄されていないものとして、振込処理を行った。しかしながら、QRコード経由で携帯端末30から取得した振込データは改竄の虞が無いため、このような比較を行わずに、携帯端末30から取得した振込データを直接用いて振込処理を行ってもよい。
 ここで、この場合の振込システムの動作について説明する。ユーザ端末20がサーバ10にログイン要求を送信し、サーバ10がQRコード表示用アプレット133を送信してユーザ端末20にQRコードを表示させ、このQRコードを読み取ったユーザ端末20から送信されたデータを復号化して振込データを取得するステップS101~S115までの処理は、これまでに述べた動作(図7,8)と同様である。
 続いて、図15に示すように、サーバ10の制御部14は、ステップS115で復号化した振込データを、URLでのアクセスのあった携帯端末30に返信する(ステップS201)。
 そして、携帯端末30の制御部37は、図14に示すように、サーバ10から返信された振込データを表示部34に表示する(ステップS202)。なお、この処理は、図9のステップS121と実施的に同じ処理である。
 続いて、ユーザは、携帯端末30の表示部34に表示されている振込データと、ユーザ端末20の表示部23の振込データ入力画面に表示されている振込データ(図13)とが一致することを確認し、一致する場合は、振込処理開始の確認通知として、画面下の電話番号部分(03-1234-5678)をクリックし、携帯端末30の制御部37は、電話網50を介して、サーバ10に電話発信する(図9、ステップS203)。なお、この処理は、図9のステップS122と実施的に同じ処理である。
 サーバ10の制御部14は、ステップS201で振込データを送信(返信)してから所定時間以内(例えば、5分以内)に携帯端末30からの確認通知(着信)があることを確認する(ステップS204)。なお、この処理は、図9のステップS123と実施的に同じ処理である。
 そして、所定時間以内に携帯端末30からの確認通知(着信)があった場合、サーバ10の制御部14は、ユーザDB131の口座情報が示すユーザの口座から、携帯端末30から受信してステップS115で復号化した振込データが示す指定口座に指定金額を振り込む振込処理を開始する(ステップS205)。そして、振込処理が完了すると、制御部14は、その旨をユーザ端末20に通知し(ステップS206)、ユーザ端末20の制御部25は、表示部23に振込処理完了画面を表示する(ステップS207)。以上で振込処理は終了する。
 このように、ユーザ端末20からは振込データを取得しないで、QRコード経由で携帯端末30から取得したデータを直接用いて振込処理を行うため、より処理を短縮することが可能となる。
 また、上記実施形態では、振込データ取得用アプレット134を送信して実行させることにより、インターネット40を介して、サーバ10がユーザ端末から振込データを取得した(図8,図9のステップS117,S118)。しかしながら、図7のステップS106で、QRコード作成要求とともに、振込データ入力画面に入力された振込データをサーバ10に送信してもよい。若しくは、振込データ入力画面に振込データが入力される度に、振込データをサーバ10に送信するようにしてもよい。このようにすることで、サーバ10は、振込データ取得用アプレット134を用いずにユーザ端末20から振込データを取得できるため、処理を短縮することが可能となる。
 また、上記実施形態では、振込システムにおける振込データの改竄の検知について説明した。しかしながら、本発明は、他のネットワークサービスおける入力データの改竄の検知にも適用可能である。例えば、インターネット40を利用したチケット予約システムにおけるユーザが入力した予約データの改竄の検知にも、同様に本発明は適用可能である。
 また、上記実施形態では、サーバ10がJAVAアプレット(QRコード表示用アプレット133)をユーザ端末20に送信して実行させることによりQRコードを作成したが、JAVAアプレット以外の他のアプレットやプログラムを送信して実行させてもよい。
 また、上記実施形態では、サーバ10は、振込データを送信するためのURLを記録したQRコードをユーザ端末20に表示させたが、QRコードの代わりに、URLを記録したCPコードやSemaコード等といった他の2次元コードを表示させてもよい。
 本実施形態に係るサーバ10は、専用のシステムにより実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールして、上述の処理を実行することによってサーバ10を構成してもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OSとアプリケーションソフトとの協働により実現してもよい。この場合には、OS以外の部分を媒体に格納して配布してもよいし、OS以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
 本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
 本発明は、ネットバンキング等のシステムに好適に利用される。
 サーバ 10,20 ユーザ端末、30 携帯端末、40 インターネット、50 電話網、11,21,31 通信部、12,32 電話通信部、13,24,36 記憶部、131 ユーザDB、132 トランザクションDB、133 QRコード表示用アプレット、134 振込データ取得用アプレット、14,25,37 制御部、22,33 入力部、23,34 表示部、35 2次元コード読取部

Claims (11)

  1.  ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのURL(Uniform Resource Locator)を記録した2次元コードを該ユーザ端末に表示させる2次元コード表示制御部と、
     前記2次元コードを読み取った携帯端末から送信された入力データを取得する第1データ取得部と、
     前記ユーザ端末から入力データを取得する第2データ取得部と、
     前記第1データ取得部が取得した入力データと前記第2データ取得部が取得した入力データとが一致しない場合に、前記ユーザ端末に入力された入力データは改竄されていると判別する改竄検知部と、
     を備えるデータ改竄検知装置。
  2.  前記2次元コード表示制御部は、前記ユーザ端末に前記2次元コードを作成するためのJAVAアプレットを送信して実行させることにより、該2次元コードを表示させる、
     請求項1に記載のデータ改竄検知装置。
  3.  前記2次元コード表示制御部は、前記入力データを暗号化して送信するためのURLを記録した2次元コードを前記ユーザ端末に表示させ、
     前記第1データ取得部は、暗号化された入力データを復号化する、
     請求項1又は2に記載のデータ改竄検知装置。
  4.  前記ネットワークサービスは振込システムであり、
     前記入力データは、前記振込システムを利用するために前記ユーザ端末に入力された振込データである、
     請求項1から3の何れか1項に記載のデータ改竄検知装置。
  5.  ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのURL(Uniform Resource Locator)を記録した2次元コードを該ユーザ端末に表示させる2次元コード表示制御部と、
     前記2次元コードを読み取った携帯端末から送信された入力データを取得するデータ取得部と、
     前記データ取得部が取得した入力データを用いて、前記ネットワークサービスを実行するサービス実行部と、
     を備えるネットワークサービス提供装置。
  6.  前記データ取得部が取得した入力データを送信元の携帯端末に送信する入力データ送信部と、
     前記入力データ送信部により入力データを送信した携帯端末からの確認通知を受信する確認通知受信部と、を備え、
     前記サービス実行部は、前記入力データ送信部による前記入力データの送信から、所定時間以内に、前記確認通知受信部が確認通知を受信した場合に、前記ネットワークサービスを実行する、
     請求項5に記載のネットワークサービス提供装置。
  7.  前記確認通知は、前記携帯端末からの電話着信である、
     請求項6に記載のネットワークサービス提供装置。
  8.  ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのURL(Uniform Resource Locator)を記録した2次元コードを該ユーザ端末に表示させ、
     前記2次元コードを読み取った携帯端末から送信された入力データを取得し、
     前記ユーザ端末から入力データを取得し、
     前記携帯端末から取得した入力データと前記ユーザ端末から取得した入力データとが一致しない場合に、前記ユーザ端末に入力された入力データは改竄されていると判別する、
     データ改竄検知方法。
  9.  ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのURL(Uniform Resource Locator)を記録した2次元コードを該ユーザ端末に表示させ、
     前記2次元コードを読み取った携帯端末から送信された入力データを取得し、
     取得した入力データを用いて、前記ネットワークサービスを実行する、
     ネットワークサービス提供方法。
  10.  コンピュータを、
     ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのURL(Uniform Resource Locator)を記録した2次元コードを該ユーザ端末に表示させる2次元コード表示制御部、
     前記2次元コードを読み取った携帯端末から送信された入力データを取得する第1データ取得部、
     前記ユーザ端末から入力データを取得する第2データ取得部、
     前記第1データ取得部が取得した入力データと前記第2データ取得部が取得した入力データとが一致しない場合に、前記ユーザ端末に入力された入力データは改竄されていると判別する改竄検知部、
     として機能させるプログラム。
  11.  コンピュータを、
     ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのURL(Uniform Resource Locator)を記録した2次元コードを該ユーザ端末に表示させる2次元コード表示制御部、
     前記2次元コードを読み取った携帯端末から送信された入力データを取得するデータ取得部、
     前記データ取得部が取得した入力データを用いて、前記ネットワークサービスを実行するサービス実行部、
     として機能させるプログラム。
PCT/JP2014/068815 2014-07-15 2014-07-15 データ改竄検知装置、ネットワークサービス提供装置、データ改竄検知方法、ネットワークサービス提供方法、及びプログラム WO2016009497A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2014/068815 WO2016009497A1 (ja) 2014-07-15 2014-07-15 データ改竄検知装置、ネットワークサービス提供装置、データ改竄検知方法、ネットワークサービス提供方法、及びプログラム
JP2016534022A JP6307610B2 (ja) 2014-07-15 2014-07-15 データ改竄検知装置、データ改竄検知方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/068815 WO2016009497A1 (ja) 2014-07-15 2014-07-15 データ改竄検知装置、ネットワークサービス提供装置、データ改竄検知方法、ネットワークサービス提供方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2016009497A1 true WO2016009497A1 (ja) 2016-01-21

Family

ID=55078018

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/068815 WO2016009497A1 (ja) 2014-07-15 2014-07-15 データ改竄検知装置、ネットワークサービス提供装置、データ改竄検知方法、ネットワークサービス提供方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP6307610B2 (ja)
WO (1) WO2016009497A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6437610B1 (ja) * 2017-09-25 2018-12-12 圭 江尻 アクセス認証システム
WO2023020428A1 (zh) * 2021-08-20 2023-02-23 清华大学 数据验证方法、装置和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6836002B1 (ja) * 2020-07-20 2021-02-24 セイコーソリューションズ株式会社 認証システム、認証システムの制御方法及び認証装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048464A (ja) * 2004-08-06 2006-02-16 Toshiba Corp コンテンツデータ配信システム、コンテンツデータ配信方法及商品販売方法
US7021534B1 (en) * 2004-11-08 2006-04-04 Han Kiliccote Method and apparatus for providing secure document distribution
JP2009098702A (ja) * 2007-10-12 2009-05-07 Tetsuichiro Sasada 情報登録システム、情報登録方法、サーバーコンピュータ、及びコンピュータプログラム
WO2010066304A1 (en) * 2008-12-12 2010-06-17 Nec Europe Ltd. Universal mobile verifier
JP2011204169A (ja) * 2010-03-26 2011-10-13 Nomura Research Institute Ltd 認証システム、認証装置、認証方法および認証プログラム
JP2014106593A (ja) * 2012-11-26 2014-06-09 International Business Maschines Corporation 取引認証方法、及びシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048464A (ja) * 2004-08-06 2006-02-16 Toshiba Corp コンテンツデータ配信システム、コンテンツデータ配信方法及商品販売方法
US7021534B1 (en) * 2004-11-08 2006-04-04 Han Kiliccote Method and apparatus for providing secure document distribution
JP2009098702A (ja) * 2007-10-12 2009-05-07 Tetsuichiro Sasada 情報登録システム、情報登録方法、サーバーコンピュータ、及びコンピュータプログラム
WO2010066304A1 (en) * 2008-12-12 2010-06-17 Nec Europe Ltd. Universal mobile verifier
JP2011204169A (ja) * 2010-03-26 2011-10-13 Nomura Research Institute Ltd 認証システム、認証装置、認証方法および認証プログラム
JP2014106593A (ja) * 2012-11-26 2014-06-09 International Business Maschines Corporation 取引認証方法、及びシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6437610B1 (ja) * 2017-09-25 2018-12-12 圭 江尻 アクセス認証システム
WO2019058638A1 (ja) * 2017-09-25 2019-03-28 圭 江尻 アクセス認証システム
JP2019061363A (ja) * 2017-09-25 2019-04-18 圭 江尻 アクセス認証システム
WO2023020428A1 (zh) * 2021-08-20 2023-02-23 清华大学 数据验证方法、装置和存储介质

Also Published As

Publication number Publication date
JP6307610B2 (ja) 2018-04-04
JPWO2016009497A1 (ja) 2017-05-25

Similar Documents

Publication Publication Date Title
US10904234B2 (en) Systems and methods of device based customer authentication and authorization
EP3420677B1 (en) System and method for service assisted mobile pairing of password-less computer login
US11494754B2 (en) Methods for locating an antenna within an electronic device
US10504103B2 (en) Login using QR code
US9954687B2 (en) Establishing a wireless connection to a wireless access point
US9338156B2 (en) System and method for integrating two-factor authentication in a device
JP6691262B2 (ja) グラフィックコード情報を提供及び取得する方法及び装置並びに端末
CN111628871B (zh) 一种区块链交易处理方法、装置及电子设备和存储介质
CN113553572A (zh) 资源信息获取方法、装置、计算机设备和存储介质
JP2007058487A (ja) ログイン情報管理装置及び方法
JP6307610B2 (ja) データ改竄検知装置、データ改竄検知方法、及びプログラム
KR20190111006A (ko) 인증 서버, 인증 시스템 및 방법
JP5991143B2 (ja) 情報処理装置、システム及び情報登録方法
JP7079528B2 (ja) サービス提供システム及びサービス提供方法
JP6325654B2 (ja) ネットワークサービス提供装置、ネットワークサービス提供方法、及びプログラム
US20150381622A1 (en) Authentication system, authentication method, authentication apparatus, and recording medium
JP5584102B2 (ja) 認証システム、クライアント端末、サーバ、被認証方法、認証方法、認証クライアントプログラム、及び認証サーバプログラム
CN114640460B (zh) 一种应用程序中的用户登录方法、装置、设备及介质
WO2017134922A1 (ja) サービス提供システム、認証装置、及びプログラム
JP6975621B2 (ja) 情報処理装置、情報処理方法およびプログラム
TWI633231B (zh) Smart lock and smart lock control method
JP2016163198A (ja) ファイル管理装置、ファイル管理システム、ファイル管理方法及びファイル管理プログラム
JP4717356B2 (ja) 情報処理デバイス及びそれを用いた情報処理方法並びに情報処理プログラム
JP2016133863A (ja) 取引システム及び取引方法
JP2008243135A (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: 14897814

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016534022

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14897814

Country of ref document: EP

Kind code of ref document: A1