Предотвращение «Сохранить как» в Adobe PDF - PullRequest
4 голосов
/ 21 ноября 2010

У нас есть требование не сохранять дополнительные копии PDF-файлов, существующие на сетевом диске.В настоящее время мы «заблокировали» PDF-файлы настолько, насколько позволяет формат, что означает предотвращение копирования / вставки, редактирования и печати.Однако клиент требует, чтобы никто не смог создать дополнительную копию PDF, как только он его откроет.

При использовании собственного PDF это невозможно, поскольку, во-первых, они всегда могут щелкнуть ссылку вбраузер и «Сохранить как ...» на рабочий стол.Кроме того, они могут щелкнуть «Сохранить как ...» в Acrobat Reader, и нет способа (если не считать взлома) отключить это.Кроме того, даже если мы взломали Acrobat Viewer, всегда есть шанс, что они смогут просмотреть и повторно сохранить PDF в другом стороннем средстве просмотра.

Есть несколько начальных альтернатив, которые приходят на ум:

  1. Используйте DRM-провайдера для блокировки доступа к файлам - это не вариант из-за расходов

  2. Создание веб-службы, которая преобразуетфайлы в TIFF, а затем шифруют их с помощью «секретного» ключа и подают их в виде файлов «.abc».Создайте специальный просмотрщик для файлов ".abc", который работает только внутри сети клиента, открывает этот файл и расшифровывает его.Без специального средства просмотра они не могут просматривать файлы.Они могут делать их копии, но если зритель заблокирован на своем отдельном компьютере или должен работать в корпоративной сети (например, проверяет наличие секретного ключа от веб-службы перед запуском), любые сделанные им копии не будут открыты.способен.

  3. Создать средство просмотра Flash или Silverlight, которое по сути делает то же самое, что и выше, но фактически не сохраняет файл на ПК - просто показывает его в браузере.

У кого-нибудь есть другие альтернативы, которые могут быть проще?Цель состоит не в том, чтобы обеспечить 100-процентную защиту от бомб, а просто в том, чтобы сотрудники не могли легко делать копии, отправлять их по электронной почте конкурентам, друзьям или другим людям, которые не должны иметь доступа к этим конфиденциальным файлам.

Ответы [ 4 ]

3 голосов
/ 21 ноября 2010

Единственный вариант, о котором вы упомянули, который может работать (и не слишком дорогостоящий для реализации) - это пользовательский ридер.

В приложении для чтения никогда не должно храниться какая-либо «секретная» информация (например, ключи), и его можно использовать только для внутреннего пользования, получая доступ к данным ключа и изображения через частный веб-сервис. Вы уже отметили это.

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

«Трудной» частью будет преобразование данных. Остальное - довольно простой материал, по большей части.

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

В конечном счете, единственный действительно безопасный способ, позволяющий им видеть документы, но не сохранять их, - это полностью запретить им просматривать документы в системе, к которой у них есть физический или общий доступ к сети.

2 голосов
/ 21 ноября 2010

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

Я бы сказал, что метод 2 очень сложен и потребует много вашего времени, хотя и остается уязвимымна печать экрана.Я бы сделал номер 3, где вы можете повторно использовать много существующего кода и получить аналогичный уровень безопасности.

1 голос
/ 22 ноября 2010

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

Тем не менее, если ваша цель - просто "достаточно хорошая" безопасность (понимание этого может быть побеждено, но большинство пользователей не будутготов сделать это) будет "читатель клиента".Это может быть сделано с помощью вспышки или Silverlight.Это можно сделать даже через отдельное приложение winform.

Существуют библиотеки для отображения PDF.Вы можете просто "обернуть" файл PDF в слой шифрования, дать ему уникальное расширение (pdx) и сделать так, чтобы ваш "пользовательский проигрыватель" расшифровал и отобразил PDF.Учитывая, что вы реализуете библиотеку PDF, вы можете точно определить, какие параметры доступны.Вам также следует изучить методы, которые затрудняют печать экрана, так как вы просто перенесете вектор атаки на следующий экран печати. ​​

0 голосов
/ 11 сентября 2014

Вы можете отключить ключ Print Screen с помощью скрипта или групповой политики.

Пример был скопирован ниже отсюда .

Windows Shell Script

# =============================================================================# 
#* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF          *# 
#* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED           *# 
#* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A          *# 
#* PARTICULAR PURPOSE.                                                        *# 
# =============================================================================# 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] 
"Scancode Map"=hex:00,00,00,00,00,00,00,00,04,00,00,00,2a,e0,37,e0,00,00,37,e0,00,00,54,00,00,00,00,00 
# ****************************************************************************** 
# The sample scripts are not supported under any Microsoft 
# standard support program or service. The sample scripts 
# are provided AS IS without warranty of any kind. Microsoft 
# further disclaims all implied warranties including, without 
# limitation, any implied warranties of merchantability or of 
# fitness for a particular purpose. The entire risk arising out 
# of the use or performance of the sample scripts and documentation 
# remains with you. In no event shall Microsoft, its authors, or  
# anyone else involved in the creation, production, or delivery of  
# the scripts be liable for any damages whatsoever (including, without 
# limitation, damages for loss of business profits, business  
# interruption, loss of business information, or other pecuniary loss) 
# arising out of the use of or inability to use the sample scripts or 
# documentation, even if Microsoft has been advised of the possibility 
# of such damages. 
# ****************************************************************************** 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...