KR102399632B1 - 무선통신 시스템에서 블록 체인 기반 데이터 송수신 방법 및 장치 - Google Patents

무선통신 시스템에서 블록 체인 기반 데이터 송수신 방법 및 장치 Download PDF

Info

Publication number
KR102399632B1
KR102399632B1 KR1020200112945A KR20200112945A KR102399632B1 KR 102399632 B1 KR102399632 B1 KR 102399632B1 KR 1020200112945 A KR1020200112945 A KR 1020200112945A KR 20200112945 A KR20200112945 A KR 20200112945A KR 102399632 B1 KR102399632 B1 KR 102399632B1
Authority
KR
South Korea
Prior art keywords
terminal
packet
payment channel
payload
block chain
Prior art date
Application number
KR1020200112945A
Other languages
English (en)
Other versions
KR20220031252A (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 KR1020200112945A priority Critical patent/KR102399632B1/ko
Publication of KR20220031252A publication Critical patent/KR20220031252A/ko
Application granted granted Critical
Publication of KR102399632B1 publication Critical patent/KR102399632B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/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
    • 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/0892Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/3215Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a plurality of channels
    • 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/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/084Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 개시는 서로 다른 이동 통신 사업자 간 망 공용화 또는 망 공유에 따라 발생할 수 있는 문제를 해결하기 위하여, 블록체인 기반 새로운 무선 통신 시스템 구조 및 데이터 송수신 방법을 제안한다. 보다 구체적으로, 본 개시의 일 실시 예에서 새롭게 제안된 블록체인 기반 무선 통신 시스템에 따르면, 높은 확장성 및 보안성을 지닌 무선통신 네트워크 환경이 구축될 수 있다. 또한, 상기 블록체인 기반 무선 통신 시스템에서 네트워크 제어를 위한 SDN 기술이 적용될 수 있는 새로운 시스템 구조가 제안됨에 따라, 효율적인 네트워크 제어가 이루어질 수 있다. 또한, 본 개시의 일시 예에서 제안된 결제 채널 기반 데이터 송수신 방법에 따라 블록체인의 부하를 감소시키고, 처리 속도가 높은 네트워크 환경이 구축될 수 있다.

Description

무선통신 시스템에서 블록 체인 기반 데이터 송수신 방법 및 장치{METHOD AND APPARATUS FOR TRANSMITTING AND RECEIVING DATA BASED ON BLOCKCHAIN IN A WIRELESS COMMUNICATION SYSTEM}
본 개시는 무선통신 시스템에서 블록체인 (blockchain) 기반 데이터 송수신 방법에 관한 것이다. 예를 들면, 블록체인 기술에 기반하여 네트워크 접속 및 데이터 송수신하는 방법에 관한 것이다.
최근 스마트폰 (smartphone)의 보급률이 높아짐에 따라 독립적인 무선 핫스팟 (hotspot)을 설치하여 비면허 대역 (unlicensed spectrum)에서의 데이터 송수신을 원하는 개인이나 기업들이 무선 랜 설치에 앞장서고 있다. 한편, 상기 비면허 대역에서는 누구나 손쉽게 무선 랜 AP (access point)를 설치하고, 사용할 수 있는데, 이러한 비면허 대역의 특징으로 인하여 상기 무선 랜 AP의 수가 기하급수적으로 증가하게 되었고, 상기 무선 랜 AP 상호 간 잦은 간섭이 발생하였다.
한편, 면허 대역 (licensed spectrum)의 셀룰러 네트워크 (cellular network) 에서는 높아진 서비스 품질에 대한 요구를 만족 시키기 위하여 전 (entire) 서비스 지역을 커버하기 위한 방안이 고안되고 있다. 그러나 전 서비스 지역을 커버하기 위한 네트워크 구축에는 사업자 비용이 크게 요구된다. 이에 일부 국가에서는 비면허 대역의 망 공용화 또는 망 공유를 통해 상호 중복되는 서비스 지역을 회피함으로써 비용을 절감하는 방안을 제안하기도 하였다. 즉, 상술한 무선 랜 AP의 과도한 설치로 인한 성능 저하 문제점에도 불구하고, 상기 무선 랜 AP에 기반한 비면허 대역에서의 망 공용화 또는 망 공유를 통해 면허 대역의 셀룰러 네트워크 부하를 줄이고자 하는 것이다. 하지만, 개인이나 기업들 (또는 서로 다른 네트워크 사업자들)이 설치한 무선 랜을 공유 하는 데에는 한계점이 있다. 일반적으로, 무선 랜을 공개하면 네트워크 자원을 다른 사용자들과 공유하게 되므로, 상대적으로 본인의 서비스 품질은 저하될 수있며, 또한 다른 사용자들의 무선 랜을 사용할 수 도 있다는 보장도 없고, 보안성에 대한 한계도 존재한다.
한편, 최근 비트 코인 (Bitcoin) 등 가상화폐를 통해 검증된 블록체인 (blockchain) 기술이 미래 4차 산업 혁명의 주요 기술로 대두됨에 따라 다양한 분야에서 연구가 이루어지고 있다. 상기 블록체인 기술은 네트워크로 연결된 분산 컴퓨터 (distributed computer)들을 이용하여 변경이 불가역적인 많은 연산량을 요구하는 체인형태의 자료구조를 생성 및 유지한다. 이를 이용하여 사용자간 전자화폐 거래 정보의 저장, 검색 등의 과정이 공공에 공개되어 투명성을 유지함으로써 임의의 정보의 왜곡 및 훼손을 방지할 수 있다. 상기 분산 컴퓨팅에 참여하는 컴퓨터들은 자발적으로 블록노드 (blocknode)의 생성과 유지, 관리 역할을 수행하는 대신, 이에 상응하는 인센티브로 대가를 받을 수 있다.
최근 상기 블록 체인 기술을 네트워크 영역에 적용하고자 하는 움직임이 있다. 예를 들어, 블록체인을 이용하여 서로 다른 이동 통신 사업자간 가입자 정보를 공유하거나, 가상 망 임대 사업에 이용하고자 하는 기술이 표준 단체에서 논의되고 있는 중이다.
따라서, 상술한 바와 같은 망 공용화 및 망 공유에서의 문제점을 해결하기 위하여 상기 블록체인 기술을 적용하기 위한 논의가 필요한 실정이다.
상술한 바와 같은 서로 다른 이동 통신 사업자 간 (또는, 개인, 기업 등이 될 수도 있다.) 망 공용화 또는 망 공유에 따라 발생할 수 있는 문제를 해결하기 위하여, 높은 보안성 및 확장성을 갖는 블록체인에 기반한 새로운 무선 통신 시스템 구조가 고안될 필요가 있다.
또한, 사용자가 상기 서로 다른 이동 통신 사업자로부터 보다 다양한 서비스를 제공 받기 위해서는, 인증 기반 네트워크 접근 제어 방식에서 기존 무선 랜 네트워크와 달리 사용자 별 (per-user) 또는 서비스 별 (또는, 애플리케이션 별) 어드미션 (admission) 제어가 요구된다. 따라서, 상기 블록체인 기반 무선 통신 시스템에 네트워크 슬라이싱 (network slicing) 및 네트워크 제어를 위한 소프트웨어 정의 네트워크 (soft-defined network, SDN) 기술이 적용된 (또는, 적용될 수 있는) 새로운 네트워크 구조가 고안될 필요가 있다.
또한, 망 공용화 또는 망 공유에 따른 사용자 증가로 인한 블록체인의 트래픽 (또는, 트랜잭션) 부하를 감소시킬 수 있는 새로운 패킷 (또는, 데이터) 송수신 방법이 고안될 필요가 있다.
전술한 문제를 해결하기 위하여 본 개시의 일 실시 예에 따르면 단말의 방법이 제공된다. 상기 방법은 AP (access point)를 통해 블록체인 (blockchain) 서버와 인증 절차를 수행하는 단계; 상기 AP에 대한 결제 채널을 수립 (establish)하는 단계; 상기 AP에 토큰 (token) 정보를 포함하는 패킷 (packet)을 전송하는 단계; 상기 패킷의 전송에 대한 응답으로, 상기 AP로부터 비밀 값 (secret value)를 수신하는 단계; 상기 비밀 값에 기반하여 BP (balance proof)에 대한 머클트리 루트 값 (merkletree root value)를 업데이트하는 단계를 포함한다.
또한, 본 개시의 일 실시 예에 따르면 AP의 방법이 제공된다. 상기 방법은 블록체인 (blockchain) 서버와 연동하여 단말에 대한 인증 절차를 수행하는 단계; 상기 단말에 대한 결제 채널을 수립 (establish)하는 단계; 상기 단말로부터 토큰 (token) 정보를 포함하는 패킷 (packet)을 수신하는 단계; 상기 토큰 정보에 포함된 상기 단말의 전자 서명 (signature)에 기반하여, 상기 단말이 상기 패킷을 전송했는지 여부를 확인하는 단계; 및 상기 단말이 상기 패킷을 전송한 것으로 확인된 경우, 상기 패킷의 수신에 대한 응답으로, 상기 단말에 비밀 값 (secret value)를 전송하는 단계를 포함한다.
또한, 본 개시의 일 실시 예에 따르면 단말이 제공된다. 상기 단말은 송수신부; 및 AP (access point)를 통해 블록체인 (blockchain) 서버와 인증 절차를 수행하고, 상기 AP에 대한 결제 채널을 수립 (establish)하고, 상기 AP에 토큰 (token) 정보를 포함하는 패킷 (packet)을 전송하도록 상기 송수신부를 제어하고, 상기 패킷의 전송에 대한 응답으로, 상기 AP로부터 비밀 값 (secret value)를 수신하도록 상기 송수신부를 제어하며, 상기 비밀 값에 기반하여 BP (balance proof)에 대한 머클트리 루트 값 (merkletree root value)를 업데이트하는 제어부를 포함한다.
또한, 본 개시의 일 실시 예에 따르면 AP가 제공된다. 상기 AP는 송수신부; 및 블록체인 (blockchain) 서버와 연동하여 단말에 대한 인증 절차를 수행하고, 상기 단말에 대한 결제 채널을 수립 (establish)하고, 상기 단말로부터 토큰 (token) 정보를 포함하는 패킷 (packet)을 수신하도록 상기 송수신부를 제어하고, 상기 토큰 정보에 포함된 상기 단말의 전자 서명 (signature)에 기반하여, 상기 단말이 상기 패킷을 전송했는지 여부를 확인하며, 상기 단말이 상기 패킷을 전송한 것으로 확인된 경우, 상기 패킷의 수신에 대한 응답으로, 상기 단말에 비밀 값 (secret value)를 전송하도록 상기 송수신부를 제어하는 제어부를 포함한다.
본 개시의 일 실시 예에 따른 블록체인 기반 무선 통신 시스템이 제안됨에 따라, 망 공유화 또는 망 공유에 있어 서로 다른 이동 통신 사업자들이 하나 또는 복수의 블록체인 서버에 기반하여 단말 (또는, 사용자)을 인증하고, 서비스를 제공할 수 있게 됨으로써, 높은 확장성 및 보안성을 지닌 무선 통신 네트워크 환경이 구축될 수 있다.
또한, 본 개시의 일 실시 예에 따른 상기 블록체인 기반 사용자 인증에 있어서, 네트워크 제어를 위한 SDN 기술이 적용될 수 있는 새로운 네트워크 구조가 제안됨에 따라, 효율적인 네트워크 제어가 이루어질 수 있다.
또한, 본 개시의 일 실시 예에 따른 결제 채널 (또는, 지불채널 (payment channel)) 기반 데이터 송수신 방법이 제안됨에 따라, 블록체인의 부하를 감소시키고, 처리 속도가 높은 네트워크 환경이 구축될 수 있다.
본 개시의 상기 및 다른 목적, 특징 및 이점은 첨부된 도면을 참조하여 본 개시의 실시 예들에 대한 다음의 설명을 통해 보다 명확해질 것이다.
도 1은 기존 무선 랜 네트워크 구조를 도시한 도면이다.
도 2는 기존 무선 랜 네트워크에서 수행되는 네트워크 접속 절차를 나타낸 흐름도이다.
도 3은 본 개시의 일 실시 예가 적용될 수 있는 블록체인 기반 무선 랜 네트워크 구조를 도시한 도면이다.
도 4는 본 개시의 일 실시 예가 적용될 수 있는 블록체인 기반 무선 랜 네트워크에서 블록체인 계정이 생성되는 절차를 나타낸 흐름도이다.
도 5는 본 개시의 일 실시 예가 적용될 수 있는 블록체인 기반 무선 랜 네트워크에서 수행되는 네트워크 접속 절차를 나타낸 흐름도이다.
도 6은 본 개시의 일 실시 예가 적용될 수 있는 블록체인 기반 무선 랜 네트워크에 SDN 기술이 적용된 시스템 구조를 도시한 도면이다.
도 7은 본 개시의 일 실시 예가 적용될 수 있는 블록체인 기반 무선 랜 네트워크에 SDN 기술을 적용한 네트워크의 기능 구조를 도시한 도면이다.
도 8은 본 개시의 일 실시 예가 적용될 수 있는 블록체인 기반 무선 랜 네트워크에 SDN 기술이 적용된 경우, 네트워크 접속 및 트래픽 제어 처리를 나타낸 흐름도이다.
도 9은 본 개시의 일 실시 예가 적용될 수 있는 싱글 홉 (single-hop) 결제 채널 (또는, 지불 채널 (payment channel)) 시스템의 구조를 도시한 도면이다.
도 10는 본 개시의 일 실시 예가 적용될 수 있는 멀티 홉 (multi-hop) 결제 채널 시스템의 구조를 도시한 도면이다.
도 11은 본 개시의 일 실시 예에 따른 일반적인 패킷이 토큰 정보 (또는, 토큰 헤더, 결제 정보)를 추가적으로 포함하는 프로토콜을 도시한 도면이다.
도 12는 멀티 홉 결제 채널 시스템에서 도 11에서 제안한 프로토콜에 기반하여 단말이 패킷을 전송하는 과정을 도시한 도면이다.
도 13는 본 개시의 일 실시 예에 따른 멀티 홉 결제 채널 시스템에서 데이터 송수신 절차를 도시한 흐름도이다.
도 14은 본 개시의 일 실시 예에 따른 싱글 홉 결제 채널 시스템에서 데이터 송수신에 대한 단말의 동작 순서를 도시한 도면이다.
도 15는 본 개시의 일 실시 예에 따른 싱글 홉 결제 채널 시스템에서 데이터 송수신에 대한 AP의 동작 순서를 도시한 도면이다.
도 16은 본 개시의 일 실시 예에 따른 싱글 홉 결제 채널 시스템에서 데이터 송수신 절차의 흐름을 도시한 도면이다.
도 17는 본 개시의 일 실시 예가 적용될 수 있는 단말의 구조를 도시한 도면이다.
도 18은 본 개시의 일 실시 예가 적용될 수 있는 AP의 구조를 도시한 도면이다.
도 19는 본 개시의 일 실시 예가 적용될 수 있는 블록체인 서버의 구조를 도시한 도면이다.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시 예들을 상세히 설명한다. 이 때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한, 본 개시의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.
본 명세서에서 실시 예를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고, 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 개시의 이점 및 특징, 및 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 개시의 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판동 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐롬도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고, 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체 지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
이하, 본 개시에서, 단말은 사용자 장비 (user equipment, UE), MS (mobile station), WTRU (wireless transmit/receive unit) 등 이중 어느 하나로 지칭될 수 있으며, 이에 국한되지 않고 동일한 의미 내에서 상기 단말을 지칭하는 다른 용어가 사용될 수도 있다.
도 1은 기존 무선 랜 네트워크 구조를 도시한 도면이다.
사용자 (또는 단말) (100)가 무선 랜 (105)을 통하여 인터넷에 접근하는 방식으로, AP (access point) (105) 자체에서 인증키 (예들 들어, wired equivalent privacy (WEP))에 기반하여 사용자 접근을 허용하는 방식 또는, 사업자와 같은 인터넷 서비스 제공 업체 (internet service provider)에서 가입자 정보 관리를 통해 인증을 수행하는 방식이 존재한다. 도 1은 후자의 경우로, 가입자 정보를 관리하는 AAA (authentication authorization account) 서버 (115)를 통해 가입자 정보를 확인하여 사용자의 인터넷 접속을 제어하는 방식을 따르는 무선 랜 네트워크 구조를 도시한 도면이다.
도 1에서, NAS (network access server) (110)는 여러 개의 AP에 대한 인증을 관리하고, 실제 가입자 정보 확인을 위한 데이터베이스 접근은 상기 AAA 서버 (115)를 통해 이루어진다.
상기 도1의 기존 무선 랜 네트워크에서, 단말 (100)이 네트워크 인증 및 접속 절차를 수행하는 과정은 도2를 참고하여 구체적으로 설명하기로 한다.
도 2은 도 1의 기존 무선 랜 네트워크에서 수행되는 네트워크 접속 절차를 나타낸 흐름도이다.
도 2를 참고하면, 201 단계에서 단말 (100) 은 AP (예들 들어, Wi-Fi AP)으로부터 주기적으로 전송되는 메시지 (예들 들어, 비콘 (beacon) 메시지)를 수신한다. 상기 비콘 메시지에는 인증 방식에 대한 정보가 포함될 수 있다. 예를 들어, 상기 인증 방식으로 유무선 네트워크에서 사용자 인증이나 키 교환을 통한 상호 보안 연결을 생성 및 유지하기 위해 고안된 프로토콜인 EAP (extensible authentication protocol) 프로토콜이 사용될 수 있다. 상기 비콘 메시지에 포함되는 인증 방식에 대한 정보로, 상기 EAP 프로토콜 인증 방식 중 하나인 EAP-TLS 또는 EAP-FAST에 대한 정보가 포함될 수 있고, 그 외 PEAP (protected EAP), LEAP (lightweight EAP) 변형 프로토콜 기반 인증 방식에 대한 정보가 포함될 수 있다.
상기 인증 방식에 대한 정보를 포함한 비콘 메시지를 수신한 단말은 202 단계에서 상기 인증 방식에 대한 정보에 기반하여, 인증 방식을 확인하고, 상기 AP에 대한 접근 권한을 얻기 위해, 상기 AP에 연관 요청 메시지 (association request message)를 전송한다.
203 단계에서 단말은 상기 AP로부터 연관 응답 메시지 (association response)를 수신함으로써, 상기 단말과 상기 AP는 연관된다. (association) 한편, 무선 구간인 상기 단말과 상기 AP 간 인증이 필요하지 않은 경우, 상기 연관 요청 메시지에 대해 상기 AP가 응답을 보냄으로써 association이 자동으로 설정 되지만, 이것 만으로는 네트워크에 접근이 허용 되는 것은 아니라는 것을 유의해야 한다.
이후 204 단계에서, 상기AP는 EAP 프로토콜에 기반하여 상기 단말의 ID를 요청하는 EAP 요청 메시지 (EAP request message (ID))를 전송한다.
205 단계에서, 상기 AP는 상기 EAP 요청 메시지에 대한 응답으로, 상기 단말의 ID를 포함하는 EAP 응답 메시지 (EAP response message (ID))를 수신한다.
206 단계에서 상기 AP는 상기 EAP 응답 메시지를 RADIUS (remote authentication dial in user service) 프로토콜에 기반한 접속 요청 메시지 (access request message (ID))에 포함시켜 AAA서버에 전송한다.
207 단계에서, 상기 AAA 서버에서는 수신된 접속 요청 메시지에 포함된 상기 단말의 ID를 확인한 후, 사용자 인증을 수행 하기 위한 Challenge 절차를 수행하기 위해 접속 챌린지 메시지 (access challenge (예를 들어, random number, 또는 nounce 등을 포함하는 메시지를 지칭할 수 있다.)메시지)를 상기 AP에 전송한다.
208 단계에서 상기 AP는 상기 AAA로부터 수신된 접속 챌린지 메시지를 EAP 프로토콜에 기반한 메시지 (EAP request message (CH))에 포함시켜 상기 단말에 전송한다.
209 단계에서, 상기 단말은 수신된 메시지에 포함된 random number 또는 nounce를 자신의 인증 키를 이용하여 암호화하고, 결과 값을 EAP 프로토콜에 기반한 메시지 (EAP response message (CH))에 포함시켜 상기 AP에 전송한다.
210 단계에서, 상기 AP는 상기 단말로부터 수신된 메시지 (EAP response message (CH))를 RADIUS 프로토콜에 기반한 접속 요청 메시지 (access request message (CH))에 포함시켜 상기 AAA 서버에 전송한다.
211 단계에서, 상기 AAA 서버는 수신된 접속 요청 메시지에 포함된 암호화된 값을 복호화하여 상기 단말을 인증한다.
이 후 상기 AAA 서버는 212 단계에서, 인증 결과를 접속 응답 메시지 (access response message) (또는, 인증 결과가 성공적인 경우, 접속 허용 메시지 (access accept message) 일 수도 있다.)에 포함시켜 상기 AP에 전송한다. 한편, 인증이 실패한 경우, 접속 거절 메시지를 상기 AP에 전송할 수 있으며, 상기 접속 거절 메시지를 전송하지 않을 수도 있다.
213 단계에서 상기 AP는 수신된 접속 응답 메시지에 포함된 인증 결과를 EAP 프로토콜에 기반한 메시지 (EAP success message)에 포함하여 인증 성공 여부를 상기 단말에 전송함으로써 네트워크 접속 절차가 수행된다.
도 2에서 상기 단말과 상기 AAA 서버의 인증 방식은 공개 키나 비밀 키를 이용하여 처리할 수 있으며 프로토콜 및 구현에 따라 달라 질 수 있다.
한편, 상술한 바와 같은 기존 무선 랜 네트워크에서의 인증 방법은 복수의 이동통신 사업자가 면허 대역의 셀룰러 네트워크 부하를 줄이고자, 비면허 대역에서 수많은 무선 랜 AP를 통한 망 공용화 또는 망 공유를 구현하는데 한계가 있다. 예를 들어, 특정 이동 통신 사업자가 망 공용화를 하여도, 단말이 공유된 망에 접속하기 위해서는 이동 통신 사업자 들 간 상기 단말을 인증하기 위한 정보가 공유되어야 하며, 이 경우 보안성 문제가 발생할 수 있다. 또한, 단말이 이동하여 새로운 공유된 망에 접속할 필요가 있을 때마다, 기존 무선 랜 네트워크에서의 인증 방법에 따라, 상기 단말을 인증하기 위하여 이동 통신 사업자 들 간 상기 단말을 인증하기 위한 정보를 요청하고 수신하는 절차가 수행된다면 시그널링 부하 증가 및 처리 속도 감소 등의 문제점이 발생할 수 있다.
따라서, 전술한 문제점을 해결하기 위하여, 본 개시에서는 기존 무선 랜 네트워크와 달리, 다수의 이동 통신 사업자가 하나 또는 복수의 블록체인 서버를 통해 단말을 인증하기 위한 정보를 관리하고, 상기 블록체인 서버에 기반하여 단말을 인증 및 네트워크 서비스를 제공하는 새로운 시스템 구조를 제안한다. 이는 도 3을 참고하여 구체적으로 설명하기로 한다.
도 3은 본 개시의 일 실시 예가 적용될 수 있는 블록체인 기반 무선 랜 네트워크 구조를 도시한 도면이다.
도 3에서 무선 랜 AP (혹은 NAS (310)) (305)은 단말 (300)의 인터넷 접속을 제어하기 위해 블록체인 시스템 (315 및 320)과 연동하여 상기 단말 (300)에 대한 인증을 수행한다.
블록체인이란, 정보를 블록에 저장하여 기존 블록에 연속적으로 연결하여 체인 형태를 구성하는 자료구조이다. 블록체인은 하나의 컴퓨터에서 동작하는 데이터베이스와 같은 자료 저장 구조가 아닌, 노드 대 노드 (peer-to-peer, P2P) 네트워크 시스템을 이용한 분산형 자료 구조이다. 기존 분산형 데이터 저장 시스템의 경우, 효율성을 위해 중복 저장을 회피하는 반면, 블록체인은 보안성을 위해 모든 노드들이 동일한 데이터 블록을 저장하는 차이점이 있다. 이러한 차이점에 의해 블록체인을 이루는 블록은 임의로 변경, 훼손이 어렵다. 특정 블록의 내용을 변경하기 위해서는 해당 블록 뒤에 연결되는 블록의 내용을 바꿔야 하며, 이로 인해 그 다음 블록도 연쇄적으로 변경되어야 하기 때문이다. 또한, 블록체인에서는 가장 긴 체인을 항상 선택하고, 상대적으로 짧은 분화된 (forking) 체인은 버려지기 때문에 결국 긴 체인의 블록들의 내용을 바꿔야만 하는데, 블록 생성 주기가 짧아 블록이 생성되어 체인에 붙기 전에 이전 블록들을 모두 수정하는 것은 불가능에 가깝다. 따라서, 상기 블록체인 시스템을 네트워크 인증에 연동한다면, 보안성을 크게 높일 수 있고, 분산 컴퓨팅 방식으로 다수의 이동 통신사 사업자들이 가입자 정보 (또는 단말, 사용자를 지칭할 수 있다.)를 공유하고 유지할 수 있음으로써 무선 랜 네트워크에 공개적 접근 권한 부여가 가능해진다.
도 3에서, BAS (blockchain based authentication server) (315) 는 블록체인 기반 인증 서버이다. 상기 BAS (315)는 블록 체인을 유지 관리하는 컴퓨팅 노드로 블록 체인의 블록은 마이닝 하는 기능을 포함할 수도 있고, 그렇지 않은 경우, 라이트 노드 (light node)로써 블록 내용인 트랜잭션 (transaction)을 탐색하거나 계정 정보를 열람하는 기능만 가질 수도 있다. 상기 BAS (315)은 NAS (310)사이에 무선 랜 인증을 위한 인터페이스를 구비하며, 인증 절차에 필요한 메시지를 처리하고, 가입자 정보 (또는 단말, 사용자를 지칭할 수 있다.)를 관리하는 기능을 구비할 수도 있다. 또한, 블록체인 플랫폼 관리를 위한 기능, 관리자 인터페이스 등을 포함할 수도 있다.
한편, 단말 (300)는 라이트 노드로써 블록 체인의 내용을 열람하거나, 자신의 계정에서 특정 계정으로 코인을 전송하는 트랜잭션 요청을 수행할 수 있고, 사용자 편의를 위해 상술한 기능 중 적어도 하나에 대한 웹 기반의 인터페이스를 구비할 수 있다.
본 개시에서 제안한 상기 블록체인 기반 무선 랜 네트워크 시스템에서, 네트워크 접속 절차의 수행 및 접속 후 서비스를 제공받기 위해, 상기 단말 (300) 및 상기 AP (305)는 블록 체인 계정을 가지고 있어야 한다.
도 3의 각각의 단말들 (300)은 고유의 블록체인 계정을 가지고 있으며, 상기 블록체인 계정은 사용자가 블록 체인 시스템 가입 시 발급될 수 있다. 상기 블록 체인 시스템은 서비스를 제공하는 업체 혹은 기관에 의해 유지 및 관리될 수 있다.
상기 단말 (300)와 마찬가지로, 무선 랜 접속을 허용하고자 하는 AP의 경우도 블록 체인 계정을 가지고 있어야 한다. 도 4에 따르면, 상기 AP에 대한 블록체인 계정은 상기 AP가 설치되고, 지정 NAS에 등록된 경우, 상기 NAS (310)가 BAS (315)에 계정 생성 요청을 하고 (410 단계), 상기 BAS (315)는 상기 AP (305)의 ID (예를 들어, AP의 MAC 주소 혹은 이에 상응하는 ID를 지칭할 수 있다.)에 대한 계정을 생성하고 (420 단계), 이를 상기 NAS (310)에 전송한다 (430 단계). 이러한 절차 이후에 BAS (315)는 하위 등록된 AP (305)에 대한 블록 체인 계정 정보를 아래의 표 1과 같이 관리한다. 각 블록체인 계정 정보는 임의 생성된 프라이빗 키 (private key)와 이에 상응하는 공개 키 (public key) 쌍으로 관리될 수 있으며, public key는 블록 체인의 계정 정보로 사용될 수 있다.
표 1
Figure 112020093835611-pat00001
상기 도 3의 블록체인 기반 무선 랜 네트워크에서, 단말 (300)이 네트워크 접속 절차를 수행하는 과정은 도 5를 참고하여 구체적으로 설명하기로 한다.
도 5는 본 개시의 일 실시 예가 적용될 수 있는 블록체인 기반 무선 랜 네트워크에서 수행되는 네트워크 접속 절차를 나타낸 흐름도이다.
도2에서와 같이, 단말 (300)은 501 단계에서, AP (305)로부터 인증 방식에 대한 정보를 포함하여 주기적으로 전송되는 메시지 (예를 들어, 비콘 (beacon) 메시지)를 수신한다.
상기 인증 방식에 대한 정보를 포함한 비콘 메시지를 수신한 단말은 502 단계 및 503 단계에서 상기 인증 방식에 대한 정보에 기반하여, 인증 방식을 확인하고, 상기 AP에 대한 접근 권한을 얻기 위하여 association 절차를 수행한다. 상기 association 절차는 도 2의 202 단계 및 203 단계와 동일하며, 구체적인 설명은 여기서 생략하기로 한다. 여기에서 IEEE 802.11에 따른 authentication request/response를 통해 authentication algorithm = BC (3) 과 같은 새로운 인증 방식이 사용될 수도 있다.
상기 단말 (300)이 상기 AP (305)에 연관 (association)된 이후, NAS (310)은 504 단계에서 상기 AP (305)를 통해 상기 단말 (300)의 ID를 요청하는 메시지를 상기 단말 (300)에 전송한다.
상기 504 단계에서 전송된 메시지를 수신한 상기 단말 (300)은 505 단계에서, 자신의 블록체인 계정 정보 (예를 들어, ACC_M), 자신의 MAC 주소를 개인 키로 암호화한 값 (예를 들어, #MAC) 및 상호 인증에 사용할 random 값 (예를 들어, nounce) 중 적어도 하나를 포함하는 EAP 메시지를 AP (및 NAS)에 전송한다.
506 단계에서, 상기 NAS (310)은 상기 EAP 메시지를 RADIUS 프로토콜에 기반한 접속 요청 메시지에 포함시켜 BAS (315)에 전송한다.
한편, 본 실시 예에서는 기존 AAA 기반 무선 랜 네트워크의 인증 절차에서 사용되는 RADIUS 프로토콜을 예로 들었으나, 이에 국한되지 않으며, 다른 프로토콜을 사용하거나, 새로운 프로토콜이 정의되어 사용될 수도 있다.
507 단계에서, 상기 BAS (315)가 상기 접속 요청 메시지를 수신한 경우, 상기 BAS (315)는 상기 접속 요청 메시지에 포함된 암호화된 단말 (300)의 MAC 주소 (#MAC)을 단말 (300)의 블록체인 계정 정보 (ACC_M)에 기반하여 복호화한 후, 단말 (300)의 MAC 주소를 확인하고 (예를 들어, 상기 단말 (300)의 MAC 주소가 유효한지 여부를 확인할 수 있다.), 블록체인 계정 정보인 ACC_M을 블록체인 (BC) (320)에서 탐색하여 현재 잔고를 확인한다. 만약, 상기 단말의 MAC 주소가 주소 형태를 가지지 않거나, 상기 블록체인 계정 정보가 조회 되지 않는 경우, 상기 BAS (315)는 상기 AP (305)에 접속 거절 메시지 (access reject message)을 전송함으로써 상기 단말의 접근을 제한할 수 있다.
만약 그렇지 않은 경우, 단말 인증을 수행하기 위한 access challenge 절차를 수행하기 위해, 상기 BAS (315)는 508 단계에서 상기 단말로부터 수신한 random 값을 상기 AP의 블록체인 계정인 ACC_N으로 암호화한 #rand 값 및 ACC_N를 포함한 access challenge 메시지를 상기 AP (305)을 통해 상기 단말 (300)에 전송한다. 이 때, 상기 AP (305)의 MAC 주소가 EAP를 포함하는 프레임에 포함되어 있는지 확인하여, 상기 ACC_N이 현재 연결 중인 AP의 블록체인 계정에 해당하는지 확인할 수 있다.
509 단계에서, 상기 단말은 상기 ACC_N에 기반하여 #rand를 복호화하고, 상기 505 단계에서 전송한 rand 값과 동일한지 여부에 따라 AP를 인증한다.
이후 상기 단말은 510 단계에서 특정 금액을 송금하기 위한 트랜잭션을 상기 인증된 AP (305) 및 상기 BAS (315)를 통해 BC (320)에 요구할 수 있다. 이 때, 상기 특정 금액은 상기 단말 (300)와 상기 AP (305) 간 트래픽 송수신 유효 시간에 상응할 수 있다. 예를 들어, 더 큰 금액의 지불은 더 긴 유효 시간의 할당을 요청하고, 더 작은 금액의 지불은 더 짧은 유효 시간의 할당을 요청하는 것을 의미할 수도 있다. 한편, 상기 특정 금액의 용도는 이에 국한되지 않으며, 다양한 용도 사용될 수도 있다. (예를 들어, 블록체인 수수료 등)
511 단계에서, 상기 단말은 상기 트랜잭션 처리 후, EAP 응답 메시지에 송금 내역 (AMOUNT)을 포함하여 상기 AP (305)를 통해 상기 BAS (315)에 전송한다 (512 단계).
513 단계에서, 상기 BAS (315)는 상기 트랜잭션이 잘 처리되었는지 잔고를 BC (320)에서 확인하고, 514 단계에서 상기 BAS (315)는 접속 허용 메시지 (access accept 메시지)에 상기 단말의 MAC 주소와 유효 시간을 포함하여 상기 AP (305)에 전송한다. 이 때, 상기 유효 시간은 상기 510 단계의 상기 특정 금액에 상응할 수 있으며, 이후 상기 AP (305)는 516 단계에서, 상기 유효 시간 동안 상기 단말에 대한 트래픽을 처리하고, 이후에는 트래픽을 차단한다.
한편, 이하에서는 상술한 블록체인 기반 무선 랜 네트워크에 소프트웨어 정의 네트워크 (soft-defined network, SDN) 기술을 적용하여, 보다 효율적인 트래픽 제어가 가능하게 하는 새로운 네트워크 구조를 제안한다. 이는 도 6을 참고하여 구체적으로 설명하도록 한다.
도 6는 본 개시의 일 실시 예가 적용될 수 있는 블록체인 기반 무선 랜 네트워크에 SDN 기술이 적용된 시스템 구조를 도시한 도면이다.
종래 SDN 기술과 다르게 본 실시 예에서는 블록체인 시스템과의 연동을 위해 SDN controller (SDNC)외에 TAC (transaction and admission controller) (615)를 제안한다. 상기 TAC를 통해 블록체인 기반 무선 랜의 단말 인증 및 트랜잭션 처리를 제어할 수 있다. 무선 랜 AP (605)는 각각 무선 랜 제어기 또는 스위치 (610)에 연결 (또는, 결합)되어 있으며, 상기 무선 랜 제어기 또는 스위치는 인터넷 및/또는 네트워크를 통해 TAC (615)에 연결될 수 있다. 하나의 TAC (615)는 여러 개의 무선 랜 제어기 또는 스위치 (610)에 연결될 수 있다. 상기 TAC (615)는 상기 제어기 또는 스위치 (610)의 설정을 제어함으로써 단말 (600)의 트래픽을 제어할 수 있다.
한편, 상기 TAC (615)는 도 3 및 5에서의 BAS 기능 (예를 들어, 블록체인과 연동)을 포함할 수 있으며, 사용자 트래픽 제어를 위한 SDNC의 기능 또한 기능을 포함할 수 있다.
도 7는 본 개시의 일 실시 예가 적용될 수 있는 블록체인 기반 무선 랜 네트워크에 SDN 기술이 적용된 경우, 네트워크의 기능 구조를 도시한 도면이다.
상기 TAC (615)는 여러 가지 애플리케이션 개발을 위한 REST (representational state transfer) 기반 API (application programming interface)를 제공할 수 있다. 상기 API는 무선 랜 제어기 또는 스위치 (610)를 제어하기 위한 네트워크 기능을 제공하거나, 블록체인을 이용한 가입자 인증, 트랜잭션 처리 및 계정 탐색과 같은 기능도 제공할 수도 있다. 상술된 네트워크 기능은 하부 API (south API)를 통해 구현 될 수 있다. 상기 하부 API는 오픈플로우 (OpenFlow)와 같은 스위치 제어 프로토콜을 이용하여 스위치 및 AP를 제어하거나, Geth (Go etherieum)과 같은 블록체인 인터페이스를 통해 블록체인에 접근할 수 있다.
도 8는 본 개시의 일 실시 예가 적용될 수 있는 블록체인 기반 무선 랜 네트워크에 SDN 기술이 적용된 경우, 네트워크 인증 및 트래픽 제어 처리를 나타낸 흐름도이다.
도 5에서는 BAS가 BC와 연동하여 단말과 상호 인증 절차 수행 및 트랜잭션 인증후 트래픽 제어 처리를 수행하였으나, 도 8에서는 TAC (815)가 상기 BAS의 기능을 수행할 수 있다.
구체적으로, 801 단계에서 단말 (800)은 AP (805)로부터 인증 방식에 대한 정보를 포함한 메시지 (예를 들어, 비콘 (beacon) 메시지)를 수신한다. 이 때, 상기 AP (805)는 무선 랜 제어기 또는 오픈플로우 스위치 (openflow switch) (810)와 결합하여, 오픈플로우 (openflow) 프로토콜에 기반하여 TAC (815)로부터 트래픽 제어를 설정 받을 수 있다.
상기 인증 방식을 확인한 상기 단말 (800)은 상기 AP (805)에 대한 접근 권한을 얻기 위해 association 절차를 수행한다. 상기 association 절차에 대해서는 도 2 및 도 5에서 상술한 바, 구체적인 내용은 생략하기로 한다.
상기 단말이 상기 AP에 연관 (association) 된 이후, 804 단계에서 상기 AP (805)는 상기 단말 (800)의 ID를 요청하는 EAP 요청 메시지 (EAP request message)를 전송한다.
805 단계에서, 상기 단말 (800)은 상기 804 단계의 메시지에 응답하여, 자신의 블록체인 계정 (예를 들어, ACC_M), MAC 주소를 개인 키로 암호화한 값 (예를 들어, #MAC) 및 상호 인증에 사용될 random 값 (예를 들어, nounce) 중 적어도 하나를 포함하는 EAP 응답 메시지 (EAP response message)를 AP (805)에 전송한다.
806 단계에서 상기 AP (805)는 수신한 EAP 메시지를 RADIUS 프로토콜에 기반한 접속 요청 메시지 (access request message)에 포함시켜 TAC (815)에 전송한다. 한편, 본 실시 예에서는 기존 AAA 기반 무선 랜 네트워크 인증 방법에서 사용되는 RADIUS 프로토콜을 예로 들었으나, 이에 국한되지 않으며, 다른 프로토콜이 사용되거나, 새로운 프로토콜을 정의하여 사용할 수도 있다.
807 단계에서, 상기 TAC (815)가 접속 요청 메시지를 수신한 경우, 상기 TAC (815)는 상기 접속 요청 메시지에 포함된 암호화된 #MAC을 상기 단말 (800)의 블록체인 계정인 ACC_M에 기반하여 복호화 한 후 상기 단말 (800)의 MAC 주소를 확인하고, 상기 ACC_M을 블록체인 (BC) (820)에서 탐색하여 현재 잔고를 확인한다. 만약, 상기 단말 (800)의 MAC 주소가 주소 형태를 가지지 않거나, 상기 블록체인 계정 (ACC_M)이 조회되지 않는 경우, 상기 TAC (815)는 상기 AP (805)에 접속 거절 메시지 (access reject message)를 전송함으로써 상기 단말 (800)의 접근을 제한할 수 있다.
만약, 그렇지 않은 경우, 808 단계에서 상기 TAC (815)는 access challenge 절차를 수행하기 위해, 상기 805 단계에서 상기 단말 (800)으로부터 수신한 random 값을 상기 AP (805)의 블록체인 계정인 ACC_N에 기반하여 암호화한 #random 값 및 상기 ACC_N을 포함하는 접속 챌린지 메시지 (access challenge 메시지)를 상기 AP (805)를 통해 상기 단말 (800)에 전송한다. 이 때, 상기 AP (805)의 MAC 주소가 EAP를 포함하는 프레임에 포함되어 있는지 확인하여, 상기 ACC_N이 현재 연결 중인 AP의 블록체인 계정에 해당하는지 확인할 수 있다.
809 단계에서, 상기 단말 (800)은 상기 ACC_N에 기반하여 #random을 복호화 하고, 상기 805 단계에서 전송한 random 값과 동일한지 여부에 따라 AP의 계정을 인증한다.
상기 계정 인증이 완료되면, 상기 단말 (800)은 810 단계에서 특정 금액을 송금하기 위한 트랜잭션을 상기 인증된 AP (805) 및 상기 TAC (815)를 통해 BC (820)에 요구한다.
811 단계에서 상기 단말 (800)은 상기 트랜잭션이 처리된 후, EAP 응답 메시지에 송금 내역 (AMOUNT) 및 QoS (quality of service)에 대한 정보를 포함하여 상기 AP (805)를 통해 상기 TAC (815)에 전송한다.
812 단계에서 상기 TAC (815)는 상기 트랜잭션이 성공적으로 처리되었는지 잔고를 BC (820)에서 확인하고, 트랜잭션이 성공적으로 처리된 경우 상기 단말 (800)의 MAC 주소 및 상기 특정 금액에 상응하는 유효 시간에 기반하여, 무선 랜 제어기 또는 스위치 (810)을 제어하기 위한 제어 정보 (예를 들어, 트래핑 포워딩 룰 (traffic forwarding rule) 등을 지칭할 수 있다.)를 생성한다.
813 단계에서, 상기 TAC (815)는 상기 제어 정보를 무선 랜 제어기 또는 스위치(810) 에 전송하여, 상기 제어 정보에 따라 상기 단말 (800)에 대한 트래픽을 처리하도록 한다. 예를 들어, 스위치 제어 프로토콜을 이용하여 상기 단말 (800)의 MAC 주소에 대한 flow를 추가할 수 있다. 이 때, 상기 유효 시간에 대한 정보 이외에도 상기 단말 (800)이 요청한 QoS (quality of service)을 고려하여 스위치 설정을 하고, 트래픽 형태에 따라 과금을 할 수도 있다.
한편, 상술한 바와 같은 블록체인 기반 무선 통신 시스템의 네트워크 접속 방법은 온 체인 트랜잭션 (on-chain transaction) 처리방법에 따른 것으로, 단말이 망에 접속할 때마다 트랜잭션을 요청하고, 상기 트랜잭션이 합의 알고리즘을 통해 블록체인의 블록에 기록되고, 블록체인에서 상기 트랜잭션이 처리되었는지 여부가 확인될 수 있다. 만약, 상기 단말이 특정 금액에 관한 트랜잭션을 요청하여 유효 시간을 할당 받은 후, 상기 유효 시간만큼만 데이터를 송수신하는 경우에는 문제되지 않지만, 유효 시간이 만료된 후 단말이 새로운 데이터의 송수신이 필요하거나, 연결된 AP와 데이터 송수신이 잦은 경우, 데이터 송수신 때마다 상술한 바와 같은 네트워크 인증 절차를 다시 수행해야 한다는 문제점이 발생할 수 있다. 또는, 단말이 실시간 이동 통신 서비스 제공 받고자 하기에는 트랜잭션 처리 속도가 느리다는 한계점이 있다. 또한, 망 공용화 및 망 공유를 통해 망의 사용자가 많아질수록, 상술한 바와 같은 네트워크 접속 절차에서 트랜잭션을 처리하기 위해서 전체 블록체인의 용량이 크게 증가하므로, 확장성 문제가 발생할 수도 있다.
한편, 블록체인 기술 분야에서는 상기 온 체인 트랜잭션 처리 방법의 문제점을 해결하기 위하여, 오프 체인 트랜잭션 (off-chain transaction) 처리 방법이 제안되었다. 오프 체인 트랜잭션 처리방법은 블록체인 외부에서 수많은 트랜잭션을 처리하고, 그 결과를 블록체인의 블록에 기록하는 방법이다. 이를 통해 트랜잭션의 처리 속도를 높이고, 한정된 블록 용량을 효율적으로 사용할 수 있다. 따라서, 본 개시에서는 상기 오프 체인 트랜잭션 처리 방법에 기반하여, 단말이 데이터를 송수신 하는 방법을 제안한다. 한편, 상기 오프 체인 트랜잭션은 결제 채널 (또는, 지불 채널 (payment channel))에 기반하여 구현될 수 있는데, 구체적인 설명은 도 9를 참고하여 설명하기로 한다.
도 9는 본 개시의 일 실시 예가 적용될 수 있는 싱글 홉 (single-hop) 결제 채널 시스템의 구조를 도시한 도면이다.
결제 채널은 사용자 (노드) 사이에서 블록체인 스마트 컨트랙트 (smart contract) 혹은 스크립트 (script)를 이용하여 애스크로 (다중 서명 계좌)를 생성하여, 해당 계좌 잔액을 담보로 2명의 사용자 (또는, 노드)(900, 910)가 직거래하는 기술을 의미할 수 있다. 도 9에 따르면, 두 노드 (900, 910)는 상기 결제 채널을 통해 원하는 만큼 트랜잭션을 처리하고, 트랜잭션이 완료된 후에는 상기 결제 채널을 닫을 수 있으며, 그 결과를 블록체인에 전송하여 블록체인의 블록에 기록한다. 상기 결제 채널을 통해 노드 간 직거래를 할 수 있음으로써, 블록체인 수수료 및 부하를 줄이고, 결제 속도를 높일 수 있다는 장점이 있다.
한편, 두 노드가 직접적인 결제 채널을 보유 (또는, 설정)하고 있지 않더라도, 내부적으로 연결된 결제 채널을 통해 토큰 (예를 들어, 비트코인, 이더리움을 지칭할 수 있다.)를 주고 받을 수 있다. 이는 도 10을 참고하여 설명하기로 한다.
도 10은 본 개시의 일 실시 예가 적용될 수 있는 멀티 홉 (multi-hop) 결제 채널 시스템의 구조를 도시한 도면이다.
노드 사이에 결제 채널이 존재하지 않는 경우에, 다른 노드(들)를 통해 패킷을 전송할 수 있다. 한편, 이러한 결제 채널 네트워크로는 예를 들어 비트코인의 경우 라이트닝 네트워크 및 이더리움의 경우 레이덴 네트워크가 있다.
도 10에서는 지불 노드 s (1000)가 수신 노드 D (1030)에게 2 개의 노드 (1010, 1020)를 거쳐서 결제를 수행하는 (또는, 토큰을 전송하는) 예로 들었다. 결제를 위해 지불 노드 s (1000)는 비밀 값 (secret, 이하 S)를 D (1030)에 전송하고, 조건부 지불 (Lock)을 L1 (1010)에게 보낸다. 해당 조건부 지불에는 상기 비밀 값에 대한 해쉬 값 (예를 들어, #S)이 포함되어 있어, 지불 노드 s (1000)와 수신 노드 D (1030) 사이의 노드 (예를 들어, L1 (1010), L2 (1020)를 지칭할 수 있다.)는 수신 노드 D (1030)로부터 지불 증명으로 S를 받게 될 경우, 상기 S와 상기 비밀 값에 대한 해쉬 값 (예를 들어, #S)를 비교하여 지불을 확정하는 BP (balance proof)를 상대 노드에 전송한다 상기 BP는 두 사용자 사이에 채널의 새로운 잔고를 확정하는 것으로, 만약, 비밀 값의 공개 후에도 조건부 지급에 대한 BP를 돌려 주지 않는다면, 블록체인 (1040)의 블록에 기록된 내용에 기반하여 분쟁 해결 절차를 수행할 수 있다. 도 10은 지불 노드 s (1000)와 수신 노드 D (1030) 사이의 노드 L2 (1020)가 조건부 지급에 대한 BP를 돌려주지 않은 경우, 블록체인이 각 사용자에게 금액을 분할 반환하는 예를 도시하였다.
한편, 도 10은 지불 노드 s (1000)와 수신 노드 D (1030) 사이에 두 노드 (L1 (1010), L2 (1020))이 있다는 것을 가정하였으나, 본 개시는 이에 국한되지 않으며, 더 많은 노드가 존재하거나, 사이에 다른 노드가 존재하지 않는 경우에도 본 개시의 일 실시 예가 적용될 수 있다.
상기 결제 채널 기술을 본 개시에서 제안한 블록체인 시스템에 적용한다면, 블록체인 밖에서 수많은 트랜잭션이 처리되고, 상기 트랜잭션 처리 결과만이 블록체인의 블록에 기록되므로, 망 공유 또는 망 공용화에 따른 다수의 사용자에 의한 트래픽 과부하를 감소시킬 수 있으며, 즉각적인 트랜잭션 처리가 가능해짐에 따라 실시간 이동 통신 서비스의 제공이 가능하도록 할 수 있다. 또한, 네트워크 최초 인증 시 할당 받은 유효 시간이 만료된 후 단말이 새로운 데이터를 송수신할 필요가 있는 경우, 유효 시간을 할당 받기 위한 별도의 네트워크 재인증 (또는, 인증) 절차 없이 일정 금액을 담보로 하여 결제 채널을 통해 데이터를 송수신할 수 있다. 또한, 멀티 홉 결제 채널 기반 네트워크에 따르면, 단말이 이동하여 새로운 망에 접속할 필요가 있는 경우, 상기 새로운 망에 대한 인증 절차를 수행하지 않고, 상기 새로운 망에 속한 AP와 결제 채널을 수립하여 데이터를 송수신할 수도 있다. 한편, 상술한 바와 같은 싱글 홉 또는 멀티 홉 결제 채널에 기반하여 데이터 송수신함에 있어, 기존 패킷 구조와 달리 블록체인과 관련된 추가적인 정보가 포함될 필요가 있다. 본 개시에서 제안하는 패킷 구조는 도 11을 참고하여 설명하기로 한다.
도 11는 일반적인 패킷 (예를 들어, TCP/UDP/IP 패킷)이 토큰 정보 (또는, 토큰 헤더, 결제 정보 중 어느 하나를 지칭할 수 있다.)를 추가적으로 포함하는 프로토콜을 도시한 도면이다. 토큰 헤더 (token header)는 전송 계층 UDP/TCP 에 대한 헤더 뒤에 위치할 수 있으며, 상기 토큰 헤더에는 토큰의 타입 정보 (예를 들어, 0: 비트코인 1: 이더리움 3: 이오스 4:스텔라 등), 해당 토큰/코인의 소프트웨어 버전이 포함될 수 있다. 각 채널 별 송신자 (Source)와 수신자 (destination)의 공개키 해쉬 (publickey hash)가 포함될 수 있다. 이는 각 채널에서 상기 패킷을 실제 전달하는 2개의 노드의 해쉬 키 값을 의미할 수 있다. 또한, 상기 패킷을 보내는 사용자/노드 혹은 지불자의 지갑 주소 (payer address), 수신자의 지갑 주소 (payees address), 패킷 전송을 위한 금액 혹은 수수료 (amount)가 포함될 수 있다. 한편, 채널 간 다중 패킷의 동시 결제를 위하여, 채널 상태 관리는 머클트리 (merkle tree) 구조를 이용하여 수행할 수 있다. 머클트리 구조란 블록체인에서 블록 하나에 포함된 거래 정보를 요약하여 트리 (tree) 형태로 표현한 데이터 구조로, 블록의 바디 (body)에 포함된 모든 거래 정보에 특정 크기 단위 별로 암호화 기법 (예를 들어, SHA-256)을 적용하여 여러 단계를 거쳐 만들어진 해시 값들이 트리 형태로 표현된 것이다. 이때, 머클 트리의 최상위에 위치하는 해시 값을 머클트리 루트 (merkle tree root)값이라고 지칭할 수 있으며, 거래내역에 변화 시 (결제 시, 또는 트랜잭션 발생 시) 마다 상기 머클루트 루트 값은 업데이트될 수 있다. 본 실시 예에 따르면, 상기 머클트리 루트 값은 업데이트 되고, 패킷의 토큰 정보에 포함되어 결제 채널의 상대 노드에게 전송될 수 있음으로써 머클트리 구조에 기반한 채널 간 다중 패킷 동시 결제 및 채널 상태 관리가 이루어질 수 있다. 한편, 상기 결제 채널 노드 간 머클트리에 대한 인증을 위하여, SHA-256 해시 값에 대한 채널 src 노드의 전자 서명 (src singnature)이 더 포함될 수도 있다.
패이로드 (Payload) 뒤에는 상기 패이로드의 무결성 검증을 위한 해쉬와 지불자 (payer)의 전자 서명이 포함될 수 있고, 도10에서 설명한 비밀 해쉬 (#S)가 첨부될 수 있다. 한편, 상기 패킷의 전송이 멀티 홉 결제 채널에 기반하지 않은 경우 (즉, 싱글 홉 결제 채널에 기반하는 경우)에는 상기 비밀 해쉬 (#S)은 생략될 수 있다. 반면에, 상기 패킷이 멀티 홉 결제 채널에 기반하여 전송이 되는 경우, 지불자의 지갑 주소 또는 수신자의 지갑 주소는 결제 채널의 상대 노드가 라우팅 정보를 참조하기 위하여 상기 패킷에 포함되는 것을 특징으로 할 수 있다
본 개시의 도 3 내지 도 8에서의 블록체인 기반 무선 통신 시스템에서는, 무선 랜 AP가 단말로부터 수신한 토큰 (또는, 코인) 금액에 상응하는 유효 시간 동안 상기 단말에 대한 트래픽을 처리 (예를 들어, 인터넷 접속을 허용)하는 반면, 본 실시 예에서는 단말이 AP에 전송하는 패킷 자체가 도 11과 같은 토큰 정보를 포함하여, 상기 AP가 상기 토큰 정보를 확인 한 후, 상기 단말에 대한 패킷 (또는, 트래픽)의 라우팅/포워딩 절차를 수행할 수 있다. 한편, 결제 채널을 통해 상기 패킷을 송수신함으로써, AP는 특정 금액 내에서 패킷 당 실시간 과금을 수행할 수도 있다.
도 12은 멀티 홉 결제 채널 시스템에서 도11에서 제안한 프로토콜에 기반하여 단말이 패킷을 전송하는 과정을 도시한 도면이다.
도 12에 따르면, 단말 1 (1210)과 무선 랜 AP (1230) 사이에 다른 단말 2(또는, 다른 AP일 수 있다.) (1220)이 포함되고 있지만, 본 개시는 이에 국한되지 않으며, 단말 A (1210)은 무선 랜 AP (1230)과 직접 연결될 수도 있다. 한편, 도 10에서 각 노드 간 결제 채널이 존재하고, 단말 A (1210)가 AP (1230)을 통해 인터넷으로 데이터를 전송하고자 하는 경우, 본 개시에서 제안한 패킷에 포함되는 정보는 하기 표와 같이 예로 들 수 있다.
표 2
Figure 112020093835611-pat00002
단말 A (1210)는 상기 표2에서 예로 들 바와 같은 정보를 포함하는 패킷을 단말 B (1220)에 전송하고, 상기 단말 B (1220)은 상기 패킷에 포함된 정보에 기반하여 상기 패킷이 전송될 목적 노드 (payee)를 확인하고, 목적 노드인 AP (1230)에 상기 패킷을 전송한다. 한편, 상기 예는 단지 설명의 편리를 위하여 예로 든 것이지, 본 개시는 이에 국한되지 않으며, 상기 패킷에 포함되는 정보 중 일부는 생략될 수 있고, 필요에 따라 다양한 정보가 추가 또는 생략될 수 있다.
도 13은 본 개시의 일 실시 예에 따른 멀티 홉 결제 채널 기반 패킷 송수신 절차를 도시한 흐름도이다. 도 13에서는 단말이 상향링크 (uplink) 데이터를 전송하는 경우를 예로 들었으나, 본 개시는 이에 국한되지 않으며, 하향링크 (downlink) 데이터를 수신하는 경우에도 본 개시가 동일하게 적용될 수 있다. 또한, 도 13에서는 단말 (1305)와 AP2 (1315) 사이에 중간 노드인 AP1 (또는, 핫스팟 (hotspot) 모드인 단말 또는 단말 (1305)와 테더링을 통해 연결된 단말을 지칭할 수 있다.)가 포함되었으나, 본 개시는 이에 국한되지 않으며, 상기 AP1은 포함되지 않을 수 있고, 더 많은 중간 노드가 포함될 수 있다.
도 13에서, 단말 (1305)와 AP1 (1310) 간 결제 채널이 형성되어 있고, AP1 (1310) 와 AP2 (1315) 간 결제 채널이 형성되어 있다. 단말 (1305), AP1 (1310) 및 AP2 (1315)는 도 4에서 설명한 바와 같이 각각 블록체인 계정 (또는, 블록체인 계좌 (account))을 보유하고 있다.
13-100 단계에서, 단말 (1305)은 AP2 (1315) (예를 들어, 게이트웨이 무선 랜을 지칭할 수 있다.)에 비밀 값 (secret)을 전송한다. 한편, 전송할 모든 패킷에 대해 비밀 값을 생성하는 경우, 오버헤드가 발생할 수 있으므로, 본 개시에서는 단말 (1305)와 AP2 (1315)가 secret function에 사용할 아주 큰 p (prime number)와 iv (initial vector)를 공유하는 것을 특징으로 할 수 있다. 이를 기반으로, 단말 (1305)와 AP2 (1315)는 전송될 각 패킷에 대한 비밀 값을 임의로 생성할 수 있다. 예를 들어, 전송될 패킷에 대한 비밀 값의 생성을 위해, 상기 전송될 패킷의 payload hash 값이 secret function의 입력 값으로 주어질 수 있다. (예를 들면, secret = (#(payload hash)* 이전 secret 값 혹은 iv) mod p.)
13-200 단계에서, 단말 (1305)는 AP1 (1310)에 패킷을 전송한다. 13-300 단계에서, AP1 (1310)은 수신한 패킷에 포함된 머클트리 루트를 확인하고, 이에 대한 단말 (1305)의 전자서명을 확인하여, 상기 패킷이 단말(1305)이 전송한 것 인지 확인한다.
이후 13-400 단계에서, AP1 (1310)은 결제 채널을 통한 다음 노드와의 거래를 위하여, 상기 수신한 패킷에 포함된 머클트리 루트를 업데이트하고, 이에 대한 전자서명을 자신의 서명으로 업데이트하여 상기 다음 노드에 전송한다. 한편, 다음 노드가 미정일 경우에는 AP1 (1310)은 상기 패킷에 포함된 목적지 지갑 주소 (payee address)에 기반하여, 상기 패킷이 전송될 다음 노드 (즉, 결제 경로)를 선정할 수 있다.
상기 다음 노드로 확인된 AP2 (1315)가 패킷을 수신한 경우, 상기 AP2 (1315)는 13-500 단계에서 상기 패킷에 포함된 머클트리 루트를 확인하고, 이에 대한 AP1 (1310)의 전자서명을 확인하여, 상기 패킷이 AP1 (1310)이 전송한 패킷인지 확인한다. 만약, 상기 패킷이 AP1 (1310)이 전송한 패킷이라면, AP2는 13-600 단계에서, 상기 패킷에서 토큰 정보 (또는, 토큰 헤더)를 제거하여 인터넷 (1320)에 전송한다. 이후 AP2 (1315)는 13-700 단계에서, AP1 (1310)에 상기 패킷에 대한 비밀 값 (secret)을 전송한다. 상기 비밀 값은 패킷 수신에 대한 ACK (acknowledgement)로 사용되거나, 기존 ACP 메시지가 있는 경우에는 상기 ACK 메시지에 피기백 (piggyback) 되어 전송될 수 있다.
13-800 단계에서, AP2 (1315)로부터 비밀 값을 수신한 AP1 (1310)은 상기 비밀 값을 단말 (1305)에 전송한다.
이후, 상기 비밀 값을 수신 받은 단말 (1305)는 BP (balance proof)를 발급하지 않고, 13-900 단계에서 다음 전송할 패킷의 머클트리에 상기 BP에 대한 내용을 업데이트 해서 전송한다. 이는 중복하여 BP (unlock)을 발급하는 동작의 반복을 방지하기 위함이다. 한편, 이전 패킷이 마지막 패킷일 경우 (즉, 결제 채널을 닫을 것으로 확인된 경우)에는 단말은 payload가 제거된 BP (즉, payload가 제거된 패킷)를 전송하여 결제 채널을 닫을 수 있다. 한편, AP1 (1310)및 AP2 (1315) 사이의 미지급에 관한 분쟁은 도 10에서 설명한 바와 같이 블록체인에 기반하여 해결될 수 있다.
도 14는 본 개시의 일 실시 예에 따른 싱글 홉 결제 채널 시스템에서 데이터 송수신에 대한 단말의 동작 순서를 도시한 도면이다.
도 14를 참고하면, 단말은 14-100 단계에서, AP를 통하여 본 개시의 일 실시 예에 따른 블록체인 서버 (또는, 블록체인 인증 서버를 지칭할 수 있다.)와 인증 절차를 수행할 수 있다. 상기 인증 절차는 도 3 내지 도 5에서 설명하였으므로, 구체적인 설명은 생략하기로 한다. 한편, 14-100 단계는 생략될 수 있으며, 이경우 단말은 별도의 네트워크 인증 절차를 수행하지 않고, 이하 동작을 통해 데이터 송수신을 할 수 있다.
이후, 14-200 단계에서 상기 단말은 상기 AP와 결제 채널을 수립 (establish)할 수 있다. 예를 들어, 상기 단말의 블록체인 계정 정보 및 상기 AP의 블록체인 계정 정보에 기반하여 스마트 컨트랙트 또는 스크립트를 통한 다중 서명 계좌인 애스크로를 생성하는 절차를 수행할 수 있다. 결제 채널이 수립된 경우, 상기 단말과 상기 AP는 특정 금액을 담보로 하여 패킷을 송수신할 수 있다. (예를 들어, 상기 특정 금액 내에서 AP는 패킷 송수신에 대한 과금을 할 수 있다.)
14-300 단계에서, 단말은 토큰 정보 (또는, 토큰 헤더)를 포함하는 패킷을 생성한다. 상기 토큰 정보는 도 11에서 살펴본 바와 같이, 전송 계층 UDP/TCP 에 대한 헤더 뒤에 위치할 수 있으며, 상기 토큰 헤더는 토큰의 타입 정보 (예를 들어, 0: 비트코인 1: 이더리움 3: 이오스 4:스텔라 등), 해당 토큰/코인의 소프트웨어 버전이 포함될 수 있다. 또한, 각 채널 별 송신자 (Source)와 수신자 (destination)의 공개키 해쉬 (publickey hash)가 포함될 수 있다. 이는 각 채널에서 상기 패킷을 실제 전달하는 2개의 노드의 해쉬 키 값을 의미할 수 있다. 또한, 상기 패킷을 보내는 사용자/노드 혹은 지불자의 지갑 주소 (payer address), 수신자의 지갑 주소 (payees address), 패킷 전송을 위한 금액 혹은 수수료 (amount)가 포함될 수 있다. 채널 간 다중 패킷의 동시 결제를 위하여, 채널 상태 관리는 머클트리 (merkle tree) 구조를 이용하여 수행하므로 머클트리 루트 (merkle tree root)값이 포함될 수 있다. 한편, 상기 머클트리에 대한 인증을 위하여, SHA-256 해시 값에 대한 채널 src 노드 (source 노드, 여기에서는 단말을 지칭할 수 있다.)의 전자 서명 (src signature)이 포함될 수도 있다.
14-400 단계에서, 단말은 상기 패킷을 상기 AP에 전송한다. 이후 단말은 14-500단계에서 상기 패킷의 전송에 대한 응답으로 비밀 값 (secret, S)를 상기 AP으로부터 수신하고, 상기 비밀 값에 기반하여 BP (balance proof)에 대한 머클트리 루트 값을 업데이트 한다. 한편, 본 실시 예에서는 단말이 14-500 단계에서 패킷을 상기 AP에 전송할 때마다 (즉, 매 결제마다) 상기 패킷의 전송에 대한 응답으로 수신한 비밀 값에 기반하여 머클트리 루트 값을 업데이트하는 것을 예로 들었으나, 이에 국한되지 않는다. 즉, 상기 단말이 특정 시간 (예를 들어, 미리 결정된 시간) 동안 전송한 패킷에 대한 응답으로, 상기 AP로부터 복수의 비밀 값을 수신한 경우, 특정 시점 (예를 들어, 미리 결정된 데드라인 (deadline)을 지칭할 수 있다.)이 도래하면 상기 복수의 비밀 값 각각에 기반하여 상기 복수의 비밀 값 각각의 BP에 대한 머클트리 루트 값을 한번에 업데이트할 수도 있다.
한편, 상기 14-300 단계 내지 14-500 단계는 순차적으로 수행될 수 있고, 동시에 수행될 수도 있다.
14-600 단계에서, 단말은 결제 채널을 닫을지 여부를 확인하고, 만약 결제 채널을 닫을 것으로 확인되는 경우, 단말은 14-700 단계에서 payload가 제거된 패킷을 상기 AP에 제공한다. 또는, 만약 14-600 단계에서, 결제 채널을 닫지 않을 것으로 확인하는 경우, 14-300 단계로 돌아가 본 개시의 일 실시 예에 따른 토큰 정보를 포함하는 패킷을 생성할 수 있고, 상기 생성된 패킷은 업데이트된 머클트리 루트 값을 포함할 수 있다. 한편, 상기 단말은 결제 채널의 담보 금액에 기반하여 상기 결제 채널을 닫을지 여부를 결정할 수도 있다.
도 15는 본 개시의 일 실시 예에 따른 싱글 홉 결제 채널 시스템에서 데이터 송수신에 대한 AP의 동작 순서를 도시한 도면이다.
도 15를 참고하면, AP는 15-100 단계에서 단말과 결제 채널을 수립 (establish)할 수 있다. 예를 들어, 상기 AP의 블록체인 계정 정보 및 상기 단말의 블록체인 계정 정보에 기반하여 스마트 컨트랙트 또는 스트립트를 통한 다중 서명 계좌인 애스크로를 생성하는 절차를 수행할 수 있다. 결제 채널이 수립된 경우, 상기 단말과 상기 AP는 특정 금액을 담보로 하여 패킷을 송수신할 수 있다. (예를 들어, 상기 특정 금액 내에서 AP는 패킷 송수신에 대한 과금을 할 수 있다.)
이후, 15-200 단계에서 상기 AP는 상기 단말로부터 토큰 정보 (또는, 토큰 헤더, 결제 정보)를 포함하는 패킷을 수신한다. 상기 토큰 정보는 도 11에서 살펴본 바와 같이, 전송 계층 UDP/TCP 에 대한 헤더 뒤에 위치할 수 있으며, 상기 토큰 헤더는 토큰의 타입 정보 (예를 들어, 0: 비트코인 1: 이더리움 3: 이오스 4:스텔라 등), 해당 토큰/코인의 소프트웨어 버전이 포함될 수 있다. 또한, 각 채널 별 송신자 (Source)와 수신자 (destination)의 공개키 해쉬 (publickey hash)가 포함될 수 있다. 이는 각 채널에서 상기 패킷을 실제 전달하는 2개의 노드의 해쉬 키 값을 의미할 수 있다. 또한, 상기 패킷을 보내는 사용자/노드 혹은 지불자의 지갑 주소 (payer address), 수신자의 지갑 주소 (payees address), 패킷 전송을 위한 금액 혹은 수수료 (amount)가 포함될 수 있다. 채널 간 다중 패킷의 동시 결제를 위하여, 채널 상태 관리는 머클트리 (merkle tree) 구조를 이용하여 수행하므로 머클트리 루트 (merkle tree root)값이 포함될 수 있다. 한편, 상기 머클트리에 대한 인증을 위하여, SHA-256 해시 값에 대한 채널 src 노드 (source 노드, 여기에서는 단말을 지칭할 수 있다.)의 전자 서명 (src singnature)이 포함될 수도 있다.
15-300 단계에서, 상기 AP는 상기 패킷에 포함된 토큰 정보 중 상기 단말에 대한 전자 서명에 기반하여 상기 패킷이 상기 단말이 전송한 것인지 여부를 확인한다. 만약, 상기 단말이 상기 패킷을 전송하였다고 확인되는 경우, 상기 AP는 15-400 단계에서 상기 패킷에 포함된 정보 중 토큰 헤더를 제거한 패킷을 인터넷에 전송하고, 상기 패킷의 수신에 대한 응답으로 비밀 값 (secret, S)를 상기 단말에 전송한다.
도 16은 본 개시의 일 실시 예에 따른 싱글 홉 결제 채널 시스템에서 데이터 송수신 절차의 흐름을 도시한 도면이다.
도 16을 참고하면, 16-100 단계에서, 단말 (1605)과 AP (1610)은 결제 채널을 수립 (establish)할 수 있다. 예를 들어, 상기 AP (1610)의 블록체인 계정 정보 및 상기 단말 (1605)의 블록체인 계정 정보에 기반하여 스마트 컨트랙트 또는 스크립트를 통한 다중 서명 계좌인 애스크로를 생성하는 절차를 수행할 수 있다. 상기 16-100 단계에서 단말은 상기 AP (1610)에 비밀 값 (secret, S)를 전송하거나, 상기 AP (1610)와 secret function에 사용할 아주 큰 p (prime number)와 iv (initial vetor)을 공유할 수 있다. 이를 기반으로, 단말 (1605)와 상기 AP (1610)은 전송될 각 패킷에 대한 비밀 값 (S)을 임의로 생성할 수 있다. 예를 들어, 전송될 패킷에 대한 비밀 값의 생성을 위해, 상기 패킷의 payload hash 값이 secret function의 입력 값으로 주어질 수 있다. 한편, 상기 16-100 단계 전, 단말 (1605)은 AP (1610)을 통해 본 개시의 도 5 또는 도 8에서 설명한 네트워크 접속 절차를 수행할 수 있으며 구체적인 설명은 상술한 바, 여기서는 생략하기로 한다.
이후, 16-200 단계에서 단말은 토큰 정보를 포함하는 패킷을 생성한다. 상기 토큰 정보 (또는, 토큰 헤더)는 도 11에서 상술한 바와 같이, 전송 계층 UDP/TCP 에 대한 헤더 뒤에 위치할 수 있으며, 상기 토큰 헤더는 토큰의 타입 정보 (예를 들어, 0: 비트코인 1: 이더리움 3: 이오스 4:스텔라 등), 해당 토큰/코인의 소프트웨어 버전이 포함될 수 있다. 또한, 각 채널 별 송신자 (Source)와 수신자 (destination)의 공개키 해쉬 (publickey hash)가 포함될 수 있다. 이는 각 채널에서 상기 패킷을 실제 전달하는 2개의 노드의 해쉬 키 값을 의미할 수 있다. 또한, 상기 패킷을 보내는 사용자/노드 혹은 지불자의 지갑 주소 (payer address), 수신자의 지갑 주소 (payees address), 패킷 전송을 위한 금액 혹은 수수료 (amount)가 포함될 수 있다. 채널 간 다중 패킷의 동시 결제를 위하여, 채널 상태 관리는 머클트리 (merkle tree) 구조를 이용하여 수행하므로 머클트리 루트 (merkle tree root)값이 포함될 수 있다. 한편, 상기 머클트리에 대한 인증을 위하여, SHA-256 해시 값에 대한 채널 src 노드 (source 노드, 여기에서는 단말 (1605)를 지칭할 수 있다.)의 전자 서명 (src singnature)이 포함될 수도 있다.
패이로드 (Payload) 뒤에는 상기 패이모드의 무결성 검증을 위한 해쉬와 지불자 (payer)의 전자 서명이 포함될 수 있고, 도10에서 설명한 비밀 해쉬 (#S)가 첨부될 수 있다. 한편, 상기 비밀 해쉬 (#S)는 생략될 수 있다.
16-300 단계에서 상기 단말은 상기 16-200 단계에서 생성한 패킷을 상기 AP (1610)에 전송한다.
한편, 상기 16-200 단계 및 상기 16-300 단계는 도 16에 도시된 바와 같이 순차적으로 수행될 수 있고, 동시에 수행될 수도 있다.
16-400 단계에서, 상기 AP (1610)은 16-300 단계에서 수신한 패킷에 포함된 상기 단말 (1605)의 전자 서명에 기반하여 상기 패킷이 상기 단말에 의해 전송된 것인지 여부를 확인한다. 만약, 상기 단말이 상기 패킷을 전송하였다고 확인되는 경우, 상기 AP (1610)은 16-500 단계에서 토큰 정보를 제거한 패킷을 인터넷 (1615)에 전송한다. 이후, 16-600 단계에서 상기 AP (1610)는 상기 패킷의 수신에 대한 응답으로 비밀 값 (secret)을 상기 단말 (1605)에 전송한다.
16-700 단계에서, 상기 단말 (1605)는 상기 비밀 값에 기반하여 새로운 BP에 대한 머클트리 루트 값을 업데이트하고, 결제 채널을 닫을지 여부를 확인한다. 한편, 이 때 상기 단말 (1605)은 결제 채널의 담보 금액에 기반하여 상기 결제 채널을 닫을지 여부를 결정할 수 있다.
만약, 결제 채널을 닫을 것으로 결정하는 경우 (즉, 이전에 전송한 패킷이 마지막 패킷인 경우), 단말은 payload가 제거된 패킷을 상기 AP (1610)에 전송함으로써 결제 채널을 닫는다. 또한, 만약 결제 채널을 닫지 않을 것으로 결정하는 경우 (즉, 이전에 전송한 패킷이 마지막 패킷이 아닌 경우), 단말은 16-800 단계에서 상기 16-200 단계와 동일하게 새로운 패킷을 생성하고, 상기 16-300 단계와 동일하게 상기 새로운 패킷을 전송할 수 있다.
상술한 방법에 따르면, 망 공용화 또는 망 공유에 따른 다수의 사용자에 의한 블록체인 트랜잭션 과부하를 감소시킬 수 있으며, 즉각적인 트랜잭션 처리가 가능해짐에 따라 실시간 이동 통신 서비스의 제공이 가능하도록 할 수 있다. 또한, 별도의 네트워크 재인증 (또는, 인증) 절차 없이도 단말과 AP 간 결제 채널을 수립하고, 상기 결제 채널에 기반하여 데이터를 송수신할 수 있음으로써, 효율적이고 보안성이 높은 네트워크 환경을 구축할 수 있다.
도 17은 본 개시의 일 실시 예가 적용될 수 있는 단말의 구조를 도시한 도면이다.
도 17은 참고하면, 단말은 송수신부 (1710), 제어부 (1720), 저장부 (1730)을 포함할 수 있다. 본 개시에서 제어부는 회로 또는 어플리케이션 특정 통합 회로 또는 적어도 하나의 프로세서라고 정의될 수 있다.
송수신부 (1710)은 신호를 송수신할 수 있다. 송수신부 (1710)은 예를 들어, 본 개시의 일 실시 예에 따른 AP (access point)과 패킷을 송수신할 수 있다.
제어부 (1720)은 본 개시에서 제안하는 일 실시 예에 따른 단말의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부 (1720)은 상기에서 기술한 도면 (또는 순서도, 흐름도)에 따른 동작을 수행하도록 각 블록 간 신호 흐름을 제어할 수 있다.
저장부 (1730)는 상기 송수신부 (1710)를 통해 송수신되는 정보 및 상기 제어부 (1720)를 통해 생성되는 정보 중 적어도 하나를 저장할 수 있다.
도 18은 본 개시의 일 실시 예가 적용될 수 있는 AP (access point)의 구조를 도시한 도면이다.
도 18은 참고하면, 단말은 송수신부 (1810), 제어부 (1820), 저장부 (1830)을 포함할 수 있다. 본 개시에서 제어부는 회로 또는 어플리케이션 특정 통합 회로 또는 적어도 하나의 프로세서라고 정의될 수 있다.
송수신부 (1810)은 신호를 송수신할 수 있다. 송수신부 (1810)은 예를 들어, 본 개시의 일 실시 예에 따른 단말과 패킷을 송수신할 수 있다.
제어부 (1820)은 본 개시에서 제안하는 일 실시 예에 따른 단말의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부 (1820)은 상기에서 기술한 도면 (또는 순서도, 흐름도)에 따른 동작을 수행하도록 각 블록 간 신호 흐름을 제어할 수 있다.
저장부 (1830)는 상기 송수신부 (1810)를 통해 송수신되는 정보 및 상기 제어부 (1820)를 통해 생성되는 정보 중 적어도 하나를 저장할 수 있다.
힌편, 상기 AP는 무선 랜 제어기 또는 스위치 (예를 들어, 오픈플로우 스위치)와 결합할 수 있고, 이 경우 상기 무선 랜 제어기 또는 스위치는 본 개시의 일 실시 예에 따른 TAC (transaction and admission controller) (또는, SDN controller)의 제어에 따라 트래픽 송수신을 제어할 수 있다.
도 19은 본 개시의 일 실시 예가 적용될 수 있는 블록체인 서버의 구조를 도시한 도면이다.
도 19은 참고하면, 블록체인 서버 (또는, 본 개시의 일 실시 예에 따른 블록체인 인증 서버 (BAS)를 지칭할 수 있다.)는 송수신부 (1910), 제어부 (1920), 저장부 (1930)을 포함할 수 있다. 본 개시에서 제어부는 회로 또는 어플리케이션 특정 통합 회로 또는 적어도 하나의 프로세서라고 정의될 수 있다.
송수신부 (1910)은 신호를 송수신할 수 있다. 송수신부 (1910)은 예를 들어, 본 개시의 일 실시 예에 따른 AP (또는, NAS)와 신호를 송수신할 수 있다. 또한, 블록체인과 연동하여 상기 블록체인 내 기록 (예들 들어, 계정 정보, 잔고 등)을 열람할 수 있다.
제어부 (1920)은 상기에서 기술한 도면 (또는 순서도, 흐름도)에 따른 동작을 수행하도록 각 블록 간 신호 흐름을 제어할 수 있다.
저장부 (1930)는 상기 송수신부 (1910)를 통해 송수신되는 정보 및 상기 제어부 (1920)를 통해 생성되는 정보 중 적어도 하나를 저장할 수 있다. 예를 들어, 상기 저장부 (1930)는 본 개시의 일 실시 예에 따른 단말의 블록체인 계정 정보 및 AP의 블록체인 계정 정보를 저장할 수 있다.

Claims (20)

  1. 통신 시스템에서 단말의 방법에 있어서,
    AP(access point)와 오프 체인 트랜잭션을 위한 결제 채널을 수립하는 단계;
    블록체인과 관련된 토큰의 타입 정보, 상기 토큰의 소프트웨어 정보, 상기 단말의 공개 키 해시, 상기 AP의 공개 키 해시, 상기 단말의 블록체인 지갑 주소, 상기 AP의 블록체인 지갑 주소, 패킷 전송 수수료, 상기 결제 채널과 관련된 머클트리 루트 값, 또는 상기 단말의 전자 서명 중 적어도 하나를 포함하는 토큰 정보를 생성하는 단계;
    전송 계층에 대한 헤더, 상기 토큰 정보 및 페이로드를 포함하는 패킷을 상기 AP에 전송하는 단계;
    상기 패킷의 전송에 대한 응답으로, 상기 AP로부터 비밀 값을 수신하는 단계;
    상기 비밀 값에 기반하여 BP(balance proof)를 확인하고, 상기 머클트리 루트 값을 업데이트하는 단계;
    상기 결제 채널의 담보 금액에 기반하여, 상기 결제 채널을 닫을지 여부를 확인하는 단계;
    상기 결제 채널을 닫지 않을 것으로 확인하는 경우, 상기 업데이트된 머클트리 루트 값을 포함하는 새로운 패킷을 상기 AP에 전송하는 단계; 및
    상기 결제 채널을 닫을 것으로 확인하는 경우, 페이로드가 제거된 새로운 패킷을 상기 AP에 전송하는 단계를 포함하며,
    상기 토큰 정보는 상기 패킷 내 상기 전송 계층에 대한 헤더와 상기 페이로드 사이에 위치하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 전송 계층에 대한 헤더는 UDP(user datagram protocol) 헤더 또는 TCP(transmission control protocol) 헤더 중 적어도 하나를 포함하고,
    상기 패킷은 페이로드 해시 값을 더 포함하며,
    상기 페이로드 해시 값은 상기 패킷 내 상기 페이로드 뒤에 위치하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 단말과 상기 AP는 상기 비밀 값을 생성하는데 사용되는 소수(prime number) 또는 초기 벡터 중 적어도 하나를 공유하는 것을 특징으로 하는 방법.
  4. 통신 시스템에서 AP(access point)의 방법에 있어서,
    단말과 오프 체인 트랜잭션을 위한 결제 채널을 수립하는 단계;
    상기 단말로부터, 전송 계층에 대한 헤더, 토큰 정보 및 페이로드를 포함하는 패킷을 수신하는 단계;
    상기 토큰 정보에 포함된 상기 단말의 전자 서명에 기반하여, 상기 단말이 상기 패킷을 전송했는지 여부를 확인하는 단계; 및
    상기 단말이 상기 패킷을 전송한 것으로 확인되는 경우, 상기 패킷의 수신에 대한 응답으로, 상기 단말에 비밀 값을 전송하는 단계를 포함하며,
    상기 비밀 값은 BP(balance proof)를 확인하고 머클트리 루트 값을 업데이트하는데 기반이 되고,
    상기 토큰 정보는 블록체인과 관련된 토큰의 타입 정보, 상기 토큰의 소프트웨어 정보, 상기 단말의 공개 키 해시, 상기 AP의 공개 키 해시, 상기 단말의 블록체인 지갑 주소, 상기 AP의 블록체인 지갑 주소, 패킷 전송 수수료, 또는 상기 결제 채널과 관련된 상기 머클트리 루트 값 중 적어도 하나를 더 포함하고,
    상기 토큰 정보는 상기 패킷 내 상기 전송 계층에 대한 헤더와 상기 페이로드 사이에 위치하고,
    상기 결제 채널을 닫을지 여부는 상기 결제 채널의 담보 금액에 기반하여 상기 단말에 의해 확인되고,
    상기 결제 채널을 닫지 않을 것으로 확인되는 경우, 상기 비밀 값에 기반하여 업데이트된 머클트리 루트 값을 포함하는 새로운 패킷이 상기 단말로부터 수신되며,
    상기 결제 채널을 닫을 것으로 확인되는 경우, 페이로드가 제거된 새로운 패킷이 상기 단말로부터 수신되는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 전송 계층에 대한 헤더는 UDP(user datagram protocol) 헤더 또는 TCP(transmission control protocol) 헤더 중 적어도 하나를 포함하고,
    상기 패킷은 페이로드 해시 값을 더 포함하며,
    상기 페이로드 해시 값은 상기 패킷 내 상기 페이로드 뒤에 위치하는 것을 특징으로 하는 방법.
  6. 제4항에 있어서,
    상기 단말과 상기 AP는 상기 비밀 값을 생성하는데 사용되는 소수(prime number) 또는 초기 벡터 중 적어도 하나를 공유하는 것을 특징으로 하는 방법.
  7. 통신 시스템의 단말에 있어서,
    송수신부; 및
    상기 송수신부와 연결되고,
    AP(access point)와 오프 체인 트랜잭션을 위한 결제 채널을 수립하고,
    블록체인과 관련된 토큰의 타입 정보, 상기 토큰의 소프트웨어 정보, 상기 단말의 공개 키 해시, 상기 AP의 공개 키 해시, 상기 단말의 블록체인 지갑 주소, 상기 AP의 블록체인 지갑 주소, 패킷 전송 수수료, 상기 결제 채널과 관련된 머클트리 루트 값, 또는 상기 단말의 전자 서명 중 적어도 하나를 포함하는 토큰 정보를 생성하고,
    전송 계층에 대한 헤더, 상기 토큰 정보 및 페이로드를 포함하는 패킷을 상기 AP에 전송하고,
    상기 패킷의 전송에 대한 응답으로, 상기 AP로부터 비밀 값을 수신하고,
    상기 비밀 값에 기반하여 BP(balance proof)를 확인하고, 상기 머클트리 루트 값을 업데이트하고,
    상기 결제 채널의 담보 금액에 기반하여, 상기 결제 채널을 닫을지 여부를 확인하고,
    상기 결제 채널을 닫지 않을 것으로 확인하는 경우, 상기 업데이트된 머클트리 루트 값을 포함하는 새로운 패킷을 상기 AP에 전송하고,
    상기 결제 채널을 닫을 것으로 확인하는 경우, 페이로드가 제거된 새로운 패킷을 상기 AP에 전송하는 제어부를 포함하며,
    상기 토큰 정보는 상기 패킷 내 상기 전송 계층에 대한 헤더와 상기 페이로드 사이에 위치하는 것을 특징으로 하는 단말.
  8. 제7항에 있어서,
    상기 전송 계층에 대한 헤더는 UDP(user datagram protocol) 헤더 또는 TCP(transmission control protocol) 헤더 중 적어도 하나를 포함하고,
    상기 패킷은 페이로드 해시 값을 더 포함하며,
    상기 페이로드 해시 값은 상기 패킷 내 상기 페이로드 뒤에 위치하는 것을 특징으로 하는 단말.
  9. 제7항에 있어서,
    상기 단말과 상기 AP는 상기 비밀 값을 생성하는데 사용되는 소수(prime number) 또는 초기 벡터 중 적어도 하나를 공유하는 것을 특징으로 하는 단말.
  10. 통신 시스템의 AP(access point)에 있어서,
    송수신부; 및
    상기 송수신부와 연결되고,
    단말과 오프 체인 트랜잭션을 위한 결제 채널을 수립하고,
    상기 단말로부터, 전송 계층에 대한 헤더, 토큰 정보 및 페이로드를 포함하는 패킷을 수신하고,
    상기 토큰 정보에 포함된 상기 단말의 전자 서명에 기반하여, 상기 단말이 상기 패킷을 전송했는지 여부를 확인하고,
    상기 단말이 상기 패킷을 전송한 것으로 확인되는 경우, 상기 패킷의 수신에 대한 응답으로, 상기 단말에 비밀 값을 전송하는 제어부를 포함하며,
    상기 비밀 값은 BP(balance proof)를 생성하고 머클트리 루트 값을 업데이트하는데 기반이 되고,
    상기 토큰 정보는 블록체인과 관련된 토큰의 타입 정보, 상기 토큰의 소프트웨어 정보, 상기 단말의 공개 키 해시, 상기 AP의 공개 키 해시, 상기 단말의 블록체인 지갑 주소, 상기 AP의 블록체인 지갑 주소, 패킷 전송 수수료, 또는 상기 결제 채널과 관련된 상기 머클트리 루트 값 중 적어도 하나를 더 포함하고,
    상기 토큰 정보는 상기 패킷 내 상기 전송 계층에 대한 헤더와 상기 페이로드 사이에 위치하고,
    상기 결제 채널을 닫을지 여부는 상기 결제 채널의 담보 금액에 기반하여 상기 단말에 의해 확인되고,
    상기 결제 채널을 닫지 않을 것으로 확인되는 경우, 상기 비밀 값에 기반하여 업데이트된 머클트리 루트 값을 포함하는 새로운 패킷이 상기 단말로부터 수신되며,
    상기 결제 채널을 닫을 것으로 확인되는 경우, 페이로드가 제거된 새로운 패킷이 상기 단말로부터 수신되는 것을 특징으로 하는 AP.
  11. 제10항에 있어서,
    상기 전송 계층에 대한 헤더는 UDP(user datagram protocol) 헤더 또는 TCP(transmission control protocol) 헤더 중 적어도 하나를 포함하고,
    상기 패킷은 페이로드 해시 값을 더 포함하며,
    상기 페이로드 해시 값은 상기 패킷 내 상기 페이로드 뒤에 위치하는 것을 특징으로 하는 AP.
  12. 제10항에 있어서,
    상기 단말과 상기 AP는 상기 비밀 값을 생성하는데 사용되는 소수(prime number) 또는 초기 벡터 중 적어도 하나를 공유하는 것을 특징으로 하는 AP.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020200112945A 2020-09-04 2020-09-04 무선통신 시스템에서 블록 체인 기반 데이터 송수신 방법 및 장치 KR102399632B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200112945A KR102399632B1 (ko) 2020-09-04 2020-09-04 무선통신 시스템에서 블록 체인 기반 데이터 송수신 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200112945A KR102399632B1 (ko) 2020-09-04 2020-09-04 무선통신 시스템에서 블록 체인 기반 데이터 송수신 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220031252A KR20220031252A (ko) 2022-03-11
KR102399632B1 true KR102399632B1 (ko) 2022-05-20

Family

ID=80814844

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200112945A KR102399632B1 (ko) 2020-09-04 2020-09-04 무선통신 시스템에서 블록 체인 기반 데이터 송수신 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102399632B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230153779A (ko) 2022-04-29 2023-11-07 금오공과대학교 산학협력단 블록체인 무선 통신망을 위한 자동 통합 마이닝 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100950422B1 (ko) * 2008-08-04 2010-03-29 성균관대학교산학협력단 아이피 티브이 시스템을 위한 소스 인증 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100950422B1 (ko) * 2008-08-04 2010-03-29 성균관대학교산학협력단 아이피 티브이 시스템을 위한 소스 인증 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Del Monte, Gianmaria 외 2명. "Scaling blockchains without giving up decentralization and security." arXiv preprint arXiv:2005.06665 (2020.06.04.)*
김우성 외 2명. "와이코인: 블록체인 기술을 이용한 무선랜 공유." 디지털융복합연구 17.1 (2019.)*

Also Published As

Publication number Publication date
KR20220031252A (ko) 2022-03-11

Similar Documents

Publication Publication Date Title
US11038682B2 (en) Communication method, apparatus and system, electronic device, and computer readable storage medium
RU2755258C2 (ru) Вторичная аутентификация пользовательского устройства
Mafakheri et al. Blockchain-based infrastructure sharing in 5G small cell networks
CN109428717B (zh) 管理具有多个证书颁发者的嵌入式通用集成电路卡调配
US11411963B2 (en) Network access sharing
CN109769227B (zh) 端到端m2m服务层会话
CN101496387B (zh) 用于移动无线网络中的接入认证的系统和方法
US8295488B2 (en) Exchange of key material
CN110268690A (zh) 保护物联网中的设备通信
US9306936B2 (en) Techniques to classify virtual private network traffic based on identity
CN104956638A (zh) 用于在热点网络中未知设备的受限证书注册
WO2020174121A1 (en) Inter-mobile network communication authorization
CN113596828A (zh) 端对端服务层认证
CN110035037A (zh) 安全认证方法、相关设备及系统
CN111277404A (zh) 一种用于实现量子通信服务区块链的方法
NO338710B1 (no) Fremgangsmåte for å tilveiebringe en autentisering/autorisering av en ekstern klientterminal, et kommunikasjonsnettverk og en terminal for et kommunikasjonsnettverk
CN112055357A (zh) 基于区块链的可信安全高性能智能网联动态组网协作方法
US11271945B2 (en) Localized access control for authorized modifications of data using a cryptographic hash
US11265714B2 (en) Systems and methods for subscriber certificate provisioning
US20240072996A1 (en) System and method for key establishment
KR102399632B1 (ko) 무선통신 시스템에서 블록 체인 기반 데이터 송수신 방법 및 장치
US20220116774A1 (en) Methods and systems for authentication and establishment of secure connection for edge computing services
CN116471586A (zh) 一种数据处理方法、装置以及可读存储介质
WO2021099675A1 (en) Mobile network service security management
CN109450849B (zh) 一种基于区块链的云服务器组网方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant