each other for the first time and since they are within
the transmission range of each other, they use ECBD
key exchange algorithm (Hamad et al., 2008b) to
establish the network key. We call the function that
applies the key exchange algorithm, ECBD, "Key
Exchange Function" (KEF). In NKEP KEF applies
ECBD key exchange algorithm. We assume that a
base point P = (x, y) on elliptic curve in E
q
(a, b) is
chosen and both E
q
(a, b) and P are universally
known and used among the network members. We
also assume that each node
i
N has generated its
elliptic curve DH (ECDH) public and private keys,
i
N
KU and
i
N
KR respectively. The protocol works
as follows:
1. R finds the set of all cliques in its graph
R
g ,
12
{ , ,..., }
RR R
Rm
Qqq q= ,
, 1,...,
R
i
qi m∈= and
max R
qWGQ=∈,
using the algorithm proposed by Patric R. J.
Östergård (Östergård, 2002).
2. To generate the network key
R
K , R performs
key establishment between itself and WG
members using ECBD algorithm (Hamad et al.,
2008b).
To distribute the network key to the whole
network, each node should have a shared key with a
group of its immediate neighbours; we call this key
the group key.
2.4 The Groups Key Establishment
Protocol (GKEP)
To propagate the network key to all node, the
network leader has to authenticate it self to the rest
of the network; WG members including R trust each
other because they are within the transmission range
of each other. So, for the rest of nodes to trust R they
should be within its transmission range, but this is
infeasible, so other nodes should inherit this trust
from WG members. This can be done by performing
a key establishment between each member of WG
and its immediate neighbours such that these
neighbours form a complete graph. Using this key
each WG member can propagate the network key to
its immediate neighbours. The protocol assumes that
all nodes do not change their position during the
group key establishment protocol.
The process of propagated group key
establishment starting form R, continue until each
node in the network either belongs to just one group
leaded by a group leader or be a leader of at least
one group which implies that it belongs to a group.
3 AOAC PROTOCOL
AOAC protocol is based on the technique that we
proposed in the establishment of the network and
groups keys, see (Hamad et al., 2008a). It assumes
that the network is partitioned into a set of groups
and each group is leaded by one leader with leaders
connecting these groups. When we say that leaders
connecting groups, we do not mean a physical
connection, we mean an authentication connection
i.e. if node N
i
connects two group (N
i
belongs to one
group and leads another one or leads both groups),
then the only way for these two groups to
authenticate each other is through N
i
; because N
i
shares a key with the first group and shares another
key with the other group. So, when a source node
wants to authenticate a destination node, it has to
find a set of group leaders that authenticate the
source to destination.
AOAC is a protocol for creating chain of group
leader nodes that authenticate the source node to the
destination node. Also, the created chain will
authenticate the destination node to the source node.
This will be done by constructing a forward path that
authenticate the source node to the destination node
and a reverse path that authenticate the destination
node to source node. We assume that the source and
destination nodes belong to different groups. In case
that the source and destination nodes belong to the
same group (trivial case), they can authenticate each
other through their group leader and their peer-to-
peer session key,
,
i
LN
K (A. M. Hamad et al.,
2008b), without using the AOAC as described
below.
Before establishing the Transitive Authentication
Protocol, discussed below, of AOAC protocol, both
the source and the destination nodes should know
the ID and the group ID of each other, we mean by
the group, the group that each of them belongs to,
not they lead. This piece of information (the group
ID) help the AOAC to improve the performance of
the authentication chain discovery protocol as
discussed in the next section. They also should
exchange the ECDH public keys (Hamad et al.,
2008b) of each other, this will prevent the inside
man-in-the-middle attack as discussed later. These
three pieces of information, node ID, group ID and
public key along with a nonce value to prevent
replay attacks, of both the source and destination
nodes should be signed by the network key to
prevent outside MITM attack. AOAC protocol is
divided into two sub-protocols:
SECRYPT 2009 - International Conference on Security and Cryptography
276