stadium-proto/Оглавление.txt

65 lines
4.1 KiB
Plaintext
Raw Normal View History

1. Введение
1.1. Безопасность и модель угроз
2. Базовая терминология
3. Криптография
3.1. Дескриптор криптоалгоритма [CryptoDs]
3.1.1. Дескриптор хэш-функции [HashCryptoDs]
3.1.2. Дескриптор симметричного шифра [SymCiphCryptoDs]
3.1.3. Дескриптор асимметричного шифра [AsymCiphCryptoDs]
3.2. Дескриптор набора криптоалгоритмов [CryptoPack]
3.2.1. Набор для хэширования [HashCryptoPack]
3.2.2. Набор для симметричного шифрования [SymCiphCryptoPack]
3.2.3. Набор для подписи [SignCryptoPack; набор для подписи, т.е. AsymCiphCryptoDs + HashCryptoDs]
3.2.4. Набор для генерации ключей [KDCryptoPack; набор для Key Derivation, т.е. существующая KDF или SymCiphCryptoDs + HashCryptoDs]
3.2.4.1. Стартовое значение для KDF [KDInitValue; значение, которым впервые инициализируется KDF]
3.2.4.2. Константа для KDF [KDPrivConst; приватное значение, используемое в качестве второго аргумента KDF]
4. Установка соединения
4.1. Возможные параметры
4.1.1. Магическое число протокола
4.1.2. Версия протокола
4.2. Запрос рукопожатия
4.3. Ответ на рукопожатие
5. Сессия
5.1. Поток
5.1.1. Состояние [StreamState; Running, Desynchronized]
5.1.2. Идентификатор потока [StreamId, SrvStreamId, CltStreamId]
5.1.3. Секрет потока [StreamSecret]
5.1.4. Криптографические параметры потока
5.1.5. Параметры сжатия потока
5.1.6. Контроль последовательности
5.1.7. Шумовые пакеты
5.2. Секрет сессии [SessionSecret]
6. Событие
6.1. Тип события
6.2. Зарезервированные типы и диапазоны типов событий
6.3. Содержание события
6.3.1. Формат содержания зарезервированных событий
6.4. Запрос и ответ [абстрактно]
7. Пакет
7.1. Заголовок пакета
7.1.1. Код аутентификации [Packet Authentication Code, PAC, CltPAC, SrvPAC; проверка целостности и достоверности]
7.1.2. Флаги
7.1.3. Идентификатор ответа [RespId; мб стоит сделать PacketID и обязательным для всех, дабы перезапрашивать в случае повреждения]
7.2. Полезная нагрузка
7.2.1. Шум в полезной нагрузке пакета
7.3. Структура и шифрование
7.4. Пачка пакетов и разбиение полезной нагрузки
8. Транспортный адаптер
8.1. Дескриптор транспортного адаптера [TransportDs]
8.2. Свойства адаптеров
8.2.1. Максимальный размер полезной нагрузки
8.2.2. Гарантия последовательности
8.2.3. Гарантия обнаружения недоставки [?]
8.2.4. Гарантия целостности
8.2.5. Наличие шифрования
8.3. Список адаптеров [мб стоит вынести в отдельную спеку]
8.3.1. UDP-raw
8.3.2. TCP-raw
8.3.3. HTTP1.1-text+binary [текстовые HTTP/1.1 POST-запросы и бинарные ответы]
8.3.4. [???]
9. Сериализация данных [Linear Binary Map (?)]
9.1. Используемые ключи полезной нагрузки
10. Расширения протокола [SPX]
10.1. Идентификатор расширения [SPXI]
10.2. Дескриптор расширения [SPXD]