Clone
3
MessageProtocol
ElectronixTM edited this page 2025-04-29 23:14:51 +03:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Quilin

Полезная нагрузка

Пожелания

На этом этапе пользователь может обозначить следующие моменты - будет ли он использовать цифровые подписи, tls, аутентификацию по токенам и прочие радости

Отправка

Поля этого протокола имеют следующую структуру

  1. Объявление протокола (может быть опущено, он подразумевается приложением и будет использована его последняя версия, если не сказано обратного)
  2. Опции передачи сообщения - используются для того, чтобы обозначить намерения отправителя относительно передаваемого сообщения. В основном задаются меры безопасности. Часть из них работает по умолчанию, но может быть отключена
  3. Основная часть сообщения. Если указано, что будет использовано шифрование, то телом сообщения будут зашифрованные данные в формате ASCII Armor. Если нет, то те же данные будут переданы в открытом виде. Сами данные имеют следующий формат
    1. from: указание аккаунта, от чьего имени отправляется сообщение
    2. to: указание того, кому будет отправлено сообщение
    3. token: средство авторизации. Выдается сервером на время сессии. Может и должен быть запрошен отдельно
    4. Сам текст сообщения. Блок со служебной информацией заканчивается тройным дефисом. Все, что указано после них на новой строке считается текстом сообщения

Приблизительно структура сообщения выглядит так

// Опциональное указание протокола и версии
[Quilin [VERSION]]
// Дополнительные опции
[o/options]: [sign/s] [encryption/e]=[RSA/DES/DSA] [tls/t] [stream/st]
---
// Указание аккаунта, от имени которого отправляется сообщение
from: {nickname}
// Пользователь может использовать временный токен, отправляемый сервером,
// чтобы идентифицироваться и авторизоваться. В таком случае указывать ник
// не обязательно
token: {some token}
// Получатель
to: {name} // используется ник пользователя или название чата.
           // Названия чатов начинаются со значка #
// Разделитель, показывающий окончание служебной информации
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat
non proident, sunt in culpa qui officia deserunt mollit anim id est laborum

Криптографический протокол

Пожелания автора

На данный момент хочется, чтобы данный протокол передачи сообещний поддерживал следующие возможности:

  • Сквозное шифрование
  • Опциональные цифровые подписи сообщений и их верификация по открытым ключам
  • Был немногословен
  • Опционально поддерживал сложную аутентификацию

Описание

Протокол шифрования на данный момент в разработке, поскольку это требует хороших глубоких знаний во многих областях