Let us look at the GVPN little more in-depth.
GVPN is based on the GDOI protocol. The protocol is specified in RFC 6407 and defines an ISAKMP Domain of Interpretation (DOI) to manage Security Associations and keys for participants known as group members - GMs. By virtue of such a participation, all GMs share identical information to encrypt and decrypt traffic among each other. The creation, management and distribution of GDOI SAs and the associated group-keys- TEKs and KEKs -are handled by a key server - GC/KS.
The protocol exchange has two type of exchanges. In the first type of exchange the GMs register to the GC/KS and download the SAs to encrypt both inter GM traffic and further communications with GC/KS. These SAs are known as SATs and SAKs respectively- we will talk about these SAs a bit later. The exchange is called GROUPKEY-PULL exchange and is initiated by the GM. In the second type of exchange GC/KS is the initiator and the exchange is called GROUPKEY-PUSH. In this exchange the GC/KS informs GMs to install the new SATs/SAKs and expire the old SATs/SAKs. As you may have noticed this exchange poses striking resemblance to the Site-to-site IPSEC VPN, with one crucial difference - the centralized GC/KS. More interestingly, the GROUPKEY-PULL has two phases like that of normal Site-to-site IPSEC, and it uses ISAKMP to achieve this, yet again with one crucial difference - the phase 2 of ISAKMP uses UDP port 848 as opposed to port 500 in site-to-site IPSEC.
There are two different types of Group Security Associations. The first is called “Security Association Transport Encryption Key” (SAT) that protects the traffic between the GMs. This one is comparable with a normal IPSec SA. The associated cryptographic key is named “Transport Encryption Key” (TEK). The second G-VPN Security Association is called “Security Association Key Encryption Key” (SAK) and protects rekey-messages send from the KS to the GMs. The associated cryptographic key is named “Key Encryption Key” (KEK). Beside the algorithms used for encryption, the KS also provides the policy which specifies what traffic needs to be secured by the GMs. These traffic-selectors are part of the SAT.
The Group Members use ESP protocol in tunnel-mode to secure the traffic. However, in G- VPN the tunnel-mode is modified. Because there is no direct association between the GMs, it is not necessary to use special IP-Addresses in the outer IP-Header (i.e. IP-Addresses of IPSec-Gateways). Every GM can decrypt the traffic of every other GM, as long both are members of the same GDOI group. Thus the inner IP-Header is copied to the outer IP- Header and the underlying routing- and QoS-infrastructure can be used anymore. This feature is called Header Preservation.
Now that we have understood several elements of the GVPN solution, let us look in to the GROUPKEY-PULL and GROUPKEY-PUSH protocol exchanges.
To get the GDOI SAs and keys and group-keys, the GM registers with the KS for a specific group. Before the registration process can start the GM and KS have to setup a secure connection using IKEv1 protocol in either Main Mode or aggressive mode. As a result of the exchange the IKESA needed to secure the registration process is established. This part of the exchange is called the phase 1 exchange. After the phase 1 exchange is complete, phase 2 exchange start. The IKESA established during phase 1 exchange is used to secure the messages in phase 2 exchange. In phase 2 exchange a GM tells the KS to which GDOI group he wants to register and after successful authentication the GM gets all GDOI SAs and keys (SATs, TEKs, SAKs, and KEKs). After the registration the GM has all information to communicate with the other GMs by using SAT, as well as the information to successfully decrypt the rekeying-messages by using SAK. Upon the soft lifetime expiry of the SAT and SAK, the KS initiates GROUPKEY-PUSH exchange encrypted using the KEK. This message is fairly straight forward and the exchange is concluded as soon as the GM acknowledges the receipt of the message. Thus the GVPN leverages the framework of ISAKMP and avoids the disadvantages of Site-to-site IPSEC by using centralized key server model.
I will be writing about some practical deployment scenarios showcasing the use of GVPN in my next post. Stay tuned ...