IPSec – Internet Protocol Security, комплекс, включающий в себя целый набор протоколов, которые обеспечивают безопасную передачу данных через сеть Интернет. К ним относятся: протокол установки безопасного канала связи IKE, протокол безопасности ESP, протоколы шифрации DES, 3DES, AES, RSA, протоколы проверки подлинности данных MD5, SHA-1 и протокол обмена ключами DH.
Протокол установки безопасного канала связи:
- IKE – Internet Key Exchange, протокол, обеспечивающий установку безопасной сессии с удаленным устройством. IKE позволяет удаленным устройствам «договориться» о том, какой протокол безопасности использовать при передаче данных, каким способом зашифровать данные, с помощью какого протокола проверять подлинность переданных данных и какой алгоритм использовать для обмена ключами. Для обмена данными IKE использует протокол UDP, порт 500.
Протоколы безопасности:
- AH – Authentication Header, протокол, обеспечивающий только проверку подлинности данных. В настоящий момент считается устаревшим.
- ESP — Encapsulating Security Payload, протокол, обеспечивающий не только проверку подлинности данных, но и их зашифрованную передачу через сеть Интернет с помощью тех же алгоритмов, которые использует IKE для установки безопасного соединения. Для обмена данными ESP использует протокол IP, порт 50.
Протоколы шифрации:
- DES — Data Encryption Standard, протокол шифрации, разработанный IBM. Длина ключа для шифрации данных составляет 56 бит. С ростом вычислительных мощностей, сегодня данный протокол не является эталоном безопасности. На его смену пришел 3DES.
- 3DES – Triple Data Encryption Standard, протокол, пришедший на смену DES. Использует три ключа DES для шифрации данных. Следовательно, для его работы требуется больше вычислительных ресурсов процессора.
- AES — Advanced Encryption Standard, новейший протокол шифрации данных. Алгоритм данного протокола использует длину ключа, которая составляет 128, 192 или 256 бит. Это один из самых ресурсоемких протоколов.
- RSA — Rivest, Shamir и Adleman, крипографический алгоритм, в основе которого лежит асимметричная система обмена ключами. Чаще всего используется в криптографических приложениях, наиболее известные из которых: SSH, SSL, HTTPS и др. Длина ключа составляет 512, 768, 1024 бит и более. Алгоритм RSA с длиной ключа 1024 бит является наиболее оптимальным соотношением между криптостойкостью и затратами вычислительной мощности процессора.
Протоколы проверки подлинности данных:
- MD5 — Message Digest 5, протокол хэширования данных. Длина хэша составляет 128 бит.
!
Хэш – число фиксированной длины, полученное после математического анализа блока данных определенной длины. Используется для проверки подлинности данных. Отправляющее устройство вычисляет хэш данных и ставит полученное значение в конец пакета. Принимающее устройство получает пакет с данными, проводит ту же процедуру и сравнивает полученное значение хэш с тем, что пришло вместе с пакетом. Если значения совпадают, значит данные подлинные, если значения не совпадают, значит данные были искажены в процессе доставки.
- SHA-1 — Secure Hash Algorithm 1, более эффективный протокол хэширования данных чем MD5. Длина хэша составляет 160 бит.
Протокол обмена ключами:
- DH — Diffie-Hellman криптографический протокол, который позволяет двум сторонам через небезопасную сеть (например, Интернет) сгенерировать общий секретный ключ, который в последствии будет использоваться для шифрации данных между этими сторонами.
Суть действия данного протокола заключается в том, что у каждого устройства есть 2 ключа — открытый и закрытый. Любым из этих ключей можно зашифровать данные, а другим – расшифровать. Закрытый ключ известен только тому устройству, которому он принадлежит. Открытый – любому устройству пожелавшему обменяться криптографическими данными.
Процесс проходит следующим образом. Предположим в сети есть два устройства – устройство А и устройство B, а между ними находится незащищенная сеть. Устройству А необходимо обменяться конфиденциальными данными с устройством B. Для этого устройство А отправляет устройству B свой открытый ключ. С помощью открытого ключа устройства А, устройство B шифрует данные и отправляет обратно устройству А. Получив зашифрованные данные, устройство А использует свой закрытый ключ, чтобы расшифровать их.
Криптостойкость алгоритма определяется размером ключа. DH группы 1 имеет размер ключа, равный 768 бит. Размер ключа DH группы 2 равен 1024 бит. Чем выше группа, тем более криптоскойким становится алгоритм, и тем больше ресурсов процессора он потребляет.