Tip
This is the documentation for the 19.02 version. Looking for the documentation of the latest version? Have a look here.
- orphan:
IKE Proposal¶
tnsr(config-ipsec-crypto-ike)# proposal 1
tnsr(config-ike-proposal)# encryption aes128
tnsr(config-ike-proposal)# integrity sha1
tnsr(config-ike-proposal)# group modp2048
tnsr(config-ike-proposal)# exit
IKE Proposals instruct TNSR how the key exchange will be encrypted and
authenticated. TNSR supports a variety of encryption
algorithms,
integrity
/ authentication hash algorithms, and Diffie-Hellman (DH)
group
specifications. These choices must be coordinated between both
endpoints.
To see a list of supported choices for each option, follow the initial command
with a ?
, such as encryption ?
.
Tip
Some vendor IPsec implementations refer to IKE/ISAKMP as “Phase 1”, which may help when attempting to map values supplied by a peer to their corresponding values in TNSR.
Encryption Algorithms¶
TNSR supports many common, secure encryption algorithms. Some older, insecure, algorithms are not supported such as 3DES.
Algorithms based on AES are the most common, and are widely supported by other VPN implementations.
AES-GCM, or AES Galois/Counter Mode is an efficient and fast authenticated encryption algorithm, which means it provides data privacy as well as integrity validation, without the need for a separate integrity algorithm.
Additionally, AES-based algorithms can be accelerated by AES-NI in most cases.
A full list of encryption algorithms supported by TNSR :
tnsr(config-ike-proposal)# encryption ?
<cr>
aes128 128 bit AES-CBC
aes128ccm12 128 bit AES-CCM with 12 byte ICV
aes128ccm16 128 bit AES-CCM with 16 byte ICV
aes128ccm8 128 bit AES-CCM with 8 byte ICV
aes128ctr 128 bit AES-Counter
aes128gcm12 128 bit AES-GCM with 12 byte ICV
aes128gcm16 128 bit AES-GCM with 16 byte ICV
aes128gcm8 128 AES-GCM with 8 byte ICV
aes192 192 bit AES-CBC
aes192ccm12 192 bit AES-CCM with 12 byte ICV
aes192ccm16 192 bit AES-CCM with 16 byte ICV
aes192ccm8 192 bit AES-CCM with 8 byte ICV
aes192ctr 192 bit AES-Counter
aes192gcm12 192 bit AES-GCM with 12 byte ICV
aes192gcm16 192 bit AES-GCM with 16 byte ICV
aes192gcm8 192 bit AES-GCM with 8 byte ICV
aes256 256 bit AES-CBC
aes256ccm12 256 bit AES-CCM with 12 byte ICV
aes256ccm16 256 bit AES-CCM with 16 byte ICV
aes256ccm8 256 bit AES-CCM with 8 byte ICV
aes256ctr 256 bit AES-Counter
aes256gcm12 256 bit AES-GCM with 12 byte ICV
aes256gcm16 256 bit AES-GCM with 16 byte ICV
aes256gcm8 256 bit AES-GCM with 8 byte ICV
camellia128 128 bit Camellia
camellia128ccm12 128 bit Camellia-CCM with 12 byte ICV
camellia128ccm16 128 bit Camellia-CCM with 16 byte ICV
camellia128ccm8 128 bit Camellia-CCM with 8 byte ICV
camellia128ctr 128 bit Camellia-Counter
camellia192 192 bit Camellia
camellia192ccm12 192 bit Camellia-CCM with 12 byte ICV
camellia192ccm16 192 bit Camellia-CCM with 16 byte ICV
camellia192ccm8 192 bit Camellia-CCM with 8 byte ICV
camellia192ctr 192 bit Camellia-Counter
camellia256 256 bit Camellia
camellia256ccm12 256 bit Camellia-CCM with 12 byte ICV
camellia256ccm16 256 bit Camellia-CCM with 16 byte ICV
camellia256ccm8 256 bit Camellia-CCM with 8 byte ICV
camellia256ctr 256 bit Camellia-Counter
chacha20poly1305 256 bit ChaCha20/Poly1305 with 16 byte ICV
Integrity Algorithms¶
Integrity algorithms provide authentication of messages, ensuring that packets are authentic and were not altered by a third party before arriving.
When an authenticated encryption algorithm type such as AES-GCM is used, then
for IKE/ISAKMP this option defines the Pseudo-Random Function (PRF) instead.
In these cases aesxcbc
is likely the most appropriate choice as it is solely
a PRF, it can be accelerated by AES-NI, and it is more widely supported than its
improved successor aescmac
.
Note
When using an authenticated encryption algorithm like AES-GCM with a child Security Association (SA) as opposed to IKE/ISAKMP, an integrity option should not be configured, as it is redundant and reduces performance.
A full list of integrity algorithms supported by TNSR:
tnsr(config-ike-proposal)# integrity ?
<cr>
aescmac AES-CMAC 96
aesxcbc AES-XCBC 96
md5 MD5 96
sha1 SHA1 96
sha256 SHA2 256 bit blocks, 128 bits output
sha384 SHA2 384 bit blocks, 192 bits output
sha512 SHA2 512 bit blocks, 256 bits output
Diffie-Hellman Group¶
Diffie-Hellman (DH) exchanges allow two parties to establish a shared secret across an untrusted connection. DH choices can be referenced in several different ways depending on vendor implementations. Some reference a DH group by number, others by size. When referencing by group number, generally speaking higher group numbers are more secure.
In most cases, modp2048
(Group 14) is the lowest choice considered to
provide sufficient security in a modern computing environment.
A full list of DH Groups supported by TNSR:
tnsr(config-ike-proposal)# group ?
<cr>
ecp256 Group 19 (256 bit ECP)
ecp384 Group 20 (384 bit ECP)
ecp521 Group 21 (521 bit ECP)
modp1024 Group 2 (1024 bit modulus)
modp1024s160 Group 22 (1024 bit modulus, 160 bit POS)
modp1536 Group 5 (1536 bit modulus)
modp2048 Group 14 (2048 bit modulus)
modp2048s224 Group 23 (2048 bit modulus, 224 bit POS)
modp2048s256 Group 24 (2048 bit modulus, 256 bit POS)
modp3072 Group 15 (3072 bit modulus)
modp4096 Group 16 (4096 bit modulus)
modp6144 Group 17 (6144 bit modulus)
modp768 Group 1 (768 bit modulus)
modp8192 Group 18 (8192 bit modulus)
Warning
TNSR supports modp768
(Group 1) and modp1024
(Group 2) for
compatibility purposes but they are considered broken by the Logjam Attack
and should be avoided.
TNSR also supports modp1024s160
(Group 22), modp2048s224
(Group 23),
and modp2048s256
(Group 24) for compatibility but they should also be
avoided as they have a questionable source of primes.