|
|||||||||||
|
linux-ipsec: ANNOUNCE: ipnsec-0.8 for Linux
From: Petr Novak <petr(at)internet.cz>
Date: Thu Mar 12 1998 - 12:41:13 EST
I'd like to announce a new IPSec implementation for Linux. The implementation is based on the existing Linux-ipsec 0.7 and the code in OpenBSD. The implementation is still under development, but I had a feeling that by releasing it early to others will make it stable faster, provided that there are enough people willing to test or comment on the code. The implementation should be compatible with that in OpenBSD in terms of talking to each other and in the range of supported transormations (ie. ciphers and hashes). Please note that the version released today does not support the tunneling mode yet. A fixed version should be available by the end of this week.
You can get the early version at
Here is the README-0.8 file describing some of the features. Enjoy, Petr Novak ipnsec-0.8/README-0.8 This is the first preliminary release of a merged implementations of IPSec from Linux and OpenBSD, running on Linux. You can fetch this (and the later versions) from ftp://ftp.eunet.cz/icz/ipnsec/ You can find the (old) Linux implementation at http://www.xs4all.nl/~freeswan/
You can find the OpenBSD code at
Both the Linux and OpenBSD versions have been originally written by John Ioannidis and the OpenBSD has been heavily modified by Angelos D. Keromytis and Niels Provos (and possibly others). I (Petr Novak, <pn@i.cz>) took both of the code bases and tried to merge the newer functions from OpenBSD into the existing Linux code. The code bases were ipsec-linux ver. 0.7 and OpenBSD 2.2 with all modifications up to March 9, 1998. The versioning of this software is a continuation of that of the ipsec-linux code, but this does not mean that the ipsec-linux will not evolve further on its own. This version is somewhere half on the way, as it still lacks some of the essential functions of OpenBSD. On the other hand, it should be at least as stable as the existing Linux code, but it should be more interoperable with other IPSec implementations. The code has been tested with Linux kernel 2.0.32 and 2.0.33. The development environment and the testbed is based on Redhat Linux 4.2. Here is a rough sketch of the major changes from the ipsec for Linux 0.7 and some random remarks:
The libdeslite has been enhanced with 3-DES in ecb mode and the cbc mode routines have been deleted for both DES and 3-DES. The ipsec_esp_{old,new}.c code does a central cipher-independent CBC processing and uses only ECB mode external ciphers. This is in line with the recent IETF draft draft-ietf-ipsec-ciph-cbc-01, although the implementation allows backwards compatibility with some older drafts (IV derived from the replay protection field).
The implementation does not include the IDEA and RC5 ciphers mentioned in the
draft. They were not in the OpenBSD code, as IDEA is patented in several
countries (including most EU countries and the USA).
If included, it should at least be possible to turn it off.
As there are not that many IPSec
The interoperability of all the transforms with existing OpenBSD has been tested with manual keying (using ipsecadm - see later) and they seem to work in all possible combinations, except when OpenBSD tries to receive keyed SHA-1 old-style AH packets, where the problem is at the OpenBSD side (a bug has been opened including fix with the OpenBSD team). Some of the transforms might not work with the old Linux code base, due to different key slicing and possibly other differences (at least the length of the replay protection field has changed). As the OpenBSD code seems to be more up-to-date and is a much more stable implementation at this moment, I gave priority to compatibilty with that, rather than with the existing Linux code. Unfortunately, I have not tested which actual transforms do and which do not work interoperably with the old Linux code.
The diagnostics performed at the kernel level (ie. checking of key lengths, IV lengths etc) are still poorly reported, but you will find a desription of the problem in /var/log/messages (or wherever else you log your kernel messages). The user level code should perform the same sanity checks as the kernel does and report them sensibly to the user (someone to volunteer for implementing this?).
The docs directory has not been updated or touched, so you need to read that and *then* the ipsecadm man page. If anything goes wrong, do not blame me, nor the authors of most of the code. This code is provided AS IS, with no warranties or other blah blah. In any case, I'd like to hear from those who had any success or trouble with this code, so that it can do what somebody might think is useful.
Praha, 12th March 1998
This archive was generated by hypermail 2.1.8 : Wed Aug 23 2006 - 12:59:28 EDT |
||||||||||
|
|||||||||||