Передача секрету зашифрованим посиланням
Інструмент для обміну секретами в режимі браузера. Введіть секрет — і отримайте посилання, що шифрує все на стороні клієнта за допомогою AES-GCM 256 біт через Web Crypto API. Ключ шифрування міститься у фрагменті URL (після #) — відповідно до специфікації HTTP браузери ніколи не включають фрагменти в мережеві запити, тому ключ залишається в браузері отримувача. Реєстрація не потрібна. Порівняно з сервісами на кшталт Privnote є компроміс: у режимі браузера цей інструмент не веде бази секретів, тому не може примусово застосувати правило «переглянути один раз і видалити» — посилання розшифровуватиметься стільки разів, скільки хто завгодно з ним спробує.
Як користуватися
До ~4 КБ тексту зручно вміщується в URL у всіх популярних браузерах.
Другий рівень захисту: посилання розшифровується ключем із URL, а потім знімається шар пароля. Передайте пароль іншим каналом.
Надішліть електронною поштою, через Slack, Signal, SMS — будь-яким зручним каналом. Отримувач відкриє посилання в будь-якому браузері.
Без інсталяції та реєстрації. Просто натисніть посилання і (якщо вказано) введіть пароль. Секрет розшифровується локально і відображається.
Надішліть секрет через зашифроване посилання — шифрування відбувається в браузері, реєстрація не потрібна
Параметри
Як це працює (і чого НЕ робить)
- Шифрування AES-GCM 256 біт із випадковим ключем, згенерованим у вашому браузері.
- Ключ шифрування міститься у фрагменті URL (після #) — браузери ніколи не включають фрагменти в мережеві запити.
- Без реєстрації, бази даних і сторонніх сервісів: будь-хто з посиланням може розшифрувати секрет.
- Це не справжній режим «один раз» — будь-хто з копією посилання може розшифровувати скільки завгодно разів. Індикатор «прочитано та знищено» — лише локальна позначка в браузері глядача.
- Для справжнього режиму «один раз» скористайтеся сервісом із серверним сховищем і видаленням після прочитання. Для роботи без сервера цей інструмент — оптимальний компроміс.
Відкрити зашифрований секрет
Можливості
Часті запитання
Чи можете ви прочитати мій секрет на сервері?
У режимі браузера — ні. Ключ шифрування міститься після # в URL, і відповідно до специфікації HTTP браузери ніколи не включають фрагменти в мережеві запити, тому ключ не потрапляє на наш сервер. Зашифровані дані надходять у шляху URL (тому журнали нашого сервера можуть короткочасно фіксувати шифротекст через стандартні журнали доступу nginx), але без ключа шифротекст захищений AES-GCM-256 і не піддається розшифруванню.
Чим це відрізняється від Privnote?
Privnote зберігає зашифровані дані в базі даних і видаляє їх після першого перегляду. У режимі браузера цей інструмент не використовує базу секретів — дані знаходяться в самому URL, тому ми не можемо примусово застосувати «один перегляд». Компроміс: ключ шифрування ніколи не потрапляє на наш сервер, але посилання можна використовувати повторно. (Режим із серверним сховищем цього інструмента більше схожий на Privnote.)
Чому URL такий довгий?
Він містить весь зашифрований секрет, AES IV, додаткову сіль і ключ. Чим довший секрет, тим довший URL. Близько 4 КБ тексту дають ~6 КБ URL — це прийнятно в будь-якому сучасному браузері.
Чи справді потрібен пароль?
Ні — саме посилання повністю зашифроване. Пароль — додатковий рівень захисту на випадок, якщо посилання потрапить стороннім (через історію чату або витік у Slack). За наявності обох рівнів зловмиснику потрібні і посилання, і пароль.
Скільки діє посилання?
У режимі браузера: доки хтось має URL. Стан бази даних для примусового закінчення терміну дії відсутній, тому вважайте надіслані посилання чинними, доки ви не переконаєтеся, що їх видалено з усіх пристроїв отримувачів. (У режимі із серверним сховищем застосовується явний TTL — дивіться «Діє протягом».)
Чи можна зробити справжній режим «переглянути один раз»?
Так — це режим із серверним сховищем. Він використовує серверне сховище з видаленням після прочитання, що передбачає інший рівень довіри (ви маєте довіряти серверу). Режим браузера (шифротекст у URL) доступний поруч як варіант без бази даних.
Звичайно! Просто надішліть нам коротке повідомлення з вашою ідеєю. Якщо хочете обговорити детальніше — залиште email, і ми зв’яжемося з вами. Можна залишитися анонімом.