Update Home

Sergey Chernov 2024-08-11 16:56:23 +03:00
parent 0c01fc2b45
commit ff9996bf89

@ -1,11 +1,14 @@
# О протоколе
Килопарсек представляет из себя протокол удаленного исполнения процедур (RPC, remote procedure call) повышенной защиты, предназначенный для работы в не доверенных сетях, использующий мультиплатформенный язык Котлин, позволяющий собирать исполняемый код на платформах JVM (в частности Windows, Linux, Mac, Android), JS, и наивный код для linuxX64, linuxArm64, macosX64, MacosArm64, iosArm64, cygwin (windows) и некоторых других.
Собственный уровень шифрования и аутентификации позволяет не зависеть от используемого транспорта (на данный момент доступны реализации для Wesockets, TCP/IP, UDP). Уровень защиты не зависит от использования или не использования TLS, более того, для более эффективной работы следует использовать обычные транспорты без TLS, где это возможно, а в браузерных приложениях использовать `wss://`, чтобы соответствовать традиционным требованиям браузера.
Для аутентификации как клиента, так и сервера
Для аутентификации как клиента, так и сервера, используется алгоритм на кривых Эдвардса 25519, и для каждого соединения создаются временные уникальные ключи при помощи безопасной системы обмена ключами. Если клиент и сервер знают публичные ключи друг друга, соединение получается полностью защищенным. Ключ клиента можно использовать для его аутентификации в бизнес-логике.
## Вызовы и пуши
При вызовах в аргументах и возвращаемых значениях могут использоваться любые типы, поддерживаемые `kotlinx.serialization`, то есть, все обычные типы данных для Котлина, и все классы, для которых указан атрибут `@Serializable` или зарегистрирован явный стерилизатор. см. [kotlinx.serialization](https://github.com/Kotlin/kotlinx.serialization).
# Справочные материалы