Транзакционная изолированная система хранения данных



Транзакционная изолированная система хранения данных
Транзакционная изолированная система хранения данных
Транзакционная изолированная система хранения данных
Транзакционная изолированная система хранения данных
Транзакционная изолированная система хранения данных
Транзакционная изолированная система хранения данных
Транзакционная изолированная система хранения данных

 


Владельцы патента RU 2458385:

МАЙКРОСОФТ КОРПОРЕЙШН (US)

Изобретение относится к области транзакционных изолированных систем хранения. Техническим результатом является улучшение защиты доступа к данным (для чтения и модификации) за счет разрешения доступа к данным согласно транзакционным свойствам и разрешения доступа к данным, подлежащим ограничению для защищенных приложений. Транзакционная изолированная система хранения содержит совокупность изолированных основных данных, которая изолируется так, что она является доступной только, по меньшей мере, для одного защищенного приложения, причем упомянутая совокупность изолированных основных данных содержит транзакционную часть, которая доступна согласно транзакционным свойствам, и нетранзакционную часть, которая хранит нетранзакционные данные; устройство управления транзакционными данными, которое обеспечивает доступ к транзакционной части совокупности изолированных основных данных в соответствии с транзакционными свойствами; и устройство управления изолированными данными, функционально связанное с совокупностью изолированных основных данных, и сконфигурированное для регулирования доступа к упомянутой совокупности изолированных данных. 3 н. и 17 з.п. ф-лы, 7 ил.

 

УРОВЕНЬ ТЕХНИКИ

Транзакционные системы хранения обычно обеспечивают, по меньшей мере, частично, набор требуемых транзакционных свойств, таких как атомарность, согласованность, изолированность и долговечность, часто описываемых с использованием аббревиатуры "ACID". В частности, «атомарность» относится к способности выполнять транзакцию так, что фиксируются все изменения в рамках транзакции или не фиксируется ни одно из изменений в рамках транзакции. Транзакция считается «атомарной», поскольку изменения в рамках транзакции рассматриваются в целом и не разбиваются на меньшие подмножества. Согласованность относится к системе хранения, находящейся в допустимом состоянии и при инициировании транзакции, и при завершении транзакции. Это означает, что транзакция не может нарушать правила системы хранения, которые могут именоваться как ограничения целостности. Например, если система хранения обладает правилом, что любые два файла в одном и том же каталоге должны иметь разные имена, то любая транзакция, дающая в результате два файла в одном и том же каталоге, имеющие одно и то же имя, будет прервана.

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

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

Некоторые системы хранения являются транзакционными только для части данных, которые они хранят. Например, широко используемая файловая система NTFS (New Technology File System) корпорации MICROSOFT, Редмонд, Вашингтон, является такой частично транзакционной файловой системой. Файловая система NTFS является транзакционной для метаданных файлов, но не обеспечивает полные транзакционные гарантии для данных внутри файла. Эти частично транзакционные системы хранения обеспечивают транзакционные свойства для тех частей хранящихся данных, для которых преимущества от транзакционных свойств являются наиболее выгодными, в то же время не обременяя все хранящиеся данные сложностями администрирования, связанными с транзакционной системой.

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

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Пояснительные варианты осуществления будут более понятны после прочтения последующего подробного описания со ссылкой на прилагаемые чертежи, на которых:

фиг.1 изображает примерную транзакционную изолированную систему хранения с транзакционной системой хранения поверх изолированной системы хранения;

фиг.2 изображает примерную секционированную совокупность изолированных данных;

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

фиг.4 изображает примерную многоуровневую модель защиты;

фиг.5 изображает примерную транзакционную изолированную систему хранения с изолированной системой хранения поверх транзакционной системы хранения;

фиг.6 является блок-схемой алгоритма примерного способа для регулирования доступа к транзакционным изолированным данным; и

фиг.7 является структурной схемой, представляющей примерное вычислительное устройство.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ

Транзакционная изолированная система хранения может быть реализована с использованием ряда различных конфигураций. Одна такая конфигурация задействует формирование транзакционной системы хранения поверх изолированной системы хранения. Пример этой конфигурации изображен на фиг.1. Как показано, эта конфигурация включает в себя совокупность 101 изолированных данных с транзакционной частью 109. Транзакционная часть 109 может составлять целую или меньше, чем целую, совокупность 101 изолированных данных.

Система 104 управления изолированными данными регулирует доступ к совокупности 101 изолированных данных так, что совокупность 101 изолированных данных доступна только для набора защищенных приложений. Набор защищенных приложений включает в себя, по меньшей мере, одно приложение. Таким образом, хотя на фиг.1 показано только одно защищенное приложение 103, может существовать больше одного защищенного приложения, которое может получить доступ к совокупности изолированных данных. Система 104 управления изолированными данными может запускаться внутри операционной системы, или она может сама по себе составлять независимую операционную систему, которая именуется как "защищенная операционная система".

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

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

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

Система 102 управления транзакционными данными управляет доступом к транзакционной части 109 в соответствии с транзакционными свойствами. Система 102 управления транзакционными данными может быть, например, транзакционной системой управления базами данных (СУБД). Одной такой транзакционной СУБД является продукт SQL Server от вышеупомянутой корпорации MICROSOFT, Редмонд, Вашингтон.

Данные в пределах транзакционной части 109 пользуются эффективностью, защитой, секретностью и другими желательными преимуществами, связанными и с транзакционным хранением, и с изолированным хранением. Чтобы проиллюстрировать такие преимущества, рассмотрим сценарий, в котором транзакционная часть 109 является финансовыми данными, а защищенное приложение 103 является ранее описанным финансовым приложением, которое может получать доступ к финансовым данным и манипулировать ими. В этом сценарии финансовые данные в транзакционной части 109 могут использовать такие преимущества транзакций, как, например, защита от ранее описанной ситуации, в которой финансовый счет дебетуется для оплаты вновь приобретаемых акций, но происходит сбой питания прежде, чем вновь приобретаемые акции зарегистрированы в инвестиционном портфеле. Дополнительно, финансовые данные в транзакционной части 109 могут использовать такие преимущества защиты, как, например, конфиденциальность, секретность и защита от несанкционированной попытки считывания финансовых данных со стороны участников процесса. Более того, финансовые данные защищаются от вирусов, троянских программ или других злонамеренных пользователей, которые могли бы изменить финансовые данные, например, дебетуя счет по несуществующему или несанкционированному назначению.

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

Совокупность 101 изолированных данных может быть разделена так, что только определенные защищенные приложения имеют доступ к каждой части в пределах совокупности. Примерная секционированная совокупность изолированных данных показана на фиг.2. Как показано, защищенное приложение 103z имеет доступ к части 101a, защищенные приложения 103y и 103x имеют доступ к части 101b и защищенное приложение 103w имеет доступ к части 103c. Каждая часть 101a-c имеет соответствующую транзакционную часть 109a-c. Транзакционные части 109a-c могут включать в себя целые или меньше, чем целые, соответствующие им части 101a-c. Система 104 управления изолированными данными может иметь соответствующий отдельный набор ключей расшифровки для каждого из секционированных разделов 101a-c, таким образом позволяя только определенным защищенным приложениям получать доступ к их соответствующим изолированным частям 101a-c. Хотя это не изображено на фиг.2, отдельное защищенное приложение может иметь доступ более чем к одной части.

Как упомянуто выше, система 104 управления изолированными данными может сама по себе составлять защищенную операционную систему. В некоторых случаях отдельное узловое вычислительное устройство может быть сконфигурировано так, что множественные "виртуальные" операционные системы могут работать одновременно на отдельном узле. Одна из этих виртуальных операционных систем может быть защищенной виртуальной операционной системой. Примерная транзакционная изолированная система хранения, реализованная с использованием такой защищенной виртуальной операционной системы, изображена на фиг.3. Как показано, система на фиг.3 включает в себя программу 212 управления ОС, которая является хорошо известным программным компонентом для управления несколькими виртуальными операционными системами 211a-c на отдельном узловом вычислительном устройстве 210. Защищенная виртуальная операционная система 211a является виртуальной операционной системой, которая предоставляет защищенную среду для защищенного приложения 103 (и возможно других защищенных приложений, если они присутствуют в защищенной операционной системе 211a). Для предоставления этой безопасной среды защищенная виртуальная операционная система 211a ограничивает доступ к совокупности 101 изолированных данных только защищенным приложением 103. Виртуальные операционные системы 211b и 211c являются другими виртуальными операционными системами, выполняющимися на узле 210. Узел 210 может включать в себя любое количество виртуальных операционных систем и может включать в себя больше одной защищенной виртуальной операционной системы.

Совокупность 101 изолированных данных является частью диска 220. Как и на фиг.1, совокупность 101 изолированных данных включает в себя транзакционную часть 109, доступ к которой осуществляется в соответствии с транзакционными свойствами. Система 102 управления транзакционными данными управляет доступом к транзакционной части 109 в соответствии с транзакционными свойствами. Совокупность 101 изолированных данных может именоваться как "виртуальный диск", поскольку является частью диска 220, доступ к которой регулируется защищенной виртуальной операционной системой 211a. Доступ к другим частям диска 220 может регулироваться другими виртуальными операционными системами 211a и 211b. На фиг.3 диск 220 изображен как локальный диск, который полностью содержится в пределах узла 210. Такой полностью содержащийся локальный диск может быть, например, локальным жестким диском. Однако нет обязательного требования, чтобы диск 220 содержался в пределах узла 210. Возможно, что виртуальные операционные системы 211a-c могут иметь доступ к внешнему диску. Дополнительно, в то время как система 102 управления транзакционными данными тоже изображена как содержащаяся в пределах главного узла 210, система 102 управления транзакционными данными может, тем не менее, быть внешней для узла 210.

Система на фиг.3 может быть реализована в соответствии с многоуровневой моделью защиты. Примерная многоуровневая модель защиты изображена на фиг.4. На верхнем уровне модели находится распределитель 400 ключей верхнего уровня. Распределитель 400 ключей верхнего уровня может быть, например, доверенным платформенным модулем (TPM). Как правило, распределитель 400 ключей верхнего уровня выпускает наборы 401a-c ключей для приложений 212a-c второго уровня, одно из которых является программой 212a управления ОС. В частности, набор 401a ключей выпускается для программы 212a управления ОС, набор 401b ключей выпускается для приложения 212b второго уровня и набор 401c ключей выпускается для приложения 212c второго уровня. Нужно принимать во внимание, что хотя только три приложения 212a-c второго уровня показаны на фиг.3, может присутствовать любое количество приложений второго уровня. Каждый из этих трех наборов 401a-c ключей является уникальным и надежным набором ключей для своего соответствующего приложения 212a-c второго уровня.

Программа 212 управления ОС, в свою очередь, обеспечивает наборы ключей для каждой из трех виртуальных операционных систем 211a-c на главном узле 210. Затем программа 212 управления ОС выпускает три отдельных и уникальных ключа 401aa-401ac. Хотя это не изображено на фиг.3, другие приложения 212b и 212c второго уровня могут выпускать другие ключи. Защищенная виртуальная операционная система 211a, в свою очередь, выпускает три отдельных и уникальных ключа 401aaa-401aac. Ключ 401aaa используется для шифрования части 101a на фиг.2, ключ 401aab используется для шифрования части 101b на фиг.2, и ключ 401aac используется для шифрования части 101c на фиг.2. Если защищенное приложение 103z запрашивает доступ к части 101a, то защищенная операционная система 211a может после подтверждения подлинности защищенного приложения 103z предоставить ключ 401aaa защищенному приложению 103z для расшифровки части 101a. Если защищенное приложение 103y или 103x запрашивает доступ к части 101b, то защищенная операционная система 211a может после подтверждения подлинности защищенного приложения 103x или 103y предоставить ключ 401aab защищенному приложению 103x или 103y для расшифровки части 101b. Если защищенное приложение 103w запрашивает доступ к части 101c, то защищенная операционная система 211a может после подтверждения подлинности защищенного приложения 103w предоставить ключ 401aac защищенному приложению 103w для расшифровки части 101c.

В дополнение к выбору конфигурации транзакционной системы хранения поверх изолированной системы хранения изолированная система хранения также может быть сконфигурирована поверх транзакционной системы хранения. Пример этой конфигурации показан на фиг.5. Система на фиг.5 включает в себя совокупность 105 транзакционных данных с изолированной частью 108. Изолированная часть 108 может составлять целую совокупность 105 транзакционных данных или меньше, чем целую, совокупность 105 транзакционных данных.

Совокупность 105 транзакционных данных может быть любой совокупностью данных, такой как, например, локальный диск или база данных. Совокупность 105 транзакционных данных может быть только частью большей совокупности основных данных, в которой она хранится. Например, совокупность 105 транзакционных данных может быть только частью локального диска или частью базы данных, причем другие части включают в себя нетранзакционные данные.

Изолированная часть 108 является частью совокупности 105 транзакционных данных, которая является доступной только для соответствующего набора из одного или более защищенных приложений, таких как защищенное приложение 103. Изолированная часть 108 может, например, включать в себя наиболее секретные и конфиденциальные части совокупности 105 транзакционных данных, для которых было бы наиболее полезно ограничить доступ, и которые подвергаются наибольшему риску, если к данным был получен доступ и/или данные были искажены не обладающими полномочиями участниками процесса. Изолированная часть 108 может включать в себя любой компонент структуры данных в пределах совокупности 105 транзакционных данных. Например, если совокупность 105 транзакционных данных является реляционной базой данных, то изолированная часть 108 может включать в себя такие компоненты структуры, как полные таблицы или конкретные строки или столбцы таблиц. Точно так же, как транзакционная часть 109 на фиг.1, данные в пределах изолированной части 108 пользуются эффективностью, защитой, секретностью и другими желательными преимуществами, связанными и с транзакционным хранением, и с изолированным хранением.

В дополнение к формированию транзакционной системы хранения поверх изолированной системы хранения или наоборот транзакционная изолированная система хранения также может быть реализована, например, с использованием "унифицированной" конфигурации. Унифицированная конфигурация может быть реализована, например, с использованием отдельной унифицированной системы управления данными, которая администрирует и транзакционные аспекты, и аспекты изолирования системы хранения.

Блок-схема алгоритма примерного способа для регулирования доступа к транзакционным изолированным данным показана на фиг.6. На этапе 600 система 104 управления изолированными данными принимает от запрашивающего приложения запрос на доступ к транзакционным изолированным данным. На этапе 602 система 104 управления изолированными данными определяет, является ли запрашивающий объект защищенным приложением. Если запрашивающее приложение не является защищенным приложением, то его запрос будет отклонен на этапе 606. Определение того, является ли запрашивающее приложение защищенным приложением, может быть произведено, например, с помощью проверки списка защищенных приложений, для которых изолированные транзакционные данные являются доступными. Конечно, запрашивающее приложение должно быть защищенным приложением для той части изолированных транзакционных данных, к которой оно запрашивает доступ. Например, возвращаясь к фиг.2, хотя приложение 103z является защищенным приложением, оно является защищенным только для части 101a. Таким образом, если защищенное приложение 103z запрашивает доступ к части 101b, его запрос будет отклонен, потому что оно не является защищенным для части 101b.

Если запрашивающее приложение является защищенным приложением (или, по меньшей мере, подразумевается являющимся защищенным приложением), то на этапе 604 система 104 управления изолированными данными предпринимает попытку подтвердить идентичность запрашивающего приложения. На этапе 608 определяется, может ли быть подтверждена подлинность запрашивающего приложения. Если подлинность запрашивающего приложения не может быть подтверждена, то его запрос отклоняется на этапе 606. С другой стороны, если подлинность запрашивающего приложения подтверждена, то запрашивающему приложению предоставляется соответствующий ключ расшифровки на этапе 610. Затем на этапе 612 система 102 управления транзакционными данными управляет доступом запрашивающего приложения к транзакционным изолированным данным в соответствии с транзакционными свойствами.

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

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

Фиг.7 иллюстрирует пример подходящей вычислительной системной среды 100, в которой может быть реализован объект изобретения, описанный выше со ссылкой на фиг.1-6. Вычислительная системная среда 100 представляет собой только один пример подходящей вычислительной среды и не подразумевает предположения какого-либо ограничения относительно объема использования или функциональных возможностей объекта изобретения, описанного выше. Вычислительная среда 100 не должна интерпретироваться как обладающая какой-либо зависимостью или требованиями, касающимися какого-либо одного компонента или сочетания компонентов, проиллюстрированных в примерной среде 100.

Обратимся к фиг.7, вычислительная системная среда 100 включает в себя вычислительное устройство общего назначения в виде компьютера 110. Компоненты компьютера 110 могут включать в себя, но не ограничиваются этим, процессор 120, системную память 130 и системную шину 121, которая соединяет различные компоненты системы, в том числе системную память и процессор 120. Системная шина 121 может быть любого из нескольких типов шинных структур, включающих в себя шину памяти или устройство управления памятью, шину периферийных устройств и локальную шину, использующую любую из множества шинных архитектур. В качестве примера, но не ограничиваясь этим, такие архитектуры включают в себя шину архитектуры промышленного стандарта (ISA - Industry Standard Architecture), шину микроканальной архитектуры (MCA - Micro Channel Architecture), шину расширенной архитектуры промышленного стандарта (EISA - Enhanced ISA), локальную шину стандарта Ассоциации по стандартам в области видеоэлектроники (VESA - Video Electronics Standards Association) и шину соединения периферийных устройств (PCI - Peripheral Component Interconnect) (также известную как шина расширения).

Компьютер 110 обычно включает в себя множество машиночитаемых носителей. Машиночитаемые носители могут быть любыми имеющимися в распоряжении носителями, к которым может получить доступ компьютер 110, и включают в себя энергозависимые и энергонезависимые носители и съемные и несъемные носители. В качестве примера, но не ограничиваясь этим, машиночитаемые носители могут содержать компьютерные запоминающие носители и носители связи. Компьютерные запоминающие носители включают в себя энергозависимые и энергонезависимые и съемные и несъемные носители, реализованные любым способом или технологией хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные запоминающие носители включают в себя, но не ограничиваются этим, ОЗУ, ПЗУ, ЭСППЗУ, флэш-память или другую технологию памяти, компакт-диски (CD-ROM), цифровые диски универсального назначения (DVD) или другое запоминающее устройство на оптическом диске, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные устройства хранения, или любой другой носитель, который может использоваться для хранения необходимой информации, к которой может получить доступ компьютер 110. Носители связи обычно реализуют машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированный сигнал передачи данных, такой как несущая волна или другой транспортный механизм, и включают в себя любые носители доставки информации. Термин "модулированный данными сигнал" обозначает сигнал, у которого одна или более из его характеристик установлены или изменены таким образом, чтобы закодировать информацию в сигнале. В качестве примера, но не ограничиваясь этим, носители связи включают в себя проводные носители, такие как проводная сеть или прямое проводное соединение, и беспроводные носители, такие как звуковые волны, радиочастоты, инфракрасное излучение и другие беспроводные носители. Комбинации любого из вышеупомянутого также должны входить в понятие машиночитаемых носителей.

Системная память 130 включает в себя компьютерные запоминающие носители в виде энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) 131 и оперативное запоминающее устройство (ОЗУ) 132. Базовая система 133 ввода/вывода (BIOS), содержащая основные процедуры, которые помогают передавать информацию между элементами внутри компьютера 110, например, во время запуска, обычно хранится в ПЗУ 131. ОЗУ 132 обычно содержит данные и/или программные модули, к которым процессор 120 получает непосредственный доступ и/или которыми он в настоящий момент оперирует. В качестве примера, но не ограничиваясь этим, фиг.7 иллюстрирует операционную систему 134, прикладные программы 135, другие программные модули 136 и программные данные 137.

Кроме того, компьютер 110 может включать в себя другие съемные/несъемные энергозависимые/энергонезависимые компьютерные запоминающие носители. Только в качестве примера, фиг.7 иллюстрирует накопитель 141 на жестком диске, который осуществляет считывание или запись на несъемные, энергонезависимые магнитные носители, накопитель 151 на магнитном диске, который осуществляет считывание или запись на съемный, энергонезависимый магнитный диск 152, и накопитель 155 на оптическом диске, который осуществляет считывание или запись на съемный энергонезависимый оптический диск 156, такой как CD-RW, DVD-RW или другие оптические носители. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные запоминающие носители, которые могут использоваться в примерном операционном окружении, включают в себя, но не ограничиваются этим, кассеты с магнитной лентой, платы флэш-памяти, цифровые диски универсального назначения, ленту с цифровой видеозаписью, твердотельное ОЗУ, твердотельное ПЗУ и тому подобное. Накопитель 141 на жестком диске обычно подсоединяется к системной шине 121 при помощи интерфейса несъемного запоминающего устройства, такого как интерфейс 140, а накопитель 151 на магнитном диске и накопитель 155 на оптическом диске обычно подсоединяются к системной шине 121 посредством интерфейса съемного запоминающего устройства, такого как интерфейс 150.

Накопители и связанные с ними компьютерные запоминающие носители, обсуждаемые выше и проиллюстрированные на фиг.7, обеспечивают хранение машиночитаемых инструкций, структур данных, программных модулей и других данных для компьютера 110. На фиг.7, например, накопитель 141 на жестком диске проиллюстрирован как хранящий операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Заметим, что эти компоненты могут или совпадать, или отличаться от операционной системы 134, прикладных программ 135, других программных модулей 136 и программных данных 137. Операционной системе 144, прикладным программам 145, другим программным модулям 146 и программным данным 147 в данном описании присвоены другие ссылочные значения, чтобы пояснить, что, как минимум, они являются другими копиями. Пользователь может вводить команды и информацию в компьютер 110 при помощи устройств ввода, таких как клавиатура 162 и координатно-указательное устройство 161, например манипулятор мышь, шаровой манипулятор или сенсорная панель. Другие устройства ввода (не показаны) могут включать в себя микрофон, рычажный указатель, игровой планшет, антенну спутниковой связи, сканирующее устройство или тому подобное. Эти и другие устройства ввода часто соединяются с процессором 120 при помощи интерфейса 160 пользовательского ввода, который подсоединяется к системной шине 121, но могут соединяться посредством других интерфейса и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB - universal serial bus). Графический интерфейс 182 также может соединяться с системной шиной 121. Одно или более графических обрабатывающих устройств (GPU) 184 могут устанавливать связь с графическим интерфейсом 182. Монитор 191 или другой тип устройства отображения также соединяется с системной шиной 121 через интерфейс, такой как видеоинтерфейс 190, который может, в свою очередь, устанавливать связь с видеопамятью 186. В дополнение к монитору 191 компьютеры могут также включать в себя другие периферийные устройства вывода, такие как динамики 197 и устройство 196 печати, которые могут быть подсоединены при помощи интерфейса 195 периферийных устройств вывода.

Компьютер 110 может функционировать в сетевой или распределенной среде, используя логические соединения с одним или более удаленными компьютерами, такими как удаленный компьютер 180. Удаленный компьютер 180 может быть персональным компьютером, сервером, маршрутизатором, сетевым ПК, равноправным устройством или другим публичным сетевым узлом и, как правило, включает в себя многие или все элементы, описанные выше касательно компьютера 110, несмотря на то, что на фиг.7 проиллюстрировано только запоминающее устройство 181 хранения. Логические соединения, изображенные на фиг.7, включают в себя локальную вычислительную сеть (LAN) 171 и глобальную вычислительную сеть (WAN) 173, но могут также включать в себя другие сети. Такие сетевые окружения являются обычными в домах, офисах, корпоративных вычислительных сетях, внутренних сетях и глобальной сети на базе технологии Интернет.

При использовании в сетевом окружении LAN компьютер 110 соединяется с LAN 171 при помощи сетевого интерфейса или адаптера 170. При использовании в сетевом окружении WAN компьютер 110, как правило, включает в себя модем 172 или другое средство для установления связи по WAN 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может подсоединяться к системной шине 121 через интерфейс 160 пользовательского ввода или по другой подходящей схеме. В сетевом окружении программные модули, изображенные касательно компьютера 110, или их части могут храниться на удаленном запоминающем устройстве хранения. В качестве примера, но не ограничиваясь этим, фиг.7 иллюстрирует удаленные прикладные программы 185, как постоянно хранящиеся на устройстве 181 хранения. Нужно понимать, что показанные сетевые соединения являются примерными, и может использоваться другое средство установления соединения между компьютерами.

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

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

2. Система по п.1, в которой совокупность изолированных основных данных зашифрована.

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

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

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

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

7. Система по п.4, в которой упомянутое устройство управления изолированными данными и упомянутое устройство управления транзакционными данными реализованы как часть отдельного унифицированного устройства управления транзакционными изолированными данными.

8. Система по п.1, в которой упомянутая часть совокупности изолированных основных данных содержит всю совокупность изолированных основных данных.

9. Система по п.1, в которой упомянутая часть совокупности изолированных основных данных содержит меньше, чем всю совокупность изолированных основных данных.

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

11. Система по п.10, дополнительно содержащая устройство управления транзакционными данными, которое обеспечивает доступ к совокупности транзакционных основных данных в соответствии с транзакционными свойствами.

12. Система по п.11, в которой упомянутое устройство управления изолированными данными и упомянутое устройство управления транзакционными данными реализованы как часть отдельной унифицированной системы управления транзакционными изолированными данными.

13. Система по п.11, в которой изолированная часть совокупности транзакционных основных данных зашифрована.

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

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

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

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

18. Способ по п.17, в котором распределитель ключей верхнего уровня содержит доверенный платформенный модуль.

19. Способ по п.17, дополнительно содержащий этап, на котором подтверждают подлинность приложения посредством попытки проверить идентификацию приложения и отклоняют запрос, если идентификация приложения не может быть проверена.

20. Способ по п.19, в котором подтверждение подлинности приложения содержит этапы, на которых:
вычисляют значение хеш-функции выполняемого приложения, которое однозначно идентифицирует приложение; и
определяют, совпадает ли вычисленное значение хеш-функции с сохраненным значением хеш-функции, соответствующим приложению.



 

Похожие патенты:

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

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

Изобретение относится к способам защиты личных данных пользователей. .

Изобретение относится к средствам защиты обработки данных пользователя в компьютерных сетях. .

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

Изобретение относится к генераторам биективных криптографических математических функций. .

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

Изобретение относится к области организации взаимодействия между программными приложениями

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

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

Изобретение относится к передаче данных, а именно к системе и способу предоставления цифровых представлений идентификации (DIR)

Изобретение относится к цифровым информационным системам, к способам и системам защиты цифровых информационных систем от несанкционированного вмешательства

Изобретение относится к вычислительной технике
Наверх