RU2701111C2 - Предоставление возможности классификации и управления правами доступа к информации в программных приложениях - Google Patents

Предоставление возможности классификации и управления правами доступа к информации в программных приложениях Download PDF

Info

Publication number
RU2701111C2
RU2701111C2 RU2017113610A RU2017113610A RU2701111C2 RU 2701111 C2 RU2701111 C2 RU 2701111C2 RU 2017113610 A RU2017113610 A RU 2017113610A RU 2017113610 A RU2017113610 A RU 2017113610A RU 2701111 C2 RU2701111 C2 RU 2701111C2
Authority
RU
Russia
Prior art keywords
application
irm
file
agent
window
Prior art date
Application number
RU2017113610A
Other languages
English (en)
Other versions
RU2017113610A3 (ru
RU2017113610A (ru
Inventor
Юваль ЭЛЬДАР
Рои ОЗ
Слава РЕЗНИЦКИЙ
Original Assignee
Майкрософт Израэл Рисерч Энд Дивелопмент (2002) Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Израэл Рисерч Энд Дивелопмент (2002) Лтд. filed Critical Майкрософт Израэл Рисерч Энд Дивелопмент (2002) Лтд.
Publication of RU2017113610A publication Critical patent/RU2017113610A/ru
Publication of RU2017113610A3 publication Critical patent/RU2017113610A3/ru
Application granted granted Critical
Publication of RU2701111C2 publication Critical patent/RU2701111C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении пользователю, использующему разные приложения, унифицированного восприятия при использовании, даже когда каждое приложение имеет отличный от других пользовательский интерфейс (UI), отличную от других компоновку UI и отличную от других технологию. Способ обеспечения введения в действие одной или более политик управления правами доступа к информации (IRM) и/или шифрования в отношении элемента данных в программном приложении содержит этапы, на которых устанавливают агент на каждом терминальном устройстве; обеспечивают центральный модуль управления, который включает в себя политики IRM и/или шифрования, которые должны быть введены в действие, и осуществляет связь с агентами; распространяют эти политики IRM и/или шифрования; и, в ответ на указание выбора одной или более политик IRM и/или шифрования, применяют выбранную политику к элементу данных в любом приложении, которое исполняется на терминальном устройстве и осуществляет доступ к элементу данных, причем действие применения выбранной политики содержит этап, на котором дополняют элемент данных на основе выбранной политики. 2 н. и 15 з.п. ф-лы, 1 ил.

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к области информационной технологии. Более конкретно, изобретение относится к способу предоставления возможности классификации данных и обеспечения выполнения возможностей управления правами доступа к информации (IRM) в программных приложениях, выполняемых компьютерной сетью в корпоративном окружении.
УРОВЕНЬ ТЕХНИКИ
Управление правами доступа к информации (IRM) используется во многих организациях для защиты секретной корпоративной информации (такой как финансовые данные, интеллектуальная собственность и управляющие сообщения) от несанкционированного доступа и использования. IRM, главным образом, включает в себя обеспечение выполнения прав доступа и использования, чтобы определять, какой пользователь cможет выполнять действия над данными, такие как операции копирования, перетаскивания/оставления, печати, печати экрана, сохранения в качестве, сохранения и просмотра. Чтобы иметь возможность IRM, каждое приложение, которое использует зашифрованные данные, должно иметь возможность приема ключа расшифровки, расшифровки данных и представления расшифрованных данных для разрешения доступа пользователю. С этой целью все возможности прав использования должны быть интегрированы в приложение, включая шифрование /расшифровку и обмен данными с управлением ключами, так что анализируется набор разрешений каждого элемента данных, чтобы разрешить или запретить функциональные возможности в приложении и обеспечить выполнение прав использования. Это приводит к ситуации, когда реализация IRM сильно зависит от типа приложения и, поэтому, меняется от приложения к приложению.
Одним из существующих решений для осуществления IRM в приложении является использование набора средств разработки программного обеспечения IRM (SDK - который представляет собой инструментальное средство разработки программного обеспечения, которое позволяет создавать приложения для некоторой платформы разработки программного обеспечения), который обычно предоставляется поставщиком IRM. Таким образом, код для IRM разрабатывается как часть внутреннего кода приложения. Однако эта ситуация является обременительной и дорогостоящей, так как она требует исправлений внутреннего кода каждого приложения, особенно на предприятиях, которые используют многочисленные приложения от многочисленных поставщиков программного обеспечения, большая часть готовых к использованию коммерческих приложений. В этом случае это решение требует кооперации этих многочисленных разных поставщиков приложений. Также, иногда взаимоотношения между поставщиками приложений и поставщиками IRM делает невозможным реализацию IRM поставщиками 3-ей стороны. Кроме того, не все поставщики IRM обеспечивают используемый SDK, используемый во всех технологиях разработки, и не все поставщики приложений интегрируют такой SDK, тогда как модификации 3-ей стороны их исходного или двоичного кода запрещены лицензированием поставщика приложения.
Подобная проблема возникает тогда, когда требуется отобразить, добавить и модифицировать классификацию элементов данных пользователем при помощи приложения, которое предоставляет данные. Иногда классификация данных является обязательной по причинам обеспечения безопасности. Например, если данные содержат секретное содержимое (например, номера кредитных карт), они должны классифицироваться.
Одной из главных трудностей является тот факт, что каждое приложение имеет разный пользовательский интерфейс (UI), разную компоновку UI и разные технологии, что накладывает проблемы удобства и простоты использования. Одной из проблем является то, что желательно каждому пользователю приложения предоставлять единообразное ощущение удобства и простоты использования, даже если компоновка UI отличается от приложения к приложению. Одним из обычных решений проблемы единообразия является использование SDK для реализации возможностей классификации, например, используя панель инструментов. Однако это требует модифицирования компоновки UI в каждом приложении для получения такого единообразия. Другим решением является использование расширения (части программного обеспечения, которая усовершенствует другое программное приложение), но это также требует интегрирования разных расширений в каждое приложение.
Другим путем интегрирования возможности классификации является использование обобщенного расположения, такого как строка заголовка (графический элемент управления, который является частью оконного аксессуара - обычно расположенный вверху окна в виде горизонтальной строки). Однако имеются некоторые приложения без строки заголовка и, в любом случае, использование строки заголовка в середине для получения возможности классификации прерывает естественный рабочий процесс пользователя (т.е. естественную последовательность, которую пользователь выполняет, когда он использует почти любое приложение). Например, чтобы сохранить созданный элемент данных, пользователю необходимо использовать строку заголовка. Подобное прерывание появляется при использовании всплывающих меню (которые являются внешними для приложения) для предоставления возможности классификации. Также является возможным использование правого щелчка в проводнике файлов (таком как Windows Explorer) для предложения возможности классификации, но это также прерывает естественный рабочий процесс пользователя, так как пользователь должен закрыть приложение и использовать другое инструментальное средство.
Задачей настоящего изобретения является обеспечение способа предоставления возможности классификации данных и обеспечения выполнения возможности управления правами доступа к информации (IRM) в программных приложениях, который не прерывает естественный рабочий процесс пользователя.
Другой задачей настоящего изобретения является обеспечение способа предоставления возможности классификации данных и обеспечения возможностей управления правами доступа к информации (IRM) в программных приложениях, который является обобщенным для всех приложений.
Другой задачей настоящего изобретения является обеспечение способа предоставления возможности классификации данных и обеспечения возможности управления правами доступа к информации (IRM) в программных приложениях, который не требует интеграции с конкретным приложением и не требует никакого усилия на разработку, адаптированного к целевому приложению.
Другой задачей настоящего изобретения является обеспечение способа разрешения предоставления пользователю возможности классификации и IRM в его платформе без требования обновления или модификации его существующих приложений (двоичного кода).
Другие задачи и преимущества изобретения станут очевидны из последующего описания.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Настоящее изобретение относится к способу предоставления возможности классификации данных и/или обеспечения выполнения возможностей управления правами доступа к информации (IRM) и/или шифрования в программном приложении. Согласно предложенному способу, агент устанавливается на каждом терминальном устройстве, которое выполняет приложение, и центральный модуль управления, который включает в себя политику IRM, шифрования и классификации, подлежащую выполнению, выполняет связь с агентами, которые установлены на каждом терминальном устройстве. Центральный модуль управления распределяет соответствующую политику IRM и/или классификации каждому агенту и применяет политику к любому приложению, которое выполняется на терминальном устройстве.
Агент может использоваться для того, чтобы обеспечивать выполнение прав использования на терминальном устройстве, которое выполняет приложение, посредством:
a) при приеме элемента данных или файла приложением, использования агента для идентификации приложения и извлечения информации об исходных правах IRM файла;
b) введения агентом специальной кодовой единицы времени выполнения, которая не прерывает естественную работу приложения, во внутренний код приложения для перехвата вызовов для операций в интерфейсе прикладного программирования (API) приложения или в API операционной системы, касательно действий, которые указывают операции, которые пользователь может выполнять при доступе к файлу;
c) перед выполнением требуемой операции, усовершенствования выполняемого процесса для связи с агентом для приема разрешений для элемента данных, к которому выполняется доступ, в отношении выполняющего доступ пользователя; и
d) предоставления возможности выполнения только тех операций, которые соответствуют разрешениям IRM представляемого содержимого.
Всякий раз, когда приложение открывает параллельно несколько файлов в отдельных окнах, агенту разрешается выполнение сопоставления между окном и его соответствующим файлом и IRM, чтобы определить, как его представлять, в то же время вычисляя права в соответствии с особенностью окна (которая может включать в себя название окна или содержимое окна).
Агент может быть выполнен с возможностью обеспечения выполнения классификации данных на терминальном устройстве, которое выполняет приложение, при идентификации, что пользователь запустил операцию «Сохранить» или «Сохранить как», щелчком на кнопке «Сохранить как» или используя клавиатурное сокращение, позволяющее агенту вступить на уровень операционной системы для отображения модифицированного окна «Сохранить» (которое может быть создано, например, используя элемент управления созданием подкласса) с классификацией и относящимся к IRM содержимым.
Классификация может выполняться автоматически в соответствии с предварительно заданной корпоративной политикой или определяться пользователем, который создает, редактирует или использует данные.
Модифицированное окно может быть выполнено с возможностью предоставления рекомендаций пользователю, касающихся требуемой классификации данных.
Классификация файла может наследоваться всякий раз при сохранении файла с изменением или без изменения формата или имени файла.
Модифицированное окно может создаваться добавлением бокового поля со всеми дополнительными признаками классификации к стандартному окну или добавлением кнопки «Следующее», которая превосходит по значению кнопку «Сохранить», и приглашает пользователя определить соответствующую классификацию.
После приема неубедительного результата сопоставления, IRM может применяться на самом высоком уровне для всех файлов, которые открыты приложением. Права IRM могут применяться с использованием стандартных функциональных возможностей уровня операционной системы захвата и переопределения и API (такого как стандартный Windows API, запускаемый кнопкой уровня приложения, или стандартный API буфера обмена).
Дополнение может сохраняться постоянным в элементах данных, и дополнения могут наследоваться в копированные или отредактированные версии дополненных элементов данных посредством:
a) переопределения стандартного диалога, предоставляемого операционной системой; и
b) использования модуля ядра для сохранения работы приложения с недополненной версией файла.
Модуль уровня ядра Windows может использоваться для идентификации преобразования дополненного файла посредством подобия содержимого и замены файла версией, включающей в себя дополнения оригинала, или добавления дополнений к целевому файлу.
Настоящее изобретение также относится к реализованной на компьютере системе с классификацией данных и/или обеспечением выполнения возможностей управления правами доступа к информации (IRM) и/или шифрования в программном приложении, которая содержит:
a) множество терминальных устройств, которые выполняют приложение, на которых устанавливается агент;
b) компьютер, выполняющий центральный модуль управления, который включает в себя политику IRM, шифрования и классификации, подлежащую выполнению, и выполняет связь с агентами, которые установлены на каждом терминальном устройстве, причем центральный модуль управления выполнен с возможностью:
b.1) распределения соответствующей политики IRM и/или классификации каждому агенту; и
b.2) применения политики к любому приложению, которое выполняется на терминальном устройстве.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На чертежах:
фиг.1 изображает пример интерфейса «Сохранить» с модифицированным окном «Сохранить» с относящимися к классификации кнопками.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Способ предоставления возможности классификации данных и обеспечения выполнения возможностей управления правами доступа к информации (IRM) в программных приложениях включает в себя две части. Первая часть представляет собой дополнение элемента данных дополнительными признаками. Такие признаки могут включать в себя шифрование исходного содержимого, добавление политик IRM, добавление классификаций и любое другое функциональное усовершенствование. Таким образом создается усовершенствованная копия файла, которая содержит дополнительные признаки в своих данных. Во второй части, в случае, если эти дополнения не поддерживаются использующим приложением (подобно тому, когда приложение не имеет поддержки шифрования или схем IRM, используемых для дополнения файла). Так как дополнения должны быть скрыты от приложения, настоящее изобретение предлагает способ предоставления возможности того, что эти дополнения все же являются активными и сохраняются при операциях приложения.
US 2010/0146600 описывает систему и способ автоматической защиты данных в компьютерной сети организации, согласно которым определяются многочисленные профили информации для классификации элемента данных, а также правила для защиты элемента данных, принадлежащего конкретному профилю информации. Элементы данных классифицируются в соответствии с определенными профилями информации, и способ защиты применяется к элементам данных в ответ на их классификацию и определенный набор правил политики. Классификация элемента данных может автоматически обновляться в ответ на изменение содержимого или расположения элемента данных, и примененный способ защиты автоматически предварительно сохраняется и адаптируется в течение жизненного цикла элемента данных, в ответ на изменение классификации или расположения элемента данных, согласно определенным правилам. Поэтому, способ, предлагаемый настоящим изобретением, может использоваться для расширения способа защиты данных по US 2010/0146600, чтобы интегрировать и реализовывать политики IRM в дополнительном наборе приложений, форматах элементов данных и преобразованиях элементов данных.
Способ, предлагаемый настоящим изобретением, предлагает дополнение приложений встраиванием возможностей в приложение, так что бы приложение могло выполнять доступ, редактировать, создавать и действовать согласно такому дополненному файлу. Примером является представление зашифрованного элемента данных программным обеспечением 3-ей стороны без учета IRM, в то же время применяя право использования IRM к этому программному обеспечению 3-ей стороны. Кроме того, пользовательский интерфейс приложения дополняется так, чтобы редактировать и добавлять дополнения к содержимому. Это все выполняется без модифицирования внутреннего кода приложения. Таким образом пользователю предоставляется возможность просматривать, определять или модифицировать классификацию данных и обеспечения выполнение прав использования данных, не требуя сотрудничество поставщиков. Вместо этого, такие признаки добавляются в приложение во время его выполнения, и двоичный код приложения сохраняется в том виде, в каком он был первоначально создан.
Используемая архитектура включает в себя центральный модуль управления, который включает в себя политики IRM и классификации и выполняет связь с агентами, которые установлены на каждом терминальном устройстве. Центральный модуль управления распределяет соответствующие политики IRM или классификации каждому агенту, который, в свою очередь, применяет политику к любому определенному приложению, которое выполняется на терминальном устройстве.
Предоставление возможности выполнения возможностей IRM в выполняющихся приложениях
Предполагаемое дополнение изобретения представляет собой добавление возможностей IRM любому формату и приложению. Обеспечение выполнения IRM (или прав использования) на терминальном устройстве выполняется агентом, реализующим изобретение. После приема элемента данных, такого как файл (который защищен посредством IRM), приложением, агент идентифицирует приложение (например, согласно процессу, который создается выполняющимся приложением, или согласно его цифровой подписи) и извлекает информацию о первоначальном шифровании файла. Специальная кодовая единица времени выполнения (которая не прерывает естественную работу приложения) вводится агентом во внутренний код приложения, чтобы выполнить захват для перехвата вызовов стандартных операций в API приложения и в операционной системе, таких как действия буфера обмена (чтобы идентифицировать попытки копирования), действия спулинга печати (чтобы идентифицировать попытки печати) и другие предварительно заданные действия, которые указывают на операции, которые пользователь может выполнять при обращении к файлу. Перед выполнением требуемой операции выполняющийся процесс выполняет связь с агентом для получения разрешений для элемента данных, к которому выполняется доступ, в отношении выполняющего доступ пользователя, и разрешает только те операции, которые согласуются с разрешениями IRM представляемого содержимого. Разрешения и политика IRM встраиваются в файл, который защищается посредством IRM. Например, возможно, что пользователь «A», который выполняет доступ к файлу, сможет просматривать его на своем терминальном устройстве, но ему не будет разрешена печать его содержимого, тогда как другому пользователю «B», который выполняет доступ к этому же файлу посредством своего терминального устройства, сможет просматривать и печатать содержимое.
Некоторые приложения (такие как Adobe Acrobat Reader) могут одновременно представлять несколько документов в одном процессе, в то же время представляя каждый документ в отдельном окне. В этом случае, агент будет выполнять сопоставление между файлами, к которым производится доступ, и его соответствующей политикой IRM и конкретным окном, показывающим документ, чтобы определить, как применить права использования на это окно. Оно учитывает свойства окна, такие как название, содержимое, родительские и дочерние окна, время создания и т.п. В случае, если агент не может положительно сопоставить окно документа с отдельным элементом данных, IRM с наивысшим уровнем будет использоваться для окна из всех документов, идентифицированных в качестве возможных совпадений для содержимого окна.
Например, при доступе к текстовому файлу (который был модифицирован шифрованием, назначением прав IRM или применением других дополнений, внешних для содержимого файла) приложением редактирования текста Microsoft Notepad, агент на терминальном устройстве идентифицирует файл как содержащий такие дополнения. Это может выполняться фильтрующим драйвером файловой системы, который является частью агента. Если доступ к файлу выполняется приложением, которое должно иметь доступ открытого текста к файлу (т.е. «Доверенный»), он затем останавливает операцию открытия приложений (IRM_MJ_Create в Windows) и подает ссылку на файл агенту. Агент затем очищает файл от дополнений, которые не поддерживаются приложением, и, в случае шифрования, агент использует идентификацию пользователя для выбора соответствующего ключа, чтобы разрешить декодирование файла. Очищенная копия сохраняется безопасным образом, так что только заданный процесс может выполнять доступ к ней. Когда эта операция выполнена, драйвер повторно выполняет синтаксический анализ вызова операционной системы (OS), сделанный Notepad для открытия файла, скрытно перенаправляя вызов на расшифрованную копию. Таким образом приложение фактически обращается к очищенному файлу и может использовать его содержимое. Если этот пользователь имеет разрешения, которые разрешают ему только просматривать данные, но блокирует печать или копирование, например, Notepad все же может представлять содержимое из декодированной защищенной копии, поэтому, пользователь может просматривать содержимое. Однако код, введенный в Notepad, не будет разрешать ему печатать файл или копировать содержимое. Если этот пользователь не имеет разрешений, которые предоставляют любой уровень доступа к данным, Notepad не будет разрешено отображать содержимое (так как агент не будет декодировать его для него), даже если пользовать выполнит двойной щелчок на нем. Способы перехвата элемента данных могут меняться. Он может поддерживать доступ к файлу из других сред, таких как веб-браузер или другие запоминающие и сетевые среды.
Чтобы не быть зависимым от приложения и не прерывать естественный рабочий процесс пользователя, способ, предложенный настоящим изобретением, использует стандартные функциональные возможности уровня операционной системы захвата и переопределения и API (а не на уровне приложения). Например, единый API печати обеспечивается операционной системой Windows. Вызов этого API может переопределяться кодом, введенным агентом в приложение 3-ей стороны, чтобы применить права IRM и предотвратить несанкционированную печать содержимого из этого приложения. Другим примером является стандартное окно «Сохранить как», которое обеспечивается операционной системой Windows посредством стандартного Windows API, обычно запускаемого кнопками «Сохранить»/«Сохранить как» уровня приложения. Этот API может переопределяться, чтобы предоставить пользовательский интерфейс при сохранении, в дополнение к отслеживанию преобразования формата или расположения содержимого. Посредством отслеживания такого преобразования дополнение файла может быть предварительно сохранено при операциях «Сохранить как».
Другим примером является стандартный API буфера обмена, подобный обеспечиваемому Windows, который может переопределяться для обеспечения выполнения права IRM, запрещающего копирование содержимого из защищенного документа посредством системных служб, таких как буфер обмена и операции перетаскивания и оставления.
Когда приложение открывает защищенный посредством IRM файл, извлекаются права использования файла. Когда происходит действие, которое охватывается правом IRM, инспектируются подробности события, такие как приложение, в котором произошло событие, название окна Windows или предшествующего окна, в котором произошло событие, идентификатор (ID) процесса, включая ID родительского и дочернего процесса, которое запустило или относится к событию. Эти подробности используются для установления исходного файла, который содержит данные, которые требует событие. Затем права, ассоциированные с файлом, оцениваются для проверки, должно ли быть разрешено или блокировано событие.
В дополнение к обеспечению выполнения прав IRM, изобретение обеспечивает способы сохранения постоянным дополнения в элементах данных и наследования дополнения в копированные или отредактированные версии дополненных элементов данных, включая «логические копии», содержащие такие же данные, но отличающиеся в их двоичном формате. Это становится возможным, например, переопределением стандартного диалога «Сохранить как», обеспечиваемого операционной системой. Посредством этого система может идентифицировать, куда и в каком формате сохраняется копия элемента данных, и копировать дополнения из исходного файла в его копию. Такое наследование дополнений может выполняться без прерывания нормального процесса пользователя, в то время как модуль ядра может использоваться для сохранения приложения всегда работающим с версией файла без дополнений.
Кроме того, это может объединяться с модулем уровня ядра Windows, идентифицирующим преобразование дополненного файла по подобию содержимого и или заменяющим файл версией, включающей в себя дополнения исходного, или добавляющим дополнения к целевому объекту операции «Сохранить как».
Пример оценки прав
Предположим, что имеется приложение 3-ей стороны, которое открывает файл с содержимым, для которого было добавлено дополнение IRM, предотвращающее копирование конечным пользователем содержимого из этого файла. В этом случае, когда приложение пытается выполнить операцию копирования, или в качестве ответа на ввод пользователя или программным путем, вызываются стандартные API операционной системы для сохранения содержимого в «буфере обмена», предусмотренном операционной системой. Такие вызовы API перехватываются модулем кода времени выполнения, вводимым изобретением в приложение 3-ей стороны. Затем принимается решение, разрешить ли это действие или блокировать его, это все зависит от права первоисточника.
Чтобы принять это решение, используется информация о процессах приложения, а также данные окна приложения и/или название окон. Они используются для установления исходного файла, из которого копируются данные, и для оценки, разрешено ли право «копирования» для этого пользователя политикой прав IRM, дополняющей файл. Например, в приложении редактирования текста Microsoft Notepad название окна содержит имя файла, представляемого Notepad. Название окна, в комбинации с отслеживанием файлов, к которым осуществляет доступ Notepad, позволяет изобретателям определить, какой файл в настоящий момент представляет Notepad. Если файл установлен, его дополнения, такие как права IRM, могут применяться к выполняющемуся экземпляру Notepad. Посредством этого может обеспечиваться выполнение операций приложения, управляемых правами IRM и выполняемых Notepad, таких как «Печатать», «Перетащить», «Печатать экрана», «Сохранить как» и «Сохранить», согласно дополнениям, находящимся в файлах данных, используемых Notepad.
В некоторых случаях имеется только частичная информация о расположении исходного файла из события, такая как имя файла, но не полный путь к файлу. Если, кроме того, приложение открывает несколько файлов, которые имеют одинаковое имя файла, но разные права, несколько возможных файлов могут быть кандидатами на считывание из них дополнений. Это может происходить, например, при обеспечении выполнения прав IRM на приложении Adobe Reader. Adobe Reader представляет название документа в названии своего окна. Хотя это может позволить изобретателям установить файл, представляемый Adobe Reader, из набора файлов, к которым выполняет доступ Adobe Reader, посредством интерпретирования их соответствующих названий, может быть более одного совпадающего файла-кандидата. В этом случае права всех возможных файлов-кандидатов оцениваются и используется наиболее ограниченный набор прав.
Предоставление возможностей классификации
Аналогично, могут быть предоставлены возможности классификации, и они могут быть использованы для обеспечения выполнения IRM (или прав использования) на терминальном устройстве агентом, или, альтернативно, они работают исключительно без дополнительного обеспечения выполнения IRM. Способ предоставление возможности классификации представляет собой то, что, посредством идентификации (кодом захвата, вводимым агентом для переопределения стандартного API сохранения операционной системы), что приложение показывает интерфейс сохранения, агент будет отображать модифицированное окно «Сохранить» с относящимися к классификации кнопками, как показано на фиг.1.
Пример реализации обеспечивается введением кодовой единицы (динамически подключаемой библиотеки (DLL) и/или потока) в пространство памяти приложения. Это позволяет получить доступ в адресное пространство приложения. В случае, если специальный код вводится в приложение, возможно продолжение переопределением любой динамически подключаемой функции (например, функции Windows API) другими функциями. Это дает возможность заменить или модифицировать поведение приложения и вставить специальный код в дополнение к самому приложению или вместо него. Например, захват Windows API может использоваться для перехвата создания экземпляров предоставляемого Windows стандартного диалогового окна «Сохранить как».
Как правило, стандартные окна, предоставляемые операционной системой, имеют стандартные API, чтобы разрешать добавление элементов (новых UI) в окно. Это имеет место, например, в стандартном диалоговым окне «Сохранить как» Windows. В случае, когда такой интерфейс (для определения элемента управления, который не предусмотрен), или когда он слишком ограничен для требуемого использования, создание оконного подкласса может использоваться для изменения или добавления признаков к окну созданного подкласса. Таким образом возможно обеспечение выполнения вызова выполняющимся приложением подстановочного окна, форма которого может быть изменена, чтобы включать в себя все новые признаки классификации.
Классификация может быть автоматической (предварительно заданной в соответствии с корпоративной политикой), используя анализ содержимого, анализ контекста (такой как идентификация пользователя, исходный код приложения, метаданные, IP (протокол Интернета) или любые другие метаданные, которые могут анализироваться из события доступа к данным или из окружения компьютера), или определяться пользователем, который, во многих случаях, редактирует или использует данные. Система также может использовать модифицированное окно для предоставления рекомендаций пользователю, касающихся требуемой классификации (таких как «конфиденциально», «внутреннее», «данные трудовых ресурсов», «секретно» или «совершенно секретно»).
При завершении создания содержимого пользователь обычно сохраняет его нажатием на кнопку «Сохранить». В этом случае модифицированное окно будет отображать автоматическую классификацию пользователю или приглашать его определить или выбрать классификацию из списка. Если классификация не была установлена автоматически и требуется организационная политика, пользователю может быть запрещено сохранение элемента данных до выбора соответствующей классификации. Таким образом приложения могут дополняться возможностью классификации данных, редактирования классификации данных и представления ее конечным пользователям полностью внутренним способом.
Другим путем модификации окна приложения является добавление к нему бокового поля, которое будет располагаться и настраиваться так же, как естественное графическое расширение окна. В этом случае все дополнительные признаки классификации будут отображаться в боковом поле без модификации элементов исходного UI.
Другим путем добавления возможности классификации в окно приложения является замена кнопки «Сохранить» кнопкой «Следующее», которое приглашает пользователя к определению соответствующей классификации. В этом случае, кнопка «Сохранить» будет отображаться только впоследствии, чтобы разрешить пользователю полностью сохранить файл.
Постоянство дополнений файла
Работая с дополненным элементом данных, элемент может модифицироваться (сохраняться) использующим приложением. Согласно изобретению, важно сохранить все дополнения, включая уровень шифрования и права использования (полученные из разрешений IRM), классификацию файла (или другого элемента данных) или другие метаданные, всякий раз, когда сохраняется файл, используя операцию «Сохранить». Это необходимо, так как некоторые или все из дополнений элемента данных были удалены перед предоставлением приложению доступа к элементу данных и могут быть потеряны при сохранении. Это может выполняться идентификацией, например, пути, по которому сохраняется файл, и повторным применением дополнений.
Также в некоторых случаях элемент данных может сохраняться приложением под разными именами, в разных расположениях и/или в разных форматах файла. Это обычно выполняется посредством использования интерфейса «Сохранить как». Когда происходит такая операция, требуется сохранить дополнения исходного файла. Идентификация таких преобразованных экземпляров элемента данных является трудной, так как элемент данных может изменить свой формат или внутреннее представление при выполнении преобразования («Сохранить как»), и, поэтому, он не может быть просто идентифицирован по своему двоичному содержимому или по своему расположению (пути).
Возможная реализация такого процесса наследования использует интеграцию с общим диалоговым окном «Сохранить как» операционной системы, чтобы идентифицировать операцию «Сохранить как» элемента данных в новое имя, расположение и/или формат.
Примером процесса является то, что когда пользователь сначала открывает посредством Adobe Reader классифицированный и защищенный посредством IRM файл PDF (формат переносимого документа) и затем выполняет операцию «Сохранить как» для сохранения файла в виде файла с открытым текстом, под другим именем и в другом расположении, отличающимся от исходного файла. Интегрирование в диалог «Сохранить как» позволяет идентифицировать такую операцию «Сохранить как» и применить классификацию и данные IRM в файле с открытым текстом операции «Сохранить как».
Хотя некоторые варианты осуществления изобретения были описаны посредством иллюстрации, очевидно, что изобретение может быть осуществлено со многими модификациями, вариантами и адаптациями и с использованием многочисленных эквивалентов или альтернативных решений, которые находятся в пределах знаний специалиста в данной области техники без превышения объема формулы изобретения.

Claims (33)

1. Способ обеспечения введения в действие одной или более политик управления правами доступа к информации (IRM) и/или шифрования в отношении элемента данных в программном приложении, содержащий этапы на которых:
устанавливают агент на каждом терминальном устройстве, которое исполняет упомянутое приложение;
обеспечивают центральный модуль управления, который включает в себя одну или более политик IRM и/или шифрования, которые должны быть введены в действие, и осуществляет связь с агентами, которые установлены на каждом терминальном устройстве;
распространяют, посредством центрального модуля управления, эти одну или более политик IRM и/или шифрования на каждый агент; и, в ответ на указание выбора по меньшей мере одной из упомянутых одной или более политик IRM и/или шифрования,
применяют выбранную по меньшей мере одну политику к элементу данных в любом приложении, которое исполняется на терминальном устройстве и осуществляет доступ к элементу данных, причем действие применения выбранной по меньшей мере одной политики содержит этап, на котором дополняют элемент данных на основе выбранной по меньшей мере одной политики.
2. Способ по п.1, в котором агент вводит в действие права использования на терминальном устройстве, которое исполняет приложение, посредством этапов, на которых:
при приеме элемента данных или файла приложением используют упомянутый агент для идентификации приложения и извлечения информации об исходных правах IRM файла;
вводят, посредством упомянутого агента, специальный блок кода времени исполнения, который не прерывает естественную работу приложения, в собственный код приложения для перехвата вызовов в отношении операций в API приложения или в API операционной системы касаемо действий, которые указывают операции, которые пользователь может выполнять при доступе к файлу;
перед выполнением требуемой операции усовершенствуют исполняющийся процесс для связи с упомянутым агентом для приема разрешений для элемента данных, к которому осуществляется доступ, в отношении выполняющего доступ пользователя; и
обеспечивают возможность выполнения только тех операций, которые соответствуют упомянутым разрешениям IRM представляемого содержимого.
3. Способ по п.1, в котором всякий раз, когда приложение открывает параллельно несколько файлов в отдельных окнах, агенту разрешается выполнение сопоставления между соответствующим окном и его соответствующим файлом и IRM, чтобы определить, как его представлять, в то же время вычисляя права в соответствии с особенностью соответствующего окна.
4. Способ по п.1, в котором агент обеспечивает введение в действие классификации данных на терминальном устройстве, которое исполняет приложение, при выявлении того, что пользователь запустил операцию «Сохранить» или «Сохранить как», щелчком на кнопке «Сохранить как» или используя клавиатурное сокращение, позволяя агенту вступить на уровень операционной системы для отображения модифицированного окна «Сохранить» с содержимым, относящимся к классификации и IRM.
5. Способ по п.4, в котором модифицированное окно создается с использованием элементов управления создания подкласса.
6. Способ по п.4, в котором классификация выполняется автоматически в соответствии с предварительно заданной корпоративной политикой или определяется пользователем, который создает, редактирует или использует данные.
7. Способ по п.4, в котором модифицированное окно предоставляет пользователю рекомендации, касающиеся требуемой классификации данных.
8. Способ по п.4, в котором классификация файла наследуется всякий раз при сохранении этого файла с изменением или без изменения формата или имени данного файла.
9. Способ по п.4, в котором модифицированное окно создается добавлением бокового поля со всеми дополнительными функциями классификации к стандартному окну.
10. Способ по п.4, в котором модифицированное окно создается добавлением кнопки «Следующее», которая предваряет кнопку «Сохранить» и приглашает пользователя задать соответствующую классификацию.
11. Способ по п.1, в котором особенность окна включает в себя название окна или содержимое окна.
12. Способ по п.1, дополнительно содержащий, после приема неубедительного результата сопоставления, применение IRM на самом высоком уровне для всех файлов, которые открыты приложением.
13. Способ по п.1, в котором права IRM применяются с использованием привязки и переопределения стандартных функциональных возможностей и API уровня операционной системы.
14. Способ по п.13, в котором API представляет собой стандартный API Windows, запускаемый кнопкой уровня приложения, или стандартный API буфера обмена.
15. Способ по п.13, дополнительно содержащий сохранение дополнения постоянным в элементах данных и наследование дополнений в копированные или отредактированные версии дополненных элементов данных посредством:
переопределения стандартного диалога, предоставляемого операционной системой; и
использования модуля ядра для сохранения работы приложения с недополненной версией файла.
16. Способ по п.15, дополнительно содержащий:
использование модуля уровня ядра Windows для идентификации преобразования дополненного файла по подобию содержимого; и
замену файла версией, включающей в себя дополнения оригинала, или добавление дополнений к целевому файлу.
17. Компьютерно-реализованная система с обеспечением введения в действие одной или более политик управления правами доступа к информации (IRM) и/или шифрования в отношении элемента данных в программном приложении, содержащая:
множество терминальных устройств, которые исполняют упомянутое приложение, на которых устанавливается агент;
компьютер, исполняющий центральный модуль управления, который включает в себя одну или более политик IRM и/или шифрования, которые должны быть введены в действие, и осуществляет связь с агентами, которые установлены на каждом терминальном устройстве, причем центральный модуль управления выполнен с возможностью:
распространять эти одну или более политик IRM и/или шифрования на каждый агент; и, в ответ на указание выбора по меньшей мере одной из упомянутых одной или более политик IRM и/или шифрования,
применять выбранную по меньшей мере одну политику к элементу данных в любом приложении, которое исполняется на терминальном устройстве и осуществляет доступ к элементу данных, причем действие применения выбранной по меньшей мере одной политики содержит дополнение элемента данных на основе выбранной по меньшей мере одной политики.
RU2017113610A 2014-10-22 2015-10-14 Предоставление возможности классификации и управления правами доступа к информации в программных приложениях RU2701111C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462066995P 2014-10-22 2014-10-22
US62/066,995 2014-10-22
PCT/IL2015/051023 WO2016063276A1 (en) 2014-10-22 2015-10-14 Enabling classification and irm in software applications

Publications (3)

Publication Number Publication Date
RU2017113610A RU2017113610A (ru) 2018-10-23
RU2017113610A3 RU2017113610A3 (ru) 2019-04-22
RU2701111C2 true RU2701111C2 (ru) 2019-09-24

Family

ID=55760378

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017113610A RU2701111C2 (ru) 2014-10-22 2015-10-14 Предоставление возможности классификации и управления правами доступа к информации в программных приложениях

Country Status (6)

Country Link
US (1) US10579805B2 (ru)
EP (1) EP3210337B1 (ru)
JP (1) JP6670318B2 (ru)
CN (1) CN107209841B (ru)
RU (1) RU2701111C2 (ru)
WO (1) WO2016063276A1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210248269A1 (en) * 2018-10-31 2021-08-12 Huawei Technologies Co., Ltd. Device and method for enforcing a data policy

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10248801B2 (en) * 2016-10-07 2019-04-02 American Express Travel Related Services Company, Inc. Systems and methods for role-based file access control
US10951591B1 (en) * 2016-12-20 2021-03-16 Wells Fargo Bank, N.A. SSL encryption with reduced bandwidth
KR20200024511A (ko) 2018-08-28 2020-03-09 삼성전자주식회사 대화 에이전트의 동작 방법 및 그 장치
CN109711198B (zh) * 2018-12-28 2023-08-11 努比亚技术有限公司 应用程序管理方法、移动终端及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156694A1 (en) * 2005-12-29 2007-07-05 Blue Jungle Techniques and system to manage access of information using policies
US20080071728A1 (en) * 2005-12-29 2008-03-20 Blue Jungle Detecting Behavioral Patterns and Anomalies Using Information Usage Data
US20080155702A1 (en) * 2001-07-13 2008-06-26 Liquid Machines, Inc. Method for protecting digital content from unauthorized use by automatically and dynamically integrating a content-protection agent
US20090300712A1 (en) * 2008-03-27 2009-12-03 Tzach Kaufmann System and method for dynamically enforcing security policies on electronic files
RU2524566C1 (ru) * 2013-03-18 2014-07-27 Закрытое акционерное общество "Научно-производственное предприятие "Информационные технологии в бизнесе" Система контроля доступа к файлам на основе их автоматической разметки

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278938A (ja) * 2001-03-21 2002-09-27 Fuji Xerox Co Ltd 個人識別方法、個人識別装置、個人識別プログラム、及び個人認証システム
JP4662138B2 (ja) 2005-06-28 2011-03-30 株式会社日立ソリューションズ 情報漏洩防止方法及びシステム
US8627490B2 (en) * 2005-12-29 2014-01-07 Nextlabs, Inc. Enforcing document control in an information management system
AU2006235845A1 (en) 2006-10-13 2008-05-01 Titus Inc Method of and system for message classification of web email
CN101329624B (zh) * 2007-06-22 2010-09-08 上海容恒实业有限公司 计算机柔性管理构建系统及其界面存储与解释方法
JP2009266034A (ja) * 2008-04-25 2009-11-12 Hitachi Ltd 情報フロー制御システム
JP5576262B2 (ja) * 2010-12-27 2014-08-20 インターナショナル・ビジネス・マシーンズ・コーポレーション データを分類してアクセス制御を行う方法、並びに、システム
US8863299B2 (en) * 2012-01-06 2014-10-14 Mobile Iron, Inc. Secure virtual file management system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155702A1 (en) * 2001-07-13 2008-06-26 Liquid Machines, Inc. Method for protecting digital content from unauthorized use by automatically and dynamically integrating a content-protection agent
US20070156694A1 (en) * 2005-12-29 2007-07-05 Blue Jungle Techniques and system to manage access of information using policies
US20080071728A1 (en) * 2005-12-29 2008-03-20 Blue Jungle Detecting Behavioral Patterns and Anomalies Using Information Usage Data
US20090300712A1 (en) * 2008-03-27 2009-12-03 Tzach Kaufmann System and method for dynamically enforcing security policies on electronic files
RU2524566C1 (ru) * 2013-03-18 2014-07-27 Закрытое акционерное общество "Научно-производственное предприятие "Информационные технологии в бизнесе" Система контроля доступа к файлам на основе их автоматической разметки

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210248269A1 (en) * 2018-10-31 2021-08-12 Huawei Technologies Co., Ltd. Device and method for enforcing a data policy

Also Published As

Publication number Publication date
EP3210337A4 (en) 2018-05-16
CN107209841A (zh) 2017-09-26
JP2018501587A (ja) 2018-01-18
EP3210337B1 (en) 2021-06-02
CN107209841B (zh) 2020-11-03
BR112017005696A2 (pt) 2017-12-12
US10579805B2 (en) 2020-03-03
JP6670318B2 (ja) 2020-03-18
US20170337383A1 (en) 2017-11-23
WO2016063276A1 (en) 2016-04-28
BR112017005696A8 (pt) 2018-06-12
RU2017113610A3 (ru) 2019-04-22
RU2017113610A (ru) 2018-10-23
EP3210337A1 (en) 2017-08-30

Similar Documents

Publication Publication Date Title
US8458770B2 (en) Application context based access control
RU2701111C2 (ru) Предоставление возможности классификации и управления правами доступа к информации в программных приложениях
Nadkarni et al. Preventing accidental data disclosure in modern operating systems
Crampton Specifying and enforcing constraints in role-based access control
US8281410B1 (en) Methods and systems for providing resource-access information
US8336097B2 (en) Apparatus and method for monitoring and protecting system resources from web browser
US11706220B2 (en) Securing application behavior in serverless computing
US20190205869A1 (en) Anonymization of data fields in transactions
JP2009271567A (ja) 画像形成装置、アクセス制御方法、及びアクセス制御プログラム
US8635664B2 (en) Method and system for securing application program interfaces in unified extensible firmware interface
JP5159896B2 (ja) プロセス分離実行を通じたdrmクライアント衝突防止システム及び方法
JP4516598B2 (ja) 文書のコピーを制御する方法
CN105447397A (zh) 一种基于内核模块的文件密级标识的方法
US11822699B1 (en) Preventing surreptitious access to file data by malware
US11010343B2 (en) Architecture, method and apparatus for enforcing collection and display of computer file metadata
Stach How to Deal with Third Party Apps in a Privacy System--The PMP Gatekeeper--
US20050289358A1 (en) Method and system for sensitive information protection in structured documents
WO1995014266A1 (en) A method and system for maintaining access security of input and output operations in a computer system
US11080418B1 (en) System and methods for the management and security of data variations in an electronic spreadsheet
US20180373883A1 (en) Information rights management through editors implemented in a browser
KR101220014B1 (ko) 보안 임계적인 데이터 컨테이너를 제공하기 위한 방법 및컴퓨터 판독가능 매체
WO2019184230A1 (zh) 信息屏蔽方法、装置、终端及计算机可读存储介质
Garnaut et al. Review of data integrity models in multi-level security environments
US20050033721A1 (en) Location switch hard drive shim
CN112784263B (zh) 位元锁磁盘处理程序管理系统与方法

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20200727

PC41 Official registration of the transfer of exclusive right

Effective date: 20200917