Near-Optimal Placement of Secrets in Graphs

Show more

1. Introduction

We consider a scenario where a set of secrets is shared among individuals connected by a communication network, in such a way that no individual holds all the secrets. In other words, several individuals have to cooperate in order to reconstruct the whole secret set.

Secret sharing schemes were first introduced and investigated in [1] and [2] . In an (m, k)-threshold scheme, a secret is divided into k shares in such a way that the secret can be reconstructed whenever at least m of the shares have been collected. Survey papers on secret sharing schemes and threshold schemes are [3] and [4] .

In this paper, we always assume m = k, i.e. it is necessary to collect all of the shares in order to reconstruct the secret. Subsets of the set of all secrets (called shares) are stored in the nodes of a communication network whose nodes and links are subject to failure with certain probability. One vertex is assumed to be the user node.

We consider two main problems:

- to calculate the reconstruction probability of the secrets, given an assignment of shares to vertices, and

- to assign shares to vertices such that the reconstruction probability of secrets gets as large as possible.

Papers closely related are [5] - [7] .

As the main contribution of this paper, we present an approximation algorithm for the determination of the reconstruction probability, as well as a heuristic for the near optimal placement of shares.

2. Shared Secret Schemes in Networks with Failures

2.1. The Model

In this paper, a communication network is modelled by a finite undirected graph G = (V,E), where V consists of n vertices, and E is the set of edges. Let a finite set of secrets be given, and let be a set of nonempty subsets (shares) of S. One node in V is supposed to be the user node. A shared secret scheme or secret sharing scheme on G is a 1-1 mapping

,

i.e. each of the selected shares is placed on some node of the graph other than the user node.

It is further assumed that the vertices as well as the edges of G may possibly fail, i.e. they work with a certain probability only, and that the states of all single vertices and edges are independent from each other. In this paper, this probability is assumed to equal a fixed p () for all vertices and all edges. The only exception is the user node; for technical reasons which will become clear later, it is assumed that always works.

The reconstruction probability of is the probability that the complete secret set S can be reconstructed by the user node, i.e. the probability that along paths using vertices and edges not having failed and starting from node, it is possible to collect all the secrets. It is obvious that as a function of p, the reconstruction probability is a polynomial. We denote this polynomial by r(p).

More formally, we call any subset a state. A state X is operational if the secrets can be reconstructed provided each element of X works. In these terms, the reconstruction probability is the probability that the vertices and edges not having failed constitute an operational state.

One problem is to determine the polynomial r(p). It can also be of interest to merely find the value for a given. Given the graph G, set of shares and probability value for all vertices and edges, another problem is to design a shared secret scheme (i.e. placement of shares on the vertices) such that becomes maximum.

2.2. Introductory Examples and Previous Results

The diagram in Figure 1 shows a graph consisting of eight vertices and twelve edges. As in all the examples of this paper, the node labelled “1” is the user node. Four secrets are given, and consists of the following six shares:

, , , , ,.

Figure 1. Six shares on graph.

A shared secret scheme (i.e. placement of shares on vertices) is also shown in the diagram. The reconstruction probability polynomial turns out to be:

Hence, e.g., ^{1}.

Different variants of the model and related problems have been considered by many authors. Nearly all of the problems turn out to be NP-hard. In particular, it is easy to see that determining what we have called is a generalization of the graph reliability problem. For the basic results in this field, we refer to [8] and [9] ; a lattice-theo- retic approach described in [10] and [11] is the basis of [7] .

In [6] , is calculated by constructing minimal share spanning trees. Also, a simple share assignment algorithm is presented providing near-optimal share assignments efficiently. In this algorithm, the main strategy is to place large shares on vertices close to. As the following example shows, this does not always lead to optimal results:

For the same graph as in Figure 1, consider the share assignment shown in Figure 2. The two-element shares are placed on the neighbours of node 1. Surprisingly, this scheme is slightly less reliable than the one we considered in Figure 1. (An explanation for this will be given below.) In particular, it turns out that

with.

As usual, a subset C of is called a cut if is not operational, i.e. failure of all the elements of C makes it impossible for to reconstruct the complete secret set. A cut C is a mincut if it is inclusion minimal as a cut, i.e. no proper subset of C is a cut.

Mincuts play a central role in the rest of this paper. The dual approach based on inclusion-minimal operational sets (sometimes called minpaths) is used in [6] . For a survey on the roles of cuts and paths in network reliability, see [8] .

For s in S, call a subset C of an s-separator if failure of all the elements of C makes it impossible for to collect s. In this terminology, a cut is a subset which is an s-separator for at least one s in S. In [12] , an algorithm is described generating all minimal s-separators.

In the following, to make a clear distinction, and following the terminology of [13] , we call a subset of nodes a node separator if removing C disconnects G, i.e. the graph induced by is not connected; in this case, if s and t are nodes belonging to different components of, C can also be viewed as an s-t-separator.

To illustrate the notion of cuts for secret sharing schemes, we look at another example which was also considered in [6] . Figure 3 shows a graph consisting of eight vertices and eleven edges. As in the preceding examples, four secrets are given, and consists of the following six shares.

, , , , ,

A shared secret scheme is also shown in the diagram, with reconstruction polynomial

,

and.

In this example, there are no one-element mincuts. The mincuts consisting of two elements turn out to be the following:, , , , ,. Furthermore, there are 21 three-element mincuts, 33 four-element mincuts, 25 five- element mincuts, and only few mincuts containing six or more elements.

Figure 4 presents a slightly better placement of the shares on the nodes of (this example was also presented in [14] ). The reconstruction polynomial turns out to be

,

Figure 2. Another share assignment on graph.

Figure 3. Six shares on graph.

Figure 4. Another share assignment on graph.

with. There are 5 two-element mincuts, 20 three-element mincuts, 32 four-element mincuts, 28 five-element mincuts, and only few larger ones.

3. Using Mincuts for Approximations

The following obvious fact is the basis of our approximation to.

Remark 1.

A state is not operational if and only if its complement contains at least one mincut, i.e. there is a mincut.

In other words, this means that equals the probability that all the elements of at least one mincut fail. Applying the inclusion-exclusion principle, this leads to a well-known formula which we rephrase as follows:

Theorem 1.

Let be the collection of all the mincuts of a shared secret scheme. Then

Proof:

Let represent the statement “fails” (i.e. each of its elements fails). Then by the above observation, we get:

By inclusion-exclusion, this leads to:

Using independence of the states of single elements, one finally gets the formula of the theorem.

If we now set

for, then obviously, is a sequence of approximations to, with To be more precise,

.

At this point, it is certainly plausible that if is close to 1.0, then tends to strongly depend on the number of mincuts of small cardinality.

As usual, we define.

For the above examples, let denote the set of mincuts with two or three elements. As approximation to we define

,

where the following notation is used: is the number of two-element mincuts in, is the number of three-element mincuts in, is the number of unions of two elements of that contain three elements, and is the number of unions of two elements of consisting of four elements.

Table 1 gives an overview on the secret sharing schemes considered in the examples. As can be seen, for these graphs of modest size, is quite a good approximation to the reconstruction probability,.

4. A Heuristic for Share Assignment Based on Node Separators

Once the relevance of mincuts for the reconstruction probability has become clear, we now turn to the question what makes a shared secret scheme have few mincuts. It turns out that, basically, there are two different effects that make a set X of vertices and edges a cut:

・ X is a node separator, and the complete secret set S cannot be reconstructed by only visiting vertices in its connected component

・ X contains all vertices that carry one specific secret

To illustrate this, let us look at the example of Figure 3 again. is a cut, since failure of the two vertices 3 and 4 disconnects the graph, and the complete secret set cannot be reconstructed by visiting only vertices in its connected component. Observe that is not a cut, although it disconnects the graph. On the other hand, does not disconnect the graph, but nevertheless is a cut, since none of the remaining vertices carries secret.

It is now possible to identify the reason why the shared secret scheme of Figure 4 has fewer two-element mincuts than the scheme shown in Figure 3: In the scheme shown in Figure 4, is a mincut “for two reasons”, namely it is a node separator, but it also constitutes a mincut since it contains all vertices carrying secret; opposed to this, the example of Figure 3 has the “additional” mincut.

Table 1. Reconstruction probabilities and approximations for the four examples.

From these observations, we conclude that when designing a shared secret scheme, it is advantageous to place “secret mincuts” on node separators of the graph.

The heuristic presented also tries to avoid assigning a share to a node lying “behind” another node which carries a larger share. This point is illustrated via the small example presented in Figure 5: the assignment in diagram (a) is obviously more reliable than the one in diagram (b), since placing share on node 5 in (b) “behind” on node 3 does not make any sense.

We are now ready to present our heuristic for share assignment. The main idea is to place large shares on nodes close to (as in [6] ), but to also take into account node separators close to. The restriction to node separators close to keeps the algorithm polynomial in the size of G, independent of the size and structure of.

We assume a graph with user node as well as a set of shares are given, with, , and. A secret sharing scheme (1-1 mapping)

,

is defined by iteration, according to the following algorithm.

We begin with precomputations consisting of three algorithms:

・ Algorithm BFS-tree

・ Algorithm separators

・ Algorithm list of shares

We next describe the algorithm for share assignment.

It is assumed that the algorithms BFS-tree, separators, and list of shares have been executed and have produced the numbering of nodes with, the set Minsep of separators close to, and the list Share list of all shares.

Figure 5. Two share assignments.

We next describe the algorithm for share assignment.

The algorithm share assignment assigns a share to the next node according to the following principles:

・ (1st priority) nodes inside node separators should carry common secrets

・ (2nd priority) nodes along paths in the BFS-tree should not carry common secrets

This algorithm (including the precomputations) is polynomial in n, the number of vertices of the graph.

It can be easily checked that for the examples considered above, the algorithm produces the share assignments with higher reconstruction probability.

5. Conclusion

The presented algorithm for share assignment in communication networks uses node separators of the underlying graphs. This algorithm produces better results than simply placing large shares close to the user node, as is suggested in previous publications. One interesting question for further research is that under which assumptions concerning the underlying graph and set of shares, the heuristic presented here results in an optimal placement of the shares on the nodes.

Acknowledgements

This research was supported by Fachhochschule Südwestfalen―University of Applied Sciences.

NOTES

^{1}In this paper, all calculations were done using Matlab.

References

[1] Blakley, R. (1979) Safeguarding Cryptographic Keys. Proceedings of the AFIPS 1979 National Computer Conference, 48, 313-317.

[2] Shamir, A. (1979) How to Share a Secret. Communications of the ACM, 22, 612-613.

http://dx.doi.org/10.1145/359168.359176

[3] Simmons, G.J. (1991) An Introduction to Shared Secret and/or Shared Control Schemes and Their Application. Contemporary Cryptology, IEEE Press, New York, 441-497.

[4] Stinson, D.R. (1992) An Explication of Secret Sharing Schemes. Designs, Codes, and Cryptography, 2, 357-390.

http://dx.doi.org/10.1007/BF00125203

[5] Blundo, C., de Santis, A., Stinson, D.R. and Vaccaro, U. (1995) Graph Decomposition and Secret Sharing Schemes. Journal of Cryptology, 8, 39-64.

http://dx.doi.org/10.1007/BF00204801

[6] Lee, C.-Y., et al. (1999) A Probability Model for Reconstructing Secret Sharing under the Internet Environment. Information Sciences, 116, 109-127.

http://dx.doi.org/10.1016/S0020-0255(98)10104-4

[7] PÖnitz, A. and Sans, O. (2001) Computing the Reconstruction Probability of Distributed Secret Sharing Schemes Using the Composition Method. (Unpublished Manuscript)

[8] Colbourn, J. (1987) Combinatorics of Network Reliability. Oxford University Press, Oxford.

[9] Shier, D.R. (1991) Network Reliability and Algebraic Structures. Clarendon Press, Oxford.

[10] Bienstock, D. (1988) Some Lattice-Theoretic Tools for Network Reliability Analysis. Mathematics of Operations Research, 13, 467-478.

http://dx.doi.org/10.1287/moor.13.3.467

[11] Tittmann, P. and Blechschmidt, A. (1991) Reliability Bounds Based on Network Splitting. Elektronische Informationsverarbeitung und Kybernetik, 27, 317-326.

[12] Poguntke, W. and Simonet, G. (2004) Secrets and Separators. ALGCO—Algorithmes, Graphes et Combinatoire, LIRMM—Laboratoired’Informatique de Robotique et de Microélectronique de Montpellier, Report 04001.

[13] Kloks, T. and Kratsch, D. (2006) Listing All Minimal Separators of a Graph. Proceedings of the 11th Annual Symposium on Theoretical Aspects of Computer Science, Springer, LNCS 775, 759-768.

http://dx.doi.org/10.1137/s009753979427087x

[14] Poguntke, W. (2003) Using Mincuts to Design Secret Sharing Schemes in Graphs. Extended Abstract. Electronic Notes in Discrete Mathematics, 13, 97-102.

http://dx.doi.org/10.1016/S1571-0653(04)00447-0