Технологія Schrift Encryption
Schrift Encryption - це наскрізне шифрування даних або E2EE.
Для будь-якого хмарного сервісу винятково важливо забезпечувати безпеку даних клієнтів. А для клієнта безумовно вигідно мати впевненість, що доступ до його даних є тільки у нього і більше ні в кого. Але ще краще не просто довіряти запевненням хмарного сервісу, а розуміти як влаштований процес поводження з його даними.
Це особливо важливо, коли клієнтські дані - це не просто папка для обміну файлами, а ключовий компонент інформаційної системи, платформа для внутрішньої та зовнішньої комунікації, збереження конфіденційних документів і корпоративної бази знань, тобто місце концентрації конфіденційної інформації організації або особистий сейф даних індивідуального користувача.
Коли хмарний сервіс декларує шифрування даних, зазвичай йдеться лише про передачу даних між хмарним сервером і клієнтом. Але шифрування цього трафіку отже вже є стандартом роботи всіх інтернет-браузерів. Інакше користувач отримує серйозне попередження від веб-браузера про небезпеку продовження роботи.
Яким чином зберігаються і обробляються дані клієнтів на серверах хмарного сервісу, клієнт зазвичай не знає. Непоодинокими є публікації в ЗМІ про витоки даних із хмарних сервісів унаслідок хакерських атак або через недбалість співробітників провайдера послуги чи датацентру.
Власний сервер клієнта в питанні безпеки даних нічим не кращий, оскільки всі ризики хмарного сервера тією самою або навіть більшою мірою актуальні і для локального сервера.
Ми не просто декларуємо, що у нас немає доступу до даних клієнта за умови активації послуги Schrift Encryption, а й підтверджуємо це детальним описом технології, адже поважаємо своїх клієнтів і знаємо, наскільки важлива та корисна для них ця послуга.
Як працює Schrift Encryption
Дані клієнта в розшифрованому вигляді можуть перебувати тільки на пристроях клієнта. Створювані клієнтом дані зашифровуються на пристрої користувача і передаються на наш сервер (хмарний сервіс) у зашифрованому вигляді.
Дані клієнта ніколи, навіть транзитом, навіть на короткий проміжок часу, не з'являються на наших серверах у розшифрованому вигляді.
Ніхто, крім самого клієнта (його співробітників) не може отримати доступ до розшифрованих даних. Ні наші співробітники (адміністратори хмарного сервісу), ні адміністратори дата-центру, ні хакери, ні правоохоронні органи не можуть отримати доступ до даних клієнта без згоди самого клієнта. Ми, як провайдер хмарного сервісу, зі своєї волі або під тиском, не зможемо розкрити інформацію клієнта, тому що у нас немає такої технічної можливості.
СЕД Шрифт забезпечує виконання своїх функцій, працюючи із зашифрованими даними, використовуючи тільки цифрові ідентифікатори документів, подій, файлів тощо, які абсолютно не приносять користі стороннім особам без доступу до смислової інформації.
Одним із ключових компонентів технології шифрування є агент шифрування. Це окремий застосунок, який розгортається в докер-контейнері і встановлюється клієнтом самостійно у своїй інфраструктурі (на сервері або на звичайному комп'ютері). Доступ до агента шифрування є тільки у клієнта. Нижче основні операції технології Schrift Encryption:
Під час активації шифрування компанії, адміністратор компанії створює пару ключів агента: публічний і приватний, а також ключ компанії (симетричний). Ключ компанії використовується для шифрування довідників компанії: співробітники, посади, контрагенти, шаблони документів, типи документів тощо.
Користувач на своєму пристрої в процесі звернення до даних зашифрованої компанії, автоматично створює пару ключів шифрування: публічний (ним дані зашифровуються) і приватний (ним дані розшифровуються). Приватний ключ доступний тільки самому користувачеві, а публічний передається на сервер для використання агентом шифрування.
Агент шифрування виконує функцію створення пари ключів для нової посади: приватний і публічний. При створенні адміністратором або іншим співробітником компанії призначення співробітника на посаду, агент шифрування зашифровує приватний ключ посади публічним ключем користувача і передає його на сервер для передавання призначеному співробітнику.
Користувач у процесі авторизації отримує від сервера зашифровані приватний ключ посади і ключ компанії, розшифровує їх приватним ключем користувача і отримує можливість роботи з даними доступними його посаді.
При створенні нового документа (задачі, папки, чату, тощо), співробітник створює ключ шифрування документа (симетричний), зашифровує цим ключем дані документа, зашифровує ключ документа публічним ключем посади і публічними ключами агента шифрування і кожної з посад, яким він відкриває доступ до цього документа, передає зашифрований документ і зашифрований ключ документа хмарному серверу.
Під час звернення до документа співробітник отримує від хмарного сервісу зашифрований документ і зашифрований ключ документа, розшифровує ключ документа приватним ключем своєї посади і розшифровує документ ключем документа.
Агент шифрування забезпечує відкриття посаді доступу до усіх документів зареєстрованих у журналі реєстрації, до якого посаді було надано право на його читання. Для цього агент шифрування отримує із сервера ключі документів, зашифровані публічним ключем агента, розшифровує їх і передає на сервер ключі документів, зашифровані публічним ключем посаді, якій необхідно відкрити доступ до таких документів.
Агент шифрування виконує операції створення pdf-прев'ю і графічних мініатюр файлів, необхідних для зручності роботи користувачів у системі. Для цього агент шифрування отримує з сервера файл зашифрований ключем документа і ключ документа зашифрований публічним ключем агента, розшифровує ключ документа і файл, створює pdf-прев'ю і мініатюру, зашифровує їх ключем документа і передає на сервер. Система підтримує створення pdf-прев'ю і графічних мініатюр для більш ніж 100 форматів файлів.
Агент шифрування виконує створення індексу для повнотекстового пошуку за даними документів, подій, файлів і вмісту файлів. Для цього агент шифрування отримує з сервера дані, зашифровані ключем документа, і ключ документа, зашифрований публічним ключем агента, розшифровує ключ документа і дані, створює повнотекстовий індекс і передає його назад на сервер.
Функція агента шифрування в тому, щоб постійно перебувати на зв'язку з хмарним сервісом, чого не можна вимагати від адміністратора або власника компанії. Завдяки цьому, агент може виконувати завдання за розкладом, а також ресурсомісткі операції.
Наприклад, адміністратор компанії додає нового співробітника, створює йому призначення на посаду, наприклад з 9 ранку завтрашнього дня. У результаті новий співробітник повинен отримати приватний ключ посади, але не раніше моменту початку його призначення. Однак, невідомо коли саме новий співробітник під'єднається до системи, створить свій акаунт і згенерує пару своїх ключів. Тому агент шифрування, будучи в постійній готовності виконати свою роботу, видасть новому співробітникові ключ його посади у відповідний момент часу: не пізніше за реєстрацію акаунта користувачем і не раніше початку періоду його призначення на посаду.
Усі операції агента логіруються і ці записи можуть перевіряти адміністратори клієнта. Агент обмежений у можливості самостійно викликати дані з сервісу хмарного провайдера для їхнього розблокування та читання. Він виконує свою роботу тільки в межах завдань, які отримує від сервера хмарного провайдера.
Якщо агент шифрування з якихось причин втратив зв'язок із хмарним сервісом, робота компанії не зупиниться. Проте, деякі операції не зможуть виконуватися поки агент не повернеться до роботи. А саме:
нові призначення на посади;
відкриття доступу до документа, якщо у посади ще не було доступу до цього документа, і відкриття доступу випливає з процесу автоматичного направлення документа на підпис;
створюватися прев'ю і мініатюри по файлах;
оновлюватися індекс повнотекстового пошуку.
При поверненні агента шифрування на зв'язок, всі задачі, які очікують на його опрацювання, будуть ним негайно виконані.
Продуктивність технології
Крім виняткового рівня безпеки технології, особлива цінність полягає в її надійності та максимальній продуктивності під час роботи в багатокористувацькому середовищі.
Це забезпечується тим, що 3 основні рівні ключів (користувач, посада, документ), дають максимально швидкий результат у наступних практичних прикладах:
При зміні пароля користувачем, змінюється його пара ключів. Агент шифрування надає йому приватний ключ посади, який зашифрований новим публічним ключем користувача. Таким чином немає необхідності перешифровувати документи і ключі доступу до них. Час виконання: 1-2 секунди.
При створенні нового призначення на посаду, агент шифрування передає користувачеві приватний ключ посади, зашифрований публічним ключем користувача, і співробітник (користувач) отримує доступ до всіх доступних цій посаді даних. Час виконання: 1-2 секунди.
Під час припинення призначення співробітника на посаду, приватний ключ посади зашифрований публічним ключем користувача видаляється з сервера. Таким чином доступ користувача до посади припиняється без необхідності перешифровувати документи і ключі доступу до них. Час виконання: 1-2 секунди.
Процеси створення нового документа, а також ключа для його шифрування, як і процеси шифрування документа та дешифрування даних, займають час, що незначно відрізняється від часу, необхідного для роботи з незашифрованими даними. Зазвичай це не більше 20-30 додаткових мілісекунд.
Особливість передавання інформації у зовнішніх комунікаціях
Якщо зашифрована компанія (К1) надсилає документ до незашифрованої компанії (К2), то перед надсиланням через сервіс Schrift Intercompany, такий документ буде розшифровано агентом.
Якщо зашифрована компанія (К1) надсилає документ до зашифрованої компанії (К2), то перед надсиланням документа агент шифрування К1 отримує публічний ключ агента шифрування К2, зашифровує ключ документа і передає документ через сервіс Schrift Intercompany в зашифрованому вигляді. Агент шифрування К2 розшифровує ключ документа своїм приватним ключем і роздає доступ до нього відповідним посадам К2.
Додаткові фактори захисту даних
Технологія виключає можливість зміни ключів шифрування агента, коли в компанії активне шифрування, тобто дані перебувають у зашифрованому стані. Це означає, що ніхто, ні адміністратор сервера, ні зловмисник, не зможе замінити ключі агента.
Навіть знання ключів шифрування агента не дає доступу до даних, оскільки технологія Schrift Encryption є другим, додатковим шаром захисту інформації, на додаток до бізнес-логіки СЕД Шрифт, що забезпечує управління доступом до даних.
API-ключ виконує додаткову функцію захисту даних:
Щоб запустити агента шифрування на іншому сервері потрібне знання API-ключа. Без нього неможливо запустити агента, навіть за наявності ключів шифрування агента.
Отримати діючий API-ключ може тільки власник компанії або адміністратор, якщо йому надано це право. API-ключ можна отримати в акаунті компанії, у табі Безпека.
При отриманні нового API-ключа, раніше створений API-ключ стає недійсним. Таким чином, якщо агент шифрування авторизований до системи і працює, а в системі буде створено новий API-ключ, то агент шифрування втратить доступ до системи, доки не буде введено новий API-ключ у веб-інтерфейсі авторизації агента шифрування.
Вразливість технології
Основна вразливість наскрізного шифрування (E2EE) криється не в самій технології, а в кінцевих точках (пристроях, що використовуються кінцевими користувачами). Якщо зловмисник отримає доступ до пристрою відправника або одержувача, він зможе отримати доступ до інформації, що передається. Це означає, що безпека даних також залежить від безпеки пристрою та акаунта користувача. Докладніше про безпеку акаунта користувача читайте в статті.
Важливо зазначити, що ці вразливості не є специфічними для наскрізного шифрування, а відносяться до будь-якої схеми роботи з даними, в якій існують кінцеві точки.