DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Wang WCS documentation floppies

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Wang WCS documentation floppies

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦3dce00b9e⟧ Wang Wps File

    Length: 35672 (0x8b58)
    Types: Wang Wps File
    Notes: S F S Architecture        
    Names: »3160A «

Derivation

└─⟦550b0bab9⟧ Bits:30006219 8" Wang WCS floppy, CR 0276A
    └─ ⟦this⟧ »3160A « 

WangText





NATO UNCLASSIFIED…86…1         …02…   …02…   …02…   …02…                         
     …02…            
         NATO UNCLASSIFIED

Security Filter Architecture        page
                                    #
                                                                                            821217










                    T̲A̲B̲L̲E̲ ̲O̲F̲ ̲C̲O̲N̲T̲E̲N̲T̲S̲






     1.  GENERAL ....................................  
           
       1.1 INTRODUCTION  ............................  
             
       1.2 TERMS AND ABBREVIATIONS ..................  
             
         1.2.1 Terms ..............................    
               
         1.2.2 Abbreviations ........................  
                 

     2.  SUMMARY OF REQUIREMENTS ....................  
           
       2.1 BACKGROUND ...............................  
             
       2.2 OBJECTIVES ...............................  
             
         2.2.1 Operational Requirements .............  
                 
         2.2.2 Performance Requirements .............  
                 

     3.  ENVIRONMENT ................................  
           
       3.1 SECURITY RISKS ...........................  
             
         3.1.1 Entities to be protected .............  
                 
         3.1.2 Sources of threat ....................  
                 
         3.1.3 Risks ................................  
                 
         3.1.4 Countermeasures  .....................  
                 

     4.  SELECTION OF ARCHITECTURES .................  
           
       4.1 SECURITY .................................  
             
         4.1.1 Migration ............................  
                 
         4.1.2 Corruption ...........................  
                 
       4.2 CERTIFYABILITY ...........................  
             
       4.3 VULNERABILITY ............................  
             
       4.4 RELIABILITY ..............................  
             
       4.5 FLEXIBILITY  .............................  
             
       4.6 PERFORMANCE ..............................  
             
       4.7 COST .....................................  
             

     5.  SELECTED ARCHITECTURES  ....................  
           
       5.1 COMMON BUS  ..............................  
             
         5.1.1 Bus Communication Restrictions .......  
                 
         5.1.2 Example 1 ............................  
                 
         5.1.3 Example 2  ...........................  
                 
       5.2 IDEALIZED ARCHITECTURE ...................  
             
         6.2.1 An example ...........................  
                 

     6.  CONCLUSIONS ................................  
           



                        1̲ ̲G̲E̲N̲E̲R̲A̲L̲

1.1      I̲N̲T̲R̲O̲D̲U̲C̲T̲I̲O̲N̲ 

         This technical note represents the output of work package
         No 250, Architectural Study, within the framework of
         the Security Filter Study, performed under contract
         No. FK8219 between the Air Materiel  Command of the
         RDAF and Christian Rovsing A/S. The Architectural Study
         shall evaluate various filter architectures, particularly
         with regard to Security Aspects.

         The baseline for the architectural study is laid by
         the Functional Description of the Security Filter,
         document No. SFS/FD/001, dated 820827.

1.2      T̲E̲R̲M̲S̲ ̲A̲N̲D̲ ̲A̲B̲B̲R̲E̲V̲I̲A̲T̲I̲O̲N̲S̲

         Within this document, the definitions of terms and
         abbreviations below are used.

1.2.1    T̲e̲r̲m̲s̲ ̲

         Accepted message           a message validated with
                                    a positive result (legal)

         Channel Filter (CF):       Functional part of the Security
                                    filter System, performing
                                    all automated reception,
                                    filtering and transmission
                                    of messages for one single,
                                    unidirectional channel.

         Certification              the verification given by
                                    a national security agency,
                                    based on a study of the
                                    system by a technically
                                    competent independent organization,
                                    that the system as designed
                                    meets the security specifications
                                    of the systems.

         Corruption                 Transmission of a message
                                    with a higher classification
                                    than low side level from
                                    low to high…86…1         …02…  
                                    …02…   …02…   …02…              …02…   
                                                           
                                    


         Covert Channels            Non-authorized means of
                                    conveying information which
                                    could lead to security breach

         Illegal Message            a message which by security
                                    regulations is not allowed
                                    to pass the security filter.

         Legal Message              a message which by security
                                    regulations is allowed to
                                    pass the security filter,
                                    i.e. the message type, format,
                                    and contents of all constrained
                                    fields are equal to entries
                                    in the validation information.

         Migration                  Transmission of a message
                                    with a higher classification
                                    level than low side level
                                    from high to low 

         Recognized/recognizable    a detectable message the
         message                    identification type of which
                                    is contained in the validation
                                    information.

         Rejected message           a message validated with
                                    a negative result (illegal)

         Security Breach            The non-authorized disclosure
                                    of classified information

         Unrecognized/non-recog-    a detectable message the
                                    
         nizable message            identification type of which
                                    is not contained in the
                                    validation information.

         Validation                 the act of evaluating the
                                    legality of a message.

         Validated message          a message which has been
                                    subject to the validation
                                    process (with a positive
                                    or negative result)





1.3.2    A̲b̲b̲r̲e̲v̲i̲a̲t̲i̲o̲n̲s̲

         ADP         Automatic Data Processing
         MTBF        Mean Time Between Failure
         MTTR        Mean Time To Repair
         PFSB        Probability For Security Breach
         SA          Security Administrator
         SF          Security Filter (SYSTEM)
         SFS         Security Filter Study

                2 S̲U̲M̲M̲A̲R̲Y̲ ̲O̲F̲ ̲R̲E̲Q̲U̲I̲R̲E̲M̲E̲N̲T̲S̲

         The requirements to the Security Filter are described
         in Chapter 2 of the document SFS/FD/001, Functional
         Description. For convenience, chapters 2.1 and 2.2.
         repeated here. 

2.1      B̲A̲C̲K̲G̲R̲O̲U̲N̲D̲

         The function to be performed by the Security filter
         is the security monitoring of the traffic on an electronic
         communication line between two ADP centers (or systems)
         of unequal level of classification.

         The filter shall on one hand prevent highly classified
         data from being compromised by unauthorized disclosure,
         on the other hand guarantee that certain pieces of
         data are not corrupted or otherwise tampered with without
         authorization.

         The filter function has in some cases been performed
         by manual verification of the message traffic. However,
         increasing traffic on the communication lines between
         ADP systems containing classified data has resulted
         in the demand for fully or partly automatisation of
         the security monitoring in order to increase capacity
         and reduce time delay and cost.

2.2      O̲B̲J̲E̲C̲T̲I̲V̲E̲S̲

         The objectives of the security filter is an automatising
         of the security administration functions on a dedicated
         communication line between two ADP systems of unequal
         security classification.

         The functional capabilities of a security filter are
         described in terms of the following main requirements.…86…1
                 …02…   …02…   …02…   …02…              …02…                   
                 


2.2.1    O̲p̲e̲r̲a̲t̲i̲o̲n̲a̲l̲ ̲R̲e̲q̲u̲i̲r̲e̲m̲e̲n̲t̲s̲

         The security filter shall fulfil the following requirements:

         a)  receive and compile data into message and prevent
             transmission to receiver prior to validation 

         b)  compare messages with predefined patterns and validate
             the classification for legality of the messages

         c)  release messages passing the validation with a
             positive result and withhold all other messages.

         d)  log illegal messages and alert duty officer in
             case of high frequency of illegal messages.

         e)  prevent unauthorized disclosure or modification
             of messages at the security filter.

2.2.2    P̲e̲r̲f̲o̲r̲m̲a̲n̲c̲e̲ ̲R̲e̲q̲u̲i̲r̲e̲m̲e̲n̲t̲s̲

         The funtions of the security filter shall be performed
         under the following conditions:

         a)  the preferred order of technology used is hardware,
             firmware, and software.

         b)  the filter operation shall be independent of and
             transparent to the ADP systems except for a minor
             delay.

         c)  the filter must not degrade transmission capacity.

         d)  the design shall accommodate certification by an
             independent NATO authority.

         e)  introduction of new predefined validation patterns
             shall be facilitated.

2.2.3    A̲d̲d̲i̲t̲i̲o̲n̲a̲l̲ ̲F̲e̲a̲t̲u̲r̲e̲s̲

         In addition to the main requirements considerations
         shall be made to the following features:



         a)  operator communication (man-machine interface)

         b)  multiplexing (communication from one high-classified
             to several low-classified ADP systems and vice
             versa).


                      3 E̲N̲V̲I̲R̲O̲N̲M̲E̲N̲T̲

         The environment is described in document No SFS/FD/001:
         Functional description, chapter 4.

         The important part of the environment is the security
         related, which will be analyzed here for the purpose
         of establishing a frame of reference for the evaluation
         of various architectures.

3.1      S̲E̲C̲U̲R̲I̲T̲Y̲ ̲R̲I̲S̲K̲S̲

         Security risks encompasses here all risks caused by
         or influenced by the presence of a security filter
         in the communication channel between two ADP systems.

         It should be pointed out here that the security filter
         functions are limited to those related to the message
         itself and to the clearance level of the communicating
         ADP systems.

         The filter will not in any way modify, correct or combine
         messages, but simply be transparent to all legal messages.
         The historical memory of the filter is delimited to
         the present message. The previous and the subsequent
         message has no influence on the validation of the present
         message.

         Also, it should be kept in mind that the function of
         the filter to monitor message traffic which should
         ideally be all legal. Ideally, all inadvertent or deliberate
         attempts which could lead to security breach should
         be inhibited by software or hardware protection mechanisms
         of the ADP systems.

         It has, however, been realized that the complexity
         generally encountered in such systems, the desire for
         concurrent processing, sharing of data bases etc. makes
         it virtually impossible, at least in the near future,
         to properly verify and certify such systems for multi-security-level
         operation.




         So, the real purpose of the security filter is to monitor
         the message traffic between ADP systems for the purpose
         of detecting possible flaws in the protection mechanisms
         and, perhaps, to patch known deficiencies.

         This means that the filter is not the only, but the
         only and ultimately t̲r̲u̲s̲t̲e̲d̲ security protection.

3.1.1    E̲n̲t̲i̲t̲i̲e̲s̲ ̲t̲o̲ ̲b̲e̲ ̲p̲r̲o̲t̲e̲c̲t̲e̲d̲

         The entity to be protected is primarily the m̲e̲s̲s̲a̲g̲e̲,
         as well in part as in total.

         The message shall be protected against non-authorized
         disclosure, modification and loss. Among these three
         threats, the non-authorized disclosure has by far the
         highest priority, while the threat of modification
         (before the filtering), is important only if the modification
         is made in such an ingenious way that the result is
         another legal message.

         Loss of a message poses no security risks, but may
         give operational inconvenience only. All messages of
         importance will require an acknowledge-of-receipt in
         return, so loss of a message will cause an automatic
         retransmission performed by the ADP System and/or a
         message to the sender (human) of the missing acknowledgement.

         Also the h̲a̲r̲d̲w̲a̲r̲e̲ and s̲o̲f̲t̲w̲a̲r̲e̲ must be protected against
         non-authorized modification which could lead to non-authorized
         disclosure or modification of messages.

3.1.2    S̲o̲u̲r̲c̲e̲s̲ ̲o̲f̲ ̲t̲h̲r̲e̲a̲t̲

         The sources of threat, caused by or influenced by the
         security filter are e.g.:





         o   Design errors or lack of completeness in the filter
             hardware or software which could lead to security
             breach

         o   Hardware failures which could lead to security
             breach.

         o   Eavesdropping, electromagnetic emanation or leakage
             to one of the communication lines.

         o   Tampering with security filter hardware or software

         o   Excessive power on the communication line, adversely
             affecting security, momentarily or permanently.

3.1.3    R̲i̲s̲k̲s̲

         The risks of prime concern for this study is considered
         to be 

         o   Transmission of a message from high to low with
             a higher classification than low side level (migration)

         o   Transmission of a message from low to high with
             a higher classification code than low side level
             (corruption)

         o   Modification within the security filter of a message
             into another legal message (corruption))

         o   Covert channels, around or through the security
             filter


         The above risks could be caused by one or more of the
         threats. The risk of migration is probably the most
         obvious and the security risks will often be directly
         related to the type of information which was disclosed.
         There may, however, be an important exception if the
         disclosure is recognized by a subsequent auditing of
         the log presuming that such one is available.

         The mere knowledge of the disclosure in due time may
         reduce or diminish the security risks.





         Corruption of data may be as serious as the disclosure.
         The corruption may be caused by e.g. covert software
         in the security filter itself, or in a multitude of
         different ways from the low side.

         A covert channel is a non-authorized means of communication
         which could lead to security breach.

         Covert channels around the security filter are channels
         which by-passes the filter function proper. Examples
         are intelligible electrical cross coupling from input
         to output or an error in the software which under certain
         circumstances can set the validation result to a wrong
         value.

3.1.4    C̲o̲u̲n̲t̲e̲r̲m̲e̲a̲s̲u̲r̲e̲s̲ ̲

         Countermeasures to the threats are aimed at reducing
         or removing the risks.

         Among these are:

         o   Formal design methods, reviews, detailed description,
             design verification methods, testing

         o   Robust and reliable design in particular of the
             interface to external unsupervised lines.
             Failure mode analysis of critical hardware.
             Testing at high and low temperatures, approaching
             the specified maximum ratings.

         o   TEMPEST proof design and enclosure. 

             TEMPEST certification.


         o   Use of personnel with adequate clearing, establishing
             and maintaining security procedures etc. for design
             as well as development and maintenance activities.

         o   Adequate security environment during normal operation

         o   Regular verification of primary functions





               4 S̲E̲L̲E̲C̲T̲I̲O̲N̲ ̲O̲F̲ ̲A̲R̲C̲H̲I̲T̲E̲C̲T̲U̲R̲E̲S̲

         The architecture is in broad terms the structural systems
         design.

         The choice of architecture is in fact the first and
         often the most important step in the process of implementing
         a given facility from the requirements specification.The
         most important characteristics for the security filter
         is the protection it provides against significant threats.
         There are, however, several other significant characteristics
         for a real-world security filter

         The most important have been found to be 

         o   security
         o   certifiability 
         o   vulnerablility
         o   reliability
         o   flexibility
         o   performance
         o   cost

         A good architecture will support at least the most
         important of the characteristics. The subsequent paragraphs
         will discuss how these characteristics influence choice
         of architecture.

4.1      S̲E̲C̲U̲R̲I̲T̲Y̲

         Referring to para. 3.1.3, the most important security
         risks have been identified to 

         o   migration
         o   corruption


4.1.1    M̲i̲g̲r̲a̲t̲i̲o̲n̲

         Migration is the non-authorized transfer of information
         from high to low. Protection against migration through
         the channels is supported by a structure which imitates
         a comprehensive physical access control system, i.e.
         with one or more trusted gate keepers which performs
         control of identification before allowing access.




         The security is relying upon an "insurmountable" wall
         to avoid sneakpaths out of the control of the gate
         keeper.

         Using this analogy, the architecture of the security
         filter should exhibit at least one "gate" which is
         constructed in such a way that it is robust against
         penetration and inherently free of sneakpaths outside
         the gate control.

         The gate control shall be exhaustive, i.e. comprise
         each and all of a uniquely defined set of requirements.

         The denial of access shall be definitely effective
         in case the identification control turns out negative.

4.1.2    C̲o̲r̲r̲u̲p̲t̲i̲o̲n̲

         Corruption is the unauthorized writing to higher security
         levels.

         The term corruption covers here as well the  erasing
         of as writing of information as long as this is not
         made in an authorized way.

         The protection against corruption, as far as this can
         be supported by the security filter, is supported by
         the same means as protection against migration, the
         direction is just the opposite (low to high).

4.2      C̲E̲R̲T̲I̲F̲I̲A̲B̲I̲L̲I̲T̲Y̲

         Certification is the process of qualifying the filter
         security performance. This process may be infeasible
         or extremely expensive unless the design, design process
         and documentation is made with certifiability in mind.
         This is greatly facilitated by a meticulous separation
         and simplification of security determining functions,
         leaving all other functions to be performed in a non-trusted
         area.

         This means that the "gate-keeping" function shall be
         separated as far as possible and be designed as simple,
         clearcut logic, verifyable and reliable as possible.

         These attributes shall also be valid for the types
         of updates to the software which can be foreseen, e.g.
         change or addition of message formats, other input
         or other output protocols.




         The above requirements are strongly supported by a
         highly modular structure with simple and in-depth detailed
         interface specifications which are as restricted as
         possible for performing just the required function.

         The software structure should support a multilevel
         verification, e.g. a bottom-up verification, first
         of the individual modules, each performing simple,
         well defined functions, next package of modules, performing
         a well defined task, et cetera until the final integrated
         system level.

         The blind persuance of such a structure will inevitably
         lead to excessive amounts of hardware and code due
         to excessive use of dedicated hardware and software,
         This may lead to a lack of overview and clarity, because
         too much participation into subfunctions tends to blur
         the end: The correspondence between the requirements
         specifications and the actual implementation. So, broadly
         speaking, the modularisation should be brought to the
         lowest (most detailed) level where there is still an
         easily comprehensible correspondence to the real-world
         requirements.

         Of course, the internal structure of a module could
         and should be subdivided into one or more levels as
         applicable. Here, however, will the lower level not
         be referenced to the real-world requirements but to
         the internal structure and to the methods and tools
         by which the function is implemented.

         Here, again, the structure should be subdivided into
         conceptually well understood and well defined subfunctions.
         

4.3      V̲U̲L̲N̲E̲R̲A̲B̲I̲L̲I̲T̲Y̲

         Vulnerability is, in broad terms, described by the
         ability to withstand the real-world environment without
         degradation of the important performance, here the
         security.

         The filter design should be as robust as possible for
         inadvertant or deliberate attempts to damage or change
         filter functions, in particular through easily accessible
         connecting lines.




         The filter architecture should therefore include a
         robust protecting layer in all external interfaces.

         The design of all hardware and software should be made
         such that errors will have limited effect only. 

         This could be achieved by a failure criticality analysis
         of all sensitive hardware and software.

         The vulnerability to design errors or failures is efficiently
         minimized by checking input and output against known
         properties at each transition from one module to the
         next.

         Within modules, there should also be an operational
         verification checking of as well input to as output
         from each security relevant subfunction. A convenient
         means for detection of a large class of failures is
         a cyclic redundancy check pattern, conveyed together
         with the message throughout the filter and checked
         at all intermediate stages.

4.4      R̲E̲L̲I̲A̲B̲I̲L̲I̲T̲Y̲

         Reliability is an indispensable prerequisite for security.
         The security of the filter relies upon the reliable
         performance of the equipment.

         The reliability is also a key figure for the avilability
         which may be very important for some types of communication
         channels.

         Methods to achieve the required type and degree of
         reliability are well known and implemented for purposes
         with similar requirements.

4.5      F̲L̲E̲X̲I̲B̲I̲L̲I̲T̲Y̲ ̲

         It is desireable that the filter architecture supports
         inexpensive changes to accomodate different input/output
         interfaces, multiple input/output lines and other foreseeable
         needs.

         The flexibility must not, however, sacrifice security
         like e.g. design with embedded but not yet exploited
         functions.…86…1         …02…   …02…   …02…   …02…              …02…       
                             


         Flexibility can be achieved without sacrificing security
         if it is based upon a modular plug-in structure. The
         modularity shall be specifically oriented against functions
         like e.g. 

         o   input 
             performing all subfunctions necessary for presenting
             a full message, presented in well defined and directly
             interpretable format.

         o   identification
             analysis of the message to identify classification
             and type

         o   verification
             verification of a message (type)
             against the programmed requirements
             etc.  etc.

4.6      P̲E̲R̲F̲O̲R̲M̲A̲N̲C̲E̲

         The critical performance measures for the security
         filter are those related to security and to the completeness
         of the automatic service offered.

         Other performance parameters like channel capacity,
         message delay, reliability etc. are all considered
         to be feasible at a moderate or at least predictable
         cost.

         The impact from the security requirement upon the architecture
         has been dicussed already.

         The automatic service can be divided into the trusted
         and non-trusted services. The trusted services are
         part of the security system, while the non-trusted
         services are desireable but not vital. Examples of
         the latter is the function which, in a security operator
         assisted system, decides which messages are to be routed
         through the automatic validation circuit and which
         are routed to the operator. Other examples are control
         of data overflow and built-in testing.

         In order to be able to provide inexpensive non-trusted
         service, this service will have to be located into
         an area which can be non-trusted but still have the
         necessary access to the message stream.

         It is therefore highly desireable that the architecture
         supports the presence of such a non-trusted area.…86…1
                 …02…   …02…   …02…   …02…              …02…                   
                 


4.7      C̲O̲S̲T̲

         The cost/performance will have to be carefully matched
         to the need. This is particularly important for a security
         filter because some performance will be relatively
         easy to implement at low cost while others (not always
         obviously) may have significant impact on total price.

         Often, a high performance can be achieved at a remarkably
         low cost if it is possible to use general-purpose large-quantity
         items.

         The cost/performance ratio can therefore be improved
         by using commercially available sub-units, but this
         is of course on the precondition that the security
         aspects are considered adequately.



                5 S̲E̲L̲E̲C̲T̲E̲D̲ ̲A̲R̲C̲H̲I̲T̲E̲C̲T̲U̲R̲E̲S̲ ̲

         There is no direct, analytic way of selecting the "right"
         architecture. The architectures discussed here and
         in the following subsection have therefore been selected
         on the two different baselines.

         a)  Architectures widely used and supported by inexpensive
             components and modules.

         b)  Idealized architecture, designed to support filter
             security in an optimized way, yet technologically
             and economically feasible.

         The suitability for the security filter is evaluated
         by an analysis of how the architecture supports the
         requirements as they were set up in and discussed in
         the previous chapter. 

5.1      C̲O̲M̲M̲O̲N̲ ̲B̲U̲S̲ ̲

         Essentially all general-purpose computer systems are
         built around variants of the common bus structure.
         The various versions include e.g. bus with separate
         address and data lines, bus with multiplexed data and
          address, dual or multiple bus principles with identical
         busses or different bus structures like memory/intermodule
         communication bus and separate input/output bus. In
         all cases, the common bus concept is adopted because
         of its obvious advantages in terms of e.g. systems
         design …86…1         …02…   …02…   …02…   …02…              …02…          
                          
         flexibility, flexibility to product line  enhancements
         and improvements, ease of repair at module level.

         Most of the advantages are due to the fact that the
         bus is a true multipoint to multipoint structure, easily
         adaptable to as well functionally peer modules as active/possive
         (master/slave) grouping.

         This feature is absolutely not desireable from a security
         point of view, since this architecture inherently supports
         a multitude of undesireable communication paths and
         hence is vulnerable to e.g. eavesdropping on the bus
         and hardware and software errors in the bus communication
         area. 

         This architecture is, however, particularly advantageous
         from most other points of view.

         It will therefore be examined whether the disadvantages
         can be reduced or eliminated by modifications and addition.

5.1.1    B̲u̲s̲ ̲C̲o̲m̲m̲u̲n̲i̲c̲a̲t̲i̲o̲n̲ ̲R̲e̲s̲t̲r̲i̲c̲t̲i̲o̲n̲s̲

         The undesireable communication paths can be restricted
         in a multitude of ways, both hardware and software-wise.
         The tools are named like privileged instructions (I/O)
         mapping, (memory), physical separation of memory, Bus
         Supervisor or Bus Controller. Another widely used architecture,
         in particular among the more recent designs, is a distributed
         structure with a few, general types of modules (CPU,
         RAM)

         interconnected by a "main" common bus while the support
         functions (terminal, background storage, file management
         system, mathematical processor) are implemented as
         dedicated, self-contained subsystem, communicating
         over the common bus via a general-purpose interface.

         Of the tools named, the hardware-supported are the
         most interesting. This is e.g. privileged I/O instructions
         with hardware supervision, hardware or firmware controlled
         memory mapping and Bus Supervisor and controller.

         Although the tools in combination can provide almost
         any desired type of restriction on transfer and access
         rights, it is judged that presently known methods are
         all rather vulnerable and/or quite complex. A combination
         of methods (double-protection) might lead to an acceptable
         security.…86…1         …02…   …02…   …02…   …02…              …02…        
                            


5.1.2    E̲x̲a̲m̲p̲l̲e̲ ̲1̲

         A tentative system architecture is shown on FIG. 6-1
         overleaf. The security filter may be wired for a two-directional
         use or unidirectional use according to the required
         security.

         The structure is a common bus architecture with a single
         active device, the CPU. This means that all transfers
         on the bus takes place via the CPU. All other modules
         are passively moving information to or from the compartmentalized
         RAM.…86…1         …02…   …02…   …02…   …02…              …02…             
                       
















































FIG. 6-1…86…1         …02…   …02…   …02…   …02…              …02…                           
 




         The Bus Supervisor and Memory Map is a combined hardware
         and firmware module which performs the translation
         between logical and physical addresses, a translation
         which is not known by software in execution. This module
         also provides at the same time for the restriction
         in the available memory according to the program in
         execution, and monitors/gives alarm in case of attempts
         to violate the restrictions.

         The Line Termination Units (LTU) are small microprocessor
         units, performing all functions required for the reception,
         serial to parallel conversion, error detection and
         the corresponding functions for the transmitting LTU.

         Data for output to the line is read from the compartmentalized
         RAM, likewise, data from the line is placed into the
         RAM in a standardized format.

         The CPU reads the messages, one at a time, controls
         the syntax and contents as far as this has been specified,
         and subsequently decides upon the destination of the
         message: The output-LTU, the Terminal Interface for
         Security-Operator validation of free-text fields and/or
         the Tape Recorder Interface for logging. The CPU has
         the full control over the data transfer. Messages which
         must be validated by the security operator are displayed
         with the non-validated sets or fields amplified by
         e.g. high intensity.

         A positive validation from the operator, given by e.g.
         depressing a button, is conveyed to the CPU in a "hard"
         way, for example by a direct line.

         The Tape Recorder Interface is simply recording the
         data delivered into the compartmentalized RAM.

         The RAM module is used as scratch pad memory for the
         CPU, and (if necessary) for the intermediate storage
         of messages. The RAM may be an integral part of the
         CPU if the memory requirement is modest, e.g. less
         than 64 Kbytes. In this case, the memory map function
         must be extended to this internal memory.





         The PROM module stores the entire program and all fixed
         data. The storage technology could be ultra-violet
         eraseable memories or fusible link or mask programmable,
         listed in increasing order of price and security and,
         at the same time in decreasing order of convenience
         in maintenance.

         Also the PROM may be an integral part of the CPU.

5.1.3    E̲x̲a̲m̲p̲l̲e̲ ̲2̲ ̲

         The previous example represents a very flexible architecture,
         and perhaps more flexibility than strictly required.
         Example 2 is an architecture which can be considered
         as a lower cost version of example 1 with slightly
         increased security due to a less general structure.
         The flexibility is sacrificed to achieve this.

         See FIG. 6-2 overleaf.

         This filter comprises the same functions as the previous
         example, but here the CPU, RAM, PROM, Bus Supervisor
         etc, Tape Recorder Interface and Terminal Interface
         are all integrated into the same module. This will
         reduce the price significantly and the design can still
         be made in such a way that functional modularity and
         verifiability is essentially maintained.

         The inherent security is improved over that of example
         1 because the number of communication paths is reduced
         to approach the necessary minimum. The flexibility
         is sacrificed because extensions in memory area, can
         not be just plugged in.…86…1         …02…   …02…   …02…   …02…        
              …02…                            
















































FIG. 6-2…86…1         …02…   …02…   …02…   …02…              …02…                           
 


5.2      I̲D̲E̲A̲L̲I̲Z̲E̲D̲ ̲A̲R̲C̲H̲I̲T̲E̲C̲T̲U̲R̲E̲

         The idealized architecture presented here is the result
         of a search for structures which in the best possible
         way could support the security, taking into account
         available technology and economy.

         The following points have been particularly addressed

         o   The system may use non-trusted software and hardware,
             provided it is surrounded by trusted "gate-keepers"
             and the risk of covert software in such an area
             is acceptable.

         o   Hardware/Firmware/Software split should be decided
             only after a careful trade-off between the required
             robustness versus flexibility.

         o   Data paths should be as restrictive (preferably
             by hardware) as possible.

5.2.1    A̲n̲ ̲e̲x̲a̲m̲p̲l̲e̲

         A functional diagram is depicted in FIG. 6-3 overleaf.

         It is illustrated as a simplex line. A duplex line
         will require two one-way systems.

         The filter is divided into four layers, each with a
         conceptually clear, well defined and non-overlapping
         task and with extremely simple interfaces.

         Layer 1 provides the input termination function. This
         includes the electrical protection, bit synchronization,
         frame synchronization, serial to parallel conversion
         and error detection. The layer is physically wired
         to allow input function only. The interface to layer
         2 is a one-way point-to-point interface, typically
         eight bit wide with two control lines.

         Layer 2 is a normal microprocessor system. The hardware
         and software is non-trusted, and hence only non-vital
         functions can be performed here.



















































FIG. 6-3…86…1         …02…   …02…   …02…   …02…              …02…                           
 


         Non-vital functions could be logging, operator-aided
         validation (if required) built-in test generator and
         checker etcetera.

         It should be understood that all input and output to/from
         layer 2 must be physically confined within areas authorized
         for the clearance level of system high.

         The interface to layer 3 could be identical to the
         layer 1-2 interface, augmented with e.g. a single line
         reporting back the validation result (positive/negative).

         Layer 3 is the trusted, security-determining layer
         which performs the automated validation of message.
         Layer 3 performs the validation by analyzing the format
         and contents of the message and compare these to the
         specifications, accessible in the form of tables and
         decision logic in read-only memory.

         The validation results in one of two actions: Release
         for transfer or not. A signal is given to layer 2 if
         the validation is negative. This will cause a logging
         of the message and possibly an alert to the operator.

         Optionally, layer 2 may have detected a message which
         can not be (entirely) automatically validated.

         This message will be routed to the operator terminal.

         The operator terminal is a video monitor with refresh
         memory. The refresh memory is updated from the multi-purpose
         processor.

         The physical connection to the processor is off during
         the validation .

         After the operator's validation of the proper field(s)
         (this must be a trusted process), the message is passed
         to the Gate-Keeper(2), augmented with the flag(s) indicating
         the operator approval.

         The Gate-Keeper then validates the remaining sets and
         fields of the message before release to the output.

         Layer 4 is the output layer which provides electrical
         protection, parallel to serial conversion, formatting,
         check pattern generation and output drive.





         The internal structure of the Gate-Keeper is of particular
         interest. Many structures have been considered, from
         the centralized to the hierarchical/tree-structure
         and the multiparallel structure. The conclusion to
         these considerations is that the structure which best
         meets the ideal in security is one which imitates the
         message structure.
         An"ideal" solution to this will hence be non-ideal
         or perhaps not useable for a line carrying two or more
         different formats without expensive duplication. It
         therefore seems adequate to seek for a resonably general
         structure.

         The most general structure is the centralized, with
         one general-purpose processor performing the entire
         validation process for all types of messages.

         Another functionally oriented structure could participate
         the Gate-Keeper into a format/syntax checker and a
         checker for the contents.

         A message-type oriented structure would ultimately
         have a path for each type of message. 

6.       C̲O̲N̲C̲L̲U̲S̲I̲O̲N̲S̲

         The purpose of this technical note is to evaluate architectures
         while the final judgements should be made within a
         more broad forum.