Fix typos, style and images paths
Global review of styles, typos and images paths in gjournal-desktop, releng, vinum and vm-design
This commit is contained in:
parent
98b9c01a12
commit
e16d21085b
32 changed files with 3690 additions and 1187 deletions
|
|
@ -22,7 +22,8 @@ include::shared/en/urls.adoc[]
|
|||
[.abstract-title]
|
||||
Abstract
|
||||
|
||||
You installed IPsec and it seems to be working. How do you know? I describe a method for experimentally verifying that IPsec is working.
|
||||
You installed IPsec and it seems to be working.
|
||||
How do you know? I describe a method for experimentally verifying that IPsec is working.
|
||||
|
||||
'''
|
||||
|
||||
|
|
@ -31,7 +32,9 @@ toc::[]
|
|||
[[problem]]
|
||||
== The Problem
|
||||
|
||||
First, lets assume you have <<ipsec-install>>. How do you know it is <<caveat>>? Sure, your connection will not work if it is misconfigured, and it will work when you finally get it right. man:netstat[1] will list it. But can you independently confirm it?
|
||||
First, lets assume you have <<ipsec-install>>.
|
||||
How do you know it is <<caveat>>? Sure, your connection will not work if it is misconfigured, and it will work when you finally get it right.
|
||||
man:netstat[1] will list it. But can you independently confirm it?
|
||||
|
||||
[[solution]]
|
||||
== The Solution
|
||||
|
|
@ -41,17 +44,22 @@ First, some crypto-relevant info theory:
|
|||
. Encrypted data is uniformly distributed, i.e., has maximal entropy per symbol;
|
||||
. Raw, uncompressed data is typically redundant, i.e., has sub-maximal entropy.
|
||||
|
||||
Suppose you could measure the entropy of the data to- and from- your network interface. Then you could see the difference between unencrypted data and encrypted data. This would be true even if some of the data in "encrypted mode" was not encrypted---as the outermost IP header must be if the packet is to be routable.
|
||||
Suppose you could measure the entropy of the data to- and from- your network interface.
|
||||
Then you could see the difference between unencrypted data and encrypted data.
|
||||
This would be true even if some of the data in "encrypted mode" was not encrypted---as the outermost IP header must be if the packet is to be routable.
|
||||
|
||||
[[MUST]]
|
||||
=== MUST
|
||||
|
||||
Ueli Maurer's "Universal Statistical Test for Random Bit Generators"(https://web.archive.org/web/20011115002319/http://www.geocities.com/SiliconValley/Code/4704/universal.pdf[MUST]) quickly measures the entropy of a sample. It uses a compression-like algorithm. <<code>> for a variant which measures successive (~quarter megabyte) chunks of a file.
|
||||
Ueli Maurer's "Universal Statistical Test for Random Bit Generators"(https://web.archive.org/web/20011115002319/http://www.geocities.com/SiliconValley/Code/4704/universal.pdf[MUST]) quickly measures the entropy of a sample.
|
||||
It uses a compression-like algorithm.
|
||||
<<code>> for a variant which measures successive (~quarter megabyte) chunks of a file.
|
||||
|
||||
[[tcpdump]]
|
||||
=== Tcpdump
|
||||
|
||||
We also need a way to capture the raw network data. A program called man:tcpdump[1] lets you do this, if you have enabled the _Berkeley Packet Filter_ interface in your <<kernel>>.
|
||||
We also need a way to capture the raw network data.
|
||||
A program called man:tcpdump[1] lets you do this, if you have enabled the _Berkeley Packet Filter_ interface in your <<kernel>>.
|
||||
|
||||
The command:
|
||||
|
||||
|
|
@ -60,7 +68,8 @@ The command:
|
|||
tcpdump -c 4000 -s 10000 -w dumpfile.bin
|
||||
....
|
||||
|
||||
will capture 4000 raw packets to _dumpfile.bin_. Up to 10,000 bytes per packet will be captured in this example.
|
||||
will capture 4000 raw packets to _dumpfile.bin_.
|
||||
Up to 10,000 bytes per packet will be captured in this example.
|
||||
|
||||
[[experiment]]
|
||||
== The Experiment
|
||||
|
|
@ -95,24 +104,32 @@ Expected value for L=8 is 7.1836656
|
|||
[[caveat]]
|
||||
== Caveat
|
||||
|
||||
This experiment shows that IPsec _does_ seem to be distributing the payload data __uniformly__, as encryption should. However, the experiment described here _cannot_ detect many possible flaws in a system (none of which do I have any evidence for). These include poor key generation or exchange, data or keys being visible to others, use of weak algorithms, kernel subversion, etc. Study the source; know the code.
|
||||
This experiment shows that IPsec _does_ seem to be distributing the payload data __uniformly__, as encryption should.
|
||||
However, the experiment described here _cannot_ detect many possible flaws in a system (none of which do I have any evidence for).
|
||||
These include poor key generation or exchange, data or keys being visible to others, use of weak algorithms, kernel subversion, etc.
|
||||
Study the source; know the code.
|
||||
|
||||
[[IPsec]]
|
||||
== IPsec---Definition
|
||||
|
||||
Internet Protocol security extensions to IPv4; required for IPv6. A protocol for negotiating encryption and authentication at the IP (host-to-host) level. SSL secures only one application socket; SSH secures only a login; PGP secures only a specified file or message. IPsec encrypts everything between two hosts.
|
||||
Internet Protocol security extensions to IPv4; required for IPv6.
|
||||
A protocol for negotiating encryption and authentication at the IP (host-to-host) level.
|
||||
SSL secures only one application socket; SSH secures only a login; PGP secures only a specified file or message.
|
||||
IPsec encrypts everything between two hosts.
|
||||
|
||||
[[ipsec-install]]
|
||||
== Installing IPsec
|
||||
|
||||
Most of the modern versions of FreeBSD have IPsec support in their base source. So you will need to include the `IPSEC` option in your kernel config and, after kernel rebuild and reinstall, configure IPsec connections using man:setkey[8] command.
|
||||
Most of the modern versions of FreeBSD have IPsec support in their base source.
|
||||
So you will need to include the `IPSEC` option in your kernel config and, after kernel rebuild and reinstall, configure IPsec connections using man:setkey[8] command.
|
||||
|
||||
A comprehensive guide on running IPsec on FreeBSD is provided in link:{handbook}#ipsec[FreeBSD Handbook].
|
||||
|
||||
[[kernel]]
|
||||
== src/sys/i386/conf/KERNELNAME
|
||||
|
||||
This needs to be present in the kernel config file in order to capture network data with man:tcpdump[1]. Be sure to run man:config[8] after adding this, and rebuild and reinstall.
|
||||
This needs to be present in the kernel config file in order to capture network data with man:tcpdump[1].
|
||||
Be sure to run man:config[8] after adding this, and rebuild and reinstall.
|
||||
|
||||
[.programlisting]
|
||||
....
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue