Сквозное шифрование (End-to-End Encryption)
![]()
Сегодня 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 регистрировать активность, подсчитывать длительность и сортировать данные использования, сохраняя шифрование. Таким образом, сервер не может читать имена сотрудников или связанный контент — только браузер способен это сделать.
Пример отчета о времени с зашифрованными данными:

Чтобы протестировать функцию E2EE, скачайте StaffCounter Agent версии 9.2 для Windows и следуйте инструкциям по настройке ниже.
Просмотр зашифрованной панели и отчетов
Вы заметите лишь незначительные изменения в панели и отчетах, несмотря на то, что вся информация зашифрована. Это возможно благодаря расшифровке в реальном времени в вашем браузере с использованием Web Crypto API, доступного в современных браузерах, таких как Chrome, Firefox, Opera и Safari. Наш JavaScript-код расшифровывает все строки на странице во время её отображения.
Как E2EE влияет на учет рабочего времени, категоризацию продуктивности и оповещения?
Учет времени и отчетность работают как прежде, но правила продуктивности могут потребовать переназначения.
Зашифрованные данные сохраняют ту же структуру, что и открытые. Например, до шифрования StaffCounter может использовать «winword.exe» или «gmail.com» для присвоения категорий продуктивности. После шифрования используются токенизированные строки вроде «w6Wd4SSxgK9EqmHuR4EAWw==». Это работает, потому что для каждой учетной записи используется единый ключ шифрования, что обеспечивает согласованную токенизацию всех связанных данных — позволяя точно обрабатывать их при полной анонимизации.

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

Технические примечания
Функциональность 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 никогда не расшифровывает данные на стороне сервера — они хранятся и обрабатываются в зашифрованном виде. Только владелец учетной записи с паролем может получить доступ к открытым данным. Это является ключевым отличием.