Кратко

  • draft-mahy-mls-semiprivatemessage-07 передаёт приватные Commit и Proposal выбранным внешним получателям, не превращая их в PublicMessage.
  • Получатель извлекает через HPKE ключ, nonce, защиту от повторного использования и индекс листа, но проверка подписи зависит от наличия соответствующего GroupContext.
  • Расшифровка, одинаковое содержание, состояние эпохи, аутентификация отправителя, право получателя и практический исход — разные квитанции. Редакция 07 остаётся черновиком с незавершённым анализом безопасности.

Служба федерации может найти свой reference, открыть HPKE-обёртку, расшифровать общий ciphertext и подтвердить через framed_content_tbs_hash, что видит тот же handshake, что участники. Но это ещё не доказывает, кто отправил сообщение.

SemiPrivateMessage 07 оставляет границу явной. Внешний получатель не расшифровывает encrypted_sender_data; sender_leaf_index передаётся ему вместе с материалом сообщения. Индекс указывает в память группы, но без credential и эпохи не является автономной личностью.

Ограниченная видимость не создаёт полномочия

RFC 9420 задаёт публичный и приватный форматы MLS. В федерации службе распределения могут быть нужны Commit и Proposal, но PublicMessage раскроет их лишним наблюдателям. Черновик помещает external_receivers в GroupContext и ограничивает новый формат рукопожатиями.

Группа должна требовать формат, листы — поддерживать его, а список — содержать получателя. Объявленная capability, решение группы и реально обработанное сообщение — разные состояния.

Для каждого получателя отправитель использует HPKE, упаковывая ключ, nonce, reuse_guard и индекс. Group ID, epoch и хеш индекса с nonce входят в контекст. Получатель затем открывает общий ciphertext.

Равенство содержания не равно подтверждённому источнику

framed_content_tbs_hash обнаруживает разные версии handshake для участников и внешней стороны. Он доказывает равенство, но не действующее разрешение.

Квитанция Доказывает Не доказывает
Reference найден Есть запись для descriptor Текущий допуск
HPKE успешен Внешний ключ открыл материал Личность MLS-отправителя
AEAD успешен Ciphertext и AAD целы Свежесть GroupContext
Хеш совпал Содержание одинаково Применение Commit
Подпись верна Отправитель соответствует использованному состоянию Право службы действовать
Итоговый receipt Произошла конкретная обработка Сходимость всей группы

Без контекста честный статус: «расшифровано, содержание связано, аутентификация ожидается». Отсутствие контекста — не плохая подпись; хорошая подпись — не операционное разрешение.

Контексту нужна provenance

Служба может хранить эпоху N при получении N+1, сохранить ключ после удаления или увидеть индекс листа с новым credential. Криптографическая привязка мешает простому переносу, но не доставляет полный контекст и не определяет срок хранения.

Сохраняйте версию, формат, group ID, epoch, digest, источник и время GroupContext, descriptor и credential получателя, орган допуска, результат HPKE, индекс, content hash, статус подписи не выполнялась/прошла/не прошла, использованный credential, локальное решение и последующий результат.

Список виден участникам. Это делает проверяемым вопрос власти: кто добавил службу и по какому правилу? The Policy Mirror требует фиксировать субъекта, правило, границы и последствия там, где технический список становится делегированием.

Не скрывать незавершённость

Редакция 07 — индивидуальный Internet-Draft, значения IANA остаются TBD. Реестр MLS их не назначает, а RFC 8126 не сертифицирует код. В Security Considerations всё ещё стоит TODO More Security. Пилот возможен, заявление о завершённой гарантии — нет.

Источники