Вы здесь

Безопасность. Начало 06. Основы криптографии и VPN

VPN или Virtual Private Network в конечном счёте обеспечивает подключение двух устройств, при этом используемое соединение логическое.
Чаще всего VPN используется для подключения устройств поверх небезопасной среды, например интернет.

Конечно, мы можем заказать у провайдера выделенную линию, но главное преимущество VPN - это её дешевизна, поскольку выделенная линия стоит гораздо дороже обычного подключения к Интернет.

Типы VPN по используемым технологиям

  • IPSec VPN - обеспечивает безопасность пакетов на 3-м уровне OSI и может быть использована в Site-to-Site VPN и Remote-Acess VPN
  • SSL VPN - Secure Sockets Layer обеспечивает безопасность TCP Sessions на 6-м уровне OSI (Presentation)
  • MPLS - Multiprotocol Label Switching и MPLS Layer 3 VPNs выполняются провайдером и обеспечивает логическое соединение между офисами клиента. Такое соединение называется MPLs L3VPN.

Типы VPN по подключению

  • Remote-access VPN - это подключение от юзерской машины на сервер VPN. Remote-access VPN могут быть IpSec или SSL.
  • Site-to-Site VPNs - как понятно из названия, данный тип обеспечивает подключение двух и более офисов. Site-to-Site VPNs базируются на технологиях IPSec

Преимущества VPN

  • Confidentiality - только участвующие стороны должны понимать передающиеся данные. Любой другой, даже в случае перехвата данных, не имеет возможности их прочитать, поскольку данные зашифрованы.
    Несмотря на то, что все алгоритмы шифрования известны, большинство из них базируются на ключе key, который знают лишь участники VPN. С помощью ключа производится шифрование и расшифрование данных.
  • Data Integrity - другой важный фактор - обеспечение целостности передаваемых данных их точки А в точку Б. Механизм Data Integrity проверяет цлостность данных и в случае несоответствия запросит повторную передачу.
  • Authentication - позволяет участникам VPN предварительно удостовериться что они будут общаться именно с тем с кем нужно.
  • Antireplay protection - Replay - метод атаки, при котором участнику отсылается копия перехваченного трафика. Функция Antireplay гарантирует, что если какой то зашифрованный пакет был выслан, то любая другая его копия будет недействительной.

Основы криптографии

Итак, VPN отличная вещь, повсеместно используемая, и всё эти замечательные свойства обеспечиваются различными технологиями криптографии (Cryptography):
Confidentiality обеспечивается через Encryption.
Data Integrity есть функция Hashing.

Шифр(Cypher) и Ключи(Keys)

Шифр(Cypher) представляет собой список правил или Algorithm, согласно которому производится encryption и decryption данных.
Существует сотни алгоритмов как доступных в свободном доступе, так и закрытых (правительство или национальная безопасность).
Можно выделить несколько типов Cipher:

  • Substitution(замена) - данный тип шифра заменяет один символ на другой. Например заменять каждый символ на предыдущий символ по алфавиту. Точный список манипуляций собственно и являются "ключом" в данном случае
  • Polyalphabetic - это похоже на замену, но вместо замены одного символв могут меняться несколько или несколько на один и т.д.
  • Transposition - перестановка символов. Существует множество различных вариаций.

Ключ(Key) по сути является инструкцией по перестановке символов или их замене. Понятно что все участники должны располагать этой инструкцией. Ключи могут использоваться на протяжении всего сеанса, а могут и динамически меняться на протяжении сеанса.

Block Cipher и Stream Cipher

Алгоритмы шифрования могут работать с blocks of data или с bits или bytes of data.

  • Block Cipher - symmetric key cypher, работающий с группой битов, именуемых block. Например забирается блок 64-bit и после обработки отдаётся 64-bit шифрованного текста.

    Примеры Symmetric block cipher algorythms:
    ■ Advanced Encryption Standard (AES)
    ■ Triple Digital Encryption Standard (3DES)
    ■ Blowfish
    ■ Digital Encryption Standard (DES)
    ■ International Data Encryption Algorithm (IDEA)

  • Stream Cipher - symmetric key cypher, работающий с каждым битом данных отдельно, т.е можно сказать что работает в потоковом режиме.

Алгоритмы Symmetric and Asymmetric

Понятие симметричности алгоритма уже встречалось в этом материале. Рассмотрим данный вопрос подробнее:

Symmetric encryption Algorithm или Symmetrical Cypher - использует один и тот же ключ для шифрования и расшифрования данных.
Примеры Symmetric encryption Algorithm:
■ DES
■ 3DES
■ AES
■ IDEA
■ RC2, RC4, RC5, RC6
■ Blowfish

На сегодняшний день Symmetric encryption Algorithm используется в большинстве типов VPN. Причина в том, что подобные алгоритмы требуют гораздо меньшей загрузки CPU.
Чем сложнее ключ, тем сильнее шифрование.
Обычно длина ключа варьируется от 112bits до 256bits. Надежно считается шифровать ключом длиной минимум 128bits.

Asymmetric encryption A