Десять правил керування обліковими даними
Контрольний список «зараховано/не зараховано» для будь-якої системи облікових даних. Десять технічних правил і точний опис того, як Clavitor дотримується кожного з них. Більшість інструментів провалюють кілька.
Більшість інструментів для роботи з обліковими даними порушують щонайменше одне з цих правил. Це не звинувачення, це арифметика.
Спосіб, у який таємні дані зберігалися останні двадцять років, був розроблений для людей, які мусили їх читати й запам'ятовувати. Головні паролі. Фрази відновлення. Сховище, яке ви відмикаєте, і сховище, що після розблокування віддає все будь-кому, хто попросить. Приберіть припущення, що секрет читає людина, — і правила змінюються.
Нижче — десять правил, на яких має бути побудована система облікових даних. Вони технічні, перевірювані й дають чітку відповідь: зараховано чи ні. Звірте з ними будь-який інструмент, зокрема наш, і порахуйте, скільки правил він дотримується. Потім читайте далі, бо під кожним правилом наведено точний опис того, як Clavitor його дотримується.
1. Ключ випадковий, і жодна людина його ніколи не бачить.
Секрет, який людина може прочитати, — це секрет, який можна викрасти фішингом, вгадати, повторно використати або вибити з людини примусом. Ключ шифрування має бути випадковим матеріалом, який генерує машина: ніколи не показується, ніколи не вводиться вручну, ніколи не відновлюється з того, що знає людина.
Clavitor: ключ — це 256 бітів випадкового матеріалу, який пристрій генерує під час реєстрації. Жодна людина його ніколи не бачить. Нема чого викрадати фішингом і нема чого вибивати примусом.
2. Головного пароля немає. Апаратний ключ — єдиний ключ.
Головний пароль — це двері, а двері можна відімкнути. Фраза відновлення для власника — це фраза відновлення для нападника. Коренем довіри має бути фізичний ключ, який повинен бути присутнім, а не рядок, який можна змусити ввести будь-кого.
Clavitor: немає головного пароля, немає фрази відновлення — навіть як запасного варіанта. Корінь шифрування — це випадковий матеріал, загорнутий під ваш апаратний ключ. Нічого, що обирає людина, не потрапляє в ланцюжок ключа.
3. Оператор не може розшифрувати дані, які зберігає.
Якщо компанія, що обслуговує сервери, може читати ваші секрети, то може й недобросовісний працівник, і судова вимога, і будь-хто, хто зламає цю компанію. Конфіденційність має ґрунтуватися на математиці, а не на сумлінності оператора.
Clavitor: ми обслуговуємо сервери й усе одно не можемо читати ваші секрети. Ключі дешифрування ніколи не потрапляють на сервер. Візьміть базу даних, машину, резервні копії — і ви отримаєте рівномірно випадковий шифротекст.
4. Секрети ніколи не живуть там, де виконується код.
Облікові дані у файлі .env, змінній середовища або локальному кеші — це облікові дані, які чекають, поки їх схопить те, що запуститься наступним. Одного поганого скрипту встановлення не повинно вистачити, щоб забрати ваші ключі. Код має отримувати право скористатися секретом, а не право ним володіти.
Clavitor: програма або агент ніколи не тримає облікові дані. Він отримує можливість скористатися ними, підтягуючи їх у момент використання, ніколи не записуючи на диск і ніколи не кешуючи. Коли шкідливе ПО шукає ключі, воно знаходить порожню кімнату.
5. Агент не може перелічувати. Він доходить лише до того, що йому названо.
Якщо суб'єкт може перелічувати, шукати або переглядати сховище, одна компрометація перетворюється на мапу всього, що вам належить. Неможливість перелічувати — сильніший засіб контролю, ніж будь-яке обмеження на перелічування.
Clavitor: на інтерфейсі агента немає списку, немає пошуку, немає виявлення. Агент доходить до того, що йому названо, і решти навіть не бачить. Це закріплено на рівні протоколу, а не обмежено тротлінгом.
6. Облікові дані прив'язані до машини, для якої їх видано.
Припустіть, що облікові дані рано чи пізно вкрадуть. Важливо те, чи мають вони будь-яку цінність поза машиною, якій належать. Ключ, що працює звідусіль, — це ключ, що працює з ноутбука нападника.
Clavitor: облікові дані агента прикріплені до машини, для якої їх видано. Викрадіть їх, запустіть десь в іншому місці — і їх відхилять ще до того, як їх побачить будь-який обробник.
7. Жоден суб'єкт не може спорожнити сховище.
Звичайне використання торкається жмені секретів. Крадіжка намагається забрати все й швидко. Система має розрізняти ці два випадки і зупиняти другий, навіть якщо власник не спостерігає.
Clavitor: кожен агент має обмеження частоти запитів і блокується за правилом двох порушень. Спроба дістатися за межі звичної жмені спрацьовує як сповіщення й вимикає агента. Стратегія «захопити все» наштовхується на стіну.
8. Кожна дія фіксується в журналі та прив'язується до суб'єкта.
Спільні облікові записи й непомітні читання знижують підзвітність. Коли щось іде не так, потрібно точно знати, хто або що це зробив, і які саме облікові дані були задіяні, — без двозначності. Запис із прогалинами — це не запис.
Clavitor: кожна дія прив'язується до конкретного суб'єкта — окремо для агента й окремо для користувача, а повний життєвий цикл облікових даних (створення, читання, використання, відкликання) фіксується в журналі.
9. Жодні облікові дані не затримуються на клієнті. Не на диску, не в пам'яті, навіть у зашифрованому вигляді.
Зашифрована локальна копія — це все одно копія, і ключ до неї лежить на тій самій машині. Усе, що залишається на пристрої, — це те, за чим нападник може повернутися. Облікові дані мають існувати лише в ту мить, коли ними користуються.
Clavitor: кожне читання виконується в реальному часі й відкидається після використання. Нічого не кешується і не зберігається на клієнті — ні зашифрованого, ні будь-якого іншого. Секрет перебуває в пам'яті в момент використання, а потім зникає. Відкличте його — і він зникне під час наступного запиту.
10. Криптографія перевірена, а не вигадана.
Власна криптографія — це спосіб, у який розумні команди програють. Примітиви, що захищають секрет, мають бути тими, які незалежні ревізори вже перевірили, а збірка має унеможливлювати випуск без них. Нудне й аудоване краще за хитре.
Clavitor: сховище шифрується на зберіганні за допомогою криптографічного модуля FIPS 140-3, а збірка відмовляється публікувати двійковий файл без нього. Немає вигаданих примітивів, немає неаудованих обхідних шляхів.
Пройдіться списком
Десять правил. Пройдіться за списком зі своїм поточним інструментом і порахуйте. Потім пройдіться з нашим.
Ми записали ці правила тому, що більшість галузі тихо провалює кілька з них, а Clavitor ми побудували так, щоб не провалювати жодного.
Clavitor. Сховище облікових даних, створене для ШІ-агентів — і проти них.