Record subgroup leave key retention decision
This commit is contained in:
1 parent
cf2880596c
commit
1dbc2bfce5
2 files changed
+28
-1
No files matched your search
@@ -2,7 +2,8 @@
|
||||
======================================
|
||||
|
||||
Дата: 03.11.2026. Ветка реализации: feature/dm-devgroups.
|
||||
Статус: согласованная схема; выполнение этапов отмечается ниже.
|
||||
Статус: реализация начата; до изменения протокола требуется решить вопрос
|
||||
доступа после выхода из подгруппы (раздел 9). Выполнение этапов отмечается ниже.
|
||||
|
||||
1. Два режима беседы
|
||||
-------------------
|
||||
@@ -203,3 +204,27 @@ Qt/Android/headless получают итоговый conv_id от ядра и
|
||||
[ ] Обновить нормативную документацию; выполнить целевые DM/devgroup тесты,
|
||||
Qt/Android проверки и полный ./check.sh. Известные исходные отказы из
|
||||
doc/tasks.md отделять от новых регрессий. Итог фиксировать с логами.
|
||||
|
||||
9. Обнаруженный вопрос: выход из подгруппы
|
||||
----------------------------------------
|
||||
chat_devgroup_leave → cd_commit удаляет devgroup_local, включая приватный
|
||||
X25519 ключ подгруппы (src/chat/chat_devgroup.c). Стороны GROUPS закреплены,
|
||||
а упаковка F_private адресована этому ключу. Поэтому после выхода без
|
||||
дополнительного хранения секретов нельзя расшифровать ни ещё не скачанные
|
||||
вложения, ни ранее адресованные, но ещё не полученные сообщения.
|
||||
Неявное переключение старой беседы на DEVICE неверно: это другие ключи и ID.
|
||||
|
||||
Нужен выбор поведения:
|
||||
А. Сохранять прежний X25519 ключ локально для отложенной доставки по исходному
|
||||
snapshot; ключ подписи подгруппы для этого сохранять не требуется.
|
||||
Б. Выход завершает получение старой GROUPS-беседы; оставляем читаемыми только
|
||||
уже сохранённую историю и доступные вложения. Для этого локально сохраняем
|
||||
необходимые ключи конкретных бесед/вложений до удаления группового секрета.
|
||||
|
||||
Это также выбор доступа, а не только удобства: существующий выход не меняет
|
||||
ключи на остальных устройствах. Сохранённый групповой X25519 секрет технически
|
||||
подходит и для будущих шифротекстов этой группы; строгий криптографический
|
||||
отзыв требует отдельного протокола ротации ключей, которого сейчас нет.
|
||||
Пока решение не принято, протокол/рабочая доставка не изменяются. По правилу
|
||||
AGENTS.md об остановке при обнаруженной несогласованности завершается только
|
||||
проверка подготовленного модуля идентичностей и снимков адресатов.
|
||||
@@ -10,6 +10,8 @@
|
||||
Снимок адресатов, per-device ACK и mailbox fallback; отдельная пара ключей вложения и две упаковки,
|
||||
P2P/RTT-выбор источника, настройки автозагрузки и политика M: открытие либо загрузка всеми получателями/TTL.
|
||||
Согласованный план и этапы: [dm_devgroup_plan.txt](dm_devgroup_plan.txt).
|
||||
До изменения протокола уточнить доступ после выхода из подгруппы: сейчас выход удаляет её X25519 секрет,
|
||||
необходимый для отложенных сообщений и вложений. Варианты и последствия — раздел 9 плана.
|
||||
|
||||
[+] **Связывание личных устройств: явное меню и два PIN** — 03.11.2026.
|
||||
Qt/Android: «Это моё устройство» только для чужого устройства без подгруппы с живым BGP; пояснение и явная кнопка «Связать».
|
||||
|
||||
Reference in new issue
Block a user