Secure Computation Without Authentication

Transcription

1 Secure Computation Without Authentication Boaz Barak 1, Ran Canetti 2, Yehuda Lindell 3, Rafael Pass 4, and Tal Rabin 2 1 IAS. E:mail: 2 IBM Research. 3 Bar-Ilan University, Israel 4 MIT. Abstract. In the setting of secure multiparty computation, a set of parties wish to jointly compute some function of their inputs. Such a computation must preserve certain security properties, like privacy and correctness, even if some of the participating parties or an external adversary collude to attack the honest parties. Until this paper, all protocols for general secure computation assumed that the parties can communicate reliably via authenticated channels. In this paper, we consider the feasibility of secure computation without any setup assumption. We consider a completely unauthenticated setting, where all messages sent by the parties may be tampered with and modified by the adversary (without the honest parties being able to detect this fact). In this model, it is not possible to achieve the same level of security as in the authenticated-channel setting. Nevertheless, we show that meaningful security guarantees can be provided. In particular, we define a relaxed notion of what it means to securely compute a function in the unauthenticated setting. Then, we construct protocols for securely realizing any functionality in the stand-alone model, with no setup assumptions whatsoever. In addition, we construct universally composable protocols for securely realizing any functionality in the common reference string model (while still in an unauthenticated network). We also show that our protocols can be used to provide conceptually simple and unified solutions to a number of problems that were studied separately in the past, including password-based authenticated key exchange and non-malleable commitments. 1 Introduction In the setting of secure multiparty computation, a set of parties with private inputs wish to jointly compute some function of their inputs in a secure way. Loosely speaking, the security requirements are that nothing is learned from the protocol other than the output (privacy), and that the output is distributed according to the prescribed functionality (correctness). These security properties must be guaranteed even when some subset of the parties and/or an external adversary maliciously and actively attack the protocol with the aim of compromising the honest parties security. Since the introduction of this problem in the 1980 s [25, 17, 2, 10], the research in this area has not subsided. The area has produced hundreds of papers that deal Research supported by an Akamai Presidential Fellowship.

2 with many aspects of the problem. Works have included the definitional issues of secure computation, protocols with low round and communication complexity, protocols that rely on a wide variety of computational assumptions, lower bounds, security under composition and much much more. Interestingly, one assumption that has appeared in all of the works in the field of secure computation until now is that authenticated channels exist between the parties. That is, it has always been assumed that the participating parties can communicate reliably with each other, without adversarial interference. In particular, the adversary is unable to send messages in the name of honest parties, or modify messages that the honest parties send to each other. There seem to be two main reasons that this assumption was always considered. First, the common belief was that these channels can easily be achieved, either through a physical designated channel connecting every pair of parties, or more realistically, via the deployment of a public-key infrastructure that can be used for implementing secure digital signatures. Second, it was assumed that no meaningful security guarantees can be provided in a distributed setting, unless honest parties can reliably communicate with each other. Despite the above common belief, in real life the assumption that authenticated channels can be easily achieved is actually very problematic. It is clear that physical channels are generally unrealistic. In addition, a fully deployed publickey infrastructure is also far from reach. That is, although we can typically expect that most servers have an appropriate certificate for digital signatures, it is unreasonable today to require every participant (client) to also have one. This observation leads us to the following natural question: What security can be obtained in a network without any authentication mechanism? As we have seen, this question has important ramifications regarding the usefulness of secure multiparty protocols in real-world settings. However, it is also of great theoretical interest. In general, the theory of cryptography aims at understanding what tasks can be securely solved and under what (complexity and other) assumptions. Considered in this light, it is most natural to examine what security can be achieved in a setting with no setup assumptions whatsoever. In addition to highlighting the borders of feasibility and infeasibility for secure computation, answering this question enhances our understanding of the role of authentication in secure computation (detailed discussion follows). Security without authenticated channels. For simplicity, we begin by considering the important case of two-party protocols in an unauthenticated network. An immediate but important observation is that an adversary in such a network can simply disconnect the honest parties completely, and engage in separate executions with each of the two parties. Such an attack is unavoidable since there is no authentication between the parties. Therefore, the parties have no way of distinguishing the case that they interact with each other from the case that they each interact separately with a third party (in this case, the adversary). Given that this is an inherent limitation, our aim is to guarantee that this is the only attack that the adversary can carry out. More specifically, our

3 notion of security guarantees that the adversary is limited to pursuing one of the two following strategies: 1. Message relaying: In this strategy, the adversary honestly relays the communication between the two parties, allowing them to perform their computation as if they were communicating over an authenticated channel. 2. Independent executions: In this strategy, the adversary intercepts the communication between the parties and engages in independent executions with each of them. That is, for parties A and B, the adversary can run an execution with A while playing B s role, and an execution with B while playing A s role. The security guarantee here is that the adversary is unable to make one execution depend on the other. Rather, the adversary must essentially choose an input for each execution and then run each execution as if it was running by itself. We remark that such full independence is actually impossible to achieve because the adversary can always run a complete execution with one of the parties, and then subsequently use the output it already received in order to choose its input for the execution with the other party. Therefore, our security definition guarantees that the only dependence the adversary can achieve is due to running the executions sequentially and choosing its input in the second execution after receiving its output from the first. When considering the two-party case, the above security notion is a direct extension of the notion of non-malleability, introduced by Dolev, Dwork and Naor [11]. The work of [11] considered the specific tasks of encryption, commitments and zero-knowledge proofs. Here, we generalize these ideas to the more general concept of two-party (and multiparty) computation. The same line of reasoning can be applied to analyze what is possible also in the case of multi-party protocols. Specifically, an adversary can always partition the honest parties into disjoint subsets. Then, given this partition, the adversary can run separate (and independent) executions with each subset in the partition, where in an execution with a given subset of honest parties H, the adversary plays the roles of all the parties outside of H. We guarantee that this is the only attack the adversary can carry out. In particular, we consider an adversary who interacts with a set of parties who are each willing to run a single execution (with each other). Our definition then states that although the adversary can actually run many executions with subsets of parties, it is guaranteed that: 1. The subsets of honest parties are disjoint, 2. Once a subset of honest parties is chosen, it is fixed for the duration of the protocol, and 3. The only dependence between the executions is due to the capability of the adversary to run the executions sequentially and choose its inputs as a function of the outputs from executions that have already terminated. We remark that within each subset of parties, the execution that takes place is actually the same as when there are authenticated channels.

4 1.1 The Main Result Our main result is a general proof of feasibility for stand-alone computation in the unauthenticated network setting. That is, we show that it is possible to securely compute any functionality according to the above security guarantees, even in a network with no setup assumptions whatsoever. This is in contrast to the widely held belief that authenticated channels, or some other setup, is a necessity for obtaining meaningful security. As an unusual step, before discussing the definition in more detail, we will first present the high-level idea behind our protocol. We feel that presenting the results in this order actually makes them easier to understand, especially because our protocol is in fact very simple. It is clear that in order to run any of the known protocols for secure computation, authenticated channels are required. Our protocol for the unauthenticated setting is therefore comprised of two stages. In the first stage, some authenticated channels are set up. Then, in the second stage, a secure protocol is run on top of these authenticated channels. The basic idea of the protocol is: Stage 1 link initialization: In this stage, each party P i generates a pair of signing and verification keys (s i, v i ) and sends the signature verification key v i to all other parties. In addition, after receiving verification keys v j from all other parties, P i signs on the series of all keys received (with its secret signing key s i ) and sends the signature σ i to all other parties. Finally, each P i checks that the signature it generated and all the signatures that it received refer to the same set of verification keys. The idea behind this step is as follows. Let P i and P j be honest parties, let v i be the verification key sent by P i to P j, and let v j be the key sent by P j to P i. Since these keys are sent over unauthenticated channels, there is no guarantee that P i will actually receive v i and not some v i v i generated by the adversary (and likewise for P j ). However, if P i and P j do receive each other s real keys, then they can set up a secure channel between them. In particular P i has a verification key v j associated with a secret signing-key known only to P j, and vice versa. Thus, digital signatures can be used in a standard way in order to achieve authenticated communication between P i and P j. We note that if P i received v j (i.e., the key sent by P j ), then it will only continue if P j received the exact same set of keys as P i. This is guaranteed by the fact that the parties also sign on all the keys that they received. Thus, if P j received different keys than P i, then its signature σ j will not include the same keys P i received. When P i receives the signature from P j, it will therefore detect that adversarial interference has taken place, and so will abort. (Note that by our assumption here P i already received v j as generated by P j, and so the adversary cannot hand P i any other signature without breaking the signature scheme.) From the above, we have that at the end of this stage, if P i and P j received each other s keys, then they have a secure bidirectional channel between them and they received the same set of verification keys. In contrast, if this is not the case, then we are guaranteed that their views of the verification

5 keys are different. As we will show, this actually defines a partition of the honest parties so that (1) within each partition all of the honest parties hold each others verification keys (and so all have mutually authenticated channels), and (2) the honest parties in different partitions have different views of the verification keys. Stage 2 secure computation using the generated links: In this stage, the parties run a protocol on top of the authenticated channels generated in the link initialization phase. The basic idea is to force the executions of the different subsets of honest parties, as defined by the above partition, to be independent. In order to do this, we view the series of verification keys as a session identifier. Then, we run a protocol for the authenticated channels model that is secure under concurrent composition, and guarantees independence between executions with different session identifiers. (We need security under concurrent composition, because different executions with different subsets may be run concurrently.) As can be seen from the above protocol, and as we have discussed above, the only power provided to the adversary here is the ability to partition the honest parties into disjoint subsets and run separate executions with each set. (This adversarial attack can be carried out on any protocol in the unauthenticated model, and is not due to a weakness of our protocol.) We therefore model security by allowing the adversary to carry out such an attack in the ideal model as well. However, rather than modifying the standard ideal model, our basic definition of security is actually the same as in the standard model with authenticated channels and no honest majority. Then, the additional power awarded to the adversary here is modeled by modifying the definition of the functionality that is to be computed. That is, for any functionality F to be realized by two or more parties, we define a relaxed version of F called split-f, or sf, which is an interactive functionality and works as follows. Functionality sf lets the adversary define disjoint sets of parties, called authentication sets. Then, a separate and independent instance of the original functionality F is invoked for each authentication set. In an ideal execution of F for a given authentication set, functionality sf also allows the adversary to play the roles of all the honest parties not in the set (i.e., providing their inputs and receiving their outputs). In the two-party case, the adversary can either choose a single authentication set containing both parties (and then it cannot do anything more than in the authenticated channels model), or it can choose two authentication sets, each containing a single party (and so it must run an independent and separate execution with each party). Theorem 1 (unauthenticated stand-alone computation): Assume the existence of collision-resistant hash functions and enhanced trapdoor permutations, 5 and consider the stand-alone model with no setup whatsoever. Then, for any probabilistic polynomial-time multiparty functionality F there exists a protocol that securely computes the split functionality sf, in the presence of static, malicious adversaries. 5 See [19, Appendix C.1] for the definition of enhanced trapdoor permutations.

6 Theorem 1 holds irrespective of the number of corrupted parties. In particular, this means that no honest majority is assumed (and therefore fairness and output delivery are not guaranteed, as is standard for this setting). We stress that unlike the setting of authenticated channels, here it would not help even if we did assume that a large fraction of the parties are honest. This is due to the fact that the adversary can always choose all the subsets to be small, thereby ensuring an honest minority in each execution (and making it impossible to prevent an adversarial early abort). We stress that although Theorem 1 constitutes a general feasibility result, the security guarantee obtained is far weaker than that of the authenticated channels model. For example, agreement-type problems cannot be solved in this model, and indeed the split-functionality formalization explicitly removes all flavor of agreement (note that honest parties in different subsets run independent executions and so clearly cannot agree on anything). Concurrency in a stand-alone world. As we have seen from the above informal description of our protocol, the stand-alone setting with unauthenticated channels implicitly enables the adversary to run concurrent executions with different sets of honest parties. Thus, the protocol that is used in the second stage must be secure under concurrent composition. However, an important observation here is that when there are n honest parties, the adversary can force at most n concurrent executions (because the sets are disjoint and each honest party runs only once). It therefore follows that we only need security under bounded concurrency, which is fortunately much easier to achieve. (See [21] for impossibility results for the setting of unbounded concurrency, in contrast to the feasibility results of [20, 24] and specifically for our use [23] for the case of bounded concurrency.) Entity authentication versus session authentication. One interesting corollary of our results is a more explicit distinction between entity authentication and session authentication. Entity authentication relates to a situation where a party A can verify that messages that it received in the name of party B were indeed sent by B. In contrast, session authentication relates to the fact that a party A establishes an authenticated channel with some other fixed party within a protocol execution or session. Party A does not know the identity of the party with whom it holds the channel; however, it knows that if the party is honest, then the adversary cannot interfere with any messages that are sent on the channel. This distinction is not new, and appears already in [11]. However, our results make it more explicit. Indeed, in the first stage of our protocol, we carry out a session authentication protocol. Then, in the second stage, secure computation is carried out on top of this. By including entity authentication into the secure protocol of the second stage (or equivalently into the functionality being computed), we obtain an explicit separation of session authentication from entity authentication. This separation enables the entity authentication to be carried out on top of the session authentication, and in many different ways. Specifically, within the same execution, different parties may use different

7 authentication mechanisms like passwords, digital signatures, interactive authentication protocols and so on. 1.2 Additional Results and Applications The above result is of interest due to the fact that it requires no setup assumption whatsoever. However, it only holds for the rather limited stand-alone model. In this section, we briefly discuss some extensions and applications of this result. Formal statements and proofs of these results will appear in the full version of this paper. UC protocols without authenticated channels. Universal composability (UC) is a definition of security with the property that any protocol that is UCsecure is guaranteed to remain secure under concurrent general composition [4] (i.e., when it is run many times concurrently with arbitrary other protocols). As in the stand-alone model, all UC-secure protocols until today assumed the existence of authenticated channels. We therefore extend our results to this setting. We first note that in this setting, there is no hope of succeeding without setup assumptions. This is due to the fact that broad impossibility results for obtaining UC security have been demonstrated, even when there are authenticated channels [5, 4, 7]. We therefore consider the feasibility of obtaining UC-security without authenticated channels, but in the common reference string (CRS) model, where it is assumed that all parties have access to a single string that was chosen according to some predetermined distribution. In the CRS model and assuming authenticated channels, it has been shown that UC-secure protocols exist for essentially every functionality [8]. We combine our link-initialization protocol, as described above, with the protocol of [8] in order to achieve UC-secure protocols that compute essentially any split functionality sf in the CRS model with unauthenticated channels. This combination of setup assumptions may seem strange. However, first note that at the very least, our result reduces the setup assumptions required for obtaining UC-security. More importantly, we argue that the assumption regarding a CRS is incomparable to that of authenticated channels. On the one hand, the generation of a CRS requires global trust of a stronger nature than that required for authenticated channels. On the other hand, it requires that only one string is generated and posted on some secure bulletin board. In contrast, setting up authenticated channels essentially requires that all parties obtain a certificate for digital signatures. We also note that a common reference string by itself does not provide the means for parties to authenticate themselves to each other. Indeed, it is impossible to construct authenticated channels from unauthenticated ones even in the CRS model. Partially authenticated networks. So far, we have discussed the completely unauthenticated setting, and have contrasted it to the standard completely authenticated setting. However, the most realistic setting is actually that of a partially authenticated network, where some of the parties have authenticated links and others do not. In addition, the authentication on these links may be

8 unidirectional or bidirectional. For example, consider the case that only some of the parties have certificates for public (signature) keys as part of an implemented public-key infrastructure. Current protocols guarantee nothing in this setting. However, this is the real setting of the Internet today. We should be able to use a secure auction protocol, even if the only party who has a certificate is the auctioneer (in this case, all parties can obtain authenticated communication from the auctioneer, but that is all). In the full version of this paper, we show how to use our results in order to obtain secure computation in a partially authenticated network, while utilizing the authenticated links that do exist. Password-based authenticated key-exchange. One problem that has received much attention, and is cast in the setting without authenticated channels, is that of password-based key exchange. Our results can also be applied to this problem. First, note that our definitional framework provides a way of modeling the problem easily within the setting of secure computation. Specifically, we define a functionality F as follows. Each party provides an input; if the inputs are equal, then F provides each with a long random value; if the inputs are not equal, then F hands to each party. Of course, the inputs we are referring to here are the parties secret passwords. The functionality F, as defined, does not enable the adversary to make online password guesses, which is possible in password based key-exchange schemes. However, the transformation of F to its split functionality sf provides this exact capability. Thus, the problem of securely computing sf is exactly the problem of obtaining secure password-based authenticated key exchange. In particular, if the adversary plays a message relay strategy, then the parties will succeed in obtaining a shared secret key. In contrast, if the adversary runs independent executions, then the adversary will obtain exactly two password guesses. Furthermore, if the adversary guesses incorrectly, then the parties will obtain. We note that this definition is essentially the same as that proposed in [6]. Our result therefore yields a conceptually simple framework and definition for solving this problem. Furthermore, we improve on previous solutions as follows. First, applying our first theorem we obtain secure password-based authenticated key-exchange in a setting with no setup assumptions. The only previously-known protocols to achieve this (without using random oracles) are [14, 22]. Comparing our result to [14, 22] we have the following advantages. First, we obtain a stronger security guarantee for the parties. Specifically, we guarantee exactly two password guesses per execution, rather than a constant or even polynomial number of guesses. Furthermore, these guesses are explicit (see [6] for a discussion about why this is advantageous). Second, our solution directly generalizes to password authentication protocols for multiple parties (whereas previous solutions only work for two parties). We note that like [14, 22], our password-based protocol for the model with no setup assumptions (beyond the passwords themselves) is only secure if the same password is not used in concurrent executions of the protocol. In addition to the above, we can apply our UC-secure protocol and obtain UC-secure password-based authenticated key-exchange in the common reference string model. This problem was previously considered by [6], who present highly

9 efficient protocols based on specific assumptions. In contrast, we obtain protocols less efficient protocols, based on general assumptions. In addition, we can also extend our result to the setting of adaptive adversaries. Alternative authentication mechanisms. Passwords are just one mechanism for authenticating parties. Due to the generality of our result which demonstrates that any function can be securely computed, we can obtain secure protocols for other, non-standard ways for parties to authenticate each other. The only requirement for accommodating these methods is that they can be described by an efficient functionality (and thus can be incorporated into stage 2 of the protocol). For example, we can accommodate fuzzy authentication where parties are authenticated if they pass at least k out of n authentication tests, such as remembering the names of at least three of your childhood friends. Our solutions can also work in the case where parties are considered authenticated if they can perform some non-trivial computational task, like the proof of work in the anti-spam work of [12]. Finally, our protocols can be used to obtain anonymous authentication where two or more parties wish to authenticate themselves to each other based on useful data which they hold, as in the case of peer-to-peer and overlay networks. Non-malleable commitments. We remark that non-malleable commitments [11] can be obtained using our results in a similarly simple manner. Namely, define F to be a non-interactive (and potentially malleable) commitment function. Then, a protocol that securely computes sf constitutes a non-malleable commitment. This protocol does not improve on other known results. Nevertheless, it demonstrates the power of our general framework. 2 Split Functionalities Due to the lack of space in this abstract, we will not present the definitions of secure computation. We refer the reader to [19, Chapter 7] for motivation and definitions. We note that we consider reactive functionalities here; see [4, Full version] for a formal discussion of this notion. Informally, the setting of secure computation with reactive functionalities is very similar to that of the more familiar secure function evaluation. In the setting of secure function evaluation, an ideal model is defined where all parties send there inputs to a trusted party who computes the output and sends it back. When considering reactive functionalities, the only difference is that inputs and outputs can be provided interactively and at different stages. Thus, the trusted party interacts with the honest parties and the adversary multiple times, as specified by the code of the functionality. In this section, we define what it means to realize an ideal functionality in an unauthenticated network without any setup. Before doing so, we remark that an unauthenticated network is formally modeled by having all communication go via the adversary. Thus, when a party P i wishes to send a message m to P j, it essentially just hands the tuple (P i, P j, m) to the adversary. It is then up to the

10 adversary to deliver whatever message it wishes to P j. We also remark that in the ideal model that we consider here, the communication between the honest parties and the trusted party remains ideally private and authenticated. Thus, the only change is to the real model. We now proceed to the definition. As we have mentioned above, defining security in the unauthenticated model essentially involves defining a class of split functionalities that specifies the code of the trusted party in an ideal execution. 6 As we have mentioned, this class of functionalities enables the idealmodel adversary to split the honest parties into disjoint sets, called authentication sets, in an adaptive way. The parties in each authentication set H then run a separate ideal execution with the trusted party. However, each such execution has the property that the adversary plays the roles of all the parties not in H (i.e., the parties that complete H to the full set of parties). Our specific formulation below provides three important guarantees: 1. An authentication set must be fixed before any computation in the set begins (and thus an authentication set cannot be chosen on the basis of the inputs of the honest parties in that set); 2. The computation within each set is secure in the standard sense (as in the case that authenticated channels are assumed); 3. The computation in a set is independent of the computations in other sets, except for the inputs provided by the adversary, which can be correlated to the outputs that it has received from computations with other authentication sets that have already been completed. We now proceed to formalize the above. Let F be an ideal functionality. We define the relaxation of F, called split-f or sf, in Figure 1. We note that the functionality is slightly more involved than what is needed for the stand-alone case. The additional complications are included so that the same functionality will also be useful for the UC setting. The split functionality sf explanation. In the initialization stage of the functionality, the adversary adaptively chooses subsets of honest parties H (the adaptivity relates to the fact that an authentication set can be chosen and a full execution completed, before the next authentication set is chosen). The adversary can choose any subsets that it wishes under the following constraints: First, the subsets must be disjoint. Second, the adversary must choose a unique session identifier sid H for each authentication set H. In the computation stage of the functionality sf, each set H is provided with a different and independent copy of F. This means that each set H essentially runs a separate ideal execution of F. In each such execution, the parties P i H provide their own inputs, and the adversary provides the inputs for all P j / H. This reflects the fact that in each execution, the roles of the parties outside of the authentication set are played by the adversary. Similarly, the parties P i H 6 As we have mentioned, this set of instructions for the trusted party could be incorporated into the definition of the ideal model. Equivalently, we have chosen to leave the ideal-model unchanged, and instead modify the functionality to be realized.

11 Functionality sf For parties P 1,..., P n and a given F, functionality sf proceeds as follows: Initialization: 1. Upon receiving a message (Init, sid) from a party P i, send (Init, P i) to the adversary. 2. Upon receiving a message (Init, sid, P i, H, sid H) from the adversary, verify that party P i previously sent (Init,sid), that the list H of party identities includes P i, and that for all previously recorded sets H, it holds that either (1) H and H are disjoint and sid H sid H, or (2) H = H and sid H = sid H. If any condition fails then do nothing. Otherwise, record the pair (H, sid H), send (Init, sid, sid H) to P i, and initialize a new instance of the original functionality F with session identifier sid H. Let F H denote this instance of F. Computation: 1. Upon receiving a message (Input, sid, v) from party P i, find the set H such that P i H, and forward the copy of the functionality F H the message v from P i. If no such H is found then ignore the message. 2. Upon receiving a message (Input, sid, H, P j, v) from the adversary, if F H is initialized and P j / H, then forward v to F H as if coming from party P j. Otherwise, ignore the message. 3. When a copy F H generates an output v for party P i H, functionality sf sends v to P i. When the output is for a party P j / H or for the adversary, sf sends the output to the adversary. Fig. 1. The split version of ideal functionality F all receive their specified outputs as computed by their copy of F. However, the adversary receives all of its own outputs, as well as the outputs of the parties P j / H (as is to be expected, since it plays the role of all of these parties in the execution). We stress that there is no interaction whatsoever between the different copies of F run by sf. The functionality sf remarks: 1. The requirement that the authentication sets are disjoint guarantees that all the parties in an authentication set have consistent views of the interaction. In particular, each party participates in only one execution, and this is consistent with the other parties in its set. 2. sf requires the adversary to provide a unique identifier, sid H for each authentication set. This identifier is used to differentiate between the various copies of F. Furthermore, this identifier is outputted explicitly to all the parties in this set. This is an important security guarantee: while the parties do not know, of course, which are the authentication sets, they have evidence of the set they are in. In particular, a global entity that sees the outputs of all parties can determine the authentication sets from the outputs alone. In a sense, this forces the adversary in the ideal process to mimic the same partitioning to authentication sets as in the protocol execution.

12 3. The above formalization of sf assumes for simplicity that the number and identities of the parties is known in advance. However, this requirement is not essential and neither the number of parties nor their identities need to be known in advance. Furthermore, they can be determined adaptively by the adversary as the computation proceeds. In this case, the only difference is that each party needs to receive the set of parties with which it should interact as part of its first input. 3 Obtaining Split Authentication In this section, we show how to securely implement a link initialization phase. We proceed in two steps. First, we present an ideal functionality F sa that captures the property of authentication within an authentication set. Next, we present a simple protocol that UC-securely computes the F sa functionality in the bare model, without any setup. In Section 4 we will use the F sa functionality in order to obtain secure protocols for any split functionality sf. 3.1 The Split Authentication Functionality F sa The split authentication functionality F sa is essentially a functionality that enables parties in the same authentication set to communicate in a reliable way. In particular, if the adversary wishes to deliver a message m to a party P j with an alleged sender P i, then F sa proceeds as follows: 1. If the authentication set H of P j is not yet determined (i.e., P j does not appear in any set H), then the delivery request is ignored. Otherwise: 2. If P i is not in the same authentication set as P j, then m is delivered as requested, regardless of whether it was actually sent by P i. 3. If P i and P j are in the same authentication set, then the message is delivered to P j only if it was sent by P i and not yet delivered. Formally, F sa is the split functionality of the functionality F auth defined in Figure 2 (we note that F auth here is a multiple-session extension of the F auth functionality defined in [4]). In other words, we define F sa = sf auth. Functionality Fauth Fauth interacts with an adversary and parties P 1,..., P n as follows: 1. Upon receiving (send, sid, P i, P j, m) from P i, send (P i, P j, m) to the adversary and add (P i, P j, m) to an (initially empty) list W of waiting messages. Note that the same entry can appear multiple times in the list. 2. Upon receiving (deliver, sid, P i, P j, m) from the adversary, if there is a message (P i, P j, m) W then remove it from W and send (received, sid, P i, P j, m) to P j. Otherwise do nothing. Fig. 2. The authentication functionality Fauth

13 3.2 Realizing F sa In this section, we present a simple protocol for securely computing F sa in the bare model without any setup. The protocol that we present is actually UCsecure. This is important for two reasons. First, it is useful for achieving the extension of our results to the UC setting. Second, it enables us to claim that it remains secure even when run concurrently with any other protocol. This will be important in our final protocol (presented in Section 4) where the protocol for computing F sa is run together with the protocol of [23]. Our protocol uses a signature scheme that is existentially unforgeable against chosen message attacks as in [15] and is reminiscent of the technique used in [11] to construct non-malleable encryption. On a high-level our protocol also resembles the Byzantine Agreement protocol of [13] (although the goal and the actual protocol is very different). The main idea of the protocol has already been described in the introduction. We therefore proceed directly to its description. Protocol 1 I. Link initialization: Upon input (Init, sid), each party P i proceeds as follows: 1. P i chooses a key pair (V K i, SK i) for the signature scheme. 2. P i sends V K i to all parties P j. (Recall that in an unauthenticated network, sending m to P j only means that the message (P i, P j, m) is given to the adversary.) 3. P i waits until it receives keys from every P j, for j [n], j i. (Recall that these keys are actually received from the adversary and do not necessarily correspond to keys sent by other parties.) Denote by V K ij the key that P i received from P j and denote V K ii = V K i. Now, let V K i,..., V K 1 i n be the same set of keys V K i1,..., V K in arranged in ascending lexicographic order. If there are two keys that are the same, then P i halts. Otherwise, P i defines sid i = V K i 1,..., V K i n. 4. P i computes σ i = Sign SKi (sid i) and sends α i = (sid i, σ i) to all parties P j. 5. P i waits until it receives an α j message from every P j, for j [n], j i. Denote by α ij = (sid ij, σ ij ) the pair that P i received from P j and denote α ii = α i. Then, P i checks that for every j, Verify V Kij (sid ij, σ ij ) = 1 and that sid i1 = sid i2 = = sid in. If all of these checks pass, then P i outputs (Init, sid, sid i). II. Authenticating messages: 1. P i initializes a counter c to zero. 2. When P i has input (send, sid, P i, P j, m), meaning that it wishes to send a message m to P j, then it signs on m together with sid i, the recipient identity, and the counter value. That is, P i computes σ = Sign SKi (sid i, m, P j, c), sends (P i, m, c, σ) to P j, and increments c. 3. Upon receiving a message (P j, m, c, σ) allegedly from P j, party P i first verifies that c did not appear in a message received from P j in the past. It then verifies that σ is a valid signature on (sid i, m, P i, c), using the verification key V K ij. If the verification succeeds, then it outputs (received, sid, P j, P i, m). We have the following theorem: Theorem 2 Assume that the signature scheme used in Protocol 1 is existentially secure against chosen message attacks. Then, Protocol 1 securely computes the F sa functionality under the UC-definition in the presence of malicious, adaptive adversaries, and in the bare model with no setup whatsoever.

14 Proof Sketch: We show that for any adversary A there exists an ideal-process adversary (i.e., a simulator) S such that no environment Z can tell with nonnegligible probability whether it is interacting with parties running Protocol 1 and adversary A, or with F sa and simulator S. The simulator S internally invokes A and perfectly simulates the honest parties interacting with A. Then, when an honest party P i in the internal simulation by S completes its link initialization phase and computes sid i, simulator S determines the set H of P i to be the set of parties for which sid i contain their authentic verification keys. Next, when A delivers a signed message to some P i, simulator S asks F sa to deliver the message to P i in the ideal process only if the internally simulated honest party would accept the signature, according to the protocol specification. More specifically, S locally runs an interaction between A and simulated copies of all the parties. In addition: 1. All messages from the external Z to S are forwarded to the internal A, and all messages that A wishes to send to Z are externally forwarded by S to Z. 2. Whenever S receives a message that an honest party P i sent an (Init, sid) message to F sa, simulator S simulates the actions of an honest P i in the link initialization phase of Protocol Whenever an internally simulated party P i completes the link initialization phase with sid i, simulator S determines the set H i to be the set of honest parties P j such that the authentic verification key sent by P j is included in sid i. (Recall that S internally runs all the honest parties, so it can do this.) S then checks that for all previously computed sets H, it holds that either: H i and H are disjoint and sid Hi sid H, or H i = H and sid Hi = sid H. If this holds, then S sends (Init, sid, P i, H i, sid i ) to F sa. Otherwise, S halts and outputs fail1. 4. Whenever S receives a message (send, sid, P i, P j, m) from F sa where P i is honest, simulator S simulates the actions of an honest P i sending a message m in the authentication phase of Protocol Whenever an internally simulated party P i outputs (received, sid, P j, P i, m) in the simulation, S works as follows. If P j is corrupted, then S instructs P j to send an appropriate send message to F sa. Likewise, if P j is not in the same authentication set as P i, then S sends the appropriate send message to F sa itself. Then, S sends F sa the message (deliver, P j, P i, m), instructing it to deliver m to P i from P j. 7 If the request is not fulfilled then S halts and outputs fail2. 6. Whenever A corrupts a party P i, simulator S hands A the state of the internally simulated P i. It is straightforward to verify that as long as S does not output fail1 or fail2, the view of Z in the ideal-model is identical to its view in a real execution of Protocol 1. (This is due to the fact that unless a fail occurs, S just mimics the 7 Note that if Pj is honest and is in the same authentication set as P i then S does not begin with a send message, but rather immediately sends a deliver message.

15 actions of the honest parties. In addition, the local outputs of the honest parties in the internal simulation correspond exactly to the outputs of the actual honest parties in the ideal model.) It therefore suffices to show that S outputs a fail message with at most negligible probability. We first show that S outputs a fail1 message with at most negligible probability. Below, we refer only to honest parties in the authentication sets because S never includes corrupted parties in these sets. There are three events that could cause a fail1 message: 1. There exist two honest parties P i and P j for whom S defines sets H i and H j such that H i = H j, and yet sid i sid j : In order to see that this event cannot occur with non-negligible probability, notice that S only defines sets H i and H j for parties that conclude the Link Initialization portion of the protocol and places P i and P j in the same set if they received each others authentic verification keys. By the signatures sent at the end of link initialization phase, it follows that either at least one of the parties aborts, or the adversary forged a signature relative to either P i or P j s verification key, or P i and P j both conclude with the same sid. (We note that the reduction here to the security of the signature scheme is straightforward.) 2. There exist two sets H i H j that are not disjoint: Let P i H i H j be an honest party. Then, using the same arguments as above, except with negligible probability, P i must have the same sid as all the honest parties in H i and all the honest parties in H j. Thus, all of the parties in H i H j have the same sid. Since this sid is comprised of the parties verification keys, it must hold that all parties in H i H j received each other s authentic verification keys. By the construction of S, it therefore holds that H i = H j. 3. There exist two sets H i H j, and yet sid i = sid j : We have already seen that by the construction of S, if sid i = sid j then H i = H j. It remains to show that S outputs fail2 with at most negligible probability. This occurs if S sends a (deliver, P j, P i, m) message to F sa where P i is honest, and the message is not actually delivered to P i. By the definition of F sa (and in general split functionalities), this can only occur if P j is honest, and P i and P j are in the same authentication set H. (We ignore trivialities here like the case that H is not defined.) In order to see this, notice that if P j is corrupted, then S first instructs it to send a send message to F sa and so S s deliver message would not be ignored. The same is true in the case that P i and P j are not in the same authentication set (because then S first sends the send message itself). Now, if P i and P j are in the same authentication set, then they both hold each others authentic verification keys (as shown above). Furthermore, the deliver message of S is only ignored if P j did not previously send an appropriate send message to F sa. This implies that S did not generate a signature on (P i, m, c) in the internal simulation (see step 4 of the simulation by S), and yet P i received a valid signature on this message. Thus, it follows that A must have forged a signature relative to the honest P j s key. As above, such an adversary can be used to break the signature, and the actual reduction is straightforward. We conclude that the views of Z in the two interactions are statistically close.

16 4 General Functionalities in the Stand-Alone Model In this section, we prove the following theorem: Theorem 3 (Theorem 1 restated): Assume the existence of collision-resistant hash functions and enhanced trapdoor permutations, and consider the standalone model with no setup whatsoever. Then, for any probabilistic polynomialtime multiparty functionality F there exists a protocol that securely computes the split functionality sf, in the presence of static, malicious adversaries. Theorem 3 is obtained by combining Protocol 1 for securely computing F sa with the protocol of [23] for securely computing any functionality in the setting of bounded-concurrency. Recall that in this model, there is an a priori bound on the number of protocol executions that can take place. As we have remarked above, in the setting considered here, we know that at most n concurrent executions can take place in a stand-alone execution with n parties in the unauthenticated model. Therefore, bounded concurrency suffices. Our protocol for securely computing any n-party split functionality sf works by first running the link initialization stage of Protocol 1, and obtaining a session identifier sid from this phase. Then, the protocol of [23] for securely computing F (under n-bounded concurrent composition) is executed, using the identifier sid and authenticating all messages sent and received as described in Protocol 1. 8 The intuition behind the security of this protocol is that F sa guarantees that all the honest parties in a given authentication set H are essentially connected via pairwise authenticated channels. Thus, the execution of the protocol of [23] in our unauthenticated setting is the same as an execution of the protocol of [23] in the authenticated channels model, where the participating parties are comprised of the honest parties in H and n H corrupted parties. Now, in the unauthenticated model (by the definition of sf), the adversary is allowed to play the role of the n H parties not in H. Therefore, the above protocol suffices for securely computing the split functionality sf. We note that the protocol of [23] relies on the existence of collision-resistant hash functions and enhanced trapdoor permutations. Furthermore, given any parameter m that is polynomial in the security parameter (and, in particular, setting m to equal the number of parties n), it is possible to obtain a protocol that remains secure for up to m concurrent executions, where in each execution any subset of the parties may participate. We note that these subsets may overlap in an arbitrary way, and security is still guaranteed. This point is crucial for our above use of the protocol. Namely, in order to prove security we actually consider a virtual network of 2n parties P 1,..., P 2n where all parties P n+1,..., P 2n are corrupted. Then, for any authentication set H {P 1,..., P n } we consider an execution of the protocol of [23] with the subset of parties comprised of every P i H, and every P n+j for P j / H. Note that this defines a subset of exactly n parties, where every party not in H is controlled by the adversary, as required. The important point to note now, however, is that some P n+j may participate in 8 More formally, our protocol works in the Fsa -hybrid model, and uses the authentication mechanism provided by Fsa in order to run the protocol of [23].

Introduction Electronic transactions and activities taken place over Internet need to be protected against all kinds of interference, accidental or malicious. The general task of the information technology

1 Digital Signatures A digital signature is a fundamental cryptographic primitive, technologically equivalent to a handwritten signature. In many applications, digital signatures are used as building blocks

Enhanced Security Models for Network Protocols by Shabsi Walfish A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy Department of Computer Science

Scalable Protocols for Authenticated Group Key Exchange Jonathan Katz Moti Yung Abstract We consider the problem of authenticated group key exchange among n parties communicating over an insecure public

The Order of Encryption and Authentication for Protecting Communications (Or: How Secure is SSL?) Hugo Krawczyk Abstract. We study the question of how to generically compose symmetric encryption and authentication

Ch.9 Cryptography The Graduate Center, CUNY! CSc 75010 Theoretical Computer Science Konstantinos Vamvourellis Why is Modern Cryptography part of a Complexity course? Short answer:! Because Modern Cryptography

Communication System Security, Chapter 3, Draft, L.D. Chen and G. Gong, 2008 1 Chapter 3. Network Domain Security A network can be considered as the physical resource for a communication system. This chapter

Relaxing Environmental Security: Monitored Functionalities and Client-Server Computation Manoj Prabhakaran and Amit Sahai Princeton University and UCLA Part of this work was done while the author was an

MESSAGE AUTHENTICATION IN AN IDENTITY-BASED ENCRYPTION SCHEME: 1-KEY-ENCRYPT-THEN-MAC by Brittanney Jaclyn Amento A Thesis Submitted to the Faculty of The Charles E. Schmidt College of Science in Partial

An extended abstract of this paper is published in the proceedings of the 3rd International Workshop on Security in Cloud Computing SCC@AsiaCCS 2015. This is the full version. Entangled Encodings and Data

SECURITY ANALYSIS OF A SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTER NETWORKS Abstract: The Single sign-on (SSO) is a new authentication mechanism that enables a legal user with a single credential

There are actually two distinct aspects to the use of public-key encryption in this regard: The distribution of public keys. The use of public-key encryption to distribute secret keys. 9.1 Distribution

Analysis of Key-Exchange Protocols and Their Use for Building Secure Channels Ran Canetti 1 and Hugo Krawczyk 2, 1 IBM T.J. Watson Research Center, Yorktown Heights, New York 10598. canetti@watson.ibm.com

Chapter 12 Digital signatures In the public key setting, the primitive used to provide data integrity is a digital signature scheme. In this chapter we look at security notions and constructions for this

Two Factor Zero Knowledge Proof Authentication System Quan Nguyen Mikhail Rudoy Arjun Srinivasan 6.857 Spring 2014 Project Abstract It is often necessary to log onto a website or other system from an untrusted

Authenticated Encryption: Relations among Notions and Analysis of the Generic Composition Paradigm By Mihir Bellare and Chanathip Namprempre Some slides were also taken from Chanathip Namprempre's defense

Efficient Cryptographic Protocols Preventing Man-in-the-Middle Attacks Jonathan Katz Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Graduate School of

Chapter 3 Stochastic Inventory Control 1 In this chapter, we consider in much greater details certain dynamic inventory control problems of the type already encountered in section 1.3. In addition to the

Protecting Neighbor Discovery Against Node Compromises in Sensor Networks Donggang Liu isec Laboratory, CSE Department The University of Texas at Arlington Abstract The neighborhood information has been

Cryptography: Authentication, Blind Signatures, and Digital Cash Rebecca Bellovin 1 Introduction One of the most exciting ideas in cryptography in the past few decades, with the widest array of applications,

Paillier Threshold Encryption Toolbox October 23, 2010 1 Introduction Following a desire for secure (encrypted) multiparty computation, the University of Texas at Dallas Data Security and Privacy Lab created

WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT? introduction Many students seem to have trouble with the notion of a mathematical proof. People that come to a course like Math 216, who certainly

University of Wollongong Research Online Faculty of Engineering and Information Sciences - Papers Faculty of Engineering and Information Sciences 2016 Comments on "public integrity auditing for dynamic