<<

A Critical Analysis of Models for Fault-Tolerant and Secure

Computation

Mike Burmester Yvo Desmedt Yongge Wang Department of Science Department of and Information Systems

Florida State University University of North Carolina at Charlotte ¡

E-mail: burmester, desmedt ¢ @cs.fsu.edu E-mail: [email protected]

ABSTRACT malicious scenario in its generality. We consider the problem of fault-tolerant dependable com- In this paper we shall consider models for redundant putation with multiple inputs. Although the traditional computation that will tolerate random faults and malicious model assumes that the number of faults is relatively small faults, using the traditional setting of computation theory. when the enemy has limited resources, this assumption is These are high level models which allow for the most gen- unreasonable when some faults may be interdependent. In- eral settings appropriate for such computations. The spe- deed, a computation system may have several replicated cific nature of the processors involved, or the nature of their components and the adversary may exploit a common links is abstracted out. For example, the processors might weakness of these so as to cause simultaneous failure. In be servers, software modules, or even steel plants. A hard- this paper we introduce models for secure distributed com- ware module might be linked to a software package, and so putation with multiple inputs that tolerate dependent faults. on. These aspects will not concern us. In particular, we consider AND/OR graphs with colored vertices and show that they can be used to model depend- able computations with an appropriate level of abstraction. 2 Background We then apply this model to show that fault-tolerant de- pendable computation with multiple inputs can only be In the context of survivable computer systems one can dis- achieved if an appropriate number of color-disjoint solution tinguish two types of malicious faults: independent and subgraphs is found. Finding such subgraphs is NP-hard. dependent faults. As an illustration consider a redundant This is in contrast to the problem of dependable computa- computation system for which the hardware and software tion with single inputs that requires finding vertex-disjoint components have been developed independently. For such paths, for which there is a polynomial time algorithm. a system, a fault in one of its components will not neces- sarily extend to the rest of the system. That is, indepen- KEY WORDS dent faults are (usually) restricted to subsystems. On the Dependable computation, , security other hand if software components have been replicated, then (malicious) faults may be duplicated. Such faults are dependent. 1 Introduction

Redundancy (see for example, [4, 5]) has been used to 2.1 Independent faults achieve reliability in the context of fault-tolerant computa- tion, reliable communication, and reliable networks. While In the context of reliability, faults occur in a probabilistic reliability is solely concerned with accidental errors, sur- way and are independent of each other and of the overall vivability must deal with malicious faults (see for example, state of the system at their origin. A typical such fault in [12, 13]). A redundant computation system consists, essen- a circuit occurs when the output of a gate is independent tially, of several linked processors, such as servers, hard- of its input, for example when its output is a random string ware units, software programs, etc. A basic requirement (noise). The impact of such faults can be controlled by is that the system should tolerate faults. Several models using . However such an approach cannot deal can be used for such systems, but these usually deal with with strongly dependent faults. faults that follow a random pattern and are not malicious. It is not clear whether redundancy is sufficient in itself to 2.2 Dependent faults guarantee that a computation will be secure (even if con- ventional cryptographic tools are used), and therefore it is In the traditional faults model, the usual scenario is that not clear whether these models are adequate to describe a the adversary controls the faulty processors according to £ This research supported by the National Science Foundation under some plan which may exploit the possible weakness of the grant CCR-0209092. system. The adversary has at least as much power and knowledge about the state of the system (excluding the se- We shall use the term entity to indicate someone or cret keys) as the non-faulty processors, and possibly more. something that possesses and makes use of a private/public For example, the adversary may know the structure of the key pair. This could be a person, an authentication , system whereas the non-faulty processors may not. Such or a certification authority. The user is the person applying an adversary might try to use this information and forward the model for the purpose of gaining assurance in the name- misleading inputs to non-faulty processors in an attempt to to-key binding. cause the system to fail. The Beth-Borcherding-Klein model [1] This uses a set It is reasonable to assume when dealing with an attack of trust relationships that can be represented by a directed with limited resources, that the number of faults will also graph whose vertices are the entities. There are two types

be limited. However this assumption is unreasonable for a of edges: “directed edges” denoted by  and “rec-  scenario in which the faults are strongly dependent. In par- ommendation edges” denoted by  . Edge

ticular, when the same faulty software has been replicated, indicates that entity believes it can authenticate (i.e., it 

and the same component is used throughout the system (the has the public key of) entity  . Edge indicates  1988 Morris Internet Worm exploited the vulnerabilities in that entity trusts entity to authenticate other entities, UNIX). or recommend other entities to authenticate, or further rec- ommend. The Mauer model [11] This also uses a directed graph. As 2.3 The requirements for a model with the Beth-Borcherding-Klein model, the vertices are entities and there are two types of edges, “directed” and Achieving processor cooperation in the presence of faults “recommendation”. However, there is a subtle difference is a major problem with distributed systems. Popular in the semantics for these edges. In the Mauer model, the paradigms such as Byzantine agreement (see for example, edges represent syntactic constructs, e.g., certificates. In

[10]) have been studied extensively. Dolev [4] (see also,  particular, the directed edge  indicates that user

Dolev et al. [5]) has shown that Byzantine agreement is  “holds a certificate for user ’s public key (allegedly) achievable only when the number of faulty processors in

issued and signed by ”, while a recommendation edge

the system is less than one-half of the connectivity of the

 indicates that the user possesses a recommen- system’s network (for Byzantine agreement, the number of

dation (recommending or authenticating) for  (allegedly) faulty processors must be less than a third of the total num-

signed by entity . ber of processors). Hadzilacos [7] has shown that even in The Reiter-Stubblebine model [16] This model also the absence of malicious failures ¤¦¥¨§ © -connectivity is uses a directed graph, but again differs from the Beth- required for agreement in the presence of ¥ faulty proces- Borcherding-Klein model and the Mauer model. In this sors. These results refer to processors with one type of in- case, the vertices are public keys (actual keys, with no ref- put, while in practice most processors have several types of

erences to any entities), and an edge  indicates input (see Section 3.2.1 for details). that the user has a certificate signed with the private key

Modelling a scenario in which the adversary is ma-   corresponding to  (so can be used to verify the sig- licious should allow for a dynamic topology in which

nature) that assigns attributes to   . These attributes are changes in the system may take place without the (non-

assumed to assert   ’s owner (among other things, per-

faulty) processors being aware of these. It should allow for

 !  haps) and are included as a label for edge  . the most general type of processor. This could be a sim- The Zimmermann model [21] This is used in PGP [21]. ple gate, a software package, or even a powerful computer. Zimmermann’s model resembles (but precedes) the Reiter-

It should also allow for memory, and the ability to per-

  Stubblebine model. Its nodes are keys, and its edges 

form complicated operations. The model should describe   are labeled by attributes and are represented by a cer-

the structure of the system at the appropriate level of ab-  tificate that binds the attributes to  and that can be ver-

straction: it must distinguish those aspects that are relevant  ified with the key  . The graph differs from the Reiter- to the computation and abstract out the aspects that are not Stubblebine graph in that the user can assign to each vertex essential. Such a model should offer the maximum flexibil- a trust value in the set ¡ unknown, untrusted, marginally ity to the designer.

trusted, fully trusted ¢ . The Franklin-Yung model [6] This uses hypergraphs (a 3 Current models kind of special directed graphs) to model communications in broadcast channels. In this model, the message of the 3.1 Models for fault-tolerant communication sender is received by all receivers designated by the sender with authenticity and privacy. Several models have been proposed in the literature for authenticated communication in large-scale open systems 3.2 Models for fault-tolerant computation (see for example, Reiter and Stubblebine [17]). In this sec- tion we overview these models. Each of these makes use of Our models are based on the traditional setting of compu- a directed graph to capture the notion of “certification”. tation theory. In particular all the entities and the adversary have limited resources (polynomially bounded in the de- present several models for such kinds of systems. scription of the application). We have given a brief survey of models used in the There are several models that can be used for fault- context of fault-tolerance and survivability. However as tolerant computation systems. However as we shall see we have seen, none of these are sufficient to model fault- from the analysis below, these are not adequate to de- tolerant and secure distributed computation with multiple scribe fault-tolerant computation systems with multiple in- inputs. The models for fault-tolerant communications do puts. The theory of computing, following Turing, is based not capture the multiple inputs aspect, while the the models on representing data by sequences of symbols, typically for fault-tolerant computations do not capture the redun- bits, and performing operations selected from a small set dancy aspects. In the following section we shall describe of primitive operations (such as ANDs, ORs, etc). Systems models for fault-tolerant and secure distributed computa- which use such primitives can be modelled by circuits. This tions with multiple inputs. is the classical model for fault-tolerant (VLSI) with redundancy (e.g., von Neuman restoring). Circuits are best suited for Boolean type computations in which the structure 4 Models for independent faults of the system is well defined, and usually are not suitable for open settings. A somehow similar argument applies to In this section, we discuss models for independent faults. models based on finite state machines. These models are not appropriate for distributed systems, and therefore are 4.1 A directed multi-graph with colored not suitable for our purpose. edges model In programming languages, a function or a compu- tation process is modelled by a flow graph. This model We model a redundant computation system with multiple allows one to characterize a computation with multiple in- inputs by a directed multi-graph with colored edges. The puts at an appropriate level of abstraction, although it does different colors of the edges indicate the different types of not model the redundancy in fault-tolerant computations. inputs. The graph must have at least one input vertex and We can model a redundant computation system with one one output vertex. There are several possible applications type of input (see for example [15]) by a directed graph (or for this model. For example, subroutines whose inputs have multi-graph) in which the vertices are the processors and the same color need only use one input (when there are no the edges are the links. Incoming edges of a vertex indicate faults). If the colors are different then the processor must which units can be used as alternative servers to provide the use one input for each of the input colors to carry out its input. This is a high level model and appropriate for some computation (or whatever it is supposed to do). applications, for example networks applications. However it does not describe scenarios in which most computation Definition 4.1 A directed multi-graph with colored edges

processes have more than one type of input. "

1 243654243 7 8:9<;=9<>:?@

¤$#&%('*),+.-0/ , ; ; is a directed 'A),+.-

7 . The input vertices have no incoming edges and the out- Our analysis above shows that none of the existing models put vertex has no outgoing edges. is appropriate for fault-tolerant computation system with multiple inputs. Such systems include most of the na- This model is equivalent to the AND/OR graph model in- tional infrastructures whose components require computa- troduced by Burmester, Desmedt, and Wang [2], which we tions with multiple inputs. To illustrate this let us consider shall now describe. some examples. In an electrical power distribution system, the gener- 4.2 An AND/OR graph model ation stations, the transmission and distribution networks must be integrated, and all the components must be reli- AND/OR graphs have been used to model problem solving able so as to achieve and maintain nominal functionality processes in artificial intelligence (see, e.g., Nilsson [14]). for the end-user. Furthermore, the generation stations are In [2], Burmester, Desmedt, and Wang used AND/OR themselves systems that consist of components with multi- graphs to model fault-tolerant computations with multiple

ple inputs, e.g. the control systems of a generation station inputs. An AND/OR graph is a directed graph with two C need data from several sensors. Another example is an air types of vertices, labelled B -vertices and -vertices. The traffic control system. This also consists of several compo- graph must have at least one input (source) vertex and one nents with multiple inputs. For example, the processors of output (sink) vertex. The output vertex may be regarded as an aviation control system need data from several sources an C -vertex (without loss of generality). More specifically, such as the speed of the airplane, its position, etc. There we have the following definition.

are many more examples of such applications. With most

" #GF

of these, we often need the output of more than one sensor Definition 4.2 [2] An AND/OR graph ¤$#ED , ,

1 243654243 7. #ED as an input to a computation. In the next section, we will '*),+.-0/ , ; is a directed graph with a set

#GF C '*),+.-0/ of B -vertices, a set of -vertices, a set of in- The main advantage of AND/OR graphs with colored ver-

put vertices, an output vertex 1 243654243¨HI#EF , and a set of tices is that they model the dependent faults at an appro-

directed edges 7 . The vertices with no incoming edges are priate level of abstraction and are a powerful mathematical input vertices and the vertex with no outgoing edges is the tool for the study of dependent faults. output vertex. They are several possible applications for this model. It can be shown that this model is equivalent to the directed For example, processors with the same standards can be graph model with multi-colored edges considered in Sec- marked with the same color. We illustrate this by an ex- tion 4.1, in the sense that there is a polynomial time reduc- ample of a simplified version of an aviation control sys-

tion from one to the other. The application given in Sec-

 8 W tem. Assume that four , , , and are used tion 4.1 can also be used for this model. In this case, for to process data from the speed sensors of an airplane, and

processors which need all their inputs in order to operate "

X Y four computers 7 , , , and are used to process data are represented by B -vertices, whereas processors which from the position sensors of the airplane. The results from can choose (using some kind of voting procedure) one of

the eight computers are fed to the computer ' to compute their “redundant” inputs are represented by C -vertices. In the next position of the airplane. In addition, assume that

the replicated agent computation with voting (see Schnei-

 7 X

, , , and use Intel Pentium 3 processors and run "

der [18]), a meet operation may be considered as an B -

W Y Microsoft Window 2000, 8 , , , and use Pentium 4 vertex and the operation of choosing one agent from its

processors and run Microsoft Window XP, and ' is a Mac- replicas may be considered as an C -vertex. intosh computer which runs MacOS. The aviation control

system can be modelled by the AND/OR graph in Figure 1. + 5 Models for dependent faults In this graph, ? and represent the speed sensor and the

position sensor respectively. The data from the computers

 8 W C

Current computing platforms, as well as communica- , , , and is fed to one -vertex and the data from the

"

X Y C tions infrastructure and software, are largely homogeneous. computers 7 , , , and is fed to another -vertex. The

Computing platforms are quite uniform in the operating colors of the vertices are as follows: 8Z¤$ [ ,\]8Z¤^_ ,\

¡

+:cedf3hgi24jkl%(mngidporqsqAqt¢ 8Z¤$8: `\

system they run and the instruction-set they 8Z¤^7_ `\a8Z¤$Xb \ ,

¡

"

v\u8Z¤^Yw \ +:cedf3hgi2Gj¨x4%ymngidfz{+|¢

support. Furthermore, display, network interface, and disks 8Z¤^W¨ \u8Z¤ ,

¡ }~s€ }ƒ‚

qsqAql% 9:?„¢ C

are made uniform by adherence to either government or and 8Z¤$'* Z\ . (The colors of the - + manufactures standards or are presented to application soft- vertices, the vertex ? , and the vertex are defined accord- ware as common interfaces by operating systems software ing to the systems used.) When a vertex fails due to one in the form of device drivers and hardware adaptation lay- of its colors, then all vertices with the same color will fail. ers. The similarity of the interfaces of a collection of ho- In a fault-tolerant computation system, all vertices with the mogeneous systems implies that these systems will share same colors will have the same failure probability. Indeed, vulnerabilities. A successful attack on one system is then an operating system is a collection of correlated and in- likely to succeed on other systems as well. This picture dependent components. One component failure does not is further complicated by the role of technical standards. necessarily mean that all other components will fail at the Standards enable interoperability of components, and at- same time. tacks that exploit the vulnerability of the components can be reused in a variety of settings where standards prevail.

The models in the previous section do not reflect these finer ˆ‡‰

ˆ‡‰

‡†

£ ¤

“ 

aspects of dependent faults. ‡†

 • —

Š

Ž

“ 

Š

 • —

Ž

Š

“ 

’‘

Ž

“ ” • – —

Š ‹ Œ

’‘



˜

ˆ‡‰ ˆ‡‰ ˆ‡‰ ˆ‡‰ ˆ‡‰ ˆ‡‰ ˆ‡‰

5.1 An AND/OR graph with colored vertices ˆ‡‰

Œ

Œ 

¥ ¦ § ¨ © ª « ¬

‡† ‡† ‡† ‡† ‡† ‡† ‡† ‡†

— ™ —

Š 

We can model a redundant computation system with de- Š

Š Š 

— ™ —

— Œ Œ

Š 

pendent faults by an AND/OR graph with colored vertices. Š

Š ‹ Pž

˜ ™›š —

Š ‹

˜ œ

Œ Œ

œ

Œ  

Definition 5.1 An AND/OR graph with colored vertices is Œ

"

¡

Ÿ

¤$# # '*),+.-0/ 1 243654243 7 8:9<;=9<>

D F

an array: , , , ; ; , ¡

Ÿ

¡ 8:

with the following properties: Ÿ

¡

Ÿ

¡

"

ŸK

ˆ‡‰

¡ ¢ ¤$#GDJ%K#4FL%('*),+.-0/M%(1 2G365N2G3PO(7.

1. is an AND/OR ­ ‡† graph; Figure 1. The aviation control system AND/OR graph 2. 8:9<;Q9<>:? is a set of colors;

3. 8SR*#GDUT=#4FV8:9<;Q9<>:? is a function which assigns a color for each vertex.

¡

\·'A){+.-0/¸T 'º¹h»½¼¾»y¿ ¢

5.2 An AND/OR graph with a partial order 1. '*),+.-0/ ;

¡›Á ‚

on the colors of the vertices ¶

# \À#4F|T ¹„R H,8:9<;=9<>

2. F ;

¡›Á Á ¶

The AND/OR graphs with colored vertices model depen- ¶

# \Â# T R H!¤$# TÃ# MÄ ¤^'*),+.-0/ÅT

D F D 3. D dent faults in a natural way. However they do not describe ¡ 1 243654243K¢Æ K¢ ;

some of the finer aspects of dependent faults, such as weak ¶ dependencies. In the previous model we identified differ- 4. 7 consists of the following edges:

ent types of vertices by a color. A color could correspond ‚ Ç

For each H8:9<;Q9<>:? , there is an edge

to an operating system, or to the microprocessor used, etc. Á ¹

The operating system could be replicated, with different 'º¹h»y¼È»y¿M ;

Á Á ‚

Ç

HÉ# T[# 8Z¤ &\ D

replications corresponding to different vertices. In many For each vertex F such that ,

Á Á ¶

instances there is a hierarchy for the type of failures. For there is an edge ¹Q ;

Á ¡

example, if the hardware of a computer has a design flaw, Ç 1 2G365N2G3K¢

For each vertex Hʤ^'*),+.-0/ËT ,

Á Á all operating systems that use that hardware may also fail. ¶ there is an edge  ;

Furthermore, if the operating system fails, all application Á

Ç MH,7

For each edge ¤Ì2, , there is an edge in

Á ¶

programs requiring that operating system will fail. So one ¶

2  has an hierarchy of types of vertices. This additional as- 7 : . pect can (more generally) be expressed by using a partial order on the colors. We model such a redundant compu- 6 Models for general fault structures tation system by an AND/OR graph with colored vertices which in addition has a partial order on the colors. More generally, the faults of a dependable system can be

modelled by an adversary structure Í [8, 9]. This struc- Definition 5.2 An AND/OR graph with a partial or-

" ture consists of a monotone family of subsets of the set of

# %('*),+.-0/ ¤$# F der on the colors is an array: D , ,

components of the system. Formally, if z is the set of ¶

1 2G365N2G3PO(7®OK8:9<;Q9<>:?¯%°8|O°+b9: for which:

ÑÒHÀÍÓB]Ñ Î

components, then “ Í]ÎÏosÐ such that,

"

ÑÔ Ñ HÕÍ

1. ¤$#GDJ%K#4FL%('*),+.-0/M%(1 2G365N2G3PO(7®OK8:9<;Q9<>:?¯%°8: is an ”. If a graph is used to model the system

AND/OR graph with colored vertices; then zÂ\# is the node set (for multyparty computation

systems z is the set of parties, or “players”). The fault

2. +b9 is a partial order (or a lattice structure) on Í sets Ñ of are precisely those sets of components that the

8:9<;=9<>

der on the colors as follows: mngidporqAqsq{±²+:cedf3hgi24jk and mngidfz{+±³+:cedf3hgi24j x . Note that generally we do not 7 Applications

have mngidporqsqAq´±µmMg¦dfzw+ , since Window XP may have bugs that Window 2000 does not have. In this case, when Redundancy plays a key role in achieving reliability. It a vertex with a certain color fails, all vertices with colors is used for reliable communications (with error-correcting “lower” than the failed processor’s color also fail. Indeed, codes), for network reliability and for fault-tolerant compu- all models introduced in the previous sections are equiva- tation. Assume that we use an AND/OR graph to model a lent in the sense that there is a polynomial time algorithm fault-tolerant computation. Then information (for example, that transforms one to the other. mobile codes) flows from the input vertices of the graph As an example of this equivalence we show to the output vertex. A valid computation in an AND/OR how an AND/OR graph with colored vertices graph can be described by a solution graph (the exact def-

can be simulated by an AND/OR graph. Let inition will be given below). However, if insider vertices

"

¤$# %°# %('*),+.-0/n%°1 243654243PO°7®O°8:9<;=9<>:?¯%°8: F D be an are faulty or even malicious, then the output vertex cannot

AND/OR graph with colored vertices. It is straightforward be certain that the result will be authentic or correct. If we ".¶

to show that the following AND/OR graph is func- assume that at maximum ¥ vertices will be malicious, then

tionally equivalent to the AND/OR graph " with colored the theory of fault-tolerant computation (see, e.g., [4, 5])

"b¶ ¶ ¶ ¶ ¶

¤¦# ¤$oA¥Z§Å©e %K# %('*),+.-0/ %(1 2G365N2G3PO(7 D vertices. Define F by tells us that, if there are vertex-disjoint paths of letting information flow then the output vertex will always succeed ¥ in getting at least ¤¦¥_§À©e identical results computed from that it is NP-hard to decide whether there are vertex-

the input vertices through vertex-disjoint solution graphs, disjoint solution graphs in " . The result follows by ob- "

provided that the output knows the layout of the graph. This serving that, a set of ¥ color-disjoint solution graphs in

implies that if output vertex knows the layout of the graph is also a set of ¥ vertex-disjoint solution graphs. Q.E.D. then it can use a majority vote to decide whether the result is correct or not. It follows that in order to achieve depend- We foresee other applications. For example, these able computation with redundancy, it is necessary to find an models may be used to identify the most critical tasks in appropriate number of vertex-disjoint solution graphs in a redundant computations and to allocate the available re- given AND/OR graph. A path in the traditional sense is not sources to the most critical tasks. These models may also useful in our contexts, because we need all the inputs of an be used to analyze the flows in computation systems with

B -vertex to carry out the computation. We therefore give a multiple inputs and may eventually be used to analyze the

formal definition of solution graphs for AND/OR graphs. performance of a manufacturing system.

"

1 2G365N2G3 7 Definition 7.1 Let ¤¦#GDJ%°#GFL%('*),+.-0/ , ; ;

References

8 +b9: 8:9<;Q9<>:? , ; be an AND/OR graph with a partial order on its colored vertices. A solution graph " [1] T. Beth, M. Borcherding, and B. Klein. Valuation of

+Å\ˤ¦#NÖ×%°7nÖ@ is a minimal subgraph of with:

trust in open networks. In: ESORICS 94, LNCS 875, 1 2G365N2G3&H,#

1. Ö . pp. 236–274, Springer Verlag, 1995. Á

Á [2] M. Burmester, Y. Desmedt and Y. Wang. Using

B H{#

2. For each -vertex Ö , all incoming edges of in Approximation hardness to achieve dependable

7 7 belong to Ö . computation. In: Proc. 2nd RAND, LNCS 1518, pp.

Á 172–186, 1998. HÉ#4Ö

3. For each C -vertex , there is exactly one incom- Á

ing edge of in 7MÖ . [3] Y. Desmedt, Y. Wang, and M. Burmester. Complete ÁrÙ

Á Characterization of Adversaries Tolerable in Secure H¸#NÖ

4. There is a sequence of vertices Æ%ºØ›ØºØº% such

ÁrÙ ÁsÚ ÁrÚÈÛ

Á Message Transmissions. To appear.

\Å1 243654243 ¤  º [H that bHw'A),+.-

[4] D. Dolev. The Byzantine generals strike again. J. of g&ÜÃd 7nÖ for each .

Algorithms, 3, pp. 14–30, 1982. +J

Moreover, two solution graphs +@ and are color disjoint [5] D. Dolev, C. Dwork, O. Waarts, and M. Yung.

¡ 1 2G365N2G3K¢ if ¤¦8Z¤$#4Ö*ݛ UÞ8Z¤$#4Ösße y „à´8Z¤^'*),+.-0/áT . Perfectly secure message transmission. J. of the ACM, 40(1), pp. 17–47, 1993. Note that every vertex of a solution graph may have some [6] M. Franklin and M. Yung. Secure hypergraphs: outgoing edges due to the minimality of a solution graph. privacy from partial broadcast. In: Proc. ACM STOC,

Since an AND/OR graph without B -vertices may be con- ’95, pages 36–44, ACM Press, 1995. sidered as a normal digraph, the solution graphs in such AND/OR graphs are the same as the standard paths in di- [7] V. Hadzilacos. Issues of Fault Tolerance in Concur- graphs. It is easy to see that there is only one solution graph rent Computations. PhD thesis, Harvard University, Cambridge, MA, 1984. in an AND/OR graph that has only one C -vertex (that is, the

output vertex) and in which the 1 243654243 vertex has only one [8] M. Hirt and U. Maurer. Complete characterization of incoming edge. adversaries tolerable in secure multi-party computa-

tion. In Proc. of the 16th ACM PODC, 1997. +L Lemma 7.2 If two solution graphs +@ and , in an [9] M. Hirt and U. Maurer. Player Simulation and AND/OR graph with colored vertices, are color disjoint, General Adversary Structures in Perfect Multiparty then there are vertex-disjoint, that is ¤(¤$#EÖ*ݛ LÞ,8Z¤¦#NÖAße ( <à

¡ Computation. Journal of Cryptology 13(1): 31-60 1 2G365N2G3K¢ ¤^'*),+.-0/áT . (2000) Proof. This follows directly from the definitions. Q.E.D [10] L. Lamport, R. Shostak, and M. Pease. The Byzantine Though there are polynomial time algorithms for find- generals problem. J. of the ACM, 32(2), pp. 374–382, ing vertex-disjoint paths in networks of processors, the cor- 1982. responding problem for computation systems with multiple [11] U. Mauer. Modeling a public-key infrastructure. In: inputs is NP-hard. —ESORICS 96, Lecture Notes in Theorem 7.3 Given an AND/OR graph " with a partial Computer Science 1146, Springer Verlag, 1996.

order on its colored vertices and a positive number ¥ , it is [12] P. G. Neumann. Are dependable systems feasible?

NP-hard to decide whether there are ¥ color-disjoint solu- Commun. of the ACM, 36(2), pp. 146, 1993. " tion graphs in . [13] V. F. Nicola, M. K. Nakayama, P. Heidelberger, and A. Goyal. Fast simulation of highly dependable Proof. The results in [2] show that it is NP-hard to find a systems with general failure and repair processes. vertex separator of a given AND/OR graph. This implies IEEE Trans. on Computers, 42(12):1440-1452, 1993. [14] N. J. Nilsson. Principles of Artificial Intelligence. Tioga, 1980. [15] D. Pradhan. Fault-Tolerant Computing : Theory And Techniques. Prentice Hall, 1986. [16] M. Reiter and S. Stubblebine. Path independence for authentication in large-scale systems. In: Proc. 4th ACM Conference on Computer and Communication Security, ACM Press, 1997. [17] M. Reiter and S. Stubblebine. Towards acceptable metrics of authentication. In: Proc. 1997 IEEE Symposium on Security and Privacy, IEEE Press, 1997. [18] F.B. Schneider. Towards fault-tolerant and secure agentry. In: Proc. WDAG ’97, LNCS 1320, pp. 1–14, Springer Verlag, 1997. [19] Y. Wang and Y. Desmedt. Secure broadcast in broadcast channels. In: Eurocrypt’99, pp. 443–455, LNCS 1592. [20] Y. Wang, Y. Desmedt, and M. Burmester. Models for dependable computation with multiple inputs and some hardness results. Fundamenta Informaticae, 42(1):61–73, 2000. [21] P. Zimmermann. PGP User’s Guide, Volumes I and II, 1994. Included in the PGP 8.0 distribution.