summaryrefslogtreecommitdiff
path: root/doc/src/glossary.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/glossary.html')
-rw-r--r--doc/src/glossary.html2257
1 files changed, 0 insertions, 2257 deletions
diff --git a/doc/src/glossary.html b/doc/src/glossary.html
deleted file mode 100644
index 38d0db7bb..000000000
--- a/doc/src/glossary.html
+++ /dev/null
@@ -1,2257 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html">
- <title>FreeS/WAN glossary</title>
- <meta name="keywords"
- content="Linux, IPsec, VPN, security, FreeSWAN, glossary, cryptography">
- <!--
-
- Written by Sandy Harris for the Linux FreeS/WAN project
- Freely distributable under the GNU General Public License
-
- More information at www.freeswan.org
- Feedback to users@lists.freeswan.org
-
- CVS information:
- RCS ID: $Id: glossary.html,v 1.1 2004/03/15 20:35:24 as Exp $
- Last changed: $Date: 2004/03/15 20:35:24 $
- Revision number: $Revision: 1.1 $
-
- CVS revision numbers do not correspond to FreeS/WAN release numbers.
- -->
-</head>
-
-<body>
-<h1><a name="ourgloss">Glossary for the Linux FreeS/WAN project</a></h1>
-
-<p>Entries are in alphabetical order. Some entries are only one line or one
-paragraph long. Others run to several paragraphs. I have tried to put the
-essential information in the first paragraph so you can skip the other
-paragraphs if that seems appropriate.</p>
-<hr>
-
-<h2><a name="jump">Jump to a letter in the glossary</a></h2>
-
-<center>
-<big><b><a href="#0">numeric</a> <a href="#A">A</a> <a href="#B">B</a> <a
-href="#C">C</a> <a href="#D">D</a> <a href="#E">E</a> <a href="#F">F</a> <a
-href="#G">G</a> <a href="#H">H</a> <a href="#I">I</a> <a href="#J">J</a> <a
-href="#K">K</a> <a href="#L">L</a> <a href="#M">M</a> <a href="#N">N</a> <a
-href="#O">O</a> <a href="#P">P</a> <a href="#Q">Q</a> <a href="#R">R</a> <a
-href="#S">S</a> <a href="#T">T</a> <a href="#U">U</a> <a href="#V">V</a> <a
-href="#W">W</a> <a href="#X">X</a> <a href="#Y">Y</a> <a
-href="#Z">Z</a></b></big></center>
-<hr>
-
-<h2><a name="gloss">Other glossaries</a></h2>
-
-<p>Other glossaries which overlap this one include:</p>
-<ul>
- <li>The VPN Consortium's glossary of <a
- href="http://www.vpnc.org/terms.html">VPN terms</a>.</li>
- <li>glossary portion of the <a
- href="http://www.rsa.com/rsalabs/faq/B.html">Cryptography FAQ</a></li>
- <li>an extensive crytographic glossary on <a
- href="http://www.ciphersbyritter.com/GLOSSARY.HTM">Terry Ritter's</a>
- page.</li>
- <li>The <a href="#NSA">NSA</a>'s <a
- href="http://www.sans.org/newlook/resources/glossary.htm">glossary of
- computer security</a> on the <a href="http://www.sans.org">SANS
- Institute</a> site.</li>
- <li>a small glossary for Internet Security at <a
- href="http://www5.zdnet.com/pcmag/pctech/content/special/glossaries/internetsecurity.html">
- PC magazine</a></li>
- <li>The <a
- href="http://www.visi.com/crypto/inet-crypto/glossary.html">glossary</a>
- from Richard Smith's book <a href="#Smith">Internet Cryptography</a></li>
-</ul>
-
-<p>Several Internet glossaries are available as RFCs:</p>
-<ul>
- <li><a href="http://www.rfc-editor.org/rfc/rfc1208.txt">Glossary of
- Networking Terms</a></li>
- <li><a href="http://www.rfc-editor.org/rfc/rfc1983.txt">Internet User's
- Glossary</a></li>
- <li><a href="http://www.rfc-editor.org/rfc/rfc2828.txt">Internet Security
- Glossary</a></li>
-</ul>
-
-<p>More general glossary or dictionary information:</p>
-<ul>
- <li>Free Online Dictionary of Computing (FOLDOC)
- <ul>
- <li><a href="http://www.nightflight.com/foldoc">North America</a></li>
- <li><a
- href="http://wombat.doc.ic.ac.uk/foldoc/index.html">Europe</a></li>
- <li><a href="http://www.nue.org/foldoc/index.html">Japan</a></li>
- </ul>
- <p>There are many more mirrors of this dictionary.</p>
- </li>
- <li>The Jargon File, the definitive resource for hacker slang and folklore
- <ul>
- <li><a href="http://www.netmeg.net/jargon">North America</a></li>
- <li><a href="http://info.wins.uva.nl/~mes/jargon/">Holland</a></li>
- <li><a href="http://www.tuxedo.org/~esr/jargon">home page</a></li>
- </ul>
- <p>There are also many mirrors of this. See the home page for a list.</p>
- </li>
- <li>A general <a
- href="http://www.trinity.edu/~rjensen/245glosf.htm#Navigate"> technology
- glossary</a></li>
- <li>An <a href="http://www.yourdictionary.com/">online dictionary resource
- page</a> with pointers to many dictionaries for many languages</li>
- <li>A <a href="http://www.onelook.com/">search engine</a> that accesses
- several hundred online dictionaries</li>
- <li>O'Reilly <a href="http://www.ora.com/reference/dictionary/">Dictionary
- of PC Hardware and Data Communications Terms</a></li>
- <li><a href="http://www.FreeSoft.org/CIE/index.htm">Connected</a> Internet
- encyclopedia</li>
- <li><a href="http://www.whatis.com/">whatis.com</a></li>
-</ul>
-<hr>
-
-<h2><a name="definitions">Definitions</a></h2>
-<dl>
- <dt><a name="0">0</a></dt>
- <dt><a name="3DES">3DES (Triple DES)</a></dt>
- <dd>Using three <a href="#DES">DES</a> encryptions on a single data
- block, with at least two different keys, to get higher security than is
- available from a single DES pass. The three-key version of 3DES is the
- default encryption algorithm for <a href="#FreeSWAN">Linux
- FreeS/WAN</a>.
- <p><a href="#IPSEC">IPsec</a> always does 3DES with three different
- keys, as required by RFC 2451. For an explanation of the two-key
- variant, see <a href="#2key">two key triple DES</a>. Both use an <a
- href="#EDE">EDE</a> encrypt-decrypt-encrpyt sequence of operations.</p>
- <p>Single <a href="#DES">DES</a> is <a
- href="politics.html#desnotsecure">insecure</a>.</p>
- <p>Double DES is ineffective. Using two 56-bit keys, one might expect
- an attacker to have to do 2<sup>112</sup> work to break it. In fact,
- only 2<sup>57</sup> work is required with a <a
- href="#meet">meet-in-the-middle attack</a>, though a large amount of
- memory is also required. Triple DES is vulnerable to a similar attack,
- but that just reduces the work factor from the 2<sup>168</sup> one
- might expect to 2<sup>112</sup>. That provides adequate protection
- against <a href="#brute">brute force</a> attacks, and no better attack
- is known.</p>
- <p>3DES can be somewhat slow compared to other ciphers. It requires
- three DES encryptions per block. DES was designed for hardware
- implementation and includes some operations which are difficult in
- software. However, the speed we get is quite acceptable for many uses.
- See our <a href="performance.html">performance</a> document for
- details.</p>
- </dd>
- <dt><a name="A">A</a></dt>
- <dt><a name="active">Active attack</a></dt>
- <dd>An attack in which the attacker does not merely eavesdrop (see <a
- href="#passive">passive attack</a>) but takes action to change, delete,
- reroute, add, forge or divert data. Perhaps the best-known active
- attack is <a href="#middle">man-in-the-middle</a>. In general, <a
- href="#authentication">authentication</a> is a useful defense against
- active attacks.</dd>
- <dt><a name="AES">AES</a></dt>
- <dd>The <b>A</b>dvanced <b>E</b>ncryption <b>S</b>tandard -- a new <a
- href="#block">block cipher</a> standard to replace <a
- href="politics.html#desnotsecure">DES</a> -- developed by <a
- href="#NIST">NIST</a>, the US National Institute of Standards and
- Technology. DES used 64-bit blocks and a 56-bit key. AES ciphers use a
- 128-bit block and 128, 192 or 256-bit keys. The larger block size helps
- resist <a href="#birthday">birthday attacks</a> while the large key
- size prevents <a href="#brute">brute force attacks</a>.
- <p>Fifteen proposals meeting NIST's basic criteria were submitted in
- 1998 and subjected to intense discussion and analysis, "round one"
- evaluation. In August 1999, NIST narrowed the field to five "round two"
- candidates:</p>
- <ul>
- <li><a href="http://www.research.ibm.com/security/mars.html">Mars</a>
- from IBM</li>
- <li><a href="http://www.rsa.com/rsalabs/aes/">RC6</a> from RSA</li>
- <li><a
- href="http://www.esat.kuleuven.ac.be/~rijmen/rijndael/">Rijndael</a>
- from two Belgian researchers</li>
- <li><a
- href="http://www.cl.cam.ac.uk/~rja14/serpent.html">Serpent</a>, a
- British-Norwegian-Israeli collaboration</li>
- <li><a href="http://www.counterpane.com/twofish.html">Twofish</a>
- from the consulting firm <a
- href="http://www.counterpane.com">Counterpane</a></li>
- </ul>
- <p>Three of the five finalists -- Rijndael, Serpent and Twofish -- have
- completely open licenses.</p>
- <p>In October 2000, NIST announced the winner -- Rijndael.</p>
- <p>For more information, see:</p>
- <ul>
- <li>NIST's <a
- href="http://csrc.nist.gov/encryption/aes/aes_home.htm">AES home
- page</a></li>
- <li>the Block Cipher Lounge <a
- href="http://www.ii.uib.no/~larsr/aes.html">AES page</a></li>
- <li>Brian Gladman's <a
- href="http://fp.gladman.plus.com/cryptography_technology/index.htm">code
- and benchmarks</a></li>
- <li>Helger Lipmaa's <a
- href="http://www.tcs.hut.fi/~helger/aes/">survey of
- implementations</a></li>
- </ul>
- <p>AES will be added to a future release of <a href="#FreeSWAN">Linux
- FreeS/WAN</a>. Likely we will add all three of the finalists with good
- licenses. User-written <a href="web.html#patch">AES patches</a> are
- already available.</p>
- <p>Adding AES may also require adding stronger hashes, <a
- href="#SHA-256">SHA-256, SHA-384 and SHA-512</a>.</p>
- </dd>
- <dt><a name="AH">AH</a></dt>
- <dd>The <a href="#IPSEC">IPsec</a> <b>A</b>uthentication <b>H</b>eader,
- added after the IP header. For details, see our <a
- href="ipsec.html#AH.ipsec">IPsec</a> document and/or RFC 2402.</dd>
- <dt><a name="alicebob">Alice and Bob</a></dt>
- <dd>A and B, the standard example users in writing on cryptography and
- coding theory. Carol and Dave join them for protocols which require
- more players.
- <p>Bruce Schneier extends these with many others such as Eve the
- Eavesdropper and Victor the Verifier. His extensions seem to be in the
- process of becoming standard as well. See page 23 of <a
- href="biblio.html#schneier">Applied Cryptography</a></p>
- <p>Alice and Bob have an amusing <a
- href="http://www.conceptlabs.co.uk/alicebob.html"> biography</a> on the
- web.</p>
- </dd>
- <dt>ARPA</dt>
- <dd>see <a href="#DARPA">DARPA</a></dd>
- <dt><a name="ASIO">ASIO</a></dt>
- <dd>Australian Security Intelligence Organisation.</dd>
- <dt>Asymmetric cryptography</dt>
- <dd>See <a href="#public">public key cryptography</a>.</dd>
- <dt><a name="authentication">Authentication</a></dt>
- <dd>Ensuring that a message originated from the expected sender and has
- not been altered on route. <a href="#IPSEC">IPsec</a> uses
- authentication in two places:
- <ul>
- <li>peer authentication, authenticating the players in <a
- href="#IKE">IKE</a>'s <a href="#DH">Diffie-Hellman</a> key
- exchanges to prevent <a href="#middle">man-in-the-middle
- attacks</a>. This can be done in a number of ways. The methods
- supported by FreeS/WAN are discussed in our <a
- href="adv_config.html#choose">advanced configuration</a>
- document.</li>
- <li>packet authentication, authenticating packets on an established
- <a href="#SA">SA</a>, either with a separate <a
- href="#AH">authentication header</a> or with the optional
- authentication in the <a href="#ESP">ESP</a> protocol. In either
- case, packet authentication uses a <a href="#HMAC">hashed message
- athentication code</a> technique.</li>
- </ul>
- <p>Outside IPsec, passwords are perhaps the most common authentication
- mechanism. Their function is essentially to authenticate the person's
- identity to the system. Passwords are generally only as secure as the
- network they travel over. If you send a cleartext password over a
- tapped phone line or over a network with a packet sniffer on it, the
- security provided by that password becomes zero. Sending an encrypted
- password is no better; the attacker merely records it and reuses it at
- his convenience. This is called a <a href="#replay">replay</a>
- attack.</p>
- <p>A common solution to this problem is a <a
- href="#challenge">challenge-response</a> system. This defeats simple
- eavesdropping and replay attacks. Of course an attacker might still try
- to break the cryptographic algorithm used, or the <a
- href="#random">random number</a> generator.</p>
- </dd>
- <dt><a name="auto">Automatic keying</a></dt>
- <dd>A mode in which keys are automatically generated at connection
- establisment and new keys automaically created periodically thereafter.
- Contrast with <a href="#manual">manual keying</a> in which a single
- stored key is used.
- <p>IPsec uses the <a href="#DH">Diffie-Hellman key exchange
- protocol</a> to create keys. An <a
- href="#authentication">authentication</a> mechansim is required for
- this. FreeS/WAN normally uses <a href="#RSA">RSA</a> for this. Other
- methods supported are discussed in our <a
- href="adv_config.html#choose">advanced configuration</a> document.</p>
- <p>Having an attacker break the authentication is emphatically not a
- good idea. An attacker that breaks authentication, and manages to
- subvert some other network entities (DNS, routers or gateways), can use
- a <a href="#middle">man-in-the middle attack</a> to break the security
- of your IPsec connections.</p>
- <p>However, having an attacker break the authentication in automatic
- keying is not quite as bad as losing the key in manual keying.</p>
- <ul>
- <li>An attacker who reads /etc/ipsec.conf and gets the keys for a
- manually keyed connection can, without further effort, read all
- messages encrypted with those keys, including any old messages he
- may have archived.</li>
- <li>Automatic keying has a property called <a href="#PFS">perfect
- forward secrecy</a>. An attacker who breaks the authentication gets
- none of the automatically generated keys and cannot immediately
- read any messages. He has to mount a successful <a
- href="#middle">man-in-the-middle attack</a> in real time before he
- can read anything. He cannot read old archived messages at all and
- will not be able to read any future messages not caught by
- man-in-the-middle tricks.</li>
- </ul>
- <p>That said, the secrets used for authentication, stored in <a
- href="manpage.d/ipsec.secrets.5.html">ipsec.secrets(5)</a>, should
- still be protected as tightly as cryptographic keys.</p>
- </dd>
- <dt><a name="B">B</a></dt>
- <dt><a href="http://www.nortelnetworks.com">Bay Networks</a></dt>
- <dd>A vendor of routers, hubs and related products, now a subsidiary of
- Nortel. Interoperation between their IPsec products and Linux FreeS/WAN
- was problematic at last report; see our <a
- href="interop.html#bay">interoperation</a> section.</dd>
- <dt><a name="benchmarks">benchmarks</a></dt>
- <dd>Our default block cipher, <a href="#3DES">triple DES</a>, is slower
- than many alternate ciphers that might be used. Speeds achieved,
- however, seem adequate for many purposes. For example, the assembler
- code from the <a href="#LIBDES">LIBDES</a> library we use encrypts 1.6
- megabytes per second on a Pentium 200, according to the test program
- supplied with the library.
- <p>For more detail, see our document on <a
- href="performance.html">FreeS/WAN performance</a>.</p>
- </dd>
- <dt><a name="BIND">BIND</a></dt>
- <dd><b>B</b>erkeley <b>I</b>nternet <b>N</b>ame <b>D</b>aemon, a widely
- used implementation of <a href="#DNS">DNS</a> (Domain Name Service).
- See our bibliography for a <a href="#DNS">useful reference</a>. See the
- <a href="http://www.isc.org/bind.html">BIND home page</a> for more
- information and the latest version.</dd>
- <dt><a name="birthday">Birthday attack</a></dt>
- <dd>A cryptographic attack based on the mathematics exemplified by the <a
- href="#paradox">birthday paradox</a>. This math turns up whenever the
- question of two cryptographic operations producing the same result
- becomes an issue:
- <ul>
- <li><a href="#collision">collisions</a> in <a href="#digest">message
- digest</a> functions.</li>
- <li>identical output blocks from a <a href="#block">block
- cipher</a></li>
- <li>repetition of a challenge in a <a
- href="#challenge">challenge-response</a> system</li>
- </ul>
- <p>Resisting such attacks is part of the motivation for:</p>
- <ul>
- <li>hash algorithms such as <a href="#SHA">SHA</a> and <a
- href="#RIPEMD">RIPEMD-160</a> giving a 160-bit result rather than
- the 128 bits of <a href="#MD4">MD4</a>, <a href="#MD5">MD5</a> and
- <a href="#RIPEMD">RIPEMD-128</a>.</li>
- <li><a href="#AES">AES</a> block ciphers using a 128-bit block
- instead of the 64-bit block of most current ciphers</li>
- <li><a href="#IPSEC">IPsec</a> using a 32-bit counter for packets
- sent on an <a href="#auto">automatically keyed</a> <a
- href="#SA">SA</a> and requiring that the connection always be
- rekeyed before the counter overflows.</li>
- </ul>
- </dd>
- <dt><a name="paradox">Birthday paradox</a></dt>
- <dd>Not really a paradox, just a rather counter-intuitive mathematical
- fact. In a group of 23 people, the chance of a least one pair having
- the same birthday is over 50%.
- <p>The second person has 1 chance in 365 (ignoring leap years) of
- matching the first. If they don't match, the third person's chances of
- matching one of them are 2/365. The 4th, 3/365, and so on. The total of
- these chances grows more quickly than one might guess.</p>
- </dd>
- <dt><a name="block">Block cipher</a></dt>
- <dd>A <a href="#symmetric">symmetric cipher</a> which operates on
- fixed-size blocks of plaintext, giving a block of ciphertext for each.
- Contrast with <a href="#stream"> stream cipher</a>. Block ciphers can
- be used in various <a href="#mode">modes</a> when multiple block are to
- be encrypted.
- <p><a href="#DES">DES</a> is among the the best known and widely used
- block ciphers, but is now obsolete. Its 56-bit key size makes it <a
- href="#desnotsecure">highly insecure</a> today. <a href="#3DES">Triple
- DES</a> is the default block cipher for <a href="#FreeSWAN">Linux
- FreeS/WAN</a>.</p>
- <p>The current generation of block ciphers -- such as <a
- href="#Blowfish">Blowfish</a>, <a href="#CAST128">CAST-128</a> and <a
- href="#IDEA">IDEA</a> -- all use 64-bit blocks and 128-bit keys. The
- next generation, <a href="#AES">AES</a>, uses 128-bit blocks and
- supports key sizes up to 256 bits.</p>
- <p>The <a href="http://www.ii.uib.no/~larsr/bc.html"> Block Cipher
- Lounge</a> web site has more information.</p>
- </dd>
- <dt><a name="Blowfish">Blowfish</a></dt>
- <dd>A <a href="#block">block cipher</a> using 64-bit blocks and keys of
- up to 448 bits, designed by <a href="#schneier">Bruce Schneier</a> and
- used in several products.
- <p>This is not required by the <a href="#IPSEC">IPsec</a> RFCs and not
- currently used in <a href="#FreeSWAN">Linux FreeS/WAN</a>.</p>
- </dd>
- <dt><a name="brute">Brute force attack (exhaustive search)</a></dt>
- <dd>Breaking a cipher by trying all possible keys. This is always
- possible in theory (except against a <a href="#OTP">one-time pad</a>),
- but it becomes practical only if the key size is inadequate. For an
- important example, see our document on the <a
- href="#desnotsecure">insecurity of DES</a> with its 56-bit key. For an
- analysis of key sizes required to resist plausible brute force attacks,
- see <a href="http://www.counterpane.com/keylength.html">this paper</a>.
- <p>Longer keys protect against brute force attacks. Each extra bit in
- the key doubles the number of possible keys and therefore doubles the
- work a brute force attack must do. A large enough key defeats
- <strong>any</strong> brute force attack.</p>
- <p>For example, the EFF's <a href="#EFF">DES Cracker</a> searches a
- 56-bit key space in an average of a few days. Let us assume an attacker
- that can find a 64-bit key (256 times harder) by brute force search in
- a second (a few hundred thousand times faster). For a 96-bit key, that
- attacker needs 2<sup>32</sup> seconds, about 135 years. Against a
- 128-bit key, he needs 2<sup>32</sup> times that, over 500,000,000,000
- years. Your data is then obviously secure against brute force attacks.
- Even if our estimate of the attacker's speed is off by a factor of a
- million, it still takes him over 500,000 years to crack a message.</p>
- <p>This is why</p>
- <ul>
- <li>single <a href="#DES">DES</a> is now considered <a
- href="#desnotsecure">dangerously insecure</a></li>
- <li>all of the current generation of <a href="#block">block
- ciphers</a> use a 128-bit or longer key</li>
- <li><a href="#AES">AES</a> ciphers support keysizes 128, 192 and 256
- bits</li>
- <li>any cipher we add to Linux FreeS/WAN will have <em>at least</em>
- a 128-bit key</li>
- </ul>
- <p><strong>Cautions:</strong><br>
- <em>Inadequate keylength always indicates a weak cipher</em> but it is
- important to note that <em>adequate keylength does not necessarily
- indicate a strong cipher</em>. There are many attacks other than brute
- force, and adequate keylength <em>only</em> guarantees resistance to
- brute force. Any cipher, whatever its key size, will be weak if design
- or implementation flaws allow other attacks.</p>
- <p>Also, <em>once you have adequate keylength</em> (somewhere around 90
- or 100 bits), <em>adding more key bits make no practical
- difference</em>, even against brute force. Consider our 128-bit example
- above that takes 500,000,000,000 years to break by brute force. We
- really don't care how many zeroes there are on the end of that, as long
- as the number remains ridiculously large. That is, we don't care
- exactly how large the key is as long as it is large enough.</p>
- <p>There may be reasons of convenience in the design of the cipher to
- support larger keys. For example <a href="#Blowfish">Blowfish</a>
- allows up to 448 bits and <a href="#RC4">RC4</a> up to 2048, but beyond
- 100-odd bits it makes no difference to practical security.</p>
- </dd>
- <dt>Bureau of Export Administration</dt>
- <dd>see <a href="#BXA">BXA</a></dd>
- <dt><a name="BXA">BXA</a></dt>
- <dd>The US Commerce Department's <b>B</b>ureau of E<b>x</b>port
- <b>A</b>dministration which administers the <a href="#EAR">EAR</a>
- Export Administration Regulations controling the export of, among other
- things, cryptography.</dd>
- <dt><a name="C">C</a></dt>
- <dt><a name="CA">CA</a></dt>
- <dd><b>C</b>ertification <b>A</b>uthority, an entity in a <a
- href="#PKI">public key infrastructure</a> that can certify keys by
- signing them. Usually CAs form a hierarchy. The top of this hierarchy
- is called the <a href="#rootCA">root CA</a>.
- <p>See <a href="#web">Web of Trust</a> for an alternate model.</p>
- </dd>
- <dt><a name="CAST128">CAST-128</a></dt>
- <dd>A <a href="#block">block cipher</a> using 64-bit blocks and 128-bit
- keys, described in RFC 2144 and used in products such as <a
- href="#Entrust">Entrust</a> and recent versions of <a
- href="#PGP">PGP</a>.
- <p>This is not required by the <a href="#IPSEC">IPsec</a> RFCs and not
- currently used in <a href="#FreeSWAN">Linux FreeS/WAN</a>.</p>
- </dd>
- <dt>CAST-256</dt>
- <dd><a href="#Entrust">Entrust</a>'s candidate cipher for the <a
- href="#AES">AES standard</a>, largely based on the <a
- href="#CAST128">CAST-128</a> design.</dd>
- <dt><a name="CBC">CBC mode</a></dt>
- <dd><b>C</b>ipher <b>B</b>lock <b>C</b>haining <a href="#mode">mode</a>,
- a method of using a <a href="#block">block cipher</a> in which for each
- block except the first, the result of the previous encryption is XORed
- into the new block before it is encrypted. CBC is the mode used in <a
- href="#IPSEC">IPsec</a>.
- <p>An <a href="#IV">initialisation vector</a> (IV) must be provided. It
- is XORed into the first block before encryption. The IV need not be
- secret but should be different for each message and unpredictable.</p>
- </dd>
- <dt><a name="CIDR">CIDR</a></dt>
- <dd><b>C</b>lassless <b>I</b>nter-<b>D</b>omain <b>R</b>outing,
- an addressing scheme used to describe networks not
- restricted to the old Class A, B, and C sizes.
- A CIDR block is written
- <VAR>address</VAR>/<VAR>mask</VAR>, where <VAR>address</VAR> is
- a 32-bit Internet address.
- The first <VAR>mask</VAR> bits of <VAR>address</VAR>
- are part of the gateway address, while the remaining bits designate
- other host addresses.
- For example, the CIDR block 192.0.2.96/27 describes a network with
- gateway
- 192.0.2.96, hosts 192.0.2.96 through 192.0.2.126 and broadcast
- 192.0.2.127.
- <p>FreeS/WAN policy group files accept CIDR blocks of the format
- <VAR>address</VAR>/[<VAR>mask</VAR>], where <VAR>address</VAR> may
- take the form <VAR>name.domain.tld</VAR>. An absent <VAR>mask</VAR>
- is assumed to be /32.
- </p>
- </dd>
-
- <dt>Certification Authority</dt>
- <dd>see <a href="#CA">CA</a></dd>
- <dt><a name="challenge">Challenge-response authentication</a></dt>
- <dd>An <a href="#authentication">authentication</a> system in which one
- player generates a <a href="#random">random number</a>, encrypts it and
- sends the result as a challenge. The other player decrypts and sends
- back the result. If the result is correct, that proves to the first
- player that the second player knew the appropriate secret, required for
- the decryption. Variations on this technique exist using <a
- href="#public">public key</a> or <a href="#symmetric">symmetric</a>
- cryptography. Some provide two-way authentication, assuring each player
- of the other's identity.
- <p>This is more secure than passwords against two simple attacks:</p>
- <ul>
- <li>If cleartext passwords are sent across the wire (e.g. for
- telnet), an eavesdropper can grab them. The attacker may even be
- able to break into other systems if the user has chosen the same
- password for them.</li>
- <li>If an encrypted password is sent, an attacker can record the
- encrypted form and use it later. This is called a replay
- attack.</li>
- </ul>
- <p>A challenge-response system never sends a password, either cleartext
- or encrypted. An attacker cannot record the response to one challenge
- and use it as a response to a later challenge. The random number is
- different each time.</p>
- <p>Of course an attacker might still try to break the cryptographic
- algorithm used, or the <a href="#random">random number</a>
- generator.</p>
- </dd>
- <dt><a name="mode">Cipher Modes</a></dt>
- <dd>Different ways of using a block cipher when encrypting multiple
- blocks.
- <p>Four standard modes were defined for <a href="#DES">DES</a> in <a
- href="#FIPS">FIPS</a> 81. They can actually be applied with any block
- cipher.</p>
-
- <table>
- <tbody>
- <tr>
- <td></td>
- <td><a href="#ECB">ECB</a></td>
- <td>Electronic CodeBook</td>
- <td>encrypt each block independently</td>
- </tr>
- <tr>
- <td></td>
- <td><a href="#CBC">CBC</a></td>
- <td>Cipher Block Chaining<br>
- </td>
- <td>XOR previous block ciphertext into new block plaintext before
- encrypting new block</td>
- </tr>
- <tr>
- <td></td>
- <td>CFB</td>
- <td>Cipher FeedBack</td>
- <td></td>
- </tr>
- <tr>
- <td></td>
- <td>OFB</td>
- <td>Output FeedBack</td>
- <td></td>
- </tr>
- </tbody>
- </table>
- <p><a href="#IPSEC">IPsec</a> uses <a href="#CBC">CBC</a> mode since
- this is only marginally slower than <a href="#ECB">ECB</a> and is more
- secure. In ECB mode the same plaintext always encrypts to the same
- ciphertext, unless the key is changed. In CBC mode, this does not
- occur.</p>
- <p>Various other modes are also possible, but none of them are used in
- IPsec.</p>
- </dd>
- <dt><a name="ciphertext">Ciphertext</a></dt>
- <dd>The encrypted output of a cipher, as opposed to the unencrypted <a
- href="#plaintext">plaintext</a> input.</dd>
- <dt><a href="http://www.cisco.com">Cisco</a></dt>
- <dd>A vendor of routers, hubs and related products. Their IPsec products
- interoperate with Linux FreeS/WAN; see our <a
- href="interop.html#Cisco">interop</a> section.</dd>
- <dt><a name="client">Client</a></dt>
- <dd>This term has at least two distinct uses in discussing IPsec:
- <ul>
- <li>The <strong>clients of an IPsec gateway</strong> are the machines
- it protects, typically on one or more subnets behind the gateway.
- In this usage, all the machines on an office network are clients of
- that office's IPsec gateway. Laptop or home machines connecting to
- the office, however, are <em>not</em> clients of that gateway. They
- are remote gateways, running the other end of an IPsec connection.
- Each of them is also its own client.</li>
- <li><strong>IPsec client software</strong> is used to describe
- software which runs on various standalone machines to let them
- connect to IPsec networks. In this usage, a laptop or home machine
- connecting to the office is a client, and the office gateway is the
- server.</li>
- </ul>
- <p>We generally use the term in the first sense. Vendors of Windows
- IPsec solutions often use it in the second. See this <a
- href="interop.html#client.server">discussion</a>.</p>
- </dd>
- <dt><a name="cc">Common Criteria</a></dt>
- <dd>A set of international security classifications which are replacing
- the old US <a href="#rainbow">Rainbow Book</a> standards and similar
- standards in other countries.
- <p>Web references include this <a href="http://csrc.nist.gov/cc">US
- government site</a> and this <a
- href="http://www.commoncriteria.org">global home page</a>.</p>
- </dd>
- <dt>Conventional cryptography</dt>
- <dd>See <a href="#symmetric">symmetric cryptography</a></dd>
- <dt><a name="collision">Collision resistance</a></dt>
- <dd>The property of a <a href="#digest">message digest</a> algorithm
- which makes it hard for an attacker to find or construct two inputs
- which hash to the same output.</dd>
- <dt>Copyleft</dt>
- <dd>see GNU <a href="#GPL">General Public License</a></dd>
- <dt><a name="CSE">CSE</a></dt>
- <dd><a href="http://www.cse-cst.gc.ca/">Communications Security
- Establishment</a>, the Canadian organisation for <a
- href="#SIGINT">signals intelligence</a>.</dd>
- <dt><a name="D">D</a></dt>
- <dt><a name="DARPA">DARPA (sometimes just ARPA)</a></dt>
- <dd>The US government's <b>D</b>efense <b>A</b>dvanced <b>R</b>esearch
- <b>P</b>rojects <b>A</b>gency. Projects they have funded over the years
- have included the Arpanet which evolved into the Internet, the TCP/IP
- protocol suite (as a replacement for the original Arpanet suite), the
- Berkeley 4.x BSD Unix projects, and <a href="#SDNS">Secure DNS</a>.
- <p>For current information, see their <a
- href="http://www.darpa.mil/ito">web site</a>.</p>
- </dd>
- <dt><a name="DOS">Denial of service (DoS) attack</a></dt>
- <dd>An attack that aims at denying some service to legitimate users of a
- system, rather than providing a service to the attacker.
- <ul>
- <li>One variant is a flooding attack, overwhelming the system with
- too many packets, to much email, or whatever.</li>
- <li>A closely related variant is a resource exhaustion attack. For
- example, consider a "TCP SYN flood" attack. Setting up a TCP
- connection involves a three-packet exchange:
- <ul>
- <li>Initiator: Connection please (SYN)</li>
- <li>Responder: OK (ACK)</li>
- <li>Initiator: OK here too</li>
- </ul>
- <p>If the attacker puts bogus source information in the first
- packet, such that the second is never delivered, the responder may
- wait a long time for the third to come back. If responder has
- already allocated memory for the connection data structures, and if
- many of these bogus packets arrive, the responder may run out of
- memory.</p>
- </li>
- <li>Another variant is to feed the system undigestible data, hoping
- to make it sick. For example, IP packets are limited in size to 64K
- bytes and a fragment carries information on where it starts within
- that 64K and how long it is. The "ping of death" delivers fragments
- that say, for example, that they start at 60K and are 20K long.
- Attempting to re-assemble these without checking for overflow can
- be fatal.</li>
- </ul>
- <p>The two example attacks discussed were both quite effective when
- first discovered, capable of crashing or disabling many operating
- systems. They were also well-publicised, and today far fewer systems
- are vulnerable to them.</p>
- </dd>
- <dt><a name="DES">DES</a></dt>
- <dd>The <b>D</b>ata <b>E</b>ncryption <b>S</b>tandard, a <a
- href="#block">block cipher</a> with 64-bit blocks and a 56-bit key.
- Probably the most widely used <a href="#symmetric">symmetric cipher</a>
- ever devised. DES has been a US government standard for their own use
- (only for unclassified data), and for some regulated industries such as
- banking, since the late 70's. It is now being replaced by <a
- href="#AES">AES</a>.
- <p><a href="politics.html#desnotsecure">DES is seriously insecure
- against current attacks.</a></p>
- <p><a href="#FreeSWAN">Linux FreeS/WAN</a> does not include DES, even
- though the RFCs specify it. <b>We strongly recommend that single DES
- not be used.</b></p>
- <p>See also <a href="#3DES">3DES</a> and <a href="#DESX">DESX</a>,
- stronger ciphers based on DES.</p>
- </dd>
- <dt><a name="DESX">DESX</a></dt>
- <dd>An improved <a href="#DES">DES</a> suggested by Ron Rivest of RSA
- Data Security. It XORs extra key material into the text before and
- after applying the DES cipher.
- <p>This is not required by the <a href="#IPSEC">IPsec</a> RFCs and not
- currently used in <a href="#FreeSWAN">Linux FreeS/WAN</a>. DESX would
- be the easiest additional transform to add; there would be very little
- code to write. It would be much faster than 3DES and almost certainly
- more secure than DES. However, since it is not in the RFCs other IPsec
- implementations cannot be expected to have it.</p>
- </dd>
- <dt>DH</dt>
- <dd>see <a href="#DH">Diffie-Hellman</a></dd>
- <dt><a name="DHCP">DHCP</a></dt>
- <dd><strong>D</strong>ynamic <strong>H</strong>ost
- <strong>C</strong>onfiguration <strong>P</strong>rotocol, a method of
- assigning <a href="#dynamic">dynamic IP addresses</a>, and providing
- additional information such as addresses of DNS servers and of
- gateways. See this <a href="http://www.dhcp.org">DHCP resource
- page.</a></dd>
- <dt><a name="DH">Diffie-Hellman (DH) key exchange protocol</a></dt>
- <dd>A protocol that allows two parties without any initial shared secret
- to create one in a manner immune to eavesdropping. Once they have done
- this, they can communicate privately by using that shared secret as a
- key for a block cipher or as the basis for key exchange.
- <p>The protocol is secure against all <a href="#passive">passive
- attacks</a>, but it is not at all resistant to active <a
- href="#middle">man-in-the-middle attacks</a>. If a third party can
- impersonate Bob to Alice and vice versa, then no useful secret can be
- created. Authentication of the participants is a prerequisite for safe
- Diffie-Hellman key exchange. IPsec can use any of several <a
- href="#authentication">authentication</a> mechanisims. Those supported
- by FreeS/WAN are discussed in our <a
- href="config.html#choose">configuration</a> section.</p>
- <p>The Diffie-Hellman key exchange is based on the <a
- href="#dlog">discrete logarithm</a> problem and is secure unless
- someone finds an efficient solution to that problem.</p>
- <p>Given a prime <var>p</var> and generator <var>g</var> (explained
- under <a href="#dlog">discrete log</a> below), Alice:</p>
- <ul>
- <li>generates a random number <var>a</var></li>
- <li>calculates <var>A = g^a modulo p</var></li>
- <li>sends <var>A</var> to Bob</li>
- </ul>
- <p>Meanwhile Bob:</p>
- <ul>
- <li>generates a random number <var>b</var></li>
- <li>calculates <var>B = g^b modulo p</var></li>
- <li>sends <var>B</var> to Alice</li>
- </ul>
- <p>Now Alice and Bob can both calculate the shared secret <var>s =
- g^(ab)</var>. Alice knows <var>a</var> and <var>B</var>, so she
- calculates <var>s = B^a</var>. Bob knows <var>A</var> and <var>b</var>
- so he calculates <var>s = A^b</var>.</p>
- <p>An eavesdropper will know <var>p</var> and <var>g</var> since these
- are made public, and can intercept <var>A</var> and <var>B</var> but,
- short of solving the <a href="#dlog">discrete log</a> problem, these do
- not let him or her discover the secret <var>s</var>.</p>
- </dd>
- <dt><a name="signature">Digital signature</a></dt>
- <dd>Sender:
- <ul>
- <li>calculates a <a href="#digest">message digest</a> of a
- document</li>
- <li>encrypts the digest with his or her private key, using some <a
- href="#public">public key cryptosystem</a>.</li>
- <li>attaches the encrypted digest to the document as a signature</li>
- </ul>
- <p>Receiver:</p>
- <ul>
- <li>calculates a digest of the document (not including the
- signature)</li>
- <li>decrypts the signature with the signer's public key</li>
- <li>verifies that the two results are identical</li>
- </ul>
- <p>If the public-key system is secure and the verification succeeds,
- then the receiver knows</p>
- <ul>
- <li>that the document was not altered between signing and
- verification</li>
- <li>that the signer had access to the private key</li>
- </ul>
- <p>Such an encrypted message digest can be treated as a signature since
- it cannot be created without <em>both</em> the document <em>and</em>
- the private key which only the sender should possess. The <a
- href="web.html#legal">legal issues</a> are complex, but several
- countries are moving in the direction of legal recognition for digital
- signatures.</p>
- </dd>
- <dt><a name="dlog">discrete logarithm problem</a></dt>
- <dd>The problem of finding logarithms in a finite field. Given a field
- defintion (such definitions always include some operation analogous to
- multiplication) and two numbers, a base and a target, find the power
- which the base must be raised to in order to yield the target.
- <p>The discrete log problem is the basis of several cryptographic
- systems, including the <a href="#DH">Diffie-Hellman</a> key exchange
- used in the <a href="#IKE">IKE</a> protocol. The useful property is
- that exponentiation is relatively easy but the inverse operation,
- finding the logarithm, is hard. The cryptosystems are designed so that
- the user does only easy operations (exponentiation in the field) but an
- attacker must solve the hard problem (discrete log) to crack the
- system.</p>
- <p>There are several variants of the problem for different types of
- field. The IKE/Oakley key determination protocol uses two variants,
- either over a field modulo a prime or over a field defined by an
- elliptic curve. We give an example modulo a prime below. For the
- elliptic curve version, consult an advanced text such as <a
- href="biblio.html#handbook">Handbook of Applied Cryptography</a>.</p>
- <p>Given a prime <var>p</var>, a generator <var>g</var> for the field
- modulo that prime, and a number <var>x</var> in the field, the problem
- is to find <var>y</var> such that <var>g^y = x</var>.</p>
- <p>For example, let p = 13. The field is then the integers from 0 to
- 12. Any integer equals one of these modulo 13. That is, the remainder
- when any integer is divided by 13 must be one of these.</p>
- <p>2 is a generator for this field. That is, the powers of two modulo
- 13 run through all the non-zero numbers in the field. Modulo 13 we
- have:</p>
- <pre> y x
- 2^0 == 1
- 2^1 == 2
- 2^2 == 4
- 2^3 == 8
- 2^4 == 3 that is, the remainder from 16/13 is 3
- 2^5 == 6 the remainder from 32/13 is 6
- 2^6 == 12 and so on
- 2^7 == 11
- 2^8 == 9
- 2^9 == 5
- 2^10 == 10
- 2^11 == 7
- 2^12 == 1</pre>
- <p>Exponentiation in such a field is not difficult. Given, say,
- <nobr><var>y = 11</var>,</nobr>calculating <nobr><var>x =
- 7</var></nobr>is straightforward. One method is just to calculate
- <nobr><var>2^11 = 2048</var>,</nobr>then <nobr><var>2048 mod 13 ==
- 7</var>.</nobr>When the field is modulo a large prime (say a few 100
- digits) you need a silghtly cleverer method and even that is moderately
- expensive in computer time, but the calculation is still not
- problematic in any basic way.</p>
- <p>The discrete log problem is the reverse. In our example, given
- <nobr><var>x = 7</var>,</nobr>find the logarithm <nobr><var>y =
- 11</var>.</nobr>When the field is modulo a large prime (or is based on
- a suitable elliptic curve), this is indeed problematic. No solution
- method that is not catastrophically expensive is known. Quite a few
- mathematicians have tackled this problem. No efficient method has been
- found and mathematicians do not expect that one will be. It seems
- likely no efficient solution to either of the main variants the
- discrete log problem exists.</p>
- <p>Note, however, that no-one has proven such methods do not exist. If
- a solution to either variant were found, the security of any crypto
- system using that variant would be destroyed. This is one reason <a
- href="#IKE">IKE</a> supports two variants. If one is broken, we can
- switch to the other.</p>
- </dd>
- <dt><a name="discretionary">discretionary access control</a></dt>
- <dd>access control mechanisms controlled by the user, for example Unix
- rwx file permissions. These contrast with <a
- href="#mandatory">mandatory access controls</a>.</dd>
- <dt><a name="DNS">DNS</a></dt>
- <dd><b>D</b>omain <b>N</b>ame <b>S</b>ervice, a distributed database
- through which names are associated with numeric addresses and other
- information in the Internet Protocol Suite. See also the <a
- href="background.html#dns.background">DNS background</a> section of our
- documentation.</dd>
- <dt>DOS attack</dt>
- <dd>see <a href="#DOS">Denial Of Service</a> attack</dd>
- <dt><a name="dynamic">dynamic IP address</a></dt>
- <dd>an IP address which is automatically assigned, either by <a
- href="#DHCP">DHCP</a> or by some protocol such as <a
- href="#PPP">PPP</a> or <a href="#PPPoE">PPPoE</a> which the machine
- uses to connect to the Internet. This is the opposite of a <a
- href="#static">static IP address</a>, pre-set on the machine
- itself.</dd>
- <dt><a name="E">E</a></dt>
- <dt><a name="EAR">EAR</a></dt>
- <dd>The US government's <b>E</b>xport <b>A</b>dministration
- <b>R</b>egulations, administered by the <a href="#BXA">Bureau of Export
- Administration</a>. These have replaced the earlier <a
- href="#ITAR">ITAR</a> regulations as the controls on export of
- cryptography.</dd>
- <dt><a name="ECB">ECB mode</a></dt>
- <dd><b>E</b>lectronic <b>C</b>ode<b>B</b>ook mode, the simplest way to
- use a block cipher. See <a href="#mode">Cipher Modes</a>.</dd>
- <dt><a name="EDE">EDE</a></dt>
- <dd>The sequence of operations normally used in either the three-key
- variant of <a href="#3DES">triple DES</a> used in <a
- href="#IPSEC">IPsec</a> or the <a href="#2key">two-key</a> variant used
- in some other systems.
- <p>The sequence is:</p>
- <ul>
- <li><b>E</b>ncrypt with key1</li>
- <li><b>D</b>ecrypt with key2</li>
- <li><b>E</b>ncrypt with key3</li>
- </ul>
- <p>For the two-key version, key1=key3.</p>
- <p>The "advantage" of this EDE order of operations is that it makes it
- simple to interoperate with older devices offering only single DES. Set
- key1=key2=key3 and you have the worst of both worlds, the overhead of
- triple DES with the "security" of single DES. Since both the <a
- href="politics.html#desnotsecure">security of single DES</a> and the
- overheads of triple DES are seriously inferior to many other ciphers,
- this is a spectacularly dubious "advantage".</p>
- </dd>
- <dt><a name="Entrust">Entrust</a></dt>
- <dd>A Canadian company offerring enterprise <a href="#PKI">PKI</a>
- products using <a href="#CAST128">CAST-128</a> symmetric crypto, <a
- href="#RSA">RSA</a> public key and <a href="#X509">X.509</a>
- directories. <a href="http://www.entrust.com">Web site</a></dd>
- <dt><a name="EFF">EFF</a></dt>
- <dd><a href="http://www.eff.org">Electronic Frontier Foundation</a>, an
- advocacy group for civil rights in cyberspace.</dd>
- <dt><a name="encryption">Encryption</a></dt>
- <dd>Techniques for converting a readable message (<a
- href="#plaintext">plaintext</a>) into apparently random material (<a
- href="#ciphertext">ciphertext</a>) which cannot be read if intercepted.
- A key is required to read the message.
- <p>Major variants include <a href="#symmetric">symmetric</a> encryption
- in which sender and receiver use the same secret key and <a
- href="#public">public key</a> methods in which the sender uses one of a
- matched pair of keys and the receiver uses the other. Many current
- systems, including <a href="#IPSEC">IPsec</a>, are <a
- href="#hybrid">hybrids</a> combining the two techniques.</p>
- </dd>
- <dt><a name="ESP">ESP</a></dt>
- <dd><b>E</b>ncapsulated <b>S</b>ecurity <b>P</b>ayload, the <a
- href="#IPSEC">IPsec</a> protocol which provides <a
- href="#encryption">encryption</a>. It can also provide <a
- href="#authentication">authentication</a> service and may be used with
- null encryption (which we do not recommend). For details see our <a
- href="ipsec.html#ESP.ipsec">IPsec</a> document and/or RFC 2406.</dd>
- <dt><a name="#extruded">Extruded subnet</a></dt>
- <dd>A situation in which something IP sees as one network is actually in
- two or more places.
- <p>For example, the Internet may route all traffic for a particular
- company to that firm's corporate gateway. It then becomes the company's
- problem to get packets to various machines on their <a
- href="#subnet">subnets</a> in various departments. They may decide to
- treat a branch office like a subnet, giving it IP addresses "on" their
- corporate net. This becomes an extruded subnet.</p>
- <p>Packets bound for it are delivered to the corporate gateway, since
- as far as the outside world is concerned, that subnet is part of the
- corporate network. However, instead of going onto the corporate LAN (as
- they would for, say, the accounting department) they are then
- encapsulated and sent back onto the Internet for delivery to the branch
- office.</p>
- <p>For information on doing this with Linux FreeS/WAN, look in our <a
- href="adv_config.html#extruded.config">advanced configuration</a>
- section.</p>
- </dd>
- <dt>Exhaustive search</dt>
- <dd>See <a href="#brute">brute force attack</a>.</dd>
- <dt><a name="F">F</a></dt>
- <dt><a name="FIPS">FIPS</a></dt>
- <dd><b>F</b>ederal <b>I</b>nformation <b>P</b>rocessing <b>S</b>tandard,
- the US government's standards for products it buys. These are issued by
- <a href="#NIST">NIST</a>. Among other things, <a href="#DES">DES</a>
- and <a href="#SHA">SHA</a> are defined in FIPS documents. NIST have a
- <a href="http://www.itl.nist.gov/div897/pubs">FIPS home page</a>.</dd>
- <dt><a name="FSF">Free Software Foundation (FSF)</a></dt>
- <dd>An organisation to promote free software, free in the sense of these
- quotes from their web pages</dd>
- <dd>
- <blockquote>
- "Free software" is a matter of liberty, not price. To understand the
- concept, you should think of "free speech", not "free beer."
- <p>"Free software" refers to the users' freedom to run, copy,
- distribute, study, change and improve the software.</p>
- </blockquote>
- <p>See also <a href="#GNU">GNU</a>, <a href="#GPL">GNU General Public
- License</a>, and <a href="http://www.fsf.org">the FSF site</a>.</p>
- </dd>
- <dt>FreeS/WAN</dt>
- <dd>see <a href="#FreeSWAN">Linux FreeS/WAN</a></dd>
- <dt><a name="fullnet">Fullnet</A></dt>
- <dd>The CIDR block containing all IPs of its IP version.
- The <A HREF="#IPv4">IPv4</A> fullnet is written 0.0.0.0/0.
- Also known as "all" and "default",
- fullnet may be used in a routing table
- to specify a default route,
- and in a FreeS/WAN
- <A HREF="policygroups.html#policygroups">policy group</A> file to
- specify a default IPsec policy.</dd>
- <dt>FSF</dt>
- <dd>see <a href="#FSF">Free software Foundation</a></dd>
- <dt><a name="G">G</a></dt>
- <dt><a name="GCHQ">GCHQ</a></dt>
- <dd><a href="http://www.gchq.gov.uk">Government Communications
- Headquarters</a>, the British organisation for <a
- href="#SIGINT">signals intelligence</a>.</dd>
- <dt>generator of a prime field</dt>
- <dd>see <a href="#dlog">discrete logarithm problem</a></dd>
- <dt><a name="GILC">GILC</a></dt>
- <dd><a href="http://www.gilc.org">Global Internet Liberty Campaign</a>,
- an international organisation advocating, among other things, free
- availability of cryptography. They have a <a
- href="http://www.gilc.org/crypto/wassenaar">campaign</a> to remove
- cryptographic software from the <a href="#Wassenaar.gloss">Wassenaar
- Arrangement</a>.</dd>
- <dt>Global Internet Liberty Campaign</dt>
- <dd>see <a href="#GILC">GILC</a>.</dd>
- <dt><a name="GTR">Global Trust Register</a></dt>
- <dd>An attempt to create something like a <a href="#rootCA">root CA</a>
- for <a href="#PGP">PGP</a> by publishing both <a
- href="biblio.html#GTR">as a book</a> and <a
- href="http://www.cl.cam.ac.uk/Research/Security/Trust-Register"> on the
- web</a> the fingerprints of a set of verified keys for well-known users
- and organisations.</dd>
- <dt><a name="GMP">GMP</a></dt>
- <dd>The <b>G</b>NU <b>M</b>ulti-<b>P</b>recision library code, used in <a
- href="#FreeSWAN">Linux FreeS/WAN</a> by <a href="#Pluto">Pluto</a> for
- <a href="#public">public key</a> calculations. See the <a
- href="http://www.swox.com/gmp">GMP home page</a>.</dd>
- <dt><a name="GNU">GNU</a></dt>
- <dd><b>G</b>NU's <b>N</b>ot <b>U</b>nix, the <a href="#FSF">Free Software
- Foundation's</a> project aimed at creating a free system with at least
- the capabilities of Unix. <a href="#Linux">Linux</a> uses GNU utilities
- extensively.</dd>
- <dt><a name="#GOST">GOST</a></dt>
- <dd>a Soviet government standard <a href="#block">block cipher</a>. <a
- href="biblio.html#schneier">Applied Cryptography</a> has details.</dd>
- <dt>GPG</dt>
- <dd>see <a href="#GPG">GNU Privacy Guard</a></dd>
- <dt><a name="GPL">GNU General Public License</a>(GPL, copyleft)</dt>
- <dd>The license developed by the <a href="#FSF">Free Software
- Foundation</a> under which <a href="#Linux">Linux</a>, <a
- href="#FreeSWAN">Linux FreeS/WAN</a> and many other pieces of software
- are distributed. The license allows anyone to redistribute and modify
- the code, but forbids anyone from distributing executables without
- providing access to source code. For more details see the file <a
- href="../COPYING">COPYING</a> included with GPLed source distributions,
- including ours, or <a href="http://www.fsf.org/copyleft/gpl.html"> the
- GNU site's GPL page</a>.</dd>
- <dt><a name="GPG">GNU Privacy Guard</a></dt>
- <dd>An open source implementation of Open <a href="#PGP">PGP</a> as
- defined in RFC 2440. See their <a href="http://www.gnupg.org">web
- site</a></dd>
- <dt>GPL</dt>
- <dd>see <a href="#GPL">GNU General Public License</a>.</dd>
- <dt><a name="H">H</a></dt>
- <dt><a name="hash">Hash</a></dt>
- <dd>see <a href="#digest">message digest</a></dd>
- <dt><a name="HMAC">Hashed Message Authentication Code (HMAC)</a></dt>
- <dd>using keyed <a href="#digest">message digest</a> functions to
- authenticate a message. This differs from other uses of these functions:
- <ul>
- <li>In normal usage, the hash function's internal variable are
- initialised in some standard way. Anyone can reproduce the hash to
- check that the message has not been altered.</li>
- <li>For HMAC usage, you initialise the internal variables from the
- key. Only someone with the key can reproduce the hash. A successful
- check of the hash indicates not only that the message is unchanged
- but also that the creator knew the key.</li>
- </ul>
- <p>The exact techniques used in <a href="#IPSEC">IPsec</a> are defined
- in RFC 2104. They are referred to as HMAC-MD5-96 and HMAC-SHA-96
- because they output only 96 bits of the hash. This makes some attacks
- on the hash functions harder.</p>
- </dd>
- <dt>HMAC</dt>
- <dd>see <a href="#HMAC">Hashed Message Authentication Code</a></dd>
- <dt>HMAC-MD5-96</dt>
- <dd>see <a href="#HMAC">Hashed Message Authentication Code</a></dd>
- <dt>HMAC-SHA-96</dt>
- <dd>see <a href="#HMAC">Hashed Message Authentication Code</a></dd>
- <dt><a name="hybrid">Hybrid cryptosystem</a></dt>
- <dd>A system using both <a href="#public">public key</a> and <a
- href="#symmetric">symmetric cipher</a> techniques. This works well.
- Public key methods provide key management and <a
- href="#signature">digital signature</a> facilities which are not
- readily available using symmetric ciphers. The symmetric cipher,
- however, can do the bulk of the encryption work much more efficiently
- than public key methods.</dd>
- <dt><a name="I">I</a></dt>
- <dt><a name="IAB">IAB</a></dt>
- <dd><a href="http://www.iab.org/iab">Internet Architecture Board</a>.</dd>
- <dt><a name="ICMP.gloss">ICMP</a></dt>
- <dd><strong>I</strong>nternet <strong>C</strong>ontrol
- <strong>M</strong>essage <strong>P</strong>rotocol. This is used for
- various IP-connected devices to manage the network.</dd>
- <dt><a name="IDEA">IDEA</a></dt>
- <dd><b>I</b>nternational <b>D</b>ata <b>E</b>ncrypion <b>A</b>lgorithm,
- developed in Europe as an alternative to exportable American ciphers
- such as <a href="#DES">DES</a> which were <a href="#desnotsecure">too
- weak for serious use</a>. IDEA is a <a href="#block">block cipher</a>
- using 64-bit blocks and 128-bit keys, and is used in products such as
- <a href="#PGP">PGP</a>.
- <p>IDEA is not required by the <a href="#IPSEC">IPsec</a> RFCs and not
- currently used in <a href="#FreeSWAN">Linux FreeS/WAN</a>.</p>
- <p>IDEA is patented and, with strictly limited exceptions for personal
- use, using it requires a license from <a
- href="http://www.ascom.com">Ascom</a>.</p>
- </dd>
- <dt><a name="IEEE">IEEE</a></dt>
- <dd><a href="http://www.ieee.org">Institute of Electrical and Electronic
- Engineers</a>, a professional association which, among other things,
- sets some technical standards</dd>
- <dt><a name="IESG">IESG</a></dt>
- <dd><a href="http://www.iesg.org">Internet Engineering Steering
- Group</a>.</dd>
- <dt><a name="IETF">IETF</a></dt>
- <dd><a href="http://www.ietf.org">Internet Engineering Task Force</a>,
- the umbrella organisation whose various working groups make most of the
- technical decisions for the Internet. The IETF <a
- href="http://www.ietf.org/html.charters/ipsec-charter.html"> IPsec
- working group</a> wrote the <a href="#RFC">RFCs</a> we are
- implementing.</dd>
- <dt><a name="IKE">IKE</a></dt>
- <dd><b>I</b>nternet <b>K</b>ey <b>E</b>xchange, based on the <a
- href="#DH">Diffie-Hellman</a> key exchange protocol. For details, see
- RFC 2409 and our <a href="ipsec.html">IPsec</a> document. IKE is
- implemented in <a href="#FreeSWAN">Linux FreeS/WAN</a> by the <a
- href="#Pluto">Pluto daemon</a>.</dd>
- <dt>IKE v2</dt>
- <dd>A proposed replacement for <a href="#IKE">IKE</a>. There are other
- candidates, such as <a href="#JFK">JFK</a>, and at time of writing
- (March 2002) the choice between them has not yet been made and does not
- appear imminent.</dd>
- <dt><a name="iOE">iOE</a></dt>
- <dd>See <A HREF="#initiate-only">Initiate-only opportunistic
- encryption</A>.</dd>
- <dt><a name="IP">IP</a></dt>
- <dd><b>I</b>nternet <b>P</b>rotocol.</dd>
- <dt><a name="masq">IP masquerade</a></dt>
- <dd>A mostly obsolete term for a method of allowing multiple machines to
- communicate over the Internet when only one IP address is available for
- their use. The more current term is Network Address Translation or <a
- href="#NAT.gloss">NAT</a>.</dd>
- <dt><a name="IPng">IPng</a></dt>
- <dd>"IP the Next Generation", see <a href="#ipv6.gloss">IPv6</a>.</dd>
- <dt><a name="IPv4">IPv4</a></dt>
- <dd>The current version of the <a href="#IP">Internet protocol
- suite</a>.</dd>
- <dt><a name="ipv6.gloss">IPv6 (IPng)</a></dt>
- <dd>Version six of the <a href="#IP">Internet protocol suite</a>,
- currently being developed. It will replace the current <a
- href="#IPv4">version four</a>. IPv6 has <a href="#IPSEC">IPsec</a> as a
- mandatory component.
- <p>See this <a
- href="http://playground.sun.com/pub/ipng/html/ipng-main.html">web
- site</a> for more details, and our <a
- href="compat.html#ipv6">compatibility</a> document for information on
- FreeS/WAN and the Linux implementation of IPv6.</p>
- </dd>
- <dt><a name="IPSEC">IPsec</a> or IPSEC</dt>
- <dd><b>I</b>nternet <b>P</b>rotocol <b>SEC</b>urity, security functions
- (<a href="#authentication">authentication</a> and <a
- href="#encryption">encryption</a>) implemented at the IP level of the
- protocol stack. It is optional for <a href="#IPv4">IPv4</a> and
- mandatory for <a href="#ipv6.gloss">IPv6</a>.
- <p>This is the standard <a href="#FreeSWAN">Linux FreeS/WAN</a> is
- implementing. For more details, see our <a href="ipsec.html">IPsec
- Overview</a>. For the standards, see RFCs listed in our <a
- href="rfc.html#RFC">RFCs document</a>.</p>
- </dd>
- <dt><a name="IPX">IPX</a></dt>
- <dd>Novell's Netware protocol tunnelled over an IP link. Our <a
- href="firewall.html#user.scripts">firewalls</a> document includes an
- example of using this through an IPsec tunnel.</dd>
- <dt><a name="ISAKMP">ISAKMP</a></dt>
- <dd><b>I</b>nternet <b>S</b>ecurity <b>A</b>ssociation and <b>K</b>ey
- <b>M</b>anagement <b>P</b>rotocol, defined in RFC 2408.</dd>
- <dt><a name="ITAR">ITAR</a></dt>
- <dd><b>I</b>nternational <b>T</b>raffic in <b>A</b>rms
- <b>R</b>egulations, US regulations administered by the State Department
- which until recently limited export of, among other things,
- cryptographic technology and software. ITAR still exists, but the
- limits on cryptography have now been transferred to the <a
- href="#EAR">Export Administration Regulations</a> under the Commerce
- Department's <a href="#BXA">Bureau of Export Administration</a>.</dd>
- <dt>IV</dt>
- <dd>see <a href="#IV">Initialisation vector</a></dd>
- <dt><a name="IV">Initialisation Vector (IV)</a></dt>
- <dd>Some cipher <a href="#mode">modes</a>, including the <a
- href="#CBC">CBC</a> mode which IPsec uses, require some extra data at
- the beginning. This data is called the initialisation vector. It need
- not be secret, but should be different for each message. Its function
- is to prevent messages which begin with the same text from encrypting
- to the same ciphertext. That might give an analyst an opening, so it is
- best prevented.</dd>
- <dt><a name="initiate-only">Initiate-only opportunistic
- encryption (iOE)</a></dt>
- <dd>A form of
- <A HREF="#carpediem">opportunistic encryption</A> (OE) in which
- a host proposes opportunistic connections, but lacks the reverse DNS
- records necessary to support incoming opportunistic connection requests.
- Common among hosts on cable or pppoe connections where the system
- administrator does not have write access to the DNS reverse map
- for the host's external IP.
- <p>Configuring for initiate-only opportunistic encryption
- is described in our
- <a href="quickstart.html#opp.client">quickstart</a> document.</p>
- </dd>
- <dt><a name="J">J</a></dt>
- <dt><a name="JFK">JFK</a></dt>
- <dd><strong>J</strong>ust <strong>F</strong>ast <strong>K</strong>eying,
- a proposed simpler replacement for <a href="#IKE">IKE.</a></dd>
- <dt><a name="K">K</a></dt>
- <dt><a name="kernel">Kernel</a></dt>
- <dd>The basic part of an operating system (e.g. Linux) which controls the
- hardware and provides services to all other programs.
- <p>In the Linux release numbering system, an even second digit as in
- 2.<strong>2</strong>.x indicates a stable or production kernel while an
- odd number as in 2.<strong>3</strong>.x indicates an experimental or
- development kernel. Most users should run a recent kernel version from
- the production series. The development kernels are primarily for people
- doing kernel development. Others should consider using development
- kernels only if they have an urgent need for some feature not yet
- available in production kernels.</p>
- </dd>
- <dt>Keyed message digest</dt>
- <dd>See <a href="#HMAC">HMAC</a>.</dd>
- <dt>Key length</dt>
- <dd>see <a href="#brute">brute force attack</a></dd>
- <dt><a name="KLIPS">KLIPS</a></dt>
- <dd><b>K</b>erne<b>l</b> <b>IP</b> <b>S</b>ecurity, the <a
- href="#FreeSWAN">Linux FreeS/WAN</a> project's changes to the <a
- href="#Linux">Linux</a> kernel to support the <a
- href="#IPSEC">IPsec</a> protocols.</dd>
- <dt><a name="L">L</a></dt>
- <dt><a name="LDAP">LDAP</a></dt>
- <dd><b>L</b>ightweight <b>D</b>irectory <b>A</b>ccess <b>P</b>rotocol,
- defined in RFCs 1777 and 1778, a method of accessing information
- stored in directories. LDAP is used by several <a href="#PKI">PKI</a>
- implementations, often with X.501 directories and <a
- href="#X509">X.509</a> certificates. It may also be used by <a
- href="#IPSEC">IPsec</a> to obtain key certifications from those PKIs.
- This is not yet implemented in <a href="#FreeSWAN">Linux
- FreeS/WAN</a>.</dd>
- <dt><a name="LIBDES">LIBDES</a></dt>
- <dd>A publicly available library of <a href="#DES">DES</a> code, written
- by Eric Young, which <a href="#FreeSWAN">Linux FreeS/WAN</a> uses in
- both <a href="#KLIPS">KLIPS</a> and <a href="#Pluto">Pluto</a>.</dd>
- <dt><a name="Linux">Linux</a></dt>
- <dd>A freely available Unix-like operating system based on a kernel
- originally written for the Intel 386 architecture by (then) student
- Linus Torvalds. Once his 32-bit kernel was available, the <a
- href="#GNU">GNU</a> utilities made it a usable system and contributions
- from many others led to explosive growth.
- <p>Today Linux is a complete Unix replacement available for several CPU
- architectures -- Intel, DEC/Compaq Alpha, Power PC, both 32-bit SPARC
- and the 64-bit UltraSPARC, SrongARM, . . . -- with support for multiple
- CPUs on some architectures.</p>
- <p><a href="#FreeSWAN">Linux FreeS/WAN</a> is intended to run on all
- CPUs supported by Linux and is known to work on several. See our <a
- href="compat.html#CPUs">compatibility</a> section for a list.</p>
- </dd>
- <dt><a name="FreeSWAN">Linux FreeS/WAN</a></dt>
- <dd>Our implementation of the <a href="#IPSEC">IPsec</a> protocols,
- intended to be freely redistributable source code with <a href="#GPL">a
- GNU GPL license</a> and no constraints under US or other <a
- href="politics.html#exlaw">export laws</a>. Linux FreeS/WAN is intended
- to interoperate with other <a href="#IPSEC">IPsec</a> implementations.
- The name is partly taken, with permission, from the <a
- href="#SWAN">S/WAN</a> multi-vendor IPsec compatability effort. Linux
- FreeS/WAN has two major components, <a href="#KLIPS">KLIPS</a> (KerneL
- IPsec Support) and the <a href="#Pluto">Pluto</a> daemon which manages
- the whole thing.
- <p>See our <a href="ipsec.html">IPsec section</a> for more detail. For
- the code see our <a href="http://freeswan.org"> primary site</a> or one
- of the mirror sites on <a href="intro.html#mirrors">this list</a>.</p>
- </dd>
- <dt><a name="LSM">Linux Security Modules (LSM)</a></dt>
- <dd>a project to create an interface in the Linux kernel that supports
- plug-in modules for various security policies.
- <p>This allows multiple security projects to take different approaches
- to security enhancement without tying the kernel down to one particular
- approach. As I understand the history, several projects were pressing
- Linus to incorporate their changes, the various sets of changes were
- incompatible, and his answer was more-or-less "a plague on all your
- houses; I'll give you an interface, but I won't incorporate
- anything".</p>
- <p>It seems to be working. There is a fairly active <a
- href="http://mail.wirex.com/mailman/listinfo/linux-security-module">LSM
- mailing list</a>, and several projects are already using the
- interface.</p>
- </dd>
- <dt>LSM</dt>
- <dd>see <a href="#LSM">Linux Security Modules</a></dd>
- <dt><a name="M">M</a></dt>
- <dt><a name="list">Mailing list</a></dt>
- <dd>The <a href="#FreeSWAN">Linux FreeS/WAN</a> project has several
- public email lists for bug reports and software development
- discussions. See our document on <a href="mail.html">mailing
- lists</a>.</dd>
- <dt><a name="middle">Man-in-the-middle attack</a></dt>
- <dd>An <a href="#active">active attack</a> in which the attacker
- impersonates each of the legitimate players in a protocol to the other.
- <p>For example, if <a href="#alicebob">Alice and Bob</a> are
- negotiating a key via the <a href="#DH">Diffie-Hellman</a> key
- agreement, and are not using <a
- href="#authentication">authentication</a> to be certain they are
- talking to each other, then an attacker able to insert himself in the
- communication path can deceive both players.</p>
- <p>Call the attacker Mallory. For Bob, he pretends to be Alice. For
- Alice, he pretends to be Bob. Two keys are then negotiated,
- Alice-to-Mallory and Bob-to-Mallory. Alice and Bob each think the key
- they have is Alice-to-Bob.</p>
- <p>A message from Alice to Bob then goes to Mallory who decrypts it,
- reads it and/or saves a copy, re-encrypts using the Bob-to-Mallory key
- and sends it along to Bob. Bob decrypts successfully and sends a reply
- which Mallory decrypts, reads, re-encrypts and forwards to Alice.</p>
- <p>To make this attack effective, Mallory must</p>
- <ul>
- <li>subvert some part of the network in some way that lets him carry
- out the deception<br>
- possible targets: DNS, router, Alice or Bob's machine, mail server,
- ...</li>
- <li>beat any authentication mechanism Alice and Bob use<br>
- strong authentication defeats the attack entirely; this is why <a
- href="#IKE">IKE</a> requires authentication</li>
- <li>work in real time, delivering messages without introducing a
- delay large enough to alert the victims<br>
- not hard if Alice and Bob are using email; quite difficult in some
- situations.</li>
- </ul>
- <p>If he manages it, however, it is devastating. He not only gets to
- read all the messages; he can alter messages, inject his own, forge
- anything he likes, . . . In fact, he controls the communication
- completely.</p>
- </dd>
- <dt><a name="mandatory">mandatory access control</a></dt>
- <dd>access control mechanisims which are not settable by the user (see <a
- href="#discretionary">discretionary access control</a>), but are
- enforced by the system.
- <p>For example, a document labelled "secret, zebra" might be readable
- only by someone with secret clearance working on Project Zebra.
- Ideally, the system will prevent any transfer outside those boundaries.
- For example, even if you can read it, you should not be able to e-mail
- it (unless the recipient is appropriately cleared) or print it (unless
- certain printers are authorised for that classification).</p>
- <p>Mandatory access control is a required feature for some levels of <a
- href="#rainbow">Rainbow Book</a> or <a href="#cc">Common Criteria</a>
- classification, but has not been widely used outside the military and
- government. There is a good discussion of the issues in Anderson's <a
- href="biblio.html#anderson">Security Engineering</a>.</p>
- <p>The <a href="#SElinux">Security Enhanced Linux</a> project is adding
- mandatory access control to Linux.</p>
- </dd>
- <dt><a name="manual">Manual keying</a></dt>
- <dd>An IPsec mode in which the keys are provided by the administrator. In
- FreeS/WAN, they are stored in /etc/ipsec.conf. The alternative, <a
- href="#auto">automatic keying</a>, is preferred in most cases. See this
- <a href="adv_config.html#man-auto">discussion</a>.</dd>
- <dt><a name="MD4">MD4</a></dt>
- <dd><a href="#digest">Message Digest Algorithm</a> Four from Ron Rivest
- of <a href="#RSAco">RSA</a>. MD4 was widely used a few years ago, but
- is now considered obsolete. It has been replaced by its descendants <a
- href="#MD5">MD5</a> and <a href="#SHA">SHA</a>.</dd>
- <dt><a name="MD5">MD5</a></dt>
- <dd><a href="#digest">Message Digest Algorithm</a> Five from Ron Rivest
- of <a href="#RSAco">RSA</a>, an improved variant of his <a
- href="#MD4">MD4</a>. Like MD4, it produces a 128-bit hash. For details
- see RFC 1321.
- <p>MD5 is one of two message digest algorithms available in IPsec. The
- other is <a href="#SHA">SHA</a>. SHA produces a longer hash and is
- therefore more resistant to <a href="#birthday">birthday attacks</a>,
- but this is not a concern for IPsec. The <a href="#HMAC">HMAC</a>
- method used in IPsec is secure even if the underlying hash is not
- particularly strong against this attack.</p>
- <p>Hans Dobbertin found a weakness in MD5, and people often ask whether
- this means MD5 is unsafe for IPsec. It doesn't. The IPsec RFCs discuss
- Dobbertin's attack and conclude that it does not affect MD5 as used for
- HMAC in IPsec.</p>
- </dd>
- <dt><a name="meet">Meet-in-the-middle attack</a></dt>
- <dd>A divide-and-conquer attack which breaks a cipher into two parts,
- works against each separately, and compares results. Probably the best
- known example is an attack on double DES. This applies in principle to
- any pair of block ciphers, e.g. to an encryption system using, say,
- CAST-128 and Blowfish, but we will describe it for double DES.
- <p>Double DES encryption and decryption can be written:</p>
- <pre> C = E(k2,E(k1,P))
- P = D(k1,D(k2,C))</pre>
- <p>Where C is ciphertext, P is plaintext, E is encryption, D is
- decryption, k1 is one key, and k2 is the other key. If we know a P, C
- pair, we can try and find the keys with a brute force attack, trying
- all possible k1, k2 pairs. Since each key is 56 bits, there are
- 2<sup>112</sup> such pairs and this attack is painfully inefficient.</p>
- <p>The meet-in-the middle attack re-writes the equations to calculate a
- middle value M:</p>
- <pre> M = E(k1,P)
- M = D(k2,C)</pre>
- <p>Now we can try some large number of D(k2,C) decryptions with various
- values of k2 and store the results in a table. Then start doing E(k1,P)
- encryptions, checking each result to see if it is in the table.</p>
- <p>With enough table space, this breaks double DES with
- <nobr>2<sup>56</sup> + 2<sup>56</sup> = 2<sup>57</sup></nobr>work.
- Against triple DES, you need <nobr>2<sup>56</sup> + 2<sup>112</sup> ~=
- 2<sup>112</sup></nobr>.</p>
- <p>The memory requirements for such attacks can be prohibitive, but
- there is a whole body of research literature on methods of reducing
- them.</p>
- </dd>
- <dt><a name="digest">Message Digest Algorithm</a></dt>
- <dd>An algorithm which takes a message as input and produces a hash or
- digest of it, a fixed-length set of bits which depend on the message
- contents in some highly complex manner. Design criteria include making
- it extremely difficult for anyone to counterfeit a digest or to change
- a message without altering its digest. One essential property is <a
- href="#collision">collision resistance</a>. The main applications are
- in message <a href="#authentication">authentication</a> and <a
- href="#signature">digital signature</a> schemes. Widely used algorithms
- include <a href="#MD5">MD5</a> and <a href="#SHA">SHA</a>. In IPsec,
- message digests are used for <a href="#HMAC">HMAC</a> authentication of
- packets.</dd>
- <dt><a name="MTU">MTU</a></dt>
- <dd><strong>M</strong>aximum <strong>T</strong>ransmission
- <strong>U</strong>nit, the largest size of packet that can be sent over
- a link. This is determined by the underlying network, but must be taken
- account of at the IP level.
- <p>IP packets, which can be up to 64K bytes each, must be packaged into
- lower-level packets of the appropriate size for the underlying
- network(s) and re-assembled on the other end. When a packet must pass
- over multiple networks, each with its own MTU, and many of the MTUs are
- unknown to the sender, this becomes a fairly complex problem. See <a
- href="#pathMTU">path MTU discovery</a> for details.</p>
- <p>Often the MTU is a few hundred bytes on serial links and 1500 on
- Ethernet. There are, however, serial link protocols which use a larger
- MTU to avoid fragmentation at the ethernet/serial boundary, and newer
- (especially gigabit) Ethernet networks sometimes support much larger
- packets because these are more efficient in some applications.</p>
- </dd>
- <dt><a name="N">N</a></dt>
- <dt><a name="NAI">NAI</a></dt>
- <dd><a href="http://www.nai.com">Network Associates</a>, a conglomerate
- formed from <a href="#PGPI">PGP Inc.</a>, TIS (Trusted Information
- Systems, a firewall vendor) and McAfee anti-virus products. Among other
- things, they offer an IPsec-based VPN product.</dd>
- <dt><a name="NAT.gloss">NAT</a></dt>
- <dd><b>N</b>etwork <b>A</b>ddress <b>T</b>ranslation, a process by which
- firewall machines may change the addresses on packets as they go
- through. For discussion, see our <a
- href="background.html#nat.background">background</a> section.</dd>
- <dt><a name="NIST">NIST</a></dt>
- <dd>The US <a href="http://www.nist.gov"> National Institute of Standards
- and Technology</a>, responsible for <a href="#FIPS">FIPS standards</a>
- including <a href="#DES">DES</a> and its replacement, <a
- href="#AES">AES</a>.</dd>
- <dt><a name="nonce">Nonce</a></dt>
- <dd>A <a href="#random">random</a> value used in an <a
- href="#authentication">authentication</a> protocol.</dd>
- <dt></dt>
- <dt><a name="non-routable">Non-routable IP address</a></dt>
- <dd>An IP address not normally allowed in the "to" or "from" IP address
- field header of IP packets.
- <p>Almost invariably, the phrase "non-routable address" means one of
- the addresses reserved by RFC 1918 for private networks:</p>
- <ul>
- <li>10.anything</li>
- <li>172.x.anything with 16 &lt;= x &lt;= 31</li>
- <li>192.168.anything</li>
- </ul>
- <p>These addresses are commonly used on private networks, e.g. behind a
- Linux machines doing <a href="#masq">IP masquerade</a>. Machines within
- the private network can address each other with these addresses. All
- packets going outside that network, however, have these addresses
- replaced before they reach the Internet.</p>
- <p>If any packets using these addresses do leak out, they do not go
- far. Most routers automatically discard all such packets.</p>
- <p>Various other addresses -- the 127.0.0.0/8 block reserved for local
- use, 0.0.0.0, various broadcast and network addresses -- cannot be
- routed over the Internet, but are not normally included in the meaning
- when the phrase "non-routable address" is used.</p>
- </dd>
- <dt><a name="NSA">NSA</a></dt>
- <dd>The US <a href="http://www.nsa.gov"> National Security Agency</a>,
- the American organisation for <a href="#SIGINT">signals
- intelligence</a>, the protection of US government messages and the
- interception and analysis of other messages. For details, see Bamford's
- <a href="biblio.html#puzzle">"The Puzzle Palace"</a>.
- <p>Some <a
- href="http://www.gwu.edu/~nsarchiv/NSAEBB/NSAEBB23/index.html">history
- of NSA</a> documents were declassified in response to a FOIA (Freedom
- of Information Act) request.</p>
- </dd>
- <dt><a name="O">O</a></dt>
- <dt><a name="oakley">Oakley</a></dt>
- <dd>A key determination protocol, defined in RFC 2412.</dd>
- <dt>Oakley groups</dt>
- <dd>The groups used as the basis of <a href="#DH">Diffie-Hellman</a> key
- exchange in the Oakley protocol, and in <a href="#IKE">IKE</a>. Four
- were defined in the original RFC, and a fifth has been <a
- href="http://www.lounge.org/ike_doi_errata.html">added since</a>.
- <p>Linux FreeS/WAN currently supports the three groups based on finite
- fields modulo a prime (Groups 1, 2 and 5) and does not support the
- elliptic curve groups (3 and 4). For a description of the difference of
- the types, see <a href="#dlog">discrete logarithms</a>.</p>
- </dd>
- <dt><a name="OTP">One time pad</a></dt>
- <dd>A cipher in which the key is:
- <ul>
- <li>as long as the total set of messages to be enciphered</li>
- <li>absolutely <a href="#random">random</a></li>
- <li>never re-used</li>
- </ul>
- <p>Given those three conditions, it can easily be proved that the
- cipher is perfectly secure, in the sense that an attacker with
- intercepted message in hand has no better chance of guessing the
- message than an attacker who has not intercepted the message and only
- knows the message length. No such proof exists for any other cipher.</p>
- <p>There are, however, several problems with this "perfect" cipher.</p>
- <p>First, it is <strong>wildly impractical</strong> for most
- applications. Key management is at best difficult, often completely
- impossible.</p>
- <p>Second, it is <strong>extremely fragile</strong>. Small changes
- which violate the conditions listed above do not just weaken the cipher
- liitle. Quite often they destroy its security completely.</p>
- <ul>
- <li>Re-using the pad weakens the cipher to the point where it can be
- broken with pencil and paper. With a computer, the attack is
- trivially easy.</li>
- <li>Using <em>anything</em> less than truly <a
- href="#random">random</a> numbers <em>completely</em> invalidates
- the security proof.</li>
- <li>In particular, using computer-generated pseudo-random numbers may
- give an extremely weak cipher. It might also produce a good stream
- cipher, if the pseudo-random generator is both well-designed and
- properely seeded.</li>
- </ul>
- <p>Marketing claims about the "unbreakable" security of various
- products which somewhat resemble one-time pads are common. Such claims
- are one of the surest signs of cryptographic <a href="#snake">snake
- oil</a>; most systems marketed with such claims are worthless.</p>
- <p>Finally, even if the system is implemented and used correctly, it is
- <strong>highly vulnerable to a substitution attack</strong>. If an
- attacker knows some plaintext and has an intercepted message, he can
- discover the pad.</p>
- <ul>
- <li>This does not matter if the attacker is just a <a
- href="#passive">passive</a> eavesdropper. It gives him no plaintext
- he didn't already know and we don't care that he learns a pad which
- we will never re-use.</li>
- <li>However, an <a href="#active">active</a> attacker who knows the
- plaintext can recover the pad, then use it to encode with whatever
- he chooses. If he can get his version delivered instead of yours,
- this may be a disaster. If you send "attack at dawn", the delivered
- message can be anything the same length -- perhaps "retreat to
- east" or "shoot generals".</li>
- <li>An active attacker with only a reasonable guess at the plaintext
- can try the same attack. If the guess is correct, this works and
- the attacker's bogus message is delivered. If the guess is wrong, a
- garbled message is delivered.</li>
- </ul>
- <p>In general then, despite its theoretical perfection, the
- one-time-pad has very limited practical application.</p>
- <p>See also the <a href="http://pubweb.nfr.net/~mjr/pubs/otpfaq/">one
- time pad FAQ</a>.</p>
- </dd>
- <dt><a name="carpediem">Opportunistic encryption (OE)</a></dt>
- <dd>A situation in which any two IPsec-aware machines can secure their
- communications, without a pre-shared secret and without a common <a
- href="#PKI">PKI</a> or previous exchange of public keys. This is one of
- the goals of the Linux FreeS/WAN project, discussed in our <a
- href="intro.html#goals">introduction</a> section.
- <p>Setting up for opportunistic encryption is described in our <a
- href="quickstart.html#quickstart">quickstart</a> document.</p>
- </dd>
- <dt><a name="responder">Opportunistic responder</a></dt>
- <dd>A host which accepts, but does not initiate, requests for
- <A HREF="#carpediem">opportunistic encryption</A> (OE).
- An opportunistic responder has enabled OE in its
- <A HREF="#passive.OE">passive</A> form (pOE) only.
- A web server or file server may be usefully set up as an opportunistic
- responder.
- <p>Configuring passive OE is described in our
- <a href="policygroups.html#policygroups">policy groups</a> document.</p>
- </dd>
- <dt><a name="orange">Orange book</a></dt>
- <dd>the most basic and best known of the US government's <a
- href="#rainbow">Rainbow Book</a> series of computer security
- standards.</dd>
- <dt><a name="P">P</a></dt>
- <dt><a name="P1363">P1363 standard</a></dt>
- <dd>An <a href="#IEEE">IEEE</a> standard for public key cryptography. <a
- href="http://grouper.ieee.org/groups/1363">Web page</a>.</dd>
- <dt><a name="pOE">pOE</a></dt>
- <dd>See <a href="#passive.OE">Passive opportunistic encryption</a>.</dd>
- <dt><a name="passive">Passive attack</a></dt>
- <dd>An attack in which the attacker only eavesdrops and attempts to
- analyse intercepted messages, as opposed to an <a href="#active">active
- attack</a> in which he diverts messages or generates his own.</dd>
- <dt><a name="passive.OE">Passive opportunistic encryption (pOE)</a></dt>
- <dd>A form of
- <A HREF="#carpediem">opportunistic encryption</A> (OE) in which the
- host will accept opportunistic connection requests, but will not
- initiate such requests. A host which runs OE in its passive form only
- is known as an <A HREF="#responder">opportunistic responder</A>.
- <p>Configuring passive OE is described in our
- <a href="policygroups.html#policygroups">policy groups</a> document.</p>
- </dd>
- <dt><a name="pathMTU">Path MTU discovery</a></dt>
- <dd>The process of discovering the largest packet size which all links on
- a path can handle without fragmentation -- that is, without any router
- having to break the packet up into smaller pieces to match the <a
- href="#MTU">MTU</a> of its outgoing link.
- <p>This is done as follows:</p>
- <ul>
- <li>originator sends the largest packets allowed by <a
- href="#MTU">MTU</a> of the first link, setting the DF
- (<strong>d</strong>on't <strong>f</strong>ragment) bit in the
- packet header</li>
- <li>any router which cannot send the packet on (outgoing MTU is too
- small for it, and DF prevents fragmenting it to match) sends back
- an <a href="#ICMP.gloss">ICMP</a> packet reporting the problem</li>
- <li>originator looks at ICMP message and tries a smaller size</li>
- <li>eventually, you settle on a size that can pass all routers</li>
- <li>thereafter, originator just sends that size and no-one has to
- fragment</li>
- </ul>
- <p>Since this requires co-operation of many systems, and since the next
- packet may travel a different path, this is one of the trickier areas
- of IP programming. Bugs that have shown up over the years have
- included:</p>
- <ul>
- <li>malformed ICMP messages</li>
- <li>hosts that ignore or mishandle these ICMP messages</li>
- <li>firewalls blocking the ICMP messages so host does not see
- them</li>
- </ul>
- <p>Since IPsec adds a header, it increases packet size and may require
- fragmentation even where incoming and outgoing MTU are equal.</p>
- </dd>
- <dt><a name="PFS">Perfect forward secrecy (PFS)</a></dt>
- <dd>A property of systems such as <a href="#DH">Diffie-Hellman</a> key
- exchange which use a long-term key (such as the shared secret in IKE)
- and generate short-term keys as required. If an attacker who acquires
- the long-term key <em>provably</em> can
- <ul>
- <li><em>neither</em> read previous messages which he may have
- archived</li>
- <li><em>nor</em> read future messages without performing additional
- successful attacks</li>
- </ul>
- <p>then the system has PFS. The attacker needs the short-term keys in
- order to read the trafiic and merely having the long-term key does not
- allow him to infer those. Of course, it may allow him to conduct
- another attack (such as <a href="#middle">man-in-the-middle</a>) which
- gives him some short-term keys, but he does not automatically get them
- just by acquiring the long-term key.</p>
- <p>See also
-<a href="http://sandelman.ottawa.on.ca/ipsec/1996/08/msg00123.html">Phil
-Karn's definition</a>.
- </dd>
- <dt>PFS</dt>
- <dd>see Perfect Forward Secrecy</dd>
- <dt><a name="PGP">PGP</a></dt>
- <dd><b>P</b>retty <b>G</b>ood <b>P</b>rivacy, a personal encryption
- system for email based on public key technology, written by Phil
- Zimmerman.
- <p>The 2.xx versions of PGP used the <a href="#RSA">RSA</a> public key
- algorithm and used <a href="#IDEA">IDEA</a> as the symmetric cipher.
- These versions are described in RFC 1991 and in <a
- href="#PGP">Garfinkel's book</a>. Since version 5, the products from <a
- href="#PGPI">PGP Inc</a>. have used <a href="#DH">Diffie-Hellman</a>
- public key methods and <a href="#CAST128">CAST-128</a> symmetric
- encryption. These can verify signatures from the 2.xx versions, but
- cannot exchange encryted messages with them.</p>
- <p>An <a href="#IETF">IETF</a> working group has issued RFC 2440 for an
- "Open PGP" standard, similar to the 5.x versions. PGP Inc. staff were
- among the authors. A free <a href="#GPG">Gnu Privacy Guard</a> based on
- that standard is now available.</p>
- <p>For more information on PGP, including how to obtain it, see our
- cryptography <a href="web.html#tools">links</a>.</p>
- </dd>
- <dt><a name="PGPI">PGP Inc.</a></dt>
- <dd>A company founded by Zimmerman, the author of <a href="#PGP">PGP</a>,
- now a division of <a href="#NAI">NAI</a>. See the <a
- href="http://www.pgp.com">corporate website</a>. Zimmerman left in
- 2001, and early in 2002 NAI announced that they would no longer sell
- PGP..
- <p>Versions 6.5 and later of the PGP product include PGPnet, an IPsec
- client for Macintosh or for Windows 95/98/NT. See our <a
- href="interop.html#pgpnet">interoperation documen</a>t.</p>
- </dd>
- <dt><a name="photuris">Photuris</a></dt>
- <dd>Another key negotiation protocol, an alternative to <a
- href="#IKE">IKE</a>, described in RFCs 2522 and 2523.</dd>
- <dt><a name="PPP">PPP</a></dt>
- <dd><b>P</b>oint-to-<b>P</b>oint <b>P</b>rotocol, originally a method of
- connecting over modems or serial lines, but see also PPPoE.</dd>
- <dt><a name="PPPoE">PPPoE</a></dt>
- <dd><b>PPP</b> <b>o</b>ver <b>E</b>thernet, a somewhat odd protocol that
- makes Ethernet look like a point-to-point serial link. It is widely
- used for cable or ADSL Internet services, apparently mainly because it
- lets the providers use access control and address assignmment
- mechanisms developed for dialup networks. <a
- href="http://www.roaringpenguin.com">Roaring Penguin</a> provide a
- widely used Linux implementation.</dd>
- <dt><a name="PPTP">PPTP</a></dt>
- <dd><b>P</b>oint-to-<b>P</b>oint <b>T</b>unneling <b>P</b>rotocol, used
- in some Microsoft VPN implementations. Papers discussing weaknesses in
- it are on <a
- href="http://www.counterpane.com/publish.html">counterpane.com</a>. It
- is now largely obsolete, replaced by L2TP.</dd>
- <dt><a name="PKI">PKI</a></dt>
- <dd><b>P</b>ublic <b>K</b>ey <b>I</b>nfrastructure, the things an
- organisation or community needs to set up in order to make <a
- href="#public">public key</a> cryptographic technology a standard part
- of their operating procedures.
- <p>There are several PKI products on the market. Typically they use a
- hierarchy of <a href="#CA">Certification Authorities (CAs)</a>. Often
- they use <a href="#LDAP">LDAP</a> access to <a href="#X509">X.509</a>
- directories to implement this.</p>
- <p>See <a href="#web">Web of Trust</a> for a different sort of
- infrastructure.</p>
- </dd>
- <dt><a name="PKIX">PKIX</a></dt>
- <dd><b>PKI</b> e<b>X</b>change, an <a href="#IETF">IETF</a> standard that
- allows <a href="#PKI">PKI</a>s to talk to each other.
- <p>This is required, for example, when users of a corporate PKI need to
- communicate with people at client, supplier or government
- organisations, any of which may have a different PKI in place. I should
- be able to talk to you securely whenever:</p>
- <ul>
- <li>your organisation and mine each have a PKI in place</li>
- <li>you and I are each set up to use those PKIs</li>
- <li>the two PKIs speak PKIX</li>
- <li>the configuration allows the conversation</li>
- </ul>
- <p>At time of writing (March 1999), this is not yet widely implemented
- but is under quite active development by several groups.</p>
- </dd>
- <dt><a name="plaintext">Plaintext</a></dt>
- <dd>The unencrypted input to a cipher, as opposed to the encrypted <a
- href="#ciphertext">ciphertext</a> output.</dd>
- <dt><a name="Pluto">Pluto</a></dt>
- <dd>The <a href="#FreeSWAN">Linux FreeS/WAN</a> daemon which handles key
- exchange via the <a href="#IKE">IKE</a> protocol, connection
- negotiation, and other higher-level tasks. Pluto calls the <a
- href="#KLIPS">KLIPS</a> kernel code as required. For details, see the
- manual page ipsec_pluto(8).</dd>
- <dt><a name="public">Public Key Cryptography</a></dt>
- <dd>In public key cryptography, keys are created in matched pairs.
- Encrypt with one half of a pair and only the matching other half can
- decrypt it. This contrasts with <a href="#symmetric">symmetric or
- secret key cryptography</a> in which a single key known to both parties
- is used for both encryption and decryption.
- <p>One half of each pair, called the public key, is made public. The
- other half, called the private key, is kept secret. Messages can then
- be sent by anyone who knows the public key to the holder of the private
- key. Encrypt with the public key and you know that only someone with
- the matching private key can decrypt.</p>
- <p>Public key techniques can be used to create <a
- href="#signature">digital signatures</a> and to deal with key
- management issues, perhaps the hardest part of effective deployment of
- <a href="#symmetric"> symmetric ciphers</a>. The resulting <a
- href="#hybrid">hybrid cryptosystems</a> use public key methods to
- manage keys for symmetric ciphers.</p>
- <p>Many organisations are currently creating <a href="#PKI">PKIs,
- public key infrastructures</a> to make these benefits widely
- available.</p>
- </dd>
- <dt>Public Key Infrastructure</dt>
- <dd>see <a href="#PKI">PKI</a></dd>
- <dt><a name="Q">Q</a></dt>
- <dt><a name="R">R</a></dt>
- <dt><a name="rainbow">Rainbow books</a></dt>
- <dd>A set of US government standards for evaluation of "trusted computer
- systems", of which the best known was the <a href="#orange">Orange
- Book</a>. One fairly often hears references to "C2 security" or a
- product "evaluated at B1". The Rainbow books define the standards
- referred to in those comments.
- <p>See this <a href="http://www.fas.org/irp/nsa/rainbow.htm">reference
- page</a>.</p>
- <p>The Rainbow books are now mainly obsolete, replaced by the
- international <a href="#cc">Common Criteria</a> standards.</p>
- </dd>
- <dt><a name="random">Random</a></dt>
- <dd>A remarkably tricky term, far too much so for me to attempt a
- definition here. Quite a few cryptosystems have been broken via attacks
- on weak random number generators, even when the rest of the system was
- sound.
- <p>See <a
- href="http://nis.nsf.net/internet/documents/rfc/rfc1750.txt">RFC
- 1750</a> for the theory.</p>
- <p>See the manual pages for <a
- href="manpage.d/ipsec_ranbits.8.html">ipsec_ranbits(8)</a> and
- ipsec_prng(3) for more on FreeS/WAN's use of randomness. Both depend on
- the random(4) device driver..</p>
- <p>A couple of years ago, there was extensive mailing list discussion
- (archived <a
- href="http://www.openpgp.net/random/index.html">here</a>)of Linux
- /dev/random and FreeS/WAN. Since then, the design of the random(4)
- driver has changed considerably. Linux 2.4 kernels have the new
- driver..</p>
- </dd>
- <dt>Raptor</dt>
- <dd>A firewall product for Windows NT offerring IPsec-based VPN services.
- Linux FreeS/WAN interoperates with Raptor; see our <a
- href="interop.html#Raptor">interop</a> document for details. Raptor
- have recently merged with Axent.</dd>
- <dt><a name="RC4">RC4</a></dt>
- <dd><b>R</b>ivest <b>C</b>ipher four, designed by Ron Rivest of <a
- href="#RSAco">RSA</a> and widely used. Believed highly secure with
- adequate key length, but often implemented with inadequate key length
- to comply with export restrictions.</dd>
- <dt><a name="RC6">RC6</a></dt>
- <dd><b>R</b>ivest <b>C</b>ipher six, <a href="#RSAco">RSA</a>'s <a
- href="#AES">AES</a> candidate cipher.</dd>
- <dt><a name="replay">Replay attack</a></dt>
- <dd>An attack in which the attacker records data and later replays it in
- an attempt to deceive the recipient.</dd>
- <dt><a name="reverse">Reverse map</a></dt>
- <dd>In <a href="#DNS">DNS</a>, a table where IP addresses can be used as
- the key for lookups which return a system name and/or other
- information.</dd>
- <dt>RFC</dt>
- <dd><b>R</b>equest <b>F</b>or <b>C</b>omments, an Internet document. Some
- RFCs are just informative. Others are standards.
- <p>Our list of <a href="#IPSEC">IPsec</a> and other security-related
- RFCs is <a href="rfc.html#RFC">here</a>, along with information on
- methods of obtaining them.</p>
- </dd>
- <dt><a name="rijndael">Rijndael</a></dt>
- <dd>a <a href="#block">block cipher</a> designed by two Belgian
- cryptographers, winner of the US government's <a href="#AES">AES</a>
- contest to pick a replacement for <a href="#DES">DES</a>. See the <a
- href="http://www.esat.kuleuven.ac.be/~rijmen/rijndael">Rijndael home
- page</a>.</dd>
- <dt><a name="RIPEMD">RIPEMD</a></dt>
- <dd>A <a href="#digest">message digest</a> algorithm. The current version
- is RIPEMD-160 which gives a 160-bit hash.</dd>
- <dt><a name="rootCA">Root CA</a></dt>
- <dd>The top level <a href="#CA">Certification Authority</a> in a hierachy
- of such authorities.</dd>
- <dt><a name="routable">Routable IP address</a></dt>
- <dd>Most IP addresses can be used as "to" and "from" addresses in packet
- headers. These are the routable addresses; we expect routing to be
- possible for them. If we send a packet to one of them, we expect (in
- most cases; there are various complications) that it will be delivered
- if the address is in use and will cause an <a
- href="#ICMP.gloss">ICMP</a> error packet to come back to us if not.
- <p>There are also several classes of <a
- href="#non-routable">non-routable</a> IP addresses.</p>
- </dd>
- <dt><a name="RSA">RSA algorithm</a></dt>
- <dd><b>R</b>ivest <b>S</b>hamir <b>A</b>dleman <a href="#public">public
- key</a> algorithm, named for its three inventors. It is widely used and
- likely to become moreso since it became free of patent encumbrances in
- September 2000.
- <p>RSA can be used to provide either <a
- href="#encryption">encryption</a> or <a href="#signature">digital
- signatures</a>. In IPsec, it is used only for signatures. These provide
- gateway-to-gateway <a href="#authentication">authentication</a> for <a
- href="#IKE">IKE </a>negotiations.</p>
- <p>For a full explanation of the algorithm, consult one of the standard
- references such as <a href="biblio.html#schneier">Applied
- Cryptography</a>. A simple explanation is:</p>
- <p>The great 17th century French mathematician <a
- href="http://www-groups.dcs.st-andrews.ac.uk/~history/Mathematicians/Fermat.html">Fermat</a>
- proved that,</p>
- <p>for any prime p and number x, 0 &lt;= x &lt; p:</p>
- <pre> x^p == x modulo p
- x^(p-1) == 1 modulo p, non-zero x
- </pre>
- <p>From this it follows that if we have a pair of primes p, q and two
- numbers e, d such that:</p>
- <pre> ed == 1 modulo lcm( p-1, q-1)
- </pre>
- where lcm() is least common multiple, then<br>
- for all x, 0 &lt;= x &lt; pq:
- <pre> x^ed == x modulo pq
- </pre>
- <p>So we construct such as set of numbers p, q, e, d and publish the
- product N=pq and e as the public key. Using c for <a
- href="#ciphertext">ciphertext</a> and i for the input <a
- href="#plaintext">plaintext</a>, encryption is then:</p>
- <pre> c = i^e modulo N
- </pre>
- <p>An attacker cannot deduce i from the cyphertext c, short of either
- factoring N or solving the <a href="#dlog">discrete logarithm</a>
- problem for this field. If p, q are large primes (hundreds or thousands
- of bits) no efficient solution to either problem is known.</p>
- <p>The receiver, knowing the private key (N and d), can readily recover
- the plaintext p since:</p>
- <pre> c^d == (i^e)^d modulo N
- == i^ed modulo N
- == i modulo N
- </pre>
- <p>This gives an effective public key technique, with only a couple of
- problems. It uses a good deal of computer time, since calculations with
- large integers are not cheap, and there is no proof it is necessarily
- secure since no-one has proven either factoring or discrete log cannot
- be done efficiently. Quite a few good mathematicians have tried both
- problems, and no-one has announced success, but there is no proof they
- are insoluble.</p>
- </dd>
- <dt><a name="RSAco">RSA Data Security</a></dt>
- <dd>A company founded by the inventors of the <a href="#RSA">RSA</a>
- public key algorithm.</dd>
- <dt><a name="S">S</a></dt>
- <dt><a name="SA">SA</a></dt>
- <dd><b>S</b>ecurity <b>A</b>ssociation, the channel negotiated by the
- higher levels of an <a href="#IPSEC">IPsec</a> implementation (<a
- href="#IKE">IKE</a>) and used by the lower (<a href="#ESP">ESP</a> and
- <a href="#AH">AH</a>). SAs are unidirectional; you need a pair of them
- for two-way communication.
- <p>An SA is defined by three things -- the destination, the protocol
- (<a href="#AH">AH</a> or<a href="#ESP">ESP</a>) and the <a
- href="SPI">SPI</a>, security parameters index. It is used as an index
- to look up other things such as session keys and intialisation
- vectors.</p>
- <p>For more detail, see our section on <a href="ipsec.html">IPsec</a>
- and/or RFC 2401.</p>
- </dd>
- <dt><a name="SElinux">SE Linux</a></dt>
- <dd><strong>S</strong>ecurity <strong>E</strong>nhanced Linux, an <a
- href="#NSA">NSA</a>-funded project to add <a
- href="#mandatory">mandatory access control</a> to Linux. See the <a
- href="http://www.nsa.gov/selinux">project home page</a>.
- <p>According to their web pages, this work will include extending
- mandatory access controls to IPsec tunnels.</p>
- <p>Recent versions of SE Linux code use the <a href="#LSM">Linux
- Security Module</a> interface.</p>
- </dd>
- <dt><a name="SDNS">Secure DNS</a></dt>
- <dd>A version of the <a href="#DNS">DNS or Domain Name Service</a>
- enhanced with authentication services. This is being designed by the <a
- href="#IETF">IETF</a> DNS security <a
- href="http://www.ietf.org/ids.by.wg/dnssec.html">working group</a>.
- Check the <a href="http://www.isc.org/bind.html">Internet Software
- Consortium</a> for information on implementation progress and for the
- latest version of <a href="#BIND">BIND</a>. Another site has <a
- href="http://www.toad.com/~dnssec">more information</a>.
- <p><a href="#IPSEC">IPsec</a> can use this plus <a
- href="#DH">Diffie-Hellman key exchange</a> to bootstrap itself. This
- allows <a href="#carpediem">opportunistic encryption</a>. Any pair of
- machines which can authenticate each other via DNS can communicate
- securely, without either a pre-existing shared secret or a shared <a
- href="#PKI">PKI</a>.</p>
- </dd>
- <dt>Secret key cryptography</dt>
- <dd>See <a href="#symmetric">symmetric cryptography</a></dd>
- <dt>Security Association</dt>
- <dd>see <a href="#SA">SA</a></dd>
- <dt>Security Enhanced Linux</dt>
- <dd>see <a href="#SElinux">SE Linux</a></dd>
- <dt><a name="sequence">Sequence number</a></dt>
- <dd>A number added to a packet or message which indicates its position in
- a sequence of packets or messages. This provides some security against
- <a href="#replay">replay attacks</a>.
- <p>For <a href="#auto">automatic keying</a> mode, the <a
- href="#IPSEC">IPsec</a> RFCs require that the sender generate sequence
- numbers for each packet, but leave it optional whether the receiver
- does anything with them.</p>
- </dd>
- <dt><a name="SHA">SHA</a></dt>
- <dt>SHA-1</dt>
- <dd><b>S</b>ecure <b>H</b>ash <b>A</b>lgorithm, a <a
- href="#digest">message digest algorithm</a> developed by the <a
- href="#NSA">NSA</a> for use in the Digital Signature standard, <a
- href="#FIPS">FIPS</a> number 186 from <a href="#NIST">NIST</a>. SHA is
- an improved variant of <a href="#MD4">MD4</a> producing a 160-bit hash.
- <p>SHA is one of two message digest algorithms available in IPsec. The
- other is <a href="#MD5">MD5</a>. Some people do not trust SHA because
- it was developed by the <a href="#NSA">NSA</a>. There is, as far as we
- know, no cryptographic evidence that SHA is untrustworthy, but this
- does not prevent that view from being strongly held.</p>
- <p>The NSA made one small change after the release of the original SHA.
- They did not give reasons. Iit may be a defense against some attack
- they found and do not wish to disclose. Technically the modified
- algorithm should be called SHA-1, but since it has replaced the
- original algorithm in nearly all applications, it is generally just
- referred to as SHA..</p>
- </dd>
- <dt><a name="SHA-256">SHA-256</a></dt>
- <dt>SHA-384</dt>
- <dt>SHA-512</dt>
- <dd>Newer variants of SHA designed to match the strength of the 128, 192
- and 256-bit keys of <a href="#AES">AES</a>. The work to break an
- encryption algorithm's strength by <a href="#brute">brute force</a> is
- 2
- <math xmlns="http://www.w3.org/1998/Math/MathML">
- <msup>
- <mi>keylength</mi>
- </msup>
- </math>
- operations but a <a href="birthday">birthday attack </a>on a hash
- needs only 2
- <math xmlns="http://www.w3.org/1998/Math/MathML">
- <msup>
- <mrow>
- <mi>hashlength</mi>
- <mo>/</mo>
- <mn>2</mn>
- </mrow>
- </msup>
- </math>
- , so as a general rule you need a hash twice the size of the key to
- get similar strength. SHA-256, SHA-384 and SHA-512 are designed to
- match the 128, 192 and 256-bit key sizes of AES, respectively.</dd>
- <dt><a name="SIGINT">Signals intelligence (SIGINT)</a></dt>
- <dd>Activities of government agencies from various nations aimed at
- protecting their own communications and reading those of others.
- Cryptography, cryptanalysis, wiretapping, interception and monitoring
- of various sorts of signals. The players include the American <a
- href="#NSA">NSA</a>, British <a href="#GCHQ">GCHQ</a> and Canadian <a
- href="#CSE">CSE</a>.</dd>
- <dt><a name="SKIP">SKIP</a></dt>
- <dd><b>S</b>imple <b>K</b>ey management for <b>I</b>nternet
- <b>P</b>rotocols, an alternative to <a href="#IKE">IKE</a> developed by
- Sun and being marketed by their <a
- href="http://skip.incog.com">Internet Commerce Group</a>.</dd>
- <dt><a name="snake">Snake oil</a></dt>
- <dd>Bogus cryptography. See the <a
- href="http://www.interhack.net/people/cmcurtin/snake-oil-faq.html">
- Snake Oil FAQ</a> or <a
- href="http://www.counterpane.com/crypto-gram-9902.html#snakeoil">this
- paper</a> by Schneier.</dd>
- <dt><a name="SPI">SPI</a></dt>
- <dd><b>S</b>ecurity <b>P</b>arameter <b>I</b>ndex, an index used within
- <a href="#IPSEC">IPsec</a> to keep connections distinct. A <a
- href="#SA">Security Association (SA)</a> is defined by destination,
- protocol and SPI. Without the SPI, two connections to the same gateway
- using the same protocol could not be distinguished.
- <p>For more detail, see our <a href="ipsec.html">IPsec</a> section
- and/or RFC 2401.</p>
- </dd>
- <dt><a name="SSH">SSH</a></dt>
- <dd><b>S</b>ecure <b>SH</b>ell, an encrypting replacement for the
- insecure Berkeley commands whose names begin with "r" for "remote":
- rsh, rlogin, etc.
- <p>For more information on SSH, including how to obtain it, see our
- cryptography <a href="web.html#tools">links</a>.</p>
- </dd>
- <dt><a name="SSHco">SSH Communications Security</a></dt>
- <dd>A company founded by the authors of <a href="#SSH">SSH</a>. Offices
- are in <a href="http://www.ssh.fi">Finland</a> and <a
- href="http://www.ipsec.com">California</a>. They have a toolkit for
- developers of IPsec applications.</dd>
- <dt><a name="SSL">SSL</a></dt>
- <dd><a href="http://home.netscape.com/eng/ssl3">Secure Sockets Layer</a>,
- a set of encryption and authentication services for web browsers,
- developed by Netscape. Widely used in Internet commerce. Also known as
- <a href="#TLS">TLS</a>.</dd>
- <dt>SSLeay</dt>
- <dd>A free implementation of <a href="#SSL">SSL</a> by Eric Young (eay)
- and others. Developed in Australia; not subject to US export
- controls.</dd>
- <dt><a name="static">static IP address</a></dt>
- <dd>an IP adddress which is pre-set on the machine itself, as opposed to
- a <a href="#dynamic">dynamic address</a> which is assigned by a <a
- href="#DHCP">DHCP</a> server or obtained as part of the process of
- establishing a <a href="#PPP">PPP</a> or <a href="#PPPoE">PPPoE</a>
- connection</dd>
- <dt><a name="stream">Stream cipher</a></dt>
- <dd>A <a href="#symmetric">symmetric cipher</a> which produces a stream
- of output which can be combined (often using XOR or bytewise addition)
- with the plaintext to produce ciphertext. Contrasts with <a
- href="#block">block cipher</a>.
- <p><a href="#IPSEC">IPsec</a> does not use stream ciphers. Their main
- application is link-level encryption, for example of voice, video or
- data streams on a wire or a radio signal.</p>
- </dd>
- <dt><a name="subnet">subnet</a></dt>
- <dd>A group of IP addresses which are logically one network, typically
- (but not always) assigned to a group of physically connected machines.
- The range of addresses in a subnet is described using a subnet mask.
- See next entry.</dd>
- <dt>subnet mask</dt>
- <dd>A method of indicating the addresses included in a subnet. Here are
- two equivalent examples:
- <ul>
- <li>101.101.101.0/24</li>
- <li>101.101.101.0 with mask 255.255.255.0</li>
- </ul>
- <p>The '24' is shorthand for a mask with the top 24 bits one and the
- rest zero. This is exactly the same as 255.255.255.0 which has three
- all-ones bytes and one all-zeros byte.</p>
- <p>These indicate that, for this range of addresses, the top 24 bits
- are to be treated as naming a network (often referred to as "the
- 101.101.101.0/24 subnet") while most combinations of the low 8 bits can
- be used to designate machines on that network. Two addresses are
- reserved; 101.101.101.0 refers to the subnet rather than a specific
- machine while 101.101.101.255 is a broadcast address. 1 to 254 are
- available for machines.</p>
- <p>It is common to find subnets arranged in a hierarchy. For example, a
- large company might have a /16 subnet and allocate /24 subnets within
- that to departments. An ISP might have a large subnet and allocate /26
- subnets (64 addresses, 62 usable) to business customers and /29 subnets
- (8 addresses, 6 usable) to residential clients.</p>
- </dd>
- <dt><a name="SWAN">S/WAN</a></dt>
- <dd>Secure Wide Area Network, a project involving <a href="#RSAco">RSA
- Data Security</a> and a number of other companies. The goal was to
- ensure that all their <a href="#IPSEC">IPsec</a> implementations would
- interoperate so that their customers can communicate with each other
- securely.</dd>
- <dt><a name="symmetric">Symmetric cryptography</a></dt>
- <dd>Symmetric cryptography, also referred to as conventional or secret
- key cryptography, relies on a <em>shared secret key</em>, identical for
- sender and receiver. Sender encrypts with that key, receiver decrypts
- with it. The idea is that an eavesdropper without the key be unable to
- read the messages. There are two main types of symmetric cipher, <a
- href="#block">block ciphers</a> and <a href="#stream">stream
- ciphers</a>.
- <p>Symmetric cryptography contrasts with <a href="#public">public
- key</a> or asymmetric systems where the two players use different
- keys.</p>
- <p>The great difficulty in symmetric cryptography is, of course, key
- management. Sender and receiver <em>must</em> have identical keys and
- those keys <em>must</em> be kept secret from everyone else. Not too
- much of a problem if only two people are involved and they can
- conveniently meet privately or employ a trusted courier. Quite a
- problem, though, in other circumstances.</p>
- <p>It gets much worse if there are many people. An application might be
- written to use only one key for communication among 100 people, for
- example, but there would be serious problems. Do you actually trust all
- of them that much? Do they trust each other that much? Should they?
- What is at risk if that key is compromised? How are you going to
- distribute that key to everyone without risking its secrecy? What do
- you do when one of them leaves the company? Will you even know?</p>
- <p>On the other hand, if you need unique keys for every possible
- connection between a group of 100, then each user must have 99 keys.
- You need either 99*100/2 = 4950 <em>secure</em> key exchanges between
- users or a central authority that <em>securely</em> distributes 100 key
- packets, each with a different set of 99 keys.</p>
- <p>Either of these is possible, though tricky, for 100 users. Either
- becomes an administrative nightmare for larger numbers. Moreover, keys
- <em>must</em> be changed regularly, so the problem of key distribution
- comes up again and again. If you use the same key for many messages
- then an attacker has more text to work with in an attempt to crack that
- key. Moreover, one successful crack will give him or her the text of
- all those messages.</p>
- <p>In short, the <em>hardest part of conventional cryptography is key
- management</em>. Today the standard solution is to build a <a
- href="#hybrid">hybrid system</a> using <a href="#public">public key</a>
- techniques to manage keys.</p>
- </dd>
- <dt><a name="T">T</a></dt>
- <dt><a name="TIS">TIS</a></dt>
- <dd>Trusted Information Systems, a firewall vendor now part of <a
- href="#NAI">NAI</a>. Their Gauntlet product offers IPsec VPN services.
- TIS implemented the first version of <a href="#SDNS">Secure DNS</a> on
- a <a href="#DARPA">DARPA</a> contract.</dd>
- <dt><a name="TLS">TLS</a></dt>
- <dd><b>T</b>ransport <b>L</b>ayer <b>S</b>ecurity, a newer name for <a
- href="#SSL">SSL</a>.</dd>
- <dt><a name="TOS">TOS field</a></dt>
- <dd>The <strong>T</strong>ype <strong>O</strong>f
- <strong>S</strong>ervice field in an IP header, used to control
- qualkity of service routing.</dd>
- <dt><a name="traffic">Traffic analysis</a></dt>
- <dd>Deducing useful intelligence from patterns of message traffic,
- without breaking codes or reading the messages. In one case during
- World War II, the British guessed an attack was coming because all
- German radio traffic stopped. The "radio silence" order, intended to
- preserve security, actually gave the game away.
- <p>In an industrial espionage situation, one might deduce something
- interesting just by knowing that company A and company B were talking,
- especially if one were able to tell which departments were involved, or
- if one already knew that A was looking for acquisitions and B was
- seeking funds for expansion.</p>
- <p>In general, traffic analysis by itself is not very useful. However,
- in the context of a larger intelligence effort where quite a bit is
- already known, it can be very useful. When you are solving a complex
- puzzle, every little bit helps.</p>
- <p><a href="#IPSEC">IPsec</a> itself does not defend against traffic
- analysis, but carefully thought out systems using IPsec can provide at
- least partial protection. In particular, one might want to encrypt more
- traffic than was strictly necessary, route things in odd ways, or even
- encrypt dummy packets, to confuse the analyst. We discuss this <a
- href="ipsec.html#traffic.resist">here</a>.</p>
- </dd>
- <dt><a name="transport">Transport mode</a></dt>
- <dd>An IPsec application in which the IPsec gateway is the destination of
- the protected packets, a machine acts as its own gateway. Contrast with
- <a href="#tunnel">tunnel mode</a>.</dd>
- <dt>Triple DES</dt>
- <dd>see <a href="#3DES">3DES</a></dd>
- <dt><a name="TTL">TTL</a></dt>
- <dd><strong>T</strong>ime <strong>T</strong>o <strong>L</strong>ive, used
- to control <a href="#DNS">DNS</a> caching. Servers discard cached
- records whose TTL expires</dd>
- <dt><a name="tunnel">Tunnel mode</a></dt>
- <dd>An IPsec application in which an IPsec gateway provides protection
- for packets to and from other systems. Contrast with <a
- href="#transport">transport mode</a>.</dd>
- <dt><a name="2key">Two-key Triple DES</a></dt>
- <dd>A variant of <a href="#3DES">triple DES or 3DES</a> in which only two
- keys are used. As in the three-key version, the order of operations is
- <a href="#EDE">EDE</a> or encrypt-decrypt-encrypt, but in the two-key
- variant the first and third keys are the same.
- <p>3DES with three keys has 3*56 = 168 bits of key but has only 112-bit
- strength against a <a href="#meet">meet-in-the-middle</a> attack, so it
- is possible that the two key version is just as strong. Last I looked,
- this was an open question in the research literature.</p>
- <p>RFC 2451 defines triple DES for <a href="#IPSEC">IPsec</a> as the
- three-key variant. The two-key variant should not be used and is not
- implemented directly in <a href="#FreeSWAN">Linux FreeS/WAN</a>. It
- cannot be used in automatically keyed mode without major fiddles in the
- source code. For manually keyed connections, you could make Linux
- FreeS/WAN talk to a two-key implementation by setting two keys the same
- in /etc/ipsec.conf.</p>
- </dd>
- <dt><a name="U">U</a></dt>
- <dt><a name="V">V</a></dt>
- <dt><a name="virtual">Virtual Interface</a></dt>
- <dd>A <a href="#Linux">Linux</a> feature which allows one physical
- network interface to have two or more IP addresses. See the <cite>Linux
- Network Administrator's Guide</cite> in <a
- href="biblio.html#kirch">book form</a> or <a
- href="http://metalab.unc.edu/LDP/LDP/nag/node1.html">on the web</a> for
- details.</dd>
- <dt>Virtual Private Network</dt>
- <dd>see <a href="#VPN">VPN</a></dd>
- <dt><a name="VPN">VPN</a></dt>
- <dd><b>V</b>irtual <b>P</b>rivate <b>N</b>etwork, a network which can
- safely be used as if it were private, even though some of its
- communication uses insecure connections. All traffic on those
- connections is encrypted.
- <p><a href="#IPSEC">IPsec</a> is not the only technique available for
- building VPNs, but it is the only method defined by <a
- href="#RFC">RFCs</a> and supported by many vendors. VPNs are by no
- means the only thing you can do with IPsec, but they may be the most
- important application for many users.</p>
- </dd>
- <dt><a name="VPNC">VPNC</a></dt>
- <dd><a href="http://www.vpnc.org">Virtual Private Network Consortium</a>,
- an association of vendors of VPN products.</dd>
- <dt><a name="W">W</a></dt>
- <dt><a name="Wassenaar.gloss">Wassenaar Arrangement</a></dt>
- <dd>An international agreement restricting export of munitions and other
- tools of war. Unfortunately, cryptographic software is also restricted
- under the current version of the agreement. <a
- href="politics.html#Wassenaar">Discussion</a>.</dd>
- <dt><a name="web">Web of Trust</a></dt>
- <dd><a href="#PGP">PGP</a>'s method of certifying keys. Any user can sign
- a key; you decide which signatures or combinations of signatures to
- accept as certification. This contrasts with the hierarchy of <a
- href="#CA">CAs (Certification Authorities)</a> used in many <a
- href="#PKI">PKIs (Public Key Infrastructures)</a>.
- <p>See <a href="#GTR">Global Trust Register</a> for an interesting
- addition to the web of trust.</p>
- </dd>
- <dt><a name="WEP">WEP (Wired Equivalent Privacy)</a></dt>
- <dd>The cryptographic part of the <a href="#IEEE">IEEE</a> standard for
- wireless LANs. As the name suggests, this is designed to be only as
- secure as a normal wired ethernet. Anyone with a network conection can
- tap it. Its advocates would claim this is good design, refusing to
- build in complex features beyond the actual requirements.
- <p>Critics refer to WEP as "Wire<em>tap</em> Equivalent Privacy", and
- consider it a horribly flawed design based on bogus "requirements". You
- do not control radio waves as you might control your wires, so the
- metaphor in the rationale is utterly inapplicable. A security policy
- that chooses not to invest resources in protecting against certain
- attacks which can only be conducted by people physically plugged into
- your LAN may or may not be reasonable. The same policy is completely
- unreasonable when someone can "plug in" from a laptop half a block
- away..</p>
- <p>There has been considerable analysis indicating that WEP is
- seriously flawed. A FAQ on attacks against WEP is available. Part of it
- reads:</p>
-
- <blockquote>
- ... attacks are practical to mount using only inexpensive
- off-the-shelf equipment. We recommend that anyone using an 802.11
- wireless network not rely on WEP for security, and employ other
- security measures to protect their wireless network. Note that our
- attacks apply to both 40-bit and the so-called 128-bit versions of
- WEP equally well.</blockquote>
- <p>WEP appears to be yet another instance of governments, and
- unfortunately some vendors and standards bodies, deliberately promoting
- hopelessly flawed "security" products, apparently mainly for the
- benefit of eavesdropping agencies. See this <a
- href="politics.html#weak">discussion</a>.</p>
- </dd>
- <dt><a name="X">X</a></dt>
- <dt><a name="X509">X.509</a></dt>
- <dd>A standard from the <a href="http://www.itu.int">ITU (International
- Telecommunication Union)</a>, for hierarchical directories with
- authentication services, used in many <a href="#PKI">PKI</a>
- implementations.
- <p>Use of X.509 services, via the <a href="#LDAP">LDAP protocol</a>,
- for certification of keys is allowed but not required by the <a
- href="#IPSEC">IPsec</a> RFCs. It is not yet implemented in <a
- href="#FreeSWAN">Linux FreeS/WAN</a>.</p>
- </dd>
- <dt>Xedia</dt>
- <dd>A vendor of router and Internet access products, now part of Lucent.
- Their QVPN products interoperate with Linux FreeS/WAN; see our <a
- href="interop.html#Xedia">interop document</a>.</dd>
- <dt><a name="Y">Y</a></dt>
- <dt><a name="Z">Z</a></dt>
-</dl>
-</body>
-</html>