KR20170140367A - 로컬 네트워크에서의 디바이스 페어링 - Google Patents

로컬 네트워크에서의 디바이스 페어링 Download PDF

Info

Publication number
KR20170140367A
KR20170140367A KR1020177034244A KR20177034244A KR20170140367A KR 20170140367 A KR20170140367 A KR 20170140367A KR 1020177034244 A KR1020177034244 A KR 1020177034244A KR 20177034244 A KR20177034244 A KR 20177034244A KR 20170140367 A KR20170140367 A KR 20170140367A
Authority
KR
South Korea
Prior art keywords
local network
electronic device
registration data
pairing
network device
Prior art date
Application number
KR1020177034244A
Other languages
English (en)
Other versions
KR102050648B1 (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 KR20170140367A publication Critical patent/KR20170140367A/ko
Application granted granted Critical
Publication of KR102050648B1 publication Critical patent/KR102050648B1/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
    • H04L63/0492Network 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 by using a location-limited connection, e.g. near-field communication or limited proximity of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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]
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/086Access security using security domains
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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
    • 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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • 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

Abstract

본 명세서에 설명된 특정 실시예들은 로컬 네트워크 디바이스에 대한 등록 데이터를 수신하고, 전자 디바이스에 대한 등록 데이터를 수신하고, 로컬 네트워크 디바이스와 전자 디바이스를 페어링하기 위한 요청을 수신하고 - 디바이스들을 페어링하기 위한 요청은 페어링 코드를 포함함 -, 로컬 네트워크 디바이스에 대한 등록 데이터, 전자 디바이스에 대한 등록 데이터, 및 페어링 코드가 미리 결정된 조건들을 충족시키는 경우 페어링을 허용하도록 구성될 수 있는 전자 디바이스를 제공한다. 일례에서, 페어링 코드는 로컬 네트워크 디바이스에 대한 것이었고, 전자 디바이스는 페어링 코드를 로컬 네트워크 디바이스에 요청했고 그로부터 수신했다.

Description

로컬 네트워크에서의 디바이스 페어링
관련 출원에 대한 상호 참조
이 출원은 "로컬 네트워크에서의 디바이스 페어링(DEVICE PAIRING IN A LOCAL NETWORK)"이라는 명칭으로 2015년 4월 30일에 출원된 미국 가출원 번호 62/154,874호 및 "로컬 네트워크에서의 디바이스 페어링(DEVICE PAIRING IN A LOCAL NETWORK)"이라는 명칭으로 2015년 6월 27일에 출원된 미국 정규 출원 번호 14/752,898호에 대한 우선권의 이익을 주장하며, 해당 출원들은 이로써 그 전체가 참조로 포함된다.
기술 분야
본 개시는 일반적으로 정보 보안의 분야에 관한 것이고, 더 상세하게는, 로컬 네트워크에서의 디바이스 페어링에 관한 것이다.
오늘날의 사회에서는 네트워크 보안의 분야가 점점 더 중요해지고 있다. 인터넷은 전세계에 걸쳐 상이한 컴퓨터 네트워크들의 상호 연결을 가능하게 하였다. 특히, 인터넷은 다양한 유형의 클라이언트 디바이스들을 통해 상이한 컴퓨터 네트워크들에 연결된 상이한 사용자들 간에 데이터를 교환하기 위한 매체를 제공한다. 인터넷의 사용은 비즈니스 및 개인 통신을 변화시켰지만, 그것은 악의적인 조작자들이 컴퓨터들 및 컴퓨터 네트워크들에 무단 액세스하기 위한 그리고 민감한 정보의 고의적인 또는 의도하지 않은 공개를 위한 수단으로도 사용되었다.
호스트 컴퓨터를 감염시키는 악성 소프트웨어("멀웨어")는 호스트 컴퓨터와 연관된 비즈니스 또는 개인으로부터 민감한 정보를 훔치는 것, 다른 호스트 컴퓨터들로 전파시키는 것, 및/또는 살포된 서비스 거부 공격을 돕는 것, 호스트 컴퓨터로부터 스팸 또는 악성 전자 메일들을 발송하는 것 등과 같은, 임의의 수의 악의적인 행동들을 수행하는 것이 가능할 수 있다. 또한, 시스템에 액세스하는 악의적인 조작자는 민감한 정보를 훔치거나 임의의 수의 다른 악의적인 행동들을 수행할 수 있다. 따라서, 컴퓨터들 및 컴퓨터 네트워크들을 악성 소프트웨어 또는 악의적인 조작자들에 의한 악의적인 및 우발적인 이용으로부터 보호하기 위한 중요한 관리상의 난제들이 남아 있다.
본 개시 및 그 특징들 및 이점들에 대한 더 완전한 이해를 제공하기 위해, 첨부 도면들과 관련하여 취해진 다음의 설명이 참조되며, 첨부 도면들에서 동일한 참조 번호들은 동일한 부분들을 나타낸다.
도 1a는 본 개시의 일 실시예에 따른 로컬 네트워크에서의 디바이스 페어링을 위한 통신 시스템의 간략화된 블록도이다.
도 1b는 본 개시의 일 실시예에 따른 로컬 네트워크에서의 디바이스 페어링을 위한 통신 시스템의 간략화된 블록도이다.
도 2는 본 개시의 일 실시예에 따른 로컬 네트워크에서의 디바이스 페어링을 위한 통신 시스템의 간략화된 블록도이다.
도 3은 본 개시의 일 실시예에 따른 로컬 네트워크에서의 디바이스 페어링을 위한 통신 시스템의 간략화된 블록도이다.
도 4는 일 실시예에 따른 통신 시스템과 연관될 수 있는 잠재적인 동작들을 도시하는 간략화된 타이밍 흐름도이다.
도 5는 일 실시예에 따른 통신 시스템과 연관될 수 있는 잠재적인 동작들을 도시하는 간략화된 플로차트이다.
도 6은 일 실시예에 따른 포인트-투-포인트 구성으로 배열된 예시적인 컴퓨팅 시스템을 도시하는 블록도이다.
도 7은 본 개시의 예시적인 ARM 에코시스템 시스템 온 칩(SOC)과 연관된 간략화된 블록도이다.
도 8은 일 실시예에 따른 예시적인 프로세서 코어를 도시하는 블록도이다.
이 도면들은 그 치수들이 본 개시의 범위를 벗어나지 않고 상당히 달라질 수 있기 때문에, 반드시 일정한 비례로 그려진 것은 아니다.
예시적인 실시예들
다음의 상세한 설명은 로컬 네트워크에서의 디바이스 페어링을 위한 통신 시스템에 관한 장치들, 방법들, 및 시스템들의 예시적인 실시예들을 설명한다. 예를 들어, 구조(들), 기능(들), 및/또는 특성(들)과 같은 특징들이 편의상 일 실시예를 참조하여 설명된다; 다양한 실시예들은 설명된 특징들 중 임의의 적합한 하나 이상의 특징을 갖도록 구현될 수 있다.
도 1a는 본 개시의 일 실시예에 따른 로컬 네트워크에서의 디바이스 페어링을 위한 통신 시스템(100a)의 간략화된 블록도이다. 통신 시스템(100a)은 전자 디바이스(102), 하나 이상의 로컬 네트워크 디바이스(104a 및 104b), 클라우드 서비스들(106), 및 서버(108)를 포함할 수 있다. 전자 디바이스(102) 및 하나 이상의 로컬 네트워크 디바이스(104a 및 104b)는 로컬 네트워크(110a)를 사용하여 서로 통신할 수 있다. 전자 디바이스(102), 로컬 네트워크 디바이스들(104a 및 104b), 클라우드 서비스들(106), 서버(108), 및 로컬 네트워크(110a)는 네트워크(112)를 사용하여 서로 통신할 수 있다.
전자 디바이스(102)는 프로세서(114a), 메모리(116a), 무선 모듈(118), 및 페어링 모듈(120a)을 포함할 수 있다. 페어링 모듈(120a)은 디바이스 식별자(ID)(122a), 로컬 네트워크 ID(124), 및 임시 페어링 코드(temporal pairing code)(126a)를 포함할 수 있다. 로컬 네트워크 디바이스(104a)는 프로세서(114b), 메모리(116b), 무선 모듈(118), 및 페어링 모듈(120b)을 포함할 수 있다. 페어링 모듈(120b)은 디바이스 ID(122b), 로컬 네트워크 ID(124), 및 임시 페어링 코드(126b)를 포함할 수 있다. 로컬 네트워크 디바이스(104b)는 프로세서(114c), 메모리(116c), 무선 모듈(118), 및 페어링 모듈(120c)을 포함할 수 있다. 페어링 모듈(120c)은 디바이스 ID(122c), 로컬 네트워크 ID(124), 및 임시 페어링 코드(126c)를 포함할 수 있다. 클라우드 서비스들은 네트워크 페어링 모듈(146a)을 포함할 수 있다. 네트워크 페어링 모듈(146a)은 임시 페어링 코드 생성 모듈(128a)을 포함할 수 있다. 서버(108)는 네트워크 페어링 모듈(146b)을 포함할 수 있다. 네트워크 페어링 모듈(146b)은 임시 페어링 코드 생성 모듈(128b)을 포함할 수 있다.
도 1b를 참조하면, 도 1b는 본 개시의 일 실시예에 따른 로컬 네트워크에서의 디바이스 페어링을 위한 통신 시스템(100b)의 간략화된 블록도이다. 통신 시스템(100b)은 로컬 네트워크(110b)를 포함할 수 있다. 로컬 네트워크(110b)는 클라우드릿(cloudlet)(130)을 포함할 수 있다. 클라우드릿(130)은 로컬 네트워크 페어링 모듈(132)을 포함할 수 있다. 로컬 네트워크 페어링 모듈(132)은 로컬 임시 페어링 코드 생성 모듈(134)을 포함할 수 있다.
도 1a 및 도 1b의 요소들은 네트워크(예를 들어, 로컬 네트워크들(110a 및 110b) 및 네트워크(112)) 통신을 위한 실행 가능한 경로들을 제공하는 임의의 적합한 연결들(유선 또는 무선)을 이용하는 하나 이상의 인터페이스를 통해 서로 연결될 수 있다. 또한, 도 1a 및 도 1b의 이러한 요소들 중 임의의 하나 이상은 특정 구성 요구들에 기초하여 아키텍처에 결합되거나 그로부터 제거될 수 있다. 통신 시스템(100a)은 네트워크에서의 패킷들의 송신 또는 수신을 위한 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP) 통신이 가능한 구성을 포함할 수 있다. 통신 시스템(100a 및 100b)은 또한 적절하게 그리고 특정 요구들에 기초하여 사용자 데이터그램 프로토콜/IP(UDP/IP) 또는 임의의 다른 적합한 프로토콜과 함께 동작할 수 있다.
일례에서, 통신 시스템(100a 및 100b)은 로컬 네트워크에서의 디바이스 페어링을 허용하는 시스템을 포함하도록 구성될 수 있다. 예시적인 예에서, 처음에는, 임시 페어링 코드들(126a-126c)이 전자 디바이스(102) 또는 로컬 네트워크 디바이스들(104a 및 104b) 상에 존재하지 않거나 또는 이들에 알려져 있지 않다. 또한, 통신 시스템(100a)의 경우 클라우드 서비스들(106) 또는 서버(108)로부터 그리고 통신 시스템(100b)의 경우 로컬 임시 페어링 코드 생성 모듈(134)로부터 일단 획득되면, 임시 페어링 코드들(126a-126c)은 전자 디바이스(102) 또는 로컬 네트워크 디바이스들(104a 및 104b)에 지속적으로 저장되지 않는다. 사용자가 전자 디바이스(102)와 로컬 네트워크 디바이스들(104a 또는 104b)을 페어링하기를 원할 경우, 임시 페어링 코드들(126a-126c)은 통신 시스템(100a)의 경우 클라우드 서비스(106) 또는 서버(108)로부터 그리고 통신 시스템(100b)의 경우 로컬 임시 페어링 코드 생성 모듈(134)로부터 획득되어, 전자 디바이스(102)와 로컬 네트워크 디바이스들(104a 또는 104b)을 안전하게 페어링하는 데 사용될 수 있다. 일 실시예에서, 임의의 수의 보조 디바이스들이 사용될 수 있으며, 각각의 보조 디바이스는 자신의 고유한 임시 페어링 코드를 획득한다. 각 임시 페어링 코드(예를 들어, 임시 페어링 코드(126a-126c))는 전자 디바이스(102) 또는 로컬 네트워크 디바이스(104a 또는 104b)가 상이한 네트워크로 이동할 때마다(예를 들어, 가정용 Wi-Fi 네트워크에서 직장 Wi-Fi 네트워크로 이동) 변할 수 있다. 전자 디바이스(102) 또는 로컬 네트워크 디바이스(104a 또는 104b)가 상이한 네트워크로 이동할 경우, 재등록(예를 들어, 클라우드 서비스들(106)에)이 이루어진다. 클라우드 서비스들(106) 및 서버(108)는 네트워크 페어링 모듈(146a)을 포함할 뿐만 아니라 등록된 디바이스들, 할당된 임시 페어링 코드들, 및 네트워크 식별자들 사이의 맵을 포함하도록 구성될 수 있고 그 정보 및 데이터를 사용하여 디바이스들이 페어링 또는 링크되어야 하는지를 결정한다.
통신 시스템(100a 및 100b)의 특정 예시적인 기법들을 설명하기 위해, 네트워크 환경을 횡단하고 있을 수 있는 통신들을 이해하는 것이 중요하다. 다음의 기본 정보는 본 개시가 적절히 설명될 수 있는 근거로서 간주될 수 있다.
최종 사용자들은 이전 어느 때보다 더 많은 통신 선택권을 가지고 있다. 다수의 현저한 기술적 동향들이 현재 진행 중이다(예를 들어, 더 많은 컴퓨팅 디바이스들, 더 많은 연결된 디바이스들 등). 하나의 현재 동향은 일반적으로 사물 인터넷(IoT)으로 알려져 있다. 일반적으로, IoT는 각 디바이스가 제조업체, 운영자, 및/또는 다른 연결된 디바이스들과 데이터를 교환함으로써 더 큰 가치와 서비스를 성취할 수 있게 하도록 전자 기기들, 소프트웨어, 센서들, 및 연결성이 내장된 물리적 객체들 또는 "사물들"의 네트워크이다. 각 IoT 또는 네트워크 디바이스는 그의 내장된 컴퓨팅 시스템을 통해 고유하게 식별 가능하지만 기존의 인터넷 인프라 및 네트워크 내에서 상호 운용될 수 있다.
가정용 및 산업용 응용들을 위한 IoT 디바이스들에 대한 수요가 증가함에 따라 (대시보드들 또는 제어기 애플리케이션들을 통해) 이들을 모니터링하고 명령하기 위해 이들을 원격 디바이스들과 연결할 필요도 증가하고 있다. 예를 들어, 가정용 감시 카메라 비디오 스트림에 액세스하기 위해서는 소유자의 스마트폰을 가정용 감시 카메라에 연결해야 한다. 현재, IoT 디바이스와 스마트폰 간의 검색 및 연결(액세스하는 것으로 이해됨)은 단순하지도 안전하지도 않다. 예를 들어, IoT 디바이스를 연결하는 전형적인 시나리오로는 디바이스를 활성화하고, 디바이스의 IP 주소를 찾고, IP 주소로 탐색하고, 공장 기본값 사용자 이름 및 패스워드로 로그온하는 것을 포함할 수 있다. 현재 알려진 솔루션들은 단순히 사용자 이름과 패스워드를 통한 액세스 제어를 기반으로 하고, 이들은 출하 전에 제조업체에 의해 사전 구성된다. 사용자는 IoT 디바이스에 대한 액세스를 얻기 위해 IoT 디바이스의 IP 주소를 알아내고 기본값 자격 증명들을 입력할 책임이 있다. 대안적인 솔루션들은 전형적으로 블루투스(Bluetooth®) 연결을 기반으로 하고, 이 경우 사용자는 IoT 디바이스들을 검색하고 디바이스들을 페어링하기 위해 PIN(역시, 제조업체에 의해 제공된 기본값)을 입력해야 한다. 이 방법들은 보안 위험이 있는데 그 이유는 미리 구성된 계정(예를 들어, 사용자 = admin 및 패스워드 = admin)이 있고 사용자들 대부분이 처음 로그인 후에 계정 사용자 이름과 패스워드를 변경하지 않기 때문이다. 또한, 이 방법들은, IoT 디바이스를 설치하고 구성하기 위한 기술적 배경이 없을 수 있는, 가정 사용자들에게는 종종 복잡하다. 불행하게도, 이는 몇 가지 문제를 야기할 수 있는데 그 이유는 IoT 디바이스는 활성화될 때 완전히 가동 상태가 되며 누구나 IoT 디바이스에 액세스할 수 있고 전형적으로 하나의 디바이스와 임의의 다른 디바이스 간에는 배타적인 관계가 없기 때문이다. 이러한 문제들 및 다른 문제들로 인해 로컬 네트워크에서 IoT 디바이스들을 페어링하는 것은 때때로 어렵고 안전하지 않다.
디바이스들의 검색은 다루지 않고 페어링만 다루는 대안적인 솔루션들이 있다. 이러한 종류의 솔루션들은 디바이스들을 매칭시키는 사용자 계정들 및 클라우드 서비스들을 기반으로 한다. 그러나, 사용자는 양쪽 디바이스들(예를 들어, 스마트폰 및 IoT 디바이스)에서 계정을 생성하고 로그인하고 나중에 양자 간의 관계를 생성해야 한다. 이러한 종류의 솔루션은 IoT 디바이스들에는 적합하지 않은데 그 이유는 IoT 디바이스들은 일반적으로 디스플레이가 없거나 제한된 입력을 갖기 때문이다. 따라서, 사용자 계정을 구성하는 것이 항상 가능한 것은 아니다. 또한, 클라우드 서비스들은 전형적으로 사용자에게 각 공급업체에 대해 특정 사용자 계정을 생성할 것을 요구하고 사용자는 모든 계정 패스워드를 기억할 수 없거나, 설상가상으로, 모든 계정들에 대해 동일한 패스워드를 사용할 것이고 보안에 상당히 영향을 미칠 것이다.
도 1a 및 도 1b에 개략적으로 묘사된 바와 같은, 로컬 네트워크에서의 디바이스 페어링을 위한 통신 시스템은 이러한 문제들(및 다른 문제들)을 해결할 수 있다. 통신 시스템(100a 및 100b)에서, 로컬 네트워크 내의 디바이스들을 페어링하기 위해, 시스템은 클라우드 보안 체크포인트(cloud security checkpoint)의 사용으로 강화된 네트워크 서비스 검색 프로토콜의 변형을 포함시킴으로써 소비자/지휘자 디바이스(예를 들어, 스마트폰)와 IoT 디바이스(제공자/액추에이터 디바이스) 사이의 보안 링크를 발견 및 설정하도록 구성될 수 있다. 통신 시스템(100a)은 관련된 디바이스들에 의해 충족되어야 하는 컨텍스트 규칙들 및 검증들의 세트 및 데이터 노출 단계 동안의 암호화를 포함하는 네트워크 서비스 검색 프로토콜의 변형 및 보안 체크포인트로서의 역할을 하는 클라우드 서비스를 포함할 수 있다. 통신 시스템(100b)은 보안 체크포인트로서의 역할을 하는 로컬 네트워크 내의 클라우드릿을 포함할 수 있다. 일례에서, 통신 시스템들(100a 및 100b)은 이미 존재하는 Wi-Fi 인프라에 기초함으로써 IoT 디바이스의 필수 정의에 순응할 수 있다. 또한, 통신 시스템들(100a 및 100b)은 블루투스(Bluetooth®) 또는 NFC®와 같은 여분의 하드웨어를 필요로 하지 않고, 검색 및 링크 프로세스 동안 IoT 디바이스와의 전문가 사용자 상호 작용을 필요로 하지 않도록 구성되고, 단독으로 또는 기존의 솔루션들에 더하여(예를 들어, 공장 일반 자격 증명들 외에) 여분의 계층으로서 동작하는 것으로 간주되고, 처음부터 보안을 제공하고 IoT 디바이스에 대한 무단 액세스의 가능성을 줄일 수 있다.
통신 시스템들(100a 및 100b)의 일 구현은 스마트 홈 응용들에 적합할 수 있는데, 그 이유는 그것은 IoT 가전 기기들을, 모두 동일한 로컬 환경에서 공존하고 가정용 Wi-Fi 네트워크에 의해 범위가 정해지는, 스마트폰들 및 태블릿들과 같은 제어기 디바이스들과 안전하게 링크시키는 필요한 메커니즘을 제공하기 때문이다. 통신 시스템(100a 및 100b)은 기술자들이 공장들에서 IoT 디바이스들을 검색하고 그와 링크하기 위한 편리하고 안전한 방법을 제공하여, 산업 용도로도 적합할 수 있다. 통신 시스템(100a 및 100b)은 IoT 디바이스 설치와 사용자의 최초 액세스 사이의 시간대에 어떠한 보안 갭도 존재하지 않도록 구성될 수 있다. 사용자가 기본값 공장 로그인 자격 증명들(예를 들어, admin/admin)을 변경하는 것을 잊어버렸을 때 IoT 디바이스에 대한 무단 액세스가 방지될 수 있다.
도 1a 및 도 1b의 인프라를 보면, 예시적인 실시예에 따른 통신 시스템들(100a 및 100b)이 도시되어 있다. 일반적으로, 통신 시스템들(100a 및 100b)은 임의의 유형 또는 토폴로지의 네트워크들로 구현될 수 있다. 로컬 네트워크(110a 및 100b) 및 네트워크(112)는 통신 시스템들(100a 및 100b)을 통해 전파하는 정보의 패킷들을 수신하고 송신하기 위해 상호 연결된 통신 경로들의 일련의 포인트들 또는 노드들을 나타낸다. 로컬 네트워크들(110a 및 100b) 및 네트워크(112)는 노드들 사이의 통신 인터페이스를 제공하며, 임의의 근거리 통신망(LAN), 가상 근거리 통신망(VLAN), 광역 통신망(WAN), 무선 근거리 통신망(WLAN), 도시권 통신망(MAN), 인트라넷, 엑스트라넷, 가상 사설망(VPN), 및 네트워크 환경에서의 통신을 용이하게 하는 임의의 다른 적절한 아키텍처 또는 시스템, 또는 유선 및/또는 무선 통신을 포함하여, 이들의 임의의 적합한 조합으로서 구성될 수 있다.
통신 시스템들(100a 및 100b)에서는, 패킷들, 프레임들, 신호들(아날로그, 디지털 또는 이 둘의 임의의 조합), 데이터 등을 포함하는 네트워크 트래픽이 임의의 적합한 통신 메시징 프로토콜들에 따라 송수신될 수 있다. 적합한 통신 메시징 프로토콜들은 OSI(Open Systems Interconnection) 모델, 또는 그의 임의의 파생물들 또는 변형들(예를 들어, 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP), 사용자 데이터그램 프로토콜/IP(UDP/IP))과 같은 다중 계층 스킴을 포함할 수 있다. 또한, (예를 들어, 셀룰러 네트워크를 통한) 무선 신호 통신이 통신 시스템들(100a 및 100b)에서 제공될 수도 있다. 셀룰러 네트워크와의 통신을 가능하게 하는 적합한 인터페이스 및 인프라가 제공될 수 있다.
본 명세서에서 사용되는 "패킷"이라는 용어는 패킷 교환 네트워크상의 소스 노드와 목적지 노드 사이에서 라우팅될 수 있는 데이터의 단위를 지칭한다. 패킷은 소스 네트워크 주소와 목적지 네트워크 주소를 포함한다. 이 네트워크 주소들은 TCP/IP 메시징 프로토콜에서의 인터넷 프로토콜(IP) 주소들일 수 있다. 본 명세서에서 사용되는 "데이터"라는 용어는 임의의 유형의 이진, 숫자, 음성, 비디오, 텍스트, 또는 스크립트 데이터, 또는 임의의 유형의 소스 또는 객체 코드, 또는 전자 디바이스들 및/또는 네트워크들에서의 한 지점에서 다른 지점으로 전달될 수 있는 임의의 적절한 포맷의 임의의 다른 적합한 정보를 지칭한다. 또한, 메시지들, 요청들, 응답들, 및 쿼리들은 네트워크 트래픽의 형태들이고, 따라서, 패킷들, 프레임들, 신호들, 데이터 등을 포함할 수 있다.
예시적인 구현에서, 전자 디바이스(102), 로컬 네트워크 디바이스들(104a 및 104b), 클라우드 서비스들(106), 및 서버(108)는 네트워크 요소들로서, 이들은 네트워크 기기들, 서버들, 라우터들, 스위치들, 게이트웨이들, 브리지들, 로드 밸런서들, 프로세서들, 모듈들, 또는 네트워크 환경에서 정보를 교환하도록 동작 가능한 임의의 다른 적합한 디바이스, 컴포넌트, 요소, 또는 객체를 포괄하도록 의도된다. 네트워크 요소들은 그 동작들을 용이하게 하는 임의의 적합한 하드웨어, 소프트웨어, 컴포넌트들, 모듈들, 객체들뿐만 아니라, 네트워크 환경에서 데이터 또는 정보를 수신, 송신 및/또는 다른 방법으로 통신하기 위한 적합한 인터페이스들을 포함할 수 있다. 이는 데이터 또는 정보의 효과적인 교환을 가능하게 하는 적절한 알고리즘들 및 통신 프로토콜들을 포함할 수 있다.
통신 시스템들(100a 및 100b)과 관련된 내부 구조와 관련하여, 전자 디바이스(102), 로컬 네트워크 디바이스들(104a 및 104b), 클라우드 서비스들(106), 및 서버(108) 각각은 본 명세서에 개략적으로 묘사된 동작들에서 사용될 정보를 저장하기 위한 메모리 요소들을 포함할 수 있다. 전자 디바이스(102), 로컬 네트워크 디바이스들(104a 및 104b), 클라우드 서비스들(106), 및 서버(108) 각각은 정보를 임의의 적합한 메모리 요소(예를 들어, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거 가능 프로그램 가능 ROM(EPROM), 전기적으로 소거 가능 프로그램 가능 ROM(EEPROM), 주문형 집적 회로(ASIC), 비휘발성 메모리(NVRAM), 자기 저장 장치, 광자기 저장 장치, 플래시 저장 장치(SSD) 등), 소프트웨어, 하드웨어, 펌웨어에, 또는 임의의 다른 적합한 컴포넌트, 디바이스, 요소, 또는 객체에 적절하게 그리고 특정한 요구들에 기초하여 유지할 수 있다. 본 명세서에서 논의된 메모리 항목들 중 어떤 것이든 '메모리 요소'라는 광범위한 용어 내에 포함되는 것으로 해석되어야 한다. 또한, 통신 시스템들(100a 및 100b)에서 사용, 추적, 송신, 또는 수신되는 정보는 임의의 데이터베이스, 레지스터, 큐, 테이블, 캐시, 제어 리스트, 또는 다른 저장 구조에서 제공될 수 있으며, 이들 모두는 임의의 적합한 시간 프레임에서 참조될 수 있다. 임의의 이러한 저장 옵션들도 본 명세서에서 사용된 '메모리 요소'라는 광범위한 용어 내에 포함될 수 있다.
특정한 예시적인 구현들에서, 본 명세서에 개략적으로 묘사된 기능들은 하나 이상의 유형 매체에 인코딩된 로직(예를 들어, ASIC에 제공된 내장 로직, 디지털 신호 프로세서(DSP) 명령들, 프로세서, 또는 다른 유사 머신에 의해 실행될 소프트웨어(잠재적으로 오브젝트 코드 및 소스 코드를 포함함) 등)에 의해 구현될 수 있으며, 이는 비일시적인 컴퓨터 판독 가능 매체를 포함할 수 있다. 이러한 경우들 중 일부에서, 메모리 요소들은 본 명세서에 설명된 동작들을 위해 사용되는 데이터를 저장할 수 있다. 이는 메모리 요소들이 본 명세서에 설명된 동작들을 수행하기 위해 실행되는 소프트웨어, 로직, 코드, 또는 프로세서 명령들을 저장할 수 있는 것을 포함한다.
예시적인 구현에서, 전자 디바이스(102), 로컬 네트워크 디바이스들(104a 및 104b), 클라우드 서비스들(106), 및 서버(108)와 같은, 통신 시스템들(100a 및 100b)의 네트워크 요소들은 본 명세서에 개략적으로 묘사된 동작들을 달성하거나, 증진하기 위한 소프트웨어 모듈들(예컨대, 페어링 모듈들(120a-120c), 네트워크 페어링 모듈들(146a 및 146b), 로컬 네트워크 페어링 모듈(132), 로컬 임시 페어링 코드 생성 모듈(134) 등)을 포함할 수 있다. 이러한 모듈들은 특정 구성 및/또는 프로비저닝 요구들에 기초할 수 있는 임의의 적절한 방식으로 적합하게 결합될 수 있다. 일부 실시예에서, 그러한 동작들은 의도된 기능을 달성하기 위해 하드웨어에 의해 수행되거나, 이러한 요소들에 대해 외부적으로 구현되거나, 일부 다른 네트워크 디바이스에 포함될 수 있다. 또한, 모듈들은 소프트웨어, 하드웨어, 펌웨어, 또는 이들의 임의의 적합한 조합으로서 구현될 수 있다. 이러한 요소들은 또한 본 명세서에 개략적으로 묘사된, 동작들을 달성하기 위해 다른 네트워크 요소들과 협력할 수 있는 소프트웨어(또는 응대 소프트웨어)를 포함할 수 있다.
또한, 전자 디바이스(102), 로컬 네트워크 디바이스들(104a 및 104b), 클라우드 서비스들(106), 및 서버(108) 각각은 본 명세서에서 논의된 동작들을 수행하기 위한 소프트웨어 또는 알고리즘을 실행할 수 있는 프로세서를 포함할 수 있다. 프로세서는 본 명세서에 상세하게 설명된 동작들을 달성하기 위해 데이터와 연관된 임의의 유형의 명령들을 실행할 수 있다. 일례에서, 프로세서들은 요소 또는 물품(예를 들어, 데이터)을 하나의 상태 또는 사물로부터 또 다른 상태 또는 사물로 변형시킬 수 있다. 또 다른 예에서, 본 명세서에 개략적으로 묘사된 동작들은 고정 로직 또는 프로그램 가능 로직(예를 들어, 프로세서에 의해 실행되는 소프트웨어/컴퓨터 명령들)로 구현될 수 있으며, 본 명세서에 식별된 요소들은 어떤 유형의 프로그램 가능 프로세서, 프로그램 가능 디지털 로직(예를 들어, 필드 프로그래머블 게이트 어레이(FPGA), EPROM, EEPROM) 또는 디지털 로직, 소프트웨어, 코드, 전자 명령들, 또는 이들의 임의의 적합한 조합을 포함하는 ASIC일 수 있다. 본 명세서에 설명된 잠재적인 처리 요소들, 모듈들, 및 머신들 중 어떤 것이든 "프로세서"라는 광범위한 용어 내에 포함되는 것으로 해석되어야 한다.
전자 디바이스(102)는 네트워크 요소일 수 있고, 예를 들어, 데스크톱 컴퓨터들, 랩톱 컴퓨터들, 모바일 디바이스들, 개인 휴대 정보 단말기들, 스마트폰들, 태블릿들, 웨어러블들, 또는 다른 유사한 디바이스들을 포함한다. 로컬 네트워크 디바이스들(104a 및 104b)은 네트워크 요소일 수 있고, 예를 들어, 랩톱 컴퓨터들, 모바일 디바이스들, 개인 휴대 정보 단말기들, 스마트폰들, 태블릿들, 웨어러블들, IoT들, 또는 다른 유사한 디바이스들을 포함한다. 클라우드 서비스(106)는 전자 디바이스(102) 및 로컬 네트워크 디바이스들(104a 및 104b)에 클라우드 서비스들을 제공하도록 구성된다. 클라우드 서비스들은 일반적으로 인터넷과 같은 네트워크를 통해 서비스로서 전달되는 컴퓨팅 리소스들의 사용으로 정의될 수 있다. 서비스들은 전자 디바이스(102), 로컬 네트워크 디바이스들(104a 및 104b), 및 클라우드 서비스들(106)에 대한 요구된 지원을 제공하기 위해 분산 및 분리될 수 있다. 전형적으로, 계산, 저장, 및 네트워크 리소스들은 클라우드 인프라에서 제공되어, 로컬 네트워크에서 클라우드 네트워크로 작업 부하를 효과적으로 이동시킨다. 서버(108)는 서버 또는 가상 서버와 같은 네트워크 요소일 수 있고, 일부 네트워크(예를 들어, 네트워크(112))를 통해 통신 시스템(100a)에서 통신을 개시하고자 하는 클라이언트들, 고객들, 엔드포인트들, 또는 최종 사용자들과 연관될 수 있다. '서버'라는 용어는 클라이언트들의 요청들을 서빙하고/하거나 통신 시스템들(100a) 내의 클라이언트들을 대신하여 소정의 계산 작업을 수행하는 데 사용되는 디바이스들을 포함한다. 네트워크 페어링 모듈들(146a 및 146b)은 도 1에서 각각 클라우드 서비스들(106) 및 서버(108)에 위치하는 것으로 나타내어져 있지만, 이는 단지 예시를 위한 것이다. 네트워크 페어링 모듈들(146a 및 146b)은 임의의 적합한 구성으로 결합되거나 분리될 수 있다. 또한, 네트워크 페어링 모듈들(146a 및 146b)은 전자 디바이스(102) 및 로컬 네트워크 디바이스들(104a 및 104b)에 의해 액세스 가능한 또 다른 네트워크와 통합되거나 그것에 분산될 수 있다.
도 2를 참조하면, 도 2는 본 개시의 일 실시예에 따른 로컬 네트워크에서의 디바이스 페어링을 위한 통신 시스템(100a)의 부분의 간략화된 블록도이다. 도 2에 도시된 바와 같이, 전자 디바이스(102)는 스마트폰일 수 있고 로컬 네트워크 디바이스(104a)는 스마트 온도 조절 장치일 수 있다. 라우터(136)는 전자 디바이스(102)와 로컬 네트워크 디바이스(104a) 간의 통신 링크를 제공하는 로컬 네트워크(110a)를 생성할 수 있다. 라우터(136)는 네트워크(112)(도시되지 않음)를 통해 클라우드 서비스들(106)과 통신하는 Wi-Fi 라우터일 수 있다.
처음에, 전자 디바이스(102)와 로컬 네트워크 디바이스(104a) 모두는 자신의 디바이스 ID 및 라우터(136)의 Wi-Fi SSID/BSSID를 등록 범위로서 사용하여 클라우드 서비스들(106)에 임시로 등록된다. 일례에서, BSSID는 네트워크의 각 액세스 포인트에서 고유하다. BSSID는 네트워크 페어링 모듈(146a)이 페어링에 관련된 디바이스들이 동일한 로컬 네트워크에 동시에 존재하는지를 검증하는 데 사용될 수 있다. 어떤 이유로, 디바이스가 하나의 Wi-Fi SSID에서 또 다른 Wi-Fi SSID로 변화하면, 등록이 무효화되고 디바이스들은 다시 페어링될 필요가 있을 것이다.
등록 후에, 로컬 네트워크 디바이스(104a)는 클라우드 서비스들(106)에 임시 페어링 코드(TPC)를 요청할 수 있다. 이 코드는 짧은 TTL(time-to-live)(예를 들어, 5 분)을 갖는다. 이 TPC를 사용하면, 로컬 네트워크 디바이스(104a)는 도메인 네임 시스템(DNS) 서비스 검색 또는 멀티캐스트 DNS를 통해 자신을 노출시킬 수 있다. DNS에서의 패키지의 페이로드는 암호화된 TPC를 포함할 수 있다(암호화를 지원하는 NSD 프로토콜의 변형을 사용하여).
전자 디바이스(102)는 DNS 서비스 검색을 통해 로컬 네트워크 디바이스(104a)의 검색을 시작할 수 있다. 일단 로컬 네트워크 디바이스(104a)가 발견되면, TPC는 패키지의 페이로드로부터 추출된다. 로컬 네트워크 디바이스(104a)와의 링크를 설정하기 위해, 전자 디바이스(102)는 TPC를 전송함으로써 클라우드 서비스들(106)에 대한 요청을 실행한다. 클라우드 서비스들(106)은 TPC가 유효하고 이전에 등록된 로컬 네트워크 디바이스(104a)에 속하고 양쪽 디바이스들이 동일한 범위 아래에(예를 들어, 동일한 SSID 및 시간 프레임 아래에) 있는 것을 검증할 수 있다. 페어링을 위한 조건들이 만족되면, 클라우드 서비스들(106)은 디바이스들 간의 링크를 인가할 수 있다. 링크가 인가되면, 클라우드 서비스들(106)은 로컬 네트워크 디바이스(104a)에 링크 명령을 푸시할 수 있으며, 지금부터는 로컬 네트워크 디바이스(104a)가 전자 디바이스(102)에 의해 명령을 받을 것이고 로컬 네트워크 디바이스(104a)는 링크된 전자 디바이스(102)에만 응답하거나 그와 관련된 동작들만을 허용할 것이다.
도 3을 참조하면, 도 3은 본 개시의 일 실시예에 따른 로컬 네트워크에서의 디바이스 페어링을 위한 통신 시스템(100a)의 부분의 간략화된 블록도이다. 도 3에 도시된 바와 같이, 악의적인 디바이스(144)가 로컬 네트워크 디바이스(104a)와 페어링하는 것이 방지될 수 있다. 처음에, 로컬 네트워크 디바이스(104a)와 악의적인 디바이스(144) 모두는 자신의 디바이스 ID를 사용하여 클라우드 서비스들(106)에 임시로 등록된다. 로컬 네트워크 디바이스(104a)는 그 등록 범위로서 라우터(136)의 Wi-Fi SSID/BSSID를 포함할 수 있고, 악의적인 디바이스(144)는 그 등록 범위로서 제2 라우터(140)의 Wi-Fi SSID/BSSID를 포함할 수 있다. 이 예에서, 로컬 네트워크 디바이스(104a)에 대한 Wi-Fi SSID는 악의적인 디바이스(144)에 대한 Wi-Fi SSID와 상이하기 때문에, 두 디바이스의 페어링은 허용되지 않을 것이다. 또한, 전자 디바이스(102)가 로컬 네트워크(110a)에서 또 다른 로컬 네트워크(142)로 이동하여 로컬 네트워크(110a)에 여전히 위치하는 로컬 네트워크 디바이스(104a)와의 링크를 시도하면, 링크는 클라우드 서비스들(106) 내의 네트워크 패어링 모듈(146a)에 의해 거부될 것인데, 그 이유는 전자 디바이스(102)의 범위가 로컬 네트워크 디바이스(104a)의 범위와 매칭하지 않기 때문이다. 이 예에서의 범위는 로컬 네트워크 식별자(예를 들어, Wi-Fi 고유 BSSID 및 링크가 요청될 때 만료되지 않아야 하는 임시 페어링 코드)이다.
도 4를 참조하면, 도 4는 일 실시예에 따른, 로컬 네트워크에서의 디바이스 페어링과 연관될 수 있는 가능한 동작들을 도시하는 예시적인 타이밍 흐름도이다. 일 실시예에서, 전자 디바이스(102) 및 로컬 네트워크 디바이스(104a)는 클라우드 서비스들(106)에 임시 등록을 전달한다. 로컬 네트워크 디바이스(104a)는 클라우드 서비스들(106)로부터의 임시 페어링 코드에 대한 요청을 전달할 수 있고, 클라우드 서비스(106)는 임시 페어링 코드를 로컬 네트워크 디바이스(104a)에 전송할 수 있다. 전자 디바이스(102)는 (예를 들어, NSD를 통해) 로컬 네트워크 검색을 시작할 수 있고 로컬 네트워크 디바이스(104a)는 NSD를 통해 암호화된 임시 페어링 코드를 사용하여 네트워크에 자신을 노출시킬 수 있다. 전자 디바이스(102)는 로컬 네트워크 디바이스(104a)로부터의 임시 페어링 코드를 검색 및 획득하고 디바이스들 간의 링크에 대한 요청을 클라우드 서비스들(106)에 전송할 수 있다. 클라우드 서비스들(106)은 임시 페어링 코드 범위를 검증할 수 있고, 임시 페어링 코드 범위가 유효하면, 클라우드 서비스들(106)은 전자 디바이스(102)와 로컬 네트워크 디바이스(104a) 간의 링크를 인가할 수 있다. 클라우드 서비스들(106)은 전자 디바이스(102) 및 로컬 네트워크 디바이스(104a)에 링크 명령을 전달할 수 있다.
도 5를 참조하면, 도 5는 일 실시예에 따른, 로컬 네트워크에서의 디바이스 페어링과 연관될 수 있는 플로우(500)의 가능한 동작들을 도시하는 예시적인 플로차트이다. 일 실시예에서, 플로우(500)의 하나 이상의 동작은 페어링 모듈들(120a-120c), 네트워크 페어링 모듈들(146a 및 146b), 및 로컬 네트워크 페어링 모듈(132) 중 하나 이상에 의해 수행될 수 있다. 502에서는, 로컬 네트워크 디바이스가 네트워크 페어링 모듈을 사용하여 등록된다. 504에서는, 전자 디바이스가 네트워크 페어링 모듈을 사용하여 등록된다. 506에서는, 로컬 네트워크 디바이스와 전자 디바이스를 링크하기 위한 요청이 네트워크 페어링 모듈로 전달된다. 508에서는, 시스템이 링크 요청이 적절한 데이터 및 정보를 포함하는지를 결정한다. 예를 들어, 링크 요청은 적절한 임시 페어링 코드들과 Wi-Fi SSID를 포함해야 한다. 일례에서, 임시 페어링 코드는 전자 디바이스 또는 로컬 네트워크 디바이스가 상이한 네트워크로 이동할 때마다(예를 들어, 가정용 Wi-Fi 네트워크에서 직장 또는 공공 Wi-Fi 네트워크로 이동) 변할 수 있다. 디바이스가 상이한 네트워크로 이동할 경우, 재등록(예를 들어, 클라우드 서비스들(106)에)이 이루어져야 한다. 클라우드 서비스들(106) 및 서버(108)는 등록된 디바이스들, 할당된 임시 페어링 코드들, 및 네트워크 식별자들 사이의 맵을 포함할 수 있고, 그 정보 및 데이터를 사용하여 디바이스들이 페어링 또는 링크되어야 하는지를 결정할 수 있다. 시스템이 링크 요청이 적절한 데이터 및 정보를 포함하고 있다고 결정하면, 510에서와 같이, 링크 요청이 허용된다. 시스템이 링크 요청이 적절한 데이터 및 정보를 포함하고 있지 않다고 결정하면, 512에서와 같이, 링크 요청이 허용되지 않는다.
도 6을 참조하면, 도 6은 일 실시예에 따른 포인트-투-포인트(PtP) 구성으로 배열된 컴퓨팅 시스템(600)을 도시한다. 특히, 도 6은 프로세서, 메모리, 및 입력/출력 디바이스들이 다수의 포인트-투-포인트 인터페이스들에 의해 상호 연결되는 시스템을 도시한다. 일반적으로, 통신 시스템(100)의 네트워크 요소들 중 하나 이상은 컴퓨팅 시스템(600)과 동일하거나 유사한 방식으로 구성될 수 있다.
도 6에 도시된 바와 같이, 시스템(600)은 여러 프로세서들을 포함할 수 있는데, 명료성을 위해 그 중 2개의 프로세서(670 및 680)만이 도시되어 있다. 2개의 프로세서(670 및 680)가 도시되어 있지만, 시스템(600)의 일 실시예는 그러한 프로세서를 하나만 포함할 수도 있음을 이해해야 한다. 프로세서들(670 및 680)은 각각 프로그램의 다수의 스레드들을 실행하기 위해 코어들의 세트(즉, 프로세서 코어들(674A 및 674B) 및 프로세서 코어들(684A 및 684B))를 포함할 수 있다. 코어들은 도 1 내지 도 5를 참조하여 위에 논의된 것과 유사한 방식으로 명령 코드를 실행하도록 구성될 수 있다. 각 프로세서(670, 680)는 적어도 하나의 공유 캐시(671, 681)를 포함할 수 있다. 공유 캐시들(671, 681)은 프로세서 코어들(674 및 684)과 같은, 프로세서들(670, 680)의 하나 이상의 컴포넌트에 의해 이용되는 데이터(예를 들어, 명령들)를 저장할 수 있다.
프로세서들(670 및 680)은 또한 각각 메모리 요소들(632 및 634)과 통신하기 위한 통합된 메모리 제어기 로직(MC)(672 및 682)을 포함할 수 있다. 메모리 요소들(632 및/또는 634)은 프로세서들(670 및 680)에 의해 사용되는 다양한 데이터를 저장할 수 있다. 대안적인 실시예들에서, 메모리 제어기 로직(672 및 682)은 프로세서들(670 및 680)과 분리된 개별 로직일 수 있다.
프로세서들(670 및 680)은 임의의 유형의 프로세서일 수 있고 포인트-투-포인트 인터페이스 회로들(678 및 688)을 각각 사용하여 포인트-투-포인트(PtP) 인터페이스(650)를 통해 데이터를 교환할 수 있다. 프로세서들(670 및 680)은 각각 포인트-투-포인트 인터페이스 회로들(676, 686, 694 및 698)을 사용하여 개별 포인트-투-포인트 인터페이스들(652 및 654)을 통해 칩셋(690)과 데이터를 교환할 수 있다. 칩셋(690)은 또한 PtP 인터페이스 회로일 수 있는 인터페이스 회로(692)를 사용하여 고성능 그래픽 인터페이스(639)를 통해 고성능 그래픽 회로(638)와 데이터를 교환할 수 있다. 대안적인 실시예들에서, 도 6에 도시된 PtP 링크들 중 임의의 것 또는 모든 것이 PtP 링크보다는 멀티-드롭 버스로서 구현될 수 있다.
칩셋(690)은 인터페이스 회로(696)를 통해 버스(620)와 통신할 수 있다. 버스(620)는 버스 브리지(618) 및 I/O 디바이스들(616)과 같이, 그것을 통해 통신하는 하나 이상의 디바이스를 가질 수 있다. 버스(610)를 통해, 버스 브리지(618)는 키보드/마우스(612)(또는 터치 스크린, 트랙볼 등과 같은 다른 입력 디바이스들), 통신 디바이스들(626)(예를 들어 모뎀들, 네트워크 인터페이스 디바이스들, 또는 컴퓨터 네트워크(660)를 통해 통신할 수 있는 다른 유형의 통신 디바이스들), 오디오 I/O 디바이스들(614), 및/또는 데이터 저장 디바이스(628)와 같은 다른 디바이스들과 통신할 수 있다. 데이터 저장 디바이스(628)는 프로세서들(670 및/또는 680)에 의해 실행될 수 있는 코드(630)를 저장할 수 있다. 대안적인 실시예들에서, 버스 아키텍처들의 임의의 부분들은 하나 이상의 PtP 링크로 구현될 수 있다.
도 6에 도시된 컴퓨터 시스템은 본 명세서에서 논의된 다양한 실시예들을 구현하기 위해 이용될 수 있는 컴퓨팅 시스템의 일 실시예의 개략적인 예시이다. 도 6에 도시된 시스템의 다양한 컴포넌트들은 시스템-온-칩(SoC) 아키텍처로 또는 임의의 다른 적합한 구성으로 결합될 수 있음을 이해할 것이다. 예를 들어, 본 명세서에 개시된 실시예들은 스마트 셀룰러 전화기들, 태블릿 컴퓨터들, 개인 휴대 정보 단말기들, 휴대용 게임 디바이스들 등과 같은 모바일 디바이스들을 포함하는 시스템들에 통합될 수 있다. 이러한 모바일 디바이스들에는 적어도 일부 실시예들에서 SoC 아키텍처들이 제공될 수 있음을 이해할 것이다.
도 7을 참조하면, 도 7은 본 개시의 예시적인 ARM 에코시스템 SOC(700)와 연관된 간략화된 블록도이다. 본 개시의 적어도 하나의 예시적인 구현은 ARM 컴포넌트 및 본 명세서에서 논의된 로컬 네트워크 특징들에서의 디바이스 페어링을 포함할 수 있다. 예를 들어, 도 7의 예는 임의의 ARM 코어(예를 들어, A-9, A-15 등)와 연관될 수 있다. 또한, 아키텍처는 임의의 유형의 태블릿, 스마트 폰(Android™ 폰들, iPhone™을 포함), iPad™, Google Nexus™, Microsoft Surface™, 개인용 컴퓨터, 서버, 비디오 처리 컴포넌트들, 랩톱 컴퓨터(모든 유형의 노트북을 포함), Ultrabook™ 시스템, 임의의 유형의 터치 지원 입력 디바이스 등의 일부일 수 있다.
도 7의 이러한 예에서, ARM 에코시스템 SOC(700)는 다수의 코어들(706-707), L2 캐시 제어(708), 버스 인터페이스 유닛(709), L2 캐시(710), 그래픽 처리 유닛(GPU)(715), 인터커넥트(702), 비디오 코덱(720), 및 LCD에 연결되는 모바일 산업 프로세서 인터페이스(MIPI)/고선명 멀티미디어 인터페이스(HDMI) 링크들과 연관될 수 있는, 액정 디스플레이(LCD) I/F(725)를 포함할 수 있다.
ARM 에코시스템 SOC(700)은 또한 가입자 식별 모듈(SIM) I/F(730), 부트 판독 전용 메모리(ROM)(735), 동기식 동적 랜덤 액세스 메모리(SDRAM) 제어기(740), 플래시 제어기(745), 직렬 주변 인터페이스(SPI) 마스터(750), 적합한 전력 제어(755), 동적 RAM(DRAM)(760), 및 플래시(765)를 포함할 수 있다. 또한, 하나 이상의 실시예는 블루투스(Bluetooth™)(770), 3G 모뎀(775), 글로벌 위치 확인 시스템(GPS)(780), 및 802.11 Wi-Fi(785)의 인스턴스들과 같은 하나 이상의 통신 능력, 인터페이스, 및 특징을 포함한다.
동작시, 도 7의 예는 비교적 낮은 전력 소비와 함께, 다양한 유형들의 컴퓨팅(예를 들어, 모바일 컴퓨팅, 하이-엔드 디지털 홈, 서버들, 무선 인프라 등)을 가능하게 하는 처리 능력들을 제공할 수 있다. 또한 이러한 아키텍처는 임의의 수의 소프트웨어 애플리케이션들(예를 들어, Android™, Adobe® Flash® Player, Java Platform Standard Edition(Java SE), JavaFX, Linux, Microsoft Windows Embedded, Symbian 및 Ubuntu 등)을 가능하게 할 수 있다. 적어도 하나의 예시적인 실시예에서, 코어 프로세서는 연결된 저 대기 시간 레벨-2 캐시(low-latency level-2 cache)를 갖는 비순차적 슈퍼스칼라 파이프라인(out-of-order superscalar pipeline)을 구현할 수 있다.
도 8은 일 실시예에 따른 프로세서 코어(800)를 도시한다. 프로세서 코어(800)는 마이크로프로세서, 내장형 프로세서, 디지털 신호 프로세서(DSP), 네트워크 프로세서, 또는 코드를 실행하기 위한 다른 디바이스와 같은 임의의 유형의 프로세서의 코어일 수 있다. 하나의 프로세서 코어(800)만이 도 8에 도시되어 있지만, 프로세서는 대안적으로 도 8에 도시된 프로세서 코어(800)를 둘 이상 포함할 수 있다. 예를 들어, 프로세서 코어(800)는 도 6의 프로세서들(670 및 680)을 참조하여 도시되고 설명된 프로세서 코어들(674a, 674b, 684a, 및 684b)의 하나의 예시적인 실시예를 나타낸다. 프로세서 코어(800)는 단일 스레드 코어일 수 있거나, 적어도 하나의 실시예에 대해, 프로세서 코어(800)는 코어 당 둘 이상의 하드웨어 스레드 컨텍스트(또는 "논리 프로세서")를 포함할 수 있다는 점에서 다중 스레드일 수도 있다.
도 8은 또한 일 실시예에 따른 프로세서 코어(800)에 연결된 메모리(802)를 도시한다. 메모리(802)는 본 기술분야의 기술자들에게 공지되거나 다른 방법으로 이용 가능한 매우 다양한 메모리들(메모리 계층의 다양한 계층들을 포함) 중 임의의 것일 수 있다. 메모리(802)는 프로세서 코어(800)에 의해 실행될, 하나 이상의 명령들일 수 있는, 코드(804)를 포함할 수 있다. 프로세서 코어(800)는 코드(804)에 의해 지시된 명령들의 프로그램 시퀀스를 따를 수 있다. 각 명령은 프런트-엔드 로직(806)에 들어가고 하나 이상의 디코더(808)에 의해 처리된다. 디코더는 미리 정의된 포맷으로 고정 폭 마이크로 연산과 같은 마이크로 연산을 그 출력으로서 생성할 수 있거나, 원래의 코드 명령을 반영하는 다른 명령들, 마이크로 명령들, 또는 제어 신호들을 생성할 수 있다. 프런트-엔드 로직(806)은 또한 일반적으로 리소스들을 할당하고 실행을 위한 명령에 대응하는 동작을 큐잉하는, 레지스터 리네이밍 로직(810) 및 스케줄링 로직(812)을 포함한다.
프로세서 코어(800)는 또한 실행 유닛들(816-1 내지 816-N)의 세트를 갖는 실행 로직(814)을 포함할 수 있다. 일부 실시예들은 특정 기능들 또는 기능들의 세트에 전용되는 다수의 실행 유닛들을 포함할 수 있다. 다른 실시예들은 특정 기능을 수행할 수 있는 단지 하나의 실행 유닛 또는 하나의 실행 유닛을 포함할 수 있다. 실행 로직(814)은 코드 명령들에 의해 특정된 동작들을 수행한다.
코드 명령들에 의해 특정된 동작들의 실행의 완료 후에, 백-엔드 로직(818)은 코드(804)의 명령들을 회수(retire)할 수 있다. 일 실시예에서, 프로세서 코어(800)는 비순차적 실행을 허용하지만 명령들의 순차적 회수(in order retirement)를 요구한다. 회수 로직(820)은 다양한 공지된 형태들(예를 들어, 리오더 버퍼 등)을 취할 수 있다. 이러한 방식으로, 프로세서 코어(800)는 적어도 디코더에 의해 생성된 출력, 레지스터 리네이밍 로직(810)에 의해 이용되는 하드웨어 레지스터들 및 테이블들, 및 실행 로직(814)에 의해 수정된 임의의 레지스터들(도시되지 않음)에 관하여, 코드(804)의 실행 동안 변형된다.
도 8에 도시되지는 않았지만, 프로세서는 프로세서 코어(800)를 갖는 칩 상에 다른 요소들을 포함할 수 있으며, 이들 중 적어도 일부는 도 6을 참조하여 본 명세서에 도시되고 설명되었다. 예를 들어, 도 6에 도시된 바와 같이, 프로세서는 프로세서 코어(800)와 함께 메모리 제어 로직을 포함할 수 있다. 프로세서는 I/O 제어 로직을 포함할 수 있고/있거나 메모리 제어 로직과 통합된 I/O 제어 로직을 포함할 수 있다.
본 명세서에 제공된 예들에서는, 2개, 3개 또는 그 이상의 네트워크 요소들에 관하여 상호 작용이 기술될 수 있음에 주의한다. 그러나, 이는 명확성과 예시만을 위해 행해졌다. 특정 경우에는, 제한된 수의 네트워크 요소들만을 참조함으로써 주어진 플로우들의 세트의 기능들 중 하나 이상을 설명하는 것이 더 쉬울 수 있다. 통신 시스템들(100a 및 100b) 및 그들의 교시는 쉽게 확장 가능하고 더 많은 복잡한/정교한 배열들 및 구성들뿐만 아니라 많은 수의 컴포넌트들을 수용할 수 있다는 것을 이해해야 한다. 따라서, 제공된 예들은 범위를 제한하거나 통신 시스템(100)의 광범위한 교시들을 금지해서는 안 되며 잠재적으로 무수히 많은 다른 아키텍처들에 적용될 수 있다.
전술한 흐름도들(즉, 도 4 및 도 5)에서의 동작들은 통신 시스템들(100a 및 100b)에 의해 또는 그 내부에서 실행될 수 있는 가능한 상관 시나리오들 및 패턴들 중 일부만을 설명한다는 점에 주의하는 것도 중요하다. 이러한 동작들 중 일부는 적절하게 삭제 또는 제거될 수 있거나, 이러한 동작들은 본 개시의 범위를 벗어나지 않고 상당히 수정되거나 변경될 수 있다. 또한, 다수의 이러한 동작들은 하나 이상의 추가 동작과 동시에, 또는 병행하여 실행되는 것으로 기술되었다. 그러나, 이러한 동작들의 타이밍은 상당히 변경될 수 있다. 전술한 동작 플로우들은 예시 및 논의를 위해 제공되었다. 본 개시의 교시를 벗어나지 않고 임의의 적합한 배열들, 연대순들, 구성들, 및 타이밍 메커니즘들이 제공될 수 있다는 점에서 통신 시스템들(100a 및 100b)에 의해 상당한 유연성이 제공된다.
본 개시가 특정 배열들 및 구성들을 참조하여 상세히 설명되었지만, 이러한 예시적인 구성들 및 배열들은 본 개시의 범위를 벗어나지 않고 상당히 변경될 수 있다. 또한, 특정 요구들 및 구현들에 기초하여 특정 컴포넌트들이 결합, 분리, 제거, 또는 추가될 수 있다. 또한, 통신 시스템들(100a 및 100b)이 통신 프로세스를 용이하게 하는 특정 요소들 및 동작들을 참조하여 설명되었지만, 이러한 요소들 및 동작들은 통신 시스템들(100a 및 100b)의 의도된 기능을 달성하는 임의의 적합한 아키텍처, 프로토콜들, 및/또는 프로세스들로 대체될 수 있다.
다수의 다른 변화들, 대체들, 변형들, 변경들, 및 수정들이 본 기술분야의 기술자에게 확인될 수 있으며, 본 개시는 첨부된 청구범위의 범주 내에 있는 그러한 모든 변화들, 대체들, 변형들, 변경들, 및 수정들을 포함하는 것으로 의도된다. 미국 특허상표청(USPTO), 및 추가로, 이 출원에서 발행된 임의의 특허의 임의의 독자들이 여기에 첨부된 청구범위를 해석하는 데 도움을 주기 위해, 출원인은 다음에 주의하기를 원한다: 출원인은 (a) 첨부된 청구범위의 어떤 청구항들도 그 특정 청구항들에 "~를 위한 수단" 또는 "~를 위한 단계"라는 말이 명확하게 사용되지 않은 한 본 출원의 출원일에 존속하는 미국 특허법 제112조(35 U.S.C. Section 112)의 제6항(paragraph six)을 호출하는 것을 의도하지 않으며; (b) 본 명세서에서의 임의의 진술에 의해, 첨부된 청구범위에 달리 반영되지 않은 어떤 방식으로도 본 개시를 제한하는 것을 의도하지 않는다.
다른 특징들 및 예들
예 C1은 하나 이상의 명령들을 갖는 적어도 하나의 머신 판독 가능 매체로서, 상기 명령들은 적어도 하나의 프로세서에 의해 실행될 때 상기 적어도 하나의 프로세서로 하여금 로컬 네트워크 디바이스에 대한 등록 데이터를 수신하고, 전자 디바이스에 대한 등록 데이터를 수신하고, 상기 로컬 네트워크 디바이스와 상기 전자 디바이스를 페어링하기 위한 요청을 수신하고 - 상기 요청은 페어링 코드를 포함함 -; 상기 로컬 네트워크 디바이스에 대한 등록 데이터, 상기 전자 디바이스에 대한 등록 데이터, 및 상기 페어링 코드가 미리 결정된 조건들을 충족시키는 경우 상기 페어링을 허용하게 한다.
예 C2에서, 예 C1의 주제는 상기 로컬 네트워크 디바이스에 대한 등록 데이터 및 상기 전자 디바이스에 대한 등록 데이터는 임시 데이터를 포함하는 것을 옵션으로 포함할 수 있다.
예 C3에서, 예 C1-C2 중 어느 하나의 주제는 상기 명령들은, 상기 적어도 하나의 프로세서에 의해 실행될 때, 추가로 상기 적어도 하나의 프로세서로 하여금 상기 로컬 네트워크 디바이스에 페어링 코드를 전송하고, 상기 전자 디바이스로부터 상기 페어링 코드를 수신하게 하는 것을 옵션으로 포함할 수 있다.
예 C4에서, 예 C1-C3 중 어느 하나의 주제는 상기 전자 디바이스가 상기 페어링 코드를 상기 로컬 네트워크 디바이스에 요청했고 그로부터 수신한 것을 옵션으로 포함할 수 있다.
예 C5에서, 예 C1-C4 중 어느 하나의 주제는 상기 페어링 코드는 상기 로컬 네트워크 디바이스로부터 전송되기 전에 암호화되는 것을 옵션으로 포함할 수 있다.
예 C6에서, 예 C1-C5 중 어느 하나의 주제는 상기 임시 페어링 코드는 상기 로컬 네트워크 디바이스에 또는 상기 전자 디바이스에 지속적으로 저장되지 않는 것을 옵션으로 포함할 수 있다.
예 C7에서, 예 C1-C6 중 어느 하나의 주제는 상기 로컬 네트워크 디바이스에 대한 등록 데이터 및 상기 전자 디바이스에 대한 등록 데이터는 로컬 네트워크 식별자를 포함하는 것을 옵션으로 포함할 수 있다.
예 C8에서, 예 C1-C7 중 어느 하나의 주제는 상기 로컬 네트워크 디바이스에 대한 등록 데이터 내의 그리고 상기 전자 디바이스에 대한 등록 데이터 내의 상기 로컬 네트워크 식별자가 매칭하지 않는 경우 상기 페어링은 허용되지 않는 것을 옵션으로 포함할 수 있다.
예 A1에서, 장치는 페어링 모듈을 포함할 수 있고, 상기 페어링 모듈은 로컬 네트워크 디바이스에 대한 등록 데이터를 수신하고, 전자 디바이스에 대한 등록 데이터를 수신하고, 상기 로컬 네트워크 디바이스와 상기 전자 디바이스를 페어링하기 위한 요청을 수신하고 - 상기 요청은 페어링 코드를 포함함 -, 상기 로컬 네트워크 디바이스에 대한 등록 데이터, 상기 전자 디바이스에 대한 등록 데이터, 및 상기 페어링 코드가 미리 결정된 조건들을 충족시키는 경우 상기 페어링을 허용하도록 구성된다.
예 A2에서, 예 A1의 주제는 상기 로컬 네트워크 디바이스에 대한 등록 데이터 및 상기 전자 디바이스에 대한 등록 데이터는 임시 데이터를 포함하는 것을 옵션으로 포함할 수 있다.
예 A3에서, 예 A1-A2 중 어느 하나의 주제는 상기 페어링 모듈은 또한 상기 로컬 네트워크 디바이스에 상기 페어링 코드를 전송하고, 상기 전자 디바이스로부터 상기 페어링 코드를 수신하도록 구성되는 것을 옵션으로 포함할 수 있다.
예 A4에서, 예 A1-A3 중 어느 하나의 주제는 상기 전자 디바이스가 상기 페어링 코드를 상기 로컬 네트워크 디바이스에 요청했고 그로부터 수신한 것을 옵션으로 포함할 수 있다.
예 A5에서, 예 A1-A4 중 어느 하나의 주제는 상기 임시 페어링 코드는 상기 로컬 네트워크 디바이스에 또는 상기 전자 디바이스에 지속적으로 저장되지 않는 것을 옵션으로 포함할 수 있다.
예 A6에서, 예 A1-A5 중 어느 하나의 주제는 상기 로컬 네트워크 디바이스에 대한 등록 데이터 및 상기 전자 디바이스에 대한 등록 데이터는 로컬 네트워크 식별자를 포함하는 것을 옵션으로 포함할 수 있다.
예 A7에서, 예 A1-A6 중 어느 하나의 주제는 상기 로컬 네트워크 디바이스에 대한 등록 데이터 내의 그리고 상기 전자 디바이스에 대한 등록 데이터 내의 상기 로컬 네트워크 식별자가 매칭하지 않는 경우 상기 페어링은 허용되지 않는 것을 옵션으로 포함할 수 있다.
예 M1은 방법으로서, 로컬 네트워크 디바이스에 대한 등록 데이터를 수신하는 단계, 전자 디바이스에 대한 등록 데이터를 수신하는 단계, 상기 로컬 네트워크 디바이스와 상기 전자 디바이스를 페어링하기 위한 요청을 수신하는 단계 - 상기 요청은 페어링 코드를 포함함 -, 및 상기 로컬 네트워크 디바이스에 대한 등록 데이터, 상기 전자 디바이스에 대한 등록 데이터, 및 상기 페어링 코드가 미리 결정된 조건들을 충족시키는 경우 상기 페어링을 허용하는 단계를 포함한다.
예 M2에서, 예 M1의 주제는 상기 로컬 네트워크 디바이스에 대한 등록 데이터 및 상기 전자 디바이스에 대한 등록 데이터는 임시 데이터를 포함하는 것을 옵션으로 포함할 수 있다.
예 M3에서, 예 M1-M2 중 어느 하나의 주제는 상기 페어링 코드를 상기 로컬 네트워크 디바이스에 전송하는 단계 및 상기 전자 디바이스로부터 상기 페어링 코드를 수신 - 상기 전자 디바이스는 상기 페어링 코드를 상기 로컬 네트워크 디바이스에 요청했고 그로부터 수신했음 - 하는 단계를 옵션으로 포함할 수 있다.
예 M4에서, 예 M1-M3 중 어느 하나의 주제는 상기 페어링 코드는 상기 로컬 네트워크 디바이스에 전송되기 전에 암호화되는 것을 옵션으로 포함할 수 있다.
예 M5에서, 예 M1-M4 중 어느 하나의 주제는 상기 페어링 코드는 상기 로컬 네트워크 디바이스에 또는 상기 전자 디바이스에 지속적으로 저장되지 않는 것을 옵션으로 포함할 수 있다.
예 M6에서, 예 M1-M5 중 어느 하나의 주제는 상기 로컬 네트워크 디바이스에 대한 등록 데이터 및 상기 전자 디바이스에 대한 등록 데이터는 로컬 네트워크 식별자를 포함하는 것을 옵션으로 포함할 수 있다.
예 M7에서, 예 M1-M6 중 어느 하나의 주제는 상기 로컬 네트워크 디바이스에 대한 등록 데이터 내의 그리고 상기 전자 디바이스에 대한 등록 데이터 내의 상기 로컬 네트워크 식별자가 매칭하지 않는 경우 상기 페어링은 허용되지 않는 것을 옵션으로 포함할 수 있다.
예 S1은 로컬 네트워크에서 디바이스들을 페어링하기 위한 시스템으로서, 상기 시스템은 페어링 모듈을 포함하고, 상기 페어링 모듈은 로컬 네트워크 디바이스에 대한 등록 데이터를 수신하고, 전자 디바이스에 대한 등록 데이터를 수신하고, 상기 로컬 네트워크 디바이스와 상기 전자 디바이스를 페어링하기 위한 요청을 수신하고 - 상기 요청은 페어링 코드를 포함함 -, 상기 로컬 네트워크 디바이스에 대한 등록 데이터, 상기 전자 디바이스에 대한 등록 데이터, 및 상기 페어링 코드가 미리 결정된 조건들을 충족시키는 경우 상기 페어링을 허용하도록 구성된다.
예 S2에서, 예 S1의 주제는 상기 로컬 네트워크 디바이스에 대한 등록 데이터 및 상기 전자 디바이스에 대한 등록 데이터는 임시 데이터를 포함하는 것을 옵션으로 포함할 수 있다.
예 S3에서, 예 S1-S2 중 어느 하나의 주제는 상기 페어링 모듈은 또한 상기 페어링 코드를 상기 로컬 네트워크 디바이스에 전송하고 상기 전자 디바이스로부터 상기 페어링 코드를 수신 - 상기 전자 디바이스는 상기 페어링 코드를 상기 로컬 네트워크 디바이스에 요청했고 그로부터 수신했음 - 하도록 구성되는 것을 옵션으로 포함할 수 있다.
예 X1은 예 A1-A7, 또는 M1-M7 중 어느 하나에서와 같이 방법을 구현하거나 장치를 실현하기 위한 머신 판독 가능 명령들을 포함하는 머신 판독 가능 저장 매체이다. 예 Y1은 예시적인 방법 M1-M7 중 임의의 것을 수행하기 위한 수단을 포함하는 장치이다. 예 Y2에서, 예 Y1의 주제는 프로세서 및 메모리를 포함하는 상기 방법을 수행하기 위한 수단을 옵션으로 포함할 수 있다. 예 Y3에서, 예 Y2의 주제는 머신 판독 가능 명령들을 포함하는 상기 메모리를 옵션으로 포함할 수 있다.

Claims (25)

  1. 하나 이상의 명령들을 포함하는 적어도 하나의 머신 판독 가능 매체로서, 상기 명령들은 적어도 하나의 프로세서에 의해 실행될 때 상기 적어도 하나의 프로세서로 하여금:
    로컬 네트워크 디바이스에 대한 등록 데이터를 수신하고;
    전자 디바이스에 대한 등록 데이터를 수신하고;
    상기 로컬 네트워크 디바이스와 상기 전자 디바이스를 페어링하기 위한 요청을 수신하고 - 상기 요청은 페어링 코드를 포함함 -;
    상기 로컬 네트워크 디바이스에 대한 등록 데이터, 상기 전자 디바이스에 대한 등록 데이터, 및 상기 페어링 코드가 미리 결정된 조건들을 충족시키는 경우 상기 페어링을 허용하게 하는, 적어도 하나의 머신 판독 가능 매체.
  2. 제1항에 있어서, 상기 로컬 네트워크 디바이스에 대한 등록 데이터 및 상기 전자 디바이스에 대한 등록 데이터는 임시 데이터를 포함하는, 적어도 하나의 머신 판독 가능 매체.
  3. 제1항 또는 제2항에 있어서, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금:
    상기 페어링 코드를 상기 로컬 네트워크 디바이스에 전송하고;
    상기 전자 디바이스로부터 상기 페어링 코드를 수신하게 하는
    하나 이상의 명령들을 추가로 포함하는, 적어도 하나의 머신 판독 가능 매체.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 전자 디바이스는 상기 페어링 코드를 상기 로컬 네트워크 디바이스에 요청했고 상기 로컬 네트워크 디바이스로부터 수신한, 적어도 하나의 머신 판독 가능 매체.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 페어링 코드는 상기 로컬 네트워크 디바이스로부터 전송되기 전에 암호화되는, 적어도 하나의 머신 판독 가능 매체.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 페어링 코드는 상기 로컬 네트워크 디바이스에 또는 상기 전자 디바이스에 지속적으로 저장되지 않는, 적어도 하나의 머신 판독 가능 매체.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 로컬 네트워크 디바이스에 대한 등록 데이터 및 상기 전자 디바이스에 대한 등록 데이터는 로컬 네트워크 식별자를 포함하는, 적어도 하나의 컴퓨터 판독 가능 매체.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 로컬 네트워크 디바이스에 대한 등록 데이터 내의 그리고 상기 전자 디바이스에 대한 등록 데이터 내의 상기 로컬 네트워크 식별자가 매칭하지 않는 경우 상기 페어링은 허용되지 않는, 적어도 하나의 머신 판독 가능 매체.
  9. 장치로서,
    페어링 모듈을 포함하고, 상기 페어링 모듈은:
    로컬 네트워크 디바이스에 대한 등록 데이터를 수신하고;
    전자 디바이스에 대한 등록 데이터를 수신하고;
    상기 로컬 네트워크 디바이스와 상기 전자 디바이스를 페어링하기 위한 요청을 수신하고 - 상기 요청은 페어링 코드를 포함함 -;
    상기 로컬 네트워크 디바이스에 대한 등록 데이터, 상기 전자 디바이스에 대한 등록 데이터, 및 상기 페어링 코드가 미리 결정된 조건들을 충족시키는 경우 상기 페어링을 허용하도록 구성되는, 장치.
  10. 제9항에 있어서, 상기 로컬 네트워크 디바이스에 대한 등록 데이터 및 상기 전자 디바이스에 대한 등록 데이터는 임시 데이터를 포함하는, 장치.
  11. 제9항 또는 제10항에 있어서, 상기 페어링 모듈은:
    상기 페어링 코드를 상기 로컬 네트워크 디바이스에 전송하고;
    상기 전자 디바이스로부터 상기 페어링 코드를 수신하도록 구성되는, 장치.
  12. 제9항 내지 제11항 중 어느 한 항에 있어서, 상기 전자 디바이스는 상기 페어링 코드를 상기 로컬 네트워크 디바이스에 요청했고 상기 로컬 네트워크 디바이스로부터 수신한, 장치.
  13. 제9항 내지 제12항 중 어느 한 항에 있어서, 상기 페어링 코드는 상기 로컬 네트워크 디바이스에 또는 상기 전자 디바이스에 지속적으로 저장되지 않는, 장치.
  14. 제9항 내지 제13항 중 어느 한 항에 있어서, 상기 로컬 네트워크 디바이스에 대한 등록 데이터 및 상기 전자 디바이스에 대한 등록 데이터는 로컬 네트워크 식별자를 포함하는, 장치.
  15. 제9항 내지 제14항 중 어느 한 항에 있어서, 상기 로컬 네트워크 디바이스에 대한 등록 데이터 내의 그리고 상기 전자 디바이스에 대한 등록 데이터 내의 상기 로컬 네트워크 식별자가 매칭하지 않는 경우 상기 페어링은 허용되지 않는, 장치.
  16. 방법으로서,
    로컬 네트워크 디바이스에 대한 등록 데이터를 수신하는 단계;
    전자 디바이스에 대한 등록 데이터를 수신하는 단계;
    상기 로컬 네트워크 디바이스와 상기 전자 디바이스를 페어링하기 위한 요청을 수신하는 단계 - 상기 요청은 페어링 코드를 포함함 -; 및
    상기 로컬 네트워크 디바이스에 대한 등록 데이터, 상기 전자 디바이스에 대한 등록 데이터, 및 상기 페어링 코드가 미리 결정된 조건들을 충족시키는 경우 상기 페어링을 허용하는 단계를 포함하는, 방법.
  17. 제16항에 있어서, 상기 로컬 네트워크 디바이스에 대한 등록 데이터 및 상기 전자 디바이스에 대한 등록 데이터는 임시 데이터를 포함하는, 방법.
  18. 제16항 또는 제17항에 있어서,
    상기 페어링 코드를 상기 로컬 네트워크 디바이스에 전송하는 단계; 및
    상기 전자 디바이스로부터 상기 페어링 코드를 수신하는 단계 - 상기 전자 디바이스는 상기 페어링 코드를 상기 로컬 네트워크 디바이스에 요청했고 상기 로컬 네트워크 디바이스로부터 수신했음 - 를 추가로 포함하는, 방법.
  19. 제16항 내지 제18항 중 어느 한 항에 있어서, 상기 페어링 코드는 상기 로컬 네트워크 디바이스에 전송되기 전에 암호화되는, 방법.
  20. 제16항 내지 제19항 중 어느 한 항에 있어서, 상기 임시 페어링 코드는 상기 로컬 네트워크 디바이스에 또는 상기 전자 디바이스에 지속적으로 저장되지 않는, 방법.
  21. 제16항 내지 제20항 중 어느 한 항에 있어서, 상기 로컬 네트워크 디바이스에 대한 등록 데이터 및 상기 전자 디바이스에 대한 등록 데이터는 로컬 네트워크 식별자를 포함하는, 방법.
  22. 제16항 내지 제21항 중 어느 한 항에 있어서, 상기 로컬 네트워크 디바이스에 대한 등록 데이터 내의 그리고 상기 전자 디바이스에 대한 등록 데이터가 내의 상기 로컬 네트워크 식별자가 매칭하지 않는 경우 상기 페어링은 허용되지 않는, 방법.
  23. 로컬 네트워크에서의 디바이스들을 페어링하기 위한 시스템으로서, 상기 시스템은:
    페어링 모듈을 포함하고, 상기 페어링 모듈은:
    로컬 네트워크 디바이스에 대한 등록 데이터를 수신하고;
    전자 디바이스에 대한 등록 데이터를 수신하고;
    상기 로컬 네트워크 디바이스와 상기 전자 디바이스를 페어링하기 위한 요청을 수신하고 - 상기 요청은 페어링 코드를 포함함 -;
    상기 로컬 네트워크 디바이스에 대한 등록 데이터, 상기 전자 디바이스에 대한 등록 데이터, 및 상기 페어링 코드가 미리 결정된 조건들을 충족시키는 경우 상기 페어링을 허용하도록 구성되는, 시스템.
  24. 제23항에 있어서, 상기 로컬 네트워크 디바이스에 대한 등록 데이터 및 상기 전자 디바이스에 대한 등록 데이터는 임시 데이터를 포함하는, 시스템.
  25. 제23항 또는 제24항에 있어서, 상기 페어링 모듈은 추가로:
    상기 페어링 코드를 상기 로컬 네트워크 디바이스에 전송하고;
    상기 전자 디바이스로부터 상기 페어링 코드를 수신 - 상기 전자 디바이스는 상기 페어링 코드를 상기 로컬 네트워크 디바이스에 요청했고 상기 로컬 네트워크 디바이스로부터 수신했음 - 하도록 구성되는, 시스템.
KR1020177034244A 2015-04-30 2016-03-27 로컬 네트워크에서의 디바이스 페어링 KR102050648B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562154874P 2015-04-30 2015-04-30
US62/154,874 2015-04-30
US14/752,898 2015-06-27
US14/752,898 US10154017B2 (en) 2015-04-30 2015-06-27 Device pairing in a local network
PCT/US2016/024389 WO2016175952A1 (en) 2015-04-30 2016-03-27 Device pairing in a local network

Publications (2)

Publication Number Publication Date
KR20170140367A true KR20170140367A (ko) 2017-12-20
KR102050648B1 KR102050648B1 (ko) 2019-11-29

Family

ID=57199325

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177034244A KR102050648B1 (ko) 2015-04-30 2016-03-27 로컬 네트워크에서의 디바이스 페어링

Country Status (7)

Country Link
US (2) US10154017B2 (ko)
EP (2) EP3289725B1 (ko)
JP (1) JP6519904B2 (ko)
KR (1) KR102050648B1 (ko)
CN (1) CN107950008B (ko)
RU (1) RU2702047C2 (ko)
WO (1) WO2016175952A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210133256A (ko) * 2019-03-25 2021-11-05 아싸 아브로이 에이비 정위 기반 의도 검출을 이용하는 물리적 액세스 제어 시스템들
US11900750B2 (en) 2019-03-25 2024-02-13 Assa Abloy Ab Ultra-wide band device for access control reader system

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106576061B (zh) * 2014-06-02 2020-09-04 爱唯思有限公司 用于使用链接地址通过网络来进行安全通信的系统和方法
US10154017B2 (en) 2015-04-30 2018-12-11 Mcafee, Llc Device pairing in a local network
US9641553B2 (en) * 2015-09-25 2017-05-02 Intel Corporation Methods and apparatus to facilitate end-user defined policy management
US10380360B2 (en) * 2016-03-30 2019-08-13 PhazrlO Inc. Secured file sharing system
EP3244645B1 (en) * 2016-05-09 2021-09-15 ABB Schweiz AG Pairing procedure
US20170359343A1 (en) * 2016-06-14 2017-12-14 Comfylight Ag System and method for secure communications with internet-of-things devices
US20180048710A1 (en) * 2016-08-11 2018-02-15 Afero, Inc. Internet of things (iot) storage device, system and method
KR20180065428A (ko) * 2016-12-07 2018-06-18 삼성전자주식회사 디바이스를 클라우드 서버에 등록시키는 방법 및 장치
US11510254B2 (en) * 2016-12-27 2022-11-22 Ambeent Inc. Method and system for automatically managing a plurality of Wi-Fi access points using a network management cloud
CN109391925A (zh) * 2017-08-10 2019-02-26 索尼公司 无线通信系统中的电子设备以及无线通信方法
US11678181B2 (en) * 2018-04-05 2023-06-13 Aeris Communications, Inc. Global device management architecture for IoT devices with regional autonomy
US11212277B1 (en) * 2018-07-02 2021-12-28 Knwn Technologies, Inc. System and method for securing, perfecting and accelerating biometric identification via holographic environmental data
US11470980B2 (en) * 2018-08-22 2022-10-18 Fredman Bros. Furniture Company, Inc. Multi-function device for an adjustable bed system
US11943299B2 (en) * 2020-03-26 2024-03-26 Bunn-O-Matic Corporation Brewer communication system and method
WO2023096241A1 (ko) * 2021-11-24 2023-06-01 주식회사 윌러스표준기술연구소 무선랜 신호 기반 동작 감지 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181620B1 (en) * 2001-11-09 2007-02-20 Cisco Technology, Inc. Method and apparatus providing secure initialization of network devices using a cryptographic key distribution approach
US20100138660A1 (en) * 2008-12-03 2010-06-03 Verizon Corporate Resources Group Llc Secure communication session setup
US20100211685A1 (en) * 2007-10-09 2010-08-19 Nokia Corporation Pairing exchange
US20150072653A1 (en) * 2013-09-11 2015-03-12 Tencent Technology (Shenzhen) Company Limited Method, apparatus and system for network access

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073142A (en) 1997-06-23 2000-06-06 Park City Group Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
US6580704B1 (en) * 1999-08-26 2003-06-17 Nokia Corporation Direct mode communication method between two mobile terminals in access point controlled wireless LAN systems
US6460050B1 (en) 1999-12-22 2002-10-01 Mark Raymond Pace Distributed content identification system
US6901519B1 (en) 2000-06-22 2005-05-31 Infobahn, Inc. E-mail virus protection system and method
US7539309B2 (en) * 2002-08-16 2009-05-26 Togewa Holding Ag Method and system for GSM authentication during WLAN roaming
ATE336125T1 (de) 2003-11-26 2006-09-15 France Telecom Authentifizierung zwischen einer zellularen mobilendgerät und einem kurzreichweitigen zugangspunkt
CN1838591B (zh) 2005-03-21 2010-05-05 松下电器产业株式会社 用于无线网络的自动安全认证系统及方法
US20130227286A1 (en) * 2006-04-25 2013-08-29 Andre Jacques Brisson Dynamic Identity Verification and Authentication, Dynamic Distributed Key Infrastructures, Dynamic Distributed Key Systems and Method for Identity Management, Authentication Servers, Data Security and Preventing Man-in-the-Middle Attacks, Side Channel Attacks, Botnet Attacks, and Credit Card and Financial Transaction Fraud, Mitigating Biometric False Positives and False Negatives, and Controlling Life of Accessible Data in the Cloud
EP1871065A1 (en) 2006-06-19 2007-12-26 Nederlandse Organisatie voor Toegepast-Natuuurwetenschappelijk Onderzoek TNO Methods, arrangement and systems for controlling access to a network
US8079068B2 (en) * 2006-07-17 2011-12-13 Research In Motion Limited Management of multiple connections to a security token access device
US9712486B2 (en) * 2006-09-25 2017-07-18 Weaved, Inc. Techniques for the deployment and management of network connected devices
US20160112262A1 (en) * 2014-10-18 2016-04-21 Weaved, Inc. Installation and configuration of connected devices
US8925042B2 (en) 2010-04-30 2014-12-30 T-Mobile Usa, Inc. Connecting devices to an existing secure wireless network
US8903978B2 (en) * 2011-06-14 2014-12-02 Sonifi Solutions, Inc. Method and apparatus for pairing a mobile device to an output device
US9107055B2 (en) * 2011-06-14 2015-08-11 Sonifi Solutions, Inc. Method and apparatus for pairing a mobile device to an output device
RU114397U1 (ru) * 2011-08-09 2012-03-20 Общество с ограниченной ответственностью "ПРЕМИУМ ТЕЛЕКОМ" Система связи
CN103107878B (zh) * 2011-11-15 2017-10-03 中兴通讯股份有限公司 移动用户身份识别卡与机器类通信设备绑定的方法及装置
US9313099B2 (en) * 2012-01-13 2016-04-12 Logic PD, Inc. Systems, devices and methods for provisioning, pairing and activating a newly manufactured device for automatic joining of customer's network
JP6005141B2 (ja) * 2012-04-10 2016-10-12 クラリオン株式会社 無線通信システム及び端末装置
EP2665235B1 (en) * 2012-05-15 2016-01-06 Nxp B.V. Method for establishing secure communication between nodes in a network, network node, key manager, installation device and computer program product
JP2013251835A (ja) * 2012-06-04 2013-12-12 Sony Corp 情報処理装置、情報処理システム、情報処理方法及びプログラム
WO2014163054A1 (ja) * 2013-04-02 2014-10-09 シャープ株式会社 端末装置、基地局装置および制御装置
CN104219667B (zh) * 2013-05-31 2018-05-11 华为终端(东莞)有限公司 用于建立连接的方法及设备
CN103338111A (zh) * 2013-07-15 2013-10-02 海信集团有限公司 电子设备、电子设备配对系统和电子设备配对方法
US20150067536A1 (en) * 2013-08-30 2015-03-05 Microsoft Corporation Gesture-based Content Sharing Between Devices
CN105794170B (zh) 2013-10-07 2019-11-15 谷歌有限责任公司 用于建立智能家庭装置与在线管理账户配对方法及系统
US9668131B2 (en) * 2014-01-24 2017-05-30 Htc Corporation Mobile device and wireless pairing method
US10574474B2 (en) * 2014-03-07 2020-02-25 Ubiquiti Inc. Integrated power receptacle wireless access point (AP) adapter devices
US9713231B2 (en) * 2014-06-27 2017-07-18 Belkin International Inc. Light switch controlling light source via wireless transmission
US10104132B2 (en) * 2014-10-08 2018-10-16 Google Llc Network-assisted fabric pairing
US10154017B2 (en) 2015-04-30 2018-12-11 Mcafee, Llc Device pairing in a local network
US10666642B2 (en) * 2016-02-26 2020-05-26 Ca, Inc. System and method for service assisted mobile pairing of password-less computer login

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181620B1 (en) * 2001-11-09 2007-02-20 Cisco Technology, Inc. Method and apparatus providing secure initialization of network devices using a cryptographic key distribution approach
US20100211685A1 (en) * 2007-10-09 2010-08-19 Nokia Corporation Pairing exchange
US20100138660A1 (en) * 2008-12-03 2010-06-03 Verizon Corporate Resources Group Llc Secure communication session setup
US20150072653A1 (en) * 2013-09-11 2015-03-12 Tencent Technology (Shenzhen) Company Limited Method, apparatus and system for network access

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210133256A (ko) * 2019-03-25 2021-11-05 아싸 아브로이 에이비 정위 기반 의도 검출을 이용하는 물리적 액세스 제어 시스템들
US11825292B2 (en) 2019-03-25 2023-11-21 Assa Abloy Ab Physical access control systems with localization-based intent detection
US11902784B2 (en) 2019-03-25 2024-02-13 Assa Abloy Ab Reader coordination for access control
US11900750B2 (en) 2019-03-25 2024-02-13 Assa Abloy Ab Ultra-wide band device for access control reader system
US11928906B2 (en) 2019-03-25 2024-03-12 Assa Abloy Ab Ultra-wide band device for access control reader system

Also Published As

Publication number Publication date
WO2016175952A1 (en) 2016-11-03
US20160321447A1 (en) 2016-11-03
JP6519904B2 (ja) 2019-05-29
US10742621B2 (en) 2020-08-11
EP3609119A1 (en) 2020-02-12
EP3289725B1 (en) 2019-11-13
KR102050648B1 (ko) 2019-11-29
CN107950008B (zh) 2020-11-20
JP2018522506A (ja) 2018-08-09
RU2702047C2 (ru) 2019-10-03
RU2017141586A3 (ko) 2019-05-31
EP3289725A4 (en) 2018-10-17
CN107950008A (zh) 2018-04-20
EP3609119B1 (en) 2020-09-09
CN107950008A8 (zh) 2020-09-11
RU2017141586A (ru) 2019-05-31
US10154017B2 (en) 2018-12-11
US20190141020A1 (en) 2019-05-09
EP3289725A1 (en) 2018-03-07

Similar Documents

Publication Publication Date Title
KR102050648B1 (ko) 로컬 네트워크에서의 디바이스 페어링
US10791118B2 (en) Authenticating network services provided by a network
US11128626B2 (en) Security service for an unmanaged device
CN107949834B (zh) 虚拟化可信存储装置
US9712545B2 (en) Detection of a malicious peripheral
EP3248132B1 (en) Detection of malicious invocation of application program interface calls
US10834109B2 (en) Determining a reputation for a process
US10691476B2 (en) Protection of sensitive data
US9769186B2 (en) Determining a reputation through network characteristics
US10419421B2 (en) Systems and methods to securely construct a network fabric
US10819780B2 (en) Protected data collection in a multi-node network

Legal Events

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