diff options
Diffstat (limited to 'doc/glossary.html')
-rw-r--r-- | doc/glossary.html | 2132 |
1 files changed, 0 insertions, 2132 deletions
diff --git a/doc/glossary.html b/doc/glossary.html deleted file mode 100644 index 3ca33810f..000000000 --- a/doc/glossary.html +++ /dev/null @@ -1,2132 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> -<HTML> -<HEAD> -<TITLE>Introduction to FreeS/WAN</TITLE> -<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1"> -<STYLE TYPE="text/css"><!-- -BODY { font-family: serif } -H1 { font-family: sans-serif } -H2 { font-family: sans-serif } -H3 { font-family: sans-serif } -H4 { font-family: sans-serif } -H5 { font-family: sans-serif } -H6 { font-family: sans-serif } -SUB { font-size: smaller } -SUP { font-size: smaller } -PRE { font-family: monospace } ---></STYLE> -</HEAD> -<BODY> -<A HREF="toc.html">Contents</A> -<A HREF="web.html">Previous</A> -<A HREF="biblio.html">Next</A> -<HR> -<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="biblio.html#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="web.html#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="web.html#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="ipsec.html#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="ipsec.html#DNS"> DNS</A> (Domain Name - Service). See our bibliography for a<A href="ipsec.html#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="ipsec.html#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="politics.html#desnotsecure"> - highly insecure</A> today.<A href="#3DES"> Triple DES</A> is the - default block cipher for<A href="web.html#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="biblio.html#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="web.html#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="politics.html#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="politics.html#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="web.html#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></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> -</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="web.html#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="web.html#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>,calculating<NOBR><VAR> x = 7</VAR>is straightforward. One - method is just to calculate<NOBR><VAR> 2^11 = 2048</VAR>,then<NOBR><VAR> - 2048 mod 13 == 7</VAR>.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>,find the logarithm<NOBR><VAR> y = 11</VAR>.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="web.html#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="web.html#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="web.html#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="politics.html#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="web.html#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.html#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="web.html#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="web.html#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="web.html#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="web.html#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="web.html#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="web.html#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="web.html#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="ipsec.html#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>work. Against triple DES, you need<NOBR> - 2<SUP>56</SUP> + 2<SUP>112</SUP> ~= 2<SUP>112</SUP>.</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 <= x <= 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>.</P> -</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="mail.html#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="mail.html#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="web.html#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="ipsec.html#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 <= x < 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 <= x < 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="ipsec.html#DNS"> DNS or Domain Name Service</A> - enhanced with authentication services. This is being designed by the<A href="mail.html#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="ipsec.html#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</(null)></(null)></(null)> 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</(null)> -<!--mo--> - /</(null)> -<!--mn--> - - 2</(null)></(null)></(null)></(null)> , 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="ipsec.html#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="web.html#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.html#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="web.html#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> -<HR> -<A HREF="toc.html">Contents</A> -<A HREF="web.html">Previous</A> -<A HREF="biblio.html">Next</A> -</BODY> -</HTML> |