Shaun McCance
shaunm@gnome.org 2011
Захищене сховище для паролів та інших даних
Максим Дзюманенко
dziumanenko@gmail.com 2010
Юрій Чорноіван
yurchor@ukr.net 2020

# Захист

У GNOME для безпечного зберігання паролів та інших конфіденційних даних використано libsecret. Програми можуть використовувати бібліотеку для керування сховищем ключів для зберігання паролів і доступу до них, а користувачі можуть керувати своїми паролями за допомогою програми GNOME Seahorse.

У засобах керування сховищем паролів передбачено можливість роботи із декількома сховищами ключів, де кожне сховище ключів може містити довільну кількість записів. Записи у сховищі ключів є певними фрагментами даних, часто паролями. Кожне сховище ключів замикається окремо. Для доступу до сховища користувачам доведеться вводити пароль. Після розблокування сховища користувач отримує доступ до усіх записів у відповідному сховищі.

Засіб керування сховищем ключів надає доступ до списків керування для кожного запису сховища ключів, визначаючи, яким програмам буде надано доступ до відповідного запису. Якщо доступ до запису сховища ключів спробує отримати невідома програма, засіб керування сховищем ключів попросить користувача дозволити або заборонити доступ до програми. Це запобігає доступу програм зловмисників або погано написаних програм до конфіденційних даних користувача.

Дані сховища ключів, які зберігаються у файловій системі, шифруються за допомогою блокового шифру AES, а для хешування атрибутів запису використовується SHA1. За допомогою хешування атрибутів засіб керування сховищем ключів зможе шукати записи, які потрібні програмам без розблоковування сховища ключів. Сховище ключів має бути розблоковано, якщо буде знайдено відповідний запис і буде отримано до нього доступ.

У засобі керування сховищами ключів також передбачено сховище ключів сеансу. Записи у сховищі ключів сеансу ніколи не зберігаються на диску і втрачаються, щойно завершується сеанс користувача. Сховищем ключів сеансу можна скористатися для зберігання паролів, які слід використовувати лише у поточному сеансу.

Якщо ви користуєтеся GIO для доступу до віддалених серверів, ви автоматично отримаєте усі переваги засобу керування сховищем ключів. Кожного разу, коли GIO потребує розпізнавання користувача, програма пропонує зберегти пароль, або у типовому сховищі ключів, або у сховищі ключів сеансу.

Вам слід використовувати засіб для керування сховищем ключів усюди, де ваша програма має зберігати паролі або інші конфіденційні дані користувачів. Використання засобу керування сховищем ключів робить користування програмою зручнішим, одночасно підтримуючи безпеку і захист даних.

У GNOME до версії 3.6 було використано бібліотеку із назвою gnome-keyring. Починаючи з версії 3.6, замість неї використано libsecret. Нова бібліотека уможливила спільне використання служби сховища ключів у GNOME та інших стільничних середовищах та програмах.

Довідник-підручник з Libsecret