- Введение - Безопасность и модель угроз - Базовая терминология - Криптография - Дескриптор криптоалгоритма [CryptoDs] - Дескриптор хэш-функции [HashCryptoDs] - Дескриптор симметричного шифра [SymCiphCryptoDs] - Дескриптор асимметричного шифра [AsymCiphCryptoDs] - Дескриптор набора криптоалгоритмов [CryptoPack] - Набор для хэширования [HashCryptoPack] - Набор для симметричного шифрования [SymCiphCryptoPack] - Набор для подписи [SignCryptoPack; набор для подписи, т.е. AsymCiphCryptoDs + HashCryptoDs] - Набор для генерации ключей [KDCryptoPack; набор для Key Derivation, т.е. существующая KDF или SymCiphCryptoDs + HashCryptoDs] - Стартовое значение для KDF [KDInitValue; значение, которым впервые инициализируется KDF] - Константа для KDF [KDPrivConst; приватное значение, используемое в качестве второго аргумента KDF] - Установка соединения - Возможные параметры - Магическое число протокола - Версия протокола - Запрос рукопожатия - Ответ на рукопожатие - Сессия - Поток - Состояние [StreamState; Running, Desynchronized] - Идентификатор потока [StreamId, SrvStreamId, CltStreamId] - Секрет потока [StreamSecret] - Криптографические параметры потока - Параметры сжатия потока - Контроль последовательности - Шумовые пакеты - Событие - Тип события - Зарезервированные типы и диапазоны типов событий - Содержание события - Формат содержания зарезервированных событий - Запрос и ответ [абстрактно] - Пакет - Заголовок пакета - Код аутентификации [Packet Authentication Code, PAC, CltPAC, SrvPAC; проверка целостности и достоверности] - Флаги [сжатие, наличие шума, наличие идентификатора] - Идентификатор [PacketID; присутствует только если включены подтверждения доставки или требуется ответ] - Полезная нагрузка - Шум в полезной нагрузке пакета - Структура и шифрование - Пачка пакетов и разбиение полезной нагрузки - Транспортный адаптер - Дескриптор транспортного адаптера [TransportDs] - Свойства адаптеров - Максимальный размер полезной нагрузки - Гарантия последовательности - Гарантия обнаружения недоставки [?] - Гарантия целостности - Наличие шифрования - Список адаптеров [мб стоит вынести в отдельную спеку] - UDP-raw - TCP-raw - HTTP1.1-text+binary [текстовые HTTP/1.1 POST-запросы и бинарные ответы] - [???] - Сериализация данных [Linear Binary Map (?)] - Используемые ключи полезной нагрузки - Расширения протокола [SPX] - Идентификатор расширения [SPXI] - Дескриптор расширения [SPXD]