The Whisper protocol can be integrated with BGP without changing the
basic packet format of BGP. Specifically, we do not need any
additional field for the Whisper signature. BGP uses community
attributes within UPDATE messages that can be leveraged for embedding
the signature attributes. Community attributes are bit values
which are optional BGP attributes that are mainly used for
community-based routing mainly for multi-homing ISPs.
This design offers us many advantages over updating a version of BGP. First, a single update message can have several community attributes and one can split a signature among multiple community attributes. Second, a community attribute can be set using the BGP configuration script to allow operators the flexibility to insert their own community attribute values. In a similar vein, one can imagine a stand-alone whisper library computing the signatures and a simple interface to insert these signatures within the community attributes. Third, one can reserve a portion of the community attribute space for whisper signatures. In today's BGP, community values can be set to any value as long as they are interpreted correctly by other routers.
Our implementation uses the following semantics for the community
attribute: if the first bits of an attribute are set to
and
, then the remaining
bits refer to a portion of the
and
attributes in the signature. An RSA based Whisper signature
uses
bits per signature field -
bits for the seed
and
bits for
. Such a signature uses
community
attributes. An ECC based Whisper implementation uses
bits per
signature and hence uses only
community attributes.