WO2020149454A1 - 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법 - Google Patents

사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
WO2020149454A1
WO2020149454A1 PCT/KR2019/003025 KR2019003025W WO2020149454A1 WO 2020149454 A1 WO2020149454 A1 WO 2020149454A1 KR 2019003025 W KR2019003025 W KR 2019003025W WO 2020149454 A1 WO2020149454 A1 WO 2020149454A1
Authority
WO
WIPO (PCT)
Prior art keywords
authentication
user
data
electronic device
blockchain
Prior art date
Application number
PCT/KR2019/003025
Other languages
English (en)
French (fr)
Inventor
포포브올렉산드르
빌리아브스키미키타
포포브아르템
브린자볼로디미어
올리니크안드리
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to EP19910064.5A priority Critical patent/EP3896587A4/en
Publication of WO2020149454A1 publication Critical patent/WO2020149454A1/ko
Priority to US17/378,385 priority patent/US20210342427A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/065Continuous authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/33Security of mobile devices; Security of mobile applications using wearable devices, e.g. using a smartwatch or smart-glasses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/61Time-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/67Risk-dependent, e.g. selecting a security level depending on risk profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/68Gesture-dependent or behaviour-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Definitions

  • the present disclosure relates to an electronic device that performs authentication for a user and a method of operating the same.
  • the present disclosure relates to an artificial intelligence (AI) system utilizing a machine learning algorithm such as deep learning and its application.
  • AI artificial intelligence
  • the Artificial Intelligence (AI) system is a computer system that realizes human-level intelligence, and unlike the existing Rule-based smart system, the machine learns, judges, and becomes intelligent. As the AI system is used, the recognition rate is improved and the user's taste can be understood more accurately, and the existing Rule-based smart system is gradually being replaced by the deep learning-based AI system.
  • Machine learning Deep learning
  • elemental technologies utilizing machine learning.
  • Machine learning is an algorithm technology that classifies/learns the characteristics of input data by itself
  • element technology is a technology that simulates functions such as cognition and judgment of the human brain by using machine learning algorithms such as deep learning. It consists of technical fields such as understanding, reasoning/prediction, knowledge expression, and motion control.
  • Linguistic understanding is a technology that recognizes and applies/processes human language/characters, and includes natural language processing, machine translation, conversation system, question and answer, speech recognition/synthesis, and the like.
  • Visual understanding is a technology that recognizes and processes objects as human vision, and includes object recognition, object tracking, image search, human recognition, scene understanding, spatial understanding, and image improvement.
  • Inference prediction is a technique for logically inferring and predicting information by determining information, and includes knowledge/probability-based reasoning, optimization prediction, preference-based planning, and recommendation.
  • Knowledge expression is a technology that automatically processes human experience information into knowledge data, and includes knowledge building (data generation/classification), knowledge management (data utilization), and so on.
  • Motion control is a technique for controlling autonomous driving of a vehicle and movement of a robot, and includes motion control (navigation, collision, driving), operation control (behavior control), and the like.
  • Various services, applications, etc. provided by the electronic device may require authentication of a user who wants to access it.
  • various types of service providers such as financial service providers, credit card service providers, medical service providers, and social network service providers, may require verification that the user of the electronic device is a true user.
  • User authentication may be performed based on information collected or input from the user. For example, user authentication may be performed based on various types of user information such as ID and password information, fingerprint recognition information, face recognition information, and pattern input information input from the user.
  • user information such as ID and password information, fingerprint recognition information, face recognition information, and pattern input information input from the user.
  • the problem to be solved by the present disclosure is to solve the above-described problems, and is to provide an electronic device for performing authentication for a user and a method of operating the same.
  • user authentication with high reliability and security may be performed based on user behavior data collected from at least one electronic device.
  • FIG. 1 is a diagram illustrating a system for performing authentication for a user according to an embodiment.
  • FIG. 2 is a view for explaining a blockchain including a plurality of nodes that perform authentication for a user according to an embodiment.
  • FIG. 3 is a view for explaining the operation of a block chain and a plurality of electronic devices for performing user authentication according to an embodiment.
  • FIG. 4 is a block diagram illustrating an internal configuration of the electronic device 1000 according to an embodiment.
  • FIG. 5 is a block diagram illustrating an internal configuration of the electronic device 1000 according to an embodiment.
  • FIG. 6 is a flowchart illustrating a method for performing user authentication according to an embodiment.
  • FIG. 7 is a flowchart illustrating a method for an electronic device to submit behavioral data to a blockchain according to an embodiment.
  • FIG. 8 is a flowchart illustrating a method of performing user authentication in two steps according to an embodiment.
  • FIG. 9 is a flowchart illustrating a method of performing secondary authentication according to an embodiment.
  • FIG. 10 is a flowchart illustrating a method of performing secondary authentication according to an embodiment.
  • 11 is a diagram illustrating a method of performing user authentication based on behavior data according to an embodiment.
  • FIG. 12 is a diagram illustrating an example in which the electronic device operates as a node of the blockchain through one node participating in the blockchain.
  • FIG. 13 is a block diagram illustrating the structure of a block and a blockchain according to an embodiment.
  • FIG. 14 is a view showing an embodiment utilizing user authentication according to an embodiment.
  • 15 is a flowchart illustrating a method for performing user authentication in a plurality of electronic devices according to an embodiment.
  • 16 is a diagram illustrating an example of performing user authentication according to an embodiment.
  • 17 is a block diagram of a processor in accordance with some embodiments.
  • FIG. 18 is a block diagram of a data learning unit according to some embodiments.
  • 19 is a block diagram of a data recognition unit according to some embodiments.
  • FIG. 20 is a diagram illustrating an example of learning and recognizing data by interworking with an electronic device and a server according to some embodiments of FIG. 20.
  • a first aspect of the present disclosure is a method for performing authentication for a user in an electronic device, the method comprising: obtaining an authentication model; Obtaining behavioral data for the user; Performing authentication on the acquired behavioral data using the authentication model; And submitting the authenticated behavior data to the blockchain based on a result of the authentication, wherein the authentication model is based on at least one behavior data for the user registered in the blockchain.
  • an electronic device for performing authentication for a user comprising: a memory storing an authentication model; At least one processor for acquiring action data for the user and performing authentication on the acquired action data using the authentication model; And a communication unit that submits the authenticated behavior data to a blockchain based on a result of the authentication, and wherein the authentication model is based on at least one behavior data for the user registered in the blockchain. And an electronic device, which is a trained model.
  • a third aspect of the present disclosure may provide a computer program product including a recording medium in which a program for performing the method of the first aspect or the second aspect is stored.
  • blockchain is a distributed peer-to-peer (Peer) of a ledger that utilizes software elements composed of algorithms in which blocks connected in order to negotiate transaction information using encryption and security technologies in order to secure and maintain integrity.
  • Peer peer-to-peer
  • the distributed P2P system may be a special form of the distributed system.
  • all nodes of a network can provide resources (processing power, storage space, data or network bandwidth, etc.) to each other without coordination of a central node.
  • blockchain may mean a distributed ledger technology in which nodes in a network are jointly recorded and managed by distributing the ledger recording transaction information to a P2P network rather than a central server of a specific institution.
  • node may mean a component within a network of blockchains.
  • a node is a special-purpose computer, a general-purpose computer, a supercomputer, a mainframe computer, a personal computer, a smart phone, and a tablet PC. Etc., but is not limited thereto.
  • FIG. 1 is a diagram illustrating a system for performing authentication for a user according to an embodiment.
  • a system for authenticating a user may include an electronic device 1000 and a block chain 300.
  • the electronic device 1000 collects behavior data of the user 100 and performs authentication for the user, and may be implemented in various forms.
  • the electronic device 1000 described herein includes a smart TV, a set-top box, a mobile phone, a tablet PC, a digital camera, a laptop computer, a desktop, an e-book terminal, a digital broadcasting terminal, and a PDA (Personal). Digital Assistants), PMPs (Portable Multimedia Players), navigation, MP3 players, wearable devices, and the like, but are not limited thereto.
  • the electronic device 1000 described in this specification may be a wearable device.
  • Wearable devices include accessory devices (e.g. watches, rings, cuff bands, ankle bands, necklaces, glasses, contact lenses), head-mounted devices (HMD), fabric or garment-integrated devices (e.g. Electronic clothing), a body-attached device (eg, a skin pad), or a bio-implantable device (eg, an implantable circuit).
  • accessory devices e.g. watches, rings, cuff bands, ankle bands, necklaces, glasses, contact lenses
  • HMD head-mounted devices
  • fabric or garment-integrated devices e.g. Electronic clothing
  • a body-attached device eg, a skin pad
  • a bio-implantable device eg, an implantable circuit
  • the electronic device 1000 may collect behavioral data from a user and perform user authentication. According to an embodiment, the electronic device 1000 may authenticate that the user providing the behavior data is a true user by performing authentication on the collected behavior data. For example, the electronic device 1000 may determine whether the user who provides the behavior data is a true user according to the degree to which the collected behavior data pattern matches the previously learned behavior data pattern.
  • the electronic device 1000 may collect various types of behavior data from the user 100.
  • the electronic device 1000 is the behavior data of the user 100, and is input by a user such as button input, fingerprint recognition, face recognition, pattern recognition, password input, touch input on a touch screen, voice input, etc.
  • Information, and biometric information, motion information, and location information of the user detected by the sensor may be collected.
  • the information input by the user may include information directly input by the user for user authentication.
  • the behavior data may further include information about a feature (ex. type) of the electronic device 1000 on which the behavior data was collected, information on a time and location at which the behavior data was collected, and the like.
  • the electronic device 1000 may collect various types of behavior data related to the user 100, not limited to the above-described example.
  • User authentication may include continuous authentication, which continuously performs authentication during a session.
  • Continuous authentication refers to an authentication technique in which authentication is continuously performed based on behavioral data collected from a user, instead of performing authentication through a user's direct input for authentication, such as inputting an ID and password. According to the continuous authentication, authentication may be continuously performed through action data that may be collected in the electronic device 1000 without the user's knowledge. Therefore, according to the continuous authentication, even if information for authentication is not directly input by the user, a high level of security can be maintained.
  • the user authentication may be performed in two stages of primary authentication by an authentication method using an ID and password and secondary authentication by the continuous authentication method described above. For example, after the primary authentication is performed, a session for secondary authentication is established, and continuous authentication for the user may be performed through secondary authentication until the established session ends. According to an embodiment, when a preset time has elapsed or the secondary authentication repeatedly fails, the session may be terminated. After the session ends, the primary authentication can be performed again.
  • the user authentication may be performed, including continuous authentication, according to various methods.
  • authentication may be performed by comparing a pattern of behavior data collected from a user with a behavior pattern learned in advance. For example, a higher reliability value may be determined as a pattern of collected behavior data matches a previously learned behavior pattern. If the determined reliability value is greater than or equal to a reference value, it may be determined that the user of the behavior data is a true user, and the behavior data may be determined as authenticated behavior data according to an embodiment.
  • the behavioral data having a reliability value equal to or greater than a reference value may be submitted to the blockchain 300.
  • the behavior data submitted to the blockchain 300 may be registered in the blockchain 300 by being added to the blockchain 300 as a new block, as consensus among nodes participating in the blockchain 300 is derived. have.
  • at least one node participating in the block chain 300 is connected to the block chain 300 to determine whether to register the action data submitted to the block chain 300 in the block chain 300 Verification of the submitted behavioral data may be performed. Depending on the verification result, at least one node may agree that the behavior data is registered in the blockchain 300.
  • the previously learned behavior pattern may be an authentication model for authenticating behavior data.
  • the electronic device 1000 may perform authentication for the user by obtaining a reliability value for the behavior data based on the authentication model.
  • the authentication model according to an embodiment may be trained based on the authenticated behavior data according to a result of user authentication.
  • the authentication model according to an embodiment may be learned based on behavioral data registered in the blockchain 300.
  • the behavior data registered in the block chain 300 may include behavior data authenticated by the electronic device 1000, as well as behavior data authenticated by another electronic device according to an embodiment.
  • the behavior data collected from another electronic device may be behavior data authenticated to the same user as the user of the behavior data collected from the electronic device 1000.
  • the behavior data registered in the block chain 300 may include authenticated behavior data among collected behavior data in another electronic device owned by the same user as the user of the electronic device 1000.
  • Behavior data may be shared among a plurality of devices participating in the blockchain 300 by being registered in the blockchain 300 instead of being centrally stored in a server or an external device. Therefore, according to one embodiment, compared to the case where data is distributed in a server-client manner, security can be further enhanced, and costs can be reduced as the need to manage the server is eliminated.
  • data since data is distributed and stored in a plurality of devices participating in the block chain 300, it is possible to prevent a distributed denial of service (DDoS) attack, which is a hacking method that attacks the server intensively.
  • DDoS distributed denial of service
  • the distributed ledger is stored in each device due to the characteristics of the block chain 300 technology, transparency of data is ensured, and thus higher reliability than the server-client method can be secured.
  • At least one electronic device 1000 capable of collecting behavioral data for the same user may participate as a node in the same blockchain 300.
  • the authentication model used in the at least one electronic device 1000 may be learned based on behavioral data registered in the blockchain 300.
  • behavior data used to train the authentication model of each electronic device 1000 may be identical to each other.
  • the authentication models used in each electronic device 1000 may be different.
  • Each node participating in the block chain 300 may determine whether the action data submitted to the block chain 300 is valid. For example, each node participating in the blockchain 300 may determine whether the behavior data is inconsistent with other existing behavior data registered in the blockchain 300. According to an embodiment, according to a majority agreement among nodes participating in the blockchain 300, the behavior data may be added to the blockchain 300 as a new block. Without being limited to the above-described example, the behavior data submitted to the blockchain 300 may be registered in the blockchain 300 as a new block according to various consensus algorithms.
  • the blockchain 300 may exist for each user to be authenticated.
  • the electronic device 1000 when the electronic device 1000 can collect behavioral data from a plurality of users, the electronic device 1000 may participate as a node in the plurality of blockchains 300 as many as the number of the users.
  • the blockchain 300 may exist for a plurality of users or groups of users.
  • FIG. 2 is a view for explaining a blockchain including a plurality of nodes that perform authentication for a user according to an embodiment.
  • a plurality of nodes participating in the block chain 300 for performing authentication for a user may include a plurality of electronic devices 210, 220, 230 and 400. . At least one of the plurality of electronic devices 210, 220, 230, and 400 of FIG. 2 may correspond to the electronic device 1000 of FIG. 1.
  • Nodes participating in the blockchain 300 may be divided into full nodes and full nodes.
  • the full node can perform most functions that can be performed as a node of the blockchain 300.
  • the full node may store most of the information about the blockchain 300, or perform verification to determine whether to add newly submitted data to the blockchain 300 as a new block.
  • the full node should be able to perform most functions that can be performed as a node of the block chain 300, so it can be a high-capacity or high-performance electronic device.
  • the full node is a special-purpose computer, a general-purpose computer, a supercomputer, a mainframe computer, a personal computer, and a server computer. computer, cloud computer, and the like.
  • the light node may perform some functions among functions that can be performed as nodes of the blockchain 300.
  • the light node may store some information about the block chain 300, for example, instead of storing all the information for all blocks of the block chain 300, summarized for at least one block Some information can be stored.
  • the light node may perform some functions as a node of the blockchain 300, and, if necessary, may perform necessary functions in the blockchain 300 through a full node. For example, the light node may not perform verification to determine whether to add the newly submitted data to the blockchain 300 as a new block.
  • the light node instead of storing the entire distributed ledger for the blockchain 300, the light node stores only some information about the blockchain 300, and is stored in another node (ex. full node). By accessing the distributed ledger, it can operate as a node of the blockchain 300. For example, when a light node performs an operation as a node of the blockchain 300, it accesses a distributed ledger stored in another trusted node (e.g., full node, cloud server, etc.), if necessary. You can do
  • the light node may be a relatively low-capacity or low-performance electronic device compared to a full node.
  • the light node may be a mobile device, a wearable device, a laptop, a house appliance, or the like.
  • the plurality of electronic devices 210, 220, 230, and 400 may participate in the block chain 300 as a full node or a light node, and at least one of nodes participating in the block chain 300 The node may collect behavior data of the user 100 from the user 100.
  • the electronic devices 210, 220, and 230 of FIG. 2 may be a mobile device or a home appliance, and as a light node, as a light node, may participate in the block chain 300.
  • the electronic devices 210, 220, and 230 have a sensor or an input interface, and collect behavior data of the user 100 based on the biometric information of the user 100 or the input information of the user 100. , It is possible to perform authentication based on the authentication model.
  • the electronic device 400 of FIG. 2 may be a high-capacity and high-performance desktop computer, and may participate in the blockchain 300 as a full node.
  • the electronic device 400 may collect behavioral data of the user 100 based on the input information of the user 100 collected through the input interface, and perform authentication based on the authentication model. .
  • the electronic device 400 capable of operating as a full node of FIG. 2 may be a device that cannot directly collect behavioral data of the user 100, such as a server computer or a cloud computer.
  • the electronic device 400 capable of operating as a full node performs authentication for a user based on the behavior data of the user 100 collected from other electronic devices 210, 220, and 230. And, according to the authentication result, the behavior data authenticated to the blockchain 300 may be submitted to the blockchain 300.
  • the electronic device 400 capable of operating as a full node is a user 100 collected from other electronic devices 210, 220, and 230 instead of other electronic devices 210, 220, and 230. ) Can perform authentication on behavior data.
  • At least one node (eg, first and second third electronic devices) participating in the block chain 300 may be devices owned by the same user 100.
  • at least one node 210, 220, 230, 400 participating in the blockchain 300 is not owned by the same user 100, but collects behavioral data from the same user 100 It can be a device.
  • FIG 3 is a view for explaining the operation of the block chain 300 and a plurality of electronic devices 210, 220, and 230 for performing user authentication according to an embodiment.
  • At least one of the plurality of electronic devices 210, 220, and 230 of FIG. 3 may correspond to the electronic device 1000 of FIG. 1.
  • the first electronic device 210 may collect behavioral data from the user 100 and authenticate the user 100.
  • the first electronic device 210 may authenticate the collected behavior data based on the authentication model 1 213 stored in the first electronic device 210.
  • a reliability value for behavior data may be determined, and based on the reliability value, user authentication for behavior data may be performed.
  • the reliability value according to an embodiment may be obtained through an operation performed internally by the first electronic device 210, and thus may be safe from external attacks.
  • the first electronic device 210 may perform an operation according to the request of the user 100, based on an authentication result for the behavior data. For example, the first electronic device 210 determines that the user 100 of the behavior data is a true user when the authentication result for the behavior data is greater than or equal to the reference value, and according to the request of the user 100 You can perform the operation.
  • the first electronic device 210 may additionally acquire other behavior data for the user 100. For example, the first electronic device 210 may request the user 100 for additional information to verify whether the user 100 is a true user, and additional information provided from the user 100 as other behavior data described above. Can be obtained. As another example, the first electronic device 210 may obtain behavior data (eg, location information) and a different kind of behavior data (eg, user face information) whose reliability value is lower than the reference value as other behavior data described above. have.
  • behavior data eg, location information
  • a different kind of behavior data eg, user face information
  • the first electronic device 210 may determine whether to perform an operation according to the request of the user 100 based on other behavior data. For example, the first electronic device 210 may determine a reliability value for other behavior data based on the authentication model, and user authentication may be performed based on the determined reliability value. According to an embodiment, when the reliability value for other behavior data is greater than or equal to a reference value, the other behavior data may be submitted to the blockchain 300 as authenticated behavior data.
  • the operation according to the request of the user 100 may be automatically performed by the smart contract 212 included in each of the electronic devices 210, 220, and 230.
  • Smart contract is a “automated contract” system that automatically executes contracts when all programmed conditions are met.
  • the terms of the contract can be designated by computer code, and if the terms are met, the contract can be automatically executed.
  • the reliability value of the behavior data obtained based on the authentication model 1 (213) may be set as a contract fulfillment condition of the smart contract 212, and if the contract fulfillment condition is satisfied, the contract As an operation to perform, an operation requested by the user may be automatically performed.
  • the first electronic device 210 may submit the authenticated behavior data to the blockchain 300 based on the authentication result for the behavior data.
  • Behavior data submitted to the blockchain 300 may be registered by being added as a new block to the blockchain 300 as an agreement between at least one node participating in the blockchain 300 is derived.
  • verification of behavioral data may be performed by at least one full node among nodes participating in the block chain 300.
  • the at least one full node may agree whether or not to register the behavior data in the blockchain 300.
  • the behavior data may be added as a new block to the blockchain 300.
  • the first electronic device 210 and the second electronic device in which information about the new block participates as a node in the blockchain 300 It may be delivered to the 220 and the third electronic device 230.
  • the behavior data when the behavior data is added to the blockchain 300 as a new block, the first electronic device 210 and the second electronic device in which information about the new block participates as a node in the blockchain 300 It may be delivered to the 220 and the third electronic device 230.
  • consensus is derived through verification by at least one full node
  • behavior data is added to the blockchain 300 as a new block
  • information about the new block may be reflected in the distributed ledger of each node. So, it can be delivered to the first, second, and third electronic devices 210, 220, and 230.
  • Each of the electronic devices 210, 220, and 230 that have received the information on the new block distributed ledgers 211, 221, and 231 stored in each of the electronic devices 210, 220, and 230 based on the information on the new block
  • authentication models 1, 2, and 3 (213, 223, 233) can be updated.
  • information about blocks included in the blockchain 300 may be updated.
  • each of the authentication models 213, 223, and 233 may be updated by each of the electronic devices 210, 220, and 230 by retraining based on the behavior data included in the new block. have.
  • the authentication models 1, 2, and 3 (213, 223, 233) of each electronic device 210, 220, and 230 are memory and distributed file systems of the electronic devices 210, 220, 230 (distributed) file system), for example, at least one of IPFS (Inter Planetary File System).
  • IPFS Inter Planetary File System
  • the distributed file system means a file storage system according to a method of receiving data from a plurality of storage devices in which data is stored, instead of receiving data from a server according to a server-client method.
  • the first electronic device 210 updates the authentication model 1 213 based on the block data of the newly registered blockchain 300, and then stores a plurality of updated authentication model 1 213.
  • authentication model 1 213 can be stored in a distributed file system.
  • the first electronic device 210 is a part of the authentication model 1 213 from a plurality of storage devices, for example, the authentication model 1-1, the authentication model 1, which is the divided data of the authentication model 1 213.
  • authentication model 1 213 can be obtained from a distributed file system.
  • the authentication model according to an embodiment may be stored in various devices in various ways.
  • FIG. 4 is a block diagram illustrating an internal configuration of the electronic device 1000 according to an embodiment.
  • FIG. 5 is a block diagram illustrating an internal configuration of the electronic device 1000 according to an embodiment.
  • the electronic device 1000 may include a processor 1300, a memory 1700, and a communication unit 1500. However, not all of the components illustrated in FIG. 4 are essential components of the electronic device 1000.
  • the electronic device 1000 may be implemented by more components than those illustrated in FIG. 4, or the electronic device 1000 may be implemented by fewer components than those illustrated in FIG. 4.
  • the electronic device 1000 may include a user input unit 1100 in addition to the processor 1300, the memory 1700, and the communication unit 1500, according to some embodiments. , May further include an output unit 1200, a sensing unit 1400, and an A/V input unit 1600.
  • the user input unit 1100 refers to a means for a user to input data for controlling the electronic device 1000.
  • the user input unit 1100 includes a key pad, a dome switch, and a touch pad (contact capacitive type, pressure resistive film type, infrared sensing type, surface ultrasonic conduction type, integral type) Tension measurement method, piezo effect method, etc.), a jog wheel, a jog switch, and the like, but are not limited thereto.
  • the user input unit 1100 may receive a user input for performing a predetermined operation.
  • the user input received by the user input unit 1100 may be collected as behavior data according to an embodiment.
  • the output unit 1200 may output an audio signal, a video signal, or a vibration signal, and the output unit 1200 may include a display unit 1210, an audio output unit 1220, and a vibration motor 1230. have.
  • the output unit 1200 may output a result of performing an operation according to a user request. For example, a predetermined operation may be performed in the electronic device 1000 according to a result of performing authentication on the behavior data, and a result of performing the predetermined operation may be output through the output unit 1200.
  • the display unit 1210 displays and outputs information processed by the electronic device 1000.
  • the display unit 1210 may be used as an input device in addition to an output device.
  • the display unit 1210 includes a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, and a three-dimensional display ( 3D display), and an electrophoretic display (electrophoretic display).
  • the electronic device 1000 may include two or more display units 1210 according to an implementation form of the electronic device 1000.
  • the audio output unit 1220 outputs audio data received from the communication unit 1500 or stored in the memory 1700.
  • the vibration motor 1230 may output a vibration signal. Also, the vibration motor 1230 may output a vibration signal when a touch is input to the touch screen.
  • the processor 1300 typically controls the overall operation of the electronic device 1000.
  • the processor 1300 by executing programs stored in the memory 1700, the user input unit 1100, the output unit 1200, the sensing unit 1400, the communication unit 1500, the A/V input unit 1600 ) Etc. can be controlled overall.
  • the electronic device 1000 may include at least one processor 1300.
  • the processor 1300 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations.
  • the command may be provided to the processor 1300 from the memory 1700 or may be received through the communication unit 1500 and provided to the processor 1300.
  • the processor 1300 may be configured to execute instructions according to program code stored in a recording device such as memory.
  • the processor 1300 may collect user's behavior data and perform authentication on the collected behavior data.
  • the processor 1300 may perform authentication using an authentication model learned based on at least one behavior data of a user registered in the blockchain 300 in which the electronic device 1000 participates.
  • the processor 1300 may submit the authenticated behavior data to the blockchain 300 according to the result of the authentication of the behavior data.
  • the behavior data submitted to the blockchain 300 may be registered in the blockchain 300 by being added to the blockchain 300 as a new block, as consensus among nodes participating in the blockchain 300 is derived. have.
  • the sensing unit 1400 may detect a state of the electronic device 1000 or a state around the electronic device 1000 and transmit the sensed information to the processor 1300. According to an embodiment, information sensed by the sensing unit 1400 may be transmitted to the processor 1300 as behavioral data collected about the user.
  • the sensing unit 1400 includes a magnetic sensor 1410, an acceleration sensor 1420, a temperature/humidity sensor 1430, an infrared sensor 1440, a gyroscope sensor 1450, and a position sensor (Eg, GPS) 1460, an air pressure sensor 1470, a proximity sensor 1480, and an RGB sensor (illuminance sensor) 1490, but may include at least one.
  • the communication unit 1500 may include one or more components that enable the electronic device 1000 to communicate with the server 2000 or an external device (not shown).
  • the communication unit 1500 may include a short-range communication unit 1510, a mobile communication unit 1520, and a broadcast reception unit 1530.
  • the communication unit 1500 may transmit the behavior data of the user authenticated by the processor 1300 to the block chain 300.
  • the communication unit 1500 may transmit the authenticated behavior data to the at least one node so that at least one node participating in the blockchain 300 can verify behavior data.
  • the short-range wireless communication unit 1510 includes a Bluetooth communication unit, a Bluetooth Low Energy (BLE) communication unit, a Near Field Communication unit, a WLAN (Wi-Fi) communication unit, a Zigbee communication unit, and an infrared ray ( IrDA, an infrared data association (WDA) communication unit, a WFD (Wi-Fi Direct) communication unit, a UWB (ultra wideband) communication unit, an Ant+ communication unit, and the like, but are not limited thereto.
  • BLE Bluetooth Low Energy
  • Wi-Fi Wireless Fidelity
  • the mobile communication unit 1520 transmits and receives a wireless signal to and from at least one of a base station, an external terminal, and a server on a mobile communication network.
  • the wireless signal may include various types of data according to transmission and reception of a voice call signal, a video call signal, or a text/multimedia message.
  • the broadcast receiving unit 1530 receives a broadcast signal and/or broadcast related information from the outside through a broadcast channel.
  • the broadcast channel may include a satellite channel and a terrestrial channel.
  • the electronic device 1000 may not include the broadcast receiving unit 1530.
  • the A/V (Audio/Video) input unit 1600 is for inputting an audio signal or a video signal, which may include a camera 1610 and a microphone 1620.
  • the camera 1610 may obtain a video frame such as a still image or a video through an image sensor in a video call mode or a shooting mode.
  • the image captured through the image sensor may be processed through the processor 1300 or a separate image processing unit (not shown).
  • the microphone 1620 receives external sound signals and processes them as electrical voice data.
  • the memory 1700 may store a program for processing and controlling the processor 1300, and may store data input to or output from the electronic device 1000.
  • the memory 1700 may store user's behavior data collected from the electronic device 1000 and an authentication model used to authenticate the user's behavior data.
  • the memory 1700 may further store information related to the smart contract and distributed ledger as information related to the blockchain 300. Based on information related to the smart contract and distributed ledger stored in the memory 1700, the electronic device 1000 submits authenticated behavior data to the blockchain 300, or relates to blocks registered in the blockchain 300.
  • the authentication model can be updated using the information.
  • the memory 1700 is a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD or XD memory, etc.), RAM (RAM, Random Access Memory) SRAM (Static Random Access Memory), ROM (ROM, Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk , It may include at least one type of storage medium of the optical disk.
  • Programs stored in the memory 1700 may be classified into a plurality of modules according to their functions, for example, a UI module 1710, a touch screen module 1720, and a notification module 1730. .
  • the UI module 1710 may provide specialized UIs, GUIs, and the like interlocked with the electronic device 1000 for each application.
  • the touch screen module 1720 may detect a touch gesture on the user's touch screen and transfer information regarding the touch gesture to the processor 1300.
  • the touch screen module 1720 according to some embodiments may recognize and analyze a touch code.
  • the touch screen module 1720 may be configured with separate hardware including a controller.
  • a tactile sensor is an example of a sensor for sensing a touch of a touch screen.
  • a tactile sensor is a sensor that senses the contact of a specific object with or above a human level. The tactile sensor can detect various information such as the roughness of the contact surface, the hardness of the contact object, and the temperature of the contact point.
  • the user's touch gesture may include tap, touch & hold, double tap, drag, panning, flick, drag and drop, swipe, and the like.
  • the notification module 1730 may generate a signal for notifying the occurrence of an event in the electronic device 1000.
  • FIG. 6 is a flowchart illustrating a method for performing user authentication according to an embodiment.
  • the electronic device 1000 may acquire an authentication model, which is learned based on behavioral data registered in the block chain 300.
  • the authentication model may be stored in the memory of the electronic device 1000, and whenever a new block is registered in the blockchain 300, it can be updated by re-learning based on the behavior data of the new block in the electronic device 1000. have. Since the authentication model according to an embodiment is learned and used inside the electronic device 1000, it can be robust against attacks from the outside against the authentication model. Not limited to the above-described example, the authentication model may be stored in various devices according to a distributed file system or may be stored in an external server connected to the electronic device 1000.
  • the electronic device 1000 may acquire behavior data collected from the user.
  • the electronic device 1000 may obtain biometric information of the user sensed by the sensor, environmental information, and input information of the user received through the input interface, as user behavior data.
  • the electronic device 1000 may acquire various types of data related to a user as behavioral data, not limited to the above-described example.
  • the electronic device 1000 may authenticate the behavior data using the authentication model obtained in step 610. For example, the electronic device 1000 may obtain a reliability value indicating the likelihood that the user of the behavioral data is a true user using the authentication model. For example, as the user's behavior pattern by the authentication model and the user's behavior pattern by the behavior data match, a higher reliability value may be obtained.
  • the electronic device 1000 may submit the authenticated behavior data to the blockchain 300 based on the authentication result performed in operation 630. For example, when the reliability value for the behavior data is greater than or equal to the reference value, the electronic device 1000 determines that the user represented by the behavior data is a true user, and uses the behavior data as a block chain ( 300).
  • the behavior data submitted to the blockchain 300 may be registered in the blockchain 300 through a process of deriving an agreement between nodes participating in the blockchain 300.
  • the electronic device 1000 may update the authentication model based on the registered behavior data.
  • the authentication model updated based on the behavioral data registered in the block chain 300 by the electronic device 1000 may be an authentication model used to perform user authentication according to an embodiment of the electronic device 1000.
  • the electronic device 1000 may perform a requested operation from the user when the result of authentication performed in step 630, the behavior data collected from the user is authenticated. For example, the electronic device 1000 may perform an operation requiring a high level of security requested by the user, based on an authentication result for the behavior data.
  • an operation requested by the user may be performed by the electronic device 1000. For example, a time period from the time when the behavior data is collected to a predetermined period may be set as the one session. According to an embodiment of the present disclosure, the electronic device 1000 may continue to maintain a certain level of security by continuously collecting behavioral data and repeatedly performing authentication on the collected behavioral data before the session ends.
  • FIG. 7 is a flowchart illustrating a method of submitting behavior data to the blockchain 300 by the electronic device 1000 according to an embodiment.
  • step 701 the electronic device 1000 collects user behavior data according to an embodiment, and in step 702, the smart contract 700 provided in the electronic device 1000 may request authentication. .
  • the electronic device 1000 may periodically request authentication to the smart contract 700 based on the collected behavioral data to periodically perform continuous authentication without the user's knowledge.
  • the smart contract 700 may be a user interface installed inside the electronic device 1000 that causes the electronic device 1000 to automatically perform a preset operation when a preset condition is satisfied.
  • the smart contract 700 may perform authentication on the behavior data according to the request of the electronic device 1000. For example, the smart contract 700 may obtain a reliability value for behavior data based on an authentication model stored in the electronic device 1000. According to an embodiment, when the reliability value is equal to or less than the reference value, the smart contract 700 may additionally acquire other behavioral data for user authentication, and based on the other behavioral data, obtain the reliability value again. The smart contract 700 may determine that the user authentication is successful if the reliability value of the behavior data or additionally obtained behavior data is greater than or equal to a reference value.
  • the smart contract 700 may transmit the authentication result to the electronic device 1000 based on the reliability value for the behavioral data or the obtained reliability value for other behavioral data. According to an embodiment, since the authentication result is transmitted by the smart contract 700, an operation requested by the user may be automatically performed according to the authentication result in step 703.
  • the electronic device 1000 may perform an operation based on an authentication result transmitted from the smart contract 700. For example, the electronic device 1000 may determine whether to perform an operation requested by the user based on an authentication result transmitted from the smart contract 700.
  • the electronic device 1000 may submit behavioral data authenticated by the smart contract 700 to the blockchain 300.
  • the behavior data submitted to the blockchain 300 may be registered as a new block in the blockchain 300 as agreement between nodes participating in the blockchain 300 is derived.
  • the electronic device 1000 updates the distributed ledger in step 707 to reflect information about the newly registered block in the distributed ledger of each node participating in the blockchain 300. It can receive data for.
  • the electronic device 1000 may update the distributed ledger stored in the electronic device 1000 based on the data received from the block chain 300 in step 707.
  • FIG. 8 is a flowchart illustrating a method of performing user authentication in two steps according to an embodiment.
  • the user authentication may be performed in two stages of primary authentication by an authentication method using an ID and password and secondary authentication by a continuous authentication method for behavior data.
  • the method illustrated in FIG. 8 shows a method of performing secondary authentication after primary authentication described above.
  • step 801 the user 100 may request to provide the information A to the electronic device 1000.
  • the information A may be information requiring high security such as personal information and financial information.
  • the user 100 may request a specific operation from the electronic device 1000 instead of requesting information.
  • user authentication according to an embodiment may be performed in the same manner as in the case of requesting information.
  • step 802 the electronic device 1000 according to the user 100 request to provide information, the secret information of the user 100, for example, ID and password information, fingerprint authentication information, face authentication information, pattern authentication information You may be asked to provide them.
  • the confidential information of the user 100 may include information to prove that the user 100 is a true user.
  • the secret information of the user 100 may be provided to the electronic device 1000 through direct input of the user 100 according to the request for authentication information of the electronic device 1000.
  • the user 100 may provide confidential information at the request of the electronic device 1000.
  • the electronic device 1000 may perform authentication on the confidential information provided from the user 100. For example, based on the secret information provided from the user 100, the electronic device 1000 may determine whether the user 100 is a true user by performing primary authentication.
  • the primary authentication according to an embodiment may be performed according to various methods for authenticating a user without using an authentication model, unlike the secondary authentication.
  • the electronic device 1000 may additionally perform secondary authentication. For example, the electronic device 1000 may obtain a reliability value for the user 100 based on the behavior data collected from the user 100. The second authentication may be performed based on behavioral data collected during one session after the first authentication is performed.
  • the electronic device 1000 may obtain a reliability value by using an authentication model with respect to behavioral data indicating an operation performed by the user 100 to provide confidential information to the electronic device 1000.
  • the behavior data includes values of data input by the user 100 to provide secret information to the electronic device 1000, location of the electronic device 1000 when the user 100 enters secret information, and user 100 ) May include a time taken to input data to provide confidential information to the electronic device 1000.
  • the behavior data according to an embodiment may also include confidential information input by the user 100 for primary authentication.
  • the electronic device 1000 may collect various types of behavior data for the user 100, not limited to the above-described example.
  • the electronic device 1000 may perform secondary authentication based on the reliability value. For example, if the reliability value is greater than or equal to the reference value, the electronic device 1000 may determine that the secondary authentication is successful, and behavior data having a reliability value greater than or equal to the reference value may be submitted to the blockchain 300. On the other hand, if the reliability value is less than the reference value, the electronic device 1000 may determine that the secondary authentication has failed, and the behavior data having the reliability value below the reference value may not be submitted to the blockchain 300.
  • the electronic device 1000 may provide the user 100 with the information A requested by the user 100 based on the result of performing the first authentication and the second authentication. For example, when the primary authentication is successful, the electronic device 1000 may continuously authenticate the user by performing secondary authentication periodically during a session set based on a time when the primary authentication is successful. Behavioral data for performing secondary authentication may be continuously collected from the user without the need for the user to directly input. The electronic device 1000 may repeatedly perform secondary authentication based on the continuously collected behavior data.
  • the user 100 may control the electronic device 1000 to perform another operation by using the information A provided from the electronic device 1000 or by using the information A from the electronic device 1000.
  • 9 is a flowchart illustrating a method of performing secondary authentication according to an embodiment. 9 shows a method of performing secondary authentication during a set session after the above-described primary authentication is successful.
  • the user 100 may request to provide the information B to the electronic device 1000 in step 901.
  • the electronic device 1000 may continuously perform continuous authentication for authenticating the user based on the user's behavior data in order to determine whether to provide the information B at the request of the user 100.
  • secondary authentication may be performed during a set session after primary authentication is successful, and secondary authentication may be performed in various types collected from a user without a process of requesting confidential information for authentication to the user. It can be performed based on behavioral data.
  • the electronic device 1000 may perform secondary authentication by obtaining a reliability value for the collected behavior data of the user 100 using an authentication model. For example, if the reliability value is greater than or equal to the reference value, the electronic device 1000 may determine that the secondary authentication is successful.
  • the electronic device 1000 may provide the information 100 to the user 100 according to the result of the second authentication.
  • the user 100 may control the electronic device 1000 to perform another operation by using the information B provided from the electronic device 1000 or by using the information B from the electronic device 1000.
  • 10 is a flowchart illustrating a method of performing secondary authentication according to an embodiment. 10 illustrates a method of performing secondary authentication during a set session after the above-described primary authentication is successful. Unlike FIG. 9, according to FIG. 10, when secondary authentication fails, secondary authentication may be additionally performed based on additional information received from a user.
  • the user 100 may request that the electronic device 1000 provide information C.
  • the electronic device 1000 may continuously perform continuous authentication for authenticating the user based on the user's behavior data in order to determine whether to provide the information C at the request of the user 100.
  • the electronic device 1000 may obtain a reliability value from the behavior data of the currently collected user as a result of periodically performing the second authentication during a set session after the first authentication is successful. Secondary authentication may be performed based on behavioral data collected from a user without a process of requesting confidential information for authentication to the user.
  • the electronic device 1000 may request that the user 100 provide additional information for user authentication.
  • the electronic device 1000 may additionally request the user 100 for secret information that can prove that the user 100 is a true user.
  • the secret information that may be requested may include, for example, date of birth, address information, and family relationship information of the user 100.
  • various types of information that can prove that the user 100 is a true user may be requested to the user 100 as confidential information.
  • the user 100 may provide additional information in response to the request of the electronic device 1000.
  • the electronic device 1000 may authenticate the user 100 based on the additional information provided from the user 100. For example, a reliability value based on the authentication model may be determined for additional information provided from the user 100.
  • the electronic device 1000 is not limited to the above-described example, and instead of directly requesting the user 100 for additional information, the electronic device 1000 additionally acquires other behavior data collected from the user 100 without direct input from the user 100. , Additional information can be obtained.
  • the electronic device 1000 may perform user authentication again based on the additional information. For example, if the reliability value obtained based on the additional information is greater than or equal to the reference value, the electronic device 1000 may determine that the user authentication is successful, and the additional information used to obtain the reliability value is block as the authenticated behavior data It can be submitted to the chain 300. On the other hand, if the reliability value is lower than the reference value, the electronic device 1000 may determine that the user authentication has failed, and additional information may not be submitted to the blockchain 300.
  • step 1006 the electronic device 1000 may provide information C to the user 100 according to the result of the user authentication performed in step 1005.
  • the user 100 may control the electronic device 1000 to perform another operation by using the information C provided from the electronic device 1000 or by using the information C from the electronic device 1000.
  • 11 is a diagram illustrating an example of performing user authentication based on behavior data according to an embodiment.
  • the example illustrated in FIG. 11 shows a method of performing authentication for a user when the behavior data is voice data.
  • the behavior data is not limited to voice data, and various types of behavior data are obtained, so that authentication for the user may be performed.
  • the electronic device 1000 may acquire voice data as behavior data of the user 100. According to an embodiment of the present disclosure, the electronic device 1000 may obtain the user's voice data continuously during a session for user authentication without the user 100's knowledge.
  • the electronic device 1000 may extract features of the acquired voice data of the user 100.
  • Feature extraction for voice data may be performed through a method such as MFC- (Mel-frequency cepstrum coefficients), LPC (Linear predictive coding).
  • MFC- Mel-frequency cepstrum coefficients
  • LPC Linear predictive coding
  • the electronic device 1000 may apply feature information extracted for voice data to the user model 1103 and the universal background model (UBM) 1104, respectively.
  • UBM universal background model
  • the above-described user model may be, for example, a model learned based on a plurality of voice data for the user 100 by a Gaussian mixture model (GMM).
  • GBM Gaussian mixture model
  • UBM is a general feature distribution model of various types of music.
  • a model trained in various ways can be used for voice data.
  • the electronic device 1000 may determine whether the feature information extracted for the voice data is close to the pattern by the user model 1103 or the pattern by the UBM. Values indicating whether the feature information extracted for the voice data is close to the pattern by the user model 1103 and the pattern by the UBM may be represented by LL user and LL ubm , respectively.
  • step 1105 the electronic device 1000 displays whether the feature information extracted for the voice data is close to the pattern by the user model 1103, whether the LL user is larger, or the feature information extracted for the voice data is sent to the UBM. It is possible to determine whether the LL ubm indicating whether the pattern is close to or not is larger.
  • the reliability value of the behavior data for user authentication may be determined based on the contrast values of LL user and LL ubm .
  • the electronic device 1000 performs user authentication based on whether the LL user / LL ubm value has a value greater than 1 Can.
  • the reliability value may be determined based on the values of LL user and LL ubm in various ways.
  • the electronic device 1000 may determine that the reliability value of the behavior data for user authentication is greater than the reference value. Accordingly, in step 1106, the electronic device 1000 may determine that the voice data obtained in step 1101 is true user's voice data, and thus, authentication is successful.
  • the electronic device 1000 may determine that the reliability value of the behavior data for user authentication is smaller than the reference value. Therefore, in step 1107, the electronic device 1000 may determine that the voice data obtained in step 1101 is difficult to see as the voice data of the true user, and may determine that authentication has failed.
  • FIG. 12 is a diagram illustrating an example in which the electronic device 1000 operates as a node of the blockchain 300 through a node 1201 participating in the blockchain 300 according to an embodiment.
  • the electronic device 1000 may collect behavioral data from the user 100 and perform authentication for the user 100.
  • the electronic device 1000 may authenticate the user 100 by performing authentication on the collected behavior data using the authentication model.
  • the authentication model used for authentication may be updated based on behavioral data registered in the distributed ledger of the blockchain 300 in which the electronic device 1000 participates as a node.
  • the electronic device 1000 is a node participating in the block chain 300, verifies behavior data to determine whether to register the block chain 300, or blocks registered in the block chain 300 You can store data about distributed ledgers that contain information about fields.
  • the electronic device 1000 may not perform an operation for verifying the behavior data.
  • the operation of verifying the behavior data that can be registered in the blockchain 300 may be performed in another blockchain node 1201 having good computing power instead of the electronic device 1000.
  • the electronic device 1000 when the size of the memory of the electronic device 1000 is insufficient to store the distributed ledger of the blockchain 300, the electronic device 1000 is distributed through the blockchain node 1201 participating in the blockchain 300 You can acquire the ledger's data.
  • the electronic device 1000 may update the authentication model used in the electronic device 1000 based on the data of the distributed ledger stored in another blockchain node 1201.
  • the other blockchain node 1201 described above is a device having better computing and storage capabilities than the electronic device 1000 and may be a device that participates as a full node in the blockchain 300.
  • FIG. 13 is a block diagram illustrating the structure of a block and a blockchain according to an embodiment.
  • the block chain 300 may be configured by connecting blocks 1350, 1360, and 1370 recording valid transaction information. That is, the data structure of the block chain 300 may be a predetermined data structure composed of units in which blocks in which transaction information 1359, 1369, and 1379 are recorded are arranged in order.
  • Transaction information (1359, 1369, 1379) may include information regarding behavior data registered in the block chain (300). Therefore, the authenticated behavior data according to an embodiment may be included in blocks constituting the block chain 300 as transaction information.
  • the data structure of the block chain 300 is a data structure in which each block header is linked in a chain format with reference to the previous block header, and a hash reference indicating data in transaction information and a Merkle tree in which data in transaction information is connected in a tree form. It can be composed of data structures.
  • Blocks 1350, 1360, 1370 included in the block chain 300 include block hashes 1351, 1361, 1371, block headers 1352, 1362, 1372, transaction information 1359, 1369, 1379, etc. can do.
  • the block headers 1352, 1362, and 1372 are versions of the current program (1353, 1363, 1373), hash values (1354, 1364, 1374) of the previous block header, and roots of the Merkle tree (1355, 1365, 1375), Timestamp (1356, 1366, 1376), difficulty (1357, 1367, 1377) and may include information of the nonce (nonce, 1358, 1368, 1378).
  • Block hashes are the current program version (1353, 1363, 1373), hash values from previous block headers (1354, 1364, 1374), root of Merkle tree (1355, 1365, 1375), and timestamp It may be a hash value of a hash function applied using information of (1356, 1366, 1376), difficulty (1357, 1367, 1377) and nonce (1358, 1368, 1378) as input values. That is, the values of the block hashes 1351, 1361, and 1371 may be values that have hashed the block headers 1352, 1362, and 1372, rather than the whole hash.
  • the hash values 1354, 1364, 1374 of the previous block header can be used to uniquely identify each block header 1352, 1362, 1372, and refer to the previous block header. If each block header 1352, 1362, 1372 refers to a previous block header, the order of individual block headers and blocks may be maintained.
  • the hash value 1354 of the previous block header of the first block 1350 is 0.
  • the second block 1360 has a first block 1350 that is a previous block
  • the second block header 1362 has a hash value 1364 indicating the first block header 1352.
  • the third block 1370 has a second block 1360 which is a previous block
  • the third block header 1372 has a hash value 1374 indicating the second block header 1362.
  • the Merkle tree may refer to a structure in which data of hash references and transaction information are connected in a tree form.
  • the hash reference may refer to data of transaction information using an encrypted hash value. Meanwhile, since the encrypted hash value is a unique value of data, different data does not have the same hash value.
  • a hash reference indicating each of data of transaction information (eg, first transaction information, second transaction information, third transaction information, fourth transaction information) (eg , A first hash reference, a second hash reference, a third hash reference, and a fourth hash reference)
  • a hash reference, a second hash reference, a third hash reference, and a fourth hash reference may be generated.
  • a hash reference pointing to a pair of hash references e.g., a 12th hash reference pointing to a first hash reference and a second hash reference, a 34th hash reference pointing to a third hash reference and a fourth hash reference
  • an operation of generating a hash reference indicating a pair of hash references may be repeatedly performed to generate a single hash reference (for example, a 12th hash reference and a 1234th hash reference, which refers to a 34th hash reference).
  • the Merkle tree may be a tree-like structure that starts from a single hash reference and links to data of each transaction information.
  • the roots of the Merkle tree 1355, 1365, and 1375 may refer to a single hash reference finally generated.
  • the timestamp may mean the time at which the job was started to prove the job.
  • Difficulty (1357, 1367, 1377) may refer to the constraints in the proof-of-work or hash puzzle.
  • the nonce 1358, 1368, and 1378 may refer to a value in which the block hash value is adjusted to satisfy a constraint for proof of work.
  • FIG. 14 is a view showing an embodiment utilizing user authentication according to an embodiment.
  • various electronic devices 1401, 1402, 1403, 1404, and 1405 around the user 100 authenticate the user 100 by collecting various types of behavior data from the user 100 You can do
  • the robot cleaner 1401 may collect various data related to the house environment and generate map data for the house structure. For example, the robot cleaner 1401 can determine the room size, the size of the living room, the location of each room, and the like, and configure map data based on the obtained information by measuring a moving distance, a collision point, etc. while walking around the house. have.
  • the robot cleaner 1401 assumes that the user 100 always carries the smartphone 1402, and sends information about the current location of the user 100 to the smartphone 1402 of the user 100. You can ask.
  • the robot cleaner 1401 may add location information of the user 100 received from the smartphone 1402 to the configured map data.
  • the robot cleaner 1401 may determine a movement path based on the location information of the user 100 on the map data. For example, the robot cleaner 1401 may determine a movement path so that the user 100 does not move to the room where the user 100 is located.
  • the robot cleaner 1401 may perform user authentication based on the location information of the user 100 received from the smartphone 1402.
  • the location information of the user 100 may be collected as action data, and the action data may be authenticated based on the authentication model of the robot cleaner 1401.
  • the robot cleaner 1401 may submit the location information of the user 100 as the behavior data according to the authentication result, to the blockchain 300.
  • the behavior data submitted to the blockchain 300 is registered, the behavior data collected by the robot cleaner 1401 may be used to update the authentication model used in other electronic devices.
  • the smartphone 1402 may collect biometric information, location information, and movement information of the user 100 as behavior data using various types of sensors.
  • the biometric information of the user 100 may include various kinds of information about the living body of the user 100, such as fingerprint information, iris information, face recognition information, pulse information, and heartbeat information of the user 100.
  • the location information of the user 100 GPS information that can be detected by the sensor, a variety of types of the location of the user 100, such as the location information of the smartphone 1402 can be determined through Wi-Fi and Bluetooth connection It may contain information.
  • the movement information of the user 100 may include various kinds of information about the movement of the user 100 that can be detected by an acceleration sensor, a gravity sensor, or the like.
  • the movement information of the user 100 may include information related to the operation of the user 100 holding the smartphone 1402 and moving from the smart TV 1404 toward the smart refrigerator 1405.
  • the smartphone 1402 may perform user authentication based on information on various types of users 100 sensed by a sensor.
  • the smartphone 1402 can authenticate biometric information based on the authentication model of the smartphone 1402, and the biometric information of the user 100 as behavior data according to the authentication result, the blockchain 300 Can be submitted to.
  • the behavior data submitted to the blockchain 300 is registered, the behavior data collected from the smartphone 1402 can be used to update the authentication model used in other electronic devices.
  • the smartphone 1402 may perform an operation requiring security according to the authentication result, and provide the result to the user 100.
  • the smartphone 1402 may perform primary authentication by directly receiving information for authentication from the user 100.
  • the user 100 is information for authentication, enters ID and password information, enters a fingerprint into a smartphone 1402 for fingerprint authentication, enters pattern information, or photographs a face for face authentication
  • Various information, such as performing, may be input to the smartphone 1402.
  • the primary authentication may be performed based on information received directly from the user according to various methods for authenticating the user.
  • the smartphone 1402 may establish a session and perform secondary authentication during the established session.
  • the secondary authentication may be continuously performed when an operation requiring security is performed.
  • the secondary authentication may be continuously performed after the primary authentication succeeds while the financial application is operating.
  • Secondary authentication is performed by the user 100 in order to perform various operations without information receiving direct information for authentication from the user 100 and information detected by at least one sensor provided in the smartphone 1402. It can be performed based on the inputted information.
  • the secondary authentication may be performed by the smartphone 1402 collecting information input by the user 100 to perform account transfer as action data.
  • the information directly input by the user 100 for authentication for example, information input for the first authentication is also obtained as action data for the second authentication, so that the second authentication can be performed.
  • the secondary authentication by collecting the image of the body part (ex. iris, face, etc.) of the user 100 while the smartphone 1402 performs the transfer of the account as the action data, Can be performed.
  • secondary authentication may be performed by collecting actions requested by the user from the smartphone 1402 as action data. For example, when the user performs an account transfer through a financial application on a predetermined date each month, the smartphone 1402 may collect the user's account transfer request as behavioral data, and secondary based on the collected behavioral data. Authentication can be performed.
  • the remote controller 1403 may collect information input by the user 100 as action data.
  • the remote controller 1403 may collect button information input by the user 100 as action data.
  • the remote controller 1403 may collect information sensed by the gravity sensor of the remote controller 1403 as behavior data of the user 100.
  • the remote controller 1403 may detect a case in which the user 100 picks up the remote controller 1403 at a specific time, and collect the sensed information as the behavior data of the user 100.
  • the remote controller 1403 may perform user authentication based on the behavior data collected by the remote controller 1403.
  • the remote controller 1403 may authenticate the behavior data based on the authentication model of the remote controller 1403, and may submit the behavior data to the blockchain 300 according to the authentication result.
  • the behavior data submitted to the blockchain 300 is registered, the behavior data collected by the remote controller 1403 may be used to update the authentication model used in other electronic devices.
  • the smart TV 1404 may collect information input by the user 100 as action data.
  • the smart TV 1404 may collect channel information input by the user 100 as action data.
  • the smart TV 1404 may collect information regarding a content purchase request by the user 100 as behavior data of the user 100.
  • the smart TV 1404 may perform user authentication based on the behavior data collected from the smart TV 1404.
  • the smart TV 1404 may authenticate the behavior data based on the authentication model of the smart TV 1404, and submit the behavior data to the blockchain 300 according to the authentication result.
  • the smart TV 1404 may perform a content purchase operation according to the request of the user 100 based on the authentication result.
  • the behavior data submitted to the blockchain 300 is registered, the behavior data collected from the smart TV 1404 may be used to update the authentication model used in other electronic devices.
  • the smart refrigerator 1405 may collect information related to an operation performed by the user 100 as action data.
  • the smart refrigerator 1405 may be a device capable of providing various information and services to the user 100 through a network beyond a function of refrigerating or freezing food.
  • the smart refrigerator 1405 may grasp the state of the currently stored food, and may make an online purchase for food that needs to be purchased.
  • the smart refrigerator 1405 may inquire to the user 100 whether to proceed with the additional purchase when there is not much beer left.
  • additional purchase of beer may be performed according to the purchase request of the user 100.
  • the smart refrigerator 1405 collects information related to the operation of the user 100 taking the beer stored in the smart refrigerator 1405, information about the request for the beer purchase by the user 100, and the user 100 for the beer purchase Information related to authentication inputted from the user may be collected as behavior data of the user 100.
  • the smart refrigerator 1405 may perform user authentication based on behavior data collected in the smart refrigerator 1405.
  • the smart refrigerator 1405 may authenticate the behavior data based on the authentication model of the smart refrigerator 1405 and may submit the behavior data to the blockchain 300 according to the authentication result.
  • the smart refrigerator 1405 may perform a beer purchase operation according to the request of the user 100 based on the authentication result.
  • the behavior data submitted to the blockchain 300 is registered, the behavior data collected from the smart refrigerator 1405 may be used to update the authentication model used in other electronic devices.
  • FIG. 15 is a flowchart illustrating a method for performing user authentication in a plurality of electronic devices 1401, 1402, 1404, and 1405 according to an embodiment.
  • the plurality of electronic devices 1401, 1402, 1404, and 1405 in FIG. 15 may correspond to the plurality of electronic devices 1401, 1402, 1404, and 1405 in FIG.
  • the robot cleaner 1401 may generate a map related to the house structure while performing a cleaning operation. In order to add the location information of the user 100 to the generated map, the robot cleaner 1401 may request the location information of the user 100 to the smartphone 1402 in step 1501-2.
  • the smartphone 1402 requests the current location information to the user 100 according to the request from the robot cleaner 1401, and in step 1501-4, the location information of the user 100 is provided.
  • the smartphone 1402 may obtain the current location information by directly inquiring the user 100, but is not limited thereto, based on the information detected by the sensor provided in the smartphone 1402, the location information It can also be obtained. Without being limited to the above-described example, the smartphone 1402 may acquire current location information of the user 100 through various methods.
  • the smartphone 1402 uses the current location information of the user 100 as action data of the user 100, such as the robot cleaner 1401, the smart TV 1404, and the smart It can be delivered to the refrigerator 1405.
  • the smartphone 1402 performs authentication as action data of the user 100 with respect to the current location information of the user 100 according to an embodiment, and the user of the blockchain 300 according to the authentication result
  • the current location information of the user 100 can be transmitted to the robot cleaner 1401, the smart TV 1404, and the smart refrigerator 1405.
  • the current location information of the user 100 is registered by verifying the current location information of the user 100 submitted to the blockchain 300 through verification. Can be obtained.
  • the robot cleaner 1401, the smartphone 1402, the smart TV 1404, and the smart refrigerator 1405 are registered in the blockchain 300.
  • Information regarding the current location of the user 100 may be stored in the distributed ledger of each device as the behavior data of the user 100.
  • information regarding the current location of the user 100 is transaction information registered in the blockchain 300 and may be stored in a distributed ledger of each device 1401, 1402, 1404, 1405.
  • the authentication model of each device 1401, 1402, 1404, 1405 used for user authentication may be updated.
  • the user 100 may perform user authentication for accessing the assistant of the smartphone 1402.
  • the assistant may mean a user interface through which the user 100 can control the operation of the smartphone 1402 through an interactive interface.
  • the user 100 enters ID and password information as authentication information, enters fingerprints into the smartphone 1402 for fingerprint authentication, enters pattern information, or authenticates faces.
  • Various information such as performing a face photographing may be input to the smartphone 1402.
  • the smartphone 1402 uses the information input by the user 100 for authentication as the behavior data of the user 100, the robot cleaner 1401, the smart TV 1404 ) And the smart refrigerator 1405.
  • the smartphone 1402 may perform authentication as action data of the user 100 on the information input by the user 100 for authentication, according to an embodiment.
  • the smartphone 1402 submits the information input by the user 100 for authentication to the block chain 300 according to the authentication result, so that the information entered by the user 100 for authentication is the robot cleaner 1401. , It can be delivered to the smart TV 1404 and the smart refrigerator 1405.
  • the robot cleaner 1401, the smart TV 1404, and the smart refrigerator 1405 the user 100 submitted to the blockchain 300 is registered through verification through the verification, so that the user 100 Information entered for authentication can be obtained.
  • the robot cleaner 1401, smart phone 1402, smart TV 1404, and smart refrigerator 1405 are registered in the blockchain 300.
  • Information input by the user 100 for authentication may be stored in the distributed ledger of each device as behavior data of the user 100.
  • the information input by the user 100 for authentication may be stored in the distributed ledger of each device 1401, 1402, 1404, 1405 as transaction information registered in the blockchain 300.
  • the authentication model of each device 1401, 1402, 1404, 1405 used for user authentication may be updated.
  • the user 100 may perform user authentication in order to check the purchase history in the smart refrigerator 1405.
  • the user 100 enters ID and password information as authentication information, enters fingerprint for fingerprint authentication, enters pattern information, or performs face shooting for face authentication
  • ID and password information as authentication information
  • enters fingerprint for fingerprint authentication enters pattern information
  • face shooting for face authentication Various information such as may be input to the user interface of the smart refrigerator 1405.
  • the smart refrigerator 1405 uses the information input by the user 100 for authentication as the behavior data of the user 100, the robot cleaner 1401, the smartphone 1402 ) And smart TV 1404.
  • the smart refrigerator 1405 may perform authentication as action data of the user 100 on the information input by the user 100 for authentication, according to an embodiment.
  • the smart refrigerator 1405 submits the information input by the user 100 for authentication to the blockchain 300 according to the authentication result, so that the information input by the user 100 for authentication is the robot cleaner 1401. , It can be delivered to the smartphone 1402 and the smart TV 1404.
  • the robot cleaner 1401, the smartphone 1402, and the smart TV 1404 the information entered by the user 100 submitted for the authentication to the blockchain 300 is registered through verification, so that the user 100 Information entered for authentication can be obtained.
  • the robot cleaner 1401, the smartphone 1402, the smart TV 1404, and the smart refrigerator 1405 are registered in the blockchain 300.
  • Information input by the user 100 for authentication may be stored in the distributed ledger of each device as behavior data of the user 100.
  • the information input by the user 100 for authentication may be stored in the distributed ledger of each device 1401, 1402, 1404, 1405 as transaction information registered in the blockchain 300.
  • the authentication model of each device 1401, 1402, 1404, 1405 used for user authentication may be updated.
  • the user 100 may perform user authentication to request content purchase from the smart TV 1404.
  • the user 100 enters ID and password information as authentication information, enters fingerprint for fingerprint authentication, enters pattern information, or performs face shooting for face authentication
  • Various information, such as, may be input to the user interface of the smart TV 1404.
  • the smart TV 1404 uses the information input by the user 100 for authentication as the behavior data of the user 100, the robot cleaner 1401, the smartphone 1402 ) And the smart refrigerator 1405.
  • the smart TV 1404 may perform authentication as action data of the user 100 on information input by the user 100 for authentication, according to an embodiment.
  • the smart TV 1404 submits the information input by the user 100 for authentication to the blockchain 300 according to the authentication result, so that the information input by the user 100 for authentication is the robot cleaner 1401. , It can be delivered to the smart phone 1402 and the smart refrigerator 1405.
  • the robot cleaner 1401, the smartphone 1402, and the smart refrigerator 1405 the information entered by the user 100 submitted for the authentication to the blockchain 300 is registered through verification, so that the user 100 Information entered for authentication can be obtained.
  • the robot cleaner 1401, the smartphone 1402, the smart TV 1404, and the smart refrigerator 1405 are registered in the blockchain 300.
  • Information input by the user 100 for authentication may be stored in the distributed ledger of each device as behavior data of the user 100.
  • the information entered by the user 100 for authentication may be stored in the distributed ledger of each device 1401, 1402, 1404, 1405 as transaction information registered in the blockchain 300.
  • the authentication model of each device 1401, 1402, 1404, 1405 used for user authentication may be updated.
  • 16 is a diagram illustrating an example of performing user authentication according to an embodiment.
  • the user 100 is from the house 1601 to the park 1603, from the park 1603 to the company 1605, from the company 1605 to the store 1603, and from the store 1608. To the house 1601, it can move.
  • the user 100 may pay for a bicycle rental fee 1602, pay for a bus ticket (1604), or pay for a taxi fee (1606, 1608) for movement on each movement route.
  • the request for the payment route (1602, 1604, 1606, 1608) of the user 100's movement route and bicycle, bus, taxi, etc. is the electronic device 1000 as the behavior data of the user 100 Can be collected at Also, the electronic device 1000 may authenticate the collected behavior data based on the authentication model and perform an operation requiring security according to the authentication result. For example, the electronic device 1000 may perform a payment settlement operation 1602, 1604, 1606, or 1608 for the bicycle, bus, taxi, etc. of the user 100 according to the authentication result.
  • the electronic device 1000 performs authentication on the behavior data collected from the user 100 without the user 100 directly inputting information for authentication, and the authentication result The operation can be performed accordingly. Accordingly, according to an embodiment, the operation by the electronic device 1000 may be performed in a state in which the security level is not lowered without the user 100 inputting information for authentication.
  • the electronic device 1000 stores 1607 ) May request additional information about the payment request of the user 100.
  • the reliability value for the behavior data of the taxi fare payment 1606 as the user 100 performs payment in a different way from the existing pattern, such as using mobile payment instead of the card payment used when the taxi fare payment 1606 is used. It can be determined below this reference value.
  • the electronic device 1000 may request additional information for user authentication in response to a payment request from the store 1605 of the user 100 as the reliability value is low.
  • the electronic device 1000 may perform a payment operation requested by the user 100 through authentication of additional information.
  • the behavior data authenticated according to the authentication result may be submitted to the blockchain 300, and when the behavior data submitted to the blockchain 300 is newly registered in the blockchain 300, the electronic device 1000 , Based on the behavior data newly registered in the block chain 300, an authentication model for authenticating behavior data may be updated. Also, the electronic device 1000 may update the distributed ledger of the electronic device 1000 based on the information on the behavior data newly registered in the blockchain 300.
  • operations performed by the user 100 at various locations may be collected as behavioral data and collected Based on the behavior data, authentication for the user may be repeatedly performed.
  • the behavior data may be collected by various types of electronic devices 1000 capable of collecting information about the behavior of the user 100.
  • the information of the user 100 is installed in various places such as the electronic device 1000 and the house 1601, the park 1603, the company 1605, and the shop 1605 possessed by the user 100.
  • Behavioral data may be collected by various types of electronic devices or electronic systems capable of collecting (ex. home appliances (house), access system (company), goods payment system (store)).
  • authentication for the user 100 may be continuously performed, and based on the result, the house 1601, the park ( 1603), the electronic device or the electronic system installed in the company 1605 and the store 1603 may determine whether to perform an operation requested by the user 100 (ex. permission to access some areas).
  • 17 is a block diagram of a processor 1300 in accordance with some embodiments.
  • the processor 1300 may include a data learning unit 1310 and a data recognition unit 1320.
  • the data learning unit 1310 may learn criteria for determining the situation.
  • the data learning unit 1310 can learn the criteria as to what data to use to determine a predetermined situation and how to determine the situation using the data.
  • the data learning unit 1310 acquires data to be used for learning, and applies the acquired data to a data recognition model to be described later, thereby learning criteria for situation determination.
  • the data learning unit 1310 may generate or update an authentication model for authenticating behavior data by learning behavior data collected from the user 100.
  • the data recognition unit 1320 may determine a situation based on data.
  • the data recognition unit 1320 may recognize a situation from predetermined data by using the learned data recognition model.
  • the data recognition unit 1320 may obtain predetermined data according to a preset criterion by learning, and use a data recognition model using the obtained data as an input value, thereby determining a predetermined situation based on the predetermined data. . Further, the result value output by the data recognition model using the obtained data as an input value may be used to update the data recognition model.
  • the data recognition unit 1320 uses the authentication model learned by the data learning unit 1310 to authenticate the behavior data collected from the user 100, so that the user 100 is a true user Can determine whether
  • At least one of the data learning unit 1310 and the data recognition unit 1320 may be manufactured in the form of at least one hardware chip and mounted on an electronic device.
  • at least one of the data learning unit 1310 and the data recognition unit 1320 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or an existing general-purpose processor (for example, a CPU) Alternatively, it may be manufactured as a part of an application processor or a graphics-only processor (for example, a GPU) and mounted on various electronic devices described above.
  • AI artificial intelligence
  • an existing general-purpose processor for example, a CPU
  • it may be manufactured as a part of an application processor or a graphics-only processor (for example, a GPU) and mounted on various electronic devices described above.
  • the data learning unit 1310 and the data recognition unit 1320 may be mounted on one electronic device, or may be mounted on separate electronic devices.
  • one of the data learning unit 1310 and the data recognition unit 1320 may be included in the electronic device, and the other may be included in the server.
  • the data learning unit 1310 and the data recognition unit 1320 may provide the model information constructed by the data learning unit 1310 to the data recognition unit 1320 through wired or wireless communication. 1320) may be provided to the data learning unit 1310 as additional learning data.
  • At least one of the data learning unit 1310 and the data recognition unit 1320 may be implemented as a software module.
  • the software module is a computer-readable, non-transitory readable It may be stored in a readable media (non-transitory computer readable media).
  • the at least one software module may be provided by an operating system (OS) or may be provided by a predetermined application. Or, some of the at least one software module may be provided by an operating system (OS), and the other may be provided by a predetermined application.
  • FIG. 18 is a block diagram of a data learning unit 1310 according to some embodiments.
  • the data learning unit 1310 includes a data acquisition unit 1310-1, a pre-processing unit 1310-2, a training data selection unit 1310-3, and a model learning unit 1310. -4) and a model evaluation unit 1310-5.
  • the data acquisition unit 1310-1 may acquire data necessary for situation determination.
  • the data acquisition unit 1310-1 may acquire data necessary for learning for situation determination.
  • the data acquisition unit 1310-1 may acquire various information collected from the user 100 according to an embodiment as action data.
  • the behavior data used for learning the authentication model may be data registered as transaction information in the blockchain 300 in which the electronic device 1000 participates. Accordingly, the data acquisition unit 1310-1 may acquire data for training the authentication model through the blockchain 300.
  • the pre-processing unit 1310-2 may pre-process the acquired data so that the acquired data can be used for learning for situation determination.
  • the pre-processing unit 1310-2 may process the acquired data in a preset format so that the model learning unit 1310-4 described later can use the acquired data for learning for situation determination.
  • the pre-processing unit 1310-2 may process the behavior data of the user 100 acquired through the blockchain 300 in a format for learning the authentication model.
  • the learning data selector 1310-3 may select data necessary for learning from pre-processed data.
  • the selected data may be provided to the model learning unit 1310-4.
  • the learning data selection unit 1310-3 may select data necessary for learning from pre-processed data according to a preset criterion for determining the situation. Further, the learning data selector 1310-3 may select data according to a preset criterion by learning by the model learning unit 1310-4 described later.
  • the model learning unit 1310-4 may learn criteria on how to judge the situation based on the training data. In addition, the model learning unit 1310-4 may also learn the criteria as to which learning data should be used for situation determination.
  • the model learning unit 1310-4 generates an authentication model capable of determining whether the user 100 is a true user, based on various types of behavior data acquired from the user 100. Can be.
  • the model learning unit 1310-4 may train the data recognition model used for situation determination using the training data.
  • the data recognition model may be a pre-built model.
  • the data recognition model may be a pre-built model that receives basic training data (eg, sample images, etc.).
  • the data recognition model may be constructed in consideration of the application field of the recognition model, the purpose of learning, or the computer performance of the device.
  • the data recognition model may be, for example, a model based on a neural network.
  • a model such as a deep neural network (DNN), a recurrent neural network (RNN), or a bidirectional recurrent deep neural network (BRDNN) may be used as a data recognition model, but is not limited thereto.
  • the model learning unit 1310-4 is a data recognition model for learning a data recognition model having a large relationship between input learning data and basic learning data when a plurality of pre-built data recognition models exist. Can decide.
  • the basic learning data may be pre-classified for each type of data, and the data recognition model may be pre-built for each type of data.
  • the basic training data is classified into various criteria such as the region where the training data is generated, the time when the training data is generated, the size of the training data, the genre of the training data, the creator of the training data, and the type of object in the training data. It may be.
  • model learning unit 1310-4 may train the data recognition model using, for example, a learning algorithm including an error back-propagation or a gradient descent method. .
  • model learning unit 1310-4 may train the data recognition model, for example, through supervised learning using learning data as an input value.
  • the model learning unit 1310-4 for example, through unsupervised learning, which discovers a criterion for determining a situation by learning the kind of data necessary for situation determination without much guidance, You can train a data recognition model.
  • the model learning unit 1310-4 may train the data recognition model, for example, through reinforcement learning using feedback on whether a result of situation determination according to learning is correct.
  • the model learning unit 1310-4 may store the trained data recognition model.
  • the model learning unit 1310-4 may store the learned data recognition model in the memory of the electronic device including the data recognition unit 1320.
  • the model learning unit 1310-4 may store the learned data recognition model in a memory of an electronic device including the data recognition unit 1320 to be described later.
  • the model learning unit 1310-4 may store the learned data recognition model in a memory of a server connected to a wired or wireless network with the electronic device.
  • the memory in which the learned data recognition model is stored may store, for example, instructions or data related to at least one other component of the electronic device.
  • the memory may store software and/or programs.
  • the program may include, for example, a kernel, middleware, application programming interface (API) and/or application program (or "application").
  • the model evaluation unit 1310-5 may input evaluation data into the data recognition model, and if the recognition result output from the evaluation data does not satisfy a predetermined criterion, the model learning unit 1310-4 may cause the model learning unit 1310-4 to learn again.
  • the evaluation data may be preset data for evaluating the data recognition model.
  • the model evaluation unit 1310-5 among the recognition results of the learned data recognition model for the evaluation data, sets a predetermined criterion when the number or ratio of the evaluation data whose recognition results are not accurate exceeds a preset threshold. It can be evaluated as unsatisfactory. For example, when a predetermined criterion is defined as a ratio of 2%, when the learned data recognition model outputs an incorrect recognition result with respect to evaluation data exceeding 20 out of a total of 1000 evaluation data, the model evaluation unit 1310-5 Can evaluate that the trained data recognition model is not suitable.
  • the model evaluator 1310-5 evaluates whether each of the learned video recognition models satisfies a predetermined criterion, and finally recognizes a model that satisfies a predetermined criterion. You can decide as a model. In this case, when there are a plurality of models that satisfy a predetermined criterion, the model evaluator 1310-5 may determine any one or a predetermined number of models preset in order of highest evaluation score as the final data recognition model.
  • the data acquisition unit 1310-1, the pre-processing unit 1310-2, the learning data selection unit 1310-3, the model learning unit 1310-4, and the model evaluation unit 1310 in the data learning unit 1310 may be manufactured in the form of at least one hardware chip and mounted on an electronic device.
  • at least one of the data acquisition unit 1310-1, the pre-processing unit 1310-2, the training data selection unit 1310-3, the model learning unit 1310-4, and the model evaluation unit 1310-5 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or as part of an existing general-purpose processor (eg, CPU or application processor) or graphics-only processor (eg, GPU). It may be mounted on various electronic devices.
  • AI artificial intelligence
  • GPU graphics-only processor
  • the data acquisition unit 1310-1, the pre-processing unit 1310-2, the learning data selection unit 1310-3, the model learning unit 1310-4 and the model evaluation unit 1310-5 are one electronic It may be mounted on a device, or may be mounted on separate electronic devices, respectively.
  • some of the data acquisition unit 1310-1, the pre-processing unit 1310-2, the training data selection unit 1310-3, the model learning unit 1310-4, and the model evaluation unit 1310-5 Is included in the electronic device, and the other part may be included in the server.
  • At least one of the data acquisition unit 1310-1, the pre-processing unit 1310-2, the learning data selection unit 1310-3, the model learning unit 1310-4, and the model evaluation unit 1310-5 It can be implemented as a software module. At least one of the data acquisition unit 1310-1, the pre-processing unit 1310-2, the learning data selection unit 1310-3, the model learning unit 1310-4, and the model evaluation unit 1310-5 is a software module.
  • the software module When implemented as (or a program module including an instruction), the software module may be stored in a computer-readable non-transitory computer readable media.
  • the at least one software module may be provided by an operating system (OS) or may be provided by a predetermined application. Or, some of the at least one software module may be provided by an operating system (OS), and the other may be provided by a predetermined application.
  • OS operating system
  • OS operating system
  • some of the at least one software module may be provided by an operating system (OS), and the other may be provided by a predetermined application
  • 19 is a block diagram of a data recognition unit 1320 according to some embodiments.
  • the data recognition unit 1320 includes a data acquisition unit 1320-1, a pre-processing unit 1320-2, a recognition data selection unit 1320-3, and a recognition result providing unit ( 1320-4) and a model update unit 1320-5.
  • the data acquisition unit 1320-1 may acquire data necessary for situation determination, and the pre-processing unit 1320-2 may preprocess the acquired data so that the data obtained for situation determination can be used.
  • the pre-processing unit 1320-2 may process the acquired data in a preset format so that the recognition result providing unit 1320-4, which will be described later, can use the acquired data for situation determination.
  • the recognition data selection unit 1320-3 may select data necessary for situation determination from pre-processed data.
  • the selected data may be provided to the recognition result providing unit 1320-4.
  • the recognition data selector 1320-3 may select some or all of the pre-processed data according to a preset criterion for determining the situation. Further, the recognition data selection unit 1320-3 may select data according to a preset criterion by learning by the model learning unit 1310-4, which will be described later.
  • the recognition result provider 1320-4 may determine the situation by applying the selected data to the data recognition model.
  • the recognition result providing unit 1320-4 may provide a recognition result according to the purpose of recognizing data.
  • the recognition result providing unit 1320-4 may apply the selected data to the data recognition model by using the data selected by the recognition data selection unit 1320-3 as an input value. Also, the recognition result may be determined by a data recognition model.
  • the electronic device 1000 may determine whether the behavior data collected from the user 100 is behavior data by a true user using the authentication model.
  • the model updating unit 1320-5 may cause the data recognition model to be updated based on the evaluation of the recognition result provided by the recognition result providing unit 1320-4. For example, the model updating unit 1320-5 provides the model learning unit 1310-4 with the recognition result provided by the recognition result providing unit 1320-4, so that the model learning unit 1310-4 It is possible to update the data recognition model.
  • the model update unit 1320-5 is not limited to the above-described example, and updates the authentication model based on behavior data newly registered in the blockchain 300 in which the electronic device 1000 participates. You may.
  • the data acquisition unit 1320-1, the pre-processing unit 1320-2, the recognition data selection unit 1320-3, the recognition result providing unit 1320-4, and the model update unit in the data recognition unit 1320 may be manufactured in the form of at least one hardware chip and mounted on an electronic device.
  • At least one may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or as part of an existing general-purpose processor (for example, a CPU or application processor) or a graphics-only processor (for example, GPU), It may be mounted on various electronic devices.
  • AI artificial intelligence
  • an existing general-purpose processor for example, a CPU or application processor
  • a graphics-only processor for example, GPU
  • the data acquisition unit 1320-1, the pre-processing unit 1320-2, the recognition data selection unit 1320-3, the recognition result providing unit 1320-4 and the model update unit 1320-5 are one It may be mounted on an electronic device, or may be mounted on separate electronic devices, respectively.
  • data acquisition unit 1320-1, pre-processing unit 1320-2, recognition data selection unit 1320-3, recognition result providing unit 1320-4, and model update unit 1320-5 Some may be included in the electronic device, and the other may be included in the server.
  • At least one of the data acquisition unit 1320-1, the pre-processing unit 1320-2, the recognition data selection unit 1320-3, the recognition result providing unit 1320-4 and the model update unit 1320-5 Can be implemented as a software module.
  • At least one of the data acquisition unit 1320-1, the pre-processing unit 1320-2, the recognition data selection unit 1320-3, the recognition result providing unit 1320-4, and the model update unit 1320-5 is software.
  • the software module When implemented as a module (or a program module including an instruction), the software module may be stored in a computer-readable non-transitory computer readable media.
  • the at least one software module may be provided by an operating system (OS) or may be provided by a predetermined application. Or, some of the at least one software module may be provided by an operating system (OS), and the other may be provided by a predetermined application.
  • OS operating system
  • OS operating system
  • some of the at least one software module may be provided by an operating system (OS), and the other may be provided by a pre
  • FIG. 20 is a diagram illustrating an example in which the electronic device 1000 and the server 2000 learn and recognize data by interworking with each other.
  • the electronic device 1000 of FIG. 20 includes the electronic device 1000 shown in FIG. 1, a plurality of electronic devices 210, 220, 230, and 400 shown in FIG. 2, and a plurality of electronic devices 210 shown in FIG. 3 , 220, 230 ).
  • the server 2000 communicates with the electronic device 1000 through a network (not shown), and may be implemented as at least one computer device.
  • the server 2000 may be distributed in the form of a cloud, and may provide commands, codes, files, contents, and the like.
  • the server 2000 may provide the electronic device 1000 with data necessary for the electronic device 1000 to authenticate the user based on the user's behavior data.
  • the server 2000 may provide the electronic device 1000 with an authentication model required to perform authentication for the user.
  • the server 2000 may perform operations that the electronic device 1000 can execute instead.
  • the server 2000 may perform authentication for a user based on behavioral data collected by the electronic device 1000 instead of the electronic device 1000.
  • the server 2000 may perform various operations for the electronic device 1000 to authenticate the user, and transmit the result to the electronic device 1000.
  • the server 2000 may learn a criterion for determining a situation, and the electronic device 1000 may determine a situation based on the learning result by the server 2000.
  • the model learning unit 2340 of the server 2000 may perform the function of the data learning unit 1310 illustrated in FIG. 13.
  • the model learning unit 2340 of the server 2000 may learn criteria on what data to use to determine a predetermined situation and how to determine the situation using the data.
  • the model learning unit 2340 acquires data to be used for learning, and applies the acquired data to a data recognition model to be described later, thereby learning criteria for situation determination.
  • the recognition result providing unit 1320-4 of the electronic device 1000 determines the situation by applying the data selected by the recognition data selection unit 1320-3 to the data recognition model generated by the server 2000. Can. For example, the recognition result providing unit 1320-4 transmits data selected by the recognition data selection unit 1320-3 to the server 2000, and the server 2000 recognizes the data selection unit 1320-3. It is possible to request to judge the situation by applying the data selected by to the recognition model. Also, the recognition result providing unit 1320-4 may receive information regarding the situation determined by the server 2000 from the server 2000.
  • the electronic device 1000 may transmit the behavior data collected from the user to the server 2000, and the server 2000 may authenticate the behavior data using an authentication model.
  • the server 2000 may transmit an authentication result performed on the behavior data to the electronic device 1000.
  • the recognition result providing unit 1320-4 of the electronic device 1000 may receive the authentication model generated by the server 2000 from the server 2000, and determine the situation using the received authentication model. .
  • the recognition result providing unit 1320-4 of the electronic device 1000 can determine the situation by applying the data selected by the recognition data selection unit 1320-3 to the authentication model received from the server 2000. have.
  • the electronic device 1000 applies the behavior data collected from the user to the authentication model received from the server 2000, performs authentication on the behavior data, and uses the result of the operation performed according to the authentication result to the user. Can provide.
  • user authentication with high reliability and security may be performed based on user behavior data collected from at least one electronic device.
  • Computer readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media.
  • Computer readable media may include both computer storage media and communication media.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Communication media typically includes computer readable instructions, data structures, or program modules, and includes any information delivery media.
  • the “unit” may be a hardware component such as a processor or circuit, and/or a software component executed by a hardware component such as a processor.

Abstract

본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 전자 장치에서, 사용자에 대한 인증을 수행하는 방법에 있어서, 인증 모델을 획득하고, 사용자에 대한 행동 데이터를 획득하고, 인증 모델을 이용하여, 획득된 행동 데이터에 대해 인증을 수행하고, 인증이 수행된 결과에 기초하여, 인증된 행동 데이터를 블록 체인에 제출하고, 인증 모델은, 블록 체인에 등록된 상기 사용자에 대한 적어도 하나의 행동 데이터에 기초하여 학습되는 모델인, 사용자에 대한 인증을 수행하는 방법이 개시된다.

Description

사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법
본 개시는, 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법에 관한 것이다. 또한, 본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하는 인공지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관련된 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
전자 장치에서 제공되는 다양한 서비스, 애플리케이션 등은 이에 접근하고자 하는 사용자의 인증을 요구할 수 있다. 예를 들면, 금융 서비스 제공자, 신용 카드 서비스 제공자, 의료 서비스 제공자, 소셜 네트워크 서비스 제공자 등 다양한 종류의 서비스 제공자들은 전자 장치의 사용자가 진정한 사용자라는 검증을 요구할 수 있다.
사용자 인증은, 사용자로부터 수집되거나 입력된 정보에 기초하여 수행될 수 있다. 예를 들면, 사용자로부터 입력된 아이디 및 패스워드 정보, 지문 인식 정보, 얼굴 인식 정보, 패턴 입력 정보 등 다양한 종류의 사용자 정보에 기초하여 사용자 인증이 수행될 수 있다.
만약, 사용자가 다양한 전자 장치를 소유하고, 동시에 여러 기기를 사용하는 경우, 각각의 전자 장치에서 사용자에 관한 정보가 수집될 수 있다. 따라서, 다양한 전자 기기에서 수집된 다양한 종류의 행동 데이터에 기초하여, 효과적이고 정확도 높게 사용자 인증을 수행하는 방법이 요구된다.
본 개시가 해결하고자 하는 과제는 전술한 문제를 해결하기 위한 것으로서, 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법을 제공하기 위한 것이다.
또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 포함하는 컴퓨터 프로그램 제품을 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
일 실시 예에 의하면, 적어도 하나의 전자 장치에서 수집된 사용자의 행동 데이터에 기초하여, 신뢰도 및 보안성이 높은 사용자 인증이 수행될 수 있다.
도 1은 일 실시 예에 의한 사용자에 대한 인증을 수행하는 시스템을 설명하기 위한 도면이다.
도 2는 일 실시 예에 의한 사용자에 대한 인증을 수행하는 다수의 노드를 포함하는 블록 체인을 설명하기 위한 도면이다.
도 3은 일 실시 예에 의한 사용자 인증을 수행하기 위한 블록 체인 및 복수 개의 전자 장치의 동작을 설명하기 위한 도면이다.
도 4는 일 실시 예에 의한 전자 장치(1000)의 내부 구성을 설명하기 위한 블록도이다.
도 5는 일 실시 예에 의한 전자 장치(1000)의 내부 구성을 설명하기 위한 블록도이다.
도 6은 일 실시 예에 의한 사용자 인증을 수행하는 방법을 나타낸 순서도이다.
도 7은 일 실시 예에 의한 전자 장치가 행동 데이터를 블록 체인에 제출하는 방법을 나타낸 순서도이다.
도 8은 일 실시 예에 의한 2단계로 사용자 인증을 수행하는 방법을 나타낸 순서도이다.
도 9는 일 실시 예에 의한 2차 인증을 수행하는 방법을 나타낸 순서도이다.
도 10은 일 실시 예에 의한 2차 인증을 수행하는 방법을 나타낸 순서도이다.
도 11은 일 실시 예에 의한 행동 데이터에 기초하여 사용자 인증을 수행하는 방법을 나타낸 도면이다.
도 12는 일 실시 예에 의한 전자 장치가 블록 체인에 참여하는 한 노드를 통해 블록 체인의 노드로서 동작하는 일 예를 나타낸 도면이다.
도 13은 일 실시 예에 의한 블록 및 블록체인의 구조를 설명하기 위한 블록도이다.
도 14은 일 실시 예에 의한 사용자 인증을 활용하는 실시예를 나타낸 도면이다.
도 15는 일 실시 예에 의한 복수 개의 전자 장치에서 사용자 인증을 수행하는 방법을 나타낸 순서도이다.
도 16은 일 실시 예에 의한 사용자 인증을 수행하는 일 예를 나타낸 도면이다.
도 17는 일부 실시예에 따른 프로세서의 블록도이다.
도 18은 일부 실시예에 따른 데이터 학습부의 블록도이다.
도 19은 일부 실시예에 따른 데이터 인식부의 블록도이다.
도 20의 일부 실시예에 따른 전자 장치 및 서버가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 전자 장치에서, 사용자에 대한 인증을 수행하는 방법에 있어서, 인증 모델을 획득하는 단계; 상기 사용자에 대한 행동 데이터를 획득하는 단계; 상기 인증 모델을 이용하여, 상기 획득된 행동 데이터에 대해 인증을 수행하는 단계; 및 상기 인증이 수행된 결과에 기초하여, 상기 인증된 행동 데이터를 블록 체인에 제출하는 단계를 포함하고, 상기 인증 모델은, 상기 블록 체인에 등록된 상기 사용자에 대한 적어도 하나의 행동 데이터에 기초하여 학습되는 모델인, 방법을 포함한다. 
또한, 본 개시의 제2 측면은, 사용자에 대한 인증을 수행하는 전자 장치에 있어서, 인증 모델을 저장하는 메모리; 상기 사용자에 대한 행동 데이터를 획득하고, 상기 인증 모델을 이용하여, 상기 획득된 행동 데이터에 대해 인증을 수행하는 적어도 하나의 프로세서; 및 상기 인증이 수행된 결과에 기초하여, 상기 인증된 행동 데이터를 블록 체인에 제출하는 통신부를 포함하고, 상기 인증 모델은, 상기 블록 체인에 등록된 상기 사용자에 대한 적어도 하나의 행동 데이터에 기초하여 학습되는 모델인, 전자 장치를 포함한다. 
또한, 본 개시의 제3 측면은, 제1 측면 또는 제2 측면의 방법을 수행하도록 하는 프로그램이 저장된 기록매체를 포함하는 컴퓨터 프로그램 제품을 제공할 수 있다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서 "블록체인"은 무결성을 확보하고 유지하기 위해 순서에 따라 연결된 블록들이 거래 정보를 암호화 기법과 보안기술을 이용해 협상하는 알고리즘으로 구성된 소프트웨어 요소를 활용하는 원장(ledger)의 분산 P2P (Peer to Peer)시스템을 의미할 수 있다. 여기서, 분산 P2P 시스템은 분산 시스템의 특수한 형태일 수 있다. 또한, P2P 시스템은 중앙 노드의 조정 없이 네크워크의 모든 노드들이 서로에게 자원(처리 능력, 저장 공간, 데이터 또는 네트워크 대역폭 등)을 제공할 수 있다. 또한, "블록체인"은 거래 정보를 기록한 원장을 특정 기관의 중앙 서버가 아닌 P2P 네트워크에 분산하여 네트워크 내의 노드들이 공동으로 기록하고 관리하는 분산원장(distributed ledger) 기술을 의미할 수 있다.
본 명세서에서, "노드"는 블록체인의 네트워크 내에서 구성요소를 의미할 수 있다. 예를 들면, 노드는 특수 목적 컴퓨터(Special-purpose Computer), 범용 컴퓨터(General-purpose Computer), 슈퍼 컴퓨터(Supercomputer), 대형 컴퓨터(Mainframe Computer), 개인용 컴퓨터(Personal Computer), 스마트폰, 태블릿 PC 등일 수 있으나, 이에 제한되지 않는다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 일 실시 예에 의한 사용자에 대한 인증을 수행하는 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 일 실시 예에 의한 사용자에 대한 인증을 수행하는 시스템은 전자 장치(1000) 및 블록 체인(300)을 포함할 수 있다.
일 실시 예에 따른 전자 장치(1000)는, 사용자(100)의 행동 데이터를 수집하여, 사용자에 대한 인증을 수행하는 장치로, 다양한 형태로 구현될 수 있다.
예를 들어, 본 명세서에서 기술되는 전자 장치(1000)는, 스마트 TV, 셋탑 박스, 휴대폰, 태블릿 PC, 디지털 카메라, 노트북 컴퓨터(laptop computer), 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
또한, 본 명세서에서 기술되는 전자 장치(1000)는 사용자에 의해 착용될 수 있는 장치(wearable device)일 수 있다. 웨어러블 디바이스는 액세서리 형 장치(예컨대, 시계, 반지, 팔목 밴드, 발목 밴드, 목걸이, 안경, 콘택트 렌즈), 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형 장치(예: 전자 의복), 신체 부착형 장치(예컨대, 스킨 패드(skin pad)), 또는 생체 이식형 장치(예: implantable circuit) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 이하에서는, 설명의 편의상, 전자 장치(1000)가 스마트 폰인 경우를 예로 들어 설명하기로 한다.
일 실시 예에 의한 전자 장치(1000)는 사용자로부터 행동 데이터를 수집하고, 사용자 인증을 수행할 수 있다. 일 실시 예에 의한, 전자 장치(1000)는 수집된 행동 데이터에 대한 인증을 수행함으로써, 상기 행동 데이터를 제공하는 사용자가 진정한 사용자임을 인증할 수 있다. 예를 들면, 전자 장치(1000)는 수집된 행동 데이터의 패턴이, 미리 학습된 행동 데이터의 패턴과 일치하는 정도에 따라서, 상기 행동 데이터를 제공하는 사용자가 진정한 사용자인지 여부를 판단할 수 있다.
일 실시 예에 의한 전자 장치(1000)는 사용자(100)로부터 다양한 종류의 행동 데이터를 수집할 수 있다. 예를 들면, 전자 장치(1000)는 사용자(100)의 행동 데이터로서, 버튼 입력, 지문 인식, 얼굴 인식, 패턴 인식, 비밀번호 입력, 터치 스크린에서의 터치 입력, 음성 입력 등의 사용자에 의해 입력된 정보와, 센서에 의해 감지된 사용자의 생체 정보, 움직임 정보, 위치 정보 등을 수집할 수 있다. 사용자에 의해 입력된 정보는 사용자가 사용자 인증을 위해 직접 입력한 정보를 포함할 수 있다. 또한, 행동 데이터는, 상기 행동 데이터가 수집된 전자 장치(1000)의 특징(ex. 종류)에 관한 정보, 상기 행동 데이터가 수집된 시간 및 위치에 관한 정보 등을 더 포함할 수 있다. 상술한 예에 한하지 않고, 전자 장치(1000)는 사용자(100)와 관련된 다양한 종류의 행동 데이터를 수집할 수 있다.
일 실시 예에 의한 사용자 인증은, 일 세션 동안 연속적으로 인증을 수행하는, 연속 인증(continuous authentication)을 포함할 수 있다.
연속 인증이란, 아이디 및 패스워드 입력과 같이 인증을 위한 사용자의 직접적인 입력을 통해 일회적으로 인증을 수행하는 대신, 사용자로부터 수집된 행동 데이터에 기초하여, 인증이 지속적으로 수행되는 인증 기술을 의미한다. 연속 인증에 의하면, 사용자의 인지 없이 전자 장치(1000)에서 수집될 수 있는 행동 데이터를 통해 인증이 지속적으로 수행될 수 있다. 따라서, 연속 인증에 의하면, 사용자에 의해 인증을 위한 정보가 직접적으로 입력되지 않더라도, 높은 수준의 보안이 유지될 수 있다.
일 실시 예에 의하면, 사용자 인증은, 아이디, 패스워드를 이용한 인증 방식에 의한 1차 인증 및 상술한 연속 인증 방식에 의한 2차 인증의 2단계로 수행될 수 있다. 예를 들면, 1차 인증이 수행된 이후 2차 인증을 위한 세션이 설정되고, 설정된 세션이 종료될 때까지 2차 인증을 통해 사용자에 대한 지속적인 인증이 수행될 수 있다. 일 실시 예에 의하면, 미리 설정된 시간이 경과하거나, 2차 인증이 반복하여 실패하는 경우, 세션이 종료될 수 있다. 세션이 종료된 이후에는 다시 1차 인증이 수행될 수 있다. 상술한 예에 한하지 않고, 사용자 인증은 다양한 방식에 따라 연속 인증을 포함한 인증이 수행될 수 있다.
일 실시 예에 의한 연속 인증에 의하면, 사용자로부터 수집된 행동 데이터의 패턴이 미리 학습된 행동 패턴과 비교됨으로써, 인증이 수행될 수 있다. 예를 들어, 수집된 행동 데이터의 패턴이 미리 학습된 행동 패턴과 일치할수록 높은 신뢰도 값이 결정될 수 있다. 결정된 신뢰도 값이 기준값 이상이면 상기 행동 데이터의 사용자가 진정한 사용자인 것으로 판단될 수 있고, 상기 행동 데이터는 일 실시 예에 따라 인증된 행동 데이터로 결정될 수 있다.
또한, 신뢰도 값이 기준값 이상인, 상기 행동 데이터는, 블록 체인(300)에 제출될 수 있다. 블록 체인(300)에 제출된 행동 데이터는, 블록 체인(300)에 참여하는 노드들 간의 합의가 도출됨에 따라, 새로운 블록으로 블록 체인(300)에 추가됨으로써, 블록 체인(300)에 등록될 수 있다. 일 실시 예에 의하면, 블록 체인(300)에 참여하는 적어도 하나의 노드는 블록 체인(300)에 제출된 행동 데이터를 블록 체인(300)에 등록할지 여부를 결정하기 위하여, 블록 체인(300)에 제출된 상기 행동 데이터에 대한 검증을 수행할 수 있다. 검증 결과에 따라, 적어도 하나의 노드는 상기 행동 데이터가 블록 체인(300)에 등록되는 것에 대하여 동의할 수 있다.
일 실시 예에 의한 미리 학습된 행동 패턴은 행동 데이터를 인증하기 위한 인증 모델일 수 있다. 예를 들면, 전자 장치(1000)는 인증 모델에 기초하여, 행동 데이터에 대한 신뢰도 값을 획득함으로써, 사용자에 대한 인증을 수행할 수 있다.
일 실시 예에 의한 인증 모델은, 사용자 인증이 수행된 결과에 따라, 인증된 행동 데이터에 기초하여, 학습될 수 있다. 또한, 일 실시 예에 의한 인증 모델은 블록 체인(300)에 등록된 행동 데이터에 기초하여, 학습될 수 있다.
블록 체인(300)에 등록된 행동 데이터는 상기 전자 장치(1000)에서 인증된 행동 데이터뿐만 아니라, 다른 전자 장치에서 일 실시 예에 따라 인증된 행동 데이터도 포함할 수 있다. 일 실시 예에 의하면, 다른 전자 장치에서 수집된 행동 데이터는 전자 장치(1000)에서 수집된 행동 데이터의 사용자와 동일한 사용자에 대하여 인증된 행동 데이터일 수 있다. 예를 들면, 블록 체인(300)에 등록된 행동 데이터는 전자 장치(1000)의 사용자와 동일한 사용자가 소유한 다른 전자 장치에서, 수집된 행동 데이터 중 인증된 행동 데이터를 포함할 수 있다.
일 실시 예에 의한 행동 데이터는, 서버나 외부 장치에 중앙 집중식으로 저장되는 대신, 블록 체인(300)에 등록됨으로써, 블록 체인(300)에 참여하는 복수 개의 장치들 간 공유될 수 있다. 따라서, 일 실시예에 의하면, 서버-클라이언트 방식으로 데이터가 분배되는 경우에 비해, 보안성이 보다 강화될 수 있고, 서버를 관리할 필요가 없어짐에 따라 비용이 절감될 수 있다. 또한, 일 실시 예에 의하면, 데이터가 블록 체인(300)에 참여하는 복수 개의 장치들로 분배되어 저장되므로, 서버를 집중 공격하는 해킹 방법인 DDoS(Distributed Denial of Service) 공격을 방지할 수 있다. 또한, 블록 체인(300) 기술의 특성 상 각 장치에 분산 원장이 저장됨에 의하여, 데이터의 투명성이 보장되므로 서버-클라이언트 방식보다 더 높은 신뢰성을 확보할 수 있다.
일 실시 예에 따라, 동일한 사용자에 대한 행동 데이터를 수집할 수 있는 적어도 하나의 전자 장치(1000)는, 동일한 블록 체인(300)에 노드로서 참여할 수 있다. 상기 적어도 하나의 전자 장치(1000)에서 이용되는 인증 모델은, 상기 블록 체인(300)에 등록된 행동 데이터에 기초하여 학습될 수 있다. 상기 각각의 전자 장치(1000)가 동일한 블록 체인(300)에 참여하는 경우, 각 전자 장치(1000)의 인증 모델이 학습되는데 이용되는 행동 데이터들은 서로 동일할 수 있다. 일 실시 예에 의하면, 인증 모델에 대한 학습은 각 전자 장치(1000)에서 따로 수행되므로, 각 전자 장치(1000)에서 이용되는 인증 모델은 서로 다를 수 있다.
블록 체인(300)에 참여하는 각 노드는, 블록 체인(300)에 제출된 행동 데이터가 타당한지 여부를 판단할 수 있다. 예를 들면, 블록 체인(300)에 참여하는 각 노드는, 상기 행동 데이터가 블록 체인(300)에 등록된 기존의 다른 행동 데이터와 모순되는지 여부를 판단할 수 있다. 일 실시 예에 의하면, 블록 체인(300)에 참여하는 노드들 중 과반의 동의에 따라, 상기 행동 데이터가 새로운 블록으로 블록 체인(300)에 추가될 수 있다. 상술한 예에 한하지 않고, 블록 체인(300)에 제출된 행동 데이터는 다양한 방식의 합의 알고리즘에 따라서, 새로운 블록으로 블록 체인(300)에 등록될 수 있다.
일 실시 예에 의한 블록 체인(300)은, 인증하고자 하는 사용자마다 존재할 수 있다. 예를 들어, 전자 장치(1000)가 복수의 사용자로부터 행동 데이터를 수집할 수 있는 경우, 전자 장치(1000)는 상기 복수의 사용자의 수만큼 복수 개의 블록 체인(300)에 노드로 참여할 수 있다. 상술한 예에 한하지 않고, 블록 체인(300)은, 복수의 사용자 또는 복수의 사용자들의 그룹에 대해, 존재할 수 있다.
도 2는 일 실시 예에 의한 사용자에 대한 인증을 수행하는 다수의 노드를 포함하는 블록 체인을 설명하기 위한 도면이다.
도 2를 참조하면, 일 실시 예에 의한 사용자에 대한 인증을 수행하기 위한 블록 체인(300)에 참여하는 다수의 노드는, 복수 개의 전자 장치(210, 220, 230, 400)를 포함할 수 있다. 도 2의 복수 개의 전자 장치(210, 220, 230, 400) 중 적어도 하나는 도 1의 전자 장치(1000)와 대응될 수 있다.
블록 체인(300)에 참여하는 노드는, 풀 노드(full node)와 라이트 노드(light node)로 구분될 수 있다.
풀 노드는, 블록 체인(300)의 노드로서 수행될 수 있는 대부분의 기능을 수행할 수 있다. 예를 들면, 풀 노드는, 블록 체인(300)에 관한 대부분의 정보를 저장하거나, 블록 체인(300)에 새로 제출된 데이터를 새로운 블록으로 추가할지 여부를 결정하기 위한 검증을 수행할 수 있다.
풀 노드는, 블록 체인(300)의 노드로서 수행될 수 있는 대부분의 기능을 수행할 수 있어야 하므로, 고용량 또는 고성능의 전자 장치일 수 있다. 예를 들면, 풀 노드는 특수 목적 컴퓨터(Special-purpose Computer), 범용 컴퓨터(General-purpose Computer), 슈퍼 컴퓨터(Supercomputer), 대형 컴퓨터(Mainframe Computer), 개인용 컴퓨터(Personal Computer), 서버 컴퓨터(Server computer), 클라우드 컴퓨터(Cloud computer) 등의 장치일 수 있다.
라이트 노드는, 풀 노드와는 달리 블록 체인(300)의 노드로서 수행될 수 있는 기능 중 일부 기능을 수행할 수 있다. 예를 들면, 라이트 노드는, 블록 체인(300)에 관한 정보 중 일부 정보를 저장할 수 있으며, 일 예로 블록 체인(300)의 모든 블록에 대한 모든 정보를 저장하는 대신 적어도 하나의 블록에 대하여 요약된 일부 정보를 저장할 수 있다. 라이트 노드는, 블록 체인(300)의 노드로서 일부 기능을 수행할 수 있고, 필요한 경우, 풀 노드를 통해 블록 체인(300)에서 필요한 기능을 수행할 수 있다. 예를 들면, 라이트 노드는, 블록 체인(300)에 새로 제출된 데이터를 새로운 블록으로 추가할지 여부를 결정하기 위한 검증을 수행하지 않을 수 있다.
또한, 일 실시 예에 의하면, 라이트 노드는, 블록 체인(300)에 대한 분산 원장 전체를 저장하는 대신, 블록 체인(300)에 관한 일부 정보만을 저장하고, 다른 노드(ex. 풀 노드)에 저장된 분산 원장에 접근하여 블록 체인(300)의 노드로서 동작할 수 있다. 예를 들면, 라이트 노드는, 블록 체인(300)의 노드로서의 동작을 수행할 때, 필요한 경우 신뢰하는(trusted) 다른 노드(ex. 풀 노드, 클라우드 서버 등)에 저장된 분산 원장에 접근하여, 동작을 수행할 수 있다.
따라서, 라이트 노드는 풀 노드에 비해 상대적으로 저용량 또는 저성능의 전자 장치일 수 있다. 예를 들면, 라이트 노드는 모바일 장치, 웨어러블 장치, 노트북, 가전 제품(household appliance) 등일 수 있다.
일 실시 예에 의하면, 복수 개의 전자 장치(210, 220, 230, 400)은, 풀 노드 또는 라이트 노드로 블록 체인(300)에 참여할 수 있으며, 블록 체인(300)에 참여하는 노드 중 적어도 하나의 노드는, 사용자(100)로부터 사용자(100)의 행동 데이터를 수집할 수 있다.
일 실시 예에 의하면, 도 2의 전자 장치들(210, 220, 230)은, 모바일 장치 또는 가전 제품일 수 있고, 제한된 용량을 가짐에 따라, 라이트 노드로서, 블록 체인(300)에 참여할 수 있다. 또한, 전자 장치들(210, 220, 230)은 센서 또는 입력 인터페이스를 구비하여, 사용자(100)의 생체 정보 또는 사용자(100)의 입력 정보에 기초하여, 사용자(100)의 행동 데이터를 수집하고, 인증 모델에 기초하여 인증을 수행할 수 있다.
또한, 일 실시 예에 의하면, 도 2의 전자 장치(400)는, 고용량 및 고성능의 데스크탑 컴퓨터일 수 있고, 풀 노드로서, 블록 체인(300)에 참여할 수 있다. 예를 들면, 전자 장치(400)는, 입력 인터페이스를 통해 수집된 사용자(100)의 입력 정보에 기초하여, 사용자(100)의 행동 데이터를 수집하고, 인증 모델에 기초하여 인증을 수행할 수 있다.
또한, 일 실시 예에 의하면, 도 2의 풀 노드로 동작할 수 있는 전자 장치(400)는 서버 컴퓨터 또는 클라우드 컴퓨터와 같이 사용자(100)의 행동 데이터를 직접적으로 수집하지 못하는 장치일 수 있다. 일 실시 예에 의하면, 풀 노드로 동작할 수 있는 전자 장치(400)는, 다른 전자 장치들(210, 220, 230)에서 수집된 사용자(100)의 행동 데이터에 기초하여 사용자에 대한 인증을 수행하고, 인증 결과에 따라 블록 체인(300)에 인증된 행동 데이터를 블록 체인(300)에 제출할 수 있다. 또한, 일 실시 예에 의하면 풀 노드로 동작할 수 있는 전자 장치(400)는, 다른 전자 장치들(210, 220, 230) 대신 다른 전자 장치들(210, 220, 230)에서 수집된 사용자(100)의 행동 데이터에 대한 인증을 수행할 수 있다.
일 실시 예에 의한, 블록 체인(300)에 참여하는 적어도 하나의 노드들(ex. 제1, 제2 제3 전자 장치들)은 동일한 사용자(100)가 소유하는 장치들일 수 있다. 이에 한하지 않고, 블록 체인(300)에 참여하는 적어도 하나의 노드들(210, 220, 230, 400)은 동일한 사용자(100)가 소유하는 것은 아니나, 동일한 사용자(100)로부터 행동 데이터들을 수집할 수 있는 장치일 수 있다.
도 3은 일 실시 예에 의한 사용자 인증을 수행하기 위한 블록 체인(300) 및 복수 개의 전자 장치(210, 220, 230)의 동작을 설명하기 위한 도면이다.
도 3의 복수 개의 전자 장치(210, 220, 230) 중 적어도 하나는, 도 1의 전자 장치(1000)와 대응될 수 있다.
도 3을 참조하면, 제1 전자 장치(210)는, 사용자(100)로부터 행동 데이터를 수집하여, 사용자(100)를 인증할 수 있다. 예를 들면, 제1 전자 장치(210)는, 수집된 행동 데이터를 제1 전자 장치(210)에 저장된 인증 모델 1(213)에 기초하여 인증할 수 있다. 일 실시 예에 의하면, 인증 모델 1(213)에 기초하여, 행동 데이터에 대한 신뢰도 값이 결정될 수 있고, 신뢰도 값에 기초하여, 행동 데이터에 대한 사용자 인증이 수행될 수 있다.
일 실시 예에 의한 신뢰도 값은 제1 전자 장치(210)에서 내부적으로 수행된 동작을 통하여 획득될 수 있으므로, 외부 공격으로부터 안전할 수 있다.
일 실시 예에 의하면, 제1 전자 장치(210)는, 행동 데이터에 대한 인증 결과에 기초하여, 사용자(100)의 요청에 따른 동작을 수행할 수 있다. 예를 들면, 제1 전자 장치(210)는, 행동 데이터에 대한 인증 결과, 신뢰도 값이 기준값 이상이면, 상기 행동 데이터의 사용자(100)가 진정한 사용자인 것으로 판단하고, 사용자(100) 요청에 따른 동작을 수행할 수 있다.
반면, 행동 데이터에 대한 인증 결과, 신뢰도 값이 기준값 이하이면, 제1 전자 장치(210)는, 사용자(100)에 대한 다른 행동 데이터를 추가로 획득할 수 있다. 예를 들면, 제1 전자 장치(210)는 사용자(100)가 진정한 사용자인지 검증하기 위한 추가 정보를 사용자(100)에게 요청할 수 있고, 사용자(100)로부터 제공된 추가 정보를 상술한 다른 행동 데이터로서 획득할 수 있다. 또 다른 예로, 제1 전자 장치(210)는 신뢰도 값이 기준값 보다 낮게 나온 행동 데이터(ex. 위치 정보)와 다른 종류의 행동 데이터(ex. 사용자 얼굴 정보)를 상술한 다른 행동 데이터로서 획득할 수 있다.
제1 전자 장치(210)는 다른 행동 데이터에 기초하여, 사용자(100) 요청에 따른 동작을 수행할 지 여부를 결정할 수 있다. 예를 들면, 제1 전자 장치(210)는 인증 모델에 기초하여 다른 행동 데이터에 대한 신뢰도 값을 결정하고, 결정된 신뢰도 값에 기초하여 사용자 인증이 수행될 수 있다. 일 실시 예에 의하면, 다른 행동 데이터에 대한 신뢰도 값이 기준값 이상이면, 상기 다른 행동 데이터가 인증된 행동 데이터로서, 블록 체인(300)에 제출될 수 있다.
일 실시 예에 의하면, 사용자(100) 요청에 따른 동작은 각 전자 장치(210, 220, 230)에 포함된 스마트 계약(212)에 의해 자동으로 수행될 수 있다.
'스마트 계약'(Smart contract)은 프로그래밍된 조건이 모두 충족되면 자동으로 계약을 이행하는 ‘자동화 계약’ 시스템이다. 스마트 계약에 의하면, 계약 조건이 컴퓨터 코드로 지정될 수 있고, 조건이 맞으면 자동으로 계약이 이행될 수 있다. 일 실시 예에 의하면, 인증 모델 1(213)에 기초하여 획득된 행동 데이터의 신뢰도 값이 기준값 이상일 것이 상기 스마트 계약(212)의 계약 이행 조건으로 설정될 수 있고, 계약 이행 조건이 만족하면, 계약을 이행하는 동작으로서, 사용자에 의하여 요청된 동작이 자동으로 수행될 수 있다.
또한, 일 실시 예에 의하면, 제1 전자 장치(210)는 행동 데이터에 대한 인증 결과에 기초하여, 인증된 행동 데이터를 블록 체인(300)에 제출할 수 있다.
블록 체인(300)에 제출된 행동 데이터는, 블록 체인(300)에 참여하는 적어도 하나의 노드들 간의 합의가 도출됨에 따라, 블록 체인(300)에 새로운 블록으로 추가됨으로써, 등록될 수 있다. 예를 들면, 블록 체인(300)에 참여하는 노드들 중 적어도 하나의 풀 노드에 의해 행동 데이터에 대한 검증이 수행될 수 있다. 또한, 검증 결과에 따라 상기 적어도 하나의 풀 노드는 행동 데이터를 블록 체인(300)에 등록할지 여부에 대해 동의할 수 있다. 일 실시 예에 의하면, 검증을 수행한 풀 노드들 중 과반 이상의 동의에 의해, 노드들 간의 합의가 도출되는 경우, 행동 데이터는 블록 체인(300)에 새로운 블록으로 추가될 수 있다.
일 실시 예에 따라, 행동 데이터가 새로운 블록으로 블록 체인(300)에 추가되는 경우, 새로운 블록에 관한 정보가 블록 체인(300)에 노드로 참여하는 제1 전자 장치(210), 제2 전자 장치(220) 및 제3 전자 장치(230)로 전달될 수 있다. 예를 들면, 적어도 하나의 풀 노드에 의한 검증을 통해 합의가 도출되어, 행동 데이터가 새로운 블록으로 블록 체인(300)에 추가되는 경우, 새로운 블록에 관한 정보가 각 노드의 분산 원장에 반영될 수 있도록, 제1, 제2, 제3 전자 장치(210, 220, 230)로 전달될 수 있다.
새로운 블록에 관한 정보를 수신한 각각의 전자 장치(210, 220, 230)들은, 새로운 블록에 관한 정보에 기초하여, 각 전자 장치(210, 220, 230)에 저장된 분산 원장(211, 221, 231)과 인증 모델 1, 2, 3(213, 223, 233)을 갱신할 수 있다. 예를 들면, 각각의 분산 원장(211, 221, 231)에서, 새로운 블록에 관한 정보에 기초하여, 블록 체인(300)에 포함된 블록들에 관한 정보가 갱신될 수 있다. 또한, 각각의 인증 모델들(213, 223, 233)은, 새로운 블록에 포함된 행동 데이터에 기초하여, 재학습됨(retraining)으로써, 각 전자 장치(210, 220, 230)에 의해 갱신될 수 있다.
일 실시 예에 의하면, 각 전자 장치(210, 220, 230)의 인증 모델 1, 2, 3(213, 223, 233)들은 전자 장치(210, 220, 230)의 메모리 및 분산된 파일 시스템(distributed file system), 예를 들면, IPFS(Inter Planetary File System) 중 적어도 한 곳에 저장될 수 있다.
분산된 파일 시스템이란, 서버-클라이언트 방식에 따라 서버로부터 데이터를 수신하는 대신, 데이터가 저장된 복수 개의 저장 장치로부터 데이터를 수신하는 방식에 따른 파일 저장 시스템을 의미한다. 예를 들면, 제1 전자 장치(210)는, 인증 모델 1(213)을 새로 등록된 블록 체인(300)의 블록 데이터에 기초하여 갱신한 후, 갱신된 인증 모델 1(213)을 복수 개의 저장 장치로 전송함으로써, 인증 모델 1(213)을 분산된 파일 시스템에 저장할 수 있다. 또한, 제1 전자 장치(210)는, 복수 개의 저장 장치로부터 인증 모델 1(213)의 일부, 예를 들면, 인증 모델 1(213)이 분할된 데이터인, 인증 모델 1-1, 인증 모델 1-2 및 인증 모델 1-3을 각각 다른 저장 장치로부터 수신함으로써, 인증 모델 1(213)을 분산된 파일 시스템으로부터 획득할 수 있다. 상술한 예에 한하지 않고, 일 실시 예에 의한 인증 모델은 다양한 방식으로 다양한 장치에 저장될 수 있다.
도 4는 일 실시 예에 의한 전자 장치(1000)의 내부 구성을 설명하기 위한 블록도이다.
도 5는 일 실시 예에 의한 전자 장치(1000)의 내부 구성을 설명하기 위한 블록도이다.
도 4를 참조하면, 전자 장치(1000)는, 프로세서(1300), 메모리(1700) 및 통신부(1500)를 포함할 수 있다. 그러나, 도 4에 도시된 구성 요소 모두가 전자 장치(1000)의 필수 구성 요소인 것은 아니다. 도 4에 도시된 구성 요소보다 많은 구성 요소에 의해 전자 장치(1000)가 구현될 수도 있고, 도 4에 도시된 구성 요소보다 적은 구성 요소에 의해 전자 장치(1000)가 구현될 수도 있다.
예를 들면, 전자 장치(1000)는 도 5에 도시된 바와 같이, 일부 실시예에 따른 전자 장치(1000)는, 프로세서(1300), 메모리(1700) 및 통신부(1500) 이외에 사용자 입력부(1100), 출력부(1200), 센싱부(1400) 및 A/V 입력부(1600)를 더 포함할 수도 있다.
사용자 입력부(1100)는, 사용자가 전자 장치(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
일 실시 예에 의하면, 사용자 입력부(1100)는, 소정의 동작을 수행하기 위한 사용자 입력을 수신할 수 있다. 사용자 입력부(1100)에 의해 수신된 사용자 입력은, 일 실시 예에 의한 행동 데이터로써 수집될 수 있다.
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다.
일 실시 예에 의한 출력부(1200)는, 사용자 요청에 따른 동작의 수행 결과를 출력할 수 있다. 예를 들면, 행동 데이터에 대한 인증 수행 결과에 따라 전자 장치(1000)에서 소정 동작이 수행될 수 있고, 소정 동작이 수행된 결과는 출력부(1200)를 통해 출력될 수 있다.
디스플레이부(1210)는 전자 장치(1000)에서 처리되는 정보를 표시 출력한다.
한편, 디스플레이부(1210)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(1210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(1210)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 전자 장치(1000)의 구현 형태에 따라 전자 장치(1000)는 디스플레이부(1210)를 2개 이상 포함할 수도 있다.
음향 출력부(1220)는 통신부(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다.
진동 모터(1230)는 진동 신호를 출력할 수 있다. 또한, 진동 모터(1230)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다.
프로세서(1300)는, 통상적으로 전자 장치(1000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다. 전자 장치(1000)는 적어도 하나의 프로세서(1300)를 포함할 수 있다.
프로세서(1300)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(1700)로부터 프로세서(1300)에 제공되거나, 통신부(1500)를 통해 수신되어 프로세서(1300)로 제공될 수 있다. 예를 들면 프로세서(1300)는 메모리와 같은 기록 장치에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.
일 실시 예에 의한 프로세서(1300)는 사용자의 행동 데이터를 수집하고, 수집된 행동 데이터에 대한 인증을 수행할 수 있다. 프로세서(1300)는, 전자 장치(1000)가 참여하는 블록 체인(300)에 등록된 사용자의 적어도 하나의 행동 데이터에 기초하여 학습된 인증 모델을 이용하여 인증을 수행할 수 있다. 프로세서(1300)는, 행동 데이터에 대한 인증이 수행된 결과에 따라, 인증된 행동 데이터를, 블록 체인(300)에 제출할 수 있다. 블록 체인(300)에 제출된 행동 데이터는, 블록 체인(300)에 참여하는 노드들 간의 합의가 도출됨에 따라, 새로운 블록으로 블록 체인(300)에 추가됨으로써, 블록 체인(300)에 등록될 수 있다.
센싱부(1400)는, 전자 장치(1000)의 상태 또는 전자 장치(1000) 주변의 상태를 감지하고, 감지된 정보를 프로세서(1300)로 전달할 수 있다. 일 실시 예에 의하면, 센싱부(1400)에 의해 감지된 정보는, 사용자에 대하여 수집된 행동 데이터로써, 프로세서(1300)로 전달될 수 있다.
센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
통신부(1500)는, 전자 장치(1000)가 서버(2000) 또는 외부 장치(미도시)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다.
일 실시 예에 의한 통신부(1500)는, 프로세서(1300)에 의해 인증된 사용자의 행동 데이터를 블록 체인(300)으로 전달할 수 있다. 예를 들면, 통신부(1500)는, 블록 체인(300)에 참여하는 적어도 하나의 노드가 행동 데이터를 검증할 수 있도록, 상기 적어도 하나의 노드로, 상기 인증된 행동 데이터를 전달할 수 있다.
근거리 통신부(short-range wireless communication unit)(1510)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 장치(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다.
마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다.
메모리(1700)는, 프로세서(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(1000)로 입력되거나 전자 장치(1000)로부터 출력되는 데이터를 저장할 수도 있다.
일 실시 예에 의한 메모리(1700)는 전자 장치(1000)에서 수집된 사용자의 행동 데이터와, 사용자의 행동 데이터를 인증하는데 이용되는 인증 모델을 저장할 수 있다. 또한, 메모리(1700)는, 블록 체인(300)과 관련된 정보로, 스마트 계약 및 분산 원장과 관련된 정보를 더 저장할 수 있다. 메모리(1700)에 저장된 스마트 계약 및 분산 원장과 관련된 정보에 기초하여, 전자 장치(1000)는, 블록 체인(300)에 인증된 행동 데이터를 제출하거나, 블록 체인(300)에 등록된 블록에 관한 정보를 이용하여 인증 모델을 갱신할 수 있다.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다.
UI 모듈(1710)은, 애플리케이션 별로 전자 장치(1000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(1300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.
사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다.
알림 모듈(1730)은 전자 장치(1000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다.
도 6은 일 실시 예에 의한 사용자 인증을 수행하는 방법을 나타낸 순서도이다.
도 6을 참조하면, 단계 610에서, 전자 장치(1000)는 블록 체인(300)에 등록된 행동 데이터에 기초하여 학습된, 인증 모델을 획득할 수 있다. 인증 모델은 전자 장치(1000)의 메모리에 저장될 수 있고, 블록 체인(300)에 새로운 블록이 등록될 때마다, 전자 장치(1000)에서 새로운 블록의 행동 데이터에 기초하여 재 학습됨으로써 갱신될 수 있다. 일 실시 예에 의한 인증 모델은, 전자 장치(1000) 내부에서 학습되고, 이용되므로, 인증 모델에 대한 외부로부터의 공격에 강인할 수 있다. 상술한 예에 한하지 않고, 인증 모델은 분산 파일 시스템에 따라 다양한 장치에 저장되거나 전자 장치(1000)와 연결된 외부 서버에 저장될 수도 있다.
단계 620에서, 전자 장치(1000)는 사용자로부터 수집된 행동 데이터를 획득할 수 있다. 예를 들면, 전자 장치(1000)는 센서에 의해 감지된 사용자의 생체 정보, 환경 정보 및 입력 인터페이스를 통해 수신된 사용자의 입력 정보 등을 사용자의 행동 데이터로 획득할 수 있다. 상술한 예에 한하지 않고, 전자 장치(1000)는 사용자와 관련된 다양한 종류의 데이터를 행동 데이터로 획득할 수 있다.
단계 630에서, 전자 장치(1000)는 단계 610에서 획득된 인증 모델을 이용하여 행동 데이터에 대한 인증을 수행할 수 있다. 예를 들면, 전자 장치(1000)는, 인증 모델을 이용하여, 행동 데이터의 사용자가 진정한 사용자일 가능성을 나타내는 신뢰도 값을 획득할 수 있다. 일 예로, 인증 모델에 의한 사용자의 행동 패턴 및 행동 데이터에 의한 사용자의 행동 패턴이 일치할수록 높은 신뢰도 값이 획득될 수 있다.
단계 640에서, 전자 장치(1000)는 단계 630에서 수행된 인증 결과에 기초하여, 인증된 행동 데이터를 블록 체인(300)에 제출할 수 있다. 예를 들면, 행동 데이터에 대한 신뢰도 값이 기준 값 이상인 경우, 전자 장치(1000)는, 행동 데이터로 나타나는 사용자가 진정한 사용자인 것으로 판단하고, 상기 행동 데이터를 진정한 사용자에 대한 행동 데이터로서 블록 체인(300)에 제출할 수 있다. 블록 체인(300)에 제출된 행동 데이터는, 블록 체인(300)에 참여하는 노드들 간의 합의 도출 과정을 통하여, 블록 체인(300)에 등록될 수 있다.
또한, 전자 장치(1000)는, 상기 블록 체인(300)에 제출된 행동 데이터가 블록 체인(300)에 등록되면, 상기 등록된 행동 데이터에 기초하여 인증 모델을 갱신할 수 있다. 전자 장치(1000)에 의해 블록 체인(300)에 등록된 행동 데이터에 기초하여 갱신되는 인증 모델은 전자 장치(1000)에서 일 실시 예에 따라 사용자 인증을 수행하는데 이용되는 인증 모델일 수 있다.
또한, 전자 장치(1000)는, 단계 630에서 수행된 인증 결과, 사용자로부터 수집된 행동 데이터가 인증된 경우, 사용자로부터 요청된 동작을 수행할 수 있다. 예를 들어, 전자 장치(1000)는, 행동 데이터에 대한 인증 결과에 기초하여, 사용자가 요청한 고도의 보안이 요구되는 동작을 수행할 수 있다.
일 실시 예에 따라 수집된 행동 데이터가 인증된 경우, 행동 데이터가 수집된 시점을 기준으로 설정된 일 세션 동안, 사용자로부터 요청된 동작이, 전자 장치(1000)에 의해 수행될 수 있다. 예를 들면, 행동 데이터가 수집된 시점부터 미리 설정된 구간까지의 시간 구간이 상기 일 세션으로 설정될 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 세션이 종료되기 전에 행동 데이터를 지속적으로 수집하고 수집된 행동 데이터에 대한 인증을 반복적으로 수행함으로써, 일정 수준의 보안 상태를 계속 유지할 수 있다.
도 7은 일 실시 예에 의한 전자 장치(1000)가 행동 데이터를 블록 체인(300)에 제출하는 방법을 나타낸 순서도이다.
도 7을 참조하면, 단계 701에서 전자 장치(1000)는 일 실시 예에 따라 사용자의 행동 데이터를 수집하고, 단계 702에서 전자 장치(1000)에 구비된 스마트 계약(700)에 인증을 요청할 수 있다. 예를 들면, 전자 장치(1000)는 사용자의 인지 없이 연속 인증을 주기적으로 수행하기 위해, 주기적으로 수집된 행동 데이터에 기초하여 스마트 계약(700)에 인증을 주기적으로 요청할 수 있다.
스마트 계약(700)은, 미리 설정된 조건이 만족되면, 전자 장치(1000)로 하여금 미리 설정된 동작을 자동으로 이행하게 하는, 전자 장치(1000) 내부에 설치된 사용자 인터페이스일 수 있다.
단계 703에서, 스마트 계약(700)은, 전자 장치(1000)의 요청에 따라 행동 데이터에 대한 인증을 수행할 수 있다. 예를 들면, 스마트 계약(700)은 전자 장치(1000)에 저장된 인증 모델에 기초하여, 행동 데이터에 대한 신뢰도 값을 획득할 수 있다. 일 실시 예에 의하면, 신뢰도 값이 기준값 이하이면, 스마트 계약(700)은 사용자 인증을 위한 다른 행동 데이터를 추가로 획득하고, 다른 행동 데이터에 기초하여, 신뢰도 값을 다시 획득할 수 있다. 스마트 계약(700)은, 행동 데이터 또는 추가로 획득된 행동 데이터의 신뢰도 값이 기준값 이상이면, 사용자 인증이 성공한 것으로 결정할 수 있다.
단계 704에서, 스마트 계약(700)은, 행동 데이터에 대한 신뢰도 값 또는, 추가로 획득된 다른 행동 데이터에 대한 신뢰도 값에 기초하여, 전자 장치(1000)에 인증 결과를 전달할 수 있다. 일 실시 예에 의하면, 스마트 계약(700)에 의해 인증 결과가 전달됨으로써, 사용자에 의해 요청된 동작이 단계 703에서의 인증 결과에 따라 자동으로 수행될 수 있다.
단계 705에서, 전자 장치(1000)는 스마트 계약(700)으로부터 전달된 인증 결과에 기초하여 동작을 수행할 수 있다. 예를 들어, 전자 장치(1000)는 스마트 계약(700)으로부터 전달된 인증 결과에 기초하여 사용자에 의해 요청된 동작을 수행할 지 여부를 결정할 수 있다.
단계 706에서, 전자 장치(1000)는 스마트 계약(700)에 의해 인증된 행동 데이터를 블록 체인(300)에 제출할 수 있다. 블록 체인(300)에 제출된 행동 데이터는, 블록 체인(300)에 참여하는 노드들 간의 합의가 도출됨에 따라 블록 체인(300)에 새로운 블록으로서 등록될 수 있다.
블록 체인(300)에 새로운 블록이 등록되면, 새로 등록된 블록에 관한 정보를 블록 체인(300)에 참여하는 각 노드들의 분산 원장에도 반영하기 위하여, 전자 장치(1000)는 단계 707에서 분산 원장 갱신을 위한 데이터를 수신할 수 있다. 전자 장치(1000)는, 단계 707에서 블록 체인(300)로부터 수신된 데이터에 기초하여, 전자 장치(1000)에 저장된 분산 원장을 갱신할 수 있다.
도 8은 일 실시 예에 의한 2단계로 사용자 인증을 수행하는 방법을 나타낸 순서도이다.
일 실시 예에 의하면, 사용자 인증은, 아이디, 패스워드를 이용한 인증 방식에 의한 1차 인증 및 행동 데이터에 대한 연속 인증 방식에 의한 2차 인증의 2단계로 수행될 수 있다. 도 8에 도시된 방법은, 상술한 1차 인증 후 2차 인증을 수행하는 방법을 나타낸다.
도 8을 참조하면, 단계 801에서, 사용자(100)는 전자 장치(1000)에 정보 A를 제공하여 줄 것을 요청할 수 있다. 정보 A는 개인 정보, 금융 정보 등의 고도의 보안이 요구되는 정보일 수 있다. 일 실시 예에 의하면, 단계 801에서 사용자(100)는, 정보 요청 대신 특정한 동작을 전자 장치(1000)에 요청할 수도 있다. 동작을 요청하는 경우에도, 정보를 요청하는 경우와 동일하게 일 실시 예에 의한 사용자 인증이 수행될 수 있다.
단계 802에서, 전자 장치(1000)는, 사용자(100)의 정보 제공 요청에 따라서, 사용자(100)의 비밀 정보, 예를 들면, 아이디 및 패스워드 정보, 지문 인증 정보, 얼굴 인증 정보, 패턴 인증 정보 등을 제공하여 줄 것을 요청할 수 있다. 사용자(100)의 비밀 정보는 사용자(100)가 진정한 사용자임을 증명하기 위한 정보를 포함할 수 있다. 또한, 사용자(100)의 비밀 정보는 전자 장치(1000)의 인증 정보 요청에 따라 사용자(100)의 직접적인 입력을 통해 전자 장치(1000)에 제공될 수 있다.
단계 803에서 사용자(100)는 전자 장치(1000)의 요청에 따라 비밀 정보를 제공할 수 있다. 또한, 단계 804에서, 전자 장치(1000)는 사용자(100)로부터 제공된 비밀 정보에 대하여 인증을 수행할 수 있다. 예를 들면, 사용자(100)로부터 제공된 비밀 정보에 기초하여, 전자 장치(1000)는 1차 인증을 수행함으로써 사용자(100)가 진정한 사용자가 맞는지에 대하여 판단할 수 있다.
일 실시 예에 의한 1차 인증은, 2차 인증과는 달리 인증 모델을 이용하지 않고, 사용자를 인증하기 위한 다양한 방법에 따라 수행될 수 있다.
단계 805에서, 전자 장치(1000)는 1차 인증이 성공한 경우에, 2차 인증을 추가로 수행할 수 있다. 예를 들면, 전자 장치(1000)는 사용자(100)로부터 수집된 행동 데이터에 기초하여, 사용자(100)에 대한 신뢰도 값을 획득할 수 있다. 상기 2차 인증은, 1차 인증이 수행된 후 일 세션 동안 수집된 행동 데이터에 기초하여 수행될 수 있다.
예를 들면, 전자 장치(1000)는, 사용자(100)가 비밀 정보를 전자 장치(1000)에 제공하기 위하여 수행된 동작을 나타내는, 행동 데이터에 대하여, 인증 모델을 이용하여 신뢰도 값을 획득할 수 있다. 행동 데이터는, 사용자(100)가 비밀 정보를 전자 장치(1000)에 제공하기 위하여 입력한 데이터의 값, 사용자(100)가 비밀 정보를 입력한 때의 전자 장치(1000)의 위치, 사용자(100)가 비밀 정보를 전자 장치(1000)에 제공하기 위하여 데이터를 입력하는데 걸린 시간 등을 포함할 수 있다. 일 실시 예에 의한 행동 데이터는, 사용자(100)가 1차 인증을 위해 입력한 비밀 정보도 포함할 수 있다. 상술한 예에 한하지 않고, 전자 장치(1000)는 사용자(100)에 대한 다양한 종류의 행동 데이터를 수집할 수 있다.
전자 장치(1000)는, 신뢰도 값에 기초하여, 2차 인증을 수행할 수 있다. 예를 들어, 전자 장치(1000)는 신뢰도 값이 기준값 이상이면, 2차 인증이 성공한 것으로 판단할 수 있고, 기준값 이상의 신뢰도 값을 가지는 행동 데이터가 블록 체인(300)에 제출될 수 있다. 반면, 신뢰도 값이 기준값 이하이면, 전자 장치(1000)는 2차 인증은 실패한 것으로 판단할 수 있고, 기준값 이하의 신뢰도 값을 가지는 행동 데이터는 블록 체인(300)에도 제출되지 않을 수 있다.
단계 806에서, 전자 장치(1000)는, 1차 인증 및 2차 인증의 수행 결과에 기초하여, 사용자(100)에게 사용자(100)가 요청한 정보 A를 제공할 수 있다. 예를 들어, 전자 장치(1000)는 1차 인증이 성공한 경우, 1차 인증이 성공한 시점을 기준으로 설정된 일 세션 동안에는, 2차 인증을 주기적으로 수행하여, 사용자를 연속적으로 인증할 수 있다. 2차 인증을 수행하기 위한 행동 데이터는 사용자가 직접 입력할 필요 없이, 사용자로부터 지속적으로 수집될 수 있다. 전자 장치(1000)는 지속적으로 수집된 행동 데이터에 기초하여, 2차 인증을 반복하여 수행할 수 있다.
단계 807에서, 사용자(100)는 전자 장치(1000)로부터 제공된 정보 A를 활용하거나, 전자 장치(1000)에서 정보 A를 활용하여 다른 동작을 수행하도록 전자 장치(1000)를 제어할 수 있다.
도 9는 일 실시 예에 의한 2차 인증을 수행하는 방법을 나타낸 순서도이다. 도 9는, 상술한 1차 인증이 성공한 이후 설정된 일 세션 동안에 2차 인증을 수행하는 방법을 나타낸다.
도 9를 참조하면, 사용자(100)는 단계 901에서, 전자 장치(1000)에 정보 B를 제공하여 줄 것을 요청할 수 있다. 전자 장치(1000)는 사용자(100)의 요청에 따라 정보 B를 제공할지 여부를 결정하기 위해 사용자를 인증하기 위한 연속 인증을 사용자의 행동 데이터에 기초하여 지속적으로 수행할 수 있다.
일 실시 예에 의하면, 1차 인증이 성공한 이후 설정된 일 세션 동안에는 2차 인증이 수행될 수 있으며, 2차 인증은, 사용자에 인증을 위한 비밀 정보를 요청하는 과정 없이, 사용자로부터 수집된 다양한 종류의 행동 데이터에 기초하여 수행될 수 있다.
전자 장치(1000)는 단계 902에서, 수집한 사용자(100)의 행동 데이터에 대한 신뢰도 값을 인증 모델을 이용하여 획득함으로써, 2차 인증을 수행할 수 있다. 예를 들면, 신뢰도 값이 기준값 이상이면 전자 장치(1000)는 2차 인증이 성공한 것으로 결정할 수 있다.
단계 903에서, 전자 장치(1000)는 2차 인증이 수행된 결과에 따라 사용자(100)에게 정보 B를 제공하여 줄 수 있다.
단계 904에서, 사용자(100)는 전자 장치(1000)로부터 제공된 정보 B를 활용하거나, 전자 장치(1000)에서 정보 B를 활용하여 다른 동작을 수행하도록 전자 장치(1000)를 제어할 수 있다.
도 10은 일 실시 예에 의한 2차 인증을 수행하는 방법을 나타낸 순서도이다. 도 10는, 상술한 1차 인증이 성공한 이후 설정된 일 세션 동안에 2차 인증을 수행하는 방법을 나타낸다. 도 9와는 달리 도 10에 의하면, 2차 인증이 실패한 경우, 사용자로부터 수신한 추가 정보에 기초하여, 2차 인증이 추가로 수행될 수 있다.
도 10을 참조하면, 단계 1001에서, 사용자(100)는 전자 장치(1000)에 정보 C를 제공하여 줄 것을 요청할 수 있다. 전자 장치(1000)는 사용자(100)의 요청에 따라 정보 C를 제공할지 여부를 결정하기 위해 사용자를 인증하기 위한 연속 인증을 사용자의 행동 데이터에 기초하여 지속적으로 수행할 수 있다.
단계 1002에서, 전자 장치(1000)는 1차 인증이 성공한 이후 설정된 일 세션 동안에 2차 인증을 주기적으로 수행한 결과, 현재 수집된 사용자의 행동 데이터로부터 신뢰도 값을 획득할 수 있다. 2차 인증은, 사용자에 인증을 위한 비밀 정보를 요청하는 과정 없이, 사용자로부터 수집된 행동 데이터에 기초하여 수행될 수 있다.
단계 1003에서, 전자 장치(1000)는 신뢰도 값이 기준값 이하인 경우, 사용자(100)에게 사용자 인증을 위한 추가 정보를 제공하여 줄 것을 요청할 수 있다. 예를 들어, 전자 장치(1000)는 사용자(100)가 진정한 사용자임을 증명할 수 있는 비밀 정보를 사용자(100)에게 추가로 요청할 수 있다. 추가로 요청될 수 있는 비밀 정보는 일 예로, 사용자(100)의 생년월일 정보, 주소 정보, 가족 관계 정보 등을 포함할 수 있다. 상술한 예에 한하지 않고, 사용자(100)가 진정한 사용자임을 증명할 수 있는 다양한 종류의 정보가 비밀 정보로서 사용자(100)에게 요청될 수 있다.
단계 1004에서, 사용자(100)는 전자 장치(1000)의 요청에 응답하여 추가 정보를 제공할 수 있다. 단계 1005에서, 전자 장치(1000)는 사용자(100)로부터 제공된 추가 정보에 기초하여, 사용자(100)에 대한 인증을 수행할 수 있다. 예를 들면, 사용자(100)로부터 제공된 추가 정보에 대하여 인증 모델에 기초한 신뢰도 값이 결정될 수 있다.
상술한 예에 한하지 않고, 전자 장치(1000)는 추가 정보를 사용자(100)에게 직접 요청하는 대신, 사용자(100)의 직접적인 입력 없이 사용자(100)로부터 수집된 다른 행동 데이터를 추가로 획득함으로써, 추가 정보를 획득할 수 있다.
단계 1005에서, 전자 장치(1000)는, 추가 정보에 기초하여, 사용자 인증을 다시 수행할 수 있다. 예를 들어, 전자 장치(1000)는 추가 정보에 기초하여 획득된 신뢰도 값이 기준값 이상이면, 사용자 인증이 성공한 것으로 판단할 수 있고, 신뢰도 값을 구하는데 이용된 추가 정보가 인증된 행동 데이터로서 블록 체인(300)에 제출될 수 있다. 반면, 신뢰도 값이 기준값 이하이면, 전자 장치(1000)는 사용자 인증은 실패한 것으로 판단할 수 있고, 추가 정보는 블록 체인(300)에도 제출되지 않을 수 있다.
단계 1006에서, 전자 장치(1000)는 단계 1005에서 수행된 사용자 인증의 결과에 따라 사용자(100)에게 정보 C를 제공하여 줄 수 있다.
단계 1007에서, 사용자(100)는 전자 장치(1000)로부터 제공된 정보 C를 활용하거나, 전자 장치(1000)에서 정보 C를 활용하여 다른 동작을 수행하도록 전자 장치(1000)를 제어할 수 있다.
도 11은 일 실시 예에 의한 행동 데이터에 기초하여 사용자 인증을 수행하는 일 예를 나타낸 도면이다.
도 11에 도시된 예는, 행동 데이터가 음성 데이터인 경우에 사용자에 대한 인증을 수행하는 방법을 나타낸 것이다. 일 실시 예에 의하면, 행동 데이터가 음성 데이터인 경우에 한하지 않고, 다양한 종류의 행동 데이터가 획득됨으로써, 사용자에 대한 인증이 수행될 수 있다.
도 11을 참조하면, 단계 1101에서 전자 장치(1000)는 사용자(100)의 행동 데이터로서, 음성 데이터를 획득할 수 있다. 일 실시 예에 의하면, 사용자(100)의 인지 없이, 사용자 인증을 위하여, 전자 장치(1000)가 일 세션 동안 지속적으로 사용자의 음성 데이터를 수신함으로써 획득할 수 있다.
단계 1102에서, 전자 장치(1000)는 획득된 사용자(100)의 음성 데이터에 대하여 특징을 추출할 수 있다. 음성 데이터에 대한 특징 추출은, MFCC (Mel-frequency cepstrum coefficients), LPC (Linear predictive coding) 등의 방법을 통해 수행될 수 있다. 상술한 예에 한하지 않고, 다양한 방법에 따라 음성 데이터에 대한 특징이 추출될 수 있다.
단계 1103에서, 전자 장치(1000)는 음성 데이터에 대하여 추출된 특징 정보를 사용자 모델(1103) 및 UBM(universal background model, 1104)에 각각 적용시킬 수 있다.
상술한 사용자 모델은 예를 들면, 가우시안 혼합 모델(GMM, Gaussian mixture model)에 의하여, 사용자(100)에 대한 다수의 음성 데이터에 기초하여 학습된 모델일 수 있다. 또한, UBM은 다양한 종류의 음악들의 일반적인 특징 분포 모델이다. 상술한 예에 한하지 않고, 음성 데이터에 대하여, 다양한 방식으로 학습된 모델이 이용될 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는 음성 데이터에 대하여 추출된 특징 정보가 사용자 모델(1103)에 의한 패턴에 가까운지, UBM에 의한 패턴에 가까운지 여부를 판단할 수 있다. 음성 데이터에 대하여 추출된 특징 정보가 사용자 모델(1103)에 의한 패턴에 가까운지 및 UBM에 의한 패턴에 가까운지 여부를 나타내는 값은 각각 LL user 및 LL ubm 로 나타날 수 있다.
단계 1105에서, 전자 장치(1000)는, 음성 데이터에 대하여 추출된 특징 정보가 사용자 모델(1103)에 의한 패턴에 가까운지를 나타내는, LL user이 더 큰지, 음성 데이터에 대하여 추출된 특징 정보가 UBM에 의한 패턴에 가까운지 여부를 나타내는 LL ubm 이 더 큰지 여부를 판단할 수 있다.
예를 들면, 사용자 인증을 위한 행동 데이터의 신뢰도 값은, LL user 및 LL ubm의 대비 값에 기초하여 결정될 수 있다. 일 예로, LL user / LL ubm 값이 신뢰도 값이고, 기준값이 1인 경우, 전자 장치(1000)는, LL user / LL ubm 값이 1보다 큰 값을 가지는지에 기초하여, 사용자 인증을 수행할 수 있다. 상술한 예에 한하지 않고, 신뢰도 값은, 다양한 방법으로, LL user 및 LL ubm의 값에 기초하여 결정될 수 있다.
LL user이 더 큰 경우, 전자 장치(1000)는, 사용자 인증을 위한 행동 데이터의 신뢰도 값이 기준값 보다 큰 경우에 해당되는 것으로 판단할 수 있다. 따라서, 단계 1106에서, 전자 장치(1000)는 단계 1101에서 획득된 음성 데이터는 진정한 사용자의 음성 데이터인 것으로 판단하여, 인증을 성공한 것으로 결정할 수 있다.
반면, LL ubm 이 더 큰 경우, 전자 장치(1000)는, 사용자 인증을 위한 행동 데이터의 신뢰도 값이 기준값 보다 작은 경우에 해당되는 것으로 판단할 수 있다. 따라서, 단계 1107에서, 전자 장치(1000)는 단계 1101에서 획득된 음성 데이터는 진정한 사용자의 음성 데이터로 보기 어렵다고 판단하여, 인증을 실패한 것으로 결정할 수 있다.
도 12는 일 실시 예에 의한 전자 장치(1000)가 블록 체인(300)에 참여하는 한 노드(1201)를 통해 블록 체인(300)의 노드로서 동작하는 일 예를 나타낸 도면이다.
도 12를 참조하면, 전자 장치(1000)는 사용자(100)로부터 행동 데이터를 수집하여 사용자(100)에 대한 인증을 수행할 수 있다. 전자 장치(1000)는 인증 모델을 이용하여 수집된 행동 데이터에 대한 인증을 수행함으로써, 사용자(100)에 대한 인증을 수행할 수 있다. 인증에 이용되는 인증 모델은, 전자 장치(1000)가 노드로서 참여하는 블록 체인(300)의 분산 원장에 등록된 행동 데이터에 기초하여 갱신될 수 있다.
일 실시 예에 의한 전자 장치(1000)는 블록 체인(300)에 참여하는 노드로서, 블록 체인(300)에 대한 등록 여부를 결정하기 위해 행동 데이터를 검증하거나, 블록 체인(300)에 등록된 블록들에 관한 정보를 포함하는 분산 원장에 관한 데이터를 저장할 수 있다.
다만, 일 실시 예에 의한 전자 장치(1000)의 연산 능력이 부족한 경우, 전자 장치(1000)는 행동 데이터를 검증하는 동작을 수행하지 않을 수 있다. 예를 들면, 블록 체인(300)에 등록될 수 있는 행동 데이터를 검증하는 동작은, 전자 장치(1000) 대신 연산 능력이 좋은 다른 블록 체인 노드(1201)에서 수행될 수 있다.
또한, 전자 장치(1000)의 메모리의 크기가 블록 체인(300)의 분산 원장을 저장하기에 부족한 경우, 전자 장치(1000)는 블록 체인(300)에 참여하는 블록 체인 노드(1201)를 통해 분산 원장의 데이터를 획득할 수 있다. 전자 장치(1000)는, 다른 블록 체인 노드(1201)에 저장된 분산 원장의 데이터에 기초하여, 전자 장치(1000)에서 이용되는 인증 모델을 갱신할 수 있다.
상술한 다른 블록 체인 노드(1201)는, 전자 장치(1000)보다 연산 능력 및 저장 능력이 더 좋은 장치로서, 블록 체인(300)에 풀 노드로 참여하는 장치일 수 있다.
도 13은 일 실시 예에 의한 블록 및 블록체인의 구조를 설명하기 위한 블록도이다.
도 13에 도시된 바와 같이, 블록 체인(300)은 유효한 거래 정보들을 기록한 블록들(1350, 1360, 1370)이 연결되어 구성될 수 있다. 즉, 블록 체인(300)의 데이터 구조는 거래 정보(1359, 1369, 1379)를 기록한 블록들이 순서대로 정렬된 단위로 구성된 소정의 데이터 구조일 수 있다.
일 실시 예에 의한 거래 정보(1359, 1369, 1379)는, 블록 체인(300)에 등록된 행동 데이터에 관한 정보를 포함할 수 있다. 따라서, 일 실시 예에 의한 인증된 행동 데이터는, 거래 정보로서 블록 체인(300)을 구성하는 블록에 포함될 수 있다.
또한, 블록 체인(300)의 데이터 구조는 각 블록 헤더가 이전 블록 헤더를 참조하여 체인 형식으로 연결된 데이터 구조, 및 거래 정보의 데이터를 가리키는 해시 참조와 거래 정보의 데이터가 트리 형태로 연결된 머클 트리의 데이터 구조로 구성될 수 있다.
블록 체인(300)에 포함된 블록들(1350, 1360, 1370)은 블록 해시(1351, 1361, 1371), 블록 헤더(1352, 1362, 1372), 거래 정보(1359, 1369, 1379) 등을 포함할 수 있다. 또한, 블록 헤더(1352, 1362, 1372)는 현재 프로그램의 버전(1353, 1363, 1373), 이전 블록 헤더의 해시값(1354, 1364, 1374), 머클 트리의 루트(1355, 1365, 1375), 타임스태프(1356, 1366, 1376), 난이도(1357, 1367, 1377) 및 난스(nonce, 1358, 1368, 1378)의 정보를 포함할 수 있다.
블록 해시(1351, 1361, 1371)는 현재 프로그램의 버전(1353, 1363, 1373), 이전 블록 헤더의 해시값(1354, 1364, 1374), 머클 트리의 루트(1355, 1365, 1375), 타임스태프(1356, 1366, 1376), 난이도(1357, 1367, 1377) 및 난스(1358, 1368, 1378)의 정보를 입력값으로 하여 적용된 해시 함수의 해시값일 수 있다. 즉, 블록 해시(1351, 1361, 1371)의 값은 블록 전체를 해시한 값이 아니라, 블록 헤더(1352, 1362, 1372)를 해시한 값일 수 있다.
이전 블록 헤더의 해시값(1354, 1364, 1374)은 각 블록 헤더(1352, 1362, 1372)를 고유하게 식별하고, 이전 블록 헤더를 참조하기 위해 사용될 수 있다. 각 블록 헤더(1352, 1362, 1372)가 이전 블록 헤더를 참조하면, 개별 블록 헤더와 블록의 순서는 유지될 수 있다.
도 13을 참조하면, 제1 블록(1350)은 최초 블록이어서 이전 블록이 없으므로, 이전 블록 헤더를 가리키는 어떠한 참조도 없다. 따라서, 제1 블록(1350)의 이전 블록 헤더의 해시값(1354)은 0이다. 또한, 제2 블록(1360)은 이전 블록인 제1 블록(1350)이 있으므로, 제2 블록 헤더(1362)는 제1 블록 헤더(1352)를 가리키는 해시값(1364)을 갖는다. 마찬가지로, 제3 블록(1370)은 이전 블록인 제2 블록(1360)이 있으므로, 제3 블록 헤더(1372)는 제2 블록 헤더(1362)를 가리키는 해시값(1374)을 갖는다.
머클 트리는 해시 참조와 거래 정보의 데이터가 트리 형태로 연결되어 있는 구조를 의미할 수 있다. 해시 참조는 암호화 해시값을 이용하여 거래 정보의 데이터를 가리키는 것을 의미할 수 있다. 한편, 암호화 해시값은 데이터의 고유값이므로, 서로 다른 데이터들은 동일한 해시값을 갖지 않는다.
머클 트리가 생성되는 과정을 구체적으로 설명하면, 거래 정보(예를 들면, 제1 거래 정보, 제2 거래 정보, 제3 거래 정보, 제4 거래 정보)의 데이터 각각을 가리키는 해시 참조(예를 들면, 제1 해시 참조, 제2 해시 참조, 제3 해시 참조, 제4 해시 참조)가 생성될 수 있다. 해시 참조가 생성되면, 해시 참조의 쌍을 가리키는 해시 참조(예를 들면, 제1 해시 참조와 제2 해시 참조를 가리키는 제12 해시 참조, 제3 해시 참조와 제4 해시 참조를 가리키는 제34 해시 참조)가 생성될 수 있다. 그리고 나서, 해시 참조의 쌍을 가리키는 해시 참조를 생성하는 작업이 반복 수행되어 단일 해시 참조(예를 들면, 제12 해시 참조와 제34 해시 참조를 가리키는 제1234 해시 참조)가 생성될 수 있다. 즉, 머클 트리는 단일 해시 참조에서 시작되어 각 거래 정보의 데이터까지 연결된 트리 형태의 구조일 수 있다. 머클 트리의 루트(1355, 1365, 1375)는 최종적으로 생성된 단일 해시 참조를 의미할 수 있다.
타임스태프(1356, 1366, 1376)는 작업 증명을 위해 작업을 시작한 시각을 의미할 수 있다.
난이도(1357, 1367, 1377)는 작업 증명 또는 해시 퍼즐에서의 제약 조건을 의미할 수 있다.
난스(1358, 1368, 1378)는 작업 증명을 위해 블록해시의 값이 제약 조건을 만족하도록 조절되는 값을 의미할 수 있다.
도 14은 일 실시 예에 의한 사용자 인증을 활용하는 실시예를 나타낸 도면이다.
도 14를 참조하면, 사용자(100) 주변의 다양한 전자 장치들(1401, 1402, 1403, 1404, 1405)은, 사용자(100)로부터 다양한 종류의 행동 데이터를 수집함으로써, 사용자(100)에 대해 인증을 수행할 수 있다.
일 실시 예에 의한 로봇 청소기(1401)는 집안 환경에 관한 다양한 데이터를 수집하여 집안 구조에 대한 맵 데이터를 생성할 수 있다. 예를 들어, 로봇 청소기(1401)는, 집안을 돌아다니면서 이동 거리, 충돌 지점 등을 측정함으로써, 방 크기, 거실 크기, 각 방의 위치 등을 파악하고, 파악한 정보에 기초하여 맵 데이터를 구성할 수 있다.
또한, 로봇 청소기(1401)는, 사용자(100)는 스마트폰(1402)을 항상 휴대하고 있는 것으로 가정하고, 사용자(100)의 스마트폰(1402)에 사용자(100)의 현재 위치에 관한 정보를 요청할 수 있다. 로봇 청소기(1401)는 상기 구성된 맵 데이터에 스마트폰(1402)으로부터 수신된 사용자(100)의 위치 정보를 추가할 수 있다.
로봇 청소기(1401)는, 맵 데이터 상의 사용자(100)의 위치 정보에 기초하여, 이동 경로를 결정할 수 있다. 예를 들면, 로봇 청소기(1401)는 사용자(100)가 위치하는 방에는 이동하지 않도록, 이동 경로를 결정할 수 있다.
또한, 일 실시 예에 의한 로봇 청소기(1401)는, 스마트폰(1402)으로부터 수신된 사용자(100)의 위치 정보에 기초하여, 사용자 인증을 수행할 수 있다. 일 실시 예에 의하면, 사용자(100)의 위치 정보를 행동 데이터로 수집하고, 행동 데이터를 로봇 청소기(1401)의 인증 모델에 기초하여 인증할 수 있다. 로봇 청소기(1401)는 인증 결과에 따라 사용자(100)의 위치 정보를 행동 데이터로서, 블록 체인(300)에 제출할 수 있다. 블록 체인(300)에 제출된 행동 데이터가 등록되면, 로봇 청소기(1401)에서 수집된 행동 데이터가 다른 전자 장치에서 이용되는 인증 모델을 갱신하는데 이용될 수 있다.
일 실시 예에 의한 스마트폰(1402)은 다양한 종류의 센서를 이용하여 사용자(100)의 생체 정보, 위치 정보, 이동 정보 등을 행동 데이터로서 수집할 수 있다. 예를 들면, 사용자(100)의 생체 정보는, 사용자(100)의 지문 정보, 홍채 정보, 얼굴 인식 정보, 맥박 정보, 심장박동 정보 등 사용자(100)의 생체에 관한 다양한 종류의 정보를 포함할 수 있다. 또한, 사용자(100)의 위치 정보는, 센서에 의해 감지될 수 있는 GPS 정보, 와이파이 및 블루투스 접속을 통해 판단될 수 있는 스마트폰(1402)의 위치 정보 등 사용자(100)의 위치에 관한 다양한 종류의 정보를 포함할 수 있다. 또한, 사용자(100)의 이동 정보는, 가속도 센서, 중력 센서 등에 의해 감지될 수 있는 사용자(100)의 이동에 관한 다양한 종류의 정보를 포함할 수 있다. 예를 들면, 사용자(100)의 이동 정보는, 사용자(100)가 스마트폰(1402)을 들고 스마트 TV(1404)에서 스마트 냉장고(1405) 쪽으로 이동하는 동작과 관련된 정보를 포함할 수 있다.
또한, 일 실시 예에 의한 스마트폰(1402)은, 센서에 의해 감지된 다양한 종류의 사용자(100)에 관한 정보에 기초하여, 사용자 인증을 수행할 수 있다. 예를 들면, 스마트폰(1402)은 생체 정보를 스마트폰(1402)의 인증 모델에 기초하여 인증할 수 있고, 인증 결과에 따라 사용자(100)의 생체 정보를 행동 데이터로서, 블록 체인(300)에 제출할 수 있다. 블록 체인(300)에 제출된 행동 데이터가 등록되면, 스마트폰(1402)에서 수집된 행동 데이터가 다른 전자 장치에서 이용되는 인증 모델을 갱신하는데 이용될 수 있다. 또한, 스마트폰(1402)은, 인증 결과에 따라, 보안이 요구되는 동작을 수행하고, 그 결과를 사용자(100)에게 제공할 수 있다.
일 실시 예에 의하면, 스마트폰(1402)은 사용자(100)로부터 인증을 위한 정보를 직접적으로 수신함으로써, 1차 인증을 수행할 수 있다. 예를 들면, 사용자(100)는 인증을 위한 정보로, 아이디 및 패스워드 정보를 입력하거나, 지문 인증을 위해 지문을 스마트폰(1402)에 입력하거나, 패턴 정보를 입력하거나, 얼굴 인증을 위해 얼굴 촬영을 수행하는 등 다양한 정보를 스마트폰(1402)에 입력할 수 있다. 1차 인증은, 사용자를 인증하기 위한 다양한 방법에 따라 사용자로부터 직접 수신된 정보에 기초하여 수행될 수 있다.
1차 인증이 성공하면, 스마트폰(1402)은, 일 세션을 설정하고 설정된 세션 동안에 2차 인증을 수행할 수 있다. 일 실시 예에 의하면 2차 인증은, 보안이 요구되는 동작이 수행되는 경우에, 지속적으로 수행될 수 있다. 예를 들면, 2차 인증은, 금융 어플리케이션이 동작되는 동안에, 1차 인증이 성공한 이후 지속적으로 수행될 수 있다.
2차 인증은, 사용자(100)로부터 인증을 위한 직접적인 정보를 입력 받는 과정 없이, 스마트폰(1402)에 구비된 적어도 하나의 센서에 의해 감지된 정보, 사용자(100)가 다양한 동작을 수행하기 위해 입력된 정보 등에 기초하여 수행될 수 있다. 예를 들면, 2차 인증은, 스마트폰(1402)이 사용자(100)가 계좌 이체를 수행하기 위해 입력된 정보를 행동 데이터로서 수집함으로써, 수행될 수 있다. 또한, 사용자(100)가 인증을 위해 직접 입력한 정보, 예를 들면, 1차 인증을 위해 입력된 정보도 2차 인증을 위한 행동 데이터로서 획득됨으로써, 2차 인증이 수행될 수 있다.
또한, 2차 인증은, 스마트폰(1402)이 사용자(100)가 계좌 이체를 수행하는 동안 사용자(100)의 신체 일부(ex. 홍채, 얼굴 등)가 촬영된 영상을 행동 데이터로서 수집함으로써, 수행될 수 있다.
또한, 2차 인증은, 스마트폰(1402)에서 사용자가 요청하는 동작들을 행동 데이터로서 수집함으로써, 수행될 수 있다. 예를 들면, 사용자가 매달 정해진 날짜에 금융 어플리케이션을 통하여 계좌 이체를 수행하는 경우, 스마트폰(1402)은 사용자의 계좌 이체 요청을 행동 데이터로 수집할 수 있고, 수집된 행동 데이터에 기초하여 2차 인증을 수행할 수 있다.
일 실시 에에 의한 리모콘(1403)은 사용자(100)에 의해 입력된 정보를 행동 데이터로서 수집할 수 있다. 예를 들면, 리모콘(1403)은 사용자(100)가 입력한 버튼 정보를 행동 데이터로서 수집할 수 있다. 또 다른 예로, 리모콘(1403)은, 리모콘(1403)의 중력 센서에 의해 감지된 정보를 사용자(100)의 행동 데이터로서 수집할 수 있다. 예를 들면, 리모콘(1403)은, 사용자(100)가 특정 시간에 리모콘(1403)을 집어 드는 경우를 감지하여, 감지된 정보를 사용자(100)의 행동 데이터로서 수집할 수 있다.
일 실시 예에 의한 리모콘(1403)은, 리모콘(1403)에서 수집된 행동 데이터에 기초하여, 사용자 인증을 수행할 수 있다. 리모콘(1403)은 행동 데이터를 리모콘(1403)의 인증 모델에 기초하여 인증할 수 있고, 인증 결과에 따라 행동 데이터를 블록 체인(300)에 제출할 수 있다. 블록 체인(300)에 제출된 행동 데이터가 등록되면, 리모콘(1403)에서 수집된 행동 데이터가 다른 전자 장치에서 이용되는 인증 모델을 갱신하는데 이용될 수 있다.
일 실시 예에 의한 스마트 TV(1404)은 사용자(100)에 의해 입력된 정보를 행동 데이터로서 수집할 수 있다. 예를 들면, 스마트 TV(1404)은 사용자(100)가 입력한 채널 정보를 행동 데이터로서 수집할 수 있다. 또 다른 예로, 스마트 TV(1404)은, 사용자(100)에 의한 컨텐츠 구매 요청에 관한 정보를 사용자(100)의 행동 데이터로서 수집할 수 있다.
일 실시 예에 의한 스마트 TV(1404)는 스마트 TV(1404)에서 수집된 행동 데이터에 기초하여, 사용자 인증을 수행할 수 있다. 스마트 TV(1404)는 행동 데이터를 스마트 TV(1404)의 인증 모델에 기초하여 인증할 수 있고, 인증 결과에 따라 행동 데이터를 블록 체인(300)에 제출할 수 있다. 또한, 스마트 TV(1404)는 인증 결과에 기초하여, 사용자(100)의 요청에 따른 컨텐츠 구매 동작을 수행할 수 있다. 블록 체인(300)에 제출된 행동 데이터가 등록되면, 스마트 TV(1404)에서 수집된 행동 데이터가 다른 전자 장치에서 이용되는 인증 모델을 갱신하는데 이용될 수 있다.
일 실시 예에 의한 스마트 냉장고(1405)는 사용자(100)에 의해 수행된 동작과 관련하여 수집된 정보를 행동 데이터로서 수집할 수 있다. 스마트 냉장고(1405)는 식품을 냉장 또는 냉동 저장하는 기능을 넘어, 네트워크를 통해 사용자(100)에게 다양한 정보 및 서비스를 제공할 수 있는 장치일 수 있다.
예를 들면, 스마트 냉장고(1405)는 현재 저장된 식품의 상태를 파악하고, 구매가 필요한 식품에 대해 온라인 구매를 진행할 수 있다. 스마트 냉장고(1405)에 저장된 맥주가 얼마 남지 않은 경우, 스마트 냉장고(1405)는 사용자(100)에게 맥주가 얼마 남지 않아 추가 구매를 진행할지 여부를 문의할 수 있다. 스마트 냉장고(1405)에 구비된 구매 시스템을 통하여, 사용자(100)의 구매 요청에 다라 맥주 추가 구매를 진행할 수 있다. 스마트 냉장고(1405)는 사용자(100)가 스마트 냉장고(1405)에 저장된 맥주를 가져가는 동작과 관련하여 수집된 정보, 사용자(100)의 맥주 구매 요청에 관한 정보, 맥주 구매를 위해 사용자(100)로부터 입력된 인증과 관련된 정보 등을 사용자(100)의 행동 데이터로서 수집할 수 있다.
일 실시 예에 의한 스마트 냉장고(1405)는 스마트 냉장고(1405)에서 수집된 행동 데이터에 기초하여, 사용자 인증을 수행할 수 있다. 스마트 냉장고(1405)는 행동 데이터를 스마트 냉장고(1405)의 인증 모델에 기초하여 인증할 수 있고, 인증 결과에 따라 행동 데이터를 블록 체인(300)에 제출할 수 있다. 또한, 스마트 냉장고(1405)는 인증 결과에 기초하여, 사용자(100)의 요청에 따른 맥주 구매 동작을 수행할 수 있다. 블록 체인(300)에 제출된 행동 데이터가 등록되면, 스마트 냉장고(1405)에서 수집된 행동 데이터가 다른 전자 장치에서 이용되는 인증 모델을 갱신하는데 이용될 수 있다.
도 15는 일 실시 예에 의한 복수 개의 전자 장치(1401, 1402, 1404, 1405)에서 사용자 인증을 수행하는 방법을 나타낸 순서도이다. 도 15의 복수 개의 전자 장치(1401, 1402, 1404, 1405)는 도 14의 복수 개의 전자 장치(1401, 1402, 1404, 1405)와 대응될 수 있다.
도 15를 참조하면, 단계 1501-1에서, 로봇 청소기(1401)는 청소 동작을 수행하면서, 집안 구조에 관한 맵을 생성할 수 있다. 로봇 청소기(1401)는 사용자(100)의 위치 정보를 생성된 맵에 추가하기 위하여, 단계 1501-2에서, 스마트폰(1402)에 사용자(100)의 위치 정보를 요청할 수 있다.
단계 1501-3에서, 스마트폰(1402)은 로봇 청소기(1401)로부터의 요청에 따라 사용자(100)에 현재 위치 정보를 요청하여, 단계 1501-4에서, 사용자(100)의 위치 정보를 제공받을 수 있다. 스마트폰(1402)은, 사용자(100)에 직접 문의하여 현재 위치 정보를 획득할 수 있으나, 이에 한하지 않고, 스마트폰(1402)에 구비된 센서에 의해 감지된 정보에 기초하여, 위치 정보를 획득할 수도 있다. 상술한 예에 한하지 않고, 스마트폰(1402)은 다양한 방법을 통해 사용자(100)의 현재 위치 정보를 획득할 수 있다.
단계 1501-5, 1501-6 및 1501-7에서, 스마트폰(1402)은 사용자(100)의 현재 위치 정보를 사용자(100)의 행동 데이터로서 로봇 청소기(1401), 스마트 TV(1404) 및 스마트 냉장고(1405)에 전달할 수 있다. 예를 들면, 스마트폰(1402)은, 일 실시 예에 따라 사용자(100)의 현재 위치 정보에 대해 사용자(100)의 행동 데이터로서 인증을 수행하고, 인증 결과에 따라 블록 체인(300)에 사용자(100)의 현재 위치 정보를 제출함으로써, 사용자(100)의 현재 위치 정보를 로봇 청소기(1401), 스마트 TV(1404) 및 스마트 냉장고(1405)에 전달할 수 있다. 로봇 청소기(1401), 스마트 TV(1404) 및 스마트 냉장고(1405)는, 블록 체인(300)에 제출된 사용자(100)의 현재 위치 정보가 검증을 통하여 등록됨으로써, 사용자(100)의 현재 위치 정보를 획득할 수 있다.
단계 1501-8, 1501-9, 1501-10 및 1501-11에서, 로봇 청소기(1401), 스마트폰(1402), 스마트 TV(1404) 및 스마트 냉장고(1405)는 블록 체인(300)에 등록된 사용자(100)의 현재 위치에 관한 정보를 사용자(100)의 행동 데이터로서 각 장치들의 분산 원장에 저장할 수 있다. 예를 들면, 사용자(100)의 현재 위치에 관한 정보는 블록 체인(300)에 등록된 거래 정보로서, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장될 수 있다. 또한, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장된 정보에 기초하여, 사용자 인증에 이용되는 각 장치들(1401, 1402, 1404, 1405)의 인증 모델이 갱신될 수 있다.
단계 1502-1에서, 사용자(100)는 스마트폰(1402)의 어시스턴트에 접속하기 위한 사용자 인증을 수행할 수 있다. 어시스턴트는, 사용자(100)가 대화형 인터페이스를 통해 스마트폰(1402)의 동작을 제어할 수 있는 사용자 인터페이스를 의미할 수 있다. 사용자(100)는 어시스턴트에 접속하기 위하여, 인증을 위한 정보로, 아이디 및 패스워드 정보를 입력하거나, 지문 인증을 위해 지문을 스마트폰(1402)에 입력하거나, 패턴 정보를 입력하거나, 얼굴 인증을 위해 얼굴 촬영을 수행하는 등 다양한 정보를 스마트폰(1402)에 입력할 수 있다.
단계 1502-2, 1502-3 및 1502-3에서, 스마트폰(1402)은 사용자(100)가 인증을 위해 입력한 정보를 사용자(100)의 행동 데이터로서 로봇 청소기(1401), 스마트 TV(1404) 및 스마트 냉장고(1405)에 전달할 수 있다. 예를 들면, 스마트폰(1402)은, 일 실시 예에 따라 사용자(100)가 인증을 위해 입력한 정보에 대해 사용자(100)의 행동 데이터로서 인증을 수행할 수 있다. 또한, 스마트폰(1402)은 인증 결과에 따라 블록 체인(300)에 사용자(100)가 인증을 위해 입력한 정보를 제출함으로써, 사용자(100)가 인증을 위해 입력한 정보를 로봇 청소기(1401), 스마트 TV(1404) 및 스마트 냉장고(1405)에 전달할 수 있다. 로봇 청소기(1401), 스마트 TV(1404) 및 스마트 냉장고(1405)는, 블록 체인(300)에 제출된 사용자(100)가 인증을 위해 입력한 정보가 검증을 통하여 등록됨으로써, 사용자(100)가 인증을 위해 입력한 정보를 획득할 수 있다.
단계 1502-5, 1502-6, 1502-7 및 1502-8에서, 로봇 청소기(1401), 스마트폰(1402), 스마트 TV(1404) 및 스마트 냉장고(1405)는 블록 체인(300)에 등록된 사용자(100)가 인증을 위해 입력한 정보를 사용자(100)의 행동 데이터로서 각 장치들의 분산 원장에 저장할 수 있다. 예를 들면, 사용자(100)가 인증을 위해 입력한 정보를 블록 체인(300)에 등록된 거래 정보로서, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장될 수 있다. 또한, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장된 정보에 기초하여, 사용자 인증에 이용되는 각 장치들(1401, 1402, 1404, 1405)의 인증 모델이 갱신될 수 있다.
단계 1503-1에서, 사용자(100)는 스마트 냉장고(1405)에서 구매 이력을 확인하기 위하여 사용자 인증을 수행할 수 있다. 사용자(100)는 구매 이력을 확인하기 위하여, 인증을 위한 정보로, 아이디 및 패스워드 정보를 입력하거나, 지문 인증을 위해 지문을 입력하거나, 패턴 정보를 입력하거나, 얼굴 인증을 위해 얼굴 촬영을 수행하는 등 다양한 정보를 스마트 냉장고(1405)의 사용자 인터페이스에 입력할 수 있다.
단계 1503-2, 1503-3 및 1503-3에서, 스마트 냉장고(1405)는 사용자(100)가 인증을 위해 입력한 정보를 사용자(100)의 행동 데이터로서 로봇 청소기(1401), 스마트폰(1402) 및 스마트 TV(1404)에 전달할 수 있다. 예를 들면, 스마트 냉장고(1405)는, 일 실시 예에 따라 사용자(100)가 인증을 위해 입력한 정보에 대해 사용자(100)의 행동 데이터로서 인증을 수행할 수 있다. 또한, 스마트 냉장고(1405)는 인증 결과에 따라 블록 체인(300)에 사용자(100)가 인증을 위해 입력한 정보를 제출함으로써, 사용자(100)가 인증을 위해 입력한 정보를 로봇 청소기(1401), 스마트폰(1402) 및 스마트 TV(1404)에 전달할 수 있다. 로봇 청소기(1401), 스마트폰(1402) 및 스마트 TV(1404)는, 블록 체인(300)에 제출된 사용자(100)가 인증을 위해 입력한 정보가 검증을 통하여 등록됨으로써, 사용자(100)가 인증을 위해 입력한 정보를 획득할 수 있다.
단계 1503-5, 1503-6, 1503-7 및 1503-8에서, 로봇 청소기(1401), 스마트폰(1402), 스마트 TV(1404) 및 스마트 냉장고(1405)는 블록 체인(300)에 등록된 사용자(100)가 인증을 위해 입력한 정보를 사용자(100)의 행동 데이터로서 각 장치들의 분산 원장에 저장할 수 있다. 예를 들면, 사용자(100)가 인증을 위해 입력한 정보를 블록 체인(300)에 등록된 거래 정보로서, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장될 수 있다. 또한, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장된 정보에 기초하여, 사용자 인증에 이용되는 각 장치들(1401, 1402, 1404, 1405)의 인증 모델이 갱신될 수 있다.
단계 1504-1에서, 사용자(100)는 스마트 TV(1404)에서 컨텐츠 구매를 요청하기 위하여 사용자 인증을 수행할 수 있다. 사용자(100)는 컨텐츠 구매를 요청하기 위하여, 인증을 위한 정보로, 아이디 및 패스워드 정보를 입력하거나, 지문 인증을 위해 지문을 입력하거나, 패턴 정보를 입력하거나, 얼굴 인증을 위해 얼굴 촬영을 수행하는 등 다양한 정보를 스마트 TV(1404)의 사용자 인터페이스에 입력할 수 있다.
단계 1504-2, 1504-3 및 1504-3에서, 스마트 TV(1404)는 사용자(100)가 인증을 위해 입력한 정보를 사용자(100)의 행동 데이터로서 로봇 청소기(1401), 스마트폰(1402) 및 스마트 냉장고(1405)에 전달할 수 있다. 예를 들면, 스마트 TV(1404)는, 일 실시 예에 따라 사용자(100)가 인증을 위해 입력한 정보에 대해 사용자(100)의 행동 데이터로서 인증을 수행할 수 있다. 또한, 스마트 TV(1404)는 인증 결과에 따라 블록 체인(300)에 사용자(100)가 인증을 위해 입력한 정보를 제출함으로써, 사용자(100)가 인증을 위해 입력한 정보를 로봇 청소기(1401), 스마트폰(1402) 및 스마트 냉장고(1405)에 전달할 수 있다. 로봇 청소기(1401), 스마트폰(1402) 및 스마트 냉장고(1405)는, 블록 체인(300)에 제출된 사용자(100)가 인증을 위해 입력한 정보가 검증을 통하여 등록됨으로써, 사용자(100)가 인증을 위해 입력한 정보를 획득할 수 있다.
단계 1504-5, 1504-6, 1504-7 및 1504-8에서, 로봇 청소기(1401), 스마트폰(1402), 스마트 TV(1404) 및 스마트 냉장고(1405)는 블록 체인(300)에 등록된 사용자(100)가 인증을 위해 입력한 정보를 사용자(100)의 행동 데이터로서 각 장치들의 분산 원장에 저장할 수 있다. 예를 들면, 사용자(100)가 인증을 위해 입력한 정보를 블록 체인(300)에 등록된 거래 정보로서, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장될 수 있다. 또한, 각 장치들(1401, 1402, 1404, 1405)의 분산 원장에 저장된 정보에 기초하여, 사용자 인증에 이용되는 각 장치들(1401, 1402, 1404, 1405)의 인증 모델이 갱신될 수 있다.
도 16은 일 실시 예에 의한 사용자 인증을 수행하는 일 예를 나타낸 도면이다.
도 16을 참조하면, 사용자(100)는, 집(1601)에서 공원(1603)으로, 공원(1603)에서 회사(1605)로, 회사(1605)에서 상점(1607)으로, 상점(1608)에서 집(1601)으로, 이동할 수 있다. 사용자(100)는 각각의 이동 루트에서 이동을 위해, 자전거 렌탈 요금을 결제(1602)하거나, 버스 티켓 요금을 결제(1604)하거나, 택시 요금을 결제(1606, 1608)할 수 있다.
일 실시 예에 의하면, 사용자(100)의 이동 루트와 자전거, 버스, 택시 등에 대한 요금 결제(1602, 1604, 1606, 1608)에 대한 요청은, 사용자(100)의 행동 데이터로서 전자 장치(1000)에서 수집될 수 있다. 또한, 전자 장치(1000)는 일 실시 예에 따라 수집된 행동 데이터를 인증 모델에 기초하여 인증하고, 인증 결과에 따라 보안이 요구되는 동작을 수행할 수 있다. 예를 들면, 전자 장치(1000)는 인증 결과에 따라, 사용자(100)의 자전거, 버스, 택시 등에 대한 요금 결제 동작(1602, 1604, 1606, 1608)을 수행할 수 있다.
또한, 일 실시 예에 의하면, 전자 장치(1000)는 사용자(100)가 인증을 위한 정보를 직접적으로 입력하는 과정 없이, 사용자(100)로부터 수집된 행동 데이터에 대한 인증을 수행하고, 인증 결과에 따라 동작을 수행할 수 있다. 따라서, 일 실시 예에 의하면, 사용자(100)가 인증을 위한 정보를 입력하는 과정 없이도 보안 수준이 낮아지지 않은 상태에서, 전자 장치(1000)에 의한 동작이 수행될 수 있다.
예를 들어, 회사(1605)에서 상점(1607)으로 이동하는 루트에서 사용자(100)가 택시비를 결제(1606)하는 행동 데이터에 대한 신뢰도 값이 기준값 이하인 경우, 전자 장치(1000)는 상점(1607)에서 수행된 사용자(100)의 결제 요청에 대하여 추가 정보를 요청할 수 있다. 일 예로, 사용자(100)가 택시비 결제(1606) 시 기존에 이용하던 카드 결제 대신 모바일 결제를 사용하는 등 기존 패턴과 다른 방식으로 결제가 수행됨에 따라 택시비 결제(1606)의 행동 데이터에 대한 신뢰도 값이 기준값 이하로 결정될 수 있다. 따라서, 전자 장치(1000)는, 신뢰도 값이 낮음에 따라 사용자(100)의 상점(1607)에서의 결제 요청에 대응하여 사용자 인증을 위한 추가 정보를 요청할 수 있다. 전자 장치(1000)는 추가 정보에 대한 인증을 통해 사용자(100)가 요청한 결제 동작을 수행할 수 있다.
또한, 인증 결과에 따라 인증된 행동 데이터는, 블록 체인(300)에 제출될 수 있고, 블록 체인(300)에 제출된 행동 데이터가 블록 체인(300)에 새롭게 등록되면, 전자 장치(1000)는, 블록 체인(300)에 새로 등록된 행동 데이터에 기초하여, 행동 데이터를 인증하기 위한 인증 모델을 갱신할 수 있다. 또한, 전자 장치(1000)는, 블록 체인(300)에 새로 등록된 행동 데이터에 관한 정보에 기초하여, 전자 장치(1000)의 분산 원장을 갱신할 수 있다.
또한, 일 실시 예에 의하면, 집(1601), 공원(1603), 회사(1605) 및 상점(1607) 등 다양한 위치에서 사용자(100)에 의해 수행된 동작들은 행동 데이터로서 수집될 수 있고, 수집된 행동 데이터에 기초하여, 사용자에 대한 인증이 반복적으로 수행될 수 있다. 상기 행동 데이터는, 사용자(100)의 행동에 관한 정보를 수집할 수 있는 다양한 종류의 전자 장치(1000)에 의해 수집될 수 있다. 예를 들면, 사용자(100)가 소지한 전자 장치(1000) 및 집(1601), 공원(1603), 회사(1605) 및 상점(1607) 등의 다양한 장소에 설치되어, 사용자(100)의 정보를 수집할 수 있는 다양한 종류의 전자 장치 또는 전자 시스템(ex. 가전제품(집), 출입 시스템(회사), 물품 결제 시스템(상점))에 의해 행동 데이터가 수집될 수 있다.
일 실시 예에 의하면, 다양한 방법으로 수집된 사용자(100)의 행동 데이터에 기초하여, 사용자(100)에 대한 인증이 지속적으로 수행될 수 있으며, 그 결과에 기초하여, 집(1601), 공원(1603), 회사(1605) 및 상점(1607) 등에 설치된 전자 장치 또는 전자 시스템은 사용자(100)가 요청하는 동작(ex. 일부 구역에 대한 출입 허가)을 수행할지 여부를 결정할 수 있다.
도 17은 일부 실시예에 따른 프로세서(1300)의 블록도이다.
도 17을 참조하면, 일부 실시예에 따른 프로세서(1300)는 데이터 학습부(1310) 및 데이터 인식부(1320)를 포함할 수 있다.
데이터 학습부(1310)는 상황 판단을 위한 기준을 학습할 수 있다. 데이터 학습부(1310)는 소정의 상황을 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 데이터 학습부(1310)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 상황 판단을 위한 기준을 학습할 수 있다.
일 실시 예에 의하면, 데이터 학습부(1310)는 사용자(100)로부터 수집된 행동 데이터를 학습함으로써, 행동 데이터를 인증하기 위한 인증 모델이 생성되거나 갱신될 수 있다.
데이터 인식부(1320)는 데이터에 기초한 상황을 판단할 수 있다. 데이터 인식부(1320)는 학습된 데이터 인식 모델을 이용하여, 소정의 데이터로부터 상황을 인식할 수 있다. 데이터 인식부(1320)는 학습에 의한 기 설정된 기준에 따라 소정의 데이터를 획득하고, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델을 이용함으로써, 소정의 데이터에 기초한 소정의 상황을 판단할 수 있다. 또한, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델에 의해 출력된 결과 값은, 데이터 인식 모델을 갱신하는데 이용될 수 있다.
일 실시 예에 의하면, 데이터 인식부(1320)는 데이터 학습부(1310)에 의해 학습된 인증 모델을 이용하여, 사용자(100)로부터 수집된 행동 데이터를 인증함으로써, 사용자(100)가 진정한 사용자인지 여부를 판단할 수 있다.
데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
이 경우, 데이터 학습부(1310) 및 데이터 인식부(1320)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(1310) 및 데이터 인식부(1320)는 유선 또는 무선으로 통하여, 데이터 학습부(1310)가 구축한 모델 정보를 데이터 인식부(1320)로 제공할 수도 있고, 데이터 인식부(1320)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(1310)로 제공될 수도 있다.
한편, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 18은 일부 실시예에 따른 데이터 학습부(1310)의 블록도이다.
도 18을 참조하면, 일부 실시예에 따른 데이터 학습부(1310)는 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5)를 포함할 수 있다.
데이터 획득부(1310-1)는 상황 판단에 필요한 데이터를 획득할 수 있다. 데이터 획득부(1310-1)는 상황 판단을 위한 학습을 위하여 필요한 데이터를 획득할 수 있다.
데이터 획득부(1310-1)는 일 실시 예에 의한 사용자(100)로부터 수집된 다양한 정보를 행동 데이터로서 획득할 수 있다. 일 실시 예에 따라, 인증 모델의 학습에 이용되는 행동 데이터는, 전자 장치(1000)가 참여하는 블록 체인(300)에 거래 정보로서 등록된 데이터일 수 있다. 따라서, 데이터 획득부(1310-1)는, 블록 체인(300)을 통해 인증 모델을 학습시키기 위한 데이터를 획득할 수 있다.
전처리부(1310-2)는 상황 판단을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1310-2)는 후술할 모델 학습부(1310-4)가 상황 판단을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
예를 들어, 전처리부(1310-2)는, 블록 체인(300)을 통해 획득된 사용자(100)의 행동 데이터를 인증 모델 학습을 위한 포맷으로 가공할 수 있다.
학습 데이터 선택부(1310-3)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(1310-4)에 제공될 수 있다. 학습 데이터 선택부(1310-3)는 상황 판단을 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(1310-3)는 후술할 모델 학습부(1310-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
모델 학습부(1310-4)는 학습 데이터에 기초하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(1310-4)는 상황 판단을 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 기준을 학습할 수도 있다.
일 실시 예에 의하면, 모델 학습부(1310-4)는 사용자(100)로부터 획득된 다양한 종류의 행동 데이터에 기초하여, 사용자(100)가 진정한 사용자인지 여부를 판단할 수 있는 인증 모델을 생성할 수 있다.
또한, 모델 학습부(1310-4)는 상황 판단에 이용되는 데이터 인식 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, 데이터 인식 모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 인식 모델은 기본 학습 데이터(예를 들어, 샘플 이미지 등)을 입력 받아 미리 구축된 모델일 수 있다.
데이터 인식 모델은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 인식 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 인식 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(1310-4)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(1310-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 인식 모델을 학습시킬 수 있다.
또한, 모델 학습부(1310-4)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning) 을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1310-4)는, 예를 들어, 별다른 지도없이 상황 판단을 위해 필요한 데이터의 종류를 스스로 학습함으로써, 상황 판단을 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1310-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.
또한, 데이터 인식 모델이 학습되면, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 데이터 인식부(1320)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 후술할 데이터 인식부(1320)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 인식 모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부(1310-5)는 데이터 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1310-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 인식 모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 모델 평가부(1310-5)는 평가 데이터에 대한 학습된 데이터 인식 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 인식 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(1310-5)는 학습된 데이터 인식 모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 데이터 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(1310-5)는 각각의 학습된 동영상 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 인식 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1310-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 인식 모델로서 결정할 수 있다.
한편, 데이터 학습부(1310) 내의 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 19는 일부 실시예에 따른 데이터 인식부(1320)의 블록도이다.
도 19를 참조하면, 일부 실시예에 따른 데이터 인식부(1320)는 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5)를 포함할 수 있다.
데이터 획득부(1320-1)는 상황 판단에 필요한 데이터를 획득할 수 있으며, 전처리부(1320-2)는 상황 판단을 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1320-2)는 후술할 인식 결과 제공부(1320-4)가 상황 판단을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
인식 데이터 선택부(1320-3)는 전처리된 데이터 중에서 상황 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(1320-4)에게 제공될 수 있다. 인식 데이터 선택부(1320-3)는 상황 판단을 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(1320-3)는 후술할 모델 학습부(1310-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
인식 결과 제공부(1320-4)는 선택된 데이터를 데이터 인식 모델에 적용하여 상황을 판단할 수 있다. 인식 결과 제공부(1320-4)는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 입력 값으로 이용함으로써, 선택된 데이터를 데이터 인식 모델에 적용할 수 있다. 또한, 인식 결과는 데이터 인식 모델에 의해 결정될 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는 인증 모델을 이용하여 사용자(100)로부터 수집된 행동 데이터가 진정한 사용자에 의한 행동 데이터인지 여부를 판단할 수 있다.
모델 갱신부(1320-5)는 인식 결과 제공부(1320-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 데이터 인식 모델이 갱신되도록 할 수 있다. 예를 들어, 모델 갱신부(1320-5)는 인식 결과 제공부(1320-4)에 의해 제공되는 인식 결과를 모델 학습부(1310-4)에게 제공함으로써, 모델 학습부(1310-4)가 데이터 인식 모델을 갱신하도록 할 수 있다.
일 실시 예에 의한, 모델 갱신부(1320-5)는, 상술한 예에 한하지 않고, 전자 장치(1000)가 참여하는 블록 체인(300)에 새로 등록된 행동 데이터에 기초하여 인증 모델을 갱신할 수도 있다.
한편, 데이터 인식부(1320) 내의 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 20의 일부 실시예에 따른 전자 장치(1000) 및 서버(2000)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 20의 전자 장치(1000)는 도 1에 도시된 전자 장치(1000), 도 2에 도시된 복수 개의 전자 장치(210, 220, 230, 400), 도 3에 도시된 복수 개의 전자 장치(210, 220, 230) 중 적어도 하나와 대응될 수 있다.
서버(2000)는 네트워크(미도시)를 통해 전자 장치(1000)와 통신하며, 적어도 하나의 컴퓨터 장치로 구현될 수 있다. 서버(2000)는 클라우드 형태로 분산될 수 있으며, 명령, 코드, 파일, 컨텐츠 등을 제공할 수 있다.
일 실시 예에 의한 서버(2000)는 전자 장치(1000)가 사용자의 행동 데이터에 기초하여 사용자에 대하여 인증을 수행하는데 필요한 데이터를 전자 장치(1000)에 제공할 수 있다. 예를 들면, 서버(2000)는 사용자에 대하여 인증을 수행하는데 필요한 인증 모델을 전자 장치(1000)에 제공할 수 있다.
일 실시 예에 의한 서버(2000)는 전자 장치(1000)가 실행할 수 있는 동작들을 대신 수행할 수 있다. 예컨대, 서버(2000)는, 전자 장치(1000) 대신 전자 장치(1000)에서 수집된 행동 데이터에 기초하여 사용자에 대한 인증을 수행할 수 있다.
상술된 예에 한하지 않고 서버(2000)는 전자 장치(1000)가 사용자에 대한 인증을 수행하기 위한 다양한 동작을 수행하고, 그 결과를 전자 장치(1000)로 송신할 수 있다.
도 20을 참조하면, 서버(2000)는 상황 판단을 위한 기준을 학습할 수 있으며, 전자 장치(1000)는 서버(2000)에 의한 학습 결과에 기초하여 상황을 판단할 수 있다.
이 경우, 서버(2000)의 모델 학습부(2340)는 도 13에 도시된 데이터 학습부(1310)의 기능을 수행할 수 있다. 서버(2000)의 모델 학습부(2340)는 소정의 상황을 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 모델 학습부(2340)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 상황 판단을 위한 기준을 학습할 수 있다.
또한, 전자 장치(1000)의 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(2000)에 의해 생성된 데이터 인식 모델에 적용하여 상황을 판단할 수 있다. 예를 들어, 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(2000)에게 전송하고, 서버(2000)가 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 인식 모델에 적용하여 상황을 판단할 것을 요청할 수 있다. 또한, 인식 결과 제공부(1320-4)는 서버(2000)에 의해 판단된 상황에 관한 정보를 서버(2000)로부터 수신할 수 있다.
예를 들면, 전자 장치(1000)는, 사용자로부터 수집된 행동 데이터를 서버(2000)로 전송하고, 서버(2000)는, 인증 모델을 이용하여, 행동 데이터를 인증할 수 있다. 서버(2000)는, 행동 데이터에 대하여 수행된 인증 결과를 전자 장치(1000)로 전송할 수 있다.
또는, 전자 장치(1000)의 인식 결과 제공부(1320-4)는 서버(2000)에 의해 생성된 인증 모델을 서버(2000)로부터 수신하고, 수신된 인증 모델을 이용하여 상황을 판단할 수 있다. 이 경우, 전자 장치(1000)의 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(2000)로부터 수신된 인증 모델에 적용하여 상황을 판단할 수 있다.
예를 들면, 전자 장치(1000)는 사용자로부터 수집된 행동 데이터를 서버(2000)로부터 수신된 인증 모델에 적용하여, 행동 데이터에 대한 인증을 수행하고, 인증 결과에 따라 수행된 동작의 결과를 사용자에게 제공할 수 있다.
일 실시 예에 의하면, 적어도 하나의 전자 장치에서 수집된 사용자의 행동 데이터에 기초하여, 신뢰도 및 보안성이 높은 사용자 인증이 수행될 수 있다.
일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 전자 장치에서, 사용자에 대한 인증(authenticate)을 수행하는 방법에 있어서,
    인증 모델을 획득하는 단계;
    상기 사용자에 대한 행동 데이터(behavior data)를 획득하는 단계;
    상기 인증 모델을 이용하여, 상기 획득된 행동 데이터에 대해 인증을 수행하는 단계; 및
    상기 인증이 수행된 결과에 기초하여, 상기 인증된 행동 데이터를 블록 체인에 제출(submit)하는 단계를 포함하고,
    상기 인증 모델은, 상기 블록 체인에 등록(enroll)된 상기 사용자에 대한 적어도 하나의 행동 데이터에 기초하여 학습(train)되는 모델인, 방법.
  2. 제1항에 있어서, 상기 블록 체인에 제출된 행동 데이터는,
    상기 블록 체인에 참여하는 노드들 간에, 상기 블록 체인에 제출된 행동 데이터에 대한 합의(consensus)가 도출(achieve)됨에 따라, 상기 블록 체인에 새로운 블록으로 추가됨으로써, 상기 블록 체인에 등록되는, 방법.
  3. 제1항에 있어서,
    상기 블록 체인에 새로운 블록이 추가되면, 상기 새로운 블록에 포함된 행동 데이터에 기초하여, 상기 인증 모델을 갱신하는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서, 상기 인증을 수행하는 단계는
    상기 인증 모델을 이용하여, 상기 행동 데이터에 대한 신뢰도 값(confident value)을 획득하는 단계; 및
    상기 신뢰도 값에 기초하여, 상기 인증을 수행하는 단계를 포함하는, 방법.
  5. 제4항에 있어서, 상기 신뢰도 값이 기준값 이상인 경우, 상기 행동 데이터가 상기 블록 체인에 제출되는, 방법.
  6. 제4항에 있어서, 상기 인증을 수행하는 단계는
    상기 신뢰도 값이 기준값 이하인 경우, 상기 사용자에 대한 다른 행동 데이터를 추가로 획득하는 단계;
    상기 인증 모델을 이용하여, 상기 다른 행동 데이터에 대한 신뢰도 값을 획득하는 단계; 및
    상기 다른 행동 데이터에 대한 신뢰도 값에 기초하여, 상기 인증을 수행하는 단계를 포함하는, 방법.
  7. 제6항에 있어서, 상기 다른 행동 데이터에 대한 신뢰도 값이 기준값 이상인 경우, 상기 다른 행동 데이터가 상기 블록 체인에 제출되는, 방법.
  8. 사용자에 대한 인증을 수행하는 전자 장치에 있어서,
    인증 모델을 저장하는 메모리;
    상기 사용자에 대한 행동 데이터를 획득하고, 상기 인증 모델을 이용하여, 상기 획득된 행동 데이터에 대해 인증을 수행하는 적어도 하나의 프로세서; 및
    상기 인증이 수행된 결과에 기초하여, 상기 인증된 행동 데이터를 블록 체인에 제출하는 통신부를 포함하고,
    상기 인증 모델은, 상기 블록 체인에 등록된 상기 사용자에 대한 적어도 하나의 행동 데이터에 기초하여 학습되는 모델인, 전자 장치.
  9. 제8항에 있어서, 상기 블록 체인에 제출된 행동 데이터는,
    상기 블록 체인에 참여하는 노드들 간에, 상기 블록 체인에 제출된 행동 데이터에 대한 합의(consensus)가 도출(achieve)됨에 따라, 상기 블록 체인에 새로운 블록으로 추가됨으로써, 상기 블록 체인에 등록되는, 전자 장치.
  10. 제8항에 있어서, 상기 적어도 하나의 프로세서는
    상기 블록 체인에 새로운 블록이 추가되면, 상기 새로운 블록에 포함된 행동 데이터에 기초하여, 상기 인증 모델을 갱신하는, 전자 장치.
  11. 제8항에 있어서, 상기 적어도 하나의 프로세서는
    상기 인증 모델을 이용하여, 상기 행동 데이터에 대한 신뢰도 값을 획득하고, 상기 신뢰도 값에 기초하여, 상기 인증을 수행하는, 전자 장치.
  12. 제11항에 있어서, 상기 신뢰도 값이 기준값 이상인 경우, 상기 행동 데이터가 상기 블록 체인에 제출되는, 전자 장치.
  13. 제11항에 있어서, 상기 적어도 하나의 프로세서는
    상기 신뢰도 값이 기준값 이하인 경우, 상기 사용자에 대한 다른 행동 데이터를 추가로 획득하고, 상기 인증 모델을 이용하여, 상기 다른 행동 데이터에 대한 신뢰도 값을 획득하고, 상기 다른 행동 데이터에 대한 신뢰도 값에 기초하여, 상기 인증을 수행하는, 전자 장치.
  14. 제13항에 있어서, 상기 다른 행동 데이터에 대한 신뢰도 값이 기준값 이상인 경우, 상기 다른 행동 데이터가 상기 블록 체인에 제출되는, 전자 장치.
  15. 인증 모델을 획득하는 동작;
    사용자에 대한 행동 데이터를 획득하는 동작;
    상기 인증 모델을 이용하여, 상기 획득된 행동 데이터에 대해 인증을 수행하는 동작; 및
    상기 인증이 수행된 결과에 기초하여, 상기 인증된 행동 데이터를 블록 체인에 제출하는 동작을 수행하도록 하는 프로그램이 저장된 기록매체를 포함하고,
    상기 인증 모델은, 상기 블록 체인에 등록된 상기 사용자에 대한 적어도 하나의 행동 데이터에 기초하여 학습되는 모델인, 컴퓨터 프로그램 제품.
PCT/KR2019/003025 2019-01-18 2019-03-15 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법 WO2020149454A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19910064.5A EP3896587A4 (en) 2019-01-18 2019-03-15 ELECTRONIC DEVICE FOR PERFORMING USER AUTHENTICATION AND RELATED OPERATING METHOD
US17/378,385 US20210342427A1 (en) 2019-01-18 2021-07-16 Electronic device for performing user authentication and operation method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190006925A KR20200089971A (ko) 2019-01-18 2019-01-18 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법
KR10-2019-0006925 2019-01-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/378,385 Continuation US20210342427A1 (en) 2019-01-18 2021-07-16 Electronic device for performing user authentication and operation method therefor

Publications (1)

Publication Number Publication Date
WO2020149454A1 true WO2020149454A1 (ko) 2020-07-23

Family

ID=71614540

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/003025 WO2020149454A1 (ko) 2019-01-18 2019-03-15 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법

Country Status (4)

Country Link
US (1) US20210342427A1 (ko)
EP (1) EP3896587A4 (ko)
KR (1) KR20200089971A (ko)
WO (1) WO2020149454A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210134469A1 (en) * 2019-10-30 2021-05-06 Samsung Electronics Co., Ltd. Electronic device for providing activity information about user and method of operating the same
EP4020341A1 (de) * 2020-12-23 2022-06-29 Red Bull GmbH System für die echtheitsprüfung von produkten

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288347B2 (en) * 2019-03-07 2022-03-29 Paypal, Inc. Login from an alternate electronic device
KR102424873B1 (ko) * 2020-08-14 2022-07-22 세종대학교산학협력단 비밀번호 및 행동 패턴을 이용한 멀티 팩터 인증 시스템 및 방법
US20220027444A1 (en) * 2020-12-17 2022-01-27 Signzy Technologies Private Limited Method and system for automated user authentication based on video and audio feed in real-time
US20230065546A1 (en) * 2021-08-31 2023-03-02 Advanced Micro Devices, Inc. Distributing Model Data in Memories in Nodes in an Electronic Device
KR102504100B1 (ko) * 2021-09-02 2023-02-24 김종덕 Qr 코드를 이용한 통합 결제 시스템 및 이를 위한 장치
KR102491687B1 (ko) * 2021-09-02 2023-01-20 김종덕 결제자 행동 기반의 결제 검증 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102402705B1 (ko) * 2021-09-24 2022-05-30 (주)시큐레이어 망분리 환경에서의 모바일 원격 관제를 위한, 제로 트러스트 모델 기반 멀티팩터 보안인증 방법 및 서버
KR102576280B1 (ko) * 2021-10-26 2023-09-07 이건우 사용자 행동 패턴에 기반한 스마트 기기 잠금 해제 방법
US20230138176A1 (en) * 2021-11-01 2023-05-04 At&T Intellectual Property I, L.P. User authentication using a mobile device
CN114677563A (zh) * 2022-04-08 2022-06-28 李燕秋 基于区块链的神经网络在线学习方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011059837A (ja) * 2009-09-08 2011-03-24 Hitachi Ltd 行動履歴情報活用個人認証システム及び方法
JP2013020304A (ja) * 2011-07-07 2013-01-31 Ntt Docomo Inc 移動情報端末、行動特徴学習方法、行動特徴認証方法、プログラム
US9185095B1 (en) * 2012-03-20 2015-11-10 United Services Automobile Association (Usaa) Behavioral profiling method and system to authenticate a user
US20160261690A1 (en) * 2015-03-02 2016-09-08 Dell Products L.P. Computing device configuration and management using a secure decentralized transaction ledger
US20190007424A1 (en) * 2017-05-15 2019-01-03 Forcepoint Llc User Behavior Profile in a Blockchain

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9166962B2 (en) * 2012-11-14 2015-10-20 Blackberry Limited Mobile communications device providing heuristic security authentication features and related methods
US10721274B1 (en) * 2016-12-12 2020-07-21 United Services Automobile Association (Usaa) Operational monitoring of network devices
DE102016225644A1 (de) * 2016-12-20 2018-06-21 Bundesdruckerei Gmbh Verfahren und System zur verhaltensbasierten Authentifizierung eines Nutzers
US11042934B2 (en) * 2017-11-13 2021-06-22 Bank Of America Corporation Crypto-machine learning enabled blockchain based profile pricer
CN108241970B (zh) * 2018-01-09 2021-05-18 重庆金窝窝网络科技有限公司 基于区块链的挖矿方法、装置及计算机可读存储介质
US20190311352A1 (en) * 2018-04-10 2019-10-10 Aeneas Technology Limited Method and system for conducting transactions on cryptocurrencies with underlying value supported by intellectual properties and intangible assets
US11544782B2 (en) * 2018-05-06 2023-01-03 Strong Force TX Portfolio 2018, LLC System and method of a smart contract and distributed ledger platform with blockchain custody service
US10970411B2 (en) * 2018-09-12 2021-04-06 International Business Machines Corporation Database preference sharing and management
US10997251B2 (en) * 2018-10-15 2021-05-04 Bao Tran Smart device
US11526610B2 (en) * 2019-05-21 2022-12-13 Veracode, Inc. Peer-to-peer network for blockchain security

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011059837A (ja) * 2009-09-08 2011-03-24 Hitachi Ltd 行動履歴情報活用個人認証システム及び方法
JP2013020304A (ja) * 2011-07-07 2013-01-31 Ntt Docomo Inc 移動情報端末、行動特徴学習方法、行動特徴認証方法、プログラム
US9185095B1 (en) * 2012-03-20 2015-11-10 United Services Automobile Association (Usaa) Behavioral profiling method and system to authenticate a user
US20160261690A1 (en) * 2015-03-02 2016-09-08 Dell Products L.P. Computing device configuration and management using a secure decentralized transaction ledger
US20190007424A1 (en) * 2017-05-15 2019-01-03 Forcepoint Llc User Behavior Profile in a Blockchain

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3896587A4 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210134469A1 (en) * 2019-10-30 2021-05-06 Samsung Electronics Co., Ltd. Electronic device for providing activity information about user and method of operating the same
US11636178B2 (en) * 2019-10-30 2023-04-25 Samsung Electronics Co., Ltd. Electronic device for providing activity information about user and method of operating the same
EP4020341A1 (de) * 2020-12-23 2022-06-29 Red Bull GmbH System für die echtheitsprüfung von produkten
WO2022136639A1 (de) * 2020-12-23 2022-06-30 Red Bull Gmbh System für die echtheitsprüfung von produkten

Also Published As

Publication number Publication date
KR20200089971A (ko) 2020-07-28
EP3896587A1 (en) 2021-10-20
US20210342427A1 (en) 2021-11-04
EP3896587A4 (en) 2022-02-16

Similar Documents

Publication Publication Date Title
WO2020149454A1 (ko) 사용자에 대한 인증을 수행하는 전자 장치 및 그 동작 방법
WO2019156499A1 (en) Electronic device and method of performing function of electronic device
WO2019031707A1 (en) MOBILE TERMINAL AND METHOD FOR CONTROLLING A MOBILE TERMINAL USING MACHINE APPRENTICESHIP
WO2018182217A1 (en) Method for adaptive authentication and electronic device supporting the same
WO2018143630A1 (ko) 상품을 추천하는 디바이스 및 방법
WO2019216499A1 (ko) 전자 장치 및 그 제어 방법
WO2018128362A1 (en) Electronic apparatus and method of operating the same
WO2020032311A1 (ko) 이동 단말기
WO2020158988A1 (ko) 블록체인으로 관리되는 데이터의 거래 방법 및 그 플랫폼
WO2019182409A1 (en) Electronic device and authentication method thereof
WO2018093229A1 (en) Method and device applying artificial intelligence to send money by using voice input
WO2019182265A1 (ko) 인공 지능 기기 및 그의 동작 방법
WO2020017706A1 (en) Electronic device and method for controlling the same
EP3545436A1 (en) Electronic apparatus and method of operating the same
EP3533015A1 (en) Method and device applying artificial intelligence to send money by using voice input
WO2019022472A1 (en) ELECTRONIC DEVICE AND ITS CONTROL METHOD
WO2019146942A1 (ko) 전자 장치 및 그의 제어방법
WO2020017902A1 (en) Method and apparatus for performing user authentication
WO2021040325A1 (en) Electronic device providing blockchain account information and method of operating the same
WO2021118173A1 (en) Electronic device and controlling method of electronic device
WO2021006404A1 (ko) 인공지능 서버
WO2019124963A1 (ko) 음성 인식 장치 및 방법
WO2019135631A1 (ko) 데이터를 난독화 및 복호화 하는 전자 장치 및 그의 제어 방법
WO2019164290A1 (en) Method of biometric authenticating using plurality of camera with different field of view and electronic apparatus thereof
WO2021132922A1 (en) Computing device and operation method thereof

Legal Events

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

Ref document number: 19910064

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019910064

Country of ref document: EP

Effective date: 20210712