ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/gvpe/doc/gvpe.5
(Generate patch)

Comparing gvpe/doc/gvpe.5 (file contents):
Revision 1.1 by pcg, Fri Jun 11 15:56:12 2004 UTC vs.
Revision 1.4 by pcg, Thu Jan 27 07:02:18 2005 UTC

127.\} 127.\}
128.rm #[ #] #H #V #F C 128.rm #[ #] #H #V #F C
129.\" ======================================================================== 129.\" ========================================================================
130.\" 130.\"
131.IX Title "GVPE 5" 131.IX Title "GVPE 5"
132.TH GVPE 5 "2004-06-11" "1.7" "GNU Virtual Private Ethernet" 132.TH GVPE 5 "2005-01-27" "1.7" "GNU Virtual Private Ethernet"
133.SH "NAME" 133.SH "NAME"
134GNU\-VPE \- Overview of the GNU Virtual Private Ethernet suite. 134GNU\-VPE \- Overview of the GNU Virtual Private Ethernet suite.
135.SH "DESCRIPTION" 135.SH "DESCRIPTION"
136.IX Header "DESCRIPTION" 136.IX Header "DESCRIPTION"
137\&\s-1GVPE\s0 is a suite designed to provide a virtual private network for multiple 137\&\s-1GVPE\s0 is a suite designed to provide a virtual private network for multiple
138nodes over an untrusted network. 138nodes over an untrusted network.
139.PP 139.IP "\(bu" 4
140.IX Xref "Virtual"
140\&\*(L"Virtual\*(R" means that no physical network is created (of course), but an 141Virtual means that no physical network is created (of course), but an
141ethernet is emulated by creating multiple tunnels between the member 142ethernet is emulated by creating multiple tunnels between the member
142nodes. 143nodes.
143.IX Xref "Virtual" 144.IP "\(bu" 4
144.PP 145.IX Xref "Private"
145\&\*(L"Private\*(R" means that non-participating nodes cannot decode (\*(L"sniff)\*(R" nor 146Private means that non-participating nodes cannot decode (\*(L"sniff)\*(R" nor
146inject (\*(L"spoof\*(R") packets. 147inject (\*(L"spoof\*(R") packets.
147.IX Xref "Private" 148.Sp
148.PP
149In the case of gvpe, even participating nodes cannot sniff packets send to 149In the case of gvpe, even participating nodes cannot sniff packets send to
150other nodes or spoof packets as if sent from other nodes. 150other nodes or spoof packets as if sent from other nodes.
151.PP 151.IP "\(bu" 4
152.IX Xref "Network"
152\&\*(L"Network\*(R" means that more than two parties can participate in the 153Network means that more than two parties can participate in the network,
153network, so for instance it's possible to connect multiple branches of a 154so for instance it's possible to connect multiple branches of a company
154company into a single network. Many so-called \*(L"vpn\*(R" solutions only create 155into a single network. Many so-called \*(L"vpn\*(R" solutions only create
155point-to-point tunnels. 156point-to-point tunnels.
156.IX Xref "Network"
157.Sh "\s-1DESIGN\s0 \s-1GOALS\s0" 157.Sh "\s-1DESIGN\s0 \s-1GOALS\s0"
158.IX Subsection "DESIGN GOALS" 158.IX Subsection "DESIGN GOALS"
159.IP "\s-1SIMPLE\s0 \s-1DESIGN\s0" 4 159.IP "\s-1SIMPLE\s0 \s-1DESIGN\s0" 4
160.IX Item "SIMPLE DESIGN" 160.IX Item "SIMPLE DESIGN"
161Cipher, \s-1HMAC\s0 algorithms and other key parameters must be selected 161Cipher, \s-1HMAC\s0 algorithms and other key parameters must be selected
189.SH "COMPILETIME CONFIGURATION" 189.SH "COMPILETIME CONFIGURATION"
190.IX Header "COMPILETIME CONFIGURATION" 190.IX Header "COMPILETIME CONFIGURATION"
191Please have a look at the \f(CW\*(C`gvpe.osdep(5)\*(C'\fR manpage for platform-specific 191Please have a look at the \f(CW\*(C`gvpe.osdep(5)\*(C'\fR manpage for platform-specific
192information. 192information.
193.PP 193.PP
194Here are a few recipes for compiling your gvpe: 194Here are a few recipes for compiling your gvpe, showing the extremes
195(fast, small, insecure \s-1OR\s0 slow, large, more secure), between you should
196choose:
195.Sh "\s-1AS\s0 \s-1LOW\s0 \s-1PACKET\s0 \s-1OVERHEAD\s0 \s-1AS\s0 \s-1POSSIBLE\s0" 197.Sh "\s-1AS\s0 \s-1LOW\s0 \s-1PACKET\s0 \s-1OVERHEAD\s0 \s-1AS\s0 \s-1POSSIBLE\s0"
196.IX Subsection "AS LOW PACKET OVERHEAD AS POSSIBLE" 198.IX Subsection "AS LOW PACKET OVERHEAD AS POSSIBLE"
197.Vb 1 199.Vb 1
198\& ./configure --enable-hmac-length=4 --enable-rand-length=0 200\& ./configure --enable-hmac-length=4 --enable-rand-length=0
199.Ve 201.Ve
200.PP 202.PP
201Minimize the header overhead of \s-1VPN\s0 packets (the above will result in only 203Minimize the header overhead of \s-1VPN\s0 packets (the above will result in
2024 bytes of overhead over the raw ethernet frame). 204only 4 bytes of overhead over the raw ethernet frame). This is a insecure
205configuration because a \s-1HMAC\s0 length of 4 makes collision attacks based on
206the birthday paradox easy, though.
203.Sh "\s-1MINIMIZE\s0 \s-1CPU\s0 \s-1TIME\s0 \s-1REQUIRED\s0" 207.Sh "\s-1MINIMIZE\s0 \s-1CPU\s0 \s-1TIME\s0 \s-1REQUIRED\s0"
204.IX Subsection "MINIMIZE CPU TIME REQUIRED" 208.IX Subsection "MINIMIZE CPU TIME REQUIRED"
205.Vb 1 209.Vb 1
206\& ./configure --enable-cipher=bf --enable-digest=md4 210\& ./configure --enable-cipher=bf --enable-digest=md4
207.Ve 211.Ve
208.PP 212.PP
209Use the fastest cipher and digest algorithms currently available in gvpe. 213Use the fastest cipher and digest algorithms currently available in
214gvpe. \s-1MD4\s0 has been broken and is quite insecure, though.
210.Sh "\s-1MAXIMIZE\s0 \s-1SECURITY\s0" 215.Sh "\s-1MAXIMIZE\s0 \s-1SECURITY\s0"
211.IX Subsection "MAXIMIZE SECURITY" 216.IX Subsection "MAXIMIZE SECURITY"
212.Vb 1 217.Vb 1
213\& ./configure --enable-hmac-length=16 --enable-rand-length=8 --enable-digest=sha1 218\& ./configure --enable-hmac-length=16 --enable-rand-length=8 --enable-digest=sha1
214.Ve 219.Ve
215.PP 220.PP
216This uses a 16 byte \s-1HMAC\s0 checksum to authenticate packets (I guess 8\-12 221This uses a 16 byte \s-1HMAC\s0 checksum to authenticate packets (I guess 8\-12
217would also be pretty secure ;) and will additionally prefix each packet 222would also be pretty secure ;) and will additionally prefix each packet
218with 8 bytes of random data. 223with 8 bytes of random data. In the long run, people should move to
224\&\s-1SHA\-224\s0 and beyond, but support in openssl is missing as of writing this
225document.
219.PP 226.PP
220In general, remember that \s-1AES\-128\s0 seems to be more secure and faster than 227In general, remember that \s-1AES\-128\s0 seems to be more secure and faster than
221\&\s-1AES\-192\s0 or \s-1AES\-256\s0, more randomness helps against sniffing and a longer 228\&\s-1AES\-192\s0 or \s-1AES\-256\s0, more randomness helps against sniffing and a longer
222\&\s-1HMAC\s0 helps against spoofing. \s-1MD4\s0 is a fast digest, \s-1SHA1\s0 or \s-1RIPEMD160\s0 are 229\&\s-1HMAC\s0 helps against spoofing. \s-1MD4\s0 is a fast digest, \s-1SHA1\s0 or \s-1RIPEMD160\s0 are
223better, and Blowfish is a fast cipher (and also quite secure). 230better, and Blowfish is a fast cipher (and also quite secure).

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines