top - download
⟦a5282d955⟧ Wang Wps File
Length: 47673 (0xba39)
Types: Wang Wps File
Notes: SEC. Fil. Architecture
Names: »3175A «
Derivation
└─⟦550b0bab9⟧ Bits:30006219 8" Wang WCS floppy, CR 0276A
└─ ⟦this⟧ »3175A «
WangText
…00……00……1b… …1a……0b……1a……00……1a……05……19……0c……19… …86…1
…02…
…02…
…02…
…02…
NATO UNCLASSIFIED…86…1 …02… …02… …02… …02…
…02…
…02…
NATO UNCLASSIFIED
…02……0e…SFS/PFS/001…0f…
KFL/821220
#
PRELIMINARY
FILTER
SPECIFICATION
SFS
T̲A̲B̲L̲E̲ ̲O̲F̲ ̲C̲O̲N̲T̲E̲N̲T̲S̲
1. GENERAL ....................................
1.1 PURPOSE ....................................
1.2 PROJECT REFERENCES .......................
1.3 TERMS AND ABBREVIATIONS ..................
2. SUMMARY OF REQUIREMENTS ....................
2.2 SYSTEM FUNCTIONS .........................
2.2.1 Filter Functions.....................
2.2.2 Auxiliary Functions .................
2.2.2.1 Software Production and Maintenance
2.2.2.2 Validation Information Conversion
2.2.2.3 Test and Verification ............
2.2.2.4 Test Material Production ..........
2.2.2.5 Log Analysis ......................
2.2.2.6 Table Updating .....................
2.2.2.7 Statistics .......................
2.3 ACCURACY AND VALIDITY ....................
2.4 TIMING ...................................
2.5 FLEXIBILITY ..............................
3. ENVIRONMENT ..................................
3.1 EQUIPMENT ENVIRONMENT ....................
3.2 SUPPORT SOFTWARE ENVIRONMENT .............
3.3 INTERFACES ...............................
3.4 SECURITY .................................
3.5 CONTROLS ................................
4. DESIGN DETAILS .............................
4.1 GENERAL OPERATING PROCEDURES ............
4.1.2.1 Reception of messages ............
4.1.2.2 Recognition of Message Type ......
4.1.2.3 A Dat P3 Message Type Validation
4.1.2.4 Recognition of MSGID etc. ........
4.1.2.5 Validation of a Set ..............
4.1.2.6 Validation of Single Fields ......
4.1.2.7 Retransmission of Legal Message ..
4.1.2.8 Logging of Illegal Message .......
4.1.2.9 Calculation of Frequency of Illegal
Messages ..........................
4.1.2.10 Alert Function .................
4.1.2.11 Suspension of Message ..........
4.1.3 Auxiliary Elements ...................
4.1.3.1 Definition of Legal Messages .....
4.1.3.2 Conversion of Validation Information
4.1.3.3 Test and Verification ............
4.1.3.5 Log Analysis .....................
4.1.3.6 Table Updating System (or Procedure)
4.1.3.7 Statistics .......................
1̲.̲ ̲G̲E̲N̲E̲R̲A̲L̲
1.1 P̲U̲R̲P̲O̲S̲E̲
This Preliminary Filter Specification constitutes the
report on work package No 270 of the Security Filter
Study, contract No FK 8219, and is written to fulfil
the following objectives:
a) To provide a preliminary definition of the system
functions
b) To provide a preliminary baseline on which to base
the definition of the filter architecture
c) To discuss the complex of operative and auxiliary
functions necessary for a security filter system
This document is in some places rather detailed and
specific, in other places more brief. The detailed
parts are so in order to explain and clarify the feasibility
rather than to freeze the system definition. Where
a solution is obvious and does not need a more specific
description at this moment, the text is much more brief.
During the study it has become evident to the study
team that many aspects of the security filter can be
constructed in a number of different ways. It is thus
not the only and ultimate solution which is presented
here, and every single paragraph must be considered
undecided, however detailed it is written.
1.2 P̲R̲O̲J̲E̲C̲T̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲
TBS
1.3 T̲E̲R̲M̲S̲ ̲A̲N̲D̲ ̲A̲B̲B̲R̲E̲V̲I̲A̲T̲I̲O̲N̲S̲
F̲i̲r̲m̲w̲a̲r̲e̲: Software stored in a type of memory which
is readable but not alterable by the system
in question. Such a type of memory is often
referred to as "read-only-memory". For
the sake of convenience the term "software
is used in this document for both software
and firmware, except where a clear distinction
is necessary.
M̲T̲F̲: Message Text Format.
T̲B̲S̲: To be specified
2. S̲U̲M̲M̲A̲R̲Y̲ ̲O̲F̲ ̲R̲E̲Q̲U̲I̲R̲E̲M̲E̲N̲T̲S̲
2.1 S̲Y̲S̲T̲E̲M̲ ̲D̲E̲S̲C̲R̲I̲P̲T̲I̲O̲N̲
The Security Filter is a computer placed in a point-to-point
communication line with the purpose of filtering the
message traffic, i.e. to withhold messages which for
security reasons are not allowed to pass the subject
communication line.
The security filter operates on traffic both ways on
the line but with different filter characteristics.
2.2 S̲Y̲S̲T̲E̲M̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲S̲
2.2.1 F̲i̲l̲t̲e̲r̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲
The filter characteristics are implemented by means
of a definition of all legal message contents, and
message traffic deviating from the defined legal contents
is consequently considered illegal.
The definition of legal message contents is exchangeable.
Hence the filter can be used on lines with different
legal traffic, and the definition can be modified from
time to time. Illegal messages are logged by the security
filter. Frequent traffic of illegal messages will cause
an alert for immediate action.
The security filter can - if necessary - be expanded
by adding some operator communication facilities to
make possible a human validation of messages too complex
to be validated by the computer.
2.2.2 A̲u̲x̲i̲l̲i̲a̲r̲y̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲
To ensure proper operation of the security filter certain
auxiliary functions are necessary.
2.2.2.1 S̲o̲f̲t̲w̲a̲r̲e̲ ̲P̲r̲o̲d̲u̲c̲t̲i̲o̲n̲ ̲a̲n̲d̲ ̲M̲a̲i̲n̲t̲e̲n̲a̲n̲c̲e̲
The computer programs necessary to perform the security
filter functions must be analyzed, planned, documented,
coded, compiled, tested and verified.
Since the security filter by itself is not applied
with the peripheral equipment necessary for those purposes,
the program development tasks must be performed utilizing
other hardware.
Although the aim is to produce flexible programs able
to handle all present and future legal message traffic,
the possibility exists that a future expansion or modification
not anticipated during the development period will
appear. Accordingly the software production system
ought to be retained for possible future maintenance.
2.2.2.2 V̲a̲l̲i̲d̲a̲t̲i̲o̲n̲ ̲I̲n̲f̲o̲r̲m̲a̲t̲i̲o̲n̲ ̲C̲o̲n̲v̲e̲r̲s̲i̲o̲n̲
The filter function is based both on computer programs
of stable character, and on legal message definitions,
which may vary from time to time and among the various
security filter sites.
To allow for easy and frequent modification of this
validation information a converter system must be at
hand.
The information used for validation of message traffic
must be written in a legible (by humans) form, and
converted into a computer-legible form.
Also this task must be performed on a computer distinct
from the security filter.
2.2.2.3 T̲e̲s̲t̲ ̲a̲n̲d̲ ̲V̲e̲r̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The validation information converted into tables must
be thoroughly tested to ensure that it is cooperating
correctly with the security filter software. The testing
must be sufficient to verify (render probable beyond
any reasonable doubt) that the filter will allow only
legal messages to pass.…86…1 …02… …02… …02… …02…
2.2.2.4 T̲e̲s̲t̲ ̲M̲a̲t̲e̲r̲i̲a̲l̲ ̲P̲r̲o̲d̲u̲c̲t̲i̲o̲n̲ ̲
To ensure a thorough testing a considerable amount
of test material (test messages) must be produced.
The quality of the test material is measured not only
by the quantity but also by its variation in lieu of
the constraints to be tested. The use of a computerised
test data generator seems inevitable, and the possibility
of use of a commercially available data generator must
be considered.
2.2.2.5 L̲o̲g̲ ̲A̲n̲a̲l̲y̲s̲i̲s̲
The logged illegal messages will be subject to analysis
by security or ADP personnel. This analysis must take
place away from the filter site, and thus the logging
medium must be exchanged and carried to an off-line
display or print station, where the scrutiny of the
illegal messages can be performed.
The exchange of logging medium must be subject to control
by authorized personnel. The logging medium must not
be removed by unauthorized personnel. The removal shall
be governed by restrictions very much like those inposed
on the exchange of validation information.
2.2.2.6 T̲a̲b̲l̲e̲ ̲U̲p̲d̲a̲t̲i̲n̲g̲
The table updating in an operative security filter
must be performed as an exchange of a full set of validation
information. This is necessary since the testing of
the validation information in performed on a complete
set.
The exchange must be performed by or under surveillance
of authorized personnel and precautions shall be taken
to ensure that any unauthorized attempt to change or
alter the validation information results in a break
of the filter operation.
2.2.2.7 S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲
Collection of statistics information is an option.
If such an option is chosen it must be ensured that
it will have no influence at all on the message traffic
of the filter software, and the collected statistics
information must be kept safe for unauthorised eyes
very much like the validation information. Compilating
of eventual statistics must be performed off-line.
2.3 A̲C̲C̲U̲R̲A̲C̲Y̲ ̲A̲N̲D̲ ̲V̲A̲L̲I̲D̲I̲T̲Y̲
The security filter system is based on total accuracy
and validity. This means that there will be no tolerances
whatsoever.
It must be described in detail which items shall be
checked, and for each single item it shall be exactly
defined, which values are legal. If a message does
not match exactly and in every item to be checked,
with the prespecified definition, it shall be declared
illegal, logged and not transmitted.
For a security filter site which is fitted with operator
communication facilities the same rules apply. Only
if all items to be automatically checked match the
validation information, a message may be suspended.
The suspension pertains only to items which are prespecified
for human validation. Any other item to be checked
may cause the validation to fail prior to the decision
of suspension.
2.4 T̲I̲M̲I̲N̲G̲
The security filter shall be transparent to the two
ADP systems connected by the line filtered by the system
except for a minor delay defined as the transmission
time plus five seconds.
This means in interpretation that the first bit of
a message shall be sent from the security filter system
not later than 5 seconds after the last bit of the
message has been received. Further, that messages from
each side shall be processed in the same order as they
are received.
For a fully automated security filter system this implies
only that the capacity shall be sufficient to process
the largest and most complex message from each side
within 5 seconds, including handshaking and protocol
and transmission procedures.
For an operator assisted security filter system this
is not true. As soon a message is suspended for human
validation a delay of more than five seconds must be
expected for that message.
To maintain the transparency of the filter to the highest
possible extent, normal operation shall be resumed
immediately after the suspension. The suspended message
shall be transmitted when it has been validated by
the operator (if he declares it legal).
2.5 F̲L̲E̲X̲I̲B̲I̲L̲I̲T̲Y̲
The security filter system shall be flexible as far
as it shall be possible to define new legal messages
to it. This means that other legal contents must be
easy to define and implement, only taking into consideration
that it shall be performed following a secure procedure.
The ability to accept new messages will, however, be
limited to message formats or message format description
types which are known or aforeseen at the time of implementation
of the security filter system computer programs.
If a new message format cannot be formally and structurally
described by means of existing programs, reprogramming
may be necessary. (The impossiblility of describing
the format could, however, be used as a reason for
suspending a message type, i̲f̲ the security filter in
question is equipped with operator communication facilities,
and i̲f̲ it is possible - using the existing programs
- to recognize the message t̲y̲p̲e̲ ̲)
Also the number and complexity of legal messages defined
to a certain security filter shall be flexible, but
the available memory will set limits for the amount
of validation information to be at hand at each time.
3̲ ̲E̲N̲V̲I̲R̲O̲N̲M̲E̲N̲T̲
3̲.̲1̲ E̲Q̲U̲I̲P̲M̲E̲N̲T̲ ̲E̲N̲V̲I̲R̲O̲N̲M̲E̲N̲T̲
The security filter hardware equipment will be described
in the Technical Note No 2, "Architectural Study",
Document No SFS/TN/002.
The equipment to be used for software development and
other auxiliary function is undecided, but at least
the test equipment must be compatible with the filter
equipment.
3.2 S̲U̲P̲P̲O̲R̲T̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲ ̲E̲N̲V̲I̲R̲O̲N̲M̲E̲N̲T̲
N/A
3.3 I̲N̲T̲E̲R̲F̲A̲C̲E̲S̲
The security filter shall be transparent to the communicating
ADP systems, and there is thus no interfaces as such.
The communication interface problems are solved by
standard communication protocol conventions.
3.4 S̲E̲C̲U̲R̲I̲T̲Y̲
The security filter must be physically enclosed with
due consideration to two reasons:
- it shall be shielded for electric radiation (TEMPEST
proof)
- it shall be locked to prevent against unauthorized
intrusion
For the prevention against unauthorized intrusion it
is of concern that the security filter is supposed
to be located within a safe area, and the prevention
needs not be specified to withstand the extreme violence.
It will be sufficient to supply the filter with locks
which prevents from an unintended or "by incident"
opening of the doors of the ceasing, and some supplementary
feature, which stops the operation of the filter and
makes a restart impossible (until duly authorized personnel
have restored the filter), and possibly sounds an
alarm.
3.5 C̲O̲N̲T̲R̲O̲L̲S̲ ̲
The security filter may not control, and may not be
controlled by, any of the two communicating ADP-systems.
No specific controls are established for the security
filter.
4̲.̲ ̲D̲E̲S̲I̲G̲N̲ ̲D̲E̲T̲A̲I̲L̲S̲
4.1 G̲E̲N̲E̲R̲A̲L̲ ̲O̲P̲E̲R̲A̲T̲I̲N̲G̲ ̲P̲R̲O̲C̲E̲D̲U̲R̲E̲S̲ ̲
4.1.1 S̲y̲s̲t̲e̲m̲ ̲E̲l̲e̲m̲e̲n̲t̲s̲
The security filter system elements are separated in
operational elements and auxiliary elements.
The operational elements of the system are those adhering
to the operational security filter site performing
the filtering tasks etc.
The auxiliary elements of the system are those performed
off line with the purpose of preparing software and
validation information for the operational security
filter sites, and processing the logged output from
the filter sites.
4.1.2 O̲p̲e̲r̲a̲t̲i̲o̲n̲a̲l̲ ̲E̲l̲e̲m̲e̲n̲t̲s̲
The operational elements of the security filter system
encompasses the tasks performed at the operational
security filter system site. Those functions are in
principle running in an unattended mode and should
be transparent to the communication ADP systems.
The software used on a computer is generally separated
into an operating system (system software) and some
dedicated computer programs (application software).
This separation is used partly to facilitate ease of
application programming, partly to ensure that errors
in application programs do not jeopardize system files
and simultaneous data processing on the same computer.
In the security filter system, however, file handling
and system control and other tasks normally performed
by the system software, is minimized, and the requirements
for error free application software are extremely high.
Hence, the separation between system software and application
software is not essential. It must be very musch depending
on the hardware solution eventually chosen.
Only is it essential to ensure a high degree of modularity
of the software and a perfect interaction between software
modules. For all that is to it, all software could
be either system software or application software.
4.1.2.1 R̲e̲c̲e̲p̲t̲i̲o̲n̲ ̲o̲f̲ ̲m̲e̲s̲s̲a̲g̲e̲s̲
The reception of the messages from the transmission
lines are performed by a standard line termination
unit, which receives the signal in accordance with
the specified protocol including bit error check, serial-to-parallel
conversion etc. and stores the message in a dedicated
part of the compartmentalized RAM storage. Further
message handling is controlled by a processor outside
of the line termintation unit.
4.1.2.2 R̲e̲c̲o̲g̲n̲i̲t̲i̲o̲n̲ ̲o̲f̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲T̲y̲p̲e̲
The first task of the main computer after having gained
control over an incoming message is to try to recognize
the message type. The message type is found as a parameter
value in the message header.
Based on the message type the main computer checks
the legal traffic table to decide if the message type
is allowed on the line and in the direction, in which
the message is sent.
This is the first point where a message can be declared
illegal. Two conditions shall be fulfilled: First the
message type itself shall be legal on that line. Second,
it shall be legal in the actual direction.
If either of the two conditions is not fulfilled, the
message shall be declared illegal and handled accordingly
(see paragraph 4.1.2.8).
The two conditions can be checked in one or two tables.
Either there is a table containing all legal message
types and an additional table indicating the legal
directions of each message type, or there is one table
for each direction containing only legal message types
for the corresponding direction.
If the message is declared legal in the actual direction,
the path through the validation program shall be chosen.
The path through the validation program is dependent
of the message type format. The legal messages may
be of a number of different formats. Certain formats
may be so much alike that they can be processed in
the same program path. Others may differ so much that
special paths must be programmed.
4.1.2.3 A̲ ̲D̲a̲t̲ ̲P̲3̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲T̲y̲p̲e̲ ̲V̲a̲l̲i̲d̲a̲t̲i̲o̲n̲
The A Dat P3 type format is anticipated to be the most
complex format, and it is used as a model for the rest
of this description. Other format types may be processed
in a similar or less complex way.
In addition to the choice of program path the prime
entry in the validation table shall be made in this
step of the validation procedure. This includes the
choice of the table for the message traffic direction
in case a certain message type is allowed in both directions.
4.1.2.4 R̲e̲c̲o̲g̲n̲i̲t̲i̲o̲n̲ ̲o̲f̲ ̲M̲S̲G̲I̲D̲ ̲e̲t̲c̲.̲
This and the following paragraphs concentrate on the
processing of an A Dat P3 type message, which has already
been identified as a such. Also the transmission direction
has been determined.
At this time the table for legal A Dat P3 messages
in the correct direction has been chosen.
The MSGID set of the message is located, either as
the first set following the classification and subject
Indicator Code lines, or following the first set when
this is an EXER or OPER set.
The first field of the MSGID set is the message identification.
The message identification shall be found in the Validation
table for A Dat P3 message type for the actual direction.
If the message identification is not found, the message
shall be declared illegal and processed accordingly
(see paragraph 4.1.2.8).
If the message identification is found in the table,
corresponding fields in the table will point to legal
classification(s) for the message in process, and to
Subject Indicator Code(s), and to a set table.
It is checked that the classification (and "Special
Handling" if present) is one of those specified legal
for the message, and that the corresponding subject
indicator code is correct. If either of the two checks
fails the message is declared illegal and processed
accordingly (see paragraph 4.1.2.8).
If classification and subject indicator code are found
OK, validation passes on to the set table for the message.
(In "Functional Analysis" it was suggested that EXER
and OPER sets be analysed in connection with the message
identification. However, after another thought it is
now suggested to move those checks to the standard
set checks).
The set table contains the set identifier of any set
allowed within the message, whether it is mandatory,
conditional, or optional.
In addition the table contains indications (or codes)
for the set's status as mandatory, optional, or conditional.
If the set is conditional, a code indicating the condition
will be present. Further the table contains an indication
if the set is part of a segment, and for possible repeatability.
(If the set is part of a segment, this indicates that
the set may be repeated one time per repetition of
the segment. The repetion code goes for a repetition
of the set itself. If a set may be repeated, the following
sets of the same identification shall follow immediately
after the first, or it may be separated from the preceding
set by means of an AMPN set).
When a segment (group of sets) is repeated the following
segments shall follow immediately after the preceding
segment, or the segments may be separated by a NARR
set.
Nested segments are segments embedded in another segment.
Repeated occurrencies of nested segments follow the
same rules, i.e. they must immediately follow each
other, or be separated by NARR sets only.
4.1.2.5 V̲a̲l̲i̲d̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲a̲ ̲S̲e̲t̲
It has already been checked that the occurence of a
set is legal. The validation of the set therefore encompasses
only the legality of the set itself.
The legality of a set depends on its content, and the
content is a number of fields. Since the fields are
only identified by their relative position within a
set, a set can only be validated by checking the number
of fields, and the fields may subsequently be checked
for their contents.
Hence the validation of a set consists solely of splitting
the set into single field, identifying them by their
relative positions, and counting them.
A set must contain at least the number of fields specified
as mandatory, and if no repeatable field or groups
of fields are specified - no more fields than the specified
number.
The splitting of a set into single fields may be performed
by setting up a table containing the addresses of the
start of each field. Also the number of fields must
be stored. This will facilitate the subsequent checking
of the fields.
If the set is a free test set (AMPN, NARR, or RMKS)
only the length of the free text field can be checked.
4.1.2.6 V̲a̲l̲i̲d̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲S̲i̲n̲g̲l̲e̲ ̲F̲i̲e̲l̲d̲s̲
The legal contents of a field must be specified in
an unambiguous way. There are several possibilities
of which a few are mentioned here.
a) Set of specific values.
It is specified that the content of a field shall
be one of a set of specific values. Those values
may include a hyphen, indicating that no value
exists, or the omission of the field, if this is
syntactically allowable. The legal values are stored
in a string pointed at by a table of addresses.
If a hyphen or omission is allowed, one entry of
a hyphen must appear in the string of legal contents.
The sequence of the entries must be either numeric/alphabetic
ascending, or it must be in a precedence order
determined by the expected frequency of the single
values in actual messages.
When a field is located the content is compared
with the entries in the specific values string,
either sequentically (if the entries are in frequency
order) of by a binary search (if the entries are
sorted in ascending sequence).
The legal value entries may be stored in one string,
where each entry starts immediately after the preceding.
The relative addresses of the first character of
each entry can be placed in another table, and
the length of an entry can be calculated by subtracting
the address from the address of the next entry.
0101 0112 0124 0135 0147 0158 0169 0182
FIRST ENTRYSECOND ENTRYTHIRD E
b) a specific syntax
It may be specified that a field shall be composed
in a specific syntax. This can include a fixed
length of the field. Further it may mean that the
field must contain only numerals, only alphabetic
characters, or another exact specification, possibly
a specific sequence of characters of varying types,
e.g. 6 numeric followed by 1 alphabetic character
(DTG).
c) within limits
It can be specified that a field shall contain
a value within two prespecified limits. This seems
to be most feasible in case of numeric values.
d) a complex syntax
It may be considered to specify a complex syntax,
by which is meant a combination of length character
types, and values.
As an example is used a geographical position:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
It must be 15 characters of length.
First six characters must be numeric between zero
and 900000.
Characters 3 and 4 must be between zero and 59.
Characters 5 and 6 must be between zero and 59.
Character 7 must be "N" or "S".
Character 8-14 must be numeric between zero and
1600000.
Charater 11 and 12 must be between zero and 59.
Characters 13 and 14 must be between zero and 59.
Characters 15 must be either "E" or "W".
e) no constraint
It may be necessary to convey names of persons,
ships, geographical entities, or other, which are
impossible to specify in beforehand. Fields to
contain such names cannot be constrained.
4.1.2.7 R̲e̲t̲r̲a̲n̲s̲m̲i̲s̲s̲i̲o̲n̲ ̲o̲f̲ ̲L̲e̲g̲a̲l̲ ̲M̲e̲s̲s̲a̲g̲e̲
When a message has been validated and found legal it
is moved to a dedicated part of the compartmentalized
RAM storage, whereupon control of the message is turned
to the line termination unit.
The line termination unit converts the message into
a signal in accordance with the specified protocol
and transmits the message to the ultimate addressee.
4.1.2.8 L̲o̲g̲g̲i̲n̲g̲ ̲o̲f̲ ̲I̲l̲l̲e̲g̲a̲l̲ ̲M̲e̲s̲s̲a̲g̲e̲
If a message fails one of the checks performed during
the validation, it shall be logged and not retransmitted.
The reason for the rejection must be logged with the
message. This can be done by means of a code composed
of several items. Those items can be identifications
of the program modules and the part of the message
in process, when the check fails. A such code can be
evaluated during an offline scrutiny and give rather
exact clues to the revelation of the error, e.g.
mandatory set XXXXX missing.
or
set XXX field no Y not numeric
The message to be logged is packed with the error code
and a clock reading, if necessary in blocks, and written
on the logging medium. The logging medium may be a
separate device, e.g. a cassette tape recorder, or
it may be a dedicated area of a multi-purpose disk.
The area of memory in which the illegal message was
stored shall not be read again until it is ensured
that it is overwritten with new data or erased.
Whenever an illegal message is revealed the frequency
of illegal messages shall be calculated (see paragraph
4.1.2.9).
4.1.2.9 C̲a̲l̲c̲u̲l̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲F̲r̲e̲q̲u̲e̲n̲c̲y̲ ̲o̲f̲ ̲I̲l̲l̲e̲g̲a̲l̲ ̲M̲e̲s̲s̲a̲g̲e̲s̲
Whenever an illegal message has been revealed the frequency
of illegal messages shall be calculated.
The frequency can be expressed as a fraction, where
the number of illegal messages are the numerator, and
the time is the denominator.
The purpose of this calculation is to issue an alert
if the frequency of illegal messages exceeds a prespecified
maximum.
This maximum has not been specified as far but in principle
the calculation shall be performed as follows:
Each time an illegal message has been revealed, this
fact shall be logged on a file (internal or external).
Subsequently this file is read to count the number
of illegal messages revealed within the time frame
given by the denominator of the above mentioned fraction.
If the count exceeds the numerator of the same fraction,
control shall be given to the alert module. If the
count does not exceed the numerator of the said fraction,
control is returned to the main program.
4.1.2.10 A̲l̲e̲r̲t̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲
The purpose of the alert function is to alert the security
administrator in case of illegal message traffic exceeding
a prespecified maximum.
The alert function shall issue a signal that causes
an audible alert to sound.
The alert function is called from the module calculating
the frequency of illegal messages (paragraph 4.1.2.9).
The type of audible alarm to use (bell, buzzer, etc.)
must be determined for each site depending on local
circumstances.
If more than one security filter system is located
in the same environment it should be considered to
extend one single audible alarm device with alarm lights
to indicate which security filter system that has actually
started the alert.
Also it must be determined locally by which means the
sounding alert shall be stopped, e.g. by use of a physical
key.
4.1.2.11 S̲u̲s̲p̲e̲n̲s̲i̲o̲n̲ ̲o̲f̲ ̲M̲e̲s̲s̲a̲g̲e̲
The more complex the messages, the more complex the
security filter must be.
A very simple security filter system will only be able
to handle a limited number of simple messages. Even
a more complex security filter system will be unable
to check free text messages and messages, the contents
of which cannot be prespecified or aforeseen.
To facilitate the utilization of a medium complex security
filter system on a large number of sites it is suggested
to consider the possibility of semi-human validation,
facilitated by a suspension function.
Using a suspension function messages of a certain complexity
(or containing free text) can be suspended for human
validation. More simple messages can still be automatically
validated and this traffic need not be interfered by
the suspension.
The suspension function requires certain extra peripherals,
e.g. a video screen for display of the messages, and
a storage medium for storing the suspended messages
until the validation is performed. Also the operator
must have means to input his decision after the scrutiny
of the suspended message. This can be done by use of
a small keyboard of the telephone type. Under no circumstances
may the operator have possibility to change neither
the message, nor the computer programs.
4.1.3 A̲u̲x̲i̲l̲i̲a̲r̲y̲ ̲E̲l̲e̲m̲e̲n̲t̲s̲
The auxiliary elements of the security filter system
encompasses the tasks performed offline in order to
support the operational security filter.
Though these tasks are performed offline, aperiodically,
and possibly far away from the security filter sites
they are very essential to the filter operation, and
the same demand for care and precision applies to the
auxiliary functions as to the operational security
filter functions.
4.1.3.1 D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲ ̲o̲f̲ ̲L̲e̲g̲a̲l̲ ̲M̲e̲s̲s̲a̲g̲e̲s̲
The definiton of legal messages may also be called
production of input to the conversion of validation
information.
This is a man/machine interface which means that equal
consideration shall be taken to the demands for easy
definition and machine readability.
On one hand it must be rather easy for the person,
who constructs the definition, to write it correctly
and to remember all parameters. On the other hand must
the definition have a format which can readily and
unambiguously be read and "understood" by the computer
assigned to the conversion task.
To facilitate this clear instructions must be worked
out, possibly accompanied by definition forms with
leading texts which guide the person through the definiton
phases.
When defining a legal message the first thing to define
is the header information, which determines the path
through the validation program. Subsequently must be
specified the parameters used in the order, they shall
be used. This must very closely follow the validation
program sequence and specify the parameters in accordance
with the requirements of the conversion program as
set down in paragraph 4.1.3.2.
4.1.3.2 C̲o̲n̲v̲e̲r̲s̲i̲o̲n̲ ̲o̲f̲ ̲V̲a̲l̲i̲d̲a̲t̲i̲o̲n̲ ̲I̲n̲f̲o̲r̲m̲a̲t̲i̲o̲n̲ ̲
The definition of legal messages (see paragraph 4.1.3.1)
must be converted into tables which can be used by
the validation program. This conversion can be performed
on an offline computer located independent of the security
filter sites and handling validation information for
a number of sites.
The type of input device chosen for input of the validation
is not essential for the performance, but in order
to facilitate easy modification of existing legal messages
a Video Display Unit with keyboard should be considered.
The computer program for conversion of validation information
must be separated in three distinct parts
- input collection
- validation and conversion
- consolidation and output
The input collection must operate on all legal messages
for one security filter site at a time. Such a set
of validation information must be identified with a
name or code, which at the same time identifies the
security filter site, for which it is intended.
It must be possible to establish a complete new set
of information for a site, and it must be possible
to modify an existing set.
The input collection part of the computer program operates
on a "source" version of validation information, i.e.
a representation very much alike the definition produced
by man. The collected input is later used as input
for the validation and conversion routine, but the
source version must be kept to facilitate possible
subsequent updates.
The input collection routine must - if apllied on a
VDU - lead the operator through the task of input by
preformatted screen pictures with leading texts ensuring
that all relevant information will be asked for. This
applies mainly to the definition of a new message or
a new part (e.g. set) of an existing message.
Modifying an existing message may be done by calling
the corresponding part of the existing message definition
onto the screen and simply modifying the necessary
item. It must also be possible to delete items from
an existing message description and to add new items.
All input to one security filter site must be collected
prior to the start of the conversion phase.
The validation and conversion phase must start with
a validation of the input. This validation must check
the syntax and possibly part of the logic of the definitions.
Such checks must include e.g. that one message identifier
is not used for more than one message, that one message
has one and only one identifier, that all sets have
valid set identifiers, and that fields are defined
for every set etc. It must also be checked that all
items are described as mandatory, conditional, or optional,
and that conditional items are accompanied by a description
of the condition.
A close analysis of the message traffic on the lines
may reveal the possibility of an amount of logical
checks, but it must also be considered that a computer
program able to perform in-depth logical checks will
be very complex and costly. Possible logical errors
in a legal message definition will often be revealed
easily during a well-planned, subsequent test run.
If any syntactical (or logical) errors are revealed
by the validation phase this shall be reported to the
operator, whereupon he must correct the errors. It
can be considered to report possible errors as warnings,
but the value of such a feature seems dubious.
The conversion of the validation information is done
by setting up a number of tables in a hierarchical
structure, where single entries in a higher level are
pointing at their subordinate entries in lower level
tables using relative addresses.
The highest level table must be one referring to the
"format code" of the transmission header. This format
code is used as the basis for determination of the
path through the message validation. From this highest
level must be set a pointer to the appropriate entry
in the second level, among which one pointing at the
first entry of A Dat P3 type message message identifiers.
The second level table must contain among other an
entry of the message identifier for each A Dat P3 type
message legal on the corresponding communication line.
This entry must - in addition to the message identifier
- contain or point at the classification and subject
indicator code(s) legal for the message, and contain
a pointer to a string in a lower level table giving
the sequence of legal
sets of the message identified by their set identifiers.
If applicable this string of set identifiers shall
be separated into parts and/or segments.
This level must contain - in addition to the set identifiers
- the attributes of the sets, or pointers to sets of
attributes, such as mandatory/conditional/optional,
condition, repeatability, etc, and pointers to a field
table.
The field table must contain the field attributes including
a number indicating how many different legal contents
have been defined for the field and - if applicable
- a pointer to an address table for the legal contents.
The address table shall only contain addresses, one
for each defined legal content of any field.
The legal contents must be arranged in a string, where
each defined legal content does only take up as much
space as necessary. All items defined as legal content
for one field must be placed in succession.
When all tables have been set up a consolidation phase
must be invoked.
The consolidation shall make the dynamically constructed
tables static, put limits to the ends of them, compile
the tables on a storage area as small as possible,
fill in address fields for interfacing purposes and
finally output the ultimate set of tables on the prescribed
output medium.
During the total run of the conversion program a printed
list must be produced to mirror the input, a sort of
compiler list, enabling the operator and other authorities
to trace the definition of legal messages for the security
filter site.
Header
Format Code
HFC Pointer
HFC Pointer
HFC Pointer MSGID CLASS SIC Pointer
HFC Pointer MSGID CLASS SIC Pointer
MSGID CLASS SIC Pointer
MSGID CLASS SIC Pointer
SETID ATTR Pointer
SETID ATTR Pointer
SETID ATTR Pointer
SETID ATTR Pointer
FLD ATTR Pointer
FLD ATTR Pointer
FLD ATTR Pointer
FLD ATTR Pointer…86…1
…02… …02… …02… …02…
Legal contents
Addresses Legal contents string
Address LEGAL CONTENTSLEGAL
CO
Address NTENTSLEGAL CONTENTD
L
Address EGAL CONTENTSLEGAL
CON
Address TENTSLEGAL CONTENTSLEG
4.1.3.3 T̲e̲s̲t̲ ̲a̲n̲d̲ ̲V̲e̲r̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
Prior to the release of a new set of validation information
it must be tested to verify that it will allow legal
messages to pass the security filter, and that it will
stop illegal messages.
This can be done by specifiying an adequate number
of legal and illegal messages and trying to send them
through the filter with the new set of validation information
installed.
This test might be performed on the actual security
filter site provided it is possible to keep both ADP
systems under surveillance by authorised personnel,
and that all "false" messages used for test purposes
can be securely removed from the receiving system before
any action is taken by either the system or the staff.
However, such a test set up seems to be rather vulnerable
and time consuming, whereas a special test filter will
offer great advantages.
A test filter system must be constructed as a model
of the operative security filter. It can be a larger
computer configuration of the same brand and model,
which is reconfigured and loaded with the security
filter computer programs to act exactly as an operative
security filter.
The roles as the two ADP systems might be played by
any computer applied with a line interface equal to
that of the actual operative ADP systems. (One computer
might act as both systems).
Furthermore, the transmission speed could be raised
to minimize the time frame necessary to perform the
test runs.
To verify - or render probable - that the new set of
validation information is correctly defined and converted,
a variety of both legal and illegal messages must be
sent to the filter. The test must be extensive enough
to show that any message meeting the defined constraints
will pass the filter, and that any violation of any
type of constraint will result in the stopping of the
message.
The definition of test messages is discussed in paragraph
4.1.3.4.
4.1.3.4 T̲e̲s̲t̲ ̲M̲a̲t̲e̲r̲i̲a̲l̲ ̲P̲r̲o̲d̲u̲c̲t̲i̲o̲n̲
The test and verification as described in paragraph
4.1.3.3 requires an amount of varying test messages
including both legal and illegal messages.
The task of generating enough test messages and ensuring
adequate variation is a very cumbersome one if left
to human labour. Therefore it ought to be performed
by a computer, either using a computer program developed
for this specific purpose or using a commercially
available data generator, possibly modified, if such
a generator can be found sufficient.
The test material must consist of messages, which are
numerous and varied enough to cover all constraints,
both with legal and illegal contents. If, for instance,
a list of five legal values is specified for a certain
field, test material shall encompass at least examples
of all five legal values and in addition at least one
example of an illegal value.
All illegal values in the test material shall occur
single at least once. By "single" is meant that there
must be only one illegal value in one message. Messages
with a combination of illegalities may occur, however.
The test messages must vary sufficiently to ensure
as thorough testing of the legal message specification.
This includes, in addition to the use of legal and
illegal contents of fields, omission of mandatory items,
inclusion of illegal items, wrong sequence etc.
When the test material has been produced it must be
stored on a storage medium in a random or quasirandom
sequence as to simulate a real traffic situation. It
shall be possible to print a list of the test messages
in order to analyse them in connection with the test
run.
4.1.3.5 L̲o̲g̲ ̲A̲n̲a̲l̲y̲s̲i̲s̲
Any message stopped by the security filter shall be
logged. The type of logging medium will be chosen in
connection with specification of the hardware configuration.
When a number of illegal messages have been logged
it may be of concern for the security officers to analyse
the log contents.
To facilitate this the logging medium must be interchangeable,
though not removable by unauthorized personnel. The
logging medium must be brought to an off line computer,
where the contents can be displayed or printed for
subsequent scrutiny.
4.1.3.6 T̲a̲b̲l̲e̲ ̲U̲p̲d̲a̲t̲i̲n̲g̲ ̲S̲y̲s̲t̲e̲m̲ ̲(̲o̲r̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲)̲
The system or procedure to be followed by the authorized
personnel when an updating of validation information
has taken place and shall be installed on an operative
security filter site must depend very much on the hardware
solution chosen. The main requirements to the system/procedure
can be summarized as follows:
- unauthorized changes may not take place
- in the event an unauthorized change is forced upon
the filter, its operation shall stop, simultaneously
stopping the message traffic.
- the authorization to make changes shall be unambiguously
recognized by the filter
- the change shall involve as little hardware handling
as possible
- the operational delay caused by a change of validation
information shall be kept within reasonable size
- measures shall be taken to ensure that a set of
validation information is installed at the right
site
To avoid the intrusion of unauthorized people some
hardware solution must be sought. The same applies
to the disconnection in the event of the use of force.
For solution of these requirements please refer to
hardware description.
When authorized personnel wants access to the filter
they must identify themselves towards the filter. This
can be done by use of a key or a code or a combination.
Also this must depend on the hardware chosen. Only
it shall be insured that authorized personnel have
the ability to perform the necesary changes. As long
as the
change is going on the message traffic must be stopped.
This stop shall be invoked by the identification indicating
that a change is going to take place. When the change
is finished a restart of the filter shall be performed,
and during this restart it shall be checked that adequate
validation tables are present and that all security
precautions have been reset.
The means by which the change shall be performed is
also hardware dependent. If it is chosen to use erasable
PROM for storage of the tables, the change may be performed
using some sort of portable device to carry the information
from the production office ot the security filter site,
plug in the device and reprogram the EPROM. If, however,
(non-erasable) PROM is chosen, the whole set of PROMs
must be exchanged. This will require a minimum of hardware
skill, but it may be judged more secure than the EPROM
solution.
4.1.3.7 S̲t̲a̲t̲i̲s̲t̲i̲c̲s̲
The possibility of collecting statistics in connection
with the security filter is mentioned as an option.
The statistics system is not part of the original requirements
but is optional.
For the security filter as such a statistics system
shall only imply the collection of statistics data.
This may be achieved in different ways. Either the
data can be collected in accordance with an already
existing statistics system and subsequently be processed
by a corresponding statistics system, or a special
statistics system can be introduced in connection with
the security filter.
The first approach seems to be the easiest and least
expensive to implement. it only requires that 1) an
existing statistics system is adequate for security
filter statistics purposes, and 2) the data necessary
for the statistics system are available at the security
filter system and can be collected without jeopardizing
the security and the performance of the filter.