Как IKEv2 работает на Android без сырых сокетов - PullRequest
0 голосов
/ 18 июня 2020

Я изучал реализацию клиента IKEv2 StrongSwan для Android. Я не понимаю, что Android и Java не поддерживают сырые сокеты , в то время как IKEv2 / IPSec работает ниже уровня Transport, что кажется нелогичным. Как именно происходит связь после установки CHILD_SA aka IPSec SA?

Ссылки:

  1. Официальная документация для IKE Charon keying daemon действительно упоминает использование socket на диаграмме архитектуры, но мне не удалось найти дополнительную ссылку на него.
  2. Я знаю, что клиент StrongSwan Android использует реализация libipsec в пользовательском пространстве, но опять же, как libipsec взаимодействует без сырых сокетов?

Любая помощь, чтобы заполнить пробел в моем понимании, очень ценится!

1 Ответ

2 голосов
/ 19 июня 2020

Клиент поддерживает только UDP-инкапсулированный ESP . Эти пакеты отправляются / принимаются через те же сокеты UDP, которые уже используются для IKEv2. Это ограничение упоминается на странице wiki приложения .

...