+ <para>FreeBSD یک نشان تجاری ثبت شده متعلق به FreeBSD Foundation است.</para>
+ <para>Motif، OSF/1 و UNIX نشانهای تجاری ثبت شده و IT DialTone و The Open Group نشانهای تجاری متعلق به کنسرسیوم The Open Group در ایالات متحده و دیگر کشورها هستند.</para>
+ <para>بسیاری از عناوین مورد استفاده توسط تولیدکنندگان و فروشندگان برای مشخص کردن محصولاتشان به عنوان نشانهای تجاری اظهار شدهاند. در هر جای این سند که این عناوین ذکر شده باشند، در صورتی که پروژه FreeBSD از اظهارنامه آن نشان تجاری آگاه باشد، همراه عنوان علامت <quote>™</quote> یا <quote>®</quote> آمده است.</para>
+ <para>IPsec را نصب کردهاید و به نظر میرسد که کار هم میکند. ولی از کجا میدانید؟ من روشی را در اینجا تشریح میکنم که با آن میتوانید به طور آزمونگرانه تصدیق کنید که IPsec به درستی کار میکند.</para>
+ </abstract>
+ </info>
+
+ <sect1 xml:id="problem">
+ <title>تعریف مشکل</title>
+
+ <para>ابتدا، بیایید فرض کنیم که شما <link linkend="ipsec-install"><emphasis>IPsec</emphasis> را نصب کردهاید</link>. از کجا میدانید که به درستی <link linkend="caveat">کار میکند</link>؟ بله، درست است، اگر به درستی پیکربندی نشده بود اتصال شما کار نمیکرد، فقط وقتی آن را درست پیکربندی کرده باشید کار خواهد کرد. <citerefentry><refentrytitle>netstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> آن را فهرست خواهد کرد. ولی آیا به طور مستقل هم میتوانید آن را تصدیق کنید؟</para>
+ </sect1>
+
+ <sect1 xml:id="solution">
+ <title>راه حل</title>
+
+ <para>ابتدا، کمی اطلاعات تئوری در رابطه با رمزنگاری:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>دادههای رمزنگاریشده به طور یکنواخت توزیع میشوند. به عبارت دیگر، به ازای هر نماد، آنتروپی بیشینه دارند؛</para>
+ </listitem>
+
+ <listitem>
+ <para>دادههای خام و فشرده نشده عموما افزونگی دارند. به عبارت دیگر، آنتروپی فرو-بیشینه دارند.</para>
+ </listitem>
+ </orderedlist>
+
+ <para>فرض کنید که میتوانستید آنتروپی دادههای ارسالی به کارت شبکه و دریافتی از آن را اندازهگیری کنید. آنگاه میتوانستید تفاوت بین دادههای رمزنگاریشده و رمزنگارینشده را ببینید. این گفته حتی وقتی که مقداری از دادهها در <quote>حالت رمزنگاری</quote> عملا رمزنگارینشده باشند هم درست است. مثلا اگر قرار باشد بسته قابل مسیریابی باشد، آنگاه بیرونیترین سرایند IP نباید رمزنگاریشده باشد.</para>
+
+ <sect2 xml:id="MUST">
+ <title>MUST</title>
+
+ <para>ابزار <quote>Universal Statistical Test for Random Bit Generators</quote>(<link xlink:href="https://web.archive.org/web/20011115002319/http://www.geocities.com/SiliconValley/Code/4704/universal.pdf"> <acronym>MUST</acronym></link>) یولی مائورر میتواند آنتروپی یک نمونه را به سرعت اندازهگیری کند. این ابزار از یک الگوریتم شبه-فشردهسازی استفاده میکند. کد گونهای از این ابزار که قادر است به طور پیاپی (تقریبا یک چارک مگابایت) قطعات یک پرونده را اندازهگیری کند، <link linkend="code"> در زیر آورده شده است</link>.</para>
+ </sect2>
+
+ <sect2 xml:id="tcpdump">
+ <title>Tcpdump</title>
+
+ <para>ما همچنین به روشی نیاز داریم تا بتوانیم دادههای خام شبکه را ضبط کنیم. برنامهای به نام <citerefentry><refentrytitle>tcpdump</refentrytitle><manvolnum>1</manvolnum></citerefentry> اجازه انجام چنین کاری را به ما میدهد. برای استفاده از آن نیاز است تا در <link linkend="kernel">پرونده پیکربندی هسته</link> <emphasis>Berkeley Packet Filter</emphasis> را فعال کرده باشید.</para>
+ <para>۴۰۰۰ بسته خام را ضبط کرده و در <replaceable>dumpfile.bin</replaceable> ذخیره میکند. در این مثال، تا ۱۰٬۰۰۰ بایت در هر بسته ضبط خواهد شد.</para>
+ </sect2>
+ </sect1>
+
+ <sect1 xml:id="experiment">
+ <title>آزمایش</title>
+
+ <para>آزمایش از این قرار است:</para>
+
+ <procedure>
+ <step>
+ <para>یک پنجره به یک میزبانِ IPsec و پنجرهای دیگر به یک میزبان ناامن باز کنید.</para>
+ </step>
+
+ <step>
+ <para>حالا شروع به <link linkend="tcpdump">ضبط بستهها</link> نمایید.</para>
+ </step>
+
+ <step>
+ <para>حال در پنجره <quote>امن</quote>، دستور <trademark class="registered">یونیکسی</trademark> <citerefentry><refentrytitle>yes</refentrytitle><manvolnum>1</manvolnum></citerefentry> را اجرا کنید، که باعث خواهد شد کاراکتر <literal>y</literal> مثل یک جویبار روان شود. پس از مدتی، این دستور را متوقف کنید. به پنجره ناامن بروید و همین کار را تکرار کنید. پس از مدتی، آن را هم متوقف کنید.</para>
+ </step>
+
+ <step>
+ <para>حال <link linkend="code">MUST</link> را روی بستههای ضبط شده اجرا کنید. باید چیزی شبیه خروجی زیر را ببینید. نکته مهم این است که اتصال امن ۹۳٪ (۶.۷) از مقدار مورد انتظار (۷.۱۸) را دارد، و اتصال <quote>عادی</quote> تنها ۲۹٪ (۲.۱) از مقدار مورد انتظار را دارد.</para>
+ <para>این آزمایش نشان میدهد که IPsec ظاهرا دارد دادهها را <emphasis>به طور یکنواخت</emphasis> <emphasis>توزیع میکند</emphasis>، همانطور که از یک رمزنگاری انتظار میرود. با این حال، آزمایشی که در اینجا شرح آن رفت <emphasis>نمیتواند</emphasis> هیچگونه نقص احتمالی را در سامانه تشخیص دهد (که برای هیچکدام از آنها هیچ نشانهای ندارم). این نقصها میتوانند چیزهایی مثل تولید کلید ضعیف یا تبادل نادرست کلیدها، در معرض نمایش بودن کلیدها یا دادهها برای بقیه، استفاده از الگوریتم ضعیف، تخریب هسته از درون و غیره باشند. کدمنبع را بخوانید و با آن آشنا شوید.</para>
+ </sect1>
+
+ <sect1 xml:id="IPsec">
+ <title>IPsec---تعریف</title>
+
+ <para>افزونههای امنیتی قرارداد اینترنت برای IPv4؛ که در IPv6 الزامی است، قراردادی است برای مذاکره کردن روشهای رمزنگاری و احراز هویت در لایه IP (میزبان به میزبان). SSL تنها یک سوکت را ایمن میکند؛ <application>SSH</application> تنها یک ورود را ایمن میکند؛ <application>PGP</application> تنها یک پرونده یا پیغام را ایمن میکند. ولی IPsec همه چیز را بین دو میزبان ایمن میکند.</para>
+ </sect1>
+
+ <sect1 xml:id="ipsec-install">
+ <title>نصب IPsec</title>
+
+ <para>بیشتر نسخههای مدرن FreeBSD از IPsec در کدمنبعشان پشتیبانی میکنند. تنها نیاز است که شما گزینه <option>IPSEC</option> را در فایل پیکربندی هسته بگنجانید و پس از آنکه هسته را کامپایل و نصب کردید، با استفاده از دستور <citerefentry><refentrytitle>setkey</refentrytitle><manvolnum>8</manvolnum></citerefentry> اتصالات IPsec را پیکربندی کنید.</para>
+
+ <para>یک راهنمای جامع درباره راهاندازی IPsec در FreeBSD در <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/ipsec.html">کتاب راهنمای FreeBSD</link> آورده شده است.</para>
+ </sect1>
+
+ <sect1 xml:id="kernel">
+ <title>src/sys/i386/conf/KERNELNAME</title>
+
+ <para>نیاز است تا آن را در فایل پیکربندی هسته گنجانده باشید تا بتوان دادههای شبکه را با <citerefentry><refentrytitle>tcpdump</refentrytitle><manvolnum>1</manvolnum></citerefentry> ضبط کرد. مطمئن شوید که پس از اضافه کردن آن <citerefentry><refentrytitle>config</refentrytitle><manvolnum>8</manvolnum></citerefentry> را اجرا خواهید کرد، سپس هسته را مجددا کامپایل و نصب نمایید.</para>
+
+ <programlisting>device bpf</programlisting>
+ </sect1>
+
+ <sect1 xml:id="code">
+ <title>Maurer's Universal Statistical Test (برای بلاکهایی با اندازه ۸ بیتی)</title>
+
+ <para>همین کد را میتوانید در <link xlink:href="https://web.archive.org/web/20031204230654/http://www.geocities.com:80/SiliconValley/Code/4704/uliscanc.txt"> این نشانی</link> هم پیدا کنید.</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.
+<!ENTITY a.dev-ci "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.dev-ci.url;'>Automated reports of build and test results from FreeBSD's continuous integration tools.</link>">
+<!ENTITY a.dev-reviews "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.dev-reviews.url;'>Automated notifications of work in progress for review in FreeBSD's review tools, including patches..</link>">
+<!ENTITY a.numerics "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.numerics.url;'>Discussions of high quality implementation of libm functions</link>">
+<!ENTITY a.proliant "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.proliant.url;'>Technical discussion of FreeBSD on HP ProLiant server platforms</link>">
+<!ENTITY a.quarterly-calls "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.quarterly-calls.url;'>Calls for quarterly FreeBSD status reports</link>">
+<!ENTITY a.svn-doc-all "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-doc-all.url;'>SVN commit messages for the entire doc tree (except for <quote>user</quote>, <quote>projects</quote> and <quote>translations</quote>)</link>">
+<!ENTITY a.svn-doc-head "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-doc-head.url;'>SVN commit messages for the doc tree for head/</link>">
+<!ENTITY a.svn-ports-head "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-ports-head.url;'>SVN commit messages for the ports tree for head/</link>">
+<!ENTITY a.svn-src-all "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-src-all.url;'>SVN commit messages for the entire src tree (except for <quote>user</quote> and <quote>projects</quote>)</link>">
+<!ENTITY a.svn-src-head "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-src-head.url;'>SVN commit messages for the src tree for head/-current</link>">
+<!ENTITY a.svn-src-release "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-src-release.url;'>SVN commit messages for releases in the src tree</link>">
+<!ENTITY a.svn-src-releng "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-src-releng.url;'>SVN commit messages for the release engineering / security commits to the src tree</link>">
+<!ENTITY a.svn-src-stable "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-src-stable.url;'>SVN commit messages for all the -stable branches of the src tree</link>">
+<!ENTITY a.svn-src-stable-6 "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-src-stable-6.url;'>SVN commit messages for only the 6-stable src tree</link>">
+<!ENTITY a.svn-src-stable-7 "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-src-stable-7.url;'>SVN commit messages for only the 7-stable src tree</link>">
+<!ENTITY a.svn-src-stable-8 "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-src-stable-8.url;'>SVN commit messages for only the 8-stable src tree</link>">
+<!ENTITY a.svn-src-stable-9 "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-src-stable-9.url;'>SVN commit messages for only the 9-stable src tree</link>">
+<!ENTITY a.svn-src-stable-10 "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-src-stable-10.url;'>SVN commit messages for only the 10-stable src tree</link>">
+<!ENTITY a.svn-src-stable-11 "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-src-stable-11.url;'>SVN commit messages for only the 11-stable src tree</link>">
+<!ENTITY a.svn-src-stable-12 "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-src-stable-12.url;'>SVN commit messages for only the 12-stable src tree</link>">
+<!ENTITY a.svn-src-stable-other "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-src-stable-other.url;'>SVN commit messages for the old stable src trees</link>">
+<!ENTITY a.svn-src-vendor "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.svn-src-vendor.url;'>SVN commit messages for the vendor work area tree</link>">
+<!ENTITY a.usergroups "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.usergroups.url;'>FreeBSD user group coordination mailing list</link>">
+<!ENTITY a.virtualization "<link xmlns='http://docbook.org/ns/docbook' xlink:href='&a.virtualization.url;'>Discussion of various virtualization techniques supported by FreeBSD</link>">