Использование API криптографии ядра Linux для IPSec

Я хотел бы использовать salsa20 из Linux Crypto API в качестве алгоритма шифрования для IPSec ESP. Я успешно установил соединение IPSec (между двумя виртуальными машинами), используя настройки по умолчанию в racoon.

remote 192.168.75.3
{
 exchange_mode aggressive, main;
 my_identifier address;
 proposal {
  encryption_algorithm 3des;
  hash_algorithm sha1;
  authentication_method pre_shared_key;
  dh_group 2;
 }
}

но как я меняю алгоритм шифрования на salsa20

remote 192.168.75.3
{
 exchange_mode aggressive, main;
 my_identifier address;
 proposal {
  encryption_algorithm salsa20;
  hash_algorithm sha1;
  authentication_method pre_shared_key;
  dh_group 2;
 }
}

и перезапустите соединение, я получаю синтаксическую ошибку на «sa», что является фатальной ошибкой. Мне кажется, что racoon может не использовать Crypto API ядра Linux или, по крайней мере, он не поддерживает там все алгоритмы! Я прав? или я что-то не так делаю? Есть ли способ использовать salsa20 на IPSec в Linux?


person Alno986    schedule 20.07.2012    source источник


Ответы (1)


Просто для записи.

Я копался в коде ядра и обнаружил, что там можно использовать только некоторые определенные алгоритмы шифрования (в соответствии с IPSec RFC), а добавление нового алгоритма блочного шифрования также потребует манипулирования IKE (например, Racoon).

Кстати, существует только проект RFC для использования потоковых шифров (например, salsa20) для IPSec ESP, поэтому их использование потребует реализации проекта RFC поверх других модификаций.

person Alno986    schedule 28.07.2012
comment
Привет, не могли бы вы указать путь к ядру, где фактическое шифрование применяется к пакету. - person RootPhoenix; 01.04.2016