Draft Recommendation for Space Data System Standards SPACE DATA LINK SECURITY PROTOCOL PROPOSED STANDARD CCSDS 355.0-R-1 RED BOOK February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY AUTHORITY Issue: Red Book, Issue 1 Date: February 2016 Location: Not Applicable (WHEN THIS RECOMMENDED STANDARD IS FINALIZED, IT WILL CONTAIN THE FOLLOWING STATEMENT OF AUTHORITY:) This document has been approved for publication by the Management Council of the Consultative Committee for Space Data Systems (CCSDS) and represents the consensus technical agreement of the participating CCSDS Member Agencies. The procedure for review and authorization of CCSDS documents is detailed in the Procedures Manual for the Consultative Committee for Space Data Systems, and the record of Agency participation in the authorization of this document can be obtained from the CCSDS Secretariat at the address below. This document is published and maintained by: CCSDS Secretariat Space Communications and Navigation Office, 7L70 Space Operations Mission Directorate NASA Headquarters Washington, DC 20546-0001, USA CCSDS 355.0-R-1 Page i February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY FOREWORD This document describes a protocol for applying security protections to the contents of Space Data Link Protocol transfer frames used by space missions over a space link. Through the process of normal evolution, it is expected that expansion, deletion, or modification of this document may occur. This Recommended Standard is therefore subject to CCSDS document management and change control procedures, which are defined in the Procedures Manual for the Consultative Committee for Space Data Systems. Current versions of CCSDS documents are maintained at the CCSDS Web site: http://www.ccsds.org/ Questions relating to the contents or status of this document should be addressed to the CCSDS Secretariat at the address indicated on page i. CCSDS 355.0-R-1 Page ii February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY At time of publication, the active Member and Observer Agencies of the CCSDS were: Member Agencies – – – – – – – – – – – Agenzia Spaziale Italiana (ASI)/Italy. British National Space Centre (BNSC)/United Kingdom. Canadian Space Agency (CSA)/Canada. Centre National d’Etudes Spatiales (CNES)/France. China National Space Administration (CNSA)/People’s Republic of China. Deutsches Zentrum für Luft- und Raumfahrt e.V. (DLR)/Germany. European Space Agency (ESA)/Europe. Federal Space Agency (FSA)/Russian Federation. Instituto Nacional de Pesquisas Espaciais (INPE)/Brazil. Japan Aerospace Exploration Agency (JAXA)/Japan. National Aeronautics and Space Administration (NASA)/USA. Observer Agencies – – – – – – – – – – – – – – – – – – – – – – – – Austrian Space Agency (ASA)/Austria. Belgian Federal Science Policy Office (BFSPO)/Belgium. Central Research Institute of Machine Building (TsNIIMash)/Russian Federation. Centro Tecnico Aeroespacial (CTA)/Brazil. Chinese Academy of Sciences (CAS)/China. Chinese Academy of Space Technology (CAST)/China. Commonwealth Scientific and Industrial Research Organization (CSIRO)/Australia. Danish National Space Center (DNSC)/Denmark. European Organization for the Exploitation of Meteorological Satellites (EUMETSAT)/Europe. European Telecommunications Satellite Organization (EUTELSAT)/Europe. Hellenic National Space Committee (HNSC)/Greece. Indian Space Research Organization (ISRO)/India. Institute of Space Research (IKI)/Russian Federation. KFKI Research Institute for Particle & Nuclear Physics (KFKI)/Hungary. Korea Aerospace Research Institute (KARI)/Korea. MIKOMTEK: CSIR (CSIR)/Republic of South Africa. Ministry of Communications (MOC)/Israel. National Institute of Information and Communications Technology (NICT)/Japan. National Oceanic and Atmospheric Administration (NOAA)/USA. National Space Organization (NSPO)/Chinese Taipei. Naval Center for Space Technology (NCST)/USA. Space and Upper Atmosphere Research Commission (SUPARCO)/Pakistan. Swedish Space Corporation (SSC)/Sweden. United States Geological Survey (USGS)/USA. CCSDS 355.0-R-1 Page iii February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY PREFACE (WHEN THIS PROPOSED STANDARD IS RELEASED FOR FORMAL AGENCY REVIEW, IT WILL CONTAIN THE FOLLOWING STATEMENT OF AUTHORITY:) This document is a draft CCSDS Recommended Standard. Its draft status indicates that the CCSDS believes the document to be technically mature and has released it for formal review by appropriate technical organizations. As such, its technical contents are not stable, and several iterations of it may occur in response to comments received during the review process. Implementers are cautioned not to fabricate any final equipment in accordance with this document’s technical content. CCSDS 355.0-R-1 Page iv February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY DOCUMENT CONTROL Document Title and Issue Date Status CCSDS 355.0-R-1 Space Data Link Security Protocol, Draft Recommended Standard, Issue 1 February 2016 Current draft CCSDS 355.0-R-1 Page v February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY CONTENTS Section Page DOCUMENT CONTROL......................................................................................................V CONTENTS........................................................................................................................... VI 1 INTRODUCTION.......................................................................................................... 1-1 1.1 PURPOSE ............................................................................................................... 1-1 1.2 SCOPE .................................................................................................................... 1-1 1.3 APPLICABILITY ................................................................................................... 1-1 1.4 RATIONALE.......................................................................................................... 1-2 1.5 DOCUMENT STRUCTURE ................................................................................. 1-2 1.6 DEFINITIONS........................................................................................................ 1-3 1.7 CONVENTIONS .................................................................................................... 1-5 1.8 REFERENCES ....................................................................................................... 1-5 2 OVERVIEW ................................................................................................................... 2-6 2.1 CONCEPT OF SECURITY PROTOCOL ............................................................. 2-6 2.2 FEATURES OF SECURITY PROTOCOL ........................................................... 2-6 2.2.1 INTERNAL ORGANIZATION OF PROTOCOL ENTITY ..................... 2-7 2.2.2 PLACEMENT OF THE SERVICE IN TM ................................................ 2-7 2.2.3 PLACEMENT OF THE SERVICE IN TC................................................. 2-8 2.2.4 PLACEMENT OF THE SERVICE IN AOS .............................................. 2-9 2.3 SERVICE FUNCTIONS ...................................................................................... 2-10 2.3.1 SECURITY ASSOCIATIONS ................................................................. 2-10 2.3.2 AUTHENTICATION ............................................................................... 2-11 2.3.3 ENCRYPTION ......................................................................................... 2-13 2.3.4 AUTHENTICATED ENCRYPTION....................................................... 2-14 3 SERVICE DEFINITION............................................................................................. 3-15 3.1 OVERVIEW ......................................................................................................... 3-15 3.2 SOURCE DATA................................................................................................... 3-15 3.2.1 SOURCE DATA FOR ENCRYPTION ................................................... 3-15 3.2.2 SOURCE DATA FOR AUTHENTICATION ......................................... 3-17 3.2.3 TM ENCRYPTION PAYLOADERROR! BOOKMARK NOT DEFINED. 3.2.4 TC ENCRYPTION PAYLOAD ERROR! BOOKMARK NOT DEFINED. 3.2.5 AOS ENCRYPTION PAYLOADERROR! BOOKMARK NOT DEFINED. 3.2.6 TM AUTHENTICATION PAYLOAD .................................................... 3-17 3.2.7 TC AUTHENTICATION PAYLOAD ..................................................... 3-17 3.2.8 AOS AUTHENTICATION PAYLOAD .................................................. 3-18 3.3 SECURITY ASSOCIATION (SA) MANAGEMENT SERVICE ....................... 3-18 3.3.1 SA MANAGEMENT SERVICE PARAMETERS .................................. 3-18 3.3.2 SA MANAGEMENT SERVICE PRIMITIVES ...................................... 3-20 3.4 ENCRYPTION SERVICE ................................................................................... 3-20 3.4.1 ENCRYPTION SERVICE PARAMETERS ............................................ 3-20 3.4.2 ENCRYPTION SERVICE PRIMITIVES ................................................ 3-21 3.5 AUTHENTICATION SERVICE ......................................................................... 3-21 3.5.1 AUTHENTICATION SERVICE PARAMETERS .................................. 3-22 CCSDS 355.0-R-1 Page vi February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 4 5 6 7 3.5.2 AUTHENTICATION SERVICE PRIMITIVES ...................................... 3-22 PROTOCOL SPECIFICATION ................................................................................ 4-24 4.1 PROTOCOL DATA UNITS ................................................................................ 4-24 4.1.1 SECURITY HEADER .............................................................................. 4-24 4.1.2 SECURITY TRAILER ............................................................................. 4-25 4.2 SECURITY PROTOCOL PROCEDURES .......................................................... 4-26 4.2.1 SECURITY ASSOCIATION MANAGEMENT PROCEDURES .......... 4-26 4.2.2 SENDING PROCEDURES ...................................................................... 4-28 4.2.3 RECEIVING PROCEDURES .................................................................. 4-31 USE OF THE SERVICES WITH CCSDS PROTOCOLS ...................................... 5-34 5.1 TM PROTOCOL .................................................................................................. 5-34 5.1.1 TM TRANSFER FRAME PROCEDURES ............................................. 5-34 5.2 TC PROTOCOL ................................................................................................... 5-35 5.2.1 TC TRANSFER FRAME PROCEDURES .............................................. 5-35 5.3 AOS PROTOCOL ................................................................................................ 5-36 5.3.1 AOS TRANSFER FRAME PROCEDURES ........................................... 5-36 5.4 SUMMARY OF PROTOCOL SERVICES.......................................................... 5-37 MANAGED PARAMETERS ..................................................................................... 6-39 SECURITY ................................................................................................................... 7-41 7.1 INTRODUCTION ................................................................................................ 7-41 7.2 SECURITY CONCERNS .................................................................................... 7-41 7.3 POTENTIAL THREATS AND ATTACK SCENARIOS ................................... 7-41 7.4 CONSEQUENCES OF NOT APPLYING SECURITY ...................................... 7-42 CCSDS 355.0-R-1 Page vii February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 1 1.1 INTRODUCTION PURPOSE The purpose of this Recommended Standard is to specify the Space Data Link Security Protocol (hereafter referred as the Security Protocol) for CCSDS data links. This protocol provides a security header and trailer along with associated procedures that may be used with the CCSDS Telemetry, Telecommand, and Advanced Orbiting Systems Space Data Link Protocols (references [1]-[3]) to provide a structured method for applying data authentication and/or data confidentiality at the link layer. 1.2 SCOPE This Recommended Standard defines the Security Protocol in terms of: a) the protocol data units employed by the service provider; and b) the procedures performed by the service provider. It does not specify: a) individual implementations or products; b) the implementation of service interfaces within real systems; c) the methods or technologies required to perform the procedures; or d) the management activities required to configure and control the service. This Recommended Standard does not mandate the use of any particular cryptographic algorithm with the Security Protocol. Reference [5] provides a listing of algorithms recommended by CCSDS; any organization should conduct a risk assessment before choosing to substitute other algorithms. Annex C (non-normative) defines baseline implementations suitable for a large range of space missions. 1.3 APPLICABILITY This Recommended Standard applies to the creation of Agency standards and to the future data communications over space links between CCSDS Agencies in cross-support situations. The Recommended Standard includes comprehensive specification of the service for interAgency cross support. It is neither a specification of, nor a design for, real systems that may be implemented for existing or future missions. The Recommended Standard specified in this document is to be invoked through the normal standards programs of each CCSDS Agency, and is applicable to those missions for which cross support based on capabilities described in this Recommended Standard is anticipated. Where mandatory capabilities are clearly indicated in sections of the Recommended Standard, they must be implemented when this document is used as a basis for cross support. CCSDS 355.0-R-1 Page 1-1 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY Where options are allowed or implied, implementation of these options is subject to specific bilateral cross support agreements between the Agencies involved. 1.4 RATIONALE The goals of this Recommended Standard are to: a) provide a standard method of applying security at the data link layer, independent of the underlying cryptographic algorithms employed by any particular space mission; b) preserve compatibility with existing CCSDS Space Data Link Protocol transfer frame header formats and frame processing implementations so that where appropriate, legacy frame processing infrastructure may continue to be used without modification; and, c) preserve compatibility with the CCSDS Space Link Extensions (SLE) forward and return services; and d) facilitate the development of common commercial implementations to improve interoperability across agencies. More discussion of the Security Protocol’s goals and design choices may be found in reference [B1]. 1.5 DOCUMENT STRUCTURE This document is organized as follows: Section 1 presents the purpose, scope, applicability and rationale of this Recommended Standard and lists the conventions, definitions, and references used throughout the document. Section 2 provides an overview of the Security Protocol. Section 3 defines the services provided by the protocol entity. Section 4 specifies the protocol data units provided for this service and the procedures employed by the service provider. Section 5 specifies the transfer frame formats and constraints associated with this service for each of the supported Space Data Link Protocols. Section 6 lists the managed parameters associated with this service. Section 7 provides an overview of security concerns with using the Security Protocol. Annex A provides a Protocol Implementation Conformance Statement. Annex B provides a list of informative references. CCSDS 355.0-R-1 Page 1-2 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY Annex C defines baseline implementations suitable for a large range of space missions. 1.6 DEFINITIONS Access Control: The process of granting access to the resources of a system only to authorized users, programs, processes, or other systems. Access Control Mechanism: Hardware or software features, operating procedures, management procedures, and various combinations of these designed to detect and prevent unauthorized access and to permit authorized access in an automated system. Authentication: Verification of the originating source of data that have been stored, transmitted, or otherwise exposed to possible unauthorized modification. In the context of data transmission, this usually refers to verification by the receiver of a message authentication code which was associated with particular data as it was generated by the sender using a secret key. Such verification ensures both the authenticity and integrity of the data. Authorization: The granting to a user, program, or process (i.e., a system entity) the right to access a system resource. ‘Black’: A condition in which data being processed or transmitted does not require protection, either because a requirement to secure the data has already been met, or because the data inherently has no need for protection; in the context of data transmission, this usually refers to data in its protected state, subsequent to encryption or prior to decryption. Bulk Encryption: The encryption of transmitted data at OSI Layer 1, such that all of the data link-layer framing headers and higher-layer information are sent as ciphertext. Ciphertext: Data that has been obscured by the application of encryption. Confidentiality: Assurance that information is not disclosed to unauthorized entities or processes. Data Integrity: Condition that exists when data is unchanged from its source and has not been accidentally or maliciously modified, altered, or destroyed. Denial of Service: Any action or series of actions that prevents any part of a system from functioning in accordance with its intended purpose. This includes any action that causes unauthorized destruction, modification, or delay of service. Encryption: The translation of data into a form that is unintelligible without a deciphering mechanism. Encryption transforms ‘plaintext’ into ‘ciphertext’. Decryption, the reverse operation, transforms ciphertext into plaintext. Initialization Vector: Encryption algorithm-dependent data that some modes of operation require as an additional initial input. It does not need to be secret, but in some modes, it CCSDS 355.0-R-1 Page 1-3 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY needs to be unpredictable. Its length is generally fixed according to the algorithm’s block size. Link-Layer Encryption: The encryption of transmitted data at OSI Layer 2, such that the data link-layer framing headers are sent as plaintext but all of the upper-layer packet headers and information are sent as ciphertext. Network-Layer Encryption: The encryption of transmitted data at OSI Layer 3, such that the network-layer packet headers are sent as plaintext but all higher-layer information is sent as ciphertext. Padding: Fill data required by certain encryption block cipher modes. If a particular mode of operation (e.g. cipher block chaining) must operate on data units that are a multiple of the algorithm’s block size, then any undersized blocks must be padded prior to encryption. Plaintext: Data that has not been obscured by the application of encryption. ‘Red’: A condition in which data being processed or transmitted requires protection; in the context of data transmission, this usually refers to data in its original state, prior to encryption or subsequent to decryption. Risk: A combination of the likelihood that a threat will occur, the likelihood that a threat occurrence will result in an adverse impact, and the severity of the resulting adverse impact. Security Association: An establishment of shared security information between two network entities to support secure communication. Security Parameter Index: An index used to identify a Security Association. Security Policy: The set of laws, rules, and practices that regulate how information is managed, protected, and distributed. Threat: Any action (accidental or deliberate) or event (natural or environmental) with the potential to cause harm to a system in the form of destruction, disclosure, adverse modification of data, and/or denial of service. Threat Analysis: The examination of all actions and events that might adversely affect a system or operation. Traffic Analysis: The attempt to defeat communications security by analyzing patterns in the content and timing of communications traffic, to infer either the identity of specific parties exchanging information or the specific information being exchanged. Vulnerability Analysis: The systematic examination of systems in order to determine the adequacy of security measures, identify security deficiencies, and provide data from which to predict the effectiveness of proposed security measures. CCSDS 355.0-R-1 Page 1-4 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 1.7 CONVENTIONS The following conventions apply throughout this Recommended Standard: a) the words ‘shall’ and ‘must’ imply a binding and verifiable specification; b) the word ‘should’ implies an optional, but desirable, specification; c) the word ‘may’ implies an optional specification; d) the words ‘is’, ‘are’, and ‘will’ imply statements of fact. 1.8 REFERENCES The following documents contain provisions which, through reference in this text, constitute provisions of this Recommended Standard. At the time of publication, the editions indicated were valid. All documents are subject to revision, and users of this Recommended Standard are encouraged to investigate the possibility of applying the most recent editions of the documents indicated below. The CCSDS Secretariat maintains a register of currently valid CCSDS documents. [1] TM Space Data Link Protocol. Recommendation for Space Data System Standards, CCSDS 132.0-B-1. Blue Book. Issue 1. Washington, D.C.: CCSDS, September 2003. [2] TC Space Data Link Protocol. Recommendation for Space Data System Standards, CCSDS 232.0-B-1. Blue Book. Issue 1. Washington, D.C.: CCSDS, September 2003. [3] AOS Space Data Link Protocol. Recommendation for Space Data System Standards, CCSDS 732.0-B-2. Blue Book. Issue 2. Washington, D.C.: CCSDS, July 2006. [4] Space Link Identifiers. Recommendation for Space Data System Standards, CCSDS 135.0-B-4. Blue Book. Issue 3. Washington, D.C.: CCSDS, October 2009. [5] CCSDS Security Algorithms. Recommendation for Space Data System Standards, CCSDS 352.0-B-1. Blue Book. Issue 1. Washington, D.C.: CCSDS, _____. [6] Information Technology—Open Systems Interconnection—Basic Reference Model: The Basic Model. International Standard, ISO/IEC 7498-1. 2nd ed. Geneva: ISO, 1994. CCSDS 355.0-R-1 Page 1-5 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 2 OVERVIEW 2.1 CONCEPT OF SECURITY PROTOCOL The Space Data Link Security Protocol is a data processing method for space missions that need to apply authentication and/or confidentiality to the contents of transfer frames used by Space Data Link Protocols over a space link. The Security Protocol is provided at the Data Link Layer (Layer 2) of the OSI Basic Reference Model [5], as illustrated in Figure 2-1. It is an extra service of the Space Data Link Protocols defined in references [1]-[3], and therefore shall be used together with one of these references. OSI LAYERS 7 Application 6 Presentation 5 Session 4 Transport 3 Network CCSDS LAYERS Data Link Protocol Sublayer Security Protocol 2 Data Link Synchronization & Channel Coding Sublayer 1 Physical Figure 2-1. Security Protocol within OSI Model 2.2 FEATURES OF SECURITY PROTOCOL The purpose of the Security Protocol is to provide a secure standard method, with associated data structures, for performing security functions on octet-aligned user data within Space Data Link Protocol transfer frames over a space link. The maximum length of input data that can be accommodated is not limited by the Security Protocol, but is an attribute of the underlying Space Data Link Protocol. Both Security Header and Trailer are provided for CCSDS 355.0-R-1 Page 2-6 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY delimiting the necessary cryptographic parameters within transfer frames. The size of the Security Header and Trailer used will reduce the maximum size of the input data unit bytefor-byte below the maximum allowed by the underlying Space Data Link Protocol. Features of the Security Protocol are as follows: a) Unidirectional (one way) service: one end of a connection can send, but not receive, data through the space link, while the other end can receive, but not send, data through the space link. b) Asynchronous service: There are no specified timing relationships between the transfer of data units supplied by the user and the actual transmission mechanism within the Data Link Layer. c) Unconfirmed service: the sending user does not receive confirmation from the receiving end indicating that data has been received. d) Incomplete service: the service does not guarantee completeness, but the service provider may signal gaps in the sequence of data units delivered to the receiving user. e) Sequence preserving service: the sequence of data units supplied by the sending user is preserved through the transfer over the space link, although there may be gaps in the sequence of data units delivered to the receiving user. In each case, the Security Protocol provides only whatever quality of service is provided by the underlying Space Data Link Protocol. 2.2.1 INTERNAL ORGANIZATION OF PROTOCOL ENTITY Two sublayers of the Data Link Layer are defined for CCSDS space link protocols as shown in reference [B5]. Each of the three supported Space Data Link Protocols (TM, TC, and AOS) correspond to the Data Link Protocol Sublayer. Operation of the Security Protocol is unaffected by the Synchronization And Channel Coding Sublayer. 2.2.2 PLACEMENT OF THE SERVICE IN TM The conceptual order of processing of the Security Protocol’s functions with respect to other functions of the TM Protocol is shown in Figure 2-2. Depending on the security services actually used, not all of the functions may be present in a real system. CCSDS 355.0-R-1 Page 2-7 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY (SENDING END) Packet Service (RECEIVING END) VC Access Service Packet Service Packet Processing VC Access Service Packet Extraction Encryption VC_FSH VC_OCF Service Service Decryption VC Frame Service Virtual Channel Generation Virtual Channel Reception MC_FSH MC_OCF Service Service Virtual Channel Multiplexing VC Frame Service Virtual Channel Demultiplexing Master Channel Generation Message Authentication VC_FSH VC_OCF Service Service MC_FSH MC_OCF Service Service Master Channel Reception MC Frame Service Message Verification Master Channel Multiplexing Master Channel Demultiplexing All Frames Generation All Frames Reception MC Frame Service Data Transmission NOTE: Services not supported by the security protocol are shown greyed-out and italicized Figure 2-2. Conceptual Order of Processing within TM All Security Protocol functions (Authentication, Encryption, and Authenticated Encryption) can be used with TM to protect the Packet and VC Access Services. They can be used with the VC_FSH and MC_FSH Services for authentication only. They have no effect on the VC_OCF, VC Frame, MC_OCF, and MC Frame Services. 2.2.3 PLACEMENT OF THE SERVICE IN TC The conceptual order of processing of the Security Protocol’s functions with respect to other functions of the TC Protocol is shown in Figure 2-3. Depending on the services actually used, not all of the functions may be present in a real system. CCSDS 355.0-R-1 Page 2-8 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY (SENDING END) MAP Packet Service MAP Access Service VC Packet Service MAP Packet Processing MAP Generation VC Packet Processing (RECEIVING END) VC Access Service MAP Multiplexing MAP Packet Service MAP Access Service VC Packet Service MAP Packet Extraction MAP Generation VC Packet Extraction VC Access Service MAP Demultiplexing COP Mgmt. Service Encryption Decryption Virtual Channel Generation Virtual Channel Reception VC Frame Service Message Authentication Virtual Channel Multiplexing COP Mgmt. Service Message Verification MC Frame Service Virtual Channel Demultiplexing Master Channel Multiplexing Master Channel Demultiplexing All Frames Generation All Frames Reception VC Frame Service MC Frame Service Data Transmission NOTE: Services not supported by the security protocol are shown greyed-out and italicized Figure 2-3. Conceptual Order of Processing within TC All Security Protocol functions (Authentication, Encryption, and Authenticated Encryption) can be used with TC to protect the MAP Packet, MAP Access, VC Packet, and VC Access Services. They have no effect on the COP Management, VC Frame, and MC Frame Services. 2.2.4 PLACEMENT OF THE SERVICE IN AOS The conceptual order of processing of the Security Protocol’s functions with respect to other functions of the AOS Protocol is shown in Figure 2-4. Depending on the services actually used, not all of the functions may be present in a real system. CCSDS 355.0-R-1 Page 2-9 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY (SENDING END) Packet Service Bitstream Service Packet Processing Bitstream Processing (RECEIVING END) VC Access Service VC_OCF Service Encryption Packet Service Bitstream Service Packet Extraction Bitstream Extraction VC Access Service VC_OCF Service Decryption Virtual Channel Generation Virtual Channel Reception VC Frame Service Message Authentication Virtual Channel Multiplexing Message Verification MC Frame Service Master Channel Multiplexing Virtual Channel Demultiplexing Insert Service Master Channel Demultiplexing All Frames Generation VC Frame Service MC Frame Service Insert Service All Frames Reception Data Transmission NOTE: Services not supported by the security protocol are shown greyed-out and italicized Figure 2-4. Conceptual Order of Processing within AOS All Security Protocol functions (Authentication, Encryption, and Authenticated Encryption) can be used with AOS to protect the Packet, Bitstream, and VC Access Services. They have no effect on the VC_OCF, VC Frame, MC Frame, and Insert Services. 2.3 SERVICE FUNCTIONS 2.3.1 SECURITY ASSOCIATIONS The Security Protocol provides security associations for defining the cryptographic communications parameters to be used by both the sending and receiving ends of a communications session, and for maintaining state information for the duration of the session. A Security Association (SA) defines a simplex (one-way), stateful cryptographic session for providing authentication, data integrity, replay protection, and/or data confidentiality. 2.3.1.1 Security Association Context All Transfer Frames that share the same Security Association on a physical channel constitute a Secure Channel. A Secure Channel consists of one or more Global Virtual Channels or Global MAP IDs (TC only) assigned to a SA at the time of its creation. The Security Parameter Index (SPI) is a transmitted value that uniquely identifies the Security Association applicable to a Transfer Frame. All Transfer Frames having the same SPI on a physical channel share a single Security Association. The SPI can be considered as a table index key to a Security Association Database that stores all of the managed information required by each of the Security Associations on a physical channel. CCSDS 355.0-R-1 Page 2-10 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 2.3.1.2 Security Association Service Types When a Security Association is created, one of the following cryptographic functions is selected to be applied on specified fields for all transfer frames using that Security Association: a) Authentication; b) Encryption; c) Authenticated Encryption. Once a Security Association is created, the authentication and/or encryption algorithms specified, along with their modes of operation, are fixed and cannot be changed for the duration of the SA. 2.3.1.3 Security Header and Trailer All Transfer Frames using a Security Association on a physical channel include a Security Header and Trailer surrounding the Frame Data area of the transfer frame. The Security Header carries the Security Parameter Index, initialization vector, anti-replay sequence number, length of any encryption block padding used (where necessary); the Security Trailer carries a message authentication code. Once a Security Association is created, the lengths of the managed fields in the Security Header and Trailer are fixed for the duration of that SA. 2.3.1.4 Security Association Management Both the sender and the receiver must create a Security Association, associate it with cryptographic key(s), and activate it before the Security Association may be used to secure Transfer Frames on a channel. Security Associations may be statically pre-loaded prior to the start of a mission. Security Associations may also be created dynamically as needed, even while other existing SAs are active. The mechanism for switching from one active Security Association to another is an application-layer function. NOTE: Over-the-air negotiation of SA parameters is a (currently undefined) applicationlayer function. 2.3.2 AUTHENTICATION The Security Protocol provides for the use of authentication algorithms to ensure the integrity of transmitted data and the authenticity of the data source. The Security Protocol also provides for the use of sequence numbering to detect the unauthorized replay of previously transmitted data. CCSDS 355.0-R-1 Page 2-11 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 2.3.2.1 Message Authentication and Integrity When the Security Protocol is used for Authentication, a Message Authentication Code (MAC) is computed over the specified transfer frame fields, which are the Frame Header, the optional Secondary Header, the Security Header (as part of this security protocol), and the Frame Data Field. Excluded fields are the channel coding synchronization marker, optional Operational Control Field, optional frame Error Control Field, and the MAC field within the Security Trailer. 2.3.2.2 Replay Protection When the Security Protocol is used for Authentication, a sequence number is also transmitted in the transfer frame. As part of a Security Association providing Authentication, both the sender and receiver manage the following information: a) a sequence number value (current value for the sender, expected value for the receiver); b) a sequence number window for comparison by the receiver; c) the length (number of least-significant bits) of the transmitted portion of the sequence number; d) the location within the transfer frame of the transmitted portion of the sequence number. 2.3.2.2.1 Sequence Number The sender increments its managed sequence number by one with each transmitted frame belonging to that Security Association. The receiver increments its managed sequence number by one with each valid received frame belonging to that Security Association. The receiver compares each received frame’s Sequence Number to its managed sequence number. If the received Sequence Number exceeds the expected value by more than a defined window, the receiver discards the frame, and does not increment its managed sequence number. NOTE: The interpretation of a sequence number rollover (to zero) is mission-specific. Rollover of the sequence number could be used to signal to both the sender and the receiver when the acceptable lifetime of a cryptographic key will end, in order that a key change may be commanded programmatically. 2.3.2.2.2 Sequence Number Window The sequence number window is a fixed delta value, specified in the SA, for the receiver to use in comparing the sequence number received to the expected value. Received frames whose sequence number falls outside this window should be discarded. The size of the selected window should account for predicted delays and gaps in RF transmission. CCSDS 355.0-R-1 Page 2-12 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 2.3.2.2.3 Sequence Number Length The sequence number may be transmitted in its entirety. Alternatively, a defined length of the sequence number’s least-significant bits may be transmitted, as specified in the Security Association. NOTE: The transmitted portion of each SA’s sequence number should be of sufficient length that the transmitted portion will not roll over to zero within fewer frames than the defined sequence number window allows. If the counter is likely to roll over, the SA should specify to transmit the entire sequence number. 2.3.2.2.4 Sequence Number Location The location of the transmitted Sequence Number in the transfer frame is specified in the Security Association. Three options are provided: a) The transmitted portion of the Sequence Number may be located in the Sequence Number field of the Security Header. In this case, its length is a managed SA parameter. b) For systems which implement Authenticated Encryption using a simple incrementing counter as an Initialization Vector (i.e., as in Galois/Counter-mode algorithms), the Initialization Vector field of the Security Header may serve also as the transmitted portion of the Sequence Number. In this case, the Sequence Number field in the Security Header is zero octets in length. c) For systems using AOS which implement usage restrictions such that one and only one AOS Virtual Channel may use a single Security Association, the Virtual Channel Frame Count field of the AOS primary header may also serve as the transmitted portion of the Sequence Number. In this case, the Sequence Number field in the Security Header is zero octets in length. With this option, the managed values of both the sequence number and the Virtual Channel Frame Count field should be set to a defined value in the first frame of this Virtual Channel in which the SA is used, to ensure synchronization. NOTE: This option is applicable only if the AOS Space Data Link Protocol is used on the channel. In all other cases it is invalid. 2.3.3 ENCRYPTION The Security Protocol provides for the use of encryption algorithms to ensure the confidentiality of transmitted data. When the Security Protocol is used for Encryption, the data area of the frame (the ‘plaintext’) is replaced with an encrypted version of the same data (the ‘ciphertext’). An Initialization Vector (IV) should be used as an input to the encryption process. Depending upon the CCSDS 355.0-R-1 Page 2-13 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY encryption algorithm and mode used, additional fill data may be needed to pad any undersized encryption blocks. 2.3.4 AUTHENTICATED ENCRYPTION The Security Protocol provides for the use of authentication and encryption as one combined procedure. When the Security Protocol is used for Authenticated Encryption, the frame data supplied by the user is first encrypted as described in section 2.3.3, a current anti-replay Sequence Number is applied to the transfer frame, and lastly a Message Authentication Code (MAC) is computed over the resultant transfer frame as described in section 2.3.2. CCSDS 355.0-R-1 Page 2-14 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 3 3.1 SERVICE DEFINITION OVERVIEW This section provides service definition in the form of primitives, which present an abstract model of the logical exchange of data and control information between the protocol entity and the service user. The definitions of primitives are independent of specific implementation approaches. The parameters of the primitives are specified in an abstract sense and specify the information to be made available to the user of the primitives. The way in which a specific implementation makes this information available is not constrained by this specification. In addition to the parameters specified in this section, an implementation may provide other parameters to the service user (e.g., parameters for controlling the service, monitoring performance, facilitating diagnosis, and so on). 3.2 SOURCE DATA This subsection specifies the service data units that are transferred from sending users to receiving users by the Security Protocol. 3.2.1 SOURCE DATA FOR ENCRYPTION The service data units encrypted by the Security Protocol on a physical channel are one of the following types of service data units, according to the Space Data Link Protocol used on the channel: a) TM Encryption Payload; b) TC Encryption Payload; c) AOS Encryption Payload. 3.2.1.1 TM Encryption Payload The TM Encryption Payload shall consist of a TM Transfer Frame Data Field. NOTE 1: The TM Transfer Frame Data Field is the data field of the fixed-length protocol data unit of the TM Space Data Link Protocol whose format is defined in [1]. The TM Transfer Frame Data Field is provided to the Security Protocol either by the Packet processing function of the TM Space Data Link Protocol or by the Virtual Channel Access (VCA) Service user. NOTE 2: The length of the TM Transfer Frame Data Field Unit is reduced with respect to the maximum size defined in the TM Space Data Link Protocol by the sizes of the Security Header and Trailer. CCSDS 355.0-R-1 Page 3-15 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 3.2.1.2 TC Encryption Payload The TC Encryption Payload shall consist of one of the following types of frame data for the TC Space Data Link Protocol defined in [2]: a) a TC Segment provided by the MAP processing function of the TC Space Data Link Protocol, excluding the Segment Header; b) a TC Transfer Frame Data Field consisting of an integral number of Virtual Channel Packets provided by the Virtual Channel Packet processing function of the TC Space Data Link Protocol; or, c) a Virtual Channel Access Service Data Unit (VCA_SDU) provided by a VCA service user. Only one of these Encryption Payload types shall exist on a virtual channel. NOTE 1: The TC Segment is the variable-length protocol data unit of the TC Space Data Link Protocol when the Segment Header is used on the Virtual Channel. The TC Segment contains an integral number of octets of user data corresponding to one Frame Data Unit (for a Type-D Transfer Frame), not including the Segment Header. Its format is defined in [2]. NOTE 2: The Virtual Channel Packet is the variable-length protocol data unit of the TC Space Data Link Protocol when the Segment Header is not used on the Virtual Channel. The TC Transfer Frame Data Field contains an integral number of Virtual Channel Packets corresponding to one Frame Data Unit for a Type-D Transfer Frame. Its format is defined in [2]. NOTE 3: The VCA_SDU is a fixed-length, octet-aligned data unit, the format of which is unknown to the service provider. Its length is established by management. VCA_SDUs are transferred over a space link with the Virtual Channel Access Service. 3.2.1.3 AOS Encryption Payload The AOS Encryption Payload shall consist of a Multiplexing Protocol Data Unit (M_PDU), a Bitstream Protocol Data Unit (B_PDU), or a Virtual Channel Access Service Data Unit (VCA_SDU). NOTE 1: The Multiplexing Protocol Data Unit (M_PDU) is the fixed-length protocol data unit of the AOS Multiplexing Service. Its format is defined in [3]. NOTE 2: The Bitstream Protocol Data Unit (B_PDU) is the fixed-length protocol data unit of the AOS Bitstream Service. Its format is defined in [3]. CCSDS 355.0-R-1 Page 3-16 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY NOTE 3: The VCA_SDU is a fixed-length, octet-aligned data unit, the format of which is unknown to the service provider. Its length is established by management. VCA_SDUs are transferred over a space link with the Virtual Channel Access Service. NOTE 4: The length of the M_PDU, B_PDU, or VCA_SDU is reduced with respect to the maximum size defined in the AOS Space Data Link Protocol by the sizes of the Security Header and Trailer. 3.2.2 SOURCE DATA FOR AUTHENTICATION The service data units authenticated by the Security Protocol on a physical channel are one, and only one, of the following types of partially formatted transfer frame, according to the Space Data Link Protocol used on the channel: d) TM Authentication Payload; e) TC Authentication Payload; f) AOS Authentication Payload. 3.2.2.1 TM Authentication Payload The TM Authentication Payload shall consist of the portion of the TM Transfer Frame from the first octet of the Transfer Frame Primary Header to the last octet of the Transfer Frame Data Field immediately preceding the MAC field in the Security Trailer, excluding the optional OCF and ECF. NOTE: 3.2.2.2 The TM Transfer Frame is the fixed-length protocol data unit of the TM Space Data Link Protocol. Its format is defined in [1]. The length of any Transfer Frame transferred on a Physical Channel must be constant, and is established by management. TC Authentication Payload The TC Authentication Payload shall consist of the portion of the TC Transfer Frame from the first octet of the Transfer Frame Primary Header to the last octet of the Transfer Frame Data Field immediately preceding the MAC field in the Security Trailer, excluding the optional ECF. NOTE: The TC Transfer Frame is the variable-length protocol data unit of the TC Space Data Link Protocol. Its format is defined in [2]. CCSDS 355.0-R-1 Page 3-17 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 3.2.2.3 AOS Authentication Payload The AOS Authentication Payload shall consist of the portion of the AOS Transfer Frame from the first octet of the Transfer Frame Primary Header to the last octet of the Transfer Frame Data Field immediately preceding the MAC field in the Security Trailer, excluding the optional Insert Zone, OCF, and ECF. NOTE: 3.3 The AOS Transfer Frame is the fixed-length protocol data unit of the AOS Space Data Link Protocol. Its format is defined in [3]. The length of any Transfer Frame transferred on a Physical Channel must be constant, and is established by management. SECURITY ASSOCIATION (SA) MANAGEMENT SERVICE The Security Association Management Service establishes the context of a Security Association for a particular Global Virtual Channel and/or MAP ID. Implementation of the services necessary to manage the parameters contained in the Security Association Database is a mission-specific function. 3.3.1 SA MANAGEMENT SERVICE PARAMETERS Each Security Association is composed of the commonly applicable parameters listed in 3.3.1.1 below, as well as those parameters in subsections 3.3.1.2 and 3.3.1.3 applicable to the cryptographic function(s) specified in the SA. 3.3.1.1 Security Association Parameters required by all SAs 3.3.1.1.1 Global Virtual Channel ID (GVCID) The GVCID parameter shall contain the ID of the Global Virtual Channel applicable to the Security Association. NOTE: The GVCID consists of a Master Channel ID and a Virtual Channel ID. 3.3.1.1.2 Multiplexer Access Point ID (MAP_ID) The MAP_ID parameter shall contain a TC MAP ID that indicates the Multiplexer Access Point (MAP) Channel (within the Virtual Channel specified by GVCID) applicable to the Security Association. NOTE: The MAP_ID parameter is applicable only if the TC Space Data Link Protocol is used on the channel. 3.3.1.1.3 Security Parameter Index (SPI) The SPI parameter shall contain an index identifying the Security Association applicable to a Frame. Each Security Association on a Physical Channel is identified by a unique Security Parameter Index. CCSDS 355.0-R-1 Page 3-18 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 3.3.1.1.4 SA_service_type The SA_service_type parameter indicates the cryptographic function(s) specified for the Security Association: one of Authentication, Encryption, or Authenticated Encryption. 3.3.1.1.5 SA_length_SN The SA_length_SN parameter indicates the length of the Sequence Number field in the Security Header. 3.3.1.1.6 SA_length_IV The SA_length_IV parameter indicates the length of the Initialization Vector field in the Security Header. 3.3.1.1.7 SA_length_PL The SA_length_PL parameter indicates the length of the Pad Length field in the Security Header. 3.3.1.1.8 SA_length_MAC The SA_length_MAC parameter indicates the length of the Message Authentication Code field in the Security Trailer. 3.3.1.2 Security Association Parameters specific to Authentication 3.3.1.2.1 SA_authentication_algorithm The SA_authentication_algorithm parameter indicates the applicable authentication algorithm and mode of operation. NOTE: The SA_authentication_algorithm parameter is applicable only if SA_service_type parameter is Authentication or Authenticated Encryption. the 3.3.1.2.2 SA_authentication_key The SA_authentication_key parameter indicates the value of a provided authentication key, or of an index that refers to the actual key. 3.3.1.2.3 SA_sequence_number The SA_sequence_number parameter indicates the present value of a managed anti-replay sequence number. CCSDS 355.0-R-1 Page 3-19 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 3.3.1.2.4 SA_sequence_window The SA_sequence_window parameter indicates the amount of deviation which the receiving end will accept between the expected anti-replay sequence number and the sequence number in the received frame. 3.3.1.3 Security Association Parameters specific to Encryption 3.3.1.3.1 SA_encryption_algorithm The SA_encryption_algorithm parameter indicates the applicable encryption algorithm and mode of operation. NOTE: The SA_encryption_algorithm parameter is applicable only SA_service_type parameter is Encryption or Authenticated Encryption. if the 3.3.1.3.2 SA_encryption_key The SA_encryption_key parameter indicates the value of a provided encryption key, or of an index that refers to the actual key. 3.3.1.3.3 SA_initialization_vector The SA_initialization_vector parameter indicates the present value of a managed initialization vector. 3.3.2 SA MANAGEMENT SERVICE PRIMITIVES At present, this Recommendation does not define any service primitives for the Security Association Management Service. Specific directives may be defined in a future revision of this Recommendation. 3.4 ENCRYPTION SERVICE The Encryption Service transfers Encryption Payloads as applicable to the Space Data Link Protocol in use on the channel. Encryption Payloads, pre-formatted by the service user according to the specification given in section 3.2.1 of this Recommendation, are transferred by the service provider according to the Security Association parameters for the applicable Global Virtual Channel. 3.4.1 ENCRYPTION SERVICE PARAMETERS 3.4.1.1 Encryption Payload The Encryption Payload parameter shall contain an Encryption Payload of the applicable Space Data Link Protocol (TM, TC, or AOS) to be transferred on the Virtual Channel identified by GVCID. CCSDS 355.0-R-1 Page 3-20 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 3.4.1.2 GVCID The GVCID parameter shall contain the ID of the Global Virtual Channel on which the Encryption Payload is to be transferred. NOTE: The GVCID consists of a Master Channel ID and a Virtual Channel ID. 3.4.2 ENCRYPTION SERVICE PRIMITIVES The service primitives associated with this service are: a) ENCRYPT.request; b) ENCRYPT.indication. 3.4.2.1 ENCRYPT.request 3.4.2.1.1 Function At the sending end, the Encryption Service user shall pass an ENCRYPT.request primitive to the service provider in order to encrypt and transfer the Encryption Payload through the specified channel. 3.4.2.1.2 Semantics The ENCRYPT.request primitive shall provide parameters as follows: ENCRYPT.request 3.4.2.2 (Encryption Payload, GVCID) ENCRYPT.indication 3.4.2.2.1 Function At the receiving end, the service provider shall pass an ENCRYPT.indication primitive to the Encryption Service user in order to transfer the decrypted Payload. 3.4.2.2.2 Semantics The ENCRYPT.indication primitive shall provide parameters as follows: ENCRYPT.indication 3.5 (Encryption Payload, GVCID) AUTHENTICATION SERVICE The Authentication Service transfers Authentication Payloads as applicable to the Space Data Link Protocol in use on the channel. Authentication Payloads, pre-formatted by the service user according to the specification given in section 3.2.2 of this Recommendation, are transferred by the service provider according to the Security Association for the applicable Global Virtual Channel. CCSDS 355.0-R-1 Page 3-21 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 3.5.1 AUTHENTICATION SERVICE PARAMETERS 3.5.1.1 Authentication Payload The Authentication Payload parameter shall contain an Authentication Payload of the applicable Space Data Link Protocol (TM, TC, or AOS) to be transferred on the Virtual Channel identified by GVCID. 3.5.1.2 GVCID The GVCID parameter shall contain the ID of the Global Virtual Channel on which the Frame is to be transferred. NOTE: 3.5.1.3 The GVCID consists of an Master Channel ID and a Virtual Channel ID. Exception The Exception parameter shall contain a message or status code for the service user to indicate the reason for an authentication failure (e.g., MAC mismatch or sequence number mismatch). 3.5.2 AUTHENTICATION SERVICE PRIMITIVES The service primitives associated with this service are: c) AUTHENTICATE.request; d) AUTHENTICATE.indication. e) AUTHENTICATE.exception. 3.5.2.1 AUTHENTICATE.request 3.5.2.1.1 Function At the sending end, the Authentication Service user shall pass an AUTHENTICATE.request primitive to the service provider in order to perform authentication processing on the Authentication Payload supplied by the service user and transfer the Authentication Payload through the specified channel. 3.5.2.1.2 Semantics The AUTHENTICATE.request primitive shall provide parameters as follows: AUTHENTICATE.request CCSDS 355.0-R-1 (Authentication Payload, GVCID) Page 3-22 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 3.5.2.2 AUTHENTICATE.indication 3.5.2.2.1 Function At the receiving end, the service provider shall pass a AUTHENTICATE.indication primitive to the Authentication Service user to deliver an Authentication Payload after the service has successfully verified the MAC and sequence number of the received Authentication Payload. 3.5.2.2.2 Semantics The AUTHENTICATE.indication primitive shall provide parameters as follows: AUTHENTICATE.indication 3.5.2.3 (Authentication Payload, GVCID) AUTHENTICATE.exception 3.5.2.3.1 Function At the receiving end, the service provider shall pass a AUTHENTICATE.exception primitive to the Authentication Service user to notify the user that the service has received a Authentication Payload but the Authentication Payload’s MAC or sequence number has failed verification. 3.5.2.3.2 Semantics The AUTHENTICATE.exception primitive shall provide parameters as follows: AUTHENTICATE.exception CCSDS 355.0-R-1 (Exception, Authentication Payload, GVCID) Page 3-23 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 4 PROTOCOL SPECIFICATION 4.1 PROTOCOL DATA UNITS 4.1.1 SECURITY HEADER The Security Header is mandatory and shall consist of one mandatory field and three optional fields, positioned contiguously, in the following sequence: a) Security Parameter Index (16 bits; mandatory); b) Initialization Vector (octet-aligned, fixed-length for the duration of the Security Association; optional); c) Sequence Number (octet-aligned, fixed-length for the duration of the Security Association; optional); d) Pad Length (octet-aligned, fixed-length for the duration of the Security Association; optional). A Security Header shall consist of at most 64 octets. The receiver will determine the presence and length of optional fields in the Security Header by using the Security Parameter Index to reference the corresponding Security Association. The format of the Security Header is shown in Figure 4-1. SECURITY HEADER (bits) SECURITY PARAMETER INDEX INITIALIZATION VECTOR (Optional) SEQUENCE NUMBER (Optional) PAD LENGTH (Optional) 16 Managed Managed Managed Figure 4-1. Security Header 4.1.1.1 Security Parameter Index (SPI) Bits 0-15 of the Security Header shall contain the Security Parameter Index. This 16-bit field shall be used as an index to identify a Security Association (SA). There can be up to 65534 Security Associations per Master Channel. A value of all zeros (‘0’) or all ones (‘65535’) for this field is reserved by CCSDS for future use. 4.1.1.2 Initialization Vector The Initialization Vector field shall follow the Security Parameter Index field, without gap. This field, if Encryption or Authenticated Encryption is selected for a Security Association, shall contain the transmitted portion of the initialization vector, consisting of a integral number of octets. The Initialization Vector field length is managed and is fixed for the CCSDS 355.0-R-1 Page 4-24 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY duration of the Security Association. If Encryption is not selected for a Security Association, this field shall be zero octets in length. 4.1.1.3 Sequence Number The Sequence Number field shall follow the Initialization Vector field, without gap. This field, if Authentication or Authenticated Encryption is selected for a Security Association, shall contain the transmitted portion of the anti-replay sequence number, consisting of a integral number of octets. The Sequence Number field length is managed and is fixed for the duration of the Security Association. If Authentication or Authenticated Encryption is not selected for a Security Association, this field shall be zero octets in length. NOTE 1: For systems which implement Authenticated Encryption using a simple incrementing counter as an Initialization Vector (i.e., as in Galois/Counter-Mode algorithms), the Initialization Vector field of the Security Header may serve also as the transmitted portion of the Sequence Number. In this case, the Sequence Number field in the Security Header is zero octets in length. NOTE 2: For systems which implement Authentication or Authenticated Encryption over AOS Space Data Link protocol, which implement usage restrictions such that one and only one AOS Virtual Channel may use a single Security Association, the Virtual Channel Frame Count field of the AOS primary header may also serve as the transmitted portion of the Sequence Number. In this case, the Sequence Number field in the Security Header is zero octets in length. With this option, the managed values of both the sequence number and the Virtual Channel Frame Count field should be set to a defined value in the first frame of this Virtual Channel in which the SA is used, to ensure synchronization. 4.1.1.4 Pad Length The Pad Length field shall follow the Sequence Number field, without gap. It shall contain an integral number of octets. If Encryption is not selected for a Security Association, this field shall be zero octets in length. 4.1.2 SECURITY TRAILER The Security Trailer is optional and shall consist of a Message Authentication Code (octetaligned, fixed-length for the duration of the Security Association). The format of the Security Trailer is shown in Figure 4-2. If Authentication is not selected for a Security Association, this field should be zero octets in length. CCSDS 355.0-R-1 Page 4-25 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY SECURITY TRAILER MESSAGE AUTHENTICATION CODE (MAC) (Optional) (bits) Managed Figure 4-2. Security Trailer 4.2 SECURITY PROTOCOL PROCEDURES The following procedures shall be carried out to perform the operations of the active Security Association. Prior to operation of the SDLS Protocol, the sending and receiving ends shall initialize a common SA data base containing all the parameters of the SAs to be used on the link. Synchronization of the contents of the sender’s and receiver’s SA data bases should be maintained during operation. Initialization, modification, and maintenance procedures for those SA data bases are not part of this SDLS protocol but will be developed later by CCSDS. 4.2.1 SECURITY ASSOCIATION MANAGEMENT PROCEDURES In order to use a Security Association to secure Transfer Frames on a channel, each end (both sending and receiving end) of a Security Association shall: a) create the Security Association; b) associate it with cryptographic key(s); and, c) associate it with the Global Virtual Channel(s) or Global Multiplexer Access Point (MAP) IDs with which it is to be used. NOTE 1: It is expected that some missions will choose to define Security Associations statically and pre-load/pre-activate them prior to the start of the mission. NOTE 2: Specifying the successful implementation of cryptographic key management is beyond the scope of this document. 4.2.1.1 Security Association Context Every Security Association shall specify one or more Global Virtual Channels or Global Multiplexer Access Point (MAP) IDs (TC only) with which the Security Association is to be used. NOTE 1: The GVCID consists of a Master Channel ID and a Virtual Channel ID. NOTE 2: The MAP_ID parameter is applicable only if the TC Space Data Link Protocol is used on the channel. In all other cases it is invalid. CCSDS 355.0-R-1 Page 4-26 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 4.2.1.1.1 OID Transfer Frames and Virtual Channels Security Associations shall not be created for use with Virtual Channels reserved by CCSDS for carrying “fill” data (i.e., “Only Idle Data” (OID) transfer frames). 4.2.1.2 Security Parameter Index Every Security Association shall be associated with a Security Parameter Index (SPI). The Security Parameter Index (SPI) is a transmitted value that uniquely identifies the Security Association applicable to a Transfer Frame. All Transfer Frames having the same SPI on a master channel share a single Security Association. 4.2.1.3 Security Association Service Type Every Security Association shall specify one and only one of the following cryptographic functions to perform: a) Authentication; b) Encryption; c) Authenticated Encryption. NOTE: 4.2.1.4 It is possible to create a “clear mode” Security Association using one of the defined service types, by specifying the algorithm as a “no-op” function (no actual cryptographic operation to be performed). Such a Security Association might be used, e.g,, during development testing of other aspects of data link processing before cryptographic capabilities are available for integrated testing. To avoid inducing a false illusion of secure communications, and the problems described in section 7.4, the use of such a Security Association is not recommended in normal operation. It is also possible to activate a ‘clear mode’ by designating one or more Virtual Channels to use the underlying Space Data Link Protocol without the Security Protocol’s protections. Parameters Common to All SAs Every Security Association shall also specify the following: a) Security Parameter Index; b) length of Initialization Vector field in Security Header; c) length of Sequence Number field in Security Header; d) length of Pad Length field in Security Header; e) length of Message Authentication Code field in Security Trailer. CCSDS 355.0-R-1 Page 4-27 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 4.2.1.5 Parameters for Authentication SAs Every Security Association providing Authentication shall also specify the following: a) authentication algorithm and mode of operation; b) managed Sequence Number; c) managed Sequence Number window. 4.2.1.6 Parameters for Encryption SAs Every Security Association providing Encryption shall also specify the following: a) encryption algorithm and mode of operation1. b) managed Initialization Vector. 4.2.1.7 Parameters for Authenticated Encryption SAs Every Security Association providing Authenticated Encryption shall specify everything required in both sections 4.2.1.5 and 4.2.1.6 above. 4.2.2 SENDING PROCEDURES This subsection describes procedures at the sending end associated with each of the functions shown in Figure 2-2, Figure 2-3, and Figure 2-4. These figures identify data-handling functions performed by the protocol entity, and show logical relationships among these functions. These figures are not intended to imply any hardware or software configuration in a real system. Depending on the services actually used for a real system, not all of the functions may be present in the protocol entity. The procedures described in this section are defined in an abstract sense and are not intended to imply any particular implementation approach of a protocol entity. 4.2.2.1 Authentication Operations If Authentication is selected for a Security Association, the sender shall: a) increment the Security Association’s managed sequence number by one with each transmitted frame belonging to that Security Association; b) place the transmitted portion of the sequence number (the least-significant bits of the managed sequence number) in the Sequence Number field of the Security Header, unless that Security Association specifies to use the Virtual Channel Frame Count field of the transfer frame primary header as a sequence number (AOS only); 1 The chosen algorithm and mode also imply other attributes such as the required encryption block size and the corresponding need to pad undersized data blocks. CCSDS 355.0-R-1 Page 4-28 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY c) compute a Message Authentication Code over the transfer frame from the first octet of the Transfer Frame Primary Header to the last octet of the Transfer Frame Data Field immediately preceding the MAC field in the Security Trailer, excluding the optional Insert Zone (AOS only), optional OCF (TM, AOS only), and optional ECF; d) (if necessary) truncate the least-significant bits of the computed MAC, such that the result is of identical length to the MAC field in the Security Trailer; e) place the computed MAC in the Security Trailer. An abstract model of the Authentication function is illustrated in Figure 4-3 for the TM protocol, and in Figure 4-4 for the TC and AOS protocols. NOTE: While the operation of the Authentication function is substantially the same across TM, TC, and AOS, its execution is deferred in TM until after Master Channel Generation due to the placement of the Master Channel Frame Count in the TM Primary Header. Master Channel Generation Function MC Frames Authentication Function for a Virtual Channel Message Authentication MC Frames Master Channel Multiplexing Function Figure 4-3. Abstract Model of Authentication Function in TM CCSDS 355.0-R-1 Page 4-29 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY Virtual Channel Generation Function VC Frames Authentication Function for a Virtual Channel Message Authentication VC Frames Virtual Channel Multiplexing Function Figure 4-4. Abstract Model of Authentication Function in TC or AOS 4.2.2.2 Encryption Operations If Encryption is selected for a Security Association, the sender shall: a) encrypt the Frame Data field. b) (optionally) if the encryption algorithm and mode selected for the Security Association require the use of fill padding, place the number of fill bytes used in the encryption process into the Pad Length field of the Security Header. An abstract model of the Encryption function is illustrated in Figure 4-5. CCSDS 355.0-R-1 Page 4-30 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY (Only one of these entities exists for a Virtual Channel) VC Packet Processing Function (TM, TC, AOS) Bitstream Processing Function (AOS) MAP Multiplexing Function (TC) Frame Data Units Frame Data Units Encryption Function for a Virtual Channel Frame Data Units VCA Service User (TM, TC, AOS) Frame Data Units Encryption (Encrypted) Frame Data Units Virtual Channel Generation Function Figure 4-5. Abstract Model of Encryption Function 4.2.2.3 Authenticated Encryption Operations If Authenticated Encryption is selected for a Security Association, the sender shall: a) carry out the Encryption operations described in the preceding section 4.2.2.2; then, b) carry out the Authentication operations described in the preceding section 4.2.2.1. 4.2.3 RECEIVING PROCEDURES This subsection describes procedures at the receiving end associated with each of the functions shown in Figure 2-2, Figure 2-3, and Figure 2-4. These figures identify datahandling functions performed by the protocol entity, and show logical relationships among these functions. These figures are not intended to imply any hardware or software configuration in a real system. Depending on the services actually used for a real system, not all of the functions may be present in the protocol entity. The procedures described in this section are defined in an abstract sense and are not intended to imply any particular implementation approach of a protocol entity. 4.2.3.1 Security Association Management Operations Each receiver shall enforce the following policy for all frames received over a Global Virtual Channel. Prior to performing the specific Security Association operations described in sections 4.2.3.2, 4.2.3.3, and 4.2.3.4, the receiver shall: CCSDS 355.0-R-1 Page 4-31 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY a) discard frames in which the received frame has a Security Header, but the Security Association referenced in its Security Parameter Index is not associated with that Virtual Channel. 4.2.3.2 Authentication Operations If Authentication is selected for a Security Association, the receiver shall: a) compute a Message Authentication Code over the transfer frame from the first octet of the Transfer Frame Primary Header to the last octet of the Transfer Frame Data Field immediately preceding the MAC field in the Security Trailer, excluding the optional Insert Zone (AOS only), optional OCF (TM, AOS only), and optional ECF; b) (if necessary) truncate the least-significant bits of the computed MAC, such that the result is of identical length to the MAC field in the Security Trailer; c) verify that the computed MAC matches the MAC received in the Security Trailer; d) report an exception to the service user for frames in which the received frame fails MAC verification; e) extract the transmitted portion of the sequence number from either the Sequence Number field of the Security Header, the Initialization Vector field of the Security Header, or the Virtual Channel Frame Count field of the Transfer Frame Primary Header, according to the options specified for that Security Association; f) compute a current value by performing a logical-OR of the transmitted sequence number with the most-significant bits of the managed sequence number, according to the lengths specified for that Security Association, and compare the current value to the managed sequence number; g) report an exception to the service user for frames in which the current value deviates from the expected value by more than the window defined for that Security Association; h) increment the managed sequence number only upon receipt of frames that pass the verification operations a) - g) above; i) remove the Security Trailer from the Frame Data Field to be returned to the service user; j) if Authentication only is specified for the Security Association, remove the Security Header from the Frame Data Field to be returned to the service user. 4.2.3.3 Encryption Operations If Encryption is selected for a Security Association, the receiver shall: CCSDS 355.0-R-1 Page 4-32 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY a) decrypt the Frame Data field; b) remove the Security Header from the Frame Data Field to be returned to the service user. 4.2.3.4 Authenticated Encryption Operations If Authenticated Encryption is selected for a Security Association, the receiver shall: a) carry out the Authentication operations described in the preceding section 4.2.3.2; then, b) carry out the Encryption operations described in the preceding section 4.2.3.3. CCSDS 355.0-R-1 Page 4-33 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 5 5.1 USE OF THE SERVICES WITH CCSDS PROTOCOLS TM PROTOCOL The following restrictions apply to use of the Security Protocol with TM: a) the Packet and VC Access Services may be used on a Global Virtual Channel with the Authentication, Encryption, or Authenticated-Encryption Service, and are protected by each of these services; b) the VC_FSH and MC_FSH Services may be used on a Global Virtual Channel with the Authentication, Encryption, or Authenticated-Encryption Service, and are protected by Authentication but are not protected by Encryption; c) the VC_OCF, VC Frame, MC_OCF, and MC Frame Services are not protected by the Authentication, Encryption, or Authenticated-Encryption Services, but may be used on the same Master Channel. 5.1.1 TM TRANSFER FRAME PROCEDURES The format of the TM Transfer Frame is defined in reference [1]. The following rules on the format of the TM Transfer Frame shall be applied when the Security Header is present: a) the TM Frame Secondary Header, if present, shall follow the TM Transfer Frame Primary Header; b) the Security Header shall follow the TM Frame Secondary Header, if present; c) the Transfer Frame Data Field shall follow the Security Header; d) the Security Trailer (MAC), if present, shall follow the Transfer Frame Data Field; e) the Operational Control Field (OCF), if present, shall follow the Security Trailer (MAC); f) the Frame Error Control Field (ECF), if present, shall follow the Operational Control Field. The format of a TM Transfer Frame using the Security Protocol is shown in Figure 5-1. CCSDS 355.0-R-1 Page 5-34 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY TM TRANSFER FRAME 6 2-64 SECURITY HEADER FRAME DATA MAC ECF (Optional) SECONDARY HEADER (Optional) OCF (Optional) (octets) TRANSFER FRAME PRIMARY HEADER 4 2 Encryption is done on Frame Data only. MAC is computed over Primary Header, Secondary Header, Security Header, and Frame Data. MAC is not computed over frame sync mark (not shown), OCF, or ECF. Figure 5-1. TM Transfer Frame using the Security Protocol 5.2 TC PROTOCOL The following restrictions apply to use of the Security Protocol with TC: a) the MAP Packet, MAP Access, VC Packet, and VC Access Services may be used on a Global Virtual Channel with the Authentication, Encryption, or AuthenticatedEncryption Service, and are protected by each of these services; b) the COP Management, VC Frame, and MC Frame Services are not protected by the Authentication, Encryption, or Authenticated-Encryption Services, but may be used on the same Master Channel. 5.2.1 TC TRANSFER FRAME PROCEDURES The format of the TC Transfer Frame is defined in reference [2]. The following rules on the format of the TC Transfer Frame shall be applied when the the Security Header is present: a) the TC Segment Header, if present, shall follow the TC Transfer Frame Primary Header; b) the Security Header shall follow the TC Segment Header, if present; c) the Transfer Frame Data Field shall follow the Security Header; d) the Security Trailer (MAC), if present, shall follow the Transfer Frame Data Field. e) the Frame Error Control Field (ECF), if present, shall follow the Transfer Frame Data Field. The format of a TC Transfer Frame using the Security Protocol is shown in Figure 5-2. TC Transfer Frame using the Security Protocol . CCSDS 355.0-R-1 Page 5-35 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY TC TRANSFER FRAME 5 1 SECURITY HEADER FRAME DATA MAC ECF (Optional) SEGMENT HEADER (octets) TRANSFER FRAME PRIMARY HEADER 2 Encryption is done on Frame Data only. MAC is computed over Primary Header, Segment Header, Security Header, and Frame Data. MAC is not computed over frame sync mark (not shown) or ECF. Figure 5-2. TC Transfer Frame using the Security Protocol 5.3 AOS PROTOCOL The following restrictions apply to use of the Security Protocol with AOS: a) the Packet, Bitstream, and VC Access Services may be used on a Global Virtual Channel with the Authentication, Encryption, or Authenticated-Encryption Services, and are protected by each of these services; b) the VC_OCF Service, VC Frame, MC Frame, and Insert Services are not protected by the Authentication, Encryption, or Authenticated-Encryption Services, but may be used on the same Master Channel. 5.3.1 AOS TRANSFER FRAME PROCEDURES The format of the AOS Transfer Frame is defined in reference [3]. The following rules on the format of the AOS Transfer Frame shall be applied when the Security Header is present: a) the Insert Zone, if present, shall follow the AOS Transfer Frame Primary Header; b) the Security Header shall follow the Insert Zone, if present; c) the Transfer Frame Data Field shall follow the Security Header; d) the Security Trailer (MAC), if present, shall follow the Transfer Frame Data Field; e) the Operational Control Field (OCF), if present, shall follow the Security Trailer (MAC); f) the Frame Error Control Field (ECF), if present, shall follow the Operational Control Field. The format of an AOS Transfer Frame using the Security Protocol is shown in Figure 5-3. CCSDS 355.0-R-1 Page 5-36 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY AOS TRANSFER FRAME 6-8 Managed SECURITY HEADER MAC FRAME DATA ECF (Optional) INSERT ZONE (Optional) OCF (Optional) (octets) TRANSFER FRAME PRIMARY HEADER 4 2 Encryption is done on Frame Data only. MAC is computed over Primary Header, Security Header, and Frame Data. MAC is not computed over frame sync mark (not shown), Insert, OCF, or ECF. Figure 5-3. AOS Transfer Frame using the Security Protocol 5.4 SUMMARY OF PROTOCOL SERVICES Table 5-1 provides a summary of which services of the supported Space Data Link Protocols may be protected using the service functions of the Security Protocol. Table 5-1. Summary of Protocol and Services Support Space Data Link Protocol TM TC CCSDS 355.0-R-1 Service Authentication Encryption Authenticated Encryption Packet Protected Protected Protected VC Access Protected Protected Protected VC_FSH Protected Not protected Authentication only VC_OCF Not protected Not protected Not protected VC Frame Not protected Not protected Not protected MC_FSH Protected Not protected Authentication only MC_OCF Not protected Not protected Not protected MC Frame Not protected Not protected Not protected MAP Packet Protected Protected Protected MAP Access Protected Protected Protected VC Packet Protected Protected Protected Page 5-37 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY AOS CCSDS 355.0-R-1 VC Access Protected Protected Protected COP Management Not protected Not protected Not protected VC Frame Not protected Not protected Not protected MC Frame Not protected Not protected Not protected Packet Protected Protected Protected Bitstream Protected Protected Protected VC Access Protected Protected Protected VC_OCF Not protected Not protected Not protected VC Frame Not protected Not protected Not protected MC Frame Not protected Not protected Not protected Insert Not protected Not protected Not protected Page 5-38 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 6 MANAGED PARAMETERS In order to conserve bandwidth on the space link, certain parameters associated with the Security Protocol are handled by management, and not transmitted as part of the inline communications protocol. The managed parameters are those which tend to be static for long periods of time, and whose change generally signifies a major reconfiguration of the service provider associated with a particular mission. Through the use of a management system, management conveys the required information to the service provider. The managed parameters used for the Security Protocol are listed in Table 6-1. These parameters are defined in an abstract sense, and are not intended to imply any particular implementation of a management system. The majority of managed parameters are the parameters of the Security Association Database managed by both the sending and receiving ends, which must match one another in order to operate correctly. Table 6-1. Managed Parameters for Security Protocol Managed Parameter Allowed Values Defined In Minimum TM/TC/AOS Frame Data Unit length (octets) Integer Reference [4] Maximum TM/TC/AOS Frame Data Unit length (octets) Integer Reference [4] Security Association Database Parameters: Security Parameter Index (SPI) 1-65534 Security Association Service Type Authentication (indicates which cryptographic operations are performed for a Security Association) Encryption Authenticated Encryption Security Association Context GVCID (identifies the GVCIDs or Global MAP IDs with which a Security Association is used) Global MAP ID CCSDS 355.0-R-1 Page 6-39 References [1], [2], [3] Reference [2] February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY Transmitted length of Sequence Number (if used) 2-8 octets Transmitted length of Initialization Vector (if used) 0-32 octets Transmitted length of Pad Length (if used) 0-2 octets Transmitted length of Message Authentication Code (if used) 8-64 octets Authentication algorithm Reference [5] Authentication key Anti-replay sequence number Integer Anti-replay sequence number window (± current Sequence Number) Integer Encryption algorithm Reference [5] Encryption key Encryption initialization vector CCSDS 355.0-R-1 Page 6-40 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY 7 SECURITY 7.1 INTRODUCTION Communications security attempts to ensure the confidentiality, integrity, and/or authenticity of transmitted data, as required depending on the threat, the mission security policy(s), and the desire of the mission planners. It is possible for a single data unit to require all three of these security attributes to ensure that the payload is not disclosed, not altered, and not spoofed. 7.2 SECURITY CONCERNS Security concerns specific to the Security Protocol design are addressed in more detail in reference [B1]. It may be necessary to apply security services at multiple layers within the protocol stack, to account for distributed processing and cross-support, to account for different classes of data or end users, or to account for protection of data during unprotected portions of the complete end-to-end transmission (e.g., across ground networks). The specification of security services at other layers is outside the scope of this document. For more information regarding the choice of services and where they can be implemented, see references [B2] and [B3]. For more information regarding the choice of particular cryptographic algorithms, see reference [5]. 7.3 POTENTIAL THREATS AND ATTACK SCENARIOS The Security Protocol provides no protection against denial-of-service attacks against the communications channel, such as radio-frequency jamming. The Security Protocol provides no protection against traffic flow analysis. Where encryption is used, a careful choice of algorithm and mode will provide protection to the user-supplied data unit, but an attacker can use the Spacecraft ID, Virtual Channel ID, TC MAP ID, OCF, or COP control directives as metadata for inferring information about the parties communicating and possibly the nature or status of their communications. The Security Protocol provides no cryptographic key management protocol. Specifying the successful implementation of cryptographic key management is beyond the scope of this document. See Reference [B4] for more information. The Security Protocol provides no protection to TC COP control commands nor to COP CLCW status information returned in the OCF; an attacker could use false COP control directives or OCF contents to interfere with a communications session. The Security Protocol foresees the existence of a ‘clear’ mode for certain VCs. If a clear mode is implemented, the conditions under which, and by which, it is activated should be carefully analyzed, as those might introduce major security vulnerabilities. CCSDS 355.0-R-1 Page 7-41 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY Specific potential threats and attack scenarios are addressed in more detail in reference [B1]. 7.4 CONSEQUENCES OF NOT APPLYING SECURITY Without authentication, unauthorized commands or software might be uploaded to a spacecraft or data received from a source masquerading as the spacecraft. Without data integrity, corrupted commands or software might be uploaded to a spacecraft potentially resulting in the loss of the mission. Without data integrity, corrupted telemetry might be retrieved from a spacecraft which could result in an incorrect course of action being taken. If confidentiality is not implemented, data flowing to or from a spacecraft might be visible to unauthorized entities resulting in disclosure of sensitive or private information. CCSDS 355.0-R-1 Page 7-42 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY ANNEX A PROTOCOL IMPLEMENTATION CONFORMANCE STATEMENT (NORMATIVE) [Annexes contain ancillary information. Normative annexes precede informative annexes. Informative references are placed in an informative annex. See CCSDS A20.0-Y-2, CCSDS Publications Manual (Yellow Book, Issue 2, June 2005) for discussion of the kinds of material contained in annexes.] CCSDS 355.0-R-1 Page A-1 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY ANNEX B INFORMATIVE REFERENCES (This annex is not part of the Recommendation) [B1] Space Data Link Security Concept of Operation. Informational Report, CCSDS 350.5-G-1. Green Book. Washington, D.C.: CCSDS, _____. [B2] The Application of CCSDS Protocols to Secure Systems. Informational Report, CCSDS 350.0-G-2. Green Book. Issue 2. Washington, D.C.: CCSDS, January 2006. [B3] Security Architecture for Space Data Systems. Informational Report, CCSDS 350.5M-1. Magenta Book. Washington, D.C.: CCSDS, ____. [B4] Space Missions Key Management Concept. Informational Report, CCSDS 350.6-Gx. Green Book. Washington, D.C.: CCSDS, ____. [B5] Overview of Space Link Protocols. Informational Report, CCSDS 130.0-G-1. Green Book. Issue 1. Washington, D.C.: CCSDS, June 2001. NOTE: Normative references are listed in section 1.8. CCSDS 355.0-R-1 Page B-2 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY ANNEX C BASELINE IMPLEMENTATION MODE (This annex is not part of the Recommendation) C.1. BASELINE MODE FOR USE WITH TM C.2. ALGORITHM The baseline implementation to be used for interoperability testing and operation is Authenticated Encryption, using the Advanced Encryption Standard (AES) algorithm in the Galois/Counter Mode (GCM) as defined in [5]. In addition: a) the key shall be 128 bits in total length; b) the input initialization vector shall be 96 bits in total length, where all 96 bits are transmitted in-line in the Initialization Vector field of the Security Header; c) the output Message Authentication Code shall be 128 bits in total length. C.3. SECURITY HEADER The baseline implementation uses a Security Header of 14 octets in length. The format of the Security Header is shown in Figure 7-1. NOTE 1: The Galois/Counter Mode of operation normally uses a simple incrementing counter as its initialization vector. A separate anti-replay Sequence Number is unnecessary, therefore the Sequence Number field shown in Figure 7-1 is zero octets in length. See section 4.1.1.2. NOTE 2: The Galois/Counter Mode of operation does not require padding, therefore the length of the Pad Length field shown in Figure 7-1 is zero octets. SECURITY HEADER (bits) SECURITY PARAMETER INDEX INITIALIZATION VECTOR SEQUENCE NUMBER PAD LENGTH 16 96 0 0 Figure 7-1. Security Header (TM Baseline) C.4. SECURITY TRAILER The baseline implementation uses a Security Trailer of 16 octets in length. The format of the Security Header is shown in Figure 7-2. CCSDS 355.0-R-1 Page C-3 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY SECURITY TRAILER MESSAGE AUTHENTICATION CODE (MAC) (bits) 128 Figure 7-2. Security Trailer (TM Baseline) C.5. BASELINE MODE FOR USE WITH TC C.6. ALGORITHM The baseline implementation to be used for interoperability testing and operation is Authentication, using the Advanced Encryption Standard (AES) algorithm used in the Cipher-based Message Authentication Code (CMAC) mode as defined in [5]. In addition: d) the key shall be 128 bits in total length; e) the anti-replay sequence number shall be 32 bits in total length, where all 32 bits are transmitted in-line in the Sequence Number field of the Security Header; f) the output Message Authentication Code shall be 128 bits in total length. C.7. SECURITY HEADER The baseline implementation uses a Security Header of 6 octets in length. The format of the Security Header is shown in Figure 7-3. NOTE: The CMAC mode of operation performs no encryption and does not require an initialization vector nor padding, therefore the length of the Initialization Vector and Pad Length fields shown in Figure 7-3 are zero octets each. SECURITY HEADER (bits) SECURITY PARAMETER INDEX INITIALIZATION VECTOR SEQUENCE NUMBER PAD LENGTH 16 0 32 0 Figure 7-3. Security Header (TC Baseline) C.8. SECURITY TRAILER The baseline implementation uses a Security Trailer of 16 octets in length. The format of the Security Header is shown in Figure 7-4. CCSDS 355.0-R-1 Page C-4 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY SECURITY TRAILER MESSAGE AUTHENTICATION CODE (MAC) (bits) 128 Figure 7-4. Security Trailer (TC Baseline) C.9. BASELINE MODE FOR USE WITH AOS C.10. ALGORITHM The baseline implementation to be used for interoperability testing and operation is Authenticated Encryption, using the Advanced Encryption Standard (AES) algorithm used in the Galois/Counter Mode (GCM) as defined in [5]. In addition: g) the key shall be 128 bits in total length; h) the input initialization vector shall be 96 bits in total length, where all 96 bits are transmitted in-line in the Initialization Vector field of the Security Header; i) the output Message Authentication Code shall be 128 bits in total length. C.11. SECURITY HEADER The baseline implementation uses a Security Header of 14 octets in length. The format of the Security Header is shown in Figure 7-5. NOTE 1: The Galois/Counter Mode of operation normally uses a simple incrementing counter as its initialization vector. A separate anti-replay Sequence Number is unnecessary, therefore the Sequence Number field shown in Figure 7-5 is zero octets in length. See section 4.1.1.2. NOTE 2: The Galois/Counter Mode of operation does not require padding, therefore the length of the Pad Length field shown in Figure 7-5 is zero octets. SECURITY HEADER (bits) SECURITY PARAMETER INDEX INITIALIZATION VECTOR SEQUENCE NUMBER PAD LENGTH 16 96 0 0 Figure 7-5. Security Header (AOS Baseline) C.12. SECURITY TRAILER The baseline implementation uses a Security Trailer of 16 octets in length. The format of the Security Header is shown in Figure 7-6. CCSDS 355.0-R-1 Page C-5 February 2016 DRAFT CCSDS RECOMMENDED STANDARD FOR SPACE DATA LINK SECURITY SECURITY TRAILER MESSAGE AUTHENTICATION CODE (MAC) (bits) 128 Figure 7-6. Security Trailer (AOS Baseline) CCSDS 355.0-R-1 Page C-6 February 2016