Конфигурация VPN: общий секретный формат PSK

Я использую в качестве покупателя коммерческую VPN для OS / X и iPhone. Я также инициализирую VNP на работе для iOS / MacO и имею дома VPN на основе Debian с StrongSwan.

Я записал файл обеспечения .mobileconfig , созданный исполняемым файлом Sierra MacOS, предоставленным моим коммерческим поставщиком VPN. Я хотел бы получить детали конфигурации оттуда, чтобы не устанавливать их программное обеспечение Linux и настраивать его вручную, однако поле данных SharedSecret XML зашифровано.

На работе я использовал Apple Configurator 2 только для того, чтобы зашифровать свой общий секрет для создания скелета файлов инициализации mobileconfig для устройств Apple, однако я до сих пор не знаю, в каком формате это поле.

Я заметил, что этот «зашифрованный» пароль может быть помещен в ipsec.secrets вместо паролей в виде открытого текста, например:

@vpngroup : PSK 0scGFzc3dvcmQK

Аналогичным образом, опять же, в поставляемых файлах Apple mobileconfig для клиентов / конечных пользователей, его можно найти снова:

SharedSecret
cGFzc3dvcmQK

Так что же на самом деле это формат? А как его зашифровать и зашифровать? Я точно знаю, что это не настоящий Общий секрет в открытом виде.

0
06.05.2019, 22:33
1 ответ

Формат кодирования Shared Secret/группового пароля на самом деле Base64.

С сайта документации strongswan:

В качестве альтернативы, общие секреты могут быть представлены в виде шестнадцатеричных или двоичные значения в кодировке Base64. Последовательность символов, начинающаяся с 0x интерпретируется как последовательность шестнадцатеричных цифр. Аналогично, последовательность символов начинающаяся с 0, интерпретируется как двоичные данные в кодировке Base64. данные.

На самом деле формат Base64 для группового пароля, помимо использования в конфигурациях Linux/FreeBSD IPsec и файлах обеспечения Apple, также используется в файлах клиентов Cisco VPN.

На самом деле оправданием использования Base64 является защита пароля от посторонних глаз и конечных пользователей. Зачем тогда использовать такой базовый алгоритм кодирования...

Итак, в конце концов, чтобы декодировать его в Linux, его нужно взять дословно из поля данных Apple SharedSecret, или, если начать захват с ipsec.secrets, нужно игнорировать ведущие "0" из строки:

$echo cGFzc3dvcmQK | base64 -d
password

Для декодирования в FreeBSD/OS/X:

$echo cGFzc3dvcmQK | base64 -D
password

Аналогично, для обратного кодирования:

$echo password | base64
cGFzc3dvcmQK
4
28.01.2020, 02:34

Теги

Похожие вопросы