KR102303273B1 - 개인 도메인 네임 서비스 방법 및 개인 도메인 네임을 이용한 접속 제어 방법과 시스템 - Google Patents

개인 도메인 네임 서비스 방법 및 개인 도메인 네임을 이용한 접속 제어 방법과 시스템 Download PDF

Info

Publication number
KR102303273B1
KR102303273B1 KR1020190054985A KR20190054985A KR102303273B1 KR 102303273 B1 KR102303273 B1 KR 102303273B1 KR 1020190054985 A KR1020190054985 A KR 1020190054985A KR 20190054985 A KR20190054985 A KR 20190054985A KR 102303273 B1 KR102303273 B1 KR 102303273B1
Authority
KR
South Korea
Prior art keywords
public key
domain name
domain
communication terminal
private
Prior art date
Application number
KR1020190054985A
Other languages
English (en)
Other versions
KR20190131434A (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
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to PCT/KR2019/005733 priority Critical patent/WO2019221468A1/ko
Publication of KR20190131434A publication Critical patent/KR20190131434A/ko
Application granted granted Critical
Publication of KR102303273B1 publication Critical patent/KR102303273B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • H04L61/1511
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 개인 도메인 기술에 이용하여, 개인 도메인과 매칭되는 부가 정보를 추출하여 제공하는 개인 도메인 네임 서비스 방법과 시스템에 관한 것이다. 본 발명의 일 실시예에 따른 부가 정보를 획득할 수 있는 개인 도메인 서비스를 제공하는 방법은, 서비스 서버가, 사용자 단말에서 전송된 개인 도메인 네임과 전자 서명을 포함하는 도메인 질의 메시지를 수신하는 단계; 상기 전자 서명의 검증에 성공하면, 상기 서비스 서버가 상기 개인 도메인 네임 및 하나 이상의 공개키와 대응되는 부가 정보를 획득하는 단계; 및 상기 서비스 서버가, 상기 부가 정보를 상기 도메인 응답으로서 상기 사용자 단말로 전송하는 단계를 포함한다.

Description

개인 도메인 네임 서비스 방법 및 개인 도메인 네임을 이용한 접속 제어 방법과 시스템{Method for private domain name service and method and system for controlling connection using private domain name}
본 발명은 개인 도메인 기술에 이용하여, 개인 도메인 네임과 매칭되는 부가 정보를 추출하여 제공하는 개인 도메인 네임 서비스 방법과 시스템에 관한 것이다.
도메인 네임 서비스란 영문으로 기록된 도메인 네임을 숫자 형태의 IP(Internet Protocol) 주소로 변경하여 제공하는 서비스로서, 현재 인터넷에서 통용되는 공지된 서비스에 해당한다. 이러한 도메인 네임 서비스를 제공하기 위하여, 도메인 네임 서버가 네트워크 상에 구축되고, 이 도메인 네임 서버는 도메인 네임 질의에 대한 응답으로 IP 주소를 단말로 전달한다. 나아가 기존의 영문으로 설정된 도메인 네임 대신에 다른 언어로 표현된 도메인 네임을 이용할 수 있는 기술도 개발되었다. 아래의 특허문헌은 인터넷상에서 사용자가 원하는 언어로 도메인 이름들을 사용하기 위한 시스템에 관하여 개시한다.
그런데 이러한 도메인 네임은 공식적으로 통용되는 것으로서, 사용자만을 위하여 특화되지 않는 문제점이 있다. 특히, 기업과 단체들의 도메인 네임 선정으로 인하여, 외우기 쉽고 접근하기 쉬운 도메인 네임을 사용자들이 이용하지 못하는 문제점도 있다.
또한, 기존의 도메인 네임은 단지 IP 주소만을 응답하는 단순한 형태로서, 보안적인 측면에서도 문제점이 발생할 수 있다. 예컨대, 도메인 네임을 통해서 IP 주소가 획득되면, 이 IP 주소로 해킹, 디도스 공격 등이 시도될 수 있다.
한국공개특허공보 제10-2001-0066754호 (2001.07.11 공개)
본 발명은 이러한 문제점을 해결하기 위하여 제안된 것으로, 개인만을 위한 개인 도메인 네임을 등록하고, 이 개인 도메인 네임과 서비스 코드를 토대로 사용자를 인증하여 인증에 성공한 사용자의 단말로 부가 정보를 제공하는 개인 도메인 네임 서비스 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 개인 도메인 네임을 기반으로 통신 장치의 사설 네트워크 접근을 선택적으로 허락하는 접속 제어 방법 및 시스템을 제공하는데 다른 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 제1측면에 따른, 부가 정보를 획득할 수 있는 개인 도메인 서비스를 제공하는 방법은, 서비스 서버가, 사용자 단말에서 전송된 개인 도메인 네임과 전자 서명을 포함하는 도메인 질의 메시지를 수신하는 단계; 상기 전자 서명의 검증에 성공하면, 상기 서비스 서버가 상기 개인 도메인 네임 및 하나 이상의 공개키와 대응되는 부가 정보를 획득하는 단계; 및 상기 서비스 서버가, 상기 부가 정보를 상기 도메인 응답으로서 상기 사용자 단말로 전송하는 단계를 포함한다.
상기 도메인 질의 메시지에는 사용 티켓과 목적지 공개키가 포함될 수 있다. 이 경우, 상기 부가 정보를 획득하는 단계는 상기 사용 티켓의 검증에 성공하면, 상기 서비스 서버가 목적지 공개키, 사용자 공개키 및 상기 개인 도메인 네임과 대응되는 상기 부가 정보를 획득할 수 있다.
상기 부가 정보를 획득하는 단계는, 상기 서비스 서버가, 상기 개인 도메인 네임, 상기 전자 서명, 상기 목적지 공개키 및 상기 사용 티켓을 포함하는 정보 요청 트랜잭션을 블록체인 네트워크로 발생시키는 단계; 상기 블록체인 네트워크가, 상기 전자 서명을 검증하여 상기 전자 서명에서 상기 사용자 공개키를 추출하고, 상기 사용 티켓이 과거에 사용된 티켓보다 큰 값을 가지는지 여부를 검증하는 단계; 상기 블록체인 네트워크가, 상기 사용 티켓의 검증에 성공하면, 상기 개인 도메인 네임, 상기 목적지 공개키 및 상기 사용자 공개키를 포함하는 블록을 블록체인에서 확인하고, 이 블록에서 부가 정보를 추출하는 단계; 및 상기 서비스 서버가, 상기 부가 정보를 상기 블록체인 네트워크로부터 수신하는 단계를 포함할 수 있다.
상기 방법은, 도메인 관리 서버가, 개인 도메인 네임, 부가 정보, 목적지 공개키 및 전자 서명이 포함된 도메인 등록 요청 메시지를 상기 사용자 단말로부터 수신하는 단계; 상기 도메인 관리 서버가, 상기 개인 도메인 네임, 상기 목적지 공개키, 상기 부가 정보 및 상기 전자 서명을 포함하는 도메인 등록 트랜잭션을 상기 블록체인 네트워크에 발생시키는 단계; 및 상기 블록체인 네트워크가, 상기 도메인 등록 트랜잭션에 포함된 전자 서명을 검증하여 사용자 공개키를 획득하고, 상기 사용자 공개키, 상기 개인 도메인 네임, 상기 목적지 공개키 및 상기 부가 정보가 포함된 신규 블록을 생성하여 상기 블록체인에 저장하는 단계를 더 포함할 수 있다.
상기 블록체인에 저장하는 단계는, 상기 블록체인 네트워크가, 상기 개인 도메인 네임, 상기 목적지 공개키 및 상기 사용자 공개키를 포함하는 블록이 블록체인에 이미 저장되어 있는지 여부를 확인하여 저장되지 않으면, 상기 신규 블록을 생성하여 상기 블록체인에 저장할 수 있다.
상기 목적을 달성하기 위한 본 발명의 제2측면에 따른, 개인 도메인 네임을 이용하여 사설 네트워크의 접속을 제어하는 방법은, 서비스 서버가, 통신 단말에서 전송된 개인 도메인 네임과 전자 서명을 포함하는 도메인 질의 메시지를 수신하는 단계; 상기 전자 서명의 검증에 성공하면, 상기 서비스 서버가 상기 개인 도메인 네임과 하나 이상의 공개키와 대응되는 사설 네트워크의 접속 주소를 획득하는 단계; 및 상기 서비스 서버가, 상기 사설 네트워크의 접속 주소를 상기 도메인 응답으로서 상기 통신 단말로 전송하는 단계를 포함한다.
상기 방법은, 상기 전송하는 단계 이후에, 상기 사설 네트워크에 포함된 보안 장치가, 사용 티켓이 포함된 접속 요청 메시지를 상기 통신 단말로부터 수신하는 단계; 상기 보안 장치가, 상기 사용 티켓이 저장중인 사용 티켓보다 큰 값을 가지는지 여부를 검증하는 단계; 및 상기 보안 장치가 상기 사용 티켓의 검증에 성공하면, 상기 통신 단말에 대한 사설 네트워크 접속을 허용하는 단계를 더 포함한다.
상기 보안 장치가, 상기 접속 요청 메시지에서 토큰을 확인하고, 상기 토큰이 블록체인 네트워크에서 발행된 토큰과 일치하는지 여부를 검증할 수 있다.
상기 접속 주소를 획득하는 단계는, 상기 통신 단말의 공개키가 상기 사설 네트워크로의 접속 가능한 통신 단말의 공개키로 이미 등록되어 있는지 여부를 검증하여, 검증에 성공하면 사설 네트워크의 접속 주소를 획득할 수 있다.
상기 접속 주소를 획득하는 단계는, 상기 서비스 서버가 상기 개인 도메인 네임, 전자 서명 및 상기 보안 장치의 공개키를 포함하는 정보 요청 트랜잭션을 블록체인 네트워크로 발생시키는 단계; 상기 블록체인 네트워크가, 상기 전자 서명을 검증하여 상기 통신 단말의 공개키를 획득하고, 상기 개인 도메인 네임, 상기 통신 단말의 공개키를 포함하는 블록을 확인하는 단계; 및 상기 블록체인 네트워크가, 상기 확인한 블록에서 상기 통신 단말의 공개키가 관리자용 공개키 또는 접근 허락된 공개키로 저장되어 있는지 여부를 확인하여 저장되어 있으면, 상기 블록에서 상기 사설 네트워크의 접속 주소를 획득하여, 상기 서비스 서버로 전송하는 단계를 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 제3측면에 따른, 개인 도메인 네임을 이용하여 사설 네트워크의 접속을 제어하는 시스템은, 통신 단말에서 전송된 개인 도메인 네임을 포함하는 도메인 질의 메시지를 수신하면, 상기 개인 도메인 네임과 하나 이상의 공개키와 대응되는 사설 네트워크의 접속 주소를 획득하여, 상기 사설 네트워크로의 접속 주소를 상기 도메인 응답으로서 상기 통신 단말로 전송하는 서비스 서버; 및 상기 사설 네트워크의 보안을 담당하며, 상기 접속 주소로 접속한 상기 통신 단말을 검증하고, 상기 통신 단말의 검증에 성공한 경우, 상기 통신 단말에 대한 사설 네트워크 접속을 허용하는 보안 장치를 포함한다.
본 발명은 사용자가 개인 도메인 네임을 입력하면 사용자의 전자 서명을 검증하여 검증에 성공하면 사설 도메인 네임과 매칭되는 부가 정보를 사용자에게 제공하는 장점이 있다.
또한, 본 발명은 보다 사용하게 쉬운 개인 도메인 네임을 사용자에게 제공하고, 이 개인 도메인 네임을 기반으로 사용자에게 특화된 서비스를 제공할 수 있는 이점이 있다.
게다가, 본 발명은 기존의 공용 도메인 네임과의 중복되는 것과 관계없이 사용자만을 위한 개인 도메인 네임을 제공할 수 있어, 개인 도메인 네임을 사용하는데 있어서의 편의성을 극대화할 수 있는 이점이 있다.
또한, 본 발명은 개인 도메인 네임을 이용하여 통신 장치가 사설 네트워크에 접근하는 것을 선택적으로 허락함으로써, 사설 네트워크의 보안을 향상시키는데 일조할 수 있는 효과도 있다.
게다가, 본 발명은 개인 도메인 네임과 서비스 코드에 대해서 여러 차례 검증을 수행함으로써, 개인 도메인 네임 서비스에 대한 안정성을 강화시키는 장점도 있다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명을 실시하기 위한 구체적인 내용과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 제1실시예에 따른, 개인 도메인 네임 서비스 시스템의 구성을 나타내는 도면이다.
도 2는 본 발명의 제1실시예에 따른, 개인 도메인 네임을 등록하는 방법을 설명하는 흐름도이다.
도 3은 본 발명의 제1실시예에 따른, 도메인 질의에 대한 응답으로서 부가 정보를 제공하는 방법을 설명하는 흐름도이다.
도 4는 본 발명의 제2실시예에 따른, 접속 제어 시스템의 구성을 나타내는 도면이다.
도 5는 본 발명의 제2실시예에 따른, 사용자 단말과 보안 장치 간에 공개키를 공유하는 방법을 설명하는 흐름도이다.
도 6은 본 발명의 제2실시예에 따른, 개인 도메인 네임을 등록하는 방법을 설명하는 흐름도이다.
도 7은 본 발명의 제2실시예에 따른, 도메인 질의에 대한 응답으로서 사설 네트워크의 접속 주소를 제공하는 방법을 설명하는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른, 도메인 질의 응답에 기초하여 사용자 단말이 사설 네트워크로 접속하는 방법을 설명하는 흐름도이다.
도 9는 본 발명의 제3실시예에 따른, 관리자 단말에서 타 단말의 접속 권한을 등록하는 방법을 설명하는 흐름도이다.
도 10은 본 발명의 일 실시예에 따른, 사설 네트워크로 접근 허용된 타 단말이 사설 네트워크의 접속 주소를 획득하는 방법을 설명하는 흐름도이다.
도 11은 본 발명의 일 실시예에 따른, 사설 네트워크로 접근 허용된 타 단말이 사설 네트워크로 접속하는 방법을 설명하는 흐름도이다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 제1실시예에 따른, 개인 도메인 네임 서비스 시스템의 구성을 나타내는 도면이다.
도 1에 도시된 바와 같이, 본 발명의 제1실시예에 따른 개인 도메인 서비스 시스템은, 사용자 단말(100), 도메인 관리 서버(200), 서비스 서버(300), DNS 서버(Domain Name Service Server)(400) 및 블록체인 네트워크(500)를 포함한다.
사용자 단말(100), DNS 서버(400), 서비스 서버(300), 도메인 관리 서버(200) 각각은 통신망(600)을 통해서 서로 통신한다. 상기 통신망(600)은 이동통신망과 유선 통신망을 포함한다. 블록체인 네트워크(500)도 통신망(600)을 통해 도메인 관리 서버(200) 및 서비스 서버(300)와 통신할 수 있고, 또는 또 다른 통신망을 통해 통신할 수도 있다.
블록체인 네트워크(500)는 복수의 노드들이 연결되어 있으며, 트랜잭션에 대한 검증을 수행한다. 또한, 블록체인 네트워크(500)에 속하는 각 노드들은 트랜잭션이 발생하면, 이 트랜잭션에 대한 검증을 수행한다. 또한, 블록체인 네트워크(500)에 포함된 각 노드들은 트랜잭션이 기록되며 블록 간에 연결 구조를 가지는 블록체인을 서로 공유한다. 상기 트랜잭션은 개인 도메인 네임이 등록/삭제/변경되거나, 부가 정보를 요청할 때 발생된다. 또한, 상기 블록에는 하나 이상의 공개키, 부가 정보, 개인 도메인 네임, 사용 티켓 및 전자 서명이 포함될 수 있다. 상기 사용 티켓은 현재 년도, 날짜 및 시각을 기반으로 생성된 정보로서, 현재 년도, 날짜와 시각이 나열된 시각 정보일 수 있다, 특히, 미래에 생성되는 사용 티켓이 과거에 생성된 사용 티켓보다 큰 값을 가진다.
상기 블록체인 네트워크(500)에서 부가 정보를 요청하는 트랜잭션이 발생되면, 블록체인 네트워크(500)에 포함된 각 노드들은 상기 트랜잭션을 검증하고, 검증에 성공하는 경우 개인 도메인 네임과 하나 이상의 공개키와 대응되는 부가 정보를 블록체인에서 추출하여 도메인 관리 서버(200)로 전송할 수 있다. 상기 부가 정보는 서비스 형태에 따라 인증 정보, IP 주소, 주소록, 복호키, 암호키 등 다양한 정보를 포함할 수 있다.
사용자 단말(100)은 스마트폰, 태블릿 컴퓨터, 개인용 컴퓨터, 서버 등과 같은 사용자가 소유한 통신 장치이다. 상기 사용자 단말(100)에는 개인 도메인 서비스를 위한 개인 도메인 애플리케이션(110)이 설치된다. 상기 개인 도메인 애플리케이션(110)은 사용자 전용의 개인키와 공개키를 생성한다. 사용자는 상기 개인 도메인 애플리케이션(110)을 이용하여 개인 도메인 네임을 등록할 수 있다. 이때, 개인 도메인 애플리케이션(110)은 도메인 관리 서버(200)를 통해서 전자 서명, 목적지 공개키, 개인 도메인 네임 및 부가 정보가 포함된 트랜잭션을 발생시키고, 이 트랜잭션을 포함하는 블록을 블록체인 네트워크(500)에 등록할 수 있다. 또한, 사용자 단말(100)의 개인 도메인 애플리케이션(110)은 상기 개인 도메인 네임을 토대로, 부가 정보를 획득할 수도 있다.
DNS 서버(400)는 도메인 네임과 대응되는 IP 주소를 제공하는 기능을 수행한다. 특히, DNS 서버(400)는 도메인 네임 질의에서 도메인 네임을 확인하고, 이 도메인 네임에서 개인 도메인을 나타내는 코드(이하, '개인 도메인 코드'로 지칭함)가 포함된 경우, 상기 도메인 네임 질의를 서비스 서버(300)로 전달한다.
서비스 서버(300)는 개인 도메인 네임 서비스를 제공하는 서버로서, DNS 서버(400)로부터 개인 도메인 네임과 서비스 코드(예컨대, 16진수 문자열)가 포함된 도메인 네임 질의를 수신하면, 상기 개인 도메인 네임, 목적지 공개키 및 사용자 공개키와 대응하는 부가 정보를 블록체인 네트워크(500)에서 획득하고, 상기 획득한 부가 정보를 사용자 단말(100)로 제공한다. 여기서, 목적지 공개키는, 부가 정보가 이용되는 목적지 노드에서 배포하는 공개키로서, 예를 들어 부가 정보에 사설 네트워크의 보안 정보가 기록되는 경우 목적지 공개키는 사설 네트워크에 포함된 기기의 공개키일 수 있다. 상기 서비스 서버(300)는 상기 도메인 네임에 서비스 코드가 포함되어 있는지 여부를 검증하고, 검증에 성공하면 부가 정보를 요청하는 트랜잭션을 블록체인 네트워크(500)로 발생시킬 수 있다.
도메인 관리 서버(200)는 개인 도메인 네임을 블록체인 네트워크(500)에 등록하거나, 변경하거나 삭제하는 기능을 수행한다. 도메인 관리 서버(200)는 사용자 단말(100)의 개인 도메인 애플리케이션(110)으로부터 개인 도메인 네임에 대한 등록을 요청받으면, 사용자 개인키를 이용하여 생성된 전자 서명, 개인 도메인 네임, 목적지 공개키 및 부가 정보가 포함된 트랜잭션을 블록체인 네트워크(500)에 발생시킴으로써, 개인 도메인 네임을 블록체인 네트워크(500)에 등록할 수 있다.
상기 도메인 관리 서버(200)와 서비스 서버(300)는 서로 분리되어 구현되는 것으로 설명하였지만, 상기 도메인 관리 서버(200)와 서비스 서버(300)가 하나의 서버 형태로 통합되어 구현될 수도 있다.
도 2는 본 발명의 제1실시예에 따른, 개인 도메인 네임을 등록하는 방법을 설명하는 흐름도이다.
도 2를 참조하면, 개인 도메인 애플리케이션(110)은 사용자 전용의 개인키와 공개키를 생성한다(S201).
다음으로, 사용자로부터 도메인 네임을 입력받아, 상기 입력받은 도메인을 토대로 개인 도메인 네임을 생성한다(S203). 상기 개인 도메인 애플리케이션(110)은 사용자로부터 도메인 네임을 입력받으면, 도메인 네임 뒤에 개인 도메인 코드(예컨대, kt.tin)를 덧붙일 수 있다. 예컨대, 사용자가 'mycamera'라는 도메인 네임을 입력하는 경우, 개인 도메인 애플리케이션(110)은 상기 'mycaemra' 뒤에 개인 도메인 코드인 'kt.tin'를 덧붙어, 'mycaemra.kt.tin'이라는 개인 도메인 네임을 생성할 수 있다.
다음으로, 개인 도메인 애플리케이션(110)은 사용자로부터 부가 정보를 입력받거나 사용자 단말(100)에 저장된 부가 정보를 추출하여, 부가 정보를 획득할 수 있다(S205). 상기 부가 정보는, IP 주소, 인증 정보, 주소록, 복호키, 암호키, 목적지의 공개키 등과 같은 다양한 데이터일 수 있다.
이어서, 개인 도메인 애플리케이션(110)은 현재 날짜와 시각을 토대로 사용 티켓을 생성하고, 사용자 티켓을 전자 서명의 원문 데이터로서 선정하여, 상기 사용자 티켓을 사용자 개인키로 전자 서명을 수행한다(S207). 실시 형태에 따라, 개인 도메인 애플리케이션(110)은 상기 사용 티켓 이외에, 개인 도메인 네임, 부가 정보 중에서 하나 이상을 포함시켜 원문 데이터로서 선정하고, 이 선정한 원문 데이터를 상기 사용자 개인키로 전자 서명할 수도 있다. 또한, 개인 도메인 애플리케이션(110)은 부가 정보와 관련된 목적지의 공개키를 확인한다. 여기서, 목적지 공개키는, 부가 정보가 이용되는 노드에서 배포하는 공개키로서, 사용자 단말(100)은 사전에 목적지 공개키를 배포받아 저장하고, 상기 개인 도메인 애플리케이션(110)은 사전에 저장중인 목적지 공개키를 사용자 단말(100)에서 추출하여 확인할 수 있다.
이어서 개인 도메인 애플리케이션(110)은 상기 개인 도메인 네임, 사용 티켓, 목적지 공개키, 부가 정보 및 전자 서명이 포함된 도메인 등록 요청 메시지를 도메인 관리 서버(200)로 전송한다(S209).
그러면, 도메인 관리 서버(200)는 상기 개인 도메인 네임, 사용 티켓, 목적지 공개키, 부가 정보 및 전자 서명이 포함된 도메인 등록 트랜잭션을 블록체인 네트워크(500)로 발생시키고(S211), 블록체인 네트워크(500)에 포함된 각 노드들은 상기 도메인 등록 트랜잭션에 포함된 전자 서명을 검증하여 사용자의 공개키를 획득한다. 이때, 상기 블록체인 네트워크(500)에 포함된 각 노드들은, 전자 서명 검증 알고리즘을 통해서 전자 서명에서 사용자의 공개키를 획득할 수 있다. 상기 전자 서명 검증 알고리즘은 스마트 컨트랙트를 기초로 수행될 수 있다.
이어서, 블록체인 네트워크(500)에서 전자 서명 검증하여 사용자의 공개키를 획득하면, 각 노드들은 상기 개인 도메인 네임, 상기 사용자 공개키 및 상기 목적지 공개키 모두를 포함하는 블록이 블록체인에 저장되어 사용중인지 여부를 확인함으로써, 개인 도메인 네임에 대한 중복 체크를 수행한다(S213). 여기서, 개인 도메인 네임만을 중복 체크하는 것이 아니라 사용자 공개키, 목적지 공개키 및 개인 도메인 네임을 모두 가지고 있는 블록이 존재하는지 여부를 체크한다. 부연하면, 개인 도메인 네임은 동일하더라도 사용자 공개키, 목적지 공개키 중 어느 하나가 다르면, 본 서비스에서 사용될 수 있다. 즉, 본 발명에서는 사용자 공개키 또는 목적지 공개키가 서로 다른 경우에는, 동일한 개인 도메인이 사용자들간에 사용될 수 있다.
다음으로, 상기 중복 체크 결과, 사용자 공개키, 목적지 공개키 및 개인 도메인 네임 모두를 가지는 블록이 블록체인에 존재하여 이미 사용중에 있으면, 블록체인 네트워크(500)는 개인 도메인 네임이 중복됨을 도메인 관리 서버(200)로 알리고, 도메인 관리 서버(300)는 개인 도메인 네임의 재설정을 개인 도메인 애플리케이션(110)으로 요구한다.
반면에, 블록체인 네트워크(500)는 중복 체크 결과, 사용자 공개키, 목적지 공개키 및 개인 도메인 네임 모두를 가지는 블록이 블록체인에 존재하지 않으면, 상기 도메인 등록 트랜잭션을 가지는 블록을 생성하고, 이 생성한 블록을 기존 블록과 연결함으로써, 개인 도메인 네임과 사용자 공개키를 블록체인에 저장한다(S215). 그리고 블록체인 네트워크(500)는 트랜잭션 성공을 도메인 관리 서버(200)로 알린다(S217). 그러면, 도메인 관리 서버(200)는 도메인 등록 성공 응답을 개인 도메인 애플리케이션(110)으로 통보한다(S219). 상기 개인 도메인 애플리케이션(110)은 개인 도메인 네임이 정상적으로 등록되면, 사용자 단말(100)에 저장된 부가 정보를 삭제할 수 있다. 즉, 개인 도메인 애플리케이션(110)은 블록체인 네트워크(500)에 부가 정보가 개인 도메인 네임 및 목적지 공개키와 함께 등록되어 있으므로, 사용자 단말(100)에 보관된 부가 정보를 삭제할 수 있다.
개인 도메인 네임이 등록되면, 사용자는 개인 도메인 애플리케이션(110)을 이용하여, 개인 도메인 네임을 수정하거나 삭제할 수 있다. 개인 도메인 네임이 변경되면, 도 2와 유사한 절차를 통해서, 도메인 관리 서버(200)는 사용자 개인키로 서명된 전자 서명, 목적지 공개키, 기존의 개인 도메인 네임 및 변경된 개인 도메인 네임을 포함하는 도메인 변경 트랜잭션을 블록체인 네트워크(500)로 발생시킨다. 그러면, 블록체인 네트워크(500)에서 전자 서명 검증을 검증하여 성공하면(즉, 정상적으로 사용자 공개키를 전자 서명에서 획득하는 경우), 사용자 공개키, 목적지 공개키, 기존의 개인 도메인 네임 및 변경된 개인 도메인 네임을 이용하여, 상기 도메인 변경 트랜잭션에 포함된 개인 도메인 네임으로 기존의 개인 도메인 네임을 변경하는 블록을 생성하고, 이 블록과 기존의 블록을 연결하여 블록체인을 확장한다.
한편, 사용자가 개인 도메인 애플리케이션(110)을 이용하여 개인 도메인 네임을 삭제하면, 도메인 관리 서버(200)는 사용자 개인키로 서명된 전자 서명, 목적지 공개키 및 개인 도메인 네임을 포함하는 도메인 삭제 트랜잭션을 블록체인 네트워크(500)로 발생시킨다. 그러면, 블록체인 네트워크(500)는 전자 서명을 검증하여 성공하면(즉, 정상적으로 사용자 공개키를 전자 서명에서 획득하는 경우), 사용자 공개키, 목적지 공개키 및 개인 도메인 네임을 이용하여, 상기 개인 도메인 네임을 삭제하는 블록을 생성하고 기존의 블록과 연결하여 블록체인에 저장한다.
도 3은 본 발명의 제1실시예에 따른, 도메인 질의에 대한 응답으로서 부가 정보를 제공하는 방법을 설명하는 흐름도이다.
도 3을 참조하면, 개인 도메인 애플리케이션(110)은 사용자로부터 도메인 네임을 입력받아, 상기 입력받은 도메인 네임을 토대로 개인 도메인 네임을 생성한다(S301). 상기 개인 도메인 애플리케이션(110)은 사용자로부터 도메인 네임을 입력받으면, 도메인 네임 뒤에 개인 도메인의 서비스를 나타내는 개인 도메인 코드를 덧붙일 수 있다. 또한, 개인 도메인 애플리케이션(110)은 개인 도메인 네임과 관련된 목적지 공개키를 사용자 단말(100)에서 확인할 수 있다.
다음으로, 개인 도메인 애플리케이션(110)은 현재 날짜와 시각을 토대로 사용자 티켓을 생성한다(S303). 이어서, 개인 도메인 애플리케이션(110)은 사용 티켓을 사용자의 개인키로 전자 서명한다(S305). 실시 형태에 따라, 개인 도메인 애플리케이션(110)은 상기 사용 티켓 이외에 개인 도메인 네임도 포함시켜 원문 데이터로서 선정하고, 이 선정한 원문 데이터를 상기 사용자의 개인키로 전자 서명할 수도 있다.
다음으로, 개인 도메인 애플리케이션(110)은 상기 사용 티켓, 상기 목적지 공개키 및 전자 서명을 일정한 포맷(예컨대, 16진수 형태의 문자열)을 가지는 서비스 코드로 변환하고(S307), 이렇게 변환된 서비스 코드와 개인 도메인 네임이 포함된 도메인 질의 메시지를 DNS 서버(400)로 전송한다(S309).
그러면, DNS 서버(400)는 상기 도메인 질의 메시지에 개인 도메인 코드(예컨대, kt.tin)가 포함되어 있는지 여부를 확인한다(S311). 이어서, DNS 서버(400)는 도메인 질의 메시지에서 개인 도메인 코드가 포함되어 있지 않으면, 도메인 질의 메시지에 포함된 도메인 네임이 일반적으로 사용되는 공용 도메인 네임인 것으로 판단하여, 상기 도메인 네임과 대응되는 IP 주소를 확인하여 사용자 단말(100)로 전송한다. 반면에, DNS 서버(400)는 상기 도메인 질의 메시지에 개인 도메인 코드가 포함되어 있으면, 질의한 도메인 네임이 일반적으로 사용되지 않은 개인 도메인 네임인 것으로 판단하여, 상기 도메인 질의 메시지를 서비스 서버(300)로 전달한다(S313).
그러면, 서비스 서버(300)는 상기 도메인 질의 메시지에 포함된 서비스 코드와 개인 도메인 네임을 확인하고, 서비스 코드가 사전에 설정된 포맷으로 기록되어 있는지 여부를 검사한다(S315). 즉, 서비스 서버(300)는 상기 서비스 코드가 사전에 설정된 정상적인 범위의 자릿수인지 여부를 검사하고, 또한 서비스 코드가 사전에 설정된 포맷(예컨대, 16진수)으로 변환되어 있는지 여부를 검사한다. 서비스 서버(300)는 상기 서비스 코드의 검사에 실패하면, 사용자 단말(100)의 개인 도메인 애플리케이션(110)으로 개인 도메인 서비스를 제공할 수 없음을 알리는 실패 메시지를 전송한다. 반면에, 서비스 서버(300)는 상기 서비스 코드의 검사에 성공하면, 상기 서비스 코드와 개인 도메인 네임이 포함된 정보 요청 트랜잭션을 블록체인 네트워크(500)로 발생시킨다(S317).
그러면, 블록체인 네트워크(500)의 각 노드들은, 상기 정보 요청 트랜잭션에 포함된 서비스 코드를 원상태로 복원한다(S319). 즉, 블록체인 네트워크(500)의 각 노드들은 상기 서비스 코드로 변환되기 전의 상태로, 사용 티켓, 목적지 공개키 및 전자 서명을 복원한다. 상기 사용 티켓, 목적지 공개키 및 전자 서명을 복원하는 것은 스마트 컨트랙트를 토대로 수행될 수 있다.
다음으로, 블록체인 네트워크(500)의 각 노드들은, 상기 복원된 전자 서명을 검증하여, 상기 전자 서명에서 사용자 공개키를 추출한다(S321). 이때, 블록체인 네트워크(500)는 전자 서명을 사전에 설정된 서명 검증 알고리즘에 적용하여, 전자 서명으로부터 사용자 공개키를 획득할 수 있다.
블록체인 네트워크(500)의 각 노드들은 전자 서명 검증에 성공하여 사용자 공개키를 획득하면, 상기 복원한 사용 티켓(즉, 정보 요청 트랜잭션에 포함된 사용 티켓)을 확인하고, 사용자 공개키, 목적지 공개키 및 상기 개인 도메인 네임을 포함하는 가장 최근에 저장된 블록을 블록체인에서 확인하고, 가장 최근에 저장된 블록에 포함된 사용 티켓과 수신한 정보 요청 트랜잭션에 포함된 사용 티켓의 값을 비교하여, 상기 사용 티켓을 검증한다(S323). 이때, 블록체인 네트워크(500)는 가장 최근에 저장된 블록에 포함된 사용 티켓보다 상기 트랜잭션에 포함된 사용 티켓이 더 크면, 사용 티켓 검증에 성공하는 것으로 판단하고, 그렇지 않으면 사용 티켓의 검증에 실패한 것으로 처리한다. 한편, 블록체인 네트워크(500)는 상기 블록체인 네트워크(500)는 사용 티켓의 검증에 실패하면 데이터 위변조가 발생한 것으로 판단할 수 있다.
상기 블록체인 네트워크(500)의 각 노드들은, 사용 티켓 검증에 실패하면, 검증 실패 사실을 서비스 서버(300)로 전송한다. 그러면, 서비스 서버(300)는 부가 정보를 제공하는 것 없이, 사용자 단말(100)의 개인 도메인 애플리케이션(110)으로 개인 도메인의 검증에 실패하였음을 통보한다.
반면에, 블록체인 네트워크(500)는 상기 사용 티켓 검증에 성공하면, 상기 정보 요청 트랜잭션을 포함하는 블록을 생성하여 기존의 블록과 연결함으로써, 블록체인에 상기 생성한 블록을 저장한다(S325). 이에 따라, 사용 티켓의 최신 정보가 블록체인 내에서 갱신된다. 그리고 블록체인 네트워크(500)는 상기 개인 도메인 네임, 목적지 공개키 및 상기 사용자의 공개키를 포함하는 블록을 블록체인에서 확인하고, 상기 블록에서 부가 정보를 추출한다(S327).
이어서, 블록체인 네트워크(500)는 상기 추출한 부가 정보가 포함된 트랜잭션 처리 메시지를 서비스 서버(300)로 전송한다(S329).
그러면, 서비스 서버(300)는 상기 추출한 부가 정보를 상기 도메인 질의에 대한 응답으로서, 사용자 단말(100)의 개인 도메인 애플리케이션(110)으로 전송한다(S331).
이러한 절차에 따라, 개인 도메인 애플리케이션(110)이 서비스 코드와 개인 도메인 네임이 포함된 도메인 질의 메시지를 전송하면, 상기 개인 도메인 네임, 사용자의 공개키 및 목적지 공개키와 대응되는 부가 정보를 응답 정보로서 수신할 수 있다.
한편, 상술한 실시예에서, 두 개의 공개키(즉, 목적지 공개키와 사용자 공개키)가 개인 도메인 네임 및 부가정보와 함께 블록체인에 저장되는 것으로 설명되었으나, 두 개의 공개키 중에서 어느 하나가 개인 도메인 네임 및 부가정보와 함께 블록체인에 저장될 수 있다. 이 경우, 하나의 공개키(즉, 사용자 공개키 또는 목적지 공개키), 개인 도메인 네임과 대응되는 부가정보가 블록체인 네트워크(500)에서 추출되어, 사용자 단말(100)로 제공될 수 있다.
한편, 서비스 서버(300)는 사설 네트워크(700)에 포함된 통신 기기(720)의 IP 주소를 부가 정보로서 사용자 단말(100)로 제공하고, 사용자 단말(100)은 상기 IP 주소를 토대로 사설 네트워크(700)로 접속할 수 있다.
도 4는 본 발명의 제2실시예에 따른, 접속 제어 시스템의 구성을 나타내는 도면으로서, 본 발명의 제2실시예에 따른 접속 제어 시스템은, 사용자 단말(100), 도메인 관리 서버(200), 서비스 서버(300), DNS 서버(400), 블록체인 네트워크(500) 및 사설 네트워크(700)를 포함한다.
도 4에 있어서, 도 1의 구성요소와 참조부호가 동일한 구성요소는 도 1 내지 도 3을 설명한 기능을 포함한다.
사설 네트워크(700)는 댁내 또는 회사에 형성된 네트워크로서, 하나 이상의 통신 기기(720)를 포함하고, 특히 보안 장치(710)를 포함한다.
상기 통신 기기(720)는 통신 가능한 통신 장치로서, 예컨대, 게이트웨이, 라우터, IP 카메라, IPTV, IP 기반의 월패드 등을 포함할 수 있다.
상기 보안 장치(710)는 사설 네트워크(700)에 포함되며, 공용 통신망(600)와 사설 네트워크(700) 사이에 보안을 담당하는 기능을 수행한다. 구체적으로, 보안 장치(710)는 사용자 단말(100)로부터 서비스 코드와 개인 도메인 네임이 포함된 접속 요청 메시지를 수신하면, 서비스 코드를 분석하여 사용자 단말(100)이 사설 네트워크(700)에 접속 가능한지 여부를 인증하고, 인증 결과에 따라 선택적으로 사용자 단말(100)을 사설 네트워크(700)에 접속하는 것을 허락한다. 상기 보안 장치(710)는 개인키와 공개키를 생성하여, 상기 사용자 단말(100)로 공개키를 배포한다. 또한, 보안 장치(710)는 사용자 공개키를 획득하여 저장한다.
또한, 보안 장치(710)는 관리자 단말의 공개키를 획득하여, 이 관리자 단말의 공개키를 관리자용 공개키로서 설정하여 저장한다. 또한, 보안 장치(710)는 관리자 단말의 공개키를 이외에, 접속 허락된 타 통신 단말의 공개키를 저장한다. 상기 보안 장치(710)는 상기 접속 허락된 타 통신 단말의 공개키를 접근 허용 목록에 기록하여 관리한다. 상기 보안 장치(710)는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어와 소프트웨어의 결합을 통해서 구현될 수 있다. 또한, 보안 장치(710)는 USB 포트 등을 통해서 통신 기기(720)의 결합될 수도 있다. 상기 보안 장치(710)는 블루투스 통신, 와이파이 통신, 적외선 통신, 지그비 통신 등과 같은 근거리 무선통신을 수행할 수 있다.
블록체인 네트워크(500)는 부가 정보로서, 사설 네트워크(700)의 접속 주소(즉, 보안 장치 IP 주소 또는 통신 기기 IP 주소)와 시리얼 넘버 등과 같은 보안 장치(710)의 정보를 저장한다. 또한, 블록체인 네트워크(500)는 정보 요청 트랜잭션이 발생되면, 이 트랜잭션을 검증하고 검증에 성공하는 경우 개인 도메인 네임 및 사용자 공개키와 대응되는 IP 주소를 추출하여 서비스 서버(300)로 전송할 수 있다.
도 5는 본 발명의 제2실시예에 따른, 사용자 단말과 보안 장치 간에 공개키를 공유하는 방법을 설명하는 흐름도이다.
도 5를 참조하면, 보안 장치(710)가 사설 네트워크(700)에 설치되면, 상기 보안 장치(710)는 사설 네트워크(700)에 포함되는 통신 기기(720)의 IP 주소를 획득한다(S501). 상기 보안 장치(710)는 하드웨어 모듈일 수 있으며, 이 경우 상기 보안 장치(710)는 게이트웨이, 라우터 등과 같이, 사설 네트워크(700)에서 데이터 처리와 중계를 담당하는 핵심 장치와 결합되거나 통합될 수 있다.
다음으로, 사용자 단말(100)에 개인 도메인 애플리케이션(110)이 설치되면, 상기 개인 도메인 애플리케이션(110)은 사용자 전용의 개인키와 공개키를 생성한다(S503). 다음으로, 사용자 단말(100)은 근거리 무선통신(예컨대, 와이파이 통신)을 통해서 주변의 보안 장치(710)를 검색하고, 검색한 보안 장치와 WPS(wi-fi protected setup) 기반으로 무선 연결된다(S505). 이때, 보안 장치(710)에는 접속 암호가 설정될 수 있으며, 사용자 단말(100)은 접속 암호를 보안 장치(710)로 전송하여 접속 인증에 성공한 경우에, 상기 보안 장치(710)와 근거리 무선통신으로 연결될 수 있다.
다음으로, 사용자 단말(100)의 개인 도메인 애플리케이션(110)은 사용자 공개키를 보안 장치(710)로 전송하고(S507), 보안 장치(710)는 상기 사용자 공개키를 저장한다(S509). 이때, 보안 장치(710)는 근거리 무선 통신을 통해서, 최초의 공개키로서 사용자 공개키가 등록되는 경우 상기 사용자 공개키를 관리자 공개키로서 저장할 수 있다.
그리고 보안 장치(710)는 자신의 개인키와 공개키를 생성한다(S511). 이어서, 보안 장치(710)는 자신의 시리얼 넘버 및 사설 네트워크(700)에 포함된 통신 기기(720)의 IP 주소가 포함된 보안 정보 및 자신의 공개키를 사용자 단말(100)로 전송한다(S513). 한편, 보안 장치(710)는 자체적으로 통신 가능한 형태로 구현될 수 있으며, 이 경우 자신의 IP 주소를 사용자 단말(100)로 전송할 수 있다. 부연하면, 보안 장치(710)는 자신의 IP 주소가 존재하는 경우, 그 IP 주소를 사용자 단말(100)로 제공하고, 반면에 자신의 IP 주소가 존재하지 않고, 사설 네트워크(700)의 특정 기기와 결합되는 형태인 경우, 사설 네트워크(700)에 포함된 통신 기기(720)의 IP 주소를 획득하여 사용자 단말(100)로 전송할 수 있다.
그러면, 사용자 단말(100)은 상기 보안 정보 및 보안 장치(710)의 공개키를 저장한다(S515).
이러한 등록 절차에 따라, 사용자 단말(100)과 보안 장치(710)는 서로 간의 공개키를 공유하고, 사용자 단말(100)은 사설 네트워크(700)에 포함된 통신 기기(720)의 IP 주소를 획득한다.
도 6은 본 발명의 제2실시예에 따른, 개인 도메인 네임을 등록하는 방법을 설명하는 흐름도이다.
도 6을 참조한 설명에서, 도 2를 참조한 설명과 중복되는 부분은 압축하여 요약하기로 한다.
도 6을 참조하면, 개인 도메인 애플리케이션(110)은 사용자로부터 도메인 네임을 입력받아, 상기 입력받은 도메인 네임에 개인 도메인 코드를 덧붙여 개인 도메인 네임을 생성한다(S601). 그리고 개인 도메인 애플리케이션(110)은 개인 도메인 네임과 관련된 목적지 공개키로서 보안 장치(710)의 공개키를 추출한다.
다음으로, 개인 도메인 애플리케이션(110)은 사설 네트워크(700)의 보안 정보(즉, 통신 기기 IP 주소, 보안 장치(710)의 시리얼 넘버 등) 및 사용자 공개키를 추출하고, 더불어 현재 시각과 날짜를 토대로 사용 티켓을 생성한다(S603). 이어서, 개인 도메인 애플리케이션(110)은, 상기 생성한 사용 티켓을 원문 데이터로서 설정하고, 이 원문 데이터로 설정한 사용 티켓을 사용자 개인키로 전자 서명한다(S605). 실시 형태에 따라, 개인 도메인 애플리케이션(110)은 개인 도메인 네임, 상기 보안 정보, 사용 티켓 중에서 하나 이상을 조합시키고, 이렇게 조합된 정보를 원문 데이터로서 설정하여 상기 사용자 개인키로 전자 서명할 수도 있다.
이어서 개인 도메인 애플리케이션(110)은 상기 개인 도메인 네임, 사용 티켓, 보안 정보, 목적지 공개키(즉, 보안 장치의 공개키) 및 전자 서명을 포함한 도메인 등록 요청 메시지를 도메인 관리 서버(200)로 전송한다(S607).
그러면, 도메인 관리 서버(200)는 상기 개인 도메인 네임, 사용 티켓, 보안 정보, 목적지 공개키(즉, 보안 장치의 공개키) 및 전자 서명이 포함된 도메인 등록 트랜잭션을 블록체인 네트워크(500)로 발생시킨다(S609). 이어서, 블록체인 네트워크(500)에 포함된 각 노드들은 상기 전자 서명을 검증하여, 전자 서명에서 사용자 공개키를 추출한다.
이어서, 블록체인 네트워크(500)는 전자 서명 검증에 성공하여 사용자 공개키를 추출하면, 상기 개인 도메인 네임, 상기 목적지 공개키(즉, 보안 장치의 공개키), 및 상기 사용자 공개키 모두를 포함하는 블록이 블록체인에 저장되어 있는지 여부를 확인하여, 개인 도메인 네임에 대한 중복 체크를 수행한다(S611).
다음으로, 블록체인 네트워크(500)는 중복 체크 결과, 사용자 공개키, 보안 장치의 공개키 및 개인 도메인 네임 모두를 가지는 블록이 블록체인에 존재하지 않으면, 토큰을 생성한다(S613). 상기 토큰은 숫자열이거나 문자열일 수 있으며 또는 숫자와 문자의 조합으로서, 사전에 설정된 알고리즘(예컨대, 난수 발생 알고리즘)에 따라 무작위적으로 생성된다. 상기 토큰은 사용자 단말(100)의 사설 네트워크(700)에 대한 접근을 인증하는데 이용된다.
이어서, 블록체인 네트워크(500)는 상기 도메인 등록 트랜잭션과 상기 토큰을 가지는 블록을 생성하고, 상기 생성한 블록을 기존 블록과 연결함으로써, 개인 도메인 네임을 블록체인에 저장한다(S615). 이때, 블록체인 네트워크(500)는, 상기 도메인 등록 트랜잭션을 포함하는 블록이 블록체인에 저장되는 경우, 사용자 공개키를 관리자용 공캐키로 설정하여 블록을 블록체인에 저장한다. 부연하면, 중복되지 않은 개인 도메인 네임과, 사용자 공개키 및 보안 장치의 공개키를 가지는 블록이 블록체인에 최초로 저장되는 경우, 상기 사용자 공개키가 관리자용 공개키로서 설정되어 블록체인에 저장된다.
이어서, 블록체인 네트워크(500)는 트랜잭션 성공을 도메인 관리 서버(200)로 알린다(S617). 그러면, 도메인 관리 서버(200)는 도메인 등록 성공 응답을 개인 도메인 애플리케이션(110)으로 통보한다(S619). 상기 개인 도메인 애플리케이션(110)은 개인 도메인 네임이 정상적으로 등록되면, 사용자 단말(100)에 저장된 보안 정보를 삭제할 수 있다. 즉, 개인 도메인 애플리케이션(110)은 블록체인 네트워크(500)에 보안 정보가 개인 도메인 네임과 함께 등록되어 있으므로, 보안 장치(710)의 공개키만을 보관 후, 통신 기기(720)의 IP 주소, 보안 장치(710)의 시리얼 넘버를 삭제할 할 수 있다.
도 7은 본 발명의 제2실시예에 따른, 도메인 질의에 대한 응답으로서 사설 네트워크의 접속 주소를 제공하는 방법을 설명하는 흐름도이다.
도 7을 참조한 설명에서 있어서, 도 3을 참조한 설명과 중복되는 부분은 압축하여 요약한다.
도 7을 참조하면, 개인 도메인 애플리케이션(110)은 사용자로부터 도메인 네임을 입력받아, 상기 입력받은 도메인 네임과 개인 도메인 코드(예컨대, kt.tin)가 포함된 개인 도메인 네임을 생성한다(S701). 다음으로, 개인 도메인 애플리케이션(110)은 현재 날짜와 시각을 토대로 사용자 티켓을 생성한다(S703). 이어서, 개인 도메인 애플리케이션(110)은 저장중인 보안 장치(710)의 공개키를 추출한다(S705). 상기 보안 장치(710)의 공개키는 목적지 공개키로서 이용된다.
다음으로, 개인 도메인 애플리케이션(110)은 상기 사용 티켓을 사용자의 개인키로 전자 서명한다(S707). 이어서, 개인 도메인 애플리케이션(110)은 상기 사용 티켓, 목적지 공개키(즉, 보안 장치의 공개키) 및 전자 서명을 일정한 포맷(예컨대, 16진수 형태의 문자열)을 가지는 서비스 코드로 변환하고(S709), 이렇게 변환된 서비스 코드와 개인 도메인 네임이 포함된 도메인 질의 메시지를 DNS 서버(400)로 전송한다(S711).
그러면, DNS 서버(400)는 상기 도메인 질의 메시지에 포함된 개인 도메인 네임에 개인 도메인 코드(예컨대, kt.tin)가 포함되어 있는지 여부를 확인하여 개인 도메인 코드가 포함된 경우, 상기 도메인 질의 메시지를 서비스 서버(300)로 전달한다(S713, S715).
그러면, 서비스 서버(300)는 상기 도메인 질의 메시지에 포함된 서비스 코드와 개인 도메인 네임을 확인하고, 상기 서비스 코드가 사전에 설정된 정상적인 범위의 자릿수를 가지는지 여부를 검사하고, 또한 서비스 코드가 사전에 설정된 포맷(예컨대, 16진수)으로 변환되어 있는지 여부를 검사한다(S717). 서비스 서버(300)는 상기 서비스 코드의 검사에 성공하면, 상기 서비스 코드와 개인 도메인 네임이 포함된 정보 요청 트랜잭션을 블록체인 네트워크(500)로 발생시킨다(S719).
그러면, 블록체인 네트워크(500)의 각 노드들은 상기 서비스 코드로 변환되기 전의 상태로, 사용 티켓, 보안 장치(710)의 공개키 및 전자 서명을 복원한다(S721).
다음으로, 블록체인 네트워크(500)의 각 노드들은, 상기 복원된 전자 서명에 대한 검증하여, 전자 서명에서 사용자 공개키를 추출한다(S723). 블록체인 네트워크(500)에 포함된 각 노드들은 전자 서명 검증에 성공하여 사용자 공개키를 추출하면, 상기 복원한 사용 티켓(즉, 정보 요청 트랜잭션에 포함된 사용 티켓)을 확인하고, 사용자 공개키, 목적지 공개키(즉, 보안 장치의 공개키) 및 상기 개인 도메인 네임을 포함하는 가장 최근에 저장된 블록을 블록체인 네트워크(500)에서 확인한다. 그리고 블록체인 네트워크(500)에 포함된 각 노드들은 가장 최근에 저장된 블록에 포함된 사용 티켓과 상기 복원한 사용 티켓을 비교하여, 상기 복원한 사용 티켓을 검증한다(S725). 이때, 블록체인 네트워크(500)에 포함된 각 노드들은, 가장 최근에 저장된 블록에 포함된 사용 티켓보다 상기 정보 요청 트랜잭션에 포함된 사용 티켓이 더 크면, 사용 티켓 검증에 성공하는 것으로 판단하고, 그렇지 않으면 사용 티켓의 검증에 실패한 것으로 처리한다.
다음으로, 블록체인 네트워크(500)에 포함된 각 노드들은, 상기 사용자 공개키, 목적지 공개키(즉, 보안 장치의 공개키) 및 상기 개인 도메인 네임을 포함하며, 상기 사용자 공개키가 관리자용 공개키로 설정되거나 상기 사용자 공개키가 접속 허락된 공개키로서 설정된 블록이 블록체인에 저장되어 있는지 여부를 확인하여, 상기 사용자 단말(100)의 접속 권한을 인증한다. 즉, 블록체인 네트워크(500)의 노드들은 상기 개인 도메인 네임, 상기 사용자 공개키 및 목적지 공개키를 포함하는 디바이스 추가 트랜잭션 또는 도메인 등록 트랜잭션이 블록체인에 존재하는지 여부를 검색함으로써, 상기 사용자 단말(100)의 사설 네트워크 접속 권한을 인증한다.
블록체인 네트워크(500)는 상기 접속 권한 인증 및 사용 티켓 검증 모두에 성공하면, 상기 정보 요청 트랜잭션을 포함하는 블록을 생성하여 기존의 블록과 연결하여 상기 생성한 블록을 블록체인에 저장한다(S727). 그리고 블록체인 네트워크(500)는 상기 개인 도메인 네임, 상기 사용자의 공개키 및 목적지 공개키(보안 장치의 공개키)를 포함하는 블록을 블록체인에서 확인하고, 상기 블록에서 통신 기기(720)의 IP 주소와 토큰을 추출한다(S729).
이어서, 블록체인 네트워크(500)는 상기 추출한 통신 기기(720)의 IP 주소와 토큰이 포함된 트랜잭션 처리 메시지를 서비스 서버(300)로 전송한다(S731).
그러면, 서비스 서버(300)는 상기 도메인 질의에 대한 응답으로서 통신 기기(720)의 IP 주소와 토큰을 사용자 단말(100)의 개인 도메인 애플리케이션(110)으로 전송한다(S733).
이러한 절차에 따라, 개인 도메인 애플리케이션(110)이 서비스 코드와 개인 도메인 네임이 포함된 도메인 질의 메시지를 전송하면, 상기 개인 도메인 네임, 사용자의 공개키 및 보안 장치(710)의 공개키와 대응되는 IP 주소를 응답 정보로서 수신한다.
도 8은 본 발명의 일 실시예에 따른, 도메인 질의 응답에 기초하여 사용자 단말이 사설 네트워크로 접속하는 방법을 설명하는 흐름도이다.
도 8에 따른 절차는 도 7의 절차 이후에 진행된다.
도 8을 참조하면, 개인 도메인 애플리케이션(110)은 서비스 서버(300)로부터 수신한 사설 네트워크(700)의 통신 기기 IP 주소와 토큰을 확인하고(S801), 도 7의 S709 단계에서 일정 포맷으로 변환된 서비스 코드, 개인 도메인 네임 및 상기 토큰이 포함된 접속 요청 메시지를 상기 확인한 IP 주소를 가지는 통신 기기(720)로 전송한다(S801, S803).
그러면, 사설 네트워크(700)의 접속을 제어하는 보안 장치(710)는 일정 포맷의 형태의 서비스 코드를 원상태의 사용 티켓, 보안 장치(710)의 공개키(즉, 목적지 공개키) 및 전자 서명으로 복원한 후, 상기 복원된 전자 서명을 검증하여 전자 서명에서 사용자 공개키를 획득한다(S805).
다음으로, 보안 장치(710)는 전자 서명 검증에 성공하여 사용자 공개키를 획득하면, 상기 접속 요청 메시지에 포함된 사용 티켓과 개인 도메인 네임을 확인하고, 상기 개인 도메인 네임과 매핑된 가장 최근의 사용 티켓을 자체 저장중인 매핑 테이블에서 확인한다.
이어서, 보안 장치(710)는 상기 매핑 테이블에서 확인한 사용 티켓과 상기 접속 요청 메시지에 포함된 사용 티켓을 비교하여, 사용 티켓을 검증한다(S807). 이때, 보안 장치(710)는 상기 매핑 테이블에서 상기 개인 도메인 네임과 매핑된 가장 최근의 사용 티켓 보다 상기 접속 요청 메시지에 포함된 사용 티켓이 더 크면, 사용 티켓 검증에 성공하는 것으로 판단하고, 그렇지 않으면 사용 티켓의 검증에 실패한 것으로 처리한다.
상기 보안 장치(710)는 상기 사용 티켓 검증에 실패하면, 접속 불가 메시지를 개인 도메인 애플리케이션(110)으로 전송하고, 사용자 단말(100)에 대한 통신 기기(720) 접속을 차단한다.
반면에, 보안 장치(710)는 상기 사용 티켓 검증에 성공하면, 상기 접속 요청 메시지에 포함된 토큰 검증을 도메인 관리 서버(200)로 요청한다(S809). 이때, 보안 장치(710)는 상기 토큰, 사용자 공개키, 목적지 공개키(즉, 보안 장치의 공개키) 및 개인 도메인 네임을 도메인 관리 서버(200)로 전송하며, 또한 상기 검증에 성공한 사용 티켓과 상기 개인 도메인 네임을 매핑하여 매핑 테이블에 기록하여, 사용 티켓의 최신성을 유지한다.
다음으로, 도메인 관리 서버(200)는 상기 토큰, 사용자 공개키, 목적지 공개키(즉, 보안 장치의 공개키) 및 개인 도메인 네임을 블록체인 네트워크(500)로 전달하여, 토큰 검증을 요청한다(S811).
그러면, 블록체인 네트워크(500)의 각 노드들은, 상기 사용자 공개키, 목적지 공개키 및 개인 도메인 네임을 포함하는 블록을 확인하고, 블록에서 최근에 발행된 토큰을 확인하고, 상기 블록에서 확인한 토큰과 도메인 관리 서버(200)로부터 수신한 토큰이 일치하는지 여부를 검증한다(S813).
그리고 블록체인 네트워크(500)는 토큰 검증 결과를 도메인 관리 서버(200)로 전달하고, 도메인 관리 서버(200)는 상기 토큰 검증 결과를 보안 장치(710)로 전달한다(S815).
보안 장치(710)는 토큰 검증 결과가 실패로 확인되면, 접속 불가 메시지를 개인 도메인 애플리케이션(110)으로 전송하고, 사용자 단말(100)에 대한 통신 기기(720) 접속을 차단한다. 반면에, 보안 장치(710)는 토근 검증 결과 성공으로 확인되면, 사용자 검증을 최종적으로 성공 처리하고(S817), 통신 기기의 접근 허용을 알리는 메시지를 개인 도메인 애플리케이션(110)으로 전송하고(S819), 통신 기기(720)에 대한 사용자 단말(100)의 접속을 허락한다.
그러면, 개인 도메인 애플리케이션(110)은 보안 장치(710)를 통해서 상기 IP 주소를 가지는 통신 기기(720)에 접속하여, 통신 기기(720)에서 제공하는 서비스를 이용할 수 있다(S821).
다음으로, 보안 장치(710)는 토큰 재생성을 도메인 관리 서버(200)로 요청한다(S823). 이때, 보안 장치(710)는 사용자의 공개키, 목적지 공개키(즉, 보안 장치의 공개키) 및 개인 도메인 네임을 도메인 관리 서버(200)로 전송한다.
그러면, 도메인 관리 서버(200)는 사용자 공개키, 목적지 공개키 및 개인 도메인 네임이 포함된 토큰 재생성 요청하는 트랜잭션을 블록체인 네트워크(500)로 발생시키고(S825), 블록체인 네트워크(500)의 하나 이상의 노드가 토큰을 재생성한다(S827). 그리고 상기 노드는 상기 재생성한 토큰, 상기 사용자 공개키, 목적지 공개키(즉, 보안 장치의 공개키) 및 개인 도메인 네임이 포함되며, 토큰이 재발급되었음을 알리는 블록을 생성하고, 이 블록을 기존의 블록과 연결하여 블록체인에 저장한다. 이후, 또 다시 개인 도메인 네임이 포함된 도메인 질의 메시지가 개인 도메인 애플리케이션(110)에서 발생하면, 상기 재생성된 토큰이 개인 도메인 애플리케이션(110)에서 획득된다.
한편, 전자 서명 검증은 보안 장치(710)에서 수행되지 않고, 블록체인 네트워크(500)에서 수행될 수도 있다. 이 경우, 보안 장치(710)는 개인 도메인 애플리케이션(110)으로부터 수신한 서비스 코드를 도메인 관리 서버(200)로 전송하고, 도메인 관리 서버(200)는 상기 서비스 코드를 블록 체인 네트워크(500)로 전달하여, 전자 서명의 검증을 요청할 수 있다. 그리고 도메인 관리 서버(200)는 블록 체인 네트워크(500)로부터 전자 서명에 대한 검증 결과인 사용자 공개키를 수신하여 보안 장치(710)로 전달할 수 있다.
또 다른 실시예로서, 토큰이 사용되지 않고, 전자 서명과 사용 티켓 검증이 보안 장치(710)에서 수행될 수도 있다. 이 경우, 블록체인 네트워크(500)에서는 토큰이 생성되는 것이 생략될 수 있으며, 보안 장치(710)는 사용 티켓과 전자 서명을 토대로, 사용자 단말(100)에 대한 사설 네트워크(700) 접속을 선택적으로 허락할 수 있다.
한편, 상술한 제2실시예에서, 두 개의 공개키(즉, 목적지 공개키와 사용자 공개키)가 개인 도메인 네임 및 보안 정보와 함께 블록체인에 저장되는 것으로 설명되었으나, 두 개의 공개키 중에서 어느 하나가 개인 도메인 네임과 보안 정보와 함께 블록체인에 저장될 수 있다. 이 경우, 하나의 공개키(즉, 사용자 공개키 또는 보안 장치의 공개키)와 개인 도메인 네임과 대응되는 보안 정보가 블록체인 네트워크(500)에서 추출되어, 사용자 단말(100)로 제공될 수 있다. 또한, 하나의 공개키(즉, 사용자 공개키 또는 보안 장치의 공개키)와 개인 도메인 네임과 대응되는 티켓 또는 토큰이 블록체인 네트워크(500)에서 추출되어, 토큰 검증 또는 티켓 검증이 블록체인 네트워크(500)에서 수행될 수 있다.
한편, 통신 단말(110)은 다른 사용자의 공개키를 개인 도메인 네임과 매핑하여 블록체인에 저장하여, 다른 사용자의 통신 단말이 사설 네트워크(700)로 접근하는 것을 허락할 수 있다.
이하, 본 발명의 제3실시예에서, 사용자의 통신 단말(100)이 제1통신 단말인 것으로 지칭하고, 타 사용자의 통신 단말이 제2통신 단말인 것으로 지칭하여 설명한다.
도 9는 본 발명의 제3실시예에 따른, 관리자 단말에서 타 단말의 접속 권한을 등록하는 방법을 설명하는 흐름도이다.
도 9를 참조하면, 제2통신 단말에서 개인 도메인 애플리케이션이 설치되면, 상기 개인 도메인 애플리케이션은 제2통신 단말의 개인키와 공개키를 생성한다(S901).
다음으로, 제2통신 단말의 개인 도메인 애플리케이션은 상기 생성한 제2통신 단말의 공개키를 제1통신 단말(100)로 전송한다(S903). 이때, 제2통신 단말은 상기 제2통신 단말의 공개키가 포함되고 제1통신 단말(100)의 주소가 목적지로 기재된 메시지를 상기 제1통신 단말(100)로 전송할 수 있으며, 또는 근거리 무선통신을 통해서 상기 제2통신 단말의 공개키를 제1통신 단말(100)로 전송할 수도 있다.
그러면, 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은 제2통신 단말을 사설 네트워크(700)로 접근 가능한 단말로 등록하는 절차를 진행한다. 우선, 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은 관리자부터 개인 도메인을 입력받고, 이 개인 도메인 뒤에 개인 도메인 코드를 덧붙어 개인 도메인 네임을 생성한다(S905).
그리고 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은 목적지 공개키인 보안 장치(710)의 공개키를 추출하고(S907), 원문 데이터를 설정하여 이 원문 데이터를 제1통신 단말(100)의 개인키로 전자 서명을 수행한다(S909). 이때, 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은, 원문 데이터로서 보안 장치(710)의 공개키 또는 개인 도메인 네임 중에서 하나 이상을 이용할 수 있다. 이어서, 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은 상기 개인 도메인 네임, 보안 장치(710)의 공개키, 제2통신 단말의 공개키 및 상기 전자 서명이 포함된 접근 단말 추가 요청 메시지를 도메인 관리 서버(200)로 전송한다(S911).
그러면, 도메인 관리 서버(200)는 상기 개인 도메인 네임, 제2통신 단말의 공개키, 목적지 공개키(즉, 보안 장치의 공개키) 및 전자 서명이 포함된 디바이스 추가 트랜잭션을 블록체인 네트워크(500)로 발생시킨다(S913). 그리고 블록체인 네트워크(500)에 포함된 각 노드들은 상기 디바이스 추가 트랜잭션에 포함된 전자 서명을 검증하여, 상기 전자 서명으로부터 제1통신 단말(100)의 공개키를 추출한다(S915).
이어서, 블록체인 네트워크(500)에 포함된 각 노드들은, 전자 서명 검증을 통해서 추출한 공개키(즉, 제1통신 단말의 공개키)가 관리자용 공개키로서 블록체인에 등록되어 있는지 여부를 검증한다(S917). 이때, 블록체인 네트워크(500)의 각 노드들은, 상기 전자 서명으로부터 추출한 공개키(즉, 제1통신 단말의 공개키), 상기 개인 도메인 네임 및 목적지 공개키(즉, 보안 장치의 공개키)를 포함하는 블록을 블록체인에서 확인하고, 이 블록에서 상기 제1통신 단말(100)의 공개키가 관리자용 공개키로 설정되어 있는지 여부를 확인함으로써, 제1통신 단말(100)의 공개키가 관리자용 공개키인지 여부를 검증한다. 부연하면, 블록체인 네트워크(500)는 사설 네트워크(700)로의 접속 디바이스를 등록하는 제1통신 단말(100)이 관리자 단말인지 여부를, 공개키와 개인 도메인 네임을 토대로 인증한다.
다음으로, 블록체인 네트워크(500)는 상기 제1통신 단말(100)의 공개키가 관리자용 공개키로 설정되어 있지 않으면, 디바이스를 추가할 수 없음을 도메인 관리 서버(200)로 통보하고, 도메인 관리 서버(200)는 접근 단말 추가에 실패하였음을 제1통신 단말(100)로 통보한다.
반면에, 블록체인 네트워크(500)의 각 노드들은 상기 제1통신 단말(100)의 공개키가 관리자용 공개키로 설정되어 있으면, 제2통신 단말 전용의 토큰을 생성한다. 그리고, 블록체인 네트워크(500)의 각 노드들은, 제2통신 단말의 공개키가 사설 네트워크의 접근에 허락된 공개키로서 등록되는 상기 디바이스 추가 트랜잭션 및 상기 제2통신 단말의 토큰을 포함하는 신규 블록을 생성하고, 이 신규 블록을 기존 블록과 연결하여 블록체인에 저장한다(S919). 이에 따라, 상기 제2통신 단말은 사설 네트워크(700)에 접근할 수 있는 디바이스로 블록체인에 등록된다.
다음으로, 블록체인 네트워크(500)는 트랜잭션 성공을 도메인 관리 서버(200)로 알린다(S921). 그러면, 도메인 관리 서버(200)는 접근 단말 추가에 성공하였음을 제1통신 단말(100)로 알린다(S923). 이어서, 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은, 보안 장치(710)의 공개키를 추출하고, 이 보안 장치(710)의 공개키를 제2통신 단말로 전송한다(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)로 전송한다.
이렇게 제1통신 단말(100)에서 통신 기기(720)의 IP 주소와 토큰을 획득하면, 제1통신 단말(100)의 개인 도메인 애플리케이션(110)은 상기 서비스 코드, 개인 도메인 네임, 상기 제1통신 단말(100)의 토큰 및 상기 제2통신 단말의 공개키가 포함된 디바이스 추가 요청 메시지를 상기 확인한 IP 주소를 가지는 통신 기기(720)로 전송한다(S929).
그러면, 사설 네트워크(700)의 접속을 제어하는 보안 장치(710)는 상기 디바이스 추가 요청 메시지를 획득하고, 도 8의 S805 단계 내지 S817 단계와 같이, 검증 단계를 진행한다. 구체적으로, 보안 장치(710)는 상기 서비스 코드를 원상태의 복원하여, 사용 티켓 검증을 수행하여 검증에 성공하면, 상기 사용 티켓과 개인 도메인 네임을 매핑하여 매핑 테이블에 저장하고, 상기 접속 요청 메시지에 포함된 토큰 검증을 도메인 관리 서버(200)로 요청하여, 블록체인 네트워크(500)에서 수행된 토큰 검증 결과를 수신한다.
보안 장치(710)는 사용 티켓 검증, 토큰 검증 중에서 어느 하나라도 실패하면, 디바이스를 추가할 수 없음을 제1통신 단말(100)로 통보한다. 반면에, 보안 장치(710)는 사용 티켓 검증 및 토큰 검증 모두에 성공하면, 상기 제1통신 단말(100)의 공개키가 관리자용으로 저장되어 있는지 여부를 확인하여, 제1통신 단말(100)의 사용자가 관리자인지 여부를 인증한다(S931).
다음으로, 보안 장치(710)는 상기 제1통신 단말(100)의 공개키가 관리자용으로 저장되어 있으면, 상기 디바이스 추가 요청 메시지에 포함된 제2통신 단말의 공개키를 접근 허용 목록에 저장하고, 디바이스 추가 정상적으로 완료되었음을 제1통신 단말(100)로 전송한다(S933).
상술한 절차에 따라, 제2통신 단말의 공개키 및 또 다른 단말의 공개키가, 블록체인과 보안 장치(710)에 접근 가능 단말의 식별정보로서 등록될 수 있다.
도 10은 본 발명의 일 실시예에 따른, 사설 네트워크로 접근 허용된 타 단말이 사설 네트워크의 접속 주소를 획득하는 방법을 설명하는 흐름도이다.
도 10은 도 7과 유사하므로, 도 10의 설명에 있어서 도 7와 중복되는 부분은 압축하여 요약하고, 차이점을 중심으로 설명한다.
도 10을 참조하면, 제2통신 단말의 개인 도메인 애플리케이션은 사용자로부터 입력받은 도메인 네임을 토대로 개인 도메인 코드가 포함된 개인 도메인 네임을 생성하고, 현재 날짜와 시각을 토대로 사용 티켓을 생성하고, 제1통신 단말(100)로부터 수신한 보안 장치(710)의 공개키를 추출한다(S1001 ~ S1005). 또한, 제2통신 단말의 개인 도메인 애플리케이션은 상기 사용 티켓을 원문 데이터로 설정하여, 제2통신 단말의 개인키로 전자 서명하고, 전자 서명, 사용 티켓 및 보안 장치(710)의 공개키를 서비스 코드로 변환한 후(S1007, S1009), 서비스 코드와 도메인 네임이 포함된 도메인 질의 메시지를 DNS 서버(400)로 전송한다(S1011).
DNS 서버(400)는 상기 도메인 질의 메시지에 개인 도메인 코드가 포함됨에 따라 상기 도메인 질의 메시지를 서비스 서버(300)로 전달한다(S1013, S1015). 그러면, 서비스 서버는 도메인 질의 메시지에 포함된 서비스 코드를 검사하고, 검사에 성공하면 상기 서비스 코드와 개인 도메인 네임이 포함된 정보 요청 트랜잭션을 블록체인 네트워크(500)로 발생시킨다(S1017, S1019).
그러면, 블록체인 네트워크(500)의 노드들은, 서비스 코드에 포함된 전자 서명, 보안 장치(710)의 공개키 및 사용 티켓을 복원한 후에, 상기 복원된 전자 서명을 검증하여 제2통신 단말의 공개키를 추출한다(S1021, S1023).
이어서, 블록체인 네트워크(500)의 노드들은 상기 개인 도메인 네임, 상기 보안 장치(710)의 공개키 및 상기 제2통신 단말의 공개키를 가지는 디바이스 추가 트랜잭션 또는 도메인 등록 트랜잭션을 포함하는 블록이 존재하는지 여부를 블록체인에서 검색함으로써, 상기 제2통신 단말의 사설 네트워크 접속 권한을 확인한다(S1025). 도 10에 따르면, 상기 개인 도메인 네임, 상기 보안 장치(710)의 공개키 및 상기 제2통신 단말의 공개키를 가지는 디바이스 추가 트랜잭션을 포함하는 블록이 블록체인에 저장되는 것으로 설명된다.
이어서, 블록체인 네트워크(500)는 사용 티켓 검증을 수행한 후(S1027), 접속 권한 검증 및 사용 티켓 검증 모두에 성공하면, 상기 정보 요청 트랜잭션을 포함하는 블록을 생성하여 기존의 블록과 연결하여 상기 생성한 블록을 블록체인에 저장한다(S1029). 그리고 블록체인 네트워크(500)는 상기 개인 도메인 네임, 보안 장치(710)의 공개키 및 상기 제2통신 단말(110)의 공개키를 포함하는 블록에서 통신 기기(720)의 IP 주소와 제2통신 단말의 토큰을 추출한다(S1031). 이어서, 블록체인 네트워크(500)는 상기 추출한 통신 기기(720)의 IP 주소와 제2통신 단말의 토큰이 포함된 트랜잭션 처리 메시지를 서비스 서버(300)로 전송한다(S1033).
그러면, 서비스 서버(300)는 상기 도메인 질의에 대한 응답으로서 통신 기기(720)의 IP 주소와 제2통신 단말의 토큰을 제2통신 단말의 개인 도메인 애플리케이션으로 전송한다(S1035).
이러한 절차에 따라, 관리자 단말(110)에 의해 등록된 제2통신 단말은 서비스 코드와 개인 도메인 네임이 포함된 도메인 질의 메시지를 전송하면, 보안 장치(710)의 IP 주소와 토큰을 응답 정보로서 수신한다.
도 11은 본 발명의 일 실시예에 따른, 사설 네트워크로 접근 허용된 타 단말이 사설 네트워크로 접속하는 방법을 설명하는 흐름도이다.
도 11에 따른 절차는 도 10에 따른 절차에 이후에 진행된다. 또한, 도 11은 도 8과 유사하므로, 도 11의 참조한 설명에 있어서 도 8과 중복되는 부분은 압축하여 요약하고, 차이점을 중심으로 설명한다.
도 11을 참조하면, 제2통신 단말의 개인 도메인 애플리케이션은 서비스 서버(300)로부터 수신한 사설 네트워크(700)의 통신 기기 IP 주소와 제2통신 단말의 토큰을 확인하고(S1101), 서비스 코드, 개인 도메인 네임 및 상기 토큰이 포함된 접속 요청 메시지를 상기 확인한 IP 주소를 가지는 통신 기기(720)로 전송한다(S1103).
그러면, 사설 네트워크(700)의 보안 장치(710)는 상기 접속 요청 메시지를 수신하고, 서비스 코드를 원상태로 복원한 후, 상기 복원된 전자 서명을 검증하여 제2통신 단말의 공개키를 추출한다(S1105).
다음으로, 보안 장치(710)는 접속 요청 메시지에 포함된 사용 티켓과 매핑 테이블에 저장된 사용 티켓의 값을 비교하여, 사용 티켓의 위변조를 검증한다(S1107). 이어서, 보안 장치(710)는 전자 서명 검증을 통해서 추출한 제2통신 단말의 공개키가 접근 허용 목록에 기록되어 있는지 여부를 확인함으로써, 제2통신 단말이 사설 네트워크로 접속 가능한 단말인지 여부를 인증한다(S1109).
상기 보안 장치(710)는 상기 사용 티켓 검증, 접속 권한 인증 중에서 어느 하나라도 실패하면, 접속 불가 메시지를 제2통신 단말로 전송하고, 제2통신 단말에 대한 접속을 차단한다.
반면에, 보안 장치(710)는 상기 접속 권한 인증 및 상기 사용 티켓 검증 모두에 성공하면, 상기 접속 요청 메시지에 포함된 토큰 검증을 도메인 관리 서버(200)로 요청한다(S1111). 이때, 보안 장치(710)는 상기 토큰, 제2통신 단말의 공개키, 보안 장치(120)의 공개키 및 개인 도메인 네임을 도메인 관리 서버(200)로 전송하고, 또한 상기 검증에 성공한 사용 티켓과 상기 개인 도메인 네임을 매핑하여 매핑 테이블에 기록하여, 사용 티켓의 최신성을 유지한다.
다음으로, 도메인 관리 서버(200)는 상기 토큰, 제2통신 단말의 공개키, 보안 장치(710)의 공개키 및 개인 도메인 네임을 블록체인 네트워크(500)로 전달하여, 토큰 검증을 요청한다(S1113).
그러면, 블록체인 네트워크(500)의 노드들은, 상기 제2통신 단말의 공개키, 보안 장치(710)의 공개키 및 개인 도메인 네임을 포함하는 블록을 확인하고, 이 블록 또는 이 블록과 연결되어 있는 블록에서 기록된 최신 토큰을 확인하고, 상기 블록에서 확인한 최신 토큰과 도메인 관리 서버(200)로부터 수신한 토큰이 일치하는지 여부를 검증한다(S1115). 그리고 블록체인 네트워크(500)는 토큰 검증 결과를 도메인 관리 서버(200)로 전달하고, 도메인 관리 서버(200)는 상기 토큰 검증 결과를 보안 장치(710)로 전달한다(S1117).
보안 장치(710)는 토큰 검증 결과가 실패로 확인되면 접속 불가 메시지를 제2통신 단말로 전송하고, 반면에, 보안 장치(710)는 토큰 검증 결과 성공으로 확인되면, 사용자 검증을 최종적으로 성공 처리하고(S1119), 통신 기기의 접근 허용을 알리는 메시지를 제2통신 단말로 전송하고(S1121), 통신 기기(720)에 대한 제2통신 단말의 접속을 허락한다.
그러면, 제2통신 단말의 개인 도메인 애플리케이션은 보안 장치(710)를 통해서 상기 IP 주소를 가지는 통신 기기(720)에 접속하여, 통신 기기(720)에서 제공하는 서비스를 이용할 수 있다(S1123).
다음으로, 보안 장치(710)는 토큰이 사용됨에 따라, 토큰 재생성을 도메인 관리 서버(200)로 요청하고(S1125), 도메인 관리 서버(200)는 제2통신 단말(110)의 공개키, 보안 장치(710)의 공개키 및 개인 도메인 네임이 포함된 토큰 재생성 요청하는 트랜잭션을 블록체인 네트워크(500)로 발생시킨다(S1127). 이어서, 블록체인 네트워크(500)의 노드는 토큰을 재생성한 후, 재생성한 토큰, 상기 제2통신 단말(110)의 공개키, 보안 장치(710)의 공개키 및 개인 도메인 네임이 포함되며, 토큰이 재발급되었음을 나타내는 블록을 생성하고, 이 블록을 기존의 블록과 연결하여 블록체인에 저장한다(S1129).
한편, 상술한 실시예에서는 블록체인 네트워크(500)에 도메인 식별정보, 하나 이상의 공개키(즉, 사용자 공개키 또는 목적지 공개키)와 대응되는 블록이 저장되는 것으로 설명하였지만, 블록체인 네트워크(500)가 데이터베이스 형태로 변경되어 본 발명에 적용될 수도 있다. 이 경우, 데이터베이스에는 토큰을 발급하는 모듈, 전자 서명을 검증하는 모듈, 사용 티켓을 검증하는 모듈, 사설 네트워크로 접속 허락된 타 단말의 공개키를 관리하는 모듈 및 사설 네트워크의 접속 주소를 저장하고 관리하는 모듈 등이 포함되어, 상기 데이터베이스에서 상술한 블록체인 네트워크(500)의 기능을 수행할 수 있다.
또한, 상술한 실시예에서, 보안 장치(710)가 사용 티켓 검증과 토큰 검증을 함께 수행하는 것으로서 설명하였으나, 사용 티켓 검증 또는 토큰 검증 중 어느 하나만 수행하여 사용자 검증을 진행할 수 있다.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100 : 사용자 단말 110 : 개인 도메인 APP
200 : 도메인 관리 서버 300 : 서비스 서버
400 : DNS 서버 500 : 블록 체인 네트워크
600 : 통신망 700 : 사설 네트워크
710 : 보안 장치 720 : 통신 기기

Claims (20)

  1. 부가 정보를 획득할 수 있는 개인 도메인 서비스를 제공하는 방법으로서,
    서비스 서버가, 사용자 단말에서 전송된 사용자에 의해 기 등록되어 있는 개인 도메인 네임과 전자 서명을 포함하는 도메인 질의 메시지를 수신하는 단계;
    상기 전자 서명의 검증에 성공하면, 상기 서비스 서버가 상기 개인 도메인 네임 및, 상기 전자 서명 또는 상기 도메인 질의 메시지 중 적어도 하나로부터 추출된 하나 이상의 공개키와 대응되는 부가 정보를 획득하는 단계; 및
    상기 서비스 서버가, 상기 부가 정보를 상기 도메인 응답으로서 상기 사용자 단말로 전송하는 단계;를 포함하는 개인 도메인 네임 서비스 방법.
  2. 제1항에 있어서,
    상기 도메인 질의 메시지에는 사용 티켓과 목적지 공개키가 포함되고,
    상기 부가 정보를 획득하는 단계는,
    상기 사용 티켓의 검증에 성공하면, 상기 서비스 서버가 목적지 공개키, 사용자 공개키 및 상기 개인 도메인 네임과 대응되는 상기 부가 정보를 획득하는 것을 특징으로 하는 개인 도메인 네임 서비스 방법.
  3. 제2항에 있어서,
    상기 부가 정보를 획득하는 단계는,
    상기 서비스 서버가, 상기 개인 도메인 네임, 상기 전자 서명, 상기 목적지 공개키 및 상기 사용 티켓을 포함하는 정보 요청 트랜잭션을 블록체인 네트워크로 발생시키는 단계;
    상기 블록체인 네트워크가, 상기 전자 서명을 검증하여 상기 전자 서명에서 상기 사용자 공개키를 추출하고, 상기 사용 티켓이 과거에 사용된 티켓보다 큰 값을 가지는지 여부를 검증하는 단계;
    상기 블록체인 네트워크가, 상기 사용 티켓의 검증에 성공하면, 상기 개인 도메인 네임, 상기 목적지 공개키 및 상기 사용자 공개키를 포함하는 블록을 블록체인에서 확인하고, 이 블록에서 부가 정보를 추출하는 단계; 및
    상기 서비스 서버가, 상기 부가 정보를 상기 블록체인 네트워크로부터 수신하는 단계;를 포함하는 개인 도메인 네임 서비스 방법.
  4. 제3항에 있어서,
    상기 부가 정보를 획득하는 단계는,
    상기 블록체인 네트워크가, 상기 사용 티켓의 검증에 성공하면, 상기 정보 요청 트랜잭션을 포함하는 신규 블록을 생성하여 기존의 블록들과 연결시키는 단계;를 포함하는 것을 특징으로 하는 개인 도메인 네임 서비스 방법.
  5. 제3항에 있어서,
    도메인 관리 서버가, 개인 도메인 네임, 부가 정보, 목적지 공개키 및 전자 서명이 포함된 도메인 등록 요청 메시지를 상기 사용자 단말로부터 수신하는 단계;
    상기 도메인 관리 서버가, 상기 개인 도메인 네임, 상기 목적지 공개키, 상기 부가 정보 및 상기 전자 서명을 포함하는 도메인 등록 트랜잭션을 상기 블록체인 네트워크에 발생시키는 단계; 및
    상기 블록체인 네트워크가, 상기 도메인 등록 트랜잭션에 포함된 전자 서명을 검증하여 사용자 공개키를 획득하고, 상기 사용자 공개키, 상기 개인 도메인 네임, 상기 목적지 공개키 및 상기 부가 정보가 포함된 신규 블록을 생성하여 상기 블록체인에 저장하는 단계;를 더 포함하는 개인 도메인 네임 서비스 방법.
  6. 제5항에 있어서,
    상기 블록체인에 저장하는 단계는,
    상기 블록체인 네트워크가, 상기 개인 도메인 네임, 상기 목적지 공개키 및 상기 사용자 공개키를 포함하는 블록이 블록체인에 이미 저장되어 있는지 여부를 확인하여 저장되지 않으면, 상기 신규 블록을 생성하여 상기 블록체인에 저장하는 특징으로 하는 개인 도메인 네임 서비스 방법.
  7. 제3항에 있어서,
    상기 정보 요청 트랜잭션을 블록체인 네트워크로 발생시키는 단계는,
    상기 서비스 서버가, 상기 전자 서명, 상기 목적지 공개키 및 상기 사용 티켓이 약속된 포맷으로 변환되어 있는지 여부를 검사하여, 검사에 성공한 경우 상기 정보 요청 트랜잭션을 블록체인 네트워크로 발생시키는 것을 특징으로 하는 개인 도메인 네임 서비스 방법.
  8. 제1항에 있어서,
    상기 수신하는 단계는,
    상기 도메인 질의 메시지에 개인 도메인 코드가 포함되는 경우, 상기 서비스 서버가 도메인 네임 서비스 서버로부터 상기 도메인 질의 메시지를 수신하는 것을 특징으로 하는 개인 도메인 네임 서비스 방법.
  9. 개인 도메인 네임을 이용하여 사설 네트워크의 접속을 제어하는 방법으로서,
    서비스 서버가, 통신 단말에서 전송된 사용자에 의해 기 등록되어 있는 개인 도메인 네임과 전자 서명을 포함하는 도메인 질의 메시지를 수신하는 단계;
    상기 전자 서명의 검증에 성공하면, 상기 서비스 서버가 상기 개인 도메인 네임 및, 상기 전자 서명 또는 상기 도메인 질의 메시지 중 적어도 하나로부터 추출된 하나 이상의 공개키와 대응되는 사설 네트워크의 접속 주소를 획득하는 단계; 및
    상기 서비스 서버가, 상기 사설 네트워크의 접속 주소를 상기 도메인 응답으로서 상기 통신 단말로 전송하는 단계;를 포함하는 접속 제어 방법.
  10. 제9항에 있어서,
    상기 전송하는 단계 이후에,
    상기 사설 네트워크에 포함된 보안 장치가, 사용 티켓이 포함된 접속 요청 메시지를 상기 통신 단말로부터 수신하는 단계;
    상기 보안 장치가, 상기 사용 티켓이 저장중인 사용 티켓보다 큰 값을 가지는지 여부를 검증하는 단계; 및
    상기 보안 장치가 상기 사용 티켓의 검증에 성공하면, 상기 통신 단말에 대한 사설 네트워크 접속을 허용하는 단계;를 더 포함하는 것을 특징으로 하는 접속 제어 방법.
  11. 제10항에 있어서,
    상기 보안 장치가, 상기 접속 요청 메시지에서 토큰을 확인하고, 상기 토큰이 블록체인 네트워크에서 발행된 토큰과 일치하는지 여부를 검증하는 단계; 및
    상기 보안 장치가 상기 토큰의 검증에 성공하면, 상기 통신 단말에 대한 사설 네트워크 접속을 허용하는 단계;를 더 포함하는 것을 특징으로 하는 접속 제어 방법.
  12. 제10항에 있어서,
    상기 접속 주소를 획득하는 단계는,
    상기 통신 단말의 공개키가 상기 사설 네트워크로의 접속 가능한 통신 단말의 공개키로 이미 등록되어 있는지 여부를 검증하여, 검증에 성공하면 사설 네트워크의 접속 주소를 획득하는 것을 특징으로 하는 접속 제어 방법.
  13. 제12항에 있어서,
    상기 접속 주소를 획득하는 단계는,
    상기 서비스 서버가 상기 개인 도메인 네임, 전자 서명 및 상기 보안 장치의 공개키를 포함하는 정보 요청 트랜잭션을 블록체인 네트워크로 발생시키는 단계;
    상기 블록체인 네트워크가, 상기 전자 서명을 검증하여 상기 통신 단말의 공개키를 획득하고, 상기 개인 도메인 네임, 상기 통신 단말의 공개키를 포함하는 블록을 확인하는 단계; 및
    상기 블록체인 네트워크가, 상기 확인한 블록에서 상기 통신 단말의 공개키가 관리자용 공개키 또는 접근 허락된 공개키로 저장되어 있는지 여부를 확인하여 저장되어 있으면, 상기 블록에서 상기 사설 네트워크의 접속 주소를 획득하여, 상기 서비스 서버로 전송하는 단계;를 포함하는 접속 제어 방법.
  14. 제12항에 있어서,
    도메인 관리 서버가, 상기 개인 도메인 네임, 상기 보안 장치의 공개키 및 상기 통신 단말의 공개키가 포함된 디바이스 추가 요청 메시지를 관리자 단말로부터 수신하는 단계;
    상기 도메인 관리 서버가, 상기 개인 도메인 네임, 상기 보안 장치의 공개키 및 상기 통신 단말의 공개키를 포함하는 디바이스 추가 트랜잭션을 블록체인 네트워크로 발생시키는 단계; 및
    상기 블록체인 네트워크가, 상기 관리자 단말의 공개키를 확인하고, 이 공개키가 관리자용 공개키로 설정되어 있는지 여부를 검증하여 검증에 성공하면, 상기 디바이스 추가 트랜잭션을 포함하는 신규 블록을 생성하여 상기 블록체인에 저장하는 단계;를 더 포함하는 접속 제어 방법.
  15. 제10항에 있어서,
    상기 접속 주소를 획득하는 단계는,
    상기 서비스 서버가, 상기 개인 도메인 네임, 상기 보안 장치의 공개키 및 상기 전자 서명을 포함하는 정보 요청 트랜잭션을 블록체인 네트워크로 발생시키는 단계;
    상기 블록체인 네트워크가, 상기 전자 서명을 검증하여 상기 통신 단말의 공개키를 획득하고, 상기 개인 도메인 네임, 상기 보안 장치의 공개키 및 상기 통신 단말의 공개키를 포함하는 블록을 확인하고, 이 블록에서 상기 사설 네트워크의 접속 주소 정보를 추출하는 단계; 및
    상기 서비스 서버가, 사설 네트워크의 접속 주소를 상기 블록체인 네트워크로부터 수신하는 단계;를 포함하는 접속 제어 방법.
  16. 개인 도메인 네임을 이용하여 사설 네트워크의 접속을 제어하는 시스템으로서,
    통신 단말에서 전송된 사용자에 의해 기 등록되어 있는 개인 도메인 네임과 전자 서명을 포함하는 도메인 질의 메시지를 수신하면, 상기 개인 도메인 네임 및, 상기 전자 서명 또는 상기 도메인 질의 메시지 중 적어도 하나로부터 추출된 하나 이상의 공개키와 대응되는 사설 네트워크의 접속 주소를 획득하여, 상기 사설 네트워크로의 접속 주소를 상기 도메인 응답으로서 상기 통신 단말로 전송하는 서비스 서버; 및
    상기 사설 네트워크의 보안을 담당하며, 상기 접속 주소로 접속한 상기 통신 단말을 검증하고, 상기 통신 단말의 검증에 성공한 경우, 상기 통신 단말에 대한 사설 네트워크 접속을 허용하는 보안 장치;를 포함하는 접속 제어 시스템.
  17. 제16항에 있어서,
    상기 보안 장치는,
    상기 통신 단말로부터 토큰을 수신하고, 상기 토큰이 블록체인 네트워크에서 발행된 토큰과 일치하는지 여부를 확인하여 상기 통신 단말을 검증하는 것을 특징으로 하는 접속 제어 시스템.
  18. 제17항에 있어서,
    상기 보안 장치는,
    상기 통신 단말의 공개키, 상기 보안 장치의 공개키 및 상기 개인 도메인 네임를 포함하는 블록에서 추출된 토큰을 상기 블록체인 네트워크로부터 수신하고, 상기 블록체인 네트워크로부터 수신한 토큰과 상기 통신 단말로부터 수신한 토큰이 일치하는지 여부를 검증하는 것을 특징으로 하는 접속 제어 시스템.
  19. 제16항에 있어서,
    상기 서비스 서버는,
    상기 통신 단말의 공개키가 상기 사설 네트워크로의 접속 가능한 통신 단말의 공개키로 이미 블록체인에 등록되어 있는지 여부를 검증하여, 검증에 성공하면 사설 네트워크의 접속 주소를 상기 블록체인으로부터 획득하는 것을 특징으로 하는 접속 제어 시스템.
  20. 제19항에 있어서,
    상기 서비스 서버에서 상기 개인 도메인 네임, 전자 서명 및 상기 보안 장치의 공개키를 포함하는 정보 요청 트랜잭션을 발생시키면, 상기 전자 서명을 검증하여 상기 통신 단말의 공개키를 획득하고, 상기 개인 도메인 네임, 상기 통신 단말의 공개키를 포함하는 블록을 확인하고, 이 블록에서 상기 통신 단말의 공개키가 관리자용 공개키 또는 접근 허락된 공개키로 저장되어 있는지 여부를 확인하여 저장되어 있으면, 상기 블록에서 상기 사설 네트워크의 접속 주소를 획득하여, 상기 서비스 서버로 전송하는 블록체인 네트워크;를 더 포함하는 것을 특징으로 하는 접속 제어 시스템.
KR1020190054985A 2018-05-16 2019-05-10 개인 도메인 네임 서비스 방법 및 개인 도메인 네임을 이용한 접속 제어 방법과 시스템 KR102303273B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/005733 WO2019221468A1 (ko) 2018-05-16 2019-05-13 개인 도메인 네임 서비스 방법 및 개인 도메인 네임을 이용한 접속 제어 방법과 시스템

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180056194 2018-05-16
KR20180056194 2018-05-16

Publications (2)

Publication Number Publication Date
KR20190131434A KR20190131434A (ko) 2019-11-26
KR102303273B1 true KR102303273B1 (ko) 2021-09-16

Family

ID=68731281

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190054985A KR102303273B1 (ko) 2018-05-16 2019-05-10 개인 도메인 네임 서비스 방법 및 개인 도메인 네임을 이용한 접속 제어 방법과 시스템

Country Status (1)

Country Link
KR (1) KR102303273B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117436878B (zh) * 2023-12-19 2024-02-23 成都天府通数字科技有限公司 基于区块链技术的多通道的支付方法和支付系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170324738A1 (en) * 2016-05-03 2017-11-09 Alcatel-Lucent Usa Inc. Internet security

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010066754A (ko) 1999-12-30 2001-07-11 전원호 인터넷상에서 사용자가 원하는 언어로 도메인 이름들을사용하기 위한 시스템
KR100442594B1 (ko) * 2001-09-11 2004-08-02 삼성전자주식회사 무선통신 시스템의 패킷 데이터 서비스 방법 및 장치
EP1654852B1 (en) * 2003-07-11 2008-04-02 International Business Machines Corporation System and method for authenticating clients in a client-server environment
KR20070009490A (ko) * 2005-07-14 2007-01-18 정태우 아이피 주소 기반 사용자 인증 시스템 및 방법
KR20100041582A (ko) * 2008-10-14 2010-04-22 주식회사 케이티 개인화 서비스 제공 시스템 및 그 방법
WO2016154001A1 (en) * 2015-03-20 2016-09-29 Rivetz Corp. Automated attestation of device integrity using the block chain

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170324738A1 (en) * 2016-05-03 2017-11-09 Alcatel-Lucent Usa Inc. Internet security

Also Published As

Publication number Publication date
KR20190131434A (ko) 2019-11-26

Similar Documents

Publication Publication Date Title
CN105308616B (zh) 文件安全方法及其设备
JP5947453B2 (ja) パスコード運営システム、パスコード装置、及びスーパーパスコードの生成方法
JP5591232B2 (ja) 仮想入力レイアウトを用いた情報伝送
CN100454274C (zh) 利用验证过的打印机密钥的安全打印
JP4741629B2 (ja) アイコン暗号を用いた認証方法
CN101953113B (zh) 对可漫游凭证存储的安全且可用保护
CN111447214B (zh) 一种基于指纹识别的公钥密码集中服务的方法
JP6543743B1 (ja) 管理プログラム
US9634833B2 (en) Gesture-based password entry to unlock an encrypted device
KR101541591B1 (ko) Vdi 환경에서의 싱글 사인온 시스템 및 방법
US20150149784A1 (en) Communication method utilizing fingerprint information authentication
CN104520873A (zh) 用于保护和恢复虚拟机的系统和方法
JP7259971B2 (ja) ユーザクレデンシャル制御システムおよびユーザクレデンシャル制御方法
RU2012143920A (ru) Способ подписания электронных документов аналого-цифровой подписью с дополнительной верификацией
KR20190132120A (ko) 개인 도메인 네임을 이용한 간편 로그인 방법 및 시스템
CN105808977A (zh) 一种文件读操作、写操作的处理方法及装置
KR102146940B1 (ko) 토큰 위변조 검증 방법
KR102303273B1 (ko) 개인 도메인 네임 서비스 방법 및 개인 도메인 네임을 이용한 접속 제어 방법과 시스템
KR20190120317A (ko) 분할형 키 인증 시스템
JP6632615B2 (ja) 認証スティック
WO2019221468A1 (ko) 개인 도메인 네임 서비스 방법 및 개인 도메인 네임을 이용한 접속 제어 방법과 시스템
KR102209777B1 (ko) 개인 도메인 네임을 이용한 사설 네트워크 접속 제어 방법과 시스템
KR20200000978A (ko) 데이터 보안 방법과 시스템
KR20190061420A (ko) 포털사이트 중계 서비스 제공방법 및 그 서버
KR102333287B1 (ko) 블록체인 네트워크를 형성하고 있는 복수의 노드 장치들과 연동하여 보안 채팅 서비스를 제공하는 채팅 서비스 서버 및 그 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right