Save the P2P encryption and delivery slide prompt
This commit is contained in:
1 parent
d5915aec80
commit
9c9f6f3440
1 file changed
+129
@@ -0,0 +1,129 @@
|
||||
Создай один иллюстративный слайд 16:9, 3840×2160, на русском языке.
|
||||
|
||||
Тема: «P2P: шифрование и доставка сообщений и медиа».
|
||||
|
||||
Стиль: чистая техническая инфографика, светлый фон, крупные подписи, простые пиктограммы устройств, конвертов, файлов и ключей. Смысл должен читаться по схемам и стрелкам. Не превращай слайд в текстовый документ: инструкции ниже описывают содержание, на слайд выноси только короткие подписи.
|
||||
|
||||
Цвета:
|
||||
— синий: мои устройства, сторона A;
|
||||
— зелёный: устройства собеседника, сторона B;
|
||||
— серый: серверы и недоступные устройства;
|
||||
— золотой: ключи и шифрование.
|
||||
Тонкие стрелки — запросы и подтверждения; толстые — передача контента; пунктир — резервный путь.
|
||||
|
||||
КОМПОЗИЦИЯ
|
||||
|
||||
Верхняя полоса — два режима беседы рядом.
|
||||
Ниже — три пронумерованных блока слева направо:
|
||||
1. Шифруем.
|
||||
2. Доставляем сообщение.
|
||||
3. Получаем медиа.
|
||||
Внизу — компактная полоса подтверждений и хранения.
|
||||
|
||||
ДВА РЕЖИМА
|
||||
|
||||
Слева: «Без подгрупп».
|
||||
Покажи устройство A1 ↔ устройство B1.
|
||||
Подпись: «Только два выбранных устройства».
|
||||
Ключи сторон — личные пары ключей A1 и B1.
|
||||
Маленькое примечание: «В том числе между своими устройствами».
|
||||
|
||||
Справа: «С подгруппами».
|
||||
Две явно разделённые области:
|
||||
«Мои устройства»: A1, A2.
|
||||
«Устройства собеседника»: B1, B2.
|
||||
A1 — отправитель. B2 первоначально offline.
|
||||
Каждая сторона использует свою общую пару ключей подгруппы.
|
||||
Примечание: «Нет подгруппы → сторона представлена одним устройством и его ключами».
|
||||
|
||||
1. ШИФРУЕМ
|
||||
|
||||
Раздели сообщение и файл.
|
||||
|
||||
Сообщение:
|
||||
Пары ключей сторон A и B → «Общий ключ PM: X25519 → SHA-256» → закрытый конверт.
|
||||
Приватные ключи остаются у участников.
|
||||
Подпись конверта: «E2E + подпись устройства-автора».
|
||||
Подпись автора — Ed25519; ключ подгруппы не подменяет личную подпись устройства.
|
||||
|
||||
Файл:
|
||||
«Новая пара ключей F для каждого файла» → «HPKE → ключ файла» → один зашифрованный файл.
|
||||
Сам файл шифруется AES-256-CCM.
|
||||
|
||||
От приватного ключа F проведи две независимые ветви:
|
||||
— «Упаковка для A: публичным ключом стороны A»;
|
||||
— «Упаковка для B: публичным ключом стороны B».
|
||||
|
||||
Обе упаковки помести ВНУТРИ зашифрованного сообщения вместе с описанием файла.
|
||||
Не изображай последовательное двойное шифрование ключа: это две отдельные упаковки.
|
||||
Любая сторона раскрывает свою упаковку своим приватным ключом.
|
||||
Подпись возле файла: «Один шифротекст для всех копий».
|
||||
|
||||
2. ДОСТАВЛЯЕМ СООБЩЕНИЕ
|
||||
|
||||
Используй пример A1/A2/B1/B2.
|
||||
От A1 идут прямые стрелки конверта к доступным A2 и B1.
|
||||
|
||||
Рядом покажи фиксируемый при отправке список:
|
||||
A1 — локальная копия;
|
||||
A2 — ✓ доставлено;
|
||||
B1 — ✓ доставлено;
|
||||
B2 — ожидает.
|
||||
|
||||
Подпись: «Все известные устройства обеих сторон, включая offline».
|
||||
Для режима без подгрупп адресат только B1.
|
||||
|
||||
Для недоступного B2 покажи резервный путь:
|
||||
A1 → S → B2.
|
||||
S обозначь «Сервер сообщений / mailbox».
|
||||
Подпись: «Нет прямой доставки или ACK → через S».
|
||||
При появлении B2 онлайн сервер передаёт ему тот же зашифрованный конверт.
|
||||
|
||||
От получающих устройств покажи тонкие обратные стрелки ACK:
|
||||
«Подтверждение после сохранения».
|
||||
Принятие сервером S не обозначай как доставку устройству.
|
||||
|
||||
3. ПОЛУЧАЕМ МЕДИА
|
||||
|
||||
Сначала покажи отдельное условие хранения:
|
||||
«Сначала P2P».
|
||||
«Остались устройства без файла: offline или автозагрузка выключена → хранение на M».
|
||||
Уточни, что это относится и к собственным устройствам.
|
||||
|
||||
S координирует хранение. M обозначь «Сервер хранения медиа».
|
||||
Покажи передачу на M только зашифрованной копии файла.
|
||||
|
||||
Затем покажи B2, появившийся онлайн и запросивший вложение.
|
||||
От B2 одновременно идут тонкие стрелки HAVE:
|
||||
к A1, A2, B1 и M.
|
||||
Подпись: «Параллельный запрос всем известным онлайн-источникам».
|
||||
|
||||
На ответах укажи пример RTT:
|
||||
A1 — 30 мс, A2 — 45 мс, B1 — 12 мс, M — 60 мс.
|
||||
Выдели B1 как лучший ответивший источник.
|
||||
От B1 к B2 проведи ОДНУ толстую стрелку файла:
|
||||
«Минимальный RTT → скачивание → проверка → расшифровка».
|
||||
Маленькая подпись: «Ошибка источника → следующий».
|
||||
Не изображай одновременное скачивание файла со всех источников.
|
||||
|
||||
Отметь: «Автозагрузка — по настройкам устройства».
|
||||
Проверенные копии на устройствах могут служить источниками для остальных участников.
|
||||
|
||||
НИЖНЯЯ ПОЛОСА
|
||||
|
||||
Три отдельных значка:
|
||||
«Сообщение сохранено» ≠ «Файл скачан и проверен» ≠ «Пользователь открыл файл».
|
||||
|
||||
Возле M — две настройки удаления:
|
||||
— «При открытии: первый “забран” от собеседника или TTL»;
|
||||
— «Без удаления при открытии: скачали все устройства получателя или TTL».
|
||||
|
||||
Короткое примечание:
|
||||
«Свои устройства отправителя не задерживают удаление M».
|
||||
Удаление серверной копии не удаляет уже скачанные копии участников.
|
||||
|
||||
Общая подпись:
|
||||
«Серверам не передаются открытый контент и секретные ключи».
|
||||
Небольшое пояснение: «S и M — роли; они могут находиться на одном узле».
|
||||
|
||||
Не показывай форматы пакетов, таблицы БД, размеры ключей и служебные таймеры. Сохрани ясную последовательность: кто участвует → чем шифруем → кому доставляем сообщение → откуда скачиваем файл.
|
||||
Reference in new issue
Block a user