US20210226949A1 - Multi-node authentication method and apparatus based on block chain - Google Patents

Multi-node authentication method and apparatus based on block chain Download PDF

Info

Publication number
US20210226949A1
US20210226949A1 US17/082,150 US202017082150A US2021226949A1 US 20210226949 A1 US20210226949 A1 US 20210226949A1 US 202017082150 A US202017082150 A US 202017082150A US 2021226949 A1 US2021226949 A1 US 2021226949A1
Authority
US
United States
Prior art keywords
authentication
terminal
block
nodes
divided
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
US17/082,150
Other versions
US11075909B1 (en
Inventor
Seung Ju JEON
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fns Value Co Ltd
Original Assignee
Fns Value Co Ltd
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 Fns Value Co Ltd filed Critical Fns Value Co Ltd
Priority to US17/082,150 priority Critical patent/US11075909B1/en
Assigned to FNS Value Co., Ltd. reassignment FNS Value Co., Ltd. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JEON, SEUNG JU
Publication of US20210226949A1 publication Critical patent/US20210226949A1/en
Application granted granted Critical
Publication of US11075909B1 publication Critical patent/US11075909B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3239Cryptographic 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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • 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/40User authentication by quorum, i.e. whereby two or more security principals are required
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/321Cryptographic 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 involving a third party or a trusted authority
    • 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/3215Cryptographic 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 plurality of channels
    • 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
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication
    • 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

Definitions

  • the present specification relates to a terminal authentication method based on a block chain technology and an apparatus therefor.
  • Bitcoin As virtual currencies, digital virtual currencies based on a block chain have been used on online transactions, and among these digital virtual currencies, Bitcoin has been most widely used. Bitcoin has been developed by a Japanese programmer named Satoshi Nakamoto, and unlike traditional fiat currency, Bitcoin uses peer-to-peer (P2P) technology to be operated without central authority or banks. A block chain technology is applied to these virtual currencies to prevent virtual currencies from being randomly produced and replicated.
  • P2P peer-to-peer
  • the block chain technology is a distributed data storage technology that stores data in blocks, connects the blocks in a chain form, and simultaneously replicates and stores the blocks on numerous computers. This is also called a public transaction ledger.
  • a transaction history is transmitted to all users participating in transaction without keeping a transaction record on a centralized server, and all transaction participants share information and collate the information whenever they make a transaction to prevent data forgery or tampering.
  • the conventional technology related to personal authentication has traditionally performed personal authentication using an ID and password, but there is a problem that it is difficult to perform normal personal authentication when the ID and password are leaked.
  • the personal authentication using the public certificate is a relatively high security authentication protocol, but it is not easy to stably carry the public certificate, and the personal authentication using the mobile phone authentication is a method of authenticating the occupancy of a mobile phone using an authentication number and therefore is vulnerable to swishing, or the like.
  • an object to be achieved by the present disclosure is to provide a new personal authentication method based on a block chain technology in this specification, in order to effectively increase security while minimizing the problems of the personal authentication methods.
  • an authentication method of a block chain authentication module may include: receiving an authentication preparation request for a terminal; configuring a channel by randomly selecting a plurality of nodes that authenticates the terminal and generating a channel key allocated to the channel; generating a block including authentication comparison data used for the terminal authentication, the block further including a block key allocated to the block; commonly transmitting the channel key and the block key to the plurality of nodes, and dividing and transmitting the authentication comparison data thereto; transmitting an authentication preparation completion message including the channel key and the block key to the terminal; receiving, from the terminal, an authentication request message including the channel key, the block key, and authentication target data that the terminal requests authentication; dividing and transmitting the authentication target data to the plurality of nodes; receiving a result of comparing the divided and transmitted authentication comparison data with the divided and transmitted authentication target data from the plurality of nodes; and determining based on the received comparison result whether the authentication of the terminal succeeds.
  • each of the authentication comparison data and the authentication target data may be divided into a plurality of categories.
  • the dividing and transmitting of the authentication comparison data may include dividing the authentication comparison data for each category and transmitting the divided authentication comparison data to different nodes.
  • the dividing and transmitting of the authentication target data may include dividing the authentication target data for each category and transmitting the divided authentication target data to different nodes but transmitting the divided authentication target data in the same category as the category of the authentication comparison data transmitted to each node.
  • the plurality of categories may include a user fingerprint, an iris, a pattern, a password, an ID, an e-mail address, a unique serial number of the terminal, a media access control (MAC) address, a Bluetooth address, a WIFI service set identifier (SSID), a universally unique identifier (UUID), and/or a phone number that are registered in the terminal.
  • MAC media access control
  • SSID WIFI service set identifier
  • UUID universally unique identifier
  • the determining whether the authentication of the terminal succeeds may include determining that the authentication of the terminal succeeds when receiving, from nodes exceeding a preset ratio, a result that the divided and transmitted authentication comparison data matches the divided and transmitted authentication target data.
  • the preset ratio may be set to be 50% of the total number of the plurality of nodes.
  • the authentication method of the block chain authentication module may further include: deleting the channel, the channel key, and the block when the determination on whether the authentication of the terminal succeeds is completed.
  • the block chain authentication module may include: a communication unit that performs communication; a memory unit that stores data; and a processor that controls the communication unit and the memory unit, in which the processor may receive an authentication preparation request for a terminal; configure a channel by randomly selecting a plurality of nodes that authenticates the terminal and generate a channel key allocated to the channel; generate a block including an authentication comparison data used for the terminal authentication, the block further including a block key allocated to the block; commonly transmit the channel key and the block key to the plurality of nodes, and divide and transmit the authentication comparison data thereto; transmit an authentication preparation completion message including the channel key and the block key to the terminal; receive, from the terminal, an authentication request message including the channel key, the block key, and authentication target data that the terminal requests authentication; divide and transmit the authentication target data to the plurality of nodes; receive a result of comparing the divided and transmitted authentication comparison data with the divided and transmitted authentication target data from the plurality of nodes; and determine
  • each of the authentication comparison data and the authentication target data may be divided into a plurality of categories.
  • the processor may divide the authentication comparison data for each category and transmit the divided authentication comparison data to different nodes when the authentication comparison data is divided and transmitted.
  • the processor may divide the authentication target data for each category and transmit the divided authentication target data to different nodes but transmit the divided authentication target data in the same category as the category of the authentication comparison data transmitted to each node.
  • the plurality of categories may include a user fingerprint, an iris, a pattern, a password, an ID, an e-mail address, a unique serial number of the terminal, a media access control (MAC) address, a Bluetooth address, a WIFI service set identifier (SSID), a universally unique identifier (UUID), and/or a phone number that are registered in the terminal.
  • MAC media access control
  • SSID WIFI service set identifier
  • UUID universally unique identifier
  • the processor may determine that the authentication of the terminal succeeds when receiving, from nodes exceeding a preset ratio, a result that the divided and transmitted authentication comparison data matches the divided and transmitted authentication target data.
  • the preset ratio may be set to be 50% of the total number of the plurality of nodes.
  • the processor may delete the channel, the channel key, and the block when the determination on whether the authentication of the terminal succeeds is completed.
  • the system complexity and authentication overhead of the authentication module/server is reduced.
  • the authentication is performed through the multi-nodes, so security is very high and the risk of hacking may be minimized due to the difficulty in forgery/tampering of authentication data.
  • the introduction of the new authentication method has the effect that the flexibility of the authentication method is further upgraded.
  • FIG. 1 is a conceptual diagram schematically illustrating an authentication method according to an exemplary embodiment of the present disclosure
  • FIG. 2 is a flowchart illustrating an authentication method based on a block chain according to an exemplary embodiment of the present disclosure
  • FIG. 3 is a flowchart illustrating the authentication method based on a block chain according to the exemplary embodiment of the present disclosure
  • FIG. 4 is a flowchart illustrating the authentication method based on a block chain when attempting authentication through a web service/site according to the exemplary embodiment of the present disclosure
  • FIG. 5 is a flowchart illustrating the authentication method based on a block chain when attempting authentication through the authentication server according to the exemplary embodiment of the present disclosure.
  • FIG. 6 is a block diagram illustrating a configuration of the authentication server (or block chain authentication module) according to the exemplary embodiment of the present disclosure.
  • Terms such as ‘first’, ‘second’, ‘A’, ‘B’, and the like, may be used to describe various components, but the components are not to be interpreted to be limited to the terms and are used only for distinguishing one component from other components.
  • a ‘first’ component may be named a ‘second’ component and the ‘second’ component may also be similarly named the ‘first’ component, without departing from the scope of the present disclosure.
  • a term ‘and/or’ includes a combination of a plurality of related described items or any one of the plurality of related described items.
  • each of the processes constituting the method may occur differently from the specified order unless a specific order is explicitly described in context. That is, the respective steps may be performed in the same sequence as the described sequence, be performed at substantially the same time, or be performed in an opposite sequence to the described sequence.
  • FIG. 1 is a conceptual diagram schematically illustrating an authentication method according to an exemplary embodiment of the present disclosure.
  • an authentication method and system based on a block chain proposed in the present specification may be largely composed of (a block chain-based) authentication server/module/system/apparatus (for example, business server/module/system/apparatus, hereinafter abbreviated as ‘authentication server’) 103 , anode (for example, a user terminal) 102 that requests authentication to a corresponding authentication server, and a plurality of nodes (for example, other user terminals that are currently accessing an authentication server) 101 - 1 to 101 -N that directly performs authentication.
  • authentication server for example, business server/module/system/apparatus, hereinafter abbreviated as ‘authentication server’
  • anode for example, a user terminal
  • nodes for example, other user terminals that are currently accessing an authentication server
  • the terminal 102 may request authentication to the authentication server, and the authentication server 103 may randomly select at least some 101 - 1 to 101 -N of a plurality of nodes currently accessed to generate a temporary block chain channel for authentication of the corresponding terminal 102 .
  • the nodes 101 - 1 to 101 -N of the temporary block chain channel thus generated may receive data for terminal authentication from the authentication server 103 and data requested for authentication from the terminal 102 , respectively.
  • the nodes 101 - 1 to 101 -N of the temporary block chain channel may perform authentication by comparing the two data with each other and transmit the comparison result to the authentication server 103 .
  • the authentication is performed through multi-nodes 101 - 1 to 101 -N, not the authentication server 103 , system complexity and authentication overhead of the authentication server 103 are reduced.
  • security is very high, and the risk of hacking the authentication request terminal 102 is minimized because authentication data is difficult to be forged/tampered.
  • FIG. 2 is a flowchart illustrating an authentication method based on a block chain according to an exemplary embodiment of the present disclosure.
  • the authentication method based on a block chain may be largely divided into an authentication preparation procedure (S 201 ), an authentication procedure (S 202 ), and an authentication completion procedure (S 203 ).
  • the terminal may request the authentication server to prepare for authentication, and the authentication server receiving the request performs a preparation procedure for terminal authentication. More specifically, in the authentication preparation procedure, the authentication server may randomly select a plurality of nodes authenticating the terminal to configure a temporary channel, and divide and transmit data used for authentication of the terminal (hereinafter, authentication comparison data) to the temporary channel.
  • the data used for authentication may correspond to the authentication data of the terminal registered in advance when the terminal joins the authentication server, and may correspond to, for example, a user fingerprint, an iris, a pattern, a password, an ID, an e-mail address, a unique serial number of the terminal, a media access control (MAC) address, a Bluetooth address, a WIFI service set identifier (SSID), a universally unique identifier (UUID), and/or a phone number, and the like that are registered in the terminal.
  • MAC media access control
  • SSID WIFI service set identifier
  • UUID universally unique identifier
  • the authentication server may receive data to be authenticated (hereinafter, referred to as authentication target data) from the terminal that requests authentication, and divide and transmit the received data to the nodes of the temporary channel in the same manner/category as authentication comparison data (S 202 ).
  • the nodes of the temporary channel may compare the authentication comparison data with the authentication target data, and transmit the comparison result to the authentication server (S 202 ).
  • the authentication server may complete the authentication of the terminal based on the received comparison result (S 203 ).
  • the authentication server may allow access to the terminal, and if the authentication fails, the authentication server may not allow access to the terminal.
  • the authentication preparation procedure and the authentication procedure will be described in more detail below with reference to FIG. 3 .
  • FIG. 3 is a flowchart illustrating an authentication method based on a block chain according to an exemplary embodiment of the present disclosure. It is needless to say that the execution subject of this flowchart is an ‘authentication server’ designed to perform the authentication of the terminal and may be implemented as an authentication module/apparatus.
  • an authentication server designed to perform the authentication of the terminal and may be implemented as an authentication module/apparatus.
  • the authentication server may receive an authentication preparation request from the terminal (S 301 ).
  • the authentication server may randomly select a plurality of nodes that authenticates the terminal, temporarily configure a block chain channel, and generate a channel key for identifying the corresponding channel (S 302 ).
  • the authentication server may generate a block including the authentication comparison data used for the terminal authentication (S 303 ). At this time, the authentication server may generate a block key for identifying the generated block and include the block key in the generated block.
  • the authentication server may “commonly” transmit the channel key and the block key to the plurality of nodes included in the channel, and “divide” and transmit the authentication comparison data (S 304 ). That is, the authentication server may transmit the entire channel key and block key to the nodes of the channel in the same way, while the authentication comparison data is divided by the number of nodes of the channel and the divided data may be transmitted to different nodes. As a result, the nodes of the channel receive only some of the authentication comparison data, and the data received by the nodes may be different from each other.
  • the authentication comparison data may be divided according to various exemplary embodiments.
  • the authentication category may correspond to a user fingerprint, an iris, a pattern, a password, an ID, an e-mail address, a unique serial number of the terminal, a MAC address, a Bluetooth address, a WIFI SSID, a UUID, and/or a phone number, and the like that are registered in the terminal.
  • each node may receive/store authentication comparison data of different authentication categories and be used to compare the received/stored authentication comparison data with the authentication target data.
  • the nodes may store the channel key and/or block key together with the authentication target data. This is to make it possible to distinguish which authentication comparison data should be compared with the received authentication target data later.
  • the authentication server may complete the authentication preparation procedure by transmitting an authentication preparation completion message including a channel key and a block key to the terminal (S 305 ).
  • the authentication server may receive, from the terminal, an authentication request message including a channel key, a block key, and authentication target data that the terminal requests authentication (S 306 ).
  • the authentication server may recognize which channel is a channel authenticating the terminal through the received channel key and may divide and transmit the received authentication target data to the corresponding channel (S 307 ). Also, in this case, the authentication server may divide and transmit the authentication target data for each category, similar to the method of transmitting the authentication comparison data in step S 304 . In particular, the authentication server may divide and transmit authentication target data in the same category as the category transmitted to each node in step S 304 . The authentication server may transmit the channel key and/or block key together with the authentication target data, and nodes may identify/recognize what authentication comparison data to compare using the channel key and/or block key.
  • the authentication server may receive, from the nodes of the channel, a result of comparing the divided and transmitted authentication comparison data with the divided and transmitted authentication target data (S 308 ), and may determine based on the received comparison result whether the authentication of the terminal succeeds (S 309 ). For example, when the authentication server receives, from nodes exceeding a preset ratio among all nodes included in the channel, the result that the divided and transmitted authentication comparison data matches the divided and transmitted authentication target data, it may be determined that the authentication of the terminal succeeds.
  • the preset ratio may be set to be, for example, 50%, but it is needless to say to be set to a higher ratio in order to enhance the authentication security level.
  • the authentication server may delete all the channels, channel keys, and blocks. According to the present disclosure, every time the authentication of the terminal is completed, all information/data used for the authentication is discarded, and a new channel is generated for each authentication, so the security level may be very high.
  • authentication server may be divided into an authentication server and a block chain authentication module in the following exemplary embodiments.
  • FIG. 4 is a flowchart illustrating the authentication method based on a block chain when attempting authentication through a web service/site according to the exemplary embodiment of the present disclosure.
  • the ‘block chain authentication module’ may correspond to the ‘authentication server’ described above with reference to FIGS. 1 to 3
  • the authentication server in this flowchart may correspond to a server that finally determines whether the authentication succeeds. Therefore, the authentication server and the block chain authentication module in this flowchart may be collectively referred to as the “authentication server” in FIGS. 1 to 3 .
  • steps indicated by a dotted line in the flowchart may be deleted according to an exemplary embodiment as steps that are selectively applied.
  • a web client may request the authentication server to prepare for authentication for a specific user/terminal.
  • the authentication server may request an authentication preparation based on a block chain to the block chain authentication module.
  • the block chain authentication module may generate and store channels, channel keys, blocks, and block keys, and transmit the generated and stored channels, channel keys, blocks, and block keys to nodes of a channel. At this time, the block chain authentication module commonly transmits the channel key and the block key to nodes, but divides and transmits the authentication comparison data (by category) to the nodes as described above.
  • the nodes that receive the channel key and the block key and the authentication comparison data may store the received information and use the received information to authenticate a user/terminal later. More detailed description of these steps is as described above with reference to FIGS. 1 to 3 , and therefore duplicate description thereof will be omitted.
  • the block chain authentication module which is ready for authentication, may transmit an authentication start push message including a channel key and a block key to an app client of a user terminal requesting authentication.
  • the block chain authentication module may return the block chain authentication preparation request result to the authentication server, and the authentication server may transmit the block chain authentication preparation request result to a web client.
  • the web client may request a web socket connection to the authentication server, and the authentication server may connect the web socket and store the channel key according to the corresponding request.
  • the app client (that is, the user terminal) may encrypt the channel key, the block key, and the UUID, and transmit a block chain authentication request message including encrypted information and authentication target data to the block chain authentication module through the authentication server.
  • the block chain authentication module may decrypt the received channel key, block key and UUID and verify the decrypted channel key, block key and UUID locally. That is, by determining whether the channel, block, and/or authentication comparison data corresponding to the decrypted information is stored/prepared, it is determined locally whether the authentication based on the current block chain is possible, and if not, the verification result may return back to the app client to reject the authentication request.
  • the block chain authentication module may transmit a verification push message including the channel key, the block key, and/or the authentication target data to nodes of a channel corresponding to the corresponding channel key. At this time, the block chain authentication module divides and transmits the authentication target data to nodes, but divides and transmits the data in the same category as the category of the authentication comparison data as described above.
  • Nodes may compare the divided and received authentication comparison data with the authentication target data to perform the authentication operation. For example, the node may determine whether the first fingerprint data received as the authentication comparison data and the second fingerprint data received as the authentication target data match each other to perform the authentication operation.
  • Channel nodes may transmit the authentication result to the block chain authentication module through the authentication server.
  • the block chain authentication module receives, from nodes exceeding the preset ratio, the result that the authentication comparison data matches the authentication target data (that is, success result), the authentication may be considered to succeed.
  • the preset ratio may be set to be 50% of the total number of channel nodes.
  • the block chain authentication module may transmit the authentication result to the app client.
  • the app client may call an authentication completion application programming interface (API) to the authentication server, and the authentication message may transmit a message regarding whether the authentication succeeds to the web client.
  • API authentication completion application programming interface
  • the verification API for finally verifying this may be called to the authentication server.
  • the API call message transmitted to the authentication server may include attribute information regarding the authentication success or failure.
  • the authentication server may finally determine whether the authentication succeeds based on the received API call message, verify a channel key, a session ID, a verification validity time, and an IP, and delete the channel used for the authentication. Furthermore, the authentication server may return the authentication result to the web client.
  • FIG. 5 is a flowchart illustrating the authentication method based on a block chain when attempting authentication through the authentication server according to the exemplary embodiment of the present disclosure.
  • the ‘block chain authentication module’ may correspond to the ‘authentication server’ described above with reference to FIGS. 1 to 3
  • the authentication server in this flowchart may correspond to a server that finally determines whether the authentication succeeds. Therefore, the authentication server and the block chain authentication module in this flowchart may be collectively referred to as the “authentication server” in FIGS. 1 to 3 .
  • steps indicated by a dotted line in the flowchart may be deleted according to an exemplary embodiment as steps that are selectively applied.
  • the present exemplary embodiment is an exemplary embodiment in which only the web client is excluded from the exemplary embodiment of FIG. 4 , and only the interaction step for the web client is excluded. Therefore, since the description of each step in FIG. 4 may be applied to the present flowchart, the description of each step is replaced with the description of FIG. 4 , and therefore duplicate description thereof is omitted.
  • FIG. 6 is a block diagram illustrating a configuration of the authentication server (or block chain authentication module) according to the exemplary embodiment of the present disclosure.
  • the authentication server may include a processor 610 , a communication unit 620 , and a memory unit 630 .
  • the communication unit 620 may perform communication using at least one wired/wireless communication protocol.
  • the memory unit 630 may store data/information.
  • the processor 610 may control the communication unit 620 and the memory unit 630 , and use the communication unit 620 and the memory unit 630 to perform the above-described operations/steps in FIGS. 1 to 5 . Therefore, the above-described authentication server (or block chain authentication module) may be described as being replaced by a processor.
  • the processor 610 , the communication unit 620 and the memory unit 630 may be implemented with hardware chip, component and/or circuit.
  • the system complexity and authentication overhead of the authentication module/server is reduced.
  • the authentication is performed through the multi-nodes, so security is very high and the risk of hacking may be minimized due to the difficulty in forgery/tampering of authentication data.
  • the introduction of the new authentication method has the effect that the flexibility of the authentication method is further upgraded.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The authentication method of a block chain authentication module includes: receiving an authentication preparation request; configuring a channel and generating a channel key allocated to the channel; generating a block including an authentication comparison data, the block further including a block key allocated to the block; commonly transmitting the channel key and the block key, and dividing and transmitting the authentication comparison data; transmitting an authentication preparation completion message including the channel key and the block key; receiving an authentication request message including the channel key, the block key, and authentication target data; dividing and transmitting the authentication target data; receiving a result of comparing the divided and transmitted authentication comparison data with the divided and transmitted authentication target; and determining whether the authentication of the terminal succeeds.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • The present application is a continuation of U.S. patent application Ser. No. 16/911,262, filed on Jun. 24, 2020, which claims the benefit of priority under 35 U.S.C § 119 to Korean Patent Application No. 10-2020-0006473 filed Jan. 17, 2020, in the Korean Intellectual Property Office, the entire contents of which are hereby incorporated by reference.
  • BACKGROUND Field
  • The present specification relates to a terminal authentication method based on a block chain technology and an apparatus therefor.
  • Description of the Related Art
  • As virtual currencies, digital virtual currencies based on a block chain have been used on online transactions, and among these digital virtual currencies, Bitcoin has been most widely used. Bitcoin has been developed by a Japanese programmer named Satoshi Nakamoto, and unlike traditional fiat currency, Bitcoin uses peer-to-peer (P2P) technology to be operated without central authority or banks. A block chain technology is applied to these virtual currencies to prevent virtual currencies from being randomly produced and replicated.
  • The block chain technology is a distributed data storage technology that stores data in blocks, connects the blocks in a chain form, and simultaneously replicates and stores the blocks on numerous computers. This is also called a public transaction ledger. A transaction history is transmitted to all users participating in transaction without keeping a transaction record on a centralized server, and all transaction participants share information and collate the information whenever they make a transaction to prevent data forgery or tampering.
  • SUMMARY
  • The conventional technology related to personal authentication has traditionally performed personal authentication using an ID and password, but there is a problem that it is difficult to perform normal personal authentication when the ID and password are leaked.
  • Therefore, in recent years, various personal authentication methods have been used to supplement the problem of the conventional technology. For example, personal authentication using a mobile phone, personal authentication using a public certificate, personal authentication using a one-time password (OTP), personal authentication using a credit card, or the like has been used.
  • However, the personal authentication using the public certificate is a relatively high security authentication protocol, but it is not easy to stably carry the public certificate, and the personal authentication using the mobile phone authentication is a method of authenticating the occupancy of a mobile phone using an authentication number and therefore is vulnerable to swishing, or the like.
  • In addition, these personal authentication methods have a risk of being exposed to hacking because personal identification information, such as social security number, connecting information (CI), and IPIN which are sensitive information, is transmitted on a network in any form.
  • Accordingly, an object to be achieved by the present disclosure is to provide a new personal authentication method based on a block chain technology in this specification, in order to effectively increase security while minimizing the problems of the personal authentication methods.
  • According to an aspect of the present disclosure, there is provided an authentication method of a block chain authentication module. The authentication method of a block chain authentication module may include: receiving an authentication preparation request for a terminal; configuring a channel by randomly selecting a plurality of nodes that authenticates the terminal and generating a channel key allocated to the channel; generating a block including authentication comparison data used for the terminal authentication, the block further including a block key allocated to the block; commonly transmitting the channel key and the block key to the plurality of nodes, and dividing and transmitting the authentication comparison data thereto; transmitting an authentication preparation completion message including the channel key and the block key to the terminal; receiving, from the terminal, an authentication request message including the channel key, the block key, and authentication target data that the terminal requests authentication; dividing and transmitting the authentication target data to the plurality of nodes; receiving a result of comparing the divided and transmitted authentication comparison data with the divided and transmitted authentication target data from the plurality of nodes; and determining based on the received comparison result whether the authentication of the terminal succeeds.
  • Further, each of the authentication comparison data and the authentication target data may be divided into a plurality of categories.
  • Further, the dividing and transmitting of the authentication comparison data may include dividing the authentication comparison data for each category and transmitting the divided authentication comparison data to different nodes.
  • Further, the dividing and transmitting of the authentication target data may include dividing the authentication target data for each category and transmitting the divided authentication target data to different nodes but transmitting the divided authentication target data in the same category as the category of the authentication comparison data transmitted to each node.
  • Further, the plurality of categories may include a user fingerprint, an iris, a pattern, a password, an ID, an e-mail address, a unique serial number of the terminal, a media access control (MAC) address, a Bluetooth address, a WIFI service set identifier (SSID), a universally unique identifier (UUID), and/or a phone number that are registered in the terminal.
  • Further, the determining whether the authentication of the terminal succeeds may include determining that the authentication of the terminal succeeds when receiving, from nodes exceeding a preset ratio, a result that the divided and transmitted authentication comparison data matches the divided and transmitted authentication target data.
  • Further, the preset ratio may be set to be 50% of the total number of the plurality of nodes.
  • Further, the authentication method of the block chain authentication module may further include: deleting the channel, the channel key, and the block when the determination on whether the authentication of the terminal succeeds is completed.
  • Further, according to another aspect of the present disclosure, there is provided a block chain authentication module. The block chain authentication module may include: a communication unit that performs communication; a memory unit that stores data; and a processor that controls the communication unit and the memory unit, in which the processor may receive an authentication preparation request for a terminal; configure a channel by randomly selecting a plurality of nodes that authenticates the terminal and generate a channel key allocated to the channel; generate a block including an authentication comparison data used for the terminal authentication, the block further including a block key allocated to the block; commonly transmit the channel key and the block key to the plurality of nodes, and divide and transmit the authentication comparison data thereto; transmit an authentication preparation completion message including the channel key and the block key to the terminal; receive, from the terminal, an authentication request message including the channel key, the block key, and authentication target data that the terminal requests authentication; divide and transmit the authentication target data to the plurality of nodes; receive a result of comparing the divided and transmitted authentication comparison data with the divided and transmitted authentication target data from the plurality of nodes; and determine based on the received comparison result whether the authentication of the terminal succeeds.
  • Further, each of the authentication comparison data and the authentication target data may be divided into a plurality of categories.
  • Further, the processor may divide the authentication comparison data for each category and transmit the divided authentication comparison data to different nodes when the authentication comparison data is divided and transmitted.
  • Further, the processor may divide the authentication target data for each category and transmit the divided authentication target data to different nodes but transmit the divided authentication target data in the same category as the category of the authentication comparison data transmitted to each node.
  • Further, the plurality of categories may include a user fingerprint, an iris, a pattern, a password, an ID, an e-mail address, a unique serial number of the terminal, a media access control (MAC) address, a Bluetooth address, a WIFI service set identifier (SSID), a universally unique identifier (UUID), and/or a phone number that are registered in the terminal.
  • Further, the processor may determine that the authentication of the terminal succeeds when receiving, from nodes exceeding a preset ratio, a result that the divided and transmitted authentication comparison data matches the divided and transmitted authentication target data.
  • Further, the preset ratio may be set to be 50% of the total number of the plurality of nodes.
  • Further, the processor may delete the channel, the channel key, and the block when the determination on whether the authentication of the terminal succeeds is completed.
  • Details of other exemplary embodiments will be included in the detailed description of the invention and the accompanying drawings.
  • According to an exemplary embodiment of the present disclosure, since the authentication is performed through multi-nodes other than the authentication module/server, the system complexity and authentication overhead of the authentication module/server is reduced.
  • In addition, according to the exemplary embodiment of the present disclosure, the authentication is performed through the multi-nodes, so security is very high and the risk of hacking may be minimized due to the difficulty in forgery/tampering of authentication data.
  • In addition, according to the exemplary embodiment of the present disclosure, the introduction of the new authentication method has the effect that the flexibility of the authentication method is further upgraded.
  • The effects of the present disclosure are not limited to the aforementioned effects, and various other effects are included in the present specification.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above and other aspects, features and other advantages of the present disclosure will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which:
  • FIG. 1 is a conceptual diagram schematically illustrating an authentication method according to an exemplary embodiment of the present disclosure;
  • FIG. 2 is a flowchart illustrating an authentication method based on a block chain according to an exemplary embodiment of the present disclosure;
  • FIG. 3 is a flowchart illustrating the authentication method based on a block chain according to the exemplary embodiment of the present disclosure;
  • FIG. 4 is a flowchart illustrating the authentication method based on a block chain when attempting authentication through a web service/site according to the exemplary embodiment of the present disclosure;
  • FIG. 5 is a flowchart illustrating the authentication method based on a block chain when attempting authentication through the authentication server according to the exemplary embodiment of the present disclosure; and
  • FIG. 6 is a block diagram illustrating a configuration of the authentication server (or block chain authentication module) according to the exemplary embodiment of the present disclosure.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • The present disclosure may be variously modified and have several exemplary embodiments. Therefore, specific exemplary embodiments of the present disclosure will be illustrated in the accompanying drawings and be described in detail. However, it is to be understood that the present disclosure is not limited to a specific exemplary embodiment, but includes all modifications, equivalents, and substitutions without departing from the scope and spirit of the present disclosure.
  • Terms such as ‘first’, ‘second’, ‘A’, ‘B’, and the like, may be used to describe various components, but the components are not to be interpreted to be limited to the terms and are used only for distinguishing one component from other components. For example, a ‘first’ component may be named a ‘second’ component and the ‘second’ component may also be similarly named the ‘first’ component, without departing from the scope of the present disclosure. A term ‘and/or’ includes a combination of a plurality of related described items or any one of the plurality of related described items.
  • It should be understood that the singular expression includes the plural expression unless the context clearly indicates otherwise, and it will be further understood that the terms “comprises” or “have” used in this specification, specify the presence of stated features, numerals, steps, operations, components, parts, or a combination thereof, but do not preclude the presence or addition of one or more other features, numerals, steps, operations, components, parts, or a combination thereof.
  • Prior to the detailed description of the drawings, it is intended to clarify that the components in this specification are only distinguished by the main functions of each component. That is, two or more constituent parts to be described below may be combined into one constituent part, or one constituent part may be divided into two or more for each subdivided function. In addition, each of the constituent parts to be described below may additionally perform some or all of the functions of other constituent parts in addition to the main functions of the constituent parts, and some of the main functions of the constituent parts may be performed exclusively by other components.
  • In addition, in performing the method or the operation method, each of the processes constituting the method may occur differently from the specified order unless a specific order is explicitly described in context. That is, the respective steps may be performed in the same sequence as the described sequence, be performed at substantially the same time, or be performed in an opposite sequence to the described sequence.
  • FIG. 1 is a conceptual diagram schematically illustrating an authentication method according to an exemplary embodiment of the present disclosure.
  • Referring to FIG. 1, an authentication method and system based on a block chain proposed in the present specification may be largely composed of (a block chain-based) authentication server/module/system/apparatus (for example, business server/module/system/apparatus, hereinafter abbreviated as ‘authentication server’) 103, anode (for example, a user terminal) 102 that requests authentication to a corresponding authentication server, and a plurality of nodes (for example, other user terminals that are currently accessing an authentication server) 101-1 to 101-N that directly performs authentication.
  • The terminal 102 may request authentication to the authentication server, and the authentication server 103 may randomly select at least some 101-1 to 101-N of a plurality of nodes currently accessed to generate a temporary block chain channel for authentication of the corresponding terminal 102. The nodes 101-1 to 101-N of the temporary block chain channel thus generated may receive data for terminal authentication from the authentication server 103 and data requested for authentication from the terminal 102, respectively. Furthermore, the nodes 101-1 to 101-N of the temporary block chain channel may perform authentication by comparing the two data with each other and transmit the comparison result to the authentication server 103.
  • According to the present disclosure, since the authentication is performed through multi-nodes 101-1 to 101-N, not the authentication server 103, system complexity and authentication overhead of the authentication server 103 are reduced. In addition, since the authentication is performed through multi-nodes 101-1 to 101-N, security is very high, and the risk of hacking the authentication request terminal 102 is minimized because authentication data is difficult to be forged/tampered.
  • FIG. 2 is a flowchart illustrating an authentication method based on a block chain according to an exemplary embodiment of the present disclosure.
  • Referring to FIG. 2, the authentication method based on a block chain may be largely divided into an authentication preparation procedure (S201), an authentication procedure (S202), and an authentication completion procedure (S203).
  • In the authentication preparation procedure (S201), the terminal may request the authentication server to prepare for authentication, and the authentication server receiving the request performs a preparation procedure for terminal authentication. More specifically, in the authentication preparation procedure, the authentication server may randomly select a plurality of nodes authenticating the terminal to configure a temporary channel, and divide and transmit data used for authentication of the terminal (hereinafter, authentication comparison data) to the temporary channel. Here, the data used for authentication may correspond to the authentication data of the terminal registered in advance when the terminal joins the authentication server, and may correspond to, for example, a user fingerprint, an iris, a pattern, a password, an ID, an e-mail address, a unique serial number of the terminal, a media access control (MAC) address, a Bluetooth address, a WIFI service set identifier (SSID), a universally unique identifier (UUID), and/or a phone number, and the like that are registered in the terminal.
  • When the authentication preparation procedure is completed, the authentication server may receive data to be authenticated (hereinafter, referred to as authentication target data) from the terminal that requests authentication, and divide and transmit the received data to the nodes of the temporary channel in the same manner/category as authentication comparison data (S202). The nodes of the temporary channel may compare the authentication comparison data with the authentication target data, and transmit the comparison result to the authentication server (S202).
  • The authentication server may complete the authentication of the terminal based on the received comparison result (S203).
  • If the authentication succeeds, the authentication server may allow access to the terminal, and if the authentication fails, the authentication server may not allow access to the terminal.
  • The authentication preparation procedure and the authentication procedure will be described in more detail below with reference to FIG. 3.
  • FIG. 3 is a flowchart illustrating an authentication method based on a block chain according to an exemplary embodiment of the present disclosure. It is needless to say that the execution subject of this flowchart is an ‘authentication server’ designed to perform the authentication of the terminal and may be implemented as an authentication module/apparatus.
  • Referring to FIG. 3, first, the authentication server may receive an authentication preparation request from the terminal (S301).
  • Next, the authentication server may randomly select a plurality of nodes that authenticates the terminal, temporarily configure a block chain channel, and generate a channel key for identifying the corresponding channel (S302).
  • Next, the authentication server may generate a block including the authentication comparison data used for the terminal authentication (S303). At this time, the authentication server may generate a block key for identifying the generated block and include the block key in the generated block.
  • Next, the authentication server may “commonly” transmit the channel key and the block key to the plurality of nodes included in the channel, and “divide” and transmit the authentication comparison data (S304). That is, the authentication server may transmit the entire channel key and block key to the nodes of the channel in the same way, while the authentication comparison data is divided by the number of nodes of the channel and the divided data may be transmitted to different nodes. As a result, the nodes of the channel receive only some of the authentication comparison data, and the data received by the nodes may be different from each other.
  • The authentication comparison data may be divided according to various exemplary embodiments. In the present specification, an exemplary embodiment in which authentication comparison data is divided based on “authentication category (or attribute)” is proposed. Here, the authentication category may correspond to a user fingerprint, an iris, a pattern, a password, an ID, an e-mail address, a unique serial number of the terminal, a MAC address, a Bluetooth address, a WIFI SSID, a UUID, and/or a phone number, and the like that are registered in the terminal. That is, each node may receive/store authentication comparison data of different authentication categories and be used to compare the received/stored authentication comparison data with the authentication target data. At this time, the nodes may store the channel key and/or block key together with the authentication target data. This is to make it possible to distinguish which authentication comparison data should be compared with the received authentication target data later.
  • Next, the authentication server may complete the authentication preparation procedure by transmitting an authentication preparation completion message including a channel key and a block key to the terminal (S305).
  • Next, the authentication server may receive, from the terminal, an authentication request message including a channel key, a block key, and authentication target data that the terminal requests authentication (S306).
  • Next, the authentication server may recognize which channel is a channel authenticating the terminal through the received channel key and may divide and transmit the received authentication target data to the corresponding channel (S307). Also, in this case, the authentication server may divide and transmit the authentication target data for each category, similar to the method of transmitting the authentication comparison data in step S304. In particular, the authentication server may divide and transmit authentication target data in the same category as the category transmitted to each node in step S304. The authentication server may transmit the channel key and/or block key together with the authentication target data, and nodes may identify/recognize what authentication comparison data to compare using the channel key and/or block key.
  • Next, the authentication server may receive, from the nodes of the channel, a result of comparing the divided and transmitted authentication comparison data with the divided and transmitted authentication target data (S308), and may determine based on the received comparison result whether the authentication of the terminal succeeds (S309). For example, when the authentication server receives, from nodes exceeding a preset ratio among all nodes included in the channel, the result that the divided and transmitted authentication comparison data matches the divided and transmitted authentication target data, it may be determined that the authentication of the terminal succeeds. The preset ratio may be set to be, for example, 50%, but it is needless to say to be set to a higher ratio in order to enhance the authentication security level.
  • Although not illustrated in this flowchart, when the authentication is completed, the authentication server may delete all the channels, channel keys, and blocks. According to the present disclosure, every time the authentication of the terminal is completed, all information/data used for the authentication is discarded, and a new channel is generated for each authentication, so the security level may be very high.
  • Hereinafter, an exemplary embodiment of an authentication service based on a block chain when the authentication service is applied to an actual service will be specifically illustrated. The above-mentioned ‘authentication server’ may be divided into an authentication server and a block chain authentication module in the following exemplary embodiments.
  • FIG. 4 is a flowchart illustrating the authentication method based on a block chain when attempting authentication through a web service/site according to the exemplary embodiment of the present disclosure.
  • In this flowchart, the ‘block chain authentication module’ may correspond to the ‘authentication server’ described above with reference to FIGS. 1 to 3, and the authentication server in this flowchart may correspond to a server that finally determines whether the authentication succeeds. Therefore, the authentication server and the block chain authentication module in this flowchart may be collectively referred to as the “authentication server” in FIGS. 1 to 3. In addition, steps indicated by a dotted line in the flowchart may be deleted according to an exemplary embodiment as steps that are selectively applied. In addition, it is assumed in this flowchart that the user has requested his/her terminal authentication through the website/service.
  • 1. First, a web client may request the authentication server to prepare for authentication for a specific user/terminal.
  • 2. The authentication server may request an authentication preparation based on a block chain to the block chain authentication module.
  • 3-9. The block chain authentication module may generate and store channels, channel keys, blocks, and block keys, and transmit the generated and stored channels, channel keys, blocks, and block keys to nodes of a channel. At this time, the block chain authentication module commonly transmits the channel key and the block key to nodes, but divides and transmits the authentication comparison data (by category) to the nodes as described above. The nodes that receive the channel key and the block key and the authentication comparison data may store the received information and use the received information to authenticate a user/terminal later. More detailed description of these steps is as described above with reference to FIGS. 1 to 3, and therefore duplicate description thereof will be omitted.
  • 10-12. The block chain authentication module, which is ready for authentication, may transmit an authentication start push message including a channel key and a block key to an app client of a user terminal requesting authentication. In addition, the block chain authentication module may return the block chain authentication preparation request result to the authentication server, and the authentication server may transmit the block chain authentication preparation request result to a web client.
  • 13-14. The web client may request a web socket connection to the authentication server, and the authentication server may connect the web socket and store the channel key according to the corresponding request.
  • 15-17. The app client (that is, the user terminal) may encrypt the channel key, the block key, and the UUID, and transmit a block chain authentication request message including encrypted information and authentication target data to the block chain authentication module through the authentication server.
  • 18-22. The block chain authentication module may decrypt the received channel key, block key and UUID and verify the decrypted channel key, block key and UUID locally. That is, by determining whether the channel, block, and/or authentication comparison data corresponding to the decrypted information is stored/prepared, it is determined locally whether the authentication based on the current block chain is possible, and if not, the verification result may return back to the app client to reject the authentication request. When it is determined that the authentication is possible, the block chain authentication module may transmit a verification push message including the channel key, the block key, and/or the authentication target data to nodes of a channel corresponding to the corresponding channel key. At this time, the block chain authentication module divides and transmits the authentication target data to nodes, but divides and transmits the data in the same category as the category of the authentication comparison data as described above.
  • 23. Nodes may compare the divided and received authentication comparison data with the authentication target data to perform the authentication operation. For example, the node may determine whether the first fingerprint data received as the authentication comparison data and the second fingerprint data received as the authentication target data match each other to perform the authentication operation.
  • 24-27. Channel nodes may transmit the authentication result to the block chain authentication module through the authentication server. When the block chain authentication module receives, from nodes exceeding the preset ratio, the result that the authentication comparison data matches the authentication target data (that is, success result), the authentication may be considered to succeed. Here, the preset ratio may be set to be 50% of the total number of channel nodes.
  • 28. The block chain authentication module may transmit the authentication result to the app client.
  • 29-31. The app client may call an authentication completion application programming interface (API) to the authentication server, and the authentication message may transmit a message regarding whether the authentication succeeds to the web client.
  • 31-35. If the web client receives the message that the authentication succeeds, the verification API for finally verifying this may be called to the authentication server. To this end, the API call message transmitted to the authentication server may include attribute information regarding the authentication success or failure. Thereafter, the authentication server may finally determine whether the authentication succeeds based on the received API call message, verify a channel key, a session ID, a verification validity time, and an IP, and delete the channel used for the authentication. Furthermore, the authentication server may return the authentication result to the web client.
  • FIG. 5 is a flowchart illustrating the authentication method based on a block chain when attempting authentication through the authentication server according to the exemplary embodiment of the present disclosure.
  • In this flowchart, the ‘block chain authentication module’ may correspond to the ‘authentication server’ described above with reference to FIGS. 1 to 3, and the authentication server in this flowchart may correspond to a server that finally determines whether the authentication succeeds. Therefore, the authentication server and the block chain authentication module in this flowchart may be collectively referred to as the “authentication server” in FIGS. 1 to 3. In addition, steps indicated by a dotted line in the flowchart may be deleted according to an exemplary embodiment as steps that are selectively applied. In addition, it is assumed in this flowchart that the user has requested his/her terminal authentication directly to the authentication server.
  • It can be seen that the present exemplary embodiment is an exemplary embodiment in which only the web client is excluded from the exemplary embodiment of FIG. 4, and only the interaction step for the web client is excluded. Therefore, since the description of each step in FIG. 4 may be applied to the present flowchart, the description of each step is replaced with the description of FIG. 4, and therefore duplicate description thereof is omitted.
  • FIG. 6 is a block diagram illustrating a configuration of the authentication server (or block chain authentication module) according to the exemplary embodiment of the present disclosure.
  • Referring to FIG. 6, the authentication server (or block chain authentication module) may include a processor 610, a communication unit 620, and a memory unit 630.
  • The communication unit 620 may perform communication using at least one wired/wireless communication protocol. The memory unit 630 may store data/information.
  • The processor 610 may control the communication unit 620 and the memory unit 630, and use the communication unit 620 and the memory unit 630 to perform the above-described operations/steps in FIGS. 1 to 5. Therefore, the above-described authentication server (or block chain authentication module) may be described as being replaced by a processor.
  • The processor 610, the communication unit 620 and the memory unit 630 may be implemented with hardware chip, component and/or circuit.
  • According to an exemplary embodiment of the present disclosure, since the authentication is performed through multi-nodes other than the authentication module/server, the system complexity and authentication overhead of the authentication module/server is reduced.
  • In addition, according to the exemplary embodiment of the present disclosure, the authentication is performed through the multi-nodes, so security is very high and the risk of hacking may be minimized due to the difficulty in forgery/tampering of authentication data.
  • In addition, according to the exemplary embodiment of the present disclosure, the introduction of the new authentication method has the effect that the flexibility of the authentication method is further upgraded.
  • The effects of the present disclosure are not limited to the aforementioned effects, and various other effects are included in the present specification.
  • For convenience of description, each drawing is divided and described, but it is also possible to design to implement a new exemplary embodiment by combining the exemplary embodiments described in each drawing. In the integration battery for a vehicle according to an exemplary embodiment of the present disclosure, the configurations and the methods of the exemplary embodiments as described above are not restrictively applied. Rather, all or some of the exemplary embodiments may be selectively combined with each other so that the exemplary embodiments may be variously modified.
  • In addition, although the preferred embodiments of the present disclosure have been illustrated and described hereinabove, the present disclosure is not limited to the above-mentioned specific exemplary embodiments, but may be variously modified by those skilled in the art to which the present disclosure pertains without departing from the scope and spirit of the present disclosure as disclosed in the accompanying claims. These modifications should also be understood to fall within the scope of the present disclosure.

Claims (12)

1. An authentication method of a block chain authentication module, the authentication method comprising:
receiving a preparation request for authenticating a terminal;
configuring a channel by randomly selecting a plurality of nodes that authenticates the terminal and generating a channel key allocated to the channel;
generating a block including an authentication comparison data used for the terminal authentication, the block further including a block key allocated to the block;
commonly transmitting the channel key and the block key to the plurality of nodes, and dividing and transmitting the authentication comparison data to the plurality of nodes;
transmitting an authentication preparation completion message including the channel key and the block key to the terminal;
receiving, from the terminal, an authentication request message including the channel key, the block key, and authentication target data that the terminal requests authentication;
dividing and transmitting the authentication target data to the plurality of nodes;
receiving a result of comparing the divided and transmitted authentication comparison data with the divided and transmitted authentication target data from the plurality of nodes; and
determining based on the received comparison result whether the authentication of the terminal succeeds,
wherein each of the authentication comparison data and the authentication target data is divided into a plurality of categories,
wherein the dividing and transmitting of the authentication comparison data includes dividing the authentication comparison data for each category and transmitting the divided authentication comparison data to different nodes, and
wherein the dividing and transmitting of the authentication target data includes dividing the authentication target data for each category and transmitting the divided authentication target data to different nodes, but transmitting the divided authentication target data in the same category as the category of the authentication comparison data transmitted to each node.
2-4. (canceled)
5. The authentication method of claim 1, wherein the plurality of categories includes a user fingerprint, an iris, a pattern, a password, an ID, an e-mail address, a unique serial number of the terminal, a media access control (MAC) address, a Bluetooth address, a WIFI service set identifier (SSID), a universally unique identifier (UUID), and/or a phone number that are registered in the terminal.
6. The authentication method of claim 1, wherein the determining whether the authentication of the terminal succeeds includes determining that the authentication of the terminal succeeds when receiving, from nodes exceeding a preset ratio, a result that the divided and transmitted authentication comparison data matches the divided and transmitted authentication target data.
7. The authentication method of claim 6, wherein the preset ratio is set to be 50% of the total number of the plurality of nodes.
8. The authentication method of claim 7, further comprising:
deleting the channel, the channel key, and the block when the determination on whether the authentication of the terminal succeeds is completed.
9. A block chain authentication module, comprising:
a communication unit configured to perform communication;
a memory unit configured to store data; and
a processor configured to control the communication unit and the memory unit,
wherein the processor is further configured to:
receive a preparation request for authenticating a terminal, configure a channel by randomly selecting a plurality of nodes that authenticates the terminal and generate a channel key allocated to the channel,
generate a block including an authentication comparison data used for the terminal authentication, the block further including a block key allocated to the block,
commonly transmit the channel key and the block key to the plurality of nodes, and divide and transmit the authentication comparison data to the plurality of nodes,
transmit an authentication preparation completion message including the channel key and the block key to the terminal,
receive, from the terminal, an authentication request message including the channel key, the block key, and authentication target data that the terminal requests authentication,
divide and transmit the authentication target data to the plurality of nodes,
receive a result of comparing the divided and transmitted authentication comparison data with the divided and transmitted authentication target data from the plurality of nodes, and
determine based on the received comparison result whether the authentication of the terminal succeeds,
wherein each of the authentication comparison data and the authentication target data is divided into a plurality of categories,
wherein the processor is further configured to divide the authentication comparison data for each category and transmit the divided authentication comparison data to different nodes when the authentication comparison data is divided and transmitted, and
wherein the processor is further configured to divide the authentication target data for each category and transmit the divided authentication target data to different nodes, but transmit the divided authentication target data in the same category as the category of the authentication comparison data transmitted to each node.
10-12. (canceled)
13. The block chain authentication module of claim 9, wherein the plurality of categories includes a user fingerprint, an iris, a pattern, a password, an ID, an e-mail address, a unique serial number of the terminal, a media access control (MAC) address, a Bluetooth address, a WIFI service set identifier (SSID), a universally unique identifier (UUID), and/or a phone number that are registered in the terminal.
14. The block chain authentication module of claim 9, wherein the processor is further configured to determine that the authentication of the terminal succeeds when receiving, from nodes exceeding a preset ratio, a result that the divided and transmitted authentication comparison data matches the divided and transmitted authentication target data.
15. The block chain authentication module of claim 14, wherein the preset ratio is set to be 50% of the total number of the plurality of nodes.
16. The block chain authentication module of claim 15, wherein the processor is further configured to delete the channel, the channel key, and the block when the determination on whether the authentication of the terminal succeeds is completed.
US17/082,150 2020-01-17 2020-10-28 Multi-node authentication method and apparatus based on block chain Active US11075909B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/082,150 US11075909B1 (en) 2020-01-17 2020-10-28 Multi-node authentication method and apparatus based on block chain

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020200006473A KR102094705B1 (en) 2020-01-17 2020-01-17 A multi-node authentication method and apparatus based on block chain
KR10-2020-0006473 2020-01-17
US16/911,262 US10904252B1 (en) 2020-01-17 2020-06-24 Multi-node authentication method and apparatus based on block chain
US17/082,150 US11075909B1 (en) 2020-01-17 2020-10-28 Multi-node authentication method and apparatus based on block chain

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US16/911,262 Continuation US10904252B1 (en) 2020-01-17 2020-06-24 Multi-node authentication method and apparatus based on block chain

Publications (2)

Publication Number Publication Date
US20210226949A1 true US20210226949A1 (en) 2021-07-22
US11075909B1 US11075909B1 (en) 2021-07-27

Family

ID=70003392

Family Applications (2)

Application Number Title Priority Date Filing Date
US16/911,262 Active US10904252B1 (en) 2020-01-17 2020-06-24 Multi-node authentication method and apparatus based on block chain
US17/082,150 Active US11075909B1 (en) 2020-01-17 2020-10-28 Multi-node authentication method and apparatus based on block chain

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US16/911,262 Active US10904252B1 (en) 2020-01-17 2020-06-24 Multi-node authentication method and apparatus based on block chain

Country Status (9)

Country Link
US (2) US10904252B1 (en)
JP (1) JP6902151B1 (en)
KR (1) KR102094705B1 (en)
CN (1) CN113141340B (en)
GB (2) GB2607701A (en)
MY (1) MY189676A (en)
SG (1) SG10202010664UA (en)
TW (1) TWI746229B (en)
WO (1) WO2021145555A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102094705B1 (en) * 2020-01-17 2020-03-30 주식회사 에프엔에스벨류 A multi-node authentication method and apparatus based on block chain
CN112953704B (en) * 2021-01-29 2022-05-27 杭州叙简科技股份有限公司 5G-based unmanned POC relay method
GB2621504A (en) * 2021-11-03 2024-02-14 Dabco Ltd Authenticating a device
GB2612769B (en) * 2021-11-03 2023-12-27 Dabco Ltd Authenticating a device

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601171B1 (en) * 1999-02-18 2003-07-29 Novell, Inc. Deputization in a distributed computing system
US6240188B1 (en) * 1999-07-06 2001-05-29 Matsushita Electric Industrial Co., Ltd. Distributed group key management scheme for secure many-to-many communication
JP2006512864A (en) * 2002-12-31 2006-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーション Allowed anonymous authentication
US20040243828A1 (en) * 2003-05-30 2004-12-02 Aguilera Marcos K. Method and system for securing block-based storage with capability data
US8245050B1 (en) * 2006-09-29 2012-08-14 Netapp, Inc. System and method for initial key establishment using a split knowledge protocol
JP5188189B2 (en) * 2008-01-18 2013-04-24 富士通株式会社 Authentication system, authentication device, and computer program
CN102725737B (en) * 2009-12-04 2016-04-20 密码研究公司 The encryption and decryption of anti-leak can be verified
WO2013046088A1 (en) * 2011-09-27 2013-04-04 Koninklijke Philips Electronics N.V. Management of group secrets by group members
US9572029B2 (en) * 2012-04-10 2017-02-14 Imprivata, Inc. Quorum-based secure authentication
US9853819B2 (en) * 2013-08-05 2017-12-26 Guardtime Ip Holdings Ltd. Blockchain-supported, node ID-augmented digital record signature method
GB2513260B (en) * 2014-06-27 2018-06-13 PQ Solutions Ltd System and method for quorum-based data recovery
US9918225B2 (en) * 2014-11-03 2018-03-13 Qualcomm Incorporated Apparatuses and methods for wireless communication
US9847978B2 (en) * 2015-09-09 2017-12-19 Fast Dog, LLC Secure mobile affirmative consent management
US9660970B1 (en) * 2015-12-03 2017-05-23 Amazon Technologies, Inc. Cryptographic key distribution
US20170243225A1 (en) * 2016-02-24 2017-08-24 Mastercard International Incorporated Systems and methods for using multi-party computation for biometric authentication
US9985964B2 (en) * 2016-03-28 2018-05-29 Black Gold Coin, Inc. Systems and methods for providing block chain-based multifactor personal identity verification
KR101816650B1 (en) 2017-02-21 2018-01-09 주식회사 코인플러그 Method for providing simplified account registration service and authentication service, and authentication server using the same
CN106789047B (en) * 2017-03-03 2019-09-10 上海唯链信息科技有限公司 A kind of block chain identification system
CN107196900B (en) 2017-03-24 2020-04-24 创新先进技术有限公司 Consensus checking method and device
KR20180129475A (en) 2017-05-26 2018-12-05 삼성에스디에스 주식회사 Method, user terminal and authentication service server for authentication
US10735193B1 (en) * 2017-06-01 2020-08-04 Massachusetts Mutual Life Insurance Company Decentralized encryption and decryption of blockchain data
GB201710176D0 (en) * 2017-06-26 2017-08-09 Nchain Holdings Ltd Computer-implemented system and method
US20190044917A1 (en) * 2017-08-04 2019-02-07 Bank Of America Corporation System for secure verification of identity data
EP3442160A1 (en) * 2017-08-07 2019-02-13 Siemens Aktiengesellschaft Pruning of authentication trees
KR102041341B1 (en) 2017-09-14 2019-11-27 숭실대학교산학협력단 IoT Security System Based on the BlockChain and Security Method thereof
JP6939313B2 (en) * 2017-09-21 2021-09-22 富士フイルムビジネスイノベーション株式会社 Distributed authentication system
US20190280863A1 (en) * 2018-03-06 2019-09-12 BizOne Ltd. Recovery of secret data in a distributed system
US10135835B1 (en) * 2018-03-19 2018-11-20 Cyberark Software Ltd. Passwordless and decentralized identity verification
KR102135856B1 (en) * 2018-06-29 2020-07-20 세종대학교산학협력단 Method for certificating node of public blockchain, apparatus and system for executing the method
KR101929482B1 (en) 2018-08-13 2019-03-12 (주)아사달 Method for sharing business information based on mutual confirmation blockchain
KR101984254B1 (en) * 2018-09-21 2019-05-30 김성완 Node device constituting a block-chain network and an operation method of the node device
US11316668B2 (en) * 2018-11-16 2022-04-26 Safetech Bv Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information
US11405198B2 (en) * 2019-02-13 2022-08-02 TEEware Co., Ltd. System and method for storing and managing keys for signing transactions using key of cluster managed in trusted execution environment
US11469886B2 (en) * 2019-05-22 2022-10-11 Salesforce.Com, Inc. System or method to implement record level access on metadata driven blockchain using shared secrets and consensus on read
KR102046383B1 (en) 2019-07-30 2019-11-19 주식회사 바스랩 Method for de-identification of personal identification information for storing and managing authenticiation information based on blockchain
KR102094705B1 (en) 2020-01-17 2020-03-30 주식회사 에프엔에스벨류 A multi-node authentication method and apparatus based on block chain

Also Published As

Publication number Publication date
GB2591164A (en) 2021-07-21
GB2591164B (en) 2022-05-25
JP2021114280A (en) 2021-08-05
TWI746229B (en) 2021-11-11
KR102094705B1 (en) 2020-03-30
GB2607701A (en) 2022-12-14
JP6902151B1 (en) 2021-07-14
US11075909B1 (en) 2021-07-27
GB202016658D0 (en) 2020-12-02
US10904252B1 (en) 2021-01-26
CN113141340B (en) 2022-10-14
WO2021145555A1 (en) 2021-07-22
GB202205613D0 (en) 2022-06-01
TW202130158A (en) 2021-08-01
CN113141340A (en) 2021-07-20
SG10202010664UA (en) 2021-08-30
MY189676A (en) 2022-02-24

Similar Documents

Publication Publication Date Title
CN111429254B (en) Business data processing method and device and readable storage medium
US11075909B1 (en) Multi-node authentication method and apparatus based on block chain
CA3053316C (en) Method for providing simplified account registration service and user authentication service, and authentication server using same
AU2022200068B2 (en) Telecommunication system and method for settling session transactions
US20180293557A1 (en) Method of charging electronic currency automatically based on blockchain and system thereof
US8572713B2 (en) Universal authentication token
US6853988B1 (en) Cryptographic server with provisions for interoperability between cryptographic systems
US8438385B2 (en) Method and apparatus for identity verification
KR102177848B1 (en) Method and system for verifying an access request
KR101941227B1 (en) A FIDO authentication device capable of identity confirmation or non-repudiation and the method thereof
US20040186880A1 (en) Management apparatus, terminal apparatus, and management system
US20070067620A1 (en) Systems and methods for third-party authentication
JP2001326632A (en) Distribution group management system and method
US20220245631A1 (en) Authentication method and apparatus of biometric payment device, computer device, and storage medium
CN109684801A (en) The generation of electronic certificate is signed and issued and verification method and device
CN116980163A (en) Data processing method, device, equipment and medium based on trusted execution environment
CN111078649A (en) Block chain-based on-cloud file storage method and device and electronic equipment
KR102667293B1 (en) Method and appratus for providing blackchain-based secure messenger service
KR102332004B1 (en) Method, system and non-transitory computer-readable recording medium for managing an account on blockchain network
JP2022077529A (en) Communication device, communication method, and program
WO2022136893A1 (en) A cloud computing environment and a method for providing remote secure element services
TWI392310B (en) Method for implementing and authenticating an one time password (otp) for integrated circuit cards
CN116757857A (en) Block chain-based business insurance data management method, system, terminal and storage medium
KR20200019381A (en) Method for handling security data
WO2005011192A1 (en) Authentication system based on address, device thereof, and program

Legal Events

Date Code Title Description
AS Assignment

Owner name: FNS VALUE CO., LTD., KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:JEON, SEUNG JU;REEL/FRAME:054191/0302

Effective date: 20200618

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE