KR102167627B1 - 데이터 통신 시스템 및 방법 - Google Patents

데이터 통신 시스템 및 방법 Download PDF

Info

Publication number
KR102167627B1
KR102167627B1 KR1020207003108A KR20207003108A KR102167627B1 KR 102167627 B1 KR102167627 B1 KR 102167627B1 KR 1020207003108 A KR1020207003108 A KR 1020207003108A KR 20207003108 A KR20207003108 A KR 20207003108A KR 102167627 B1 KR102167627 B1 KR 102167627B1
Authority
KR
South Korea
Prior art keywords
network
network node
bot
data
local
Prior art date
Application number
KR1020207003108A
Other languages
English (en)
Other versions
KR20200019998A (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 구루로직 마이크로시스템스 오이
Publication of KR20200019998A publication Critical patent/KR20200019998A/ko
Application granted granted Critical
Publication of KR102167627B1 publication Critical patent/KR102167627B1/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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

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

Abstract

로컬 네트워크에 대한 데이터 통신 시스템이 제공된다. 시스템은 네트워크 노드 및 그와 연관되는 복수의 네트워크 디바이스를 포함한다. 네트워크 노드는 복수의 네트워크 디바이스 상에서 실행되는 클라이언트 또는 봇에 네트워크 노드 서비스를 제공한다. 개개의 클라이언트 또는 봇은 프로그램 방식의 스타 구성으로 네트워크 노드 서비스 주위에 통신 가능하게 그리고 프로그래밍 방식으로 커플링되어 로컬 네트워크를 생성한다. 네트워크 노드 서비스는 로컬 네트워크 내의 클라이언트 또는 봇에 의해 제공되는 로컬 서비스를 유효성 확인하고 인증한다. 데이터는, 네트워크 노드 서비스를 통해 데이터를 중계하는 것에 의해 로컬 네트워크 내의 클라이언트 또는 봇 사이에서 실시간 또는 거의 실시간으로 통신된다. 데이터의 정보 콘텐츠는, 소스 클라이언트 또는 봇의 유저와 연관되는 키 저장소를 활용하는 것에 의해, 데이터를 통신하기 이전에 암호화된다.

Description

데이터 통신 시스템 및 방법
본 개시는 데이터 통신 시스템에 관한 것이다. 또한, 본 개시는 데이터를 통신하는 방법에 관한 것이다. 더구나, 본 개시는 컴퓨터 판독 가능 명령어가 저장된 비일시적 컴퓨터 판독 가능 저장 매체를 포함하는 컴퓨터 프로그램 제품에 관한 것으로, 컴퓨터 판독 가능 명령어는 전술한 방법을 실행하기 위한 프로세싱 하드웨어를 포함하는 컴퓨터화된 디바이스에 의해 실행 가능하다.
현대의 가정 및 사무실 데이터 통신 네트워크는 물리적으로 개방형 로컬 네트워크에서의 연결된 디바이스에 기초하는데, 주어진 디바이스는 자신의 개방형 로컬 네트워크 외부의 다른 디바이스 및 서비스 공급자와 통신할 수 있다. 두 개의 물리적으로 연결된 디바이스 사이의 데이터 통신(즉, 노드간 데이터 전송)은, 두 개의 물리적으로 연결된 디바이스 사이에 링크를 제공하는 데이터 링크 계층(OSI L2)에 의해 촉진된다. 이와 관련하여, 데이터 링크 계층(OSI L2)은 두 개의 물리적으로 연결된 디바이스 사이의 연결을 확립하고 종료하는 프로토콜을 정의한다.
그러한 개방형 로컬 네트워크를 통해 제공되는 데이터 서비스는, 지속적인 공격, 도청, 및 다른 원치 않는 활동의 남용에 종종 노출된다. 통상적인 현대의 접근법은 방화벽 및 바이러스 백신 스캐너를 사용하여 디바이스를 보호하는 것이다. 그러나, 그러한 접근법은 개방형 로컬 네트워크 내부로부터 이루어지는 공격에 대해 디바이스를 보호할 수 없다.
다른 현대의 접근법은, 주어진 유저 디바이스와 주어진 서버 사이의 데이터 송신을 위해 암호화된 연결을 제공하는 것이다. 그러나, 송신될 정보는 송신 동안에만 암호화되고, 엔드포인트, 즉 주어진 유저 디바이스 및 주어진 서버 둘 모두에서는 암호화되지 않은 형태로 저장된다. 결과적으로, 정보는 가능한 남용으로부터 보호되지 않는다.
또한, 현대의 서비스는 서비스 공급자의 데이터 센터에 의해 생성된다. 그러한 현대의 관행은 여러 가지 단점이 문제가 된다. 첫째, 현대의 데이터 센터는, 그들이 대부분의 시간 유휴 상태를 유지하기 때문에, 전세계 모든 항공사보다 더 많은 에너지를 냉각을 위해 소비한다는 것은 잘 알려진 사실이다. 둘째, 현대의 데이터 센터는, 주어진 유저에 의해 생성되고 사용되는 정보를 다양한 목적을 위해, 예를 들면, 예컨대 유저 프로파일링에 기초한 타겟 광고를 위해 서비스 공급자가 이용 가능하게 만든다, 즉, 그러한 정보를 상업적 사용을 위해 써드파티에게 판매한다.
더구나, 현대의 검색 엔진 서비스는 그들의 존재를 Internet®(인터넷)에 존재하는 개방적이고 접근 가능한 정보에 기초하며, 그들의 서비스는 현대 정보 사회의 기반을 생성한다. 이들 검색 엔진 서비스는 강력한 성능을 발휘하며, 검색 엔진 서비스가 액세스 가능한 정보가 다양한 목적을 위해 오용되는 것이 가능한데, 이것은 개개의 유저 보호, 회사를 위해 또는 심지어 상이한 국가의 법률에 관해 바람직하지 않다.
공개된 미국 특허 출원 US 2016/0065548 A1("Keychain syncing"; 발명자: Michael Brouwer, Dallas B. De Atley 및 Mitchell D. Adler)에서는, 디바이스의 적어도 하나의 프로세싱 유닛에 실행될 때, 디바이스 상에 저장된 키체인의 세트를 다른 디바이스의 세트와 동기화하는 프로그램이 설명된다. 디바이스 및 다른 디바이스의 세트는 피어 투 피어(peer-to-peer; P2P) 네트워크를 통해 서로 통신 가능하게 커플링된다. 프로그램은 디바이스에 저장된 키체인의 세트 내의 한 키체인에 대한 수정을 수신한다. 프로그램은, 디바이스에 저장된 키체인의 세트를 다른 디바이스의 세트와 동기화하기 위해, 다른 디바이스의 세트의 각각의 디바이스에 대한 업데이트 요청을 생성한다. 프로그램은 P2P 네트워크를 통해 업데이트 요청의 세트를, 별개의 보안 통신 채널의 세트를 통해 다른 디바이스의 세트로 송신한다.
다른 공개된 미국 특허 출원 US 2013/0195272 A1("Base station apparatus for transmitting or receiving a signal containing predetermined information"; 발명자: Makoto Nagai 및 Yoshihiro Hori)에서는, 단말 장치 사이의 통신을 위해 사용 가능한 복수의 종류의 대칭 키를 나타내는 대칭 키 테이블을 저장하는 스토리지 유닛이 설명된다. MAC 프레임 프로세싱 유닛은 단말 장치로부터 패킷 브로드캐스트를 수신한다. 검증 유닛은, 수신된 패킷에 부가되는 디지털 서명을 생성하기 위한 대칭 키를 포함하는 대칭 키 테이블의 버전을 검증한다. 검출기는, 검증된 대칭 키 테이블의 버전이 저장 유닛에 저장된 대칭 키 테이블의 버전보다 더 오래되었는지 또는 그렇지 않은지의 여부를 검출한다. 단위 시간에 검출의 횟수가 미리 결정된 수 또는 그 이상인 경우, MAC 프레임 프로세싱 유닛은, 저장 유닛에 저장된 대칭 키 테이블을 포함하는 패킷을 생성한다. 그 다음, MAC 프레임 프로세싱 유닛은 생성된 패킷을 브로드캐스트한다.
또 다른 공개된 미국 특허 출원 US 2010/0031063 A1("System for and Method of Remote Secure Backup"; 발명자: Anthony Fascenda, Emil Sturniolo, Robert Cichielo 및 Paul Benware)에서는, 백업을 위해 모듈을 안전하게 등록하는 방법이 설명되는데, 여기서, 모듈은 적어도 하나의 불휘발성 메모리 및 프로세서를 포함한다. 그 방법은 모듈을 프로비저닝하는(provisioning) 것, 모듈에 대한 백업 키를 생성하는 것, 엑스포트 키(export key)를 사용하여 백업 키를 암호화하는 것, 암호화된 백업 키 및 다른 정보를 백업 센터로 송신하는 것, 및 암호화된 백업 키 및 다른 정보를 백업 센터에 저장하는 것을 포함한다.
또 다른 공개된 미국 특허 출원 US 2009/0122984 A1("Secure mobile telephony"; 발명자: Anthony Fascenda, Emil Sturniolo, Robert Cichielo 및 Paul Benware)에서는, 상품 이동 전화(commodity mobile phone)를 사용하여 그리고 서비스 공급자 협력을 필요로 하지 않으면서 단대단(end-to-end) 암호화된 실시간 전화 통화를 제공하기 위한 시스템 및 방법이 설명된다. 시스템 및 방법은, 단대단 암호화 기능성(functionality)을 포함하도록 특별히 제조되는 이동 전화에 대한 임의의 요건을 생략한다.
또 다른 공개된 미국 특허 출원 US 7096355 B1("Dynamic encoding algorithms and inline message decryption"; 발명자: Maclen Marvit, Keith David Rosema, Jeffrey Ubois, David Marvit, Dean Brettle, Yair Zadik 및 Stuart Goodnick)에서는, 유저의 클라이언트가 종래의 클라이언트 툴을 사용하여 인코딩된 메시지를 프로세싱하고 평문 메시지를 획득하는 것을 가능하게 하는 형태로 인코딩된 메시지가 유저에게 제공되는 인라인 메시지 암호 해제 접근법(inline message decryption approach)이 설명된다. 이것은 유저의 클라이언트가 메시지를 인코딩하기 위해 사용되는 특정한 인코딩 알고리즘을 알 필요성을 제거한다. 인라인 메시지 암호 해제 접근법은 다음의 것을 포함한다: a) 인시튜(in-situ) 암호 해제; b) 원격 암호 해제; 및 c) 데이터 업로딩. 연관된 URL의 세트를 사용하여 네트워크의 노드 사이에서 데이터를 교환하기 위한 접근법이 또한 제공된다.
공개된 미국 특허 문헌 US 2017/0195318 A1(Afero, Inc.; "System and Method for Automatic Wireless Network Authentication in an Internet Of Things (IoT) System")에서는, 보안 IoT 무선 네트워크 구성을 위한 시스템, 장치, 및 방법이 설명된다. 사물 인터넷(Internet of Things; IoT) 허브는, 하나 이상의 IoT 디바이스 및/또는 IoT 익스텐더 허브와의 로컬 무선 연결을 확립하기 위한 로컬 무선 통신 인터페이스를 포함한다. 또한, 사물 인터넷(IoT) 허브는 IoT 디바이스 및/또는 IoT 익스텐더 허브를 대신하여 인터넷을 통해 네트워크 연결을 확립하기 위한 네트워크 라우터를 또한 포함한다. 더구나, 사물 인터넷(IoT) 허브는, IoT 디바이스 및/또는 IoT 익스텐더 허브로부터 연결 요청을 수신하기 위한 그리고 IoT 디바이스 및/또는 IoT 익스텐더 허브가 적절한 인증을 사용할 때 연결 요청을 허여하기 위한 인증 모듈을 포함한다.
공개된 미국 특허 문헌 US 2012/0042390 A1(Nokia Corporation; "Method and Apparatus for Secure Revocable Location Sharing")에서는, 제1 서비스의 가입자에 대한 제1 식별자를 결정하는 것을 포함하는 보안 취소 가능 위치 공유 네트워크 서비스(secure revocable location sharing network service)를 위한 기술이 설명된다. 동작에서, 가입자에 대한 제2 식별자와 연관하여 제2 서비스에 저장된 위치 액세스 키가 결정된다. 더구나, 적어도 하나의 암호화된 위치가 가입자와 관련되는 적어도 하나의 위치 및 위치 액세스 키에 기초하여 결정된다. 다른 기술은 가입자를 액세스 키 및 연락처에 대한 제1 서비스에서의 식별자와 연관시키는 것을 포함한다.
전술한 내용에 비추어, 종래의 데이터 센터와 비교하여 더욱 안전하고 생태계를 염려하며(ecological) 가격이 알맞은 데이터 통신 시스템에 대한 현대의 요구가 발생한다.
본 개시는 향상된 데이터 통신 시스템을 제공하고자 한다.
또한, 본 개시는 데이터를 통신하는 향상된 방법을 제공하고자 한다.
본 개시의 또 다른 목적은, 전술한 것에서 설명되는 바와 같이, 종래 기술의 문제점 중 적어도 일부를 적어도 부분적으로 극복하는 것이다.
제1 양태에서, 본 개시의 실시형태는 로컬 네트워크에 대한 데이터 통신 시스템을 제공하는데, 데이터 통신 시스템은 적어도 하나의 네트워크 노드 및 적어도 하나의 네트워크 노드와 연관되는 복수의 네트워크 디바이스를 포함하며:
- 적어도 하나의 네트워크 노드는 복수의 네트워크 디바이스 상에서 실행되는 복수의 클라이언트 또는 봇(bot)에 네트워크 노드 서비스를 제공하도록 구성되되, 복수의 클라이언트 또는 봇의 개개의 클라이언트 또는 봇은, 프로그램 방식의 스타 구성(programmatic star configuration)으로 네트워크 노드 서비스 주위에 통신 가능하게 그리고 프로그래밍 방식으로만 커플링되어 로컬 네트워크를 생성하고, 또한, 네트워크 노드 서비스는 로컬 네트워크 내의 복수의 클라이언트 또는 봇에 의해 제공되는 로컬 서비스를 유효성 확인하고(validate) 인증하도록 구성되고;
- 소스 클라이언트 또는 봇은 네트워크 노드 서비스를 통해 데이터를 중계하는 것에 의해 실시간 또는 거의 실시간으로 로컬 네트워크 내의 하나 이상의 목적지 클라이언트 또는 봇에 메타데이터와 함께 데이터를 통신하도록 구성되고; 그리고
- 소스 클라이언트 또는 봇은 데이터를 하나 이상의 목적지 클라이언트 또는 봇에 통신하기 이전에 데이터의 정보 콘텐츠를 암호화하도록 구성되되, 소스 클라이언트 또는 봇은 데이터의 정보 콘텐츠를 암호화하기 위해 키 저장소(key store)를 활용하도록 구성되고, 키 저장소는 소스 클라이언트 또는 봇의 유저와 연관되고,
메타데이터는:
- 키 저장소의 고유 식별자(identifier; ID) 및 데이터의 암호화된 정보 콘텐츠의 후속하는 암호 해제를 위해 키 저장소로부터 유도될 키 자료(key material)의 키 인덱스를 나타내는 암호화 정보, 및
- 데이터가 통신될 하나 이상의 목적지 클라이언트 또는 봇 - 소스 클라이언트 또는 봇 및 하나 이상의 목적지 클라이언트 또는 봇은 함께 그룹을 형성함 - 을 나타내는 그룹 정보를 포함한다.
본 개시의 실시형태는, 클라이언트 또는 봇의 유저와 관련하여 서비스에 의해 생성되는 데이터를 보호하면서, 로컬 네트워크에서 효율적으로 통합된 로컬 네트워크 디바이스 상에서 실행되는 클라이언트 또는 봇을 사용하는 것에 의해 유저가 그들 자신의 사용을 위해 서비스를 생성하는 것을 데이터 통신 시스템이 가능하게 한다는 점에서, 유익하다.
제2 양태에서, 본 개시의 실시형태는 로컬 네트워크에 대한 데이터 통신 시스템을 통해, 데이터를 통신하는 방법을 제공하는데, 데이터 통신 시스템은 적어도 하나의 네트워크 노드 및 적어도 하나의 네트워크 노드와 연관되는 복수의 네트워크 디바이스를 포함하고, 방법은:
- 적어도 하나의 네트워크 노드를 통해, 복수의 네트워크 디바이스 상에서 실행되는 복수의 클라이언트 또는 봇에 네트워크 노드 서비스를 제공하는 것 - 복수의 클라이언트 또는 봇의 개개의 클라이언트 또는 봇은, 프로그램 방식의 스타 구성으로 네트워크 노드 서비스 주위에 통신 가능하게 그리고 프로그래밍 방식으로만 커플링되어 로컬 네트워크를 생성하고, 또한, 네트워크 노드 서비스는 로컬 네트워크 내의 복수의 클라이언트 또는 봇에 의해 제공되는 로컬 서비스를 유효성 확인하고 인증하도록 구성됨 - ;
- 네트워크 노드 서비스를 통해 데이터를 중계하는 것에 의해 메타데이터와 함께 데이터를 소스 클라이언트 또는 봇으로부터 로컬 네트워크 내의 하나 이상의 목적지 클라이언트 또는 봇으로 실시간 또는 거의 실시간으로 통신하는 것; 및
- 소스 클라이언트 또는 봇에서, 데이터를 하나 이상의 목적지 클라이언트 또는 봇에 통신하기 이전에 데이터의 정보 콘텐츠를 암호화하는 것 - 데이터의 정보 콘텐츠를 암호화하기 위해 키 저장소가 활용되고, 키 저장소는 소스 클라이언트 또는 봇의 유저와 연관됨 - 을 포함하고,
메타데이터는:
- 키 저장소의 고유 식별자(ID) 및 데이터의 암호화된 정보 콘텐츠의 후속하는 암호 해제를 위해 키 저장소로부터 유도될 키 자료의 키 인덱스를 나타내는 암호화 정보, 및
- 데이터가 통신될 하나 이상의 목적지 클라이언트 또는 봇 - 소스 클라이언트 또는 봇 및 하나 이상의 목적지 클라이언트 또는 봇은 함께 그룹을 형성함 - 을 나타내는 그룹 정보를 포함한다.
제3 양태에서, 본 개시의 실시형태는, 컴퓨터 판독 가능 명령어가 저장된 비일시적(non-transitory)(즉, 비일시적(non-transient)) 컴퓨터 판독 가능 저장 매체를 포함하는 컴퓨터 프로그램 제품을 제공하는데, 컴퓨터 판독 가능 명령어는, 전술한 제2 양태에 따른 전술한 방법을 실행하기 위한 프로세싱 하드웨어를 포함하는 컴퓨터화된 디바이스에 의해 실행 가능하다.
본 개시의 추가적인 양태, 이점, 피쳐(feature) 및 목적은, 후속하는 청구범위와 연계하여 해석되는 예시적인 실시형태의 도면 및 상세한 설명으로부터 명백하게 될 것이다.
본 개시의 피쳐는, 첨부된 청구범위에 의해 정의되는 바와 같은 본 개시의 범위를 벗어나지 않으면서 다양한 조합으로 결합되기 쉽다는 것이 인식될 것이다.
상기의 개요뿐만 아니라, 예시적인 실시형태의 후속하는 상세한 설명은 첨부하는 도면과 연계하여 판독될 때 더 잘 이해된다. 본 개시를 예시의 목적을 위해, 본 개시의 예시적인 구성이 도면에 도시되어 있다. 그러나, 본 개시는 본원에서 개시되는 특정한 방법 및 장치로 제한되지는 않는다. 또한, 기술 분야의 사람은 도면이 일정 비율이 아니다는 것을 이해할 것이다. 가능한 곳이면 어디서든, 같은 엘리먼트는 동일한 숫자에 의해 표시되었다.
이제, 본 개시의 실시형태가, 후속하는 도면을 참조하여, 단지 예를 통해 설명될 것인데, 후속하는 도면에서:
도 1은, 본 개시의 실시형태에 따른, 데이터 통신 시스템의 개략적인 예시이다;
도 2는, 본 개시의 실시형태에 따른, 예시적인 로컬 네트워크의 개략적인 예시이다;
도 3은, 본 개시의 실시형태에 따른, 다른 예시적인 로컬 네트워크의 개략적인 예시이다;
도 4a 및 도 4b는, 본 개시의 한 실시형태에 따른, 클라이언트 또는 봇이 상이한 로컬 네트워크로부터의 다른 클라이언트 또는 봇과 통신할 수도 있는 방법의 개략적인 예시이다; 그리고
도 5는, 본 개시의 실시형태에 따른, 데이터 통신 시스템에서 정의되는 복수의 그룹의 개략적인 예시이다.
첨부하는 도면에서, 밑줄 친 숫자가 배치되는 항목 또는 밑줄 친 숫자가 인접하는 항목을 나타내기 위해 밑줄 친 숫자가 활용된다. 숫자에 밑줄이 없고 연관된 화살표가 수반되는 경우, 밑줄이 없는 숫자는, 화살표가 가리키고 있는 일반 항목을 식별하기 위해 사용된다.
다음의 상세한 설명에서, 본 개시의 예시적인 실시형태 및 그들이 구현될 수 있는 방식이 설명된다. 비록 본 개시를 수행하는 몇몇 모드가 설명되지만, 기술 분야의 숙련된 자는 본 개시를 수행 또는 실시하기 위한 다른 실시형태도 또한 가능하다는 것을 인식할 것이다.
제1 양태에서, 본 개시의 실시형태는 로컬 네트워크에 대한 데이터 통신 시스템을 제공하는데, 데이터 통신 시스템은 적어도 하나의 네트워크 노드 및 적어도 하나의 네트워크 노드와 연관되는 복수의 네트워크 디바이스를 포함하며:
- 적어도 하나의 네트워크 노드는 복수의 네트워크 디바이스 상에서 실행되는 복수의 클라이언트 또는 봇(bot)에 네트워크 노드 서비스를 제공하도록 구성되되, 복수의 클라이언트 또는 봇의 개개의 클라이언트 또는 봇은, 프로그램 방식의 스타 구성으로 네트워크 노드 서비스 주위에 통신 가능하게 그리고 프로그래밍 방식으로만 커플링되어 로컬 네트워크를 생성하고, 또한, 네트워크 노드 서비스는 로컬 네트워크 내의 복수의 클라이언트 또는 봇에 의해 제공되는 로컬 서비스를 유효성 확인하고 인증하도록 구성되고;
- 소스 클라이언트 또는 봇은 네트워크 노드 서비스를 통해 데이터를 중계하는 것에 의해 실시간 또는 거의 실시간으로 로컬 네트워크 내의 하나 이상의 목적지 클라이언트 또는 봇에 메타데이터와 함께 데이터를 통신하도록 구성되고; 그리고
- 소스 클라이언트 또는 봇은 데이터를 하나 이상의 목적지 클라이언트 또는 봇에 통신하기 이전에 데이터의 정보 콘텐츠를 암호화하도록 구성되되, 소스 클라이언트 또는 봇은 데이터의 정보 콘텐츠를 암호화하기 위해 키 저장소를 활용하도록 구성되고, 키 저장소는 소스 클라이언트 또는 봇의 유저와 연관되고,
메타데이터는:
- 키 저장소의 고유 식별자(ID) 및 데이터의 암호화된 정보 콘텐츠의 후속하는 암호 해제를 위해 키 저장소로부터 유도될 키 자료의 키 인덱스를 나타내는 암호화 정보, 및
- 데이터가 통신될 하나 이상의 목적지 클라이언트 또는 봇 - 소스 클라이언트 또는 봇 및 하나 이상의 목적지 클라이언트 또는 봇은 함께 그룹을 형성함 - 을 나타내는 그룹 정보를 포함한다.
옵션 사항으로(optionally), 적어도 하나의 네트워크 노드는 적어도 제1 네트워크 노드 및 제2 네트워크 노드를 포함하고, 복수의 네트워크 디바이스는 제1 네트워크 노드와 연관되는 네트워크 디바이스의 제1 세트 및 제2 네트워크 노드와 연관되는 네트워크 디바이스의 제2 세트를 포함한다. 옵션 사항으로, 그러한 경우에, 제1 네트워크 노드는 네트워크 디바이스의 제1 세트 상에서 실행되는 클라이언트 또는 봇의 제1 세트에 제1 네트워크 노드 서비스를 제공하도록 구성되고, 한편 제2 네트워크 노드는 네트워크 디바이스의 제2 세트 상에서 실행되는 클라이언트 또는 봇의 제2 세트에 제2 네트워크 노드 서비스를 제공하도록 구성된다. 옵션 사항으로, 이와 관련하여, 클라이언트 또는 봇의 제1 세트의 개개의 클라이언트 또는 봇은, 프로그램 방식의 스타 구성으로 제1 네트워크 노드 서비스 주위에 통신 가능하게 그리고 프로그래밍 방식으로만 커플링되어 제1 로컬 네트워크를 생성하고, 한편, 클라이언트 또는 봇의 제2 세트의 개개의 클라이언트 또는 봇은, 프로그램 방식의 스타 구성으로 제2 네트워크 노드 서비스 주위에 통신 가능하게 그리고 프로그래밍 방식으로만 커플링되어 제2 로컬 네트워크를 생성하고, 또한, 제1 및 제2 네트워크 노드 서비스는 그들 각각의 로컬 네트워크 내의 클라이언트 또는 봇의 제1 및 제2 세트에 의해 제공되는 로컬 서비스를 유효성 확인하고 인증하도록 구성된다.
옵션 사항으로, 주어진 소스 클라이언트 또는 봇이 동일한 로컬 네트워크 내에서 주어진 목적지 클라이언트 또는 봇에 데이터를 통신하도록 구성되는 경우, 통신될 데이터는 동일한 로컬 네트워크 내에서의 그들의 연관된 네트워크 노드 서비스를 통해 실시간 또는 거의 실시간으로 중계된다.
옵션 사항으로, 주어진 소스 클라이언트 또는 봇이 상이한 로컬 네트워크로부터의 주어진 목적지 클라이언트 또는 봇에 데이터를 통신하도록 구성되는 경우, 통신될 데이터는, 주어진 소스 클라이언트 또는 봇과 연관되는 네트워크 노드 서비스를 통해 그리고 주어진 목적지 클라이언트 또는 봇과 연관되는 네트워크 노드 서비스를 통해 실시간 또는 거의 실시간으로 중계된다. 예로서, 제1 로컬 네트워크로부터의 소스 클라이언트 또는 봇이 제2 로컬 네트워크로부터의 목적지 클라이언트 또는 봇에 데이터를 통신하도록 구성되는 경우, 통신될 데이터는 제1 네트워크 노드 서비스 및 제2 네트워크 노드 서비스를 통해 실시간 또는 거의 실시간으로 중계된다.
"실시간 또는 거의 실시간"에 의해, 전술한 데이터 통신 시스템에서, 클라이언트 또는 봇은 즉시 또는 무시 가능한 레이턴시를 가지고 데이터를 교환할 수 있다는 것이 의도된다. 그러한 레이턴시는, 전술한 데이터 통신 시스템의 다양한 실제 애플리케이션에서 최소로 유지되는 것이 매우 중요하다. 예로서, 그러한 실시간 또는 거의 실시간 통신은, 전술한 데이터 통신 시스템이 자동 운전 차량(self-drive vehicle)에 대해 및/또는 차량 모니터링 목적을 위해, 예를 들면, 자율 자동 운전 차량(autonomous self-drive vehicle)의 승객 보호를 위해 활용될 때 매우 유익하다.
주어진 네트워크 디바이스는 주어진 유저에 의해 소유, 관리 또는 임대될 수도 있다는 것이 인식될 것이다. 본 개시 전체에 걸쳐, 용어 "유저"는, 하나 이상의 네트워크 디바이스 상에서 실행되는 하나 이상의 클라이언트 또는 봇을 사용하는 엔티티 또는 엔티티의 그룹을 지칭하는데, 여기서 하나 이상의 네트워크 디바이스는 엔티티 또는 엔티티의 그룹에 의해 소유, 관리 또는 임대될 수도 있다. 용어 "엔티티"는 인간 유저뿐만 아니라 인간 유저와 연관되는 유저 디바이스 둘 모두를 포괄한다.
본 개시 전체에 걸쳐서, 용어 "클라이언트" 및 "봇"은, 네트워크 디바이스 상에서 실행될 때, 프로그램 방식의 모듈(programmatic module)의 유저를 위한 로컬 서비스를 생성하는 프로그램 방식의 모듈을 지칭한다.
또한, 옵션 사항으로, 소스 클라이언트 또는 봇은, 데이터의 정보 콘텐츠를 암호화하기 위해 키 저장소에 저장되는 적어도 하나의 키 자료를 활용하도록 구성된다.
소스 클라이언트 또는 봇의 유저와 연관되는 복수의 키 저장소가 있을 수 있다는 것이 인식될 것인데, 복수의 키 저장소는 상이한 서비스 공급자에 대해 전용되며; 그러한 경우, 키 저장소의 고유 ID는, 암호화/암호 해제 목적을 위해 복수의 키 저장소 중 어떤 키 저장소가 사용되어야 하는지를 식별한다.
본 개시의 실시형태에 따르면, 소스 클라이언트 또는 봇 및 하나 이상의 목적지 클라이언트 또는 봇은, 키 저장소의 동일한 또는 상호 호환 가능한 사본을 제공받는다. 옵션 사항으로, 키 저장소는 소스 클라이언트 또는 봇 또는 하나 또는 하나 이상의 목적지 클라이언트 또는 봇 중 임의의 하나에 의해 제공된다. 대안적으로, 옵션 사항으로, 키 저장소는 신뢰된 써드파티에 의해 제공된다. 승인되지 않은 당사자(party)는 관련 키 저장소 및 그것의 키 자료에 액세스할 수 없기 때문에, 승인되지 않은 당사자가 암호화된 정보 콘텐츠에 액세스하더라도 어떠한 해도 발생하지 않는다는 것이 인식될 것이다.
옵션 사항으로, 키 저장소는, 키 자료를 저장할 수 있는 및/또는 그들의 키 인덱스에 기초하여 재현 가능한(reproducible) 방식으로 키 자료를 생성할 수 있는 키 컨테이너 또는 키 생성기를 통해 구현된다. "재현 가능"에 의해, 주어진 키 인덱스로부터 동일한 키 재료가 재현 가능하게 생성된다는 것이 의도된다. 예로서, 키 저장소는 영국 특허 문헌 GB2538052에서 설명되는 바와 같이 구현될 수 있다. 다른 예로서, 키 저장소는 영국 특허 문헌 GB 1620553.6에서 설명되는 바와 같이 구현될 수 있다.
삭제
옵션 사항으로, 복수의 그룹은 동적인 방식으로 데이터 통신 시스템 내에서 정의되는데, 복수의 그룹 중 주어진 그룹은 다음의 것을 포함한다:
- 제1 로컬 네트워크로부터의 적어도 하나의 클라이언트 또는 봇 및 제2 로컬 네트워크로부터의 적어도 하나의 클라이언트 또는 봇, 또는
- 동일한 로컬 네트워크로부터의 적어도 두 개의 클라이언트 또는 봇.
옵션 사항으로, 데이터 통신 시스템의 각각의 그룹은 고유한 그룹 태그를 할당받는다. 옵션 사항으로, 그러한 경우에, 메타데이터의 그룹 정보는, 소스 클라이언트 또는 봇 및 하나 이상의 목적지 클라이언트 또는 봇을 포함하는 그룹의 그룹 태그를 포함한다.
"동적인 방식으로" 복수의 그룹을 정의하는 것은, 그룹이 개개의 상황 및 요건에 기초하여 변할 수 있고, 그룹 구성이 상이한 시점에서 상이할 수 있다는 것을 의미한다는 것이 인식될 것이다.
메타데이터의 전술한 그룹 정보 및 전술한 암호화 정보는, 데이터 통신 시스템이 목적지 클라이언트 또는 봇에 대한 빠르고 신뢰 가능한 데이터 전달을 수행하는 것을 가능하게 한다는 것이 또한 인식될 것이다.
옵션 사항으로, 메타데이터는 하나 이상의 데이터 스트림을 통해 통신된다.
한 실시형태에 따르면, 메타데이터는 암호화되지 않은 형태로 통신된다. 그러한 경우, 주어진 네트워크 노드 서비스는, 암호화된 정보 콘텐츠를 프로세싱할 필요 없이, 메타데이터에 기초하여, 데이터의 암호화된 정보 콘텐츠를 소망되는 당사자, 즉, 하나 이상의 목적지 클라이언트 또는 봇으로 전달한다(즉, 중계한다). 다시 말하면, 민감한 정보를 포함할 수도 있는 데이터의 정보 콘텐츠만이 암호화되고; 주어진 네트워크 노드 서비스는 암호화된 정보 콘텐츠를 암호 해제하고 그것을 다시 암호화할 필요가 없다. 결과적으로, 주어진 네트워크 노드 서비스는 소스 클라이언트 또는 봇의 유저와 관련하여 어떠한 민감한 정보도 손상시키지 않는다. 특히, 주어진 네트워크 노드 서비스를 제공하는 주어진 네트워크 노드는, 데이터를 보호하기 위한 어떠한 보안 보강도 필요로 하지 않는 임의의 종류의 디바이스를 사용하여 임의의 종류의 환경에서 구현될 수 있다.
다른 실시형태에 따르면, 메타데이터는 암호화된 형태로 통신된다. 그러한 경우에, 네트워크 노드 서비스는, 그들 자신의 키 저장소 및 승인되지 않은 액세스 및 사용으로부터 키 저장소를 보호하기 위한 키 저장소와 연관되는 적절한 보안 모듈(즉, 클라이언트 또는 봇)을 구비하도록 구현되는 것이 규정되는데, 보안 모듈(즉, 클라이언트 또는 봇)은 실제 암호화 및 암호 해제 동작을 수행하도록 구성된다. 이것은, 네트워크 노드 서비스를 실행하는 네트워크 노드로부터의 하드웨어 분리 보안 피쳐를 필요로 한다. 추적 정보를 숨기는 것이 소망되는 경우 암호화된 형태로 메타데이터를 통신하는 것이 특히 유익하다는 것이 인식될 것이고, 그 결과, 어떤 타입의 데이터 스트림이 통신되고 있고 누구와 통신이 발생하고 있는지를 도청하는 써드파티가 인식하는 것은 가능하지 않을 것이다. 이것은 잠재적으로 데이터 통신 시스템의 비용 효율성을 향상시킨다.
그러나, 추적 정보를 숨길 이유가 없는 경우 메타데이터는 암호화될 필요가 없다는 것이 인식될 것이다.
본 개시 전체에 걸쳐, 용어 "네트워크 노드"는 네트워크 노드 서비스를 제공하도록 구성되는 물리적 네트워크 노드를 지칭하며, 그 결과, 네트워크 노드 서비스는 그 자신의 로컬 네트워크에서 네트워크 디바이스 상에서 실행되는 클라이언트 또는 봇을 서빙하기 위해 프로그램적으로 중앙 집중화된다. 로컬 네트워크의 물리적 구현은, 그것의 네트워크 노드 및 네트워크 디바이스가 스타 네트워크 토폴로지로 배열되는 것을 필요로 하지 않는다는 것이 인식될 것이다. 다시 말하면, 클라이언트 또는 봇은 프로그래밍 방식의 스타 구성으로 네트워크 노드 서비스 주변에서 프로그래밍 방식으로만 커플링된다. 본 개시 전체에 걸쳐, 용어 "프로그램 방식의 스타 구성"은, 네트워크 노드 서비스 및 그것의 연관된 클라이언트 또는 봇에 의해 형성되는 소프트웨어 토폴로지를 지칭한다.
또한, 네트워크 노드는 데이터 통신 기기(예를 들면, 예컨대 모뎀, 허브 및 등등) 또는 데이터 단말 기기(예를 들면, 예컨대 라우터, 호스트 컴퓨터 및 등등) 중 어느 하나를 통해 구현될 수 있을 것이다. 옵션 사항으로, 주어진 네트워크 노드는 프로그래밍 방식의 허브 또는 프로그래밍 방식의 라우터를 통해 구현된다.
추가적으로 또는 대안적으로, 옵션 사항으로, 주어진 네트워크 노드는 로컬 네트워크 디바이스를 통해 동적으로 구현되는데, 로컬 네트워크 디바이스는 프로그래밍 방식으로 구축된 스타 구성을 사용하여 다른 로컬 네트워크 디바이스와 연결 및 통신하도록 구성된다.
본 개시의 실시형태는 광범위한 시스템에서 쉽게 활용될 수 있는데, 네트워크 디바이스는, 예를 들면, 스마트 폰, 스마트 워치, 퍼스널 컴퓨터(Personal Computer; PC), 차량의 온보드 진단(On-Board Diagnostics; OBD) 디바이스, 시청각 장치(audio-visual apparatus), 카메라, 텔레비전(television: TV) 세트, 데이터 스토리지 디바이스, 감시 카메라, 화상 회의 기기(video conferencing equipment), 전자 메일 서버, 파일 시스템, 미디어 플레이어, 의료 장치, 지진 장치, 설문 조사 장치, "블랙 박스" 비행 기록기, 또는 디지털 악기일 수 있을 것이다.
주어진 네트워크 노드 서비스는 고정된 물리적 위치 또는 물리적으로 움직이는 물체에 설치될 수 있다는 것이 인식될 것이다. 그러한 움직이는 물체의 예는, 드론, 차량, 그들의 유저에 의해 휴대되는 스마트 전화, 그들의 유저에 의해 휴대되는 스마트 워치, 및 다른 모바일 또는 웨어러블 디바이스를 포함하지만, 그러나 이들로 제한되지는 않는다.
따라서, 용어 "로컬 네트워크"는 물리적(즉, 정적인) 네트워크뿐만 아니라 모바일 방식으로 구현되는 네트워크 둘 모두를 포괄한다. 본 개시 전체에 걸쳐, 용어 "로컬 네트워크"는, 어떠한 외부 송신 네트워크도 요구하지 않으면서, 클라이언트 또는 봇에 의해 제공되는 로컬 서비스(예를 들면, 클라이언트 또는 봇에 의해 제공되는 소프트웨어 애플리케이션)과 직접적으로 상호 작용하는 애플리케이션 계층(OSI L7)을 구현하는 것에 의해 생성될 로컬 송신 네트워크를 지칭한다. 특히, 외부 송신 네트워크는 통상적으로 두 개 이상의 로컬 송신 네트워크 사이에서 데이터를 전송하는 데 필요하다.
옵션 사항으로, 데이터 통신 시스템의 로컬 네트워크는, 그들의 네트워크 노드 상에서 실행되는 네트워크 노드 서비스를 통해, 상호 인터커넥트되어 메쉬 네트워크를 형성한다(https://en.wikipedia.org/wiki/Mesh_networking 참조). 하나의 그러한 메쉬 네트워크가 도 1과 연계하여 도시되어 있다. 옵션 사항으로 메쉬 네트워크는 그리드 컴퓨팅 목적을 위해 형성된다(https://en.wikipedia.org/wiki/Grid_computing 참조). 데이터 통신 시스템의 네트워크 디바이스 상에서 실행되는 상이한 클라이언트 또는 봇은 필요한 경우에만 사용되며, 예를 들면, 그리드 컴퓨팅에 의한 인터커넥션에 의해 공유되어 대량의 계산 리소스를 결합할 수 있다는 것이 인식될 것이다. 따라서, 데이터 통신 시스템은 종래의 데이터 센터에 비해 훨씬 더 안전하고, 생태계를 염려하며 더욱 가격이 알맞은 대안을 제공할 수 있다. 또한, 데이터 통신 시스템의 주어진 로컬 네트워크는, 동적으로 움직이는 그리드 네트워크에 기초하여 다양한 클라이언트 또는 봇을 통해 소망되는 서비스를 제공하기 위해 모바일 또는 웨어러블 디바이스를 사용하여 구현될 수 있다.
주어진 네트워크 디바이스는 하나 이상의 다른 네트워크 디바이스 상에서 실행되는 하나 이상의 클라이언트 또는 봇에게 소망되는 서비스를 제공하게끔 주어진 클라이언트 또는 봇을 실행하도록 구성된다는 것이 인식될 것이다. 두 개의 주어진 네트워크 디바이스 사이의 실제 데이터 통신은, 두 개의 주어진 네트워크 디바이스 상에서 실행되는 클라이언트(https://en.wikipedia.org/wiki/Client_(computing) 참조) 또는 봇(https://en.wikipedia.org/wiki/Software_agent 참조)에 의해 수행된다는 것이 인식될 것이다. 옵션 사항으로, 주어진 클라이언트 또는 봇은, 디폴트로, 그것의 연관된 네트워크 노드에 의해 제공되는 네트워크 노드 서비스에 영구적으로 연결된다. 그에 의해, 로컬 서비스가 네트워크 디바이스의 로컬 네트워크에서 제공되는 것을 가능하게 하며, 그에 의해, 종래의 데이터 센터에 의해 현대에(contemporarily) 제공되는 서비스를 대체하는 솔루션이 제공된다.
주어진 봇은, 어쩌면 보호되지 않은 네트워크 디바이스 및 그 상에서 실행되는 소프트웨어로부터 주어진 봇의 유저에게 그리고 소망되는 써드파티에게 보호된 서비스를 제공할 수 있다는 것이 인식될 것이다. 다시 말하면, 본 개시의 실시형태에 따른 데이터 통신 시스템은, 데이터가 엔드 포인트 둘 모두, 즉, 소스 클라이언트 또는 봇을 실행하는 네트워크 디바이스 및 하나 이상의 목적지 클라이언트 또는 봇을 실행하는 하나 이상의 네트워크 디바이스에서 암호화된 형태로 저장될 때 향상된 보호를 제공한다.
본 개시의 실시형태에 따르면, 서비스는 클라이언트 또는 봇에 의해 프로그래밍 방식으로 제공되는데, 클라이언트 또는 봇은 그들의 대응하는 네트워크 노드에 의해 제공되는 네트워크 노드 서비스에 연결된다. 이것은 하드웨어 독립적 크로스 플랫폼 소프트웨어 솔루션 상에서 그러한 서비스가 생성되는 것을 가능하게 한다. 다시 말하면, 주어진 서비스의 동일한 기능성이 상이한 타겟 플랫폼(예를 들면, 예컨대 x86/x64/AArch64 및 등등)을 가진 네트워크 디바이스 상에서 실행될 수 있다.
본 개시의 한 실시형태에서, 주어진 네트워크 노드 서비스는 두 개의 주어진 클라이언트 또는 봇 사이의 호환 가능한 연결만을 프로세싱하도록 구성된다. 옵션 사항으로, 이와 관련하여, 주어진 네트워크 노드 서비스는, 예를 들면, 다음과 같은, 광범위한 상호 상이한 애플리케이션 및 서비스를 로컬하게 그리고 원격에서 지원하도록 구성된다:
- FaaS형(FaaS-like) 클라우드 컴퓨팅 종류의 실행 모델(https://en.wikipedia.org/wiki/Serverless_computing 참조);
- 애플리케이션을 개발 및 실행하기 위해 연관되는 통상적인 인프라 없이 애플리케이션을 관리 및 실행하기 위한 PaaS형(PaaS-like) 애플리케이션 플랫폼(https://en.wikipedia.org/wiki/Platform_as_a_service 참조); 및
- 중앙에서 호스팅되는 SaaS형(SaaS-like) 소프트웨어 전달(delivery) 모델(https://en.wikipedia.org/wiki/Software_as_a_service 참조).
광범위한 상호 상이한 애플리케이션 및 서비스를 지원하기 위해, 클라이언트 또는 봇은, 유저가 인터페이스를 가지고 있든 또는 그렇지 않든 간에, 데이터 통신 시스템의 유저에 대한 소정의 기능성을 수행하도록 구성된다.
옵션 사항으로, 이와 관련하여, 봇은 대리(agency) 관계에 있는 유저, 프로그램 또는 서비스를 대행하도록 구성되는 소프트웨어 에이전트로서 구현된다. 옵션 사항으로, 그러한 소프트웨어 에이전트는 세 가지 타입의 봇: 프로토콜 봇, 클라이언트 봇 및 서버 봇으로 정의되는데, 이들은 써드파티 서비스 공급자가 개발할 효과적인 애플리케이션 프로그래밍 인터페이스(Application Programming Interface; API)를 제공하기 위해, 그리고, 옵션 사항으로, 본 개시의 실시형태에 따른 데이터 통신 시스템에 기초하여 그들의 서비스로 수익을 창출하기 위해 상이한 종류의 목적을 위해 정의된다. 이들 타입의 봇은, 개인(private) 또는 공공(public) 네트워크와는 상이한 디바이스 및 서비스가 데이터 통신 시스템의 네트워크 디바이스와의 보호된 연결을 확립하는 것을 가능하게 하는 인터페이스를 제공한다는 것이 인식될 것이다. "보호된 연결"에 의해, 디바이스 및 서비스에 의해 생성되는 데이터가 암호화를 사용하여 보호되고, 로컬 네트워크의 네트워크 노드 서비스를 통해 릴레이를 통해 전달된다는 것이 의도된다. 결과적으로, 데이터는 로컬 네트워크 내부 및 외부 둘 모두로부터 발생하는 종래 형태의 공격으로부터 보호된다. 또한, 전통적인 형태의 공격이 데이터의 암호화된 정보 콘텐츠를 도청하는 것은 가능하지 않다.
옵션 사항으로, 프로토콜 봇은 데이터 통신 시스템의 네트워크 디바이스에 의해 제공되는 서비스를 지원하기 위해 상이한 통신 및 커맨드 프로토콜을 변환하도록 구성된다. 예로서, 주어진 프로토콜 봇은 시청각 콘텐츠(예를 들면, 예컨대 감시 카메라, 텔레비전, 재생 비디오, 및 등등)를 생성하는 네트워크 디바이스에 의해 제공되는 서비스를 지원하기 위해 상이한 타겟 플랫폼 상에서 상이한 타입의 미디어 플레이어를 연결하도록 구성될 수 있다. 다시 말하면, 주어진 프로토콜 봇은 통신된 데이터의 정보 콘텐츠 및 그것의 콘텐츠 포맷을 타겟 디바이스에 따라 적응시키도록 구성될 수 있다. 그러한 적응은, 예를 들면, 영국 특허 문헌 GB2514543에서 설명되는 바와 같이 수행될 수 있다. 그러한 봇에 의해 제공되는 서비스는, 타겟 디바이스의 내장 생태계 소프트웨어(built-in ecosystem software)에 관계 없이, 타겟 디바이스의 주어진 플랫폼에 따라 정보 콘텐츠를 적응시키도록 활용된다.
옵션 사항으로, 프로토콜 봇은, 시청각 정보를 그와 연관되는 미디어 플레이어에 따라 변환하도록 구성되는 미디어 플레이어 봇이다. 미디어 플레이어는 로컬 디바이스 또는 원격으로 연결된 디바이스 상에서 실행될 수 있는데, 미디어 플레이어 봇은 미디어 플레이어에 커플링된다. 옵션 사항으로, 그러한 경우에, 미디어 플레이어 봇은, 비디오 및 오디오를 전달하기 이전에, 연결된 디바이스의 미디어 플레이어와 호환되는 포맷으로 비디오 및 오디오를 적응시키도록 구성된다. 그 다음, 연결된 디바이스의 미디어 플레이어는 봇으로부터 수신되는 비디오 및 오디오를 렌더링한다. 옵션 사항으로, 이와 관련하여, 미디어 플레이어 봇은 연결된 디바이스의 미디어 플레이어의 기술적 요건을 인식 및 이해하도록 구성되고, 그에 의해, 송신 프로토콜의 관점뿐만 아니라 비디오 포맷 및 오디오 포맷의 관점 둘 모두에서, 연결된 디바이스와 호환되는 포맷에 대한 비디오 및 오디오의 적응을 가능하게 한다. 예로서, 유저 이동 전화의 미디어 플레이어는, 미디어 플레이어 봇에 의해 제공되는 서비스를 사용하여, 임의의 시간에 그리고 전세계 어느 곳으로부터도 TV 또는 카메라 비디오 피드에 액세스할 수 있다.
옵션 사항으로, 클라이언트 봇은 유저가 상이한 타입의 피쳐를 제공할 애플리케이션으로서 역할을 하도록 구성된다. 예로서, 주어진 클라이언트 봇은 비디오 기록 및 재생의 피쳐를 제공하도록 구성될 수 있는데, 주어진 유저는 비디오를 선택하기 위한 그래픽 유저 인터페이스(Graphical User Interface; GUI)를 제공받는다. 다른 예로서, 주어진 클라이언트 봇은 유저를 잠재적으로 보조하기 위해 인공 지능(Artificial Intelligence; AI)에 기초하여 간호사 또는 의사의 피쳐를 제공하도록 구성될 수 있다.
옵션 사항으로 서버 봇은 소망되는 서비스를 제공하기 위한 서버로서 역할을 하도록 구성된다. 예로서, 주어진 서버 봇은 주어진 유저의 개인 요건에 따라 전자 메일 서비스를 제공하도록 구성될 수 있다. 다른 예로서, 주어진 서버 봇은, 현존하는 정보 시스템 상에서 상이한 종류의 로그인 인터페이스를 지원하게끔 회사에 대한 유저 데이터베이스를 호스팅하도록 구성될 수 있다.
옵션 사항으로, 서버 봇은 유저의 개인 요건에 따라 전자 메일 서비스를 제공하는 전자 메일 서버로서 역할을 하도록 구성되는 전자 메일 봇이다. 옵션 사항으로, 전자 메일 봇은, 예를 들면, 보안 전자 메일 및 스팸 방지와 같은 다양한 기능성을 가능하게 하도록 구성된다.
또한, 주어진 네트워크 노드 서비스 및 주어진 클라이언트 또는 봇은 동일한 물리적 디바이스 또는 별개의 물리적 디바이스에서 구현될 수 있다는 것이 인식될 것이다. 주어진 네트워크 노드 서비스 및 주어진 클라이언트 또는 봇을 구현하기에 기술적으로 적절한 타겟 소프트웨어 플랫폼의 예는, Unix®(유닉스), Linux®(리눅스), Windows®(윈도우), OS X®(오에스 엑스), Android®(안드로이드) 및 iOS®(아이오에스)를 포함하지만, 그러나 이들로 제한되지는 않는다. 특히, 주어진 타겟 소프트웨어 플랫폼 상의 선택된 생태계은, 효과적인 구현을 위한 요건 및 프로그래밍 언어 및 툴에 대한 요건을 정의한다. 따라서, 본 개시의 실시형태에 따른 데이터 통신 시스템은 Gurulogic Microsystem의 Starwindow®(스타윈도우) 생태계에서 작동하도록 설계되는 것이 유리한데, Gurulogic Microsystem의 Starwindow® 생태계는 써드 파티 서비스가 데이터 통신 시스템에서 사용되는 것을 허용하기 위한 하이 레벨 개발 환경을 지원하기 위한 Starwindow® 프레임워크 애플리케이션 프로그래밍 인터페이스(API)를 제공한다. 또한, Starwindow® 생태계는 다층 아키텍쳐(multi-layer architecture)에 기초하여 구축되는데, 주어진 타겟 플랫폼에 대한 서비스를 제외한 그 밖의 모든 것은 하드웨어 독립적인 소프트웨어 솔루션에 기초하여 구축된다.
옵션 사항으로, 주어진 네트워크 노드는, IOLoop 기술을 활용하는 것에 의해, 저전력 중앙 프로세싱 유닛(central processing unit; CPU)을 통해 구현된다. 이것은, 저전력 CPU에서도 프로그래밍 방식으로 네트워크 노드 서비스를 전달하는 것을 가능하게 만든다. IOLoop 기술을 사용하여, 주어진 네트워크 노드는 하나의 스레드에서 네트워크 노드 서비스에 대한 모든 연결을 핸들링하도록 구성된다. 이것은, 하나 이상의 CPU 코어에서 실행되는 각각의 연결에 대한 전용 스레드를 제공하는 종래의 공지된 접근법과 비교하여, 훨씬 더 비용 효율적인 입력/출력(Input/Output; I/O) 통신 및 기술적으로 더 빠른 구현을 가능하게 한다. 예로서, 이동 통신 디바이스에 대한 현대의 통신 기술은 최소의 에너지 소비를 가지고 작동하도록 설계되며; 따라서, 새로운 목적을 위해 IOLoop 기술을 사용하는 것은 본 개시의 실시형태를 참조하여 설명되는 바와 같이 매우 비용 효율적인 솔루션을 제공한다.
더구나, 앞서 언급된 바와 같이, 주어진 네트워크 노드 서비스는 그 자신의 로컬 네트워크 내의 클라이언트 또는 봇에 의해 제공되는 로컬 서비스를 유효성 확인하고 인증하도록 구성된다. 옵션 사항으로, 이와 관련하여, 주어진 네트워크 노드 서비스는, 클라이언트 또는 봇이 로컬 네트워크에 연결될 때, 수락된 자격 증명(credential)으로 이들 클라이언트 또는 봇에 의해 제공되는 로컬 서비스를 인증하도록 구성된다.
추가적으로 또는 대안적으로, 옵션 사항으로, 인증 요청은 등록 서비스에 의해 유효성 확인되고 인증된다. 옵션 사항으로, 이와 관련하여, 데이터 통신 시스템은, 등록 서비스를 사용하여, 제1 및 제2 로컬 네트워크의 클라이언트 또는 봇에 의해 제공되는 서비스를 등록하도록 구성된다.
옵션 사항으로, 각각의 클라이언트 또는 봇은, 그 클라이언트 또는 봇을 사용하는 유저의 자격 증명을 저장하는 그 자신의 키 저장소를 구비한다. 자격 증명은, 유효성 확인될 필요가 있는 인증 요청에 따라, 서비스에 로그인하고 유저를 인증하기 위해 사용된다. 옵션 사항으로, 유저의 자격 증명(키 저장소에 저장됨)은 통신될 데이터를 암호화하기 위해 및/또는 후속하는 암호 해제를 수행하기 위해 사용된다.
예로서, 인증은 영국 특허 문헌 GB2554082에서 설명되는 바와 같이 구현될 수 있다. 다른 예로서, 인증은 다이제스트 인증 기술(digest authentication technique)을 사용하여 구현될 수 있다. 인증은 일반 데이터 보호 규칙(General Data Protection Regulation; GDPR)에 따라 구현된다는 것이 인식될 것이다.
또한, 옵션 사항으로, 등록 서비스는 서비스 및 그들의 클라이언트 또는 봇에 대한 연결 어드레스를 등록하기 위해 사용된다.
옵션 사항으로, 데이터 통신 시스템은, 등록 서비스를 사용하여, 주어진 클라이언트 또는 봇에 의해 제공되는 주어진 서비스를 주어진 클라이언트 또는 봇의 유저와 관련한 개인 서비스 또는 공공 서비스로서 등록하도록 구성된다. 옵션 사항으로, 주어진 로컬 서비스는, 주어진 로컬 서비스가 유효성 확인되고 인증된 이후, 주어진 클라이언트 또는 봇의 유저에 대한 개인 서비스 또는 공공 서비스로서 등록된다.
그러한 등록은 주어진 유저가 주어진 유저에 대해 등록되는 모든 서비스를 유지 및 구성하는 것을 더욱 용이하게 만든다는 것이 인식될 것이다. 예로서, 써드파티 서비스 공급자는 그 자신의 서비스를 구축하고 이들 서비스를 등록 서비스에 등록할 수도 있다; 그러한 경우, 써드파티 서비스 공급자는 이들 서비스의 유저이며, 이들 서비스를 다양한 원격 유저에게 제공한다. 옵션 사항으로, 등록 서비스는, 주어진 유저가, 성공적인 로그인시, 주어진 유저의 로컬 네트워크에서 이용 가능한 모든 서비스를 보는 것 및 소정의 서비스를 사용을 위해 인에이블 또는 디스에이블하는 것을 허용하는 유저 인터페이스를 주어진 유저에게 제공하도록 구성된다.
옵션 사항으로, 등록 서비스는 데이터 통신 시스템에서 정의되는 "수퍼 노드(super node)"에 의해 중앙 집중식의 백엔드 서비스로 제공된다. 옵션 사항으로, 등록 서비스를 제공하는 노드는 제1 네트워크 노드 및 제2 네트워크 노드 중에서부터 선택된다. 대안적으로, 옵션 사항으로, 수퍼 노드는 써드파티에 의해 제공된다.
수퍼 노드는 정적인 방식으로 작동하고, 한편 네트워크 노드는 동적이다는 것을 유의해야 한다.
옵션 사항으로, 데이터 통신 시스템은 하드웨어 독립적인 방식으로 기능하도록 구성되는데, 보안 서비스는, 주어진 유저에 의해 소유, 관리 또는 임대되는 네트워크 디바이스에서 생성된다. 옵션 사항으로, 이와 관련하여, 이들 서비스에 의해 생성되는 모든 데이터는 주어진 유저와 연관하여, 즉 주어진 유저와 연관되는 키 저장소를 사용하여 보호된다.
옵션 사항으로, 주어진 네트워크 디바이스에서, 주어진 네트워크 디바이스 상에서 실행되는 클라이언트 또는 봇에 의해 제공되는 주어진 서비스는 클라이언트 또는 봇의 유저와 연관되는 키 저장소와 통합되고, 그 결과, 키 저장소와 통합되는 서비스만이 키 저장소에 액세스하여 그 안에서 저장 또는 생성되는 키 자료를 사용하도록 허용된다. 옵션 사항으로, 일단 키 저장소와 통합되면, 서비스는, 주어진 네트워크 디바이스의 커널로부터 보호된 상태에서, 주어진 네트워크 디바이스 상에서 실행되는 클라이언트 또는 봇에 의해 제공된다.
옵션 사항으로, 데이터의 정보 콘텐츠는 하나 이상의 콘텐츠 암호화 방법을 사용하는 것에 의해 암호화된다. 옵션 사항으로, 콘텐츠 암호화는, 예를 들면, 고급 암호 표준(Advanced Encryption Standard; AES)과 같은 대칭 암호화 블록 암호 알고리즘(https://en.wikipedia.org/wiki/Block_cipher 참조)의 형태를 사용하는 것에 의해 달성된다. 대안적으로, 옵션 사항으로, 콘텐츠 암호화는, 예를 들면, ChaCha(차차) 알고리즘과 같은 스트림 암호 알고리즘(https://en.wikipedia.org/wiki/Stream_cipher 참조)을 사용하는 것에 의해 달성된다. 그러한 콘텐츠 암호화는, 데이터 통신 시스템이, 데이터의 정당한 소유자와 관련하여 데이터가 콘텐츠 보호되는 방식으로, 신뢰성 있게 기능하는 것 및 그 안에서 생성되는 데이터를 핸들링하는 것을 가능하게 한다.
몇몇 경우에, 유저는 데이터가 보호되어야 하는 유저 또는 디바이스의 그룹일 수 있다는 것이 인식될 것이다. 그러한 경우, 그룹이 그룹의 한 멤버에 의해 통상적으로 관리되더라도, 다른 그룹 멤버는 또한, 미리 정의된 그룹 규칙에 따라, 그룹에 의해 생성되는 데이터에 액세스할 수 있고 그룹에게 데이터를 생성할 수 있다. 옵션 사항으로, 이와 관련하여, 그룹은 특정한 목적을 위해 정의되는데, 그룹 멤버는 명시되지 않은 데이터를 보안 방식으로 저장하도록 그리고 그 데이터에 보안 방식으로 액세스하도록 허용된다. 예로서, 그룹은 전화 그룹일 수 있는데, 그룹 멤버는 그룹 멤버에 속하는 복수의 전화 사이에서 교환되는 데이터를 저장할 수 있고 그 데이터에 액세스할 수 있다. 다른 예로서, 그룹은 카메라 그룹일 수 있는데, 그룹 멤버는 복수의 카메라에 의해 캡쳐되는 이미지 데이터를 저장할 수 있고 그 이미지 데이터에 액세스할 수 있다. 여전히 다른 예로서, 그룹은 협상 그룹일 수 있는데, 그룹 멤버는 서로 협상할 수 있다.
옵션 사항으로, 서비스 중 적어도 하나는, 주어진 유저에 의한 승인에 따라, 하나 이상의 등록된 유저와 원격으로 공유된다. 데이터 통신 시스템은, 주어진 유저가, 로컬 리소스(즉, 네트워크 디바이스)를 사용하여 자신의 서비스를 생성하는 것 및 이들 서비스를 보안을 손상시키지 않으면서 원격 유저와 공유하는 것을 허용한다는 것이 인식될 것이다.
추가적으로, 옵션 사항으로, 주어진 유저는, 서비스 중 적어도 하나에 의해 생성되는 데이터가 써드파티에게 공개되고, 다양한 목적(예를 들면, 예컨대, 마케팅, 타겟 광고 및 등등)을 위해 후속하여 활용되는 정도를 주어진 유저가 제어하는 것을 허용하는 유저 인터페이스를 제공받는다. 결과적으로, 예를 들면, 검색 엔진은 주어진 유저의 보호된 데이터에 대한 액세스를 획득할 수 없고 주어진 유저로부터의 허가 없이 그것을 사용할 수 없다. 이것은 더욱 안전한 정보 사회가 달성되는 것을 가능하게 한다.
더구나, 옵션 사항으로, 데이터 통신 시스템에서, 주어진 로컬 네트워크는 동적인 방식으로 생성된다. 옵션 사항으로, 이와 관련하여 주어진 로컬 네트워크는, 연결된 네트워크 디바이스 상에서 실행되는 클라이언트 또는 봇을 통해 이용 가능한 로컬 서비스와 직접적으로 상호 작용하는 애플리케이션 계층(OSI L7)을 구현하는 것에 의해 프로그래밍 방식의 로컬 네트워크로서 동적으로 생성된다. 이와 관련하여, 주어진 로컬 네트워크의 네트워크 노드에 의해 제공되는 네트워크 노드 서비스는, 주어진 로컬 네트워크의 연결된 네트워크 디바이스 상에서 실행되는 클라이언트 또는 봇에 의해 제공되는 모든 로컬 서비스를 등록한다. 더욱 옵션 사항으로, 더 이상 연결되지 않은 또는 이용 가능하지 않은 네트워크 디바이스에 의해 제공되는 서비스는 주어진 로컬 네트워크로부터 자동적으로 제거되고, 한편 새로 연결된 네트워크 디바이스에 의해 이용 가능하게 만들어지는 새로운 서비스는 주어진 로컬 네트워크에 자동적으로 추가된다. 다시 말하면, 서비스가 주어진 로컬 네트워크에 추가될 수 있거나 또는 주어진 로컬 네트워크로부터 제거될 수 있다.
옵션 사항으로, 네트워크 디바이스 상에서 실행되는 클라이언트 또는 봇은 동적 네트워크 환경에서 존재하는데, 클라이언트 또는 봇은, 하나 이상의 디스커버리 프로토콜을 사용하는 사전 구성 없이, 근거리 통신망(Local Area Network; LAN)에서 중앙 집중식의 네트워크 노드 서비스를 발견하도록 구성된다. 그러한 디스커버리 프로토콜의 예는, 서비스 위치 프로토콜(Service Location Protocol; SLP; https://en.wikipedia.org/wiki/Service_Location_Protocol 참조) 및 Apple Inc.(애플사)의 Bonjour(봉주르)(https://en.wikipedia.org/wiki/Bonjour_(software) 참조)를 포함하지만, 그러나 이들로 제한되지는 않는다.
대안적으로, 옵션 사항으로, 주어진 로컬 네트워크는 정적인 방식으로 생성된다. 옵션 사항으로, 이와 관련하여, 클라이언트 또는 봇은 주어진 네트워크 노드 서비스에 연결하도록 정적으로 주소 지정된다. 이것은, 정적인 네트워크 환경에서, 예를 들면, 동일한 네트워크 디바이스 내부에서 또는 제어된 회사 네트워크에서 서비스가 생성되는 상황에서 특히 유용하다.
또한, 본 개시의 실시형태에 따라, 통신 프로토콜은 데이터 통신 시스템에서 데이터 통신을 가능하게 하도록 정의되고, 데이터 통신 시스템의 네트워크 디바이스 상에서 실행되는 클라이언트 또는 봇 사이에서 상호 동의된다. 옵션 사항으로, 이와 관련하여, 주어진 네트워크 노드 서비스는 프로그램 방식의 스타 구성을 갖는 로컬 네트워크를 생성하도록 구성되고, 프로그램 방식의 스타 구성을 갖는 다른 로컬 네트워크의 적어도 하나의 다른 네트워크 노드 서비스와 인터커넥트된다. 클라이언트 또는 봇은 그들의 연관된 네트워크 노드 서비스를 통해 릴레이를 통해 서로 통신한다. 결과적으로, 데이터 통신 시스템은 프로그램 방식으로 구축된 스타 구성의 형태로 구현된다. 특히, 데이터 통신 시스템 내에서 생성되는 데이터를 보안 방식으로 핸들링하기 위해, 적절한 콘텐츠 암호화 방법이 통신 프로토콜에 통합되는 것이 유리하다.
본 개시의 실시형태에 따르면, 제1 로컬 네트워크의 클라이언트 또는 봇은 제2 로컬 네트워크의 클라이언트 또는 봇과 직접적으로 연결되는 것이 아니라, 제1 및 제2 네트워크 노드 서비스를 통해 데이터를 중계한다. 그러나, 제2 네트워크 노드 서비스의 연결 어드레스가 공지되고 연결을 위해 이용 가능한 경우, 제1 로컬 네트워크의 클라이언트 또는 봇은 제2 네트워크 노드 서비스에 직접적으로 연결되어 데이터를 제2 로컬 네트워크의 클라이언트 또는 봇으로 중계할 수도 있다는 것이 인식될 것이다. 이것은 도 4a 및 도 4b와 연계하여 나중에 예시된다.
옵션 사항으로, 데이터 통신 시스템은 데이터 통신을 위해 제1 및 제2 로컬 네트워크에 존재하는 하나 이상의 데이터 통신 네트워크를 활용하도록 구성된다. 패킷 데이터의 통신에 기초하여 실제 데이터 송신 작업을 실행하기 위해서는 통신 프로토콜이 물리적 네트워크(예를 들면, 예컨대 유선 이더넷, 무선 Wi-Fi®(와이파이) 네트워크, 무선 Li-Fi, 또는 무선 Bluetooth®(블루투스) 연결)를 활용해야 하기 때문에, 통신 프로토콜은, 데이터 통신 시스템의 모든 클라이언트 또는 봇에 대해 실용적이고 효율적인 방식으로 정의된다는 것이 인식될 것이다. 물리적 네트워크는 OSI 모델의 하나 이상의 상위 계층을 활용한다. 옵션 사항으로, 이와 관련하여, 물리적 네트워크는 현존하는 네트워크 계층(OSI L3) 위에서 전송 계층(OSI L4)을 구현하는 것에 의해 생성되어야 한다. 다시 말하면, 물리적 네트워크는 L4 계층 기반의 인터페이스를 활용한다. 예로서, 가정, 사무실 및 공장 작동 목적을 위해서는, 현존하는 유선 또는 무선 데이터 통신 네트워크를 사용하는 것이 효율적이다. 그러한 데이터 통신 네트워크는 일반적으로 Internet® 프로토콜(IP)을 활용한다.
애플리케이션 계층(OSI L7)을 지원하기 위해서는, 전송 계층(OSI L4), 세션 계층(OSI L5) 및 프리젠테이션 계층(OSI L6)이 지원될 필요가 있다는 것이 인식될 것이다.
추가적으로, 옵션 사항으로, 데이터 통신 시스템에서, 데이터 통신은, 예를 들면, 블루투스 저에너지(Bluetooth Low Energy; BLE)와 같은 저에너지 통신 기술을 사용하여 또는 소정의 전용 주파수 기반의 통신 기술을 활용하는 것에 의해 구현된다. 이것은 그러한 저에너지 데이터 통신에서 수반되는 네트워크 디바이스가 오래 지속되는 배터리를 갖는 것을 잠재적으로 가능하게 한다.
옵션 사항으로, 통신 프로토콜은, 디폴트로, 기술적으로 적절한 패킷 데이터 통신 프로토콜에 기초한다. 예로서, 통신 프로토콜은, 예를 들면, 송신 제어 프로토콜/인터넷 프로토콜(Transmission Control Protocol/Internet Protocol; TCP/IP)과 같은 인터넷 프로토콜에 기초할 수 있다. 방화벽 및 안티 바이러스 서비스에서의 공지된 문제를 핸들링할 수 있기 위해서는, 개인 및 공공 네트워크에서 널리 사용되는 통신 프로토콜을 사용하는 것이 유리하다.
데이터 통신 시스템 내에서 발생하는 데이터 통신은 물리적 네트워크 인프라에 투명하다는 것이 인식될 것이다. 다시 말하면, 유선 또는 무선 통신 기술은, 그들이 상호 동의된 통신 프로토콜에 적응될 수 있는 한, 사용될 수 있다. 예로서, TCP/IP는 Wi-Fi® 및 Bluetooth®와 함께 사용될 수 있다.
상기에서 언급되는 바와 같이, 주어진 네트워크 노드 서비스는, 물리적으로 이용 가능한 통신 프로토콜을 사용하여, 다른 네트워크 노드 서비스에 직접적으로 연결하려고 시도한다. 옵션 사항으로, 인터넷 프로토콜(IP)을 사용하는 경우, IPv4 또는 IPv6 연결 어드레스에 기초하여 직접 연결이 사용된다.
옵션 사항으로, 직접 연결이 확립될 수 없는 경우, 예를 들면, 다른 네트워크 노드 서비스가 상이한 근거리 통신망(LAN)에서 원격에 존재하는 경우, 주어진 네트워크 노드 서비스는, 상이한 네트워크 어드레스에 위치되는 엔드포인트를 통해 순회하기 위해, NAT용 세션 순회 유틸리티(Session Traversal Utilities for NAT)(STUN; https://en.wikipedia.org/wiki/STUN 참조)에 기초하여 홀 펀칭 기술을 활용하도록 구성된다. 그러나, 몇몇 회사 방화벽은, 유저 데이터 그램 프로토콜(User Datagram Protocol; UDP)이 사용되도록 허용되지 않기 때문에, STUN 기반의 기술을 막을 수 있다. 옵션 사항으로, 그러한 경우, 주어진 네트워크 노드 서비스는, NAT 주위의 릴레이를 사용한 순회(Traversal Using Relays around NAT)(TURN; https://en.wikipedia.org/wiki/TURN 참조)에 기초하는 기술을 활용하도록 구성된다. 이것은 네트워크 노드 서비스 사이에서 연결성을 제공할 것이지만, 그러나, 중앙에서 이용 가능한 서비스를 통해 모든 통신을 라우팅할 것이다. 예로서, 중앙에서 이용 가능한 서비스는, 데이터 통신 시스템의 수퍼 노드에 의해 제공되는 전술한 등록 서비스를 통해 구현될 수 있을 것이다.
옵션 사항으로, 주어진 네트워크 노드 서비스는, 다른 네트워크 노드 서비스에 연결하기 위해, 상호 작용식 연결성 확립(Interactive Connectivity Establishment)(ICE; https://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment 참조)을 활용하도록 구성된다. ICE 기술은 STUN 및 TURN 기술 둘 모두를 결합한다는 것이 인식될 것이다.
추가적으로 또는 대안적으로, 옵션 사항으로, 네트워크 노드 서비스 사이의 직접 연결을 지원하기 위해, 범용 플러그 앤 플레이(Universal Plug and Play)(UPnP; https://en.wikipedia.org/wiki/Universal_Plug_and_Play 참조) 네트워킹 프로토콜이 활용되어, 네트워크 노드 서비스 사이의 직접 통신 액세스를 개방하도록, 예를 들면, 라우터 및 방화벽과 같은 로컬 네트워크 디바이스를 자동적으로 구성하는 것을 허용한다. 그러나, 그러한 경우, 임의의 보안 문제를 방지하도록 인증이 적절하게 구현되는 것이 중요하다.
본 개시의 실시형태에 따르면, 데이터 통신 시스템은, 서비스가 원격 데이터 센터를 통해 제공되는 종래의 데이터 통신 시스템과 비교하여, 로컬 네트워크의 네트워크 디바이스에서 주어진 유저에게 서비스를 제공하기 위한 비용 효율적이고 내고장성(fault-tolerant) 솔루션을 제공한다. 다시 말하면, 서비스와 연관되는 컴퓨팅 작업은 로컬 네트워크로 오프로딩되고(offloaded), 그에 의해, 에너지 활용이 절약된다. 따라서, 서비스는 주어진 포괄적이고 더욱 비용 효율적인 방식으로, 즉 더욱 로컬 방식으로 유저에게 제공된다. 결과적으로, 본 개시의 실시형태에 따른 데이터 통신 시스템은, 오늘날의 요구를 충족시킬 수 있을 뿐만 아니라, 로컬 네트워크에서 효율적으로 통합된 로컬 네트워크 디바이스 상에서 실행되는 클라이언트 또는 봇을 사용하여, 유저가 그들 자신의 용도를 위해 서비스를 생성할 수 있는 미래의 요구를 또한 충족시킬 수 있다. 또한, 서비스에 의해 생성되는 데이터는 클라이언트 또는 봇의 주어진 유저와 연관하여 보호된다.
물리적으로 개방형 로컬 네트워크에서 연결된 디바이스에 기초하는 종래의 데이터 통신 네트워크와는 대조적으로, 본 개시의 실시형태에 따른 데이터 통신 시스템은 주어진 유저에 대한 로컬 네트워크에서의 서비스에 추가된 데이터 보호 기능성을 제공하도록 구성된다. 서비스에 의해 생성되는 데이터는, 내장형 보안 서비스 모듈(built-in security service module)(즉, 클라이언트 또는 봇)을 사용하여 주어진 유저에 대해 보호되며, 로컬 네트워크의 네트워크 노드 서비스를 통해 릴레이를 통해 전달된다. 결과적으로, 데이터는 로컬 네트워크 내부 및 외부 둘 모두로부터 발생하는 종래 형태의 공격으로부터 보호된다. 또한, 전통적인 형태의 공격이 데이터의 암호화된 정보 콘텐츠를 도청하는 것은 가능하지 않다.
또한, 전술한 데이터 통신 시스템은, 유저가 서비스를 공공 또는 개인 서비스로서 등록하는 것, 및 공공 서비스를 원격 유저와 공유하는 것을 가능하게 한다. 다시 말하면, 데이터 통신 시스템은, 주어진 서비스에 의해 생성되는 데이터가 공유되도록 허용되는 곳 및 그 목적에 관해 유저가 결정하는 것을 가능하게 한다. 결과적으로, 검색 엔진 및 다른 써드파티는 유저의 보호된 데이터에 대한 액세스를 획득할 수 없고 유저로부터의 허가 없이 그것을 사용할 수 없다. 이것은 더욱 안전한 정보 사회가 달성되는 것을 가능하게 한다.
제2 양태에서, 본 개시의 실시형태는 로컬 네트워크에 대한 데이터 통신 시스템을 통해, 데이터를 통신하는 방법을 제공하는데, 데이터 통신 시스템은 적어도 하나의 네트워크 노드 및 적어도 하나의 네트워크 노드와 연관되는 복수의 네트워크 디바이스를 포함하고, 방법은:
- 적어도 하나의 네트워크 노드를 통해, 복수의 네트워크 디바이스 상에서 실행되는 복수의 클라이언트 또는 봇에 네트워크 노드 서비스를 제공하는 것 - 복수의 클라이언트 또는 봇의 개개의 클라이언트 또는 봇은, 프로그램 방식의 스타 구성으로 네트워크 노드 서비스 주위에 통신 가능하게 그리고 프로그래밍 방식으로만 커플링되어 로컬 네트워크를 생성하고, 또한, 네트워크 노드 서비스는 로컬 네트워크 내의 복수의 클라이언트 또는 봇에 의해 제공되는 로컬 서비스를 유효성 확인하고 인증하도록 구성됨 - ;
- 네트워크 노드 서비스를 통해 데이터를 중계하는 것에 의해 메타데이터와 함께 데이터를 소스 클라이언트 또는 봇으로부터 로컬 네트워크 내의 하나 이상의 목적지 클라이언트 또는 봇으로 실시간 또는 거의 실시간으로 통신하는 것; 및
- 소스 클라이언트 또는 봇에서, 데이터를 하나 이상의 목적지 클라이언트 또는 봇에 통신하기 이전에 데이터의 정보 콘텐츠를 암호화하는 것 - 데이터의 정보 콘텐츠를 암호화하기 위해 키 저장소가 활용되고, 키 저장소는 소스 클라이언트 또는 봇의 유저와 연관됨 - 을 포함하고,
메타데이터는:
- 키 저장소의 고유 식별자(ID) 및 데이터의 암호화된 정보 콘텐츠의 후속하는 암호 해제를 위해 키 저장소로부터 유도될 키 자료의 키 인덱스를 나타내는 암호화 정보, 및
- 데이터가 통신될 하나 이상의 목적지 클라이언트 또는 봇 - 소스 클라이언트 또는 봇 및 하나 이상의 목적지 클라이언트 또는 봇은 함께 그룹을 형성함 - 을 나타내는 그룹 정보를 포함한다.
상기에서 개시되는 다양한 실시형태 및 변형예는 필요한 부분만 수정하여 방법에 적용된다.
옵션 사항으로(optionally), 적어도 하나의 네트워크 노드는 적어도 제1 네트워크 노드 및 제2 네트워크 노드를 포함하고, 복수의 네트워크 디바이스는 제1 네트워크 노드와 연관되는 네트워크 디바이스의 제1 세트 및 제2 네트워크 노드와 연관되는 네트워크 디바이스의 제2 세트를 포함한다. 옵션 사항으로, 그러한 경우에, 방법은, 제1 네트워크 노드를 통해, 네트워크 디바이스의 제1 세트 상에서 실행되는 클라이언트 또는 봇의 제1 세트에 제1 네트워크 노드 서비스를 제공하는 것, 및 제2 네트워크 노드를 통해, 네트워크 디바이스의 제2 세트 상에서 실행되는 클라이언트 또는 봇의 제2 세트에 제2 네트워크 노드 서비스를 제공하는 것을 포함한다. 옵션 사항으로, 이와 관련하여, 클라이언트 또는 봇의 제1 세트의 개개의 클라이언트 또는 봇은, 프로그램 방식의 스타 구성으로 제1 네트워크 노드 서비스 주위에 통신 가능하게 그리고 프로그래밍 방식으로만 커플링되어 제1 로컬 네트워크를 생성하고, 한편, 클라이언트 또는 봇의 제2 세트의 개개의 클라이언트 또는 봇은, 프로그램 방식의 스타 구성으로 제2 네트워크 노드 서비스 주위에 통신 가능하게 그리고 프로그래밍 방식으로만 커플링되어 제2 로컬 네트워크를 생성하고, 또한, 제1 및 제2 네트워크 노드 서비스는 그들 각각의 로컬 네트워크 내의 클라이언트 또는 봇의 제1 및 제2 세트에 의해 제공되는 로컬 서비스를 유효성 확인하고 인증하도록 구성된다.
옵션 사항으로, 주어진 소스 클라이언트 또는 봇 및 주어진 목적지 클라이언트 또는 봇이 동일한 로컬 네트워크 내에서부터 유래하는 경우, 방법은, 동일한 로컬 네트워크 내의 그들의 연관된 네트워크 노드 서비스를 통해, 실시간 또는 거의 실시간으로, 통신될 데이터를 중계하는 것을 포함한다.
옵션 사항으로, 주어진 소스 클라이언트 또는 봇 및 주어진 목적지 클라이언트 또는 봇이 상이한 로컬 네트워크로부터 유래하는 경우, 방법은, 주어진 소스 클라이언트 또는 봇과 연관되는 네트워크 노드 서비스를 통해 그리고 주어진 목적지 클라이언트 또는 봇과 연관되는 네트워크 노드 서비스를 통해, 실시간 또는 거의 실시간으로, 통신될 데이터를 중계하는 것을 포함한다.
삭제
삭제
옵션 사항으로, 메타데이터는 암호화되지 않은 형태로 통신된다. 대안적으로, 옵션 사항으로, 메타데이터는 암호화된 형태로 통신된다.
옵션 사항으로, 방법은 데이터 통신을 위해 제1 및 제2 로컬 네트워크에 존재하는 하나 이상의 데이터 통신 네트워크를 활용하는 것을 더 포함한다.
옵션 사항으로, 방법은, 등록 서비스를 사용하여, 제1 및 제2 로컬 네트워크의 클라이언트 또는 봇에 의해 제공되는 서비스를 등록하는 것을 더 포함한다. 옵션 사항으로, 방법은, 앞서 설명되는 바와 같이, 등록 서비스를 사용하여, 주어진 클라이언트 또는 봇에 의해 제공되는 주어진 서비스를 주어진 클라이언트 또는 봇의 유저와 관련한 개인 서비스 또는 공공 서비스로서 등록하는 것을 더 포함한다.
옵션 사항으로, 방법은, 예를 들면, 앞서 설명되는 바와 같이, 주어진 로컬 네트워크를 동적인 방식으로 생성하는 것을 더 포함한다.
제3 양태에서, 본 개시의 실시형태는, 컴퓨터 판독 가능 명령어가 저장된 비일시적 컴퓨터 판독 가능 저장 매체를 포함하는 컴퓨터 프로그램 제품을 제공하는데, 컴퓨터 판독 가능 명령어는, 전술한 제2 양태의 방법을 실행하기 위한 프로세싱 하드웨어를 포함하는 컴퓨터화된 디바이스에 의해 실행 가능하다.
다음으로, 본 개시의 실시형태가 도면을 참조하여 설명될 것이다.
도 1은, 본 개시의 실시형태에 따른, 데이터 통신 시스템(100)의 개략적인 예시이다. 데이터 통신 시스템(100)은 복수의 네트워크 노드(102a, 102b 및 102c), 수퍼 노드(104) 및 복수의 네트워크 디바이스(106a, 106b, 106c, 106d, 106e, 106f, 106g, 106h, 106i, 106j 및 106k)(이하, 편의상, 네트워크 디바이스(106)로 일괄적으로 칭해짐)를 포함한다. 네트워크 노드(102a, 102b 및 102c)는 네트워크 노드 서비스를 제공하도록 구성되고, 한편, 수퍼 노드(104)는 등록 서비스를 제공하도록 구성된다. 클라이언트는 네트워크 디바이스(106d 및 106h) 상에서 실행되고 있고, 한편, 봇은 네트워크 디바이스(106a, 106b, 106c, 106e, 106f, 106g, 106i, 106j 및 106k) 상에서 실행되고 있다. 도 1에서, 네트워크 디바이스(106)는, 예를 들면, 텔레비전(TV) 세트, 데이터 스토리지 디바이스, 감시 카메라, 전자 메일 서버, 파일 시스템, 미디어 플레이어 또는 임의의 다른 원격으로 연결된 디바이스와 같은 다양한 디바이스를 나타낸다.
도 1을 참조하면, 네트워크 디바이스(106a, 106b 및 106c) 상에서 실행되는 봇 및 네트워크 디바이스(106d) 상에서 실행되는 클라이언트는 네트워크 노드(102a)에 의해 제공되는 네트워크 노드 서비스 주위에서 통신 가능하게 커플링되어 로컬 네트워크(108a)를 생성한다. 네트워크 디바이스(106e, 106f 및 106g) 상에서 실행되는 봇은 네트워크 노드(102b)에 의해 제공되는 네트워크 노드 서비스 주위에서 통신 가능하게 커플링되어 로컬 네트워크(108b)를 생성한다. 네트워크 디바이스(106h) 상에서 실행되는 클라이언트 및 네트워크 디바이스(106i 및 106j) 상에서 실행되는 봇은 네트워크 노드(102c)에 의해 제공되는 네트워크 노드 서비스 주위에서 통신 가능하게 커플링되어 로컬 네트워크(108c)를 생성한다. 네트워크 디바이스(106k) 상에서 실행되는 봇은 수퍼 노드(104)에 의해 제공되는 등록 서비스에 통신 가능하게 커플링되어 로컬 네트워크(108d)를 생성한다.
도 1을 참조하면, 네트워크 노드(102a)에 의해 제공되는 네트워크 노드 서비스는 네트워크 노드(102a)에 의해 제공되는 네트워크 노드 서비스 및 수퍼 노드(104)에 의해 제공되는 등록 서비스에 연결되고, 한편, 네트워크 노드(102b)에 의해 제공되는 네트워크 노드 서비스는 수퍼 노드(104)에 의해 제공되는 등록 서비스에 연결되고, 그에 의해, 메쉬 네트워크를 형성한다.
제1 예로서, 네트워크 디바이스(106a) 상에서 실행되는 봇은, 텔레비전(TV) 세트를 시청각 콘텐츠를 제공하는 네트워크 디바이스에 의해 제공되는 서비스에 연결하도록 구성될 수 있는 프로토콜 봇이다. 그러한 서비스의 예는 Android(안드로이드) TV API이다.
제2 예로서, 네트워크 디바이스(106b) 상에서 실행되는 봇은, 수집된 통계 데이터를 그와 연관되는 데이터 스토리지 디바이스에 저장하도록 구성될 수 있는 메모리 봇이다. 그러한 통계 데이터는 상이한 서비스로 전송될 수도 있거나 또는 상이한 서비스로부터 수신될 수도 있다. 통계 데이터의 예는 TV 및 카메라 이미지이다.
제3 예로서, 네트워크 디바이스(106c) 상에서 실행되는 봇은, 하나 이상의 감시 카메라에 의해 제공되는 서비스를 지원하기 위해 상이한 타겟 플랫폼 상에서 상이한 타입의 미디어 플레이어를 연결하도록 구성될 수 있는 프로토콜 봇이다.
제4 예로서, 네트워크 디바이스(106e) 상에서 실행되는 봇은, 유저의 개인 요건에 따라 전자 메일 서비스를 제공하는 전자 메일 서버로서 작용하도록 구성될 수 있는 서버 봇이다. 그러한 봇은, 예를 들면, 보안 전자 메일 및 스팸 방지와 같은 다양한 기능성을 가능하게 할 수도 있다.
제5 예로서, 네트워크 디바이스(106f) 상에서 실행되는 봇은, 그 파일 시스템을 관리하도록 구성될 수 있는 서버 봇이다.
제6 예로서, 네트워크 디바이스(106g 및 106i) 상에서 실행되는 봇은, 원격으로 연결된 디바이스의 타겟 플랫폼에 따라 정보를 변환하도록 구성될 수 있는 프로토콜 봇이다.
제7 예로서, 네트워크 디바이스(106j 및 106k) 상에서 실행되는 봇은, 그와 연관되는 미디어 플레이어에 따라 시청각 정보를 변환하도록 구성될 수 있는 프로토콜 봇이다. 그러한 미디어 플레이어는 로컬 디바이스 또는 원격으로 연결된 디바이스 상에서 실행될 수 있을 것이다.
도 1을 참조하면, 네트워크 디바이스(106k) 상에서 실행되는 봇은 원격으로 연결된 디바이스의 미디어 플레이어에 커플링된다. 봇은, 비디오 및 오디오를 전달하기 이전에, 비디오 및 오디오를, 연결된 디바이스의 미디어 플레이어와 호환되는 포맷으로 적응시키도록 구성된다. 그 다음, 연결된 디바이스의 미디어 플레이어는 봇으로부터 수신되는 비디오 및 오디오를 렌더링한다. 다시 말하면, 봇은 연결된 디바이스의 미디어 플레이어의 기술적 요건을 인식 및 이해하도록 구성되고, 그에 의해, 송신 프로토콜의 관점뿐만 아니라 비디오 포맷 및 오디오 포맷의 관점 둘 모두에서, 연결된 디바이스와 호환되는 포맷에 대한 비디오 및 오디오의 적응을 가능하게 한다. 예로서, 유저의 이동 전화의 미디어 플레이어는 임의의 시간에 그리고 전세계 어느 곳으로부터도 TV 또는 카메라 비디오 피드에 액세스할 수 있다.
도 1은, 본원의 청구범위의 범위를 과도하게 제한하지 않아야 하는 예에 불과하다. 기술 분야의 숙련된 자는, 본 개시의 실시형태의 많은 변형예, 대안예 및 수정예를 인식할 것이다.
다음으로 도 2를 참조하면, 본 개시의 실시형태에 따른 예시적인 로컬 네트워크(200)가 묘사되어 있다.
도 2를 참조하면, 로컬 네트워크(200)는 차량, 즉 자동차 상에서 물리적으로 구현된다. 로컬 네트워크(200)는 차량에 설치되는 네트워크 노드 서비스(202), 및 그와 연관되는 봇(204a 및 204b)을 포함한다.
봇(204a)은 차량을 소유하는 또는 관리하는 유저에게 다양한 서비스를 제공하기 위해 차량의 카메라를 활용하도록 구성된다. 예로서, 주변 환경으로부터 캡쳐되는 이미지가 수집 및 프로세싱되어 더 안전한 교통 제어를 제공할 수 있다. 다른 예로서, 카메라는 또한, 차량이 택시인 경우, 예를 들면, 택시의 운전자 및 승객 둘 모두에게 안전 피쳐를 제공할 수 있다.
봇(204b)은 차량을 소유하는 또는 관리하는 유저에게 다양한 서비스를 제공하기 위해 차량의 온보드 진단(OBD) 시스템을 활용하도록 구성된다. 예로서, OBD 시스템으로부터 수집되는 데이터는, 예를 들면, 응급 서비스 제공, 도난 방지, 충돌 검출 및/또는 예방, 및 등등을 다양한 목적을 위해 프로세싱될 수 있다.
네트워크 노드 서비스(202)는, 예를 들면, Wi-Fi®, Bluetooth®, Li-Fi 및 등등에 기초하는 무선 통신 인터페이스를 통해, 적어도 하나의 다른 네트워크 노드 서비스에 연결된다. 적어도 하나의 다른 네트워크 노드 서비스는, 유저의 집 또는 사무실 구내에서 물리적으로 이용 가능한 로컬 네트워크의 일부일 수 있을 것이다. 이것은, 예를 들면, 차량이 자동 무인 차량 또는 드론인 경우에, 유저가 차량을 원격으로 모니터링하는 것을 허용한다.
도 2는, 본원의 청구범위의 범위를 과도하게 제한하지 않아야 하는 예에 불과하다. 기술 분야의 숙련된 자는, 본 개시의 실시형태의 많은 변형예, 대안예 및 수정예를 인식할 것이다.
다음으로 도 3을 참조하면, 본 개시의 실시형태에 따른 다른 예시적인 로컬 네트워크(300)가 묘사되어 있다.
도 3을 참조하면, 로컬 네트워크(300)는, 네트워크 노드 서비스(302), 클라이언트(304a) 및 인간 유저에 의해 휴대 또는 착용되는 네트워크 디바이스 상에서 실행되는 봇(304b)에 의해 구현된다. 특히, 이들 네트워크 디바이스는 유저에게 고정되거나 또는 물리적으로 설치되는 것이 아니라, 단지 유저에 의해 휴대 또는 착용된다. 옵션 사항으로, 네트워크 노드 서비스(302)는, 예를 들면, 스마트 전화, 스마트 워치 및 등등과 같은 유저의 이동 통신 디바이스에 의해 제공된다.
클라이언트(304a)는, 예를 들면, 유저의 이어폰에서 음악을 재생하는 것, 유저의 가상 현실 헤드셋 상에서 가상 이미지를 디스플레이하는 것, 및 등등을 위해, 다양한 서비스를 유저에게 제공하도록 구성된다.
옵션 사항으로, 봇(304a)은 다양한 모니터링 목적을 위해, 예를 들면, 유저의 심박수, 유저에 의해 수행되는 운동, 및 등등을 모니터링하기 위해, 적어도 하나의 센서를 활용하도록 구성된다.
네트워크 노드 서비스(302)는, 예를 들면, Wi-Fi®, Bluetooth®, Li-Fi 및 등등에 기초하는 무선 통신 인터페이스를 통해, 적어도 하나의 다른 네트워크 노드 서비스에 연결된다. 예로서, 적어도 하나의 다른 네트워크 노드 서비스는, 유저의 집 또는 사무실 구내에서 물리적으로 이용 가능한 로컬 네트워크의 일부일 수 있을 것이다. 예로서, 이것은 가족 멤버가 유저의 건강을 원격으로 모니터링하는 것을 허용할 수 있다. 다른 예로서, 이것은 그의/그녀의 집에서 혼자 사는 노인에게 제공되는 간호 서비스의 원격 모니터링을 허용할 수 있을 것이다.
도 3은, 본원의 청구범위의 범위를 과도하게 제한하지 않아야 하는 예에 불과하다. 기술 분야의 숙련된 자는, 본 개시의 실시형태의 많은 변형예, 대안예 및 수정예를 인식할 것이다. 예를 들면, 네트워크 디바이스는 생물체(creature)에 의해 휴대되거나 또는 착용될 수 있을 것이다.
도 4a 및 도 4b는, 본 개시의 한 실시형태에 따른, 클라이언트 또는 봇(402)이 상이한 로컬 네트워크로부터의 다른 클라이언트 또는 봇(404)과 통신할 수도 있는 방법의 개략적인 예시이다.
도 4a를 참조하면, 클라이언트 또는 봇(402)은 클라이언트 또는 봇(404)과 직접 연결되는 것이 아니라, 클라이언트 또는 봇(402) 및 클라이언트 또는 봇(404)과 각각 연관되는 제1 네트워크 노드 서비스(406) 및 제2 네트워크 노드 서비스(408)를 통해 데이터를 중계한다.
도 4b를 참조하면, 클라이언트 또는 봇(402)은, 제2 네트워크 노드 서비스(408)의 연결 어드레스가 공지되고 연결을 위해 이용 가능한 경우, 제2 네트워크 노드 서비스(408)에 직접적으로 연결되어 클라이언트 또는 봇(404)에 데이터를 중계한다.
도 5는, 본 개시의 실시형태에 따른, 데이터 통신 시스템(500)에서 정의되는 복수의 그룹의 개략적인 예시이다.
데이터 통신 시스템(500)은 네트워크 노드 서비스를 제공하는 네트워크 노드(502 및 504), 클라이언트 또는 봇을 실행하는 네트워크 디바이스(506A, 506B, 506C, 506D, 506E, 506F 및 506G)를 포함하는 네트워크 디바이스의 제1 세트 및 클라이언트 또는 봇을 실행하는 네트워크 디바이스(508A, 508B, 508C 및 508D)를 포함하는 네트워크 디바이스의 제2 세트를 포함한다.
네트워크 디바이스(506A, 506B, 506C, 506D, 506E, 506F 및 506G) 상에서 실행되는 클라이언트 또는 봇은 네트워크 노드(502)에 의해 제공되는 네트워크 노드 서비스 주위에서 프로그래밍 방식의 별 구성으로 통신 가능하게 커플링되어 제1 로컬 네트워크를 생성하고, 한편 네트워크 디바이스(508A, 508B, 508C 및 508D) 상에서 실행되는 클라이언트 또는 봇은 네트워크 노드(504)에 의해 제공되는 네트워크 노드 서비스 주위에서 프로그래밍 방식의 별 구성으로 통신 가능하게 커플링되어 제2 로컬 네트워크를 생성한다. 제1 및 제2 로컬 네트워크는, 클라이언트 또는 봇에 의해 제공되는 로컬 서비스와 직접적으로 상호 작용하는 애플리케이션 계층(OSI L7)을 구현하는 것에 의해 생성된다는 것이 인식될 것이다.
도 5를 참조하면, 세 개의 상이한 그룹이 데이터 통신 시스템(500)에서 정의되어 있는데, 네트워크 디바이스(506A, 506B, 506D, 506F, 508A, 508B 및 508D) 상에서 실행되는 클라이언트 또는 봇은 제1 그룹을 형성하고, 네트워크 디바이스(506G 및 508C) 상에서 실행되는 클라이언트 또는 봇은 제2 그룹을 형성하고, 그리고 네트워크 디바이스(506C 및 506E) 상에서 실행되는 클라이언트 또는 봇은 제3 그룹을 형성한다. 특히, 주어진 그룹은 동일한 로컬 네트워크로부터의 또는 상이한 로컬 네트워크로부터의 클라이언트 또는 봇을 포함할 수도 있다.
도 4a 및 도 4b 및 5는, 본원의 청구범위의 범위를 과도하게 제한하지 않아야 하는 예에 불과하다.
첨부하는 청구범위에 의해 정의되는 바와 같은 본 개시의 범위를 벗어나지 않으면서 전술한 내용에서 설명되는 본 개시의 실시형태에 대한 수정이 가능하다. 본 발명을 설명하고 청구하기 위해 사용되는 "포함하는(including)", "포함하는(comprising)", "통합하는(incorporating)", "구성되는(consisting of)", "구비하는(have)", "is(이다)"와 같은 표현은, 비배타적인 방식으로 해석되도록 의도된다, 즉, 명시적으로 설명되지 않는 품목, 컴포넌트 또는 엘리먼트도 또한 존재하는 것을 허용한다. 단수에 대한 언급은 또한 복수에 연관되는 것으로 해석되어야 한다; 예로서, "적어도 하나"는 한 예에서 "하나"를, 그리고 다른 예에서 "복수"를 나타내고; 또한, "하나 이상"은 마찬가지 방식으로 해석되어야 한다.
어구 "한 실시형태에서", "실시형태에 따른" 및 등등은, 어구에 이어지는 특정한 피쳐, 구조, 또는 특성이 본 개시의 적어도 하나의 실시형태에 포함되며, 본 개시의 하나보다 더 많은 실시형태에서 포함될 수도 있다는 것을 일반적으로 의미한다. 중요하게는, 그러한 문구는 반드시 동일한 실시형태를 가리키는 것은 아니다.

Claims (21)

  1. 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100)으로서,
    상기 데이터 통신 시스템(100)은 적어도 하나의 네트워크 노드(102a) 및 상기 적어도 하나의 네트워크 노드(102a)와 연관되는 복수의 네트워크 디바이스(106a, 106b, 106c, 106d)를 포함하며,
    - 상기 적어도 하나의 네트워크 노드(102a)는 상기 복수의 네트워크 디바이스(106a, 106b, 106c, 106d) 상에서 실행되는 복수의 클라이언트 또는 봇(bot)에 네트워크 노드 서비스를 제공하도록 구성되며, 상기 복수의 클라이언트 또는 봇의 개개의 클라이언트 또는 봇은, 프로그램 방식의 스타 구성(programmatic star configuration)으로 상기 네트워크 노드 서비스 주위에 통신 가능하게 그리고 프로그래밍 방식(programmatically)으로만 커플링되어 상기 로컬 네트워크(108a, 200, 300)를 생성하고, 또한, 상기 네트워크 노드 서비스는 상기 로컬 네트워크(108a, 200, 300) 내의 상기 복수의 클라이언트 또는 봇에 의해 제공되는 로컬 서비스를 유효성 확인하고(validate) 인증(authenticate)하도록 구성되고;
    - 소스 클라이언트 또는 봇은 상기 네트워크 노드 서비스를 통해 데이터를 중계하는 것에 의해 실시간으로 상기 로컬 네트워크(108a, 200, 300) 내의 하나 이상의 목적지 클라이언트 또는 봇에 메타데이터와 함께 데이터를 통신하도록 구성되고; 그리고
    - 상기 소스 클라이언트 또는 봇은 상기 데이터를 상기 하나 이상의 목적지 클라이언트 또는 봇에 통신하기 이전에, 상기 데이터의 정보 콘텐츠를 암호화하도록 구성되되, 상기 소스 클라이언트 또는 봇은 상기 데이터의 상기 정보 콘텐츠를 암호화하기 위해 키 저장소(key store)를 사용하도록 구성되고, 상기 키 저장소는 상기 소스 클라이언트 또는 봇의 유저(user)와 연관되고,
    상기 메타데이터는,
    - 상기 키 저장소의 고유 식별자(identifier; ID) 및 상기 데이터의 상기 암호화된 정보 콘텐츠의 후속하는 암호 해제(decryption)를 위해 상기 키 저장소로부터 유도될 키 자료(key material)의 키 인덱스를 나타내는 암호화 정보, 및
    - 상기 데이터가 통신될 상기 하나 이상의 목적지 클라이언트 또는 봇 - 상기 소스 클라이언트 또는 봇 그리고 상기 하나 이상의 목적지 클라이언트 또는 봇은 함께 그룹을 형성함 - 을 나타내는 그룹 정보
    를 포함하는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100).
  2. 제1항에 있어서,
    상기 적어도 하나의 네트워크 노드는 적어도 제1 네트워크 노드(102a) 및 제2 네트워크 노드(102b)를 포함하고, 상기 복수의 네트워크 디바이스는 상기 제1 네트워크 노드(102a)와 연관되는 네트워크 디바이스의 제1 세트(106a, 106b, 106c, 106d) 및 상기 제2 네트워크 노드(102b)와 연관되는 네트워크 디바이스의 제2 세트(106e, 106f, 106g)를 포함하며,
    - 상기 제1 네트워크 노드(102a)는 상기 네트워크 디바이스의 제1 세트(106a, 106b, 106c, 106d) 상에서 실행되는 클라이언트 또는 봇의 제1 세트에 제1 네트워크 노드 서비스를 제공하도록 구성되고, 상기 제2 네트워크 노드(102b)는 상기 네트워크 디바이스의 제2 세트(106e, 106f, 106g) 상에서 실행되는 클라이언트 또는 봇의 제2 세트에 제2 네트워크 노드 서비스를 제공하도록 구성되며, 상기 클라이언트 또는 봇의 제1 세트의 개개의 클라이언트 또는 봇은 프로그램 방식의 스타 구성으로 상기 제1 네트워크 노드 서비스 주위에 통신 가능하게 그리고 프로그래밍 방식으로만 커플링되어 제1 로컬 네트워크(108a)를 생성하고, 상기 클라이언트 또는 봇의 제2 세트의 개개의 클라이언트 또는 봇은 프로그램 방식의 스타 구성으로 상기 제2 네트워크 노드 서비스 주위에 통신 가능하게 그리고 프로그래밍 방식으로만 커플링되어 제2 로컬 네트워크(108b)를 생성하고, 또한 상기 제1 및 제2 네트워크 노드 서비스는 그들 각각의 로컬 네트워크(108a, 108b) 내의 상기 클라이언트 또는 봇의 제1 및 제2 세트에 의해 제공되는 로컬 서비스를 유효성 확인하고 인증하도록 구성되고;
    - 주어진 소스 클라이언트 또는 봇이 동일한 로컬 네트워크 내에서 주어진 목적지 클라이언트 또는 봇에 데이터를 통신하도록 구성되는 경우, 통신될 상기 데이터는 상기 동일한 로컬 네트워크 내에서의 그들의 연관된 네트워크 노드 서비스를 통해 실시간으로 중계되고; 그리고
    - 주어진 소스 클라이언트 또는 봇이 상이한 로컬 네트워크로부터의 주어진 목적지 클라이언트 또는 봇에 데이터를 통신하도록 구성되는 경우, 통신될 상기 데이터는, 상기 주어진 소스 클라이언트 또는 봇과 연관되는 네트워크 노드 서비스를 통해 그리고 상기 주어진 목적지 클라이언트 또는 봇과 연관되는 네트워크 노드 서비스를 통해 실시간으로 중계되는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100).
  3. 제1항 또는 제2항에 있어서,
    상기 메타데이터는 암호화되지 않은 형태로 통신되는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100).
  4. 제1항 또는 제2항에 있어서,
    상기 메타데이터는 암호화된 형태로 통신되는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100).
  5. 제1항에 있어서,
    상기 데이터 통신 시스템(100)은 데이터 통신을 위해 상기 제1 및 제2 로컬 네트워크(108a, 108b)에 존재하는 하나 이상의 데이터 통신 네트워크를 활용(utilize)하도록 구성되는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100).
  6. 제1항에 있어서,
    상기 데이터 통신 시스템(100)은, 등록 서비스를 사용하여, 상기 제1 및 제2 로컬 네트워크(108a, 108b)의 상기 클라이언트 또는 봇에 의해 제공되는 서비스를 등록하도록 구성되는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100).
  7. 제6항에 있어서,
    상기 데이터 통신 시스템(100)은, 상기 등록 서비스를 사용하여, 주어진 클라이언트 또는 봇에 의해 제공되는 주어진 서비스를 상기 주어진 클라이언트 또는 봇의 유저와 관련한 개인 서비스 또는 공공 서비스로서 등록하도록 구성되는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100).
  8. 제1항에 있어서,
    주어진 로컬 네트워크(108a, 200, 300)는 동적인 방식으로 생성되는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100).
  9. 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100)을 통해 데이터를 통신하는 방법으로서,
    상기 데이터 통신 시스템(100)은 적어도 하나의 네트워크 노드(102a) 및 상기 적어도 하나의 네트워크 노드(102a)와 연관되는 복수의 네트워크 디바이스(106a, 106b, 106c, 106d)를 포함하고, 상기 방법은:
    - 상기 적어도 하나의 네트워크 노드(102a)를 통해, 상기 복수의 네트워크 디바이스(106a, 106b, 106c, 106d) 상에서 실행되는 복수의 클라이언트 또는 봇에 네트워크 노드 서비스를 제공하는 단계 - 상기 복수의 클라이언트 또는 봇의 개개의 클라이언트 또는 봇은, 프로그램 방식의 스타 구성으로 상기 네트워크 노드 서비스 주위에 통신 가능하게 그리고 프로그래밍 방식으로만 커플링되어 상기 로컬 네트워크(108a, 200, 300)를 생성하고, 또한, 상기 네트워크 노드 서비스는 상기 로컬 네트워크(108a, 200, 300) 내의 상기 복수의 클라이언트 또는 봇에 의해 제공되는 로컬 서비스를 유효성 확인하고 인증하도록 구성됨 - ;
    - 상기 네트워크 노드 서비스를 통해 데이터를 중계하는 것에 의해 메타데이터와 함께 상기 데이터를 소스 클라이언트 또는 봇으로부터 상기 로컬 네트워크(108a, 200, 300) 내의 하나 이상의 목적지 클라이언트 또는 봇으로 실시간으로 통신하는 단계; 및
    - 상기 소스 클라이언트 또는 봇에서, 상기 데이터를 상기 하나 이상의 목적지 클라이언트 또는 봇에 통신하기 이전에, 상기 데이터의 정보 콘텐츠를 암호화하는 단계 - 상기 데이터의 상기 정보 콘텐츠를 암호화하기 위해 키 저장소가 사용되고, 상기 키 저장소는 상기 소스 클라이언트 또는 봇의 유저와 연관됨 -
    를 포함하고,
    상기 메타데이터는,
    - 상기 키 저장소의 고유 식별자(ID) 및 상기 데이터의 상기 암호화된 정보 콘텐츠의 후속하는 암호 해제를 위해 상기 키 저장소로부터 유도될 키 자료의 키 인덱스를 나타내는 암호화 정보, 및
    - 상기 데이터가 통신될 상기 하나 이상의 목적지 클라이언트 또는 봇 - 상기 소스 클라이언트 또는 봇 그리고 상기 하나 이상의 목적지 클라이언트 또는 봇은 함께 그룹을 형성함 - 을 나타내는 그룹 정보
    를 포함하는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100)을 통해 데이터를 통신하는 방법.
  10. 제9항에 있어서,
    상기 적어도 하나의 네트워크 노드는 적어도 제1 네트워크 노드(102a) 및 제2 네트워크 노드(102b)를 포함하고, 상기 복수의 네트워크 디바이스는 상기 제1 네트워크 노드(102a)와 연관되는 네트워크 디바이스의 제1 세트(106a, 106b, 106c, 106d) 및 상기 제2 네트워크 노드(102b)와 연관되는 네트워크 디바이스의 제2 세트(106e, 106f, 106g)를 포함하며, 상기 방법은:
    - 상기 제1 네트워크 노드(102a)를 통해, 상기 네트워크 디바이스의 제1 세트(106a, 106b, 106c, 106d) 상에서 실행되는 클라이언트 또는 봇의 제1 세트에 제1 네트워크 노드 서비스를 제공하고, 상기 제2 네트워크 노드(102b)를 통해, 상기 네트워크 디바이스의 제2 세트(106e, 106f, 106g) 상에서 실행되는 클라이언트 또는 봇의 제2 세트에 제2 네트워크 노드 서비스를 제공하는 단계 - 상기 클라이언트 또는 봇의 제1 세트의 개개의 클라이언트 또는 봇은 프로그램 방식의 스타 구성으로 상기 제1 네트워크 노드 서비스 주위에 통신 가능하게 그리고 프로그래밍 방식으로만 커플링되어 제1 로컬 네트워크(108a)를 생성하고, 상기 클라이언트 또는 봇의 상기 제2 세트의 개개의 클라이언트 또는 봇은 프로그램 방식의 스타 구성으로 상기 제2 네트워크 노드 서비스 주위에 통신 가능하게 그리고 프로그래밍 방식으로만 커플링되어 제2 로컬 네트워크(108b)를 생성하고, 또한, 상기 제1 및 제2 네트워크 노드 서비스는 그들 각각의 로컬 네트워크(108a, 108b) 내의 상기 클라이언트 또는 봇의 제1 및 제2 세트에 의해 제공되는 로컬 서비스를 유효성 확인하고 인증하도록 구성됨 - ;
    - 주어진 소스 클라이언트 또는 봇 그리고 주어진 목적지 클라이언트 또는 봇이 동일한 로컬 네트워크 내에서부터 유래하는 경우, 상기 동일한 로컬 네트워크 내의 그들의 연관된 네트워크 노드 서비스를 통해, 실시간으로, 통신될 데이터를 중계하는 단계; 및
    - 주어진 소스 클라이언트 또는 봇 그리고 주어진 목적지 클라이언트 또는 봇이 상이한 로컬 네트워크로부터 유래하는 경우, 상기 주어진 소스 클라이언트 또는 봇과 연관되는 네트워크 노드 서비스를 통해 그리고 상기 주어진 목적지 클라이언트 또는 봇과 연관되는 네트워크 노드 서비스를 통해, 실시간으로, 통신될 데이터를 중계하는 단계
    를 포함하는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100)을 통해 데이터를 통신하는 방법.
  11. 제9항 또는 제10항에 있어서,
    상기 메타데이터는 암호화되지 않은 형태로 통신되는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100)을 통해 데이터를 통신하는 방법.
  12. 제9항 또는 제10항에 있어서,
    상기 메타데이터는 암호화된 형태로 통신되는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100)을 통해 데이터를 통신하는 방법.
  13. 제10항에 있어서,
    상기 방법은, 데이터 통신을 위해 상기 제1 및 제2 로컬 네트워크(108a, 108b)에 존재하는 하나 이상의 데이터 통신 네트워크를 활용하는 단계를 더 포함하는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100)을 통해 데이터를 통신하는 방법.
  14. 제10항에 있어서,
    상기 방법은, 등록 서비스를 사용하여, 상기 제1 및 제2 로컬 네트워크(108a, 108b)의 상기 클라이언트 또는 봇에 의해 제공되는 서비스를 등록하는 단계를 더 포함하는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100)을 통해 데이터를 통신하는 방법.
  15. 제14항에 있어서,
    상기 방법은, 상기 등록 서비스를 사용하여, 주어진 클라이언트 또는 봇에 의해 제공되는 주어진 서비스를 상기 주어진 클라이언트 또는 봇의 유저와 관련한 개인 서비스 또는 공공 서비스로서 등록하는 단계를 더 포함하는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100)을 통해 데이터를 통신하는 방법.
  16. 제9항, 제10항, 및 제13항 중 어느 한 항에 있어서,
    상기 방법은 주어진 로컬 네트워크(108a, 200, 300)를 동적인 방식으로 생성하는 단계를 더 포함하는 것을 특징으로 하는, 로컬 네트워크(108a, 200, 300)에 대한 데이터 통신 시스템(100)을 통해 데이터를 통신하는 방법.
  17. 컴퓨터 판독 가능 명령어가 저장된 비일시적 컴퓨터 판독 가능 저장 매체에 저장되는 컴퓨터 프로그램으로서,
    상기 컴퓨터 판독 가능 명령어는 제9항, 제10항, 및 제13항 중 어느 한 항에서 청구되는 바와 같은 방법을 실행하기 위한 프로세싱 하드웨어를 포함하는 컴퓨터화된 디바이스에 의해 실행 가능한 것인, 컴퓨터 프로그램.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
KR1020207003108A 2017-07-07 2018-07-06 데이터 통신 시스템 및 방법 KR102167627B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1711016.4 2017-07-07
GB1711016.4A GB2564430C (en) 2017-07-07 2017-07-07 Data communication system and method
PCT/EP2018/068335 WO2019008130A1 (en) 2017-07-07 2018-07-06 SYSTEM AND METHOD FOR DATA COMMUNICATION

Publications (2)

Publication Number Publication Date
KR20200019998A KR20200019998A (ko) 2020-02-25
KR102167627B1 true KR102167627B1 (ko) 2020-10-20

Family

ID=59676698

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207003108A KR102167627B1 (ko) 2017-07-07 2018-07-06 데이터 통신 시스템 및 방법

Country Status (7)

Country Link
US (1) US11070531B2 (ko)
EP (1) EP3656103B1 (ko)
KR (1) KR102167627B1 (ko)
CN (1) CN110741614B (ko)
GB (1) GB2564430C (ko)
RU (1) RU2736141C1 (ko)
WO (1) WO2019008130A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11102125B2 (en) * 2019-06-27 2021-08-24 Citrix Systems, Inc. Securing communications between services in a cluster using load balancing systems and methods
EP4049383A1 (en) * 2019-10-25 2022-08-31 European Space Agency Aggregated communication network
US11445369B2 (en) * 2020-02-25 2022-09-13 International Business Machines Corporation System and method for credential generation for wireless infrastructure and security
KR102421722B1 (ko) * 2020-09-28 2022-07-15 성신여자대학교 연구 산학협력단 네트워크 정보 보호 방법 및 장치
CN114501473B (zh) * 2020-11-13 2023-11-03 美的集团股份有限公司 Mesh网络的配网方法、电子设备及计算机可读存储介质
WO2022266777A1 (en) * 2021-06-25 2022-12-29 Eleven-X Incorporated Method and system for authenticating encrypted communication

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120042390A1 (en) 2010-08-12 2012-02-16 Nokia Corporation Method and apparatus for secure revocable location sharing
US20170195318A1 (en) 2016-01-04 2017-07-06 Afero, Inc. System and method for automatic wireless network authentication in an internet of things (iot) system

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010013069A1 (en) * 1999-01-11 2001-08-09 Infospace, Inc. Data messaging aggregation
US6625734B1 (en) * 1999-04-26 2003-09-23 Disappearing, Inc. Controlling and tracking access to disseminated information
US7096355B1 (en) * 1999-04-26 2006-08-22 Omniva Corporation Dynamic encoding algorithms and inline message decryption
US6965914B2 (en) * 2000-10-27 2005-11-15 Eric Morgan Dowling Negotiated wireless peripheral systems
US20030130969A1 (en) * 2002-01-10 2003-07-10 Intel Corporation Star intelligent platform management bus topology
EP1691507B1 (en) 2005-02-14 2010-08-18 Irdeto Access B.V. Method of controlling communication between a head-end system and a plurality of client systems
KR100737876B1 (ko) * 2005-02-25 2007-07-12 삼성전자주식회사 계층적 문턱 트리에 기반한 브로드캐스트 암호화 방법
CN101401341B (zh) * 2005-11-18 2016-06-01 安全第一公司 安全数据解析方法和系统
JP2007324921A (ja) * 2006-05-31 2007-12-13 Toshiba Corp ネットワーク接続機器及び提供サービス制御プログラム
WO2008000291A1 (en) * 2006-06-30 2008-01-03 Telefonaktiebolaget Lm Ericsson (Publ) Technique for providing access to a media resource attached to a network-registered device
GB0623101D0 (en) * 2006-11-20 2006-12-27 British Telecomm Secure network architecture
US8555068B2 (en) * 2007-11-13 2013-10-08 Koolspan, Inc. Secure mobile telephony
WO2010014934A2 (en) * 2008-07-31 2010-02-04 Koolspan, Inc. System for and method of remote secure backup
US20110154023A1 (en) * 2009-12-21 2011-06-23 Smith Ned M Protected device management
JP5301034B2 (ja) * 2010-05-19 2013-09-25 三洋電機株式会社 車載器
US20160344547A9 (en) 2010-10-04 2016-11-24 Unisys Corporation Secure connection for a remote device through a virtual relay device
CN102065021B (zh) 2011-01-28 2012-12-26 北京交通大学 基于NetFPGA的IPSecVPN实现系统及方法
WO2013110253A1 (de) * 2011-12-23 2013-08-01 Appbyyou Gmbh Verfahren zum aufbau einer verschlüsselten verbindung zwischen zwei kommunikationsgeräten nach vorherigem schlüsselaustausch über eine kurzstreckenverbindung
US10620241B2 (en) * 2012-02-17 2020-04-14 Perspecta Labs Inc. Method and system for packet acquisition, analysis and intrusion detection in field area networks
GB201220692D0 (en) * 2012-11-16 2013-01-02 Overnet Data Man Ltd Software deployment and control method and system
US9197700B2 (en) * 2013-01-18 2015-11-24 Apple Inc. Keychain syncing
US9282110B2 (en) * 2013-11-27 2016-03-08 Cisco Technology, Inc. Cloud-assisted threat defense for connected vehicles
US10644959B2 (en) * 2017-01-25 2020-05-05 International Business Machines Corporation Method and framework for protocol to optimize edge side dynamic response system with context propagation for IoT

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120042390A1 (en) 2010-08-12 2012-02-16 Nokia Corporation Method and apparatus for secure revocable location sharing
US20170195318A1 (en) 2016-01-04 2017-07-06 Afero, Inc. System and method for automatic wireless network authentication in an internet of things (iot) system

Also Published As

Publication number Publication date
GB201711016D0 (en) 2017-08-23
KR20200019998A (ko) 2020-02-25
GB2564430A (en) 2019-01-16
WO2019008130A1 (en) 2019-01-10
GB2564430B (en) 2020-04-01
EP3656103A1 (en) 2020-05-27
US11070531B2 (en) 2021-07-20
CN110741614B (zh) 2021-03-05
EP3656103B1 (en) 2021-09-08
GB2564430C (en) 2021-02-17
CN110741614A (zh) 2020-01-31
US20200236088A1 (en) 2020-07-23
RU2736141C1 (ru) 2020-11-11

Similar Documents

Publication Publication Date Title
KR102167627B1 (ko) 데이터 통신 시스템 및 방법
US20230216947A1 (en) Method and System to Implement Secure Real Time Communications (SRTC) Between WebRTC and the Internet of Things (IoT)
Yousuf et al. Internet of things (IoT) security: current status, challenges and countermeasures
US9219709B2 (en) Multi-wrapped virtual private network
Harsha et al. Analysis of vulnerabilities in MQTT security using Shodan API and implementation of its countermeasures via authentication and ACLs
US20150288678A1 (en) Private cloud routing server connection mechanism for use in a private communication architecture
WO2016200596A1 (en) System, apparatus and method for secure network bridging using a rendezvous service and multiple key distribution servers
US20170111269A1 (en) Secure, anonymous networking
US11088996B1 (en) Secure network protocol and transit system to protect communications deliverability and attribution
US11489808B1 (en) Providing a split-configuration virtual private network
US11811518B2 (en) Enabling efficient communication in a hybrid network
US10158610B2 (en) Secure application communication system
Hamoudy et al. Video security in Internet of things: an overview
KR20150060050A (ko) 네트워크 장치 및 네트워크 장치의 터널 형성 방법
CN117061115B (zh) 密钥协商方法、装置、计算机设备和计算机可读存储介质
Yu Towards More Privacy-preserving and Practical Internet-of-Things Devices
US20230396596A1 (en) System and method providing secure access to internet of things devices
Arnes Swirlwave. Cloudless wide area friend-to-friend networking middleware for smartphones
Wang et al. A universal access control method based on host identifiers for Future Internet
Marginean et al. sDOMO–A Simple Protocol for Home Automation and Robotic Systems
Hakim Indian Scholar

Legal Events

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