KR102451242B1 - 방송 서비스 제공을 위한 방법 및 장치 - Google Patents

방송 서비스 제공을 위한 방법 및 장치 Download PDF

Info

Publication number
KR102451242B1
KR102451242B1 KR1020170178702A KR20170178702A KR102451242B1 KR 102451242 B1 KR102451242 B1 KR 102451242B1 KR 1020170178702 A KR1020170178702 A KR 1020170178702A KR 20170178702 A KR20170178702 A KR 20170178702A KR 102451242 B1 KR102451242 B1 KR 102451242B1
Authority
KR
South Korea
Prior art keywords
message
information
payload
signature
identifier
Prior art date
Application number
KR1020170178702A
Other languages
English (en)
Other versions
KR20190013419A (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 삼성전자주식회사
Priority to US16/048,899 priority Critical patent/US11172268B2/en
Priority to EP18840965.0A priority patent/EP3610651B1/en
Priority to PCT/KR2018/008701 priority patent/WO2019027236A1/en
Publication of KR20190013419A publication Critical patent/KR20190013419A/ko
Priority to US17/520,195 priority patent/US11483627B2/en
Application granted granted Critical
Publication of KR102451242B1 publication Critical patent/KR102451242B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key 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/3236Cryptographic 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 cryptographic hash functions
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 개시는 방송 서비스를 제공하기 위한 방법을 제공하며, 서명되어 전송될 메시지에 대한 정보를 포함하는 제1 메시지를 포함하는 UDP/IP 패킷을 전송하는 과정; 및 방송 서비스에 대한 정보 및 상기 방송 서비스에 대한 정보가 서명되었는지 여부를 나타내는 정보를 포함하는 제2 메시지를 포함하는 MMTP 패킷을 전송하는 과정; 을 포함하며, 상기 제1 메시지는 상기 서명되어 전송될 메시지의 서명을 검증하기 위해 필요한 키의 식별자, 상기 서명되어 전송될 메시지의 해시(hash)값을 계산하기 위해 사용되는 해쉬 알고리즘의 식별자를 포함한다.

Description

방송 서비스 제공을 위한 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING BROADCAST SERVICE}
본 개시는 방송 서비스 제공을 위한 방법 및 장치에 관한 것으로 더욱 상세하게는 방송 서비스 제공을 위한 보안 방법 및 장치에 관한 것이다.
방송 서비스 제공을 위해 각 서비스를 구성하는 컴포넌트들을 수신하고 이용하기 위한 정보를 제공할 수 있다. 이 때, 각 서비스를 구성하는 컴포넌트들을 수신하고 이용하기 위한 정보를 제공하는 과정에서 외부의 개입 등으로 인해 정보의 변경이나 오류가 발생할 수 있다. 수신자가 정보의 변경이나 오류가 발생한 것을 알지 못하는 경우 변경이나 오류가 발생한 정보를 프로세스하여 올바른 방송 서비스를 제공받지 못할 수 있다. 이를 방지하기 위해 방송 서비스 제공을 위한 보안 방법 및 장치가 요구된다.
본 개시는 방송 서비스 제공을 위한 방법 및 장치에 관한 것으로 더욱 상세하게는 방송 서비스 제공을 위한 보안 방법 및 장치를 제공한다.
본 개시는 방송 서비스를 제공하기 위한 방법을 제공하며, 서명되어 전송될 메시지에 대한 정보를 포함하는 제1 메시지를 포함하는 UDP/IP 패킷을 전송하는 과정; 및 방송 서비스에 대한 정보 및 상기 방송 서비스에 대한 정보가 서명되었는지 여부를 나타내는 정보를 포함하는 제2 메시지를 포함하는 MMTP 패킷을 전송하는 과정; 을 포함하며, 상기 제1 메시지는 상기 서명되어 전송될 메시지의 서명을 검증하기 위해 필요한 키의 식별자, 상기 서명되어 전송될 메시지의 해시(hash)값을 계산하기 위해 사용되는 해쉬 알고리즘의 식별자를 포함한다.
상기 방송 서비스에 대한 정보가 MPEG에서 정의된 형식인 경우, 상기 제 2 메시지는 MMT 형식의 메시지이고, 상기 방송 서비스에 대한 정보가 ATSC에서 정의된 형식인 경우, 상기 제 2 메시지는 ATSC 형식의 메시지일 수 있다.
상기 방송 서비스에 대한 정보가 서명되었는지 여부를 나타내는 정보는 1 비트의 플래그를 포함하고, 상기 플래그의 값이 1인 경우, 상기 방송 서비스에 대한 정보가 서명되었는지 여부를 나타내는 정보는 상기 방송 서비스에 대한 정보가 서명되었음을 나타낼 수 있다.
상기 제2 메시지는 상기 방송 서비스에 대한 정보가 서명된 경우 상기 서명을 확인하기 위한 정보를 더 포함하는 방송 서비스를 제공할 수 있다.
상기 서명은 상기 해쉬 알고리즘을 사용하여 해쉬 값을 계산하고, 상기 키를 사용하여 상기 해쉬 값을 암호화하여 형성될 수 있다.
본 개시는 방송 서비스를 수신하기 위한 방법을 제공하며, 서명되어 전송될 메시지에 대한 정보를 포함하는 제1 메시지를 포함하는 UDP/IP 패킷을 수신하는 과정; 및 방송 서비스에 대한 정보 및 상기 방송 서비스에 대한 정보가 서명되었는지 여부를 나타내는 정보를 포함하는 제2 메시지를 포함하는 MMTP 패킷을 수신하는 과정; 을 포함하며, 상기 제1 메시지는 상기 서명되어 전송될 메시지의 서명을 검증하기 위해 필요한 키의 식별자, 상기 서명되어 전송될 메시지의 해시(hash)값을 계산하기 위해 사용되는 해쉬 알고리즘의 식별자를 포함한다.
상기 방송 서비스에 대한 정보가 MPEG에서 정의된 형식인 경우, 상기 제 2 메시지는 MMT 형식의 메시지이고, 상기 방송 서비스에 대한 정보가 ATSC에서 정의된 형식인 경우, 상기 제 2 메시지는 ATSC 형식의 메시지일 수 있다.
상기 방송 서비스에 대한 정보가 서명되었는지 여부를 나타내는 정보는 1 비트의 플래그를 포함하고, 상기 플래그의 값이 1인 경우, 상기 방송 서비스에 대한 정보가 서명되었는지 여부를 나타내는 정보는 상기 방송 서비스에 대한 정보가 서명되었음을 나타낼 수 있다.
*상기 제2 메시지는 상기 방송 서비스에 대한 정보가 서명된 경우 상기 서명을 확인하기 위한 정보를 더 포함할 수 있다.
상기 해쉬 알고리즘을 사용하여 상기 제2 메시지의 제1 해쉬 값을 계산하고, 상기 키를 사용하여 상기 서명을 해석한 제2 해쉬 값을 얻는 과정; 및 상기 제1 해쉬 값 및 상기 제2 해쉬 값이 동일한 경우 상기 제2 메시지를 유효한 것으로 판단하는 과정을 더 포함할 수 있다.
본 개시에 따르면, 수신자가 정보의 변경이나 오류가 발생한 것을 알 수 있어 올바른 방송 서비스를 제공하거나 제공받을 수 있다.
도 1은 LLS 테이블을 포함하는 UDP/IP(User Datagram Protocol/Internet Protocol) 패킷을 도시한 도면이다.
도 2는 MMT 시그널링 메시지를 포함하는 MMTP(MPEG media transport protocol) 패킷을 도시한 도면이다.
도 3은 방송 서비스의 전송을 위한 시스템의 프로토콜 스택(stack) 개념도이다.
도 4는 ATSC 3.0 수신자 프로토콜 스택(stack)을 도시한 도면이다.
도 5는 송신 장치가 수신 장치에게 방송 서비스를 위한 메시지를 제공하는 방법의 일 실시예를 나타낸 순서도이다.
도 6은 디지털 서명을 하는 과정에 대해 개략적으로 나타낸 도면이다.
도 7은 수신 장치가 송신 장치로부터 방송 서비스를 위한 메시지를 수신하는 방법의 일 실시예를 나타낸 순서도이다.
도 8은 문서를 검증(verification)하는 과정에 대해 개략적으로 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 방송 서비스를 제공하는 송신 장치의 내부 구성을 도시한 장치도이다.
도 10은 본 발명의 일 실시예에 따른 방송 서비스를 수신하는 수신 장치의 내부 구성을 도시한 장치도이다.
도 11은 송신 장치가 수신 장치에게 방송 서비스를 위한 메시지를 제공하는 방법의 일 실시예를 나타낸 순서도이다.
도 12는 수신 장치가 송신 장치로부터 방송 서비스를 위한 메시지를 수신하는 방법의 일 실시예를 나타낸 순서도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다.
본 개시의 실시 예에서 ‘모듈’ 혹은 ‘부’는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의‘모듈’ 혹은 복수의‘부’는 특정한 하드웨어로 구현될 필요가 있는 ‘모듈’ 혹은 ‘부’를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
본 개시의 다양한 실시 예에서 사용될 수 있는 "포함한다" 또는"포함할 수 있다" 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시 예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 다양한 실시 예에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 개시의 다양한 실시 예에서 사용된 "제 1," "제2," "첫째," 또는 "둘째," 등의 표현들은 다양한 실시 예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 발명의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
본 개시의 다양한 실시예에서 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성 요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 개시의 다양한 실시예에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명의 다양한 실시 예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시의 다양한 실시예에서 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 다양한 실시 예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 다양한 실시 예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 도 1 내지 도 4를 참조하여 본 개시의 일 실시예에 따른 방송 서비스를 제공하기 위한 보안 방법을 설명한다.
도 1은 LLS 테이블을 포함하는 UDP/IP(User Datagram Protocol/Internet Protocol) 패킷을 도시한 도면이다. 도 2는 MMT 시그널링 메시지를 포함하는 MMTP(MPEG media transport protocol) 패킷을 도시한 도면이다. 도 3은 방송 서비스의 전송을 위한 시스템의 프로토콜 스택(stack) 개념도이다. 도 4는ATSC 3.0 수신자 프로토콜 스택(stack)을 도시한 도면이다.
서비스 시그널링은 방송 서비스의 발견(discovery) 및 기술(description)을 위한 정보를 제공하며, 저 레벨 시그널링 (LLS: Low Level Signaling) 및 서비스 계층 시그널링 (SLS: Service Layer Signaling)의 2개의 기능적 요소로 구성될 수 있다. 여기서 서비스는 시청자에게 제공되는 미디어 컴포넌트들의 집합일 수 있으며, 컴포넌트들은 다양한 형식의 미디어일 수 있다. 하나의 서비스는 연속적 혹은 간헐적으로 제공될 수 있으며 실시간 혹은 비실시간으로 제공될 수 있다. 실시간 서비스는 일련의 TV 프로그램들로 구성 될 수 있다.
저 레벨 시그널링(LLS)은 UDP 데이터그램에 포함되어 미리 정해진 IP 주소/포트 번호를 가지는 UDP/IP(User Datagram Protocol/Internet Protocol) 패킷으로 전송되는 제1 메시지를 의미할 수 있다. 저 레벨 시그널링 (LLS)은 도 1과 같이 UDP/IP 패킷의 UDP 데이터(103)에 LLS 테이블(LLS_table())로서 포함되어 전송될 수 있다. 도 1은 제1 메시지의 구조를 나타낸다.
서비스 계층 시그널링 (SLS)는 지상파 UHD 방송 서비스와 이를 구성하는 콘텐츠 컴포넌트들을 찾고 획득하기위한 MMT 메시지를 제공하는 MMTP(MPEG media transport protocol) 패킷으로 전송되는 제2 메시지를 의미할 수 있다. 서비스 계층 시그널링(SLS)은 도 2와 같이 MMTP 패킷의 MSG 페이로드(205)에 MMT 메시지(MMT message)로서 포함되어 전송될 수 있다. MMT 메시지와 MMT 시그널링 메시지는 본 명세서에서 같은 의미로 사용된다. 도 2는 제2 메시지의 구조를 나타낸다.
이하, 송신 장치가 수신 장치에 전송하는 제1 메시지에 대하여 설명한다. 여기서 송신장치는 방송 기지국일 수 있으며, 수신 장치는 사용자 기기일 수 있다.
저 레벨 시그널링 (LLS)은 도 1과 같이 UDP/IP 패킷의 UDP 데이터(103)에 LLS 테이블(LLS_table())로서 포함되어 전송될 수 있다. 저 레벨 시그널링을 전송하는 UDP/IP 패킷은 사전에 정의된 IP 주소와 포트 번호를 가질 수 있다. UDP/IP 패킷의 UDP 데이터(103)는 UDP/IP 패킷의 페이로드일 수 있다.
UDP/IP 패킷은 User Datagram Protocol/Internet Protocol를 이용하여 전송될 수 있다. 도 3 및 도 4는 방송 서비스의 전송 및 수신을 위한 시스템의 개념적 모델을 나타낸 도면이다. 도 3및 도 4는 방송 서비스를 전송하기 위한 2가지 방법을 포함한다.
도 3의 왼편에 해당하는 방법은 MPEG Media Transport (MMT)에 기반한 것으로 MMTP (MMT Protocol)을 사용하여 MPU (Media Processing Unit)을 전송한다.
도 3의 중앙에 해당하는 방법은 MPEG DASH 에 기반한 DASH-IF 프로파일을 기본으로 한다. ROUTE (Real-time Object delivery over Unidirectional Transport) 프로토콜을 사용하여 DASH 세그먼트를 전송한다. 수신기에서 수신했을 때, 실시간으로 화면에 렌더링되지 않아도 되는 콘텐츠, 예를 들자면, a) 다운로드 애플리케이션, b) 앱 기반 컴포넌트에 속하는 연속/비연속된 미디어, 또는 c) ESG(Electroninc Service Guide) 또는 EA(Emergency Alert) 정보를 포함하는 파일들은 ROUTE 프로토콜을 통하여 전송된다.
시그널링은 MMT 혹은 ROUTE 프로토콜을 사용하여 전송될 수 있으며, MMT 혹은 ROUTE로 전송되는 시그널링을 획득하기 위한 부트스트랩 시그널링 정보는 서비스 리스트 테이블 (SLT: Service List Table)을 통하여 제공될 수 있다.
서비스가 브로드밴드를 통해 전송된다는 것은 하나 혹은 그 이상의 프로그램 컴포넌트가 방송망이 아닌 브로드밴드를 통해 전송된다는 것을 의미하며, 브로드밴드에서는 MPEG DASH의 DASH-IF 프로파일이 HTTP/TCP/IP 상에서 사용된다. 미디어 파일은 ISO Base Media File Format(ISO BMFF)에 기반을 둔 DASH-IF 프로파일이며, 방송망과 브로드밴드망을 통한 미디어 전송, 캡슐화와 동기화에 사용된다.
ATSC 3.0 서비스는 도 4와 같이 물리 계층(physical layer), 전달 계층(delivery layer) 및 서비스 관리 계층(Service Management layer)의 세 가지 기능 레이어를 사용하여 제공된다.
물리 계층은 시그널링, 서비스 고지 및 IP 패킷 스트림이 방송 물리(broadcast physical) 레이어 및 / 또는 브로드 밴드 물리(broadband physical) 레이어를 통해 전송되는 메커니즘을 제공한다.
전달 계층은 객체(object) 및 객체 흐름 전송 기능(object flow transport functionality )을 제공한다. MPEG 미디어 전송 프로토콜 (MMTP) 또는 ROUTE (Real-time Object delivery over Unidirectional Transport) 프로토콜에서 정의된 대로, 방송 물리 계층을 통한 UDP / IP 멀티 캐스트에서 작동되어 가능하며, 브로드밴드 물리 계층을 통한 TCP/IP 유니 캐스트의 HTTP 프로토콜에 의해 가능하다.
서비스 관리 계층은 기본적으로 선형(linear) TV 및 / 또는 HTML5 응용 프로그램 서비스와 같은 다양한 유형의 서비스가 물리 계층 및 전달 계층을 통하여 전달되어 제공 및 실제 계층에서 처리될 수 있도록 서비스 검색(discovery) 및 수집(acquisition) 수단을 지원한다.
이하, 저 레벨 시그널링(LLS)이 포함하는 정보에 대하여 설명한다.
저 레벨 시그널링은 기본적인 서비스 리스트 구성 및 각 서비스에 대한 서비스 계층 시그널링(SLS)를 획득하기 위해 필요한 정보를 제공할 수 있다. 지상파 UHDTV 방송 시스템에서 저 레벨 시그널링에 속하는 시그널링의 종류에는 SCM(Signing Configuration Message), CCM(Certification Collection Message), SLT(Service List Table), RRT(Rating Region Table), SystemTime, CAP(Common Alerting Protocol), VIT(Version Information Table), CPT(Content Protection Table) 등이 있을 수 있으며, LLS 테이블에는 상기 시그널링 중 적어도 하나를 포함할 수 있다.
저 레벨 시그널링은 서비스 계층 시그널링(SLS)으로 전송되는 메시지 중에 서명(signed)되어 전송되는 메시지에 대한 정보 및/ 또는 키 관리를 위한 정보를 포함할 수 있다.
저 레벨 시그널링을 포함하는 UDP/IP 패킷들은 아래 [표1]과 같은 형태의 비트스트림 구조로 포맷화되어 전송될 수 있다. [표1]은 LLS데이터의 바이너리 래퍼(binary wrapper)일 수 있다. 저 레벨 시그널링을 포함하는 UDP/IP 패킷의 첫번째 바이트는 해당 저 레벨 시그널링로 전송되는 테이블의 종류를 의미하는 ID값을 의미할 수 있다.
Figure 112017128538144-pat00001
Figure 112017128538144-pat00002
상기 [표2]는 UDP/IP 패킷에 포함된 LLS 테이블의 시멘틱(sementics)을 나타낸다.
LLS_table_id는 LLS 테이블의 바디(body)에서 전달될 테이블의 타입을 식별하는 8 비트의 부호없는 정수를 나타낼 수 있으며, LLS_group_id는현재 LLS_table을 서비스들의 그룹과 연관시킬 수 있는 8 비트의 부호 없는 정수를 나타낼 수 있다. LLS_group_id의 값은 이 방송 스트림 내에서 고유할 수 있다. group_count_minus1은 현재 물리 계층 파이프(PLP; Physical Layer Pipe)로 전송되는 LLS 테이블 그룹들의 총 수보다 하나 적은 값을 가리키는 8 비트의 부호 없는 정수를 나타낼 수 있다. 여기서 LLS 테이블 그룹은 동일한 LLS_group_id를 가지는 LLS_table들의 집합을 의미한다. group_count_minus1의 값이 0인 경우, 현재 물리 계층 파이프(PLP)에 LLS 테이블 그룹이 하나 존재함을 나타내며, 값이 1인 경우, 현재 물리 계층 파이프(PLP)에LLS 테이블 그룹이 두 개 존재함을 나타낼 수 있다. LLS_table_version은 LLS_table_id와 LLS_group_id의 조합에 의해 식별된 테이블의 어떤 데이터가 변경 될 때마다 1씩 증가하는 8 비트의 부호 없는 정수일 수 있다. LLS_table_version 이 그 최대 값인 0xFF에서 1이 증가할 경우에 그 값은 0x00설정될 수 있다. 방송 스트림을 공유하는 하나 이상의 공급자가 있을 때, LLS_table()은 LLS_table_id와 LLS_group_id의 조합으로 식별될 수 있다.
저 레벨 시그널링에 속하는 시그널링의 종류 중 시그널링 구성 메시지(SCM; Signing Configuration Message)에 대하여 이하 설명한다.
시그널링 구성 메시지(SCM)는 서비스 계층 시그널링(SLS)으로 전송되는 메시지 중에 서명되어 전송되는 메시지에 대한 정보 및 이러한 서명을 검증하기 위한 정보를 포함할 수 있다. 상기 서명되어 전송되는 메시지에 대한 정보는 서명되어 전송되는 메시지 리스트일 수 있다.
구체적으로 시그널링 구성 메시지는 다음과 같은 구성을 포함할 수 있다.
시그널링 구성 메시지는 시그널링 구성 메시지에서 기술되는 서명되어 전송되는 메시지에 적용된 기본 보안 구성(default security configuration)을 포함할 수 있다. 시그널링 구성 메시지는, 서명되어 전송되는 메시지의 해시(hash) 값을 계산하기 위한 기본(default) 해쉬 알고리즘의 식별자인 Default_hash_algorithm, 서명되어 전송되는 메시지의 서명을 검증(verify)하기 위한 기본(default) 키(key)의 식별자인 Default_key_id 또는 서명되어 전송되는 메시지의 서명을 계산하기 위한 기본(default) 서명 알고리즘의 식별자인 Default_signature_algorithm 를 포함할 수 있다.
또한, 시그널링 구성 메시지는 서명되어 전송되는 메시지의 서비스의 식별자를 포함할 수 있다. 또한, 각 서비스 별로 각각, 서명되어 전송되는 메시지의 식별자, 서명되어 전송되는 메시지의 기본 보안 구성(default security configuration) 또는 서명되어 전송되는 메시지의 보안 구성을 포함할 수 있다.
서명되어 전송되는 메시지의 보안 구성은 해쉬 알고리즘(hash argorithm), 키 아이디(key id) 또는 서명 알고리즘(signature algorithm)를 포함할 수 있다. 해쉬 알고리즘(hash argorithm)은 기본(default) 해쉬 알고리즘이 변경된 경우 포함될 수 있다. 키 아이디(key id)는 기본(default) 키가 변경된 경우 포함될 수 있다. 서명 알고리즘(signature algorithm)은 기본(default) 서명 알고리즘이 변경된 경우 포함될 수 있다.
상기 서명되어 전송되는 메시지의 식별자는 ROUTE(Real-Time Object Delivery over Unidirectional Transport) 프로토콜의 경우, 바이너리 코딩(binary coding) (예를 들어, 1: USBD, 2: S-TSID 등), 또는 문자열(string of characters) (예를 들어, USBD, S-TSID 등)일 수 있다. 상기 서명되어 전송되는 메시지의 식별자는 MMT(MPEG Media Transport) 프로토콜의 경우, packet_id, message_id 또는 atsc3_message_content_type (message_id = 0x8100일 때)중 적어도 하나일 수 있다.
또한, 시그널링 구성 메시지는 LLS 테이블 그룹의 식별자인 LLS_group_id를 포함할 수 있다. 하나의 주파수 안에 여러 방송사가 주파수를 분담(share)할 수 있으며, 이 경우 하나의 주파수 안에서 서로 다른 방송사별로 LLS 시그널링을 제공할 수 있다. 이 경우에 LLS 테이블 그룹은 하나의 방송사가 제공하는 LLS 테이블들의 그룹을 의미할 수 있다. 시그널링 구성 메시지는 각 LLS 테이블 그룹 별로 보호되어 전송되는 정보가 무엇인지 나타내는 정보를 포함할 수 있다. 시그널링 구성 메시지는 각 LLS_group_id별로, 해당 LLS 테이블 그룹의 LLS 테이블에 적용되는 기본 보안 구성(default security configuration), LLS 테이블의 식별자 또는 보안 구성을 포함할 수 있다.
본 개시의 다른 실시 예에 따르면, 시그널링 구성 메시지는 서명된 LLS 테이블에 대한 정보만 운반하고, 각 서비스에 대한 정보는 서비스 리스트 테이블(SLT; Service List Table)에서 서비스 요소(service element )의 서브-요소(sub-element)에서 제공 될 수 있다. 서비스 리스트 테이블은 기본적인 서비스 목록 구성 및 서비스 계층 시그널링 획득을 위한 부트스트랩 제공에 사용되는 시그널링 정보를 포함하는 테이블일 수 있다.
저 레벨 시그널링에 속하는 시그널링의 종류 중 증명 수집 메시지(CCM; Certification Collection Message)에 대하여 이하 설명한다.
증명 수집 메시지는 적어도 하나의 증명서(certificate)를 포함할 수 있고, 각 증명서는 현재 확인 키(current verification key)를 포함할 수 있다.
본 개시의 다른 실시 예에 따르면, 증명 수집 메시지는 증명서(certificate)를 사용하여 검증될 수 있는 서명에 적용되는 보안 구성 정보(해쉬 알고리즘, 키 아이디 또는 서명 알고리즘 등)를 더 포함 할 수 있다.
서비스 계층 시그널링은 서비스 별로, 수신 장치가 각 서비스를 구성하는 컴포넌트들을 수신하고 이용하기 위한 정보를 제공할 수 있다. 서비스 계층 시그널링은 지상파 UHD 방송 서비스와 이를 구성하는 콘텐츠 컴포넌트들을 찾고 획득하기 위한 정보를 제공하는 시그널링일 수 있다.
서비스 계층 시그널링은 서비스 계층 시그널링에 포함되는 정보에 따라 다양한 형식의 메시지로 전송될 수 있다. 콘텐츠를 MMTP (MPEG Media Transport Protocol)을 사용하여 MPU(Media Processing Unit)로 전송하는 서비스의 경우, 서비스 계층 시그널링은 MMT 시그널링 메시지를 MMTP/UDP/IP 상으로 전송할 수 있다. 서비스 계층 시그널링(SLS)은 도 2와 같이 MMTP 패킷의 페이로드에 MMT 메시지로서 포함되어 전송될 수 있다. 도 2는 제2 메시지의 구조를 나타낸다.
각 서명에 대한 보안 구성 정보 및/또는 타이밍 정보는 서명과 함께 전달될 수 있다.
ROUTE프로토콜과 같은 객체 기반의 전송 프로토콜이 사용될 경우에, 텍스트(XML) 시그널링은 Secure MIME(S/MIME)을 사용하여 객체(object) 또는 객체들의 패키지(package)로 전달될 수 있다. 객체들의 패키지가 사용되는 경우 텍스트 문서(XML document)의 각 해쉬는 서명되고 해당 텍스트 문서(XML document)에 첨부되거나, 패키지 내의 모든 텍스트 문서(XML document)들의 해쉬들은 한번에 서명되어 S/MIME 래퍼(wrapper)에 의해 전달될 수 있다.
MMT 등의 실시간 스트리밍 프로토콜이 사용될 경우에, 텍스트 데이터(XML) 또는 바이너리 시그널링(binary signaling)은 바이너리 래퍼(binary wrapper)로 캡슐화될 수 있으며, [표3]은 SLS 메시지의 제1 형식 바이너리 래퍼(binary wrapper)일 수 있다.
Figure 112017128538144-pat00003
[표4] 및 [표5]는 mmt_atsc3_message의 시멘틱(sementics)이다.
Figure 112017128538144-pat00004
Figure 112017128538144-pat00005
mmt_atsc3_message()는 다음과 같은 구성 요소를 포함할 수 있다. mmt_atsc3_message()를 고유하게 식별해야하는 16 비트 부호없는 정수 필드인 message_id를 포함할 수 있다. mmt_atsc3_message()에서 전달된 정보가 변경 될 때마다 1 씩 증가하는 8 비트의 부호 없는 정수 필드인 version을 포함할 수 있다. version 필드가 최대 값 255에 도달하면 값은 0으로 돌아올 수 있다. mmt_atsc3_message()의 길이를 바이트 단위로 제공하는 32 비트의 부호 없는 정수 필드인 length를 포함할 수 있다. length필드는 다음 필드의 시작 부분부터 mmt_atsc3_message()의 마지막 바이트까지 카운팅할 수 있다. mmt_atsc3_message()의 페이로드를 서비스 리스트 테이블(SLT)에 포함되는serviceId 속성에서 식별된 서비스와 연관시키는 16 비트의 부호 없는 정수 필드인 service_id를 포함할 수 있다. mmt_atsc3_message()의 페이로드의 메시지 내용 타입을 고유하게 식별하는 16 비트의 부호없는 정수 필드인 atsc3_message_content_type를 포함할 수 있다. service_id 와 atsc_message_content_type 및 존재하는 경우URI에 의해 식별되는 mmt_atsc3_message의 내용에 변경 사항이 있을 때마다 1 씩 증가하는 8 비트의 부호없는 정수 필드인 atsc3_message_content_version 을 포함할 수 있다. Atsc3_message_content_version 필드가 최대 값에 도달하면, 그 값은 0으로 변경(wrap around)될 수 있다. atsc3_message_content_byte에서 데이터에 적용되는 압축 타입을 식별하는 8 비트의 부호없는 정수 필드인 atsc3_message_content_compression를 포함할 수 있다. 1 비트 불린(boolean) 플래그가 '1'로 설정되면 authendication_data() 구조에 요소들이 존재함을 나타내고, '0'으로 설정되면 authendication_data() 구조에 요소들이 존재하지 않음을 나타내는 authentication_data_present 를 포함할 수 있다. 즉, authentication_data_present는 mmt_atsc3_message에 포함된 정보가 서명되었는지 여부를 나타낼 수 있다. 서비스 전체에서 메시지 페이로드를 고유하게 식별하는 URI의 길이를 제공하는 8 비트의 부호없는 정수 필드인 URI_length를 포함할 수 있다. URI가 없으면 URI_length 필드의 값은 0으로 설정될 수 있다. 종료 널 문자(terminating null character)를 제외한이 메시지에 의해 운반된 내용과 관련된 URI의 a UTF-8 character 를 포함하는 8 비트의 부호없는 정수 필드인 URI_byte를 포함할 수 있다. mmt_atsc3_message에 의해 운반되는 내용의 길이를 제공하는 32 비트의 부호없는 정수 필드인 atsc3_message_content_length를 포함할 수 있다. mmt_atsc3_message에 의해 운반되는 내용의 바이트(byte)를 포함하는 8 비트의 부호없는 정수 필드인 atsc3_message_content_byte를 포함할 수 있다.
[표6]은 authentication_data_present가 mmt_atsc3_message에 포함된 정보가 서명되어 있음을 나타내는 경우, mmt_atsc3_message에 포함될 수 있는authentication_data의 구조를 나타낸다.
Figure 112017128538144-pat00006
[표7]은 authentication_data()의 시멘틱(sementics)을 나타낸다.
Figure 112017128538144-pat00007
authentication_data()는 다음과 같은 필드를 포함할 수 있다. content_hash 필드에 포함된 atsc3_message_content()의 해시를 생성하는데 사용되는 해시 알고리즘을 고유하게 식별하는 8 비트의 부호없는 정수 필드인 content_hash_algorithm_identifier 를 포함할 수 있다. content_hash 필드에 존재하는 해시 데이터의 바이트(byte) 수를 나타내는 8 비트의 부호없는 정수 필드인 content_hash_length를 포함할 수 있다. content_hash_length 의 값은 content_hash_algorithm_identifier 필드가 가리키는 해시 알고리즘에 의해 생성된 해쉬의 길이보다 커서는 안되며 8보다 작아서는 안된다. 콘텐츠 해시가 해시 알고리즘에 의해 생성된 전체 길이 해시로부터 생략되는 경우 content_hash_length 의 값은 해시 알고리즘에 의해 생성된 해쉬의 길이보다 작을 수 있다. content_hash_algorithm_identifier 필드에서 나타내지는 해쉬 알고리즘을 사용하여 계산되고, content_hash_length로 생략되는, atsc3_message_content의 암호화 해시를 전달하는 콘텐츠 해시의 바이트를 포함하는 8 비트의 부호없는 정수 필드인 content_hash_byte 를 포함할 수 있다. 서명 필드에서 전달되는, authentication_data ()의 서명을 계산하는 데 사용되는 알고리즘을 고유하게 식별하는 8 비트의 부호없는 정수 필드인 signature_algorithm_identifier를 포함할 수 있다. 다음으로 오는 signature_key_identifier 필드의 바이트(byte) 수를 나타내는 부호없는 8 비트의 정수 필드인 signature_key_identifier_length를 포함할 수 있다. 상기 signature_key_identifier필드는 후행하는 signature_key_identifier_length개의 signature_key_identifire_byte들을 의미한다. 이 때 signature_key_identifier_length 필드의 값은 실제 공개 키의 전체 길이이거나 그보다 작은 값일 수 있다. 서명 필드에 포함된 서명을 확인하는 데 필요한 공개 키에 대한 잘린 식별자의 바이트(byte)를 포함하는 8 비트의 부호없는 정수 필드인 signature_key_identifier_byte를 포함할 수 있다. signature_key_identifier_byte 필드들로 구성된 sinature_key_identifier는 신뢰 관리 메커니즘에 의해 전달된 공개 키의 잘린 식별자와 일치해야한다. signature_algorithm_identifier 필드에 지정된 알고리즘을 사용하여 계산된 디지털 서명을 전달하는 서명의 바이트(byte)를 포함하는 8 비트의 부호없는 정수 필드인 signature_byte를 포함할 수 있다. 서명 알고리즘에 대한 입력 데이터는 signature_byte들을 제외한 전체 authentication_data ()가 될 수 있다. signature_byte의 총 수는 서명 알고리즘과 사용 중인 키에 의해 결정될 수 있다.
본 개시의 다른 실시예에 따르면, 서명 알고리즘에 대한 입력은 signature_byte를 제외한 전체 mmt_atsc3_message () 일 수 있다.
MMT등의 실시간 스트리밍 프로토콜에서 바이너리 시그널링(binary signaling)은 서명을 포함하는 바이너리 래퍼(binary wrapper)로 캡슐화될 수 있으며, [표8]은 서비스 계층 시그널링의 제2 형식의 바이너리 래퍼(binary wrapper)일 수 있다.
Figure 112017128538144-pat00008
mmt_signed_message()가 전송되는 것은 mmt_signed_message()에 포함된 정보가 서명되어 있다는 것을 의미하며, 수신 장치는 mmt_signed_message()를 수신함으로써 mmt_signed_message()에 포함된 정보가 서명되어 있다는 것은 알 수 있다. 즉, mmt_signed_message() 자체는 mmt_signed_message()에 포함된 정보가 서명되어 있는지 여부를 나타낼 수 있다.
*[표8]에서 message_id 는mmt_signed_message ()를 유일하게 식별하는 16 비트의 부호없는 정수 필드일 수 있다. [표8]에서 message()는 MMT signaling message일 수 있다.
[표9]는 MMT signaling message의 일 예시를 나타내는 표이다.
Figure 112017128538144-pat00009
[표10]은 mmt_signed_message()에 포함되는authentication_data()의 구조를 나타낸다.
Figure 112017128538144-pat00010
[표10]의 시멘틱(sementics)는 [표7]의 시멘틱(sementics)과 동일할 수 있다.
이하, 도 5 내지 도 8을 참고하여, 방송 서비스를 제공하기 위한 방법 및 방송 서비스를 수신하기 위한 방법을 설명한다.
도 5는 송신 장치가 수신 장치에게 방송 서비스를 위한 메시지를 제공하는 방법의 일 실시예를 나타낸 순서도이다. 도 6은 디지털 서명을 하는 과정에 대해 개략적으로 나타낸 도면이다. 도 7은 수신 장치가 송신 장치로부터 방송 서비스를 위한 메시지를 수신하는 방법의 일 실시예를 나타낸 순서도이다. 도 8은 문서를 검즘(verification)하는 과정에 대해 개략적으로 나타낸 도면이다.
먼저 도 5를 참고하여 송신 장치에서 수신 장치로 방송 서비스를 위한 메시지를 제공하는 방법을 설명한다.
송신 장치는 인풋 메시지를 확인할 수 있다(501). 여기서 인풋 메시지란 상술한 HELD, MPD, MMT 시그널링 메시지 등의, 수신 장치가 각 서비스를 구성하는 컴포넌트들을 수신하고 이용하기 위한 정보일 수 있다.
*송신 장치는 인풋 메시지의 형식을 확인할 수 있다(502). 송신 장치는 인풋 메시지가 [표9]의 MMT signaling message에 해당되는 정보로 예시되어 있는, 예를 들어, PA 테이블, MP 테이블 등에 해당되는 MPEG 형식인 지 확인할 수 있다. 또는 송신 장치는 인풋 메시지가 [표 4]의 atsc3_message_content_type에 포함되는 정보로 예시되어 있는, 예를 들어, HELD, MPD 등에 해당되는지 확인할 수 있다.인풋 메시지가 atsc3_message_content_type에 포함되는 정보로 확인되는 경우 제1 형식인 mmt_atsc3_message ()에 인풋 메시지를 캡슐화하고(506), 인풋 메시지가 MMT signaling message에 해당되는 정보로 확인되는 경우 제2 형식인 mmt_signed_message()에 인풋 메시지를 캡슐화할 수 있다(509).
이때, 송신 장치는 인풋 메시지가 서명할 메시지인지 확인할 수 있다(503, 507). 즉, 송신 장치는 인풋 메시지를 서명하여 전송할지 확인할 수 있다. 인풋 메시지가 서명할 메시지로 확인되는 경우, mmt_atsc3_message() 또는 mmt_signed_message()에 캡슐화하기 전에 인풋 메시지에 서명할 수 있다(506, 508). 송신 장치는 서명에 사용될 인증서를 결정할 수 있다. 송신 장치는 인풋 메시지의 해쉬 값을 해쉬 함수를 사용하여 계산하여 서명을 형성할 수 있다. 송신 장치는 서명에 사용된 해쉬 함수 및/ 또는 인증서를 포함하는 저 레벨 시그널링 메시지를 형성할 수 있다.
송신 장치는 제1 형식 또는 제2 형식에 캡슐화한 메시지를 수신 장치에게 전송할 수 있다(510). 제1 형식 또는 제2 형식에 캡슐화한 메시지는 제2 메시지일 수 있다. 제2메시지에 형성된 서명을 첨부하여 같이 전송할 수 있으며, 또는 서명을 포함하는 별도의 전용 인증 메시지를 형성하여 전송할 수 있다. 송신 장치는 제1 메시지를 전송하기 전에 제1 메시지를 수신 장치에게 전송할 수 있다. 제1 메시지는 저 레벨 시그널링 테이블을 포함하는 메시지일 수 있다.
이상, 도 5를 참고하여 송신 장치에서 수신 장치로 방송 서비스를 위한 메시지를 제공하는 방법의 일 예를 설명하였으나,도 5의 각 단계의 순서는 이에 한정되지 않으며 실시예에 따라 순서가 바뀔 수 있고, 일부 단계는 실시예에 따라 생략될 수 있다. 또한, 일부 단계는 통합되어 하나의 단계로 수행될 수도 있다.
여기서 서명이란, 디지털 서명(digital signature)으로, 공용 키(public key) 시스템에서 송신자(서명자)를 확인하고 송신자가 당해 전자 문서에 서명을 하였음을 나타내어 신원을 증명하기 위해 사용하는, 당해 전자 문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보일 수 있다. 또는 서명은 전용 메시지롤 별도로 전송될 수도 있다. 송신자가 자신의 개인 키(private key)로 암호화한 전자 문서를 수신자가 송신자의 공용 키(public key)로 해독할 수 있다. 서비스를 구독하는 수신자는 송신자의 공용 키를 가지고 있을 수 있다.
디지털 서명은 3개의 알고리즘으로 구성될 수 있다. 상기 3개의 알고리즘은 공개 키 쌍을 생성하는 키 생성 알고리즘, 송신자의 개인 키(private key)를 사용하여 서명을 생성하는 알고리즘, 그리고 송신자의 공개 키를 사용하여 서명을 검증하는 알고리즘일 수 있다.
도 6을 참고하면, 서명하는 과정(signing)은, 전자 문서를 해쉬 함수(hash function)을 통해 해시(hash) 값을 계산하고, 이러한 해쉬 값을 송신자의 개인 키로 암호화하여 서명(signature)을 형성하는 과정을 포함할 수 있다. 이러한 서명은 해당 문서에 첨부되거나 논리적으로 결합되어 전송될 수 있다. 이때 증명서(certification)도 해당 전자 문서와 함께 전송될 수 있다.
이하, 도 7을 참고하여, 수신 장치가 송신 장치로 부터 방송 서비스를 위한 메시지를 수신하는 방법을 설명한다.
수신 장치는 수신된 메시지를 확인할 수 있다(701). 여기서 수신된 메시지는 송신 장치가 수신 장치로 전송한 제1 메시지 또는 제2 메시지일 수 있다.
수신 장치는 수신된 메시지의 형식을 확인할 수 있다. 수신 장치는 수신된 메시지가 제2 형식 메시지인 mmt_signed_message() 형식인지(702) 제1 형식 메시지인 mmt_atsc3_message () 형식인지(703) 확인할 수 있다. 도 7에서는 제2 형식인지 확인하고(702) 제1형식인지 확인(703)하는 순서로 도시되어 있으나, 순서는 변경될 수 있으며, 동시에 제1 형식인지 제2 형식인지 판단될 수도 있다.
수신 장치는 수신된 메시지가 제1 형식도, 제2 형식도 아닌 경우 수신된 메시지를 프로세스한다(704).
수신 장치는 수신된 메시지가 제1 형식 또는 제2 형식인 경우 수신된 메시지가 서명되어 있는지 확인할 수 있다(705). 수신된 메시지가 서명되어있지 않은 경우 수신된 메시지의 페이로드에서 메시지를 추출하여 프로세스한다(706).
수신 장치는 수신된 메시지가 서명되어 있는 경우 버퍼에 저장할 수 있다. 수신 장치는 수신된 메시지가 서명되어 있는 경우 수신된 메시지의 페이로드에서 메시지를 추출하여(707) 서명을 검증하는 과정을 수행할 수 있다(708).
도 8을 참고하면, 문서를 검증(verification)하는 과정은, 수신된 문서의 데이터를 해쉬 함수를 사용하여 해쉬 값을 계산하고, 수신된 문서의 서명을 송신자의 공용 키를 사용하여 복호화한 해쉬 값과 비교하여, 두 값이 같은 경우 서명이 유효한 것으로 확인하는 과정을 포함할 수 있다.
다시 도 7을 보면, 수신 장치는 해쉬 함수를 사용하여 추출된 메시지의 해쉬 값인 제1 해쉬 값을 계산할 수 있다(708). 해쉬 함수는 상기 수신된 메시지에 포함되어있을 수도 있고, 수신 장치가 상기 수신된 메시지의 전, 후로 수신한 저 레벨 시그널링 메시지에 포함되어있을 수도 있다. 상기 해쉬 함수는 송신 장치가 상기 수신된 메시지의 해쉬값을 계산하는데 사용한 해쉬 함수와 동일할 수 있다. 수신 장치는 인증서를 얻고 서명된 메시지를 식별하기 위해 저 레벨 시그널링 메시지를 수신 및 프로세스할 수 있다.
수신 장치는 수신된 메시지에 첨부된 암호화된 해쉬 값을 공용 키로 복호화한 제2 해쉬값을 계산할 수 있다(708). 여기서 암호화된 해쉬 값은 상기 수신된 메시지의 서명을 의미할 수 있다. 공용 키는 확인 키(verification key)라고도 하며, 수신장치는 공용 키를 포함한 인증서를 수신할 수 있다. 수신 장치는 공용 키 및/또는 인증서를 저 레벨 시그널링 메시지를 통해 수신할 수 있다.
수신 장치는 제1 해쉬 값과 제2 해쉬 값이 일치하는지 확인할 수 있다(708). 제1 해쉬 값과 제2 해쉬 값이 동일하면 서명이 올바른 것이고 값이 서로 다르거나 변환에 오류가 있으면 서명이 틀린 것으로 판단할 수 있다. 서명이 틀린 경우 메시지는 수신 과정에서 변경이나 오류가 있는 것으로 판단하여 수신된 메시지를 프로세스하지 않고 폐기할 수 있다(709). 서명이 올바른 것으로 판단되는 경우 메시지를 프로세스할 수 있다(710).
이상, 도 7을 참고하여 수신 장치가 송신 장치로 부터 방송 서비스를 위한 메시지를 수신하는 방법의 일 예를 설명하였으나,도 7의 각 단계의 순서는 이에 한정되지 않으며 실시예에 따라 순서가 바뀔 수 있고, 일부 단계는 실시예에 따라 생략될 수 있다. 또한, 일부 단계는 통합되어 하나의 단계로 수행될 수도 있다.
수신 장치는 수신된 메시지가 서명된 메시지인지 판단하는 과정에서 이전에 수신한 저 레벨 시그널링 메시지를 이용할 수 있다. 저 레벨 시그널링 메시지에는 서명되어 전송되는 메시지에 대한 정보가 포함되어 있으며, 수신 장치는 수신한 저 레벨 시그널링 메시지에 포함되어있는 정보를 통하여 서명되어 전송되는 메시지를 미리 알 수 있으므로, 이 후에 수신되는 메시지가 서명된 메시지인지 여부를 수신된 메시지를 프로세스하지 않고 알 수 있다. 따라서 메시지 처리 속도를 향상시킬 수 있으며, 불필요한 자원의 낭비를 감소시킬 수 있다. 또한 하나의 서비스는 실시간 스트리밍 컨텐츠와 상시 실시간 스트리밍 컨텐츠와 관련된 파일들을 동시에 제공할 수 있다. 이 경우에 상기 서비스를 제공하는 시스템은 실시간 스트리밍을 위한 전송 프로토콜과 파일 전송을 위한 전송 프로토콜을 별도로 운용할 수 있다. 이 때 서명을 처리하기 위한 프로세스는 전송 프로토콜에 따라 다소 상이할 수 있으나, 이를 위한 공통적인 정보는 각각의 전송 프토로콜이 아닌 저 레벨 시그널링 메시지로 전달하는 것이 전송 효율 측면에서 바람직하다 할 수 있다.
도 9는 본 발명의 일 실시예에 따른 방송 서비스를 제공하는 송신 장치의 내부 구성을 도시한 장치도이다.
도 9를을 참조하면, 도시된 송신 장치(transmitting device)(900)는 제1 송신기(first transmitter)(902), 제1 수신기(firsr receiver)(904) 및 제1 제어기(first controller)(906)를 포함한다. 송신 장치(900)는 방송 기지국일 수 있다.
상기 제1 제어기(906)는 송신 장치(900)의 전반적인 동작을 제어한다. 특히 제1 제어기(906)는 본 발명의 일 실시예에 따른 제1 메시지 및 제2 메시지의 전송과 관련된 전반적인 동작을 수행하도록 제어한다. 여기서 제1 메시지 및 제2 메시지의 전송과 관련된 전반적인 동작에 대해서는 도 1 내지 도 5에서 설명한 바와 동일하므로, 여기서는 그 상세한 설명을 생략하도록 한다.
상기 제1 송신기(902)는 상기 제1 제어기(906)의 제어에 따라 각종 메시지 등을 전송한다. 여기서 상기 제1 송신기(902)가 전송하는 각종 메시지 등은 도 1 내지 도 5에서 설명한 바와 동일하므로, 여기서는 그 상세한 설명을 생략하도록 한다.
상기 제1 수신기(904)는 상기 제1 제어기(906)의 제어에 따라 각종 메시지 등을 수신한다. 여기서 상기 제1 수신기(904)가 수신하는 각종 메시지 등은 도 1 내지 도 5에서 설명한 바와 동일하므로, 여기서는 그 상세한 설명을 생략하도록 한다.
도 10은 본 발명의 일 실시예에 따른 방송 서비스를 수신하는 수신 장치의 내부 구성을 도시한 장치도이다.
도 10을 참조하면, 도시된 수신 장치(receiving device)(1000)는 제2 송신기(second transmitter)(1002), 제2 수신기(second receiver)(1004) 및 제2 제어기(second controller)(1006)를 포함한다.
상기 제2 제어기(1006)는 수신 장치(1000)의 전반적인 동작을 제어한다. 특히 상기 제2 제어기(1006)는 본 발명의 실시예에 따른 제1 메시지 및 제2 메시지의 수신과 관련된 전반적인 동작을 수행하도록 제어한다. 여기서 제1 메시지 및 제2 메시지의 수신과 관련된 전반적인 동작에 대해서는 도 1 내지 도 4, 및 도 6에서 설명한 바와 동일하므로, 여기서는 그 상세한 설명을 생략하도록 한다.
상기 제2 송신기(1002)는 상기 제2 제어기(1006)의 제어에 따라 각종 메시지 등을 전송한다. 여기서 상기 제2 송신기(1002)가 전송하는 각종 메시지 등은 도 1 내지 도 4, 및 도 6에서 설명한 바와 동일하므로, 여기서는 그 상세한 설명을 생략하도록 한다.
상기 제2 수신기(1004)는 상기 제2 제어기(1006)의 제어에 따라 각종 메시지 등을 수신한다. 여기서 상기 제2 수신기(1004)가 수신하는 각종 메시지 등은 도 1 내지 도 4, 및 도 6에서 설명한 바와 동일하므로, 여기서는 그 상세한 설명을 생략하도록 한다.
본 발명의 특정 측면들은 또한 컴퓨터 리드 가능 기록 매체(computer readable recording medium)에서 컴퓨터 리드 가능 코드(computer readable code)로서 구현될 수 있다. 컴퓨터 리드 가능 기록 매체는 컴퓨터 시스템에 의해 리드될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 상기 컴퓨터 리드 가능 기록 매체의 예들은 리드 온니 메모리(read only memory: ROM, 이하 ROM이라 칭하기로 한다)와, 랜덤-접속 메모리(random access memory: RAM, 이하 RAM이라 칭하기로 한다)와, 컴팩트 디스크- 리드 온니 메모리(compact disk-read only memory: CD-ROM)들과, 마그네틱 테이프(magnetic tape)들과, 플로피 디스크(floppy disk)들과, 광 데이터 저장 디바이스들, 및 캐리어 웨이브(carrier wave)들(상기 인터넷을 통한 데이터 송신과 같은)을 포함할 수 있다. 상기 컴퓨터 리드 가능 기록 매체는 또한 네트워크 연결된 컴퓨터 시스템들을 통해 분산될 수 있고, 따라서 상기 컴퓨터 리드 가능 코드는 분산 방식으로 저장 및 실행된다. 또한, 본 발명을 성취하기 위한 기능적 프로그램들, 코드, 및 코드 세그먼트(segment)들은 본 발명이 적용되는 분야에서 숙련된 프로그래머들에 의해 쉽게 해석될 수 있다.
또한 본 발명의 일 실시예에 따른 장치 및 방법은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 임의의 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 콤팩트 디스크(compact disk: CD), DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 본 발명의 일 실시예에 따른 방법은 제어부 및 메모리를 포함하는 컴퓨터 또는 휴대 단말에 의해 구현될 수 있고, 상기 메모리는 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다.
따라서, 본 발명은 본 명세서의 임의의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다
또한 본 발명의 일 실시예에 따른 장치는 유선 또는 무선으로 연결되는 프로그램 제공 장치로부터 상기 프로그램을 수신하여 저장할 수 있다. 상기 프로그램 제공 장치는 상기 프로그램 처리 장치가 기 설정된 컨텐츠 보호 방법을 수행하도록 하는 지시들을 포함하는 프로그램, 컨텐츠 보호 방법에 필요한 데이터 등을 저장하기 위한 메모리와, 상기 그래픽 처리 장치와의 유선 또는 무선 통신을 수행하기 위한 통신부와, 상기 그래픽 처리 장치의 요청 또는 자동으로 해당 프로그램을 상기 송수신 장치로 전송하는 제어부를 포함할 수 있다.
이하, 본 개시에 따른 다른 실시예에 대하여 설명한다.
서비스 계층 시그널링은 서비스 별로, 수신 장치가 각 서비스를 구성하는 컴포넌트들을 수신하고 이용하기 위한 정보를 제공할 수 있다. 이 때, 서비스 계층 시그널링 메시지 별로 서명을 해서 전송할 수도 있고, 복수의 서비스 계층 시그널링 메시지를 한번에 서명하여 전송할 수도 있다. 이때, 복수의 서비스 계층 시그널링 메시지의 서명에 대한 보안 구성 정보 및/또는 타이밍 정보는 루프(loop)형태로 하나의 메시지로 한번에 전송될 수 있다.
[표11]은 복수의 서비스 계층 시그널링 메시지의 서명에 대한 정보를 포함하는 mmt_authentication_message()를 나타낸다. mmt_authentication_message()는 mmt_atsc3_message또는 mmt_signed_message에 포함되어 전송되거나, mmt_authentication_message()는 mmt_atsc3_message 및 mmt_signed_message와 별도로 전송될 수 있다.
Figure 112017128538144-pat00011
[표12]는 mmt_authentication_message()의 시멘틱(sementics)를 나타낸다.
Figure 112017128538144-pat00012
mmt_authentication_message()는 다음과 같은 요소를 포함할 수 있다. mmt_authentication_message ()를 고유하게 식별하는 16 비트의 부호없는 정수 필드인 message_id 를 포함할 수 있다. 인증 sub_table을 고유하게 식별해야하는 16 비트의 부호없는 정수 필드인 authentication_group_id를 포함할 수 있다. 시그널링 메시지의 해쉬를 생성하기 위해 사용 해쉬 알고리즘을 message_hash 필드에서 유일하게 식별할 수 있는 8 비트의 부호없는 정수 필드인 message_hash_algorithm_identifier를 포함할 수 있다. message_hash 필드에 존재하는 해쉬 데이터의 바이트 수를 나타내는 8 비트의 부호없는 정수 필드인 message_hash_length를 포함할 수 있다. message_hash_length 값은 message_hash_algorithm_identifier 필드에 의해 표시된 해쉬 알고리즘에 의해 생성된 해쉬의 길이보다 커서는 안되며 8보다 작아서는 안된다. message_hash_length 값은 mmt_authentication_message()에 포함된 해쉬가 해쉬 알고리즘에 의해 생성된 전체 길이 해쉬의 일부만을 포함한 경우, 해쉬 알고리즘에 의해 생성된 해쉬의 전체 길이보다 작을 수 있다.
또한, mmt_authentication_message()는 서명 필드에서 전달된 서명을 계산하는데 사용되는 알고리즘을 고유하게 식별하는 8 비트의 부호없는 정수 필드인 signature_algorithm_identifier를 포함할 수 있다. mmt_authentication_message ()의 해쉬 수를 고유하게 식별하는 8 비트의 부호없는 정수 필드인 number_of_hashes를 포함할 수 있다. 뒤 이은 해쉬 값과 관련된 시그널링 메시지가 어떻게 위치되고 식별되는지를 나타내는 8 비트의 부호없는 정수 필드인 reference_type을 포함할 수 있다.
reference_type는 다음 같이 코딩될 수 있다. reference_type값이 0인 경우, 시그널링 메시지는 동일한 packet_id를 갖는 동일한 MMTP 세션 상에 위치하며, 제 1 및 제 2 referece_byte 및 자기 자신에 의해 전달되는 message_id 값에 의해 식별될 수 있다. reference_length 필드는 2로 설정될 수 있다. reference_type값이 1인 경우, 시그널링 메시지는 제 1 및 제 2 reference_byte에서 운반된 packet_id와 동일한 MMTP 세션 상에 위치하며, 제 3 및 제 4 referece_bytes 및 자기 자신에 의해 전달되는 message_id 값에 의해 식별될 수 있다. reference_length 필드는 4로 설정될 수 있다. reference_type값이 2인 경우, 시그널링 메시지는 11 번째 및 12 번째 reference_byte에 포함 된 packet_id와 함께 처음 10 개의 reference_byte에 있는 MMTP 세션에 위치하며 13 번째 및 14 번째 referece_bytes에 있는 message_id 값과 message_hash에 의해 식별될 수 있다. reference_length 필드는 14로 설정될 수 있다. reference_type값이 3인 경우, 시그널링 메시지는 mmt_atsc_message이며, 동일한 packet_id를 갖는 동일한 MMTP 세션에 위치하고, 첫 번째와 두 번째 referece_byte에서 운반되는 atsc_message_content_type 값 및 message_hash에 의해 식별될 수 있다. reference_length 필드는 2로 설정될 수 있다. reference_type값이 4인 경우, 시그널링 메시지는 첫 번째 및 두 번째 reference_byte에서 전달된 packet_id와 동일한 MMTP 세션에있는 mmt_atsc_message이며 세 번째 및 네 번째 referece_bytes 및 자체 self_hash에서 전달 된 atsc_message_content_type 값으로 식별될 수 있다. reference_length 필드는 4로 설정될 수 있다. reference_type값이 5인 경우, 시그널링 메시지는 11 번째 및 12 번째 reference_byte에서 운반된 packet_id와 함께 처음 10 개의 reference_byte에 포함된 MMTP 세션에 위치한 mmt_atsc_message이며 13 번째 및 14 번째 referece_bytes에 있는 atsc_message_content_type 값과 message_hash에 의해 식별될 수 있다. reference_length 필드는 14로 설정될 수 있다.
또한, mmt_authentication_message()는 다음과 같은 요소를 포함할 수 있다. 다음 참조 필드의 길이(바이트)를 지정하는 8 비트의 부호없는 정수 필드인 reference_length를 포함할 수 있다. 순서로 참조 필드를 특정하는 8비트의 reference_byte를 포함할 수 있다. 참조 필드의 구문과 의미는 reference_type 필드에서 식별되는 참조 메커니즘에 의해 정의될 수 있다. content_hash_algorithm_identifier 필드에 표시된 해쉬 알고리즘을 사용하여 계산된 atsc3_message_content의 암호화 해쉬는 content_hash_length개의 부호없는 8 비트 정수 필드 message_hash_byte 를 사용하여 전달될 수 있다. 다음 signature_key_identifier 필드의 바이트 수를 나타내는 부호없는 8 비트의 정수 필드인 signature_key_identifier_length를 포함할 수 있다. 서명 필드에 포함된 서명을 확인하는데 필요한 공용 키 식별자의 전체 혹은 일부를 포함하는 signature_key_identifier_length개의 부호없는 8 비트 정수 필드 signature_key_identifier_byte를 포함할 수 있다. signature_key_identifier_byte 필드들에 포함된 연속된 바이트들은 신뢰 관리 메커니즘에 의해 전달된 공용 키의 절단 식별자와 일치해야 한다. signature_algorithm_identifier 필드에 지정된 알고리즘을 사용하여 계산된 디지털 서명을 전달하는 서명의 바이트를 포함하는 8 비트의 부호없는 정수 필드인 signature_byte를 포함할 수 있다. 서명 알고리즘에 대한 입력 데이터는 signature_byte를 제외한 전체 mmt_authentication_message()가 될 수 있다. 존재하는 서명 바이트 수는 서명 알고리즘과 사용 중인 키에 의해 결정될 수 있다.
해쉬 알고리즘에 대한 입력은 전체 메시지 혹은 메시지의 일부가 될 수 있다. 이 때 메시지의 해시는 message_id, 버전 및 길이 필드를 제외한 오로지 message_payload로 부터 계산될 수 있다.
다음 [표13]은 상술한 mmt_atsc3_message()의 다른 실시 예이다.
Figure 112017128538144-pat00013
[표13]에 나타낸 각 필드의 용법은 [표14]의 필드들을 제외하고는 [표5]에 상술한 용법과 동일할 수 있다. [표14]는 mmt_atsc3_message의 시멘틱(sementics)이다.
Figure 112017128538144-pat00014
상술한 atsc3_signature_byte의 용법은 atsc3_message_content_compression 필드의 값으로 식별되는 압축 알고리즘(무압축 포함)이 atsc3_message_content_byte와 atsc3_signature_byte에 모두 적용되는 것으로 기술되어있지만, 구현에 따라 별도의 압축 알고리즘(무압축 포함)들이 적용될 수 있으며 이를 나타내기 위한 필드가 추가 될 수 있다.
상기 [표13]에 나타낸 실시 예에서 수신기가 mmt_atsc3_message()를 수신하였을 때 atsc3_signature_length 필드의 값을 확인하여 상기 mmt_atsc3_message() 에 디지털 서명이 적용되었는지 여부를 판단할 수 있다. 보다 자세하게는 상기 atsc3_signature_length 필드의 값이 0일 경우에는 상기 mmt_atsc3_message() 에 디지털 서명이 적용되지 않았음을 알 수 있으며, 상기 atsc3_signature_length 필드의 값이 0보다 클 경우에는 상기 mmt_atsc3_message() 에 디지털 서명이 적용되었음을 알 수 있다.
다음 [표15]는 상술한 mmt_signed_message()의 다른 실시 예이다. [표16]은 mmt_signed_message의 시멘틱(sementics)이다.
Figure 112017128538144-pat00015
Figure 112017128538144-pat00016
상술한 mmt_signed_message()의 용법은 atsc3_signature_compression 필드의 값으로 식별되는 압축 알고리즘(무압축 포함)이 atsc3_signature_byte에만 적용되는 것으로 기술되어있지만, 구현에 따라 message()에도 별도 혹은 atsc3_signature_byte에 적용된 것과 동일한 압축 알고리즘(무압축 포함)들이 적용될 수 있으며 이를 나타내기 위한 필드가 추가 될 수 있다.
본 발명의 일 실시 예에서 mmt_signed_message()는 서명된 다양한 카테고리의 MMT 시그널링 메시지를 전송하는데 사용될 수 있다. 일 예로 2가지 카테고리의 MMT 시그널링 메시지를 사용하는 MMT 기반 디지털 방송 시스템을 고려한다. 상기 2가지 카테고리는 일 예로 일반적인 스트리밍 서비스를 위한 정보를 포함한 시그널링을 포함하는 제 1 카테고리와 특정 시스템에 특화된 정보를 포함한 시그널링을 포함하는 제 2 카테고리라 할 수 있다. 상술한 실시 예들에서 MPEG-defined 메시지는 상기 제 1 카테고리에 속하며, mmt_atsc3_message는 상기 제 2 카테고리에 속한다할 수 있다. 또한, 예를 들어, mmt_signed_message()의 상술한 실시예 중에서 상기 [표 8]은 상기 제1 카테고리에 속한다고 할 수 있으며, 상기 [표 14]는 상기 제2 카테고리에 속한다고할 수 있다. 이 때 각 카테고리는 MMT 시그널링에 포함된 message_id 필드 값의 범위에 의해서 결정 될 수 있다. 일 예로 message_id 값이 0x0000 ~ 0x7FFF 범위의 값일 경우에는 해당 메시지가 제 1 카테고리에 속한다고 판단할 수 있으며, 상기 message_id 값이 0x8000 ~ 0xFFFF 범위의 값일 경우에는 해당 메시지가 제 2 카테고리에 속한다고 판단할 수 있다. 이 때, 개별 메시지의 식별은 message_id의 값에 따른다. 이하, 도 11을 참고하여, 방송 서비스를 제공하기 위한 방법을 설명한다. 도 11은 송신 장치가 수신 장치에게 방송 서비스를 위한 메시지를 제공하는 방법의 일 실시예를 나타낸 순서도이다. 앞서 설명한 실시예와 동일한 부분에 대한 설명은 생략한다.
도 11을 참조하면, 송신 장치는 인풋 메시지를 확인할 수 있고(1101), 인풋 메시지의 형식을 확인할 수 있다(1102). 인풋 메시지가 MPEG 형식(제 1 카테고리)에 속한 메시지는 서명이 필요하지 않은 경우 그대로 전송되거나(1107), 서명이 필요한 경우(1107), 서명되어(1108) mmt_signed_message로 캡슐화되어(1109) 서명과 함께 전송된다(1110). 또한 MPEG 형식이 아니라 제 2 카테고리에 속한 메시지는 mmt_atsc3_message로 캡슐화되어 전송되거나(1103), 서명이 필요한 경우(1104) 서명되어(1105) mmt_signed_message로 다시 한 번 캡슐화되어(1106) 서명과 함께 전송된다(1110).
이하, 도 12를 참고하여, 방송 서비스를 수신하기 위한 방법을 설명한다. 도 12는 수신 장치가 송신 장치로부터 방송 서비스를 위한 메시지를 수신하는 방법의 일 실시예를 나타낸 순서도이다. 앞서 설명한 실시예와 동일한 부분에 대한 설명은 생략한다.
수신 장치는 수신된 인풋 메시지의 message_id 값을 확인하여(1201) 상기 수신된 메시지가 서명된 메시지인지 아닌지를 판단할 수 있다(1202). 여기서 mmt_signed_message 서명된 메시지를 나타낼 수 있다. 수신된 메시지가 서명되지 않은 메시지일 경우에는 상기 message_id 필드 값을 사용하여 상기 수신된 메시지가 MPEG-defined 메시지(제1 카테고리)인지 mmt_atsc3_message(제2 카테고리)인지 판단하고(1206), 각 형식에 맞는 프로세싱을 통해 메시지의 내용을 처리할 수 있다. 상기 수신된 메시지가 mmt_atsc3_message(제2 카테고리)가 아닌 경우 수신된 메시지를 프로세스하며(1209), 상기 수신된 메시지가 mmt_atsc3_message(제2 카테고리)인 경우 페이로드의 메시지를 추출하여(1208), 추출된 메시지를 프로세스할 수 있다(1210).
상기 수신된 메시지가 서명된 메시지일 경우에는(1202), 페이로드의 메시지를 추출하여(1203) 서명을 검증하는 단계를 수행할 수 있다(1204). 서명을 검증하는 단계는 앞서 설명한 실시예와 동일하므로 설명을 생략한다. 서명을 검증한 이후에 서명이 검증되지 않으면 수신된 메시지를 폐기하면(1205), 서명이 검증되면 상기 수신된 메시지가 mmt_atsc3_message(제2 카테고리)인지 판단하여(1207), 상술한 서명되지 않은 메시지의 처리 방식과 동일한 방법으로 메시지의 내용을 처리할 수 있다.
또한, 이상에서는 본 개시의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
900: 송신 장치
902: 제1 송신기
904: 제1 수신기
906: 제1 제어기
1000: 수신 장치
1002: 제2 송신기
1004: 제2 수신기
1006: 제2 제어기

Claims (16)

  1. 송신 디바이스에 의해 방송 서비스를 제공하기 위한 방법으로서,
    패킷 헤더 및 패킷 페이로드를 포함하는 제1 패킷을 전송하는 단계를 포함하고,
    상기 패킷 페이로드는 제1 메시지를 포함하고,
    상기 제1 메시지는:
    상기 제1 메시지의 식별자를 나타내는 정보,
    상기 제1 메시지의 버전을 나타내는 정보,
    상기 제1 메시지의 길이와 관련된 정보, 및
    상기 제1 메시지의 메시지 페이로드를 포함하고,
    상기 제1 메시지의 메시지 페이로드는:
    MMT(Moving Picture Experts Group, MPEG, Media Transport) 시그널링 메시지인 제2 메시지,
    상기 제2 메시지에 대한 서명의 적어도 하나의 바이트를 포함하는 정보, 및
    상기 서명의 데이터의 길이를 나타내는 정보를 포함하고,
    상기 제2 메시지는:
    상기 제2 메시지의 식별자를 나타내는 정보,
    상기 제2 메시지의 버전을 나타내는 정보,
    상기 제2 메시지의 길이와 관련된 정보, 및
    상기 제2 메시지의 메시지 페이로드를 포함하고,
    상기 제2 메시지의 메시지 페이로드는:
    서비스 리스트 테이블(SLT) 내에서 주어진 서비스식별자(serviceId) 속성 정보 내에서 식별되는 서비스를 상기 제2 메시지의 메시지 페이로드와 연관시키기 위한 정보,
    상기 방송 서비스에 대한 시그널링 정보, 및
    상기 제2 메시지의 메시지 페이로드 내의 메시지 컨텐트의 타입과 관련된 정보를 포함하는,
    방법.
  2. 제1 항에 있어서,
    저 레벨(low level) 시그널링 메시지인 제3 메시지를 포함하는 제2 패킷을 전송하는 단계를 더 포함하고,
    상기 제3 메시지는 상기 제2 메시지에 대한 상기 서명의 적어도 하나의 바이트를 포함하는 정보를 식별하기 위한 키의 식별자, 및 상기 제2 메시지의 해쉬(hash) 값을 계산하기 위한 해쉬 알고리즘의 식별자를 포함하는,
    방법.
  3. 제1 항에 있어서,
    상기 제2 메시지 내의 시그널링 정보는 ATSC(advanced television systems committee) 3.0 서비스에 대해 특정한,
    방법.
  4. 제2 항에 있어서,
    상기 제2 메시지에 대한 상기 서명은 상기 해쉬 알고리즘을 사용하여 상기 해쉬 값을 계산하고, 그리고 상기 키를 사용하여 상기 해쉬 값을 암호화하는 것에 의해 형성되는,
    방법.
  5. 수신 디바이스에 의해, 방송 서비스를 수신하기 위한 방법으로서,
    패킷 헤더 및 패킷 페이로드를 포함하는 제1 패킷을 수신하는 단계를 포함하고,
    상기 패킷 페이로드는 제1 메시지를 포함하고,
    상기 제1 메시지는:
    상기 제1 메시지의 식별자를 나타내는 정보,
    상기 제1 메시지의 버전을 나타내는 정보,
    상기 제1 메시지의 길이와 관련된 정보, 및
    상기 제1 메시지의 메시지 페이로드를 포함하고,
    상기 제1 메시지의 메시지 페이로드는:
    MMT(Moving Picture Experts Group, MPEG, Media Transport) 시그널링 메시지인 제2 메시지,
    상기 제2 메시지에 대한 서명의 적어도 하나의 바이트를 포함하는 정보, 및
    상기 서명의 데이터의 길이를 나타내는 정보를 포함하고,
    상기 제2 메시지는:
    상기 제2 메시지의 식별자를 나타내는 정보,
    상기 제2 메시지의 버전을 나타내는 정보,
    상기 제2 메시지의 길이와 관련된 정보, 및
    상기 제2 메시지의 메시지 페이로드를 포함하고,
    상기 제2 메시지의 메시지 페이로드는:
    서비스 리스트 테이블(SLT) 내에서 주어진 서비스식별자(serviceId) 속성 정보 내에서 식별되는 서비스를 상기 제2 메시지의 메시지 페이로드와 연관시키기 위한 정보,
    상기 방송 서비스에 대한 시그널링 정보, 및
    상기 제2 메시지의 메시지 페이로드 내의 메시지 컨텐트의 타입과 관련된 정보를 포함하는,
    방법.
  6. 제5 항에 있어서,
    저 레벨(low level) 시그널링 메시지인 제3 메시지를 포함하는 제2 패킷을 수신하는 단계를 더 포함하고,
    상기 제3 메시지는 상기 제2 메시지에 대한 상기 서명의 적어도 하나의 바이트를 포함하는 정보를 식별하기 위한 키의 식별자 및 상기 제2 메시지의 해쉬(hash) 값을 계산하기 위한 해쉬 알고리즘의 식별자를 포함하는,
    방법.
  7. 제5 항에 있어서,
    상기 제2 메시지 내의 시그널링 정보는 ATSC(advanced television systems committee) 3.0 서비스에 대해 특정한,
    방법.
  8. 제6 항에 있어서,
    상기 제2 메시지에 대한 상기 서명은 상기 해쉬 알고리즘을 사용하여 상기 해쉬 값을 계산하고, 그리고 상기 키를 사용하여 상기 해쉬 값을 암호화하는 것에 의해 형성되는,
    방법.
  9. 방송 서비스를 제공하기 위한 송신 디바이스로서,
    송수신기; 및
    상기 송수신기에 연결된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는 패킷 헤더 및 패킷 페이로드를 포함하는 제1 패킷을 전송하도록 구성되고,
    상기 패킷 페이로드는 제1 메시지를 포함하고,
    상기 제1 메시지는:
    상기 제1 메시지의 식별자를 나타내는 정보,
    상기 제1 메시지의 버전을 나타내는 정보,
    상기 제1 메시지의 길이와 관련된 정보, 및
    상기 제1 메시지의 메시지 페이로드를 포함하고,
    상기 제1 메시지의 메시지 페이로드는:
    MMT(Moving Picture Experts Group, MPEG, Media Transport) 시그널링 메시지인 제2 메시지,
    상기 제2 메시지에 대한 서명의 적어도 하나의 바이트를 포함하는 정보, 및
    상기 서명의 데이터의 길이를 나타내는 정보를 포함하고,
    상기 제2 메시지는:
    상기 제2 메시지의 식별자를 나타내는 정보,
    상기 제2 메시지의 버전을 나타내는 정보,
    상기 제2 메시지의 길이와 관련된 정보, 및
    상기 제2 메시지의 메시지 페이로드를 포함하고,
    상기 제2 메시지의 메시지 페이로드는:
    서비스 리스트 테이블(SLT) 내에서 주어진 서비스식별자(serviceId) 속성 정보 내에서 식별되는 서비스를 상기 제2 메시지의 메시지 페이로드와 연관시키기 위한 정보,
    상기 방송 서비스에 대한 시그널링 정보, 및
    상기 제2 메시지의 메시지 페이로드 내의 메시지 컨텐트의 타입과 관련된 정보를 포함하는,
    송신 디바이스.
  10. 제9 항에 있어서,
    상기 적어도 하나의 프로세서는 저 레벨(low level) 시그널링 메시지인 제3 메시지를 포함하는 제2 패킷을 전송하도록 추가로 구성되고,
    상기 제3 메시지는 상기 제2 메시지에 대한 상기 서명의 적어도 하나의 바이트를 포함하는 정보를 식별하기 위한 키의 식별자 및 상기 제2 메시지의 해쉬(hash) 값을 계산하기 위한 해쉬 알고리즘의 식별자를 포함하는,
    송신 디바이스.
  11. 제9 항에 있어서,
    상기 제2 메시지 내의 시그널링 정보는 ATSC(advanced television systems committee) 3.0 서비스에 대해 특정한,
    송신 디바이스.
  12. 제10 항에 있어서,
    상기 제2 메시지에 대한 상기 서명은 상기 해쉬 알고리즘을 사용하여 상기 해쉬 값을 계산하고, 그리고 상기 키를 사용하여 상기 해쉬 값을 암호화하는 것에 의해 형성되는,
    송신 디바이스.
  13. 방송 서비스를 수신하기 위한 수신 디바이스로서,
    송수신기; 및
    상기 송수신기에 연결된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는 패킷 헤더 및 패킷 페이로드를 포함하는 제1 패킷을 수신하도록 구성되고,상기 패킷 페이로드는 제1 메시지를 포함하고,
    상기 제1 메시지는:
    상기 제1 메시지의 식별자를 나타내는 정보,
    상기 제1 메시지의 버전을 나타내는 정보,
    상기 제1 메시지의 길이와 관련된 정보, 및
    상기 제1 메시지의 메시지 페이로드를 포함하고,
    상기 제1 메시지의 메시지 페이로드는:
    MMT(Moving Picture Experts Group, MPEG, Media Transport) 시그널링 메시지인 제2 메시지,
    상기 제2 메시지에 대한 서명의 적어도 하나의 바이트를 포함하는 정보, 및
    상기 서명의 데이터의 길이를 나타내는 정보를 포함하고,
    상기 제2 메시지는:
    상기 제2 메시지의 식별자를 나타내는 정보,
    상기 제2 메시지의 버전을 나타내는 정보,
    상기 제2 메시지의 길이와 관련된 정보, 및
    상기 제2 메시지의 메시지 페이로드를 포함하고,
    상기 제2 메시지의 메시지 페이로드는:
    서비스 리스트 테이블(SLT) 내에서 주어진 서비스식별자(serviceId) 속성 정보 내에서 식별되는 서비스를 상기 제2 메시지의 메시지 페이로드와 연관시키기 위한 정보,
    상기 방송 서비스에 대한 시그널링 정보, 및
    상기 제2 메시지의 메시지 페이로드 내의 메시지 컨텐트의 타입과 관련된 정보를 포함하는,
    수신 디바이스.
  14. 제13 항에 있어서,
    상기 적어도 하나의 프로세서는 저 레벨(low level) 시그널링 메시지인 제3 메시지를 포함하는 제2 패킷을 수신하도록 추가로 구성되고,
    상기 제3 메시지는 상기 제2 메시지에 대한 상기 서명의 적어도 하나의 바이트를 포함하는 정보를 식별하기 위한 키의 식별자 및 상기 제2 메시지의 해쉬(hash) 값을 계산하기 위한 해쉬 알고리즘의 식별자를 포함하는,
    수신 디바이스.
  15. 제13 항에 있어서,
    상기 제2 메시지 내의 시그널링 정보는 ATSC(advanced television systems committee) 3.0 서비스에 대해 특정한,
    수신 디바이스.
  16. 제14 항에 있어서,
    상기 제2 메시지에 대한 상기 서명은 상기 해쉬 알고리즘을 사용하여 상기 해쉬 값을 계산하고, 그리고 상기 키를 사용하여 상기 해쉬 값을 암호화하는 것에 의해 형성되는,
    수신 디바이스.
KR1020170178702A 2017-07-31 2017-12-22 방송 서비스 제공을 위한 방법 및 장치 KR102451242B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US16/048,899 US11172268B2 (en) 2017-07-31 2018-07-30 Method and apparatus for providing broadcast service
EP18840965.0A EP3610651B1 (en) 2017-07-31 2018-07-31 Method and apparatus for providing broadcast service
PCT/KR2018/008701 WO2019027236A1 (en) 2017-07-31 2018-07-31 METHOD AND APPARATUS FOR PROVIDING BROADCAST SERVICE
US17/520,195 US11483627B2 (en) 2017-07-31 2021-11-05 Method and apparatus for providing broadcast service

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201762539039P 2017-07-31 2017-07-31
US62/539,039 2017-07-31
KR20170143834 2017-10-31
KR1020170143834 2017-10-31
KR1020170165331 2017-12-04
KR1020170165331A KR20190013406A (ko) 2017-07-31 2017-12-04 방송 서비스 제공을 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190013419A KR20190013419A (ko) 2019-02-11
KR102451242B1 true KR102451242B1 (ko) 2022-10-07

Family

ID=65370216

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020170165331A KR20190013406A (ko) 2017-07-31 2017-12-04 방송 서비스 제공을 위한 방법 및 장치
KR1020170178702A KR102451242B1 (ko) 2017-07-31 2017-12-22 방송 서비스 제공을 위한 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020170165331A KR20190013406A (ko) 2017-07-31 2017-12-04 방송 서비스 제공을 위한 방법 및 장치

Country Status (1)

Country Link
KR (2) KR20190013406A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102642928B1 (ko) * 2019-03-26 2024-03-04 삼성전자주식회사 방송 수신 장치 및 그 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143854A1 (en) * 2005-12-16 2007-06-21 Anthony Wasilewski Control of Enhanced Application Features Via A Conditional Access System
WO2016133296A1 (ko) * 2015-02-16 2016-08-25 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143854A1 (en) * 2005-12-16 2007-06-21 Anthony Wasilewski Control of Enhanced Application Features Via A Conditional Access System
WO2016133296A1 (ko) * 2015-02-16 2016-08-25 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Also Published As

Publication number Publication date
KR20190013419A (ko) 2019-02-11
KR20190013406A (ko) 2019-02-11

Similar Documents

Publication Publication Date Title
US11234035B2 (en) Method and device for transmitting and receiving broadcast service in hybrid broadcast system on basis of connection of terrestrial broadcast network and internet protocol network
US11265615B2 (en) Transmission apparatus, transmission method, reception apparatus, and reception method
US10911511B2 (en) Carriage of ISO-BMFF event boxes in an MPEG-2 transport stream
US11671676B2 (en) Device and method for transmitting media data across multiple frequency bands
KR100875289B1 (ko) 메시지 보호 및 식별을 위한 보안화 디바이스 및 프로세스와, 메시지 송신기 및 수신기와, 그러한 보안화 디바이스의 여러 구성요소를 구현하기 위한 기능을 포함하는 컴퓨터 프로그램 제품을 담고 있는 매체
US11044501B2 (en) Apparatus and method for transmitting or receiving broadcast signal
WO2012094915A1 (zh) 流媒体前向纠错实现方法及系统
US20190052384A1 (en) Apparatus and method for transmitting and receiving broadcast signal
KR102451242B1 (ko) 방송 서비스 제공을 위한 방법 및 장치
US11483627B2 (en) Method and apparatus for providing broadcast service
EP3610651B1 (en) Method and apparatus for providing broadcast service
KR101907020B1 (ko) 송수신 측에서의 방송망을 통한 긴급 상황 경보의 시그널링 방법 및 긴급 상황 경보 시그널링을 위한 방송 신호 송수신 장치

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