The goal of this section is to establish the following result, which we prove by adapting the security analysis of a Kyber-based
). Analogously as Escribano Pablos
).
Proof.
Before establishing security, we want to establish integrity of the proposed protocol.
Integrity. From (Zhandry,
2015, Theorem 3.1) and (Unruh,
2022, Footnote 13) we obtain that the quantum random oracle
H is collison-resistant. As a result, if two output vectors have coinciding
$\mathsf{sid}$s, then the corresponding inputs to
H must, with overwhelming probability, coincide, namely, they both share the same
$\bar{\mathsf{pid}}$ and the same
${\mathsf{sk}_{{\hat{P}^{(0)}}}^{\circlearrowright }},\dots ,{\mathsf{sk}_{{\hat{P}^{(n-1)}}}^{\circlearrowright }}$. By construction, with overwhelming probability, these two sessions must have identical values for the secret key
$\mathsf{sk}=H(\mathtt{10},\bar{\mathsf{pid}},{\mathsf{sk}_{{\hat{P}^{(0)}}}^{\circlearrowright }},\dots ,{\mathsf{sk}_{{\hat{P}^{(n-2)}}}^{\circlearrowright }})$.
Security. To establish security of the proposed protocol, we follow to a large extent the game-based reasoning in the proofs of (Abdalla
et al.,
2007, Theorem 1) and (Escribano Pablos
et al.,
2020, Theorem 3), making some necessary adaptations. We assume the adversary is interacting with a simulator, which is simulating all oracles and sessions for the adversary.
We proceed in a sequence of games, starting with the real attack against the key secrecy of the group key exchange protocol and ending in a game in which the adversary’s advantage is 0. From game to game the simulator’s behaviour is modified, in a way that allows us to bound the difference in the adversary’s advantage between any two consecutive games. We omit the security parameter in the discussion, namely, writing
${\mathsf{Adv}_{\mathcal{A}}}(\lambda )$ from Definition
3 simply as
${\mathsf{Adv}_{\mathcal{A}}}$. Furthermore, following standard notation, we denote by
${\mathsf{Adv}_{\mathcal{A}}}({G_{i}})$ the advantage of the adversary
$\mathcal{A}$ in Game
i.
Game $\mathbf{0}$. This first game corresponds to a real attack, in which all the parameters are chosen as in the actual scheme. By definition, ${\mathsf{Adv}_{\mathcal{A}}}({G_{0}})={\mathsf{Adv}_{\mathcal{A}}}$.
Game $\mathbf{1}$. In this game, for $i=0,\dots ,n-1$, we modify the simulation of the $\mathsf{SendC}$ and $\mathsf{SendQ}$ oracles so that, whenever a session ψ is still considered fresh after Step A1, the corresponding keys $\textbf{c}{\mathsf{sk}^{(i)}}$ shared by the involved users are replaced with random bitstrings of the appropriate size.
It is easy to see that the distance between this game and the previous one is bounded by the probability that the adversary breaks the security of any of the underlying ${\mathsf{GAKE}^{(i)}}$ protocols.
As a result, it holds
Here,
${\mathsf{Adv}_{\mathcal{A}}^{{\mathsf{GAKE}^{(i)}}}}$ denotes the advantage of
$\mathcal{A}$ against
${\mathsf{GAKE}^{(i)}}$, which should be a function of the security parameter
λ and the number of different involved sessions (i.e. sessions for which either
$\mathsf{SendC}$ or
$\mathsf{SendQ}$ have been queried by
$\mathcal{A}$).
Game $\mathbf{2}$. In this game, for $i=0,\dots ,n-1$, we modify the simulation of the $\mathsf{SendC}$ and $\mathsf{SendQ}$ oracles so that, whenever a session ψ is still considered fresh after Step A2, the corresponding keys ${\mathsf{sk}_{{\hat{P}^{(i)}}}^{\circlearrowleft }}$ shared by the cluster leaders ${\hat{P}^{(i)}}$ and ${\hat{P}^{((i+1)\hspace{0.2em}\mathrm{mod} \hspace{0.2em}n)}}$ for $i=0,\dots ,n-1$ are replaced with n elements selected uniformly at random from the intended key space.
It is easy to see that the distance between this game and the previous one is bounded by the probability that the adversary breaks the security of any of the underlying 2-${\mathsf{AKE}^{(i)}}$ protocols.
As a result, it holds
Here,
${\mathsf{Adv}_{\mathcal{A}}^{\text{2-}{\mathsf{AKE}^{(i)}}}}$ denotes the advantage of
$\mathcal{A}$ against a concrete session of 2-
${\mathsf{AKE}^{(i)}}$ (note that two sessions, i.e. two test queries, each corresponding to one of the involved leaders, are to be linked to each actual execution, thus the factor 2 in the bound above). Again, this advantage is a function of the security parameter
λ and the number of different queries to the involved sessions.
Game $\mathbf{3}$. In this game, we change the simulation of the $\mathsf{SendC}$ oracle so that a fresh instance ψ does not accept in Step C1 whenever for some i a message ${M_{i}^{B2}}$ was not faithfully simulated (as would have been generated in that same session by the intended cluster leader).
Note that the adversary will only notice the difference if both the message
${M_{i}^{B2}}$ is being fabricated or replayed from another execution in a way that it is consistent with
${M_{i}^{B1}}$ (i.e. the hash
$H(\mathtt{0},{X_{i}},{r_{i}})$ is consistent with the
${X_{i}}$ value from
${M_{i}^{B2}}$) and, moreover, the bitstring
${X_{0}}\oplus \cdots \oplus {X_{n-1}}$ is the all-zero bitstring. Given that, at this point, these
${X_{i}}$-values are distributed uniformly at random and independent of previous messages, the probability that the replayed/fabricated messages involve a matching
${X_{i}}$ is negligible.
Game $\mathbf{4}$. This game reproduces the modification also for the commitments in Step B1: The simulation of the
$\mathsf{SendC}$ oracle changes so that a
fresh instance
ψ does not accept in Step C1 whenever one value
$H(\mathtt{0},{X_{j}},{r_{j}})$ for
$j\ne i$ is not faithfully simulated. The adversary will only notice the difference if the simulator can fabricate a matching value on the range of
H that is actually equal to
$H(\mathtt{0},{X_{j}},{r_{j}})$. Due to the preimage resistance of the (quantum) random oracle
H (cf. Yamakawa and Zhandry,
2021, Corollary 4.13), the adversary’s advantage diverges only negligibly from the previous game:
Game $\mathbf{5}$. Note that, at this point, all messages produced in Step B are faithfully generated by the simulator. Now, in the simulation of the
$\mathsf{SendC}$ oracle we modify how the values in the first component of
${c^{(i)}}$ are generated: they are simply bitstrings of the appropriate length, chosen uniformly at random. Indeed, as these values were one-time pad encryptions (with one-time keys, chosen uniformly at random) of the session key, they should again be indistinguishable from random, as a result
Game $\mathbf{6}$. We now modify the simulation of the $\mathsf{SendC}$ oracle at the point of computing the session key and the corresponding session identifier. At this, the simulator chooses a session key $\mathsf{sk}\in {\{0,1\}^{\lambda }}$ uniformly at random and does the same with the $\mathsf{sid}$.
Note that the (quantum) random oracle outputs are indistinguishable from random, so, indeed,
Moreover, as the session key is now chosen uniformly at random (independently of any other value the adversary may have access to), it holds that
which concludes the proof.
Long-term security. Suppose that an adversary has access to a protocol transcript and faces the challenge of distinguishing the corresponding established secret key from a random bitstring of the same length. More specifically, he has access to a public output vector
and needs to decide whether a bit string
${\mathsf{sk}^{\ast }}$ has been chosen uniformly at random (in the appropriate space) or is the actual session key established in that session. We may assume, without loss of generality, that the output vector comes from a cluster leader
${\hat{P}^{(i)}}$. That is
and
We can again follow a game-based structure where the adversary interacts with a simulator providing him with the transcript. Note that in this case, we are considering a passive attack when the adversary just gets the public output vector and cannot interact with any party involved in the actual session.
Game $\mathbf{0}$. Again, we start with a game corresponding to the real attack, in which the transcript is faithfully simulated. By definition, ${\mathsf{Adv}_{\mathcal{A}}}({G_{0}})={\mathsf{Adv}_{\mathcal{A}}}$.
Game $\mathbf{1}$. Now, we replace the
${X_{j}}$-values in the
v-vector with a bitstring of the same length, yet chosen uniformly at random. If we assume that all involved 2-
${\mathsf{AKE}^{(i)}}$s produce two-party keys that are indistinguishible from values selected uniformly at random (in a long-term sense), so are the corresponding exclusive-or-values of each neighbouring pair of keys, i.e.
${X_{i}}={\mathsf{sk}_{{\hat{P}^{(i)}}}^{\circlearrowleft }}\oplus {\mathsf{sk}_{{\hat{P}^{(i)}}}^{\circlearrowright }}$. As a result,
Game $\mathbf{2}$. Now, replace each of the left-most components of the values
${c^{(i)}}$ with a uniformly at random chosen value from the corresponding key space. Assuming the
${\mathsf{GAKE}^{(i)}}$s are long-term secure, this should not be noticeable, for each session key is one-time pad encrypted with a bitstring that is indistinguishable from one selected uniformly at random, thus:
Moreover, note that the session identifier
leaks nothing about the established session key, for it can be seen as a statistically hiding commitment on the values
${\mathsf{sk}_{{\hat{P}^{(0)}}}^{\circlearrowright }},\dots ,{\mathsf{sk}_{{\hat{P}^{(n-2)}}}^{\circlearrowright }}$ using as randomness the value
${\mathsf{sk}_{{\hat{P}^{(n-1)}}}^{\circlearrowright }}$ (which is, by assumption, long-term secure).
Summing up, at this point no information linked to the actual established session key is available to the adversary:
□