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

Comparing gvpe/doc/gvpe.5.pod (file contents):
Revision 1.8 by pcg, Mon Sep 1 05:31:28 2008 UTC vs.
Revision 1.11 by root, Wed Jul 10 01:53:33 2013 UTC

12 12
13VPN is an acronym, it stands for: 13VPN is an acronym, it stands for:
14 14
15=over 4 15=over 4
16 16
17=item X<Virtual> 17=item Virtual
18 18
19Virtual means that no physical network is created (of course), but a 19Virtual means that no physical network is created (of course), but a
20network is I<emulated> by creating multiple tunnels between the member 20network is I<emulated> by creating multiple tunnels between the member
21nodes by encapsulating and sending data over another transport network. 21nodes by encapsulating and sending data over another transport network.
22 22
23Usually the emulated network is a normal IP or Ethernet, and the transport 23Usually the emulated network is a normal IP or Ethernet, and the transport
24network is the Internet. However, using a VPN system like GVPE to connect 24network is the Internet. However, using a VPN system like GVPE to connect
25nodes over other untrusted networks such as Wireless LAN is not uncommon. 25nodes over other untrusted networks such as Wireless LAN is not uncommon.
26 26
27=item X<Private> 27=item Private
28 28
29Private means that non-participating nodes cannot decode ("sniff)" nor 29Private means that non-participating nodes cannot decode ("sniff)" nor
30inject ("spoof") packets. This means that nodes can be connected over 30inject ("spoof") packets. This means that nodes can be connected over
31untrusted networks such as the public Internet without fear of being 31untrusted networks such as the public Internet without fear of being
32eavesdropped while at the same time being able to trust data sent by other 32eavesdropped while at the same time being able to trust data sent by other
34 34
35In the case of GVPE, even participating nodes cannot sniff packets 35In the case of GVPE, even participating nodes cannot sniff packets
36send to other nodes or spoof packets as if sent from other nodes, so 36send to other nodes or spoof packets as if sent from other nodes, so
37communications between any two nodes is private to those two nodes. 37communications between any two nodes is private to those two nodes.
38 38
39=item X<Network> 39=item Network
40 40
41Network means that more than two parties can participate in the network, 41Network means that more than two parties can participate in the network,
42so for instance it's possible to connect multiple branches of a company 42so for instance it's possible to connect multiple branches of a company
43into a single network. Many so-called "VPN" solutions only create 43into a single network. Many so-called "VPN" solutions only create
44point-to-point tunnels, which in turn can be used to build larger 44point-to-point tunnels, which in turn can be used to build larger
50 50
51=back 51=back
52 52
53=head2 GVPE DESIGN GOALS 53=head2 GVPE DESIGN GOALS
54 54
55=over 4 55=over 4
56 56
57=item SIMPLE DESIGN 57=item SIMPLE DESIGN
58 58
59Cipher, HMAC algorithms and other key parameters must be selected 59Cipher, HMAC algorithms and other key parameters must be selected
60at compile time - this makes it possible to only link in algorithms 60at compile time - this makes it possible to only link in algorithms
117 117
118 ./configure --enable-hmac-length=4 --enable-rand-length=0 118 ./configure --enable-hmac-length=4 --enable-rand-length=0
119 119
120Minimize the header overhead of VPN packets (the above will result in 120Minimize the header overhead of VPN packets (the above will result in
121only 4 bytes of overhead over the raw ethernet frame). This is a insecure 121only 4 bytes of overhead over the raw ethernet frame). This is a insecure
122configuration because a HMAC length of 4 makes collision attacks based on 122configuration because a HMAC length of 4 makes collision attacks almost
123the birthday paradox pretty easy. 123trivial.
124 124
125=head2 MINIMIZE CPU TIME REQUIRED 125=head2 MINIMIZE CPU TIME REQUIRED
126 126
127 ./configure --enable-cipher=bf --enable-digest=md4 127 ./configure --enable-cipher=bf --enable-digest=md4
128 128
130gvpe. MD4 has been broken and is quite insecure, though, so using another 130gvpe. MD4 has been broken and is quite insecure, though, so using another
131digest algorithm is recommended. 131digest algorithm is recommended.
132 132
133=head2 MAXIMIZE SECURITY 133=head2 MAXIMIZE SECURITY
134 134
135 ./configure --enable-hmac-length=16 --enable-rand-length=8 --enable-digest=sha1 135 ./configure --enable-hmac-length=16 --enable-rand-length=12 --enable-digest=ripemd610
136 136
137This uses a 16 byte HMAC checksum to authenticate packets (I guess 8-12 137This uses a 16 byte HMAC checksum to authenticate packets (I guess 8-12
138would also be pretty secure ;) and will additionally prefix each packet 138would also be pretty secure ;) and will additionally prefix each packet
139with 8 bytes of random data. In the long run, people should move to 139with 12 bytes of random data.
140SHA-256 and beyond).
141 140
142In general, remember that AES-128 seems to be as secure but faster than 141In general, remember that AES-128 seems to be as secure but faster than
143AES-192 or AES-256, more randomness helps against sniffing and a longer 142AES-192 or AES-256, more randomness helps against sniffing and a longer
144HMAC helps against spoofing. MD4 is a fast digest, SHA1, RIPEMD160, SHA256 143HMAC helps against spoofing. MD4 is a fast digest, SHA1, RIPEMD160, SHA256
145are consecutively better, and Blowfish is a fast cipher (and also quite 144are consecutively better, and Blowfish is a fast cipher (and also quite

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines