---- On Thu, 13 Nov 2014 21:25:57 +0200 Mathieu Lutfy<[email protected]> wrote
----
> Hi,
>
> I was looking at RFC7298 about HMAC authentication in babeld and was
> wondering whether it would be usable on an open mesh network, such as the
> Montreal mesh network (reseaulibre.ca), where people basically put antennas
> on their roofs and join the mesh, but we would like some way to authenticate
> routes in order to avoid attacks on the network. In other words, we want to
> operate in a decentralized and open way, but we need some way to mitigate
> attacks (announcing false routes).
>
> * how would the shared secret work on a distributed mesh? Having a unique
> key for all would be too risky (it would not stay secret long, and changing
> it would be hard), but we could imagine having something like a key per city
> district/borough (arrondissement), or filtering on super-nodes (backbones)
> to limit scope of attacks.
>
> * how does the optional aspect of the authentication work? Could network
> participants decide, on a per-relay basis, which routes/keys to trust?
>
> * it seems implemented in Quagga. Any blockers to having it in the main
> babeld package? (we use OpenWRT, but worst case we could apply a patch and
> include in our Commotion-based firmware)
Hi Mathieu.
It would be interesting to see this extension deployed, especially implemented
by somebody other than the author of the spec, as people rarely see mistakes in
their own work.
This extension works per-heighbour. The participants decide which keys they
trust (per interface) for receiving and which keys they use for sending (that
normally would be arranged symmetrically). Considering the prefix forging
problem, this extension does not control the contents of the routing table
exchanged by the speakers. There are also other issues discussed in Section 9
of the RFC, especially item (e), which means it would be necessary to do key
management in a well-planned way to keep things on the safe side. May be a
supplementary attack detection mechanism would help. Anyway, the problem is not
Babel-specific and a solution would also apply to OLSR.
The only way to build a robust mesh network would be to start implementing. I
would be glad to advise on this if necessary.
--
Denis Ovsienko
_______________________________________________
Babel-users mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/babel-users