Безпека: від чого захищає OTP Pink, а від чого не може
Ця сторінка — про розширення OTP Pink. Сайт, який ви читаєте, — окрема річ: він рахує відвідування, а як — сказано на сторінці про приватність.
Від чого воно захищає
- Копія ваших даних без вашого пароля. Сховище в даних розширення в браузері, автоматичні бекапи й експорт
.pinkotpзашифровані. Той, хто скопіює ваш профіль браузера або один із цих файлів, не дізнається про ваші акаунти нічого, крім приблизного розміру сховища та параметрів виведення ключа. Скільки часу забере підбір, залежить від пароля, який ви виберете. - Підроблені або шкідливі файли. Зашифровані дані, прив’язані до них метадані й кожен обгорнутий ключ автентифіковані: зміна будь-якого з них призводить до того, що сховище або файл не відкривається, а не відкривається неправильно. Імпортований файл перевіряється на розмір, структуру й параметри виведення ключа до того, як буде виведено будь-який ключ, тож файл не може змусити розширення виконувати необмежені обчислення.
- Мережа. Розширення не робить мережевих запитів, тож немає сервера, через який могли б витекти дані або який могли б зламати, і нічого перехоплювати.
- Сторінки, які ви відвідуєте. OTP Pink не має постійного доступу до жодного сайту. Розширення читає вкладку лише після того, як ви відкриєте його на ній, і лише доки браузер зберігає цей доступ для вкладки. Скрипт, який воно там запускає, лише читає сторінку й не робить запитів, а те, що він знаходить, показується вам, перш ніж щось буде додано.
- Старий пароль. Зміна пароля замінює ключ даних і заново шифрує сховище, тож старий ключовий матеріал, повернутий на місце, не відкриє поточне сховище старим паролем.
Від чого воно не захищає
- Скомпрометований комп’ютер або браузер. Шкідлива програма, скомпрометований браузер або інше розширення, здатне налагоджувати чи переглядати розширення, може прочитати те, що показує OTP Pink, а доки сховище розблоковане, — і його ключ.
- Відкат, видалення або пошкодження. Той, хто може записувати в дані розширення в браузері, може повернути
старішу, правильно зашифровану копію сховища — а з нею й акаунт, який ви видалили, — або видалити чи пошкодити
сховище. Автоматичні бекапи лежать у тому самому профілі браузера, у межах тієї самої досяжності, і видаляються разом
із розширенням. Шлях назад — файл
.pinkotp, який ви зберігаєте поза браузером (бекапи). - Слабкий пароль. Argon2id уповільнює підбір; короткий або повторно використаний пароль він надійним не робить.
- Старіші файли. Файл
.pinkotpабо автоматичний бекап, зроблений до зміни пароля, і далі відкривається паролем, який був чинним, коли його зроблено. Якщо той пароль витік, видаліть їх. - Те, що ви виносите у відкритому вигляді. Експорти без шифрування, QR-коди на екрані й роздрукований аркуш відновлення містять ваші ключі як є. Код, скопійований у буфер обміну, можуть прочитати інші програми, доки він там. Очищення буфера обміну — зручність, а не гарантія: OTP Pink не може прочитати буфер обміну, щоб перевірити, що в ньому, тож очищується й усе, що ви скопіювали після коду.
- Фішинг. Код, введений на підробленому сайті, цей сайт може одразу використати. OTP Pink ставить коди для сайту, на якому ви перебуваєте, першими, але не оцінює сайт за вас.
- Налаштування поруч зі сховищем. Невеликий запис про пристрій зберігається незашифрованим: тема, час автоблокування, поправка годинника, випадковий ідентифікатор пристрою, коли цей браузер востаннє експортував сховище (з хешем зашифрованого сховища на ту мить — для нагадування про експорт) і до якого часу це нагадування відкладено, а також два перемикачі функцій, яких немає в цій версії.
Шифрування в цифрах
- Сховище зашифровано AES-256-GCM випадковим 256-бітним ключем даних, з новим 12-байтовим nonce під час кожного запису. Метадані, що зберігаються поруч із шифротекстом, автентифікуються разом із ним.
- Ключ даних обгорнуто ключем, виведеним із вашого пароля через Argon2id: пам’ять — 64 MiB, проходів — 3, паралелізм — 1.
- Пароль — щонайменше 8 символів, і він ніде не зберігається.
- Імпортований або відновлюваний файл перевіряється до того, як із пароля буде виведено будь-який ключ: файли понад 10 МіБ відхиляються, а розпакування обмежено 16 МіБ.
Блокування
Сховище блокується після вибраного вами часу без дій — 1, 5 або 15 хвилин, 1 година або ніколи — і коли браузер закривається. Доки воно розблоковане, ключ даних зберігається в сеансовому сховищі браузера (session storage), яке живе в пам’яті й очищується, коли браузер закривається, — там, де розширення може закрити його для інших своїх контекстів; де не може, ключ лишається тільки в пам’яті фонової частини розширення. Час блокування і зміна пароля — у розділі блокування і пароль.
Що розширенню дозволено
Дозволи в Chrome та Edge: storage, alarms, activeTab, clipboardWrite, scripting, contextMenus, offscreen і sidePanel. У Firefox: storage, alarms, activeTab, clipboardWrite, scripting і contextMenus. Необов’язкові, запитуються лише тоді, коли ви вмикаєте налаштування: tabs.
- На сторінці: лише на вкладці, де ви відкрили OTP Pink, — кнопкою на панелі інструментів, пунктом контекстного меню або вашим сполученням клавіш. Там розширення запускає скрипт зі свого пакета, який читає сторінку в пошуках QR-коду, посилання для налаштування або виписаного ключа, нічого не змінює й нічого не надсилає. Доки браузер зберігає цей доступ для вкладки, розширення шукає знову, коли там завантажується сторінка. Щоб прочитати QR, до якого скрипт не може дістатися, воно робить знімок видимої вкладки.
- Буфер обміну: розширення записує в нього код, який ви копіюєте, а пізніше записує порожній рядок, щоб його очистити. Буфер обміну воно ніколи не читає.
- Коди сайту на будь-якій вкладці — необов’язкове налаштування. Під час увімкнення воно просить у браузера дозвіл
tabs(браузер називає його «Переглядати історію веб-перегляду» або «Доступ до вкладок браузера») і читає лише адресу активної вкладки, ніколи — її вміст. Сайт зберігається, лише коли ви прив’язуєте його до акаунта. - Немає доступу до сайтів (host permissions), немає
webRequest, немає скриптів вмісту (content scripts), що лишаються на сторінках, а політика безпеки вмісту починається зdefault-src 'none'і задаєconnect-src 'none'.
Перевірте самі
Обіцянка: код розширення не робить жодного запиту http:, https:, ws: чи wss: і не відкриває жодного з’єднання
WebRTC — ні до сервера, ні до сторінки, на якій ви перебуваєте. Завантаження власних файлів із пакета
(chrome-extension://…, moz-extension://…) і локальні адреси data: чи blob: — це не мережеві запити.
- Бічна панель. Chrome або Edge: клацніть правою кнопкою миші всередині панелі → Перевірити → Мережа.
Firefox:
about:debugging→ Цей Firefox → OTP Pink → Дослідити → Мережа; ці інструменти належать фоновій частині розширення, а бічній панелі можуть знадобитися власні (клацання правою кнопкою всередині неї → Дослідити, з увімкненим набором інструментів браузера). - Фонова частина. Chrome або Edge:
chrome://extensions(абоedge://extensions) → Режим розробника → OTP Pink → Синтаксис Service Worker → Мережа. У Firefox її охоплює те саме вікно «Дослідити». - Користуйтеся розширенням: розблокуйте сховище, додайте акаунт, знайдіть ключ на сторінці, скопіюйте код, зробіть експорт. На вкладці «Мережа» будуть лише власні файли розширення.
Посилання внизу панелі — 301.st, магазин розширень — звичайні посилання, які відкривають нову вкладку, коли ви на них клацаєте; розширення нічого з них не завантажує.
Як користуватися ним безпечно
- Довгий пароль, якого ви ніде більше не використовуєте.
- Час блокування, що відповідає тому, як ви залишаєте комп’ютер.
- Зашифрований експорт
.pinkotp, збережений поза браузером, і запам’ятований пароль до нього. Панель знову нагадує про це через 30 днів після експорту, якщо сховище відтоді змінилося. - Видаляйте експорти без шифрування, щойно їх імпортовано, а роздрукований аркуш зберігайте так само, як паспорт.