WO2019221468A1 - Method for providing personal domain name service, and access control method and system using personal domain name - Google Patents

Method for providing personal domain name service, and access control method and system using personal domain name Download PDF

Info

Publication number
WO2019221468A1
WO2019221468A1 PCT/KR2019/005733 KR2019005733W WO2019221468A1 WO 2019221468 A1 WO2019221468 A1 WO 2019221468A1 KR 2019005733 W KR2019005733 W KR 2019005733W WO 2019221468 A1 WO2019221468 A1 WO 2019221468A1
Authority
WO
WIPO (PCT)
Prior art keywords
public key
domain name
private
communication terminal
domain
Prior art date
Application number
PCT/KR2019/005733
Other languages
French (fr)
Korean (ko)
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
Priority claimed from KR1020190054985A external-priority patent/KR102303273B1/en
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Publication of WO2019221468A1 publication Critical patent/WO2019221468A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • 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
    • 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

Definitions

  • the present invention relates to a personal domain name service method and system for extracting and providing additional information matching a personal domain name using the personal domain description.
  • the domain name service is a service for changing a domain name recorded in English into an IP (Internet Protocol) address in the form of a number and corresponds to a known service currently available on the Internet.
  • IP Internet Protocol
  • a domain name server is established on the network, and the domain name server delivers an IP address to the terminal in response to a domain name query.
  • a technology for using a domain name expressed in another language instead of the domain name set in English has been developed.
  • the following patent document discloses a system for using domain names in a language desired by a user on the Internet.
  • the existing domain name is a simple form of responding only to an IP address, which may cause problems in terms of security. For example, if an IP address is obtained through a domain name, hacking, DDoS attacks, etc. may be attempted with the IP address.
  • the present invention has been proposed to solve such a problem, and registers a personal domain name for an individual only, and provides a personal domain that provides additional information to a terminal of a user who has successfully authenticated by authenticating a user based on the personal domain name and a service code.
  • the purpose is to provide a naming service method.
  • Another object of the present invention is to provide an access control method and system for selectively allowing access to a private network of a communication device based on a private domain name.
  • a method for providing a personal domain service that can obtain additional information, the service server, the domain including the personal domain name and the electronic signature transmitted from the user terminal Receiving a query message; If the electronic signature is successfully verified, acquiring, by the service server, additional information corresponding to the private domain name and at least one public key; And transmitting, by the service server, the additional information to the user terminal as the domain response.
  • the domain query message may include a usage ticket and a destination public key.
  • the service server may obtain the additional information corresponding to the destination public key, the user public key, and the personal domain name.
  • the acquiring of the additional information may include: generating, by the service server, an information request transaction including the personal domain name, the electronic signature, the destination public key, and the usage ticket to a blockchain network; Verifying, by the blockchain network, the electronic signature to extract the user public key from the electronic signature, and verifying whether the usage ticket has a value greater than a ticket used in the past; Checking, by the blockchain network, a block including the private domain name, the destination public key, and the user public key in a blockchain, and extracting additional information from the block if the verification of the use ticket is successful; And receiving, by the service server, the additional information from the blockchain network.
  • the method includes: receiving, by a domain management server, a domain registration request message from the user terminal, the domain registration request message including a personal domain name, additional information, a destination public key, and an electronic signature; Generating, by the domain management server, a domain registration transaction in the blockchain network including the private domain name, the destination public key, the additional information, and the electronic signature; And the blockchain network obtains a user public key by verifying an electronic signature included in the domain registration transaction, and extracts a new block including the user public key, the private domain name, the destination public key, and the additional information.
  • the method may further include generating and storing the blockchain in the blockchain.
  • the storing in the blockchain may include determining whether a block including the private domain name, the destination public key, and the user public key is already stored in the blockchain, if the blockchain network is not stored. A new block can be created and stored in the blockchain.
  • a method of controlling a connection of a private network using a private domain name includes a domain in which a service server includes a private domain name and an electronic signature transmitted from a communication terminal. Receiving a query message; If the electronic signature is successfully verified, acquiring, by the service server, a connection address of a private network corresponding to the private domain name and at least one public key; And sending, by the service server, the access address of the private network to the communication terminal as the domain response.
  • the method may include, after the transmitting, receiving, by the security device included in the private network, a connection request message including a usage ticket from the communication terminal; Verifying, by the security device, whether the usage ticket has a value greater than a usage ticket being stored; And if the security device succeeds in verifying the usage ticket, allowing the private network connection to the communication terminal.
  • the security device may verify a token in the access request message and verify whether the token matches a token issued in a blockchain network.
  • the acquiring of the access address may include verifying whether the public key of the communication terminal is already registered with the public key of the communication terminal that is accessible to the private network, and if the verification is successful, obtain the access address of the private network. have.
  • the acquiring the access address may include: generating, by the service server, an information request transaction including the private domain name, the electronic signature, and the public key of the security device to a blockchain network; Verifying, by the blockchain network, a block including the private domain name and the public key of the communication terminal by obtaining the public key of the communication terminal by verifying the electronic signature; And if the blockchain network checks whether or not the public key of the communication terminal is stored as an administrator public key or an accessible public key in the checked block, and obtains the access address of the private network in the block. It may include the step of transmitting to the service server.
  • a system for controlling a connection of a private network using a private domain name upon receiving a domain query message including a private domain name transmitted from a communication terminal, A service server obtaining a private domain name and a connection address of a private network corresponding to at least one public key and transmitting a connection address to the private network as the domain response to the communication terminal; And a security device that is in charge of security of the private network, verifies the communication terminal connected to the access address, and, if the verification of the communication terminal succeeds, permits private network access to the communication terminal.
  • the present invention has an advantage of providing the user with additional information matching the private domain name when the user inputs his or her personal domain name to verify the electronic signature of the user.
  • the present invention has an advantage of providing a user with a personal domain name that is easier to use, and providing a user-specific service based on the personal domain name.
  • the present invention can provide a personal domain name only for a user regardless of overlapping with an existing public domain name, thereby maximizing convenience in using a private domain name.
  • the present invention also has the effect of selectively allowing a communication device to access a private network using a private domain name, thereby helping to improve the security of the private network.
  • the present invention has the advantage of enhancing the stability of the personal domain name service by performing the verification several times for the personal domain name and the service code.
  • FIG. 1 is a diagram illustrating a configuration of a personal domain name service system according to a first embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating a method of registering a private domain name according to the first embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating a method of providing additional information as a response to a domain query according to the first embodiment of the present invention.
  • FIG. 4 is a diagram illustrating a configuration of a connection control system according to a second embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a method of sharing a public key between a user terminal and a security device according to a second embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a method of registering a private domain name according to a second embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a method of providing a connection address of a private network as a response to a domain query according to a second embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a method of connecting a user terminal to a private network based on a domain query response according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a method of registering an access right of another terminal in an administrator terminal according to a third embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a method for acquiring a connection address of a private network by another terminal allowed to access a private network according to an embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating a method for allowing another terminal access to a private network to access a private network according to an embodiment of the present invention.
  • FIG. 1 is a diagram illustrating a configuration of a personal domain name service system according to a first embodiment of the present invention.
  • the personal domain service system includes a user terminal 100, a domain management server 200, a service server 300, and a DNS server (Domain Name Service Server). 400 and the blockchain network 500.
  • a DNS server Domain Name Service Server
  • the communication network 600 includes a mobile communication network and a wired communication network.
  • the blockchain network 500 may also communicate with the domain management server 200 and the service server 300 through the communication network 600, or may communicate with another communication network.
  • the blockchain network 500 is connected to a plurality of nodes and performs verification of a transaction.
  • each node belonging to the blockchain network 500 performs a verification on this transaction when a transaction occurs.
  • each node included in the blockchain network 500 shares a blockchain in which a transaction is recorded and has a connection structure between blocks.
  • the transaction occurs when a private domain name is registered / deleted / changed or requests additional information.
  • the block may also include one or more public keys, additional information, private domain names, usage tickets, and digital signatures.
  • the use ticket is information generated based on the current year, date, and time, and may be time information in which the current year, date, and time are listed. In particular, a use ticket generated in the future is larger than a use ticket generated in the past. Has
  • each node included in the blockchain network 500 verifies the transaction, and if successful, the private domain name and one or more public keys and The corresponding additional information may be extracted from the blockchain and transmitted to the domain management server 200.
  • the additional information may include various information such as authentication information, IP address, address book, decryption key, encryption key, etc. according to the service type.
  • the user terminal 100 is a communication device owned by a user such as a smartphone, a tablet computer, a personal computer, a server, and the like.
  • the user terminal 100 is installed with a personal domain application 110 for a personal domain service.
  • the private domain application 110 generates a private key and a public key dedicated to the user.
  • a user may register a personal domain name using the personal domain application 110.
  • the personal domain application 110 generates a transaction including the electronic signature, the destination public key, the personal domain name, and additional information through the domain management server 200, and blocks the block including the transaction into the blockchain network 500 You can register at).
  • the personal domain application 110 of the user terminal 100 may obtain additional information based on the personal domain name.
  • the DNS server 400 performs a function of providing an IP address corresponding to the domain name.
  • the DNS server 400 checks the domain name in the domain name query, and if the domain name code is included in the domain name (hereinafter referred to as 'personal domain code'), the domain name query is transmitted to the service server. Forward to 300.
  • the service server 300 is a server for providing a personal domain name service, and when receiving a domain name query including a personal domain name and a service code (for example, a hexadecimal string) from the DNS server 400, the personal domain name,
  • the additional information corresponding to the destination public key and the user public key is obtained from the blockchain network 500, and the obtained additional information is provided to the user terminal 100.
  • the destination public key is a public key distributed by the destination node for which the additional information is used. For example, when the security information of the private network is recorded in the additional information, the destination public key may be the public key of the device included in the private network. have.
  • the service server 300 may verify whether the service code is included in the domain name, and if the verification is successful, may generate a transaction requesting additional information to the blockchain network 500.
  • the domain management server 200 registers, changes, or deletes the personal domain name in the blockchain network 500.
  • the domain management server 200 receives a request for registration of a personal domain name from the personal domain application 110 of the user terminal 100, an electronic signature, a personal domain name, a destination public key, and an addition generated using the user private key are added.
  • an electronic signature e.g., an electronic signature
  • a personal domain name e.g., an electronic signature
  • a personal domain name e.g., a destination public key
  • an addition generated using the user private key are added.
  • By generating a transaction including the information in the blockchain network 500 it is possible to register the personal domain name to the blockchain network 500.
  • domain management server 200 and the service server 300 have been described as being implemented separately from each other, the domain management server 200 and the service server 300 may be implemented as a single server.
  • FIG. 2 is a flowchart illustrating a method of registering a private domain name according to the first embodiment of the present invention.
  • the private domain application 110 generates a private key and a public key dedicated to a user (S201).
  • the domain name is input from the user, and a personal domain name is generated based on the received domain (S203).
  • the personal domain application 110 may add a personal domain code (eg, kt.tin) after the domain name.
  • a personal domain code eg, kt.tin
  • the personal domain application 110 adds a personal domain code 'kt.tin' after 'mycaemra' and then a personal domain of 'mycaemra.kt.tin'. You can create a name.
  • the personal domain application 110 may receive additional information from the user or extract additional information stored in the user terminal 100 to obtain additional information (S205).
  • the additional information may be various data such as an IP address, authentication information, an address book, a decryption key, an encryption key, a public key of a destination, and the like.
  • the personal domain application 110 generates a use ticket based on the current date and time, selects the user ticket as original data of the electronic signature, and electronically signs the user ticket with the user private key (S207).
  • the personal domain application 110 may include one or more of a personal domain name and additional information in addition to the use ticket, select as original text data, and electronically sign the selected original data with the user private key.
  • the personal domain application 110 also verifies the public key of the destination associated with the additional information.
  • the destination public key is a public key distributed by a node using additional information, and the user terminal 100 receives and stores a destination public key in advance, and the personal domain application 110 previously stores the destination.
  • the public key may be extracted from the user terminal 100 and checked.
  • the personal domain application 110 transmits a domain registration request message including the personal domain name, a usage ticket, a destination public key, additional information, and an electronic signature to the domain management server 200 (S209).
  • the domain management server 200 generates a domain registration transaction including the personal domain name, the usage ticket, the destination public key, additional information, and the electronic signature to the blockchain network 500 (S211), and the blockchain network (
  • Each node included in 500 obtains a user's public key by verifying an electronic signature included in the domain registration transaction.
  • each node included in the blockchain network 500 may obtain a user's public key from an electronic signature through an electronic signature verification algorithm.
  • the digital signature verification algorithm may be performed based on a smart contract.
  • each node stores and stores the block including the private domain name, the user public key, and the destination public key in the blockchain.
  • a duplicate check for the personal domain name is performed (S213).
  • it is checked whether a block having all of the user public key, the destination public key, and the private domain name exists.
  • any one of the user public key and the destination public key may be used in the present service. That is, in the present invention, when the user public key or the destination public key is different from each other, the same private domain may be used between users.
  • the blockchain network 500 indicates that the private domain name is duplicated.
  • the domain management server 300 requests the personal domain application 110 to reset the personal domain name.
  • the blockchain network 500 generates a block having the domain registration transaction if a block having all of the user public key, the destination public key, and the private domain name does not exist in the blockchain as a result of the duplicate check.
  • the private domain name and the user public key are stored in the blockchain (S215).
  • the blockchain network 500 notifies the domain management server 200 of the successful transaction (S217).
  • the domain management server 200 notifies the personal domain application 110 of the domain registration success response (S219).
  • the personal domain application 110 may delete additional information stored in the user terminal 100. That is, the personal domain application 110 may delete additional information stored in the user terminal 100 because the additional information is registered in the blockchain network 500 together with the personal domain name and the destination public key.
  • the user can use the personal domain application 110 to modify or delete the personal domain name.
  • the domain management server 200 performs a domain change transaction including an electronic signature signed by the user private key, a destination public key, an existing personal domain name, and a changed personal domain name. To the blockchain network 500.
  • the blockchain network 500 validates the digital signature verification and succeeds (ie, normally obtains the user public key from the digital signature), then the user public key, the destination public key, the existing private domain name, and the changed private domain Using a name, a block for changing an existing personal domain name to a personal domain name included in the domain change transaction is generated, and the block chain is extended by connecting the block and the existing block.
  • the domain management server 200 blocks a domain deletion transaction including the electronic signature, the destination public key, and the personal domain name signed with the user private key.
  • the blockchain network 500 verifies the digital signature and succeeds (ie, normally obtains the user public key from the electronic signature), using the user public key, the destination public key, and the private domain name, the private domain. Create a block to delete the name and connect it to an existing block and store it in the blockchain.
  • FIG. 3 is a flowchart illustrating a method of providing additional information as a response to a domain query according to the first embodiment of the present invention.
  • the personal domain application 110 receives a domain name from a user and generates a personal domain name based on the received domain name (S301).
  • the personal domain application 110 may add a personal domain code indicating the service of the personal domain after the domain name.
  • the personal domain application 110 may check the destination public key associated with the personal domain name in the user terminal 100.
  • the personal domain application 110 generates a user ticket based on the current date and time (S303). Subsequently, the personal domain application 110 electronically signs the usage ticket with the user's private key (S305). According to the embodiment, the personal domain application 110 may include the personal domain name in addition to the use ticket and select the original text data, and electronically sign the selected original data with the user's private key.
  • the personal domain application 110 converts the usage ticket, the destination public key and the electronic signature into a service code having a predetermined format (eg, a string in hexadecimal form) (S307),
  • the domain query message including the private domain name is transmitted to the DNS server 400 (S309).
  • the DNS server 400 checks whether or not a private domain code (eg, kt.tin) is included in the domain query message (S311). Subsequently, if the private domain code is not included in the domain query message, the DNS server 400 determines that the domain name included in the domain query message is a public domain name that is generally used, and thus the IP address corresponding to the domain name. Check and transmit to the user terminal 100. On the other hand, when the DNS server 400 includes a private domain code in the domain query message, the DNS server 400 determines that the queried domain name is a private domain name that is not generally used, and the service server 300 determines the domain query message. Transfer to (S313).
  • a private domain code eg, kt.tin
  • the service server 300 checks the service code and the personal domain name included in the domain query message, and checks whether the service code is recorded in a preset format (S315). That is, the service server 300 checks whether the service code is a preset number of digits in the normal range, and also checks whether the service code is converted into a preset format (eg, hexadecimal). If the service server 300 fails to check the service code, the service server 300 transmits a failure message indicating that it cannot provide a personal domain service to the personal domain application 110 of the user terminal 100. On the other hand, if the service server 300 successfully checks the service code, the service server 300 generates an information request transaction including the service code and the personal domain name to the blockchain network 500 (S317).
  • a preset format eg, hexadecimal
  • each node of the blockchain network 500 restores the service code included in the information request transaction to its original state (S319). That is, each node of the blockchain network 500 restores a use ticket, a destination public key, and a digital signature to a state before being converted into the service code. Restoring the usage ticket, the destination public key and the electronic signature may be performed based on the smart contract.
  • each node of the blockchain network 500 verifies the restored digital signature and extracts a user public key from the electronic signature (S321).
  • the blockchain network 500 may apply a digital signature to a predetermined signature verification algorithm to obtain a user public key from the electronic signature.
  • the nodes of the blockchain network 500 When the nodes of the blockchain network 500 successfully verify the electronic signature and obtain the user public key, the nodes check the restored use ticket (that is, the use ticket included in the information request transaction), and the user public key and the destination public.
  • the most recently stored block including the key and the private domain name is checked in the blockchain, and the value of the usage ticket included in the received information request transaction is compared with the usage ticket included in the most recently stored block.
  • the ticket is verified (S323).
  • the blockchain network 500 determines that the use ticket verification is successful if the use ticket included in the transaction is larger than the use ticket included in the most recently stored block. Otherwise, the blockchain network 500 fails to verify the use ticket. Process. Meanwhile, the blockchain network 500 may determine that data forgery has occurred when the blockchain network 500 fails to verify a use ticket.
  • Each node of the blockchain network 500 transmits the verification failure to the service server 300 when the usage ticket verification fails. Then, the service server 300 notifies the personal domain application 110 of the user terminal 100 that the verification of the personal domain has failed without providing additional information.
  • the blockchain network 500 determines whether the use chain verification is successful. If the use chain verification is successful, the blockchain network 500 generates a block including the information request transaction and connects it to an existing block, thereby storing the generated block in the blockchain (S325). As a result, the latest information of the use ticket is updated in the blockchain.
  • the blockchain network 500 checks the block including the private domain name, the destination public key and the user's public key in the blockchain, and extracts additional information from the block (S327).
  • the blockchain network 500 transmits the transaction processing message including the extracted additional information to the service server 300 (S329).
  • the service server 300 transmits the extracted additional information to the personal domain application 110 of the user terminal 100 as a response to the domain query (S331).
  • the personal domain application 110 transmits the domain query message including the service code and the personal domain name, additional information corresponding to the personal domain name, the user's public key, and the destination public key is used as response information. Can be received.
  • two public keys i.e., a destination public key and a user public key
  • a private domain name and additional information any one of the two public keys is private. It can be stored in the blockchain along with the domain name and additional information.
  • one public key ie, user public key or destination public key
  • additional information corresponding to the private domain name may be extracted from the blockchain network 500 and provided to the user terminal 100.
  • the service server 300 provides the IP address of the communication device 720 included in the private network 700 as additional information to the user terminal 100, the user terminal 100 based on the IP address (700).
  • connection control system includes a user terminal 100, a domain management server 200, Service server 300, DNS server 400, blockchain network 500, and private network 700.
  • FIG. 4 the components having the same reference numerals as the components of FIG. 1 include the functions described with reference to FIGS. 1 to 3.
  • the private network 700 is a network formed in a home or company and includes one or more communication devices 720, in particular a security device 710.
  • the communication device 720 is a communication device that can communicate, and may include, for example, a gateway, a router, an IP camera, an IPTV, an IP-based wall pad, and the like.
  • the security device 710 is included in the private network 700 and performs a function of managing security between the public communication network 600 and the private network 700.
  • the security device 710 analyzes the service code to determine whether the user terminal 100 can access the private network 700. Whether or not to authenticate and selectively allow the user terminal 100 to connect to the private network 700 according to the authentication result.
  • the security device 710 generates a private key and a public key and distributes the public key to the user terminal 100.
  • the security device 710 obtains and stores a user public key.
  • the security device 710 obtains the public key of the manager terminal, sets and stores the public key of the manager terminal as the public key for the manager. In addition to the public key of the manager terminal, the security device 710 stores the public key of another communication terminal allowed to access. The security device 710 records and manages a public key of another communication terminal allowed to access in an access permission list.
  • the security device 710 may be implemented in hardware or software or through a combination of hardware and software. In addition, the security device 710 may be coupled to the communication device 720 through a USB port or the like.
  • the security device 710 may perform short range wireless communication such as Bluetooth communication, Wi-Fi communication, infrared communication, Zigbee communication, or the like.
  • the blockchain network 500 stores, as additional information, information of the security device 710 such as a connection address (ie, security device IP address or communication device IP address) and serial number of the private network 700.
  • information of the security device 710 such as a connection address (ie, security device IP address or communication device IP address) and serial number of the private network 700.
  • the blockchain network 500 may verify the transaction and, if successful, extract the IP address corresponding to the private domain name and the user public key and transmit it to the service server 300. .
  • FIG. 5 is a flowchart illustrating a method of sharing a public key between a user terminal and a security device according to a second embodiment of the present invention.
  • the security device 710 when the security device 710 is installed in the private network 700, the security device 710 obtains an IP address of the communication device 720 included in the private network 700 (S501). .
  • the security device 710 may be a hardware module. In this case, the security device 710 may be combined or integrated with a core device that is responsible for data processing and relaying in the private network 700, such as a gateway or a router. .
  • the personal domain application 110 when the personal domain application 110 is installed in the user terminal 100, the personal domain application 110 generates a private key and a public key dedicated to the user (S503).
  • the user terminal 100 searches for a nearby security device 710 through short-range wireless communication (eg, Wi-Fi communication), and wirelessly connects the searched security device with a Wi-Fi protected setup (WPS) based on ( S505).
  • WPS Wi-Fi protected setup
  • an access password may be set in the security device 710, and when the user terminal 100 transmits the access password to the security device 710 and successfully authenticates the connection, the short-term wireless communication with the security device 710. Can be connected.
  • the personal domain application 110 of the user terminal 100 transmits the user public key to the security device 710 (S507), and the security device 710 stores the user public key (S509).
  • the security device 710 may store the user public key as an administrator public key.
  • the security device 710 generates its own private key and public key (S511). Subsequently, the security device 710 transmits security information including its serial number and the IP address of the communication device 720 included in the private network 700 and its public key to the user terminal 100 (S513). ).
  • the security device 710 may be implemented in a form that can communicate itself, in this case it may transmit its IP address to the user terminal 100. In other words, the security device 710 provides the IP address to the user terminal 100 when its IP address exists, while the IP device does not exist and the specific device of the private network 700. When combined with the, the IP address of the communication device 720 included in the private network 700 may be obtained and transmitted to the user terminal 100.
  • the user terminal 100 stores the security information and the public key of the security device 710 (S515).
  • the user terminal 100 and the security device 710 share a public key between each other, the user terminal 100 obtains the IP address of the communication device 720 included in the private network 700 do.
  • FIG. 6 is a flowchart illustrating a method of registering a private domain name according to a second embodiment of the present invention.
  • the personal domain application 110 receives a domain name from a user and generates a personal domain name by adding a personal domain code to the received domain name (S601). The personal domain application 110 then extracts the public key of the security device 710 as the destination public key associated with the personal domain name.
  • the personal domain application 110 extracts the security information of the private network 700 (ie, the communication device IP address, the serial number of the security device 710, etc.) and the user public key, along with the current time and date.
  • a usage ticket is generated on the basis of the step (S603).
  • the personal domain application 110 sets the generated use ticket as original text data and electronically signs the use ticket set using the original text data with the user private key (S605).
  • the personal domain application 110 may combine one or more of a personal domain name, the security information, and a usage ticket, and set the combined information as original data to digitally sign with the user private key.
  • the personal domain application 110 then sends a domain registration request message to the domain management server 200 including the personal domain name, the usage ticket, the security information, the destination public key (ie, the public device's public key), and the electronic signature. (S607).
  • the domain management server 200 generates the domain registration transaction including the personal domain name, the usage ticket, the security information, the destination public key (ie, the security device's public key), and the electronic signature to the blockchain network 500. (S609). Subsequently, each node included in the blockchain network 500 verifies the digital signature, and extracts a user public key from the digital signature.
  • the blockchain network 500 extracts the user public key, and includes all of the private domain name, the destination public key (ie, the security device's public key), and the user public key. Check whether the block is stored in the blockchain, and performs a duplicate check for the personal domain name (S611).
  • the blockchain network 500 generates a token if a block having all of the user public key, the public key of the security device, and the private domain name does not exist in the blockchain as a result of the duplicate check (S613).
  • the token may be a string of numbers, a string, or a combination of numbers and letters, which are randomly generated according to a preset algorithm (eg, a random number generation algorithm).
  • the token is used to authenticate access to the private network 700 of the user terminal 100.
  • the blockchain network 500 generates a block having the domain registration transaction and the token, and stores the personal domain name in the blockchain by connecting the generated block with an existing block (S615).
  • the blockchain network 500 stores the block in the blockchain by setting the user public key as a public key for the administrator.
  • the user public key is set as an administrator public key and stored in the blockchain.
  • the blockchain network 500 notifies the domain management server 200 of the success of the transaction (S617).
  • the domain management server 200 notifies the personal domain application 110 of the domain registration success response (S619).
  • the personal domain application 110 may delete security information stored in the user terminal 100 when the personal domain name is normally registered. That is, since the private domain application 110 is registered with the private domain name in the blockchain network 500, after storing only the public key of the security device 710, the IP address of the communication device 720, security The serial number of the device 710 may be deleted.
  • FIG. 7 is a flowchart illustrating a method of providing a connection address of a private network as a response to a domain query according to a second embodiment of the present invention.
  • the personal domain application 110 receives a domain name from a user and generates a personal domain name including the received domain name and a personal domain code (eg, kt.tin) (S701). Next, the personal domain application 110 generates a user ticket based on the current date and time (S703). Subsequently, the personal domain application 110 extracts the public key of the security device 710 that is being stored (S705). The public key of the security device 710 is used as the destination public key.
  • a personal domain name including the received domain name and a personal domain code (eg, kt.tin)
  • the personal domain application 110 electronically signs the use ticket with the user's private key (S707). Subsequently, the personal domain application 110 converts the use ticket, the destination public key (ie, the security device's public key), and the electronic signature into a service code having a predetermined format (eg, a string in hexadecimal form) (S709). In operation S711, the domain query message including the converted service code and the personal domain name is transmitted to the DNS server 400.
  • a service code having a predetermined format eg, a string in hexadecimal form
  • the DNS server 400 checks whether the personal domain code (eg, kt.tin) is included in the personal domain name included in the domain query message, and if the private domain code is included, the domain query message is sent. Transfer to the service server 300 (S713, S715).
  • the personal domain code eg, kt.tin
  • the service server 300 checks the service code and the personal domain name included in the domain query message, checks whether the service code has a preset normal range of digits, and also checks the service code in advance. It is checked whether it is converted into a set format (eg, hexadecimal) (S717). If the service server 300 successfully checks the service code, the service server 300 generates an information request transaction including the service code and the personal domain name to the blockchain network 500 (S719).
  • a set format eg, hexadecimal
  • each node of the blockchain network 500 restores the use ticket, the public key of the security device 710, and the electronic signature to the state before being converted into the service code (S721).
  • each node of the blockchain network 500 extracts a user public key from the digital signature by verifying the restored digital signature (S723).
  • Each node included in the blockchain network 500 successfully checks the digital signature and extracts the user's public key, confirms the restored use ticket (that is, the use ticket included in the information request transaction), and checks the user public key,
  • the blockchain network 500 identifies the most recently stored block containing the destination public key (ie, the public key of the security device) and the private domain name.
  • Each node included in the blockchain network 500 verifies the restored use ticket by comparing the restored use ticket with the use ticket included in the most recently stored block (S725). At this time, each node included in the blockchain network 500 determines that the use ticket verification is successful if the use ticket included in the information request transaction is larger than the use ticket included in the most recently stored block. If not, the validation of the ticket is considered to have failed.
  • each node included in the blockchain network 500 includes the user public key, the destination public key (ie, the security device's public key) and the private domain name, wherein the user public key is public for the administrator.
  • the access authority of the user terminal 100 is authenticated by checking whether a block set as a key or set as a public key to which the user public key is allowed to access is stored in the blockchain. That is, nodes of the blockchain network 500 search for whether a device addition transaction or domain registration transaction including the private domain name, the user public key, and the destination public key exists in the blockchain, thereby searching for the user terminal 100. Authenticate your private network access privileges.
  • the blockchain network 500 If both of the access right authentication and the use ticket verification succeed, the blockchain network 500 generates a block including the information request transaction, connects it with an existing block, and stores the generated block in the blockchain (S727). .
  • the blockchain network 500 checks a block in the blockchain including the private domain name, the user's public key and the destination public key (the public device's public key), and the IP of the communication device 720 in the block. Extract the address and token (S729).
  • the blockchain network 500 transmits a transaction processing message including the IP address and the token of the extracted communication device 720 to the service server 300 (S731).
  • the service server 300 transmits the IP address and token of the communication device 720 to the personal domain application 110 of the user terminal 100 in response to the domain query (S733).
  • the personal domain application 110 transmits a domain query message including a service code and a personal domain name
  • the IP corresponding to the private domain name, the user's public key, and the security device 710's public key is transmitted.
  • FIG. 8 is a flowchart illustrating a method of connecting a user terminal to a private network based on a domain query response according to an embodiment of the present invention. The procedure according to FIG. 8 proceeds after the procedure of FIG.
  • the personal domain application 110 checks the communication device IP address and the token of the private network 700 received from the service server 300 (S801), and converts to a predetermined format in step S709 of FIG. 7.
  • the access request message including the service code, the personal domain name, and the token is transmitted to the communication device 720 having the checked IP address (S801 and S803).
  • the security device 710 controlling the connection of the private network 700 converts the service code in the form of a certain format into the original use ticket, the public key (ie, the destination public key) and the electronic signature of the security device 710. After the restoration, the restored digital signature is verified to obtain a user public key from the electronic signature (S805).
  • the security device 710 checks the use ticket and the personal domain name included in the access request message, and uses the most recent use mapped with the personal domain name. Check the ticket in its own mapping table.
  • the security apparatus 710 compares the use ticket confirmed in the mapping table with the use ticket included in the access request message, and verifies the use ticket (S807). At this time, if the usage ticket included in the access request message is larger than the most recent usage ticket mapped with the personal domain name in the mapping table, the security device 710 determines that the usage ticket verification is successful. Treat the ticket as a failure to verify.
  • the security device 710 If the security device 710 fails to verify the usage ticket, the security device 710 transmits a connection not available message to the personal domain application 110 and blocks the access of the communication device 720 to the user terminal 100.
  • the security device 710 If the security device 710 succeeds in verifying the use ticket, it requests the domain management server 200 for token verification included in the access request message (S809). In this case, the security device 710 transmits the token, the user public key, the destination public key (ie, the security device's public key), and the personal domain name to the domain management server 200, and also uses a ticket for successful verification. The personal domain name is mapped and recorded in the mapping table to maintain the freshness of the use ticket.
  • the domain management server 200 transmits the token, the user public key, the destination public key (ie, the public key of the security device), and the private domain name to the blockchain network 500 to request token verification ( S811).
  • Each node of the blockchain network 500 then identifies a block that includes the user public key, a destination public key, and a private domain name, identifies a recently issued token in the block, and The token received from the domain management server 200 is verified whether it matches (S813).
  • the blockchain network 500 transmits the token verification result to the domain management server 200, and the domain management server 200 transmits the token verification result to the security device 710 (S815).
  • the security device 710 transmits a connection not available message to the personal domain application 110, and blocks the connection of the communication device 720 to the user terminal 100.
  • the terminal finally processes the user verification (S817), and transmits a message informing the permission of the access of the communication device to the personal domain application 110 (S819). , The user terminal 100 is allowed to access the communication device 720.
  • the personal domain application 110 may access the communication device 720 having the IP address through the security device 710 and use the service provided by the communication device 720 (S821).
  • the security device 710 requests the domain management server 200 to generate a token (S823).
  • the security device 710 transmits the user's public key, the destination public key (ie, the security device's public key), and the personal domain name to the domain management server 200.
  • the domain management server 200 generates a transaction requesting a token regeneration including the user public key, the destination public key, and the private domain name to the blockchain network 500 (S825), and one of the blockchain networks 500.
  • the above node regenerates the token (S827).
  • the node includes the regenerated token, the user public key, the destination public key (i.e., the security device's public key), and a private domain name, and generates a block indicating that the token has been reissued, and the block is an existing block. Connect to and save it on the blockchain.
  • the domain query message including the personal domain name is generated in the personal domain application 110
  • the regenerated token is obtained in the personal domain application 110.
  • the electronic signature verification may not be performed in the security device 710, but may be performed in the blockchain network 500.
  • the security device 710 transmits the service code received from the personal domain application 110 to the domain management server 200, and the domain management server 200 transmits the service code to the blockchain network 500.
  • the domain management server 200 may receive a user public key, which is a verification result of the electronic signature, from the blockchain network 500 and transmit the received user public key to the security device 710.
  • no token is used, and electronic signature and usage ticket verification may be performed at security device 710.
  • the generation of the token may be omitted in the blockchain network 500, and the security device 710 may selectively connect the private network 700 to the user terminal 100 based on the use ticket and the electronic signature. I can allow it.
  • two public keys that is, a destination public key and a user public key
  • a private domain name and security information can be stored on the blockchain along with private domain name and security information.
  • one public key ie, a user public key or a public key of a security device
  • security information corresponding to a private domain name may be extracted from the blockchain network 500 and provided to the user terminal 100.
  • a ticket or token corresponding to one public key ie, a user public key or a public key of a security device
  • a private domain name is extracted from the blockchain network 500, so that token verification or ticket verification is performed on the blockchain network ( 500).
  • the communication terminal 110 may map another user's public key to a private domain name and store the same in a blockchain to allow another user's communication terminal to access the private network 700.
  • the communication terminal 100 of the user is referred to as the first communication terminal, and the communication terminal of another user will be described as referring to the second communication terminal.
  • FIG. 9 is a flowchart illustrating a method of registering an access right of another terminal in an administrator terminal according to a third embodiment of the present invention.
  • the personal domain application when a personal domain application is installed in the second communication terminal, the personal domain application generates a private key and a public key of the second communication terminal (S901).
  • the personal domain application of the second communication terminal transmits the generated public key of the second communication terminal to the first communication terminal 100 (S903).
  • the second communication terminal may transmit a message including the public key of the second communication terminal and the address of the first communication terminal 100 as the destination to the first communication terminal 100, or short-range wireless communication Through the public key of the second communication terminal may be transmitted to the first communication terminal 100 through.
  • the personal domain application 110 of the first communication terminal 100 proceeds to register the second communication terminal as a terminal accessible to the private network 700.
  • the personal domain application 110 of the first communication terminal 100 receives a personal domain from an administrator and generates a personal domain name by adding a personal domain code behind the personal domain (S905).
  • the personal domain application 110 of the first communication terminal 100 extracts the public key of the security device 710, which is the destination public key (S907), sets the original text data, and sets the original text data to the first communication terminal 100. Digital signature is performed with the private key (S909). In this case, the personal domain application 110 of the first communication terminal 100 may use one or more of the public key or the personal domain name of the security device 710 as the original data. Subsequently, the personal domain application 110 of the first communication terminal 100 receives the access terminal addition request message including the personal domain name, the public key of the security device 710, the public key of the second communication terminal, and the electronic signature. To transmit to the domain management server 200 (S911).
  • the domain management server 200 transmits the device addition transaction including the personal domain name, the public key of the second communication terminal, the destination public key (ie, the public key of the security device), and the electronic signature to the blockchain network 500.
  • the destination public key ie, the public key of the security device
  • the electronic signature to the blockchain network 500.
  • Each node included in the blockchain network 500 verifies the electronic signature included in the device addition transaction, and extracts the public key of the first communication terminal 100 from the electronic signature (S915).
  • each node included in the blockchain network 500 verifies whether the public key (that is, the public key of the first communication terminal) extracted through electronic signature verification is registered in the blockchain as the public key for the administrator. (S917).
  • each node of the blockchain network 500 the public key (that is, the public key of the first communication terminal) extracted from the electronic signature, the private domain name and the destination public key (that is, the public key of the security device)
  • the public key of the first communication terminal 100 is determined by the blockchain and the public key of the first communication terminal 100 is set as the public key for the administrator. Verifies whether it is a public key.
  • the blockchain network 500 authenticates whether the first communication terminal 100 that registers a connection device to the private network 700 is an administrator terminal based on the public key and the private domain name.
  • the blockchain network 500 notifies the domain management server 200 that a device cannot be added unless the public key of the first communication terminal 100 is set as an administrator public key, and domain management.
  • the server 200 notifies the first communication terminal 100 that the addition of an access terminal has failed.
  • each node of the blockchain network 500 generates a token dedicated to the second communication terminal when the public key of the first communication terminal 100 is set as a manager public key.
  • Each node of the blockchain network 500 includes a new block including the device addition transaction and a token of the second communication terminal in which the public key of the second communication terminal is registered as a public key allowed to access the private network.
  • the new block is connected to the existing block and stored in the block chain. Accordingly, the second communication terminal is registered in the blockchain as a device that can access the private network 700.
  • the blockchain network 500 informs the domain management server 200 of the success of the transaction (S921). Then, the domain management server 200 notifies the first communication terminal 100 of the successful addition of the access terminal (S923). Subsequently, the personal domain application 110 of the first communication terminal 100 extracts the public key of the security device 710 and transmits the public key of the security device 710 to the second communication terminal (S925). .
  • the personal domain application 110 of the first communication terminal 100 proceeds to obtain a private network access address (S927). Specifically, the personal domain application 110 of the first communication terminal 100 electronically signs a new use ticket with the private key of the first communication terminal 100, as shown in FIG.
  • the public key and the digital signature of 710 are converted into a service code having a predetermined format.
  • the personal domain application 110 of the first communication terminal 100 transmits the domain query message including the service code and the personal domain name to the DNS server 400.
  • the domain query message is transmitted to the service server 300, and the service server 300 generates an information request transaction to the blockchain network 500, restores the service code to the original state in the blockchain network 500, and digitally signs it. Verify to obtain the public key of the first communication terminal 100, and performs the use ticket verification.
  • the service server 300 succeeds in verifying the usage ticket, a new block including the transaction is generated and stored in the blockchain, and the blockchain network 500 includes the private domain name, the public key of the security device 710, and the like.
  • the IP address of the communication device 720 corresponding to the public key of the first communication terminal 100 (that is, the connection address of the private network) and the token of the first communication terminal 100 are transmitted to the first communication terminal 100. do.
  • the personal domain application 110 of the first communication terminal 100 is the service code, personal domain name, the first communication
  • the device addition request message including the token of the terminal 100 and the public key of the second communication terminal is transmitted to the communication device 720 having the checked IP address (S929).
  • the security device 710 controlling the connection of the private network 700 acquires the device addition request message, and proceeds to the verification step, as in steps S805 to S817 of FIG. 8. Specifically, the security device 710 restores the service code to its original state, and if the verification is successful by performing the use ticket verification, the security device 710 maps the use ticket and the personal domain name to the mapping table and stores the mapping in the connection request message. Request the included token verification to the domain management server 200, and receives the token verification result performed in the blockchain network 500.
  • the security device 710 If any one of the use ticket verification and the token verification fails, the security device 710 notifies the first communication terminal 100 that the device cannot be added. On the contrary, if both the use ticket verification and the token verification succeed, the security device 710 checks whether the public key of the first communication terminal 100 is stored for the administrator, and thus, the first communication terminal 100. It is authenticated whether the user is an administrator (S931).
  • the security device 710 stores the public key of the second communication terminal included in the device addition request message in an access permission list. In operation S933, the device is successfully added to the first communication terminal 100.
  • the public key of the second communication terminal and the public key of another terminal can be registered as identification information of the terminal accessible to the blockchain and the security device 710.
  • FIG. 10 is a flowchart illustrating a method for acquiring a connection address of a private network by another terminal allowed to access a private network according to an embodiment of the present invention. Since FIG. 10 is similar to FIG. 7, in the description of FIG. 10, portions overlapping with FIG. 7 will be compressed and summarized, and the differences will be described mainly.
  • the personal domain application of the second communication terminal generates a personal domain name including a personal domain code based on a domain name input from a user, generates a use ticket based on a current date and time, and generates a first ticket.
  • the public key of the security device 710 received from the communication terminal 100 is extracted (S1001 to S1005).
  • the personal domain application of the second communication terminal sets the use ticket as the original data, electronically signs it with the private key of the second communication terminal, and uses the electronic signature, the use ticket and the public key of the security device 710 as the service code.
  • the domain query message including the service code and the domain name is transmitted to the DNS server 400 (S1011).
  • the DNS server 400 transmits the domain query message to the service server 300 as the domain query message includes the private domain code (S1013 and S1015). Then, the service server checks the service code included in the domain query message, and if successful, generates the information request transaction including the service code and the private domain name to the blockchain network 500 (S1017 and S1019).
  • the nodes of the blockchain network 500 restore the electronic signature included in the service code, the public key of the security device 710 and the use ticket, and then verify the restored electronic signature to publish the second communication terminal.
  • the key is extracted (S1021, S1023).
  • the nodes of the blockchain network 500 check whether there is a block including a device addition transaction or a domain registration transaction having the private domain name, the public key of the security device 710 and the public key of the second communication terminal.
  • the blockchain is searched for whether the private network access authority of the second communication terminal is checked (S1025). According to FIG. 10, a block including a device addition transaction having the private domain name, the public key of the security device 710, and the public key of the second communication terminal is described as being stored in the blockchain.
  • the blockchain network 500 After performing the use ticket verification (S1027), if the blockchain network 500 succeeds in both the access right verification and the use ticket verification, the blockchain network 500 generates a block including the information request transaction and connects the existing block to the existing block.
  • the generated block is stored in the block chain (S1029).
  • the blockchain network 500 may further include the IP address of the communication device 720 and the second communication in a block including the private domain name, the public key of the security device 710, and the public key of the second communication terminal 110.
  • the token of the terminal is extracted (S1031). Subsequently, the blockchain network 500 transmits a transaction processing message including the extracted IP address of the communication device 720 and the token of the second communication terminal to the service server 300 (S1033).
  • the service server 300 transmits the IP address of the communication device 720 and the token of the second communication terminal to the personal domain application of the second communication terminal in response to the domain query (S1035).
  • the second communication terminal registered by the manager terminal 110 transmits a domain query message including a service code and a personal domain name
  • the second communication terminal receives the IP address and token of the security device 710 as response information. do.
  • FIG. 11 is a flowchart illustrating a method for allowing another terminal access to a private network to access a private network according to an embodiment of the present invention.
  • the procedure according to FIG. 11 proceeds after the procedure according to FIG. 10.
  • FIG. 11 is similar to FIG. 8, in the reference description of FIG. 11, portions overlapping with FIG. 8 will be summarized by compression and described based on differences.
  • the personal domain application of the second communication terminal checks the communication device IP address of the private network 700 received from the service server 300 and the token of the second communication terminal (S1101), and the service code,
  • the connection request message including the personal domain name and the token is transmitted to the communication device 720 having the checked IP address (S1103).
  • the security device 710 of the private network 700 receives the access request message, restores the service code to its original state, and verifies the restored electronic signature to extract the public key of the second communication terminal ( S1105).
  • the security device 710 compares the value of the use ticket included in the connection request message with the value of the use ticket stored in the mapping table, and verifies forgery of the use ticket (S1107). Subsequently, the security apparatus 710 verifies whether the second communication terminal is a terminal capable of accessing the private network by checking whether the public key of the second communication terminal extracted through electronic signature verification is recorded in the access permission list. (S1109).
  • the security device 710 transmits a connection disable message to the second communication terminal, and blocks the connection to the second communication terminal.
  • the security device 710 requests the domain management server 200 for token verification included in the access request message (S1111).
  • the security device 710 transmits the token, the public key of the second communication terminal, the public key of the security device 120 and the private domain name to the domain management server 200, and furthermore, a usage ticket that has been successfully verified.
  • the personal domain name is mapped and recorded in the mapping table to maintain the freshness of the use ticket.
  • the domain management server 200 transmits the token, the public key of the second communication terminal, the public key of the security device 710 and the private domain name to the blockchain network 500, and requests token verification ( S1113).
  • the nodes of the blockchain network 500 identify a block including the public key of the second communication terminal, the public key of the security device 710 and the private domain name, and are connected to this block or this block.
  • the latest token recorded in the block is checked, and it is verified whether the latest token identified in the block and the token received from the domain management server 200 match (S1115).
  • the blockchain network 500 transmits the token verification result to the domain management server 200, and the domain management server 200 transmits the token verification result to the security device 710 (S1117).
  • the security device 710 If the security device 710 confirms that the token verification result is unsuccessful, the security device 710 transmits a connection not available message to the second communication terminal. On the other hand, if the security device 710 determines that the token verification result is successful, the user verification finally succeeds. In operation S1119, a message informing access permission of the communication device is transmitted to the second communication terminal in operation S1121, and the second communication terminal is allowed to access the communication device 720.
  • the personal domain application of the second communication terminal can access the communication device 720 having the IP address through the security device 710, and use the service provided by the communication device 720 (S1123).
  • the security device 710 requests the token regeneration to the domain management server 200 (S1125), and the domain management server 200 public key of the second communication terminal 110, security A token regeneration request transaction including the public key of the device 710 and the private domain name is generated to the blockchain network 500 (S1127).
  • the node of the blockchain network 500 regenerates the token, and includes the regenerated token, the public key of the second communication terminal 110, the public key of the security device 710, and a private domain name.
  • a block indicating that the reissue has been generated is generated, and the block is connected to an existing block and stored in the block chain (S1129).
  • the blockchain network 500 stores and manages a module for issuing a token, a module for verifying an electronic signature, a module for verifying a use ticket, a module for managing a public key of another terminal allowed to access a private network, and a connection address for a private network. Module to perform the functions of the above-described blockchain network 500 in the database.
  • the security device 710 has been described as performing the use ticket verification and token verification together, the user verification can be performed by performing only one of the use ticket verification or token verification.
  • the method of the present invention as described above may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. Since this process can be easily implemented by those skilled in the art will not be described in more detail.
  • a recording medium CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.

Abstract

Disclosed are a method and a system for providing a personal domain name service, which extract and provide additional information matching a personal domain, by using a personal domain technology. A method for providing a personal domain service allowing acquisition of additional information according to an embodiment comprises the steps of: receiving, by a service server, a domain query message including a personal domain name and a digital signature transmitted from a user terminal; when the digital signature is successfully verified, acquiring, by the service server, additional information corresponding to the personal domain name and at least one public key; and transmitting, by the service server, the additional information as a domain response to the user terminal.

Description

개인 도메인 네임 서비스 방법 및 개인 도메인 네임을 이용한 접속 제어 방법과 시스템Personal domain name service method and access control method and system using personal domain name
본 출원은 2018년 05월 16일자로 출원된 한국 특허출원 제10-2018-0056194호 및 2019년 05월 10일자로 출원된 한국 특허출원 제10-2019-0054985호에 대한 우선권 주장 출원으로서, 해당 출원의 명세서 및 도면에 개시된 모든 내용은 인용에 의해 본 출원에 원용된다. This application is a priority claim application for Korean Patent Application No. 10-2018-0056194 filed May 16, 2018 and Korean Patent Application No. 10-2019-0054985 filed May 10, 2019. All contents disclosed in the specification and drawings of the application are incorporated herein by reference.
본 발명은 개인 도메인 기술에 이용하여, 개인 도메인 네임과 매칭되는 부가 정보를 추출하여 제공하는 개인 도메인 네임 서비스 방법과 시스템에 관한 것이다. The present invention relates to a personal domain name service method and system for extracting and providing additional information matching a personal domain name using the personal domain description.
도메인 네임 서비스란 영문으로 기록된 도메인 네임을 숫자 형태의 IP(Internet Protocol) 주소로 변경하여 제공하는 서비스로서, 현재 인터넷에서 통용되는 공지된 서비스에 해당한다. 이러한 도메인 네임 서비스를 제공하기 위하여, 도메인 네임 서버가 네트워크 상에 구축되고, 이 도메인 네임 서버는 도메인 네임 질의에 대한 응답으로 IP 주소를 단말로 전달한다. 나아가 기존의 영문으로 설정된 도메인 네임 대신에 다른 언어로 표현된 도메인 네임을 이용할 수 있는 기술도 개발되었다. 아래의 특허문헌은 인터넷상에서 사용자가 원하는 언어로 도메인 이름들을 사용하기 위한 시스템에 관하여 개시한다. The domain name service is a service for changing a domain name recorded in English into an IP (Internet Protocol) address in the form of a number and corresponds to a known service currently available on the Internet. In order to provide such a domain name service, a domain name server is established on the network, and the domain name server delivers an IP address to the terminal in response to a domain name query. Furthermore, a technology for using a domain name expressed in another language instead of the domain name set in English has been developed. The following patent document discloses a system for using domain names in a language desired by a user on the Internet.
그런데 이러한 도메인 네임은 공식적으로 통용되는 것으로서, 사용자만을 위하여 특화되지 않는 문제점이 있다. 특히, 기업과 단체들의 도메인 네임 선정으로 인하여, 외우기 쉽고 접근하기 쉬운 도메인 네임을 사용자들이 이용하지 못하는 문제점도 있다. However, such a domain name is officially used, and there is a problem that is not specialized only for the user. In particular, due to the selection of domain names of companies and organizations, there are also problems that users cannot use domain names that are easy to remember and easy to access.
또한, 기존의 도메인 네임은 단지 IP 주소만을 응답하는 단순한 형태로서, 보안적인 측면에서도 문제점이 발생할 수 있다. 예컨대, 도메인 네임을 통해서 IP 주소가 획득되면, 이 IP 주소로 해킹, 디도스 공격 등이 시도될 수 있다.In addition, the existing domain name is a simple form of responding only to an IP address, which may cause problems in terms of security. For example, if an IP address is obtained through a domain name, hacking, DDoS attacks, etc. may be attempted with the IP address.
선행기술문헌Prior art literature
한국공개특허공보 제10-2001-0066754호 (2001.07.11 공개)Korean Patent Publication No. 10-2001-0066754 (published Jul. 11, 2001)
본 발명은 이러한 문제점을 해결하기 위하여 제안된 것으로, 개인만을 위한 개인 도메인 네임을 등록하고, 이 개인 도메인 네임과 서비스 코드를 토대로 사용자를 인증하여 인증에 성공한 사용자의 단말로 부가 정보를 제공하는 개인 도메인 네임 서비스 방법을 제공하는데 그 목적이 있다.The present invention has been proposed to solve such a problem, and registers a personal domain name for an individual only, and provides a personal domain that provides additional information to a terminal of a user who has successfully authenticated by authenticating a user based on the personal domain name and a service code. The purpose is to provide a naming service method.
또한, 본 발명은 개인 도메인 네임을 기반으로 통신 장치의 사설 네트워크 접근을 선택적으로 허락하는 접속 제어 방법 및 시스템을 제공하는데 다른 목적이 있다. Another object of the present invention is to provide an access control method and system for selectively allowing access to a private network of a communication device based on a private domain name.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. Also, it will be readily appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.
상기 목적을 달성하기 위한 본 발명의 제1측면에 따른, 부가 정보를 획득할 수 있는 개인 도메인 서비스를 제공하는 방법은, 서비스 서버가, 사용자 단말에서 전송된 개인 도메인 네임과 전자 서명을 포함하는 도메인 질의 메시지를 수신하는 단계; 상기 전자 서명의 검증에 성공하면, 상기 서비스 서버가 상기 개인 도메인 네임 및 하나 이상의 공개키와 대응되는 부가 정보를 획득하는 단계; 및 상기 서비스 서버가, 상기 부가 정보를 상기 도메인 응답으로서 상기 사용자 단말로 전송하는 단계를 포함한다.According to a first aspect of the present invention for achieving the above object, a method for providing a personal domain service that can obtain additional information, the service server, the domain including the personal domain name and the electronic signature transmitted from the user terminal Receiving a query message; If the electronic signature is successfully verified, acquiring, by the service server, additional information corresponding to the private domain name and at least one public key; And transmitting, by the service server, the additional information to the user terminal as the domain response.
상기 도메인 질의 메시지에는 사용 티켓과 목적지 공개키가 포함될 수 있다. 이 경우, 상기 부가 정보를 획득하는 단계는 상기 사용 티켓의 검증에 성공하면, 상기 서비스 서버가 목적지 공개키, 사용자 공개키 및 상기 개인 도메인 네임과 대응되는 상기 부가 정보를 획득할 수 있다.The domain query message may include a usage ticket and a destination public key. In this case, in the acquiring of the additional information, when the verification of the use ticket is successful, the service server may obtain the additional information corresponding to the destination public key, the user public key, and the personal domain name.
상기 부가 정보를 획득하는 단계는, 상기 서비스 서버가, 상기 개인 도메인 네임, 상기 전자 서명, 상기 목적지 공개키 및 상기 사용 티켓을 포함하는 정보 요청 트랜잭션을 블록체인 네트워크로 발생시키는 단계; 상기 블록체인 네트워크가, 상기 전자 서명을 검증하여 상기 전자 서명에서 상기 사용자 공개키를 추출하고, 상기 사용 티켓이 과거에 사용된 티켓보다 큰 값을 가지는지 여부를 검증하는 단계; 상기 블록체인 네트워크가, 상기 사용 티켓의 검증에 성공하면, 상기 개인 도메인 네임, 상기 목적지 공개키 및 상기 사용자 공개키를 포함하는 블록을 블록체인에서 확인하고, 이 블록에서 부가 정보를 추출하는 단계; 및 상기 서비스 서버가, 상기 부가 정보를 상기 블록체인 네트워크로부터 수신하는 단계를 포함할 수 있다. The acquiring of the additional information may include: generating, by the service server, an information request transaction including the personal domain name, the electronic signature, the destination public key, and the usage ticket to a blockchain network; Verifying, by the blockchain network, the electronic signature to extract the user public key from the electronic signature, and verifying whether the usage ticket has a value greater than a ticket used in the past; Checking, by the blockchain network, a block including the private domain name, the destination public key, and the user public key in a blockchain, and extracting additional information from the block if the verification of the use ticket is successful; And receiving, by the service server, the additional information from the blockchain network.
상기 방법은, 도메인 관리 서버가, 개인 도메인 네임, 부가 정보, 목적지 공개키 및 전자 서명이 포함된 도메인 등록 요청 메시지를 상기 사용자 단말로부터 수신하는 단계; 상기 도메인 관리 서버가, 상기 개인 도메인 네임, 상기 목적지 공개키, 상기 부가 정보 및 상기 전자 서명을 포함하는 도메인 등록 트랜잭션을 상기 블록체인 네트워크에 발생시키는 단계; 및 상기 블록체인 네트워크가, 상기 도메인 등록 트랜잭션에 포함된 전자 서명을 검증하여 사용자 공개키를 획득하고, 상기 사용자 공개키, 상기 개인 도메인 네임, 상기 목적지 공개키 및 상기 부가 정보가 포함된 신규 블록을 생성하여 상기 블록체인에 저장하는 단계를 더 포함할 수 있다.The method includes: receiving, by a domain management server, a domain registration request message from the user terminal, the domain registration request message including a personal domain name, additional information, a destination public key, and an electronic signature; Generating, by the domain management server, a domain registration transaction in the blockchain network including the private domain name, the destination public key, the additional information, and the electronic signature; And the blockchain network obtains a user public key by verifying an electronic signature included in the domain registration transaction, and extracts a new block including the user public key, the private domain name, the destination public key, and the additional information. The method may further include generating and storing the blockchain in the blockchain.
상기 블록체인에 저장하는 단계는, 상기 블록체인 네트워크가, 상기 개인 도메인 네임, 상기 목적지 공개키 및 상기 사용자 공개키를 포함하는 블록이 블록체인에 이미 저장되어 있는지 여부를 확인하여 저장되지 않으면, 상기 신규 블록을 생성하여 상기 블록체인에 저장할 수 있다. The storing in the blockchain may include determining whether a block including the private domain name, the destination public key, and the user public key is already stored in the blockchain, if the blockchain network is not stored. A new block can be created and stored in the blockchain.
상기 목적을 달성하기 위한 본 발명의 제2측면에 따른, 개인 도메인 네임을 이용하여 사설 네트워크의 접속을 제어하는 방법은, 서비스 서버가, 통신 단말에서 전송된 개인 도메인 네임과 전자 서명을 포함하는 도메인 질의 메시지를 수신하는 단계; 상기 전자 서명의 검증에 성공하면, 상기 서비스 서버가 상기 개인 도메인 네임과 하나 이상의 공개키와 대응되는 사설 네트워크의 접속 주소를 획득하는 단계; 및 상기 서비스 서버가, 상기 사설 네트워크의 접속 주소를 상기 도메인 응답으로서 상기 통신 단말로 전송하는 단계를 포함한다.In accordance with a second aspect of the present invention for achieving the above object, a method of controlling a connection of a private network using a private domain name includes a domain in which a service server includes a private domain name and an electronic signature transmitted from a communication terminal. Receiving a query message; If the electronic signature is successfully verified, acquiring, by the service server, a connection address of a private network corresponding to the private domain name and at least one public key; And sending, by the service server, the access address of the private network to the communication terminal as the domain response.
상기 방법은, 상기 전송하는 단계 이후에, 상기 사설 네트워크에 포함된 보안 장치가, 사용 티켓이 포함된 접속 요청 메시지를 상기 통신 단말로부터 수신하는 단계; 상기 보안 장치가, 상기 사용 티켓이 저장중인 사용 티켓보다 큰 값을 가지는지 여부를 검증하는 단계; 및 상기 보안 장치가 상기 사용 티켓의 검증에 성공하면, 상기 통신 단말에 대한 사설 네트워크 접속을 허용하는 단계를 더 포함한다.The method may include, after the transmitting, receiving, by the security device included in the private network, a connection request message including a usage ticket from the communication terminal; Verifying, by the security device, whether the usage ticket has a value greater than a usage ticket being stored; And if the security device succeeds in verifying the usage ticket, allowing the private network connection to the communication terminal.
상기 보안 장치가, 상기 접속 요청 메시지에서 토큰을 확인하고, 상기 토큰이 블록체인 네트워크에서 발행된 토큰과 일치하는지 여부를 검증할 수 있다. The security device may verify a token in the access request message and verify whether the token matches a token issued in a blockchain network.
상기 접속 주소를 획득하는 단계는, 상기 통신 단말의 공개키가 상기 사설 네트워크로의 접속 가능한 통신 단말의 공개키로 이미 등록되어 있는지 여부를 검증하여, 검증에 성공하면 사설 네트워크의 접속 주소를 획득할 수 있다.The acquiring of the access address may include verifying whether the public key of the communication terminal is already registered with the public key of the communication terminal that is accessible to the private network, and if the verification is successful, obtain the access address of the private network. have.
상기 접속 주소를 획득하는 단계는, 상기 서비스 서버가 상기 개인 도메인 네임, 전자 서명 및 상기 보안 장치의 공개키를 포함하는 정보 요청 트랜잭션을 블록체인 네트워크로 발생시키는 단계; 상기 블록체인 네트워크가, 상기 전자 서명을 검증하여 상기 통신 단말의 공개키를 획득하고, 상기 개인 도메인 네임, 상기 통신 단말의 공개키를 포함하는 블록을 확인하는 단계; 및 상기 블록체인 네트워크가, 상기 확인한 블록에서 상기 통신 단말의 공개키가 관리자용 공개키 또는 접근 허락된 공개키로 저장되어 있는지 여부를 확인하여 저장되어 있으면, 상기 블록에서 상기 사설 네트워크의 접속 주소를 획득하여, 상기 서비스 서버로 전송하는 단계를 포함할 수 있다.The acquiring the access address may include: generating, by the service server, an information request transaction including the private domain name, the electronic signature, and the public key of the security device to a blockchain network; Verifying, by the blockchain network, a block including the private domain name and the public key of the communication terminal by obtaining the public key of the communication terminal by verifying the electronic signature; And if the blockchain network checks whether or not the public key of the communication terminal is stored as an administrator public key or an accessible public key in the checked block, and obtains the access address of the private network in the block. It may include the step of transmitting to the service server.
상기 목적을 달성하기 위한 본 발명의 제3측면에 따른, 개인 도메인 네임을 이용하여 사설 네트워크의 접속을 제어하는 시스템은, 통신 단말에서 전송된 개인 도메인 네임을 포함하는 도메인 질의 메시지를 수신하면, 상기 개인 도메인 네임과 하나 이상의 공개키와 대응되는 사설 네트워크의 접속 주소를 획득하여, 상기 사설 네트워크로의 접속 주소를 상기 도메인 응답으로서 상기 통신 단말로 전송하는 서비스 서버; 및 상기 사설 네트워크의 보안을 담당하며, 상기 접속 주소로 접속한 상기 통신 단말을 검증하고, 상기 통신 단말의 검증에 성공한 경우, 상기 통신 단말에 대한 사설 네트워크 접속을 허용하는 보안 장치를 포함한다.According to a third aspect of the present invention for achieving the above object, a system for controlling a connection of a private network using a private domain name, upon receiving a domain query message including a private domain name transmitted from a communication terminal, A service server obtaining a private domain name and a connection address of a private network corresponding to at least one public key and transmitting a connection address to the private network as the domain response to the communication terminal; And a security device that is in charge of security of the private network, verifies the communication terminal connected to the access address, and, if the verification of the communication terminal succeeds, permits private network access to the communication terminal.
본 발명은 사용자가 개인 도메인 네임을 입력하면 사용자의 전자 서명을 검증하여 검증에 성공하면 사설 도메인 네임과 매칭되는 부가 정보를 사용자에게 제공하는 장점이 있다. The present invention has an advantage of providing the user with additional information matching the private domain name when the user inputs his or her personal domain name to verify the electronic signature of the user.
또한, 본 발명은 보다 사용하게 쉬운 개인 도메인 네임을 사용자에게 제공하고, 이 개인 도메인 네임을 기반으로 사용자에게 특화된 서비스를 제공할 수 있는 이점이 있다.In addition, the present invention has an advantage of providing a user with a personal domain name that is easier to use, and providing a user-specific service based on the personal domain name.
게다가, 본 발명은 기존의 공용 도메인 네임과의 중복되는 것과 관계없이 사용자만을 위한 개인 도메인 네임을 제공할 수 있어, 개인 도메인 네임을 사용하는데 있어서의 편의성을 극대화할 수 있는 이점이 있다.In addition, the present invention can provide a personal domain name only for a user regardless of overlapping with an existing public domain name, thereby maximizing convenience in using a private domain name.
또한, 본 발명은 개인 도메인 네임을 이용하여 통신 장치가 사설 네트워크에 접근하는 것을 선택적으로 허락함으로써, 사설 네트워크의 보안을 향상시키는데 일조할 수 있는 효과도 있다. In addition, the present invention also has the effect of selectively allowing a communication device to access a private network using a private domain name, thereby helping to improve the security of the private network.
게다가, 본 발명은 개인 도메인 네임과 서비스 코드에 대해서 여러 차례 검증을 수행함으로써, 개인 도메인 네임 서비스에 대한 안정성을 강화시키는 장점도 있다. In addition, the present invention has the advantage of enhancing the stability of the personal domain name service by performing the verification several times for the personal domain name and the service code.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명을 실시하기 위한 구체적인 내용과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.The following drawings attached to this specification are illustrative of the preferred embodiments of the present invention, and together with the specific details for carrying out the invention serve to further understand the technical spirit of the present invention, the present invention described in such drawings It should not be construed as limited to matters.
도 1은 본 발명의 제1실시예에 따른, 개인 도메인 네임 서비스 시스템의 구성을 나타내는 도면이다.1 is a diagram illustrating a configuration of a personal domain name service system according to a first embodiment of the present invention.
도 2는 본 발명의 제1실시예에 따른, 개인 도메인 네임을 등록하는 방법을 설명하는 흐름도이다.2 is a flowchart illustrating a method of registering a private domain name according to the first embodiment of the present invention.
도 3은 본 발명의 제1실시예에 따른, 도메인 질의에 대한 응답으로서 부가 정보를 제공하는 방법을 설명하는 흐름도이다.3 is a flowchart illustrating a method of providing additional information as a response to a domain query according to the first embodiment of the present invention.
도 4는 본 발명의 제2실시예에 따른, 접속 제어 시스템의 구성을 나타내는 도면이다.4 is a diagram illustrating a configuration of a connection control system according to a second embodiment of the present invention.
도 5는 본 발명의 제2실시예에 따른, 사용자 단말과 보안 장치 간에 공개키를 공유하는 방법을 설명하는 흐름도이다.5 is a flowchart illustrating a method of sharing a public key between a user terminal and a security device according to a second embodiment of the present invention.
도 6은 본 발명의 제2실시예에 따른, 개인 도메인 네임을 등록하는 방법을 설명하는 흐름도이다.6 is a flowchart illustrating a method of registering a private domain name according to a second embodiment of the present invention.
도 7은 본 발명의 제2실시예에 따른, 도메인 질의에 대한 응답으로서 사설 네트워크의 접속 주소를 제공하는 방법을 설명하는 흐름도이다.7 is a flowchart illustrating a method of providing a connection address of a private network as a response to a domain query according to a second embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른, 도메인 질의 응답에 기초하여 사용자 단말이 사설 네트워크로 접속하는 방법을 설명하는 흐름도이다.8 is a flowchart illustrating a method of connecting a user terminal to a private network based on a domain query response according to an embodiment of the present invention.
도 9는 본 발명의 제3실시예에 따른, 관리자 단말에서 타 단말의 접속 권한을 등록하는 방법을 설명하는 흐름도이다. 9 is a flowchart illustrating a method of registering an access right of another terminal in an administrator terminal according to a third embodiment of the present invention.
도 10은 본 발명의 일 실시예에 따른, 사설 네트워크로 접근 허용된 타 단말이 사설 네트워크의 접속 주소를 획득하는 방법을 설명하는 흐름도이다.10 is a flowchart illustrating a method for acquiring a connection address of a private network by another terminal allowed to access a private network according to an embodiment of the present invention.
도 11은 본 발명의 일 실시예에 따른, 사설 네트워크로 접근 허용된 타 단말이 사설 네트워크로 접속하는 방법을 설명하는 흐름도이다.FIG. 11 is a flowchart illustrating a method for allowing another terminal access to a private network to access a private network according to an embodiment of the present invention.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, whereby those skilled in the art may easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 제1실시예에 따른, 개인 도메인 네임 서비스 시스템의 구성을 나타내는 도면이다.1 is a diagram illustrating a configuration of a personal domain name service system according to a first embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명의 제1실시예에 따른 개인 도메인 서비스 시스템은, 사용자 단말(100), 도메인 관리 서버(200), 서비스 서버(300), DNS 서버(Domain Name Service Server)(400) 및 블록체인 네트워크(500)를 포함한다. As shown in FIG. 1, the personal domain service system according to the first embodiment of the present invention includes a user terminal 100, a domain management server 200, a service server 300, and a DNS server (Domain Name Service Server). 400 and the blockchain network 500.
사용자 단말(100), DNS 서버(400), 서비스 서버(300), 도메인 관리 서버(200) 각각은 통신망(600)을 통해서 서로 통신한다. 상기 통신망(600)은 이동통신망과 유선 통신망을 포함한다. 블록체인 네트워크(500)도 통신망(600)을 통해 도메인 관리 서버(200) 및 서비스 서버(300)와 통신할 수 있고, 또는 또 다른 통신망을 통해 통신할 수도 있다.Each of the user terminal 100, the DNS server 400, the service server 300, and the domain management server 200 communicate with each other through the communication network 600. The communication network 600 includes a mobile communication network and a wired communication network. The blockchain network 500 may also communicate with the domain management server 200 and the service server 300 through the communication network 600, or may communicate with another communication network.
블록체인 네트워크(500)는 복수의 노드들이 연결되어 있으며, 트랜잭션에 대한 검증을 수행한다. 또한, 블록체인 네트워크(500)에 속하는 각 노드들은 트랜잭션이 발생하면, 이 트랜잭션에 대한 검증을 수행한다. 또한, 블록체인 네트워크(500)에 포함된 각 노드들은 트랜잭션이 기록되며 블록 간에 연결 구조를 가지는 블록체인을 서로 공유한다. 상기 트랜잭션은 개인 도메인 네임이 등록/삭제/변경되거나, 부가 정보를 요청할 때 발생된다. 또한, 상기 블록에는 하나 이상의 공개키, 부가 정보, 개인 도메인 네임, 사용 티켓 및 전자 서명이 포함될 수 있다. 상기 사용 티켓은 현재 년도, 날짜 및 시각을 기반으로 생성된 정보로서, 현재 년도, 날짜와 시각이 나열된 시각 정보일 수 있다, 특히, 미래에 생성되는 사용 티켓이 과거에 생성된 사용 티켓보다 큰 값을 가진다. The blockchain network 500 is connected to a plurality of nodes and performs verification of a transaction. In addition, each node belonging to the blockchain network 500 performs a verification on this transaction when a transaction occurs. In addition, each node included in the blockchain network 500 shares a blockchain in which a transaction is recorded and has a connection structure between blocks. The transaction occurs when a private domain name is registered / deleted / changed or requests additional information. The block may also include one or more public keys, additional information, private domain names, usage tickets, and digital signatures. The use ticket is information generated based on the current year, date, and time, and may be time information in which the current year, date, and time are listed. In particular, a use ticket generated in the future is larger than a use ticket generated in the past. Has
상기 블록체인 네트워크(500)에서 부가 정보를 요청하는 트랜잭션이 발생되면, 블록체인 네트워크(500)에 포함된 각 노드들은 상기 트랜잭션을 검증하고, 검증에 성공하는 경우 개인 도메인 네임과 하나 이상의 공개키와 대응되는 부가 정보를 블록체인에서 추출하여 도메인 관리 서버(200)로 전송할 수 있다. 상기 부가 정보는 서비스 형태에 따라 인증 정보, IP 주소, 주소록, 복호키, 암호키 등 다양한 정보를 포함할 수 있다.When a transaction requesting additional information is generated in the blockchain network 500, each node included in the blockchain network 500 verifies the transaction, and if successful, the private domain name and one or more public keys and The corresponding additional information may be extracted from the blockchain and transmitted to the domain management server 200. The additional information may include various information such as authentication information, IP address, address book, decryption key, encryption key, etc. according to the service type.
사용자 단말(100)은 스마트폰, 태블릿 컴퓨터, 개인용 컴퓨터, 서버 등과 같은 사용자가 소유한 통신 장치이다. 상기 사용자 단말(100)에는 개인 도메인 서비스를 위한 개인 도메인 애플리케이션(110)이 설치된다. 상기 개인 도메인 애플리케이션(110)은 사용자 전용의 개인키와 공개키를 생성한다. 사용자는 상기 개인 도메인 애플리케이션(110)을 이용하여 개인 도메인 네임을 등록할 수 있다. 이때, 개인 도메인 애플리케이션(110)은 도메인 관리 서버(200)를 통해서 전자 서명, 목적지 공개키, 개인 도메인 네임 및 부가 정보가 포함된 트랜잭션을 발생시키고, 이 트랜잭션을 포함하는 블록을 블록체인 네트워크(500)에 등록할 수 있다. 또한, 사용자 단말(100)의 개인 도메인 애플리케이션(110)은 상기 개인 도메인 네임을 토대로, 부가 정보를 획득할 수도 있다.The user terminal 100 is a communication device owned by a user such as a smartphone, a tablet computer, a personal computer, a server, and the like. The user terminal 100 is installed with a personal domain application 110 for a personal domain service. The private domain application 110 generates a private key and a public key dedicated to the user. A user may register a personal domain name using the personal domain application 110. At this time, the personal domain application 110 generates a transaction including the electronic signature, the destination public key, the personal domain name, and additional information through the domain management server 200, and blocks the block including the transaction into the blockchain network 500 You can register at). In addition, the personal domain application 110 of the user terminal 100 may obtain additional information based on the personal domain name.
DNS 서버(400)는 도메인 네임과 대응되는 IP 주소를 제공하는 기능을 수행한다. 특히, DNS 서버(400)는 도메인 네임 질의에서 도메인 네임을 확인하고, 이 도메인 네임에서 개인 도메인을 나타내는 코드(이하, '개인 도메인 코드'로 지칭함)가 포함된 경우, 상기 도메인 네임 질의를 서비스 서버(300)로 전달한다. The DNS server 400 performs a function of providing an IP address corresponding to the domain name. In particular, the DNS server 400 checks the domain name in the domain name query, and if the domain name code is included in the domain name (hereinafter referred to as 'personal domain code'), the domain name query is transmitted to the service server. Forward to 300.
서비스 서버(300)는 개인 도메인 네임 서비스를 제공하는 서버로서, DNS 서버(400)로부터 개인 도메인 네임과 서비스 코드(예컨대, 16진수 문자열)가 포함된 도메인 네임 질의를 수신하면, 상기 개인 도메인 네임, 목적지 공개키 및 사용자 공개키와 대응하는 부가 정보를 블록체인 네트워크(500)에서 획득하고, 상기 획득한 부가 정보를 사용자 단말(100)로 제공한다. 여기서, 목적지 공개키는, 부가 정보가 이용되는 목적지 노드에서 배포하는 공개키로서, 예를 들어 부가 정보에 사설 네트워크의 보안 정보가 기록되는 경우 목적지 공개키는 사설 네트워크에 포함된 기기의 공개키일 수 있다. 상기 서비스 서버(300)는 상기 도메인 네임에 서비스 코드가 포함되어 있는지 여부를 검증하고, 검증에 성공하면 부가 정보를 요청하는 트랜잭션을 블록체인 네트워크(500)로 발생시킬 수 있다. The service server 300 is a server for providing a personal domain name service, and when receiving a domain name query including a personal domain name and a service code (for example, a hexadecimal string) from the DNS server 400, the personal domain name, The additional information corresponding to the destination public key and the user public key is obtained from the blockchain network 500, and the obtained additional information is provided to the user terminal 100. Here, the destination public key is a public key distributed by the destination node for which the additional information is used. For example, when the security information of the private network is recorded in the additional information, the destination public key may be the public key of the device included in the private network. have. The service server 300 may verify whether the service code is included in the domain name, and if the verification is successful, may generate a transaction requesting additional information to the blockchain network 500.
도메인 관리 서버(200)는 개인 도메인 네임을 블록체인 네트워크(500)에 등록하거나, 변경하거나 삭제하는 기능을 수행한다. 도메인 관리 서버(200)는 사용자 단말(100)의 개인 도메인 애플리케이션(110)으로부터 개인 도메인 네임에 대한 등록을 요청받으면, 사용자 개인키를 이용하여 생성된 전자 서명, 개인 도메인 네임, 목적지 공개키 및 부가 정보가 포함된 트랜잭션을 블록체인 네트워크(500)에 발생시킴으로써, 개인 도메인 네임을 블록체인 네트워크(500)에 등록할 수 있다. The domain management server 200 registers, changes, or deletes the personal domain name in the blockchain network 500. When the domain management server 200 receives a request for registration of a personal domain name from the personal domain application 110 of the user terminal 100, an electronic signature, a personal domain name, a destination public key, and an addition generated using the user private key are added. By generating a transaction including the information in the blockchain network 500, it is possible to register the personal domain name to the blockchain network 500.
상기 도메인 관리 서버(200)와 서비스 서버(300)는 서로 분리되어 구현되는 것으로 설명하였지만, 상기 도메인 관리 서버(200)와 서비스 서버(300)가 하나의 서버 형태로 통합되어 구현될 수도 있다. Although the domain management server 200 and the service server 300 have been described as being implemented separately from each other, the domain management server 200 and the service server 300 may be implemented as a single server.
도 2는 본 발명의 제1실시예에 따른, 개인 도메인 네임을 등록하는 방법을 설명하는 흐름도이다.2 is a flowchart illustrating a method of registering a private domain name according to the first embodiment of the present invention.
도 2를 참조하면, 개인 도메인 애플리케이션(110)은 사용자 전용의 개인키와 공개키를 생성한다(S201). Referring to FIG. 2, the private domain application 110 generates a private key and a public key dedicated to a user (S201).
다음으로, 사용자로부터 도메인 네임을 입력받아, 상기 입력받은 도메인을 토대로 개인 도메인 네임을 생성한다(S203). 상기 개인 도메인 애플리케이션(110)은 사용자로부터 도메인 네임을 입력받으면, 도메인 네임 뒤에 개인 도메인 코드(예컨대, kt.tin)를 덧붙일 수 있다. 예컨대, 사용자가 'mycamera'라는 도메인 네임을 입력하는 경우, 개인 도메인 애플리케이션(110)은 상기 'mycaemra' 뒤에 개인 도메인 코드인 'kt.tin'를 덧붙어, 'mycaemra.kt.tin'이라는 개인 도메인 네임을 생성할 수 있다. Next, the domain name is input from the user, and a personal domain name is generated based on the received domain (S203). When the personal domain application 110 receives a domain name from a user, the personal domain application 110 may add a personal domain code (eg, kt.tin) after the domain name. For example, when a user enters a domain name of 'mycamera', the personal domain application 110 adds a personal domain code 'kt.tin' after 'mycaemra' and then a personal domain of 'mycaemra.kt.tin'. You can create a name.
다음으로, 개인 도메인 애플리케이션(110)은 사용자로부터 부가 정보를 입력받거나 사용자 단말(100)에 저장된 부가 정보를 추출하여, 부가 정보를 획득할 수 있다(S205). 상기 부가 정보는, IP 주소, 인증 정보, 주소록, 복호키, 암호키, 목적지의 공개키 등과 같은 다양한 데이터일 수 있다. Next, the personal domain application 110 may receive additional information from the user or extract additional information stored in the user terminal 100 to obtain additional information (S205). The additional information may be various data such as an IP address, authentication information, an address book, a decryption key, an encryption key, a public key of a destination, and the like.
이어서, 개인 도메인 애플리케이션(110)은 현재 날짜와 시각을 토대로 사용 티켓을 생성하고, 사용자 티켓을 전자 서명의 원문 데이터로서 선정하여, 상기 사용자 티켓을 사용자 개인키로 전자 서명을 수행한다(S207). 실시 형태에 따라, 개인 도메인 애플리케이션(110)은 상기 사용 티켓 이외에, 개인 도메인 네임, 부가 정보 중에서 하나 이상을 포함시켜 원문 데이터로서 선정하고, 이 선정한 원문 데이터를 상기 사용자 개인키로 전자 서명할 수도 있다. 또한, 개인 도메인 애플리케이션(110)은 부가 정보와 관련된 목적지의 공개키를 확인한다. 여기서, 목적지 공개키는, 부가 정보가 이용되는 노드에서 배포하는 공개키로서, 사용자 단말(100)은 사전에 목적지 공개키를 배포받아 저장하고, 상기 개인 도메인 애플리케이션(110)은 사전에 저장중인 목적지 공개키를 사용자 단말(100)에서 추출하여 확인할 수 있다. Subsequently, the personal domain application 110 generates a use ticket based on the current date and time, selects the user ticket as original data of the electronic signature, and electronically signs the user ticket with the user private key (S207). According to an embodiment, the personal domain application 110 may include one or more of a personal domain name and additional information in addition to the use ticket, select as original text data, and electronically sign the selected original data with the user private key. The personal domain application 110 also verifies the public key of the destination associated with the additional information. Here, the destination public key is a public key distributed by a node using additional information, and the user terminal 100 receives and stores a destination public key in advance, and the personal domain application 110 previously stores the destination. The public key may be extracted from the user terminal 100 and checked.
이어서 개인 도메인 애플리케이션(110)은 상기 개인 도메인 네임, 사용 티켓, 목적지 공개키, 부가 정보 및 전자 서명이 포함된 도메인 등록 요청 메시지를 도메인 관리 서버(200)로 전송한다(S209).Subsequently, the personal domain application 110 transmits a domain registration request message including the personal domain name, a usage ticket, a destination public key, additional information, and an electronic signature to the domain management server 200 (S209).
그러면, 도메인 관리 서버(200)는 상기 개인 도메인 네임, 사용 티켓, 목적지 공개키, 부가 정보 및 전자 서명이 포함된 도메인 등록 트랜잭션을 블록체인 네트워크(500)로 발생시키고(S211), 블록체인 네트워크(500)에 포함된 각 노드들은 상기 도메인 등록 트랜잭션에 포함된 전자 서명을 검증하여 사용자의 공개키를 획득한다. 이때, 상기 블록체인 네트워크(500)에 포함된 각 노드들은, 전자 서명 검증 알고리즘을 통해서 전자 서명에서 사용자의 공개키를 획득할 수 있다. 상기 전자 서명 검증 알고리즘은 스마트 컨트랙트를 기초로 수행될 수 있다. Then, the domain management server 200 generates a domain registration transaction including the personal domain name, the usage ticket, the destination public key, additional information, and the electronic signature to the blockchain network 500 (S211), and the blockchain network ( Each node included in 500 obtains a user's public key by verifying an electronic signature included in the domain registration transaction. In this case, each node included in the blockchain network 500 may obtain a user's public key from an electronic signature through an electronic signature verification algorithm. The digital signature verification algorithm may be performed based on a smart contract.
이어서, 블록체인 네트워크(500)에서 전자 서명 검증하여 사용자의 공개키를 획득하면, 각 노드들은 상기 개인 도메인 네임, 상기 사용자 공개키 및 상기 목적지 공개키 모두를 포함하는 블록이 블록체인에 저장되어 사용중인지 여부를 확인함으로써, 개인 도메인 네임에 대한 중복 체크를 수행한다(S213). 여기서, 개인 도메인 네임만을 중복 체크하는 것이 아니라 사용자 공개키, 목적지 공개키 및 개인 도메인 네임을 모두 가지고 있는 블록이 존재하는지 여부를 체크한다. 부연하면, 개인 도메인 네임은 동일하더라도 사용자 공개키, 목적지 공개키 중 어느 하나가 다르면, 본 서비스에서 사용될 수 있다. 즉, 본 발명에서는 사용자 공개키 또는 목적지 공개키가 서로 다른 경우에는, 동일한 개인 도메인이 사용자들간에 사용될 수 있다.Subsequently, when the digital signature is verified by the blockchain network 500 to obtain the public key of the user, each node stores and stores the block including the private domain name, the user public key, and the destination public key in the blockchain. By checking whether or not, a duplicate check for the personal domain name is performed (S213). Here, instead of checking only the private domain name, it is checked whether a block having all of the user public key, the destination public key, and the private domain name exists. In other words, even if the private domain name is the same, any one of the user public key and the destination public key may be used in the present service. That is, in the present invention, when the user public key or the destination public key is different from each other, the same private domain may be used between users.
다음으로, 상기 중복 체크 결과, 사용자 공개키, 목적지 공개키 및 개인 도메인 네임 모두를 가지는 블록이 블록체인에 존재하여 이미 사용중에 있으면, 블록체인 네트워크(500)는 개인 도메인 네임이 중복됨을 도메인 관리 서버(200)로 알리고, 도메인 관리 서버(300)는 개인 도메인 네임의 재설정을 개인 도메인 애플리케이션(110)으로 요구한다.Next, if a block having all of the user public key, the destination public key and the private domain name exists in the blockchain and is already in use, the blockchain network 500 indicates that the private domain name is duplicated. At 200, the domain management server 300 requests the personal domain application 110 to reset the personal domain name.
반면에, 블록체인 네트워크(500)는 중복 체크 결과, 사용자 공개키, 목적지 공개키 및 개인 도메인 네임 모두를 가지는 블록이 블록체인에 존재하지 않으면, 상기 도메인 등록 트랜잭션을 가지는 블록을 생성하고, 이 생성한 블록을 기존 블록과 연결함으로써, 개인 도메인 네임과 사용자 공개키를 블록체인에 저장한다(S215). 그리고 블록체인 네트워크(500)는 트랜잭션 성공을 도메인 관리 서버(200)로 알린다(S217). 그러면, 도메인 관리 서버(200)는 도메인 등록 성공 응답을 개인 도메인 애플리케이션(110)으로 통보한다(S219). 상기 개인 도메인 애플리케이션(110)은 개인 도메인 네임이 정상적으로 등록되면, 사용자 단말(100)에 저장된 부가 정보를 삭제할 수 있다. 즉, 개인 도메인 애플리케이션(110)은 블록체인 네트워크(500)에 부가 정보가 개인 도메인 네임 및 목적지 공개키와 함께 등록되어 있으므로, 사용자 단말(100)에 보관된 부가 정보를 삭제할 수 있다. On the other hand, the blockchain network 500 generates a block having the domain registration transaction if a block having all of the user public key, the destination public key, and the private domain name does not exist in the blockchain as a result of the duplicate check. By connecting one block with an existing block, the private domain name and the user public key are stored in the blockchain (S215). The blockchain network 500 notifies the domain management server 200 of the successful transaction (S217). Then, the domain management server 200 notifies the personal domain application 110 of the domain registration success response (S219). When the personal domain name is normally registered, the personal domain application 110 may delete additional information stored in the user terminal 100. That is, the personal domain application 110 may delete additional information stored in the user terminal 100 because the additional information is registered in the blockchain network 500 together with the personal domain name and the destination public key.
개인 도메인 네임이 등록되면, 사용자는 개인 도메인 애플리케이션(110)을 이용하여, 개인 도메인 네임을 수정하거나 삭제할 수 있다. 개인 도메인 네임이 변경되면, 도 2와 유사한 절차를 통해서, 도메인 관리 서버(200)는 사용자 개인키로 서명된 전자 서명, 목적지 공개키, 기존의 개인 도메인 네임 및 변경된 개인 도메인 네임을 포함하는 도메인 변경 트랜잭션을 블록체인 네트워크(500)로 발생시킨다. 그러면, 블록체인 네트워크(500)에서 전자 서명 검증을 검증하여 성공하면(즉, 정상적으로 사용자 공개키를 전자 서명에서 획득하는 경우), 사용자 공개키, 목적지 공개키, 기존의 개인 도메인 네임 및 변경된 개인 도메인 네임을 이용하여, 상기 도메인 변경 트랜잭션에 포함된 개인 도메인 네임으로 기존의 개인 도메인 네임을 변경하는 블록을 생성하고, 이 블록과 기존의 블록을 연결하여 블록체인을 확장한다. Once the personal domain name is registered, the user can use the personal domain application 110 to modify or delete the personal domain name. When the personal domain name is changed, through a procedure similar to that of FIG. 2, the domain management server 200 performs a domain change transaction including an electronic signature signed by the user private key, a destination public key, an existing personal domain name, and a changed personal domain name. To the blockchain network 500. Then, if the blockchain network 500 validates the digital signature verification and succeeds (ie, normally obtains the user public key from the digital signature), then the user public key, the destination public key, the existing private domain name, and the changed private domain Using a name, a block for changing an existing personal domain name to a personal domain name included in the domain change transaction is generated, and the block chain is extended by connecting the block and the existing block.
한편, 사용자가 개인 도메인 애플리케이션(110)을 이용하여 개인 도메인 네임을 삭제하면, 도메인 관리 서버(200)는 사용자 개인키로 서명된 전자 서명, 목적지 공개키 및 개인 도메인 네임을 포함하는 도메인 삭제 트랜잭션을 블록체인 네트워크(500)로 발생시킨다. 그러면, 블록체인 네트워크(500)는 전자 서명을 검증하여 성공하면(즉, 정상적으로 사용자 공개키를 전자 서명에서 획득하는 경우), 사용자 공개키, 목적지 공개키 및 개인 도메인 네임을 이용하여, 상기 개인 도메인 네임을 삭제하는 블록을 생성하고 기존의 블록과 연결하여 블록체인에 저장한다.Meanwhile, when the user deletes the personal domain name using the personal domain application 110, the domain management server 200 blocks a domain deletion transaction including the electronic signature, the destination public key, and the personal domain name signed with the user private key. To the chain network 500. The blockchain network 500 then verifies the digital signature and succeeds (ie, normally obtains the user public key from the electronic signature), using the user public key, the destination public key, and the private domain name, the private domain. Create a block to delete the name and connect it to an existing block and store it in the blockchain.
도 3은 본 발명의 제1실시예에 따른, 도메인 질의에 대한 응답으로서 부가 정보를 제공하는 방법을 설명하는 흐름도이다.3 is a flowchart illustrating a method of providing additional information as a response to a domain query according to the first embodiment of the present invention.
도 3을 참조하면, 개인 도메인 애플리케이션(110)은 사용자로부터 도메인 네임을 입력받아, 상기 입력받은 도메인 네임을 토대로 개인 도메인 네임을 생성한다(S301). 상기 개인 도메인 애플리케이션(110)은 사용자로부터 도메인 네임을 입력받으면, 도메인 네임 뒤에 개인 도메인의 서비스를 나타내는 개인 도메인 코드를 덧붙일 수 있다. 또한, 개인 도메인 애플리케이션(110)은 개인 도메인 네임과 관련된 목적지 공개키를 사용자 단말(100)에서 확인할 수 있다. Referring to FIG. 3, the personal domain application 110 receives a domain name from a user and generates a personal domain name based on the received domain name (S301). When the personal domain application 110 receives a domain name from the user, the personal domain application 110 may add a personal domain code indicating the service of the personal domain after the domain name. In addition, the personal domain application 110 may check the destination public key associated with the personal domain name in the user terminal 100.
다음으로, 개인 도메인 애플리케이션(110)은 현재 날짜와 시각을 토대로 사용자 티켓을 생성한다(S303). 이어서, 개인 도메인 애플리케이션(110)은 사용 티켓을 사용자의 개인키로 전자 서명한다(S305). 실시 형태에 따라, 개인 도메인 애플리케이션(110)은 상기 사용 티켓 이외에 개인 도메인 네임도 포함시켜 원문 데이터로서 선정하고, 이 선정한 원문 데이터를 상기 사용자의 개인키로 전자 서명할 수도 있다.Next, the personal domain application 110 generates a user ticket based on the current date and time (S303). Subsequently, the personal domain application 110 electronically signs the usage ticket with the user's private key (S305). According to the embodiment, the personal domain application 110 may include the personal domain name in addition to the use ticket and select the original text data, and electronically sign the selected original data with the user's private key.
다음으로, 개인 도메인 애플리케이션(110)은 상기 사용 티켓, 상기 목적지 공개키 및 전자 서명을 일정한 포맷(예컨대, 16진수 형태의 문자열)을 가지는 서비스 코드로 변환하고(S307), 이렇게 변환된 서비스 코드와 개인 도메인 네임이 포함된 도메인 질의 메시지를 DNS 서버(400)로 전송한다(S309).Next, the personal domain application 110 converts the usage ticket, the destination public key and the electronic signature into a service code having a predetermined format (eg, a string in hexadecimal form) (S307), The domain query message including the private domain name is transmitted to the DNS server 400 (S309).
그러면, DNS 서버(400)는 상기 도메인 질의 메시지에 개인 도메인 코드(예컨대, kt.tin)가 포함되어 있는지 여부를 확인한다(S311). 이어서, DNS 서버(400)는 도메인 질의 메시지에서 개인 도메인 코드가 포함되어 있지 않으면, 도메인 질의 메시지에 포함된 도메인 네임이 일반적으로 사용되는 공용 도메인 네임인 것으로 판단하여, 상기 도메인 네임과 대응되는 IP 주소를 확인하여 사용자 단말(100)로 전송한다. 반면에, DNS 서버(400)는 상기 도메인 질의 메시지에 개인 도메인 코드가 포함되어 있으면, 질의한 도메인 네임이 일반적으로 사용되지 않은 개인 도메인 네임인 것으로 판단하여, 상기 도메인 질의 메시지를 서비스 서버(300)로 전달한다(S313).Then, the DNS server 400 checks whether or not a private domain code (eg, kt.tin) is included in the domain query message (S311). Subsequently, if the private domain code is not included in the domain query message, the DNS server 400 determines that the domain name included in the domain query message is a public domain name that is generally used, and thus the IP address corresponding to the domain name. Check and transmit to the user terminal 100. On the other hand, when the DNS server 400 includes a private domain code in the domain query message, the DNS server 400 determines that the queried domain name is a private domain name that is not generally used, and the service server 300 determines the domain query message. Transfer to (S313).
그러면, 서비스 서버(300)는 상기 도메인 질의 메시지에 포함된 서비스 코드와 개인 도메인 네임을 확인하고, 서비스 코드가 사전에 설정된 포맷으로 기록되어 있는지 여부를 검사한다(S315). 즉, 서비스 서버(300)는 상기 서비스 코드가 사전에 설정된 정상적인 범위의 자릿수인지 여부를 검사하고, 또한 서비스 코드가 사전에 설정된 포맷(예컨대, 16진수)으로 변환되어 있는지 여부를 검사한다. 서비스 서버(300)는 상기 서비스 코드의 검사에 실패하면, 사용자 단말(100)의 개인 도메인 애플리케이션(110)으로 개인 도메인 서비스를 제공할 수 없음을 알리는 실패 메시지를 전송한다. 반면에, 서비스 서버(300)는 상기 서비스 코드의 검사에 성공하면, 상기 서비스 코드와 개인 도메인 네임이 포함된 정보 요청 트랜잭션을 블록체인 네트워크(500)로 발생시킨다(S317).Then, the service server 300 checks the service code and the personal domain name included in the domain query message, and checks whether the service code is recorded in a preset format (S315). That is, the service server 300 checks whether the service code is a preset number of digits in the normal range, and also checks whether the service code is converted into a preset format (eg, hexadecimal). If the service server 300 fails to check the service code, the service server 300 transmits a failure message indicating that it cannot provide a personal domain service to the personal domain application 110 of the user terminal 100. On the other hand, if the service server 300 successfully checks the service code, the service server 300 generates an information request transaction including the service code and the personal domain name to the blockchain network 500 (S317).
그러면, 블록체인 네트워크(500)의 각 노드들은, 상기 정보 요청 트랜잭션에 포함된 서비스 코드를 원상태로 복원한다(S319). 즉, 블록체인 네트워크(500)의 각 노드들은 상기 서비스 코드로 변환되기 전의 상태로, 사용 티켓, 목적지 공개키 및 전자 서명을 복원한다. 상기 사용 티켓, 목적지 공개키 및 전자 서명을 복원하는 것은 스마트 컨트랙트를 토대로 수행될 수 있다. Then, each node of the blockchain network 500 restores the service code included in the information request transaction to its original state (S319). That is, each node of the blockchain network 500 restores a use ticket, a destination public key, and a digital signature to a state before being converted into the service code. Restoring the usage ticket, the destination public key and the electronic signature may be performed based on the smart contract.
다음으로, 블록체인 네트워크(500)의 각 노드들은, 상기 복원된 전자 서명을 검증하여, 상기 전자 서명에서 사용자 공개키를 추출한다(S321). 이때, 블록체인 네트워크(500)는 전자 서명을 사전에 설정된 서명 검증 알고리즘에 적용하여, 전자 서명으로부터 사용자 공개키를 획득할 수 있다. Next, each node of the blockchain network 500 verifies the restored digital signature and extracts a user public key from the electronic signature (S321). In this case, the blockchain network 500 may apply a digital signature to a predetermined signature verification algorithm to obtain a user public key from the electronic signature.
블록체인 네트워크(500)의 각 노드들은 전자 서명 검증에 성공하여 사용자 공개키를 획득하면, 상기 복원한 사용 티켓(즉, 정보 요청 트랜잭션에 포함된 사용 티켓)을 확인하고, 사용자 공개키, 목적지 공개키 및 상기 개인 도메인 네임을 포함하는 가장 최근에 저장된 블록을 블록체인에서 확인하고, 가장 최근에 저장된 블록에 포함된 사용 티켓과 수신한 정보 요청 트랜잭션에 포함된 사용 티켓의 값을 비교하여, 상기 사용 티켓을 검증한다(S323). 이때, 블록체인 네트워크(500)는 가장 최근에 저장된 블록에 포함된 사용 티켓보다 상기 트랜잭션에 포함된 사용 티켓이 더 크면, 사용 티켓 검증에 성공하는 것으로 판단하고, 그렇지 않으면 사용 티켓의 검증에 실패한 것으로 처리한다. 한편, 블록체인 네트워크(500)는 상기 블록체인 네트워크(500)는 사용 티켓의 검증에 실패하면 데이터 위변조가 발생한 것으로 판단할 수 있다.When the nodes of the blockchain network 500 successfully verify the electronic signature and obtain the user public key, the nodes check the restored use ticket (that is, the use ticket included in the information request transaction), and the user public key and the destination public. The most recently stored block including the key and the private domain name is checked in the blockchain, and the value of the usage ticket included in the received information request transaction is compared with the usage ticket included in the most recently stored block. The ticket is verified (S323). At this time, the blockchain network 500 determines that the use ticket verification is successful if the use ticket included in the transaction is larger than the use ticket included in the most recently stored block. Otherwise, the blockchain network 500 fails to verify the use ticket. Process. Meanwhile, the blockchain network 500 may determine that data forgery has occurred when the blockchain network 500 fails to verify a use ticket.
상기 블록체인 네트워크(500)의 각 노드들은, 사용 티켓 검증에 실패하면, 검증 실패 사실을 서비스 서버(300)로 전송한다. 그러면, 서비스 서버(300)는 부가 정보를 제공하는 것 없이, 사용자 단말(100)의 개인 도메인 애플리케이션(110)으로 개인 도메인의 검증에 실패하였음을 통보한다. Each node of the blockchain network 500 transmits the verification failure to the service server 300 when the usage ticket verification fails. Then, the service server 300 notifies the personal domain application 110 of the user terminal 100 that the verification of the personal domain has failed without providing additional information.
반면에, 블록체인 네트워크(500)는 상기 사용 티켓 검증에 성공하면, 상기 정보 요청 트랜잭션을 포함하는 블록을 생성하여 기존의 블록과 연결함으로써, 블록체인에 상기 생성한 블록을 저장한다(S325). 이에 따라, 사용 티켓의 최신 정보가 블록체인 내에서 갱신된다. 그리고 블록체인 네트워크(500)는 상기 개인 도메인 네임, 목적지 공개키 및 상기 사용자의 공개키를 포함하는 블록을 블록체인에서 확인하고, 상기 블록에서 부가 정보를 추출한다(S327).On the other hand, if the use chain verification is successful, the blockchain network 500 generates a block including the information request transaction and connects it to an existing block, thereby storing the generated block in the blockchain (S325). As a result, the latest information of the use ticket is updated in the blockchain. The blockchain network 500 checks the block including the private domain name, the destination public key and the user's public key in the blockchain, and extracts additional information from the block (S327).
이어서, 블록체인 네트워크(500)는 상기 추출한 부가 정보가 포함된 트랜잭션 처리 메시지를 서비스 서버(300)로 전송한다(S329).Subsequently, the blockchain network 500 transmits the transaction processing message including the extracted additional information to the service server 300 (S329).
그러면, 서비스 서버(300)는 상기 추출한 부가 정보를 상기 도메인 질의에 대한 응답으로서, 사용자 단말(100)의 개인 도메인 애플리케이션(110)으로 전송한다(S331). Then, the service server 300 transmits the extracted additional information to the personal domain application 110 of the user terminal 100 as a response to the domain query (S331).
이러한 절차에 따라, 개인 도메인 애플리케이션(110)이 서비스 코드와 개인 도메인 네임이 포함된 도메인 질의 메시지를 전송하면, 상기 개인 도메인 네임, 사용자의 공개키 및 목적지 공개키와 대응되는 부가 정보를 응답 정보로서 수신할 수 있다.According to this procedure, when the personal domain application 110 transmits the domain query message including the service code and the personal domain name, additional information corresponding to the personal domain name, the user's public key, and the destination public key is used as response information. Can be received.
한편, 상술한 실시예에서, 두 개의 공개키(즉, 목적지 공개키와 사용자 공개키)가 개인 도메인 네임 및 부가정보와 함께 블록체인에 저장되는 것으로 설명되었으나, 두 개의 공개키 중에서 어느 하나가 개인 도메인 네임 및 부가정보와 함께 블록체인에 저장될 수 있다. 이 경우, 하나의 공개키(즉, 사용자 공개키 또는 목적지 공개키), 개인 도메인 네임과 대응되는 부가정보가 블록체인 네트워크(500)에서 추출되어, 사용자 단말(100)로 제공될 수 있다. Meanwhile, in the above-described embodiment, it has been described that two public keys (i.e., a destination public key and a user public key) are stored in a blockchain together with a private domain name and additional information, but any one of the two public keys is private. It can be stored in the blockchain along with the domain name and additional information. In this case, one public key (ie, user public key or destination public key) and additional information corresponding to the private domain name may be extracted from the blockchain network 500 and provided to the user terminal 100.
한편, 서비스 서버(300)는 사설 네트워크(700)에 포함된 통신 기기(720)의 IP 주소를 부가 정보로서 사용자 단말(100)로 제공하고, 사용자 단말(100)은 상기 IP 주소를 토대로 사설 네트워크(700)로 접속할 수 있다.On the other hand, the service server 300 provides the IP address of the communication device 720 included in the private network 700 as additional information to the user terminal 100, the user terminal 100 based on the IP address (700).
도 4는 본 발명의 제2실시예에 따른, 접속 제어 시스템의 구성을 나타내는 도면으로서, 본 발명의 제2실시예에 따른 접속 제어 시스템은, 사용자 단말(100), 도메인 관리 서버(200), 서비스 서버(300), DNS 서버(400), 블록체인 네트워크(500) 및 사설 네트워크(700)를 포함한다.4 is a diagram illustrating a configuration of a connection control system according to a second embodiment of the present invention. The connection control system according to the second embodiment of the present invention includes a user terminal 100, a domain management server 200, Service server 300, DNS server 400, blockchain network 500, and private network 700.
도 4에 있어서, 도 1의 구성요소와 참조부호가 동일한 구성요소는 도 1 내지 도 3을 설명한 기능을 포함한다.In FIG. 4, the components having the same reference numerals as the components of FIG. 1 include the functions described with reference to FIGS. 1 to 3.
사설 네트워크(700)는 댁내 또는 회사에 형성된 네트워크로서, 하나 이상의 통신 기기(720)를 포함하고, 특히 보안 장치(710)를 포함한다.The private network 700 is a network formed in a home or company and includes one or more communication devices 720, in particular a security device 710.
상기 통신 기기(720)는 통신 가능한 통신 장치로서, 예컨대, 게이트웨이, 라우터, IP 카메라, IPTV, IP 기반의 월패드 등을 포함할 수 있다.The communication device 720 is a communication device that can communicate, and may include, for example, a gateway, a router, an IP camera, an IPTV, an IP-based wall pad, and the like.
상기 보안 장치(710)는 사설 네트워크(700)에 포함되며, 공용 통신망(600)와 사설 네트워크(700) 사이에 보안을 담당하는 기능을 수행한다. 구체적으로, 보안 장치(710)는 사용자 단말(100)로부터 서비스 코드와 개인 도메인 네임이 포함된 접속 요청 메시지를 수신하면, 서비스 코드를 분석하여 사용자 단말(100)이 사설 네트워크(700)에 접속 가능한지 여부를 인증하고, 인증 결과에 따라 선택적으로 사용자 단말(100)을 사설 네트워크(700)에 접속하는 것을 허락한다. 상기 보안 장치(710)는 개인키와 공개키를 생성하여, 상기 사용자 단말(100)로 공개키를 배포한다. 또한, 보안 장치(710)는 사용자 공개키를 획득하여 저장한다. The security device 710 is included in the private network 700 and performs a function of managing security between the public communication network 600 and the private network 700. In detail, when the security device 710 receives the access request message including the service code and the personal domain name from the user terminal 100, the security device 710 analyzes the service code to determine whether the user terminal 100 can access the private network 700. Whether or not to authenticate and selectively allow the user terminal 100 to connect to the private network 700 according to the authentication result. The security device 710 generates a private key and a public key and distributes the public key to the user terminal 100. In addition, the security device 710 obtains and stores a user public key.
또한, 보안 장치(710)는 관리자 단말의 공개키를 획득하여, 이 관리자 단말의 공개키를 관리자용 공개키로서 설정하여 저장한다. 또한, 보안 장치(710)는 관리자 단말의 공개키를 이외에, 접속 허락된 타 통신 단말의 공개키를 저장한다. 상기 보안 장치(710)는 상기 접속 허락된 타 통신 단말의 공개키를 접근 허용 목록에 기록하여 관리한다. 상기 보안 장치(710)는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어와 소프트웨어의 결합을 통해서 구현될 수 있다. 또한, 보안 장치(710)는 USB 포트 등을 통해서 통신 기기(720)의 결합될 수도 있다. 상기 보안 장치(710)는 블루투스 통신, 와이파이 통신, 적외선 통신, 지그비 통신 등과 같은 근거리 무선통신을 수행할 수 있다. In addition, the security device 710 obtains the public key of the manager terminal, sets and stores the public key of the manager terminal as the public key for the manager. In addition to the public key of the manager terminal, the security device 710 stores the public key of another communication terminal allowed to access. The security device 710 records and manages a public key of another communication terminal allowed to access in an access permission list. The security device 710 may be implemented in hardware or software or through a combination of hardware and software. In addition, the security device 710 may be coupled to the communication device 720 through a USB port or the like. The security device 710 may perform short range wireless communication such as Bluetooth communication, Wi-Fi communication, infrared communication, Zigbee communication, or the like.
블록체인 네트워크(500)는 부가 정보로서, 사설 네트워크(700)의 접속 주소(즉, 보안 장치 IP 주소 또는 통신 기기 IP 주소)와 시리얼 넘버 등과 같은 보안 장치(710)의 정보를 저장한다. 또한, 블록체인 네트워크(500)는 정보 요청 트랜잭션이 발생되면, 이 트랜잭션을 검증하고 검증에 성공하는 경우 개인 도메인 네임 및 사용자 공개키와 대응되는 IP 주소를 추출하여 서비스 서버(300)로 전송할 수 있다. The blockchain network 500 stores, as additional information, information of the security device 710 such as a connection address (ie, security device IP address or communication device IP address) and serial number of the private network 700. In addition, when the information request transaction occurs, the blockchain network 500 may verify the transaction and, if successful, extract the IP address corresponding to the private domain name and the user public key and transmit it to the service server 300. .
도 5는 본 발명의 제2실시예에 따른, 사용자 단말과 보안 장치 간에 공개키를 공유하는 방법을 설명하는 흐름도이다.5 is a flowchart illustrating a method of sharing a public key between a user terminal and a security device according to a second embodiment of the present invention.
도 5를 참조하면, 보안 장치(710)가 사설 네트워크(700)에 설치되면, 상기 보안 장치(710)는 사설 네트워크(700)에 포함되는 통신 기기(720)의 IP 주소를 획득한다(S501). 상기 보안 장치(710)는 하드웨어 모듈일 수 있으며, 이 경우 상기 보안 장치(710)는 게이트웨이, 라우터 등과 같이, 사설 네트워크(700)에서 데이터 처리와 중계를 담당하는 핵심 장치와 결합되거나 통합될 수 있다. Referring to FIG. 5, when the security device 710 is installed in the private network 700, the security device 710 obtains an IP address of the communication device 720 included in the private network 700 (S501). . The security device 710 may be a hardware module. In this case, the security device 710 may be combined or integrated with a core device that is responsible for data processing and relaying in the private network 700, such as a gateway or a router. .
다음으로, 사용자 단말(100)에 개인 도메인 애플리케이션(110)이 설치되면, 상기 개인 도메인 애플리케이션(110)은 사용자 전용의 개인키와 공개키를 생성한다(S503). 다음으로, 사용자 단말(100)은 근거리 무선통신(예컨대, 와이파이 통신)을 통해서 주변의 보안 장치(710)를 검색하고, 검색한 보안 장치와 WPS(wi-fi protected setup) 기반으로 무선 연결된다(S505). 이때, 보안 장치(710)에는 접속 암호가 설정될 수 있으며, 사용자 단말(100)은 접속 암호를 보안 장치(710)로 전송하여 접속 인증에 성공한 경우에, 상기 보안 장치(710)와 근거리 무선통신으로 연결될 수 있다.Next, when the personal domain application 110 is installed in the user terminal 100, the personal domain application 110 generates a private key and a public key dedicated to the user (S503). Next, the user terminal 100 searches for a nearby security device 710 through short-range wireless communication (eg, Wi-Fi communication), and wirelessly connects the searched security device with a Wi-Fi protected setup (WPS) based on ( S505). In this case, an access password may be set in the security device 710, and when the user terminal 100 transmits the access password to the security device 710 and successfully authenticates the connection, the short-term wireless communication with the security device 710. Can be connected.
다음으로, 사용자 단말(100)의 개인 도메인 애플리케이션(110)은 사용자 공개키를 보안 장치(710)로 전송하고(S507), 보안 장치(710)는 상기 사용자 공개키를 저장한다(S509). 이때, 보안 장치(710)는 근거리 무선 통신을 통해서, 최초의 공개키로서 사용자 공개키가 등록되는 경우 상기 사용자 공개키를 관리자 공개키로서 저장할 수 있다. Next, the personal domain application 110 of the user terminal 100 transmits the user public key to the security device 710 (S507), and the security device 710 stores the user public key (S509). In this case, when the user public key is registered as the first public key through the short range wireless communication, the security device 710 may store the user public key as an administrator public key.
그리고 보안 장치(710)는 자신의 개인키와 공개키를 생성한다(S511). 이어서, 보안 장치(710)는 자신의 시리얼 넘버 및 사설 네트워크(700)에 포함된 통신 기기(720)의 IP 주소가 포함된 보안 정보 및 자신의 공개키를 사용자 단말(100)로 전송한다(S513). 한편, 보안 장치(710)는 자체적으로 통신 가능한 형태로 구현될 수 있으며, 이 경우 자신의 IP 주소를 사용자 단말(100)로 전송할 수 있다. 부연하면, 보안 장치(710)는 자신의 IP 주소가 존재하는 경우, 그 IP 주소를 사용자 단말(100)로 제공하고, 반면에 자신의 IP 주소가 존재하지 않고, 사설 네트워크(700)의 특정 기기와 결합되는 형태인 경우, 사설 네트워크(700)에 포함된 통신 기기(720)의 IP 주소를 획득하여 사용자 단말(100)로 전송할 수 있다. The security device 710 generates its own private key and public key (S511). Subsequently, the security device 710 transmits security information including its serial number and the IP address of the communication device 720 included in the private network 700 and its public key to the user terminal 100 (S513). ). On the other hand, the security device 710 may be implemented in a form that can communicate itself, in this case it may transmit its IP address to the user terminal 100. In other words, the security device 710 provides the IP address to the user terminal 100 when its IP address exists, while the IP device does not exist and the specific device of the private network 700. When combined with the, the IP address of the communication device 720 included in the private network 700 may be obtained and transmitted to the user terminal 100.
그러면, 사용자 단말(100)은 상기 보안 정보 및 보안 장치(710)의 공개키를 저장한다(S515).Then, the user terminal 100 stores the security information and the public key of the security device 710 (S515).
이러한 등록 절차에 따라, 사용자 단말(100)과 보안 장치(710)는 서로 간의 공개키를 공유하고, 사용자 단말(100)은 사설 네트워크(700)에 포함된 통신 기기(720)의 IP 주소를 획득한다.According to this registration procedure, the user terminal 100 and the security device 710 share a public key between each other, the user terminal 100 obtains the IP address of the communication device 720 included in the private network 700 do.
도 6은 본 발명의 제2실시예에 따른, 개인 도메인 네임을 등록하는 방법을 설명하는 흐름도이다.6 is a flowchart illustrating a method of registering a private domain name according to a second embodiment of the present invention.
도 6을 참조한 설명에서, 도 2를 참조한 설명과 중복되는 부분은 압축하여 요약하기로 한다. In the description with reference to FIG. 6, portions overlapping with the description with reference to FIG. 2 will be compressed and summarized.
도 6을 참조하면, 개인 도메인 애플리케이션(110)은 사용자로부터 도메인 네임을 입력받아, 상기 입력받은 도메인 네임에 개인 도메인 코드를 덧붙여 개인 도메인 네임을 생성한다(S601). 그리고 개인 도메인 애플리케이션(110)은 개인 도메인 네임과 관련된 목적지 공개키로서 보안 장치(710)의 공개키를 추출한다.Referring to FIG. 6, the personal domain application 110 receives a domain name from a user and generates a personal domain name by adding a personal domain code to the received domain name (S601). The personal domain application 110 then extracts the public key of the security device 710 as the destination public key associated with the personal domain name.
다음으로, 개인 도메인 애플리케이션(110)은 사설 네트워크(700)의 보안 정보(즉, 통신 기기 IP 주소, 보안 장치(710)의 시리얼 넘버 등) 및 사용자 공개키를 추출하고, 더불어 현재 시각과 날짜를 토대로 사용 티켓을 생성한다(S603). 이어서, 개인 도메인 애플리케이션(110)은, 상기 생성한 사용 티켓을 원문 데이터로서 설정하고, 이 원문 데이터로 설정한 사용 티켓을 사용자 개인키로 전자 서명한다(S605). 실시 형태에 따라, 개인 도메인 애플리케이션(110)은 개인 도메인 네임, 상기 보안 정보, 사용 티켓 중에서 하나 이상을 조합시키고, 이렇게 조합된 정보를 원문 데이터로서 설정하여 상기 사용자 개인키로 전자 서명할 수도 있다. Next, the personal domain application 110 extracts the security information of the private network 700 (ie, the communication device IP address, the serial number of the security device 710, etc.) and the user public key, along with the current time and date. A usage ticket is generated on the basis of the step (S603). Subsequently, the personal domain application 110 sets the generated use ticket as original text data and electronically signs the use ticket set using the original text data with the user private key (S605). According to an embodiment, the personal domain application 110 may combine one or more of a personal domain name, the security information, and a usage ticket, and set the combined information as original data to digitally sign with the user private key.
이어서 개인 도메인 애플리케이션(110)은 상기 개인 도메인 네임, 사용 티켓, 보안 정보, 목적지 공개키(즉, 보안 장치의 공개키) 및 전자 서명을 포함한 도메인 등록 요청 메시지를 도메인 관리 서버(200)로 전송한다(S607).The personal domain application 110 then sends a domain registration request message to the domain management server 200 including the personal domain name, the usage ticket, the security information, the destination public key (ie, the public device's public key), and the electronic signature. (S607).
그러면, 도메인 관리 서버(200)는 상기 개인 도메인 네임, 사용 티켓, 보안 정보, 목적지 공개키(즉, 보안 장치의 공개키) 및 전자 서명이 포함된 도메인 등록 트랜잭션을 블록체인 네트워크(500)로 발생시킨다(S609). 이어서, 블록체인 네트워크(500)에 포함된 각 노드들은 상기 전자 서명을 검증하여, 전자 서명에서 사용자 공개키를 추출한다.Then, the domain management server 200 generates the domain registration transaction including the personal domain name, the usage ticket, the security information, the destination public key (ie, the security device's public key), and the electronic signature to the blockchain network 500. (S609). Subsequently, each node included in the blockchain network 500 verifies the digital signature, and extracts a user public key from the digital signature.
이어서, 블록체인 네트워크(500)는 전자 서명 검증에 성공하여 사용자 공개키를 추출하면, 상기 개인 도메인 네임, 상기 목적지 공개키(즉, 보안 장치의 공개키), 및 상기 사용자 공개키 모두를 포함하는 블록이 블록체인에 저장되어 있는지 여부를 확인하여, 개인 도메인 네임에 대한 중복 체크를 수행한다(S611). Subsequently, upon successful digital signature verification, the blockchain network 500 extracts the user public key, and includes all of the private domain name, the destination public key (ie, the security device's public key), and the user public key. Check whether the block is stored in the blockchain, and performs a duplicate check for the personal domain name (S611).
다음으로, 블록체인 네트워크(500)는 중복 체크 결과, 사용자 공개키, 보안 장치의 공개키 및 개인 도메인 네임 모두를 가지는 블록이 블록체인에 존재하지 않으면, 토큰을 생성한다(S613). 상기 토큰은 숫자열이거나 문자열일 수 있으며 또는 숫자와 문자의 조합으로서, 사전에 설정된 알고리즘(예컨대, 난수 발생 알고리즘)에 따라 무작위적으로 생성된다. 상기 토큰은 사용자 단말(100)의 사설 네트워크(700)에 대한 접근을 인증하는데 이용된다.Next, the blockchain network 500 generates a token if a block having all of the user public key, the public key of the security device, and the private domain name does not exist in the blockchain as a result of the duplicate check (S613). The token may be a string of numbers, a string, or a combination of numbers and letters, which are randomly generated according to a preset algorithm (eg, a random number generation algorithm). The token is used to authenticate access to the private network 700 of the user terminal 100.
이어서, 블록체인 네트워크(500)는 상기 도메인 등록 트랜잭션과 상기 토큰을 가지는 블록을 생성하고, 상기 생성한 블록을 기존 블록과 연결함으로써, 개인 도메인 네임을 블록체인에 저장한다(S615). 이때, 블록체인 네트워크(500)는, 상기 도메인 등록 트랜잭션을 포함하는 블록이 블록체인에 저장되는 경우, 사용자 공개키를 관리자용 공캐키로 설정하여 블록을 블록체인에 저장한다. 부연하면, 중복되지 않은 개인 도메인 네임과, 사용자 공개키 및 보안 장치의 공개키를 가지는 블록이 블록체인에 최초로 저장되는 경우, 상기 사용자 공개키가 관리자용 공개키로서 설정되어 블록체인에 저장된다. Subsequently, the blockchain network 500 generates a block having the domain registration transaction and the token, and stores the personal domain name in the blockchain by connecting the generated block with an existing block (S615). In this case, when the block including the domain registration transaction is stored in the blockchain, the blockchain network 500 stores the block in the blockchain by setting the user public key as a public key for the administrator. In other words, when a block having a non-duplicate private domain name, a user public key and a public key of a security device is first stored in the blockchain, the user public key is set as an administrator public key and stored in the blockchain.
이어서, 블록체인 네트워크(500)는 트랜잭션 성공을 도메인 관리 서버(200)로 알린다(S617). 그러면, 도메인 관리 서버(200)는 도메인 등록 성공 응답을 개인 도메인 애플리케이션(110)으로 통보한다(S619). 상기 개인 도메인 애플리케이션(110)은 개인 도메인 네임이 정상적으로 등록되면, 사용자 단말(100)에 저장된 보안 정보를 삭제할 수 있다. 즉, 개인 도메인 애플리케이션(110)은 블록체인 네트워크(500)에 보안 정보가 개인 도메인 네임과 함께 등록되어 있으므로, 보안 장치(710)의 공개키만을 보관 후, 통신 기기(720)의 IP 주소, 보안 장치(710)의 시리얼 넘버를 삭제할 할 수 있다. Subsequently, the blockchain network 500 notifies the domain management server 200 of the success of the transaction (S617). Then, the domain management server 200 notifies the personal domain application 110 of the domain registration success response (S619). The personal domain application 110 may delete security information stored in the user terminal 100 when the personal domain name is normally registered. That is, since the private domain application 110 is registered with the private domain name in the blockchain network 500, after storing only the public key of the security device 710, the IP address of the communication device 720, security The serial number of the device 710 may be deleted.
도 7은 본 발명의 제2실시예에 따른, 도메인 질의에 대한 응답으로서 사설 네트워크의 접속 주소를 제공하는 방법을 설명하는 흐름도이다.7 is a flowchart illustrating a method of providing a connection address of a private network as a response to a domain query according to a second embodiment of the present invention.
도 7을 참조한 설명에서 있어서, 도 3을 참조한 설명과 중복되는 부분은 압축하여 요약한다.In the description with reference to FIG. 7, portions overlapping with the description with reference to FIG. 3 will be compressed and summarized.
도 7을 참조하면, 개인 도메인 애플리케이션(110)은 사용자로부터 도메인 네임을 입력받아, 상기 입력받은 도메인 네임과 개인 도메인 코드(예컨대, kt.tin)가 포함된 개인 도메인 네임을 생성한다(S701). 다음으로, 개인 도메인 애플리케이션(110)은 현재 날짜와 시각을 토대로 사용자 티켓을 생성한다(S703). 이어서, 개인 도메인 애플리케이션(110)은 저장중인 보안 장치(710)의 공개키를 추출한다(S705). 상기 보안 장치(710)의 공개키는 목적지 공개키로서 이용된다.Referring to FIG. 7, the personal domain application 110 receives a domain name from a user and generates a personal domain name including the received domain name and a personal domain code (eg, kt.tin) (S701). Next, the personal domain application 110 generates a user ticket based on the current date and time (S703). Subsequently, the personal domain application 110 extracts the public key of the security device 710 that is being stored (S705). The public key of the security device 710 is used as the destination public key.
다음으로, 개인 도메인 애플리케이션(110)은 상기 사용 티켓을 사용자의 개인키로 전자 서명한다(S707). 이어서, 개인 도메인 애플리케이션(110)은 상기 사용 티켓, 목적지 공개키(즉, 보안 장치의 공개키) 및 전자 서명을 일정한 포맷(예컨대, 16진수 형태의 문자열)을 가지는 서비스 코드로 변환하고(S709), 이렇게 변환된 서비스 코드와 개인 도메인 네임이 포함된 도메인 질의 메시지를 DNS 서버(400)로 전송한다(S711).Next, the personal domain application 110 electronically signs the use ticket with the user's private key (S707). Subsequently, the personal domain application 110 converts the use ticket, the destination public key (ie, the security device's public key), and the electronic signature into a service code having a predetermined format (eg, a string in hexadecimal form) (S709). In operation S711, the domain query message including the converted service code and the personal domain name is transmitted to the DNS server 400.
그러면, DNS 서버(400)는 상기 도메인 질의 메시지에 포함된 개인 도메인 네임에 개인 도메인 코드(예컨대, kt.tin)가 포함되어 있는지 여부를 확인하여 개인 도메인 코드가 포함된 경우, 상기 도메인 질의 메시지를 서비스 서버(300)로 전달한다(S713, S715).Then, the DNS server 400 checks whether the personal domain code (eg, kt.tin) is included in the personal domain name included in the domain query message, and if the private domain code is included, the domain query message is sent. Transfer to the service server 300 (S713, S715).
그러면, 서비스 서버(300)는 상기 도메인 질의 메시지에 포함된 서비스 코드와 개인 도메인 네임을 확인하고, 상기 서비스 코드가 사전에 설정된 정상적인 범위의 자릿수를 가지는지 여부를 검사하고, 또한 서비스 코드가 사전에 설정된 포맷(예컨대, 16진수)으로 변환되어 있는지 여부를 검사한다(S717). 서비스 서버(300)는 상기 서비스 코드의 검사에 성공하면, 상기 서비스 코드와 개인 도메인 네임이 포함된 정보 요청 트랜잭션을 블록체인 네트워크(500)로 발생시킨다(S719).Then, the service server 300 checks the service code and the personal domain name included in the domain query message, checks whether the service code has a preset normal range of digits, and also checks the service code in advance. It is checked whether it is converted into a set format (eg, hexadecimal) (S717). If the service server 300 successfully checks the service code, the service server 300 generates an information request transaction including the service code and the personal domain name to the blockchain network 500 (S719).
그러면, 블록체인 네트워크(500)의 각 노드들은 상기 서비스 코드로 변환되기 전의 상태로, 사용 티켓, 보안 장치(710)의 공개키 및 전자 서명을 복원한다(S721). Then, each node of the blockchain network 500 restores the use ticket, the public key of the security device 710, and the electronic signature to the state before being converted into the service code (S721).
다음으로, 블록체인 네트워크(500)의 각 노드들은, 상기 복원된 전자 서명에 대한 검증하여, 전자 서명에서 사용자 공개키를 추출한다(S723). 블록체인 네트워크(500)에 포함된 각 노드들은 전자 서명 검증에 성공하여 사용자 공개키를 추출하면, 상기 복원한 사용 티켓(즉, 정보 요청 트랜잭션에 포함된 사용 티켓)을 확인하고, 사용자 공개키, 목적지 공개키(즉, 보안 장치의 공개키) 및 상기 개인 도메인 네임을 포함하는 가장 최근에 저장된 블록을 블록체인 네트워크(500)에서 확인한다. 그리고 블록체인 네트워크(500)에 포함된 각 노드들은 가장 최근에 저장된 블록에 포함된 사용 티켓과 상기 복원한 사용 티켓을 비교하여, 상기 복원한 사용 티켓을 검증한다(S725). 이때, 블록체인 네트워크(500)에 포함된 각 노드들은, 가장 최근에 저장된 블록에 포함된 사용 티켓보다 상기 정보 요청 트랜잭션에 포함된 사용 티켓이 더 크면, 사용 티켓 검증에 성공하는 것으로 판단하고, 그렇지 않으면 사용 티켓의 검증에 실패한 것으로 처리한다. Next, each node of the blockchain network 500 extracts a user public key from the digital signature by verifying the restored digital signature (S723). Each node included in the blockchain network 500 successfully checks the digital signature and extracts the user's public key, confirms the restored use ticket (that is, the use ticket included in the information request transaction), and checks the user public key, The blockchain network 500 identifies the most recently stored block containing the destination public key (ie, the public key of the security device) and the private domain name. Each node included in the blockchain network 500 verifies the restored use ticket by comparing the restored use ticket with the use ticket included in the most recently stored block (S725). At this time, each node included in the blockchain network 500 determines that the use ticket verification is successful if the use ticket included in the information request transaction is larger than the use ticket included in the most recently stored block. If not, the validation of the ticket is considered to have failed.
다음으로, 블록체인 네트워크(500)에 포함된 각 노드들은, 상기 사용자 공개키, 목적지 공개키(즉, 보안 장치의 공개키) 및 상기 개인 도메인 네임을 포함하며, 상기 사용자 공개키가 관리자용 공개키로 설정되거나 상기 사용자 공개키가 접속 허락된 공개키로서 설정된 블록이 블록체인에 저장되어 있는지 여부를 확인하여, 상기 사용자 단말(100)의 접속 권한을 인증한다. 즉, 블록체인 네트워크(500)의 노드들은 상기 개인 도메인 네임, 상기 사용자 공개키 및 목적지 공개키를 포함하는 디바이스 추가 트랜잭션 또는 도메인 등록 트랜잭션이 블록체인에 존재하는지 여부를 검색함으로써, 상기 사용자 단말(100)의 사설 네트워크 접속 권한을 인증한다.Next, each node included in the blockchain network 500 includes the user public key, the destination public key (ie, the security device's public key) and the private domain name, wherein the user public key is public for the administrator. The access authority of the user terminal 100 is authenticated by checking whether a block set as a key or set as a public key to which the user public key is allowed to access is stored in the blockchain. That is, nodes of the blockchain network 500 search for whether a device addition transaction or domain registration transaction including the private domain name, the user public key, and the destination public key exists in the blockchain, thereby searching for the user terminal 100. Authenticate your private network access privileges.
블록체인 네트워크(500)는 상기 접속 권한 인증 및 사용 티켓 검증 모두에 성공하면, 상기 정보 요청 트랜잭션을 포함하는 블록을 생성하여 기존의 블록과 연결하여 상기 생성한 블록을 블록체인에 저장한다(S727). 그리고 블록체인 네트워크(500)는 상기 개인 도메인 네임, 상기 사용자의 공개키 및 목적지 공개키(보안 장치의 공개키)를 포함하는 블록을 블록체인에서 확인하고, 상기 블록에서 통신 기기(720)의 IP 주소와 토큰을 추출한다(S729).If both of the access right authentication and the use ticket verification succeed, the blockchain network 500 generates a block including the information request transaction, connects it with an existing block, and stores the generated block in the blockchain (S727). . The blockchain network 500 checks a block in the blockchain including the private domain name, the user's public key and the destination public key (the public device's public key), and the IP of the communication device 720 in the block. Extract the address and token (S729).
이어서, 블록체인 네트워크(500)는 상기 추출한 통신 기기(720)의 IP 주소와 토큰이 포함된 트랜잭션 처리 메시지를 서비스 서버(300)로 전송한다(S731).Subsequently, the blockchain network 500 transmits a transaction processing message including the IP address and the token of the extracted communication device 720 to the service server 300 (S731).
그러면, 서비스 서버(300)는 상기 도메인 질의에 대한 응답으로서 통신 기기(720)의 IP 주소와 토큰을 사용자 단말(100)의 개인 도메인 애플리케이션(110)으로 전송한다(S733). Then, the service server 300 transmits the IP address and token of the communication device 720 to the personal domain application 110 of the user terminal 100 in response to the domain query (S733).
이러한 절차에 따라, 개인 도메인 애플리케이션(110)이 서비스 코드와 개인 도메인 네임이 포함된 도메인 질의 메시지를 전송하면, 상기 개인 도메인 네임, 사용자의 공개키 및 보안 장치(710)의 공개키와 대응되는 IP 주소를 응답 정보로서 수신한다.According to this procedure, when the personal domain application 110 transmits a domain query message including a service code and a personal domain name, the IP corresponding to the private domain name, the user's public key, and the security device 710's public key is transmitted. Receive the address as response information.
도 8은 본 발명의 일 실시예에 따른, 도메인 질의 응답에 기초하여 사용자 단말이 사설 네트워크로 접속하는 방법을 설명하는 흐름도이다. 도 8에 따른 절차는 도 7의 절차 이후에 진행된다.8 is a flowchart illustrating a method of connecting a user terminal to a private network based on a domain query response according to an embodiment of the present invention. The procedure according to FIG. 8 proceeds after the procedure of FIG.
도 8을 참조하면, 개인 도메인 애플리케이션(110)은 서비스 서버(300)로부터 수신한 사설 네트워크(700)의 통신 기기 IP 주소와 토큰을 확인하고(S801), 도 7의 S709 단계에서 일정 포맷으로 변환된 서비스 코드, 개인 도메인 네임 및 상기 토큰이 포함된 접속 요청 메시지를 상기 확인한 IP 주소를 가지는 통신 기기(720)로 전송한다(S801, S803). Referring to FIG. 8, the personal domain application 110 checks the communication device IP address and the token of the private network 700 received from the service server 300 (S801), and converts to a predetermined format in step S709 of FIG. 7. The access request message including the service code, the personal domain name, and the token is transmitted to the communication device 720 having the checked IP address (S801 and S803).
그러면, 사설 네트워크(700)의 접속을 제어하는 보안 장치(710)는 일정 포맷의 형태의 서비스 코드를 원상태의 사용 티켓, 보안 장치(710)의 공개키(즉, 목적지 공개키) 및 전자 서명으로 복원한 후, 상기 복원된 전자 서명을 검증하여 전자 서명에서 사용자 공개키를 획득한다(S805). Then, the security device 710 controlling the connection of the private network 700 converts the service code in the form of a certain format into the original use ticket, the public key (ie, the destination public key) and the electronic signature of the security device 710. After the restoration, the restored digital signature is verified to obtain a user public key from the electronic signature (S805).
다음으로, 보안 장치(710)는 전자 서명 검증에 성공하여 사용자 공개키를 획득하면, 상기 접속 요청 메시지에 포함된 사용 티켓과 개인 도메인 네임을 확인하고, 상기 개인 도메인 네임과 매핑된 가장 최근의 사용 티켓을 자체 저장중인 매핑 테이블에서 확인한다. Next, upon successful digital signature verification and obtaining a user public key, the security device 710 checks the use ticket and the personal domain name included in the access request message, and uses the most recent use mapped with the personal domain name. Check the ticket in its own mapping table.
이어서, 보안 장치(710)는 상기 매핑 테이블에서 확인한 사용 티켓과 상기 접속 요청 메시지에 포함된 사용 티켓을 비교하여, 사용 티켓을 검증한다(S807). 이때, 보안 장치(710)는 상기 매핑 테이블에서 상기 개인 도메인 네임과 매핑된 가장 최근의 사용 티켓 보다 상기 접속 요청 메시지에 포함된 사용 티켓이 더 크면, 사용 티켓 검증에 성공하는 것으로 판단하고, 그렇지 않으면 사용 티켓의 검증에 실패한 것으로 처리한다. Subsequently, the security apparatus 710 compares the use ticket confirmed in the mapping table with the use ticket included in the access request message, and verifies the use ticket (S807). At this time, if the usage ticket included in the access request message is larger than the most recent usage ticket mapped with the personal domain name in the mapping table, the security device 710 determines that the usage ticket verification is successful. Treat the ticket as a failure to verify.
상기 보안 장치(710)는 상기 사용 티켓 검증에 실패하면, 접속 불가 메시지를 개인 도메인 애플리케이션(110)으로 전송하고, 사용자 단말(100)에 대한 통신 기기(720) 접속을 차단한다.If the security device 710 fails to verify the usage ticket, the security device 710 transmits a connection not available message to the personal domain application 110 and blocks the access of the communication device 720 to the user terminal 100.
반면에, 보안 장치(710)는 상기 사용 티켓 검증에 성공하면, 상기 접속 요청 메시지에 포함된 토큰 검증을 도메인 관리 서버(200)로 요청한다(S809). 이때, 보안 장치(710)는 상기 토큰, 사용자 공개키, 목적지 공개키(즉, 보안 장치의 공개키) 및 개인 도메인 네임을 도메인 관리 서버(200)로 전송하며, 또한 상기 검증에 성공한 사용 티켓과 상기 개인 도메인 네임을 매핑하여 매핑 테이블에 기록하여, 사용 티켓의 최신성을 유지한다.On the other hand, if the security device 710 succeeds in verifying the use ticket, it requests the domain management server 200 for token verification included in the access request message (S809). In this case, the security device 710 transmits the token, the user public key, the destination public key (ie, the security device's public key), and the personal domain name to the domain management server 200, and also uses a ticket for successful verification. The personal domain name is mapped and recorded in the mapping table to maintain the freshness of the use ticket.
다음으로, 도메인 관리 서버(200)는 상기 토큰, 사용자 공개키, 목적지 공개키(즉, 보안 장치의 공개키) 및 개인 도메인 네임을 블록체인 네트워크(500)로 전달하여, 토큰 검증을 요청한다(S811).Next, the domain management server 200 transmits the token, the user public key, the destination public key (ie, the public key of the security device), and the private domain name to the blockchain network 500 to request token verification ( S811).
그러면, 블록체인 네트워크(500)의 각 노드들은, 상기 사용자 공개키, 목적지 공개키 및 개인 도메인 네임을 포함하는 블록을 확인하고, 블록에서 최근에 발행된 토큰을 확인하고, 상기 블록에서 확인한 토큰과 도메인 관리 서버(200)로부터 수신한 토큰이 일치하는지 여부를 검증한다(S813).Each node of the blockchain network 500 then identifies a block that includes the user public key, a destination public key, and a private domain name, identifies a recently issued token in the block, and The token received from the domain management server 200 is verified whether it matches (S813).
그리고 블록체인 네트워크(500)는 토큰 검증 결과를 도메인 관리 서버(200)로 전달하고, 도메인 관리 서버(200)는 상기 토큰 검증 결과를 보안 장치(710)로 전달한다(S815).The blockchain network 500 transmits the token verification result to the domain management server 200, and the domain management server 200 transmits the token verification result to the security device 710 (S815).
보안 장치(710)는 토큰 검증 결과가 실패로 확인되면, 접속 불가 메시지를 개인 도메인 애플리케이션(110)으로 전송하고, 사용자 단말(100)에 대한 통신 기기(720) 접속을 차단한다. 반면에, 보안 장치(710)는 토근 검증 결과 성공으로 확인되면, 사용자 검증을 최종적으로 성공 처리하고(S817), 통신 기기의 접근 허용을 알리는 메시지를 개인 도메인 애플리케이션(110)으로 전송하고(S819), 통신 기기(720)에 대한 사용자 단말(100)의 접속을 허락한다. When the token verification result is determined to be a failure, the security device 710 transmits a connection not available message to the personal domain application 110, and blocks the connection of the communication device 720 to the user terminal 100. On the other hand, if the security device 710 confirms that the result of the token verification is successful, the terminal finally processes the user verification (S817), and transmits a message informing the permission of the access of the communication device to the personal domain application 110 (S819). , The user terminal 100 is allowed to access the communication device 720.
그러면, 개인 도메인 애플리케이션(110)은 보안 장치(710)를 통해서 상기 IP 주소를 가지는 통신 기기(720)에 접속하여, 통신 기기(720)에서 제공하는 서비스를 이용할 수 있다(S821). Then, the personal domain application 110 may access the communication device 720 having the IP address through the security device 710 and use the service provided by the communication device 720 (S821).
다음으로, 보안 장치(710)는 토큰 재생성을 도메인 관리 서버(200)로 요청한다(S823). 이때, 보안 장치(710)는 사용자의 공개키, 목적지 공개키(즉, 보안 장치의 공개키) 및 개인 도메인 네임을 도메인 관리 서버(200)로 전송한다.Next, the security device 710 requests the domain management server 200 to generate a token (S823). In this case, the security device 710 transmits the user's public key, the destination public key (ie, the security device's public key), and the personal domain name to the domain management server 200.
그러면, 도메인 관리 서버(200)는 사용자 공개키, 목적지 공개키 및 개인 도메인 네임이 포함된 토큰 재생성 요청하는 트랜잭션을 블록체인 네트워크(500)로 발생시키고(S825), 블록체인 네트워크(500)의 하나 이상의 노드가 토큰을 재생성한다(S827). 그리고 상기 노드는 상기 재생성한 토큰, 상기 사용자 공개키, 목적지 공개키(즉, 보안 장치의 공개키) 및 개인 도메인 네임이 포함되며, 토큰이 재발급되었음을 알리는 블록을 생성하고, 이 블록을 기존의 블록과 연결하여 블록체인에 저장한다. 이후, 또 다시 개인 도메인 네임이 포함된 도메인 질의 메시지가 개인 도메인 애플리케이션(110)에서 발생하면, 상기 재생성된 토큰이 개인 도메인 애플리케이션(110)에서 획득된다. Then, the domain management server 200 generates a transaction requesting a token regeneration including the user public key, the destination public key, and the private domain name to the blockchain network 500 (S825), and one of the blockchain networks 500. The above node regenerates the token (S827). And the node includes the regenerated token, the user public key, the destination public key (i.e., the security device's public key), and a private domain name, and generates a block indicating that the token has been reissued, and the block is an existing block. Connect to and save it on the blockchain. Thereafter, when the domain query message including the personal domain name is generated in the personal domain application 110, the regenerated token is obtained in the personal domain application 110.
한편, 전자 서명 검증은 보안 장치(710)에서 수행되지 않고, 블록체인 네트워크(500)에서 수행될 수도 있다. 이 경우, 보안 장치(710)는 개인 도메인 애플리케이션(110)으로부터 수신한 서비스 코드를 도메인 관리 서버(200)로 전송하고, 도메인 관리 서버(200)는 상기 서비스 코드를 블록 체인 네트워크(500)로 전달하여, 전자 서명의 검증을 요청할 수 있다. 그리고 도메인 관리 서버(200)는 블록 체인 네트워크(500)로부터 전자 서명에 대한 검증 결과인 사용자 공개키를 수신하여 보안 장치(710)로 전달할 수 있다.Meanwhile, the electronic signature verification may not be performed in the security device 710, but may be performed in the blockchain network 500. In this case, the security device 710 transmits the service code received from the personal domain application 110 to the domain management server 200, and the domain management server 200 transmits the service code to the blockchain network 500. To request verification of the electronic signature. In addition, the domain management server 200 may receive a user public key, which is a verification result of the electronic signature, from the blockchain network 500 and transmit the received user public key to the security device 710.
또 다른 실시예로서, 토큰이 사용되지 않고, 전자 서명과 사용 티켓 검증이 보안 장치(710)에서 수행될 수도 있다. 이 경우, 블록체인 네트워크(500)에서는 토큰이 생성되는 것이 생략될 수 있으며, 보안 장치(710)는 사용 티켓과 전자 서명을 토대로, 사용자 단말(100)에 대한 사설 네트워크(700) 접속을 선택적으로 허락할 수 있다. As yet another embodiment, no token is used, and electronic signature and usage ticket verification may be performed at security device 710. In this case, the generation of the token may be omitted in the blockchain network 500, and the security device 710 may selectively connect the private network 700 to the user terminal 100 based on the use ticket and the electronic signature. I can allow it.
한편, 상술한 제2실시예에서, 두 개의 공개키(즉, 목적지 공개키와 사용자 공개키)가 개인 도메인 네임 및 보안 정보와 함께 블록체인에 저장되는 것으로 설명되었으나, 두 개의 공개키 중에서 어느 하나가 개인 도메인 네임과 보안 정보와 함께 블록체인에 저장될 수 있다. 이 경우, 하나의 공개키(즉, 사용자 공개키 또는 보안 장치의 공개키)와 개인 도메인 네임과 대응되는 보안 정보가 블록체인 네트워크(500)에서 추출되어, 사용자 단말(100)로 제공될 수 있다. 또한, 하나의 공개키(즉, 사용자 공개키 또는 보안 장치의 공개키)와 개인 도메인 네임과 대응되는 티켓 또는 토큰이 블록체인 네트워크(500)에서 추출되어, 토큰 검증 또는 티켓 검증이 블록체인 네트워크(500)에서 수행될 수 있다.Meanwhile, in the above-described second embodiment, it has been described that two public keys (that is, a destination public key and a user public key) are stored in a blockchain together with a private domain name and security information. Can be stored on the blockchain along with private domain name and security information. In this case, one public key (ie, a user public key or a public key of a security device) and security information corresponding to a private domain name may be extracted from the blockchain network 500 and provided to the user terminal 100. . In addition, a ticket or token corresponding to one public key (ie, a user public key or a public key of a security device) and a private domain name is extracted from the blockchain network 500, so that token verification or ticket verification is performed on the blockchain network ( 500).
한편, 통신 단말(110)은 다른 사용자의 공개키를 개인 도메인 네임과 매핑하여 블록체인에 저장하여, 다른 사용자의 통신 단말이 사설 네트워크(700)로 접근하는 것을 허락할 수 있다.Meanwhile, the communication terminal 110 may map another user's public key to a private domain name and store the same in a blockchain to allow another user's communication terminal to access the private network 700.
이하, 본 발명의 제3실시예에서, 사용자의 통신 단말(100)이 제1통신 단말인 것으로 지칭하고, 타 사용자의 통신 단말이 제2통신 단말인 것으로 지칭하여 설명한다.Hereinafter, in the third embodiment of the present invention, the communication terminal 100 of the user is referred to as the first communication terminal, and the communication terminal of another user will be described as referring to the second communication terminal.
도 9는 본 발명의 제3실시예에 따른, 관리자 단말에서 타 단말의 접속 권한을 등록하는 방법을 설명하는 흐름도이다. 9 is a flowchart illustrating a method of registering an access right of another terminal in an administrator terminal according to a third embodiment of the present invention.
도 9를 참조하면, 제2통신 단말에서 개인 도메인 애플리케이션이 설치되면, 상기 개인 도메인 애플리케이션은 제2통신 단말의 개인키와 공개키를 생성한다(S901).Referring to FIG. 9, when a personal domain application is installed in the second communication terminal, the personal domain application generates a private key and a public key of the second communication terminal (S901).
다음으로, 제2통신 단말의 개인 도메인 애플리케이션은 상기 생성한 제2통신 단말의 공개키를 제1통신 단말(100)로 전송한다(S903). 이때, 제2통신 단말은 상기 제2통신 단말의 공개키가 포함되고 제1통신 단말(100)의 주소가 목적지로 기재된 메시지를 상기 제1통신 단말(100)로 전송할 수 있으며, 또는 근거리 무선통신을 통해서 상기 제2통신 단말의 공개키를 제1통신 단말(100)로 전송할 수도 있다.Next, the personal domain application of the second communication terminal transmits the generated public key of the second communication terminal to the first communication terminal 100 (S903). At this time, the second communication terminal may transmit a message including the public key of the second communication terminal and the address of the first communication terminal 100 as the destination to the first communication terminal 100, or short-range wireless communication Through the public key of the second communication terminal may be transmitted to the first communication terminal 100 through.
그러면, 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은 제2통신 단말을 사설 네트워크(700)로 접근 가능한 단말로 등록하는 절차를 진행한다. 우선, 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은 관리자부터 개인 도메인을 입력받고, 이 개인 도메인 뒤에 개인 도메인 코드를 덧붙어 개인 도메인 네임을 생성한다(S905). Then, the personal domain application 110 of the first communication terminal 100 proceeds to register the second communication terminal as a terminal accessible to the private network 700. First, the personal domain application 110 of the first communication terminal 100 receives a personal domain from an administrator and generates a personal domain name by adding a personal domain code behind the personal domain (S905).
그리고 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은 목적지 공개키인 보안 장치(710)의 공개키를 추출하고(S907), 원문 데이터를 설정하여 이 원문 데이터를 제1통신 단말(100)의 개인키로 전자 서명을 수행한다(S909). 이때, 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은, 원문 데이터로서 보안 장치(710)의 공개키 또는 개인 도메인 네임 중에서 하나 이상을 이용할 수 있다. 이어서, 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은 상기 개인 도메인 네임, 보안 장치(710)의 공개키, 제2통신 단말의 공개키 및 상기 전자 서명이 포함된 접근 단말 추가 요청 메시지를 도메인 관리 서버(200)로 전송한다(S911).The personal domain application 110 of the first communication terminal 100 extracts the public key of the security device 710, which is the destination public key (S907), sets the original text data, and sets the original text data to the first communication terminal 100. Digital signature is performed with the private key (S909). In this case, the personal domain application 110 of the first communication terminal 100 may use one or more of the public key or the personal domain name of the security device 710 as the original data. Subsequently, the personal domain application 110 of the first communication terminal 100 receives the access terminal addition request message including the personal domain name, the public key of the security device 710, the public key of the second communication terminal, and the electronic signature. To transmit to the domain management server 200 (S911).
그러면, 도메인 관리 서버(200)는 상기 개인 도메인 네임, 제2통신 단말의 공개키, 목적지 공개키(즉, 보안 장치의 공개키) 및 전자 서명이 포함된 디바이스 추가 트랜잭션을 블록체인 네트워크(500)로 발생시킨다(S913). 그리고 블록체인 네트워크(500)에 포함된 각 노드들은 상기 디바이스 추가 트랜잭션에 포함된 전자 서명을 검증하여, 상기 전자 서명으로부터 제1통신 단말(100)의 공개키를 추출한다(S915). Then, the domain management server 200 transmits the device addition transaction including the personal domain name, the public key of the second communication terminal, the destination public key (ie, the public key of the security device), and the electronic signature to the blockchain network 500. To generate (S913). Each node included in the blockchain network 500 verifies the electronic signature included in the device addition transaction, and extracts the public key of the first communication terminal 100 from the electronic signature (S915).
이어서, 블록체인 네트워크(500)에 포함된 각 노드들은, 전자 서명 검증을 통해서 추출한 공개키(즉, 제1통신 단말의 공개키)가 관리자용 공개키로서 블록체인에 등록되어 있는지 여부를 검증한다(S917). 이때, 블록체인 네트워크(500)의 각 노드들은, 상기 전자 서명으로부터 추출한 공개키(즉, 제1통신 단말의 공개키), 상기 개인 도메인 네임 및 목적지 공개키(즉, 보안 장치의 공개키)를 포함하는 블록을 블록체인에서 확인하고, 이 블록에서 상기 제1통신 단말(100)의 공개키가 관리자용 공개키로 설정되어 있는지 여부를 확인함으로써, 제1통신 단말(100)의 공개키가 관리자용 공개키인지 여부를 검증한다. 부연하면, 블록체인 네트워크(500)는 사설 네트워크(700)로의 접속 디바이스를 등록하는 제1통신 단말(100)이 관리자 단말인지 여부를, 공개키와 개인 도메인 네임을 토대로 인증한다.Subsequently, each node included in the blockchain network 500 verifies whether the public key (that is, the public key of the first communication terminal) extracted through electronic signature verification is registered in the blockchain as the public key for the administrator. (S917). At this time, each node of the blockchain network 500, the public key (that is, the public key of the first communication terminal) extracted from the electronic signature, the private domain name and the destination public key (that is, the public key of the security device) The public key of the first communication terminal 100 is determined by the blockchain and the public key of the first communication terminal 100 is set as the public key for the administrator. Verifies whether it is a public key. In other words, the blockchain network 500 authenticates whether the first communication terminal 100 that registers a connection device to the private network 700 is an administrator terminal based on the public key and the private domain name.
다음으로, 블록체인 네트워크(500)는 상기 제1통신 단말(100)의 공개키가 관리자용 공개키로 설정되어 있지 않으면, 디바이스를 추가할 수 없음을 도메인 관리 서버(200)로 통보하고, 도메인 관리 서버(200)는 접근 단말 추가에 실패하였음을 제1통신 단말(100)로 통보한다.Next, the blockchain network 500 notifies the domain management server 200 that a device cannot be added unless the public key of the first communication terminal 100 is set as an administrator public key, and domain management. The server 200 notifies the first communication terminal 100 that the addition of an access terminal has failed.
반면에, 블록체인 네트워크(500)의 각 노드들은 상기 제1통신 단말(100)의 공개키가 관리자용 공개키로 설정되어 있으면, 제2통신 단말 전용의 토큰을 생성한다. 그리고, 블록체인 네트워크(500)의 각 노드들은, 제2통신 단말의 공개키가 사설 네트워크의 접근에 허락된 공개키로서 등록되는 상기 디바이스 추가 트랜잭션 및 상기 제2통신 단말의 토큰을 포함하는 신규 블록을 생성하고, 이 신규 블록을 기존 블록과 연결하여 블록체인에 저장한다(S919). 이에 따라, 상기 제2통신 단말은 사설 네트워크(700)에 접근할 수 있는 디바이스로 블록체인에 등록된다.On the other hand, each node of the blockchain network 500 generates a token dedicated to the second communication terminal when the public key of the first communication terminal 100 is set as a manager public key. Each node of the blockchain network 500 includes a new block including the device addition transaction and a token of the second communication terminal in which the public key of the second communication terminal is registered as a public key allowed to access the private network. In operation S919, the new block is connected to the existing block and stored in the block chain. Accordingly, the second communication terminal is registered in the blockchain as a device that can access the private network 700.
다음으로, 블록체인 네트워크(500)는 트랜잭션 성공을 도메인 관리 서버(200)로 알린다(S921). 그러면, 도메인 관리 서버(200)는 접근 단말 추가에 성공하였음을 제1통신 단말(100)로 알린다(S923). 이어서, 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은, 보안 장치(710)의 공개키를 추출하고, 이 보안 장치(710)의 공개키를 제2통신 단말로 전송한다(S925). Next, the blockchain network 500 informs the domain management server 200 of the success of the transaction (S921). Then, the domain management server 200 notifies the first communication terminal 100 of the successful addition of the access terminal (S923). Subsequently, the personal domain application 110 of the first communication terminal 100 extracts the public key of the security device 710 and transmits the public key of the security device 710 to the second communication terminal (S925). .
다음으로, 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은 사설 네트워크 접속 주소를 획득하는 절차를 진행한다(S927). 구체적으로, 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은 도 7에서와 같이, 신규 사용 티켓을 제1통신 단말(100)의 개인키로 전자 서명한 후, 상기 사용 티켓, 보안 장치(710)의 공개키 및 전자 서명을 일정한 포맷을 가지는 서비스 코드로 변환한다. 그리고 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은 서비스 코드와 개인 도메인 네임이 포함된 도메인 질의 메시지를 DNS 서버(400)로 전송한다. 상기 도메인 질의 메시지는 서비스 서버(300)로 전달되고, 서비스 서버(300)는 정보 요청 트랜잭션을 블록체인 네트워크(500)로 발생시키고, 블록체인 네트워크(500)에서 서비스 코드를 원상태로 복원하여 전자 서명을 검증하여 제1통신 단말(100)의 공개키를 획득하고, 더불어 사용 티켓 검증을 수행한다. 서비스 서버(300)에서 사용 티켓 검증에 성공하면, 상기 트랜잭션이 포함된 신규 블록이 생성되어 블록체인에 저장되고, 블록체인 네트워크(500)는 상기 개인 도메인 네임, 보안 장치(710)의 공개키 및 제1통신 단말(100)의 공개키와 대응되는 통신 기기(720)의 IP 주소(즉, 사설 네트워크의 접속 주소)와 제1통신 단말(100)의 토큰을 제1통신 단말(100)로 전송한다.Next, the personal domain application 110 of the first communication terminal 100 proceeds to obtain a private network access address (S927). Specifically, the personal domain application 110 of the first communication terminal 100 electronically signs a new use ticket with the private key of the first communication terminal 100, as shown in FIG. The public key and the digital signature of 710 are converted into a service code having a predetermined format. The personal domain application 110 of the first communication terminal 100 transmits the domain query message including the service code and the personal domain name to the DNS server 400. The domain query message is transmitted to the service server 300, and the service server 300 generates an information request transaction to the blockchain network 500, restores the service code to the original state in the blockchain network 500, and digitally signs it. Verify to obtain the public key of the first communication terminal 100, and performs the use ticket verification. If the service server 300 succeeds in verifying the usage ticket, a new block including the transaction is generated and stored in the blockchain, and the blockchain network 500 includes the private domain name, the public key of the security device 710, and the like. The IP address of the communication device 720 corresponding to the public key of the first communication terminal 100 (that is, the connection address of the private network) and the token of the first communication terminal 100 are transmitted to the first communication terminal 100. do.
이렇게 제1통신 단말(100)에서 통신 기기(720)의 IP 주소와 토큰을 획득하면, 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은 상기 서비스 코드, 개인 도메인 네임, 상기 제1통신 단말(100)의 토큰 및 상기 제2통신 단말의 공개키가 포함된 디바이스 추가 요청 메시지를 상기 확인한 IP 주소를 가지는 통신 기기(720)로 전송한다(S929).When the first communication terminal 100 obtains the IP address and the token of the communication device 720, the personal domain application 110 of the first communication terminal 100 is the service code, personal domain name, the first communication The device addition request message including the token of the terminal 100 and the public key of the second communication terminal is transmitted to the communication device 720 having the checked IP address (S929).
그러면, 사설 네트워크(700)의 접속을 제어하는 보안 장치(710)는 상기 디바이스 추가 요청 메시지를 획득하고, 도 8의 S805 단계 내지 S817 단계와 같이, 검증 단계를 진행한다. 구체적으로, 보안 장치(710)는 상기 서비스 코드를 원상태의 복원하여, 사용 티켓 검증을 수행하여 검증에 성공하면, 상기 사용 티켓과 개인 도메인 네임을 매핑하여 매핑 테이블에 저장하고, 상기 접속 요청 메시지에 포함된 토큰 검증을 도메인 관리 서버(200)로 요청하여, 블록체인 네트워크(500)에서 수행된 토큰 검증 결과를 수신한다. Then, the security device 710 controlling the connection of the private network 700 acquires the device addition request message, and proceeds to the verification step, as in steps S805 to S817 of FIG. 8. Specifically, the security device 710 restores the service code to its original state, and if the verification is successful by performing the use ticket verification, the security device 710 maps the use ticket and the personal domain name to the mapping table and stores the mapping in the connection request message. Request the included token verification to the domain management server 200, and receives the token verification result performed in the blockchain network 500.
보안 장치(710)는 사용 티켓 검증, 토큰 검증 중에서 어느 하나라도 실패하면, 디바이스를 추가할 수 없음을 제1통신 단말(100)로 통보한다. 반면에, 보안 장치(710)는 사용 티켓 검증 및 토큰 검증 모두에 성공하면, 상기 제1통신 단말(100)의 공개키가 관리자용으로 저장되어 있는지 여부를 확인하여, 제1통신 단말(100)의 사용자가 관리자인지 여부를 인증한다(S931).If any one of the use ticket verification and the token verification fails, the security device 710 notifies the first communication terminal 100 that the device cannot be added. On the contrary, if both the use ticket verification and the token verification succeed, the security device 710 checks whether the public key of the first communication terminal 100 is stored for the administrator, and thus, the first communication terminal 100. It is authenticated whether the user is an administrator (S931).
다음으로, 보안 장치(710)는 상기 제1통신 단말(100)의 공개키가 관리자용으로 저장되어 있으면, 상기 디바이스 추가 요청 메시지에 포함된 제2통신 단말의 공개키를 접근 허용 목록에 저장하고, 디바이스 추가 정상적으로 완료되었음을 제1통신 단말(100)로 전송한다(S933).Next, if the public key of the first communication terminal 100 is stored for the administrator, the security device 710 stores the public key of the second communication terminal included in the device addition request message in an access permission list. In operation S933, the device is successfully added to the first communication terminal 100.
상술한 절차에 따라, 제2통신 단말의 공개키 및 또 다른 단말의 공개키가, 블록체인과 보안 장치(710)에 접근 가능 단말의 식별정보로서 등록될 수 있다. According to the above-described procedure, the public key of the second communication terminal and the public key of another terminal can be registered as identification information of the terminal accessible to the blockchain and the security device 710.
도 10은 본 발명의 일 실시예에 따른, 사설 네트워크로 접근 허용된 타 단말이 사설 네트워크의 접속 주소를 획득하는 방법을 설명하는 흐름도이다. 도 10은 도 7과 유사하므로, 도 10의 설명에 있어서 도 7와 중복되는 부분은 압축하여 요약하고, 차이점을 중심으로 설명한다. 10 is a flowchart illustrating a method for acquiring a connection address of a private network by another terminal allowed to access a private network according to an embodiment of the present invention. Since FIG. 10 is similar to FIG. 7, in the description of FIG. 10, portions overlapping with FIG. 7 will be compressed and summarized, and the differences will be described mainly.
도 10을 참조하면, 제2통신 단말의 개인 도메인 애플리케이션은 사용자로부터 입력받은 도메인 네임을 토대로 개인 도메인 코드가 포함된 개인 도메인 네임을 생성하고, 현재 날짜와 시각을 토대로 사용 티켓을 생성하고, 제1통신 단말(100)로부터 수신한 보안 장치(710)의 공개키를 추출한다(S1001 ~ S1005). 또한, 제2통신 단말의 개인 도메인 애플리케이션은 상기 사용 티켓을 원문 데이터로 설정하여, 제2통신 단말의 개인키로 전자 서명하고, 전자 서명, 사용 티켓 및 보안 장치(710)의 공개키를 서비스 코드로 변환한 후(S1007, S1009), 서비스 코드와 도메인 네임이 포함된 도메인 질의 메시지를 DNS 서버(400)로 전송한다(S1011).Referring to FIG. 10, the personal domain application of the second communication terminal generates a personal domain name including a personal domain code based on a domain name input from a user, generates a use ticket based on a current date and time, and generates a first ticket. The public key of the security device 710 received from the communication terminal 100 is extracted (S1001 to S1005). In addition, the personal domain application of the second communication terminal sets the use ticket as the original data, electronically signs it with the private key of the second communication terminal, and uses the electronic signature, the use ticket and the public key of the security device 710 as the service code. After the conversion (S1007, S1009), the domain query message including the service code and the domain name is transmitted to the DNS server 400 (S1011).
DNS 서버(400)는 상기 도메인 질의 메시지에 개인 도메인 코드가 포함됨에 따라 상기 도메인 질의 메시지를 서비스 서버(300)로 전달한다(S1013, S1015). 그러면, 서비스 서버는 도메인 질의 메시지에 포함된 서비스 코드를 검사하고, 검사에 성공하면 상기 서비스 코드와 개인 도메인 네임이 포함된 정보 요청 트랜잭션을 블록체인 네트워크(500)로 발생시킨다(S1017, S1019).The DNS server 400 transmits the domain query message to the service server 300 as the domain query message includes the private domain code (S1013 and S1015). Then, the service server checks the service code included in the domain query message, and if successful, generates the information request transaction including the service code and the private domain name to the blockchain network 500 (S1017 and S1019).
그러면, 블록체인 네트워크(500)의 노드들은, 서비스 코드에 포함된 전자 서명, 보안 장치(710)의 공개키 및 사용 티켓을 복원한 후에, 상기 복원된 전자 서명을 검증하여 제2통신 단말의 공개키를 추출한다(S1021, S1023). Then, the nodes of the blockchain network 500 restore the electronic signature included in the service code, the public key of the security device 710 and the use ticket, and then verify the restored electronic signature to publish the second communication terminal. The key is extracted (S1021, S1023).
이어서, 블록체인 네트워크(500)의 노드들은 상기 개인 도메인 네임, 상기 보안 장치(710)의 공개키 및 상기 제2통신 단말의 공개키를 가지는 디바이스 추가 트랜잭션 또는 도메인 등록 트랜잭션을 포함하는 블록이 존재하는지 여부를 블록체인에서 검색함으로써, 상기 제2통신 단말의 사설 네트워크 접속 권한을 확인한다(S1025). 도 10에 따르면, 상기 개인 도메인 네임, 상기 보안 장치(710)의 공개키 및 상기 제2통신 단말의 공개키를 가지는 디바이스 추가 트랜잭션을 포함하는 블록이 블록체인에 저장되는 것으로 설명된다. Subsequently, the nodes of the blockchain network 500 check whether there is a block including a device addition transaction or a domain registration transaction having the private domain name, the public key of the security device 710 and the public key of the second communication terminal. The blockchain is searched for whether the private network access authority of the second communication terminal is checked (S1025). According to FIG. 10, a block including a device addition transaction having the private domain name, the public key of the security device 710, and the public key of the second communication terminal is described as being stored in the blockchain.
이어서, 블록체인 네트워크(500)는 사용 티켓 검증을 수행한 후(S1027), 접속 권한 검증 및 사용 티켓 검증 모두에 성공하면, 상기 정보 요청 트랜잭션을 포함하는 블록을 생성하여 기존의 블록과 연결하여 상기 생성한 블록을 블록체인에 저장한다(S1029). 그리고 블록체인 네트워크(500)는 상기 개인 도메인 네임, 보안 장치(710)의 공개키 및 상기 제2통신 단말(110)의 공개키를 포함하는 블록에서 통신 기기(720)의 IP 주소와 제2통신 단말의 토큰을 추출한다(S1031). 이어서, 블록체인 네트워크(500)는 상기 추출한 통신 기기(720)의 IP 주소와 제2통신 단말의 토큰이 포함된 트랜잭션 처리 메시지를 서비스 서버(300)로 전송한다(S1033).Subsequently, after performing the use ticket verification (S1027), if the blockchain network 500 succeeds in both the access right verification and the use ticket verification, the blockchain network 500 generates a block including the information request transaction and connects the existing block to the existing block. The generated block is stored in the block chain (S1029). The blockchain network 500 may further include the IP address of the communication device 720 and the second communication in a block including the private domain name, the public key of the security device 710, and the public key of the second communication terminal 110. The token of the terminal is extracted (S1031). Subsequently, the blockchain network 500 transmits a transaction processing message including the extracted IP address of the communication device 720 and the token of the second communication terminal to the service server 300 (S1033).
그러면, 서비스 서버(300)는 상기 도메인 질의에 대한 응답으로서 통신 기기(720)의 IP 주소와 제2통신 단말의 토큰을 제2통신 단말의 개인 도메인 애플리케이션으로 전송한다(S1035). Then, the service server 300 transmits the IP address of the communication device 720 and the token of the second communication terminal to the personal domain application of the second communication terminal in response to the domain query (S1035).
이러한 절차에 따라, 관리자 단말(110)에 의해 등록된 제2통신 단말은 서비스 코드와 개인 도메인 네임이 포함된 도메인 질의 메시지를 전송하면, 보안 장치(710)의 IP 주소와 토큰을 응답 정보로서 수신한다.According to this procedure, when the second communication terminal registered by the manager terminal 110 transmits a domain query message including a service code and a personal domain name, the second communication terminal receives the IP address and token of the security device 710 as response information. do.
도 11은 본 발명의 일 실시예에 따른, 사설 네트워크로 접근 허용된 타 단말이 사설 네트워크로 접속하는 방법을 설명하는 흐름도이다. 도 11에 따른 절차는 도 10에 따른 절차에 이후에 진행된다. 또한, 도 11은 도 8과 유사하므로, 도 11의 참조한 설명에 있어서 도 8과 중복되는 부분은 압축하여 요약하고, 차이점을 중심으로 설명한다. FIG. 11 is a flowchart illustrating a method for allowing another terminal access to a private network to access a private network according to an embodiment of the present invention. The procedure according to FIG. 11 proceeds after the procedure according to FIG. 10. In addition, since FIG. 11 is similar to FIG. 8, in the reference description of FIG. 11, portions overlapping with FIG. 8 will be summarized by compression and described based on differences.
도 11을 참조하면, 제2통신 단말의 개인 도메인 애플리케이션은 서비스 서버(300)로부터 수신한 사설 네트워크(700)의 통신 기기 IP 주소와 제2통신 단말의 토큰을 확인하고(S1101), 서비스 코드, 개인 도메인 네임 및 상기 토큰이 포함된 접속 요청 메시지를 상기 확인한 IP 주소를 가지는 통신 기기(720)로 전송한다(S1103).Referring to FIG. 11, the personal domain application of the second communication terminal checks the communication device IP address of the private network 700 received from the service server 300 and the token of the second communication terminal (S1101), and the service code, The connection request message including the personal domain name and the token is transmitted to the communication device 720 having the checked IP address (S1103).
그러면, 사설 네트워크(700)의 보안 장치(710)는 상기 접속 요청 메시지를 수신하고, 서비스 코드를 원상태로 복원한 후, 상기 복원된 전자 서명을 검증하여 제2통신 단말의 공개키를 추출한다(S1105). Then, the security device 710 of the private network 700 receives the access request message, restores the service code to its original state, and verifies the restored electronic signature to extract the public key of the second communication terminal ( S1105).
다음으로, 보안 장치(710)는 접속 요청 메시지에 포함된 사용 티켓과 매핑 테이블에 저장된 사용 티켓의 값을 비교하여, 사용 티켓의 위변조를 검증한다(S1107). 이어서, 보안 장치(710)는 전자 서명 검증을 통해서 추출한 제2통신 단말의 공개키가 접근 허용 목록에 기록되어 있는지 여부를 확인함으로써, 제2통신 단말이 사설 네트워크로 접속 가능한 단말인지 여부를 인증한다(S1109).Next, the security device 710 compares the value of the use ticket included in the connection request message with the value of the use ticket stored in the mapping table, and verifies forgery of the use ticket (S1107). Subsequently, the security apparatus 710 verifies whether the second communication terminal is a terminal capable of accessing the private network by checking whether the public key of the second communication terminal extracted through electronic signature verification is recorded in the access permission list. (S1109).
상기 보안 장치(710)는 상기 사용 티켓 검증, 접속 권한 인증 중에서 어느 하나라도 실패하면, 접속 불가 메시지를 제2통신 단말로 전송하고, 제2통신 단말에 대한 접속을 차단한다. If any one of the use ticket verification and the access authority authentication fails, the security device 710 transmits a connection disable message to the second communication terminal, and blocks the connection to the second communication terminal.
반면에, 보안 장치(710)는 상기 접속 권한 인증 및 상기 사용 티켓 검증 모두에 성공하면, 상기 접속 요청 메시지에 포함된 토큰 검증을 도메인 관리 서버(200)로 요청한다(S1111). 이때, 보안 장치(710)는 상기 토큰, 제2통신 단말의 공개키, 보안 장치(120)의 공개키 및 개인 도메인 네임을 도메인 관리 서버(200)로 전송하고, 또한 상기 검증에 성공한 사용 티켓과 상기 개인 도메인 네임을 매핑하여 매핑 테이블에 기록하여, 사용 티켓의 최신성을 유지한다.On the other hand, if both of the access authority authentication and the use ticket verification succeed, the security device 710 requests the domain management server 200 for token verification included in the access request message (S1111). In this case, the security device 710 transmits the token, the public key of the second communication terminal, the public key of the security device 120 and the private domain name to the domain management server 200, and furthermore, a usage ticket that has been successfully verified. The personal domain name is mapped and recorded in the mapping table to maintain the freshness of the use ticket.
다음으로, 도메인 관리 서버(200)는 상기 토큰, 제2통신 단말의 공개키, 보안 장치(710)의 공개키 및 개인 도메인 네임을 블록체인 네트워크(500)로 전달하여, 토큰 검증을 요청한다(S1113).Next, the domain management server 200 transmits the token, the public key of the second communication terminal, the public key of the security device 710 and the private domain name to the blockchain network 500, and requests token verification ( S1113).
그러면, 블록체인 네트워크(500)의 노드들은, 상기 제2통신 단말의 공개키, 보안 장치(710)의 공개키 및 개인 도메인 네임을 포함하는 블록을 확인하고, 이 블록 또는 이 블록과 연결되어 있는 블록에서 기록된 최신 토큰을 확인하고, 상기 블록에서 확인한 최신 토큰과 도메인 관리 서버(200)로부터 수신한 토큰이 일치하는지 여부를 검증한다(S1115). 그리고 블록체인 네트워크(500)는 토큰 검증 결과를 도메인 관리 서버(200)로 전달하고, 도메인 관리 서버(200)는 상기 토큰 검증 결과를 보안 장치(710)로 전달한다(S1117).Then, the nodes of the blockchain network 500 identify a block including the public key of the second communication terminal, the public key of the security device 710 and the private domain name, and are connected to this block or this block. The latest token recorded in the block is checked, and it is verified whether the latest token identified in the block and the token received from the domain management server 200 match (S1115). The blockchain network 500 transmits the token verification result to the domain management server 200, and the domain management server 200 transmits the token verification result to the security device 710 (S1117).
보안 장치(710)는 토큰 검증 결과가 실패로 확인되면 접속 불가 메시지를 제2통신 단말로 전송하고, 반면에, 보안 장치(710)는 토큰 검증 결과 성공으로 확인되면, 사용자 검증을 최종적으로 성공 처리하고(S1119), 통신 기기의 접근 허용을 알리는 메시지를 제2통신 단말로 전송하고(S1121), 통신 기기(720)에 대한 제2통신 단말의 접속을 허락한다. If the security device 710 confirms that the token verification result is unsuccessful, the security device 710 transmits a connection not available message to the second communication terminal. On the other hand, if the security device 710 determines that the token verification result is successful, the user verification finally succeeds. In operation S1119, a message informing access permission of the communication device is transmitted to the second communication terminal in operation S1121, and the second communication terminal is allowed to access the communication device 720.
그러면, 제2통신 단말의 개인 도메인 애플리케이션은 보안 장치(710)를 통해서 상기 IP 주소를 가지는 통신 기기(720)에 접속하여, 통신 기기(720)에서 제공하는 서비스를 이용할 수 있다(S1123). Then, the personal domain application of the second communication terminal can access the communication device 720 having the IP address through the security device 710, and use the service provided by the communication device 720 (S1123).
다음으로, 보안 장치(710)는 토큰이 사용됨에 따라, 토큰 재생성을 도메인 관리 서버(200)로 요청하고(S1125), 도메인 관리 서버(200)는 제2통신 단말(110)의 공개키, 보안 장치(710)의 공개키 및 개인 도메인 네임이 포함된 토큰 재생성 요청하는 트랜잭션을 블록체인 네트워크(500)로 발생시킨다(S1127). 이어서, 블록체인 네트워크(500)의 노드는 토큰을 재생성한 후, 재생성한 토큰, 상기 제2통신 단말(110)의 공개키, 보안 장치(710)의 공개키 및 개인 도메인 네임이 포함되며, 토큰이 재발급되었음을 나타내는 블록을 생성하고, 이 블록을 기존의 블록과 연결하여 블록체인에 저장한다(S1129). Next, as the token is used, the security device 710 requests the token regeneration to the domain management server 200 (S1125), and the domain management server 200 public key of the second communication terminal 110, security A token regeneration request transaction including the public key of the device 710 and the private domain name is generated to the blockchain network 500 (S1127). Subsequently, the node of the blockchain network 500 regenerates the token, and includes the regenerated token, the public key of the second communication terminal 110, the public key of the security device 710, and a private domain name. A block indicating that the reissue has been generated is generated, and the block is connected to an existing block and stored in the block chain (S1129).
한편, 상술한 실시예에서는 블록체인 네트워크(500)에 도메인 식별정보, 하나 이상의 공개키(즉, 사용자 공개키 또는 목적지 공개키)와 대응되는 블록이 저장되는 것으로 설명하였지만, 블록체인 네트워크(500)가 데이터베이스 형태로 변경되어 본 발명에 적용될 수도 있다. 이 경우, 데이터베이스에는 토큰을 발급하는 모듈, 전자 서명을 검증하는 모듈, 사용 티켓을 검증하는 모듈, 사설 네트워크로 접속 허락된 타 단말의 공개키를 관리하는 모듈 및 사설 네트워크의 접속 주소를 저장하고 관리하는 모듈 등이 포함되어, 상기 데이터베이스에서 상술한 블록체인 네트워크(500)의 기능을 수행할 수 있다. Meanwhile, in the above-described embodiment, although the block corresponding to the domain identification information and at least one public key (that is, the user public key or the destination public key) has been described in the blockchain network 500, the blockchain network 500 is described. May be changed to a database form and applied to the present invention. In this case, the database stores and manages a module for issuing a token, a module for verifying an electronic signature, a module for verifying a use ticket, a module for managing a public key of another terminal allowed to access a private network, and a connection address for a private network. Module to perform the functions of the above-described blockchain network 500 in the database.
또한, 상술한 실시예에서, 보안 장치(710)가 사용 티켓 검증과 토큰 검증을 함께 수행하는 것으로서 설명하였으나, 사용 티켓 검증 또는 토큰 검증 중 어느 하나만 수행하여 사용자 검증을 진행할 수 있다. In addition, in the above-described embodiment, the security device 710 has been described as performing the use ticket verification and token verification together, the user verification can be performed by performing only one of the use ticket verification or token verification.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.While this specification contains many features, such features should not be construed as limiting the scope of the invention or the claims. In addition, the features described in the individual embodiments herein can be implemented in combination in a single embodiment. Conversely, various features described in a single embodiment herein can be implemented individually in various embodiments or in combination as appropriate.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.Although the operations are described in a particular order in the drawings, they should not be understood as being performed in a particular order as shown, or in a sequence of successive orders, or all described actions being performed to obtain a desired result. . Multitasking and parallel processing may be advantageous in certain circumstances. In addition, it should be understood that the division of various system components in the above-described embodiments does not require such division in all embodiments. The program components and systems described above may generally be packaged in a single software product or multiple software products.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.The method of the present invention as described above may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. Since this process can be easily implemented by those skilled in the art will not be described in more detail.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.

Claims (20)

  1. 부가 정보를 획득할 수 있는 개인 도메인 서비스를 제공하는 방법으로서,As a method of providing a personal domain service that can obtain additional information,
    서비스 서버가, 사용자 단말에서 전송된 개인 도메인 네임과 전자 서명을 포함하는 도메인 질의 메시지를 수신하는 단계;Receiving, by the service server, a domain query message including a personal domain name and an electronic signature sent from the user terminal;
    상기 전자 서명의 검증에 성공하면, 상기 서비스 서버가 상기 개인 도메인 네임 및 하나 이상의 공개키와 대응되는 부가 정보를 획득하는 단계; 및If the electronic signature is successfully verified, acquiring, by the service server, additional information corresponding to the private domain name and at least one public key; And
    상기 서비스 서버가, 상기 부가 정보를 상기 도메인 응답으로서 상기 사용자 단말로 전송하는 단계;를 포함하는 개인 도메인 네임 서비스 방법.And transmitting, by the service server, the additional information as the domain response to the user terminal.
  2. 제1항에 있어서,The method of claim 1,
    상기 도메인 질의 메시지에는 사용 티켓과 목적지 공개키가 포함되고,The domain query message includes a usage ticket and a destination public key.
    상기 부가 정보를 획득하는 단계는,Acquiring the additional information,
    상기 사용 티켓의 검증에 성공하면, 상기 서비스 서버가 목적지 공개키, 사용자 공개키 및 상기 개인 도메인 네임과 대응되는 상기 부가 정보를 획득하는 것을 특징으로 하는 개인 도메인 네임 서비스 방법.And if the verification of the use ticket is successful, the service server obtains a destination public key, a user public key, and the additional information corresponding to the personal domain name.
  3. 제2항에 있어서,The method of claim 2,
    상기 부가 정보를 획득하는 단계는,Acquiring the additional information,
    상기 서비스 서버가, 상기 개인 도메인 네임, 상기 전자 서명, 상기 목적지 공개키 및 상기 사용 티켓을 포함하는 정보 요청 트랜잭션을 블록체인 네트워크로 발생시키는 단계;Generating, by the service server, an information request transaction including the personal domain name, the electronic signature, the destination public key and the usage ticket to a blockchain network;
    상기 블록체인 네트워크가, 상기 전자 서명을 검증하여 상기 전자 서명에서 상기 사용자 공개키를 추출하고, 상기 사용 티켓이 과거에 사용된 티켓보다 큰 값을 가지는지 여부를 검증하는 단계;Verifying, by the blockchain network, the electronic signature to extract the user public key from the electronic signature, and verifying whether the usage ticket has a value greater than a ticket used in the past;
    상기 블록체인 네트워크가, 상기 사용 티켓의 검증에 성공하면, 상기 개인 도메인 네임, 상기 목적지 공개키 및 상기 사용자 공개키를 포함하는 블록을 블록체인에서 확인하고, 이 블록에서 부가 정보를 추출하는 단계; 및Checking, by the blockchain network, a block including the private domain name, the destination public key, and the user public key in a blockchain, and extracting additional information from the block if the verification of the use ticket is successful; And
    상기 서비스 서버가, 상기 부가 정보를 상기 블록체인 네트워크로부터 수신하는 단계;를 포함하는 개인 도메인 네임 서비스 방법.Receiving, by the service server, the additional information from the blockchain network.
  4. 제3항에 있어서,The method of claim 3,
    상기 블록체인 네트워크가, 상기 사용 티켓의 검증에 성공하면, 상기 정보 요청 트랜잭션을 포함하는 블록을 생성하여 기존의 블록과 연결시키는 단계;를 포함하는 것을 특징으로 하는 개인 도메인 네임 서비스 방법.And if the blockchain network succeeds in verifying the usage ticket, generating a block including the information request transaction and connecting the existing block to an existing block.
  5. 제3항에 있어서,The method of claim 3,
    도메인 관리 서버가, 개인 도메인 네임, 부가 정보, 목적지 공개키 및 전자 서명이 포함된 도메인 등록 요청 메시지를 상기 사용자 단말로부터 수신하는 단계;Receiving, by the domain management server, a domain registration request message including a personal domain name, additional information, a destination public key, and an electronic signature from the user terminal;
    상기 도메인 관리 서버가, 상기 개인 도메인 네임, 상기 목적지 공개키, 상기 부가 정보 및 상기 전자 서명을 포함하는 도메인 등록 트랜잭션을 상기 블록체인 네트워크에 발생시키는 단계; 및Generating, by the domain management server, a domain registration transaction in the blockchain network including the private domain name, the destination public key, the additional information, and the electronic signature; And
    상기 블록체인 네트워크가, 상기 도메인 등록 트랜잭션에 포함된 전자 서명을 검증하여 사용자 공개키를 획득하고, 상기 사용자 공개키, 상기 개인 도메인 네임, 상기 목적지 공개키 및 상기 부가 정보가 포함된 신규 블록을 생성하여 상기 블록체인에 저장하는 단계;를 더 포함하는 개인 도메인 네임 서비스 방법.The blockchain network obtains a user public key by verifying an electronic signature included in the domain registration transaction, and generates a new block including the user public key, the private domain name, the destination public key, and the additional information. Storing in the blockchain;
  6. 제5항에 있어서,The method of claim 5,
    상기 블록체인에 저장하는 단계는,The step of storing in the blockchain,
    상기 블록체인 네트워크가, 상기 개인 도메인 네임, 상기 목적지 공개키 및 상기 사용자 공개키를 포함하는 블록이 블록체인에 이미 저장되어 있는지 여부를 확인하여 저장되지 않으면, 상기 신규 블록을 생성하여 상기 블록체인에 저장하는 특징으로 하는 개인 도메인 네임 서비스 방법.If the blockchain network does not check whether the block including the private domain name, the destination public key, and the user public key is already stored in the blockchain, the blockchain network generates the new block and generates the new block in the blockchain. Personal domain name service method characterized in that the storage.
  7. 제3항에 있어서,The method of claim 3,
    상기 정보 요청 트랜잭션을 블록체인 네트워크로 발생시키는 단계는, The step of generating the information request transaction to the blockchain network,
    상기 서비스 서버가, 상기 전자 서명, 상기 목적지 공개키 및 상기 사용 티켓이 약속된 포맷으로 변환되어 있는지 여부를 검사하여, 검사에 성공한 경우 상기 정보 요청 트랜잭션을 블록체인 네트워크로 발생시키는 것을 특징으로 하는 개인 도메인 네임 서비스 방법.Wherein the service server checks whether the electronic signature, the destination public key, and the usage ticket are converted into a promised format, and if the check is successful, generates the information request transaction to the blockchain network. Domain Name Service Method.
  8. 제1항에 있어서,The method of claim 1,
    상기 수신하는 단계는, The receiving step,
    상기 도메인 질의 메시지에 개인 도메인 코드가 포함되는 경우, 상기 서비스 서버가 도메인 네임 서비스 서버로부터 상기 도메인 질의 메시지를 수신하는 것을 특징으로 하는 개인 도메인 네임 서비스 방법.When the domain query message includes a personal domain code, the service server receives the domain query message from a domain name service server.
  9. 개인 도메인 네임을 이용하여 사설 네트워크의 접속을 제어하는 방법으로서,A method of controlling access to a private network using a private domain name,
    서비스 서버가, 통신 단말에서 전송된 개인 도메인 네임과 전자 서명을 포함하는 도메인 질의 메시지를 수신하는 단계;Receiving, by the service server, a domain query message including a personal domain name and an electronic signature sent from the communication terminal;
    상기 전자 서명의 검증에 성공하면, 상기 서비스 서버가 상기 개인 도메인 네임과 하나 이상의 공개키와 대응되는 사설 네트워크의 접속 주소를 획득하는 단계; 및If the electronic signature is successfully verified, acquiring, by the service server, a connection address of a private network corresponding to the private domain name and at least one public key; And
    상기 서비스 서버가, 상기 사설 네트워크의 접속 주소를 상기 도메인 응답으로서 상기 통신 단말로 전송하는 단계;를 포함하는 접속 제어 방법.Sending, by the service server, the access address of the private network to the communication terminal as the domain response.
  10. 제9항에 있어서,The method of claim 9,
    상기 전송하는 단계 이후에,After the transmitting step,
    상기 사설 네트워크에 포함된 보안 장치가, 사용 티켓이 포함된 접속 요청 메시지를 상기 통신 단말로부터 수신하는 단계;Receiving, by the security device included in the private network, a connection request message including a usage ticket from the communication terminal;
    상기 보안 장치가, 상기 사용 티켓이 저장중인 사용 티켓보다 큰 값을 가지는지 여부를 검증하는 단계; 및Verifying, by the security device, whether the usage ticket has a value greater than a usage ticket being stored; And
    상기 보안 장치가 상기 사용 티켓의 검증에 성공하면, 상기 통신 단말에 대한 사설 네트워크 접속을 허용하는 단계;를 더 포함하는 것을 특징으로 하는 접속 제어 방법.And if the security device succeeds in verifying the usage ticket, allowing a private network connection to the communication terminal.
  11. 제9항에 있어서,The method of claim 9,
    상기 보안 장치가, 상기 접속 요청 메시지에서 토큰을 확인하고, 상기 토큰이 블록체인 네트워크에서 발행된 토큰과 일치하는지 여부를 검증하는 단계; 및Checking, by the security device, a token in the connection request message and verifying whether the token matches a token issued in a blockchain network; And
    상기 보안 장치가 상기 토큰의 검증에 성공하면, 상기 통신 단말에 대한 사설 네트워크 접속을 허용하는 단계;를 더 포함하는 것을 특징으로 하는 접속 제어 방법.And if the security device succeeds in verifying the token, allowing a private network connection to the communication terminal.
  12. 제9항에 있어서,The method of claim 9,
    상기 접속 주소를 획득하는 단계는,Obtaining the access address,
    상기 통신 단말의 공개키가 상기 사설 네트워크로의 접속 가능한 통신 단말의 공개키로 이미 등록되어 있는지 여부를 검증하여, 검증에 성공하면 사설 네트워크의 접속 주소를 획득하는 것을 특징으로 하는 접속 제어 방법.And verifying whether the public key of the communication terminal is already registered with the public key of the communication terminal accessible to the private network, and if the verification is successful, obtains the access address of the private network.
  13. 제12항에 있어서,The method of claim 12,
    상기 접속 주소를 획득하는 단계는,Obtaining the access address,
    상기 서비스 서버가 상기 개인 도메인 네임, 전자 서명 및 상기 보안 장치의 공개키를 포함하는 정보 요청 트랜잭션을 블록체인 네트워크로 발생시키는 단계;Generating, by the service server, an information request transaction including the private domain name, the electronic signature, and the public key of the security device to a blockchain network;
    상기 블록체인 네트워크가, 상기 전자 서명을 검증하여 상기 통신 단말의 공개키를 획득하고, 상기 개인 도메인 네임, 상기 통신 단말의 공개키를 포함하는 블록을 확인하는 단계; 및Verifying, by the blockchain network, a block including the private domain name and the public key of the communication terminal by obtaining the public key of the communication terminal by verifying the electronic signature; And
    상기 블록체인 네트워크가, 상기 확인한 블록에서 상기 통신 단말의 공개키가 관리자용 공개키 또는 접근 허락된 공개키로 저장되어 있는지 여부를 확인하여 저장되어 있으면, 상기 블록에서 상기 사설 네트워크의 접속 주소를 획득하여, 상기 서비스 서버로 전송하는 단계;를 포함하는 접속 제어 방법.If the blockchain network checks whether or not the public key of the communication terminal is stored as an administrator public key or an accessible public key in the checked block, and obtains the access address of the private network from the block, And transmitting to the service server.
  14. 제12항에 있어서,The method of claim 12,
    도메인 관리 서버가, 상기 개인 도메인 네임, 상기 보안 장치의 공개키 및 상기 통신 단말의 공개키가 포함된 디바이스 추가 요청 메시지를 관리자 단말로부터 수신하는 단계;Receiving, by a domain management server, a device addition request message including the private domain name, the public key of the security device, and the public key of the communication terminal from an administrator terminal;
    상기 도메인 관리 서버가, 상기 개인 도메인 네임, 상기 보안 장치의 공개키 및 상기 통신 단말의 공개키를 포함하는 디바이스 추가 트랜잭션을 블록체인 네트워크로 발생시키는 단계; 및Generating, by the domain management server, a device addition transaction including the private domain name, the public key of the security device, and the public key of the communication terminal to a blockchain network; And
    상기 블록체인 네트워크가, 상기 관리자 단말의 공개키를 확인하고, 이 공개키가 관리자용 공개키로 설정되어 있는지 여부를 검증하여 검증에 성공하면, 상기 디바이스 추가 트랜잭션을 포함하는 신규 블록을 생성하여 상기 블록체인에 저장하는 단계;를 더 포함하는 접속 제어 방법.If the blockchain network confirms the public key of the manager terminal, verifies whether the public key is set as a manager public key, and successfully verifies, the blockchain network generates a new block including the device addition transaction. Storing in the chain.
  15. 제9항에 있어서,The method of claim 9,
    상기 접속 주소를 획득하는 단계는,Obtaining the access address,
    상기 서비스 서버가, 상기 개인 도메인 네임, 상기 보안 장치의 공개키 및 상기 전자 서명을 포함하는 정보 요청 트랜잭션을 블록체인 네트워크로 발생시키는 단계;Generating, by the service server, an information request transaction including the private domain name, the public key of the security device, and the electronic signature to a blockchain network;
    상기 블록체인 네트워크가, 상기 전자 서명을 검증하여 상기 통신 단말의 공개키를 획득하고, 상기 개인 도메인 네임, 상기 보안 장치의 공개키 및 상기 통신 단말의 공개키를 포함하는 블록을 확인하고, 이 블록에서 상기 사설 네트워크의 접속 주소 정보를 추출하는 단계; 및The blockchain network verifies the electronic signature to obtain a public key of the communication terminal, identifies a block including the private domain name, the public key of the security device, and the public key of the communication terminal, Extracting access address information of the private network in a; And
    상기 서비스 서버가, 사설 네트워크의 접속 주소를 상기 블록체인 네트워크로부터 수신하는 단계;를 포함하는 접속 제어 방법.Receiving, by the service server, a connection address of a private network from the blockchain network.
  16. 개인 도메인 네임을 이용하여 사설 네트워크의 접속을 제어하는 시스템으로서,A system for controlling access to a private network using a private domain name,
    통신 단말에서 전송된 개인 도메인 네임을 포함하는 도메인 질의 메시지를 수신하면, 상기 개인 도메인 네임과 하나 이상의 공개키와 대응되는 사설 네트워크의 접속 주소를 획득하여, 상기 사설 네트워크로의 접속 주소를 상기 도메인 응답으로서 상기 통신 단말로 전송하는 서비스 서버; 및Upon receiving a domain query message including a private domain name transmitted from a communication terminal, obtains a connection address of a private network corresponding to the private domain name and at least one public key, and transmits a connection address to the private network to the domain response. A service server for transmitting to the communication terminal; And
    상기 사설 네트워크의 보안을 담당하며, 상기 접속 주소로 접속한 상기 통신 단말을 검증하고, 상기 통신 단말의 검증에 성공한 경우, 상기 통신 단말에 대한 사설 네트워크 접속을 허용하는 보안 장치;를 포함하는 접속 제어 시스템.A security device that is responsible for security of the private network, verifies the communication terminal connected to the access address, and, if the verification of the communication terminal succeeds, permits private network access to the communication terminal; system.
  17. 제16항에 있어서,The method of claim 16,
    상기 보안 장치는, The security device,
    상기 통신 단말로부터 토큰을 수신하고, 상기 토큰이 블록체인 네트워크에서 발행된 토큰과 일치하는지 여부를 확인하여 상기 통신 단말을 검증하는 것을 특징으로 하는 접속 제어 시스템.Receiving a token from the communication terminal and verifying whether the token matches a token issued in a blockchain network to verify the communication terminal.
  18. 제17항에 있어서,The method of claim 17,
    상기 보안 장치는,The security device,
    상기 통신 단말의 공개키, 상기 보안 장치의 공개키 및 상기 개인 도메인 네임를 포함하는 블록에서 추출된 토큰을 상기 블록체인 네트워크로부터 수신하고, 상기 블록체인 네트워크로부터 수신한 토큰과 상기 통신 단말로부터 수신한 토큰이 일치하는지 여부를 검증하는 것을 특징으로 하는 접속 제어 시스템.A token extracted from the block including the public key of the communication terminal, the public key of the security device, and the private domain name is received from the blockchain network, a token received from the blockchain network, and a token received from the communication terminal. Access control system, characterized in that to verify whether or not the match.
  19. 제16항에 있어서,The method of claim 16,
    상기 통신 단말의 공개키가 상기 사설 네트워크로의 접속 가능한 통신 단말의 공개키로 이미 블록체인에 등록되어 있는지 여부를 검증하여, 검증에 성공하면 사설 네트워크의 접속 주소를 상기 블록체인으로부터 획득하는 것을 특징으로 하는 접속 제어 시스템.Verify whether the public key of the communication terminal is already registered in the blockchain with the public key of the communication terminal accessible to the private network, and if the verification is successful, obtain the access address of the private network from the blockchain. Access control system.
  20. 제19항에 있어서,The method of claim 19,
    상기 서비스 서버에서 상기 개인 도메인 네임, 전자 서명 및 상기 보안 장치의 공개키를 포함하는 정보 요청 트랜잭션을 발생시키면, 상기 전자 서명을 검증하여 상기 통신 단말의 공개키를 획득하고, 상기 개인 도메인 네임, 상기 통신 단말의 공개키를 포함하는 블록을 확인하고, 이 블록에서 상기 통신 단말의 공개키가 관리자용 공개키 또는 접근 허락된 공개키로 저장되어 있는지 여부를 확인하여 저장되어 있으면, 상기 블록에서 상기 사설 네트워크의 접속 주소를 획득하여, 상기 서비스 서버로 전송하는 블록체인 네트워크;를 더 포함하는 것을 특징으로 하는 접속 제어 시스템.When the service server generates an information request transaction including the private domain name, the electronic signature, and the public key of the security device, the electronic signature is verified to obtain the public key of the communication terminal, and the private domain name, the Check the block including the public key of the communication terminal, and if the public key of the communication terminal is stored as an administrator public key or an authorized public key in the block, and if it is stored, in the block the private network And a blockchain network for obtaining an access address of the access address and transmitting the access address to the service server.
PCT/KR2019/005733 2018-05-16 2019-05-13 Method for providing personal domain name service, and access control method and system using personal domain name WO2019221468A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2018-0056194 2018-05-16
KR20180056194 2018-05-16
KR10-2019-0054985 2019-05-10
KR1020190054985A KR102303273B1 (en) 2018-05-16 2019-05-10 Method for private domain name service and method and system for controlling connection using private domain name

Publications (1)

Publication Number Publication Date
WO2019221468A1 true WO2019221468A1 (en) 2019-11-21

Family

ID=68540579

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/005733 WO2019221468A1 (en) 2018-05-16 2019-05-13 Method for providing personal domain name service, and access control method and system using personal domain name

Country Status (1)

Country Link
WO (1) WO2019221468A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111507815A (en) * 2020-04-20 2020-08-07 腾讯科技(深圳)有限公司 Block chain based information acquisition method, device, equipment and storage medium
CN113055359A (en) * 2021-02-25 2021-06-29 国网信息通信产业集团有限公司 IPv6 domain name data privacy protection method based on block chain and related equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130173769A1 (en) * 2011-12-30 2013-07-04 Time Warner Cable Inc. System and method for resolving a dns request using metadata
KR101534819B1 (en) * 2014-05-09 2015-07-27 주식회사에어플러그 Method for providing different address information selectively on request from a mobile terminal and an apparatus for said method
KR101652846B1 (en) * 2016-01-21 2016-09-02 고려대학교 산학협력단 Certificateless public key cryptography based authentication method
KR20180035473A (en) * 2016-09-29 2018-04-06 주식회사 케이티 System and method for Controlling Network Access
KR20180050476A (en) * 2016-11-04 2018-05-15 주식회사 시큐아이 Network security method and apparatus thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130173769A1 (en) * 2011-12-30 2013-07-04 Time Warner Cable Inc. System and method for resolving a dns request using metadata
KR101534819B1 (en) * 2014-05-09 2015-07-27 주식회사에어플러그 Method for providing different address information selectively on request from a mobile terminal and an apparatus for said method
KR101652846B1 (en) * 2016-01-21 2016-09-02 고려대학교 산학협력단 Certificateless public key cryptography based authentication method
KR20180035473A (en) * 2016-09-29 2018-04-06 주식회사 케이티 System and method for Controlling Network Access
KR20180050476A (en) * 2016-11-04 2018-05-15 주식회사 시큐아이 Network security method and apparatus thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111507815A (en) * 2020-04-20 2020-08-07 腾讯科技(深圳)有限公司 Block chain based information acquisition method, device, equipment and storage medium
CN113055359A (en) * 2021-02-25 2021-06-29 国网信息通信产业集团有限公司 IPv6 domain name data privacy protection method based on block chain and related equipment
CN113055359B (en) * 2021-02-25 2023-01-31 国网信息通信产业集团有限公司 IPv6 domain name data privacy protection method based on block chain and related equipment

Similar Documents

Publication Publication Date Title
WO2014171797A1 (en) File security method and apparatus for same
WO2013162296A1 (en) Passcode operating system, passcode apparatus, and super-passcode generating method
WO2021002692A1 (en) Method for providing virtual asset service based on decentralized identifier and virtual asset service providing server using them
WO2018101727A1 (en) Personal information infringement prevention method and system, in which biometric authentication and phase division of authentication process are combined
WO2014104507A1 (en) System and method for secure login, and apparatus for same
WO2017111383A1 (en) Biometric data-based authentication device, control server linked to same, and biometric data-based login method for same
WO2022102930A1 (en) Did system using browser-based security pin authentication and control method thereof
WO2013157864A1 (en) Method for authenticating user using icon combined with input pattern, and password input device
WO2020040525A1 (en) Method and apparatus for authenticating biometric information
WO2014185594A1 (en) Single sign-on system and method in vdi environment
WO2014030889A1 (en) Method and apparatus for sharing content
WO2019221468A1 (en) Method for providing personal domain name service, and access control method and system using personal domain name
WO2014058130A1 (en) Method of controlling access to network drive, and network drive system
WO2020186775A1 (en) Service data providing method, apparatus and device, and computer-readable storage medium
WO2012099330A2 (en) System and method for issuing an authentication key for authenticating a user in a cpns environment
WO2017105072A1 (en) Authentication device on the basis of biometric information and operation method therefor
WO2017111483A1 (en) Biometric data-based authentication device, control server and application server linked to same, and method for operating same
WO2014104539A1 (en) Method and apparatus for managing passcode
WO2015199271A1 (en) Method and system for sharing files over p2p
WO2021080316A1 (en) Method and device for performing access control by using authentication certificate based on authority information
WO2020022700A1 (en) Secure element for processing and authenticating digital key and operation method therefor
WO2020122368A1 (en) System and method for securing and managing data in storage device by using secure terminal
WO2015046954A1 (en) Apparatus and method for accessing electronic device having hot spot function
WO2022045691A1 (en) Method for mediating virtual asset transmission
WO2018032583A1 (en) Method and apparatus for acquiring location information of terminal

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

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

Country of ref document: EP

Kind code of ref document: A1