S4S Security Header Level 2
To initiate the beginning of a secured area and to provide the parameters needed for authentication or encryption of a transaction set
Position
Element
Name
Type
Requirement
Min
Max
Repeat
Code indicating the version/release of the ASC X12 standard that is being used for this specific security structure. The version/release identified for this segment also applies to any corresponding trailer or security value segment.
This version/release is independent of any other version/release identified in another security segment at the transaction set or functional group level. This version/release is independent of the version/release identified at the interchange or functional group level
Code identifying the security algorithms and methods applied for this level of interchange
If S4S02 is "AA", "BB", "AC", or "BC", then S4S05 is required.
If S4S02 is "BB", "EE", "AC", or "EC", then S4S08 is required.
If S4S02 is "CC" then S4S09 is required.
Unique designation (identity) of the cryptographic process that performs authentication or encryption on data to be interchanged, or originates a cryptographic service message
Note: X9 has a minimum length of 4 characters for the security originator; no mechanism, or registration method is provided by X9 or X12 to guarantee the uniqueness of the identifier
X9 has a required minimum length of four characters for S4S03 (security originator). No mechanism, or registration method, is provided by X9 or X12 to guarantee uniqueness of the identifier.
Unique designation (identity) of the cryptographic process that performs authentication or decryption on received data, or is the destination of a cryptographic service message
Note: X9 has a minimum length of 4 characters for the security recipient; no mechanism, or registration method is provided by X9 or X12 to guarantee the uniqueness of the identifier
X9 has a required minimum length of four characters for S4S04 (security recipient). No mechanism, or registration method, is provided by X9 or X12 to guarantee uniqueness of the identifier.
Name of the key used for authentication; this name is mutually known to the security originator and the security recipient, is unique for this relationship, and is intended to allow the changing of the key from time to time
Note: The special key name "0123456789ABCDEF" is reserved for the hexadecimal value 0123456789ABCDEF (i.e. a fixed non-secret value) to provide a well-known value for data integrity testing only)
P0506: If either S4S-05 or S4S-06 is present, then the other is required
In S4S05, the special name "01234567890ABCDEF" is reserved for the hexadecimal value 01234567890ABCDEF (i.e., a fixed, non-secret value) to provide a well-known value for data-integrity testing only.
Code identifying authentication options
Code specifying the protocol used to identify a certificate
Code specifying the type of filter used to convert data code values
Revision level of a particular format, program, technique or algorithm
Value used to identify a certificate containing a public key
Code specifying the protocol used to identify a certificate
P05060708: If either C050-05, C050-06, C050-07 or C050-08 are present, then the others are required
Code specifying the type of filter used to convert data code values
Revision level of a particular format, program, technique or algorithm
Value used to identify a certificate containing a public key
Code specifying the protocol used to identify a certificate
P09101112: If either C050-09, C050-10, C050-11 or C050-12 are present, then the others are required
Code specifying the type of filter used to convert data code values
Revision level of a particular format, program, technique or algorithm
Value used to identify a certificate containing a public key
Name of the key used for encryption; this name is mutually known to the security originator and the security recipient, is unique for this relationship, and is intended to allow the changing of the key from time to time
Note: If any of the optional fields are present, the Key Name should contain either "PUBLIC" if a public key is being used to encrypt the one-time key or the actual name of the asymmetric key-encrypting-key used to encrypt the one-time key.
Code specifying protocol used to encrypt the session key
Additional material required for decrypting the one-time key
Hexadecimally filtered encrypted one-time key
Codes specifying values representing options for encryption processing, including the use of compression and filtering; the code either defines the encryption mode and the transmission filter specification for filtering binary data into transmittable text or specifics that the following subelements define these values
Code identifying the algorithm used for encryption
Code specifying the Mode of Operation of the Encryption Algorithm
Code specifying the type of filter used to convert data code values
P0405: If either C032-04 or C032-05 is present, then the other is required
Revision level of a particular format, program, technique or algorithm
Code identifying the type of Compression Used
P0607: If either C032-06 or C032-07 is present, then the other is required
Revision level of a particular format, program, technique or algorithm
Value indicating the length of the initialization vector contained
Length of data is the number of character positions of the compressed or encrypted/filtered text; when data is plain text, this field shall be absent
Binary or filtered data having one or more security policy options applied; transformed data may represent compressed, encrypted, or compressed and encrypted plaintext
The first set of characters in DE 1700, with a length defined by the C03208 value (DE 1704), is the initialization vector (IV). The IV is followed by a stream of data, whose length is equal to S4S10 minus C03208.