Update to make AES encryption modes selectable
authorMichael Rash <mbr@cipherdyne.org>
Wed, 25 Jan 2012 01:26:21 +0000 (20:26 -0500)
committerMichael Rash <mbr@cipherdyne.org>
Wed, 25 Jan 2012 01:26:21 +0000 (20:26 -0500)
commit4c3d2188a1b94c5d33ac34d348e8d48eac858f00
treeef054f85d2b4558e3604111ef4caf22849f87dca
parent7e8e48412ff985461095a09874059e955145d513
Update to make AES encryption modes selectable

This is a significant update to allow AES encryption modes to be selected on a
per-key basis.  For now, only ECB and CBC (recommended) modes are supported.
The default is ECB modes in order to maintain backwards compatibility with the
older perl version of fwknop and the Crypt::CBC CPAN module.  This will likely
be changed to use CBC mode by default because of its better security
properties.

In the access.conf file on the server side, there is a new configuration
variable "ENCRYPTION_MODE" that controls the mode for the corresponding AES
key.  On the client side, a new command line argument "--encryption-mode"
controls how the client encrypts SPA packets.
16 files changed:
client/cmd_opts.h
client/config_init.c
client/fwknop.c
client/fwknop_common.h
doc/fwknop.man.asciidoc
doc/fwknopd.man.asciidoc
lib/cipher_funcs.c
lib/cipher_funcs.h
lib/fko.h
lib/fko_context.h
lib/fko_encryption.c
lib/fko_funcs.c
lib/fko_state.h
server/access.c
server/fwknopd_common.h
server/incoming_spa.c