WO2021010766A1 - 블록 체인을 이용한 전자 인증 장치 및 그 방법 - Google Patents

블록 체인을 이용한 전자 인증 장치 및 그 방법 Download PDF

Info

Publication number
WO2021010766A1
WO2021010766A1 PCT/KR2020/009372 KR2020009372W WO2021010766A1 WO 2021010766 A1 WO2021010766 A1 WO 2021010766A1 KR 2020009372 W KR2020009372 W KR 2020009372W WO 2021010766 A1 WO2021010766 A1 WO 2021010766A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction
electronic device
authentication
data
information
Prior art date
Application number
PCT/KR2020/009372
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 삼성전자 주식회사
Publication of WO2021010766A1 publication Critical patent/WO2021010766A1/ko
Priority to US17/577,897 priority Critical patent/US20220141036A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Definitions

  • the embodiments disclosed in this document relate to a technology for an electronic device to process authentication.
  • Digital signature is a technology for tampering with electronic documents or digital data and for identifying the subject that generated the signature, and is used in fields such as electronic document exchange or electronic commerce based on information and communication networks.
  • the electronic device needs to authenticate the user.
  • the PKI authentication method does not use client software, such as USB token and USIM, and the method of using client software includes a method of storing and using a public certificate.
  • the electronic device may process transactions such as remittance or payment or sign an electronic document using a public certificate.
  • blocks are created through collaboration between all users participating in the network, and all participants have the same block by verifying and approving the generated block, and all participants verify and approve the generated block.
  • Blockchain technology that holds the same block and prevents data forgery by some users is being applied in various fields.
  • Blockchain is a peer to peer (P2P) distributed ledger technology.
  • the distributed ledger is protected by encryption technology, and blocks (information) can be created only through agreement between participating nodes.
  • Blockchain is a technology that maintains security and integrity in a decentralized network environment without a centralized server.
  • various digital currencies such as Bitcoin, Ethereum, Ripple, and various altcoins are emerging based on the blockchain.
  • blockchain can be used for public authentication systems or copyright protection systems.
  • As an example of a method for authenticating a user based on a blockchain there is a method of issuing a key pair issued by a private blockchain network and authenticating a user using a key pair.
  • An electronic device may include a communication device for transmitting or receiving a signal, a memory, and a processor connected to the communication device and the memory.
  • the memory when executed, the processor generates a key pair including a public key and a private key, receives authentication information from an authentication server using the communication device, and stores the authentication information based on the private key.
  • the communication to generate signature data by electronically signing, to generate transaction data including the signature data, to transmit the transaction data to a blockchain network, and to transmit transaction identification information corresponding to the transaction data to the authentication server. You can store instructions that let you control the device.
  • a method includes an operation of generating a key pair including a user's public key and a private key, receiving authentication information from an authentication server, and based on the private key.
  • An operation of electronically signing the authentication information to generate signature data an operation of generating transaction data including the signature data, an operation of transmitting the transaction data to a blockchain network, and transaction identification information corresponding to the transaction data It may include an operation of transmitting to the authentication server.
  • the storage medium includes an operation of generating a key pair including a public key and a private key of a user, an operation of receiving authentication information from an authentication server, and the private key.
  • Digitally signing the authentication information to generate signature data generating transaction data including the signature data, transmitting the transaction data to a blockchain network, and identifying a transaction corresponding to the transaction data It may store a program that performs an operation of transmitting information to the authentication server.
  • a blockchain network can match a user and a key pair by replacing the issuing subject of a public certificate. Accordingly, according to the level of user information held by the organization that matches the key pair, the private key held by the user can serve as a certificate that can be used universally in various places.
  • an institution that matches the user information and the key pair can track personal digital currency usage.
  • FIG. 1 illustrates an electronic device in a network environment according to various embodiments of the present disclosure.
  • FIG. 2 illustrates a configuration of an electronic authentication system including an electronic device and an authentication server, according to an exemplary embodiment.
  • FIG. 3 is a block diagram illustrating a method of performing an electronic signature based on an asymmetric key encryption method, according to an exemplary embodiment.
  • FIG. 4 is a block diagram illustrating a method of performing an electronic signature according to another embodiment.
  • FIG. 5 is a block diagram illustrating a method of checking validity of digitally signed signature data, according to an embodiment.
  • FIG. 6 is a block diagram illustrating a method of checking validity of digitally signed signature data according to another embodiment.
  • FIG. 7 is a flowchart illustrating a process performed by an electronic device to process electronic authentication according to an exemplary embodiment.
  • FIG. 8 is a flowchart illustrating a process performed by an authentication server to process electronic authentication according to an embodiment.
  • FIG. 9 is a flowchart illustrating a process performed by an authentication server to process electronic authentication according to another embodiment.
  • FIG. 10 is a flowchart illustrating a process of registering a public key in an authentication server according to an embodiment.
  • 11 is a flowchart illustrating a process of processing a transaction based on electronic authentication according to an embodiment.
  • FIG. 12 is a flowchart illustrating a process of processing a block chain transaction based on electronic authentication according to an embodiment.
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments.
  • the electronic device 101 communicates with the electronic device 102 through a first network 198 (for example, a short-range wireless communication network), or a second network 199 It is possible to communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network).
  • the electronic device 101 may communicate with the electronic device 104 through the server 108.
  • the electronic device 101 includes a processor 120, a memory 130, an input device 150, an audio output device 155, a display device 160, an audio module 170, and a sensor module ( 176, interface 177, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196, or antenna module 197 ) Can be included.
  • a sensor module 176, interface 177, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196, or antenna module 197
  • at least one of these components may be omitted or one or more other components may be added to the electronic device 101.
  • some of these components may be implemented as one integrated circuit.
  • the sensor module 176 eg, a fingerprint sensor, an iris sensor, or an illuminance sensor
  • the display device 160 eg, a display.
  • the processor 120 for example, executes software (eg, a program 140) to implement at least one other component (eg, a hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and can perform various data processing or operations. According to an embodiment, as at least part of data processing or operation, the processor 120 may store commands or data received from other components (eg, the sensor module 176 or the communication module 190) to the volatile memory 132. The command or data stored in the volatile memory 132 may be processed, and result data may be stored in the nonvolatile memory 134.
  • software eg, a program 140
  • the processor 120 may store commands or data received from other components (eg, the sensor module 176 or the communication module 190) to the volatile memory 132.
  • the command or data stored in the volatile memory 132 may be processed, and result data may be stored in the nonvolatile memory 134.
  • the processor 120 includes a main processor 121 (eg, a central processing unit or an application processor), and a secondary processor 123 (eg, a graphic processing unit, an image signal processor) that can be operated independently or together , A sensor hub processor, or a communication processor). Additionally or alternatively, the coprocessor 123 may be set to use lower power than the main processor 121 or to be specialized for a designated function. The secondary processor 123 may be implemented separately from the main processor 121 or as a part thereof.
  • the coprocessor 123 is, for example, on behalf of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or the main processor 121 is active (eg, an application is executed). ) While in the state, together with the main processor 121, at least one of the components of the electronic device 101 (for example, the display device 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the functions or states related to. According to an embodiment, the coprocessor 123 (eg, an image signal processor or a communication processor) may be implemented as part of another functionally related component (eg, the camera module 180 or the communication module 190). have.
  • an image signal processor or a communication processor may be implemented as part of another functionally related component (eg, the camera module 180 or the communication module 190). have.
  • the memory 130 may store various data used by at least one component of the electronic device 101 (eg, the processor 120 or the sensor module 176).
  • the data may include, for example, software (eg, the program 140) and input data or output data for commands related thereto.
  • the memory 130 may include a volatile memory 132 or a nonvolatile memory 134.
  • the program 140 may be stored as software in the memory 130, and may include, for example, an operating system 142, middleware 144, or an application 146.
  • the input device 150 may receive a command or data to be used for a component of the electronic device 101 (eg, the processor 120) from an outside (eg, a user) of the electronic device 101.
  • the input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (eg, a stylus pen).
  • the sound output device 155 may output an sound signal to the outside of the electronic device 101.
  • the sound output device 155 may include, for example, a speaker or a receiver.
  • the speaker can be used for general purposes such as multimedia playback or recording playback, and the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
  • the display device 160 may visually provide information to the outside of the electronic device 101 (eg, a user).
  • the display device 160 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the device.
  • the display device 160 may include a touch circuitry set to sense a touch, or a sensor circuit (eg, a pressure sensor) set to measure the strength of a force generated by the touch. have.
  • the audio module 170 may convert sound into an electric signal or, conversely, convert an electric signal into sound. According to an embodiment, the audio module 170 acquires sound through the input device 150, the sound output device 155, or an external electronic device (for example, an external electronic device directly or wirelessly connected to the electronic device 101). Sound may be output through the electronic device 102 (for example, a speaker or headphones).
  • the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101, or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the detected state. can do.
  • the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
  • the interface 177 may support one or more designated protocols that may be used for the electronic device 101 to directly or wirelessly connect with an external electronic device (eg, the electronic device 102 ).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital Card
  • the connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102 ).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that a user can perceive through a tactile or motor sense.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 may capture a still image and a video.
  • the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 may manage power supplied to the electronic device 101.
  • the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 may supply power to at least one component of the electronic device 101.
  • the battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, electronic device 102, electronic device 104, or server 108). It is possible to support establishment and communication through the established communication channel.
  • the communication module 190 operates independently of the processor 120 (eg, an application processor), and may include one or more communication processors that support direct (eg, wired) communication or wireless communication.
  • the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg : A LAN (local area network) communication module, or a power line communication module) may be included.
  • a wireless communication module 192 eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 eg : A LAN (local area network) communication module, or a power line communication module
  • a corresponding communication module is a first network 198 (for example, a short-range communication network such as Bluetooth, WiFi direct or IrDA (infrared data association)) or a second network 199 (for example, a cellular network, the Internet, or It may communicate with the external electronic device 104 through a computer network (for example, a telecommunication network such as a LAN or WAN).
  • a computer network for example, a telecommunication network such as a LAN or WAN.
  • These various types of communication modules may be integrated into one component (eg, a single chip), or may be implemented as a plurality of separate components (eg, multiple chips).
  • the wireless communication module 192 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 in a communication network such as the first network 198 or the second network 199.
  • subscriber information e.g., International Mobile Subscriber Identifier (IMSI)
  • IMSI International Mobile Subscriber Identifier
  • the antenna module 197 may transmit a signal or power to the outside (eg, an external electronic device) or receive from the outside.
  • the antenna module 197 may include one antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
  • the antenna module 197 may include a plurality of antennas. In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is, for example, provided by the communication module 190 from the plurality of antennas. Can be chosen.
  • the signal or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna.
  • other components eg, RFIC
  • other than the radiator may be additionally formed as part of the antenna module 197.
  • At least some of the components are connected to each other through a communication method (e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI))) between peripheral devices and signals ( E.g. commands or data) can be exchanged with each other.
  • a communication method e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • GPIO general purpose input and output
  • SPI serial peripheral interface
  • MIPI mobile industry processor interface
  • commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199.
  • Each of the external electronic devices 102 and 104 may be a device of the same or different type as the electronic device 101.
  • all or part of the operations executed by the electronic device 101 may be executed by one or more of the external electronic devices 102, 104, or 108.
  • the electronic device 101 needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device 101 does not execute the function or service by itself.
  • One or more external electronic devices receiving the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit the execution result to the electronic device 101.
  • the electronic device 101 may process the result as it is or additionally and provide it as at least a part of a response to the request.
  • cloud computing, distributed computing, or client-server computing technology may be used.
  • FIG. 2 illustrates a configuration of an electronic authentication system including an electronic device and an authentication server, according to an exemplary embodiment.
  • the electronic authentication system 200 includes an electronic device 210 (eg, the electronic device 101 of FIG. 1), an authentication server 220 (eg, the server 108 of FIG. 1), and a blockchain network. It may include 230.
  • the electronic device 210 includes a memory 211 (eg, the memory 130 of FIG. 1), a processor 212 (eg, the processor 120 of FIG. 1), and a communication device 213 (For example, the communication module 190 or the antenna module 197 of FIG. 1) may be included.
  • the memory 211 may store instructions for processing data or controlling components of the electronic device 210 to perform an operation of the electronic device 210 when the processor 212 is executed.
  • the processor 212 may control the communication device 213 to transmit data to an external device (eg, the authentication server 220 or the blockchain node 235) or receive data from the external device.
  • an external device eg, the authentication server 220 or the blockchain node 235
  • the authentication server 220 may also include a memory 221, a processor 222, and a communication device 223.
  • the authentication server 220 may include a database 224 including user information 225.
  • the database 224 may be built in the memory 221 in the authentication server 220 or in a separate storage medium.
  • the authentication server 220 may include, for example, a server for managing customer information of a telecommunication company, a server built and operated by a financial institution (eg, a bank), or a server operated by an authentication authority for authenticating users. have.
  • the electronic device 210 may generate a key pair using an asymmetric key cryptography (eg, public key cryptography).
  • the key pair may include a private key and a public key.
  • the generated private key may be stored in a secure area of the memory 211 or in a separate secure storage medium (eg, a secure memory area (eg, a trust zone) accessible only through a secure OS).
  • the electronic device 210 may generate a key pair based on a root seed using various conditions of a mobile phone or a random algorithm.
  • the electronic device 210 may use an RSA to generate a key pair.
  • the algorithm for generating a key pair may be changed according to embodiments.
  • the user may select the authentication server 220 to register the public key from among servers of various organizations. Since the range of user information (eg, name, personal identification number, gender, age, etc.) held by various organizations is different, the authentication server 220 may be selected according to a range that requires confirmation of the key owner.
  • the electronic device 210 may receive authentication information from the authentication server 220. For example, the electronic device 210 may transmit a registration request for requesting registration of a public key to the authentication server 220 in response to a user input input to the electronic device 210. When the electronic device 210 transmits the public key to the authentication server 220, the electronic device 210 includes additional identification information that can identify the user in addition to the public key (eg, phone number, social security number, account number, card number). Etc.). The authentication server 220 may perform authentication for a user using a public key and identification information obtained from the electronic device 210.
  • additional identification information eg, phone number, social security number, account number, card number.
  • the authentication server 220 may transmit authentication information to the electronic device 210 in response to a registration request from the electronic device 210.
  • the authentication information may refer to information for confirming that the user of the electronic device 210 is a user who has registered a public key in the authentication server 220.
  • the authentication information may include a One Time Password value or a nonce value generated by the authentication server 220.
  • the authentication information transmitted by the authentication server 220 to the electronic device 210 may be referred to as first authentication information.
  • the electronic device 210 may perform an electronic signature on data including authentication information received from the server (eg, a Nonce value generated by the server, a One Time Password (OTP) value) using a private key. .
  • the electronic device 210 may generate signature data as a result of the electronic signature.
  • the electronic device 210 may perform an electronic signature on data including at least one piece of authentication information based on the private key.
  • the electronic signature may include, for example, an operation of the electronic device 210 encrypting data based on a private key.
  • the electronic device 210 may generate a hash value (eg, a first hash value) from data including authentication information by using a hash function.
  • the electronic device 210 may obtain a hash value from authentication information using a hash function such as SHA 256.
  • the electronic device 210 may perform an electronic signature based on the obtained hash value and the private key.
  • Signature data for which the electronic signature is completed may include encrypted data obtained by encrypting a hash value using a private key.
  • FIG. 3 is a block diagram 30 for explaining a method of performing an electronic signature based on an asymmetric key encryption method, according to an embodiment.
  • the electronic device may perform an electronic signature based on an asymmetric key encryption method.
  • the user may obtain the first hash value 33 from the signature target data 31 (eg, data including first authentication information) by using the hash function 32.
  • the electronic device may input the signature target data 31 to the hash function 32 and obtain the returned value as the first hash value 33.
  • the signature target data 31 may additionally include other information other than the first authentication information.
  • the electronic device may generate encrypted data 36 by encrypting the first hash value 33 with the user's private key 34.
  • the electronic device may generate the signature data 35 including the encrypted data 36 and the signature target data 37 (eg, first authentication information).
  • the signature object data 37 may include the same data as at least a part of the signature object data 31.
  • the process of electronic signature is not limited to the above-described method, and the electronic signature may be performed through an additional algorithm related to the electronic signature or a modified method.
  • FIG. 4 is a block diagram 40 for describing a method of performing an electronic signature according to another embodiment.
  • the signature data 45 may be encrypted data 46 generated by an electronic device (for example, the electronic device 101 of FIG. 1) when electronically signing (a second electronic signature method).
  • the electronic device may obtain the first hash value 43 from the signature target data 41 (eg, data including first authentication information) using the hash function 42.
  • the signature target data 41 may additionally include other information other than the first authentication information.
  • the electronic device may generate encrypted data 46 by encrypting the first hash value 43 obtained using the hash function 42 based on the user's private key 44. Based on the encrypted data, the electronic device may generate signature data. In the present specification, it may be referred to as a process of performing an electronic signature based on the user's private key.
  • the signature data 45 (or 35 in FIG. 3) may be transmitted to the blockchain network using the communication device 223 so that it can be stored through a node participating in the blockchain.
  • FIG. 5 is a block diagram 50 for explaining a method of checking the validity of digitally signed signature data 35 according to an exemplary embodiment.
  • the electronic device eg, the electronic device 210 of FIG. 2 or the server (eg, the authentication server 220 of FIG. 2) It is possible to obtain the signature data 35 including 36).
  • the electronic device or server may obtain signature data 37 and encrypted data 36 from the signature data 35.
  • the electronic device or server may decrypt the encrypted data 36 based on the private key (eg, the private key 34 of FIG. 3) and the public key 54 forming a key pair.
  • the electronic device or server may obtain the second hash value 51 from the signature target data 37 using the hash function 32.
  • the electronic device or server may compare the second hash value 51 with a value decrypted from the encrypted data 36.
  • the electronic device or server may check the validity of the electronic signature based on the comparison result. For example, when the second hash value 51 and the value decrypted from the encrypted data 36 are different from each other, the electronic device or the server may determine that the electronic signature is not valid. Conversely, when the second hash value 51 and the value decrypted from the encrypted data 36 match, the electronic device or the server may determine that the electronic signature is valid.
  • FIG. 6 is a block diagram 60 for explaining a method of checking the validity of digitally signed signature data 45 according to another embodiment.
  • the server eg, authentication server 220 of FIG. 2 signs through a block chain network (eg, block chain network 230 of FIG. 2) according to the block chain transaction identifier.
  • Data 45 can be obtained.
  • the server may decrypt the encrypted data (eg, encrypted data 46 encrypted by the electronic device based on the private key 44 in FIG. 4) included in the obtained signature data 45 based on the public key.
  • the server may store the authentication information (eg, OTP value, nonce value) 61 that has been delivered to the user's electronic device.
  • the server may generate the second hash value 51 from the stored authentication information 61 using a hash function.
  • the server may verify the validity of the electronic signature based on a result of comparing the generated second hash value 51 and the encrypted data 46 with the decrypted data 52. For example, when the decrypted data and the second hash value 51 match, the electronic device or the server may determine that the electronic signature has been performed by an authenticated user, and confirm that the electronic signature is valid. When the decrypted data and the second hash value 51 do not match, the electronic device or the server may confirm that the electronic signature is invalid.
  • the electronic device 210 records a block chain transaction for recording the generated signature data in the block chain node 235 included in the block chain network 230. Can be passed on.
  • At least one node 235 participating in the blockchain network 230 may verify the blockchain transaction received through the network. When the verified blockchain transaction is a normal transaction, at least one node 235 may generate a block having information on the blockchain transaction. The created block can be connected to the existing block and stored on the blockchain. The generated block may be stored in the data area of the node. Here, information on the transaction ID may be recorded in a block.
  • a device accessing the blockchain network 230 eg, the electronic device 210 or the authentication server 220
  • Data recorded in the blockchain node 235 may also be referred to as transaction data.
  • the blockchain network 230 may be a public blockchain network. When signing data is recorded based on a public blockchain network, users can be authenticated without a separate certificate issuing authority.
  • the blockchain network 230 may be a private blockchain network.
  • a node storing signature information is It may be an unspecified number of public nodes. In the case of a public blockchain, anyone can check the data stored in the block based on the transaction ID.
  • the blockchain network 230 is a public blockchain network
  • the public blockchain network matches the individual and the key pair, so that the existing blockchain network can replace the authentication authority that was separately required to authenticate the individual.
  • the blockchain network 230 is a private blockchain network operated by an entity such as an institution or consortium
  • the key pair used in the blockchain network 230 is issued by the entity operating the blockchain network 230.
  • the type of blockchain network is not limited to the described blockchain, and can be implemented by various blockchains.
  • the electronic device 210 may obtain transaction identification information (TXID, transaction ID) in response to a result of recording the signature data in the block chain node 235.
  • TXID transaction identification information
  • the transaction recorded in the blockchain node 235 can be checked, and the signature data included in the corresponding transaction data can be checked.
  • the transaction identification information may include a transaction ID generated when transaction data is recorded in the block chain node 235.
  • the transaction ID may be generated using various data related to a blockchain transaction. Various data may be generated using, for example, software version information, the number of input values, a hash value generated from data of a previous transaction, or a sequence value.
  • an electronic device or a device included in a blockchain network decodes data related to a transaction into a hex value, and generates a hash value using a hash function (e.g., SHA 256). can do.
  • An electronic device or a device included in the blockchain network can generate a transaction ID by encoding the generated hash value.
  • the method of generating the transaction ID is not limited to the contents described, and can be generated in various ways depending on the type or characteristics of the blockchain.
  • the transaction ID may be generated by an electronic device or a blockchain network.
  • the transaction ID may be obtained by converting signature data transmitted in an electronic transaction process for transacting electronic money into a character string.
  • the electronic device may query or identify a hash value generated for a transaction by using the transaction ID.
  • the transaction ID is an identifier that identifies transactions recorded in the blockchain network.
  • Transaction data may include, for example, sending account information, receiving account information, balance, deposit amount, and other data.
  • the receiving account information may include a block chain address value for an account to which the deposit amount is to be transmitted when creating a block chain transaction.
  • the receiving account information may include an address of a contract to record data in the blockchain network.
  • the authentication server 220 or the electronic device 210 may generate a contract to perform recording on the blockchain network.
  • the authentication server 220 transmits the generated contract address to the electronic device 210, and the electronic device 210 creates a contract corresponding to the contract address.
  • the electronic device 210 may store signature data signed by a public key or a private key on a node of the blockchain through the generated contract. .
  • the authentication server 220 may provide the user's account information to the electronic device 210.
  • the authentication server 220 may create a contract (eg, a smart contract) that can store and check information for user authentication in a blockchain node.
  • the authentication server 220 transmits contract-related information to the electronic device 210 so that the electronic device 210 can record various authentication-related information (eg, signature data, public key) through the generated contract. Can provide.
  • the electronic device 210 may transmit transaction identification information (TXID) of a block chain to the authentication server 220.
  • the electronic device 210 may further transmit the public key to the authentication server 220 to register the public key.
  • the electronic device 210 may record the public key in other data areas of transaction data.
  • the authentication server 220 receiving the transaction identification information can access the transaction data stored in the blockchain node from the blockchain network 230 by using the transaction identification information, and the signature data included in the transaction data stored in the data area of the block Can be obtained.
  • the authentication server 220 may obtain a public key from the electronic device 210 or the block chain network 230.
  • the authentication server 220 may verify the validity of the digitally signed signature data using a public key.
  • the authentication server 220 may store and manage each user information, public key information corresponding to the user information, and authentication information (first authentication information, eg, OTP value, Nonce value) assigned to the user. .
  • the authentication server 230 may generate a private key and a public key by itself.
  • the authentication server 230 may generate a block chain transaction. According to an embodiment, when the authentication server 230 creates a contract on its own, the authentication server 230 transmits the block chain address of the generated contract to the electronic device so that the electronic device can access the generated contract. I can. .
  • the authentication server 220 may decrypt the signature data obtained from the block chain with the user's public key.
  • the authentication server 220 may compare the decrypted data with a value (second hash value) generated through a hash function from authentication information stored in the authentication server 220.
  • the authentication server 220 may check whether data obtained from the blockchain network is data signed by the same person as the user who registered the public key based on the comparison result.
  • the authentication server 230 may decrypt at least a part of the signature data acquired through the blockchain network using the public key.
  • the authentication server 220 may compare data decrypted from the signature data and authentication information stored in the authentication server 220 (ie, authentication information transmitted to the electronic device 210 ).
  • the server or the electronic device is a hash value (first hash value) generated by using a hash function based on the authentication information obtained by the electronic device from the server by decrypting at least part of the signature data by the public key You can check if it matches with.
  • the authentication server 220 may compare a second hash value generated using a hash function from authentication information stored in the authentication server with data obtained by decrypting at least part of the signature data acquired through the blockchain network. When the decrypted data and the second hash value are the same, the authentication server 220 may determine that the signature data is information generated by a user who has registered the public key. When the decrypted data and the second hash value are the same, it may be determined that the electronic signature is valid.
  • the authentication server 220 may compare values calculated through an additional operation (eg, hash function, digest) to compare authentication information.
  • an additional operation eg, hash function, digest
  • the authentication server 220 may check whether the signature data acquired through the blockchain network is signed by the electronic device 210 based on the transaction identification information.
  • the operation of verifying the user who signs the signature data may be performed based on the first authentication information and the second authentication information transmitted by the authentication server 220 to the electronic device 210.
  • the authentication server 220 may compare the first authentication information and the second authentication information obtained from the signature data using the public key.
  • the public key obtained by the authentication server 220 is a normal public key and the acquired signature data is signed by the electronic device 210
  • the second authentication information may be matched with the first authentication information.
  • the authentication server 220 compares the first authentication information and the second authentication information, and when the first authentication information and the second authentication information match, the public key is mapped with the user information 225 to map the database 224 ).
  • the authentication server 220 may decrypt the signature data using a public key.
  • the authentication server 220 may obtain second authentication information.
  • the authentication server 220 performs a signature and a user who records the signature data on the blockchain network receives the authentication information. You can confirm that you are the same user as the user.
  • the user of the electronic device 210 may use the private key for the same purpose as a certificate for authenticating the user.
  • the electronic device 210 may perform an electronic signature using a private key and transmit the electronically signed data to the authentication server 220.
  • the authentication server 220 may obtain authentication data recorded in at least one block included in a node participating in the block chain network 230 through transaction identification information.
  • the authentication server 220 may decrypt the signature data using the stored user's public key.
  • An electronic signature verification process may be performed in which the information obtained as a result of the decryption is compared with the authentication information stored in the authentication server to check whether the signature data is data generated by the same user.
  • a public key may be checked based on the recorded data, and electronically signed data may be checked based on the confirmed public key. Therefore, the attacker has a private key and public key generated by an asymmetric encryption method, transmits data signed with his own private key, and prevents the attacker from verifying the signature with the public key of the attacker, thereby providing a high level of security.
  • the electronic device 210 may transmit a public key using a smart contract.
  • the electronic device 210 may transmit the public key to the authentication server 220 by including the public key in the smart contract.
  • FIG. 7 is a flowchart 300 illustrating a process performed by an electronic device to process electronic authentication, according to an exemplary embodiment.
  • the electronic device may generate a key pair.
  • the electronic device may generate or obtain a root seed for generating a key pair usable in a block chain network (eg, the block chain network 230 of FIG. 2 ).
  • the electronic device 210 may generate a key pair based on the root seed.
  • the root seed may mean a value that is randomly generated within a range of conditions that can be used in the blockchain network 230. The root seed may be generated based on dynamic characteristics generated during the operation of the electronic device 210.
  • the electronic device 210 may generate a root seed from a value output from a temperature sensor of the electronic device 210 or a current value at a specific location.
  • the electronic device 210 may generate a root seed by using a unique value of a hardware chip included in the electronic device 210.
  • the electronic device 210 may transmit a public key among the generated key pairs to the authentication server 220.
  • the authentication server 220 may register the public key received from the electronic device 210 as a public key for a user of the electronic device 210.
  • the electronic device 210 may transmit a public key registration request including the public key to the authentication server 220 to register the public key.
  • additional information on the user may be further stored in the authentication server 220.
  • the electronic device 210 may further transmit user information for identifying a user of the electronic device 210 to the authentication server.
  • the authentication server 220 may further store a user's contact information or an ID of a user account.
  • the electronic device may receive authentication information from an authentication server (eg, the authentication server 220 of FIG. 2 ).
  • the electronic device 210 may receive authentication information in response to a registration request transmitted to the authentication server.
  • the electronic device may obtain signature data based on the authentication information and the private key. For example, the electronic device may encrypt data including authentication information with a private key.
  • the electronic device may transmit the signature data to the blockchain network in order to record the signature data as transaction data in the blockchain node.
  • the electronic device can obtain transaction identification information for the recorded signature data.
  • transaction data is transmitted to the blockchain network, the electronic device can obtain the transaction ID for the transaction data.
  • the electronic device may obtain transaction identification information including a transaction ID.
  • the electronic device may transmit transaction identification information on signature data recorded in the blockchain node to the authentication server.
  • the electronic device may generate "0xAAAA” as a public key.
  • the electronic device may generate a signature as follows.
  • Hash web3.sha3("1234")
  • the electronic device can sign the above information with a private key and create a blockchain transaction so that the signed data is recorded on the blockchain node and transmit it to the blockchain network.
  • "0xBBBB” which is the transaction identifier (eg, transaction ID) of the transaction data transmitted to the blockchain network, may be recorded.
  • the electronic device may transmit information including "0xBBBB" to the authentication server.
  • FIG. 8 is a flowchart 400 illustrating a process performed by an authentication server to process electronic authentication according to an embodiment.
  • the authentication server (eg, the authentication server 220 of FIG. 2) is disclosed from an electronic device (eg, the electronic device 101 of FIG. 1, the electronic device 210 of FIG. 2). You can receive the key.
  • the authentication server may receive a request for registration of a public key including the public key.
  • the authentication server may further receive user information on a user of the electronic device that has transmitted the registration request.
  • the authentication server may search for user information (eg, user information 225 of FIG. 2) stored in a database provided in the authentication server based on the received user information.
  • the authentication server 220 may manage the received public key by associating the received user information. For example, the authentication server 220 checks the registered user using the received public key and received user information (eg, phone number, ID, EMAIL), and builds a database using the verified user's public key. can do.
  • the authentication server may transmit authentication information to the electronic device.
  • the authentication server may transmit authentication information (first authentication information) including "1234" as the OTP value to the electronic device.
  • the authentication server 220 may use a database that stores and manages the first authentication information and registered user information or public key together.
  • the authentication server may receive transaction identification information (TXID) from the electronic device.
  • TXID transaction identification information
  • the authentication server may receive transaction identification information including "0xBBBB" as the transaction ID.
  • the authentication server 220 may obtain signature data corresponding to the transaction identification information from the block chain network (eg, the block chain network 230 of FIG. 2).
  • the authentication server can verify electronically signed data signed by the electronic device with the user's private key through the blockchain network.
  • signed data may be obtained through a third server or service provider (eg Etherscan) that provides data included in a transaction with a transaction ID.
  • the authentication server decrypts the signature data with the public key, and checks whether the signature data is data signed with the private key forming a key pair with the public key. For example, the authentication server may generate data based on the user's public key and a hash function from the first authentication information stored in the server. The authentication server may obtain second authentication information by decrypting the signature data obtained from the blockchain network. The authentication server may use the second authentication information to check whether the same user signed. According to an embodiment, the authentication server may check the user using a value other than the first authentication information. For example, the authentication server may further use information related to the user to identify the user, and may check whether the signature data and the authentication information match using a series of algorithms related to preventing repudiation of the electronic signature.
  • the authentication server may obtain authentication information (second authentication information) from the signature data. .
  • the authentication server may compare authentication information (second authentication information) obtained from the signature data with authentication information (first authentication information) transmitted to the electronic device.
  • the electronic device determines that the signature data and the authentication information match. I can.
  • the authentication server may determine whether the authentication information obtained from the signature data is "1234".
  • it may be determined whether the first authentication information and the second authentication information match using the method presented in FIG. 5 or 6 and related descriptions. That is, according to an embodiment, the authentication server may determine whether the first authentication information matches the second authentication information by comparing a hash value obtained from the authentication information rather than the authentication information itself.
  • the authentication server may map and store the public key with user information stored in the database.
  • the user information mapped to the public key may be information corresponding to user information received with a registration request among information stored in a database.
  • the authentication server may further store the transaction identification information received in operation 430 by mapping the user information. That is, the authentication server may allow the database to map and store user information, transaction identification information, and public key.
  • FIG. 9 is a flowchart 500 illustrating a process performed by an authentication server to process electronic authentication according to another embodiment.
  • an authentication server eg, the authentication server 220 of FIG. 2 authenticates to an electronic device (eg, the electronic device 101 of FIG. 1, the electronic device 210 of FIG. 2).
  • Information (first authentication information) can be transmitted.
  • the authentication server may further receive user information on a user of the electronic device that has transmitted the registration request.
  • the authentication server may search for user information (eg, user information 225 of FIG. 2) stored in a database provided in the authentication server based on the received user information.
  • the authentication server may receive transaction identification information from the electronic device.
  • the authentication server may receive transaction identification information including "0xBBBB" as the transaction ID.
  • the authentication server may read the public key and signature data corresponding to the transaction identification information from the blockchain network. For example, the authentication server may read data recorded in a block corresponding to the transaction ID included in the transaction identification information.
  • the public key recorded by the electronic device may be stored in other data items of the block corresponding to the transaction ID.
  • the authentication server may decrypt at least part of the signature data using the obtained public key.
  • the authentication server may obtain authentication information (second authentication information) from the decrypted signature data.
  • the authentication server provides authentication information (second authentication information) obtained from the signature data and authentication information (first authentication information) transmitted to the electronic device. Can be compared.
  • the authentication server may generate data based on the user's public key and a hash function from the first authentication information stored in the server.
  • the authentication server may obtain second authentication information by decrypting the signature data obtained from the blockchain network. The authentication server may use the second authentication information to check whether the same user signed.
  • the authentication server may check the user using a value other than the first authentication information.
  • the authentication server may further use information related to the user to identify the user, and may check whether the signature data and the authentication information match using a series of algorithms related to preventing repudiation of the electronic signature.
  • the authentication server determines that the signature data and the authentication information match. I can.
  • the authentication server may determine whether the first authentication information matches the second authentication information by comparing a hash value obtained from the authentication information rather than the authentication information itself.
  • the authentication server may map and store the public key with user information stored in the database.
  • the user information mapped to the public key may be information corresponding to user information (eg, phone number, name, address, gender, account ID) received with a registration request among information stored in a database.
  • FIG. 10 is a flowchart illustrating a process of registering a public key in an authentication server according to an embodiment.
  • the electronic device 601 may generate a key pair to be used for authentication.
  • the key pair may include a public key and a private key that satisfy a condition (eg, length) that can be used in the block chain network 603 (eg, the block chain network 230 of FIG. 2 ).
  • the electronic device 601 may transmit a request for registration of the public key to the authentication server 602.
  • the electronic device 601 may further transmit user information for identifying a user of the public key to be registered to the authentication server 602.
  • the electronic device 601 may output a user interface for receiving user information or may further perform a separate authentication process for authenticating a user.
  • the authentication server 602 may generate authentication information (first authentication information) corresponding to the registration request, and transmit the authentication information to the electronic device 601.
  • the authentication information may include information for confirming that the user who recorded the signature data in the corresponding blockchain is a user who received the authentication information when the signature data signed for the authentication information is recorded in the blockchain.
  • the authentication information may include an OTP value or a nonce value.
  • the electronic device 601 may perform an electronic signature on the authentication information.
  • the electronic device 601 may encrypt a signature including authentication information based on the private key among the key pair generated in operation 611.
  • the electronic device 601 transfers the signature data generated as a result of performing operation 617 to a block chain node (eg, FIG. 2) of the block chain network 603 (eg, the block chain network 230 of FIG. 2 ).
  • the transaction data including the signature data may be transmitted to the blockchain network 603 in order to be recorded in the blockchain node 235 of.
  • the node performs verification of the transaction (e.g., mining in the blockchain), and transaction data that has been verified can be stored in the block in the blockchain.
  • the electronic device may electronically sign including signature data and public key, and transmit transaction data including signed data through a blockchain network so that the signed data is stored through the blockchain node 235.
  • the electronic device 601 may obtain transaction identification information for a block in which signature data is recorded. In operation 623, the electronic device 601 may transmit the acquired transaction identification information to the authentication server 602.
  • the authentication server 602 may request data from the transaction identification information among the data recorded in the block in the block chain network 603.
  • the authentication server 602 may obtain data corresponding to the transaction identification information.
  • the data obtained in operation 627 may include signature data and public key.
  • the authentication server 602 may verify the signature data with the obtained public key.
  • the authentication server 602 may decrypt the signature data with the public key and identify authentication information (second authentication information) included in the signature data.
  • the authentication server 602 may register the public key in user information of the authentication server 602. That is, the authentication server 602 may map and store the public key with user information.
  • the second authentication information may be in the form of a hash value
  • the first authentication information may be in the form of original authentication information (eg, an OTP value or a nonce value).
  • the authentication server 602 may obtain a hash value from the first authentication information stored in the authentication server 602 by using a hash function to determine whether the first authentication information and the second authentication information match. The authentication server 602 may compare the hash value obtained from the first authentication information with the second authentication information.
  • the authentication server 602 may transmit a registration completion message to the electronic device 601.
  • the electronic authentication system may further include a relay server that relays data transmission/reception between the electronic device 701 and the authentication server 702.
  • FIG. 11 is a flowchart illustrating a process of processing a transaction based on electronic authentication according to an embodiment. According to an embodiment, the process shown in FIG. 11 may be performed after transmitting signature data to the blockchain network and acquiring transaction identification information by an operation shown in at least one of FIGS. 7 to 10.
  • the authentication server 702 may receive a request for authentication related to a transaction. For example. When a user requests the bank server to remit money from his or her account to another account, the bank server (for example, the transaction processing unit 704) may request the authentication server 702 to authenticate whether the user who requested the remittance is a legitimate user. Yes (e.g. action 709). For another example, when a user requests an online payment, the payment processing device (eg, the transaction processing device 704) performing online payment may request the authentication server 702 to authenticate the user who requested the online payment. (Example: action 709)).
  • the payment processing device eg, the transaction processing device 704 performing online payment may request the authentication server 702 to authenticate the user who requested the online payment. (Example: action 709)).
  • the authentication server 702 In response to the request for authentication for the user, in operation 711, the authentication server 702 provides an electronic device 701 registered as a device of the user related to the transaction (e.g., the electronic device 101 of FIG. 1, FIG. 2
  • the transaction authentication request may be transmitted to the electronic device 210 of.
  • the authentication server 702 includes information (e.g., phone number, user) that can identify the electronic device 701 or the user of the electronic device 701 received from the transaction processing device 704 in operation 709.
  • the transaction authentication request may be transmitted to the electronic device 701 using a name or user account ID.
  • the transaction authentication request may include transaction details of a transaction subject to authentication.
  • the transaction details may include, for example, information on an amount, a sender, or a transaction target.
  • the electronic device 701 may perform an electronic signature on the transaction details based on the private key. In operation 713, the electronic device 701 may output information on transaction details in relation to the electronic signature so that the user can check it. Also, the electronic device 701 may perform an electronic signature when a user who has confirmed the transaction details receives a user input on whether to proceed with the electronic signature. According to an embodiment, the electronic device 701 may obtain a hash value by using a hash from transaction details. The electronic device 701 may perform an electronic signature on the obtained hash value.
  • the electronic device 701 may transmit transaction confirmation signature data and transaction identification information to the authentication server 703.
  • the transaction identification information may be transaction identification information obtained through a blockchain network.
  • the transaction confirmation signature data may include data in which the electronic device 701 electronically signs the transaction details based on the private key.
  • the transaction identification information transmitted in operation 715 may be generated when the electronic device 701 records the public key in the block chain network 703.
  • the authentication server 702 may request data from the blockchain network 703 based on the transaction identification information.
  • the authentication server 702 may obtain a public key from data recorded in a block corresponding to the transaction identification information.
  • the authentication server 702 may determine whether the public key registered in the authentication server 702 matches the public key obtained from the blockchain network 703. If the public key registered in the authentication server 702 and the public key obtained from the blockchain network 703 do not match, the authentication server 702 determines that there is a problem with the registered public key, and processes the transaction. You can stop. According to an embodiment, when the registered public key does not match the obtained public key. A message requesting re-registration of the public key may be transmitted to the electronic device 701.
  • the authentication server 702 may check the transaction verification signature data with the registered public key in operation 723.
  • the authentication server 702 obtains a hash value from the transaction confirmation signature data, and when the hash value generated from the transaction details stored in the authentication server 702 matches the obtained hash value, the transaction confirmation signature data May be determined to be electronically signed based on the private key paired with the public key. If it is determined that the electronic signature has been made legitimately, in operation 725, the authentication server 702 may perform authentication processing for the transaction. For example, in operation 725, the authentication server 702 may transmit information on the authentication result to the transaction processing device 704.
  • operation 727 the authentication server 702 may record the performed transaction in the blockchain node.
  • operation 727 may be excluded depending on the embodiment.
  • the operation of recording a transaction performed on the block chain node 727 may be performed conditionally. For example, operation 727 may be performed when the number of transactions performed is accumulated by a predetermined value or when the transaction amount is accumulated by a predetermined value or more.
  • the authentication server 702 may transmit a transaction authentication completion message to the electronic device 701.
  • the electronic device 701 may output information included in a transaction authentication completion message.
  • FIG. 12 is a flowchart illustrating a process of processing a block chain transaction based on electronic authentication according to an embodiment.
  • the authentication method may be used to process blockchain transactions based on digital currency.
  • the process illustrated in FIG. 12 may be performed after the signature data is transmitted to the blockchain network and transaction identification information is obtained by an operation illustrated in at least one of FIGS. 7 to 10.
  • the electronic device 801 (e.g., the electronic device 101 of FIG. 1, the electronic device 210 of FIG. 2) uses an electronic wallet application installed in the electronic device 801 to transact digital currency ( Example: remittance of digital currency or payment through digital currency) can be performed.
  • the electronic device 801 may receive account information to be remitted or paid.
  • the electronic device 801 may perform an electronic signature 813 on the input account information based on the private key.
  • the private key may be a key value generated in pairs with a public key registered in the authentication server 802.
  • the electronic device 801 may transmit electronically signed account information and transaction identification information to the authentication server 802.
  • the transaction identification information transmitted in operation 815 includes the electronic device 801 transmits signature data to the blockchain network 803 (for example, the blockchain network 230 of FIG. 2) to register the public key with the authentication server 802. It may include information given when recorded.
  • the authentication server 802 may decrypt the account information based on the transaction identification information in operation 817. That is, the authentication server 802 may search for user information and public key mapped to the transaction identification information, and may decrypt the account information by using the searched public key.
  • the authentication server 802 reads the public key from the blockchain network 803 based on the transaction identification information, and the public key obtained from the blockchain network 803 and the authentication server ( The operation of matching the public key retrieved at 802 may be further performed.
  • the authentication server 802 may perform an operation 817 of decrypting account information only when the public key obtained from the blockchain network 803 and the public key retrieved from the authentication server 802 match.
  • the authentication server 802 may process authentication so that the transaction proceeds only when the account information is normally decrypted by the public key.
  • the authentication server 802 may search for user information based on the account information. In the process of registering the public key, since the public key, account information, and user information were mapped and stored in a database, the authentication server 802 may search for user information based on the account information. In operation 821, the authentication server 802 transmits user information to the electronic device 801, and in operation 823, the electronic device 801 may output the received user information.
  • Electronic devices may be devices of various types.
  • the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a wearable device e.g., a smart bracelet
  • phrases such as “at least one of B or C” may include any one of the items listed together in the corresponding one of the phrases, or all possible combinations thereof.
  • Terms such as “first”, “second”, or “first” or “second” may be used simply to distinguish the component from other corresponding components, and the components may be referred to in other aspects (eg, importance or Order) is not limited.
  • Some (eg, first) component is referred to as “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively”. When mentioned, it means that any of the above components can be connected to the other components directly (eg by wire), wirelessly, or via a third component.
  • module used in this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic blocks, parts, or circuits.
  • the module may be an integrally configured component or a minimum unit of the component or a part thereof that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present document include one or more instructions stored in a storage medium (eg, internal memory 136 or external memory 138) readable by a machine (eg, electronic device 101). It may be implemented as software (for example, the program 140) including them.
  • the processor eg, the processor 120 of the device (eg, the electronic device 101) may call and execute at least one command among one or more commands stored from a storage medium. This makes it possible for the device to be operated to perform at least one function according to the at least one command invoked.
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • non-transient only means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and this term refers to the case where data is semi-permanently stored in the storage medium. It does not distinguish between temporary storage cases.
  • a signal e.g., electromagnetic waves
  • a method according to various embodiments disclosed in the present document may be provided by being included in a computer program product.
  • Computer program products can be traded between sellers and buyers as commodities.
  • Computer program products are distributed in the form of device-readable storage media (e.g. compact disc read only memory (CD-ROM)), or via an application store (e.g. Play StoreTM) or two user devices (e.g. It can be distributed (e.g., downloaded or uploaded) directly between, e.g. smartphones).
  • an application store e.g. Play StoreTM
  • two user devices e.g. It can be distributed (e.g., downloaded or uploaded) directly between, e.g. smartphones).
  • at least a portion of the computer program product may be temporarily stored or temporarily generated in a storage medium that can be read by a device such as a server of a manufacturer, a server of an application store, or a memory of a relay server.
  • each component eg, a module or program of the above-described components may include a singular number or a plurality of entities.
  • one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg, a module or a program
  • the integrated component may perform one or more functions of each component of the plurality of components in the same or similar to that performed by the corresponding component among the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component are sequentially, parallel, repeatedly, or heuristically executed, or one or more of the above operations are executed in a different order or omitted. Or one or more other actions may be added.

Abstract

신호를 송신 또는 수신하는 통신 장치, 메모리 및 상기 통신 장치 및 메모리와 연결된 프로세서를 포함하는 전자 장치가 개시된다. 메모리는, 프로세서가 공개 키 및 개인 키를 포함하는 키 쌍을 생성하고, 인증 서버로부터 인증 정보를 상기 통신 장치를 이용하여 수신하고, 개인 키를 기반으로 인증 정보에 전자 서명하여 서명 데이터를 생성하고, 서명 데이터를 포함하는 트랜잭션 데이터를 생성하고, 트랜잭션 데이터를 블록체인 네트워크로 전송하고, 트랜잭션 데이터에 대응하는 트랜잭션 식별 정보를 인증 서버로 전송하도록 통신 장치를 제어하게 하는 인스트럭션들을 저장할 수 있다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.

Description

블록 체인을 이용한 전자 인증 장치 및 그 방법
본 문서에서 개시되는 실시 예들은, 전자 장치가 인증을 처리하는 기술과 관련된다.
전자 서명(digital signature)은 전자 문서나 디지털 데이터에 대한 변조 방지와 서명을 생성한 주체를 식별하기 위한 기술로, 정보 통신망에 기반한 전자 문서의 교환이나 전자 상거래와 같은 분야에서 이용되고 있다. 전자 서명을 위해서는 전자 장치가 사용자를 인증해야 할 필요가 있다. 대표적인 사용자 인증 방식으로, PKI 인증 방식은 클라이언트 소프트웨어를 사용하지 않는 방식으로 USB 토큰, USIM 등이 있으며, 클라이언트 소프트웨어를 사용하는 방식으로는 공인인증서를 저장하여 사용하는 방식이 있다. 전자 장치는 공인인증서를 이용하여 송금이나 결제와 같은 거래를 처리하거나 전자문서에 서명을 할 수 있다.
또한, 네트워크에 참여한 사용자 모두의 공동 작업을 통하여 블록을 생성하고, 생성된 블록을 모든 참여자가 검증하고 이를 승인함으로써 모두가 동일한 블록을 보유하고, 생성된 블록을 모든 참여자가 검증하고 이를 승인함으로써 모두가 동일한 블록을 보유하고, 일부 사용자에 의한 데이터 위조를 방지하는 블록 체인 기술이 다양한 분야에서 적용되고 있다. 블록 체인은 P2P(peer to peer) 분산 원장 기술이다. 분산 원장은 암호 기술로 보호되며, 참여 노드들 간에 협의를 통해서만 블록(정보)의 생성이 가능하다. 블록 체인은 중앙화된 서버가 없는 분산형 네트워크 환경에서 보안성과 무결성을 유지하는 기술이다. 예를 들어, 블록 체인을 기반으로 하여 비트코인, 이더리움, 리플 그리고 각종 알트코인과 같은 다양한 디지털 화폐가 등장하고 있다. 디지털 화폐 이외에도, 블록 체인은 공인인증 시스템 또는 저작권보호시스템에 이용될 수 있다. 블록 체인에 기반하여 사용자를 인증하기 위한 방법의 예시로, 프라이빗(private) 블록체인 망에서 발급한 키 쌍(key pair)을 발급하고, 키 쌍을 이용하여 사용자를 인증하는 방법이 있다.
공인인증서를 이용하여 전자 서명을 처리하는 경우에는 공인인증서를 발급하는 주체(예: 인증 기관의 서버)가 반드시 필요하다. 따라서, 공인인증서 발급을 위한 비용이 발생하게 된다. 또한, 공인인증서를 발급한 주체가 기능을 수행하지 않을 경우에는 공인인증서의 효력을 증명할 수 없는 문제가 있다.
프라이빗 블록 체인에 기반하여 전자 서명을 처리하는 경우에도, 키 쌍을 발급하는 주체에 의존하여야 하는 문제가 있다. 공개(public) 블록 체인을 이용하여 사용자를 인증하고자 할 경우에는 사설 기관이 발급하는 인증서를 이용하여 서명을 하고, 그 해시(hash) 값을 공개 블록 체인에 기록하는 방식을 이용할 수 있다. 그러나, 퍼블릭 블록 체인을 이용하는 방법은 단순히 디지털로 된 파일 자체에 대해 위변조가 되지 않았음을 증명할 수 있을 뿐 사용자가 어떤 사용자인지 인증하기 어려운 문제가 있다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 신호를 송신 또는 수신하는 통신 장치, 메모리 및 상기 통신 장치 및 메모리와 연결된 프로세서를 포함할 수 있다. 상기 메모리는, 실행시에 상기 프로세서가, 공개 키 및 개인 키를 포함하는 키 쌍을 생성하고, 인증 서버로부터 인증 정보를 상기 통신 장치를 이용하여 수신하고, 상기 개인 키를 기반으로 상기 인증 정보에 전자 서명하여 서명 데이터를 생성하고, 상기 서명 데이터를 포함하는 트랜잭션 데이터를 생성하고, 상기 트랜잭션 데이터를 블록체인 네트워크로 전송하고, 상기 트랜잭션 데이터에 대응하는 트랜잭션 식별 정보를 상기 인증 서버로 전송하도록 상기 통신 장치를 제어하게 하는 인스트럭션들을 저장할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 방법은, 사용자의 공개 키 및 개인 키를 포함하는 키 쌍을 생성하는 동작과, 인증 서버로부터 인증 정보를 수신하는 동작과, 상기 개인 키를 기반으로 상기 인증 정보에 전자 서명하여 서명 데이터를 생성하는 동작과, 상기 서명 데이터를 포함하는 트랜잭션 데이터를 생성하는 동작과, 상기 트랜잭션 데이터를 블록체인 네트워크로 전송하는 동작 및 상기 트랜잭션 데이터에 상응하는 트랜잭션 식별 정보를 상기 인증 서버로 전송하는 동작을 포함할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 저장 매체는, 사용자의 공개 키 및 개인 키를 포함하는 키 쌍을 생성하는 동작과, 인증 서버로부터 인증 정보를 수신하는 동작과, 상기 개인 키를 기반으로 상기 인증 정보에 전자 서명하여 서명 데이터를 생성하는 동작과, 상기 서명 데이터를 포함하는 트랜잭션 데이터를 생성하는 동작과, 상기 트랜잭션 데이터를 블록체인 네트워크로 전송하는 동작 및 상기 트랜잭션 데이터에 상응하는 트랜잭션 식별 정보를 상기 인증 서버로 전송하는 동작을 수행하도록 하는 프로그램을 저장한 것일 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 블록 체인 망이 공인인증서의 발급 주체를 대체하여 사용자와 키 쌍을 매칭할 수 있다. 따라서, 또한 키 쌍을 매칭해 주는 기관이 보유하고 있는 사용자 정보의 수준에 따라서 사용자가 보유하고 있는 개인 키가 여러 곳에서 범용으로 사용할 수 있는 인증서의 역할을 할 수 있다.
또한, 디지털 화폐 서비스에서 본 문서에서 개시되는 실시 예들에 따라서 사용자를 인증하는 경우, 사용자 정보와 키 쌍을 매칭한 기관은 개인의 디지털 화폐 사용에 대한 추적이 가능하다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 2는 일 실시 예에 따른, 전자 장치 및 인증 서버를 포함하는 전자 인증 시스템의 구성을 나타낸다.
도 3은 일 실시 예에 따른, 비대칭키 암호화 방식에 기초하여 전자 서명을 수행하는 방법을 설명하기 위한 블록도이다.
도 4는 다른 실시 예에 따른, 전자 서명을 수행하는 방법을 설명하기 위한 블록도이다.
도 5는 일 실시 예에 따른, 전자 서명된 서명 데이터의 유효성을 확인하는 방법을 설명하기 위한 블록도이다.
도 6은 다른 실시 예에 따른, 전자 서명된 서명 데이터의 유효성을 확인하는 방법을 설명하기 위한 블록도이다.
도 7은 일 실시 예에 따른, 전자 장치가 전자 인증을 처리하기 위해 수행하는 프로세스를 도시한 순서도이다.
도 8는, 일 실시 예에 따른, 인증 서버가 전자 인증을 처리하기 위해 수행하는 프로세스를 도시한 순서도이다.
도 9는 다른 실시 예에 따른, 인증 서버가 전자 인증을 처리하기 위해 수행하는 프로세스를 도시한 순서도이다.
도 10은, 일 실시 예에 따른, 공개 키를 인증 서버에 등록하는 프로세스를 도시한 순서도이다.
도 11은, 일 실시 예에 따른, 전자 인증에 기반한 거래를 처리하는 프로세스를 도시한 순서도이다.
도 12은 일 실시 예에 따른, 전자 인증에 기반한 블록 체인 거래를 처리하는 프로세스를 도시한 순서도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)는, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)는, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 일 실시 예에 따른, 전자 장치 및 인증 서버를 포함하는 전자 인증 시스템의 구성을 나타낸다.
일 실시 예에 따른 전자 인증 시스템(200)은 전자 장치(210)(예: 도 1의 전자 장치(101)), 인증 서버(220)(예: 도 1의 서버(108)) 및 블록 체인 네트워크(230)를 포함할 수 있다.
일 실시 예에 따른, 전자 장치(210)는 메모리(211)(예: 도 1의 메모리(130)), 프로세서(212)(예: 도 1의 프로세서(120)), 및 통신 장치(213)(예: 도 1의 통신 모듈(190) 또는 안테나 모듈(197))을 포함할 수 있다. 메모리(211)는 프로세서(212)가 실행 시에 전자 장치(210)의 동작을 수행하기 위해 데이터를 처리하거나 전자 장치(210)의 구성요소를 제어 하도록 하는 인스트럭션들(instructions)을 저장할 수 있다. 프로세서(212)는 통신 장치(213)를 제어하여 외부 장치(예: 인증 서버(220), 또는 블록체인 노드(235))에 데이터를 전송하거나 외부 장치로부터 데이터를 수신할 수 있다.
일 실시 예에 따른, 인증 서버(220)도 메모리(221), 프로세서(222) 및 통신 장치(223)를 포함할 수 있다. 또한, 인증 서버(220)는 사용자 정보(225)를 포함하는 데이터베이스(224)를 구비할 수 있다. 데이터베이스(224)는 인증 서버(220) 내의 메모리(221) 또는 별도의 저장 매체에 구축될 수 있다. 인증 서버(220)는, 예를 들면, 통신사의 고객 정보를 관리하는 서버, 금융 기관(예: 은행)이 구축하고 운영하는 서버, 또는 사용자를 인증하기 위한 인증 기관이 운영하는 서버를 포함할 수 있다.
전자 장치(210)는 비대칭키 암호 (예 : 공개키 암호 방식 public ?key cryptography) 방식으로 키 쌍을 생성할 수 있다. 키 쌍은 개인 키(private key)와 공개 키(public key)를 포함할 수 있다.
생성된 개인 키는 메모리(211)의 보안 영역 또는 별도의 보안 저장 매체(예: 보안 OS를 통해서만 접근 가능한 보안 메모리 영역(예: trust zone)) 에 저장될 수 있다. 일 실시 예에 따르면, 전자 장치(210)는 휴대폰의 다양한 조건을 이용하거나 랜덤한 알고리즘을 이용한 루트 시드(root seed)에 기초하여 키 쌍을 생성할 수 있다. 예를 들어, 일 실시 예에 따른 전자 장치(210)는 키 쌍을 생성하기 위해 RSA을 이용할 수 있다. 다만, 키 쌍을 생성하는 알고리즘은 실시 예에 따라서 변경될 수 있다. 사용자는 여러 기관들의 서버들 중에서 공개 키를 등록할 인증 서버(220)를 선택할 수 있다. 여러 기관들마다 보유하고 있는 사용자 정보(예: 이름, 개인 식별번호, 성별, 나이 등)의 범위가 다르므로, 키 소유자에 대해 확인이 필요한 범위에 따라서 인증 서버(220)를 선택할 수 있다.
전자 장치(210)는 인증 서버(220)로부터 인증 정보를 수신할 수 있다. 예를 들어, 전자 장치(210)는 전자 장치(210)에 입력된 사용자 입력에 대한 응답으로 공개 키의 등록을 요청하는 등록 요청을 인증 서버(220)에 전송할 수 있다. 전자 장치(210)가 공개 키를 인증 서버(220)에 전송할 때, 전자 장치(210)는 공개키 외에 사용자를 식별할 수 있는 추가적인 식별 정보 (예: 전화 번호, 주민 번호, 계좌 번호, 카드 번호 등)을 더 전송할 수 있다. 인증 서버(220)는 전자 장치 (210)으로부터 획득한 공개키, 식별 정보 등을 이용하여 사용자에 대한 인증을 수행할 수 있다. 인증의 결과, 사용자가 인증된 사용자일 경우, 인증 서버(220)는 전자 장치(210)의 등록 요청에 대한 응답으로 인증 정보를 전자 장치 (210)에 전달 할 수 있다. 인증 정보는 전자 장치(210)의 사용자가 인증 서버(220)에 공개 키를 등록한 사용자임을 확인하기 위한 정보를 의미할 수 있다. 예를 들어, 인증 정보는 인증 서버(220)에 의해 생성된 일회용 비밀 번호(One Time Password) 값 또는 논스(nonce) 값을 포함할 수 있다. 본 명세서에서, 인증 서버(220)가 전자 장치(210)로 전송한 인증 정보는 제1 인증 정보로 언급될 수도 있다.
전자 장치(210)는 서버로부터 수신한 인증 정보(예: 서버에서 생성된 논스(Nonce) 값, One Time Password(OTP) 값)를 포함하는 데이터에 개인키를 이용하여 전자 서명을 수행할 수 있다. 전자 장치(210)는 전자 서명의 결과로 서명 데이터를 생성할 수 있다. 예를 들어, 전자 장치(210)는 개인 키에 기반하여 적어도 하나의 인증 정보를 포함하는 데이터에 대하여 전자 서명을 수행 할 수 있다. 전자 서명은, 예를 들어, 전자 장치(210)가 개인 키에 기반하여 데이터를 암호화하는 동작을 포함할 수 있다. 전자 장치(210)는 해시 함수(hash function) 를 이용하여 인증 정보를 포함하는 데이터로부터 해시 값(예: 제 1 해시 값)을 생성할 수 있다. 예를 들어 전자 장치(210)는 인증 정보로부터 SHA 256 과 같은 해시 함수를 이용하여 해시 값을 획득 할 수 있다. 전자 장치(210)는 획득된 해시 값과 개인키를 에 기초하여 전자 서명을 수행할 수 있다. 전자 서명이 완료된 서명 데이터는 해시 값을 개인키를 이용하여 암호화한 암호화 데이터를 포함할 수 있다.
도 3은 일 실시 예에 따른, 비대칭키 암호화 방식에 기초하여 전자 서명을 수행하는 방법을 설명하기 위한 블록도(30)이다.
일 실시 예에 따르면, 전자 장치(예: 도 1의 전자 장치 101)는 비대칭키 암호화 방식을 기반으로 전자 서명을 수행할 수 있다. 예를 들어 사용자는 해시 함수(32)를 이용하여 서명 대상 데이터(31) (예: 제 1 인증 정보를 포함하는 데이터)로부터 제 1 해시 값(33)을 획득할 수 있다. 예를 들어, 전자 장치는 해시 함수(32)에 서명 대상 데이터(31)를 입력하고, 반환되는 값을 제1 해시 값(33)으로서 획득할 수 있다. 실시 예에 따라 서명 대상 데이터(31)는 제 1 인증 정보 이외의 다른 정보를 추가적으로 더 포함할 수도 있다. 전자 장치는 제 1 해시 값(33)을 사용자의 개인 키(34)로 암호화한 암호화 데이터(36)를 생성할 수 있다. 전자 장치는 암호화 데이터(36) 및 서명 대상 데이터(37)(예: 제 1 인증 정보)를 포함하는 서명 데이터(35)를 생성 할 수 있다. 서명 대상 데이터(37)는 서명 대상 데이터(31)의 적어도 일부와 동일한 데이터를 포함할 수 있다. 단, 다양한 실시예에서 전자 서명을 하는 과정은 전술한 방식으로 한정 되지 않으며, 전자 서명은 전자 서명과 관련된 추가적인 알고리즘 또는 변경된 방식을 통해 수행 될 수 있다.
도 4는 다른 실시 예에 따른, 전자 서명을 수행하는 방법을 설명하기 위한 블록도(40)이다.
일 실시예에 따르면, 서명 데이터(45)는 전자 장치(예: 도 1의 전자 장치 101)가 전자 서명 시에 생성하는 암호화 데이터(46)일 수 있다(제 2 전자 서명 방법). 예를 들어 전자 장치는 해시 함수(42)를 이용하여 서명 대상 데이터(41)(예: 제 1 인증 정보를 포함하는 데이터)로부터 제 1 해시 값(43)을 획득할 수 있다. 실시 예에 따라서 서명 대상 데이터(41)는 제 1 인증 정보 이외의 다른 정보를 추가적으로 더 포함할 수도 있다. 전자 장치는 해시 함수(42)를 이용하여 획득된 제 1 해시 값(43)을 사용자의 개인 키(44)에 기반하여 암호화한 암호화 데이터(46)를 생성할 수 있다. 암호화 데이터를 기반으로, 전자 장치는 서명 데이터를 생성할 수 있다. 본 명세서는 전술한 과정 사용자의 개인 키에 기반하여 전자 서명을 수행하는 과정이라고 언급할 수 있다. 일 실시 예에 따르면, 서명 데이터(45, 또는 도 3의 35)는 블록 체인에 참여한 노드를 통해서 저장될 수 있도록 통신 장치(223)을 이용하여 블록체인 네트워크에 전송 될 수 있다.
도 5는 일 실시 예에 따른, 전자 서명된 서명 데이터(35)의 유효성을 확인하는 방법을 설명하기 위한 블록도(50)이다.
도 3에 도시된 방법에 의하여 전자 서명을 수행한 경우, 전자 장치(예: 도 2의 전자 장치 210) 또는 서버(예: 도 2의 인증 서버 220)는 서명 대상 데이터(37)와 암호화 데이터(36)를 포함하는 서명 데이터(35)를 획득할 수 있다. 전자 장치 또는 서버는 서명 데이터(35)로부터 서명 대상 데이터(37)와 암호화 데이터(36)를 획득할 수 있다. 전자 장치 또는 서버는 개인 키(예: 도 3의 개인 키 34)와 키 쌍을 이루는 공개 키(54)를 기반으로 암호화 데이터(36)를 복호화할 수 있다. 전자 장치 또는 서버는 해시 함수(32)를 이용하여 서명 대상 데이터(37)로부터 제 2 해시 값(51)을 획득할 수 있다. 전자 장치 또는 서버는 제 2 해시 값(51)과 암호화 데이터(36)로부터 복호화된 값을 비교할 수 있다. 전자 장치 또는 서버는 비교 결과에 기초하여 전자 서명의 유효성을 확인할 수 있다. 예를 들면, 제 2 해시 값(51)과 암호화 데이터(36)로부터 복호화된 값이 서로 다른 경우, 전자 장치 또는 서버는 전자 서명이 유효하지 않다고 판단할 수 있다. 반대로, 제 2 해시 값(51)과 암호화 데이터(36)로부터 복호화된 값이 일치하는 경우, 전자 장치 또는 서버는 전자 서명이 유효하다고 판단할 수 있다.
도 6은 다른 실시 예에 따른, 전자 서명된 서명 데이터(45)의 유효성을 확인하는 방법을 설명하기 위한 블록도(60)이다.
도 4에 도시된 방법에 의하여 전자 서명을 수행한 경우, 서버(예: 도 2의 인증 서버 220)는 블록체인 트랜잭션 식별자에 의하여 블록체인 네트워크(예: 도 2의 블록체인 네트워크 230)를 통해 서명 데이터(45)를 획득 할 수 있다. 서버는 획득한 서명 데이터(45)에 포함된 암호화 데이터(예: 전자 장치가 개인 키(도 4의 44)에 기반하여 암호화한 암호화 데이터 46)을 공개 키에 기반하여 복호화할 수 있다. 서버는 사용자의 전자 장치에게 전달 했던 인증 정보(예: OTP 값, 논스(Nonce) 값)(61)를 저장하고 있을 수 있다. 서버는 해시 함수를 이용해서 저장된 인증 정보(61)로부터 제 2 해시 값(51)을 생성 할 수 있다. 서버는 생성된 제 2 해시 값(51)과 암호화 데이터(46)를 복호화된 데이터(52)를 비교한 결과에 기초하여, 전자 서명의 유효성을 검증 할 수 있다. 예컨대, 복호화된 데이터와 제 2 해시 값(51)이 매칭되는 경우, 전자 장치 또는 서버는 인증된 사용자에 의해서 전자 서명이 수행되었다고 판단하고, 전자 서명이 유효하다고 확인할 수 있다. 복호화된 데이터와 제 2 해시 값(51)이 매칭되지 않을 경우, 전자 장치 또는 서버는 전자 서명이 유효하지 않다고 확인할 수 있다.
다시 도 3을 참조하면, 전자 장치(210)는 생성된 서명 데이터를 블록 체인 네트워크(230)에 포함된 블록 체인 노드(235)에 기록하기 위한 블록체인 트랜잭션 (Transaction)을 블록체인 네트워크(230)에 전달 할 수 있다. 블록체인 네트워크(230)에 참여한 적어도 하나의 노드(235)는 네트워크를 통해 수신한 블록체인 트랜잭션을 검증 할 수 있다. 검증된 블록체인 트랜잭션이 정상적인 트랜잭션인 경우, 적어도 하나의 노드(235)는 블록체인 트랜잭션에 대한 정보를 가지는 블록을 생성할 수 있다. 생성된 블록은 기존에 생성된 블록과 연결 되어 블록체인 상에 저장 될 수 있다. 생성된 블록은 노드의 데이터 영역에 저장될 수 있다. 여기서, 트랜잭션 ID 에 대한 정보가 블록에 기록될 수 있다. 블록체인 네트워크(230)에 접근하는 장치(예: 전자 장치(210) 또는 인증 서버(220))는 트랜잭션 ID에 기반하여 블록에 저장된 트랜잭션의 데이터들을 확인할 수 있다. 블록 체인 노드(235)에 기록되는 데이터는 트랜잭션 데이터(transaction data)라고 언급될 수도 있다. 일 실시 예에 따르면, 블록 체인 네트워크(230)는 공개(public) 블록 체인 네트워크일 수 있다. 공개 블록 체인 네트워크에 기반하여 서명 데이터를 기록하는 경우, 별도의 인증서 발급 기관 없이도 사용자를 인증할 수 있다. 다른 실시 예에 따르면, 블록 체인 네트워크(230)는 사설(private) 블록 체인 네트워크일 수도 있다 일 실시 예에 따르면, 블록 체인 네트워크 (230)가 공개 블록체인 네트워크일 경우, 서명 정보가 저장되는 노드는 불특정의 다수의 공개된 노드일 수 있다. 퍼블릭 블록 체인의 경우 누구나 트랜잭션 ID에 기반하여 블록에 저장된 데이터들을 확인할 수 있다. 따라서, 블록체인 네트워크 (230)가 공개 블록체인 네트워크일 경우, 공개 블록 체인 네트워크가 개인과 키 쌍을 매칭시킴으로써, 기존의 개인을 인증하기 위해 별도로 필요했던 인증 기관을 고개 블록체인 네트워크가 대체할 수 있다. 블록체인 네트워크(230)이 기관이나 컨소시엄과 같은 주체에 의해 운영되는 사설 블록 체인 네트워크일 경우, 블록체인 네트워크(230)에서 사용되는 키 쌍은 블록체인 네트워크(230)를 운영하는 주체에 의해 발급된 것일 수 있다. 단 블록체인 네트워크의 종류는 기술한 블록체인에 제한 되지 않으며, 다양한 블록체인에 의하여 구현 될 수 있다.
전자 장치(210)는 블록 체인 노드(235)에 서명 데이터를 기록한 결과에 대한 응답으로 트랜잭션 식별 정보(TXID, transaction ID)를 획득할 수 있다. 트랜잭션 식별 정보를 통해서 블록체인 노드(235)에 기록된 트랜잭션을 확인하고, 해당 트랜잭션 데이터에 포함된 서명 데이터를 확인할 수 있다. 일 실시 예에 따르면, 트랜잭션 식별 정보는 트랜잭션 데이터를 블록 체인 노드(235)에 기록하면 발생하는 트랜잭션 ID를 포함할 수 있다. 일 실시 예에 따르면 트랜잭션 ID는 블록체인 트랜잭션에 관련된 다양한 데이터들을 이용하여 생성될 수 있다. 다양한 데이터는 예를 들어, 소프트웨어 버전 정보, 입력 값의 개수, 이전 트랜잭션의 데이터로부터 생성된 해시 값 또는 시퀀스(sequence) 값을 이용하여 생성될 수 있다. 일 실시 예에 따르면, 전자 장치 또는 블록체인 네트워크에 포함된 장치는 트랜잭션에 관련된 데이터를 헥스(Hex) 값으로 디코딩하고, 디코딩 된 값을 해시 함수 (예: SHA 256)을 이용하여 해시값을 생성할 수 있다. 전자 장치 또는 블록체인 네트워크에 포함된 장치는 생성된 해시값을 부호화 하여 트랜잭션 ID를 생성할 수 있다. 트랜잭션 ID를 생성하는 방법은, 기재한 내용으로 한정 되지 않으며, 블록체인의 종류나 특성에 따라 다양한 방법들로 생성될 수 있다. 상기 트랜잭션 ID는 전자 장치 또는 블록체인 네트워크에 의해서 생성될 수 있다. 트랜잭션 ID는 전자 화폐를 거래하는 전자 거래 과정에서 전송되는 서명 데이터를 문자열로 변환시킨 것일 수 있다. 전자 장치는 트랜잭션 ID를 이용하여 트랜잭션에 대해서 발생되는 해시 값을 조회하거나 식별할 수 있다. 트랜잭션 ID는 블록 체인 네트워크에 기록된 트랜잭션을 구분하는 식별자이다. 트랜잭션 데이터는, 예를 들어, 발송 계좌 정보, 수신 계좌 정보, 잔액, 입금액, 및 기타 데이터를 포함할 수 있다. 수신 계좌 정보는 블록체인 거래 생성시, 입금액이 전송되어야 할 계좌에 대한 블록체인 주소값을 포함할 수 있다. 일 실시 예에 따르면, 상기 수신 계좌 정보는 블록 체인 네트워크에 데이터를 기록할 계약(contract)의 주소를 포함할 수 있다.
일 실시 예에 따르면, 인증 서버(220) 또는 전자 장치(210)이 블록 체인 네트워크에 기록을 수행할 계약을 생성할 수 있다. 일 실시 예에 따르면 인증 서버(220)이 계약을 생성할 경우, 인증 서버(220)는 생성된 계약 주소를 전자 장치(210)에 전달 하고, 전자 장치(210)이 계약 주소에 해당하는 계약을 통해 공개키 또는 개인키에 의해 서명된 서명 데이터의 저장이 수행될 수 있도록 할 수 있다. 일 실시 예에 따르면 전자 장치 (210)이 계약을 생성 할 경우, 전자 장치 (210)는 생성된 계약을 통해서 블록체인의 노드 상에 공개 키나, 개인 키에 의해여 서명된 서명 데이터를 저장할 수 있다.
발명의 한 실시예에 따르면, 인증 서버(220)은 사용자의 계좌 정보를 전자 장치(210)에 제공할 수 있다. 인증 서버(220)은 블록체인 노드에 사용자의 인증을 위하여 정보를 저장하고 확인할 수 있는 계약(예: 스마트 컨트랙트)를 생성할 수 있다. 인증 서버(220)는 전자 장치(210)이 상기 생성된 계약을 통해서, 다양한 인증에 관련된 정보들(예: 서명데이터, 공개키)을 기록할 수 있도록 계약에 관련된 정보를 전자 장치(210)에 제공할 수 있다.
일 실시 예에 따르면, 전자 장치(210)는 블록체인의 트랜잭션 식별 정보 (TXID)를을 인증 서버(220)에 전송할 수 있다. 전자 장치(210)는 공개 키를 등록하기 위해 공개 키를 인증 서버(220)에 더 전송할 수 있다. 다른 실시 예에 따르면, 공개 키를 직접 인증 서버(220)에 전송하는 대신, 전자 장치(210)는 트랜잭션 데이터의 기타 데이터 영역에 공개 키를 기록할 수도 있다.
트랜잭션 식별 정보을 수신한 인증 서버(220)는 트랜잭션 식별 정보을 이용하여 블록 체인 네트워크(230)로부터 블록체인 노드에 저장된 트랜잭션 데이터에 접근 할 수 있으며, 블록의 데이터 영역에 저장된 트랜잭션 데이터에 포함된 서명 데이터를 획득할 수 있다. 발명의 한 실시예에 따르면, 인증 서버(220)는 전자 장치(210) 또는 블록 체인 네트워크(230)로부터 공개 키를 획득할 수 있다. 일 실시예에 따르면, 인증 서버 (220)은 공개 키 (Public key)를 이용하여 전자 서명된 서명 데이터의 유효성을 검증 할 수 있다. 인증 서버(220)은 각각의 사용자 정보와 사용자 정보에 대응하는 공개키 정보 및 사용자에게 할당한 인증 정보(제 1 인증 정보, 예: OTP 값, 논스(Nonce) 값)을 저장하여 관리 할 수 있다. 한 실시 예에 따르면 인증 서버 (230)은 자체적으로 개인키 및 공개키를 생성할 수 있다. 또한, 인증 서버(230)는 블록체인의 트랜잭션을 생성할 수 있다. 한 실시 예에 따르면, 인증 서버(230)이 자체적으로 계약을 생성할 경우, 인증 서버(230)는 생성된 계약에 전자 장치가 접근할 수 있도록, 생성된 계약의 블록체인 주소를 전자 장치에 전송할 수 있다. . 인증 서버(220)는 블록체인에서 획득한 서명 데이터를 사용자의 공개키로 복호화 할 수 있다.
인증 서버(220)는 복호화 된 데이터를 인증 서버(220)에 저장된 인증 정보로부터 해시 함수를 통해 생성한 값(제 2 해시 값)과 비교할 수 있다. 인증 서버(220)는 비교 결과에 기초하여 블록 체인 네트워크로부터 획득된 데이터가 공개 키를 등록한 사용자와 동일인에 의해서 서명이 된 데이터인지 확인할 수 있다.
인증 서버(230)는 공개 키를 이용하여 블록체인 네트워크를 통해서 획득한 서명 데이터의 적어도 일부를 복호화할 수 있다. 인증 서버(220)는 서명 데이터에서 복호화된 데이터와 인증 서버(220)에 저장된 인증 정보(즉, 전자 장치(210)에 전송되었던 인증 정보)를 비교할 수 있다.
예를 들어, 서버 또는 전자 장치는 서명 데이터의 적어도 일부를 공개 키에 의해 복호화된 데이터가 전자 장치가 서버로부터 획득한 인증정보를 기반으로 해시함수를 이용해서 생성한 해시 값(제 1 해시 값)과 매칭되는지 확인 할 수 있다. 인증 서버(220)는 인증 서버에 저장된 인증 정보로부터 해시 함수를 이용하여 생성된 제2 해시 값과 블록체인 네트워크를 통해 획득한 서명 데이터의 적어도 일부를 복화화한 데이터를 비교할 수 있다. 상기 복호화된 데이터와 제2 해시 값이 동일한 경우, 인증 서버(220)는 서명 데이터가 공개 키를 등록한 사용자에 의해 생성된 정보인 것으로 판단할 수 있다. 복호화된 데이터와 제 2 해시 값이 동일 한 경우 전자 서명이 유효하다라고 판단할 수 있다.
일 실시 예에 따르면, 인증 서버(220)는 인증 정보의 비교를 위하여 추가적인 동작(예: 해시 함수, 다이제스트)을 통해 계산된 값들을 비교 할 수 있다.
발명의 한 실시예에 따르면, 인증 서버(220)은 트랜잭션 식별정보에 기반해서 블록체인 네트워크를 통해서 획득한 서명 데이터가, 전자 장치 (210)에 의해 서명된 것인지 확인할 수 있다.
발명의 한 실시예에 따르면, 상기 서명 데이터에 서명한 사용자를 확인 하는 동작은, 인증 서버(220)가 전자 장치(210)에 전송한 제 1 인증 정보와 제 2 인증 정보에 기반하여 수행 될 수 있다. 예컨대 인증 서버(220)는 제1 인증 정보와 공개 키를 이용하여 서명 데이터로부터 획득되는 제2 인증 정보를 비교할 수 있다. 인증 서버(220)가 획득한 공개 키가 정상적인 공개 키이고, 획득된 서명 데이터가 전자 장치(210)에 의해 서명된 것인 경우, 제2 인증 정보는 제1 인증 정보와 매칭될 수 있다. 인증 서버(220)는 제1 인증 정보와 제2 인증 정보를 비교하고, 제1 인증 정보와 제2 인증 정보가 매칭되는 경우, 공개 키를 사용자 정보(225)와 맵핑(mapping)하여 데이터베이스(224)에 저장할 수 있다. 서명 데이터에 서명한 사용자를 확인하기 위하여, 인증 서버(220)는 상기 서명 데이터를 공개 키를 이용하여 복호화할 수 있다. 서명 데이터가 복호화되면, 인증 서버(220)는 제2 인증 정보를 획득할 수 있다. 일 실시 예에 따르면, 인증 서버(220)는 제1 인증 정보로부터 생성된 해시 값과 제2 인증 정보가 일치하는 경우, 서명을 수행하고 서명 데이터를 블록 체인 네트워크에 기록한 사용자가 인증 정보를 수신한 사용자와 동일한 사용자인 것으로 확인할 수 있다.
이후, 전자 장치(210)의 사용자는 개인 키를 사용자를 인증하기 위한 인증서와 같은 목적으로 사용할 수 있다. 일 실시 예에 따르면, 사용자의 인증이 필요한 경우, 전자 장치(210)는 개인 키를 이용하여 전자 서명을 수행하고, 전자 서명된 데이터를 인증 서버(220)에 전송할 수 있다. 인증 서버(220)는 블록 체인 네트워크(230)에 참여한 노드에 포함된 적어도 하나의 블록에 기록된 인증 데이터를 트랜잭션 식별정보를 통해서 획득할 수 있다. 또한, 인증 서버(220)는 저장되어 있는 사용자의 공개 키를 이용하여 서명 데이터를 복호화 할 수 있다. 복호화의 결과로 획득된 정보를 인증 서버에 저장되어 있는 인증 정보와 비교하여 서명 데이터가 동일 사용자에 의하여 생성된 데이터인지 확인하는 전자 서명 확인 과정을 수행 할 수 있다. 일 실시예에 따르면 기록된 데이터에 기초하여 공개 키를 확인하고, 확인된 공개 키에 기반하여 전자 서명된 데이터를 확인할 수 있다. 따라서, 공격자는 비대칭 암호화 방식으로 생성된 개인키와 공개키를 가지고, 자신의 개인 키로 서명한 데이터를 전송하고, 공격자의 공개 키로 서명을 확인하지 못하도록 함으로써, 높은 수준의 보안이 제공될 수 있다.
일 실시 예에 따르면, 전자 장치(210)는 스마트 컨트랙트(smart contract)를 이용하여 공개 키를 전달할 수 있다. 전자 장치(210)는 스마트 컨트랙트에 공개 키를 포함시켜 인증 서버(220)로 공개 키를 전달할 수도 있다.
도 7은 일 실시 예에 따른, 전자 장치가 전자 인증을 처리하기 위해 수행하는 프로세스를 도시한 순서도(300)이다.
일 실시 예에 따르면, 동작 310에서, 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(210))는 키 쌍을 생성할 수 있다. 일 실시 예에 따르면, 전자 장치는 블록 체인 네트워크(예: 도 2의 블록 체인 네트워크(230))에서 사용 가능한 키 쌍을 생성하기 위한 루트 시드(root seed)를 생성 또는 획득 할 수 있다. 일 실시예에 따르면 전자 장치(210)은 루트 시드에 기반하여 키 쌍(key pair)을 생성할 수 있다. 일 실시예에 따르면, 루트 시드는 블록 체인 네트워크(230)에서 사용 가능한 범위의 조건 내에서 임의적으로 생성되는 값을 의미할 수 있다. 루트 시드는 전자 장치(210)의 동작 중에 발생하는 동적 특징에 기초하여 생성될 수 있다. 예를 들어, 전자 장치(210)는 전자 장치(210)의 온도 센서로부터 출력되는 값이나 특정 위치의 전류 값 등으로부터 루트 시드를 생성할 수 있다. 다른 예를 들면, 전자 장치(210)는 전자 장치(210)에 포함된 하드웨어 칩의 고유한 값을 이용하여 루트 시드를 생성할 수도 있다.
일 실시 예에 따르면, 전자 장치(210)는 생성된 키 쌍 중 공개 키를 인증 서버(220)로 전송할 수 있다. 인증 서버(220)는 전자 장치(210)로부터 수신된 공개 키를 전자 장치(210)의 사용자에 대한 공개 키로 등록할 수 있다. 예를 들어, 전자 장치(210)는 인증 서버(220)에 공개 키 등록을 위해 공개 키를 포함하는 공개 키의 등록 요청을 전송할 수 있다. 공개 키 이외에 사용자에 대한 추가 정보가 인증 서버(220)에 더 저장될 수도 있다. 일 실시 예에 따르면, 전자 장치(210)가 등록 요청을 전송할 때, 전자 장치(210)는 전자 장치(210)의 사용자를 식별할 수 있는 사용자 정보를 인증 서버로 더 전송할 수 있다. 예를 들어, 인증 서버(220)는 사용자의 연락처나 사용자 계정의 ID를 더 저장할 수 있다.
동작 320에서, 전자 장치는 인증 서버(예: 도 2의 인증 서버(220))로부터 인증 정보를 수신할 수 있다. 예를 들어, 전자 장치(210)는 인증 서버에 전송한 등록 요청에 대한 응답으로 인증 정보를 수신할 수 있다.
동작 330에서, 전자 장치는 인증 정보 및 개인 키에 기반하여 서명 데이터를 획득할 수 있다. 예를 들어, 전자 장치는 인증 정보를 포함하는 데이터를 개인 키로 암호화할 수 있다.
동작 340에서, 전자 장치는 서명 데이터를 트랜잭션 데이터로서 블록 체인 노드에 기록하기 위하여, 서명 데이터를 블록체인 네트워크로 전송할 수 있다. 서명 데이터가 블록 체인 노드에 기록되면, 전자 장치는 기록된 서명 데이터에 대한 트랜잭션 식별 정보를 획득할 수 있다. 트랜잭션 데이터가 블록 체인 네트워크로 전송이 되면 그 트랜잭션 데이터에 대한 트랜잭션 ID를 전자 장치가 획득 할 수 있다. 전자 장치는 트랜잭션 ID를 포함하는 트랜잭션 식별 정보을 획득할 수 있다.
동작 350에서, 전자 장치는 블록 체인 노드에 기록된 서명 데이터에 대한 트랜잭션 식별 정보를 인증 서버로 전송할 수 있다.
보다 구체적인 예시를 들면, 예를 들어, 전자 장치는 "0xAAAA"를 공개 키로 생성할 수 있다. 또한, 인증 서버로부터 OTP 값으로 "1234"를 포함하는 인증 값이 수신되면, 전자 장치는 아래와 같이 서명(signature)을 생성할 수 있다.
Hash=web3.sha3("1234")
Signature=web3.personal.sign(hash,"0xAAAA",function(){...});
전자 장치는 위 정보를 개인 키로 서명하고 서명된 데이터를 블록 체인 노드에 기록되도록 블록체인 트랜잭션을 생성하여 블록체인 네트워크로 전송할 수 있다. 서명된 데이터가 기록된 블록체인 노드의 블록에는 블록체인 네트워크로 전송된 트랜잭션 데이터의 트랜잭션 식별자 (예: 트랜잭션 ID)인 "0xBBBB"가 기록될 수 있다. 전자 장치는 "0xBBBB"를 포함하는 정보를 인증 서버로 전송할 수 있다.
도 8는, 일 실시 예에 따른, 인증 서버가 전자 인증을 처리하기 위해 수행하는 프로세스를 도시한 순서도(400)이다.
일 실시 예에 따르면, 동작 410에서, 인증 서버(예: 도 2의 인증 서버(220))는 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(210))로부터 공개 키를 수신할 수 있다. 예를 들어, 인증 서버는 공개 키를 포함하는 공개 키의 등록 요청을 수신할 수 있다. 일 실시 예에 따르면, 인증 서버는 등록 요청을 전송한 전자 장치의 사용자에 대한 사용자 정보를 더 수신할 수 있다. 인증 서버는 수신된 사용자 정보에 기초하여 인증 서버에 구비된 데이터베이스에 저장된 사용자 정보(예: 도 2의 사용자 정보(225))를 검색할 수 있다. 일 실시예에 따르면 인증 서버(220)는 수신한 공개키와 수신한 사용자 정보를 연관시켜서 관리 할 수 있다. 예컨대, 인증 서버(220)는 수신한 공개키와 수신한 사용자 정보 (예: 전화번호, ID, EMAIL )등을 이용하여 등록된 사용자를 확인하고, 확인된 사용자의 공개키를 이용하는 데이터 베이스를 구축할 수 있다.
동작 420에서, 등록 요청에 대한 응답으로, 인증 서버는 전자 장치에 인증 정보를 전송할 수 있다. 예를 들어, 인증 서버는 OTP 값으로서 "1234" 를 포함하는 인증 정보(제1 인증 정보)를 전자 장치로 전송할 수 있다. 실시예에 따르면, 인증 서버(220)는 제 1 인증 정보와 등록된 사용자 정보 또는 공개키를 함께 저장하여 관리하는 데이터 베이스를 이용할 수 있다.
동작 430에서, 인증 서버는 전자 장치로부터 트랜잭션 식별 정보(TXID)를 수신할 수 있다. 예를 들어, 인증 서버는 트랜잭션 ID로서 "0xBBBB"를 포함하는 트랜잭션 식별 정보를 수신할 수 있다.
동작 440에서, 인증 서버(220)는 블록 체인 네트워크(예: 도 2의 블록 체인 네트워크(230))로부터 트랜잭션 식별 정보에 상응하는 서명 데이터를 획득할 수 있다. 예를 들어, 인증 서버는 전자 장치가 사용자의 개인키를 가지고 서명한 전자 서명된 데이터를 블록체인 네트워크를 통해서 확인할 수 있다. 발명의 한 실시예에 따르면, 트랜잭션 ID를 가지고 트랜잭션에 포함된 데이터를 제공하는 제 3의 서버나 서비스업체(예: Etherscan)를 통해서, 서명된 데이터를 획득 할 수 도 있다
동작 450에서, 인증 서버는 공개 키로 서명 데이터를 복호화하여, 서명 데이터가 공개 키와 키 쌍을 이루는 개인 키로 서명된 데이터 인지 확인할 수 있다. 예를 들어 인증 서버는 서버에 저장된 제 1 인증 정보로부터 사용자의 공개키 및 해시 함수에 기반해서 데이터를 생성할 수 있다. 인증 서버는 블록체인 네트워크로부터 획득한 서명 데이터를 복호화 하여 제 2 인증 정보를 획득할 수 있다. 인증 서버는 제2 인증 정보를 이용하여 동일한 사용자가 서명한 것인지 확인할 수 있다. 일 실시 예에 따르면, 인증 서버는 제 1 인증 정보 이외의 값을 이용하여 사용자를 확인할 수도 있다. 예컨대 인증 서버는 사용자와 관련된 정보들이 더 이용하여 사용자를 확인할 수 있고, 전자 서명의 부인 방지와 관련된 일련의 알고리즘들을 이용하여 서명 데이터와 인증 정보가 매칭 되는지 확인할 수 있다.
일 실시 예에 따르면, 인증 서버는 블록체인 네트워크를 통해서 획득한 서명 데이터가 사용자의 공개 키를 이용하여 정상적으로 복호화된 경우, 인증 서버는 서명 데이터로부터 인증 정보(제2 인증 정보)를 획득할 수 있다. 인증 서버는 서명 데이터로부터 획득된 인증 정보(제2 인증 정보)와 전자 장치에 전송한 인증 정보(제1 인증 정보)를 비교할 수 있다. 동작 460에서, 서명 데이터로부터 획득된 인증 정보(제2 인증 정보)와 전자 장치에 전송한 인증 정보(제1 인증 정보)가 일치하는 경우, 전자 장치는 서명 데이터와 인증 정보가 매칭되는 것으로 판단할 수 있다. 예를 들어, 인증 서버는 서명 데이터로부터 얻어진 인증 정보가 "1234"인지 판단할 수 있다. 실시 예에 따라서, 도 5 또는 도 6 및 관련된 설명에서 제시된 방법을 이용하여 제1 인증 정보와 제2 인증 정보의 일치 여부를 판단할 수 있다. 즉, 일 실시 예에 따르면, 인증 서버는 인증 정보 자체가 아닌 인증 정보로부터 얻어지는 해시 값을 비교하여 제1 인증 정보와 제2 인증 정보의 일치 여부를 판단할 수 있다.
서명 데이터와 인증 정보가 매칭되는 경우, 동작 470에서 인증 서버는 공개 키를 데이터베이스에 저장된 사용자 정보와 맵핑하여 저장할 수 있다. 일 실시 예에 따르면, 공개 키에 맵핑되는 사용자 정보는 데이터베이스에 저장된 정보 중에서 등록 요청과 함께 수신된 사용자 정보에 상응하는 정보일 수 있다.
일 실시 예에 따르면, 인증 서버는 동작 430에서 수신된 트랜잭션 식별 정보와 사용자 정보를 맵핑하여 더 저장할 수 있다. 즉, 인증 서버는 데이터베이스가 사용자 정보, 트랜잭션 식별 정보 및 공개 키를 맵핑하여 저장하도록 할 수 있다.
도 9는 다른 실시 예에 따른, 인증 서버가 전자 인증을 처리하기 위해 수행하는 프로세스를 도시한 순서도(500)이다.
일 실시 예에 따르면, 동작 510에서, 인증 서버(예: 도 2의 인증 서버(220))는 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(210))에 인증 정보(제1 인증 정보)를 전송할 수 있다. 일 실시 예에 따르면, 인증 서버는 등록 요청을 전송한 전자 장치의 사용자에 대한 사용자 정보를 더 수신할 수 있다. 인증 서버는 수신된 사용자 정보에 기초하여 인증 서버에 구비된 데이터베이스에 저장된 사용자 정보(예: 도 2의 사용자 정보(225))를 검색할 수 있다.
동작 520에서, 인증 서버는 전자 장치로부터 트랜잭션 식별 정보를 수신할 수 있다. 예를 들어, 인증 서버는 트랜잭션 ID로서 "0xBBBB"를 포함하는 트랜잭션 식별 정보를 수신할 수 있다.
동작 530에서, 인증 서버는 블록 체인 네트워크로부터 트랜잭션 식별 정보에 상응하는 공개 키 및 서명 데이터를 읽어들일 수 있다. 예를 들어, 인증 서버는 트랜잭션 식별 정보에 포함된 트랜잭션 ID에 상응하는 블록에 기록된 데이터를 읽어들일 수 있다. 트랜잭션 ID에 상응하는 블록의 기타 데이터 항목에 전자 장치에 의해 기록된 공개 키가 저장되어 있을 수 있다.
동작 540에서, 인증 서버는 획득된 공개 키를 이용하여 서명 데이터의 적어도 일부를 복호화할 수 있다. 인증 서버는 복호화된 서명 데이터로부터 인증 정보(제2 인증 정보)를 획득할 수 있다. 서명 데이터가 공개 키와 키 쌍을 이루는 개인 키로 서명된 데이터 인지 확인하기 위해, 인증 서버는 서명 데이터로부터 획득된 인증 정보(제2 인증 정보)와 전자 장치에 전송한 인증 정보(제1 인증 정보)를 비교할 수 있다. 예를 들어 인증 서버는 서버에 저장된 제 1 인증 정보로부터 사용자의 공개키 및 해시 함수에 기반해서 데이터를 생성할 수 있다. 인증 서버는 블록체인 네트워크로부터 획득한 서명 데이터를 복호화 하여 제 2 인증 정보를 획득할 수 있다. 인증 서버는 제2 인증 정보를 이용하여 동일한 사용자가 서명한 것인지 확인할 수 있다. 일 실시예에 따르면, 인증 서버는 제 1 인증 정보 이외의 값을 이용하여 사용자를 확인할 수도 있다. 예컨대 인증 서버는 사용자와 관련된 정보들이 더 이용하여 사용자를 확인할 수 있고, 전자 서명의 부인 방지와 관련된 일련의 알고리즘들을 이용하여 서명 데이터와 인증 정보가 매칭 되는지 확인할 수 있다. 동작 550에서, 서명 데이터로부터 획득된 인증 정보(제2 인증 정보)와 전자 장치에 전송한 인증 정보(제1 인증 정보)가 일치하는 경우, 인증 서버는 서명 데이터와 인증 정보가 매칭되는 것으로 판단할 수 있다. 다만, 일 실시 예에 따르면, 인증 서버는 인증 정보 자체가 아닌 인증 정보로부터 얻어지는 해시 값을 비교하여 제1 인증 정보와 제2 인증 정보의 일치 여부를 판단할 수 있다.
서명 데이터와 인증 정보가 매칭되는 경우, 동작 560에서 인증 서버는 공개 키를 데이터베이스에 저장된 사용자 정보와 맵핑하여 저장할 수 있다. 일 실시 예에 따르면, 공개 키에 맵핑되는 사용자 정보는 데이터베이스에 저장된 정보 중에서 등록 요청과 함께 수신된 사용자 정보(예: 전화번호, 이름, 주소, 성별, 계정 ID)에 상응하는 정보일 수 있다.
도 10은, 일 실시 예에 따른, 공개 키를 인증 서버에 등록하는 프로세스를 도시한 순서도이다.
동작 611에서, 전자 장치(601)(예: 도 1의 전자 장치(101), 도 2의 전자 장치(210))는 인증에 사용될 키 쌍을 생성할 수 있다. 여기서, 키 쌍은 블록 체인 네트워크(603)(예: 도 2의 블록 체인 네트워크(230))에서 사용될 수 있는 조건(예: 길이)을 만족하는 공개 키 및 개인 키를 포함할 수 있다.
동작 613에서, 전자 장치(601)는 공개 키의 등록 요청을 인증 서버(602)로 전송할 수 있다. 전자 장치(601)는 등록될 공개 키의 사용자를 식별할 수 있는 사용자 정보를 인증 서버(602)로 더 전송할 수 있다. 사용자 정보를 인증 서버(602)로 전송하기 위해, 전자 장치(601)는 사용자 정보를 입력 받기 위한 사용자 인터페이스를 출력하거나, 사용자를 인증하기 위한 별도의 인증 프로세스를 더 수행할 수도 있다.
동작 615에서, 인증 서버(602)는 등록 요청에 상응하는 인증 정보(제1 인증 정보)를 생성하고, 전자 장치(601)로 인증 정보를 전송할 수 있다. 인증 정보는 인증 정보에 대해 서명한 서명 데이터가 블록 체인에 기록되었을 때, 해당 블록 체인에 서명 데이터를 기록한 사용자가 인증 정보를 수신한 사용자임을 확인하기 위한 정보를 포함할 수 있다. 예를 들어, 인증 정보는 OTP 값 또는 논스(Nonce) 값을 포함할 수 있다.
동작 617에서, 전자 장치(601)는 인증 정보에 대해서 전자 서명을 수행할 수 있다. 여기서, 전자 장치(601)는 동작 611에서 생성된 키 쌍 중 개인 키에 기반하여 인증 정보를 포함하는 서명을 암호화할 수 있다.
동작 619에서, 전자 장치(601)는 동작 617을 수행한 결과로 생성된 서명 데이터를 블록 체인 네트워크(603)(예: 도 2의 블록 체인 네트워크(230))의 블록체인 노드(예: 도 2의 블록 체인 노드(235))에 기록하기 위하여 상기 서명 데이터가 포함된 트랜잭션 데이터를 블록 체인 네트워크(603)에 전송할 수 있다. 노드는 트랜잭션에 대한 검증(예: 블록체인에서의 마이닝(mining) 작업)을 수행하고, 검증이 완료된 트랜잭션 데이터는 블록체인의 블록에 포함되어 저장 될 수 있다. 여기서,
전자 장치는 서명 데이터와 공개키를 포함하여 전자 서명하고 서명된 데이터가 블록체인 노드(235)를 통해 저장 되도록 블록체인 네트워크로 서명된 데이터를 포함하는 트랜잭션 데이터를 전송할 수 있다.
동작 621에서, 전자 장치(601)는 서명 데이터가 기록된 블록에 대한 트랜잭션 식별 정보를 획득할 수 있다. 동작 623에서, 전자 장치(601)는 획득된 트랜잭션 식별 정보를 인증 서버(602)로 전송할 수 있다.
동작 625에서, 인증 서버(602)는 블록 체인 네트워크(603)에 블록에 기록된 데이터 중에서 트랜잭션 식별 정보에 데이터를 요청할 수 있다. 동작 627에서, 인증 서버(602)는 트랜잭션 식별 정보에 상응하는 데이터를 획득할 수 있다. 동작 627에서 획득된 데이터는 서명 데이터 및 공개 키를 포함할 수 있다.
동작 629에서, 인증 서버(602)는 획득된 공개 키로 서명 데이터를 확인할 수 있다. 인증 서버(602)는 공개 키로 서명 데이터를 복호화하고, 서명 데이터에 포함된 인증 정보(제2 인증 정보)를 식별할 수 있다.
제1 인증 정보와 제2 인증 정보가 일치하는 경우, 동작 631에서 인증 서버(602)는 공개 키를 인증 서버(602)가 가지는 사용자 정보에 등록할 수 있다. 즉, 인증 서버(602)는 공개 키를 사용자 정보와 맵핑하여 저장할 수 있다. 일 실시 예에 따르면, 제2 인증 정보는 해시 값의 형태이고, 제1 인증 정보는 본래의 인정 정보의 형태(예: OTP 값, 또는 논스 값)일 수 있다. 이 경우, 인증 서버(602)는 제1 인증 정보와 제2 인증 정보가 일치하는지 판단하기 위하여 인증 서버(602)에 저장된 제1 인증 정보로부터 해시 함수를 이용하여 해시 값을 획득할 수 있다. 인증 서버(602)는 제1 인증 정보로부터 획득된 해시 값과 제2 인증 정보를 비교할 수 있다.
공개 키의 등록이 완료된 경우, 동작 633에서 인증 서버(602)는 등록 완료 메시지를 전자 장치(601)에 전송할 수 있다.
다른 실시 예에 따르면, 전자 인증 시스템은 전자 장치(701)와 인증 서버(702)사이의 데이터 송수신을 중계하는 릴레이 서버를 더 포함할 수 있다.
도 11은, 일 실시 예에 따른, 전자 인증에 기반한 거래를 처리하는 프로세스를 도시한 순서도이다. 일 실시 예에 따르면, 도 11에 도시된 프로세스는 도 7 내지 도 10 중 적어도 하나에 나타난 동작에 의해 서명 데이터를 블록체인 네트워크에 전송하고 트랜잭션 식별 정보를 획득한 이후에 수행될 수 있다.
인증 서버(702)(예: 도 2의 인증 서버(220))는 거래와 관련된 인증을 요청 받을 수 있다. 예를 들어. 사용자가 은행 서버에 자신의 계좌로부터 다른 계좌로 송금을 요청한 경우, 은행 서버(예: 거래 처리 장치(704))는 인증 서버(702)에 송금을 요청한 사용자가 정당한 사용자인지에 대한 인증을 요청할 수 있다(예: 동작 709). 다른 예를 들면, 사용자가 온라인 결제를 요청한 경우, 온라인 결제를 수행하는 결제 처리 장치(예: 거래 처리 장치(704))는 온라인 결제를 요청한 사용자에 대한 인증을 인증 서버(702)에 요청할 수 있다(예: 동작 709)).
상기 사용자에 대한 인증에 대한 요청에 에 대응하여, 동작 711에서 인증 서버(702)는 거래와 관련된 사용자의 장치로 등록된 전자 장치(701) (예: 도 1의 전자 장치(101), 도 2의 전자 장치(210))로 거래 인증 요청을 전송할 수 있다. 일 실시 예에 따르면, 인증 서버(702)는 동작 709에서 거래 처리 장치(704)로부터 수신된 전자 장치(701) 또는 전자 장치(701)의 사용자를 식별할 수 있는 정보(예: 전화번호, 사용자 이름, 또는 사용자 계정 ID)를 이용하여 전자 장치(701)로 거래 인증 요청을 전송할 수 있다. 거래 인증 요청은 인증의 대상이 되는 거래의 거래 내역을 포함할 수 있다. 거래 내역은, 예를 들면, 금액, 송금자, 또는 거래 대상자에 대한 정보를 포함할 수 있다.
동작 713에서, 전자 장치(701)는 거래 내역에 대해 개인 키에 기반하여 전자 서명을 수행할 수 있다. 동작 713에서, 전자 장치(701)는 전자 서명과 관련하여 거래 내역에 대한 정보를 사용자가 확인할 수 있도록 출력할 수 있다. 또한, 전자 장치(701)는 거래 내역을 확인한 사용자가 전자 서명을 진행할 것인지 여부에 대한 사용자 입력을 수신한 경우에 전자 서명을 수행할 수도 있다. 일 실시 예에 따르면, 전자 장치(701)는 거래 내역으로부터 해시 이용하여 해시 값을 획득할 수 있다. 전자 장치(701)는 획득된 해시 값에 대해 전자 서명을 수행할 수 있다.
동작 715에서, 전자 장치(701)는 인증 서버(703)에 거래 확인 서명 데이터 및 트랜잭션 식별 정보를 전송할 수 있다.
한 실시 예에 따르면 상기 트랜잭션 식별 정보는 블록체인 네트워크를 통해 획득된 트랜잭션 식별 정보일 수 있다. 거래 확인 서명 데이터는 거래 내역에 대해 전자 장치(701)가 개인 키에 기반하여 전자 서명을 수행한 데이터를 포함할 수 있다. 동작 715에서 전송되는 트랜잭션 식별 정보는 전자 장치(701)가 공개 키를 블록 체인 네트워크(703)에 기록하였을 때 생성된 것일 수 있다.
동작 717에서, 인증 서버(702)는 트랜잭션 식별 정보에 기반하여 블록 체인 네트워크(703)에 데이터를 요청할 수 있다. 동작 719에서, 인증 서버(702)는 트랜잭션 식별 정보에 상응하는 블록에 기록된 데이터로부터 공개 키를 획득할 수 있다.
동작 721에서, 인증 서버(702)는 인증 서버(702)에 등록된 공개 키와 블록 체인 네트워크(703)로부터 획득된 공개 키의 일치 여부를 판단할 수 있다. 인증 서버(702)에 등록된 공개 키와 블록 체인 네트워크(703)로부터 획득된 공개 키가 일치하지 않는 경우, 인증 서버(702)는 등록된 공개 키에 문제가 있는 것으로 판단하고, 거래의 처리를 중단할 수 있다. 일 실시 예에 따르면, 등록된 공개 키가 획득된 공개 키와 일치하지 않는 경우. 공개 키의 재등록을 요청하는 메시지를 전자 장치(701)로 전송할 수도 있다.
인증 서버(702)에 등록된 공개 키와 블록 체인 네트워크(703)로부터 획득된 공개 키가 일치하는 경우, 동작 723에서 인증 서버(702)는 등록된 공개 키로 거래 확인 서명 데이터를 확인할 수 있다. 일 실시 예에 따르면, 인증 서버(702)는 거래 확인 서명 데이터로부터 해시 값을 획득하고, 인증 서버(702)에 저장된 거래 내역으로부터 생성되는 해시 값가 상기 획득된 해시 값이 일치하는 경우 거래 확인 서명 데이터가 공개 키와 쌍을 이루는 개인 키에 기초하여 전자 서명된 것으로 판단할 수 있다. 전자 서명이 정당하게 이루어진 것으로 판단되는 경우, 동작 725에서 인증 서버(702)는 거래에 대한 인증 처리를 수행할 수 있다. 예를 들어, 동작 725에서, 인증 서버(702)는 인증 결과에 대한 정보를 거래 처리 장치(704)로 전송할 수 있다.
요청된 거래가 수행되면, 동작 727에서 인증 서버(702)는 수행된 거래를 블록 체인 노드에 기록할 수 있다. 다만, 블록 체인 노드에 기록하는 동작은 비용을 발생시킬 수 있으므로, 동작 727은 실시 예에 따라서 제외될 수도 있다. 다른 실시 예에 따르면, 블록 체인 노드(727)에 수행된 거래를 기록하는 동작은 조건부로 수행될 수도 있다. 예를 들어, 수행된 거래의 수가 정해진 값만큼 누적되거나, 거래 금액이 정해진 값 이상으로 누적된 경우에 동작 727이 수행될 수도 있다.
요청된 거래가 수행되면, 동작 729에서 인증 서버(702)는 전자 장치(701)에 거래 인증 완료 메시지를 전송할 수 있다. 일 실시 예에 따르면, 전자 장치(701)는 거래 인증 완료 메시지에 포함된 정보를 출력할 수 있다.
도 12는 일 실시 예에 따른, 전자 인증에 기반한 블록 체인 거래를 처리하는 프로세스를 도시한 순서도이다.
다양한 실시 예에 따른 인증 방식은 디지털 화폐에 기반한 블록 체인 거래를 처리하기 위해 이용될 수도 있다. 일 실시 예에 따르면, 도 12에 도시된 프로세스는 도 7 내지 도 10 중 적어도 하나에 나타난 동작에 의해 서명 데이터를 블록체인 네트워크에 전송하고 트랜잭션 식별 정보를 획득한 이후에 수행될 수 있다.
전자 장치(801) (예: 도 1의 전자 장치(101), 도 2의 전자 장치(210))는 전자 장치(801)에 설치된 전자 지갑 (wallet 월렛) 어플리케이션을 이용하여 디지털 화폐에 대한 거래(예: 디지털 화폐의 송금 또는 디지털 화폐를 통한 지불)를 수행할 수 있다. 동작 811에서, 전자 장치(801)는 송금 또는 지불의 대상이 될 계좌 정보를 입력 받을 수 있다.
동작 813에서, 전자 장치(801)는 입력된 계좌 정보에 대해 개인 키에 기반하여 전자 서명(813)을 수행할 수 있다. 여기서, 개인 키는 인증 서버(802)에 등록한 공개 키와 쌍으로 생성된 키 값일 수 있다.
동작 815에서, 전자 장치(801)는 전자 서명된 계좌 정보 및 트랜잭션 식별 정보를 인증 서버(802)로 전송할 수 있다. 동작 815에서 전송되는 트랜잭션 식별 정보는 전자 장치(801)가 공개 키를 인증 서버(802)에 등록하기 위해 블록 체인 네트워크(803)(예: 도 2의 블록 체인 네트워크(230))에 서명 데이터를 기록하였을 때 부여된 정보를 포함할 수 있다.
트랜잭션 식별 정보, 사용자 정보, 및 공개 키가 맵핑되어 데이터베이스에 저장된 경우, 인증 서버(802)는 동작 817에서 트랜잭션 식별 정보에 기초하여 계좌 정보의 암호화를 해제할 수 있다. 즉, 인증 서버(802)는 트랜잭션 식별 정보에 맵핑된 사용자 정보 및 공개 키를 검색할 수 있고, 검색된 공개 키를 이용하여 계좌 정보를 복호화할 수 있다.
일 실시 예에 따르면, 동작 817에서, 인증 서버(802)는 트랜잭션 식별 정보에 기초하여 블록 체인 네트워크(803)로부터 공개 키를 읽어들이고, 블록 체인 네트워크(803)로부터 획득된 공개 키와 인증 서버(802)에서 검색된 공개 키를 대조하는 동작을 더 수행할 수도 있다. 이 경우, 인증 서버(802)는 블록 체인 네트워크(803)로부터 획득된 공개 키와 인증 서버(802)에서 검색된 공개 키가 일치하는 경우에 한해서 계좌 정보의 암호화를 해제하는 동작 817을 수행할 수도 있다. 인증 서버(802)는 공개 키에 의해 계좌 정보가 정상적으로 복호화된 경우에 한해서 거래가 진행되도록 인증을 처리할 수 있다.
동작 819에서, 인증 서버(802)는 계좌 정보에 기반하여 사용자 정보를 검색할 수 있다. 공개 키의 등록 과정에서 공개 키, 계좌 정보와 사용자 정보가 데이터베이스에 맵핑되어 저장했었으므로, 인증 서버(802)는 계좌 정보에 기반하여 사용자 정보를 검색할 수 있다. 동작 821에서 인증 서버(802)는 전자 장치(801)로 사용자 정보를 전송하고, 동작 823에서 전자 장치(801)는 수신된 사용자 정보를 출력할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나",“A 또는 B 중 적어도 하나”, "A, B 또는 C", "A, B 및 C 중 적어도 하나” 및 “A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어™)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (15)

  1. 전자 장치에 있어서,
    신호를 송신 또는 수신하는 통신 장치;
    메모리; 및
    상기 통신 장치 및 메모리와 연결된 프로세서를 포함하며,
    상기 메모리는, 실행시에 상기 프로세서가,
    공개 키 및 개인 키를 포함하는 키 쌍을 생성하고,
    인증 서버로부터 인증 정보를 상기 통신 장치를 이용하여 수신하고,
    상기 개인 키를 기반으로 상기 인증 정보에 전자 서명하여 서명 데이터를 생성하고,
    상기 서명 데이터를 포함하는 트랜잭션 데이터를 생성하고,
    상기 트랜잭션 데이터를 블록체인 네트워크로 전송하고,
    상기 트랜잭션 데이터에 대응하는 트랜잭션 식별 정보를 상기 인증 서버로 전송하도록 상기 통신 장치를 제어하게 하는 인스트럭션들을 저장하는, 전자 장치.
  2. 청구항 1에 있어서,
    상기 서명 데이터는,
    상기 인증 정보를 상기 개인 키로 암호화하여 생성되는 값을 포함하는,
    전자 장치.
  3. 청구항 1에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 공개 키를 상기 인증 서버로 더 전송하도록 상기 통신 장치를 제어하게 하는 인스트럭션들을 포함하는,
    전자 장치.
  4. 청구항 3에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 개인 키를 이용하여 전자 서명된 계좌 정보 및 상기 트랜잭션 식별 정보를 포함하는 디지털 화폐 거래 요청을 상기 인증 서버로 전송하도록 상기 통신 장치를 제어하게 하는 인스트럭션들을 포함하는, 전자 장치.
  5. 청구항 1에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 블록체인 노드에 저장되도록 상기 블록체인 네트워크에 상기 공개 키를 전송하는 인스트럭션들을 포함하는, 전자 장치
  6. 청구항 1에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 블록체인 네트워크의 루트 시드(root seed)에 기반하여 상기 키 쌍을 생성하도록 하는, 전자 장치.
  7. 청구항 1에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 통신 장치를 통해서 상기 인증 서버로부터 거래 내역을 포함하는 거래 인증 요청 데이터를 수신하고,
    상기 거래 인증 요청 데이터에 대한 응답으로, 상기 개인 키에 기반하여 상기 거래 내역에 전자 서명하여 거래 확인 서명 데이터를 생성하며,
    상기 거래 확인 서명 데이터 및 상기 트랜잭션 식별 정보를 상기 인증 서버로 전송하는, 전자 장치.
  8. 인증 서버에 있어서,
    신호를 통신 또는 수신하는 통신 장치;
    사용자 정보를 저장하는 데이터베이스;
    메모리; 및
    상기 통신 장치 및 메모리와 연결된 프로세서를 포함하며,
    상기 메모리는, 실행시에 상기 프로세서가,
    전자 장치에 의해서 생성된 공개 키를 획득하며,
    상기 통신 장치를 통해서 상기 전자 장치에 제1 인증 정보를 전송하고,
    상기 제1 인증 정보에 대한 응답으로 상기 통신 장치를 통해서 상기 전자 장치로부터 트랜잭션 식별 정보를 수신하며,
    상기 트랜잭션 식별 정보를 이용하여 블록체인 네트워크로부터 서명 데이터를 획득하고,
    상기 서명 데이터로부터 상기 공개 키를 이용하여 제2 인증 정보를 획득하고,
    상기 제2 인증 정보와 상기 제1 인증 정보를 이용하여 상기 전자 장치의 사용자에 대한 인증을 수행하도록 하는 인스트럭션들을 저장 하는 인증 서버,
  9. 청구항 8에 있어서,
    상기 인스트럭션들은, 상기 프로세서가, 상기 트랜잭션 식별 정보에 기반하여, 블록체인 네트워크의 블록에 저장된 트랜잭션 데이터를 획득하고, 상기 트랜잭션 데이터에 포함된 상기 서명 데이터를 획득하도록 하는, 인증 서버.
  10. 청구항 8에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 통신 장치를 통해서 암호화된 계좌 정보 및 상기 트랜잭션 식별 정보를 포함하는 디지털 화폐 거래 요청을 수신하고,
    상기 디지털 화폐 거래 요청에 대한 응답으로, 상기 트랜잭션 식별 정보에 상응하는 상기 공개 키를 검색하고, 상기 검색된 공개 키를 이용하여 상기 계좌 정보를 복호화하며, 상기 공개 키에 상응하는 사용자 계좌 및 상기 계좌 정보에 기초하여 거래가 수행되도록 하는 인스트럭션들을 포함하는, 인증 서버.
  11. 청구항 8에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 통신 장치를 통해서 상기 전자 장치에 거래 내역을 포함하는 거래 인증 요청 데이터를 전송하고,
    상기 전자 장치로부터 상기 통신 장치를 통해서 상기 거래 인증 요청 데이터에 상응하는 거래 확인 서명 데이터를 수신하며,
    상기 트랜잭션 식별 정보에 상응하는 상기 공개 키를 검색하며,
    상기 검색된 공개 키를 이용하여 상기 거래 확인 서명 데이터를 복호화하도록 하는 인스트럭션들을 포함하는, 인증 서버.
  12. 청구항 11에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 공개 키를 이용하여 상기 거래 확인 서명 데이터를 복호화하고, 상기 복호화된 서명 데이터가 상기 사용자가 서명한 데이터일 경우, 상기 거래 내역에 상응하는 거래를 수행하도록 하는 인스트럭션들을 포함하는, 인증 서버.
  13. 청구항 11에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 트랜잭션 식별 정보를 이용하여 상기 블록체인 네트워크로부터 공개 키를 읽어들이고,
    상기 읽어들인 공개 키와 상기 인증 서버에 저장된 공개키가 일치하는지 판단하도록 하는, 인증 서버.
  14. 전자 인증을 처리하도록 전자 장치를 제어하는 방법에 있어서,
    사용자의 공개 키 및 개인 키를 포함하는 키 쌍을 생성하는 동작;
    인증 서버로부터 인증 정보를 수신하는 동작;
    상기 개인 키를 기반으로 상기 인증 정보에 전자 서명하여 서명 데이터를 생성하는 동작;
    상기 서명 데이터를 포함하는 트랜잭션 데이터를 생성하는 동작;
    상기 트랜잭션 데이터를 블록체인 네트워크로 전송하는 동작; 및
    상기 트랜잭션 데이터에 상응하는 트랜잭션 식별 정보를 상기 인증 서버로 전송하는 동작을 포함하는, 방법.
  15. 사용자 정보를 가지는 인증 서버가 전자 인증을 수행하는 방법에 있어서,
    전자 장치에 의해서 생성된 공개 키를 획득하는 동작;
    상기 전자 장치에 제1 인증 정보를 전송하는 등작;
    상기 제1 인증 정보에 대한 응답으로 상기 전자 장치로부터 트랜잭션 식별 정보를 수신하는 동작;
    상기 트랜잭션 식별 정보를 이용하여 블록체인 네트워크로부터 서명 데이터를 획득하는 동작;
    상기 서명 데이터로부터 상기 공개 키를 이용하여 제2 인증 정보를 획득하는 동작; 및
    상기 제2 인증 정보와 상기 제2 인증 정보를 이용하여 상기 전자 장치의 사용자에 대한 인증을 수행하는 동작을 포함하는, 방법.
PCT/KR2020/009372 2019-07-18 2020-07-16 블록 체인을 이용한 전자 인증 장치 및 그 방법 WO2021010766A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/577,897 US20220141036A1 (en) 2019-07-18 2022-01-18 Electronic authentication device and method using blockchain

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0086816 2019-07-18
KR1020190086816A KR20210009791A (ko) 2019-07-18 2019-07-18 블록 체인을 이용한 전자 인증 장치 및 그 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/577,897 Continuation US20220141036A1 (en) 2019-07-18 2022-01-18 Electronic authentication device and method using blockchain

Publications (1)

Publication Number Publication Date
WO2021010766A1 true WO2021010766A1 (ko) 2021-01-21

Family

ID=74211062

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/009372 WO2021010766A1 (ko) 2019-07-18 2020-07-16 블록 체인을 이용한 전자 인증 장치 및 그 방법

Country Status (3)

Country Link
US (1) US20220141036A1 (ko)
KR (1) KR20210009791A (ko)
WO (1) WO2021010766A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210374718A1 (en) * 2018-09-04 2021-12-02 Sony Corporation Ic card, processing method, and information processing system

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7372527B2 (ja) * 2019-09-26 2023-11-01 富士通株式会社 通信中継プログラム、中継装置、及び通信中継方法
US20210126777A1 (en) * 2019-10-29 2021-04-29 Daniel Mash Systems and methods for providing secure data access control using distributed ledgers
JP2021177593A (ja) * 2020-05-07 2021-11-11 株式会社リコー 情報処理装置、情報処理方法及びプログラム
US11818259B2 (en) 2020-05-13 2023-11-14 Ridgeline, Inc. Query and projection processing for events
US20210359852A1 (en) * 2020-05-13 2021-11-18 Ridgeline, Inc. Auditing for events
KR20220133533A (ko) * 2021-03-25 2022-10-05 삼성전자주식회사 보안 데이터를 탈중앙화 네트워크를 통해 관리하는 전자 장치 및 이의 동작 방법
US11448698B1 (en) * 2021-03-30 2022-09-20 Landis+Gyr Innovations, Inc. Enabling isolated development mode in utility end points
KR102546762B1 (ko) * 2021-04-14 2023-06-23 하이파이브랩 주식회사 블룸 필터를 이용한 블록체인에서의 다중 서명 지갑 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101507817B1 (ko) * 2013-12-23 2015-04-23 주식회사 키페어 개인키와 공개키 쌍을 생성하는 스마트카드 칩 및 그 생성 방법
KR101637499B1 (ko) * 2014-03-10 2016-07-07 코나아이 (주) 결제용 ic 카드의 보안 인증 방법
KR101661930B1 (ko) * 2015-08-03 2016-10-05 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템
WO2018008800A1 (ko) * 2016-07-04 2018-01-11 (주)코인플러그 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
KR101818601B1 (ko) * 2016-09-12 2018-01-16 주식회사 코인플러그 근거리 무선 통신 기반의 카드를 이용하여 본인 인증 서비스를 제공하는 방법 및 이를 이용한 카드, 인증용 단말, 인증 지원 서버 및 본인 인증 서버

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101507817B1 (ko) * 2013-12-23 2015-04-23 주식회사 키페어 개인키와 공개키 쌍을 생성하는 스마트카드 칩 및 그 생성 방법
KR101637499B1 (ko) * 2014-03-10 2016-07-07 코나아이 (주) 결제용 ic 카드의 보안 인증 방법
KR101661930B1 (ko) * 2015-08-03 2016-10-05 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템
WO2018008800A1 (ko) * 2016-07-04 2018-01-11 (주)코인플러그 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
KR101818601B1 (ko) * 2016-09-12 2018-01-16 주식회사 코인플러그 근거리 무선 통신 기반의 카드를 이용하여 본인 인증 서비스를 제공하는 방법 및 이를 이용한 카드, 인증용 단말, 인증 지원 서버 및 본인 인증 서버

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210374718A1 (en) * 2018-09-04 2021-12-02 Sony Corporation Ic card, processing method, and information processing system

Also Published As

Publication number Publication date
KR20210009791A (ko) 2021-01-27
US20220141036A1 (en) 2022-05-05

Similar Documents

Publication Publication Date Title
WO2021010766A1 (ko) 블록 체인을 이용한 전자 인증 장치 및 그 방법
WO2021071157A1 (en) Electronic device and method for managing blockchain address using the same
WO2020171538A1 (en) Electronic device and method for providing digital signature service of block chain using the same
WO2018030707A1 (ko) 인증 시스템 및 방법과 이를 수행하기 위한 사용자 단말, 인증 서버 및 서비스 서버
WO2017065389A1 (ko) 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
WO2017104899A1 (ko) 블록체인을 기반으로 하는 공인인증서 인증시스템 및 이를 이용한 인증방법
WO2018124857A1 (ko) 블록체인 기반의 모바일 아이디를 이용하여 사용자를 비대면 인증하는 방법, 단말 및 이를 이용한 서버
WO2016171295A1 (ko) 유비쿼터스 환경에서 인증
WO2017022917A1 (ko) 블록체인을 기반으로 하는 공인인증서 발급시스템
WO2018194379A1 (ko) 블록체인 및 이와 연동되는 머클 트리 구조 기반의 토큰 아이디를 이용하여 카드 사용을 승인하는 방법 및 이를 이용한 서버
WO2019147054A1 (en) Electronic device and method for supporting automatic wi-fi connection with enhanced security method when making electronic wallet payment
WO2020231177A1 (en) Electronic device and method for receiving push message stored in blockchain
WO2021075867A1 (ko) 블록체인 기반 시스템을 위한 키의 저장 및 복구 방법과 그 장치
WO2020091525A1 (ko) 생체 인증을 이용한 결제 방법 및 그 전자 장치
WO2017105072A1 (ko) 생체 정보 기반 인증 장치 그리고 이의 동작 방법
KR20200104043A (ko) 사용자 식별 정보를 저장하기 위한 전자 장치 및 그에 관한 방법
WO2020190099A1 (en) Electronic device for managing personal information and operating method thereof
WO2019010669A1 (zh) 一种身份合法性验证的方法、装置及系统
KR20220037849A (ko) 탈중앙화 네트워크를 이용하여 권리를 관리하는 전자 장치 및 이의 동작 방법
WO2020060114A1 (ko) 신분 정보를 제공하는 장치 및 그 시스템
WO2020032351A1 (ko) 익명 디지털 아이덴티티 수립 방법
WO2019098790A1 (ko) 전자 장치 및 전자 장치에서 보안 운영체제 기반 데이터 송수신 방법
WO2020209596A1 (en) Electronic device and method for sharing medical information by electronic device
WO2023013861A1 (ko) 디지털 컨텐츠에 대한 대체불가능 토큰을 관리하는 방법 및 장치
WO2020149555A1 (ko) 암호화될 데이터의 정보량에 기반하여 암호화에 사용될 키를 선택하는 전자 장치 및 전자 장치의 동작 방법

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: 20840170

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20840170

Country of ref document: EP

Kind code of ref document: A1