Re: lug-bg: IPSec tunnel & BTC adsl
- Subject: Re: lug-bg: IPSec tunnel & BTC adsl
- From: Vesselin Kolev <vlk@xxxxxxxxxxxxxxxxx>
- Date: Thu, 13 Jan 2005 11:55:45 +0200
Vasil Kolev wrote:
Тъп въпрос, това значи ли, че се изпращат само криптирани, но не и
подпсани пакети, т.е. нали AH беше механизма за подписване?
Въпросът не е никак тъп, а е доста фундаментален. С малко думи нещата
могат да се обяснят така:
AH (Authentication header) е механизъм за удостоверяване на някои полета
в хедъра на пакета на излъчвателя (по-точно удостоверяването на IP
адреса на излъчвателя, който се намира в хедъра). Имплементацията на AH
е самостоятелен протокол - IANA (http://www.iana.org) е асоциирала номер
на протокол 51.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Header | Payload Len | RESERVED |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Security Parameters Index (SPI) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number Field |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Authentication Data (variable) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
По-горе съм дал е една ASCII схема на AH (rfc2402). Ако някой се
интересува от полетата може да прочете документа RFC2402 по-подробно.
Какво е положението преди прилагането на AH:
----------------------------
IPv4 |orig IP hdr | | |
|(any options)| TCP | Data |
----------------------------
какво след като AH бъде приложен:
---------------------------------
IPv4 |orig IP hdr | | | |
|(any options)| AH | TCP | Data |
---------------------------------
|<------- authenticated ------->|
except for mutable fields
_Е нещата се чупят поради това, че първата част (orig IP hdr) се подменя
при NAT (Подменя се IP адреса на излъчвателя). Поради това
удостоверяването се проваля и MAC се чупи и схемата AH просто не може да
съществува.
Понеже хората ще питат, нека кажем какво е MAC - Message Authentication
Codes. Това е вид електронно подписване, което е базирано на база
"симетрична криптография". Само схематично, за да се осъшестви то, се
прилага "смесване" на блок информация със сесийния ключ (той е прилагане
на симетричен криптоалгоритъм в схемата) и изчисляване на нов блок,
който удостоверява първия. При IPsec се използва вариант на MAC със
хеш-функции. Този вариант се нарича HMAC. За целта може да се използват
хеширащи функции като MD5 или SHA-1 (стандарта е отворен и могат да се
използват и други хеширащи функции).
(Само за да се схване разликата на ниво "принцип на действие" при MAC и
HMAC:
- пример за MAC: блок информация се "смесва", конкатенира по определен
начин със сесийния ключ и след това получения резултат се криптира чрез
сесийния ключ - получения блок се изпраща заедно с първоначалния блок
информация на получателя [опасен принцип - позволява в дадени случаи да
се намери сесийния ключ];
- пример за HMAC: блок информация се "смесва", конкатенира по определен
начин със сесийния ключ и след това получения резултат се хешира чрез
хеш-функция - получения блок се изпраща заедно с първоначалния блок
информация на получателя [много безопасен начин от гледище на операции
по разкриване на частния ключ - схемата може да се задрави чрез
използванего на итерации])
Повече информация в следните източници:
Madson, C. and R. Glenn, "The Use of HMAC-MD5-96 within ESP and AH
<ftp://ftp.isi.edu/in-notes/rfc2403.txt>", RFC 2403, November 1998.
Madson, C. and R. Glenn, "The Use of HMAC-SHA-1-96 within ESP and AH
<ftp://ftp.isi.edu/in-notes/rfc2404.txt>", RFC 2404, November 1998.
Reynolds, J. and J. Postel, "Assigned Numbers, See also:
http://www.iana.org/numbers.html <http://www.iana.org/numbers.html>",
STD 2, RFC 17
По принцип AH се използва за проверка на целостта и автентичността на
пакета (правете разлика: ако няма AH, вие получавате пакета на доверие и
след това го декриптирате - може да се направи аналог с протоколите SSL,
ако има AH, то вие първо удостоверявате източника на пакета). AH помага
за избягване на IP измама (IP spoofing).
Също така нещо доста фундаментално - AH е това, което прави
наименованието IPsec. Без AH няма IPsec (т.е. трябва да махнете IP от
наименованието). Всичко друго, което използва само ESP може да ви
помогне само за rekeying защита. Ако не правите rekeying, по-добре
използвайте SSL базиран VPN.
Поздрави
Весо
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|