Note: the names of attributes and parameters used in this section are mainly based on IKEv1, unless otherwise stated. IKEv2 may use the new terminology. IKEv1- and IKEv2-specific features are specified next to that feature/parameter.
The followings are a list of the major features of IKEv1 and IKEv2 implemented in NIIST:
Cryptographic Security Services:
The size of secure messages (IKE or IPSec) generated in
the framework (specifically after encryption) may not reflect
the exact actual size of the ciphertext created in real
implementations since no actual cryptographic security
functionalities are implemented. However, the difference
between clear and secure messages would be minimal and overall
protocol behavior would remain the same. The user can have an
option to specify the performance of different cryptographic
algorithms or even the same cryptographic algorithm with
different key/block sizes.
IKE Key Generation
Actual key exchange is not implemented, however, DH exchange processing
delay is modeled.
Inconsistent Transform IDs between peers
May generate NullPointerException.
Informational Exchange During SA Negotiation
NIIST supports an SA negotiation that includes multiple proposals.
The initiator can offer a list of security policy from the local SPD
(in decreasing preference order) for potential SAs to the responder.
The responder can select potential proposals based on its own local
policy. If any of proposals offered does not match to the responder's
local policy, the simulation ends abruptly without proper error
messages. This problem will soon be solved once Informational Exchange
is fully implemented.
No Operating Processing Delay
As with the SSFNet, NIIST processes a message with no logical-time
advance, i.e., the message is simultaneously processed from the user
level protocol to a network device driver except the cryptographic fucntion
delay, if provided.
SA Bundling
SA bundle for iterated tunneling with the same endpoints for the SAs
is partially implemented and have not been tested.