Seclore FileSecure - DRM-защита документов PDF и Office

Довелось поучаствовать в запуске проекта, связанного с DRM-защитой документов. Об используемом по и хочется рассказать, закрыв пробел в полном отсутствии вменяемой документации на русском.

Поиск DRM-системы защиты

Как это иногда бывает, под конец года внезапно появилась идея прикупить систему DRM-защиты для электронных учебников в библиотеку ВУЗа. Начали искать и из известных систем нашли только Adobe и Microsoft. Под Microsoft были доступны программы снятия защиты, а Adobe за каждую выдачу электронных книг хочет денег. Кроме того, ФСБ не хочет пускать Adobe в Россию из-за слишком стойкой криптографии.

Через некоторое время IBM вывела на индийскую компанию Seclore, разработавшую систему защиты корпоративных документов. Конечно, IBM тоже видело в этом выгоду, предлагая Seclore в качестве надстройки над их аналогом SharePoint, а именно над FileNet. Но, я расскажу именно о Seclore и лишь потом о том, как это интегрируется с FileNet.

Кстати, причина по которой мы не могли найти Seclore и его аналоги сами очень простая: в связи с заведомо отрицательным отношением обычных людей к словам DRM, производители систем DRM-защиты называют их IRM :) т.е. Digital Information Right Management.

Seclore

Система DRM-защиты называется Seclore FileSecure и состоит из серверной части и агента на компьютере пользователя. Когда мы это все внедряли, агент работал только под Windows. Seclore поддерживает шифрование почти всех файлов MS Office, рисунки, файлы PDF, текстовые файлы (включая исходные коды программ), есть плагин для MS Outlook.

Серверная часть работает из двух серверов: policy server и еще один сервер с запущенным на нем openoffice.

Policy server

Этот сервер написано на Java и работает под Tomcat. Сервер проводит шифрование и дешифровку файлов, авторизует пользователей, обеспечивает выдачу ключа дешифровки агенту на компьютере пользователя, предоставляет веб-интерфейс управления политиками шифрования и вообще, делает почти всю работу.

Кроме Tomcat-а, сервер требует базу данных (в нашем случае Oracle) и работает под Windows Server 2003 и выше.

Авторизация пользователей осуществляется в AD. Но, кроме этого, Seclore поставляет LDAP-сервер для тех ситуаций, когда шифровать данные надо для внешних клиентов не имеющих аккаунтов в LDAP. В таком случае и пригодится дополнительный сервер, в котором будут храниться внешние пользователи. Один сервер Seclore может обслуживать сразу несколько LDAP-серверов. Насколько я понимаю, проблем с подключением Seclore к openLDAP возникнуть не должно.

Окно входа в poliсy server через браузер

Seclore agent

Итак, у нас есть файл который надо:
1) Зашифровать
2) Передать ключ дешифровки на сервер
3) Выдать ключ дешифровки другим пользователям в соответствии с политиками доступа
4) Расшифровать и отобразить файл

Все кроме п.3 делает агент seclore.

Расшифровка файлов

Агент представляет собой две службы Windows, запускающихся при загрузке системы. Он умеет самостоятельно обновляться с серверов Seclore и отображает иконку в трее. Когда пользователь открывает зашифрованный файл с любым расширением, агент перехватывает файл и запрашивает логин и пароль у пользователя. Пользователь авторизуется и получает соответствующие права (только чтение, печать, редактирование, создание скриншотов и в любом их сочетании) через policy server. Дальше с policy server получается ключ и дальнейшие действия зависят от расширения файла.


PDF - файлы открываются в Adobe Reader и Foxit Reader и дешифруются с помощью специального плагина Seclore. Это гарантирует сохранение оригинальной верстки файла.
Файлы MS Office с расширениями docx, rtf, xls, ppt и т.п. открываются тоже в MS Office и дешифруются тоже плагином seclore. Оригинальная верстка сохраняется.
Рисунки и текстовые файлы открываются в специальном просмоторщике Seclore, который с точки зрения функционала примитивен и его использование может потенциально привести в некорректном отображении рисунков (в тексте сложно придумать что там будет некорректно отображаться).
Файлы OpenOffice с расширениями odt, odf и т.п. открываются с помощью плагина Seclore, встраивающемся в OpenOffice. Поддерживается только OpenOffice 3.2. С более новыми версиями плагин Seclore для OpenOffice несовместим (о чем Seclore забыла указать на сайте).

Обратите внимание, что с видео и звуком Seclore не работает.

В случае, если плагин не зашифрован, пользователи увидят просто страницы, в которой на английском будет написано что файл зашифрован. Т.е. в момент шифрования оригинальный текст скрывается каким-то образом (комментарием или еще как - я не знаю), а на странице пишется предупреждение. При открытии файла плагин seclore подменяет предупреждение на расшифрованное содержимое, по сути выполняя фильтрацию файла при чтении.

Если агент Seclore не установлен, пользователь увидит предупреждение. Плохо только, что предупреждение стандартно и его нельзя заменить на свое собственное, с ссылкой на инструкцию по установке
Важно заметить то, что Seclore приложили усилия, для обеспечения надежной защиты файлов. Так, если запрещено делать скриншоты, то агент Seclore не даст открыть файл внутри виртуальной машины или при просмотре файла по протоколу RDP. Также при попытки нажать PrintScreen, в буфере обмена окажется сообщение о запрете делать скриншоты. Если запрещена печать, то распечатать действительно нельзя ну и, в целом, уровень защиты мне понравился.

Ладно, с расшифровкой разобрались, пора рассказать как шифровать файл.

Файл можно зашифровать:
1) Из контекстного меню файла (правый клик на файлу)
2) Через веб-интерфейс policy server
3) Из некоторых внешних систем управления документами, таких как MS SharePoint или IBM FileNet

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

Отдельный вопрос - возможность работы без интернета. Да, через политики можно разрешить сохранять ключ дешифровки на компьютере. Т.е. при первом открытии защищенного файла пользователь должен иметь доступ к policy server, а при дальнейшем открытии не обязательно.

Шифрование файлов

При шифровании файла выбирается одна из заведомо созданных политик доступа в Policy Server, в которых можно указать группы в LDAP, конкретных пользователей и какие права на файл у каждой группы или пользователя есть.

Зашифровать файл можно из контекстного меню

Ограничения политик доступа

Такой подход неудобен тем, что пользователь, создав файл, не может разрешить только Иванову и только Петрову изменять файл не создав отдельную политику с Ивановым и Петровым. Надо на каждый тип движения документа создавать свою политику, но, тогда, политик доступа быстро окажется очень много и выбирать нужную при очередном шифровании файла будет несколько муторно. Хуже того, пользователь не может самостоятельно создавать свои политики, т.к. политики доступа к файлу создает только администратор.

Редактирование политики доступа
Использование только предопределенных администратором политик может и логично в плане информационной безопасности, но создает огромные сложности при практическом управлении правами доступа в организации с более или менее разнообразным документооборотом. Seclore неудобен как администраторам, так и конечным пользователям.

Где не надо использовать

Использование вне AD и не в целях внутреннего документооборота следует тщательно обдумать и проконсультироваться с Seclore. Например, возможность задания временных ограничений означает, что ограничения ставятся на конкретную дату в течении которой файлы, защищенные политикой, можно читать или редактировать. Это логично для корпоративной информации, когда известно когда документ потеряет актуальность. Но нельзя указать, например, чтобы человек мог читать файл в течении первых 3 часов после первого открытия файла, а по истечении срока файл блокировался. Т.е. защищенный интернет-магазин из Seclore с ограниченным демо-режимом сделать не удастся.

Где можно использовать

Использовать можно там, где инсайдеры могут нанести существенный ущерб. Не думаю, что у Seclore есть какие-то сертификаты по защите информации, т.ч. использовать в организациях с режимами секретности может и не получиться, но в организациях где информацию надо защитить де-факто, Seclore может быть хорошим вариантом. В некоторых других вариантах Seclore тоже подойдет. Например, для тех же библиотек.

Отличие Seclore от стандартных ограничений SharePoint, FileNet и других подобных не DRM-систем

От простого ограничения прав в SharePoint, Seclore отличается тем, что политики работают при открытии и редактировании файла, а не только при скачивании.

Использование в библиотеках

В библиотеках для защиты книг PDF использовать Seclore вполне возможно. Процесс для пользователей выгляди так:
1) Книга издательства шифруется библиотекарем и уже зашифрованная выкладывается на сайт библиотеки и заводится в каталоге.
2) Читателям надо установить на свои компьютеры агента Seclore.
3) Теперь читатели могут скачать и открыть книгу.

При этом возникают проблемы:
1) Нельзя ограничить число "экземпляров" выданных книг.
2) Статистику по скачиванию и использованию надо будет организовывать самостоятельно.
3) Могут возникнуть проблемы с работой агента Seclore на захломленных всяким левым ПО компьютерах домашних пользователей.

Об особенностях интеграции с FileNet

Пропустите эту часть, если вам не интересен FileNet.

Интеграция с FileNet достигается путем патчинга FileNet Content Engine. После этого в меню FileNet появляется возможность защитить файлы с помощью Seclore. При скачивании из FileNet файлы передаются на сервер Seclore, там шифруются и только после этого попадают в браузер для загрузки. Т.е. на самом FileNet файлы хранятся не в зашифрованном виде, а шифруются при скачивании. 

Неудобство, связанное с таким подходом: необходимо согласовывать права доступа и в FileNet, и в Seclore.

Заключение

Seclore FileSecure интересный продукт, хорошо реализующий задачи защиты корпоративной информации от несанкционированного доступа, который можно применять и для некоторых задач вне корпоративной среды. Из недостатков можно отметить определенные неудобства работы с централизованными политиками доступа и отсутствие локализации. 

Комментарии

Популярные сообщения из этого блога

Обзор почтового клиента Pronto Pro!

Подключаем ZFS over iSCSI на Oracle Linux 8 (CentOS) в Proxmox

Архитектура катастрофоустойчивого сервиса