KR20150003865A - 적응 스트리밍에 대한 세그먼트 통합 및 인증을 위한 시스템 및 방법 - Google Patents

적응 스트리밍에 대한 세그먼트 통합 및 인증을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20150003865A
KR20150003865A KR1020147032794A KR20147032794A KR20150003865A KR 20150003865 A KR20150003865 A KR 20150003865A KR 1020147032794 A KR1020147032794 A KR 1020147032794A KR 20147032794 A KR20147032794 A KR 20147032794A KR 20150003865 A KR20150003865 A KR 20150003865A
Authority
KR
South Korea
Prior art keywords
segment
digest
digital signature
media stream
accurate
Prior art date
Application number
KR1020147032794A
Other languages
English (en)
Other versions
KR101630721B1 (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 KR20150003865A publication Critical patent/KR20150003865A/ko
Application granted granted Critical
Publication of KR101630721B1 publication Critical patent/KR101630721B1/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/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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

적응 스트리밍을 위한 세그먼트 통합 및 시스템 및 방법 실시예가 제공된다. 실시예에서, 방법은 데이터 처리 시스템에서 미디어 스트림의 세그먼트를 수신하는 단계; 상기 데이터 처리 시스템이, 상기 세그먼트에 대한 다이제스트 또는 디지털 시그내처를 결정하는 단계; 및 상기 데이터 처리 시스템이, 상기 다이제스트 또는 상기 디지털 시그내처를 정확한 다이제스트 또는 정확한 디지털 시그내처와 비교하여 상기 세그먼트가 변형되었는지를 판단하는 단계를 포함한다.

Description

적응 스트리밍에 대한 세그먼트 통합 및 인증을 위한 시스템 및 방법{SYSTEMS AND METHODS FOR SEGMENT INTEGRITY AND AUTHENTICITY FOR ADAPTIVE STREAMING}
본 출원은 2012년 4월 25일에 출원되고 발명의 명칭이 "System and Method for Segment Integrity and Authenticity for Adaptive Streaming"인 미국 예비특허출원 No. 61/638,332에 대한 우선권을 주장하는 바이며, 상기 문헌의 내용은 본 명세서에 원용되어 병합된다.
본 발명은 미디어 스트리밍을 위한 시스템 및 방법에 관한 것이며, 특별한 실시예에서, 적응 스트리밍에 대한 세그먼트 통합 및 인증을 위한 시스템 및 방법에 관한 것이다.
복수의 시스템 운영자(multiple system operator: MSO)가 소유하는 네트워크의 사적으로 운영하는 상황에서, 중요한 보안 문제가 높은 가치의 콘텐츠에 대한 비인증 액세스 및 재생의 방지이다.
개방형 네트워크 및 인터넷 전달로의 이동함에 따라, 운영자들은 더 이상 자신들의 전달 네트워크를 통해 단대단 제어를 완료할 수 없다.
이로 인해 새로운 공격이 야기되는데, 비인증 액세스를 콘텐츠에 제공하지 않음에도, 서비스의 방해 및 비인증 액세스가 클라이언트 장치로 허용되어 버리는 것이다.
미디어 세그먼트 및 그 디스크립션(예를 들어, 미디어 프레젠테이션 디스크립션(media presentation distribution: MPD))은 그 분배 네트워크 전반에 걸쳐 다양한 위치에 저장되고 - 이것들은 상업적 콘텐츠 전달 네트워크(content delibery network: CDN)의 노드에 캐싱될 수 있으며, 그런 다음 소비자에 더 가까이 있는 다른 CDN의 노드에 전달되고, 그런 다음 서비스 제공업자의 헤드-엔드에 위치한다.
실제로, 이러한 노드 중 일부는, 노드 간의 전달 채널 상의 잠재적 부당한 가담의(tampering)의 존재 외에, 악의적일 수 있다.
먼저, MPD는 이러한 체인관계에서 임의의 악의적 엔티티에 의해 변경되어, 전체적인 스트리밍 세션을 완전하게 강탈당할 수도 있다.
이것은 MPD 전달 하이퍼텍스트 트랜스퍼 프로토콜 보안(HTTPS) 및/또는 확장 가능한 마크업 언어(XML) 시그내처의 보안 방법을 사용함으로써 고려될 수 있다.
일반적으로, 이 논의의 목적상, 악의적 엔티티가 MPD에 액세스하여 네트워크에 대한 완전한 액세스를 가지는 동안, 클라이언트가 정확한 MPD를 가지고 부당하게 가담된 것으로 가정한다.
3가지의 주요 공격 유형을 고려한다: 세그먼트 교체, 순서 다시 정하기, 및 변형. 세그먼트를 제공하는 서비스의 완전한 부정(예를 들어, 세그먼트 대신 404 복귀)은 항상 가능한 상황이지만, 이것은 수 개의 가능한 다운로드 위치를 제공함으로써 및/또는 하나 이상의 CDN을 활용함으로써 고려될 수 있다.
간단한 콘텐츠 교체 또는 순서 다시 정하기는 3가지의 경우에 가능하다: 요구된 세그먼트가 분명할 때, 교체되는 세그먼트가 연속적이고, 암호화되며 동일한 암호-주기에 놓일 때, 또는 세그먼트를 다른 재생가능한 것으로 대체하지 않고 프레젠테이션을 방해하려는 의도일 때.
공격의 예는 광고 건너뛰기(광고가 영화에서 다른 세그먼트로 교체된다), 및 서비스 저하이다.
일반적으로 대부분의 취약한 비즈니스 모델은 광고지원 디지털 권한 관리(DRM)-콘텐츠가 덜 제공될 때이고, 이것은 상당히 중요한 모델이 될 것으로 예상된다. 동일한 위협이 일반적으로 공용 채널(예를 들어, 미국에서의 C-SPAN)에 영향을 미치며, 여기서 콘텐츠는 암호화되지 않은 채 전송된다.
세그먼트 변형은 부분 비트스트림 암호화를 사용하여 청정한 상황에서 그리고 임의의 콘텐츠에서 항상 가능하다. 후자의 경우 암호화된 바이트는 암호화되지 않은 헤더로 시그널링되고, 따라서, 예를 들어, 실제의 보호를 받는 기본적인 스트림이 청정 상황에서 임의의 콘텐츠로 교체될 수 있다. 부분적으로 암호화된 스트림이 청정 상황에서 클라이언트 행동을 수정하는 명령을 수반할 때, 이것들은 클라이언트 행동을 수정하기 위해 사용될 수 있다. 완전한 세그먼트 암호화의 경우, 세그먼트 변형은 세그먼트를 재생불능으로 되게 할 것이고, 디코더 리셋을 야기할 가능성도 있다.
(청정 상황에서 다른 콘텐츠와 함께 암호화된 콘텐츠의 플레인 교체(plain replacement)를 넘어서) 이러한 공격의 예는 'lmsg' 브랜드를 ISO-FF 세그먼트에 부가하여 클라이언트가 주기를 초기에 중단하게 하는 것이다.
다른 관심이 가는 방향은 청정 상황에서 통과된 새로운 MPD 유니버설 리소스 로케이터(URL)를 포함하는 메시지가 존재하는지가 될 것이고; 이 RUL을 악의적인 것으로 대체하는 것은 사소한 일이다.
악의적인 엔티티는 또한 네트워크 내 트랜스스크램블링(예를 들어, 재암호화)이 사용될 때 콘텐츠를 암호화 및 암호해제하는 데 사용되는 키에 대한 액세스를 가질 수도 있다. 이 방식은 콘텐츠 대체가 암호화된 콘텐츠에 대해서도 마찬가지로 가능하다는 것이다.
미디어가 아닌 세그먼트에 대한 유사한 공격도 가능하다. 초기화 및 비트스트림 스위칭 세그먼트의 경우, 변형된 인덱스 파일이 최소한 트릭 모드 기능성을 불안정하게 할 수 있으면서, 변형은 전체 콘텐츠를 전부 또는 부분적으로 재생불능으로 만들어 버릴 수 있다.
단순한 세그먼트 변형 역시 가능하며, 예를 들어, 파일 변질로 인해 가능하다. 이 방식에서 발견될 수 있는 다른 단순한 오류는 부정확한 암호해제 열쇠의 사용이다.
전술한 설명은 단지 세그먼트만을 설명하고 있으나, 완전한 세그먼트가 전달되지 않고, 비트스트림 스위칭은 후속의 레벨에서 수행되는 것이 가능하다.
실시예에 따르면, 적응 스트리밍에 대한 세그먼트 통합 및 인증을 검증하는 방법은, 데이터 처리 시스템에서 미디어 스트림의 세그먼트를 수신하는 단계; 상기 데이터 처리 시스템이, 상기 세그먼트에 대한 다이제스트 또는 디지털 시그내처를 결정하는 단계; 및 상기 데이터 처리 시스템이, 상기 다이제스트 또는 상기 디지털 시그내처를 정확한 다이제스트 또는 정확한 디지털 시그내처와 비교하여 상기 세그먼트가 변형되었는지를 판단하는 단계를 포함한다.
다른 실시예에 따르면, 적응 스트리밍에 대한 세그먼트 통합 및 인증을 검증하기 위해 구성된 네트워크 구성요소는, 프로세서; 및 상기 프로세서에 의한 실행을 위한 프로그래밍을 저장하는 컴퓨터 판독 가능형 저장 매체를 포함하며, 상기 프로그래밍은, 미디어 스트림의 세그먼트를 수신하고; 상기 세그먼트에 대한 다이제스트 또는 디지털 시그내처를 결정하며; 그리고 상기 다이제스트 또는 디지털 시그내처를 정확한 다이제스트 또는 정확한 디지털 시그내처와 비교하여 상기 세그먼트가 변형되었는지를 판단하는 명령을 포함한다.
다른 실시예에 따르면, 적응 스트리밍에 대한 세그먼트 통합 및 인증을 검증하는 방법은, 사용자 기기(UE)에서, 미디어 스트림의 세그먼트를 수신하는 단계 - 상기 미디어 스트림은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(dynamic adaptive straming over hypertext transfer protocol: DASH) 스트림의 복수의 세그먼트를 포함함 - ; 상기 UE가, 상기 미디어 스트림의 세그먼트에 대한 다이제스트 또는 디지털 시그내처를 결정하는 단계; 상기 UE가, 상기 다이제스트 또는 상기 디지털 시그내처를 정확한 다이제스트 또는 정확한 디지털 시그내처와 비교하는 단계; 및 상기 UE가, 상기 세그먼트가 변형되었는지를 판단하는 단계를 포함한다.
본 발명 및 그 이점을 더 완전하게 이해하기 위해, 첨부된 도면과 결합하여 이하의 상세한 설명을 참조한다.
도 1은 데이터를 통신하는 시스템 및 적응 스트리밍을 위해 세그먼트 통합 및 인증의 실시예를 나타내는 도면이다.
도 2는 세그먼트의 적응 세트를 나타내는 도면이다.
도 3은 세그먼트에 의해 형성되는 스트림의 예를 나타내는 도면이다.
도 4는 동적의 적응 스트리밍에 대한 아키텍처를 나타내는 도면이다.
도 5는 적응 세트에 대한 해시 값의 코드북을 나타내는 도면이다.
도 6은 해시 값의 벡터 형태를 나타내는 도면이다.
도 7a 및 도 7b는 세그먼트의 광고 삽입/교체를 나타내는 도면이다.
도 8a 및 도 8b는 세그먼트 교체로 콘텐츠의 변형을 나타내는 도면이다.
도 9는 다이제스트 세대를 나타내는 도면이다.
도 10a 내지 도 10c는 표현을 위해 결합된 다이제스트를 나타내는 도면이다.
도 11a 내지 도 11d는 결합된 다이제스트에 검색된 세그먼트에 대한 다이제스트를 위치시키는 것을 나타내는 도면이다.
도 12는 검색된 세그먼트에 대한 로컬 다이제스트/시그내처를 나타내는 도면이다.
도 13은 적응 스트리밍에 대한 세그먼트 통합 및 인증을 검증하는 방법 실시예에 대한 흐름도이다.
도 14는 다양한 실시예를 실행하는 데 사용될 수 있는 처리 시스템을 나타내는 도면이다.
이하에서는 본 발명의 바람직한 실시예에 대해 상세히 설명한다. 그렇지만, 본 발명은 폭넓은 특정한 문맥에서 구현될 수 있는 많은 응용 가능한 개념을 제공한다는 것을 이해해야 한다. 논의된 특정한 실시예는 단지 본 발명을 만들고 사용하는 특정한 방법에 대한 도해에 지나지 않으며, 본 발명의 범위를 제한하는 것이 아니다.
종래부터, 미디어 콘텐츠는 비인증 액세스로부터 보호되어 왔다. 인터넷 스트리밍의 경우, 미디어 콘텐츠에 가담하는 것과 관련된 추가의 위협이 출현하여 왔다. 실시예는 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(dynamic adaptive straming over hypertext transfer protocol)(HTTP)(DASH)으로 스트리밍되는 미디어 콘텐츠의 통합성 및 인증을 검증하는 방법을 제안한다.
실시예에서는 다이제스트(digest)를 사용하여 적응 스트리밍 세그먼트의 통합성 및 인증을 검증한다. 실시예는 디지털 시그내처를 사용하여 적응 스트리밍 세그먼트의 통합성 및 인증을 검증한다. 실시예는 시그내처 및 다이제스트를 요구한다. 실시예는 스트리밍된 콘텐츠의 통합성 및 인증을 검증한다. 실시예는 네트워크 내에서 악의적인 콘텐츠 조작을 방지하거나 감소한다. 실시예는 cable/IPTV/telecom/mobile/wireless/internet video streaming, CDNs, DASH 등과 같은 영역에서, 광고지원 논-DRM 적응 스트리밍(ad-supported non-DRM adaptive streaming), 보안 적응 스트리밍 등에 적용될 수 있다.
도 1은 데이터를 통신하는 시스템 및 적응 스트리밍을 위해 세그먼트 통합 및 인증의 실시예를 나타내는 도면이다. 시스템(100)은 클라이언트(102), 미디어 소스 서버(104), 인증 서버(106), 악의적 서버(108), 및 네트워크(110)를 포함한다. 네트워크(110)는 스위치, 라우터, 통신 채널, 및 네트워크(110)의 한 부분으로부터 네트워크(110)의 다른 부분으로 데이터를 전송하도록 구성된 기타 장치를 포함한다. 네트워크(110)는 유무선 전송 수단을 포함할 수 있다. 클라이언트(102), 미디어 소스 서버(104), 인증 서버(106), 및 악의적 서버(108)는 네트워크(110)에 접속되어 있고 네트워크(110)를 통해 데이터를 송수신하도록 구성되어 있다. 클라이언트는 다른 유형의 사용자 기기(UE)일 수 있는데, 예를 들어, 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트폰, 개인휴대단말 등일 수 있다.
악의적 서버(108)는 미디어 소스 서버(104)로부터 클라이언트(102)로의 미디어 스트림 세그먼트의 전송 경로에 있을 수 있는 서버이다. 악의적 서버(108)는 미디어 스트림의 하나 이상의 세그먼트를 변형 또는 교체하려 시도할 것이다. 예를 들어, 악의적 서버(108)는 클라이언트(104)를 감염시키거나 클라이언트(104)로부터 개인 정보를 획득하기 위해 다른 광고의 하나 이상의 세그먼트를 교체할 수 있거나 미디어 세그먼트 내의 바이러스 또는 멀웨어를 포함할 수 있다. 미디어 소스 서버(104)는 미디어를 저장하고 네트워크(110)를 통해 미디어 스트림을 클라이언트(102)에 전송하도록 구성되어 있다. 미디어 스트림은 미디어 스트림 세그먼트를 포함할 수 있다. 미디어의 유형은 비디오 및 오디오를 포함할 수 있다. 각각의 미디어 스트림은 클라이언트(102)가 디지털 시그내처를 결정 또는 계산할 수 있는 정보로 인코딩될 수 있다. 디지털 시그내처는 다이제스트 또는 메시지 인증 코드를 포함할 수 있다. 미디어 소스 서버(104)는 각각의 세그먼트에 대한 정확한 디지털 시그내처를 인증 서버(106)에 전송할 수 있고, 인증 서버(106)는 미디어 세그먼트의 각각의 세그먼트에 대한 정확한 디지털 시그내처의 데이터 저장을 유지할 수 있다. 인증 서버(106)는 클라이언트(102)로부터의 요구 시에 정확한 디지털 시그내처를 클라이언트(102)에 제공하는 신뢰 인증 서버 또는 신뢰 소스이다. 클라이언트(102)는 각각의 세그먼트의 디지털 시그내처를 결정 또는 계산하고 그 결정된 디지털 시그내처와 인증 서버(106)로부터 수신된 정확한 디지털 시그내처를 비교하도록 구성되어 있다. 2개의 디지털 시그내처가 일치하면, 그 세그먼트는 변형되지 않았다. 그렇지만, 2개의 디지털 시그내처가 일치하지 않으면, 클라이언트(102)는 그 세그먼트가 변형되었으므로 그 세그먼트를 폐기하거나 및/또는 미디어 소스 서버(104)에 그 변형된 세그먼트를 재송신하도록 요구한다. 세그먼트의 변형은 세그먼트를 다른 세그먼트로 교체하는 것과, 미디어 스트림 내의 다른 세그먼트와 관련해서 세그먼트의 시간상의 위치를 제때에 기록하는 것이나, 및/또는 세그먼트 중 일부 또는 전부의 변형을 포함할 수 있다. 세그먼트의 변형은 클라이언트(102)에 손상을 입힐 수 있는 또는 클라이언트에 저장되어 있는 기밀의 사용자 정보를 폭로할 수 있는 악의적 콘텐츠의 삽입을 포함할 수 있다.
MPD 및 미디어 세그먼트 모두는 예를 들어 동적 광고 삽입을 수행하기 위해서는 정당하게 변경되어야 한다. 일반적으로 연쇄 내의 신뢰 요소만이 원래의 콘텐츠 제공자이거나 그 원래의 콘텐츠 제공자가 분명하게 신뢰하는 엔티티이다. 일반적으로, 이러한 문제를 해결하는 데는 4가지 선택사항이 있다:
(1) 신뢰 엔티티가 보안 채널을 통해 대역을 벗어나서 클라이언트에 세그먼트 다이제스트를 제공하는 것;
(2) 대역 내에서(미디어 내에서 또는 인덱스 세그먼트 내에서) 또는 대역을 벗어나서(예를 들어, HTTP를 사용해서) 외부에서 제공된 키를 사용하여 MAC를 운반하는 것;
(3) 새로운 상호동작 가능하지 않은 DRM을 생성하고, 풀-세그먼트, MPEG-2 CA, 또는 CENC 암호화를 사용해서 인코딩된 콘텐츠와의 호환성을 유지하지 않더라도, 인증된 암호화를 사용하는 것; 그리고
(4) 전체 시스템의 확장성을 상당히 감소하더라도, 모든 세그먼트 트래픽에 대해 HTTPS를 사용하는 것.
이하에 논의된 실시예에서는 상기 선택사항 1 및 2를 실행하여 디지털 다이제스트 및 시그내처를 활용하며, 이것들은 범위 밖에서 전송된다.
다이제스트와 관련해서, 일부의 문제는 리눅스(Linux) 분배자 및 파일-공유 커뮤니티에 의해 직면하게 되는 데, 악의적 엔티티가 네트워크를 오염시키거나 단순히 바이러스 감염 파일을 퍼트리려 한다. 이러한 경우, 암호 해시 또는 다이제스트를 사용하여 공격을 사소하게 무력화하는데, 예를 들어 우분투(Ubuntu) 분배자는 MD5, 보안 해시 알고리즘(SHA)-1, SHA-256, 및 SHA-512를 상이한 정도의 과대망상증을 가진 다운로더에게 제공한다.
클라이언트가 다이제스트를 수신하기를 원할 때 신뢰 엔티티에 대한 보안 채널(예를 들어, TLS)이 클라이언트에 이용 가능한 경우에는 다이제스트를 사용하여 인증 및 통합 문제를 해결한다. 즉, n번째 세그먼트 S(n) 및 다이제스트 s = SHA(S(n))을 제공할 수 있는 신뢰 엔티티가 주어진 경우, 클라이언트는 SHA(S`)≠s이면 S(n)에 대한 임의의 무효 세그먼트 S`를 거부할 수 있다.
실행의 예로서, MPD는 신택스가 이하와 유사한 SupplementaryProperty 디스크립터를 포함한다:
<SupplementalProperty schemeIdUri="urn:mpeg:dash:sea:auth:2013">
<sea:ContentAuthenticity
authSchemeIdUri="urn:mpeg:dash:sea:sha256"
authUrlTemplate= "https://verify.example.com?base=$base$&amp;range=$first$-$last$" /> </SupplementalProperty>
보안 채널만을 사용할 수 있는 경우, 또는 캐시-프렌들리(cache-friendly)가 되어야 할 필요성이 있을 때, 디지털 시그내처를 사용하여 신뢰 수준을 제공할 수 있다. 신뢰 엔티티로부터 공용 키가 주어지면, 키 해시 메시지 인증 코드(keyed hash message authentication code: HMAC)를 사용하여 메시지를 유효화할 수 있다. 이 경우, 공용 키 및 시그내처가 청정 상황에서 전송되는 동안, 인증 및 통합 모두가 보장된다.
예로서, MPD는 신택스가 이하와 유사한 SupplementaryProperty 디스크립터를 포함한다:
<!-- SHA-256 digests is available for all (sub)segments -->
<SupplementalProperty schemeIdUri="urn:mpeg:dash:sea:auth:2013">
<sea:ContentAuthenticity
authSchemeIdUri="urn:mpeg:dash:sea:sha256"
authUrlTemplate= "https://verify.example.com?base=$base$&amp;range=$first$-$last$" /> </SupplementalProperty>
실시예는 신뢰 엔티티로부터 세그먼트의 다이제스트 값을 요구하는 부가의 URL 템플릿을 부가한다. 만약에 있다면, 암호화 이전에 원래의 콘텐츠 제공자에 의해 암호화되지 않은 세그먼트에 대해 다이제스트 값을 계산하는데, 이에 따라 세그먼트가 암호화되는 경우, 잘못된 디스크립션 키의 사용(이것은 세그먼트가 부정확하게 암호해제되어 버린다)이 검출될 것이고, 암호화 키는 다이제스트로부터 완전하게 분리될 것이다.
SHA-1을 더 사용하지 않게 되면, 사용될 수 있는 2개의 해시 기능은 SHA-256 및 SHA-512이다. SHA-256은 32 비트 머신 상에서 계산의 복잡도가 덜하고(이것은 모바일 기기에서 사용되는 주로 사용되는 것들이다), 따라서 SHA-256은 이러한 머신에서 더 유용할 수 있다.
HMAC는 동일한 프레임워크 내에서 지원될 수 있으며; 유일한 상당한 변화는 공용 키를 수신하는 것이다.
실시예에서는, 이하의 신택스 및 세만틱스를 사용하여 전술한 콘텐츠 인증 프레임워크를 지원할 수 있다:
요소 또는 속성 명 사용 디스크립션
ContentAuthenticity 세그먼트에 대한 인증 태그를 계산하는 데 필요한 정보를 명기한다
@authSchemeIdUri M 인증 태그를 계산하는 데 사용되는 알고리즘을 명기한다
@authUrlTemplate M 인증 태그 값을 검색하는 데 사용되는 URL을 생성하기 위한 템플릿을 명기한다. URL 생성을 위한 규칙은 명기되어 있다.
@authTagLength O 인증 태그의 길이를 비트로 명기한다. 존재하지 않으면, 태그 길이는 @authSchemeIdUri에 의해 인식된 알고리즘과 동일하다
@keyUrlTemplate O ISO/IEC 23009-1:2012, 5.3.9.4.4.에 규정되어 있는 신택스 및 가변의 대체를 사용하여, 키 URL 발생에 대한 템플릿을 명기한다
범례:
속성에 대한 설명: M=의무사항, O=선택사항, OD=디폴트 값을 가진 선택사항, CM=조건적 의무사항.
요소에 대한 설명: <minOccurs>...<maxOccurs> (N=unbounded)
요소가 볼드체이다; 속성이 볼트체가 아니고 @로 진행한다.
URL 파생에 있어서, 다이제스트 및 시그내처 URL's는 다음과 같이 구성된다. 주어진 미디어, 초기화, 인덱스, 또는 비트스트림 스위칭 세그먼트에 대한 완전한 URL, 또는 서브세그먼트에 대한 URL이 구성된다. ISO/IEC 23009-1 Annex E와 동일한 대체 변수를 사용하여 다이제스트 또는 시그내처 URL 템플릿을 구성할 수 있다. 다이제스트가 사용되면, https를 사용하여 요구하여야 한다.
$< Identifier >$ 대체 파라미터
$$ 도피 시퀀스 즉, "$$"는 단일의 "$"로 대체된다
$base$ 식별자는 RFC3986에 규정된 바와 같이 원래의 URL의 방식 ":" 고위 부분에 의해 대체되어야 한다.
$query$ 식별자는 RFC3986에 규정된 바와 같이 원래의 URL의 질의 부분에 의해 대체되어야 한다. 원래의 URL의 질의 부분이 비어 있으면 템플릿 내의 이 식별자의 포함은 템플릿 스트링 내의 $query$ 식별자를 선행하는 분리자 캐릭터를 이 캐릭터가 "?" 캐릭터가 아니면 즉시 제거하며, 그렇지 않으면, $query$ 식별자를 뒤따르는 분리자 캐릭터를 존재하면 즉시 제거한다.
$first$ 식별자는 범위 내의 제1 바이트의 바이트 오프셋으로 대체될 것이고 이 요구가 부분적 GET 요구를 사용해서 실행되면 RFC2616의 14.35.1 내의 '바이트-범위-스펙'의 '제1-바이트-포스'의 값과 동일하게 될 것이다. URL 바이트 범위를 포함하면, $first$의 값은 "0"이 될 것이다.
$last$ 식별자는 범위 내의 최종 바이트의 바이트 오프셋으로 대체되며; 즉, 지정된 바이트 위치가 포함된다. 이 요구가 부분적 GET 요구를 사용하여 실행되면, RFC2616의 14.35.1 내의 '바이트-범위-스펙'의 '최종-바이트-포스'의 값과 동일해야 한다. URL이 바이트 범위를 포함하지 않으면, $last$의 값은 "InF"일 것이다.
ISO/IEC 23009-1 Annex E와는 달리, 바이트 범위가 사용되지 않는 경우에는, 변수 $first$ 및 $last$의 디폴트 값이 존재한다. 세그먼트 또는 서브세그먼트에 대응하지 않는 바이트 범위 요구는 요구되지 않으며, 서버에 의해 무시될 수 없다.
양의 수 n 및 m에 있어서, 세그먼트 S를 비트의 시퀀스로(한 블록의 콘텐츠로) 놓고, 레프리젠테니션 R = [S(1), S(2), ..., S(n)]은 n개의 세그먼트의 시퀀스로 하고, 적응 집합 A = [R(1), R(2), ...,R(m)]는 m개의 레프리젠테이션의 목록으로 한다. 간략화를 위해, i번째 레프리젠테이션 내의 j번째 세그먼트 A[i][j]는 S(i, j)(단, i=1, ..., m 및 j=1, ..., n)로 표시되기도 한다. 시각적으로, 적응 집합 A는 도 2에 도시된 바와 같이 m-by-n 행렬의 세그먼트로 취급될 수 있고, 이것은 세그먼트의 적응 집합을 나타내는 다이어그램(200)이다.
A에 의해 정의된 (세그먼트의) 스트림은 n개의 세그먼트의 시퀀스 [S(i1, 1), S(i2, 2), ..., S(im, n)]이고, 여기서 1 = ik = m(단, k = 1, 2, ..., n)이다. ik =x이면 스트림은 비적응이라 하고, 여기서 1 = x = m (단, 모든 k = 1, 2, ..., m)이다. 이 경우, 비적응 스트림은 단지 적응 집합 A 내의 레프리젠테이션 중 하나이다. 비적응이 아닌 경우 스트림을 적응이라 한다. 차이 | ik - ik +1 | = 1 (단, 모든 k = 1, ..., n-1)이면, 스트림을 평활이라 한다. 도 3은 차폐된 세그먼트에 의해 형성되는 스트림의 예를 나타내는 다이어그램(300)이다.
일반적인 설정에서, 동적의 적응 스트리밍에 대한 서버-클라이언트 시스템 아키텍처는 멀티-소스 및 멀티-싱크 다이어그램으로 묘사될 수 있으며, 여기서 서버와 클라이언트 사이에 설치된 노드의 수는 콘텐츠 세그먼트를 이송하는 콘텐츠 전달 네트워크(content delivery network: CDN) 기능을 제공할 수 있을 정도로 존재한다. 적응 집합 A 내의 세그먼트는 초기에 서버에서 이용 가능하지만, 각각의 서버는 반드시 모든 세그먼트를 가지는 것은 아니며 임의의 세그먼트가 하나 이상의 서버에서 이용 가능할 수 있다.
Figure 4 is a diagram 400 illustrating an architecture for dynamic adaptive streaming.
도 4는 동적의 적응 스트리밍에 대한 아키텍처를 나타내는 다이어그램(400)이다.
이 아키텍처의 시스템은 스트리밍 시스템이고, 각각의 클라이언트가 스트림 내의 연속적인 순서에 따라 단지 하나의 임의의 스트림의 세그먼트를 한 번에 수신하면, 이에 따라 클라이언트는 나중의 세그먼트를 수신하는 데 대기하지 않고 세그먼트를 수신한 직후에 시간 진행 방식(time-progressive manner)으로 그 세그먼트를 재생할 수 있다. 스트리밍 시스템에서, 임의의 클라이언트는 스트림의 접두사 [S(i1, 1), S(i2, 2), ..., S(ik, k)]를 수신한다.
각각의 클라이언트가 논-레프리젠테이션 스트림을 수신할 수 있으며, 스트리밍 시스템은 동적의 적응 시스템이다.
시스템이 활용하는 세그먼트 트랜스포트 프로토콜(예를 들어, http 또는 실시간 트랜스포트 프로토콜(rtp))에 따라, 세그먼트는 서버에 의해 클라이언트로 밀릴 수 있거나 클라이언트에 의해 서버로부터 당겨질 수 있다.
실시예에서, 클라이언트에 의해 수신되는 세그먼트가 스트림의 통합에 전체적으로 어떠한 참가 없이도 유효한 (그리고 가능한 의도된) 스트림을 형성할 뿐만 아니라, 원래부터 서버 상에서 이용 가능할 때 각각 개별적으로 인증하는 것이 바람직하다.
스트림의 인증 및 통합에 대한 몇 가지의 공통적인 공격은 다음과 같다:
(1) 세그먼트 S(i, j)의 콘텐츠를 변형하는 것;
(2) 하나 이상의 세그먼트 S(ij, j), S(ij +1, j+1), ..., S(ik, k)(단 j < k)를 제거 또는 건너뛰기;
(3) 세그먼트 S(i, j)를 적응 집합 A가 아닌 다른 세그머트 T로 대체하기; 그리고
(4) 세그먼트 S(i, j)를 적응 집합 A 내의 다른 세그먼트 S(p, q)로 대체(다시 순서 정하기 또는 순환하기).
이러한 종류의 공격은 서버와 클라이언트 간의 전달 채널 및 CDN 노드에서 일어날 수 있다.
디지털 보안 문헌에서, 일반적으로 해시 기능을 사용하여 디지털 비트의 시퀀스의 통합을 보호한다. 이것은 직접 비교를 수행하는 것이나 수신된 세그먼트 또는 수신된 스트림과 그 진본 간의 검사가 현실적으로 불가능하거나 매우 비효과적이기 때문이다. 대신, 비교 또는 검사는 세그먼트의 해시 값을 사전에 계산함으로써 그리고 수신된 후의 세그먼트가 동일한 해시 값을 가지는지를 검사함으로써 수행된다.
스트림의 구조의 속성(이것은 세그먼트의 시퀀스이다)으로 인해, 스트림의 통합은 세그먼트의 시퀀스의 레벨뿐만 아니라 세그먼트의 레벨에서 제공될 수 있다.
스트리밍 시스템에서, 통합 보호에 대한 가장 단순하고 직관적인 솔루션은 모든 수신된 세그먼트의 해시 값을 계산하는 것이다. 즉, 수신된 세그먼트를 더 긴 연쇄적인 시퀀스 비트로 간주하고, 각각의 k = 1, ..., n에 대해 이하가 유지되는지를 검사한다:
H([S(i1, 1) | S(i2, 2) | ... | S(ik, k)]) = hS k.
이것은 너무 많은 불필요한 계산을 명백하게 포함하고, mn개의 가능한 수의 스트림이 있게 될 것이고 각각의 스트림은 n개의 접두사를 가지기 때문에, 너무 많은 (n × mn) 해시 값 hS k을 사전에 계산하여야 한다.
스트림 구조를 활용하는 개선된 버전은 각각의 세그먼트의 통합을 검사하는 것이고, 그런 다음 스트림 내의 세그먼트의 시퀀스의 통합을 검사하는 것이다. 이것은 이하를 유도한다:
H(S(i1, 1)) = hi1 , 1, H(S(i2, 2)) = hi2 , 2 , ..., H(S(ik, k)) = hik , k 그리고
H([hi1 , 1 | hi2 , 2 | ...| hik , k ]) = hS k.
그럼에도, hS k를 검사하기 위해 여전히 많은 (n > mn) 계산이 존재한다.
동적의 적응 스트리밍 시스템이 세그먼트 S(i, j)에 대응하는 해시 값 hi ,j를 신뢰 있게 제공할 수 있는 신뢰(제3) 파티를 가지면, 수신된 세그먼트의 통합을 검사하는 것은 다음과 같이 간단하게 감소할 수 있다:
H(S(i1, 1)) = hi1 , 1, H(S(i2, 2)) = hi2 , 2 , ..., H(S(ik, k)) = hik , k.
이것은 계산과 관련해서는 가장 효과적인 것이다. 이것은 m > n 해시 값에 대해 m > n 사전 계산만을 필요로 할 뿐이며, 그리고 클라이언트가 세그먼트를 제때 수신함에 따라 증가하면서 계산이 실행될 때 스트림의 통합을 검사하기 위한 m개의 계산만을 필요로 하기 때문이다.
그러나 이 신뢰 파티가 이러한 해시 값을 제공하기 위해 독립적으로 접촉 또는 통신할 수 있다는 가정은 실제로는 현실적이 않은데, 그 이유는 클라이언트와 이 신뢰 파티 간에 추가의 통신 상호작용이 유도될 것이기 때문이다. 이것은 다른 오프라인 및 사이드라인 솔루션을 야기한다.
세급먼트를 수신하는 채널과는 다른 가능한 채널을 통해, 오프라인 솔루션 및 사이드라인 솔루션은 클라이언트에 사전계산된 해시 값을 전체적 제공하는지 또는 일부의 배치 형태로 제공하는지에 의존하며, 따라서 클라이언트는 일부의 온라인 서버로부터 해시 값을 요구하고 수신하지 않아도 된다.
클라이언트가 (비디오 온 디맨드(VOD) 경우와 같이) 세그먼트를 수신하는 것을 시작하기 전에 모든 세그먼트가 이용 가능하면, 하나의 통신에서 (다시, 가능하다면 세그먼트를 획득하는 채널과는 다른 채널을 통해), 모든 개별적인 세그먼트 S(i, j)의 해시 값 hi ,j는 사전계산될 수 있으며, "코드북"으로 클라이언트에 전달될 수 있으며, 이하의 다이어그램에서와 같이 묘사될 수 있다. 도 5는 적응 집합 A에 대한 해시 값의 코드북을 나타내는 다이어그램(500)이다.
이 경우, 클라이언트는 먼저 이 "코드북"의 통합을 검사해야 하고, 그런 다음 이것을 온라인 경우에서처럼 사용하여 다음과 같이 검사한다:
H(S(i1, 1)) = hi1 , 1, H(S(i2, 2)) = hi2 , 2, ..., H(S(ik, k)) = hik , k.
많은 경우, 클라이언트가 세그먼트를 수신하는 데 모든 세그먼트가 이용 가능한 방식이 아니다. 또한, 클라이언트는 그 네트워크 조건 및 자원 이용 가능성에 따라 스트림의 세그먼트를 동적인 방식으로 수신하는 것을 선택할 수 있기 때문에 클라이언트가 어느 스트림을 수신하는지는 사전에 결정되지 않는다. 이러한 상황에서, 해시 값은 세그먼트가 이용 가능하게 됨에 따라 계산되어 클라이언트에 제공될 뿐이다.
단순히 진행 중인 경우에, 클라이언트가 세그먼트 S(ik, k)를 수신할 때, (A의 k번째 칼럼에서) 모든 세그먼트 S(i, k)(단, i = 1, 2, ..., m)는 이용 가능하다. 이 상황은 이러한 세그먼트의 해시 값을 사전계산하고, 이것들을 벡터 형태 [h1, k, h2 , k, ..., hm , k]로 클라이언트에 전달할 수 있게 한다. 도 6은 벡터 형태의 해시 값을 나타내는 다이어그램(600)이다.
이 방법은 임의의 k에 있어서 클라이언트는 먼저 이 k번째 "벡터"의 통합을 검사해야 하고, 그런 다음 이하가 맞는지를 검사하는 데 사용된다:
H(S(ik, k)) = hik , k.
때때로, 클라이언트가 세그먼트 S(ik, k)를 수신할 때, (A의 k번째 칼럼에서) 모든 세그먼트 S(i, k)(단, i = 1, 2, ..., m)이 이용 가능한지는 알려져 있지 않다. 설상가상으로, 클라이언트에 의해 수신된 세그먼트 S(i1, 1), S(i2, 2), ..., S(ik, k)를 제외하곤, (A의 1 내지 k-1의 칼럼에서) 모든 세그먼트가 이용 가능한지가 알려질 수 없다.
이러한 "논-유니폼(non-uniform)" 경우를 수용하기 위해, 인덱스 목록 방식을 취할 수 있다. 이것은 일부의 세그먼트 S(i, k)가 이용 가능하게 될 때 모든 이러한 이용 가능한 세그먼트 S(i, k)에 있어서 사전계산,
hi , k = H(S(i, k))
그리고 인덱스 목록 {(i, k, hi , k)}을 클라이언트에 송신할 준비를 해야하는 것을 필요로 한다. 클라이언트 측 상에서, 세그먼트 S(ik, k)를 수신하면, 클라이언트는 수신된 목록에 엔트리 (ik, k, hik , k)가 있는지를 검사할 수 있고, 있다면,
H(S(ik, k)) = hik , k.
인지를 검사할 수 있다.
"논-유니폼" 경우를 수용하는 다른 방식은 체인 기반(chaining-based)이다. 이 방식은 일부의 세그먼트 S(i, k)가 이용 가능하게 될 때, 모른 이러한 이용 가능한 세그먼트 S(i, k)에 대해 해시 값을 계산하는 것을 필요로 할 뿐만 아니라
hi , k = H(S(i, k))
이용 가능한 임의의 2개의 "인접하는" 세그먼트의 해시 값을 계산하는 것도 필요로 한다
gi , k, j = H(hi , k |hj , k-1).
이후, 2개의 논-인덱스 목록에서, 즉 세그먼트 해시 값 {hi , k}에 대한 목록 및 "인접하는" 세그먼트 {gi , k, j}의 해시 값에 대한 목록이 준비되어 클라이언트에 전달된다. 클라이언트 측 상에서, 세그먼트 S(ik, k)를 수신하면, 클라이언트는 그 자체의 해시 값을 계산할 수 있고
h = H(S(ik, k))
세그먼트 해시 값에 대해 수신된 목록 {hi , k} 내에 해시 값이 있는지를 검사할 수 있다. 있다면, 클라이언트는 "인접하는" 세그먼트 S(ik -1, k-1)) 및 S(ik, k))의 해시 값을 추가로 계산하며,
g = H(hik , k |hik -1, k-1)
g가 "인접하는" 세그먼트 {gi , k, j}의 해시 값에 대해 수신된 목록에 있는지를 검사한다. 두 가지 검사가 유효하면, 수신된 세그먼트 S(ik, k))에 대한 통합 검사는 만족된다.
일반적으로, "논-유니폼" 진행 중인 경우에 대한 임의의 방식은 "유니폼" 진행 중인 경우에 적용될 수 있다. 예를 들어, 인덱스 목록 {(i, k, hi , k)}은 모든 (i, k, hi , k)(단, i = 1, 2, ..., m)를 포함하고, 벡터 [h1 , k, h2 , k, ..., hm , k]의 다른 레프리젠테이션이 될 것이므로, 인덱스 목록 방식은 "유니폼" 진행 중인 경우에 대한 "벡터" 방식과 동등하다.
체인-기반 방식은 "유니폼" 진행 중인 경우에 적용될 때 다음과 같이 된다. k = 1에 있어서는, 세그먼트의 해시 값에 대한 단지 하나의 논-인덱스 목록 {hi , 1| i = 1, ..., m}이 준비된다. 임의의 k > 1에 있어서는, 2개의 논-인덱스 목록 {hi , k| i = 1, ..., m} 및 {gi , k, j | i, j = 1, ..., m}이 준비된다. 전체 적응 집합 A에 대한 전체에서, 이것은 m × n 해시 값 계산이 되어 버리고, 연속적인 세그먼트의 모든 페어링에 대한 해시 값의 추가의 m2 ×(n-1) 계산이 되어 버린다.
체인-기반 방식을 "유니폼" 진행 중인 경우에 대한 평활 스트리밍 시스템에 적용하면, m×n 해시 계산을 필요로 하고, 연속적인 세그먼트의 해시 값 페어링의 추가의 {2 × 2 + (m-2) × 3} × (n-1) 계산이 필요하기 때문에, 적응 집합 A의 크기의 선형 순서 O(m×n)가 덜 복잡하게 될 수 있다.
디지털 보안 문헌에서, 신뢰 파티에 의한 해시 함수 및 디지털 시그내처는 일반적으로 함께 사용되어 디지털 비트의 시퀀스의 인증을 제공한다.
세그먼트의 콘텐츠는 어떤 이유로, 예를 들어 사업 목적 또는 악의적인 공격으로 의도적으로 변형될 수 있다. 도 7a는 광고 삽입을 나타내는 다이어그램(700)이고 도 7b는 콘텐츠 교체를 나타내는 도면이다(일부를 나타낼 수 있다).
DASH에서는, 동일한 콘텐츠의 복수의 인코딩된 버전이 있으며, 삽입/교체의 가능성이 증가한다. 도 8a는 레프리젠테이션에서 세그먼트 교체가 있는 콘텐츠의 변형을 나타내는 다이어그램(800)이다(전체 또는 부분적 교체). 이것은 임의의 중간 노드에서 일어날 수 있다.
DASH의 경우에, 템포럴-레프리젠테이션 2차원 공간에서는, 일부의 세그먼트에 대해 부분적인 교체가 있을 수 있다. 또한, 스위칭 경로는 미리 알려지지 않으며, 다른 조합도 가능하다. 이것은 조합의 문제일 수 있는데, 가능성이 레프리젠테이션의 수 및 세그먼트의 수에 따라 지수함수적으로 증가한다. 도 8b는 스위칭 경로를 나타내는 다이어그램(802)이다. 일반적으로, 세그먼트가 주어지면, 엔티티는 세그먼트가 변형되는지, 세그먼트가 진본 집합 내에 있는지, 그리고 시간 상의 순서가 변화하는지를 판정할 수 있어야 하며, 이 모든 것은 계산 및 과잉을 가능한 한 최소화하기 위해서이다.
동적 세그먼트 시퀀스에 대한 인증은 각각의 세그먼트에 대한 시그내처/다이제스트를 생성하는 단계, 및 시그내처/다이제스트를 소정의 순서로 연결하여 메시지(결합된 시그내처/다이제스트)를 형성하는 단계를 포함한다. 세그먼트에 있어서, 그 레프리젠테이션 및 시간 위치로서, 그 대응하는 시그내처/다이제스트를 메시지로부터 추출한다. 다이제스트는 세그먼트에 대해 국부적으로 생성된 것과 비교되어 세그먼트가 어떤 식(세그먼트 그 자체 또는 시간 상의 순서)으로 변경되는지를 판정한다.
도 9는 다이제스트 생성을 나타내는 다이어그램(900)이다. Si ,j는 레프리젠테이션 i로부터의 j번째 세그먼트를 나타낸다. Di ,j는 세그먼트 Si ,j의 다이제스트를 나타내며, 이것은 Si ,j의 특성을 반영한다. 다이제스트 Di ,j의 비트의 최소 수를 B로 나타내며, n: B=2n+d로 표시되는 레프리젠테이션의 수에 의해 결정되며, 여기서 D는 0보다 큰 정수이며 다이제스트 공간은 세그먼트를 N개의 레프리젠테이션과 충분히 구별할 수 있게 한다.
다이제스트/시그내처가 고정 길이로 되어 있고, 이것들은 소정의 순서로 연결되어, 예를 들어 레프리젠테이션(도 10a), 레프리젠테이션으로부터의 한 그룹의 시간 정렬된 세그먼트(도 10b) 또는 레프리젠테이션 집합(도 10c)을 위한 결합된 다이제스트를 형성하는 것으로 가정한다. 결합은 템포럴-레프리젠테이션 공간에서 다른 순서로 될 수 있다: 도 10a 내지 도 10c에 도시된 바와 같이, 제1 시간 그런 다음 레프리젠테이션, 또는 제1 레프리젠테이션 그런 다음 시간.
도 10a는 각각의 레프리젠테이션을 위해 결합된 다이제스트를 나타내는 다이어그램(1000)이다. 각각의 레프리젠테이션은 그 결합된 다이제스트를 위한 URL에 할당되는데, n개의 레프리젠테이션에 있어서, n개의 URL이 있다. 세그먼트는 레프리젠테이션에 걸쳐 정렬되지 않아도 되며, i≠j이면 ni는 nj와 같지 않을 수도 있다.
도 10b는 모든 레프리젠테이션 중에서 j번째 세그먼트에 대한 결합된 다이제스트(1002)를 나타내는 다이어그램(1002)이다. 레프리젠테이션 중에서 각각의 그룹의 세그먼트는 URL을 할당하고, 그 이용 가능한 시간은 세그먼트의 이용 가능한 시간과 동일하다. 결합이 레프리젠테이션 순서를 따른다는 점이 도 10a와는 약간 상이하지만, 세그먼트가 통상적으로 용이한 스위칭을 위해 레프리젠테이션에 걸쳐 시간 정렬되는 진행 중인 경우에 이점이 있으며, 동시에 세그먼트 시작은 동일한 또는 근처의 시간에서 이용 가능하며, 이에 따라 그 다이제스트/시그내처를 수행한다.
도 10c는 레프리젠테이션 집합에 대한 결합된 다이제스트(1004)를 나타내는 다이어그램(1004)이다. n개의 레프리젠테이션을 그 결합된 다이제스트를 위해 가지는 레프리젠테이션 집합에 URL이 할당되며, 먼저 시간 순서 그런 다음 레프리젠테이션 순서(도 10c에 도시된 바와 같이) 또는 먼저 레프리젠테이션 순서 그런 다음 시간 순서(도시되지 않음)일 수 있다. 세그먼트는 레프리젠테이션에 걸쳐 정렬되지 않아도 되며, i≠j이면 ni는 nj와 같지 않을 수도 있다.
도 11a 내지 도 11d는 검색된 세그먼트에 있어서, 그 인덱스 i 및 j, 그 다이제스트가 그 결합된 다이제스트로부터 위치할 수 있다는 것을 나타내는 다이어그램(1100, 1102, 1104, 1106)이다. 도 11d는 세그먼트가 레프리젠테이션에 걸쳐 시간 정렬될 때 간략화된 경우이다(각각의 레프리젠테이션은 동일한 수의 세그먼트를 포함한다).
도 12는 검색된 세그먼트에 대한 로컬 다이제스트/시그내처를 생성하는 것을 나타내는 다이어그램(1200)이다. 비교에서, S'i ,j = Si ,j이면, 인증은 통과한다. 아니면 인증은 실패한다.
실시예는 결합된 다이제스트에 URL을 할당한다. 결합된 다이제스트(들)에 대한 URL은 다이제스트(들)를 검색하는 신호로 MPD에 의해 이동된다. 클라이언트는 그 결합된 다이제스트(들)를 검색한다. 클라이언트는 특정한 세그먼트에 대한 다이제스트를 추출한다. 클라이언트는 추출된 다이제스트를 세그먼트에 대해 국부적으로 생성된 것과 비교하고 결론을 내린다.
동적 세그먼트 시퀀스에 대한 인증을 위한 방법 실시예는 각각의 세그먼트에 대해 시그내처/다이제스트를 생성하는 단계, 및 시그내처/다이제스트를 소정의 순서로 연결하여 메시지(결합된 시그내처/다이제스트)를 형성하는 단계를 포함한다. 세그먼트에 있어서, 그 레프리젠테이션 및 시간 위치에 따라, 그 대응하는 부분 시그내처/다이제스트를 메시지로부터 추출한다. 이 메시지를 세그먼트에 대해 국부적으로 생성된 것과 비교하여, 세그먼트가 임의의 방식(집합 또는 시간 순서)으로 변형되었는지를 판단한다. 이 방법은 서버/저장/클라이언트 시스템상에서 수행된다.
경량의 부분적인 암호화(light-weight partial encryption)를 위한 방법 실시예는 각각의 세그먼트에 대해 시그내처/다이제스트를 소정의 순서(템포럴-레프리젠테이션)로 생성하는 단계 및 시그내처/다이제스트를 연결하여 결합된 시그내처/다이제스트를 형성하는 단계를 포함한다. 방법은 명칭이 A인 검색된 세그먼트A에 대해 시그내처/다이제스트를 생성하는 단계를 포함한다. 세그먼트의 레프리젠테이션 및 시간 위치에 따라, 방법은 마스크를 생성하여 명칭이 B인 그 결합된 시그내처/다이제스트로부터 대응하는 부분을 추출하는 단계를 포함한다. 방법은 A와 B를 비교하여 세그먼트가 변형되었는지를 판단한다.
시스템/클라이언트 방법에서, 제1 파티는 세그먼트 집합에 대해 (세그먼트의 2차원 정보를 가지는) 메시지를 생성한다. 제2 파티는 이 메시지를 사용하여, 검색된 세그먼트가 변형되었는지를 판단한다(집합, 시간 상의 순서를 변하지 않는다).
실시예는 통신이 (각각의 세그먼트에 대해) 덜 필요하도록 동적 시퀀스를 인증한다, N개의 결합된 다이제스트/시그내처가 경우 (a)에 페치되는 반면, 단일의 결합된 다이제스트/시그내처가 경우 (b)에서 페치된다. 실시예는 계산 복잡도가 낮은 동적 시퀀스를 인증한다. 실시예는 미디어 콘텐츠가 변형되었다면 세그먼트가 변형되는지 시간 상의 순서가 변하는지에 대한 개선된 보안 인에이블링 검출을 제공한다.
도 13은 적응 스트리밍에 대한 세그먼트 통합 및 인증을 검증하기 위한 방법 실시예(1300)의 흐름도이다. 방법(300)은 블록(1302)에서 시작하며 클라이언트가 미디어 스트림의 세그먼트를 수신한다. 블록(1304)에서, 클라이언트는 미디어 스트림의 디지털 시그내처를 결정한다. 블록(1306)에서, 클라이언트는 수신된 세그먼트에 대한 정확한 디지털 시그내처를 신뢰 소스로부터 수신한다. 블록(1308)에서, 클라이언트는 결정된 디지털 시그내처와 정확한 디지털 시그내처를 비교하고, 블록(1310)에서 2개의 디지털 시그내처가 동일한지를 판단한다. 블록(1310)에서, 2개의 디지털 시그내처가 동일하면, 방법(1300)은 블록(1312)으로 진행하여 클라이언트는 세그먼트가 인증되고 계속해서 세그먼트를 적절하게 처리하는 것으로 판단하며, 그 후, 방법(1300)은 종료할 수 있다. 블록(1310)에서, 클라이언트가 2개의 디지털 시그내처가 동일하지 않은 것으로 판단하면, 방법(1300)은 블록(1314)으로 진행하여, 클라이언트는 세그먼트가 변형된 것으로 판단한다. 방법(1300)은 그런 다음 블록(1316)으로 진행하여 클라이언트는 세그먼트를 폐기하고 미디어 소스 서버에 세그먼트를 재송신하도록 요구하며, 그 후, 방법(1300)은 종료할 수 있다.
도 14는 여기에 개시된 장치 및 방법을 실행하는 데 사용될 수 있는 처리 시스템(1400)의 블록도이다. 특정한 장치는 도시된 모든 구성요소를 사용할 수 있거나, 또는 하위의 구성요소만을 사용할 수 있으며, 통합의 수준은 장치마다 다를 수 있다. 또한, 장치는 복수의 프로세싱 유닛, 프로세서, 메모리, 전송기, 수신기 등과 같은 복수의 구성요소의 예를 포함할 수 있다. 프로세싱 시스템(1400)은 스피커, 마이크로폰, 마우스, 터치스크린, 키패드, 키보드, 프린터, 디스플레이 등과 같은 하나 이상의 입출력 장치를 구비하는 프로세싱 유닛(1401)을 포함할 수 있다. 프로세싱 유닛은 버스(1414)에 연결되어 있는 중앙처리장치(CPU)(1402), 메모리(1408), 대용량 저장 장치(1404), 비디오 어댑터(1410), 및 I/O 인터페이스(1412)를 포함할 수 있다.
버스(1414)는 메모리 버스 또는 메모리 제어기, 주변 버스, 비디오 버스 등을 포함하는 임의의 유형의 수 개의 버스 아키텍처 중 하나 이상일 수 있다. CPU(1402)는 임의의 유형의 전자 데이터 프로세서를 포함할 수 있다.
메모리(1408)는 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 동기 DRAM(SDRAM), 리드-온리 메모리(ROM), 및 이것들의 조합과 같은 임의의 유형의 시스템 메모리를 포함할 수 있다. 실시예에서, 메모리(1408)는 부트-업에 사용되는 ROM, 및 프로그램을 실행하는 동안 사용하기 위한 프로그램 및 데이터 저장용 DRAM을 포함할 수 있다.
대용량 저장 장치(1404)는 데이터, 프로그램, 및 다른 정보를 저장하고 이러한 데이터, 프로그램, 다른 정보에 버스(1414)를 통해 액세스 가능하게 하도록 구성되어 있는 임의의 유형의 저장 장치를 포함할 수 있다. 대용량 저장 장치(1404)는 예를 들어 솔리드 스테이트 드라이브, 하드디스크 드라이브, 자기디스크 드라이브, 광디스크 드라이브 등 중 하나 이상을 포함할 수 있다.
비디오 어댑터(1410) 및 I/O 인터페이스(1412)는 외부 입력 및 출력 장치를 프로세싱 유닛(1401)에 결합하기 위한 인터페이스를 제공한다. 도시된 바와 같이, 입력 및 출력 장치의 예로는 비디오 어댑터(1410)에 결합되어 있는 디스플레이(1416) 및 I/O 인터페이스(1412)에 결합되어 있는 마우스/키보드/프린터(1418)를 들 수 있다. 다른 장치들은 프로세싱 유닛(1401)에 결합될 수 있고, 부가의 또는 더 적은 수의 인터페이스 카드가 사용될 수 있다. 예를 들어, 범용 시리얼 버스(USB)(도시되지 않음)와 같은 시리얼 인터페이스를 사용하여 프린터용 인터페이스를 제공할 수 있다.
프로세싱 유닛(1401)은 또한 하나 이상의 네트워크 인터페이스를 포함하는데, 이것은 이더넷 케이블 등과 같은 유선 링크, 및/또는 무선 링크를 포함하여, 노드 또는 다른 네트워크(1420)에 액세스한다. 네트워크 인터페이스(1406)는 프로세싱 유닛(1401)이 네트워크(1420)를 통해 원격의 유닛과 통신할 수 있게 한다. 예를 들어, 네트워크 인터페이스(1406)는 하나 이상의 전송기/전송 안테나 및 하나 이상의 수신기/수신 안테나를 통해 무선 통신을 제공할 수 있다. 실시예에서, 프로세싱 유닛(1401)은 데이터를 처리하기 위해 근거리 통신망 또는 광대역 네트워크에 결합되며 다른 프로세싱 유닛, 인터넷, 원격 저장 설비 등과 같은 원격의 장치와 통신한다.
상세한 설명에 대해 상세하게 설명하였으나, 첨부된 특허청구범위에 정의된 바와 같은 본 개시의 정신 및 범주를 벗어남이 없이 다양한 변경, 대체 및 대안이 이루어질 수 있다는 것을 이해해야 한다. 또한, 당업자가 프로세스, 머신, 제조, 현재 존재하는 또는 나중에 개발될 장치, 수단, 방법, 또는 단계의 조성은 실질적으로 동일한 구성을 수행할 수 있거나 여기서 설명된 대응하는 실시예와 실질적으로 동일한 결과를 달성할 수 있을 때, 본 개시의 범위는 여기에 설명된 특정한 실시예에 제한되도록 의도되지 않는다. 따라서, 첨부된 특허청구범위는 이러한 프로세스, 머신, 제조, 장치, 수단, 방법 또는 단계의 조성을 그 범위 내에 포함하도록 의도된다.

Claims (25)

  1. 적응 스트리밍에 대한 세그먼트 통합 및 인증을 검증하는 방법으로서,
    데이터 처리 시스템에서 미디어 스트림의 세그먼트를 수신하는 단계;
    상기 데이터 처리 시스템이, 상기 세그먼트에 대한 다이제스트 또는 디지털 시그내처를 결정하는 단계; 및
    상기 데이터 처리 시스템이, 상기 다이제스트 또는 상기 디지털 시그내처를 정확한 다이제스트 또는 정확한 디지털 시그내처와 비교하여 상기 세그먼트가 변형되었는지를 판단하는 단계
    를 포함하는 세그먼트 통합 및 인증을 검증하는 방법.
  2. 제1항에 있어서,
    상기 정확한 다이제스트 또는 정확한 디지털 시그내처는 서버로부터 수신되는, 세그먼트 통합 및 인증을 검증하는 방법.
  3. 제2항에 있어서,
    상기 서버는 상기 미디어 스트림을 포함하는 복수의 세그먼트 각각에 대한 상기 정확한 다이제스트 또는 상기 정확한 디지털 시그내처의 데이터 스토어를 유지하는, 세그먼트 통합 및 인증을 검증하는 방법.
  4. 제1항에 있어서,
    상기 다이제스트는 암호 해시인, 세그먼트 통합 및 인증을 검증하는 방법.
  5. 제1항에 있어서,
    상기 디지털 시그내처는 메시지 인증 코드인, 세그먼트 통합 및 인증을 검증하는 방법.
  6. 제1항에 있어서,
    세그먼트 변형은 상기 미디어 스트림 내의 다른 세그먼트와 관련해서 상기 세그먼트의 시간 순서의 변화를 포함하는, 세그먼트 통합 및 인증을 검증하는 방법.
  7. 제1항에 있어서,
    상기 다이제스트가 상기 정확한 다이제스트에 일치하지 않을 때 또는 상기 디지털 시그내처가 상기 정확한 디지털 시그내처와 일치하지 않을 때 상기 세그먼트를 거부하는 단계
    를 더 포함하는 세그먼트 통합 및 인증을 검증하는 방법.
  8. 적응 스트리밍에 대한 세그먼트 통합 및 인증을 검증하기 위해 구성된 네트워크 구성요소로서,
    프로세서; 및
    상기 프로세서에 의한 실행을 위한 프로그래밍을 저장하는 컴퓨터 판독 가능형 저장 매체
    를 포함하며,
    상기 프로그래밍은,
    미디어 스트림의 세그먼트를 수신하고;
    상기 세그먼트에 대한 다이제스트 또는 디지털 시그내처를 결정하며; 그리고
    상기 다이제스트 또는 디지털 시그내처를 정확한 다이제스트 또는 정확한 디지털 시그내처와 비교하여 상기 세그먼트가 변형되었는지를 판단하는 명령을 포함하는, 네트워크 구성요소.
  9. 제8항에 있어서,
    상기 정확한 다이제스트 또는 정확한 디지털 시그내처는 서버로부터 수신되는, 네트워크 구성요소.
  10. 제9항에 있어서,
    상기 서버는 상기 미디어 스트림을 포함하는 복수의 세그먼트 각각에 대한 상기 정확한 다이제스트 또는 상기 정확한 디지털 시그내처의 데이터 스토어를 유지하는, 네트워크 구성요소.
  11. 제8항에 있어서,
    상기 다이제스트는 메시지 인증 코드인, 네트워크 구성요소.
  12. 제8항에 있어서,
    상기 다이제스트는 암호 해시인, 네트워크 구성요소.
  13. 제8항에 있어서,
    세그먼트 변형은 상기 미디어 스트림 내의 다른 세그먼트와 관련해서 상기 세그먼트의 시간 순서의 변화를 포함하는, 네트워크 구성요소.
  14. 제8항에 있어서,
    상기 프로그래밍은 상기 다이제스트가 상기 정확한 다이제스트에 일치하지 않을 때 또는 상기 디지털 시그내처가 상기 정확한 디지털 시그내처와 일치하지 않을 때 상기 세그먼트를 거부하는 명령
    을 더 포함하는 네트워크 구성요소.
  15. 적응 스트리밍에 대한 세그먼트 통합 및 인증을 검증하는 방법으로서,
    사용자 기기(UE)에서, 미디어 스트림의 세그먼트를 수신하는 단계 - 상기 미디어 스트림은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(dynamic adaptive straming over hypertext transfer protocol: DASH) 스트림의 복수의 세그먼트를 포함함 - ;
    상기 UE가, 상기 미디어 스트림의 세그먼트에 대한 다이제스트 또는 디지털 시그내처를 결정하는 단계;
    상기 UE가, 상기 다이제스트 또는 상기 디지털 시그내처를 정확한 다이제스트 또는 정확한 디지털 시그내처와 비교하는 단계; 및
    상기 UE가, 상기 세그먼트가 변형되었는지를 판단하는 단계
    를 포함하는 세그먼트 통합 및 인증을 검증하는 방법.
  16. 제15항에 있어서,
    상기 정확한 다이제스트 또는 정확한 디지털 시그내처는 신뢰 소스(trusted source)로부터 수신되는, 세그먼트 통합 및 인증을 검증하는 방법.
  17. 제15항에 있어서,
    상기 다이제스트는 메시지 인증 코드인, 세그먼트 통합 및 인증을 검증하는 방법.
  18. 제15항에 있어서,
    상기 다이제스트는 암호 해시인, 세그먼트 통합 및 인증을 검증하는 방법.
  19. 제18항에 있어서,
    상기 암호 해시는 보안 해시 알고리즘(secure hash algorithm: SHA)이며, 상기 SHA는 SHA-256 또는 SHA-512를 포함하는, 세그먼트 통합 및 인증을 검증하는 방법.
  20. 제15항에 있어서,
    상기 세그먼트가 변형되었는지를 판단하는 단계는,
    상기 미디어 스트림 내의 다른 세그먼트와 관련해서 상기 세그먼트의 시간 순서의 변화를 판단하는 단계
    를 포함하는, 세그먼트 통합 및 인증을 검증하는 방법.
  21. 적응 스트리밍에 대한 세그먼트 통합 및 인증을 검증하기 위해 구성된 사용자 기기로서,
    프로세서; 및
    상기 프로세서에 의한 실행을 위한 프로그래밍을 저장하는 컴퓨터 판독 가능형 저장 매체
    를 포함하며,
    상기 프로그래밍은,
    미디어 스트림의 세그먼트를 수신하고 - 상기 미디어 스트림은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(dynamic adaptive straming over hypertext transfer protocol: DASH) 스트림의 복수의 세그먼트를 포함함 - ;
    상기 미디어 스트림의 세그먼트에 대한 다이제스트 또는 디지털 시그내처를 결정하고;
    상기 다이제스트 또는 상기 디지털 시그내처를 정확한 다이제스트 또는 정확한 디지털 시그내처와 비교하며; 그리고
    상기 세그먼트가 변형되었는지를 판단하는 명령을 포함하는, 사용자 기기.
  22. 제21항에 있어서,
    상기 정확한 다이제스트 또는 정확한 디지털 시그내처는 신뢰 소스로부터 수신되는, 사용자 기기.
  23. 제21항에 있어서,
    상기 다이제스트는 메시지 인증 코드인, 사용자 기기.
  24. 제21항에 있어서,
    상기 다이제스트는 암호 해시인, 사용자 기기.
  25. 제21항에 있어서,
    상기 세그먼트가 변형되었는지를 판단하는 것은,
    상기 미디어 스트림 내의 다른 세그먼트와 관련해서 상기 세그먼트의 시간 순서의 변화를 판단하는 것
    을 포함하는, 사용자 기기.
KR1020147032794A 2012-04-25 2013-04-25 적응 스트리밍에 대한 세그먼트 통합 및 인증을 위한 시스템 및 방법 KR101630721B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261638332P 2012-04-25 2012-04-25
US61/638,332 2012-04-25
US13/870,890 2013-04-25
US13/870,890 US9635004B2 (en) 2012-04-25 2013-04-25 Systems and methods for segment integrity and authenticity for adaptive streaming
PCT/US2013/038292 WO2013163477A1 (en) 2012-04-25 2013-04-25 Systems and methods for segment integrity and authenticity for adaptive streaming

Publications (2)

Publication Number Publication Date
KR20150003865A true KR20150003865A (ko) 2015-01-09
KR101630721B1 KR101630721B1 (ko) 2016-06-15

Family

ID=49478572

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147032794A KR101630721B1 (ko) 2012-04-25 2013-04-25 적응 스트리밍에 대한 세그먼트 통합 및 인증을 위한 시스템 및 방법

Country Status (8)

Country Link
US (2) US9635004B2 (ko)
EP (2) EP3142329B1 (ko)
JP (2) JP2015519814A (ko)
KR (1) KR101630721B1 (ko)
CN (2) CN108259507B (ko)
ES (1) ES2611362T3 (ko)
PT (1) PT2842311T (ko)
WO (1) WO2013163477A1 (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3142329B1 (en) * 2012-04-25 2018-12-12 Huawei Technologies Co., Ltd. Systems and methods for segment integrity and authenticity for adaptive streaming
CN104854835B (zh) * 2013-01-17 2018-07-06 英特尔Ip公司 用于dash感知网络应用功能(d-naf)的装置和方法
US20140281556A1 (en) * 2013-03-14 2014-09-18 Qualcomm Incorporated Media presentation description verification
EP2979458A4 (en) 2013-07-25 2016-03-02 Huawei Tech Co Ltd SYSTEM AND METHOD FOR EFFICIENTLY CONTROLLING CLIENT BEHAVIOR IN ADAPTIVE FLOW DIFFUSION
US10506282B2 (en) * 2013-10-21 2019-12-10 Synamedia Limited Generating media signature for content delivery
US9571390B2 (en) * 2013-11-25 2017-02-14 Cisco Technology, Inc. Path optimization for adaptive streaming
EP3448042B1 (en) * 2013-11-27 2022-04-06 Interdigital Patent Holdings, Inc. Media presentation description
CN103747241A (zh) * 2013-12-23 2014-04-23 乐视致新电子科技(天津)有限公司 一种视频完整性的检测方法及装置
US10490022B2 (en) 2013-12-31 2019-11-26 Video Gaming Technologies, Inc. System and method for authenticating storage media within an electronic gaming system
WO2015137702A1 (en) * 2014-03-10 2015-09-17 Samsung Electronics Co., Ltd. Method and apparatus for transmitting messages to a dash client
CN105099796B (zh) * 2014-04-22 2018-07-20 深圳市志友企业发展促进中心 一种多媒体内容更改检测方法、装置及资源传播系统
DE102014226772A1 (de) * 2014-12-22 2016-06-23 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Senden und Verfifizieren einer Signatur
CN106034262B (zh) * 2015-03-13 2021-01-22 中兴通讯股份有限公司 自适应流媒体处理方法及装置
CN107567702B (zh) * 2015-04-24 2021-01-12 Vid拓展公司 在自适应流传送中检测中间人攻击
CN108885670B (zh) * 2016-03-15 2022-04-08 维萨国际服务协会 用于交互的验证密码
CN105848119A (zh) * 2016-03-22 2016-08-10 赵莉莉 提供短信接收确认显示的方法、移动终端、服务器和系统
CN107276969B (zh) * 2016-04-08 2019-11-22 杭州海康威视数字技术股份有限公司 一种数据的传输方法及装置
CN107404379A (zh) * 2016-05-18 2017-11-28 中兴通讯股份有限公司 一种流媒体文件的处理方法及装置
EP3497875B1 (en) * 2016-08-08 2023-12-13 Record Sure Limited A method of generating a secure record of a conversation
US11044304B2 (en) 2016-08-18 2021-06-22 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and method for selecting a content distribution network entity to improve resource utilization
US10284568B2 (en) * 2016-08-23 2019-05-07 Guardtime Ip Holdings Limited System and method for secure transmission of streamed data frames
US10356039B1 (en) 2016-09-30 2019-07-16 Amdocs Development Limited Apparatus, computer program, and method for utilizing a data structure to access fully qualified domain name information
CN110140335B (zh) * 2016-11-10 2022-08-12 瑞典爱立信有限公司 用于改进递送性能的资源分段
AU2018206462A1 (en) * 2017-01-06 2019-07-18 Veritonic, Inc. System and method for profiling media
US10715498B2 (en) * 2017-07-18 2020-07-14 Google Llc Methods, systems, and media for protecting and verifying video files
CN107612877B (zh) * 2017-07-20 2020-06-30 阿里巴巴集团控股有限公司 验证多媒体文件合法性的方法、装置和系统
US11134279B1 (en) * 2017-07-27 2021-09-28 Amazon Technologies, Inc. Validation of media using fingerprinting
CN109474563A (zh) * 2017-09-08 2019-03-15 阿里巴巴集团控股有限公司 文件流的处理、提供方法、客户端及服务器
US11025642B1 (en) * 2018-03-23 2021-06-01 Amazon Technologies, Inc. Electronic message authentication
CN108989326A (zh) * 2018-08-06 2018-12-11 上海艾策通讯科技股份有限公司 一种对比网络传输ts流媒体一致性的方法
US10860692B1 (en) * 2019-06-16 2020-12-08 Shmuel Ur Innovation Ltd. Digital media verification
CN112954371A (zh) * 2019-12-10 2021-06-11 德科仕通信(上海)有限公司 直播内容es特征码提取方法及直播内容一致性比对方法
US11151229B1 (en) 2020-04-10 2021-10-19 Avila Technology, LLC Secure messaging service with digital rights management using blockchain technology
US10873852B1 (en) 2020-04-10 2020-12-22 Avila Technology, LLC POOFster: a secure mobile text message and object sharing application, system, and method for same
CN111565331B (zh) * 2020-04-10 2022-05-31 苏州鑫竹智能建筑科技有限公司 一种无线传输视频图像数据的优化方法
WO2021257253A1 (en) 2020-06-17 2021-12-23 Commscope Technologies Llc Methods and systems for provisioning of parameter data of radios controlled by a spectrum access system
US11758220B2 (en) 2020-10-29 2023-09-12 Roku, Inc. Dynamic replacement of objectionable content in linear content streams
EP4256791A1 (en) * 2020-12-07 2023-10-11 ActiveVideo Networks, Inc. Systems and methods of alternative networked application services
US11711555B1 (en) * 2021-03-31 2023-07-25 Amazon Technologies, Inc. Protecting media content integrity across untrusted networks

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050097361A1 (en) * 2003-10-31 2005-05-05 John Apostolopoulos Method and apparatus for ensuring the integrity of data

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734819A (en) * 1994-10-12 1998-03-31 International Business Machines Corporation Method and apparatus for validating system operation
US5621793A (en) 1995-05-05 1997-04-15 Rubin, Bednarek & Associates, Inc. TV set top box using GPS
JPH09311854A (ja) 1996-05-22 1997-12-02 Mitsubishi Electric Corp 署名文書通信装置
US6009176A (en) * 1997-02-13 1999-12-28 International Business Machines Corporation How to sign digital streams
US6785815B1 (en) * 1999-06-08 2004-08-31 Intertrust Technologies Corp. Methods and systems for encoding and protecting data using digital signature and watermarking techniques
US6959384B1 (en) * 1999-12-14 2005-10-25 Intertrust Technologies Corporation Systems and methods for authenticating and protecting the integrity of data streams and other data
US6606660B1 (en) 1999-08-31 2003-08-12 Accenture Llp Stream-based communication in a communication services patterns environment
US7003667B1 (en) * 1999-10-04 2006-02-21 Canon Kabushiki Kaisha Targeted secure printing
KR100305964B1 (ko) * 1999-10-22 2001-11-02 구자홍 사용자 적응적인 다단계 요약 스트림 제공방법
JP3948595B2 (ja) * 2000-03-06 2007-07-25 Kddi株式会社 メッセージ認証装置
US20020165912A1 (en) 2001-02-25 2002-11-07 Storymail, Inc. Secure certificate and system and method for issuing and using same
US20030079222A1 (en) 2000-10-06 2003-04-24 Boykin Patrick Oscar System and method for distributing perceptually encrypted encoded files of music and movies
US20020081247A1 (en) * 2000-12-26 2002-06-27 Dodson Christopher E. Apparatus and method for producing amorphous silica ash
US7367045B2 (en) * 2002-03-16 2008-04-29 Trustedflow Systems, Inc. Trusted communications system
US7885197B2 (en) * 2003-11-17 2011-02-08 Intel Corporation System and method for measuring per node packet loss in a wireless network
WO2005111809A1 (ja) * 2004-05-13 2005-11-24 Matsushita Electric Industrial Co., Ltd. ファイル管理装置、ファイル管理方法、ファイル管理プログラム及びファイル管理プログラムを記録したコンピュータ読み取り可能な記録媒体
US20050281404A1 (en) * 2004-06-17 2005-12-22 Matsushita Electric Industrial Co., Ltd. Scalable streaming media authentication
US20060150055A1 (en) 2005-01-06 2006-07-06 Terayon Communication Systems, Inc. Adaptive information delivery system using FEC feedback
US7617231B2 (en) * 2005-12-07 2009-11-10 Electronics And Telecommunications Research Institute Data hashing method, data processing method, and data processing system using similarity-based hashing algorithm
US8572382B2 (en) 2006-05-15 2013-10-29 Telecom Italia S.P.A. Out-of band authentication method and system for communication over a data network
CN101110759A (zh) * 2006-07-20 2008-01-23 朗迅科技公司 用于因特网协议电视网络的对等文件下载系统
CN101051906B (zh) * 2007-05-14 2011-11-23 北京大学 发送、接收流式媒体的方法及流式媒体认证系统
US7873054B2 (en) * 2007-07-26 2011-01-18 Hewlett-Packard Development Company, L.P. Pattern matching in a network flow across multiple packets
JP5389347B2 (ja) 2007-10-23 2014-01-15 エヌ・ティ・ティ・ソフトウェア株式会社 メッセージ認証装置、認証センタ装置、及びメッセージ認証システム
US9143329B2 (en) * 2008-01-30 2015-09-22 Adobe Systems Incorporated Content integrity and incremental security
JP5045594B2 (ja) * 2008-07-25 2012-10-10 富士通株式会社 管理装置、管理方法、およびプログラム
US8996547B2 (en) * 2008-10-31 2015-03-31 Microsoft Technology Licensing, Llc Dynamic fragmentation of digital media
US8707404B2 (en) * 2009-08-28 2014-04-22 Adobe Systems Incorporated System and method for transparently authenticating a user to a digital rights management entity
US20110274162A1 (en) * 2010-05-04 2011-11-10 Minhua Zhou Coding Unit Quantization Parameters in Video Coding
EP2362651A1 (en) * 2010-02-19 2011-08-31 Thomson Licensing Multipath delivery for adaptive streaming
CN102143129B (zh) * 2010-05-26 2015-03-18 华为软件技术有限公司 超文本传输协议流媒体传输中实现业务保护的方法和系统
CN101902477B (zh) * 2010-07-26 2016-08-03 北京邦天信息技术有限公司 发送系统、接收系统、媒体流合法性的识别方法和系统
US9456015B2 (en) * 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
CN102137089B (zh) * 2010-11-01 2013-09-11 华为技术有限公司 验证流媒体内容完整性的方法、设备以及系统
US8467294B2 (en) * 2011-02-11 2013-06-18 Cisco Technology, Inc. Dynamic load balancing for port groups
US9026671B2 (en) * 2011-04-05 2015-05-05 Qualcomm Incorporated IP broadcast streaming services distribution using file delivery methods
JP2013168867A (ja) * 2012-02-16 2013-08-29 Canon Inc 画像処理装置、その制御方法およびプログラム
EP3142329B1 (en) * 2012-04-25 2018-12-12 Huawei Technologies Co., Ltd. Systems and methods for segment integrity and authenticity for adaptive streaming
US9348993B2 (en) * 2012-09-28 2016-05-24 Futurewei Technologies, Inc. Segment authentication for dynamic adaptive streaming
ES2645101T3 (es) * 2013-01-17 2017-12-04 Intel IP Corporation Autentificación de URL de contenidos para dash
US20140281556A1 (en) * 2013-03-14 2014-09-18 Qualcomm Incorporated Media presentation description verification
WO2015066066A1 (en) * 2013-10-28 2015-05-07 Futurewei Technologies, Inc. System and method for signaling and verifying url signatures for both url authentication and url-based content access authorization in adaptive streaming
EP3123383B1 (en) * 2014-03-24 2019-08-21 Huawei Technologies Co. Ltd. System and method for partial url signing with applications to dynamic adaptive streaming
WO2016205733A1 (en) * 2015-06-19 2016-12-22 Huawei Technologies Co., Ltd. Template uniform resource locator signing
GB2540993B (en) * 2015-08-04 2018-05-23 Ford Global Tech Llc A powertrain mount assembly
US9832123B2 (en) * 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050097361A1 (en) * 2003-10-31 2005-05-05 John Apostolopoulos Method and apparatus for ensuring the integrity of data

Also Published As

Publication number Publication date
EP2842311A1 (en) 2015-03-04
WO2013163477A1 (en) 2013-10-31
US10116452B2 (en) 2018-10-30
EP3142329B1 (en) 2018-12-12
EP3142329A1 (en) 2017-03-15
KR101630721B1 (ko) 2016-06-15
EP2842311A4 (en) 2015-04-15
US20130291082A1 (en) 2013-10-31
JP2016167890A (ja) 2016-09-15
CN104255009B (zh) 2018-04-20
PT2842311T (pt) 2016-12-27
CN108259507A (zh) 2018-07-06
JP2015519814A (ja) 2015-07-09
US20170180138A1 (en) 2017-06-22
EP2842311B1 (en) 2016-10-26
ES2611362T3 (es) 2017-05-08
CN104255009A (zh) 2014-12-31
US9635004B2 (en) 2017-04-25
CN108259507B (zh) 2020-12-08

Similar Documents

Publication Publication Date Title
KR101630721B1 (ko) 적응 스트리밍에 대한 세그먼트 통합 및 인증을 위한 시스템 및 방법
US9419797B2 (en) System, processing device, computer program and method, to transparently encrypt and store data objects such that owners of the data object and permitted viewers are able to view decrypted data objects after entering user selected passwords
US9215065B2 (en) Media player security for full length episodes
US8243924B2 (en) Progressive download or streaming of digital media securely through a localized container and communication protocol proxy
US8375420B2 (en) Challenge-response system and method
US11432039B2 (en) Systems and methods for data processing, storage, and retrieval from a server
US11218296B2 (en) Data de-duplication among untrusted entities
CN110662091B (zh) 第三方直播视频接入方法、存储介质、电子设备及系统
CN105978680B (zh) 一种加密钥的加密运算方法
US8307457B2 (en) Method and terminal for receiving rights object for content on behalf of memory card
EP4016969A1 (en) Methods for data processing, storage, and retrieval from a server
Storey The design and implementation of a security and containment platform for peer-to-peer media distribution

Legal Events

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

Payment date: 20190515

Year of fee payment: 4