KR20160077102A - 피어 기반 인증 - Google Patents

피어 기반 인증 Download PDF

Info

Publication number
KR20160077102A
KR20160077102A KR1020167012982A KR20167012982A KR20160077102A KR 20160077102 A KR20160077102 A KR 20160077102A KR 1020167012982 A KR1020167012982 A KR 1020167012982A KR 20167012982 A KR20167012982 A KR 20167012982A KR 20160077102 A KR20160077102 A KR 20160077102A
Authority
KR
South Korea
Prior art keywords
user
user device
query
list
interaction
Prior art date
Application number
KR1020167012982A
Other languages
English (en)
Other versions
KR101727873B1 (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 KR20160077102A publication Critical patent/KR20160077102A/ko
Application granted granted Critical
Publication of KR101727873B1 publication Critical patent/KR101727873B1/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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • 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
    • 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/062Pre-authentication
    • 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/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

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)
  • Power Engineering (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 개시는 제 1 사용자 디바이스의 제 1 사용자의 아이덴티티를 확인하는 것에 관련된다. 일 양태는, 제 1 사용자의 아이덴티티를 확인하기 위한 요청을 수신하는 단계, 제 1 사용자 디바이스와 연관된 사용자 상호작용들의 제 1 리스트 및 제 2 사용자 디바이스와 연관된 사용자 상호작용들의 제 2 리스트에 기초하여 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 디바이스의 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하는 단계, 및 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있다고 결정하는 것에 응답하여 제 1 사용자의 아이덴티티를 확인하는 단계를 포함한다.

Description

피어 기반 인증{PEER BASED AUTHENTICATION}
관련 출원에 대한 상호 참조
본 특허 출원은 2013년 10월 23일자로 출원되고 발명의 명칭이 "PEER-BASED AUTHENTICATION" 인 가출원 61/894,828 및 2013년 11월 14일자로 출원되고 발명의 명칭이 “SECURITY IN PEER TABLE TRANSMISSION,” 인 가출원 61/904,384 의 혜택을 주장하며, 이들 모두는 본원의 양수인에게 양도되었으며 이로써 명확히 참조에 의해 본원에 전부 원용된다.
기술 분야
본 개시는 피어 기반 인증에 관한 것이다.
배경기술
인터넷은, 서로 통신하기 위해 표준 인터넷 프로토콜 슈트 (예컨대,송신 제어 프로토콜 (TCP) 및 인터넷 프로토콜 (IP)) 를 이용하는 상호접속된 컴퓨터들 및 컴퓨터 네트워크들의 글로벌 시스템 (global system) 이다. 사물 인터넷 (IoT) 는, 컴퓨터들 및 컴퓨터 네트워크들뿐만 아니라, 일상의 물건들이 IoT 통신 네트워크 (예컨대, 애드-혹 시스템 또는 인터넷) 를 통해서 판독가능하고, 인식가능하고, 로케이트가능하고, 어드레스가능하고, 그리고 제어가능할 수 있다는 생각에 기초한다.
원격 서버 (예를 들어, 인터넷을 통해 액세스가능한 서버) 에 저장된 사용자 정보의 보안 및 프라이버시를 보호하기 위해, 원격 서버는 사용자가 정보에 액세스하도록 인가되는지 여부를 결정할 것이다. 유사하게, 원격 서버의 지원에서 또는 지원으로, 계좌 이체를 하는 것과 같은, 일부 행위를 사용자가 수행하기 위하여, 원격 서버는 사용자가 행위를 수행하도록 인가되는지 여부를 결정할 것이다. 통상적으로, 사용자가 정보에 액세스하거나 또는 액션을 수행하도록 인가되는지 여부를 결정하는 것은 사용자가 그가 누구라고 말한 사람인지 인증하는 일부 방법을 포함한다. 즉, 원격 서버는 사용자가 사용자 정보 또는 은행 계좌의 소유자라는 것을 검증 (인증) 할 수 있으면, 사용자는 정보에 액세스하거나 또는 계좌 이체를 하도록 허용 (인가) 된다.
클라이언트-서버 사용자 인증은 통상적으로, 클라이언트 및 원격 서버에만 알려진 고유 키를 사용하여 수행된다. 그러나, 이것은, 매우 제한적인 시스템이 될 수 있는데, 왜냐하면 키가 악의적인 제 3 자에 알려지게 되면, 그것은 더 이상 안전하지 않기 때문이다. 추가적으로, 사용자는 사용자가 로그온하고 싶어하는 각각의 웹사이트 및/또는 애플리케이션에 대해 다수의 "사용자이름" 및 "비밀번호" 조합들을 기억해야 할 수도 있다.
개요
다음은 본원에서 개시되는 하나 이상의 양태들 및/또는 실시형태들에 관한 간단한 개요를 제시한다. 이와 같이, 다음 개요는 모든 고려된 양태들 및/또는 실시형태들에 관한 광범위한 개관으로 간주되지 않아야 하며, 다음 개요는 모든 고려된 양태들 및/또는 실시형태들에 관한 핵심적이거나 또는 중대한 엘리먼트들을 식별하거나 또는 임의의 특정의 양태 및/또는 실시형태와 연관되는 범위를 서술하는 것으로 간주되지 않아야 한다. 따라서, 다음 개요의 유일한 목적은 아래에서 제시되는 상세한 설명에 선행하여 본원에서 개시되는 하나 이상의 양태들 및/또는 실시형태들에 관한 특정 컨셉들을 간단한 형태로 제시하는 것이다.
본 개시는 제 1 사용자 디바이스의 제 1 사용자의 아이덴티티 (identity) 를 확인하는 것에 관련된다. 제 1 사용자 디바이스의 제 1 사용자의 아이덴티티를 확인하는 방법으로서, 제 1 사용자의 아이덴티티를 확인하기 위한 요청을 수신하는 단계, 제 1 사용자 디바이스와 연관된 사용자 상호작용들의 제 1 리스트 및 제 2 사용자 디바이스와 연관된 사용자 상호작용들의 제 2 리스트에 기초하여 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 디바이스의 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하는 단계, 및 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있다고 결정하는 것에 응답하여 제 1 사용자의 아이덴티티를 확인하는 단계를 포함한다.
제 1 사용자 디바이스의 제 1 사용자의 아이덴티티를 확인하기 위한 장치로서, 제 1 사용자의 아이덴티티를 확인하기 위한 요청을 수신하도록 구성된 로직, 제 1 사용자 디바이스와 연관된 사용자 상호작용들의 제 1 리스트 및 제 2 사용자 디바이스와 연관된 사용자 상호작용들의 제 2 리스트에 기초하여 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 디바이스의 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하도록 구성된 로직, 및 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있다고 결정하는 것에 응답하여 제 1 사용자의 아이덴티티를 확인하도록 구성된 로직을 포함한다.
제 1 사용자 디바이스의 제 1 사용자의 아이덴티티를 확인하기 위한 장치로서, 제 1 사용자의 아이덴티티를 확인하기 위한 요청을 수신하는 수단, 제 1 사용자 디바이스와 연관된 사용자 상호작용들의 제 1 리스트 및 제 2 사용자 디바이스와 연관된 사용자 상호작용들의 제 2 리스트에 기초하여 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 디바이스의 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하는 수단, 및 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있다고 결정하는 것에 응답하여 제 1 사용자의 아이덴티티를 확인하는 수단을 포함한다.
제 1 사용자 디바이스의 제 1 사용자의 아이덴티티를 확인하기 위한 비일시적 컴퓨터 판독가능 매체로서, 제 1 사용자의 아이덴티티를 확인하기 위한 요청을 수신하기 위한 적어도 하나의 명령, 제 1 사용자 디바이스와 연관된 사용자 상호작용들의 제 1 리스트 및 제 2 사용자 디바이스와 연관된 사용자 상호작용들의 제 2 리스트에 기초하여 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 디바이스의 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하기 위한 적어도 하나의 명령, 및 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있다고 결정하는 것에 응답하여 제 1 사용자의 아이덴티티를 확인하기 위한 적어도 하나의 명령을 포함한다.
본원에 개시된 메카니즘들과 연관된 다른 목적들 및 이점들은 첨부 도면 및 상세한 설명에 기초하여 당업자에게 분명해질 것이다.
본 개시의 양태들 및 그의 많은 수반되는 이점들의 보다 완전한 이해는, 본 개시의 한정이 아닌 단지 본 발명의 예시를 위해 제시되는 첨부 도면과 함께 고려될 때 다음의 상세한 설명을 참조하여 더 잘 이해될 것이므로, 용이하게 얻어질 것이고, 첨부 도면들에서:
도 1은 본 개시의 양태에 따른 무선 통신 시스템의 하이 레벨 시스템 아키텍처를 예시한다.
도 2는 본 개시의 실시형태들에 따른 사용자 장비 (UE) 들의 예들을 예시한다.
도 3은 본 개시의 양태에 따른 기능을 수행하도록 구성된 로직을 포함하는 통신 디바이스를 예시한다.
도 4는 본 개시의 다양한 양태들에 따른 예시적인 서버를 예시한다.
도 5는 본 개시의 일 양태에 따른, 발견가능한 피어 투 피어 (P2P) 서비스들을 지원할 수도 있는 무선 통신 네트워크를 예시한다.
도 6은 본 개시의 일 양태에 따른, 다양한 디바이스들이 통신할 수도 있는 근접 기반 분산형 버스를 확립하기 위해 발견가능한 P2P 서비스들이 사용될 수도 있는 예시적인 환경을 예시한다.
도 7은 본 개시의 일 양태에 따라, 다양한 디바이스들이 통신할 수도 있는 근접 기반 분산형 버스를 확립하기 위해 발견가능한 P2P 서비스들이 사용될 수도 있는 예시적인 메시지 시퀀스를 예시한다.
도 8은 본 개시의 실시형태에 따른 예시적인 인증 시스템을 예시한다.
도 9는 본 개시의 실시형태에 따른 피어 기반 인증을 위한 예시적인 흐름을 예시한다.
도 10은 본 개시의 실시형태에 따른 사용자 디바이스의 상호작용 테이블을 송신함이 없이 사용자 디바이스를 인증하기 위한 예시적인 흐름을 예시한다.
도 11은 본 개시의 양태에 따른 제 1 사용자 디바이스의 제 1 사용자의 아이덴티티를 확인하기 위한 예시적인 흐름을 예시한다.
도 12는 본원에 교시된 바처럼 통신을 지원하도록 구성된 장치의 여러 샘플 양태들의 또 다른 간략 블록도이다.
상세한 설명
본원은, 2013년 2월 25일자로 출원되었고 본원의 양수인에게 양도었으며 명시적으로 참조에 의해 본원에 전부 원용되는, 발명이 명칭이 “AN IMPLICIT METHOD FOR CREATING RELATIONSHIPS BETWEEN INTERNET OF THINGS (IOT) DEVICES”인, 가출원 제 61/769,130호에 관한 것이다.
본 개시는 제 1 사용자 디바이스의 제 1 사용자의 아이덴티티를 확인하는 것에 관련된다. 일 양태는, 제 1 사용자의 아이덴티티를 확인하기 위한 요청을 수신하는 단계, 제 1 사용자 디바이스와 연관된 사용자 상호작용들의 제 1 리스트 및 제 2 사용자 디바이스와 연관된 사용자 상호작용들의 제 2 리스트에 기초하여 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 디바이스의 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하는 단계, 및 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있다고 결정하는 것에 응답하여 제 1 사용자의 아이덴티티를 확인하는 단계를 포함한다.
이들 및 다른 양태들은 피어 테이블 송신에서 보안의 예시적인 실시형태들에 관한 특정 예들을 보여주기 위하여 다음의 설명 및 관련 도면들에 개시되어 있다. 다른 실시형태들이 본 개시를 읽을 때 당업자에게 분명해질 것이며, 본 개시의 범위 또는 사상으로부터 벗어남이 없이 구성되고 실시될 수도 있다. 추가적으로, 잘 알려진 엘리먼트들은 본원에 개시된 양태들 및 실시형태들의 관련 상세들을 불분명하게 하지 않도록 상세히 설명되지 않거나 또는 생락될 수도 있다.
"예시적" 및/또는 "예" 라는 용어는 "예, 실례, 또는 예시의 역할을 하는 것" 을 의미하는 것으로 여기에서 사용된다. "예시적" 및/또는 "예" 로서 여기에 설명된 임의의 실시형태는 반드시 다른 실시형태보다 바람직하거나 또는 유리한 것으로 해석되는 것은 아니다. 마찬가지로, 용어 "본 발명의 실시형태들" 은 본 발명의 모든 실시형태들이 논의된 특징 (feature), 이점 또는 동작 모드를 포함할 것을 요하지 않는다.
또한, 많은 실시형태들은 예를 들면, 컴퓨팅 디바이스의 엘리먼트들에 의해 수행될 액션들의 시퀀스들의 측면에서 설명되어 있다. 여기서 설명된 다양한 액션들은 특정 회로들 (예를 들면, 주문형 반도체 (ASIC)) 에 의해, 하나 이상의 프로세서들에 의해 실행되는 프로그램 명령들에 의해 또는 양쪽 모두의 조합에 의해 수행될 수 있음이 인식될 것이다. 또한, 여기에 기술된 이들 액션들의 시퀀스는, 실행시 연관된 프로세서로 하여금 여기에 기술된 기능을 수행하게 하는 컴퓨터 명령들의 대응하는 세트가 저장된 임의의 형태의 컴퓨터 판독가능 저장 매체 내에 완전히 수록되는 것으로 고려될 수 있다. 따라서, 본 발명의 다양한 양태들이 다수의 상이한 형태들로 구현될 수도 있는데, 그 전부는 본원 특허청구범위의 요지의 범위 내에 존재하는 것으로 고려되었다. 또한, 여기에 기술된 실시형태들 각각에 대하여, 임의의 이러한 실시형태들의 대응하는 형태는 예를 들어, 설명된 액션을 수행하도록 "구성된 로직" 으로서 여기에 설명될 수도 있다.
여기서 사용자 장비 (UE) 로 지칭되는 클라이언트 디바이스는, 이동식 또는 고정식일 수도 있고, 무선 액세스 네트워크 (RAN) 와 통신할 수도 있다. 여기서 사용된 용어 "UE" 는 "액세스 단말기" 또는 "AT", "무선 디바이스", "가입자 디바이스", "가입자 단말기", "가입자 국", "사용자 단말기" 또는 UT, "이동 단말기", "이동국" 및 이들의 변형들로서 상호교환가능하게 지칭될 수도 있다. 일반적으로, UE 들은 RAN 을 경유하여 코어 네트워크와 통신할 수 있고, 코어 네트워크를 통해, UE 들은 인터넷과 같은 외부 네트워크들과 접속될 수 있다. 물론, 유선 액세스 네트워크들, (예를 들어, IEEE 802.11 등에 기초한) WiFi 네트워크들 등을 통한 것과 같이, 코어 네트워크 및/또는 인터넷에 접속하는 다른 메커니즘들이 UE 들에 대해 또한 가능하다. UE 들은 PC 카드들, 컴팩트 플래시 디바이스들, 외부 또는 내부 모뎀들, 무선 또는 유선 전화 등을 포함하지만 이에 한정되지 않는 다수의 타입들의 디바이스들 중의 임의의 것에 의해 구체화될 수 있다. UE 들이 신호들을 RAN 으로 전송할 수 있는 통신 링크는 업링크 채널 (예를 들어, 역방향 트래픽 채널, 역방향 제어 채널, 액세스 채널 등) 로 칭해진다. RAN 이 신호들을 UE 들로 전송할 수 있는 통신 링크는 다운링크 또는 순방향 링크 채널 (예를 들어, 페이징 채널, 제어 채널, 브로드캐스트 채널, 순방향 트래픽 채널 등) 로 칭해진다. 본원에서 사용된 용어 트래픽 채널 (traffic channel; TCH) 은 업링크 / 역방향 또는 다운링크 / 순방향 트래픽 채널 중 어느 하나를 지칭할 수 있다.
도 1은 본 발명의 실시형태에 따른 무선 통신 시스템 (100) 의 하이 레벨 시스템 아키텍처를 예시한다. 무선 통신 시스템 (100) 은 UE 들 1...N 을 포함한다. UE 들 1...N 은 셀룰러 전화기, 개인 정보 단말 (personal digitalassistant; PDA), 페이저, 랩톱 컴퓨터, 데스크톱 컴퓨터 등을 포함할 수 있다. 예를 들어, 도 1에서, UE 들 1...2 은 셀룰러 호출 전화기들로서 예시되어 있고, UE 들 3...5 는 셀룰러 터치스크린 전화기 또는 스마트폰들로서 예시되어 있고, UE N 은 데스크톱 컴퓨터 또는 PC 로서 예시되어 있다.
도 1을 참조하면, UE 들 1...N 은 에어 인터페이스들 (104, 106, 108) 로서 도 1에서 도시된 물리 통신 인터페이스 또는 계층 및/또는 직접 유선 접속을 통해 액세스 네트워크 (예를 들어, RAN (120), 액세스 포인트 (125) 등) 와 통신하도록 구성된다. 에어 인터페이스 (104 및 106) 는 소정의 셀룰러 통신 프로토콜 (예를 들어, CDMA, EVDO, eHRPD, GSM, EDGE, W-CDMA, LTE 등) 을 준수할 수 있는 한편, 에어 인터페이스 (108) 는 무선 IP 프로토콜 (예를 들어, IEEE 802.11) 를 준수할 수 있다. RAN (120) 은 에어 인터페이스들 (104 및 106) 과 같은 에어 인터페이스들을 통해 UE 들을 서빙하는 복수의 액세스 포인트들을 포함한다. RAN (120) 에서의 액세스 포인트들은 액세스 노드들 또는 AN 들, 액세스 포인트들 또는 AP 들, 기지국들 또는 BS 들, 노드 B 들, e노드 B (eNode B) 등으로서 지칭될 수 있다. 이 액세스 포인트들은 지상 (terrestrial) 액세스 포인트들 (또는 지상국들), 또는 위성 액세스 포인트들일 수 있다. RAN (120) 은, RAN (120) 에 의해 서빙된 UE 들과, 전적으로 RAN (120) 또는 상이한 RAN 에 의해 서빙된 다른 UE 들과의 사이에서 회선 교환 (CS) 호들을 브릿징 (bridging) 하는 것을 포함하는 다양한 기능들을 수행할 수 있고, 또한, 인터넷 (175) 과 같은 외부 네트워크들과의 패킷-교환 (PS) 데이터의 교환을 중재할 수 있는 코어 네트워크 (140) 에 접속하도록 구성된다. 인터넷 (175) 은 다수의 라우팅 에이전트들 및 프로세싱 에이전트들 (편리성을 위하여 도 1에 미도시) 을 포함한다. 도 1에서는, UE N 이 (이를테면, WiFi 또는 802.11-기반 네트워크의 이더넷 접속을 통한 것과 같이, 코어 네트워크 (140) 로부터 분리된) 인터넷 (175) 에 직접 접속하는 것으로서 도시되어 있다. 이로써, 인터넷 (175) 은 코어 네트워크 (140) 를 경유하여 UE N 과 UE 들 1...N 사이에서 패킷-교환 데이터 통신을 브릿징하도록 기능할 수 있다. 또한, RAN (120) 으로부터 분리된 액세스 포인트 (125) 가 도 1에 도시되어 있다. 액세스 포인트 (125) 는 (예를 들어, FiOS, 케이블 모뎀 등과 같은 광학 통신 시스템을 경유하여) 코어 네트워크 (140) 에 관계없이 인터넷 (175) 에 접속될 수도 있다. 에어 인터페이스 (108) 는 일 예에서 IEEE 802.11 과 같은 로컬 무선 접속을 통해 UE 4 또는 UE 5 를 서빙할 수도 있다. UE N 은, (예를 들어, 유선 및 무선 접속성의 양자 모두를 갖는 WiFi 라우터에 대한) 일 예에서 액세스 포인트 (125) 자체에 대응할 수 있는, 모뎀 또는 라우터로의 직접 접속과 같은, 인터넷 (175) 에의 유선 접속을 갖는 데스크톱 컴퓨터로서 도시되어 있다.
도 1을 참조하면, 서버 (170) 가 인터넷 (175), 코어네트워크 (140), 또는 양자 모두에 접속된 것으로서 도시되어 있다. 서버 (170) 는 복수의 구조적으로 분리된 서버들로서 구현될 수 있거나, 또는 대안적으로, 단일 서버에 대응할 수도 있다. 이하에서 더욱 상세하게 설명되는 바와 같이, 서버 (170) 는, 코어 네트워크 (140) 및/또는 인터넷 (175) 을 경유하여 서버 (170) 에 접속할 수 있는 UE 들을 위한 하나 이상의 통신 서비스들 (예를 들어, VoIP (Voice-over-Internet Protocol) 세션들, PTT (Push-to-Talk) 세션들, 그룹 통신 세션들, 소셜 네트워킹 서비스들 등) 을 지원하거나 및/또는 콘텐츠 (예를 들어, 웹 페이지 다운로드) 를 UE 들에 제공하도록 구성된다.
도 2 는 본 발명의 실시형태들에 따른 UE (즉, 클라이언트 디바이스) 들의 예들을 예시한다. 도 2를 참조하면, UE (200A) 는 호출 전화기로서 예시되어 있고 UE (200B) 는 터치스크린 디바이스 (예를 들어, 스마트 폰, 태블릿 컴퓨터 등) 으로 예시되어 있다. 도 2에 도시된 바처럼, UE (200A) 의 외부 케이싱은, 당해 분야에 알려져 있는 바처럼, 다른 컴포넌트들 중에서도 안테나 (205A), 디스플레이 (210A), 적어도 하나의 버튼 (215A) (예를 들어, PTT 버튼, 전력 버튼, 볼륨 제어 버튼 등) 및 키패드 (220A) 로 구성된다. 또한, UE (200B) 의 외부 케이싱은 당해 분야에서 알려져 있는 바와 같이 다른 컴포넌트들 중에서도 터치스크린 디스플레이 (205B), 주변 버튼들 (210B, 215B, 220B 및 225B) (예를 들어,전원 제어 버튼, 볼륨 또는 진동 제어 버튼, 비행기 모드 토글 버튼 등), 적어도 하나의 전면-패널 버튼 (230B) (예를 들어, 홈 버튼 등) 으로 구성된다. UE (200B) 의 일부로서 명시적으로 도시되어 있지 않지만, UE (200B) 는, WiFi 안테나들, 셀룰러 안테나들, 위성 위치 시스템 (satellite position system; SPS) 안테나들 (예를 들어, 글로벌 위치확인 시스템 (global positioning system; GPS) 안테나들) 등을 포함하지만 이에 한정되지 않는, UE (200B) 의 외부 케이싱 내에 내장되는 하나 이상의 통합 안테나들 및/또는 하나 이상의 외부 안테나들을 포함할 수 있다.
UE 들 (200A 및 200B) 과 같은 UE 들의 내부 컴포넌트들은 상이한 하드웨어 구성들로 구체화될 수 있지만, 내부 하드웨어 컴포넌트들을 위한 기본적인 하이-레벨 (high-level) UE 구성은 도 2에서 플랫폼 (202) 으로서 도시되어 있다. 플랫폼 (202) 은, 궁극적으로 코어 네트워크 (140), 인터넷 (175) 및/또는 다른 원격 서버들 및 네트워크들 (예를 들어, 애플리케이션 서버 (170), 웹 URL 등) 로부터 나올 수도 있는 RAN (120) 으로부터 송신된 소프트웨어 애플리케이션들, 데이터 및/또는 커맨드들을 수신 및 실행할 수 있다. 플랫폼 (202) 은 또한, RAN 상호작용 없이 로컬적으로 저장된 애플리케이션들을 독립적으로 실행할 수 있다. 플랫폼 (202) 은 ASIC (application specific integrated circuit; 208), 또는 다른 프로세서, 마이크로프로세서, 논리 회로 또는 다른 데이터 프로세싱 디바이스에 동작 가능하게 커플링된 송수신기 (206) 를 포함할 수 있다. ASIC (208) 또는 다른 프로세서는, 무선 디바이스의 메모리 (212) 에서의 임의의 상주 프로그램들과 인터페이스 접속하는 애플리케이션 프로그래밍 인터페이스 (API)(210) 계층을 실행한다. 메모리 (212) 는 ROM (read-only memory), RAM (random-access memory), EEPROM, 플래시 카드, 또는 컴퓨터 플랫폼에 공통된 임의의 메모리로 구성될 수 있다. 플랫폼 (202) 은 또한 메모리 (212) 내에 활동적으로 사용되지 않는 애플리케이션 그리고 다른 데이터를 저장할 수 있는 로컬 데이터베이스 (214) 를 포함할 수 있다. 로컬 데이터베이스 (214) 는 통상적으로 플래시 메모리 셀이지만 자기 매체, EEPROM, 광 매체, 테이프, 소프트 또는 하드 디스크 등과 같은 당해 기술 분야에서 알려진 임의의 부수적인 저장 디바이스일 수 있다.
이에 따라, 본 발명의 실시형태는 본원에서 설명된 기능들을 수행하기 위한 능력을 포함하는 UE (예를 들어, UE (200A, 200B) 등) 를 포함할 수 있다. 본 기술 분야의 당업자가 알 수 있는 바와 같이, 다양한 논리 엘리먼트들이 본 명세서에서 개시된 기능들을 달성하기 위해서 개별 엘리먼트들 (discrete elements), 프로세서상에서 실행되는 소프트웨어 모듈들 또는 소프트웨어와 하드웨어의 임의의 조합에 의해서 구현될 수 있다. 예를 들어, ASIC (208), 메모리 (212), API (210) 및 로컬 데이터베이스 (214) 는 모두 본 명세서에서 개시된 다양한 기능들을 로딩, 저장 및 실행하기 위해서 협동적으로 사용될 수 있으며, 따라서 이들 기능들을 수행하기 위한 로직은 다양한 엘리먼트들에 걸쳐서 분포될 수도 있다. 다르게는, 이 기능은 하나의 개별 컴포넌트내에 포함될 수 있다. 따라서, 도 2에서의 UE들 (200A 및 200B) 의 특징들은 단지 예시적인 것으로 고려되야 하고, 본 발명은 예시된 특징들 또는 배열에 한정되지 않는다.
UE 들 (200A 및/또는 200B) 과 RAN (120) 사이의 무선 통신은 CDMA, W-CDMA, 시간 분할 다중 접속 (TDMA), 주파수 분할 다중 접속 (FDMA), 직교 주파수 분할 멀티플렉싱 (Orthogonal Frequency Division Multiplexing; OFDM), GSM, 또는 무선 통신 네트워크 또는 데이터 통신 네트워크에서 이용될 수도 있는 다른프로토콜들과 같은 상이한 기술들에 기초할 수 있다. 앞서 논의되었고 당해 기술 분야에서 알려진 바와 같이, 음성 송신 및/또는 데이터는 다양한 네트워크 및 구성을 사용하여 RAN으로부터 UE들로 송신될 수 있다. 따라서, 본 명세서에서 제공된 예시들은 본 발명의 실시형태들을 한정하도록 의도된 것이 아니며 단지 본 발명의 실시형태들의 양태들의 설명을 돕기 위한 것일 뿐이다.
도 3은, 기능을 수행하도록 구성된 로직을 포함하는 통신 디바이스 (300) 를 예시한다. 통신 디바이스 (300) 는 위에 언급된 통신 디바이스들 중의 임의의 것에 대응할 수 있으며, UE들 (200A 또는 200B), RAN (120) 의 임의의 컴포넌트, 코어 네트워크 (140) 의 임의의 컴포넌트, 코어 네트워크 (140) 및/또는 인터넷 (175) 과 연결된 임의의 컴포넌트 (예를 들어, 서버 (170)) 등을 포함하지만, 이에 한정되지 않는다. 따라서, 통신 디바이스 (300) 는 도 1의 무선 통신 시스템 (100) 을 통해 하나 이상의 다른 엔티티들과 통신하도록 (또는 통신하는 것을 가능하게 하도록) 구성되는 임의의 전자 디바이스에 대응할 수 있다.
도 3을 참조하면, 통신 디바이스 (300) 는 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 을 포함한다. 일 예에서, 통신 디바이스 (300) 가 무선 통신 디바이스 (예를 들어, UE (200A 또는 200B), AP (125), RAN (120) 에서의 BS, Node B 또는 eNodeB 등) 에 대응할 경우, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 무선 송수신기 및 연관된 하드웨어 (예를 들어, RF 안테나, MODEM, 변조기 및/또는 복조기 등) 와 같은 무선 통신 인터페이스 (예를 들어, 블루투스 (Bluetooth), WiFi, 2G, CDMA, W-CDMA, 3G, 4G, LTE 등) 를 포함할 수 있다. 또 다른 예에서, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 유선 통신 인터페이스 (예를 들어, 직렬 접속, USB 또는 파이어와이어 (Firewire) 접속, 인터넷 (175) 이 액세스될 수 있는 이더넷 (Ethernet) 접속 등) 에 대응할 수 있다. 따라서, 통신 디바이스 (300) 가 일부의 타입의 네트워크-기반 서버 (예를들어, 서버 (170)) 에 대응할 경우, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 일 예에서, 네트워크-기반 서버를 이더넷 프로토콜을 통해 다른 통신 엔티티들에 접속시키는 이더넷 카드에 대응할 수 있다. 예를 들어, 통신 디바이스 (300) 가, 여기에 기재된 바처럼, 인증 서버에 대응하거나 또는 이를 포함하는 경우, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 제 1 사용자의 아이덴티티를 확인하기 위한 요청을 수신하도록 구성된 로직 및/또는 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있다고 결정하는 것에 기초하여 제 1 사용자의 아이덴티티를 확인하도록 구성된 로직에 대응하거나 또는 이를 포함한다. 추가의 예에서, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은, 통신 디바이스 (300) 가 그의 로컬 환경을 모니터링할 수 있는 감지 또는 측정 하드웨어 (예를 들어, 가속도계, 온도 센서, 광 센서, 로컬 RF 신호들을 모니터링하기 위한 안테나 등) 를 포함할 수 있다. 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 또한, 실행될 때, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 의 연관된 하드웨어가 그의 수신 및/또는 송신 기능 (들)을 수행하도록 허용하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 소프트웨어 하나에만 대응하는 것은 아니고, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 그의 기능을 달성하기 위하여 하드웨어에 적어도 부분적으로 의거한다.
도 3을 참조하면, 통신 디바이스 (300) 는 정보를 프로세싱하도록 구성된 로직 (310) 을 더 포함한다. 일 예에서, 정보를 프로세싱하도록 구성된 로직 (310) 은 적어도 프로세서를 포함할 수 있다. 정보를 프로세싱하도록 구성된 로직 (310) 에 의해 수행될 수 있는 프로세싱의 타입의 예의 구현들은, 결정들을 수행하는 것, 접속들을 확립하는 것, 상이한 정보 옵션들 사이에서 선택들을 행하는 것, 데이터와 관련된 평가들을 수행하는 것, 측정 동작들을 수행하기 위하여 통신 디바이스 (300) 에 연결된 센서들과 상호작용하는 것, 정보를 하나의 포맷으로부터 또 다른 포맷으로 (예를 들어, .wmv 대 .avi 와 같은 상이한 프로토콜들 등 간에) 변환하는 것 등을 포함하지만 이에 한정되지는 않는다. 예를 들어, 여기에 기재된 바처럼, 통신 디바이스 (300) 가 인증 서버에 대응하거나 또는 이를 포함하는 경우, 정보를 프로세싱하도록 구성된 로직 (310) 은, 제 1 사용자의 아이덴티티를 확인하기 위한 요청을 수신하도록 구성된 로직, 제 1 사용자 디바이스와 연관된 사용자 상호작용들의 제 1 리스트 및 제 2 사용자 디바이스와 연관된 사용자 상호작용들의 제 2 리스트에 기초하여 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 디바이스의 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하도록 구성된 로직, 및/또는 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있다고 결정하는 것에 응답하여 제 1 사용자의 아이덴티티를 확인하도록 구성된 로직을 포함할 수도 있다. 정보를 프로세싱하도록 구성된 로직 (310) 에 포함된 프로세서는, 범용 프로세서, 디지털 신호 프로세서 (DSP), ASIC, 필드 프로그램가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트 또는 여기에 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합에 대응할 수 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다르게는, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합한 하나 이상의 마이크로프로세서, 또는 임의의 다른 이러한 구성으로서 구현될 수도 있다. 정보를 프로세싱하도록 구성된 로직 (310) 은 또한, 실행될 때, 정보를 프로세싱하도록 구성된 로직 (310) 의 연관된 하드웨어가 그의 프로세싱 기능(들) 을 수행하도록 허용하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 프로세싱하도록 구성된 로직 (310) 은 소프트웨어 하나에만 대응하는 것은 아니고, 정보를 프로세싱하도록 구성된 로직 (310) 은 그의 기능을 달성하기 위하여 하드웨어에 적어도 부분적으로 의거한다.
도 3을 참조하면, 통신 디바이스 (300) 는 정보를 저장하도록 구성된 로직 (315) 을 더 포함한다. 일 예에서, 정보를 저장하도록 구성된 로직 (315) 은 적어도 비-일시적인 메모리 및 연관된 하드웨어 (예를 들어, 메모리 제어기 등) 를 포함할 수 있다. 예를 들어, 정보를 저장하도록 구성된 로직 (315) 에 포함된 비-일시적인 메모리는 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 리무버블 디스크, CD-ROM, 또는 당해 분야에서 알려진 임의의 다른 형태의 저장 매체에 대응할 수 있다. 정보를 저장하도록 구성된 로직 (315) 은 또한, 실행될 때, 정보를 저장하도록 구성된 로직 (315) 의 연관된 하드웨어가 그의 저장 기능(들) 을 수행하도록 허용하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 저장하도록 구성된 로직 (315) 은 소프트웨어 하나에만 대응하는 것은 아니고, 정보를 저장하도록 구성된 로직 (315) 은 그의 기능을 달성하기 위하여 하드웨어에 적어도 부분적으로 의거한다.
도 3을 참조하면, 통신 디바이스 (300) 는 선택적으로, 정보를 제시하도록 구성된 로직 (320) 을 더 포함한다. 일 예에서, 정보를 제시하도록 구성된 로직 (320) 은 적어도 출력 디바이스 및 연관된 하드웨어를 포함할 수 있다. 예를 들어, 출력 디바이스는 비디오 출력 디바이스 (예를 들어, 디스플레이 스크린, USB, HDMI 등과 같이 비디오 정보를 전달할 수 있는 포트), 오디오 출력 디바이스 (예를 들어, 스피커들, 마이크로폰 잭, USB, HDMI 등과 같이 오디오 정보를 전달할 수 있는 포트), 진동 디바이스, 및/또는 정보가 출력을 위해 포맷될 수 있거나 또는 통신 디바이스 (300) 의 사용자 또는 운영자에 의해 실제로 출력될 수 있는 임의의 다른 디바이스를 포함할 수 있다. 예를 들어, 통신 디바이스 (300) 가 도 2에서 도시된 바와 같은 UE (200A) 또는 UE (200B) 에 대응할 경우, 정보를 제시하도록 구성된 로직 (320) 은 UE (200A) 의 디스플레이 (210A) 또는 UE (200B) 의 터치스크린 디스플레이 (205B) 를 포함할 수 있다. 추가의 예에서는, 정보를 제시하도록 구성된 로직 (320) 은, 로컬 사용자를 갖지 않는 네트워크 통신 디바이스들 (예를 들어, 네트워크 스위치들 또는 라우터들, 서버 (170) 와 같은 원격 서버들 등) 과 같은 어떤 통신 디바이스들에 대해, 생략될 수 있다. 정보를 제시하도록 구성된 로직 (320) 은 또한, 실행될 때, 정보를 제시하도록 구성된 로직 (320) 의 연관된 하드웨어가 그의 제시 기능(들) 을 수행하도록 허용하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 제시하도록 구성된 로직 (320) 은 소프트웨어 하나에만 대응하는 것은 아니고, 정보를 제시하도록 구성된 로직 (320) 은 그의 기능을 달성하기 위하여 하드웨어에 적어도 부분적으로 의거한다.
도 3을 참조하면, 통신 디바이스 (300) 는 선택적으로, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 을 더 포함한다. 일 예에서, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 적어도 사용자 입력 디바이스 및 연관된 하드웨어를 포함할 수 있다. 예를 들어, 사용자 입력 디바이스는 버튼들, 터치스크린 디스플레이, 키보드, 카메라, 오디오 입력 디바이스 (예를 들어, 마이크로폰, 또는 마이크로폰 잭 등과 같이 오디오 정보를 전달할 수 있는 포트), 및/또는 통신 디바이스 (300) 의 사용자 또는 운영자로부터 정보가 수신될 수 있는 임의의 다른 디바이스를 포함할 수 있다. 예를 들어, 통신 디바이스 (300) 가 도 2에서 도시된 바와 같은 UE (200A) 또는 UE (200B) 에 대응할 경우, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 키패드 (220A), 버튼들 (215A 또는 210B 내지 225B) 중의 임의의 것, 터치스크린 디스플레이 (205B) 등을 포함할 수 있다. 추가의 예에서는, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은, 로컬 사용자를 갖지 않는 네트워크 통신 디바이스들 (예를 들어, 네트워크 스위치들 또는 라우터들, 서버 (170) 와 같은 원격 서버들 등) 과 같은 어떤 통신 디바이스들에 대해, 생략될 수 있다. 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 또한, 실행될 때, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 의 연관된 하드웨어가 그의 입력 수신 기능(들) 을 수행하도록 허용하는 소프트웨어를 포함할 수 있다. 그러나, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 소프트웨어 하나에만 대응하는 것은 아니고, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 그의 기능을 달성하기 위하여 하드웨어에 적어도 부분적으로 의거한다.
도 3을 참조하면, 305 내지 325 의 구성된 로직들은 도 3에서 분리 또는 구분되는 블록들로서 도시되어 있지만, 각각의 구성된 로직이 그의 기능을 수행하는 하드웨어 및/또는 소프트웨어는 부분적으로 오버랩될 수 있다는 것이 인식될 것이다. 예를 들어, 305 내지 325 의 구성된 로직들의 기능을 가능하게 하기 위하여 이용된 임의의 소프트웨어는 정보를 저장하도록 구성된 로직 (315) 과 연관된 비-일시적인 메모리에 저장되어, 305 내지 325 의 구성된 로직들은 각각, 정보를 저장하도록 구성된 로직 (315) 에 의해 저장된 소프트웨어의 동작에 부분적으로 기초하여 그들의 기능 (즉, 이 경우, 소프트웨어 실행) 을 수행할 수 있다. 마찬가지로, 구성된 로직들 중의 하나와 직접 연관되는 하드웨어는때때로 다른 구성된 로직들에 의해 차용 또는 이용될 수 있다. 예를 들어, 정보를 프로세싱하도록 구성된 로직 (310) 의 프로세서는 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 에 의해 송신되기 전에 데이터를 적절한 포맷으로 포맷하여, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 이 정보를 프로세싱하도록 구성된 로직 (310) 과 연관된 하드웨어 (즉, 프로세서) 의 동작에 부분적으로 기초하여 그의 기능 (즉, 이 경우, 데이터의 송신) 을 수행할 수 있다.
일반적으로, 이와 다르게 명시적으로 언급되지 않으면, 본 개시의전반에 걸쳐 이용된 어구 "~하도록 구성된 로직" 은 하드웨어로 적어도 부분적으로 구현되는 실시형태를 환기시키도록 의도된 것이고, 하드웨어에 관련 없는 소프트웨어만의 구현들에 맵핑하도록 의도된 것은 아니다. 또한, 다양한 블록들에서의 구성된 로직 또는 "~하도록 구성된 로직" 은 특정 로직 게이트들 또는 엘리먼트들에 한정되는 것이 아니라, (하드웨어, 또는 하드웨어 및 소프트웨어의 조합 중의 어느 하나를 통하여) 본원에 기재된 기능을 수행할 수 있는 능력을 일반적으로 지칭한다는 것이 인식될 것이다. 따라서, 다양한 블록들에서 예시된 구성된 로직들 또는 "~하도록 구성된 로직" 은 단어 "로직" 을 공유함에도 불구하고 로직 게이트들 또는 로직 엘리먼트들로서 반드시 구현되는 것은 아니다. 다양한 블록들에서의 로직간의 다른 상호작용들 또는 협력은 이하에서 더욱 상세하게 설명된 실시형태들의 검토로부터 당해 분야의 당업자에게 명확해질 것이다.
다양한 실시형태들은 도 4에 예시된 서버 (400) 와 같은 다양한 상업적으로 이용가능한 서버 디바이스들 중 임의의 것 상에서 구현될 수도 있다. 일예에서, 서버 (400) 는 상술된 애플리케이션 서버 (170) 의 하나의 예시적인 구성에 대응할 수도 있다. 도 4에서, 서버 (400) 는 휘발성 메모리 (402) 및 대용량 비휘발성 메모리, 이를테면 디스크 드라이브 (403) 에 연결된 프로세서 (400) 를 포함한다. 서버 (400) 은 또한, 프로세서 (401) 에 연결된 플로피 디스크 드라이브, 컴팩트 디스크 (CD) 또는 DVD 디스크 드라이브 (406) 를 포함할 수도 있다. 서버 (400) 는, 또한 다른 브로드캐스트 시스템 컴퓨터들 및 서버들에 연결되거나 또는 인터넷에 연결되는 로컬 영역 네트워크와 같은 네트워크 (407) 와의 데이터 접속들을 확립하기 위해 프로세서 (401) 에 연결되는 네트워크 액세스 포트들 (404) 을 포함할 수도 있다. 도 3의 맥락에서, 도 4의 서버 (400) 는 통신 디바이스 (300) 의 하나의 예시적인 구현을 나타내며, 이로써 정보를 송신 및/또는 수신하도록 구성된 로직 (305) 은 네트워크 (407) 와 통신하기 위해서 서버 (400) 에 의해 사용되는 네트워크 액세스 포트들 (304) 에 대응하고, 정보를 프로세싱하도록 구성된 로직 (310) 은 프로세서 (401) 에 대응하고, 그리고 정보를 저장하도록 구성된 로직 (315) 은 휘발성 메모리 (402), 디스크 드라이브 (403) 및/또는 디스크 드라이브 (406) 의 임의의 조합에 대응한다는 것이 인식될 것이다. 정보를 제시하도록 구성된 선택적 로직 (320) 및 로컬 사용자 입력을 수신하도록 구성된 선택적 로직 (325) 은 도 4에 명백하게 도시되어 있지 않으며, 거기에 포함되거나 또는 포함되지 않을 수도 있다. 이로써, 도 4는 도 2에서 있는 205A 또는 205B 에서와 같은 UE 구현에 추가하여, 통신 디바이스 (300) 가 서버로서 구현될 수도 있음을 보여주는데 도움이 된다.
일 양태에서, 서버 (400) 가 제 1 사용자 디바이스의 제 1 사용자의 아이덴티티를 확인하도록 구성된 인증 서버에 대응하거나 또는 이를 포함하는 경우, 네트워크 액세스 포트 (404) 및/또는 프로세서 (401) 는 제 1 사용자의 아이덴티티를 확인하기 위한 요청을 수신하도록 구성될 수도 있다. 예를 들어, 네트워크 액세스 포트들 (404) 은 네트워크 (407) 를 통해 요청을 수신할 수도 있고, 프로세서 (401) 는 네트워크 액세스 포트들 (404) 을 통해 요청을 수신할 수도 있다. 프로세서 (401) 는 또한, 제 1 사용자 디바이스와 연관된 사용자 상호작용들의 제 1 리스트 및 제 2 사용자 디바이스와 연관된 사용자 상호작용들의 제 2 리스트에 기초하여 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 디바이스의 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하도록 구성될 수도 있다. 프로세서 (401) 및/또는 네트워크 액세스 포트들 (404) 은 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있다고 결정하는 것에 기초하여 제 1 사용자의 아이덴티티를 확인하도록 구성될 수도 있다. 예를 들어, 프로세서 (401) 는 제 1 사용자의 아이덴티티를 확인할 수도 있고 네트워크 액세스 포트들 (404) 은 그 확인을 요청 엔티티에 전송할 수도 있다.
일반적으로, 전화기, 태블릿 컴퓨터, 랩톱 및 데스크톱 컴퓨터, 특정 수단 등과 같은 UE 들은, 로컬적으로 (예를 들어, 블루투스, 로컬 Wi-Fi 등) 또는 원격적으로 (예를 들어, 셀룰러 네트워크를 경유하여, 인터넷 등을 통하여) 서로 접속하도록 구성될 수 있다. 게다가 특정 UE 들은 또한, 디바이스들로 하여금 일대일 접속하는 것을 가능하게 하거나 또는 서로 직접 통신하기 위하여 여러 디바이스들을 포함하는 그룹에 동시에 접속하는 것을 가능하게 하는 특정 무선 네트워킹 기술들 (예를 들어, Wi-Fi, 블루투스, Wi-Fi 다이렉트 등) 을 이용한 근접 기반 피어-투-피어 (P2P) 통신을 지원할 수도 있다. 그 목적을 위하여, 도 5는, 발견가능한 P2P 서비스들을 지원할 수도 있는 예시적인 무선 통신 네트워크 또는 WAN (500) 을 예시한다. 예를 들어, 일 실시형태에서, 무선 통신 네트워크 (500) 는, 다양한 기지국들 (510) 및 다른 네트워크 엔티티들을 포함하는 LTE 네트워크 또는 또 다른 적합한 WAN 을 포함할 수도 있다. 간결성을 위하여, 3개의 기지국들 (510a, 510b 및 510c), 하나의 네트워크 제어기 (530), 및 하나의 DHCP (Dynamic Host Configuration Protocol) 서버 (540) 만이 도 5에 도시되어 있다. 기지국 (510) 은 디바이스들 (520) 과 통신하는 엔티티일 수도 있고 또한 Node B, 진화된 Node B (eNB), 액세스 포인트 등으로 지칭될 수도 있다. 각각의 기지국 (510) 은 특정 지리적 영역을 위한 통신 커버리지를 제공할 수도 있고 그 커버리지 영역 내에 위치된 디바이스들 (520) 을 위한 통신을 지원할 수도 있다. 네트워크 용량을 향상시키기 위하여, 기지국 (510) 의 전반적인 커버리지 영역은 다수의 (예를 들어, 3개의) 더 작은 영역들로 파티셔닝될 수도 있고, 여기서 각각의 더 작은 영역은 각각의 기지국 (510) 에 의해 서빙될 수도 있다. 3GPP 에서, 용어 "셀" 은 그 용어가 사용된 맥락에 따라, 기지국 (510) 의 커버리지 영역 및/또는 이 커버리지 영역을 서빙 (serving) 하는 기지국 서브시스템 (510) 을 지칭할 수 있다. 3GPP2 에서, 용어 "섹터" 또는 "셀-섹터" 는 기지국 (510) 의 커버리지 영역 및/또는 이 커버리지 영역을 서빙하는 기지국 서브시스템 (510) 을 지칭할 수 있다. 명료성을 위하여, "셀" 의 3GPP 개념이 본원의 설명에 사용될 수도 있다.
기지국 (510) 은 매크로 셀, 피코 셀, 펨토 셀, 및/또는 다른 셀 타입들을 위한 통신 커버리지를 제공할 수도 있다. 매크로 셀은, 상대적으로 큰 지리적 영역 (예를 들어, 반경 수 킬로미터) 를 커버할 수도 있고, 서비스 가입으로 디바이스들 (520) 에 의한 무제한적 액세스를 허용할 수도 있다. 피코 셀은, 상대적으로 작은 지리적 영역을 커버할 수도 있고, 서비스 가입으로 디바이스들 (520) 에 의한 무제한적 액세스를 허용할 수도 있다. 펨토 셀은, 상대적으로 작은 지리적 영역 (예를 들어, 가정) 을 커버할 수도 있고, 펨토 셀과 연관을 갖는 디바이스들 (520) (예를 들어, 폐쇄 가입자 그룹 (CSG) 에 있는 디바이스들 (520)) 에 의한 제한적 액세스를 허용할 수도 있다. 도 5에 도시된 예에서, 무선 네트워크 (500) 는 매크로 셀들을 위한 매크로 기지국들 (510a, 510b 및 510c) 을 포함한다. 무선 네트워크 (500) 는 또한, 피코 셀들을 위한 피코 기지국들 (510) 및/또는 펨토 셀들 (도 5에 미도시) 을 위한 홈 기지국들 (510) 을 포함할 수도 있다.
네트워크 제어기 (530) 는 기지국들 (510) 의 세트에 연결할 수도 있고 이들 기지국들 (510) 을 위한 조정 및 제어를 제공할 수도 있다. 네트워크 제어기 (530) 는 백홀을 통해 기지국들과 통신할 수 있는 네트워크 엔티티들의 집단, 또는 단일의 네트워크 엔티티일 수도 있다. 기지국들은 또한, 예를 들어 직접 또는 간접적으로 무선 또는 유선 백홀을 통해 서로 통신할 수도 있다. DHCP 서버 (540) 는, 후술되는 바처럼, P2P 통신을 지원할 수도 있다. DHCP 서버 (540) 는, 무선 네트워크 (500) 의 외부에 있는 무선 네트워크 (500) 의 부분일 수도 있거나, 인터넷 접속 공유 (ICS) 를 통해 실행될 수도 있거나, 또는 이들의 임의의 적합한 조합일 수도 있다. DHCP 서버 (540) 는 (예를 들어, 도 5에 도시된) 별개의 엔티티일 수도 있거나 또는 기지국 (510), 네트워크 제어기 (530) 또는 기타 엔티티의 부분일 수도 있다. 어느 경우든, DHCP 서버 (540) 는 피어-투-피어 통신하기를 희망하는 디바이스들 (520) 에 의해 도달가능할 수도 있다.
디바이스 (520) 들은 무선 네트워크 (500) 전체에 걸쳐 분산될 수도 있고, 각각의 디바이스 (520) 는 고정식 또는 이동식일 수도 있다. 디바이스 (520) 는 노드, 사용자 장비 (UE), 국, 이동국, 단말기, 액세스 단말기, 가입자 유닛 등으로 지칭될 수도 있다. 디바이스 (520) 는 셀룰러 폰, PDA (personal digital assistant), 무선 모뎀, 무선 통신 디바이스, 핸드헬드 디바이스, 랩톱 컴퓨터, 코드리스 폰, 무선 로컬 루프 (WLL) 국, 스마트폰, 넷북, 스마트북, 태블릿 등일 수도 있다. 디바이스 (520) 는 무선 네트워크 (500) 에서 기지국들 (510) 과 통신할 수도 있고 또한 다른 디바이스들 (520) 과 피어-투-피어 통신할 수도 있다. 예를 들어, 도 5에 도시된 바처럼, 디바이스들 (520a 및 520b) 은 피어-투-피어 통신할 수도 있고, 디바이스들 (520c 및 520d) 은 피어-투-피어 통신할 수도 있고, 디바이스들 (520e 및 520f) 은 피어-투-피어 통신할 수도 있고, 디바이스들 (520g, 520h, 및 520i) 은 피어-투-피어 통신할 수도 있는 한편, 남아있는 디바이스들 (520) 은 기지국들 (510) 과 통신할 수도 있다. 또한 도 5에 도시된 바처럼, 디바이스들 (520a, 520d, 520f, 및 520h) 는, P2P 통신에 관여되어 있지 않을 때 또는 가능하게는 P2P 통신과 동시에, 기지국들 (500) 과 통신할 수도 있다.
본원의 설명에서, WAN 통신은, 무선 네트워크 (500) 에서 디바이스 (520) 와 기지국 (510) 사이의, 예를 들어, 또 다른 디바이스 (520) 와 같은 원격 엔티티와의 호를 위한, 통신을 지칭할 수도 있다. WAN 디바이스는, WAN 통신에 관계가 있거나 또는 관여된 디바이스 (520) 이다. P2P 통신은, 기지국 (510) 을 거치지 않는, 2개 이상의 디바이스들 (520) 사이의 직접 통신을 지칭한다. P2P 디바이스는, P2P 통신에 관계가 있거나 또는 관여된 디바이스 (520), 예를 들어, P2P 디바이스에 근접한 또 다른 디바이스 (520) 를 위한 트래픽 데이터를 갖는 디바이스 (520) 이다. 2개의 디바이스들은, 예를 들어, 각각의 디바이스 (520) 가 다른 디바이스 (520) 를 검출할 수 있다면, 서로 근접한 것으로 고려될 수도 있다. 일반적으로, 디바이스 (520) 는 WAN 통신을 위한 적어도 하나의 기지국 (510) 을 경유하여 또는 P2P 통신을 위해 직접 또 다른 디바이스 (520) 와 통신할 수도 있다.
일 실시형태에서, P2P 디바이스들 (520) 사이의 직접 통신은 P2P 그룹들로 조직될 수도 있다. 보다 구체적으로, P2P 그룹은 일반적으로 P2P 통신에 관계되거나 관여된 2개 이상의 디바이스들 (520) 의 그룹을 지칭하고 P2P 링크는 P2P 그룹을 위한 통신 링크를 지칭한다. 게다가, 일 실시형태에서, P2P 그룹은 P2P 그룹 소유자 (또는 P2P 서버) 로 지정된 하나의 디바이스 (520) 및 P2P 그룹 소유자에 의해 서빙되는 P2P 클라이언트들로 지정되는 하나 이상의 디바이스들 (520) 을 포함할 수도 있다. P2P 그룹 소유자는 WAN 과 시그널링을 교환하는 것, P2P 그룹 소유자와 P2P 클라이언트들 사이의 데이터 송신을 조정하는 것 등과 같은 특정 관리 기능들을 수행할 수도 있다. 예를 들어, 도 5에 도시된 바처럼, 제 1 P2P 그룹은 기지국 (510a) 의 커버리지 하에 디바이스들 (520a 및 520b) 을 포함하고, 제 2 P2P 그룹은 기지국 (510b) 의 커버리지 하에 디바이스들 (520c 및 520d) 을 포함하고, 제 3 P2P 그룹은 상이한 기지국들 (510b 및 510c) 의 커버리지 하에 디바이스들 (520e 및 520f) 을 포함하고, 제 4 P2P 그룹은 기지국 (510c) 의 커버리지 하에 디바이스들 (520g, 520h 및 520i) 을 포함한다. 디바이스들 (520a, 520d, 520f, 및 520h) 은 그들 각각의 P2P 그룹들에 대한 P2P 그룹 소유자들일 수도 있고 디바이스들 (520b, 520c, 520e, 520g, 및 520i) 은 그들 각각의 P2P 그룹들에서 P2P 클라이언트들일 수도 있다. 도 5에 있는 다른 디바이스들 (520) 은 WAN 통신에 관여될 수도 있다.
일 실시형태에서, P2P 통신은 P2P 그룹 내에서만 일어날 수도 있고 또한, P2P 그룹 소유자와 그에 연관된 P2P 클라이언트 사이에서만 일어날 수도 있다. 예를 들어, 동일한 P2P 그룹내의 2개의 P2P 클라이언트들 (예를 들어, 디바이스들 (520g 및 520i)) 이 정보를 교환하고자 원하는 경우, P2P 클라이언트들 중의 하나가 정보를 P2P 그룹 소유자 (예를 들어, 디바이스 (520h)) 에 전송할 수도 있고, 다음으로 P2P 그룹 소유자는 다른 하나의 P2P 클라이언트에 송신을 중계할 수도 있다. 일 실시형태에서, 특정 디바이스 (520) 는 다수의 P2P 그룹들에 속할 수도 있고 각각의 P2P 그룹에서 P2P 그룹 소유자 또는 P2P 클라이언트 중 어느 하나로서 거동할 수도 있다. 게다가, 일 실시형태에서, 특정 P2P 클라이언트는 하나의 P2P 그룹에만 속하거나 또는 다수의 P2P 그룹에 속하고 임의의 특정 순간에 다수의 P2P 그룹들 중의 어느 것에서 P2P 디바이스들 (520) 과 통신할 수도 있다. 일반적으로, 통신은 다운링크 및 업링크 상의 송신들을 통해 가능해질 수도 있다. WAN 통신에 대해, 다운링크 (또는 순방향 링크) 는 기지국 (510) 으로부터 디바이스 (520) 로의 통신 링크를 지칭하고, 업링크 (또는 역방향 링크) 는 디바이스 (520) 로부터 기지국 (510) 으로의 통신 링크를 지칭한다. P2P 통신에 대해, P2P 다운링크는 P2P 그룹 소유자로부터 P2P 클라이언트로의 통신 링크를 지칭하고 P2P 업링크는 P2P 클라이언트로부터 P2P 그룹 소유자로의 통신 링크를 지칭한다. 특정 실시형태들에서, P2P 통신하기 위하여 WAN 기술들을 이용하기 보다는, 2개 이상의 디바이스들이 더 작은 P2P 그룹들을 형성하고 Wi-Fi, 블루투스, 또는 Wi-Fi 다이렉트와 같은 기술들을 이용하여 무선 로컬 영역 네트워크 (WLAN) 상에서 P2P 통신할 수도 있다. 예를 들어, Wi-Fi, 블루투스, Wi-Fi 다이렉트 또는 다른 WLAN 기술들을 이용한 P2P 통신은 2개 이상의 이동 전화기, 게임 콘솔, 랩톱 컴퓨터, 또는 다른 적합한 통신 엔티티들 사이에 P2P 통신을 가능하게 할 수도 있다.
본 개시의 일 양태에 따르면, 도 6은, 다양한 디바이스들 (610, 630, 640) 이 통신할 수도 있는 근접 기반 분산형 버스를 확립하기 위하여 발견가능한 P2P 서비스들이 사용될 수도 있는 예시적인 환경 (600) 을 예시한다. 예를 들어, 일 실시형태에서, 단일 플랫폼 상에서 애플리케이션들과 이와 유사한 것 사이의 통신은, 분산형 버스 (625) 상에서 인터프로세스 통신 프로토콜 (IPC) 프레임워크를 이용하여 가능해질 수도 있고, 그 분산형 버스 (625) 는, 애플리케이션들이 분산형 버스 (625) 에 등록하여 서비스들을 다른 애플리케이션들에 제공하고 다른 애플리케이션들이 등록된 애플리케이션들에 관한 정보를 위해 분산형 버스 (625) 에 질의하는 네트워크형 컴퓨팅 환경에서 애플리케이션-대-애플리케이션 통신을 가능하게 하는데 사용되는 소프트웨어 버스를 포함할 수도 있다. 그러한 프로토콜은 비동기식 통지 및 원격 프로시저 호출 (RPC) 을 제공할 수도 있고 여기서 신호 메시지 (예를 들어, 통지) 는 점대점 또는 브로드캐스트일 수도 있고, 메소드 호출 메시지들 (예를 들어, RPC) 은 동기식 또는 비동기식일 수도 있고, 분산형 버스 (625) (예를 들어, "데몬" (daemon) 버스 프로세스) 는 다양한 디바이스들 (610, 630, 640) 사이의 메시지 라우팅을 핸들링할 수도 있다.
일 실시형태에서, 분산형 버스 (625) 는 다양한 전송 프로토콜들 (예를 들어, 블루투스, TCP/IP, Wi-Fi, CDMA, GPRS, UMTS 등) 에 의해 지원될 수도 있다. 예를 들어, 일 양태에 따르면, 제 1 디바이스 (610) 는 분산형 버스 노드 (612) 및 하나 이상의 로컬 엔드포인트들 (614) 을 포함할 수도 있고, 여기서 분산형 버스 노드 (612) 는, 제 1 디바이스 (610) 와 연관된 로컬 엔드포인트 (614) 와 제 2 디바이스 (630) 및 제 3 디바이스 (640) 와 연관된 로컬 엔드포인트들 (634 및 644) 사이의 통신을, 분산형 버스 (625) 를 통해 (예를 들어, 제 2 디바이스 (630) 및 제 3 디바이스 (640) 상의 분산형 버스 노드들 (632 및 642) 을 경유하여) 가능하게 할 수도 있다. 도 7을 참조하여 아래에서 더 자세하게 설명되는 바처럼, 분산형 버스 (625) 는 대칭적 다중-디바이스 네트워크 토폴로지를 지원할 수도 있고 디바이스 드롭스 아웃 (drops-out) 의 존재시 강건한 동작 (robust operation) 을 제공할 수도 있다. 그래서, 일반적으로 하위 전송 프로토콜 (underlying transport protocol) (예를 들어, 블루투스, TCP/IP, Wi-Fi 등) 으로부터 독립될 수도 있는, 가상 분산형 버스 (625) 는 비보안 (예를 들어, 개방) 내지 보안 (예를 들어, 인증 및 암호화) 의 다양한 보안 옵션들을 허용할 수도 있고, 여기서 다양한 디바이스들 (610, 630, 640) 이 서로의 레인지 내에 오거나 또는 근접할 때 개입 없이 제 1 디바이스 (610), 제 2 디바이스 (630), 및 제 3 디바이스 (640) 중에서 자발적인 접속을 가능하게 하면서 보안 옵션들이 사용될 수 있다.
본 개시의 일 양태에 따르면, 도 7은, 제 1 디바이스 ("디바이스 A") (710) 및 제 2 디바이스 ("디바이스 B") (730) 가 통신할 수도 있는 근접 기반 분산형 버스를 확립하기 위하여 발견가능한 P2P 서비스들이 사용될 수도 있는 예시적인 메시지 시퀀스 (700) 를 예시한다. 일반적으로, 디바이스 A (710) 는 디바이스 B (730) 와 통신하는 것을 요청할 수도 있고, 여기서 디바이스 A (710) 는, 그러한 통신을 가능하게 하는 것을 도울 수도 있는 버스 노드 (712) 에 추가하여 통신하는 것을 요청할 수도 있는 로컬 엔드포인트 (714) (예를 들어, 로컬 애플리케이션, 서비스 등) 을 포함할 수도 있다. 또한, 디바이스 B (730) 는, 디바이스 A (710) 상의 로컬 엔드포인트 (714) 와 디바이스 B (730) 상의 로컬 엔드포인트 (734) 사이의 통신을 가능하게 하는 것을 도울 수도 있는 버스 노드 (732) 에 추가하여 로컬 엔드포인트 (714) 가 통신하는 것을 시도할 수도 있는 로컬 엔드포인트 (734) 를 포함할 수도 있다.
일 실시형태에서, 버스 노드들 (712 및 732) 은 메시지 시퀀스 스텝 (754) 에서 적합한 발견 메카니즘을 수행할 수도 있다. 예를 들어, 블루투스, TCP/IP, UNIX 등에 의해 지원되는 접속들을 발견하기 위한 메카니즘들이 사용될 수도 있다. 메시지 시퀀스 스텝 (756) 에서, 디바이스 A (710) 상의 로컬 엔드포인트 (714) 는, 버스 노드 (712) 를 통해 이용가능한, 엔티티, 서비스, 엔드포인트 등에 접속하는 것을 요청할 수도 있다. 일 실시형태에서, 요청은 로컬 엔드포인트 (714) 와 버스 노드 (712) 사이의 요청 및 응답 프로세스를 포함할 수도 있다. 메시지 시퀀스 스텝 (758) 에서, 분산형 메시지 버스는, 버스 노드 (712) 를 버스 노드 (732) 에 접속시켜 디바이스 A (710) 와 디바이스 B (730) 사이의 P2P 접속을 확립하도록 형성될 수도 있다. 일 실시형태에서, 버스 노드들 (712 및 732) 간의 분산형 버스를 형성하기 위한 통신은, 적합한 근접 기반 P2P 프로토콜 (예를 들어, 근접 네트워크들을 동적으로 창출하고 근접 P2P 통신을 가능하게 하기 위하여 상이한 제조업자들로부터의 접속 제품 및 소프트웨어 애플리케이션들 중에서 연동성을 가능하게 하도록 설계된 AllJoyn 소프트웨어 프레임워크) 을 이용하여 가능해질 수도 있다. 대안적으로, 일 실시형태에서, 서버 (미도시) 는 버스 노드들 (712 및 732) 간의 접속을 가능하게 할 수도 있다. 게다가, 일 실시형태에서, 적합한 인증 메카니즘이 버스 노드들 (712 및 732) 사이의 접속 (예를 들어, 인증 대화를 개시하기 위한 인증 커맨드를 클라이언트가 전송할 수도 있는 SASL 인증) 을 형성하기 전에 사용될 수도 있다. 또한, 메시지 시퀀스 스텝 (758) 동안, 버스 노드들 (712 및 732) 은 다른 이용가능한 엔드포인트들 (예를 들어, 도 6에 있는 디바이스 C (640) 상의 로컬 엔드포인트들 (644)) 에 관한 정보를 교환할 수도 있다. 그러한 실시형태들에서, 버스 노드가 유지하는 각각의 로컬 엔드포인트는 다른 버스 노드들에 광고될 수도 있고, 여기서 광고 (advertisement) 는 고유 엔드포인트 이름, 전송 타입, 접속 파라미터, 또는 다른 적합한 정보를 포함할 수도 있다.
일 실시형태에서, 메시지 시퀀스 스텝 (760) 에서, 버스 노드 (712) 및 버스 노드 (732) 는 각각, 로컬 엔드포인트들 (734 및 714) 과 연관된 획득된 정보를 사용하여, 다양한 버스 노드들을 통해 이용가능한 실제 획득된 엔드포인트들을 나타낼 수도 있는 가상 엔드포인트들을 창출할 수도 있다. 일 실시형태에서, 버스 노드 (712) 상의 메시지 라우팅은 메시지들을 전달하기 위하여 실제 및 가상 엔드포인트들을 사용할 수도 있다. 또한, 원격 디바이스들 (예를 들어, 디바이스 A (710)) 상에 존재하는 모든 엔드포인트에 대해 하나의 로컬 가상 엔드포인트가 있을 수도 있다. 또한, 그러한 가상 엔드포인트들은 분산형 버스 (예를 들어, 버스 노드 (712) 와 버스 노드 (732) 사이의 접속) 상에서 전송되는 메시지들을 멀티플렉싱 및/또는 디-멀티플렉싱할 수도 있다. 일 양태에서, 가상 엔드포인트들은, 실제 엔드포인트들과 같이, 로컬 버스 노드 (712 또는 732) 로부터 메시지들을 수신할 수도 있고, 분산형 버스를 통해 메시지들을 포워딩할 수도 있다. 그래서, 가상 엔드포인트들은 엔드포인트 멀티플렉싱된 분산형 버스 접속으로부터 메시지들을 로컬 버스 노드들 (712 및 732) 에 포워딩할 수도 있다. 게다가, 일 실시형태에서, 원격 디바이스 상의 가상 엔드포인트들에 대응하는 가상 엔드포인트들은 특정 전송 타입들의 바람직한 토폴로지를 수용하기 위하여 임의의 시간에 재접속될 수도 있다. 그러한 양태에서, UNIX 기반 가상 엔드포인트들은 로컬인 것으로 고려될 수도 있고 그래서 재접속을 위한 후보로 고려되지 않을 수도 있다. 또한, TCP 기반 가상 엔드포인트들은 하나의 홉 라우팅 (hop routing) 을 위해 최적화될 수도 있다 (예를 들어, 각각의 버스 노드 (712 및 732) 는 직접 서로 접속될 수도 있다). 또한, 블루투스 기반 가상 엔드포인트들은 단일 피코 넷 (예를 들어, 하나의 마스터 및 n개 슬레이브들) 을 위해 최적화될 수도 있고, 여기서 블루투스 기반 마스터는 로컬 마스터 노드와 동일한 버스 노드일 수도 있다.
메시지 시퀀스 스텝 (762) 에서, 버스 노드 (712) 및 버스 노드 (732) 는 버스 인스턴스 (bus instance) 들을 병합하고 분산형 버스 상의 통신을 가능하게 하기 위해 버스 상태 정보를 교환할 수도 있다. 예를 들어, 일 실시형태에서, 버스 상태 정보는, 고유 엔드포인트 이름 맵핑, 매칭 규칙, 라우팅 그룹, 또는 다른 적합한 정보로 주지된 것을 포함할 수도 있다. 일 실시형태에서, 상태 정보는, 분산형 버스 기반 로컬 이름을 이용하여 통신하는 로컬 엔드포인트들 (714 및 734) 과의 인터페이스를 이용하여 버스 노드 (712) 와 버스 노드 (732) 인스턴스들 사이에서 통신될 수도 있다. 또 다른 양태에서, 버스 노드 (712) 및 버스 노드 (732) 는 각각, 분산형 버스에 피드백을 제공하는 것을 담당하는 로컬 버스 제어기를 유지할 수도 있고, 여기서 버스 제어기는 전체 메소드 (method), 오그먼트 (argument), 신호 및 다른 정보를 분산형 버스와 연관된 표준들로 번역 (translate) 할 수도 있다. 메시지 시퀀스 스텝 (764) 에서, 버스 노드 (712) 및 버스 노드 (732) 는, 상술된 바와 같이, 버스 노드 접속들 동안 도입된 임의의 변화에 관하여 각각의 로컬 엔드포인트들 (714 및 734) 을 알리기 위하여 신호들을 통신 (예를 들어, 브로드캐스팅) 할 수도 있다. 일 실시형태에서, 새로운 및/또는 제거된 전체 및/또는 번역된 이름들은 이름 소유자 변화된 신호들로 표시될 수도 있다. 게다가, 로컬적으로 (예를 들어, 이름 충돌에 기인하여) 손실될 수도 있는 전체 이름들은 이름 손실 신호들로 표시될 수도 있다. 또한, 이름 충돌에 기인하여 전환되는 전체 이름들은 이름 소유자 변화된 신호들로 표시될 수도 있고 버스 노드 (712) 및 버스 노드 (732) 가 접속해제될 때 및/또는 접속해제 되면 사라지는 고유 이름들은 이름 소유자 변화된 신호들로 표시될 수도 있다.
위에서 사용된 바처럼, 주지된 이름들이 로컬 엔드포인트들 (714 및 734) 을 고유하게 기술하는데 사용될 수도 있다. 일 실시형태에서, 디바이스 A (710) 와 디바이스 B (730) 사이에서 통신이 일어날 때, 상이한 잘 알려진 이름 타입들이 사용될 수도 있다. 예를 들어, 디바이스 로컬 이름은, 버스 노드 (712) 가 직접 어태치 (attach) 되는 디바이스 A (710) 와 연관된 버스 노드 (712) 상에만 존재할 수도 있다. 또 다른 예에서, 전체 이름은 모든 알려진 버스 노드들 (712 및 732) 상에 존재할 수도 있고, 여기서 이름의 하나의 소유자만이 모든 버스 세그먼트들에 존재할 수도 있다. 즉, 버스 노드 (712) 및 버스 노드 (732) 가 이어지고 임의의 충돌이 일어날 때, 소유자들 중의 하나는 전체 이름을 잃을 수도 있다. 또 다른 예에서, 클라이언트가 가상 버스와 연관된 다른 버스 노드들에 접속될 때 번역된 이름이 사용될 수도 있다. 그러한 양태에서, 번역된 이름은 부속된 엔드를 포함할 수도 있다 (예를 들어, 전체 고유 식별자 “1234” 를 갖는 분산형 버스에 접속된 주지된 이름 “org.foo” 를 갖는 로컬 엔드포인트 (714) 는 “G1234.org.foo” 처럼 보여질 수도 있다).
메시지 시퀀스 스텝 (766) 에서, 버스 노드 (712) 및 버스 노드 (732) 는 엔드포인트 버스 토폴로지에 대한 변화를 다른 버스 노드들에 알리기 위하여 신호들을 통신 (예를 들어, 브로드캐스팅) 할 수도 있다. 그후에, 로컬 엔드포인트 (714) 로부터의 트래픽은 디바이스 B (730) 상의 의도된 로컬 엔드포인트 (734) 에 도달하기 위하여 가상 엔드포인트들을 통해 이동할 수도 있다. 또한, 동작시, 로컬 엔드포인트 (714) 와 로컬 엔드포인트 (734) 사이의 통신들은 라우팅 그룹들을 사용할 수도 있다. 일 양태에서, 라우팅 그룹들은 엔드포인트들이 신호, 메소드 호출, 또는 다른 적합한 정보를 엔드포인트들의 서브세트로부터 수신하는 것을 가능하게 할 수도 있다. 그래서, 라우팅 이름은 버스 노드 (712 또는 732) 에 접속된 애플리케이션에 의해 결정될 수도 있다. 예를 들어, P2P 애플리케이션은 애플리케이션에 내장된 고유, 주지된 라우팅 그룹 이름을 사용할 수도 있다. 또한, 버스 노드들 (712 및 732) 는 라우팅 그룹들에 대한 로컬 엔드포인트들 (714 및 734) 의 등록 및/또는 등록 해제를 지원할 수도 있다. 일 실시형태에서, 라우팅 그룹들은 현재 버스 인스턴스를 넘어 지속성을 갖지 않을 수도 있다. 또 다른 양태에서, 애플리케이션들은, 그것들이 분산형 버스에 접속할 때마다 바람직한 라우팅 그룹들에 대해 등록할 수도 있다. 또한, 그룹들은 개방 (예를 들어, 임의의 엔드포인트가 참여할 수 있거나) 또는 폐쇄 (예를 들어, 그룹의 창설자만이 그룹을 수정할 수 있다) 형일 수도 있다. 또한, 버스 노드 (712 또는 732) 는 다른 원격 버스 노드 또는 부가, 삭제 또는 다른 변화들을 라우팅 그룹 엔드포인트들에 알리기 위해 신호를 전송할 수도 있다. 그러한 실시형태들에서, 버스 노드 (712 또는 732) 는, 멤버가 추가 및/또는 그룹으로부터 제거될 때마다 라우팅 그룹 변화 신호를 다른 그룹 멤버들에게 전송할 수도 있다. 또한, 버스 노드 (712 또는 732) 는, 분산형 버스로부터 접속 해제하는 엔드포인트들에, 라우팅 그룹으로부터 그들을 먼저 제거함이 없이, 라우팅 그룹 변화 신호를 전송할 수도 있다.
원격 서버 (예를 들어, 인터넷을 통해 액세스가능한 서버) 에 저장된 사용자 정보의 보안 및 프라이버시를 보호하기 위해, 원격 서버는 사용자가 정보에 액세스하도록 인가되는지 여부를 결정할 것이다. 유사하게, 원격 서버의 지원에서 또는 지원으로, 계좌 이체를 하는 것과 같은, 일부 행위를 사용자가 수행하기 위하여, 원격 서버는 사용자가 행위를 수행하도록 인가되는지 여부를 결정할 것이다. 통상적으로, 사용자가 정보에 액세스하거나 또는 액션을 수행하도록 인가되는지 여부를 결정하는 것은 사용자가 그가 누구라고 말한 사람인지 인증하는 일부 방법을 포함한다. 즉, 원격 서버는 사용자가 사용자 정보 또는 은행 계좌의 소유자라는 것을 검증 (인증) 할 수 있으면, 사용자는 정보에 액세스하거나 또는 계좌 이체를 하도록 허용 (인가) 된다.
클라이언트-서버 사용자 인증은 통상적으로, 클라이언트 및 서버에만 알려진 고유 키를 사용하여 수행된다. 그러나, 이것은, 매우 제한적인 시스템이 될 수 있는데, 왜냐하면 키가 악의적인 제 3 자에 알려지게 되면, 그것은 더 이상 안전하지 않기 때문이다. 추가적으로, 사용자는 사용자가 로그온하고 싶어하는 각각의 웹사이트 및/또는 애플리케이션에 대해 다수의 "사용자이름" 및 "비밀번호" 조합들을 기억해야 할 수도 있다.
리소스에 액세스하기 위한 묵시적 인증이 또한, 물리적 근접에 기초하여 수여될 수 있다. 사용자 디바이스는, 리소스에 대한 액세스를 제어, 관리, 또는 그렇지 않으면 인가하는 사용자 디바이스에 대한 물리적 근접에 기초하여 리소스에 액세스하도록 인가될 수 있다. 예를 들어, 서로 근접한 2개의 피어 디바이스들을 고려하면, 하나의 피어 디바이스가 리소스에 대한 액세스를 제어하는 경우, 다른 하나의 피어 디바이스가 제 1 피어 디바이스에 근접하다는 사실은 다른 하나의 피어 디바이스가 리소스에 액세스하도록 인가된다는 것을 의미할 수 있다. 즉, 제 1 피어 디바이스가 제 2 피어 디바이스로 하여금 그것에 접근하는 것을 허락한다는 사실은 피어 디바이스들 사이의 관계를 표시할 수 있고 제 2 피어 디바이스가 제 1 피어 디바이스에 의해 제어되는 리소스에 액세스하도록 인가된다는 것을 의미할 수 있다.
물리적 근접은, 근접 체크, 이를테면 LILO (Listen Location) 근접 체크, 블루투스 페어링, 동일 로컬 무선 네트워크 상의 통신, 또는 물리적으로 서로 근접한 것을 표시하는 2개 UE들 사이의 임의의 다른 상호작용에 의해 결정될 수도 있다.
하지만, 리소스에 대한 액세스를 인가하기 위하여 단독으로 근접을 이용하는 것은, 사용자의 가정과 같은 특정 장소에서만 적절하다. 그래서, 또 다른 사용자 디바이스에게 리소스에 대한 액세스를 수여하기 전에, 인증하는 사용자 디바이스는 다른 사용자 디바이스가 그러한 장소에 있는지 여부를 결정해야 한다. 예를 들어, 사용자는 어느 위치들에서 다른 사용자 디바이스들이 그들의 근접 때문에 리소스들에 대한 액세스가 허락되는지를 정의할 수도 있다.
일 양태에서, 인증의 타입은 리소스의 타입에 의존할 수도 있다. 예를 들어, 방문자의 사용자 디바이스가 집주인의 사용자 디바이스에 근접할 때 방문자의 사용자 디바이스에게 집주인의 스테레오 시스템에 대한 완전한 액세스가 수여될 수도 있다. 하지만, 여하한 일이 있어도 방문자의 사용자 디바이스에게 그들의 근접에만 기초하여 집주인의 은행 계좌에 대한 액세스가 수여되어서는 안된다. 오히려, 집주인은 어떤 리소스들에 액세스하기 위하여 추가적인 허락을 수여할 필요가 있을 수도 있다.
근접은 또한, 근접 체크를 통해 검출될 수 있는 사용자 디바이스들 뿐만 아니라, 동일한 물리적 경계 내의 사용자 디바이스들을 포함할 수도 있다. 예를 들어, 방문자의 사용자 디바이스에게 또 다른 사용자의 가정에 대한 액세스가 수여되었다면, 방문자의 사용자 디바이스가 집주인의 사용자 디바이스에 근접하지 않더라도, 그것은 전체 집안에 있는 임의의 디바이스에 "근위" (proximal) 인 것으로 고려될 수도 있고, 따라서, 전체 집안에 있는 임의의 디바이스에 대한 액세스를 가질 수도 있다.
따라서, 허락들은, 사용자 디바이스가 임의의 이용가능한 리소스들에 액세스하도록 인가되는 도메인들을 정의할 수 있다. 즉, 사용자 디바이스가 사용자의 집과 같은 특정 도메인 내에 있으면, 추가 인증은 불필요하다. 그 도메인은 물리적 근접에 의해 (예를 들어, 근접 체크 또는 동일한 물리적 경계 내), 액세스에 의해 (예를 들어, 일부 인증 체크에 기초하여), 및/또는 가상 근접에 의해 정의될 수 있다.
가상 근접은, 현재 서로 물리적으로 근접한 사용자 디바이스들뿐만 아니라, 기간 (period of time) 에 걸친 다수의 사용자 디바이스들간의 상호작용들을 포함할 수 있다. 대부분의 사용자들은, 매일 동안에 다수의 피어들에 근접한다. 인증 시스템을 위한 기초로서 이들 상호작용들 (또는 가상 근접) 을 활용하는 것은 인증 프로세스를 분산시킴으로써, 그것을 더 보안적으로 만든다.
제안된 인증 시스템에서 UE 들은 다른 UE들과의 상호작용들, 이를테면 근접 검출, 문자 메시지, 멀티미디어 메시지, 전화 통화, 이메일 등을 추적한다. 상술된 바처럼, 근접 검출은, 근접 체크, 이를테면 LILO 근접 체크, 블루투스 페어링, 동일 로컬 무선 네트워크 상의 통신, 또는 서로 근접한 것을 표시하는 2개 UE들 사이의 임의의 다른 상호작용을 포함할 수도 있다. 피어 관계들은 또한, GPS 위성들과의 UE 상호작용들로부터 결정될 수 있다.
사용자/UE 는 많은 상이한 UE 들과 상호작용할 수도 있다. 이들 다른 UE 들은, 예를 들어, 사용자의 가족 구성원, 동료, 룸메이트, 친구 또는 지인에 속할 수도 있다. 대안적으로, 다른 UE들은 사용자에 속하는 사물 인터넷 (IoT) 디바이스들, 이를테면, 사용자의 냉장고, 세탁기, 식기 세척기, 온도 조절 장치 등을 포함할 수도 있다. 이들 다른 UE들과의 상호작용에 기초하여, UE 는 사용자 상호작용 테이블 (user interaction table) 을 구축할 수 있다.
네트워크 상의 각각의 UE 는 사용자 상호작용 테이블을 저장할 수도 있고 그의 사용자 상호작용 테이블을 요청시 또는 주기적으로, 이를테면 하루에 한번 서버에 업로드할 수 있다. 서버는, 시스템에서 각각의 UE 에 대한 사용자 상호작용 테이블을 저장하기 위한 데이터베이스를 포함할 수 있다. 대안적으로, UE 가 그의 상호작용 테이블을 저장하는 대신에, 상호작용들은, 그것들이 실시간으로 일어날 때 서버에 업로드될 수 있고 UE 에 대응하는 서버 상의 상호작용 테이블에 추가될 수 있다.
일 실시형태에서, 서버는 서드 파티 서버에 로그온하는 사용자/UE 의 아이덴티티를 검증 (즉, 인증) 하기 위하여 이들 사용자 상호작용 테이블을 교차참조 (cross-reference) 할 수 있다. 이 시스템은 전적으로 백그라운드에서 작동하여, 사용자들로 하여금 다른 현장 (venue) 들에서 그들의 시간을 최대한 활용할 수 있게 할 수 있다. 추가적으로, 그것은 사용자들이 각각의 로그온 요청에 대해 사용자 이름 및 비밀번호를 기억하고 타이핑할 필요를 없애줄 수 있다.
제안된 인증 시스템의 예의 동작으로서, Sarah 라는 이름의 사용자가 그녀의 은행의 웹사이트에 로그온하기 희망할 수도 있다. 따라서, 그녀의 스마트폰 상의 클라이언트는 인증 서버에 요청을 전송한다. 인증 서버는 Sarah 의 사용자 상호작용 테이블을 10개의 가장 최근의 상호작용들에 대해 검색한다. Sarah 의 가장 최근의 상호작용들은, 예를 들어, 사용자들 Jane, Mark, Jill, Bill, Dan, Tara, Frank, 및 Ray 였을 수도 있다.
인증 서버는 Jane, Mark, Jill, Bill, Dan, Tara, Frank, 및 Ray 에 대한 사용자 상호작용 테이블들을 Sarah의 사용자 상호작용 테이블에 교차참조한다. 인증 서버는 Sarah 가 예를 들어, Jane, Jill, 및 Ray 과, 그들의 저장된 사용자 상호작용 테이블들에 기초하여 상호작용했다는 것을 검증할 수 있다.
인증 서버는 또한, 남아있는 피어들, 즉 Mark, Bill, Tara, Frank, 및 Dan 의 각각에 대한 사용자 상호작용 테이블들을 교차참조하는 것을 시도한다. 이 예에서, Mark 가 그의 폰을 꺼놨으므로 인증 서버는 그의 사용자 상호작용 테이블을 취출할 수 없다 (이 경우, Mark 의 상호작용 테이블은 서버보다는 그의 폰에 저장될 수도 있거나, 또는 서버 상의 버전이, 교차참조되는 상호작용보다 더 오래된 것일 수도 있다). 하지만, 인증 서버가 사용자 상호작용 테이블들에 기초하여 지난 10 개 피어 상호작용들 중의 5개를 검증할 수 있으면, 그것은 은행 웹사이트로의 Sarah 의 로그온 요청을 인증할 것이다. 그것이 그녀를 인증하면, Sarah 는 사용자이름 및 비밀번호를 기억해야 함이 없이, 그녀의 은행 웹사이트에 로그온될 것이다.
이제 사용자 상호작용 테이블들을 더 자세히 언급하면, 사용자 상호작용 테이블들은 그들이 대응하는 UE 들의 식별자들에 의해 조직될 수 있다. 사용자 상호작용 테이블은 사용자/UE 의 식별자, 다른 사용자/UE, 상호작용의 타입 (예를 들어, 근접, 이메일, 문자 메시지, 전화 통화 등), 상호작용의 시간 (예를 들어, 상호작용이 시작/종료된 시간), 및/또는 상호작용의 지속시간을 저장할 수 있다. 사용자 상호작용 테이블은 각각의 UE 에 대한 모든 상호작용들 또는 특정 수의 상호작용들만, 이를테면 지난 10개의 상호작용들 또는 지난 이틀간의 모든 상호작용들을 저장할 수도 있다.
테이블 1은 본 개시의 실시형태에 따른 예시적인 사용자 상호작용 테이블을 예시한다.
Figure pct00001
비록 테이블 1은 타임스탬프를 시간만으로 예시하지만, 그것은 또한 상호작용의 날짜를 포함할 수도 있다.
도 8은 본 개시의 실시형태에 따른 예시적인 인증 시스템 (800) 을 예시한다. 시스템 (800) 은, 인증하는 UE (810), 인증 서버 (820), 서드 파티 서버 (830), 및 UE (810) 가 상호작용한 다수의 UE들 (840) 을 포함한다. UE (810) 는, 인증 서버 (820) 와 통신할 수 있고 서드 파티 서버 (830), 이를테면 UE (200A/200B) 에 로그온할 수 있는 임의의 사용자 디바이스일 수도 있다. UE들 (840) 은, 다른 사용자들에게 속하는 사용자 디바이스, 또는 UE (810) 의 사용자에 속하는 사용자 디바이스들, 이를테면 사용자에게 속하는 IoT 디바이스들일 수도 있다. UE들 (840) 은, UE (810) 의 근접을 검출하는 것 및 인증 서버 (820) 와 통신하는 것과 같은 UE (810) 와 상호작용할 수 있는 임의의 디바이스일 수도 있다.
도 8 에서, 인증 서버 (820) 및 서드 파티 서버 (830) 가 2개의 별개의 엔티티들로서 예시되어 있다. 그러한 상황에서, 인증 서버 (820) 는 서드 파티 서버 (830) 를 포함하는, 다수의 서드 파티 서버들을 위해 사용자들을 인증할 수도 있다. 하지만, 인증 서버 (820) 는 대안적으로, 서드 파티 서버 (830) 에 상주할 수도 있다. 즉, 복수의 서드 파티 서버들을 위해 사용자들을 인증할 수 있는 별도의 인증 서버가 있기 보다는, 서드 파티 서버 (830) 가 사용자들을 인증할 수도 있다. 인증 서버 (820) 는, 도 4에서의 서버 (400) 와 같은 본원에 기재된 기능을 수행하도록 구성된 임의의 서버일 수도 있다.
인증 서버 (820) 는, UE (810) 및 UE들 (840) 을 포함하는, 네트워크에서 각각의 사용자/UE에 대한 사용자 상호작용 테이블들을 저장할 수 있다. UE (810) 는 어떤 시점에 UE들 (840) 의 각각과 상호작용했을 수도 있다. 각각의 사용자는 그 또는 그녀가 그 또는 그녀의 각각의 사용자 상호작용 테이블이 어떻게 저장되기를 원하는 지를 결정할 수도 있다. 예를 들어, 어떤 사용자들은 그것을 그들의 UE 에 저장하고 인증 서버 (820) 가 그것을 요청하거나, 또는 필요에 따라, 필요한 엔티티들만이 하기를 원할 수도 있지만, 다른 사용자들은 그들의 상호작용들을 인증 서버 (820) 에 저장된 그들의 사용자 상호작용 테이블들에 단순히 업로드하기를 원할 수도 있다.
일 실시형태에서, 사용자는, 사용자의 UE (810) 를 경유하여, 예를 들어, 이메일 서버 또는 은행 서버일 수도 있는 서드 파티 서버 (830) 에 로그온하기를 원할 때, UE (810) 는 인증 요청을 인증 서버 (820) 에 전송한다. 인증 요청은, UE (810) 에 대한 상호작용 테이블을 포함할 수도 있거나, 또는 UE (810) 에 대한 상호작용 테이블이 뒤따를 수도 있다. 대안적으로, 인증 서버 (820) 는, UE (810) 에 대응하는 사용자 상호작용 테이블을 취출할 수도 있다. 위에 설명된 바처럼, 사용자 상호작용 테이블은 UE (810) 가 UE들 (840) 과 가졌던 상호작용들 및 그러한 상호작용들의 시간을 저장할 수도 있다. 사용자 상호작용 테이블은 각각의 UE 에 대한 모든 상호작용들 또는 특정 수의 상호작용들만, 이를테면 지난 10개의 상호작용들 또는 지난 이틀간의 모든 상호작용들을 저장할 수도 있다.
UE (810) 로부터 인증 요청을 수신하는 것에 응답하여, 인증 서버 (820) 는 UE (810) 에 대한 사용자 상호작용 테이블에서 각각의 사용자/UE에 대한 사용자 상호작용 테이블들 또는 특정 개수의 사용자 상호작용 테이블들만을 취출한다. 예를 들어, 인증 서버 (820) 는, UE들 (840) 중의 적어도, UE (810) 를 인증하기 위하여 필요한 수의 UE 들에 대한 사용자 상호작용 테이블만을 취출할 수도 있다. 예를 들어, 인증 서버 (820) 는, UE들 (840) 중 첫번째 10개 UE들, UE들 (840) 중, UE (810) 가 지난 이틀간 상호작용했던 모든 UE 들, 또는 UE (810) 를 인증하기 위하여 필요한 수의 UE들 (840) 만, 예를 들어, 지난 10개 중 5개에 대한 사용자 상호작용 테이블을 취출할 수도 있다.
다음으로, 인증 서버 (820) 는 UE (810) 에 대한 사용자 상호작용 테이블과 취출된 사용자 상호작용 테이블들을 교차참조하여 UE (810) 가 실제로 교차참조된 UE들 (840) 과 그리고 사용자 상호작용 테이블에 표시된 시간에 상호작용했다는 것을 검증할 수도 있다. 예를 들어, UE (810) 에 대한 사용자 상호작용 테이블이 UE (810) 가 소정 시간 (given time) 에 소정 UE 에 근접했다는 것을 표시하면, 인증 서버 (820) 는, UE (810) 가 실제로 소정 시간에 그 UE 에 근접했다는 것을 표시하는, 상호작용에 대한 대응하는 엔트리가 있는지 여부를 결정하기 위하여 UE 의 사용자 상호작용 테이블을 취출할 것이다.
인증 서버 (820) 는 UE (810) 를 인증하기 위하여 필요한 수의 UE들에 대해 이 검증을 수행할 수 있다. 예를 들어, 지난 10개 상호작용들 중의 5개가 검증되는 경우에 UE (810) 가 오직 인증될 수 있으면, 인증 서버 (820) 는 UE (810) 에 대한 사용자 상호작용 테이블에서 각각의 UE 에 대한 이 검증 체크를, 그것이 5개의 UE 들을 검증하거나 또는 10개의 UE들을 교차참조할 때까지, 어느 것이 먼저 오든지간에, 수행할 것이다.
인증 서버 (820) 가, 취출된 사용자 상호작용 테이블들에 기초하여 UE (810) 를 인증하면, 인증 서버 (820) 는, UE (810) 가 인증되었음을 표시하는, 인증/로그온 메시지를 서드 파티 서버 (830) 에 전송할 수 있다. 인증 메시지는, 사용자이름 및 비밀번호와 같은 서드 파티 서버 (830) 를 위한 사용자 로그온 크레덴셜 (credential), 또는 프라이빗 키와 같은 기타 동의 인증 메시지 (agreed upon authentication message) 를 포함할 수 있다. 인증 서버 (820) 는 사용자를 위한 로그온 크레덴셜을 저장하여, 사용자가 서드 파티 서버 (830) 에 액세스하려고 시도할 때마다 그것들을 사용자가 입력해야 하기 보다는, 사용자가 그것들을 한번 입력하기만 하면 될 수 있다. 그러면 서드 파티 서버 (830) 는 UE (810) 에 대한 액세스를 허락할 수 있다.
도 8 에서의 예는 UE (810) 가 인증 서버 (820) 를 경유하여 서드 파티 서버 (830) 와 통신하는 것을 예시하지만, UE (810) 가 먼저 서드 파티 서버 (830) 에 액세스할 수 있고, 이는 UE (810) 를 인증 서버 (820) 로 리다이렉팅할 수 있다. 대안적으로, UE (810) 는 서드 파티 서버 (830) 에 액세스할 수 있고, 서드 파티 서버 (830) 는 인증 서버 (820) 와 통신하여 UE (810) 가 인가되는지 여부를 결정할 수 있다. 서드 파티 서버 (830) 는 UE (810) 의 사용자 상호작용 테이블을 인증 서버 (820) 에 전송할 수 있거나, 또는 UE (810) 가 스스로 그렇게 할 수 있다.
도 9는 본 개시의 실시형태에 따른 피어 기반 인증을 위한 예시적인 흐름을 예시한다. 도 9 에 예시된 흐름은 인증 서버, 이를테면 도 8 에 있는 인증 서버 (820), 또는 서드 파티 서버, 이를테면 도 8 에 있는 서드 파티 서버 (830) 에 의해 수행될 수도 있다.
910 에서, 서버는 도 8 에 있는 사용자 디바이스 (810) 와 같은 제 1 사용자 디바이스로부터 로그온 요청을 수신한다. 제 1 사용자 디바이스는 스마트폰, 랩톱 컴퓨터, 태블릿 컴퓨터, 데스크톱 컴퓨터, PDA, 또는 서드 파티 서버에 로그온할 수 있는 임의의 다른 사용자 디바이스일 수도 있다. 로그온 요청은 서드 파티 서버에 로그온하기 위한 로그온 요청일 수도 있다.
920 에서, 서버는, 제 1 사용자 디바이스에 대응하는 제 1 사용자 상호작용 테이블을 취출한다. 서버는, 제 1 사용자 디바이스로부터 또는 서버에 링크된 데이터베이스로부터 제 1 사용자 상호작용 테이블을 취출할 수도 있다. 서버는, 제 1 사용자 디바이스가 액세스를 시도하고 있는 서드 파티 서버로부터 제 1 사용자 상호작용 테이블을 취출할 수도 있다. 제 1 사용자 상호작용 테이블은, 제 1 사용자 디바이스가 상호작용한 제 2 사용자 디바이스들에 대한 엔트리를 포함할 수도 있다.
930 에서, 서버는, 제 1 사용자 디바이스가 상호작용한 제 2 사용자 디바이스, 이를테면 UE (840) 에 대응하는 제 2 사용자 상호작용 테이블을 취출한다. 서버는, 제 2 사용자 디바이스로부터 또는 서버에 링크된 데이터베이스로부터 제 2 사용자 상호작용 테이블을 취출할 수도 있다. 제 2 사용자 디바이스는, 제 1 사용자 디바이스의 사용자에 속하는 IoT 디바이스, 이를테면 냉장고, 세탁기, 온도 조절 장치 등, 또는 또 다른 사용자에 속하는 사용자 디바이스, 이를테면 스마트폰, 랩톱 컴퓨터, 태블릿 컴퓨터, PDA 등, 또는 심지어 또 다른 사용자에게 속하는 IoT 디바이스일 수도 있다. 즉, 제 2 사용자 디바이스는 제 1 사용자 디바이스와 상호작용할 수 있고 서버와 통신할 수 있는 임의의 디바이스일 수도 있다.
940 에서, 서버는 제 1 사용자 상호작용 테이블에서 제 2 사용자 디바이스에 대한 엔트리가 제 2 사용자 상호작용 테이블에서 제 1 사용자 디바이스에 대한 엔트리에 대응하는지 여부를 결정한다. 제 1 사용자 디바이스에 대한 엔트리가 제 1 상호작용 타입 및/또는 제 1 타임 스탬프를 포함하는 경우, 그리고 제 2 사용자 디바이스에 대한 엔트리가 제 2 상호작용 타입 및/또는 제 2 타임 스탬프를 포함하는 경우, 그 결정은 제 1 상호작용 타입이 제 2 상호작용 타입에 매칭되는지 여부의 결정 및/또는 제 1 타임 스탭프가 제 2 타임스탬프에 매칭하는지 여부의 결정을 포함할 수도 있다. 서버는 상호작용 타입 및 타임스탬프 중의 하나 또는 양자 모두를 매칭시킬 수도 있다. 상호작용 타입은 근접 검출, SMS (short messaging service) 메시지, MMS (multimedia messaging service) 메시지, 전화 통화 또는 이메일 중의 하나일 수도 있다.
940 에서, 서버가 제 1 사용자 상호작용 테이블에서 제 2 사용자 디바이스에 대한 엔트리가 제 2 사용자 상호작용 테이블에서 제 1 사용자 디바이스에 대한 엔트리에 대응하지 않는다고 결정하면, 흐름은 930 으로 되돌아가고 서버는 제 1 사용자 상호작용 테이블에서 식별된 또 다른 사용자 디바이스에 대한 사용자 상호작용 테이블을 취출한다. 하지만, 서버가 제 1 사용자 상호작용 테이블에서 제 2 사용자 디바이스에 대한 엔트리가 제 2 사용자 상호작용 테이블에서 제 1 사용자 디바이스에 대한 엔트리에 대응한다고 결정하면, 흐름은 950 으로 진행된다.
950 에서, 서버가 충분한 엔트리들이 검증되었는지 여부를 결정한다. 위에 논의된 바처럼, 이것은 10개 엔트리들 중의 5개, 특정 기간 내의 모든 엔트리들 등일 수도 있다. 충분한 엔트리들이 검증되지 않았으면, 흐름은 930 으로 되돌아가고, 서버는 제 1 사용자 상호작용 테이블에서 식별된 또 다른 사용자 디바이스를 위한 사용자 상호작용 테이블을 취출한다. 하지만, 충분한 엔트리들이 검증되었으면, 흐름은 960 으로 진행한다.
960 에서, 서버는 검증에 기초하여 제 1 사용자 디바이스를 인증한다. 인증은 제 1 사용자 디바이스가 인증되었음을 표시하는 메시지를 서드 파티 서버에 전송하는 것을 포함할 수도 있다. 서버는 제 1 사용자 디바이스에 대응하는 서드 파티 서버를 위한 로그온 크레덴셜들을 저장할 수도 있고 이들 로그온 크레덴셜들을 인증 메시지에서 전송할 수도 있다.
서버가 하나의 다른 근접 사용자 디바이스들에만 기초하여 제 1 사용자 디바이스를 인증할 수 있지만, 더 많은 근접 사용자 디바이스들을 서버가 사용하여 제 1 사용자 디바이스를 인증할수록, 인증에서 신뢰도가 더 높아질 수 있다.
도 9 에 예시된 바처럼, 서버가 사용자의 아이덴티티를 검증하기 위하여, 그것은 UE (810) 및 UE들 (840) 에서 생성된 상호작용 테이블들을 수신해야 한다. 하지만, 전체 상호작용 테이블을 송신할 때 보안이 문제가 된다. 완전한 상호작용 테이블을 송신하는 것은, 그 송신이 가로채어지고 도용될 수 있으므로, 본질적으로 위험하다.
그 대신에, UE들 (810 및 840) 는 그들의 상호작용 테이블들을 로컬에 저장할 수 있고 서버 (인증 서버 (820) 또는 서드 파티 서버 (830)) 는 특정 질문들로 UE들 (810 및 840) 에 저장된 상호작용 테이블들을 질의할 수 있다. 이것은 상호작용 테이블이 가로채어지고 도용되는 것을 방지하고, 그래서 그 안에 있는 정보를 정확하고 안전하게 유지한다.
예를 들어, 2명의 사용자들, Dana 및 Jake 가 점심시간에 동일한 지리 위치 (geo-location) 에 있다고 가정한다. 그들의 상호작용 테이블들은 그들이 함께 점심을 먹었을 확률을 결정하기 위하여 다음의 질문들로 질의될 수 있다: "당신은 얼마나 많은 사람들과 함께 지난 주에 점심을 먹었나요?" "당신은 종종 사람들과 함께 점심을 먹는 타입의 사람인가요?" Dana 및 Jake 는 양자 모두 다른 이들과 함께 종종 점심을 먹는 사람이라는 것을 알아내는 것은, 그들의 지리 위치 데이터와 결합되어, 인증 서버 (820) 가 그들이 함께 점심을 먹었다는 것을 가정하는 것을 허용할 수 있다.
이 통계적인 확인은 현저한 보안성 향상을 제공한다. 식별될 수 있는 데이터 패턴들이 더 많아지고 생성될 수 있는 통계들이 더 많아질수록, 얻어질 수 있는 신뢰도 수준은 더 높아진다. 추가적으로, 초기 학습 기간 후에, 질문들은 사용자에게 더 잘 맞추어질 수 있으며, 그에 의해 최소 수의 질문들로 수신되는 관련 데이터의 양을 극대화한다.
UE들 (810 및 840) 에 질의함으로써 UE (810) 를 인증하는 특정 양태들은 이제 도 10을 참조하여 설명될 것이다. 도 10은 사용자 디바이스의 상호작용 테이블을 송신함이 없이 사용자 디바이스를 인증하기 위한 예시적인 흐름을 예시한다. 도 10 에 예시된 흐름은 인증 서버 (820) 또는 사용자 가정 네트워크의 수퍼바이저 디바이스에 의해 수행될 수도 있다. 수퍼바이저 디바이스는, 예를 들어, UE (810) 의 사용자에 속할 수도 있다. 간략하게, 도 10 에 예시된 흐름은 인증 서버 (820) 에 의해 수행되는 것으로서 설명될 것이지만, 그 흐름은 위에 설명된 수퍼바이저 디바이스에 의해 수행될 수도 있다는 것이 분명하다.
1010 에서, 인증 서버 (820) 는, 리소스에 액세스하기 위하여 UE (810) 와 같은 제 1 사용자 디바이스로부터 요청을 수신한다. 리소스는, 예를 들어, UE (810) 의 사용자의 은행 계좌 또는 가정 네트워크일 수도 있다.
1020 에서, 인증 서버 (820) 는 선택적으로, 제 1 사용자 디바이스가 소정 시간에, UE들 (840) 중의 하나와 같은, 제 2 사용자 디바이스에 근접했다는 것을 결정한다. 제 1 사용자 디바이스가 제 2 사용자 디바이스에 근접했다고 결정하는 것은, 예를 들어, 제 1 사용자 디바이스 및 제 2 사용자 디바이스 양자 모두가 소정 시간에 동일한 네트워크 액세스 포인트에 어태치되었다는 것을 결정하는 것을 포함할 수도 있다. 이것은 제 1 사용자 디바이스로부터 동일한 네트워크 액세스 포인트의 식별자를 취출하는 것 및 소정 시간에 동일한 액세스 네트워크 액세스 포인트에 어태치되었던 사용자 디바이스들의 리스트를 취출하는 것을 포함할 수도 있다. 네트워크 액세스 포인트는 예를 들어, 무선 로컬 영역 네트워크 액세스 포인트 또는 셀룰러 네트워크 액세스 포인트일 수도 있다.
대안적으로, 제 1 사용자 디바이스가 제 2 사용자 디바이스에 근접했다는 것을 결정하는 것은, 제 1 사용자 디바이스로부터 수신된 위치 정보 및 제 2 사용자 디바이스로부터 수신된 위치 정보에 기초하여 제 1 사용자 디바이스 및 제 2 사용자 디바이스가 서로의 임계 지리적 거리 내에 있었다는 것을 결정하는 것을 포함할 수도 있다. 위치 정보는, 사용자 디바이스들이 어태치된 네트워크 액세스 포인트(들), 사용자 디바이스들의 GPS 좌표들, 및/또는 이와 유사한 것의 식별자(들) 을 포함할 수도 있다.
1030 에서, 인증 서버 (820) 는 제 1 사용자 디바이스와 제 2 사용자 디바이스 사이에, 또는 제 1 사용자 디바이스의 사용자와 제 2 사용자 디바이스의 사용자 사이에 관계가 있는지 여부를 결정하기 위하여 제 1 질의를 제 1 사용자 디바이스에 전송한다. 관계가 있는지 여부를 결정하는 것은, 소정 시간에, 제 1 사용자 디바이스가 제 2 사용자 디바이스와 상호작용했는지, 또는 제 1 사용자 디바이스의 사용자가 제 2 사용자 디바이스의 사용자와 상호작용했는지 여부를 결정하는 것을 포함할 수도 있다. 인증 서버 (820) 가 제 1 사용자 디바이스가 소정 시간에 제 2 사용자 디바이스에 근접했다는 것을 결정하면, 인증 서버 (820) 는 그 결정에 응답하여 제 2 질의를 전송할 수 있다.
제 1 사용자 디바이스는 제 1 사용자 디바이스에 저장된 상호작용 테이블에 있는 정보에 기초하여 제 1 질의에 대한 응답을 결정할 수도 있다. 대안적으로, 제 1 사용자 디바이스는 제 1 사용자 디바이스의 사용자에 제 1 질의를 표시하고 제 1 사용자 디바이스의 사용자로부터 응답을 수신하는 것에 의해 제 1 질의에 대한 응답을 결정할 수도 있다. 제 1 질의에 대한 응답은, 예를 들어, 긍정 응답, 부정 응답, 또는 숫자일 수도 있다. 제 1 질의에 대한 응답은, 제 1 사용자 디바이스의 사용자가 사적인 것으로 결정한 정보를 포함해서는 안된다.
1040 에서, 인증 서버 (820) 는 제 2 사용자 디바이스와 제 1 사용자 디바이스 사이에, 또는 제 2 사용자 디바이스의 사용자와 제 1 사용자 디바이스의 사용자 사이에 관계가 있는지 여부를 결정하기 위하여 제 2 질의를 제 2 사용자 디바이스에 전송한다. 관계가 있는지 여부를 결정하는 것은, 소정 시간에, 제 2 사용자 디바이스가 제 1 사용자 디바이스와 상호작용했거나, 또는 제 2 사용자 디바이스의 사용자가 제 1 사용자 디바이스의 사용자와 상호작용했는지 여부를 결정하는 것을 포함할 수도 있다. 제 2 사용자 디바이스는 제 2 사용자에게 속하는 사용자 디바이스, 또는 제 1 디바이스의 사용자에게 속하는 IoT 디바이스일 수도 있다.
위에 논의된 바처럼, 도 10의 흐름은 사용자의 가정 네트워크의 수퍼바이저 디바이스에 의해 수행될 수도 있다는 것에 유의한다. 그 경우에, 공중 네트워크를 통해 정보가 송신될 필요가 없다. 오히려, 도 10에 예시된 모든 통신은 사용자의 가정 네트워크 상에서 일어난다.
제 2 사용자 디바이스는 제 2 사용자 디바이스에 저장된 상호작용 테이블에 있는 정보에 기초하여 제 2 질의에 대한 응답을 결정할 수도 있다. 대안적으로, 제 2 사용자 디바이스는 제 2 사용자 디바이스의 사용자에 제 2 질의를 표시하고 제 2 사용자 디바이스의 사용자로부터 응답을 수신하는 것에 의해 제 2 질의에 대한 응답을 결정할 수도 있다. 제 2 질의에 대한 응답은, 예를 들어, 긍정 응답, 부정 응답, 또는 숫자일 수도 있다. 제 2 질의에 대한 응답은, 제 2 사용자 디바이스의 사용자가 사적인 것으로 결정한 정보를 포함해서는 안된다.
블록 (1020) 은 선택적인데, 왜냐하면 제 1 사용자 디바이스가 소정 시간에 제 2 사용자 디바이스에 근접했었다는 것을 알지 않고서 인증 서버 (820) 가 제 2 질의를 전송할 수도 있기 때문이다. 이 경우에, 근접은 사용자 디바이스들이 LILO 근접 체크와 같은 근접 체크를 수행했다면, 그들은 서로의 레인지 내에 있다는 것을 의미한다. 인증 서버 (820) 는 제 1 사용자 디바이스의 위치의 임계 지리적 거리 내에 있는 각각의 디바이스에 제 2 질의를 전송할 수도 있다. 제 1 사용자 디바이스의 위치는, 알려졌다면, 제 1 사용자 디바이스의 현재 위치 또는 소정 시간의 제 1 사용자 디바이스의 위치일 수도 있다. 이것은 그 소정 시간이 얼마나 오래전이었는지에 의존할 수도 있다.
예를 들어, 소정 시간이 단지 현재 시간 수시간 전이라면, 인증 서버 (820) 는 제 1 사용자 디바이스 및 제 2 사용자 디바이스가 아직 동일한 일반 위치에 있고, 아마도 심지어 아직 동일한 네트워크 액세스 포인트에 의해 서빙된다고 가정할 수도 있다. 그래서, 제 1 사용자 디바이스와 동일한 네트워크 액세스 포인트에 의해 서빙되는 각각의 사용자 디바이스에 제 2 질의를 전송하는 것은, 소정 시간에 제 1 사용자 디바이스와 상호작용한 사용자 디바이스에 질의를 전송하는 것에 귀결될 가능성이 있을 것이다. 이해되는 바처럼, 소정 시간이 보다 최근일수록, 제 1 사용자 디바이스와 상호작용한 사용자 디바이스들을 발견할 가능성이 더 높아질 것이다. 하지만, 최근의 소정 시간은 더 적은 보안성을 제공하는데, 제 1 사용자 디바이스가 그 소정 시간 전에 분실 또는 도난되었을 수도 있기 때문이다.
도 10은 인증 서버 (820) 가 단일 질의를 각각의 사용자 디바이스에 전송하는 것을 예시하지만, 인증 서버 (820) 는 다수의 질의들을 각각의 디바이스에 전송할 수도 있다. 추가적으로, 제 2 질의는 제 1 질의와 동일한 정보를 요청할 수도 있다. 예를 들어, 인증 서버 (820) 는 그날 점심 먹으로 나갔었는지 사용자 디바이스들 양자 모두에 물을 수도 있다. 인증 서버 (820) 는 또한, 얼마나 많은 사람들과 사용자들이 그날 점심을 먹었는지 물을 수도 있다. 인증 서버 (820) 는 동시에 양자 모두의 질의들을 전송하거나, 또는 제 1 질의가 긍정으로 대답된 경우에만 제 2 질의를 전송할 수도 있다. 이들 질의들에 대한 대답이 매칭되면, 인증 서버 (820) 는 1050 에서 액세스 요청과 더 높은 신뢰도 수준을 연관시킬 수 있다.
1050 에서, 인증 서버 (820) 가 제 1 질의에 대한 응답 및 제 2 질의에 대한 응답에 기초하여 액세스 요청과 신뢰도 수준을 연관시킨다. 그 연관은, 제 1 질의에 대한 응답이 제 2 질의에 대한 응답에 매칭되는 경우보다 제 1 질의에 대한 응답이 제 2 질의에 대한 응답에 매칭되지 않는 경우에 더 낮은 신뢰도 수준을 연관시키는 것을 포함할 수도 있다. 신뢰도 수준은 제 1 사용자 디바이스의 사용자가 리소스에 액세스하도록 인가되는 신뢰도를 표시한다.
예시되지 않았지만, 인증 서버 (820) 는 복수의 사용자 디바이스들 중의 어느 것과 제 1 사용자 디바이스 사이에, 또는 복수의 사용자 디바이스들의 어느 사용자들과 제 1 사용자 디바이스의 사용자 사이에 관계가 있는지 여부를 결정하기 위하여 복수의 질의를 복수의 사용자 디바이스에 전송할 수 있다. 이 경우에, 1050 에서 연관은 제 1 질의에 대한 응답 및 복수의 질의에 대한 응답에 기초하여 액세스 요청과 신뢰도 수준을 연관시키는 것을 포함할 수도 있다.
마찬가지로, 인증 서버 (820) 는, 소정 시간 뿐만 아니라, 상이한 시간에 제 1 사용자 디바이스에 근접했거나 또는 근접했을 수도 있는 사용자 디바이스들에 질의들을 전송할 수 있다. 이해되는 바처럼, 인증 서버 (820) 가 더 많은 사용자 디바이스들에 질의할수록, 제 1 사용자 디바이스들이 상호작용했던 사용자 디바이스들을 찾아낼 가능성이 더 높아지고, 따라서 그것이 할당할 수 있는 신뢰도 수준이 더 높아진다.
1060 에서, 인증 서버 (820) 는 연관된 신뢰도 수준에 기초하여 제 1 사용자 디바이스를 인증한다. 예시된 바처럼, 인증 서버 (820) 는 제 1 사용자 디바이스로부터 상호작용 테이블을 취출함이 없이, 제 1 사용자 디바이스를 인증할 수 있다. 연관된 신뢰도 수준이 임계치보다 낮으면, 인증 서버 (820) 는 리소스에 대한 액세스 요청을 거부할 수 있다. 그와 달리, 연관된 신뢰도 수준이 임계치보다 높으면, 인증 서버 (820) 는 리소스에 대한 액세스 요청을 허용할 수 있다.
도 11은 본 개시의 양태에 따른 제 1 사용자 디바이스의 제 1 사용자의 아이덴티티를 확인하기 위한 예시적인 흐름을 예시한다. 도 11 에 예시된 흐름은 인증 서버 (820) 또는 사용자 가정 네트워크, 이를테면 제 1 사용자의 가정 네트워크의 수퍼바이저 디바이스에 의해 수행될 수도 있다. 간략하게, 도 11 에 예시된 흐름은 인증 서버 (820) 에 의해 수행되는 것으로서 설명될 것이지만, 그 흐름은 위에 설명된 수퍼바이저 디바이스에 의해 수행될 수도 있다는 것이 분명하다.
1110 에서, 인증 서버 (820) 는 제 1 사용자의 아이덴티티를 확인하기 위한 요청을 수신한다. 그 요청은, 예를 들어, 도 9의 910 에서와 같은 로그온 요청, 또는 도 10의 1010 에서와 같은 리소스에 액세스하기 위한 요청의 형태일 수도 있다.
1120 에서, 인증 서버 (820) 는 또한, 제 1 사용자 디바이스와 연관된 사용자 상호작용들의 제 1 리스트 및 제 2 사용자 디바이스와 연관된 사용자 상호작용들의 제 2 리스트에 기초하여 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 디바이스의 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정한다. 제 2 사용자 디바이스는 도 8 에서 UE들 (840) 중의 임의의 것일 수도 있다. 사용자 상호작용의 제 1 리스트는, 위에 설명된 바처럼, 제 2 사용자 디바이스와의 상호작용에 대한 엔트리를 포함할 수도 있다.
일 양태에서, 1120 에서의 결정은, 사용자 상호작용들의 제 1 리스트에 있는 제 2 사용자 디바이스와의 상호작용에 대한 엔트리가, 도 9의 940 에서처럼, 사용자 상호작용들의 제 2 리스트에 있는 제 1 사용자 디바이스와의 상호작용에 대한 엔트리에 대응하는지 여부를 결정하는 것을 포함할 수도 있다. 인증 서버 (820) 는, 사용자 상호작용들의 제 1 리스트에 있는 제 2 사용자 디바이스와의 상호작용에 대한 엔트리가, 도 9의 940 에서 처럼, 사용자 상호작용들의 제 2 리스트에 있는 제 1 사용자 디바이스와의 상호작용에 대한 엔트리에 대응하는 것에 기초하여, 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있다고 결정할 수도 있다.
또 다른 양태에서, 1120 에서 결정하는 것은, 도 10의 1030-1050 를 참조하여 위에서 설명된 바처럼, 제 1 질의를 제 1 사용자 디바이스에 전송하는 것, 제 2 질의를 제 2 사용자 디바이스에 전송하는 것, 제 1 질의에 대한 응답 및 제 2 질의에 대한 응답에 기초하여 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하는 것을 포함할 수도 있다.
1130 에서, 인증 서버 (820) 는 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 있다고 결정하는 것에 기초하여 제 1 사용자의 아이덴티티를 확인한다. 도 11에 예시되지는 않았지만, 인증 서버 (820) 는, 도 10의 1050 에서와 같은 결정에 기초하여 제 1 사용자 디바이스에 대한 아이덴티티 스코어를 생성할 수도 있다. 그 경우에, 1130 에서의 확인은 아이덴티티 스코어에 기초하여 제 1 사용자의 아이덴티티를 확인하는 것을 포함할 수도 있다. 아이덴티티 스코어가 임계치보다 높으면, 제 1 사용자의 아이덴티티가 확인되고, 제 1 사용자가 도 9의 960 에서 그리고 도 10의 1060 에서 처럼 인증될 수 있다. 1120 에서, 인증 서버 (820) 가 제 1 사용자 또는 제 1 사용자 디바이스와 제 2 사용자 또는 제 2 사용자 디바이스 사이에 관계가 없다고 결정하면, 1140 에서, 인증 서버 (820) 는 제 1 사용자의 아이덴티티를 확인하지 않는다. 인증 서버 (820) 는 그 대신에, 도 9를 참조하여 위에서 논의된 바처럼 하나 이상의 추가적인 사용자 상호작용 테이블들을 취출할 수도 있거나 또는 적절히, 도 10을 참조하여 위에서 설명된 바처럼 하나 이상의 다른 사용자 디바이스들에 질의들을 전송할 수도 있다. 대안적으로, 인증 서버 (820) 는 제 1 사용자의 아이덴티티를 확인하기 위한 요청을 거부할 수도 있으며, 그에 의해 제 1 사용자를 인증하지 않는다.
도 12는 일련의 서로 관련있는 기능 모듈들로서 표시된 예시적인 인증 서버 장치 (1200) 를 예시한다. 수신하는 모듈 (1202) 은, 적어도 일부 양태들에서, 예를 들어, 여기서 논의된 통신 디바이스 및/또는 프로세싱 시스템, 이를테면 도 4 에서의 네트워크 액세스 포트들 (404) 및/또는 프로세서 (401) 에 대응할 수도 있다. 결정하는 모듈 (1204) 은, 적어도 일부 양태들에서, 예를 들어, 여기서 논의된 프로세싱 시스템, 이를테면 도 4 에서의 프로세서 (401) 에 대응할 수도 있다. 확인하는 모듈 (1206) 은, 적어도 일부 양태들에서, 예를 들어, 여기서 논의된 통신 디바이스 및/또는 프로세싱 시스템, 이를테면 도 4 에서의 네트워크 액세스 포트들 (404) 및/또는 프로세서 (401) 에 대응할 수도 있다.
도 12의 모듈들의 기능은 본원의 교시들과 부합하는 다양한 방식들에서 구현될 수도 있다. 일부 설계들에서, 이들 모듈들의 기능은 하나 이상의 전기적 컴포넌트들로서 구현될 수도 있다. 일부 설계들에서, 이들 블록들의 기능은 하나 이상의 프로세서 컴포넌트들을 포함하는 프로세싱 시스템으로서 구현될 수도 있다. 일부 설계들에서, 이들 모듈들의 기능은, 예를 들어, 하나 이상의 집적 회로들 (예를 들어, ASIC) 중의 적어도 일부를 이용하여 구현될 수도 있다. 본원에 논의된 바처럼, 집적 회로는 프로세서, 소프트웨어, 다른 관련 컴포넌트들, 또는 이들의 어느 조합을 포함할 수도 있다. 따라서, 상이한 모듈들의 기능성은, 예를 들어, 집적 회로의 상이한 서브세트로서, 소프트웨어 모듈들의 세트의 상이한 서브세트, 또는 이들의 조합으로서 구현될 수도 있다. 또한, (예를 들어, 집적 회로 및/또는 소프트웨어 모듈들의 세트의) 정해진 서브세트는 하나보다 많은 모듈을 위한 기능의 적어도 일부를 제공할 수도 있다는 것이 인식될 것이다.
또한, 도 12에 의해 표현된 컴포넌트들 및 기능들, 그리고 본원에 기재된 다른 컴포넌트들 및 기능들은 임의의 적합한 수단을 이용하여 구현될 수도 있다. 그러한 수단은 또한, 적어도 부분적으로, 본원에 교시된 대응하는 구조를 이용하여 구현될 수도 있다. 예를 들어, 도 12의 "하는 모듈" 컴포넌트들와 함께 위에 설명된 컴포넌트들은 또한, 유사하게 지정된 "하는 수단" 기능성에 대응할 수도 있다. 따라서, 일부 양태들에서 하나 이상의 그러한 수단은, 본원에 교시된 하나 이상의 프로세서 컴포넌트들, 집적 회로, 또는 다른 적합한 구조를 이용하여 구현될 수도 있다.
당업자는 정보 및 신호가 임의의 다양한 상이한 기술 및 기법을 이용하여 표현될 수도 있음을 인식할 것이다. 예를 들어, 위의 설명 전체에 걸쳐 언급될 수도 있는 데이터, 명령, 커맨드, 정보, 신호, 비트, 심볼, 및 칩은 전압, 전류, 전자기파, 자기장 또는 자기입자, 광학장 (optical field) 또는 광학 입자, 또는 이들의 임의의 조합에 의해 표현될 수도 있다.
또한, 당업자는, 여기에 개시된 예시적 양태와 관련하여 설명된 다양한 예시적인 논리 블록, 모듈, 회로, 및 알고리즘 단계가 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 양자의 조합으로 구현될 수도 있음을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트, 블록, 모듈, 회로, 및 단계가 일반적으로 그들의 기능성의 측면에서 위에서 설명되었다. 그러한 기능이 하드웨어 또는 소프트웨어로 구현될지 여부는, 전체 시스템에 부과된 특정 응용 및 설계 제약에 달려 있다. 당업자는 설명된 기능을 각각의 특정 응용을 위해 다른 방식으로 구현할 수도 있지만, 이러한 구현 결정이 본 개시의 범위를 벗어나는 것으로 해석되지는 않아야 한다.
여기에 개시된 양태들과 관련하여 설명된 다양한 예시적인 논리 블록, 모듈, 및 회로는 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트 또는 여기에 설명된 기능을 수행하도록 설계된 이들의 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다르게는, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합, (예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성) 으로서 구현될 수도 있다.
여기에 개시된 예시적 양태들과 관련하여 설명된 방법, 시퀀스 및/또는 알고리즘은 직접 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 양자의 조합으로 구현될 수도 있다. 소프트웨어 모듈은 RAM, 플래시 메모리, ROM, EPROM, EEPROM, 레지스터, 하드디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 공지된 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적 저장 매체는 프로세서가 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있도록 프로세서에 연결된다. 다르게는, 저장 매체는 프로세서에 내장될 수도 있다. 프로세서 및 저장 매체는 ASIC 에 상주할 수도 있다. ASIC는 IoT 디바이스에 상주할 수도 있다. 다르게는, 프로세서 및 저장 매체는 사용자 단말에서 이산 컴포넌트로서 상주할 수도 있다.
하나 이상의 예시적 양태에서, 설명된 기능은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되면, 그 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령 또는 코드로서 저장되거나 또는 송신될 수도 있다. 컴퓨터 판독가능 매체는 일 장소로부터 또 다른 장소로의 컴퓨터 프로그램의 전송을 가능하게 하는 임의의 매체를 포함하는 통신 매체 및 컴퓨터 저장 매체 양자 모두를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수도 있다. 비한정적 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 명령 또는 데이터 구조의 형태로 원하는 프로그램 코드를 반송 또는 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 칭해진다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선 (twisted pair), DSL, 또는 적외선, 전파 (radio), 및 마이크로파와 같은 무선 기술을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되는 경우, 그 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 전파, 및 마이크로파와 같은 무선 기술은 매체의 정의 내에 포함된다. 여기에 설명된 바처럼, 디스크 (disk) 및 디스크 (disc) 는 CD, 레이저 디스크, 광 디스크, DVD, 플로피 디스크 및 블루-레이 디스크를 포함하며, 여기서, 디스크는 일반적으로 데이터를 자기적으로 및/또는 레이저를 이용하여 광학적으로 재생한다. 또한, 상기의 조합은 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
이전의 개시는 본 개시의 예시적인 양태들을 보여주지만, 첨부된 청구항들에 의해 정의된 본 개시의 범위로부터 벗어남이 없이 다양한 변화 및 변경들이 여기서 이루어질 수 있음에 유의해야 한다. 여기에 설명된 본 개시의 양태들에 따른 방법 청구항들의 기능, 단계 및/또는 액션들은 어느 특정 순서로 수행될 필요는 없다. 또한, 본 개시의 엘리먼트들은 단수형태로 설명되고 청구될 수도 있지만, 단수형으로의 한정이 명시적으로 언급되지 않으면 복수형이 고려된다.

Claims (30)

  1. 제 1 사용자 디바이스의 제 1 사용자의 아이덴티티를 확인하는 방법으로서,
    상기 제 1 사용자의 아이덴티티를 확인하기 위한 요청을 수신하는 단계;
    상기 제 1 사용자 디바이스와 연관된 사용자 상호작용들의 제 1 리스트 및 제 2 사용자 디바이스와 연관된 사용자 상호작용들의 제 2 리스트에 기초하여 상기 제 1 사용자 또는 상기 제 1 사용자 디바이스와 상기 제 2 사용자 디바이스의 제 2 사용자 또는 상기 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하는 단계; 및
    상기 제 1 사용자 또는 상기 제 1 사용자 디바이스와 상기 제 2 사용자 또는 상기 제 2 사용자 디바이스 사이에 관계가 있다고 결정하는 것에 기초하여 상기 제 1 사용자의 아이덴티티를 확인하는 단계
    를 포함하는, 아이덴티티를 확인하는 방법.
  2. 제 1 항에 있어서,
    상기 사용자 상호작용들의 제 1 리스트는, 상기 제 2 사용자 디바이스와의 상호작용에 대한 엔트리를 포함하고,
    상기 결정하는 단계는, 상기 사용자 상호작용들의 제 1 리스트에 있는 상기 제 2 사용자 디바이스와의 상호작용에 대한 엔트리가 상기 사용자 상호작용들의 제 2 리스트에 있는 상기 제 1 사용자 디바이스와의 상호작용에 대한 엔트리에 대응하는지 여부를 결정하는 단계를 포함하고,
    상기 방법은
    상기 사용자 상호작용들의 제 1 리스트에 있는 상기 제 2 사용자 디바이스와의 상호작용에 대한 엔트리가 상기 사용자 상호작용들의 제 2 리스트에 있는 상기 제 1 사용자 디바이스와의 상호작용에 대한 엔트리에 대응하는 것에 기초하여, 상기 제 1 사용자 또는 상기 제 1 사용자 디바이스와 상기 제 2 사용자 또는 상기 제 2 사용자 디바이스 사이에 관계가 있다고 결정하는 단계를 더 포함하는, 아이덴티티를 확인하는 방법.
  3. 제 2 항에 있어서,
    상기 제 1 사용자 디바이스로부터 상기 사용자 상호작용들의 제 1 리스트를 취출하는 단계; 및
    상기 제 2 사용자 디바이스로부터 상기 사용자 상호작용들의 제 2 리스트를 취출하는 단계를 더 포함하는, 아이덴티티를 확인하는 방법.
  4. 제 2 항에 있어서,
    인증 서버로부터 상기 사용자 상호작용들의 제 1 리스트를 취출하는 단계; 및
    상기 인증 서버로부터 상기 사용자 상호작용들의 제 2 리스트를 취출하는 단계를 더 포함하는, 아이덴티티를 확인하는 방법.
  5. 제 2 항에 있어서,
    상기 제 1 사용자 디바이스와의 상호작용에 대한 엔트리는 제 1 상호작용 타입 및 제 1 타임스탬프를 포함하고, 상기 제 2 사용자 디바이스와의 상호작용에 대한 엔트리는 제 2 상호작용 타입 및 제 2 타임스탬프를 포함하는, 아이덴티티를 확인하는 방법.
  6. 제 5 항에 있어서,
    상기 제 1 상호작용 타입은 근접 검출, SMS (short messaging service) 메시지, MMS (multimedia messaging service) 메시지, 전화 통화 또는 이메일 중의 하나를 포함하는, 아이덴티티를 확인하는 방법.
  7. 제 5 항에 있어서,
    상기 제 2 사용자 디바이스와의 상호작용에 대한 엔트리가 상기 제 1 사용자 디바이스와의 상호작용에 대한 엔트리에 대응하는지 여부를 결정하는 단계는
    상기 제 1 상호작용 타입이 상기 제 2 상호작용 타입에 매칭되는지 여부 및/또는 상기 제 1 타임 스탬프가 상기 제 2 타임스탬프에 매칭되는지 여부를 결정하는 단계를 포함하는, 아이덴티티를 확인하는 방법.
  8. 제 1 항에 있어서,
    상기 사용자 상호작용들의 제 1 리스트는, 상기 제 2 사용자 디바이스와의 상호작용에 대한 엔트리를 포함하고, 상기 결정하는 단계는
    상기 제 1 사용자 디바이스에 제 1 질의를 전송하는 단계;
    상기 제 2 사용자 디바이스에 제 2 질의를 전송하는 단계; 및
    상기 제 1 질의에 대한 응답 및 상기 제 2 질의에 대한 응답에 기초하여 상기 제 1 사용자 또는 상기 제 1 사용자 디바이스와 상기 제 2 사용자 또는 상기 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하는 단계를 포함하는, 아이덴티티를 확인하는 방법.
  9. 제 8 항에 있어서,
    상기 제 1 사용자 디바이스가 소정 시간에 상기 제 2 사용자 디바이스에 근접했다고 결정하는 단계를 더 포함하고,
    상기 제 2 질의를 전송하는 단계는, 상기 제 1 사용자 디바이스가 상기 소정 시간에 상기 제 2 사용자 디바이스에 근접했다고 결정하는 것에 응답하여 수행되는, 아이덴티티를 확인하는 방법.
  10. 제 8 항에 있어서,
    상기 제 1 질의에 대한 응답 및 상기 제 2 질의에 대한 응답에 기초하여 상기 제 1 사용자 또는 상기 제 1 사용자 디바이스와 상기 제 2 사용자 또는 상기 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하는 단계는, 상기 제 1 질의에 대한 응답 및 상기 제 2 질의에 대한 응답에 기초하여 소정 시간에, 상기 제 1 사용자 디바이스가 상기 제 2 사용자 디바이스와 상호작용했는지, 또는 상기 제 1 사용자 디바이스의 사용자가 상기 제 2 사용자 디바이스의 사용자와 상호작용했는지 여부를 결정하는 단계를 포함하는, 아이덴티티를 확인하는 방법.
  11. 제 8 항에 있어서,
    상기 제 2 질의를 전송하는 단계는, 상기 제 2 사용자 디바이스가 소정 시간에 상기 제 1 사용자 디바이스에 근접했다는 것을 알지 않고서 상기 제 2 질의를 전송하는 단계를 포함하는, 아이덴티티를 확인하는 방법.
  12. 제 8 항에 있어서,
    상기 제 1 사용자 디바이스는 상기 사용자 상호작용들의 제 1 리스트에 저장된 정보에 기초하여 상기 제 1 질의에 대한 응답을 결정하는, 아이덴티티를 확인하는 방법.
  13. 제 8 항에 있어서,
    상기 사용자 상호작용들의 제 1 리스트는 상기 제 1 사용자 디바이스에 저장되고, 상기 사용자 상호작용들의 제 2 리스트는 상기 제 2 사용자 디바이스에 저장되는, 아이덴티티를 확인하는 방법.
  14. 제 8 항에 있어서,
    상기 제 1 사용자 디바이스는, 상기 제 1 사용자 디바이스의 상기 제 1 사용자에 상기 제 1 질의를 표시하고 상기 제 1 사용자로부터 응답의 표시를 수신하는 것에 의해 상기 제 1 질의에 대한 응답을 결정하는, 아이덴티티를 확인하는 방법.
  15. 제 8 항에 있어서,
    상기 제 2 질의는 상기 제 1 질의와 동일한 정보를 요청하는, 아이덴티티를 확인하는 방법.
  16. 제 1 항에 있어서,
    상기 제 1 사용자의 아이덴티티를 확인하기 위한 요청은 상기 제 1 사용자 디바이스와 연관된 로그온 요청을 포함하고,
    상기 방법은
    상기 결정에 기초하여 상기 제 1 사용자 디바이스에 대한 아이덴티티 스코어를 생성하는 단계를 더 포함하고,
    상기 확인은 상기 아이덴티티 스코어에 기초하여 상기 제 1 사용자의 아이덴티티를 확인하는 것을 포함하는, 아이덴티티를 확인하는 방법.
  17. 제 1 사용자 디바이스의 제 1 사용자의 아이덴티티를 확인하기 위한 장치로서,
    상기 제 1 사용자의 아이덴티티를 확인하기 위한 요청을 수신하도록 구성된 로직;
    상기 제 1 사용자 디바이스와 연관된 사용자 상호작용들의 제 1 리스트 및 제 2 사용자 디바이스와 연관된 사용자 상호작용들의 제 2 리스트에 기초하여 상기 제 1 사용자 또는 상기 제 1 사용자 디바이스와 상기 제 2 사용자 디바이스의 제 2 사용자 또는 상기 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하도록 구성된 로직; 및
    상기 제 1 사용자 또는 상기 제 1 사용자 디바이스와 상기 제 2 사용자 또는 상기 제 2 사용자 디바이스 사이에 관계가 있다고 결정하는 것에 기초하여 상기 제 1 사용자의 아이덴티티를 확인하도록 구성된 로직
    을 포함하는, 아이덴티티를 확인하기 위한 장치.
  18. 제 17 항에 있어서,
    상기 사용자 상호작용들의 제 1 리스트는, 상기 제 2 사용자 디바이스와의 상호작용에 대한 엔트리를 포함하고,
    상기 결정하도록 구성된 로직은, 상기 사용자 상호작용들의 제 1 리스트에 있는 상기 제 2 사용자 디바이스와의 상호작용에 대한 엔트리가 상기 사용자 상호작용들의 제 2 리스트에 있는 상기 제 1 사용자 디바이스와의 상호작용에 대한 엔트리에 대응하는지 여부를 결정하도록 구성된 로직을 포함하고,
    상기 장치는
    상기 사용자 상호작용들의 제 1 리스트에 있는 상기 제 2 사용자 디바이스와의 상호작용에 대한 엔트리가 상기 사용자 상호작용들의 제 2 리스트에 있는 상기 제 1 사용자 디바이스와의 상호작용에 대한 엔트리에 대응하는 것에 기초하여, 상기 제 1 사용자 또는 상기 제 1 사용자 디바이스와 상기 제 2 사용자 또는 상기 제 2 사용자 디바이스 사이에 관계가 있다고 결정하도록 구성된 로직을 더 포함하는, 아이덴티티를 확인하기 위한 장치.
  19. 제 18 항에 있어서,
    상기 제 1 사용자 디바이스와의 상호작용에 대한 엔트리는 제 1 상호작용 타입 및 제 1 타임스탬프를 포함하고, 상기 제 2 사용자 디바이스와의 상호작용에 대한 엔트리는 제 2 상호작용 타입 및 제 2 타임스탬프를 포함하는, 아이덴티티를 확인하기 위한 장치.
  20. 제 19 항에 있어서,
    상기 제 2 사용자 디바이스와의 상호작용에 대한 엔트리가 상기 제 1 사용자 디바이스와의 상호작용에 대한 엔트리에 대응하는지 여부를 결정하도록 구성된 로직은, 상기 제 1 상호작용 타입이 상기 제 2 상호작용 타입에 매칭되는지 여부 및/또는 상기 제 1 타임 스탬프가 상기 제 2 타임스탬프에 매칭되는지 여부를 결정하도록 구성된 로직을 포함하는, 아이덴티티를 확인하기 위한 장치.
  21. 제 17 항에 있어서,
    상기 사용자 상호작용들의 제 1 리스트는, 상기 제 2 사용자 디바이스와의 상호작용에 대한 엔트리를 포함하고,
    상기 결정하도록 구성된 로직은
    상기 제 1 사용자 디바이스에 제 1 질의를 전송하도록 구성된 로직;
    상기 제 2 사용자 디바이스에 제 2 질의를 전송하도록 구성된 로직; 및
    상기 제 1 질의에 대한 응답 및 상기 제 2 질의에 대한 응답에 기초하여 상기 제 1 사용자 또는 상기 제 1 사용자 디바이스와 상기 제 2 사용자 또는 상기 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하도록 구성된 로직을 포함하는, 아이덴티티를 확인하기 위한 장치.
  22. 제 21 항에 있어서,
    상기 제 1 사용자 디바이스가 소정 시간에 상기 제 2 사용자 디바이스에 근접했다고 결정하도록 구성된 로직을 더 포함하고,
    상기 제 2 질의를 전송하는 것은, 상기 제 1 사용자 디바이스가 상기 소정 시간에 상기 제 2 사용자 디바이스에 근접했다고 결정하는 것에 응답하여 수행되는, 아이덴티티를 확인하기 위한 장치.
  23. 제 21 항에 있어서,
    상기 제 1 질의에 대한 응답 및 상기 제 2 질의에 대한 응답에 기초하여 상기 제 1 사용자 또는 상기 제 1 사용자 디바이스와 상기 제 2 사용자 또는 상기 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하도록 구성된 로직은, 상기 제 1 질의에 대한 응답 및 상기 제 2 질의에 대한 응답에 기초하여 소정 시간에, 상기 제 1 사용자 디바이스가 상기 제 2 사용자 디바이스와 상호작용했는지, 또는 상기 제 1 사용자 디바이스의 사용자가 상기 제 2 사용자 디바이스의 사용자와 상호작용했는지 여부를 결정하도록 구성된 로직을 포함하는, 아이덴티티를 확인하기 위한 장치.
  24. 제 21 항에 있어서,
    상기 제 2 질의를 전송하도록 구성된 로직은, 상기 제 2 사용자 디바이스가 소정 시간에 상기 제 1 사용자 디바이스에 근접했다는 것을 알지 않고서 상기 제 2 질의를 전송하도록 구성된 로직을 포함하는, 아이덴티티를 확인하기 위한 장치.
  25. 제 21 항에 있어서,
    상기 제 1 사용자 디바이스는 상기 사용자 상호작용들의 제 1 리스트에 저장된 정보에 기초하여 상기 제 1 질의에 대한 응답을 결정하는, 아이덴티티를 확인하기 위한 장치.
  26. 제 21 항에 있어서,
    상기 제 1 사용자 디바이스는, 상기 제 1 사용자 디바이스의 상기 제 1 사용자에 상기 제 1 질의를 표시하고 상기 제 1 사용자로부터 응답의 표시를 수신하는 것에 의해 상기 제 1 질의에 대한 응답을 결정하는, 아이덴티티를 확인하기 위한 장치.
  27. 제 21 항에 있어서,
    상기 제 2 질의는 상기 제 1 질의와 동일한 정보를 요청하는, 아이덴티티를 확인하기 위한 장치.
  28. 제 17 항에 있어서,
    상기 제 1 사용자의 아이덴티티를 확인하기 위한 요청은 상기 제 1 사용자 디바이스와 연관된 로그온 요청을 포함하고,
    상기 장치는
    상기 결정에 기초하여 상기 제 1 사용자 디바이스에 대한 아이덴티티 스코어를 생성하도록 구성된 로직을 더 포함하고,
    상기 확인은 상기 아이덴티티 스코어에 기초하여 상기 제 1 사용자의 아이덴티티를 확인하는 것을 포함하는, 아이덴티티를 확인하기 위한 장치.
  29. 제 1 사용자 디바이스의 제 1 사용자의 아이덴티티를 확인하기 위한 장치로서,
    상기 제 1 사용자의 아이덴티티를 확인하기 위한 요청을 수신하는 수단;
    상기 제 1 사용자 디바이스와 연관된 사용자 상호작용들의 제 1 리스트 및 제 2 사용자 디바이스와 연관된 사용자 상호작용들의 제 2 리스트에 기초하여 상기 제 1 사용자 또는 상기 제 1 사용자 디바이스와 상기 제 2 사용자 디바이스의 제 2 사용자 또는 상기 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하는 수단; 및
    상기 제 1 사용자 또는 상기 제 1 사용자 디바이스와 상기 제 2 사용자 또는 상기 제 2 사용자 디바이스 사이에 관계가 있다고 결정하는 것에 기초하여 상기 제 1 사용자의 아이덴티티를 확인하는 수단
    을 포함하는, 아이덴티티를 확인하기 위한 장치.
  30. 제 1 사용자 디바이스의 제 1 사용자의 아이덴티티를 확인하기 위한 비일시적 컴퓨터 판독가능 매체로서,
    상기 제 1 사용자의 아이덴티티를 확인하기 위한 요청을 수신하기 위한 적어도 하나의 명령;
    상기 제 1 사용자 디바이스와 연관된 사용자 상호작용들의 제 1 리스트 및 제 2 사용자 디바이스와 연관된 사용자 상호작용들의 제 2 리스트에 기초하여 상기 제 1 사용자 또는 상기 제 1 사용자 디바이스와 상기 제 2 사용자 디바이스의 제 2 사용자 또는 상기 제 2 사용자 디바이스 사이에 관계가 있는지 여부를 결정하기 위한 적어도 하나의 명령; 및
    상기 제 1 사용자 또는 상기 제 1 사용자 디바이스와 상기 제 2 사용자 또는 상기 제 2 사용자 디바이스 사이에 관계가 있다고 결정하는 것에 기초하여 상기 제 1 사용자의 아이덴티티를 확인하기 위한 적어도 하나의 명령
    을 포함하는, 비일시적 컴퓨터 판독가능 매체.
KR1020167012982A 2013-10-23 2014-10-23 피어 기반 인증 KR101727873B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361894828P 2013-10-23 2013-10-23
US61/894,828 2013-10-23
US201361904384P 2013-11-14 2013-11-14
US61/904,384 2013-11-14
US14/520,338 2014-10-21
US14/520,338 US9386004B2 (en) 2013-10-23 2014-10-21 Peer based authentication
PCT/US2014/061967 WO2015061566A1 (en) 2013-10-23 2014-10-23 Peer based authentication

Publications (2)

Publication Number Publication Date
KR20160077102A true KR20160077102A (ko) 2016-07-01
KR101727873B1 KR101727873B1 (ko) 2017-04-17

Family

ID=52827411

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167012982A KR101727873B1 (ko) 2013-10-23 2014-10-23 피어 기반 인증

Country Status (6)

Country Link
US (1) US9386004B2 (ko)
EP (1) EP3061226A1 (ko)
JP (1) JP6066538B1 (ko)
KR (1) KR101727873B1 (ko)
CN (1) CN105684389B (ko)
WO (1) WO2015061566A1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102201085B1 (ko) * 2019-12-13 2021-01-08 윤성민 전자투표시스템 및 전자투표방법
KR102201083B1 (ko) * 2019-10-21 2021-01-08 윤성민 금융거래시스템 및 그 방법
KR102201088B1 (ko) * 2019-10-10 2021-01-11 윤성민 동일성 인증 시스템 및 그 방법
KR20210042797A (ko) * 2019-10-10 2021-04-20 윤성민 동일성 인증 시스템 및 그 방법
KR20210047238A (ko) * 2019-10-21 2021-04-29 윤성민 금융거래시스템 및 그 방법
KR102252863B1 (ko) 2020-06-30 2021-05-14 윤성민 사물의 동일성 인증 시스템 및 그 방법
KR102296322B1 (ko) 2020-09-01 2021-08-30 윤성민 동일성 인증 시스템 및 그 방법
WO2022060137A1 (ko) * 2020-09-21 2022-03-24 윤성민 인증관리컴퓨터 및 인증관리방법
KR102410294B1 (ko) 2020-12-11 2022-06-16 윤성민 사람 및 사물의 동일성인증을 통한 사물의 보안 시스템 및 그 방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003488B2 (en) * 2007-06-06 2015-04-07 Datavalet Technologies System and method for remote device recognition at public hotspots
US20140355592A1 (en) 2012-11-01 2014-12-04 Datavalet Technologies System and method for wireless device detection, recognition and visit profiling
US9680726B2 (en) * 2013-02-25 2017-06-13 Qualcomm Incorporated Adaptive and extensible universal schema for heterogeneous internet of things (IOT) devices
US10127300B2 (en) 2013-12-23 2018-11-13 International Business Machines Corporation Mapping relationships using electronic communications data
WO2016114899A1 (en) * 2015-01-13 2016-07-21 Collateral Opportunities, Llc System and method for preventing unauthorized access to restricted computer systems through the use of a wireless transmitter and receiver
US10979905B2 (en) * 2015-01-13 2021-04-13 Collateral Opportunities, Llc Using a wireless transmitter and receiver to prevent unauthorized access to restricted computer systems
US10292051B2 (en) * 2015-01-13 2019-05-14 Collateral Opportunities, Llc System and method for preventing unauthorized access to restricted computer systems
US10685366B2 (en) 2015-02-04 2020-06-16 Collateral Opportunities, Llc Using a wireless transmitter and receiver to prevent unauthorized access to restricted computer systems
US10218700B2 (en) * 2015-02-23 2019-02-26 Ca, Inc. Authorizations for computing devices to access a protected resource
EP3320648B1 (en) * 2015-07-09 2023-01-04 Nokia Technologies Oy Two-user authentication
CN108292454B (zh) 2015-12-03 2020-08-14 诺基亚技术有限公司 访问管理方法及装置
US10200380B2 (en) 2015-12-16 2019-02-05 At&T Intellectual Property I, L.P. System for providing layered security
US10410002B1 (en) * 2016-01-13 2019-09-10 National Technology & Engineering Solutions Of Sandia, Llc Intrusion detection apparatus, system and methods
JP6733238B2 (ja) * 2016-03-18 2020-07-29 富士ゼロックス株式会社 認証装置及び認証プログラム
CN106657370B (zh) * 2017-01-03 2019-08-30 腾讯科技(深圳)有限公司 数据传输方法及装置
EP3926923A1 (en) * 2017-02-02 2021-12-22 Deutsche Telekom AG Method for enhanced detection of a user equipment type
CN106899592B (zh) * 2017-02-27 2018-07-31 宁夏煜隆科技有限公司 智能家居中去中心化用户身份识别方法及系统
US11616781B2 (en) * 2017-12-05 2023-03-28 Goldilock Secure s.r.o. Air gap-based network isolation device
JP7278087B2 (ja) * 2019-01-31 2023-05-19 キヤノン株式会社 通信装置およびその制御方法、プログラム
US20220217136A1 (en) * 2021-01-04 2022-07-07 Bank Of America Corporation Identity verification through multisystem cooperation
CN114500617B (zh) * 2021-12-24 2023-11-28 青岛海尔科技有限公司 互联网设备控制方法和装置、存储介质及电子设备

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001005781A (ja) * 1999-06-18 2001-01-12 Life Gijutsu Kenkyusho:Kk 保護された情報の通信システム
US7194004B1 (en) * 2002-01-28 2007-03-20 3Com Corporation Method for managing network access
EP1339199A1 (en) 2002-02-22 2003-08-27 Hewlett-Packard Company Dynamic user authentication
US8549590B1 (en) 2012-07-03 2013-10-01 Lexisnexis Risk Solutions Fl Inc. Systems and methods for identity authentication using a social network
JP4586348B2 (ja) * 2003-10-09 2010-11-24 カシオ計算機株式会社 通信端末及び通信処理プログラム
JP2006005879A (ja) * 2004-06-21 2006-01-05 Trend Micro Inc 通信装置、無線ネットワーク、プログラムおよび記録媒体
US8302164B2 (en) 2004-07-22 2012-10-30 Facebook, Inc. Authorization and authentication based on an individual's social network
EP1708527A1 (en) 2005-03-31 2006-10-04 BRITISH TELECOMMUNICATIONS public limited company Location based authentication
US8572387B2 (en) 2006-07-26 2013-10-29 Panasonic Corporation Authentication of a peer in a peer-to-peer network
US9596585B2 (en) * 2006-08-04 2017-03-14 Microsoft Technology Licensing, Llc Managing associations in ad hoc networks
US20080109867A1 (en) * 2006-11-07 2008-05-08 Microsoft Corporation Service and policies for coordinating behaviors and connectivity of a mesh of heterogeneous devices
US8156332B2 (en) 2007-05-29 2012-04-10 Apple Inc. Peer-to-peer security authentication protocol
CN101874418B (zh) * 2007-09-26 2013-10-23 高通股份有限公司 用于根据多个网络服务应用简档和数据会话冲突解决来配置无线设备的系统和方法
US8180807B2 (en) * 2007-11-27 2012-05-15 At&T Intellectual Property I, L.P. System and method of determining relationship information
US20110143754A1 (en) * 2008-07-24 2011-06-16 Roamware Inc. Predictive intelligence based automated camel testing
US8590021B2 (en) 2009-01-23 2013-11-19 Microsoft Corporation Passive security enforcement
US20100228767A1 (en) 2009-02-06 2010-09-09 Slinker Scott W Determining relationships between individuals in a database
US20120079092A1 (en) * 2009-12-28 2012-03-29 Telefonaktiebolaget L M Ericsson (Publ) Management of data flows between user equipment nodes and clusters of networked resource nodes
EP2343866B1 (en) * 2010-01-11 2016-03-30 Vodafone Holding GmbH Network-based system for social interactions between users
JP2012105077A (ja) * 2010-11-10 2012-05-31 Sony Corp 無線端末装置、通信システムおよび無線端末装置の制御方法
US8504831B2 (en) 2010-12-07 2013-08-06 At&T Intellectual Property I, L.P. Systems, methods, and computer program products for user authentication
JP5889525B2 (ja) * 2010-12-21 2016-03-22 パナソニックIpマネジメント株式会社 認証システム
JP2012209898A (ja) * 2011-03-30 2012-10-25 Sony Corp 端末装置および通信方法、情報処理装置および方法、プログラム、並びに情報処理システム
US8782761B1 (en) 2011-08-08 2014-07-15 Google Inc. Generating authentication challenges based on preferences of a user's contacts
US8583955B2 (en) * 2011-10-04 2013-11-12 Advanergy, Inc. Battery management system and method
EP2767031A4 (en) 2011-10-11 2015-07-08 Tangome Inc USER AUTHENTICATION OF DEVICE
US9240881B2 (en) * 2012-04-30 2016-01-19 Alcatel Lucent Secure communications for computing devices utilizing proximity services
US9900171B2 (en) * 2013-02-25 2018-02-20 Qualcomm Incorporated Methods to discover, configure, and leverage relationships in internet of things (IoT) networks

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240089258A1 (en) * 2019-10-10 2024-03-14 Seong Min YOON Identity authentication system and method therefor
KR102201088B1 (ko) * 2019-10-10 2021-01-11 윤성민 동일성 인증 시스템 및 그 방법
WO2021071295A1 (ko) * 2019-10-10 2021-04-15 윤성민 동일성 인증 시스템 및 그 방법
KR20210042797A (ko) * 2019-10-10 2021-04-20 윤성민 동일성 인증 시스템 및 그 방법
KR102201083B1 (ko) * 2019-10-21 2021-01-08 윤성민 금융거래시스템 및 그 방법
KR20210047238A (ko) * 2019-10-21 2021-04-29 윤성민 금융거래시스템 및 그 방법
KR20210075869A (ko) * 2019-12-13 2021-06-23 윤성민 전자투표시스템 및 전자투표방법
WO2021118251A1 (ko) * 2019-12-13 2021-06-17 윤성민 전자투표시스템 및 전자투표방법
KR102201085B1 (ko) * 2019-12-13 2021-01-08 윤성민 전자투표시스템 및 전자투표방법
KR20220002085A (ko) 2020-06-30 2022-01-06 윤성민 사물의 동일성 인증 시스템 및 그 방법
KR102252863B1 (ko) 2020-06-30 2021-05-14 윤성민 사물의 동일성 인증 시스템 및 그 방법
KR102296322B1 (ko) 2020-09-01 2021-08-30 윤성민 동일성 인증 시스템 및 그 방법
KR20220029421A (ko) 2020-09-01 2022-03-08 윤성민 동일성 인증을 위한 인증관리컴퓨터, 인증관리컴퓨터를 이용한 동일성 인증 시스템 및 동일성 인증 방법
WO2022060137A1 (ko) * 2020-09-21 2022-03-24 윤성민 인증관리컴퓨터 및 인증관리방법
KR102410294B1 (ko) 2020-12-11 2022-06-16 윤성민 사람 및 사물의 동일성인증을 통한 사물의 보안 시스템 및 그 방법
KR20220088391A (ko) 2020-12-11 2022-06-27 윤성민 사물의 보안 관리를 위한 관리컴퓨터, 이를 이용한 보안 관리 시스템 및 그 방법

Also Published As

Publication number Publication date
JP6066538B1 (ja) 2017-01-25
CN105684389A (zh) 2016-06-15
US9386004B2 (en) 2016-07-05
EP3061226A1 (en) 2016-08-31
WO2015061566A1 (en) 2015-04-30
CN105684389B (zh) 2017-07-28
US20150113621A1 (en) 2015-04-23
KR101727873B1 (ko) 2017-04-17
JP2017505554A (ja) 2017-02-16

Similar Documents

Publication Publication Date Title
KR101727873B1 (ko) 피어 기반 인증
US11683157B2 (en) Network-based device registration for content distribution platforms
US9954679B2 (en) Using end-user federated login to detect a breach in a key exchange encrypted channel
US9584482B2 (en) Access control lists for private networks of system agnostic connected devices
US9903940B2 (en) Entrusted device localization scheme using ultrasound signatures
KR101634916B1 (ko) 피어 투 피어 애플리케이션들을 위한 네트워크 보조 디바이스 투 디바이스 발견
US9119065B2 (en) Authentication in secure user plane location (SUPL) systems
US9253811B2 (en) Network-assisted device-to-device communication
US8954035B2 (en) Wi-Fi authentication by proxy
US11070376B2 (en) Systems and methods for user-based authentication
CN113519175A (zh) 针对固定网络住宅网关的认证决定
US9538351B1 (en) Supporting unprovisioned emergency phone calls using voice over wireless local area network
EP3895456B1 (en) Method and system for delivering dedicated services restricted to a predefined service area
JP2017531233A (ja) 複数のデータソースによって複数の周波数において生成されたデータ入力を同期させるための方法および装置

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