aboutsummaryrefslogtreecommitdiff
path: root/da_DK.ISO8859-1/articles/ipsec-must/article.sgml
diff options
context:
space:
mode:
authorGabor Kovesdan <gabor@FreeBSD.org>2012-10-01 09:53:01 +0000
committerGabor Kovesdan <gabor@FreeBSD.org>2012-10-01 09:53:01 +0000
commitb4346b9b2dfe86a97907573086dff096850dcb1d (patch)
tree9b951977cbd22dada9b868ac83b1d56791ea3859 /da_DK.ISO8859-1/articles/ipsec-must/article.sgml
parentbee5d224febbeba11356aa848006a4f5f9e24b30 (diff)
downloaddoc-b4346b9b2dfe86a97907573086dff096850dcb1d.tar.gz
doc-b4346b9b2dfe86a97907573086dff096850dcb1d.zip
- Rename .sgml files to .xml
- Reflect the rename in referencing files Approved by: doceng (implicit)
Notes
Notes: svn path=/head/; revision=39631
Diffstat (limited to 'da_DK.ISO8859-1/articles/ipsec-must/article.sgml')
-rw-r--r--da_DK.ISO8859-1/articles/ipsec-must/article.sgml359
1 files changed, 0 insertions, 359 deletions
diff --git a/da_DK.ISO8859-1/articles/ipsec-must/article.sgml b/da_DK.ISO8859-1/articles/ipsec-must/article.sgml
deleted file mode 100644
index 033ecc6db5..0000000000
--- a/da_DK.ISO8859-1/articles/ipsec-must/article.sgml
+++ /dev/null
@@ -1,359 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
-<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN"
- "../../../share/sgml/freebsd42.dtd" [
-<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//DA" "../../share/sgml/entities.ent">
-%entities;
-]>
-
-<!--
- The FreeBSD Documentation Project
- The FreeBSD Danish Documentation Project
-
- $FreeBSD$
- Original revision: 1.13
--->
-
-<article lang="da">
- <articleinfo>
- <title>Uafhængig Verifikation af IPsec Funktionalitet i
- &os;</title>
-
- <author>
- <firstname>David</firstname>
- <surname>Honig</surname>
-
- <affiliation>
- <address><email>honig@sprynet.com</email></address>
- </affiliation>
- </author>
-
- <pubdate>3 Maj 1999</pubdate>
-
- <legalnotice id="trademarks" role="trademarks">
- &tm-attrib.freebsd;
- &tm-attrib.opengroup;
- &tm-attrib.general;
- </legalnotice>
-
- <releaseinfo>$FreeBSD$</releaseinfo>
-
- <abstract>
- &trans.da.jespersen;
-
- <para>Du installerede IPsec og det ser ud til at virke. Men
- hvordan ved du det? Jeg beskriver en metode til
- eksperimentalt at verificere at IPsec virker.</para>
- </abstract>
- </articleinfo>
-
- <sect1 id="problem">
- <title>Problemet</title>
-
- <para>Lad os antage, at du har <link linkend="ipsec-install">
- installeret <emphasis>IPsec</emphasis></link>. Hvordan ved du
- at det <link linkend="caveat">virker</link>?
- Selvfølgelig virker din forbindelse ikke hvis den er
- miskonfigureret, og den vil virke når du endelig laver det
- rigtigt. &man.netstat.1; lister den. Men kan du verificere det
- uafhængigt?</para>
- </sect1>
-
- <sect1 id="solution">
- <title>Løsningen</title>
-
- <para>Først, noget krypto-relevant teoretisk
- information:</para>
-
- <orderedlist>
- <listitem>
- <para>krypterede data er uniformt distribueret, som f.eks. har
- maksimal entropi pr. symbol;</para>
- </listitem>
-
- <listitem>
- <para>rå, ukomprimerede data er typisk redundant,
- f.eks., har sub-maksimal entropi.</para>
- </listitem>
- </orderedlist>
-
- <para>Hvis du kunne måle entropien af dataene til og fra dit
- netværks interface. Så kunne du se forskellen
- mellem ukrypterede og krypterede data. Det ville være
- tilfældet selvom nogle af dataene i <quote>krypteret
- mode</quote> ikke var krypterede, som f.eks. den yderste IP
- header skal være, hvis pakken skal kunne routes.</para>
-
- <sect2 id="MUST">
- <title>MUST</title>
-
- <para>Ueli Maurers <quote>Universal Statistical Test for Random
- Bit Generators</quote> (<ulink
- url="http://www.geocities.com/SiliconValley/Code/4704/universal.pdf">
- <acronym>MUST</acronym></ulink>) måler hurtigt entropien
- af en stikprøve. Den bruger en kompressionsagtig
- algoritme. <link linkend="code">Forneden angives
- kildekoden</link> til en variant der måler successive
- (~kvart megabyte) store bidder af en fil.</para>
- </sect2>
-
- <sect2 id="tcpdump">
- <title>Tcpdump</title>
-
- <para>Vi har også brug for en måde at opsamle de
- rå netværksdata. Et program kaldet
- &man.tcpdump.1; lader dig gøre dette, hvis du har slået
- <emphasis>Berkeley Packet Filter</emphasis> interfacet til i
- din <link linkend="kernel">kerne konfig fil</link>.</para>
-
- <para>Kommandoen</para>
-
- <screen><userinput><command>tcpdump</command> -c 4000 -s 10000 -w <replaceable>dumpfile.bin</replaceable></userinput></screen>
-
- <para>vil opfange 4000 rå pakker til
- <replaceable>dumpfile.bin</replaceable>. Op til 10.000 bytes
- per pakke bliver opfanget i dette eksempel.</para>
- </sect2>
- </sect1>
-
- <sect1 id="experiment">
- <title>Eksperimentet</title>
-
- <para>Her er eksperimentet:</para>
-
- <procedure>
- <step>
- <para>Åbn et vindue til en IPsec vært og et andet
- vindue til en usikker vært.</para>
- </step>
-
- <step>
- <para>Start nu med at <link linkend="tcpdump">opfange
- pakker</link>.</para>
- </step>
-
- <step>
- <para>I det <quote>sikre</quote> vindue, køres &unix;
- kommandoen &man.yes.1;, hvilket vil streame
- <literal>y</literal> karakteren. Stop dette efter et stykke
- tid. Skift til det usikre vindue, og gentag. Stop igen efter
- et stykke tid.</para>
- </step>
-
- <step>
- <para>Kør nu <link linkend="code">MUST</link> på de
- opfangede pakker. Du skulle se noget lignende det
- følgende. Det vigtige at notere sig er, at den sikre
- forbindelse har 93% (6,7) af den ventede værdi (7.18),
- og den <quote>normale</quote> forbindelse har 29% (2.1) af den
- ventede værdi.</para>
-
- <screen>&prompt.user; <userinput>tcpdump -c 4000 -s 10000 -w <replaceable>ipsecdemo.bin</replaceable></userinput>
-&prompt.user; <userinput>uliscan <replaceable>ipsecdemo.bin</replaceable></userinput>
-
-Uliscan 21 Dec 98
-L=8 256 258560
-Measuring file ipsecdemo.bin
-Init done
-Expected value for L=8 is 7.1836656
-6.9396 --------------------------------------------------------
-6.6177 -----------------------------------------------------
-6.4100 ---------------------------------------------------
-2.1101 -----------------
-2.0838 -----------------
-2.0983 -----------------</screen>
- </step>
- </procedure>
- </sect1>
-
- <sect1 id="caveat">
- <title>Undtagelse</title>
-
- <para>Dette eksperiment viser at, IPsec <emphasis>kan</emphasis>
- se ud til at distribuere payload data
- <emphasis>uniformt</emphasis>, som kryptering skal. Men det
- eksperiment der er beskrevet her <emphasis>kan ikke</emphasis>
- detektere mange mulige fejl i et system (ingen af hvilke jeg har
- nogle beviser for). Disse inkluderer dårlig nøgle
- generering eller udveksling, data eller nøgler der kan
- ses af andre, brug af svage algoritmer, kernel undergravning,
- osv. Studér kildekoden; kend kildekoden.</para>
- </sect1>
-
- <sect1 id="IPsec">
- <title>IPsec---Definition</title>
-
- <para>Internet Protokol sikkerheds udvidelser til IPv4;
- krævet for IPv6. En protokol til at forhandle kryptering
- og autentifikation på IP (vært-til-vært)
- niveau. SSL sikrer kun en applikationssocket;
- <application>SSH</application> sikrer kun et login;
- <application>PGP</application> sikrer kun en specifik fil eller
- besked. IPsec krypterer alting mellem to værter.</para>
- </sect1>
-
- <sect1 id="ipsec-install">
- <title>Installering af IPsec</title>
-
- <para>De fleste af de moderne versioner af &os; har IPsec
- support i deres base kildekode. Så du er sikkert
- nødt til at inkludere <option>IPSEC</option> optionen i
- din kernel konfig og, efter genbygning og reinstallation af
- kernel, konfigurere IPsec forbindelser ved hjælp af
- &man.setkey.8; kommandoen.</para>
-
- <para>En udførlig guide om at køre IPsec på
- &os; er tilrådighed i <ulink
- url="../../books/handbook/ipsec.html">FreeBSD
- Håndbogen</ulink>.</para>
- </sect1>
-
- <sect1 id="kernel">
- <title>src/sys/i386/conf/KERNELNAME</title>
-
- <para>Dette skal være til stede i kernel konfig filen for at
- være i stand til at opfange netværksdata med
- &man.tcpdump.1;. Vær sikker på at køre
- &man.config.8; efter at tilføje dette, og genbygge og
- reinstallere.</para>
-
- <programlisting>device bpf</programlisting>
- </sect1>
-
- <sect1 id="code">
- <title>Maurers universelle statistiske test (for blok
- størrelse=8 bits)</title>
-
- <para>Du kan finde samme kode på <ulink
- url="http://www.geocities.com/SiliconValley/Code/4704/uliscanc.txt">
- dette link</ulink>.</para>
-
-<programlisting>/*
- ULISCAN.c ---blocksize of 8
-
- 1 Oct 98
- 1 Dec 98
- 21 Dec 98 uliscan.c derived from ueli8.c
-
- This version has // comments removed for Sun cc
-
- This implements Ueli M Maurer's "Universal Statistical Test for Random
- Bit Generators" using L=8
-
- Accepts a filename on the command line; writes its results, with other
- info, to stdout.
-
- Handles input file exhaustion gracefully.
-
- Ref: J. Cryptology v 5 no 2, 1992 pp 89-105
- also on the web somewhere, which is where I found it.
-
- -David Honig
- honig@sprynet.com
-
- Usage:
- ULISCAN filename
- outputs to stdout
-*/
-
-#define L 8
-#define V (1&lt;&lt;L)
-#define Q (10*V)
-#define K (100 *Q)
-#define MAXSAMP (Q + K)
-
-#include &lt;stdio.h&gt;
-#include &lt;math.h&gt;
-
-int main(argc, argv)
-int argc;
-char **argv;
-{
- FILE *fptr;
- int i,j;
- int b, c;
- int table[V];
- double sum = 0.0;
- int iproduct = 1;
- int run;
-
- extern double log(/* double x */);
-
- printf("Uliscan 21 Dec 98 \nL=%d %d %d \n", L, V, MAXSAMP);
-
- if (argc &lt; 2) {
- printf("Usage: Uliscan filename\n");
- exit(-1);
- } else {
- printf("Measuring file %s\n", argv[1]);
- }
-
- fptr = fopen(argv[1],"rb");
-
- if (fptr == NULL) {
- printf("Can't find %s\n", argv[1]);
- exit(-1);
- }
-
- for (i = 0; i &lt; V; i++) {
- table[i] = 0;
- }
-
- for (i = 0; i &lt; Q; i++) {
- b = fgetc(fptr);
- table[b] = i;
- }
-
- printf("Init done\n");
-
- printf("Expected value for L=8 is 7.1836656\n");
-
- run = 1;
-
- while (run) {
- sum = 0.0;
- iproduct = 1;
-
- if (run)
- for (i = Q; run &amp;&amp; i &lt; Q + K; i++) {
- j = i;
- b = fgetc(fptr);
-
- if (b &lt; 0)
- run = 0;
-
- if (run) {
- if (table[b] &gt; j)
- j += K;
-
- sum += log((double)(j-table[b]));
-
- table[b] = i;
- }
- }
-
- if (!run)
- printf("Premature end of file; read %d blocks.\n", i - Q);
-
- sum = (sum/((double)(i - Q))) / log(2.0);
- printf("%4.4f ", sum);
-
- for (i = 0; i &lt; (int)(sum*8.0 + 0.50); i++)
- printf("-");
-
- printf("\n");
-
- /* refill initial table */
- if (0) {
- for (i = 0; i &lt; Q; i++) {
- b = fgetc(fptr);
- if (b &lt; 0) {
- run = 0;
- } else {
- table[b] = i;
- }
- }
- }
- }
-}</programlisting>
- </sect1>
-</article>