MtW>> Мне хочется передавать фидопочту с одной системы Фидонета на другую MtW>> систему Фидонета поверх HTTP, сочинив для этой цели специальный MtW>> веб-сервер и не менее специальный клиент с открытым исходным кодом.
AV> Эта архитектура прямо противоречит основной фиждошной идее о том, что все AV> участники обмена используют унифицированный набор софта.
Разве эта основная фиждошная идея не оказалась поколеблена появлением таких узлов, на которые нельзя позвонить в ZMH, потому что они подключены к Инету?
Вообще ты это о чём сказал: о том, что наличие HTTP-интерфейса не должно быть предлогом для отказа от протокола binkp на том же узле, или же о том, что binkd должен быть последним в Фидонете протоколом связи узлов, более же него несть человеческому уму разумевати?
MtW>> Может быть, и не только фидопочту передавать, но и дать возможность MtW>> дистанционного управления системою со стороны её сисопа (чтобы MtW>> человек мог сочинить новое сообщение эхопочты, не находясь MtW>> непосредственно за компом фидошной системы, а воспользовавшись своим MtW>> смартфоном или браузером чужого компа).
AV> Все это уже не первый десяток лет работает через SSH.
Однако работает, кажется, на уровне операционной системы, а не фидошной.
Пушка по воробьям.
MtW>> Однако вопрос: как сделать такую передачу безопасною, исключив MtW>> подсматривание секретных данных (например, пароля сеанса)?
AV> Тривиально: вообще никак не защищать канал связи, сконцентрировав усилия AV> на защите самих данных.
Тоже метод.
MtW>> Как известно, binkd использует код CRC (в тех случаях, когда он не MtW>> использует SSH),
AV> Для контроля целостности.
А заявлено, что для криптования:
╔═════════════════════════════════════════════════════──────────────────────── ║ Цитата из эхи: Ru.binkd (Обсуждение binkd) ║ URL сообщения: area://Ru.binkd?msgid=2:463/68+5548d47a ║ Автор и время: Pavel Gulchouck, 2:463/68 (05 May 15 16:25) ║ Кому написано: Mithgol the Webmaster ║ Заглавие темы: Документы FTSC, поддерживаемые binkd ╚════════════════════════════════════════════════════════════════════─────────
Криптование.
При хендшейке любая сторона может заявить опцию CRYPT, что означает поддержку криптования сессии.
Криптование включается, если обе стороны предъявили опцию CRYPT, и только при парольной сессии, и только в случае CRAM-аутентификации. Если обе стороны поддерживают криптование и заявили об этом в хендшейке, но сессия непарольная, либо пароль был передан в открытом виде, криптование не включается.
Если же обе стороны передали CRYPT, пароль проверен, и не был передан открытым текстом, весь трафик после сообщений M_PWD и M_OK криптуется алгоритмом InfoZIP. Этот алгоритм представляет собой xor потока псевдослучайной последовательностью байт (на основе CRC32, т.е. полиномиальной), начальное состояние которой в binkd инициализируется паролем на сессию (с небольшой модификацией для звонящей и отвечающей стороны, чтобы эти последовательности не были одинаковыми). Конкретную реализацию проще посмотреть в исходниках infozip или binkd, чем пересказывать:
MtW>> а AMFOW (кажется, чуть ли не единственный ранее существующий мейлер, MtW>> передающий фидопочту поверх HTTP) использует побайтовый XOR (причём MtW>> в качестве операнда XOR употребляет MD5-хэш от итога конкатенации MtW>> секретного пароля сеанса и известного unixtime).
AV> Я одного не понимаю: что мешало сделать классическое гаммирование AV> с обратной связью по шифротексту? И не на хеш-функции (хотя это AV> возможно), а на блочном симметричном алгоритме шифрования.
Это вопрос не ко мне, это вопрос к Кочарину.
Кстати: упомянутое тобою гаммирование поддерживается ли, скажем, в OpenSSL? Если нет, то почему нет и что делать (с нуля самостоятельно поддерживает его, что ли)?
MtW>> Первым на ум приходит HTTPS (то есть работа HTTP поверх TLS).
AV> Со всеми его болячками, ага...
Ты это говоришь так, как если бы они были общеизвестны.
А они не общеизвестны.
Просвещай, оглашай.
MtW>> Ещё идеи есть?
AV> | gpg -es
AV> После этого можно передавать бандлы, не заморачиваясь ни секретностью, AV> ни целостностью, ни достоверностью источника.
/system/bin/sh: gpg: command not found
(это под Android, например)
Так что мне надо будет поискать реализацию покроссплатформеннее ── возможно, на языке JavaScript.
Фидонет будет великим и гипертекстовым! [Ru.Mozilla] http://Mithgol.Ru/ Mithgol the Webmaster. [Братство Нод] [Team А я меняю subj]
... Hет в мире виноватых. (Лёв Hиколаевич Толстой, вслед за У. Шекспиром) --- Now playing: http://hentaichan.ru/games/ * Origin: Иногда нам бывает непpосто победить и в боpьбе с собою! (2:50/88)