Сквозное шифрование (End-to-End Encryption)

StaffCounter E2E Encrypted Logo

Сегодня StaffCounter — это единственное решение в мире, предлагающее сквозное шифрование (E2EE). Все данные, собираемые с компьютеров сотрудников, шифруются и расшифровываются исключительно владельцем учетной записи. С этим обновлением мы стремимся стать пионерами инноваций во всей индустрии мониторинга компьютеров.

Данные о производительности сотрудников, собранные с конечных устройств, шифруются до передачи в облако. В отличие от SSL-шифрования, данные остаются зашифрованными даже после того, как они попадают в облачное хранилище StaffCounter. Более того, они остаются зашифрованными на всех этапах работы баз данных, выполнения программ и алгоритмов обработки на наших серверах. Когда вы входите в свою учетную запись, данные передаются в ваш браузер в зашифрованном виде и расшифровываются «на лету» с помощью JavaScript и встроенных функций шифрования браузера. Это гарантирует соответствие требованиям GDPR по умолчанию. Ниже мы объясняем, как обновить или установить последнюю версию агента StaffCounter и настроить функцию E2EE.

Мы рады сообщить, что функция «Сквозное шифрование» теперь доступна как экспериментальная опция для новых учетных записей. E2EE в StaffCounter схожа с гомоморфным шифрованием, так как позволяет выполнять вычисления с зашифрованными данными без их расшифровки. В нашем случае такими вычислениями являются сортировка и агрегация. Как и другие решения для учета рабочего времени, StaffCounter записывает частоту и длительность использования приложений, документов и веб-сайтов, вычисляет потраченное время и сортирует результаты для отчетов. Теперь, благодаря архитектуре E2EE, имена сотрудников и данные о производительности остаются зашифрованными даже от самого сервера StaffCounter.

Чтобы попробовать E2EE, скачайте StaffCounter Agent версии 9.2 для Windows с поддержкой сквозного шифрования и выполните шаги, указанные ниже.

Согласно нашей архитектуре, защищённое соединение для шифрования устанавливается между компьютером сотрудника и браузером менеджера, где просматриваются отчёты. Хотя прямого соединения между устройством и браузером нет, эти две конечные точки формируют полную цепочку шифрования. Конкурирующие решения, такие как Timedoctor, ActivTrak, Desktime, Workpuls и ActivityWatch, также шифруют данные при передаче или хранении, но их процессы включают несколько этапов, где данные могут существовать в открытом виде. В StaffCounter данные находятся в незашифрованном виде только в двух местах: в памяти компьютера и в памяти браузера менеджера. Поскольку обе точки контролируются владельцем учетной записи, такая структура обеспечивает соответствие Принципу нулевого доступа (Zero Access Principle) и усиливает соответствие GDPR.

С E2EE все данные сотрудников шифруются мгновенно и расшифровываются только в браузере менеджера. После включения данные шифруются на рабочей станции сотрудника до отправки на сервер и расшифровываются только при доступе через браузер. Агент StaffCounter генерирует и обменивается ключами шифрования с учетной записью менеджера. Сервер не управляет ключами шифрования и не выполняет операции шифрования или расшифровки — всё это происходит исключительно на конечных устройствах.

Модель E2EE также поддерживает вычисления с зашифрованными данными, такие как сортировка и агрегация. Это позволяет StaffCounter регистрировать активность, подсчитывать длительность и сортировать данные использования, сохраняя шифрование. Таким образом, сервер не может читать имена сотрудников или связанный контент — только браузер способен это сделать.

Пример отчета о времени с зашифрованными данными:
Example of encrypted Time Report

Чтобы протестировать функцию E2EE, скачайте StaffCounter Agent версии 9.2 для Windows и следуйте инструкциям по настройке ниже.

Просмотр зашифрованной панели и отчетов

Вы заметите лишь незначительные изменения в панели и отчетах, несмотря на то, что вся информация зашифрована. Это возможно благодаря расшифровке в реальном времени в вашем браузере с использованием Web Crypto API, доступного в современных браузерах, таких как Chrome, Firefox, Opera и Safari. Наш JavaScript-код расшифровывает все строки на странице во время её отображения.

Как E2EE влияет на учет рабочего времени, категоризацию продуктивности и оповещения?

Учет времени и отчетность работают как прежде, но правила продуктивности могут потребовать переназначения.

Зашифрованные данные сохраняют ту же структуру, что и открытые. Например, до шифрования StaffCounter может использовать «winword.exe» или «gmail.com» для присвоения категорий продуктивности. После шифрования используются токенизированные строки вроде «w6Wd4SSxgK9EqmHuR4EAWw==». Это работает, потому что для каждой учетной записи используется единый ключ шифрования, что обеспечивает согласованную токенизацию всех связанных данных — позволяя точно обрабатывать их при полной анонимизации.

Staff apps example

Если несколько сотрудников используют один компьютер (терминальный сервер)

Когда рабочая папка StaffCounter используется несколькими пользователями, журналы и снимки экрана видны, если шифрование не включено. После включения эти файлы становятся нечитаемыми, предотвращая доступ изнутри.

Local folder example

Технические примечания

Функциональность E2EE является открытой и реализована в файле jsec.js, доступном по адресу data.staffcounte.net. Шифрование использует Web Crypto API, и все операции выполняются в памяти браузера. StaffCounter обеспечивает хранение ключей и передачу зашифрованных данных.

Краткое описание сквозного шифрования StaffCounter:

  • Каждая учетная запись и агент StaffCounter генерируют пару ключей RSA (2048 бит).
  • Владелец учетной записи создаёт случайный 256-битный AES MasterKey.
  • MasterKey защищается паролем учетной записи с использованием PBKDF/AES-256 и хранится как зашифрованный объект.
  • MasterKey шифруется RSA и отправляется на устройства через сервис StaffCounter.
  • Агент StaffCounter шифрует конфиденциальные данные с помощью AES-256: имена приложений, заголовки окон, URL, нажатия клавиш, буфер обмена, чаты, документы, снимки экрана, видео с веб-камеры и аудио.
  • Метаданные, такие как тип действия, временная метка и длительность, остаются в открытом виде.
  • PBKDF используется для генерации промежуточных ключей и защиты пароля.
  • Пароли никогда не передаются в StaffCounter в открытом виде.
  • После включения шифрование нельзя отключить ни в учетной записи, ни в агенте.

StaffCounter не выполняет шифрование самостоятельно — он хранит только открытые ключи и зашифрованные данные. В будущем хранение ключей будет осуществляться исключительно в браузере. Мы также разрабатываем плагин браузера SafeJKA для более надежной аутентификации и работы с ключами.

Отличие от SSL-шифрования

В отличие от большинства решений, StaffCounter применяет шифрование, выходящее за рамки стандартного SSL/TLS. Расшифровка выполняется только в браузере после аутентификации пользователя.

Другие системы могут шифровать данные при передаче, а затем расшифровывать их на сервере. StaffCounter никогда не расшифровывает данные на стороне сервера — они хранятся и обрабатываются в зашифрованном виде. Только владелец учетной записи с паролем может получить доступ к открытым данным. Это является ключевым отличием.