SGN2-04-WP10-SV4 integrity alogorithm

advertisement
ACP WGN SGN2 WP N2/4/10
03 May 2005
AERONAUTICAL COMMUNICATIONS PANEL (ACP)
WORKING GROUP N (NETWORKING)
SUB-GROUP N2 (AIR/GROUND APPLICATIONS)
Montreal, Canada, 11-12 May, 2005
Agenda Item 5.3 Review of Proposed Doc 9705 Section 4
Proposed Doc 9705 Updated Sub-volume IV for PM-CPDLC
checksum algorithm
Presented by EUROCONTROL
Summary
This paper proposes SARPs and Guidance Material for inclusion in ICAO Doc
9705 Sub-Volume IV to include a default ATN Checksum Algorithm for use initially
by PM-CPDLC.
Proposed Doc 9705 Updated Sub-volume IV for PM-CPDLC checksum algorithm
Ref : TRS054/T05/DEL/D04
TABLE OF CONTENTS
1.
2.
3.
Introduction .....................................................................................................................................1
1.1
Background ...............................................................................................................................1
1.2
References ................................................................................................................................1
Proposed Changes to Sub-Volume IV ...........................................................................................2
2.1
PM-CPDLC App-type registration .............................................................................................2
2.2
ATN Message Checksum .........................................................................................................2
Proposed Draft Guidance Material .................................................................................................3
3.1
Information included in the Scope of the Integrity Check .........................................................3
3.2
Choice of Integrity Check Algorithm ..........................................................................................4
3.3
Negotiation of the Integrity Check Algorithm.............................................................................5
Version: 0.A
Date: 03 May 2005
Page: ii
Proposed Doc 9705 Updated Sub-volume IV for PM-CPDLC checksum algorithm
Ref : TRS054/T05/DEL/D04
1.
INTRODUCTION
1.1
Background
The development of PM-CPDLC requires a suitable integrity check algorithm to a)
generate the integrity check sequence to be included in protected messages, and b) to
verify the integrity check sequence in received data items.
A default algorithm than can be invoked by any ATN application is proposed for inclusion
in Doc 9705 Sub-Volume IV.
1.2
Version: 0.A
References
[1]
Manual of Technical Provisions for the Aeronautical Telecommunication Network
(ATN), ICAO Doc. 9705, Third Edition - 2002, Sub-Volume II: Air-Ground
Applications.
[2]
ACP/SGN2 WP N2/4/2 Proposed Doc 9705 Section 2.5 PM-CPDLC (.pdf) –
Proposed V1.1 input Montreal
Date: 03 May 2005
Page: 1
Proposed Doc 9705 Updated Sub-volume IV for PM-CPDLC checksum algorithm
Ref : TRS054/T05/DEL/D04
2.
PROPOSED CHANGES TO SUB-VOLUME IV
2.1
PM-CPDLC App-type registration
Application types are registered in ICAO Doc 9705 Sub-Volume IX. However, for historical reasons,
the application type defections are also reproduced in Sub-Volume IV.
Add the following row to table 4.3-2
Protected Mode CPDLC
2.2
PCPC (22)
ATN Message Checksum
In order to make the common checksum computation and verification processing available in a
consistent way for all ATN applications, a new major section (4.10) is proposed for the Upper Layer
Communications Service in SV4. (For the second Edition, it will be necessary to add placeholders for
sections 4.7 – 4.9)
4.10
ATN Message Integrity Check Sequence
Note.- The integrity check algorithm specified in this section may optionally be invoked by the ATN
Application User specification to provide a proof of message integrity. If other information (e.g. sender
and/or receiver identity) is also bound to the message when the integrity sequence is computed and
verified then it can also provide additional proofs (e.g. a proof of delivery to an intended recipient).
4.10.1 By default, an application Integrity Check shall be computed using the Default ATN Message
Checksum algorithm as specified in 4.10.2.
Note.—Other Integrity Check algorithms may be used and their use identified by including, in
the application message, a Relative OID that identifies the algorithm alongside the computed
Integrity Check. However, the use of an alternative Integrity Check algorithm must be agreed
in advance by both air and ground users using a procedure outside of the scope of this
specification.
4.10.2 Default ATN Message Checksum algorithm
Note 1.— The Default ATN Message Checksum algorithm generates a 32 bit (4 octet)
checksum.
Note 2.—The Default ATN Message Checksum algorithm is a 32 bit version of the Fletcher
algorithm. This has been chosen in order to satisfy requirements for high data integrity with
good performance characteristics.
Note 3.—The object identifier "atn-default-checksum" as defined below identifies the Default
ATN Message Checksum algorithm :
atn-default-checksum ::= OBJECT IDENTIFIER {iso(1) identified organisation (3)
icao(27) atn-algorithms(9) atc-chk32(0)}
4.10.2.3
Symbols
Note 1.— The symbols used in this specification are as follows:
C0, C1, C2, C3 are variables used by the algorithm.
i is the number (i.e. position) of an octet within the Message to be protected
L
is the length of the Message to be protected, in octets.
Xj
is the value of the j'th octet of the checksum BIT STRING, where X0 is the
first octet in the BIT STRING, X1 is the second, X2 is the third and X3 is the fourth
octet.
Note 2.—The Message to be protected is a bit string provided by the user of this algorithm
4.10.2.4
Arithmetic Conventions
4.10.2.4.1 Addition shall be performed in one of the two following modes:
Version: 0.A
Date: 03 May 2005
Page: 2
Proposed Doc 9705 Updated Sub-volume IV for PM-CPDLC checksum algorithm
Ref : TRS054/T05/DEL/D04
a) modulo 255, or
b) ones complement arithmetic
4.10.2.4.2 In the ones complement mode, if any of the variables has the value minus zero (i.e.
0xFFFF), it shall be regarded as though it were plus zero (i.e. 0).
4.10.2.5
Algorithm for Checksum Generation
4.10.2.5.1 If the message to be protected is not an integral number of octets, it shall be right
padded with '0' bits to the next octet boundary.
4.10.2.5.2 The ATN Message checksum shall be generated by the following algorithm.
a. Initialise C0, C1, C2 and C3 to zero
b. Process each octet in the Message sequentially from i = 1 to L by
1) adding the value of the octet to C0; then
2) adding the value of C0 to C1, C1 to C2, and C2 to C3
c. Set the octets of the checksum as follows:
1) X0 = - (C0 + C1 + C2 + C3)
2) X1 = C1 + 2*C2 + 3*C3
3) X2 = - (C2 + 3*C3)
4) X3 = C3
4.10.2.6
Algorithm for Checksum Verification
4.10.2.6.1 When the integrity of a message is to be verified using this algorithm, the
verification function shall:
a) Append to the Message the octets of the checksum field in the same order in which
they appear in the checksum BIT STRING.
b) Initialise C0, C1, C2 and C3 to zero
c) Process each octet in the Message, including the appended checksum octets,
sequentially from i = 1 to L by
i)
adding the value of the octet to C0; then
ii)
adding the value of C0 to C1, C1 to C2, and C2 to C3
d) Discard the appended checksum octets.
e) If, when all the octets have been processed, all of the variables C0, C1, C2 and C3
have the value zero, then a "success" indication is given to the algorithm user .
Otherwise, a "verification failure" indication is given to the algorithm user.
3.
PROPOSED DRAFT GUIDANCE MATERIAL
The following text is proposed as additional Guidance Material for Sub-Volume IV.
3.1
Information included in the Scope of the Integrity Check
This check is a message digest or checksum that is computed from a canonically-encoded bit steam
provided by the user of the integrity check mechanism.
For example, for PM-CPDLC, the user provides an encoded ASN.1 sequence comprising:
Version: 0.A

the PER encoded CPDLC message,

the Flight ID

the 24-bit ICAO Address
Date: 03 May 2005
Page: 3
Proposed Doc 9705 Updated Sub-volume IV for PM-CPDLC checksum algorithm
Ref : TRS054/T05/DEL/D04

the Ground Facility Designation of the ATSU

The CPDLC ASE Version Number.
This Integrity Check is then transferred along with the message. Note that the CPDLC message does
not itself include the Flight ID, 24-bit ICAO Address, Ground Facility Designation, or the CPDLC ASE
Version Number. These are only used for the purposes of creating and verifying the Integrity Check.
By verifying the Integrity Check, the receiver gains a proof that it is in agreement with the sender on
the value of the Flight ID, 24-bit ICAO Address, Ground Facility Designation, and the CPDLC ASE
Version Number. For example, a controller may decide to uplink a clearance to a given Flight identified
by its Flight ID. The ground system looks up the Flight Plan to determine the 24-bit ICAO Address of
the aircraft and then generates the Integrity Check over the message, using the ASE Version Number,
the ATSU’s Ground Facility Designation, the Flight ID selected by the controller and the 24-bit ICAO
Address recorded in the Flight Plan as a result of the CM Logon. It then selects the appropriate
transport connection and uplinks the message.
When the message is received by the aircraft, the Integrity Check is verified using the Flight ID as
currently specified by the pilot, the configured 24-bit ICAO Address, the Ground Facility Designation of
the Data Authority, and the ASE Version Number. As long as these are the same as used by the
ground when the Integrity Check was generated, then the Integrity Check will be verified and a proof is
obtained that the message has been delivered to the intended aircraft.
On the other hand, if an error occurs in the processing or distribution of CM Logon information, or the
transport connection selection, then the message may arrive at the wrong aircraft. The receiving
aircraft will use a different value for the Flight ID, 24-bit ICAO Address, or both, and Integrity Check
verification will fail. Any hazard occurring as a result of these errors is thus mitigated by the verification
of the Integrity Check. Due to the independent nature of the Integrity Check, no reliance has to be
placed on the dynamic linkage between Flight ID and the identity of the aircraft operating the Flight,
maintained through CM Logon and the Ground Systems.
It is now also possible to distribute CM Logon information on the ground, and meet the Safety
Objectives, as any failure to update this information will also result in an Integrity Check verification
failure and hence such an error, although undesirable, is not a hazard.
The Data Authority’s Ground Facility Designation is also included in the scope of the Integrity Check.
This adds no protocol overhead to CPDLC but will detect any error due to avionics or the air/ground
communications service mixing up transport connections to the CDA, NDA or DSA. This adds
robustness and may simplify avionics design.
The CPDLC ASE Version Number is also included in the scope of the Integrity Check. The ground and
airborne users must use the same ASE Version if there is not to a be risk that messages may be
incorrectly decoded. The ASE Version is checked when the CPDLC Start is processed. However, the
integrity of the ASE Version Number exchanged on a CPDLC Start is outside of the scope of the
CPDLC Integrity Check and the Safety Case will need to rely on the data integrity provided by the
transport protocol if this check is to be relied on for safety purposes. Including the CPDLC ASE
Version Number in the scope of the Integrity Check adds no protocol overhead and is a robust solution
that may usefully avoid having to depend upon correct operation of the transport protocol.
3.2
Choice of Integrity Check Algorithm
The default algorithm for the application Integrity Check is a 32-bit version of the Fletcher algorithm.
The 16-bit version of the Fletcher algorithm is well known as the checksum algorithm for TP4 and has
been well researched. It is understood to have an undetected error rate better than 1 in 105 (fraction of
all errors detected).
The 32-bit version of the Fletcher algorithm is already in use by ICAO SARPs for the extended
Transport Checksum, and is based on Fletcher’s original paper:
“An Arithmetic Checksum for Serial Transmission” – IEEE Transactions on Communications – January
1982.
Fletcher’s analysis implies that this version of the checksum has an undetected error rate of better
than 1 in 1010.
Version: 0.A
Date: 03 May 2005
Page: 4
Proposed Doc 9705 Updated Sub-volume IV for PM-CPDLC checksum algorithm
Ref : TRS054/T05/DEL/D04
The 32-bit checksum is preferred over the 16-bit checksum as an undetected error rate better than 1
in 105 is not believed to be sufficient for remote hazards.
3.3
Negotiation of the Integrity Check Algorithm
All compliant implementations support the default algorithm. Compliancy to other algorithms is a
matter for later versions of the specification or for regional implementations.
Other Integrity Check algorithms may be specified in the future and the specification is extensible to
include any such algorithm. New Integrity Check algorithms may be proposed to change the
information included in the scope of the Integrity Check and hence the proof offered on Integrity Check
verification. Cryptographic checksum algorithms may also be proposed to provide authentication and a
proof that the message has not been modified.
Version: 0.A
Date: 03 May 2005
Page: 5
Download