KR20090067155A - 보안 연결 확립 방법, 보안 핸드쉐이크 서비스 확립 방법 및 컴퓨터 판독가능 매체 - Google Patents

보안 연결 확립 방법, 보안 핸드쉐이크 서비스 확립 방법 및 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR20090067155A
KR20090067155A KR1020097007075A KR20097007075A KR20090067155A KR 20090067155 A KR20090067155 A KR 20090067155A KR 1020097007075 A KR1020097007075 A KR 1020097007075A KR 20097007075 A KR20097007075 A KR 20097007075A KR 20090067155 A KR20090067155 A KR 20090067155A
Authority
KR
South Korea
Prior art keywords
upnp
portable media
media device
request
media
Prior art date
Application number
KR1020097007075A
Other languages
English (en)
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 KR20090067155A publication Critical patent/KR20090067155A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • 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/126Applying verification of the received information the source of the received data

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)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

보안 핸드쉐이크 서비스는 하나 이상의 UPnP(Universal Plug and Play) 서비스를 호스팅하는 개방형 네트워크의 복수의 UPnP 휴대용 미디어 장치 및 종단 간에 구현된다. 제1 휴대용 미디어 장치는 호스팅되는 서비스에 대한 제1 요청을 제2 휴대용 미디어 장치로부터 네트워크를 통해 수신한다. 제1 휴대용 미디어 장치는 상기 요청의 인증서의 함수로 제2 휴대용 미디어 장치를 인증 및 허가한다. 제2 휴대용 미디어 장치가 상기 제1 휴대용 미디어 장치에 의해 인증 및 허가되는 경우, 제2 휴대용 미디어 장치는 제1 휴대용 미디어 장치상에서 호스팅되는 요청된 서비스에 액세스하는 것이 허용된다.
Figure P1020097007075
휴대용 미디어 장치, 호스팅, 인증서, 핸드쉐이크

Description

보안 연결 확립 방법, 보안 핸드쉐이크 서비스 확립 방법 및 컴퓨터 판독가능 매체{UPNP AUTHENTICATION AND AUTHORIZATION}
UPnP(Universal Plug and Play) 아키텍처는 가전 기기, 무선 장치, 전자 기기, 휴대용 미디어 장치 및 퍼스널 컴퓨터 등의 가전 장치(consumer electronic devices)의 네트워크 연결을 제공한다. UPnP는 TCP/IP 및 웹 기술을 강화하여 댁내 네트워크 장치들 간에 근접 네트워킹(proximity networking)을 가능하게 하고 데이터 전달을 제어하는 분산 개방형 네트워킹 아키텍처(a distributed, open networking architecture)이다. UPnP는 여러 다양한 벤더들로부터의 소정 범위의 장치 카테고리들에 대한 제로-컨피규레이션(zero-configuration), "비가시성(invisible)" 네트워킹, 및 자동 디스커버리(automatic discovery)를 지원하도록 설계되어 있다. 장치들은 동적으로 네트워크에 참여(join)하고, IP 어드레스를 획득하고, 자신의 기능을 수행하며, 다른 장치의 존재 및 기능에 대해 학습(learn)할 수 있다. 또한, UPnP 장치는 임의의 바람직하지 않은 상태를 남기지 않고 네트워크를 떠날 수 있다.
UPnP 모델에서, 모든 장치는 소위 "비가시성" 네트워킹을 가능하게 하는 모든 가능한 요청을 하도록 암시적으로 허가받은 것으로 가정된다. 하지만, 인증(authentication)이 없다면, 다른 UPnP 장치로부터 UPnP 요청을 수신하는 장치 가, 그 요청을 송신한 장치가 이러한 요청들을 하도록 허가된 것인가에 대해 알지 못한다. UPnP 장치는 모든 장치들이 신뢰성 있는 것으로 가정되는 홈 네트워크 등의 용도로 설계되었기 때문에, 장치들에 대한 인증 및 허가는 불필요하였다. 하지만, 홈 네트워크 내에서도, UPnP 내의 허가 및 인증에 대한 지원이 부족하다는 것은 문제를 일으킬 수 있다. 예를 들어, 공유 네트워크(shared network)를 대학 기숙사(college dormitory)에 구현하거나, 또는 무선 기술(예컨대, Wi-Fi)을 이용하는 환경에 구현하는 경우를 가정해 본다. 이런 경우, UPnP 기반의 파일 서버의 소유자는, 자신이 네트워크에 액세스할 수 있는 모든 다른 UPnP 장치들을 신뢰할 수 없기 때문에, 네트워크 서버에 저장된 파일들에 대한 비제한적 액세스를 제공하기를 원하지 않을 수 있다.
다른 예에서는, 고해상도 비디오를 스트리밍할 수 있는 UPnP 기반의 미디어 서버의 제조자가, 고해상도 비디오 콘텐츠에의 액세스를 라이센스가 있고 비디오 콘텐츠를 렌더링할 수 있는 장치들에 제한하고, 동시에 표준 해상도 버전의 비디오 콘텐츠를 다른 장치들에 스트리밍하는 것을 원하는 경우를 가정해 본다. 즉, UPnP 장치의 제조자는, 동일 제조자가 제조한 장치 등의 UPnP 장치들의 부분 집합(subset)에 대한 액세스를 허용하길 원할 수 있다.
인증 및 허가 문제에 대한 기존의 해법은 불완전한, 불충분한 보안성을 갖거나 또는 DRM(Digital Right Management)에 관련된다. 예를 들어, 인증 문제에 대한 통상의 해법은 하나 이상의 UPnP 메시지에서 인간에 의해 판독가능한 잘 알려진 문자열(string)을 찾는 것이다. 문자열은 사용자-대리인(User-Agent) 프로토콜 헤 더에 있을 수 있거나, 또는 장치 설명서, 모든 UPnP 장치로부터 다운로드될 수 있는 XML-포맷 문서에 임베딩될 수 있다. 제2 UPnP 장치를 인증하는 것을 원하는 제1 UPnP 장치는 이들 문자열 중 하나의 존재를 체크한다. 문자열이 검색되면, 제1 UPnP 장치는 제2 UPnP 장치가 인증될 것으로 생각할 것이다. 하지만, 이 해법은 문자열이 인간이 판독가능한 분명한 형태(form)(이 형태는 복제되기 쉬움)로 전송되기 때문에 보안성이 없다.
다른 기존의 해법에서, 요청을 수신한 UPnP 장치가 허가된 장치의 주소 테이블에서 UPnP 요청의 이더넷 MAC(Media Access Control) 주소를 조회(look up)한다. 요청측 장치의 MAC 주소가 검색되면, 장치는 허가된 것으로 생각된다. 그렇지 않으면, 요청측 장치에게 액세스를 승인(grant)하고 요청측 장치의 MAC 주소를 테이블에 추가하는 옵션이 요청측 장치의 사용자에게 제공된다. 하지만, 이 해법은 이더넷 MAC 주소가 비교적 "스푸핑(spoof)" 또는 위조(forge)되기 쉽기 때문에 보안성이 없다.
또한, 이 해법은 UPnP 장치가 라인센스가 있거나 또는 승인된 특정한 장치들로만 액세스를 제한하길 원하는 시나리오에서는 실행불가능하다. 왜냐하면 이더넷 MAC 주소는 통상적으로 UPnP 소프트웨어와는 별개로 제조되는 하드웨어 칩에 저장되기 때문이다. 소프트웨어 제조자가 허가된 이더넷 MAC 주소의 테이블을 생성하는 것은 통상적으로 불가능한데, 왜냐하면 승인된 장치의 MAC 주소가 이 소프트웨어가 생성되는 시점에 알려져 있지 않기 때문이다. 또한, 이런 시나리오에서, 사용자는 라이센스가 없거나 또는 승인되지 않은 장치에게 액세스를 승인할 수 있기 때문에, 사용자가 MAC 주소를 허가된 MAC 주소 테이블에 추가하는 것을 촉구(prompt)하는 것은 바람직하지 않다.
제3의 해법은 통상의 DRM 시스템에 의해 제공된다. DRM 시스템은 2개의 장치가 서로를 인증하고, 오디오/비디오 콘텐츠를 암호화된 형태로 전송하는 것을 허용하지만, 이러한 매우 전문화된 해법은 모든 시나리오에 적용가능하지 않다. 예를 들어, 전송중인 콘텐츠를 암호화하는 것(이는 DRM 시스템에 의해 요구됨)이 항상 바람직한 것이 아닐 수 있다. 또한, 일부 DRM 시스템은 오디오/비디오 콘텐츠의 전송 동안 보안(암호화-기반의) 메시지 교환을 행하지만, 콘텐츠의 디스커버리(UPnP ContentDirectory 서비스를 통한)는 이런 보안 메시지 교환에 의해 커버(cover)되지 않는다. 따라서, 제1 장치는 자신이 발견한 콘텐츠를 스트리밍하도록 허가되는지를 파악하지 않은 채, 제2 장치의 ContentDirectory 서비스에서 콘텐츠를 발견(discover)할 수 있다.
[요약]
본 발명의 실시예들은 UPnP 장치들이 서로를, 또한 다른 UPnP 종단(endpoint)을 인증 및 허가하도록 보안 서비스를 제공함으로써, 알려진 UPnP 프로토콜에서 하나 이상의 결점을 극복한다. 본 발명의 양상들에 따르면, UPnP 개시자(initiator) 장치는 신뢰 당국(trusted authority)으로부터 식별 정보를 포함하는 요청을 UPnP 응답자(responder) 장치에 송신한다. 응답자 장치는 개시자 장치의 ID(identity)를 신뢰 당국을 통해 인증하고 개시자 장치를 식별 정보의 함수로 허가한다.
다른 양상에 있어서, 본 발명은 인증 및 허가 프로세스 동안 세션 식별자(session identifier)를 확립(establish)한다. 세션 식별자는, 개시자로부터의 후속 UPnP 또는 HTTP 요청들을 이전에 성공적으로 완료된 인증 및 허가에 매칭하기 위해, 개시자로의 응답에 포함된다.
본 발명의 다른 양상은, 네트워크화된 휴대용 미디어 장치들을 위한 보안 인증 및 허가 서비스를 위한 컴퓨터 실행가능 명령어들을 갖는 컴퓨터 판독가능 매체에 의해 구체화된다.
이 요약은 이하 상세한 설명에 더 기술되어 있는 몇몇 개념을 단순화된 형태로 제시하기 위한 것이다. 이 요약은 청구 대상의 중요한 특징 또는 필수적 특징을 식별하기 위한 것이 아니며, 청구 대상의 범위를 정하기 위한 보조 수단으로 사용되기 위한 것도 아니다.
다른 특징들은 이하에서 일부 명확해지고 일부 나타내어질 것이다.
도 1은 본 발명의 일 실시예에 따른 인증 및 허가 서비스를 위한 컴퓨팅 시스템 환경을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 개시자 메시지(initiator message)의 생성을 나타내는 흐름도의 일례이다.
도 3은 본 발명의 일 실시예에 따른 응답 메시지(response message)의 생성을 나타내는 흐름도의 일례이다.
도 4는 본 발명의 일 실시예에 따른 확인 메시지(confirmation message)의 생성을 나타내는 흐름도의 일례이다.
도 5는 본 발명의 일 실시예에 따른 개시 메시지(initiating message)의 블록도이다.
도 6은 본 발명의 일 실시예에 따른 응답 메시지(response message)의 블록도이다.
도 7은 미디어 렌더러(media renderer)가 미디어 서버에 의해 인증 및 허가되기 위한 컴퓨터 실행가능 컴포넌트들을 갖는 컴퓨터 판독가능 매체를 나타낸다.
대응 참조 부호는 도면 전체에 걸쳐 대응 부분을 표시한다.
도 1을 참조해 보면, 도 1은 본 발명의 양상들에 따른 인증 및 허가 서비스를 위한 시스템을 도시한다. 유익하게도, 본 발명의 실시예들에 의하면, UPnP(Universal Plug and Play) 장치는 예컨대, UPnP 프로토콜 자체를 변경함 없이 새로운 보안 서비스를 UPnP 프로토콜에 확장형 방식으로 추가함으로써, 다른 UPnP 장치를 인증 및 허가하게 된다.
일 실시예에서, UPnP 장치는 UPnP 종단으로부터의 요청에 응답하여 하나 이상의 UPnP 서비스를 구현한다. UPnP 종단은 또한 UPnP 장치일 수 있다는 것을 이해해야 한다. 예를 들어, 제1 장치가 UPnP 서비스를 구현하는 경우, 제1 장치는 정의(definition)에 의해 UPnP 장치이다. 제1 장치가 제2 UPnP 장치상에 구현된 UPnP 서비스를 요청하는 경우, 제1 장치는 또한 UPnP 종단으로서 기능하고 있다. 도시된 실시예에서, 개시자(102) 등의 UPnP 종단과, 응답자(104) 등의 UPnP 종단은 동일한 UPnP 네트워크의 멤버들이다. UPnP 아키텍처는 장치가 동적으로 네트워크에 참여하고, IP 주소를 획득하고, 장치의 기능을 수행하고, 다른 장치의 존재 및 기능에 대해 학습하는 것을 허용한다. UPnP 장치, 종단 등은, 가전 제품, 컴퓨팅 장치, 가정 자동화(home automation) 장치, 가정 보안(home security) 장치, 가전 기기, 휴대용 미디어 장치, 프린트 장치, 디지털 카메라, 스캐너, 컴퓨터 네트워킹 장치, 이동 장치 등의 UPnP 네트워크 프로토콜을 구현하는 모든 장치를 포함한다.
본 발명의 일 양상은 UPnP 종단(예컨대, 개시자(102))와 UPnP 장치(예컨대, 응답자(104))가 어느 한쪽을 인증하거나 또는 서로를 인증하는 것(즉, 보안 방식으로 서로의 ID를 확립)을 허용하는 새로운 UPnP Handshake Service를 구현한다. 일단 인증되면, 장치 각각은 다른 쪽 장치가 자신과 통신하도록 허가되어 있는지를 판정할 수 있다.
일 실시예에서, 응답자(104)는 네트워크상의 개시자(102)와 같은 UPnP 미디어 렌더러 장치에 미디어 콘텐츠를 제공하는 범용 미디어 서버 장치이다. 예를 들어, 미디어 서버는 휴대용 미디어 장치, VCR, CD 재생기, DVD 재생기, 오디오-테이프 재생기, 정지 화상 카메라(still-image cameras), 캠코더, 라디오, TV 튜너, 및 셋톱 박스, MP3 서버, PVR(Personal Video Recorder), 및 홈 미디어 서버(퍼스널 컴퓨터 등)와 같은 장치들을 포함한다. 동작 시에, 개시자(102)와 응답자(104)는, 본 발명의 양상을 구현하기 위한 도면들에 도시된 바와 같은 컴퓨터 실행가능 명령어를 실행시킨다.
개시자(102)와 응답자(104)는 통상적으로 적어도 몇몇 형태의 컴퓨터 판독가능 매체를 갖는다. 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함하는 컴퓨터 판독가능 매체는, 개시자(102)와 응답자(104)에 의해 액세스될 수 있는 매체는 어떤 것이든지 컴퓨터 판독가능 매체일 수 있다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 예를 들어, 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 개시자(102) 및 응답자(104)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. 통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. 본 분야의 숙련자는 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 피변조 데이터 신호에 대해 잘 알고 있다. 유선 네트워크 또는 직접 배선 연결(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체는 통신 매체의 예들이다. 상술된 매체들의 모든 조합 이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되는 것으로 한다.
미디어 서버는 자신의 콘텐츠를 UPnP Content Directory 서비스를 통해 드러낸다. 미디어 서버는 임의의 특정한 유형의 미디어, 임의의 데이터 포맷, 및 전송 프로토콜을 처리할 수 있다. 미디어 콘텐츠의 예들은 MPEG2 비디오, CD 오디오, MP3 오디오, WMA 오디오 및 JPEG 이미지를 포함한다.
UPnP 서비스는 URN(Universal Resource Name)에 의해 식별된다. URN은 소정의 장치가 다른 장치에 의해 호스팅되는 서비스들을 검색하거나, 또는 소정의 장치가 자기 자신이 호스팅하는 서비스의 가용성을 알리는 경우 사용된다. Handshake Service의 URN은 임의로 선택될 수 있다. 본 발명의 일 실시예에서, "urn:schemas-microsoft-com:service:Handshake:1"은 Handshake Service의 URN이다.
보안 UPnP 장치는 인증 및 허가된 다른 UPnP 장치 및 종단으로부터의 통신만을 받아들인다. 따라서, 보안 UPnP 장치는, 보안 UPnP 장치가 제2 장치가 보안 UPnP 장치에 의해 구현된 임의의 다른 UPnP 서비스에 액세스하는 것을 허용하기 전에, Handshake Service가 성공적으로 제2 장치를 인증 및 허가할 것을 필요로 한다.
일 실시예에서, 다른 UPnP 장치에 의해 호스팅되는 서비스를 요청하는 UPnP 종단은 개시자(102)로 지칭된다. 예를 들어, 미디어 렌더러 장치가 미디어 서버 장치에 의해 제공되는 이용가능한 콘텐츠 리스트를 요청하는 경우, 미디어 렌더러는 미디어 서버 장치에 의해 호스팅되는 UPnP ContentDirectory 서비스에 요청을 전송한다. 이 예에서, 미디어 렌더러가 ContentDirectory 서비스와 통신하는 경우 그 미디어 렌더러는 개시자(102)이고, 미디어 서버 장치는 응답자(104)로 지칭된다.
하지만, 동일한 미디어 렌더러 장치가 또한 그 자신의 UPnP 서비스를 호스팅할 수 있다. 이 경우에, 미디어 렌더러는 UPnP 종단뿐만 아니라 UPnP 장치로서 기능하고 있다. 미디어 서버가 이들 서비스 중 어느 것을 사용하기로 결정하는 경우, 역할들이 반전되어, 미디어 서버는 개시자(102)이고 미디어 렌더러는 응답자(104)이다. 일 실시예에서, 미디어 렌더러에 의해 개시되는 미디어 서버로의 핸드쉐이크 및 미디어 서버에 의해 개시되는 미디어 렌더러로의 핸드쉐이크는 완전히 독립적인 2개의 동작으로서 다루어진다.
UPnP 프로토콜은 통신하길 원하는 장치를 찾기 위한 2가지 표준 방식을 개시자(102)에게 제공한다. 첫째로, 개시자(102)는 M-SEARCH 요청의 URN에 의해 식별되는 UPnP 서비스를 지원하는 네트워크 상의 모든 UPnP 장치로부터의 응답을 간청(solicit)하는 M-SEARCH 요청을 방송(broadcast)한다. 둘째로, 개시자(102)는 NOTIFY 메시지를 리스닝(listening)한다. 모든 UPnP 장치는 자신들이 호스팅하는 서비스들의 가용성(availability)을 알리는(announcing) NOTIFY 메시지를 주기적으로 전송한다.
일 실시예에서, ContentDirectory Service를 구현하는 UPnP 장치들을 검색하는 미디어 렌더러 장치는 M-SEARCH 및/또는 NOTIFY 메시지를 이용하여 ContentDirectory 서비스를 찾을 것이다. 미디어 렌더러는 또한 M-SEARCH 및/또는 NOTIFY 메시지를 사용하여 ContentDirectory 서비스의 URN에 의해 식별되는 Handshake Service를 찾는다. 이런 실시예에서, 미디어 렌더러는, 동일한 UPnP 장치가 ContentDirectory 서비스뿐만 아니라 Handshake Service를 호스팅하는 경우, ContentDirectory 서비스와만 통신할 것이다. 그리고, 미디어 렌더러는, Handshake Service가 성공적이면 ContentDirectory 서비스만을 사용할 것이다. ContentDirectory 서비스는 예시적인 목적을 위해 사용되며, Handshake Service는 임의의 다른 UPnP 서비스(ContentDirectory 서비스 또는 AVTransport 서비스 등) 전에 구현될 수 있다.
다른 실시예에서, Handshake Service는 공유된 기밀 및 대칭 암호화 키(shared secret and symmetric encryption key)를 확립한다. 공유된 기밀은 후속 UPnP 또는 HTTP 요청에서 사용될 수 있는 보안 토큰(security token)(702)을 생성하는 데 사용되어, 이미 인증 및 허가된 장치로부터 요청이 발생하는 것이 확립된다. 보안 토큰(702)은 각 요청별로 변경될 수 있어, 악한(rogue) 장치가 허가된 장치로 가장(masquerade)하는 것을 더 어렵게 만들 수 있다. 또한, 장치의 이더넷 MAC 주소 또는 IP 주소는 이미 인증된 장치로부터의 요청을 식별하는 데 사용될 수 있지만, 전술된 바와 같이, 이런 구현예는 보안성이 낮다.
소정의 장치가 허가된 후에, 도 3 내지 도 5에 예시되는 본 방법에 의해 확립되는 대칭 암호화 키가 전송중인 콘텐츠를 암호화하는 데 사용된다. 이는, 비허가된 장치가 서로 허가된 2개의 장치 간에 통신을 도청(eavesdropping)하지 않도록 하는 부가적인 보안 계층을 제공한다. 예를 들어, 전술된 고해상도 비디오 스트림 은 대칭 암호화 키를 사용하여 암호화될 수 있다.
일 실시예에서는, 초기 핸드쉐이크가 수행된 이후에, Handshake Service 외에, 새로운 HTTP 및 UPnP 헤더가 후속 HTTP 및 UPnP 요청에 사용된다. 대안으로서, XML-기반의 신택스(syntax)가 UPnP 헤더 대신에 사용된다.
UPnP 서비스는 액션(action) 및 이벤트를 갖는다. Handshake Service는 2개의 액션을 포함하고 이벤트는 포함하지 않는다. 액션은 입력 및 출력 매개변수를 갖는 원격 프로시저 호출과 유사하다. 일 실시예에서, Handshake Service를 시작하기 위해, 개시자(102)는 DoHandshake 액션(106)을 인보크(invoke)한다. 액션의 명칭(the name of action)은, XML-포맷 UPnP 서비스의 설명이 명칭을 올바르게 기술하는 한, 다를 수 있으며 전혀 문제가 되지 않는다.
일 실시예에서, DoHandshake 액션은 1개의 입력 매개변수와 2개의 출력 매개변수를 갖는다. 본 발명의 이런 실시예에서, 입력 매개변수는 개시자 메시지(500)이며, 제1 출력 매개변수는 응답자 메시지(600)이며, 제2 출력 매개변수는 요청 식별자(request identifier)이다. 다른 실시예에서, 개시자 메시지(500), 응답자 메시지(600)는 소정의 포맷을 갖는다. 또한, UPnP가 텍스트-기반의 프로토콜이기 때문에, 개시자 메시지 및 응답자 메시지는 이들 메시지가 UPnP를 통해 전송되는 경우, Base64로 인코딩된다.
개시자 메시지(500)의 목적은 응답자(104)로 하여금 개시자(102)를 인증하도록 하는 것이다. DoHandshake 액션(106)은 개시자(102)로부터의 개시자 메시지(500)를 응답자(104)에게 전송한다. 도 5에 도시된 실시예에서는, 개시자 메시 지(500)가 인증서(502)를 포함할 것이고, 공개 키 암호화는 인증에 이용된다. 인증서는 디지털 서명을 사용하여 개시자(102)의 식별 정보(506)(모델 번호 및 일련 번호 등)와 공개 키(504)를 함께 바인딩(binding)한다. 인증서는 공개 키(504)가 개시자(102)에게 속한다는 것을 검증(verify)하는 데 사용될 수 있다. 통상적인 공개 키 기반구조(infrastructure) 방식에서, 서명은 신뢰 당국의 서명일 것이다. 응답자(104)는 서명의 유효성을 검사(validate)하고, 인증서가 인증된(authentic) 것인지를 검증한다. 유익하게도, 응답자(104)는 서로 다른 개시자(102)를 구별할 수 있고, 인증서(502)에 포함된 정보를 사용하여 개시자(102) 각각을 개별적으로 허가할 수 있을 것이다. 예를 들어, 응답자(104)가 고해상도 비디오 콘텐츠를 스트리밍할 수 있는 경우를 가정해 본다. 응답자(104)가 단지 인증서(502)로부터 장치의 모델 번호를 조회하여 개시자(102)가 고해상도 비디오 콘텐츠를 렌더링할 수 있는가를 판정한다. 개시자(102)가 고해상도 비디오 콘텐츠를 렌더링할 수 있는 경우, 응답자(104)는 개시자(102)를 허가한다.
다른 실시예에서, 인증서는 개시자의 공개 키(504)를 포함한다. 공개 키(504)로 암호화된 메시지는, 개시자(102)에게만 알려져 있는 매칭 개인 키를 사용하여야만 암호해독될 수 있다. 이런 실시예에서, 개시자 메시지(500)는 인증서(502)뿐만 아니라, DoHandshake 액션이 인보크되는 시각마다 다른 난수(random number)(508)를 포함한다. 난수(508)는 응답자(104)에 의해 공유된 기밀을 생성하는 데 사용된다. 또한, 난수(508)는 번호와 문자의 임의의 조합으로 생성될 수 있다.
일 실시예에서, 응답자 메시지(600)는 응답자(104)가 개시자 메시지(500)의 인증서(502)를 인증할 수 있었다는 표시이다. 도 6에 도시된 다른 실시예에서, 응답자 메시지(600)는 개시자(102)가 응답자(104)를 인증하는 것을 허용하기 위해 응답자(104)의 인증서(602)를 포함한다. 인증서(602)는 또한 응답자의 공개 키(604)뿐만 아니라 응답자(104)의 식별 정보(606)도 포함한다. DoHandshake 액션 응답(108)은 응답자 메시지(600) 및 개시자(102)로부터 응답자(104)로의 요청 식별자를 전송한다.
전술된 바와 같이, 인증서(602)는 신뢰 당국에 의해 직접적으로 또는 간접적으로 디지털 서명된다. 그리고, 이 서명의 유효성을 검사하기 위해서, 개시자(102)는 응답자(104)를 인증할 수 있다. 또한, 응답자의 인증서(602)는 개시자의 공개 키를 사용하는 방식으로 암호화된다. 다른 실시예에서, 응답자 메시지(600)의 암호화된 부분은 DoHandshake 액션이 인보크되는 시각마다 다른 난수(608)를 포함한다. 또한, 난수(608)는 번호와 문자의 임의의 조합으로 생성된다.
일 실시예에서, 제2 출력 매개변수인, 요청 식별자는 후속 UPnP 또는 HTTP 요청을 이전에 성공적으로 완료된 DoHandshake 액션에 매칭하는 데 사용된다. 응답자(104)가 DoHandshake 액션을 성공적으로 완료한 개시자 장치의 이더넷 MAC 주소를 기록하는 경우의 일 실시예에서, 향후 요청들이 이더넷 MAC 주소에만 기초하여 받아들여지거나 또는 거절되기 때문에, 요청 식별자는 사용되지 않는다. 요청 식별자를 사용하는 실시예들에서는, 요청 식별자가 응답자(104)에 의해 생성된다. 일 실시예에서, 요청 식별자는 난수이다. 또한, 요청 식별자는 번호와 문자의 임의의 조합으로 생성된다. 하지만, 이 실시예에서, 응답자(104)는 개시자(102)가 암호화된 인증서를 응답자 메시지(600)에서 실제로 암호해독할 수 있었는지를 알지 못할 것이다. 이를 검증하지 못한 채, 개시자(102)가 다른 장치에 실제로 발행(issue)되었던 인증서를 사용했을 가능성이 있다.
Confirm 액션이라 불리는, UPnP Handshake Service에서 제2 액션에 의해, 응답자(104)는 개시자(102)가 응답자 메시지(600)에서 인증서를 암호해독할 수 있었다는 것을 확인하게 된다. Confirm 액션(110)은 개시자(102)로부터의 확인 메시지(700)를 응답자(104)에게 전송한다.
Confirm 액션(110)은 (성공/실패 표시(112)와는 달리) 2개의 입력 매개변수를 갖으며 출력 매개변수는 갖지 않는다. 제1 입력 매개변수는 응답자(104)가 DoHandshake 액션 응답(108)으로 개시자(102)에게 제공한 요청 식별자이다. 일 실시예에서, 요청 식별자는 제한된 기간 동안만 유효하다. 만료된 요청 식별자를 갖는 Confirm 액션을 인보크하려는 시도는 실패 표시를 리턴하는 액션이 일어나게 한다.
도 7에서, 확인 메시지(700)는 제2 입력 매개변수를 구체화한다. 이 실시예에서, 확인 메시지(700)는 보안 토큰(702)을 포함한다. 일 실시예에서, 보안 토큰(702)은 공유된 기밀(702)의 다이제스트(a digest of the shared secret)이다. 다른 실시예에서, 보안 토큰(702)은 응답자(104)와 개시자(102)에게 알려져 있는 번호이며, 예컨대, 공유된 기밀로부터 얻은 암호화 키를 사용하여 암호화된다. 일 실시예에서, 확인 메시지(700)는 2진(binary) 포맷으로 저장된다. 공유된 기밀은 개시자 메시지(500)의 난수(508)와 응답자 메시지(600)의 난수(608)를 사용하여 얻어진다. 응답자 메시지(600)의 난수(608)는 암호화되었기 때문에, 개시자(102)가 올바른 보안 토큰(702)을 확인 메시지(700)에 포함시키는 경우, 그것은 개시자(102)가 응답자 메시지(600)의 암호화된 부분을 암호해독할 수 있었다는 것을 입증한다. 성공 또는 실패(112)의 표시는 응답자(104)로부터 개시자(102)에게 전송된다.
보안 토큰(702)은 확인 메시지(700)에서 평문(clear text)으로 전송되지 않는다. 일 실시예에서, 보안 토큰(702)은 응답자 및 개시자에게 알려져 있는 번호이며, 예컨대, 공유된 기밀로부터 얻은 암호화 키를 사용하여 암호화된다. 또한, 보안 토큰(702)은 공유된 기밀의 다이제스트(digest)(해시(hash))이다. CPU 리소스를 최소화하길 원하는 실시예들에서는, 일반적으로 해시들이 암호화 알고리즘보다 계산에 보다 적은 CPU 리소스를 필요로하기 때문에, 해시가 구현된다.
다른 실시예에서는, 2개의 난수(508, 608)가 또한 대칭 암호화 키를 얻는 데 사용될 수 있다. 대칭 암호화 키는 AES(Advanced Encryption Standard) 등의 몇몇 적합한 암호화 알고리즘으로, UPnP 및/또는 HTTP 트래픽을 암호화하는 데 사용될 수 있으며, 암호화된 UPnP 및/또는 HTTP 트래픽은 핸드쉐이크 동작이 완료된 후에 전송된다. 예를 들어, 미디어 서버로부터 다운로드 또는 스트리밍되는 콘텐츠를 대칭 암호화 키를 사용하여 암호화하는 것은 바람직할 수 있다.
일 실시예에서, 응답자(104)는 개시자(102) 장치의 이더넷 MAC 주소를 기록 하고, 핸드쉐이크를 전달한 장치들의 테이블에 추가하고, 및/또는 허가된 장치들의 테이블(장치가 성공적으로 허가되었다고 가정함)에 추가할 수 있다. 후속 UPnP 및 HTTP 요청은 MAC 주소가 허가된 장치 테이블에 있는가에 기초하여 받아들여지거나 또는 거부될 것이다.
본 발명의 다른 실시예에서, 요청 식별자 매개변수는 세션 식별자의 역할을 담당한다. 이 실시예에서, 세션 식별자는 후속 UPnP 및 HTTP 요청에 사용되어, 응답자(104)로 하여금 요청이 핸드쉐이크 동작을 완료한 장치로부터 발생하고 있다는 것을 알게 한다.
일 실시예에서, 세션 식별자 매개변수는 전술된 요청 식별자와 동일하다. 대안으로서, 세션 식별자 매개변수는 세션 토큰을 포함한다. 세션 토큰은, 1차로 생성된 세션 토큰이 2차로 생성된 세 세션 토큰과 동일하지 않도록, 제1 및 제2 난수의 함수로서 생성된다. 다른 대안으로서, Confirm 액션이 하나 이상의 출력 매개변수를 갖도록 확장된다. 새로운 출력 매개변수는 세션 식별자이며, 세션 식별자는 Confirm 액션이 성공하는 경우에만 제공된다.
본 발명의 다른 실시예에서, 세션 식별자 및 보안 토큰(702)은 UPnP 및 HTTP 요청에 포함된다. 또 다른 실시예에서, 보안 토큰(702)은 요청별로 다르다. 다른 실시예에서, 보안 토큰(702)은 소정의 번호로부터 얻어지며, 개시자(102)와 응답자(104) 양쪽이 UPnP 또는 HTTP 요청 시에 번호를 증가시킨다. 또한, 보안 토큰(702)은 동일한 번호를 유지하고, 부가적인 번호(예컨대, 현재 시간)가 다이제스트(digest)에서 계산되고, UPnP 또는 HTTP 요청마다 부가적인 번호가 증가되거나 또는 달라진다.
UPnP에서, 프로토콜 헤더는 HTTP 헤더와 동일한 신택스를 사용하고, 그래서 두 프로토콜 모두에 대해서 동작하는 하나의 프로토콜 헤더를 정의하는 것이 가능하다. 일 실시예에서, 세션 식별자 및 기밀(secret)의 다이제스트(digest)는 ABNF(augmented Backus-Naur form) 신택스를 사용하여 UPnP/HTTP 헤더에 포함된다.
Figure 112009020674776-PCT00001
<session-id> 필드는 이전에 언급된 세션 식별자 매개변수이고, <base64-encoded-digest-of-secret> 필드는 Base64 인코딩을 적용하여 이 필드를 ASCII 표현으로 변환한 후에 공유된 기밀을 통해 계산된 다이제스트(해시)이다.
예(Example):
Figure 112009020674776-PCT00002
(Base64 인코딩된 다이제스트는 본 명세서에서 예시적인 목적으로 도시되어 있으며, 실제로는 더 클 것이다) 본 발명에 대한 다른 변형으로서, 전술된 "X-Handshak-Id"와 같은 헤더는 HTTP 요청에만 사용된다.
또한, UPnP 요청에서, 정보는 UPnP 요청 메시지 내에 임베딩된다. 하기에는 XML 신택스의 예가 있다:
Figure 112009020674776-PCT00003
Figure 112009020674776-PCT00004
Figure 112009020674776-PCT00005
Figure 112009020674776-PCT00006
도 2를 참조해 보면, 도 2는 본 발명의 일 실시예에 따른 개시자 메시지의 생성을 도시한다. 단계(202)에서, 제1 휴대용 미디어 장치는 호스팅되는 UPnP 서비스의 가용성을 알리는 메시지를 네트워크를 통해 방송한다. 다른 실시예에서, 네트워크는 피어-투-피어(peer-to-peer) 네트워크이다. 다른 실시예에서, 제1 휴대용 미디어 장치는 UPnP 컨트롤 포인트(UPnP Control Point)를 포함하고, 제2 휴대용 미디어 장치는 UPnP 미디어 렌더러(UPnP Media Renderer)를 포함한다. 대안으로서, 제1 휴대용 미디어 장치는 UPnP 미디어 렌더러를 포함하고, 제2 휴대용 미디어 장치는 UPnP 컨트롤 포인트를 포함한다. 서비스는 Handshake Service를 포함하고, 콘텐츠 디렉토리 서비스(content directory service)와 같은 적어도 하나의 부가적인 UPnP 서비스를 포함한다. 일 실시예에서, 제1 휴대용 미디어 장치는 자신의 호스팅되는 서비스의 가용성을 알리는 UPnP NOTIFY 메시지를 주기적으로 방송한다. 다른 실시예에서, 제2 휴대용 미디어 장치는 Handshake Service를 위한 UPnP M-SEARCH 요청을 방송하고, 이는 그 M-SEARCH 요청의 URN에 의해 식별되는 Handshake Service를 지원하는 네트워크 상의 모든 UPnP 장치로부터 응답을 간청한다.
단계(204)에서, 제2 휴대용 미디어 장치는 제1 난수를 생성한다. 대안으로서, 난수는 문자와 번호의 임의의 조합일 수 있다. 일 실시예에서, 제1 휴대용 미디어 장치는 응답자와 같은 UPnP 장치이고, 제2 휴대용 미디어 장치는 도 1에 도시된 개시자(102)와 같은 UPnP 종단이다. 다른 실시예에서, 제2 휴대용 미디어 장치 는 또한 UPnP 장치이다. 다른 실시예에서, 난수는 제1 휴대용 미디어 장치에 대한 요청에 포함될 것이며, 장치들 간에 향후 통신의 대칭 암호화에 사용될 수 있는 공유된 기밀을 생성하는 데 사용될 것이다. 또한, 난수는 장치들 간에 향후 통신에 포함되는 세션 식별자를 확립하는 데 사용된다.
단계(206)에서, 제2 휴대용 미디어 장치는 제1 휴대용 미디어 장치로의 요청 내에 식별 정보와 디지털 서명을 포맷(format)한다. 일 실시예에서, 제2 휴대용 미디어 장치는 공개-개인 키 쌍의 개인 키를 사용하여 신뢰 당국으로부터의 인증서와 제1 난수에 서명한다. 인증서는 제2 휴대용 미디어 장치의 식별 정보를 포함하는데, 이 식별 정보는 장치의 장치 모델 번호, 장치의 일련 번호, 및 장치가 지원하는 미디어 포맷 리스트 중 적어도 하나를 포함한다. 다른 실시예에서, 요청에 포함된 데이터는 도 5에 도시된 2진 개시자 메시지 내에 포맷된다.
단계(208)에서, 제2 휴대용 미디어 장치는 네트워크를 통해 Handshake Service를 호스팅하는 제1 휴대용 미디어 장치에 요청을 전송한다. LAN 환경에서 사용되는 경우, 제1 및 제2 휴대용 미디어 장치는 네트워크 인터페이스 또는 어댑터를 통해 LAN에 연결된다. WAN 환경에서 사용되는 경우, 제1 및 제2 휴대용 미디어 장치는 통상적으로 네트워크 카드, 또는 인터넷 등의 WAN을 통해 통신을 확립하기 위한 다른 수단을 포함한다. 네트워크 환경에서 연결은 유선 네트워크 또는 직접 배선 연결일 수 있고, Wi-Fi, 음향, RF, 적외선 및 기타 무선 매체 등의 무선 매체일 수 있다. 도시된 네트워크 연결은 예시적이며 제1 휴대용 미디어 장치와 제2 휴대용 미디어 장치 사이에 통신 링크를 확립하는 다른 수단이 사용될 수도 있 다.
도 3을 참조해 보면, 제1 휴대용 미디어 장치가 제2 휴대용 미디어 장치로부터 요청을 수신한다. 다음에, 제1 휴대용 미디어 장치는 단계(302 내지 309)에서 제2 휴대용 미디어 장치의 디지털 서명의 함수로 제2 휴대용 미디어 장치를 인증한다. 인증은 제2 휴대용 미디어 장치의 ID를 확립한다.
단계(302)에서, 제1 휴대용 미디어 장치는 디지털 서명이 제2 휴대용 미디어 장치로부터 나온 것임을 검증한다. 일 실시예에서, 개시자 메시지에 포함된 서명된 인증서는 신뢰 당국에 의해 검증된다. 디지털 서명이 검증되지 않으면, 제1 휴대용 미디어 장치가 단계(304)에서 세션을 드롭(drop)하고, 단계(306)에서 제2 휴대용 미디어 장치와의 연결을 닫는다(close). 단계(308)에서, 제1 휴대용 미디어 장치는 개시자 메시지에 포함된 인증서가 신뢰 당국으로부터 나온 것인가를 체크한다. 인증서가 신뢰 당국으로부터 나온 것이 아니면, 제1 휴대용 미디어 장치가 단계(304)에서 세션을 드롭하고, 단계(306)에서 제2 휴대용 미디어 장치와의 연결을 닫는다.
일단 단계(309)에서 장치가 인증되면, 제1 휴대용 미디어 장치가 인증서의 식별 정보의 함수로 제2 휴대용 미디어 장치를 허가한다. 다른 실시예에서, 제1 휴대용 미디어 장치는 제2 휴대용 미디어 장치에 의해 지원되는 미디어 포맷 리스트를 획득하기 위해서 제2 휴대용 미디어 장치에게 질의(query)한다. 이 실시예에서, 제1 휴대용 미디어 장치는, 제2 휴대용 미디어 장치가 적어도 하나의 호환가능한 포맷을 지원하는 경우, 제2 휴대용 미디어 장치를 허가한다. 제2 휴대용 미디 어 장치가 허가되지 않으면, 제1 휴대용 미디어 장치는 단계(304)에서 세션을 드롭하고, 단계(306)에서 제2 휴대용 미디오 장치와의 연결을 닫는다.
유익하게도, 제1 휴대용 미디어 장치는 자신의 서비스에 대한 액세스를, 허가를 통해 승인된 장치들 또는 라이센스가 있는 장치들로 제한할 수 있다. 예를 들어, 제1 휴대용 미디어 장치가 단지 고해상도 비디오를 스트리밍하는 서비스를 호스팅하는 경우를 가정해 본다. 제1 휴대용 미디어 장치는 단지 제2 휴대용 미디어 장치가 고해상도 비디오 콘텐츠를 렌더링할 수 있는 경우에만 그 제2 휴대용 미디어 장치를 허가할 것이다. 제1 휴대용 미디어 장치는 제2 휴대용 미디어 장치의 식별 정보(예컨대, 모델 번호, 일련 번호 및 지원되는 미디어 포맷)에 의해 제2 휴대용 미디어 장치가 고해상도 비디오 콘텐츠를 렌더링할 수 있는가를 판정한다.
일 실시예에서, 제1 휴대용 미디어 장치는 인증 및 허가된 제2 휴대용 미디어 장치의 이더넷 MAC 주소를 테이블에 기록한다. 이 실시예에서, 제1 휴대용 미디어 장치는 호스팅되는 서비스에 대한 요청을 이더넷 MAC 주소가 기록된 장치들로부터만 받아들이고, 본 방법은 종료된다.
또한, 도 3을 다시 참조해 보면, 단계(310)에서 제1 휴대용 미디어 장치가 제1 난수를 생성한다. 대안으로서, 난수는 문자와 번호의 임의의 조합일 수 있다. 단계(312)에서, 제1 휴대용 미디어 장치는 보안 토큰(702)을 생성한다. 일 실시예에서, 보안 토큰(702)은 장치들 간에 향후 통신에 포함되는 세션 식별자를 확립하기 위해서 장치들 간에 향후 통신의 대칭 암호화(예컨대, AES)에 사용될 수 있는 제1 난수 및 제2 난수로부터 생성되는 공유된 기밀의 해시이다.
단계(314)에서, 제1 휴대용 미디어 장치는 제2 휴대용 미디어 장치로의 응답 내에 인증서, 디지털 서명, 및 제2 난수를 포맷한다. 일 실시예에서, 제1 휴대용 미디어 장치는 신뢰 당국으로부터의 인증서에 서명하고, 제2 휴대용 미디어 장치는 인증서 및 서명을 사용하여 제1 휴대용 미디어 장치를 인증할 수 있다. 다른 실시예에서, 요청에 포함되는 데이터는 도 6에 도시된 응답자 메시지 내에 포맷된다.
단계(316)에서, 제1 휴대용 미디어 장치는 대칭 암호화 키(예컨대, AES 키)를 선택하고, 단계(318)에서, 서명된 인증서, 제2 난수 및 보안 토큰(702)을 선택된 키를 사용하여 암호화한다. 단계(320)에서, 제1 휴대용 미디어 장치는 선택된 AES 키를 제2 휴대용 미디어 장치의 공개 키로 암호화한다. 유익하게도, 인간 판독가능한 인증 문자열은 응답에 포함되지 않는데, 왜냐하면 AES 키가 제2 휴대용 미디어 장치의 공개 키를 사용하여 암호화되기 때문이다. 따라서, 제2 휴대용 미디어 장치의 개인 키를 갖는 장치만이 제1 휴대용 미디어 장치의 인증서 및 해시를 암호해독할 수 있다.
단계(320)에서, 제1 휴대용 미디어 장치는 네트워크를 통해 응답 메시지를 제2 휴대용 미디어 장치로 전송한다. 다른 실시예에서, 요청 식별자가 응답에 포함된다. 요청 식별자는 제2 휴대용 미디어 장치로부터의 후속 UPnP 또는 HTTP 요청을 이전에 성공적으로 완료된 인증 및 허가에 매칭하기 위해서 제1 휴대용 미디어 장치에 의해 사용된다. 다른 실시예에서, 요청 식별자는 제2 휴대용 미디어 장치가 응답 메시지에서 인증서를 암호해독할 수 있었다는 것을 확인하는 데 사용된다. 이 실시예에서, 세션 식별자는 제2 휴대용 미디어 장치로부터의 후속 UPnP 또 는 HTTP 요청을 이전에 성공적으로 완료된 인증 및 허가에 매칭하기 위해서 응답에 포함된다.
이제 도 4를 참조해 보면, 제2 휴대용 미디어 장치가 제1 휴대용 미디어 장치로부터 응답을 수신한다. 다음에, 제2 휴대용 미디어 장치는, 단계(402 내지 412)에서, 제1 휴대용 미디어 장치의 디지털 서명의 함수로 제1 휴대용 미디어 장치를 인증한다. 인증은 제1 휴대용 미디어 장치의 ID를 확립한다. 일 실시예에서, 응답 메시지에 포함된 서명된 인증서가 신뢰 당국에 의해 검증된다.
단계(402)에서, 제2 휴대용 미디어 장치는 응답 메시지에서 AES 키를 자신의 개인 키를 사용하여 암호해독한다. 단계(404)에서, 제2 휴대용 미디어 장치는 암호해독된 AES 키를 사용하여 제1 휴대용 미디어 장치의 인증서를 암호해독한다. 단계(406)에서, 제2 휴대용 미디어 장치는 디지털 서명이 제1 휴대용 미디어 장치로부터 나온 것임을 검증한다. 디지털 서명이 검증되지 않으면, 제2 휴대용 미디어 장치는 단계(408)에서 세션을 드롭하고, 단계(410)에서 제1 휴대용 미디어 장치와의 연결을 닫는다. 단계(412)에서, 제2 휴대용 미디어 장치는 응답 메시지에 포함된 인증서가 신뢰 당국으로부터 나온 것인가를 체크한다. 인증서가 신뢰 당국으로부터 나온 것이 아니면, 제2 휴대용 미디어 장치가 단계(408)에서 세션을 드롭하고, 단계(410)에서 제1 휴대용 미디어 장치와의 연결을 닫는다.
일단 단계(414)에서 제1 휴대용 미디어 장치가 인증되면, 제2 휴대용 미디어 장치가, 수신된 요청 식별자와 암호해독된 해시를 포함하는 확인을 생성한다. 다른 실시예에서, 확인에 포함되는 데이터는 도 7에 도시된 확인 메시지 내에 포맷된 다. 일 실시예에서, 확인의 적어도 일부는 제1 휴대용 미디어 장치의 공개 키로 암호화된다. 다른 실시예에서, 요청 식별자는 제한된 기간(예컨대, 10 초) 동안만 유효하다. 제2 휴대용 미디어 장치가 요청 식별자가 만료되기 전에 제1 휴대용 미디어 장치에게 확인을 전송하지 않은 경우, 인증 및 허가는 실패하고, 제2 휴대용 미디어 장치는 단계(302)에서 프로세스를 다시 시작해야 한다. 단계(416)에서는, 제2 휴대용 미디어 장치가 확인을 제1 휴대용 미디어 장치로 전송한다.
단계(418)에서, 제1 휴대용 미디어 장치는 제2 휴대용 미디어 장치로부터 수신된 확인 메시지를 제1 휴대용 미디어 장치의 개인 키를 사용하여 암호해독한다. 단계(420)에서, 제1 휴대용 미디어 장치는 제1 휴대용 미디어 장치로부터의 보안 토큰(702)과 제2 난수를 계산한다. 단계(422)에서, 제1 휴대용 미디어 장치는 계산된 보안 토큰과, 확인 메시지의 암호해독된 보안 토큰(702)을 비교한다. 두 보안 토큰이 동일하지 않으면, 확인이 실패하고, 제1 휴대용 미디어 장치는 단계(408)에서 세션을 드롭하고, 단계(410)에서 제2 휴대용 미디어 장치와의 연결을 닫는다.
단계(424)에서, 제1 휴대용 미디어 장치는 세션 식별자를 생성한다. 세션 식별자는, 제2 휴대용 미디어 장치로부터의 후속 UPnP 또는 HTTP 요청을 이전에 성공적으로 완료된 인증 및 허가에 매칭하기 위해서, 제1 휴대용 미디어 장치에 의해 사용된다. 일 실시예에서, 세션 식별자는 요청 식별자와 동일하다. 다른 실시예에서, 세션 식별자는 요청 식별자와는 다른 임의의 값이다. 단계(426)에서, 제1 휴대용 미디어 장치는, 제2 휴대용 미디어 장치의 인증 및 허가가 완료됨을 나타내 기 위해, 세션 식별자를 제2 휴대용 미디어 장치에 리턴한다.
도 8은 미디어 서버에 의해 미디어 렌더러가 인증 및 허가되기 위한 컴퓨터 실행가능 컴포넌트를 갖는 컴퓨터 판독가능 매체를 나타낸다. 일 실시예에서, 미디어 렌더러 및 미디어 서버는 UPnP 장치이다. 또한, 미디어 렌더러 및 미디어 서버는 휴대용 미디어 장치이다. 제3의 대안으로서, 미디어 렌더러는 UPnP 종단이고, 미디어 서버는 UPnP 장치이다. 미디어 서버는 개방형 네트워크(an open network)에서 하나 이상의 UPnP 서비스를 구현하다. 다른 실시예에서, 네트워크는 피어-투-피어 네트워크이다. 컴포넌트는 인터페이스 컴포넌트(interface component)(802), 유효성 검사 컴포넌트(validation component)(804), 및 보안 컴포넌트(security component)(806)를 포함한다.
인터페이스 컴포넌트(802)는 네트워크를 통해 미디어 렌더러로부터의 요청을 수신한다. 요청은 미디어 렌더러의 식별 정보 및 디지털 서명을 포함하는 개시 메시지와 연관된다. 또한, 인터페이스 컴포넌트(802)는, 미디어 렌더러가 미디어 서버에 의해 인증 및 인가되었는가를 나타내는 응답을 네트워크를 통해 미디어 렌더러 장치로 전송한다.
유효성 검사 컴포넌트(804)는 요청의 디지털 서명의 함수로 미디어 렌더러를 인증한다. 일 실시예에서, 디지털 서명은 신뢰 당국에 의해 검증된다. 또한, 유효성 검사 컴포넌트(804)는 요청의 식별 정보의 함수로 미디어 렌더러 장치를 허가한다. 다른 실시예에서는, 지원되는 미디어 포맷 리스트를 획득하기 위해서 미디어 렌더러 장치에게 질의한다. 이 실시예에서, 미디어 렌더러 장치는 그것이 적어 도 하나의 호환가능한 포맷을 지원하는 경우 허가된다.
보안 컴포넌트(806)는, 미디어 렌더러가 유효성 검사 컴포넌트에 의해 허가 및 인증되는 경우, 미디어 서버에 의해 구현되는 하나 이상의 서비스에 대한 액세스를 미디어 렌더러에게 승인하고, 미디어 렌더러가 유효성 검사 컴포넌트에 의해 허가 및 인증되지 않는 경우, 미디어 렌더러에게 액세스를 거부한다.
예시적인 목적을 위해, 인터페이스 컴포넌트(802), 유효성 검사 컴포넌트(804), 및 보안 컴포넌트(806) 등의 프로그램 및 기타 실행가능 컴포넌트가 개별 블록으로 본원에 도시되어 있다. 하지만, 이런 프로그램 및 컴포넌트는 다양한 시각에 UPnP 장치의 서로 다른 저장 컴포넌트에 존재하며, UPnP 장치의 데이터 프로세서(들)에 의해 실행된다는 것으로 인식된다.
본원에 도시 및 기술된 본 발명의 실시예들에서 동작들을 실행 또는 수행하는 순서는, 달리 지정되지 않는 한, 필수적인 것이 아니다. 즉, 동작들은, 달리 지정되지 않는 한, 임의의 순서로 수행될 수 있고, 본 발명의 실시예들은 본원에 개시된 동작들 외에 추가 동작을 포함하거나, 본원에 개시된 동작들보다 적은 동작들을 포함할 수 있다. 예를 들어, 특정 동작 후에 다른 동작을, 또는 특정 동작과 함께 다른 동작을, 또는 특정 동작 전에 다른 동작을 실행 또는 수행하는 것이 본 발명의 범위 내에 있음을 이해해야 한다.
본 발명의 실시예들은 컴퓨터 실행가능 명령어들로 구현될 수 있다. 컴퓨터 실행가능 명령어들은 하나 이상의 컴퓨터 실행가능 컴포넌트 또는 모듈 내에 체계화(organized)될 수 있다. 본 발명의 양상들은 임의 개수의 체계화된 이런 컴포넌 트 또는 모듈로 구현될 수 있다. 예를 들어, 본 발명의 양상들은 본원에 기술되고 도면들에 도시된 특정한 컴퓨터 실행가능 명령어들 또는 특정한 컴포넌트들 또는 모듈들에 제한되는 것이 아니다. 본 발명의 다른 실시예들은, 본원에 기술 및 도시된 기능보다 더 많거나 더 적은 기능을 가진 컴퓨터 실행가능 명령어들 또는 컴포넌트들을 포함할 수 있다.
본 발명의 양상들의 구성요소 및 본 발명의 실시예들을 소개하는 경우, "소정의(a, an)" 및 "상기(the, said)"라는 용어는 하나 이상의 구성요소가 존재하는 것을 의미하기 위한 것이다. "포함하는(comprising, including)" 및 "갖는(having)"이라는 용어는 나열된 구성요소 외의 다른 추가적인 구성요소가 존재할 수 있음을 의미하고 포괄적인 것으로 의도된다.
다양한 변경이 본 발명의 양상들의 범위 내에서 상기의 구성, 제품, 및 방법에 대하여 행해질 수 있기 때문에, 상기의 설명에 포함되고 첨부 도면들에 도시된 모든 대상은 예시적인 것으로서 해석되어야 하고 제한적인 의미로 해석되어서는 안 된다.

Claims (20)

  1. UPnP(Universal Plug and Play) 장치(104)와 UPnP 종단(endpoint)(102)이 네트워크에 동적으로 참여(join) 및 퇴장(leave)할 수 있는 개방형 네트워크(a open network)에서 UPnP 장치(104)와 UPnP 종단(102) 간에 보안 연결을 확립하는 방법으로서,
    UPnP 서비스에 대한 요청(500)을 UPnP 장치(104)에 의해 수신하는 단계 - 상기 요청은 UPnP 종단(102)으로부터 상기 네트워크를 통해 수신되고, 상기 요청(500)은 상기 UPnP 종단(102)과 연관된 디지털 서명 및 식별 정보(506)를 포함함 - 와,
    상기 UPnP 종단(102)의 수신된 디지털 서명의 함수로 상기 UPnP 종단(102)을 상기 UPnP 장치(104)에 의해 인증하여 상기 UPnP 종단(102)의 ID(identity)를 검증(verify)하는 단계와,
    수신된 식별 정보(506)의 함수로 상기 UPnP 종단(102)을 상기 UPnP 장치(104)에 의해 허가하여 상기 UPnP 장치(104)에 의해 구현된 하나 이상의 서비스로의 액세스를 허락(permit)하는 단계와,
    상기 UPnP 종단(102)이 상기 UPnP 장치(104)에 의해 인증 및 허가된 경우를 나타내는 응답을 상기 UPnP 장치(104)로부터 상기 UPnP 종단(102)에 전송하는 단계
    를 포함하는 보안 연결 확립 방법.
  2. 제1항에 있어서,
    상기 식별 정보는 신뢰 당국(trusted authority)에 의해 제공되는 인증서(certificate)를 포함하고, 상기 신뢰 당국은 상기 요청의 디지털 서명을 제공하는 보안 연결 확립 방법.
  3. 제2항에 있어서,
    상기 인증서는 상기 UPnP 종단의 공개 키를 포함하고, 상기 UPnP 종단의 공개 키로 상기 UPnP 장치에 의해 제공되는 응답의 적어도 일부를 암호화하는 단계를 더 포함하는 보안 연결 확립 방법.
  4. 제1항에 있어서,
    상기 식별 정보는 상기 UPnP 종단의 장치 모델 번호, 상기 UPnP 종단의 일련 번호, 및 상기 UPnP 종단에 의해 지원되는 미디어 포맷 리스트 중에서 하나 이상을 포함하는 보안 연결 확립 방법.
  5. 제1항에 있어서,
    상기 응답은 상기 UPnP 장치의 인증서를 포함하고, 상기 UPnP 장치의 인증서로 상기 UPnP 장치를 상기 UPnP 종단에 의해 인증하는 단계를 더 포함하는 보안 연결 확립 방법.
  6. 제1항에 있어서,
    상기 응답은 세션 식별자(session identifier)를 포함하고, 상기 세션 식별자는 후속 요청들에 포함되는 보안 연결 확립 방법.
  7. 제1항에 있어서,
    상기 요청은 상기 UPnP 종단에 의해 생성되는 제1 난수(a first random number)를 포함하고, 상기 응답은 상기 UPnP 장치에 의해 생성되는 제2 난수(a second random number)를 포함하고, 상기 응답은 상기 UPnP 종단의 공개 키로 암호화되며,
    상기 UPnP 종단으로부터의 확인(confirmation)을 상기 UPnP 장치에 의해 수신하는 단계 - 상기 확인은 상기 제1 난수와 암호해독된 제2 난수와의 함수로 상기 UPnP 종단에 의해 생성되는 보안 토큰(security token)을 포함하며, 상기 제2 난수는 상기 UPnP 종단의 개인 키로 암호해독되며, 상기 UPnP 종단의 개인 키는 상기 UPnP 종단의 공개 키에 대응함 - 와,
    상기 확인을 수신한 것에 응답하여, 상기 보안 토큰의 함수로 상기 UPnP 종단의 인증 및 허가를 상기 UPnP 장치에 의해 확인하는 단계
    를 포함하는 보안 연결 확립 방법.
  8. 제7항에 있어서,
    상기 제1 난수와 상기 제2 난수의 함수로 공유된 기밀(shared secret)을 상 기 UPnP 종단에 의해 생성하는 단계와,
    상기 공유된 기밀의 함수로 상기 보안 토큰을 상기 UPnP 종단에 의해 생성하는 단계
    를 더 포함하는 보안 연결 확립 방법.
  9. 제8항에 있어서,
    상기 보안 토큰은 상기 공유된 기밀의 다이제스트(a digest of the shared secret), 및 상기 UPnP 종단 및 UPnP 장치에 알려져 있으며 상기 공유된 기밀로부터 얻은 암호화 키를 사용하여 암호화된 값 중의 하나 이상인 보안 연결 확립 방법.
  10. 제7항에 있어서,
    세션 식별자를 상기 UPnP 장치에 의해 생성하는 단계 - 상기 세션 식별자는 UPnP 종단으로의 응답에 포함되고, 상기 세션 식별자는 또한 상기 UPnP 종단으로부터의 후속 요청들과 상기 UPnP 장치로부터의 후속 응답들에 포함되는 보안 연결 확립 방법.
  11. 제10항에 있어서,
    상기 세션 식별자는 세션 토큰(a session token)을 포함하고, 생성되는 제1 세션 토큰이 생성되는 제2 세션 토큰과 동일하지 않도록, 상기 제1 난수와 상기 제 2 난수의 함수로 상기 세션 토큰을 생성하는 단계를 더 포함하는 보안 연결 확립 방법.
  12. 제11항에 있어서,
    상기 세션 식별자 및 상기 세션 토큰은 UPnP요청의 HTTP 헤더 및 XML 요청 중의 적어도 하나에 임베디드되는(embedded) 보안 연결 확립 방법.
  13. 제1항에 있어서,
    상기 UPnP 종단과 연관된 주소를 상기 UPnP 종단의 인증 및 허가 함수로 상기 UPnP 장치에 의해 기록하는 단계 - 상기 주소는 상기 UPnP 종단으로부터의 후속 요청들을 식별하기 위해서 상기 UPnP 장치에 의해 사용됨 -를 더 포함하는 보안 연결 확립 방법.
  14. 제1항에 있어서,
    하나 이상의 판독가능 매체가 제1항의 방법을 수행하기 위한 컴퓨터 실행가능 명령어들을 갖는 보안 연결 확립 방법.
  15. 하나 이상의 UPnP(Universal Plug and Play) 휴대용 미디어 장치가 네트워크에 동적으로 참여 및 퇴장할 수 있는 개방형 네트워크에서 복수의 UPnP 휴대용 미디어 장치들 간에 새로운 보안 핸드쉐이크 서비스(a new secure handshake service)를 확립하는 방법으로서,
    제1 휴대용 미디어 장치에 의해 호스팅되는 UPnP 서비스들의 가용성(availability)을 알리는 메시지를 상기 네트워크를 통해 전송(202)하는 단계 - 상기 서비스들은 상기 핸드쉐이크 서비스 및 적어도 하나의 부가적인 UPnP 서비스를 포함함 - 와,
    제2 휴대용 미디어 장치로부터 상기 핸드쉐이크 서비스를 개시하라는 제1 요청을 상기 네트워크를 통해 상기 제1 휴대용 미디어 장치에 의해 수신(208)하는 단계 - 상기 요청은 개시 메시지(an initiating message)를 포함하고, 상기 개시 메시지는 상기 제2 휴대용 미디어 장치의 식별 정보와 디지털 서명을 포함함 - 와,
    상기 제2 휴대용 미디어 장치의 디지털 서명의 함수로 상기 제2 휴대용 미디어 장치를 상기 제1 휴대용 미디어 장치에 의해 인증(302)하는 단계 - 상기 인증은 상기 제2 휴대용 미디어 장치의 ID(identity)를 확립함 - 와,
    상기 요청의 식별 정보의 함수로 상기 제2 휴대용 미디어 장치를 상기 제1 휴대용 미디어 장치에 의해 허가(309)하는 단계 - 상기 허가는 상기 제2 휴대용 미디어 장치가 상기 제1 휴대용 미디어 장치와 통신하도록 허락되는가를 판정함 - 와,
    상기 제2 휴대용 미디어 장치가 상기 제1 휴대용 미디어 장치에 의해 인증 및 허가되는가를 나타내는 응답을 상기 네트워크를 통해 상기 제2 휴대용 미디어 장치로 상기 제1 휴대용 미디어 장치에 의해 전송(322)하는 단계와,
    상기 제1 휴대용 미디어 장치에 의해 호스팅되는 적어도 하나의 부가적인 UPnP 서비스에 대한 상기 제2 휴대용 미디어 장치로부터의 제2 요청을 상기 네트워크를 통해 상기 제1 휴대용 미디어 장치에 의해 수신(416)하는 단계
    를 포함하고,
    상기 제2 휴대용 미디어 장치가 상기 제1 휴대용 미디어 장치에 의해 인증 및 허가되는 경우, 상기 제2 휴대용 미디어 장치가 상기 제1 휴대용 미디어 장치상에서 호스팅되는 적어도 하나의 부가적인 UPnP 서비스에 액세스하는 것이 허용되고,
    상기 제2 휴대용 미디어 장치가 상기 제1 휴대용 미디어 장치에 의해 인증 및 허가되지 않는 경우, 상기 제2 휴대용 미디어 장치가 상기 제1 휴대용 미디어 장치상에서 호스팅되는 적어도 하나의 부가적인 UPnP 서비스에 액세스하는 것이 허용되지 않는 보안 핸드쉐이크 서비스 확립 방법.
  16. 제15항에 있어서,
    상기 제1 휴대용 미디어 장치는 UPnP 컨트롤 포인트(UPnP Control Point)를 포함하고, 상기 제2 휴대용 미디어 장치는 UPnP 미디어 렌더러(UPnP Media Renderer)를 포함하는 보안 핸드쉐이크 서비스 확립 방법.
  17. 제15항에 있어서,
    상기 제1 휴대용 미디어 장치는 UPnP 미디어 렌더러를 포함하고, 상기 제2 휴대용 미디어 장치는 UPnP 컨트롤 포인트를 포함하는 보안 핸드쉐이크 서비스 확 립 방법.
  18. 하나 이상의 UPnP 서비스를 개방형 네트워크에 구현하는 미디어 서버에 의해 미디어 렌더러를 인증 및 허가하기 위한 컴퓨터 실행가능 컴포넌트들을 갖는 하나 이상의 컴퓨터 판독가능 매체로서, 상기 컴퓨터 실행가능 컴포넌트들은,
    상기 미디어 렌더러로부터의 요청을 상기 네트워크를 통해 수신하고 - 상기 요청은 개시 메시지를 포함하고, 상기 개시 메시지는 상기 미디어 렌더러의 식별 정보와 디지털 서명을 포함함 - ,
    상기 미디어 렌더러가 상기 미디어 서버에 의해 인증 및 허가되는가를 나타내는 응답을 상기 네트워크를 통해 상기 미디어 렌더러 장치로 전송하기 위한 인터페이스 컴포넌트(802)와,
    상기 미디어 렌더러의 디지털 서명의 함수로 상기 미디어 렌더러를 인증하고 - 상기 인증은 상기 미디어 렌더러의 ID(identity)를 확립함 -,
    상기 요청의 식별 정보의 함수로 상기 미디어 렌더러를 허가하기 위한 유효성 검사 컴포넌트(804) - 상기 허가는 상기 미디어 렌더러가 상기 미디어 서버와 통신하도록 허락되는가를 판정함 - 와,
    상기 미디어 렌더러가 상기 유효성 검사 컴포넌트에 의해 인증 및 허가되는 경우, 상기 미디어 서버에 의해 구현된 하나 이상의 서비스에의 액세스를 상기 미디어 렌더러에게 승인(granting)하고,
    상기 미디어 렌더러가 상기 유효성 검사 컴포넌트에 의해 인증 및 허가되지 않는 경우, 상기 미디어 서버에 의해 구현된 하나 이상의 서비스에의 액세스를 상기 미디어 렌더러에게 거부(denying)하기 위한 보안 컴포넌트(806)
    를 포함하는 컴퓨터 판독가능 매체.
  19. 제18항에 있어서,
    상기 미디어 서버에 의해 전송된 요청에 응답하여 상기 미디어 서버를 상기 미디어 렌더러에 의해 인증 및 허가하기 위한 컴퓨터 실행가능 명령어들을 더 포함하는 컴퓨터 판독가능 매체.
  20. 제18항에 있어서,
    상기 미디어 서버 및 상기 미디어 렌더러는 휴대용 미디어 장치인 컴퓨터 판독가능 매체.
KR1020097007075A 2006-10-13 2007-10-10 보안 연결 확립 방법, 보안 핸드쉐이크 서비스 확립 방법 및 컴퓨터 판독가능 매체 KR20090067155A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/549,459 US7882356B2 (en) 2006-10-13 2006-10-13 UPnP authentication and authorization
US11/549,459 2006-10-13

Publications (1)

Publication Number Publication Date
KR20090067155A true KR20090067155A (ko) 2009-06-24

Family

ID=39304550

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097007075A KR20090067155A (ko) 2006-10-13 2007-10-10 보안 연결 확립 방법, 보안 핸드쉐이크 서비스 확립 방법 및 컴퓨터 판독가능 매체

Country Status (6)

Country Link
US (1) US7882356B2 (ko)
EP (1) EP2078372A1 (ko)
JP (1) JP2010507285A (ko)
KR (1) KR20090067155A (ko)
CN (1) CN101523801A (ko)
WO (1) WO2008048836A1 (ko)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7684786B2 (en) * 2003-08-26 2010-03-23 Nokia Corporation Method and system for establishing a connection between network elements
KR100702516B1 (ko) * 2006-04-07 2007-04-02 삼성전자주식회사 디.엘.엔.에이 네트워크를 이용한 데이터 저장 방법 및 그장치
US9172710B2 (en) * 2007-02-05 2015-10-27 Broadcom Corporation Media transport protocol extensions for system integrity and robustness, and applications thereof
US8832467B2 (en) * 2007-05-16 2014-09-09 Broadcom Corporation Digital rights management metafile, management protocol and applications thereof
US8752191B2 (en) * 2007-05-16 2014-06-10 Broadcom Corporation Generic digital rights management framework, and applications thereof
KR101495722B1 (ko) * 2008-01-31 2015-02-26 삼성전자주식회사 홈 네트워크에서의 통신 보안성을 보장하는 방법 및 이를위한 장치
US8689247B2 (en) * 2008-04-04 2014-04-01 Qualcomm Incorporated Systems and methods for distributing and redeeming credits on a broadcast system
US9065656B2 (en) * 2008-04-22 2015-06-23 Google Technology Holdings LLC System and methods for managing trust in access control based on a user identity
US8819422B2 (en) * 2008-04-22 2014-08-26 Motorola Mobility Llc System and methods for access control based on a user identity
WO2009137762A1 (en) * 2008-05-08 2009-11-12 Pharos Systems Interational, Inc. Printer control device with printer configuration control features and related methods
US8964634B2 (en) * 2009-02-06 2015-02-24 Sony Corporation Wireless home mesh network bridging adaptor
JP5264548B2 (ja) * 2009-02-19 2013-08-14 株式会社エヌ・ティ・ティ・データ 認証システムおよび認証方法
CA2669193C (en) * 2009-06-16 2014-09-30 Ruggedcom Inc. Discovery and rediscovery protocol method and system
US20110013775A1 (en) * 2009-07-17 2011-01-20 Chih-Lin Hu System and method of mobile content sharing and delivery in an integrated network environment
KR101859766B1 (ko) * 2009-12-23 2018-06-28 삼성전자주식회사 UPnP를 이용하여 문서 컨텐츠를 디스플레이하는 시스템 및 방법
CN102347939B (zh) 2010-08-05 2015-09-09 华为终端有限公司 软件管理的方法、装置及系统
US9578041B2 (en) * 2010-10-25 2017-02-21 Nokia Technologies Oy Verification of peer-to-peer multimedia content
EP2633647B1 (en) * 2010-10-27 2019-05-01 Telefonaktiebolaget LM Ericsson (publ) Authorizing an electronic device to control a media rendering unit
US9998545B2 (en) * 2011-04-02 2018-06-12 Open Invention Network, Llc System and method for improved handshake protocol
CN102739623B (zh) 2011-04-15 2014-12-31 华为终端有限公司 授权方法和终端设备
EP2523143B1 (en) 2011-05-10 2016-11-09 BlackBerry Limited Access control at a media server
CN102882830B (zh) 2011-07-11 2016-06-08 华为终端有限公司 媒体资源访问控制方法和设备
CN102891836A (zh) * 2011-07-22 2013-01-23 中兴通讯股份有限公司 一种UPnP访问控制方法、服务器和客户端
US9224359B2 (en) * 2011-09-26 2015-12-29 Google Technology Holdings LLC In-band peripheral authentication
CN102510371B (zh) * 2011-09-30 2017-12-22 中兴通讯股份有限公司 一种控制数字移动网络联盟内容的方法及装置
CN102394865A (zh) * 2011-09-30 2012-03-28 中兴通讯股份有限公司 一种控制数字移动网络联盟内容的方法及装置
CA2794110C (en) 2011-11-01 2021-01-19 Wmode Inc. System, method and apparatus for providing an application carousel
US8769627B1 (en) * 2011-12-08 2014-07-01 Symantec Corporation Systems and methods for validating ownership of deduplicated data
CN102571776A (zh) * 2011-12-28 2012-07-11 中兴通讯股份有限公司 数字生活网络联盟设备的接入控制方法及装置
CN102739662A (zh) * 2012-06-18 2012-10-17 中兴通讯股份有限公司 一种控制dlna设备服务权限的方法和dlna设备
US9769503B2 (en) 2012-11-14 2017-09-19 Saturn Licensing Llc Information processor, information processing method and program
IN2013CH06149A (ko) 2013-12-30 2015-07-03 Samsung Electronics Co Ltd
RU2013158632A (ru) * 2013-12-30 2015-07-10 Общество С Ограниченной Ответственностью "Яндекс" Способ предоставления данных об устройстве (варианты), способ установления сеанса связи между устройством и веб-сервером и сервер для предоставления данных
US9918226B2 (en) * 2013-12-30 2018-03-13 Apple Inc. Spoofing protection for secure-element identifiers
US10044831B2 (en) 2014-03-10 2018-08-07 Samsung Electronics Co., Ltd. Method and apparatus for transmitting messages to a dash client
KR102267798B1 (ko) * 2014-03-25 2021-06-23 삼성전자주식회사 사용자 단말을 통한 로그인 지원 방법 및 그 장치
US9348824B2 (en) * 2014-06-18 2016-05-24 Sonos, Inc. Device group identification
US10778739B2 (en) 2014-09-19 2020-09-15 Sonos, Inc. Limited-access media
US10013385B2 (en) * 2014-11-13 2018-07-03 Cavium, Inc. Programmable validation of transaction requests
US10063540B2 (en) * 2015-06-07 2018-08-28 Apple Inc. Trusted status transfer between associated devices
CN105592071A (zh) * 2015-11-16 2016-05-18 中国银联股份有限公司 一种在设备之间进行授权的方法和装置
WO2017087552A1 (en) * 2015-11-17 2017-05-26 Cryptography Research, Inc. Authenticating a secondary device based on encrypted tables
CN105933119B (zh) * 2015-12-24 2019-01-29 中国银联股份有限公司 一种认证方法及设备
US11162702B2 (en) 2016-04-28 2021-11-02 Trane International Inc. Method of associating a diagnostic module to HVAC system components
KR102510868B1 (ko) * 2016-07-07 2023-03-16 삼성에스디에스 주식회사 클라이언트 시스템 인증 방법, 클라이언트 장치 및 인증 서버
JP6791247B2 (ja) * 2016-07-14 2020-11-25 ソニー株式会社 認証装置及び認証方法、並びにコンテンツ送信装置
US11553338B2 (en) * 2017-08-15 2023-01-10 Carrier Corporation Automatic building system control restrictions based on physical presence defined by access control event information and knowledge base system
US10841094B2 (en) * 2018-09-14 2020-11-17 Microsoft Technology Licensing, Llc Private and public media data in a decentralized system
WO2021127666A1 (en) * 2019-12-17 2021-06-24 Microchip Technology Incorporated Mutual authentication protocol for systems with low-throughput communication links, and devices for performing the same

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050149450A1 (en) * 1994-11-23 2005-07-07 Contentguard Holdings, Inc. System, method, and device for controlling distribution and use of digital works based on a usage rights grammar
JPH08263438A (ja) * 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
FI104666B (fi) 1997-11-10 2000-04-14 Nokia Networks Oy Varma kättelyprotokolla
DE19822795C2 (de) * 1998-05-20 2000-04-06 Siemens Ag Verfahren und Anordnung zum rechnergestützten Austausch kryptographischer Schlüssel zwischen einer ersten Computereinheit und einer zweiten Computereinheit
US6401211B1 (en) * 1999-10-19 2002-06-04 Microsoft Corporation System and method of user logon in combination with user authentication for network access
US6496802B1 (en) * 2000-01-07 2002-12-17 Mp3.Com, Inc. System and method for providing access to electronic works
US7181766B2 (en) * 2000-04-12 2007-02-20 Corente, Inc. Methods and system for providing network services using at least one processor interfacing a base network
US7373507B2 (en) * 2000-08-10 2008-05-13 Plethora Technology, Inc. System and method for establishing secure communication
EP1490767B1 (en) * 2001-04-05 2014-06-11 Audible Magic Corporation Copyright detection and protection system and method
KR100796865B1 (ko) * 2001-12-31 2008-01-22 엘지전자 주식회사 이동 통신 단말기와 이를 이용한 네트웍 접속 시스템 및그 방법
US7093296B2 (en) * 2002-01-18 2006-08-15 International Business Machines Corporation System and method for dynamically extending a DRM system using authenticated external DPR modules
JP4090251B2 (ja) * 2002-03-05 2008-05-28 パスロジ株式会社 認証装置、認証方法、ならびに、プログラム
US7296154B2 (en) * 2002-06-24 2007-11-13 Microsoft Corporation Secure media path methods, systems, and architectures
KR100911074B1 (ko) * 2002-10-01 2009-08-06 엘지전자 주식회사 홈 네트웍에서 기기 특성 데이터의 전송 가능 판별 장치및 그 방법
US7308489B2 (en) * 2003-05-29 2007-12-11 Intel Corporation Visibility of media contents of UPnP media servers and initiating rendering via file system user interface
US20040260786A1 (en) * 2003-06-20 2004-12-23 Barile Steven E. Method and apparatus for caching multimedia content from the Internet on occasionally-connected devices
KR100533678B1 (ko) * 2003-10-02 2005-12-05 삼성전자주식회사 공개 키 기반 구조의 도메인을 형성하여 UPnP를통하여 구현하는 방법
US7882034B2 (en) * 2003-11-21 2011-02-01 Realnetworks, Inc. Digital rights management for content rendering on playback devices
US20050125564A1 (en) * 2003-12-04 2005-06-09 Matsushita Electric Industrial Co., Ltd. Profiling service for the automatic service discovery and control middleware frameworks
KR100513044B1 (ko) * 2003-12-17 2005-09-06 한국전자통신연구원 사용자 선호정보에 따른 디바이스 자동 연결 장치 및 그방법
US7668939B2 (en) * 2003-12-19 2010-02-23 Microsoft Corporation Routing of resource information in a network
US7600113B2 (en) * 2004-02-20 2009-10-06 Microsoft Corporation Secure network channel
EP1733504A4 (en) * 2004-03-22 2011-05-25 Samsung Electronics Co Ltd AUTHENTICATION BETWEEN FACILITY AND PORTABLE STORAGE
WO2005093543A1 (en) 2004-03-23 2005-10-06 Koninklijke Philips Electronics N.V. Computer network access control system
US20050240758A1 (en) * 2004-03-31 2005-10-27 Lord Christopher J Controlling devices on an internal network from an external network
US20050266826A1 (en) * 2004-06-01 2005-12-01 Nokia Corporation Method for establishing a security association between a wireless access point and a wireless node in a UPnP environment
US20050286546A1 (en) * 2004-06-21 2005-12-29 Arianna Bassoli Synchronized media streaming between distributed peers
WO2006018781A1 (en) 2004-08-16 2006-02-23 Koninklijke Philips Electronics N.V. Method and system for setting up a secure environment in wireless universal plug and play (upnp) networks
KR100678897B1 (ko) * 2004-11-23 2007-02-07 삼성전자주식회사 홈 네트워크 장치 간의 보안 연결을 위한 시스템 및 방법
US20060143295A1 (en) * 2004-12-27 2006-06-29 Nokia Corporation System, method, mobile station and gateway for communicating with a universal plug and play network
KR101263393B1 (ko) * 2005-07-15 2013-05-21 삼성전자주식회사 유피앤피 에이브이 스트림 전송 방법 및 장치
US20070143488A1 (en) * 2005-12-20 2007-06-21 Pantalone Brett A Virtual universal plug and play control point

Also Published As

Publication number Publication date
JP2010507285A (ja) 2010-03-04
US20080092211A1 (en) 2008-04-17
CN101523801A (zh) 2009-09-02
EP2078372A1 (en) 2009-07-15
WO2008048836A1 (en) 2008-04-24
US7882356B2 (en) 2011-02-01

Similar Documents

Publication Publication Date Title
US7882356B2 (en) UPnP authentication and authorization
US9055047B2 (en) Method and device for negotiating encryption information
US7870261B2 (en) Information processing device, an information processing method, and a computer program to securely connect clients on an external network to devices within an internal network
JP4487490B2 (ja) 情報処理装置、およびアクセス制御処理方法、情報処理方法、並びにコンピュータ・プログラム
US9154487B2 (en) Registration server, gateway apparatus and method for providing a secret value to devices
US11736304B2 (en) Secure authentication of remote equipment
KR20050064119A (ko) 인터넷접속을 위한 확장인증프로토콜 인증시 단말에서의서버인증서 유효성 검증 방법
WO2019178942A1 (zh) 一种进行ssl握手的方法和系统
US20230164136A1 (en) Authenticating a networked camera using a certificate having device binding information
EP2979420B1 (en) Network system comprising a security management server and a home network, and method for including a device in the network system
US11070537B2 (en) Stateless method for securing and authenticating a telecommunication
US11622276B1 (en) Systems and method for authentication and authorization in networks using service based architecture
WO2023241176A1 (zh) 通信方法、装置、设备、存储介质及程序产品
JP4619059B2 (ja) 端末装置、ファイアウォール装置、及びファイアウォール装置制御のための方法、並びにプログラム
CN114531235B (zh) 一种端对端加密的通信方法及系统
WO2020005848A1 (en) Authentication through secure sharing of digital secrets previously established between devices

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid