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

65 lines
4.0 KiB
Plaintext
Raw Blame History

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.

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. Состояние
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]
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]