US20210226949A1 - Multi-node authentication method and apparatus based on block chain - Google Patents
Multi-node authentication method and apparatus based on block chain Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/40—User authentication by quorum, i.e. whereby two or more security principals are required
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/18—Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3215—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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/3231—Biological data, e.g. fingerprint, voice or retina
-
- H04L2209/38—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/082—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic 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
- 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.
- The present specification relates to a terminal authentication method based on a block chain technology and an apparatus therefor.
- 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.
- 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.
- 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. - 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” inFIGS. 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” inFIGS. 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 inFIG. 4 may be applied to the present flowchart, the description of each step is replaced with the description ofFIG. 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 aprocessor 610, acommunication unit 620, and amemory unit 630. - The
communication unit 620 may perform communication using at least one wired/wireless communication protocol. Thememory unit 630 may store data/information. - The
processor 610 may control thecommunication unit 620 and thememory unit 630, and use thecommunication unit 620 and thememory unit 630 to perform the above-described operations/steps inFIGS. 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, thecommunication unit 620 and thememory 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.
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)
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)
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 |
-
2020
- 2020-01-17 KR KR1020200006473A patent/KR102094705B1/en active IP Right Grant
- 2020-06-24 CN CN202010588095.9A patent/CN113141340B/en active Active
- 2020-06-24 US US16/911,262 patent/US10904252B1/en active Active
- 2020-07-03 MY MYPI2020003469A patent/MY189676A/en unknown
- 2020-10-20 GB GB2205613.9A patent/GB2607701A/en active Pending
- 2020-10-20 GB GB2016658.3A patent/GB2591164B/en active Active
- 2020-10-27 SG SG10202010664UA patent/SG10202010664UA/en unknown
- 2020-10-27 TW TW109137284A patent/TWI746229B/en active
- 2020-10-28 US US17/082,150 patent/US11075909B1/en active Active
- 2020-11-19 JP JP2020192394A patent/JP6902151B1/en active Active
- 2020-11-26 WO PCT/KR2020/016952 patent/WO2021145555A1/en active Application Filing
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 |