ATSC Standard: ATSC 3.0 Security and Service Protection: Doc. A/360:2019 20 August 2019
ATSC Standard: ATSC 3.0 Security and Service Protection: Doc. A/360:2019 20 August 2019
ATSC Standard: ATSC 3.0 Security and Service Protection: Doc. A/360:2019 20 August 2019
ATSC Standard:
ATSC 3.0 Security and Service Protection
Doc. A/360:2019
20 August 2019
Note: The user's attention is called to the possibility that compliance with this standard may
require use of an invention covered by patent rights. By publication of this standard, no position
is taken with respect to the validity of this claim or of any patent rights in connection therewith.
One or more patent holders have, however, filed a statement regarding the terms on which such
patent holder(s) may be willing to grant a license under these rights to individuals or entities
desiring to obtain such a license. Details may be obtained from the ATSC Secretary and the patent
holder.
Implementers with feedback, comments, or potential bug reports relating to this document may
contact ATSC at https://www.atsc.org/feedback/.
Revision History
Version Date
Candidate Standard approved 28 October 2016
Updated CS approved 27 March 2017
A/360:2018 Standard approved 9 January 2018
Candidate Standard Revision approved 29 August 2018
Updated CS approved 23 January 2019
A/360:2019 Standard approved 20 August 2019
ii
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
Table of Contents
1. SCOPE .....................................................................................................................................................1
1.1 Organization 1
2. REFERENCES .........................................................................................................................................1
2.1 Normative References 1
2.2 Informative References 3
3. DEFINITION OF TERMS ..........................................................................................................................3
3.1 Compliance Notation 3
3.2 Treatment of Syntactic Elements 3
3.2.1 Reserved Elements 3
3.3 Acronyms and Abbreviations 4
3.4 Terms 5
4. SYSTEM OVERVIEW ...............................................................................................................................6
4.1 Features 6
4.2 System Architecture 6
4.3 Central Concepts 6
5. SPECIFICATION ......................................................................................................................................7
5.1 Transport Protection 7
5.1.1 Internet Streaming Transport Security 7
5.2 ATSC 3.0 Cryptographic Signing 10
5.2.1 ATSC 3.0 Application Code Signing 11
5.2.2 ATSC 3.0 Signaling Message Signing 11
5.3 Certificates and Certificate Management 16
5.3.1 Certificate Profiles 16
5.4 ATSC 3.0 Client Certificate Storage 18
5.5 Certificate Revocation and Status Information 18
5.5.1 Certificate Revocation and Status Information for TLS Server Certificates 18
5.5.2 Certificate Revocation and Status Information for ATSC 3.0 Application
Signing Certificates 18
5.6 Pre-Shared Key Encrypted Connections 19
5.6.1 Pre-Shared Key Registration 19
5.6.2 TLS 1.3 Pre-Shared Key Exchange Parameters 20
5.7 Content Protection 21
5.7.1 Common Encryption 21
5.7.2 CENC and EME Support 21
ANNEX A: ASN .1 OBJECT IDENTIFIERS ..................................................................................................22
A.1 ATSC Registered Object Identifiers 22
A.2 Other Referenced Object Identifiers 22
iii
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
Index of Tables
Table 5.1 CertificationData XML Format 13
Table 5.2 CMS Signed Data XML Format 16
Table A.1 ATSC Registered Object Identifiers 22
Table A.2 Other Referenced Object Identifiers 22
iv
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
ATSC Standard:
ATSC 3.0 Security and Service Protection
1. SCOPE
This standard specifies the mechanisms for security and service protections in ATSC 3.0 systems.
1.1 Organization
This document is organized as follows:
• Section 1 – Outlines the scope of this document and provides a general introduction.
• Section 2 – Lists references and applicable documents.
• Section 3 – Provides a definition of terms, acronyms, and abbreviations for this document.
• Section 4 – System overview
• Section 5 – Specification
• Annex A: – ROUTE/DASH Client Processing for CENC and EME
2. REFERENCES
All referenced documents are subject to revision. Users of this Standard are cautioned that newer
editions might or might not be compatible.
1
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
[9] IETF: “RFC 5246, The Transport Layer Security (TLS) Protocol Version 1.2,” T. Dierks, E.
Rescorla, Internet Engineering Task Force, Fremont, CA, August 2008.
[10] IETF: “RFC 5280, Internet X.509 Public Key Infrastructure Certificate and Certificate
Revocation List (CRL) Profile,” D. Cooper, S. Santesson, S. Farrell, S. Boeyen, R. Housley,
W. Polk, Internet Engineering Task Force, Fremont, CA, May 2008.
[11] IETF: “RFC 5289, TLS Elliptic Curve Cipher Suites with SHA-256/384 and AES Galois
Counter Mode (GCM),” E. Rescorla, Internet Engineering Task Force, Fremont, CA, August
2008.
[12] IETF: “RFC 5480, Elliptic Curve Cryptography Subject Public Key Information,” S. Turner,
D. Brown, K. Yiu, R. Housley, T. Polk, Internet Engineering Task Force, Fremont, CA,
March 2009.
[13] IETF: “RFC 5652, Cryptographic Message Syntax (CMS),” R. Housley, Internet Engineering
Task Force, Fremont, CA, September 2009.
[14] IETF: “RFC 5746, Transport Layer Security (TLS) Renegotiation Indication Extension,” E.
Rescorla, M. Ray, S. Dispensa, N. Oskov, Internet Engineering Task Force, Fremont, CA,
February 2010.
[15] IETF: “RFC 5751, Secure/Multipurpose Internet Mail Extensions (S/MIME) Version
3.Message Specification,” B. Ramsdell, S. Turner, Internet Engineering Task Force,
Fremont, CA, January 2010.
[16] IETF: “RFC 5753, Use of Elliptic Curve Cryptography (ECC) Algorithms in Cryptographic
Message Syntax (CMS),” S. Turner, D. Brown, Internet Engineering Task Force, Fremont,
CA, January 2010.
[17] IETF: “RFC 5758, Internet X.509 Public Key Infrastructure: Additional Algorithms and
Identifiers for DSA and ECDSA,” Q. Dang, S. Santesson, K. Moriarty, D. Brown, T. Polk,
Internet Engineering Task Force, Fremont, CA, January 2010.
[18] IETF: “RFC 5940, Additional Cryptographic Message Syntax (CMS) Revocation
Information Choices,” S. Turner, R. Housley, Internet Engineering Task Force, Fremont, CA,
August 2010.
[19] IETF: “RFC 6066, Transport Layer Security (TLS) Extensions: Extension Definitions,” D.
Eastlake 3rd, Internet Engineering Task Force, Fremont, CA, January 2011.
[20] IETF: “RFC 6840, Clarifications and Implementation Notes for DNS Security (DNSSEC)”,
S. Weiler, and D. Blacka, Internet Engineering Task Force, Fremont, CA, February 2013.
[21] IETF: “RFC 6960, X.509 Internet Public Key Infrastructure Online Certificate Status
Protocol – OCSP,” S. Santesson, M. Myers, R. Ankney, A. Malpani, S. Galperin, C. Adams,
Internet Engineering Task Force, Fremont, CA, June 2013.
[22] IETF: “RFC 8018, PKCS #5: Password-Based Cryptography Specification, Version 2.1,” K.
Moriarty, B. Kaliski, A. Rusch, Internet Engineering Task Force, Fremont, CA, January
2017.
[23] IETF: “RFC 8446, TLS 1.3, The Transport Layer Security (TLS) Protocol Version 1.3,”
Internet Engineering Task Force, Fremont, CA, [July 2018].
[24] IETF: “RFC 7539, ChaCha20 and Poly1305 for IETF Protocols,” Y. Nir, A. Langley, Internet
Engineering Task Force, Fremont, CA, May 2015.
[25] ITU-T: “Information technology – Open Systems Interconnection – Procedures for the
operation of OSI Registration Authorities: Generation and registration of Universally Unique
2
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
Identifiers (UUIDs) and their use as ASN.1 object identifier components”, Rec. X.667,
International Telecommunication Union, September 2004.
[26] ATSC: “ATSC Standard: Revision of A/331:2017 – Signaling, Delivery, Synchronization,
and Error Protection.” Doc. A/331:2019, Advanced Television System Committee,
Washington, D.C., 20 June 2019.
3. DEFINITION OF TERMS
With respect to definition of terms, abbreviations, and units, the practice of the Institute of
Electrical and Electronics Engineers (IEEE) as outlined in the Institute’s published standards [1]
shall be used. Where an abbreviation is not covered by IEEE practice or industry practice differs
from IEEE practice, the abbreviation in question will be described in Section 3.3 of this document.
3
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
and any additional use constraints. As currently-reserved elements may be assigned values and
meanings in future versions of this Standard, receiving devices built to this version are expected
to ignore all values appearing in currently-reserved elements to avoid possible future failure to
function as intended.
4
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
3.4 Terms
The following terms are used within this document.
ATSC 3.0 Server – Any IP-connected device that provides content or other service to an ATSC
3.0 client, and that complies with the normative requirements of this standard.
Author Signature – A signature encoded in the form specified in Section 5.2 below that is
generated by the author of the application, which is the entity or entities that claim authorship
over the application content.
Certificate Authority – An entity that issues digital certificates.
Cipher Suite – A suite of cryptographic algorithms used together.
CMS Signed Data – See Section 5.2.2.2.
Companion Device – See A/338 [28].
Cryptographic Message Syntax – The message defined by RFC 5652 [13].
Distributor Signature – A signature encoded in the form specified in Section 5.2 below that is
generated by a distributor, which is a third party (e.g., the broadcaster) that is distributing the
application on behalf of the author.
Elliptic Curve Group – See TLS 1.3 [23].
Extended Key Usage extension – See RFC 5280 [10].
Hash Algorithm – a one-way mathematical algorithm, which is infeasible to invert, that maps
data of arbitrary size to a hash of a fixed size.
Key Usage extension – See RFC 5280 [10].
LLS Table – Low-Level Signaling Table, see A/331 [26].
Message Digest Algorithm – Hash Algorithm
OCSP Responder – A server typically run by the certificate issuer that returns an OCSP Response
OCSP Responder Identifiers – A list of SHA-1 hashes, one hash for each trusted OCSP
Responder public key
OCSP Response – The response to an OCSP request, see RFC 6960 [21].
Pre-Shared Key Exchange Mode – See RFC 8446 [23], Section 4.2.9
Pre-Shared Key Exchange Parameters – The parameters defined in Section 5.6.2.
Primary Device – The source device to a companion device
Private Enterprise Number – An ITU-T X.660 Object Identifier allocated to a private
organization, such as ATSC.
Privileged Application – An application that can override system controls, authorizations, or
privileges.
5
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
Public Key Infrastructure – A public key infrastructure (PKI) is a set of roles, policies, and
procedures needed to create, manage, distribute, use, store & revoke digital certificates and
manage public-key encryption.
Secure Connection – An IP connection secured by TLS, as described in Section 5.1.
Server Name Indication extension - See RFC 6066 [19].
Service Level Signaling – Signaling which provides information for discovery and acquisition of
ATSC 3.0 Services and their content components.
Signature Algorithm - a mathematical scheme for verifying the authenticity of digital objects
X.509 Certificates – digital certificates that use the ITU-T X.509 public key infrastructure (PKI)
standard to verify that a public key belongs to the user, computer or service identity contained
within the certificate.
reserved – Set aside for future use by a Standard.
4. SYSTEM OVERVIEW
4.1 Features
This specification defines a set of methods designed to secure the following content and data flows
described in other ATSC 3.0 specifications:
1) Content protection for MPEG-DASH content delivery (Section 5.7)
2) Authentication of ATSC 3.0 applications (Section 5.2)
3) Authentication of ATSC 3.0 Broadcast Signaling (Section 5.3)
4) Interactive data exchanged over an internet connection between an ATSC 3.0 application
and a web content server (Section 5.1), including the use of DNS Security (Section 5.1.1.7)
5) Data flows between an ATSC 3.0 primary device and a companion device (Section 5.6)
6
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
5. SPECIFICATION
7
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
Signature Algorithms
rsa_pkcs1_sha256
rsa_pkcs1_sha384
rsa_pkcs1_sha512
ecdsa_secp256r1_sha256
ecdsa_secp384r1_sha384
ecdsa_secp521r1_sha512
rsa_pss_rsae_sha256
rsa_pss_rsae_sha384
rsa_pss_rsae_sha512
or one or more of the following Cipher Suites (as specified in RFC 7539 [24]) where these Cipher
Suites are requested by the client:
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
TLS_RSA_ECDSA_WITH_CHACHA20_POLY1305_SHA256
or
TLS_RSA_WITH_AES_128_CBC_SHA
(as specified in RFC 5246 [9]) may be negotiated for; however, the server shall only choose this
Cipher Suite as the least preferred of the client’s Cipher Suites (irrespective of the order supplied
by the client).
Elliptic Curve Groups
An ATSC 3.0 Server shall support the following Elliptic Curve Groups: secp256r1, secp384r1, and
secp521r1. An ATSC 3.0 Server shall support the uncompressed point format.
Servers shall decline to establish a connection that does not request one or more of these
Elliptic Curve Groups or point formats.
The client is expected to only negotiate Elliptic Curve Groups and point formats that are
required to be supported by an ATSC 3.0 Server.
Signature Algorithms
An ATSC 3.0 Server shall support the rsa or ecdsa Signature Algorithm with any of sha256, sha384
or sha512 Hash Algorithm.
An ATSC 3.0 client that is negotiating (or renegotiating) a TLS 1.2 connection may request
one of these Signature Algorithm and Hash Algorithm combinations or may omit the TLS 1.3 [23]
8
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
Signature Algorithm extension. When a client does not include a Signature Algorithm extension,
the ATSC 3.0 Server shall reject the connection request with an insufficient_security error.
5.1.1.4 Server Certificate Selection
An ATSC 3.0 Server shall only supply certificates with signatures using one of the supported
signature and hash algorithm combinations (see Sections 5.1.1.3.2 above) that is negotiated by the
client (even in the case that the client attempts to negotiate other algorithms) and shall not establish
a Secure Connection with certificates that use other algorithms.
When a client requests a connection over TLS 1.2 or TLS 1.3 the client is expected to include
a Server Name Indication extension as specified in RFC 6066 [19] that contains the fully qualified
DNS host name of the server. The ATSC 3.0 Server shall use the Server Name Indication provided
by the client to assist in the selection of a suitable server certificate to return to the client in the
TLS handshake.
When a client requests a connection over TLS 1.3 the client can include a Certificate
Authorities extension as specified in TLS 1.3 [23] to provide a list of the trusted root certificates
that it holds in its secure store. When a client requests a connection over TLS 1.2 the client can
include a Trusted CA Indication extension as specified in RFC 6066 [19] to provide a list of the
trusted root certificates that it holds in its secure store. Receiver manufacturers choose the set of
trusted root certificates. The ATSC 3.0 Server shall use the Trusted CA Indication extension to
assist in the selection of a suitable certificate chain to return to the client in the TLS handshake.
In the case that an ATSC 3.0 Server is unable to select a certificate chain that matches the client
criteria in either the Server Name Indication extension or the Trusted CA Indication extension, the
ATSC 3.0 Server shall not establish the connection.
5.1.1.5 TLS Certificate Status Request and Response
The client is expected to include the Certificate Status Request extension as specified in RFC 6066
[19] Section 8. The Certificate Status Request extension includes a list of OCSP Responder
Identifiers each encoded as a SHA-1 hash of the trusted OCSP responder public key as defined in
RFC 6960 [20]. An ATSC 3.0 Server shall only supply to the client the OCSP Responses that the
ATSC 3.0 Server has received from OCSP responders with responder public keys that are trusted
by the client and which are signed using signature algorithms supported by the client. If an ATSC
3.0 Server is unable to obtain an OCSP Response for a certificate that the server supplies from an
OCSP Responder that is identified by the client as a trusted responder, the ATSC 3.0 Server shall
not establish the connection.
The ATSC 3.0 Server shall forward the most recent OCSP Response (see Section 5.5.1 below)
for the certificates the server uses to establish a connection to the ATSC 3.0 client. The format of
the OCSP Response provided by the responder should be limited to the mandatory elements
defined in RFC 5019 [7] and no optional elements should be included in the response. When a
server is establishing a connection over TLS 1.2, the server shall include the OCSP Response in
its Certificate Status handshake message (immediately after its Certificate handshake message) as
defined in RFC 6066 [19]. When a server is establishing a connection over TLS 1.3, the server
shall include the OCSP Response in the Certificate message.
The ATSC 3.0 client is expected to verify the Certificate Status message provided by the server
as specified in RFC 6066 [19] Section 8. A client uses the OCSP Response data that it receives to
verify that the certificates that authenticate server connections are valid at the time the connection
is established. See CTA 2053 [26].
9
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
10
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
11
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
4) The Signature Algorithm and Message Digest Algorithm shall be one of the following
pairs:
o rsa- pkcs1 with sha-256
o ecdsa curve secp256r1 with sha-256
o ecdsa curve secp384r1 with sha-384
o ecdsa curve secp521r1 with sha-512
(Additional characteristics are defined in each usage definition in subsequent sections.)
In addition a CertificationData table is defined below to be carried in the low-level signaling. The
CertificationData table carries the necessary information for the authentication to a known root
certificate and status verification of the keys used to sign signaling message content. The
CertificationData table also carries information that allows the broadcaster to:
1) Manage a change of the signaling message signing key,
2) Define the life-span of certificate status response information, and
3) Request the receiver to handle signature verification failures in a particular manner.
5.2.2.2 Certificate and OCSP Response LLS Table
This specification defines a new LLS Table that carries X.509 Certificates and OCSP Responses
that are used to verify signed signaling tables.
When one or more signaling tables are signed, the CertificationData LLS Table shall be included
among the LLS Tables described in ATSC A/331 [26] Section 6.1, and shall use LLS_table_id 0x06,
and shall be represented as an XML document containing a CertificationData root element that
conforms to the definitions in the XML schema that has namespace:
tag:atsc.org,2016:XMLSchemas/ATSC3/Delivery/CDT/1.0/
Note that the CertificationData LLS Table is a standalone table that contains its own signature (i.e., is
not in a signed_multitable message), as the data in the CertificationData LLS Table is required to verify
the signature of a signed_multitable message.
The XML schema xmlns short name should be "cdt". The CertificationData LLS Table has the
following informative description:
12
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
13
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
@CurrentCertUntil – The date and time until which the broadcaster can validly sign signaling
messages using the CurrentCert. Note that this may be later than the NextCertFrom date, but cannot
be earlier than that date.
@OCSPRefresh – The duration after which an OCSP Response is considered to be invalid, based on
the producedAt time in the response structure and the current system time. This field shall not
exceed a duration of ten days (two hundred forty hours) and should not include fractional
seconds. Practically, @OCSPRefresh should be at least one hour. But note that this value is
related to vulnerability periods, see for example, Sec. 4.9.10 of [28], which limits the expiration
time of certain OCSP Responses to ten days.
CMSSignedData – The CMS Signed Data (RFC 5652 [13]) element with the following
characteristics:
1) The characteristics specified in Section 5.2.2.1 above.
2) The content being signed shall be the full extent of the ToBeSignedData element.
3) The SubjectKeyIdentifier shall identify an end-entity certificate in Certificates other than that
identified by CurrentCert.
OCSPResponse – A set of one or more OCSP Response structures in the form specified in RFC
6960 [21] that provide certificate status information for the Certificates. Each OCSPResponse in
the set may contain a number of OCSP Single Response (see RFC 6960 [21]) structures where
the same OCSP Responder is authorised to issue a response for more than one of the Certificates.
5.2.2.3 Signatures for Low Level Signaling (LLS) Tables
A signature that is applied to a LLS message is carried in a CMS Signed Data (RFC 5652 [13])
element with the following characteristics:
1) The characteristics shall be as specified in Section 5.2.2.1 above.
2) The SignerIdentifier shall match either the CurrentCert or, if present, the NextCert.
5.2.2.4 Signatures for Service Level Signaling carried over ROUTE/DASH
Service Level Signaling over ROUTE/DASH is encapsulated in multi-part MIME packages and
the broadcaster signs each of these packages in the manner specified in S/MIME [15] Section 3.4.3
with the CMS Signed Data structure profile as specified below to create a detached signature. The
name attribute for the newly created Content Type application/pkcs7-signature shall be set to bcsig.p7s and
the filename attribute for the corresponding Content Disposition shall be set to bcsig.p7s.
The signatures generated using S/MIME processing shall be encoded according to the
Cryptographic Message Syntax (RFC 5652 [13]). The following profile for the CMS Signed Data
structure shall be used to create the S/MIME digital signature:
1) The characteristics specified in Section 5.2.2.1 above.
2) The SignerIdentifier shall match either the CurrentCert or, if present, the NextCert.
All Service Level Signaling encapsulated in multi-part MIME packages shall be signed by the
broadcaster.
5.2.2.5 Signatures for MMT Messages
The broadcaster signature of an MMT message is across the entire MMT message (not including
the signature), and shall be carried in a CMS Signed Data (RFC 5652 [13]) structure with the
following characteristics:
1) The characteristics specified in Section 5.2.2.1 above.
2) The SignerIdentifier shall match either the CurrentCert or, if present, the NextCert.
14
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
15
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
CMSSignedData root element that conforms to the definitions in the XML schema that has
namespace:
tag:atsc.org,2016:XMLSchemas/ATSC3/Delivery/CMSSD/1.0/
The XML schema xmlns short name should be "cmssd". The informative definition of this XML
schema is as follows:
Any data compression shall be applied after the CMS Signed Data XML document has been
appended to the message.
16
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
All keys contained in ATSC 3.0 certificates shall be either RSA keys with a minimum size of
2048 bits encoded as specified in RFC 3279 [4] or ECDSA keys which use the elliptic curve groups
and point format defined above (Sections 5.1.1.2 and 5.1.1.3) and encoded as specified in RFC
5480 [12].
All RSA signatures contained in ATSC 3.0 certificates shall be encoded according to the RSA
signature algorithms specified in RFC 3279 [4] and RFC 4055 [5].
All ECDSA signatures contained in ATSC 3.0 certificates shall be encoded according to the
ECDSA signature algorithms specified in RFC 5758 [17] and shall use one of the hash algorithms
specified above (Sections 5.1.1.1 and 5.1.1.3) for use with the ECDSA signature algorithm.
All ATSC 3.0 end-entity certificates shall contain a Key Usage extension containing at least
the digitalSignature value. All ATSC 3.0 certificates shall use algorithms and identifiers with values
constrained as specified in RFC 3279 [4] and RFC 4055 [5].
ATSC 3.0 devices need not process the RFC 5280 [10] Authority Information Access
extension or the Subject Information Access extensions.
5.3.1.2 Root Certificate Profile
The RSA key size for any root certificate shall be at least 2048 bits and should be 4096 bits.
The ECDSA key size for any root certificate shall be at least 384 bits.
5.3.1.3 Certificate Authority Certificate Profile
The RSA key size for any certificate authority certificate shall be at least 2048 bits.
The ECDSA key size for any certificate authority certificate shall be at least 256 bits.
5.3.1.4 Server Authentication Certificate Profile
The RSA key size for this certificate shall be at least 2048 bits.
The ECDSA key size for any server authentication certificate shall be at least 256 bits.
The RFC 5280 [10] Subject Alternative Name extension shall be present and shall include
either the DNS Name or the IP Address of the server being authenticated.
The Extended Key Usage extension shall be present and shall be set to the value id-kp-serverAuth
to indicate that the certificate is used in TLS server authentication.
5.3.1.5 ATSC 3.0 Application Signer Certificate Profile
The RSA key size for any application signer certificate shall be at least 2048 bits.
The ECDSA key size for any application signer certificate shall be at least 256 bits.
The Key Usage extension shall be marked as critical and shall include only the digitalSignature
value.
The Extended Key Usage extension shall be present, marked as critical, and shall include the
value id-kp-codeSigning to indicate that the certificate is used in the signing of downloadable
executable code. For author code signing certificates this extension shall also include the value id-
atsc-kp-author. For distributor code signing certificates this extension shall include the value id-atsc-
kp-distributor.
For distributor code signing certificates, Subject Directory Attributes extension shall be
present, not marked as critical, and shall include an attribute of type id-atsc-sdattr-bsid and values that
contain a SET OF INTEGER (as described in RFC 5280 [10]), each integer in the set contains a
Broadcast Stream Identifier.
5.3.1.6 ATSC 3.0 Broadcast Signaling Signer Certificate Profile
The RSA key size for any broadcast signaling signing certificate shall be at least 2048 bits.
17
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
The ECDSA key size for any broadcast signaling signing certificate shall be at least 256 bits.
The Key Usage extension shall be marked as critical and shall include only the digitalSignature
value.
The Extended Key Usage extension shall be present, shall be marked as critical, and shall
include an attribute of type id-atsc-kp-signalingSigning to indicate that the certificate is used in the
signing of ATSC signaling constructs.
The Subject Directory Attributes extension shall be present, not marked as critical, and shall
include an attribute of type id-atsc-sdattr-bsid and values that contain a SET OF INTEGER (as
described in RFC 5280 [10]), each integer in the set contains a Broadcast Stream Identifier.
5.3.1.7 OCSP Responder Certificate Profile
The RSA key size for any OCSP responder certificate shall be at least 2048 bits.
The ECDSA key size for any OCSP responder certificate shall be at least 256 bits.
The Extended Key Usage extension shall be present and shall be set to the value id-kp-
OCSPSigning to indicate that the certificate is used to sign OCSP Responses.
18
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
key is used in a signing operation. The OCSP Request shall indicate that the preferred signature
algorithm to be used by the OCSP responder is RSA with SHA-256.
The SigningTime associated with the ATSC 3.0 application signature and the producedAt time of
the corresponding OCSP Response providing the status of the signing authority certificate shall
differ by no more than one minute. The ATSC 3.0 application signing authority shall include the
OCSP Response in the signed application and should not issue a signed application where the
OCSP Response indicates that the status of the signing authority certificate (as specified in RFC
6960 [20]) is other than “good”.
The application signing authority shall include the object identifier id-ri-ocsp-response in the
otherRevInfoFormat field and an OCSPResponse in the otherRevInfo field of each Cryptographic Message
Syntax (RFC 5652 [13]) formatted digital signature contained in the signed multi-part MIME
content. The OCSPResponse shall conform to the format specified in RFC 5940 [18].
A client uses the OCSP Response data that it receives to verify that the certificates that
authenticate the application signing authority are valid at the time the application is signed. See
CTA 2053 [26].
19
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
2) Set the pre-shared key to PBKDF2(IKM, salt, 50000, 32) using HMAC-sha256 as the
underlying pseudorandom functions as described in RFC 8018 [22].
5.6.1.4 Key Generation Test Vectors
Correct implementation of the above pre-shared key generation using the below example input
parameters yields the below output parameters.
Input:
Server UUID = 0x123e4567e89b12d3a456426655440000
Client UUID = 0x98734716276497582763764874687252
IKM = ‘UserPassword' (0x5573657250617373776f7264)
Intermediate results:
Salt = 0x123e4567e89b12d3a45642665544000098734716276497582763764874687252
Output:
PSK = 0xf7a28206cfad1076eba1fce76245e012f357f5f70bcbe407f03d53ca8265de32
20
ATSC A/360:2019 ATSC 3.0 Security and Service Protection 20 August 2019
21
ATSC A/360:2019 ATSC 3.0 Security and Service Protection, Annex A 20 August 2019
End of Document
22