KR20170048433A - 제휴 이전 서비스 발견을 보안하기 위한 시스템 및 방법 - Google Patents

제휴 이전 서비스 발견을 보안하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20170048433A
KR20170048433A KR1020177008005A KR20177008005A KR20170048433A KR 20170048433 A KR20170048433 A KR 20170048433A KR 1020177008005 A KR1020177008005 A KR 1020177008005A KR 20177008005 A KR20177008005 A KR 20177008005A KR 20170048433 A KR20170048433 A KR 20170048433A
Authority
KR
South Korea
Prior art keywords
identifier
service
generate
generating
response
Prior art date
Application number
KR1020177008005A
Other languages
English (en)
Other versions
KR101878112B1 (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 KR20170048433A publication Critical patent/KR20170048433A/ko
Application granted granted Critical
Publication of KR101878112B1 publication Critical patent/KR101878112B1/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/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • 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/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

서비스를 발견할 때 스테이션을 동작시키기 위한 방법은, 서비스의 제1 식별자를 생성하는 단계, 제1 파라미터에 따라 서비스의 제2 식별자를 생성하는 단계, 및 제3 식별자의 생성을 지시하는 요청을 송신하는 단계- 이러한 요청은 서비스의 제1 식별자 및 제1 파라미터를 포함함 -를 포함한다. 본 방법은, 제3 식별자를 포함하는 제1 응답을 수신하는 단계, 제2 식별자와 제3 식별자가 동일하지 않을 때 제1 응답이 유효하지 않은 것으로 결정하는 단계, 및 제2 식별자와 제3 식별자가 동일할 때 제1 응답이 유효한 것으로 결정하는 단계를 포함한다.

Description

제휴 이전 서비스 발견을 보안하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR SECURING PRE-ASSOCIATION SERVICE DISCOVERY}
본 출원은 2015년 8월 21일 출원된 "System and Method for Securing Pre-Association Service Discovery"라는 명칭의 미국 비-임시 특허 출원 제14/832,607호에 대한 우선권을 주장하고, 이는 2014년 8월 25일자 출원된 "Method and System for Securing Pre-association Service Discovery"라는 명칭의 미국 임시 출원 제62/041,470호로부터의 우선권을 주장하며, 이러한 특허 출원들 양자 모두는 그 전부가 재현되듯이 참조로 본 명세서에 포함된다.
본 발명은 일반적으로 디지털 통신에 관한 것으로, 보다 구체적으로는 제휴 이전 서비스 발견을 보안하기 위한 시스템 및 방법에 관한 것이다.
흔히 Wi-Fi라고도 하는, IEEE 802.11 계열의 기술 표준들 및 부수 기술은 디바이스들이 특정 목적을 위해 접속하는 서비스 중심 모델의 접속성을 향해 진화하고 있다. 이러한 목적이 있는 접속들은 특정 서비스들을 지원하는 네트워크들 및/또는 피어 디바이스들을 찾는 애플리케이션들에 의해 트리거된다. 이러한 서비스들의 예들은 파일 공유, 인쇄, 미디어 스트리밍 등을 포함한다.
Wi-Fi 접속은 인증, 제휴, 및, 일부 경우들에서는, IP(Internet Protocol) 어드레스 할당의 성공적인 완료 후에 통상적으로 수립되며, 그 후 서비스 데이터가 디바이스들 사이에 교환될 수 있다. 인증, 제휴, 및 IP 어드레스 할당 프로시저들에 의해 초래되는 상당한 양의 신호 오버헤드 및 지연이 존재할 수 있으며, 이는 접속된 디바이스가 요청된 서비스들을 제공할 수 있는 경우에만 보증될 수 있다. 불필요한 지연을 회피하기 위해, 디바이스는 제휴 이전 서비스 발견을 행하여, 인증 및 제휴 프로시저들을 먼저 수행하지 않고, 디바이스들 및 디바이스들이 제공하는 서비스들을 식별할 수 있다. 제휴 이전 서비스 발견을 보안하기 위한 메커니즘들이 요구된다.
예시적인 실시예들은 제휴 이전 서비스 발견을 보안하기 위한 시스템 및 방법을 제공한다.
예시적인 실시예에 따르면, 서비스를 발견할 때 스테이션을 동작시키기 위한 방법이 제공된다. 본 방법은, 스테이션에 의해, 서비스의 제1 식별자를 생성하는 단계, 스테이션에 의해, 제1 파라미터에 따라 서비스의 제2 식별자를 생성하는 단계, 및 스테이션에 의해, 제3 식별자의 생성을 지시하는 요청을 송신하는 단계- 이러한 요청은 서비스의 제1 식별자 및 제1 파라미터를 포함함 -를 포함한다. 본 방법은, 스테이션에 의해, 제3 식별자를 포함하는 제1 응답을 수신하는 단계, 스테이션에 의해, 제2 식별자와 제3 식별자가 동일하지 않을 때 제1 응답이 유효하지 않은 것으로 결정하는 단계, 및 스테이션에 의해, 제2 식별자와 제3 식별자가 동일할 때 제1 응답이 유효한 것으로 결정하는 단계를 포함한다.
다른 예시적인 실시예에 따르면, 서비스를 발견하도록 적응되는 스테이션이 제공된다. 이러한 스테이션은 처리 유닛, 처리 유닛에 동작 가능하게 연결되는 송신기, 및 처리 유닛에 동작 가능하게 연결되는 수신기를 포함한다. 처리 유닛은, 서비스의 제1 식별자를 생성하고, 서비스의 제2 식별자를 생성하고- 제2 식별자는 제1 파라미터에 따라 생성됨 -, 제2 식별자와 제3 식별자가 동일하지 않을 때 제1 응답이 유효하지 않은 것으로 결정하며, 제2 식별자와 제3 식별자가 동일할 때 제1 응답이 유효한 것으로 결정한다. 송신기는 제3 식별자의 생성을 지시하는 요청을 송신하며, 이러한 요청은 서비스의 제1 식별자 및 제1 파라미터를 포함한다. 수신기는 제3 식별자를 포함하는 제1 응답을 수신한다.
다른 예시적인 실시예에 따르면, 서비스를 광고할 때 스테이션을 동작시키기 위한 방법이 제공된다. 본 방법은, 스테이션에 의해, 제1 식별자 및 제1 파라미터를 포함하는 요청을 수신하는 단계, 스테이션에 의해, 서비스의 제2 식별자를 생성하는 단계, 및 스테이션에 의해, 제1 식별자와 제2 식별자가 동일한 것으로 결정할 때, 스테이션에 의해, 제1 파라미터에 따라 서비스의 제3 식별자를 생성하는 단계, 및 스테이션에 의해, 서비스의 제3 식별자를 포함하는 제1 응답을 송신하는 단계를 포함한다.
다른 예시적인 실시예에 따르면, 서비스를 광고하도록 적응되는 스테이션이 제공된다. 이러한 스테이션은, 수신기, 수신기에 동작 가능하게 연결되는 처리 유닛, 및 처리 유닛에 동작 가능하게 연결되는 송신기를 포함한다. 수신기는 제1 식별자 및 제1 파라미터를 포함하는 요청을 수신한다. 처리 유닛은 서비스의 제2 식별자를 생성하고, 제1 식별자와 제2 식별자가 동일할 때, 제1 파라미터에 따라 서비스의 제3 식별자를 생성한다. 송신기는 서비스의 제3 식별자를 포함하는 제1 응답을 송신한다.
전술한 실시예들의 실시는 가입자 프라이버시를 보호하는 것을 돕기 위해 서비스 명칭들을 암호화함으로써 제휴 이전 서비스 발견을 보안한다.
또한, 상이하게 절단된 해시 출력들과 임시값들(nonces)을 매칭하는 해시의 사용을 통해 보안이 더욱 강화된다.
본 개시내용 및 그 이점들의 보다 완전한 이해를 위해, 이제 첨부 도면들과 관련하여 취해지는 다음의 설명들이 참조된다.
도 1은 본 명세서에 설명되는 예시적인 실시예들에 따른 예시적인 통신 시스템을 도시한다.
도 2는 피어 스테이션(또는 디바이스)에서 서비스의 발견 동안 교환되는 메시지들을 강조하는 예시적인 메시지 교환 도해를 도시한다.
도 3은 서비스 발견을 수행할 때 2개의 NAN 디바이스들 사이의 상호 작용을 강조하는 예시적인 통신 시스템을 도시한다.
도 4는 제휴 이전 발견을 위해 IEEE 802.11 TGaq에 제안된 예시적인 통신 시스템의 아키텍처 및 네트워크 엘리먼트들을 도시한다.
도 5a는 본 명세서에 설명되는 예시적인 실시예들에 따라 보안된 제휴 이전 서비스 발견을 수행하는 가입자에서 발생하는 예시적인 동작들의 흐름도이다.
도 5b는 본 명세서에 설명되는 예시적인 실시예에 따라 보안된 제휴 이전 서비스 발견을 수행하는 발행자에서 발생하는 예시적인 동작들의 흐름도이다.
도 6a는 보안된 제휴 이전 서비스 발견을 수행하는 가입자에서 발생하는 예시적인 동작들의 흐름도를 도시하며, 파라미터는 본 명세서에 설명되는 예시적인 실시예들에 따른 해시 출력의 일부를 나타낸다.
도 6b는 보안된 제휴 이전 서비스 발견을 수행하는 발행자에서 발생하는 예시적인 동작들의 흐름도를 도시하고, 파라미터는 본 명세서에 설명되는 예시적인 실시예들에 따른 해시 출력의 일부를 나타낸다.
도 7a는 보안된 제휴 이전 서비스 발견을 수행하는 가입자에서 발생하는 예시적인 동작들의 흐름도를 도시하며, 파라미터는 본 명세서에 설명되는 예시적인 실시예들에 따른 임시값이다.
도 7b는 보안된 제휴 이전 서비스 발견을 수행하는 발행자에서 발생하는 예시적인 동작들의 흐름도를 도시하며, 파라미터는 본 명세서에 설명되는 예시적인 실시예들에 따른 임시값이다.
도 8은 본 명세서에 설명되는 예시적인 실시예들에 따른 고속 인증 및 제휴 이전 서비스 발견을 강조하는 메시지 교환 도해를 도시한다.
도 9a는 본 명세서에 설명되는 예시적인 실시예에 따른 고속 인증 및 제휴 이전 서비스 발견에 참여하는 가입자에서 발생하는 예시적인 동작들의 흐름도이다.
도 9b는 본 명세서에 설명되는 예시적인 실시예에 따른 고속 인증 및 제휴 이전 서비스 발견에 참여하는 발행자에서 발생하는 예시적인 동작들의 흐름도이다.
도 10은 본 명세서에 개시되는 디바이스들 및 방법들을 구현하기 위해 사용될 수 있는 처리 시스템의 블록도이다.
현재의 예시적인 실시예들의 동작 및 그 구조가 이하에서 상세히 논의된다. 그러나, 본 개시내용은 매우 다양한 구체적인 정황들에서 구현될 수 있는 많은 적용 가능한 발명 개념들을 제공한다는 점이 이해되어야 한다. 논의되는 구체적인 실시예들은 본 개시내용의 구체적인 구조들 및 본 명세서에 개시되는 실시예들을 동작시키는 방식들을 설명하기 위한 것일 뿐이며, 본 개시내용의 범위를 제한하지는 않는다.
일 실시예는 제휴 이전 서비스 발견을 보안하는 것에 관한 것이다. 예를 들어, 스테이션은 서비스의 제1 식별자를 생성하고, 제1 파라미터에 따라 서비스의 제2 식별자를 생성하고, 제3 식별자의 생성을 지시하는 요청을 송신하며, 이러한 요청은 서비스의 제1 식별자 및 제1 파라미터를 포함한다. 이러한 스테이션은 또한 제3 식별자를 포함하는 제1 응답을 수신하고, 제2 식별자와 제3 식별자가 동일하지 않을 때 제1 응답이 유효하지 않다고 결정하고, 제2 식별자와 제3 식별자가 동일할 때 제1 응답이 유효하다고 결정한다.
실시예들은 구체적인 정황, 즉 접속의 수립 이전에 서비스들을 발견하기 위한 서비스 중심 접속들 및 제휴 이전 동작들을 지원하는 무선 통신 시스템들에서의 예시적인 실시예들에 관하여 설명될 것이다. 실시예들은 IEEE 802.11aq, IEEE 802.15.8 PAC(Peer Aware Communications), WFA(Wi-Fi Alliance) NAN(Neighbor Awareness Networking), WFA WFDS(Wi-Fi Direct Services), WFA ASP(Application Service Platform) 2.0, 3GPP(Third Generation Partnership Project) D2D(Device-to-Device) 등과 호환되는 것들과 같은 표준 호환 무선 통신 시스템들, 서비스 중심 접속 및 제휴 이전 발견을 지원하는 기술 표준 통신 시스템들, 및 비-표준 호환 통신 시스템들에 적용될 수 있다.
도 1은 예시적인 통신 시스템(100)을 도시한다. 통신 시스템(100)은 BSS(basic service set)를 형성하는 2개의 스테이션들, STA1(105) 및 STA2(110)를 포함한다. 스테이션은 또한 디바이스, 단말, UE(user equipment), MS(mobile station), 통신 노드, 사용자 등으로 종종 지칭된다. 이러한 2개의 스테이션들은 AP(access point), NodeB, eNB(eNodeB), BS(base station) 또는 통신 제어기와 같은 중앙 집중식 네트워크 장비의 도움 없이도 802.11 MAC(media access control) 및 PHY(physical) 레이어 시그널링을 사용하여 서로 직접 통신한다. 이러한 종류의 통신은 ad-hoc 또는 P2P(peer-to-peer) 통신이라고도 한다. Wi-Fi Direct라고도 하는 Wi-Fi P2P는 IEEE(Institute of Electrical and Electronics Engineers) 802.11 무선 인터페이스 표준을 사용하는 이러한 P2P 통신 기술의 일 예이며, 많은 스마트 폰들, 프린터들, 및 가전 제품들 중에서 점점 인기가 높아지고 있다. Wi-Fi Direct 사양은 IEEE 802.11 표준에 기초하여 WFA(Wi-Fi Alliance)에 의해 개발되었다. 최근 Wi-Fi Alliance는 새로운 WFDS(Wi-Fi Direct Services) 사양으로 Wi-Fi Direct를 더욱 증대시켰고, 이는 Wi-Fi Direct에 대한 서비스 발견 및 서비스 레벨 상호 운용성을 강화한다.
BSS는 다수의 스테이션들을 이용할 수 있다는 점이 이해되지만, 간결함을 위해 2개의 스테이션들만이 도시된다. 추가적으로, 통신 시스템은 AP 제어 통신을 수행하기 위해 다수의 AP들을 이용할 수 있지만, 예를 들어, 도 1에는 AP들이 도시되지 않는다.
도 2는 피어 스테이션(또는 디바이스)에서 서비스의 발견 동안 교환되는 메시지들을 강조하는 메시지 교환 도해(200)를 도시한다. WFDS에서, 서비스는 Universal Coded Character Set + Transformation Format - 서비스 명칭의 8비트(UTF-8) 문자열로 표현된다. 예를 들어, 프린터 서비스에 대해 WFDS 사양에서 정의되는 서비스 명칭은 "org.wi-fi.wfds.print.tx"이다. WFA는 또한 WFA에 의해 정의되지 않은 서비스들의 서비스 명칭들에 대해 "역 도메인 명칭 표기법(reverse domain name notation)"을 사용할 것을 권장한다. 서비스 명칭 외에, Service Hash라고 하는 짧은 식별자가 서비스를 표현하는데 사용될 수도 있다. Service Hash는, 예를 들어, 서비스 명칭이 해시 함수에 대한 입력인 SHA-256 해시 함수의 해시 출력의 처음 6개 옥텟들이다.
메시지 교환 도해(200)는 광고자 역할로 동작하는 디바이스 A(205) 및 탐색자 역할로 동작하는 디바이스 B(215)에 의해 교환되는 메시지들 및 수행되는 처리를 디스플레이한다. 본 개시내용의 예시적인 실시예들에서, 광고자는 발행자에 대한 상호 교환 가능한 용어이고, 탐색자는 가입자에 대한 상호 교환 가능한 용어이다. 디바이스 A(205) 및 디바이스 B(215) 각각은, 서비스 레이어(디바이스 A(205) 및 디바이스 B에 대해 각각 207 및 217), ASP(application service platform) 레이어(디바이스 A(205) 및 디바이스 B에 대해 각각 209 및 219), P2P(peer-to-peer) MAC(media access control) 레이어(디바이스 A(205) 및 디바이스 B에 대해 각각 211 및 221)와 같은 다수의 레이어들을 포함할 수 있다. 도 2를 간결화하는 것을 돕기 위해 PHY(physical) 레이어들과 같은 P2P MAC 레이어들 아래의 레이어들의 세부 사항은 의도적으로 생략된다. 디바이스 A(205)의 서비스 레이어(207)는 디바이스 A(205)의 ASP 레이어(209)와의 AdvertiseService() 프로시저를 하나 이상의 service_name_advertiser(들)로 착수할 수 있고, 이들 각각은 디바이스 A(205)에 의해 제공되는 서비스의 서비스 명칭이다(이벤트 230으로 도시됨). 이벤트(230)는 디바이스 A(205)의 ASP 레이어(209)가 WFDS 서비스를 추가하게 한다(이벤트 232로 도시됨). 디바이스 A(205)의 ASP 레이어(209)는 각각의 service_name_advertiser 에 대한 Service Hash를 또한 생성할 수 있다(이벤트 234로 도시됨).
디바이스 B(215)의 서비스 레이어(217)는 디바이스 B(215)의 ASP 레이어(219)와의 SeekService() 프로시저를 하나 이상의 service_name_seeker(들)로 착수할 수 있고, 이들 각각은 디바이스 B(215)가 원하는 서비스의 서비스 명칭이다(이벤트 236으로 도시됨). 이벤트(236)는 디바이스 B(215)의 ASP 레이어(219)가 각각의 service_name_seeker에 대한 Service Hash를 생성하게 한다(이벤트 238로 도시됨). 디바이스 B(215)의 ASP 레이어(219)는, Service Hash를 생성하기 위해, service_name_seeker의 해시 출력의 일부, 예를 들어, 해시 출력의 처음 6개 옥텟들을 사용할 수 있다. P2P MAC 레이어(221)는 하나 이상의 Service Hash(들)을 포함하는 P2P Probe Request를 전송할 수 있다(이벤트(240)로서 도시됨).
디바이스 A(205)는 자신의 Service Hash(service_name_advertiser로부터 생성됨)가 P2P Probe Request(service_name_seeker로부터 탐색기(즉, 디바이스 B(215))에 의해 생성됨)에서 수신되는 Service Hash와 매칭되는지 결정하는 점검을 수행할 수 있다(Hash Matching(242)으로 도시됨). 매칭되는 것이 있으면, 디바이스 A(205)는 매칭된 Service Hash의 service_name_advertiser를 포함하는 P2P Probe Response를 전송할 수 있다(이벤트 244로 도시됨). 디바이스 B(215)는 디바이스 A(205)로부터 수신되는 service_name_advertiser가 service_name_seeker와 매칭되는지 결정하는 점검을 수행할 수 있다(Name Matching(246)으로 도시됨). 매칭되는 것이 있으면, 디바이스 B(215)는 service_name_seeker를 갖는 SD(Service Discovery) Request 프레임 및 부가 서비스 정보에 대한 요청을 디바이스 A(205)에 송신할 수 있다(이벤트 248로 도시됨). 다음으로, 디바이스 A는 서비스 명칭 매칭 및 서비스 정보 매칭을 수행할 수 있고("Name Matching, Service Information Matching" 250으로 도시됨), SD Response 프레임에서 요청된 부가 서비스 정보로 응답할 수 있다(이벤트 252로 도시됨).
도 2에 도시되는 바와 같이, 일반 텍스트 서비스 명칭(들)은 Probe Response 및 SD Request/Response 프레임들에서 사용되며, 이들은 WFDS 사양에 따른 임의의 Layer 2 보안 또는 프라이버시 보호 조치 의해 보호되지 않으며, 그 이유는 그들의 본질이 제휴 관리 프레임들이기 때문이다. 노출된 서비스 명칭들은 의도되지 않은 수신자에 의해 사용자 프로필을 작성하거나 사용자에 관한 개인 정보를 유추하는데 사용될 수 있다. 예로서, 모바일 건강 관리 디바이스에서 실행되는 서비스는 디바이스가 사용되는 질병에 관련되는 방식으로 명명될 수 있다. 따라서 서비스 명칭은, 일반 텍스트 형식으로 노출될 때, 디바이스의 사용자가 그 특정 질병을 갖는 것을 나타낼 수 있다.
배경기술에서의 디바이스들에서 실행되는 저전력 메커니즘을 Wi-Fi 기술에 제공하여 디바이스들이 이웃을 인식하게 하는 NAN(neighbor awareness networking) 인증 프로그램 및 사양이 Wi-Fi Alliance NAN Marketing and Technical Task Groups에 의해 현재 개발중이다. 이러한 NAN 기술에 의하면, 모바일 디바이스들은 그들 근처에 있는 사람 및 서비스들을 효율적으로 발견할 수 있다. NAN을 위한 통상적인 애플리케이션들은 Wi-Fi 기반 모바일 소셜 네트워킹, 모바일 상거래, 모바일 광고, 무선 멀티 플레이어 게임 등을 포함한다.
도 3은 서비스 발견을 수행할 때 2개의 NAN 디바이스들 사이의 상호 작용들을 강조하는 통신 시스템(300)을 도시한다. 도 3에 도시되는 바와 같이, 2개의 NAN 디바이스들(NAN 디바이스(305) 및 NAN 디바이스(315))과 NAN 디바이스들로서의 이러한 NAN 디바이스들 내의 NAN 컴포넌트들(애플리케이션들(307 및 317), DE(discovery engines)(309 및 319), 및 MAC 레이어들(311 및 321) 등) 사이의 상호 작용들은 드래프트 Wi-Fi Alliance NAN 사양 v0.0r18에 따라 802.11 Physical Layer(325)를 통해 서비스 발견을 수행한다. AdvertiseService 및 SubscribeService 명령들은 Applications에 의해 API들(application programming interfaces)을 통해 NAN DE들에 제공된다. NAN DE들은 수신된 AdvertiseService 또는 SubscribeService 명령을 처리하며, 이에 기초하여, NAN Discovery Engine이 Publish 또는 Subscribe 메시지를 생성하여 이를 NAN MAC 컴포넌트들에 제공한다. NAN MAC 컴포넌트들은 Publish 또는 Subscribe 메시지들을 운반하는 NAN Beacon 프레임들 및 Service Discovery 프레임들을 처리하여 취급하는 것을 담당한다. NAN Service Discovery 프레임은 상세한 서비스 정보(예를 들어, Publish 메시지) 또는 상세한 서비스 쿼리(예를 들어, Subscribe 메시지)를 제공하기 위해 Wi-Fi Alliance가 벤더 특정 콘텐츠들을 정의한 IEEE 802.11 Public Action 프레임 포맷을 사용한다.
NAN에서, 일반 텍스트 서비스 명칭은 무선으로 NAN 프로토콜 메시지들에서는 사용되지 않는다. 대신에, WFDS에서 Service Hash로서 이전에 설명된 서비스 명칭과 정확히 동일한 절단된 암호화 해시인, Service ID(Identifier)가 NAN 프로토콜 메시지들에 사용되어 서비스를 식별한다. 그러나, NAN Service Discovery 프레임들에 운반되는 NAN Service Queries 및 Service Responses에서의 나머지 콘텐츠는 MAC 서브레이어에서 보호되지 않는다. 결과적으로, 쿼리 중인 서비스의 서비스 정보와 같은 개인 정보, 종종 디바이스의 글로벌 MAC 어드레스를 포함하는 발견 후 접속 정보가 의도되지 않은 수신자에게 노출될 수 있으며, 의도되지 않은 수신자는 이러한 서비스 정보를 사용하여 사용자 프로필을 작성할 수 있고/있거나 이러한 MAC 어드레스를 사용하여 사용자를 추적할 수 있다. 이는 서비스 쿼리들 및 서비스 응답들의 교환 이전의 인증 및 제휴가 없어서, WFDS 서비스 발견 및 IEEE 802.11aq과 같은 다른 제휴 이전 발견 메커니즘들에서도 마찬가지이다.
IEEE 802.11 TGaq(Task Group AQ)는 현재 Wi-Fi 디바이스들이 액세스 포인트와 제휴하기 전에 WLAN(wireless local area network)에서 제공되는 서비스들을 발견할 수 있게 하는 PAD(pre-association discovery) 기술을 개발하고 있다. 도 4는 제휴 이전 발견을 위해 IEEE 802.11 TGaq에 제안된 예시적인 통신 시스템(400)의 아키텍처 및 네트워크 엘리먼트들을 도시한다. 통신 시스템(400)은 스테이션 STA1(405), Wi-Fi를 사용하여 스테이션 STA1(405)과 같은 스테이션들을 서비스하는 액세스 포인트 AP1(410), 및 AP1(410)와 접속되는 STP(service transaction proxy) 엔티티(415)를 포함한다. STP(415)는 근거리 네트워크(420)의, AP2와 같은, 다른 액세스 포인트들과 마찬가지로 접속될 수 있다. STP(415)는 서비스들의 리스트 및 제휴 서비스 정보를 캐싱하는 논리 엔티티이다. STP(415)는 네트워크(425)에 또한 연결될 수 있어, 예를 들어, 네트워크(425)에서의 광고자들로부터 서비스들에 관한 정보 및 제휴 서비스 정보에 관한 정보를 획득할 수 있다. STA1(405)과 같은 스테이션들은, STP(415)에 서비스 쿼리 메시지들을 전송하고, AP1(410)과 같은, 액세스 포인트와 제휴 프로시저를 수행하기 전에, 근거리 네트워크(420)의, AP1(410)과 같은, 액세스 포인트를 통해 STP(415)로부터 서비스 응답 메시지들을 수신할 수 있다. STA1(405)과 AP1(410) 사이에서, 서비스 쿼리 및 서비스 응답 메시지들은 GAS(generic advertisement service) 프레임들 및 GAS Response 프레임들을 사용하여 IEEE 802.11aq MAC 서브레이어를 통해 전달되며, 이들은 NAN Publish 및 Subscribe 메시지들이 도 3에 도시되는 바와 같이 NAN Service Discovery 프레임들을 사용하여 NAN MAC 서브레이어를 통해 전달되는 방식과 유사하다. STP(415)와 AP1(410)은 통상적으로 유선을 사용하여 접속된다. 따라서, STP(415)와 AP1(410) 사이에서, Diameter 또는 RADIUS(Remote Authentication Dial In User Service)와 같은 유선 기반 프로토콜을 사용하여 서비스 쿼리 및 서비스 응답 메시지들이 전달될 수 있다.
위에 논의된 바와 같이, 개인 정보가 WFDS 및 NAN 양자 모두에서 의도되지 않은 수신자에게 유출될 수 있고, 이는 보안 취약성에 이를 수 있다. 예로서, 해커의 디바이스는 합법적인 서비스 광고자(해커에게 그 서비스 명칭을 제공함)로부터 WFDS P2P Probe Response 및 SD Response 프레임들을 수신하여, 해커가 Service ID를 광고함으로써 다른 곳에서 합법적인 서비스 광고자인 것처럼 가장하게 하며, 이러한 Service ID는, WFDS P2P Probe Requests를 전송하도록 서비스 탐색자를 유인하기 위해서, 해커의 디바이스가 송신한 NAN Publish 메시지에서, WFDS P2P Probe Response 및 SD Response 프레임들에서 발견한 서비스 명칭으로부터 생성된다. 서비스 탐색자로부터의 WFDS P2P Probe Request에 응답하여, 해커의 디바이스는 해커의 디바이스가 서비스 탐색자에게 전송하는 WFDS P2P Probe Response 및 SD Response에 훔친 서비스 명칭 및 서비스 정보를 포함시킨으로써 이들을 재생하여, 합법적인 서비스 광고자가 서비스 탐색자에게 응답하는 것처럼 보이게 한다. 다음으로, 해커의 디바이스는 WFDS 프로시저를 사용하여 합법적인 서비스 탐색자와 P2P 접속을 셋업할 수 있다. 일단 IP 레이어 및 Transport 레이어 접속이 수립되면, 해커는 합법적인 서비스 탐색자에게 광고와 같은 정크 정보를 전송하기 시작할 수 있다.
다른 예로서, 해커의 디바이스는 서비스 제공자가 전송하는 NAN Publish 메시지로부터 합법적인 서비스 제공자의 Service ID를 수신한다. 해커의 디바이스는 서비스 탐색자인 척하고, WFDS P2P Probe Request에서의 Service Hash와 동일한 Service ID를 재생함으로써 서비스 제공자에게 WFDS P2P Probe Request을 전송한다(동일한 서비스 명칭에 대한 WFDS에서의 Service Hash 및 NAN에서의 Service ID가 정확히 동일하기 때문임). Service Hash가 매칭된다고 결정한 후, 서비스 제공자는 서비스 명칭을 포함하는 WFDS P2P Probe Response로 응답한다. 다음으로, 해커의 디바이스는 WFDS SD 쿼리를 추가로 전송하여 서비스 정보를 요청할 수 있다. 다음으로, 해커의 디바이스는 WFDS 프로시저를 사용하여 합법적인 서비스 제공자와 Wi-Fi P2P 접속을 셋업할 수 있다. 일단 IP 레이어 및 Transport 레이어 접속이 수립되면, 해커는 광고와 같은 정크 정보를 합법적인 서비스 제공자에게 전송하기 시작할 수 있다.
그러므로, 서비스 광고자는 추가의 서비스 발견 교환들이 허용되기 전에 서비스 탐색자의 진위를 검증할 수 있고, 그 역도 마찬가지이다.
드래프트 WFA NAN 사양에는, 공유 비밀 키, 예를 들어, NAN Group Key를 사용함으로써 보안된 방식으로 일군의 디바이스들이 NAN Publish 및 Subscribe 기능들을 사용할 수 있다. NAN Service ID는, NAN Group Key로 서비스 명칭을 해싱함으로써 형성되는, 의사 랜덤 Secure Service ID로 Service ID를 대체함으로써 더욱 보안될 수 있다. 그리고 NAN Service Information는, 예를 들어, NAN Master Group Key 및 AES-SIV 알고리즘을 사용하여, 서비스 정보를 암호화함으로써 보안될 수 있다. 그러나, 공유 그룹 키를 사용하려면 그룹 멤버십을 수립하고 공유 비밀 키들을 먼저 배포하기 위한 추가 단계들이 필요하다. 그리고 서비스 정보가 서비스 명칭과 같이 상대적으로 정적이면, 공유 그룹 키가 자주 변경되지 않는 한, 암호화된 서비스 정보는 여전히 재현 공격(re-play attacks)을 받을 수 있다.
따라서, 본 발명의 일 양상은 제휴 이전 서비스 발견 쿼리 및 응답의 초기 교환 동안 Layer 2 이상의 레이어들의 메시지들을 운반하기 위한 Layer 2 전송을 제공하는 것이다. 일부 실시예들에서, 이러한 Layer 2 이상의 레이어 메시지들은, 추가의 서비스 발견 교환이 허용되기 전에 또는 특정 서비스 정보가 개시되기 전에 광고자/발행자 또는 탐색자/가입자의 진위를 검증하기 위해; 후속 서비스 발견 쿼리, 응답, 및 후속 메시지들 동안 서비스 관련 정보의 프라이버시를 보호하기 위한 공유 비밀 키들을 수립하기 위해; 및/또는 후속 서비스 발견에서 서비스 정보를 나타내거나 보호하기 위해 미리 지정된 포맷을 표시하거나 요청하기 위해 및/또는 협상 메시지들을 공급하기 위해 사용될 수 있다.
예시적인 실시예에 따르면, 가입자들 및 발행자들은, 서비스 식별자들을 포함하는 서비스 쿼리 및 서비스 응답 메시지들을, 현재 송신되고 있는 메시지에서 및/또는 현재 송신되고 있는 메시지에 응답하여 수신될 메시지에서 서비스 식별자들이 어떻게 생성되거나 또는 선택되는지를 나타내는 파라미터와 교환한다. 서비스 식별자들의 이러한 동적 생성 또는 선택은 발행자들 및 가입자들의 진위를 검증함으로써 가입자들의 프라이버시가 보호되는 것을 보장하는데 도움을 준다.
도 5a는 보안된 제휴 이전 서비스 발견을 수행하는 가입자에서 발생하는 예시적인 동작들(500)의 흐름도를 도시한다. 동작들(500)은 가입자가 발행자와의 보안된 제휴 이전 서비스 발견을 수행할 때 가입자에서 발생하는 동작들을 나타낼 수 있다.
동작들(500)은 가입자가 찾고 있는 서비스의 서비스 명칭의 제1 식별자를 가입자가 생성하는 것으로 시작될 수 있다(블록 505). 가입자는, 제1 식별자와 함께, 요청, 즉, 서비스 쿼리 메시지 및 파라미터를 발행자에게 전송할 수 있다(블록 507). 제1 식별자와 같은 식별자는 가입자가 찾고 있는 서비스의 서비스 명칭과 같은 서비스 명칭에 SHA-256과 같은 해시 함수를 적용한 절단된 해시 출력일 수 있다. 파라미터는 매칭된 서비스를 나타내기 위해, 응답, 즉 서비스 응답 메시지에 포함될 제3 식별자를 생성하는 방법을 나타내는 제1 표시를 포함할 수 있다. 예시적인 예로서, 제1 표시는 응답에서 제3 식별자를 생성하는데 사용할 해시 출력의 제1 절단된 부분을 나타낸다. 다른 예시적인 예로서, 제1 표시는 서비스 요청에 대한 응답에서 제3 식별자를 생성하는데 사용할 제1 난수(즉, 제1 임시값)를 나타낸다. 파라미터에서의 제1 표시는 가입자가 서비스 응답에 포함되는 제3 식별자인 챌린지에 대한 발행자의 응답을 통해 발행자의 진위를 검증하기 위해 발행자에 대한 챌린지를 생성하는데 사용된다. 파라미터는 제1 식별자와의 해시 매칭에 사용되는 식별자를 생성하는 방법을 나타내는데 사용되는 제2 표시를 포함할 수 있다. 예시적인 예로서, 제2 표시는 제1 식별자와의 해시 매칭에 사용할 해시 출력의 제2 절단된 부분을 나타낸다. 다른 예시적인 예로서, 제2 표시는 제1 식별자와의 해시 매칭에 사용되는 식별자를 생성하는데 사용할 제2 난수(즉, 제2 임시값)를 나타낸다. 이러한 파라미터들의 사용을 포함하는 예시적인 실시예들에 대한 상세한 논의가 이하에 제공된다.
가입자는 가입자가 찾고 있는 서비스의 서비스 명칭의 제2 식별자를 생성할 수 있다(블록 509). 제2 식별자는 가입자에 의해 전송된 요청에 포함되는 파라미터에서의 제1 표시에 따라 생성된다. 가입자는 발행자로부터 제3 식별자를 갖는 응답, 즉 서비스 응답 메시지를 수신할 수 있다(블록 511). 제3 식별자는 발행자가 제공하고 있는 매칭된 서비스의 서비스 명칭(즉, 이로부터 해시 매칭을 위해 생성된 식별자가 제1 식별자와 매칭됨)으로부터 발행자에 의해 생성되고, 가입자에 의해 전송되는 파라미터에서의 제1 표시에 따라 생성된다. 가입자는 제2 식별자가 제3 식별자와 매칭되는지 결정하기 위한 점검을 수행할 수 있다(블록 513). 제2 식별자가 제3 식별자와 매칭되면, 그 응답은 유효하고(블록 515), 제휴 이전 서비스 발견이 완료될 수 있거나 또는 발행자와의 매칭된 서비스의 상세 서비스 정보의 추가 발견을 가입자가 진행할 수 있다. 제2 식별자가 제3 식별자와 매칭되지 않으면, 그 응답은 유효하지 않고, 발행자와의 제휴 이전 서비스 발견이 중단되거나 또는 다른 발행자와 제휴 이전 서비스 발견을 가입자가 반복할 수 있다. 발행자로부터 수신되는 응답은, 제2 파라미터에 따라 제4 식별자를 생성하라고, 그리고 프라이버시에 민감할 수 있는 부가 서비스 정보를 획득하기 위해 자신의 진위를 증명하는데 다음 서비스 쿼리 또는 후속 메시에서 매칭된 서비스를 나타내기 위한 제4 식별자를 사용하라고, 가입자에게 지시하는 제2 파라미터를 더 포함할 수 있다는 점이 주목된다. 예시적인 예로서, 제2 파라미터는 제4 식별자를 생성하는데 사용할 해시 출력의 제3 절단된 부분을 나타낸다. 다른 예시적인 예로서, 제2 파라미터는 제4 식별자를 생성하는데 사용할 제3 난수(즉, 제3 임시값)를 나타낸다. 다음으로, 부가 서비스 정보를 수신하고자 하는 가입자는 수신된 제2 파라미터에 따라 서비스 명칭의 제4 식별자를 생성하고, 제4 식별자를 포함하는 다음 서비스 쿼리 또는 후속 메시지를 전송한다. 결과적으로, 가입자는 발행자로부터 부가 서비스 정보를 포함하는 제2 응답을 수신할 수 있고, 제휴 이전 서비스 발견이 완료될 수 있다.
도 5b는 보안된 제휴 이전 서비스 발견을 수행하는 발행자에서 발생하는 예시적인 동작들(550)의 흐름도를 도시한다. 동작들(550)은 발행자가 가입자와의 보안된 제휴 이전 서비스 발견을 수행할 때 발행자에서 발생하는 동작들을 나타낼 수 있다.
동작들(550)은 요청, 즉 서비스 쿼리 메시지를 발행자가 수신하는 것으로 시작될 수 있다(블록 555). 요청은 제1 식별자 및 파라미터를 포함할 수 있다. 제1 식별자와 같은 식별자는 가입자가 찾고 있는 서비스의 서비스 명칭과 같은 서비스 명칭에 SHA-256과 같은 해시 함수를 적용한 절단된 해시 출력일 수 있다. 파라미터는, 매칭된 서비스가 제1 식별자와의 해시 매칭에서 발견되면, 매칭된 서비스를 나타내기 위해 응답, 즉 서비스 응답 메시지에 포함시킬 제3 식별자를 생성하는 방법을 나타내는 제1 표시를 포함할 수 있다. 예시적인 예로서, 제1 표시는 제3 식별자를 생성하는데 사용할 해시 출력의 제1 절단된 부분을 나타낸다. 다른 예시적인 예로서, 제1 표시는 제3 식별자를 생성하는데 사용할 제1 난수(즉, 제1 임시값)를 나타낸다. 파라미터는 제1 식별자와의 해시 매칭에 사용되는 제2 식별자를 생성하는 방법을 나타내는 제2 표시를 더 포함할 수 있다. 예시적인 예로서, 제2 표시는 제1 식별자와의 해시 매칭에서 제2 식별자로서 사용할 해시 출력의 제2 절단된 부분을 나타낸다. 다른 예시적인 예로서, 제2 표시는 제1 식별자와의 해시 매칭에 사용되는 제2 식별자를 생성하는데 사용할 제2 난수(즉, 제2 임시값)를 나타낸다. 이러한 파라미터들의 사용을 포함하는 예시적인 실시예들에 대한 상세한 논의가 이하에 제공된다.
발행자는 발행자에 의해 제공되는 서비스의 서비스 명칭에 SHA-256과 같은 해시 함수를 적용한 해시 출력의 절단된 부분을 사용하여 제2 식별자를 생성할 수 있다(블록 556). 발행자는, 예를 들어, 위 2개의 예시적인 예들 중 하나에서 설명된 바와 같이, 수신된 파라미터에서의 제2 표시에 따라 제2 식별자를 생성할 수 있다. 발행자는 제1 식별자가 제2 식별자와 매칭되는지 결정하기 위한 점검(즉, 해시 매칭)을 수행할 수 있다(블록 557). 제1 식별자가 제2 식별자와 매칭되면, 발행자는 수신된 파라미터에서의 제1 표시에 따라 매칭된 서비스의 제3 식별자를 생성할 수 있다(블록 559). 발행자는 매칭된 서비스를 나타내기 위해 제3 식별자를 포함하는 응답, 즉 서비스 응답 메시지를 가입자에게 전송할 수 있다(블록 561). 발행자는 서비스의 가용성 상태, 서비스의 특정 파라미터들 또는 속성들 등과 같은 매칭된 서비스의 서비스 정보를 응답에 더 포함시킬 수 있다. 발행자는 응답에 제2 파라미터를 더 포함시킬 수 있으며, 제2 파라미터는 가입자가 발행자에게 전송하는 다음 서비스 쿼리 또는 후속 메시지에서 매칭된 서비스를 나타내기 위해 가입자가 제4 식별자를 생성하는 방법을 나타낸다. 예시적인 예로서, 제2 파라미터는 제4 식별자를 생성하는데 사용할 해시 출력의 제3 절단된 부분을 나타낸다. 다른 예시적인 예로서, 제2 파라미터는 제4 식별자를 생성하는데 사용할 제3 난수(즉, 제3 임시값)를 나타낸다. 제2 파라미터는 발행자가 다음 서비스 쿼리 또는 후속 메시지에 포함되는 제4 식별자인 챌린지에 대한 가입자의 응답을 통해 가입자의 진위를 검증하기 위해 가입자에 대한 챌린지를 생성하는데 사용된다. 다음 서비스 쿼리 또는 후속 메시지에서 가입자에 의해 전송되는 제4 식별자가 발행자에 의해 예상되는 제4 식별자와 매칭되면, 발행자는 프라이버시에 민감할 수 있는 부가 서비스 정보로 응답할 수 있다. 다음 서비스 쿼리 또는 후속 메시지에서 가입자에 의해 전송되는 제4 식별자가 발행자에 의해 예상되는 제4 식별자와 매칭되지 않으면, 발행자는 가입자의 진위가 규명되지 않은 것으로 고려할 수 있고, 추가 응답이나 관련 서비스 정보의 개시를 중단하고 제휴 이전 서비스 발견을 종료할 수 있다. 블록 557에서 제1 식별자가 발행자가 제공하는 어느 서비스의 제2 식별자와도 매칭되지 않으면, 발행자는 요청이 충족될 수 없다고 고려할 수 있다. 다음으로, 발행자는 응답 없음 또는 부정적인 응답을 다시 가입자에게 제공하고 제휴 이전 서비스 발견을 종료할 수 있다.
예시적인 실시예에 따르면, 파라미터는 식별자로서 사용되는 서비스 명칭에 해시 함수가 적용될 때 생성되는 해시 출력의 일부를 지정한다. 일반적으로, 해시 출력은 길고, 해시 출력을 갖는 요청들 및/또는 응답들을 전부 전송하는 것은 시그널링 오버헤드의 관점에서 낭비일 수 있다. 따라서, 해시 출력들의 충분히 긴 부분들은 시그널링 오버헤드를 감소시키는데 사용될 수 있다. 예로서, 해시 출력의 6개 옥텟 부분들이 전체 해시 출력 대신 사용된다.
예시적인 예로서, 가입자는 서비스를 식별하기 위해 서비스 명칭의 절단된 해시의 하나의 버전(예를 들어, HASH-1)을 포함하는 서비스 쿼리 메시지를 전송할 수 있고, 이러한 해시가 매칭되는 것을 발견하면, 발행자가, 자신의 진위를 증명하기 위해 서비스 응답에 매칭된 서비스 명칭의 절단된 해시의 상이한 버전(예를 들어, HASH-2)을 포함시킴으로써 응답할 것을 요청할 수 있다. 프라이버시 또는 보안이 관심사인 서비스들에 대해, 서비스 명칭 자체가 의도된 당사자들 사이에서만 공유되는 비밀로서 사용될 수 있는 방식으로 이루어질 수 있다고 가정된다. 가입자는 다수의 미리 지정된 선택들로부터 절단된 해시의 특정 버전을 요청할 수 있다. 발행자에 의해 리턴되는 HASH-2가 가입자가 알고 있는 HASH-2와 매칭되지 않으면, 발행자의 진위가 규명되지 않고 응답이 폐기될 수 있다. 마찬가지로, 발행자는 다음 쿼리 또는 후속 메시지에서 요청된 서비스 명칭의 절단된 해시의 구체적이고 또 다른 버전을 사용할 것을 가입자에게 요청할 수 있다. 가입자에 의해 리턴되는 절단된 해시가 발행자에 의해 예상되는(또는 알고 있는) 것과 매칭되지 않으면, 가입자의 진위가 규명되지 않으며, 추가의 서비스 발견 교환들 또는 가입자에 대한 특정 서비스 정보의 개시가 허용되지 않는다. 이러한 목적으로, 동일한 서비스 명칭의 절단된 해시의 상이한 버전들은 통계적으로 비-상관성(uncorrelated)이어야 한다. 본 개시내용의 양상들은 2013년 12월 13일자로 출원되어 공동 양도된 미국 특허 출원: 출원 번호 제14/105,895호에서의 설명들에 관련되며, 이는 본명세서에 참조로 전부 포함된다. 공동 양도된 미국 특허 출원 제14/105,895호에 설명되는 바와 같이, 동일한 서비스 명칭의 절단된 해시의 차이 버전들을 생성하는 간단한 방식은, 해시 함수로부터의 동일한 해시 출력의 상이한, 바람직하게는 중첩되지 않는 부분들을 절단하는 것이다. 그리고 SHA-256 해시 함수와 같은 우수한 암호화 속성을 갖는 해시 함수가 사용되면, 동일한 서비스 명칭의 해시 출력의 상이한 부분과 중첩되지 않는 부분은 전체적으로 비-상관성이다.
SHA-256 해시 함수의 해시 출력은 256비트 길이이므로, 각각의 Service Hash가 6개 옥텟 길이이면, (Service Hash 또는 Service ID의 상이한 버전들로서 사용될) 5개의 중첩되지 않는 절단된 해시를 생성할 수 있다. Service Hash의 이러한 상이한 버전들은 시그널링 목적을 위해 순차적으로 인덱싱될 수 있다. 예를 들어, SHA-256 해시 함수의 해시 출력의 처음 6개 옥텟(예를 들어, Octet 0 내지 Octet 5)은 서비스 명칭의 제1 Service Hash를 형성할 수 있으며 버전 번호 1로서 인덱싱될 수 있고, SHA-256 해시 함수의 해시 출력의 다음 6개 옥텟(예를 들어, Octet 6 내지 Octet 11)은 동일한 서비스 명칭의 제2 Service Hash를 형성할 수 있으며 버전 번호 2로서 인덱싱될 수 있는 등등이다. SHA-256 해시 함수로부터 생성될 수 있는 상이한 버전들의 수를 증가시키기 위해, 대안적인 방식은 부분적으로 중첩되는 절단 패턴을 허용하는 것이다. 예를 들어, SHA-256 해시 함수의 해시 출력의 Bit 0 내지 Bit 47은 서비스 명칭의 제1 Service Hash를 형성할 수 있으며 버전 번호 1로서 인덱싱될 수 있고, SHA-256 해시 함수의 해시 출력의 Bit 1 내지 Bit 48은 동일한 서비스 명칭의 제2 Service Hash를 형성할 수 있으며 버전 번호 2로서 인덱싱될 수는 등등이다. 이러한 방식으로 SHA-256 해시 함수의 해시 출력으로부터 Service Hash의 208개의 상이한 버전들이 생성될 수 있다. 그러나, 일부 버전들은 서로 어떻게든 상관된다.
시그널링 목적으로, 가입자는 자신이 검색하고 있는 각각의 서비스에 대한 서비스 쿼리 메시지에 하나 이상의 Hash Version Number 필드들을 포함시킬 수 있고, 적어도 하나의 Hash Version Number 필드는 발행자가 발행자의 진위를 입증하기 위해 응답에 사용하기를 가입자가 요청하는 해시 버전을 나타낸다. 가입자가 검색하고 있는 서비스에 대한 서비스 쿼리 메시지에 가입자가 포함시킨 Service Hash의 해시 버전을 나타내기 위해 다른 Hash Version Number 필드가 포함될 수 있다. 마찬가지로 발행자는 자신이 광고하고 있는 또는 응답하고 있는 각각의 서비스에 대한 서비스 응답 메시지에 하나 이상의 Hash Version Number 필드들을 포함시킬 수 있고, 예를 들어, 하나의 Hash Version Number 필드는 발행자가 서비스 응답 메시지에 포함시킨 Service Hash의 해시 버전을 나타내고, 다른 Hash Version Number 필드는 가입자의 진위를 입증하기 위해 다음 쿼리 또는 후속 메시지에서 가입자가 사용하기를 발행자가 요청하는 해시 버전을 나타낸다.
도 6a는 보안된 제휴 이전 서비스 발견을 수행하는 가입자에서 발생하는 예시적인 동작들(600)의 흐름도를 도시하며, 파라미터는 서비스 응답 메시지에서 매칭된 서비스를 나타내는데 사용되는 식별자를 생성하는데 사용할 해시 출력의 일부를 나타낸다. 동작들(600)은 가입자가 발행자와의 보안된 제휴 이전 서비스 발견을 수행할 때 가입자에서 발생하는 동작들을 나타낼 수 있으며, 파라미터는 서비스 응답 메시지에서 매칭된 서비스를 나타내는데 사용되는 식별자를 생성하는데 사용할 해시 출력의 일부를 나타낸다. 이러한 파라미터는 가입자가 서비스 응답 메시지에 포함되는 식별자인 챌린지에 대한 발행자의 응답을 통해 발행자의 진위를 검증하기 위해 발행자에 대한 챌린지를 생성하는데 사용된다.
동작들(600)은 가입자가 찾고 있는 서비스의 서비스 명칭의 제1 식별자를 가입자가 생성하는 것으로 시작될 수 있다(블록 605). 제1 식별자와 같은 식별자는 SHA-256과 같은 해시 함수를 가입자가 찾고 있는 서비스의 서비스 명칭, 즉 service_name_subscriber와 같은 서비스 명칭에 적용하여 생성되는 해시 출력의 절단된 부분일 수 있다. 간략화를 위해, 제1 식별자는 해시 출력의 처음 6개 옥텟들(즉, Octet 0 내지 Octet 5)과 같은 미리 지정된 부분일 수 있다. 가입자는 제1 식별자 및 파라미터를 갖는 요청, 즉, 서비스 쿼리 메시지를 발행자에게 전송할 수 있다(블록 607). 이러한 파라미터는 발행자에 의해 제3 식별자를 생성하는데 사용할 해시 출력의 제1 절단된 부분을 나타내는데 사용된다. 가입자는 파라미터에 따라 제2 식별자를 생성할 수 있다(블록 609). 예시적인 예로서, 파라미터가 3이면, 제2 식별자는 service_name_subscriber에 해시 함수를 적용함으로써 생성되는 해시 출력의 세번째 6개 옥텟 부분(예를 들어, Octet 12 내지 Octet 17)이다(그리고 제3 식별자는 발행자에 의해 service_name_publisher에 해시 함수를 적용함으로서 생성되는 해시 출력의 세번째 6개 옥텟 부분(예를 들어, Octet 12 내지 Octet 17)이다).
가입자는 발행자로부터 제3 식별자를 갖는 응답, 즉 서비스 응답 메시지를 수신할 수 있다(블록 611). 제3 식별자는 발행자가 제공하는 서비스의 서비스 명칭(즉, service_name_publisher)로부터 발행자에 의해 생성되며, 가입자에 의해 전송되는 파라미터에 따라 생성된다. 가입자는 제2 식별자가 제3 식별자와 매칭되는지 결정하기 위한 점검을 수행할 수 있다(블록 613). 제2 식별자가 제3 식별자와 매칭되면, 응답은 유효하고(블록 615), 제휴 이전 서비스 발견이 완료될 수 있다. 제2 식별자가 제3 식별자와 매칭되지 않으면, 응답은 유효하지 않고 제휴 이전 서비스 발견이 중단되거나 가입자가 다른 발행자와 제휴 이전 서비스 발견을 반복할 수 있다. 이러한 응답은, 서비스 명칭의 제4 식별자를 생성하는데 사용할, 그리고 프라이버시에 민감할 수 있는 부가 서비스 정보를 획득하기 위해 자신의 진위를 증명하는데 다음 서비스 쿼리 또는 후속 메시에 제4 식별자를 포함시킬, 서비스 명칭에 해시 함수를 적용함으로써 생성되는, 해시 출력의 제2 절단된 부분을 나타내는 제2 파라미터를 더 포함할 수 있다는 점이 주목된다. 다음으로, 부가 서비스 정보를 수신하고자 하는 가입자는 제2 파라미터에 따라(즉, 해시 출력의 제2 절단된 부분을 사용하여) 서비스 명칭의 제4 식별자를 생성하고, 제4 식별자를 포함하는 다음 서비스 쿼리 또는 후속 메시지를 전송한다. 결과적으로, 가입자는 발행자로부터 부가 서비스 정보를 포함하는 제2 응답을 수신할 수 있다.
도 6b는 보안된 제휴 이전 서비스 발견을 수행하는 발행자에서 발생하는 예시적인 동작들(650)의 흐름도를 도시하며, 파라미터는 서비스 응답 메시지에서 매칭된 서비스를 나타내는데 사용되는 식별자를 생성하는데 사용할 해시 출력의 일부를 나타낸다. 동작들(650)은 발행자가 가입자와의 보안된 제휴 이전 서비스 발견을 수행할 때 발행자에서 발생하는 동작들을 나타낼 수 있으며, 파라미터는 서비스 응답 메시지에서 매칭된 서비스를 나타내는데 사용되는 식별자를 생성하는데 사용할 해시 출력의 일부를 나타낸다. 이러한 파라미터는 가입자가 서비스 응답 메시지에 포함되는 식별자인 챌린지에 대한 발행자의 응답을 통해 발행자의 진위를 검증하기 위해 발행자에 대한 챌린지를 생성하는데 사용된다.
동작들(650)은 요청, 즉 서비스 쿼리 메시지를 발행자가 수신하는 것으로 시작될 수 있다(블록 655). 요청은 제1 식별자 및 파라미터를 포함할 수 있다. 제1 식별자와 같은 식별자는 가입자가 찾고 있는 서비스의 서비스 명칭(service_name_subscriber)과 같은 서비스 명칭에 SHA-256과 같은 해시 함수를 적용한 해시 출력의 절단된 부분일 수 있다. 파라미터는, 매칭된 서비스가 제1 식별자와의 해시 매칭에서 발견되면, 매칭된 서비스를 나타내기 위해 응답에 포함될 제3 식별자를 생성하는데 사용할 해시 출력의 제1 절단된 부분을 표시하는데 사용된다. 발행자는, 발행자에 의해 제공되는 서비스의 서비스 명칭에, SHA-256과 같은 해시 함수를 적용한 해시 출력의 처음 6개 옥텟들(예를 들어, Octet 0 내지 Octet 5)과 같은 (제1 식별자와) 동일한 미리 지정된 절단된 부분들을 사용하여 제2 식별자를 생성할 수 있다(블록 656). 발행자는 제1 식별자가 제2 식별자와 매칭되는지 결정하기 위한 점검을 수행할 수 있다(블록 657). 제1 식별자가 제2 식별자와 매칭되면, 발행자는 파라미터에 따라 제3 식별자를 생성할 수 있다(블록 659). 예시적인 예로서, 제3 식별자는 해시 출력의 N번째 6개 옥텟 부분이며, N은 파라미터의 값이다. 발행자는 제3 식별자를 포함하는 응답, 즉 서비스 응답 메시지를 가입자에게 전송할 수 있다(블록 661). 발행자는 서비스의 가용성 상태, 서비스의 특정 파라미터들 또는 속성들 등과 같은 매칭된 서비스의 서비스 정보를 응답에 더 포함시킬 수 있다. 발행자는 서비스 쿼리에 대한 응답에 제2 파라미터를 더 포함시킬 수 있으며, 제2 파라미터는 가입자가 발행자에게 전송하는 다음 서비스 쿼리 또는 후속 메시지에서 매칭된 서비스를 나타내기 위해 가입자가 제4 식별자를 생성하는 방법을 나타낸다. 예시적인 예로서, 제4 식별자는 해시 출력의 M번째 6개 옥텟 부분이며, M은 제2 파라미터의 값이다. 제2 파라미터는 발행자가 다음 서비스 쿼리 또는 후속 메시지에 포함되는 제4 식별자인 챌린지에 대한 가입자의 응답을 통해 가입자의 진위를 검증하기 위해 가입자에 대한 챌린지를 생성하는데 사용된다. 다음 서비스 쿼리 또는 후속 메시지에서 가입자에 의해 전송되는 제4 식별자가 발행자에 의해 예상되는 것과 매칭되면, 발행자는 프라이버시에 민감할 수 있는 매칭된 서비스의 부가 서비스 정보로 응답할 수 있다. 다음 서비스 쿼리 또는 후속 메시지에서 가입자에 의해 전송되는 제4 식별자가 발행자에 의해 예상되는 것과 매칭되지 않으면, 발행자는 가입자의 진위가 규명되지 않은 것으로 고려할 수 있고, 추가 응답이나 관련 서비스 정보의 개시를 중단하고 제휴 이전 서비스 발견을 종료할 수 있다. 블록 657에서 제1 식별자가 발행자가 제공하는 어느 서비스의 제2 식별자와도 매칭되지 않으면, 발행자는 요청이 충족될 수 없다고 고려할 수 있다. 다음으로, 발행자는 응답 없음 또는 부정적인 응답을 다시 가입자에게 제공하고 제휴 이전 서비스 발견을 종료할 수 있다.
이러한 절단 기반 접근방식은 비교적 간단한다. 그러나, 해시 출력은 정적이며 제한된 수의 중첩되지 않는 절단 패턴들이 있기 때문에, 참을성 있는 해커는 공격을 시작하기 전에 모든 상이한 버전들을 수집할 때까지 기다릴 수 있다.
예시적인 실시예에 따르면, 파라미터는 식별자를 생성하는데 사용되는 임시값(nonce)이다. 임시값은 해시 함수에 적용되기 전에 서비스 명칭과 연관될 수 있다. 임시값은 해시 함수에 적용되기 전에 서비스 명칭에 추가될 수 있다. 공동 양도되고 포함되는 미국 특허 출원 제14/105,895호는 상이한 문자열들 또는 값들을 사용함으로써 동일한 서비스 명칭으로부터 차이 Service Hashes를 생성하기 위한 방법들 및 장치들을 설명하였다.
예시적인 예로서, 가입자는 서비스를 식별하기 위해 서비스 명칭의 절단된 해시의 하나의 버전(예를 들어, HASH-1) 및 하나 이상의 난수들을 포함하는 서비스 쿼리 메시지를 전송할 수 있고, 해시가 매칭되는 것을 발견하면, 발행자가, 가입자가 발행자에게 제공한 난수로 생성되는, 매칭된 서비스 명칭의 절단된 해시(예를 들어, HASH-3)를, 발행자의 진위를 증명하기 위해 서비스의 식별자로서 사용할 것을 요청할 수 있다. 발행자에 의해 리턴되는 HASH-3이 가입자가 알고 있는 HASH-3과 매칭되지 않으면, 발행자의 진위가 규명되지 않고 응답이 삭제될 수 있다. 마찬가지로 발행자는 가입자에게 발행자가 가입자에게 제공한 난수로 생성되는 요청된 서비스 명칭의 절단된 해시를 사용하여 다음 쿼리 또는 후속 메시지에서 매칭된 서비스를 나타내라고 요청할 수 있다. 가입자에 의해 리턴되는 절단된 해시가 발행자에 의해 예상되는 것과 매칭되지 않으면, 가입자의 진위가 규명되지 않으며, 가입자와의 추가의 서비스 발견 교환 또는 가입자에게의 특정 서비스 정보의 개시가 허용되지 않는다.
전술된 바와 같이, 해커는 합법적인 가입자들 및 발행자들에 의해 송신되는 이러한 식별자들을 생성하는데 사용되는 서비스 식별자들 및 파라미터들을, 도청함으로써 수집할 수 있고, 다음으로 수집된 식별자들 및 파라미터들을 재생하여 합법적인 가입자 또는 발행자를 사칭할 수 있다. 이를 회피하기 위해, 상대방에게 상이한 임시값을 제공함으로써 각각의 서비스 발견 메시지 교환에서 합법적인 가입자 및 발행자가 서로 도전하고, 다음 메시지에서 서비스의 상이한 식별자를 사용하는데 이러한 임시값을 사용하라고 상대방에게 요구하는 것이 전적으로 가능할 수 있다. 예를 들어, 가입자는 먼저 탐색된 서비스의 식별자 I1, I1을 생성하는데 사용되는 임시값 N1, 및 발행자에 대한 챌린지를 생성하는데 사용되는 임시값 N2를 갖는 메시지 M1을 전송한다. 발행자가 매칭된 서비스를 찾으면, 발행자는 N2에 따라 생성되는 매칭된 서비스의 식별자 I2, 및 가입자에 대한 챌린지를 생성하는데 사용되는 임시값 N3을 포함하는 메시지 M2를 가입자에게 전송한다. 가입자가 M2에서 수신되는 I2가 예상되는 것과 매칭된다고 결정하면, 가입자는 N3에 따라 생성되는 매칭된 서비스의 식별자 I3, 및 다른 챌린지를 생성하는데 사용되는 임시값 N4를 갖는 메시지 M3을 발행자에게 전송한다. 발행자가 M3에서 수신되는 I3이 예상되는 것과 매칭된다고 결정하면, 발행자는 N4에 따라 생성되는 매칭된 서비스의 식별자 I4, 및 또 다른 챌린지를 생성하는데 사용되는 임시값 N5를 갖는 메시지 M4를 가입자에게 전송한다. 프로세스는 모든 서비스 발견 메시지 교환들이 완료될 때까지 계속될 수 있다. 가능한 임시 값 공간의 크기가 충분히 크면, 가입자 또는 발행자에 의해 생성되는 임시 값들은 절대로 서로 반복되지 않을 수 있다.
이러한 예시적인 실시예에서, 난수들(즉, 임시값)은 생성될 수 있는 절단된 해시들 사이의 차이에서 훨씬 더 큰 다이나믹들을 제공한다. 그리고 SHA-256 해시 함수와 같은 우수한 암호화 속성을 갖는 해시 함수가 사용되면, 2개의 난수들 사이의 경미한 차이라도 2개의 상관되지 않은 해시 출력을 생성할 것이다. 그리고 이러한 경우, 단일의 절단 함수가 사용되더라도, 2개의 절단된 해시들은 여전히 높은 비-상관성이다. 이러한 도전-응답(challenge-and-response) 접근방식은 재생 공격에 대해 더욱 강력한데, 그 이유는 모든 단계에서 성공적으로 도전에 답변하기 위해서 해커가 그 많은 식별자들 및 관련 난수들을 수집하고 기억하는 것이 거의 불가능하기 때문이다. 그러한 이유로 그리고 원하는 보안과 프라이버시의 견지에서, 서비스 명칭의 식별자들을 생성하는데 난수들(즉, 임시값들)을 사용하는 접근방식을 사용하는 것이 바람직한다. 그러나, 이는 해시 알고리즘을 실시간으로 실행하는 스테이션을 또한 요구하며, 특히 응답자 스테이션으로서의 응답자 스테이션이 도전자 스테이션보다 해시를 계산하는데 통싱적으로 적은 시간이 걸릴, 계산적 요구사항이 있다.
도 7a는 보안된 제휴 이전 서비스 발견을 수행하는 가입자에서 발생하는 예시적인 동작들의(700) 흐름도를 도시하며, 파라미터는 하나 이상의 난수들(임시값)을 포함한다. 동작들(700)은 가입자가 발행자와의 보안된 제휴 이전 서비스 발견을 수행할 때 가입자에게 발생하는 동작들을 나타낼 수 있으며, 파라미터는 하나 이상의 난수들(임시값)을 포함한다.
동작들(700)은 가입자가 찾고 있는 서비스의 서비스 명칭의 제1 식별자를 가입자가 생성하는 것으로 시작될 수 있다(블록 705). 제1 식별자는 가입자가 찾고 있는 서비스의 서비스 명칭, 즉, service_name_subscriber에 SHA-256과 같은 해시 함수를 적용함으로써 생성되는 해시 출력의 처음 6개 옥텟들과 같은 미리 지정된 절단된 부분일 수 있다. 대안적으로, 제1 식별자는 SHA-256과 같은 해시 함수를 제1 임시값과 가입자가 찾고 있는 서비스의 서비스 명칭, 즉 service_name_subscriber의 조합된 서비스 명칭에 적용함으로써(추가함, 연관시킴 등을 통해) 생성되는 해시 출력의 처음 6개 옥텟들과 같은 미리 지정된 절단된 부분일 수 있다. 다음 서비스 발견 메시지 교환에 사용되는 식별자는 SHA-256과 같은 해시 함수를 제1 임시값과 서비스 명칭의 조합된 서비스 명칭에 적용함으로써(추가함, 연관시킴 등을 통해) 생성되는 해시 출력의 처음 6개 옥텟들과 같은 미리 지정된 절단된 부분일 수 있다. 가입자는 제1 식별자와 제1 임시값을 포함하는 파라미터(제1 식별자를 생성하는데 사용되는 경우에만), 및 제2 임시값을 갖는 요청, 즉 서비스 쿼리 메시지를 발행자에게 전송할 수 있다(블록 707). 제1 식별자를 생성하는데 사용된다면, 제1 식별자와의 해시 매칭에 사용되는 식별자를 생성하기 위해 제1 임시값이 발행자에게 또한 제공된다. 제2 임시값은 탐색된 서비스의 제2 식별자를 생성하는데 가입자에 의해 사용되며, 하나가 존재하면, 매칭되는 서비스의 제3 식별자를 생성하기 위해 발행자에게 또한 제공되고, 이는 매칭되는 서비스를 응답, 즉, 서비스 응답 메시지로 표현하기 위해서이다. 가입자는 파라미터에서의 제2 임시값에 따라 제2 식별자를 생성할 수 있다(블록 709). 예시적인 예로서, 제2 임시값이 3과 동일하면, 제2 식별자는 "3"의 제2 임시값을 service_name_subscriber와 조합하고(추가함, 연관시킴 등), 조합된 서비스 명칭에 해시 함수를 적용함으로써 생성된다. 단순화를 위해, 제2 식별자는 해시 출력의 처음 6개 옥텟들과 같이, 제1 식별자와 동일한 해시 출력의 미리 지정된 절단된 부분을 사용할 수 있다.
가입자는 발행자로부터 제3 식별자를 갖는 응답, 즉 서비스 응답 메시지를 수신할 수 있다(블록 711). 제3 식별자는 발행자가 제공하는 서비스의 서비스 명칭(즉, service_name_publisher)로부터 발행자에 의해 생성되며, 가입자에 의해 전송되는 파라미터에서의 제2 임시값에 따라 생성된다. 제3 식별자는 해시 출력의 처음 6개 옥텟들과 같이 제1 식별자와 동일한 해시 출력의 미리 지정된 절단된 부분을 사용할 수 있다. 가입자는 제2 식별자가 제3 식별자와 매칭되는지 결정하기 위한 점검을 수행할 수 있다(블록 713). 제2 식별자가 제3 식별자와 매칭되면, 응답은 유효하고(블록 615), 제휴 이전 서비스 발견이 완료될 수 있다. 제2 식별자가 제3 식별자와 매칭되지 않으면, 응답은 유효하지 않고, 제휴 이전 서비스 발견이 중단되거나 가입자가 다른 발행자와 제휴 이전 서비스 발견을 반복할 수 있다. 응답은, 제2 파라미터에 따라 제4 식별자를 생성하라고, 그리고 프라이버시에 민감할 수 있는 부가 서비스 정보를 획득하기 위해 자신의 진위를 증명하는데 다음 서비스 쿼리 또는 후속 메시에서 매칭된 서비스를 나타내기 위한 제4 식별자를 사용하라고, 가입자에게 지시하는 제2 파라미터를 더 포함할 수 있다는 점이 주목된다. 예시적인 예로서, 제2 파라미터는 제4 식별자를 생성하는데 사용할 제3 난수(즉, 제3 임시값)를 나타낸다. 다음으로, 부가 서비스 정보를 수신하고자 하는 가입자는 수신된 제2 파라미터에 따라 서비스 명칭의 제4 식별자를 생성하고, 제4 식별자를 포함하는 다음 서비스 쿼리 또는 후속 메시지를 전송한다. 결과적으로, 가입자는 발행자로부터 부가 서비스 정보를 포함하는 제2 응답을 수신할 수 있고, 제휴 이전 서비스 발견이 완료될 수 있다.
도 7b는 보안된 제휴 이전 서비스 발견을 수행하는 발행자에서 발생하는 예시적인 동작들(750)의 흐름도를 도시하며, 파라미터는 하나 이상의 난수들(임시값)을 포함한다. 동작들(750)은 발행자가 가입자와의 보안된 제휴 이전 서비스 발견을 수행할 때 발행자에서 발생하는 동작들을 나타낼 수 있으며, 파라미터는 하나 이상의 난수들(임시값)을 포함한다.
동작들(750)은 발행자가 요청, 즉 서비스 쿼리 메시지를 수신하는 것으로 시작될 수 있다(블록 755). 요청은 제1 식별자 및 파라미터를 포함할 수 있다. 파라미터는 제1 임시값(오직 제1 식별자를 생성하는데 사용되는 경우에만) 및 제2 임시값을 포함할 수 있다. 제1 식별자는 가입자가 찾고 있는 서비스의 서비스 명칭, 즉, service_name_subscriber에 SHA-256과 같은 해시 함수를 적용함으로써 생성되는 해시 출력의 처음 6개 옥텟들과 같은 미리 지정된 절단된 부분일 수 있다. 대안적으로, 제1 식별자는 SHA-256과 같은 해시 함수를 제1 임시값과 가입자가 찾고 있는 서비스의 서비스 명칭, 즉 service_name_subscriber의 조합된 서비스 명칭에 적용함으로써(추가함, 연관시킴 등을 통해) 생성되는 해시 출력의 처음 6개 옥텟들과 같은 미리 지정된 절단된 부분일 수 있다. 다음 서비스 발견 메시지 교환에 사용되는 식별자는 SHA-256과 같은 해시 함수를 임시값과 서비스 명칭의 조합된 서비스 명칭에 적용함으로써(추가함, 연관시킴 등을 통해) 생성되는 해시 출력의 절단된 부분일 수 있다. 제1 임시값은, 제1 식별자를 생성하는데 가입자에 의해 사용되면, 제1 식별자와의 해시 매칭을 위해 사용되는 제2 식별자를 생성하는데 발행자에 의해 또한 사용된다. 제2 임시값은 매칭된 서비스의 제3 식별자를 생성하는데 사용되며, 하나가 존재하면, 매칭되는 서비스를 응답, 즉, 서비스 응답 메시지로 표현하기 위해서이다. 발행자는, 발행자에 의해 제공되는 서비스의 서비스 명칭에, SHA-256과 같은 해시 함수를 적용한 해시 출력의 처음 6개 옥텟들(예를 들어, Octet 0 내지 Octet 5)과 같은 (제1 식별자와) 동일한 미리 지정된 절단된 부분들을 사용하여 제2 식별자를 생성할 수 있다(블록 756). 대안적으로, 제1 임시값이 가입자에 의해 제1 식별자를 생성하는데 사용되며, 요청에서 발행자에게 제공되면, 발행자는, 제1 임시값과 발행자에 의해 제공되는 서비스의 서비스 명칭, 즉, service_name_publisher의 조합된 서비스 명칭에 SHA-256과 같은 해시 함수를 적용한 해시 출력의 처음 6개 옥텟들(즉, Octet 0 내지 Octet 5)과 같은 (제1 식별자와) 동일한 미리 지정된 절단된 부분들을 사용하여 제2 식별자를 생성할 수 있다. 발행자는 제1 식별자가 제2 식별자와 매칭되는지 결정하기 위한 점검을 수행할 수 있다(블록 757). 제1 식별자가 제2 식별자와 매칭되면, 발행자는 제2 임시값에 따라 제3 식별자를 생성할 수 있다(블록 759). 예시적인 예로서, 제3 식별자는 service_name_publisher와 제2 임시값의 조합의 해시 출력의 절단된 부분이다. 제3 식별자는 제1 식별자 및 제2 식별자와 동일하게 해시 출력의 처음 6개 옥텟들과 같은 해시 출력의 미리 지정된 절단된 부분을 사용할 수 있다. 발행자는 제3 식별자를 포함하는 응답, 즉 서비스 응답 메시지를 가입자에게 전송할 수 있다(블록 761). 발행자는 서비스의 가용성 상태, 서비스의 특정 파라미터들 또는 속성들 등과 같은 매칭된 서비스의 서비스 정보를 응답에 더 포함시킬 수 있다. 발행자는 서비스 쿼리에 대한 응답에 제3 임시값을 더 포함시킬 수 있다. 제3 임시값은 가입자가 발행자에게 전송하는 다음 서비스 쿼리 또는 후속 메시지에서 매칭된 서비스를 나타내기 위한 제4 식별자를 생성하기 위해 가입자에게 제공된다. 제3 임시값은 발행자가 다음 서비스 쿼리 또는 후속 메시지에 포함되는 제4 식별자인 챌린지에 대한 가입자의 응답을 통해 가입자의 진위를 검증하기 위해 가입자에 대한 챌린지를 생성하는데 사용된다. 다음 서비스 쿼리 또는 후속 메시지에서 가입자에 의해 전송되는 제4 식별자가 발행자에 의해 예상되는 것과 매칭되면, 발행자는 프라이버시에 민감할 수 있는 부가 서비스 정보로 응답할 수 있다. 다음 서비스 쿼리 또는 후속 메시지에서 가입자에 의해 전송되는 제4 식별자가 발행자에 의해 예상되는 것과 매칭되지 않으면, 발행자는 가입자의 진위가 규명되지 않은 것으로 고려할 수 있고, 추가 응답이나 관련 서비스 정보의 개시를 중단하고 제휴 이전 서비스 발견을 종료할 수 있다. 블록 757에서 제1 식별자가 발행자가 제공하는 어느 서비스의 제2 식별자와도 매칭되지 않으면, 발행자는 요청이 충족될 수 없다고 고려할 수 있다. 다음으로, 발행자는 응답 없음 또는 부정적인 응답을 다시 가입자에게 제공하고 제휴 이전 서비스 발견을 종료할 수 있다.
예시적인 실시예에 따르면, 제휴 이전 서비스 발견을 수행하기 전에 발행자와의 고속 인증(IEEE 802.11ai FILS 인증 등)을 수행함으로써 가입자의 프라이버시가 보호된다. 고속 인증은 제휴 또는 어드레스 할당을 포함하지 않으므로, 대기 시간을 감소시킨다. 고속 인증은 서비스 명칭들을 보호하는데 사용될 수 있는 키들을 수립하게 된다.
도 8은 고속 인증 및 제휴 이전 서비스 발견을 강조하는 메시지 교환 도해(800)를 도시한다. 메시지 교환 도해(800)는 스테이션(805), AP(810), 제3 신뢰 기관(815), 및 서비스 트랜잭션 프록시(820) 사이에서 교환되는 메시지들을 디스플레이한다.
스테이션(805)은 AP(810)에 의해 전송되는 비콘 프레임들의 수동 모니터링(passive monitoring)을 통해 AP(810)의 인증 정책을 먼저 발견한다(이벤트(830)로 도시됨). 대안으로서, 스테이션(805)은 Probe Request을 전송하고 결과로서 Probe Response을 수신함으로써 능동 프로빙(active probing)을 사용하여 AP(810)의 인증 정책을 발견할 수 있다. Probe Request 및 Probe Response 메시지들은 도 8에 도시되지 않는 점이 주목된다. AP(810)의 인증 정책이 AP(810)가 고속 인증을 지원함을 나타내면, 예를 들어, AP(810)가 인증을 위해 상호 제3 신뢰 기관(815)과 상호 접속되면, 스테이션(805)은 AP(810)에 인증 정보(예를 들어, FILS 인증 정보)를 갖는 인증 프레임을 전송함으로써 고속 인증을 개시한다(이벤트(832)로 도시됨). AP(810)는 FILS 인증 정보를 제3 신뢰 기관(815)에 전달한다(이벤트(834)로 도시됨). 제3 신뢰 기관(815)으로부터 응답을 수신하면(이벤트(836)로서 도시됨), AP(810)는 인증 정보를 갖는 인증 프레임으로 스테이션(805)에 응답한다(이벤트(838)로 도시됨). 이벤트들(832 내지 838)에 도시되는 메시지들의 교환의 결과로서, 스테이션(805) 및 AP(810)는 PMK(pair-wise master key)를 생성한다.
스테이션(805)은 자신이 찾고 있는 서비스의 서비스 식별자 및 정확한 PMK의 소유 증명을 포함하는 Service Discovery Query 프레임을 AP(810)에 전송한다(이벤트(840)로 도시됨). AP(810)는 키 확인을 수행한다(블록 842). 키 확인이 성공적이면, AP(810)는 서비스 쿼리를 서비스 트랜잭션 프록시(820)로 전송할 것이다(이벤트(844)로 도시됨). 그리고 키 확인이 성공적이지 않으면, AP(810)는 서비스 발견 쿼리를 폐기할 수 있다. 서비스 트랜잭션 프록시(820)로부터 응답을 수신하면(이벤트 846으로 도시됨), AP(810)는 서비스 트랜잭션 프록시(820)로부터 수신되는 서비스 정보와 함께 Service Discovery Response 프레임을 STA(805)로 되돌려 보낸다(이벤트 848로 도시됨). AP(810)는 Service Discovery Response 프레임에 자신의 PMK의 소유 증명을 또한 포함시킨다. 스테이션(805)은 키 확인을 수행한다(블록 850). 키 확인이 성공적이면, 스테이션(805)은 서비스 발견 응답을 더 처리할 것이다. 키 확인이 성공적이지 않으면, 스테이션(805)은 서비스 발견 응답을 폐기할 수 있다.
고속 인증을 위한 양방향 핸드 셰이크 메시지들이 또한 GAS Request 및 GAS Response 프레임들과 같은 일부 Public Actions 프레임들을 사용하여 초기 서비스 쿼리 및 서비스 응답에 운반될 수 있다. 802.11ai와 마찬가지로, 키 수립은 인증 프레임들 동안 수행되며, 키 확인은 다음 서비스 쿼리 및 서비스 응답 프레임들 동안 수행된다. 공유 비밀 키가 수립되면, 서비스 발견 쿼리 및 서비스 발견 응답 메시지들에서의 콘텐츠가 암호화에 의해 보호될 수 있다. 발행자(예를 들어, AP(810))는 서비스 발견 쿼리 프레임에 대해 수행된 키 확인을 성공적으로 수행할 때까지 서비스 발견 쿼리에 응답하지 않는다. 가입자(예를 들어, 스테이션(805))는 서비스 발견 응답 프레임에 대해 수행되는 키 확인을 성공적으로 수행할 때까지 유효한 것으로서 서비스 발견 응답을 수락하지 않는다.
도 9a는 고속 인증 및 제휴 이전 서비스 발견에 참여하는 가입자에서 발생하는 예시적인 동작들(900)의 흐름도를 도시한다. 동작들(900)은 가입자가 고속 인증 및 제휴 이전 서비스 발견에 참여할 때 가입자에서 발생하는 동작들을 나타낼 수 있다.
동작들(900)은, 발행자가 고속 인증을 지원한다는 것을 가입자가 발견한 후, 가입자가 인증 정보를 갖는 제1 인증 프레임을 발행자에게 송신하는 것으로 시작할 수 있다(블록 905). 인증 정보는 FILS 인증 정보의 형태일 수 있다. 가입자는 발행자로부터의 인증 정보를 갖는 제2 인증 프레임을 수신할 수 있다(블록 907). 인증 프레임들의 교환은 PMK를 생성한다. 가입자는 서비스 식별자 및 PMK 증명을 갖는 Service Discovery Query를 전송한다(블록 909). 가입자는 서비스 정보 및 PMK 증명을 갖는 Service Discovery Response를 수신한다(블록 911). 가입자는 키 확인을 수행한다(블록 913). 키 확인이 성공하면, 가입자는 Service Discovery Response를 처리한다(블록 915). 키 확인이 실패하면, 가입자는 Service Discovery Response을 폐기한다(블록 917).
도 9b는 고속 인증 및 제휴 이전 서비스 발견에 참여하는 발행자에서 발생하는 예시적인 동작들(950)의 흐름도를 도시한다. 동작들(950)은 발행자가 고속 인증 및 제휴 이전 서비스 발견에 참여할 때 발행자에서 발생하는 동작들을 나타낼 수 있다.
발행자는 가입자로부터 인증 정보를 갖는 제1 인증 프레임을 수신한다(블록 955). 인증 정보는 FILS 인증 정보의 형태일 수 있다. 발행자는 인증 정보를 제3 신뢰 기관에 전송한다(블록 957). 발행자는 제3 신뢰 기관으로부터 응답을 수신하고(블록 959), 인증 정보를 포함하는 제2 인증 프레임을 가입자에게 전송한다(블록 961). 인증 프레임들의 교환은 PMK를 생성한다. 발행자는 가입자로부터 서비스 식별자 및 PMK 증명을 갖는 Service Discovery Query를 수신한다(블록 963). 발행자는 키 확인을 수행한다(블록 965). 키 확인이 성공하면, 발행자는 STP에 쿼리를 전송하고(블록 967), STP로부터 응답을 수신한다(블록 969). 발행자는 서비스 정보 및 PMK 증명을 포함하는 Service Discovery Response을 가입자에게 전송한다(블록 971). 키 확인이 실패하면, 가입자는 서비스 발견 쿼리를 폐기한다(블록 973).
도 10은 본 명세서에 개시되는 디바이스들 및 방법들을 구현하는데 사용될 수 있는 처리 시스템(1000)의 블록도이다. 특정 디바이스들은 도시된 컴포넌트들 전부, 또는 이러한 컴포넌트들의 서브세트만을 이용할 수 있으며, 디바이스마다 집적도가 다를 수 있다. 또한, 디바이스는 다수의 처리 유닛들, 프로세서들, 메모리들, 송신기들, 수신기들 등과 같은 다수 사례의 컴포넌트를 포함할 수 있다. 처리 시스템은 처리 유닛(1005)을 포함할 수 있다. 처리 유닛(1005)은 (예를 들어, 스피커, 마이크로폰, 마우스, 터치스크린, 키패드, 키보드, 프린터 등을 포함하는) 휴먼 인터페이스(1015), 디스플레이(1010) 등과 같은 하나 이상의 입력/출력 디바이스들을 갖추고 있을 수 있다. 처리 유닛은 버스(1045)에 접속되는 CPU(central processing unit)(1020), 메모리(1025), 대용량 스토리지 디바이스(1030), 비디오 어댑터(1035), 및 I/O 인터페이스(1040)를 포함할 수 있다.
버스는 메모리 버스 또는 메모리 제어기, 주변기기 버스, 비디오 버스 등을 포함하는 임의의 종류의 수개의 버스 아키텍처들 중 하나 이상일 수 있다. CPU는 임의의 종류의 전자 데이터 프로세서를 포함할 수 있다. 메모리는 SRAM(static random access memory), DRAM(dynamic random access memory), SDRAM(synchronous DRAM), ROM(read-only memory), 또는 이들의 조합 등과 같은 임의의 종류의 시스템 메모리를 포함할 수 있다. 실시예에서, 메모리는 시동 시에 사용하기 위한 ROM, 및 프로그램들을 실행하면서 사용하기 위한 프로그램 및 데이터 저장을 위한 DRAM을 포함할 수 있다.
]대용량 스토리지 디바이스는 데이터, 프로그램들, 및 다른 정보를 저장하고, 데이터, 프로그램들, 및 다른 정보를 버스를 통해 액세스 가능하게 만들도록 구성되는 임의의 종류의 스토리지 디바이스를 포함할 수 있다. 대용량 스토리지 디바이스는, 예를 들어 고체 상태 드라이브, 하드 디스크 드라이브, 자기 디스크 드라이브, 또는 광학 디스크 드라이브 등 중 하나 이상을 포함할 수 있다.
비디오 어댑터 및 I/O 인터페이스는 외부 입력 및 출력 디바이스들을 처리 유닛에 연결하기 위한 인터페이스들을 제공한다. 예시되는 바와 같이, 입력 및 출력 디바이스의 예는 비디오 어댑터에 접속되는 디스플레이 및 I/O 인터페이스에 접속되는 마우스/키보드/프린터를 포함한다. 다른 디바이스들이 처리 유닛에 접속될 수 있고, 추가적인, 또는 더 적은 인터페이스 카드들이 이용될 수 있다. 예를 들어, 프린터에 대한 인터페이스를 제공하기 위해 USB(Universal Serial Bus)(도시되지 않음)와 같은 직렬 인터페이스가 사용될 수 있다.
처리 유닛은 또한 하나 이상의 네트워크 인터페이스들(1050)을 포함하며, 이는 노드들 또는 상이한 네트워크들(1055)에 액세스하기 위한 무선 링크들, 및/또는 이더넷(Ethernet) 케이블 등과 같은 유선 링크들을 포함할 수 있다. 네트워크 인터페이스는 처리 유닛이 네트워크들을 통해 원격 유닛들과 통신하게 한다. 예를 들어, 네트워크 인터페이스는 하나 이상의 송신기들/송신 안테나들 및 하나 이상의 수신기들/수신 안테나들을 통해 무선 통신을 제공할 수 있다. 실시예에서, 처리 유닛은 다른 처리 유닛들, 인터넷, 또는 원격 스토리지 설비들 등과 같은, 원격 디바이스들과의 통신 및 데이터 처리를 위해 근거리 네트워크 또는 광역 네트워크에 연결된다.
본 발명 및 그 이점들이 상세하게 설명되었지만, 다양한 변화들, 대체들, 및 변경들이 첨부된 특허청구범위에 의해 정의되는 본 개시내용의 사상 및 범주로부터 벗어남이 없이 본 명세서에서 이루어질 수 있다는 점이 이해되어야 한다.

Claims (39)

  1. 서비스를 발견할 때 스테이션을 동작시키기 위한 방법으로서,
    상기 스테이션에 의해, 상기 서비스의 제1 식별자를 생성하는 단계;
    상기 스테이션에 의해, 제1 파라미터에 따라 상기 서비스의 제2 식별자를 생성하는 단계;
    상기 스테이션에 의해, 제3 식별자의 생성을 지시하는 요청을 송신하는 단계 - 상기 요청은 상기 서비스의 상기 제1 식별자 및 상기 제1 파라미터를 포함함 -;
    상기 스테이션에 의해, 상기 제3 식별자를 포함하는 제1 응답을 수신하는 단계;
    상기 스테이션에 의해, 상기 제2 식별자와 상기 제3 식별자가 동일하지 않을 때 상기 제1 응답이 유효하지 않은 것으로 결정하는 단계; 및
    상기 스테이션에 의해, 상기 제2 식별자와 상기 제3 식별자가 동일할 때 상기 제1 응답이 유효한 것으로 결정하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제1 식별자는 제1 방식에 따라 생성되고, 상기 제2 식별자는 제2 방식에 따라 생성되며, 상기 제1 파라미터는 상기 제3 식별자가 상기 제2 방식에 따라 생성되어야 한다는 것을 지시하는 방법.
  3. 제2항에 있어서,
    상기 제1 방식에 따라 상기 제1 식별자를 생성하는 것은,
    해시 함수를 사용하여 상기 서비스의 서비스 명칭을 해싱함으로써, 해시 출력을 생성하는 것; 및
    상기 해시 출력의 제1 부분을 절단하여 상기 제1 식별자를 생성하는 것
    을 포함하고,
    상기 제2 방식에 따라 상기 제2 식별자를 생성하는 것은,
    상기 해시 출력의 제2 부분을 절단하여 상기 제2 식별자를 생성하는 것
    을 포함하는 방법.
  4. 제3항에 있어서,
    상기 서비스의 상기 제2 식별자를 생성하는 단계는 상기 해시 함수를 사용하여 상기 서비스의 서비스 명칭을 해싱하는 단계를 더 포함하는 방법.
  5. 제3항에 있어서,
    상기 제1 응답은 상기 서비스의 서비스 정보를 더 포함하는 방법.
  6. 제3항에 있어서,
    상기 제1 응답은 상기 서비스의 제4 식별자에 대한 요청 및 제3 방식에 따라 상기 제4 식별자의 생성을 지시하는 제2 파라미터를 더 포함하며,
    상기 방법은,
    상기 해시 출력의 제3 부분을 절단하여 상기 서비스의 제4 식별자를 생성함으로써 상기 제3 방식에 따라 상기 서비스의 상기 제4 식별자를 생성하는 단계;
    상기 제4 식별자를 포함하는 제2 응답을 송신하는 단계; 및
    상기 서비스의 서비스 정보를 포함하는 제3 응답을 수신하는 단계
    를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 제1 파라미터는 상기 제3 식별자 및 상기 제2 식별자를 생성하는데 사용되는 제1 임시 값(first nonce value)을 포함하며,
    상기 제2 식별자를 생성하는 단계는,
    상기 제1 임시 값과 상기 서비스의 서비스 명칭을 조합하여 제1 수정된 서비스 명칭을 생성하는 단계 - 상기 제1 임시 값과 상기 서비스 명칭을 조합하는 것은 상기 제1 임시 값을 나타내는 문자열을 상기 서비스 명칭에 연관시키는 것과, 상기 서비스 명칭을 나타내는 값 및 상기 제1 임시 값에 수학 함수를 적용하는 것 중 하나를 포함함 -;
    해시 함수를 사용하여 상기 제1 수정된 서비스 명칭을 해싱함으로써, 제1 해시 출력을 생성하는 단계; 및
    상기 제1 해시 출력의 미리 지정된 부분을 절단하여 상기 제2 식별자를 생성하는 단계
    를 포함하는 방법.
  8. 제7항에 있어서,
    상기 제1 파라미터는 상기 제1 식별자를 생성하는데 사용되는 제2 임시 값을 더 포함하고,
    상기 제1 식별자를 생성하는 단계는,
    상기 제2 임시 값과 상기 서비스의 서비스 명칭을 조합하여 제2 수정된 서비스 명칭을 생성하는 단계;
    상기 해시 함수를 사용하여 상기 제2 수정된 서비스 명칭을 해싱함으로써, 제2 해시 출력을 생성하는 단계; 및
    상기 제2 해시 출력의 미리 지정된 부분을 절단하여 상기 제1 식별자를 생성하는 단계
    를 포함하는 방법.
  9. 제7항에 있어서,
    상기 제1 식별자를 생성하는 단계는,
    상기 해시 함수를 사용하여 상기 서비스 명칭을 해싱함으로써, 제3 해시 출력을 생성하는 단계; 및
    상기 제3 해시 출력의 미리 지정된 부분을 절단하여 상기 제1 식별자를 생성하는 단계
    를 포함하는 방법.
  10. 제7항에 있어서,
    상기 제1 응답은 상기 서비스의 서비스 정보를 더 포함하는 방법.
  11. 제7항에 있어서,
    상기 제1 응답은 상기 서비스의 제4 식별자에 대한 요청 및 상기 제4 식별자를 생성하는데 사용되는 제3 임시 값을 더 포함하고,
    상기 방법은,
    상기 제3 임시 값에 따라 상기 서비스의 상기 제4 식별자를 생성하는 단계;
    상기 제4 식별자를 포함하는 제2 응답을 송신하는 단계; 및
    상기 서비스의 서비스 정보를 포함하는 제3 응답을 수신하는 단계
    를 더 포함하는 방법.
  12. 제11항에 있어서,
    상기 서비스의 상기 제4 식별자를 생성하는 단계는,
    상기 제3 임시 값과 상기 서비스의 상기 서비스 명칭을 조합하여 제3 수정된 서비스 명칭을 생성하는 단계;
    상기 해시 함수를 사용하여 상기 제3 수정된 서비스 명칭을 해싱함으로써, 제4 해시 출력을 생성하는 단계; 및
    상기 제4 해시 출력의 미리 지정된 부분을 절단하여 상기 제4 식별자를 생성하는 단계
    를 포함하는 방법.
  13. 서비스를 발견하도록 적응되는 스테이션으로서,
    상기 서비스의 제1 식별자를 생성하고, 상기 서비스의 제2 식별자를 생성하고 - 상기 제2 식별자는 제1 파라미터에 따라 생성됨 -, 상기 제2 식별자와 제3 식별자가 동일하지 않을 때 제1 응답이 유효하지 않은 것으로 결정하고, 그리고 상기 제2 식별자와 상기 제3 식별자가 동일할 때 상기 제1 응답이 유효한 것으로 결정하도록 구성되는 처리 유닛;
    상기 처리 유닛에 연결되어 동작하는 송신기 - 상기 송신기는 제3 식별자의 생성을 지시하는 요청을 송신하도록 구성되고, 상기 요청은 상기 서비스의 상기 제1 식별자 및 상기 제1 파라미터를 포함함 -; 및
    상기 처리 유닛에 연결되어 동작하는 수신기 - 상기 수신기는 상기 제3 식별자를 포함하는 제1 응답을 수신하도록 구성됨 -
    를 포함하는 스테이션.
  14. 제13항에 있어서,
    상기 제1 식별자는 제1 방식에 따라 생성되고, 상기 제2 식별자는 제2 방식에 따라 생성되며, 상기 제1 파라미터는 상기 제3 식별자가 상기 제2 방식에 따라 생성되어야 한다는 것을 지시하는 스테이션.
  15. 제14항에 있어서,
    상기 처리 유닛은 해시 함수를 사용하여 상기 서비스의 서비스 명칭을 해싱하여 해시 출력을 생성하도록, 상기 해시 출력의 제1 부분을 절단하여 상기 제1 식별자를 생성하도록, 그리고 상기 해시 출력의 제2 부분을 절단하여 상기 제2 식별자를 생성하도록 구성되는 스테이션.
  16. 제15항에 있어서,
    상기 제1 응답은 상기 서비스의 제4 식별자에 대한 요청 및 제3 방식에 따라 상기 제4 식별자의 생성을 지시하는 제2 파라미터를 더 포함하며, 상기 처리 유닛은, 상기 해시 출력의 제3 부분을 절단하여 상기 서비스의 제4 식별자를 생성함으로써 상기 제3 방식에 따라 상기 서비스의 상기 제4 식별자를 생성하도록, 상기 제4 식별자를 포함하는 제2 응답을 송신하도록, 그리고 상기 서비스의 서비스 정보를 포함하는 제3 응답을 수신하도록 구성되는 스테이션.
  17. 제13항에 있어서,
    상기 제1 파라미터는 상기 제3 식별자 및 상기 제2 식별자를 생성하는데 사용되는 제1 임시 값을 포함하며, 상기 처리 유닛은, 상기 서비스의 서비스 명칭을 상기 제1 임시 값과 조합하여 제1 수정된 서비스 명칭을 생성하도록- 상기 처리 유닛은, 상기 제1 임시 값을 나타내는 문자열을 상기 서비스 명칭에 연관시키는 것, 및 상기 서비스 명칭 및 상기 제1 임시 값을 나타내는 값에 수학 함수를 적용하는 것 중 하나에 의해 상기 서비스 명칭을 상기 제1 임시 값과 조합하도록 구성됨 -, 상기 제1 수정된 서비스 명칭에 해시 함수를 적용하여 제1 해시 출력을 생성하도록, 그리고 상기 제1 해시 출력의 미리 지정된 부분을 절단하여 상기 제2 식별자를 생성하도록 구성되는 스테이션.
  18. 제17항에 있어서,
    상기 제1 파라미터는 상기 제1 식별자를 생성하는데 사용되는 제2 임시 값을 더 포함하고, 상기 처리 유닛은, 상기 서비스 명칭을 상기 제2 임시 값과 조합하여 제2 수정된 서비스 명칭을 생성하도록, 상기 제2 수정된 서비스 명칭에 상기 해시 함수를 적용하여 제2 해시 출력을 생성하도록, 그리고 상기 제2 해시 출력의 미리 지정된 부분을 절단하여 상기 제1 식별자를 생성하도록 구성되는 스테이션.
  19. 제17항에 있어서,
    상기 처리 유닛은, 상기 서비스 명칭에 상기 해시 함수를 적용하여 제3 해시 출력을 생성하도록, 그리고 상기 제3 해시 출력의 미리 지정된 부분을 절단하여 상기 제1 식별자를 생성하도록 구성되는 스테이션.
  20. 제17항에 있어서,
    상기 제1 응답은 상기 서비스의 제4 식별자에 대한 요청 및 상기 제4 식별자의 생성을 지시하는 제3 임시 값을 더 포함하며, 상기 처리 유닛은, 상기 제3 임시 값에 따라 상기 서비스의 상기 제4 식별자를 생성하도록, 상기 제4 식별자를 포함하는 제2 응답을 송신하도록, 그리고 상기 서비스의 서비스 정보를 포함하는 제3 응답을 수신하도록 구성되는 스테이션.
  21. 제20항에 있어서,
    상기 처리 유닛은, 상기 서비스 명칭을 상기 제3 임시 값과 조합하여 제3 수정된 서비스 명칭을 생성하도록, 상기 제3 수정된 서비스 명칭에 상기 해시 함수를 적용하여 제4 해시 출력을 생성하도록, 그리고 상기 제4 해시 출력의 미리 지정된 부분을 절단하여 상기 서비스의 상기 제4 식별자를 생성하도록 구성되는 스테이션.
  22. 서비스를 광고할 때 스테이션을 동작시키기 위한 방법으로서,
    상기 스테이션에 의해, 제1 식별자 및 제1 파라미터를 포함하는 요청을 수신하는 단계;
    상기 스테이션에 의해, 상기 서비스의 제2 식별자를 생성하는 단계; 및
    상기 스테이션에 의해, 상기 제1 식별자와 상기 제2 식별자가 동일한 것으로 결정할 때,
    상기 스테이션에 의해, 상기 제1 파라미터에 따라 상기 서비스의 제3 식별자를 생성하는 단계, 및
    상기 스테이션에 의해, 상기 서비스의 제3 식별자를 포함하는 제1 응답을 송신하는 단계
    를 포함하는 방법.
  23. 제22항에 있어서,
    상기 제1 응답은 상기 서비스의 서비스 정보를 더 포함하는 방법.
  24. 제22항에 있어서,
    상기 제1 식별자 및 상기 제2 식별자는 제1 방식에 따라 생성되고, 상기 제3 식별자는 제2 방식에 따라 생성되며, 상기 제1 파라미터는 상기 제3 식별자가 상기 제2 방식에 따라 생성되어야 한다는 것을 지시하는 방법.
  25. 제24항에 있어서,
    상기 제1 방식에 따라 상기 제2 식별자를 생성하는 것은,
    해시 함수를 사용하여 상기 서비스의 서비스 명칭을 해싱함으로써, 해시 출력을 생성하는 것; 및
    상기 해시 출력의 제1 부분을 절단하여 상기 제2 식별자를 생성하는 것
    을 포함하고,
    상기 제2 방식에 따라 상기 제3 식별자를 생성하는 것은,
    상기 해시 출력의 제2 부분을 절단하여 상기 제3 식별자를 생성하는 것
    을 포함하는 방법.
  26. 제25항에 있어서,
    상기 제1 응답은 제4 식별자에 대한 요청 및 제3 방식에 따라 상기 제4 식별자의 생성을 지시하는 제2 파라미터를 더 포함하며,
    상기 방법은,
    상기 해시 출력의 제3 부분을 절단하여 상기 서비스의 제5 식별자를 생성함으로써 상기 제3 방식에 따라 상기 서비스의 상기 제5 식별자를 생성하는 단계;
    상기 제4 식별자를 포함하는 제2 응답을 수신하는 단계; 및
    상기 제4 식별자와 상기 제5 식별자가 동일한 것으로 결정하는 것에 응답하여 상기 서비스의 서비스 정보를 포함하는 제3 응답을 송신하는 단계
    를 더 포함하는 방법.
  27. 제22항에 있어서,
    상기 제1 파라미터는 상기 제3 식별자를 생성하는데 사용되는 제1 임시 값을 포함하며,
    상기 제3 식별자를 생성하는 단계는,
    상기 제1 임시 값을 나타내는 문자열을 상기 서비스 명칭에 연관시키는 것과, 상기 서비스 명칭을 나타내는 값 및 상기 제1 임시 값에 수학 함수를 적용하는 것 중 하나에 의해, 상기 제1 임시 값과 상기 서비스의 서비스 명칭을 조합하여 제1 수정된 서비스 명칭을 생성하는 단계;
    해시 함수를 사용하여 상기 제1 수정된 서비스 명칭을 해싱함으로써, 제1 해시 출력을 생성하는 단계; 및
    상기 제1 해시 출력의 미리 지정된 부분을 절단하여 상기 제3 식별자를 생성하는 단계
    를 포함하는 방법.
  28. 제27항에 있어서,
    상기 제1 파라미터는 상기 제2 식별자를 생성하는데 사용되는 제2 임시 값을 더 포함하며,
    상기 제2 식별자를 생성하는 단계는,
    상기 제2 임시 값과 상기 서비스의 상기 서비스 명칭을 조합하여 제2 수정된 서비스 명칭을 생성하는 단계;
    상기 해시 함수를 사용하여 상기 제2 수정된 서비스 명칭을 해싱함으로써, 제2 해시 출력을 생성하는 단계; 및
    상기 제2 해시 출력의 미리 지정된 부분을 절단하여 상기 제2 식별자를 생성하는 단계
    를 포함하는 방법.
  29. 제27항에 있어서,
    상기 제2 식별자를 생성하는 단계는,
    상기 해시 함수를 사용하여 상기 서비스 명칭을 해싱함으로써, 제3 해시 출력을 생성하는 단계; 및
    상기 제3 해시 출력의 미리 지정된 부분을 절단하여 상기 제2 식별자를 생성하는 단계
    를 포함하는 방법.
  30. 제27항에 있어서,
    상기 제1 응답은 상기 서비스의 제4 식별자에 대한 요청 및 상기 제4 식별자를 생성하는데 사용될 제3 임시 값을 더 포함하고,
    상기 방법은,
    상기 제3 임시 값에 따라 상기 서비스의 제5 식별자를 생성하는 단계;
    상기 제4 식별자를 포함하는 제2 응답을 수신하는 단계; 및
    상기 제4 식별자와 상기 제5 식별자가 동일한 것으로 결정하는 것에 응답하여 상기 서비스의 서비스 정보를 포함하는 제3 응답을 송신하는 단계
    를 더 포함하는 방법.
  31. 제30항에 있어서,
    상기 서비스의 제5 식별자를 생성하는 단계는,
    상기 제3 임시 값과 상기 서비스의 상기 서비스 명칭을 조합하여 제3 수정된 서비스 명칭을 생성하는 단계;
    상기 해시 함수를 사용하여 상기 제3 수정된 서비스 명칭을 해싱함으로써, 제4 해시 출력을 생성하는 단계; 및
    상기 제4 해시 출력의 미리 지정된 부분을 절단하여 상기 제5 식별자를 생성하는 단계
    를 포함하는 방법.
  32. 서비스를 광고하도록 적응되는 스테이션으로서,
    제1 식별자 및 제1 파라미터를 포함하는 요청을 수신하도록 구성되는 수신기;
    상기 수신기에 연결되어 동작하는 처리 유닛 - 상기 처리 유닛은, 상기 서비스의 제2 식별자를 생성하도록, 그리고 상기 제1 식별자와 상기 제2 식별자가 동일할 때, 상기 제1 파라미터에 따라 상기 서비스의 제3 식별자를 생성하도록 구성됨 -; 및
    상기 처리 유닛에 연결되어 동작하는 송신기 - 상기 송신기는 상기 서비스의 상기 제3 식별자를 포함하는 제1 응답을 송신하도록 구성됨 -
    를 포함하는 스테이션.
  33. 제32항에 있어서,
    상기 제1 식별자 및 상기 제2 식별자는 제1 방식에 따라 생성되고, 상기 제3 식별자는 제2 방식에 따라 생성되고, 상기 제1 파라미터는 상기 제3 식별자가 상기 제2 방식에 따라 생성되어야 한다는 것을 지시하며, 상기 처리 유닛은, 해시 함수를 사용하여 상기 서비스의 서비스 명칭을 해싱하여 해시 출력을 생성하도록, 상기 해시 출력의 제1 부분을 절단하여 상기 제2 식별자를 생성하도록, 그리고 상기 해시 출력의 제2 부분을 절단하여 상기 제3 식별자를 생성하도록 구성되는 스테이션.
  34. 제33항에 있어서,
    상기 제1 응답은 제4 식별자에 대한 요청 및 제3 방식에 따라 상기 제4 식별자의 생성을 지시하는 제2 파라미터를 더 포함하며, 상기 처리 유닛은, 상기 해시 출력의 제3 부분을 절단하여 상기 서비스의 제5 식별자를 생성함으로써 상기 제3 방식에 따라 상기 서비스의 상기 제5 식별자를 생성하도록, 상기 제4 식별자를 포함하는 제2 응답을 수신하도록, 그리고 상기 제4 식별자와 상기 제5 식별자가 동일한 것으로 결정하는 것에 응답하여 상기 서비스의 서비스 정보를 포함하는 제3 응답을 송신하도록 구성되는 스테이션.
  35. 제32항에 있어서,
    상기 제1 파라미터는 상기 제3 식별자를 생성하는데 사용되는 제1 임시 값을 포함하며, 상기 처리 유닛은, 상기 제1 임시 값을 나타내는 문자열을 상기 서비스 명칭에 연관시키는 것, 및 상기 서비스 명칭 및 상기 제1 임시 값을 나타내는 값에 수학 함수를 적용하는 것 중 하나에 의해, 상기 제1 임시 값과 상기 서비스의 서비스 명칭을 조합하여 제1 수정된 서비스 명칭을 생성하도록, 해시 함수를 사용하여 상기 제1 수정된 서비스 명칭을 해싱함으로써, 제1 해시 출력을 생성하도록, 그리고 상기 제1 해시 출력의 미리 지정된 부분을 절단하여 상기 제3 식별자를 생성하도록 구성되는 스테이션.
  36. 제35항에 있어서,
    상기 제1 파라미터는 상기 제2 식별자를 생성하는데 사용되는 제2 임시 값을 더 포함하며, 상기 처리 유닛은, 상기 제2 임시 값과 상기 서비스의 상기 서비스 명칭을 조합하여 제2 수정된 서비스 명칭을 생성하도록, 상기 해시 함수를 사용하여 상기 제2 수정된 서비스 명칭을 해싱하여 제2 해시 출력을 생성하도록, 그리고 상기 제2 해시 출력의 미리 지정된 부분을 절단하여 상기 제2 식별자를 생성하도록 구성되는 스테이션.
  37. 제35항에 있어서,
    상기 처리 유닛은, 상기 해시 함수를 사용하여 상기 서비스 명칭을 해싱하여 제3 해시 출력을 생성하도록, 그리고 상기 제3 해시 출력의 미리 지정된 부분을 절단하여 상기 제2 식별자를 생성하도록 구성되는 스테이션.
  38. 제35항에 있어서,
    상기 제1 응답은 상기 서비스의 제4 식별자에 대한 요청 및 상기 제4 식별자를 생성하는데 사용될 제3 임시 값을 더 포함하며, 상기 처리 유닛은, 상기 제3 임시 값에 따라 상기 서비스의 제5 식별자를 생성하도록, 상기 제4 식별자를 포함하는 제2 응답을 수신하도록, 그리고 상기 제4 식별자와 상기 제5 식별자가 동일한 것으로 결정하는 것에 응답하여 상기 서비스의 서비스 정보를 포함하는 제3 응답을 송신하도록 구성되는 스테이션.
  39. 제38항에 있어서,
    상기 처리 유닛은, 상기 제3 임시 값과 상기 서비스의 상기 서비스 명칭을 조합하여 제3 수정된 서비스 명칭을 생성하도록, 상기 해시 함수를 사용하여 상기 제3 수정된 서비스 명칭을 해싱하여 제4 해시 출력을 생성하도록, 그리고 상기 제4 해시 출력의 미리 지정된 부분을 절단하여 상기 제5 식별자를 생성하도록 구성되는 스테이션.
KR1020177008005A 2014-08-25 2015-08-24 제휴 이전 서비스 발견을 보안하기 위한 시스템 및 방법 KR101878112B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462041470P 2014-08-25 2014-08-25
US62/041,470 2014-08-25
US14/832,607 US10250698B2 (en) 2014-08-25 2015-08-21 System and method for securing pre-association service discovery
US14/832,607 2015-08-21
PCT/CN2015/087921 WO2016029829A2 (en) 2014-08-25 2015-08-24 System and method for securing pre-association service discovery

Publications (2)

Publication Number Publication Date
KR20170048433A true KR20170048433A (ko) 2017-05-08
KR101878112B1 KR101878112B1 (ko) 2018-07-12

Family

ID=55349342

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177008005A KR101878112B1 (ko) 2014-08-25 2015-08-24 제휴 이전 서비스 발견을 보안하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US10250698B2 (ko)
EP (1) EP3186992B1 (ko)
JP (1) JP6406681B2 (ko)
KR (1) KR101878112B1 (ko)
CN (1) CN106664561B (ko)
WO (1) WO2016029829A2 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9876862B1 (en) * 2013-02-19 2018-01-23 Marvell International Ltd. Service identification with reduced ambiguity
US10447688B1 (en) * 2013-03-15 2019-10-15 Charles Schwab & Co., Inc. System for secure communications
US9641517B1 (en) * 2014-03-17 2017-05-02 Charles Schwab & Co., Inc. System and method for secure communications
JP6312369B2 (ja) * 2013-04-26 2018-04-18 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
US20150019718A1 (en) * 2013-07-12 2015-01-15 Electronics And Telecommunications Research Institute Method for service discovery in wireless personal area network
US10200826B2 (en) * 2015-01-30 2019-02-05 Intel Corporation Neighbor aware networking (NAN) device and method for service discovery
EP3253127A4 (en) * 2015-02-27 2018-07-25 Huawei Technologies Co., Ltd. Access point (ap) discovery method and apparatus
US10193985B2 (en) * 2015-03-16 2019-01-29 Lg Electronics Inc. Method and device for performing service discovery in wireless communication system
KR102314917B1 (ko) * 2015-03-19 2021-10-21 삼성전자주식회사 통신 시스템에서 디바이스들 간의 연결 설정 방법 및 장치
US10356676B2 (en) * 2015-04-20 2019-07-16 Huawei Technologies Co., Ltd. Resource switching method, apparatus, and system
WO2017010843A1 (ko) * 2015-07-16 2017-01-19 엘지전자 주식회사 무선 통신 시스템에서 프록시 서비스에 대한 프레임을 교환하는 방법 및 장치
JP6776243B2 (ja) * 2015-08-11 2020-10-28 京セラ株式会社 通信方法、基地局及び無線端末
US10148769B2 (en) * 2015-09-11 2018-12-04 Blackberry Limited Pre-association discovery of services
US11722456B2 (en) * 2016-07-01 2023-08-08 Intel Corporation Communications in internet-of-things devices
US10645577B2 (en) * 2016-07-15 2020-05-05 Avago Technologies International Sales Pte. Limited Enhanced secure provisioning for hotspots
CN107786972B (zh) * 2016-08-31 2020-07-24 华为技术有限公司 无线局域网中建立关联的方法、终端和接入点
US20180115424A1 (en) * 2016-10-24 2018-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Securing wireless frames without association
US10491474B2 (en) * 2017-02-17 2019-11-26 Home Box Office, Inc. Endpoint abstraction for service-to-service communication
US10375179B2 (en) 2017-03-03 2019-08-06 Apple Inc. Pre-association service discovery
EP3413530B1 (de) * 2017-06-09 2019-07-31 Siemens Aktiengesellschaft Verfahren und vorrichtung zum austauschen von nachrichten
CN108260188B (zh) * 2018-02-28 2021-02-19 惠州Tcl移动通信有限公司 一种Wi-Fi连接控制方法及系统
US10887181B2 (en) * 2019-01-09 2021-01-05 Microsoft Technology Licensing, Llc Out-of-band service discovery for peripheral devices
US11115479B2 (en) * 2019-01-10 2021-09-07 Google Llc Enhanced online privacy

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1605627A (en) * 1922-04-17 1926-11-02 Wireless Improvement Company Radio receiving apparatus
WO2000018162A1 (en) 1998-09-18 2000-03-30 Qualcomm Incorporated Method and apparatus for authenticating embedded software in a remote unit over a communications channel
US6920559B1 (en) * 2000-04-28 2005-07-19 3Com Corporation Using a key lease in a secondary authentication protocol after a primary authentication protocol has been performed
US6766453B1 (en) * 2000-04-28 2004-07-20 3Com Corporation Authenticated diffie-hellman key agreement protocol where the communicating parties share a secret key with a third party
AU2001237019A1 (en) 2001-02-13 2002-08-28 Qualcomm Incorporated Method and apparatus for authenticating embedded software in a remote unit over a communications channel
US7120691B2 (en) * 2002-03-15 2006-10-10 International Business Machines Corporation Secured and access controlled peer-to-peer resource sharing method and apparatus
JP2004297759A (ja) 2003-03-11 2004-10-21 Seiko Epson Corp 無線通信ネットワークシステムにおける接続認証
US7492744B2 (en) * 2004-02-06 2009-02-17 Symbol Technologies, Inc. Method and system for multiple basic and extended service set identifiers in wireless local area networks
US7948953B2 (en) * 2005-12-19 2011-05-24 Aruba Networks, Inc. System and method for advertising the same service set identifier for different basic service sets
US8559350B2 (en) 2005-12-20 2013-10-15 Microsoft Corporation Mechanism to convey discovery information in a wireless network
WO2007085175A1 (fr) 2006-01-24 2007-08-02 Huawei Technologies Co., Ltd. Procédé, système d'authentification et centre d'authentification reposant sur des communications de bout en bout dans le réseau mobile
US8037182B2 (en) * 2006-11-30 2011-10-11 Microsoft Corporation Capture of content from dynamic resource services
US8225093B2 (en) 2006-12-05 2012-07-17 Qualcomm Incorporated Providing secure inter-application communication for a mobile operating environment
CN101127877A (zh) * 2007-09-25 2008-02-20 中兴通讯股份有限公司 一种移动电视业务中获取业务密钥的方法
JP4589994B2 (ja) * 2008-09-05 2010-12-01 株式会社沖データ 画像処理装置、情報管理システム、複合機およびファクシミリ
US7996434B2 (en) * 2009-02-12 2011-08-09 Oracle International Corporation System and method for creating and managing universally unique identifiers for services
US20110302643A1 (en) * 2009-03-31 2011-12-08 Nokia Siemens Networks Oy Mechanism for authentication and authorization for network and service access
CN101582891B (zh) * 2009-06-19 2012-05-23 杭州华三通信技术有限公司 一种广域网终端接入控制认证方法、系统和终端
US9057538B2 (en) * 2009-11-20 2015-06-16 Mark W Miles Solar flux conversion module
CN101902476B (zh) * 2010-07-27 2013-04-24 浙江大学 移动p2p用户身份认证方法
WO2011144081A2 (zh) 2011-05-25 2011-11-24 华为技术有限公司 用户业务鉴权方法、系统及服务器
KR101842047B1 (ko) * 2012-03-15 2018-03-26 삼성전자주식회사 와이 파이 다이렉트 통신 시스템에서 그룹 프로파일 관리를 위한 방법 및 장치
US9038137B2 (en) * 2012-06-28 2015-05-19 Cellco Partnership Subscriber authentication using a user device-generated security code
US9150139B2 (en) * 2012-06-29 2015-10-06 Caterpillar Inc. Reductant refill and purging system
GB2503696A (en) * 2012-07-04 2014-01-08 Ibm Finding services in a service registry system of a service-oriented architecture
CN104823517B (zh) * 2012-11-29 2019-04-23 Lg电子株式会社 用于设置wi-fi直连服务系统中的通信的方法及装置
CN103856497B (zh) * 2012-11-29 2017-06-06 华为终端有限公司 家庭网络中的终端管理方法、设备和家庭网络
US9256881B2 (en) * 2013-11-08 2016-02-09 Vattaca, LLC Authenticating and managing item ownership and authenticity
JP6488702B2 (ja) * 2014-12-27 2019-03-27 富士通株式会社 通信制御装置、通信制御方法、および、通信制御プログラム
CN105577693A (zh) * 2016-02-04 2016-05-11 上海交通大学 社交网络环境下p2p传感网络安全服务选择方法

Also Published As

Publication number Publication date
CN106664561A (zh) 2017-05-10
JP6406681B2 (ja) 2018-10-17
US20160057237A1 (en) 2016-02-25
JP2017532837A (ja) 2017-11-02
WO2016029829A2 (en) 2016-03-03
EP3186992B1 (en) 2020-03-18
EP3186992A2 (en) 2017-07-05
US10250698B2 (en) 2019-04-02
WO2016029829A3 (en) 2016-04-07
KR101878112B1 (ko) 2018-07-12
EP3186992A4 (en) 2017-08-09
CN106664561B (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
KR101878112B1 (ko) 제휴 이전 서비스 발견을 보안하기 위한 시스템 및 방법
US11451614B2 (en) Cloud authenticated offline file sharing
JP5490898B2 (ja) 表現の所有権を導出、通信及び/又は検証する方法及び装置
CN105379190B (zh) 用于指示服务集标识符的系统和方法
US9451440B2 (en) System and method for pre-association discovery
EP3051744B1 (en) Key configuration method and apparatus
US8869252B2 (en) Methods, apparatuses, and computer program products for bootstrapping device and user authentication
EP3065334A1 (en) Key configuration method, system and apparatus
EP3395091A1 (en) Authentication and key agreement in communication network
Yan et al. Flexible data access control in D2D communications
CN112600820B (zh) 一种网络连接方法、装置、计算机设备以及存储介质
JP2015505647A (ja) 認証のためのシステムおよび方法
WO2018205148A1 (zh) 一种数据包校验方法及设备
Harkins et al. Opportunistic wireless encryption
EP2701447A1 (en) A method for establishing a wireless network by means of a content identifier
KR101465337B1 (ko) 사물간 통신 네트워크의 개체 인증 방법
US20060026433A1 (en) Method and apparatus for minimally onerous and rapid cocktail effect authentication (MORCEAU)
Azarnik et al. Lightweight authentication for user access to Wireless Sensor networks
WO2016187850A1 (zh) 无线通信网络中设备配置的方法、装置及系统
Li et al. Research on DoS Attacks and Resist Method Based on 4-way Handshake in 802.11 i
Wang et al. A universal access control method based on host identifiers for Future Internet
SUNEEL et al. An Extempore Protocol for Secured Wireless MANET Creation

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