throbber
464
`
`DISTRIBUTED SYSTEMS FOR SYSTEM ARCHITECTS
`
`users modify them? Is the access control mechanism itself protected or done
`by the general operating system functions?
`The reference monitor addresses these questions, with the aim of formally
`ensuring protection. Originally proposed in (Lampson, 1974), many works
`have been based on it, broadening the scope of the original definition. In the
`rest of this part we will use the notion of reference monitor. To help us with
`our explanations, let us identify a few useful properties of a generic reference
`monitor (RM), exemplified in Figure 18.16:
`
`Completeness -
`
`the RM is invoked for any access to any object;
`
`Obligation -
`
`the RM refers to an access control rule set;
`
`Self-protection -
`
`the RM is immune to intrusion.
`
`The completeness property is secured if the RM stands between all subjects
`and all objects. The obligation property is compatible with mandatory access
`control policies. One may of course implement an RM that does not exhibit
`the obligation property, following a discretionary policy5. The self-protection
`property is secured if the RM resides on a trusted computer base (TCB). As
`we discussed in Section 18.3, in certain applications one may implement an
`RM over an imperfect TCB and in that sense partially fulfill the self-protection
`property.
`
`Figure 18.16.
`
`The Reference Monitor Model
`
`18.8 ARCHITECTURAL PROTECTION: TOPOLOGY AND
`FIREWALLS
`
`The way the architecture of the network is laid down helps implementing protec(cid:173)
`tion, and forms part of what we might call passive security measures. Devices
`like hubs, bridges and routers provide basic yet effective protection. Firewalls
`implement more sophisticated forms of architectural protection, both at phys(cid:173)
`ical and logical levels.
`
`5The original work on the RM model did not follow a mandatory policy.
`
`Exhibit 2026 Page 478
`
`

`

`MODELS OF DISTRIBUTED SECURE COMPUTING
`
`465
`
`18.8.1 Topology
`
`A naive form of internal network architecture is exemplified in Figure 18.17a.
`This flat approach has the consequence of exposing the whole infrastructure to
`an intruder that penetrates past the organization's entry router.
`
`Figure 18.17.
`
`Network Architecture: (a) Flat
`
`Figure 18.17b exemplifies the subnetting approach, that is, division of a net(cid:173)
`work in two or more subnets, each with its own addressing mask, such that
`traffic is diverted right at the entry router to the appropriate subnet. This is
`valid both for traffic coming into the organization, and for traffic between differ(cid:173)
`ent subnets of the organization. This division should be made according to an
`appropriate risk analysis: in the figure, the notion of a more exposed laboratory
`environment (Internal Network 2) versus the rest of the system (Internal Net(cid:173)
`work 1) is patent. This is a primary form of error containment: intrusion in one
`subnet does not imply the immediate intrusion in the whole system. Subnet(cid:173)
`ting also provides a convenient way for primary countermeasures:
`traffic may
`be easily blocked to/from specific networks, without affecting the operation of
`the whole organization.
`
`Laboratory
`
`Figure 18.17 (continued).
`
`Network Architecture: (b) Subnets
`
`The scenario depicted in Figure 18.17c exemplifies the utility of another
`device: the bridge. By placing the department services and the system admin(cid:173)
`istrator workstations in the Critical Network past the bridge, we neutralized
`
`Exhibit 2026 Page 479
`
`

`

`466
`
`DISTRIBUTED SYSTEMS FOR SYSTEM ARCHITECTS
`
`sniffing attacks coming from Internal Network 1. Last but not least, struc(cid:173)
`tured cabling, such as hub-based Ethernet, eases reconfiguration and primary
`countermeasures. Switched Ethernet further renders sniffing ineffective, since
`it restricts the broadcasting ability of the medium.
`
`Dept.
`Server
`
`Figure 18.17 (continued).
`
`Network Architecture: (c) Bridges
`
`18.8.2 Firewall Architecture
`
`A basic firewall is like having a "doorman" at the (single) entrance of a facility:
`it allows or forbids information in and out, according to some criteria. More
`specifically, a firewall is a set of components placed between an external network
`and an internal network, with the following properties:
`• all incoming and outgoing traffic must go through the firewall
`• only authorized traffic must be able to get through
`•
`the firewall hosts are trusted computing bases (TCBs)
`
`Figure 18.18.
`
`Single-level Firewall Architecture
`
`The business of a firewall system designer is to approximate these properties,
`by putting the adequate firewall junctions and architecture in place. Firewall
`architectures are built around routers, subnets and bastions, the trusted hosts
`that run firewall functions. These architectures take essentially two forrfi'S. The
`simplest, and most common, is a single-level firewall architecture, also known
`
`Exhibit 2026 Page 480
`
`

`

`MODELS OF DISTRIBUTED SECURE COMPUTING
`
`467
`
`as screened-host firewall, as depicted in Figure 18.18. The firewall comprises
`a router and a bastion, a combination also known as a dual-homed host, that
`stands between the external network (e.g., Internet) and the organization's (in(cid:173)
`ternal) network, such that all traffic is inspected by the bastion. In a variation
`of this architecture, the bastion stands single-homed in the internal network,
`but all outgoing and incoming traffic goes through the bastion (e.g., Internet -t
`router -t bastion --t internal host, and vice-versa). This architecture places all
`hosts in the internal network at the same level of threat. The problem is that
`any current organization is bound to have services that should operate under
`different exposure scenarios.
`
`Server
`
`Inner
`Firewall
`.~
`
`~S S !f~"""-------tIO
`.
`
`=+:~~rna,ie~ork
`
`Outer
`Firewall
`
`~;~:: Sfl s~
`
`(PFS)De.milit~~
`
`Figure 18.19.
`
`Two-level Firewall Architecture
`
`Figure 18.19 presents the most used partial fix to that problem, a two-level
`firewall architecture, also known as screened-subnet firewall. The outermost
`firewall is normally also the outside router of the organization's network, and
`normally performs simple filtering functions. The inner firewall, a dual-homed
`host, performs more elaborate functions, such as representing internal protocols
`or applications. Between the inner and outer firewalls lies a subnet called the
`de-militarized zone (DMZ). The DMZ is the place to locate hosts necessarily
`subjected to high levels of threat, such as anonymous public front-ends, e.g., to
`Web page, directory or commerce services. The reason for placing these servers
`in the DMZ instead of just letting them be freely accessible from the Internet is
`that they can still enjoy some protection from the firewall system. Besides, the
`outer firewall is also a useful device for countermeasures: it can be instructed
`in real-time by the inner firewall to disable certain flows considered suspicious,
`that attack either the inner network hosts, or the DMZ hosts. In a variation
`of this architecture, the bastion stands in the DMZ, with all traffic between
`external and internal networks going through it. Several of these bastions may
`exist in a DMZ, processing different flows and services.
`Firewall functions are the logical complement to the physical separation
`achieved by the architecture. They are divided into two main groups, that we
`study next:
`
`filters - the traffic flow passes through the firewall to end services in the
`internal network, its content being inspected by filters on a go-no-go
`basis
`
`Exhibit 2026 Page 481
`
`

`

`468
`
`DISTRIBUTED SYSTEMS FOR SYSTEM ARCHITECTS
`
`the traffic flow ends or starts in the firewall, being intercepted
`proxies -
`and processed by representatives of end services in the internal net(cid:173)
`work
`Table 18.2 illustrates the main differences between the two. Filters work by
`inspection of packet data that goes through the firewall, and as such they are
`essentially stateless. Working at communications packet level, the filtering pro(cid:173)
`cess is necessarily semantically limited (addresses, ports, interfaces). Rules are
`content oriented, such as Udeny packets containing source address X". Proxies
`intercept calls to the genuine servers, blocking direct communication through
`the firewall, and act as representatives of those servers. As such, they are
`stateful, dealing as much with data as with state, since they must handle the
`progression of service requests such as "connect to FTP server". More than
`packets, they reason in terms of protocols, users, and services, which provides
`room for richer and thus more accurate protection semantics. Rules are both
`content and action oriented, such as "allow user X to access service Y". Since
`nothing comes for free, proxy systems are normally less efficient than packet
`filter systems.
`Certain firewalls implement a variant of PFS, called stateful packet filter
`(SPF). Filters, although acting right above layer 3, probe further into each
`packet looking for known high-level protocol headers. SPFs are a form of dy(cid:173)
`namic packet filters, in that they adapt the rules to a flow of packets. Firewall-1
`(see Section 19.2) is one example. On the other hand, a variant of proxy exists
`called adaptive proxy, where the proxy is capable of interpreting varying degrees
`of threat for different instances of a same service. Gauntlet (see Section 19.2)
`is one example.
`
`Table 18.2.
`
`Comparison between Firewall Functions
`
`Filters
`
`Proxies
`
`inspection
`stateless
`data based
`poor semantics
`packet level
`content oriented rules
`faster
`
`interception
`stateful
`data+state based
`rich semantics
`protocol/user/ service level
`action oriented rules
`slower
`
`18.8.3 Packet Filter Systems
`
`The principle of packet filtering systems (PFS) is shown in Figure 18.20a. The
`filtering mechanism is defined by the following:
`
`•
`
`there is a list of rules to allow or deny packets through the filter in either
`direction;
`
`Exhibit 2026 Page 482
`
`

`

`MODELS OF DISTRIBUTED SECURE COMPUTING
`
`469
`
`• each list element is a tuple (action, origin, destination, type, direction, subnet) ,
`where: action is either allow or deny; origin is a complete source I d, for
`example TCP /IP address/port, or subnet address/mask; destination is the
`same, for a destination I d; type when available is the type of packet, which of(cid:173)
`ten corresponds to a given protocol; direction is one of inbound or outbound;
`interface represents the subnet from/to which the packet comes/goes, through
`one of the interfaces to which the firewall is directly connected;
`
`•
`
`•
`
`the headers of all incoming and outgoing packets are scrutinized against the
`contents of the list.
`
`the rules are applied in order; a packet is accepted immediately an "allow"
`rule becomes true, or rejected if a "deny" rule becomes true;
`
`Protocol Proxy (e.g. FTP)
`
`:~9~V:s~:
`:~:;:::::::
`~ :'~~ ~ .:
`' : : ..:
`.
`
`Network
`fr?tocol
`(~.g~TCPIIP)
`
`:PROXyri,j:
`::'::::' )~:
`
`NetwOrk
`Proto~o~
`(e.g.TCr'~
`
`[1·..· ~
`Internal Network
`
`~etwork
`Protocol
`(e.g.TCPIIP)
`
`Netwqrk
`Protodol
`(e.g.TCPIIP)
`
`lO-
`
`.
`
`I
`.
`.
`I .
`•
`r-ilr--S: B----~
`
`External Network
`
`Internal Network
`
`Figure 18.20.
`
`Types of Firewall functions: (a) Packet Filter, (b) Proxy
`
`The PFS can be used for actions such as: blocking all packets coming from
`a suspicious host; disallowing telnet connections from the outside; enumerating
`the hosts allowed to access a given service. An example rule could be (deny
`from any to 194.117.21.00 typeTelnet inbound ieO), meaning that telnet packets
`coming from any machine in the subnet behind interface ieO, and addressed
`to any machine of protected subnet 194.117.21.00, are blocked. A prudent
`security policy can be implemented by using allow statements to specifically
`permit the desired traffic flows and denying everything by default as the last
`rule. Conversely, a pe'rmissive security policy will be implemented by using
`deny to block undesired flows, and allowing everything by default in the end.
`Firewall-1 (see Section 19.2) is a widely known example of PFS.
`Network address translation (NAT) complements filtering to ensure logical
`separation.
`It consists of assigning invalid addresses to the internal network
`hosts, such that any traffic going in or out has to undergo a translation of the
`destination or source address, respectively, at the firewall router. This controls
`access of legitimate users to the external network, and hides the composition
`of the internal network to intruders.
`
`Exhibit 2026 Page 483
`
`

`

`470
`
`DISTRIBUTED SYSTEMS FOR SYSTEM ARCHITECTS
`
`18.8.4 Proxies
`
`this means they
`PFSs allow packet flows to internal hosts and are stateless:
`cannot prevent direct probing and penetration attacks to internal hosts, as
`long as each individual packet looks innocent. If instead of inspecting passing
`traffic, it were intercepted and re-originated from the firewall, the chances of an
`intruder would be reduced. Figure 18.20b introduces such a firewall function,
`the proxy. Proxies reside in the firewall, and are representatives of application
`or protocol services (or daemons in UNIX language). A proxy stands for a
`genuine protocol server- such as HTTP, FTP, Telnet, or SMTP- which is
`normally in the internal network. The user wishing to access such a service
`is connected to the proxy server instead (left of the figure). The proxy. client
`side performs the dialogue with the real server (right of the figure).
`Proxies
`relay all traffic back and forth between the user in the external network and the
`protocol server in the internal network. For that reason, proxies are also called
`circuit gateways. The proxy mechanism is defined by the following generic
`rules:
`
`•
`there is a list of rules to allow, restrict or deny access to services;
`• each element of the list is a service-specific tuple, that may comprise: user
`Id and origin; service and server; type of access control (e.g., ACM, ACL);
`type of authentication (e.g., password, signature); type of restrictions (e.g.,
`from IDS); event monitoring and audit trail required; etc.;
`requests arriving at the proxy are tested against the rules, and serviced if
`"allowed" or blocked if "denied";
`• state is maintained during service execution, to ensure it is carried on cor(cid:173)
`rectly.
`
`•
`
`Proxies significantly limit the freedom of action of an intruder in the internal
`network, and they are more precise than packet filters, since they act at a higher
`A proxy rule may be something like (allow anyuser
`level of abstraction.
`from domain cs.comell.edu to ftp to FTP.di.fc.ul.pt requiring authentication
`X509_certificate requiring authorization loca~. It means that any user coming
`from cs.comell.edu may attempt to log into the FTP server of di.fc.ul.pt, then
`pass an authentication process based on presenting a valid X.509 certificate,
`and then following the local ftp server ACL control.
`
`18.8.5 Application Gateways
`
`Application gateways are proxies working at a higher level of abstraction than
`circuit gateways. An application proxy server (a front-end of the application)
`is installed in the firewall, which for all purposes becomes the interface to the
`clients. The gateway, besides performing logging, validation and filtering func(cid:173)
`tions, forwards the client's request to the real application server in the internal
`network, and receives the replies back. The overall picture is represented in
`Figure 18.20c.
`
`Exhibit 2026 Page 484
`
`

`

`MODELS OF DISTRIBUTED SECURE COMPUTING
`
`471
`
`Application Gateway
`
`~
`
`~~~~~~~.;:
`
`'*
`
`(~~~.~~;~~)
`
`Split Gatew,.....-a"",,"-_--,
`"
`.
`...-
`ecurelP
`
`;
`
`~~.~~~.~~~~i;:
`
`:fi.?~~~~~;?
`
`C9mm's
`Protocols
`($.9. TCPIIP.
`t(TTP.Telnet)
`
`Ei.~:~) ~ ..
`
`fl-o-+'t--«fo<
`External Network
`
`Comni's
`Protocols
`(e.g. TCP,IIP.,
`HTIP,Telnet)
`~----"'"-'-'.,;;::.~
`\
`/
`i 4--flq..-,-",
`Internal Network
`
`Gomm's
`p:r9tocols
`(e.g. TCPIIP,
`H!ip,Telnet)
`
`(E~~4 m~~........,~!'O ~
`
`;
`
`:
`
`Comni'~
`Protoc~l~
`(e.g. TCP/IP;,
`HTTP,Telnet) ,
`~~--''i-"~A;;::)
`.........,..................•...
`
`SubnetA
`
`Su netS'
`
`Figure 18.20 (continued)
`Types of Firewall functions: (c) Application Gateway; (d) Split Gateway
`
`If all access from the outside is done through protocol and application gate(cid:173)
`ways, an internal network may be completely closed to the outside at the
`protocol level. An intruder's freedom of action is then reduced to trying to
`tamper with the gateway or with the firewall's O.S. In consequence, applica(cid:173)
`tion gateways are the most powerful and precise' protection devices in firewall
`architectures, because they exert control at the highest possible semantic level:
`that of the application itself. However, they are also the less versatile and most
`difficult to build. Whereas COTS packet filters and protocol proxies abound
`for the best known network environments and protocols, application gateways
`must normally be custom made, with very few exceptions. Gauntlet (see Sec(cid:173)
`tion 19.2) is a widely known example of proxy and application gateway system.
`Note that there is nothing that prevents combining filters and proxies in
`the same bastion, or distributing them by the components of a firewall.
`In
`two-level firewalls, a current configuration is as shown in Figure 18.19:
`the
`outer firewall performs packet filtering and routing; and the inner firewall hosts
`protocol and application proxies. As a concluding remark, keep in mind that
`the effectiveness of the firewall functions we have described is in the inverse
`proportion of their generality. It is up to the architect to select the configuration
`that best addresses the tradeoff between security and functionality, according
`to the security policy previously defined.
`
`18.8.6 Split Gateway Architectures
`
`Sophistication of Internet-based distributed computing models calls for mod(cid:173)
`ularity and splitting of functions, in support of multi-tiered client-server op(cid:173)
`eration. Today's applications are becoming significantly more complex and
`performance-demanding than is achievable by CGI-based connection of Web
`servers to application servers. These applications are using more powerful,
`stateful middleware based on the connection of front-end Web servers to back(cid:173)
`end application servers, through enabling technologies such as Object Request
`Brokers, Internet Inter-ORB protocols (IIOP), JDBC and ODBC database con-
`
`Exhibit 2026 Page 485
`
`

`

`472
`
`DISTRIBUTED SYSTEMS FOR SYSTEM ARCHITECTS
`
`nectors, Web Request Brokers and Event Brokers. These constructs must be
`secure, and it makes sense that they operate across firewall architectures, for
`example, by running the back-end server in the internal network and then, both
`the front-end and the middleware in a firewall, or alternatively, the front-end
`server in a DMZ and the middleware in a firewall bastion.
`To support the necessary modularity, address space separation, and location
`independence, we resort to what we may call a split gateway architecture,
`depicted in Figure 18.20d. It is an application gateway where the server-side
`and. the client-side modules are stateful machines that operate independently,
`and communicate through a generic IPC. Both intra-host and inter-host IPC
`operation are supported transparently, such that the split gateway may either
`live on two separate hosts, as depicted in the figure, or in two disjoint realms of
`a protected O.S. in a single host. These hosts must be considered as bastions
`in what concerns their configuration and operation.
`IPC must be secure, in
`either configuration.
`
`18.9 FORMAL SECURITY MODELS
`
`In this section, we discuss formal ways of specifying and assessing security of
`computer systems. Namely, we discuss how, in a multi-level security mode, we
`specify which subject security classes can access which object access classes,
`and with what rights (e.g., can a top-secret subject write to an unclassified
`object?). Secondly, we describe standard security classification and evaluation
`criteria for computer systems (e.g., how secure is computer system X?).
`
`18.9.1
`
`Security Policy Models
`
`It is obvious that for a verifiable goal to be attained, security policy rules
`must follow some formal specification. There exist several attempts to enforce
`mandatory access control policies in a formal way. The first such specification
`was the Bell-LaPadula model (Bell and LaPadula, 1973), which aimed at se(cid:173)
`curing confidentiality. Other models followed, such as the Biba model, inspired
`by the Bell-LaPadula but addressing integrity instead (Biba, 1977), and the
`Clark-Wilson model, more adequate for enterprise systems (Clark and Wilson,
`1987). Formal specification methods verifiable by model checking are discussed
`in (Ryan et aI., 2000). There is not a generally accepted model addressing all
`needs, and this is a current research topic.
`In generic terms, the relations between subjects and objects are established
`on the basis of their security classes and the need to know. We say s dominates
`o (or 0 is dominated by s) when the security class of s is at least as high as o's,
`and s needs to know o. We denote it as s 2:: o.
`
`Bell-LaPadula Model The Bell-LaPadula model, BeLa for short, describes
`the information flow in a system in terms of very primitive read/write oper(cid:173)
`ations.
`It aims at ensuring that the confidentiality property is respected in
`systems where data and computations of different security levels exist, and
`which can be accessed by subjects of different security classes. Consider sub-
`
`Exhibit 2026 Page 486
`
`

`

`MODELS OF DISTRIBUTED SECURE COMPUTING
`
`473
`
`ject s with security class C(s), and object 0, with security class C(o). The
`access rights granted to s on 0 can be read or write. The properties of the
`BeLa model are then:
`Simple Security Property - A subject s has read access to object 0
`only if C(s) ?: C(o)
`*-Property - A subject s has write access to object 0 only if C(s) ::;
`C(o)
`Observe that a subject cannot read data from a level higher than its security
`class, that is, read-up is not possible. More counter-intuitively, the answer to the
`question in the beginning of the section- can a top-secret subject write to an
`unclassified object?- is "no!": a subject cannot write data to a level lower than
`its security class, that is, write-down is prevented. Also, if it writes data, it may
`not be able read it back. This causes a certain difficulty in retrieving, using and
`updating information for a repository. In fact, practical programming with this
`model entails significant complexity. However, note that by preventing read(cid:173)
`up, confidentiality is protected in normal conditions. By making write-down
`impossible, information leakage attacks, directly or by means of Trojan horses,
`are blocked.
`In the Biba model, which is the converse of the BeLa model, the security
`class interpretation concerns the sensitivity with regard to integrity. The model
`properties, conversely to the BeLa model, forbid read-down and write-up, as a
`way of preserving integrity of information. While no write-up is intuitive, note
`that the reason why read-down is prevented is to avoid corruption of the system
`with untrusted (low-integrity level) information.
`
`18.9.2 Trusted Computer System Evaluation Criteria
`
`Evaluating and grading the security of computer systems through objective
`evaluation criteria is important, for it allows us to compare systems of different
`models and makes. The Trusted Computer System Evaluation Criteria (TC(cid:173)
`SEC), or Orange Book (TCSEC, 1985) originating from the U.S.A., and the
`Information Technology Security Evaluation Criteria (ITSEC) (ITSEC, 1991),
`from Europe, were initial efforts in that direction. More recently, the bodies
`involved in both converged in a global standard, called Common Criteria for
`Information Technology Security Evaluation (CC) (CC-ITSE, 1998), bound to
`become an International Standard (ISO 15408) at the time of this writing.
`The CC standard structures both the functionality requirements and the
`assurance requirements of a system i.e., what the product should do, and what
`trust can be placed in what it does. These requirements are expressed in terms
`of classes.
`The standard is highly modular, making possible a huge number of combi(cid:173)
`nations of classes of functionality and assurance requirements. However, it is
`expected that "typical" combinations emerge from the industry. The CC, like
`the preceding standards, provide several levels of trust. There are 7 Evalua(cid:173)
`tion Assurance Levels (EAL) that measure the user trust on a system (EAL7 is
`
`Exhibit 2026 Page 487
`
`

`

`474
`
`DISTRIBUTED SYSTEMS FOR SYSTEM ARCHITECTS
`
`Table 18.3.
`
`Common Criteria (CC)- Security Levels
`
`Levels
`
`Description
`
`TCSEC equiv. Classes
`
`EALI
`EAL2
`EAL3
`
`EAL4
`
`EAL5
`
`EAL6
`
`EAL7
`
`functionally tested
`
`structurally tested
`methodically tested
`and checked
`
`methodically designed,
`tested and reviewed
`semi-formally designed
`and tested
`semi-formally designed,
`verified and tested
`
`formally designed,
`verified and tested
`
`I D
`I
`-
`I Cl- Discretionary Security
`C2- Controlled Access
`
`Bl- Labeled Security
`
`B2- Structured
`
`B3- Security Domains
`
`Al- Verified Design
`
`highest). Evaluation Assurance Levels are represented in Table 18.3, which also
`provides a mapping to the well-known TCSEC security classes. EALI applies
`when minimal protection, namely of personal information, is desired, but secu(cid:173)
`rity is not a main concern. EAL2 and EAL3 are expected to have been tested
`against the functional criteria.
`In EAL4, it is expected that specific crucial
`subsets of the design have been methodically designed having security in mind,
`and that the whole has been thoroughly tested, and reviewed independently.
`Level EALI-EAL4 assurance can generally be retrofitted into existing products
`and sub-systems (such as O.S.s). Levels above EAL4 require adequate design
`from the start. They provide maximum assurance, by application of specialized
`security engineering techniques. They also become more complex and expen(cid:173)
`sive to implement. EAL5 would represent the top assurance still within the
`commercial systems area. EAL6 and EAL7 would apply to classified systems
`and military.
`
`18.10 SECURE COMMUNICATION AND DISTRIBUTED
`PROCESSING
`
`Secure channels and secure envelopes are basic paradigms of secure communi(cid:173)
`cation and the support for distributed processing models with security, such
`as remote sessions, RPC, and electronic mail. We study the above-mentioned
`models and mechanisms in this section.
`
`Exhibit 2026 Page 488
`
`

`

`MODELS OF DISTRIBUTED SECURE COMPUTING
`
`475
`
`18.10.1 Establishing Secure Channels
`
`Secure channels, that we studied in Section 17.11, are one of the basic support
`primitives for distributed processing. They underlie file transfers, remote ses(cid:173)
`sions, remote procedure calls, HTTP interactions, and so forth. They may be
`implemented in several ways. In what follows, we will make a general analysis of
`how to achieve each of the secure communication properties: authenticity, con(cid:173)
`fidentiality, integrity. For simplicity, and without loss of generality, we consider
`the case of point-to-point communication.
`
`Authenticity In order to achieve authenticity in a secure channel, the princi(cid:173)
`pals should authenticate themselves, in one of the styles shown in Figure 17.17.
`Mutual authentication desirably guarantees that both principals know whom
`they are talking to, mandatory if the channel is bi-directional. Several pro(cid:173)
`tocols are discussed in Section 18.5. If only symmetric cryptography is being
`used, shared-secret authentication protocols are the ones to be used. If asym(cid:173)
`metric cryptography is available, then one can take advantage from the power
`of signature-based authentication. Since the channel is being established for
`exchanging a possibly large number of messages, with desirably low latency, it
`is convenient to avoid having to do authentication on every future message ex(cid:173)
`changed. Some of the short-term key exchange protocols studied in Section 18.6
`are embedded with authentication, finishing by leaving the principals with a
`session key K ss , known both of them and no one else. By majority of reason,
`any future message exchanged that has a suitable cryptographic function of
`that key enjoys the authenticity property if: messages are always encrypted
`with K ss ; or messages are cryptographically checksummed with a function de(cid:173)
`pending on K ss (see MACs in Section 17.5, and Figure 17.8). Note that the
`validity of these two assumptions relies on subtle aspects: (a) that the recipient
`knows something about the partial content (e.g., headers) or about the struc(cid:173)
`ture of messages; (b) that forging or modifying the encrypted product, may
`not possibly yield something intelligible in terms of (a), after decryption; (c)
`as (b), for the cryptographic checksum and its verification.
`
`Confidentiality When confidentiality is desired,
`the communication must
`be encrypted. A channel using exclusively asymmetric cryptography for both
`authentication and encryption would be extremely simple and secure. How(cid:173)
`is very
`is not recommended for immediate communication, since it
`ever,
`it
`slow. Practical secure channels resort to two alternatives: purely symmetric
`cryptography; hybrid cryptography.
`In a symmetric system, after shared se(cid:173)
`cret authentication and key exchange have been performed, as we just saw,
`the channel has a session key. With hybrid cryptography, principals start with
`using their public/private key pairs to exchange, encrypted and/or signed, a
`session key as well (see the protocol described in Section 18.4.5). After that,
`in both approaches, they use that key for symmetric encryption/decryption.
`
`Exhibit 2026 Page 489
`
`

`

`476
`
`DISTRIBUTED SYSTEMS FOR SYSTEM ARCHITECTS
`
`Integrity In order to achieve integrity, messages must be cryptographically
`protected in a way that any modification whatsoever (accidental or intentional)
`is detected. This can be achieved in one of two ways: by a cryptographic
`checksum, such as suggested for authenticity (in this role, it is often called
`a message integrity check, or MIC); or by a digital signature. Note that the
`proviso that we made under Authenticity above, on the recipient having to know
`what it expects after decryption or verification, still applies here. Integrity can
`also be protected by encryption, but the method is not general, since it requires
`a modified message to decrypt to garbage, and this is not always achievable.
`
`18.10.2 Secure Tunnels
`
`The simplest form of building a secure channel through a network such as
`the Internet is shown in Figure 18.21a. Encrypted and/or integrity protected
`payload data blocks are encapsulated in protocol packets, Le., IP datagrams.
`This does not always work. Take networks A and C, interconnected by network
`B, and a problem: we want a packet to go from A to C, but for some reason
`it cannot circulate through B (e.g., B does not understand the protocol). The
`first approach will not work, so we have to use another form of secure channel.
`
`I,
`Data p
`I.. "'#$%43543'fga8a=?"'lf"'+Mfdg~S1'kji
`
`.1
`.J
`
`Headert
`
`Headerp
`
`Headert
`
`Headerp
`
`Headert
`
`I
`
`,:
`
`I
`
`(a)
`
`Datap
`
`.>Oatal
`(b)
`
`Datap
`
`Da·tat
`(c)
`
`Payload Data
`
`Encrypted
`Payload Data
`
`Packet
`
`.1
`I
`I
`
`Payload Packet
`
`Carrier Packet
`
`Payload Packet
`
`Encrypted
`Payload Packet
`
`Carrier Packet
`
`Figure 18.21.
`
`Tunneling: (a) Secure packet; (b) IP-over-IP; (c) Secure Tunnel
`
`Let us start by understanding what a tunnel is: the encapsulation of a whole
`payload packet that circulates in network A, in a carrier packet, that circulates
`through network B, until network C, where the carrier packet is de-capsulated
`and the payload packet circulates again until the final destination. A classical
`tunnel is IP-over-IP, whose packet structure is depicted in Figure 18.21b.
`It
`consists of encapsulating a full IP datagram as if it were an upper layer service
`data unit, in another IP datagram. A secure tunnel is then a tunnel that
`guarantees the properties of a secure channel to the data carried inside it.
`Figure 18.21c suggests how it can work: the whole payload packet is treated as
`
`Exhibit 2026 Page 490
`
`

`

`MODELS OF DISTRIBUTED SECURE COMPUTING
`
`477
`
`a block of data, and is encrypted and/or integrity protected. The result is then
`treated as data and encapsulated in the carrier packet. In the final destination,
`the operations are repeated in reverse order: the outer packet is de-capsulated,
`the data decrypted/verified, and the inner packet launched on the network for
`IPsec (see Section 19.3) is the forthcoming standard for
`its final destination.
`secure channels and tunnels on the Internet.
`
`18.10.3 Distributed Authentication and Authorization
`
`Among the several functions that assist secure computing, two are fundamen(cid:173)
`tal: authentication and authorization. We studied th

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket