Способы и системы для криптографической защиты охраняемого содержимого
Иллюстрации
Показать всеИзобретение относится к способам и системам криптографической защиты данных в графических подсистемах вычислительного устройства. Технический результат заключается в обеспечении конфиденциальности и защищенности данных, направляемых через графический канал. Осуществляются методы для шифрования содержимого видеопамяти, так что несанкционированное программное обеспечение не может получить к нему существенного доступа, благодаря чему поддерживается конфиденциальность. Кроме того, предложен механизм для обнаружения несанкционированного доступа, так что обеспечивается предупреждение, когда данные изменяются некоторым образом, за счет чего поддерживается целостность. В различных вариантах выполнения шифруется содержимое оверлейных поверхностей и/или командные буферы, и/или блок графической обработки способен оперировать с зашифрованным содержимым, ограничивая доступ к содержимому для несанкционированных сторон, устройств или программного обеспечения. 3 н. и 51 з.п. ф-лы, 18 ил., 3 табл.
Реферат
Перекрестные ссылки на родственные заявки
Данная заявка заявляет право на предварительные заявки с номерами 60/337617 от 4 декабря 2001 и 60/339143 от 10 декабря 2001 и связана с обычным образом переуступленной совместно поданной заявкой № 10/125170 на патент США, поданной 18 апреля 2002.
Извещение об авторском праве и разрешение
Часть раскрытия в данном патентном документе может содержать материал, который охраняется авторским правом. Обладатель авторского права не имеет возражений против факсимильного воспроизведения кем бы то ни было этого патентного документа или раскрытия патента, как оно представлено в делах и записях Ведомства по патентам и товарным знакам, но во всех иных случаях оставляет за собой все авторские права. К данному документу должно прилагаться следующее указание: Авторское право © 2001, Microsoft Corp.
Область изобретения
Настоящее изобретение относится к способам и системам для криптографической защиты охраняемого содержимого. В частности, настоящее изобретение относится к методам криптографической защиты содержимого, направляемого через графический канал, с обеспечением для этого содержимого как конфиденциальности, так и защиты от подделки.
Существующий уровень техники
Интернет и многие другие источники и приложения предоставляют огромный массив меняющейся или фиксированной информации или иного содержимого для прослушивания, просмотра, обработки, хранения и иной визуализации. Однако в настоящее время не существует практического пути для сбора, записи или визуализации меняющейся или фиксированной информации или иного содержимого защищенным от копирования образом, чтобы пираты не смогли подключиться к потоку в какой-нибудь точке вдоль канала - в процессе ли обработки содержимого или в процессе визуализации содержимого, - для получения в собственность копии или изменения этого содержимого. Данная проблема существовала в прошлом и в связи с другими устройствами визуализации и записи информации, например, - видеомагнитофонами для телевизионного содержимого или ленточными магнитофонами для аудиосигналов, - но по меньшей мере с одним ключевым отличием. Поскольку содержимое цифровой информации может быть записано фактически без потерь сигнала, это создает для обладателей авторских прав «риск» того, что их работы будут свободно (пиратски) распространяться без компенсации. С использованием видеомагнитофонов и ленточных магнитофонов устройство(а) и среда передачи вносят в процесс записи шум или искажение данных. При меняющейся (потоковой) или фиксированной цифровой среде передачи не имеет значения, почему не могут осуществляться фактически свободные от потерь преобразования и повторные передачи, хотя бы в пределах способностей человеческих слуха и зрения, и не имеет значения, почему естественные цифровые данные не могут сохраняться и свободно распределяться. Таким образом, было бы желательно предотвратить неограниченное перераспределение цифровых данных, потому что нет ни малейшей разницы между тем, что могут предоставить владельцы авторского права за плату, и тем, что могут свободно предоставить пираты. Кроме того, в отношении передач, которые желательно иметь конфиденциальными, - таких как транзакции электронной коммерции, - для пользователя, участвующего в диалоге, важно, чтобы никто третий не стал участником этих транзакций. Таким образом, по отношению к содержимому от достоверного источника в настоящее время нет практического способа для «защищенной» обработки или визуализации данных на пользовательском компьютере без предотвращения пиратства или искажения.
В частности, когда содержимое передается по каналу между главной вычислительной системой, одним или более блоками графической обработки (БГО) и визуализирующим устройством, например монитором, для пирата или иной несанкционированной третьей стороны имеется несколько возможностей подключиться к линии или сигналу и либо незаконно получить сигнал, либо исказить его. Кроме того, поскольку диалог пользователей становится все более усложненным благодаря услугам передачи сообщений и организации видеотелеконференций, обеспечение достоверного канала передачи для охраняемого содержимого, откуда бы оно ни исходило, становится все более важным движением вперед.
Далее, ясно, что будущие поколения операционных систем, вычислительных устройств или программных приложений будут использовать более мощные в вычислительном отношении БГО для коммерческих приложений, по сравнению с привлечением более мощных в вычислительном отношении центральных процессоров (ЦП), как в современных персональных компьютерах. Таким образом, гарантирование того, что содержимое посылается на БГО посредством «достоверных программных приложений», станет фундаментальным свойством для будущих вычислительных устройств, но не обеспечивается в должной мере нынешними вычислительными системами.
Можно считать, что эта проблема предоставления защищенного канала передачи для достоверного содержимого состоит из двух частей: (1) необходимо гарантировать, что достоверное содержимое нельзя скопировать или просмотреть в некой уязвимой точке в канале передачи (конфиденциальность), и (2) необходимо гарантировать, что канал передачи предотвращает несанкционированное искажение данных в канале (защищенность). В контексте системной защиты сложность является препятствием, потому что она усложняет обеспечение защищенности системы. Как в случае с аэропортом или иного сценария обеспечения безопасности, чем больше входов и выходов имеет система, тем труднее становится обеспечить ее безопасность. В этом отношении в настоящее время не имеется средств, с помощью которых объем функций БГО и драйвера(ов) дисплея может быть сделан достоверным в терминах как конфиденциальности, так и защищенности. Таким образом, было бы желательно реализовать достоверную графическую среду в связи с вычислительным устройством, которое принимает содержимое от достоверного источника, так что пользователь этого устройства может быть уверен, что это содержимое не может быть скопировано без разрешения и не может быть фальсифицировано или изменено третьей стороной.
Сущность изобретения
Ввиду вышеизложенного, настоящее изобретение обеспечивает способы и системы для криптографической защиты охраняемого содержимого в связи с графической подсистемой вычислительного устройства. Для зашифровки содержимого видеопамяти применяются такие методы, что несанкционированное программное обеспечение не может получить к нему доступа, благодаря чему удовлетворяется цель конфиденциальности. Кроме того, предложен механизм обнаружения фальсификации, обеспечивающий осведомленность о том, когда данные изменены каким-либо образом, благодаря чему удовлетворяется цель защищенности. В различных вариантах осуществления изобретения раскрывает, как шифровать содержимое оверлейных поверхностей и/или командных буферов, и/или раскрывает, как разрешить БГО работать с зашифрованным содержимым при предотвращении его доступности для не доверенных сторон, устройств или программного обеспечения.
Способы по изобретению различным образом включают в себя методы криптографической защиты охраняемого содержимого в связи с достоверными графическими системами, имеющими память видеоданных, блок(и) графической обработки (БГО) и устройство криптографической обработки, соединенное для осуществления связи с БГО, причем способы содержат запрашивание графической системы программным приложением либо устройством на выполнение обработки или визуализации охраняемого содержимого, при этом запрашивание включает в себя передачу сеансового ключа программным приложением либо устройством в графическую систему и передачу охраняемого содержимого в зашифрованную часть(и) памяти видеоданных, дешифрирование содержимого зашифрованной части(ей) памяти видеоданных блоком(ами) графической обработки при осуществлении связи с устройством криптографической обработки, выполнение обработки или визуализации дешифрированного содержимого блоком(ами) графической обработки и выведение этого содержимого из БГО.
Сходные способы по изобретению различным образом включают в себя запрашивание графической системы программным приложением либо устройством на выполнение обработки или визуализации охраняемого содержимого, причем запрашивание включает в себя передачу сеансового ключа программным приложением либо устройством в графическую систему для удостоверения устройством криптографической обработки и передачу охраняемого содержимого в зашифрованную часть(и) памяти видеоданных, дешифрирование содержимого зашифрованной части(ей) памяти видеоданных механизмом дешифрирования блока ввода БГО, при этом механизм дешифрирования осуществляет связь с устройством криптографической обработки, выполнение обработки или визуализации дешифрированного содержимого блоком(ами) графической обработки, зашифровку содержимого механизмом зашифровки/дешифрирования блока вывода БГО и выведение зашифрованного содержимого из БГО.
Другие признаки и варианты осуществления настоящего изобретения описываются ниже.
Краткое описание чертежей
Способы и системы для криптографической защиты охраняемого содержимого в соответствии с настоящим изобретением описываются далее со ссылками на сопровождающие чертежи, на которых представлено следующее:
фиг. 1А - блок-схема, представляющая примерную сетевую среду с разнообразными вычислительными устройствами, в которой может быть реализовано настоящее изобретение;
фиг. 1В - блок-схема, представляющая не ограничивающий пример вычислительного устройства, в котором может быть реализовано настоящее изобретение;
фиг. 2 - блок-схема алгоритма, иллюстрирующая незащищенные части графического канала, которые защищаются в соответствии с изобретением;
фиг. 3А и 3В - блок-схемы, иллюстрирующие примерные аспекты первого уровня защищенности в соответствии с изобретением;
фиг. 4А-4С - блок-схемы, иллюстрирующие примерные аспекты второго уровня защищенности в соответствии с изобретением;
фиг. 5А-5В - приведенное для примера смешивание форматов AYUV/ARGB в соответствии с изобретением;
фиг. 6А-6В - приведено для примера смешивание форматов YUY2 в соответствии с изобретением;
фиг. 7А-7В - приведенное для примера смешивание упакованного плоского формата в соответствии с изобретением;
фиг. 8А и 8В - блок-схемы, иллюстрирующие примерные аспекты третьего уровня защищенности в соответствии с изобретением;
фиг. 9А и 9В - блок-схемы, иллюстрирующие приведенные для примера методы шифрования, которые могут применяться для выходного сигнала блока графической обработки в соответствии с изобретением.
Подробное описание изобретения
Обзор
Данное изобретение обеспечивает системы и способы для расширения операционной системы или иного посредника между содержимым от достоверного источника и графической системой для обработки и/или визуализации этого содержимого, чтобы разрешить работу приложений «достоверной графики», таких как защищенные от фальсификации конфиденциальные диалоги, и воспроизведение первичного содержимого, защищенного от несанкционированного дублирования. Один из аспектов изобретения состоит в том, что оно обеспечивает три «уровня» защищенности: (1) шифрование содержимого оверлейных поверхностей, (2) разрешение блоку графической обработки или иному совместно работающему устройству (сопроцессору) оперировать с зашифрованным содержимым, не делая его доступным для недостоверных сторон, и (3) разрешение зашифровывания командных буферов.
Как упоминалось, в контексте системной защищенности сложность является препятствием, потому что она усложняет обеспечение защищенности системы. В результате изобретение исходит из того, что весь объем функций БГО и драйвера(ов) дисплея должен рассматриваться как ненадежный (уязвимый). Изобретение затем применяет методы, которые увеличивают шансы корректной реализации в терминах конфиденциальности и защищенности путем ограничения объема аппаратных средств, которые могут быть реализованы для удовлетворения критериям защищенности.
Терминология, в соответствующая изобретению, уже обсуждалась выше. Однако в целях ясности некоторые термины будут определены ниже. Термин «конфиденциальный» относится к предотвращению получения доступа к информации достоверного (защищенного) содержимого не доверительной (недостоверной) третьей стороной, такой как устройство или программное обеспечение третьей стороны. Пример такой конфиденциальности включает в себя предотвращение получения доступа не доверительной третьей стороной к воспроизведению зашифрованного первичного содержимого видеоданных где бы то ни было вдоль канала графики. Термин «защищенный» относится к предотвращению получения доступа к информации достоверного содержимого или ее изменения не доверительной третьей стороной, такой как устройство или программное обеспечение третьей стороны, без обнаружения этого факта. Пример такой защищенности включает в себя предотвращение получения доступа к дисплею охраняемого диалога или его изменения не доверительной третьей стороной, который может происходить во время транзакции электронной коммерции.
В этом отношении изобретение рассматривает перекрывающиеся окна, например пользовательский интерфейс поверх видеопотоков первичного содержимого, а также незатемняемые окна, которые могут представляться во время диалогов электронной коммерции.
Примерная сетевая среда
Специалисту может быть понятно, что компьютер или иное клиентское или серверное устройство может применяться как часть компьютерной сети, или в распределенной вычислительной среде. В этом отношении настоящее изобретение применимо для любой компьютерной системы, имеющей любое число блоков памяти или хранения и любое число программных приложений и процессов, реализуемых в любом количестве блоков хранения, или объемов, которые могут использовать режим достоверной графики по изобретению. Настоящее изобретение может применяться к среде с серверными компьютерами и клиентскими компьютерами, размещенными в сетевой среде или в распределенной вычислительной среде, имеющей удаленную или локальную память. Настоящее изобретение может также применяться в автономных вычислительных устройствах, имеющих функцию языка программирования, способности интерпретации и исполнения для генерирования, приема и передачи информации в связи с удаленными или локальными услугами.
Распределенное вычисление облегчает совместное использование компьютерных ресурсов и услуг путем прямого обмена между вычислительными устройствами и системами. Эти ресурсы и услуги включают в себя обмен информацией, кэш-память и дисковую память для файлов. Распределенное вычисление получает преимущества от сетевой связности, позволяя клиентам выравнивать их коллективную производительность для обеспечения преимуществ всему предприятию. В этом отношении различные устройства могут иметь программные приложения, объекты и ресурсы, которые могут взаимодействовать с использованием каналов достоверной графики по настоящему изобретению.
Фиг. 1А представляет условную схему примерной сетевой или распределенной вычислительной среды. Эта распределенная вычислительная среда содержит вычислительные объекты 10а, 10b и т.д. и вычислительные объекты или устройства 110а, 110b, 110с и т.д. Эти объекты могут содержать программы, способы, банки данных, программируемую логику и т.п. Объекты могут содержать части одного и того же или различных устройств, таких как персональные цифровые ассистенты (ПЦА), телевизоры, проигрыватели стандарта МР3, персональные компьютеры и т.п. Каждый объект может осуществлять связь с другим объектом посредством сети 14 связи. Эта сеть сама может содержать другие вычислительные объекты и вычислительные устройства, которые предоставляют услуги системе по фиг. 1А. В соответствии с одним аспектом изобретения каждый объект 10 или 110 может содержать программное приложение, которое может запрашивать достоверные графические ресурсы.
Следует также иметь в виду, что объект, такой как 110с, может выполнять функции главного устройства в другом вычислительном устройстве 10 или 110. Таким образом, хотя отображенная физическая среда может представлять подсоединенные устройства как компьютеры, такая иллюстрация является просто примером, а физическая среда может альтернативно отображаться и описываться содержащей разные цифровые устройства, такие как ПЦА, телевизоры, проигрыватели стандарта МР3 и т.п., программные объекты, такие как интерфейсы, объекты связи и тому подобные.
Имеется множество систем компонентов и сетевых конфигураций, которые поддерживают распределенные вычислительные среды. К примеру, вычислительные системы могут соединяться вместе системами проводных или беспроводных линий, локальными сетями или глобальными распределенными сетями. В настоящее время многие сети связаны с Интернетом, который обеспечивает инфраструктуру для распределенных в глобальном масштабе вычислений и заключает в себя многие различные сети.
В домашних сетевых средах имеется по меньшей мере четыре совершенно разных сетевых канала переноса, каждый из которых может поддерживать единственный протокол, такие как линия электропитания, канал данных (как беспроводный, так и проводной), речевой канал (например, телефон) и развлекательные каналы. Большинство домашних управляющих устройств, таких как выключатели света и домашняя техника, могут использовать линию электропитания для подключения. Услуги данных могут вводиться в дом как широкополосные (например, либо цифровая абонентская линия (ЦАЛ) (DSL), либо как кабельный модем) и быть доступными в домашних условиях с помощью либо беспроводного (например, HomeRF или 802.11b), либо проводного (например, Home PNA, Cat 5, даже линия электропитания) подключения. Речевой трафик может вводиться в дом либо как проводной (например, Cat 3), либо как беспроводный (например, сотовые телефоны) и может распределяться в доме с помощью проводки Cat 3. Развлекательные каналы могут вводиться в дом либо через спутник, либо по кабелю и обычно распределяются в доме с помощью коаксиального кабеля. Стандарты IEEE 1394 и DVI также представляют собой цифровые межсоединения для группы медиаустройств. Все эти сетевые среды и иное, что может представлять собой стандарты протоколов, могут соединяться друг с другом для формирования внутрикорпоративной сети (интрасети), которая может подключаться к внешнему миру посредством Интернета. Короче говоря, существует множество самых разных источников для хранения и передачи данных, а следовательно, вычислительные устройства потребуют способов защиты содержимого во всех частях канала обработки данных.
Понятием Интернет обычно обозначают совокупность сетей и шлюзов, использующих набор протоколов TCP/IP, который общеизвестен в области компьютерных сетей. "TCP/IP" является акронимом от "Transport Control Protocol/Interface Program" («Транспортный управляющий протокол/Интерфейсная программа»). Интернет можно описать как систему географически распределенных удаленных компьютерных сетей, соединенных между собой компьютерами, исполняющими сетевые протоколы, которые позволяют пользователям взаимодействовать и совместно использовать информацию по сетям. Вследствие такого широкого совместного использования информации удаленные сети, такие как Интернет, в общем случае в большой степени включены практически без ограничений в открытую систему, для которой разработчики могут проектировать программные приложения для выполнения специализированных операций или услуг.
Таким образом, сетевая инфраструктура обеспечивает главную часть сетевых топологий, таких как клиент-сервер, одноранговые или гибридные архитектуры. «Клиент» является членом класса или группы, использующим услуги другого класса или группы, к которым он не относится. Таким образом, при вычислении клиент представляет собой процесс, т.е., грубо говоря, набор команд или задач, который требует услугу, предоставляемую другой программой. Клиентский процесс использует требуемую услугу без «знания» каких-либо рабочих подробностей о самой этой другой программе или услуге. В архитектуре клиент/сервер, в частности в сетевой системе, клиентом обычно является компьютер, который имеет доступ к совместно используемым сетевым ресурсам, предоставляемым другим компьютером, например сервером. В примере фиг. 1А компьютеры 110а, 110b и т.д. могут рассматриваться как клиенты, а компьютеры 10а, 10b и т.д. могут рассматриваться как сервер, где сервер 10а, 10b и т.д. обслуживает данные, которые затем копируются в клиентские компьютеры 110а, 110 b и т.д.
Сервер обычно представляет собой удаленную компьютерную систему, доступ к которой возможен по удаленной сети, такой как Интернет. Клиентский процесс может быть активным в первой компьютерной системе, а серверный процесс может быть активным во второй компьютерной системе, осуществляющим связь друг с другом через среду передачи данных, тем самым обеспечивая распределенные функции и позволяя множеству клиентов получать преимущества вследствие функциональных возможностей сервера собирать информацию.
Клиент и сервер осуществляют связь друг с другом, используя функции, предоставляемые протокольным уровнем. К примеру, протокол гипертекстового переноса (ПГТП) (HTTP) является общим протоколом, который используется совместно со Всемирной паутиной (World Wide Web - WWW). Обычно для идентификации серверным или клиентским компьютерами друг друга используется компьютерный сетевой адрес, такой как унифицированный указатель ресурсов (URL) или адрес межсетевого протокола (IP). На сетевой адрес могут ссылаться как на адрес унифицированного указателя ресурсов. К примеру, связь может обеспечиваться по среде передачи данных. В частности, клиент и сервер могут быть связаны друг с другом через соединения TCP/IP для осуществления связи с высокой пропускной способностью.
Таким образом, фиг. 1А иллюстрирует примерную сетевую или распределенную среду с сервером, осуществляющим связь с клиентскими компьютерами по сети/шине, где может использоваться настоящее изобретение. Подробнее, несколько серверов 10а, 10b и т.д. взаимосвязаны через сеть/шину 14 связи, которая может быть локальной сетью (LAN), глобальной сетью (WAN), корпоративной сетью, Интернетом и т.п. с клиентскими или удаленными вычислительными устройствами 110а, 110b, 110с, 110d, 110е и т.д., такими как переносной компьютер, ручной компьютер, «тонкий» клиент (или клиент-терминал), сетевое оборудование или другое устройство, такое как видеомагнитофон, телевизор, печь, светильник, нагреватель и тому подобное в соответствии с настоящим изобретением. Тем самым ожидается, что настоящее изобретение может применяться к любому вычислительному устройству, с использованием которого желательно обрабатывать, хранить или визуализировать защищенное содержимое от достоверного источника.
В сетевой среде, в которой сетью/шиной 14 связи является, к примеру, Интернет, серверы 10 могут быть Web-серверами, с которыми клиенты 110а, 110b, 110c, 110d, 110е и т.д. осуществляют связь посредством любых известных протоколов, таких как НТТР. Серверы 10 могут также служить в качестве клиентов 110, что может быть свойством распределенной вычислительной среды. Связь может быть проводной или беспроводной, как удобнее. Клиентские устройства 110 могут осуществлять или не осуществлять связь по сети/шине 14 связи и могут иметь связанные с ними независимые средства связи. К примеру, в случае телевизора или видеомагнитофона для управления им может использоваться или не использоваться сетевой аспект. Каждый клиентский компьютер 110 и серверный компьютер 10 может быть снабжен различными прикладными программными модулями или объектами 135 и иметь соединения или доступ к различным типам запоминающих элементов или объектов, в которых могут сохраняться файлы или в которые можно загружать или перемещать часть(и) файлов. Таким образом, настоящее изобретение можно использовать в компьютерной сетевой среде, имеющей клиентские компьютеры 110а, 110b и т.д., которые могут обращаться к и взаимодействовать с компьютерной сетью/шиной 14, и серверные компьютеры 10а, 10b и т.д., которые могут взаимодействовать с клиентскими компьютерами 110а, 110b и т.д. и другими устройствами 111 и базами 20 данных.
Примерное вычислительное устройство
Фиг. 1В и последующее обсуждение представляют краткое общее описание подходящей вычислительной среды, в которой может быть реализовано изобретение. Следует, однако, иметь в виду, что для использования в связи с настоящим изобретением пригодны портативные, переносные и другие вычислительные устройства и вычислительные объекты всех видов. Хотя ниже описывается универсальный компьютер, это всего лишь пример, и настоящее изобретение может быть реализовано и в связи с «тонким» клиентом, имеющим возможность совместной работы (по сети/шине) и взаимодействия. Таким образом, настоящее изобретение может быть реализовано под управлением главной программы в среде сетевых услуг, в которую вовлечены очень малые или минимальные клиентские ресурсы, например, в сетевой среде, в которой клиентское устройство служит просто как интерфейс для сети/шины, как объект, помещенный в оборудование. По существу, все, где могут сохраняться данные и откуда эти данные могут извлекаться или визуализироваться, представляет собой желательную или подходящую среду для работы криптографической защиты защищенного содержимого согласно изобретению.
Хотя это и не требуется, изобретение может быть реализовано посредством операционной системы, прикладного программного интерфейса (ППИ) и/или включено в прикладное программное обеспечение, которое взаимодействует с достоверным содержимым. В различных вариантах осуществления изобретение также применимо к аппаратному обеспечению, которое приспособлено для взаимодействия, и к методам шифрования, описанным ниже. Программное обеспечение может описываться в общем контексте исполняемых компьютером команд, таких как программные модули, исполняемые одним или более компьютерами, такими как клиентские рабочие станции, серверы или иные устройства. В общем случае, программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и иные средства, что выполняющие конкретные задачи или реализующие конкретные абстрактные типы данных. Обычно функции программных модулей в различных вариантах выполнения могут комбинироваться или распределяться по желанию. Кроме того, специалистам понятно, что изобретение может осуществляться с другими конфигурациями компьютерных систем. Другие общеизвестные вычислительные системы, среды и/или конфигурации, которые могут быть пригодны для использования с изобретением, включают в себя - но не ограничиваются ими - персональные компьютеры (ПК) (РС), банковские автоматы, серверные компьютеры, портативные или компактные устройства, многопроцессорные системы, программируемая пользовательская электроника, сетевые ПК, оборудование, светильники, элементы контроля за окружающей средой, миникомпьютеры, мэйнфреймы и тому подобное. Изобретение может быть также осуществлено в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки, которые соединены через сеть/шину связи или иную среду передачи данных. В распределенной вычислительной среде программные модули могут размещаться как в локальных, так и в удаленных компьютерных запоминающих средах, в том числе в запоминающих устройствах, а клиентские узлы в свою очередь могут вести себя как серверные узлы.
Фиг. 1В также иллюстрирует пример подходящей среды 100 вычислительной системы, в которой может быть реализовано изобретение, хотя, как пояснено выше, эта среда 100 вычислительной системы является лишь примером подходящей вычислительной среды и не накладывает каких-либо ограничений ни на объем использования, ни на функции изобретения. Не следует интерпретировать эту вычислительную среду 100 как имеющую какую бы то ни было зависимость или требование, связанное с любым из компонентов или их комбинацией, проиллюстрированными в примерной рабочей среде 100.
На фиг. 1В примерная система для осуществления изобретения включает в себя универсальное вычислительное устройство в виде компьютера 110. Компоненты этого компьютера могут включать в себя - но не ограничиваться ими - блок 120 обработки, системную память 130 и системную шину 121, которая связывает различные системные компоненты, включая и системную память, с блоком 120 обработки. Системная шина 121 может быть любой из различных типов шинных структур, в том числе шиной памяти или контроллером памяти, периферийной шиной и локальной шиной, с использованием любой из различных шинных архитектур. В качестве примера - но не ограничения - такие архитектуры включают в себя шину стандарта ISA (архитектуры промышленного стандарта), шину стандарта МСА (микроканальной архитектуры), шину стандарта EISA (расширенной архитектуры промышленного стандарта), локальную шину стандарта VESA (Ассоциации по стандартам в видеоэлектронике) и шину стандарта PCI (взаимных соединений периферийных компонентов) (известную также как шину расширения).
Компьютер 110 обычно включает в себя различные машиночитаемые носители. Машиночитаемыми носителями могут быть любые доступные носители, к которым может обращаться компьютер 110, и включают в себя как энергозависимые, так и энергонезависимые носители, как сменяемые, так и несменяемые носители. В качестве примера - но не ограничения - машиночитаемые носители могут содержать компьютерные запоминающие среды и среды передачи данных. Компьютерные запоминающие среды включают в себя как энергозависимые, так и энергонезависимые, как сменяемые, так и несменяемые носители, осуществленные любым способом или с использованием любой технологии для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули и иные данные. Машиночитаемые носители включают в себя - но не ограничиваются ими - ОЗУ, ПЗУ, ЭСППЗУ, флэш-память или иную технологию памяти, ПЗУ-КД (CDROM), цифровой многоцелевой диск (DVD) или иную память на оптических дисках, магнитные кассеты, магнитную ленту, память на магнитных дисках или иные магнитные запоминающие устройства, или любой другой носитель, который может использоваться для сохранения желательной информации и к которому может обращаться компьютер 110. Среды передачи данных обычно реализуют машиночитаемые команды, структуры данных, программные модули или иные данные в сигнале, модулированном данными, таком как несущее колебание или другой механизм переноса, и включают в себя любые среды доставки информации. Выражение «сигнал модулированный данными» означает сигнал, который имеет одну или более характеристик, установленных или измененных для кодирования информации в сигнале. В качестве примера - но не ограничения - среды передачи данных включают в себя проводные среды, такие как проводная сеть и непосредственное проводное подключение, и беспроводные среды, такие как звуковые, радиочастотные, инфракрасные и другие беспроводные среды. Комбинации любых из вышеназванных средств также включаются в объем машиночитаемых носителей.
Системная память 130 включает в себя компьютерный носитель данных в виде энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) (ROM) 131 и оперативное запоминающее устройство (ОЗУ) (RAM) 132. Базовая система ввода-вывода (БСВВ) (BIOS) 133, содержащая базовые подпрограммы, которые помогают переносить информацию между элементами внутри компьютера 110, как во время запуска, обычно хранится в ПЗУ 131. ОЗУ 132 обычно содержит данные и/или программные модули, которые сразу же доступны для блока 121 обработки и/или обрабатываются им в данный момент. В качестве примера - но не ограничения - фиг. 1В иллюстрирует операционную систему 134, прикладные программы 135, другие программные модули 136 и программные данные 137.
Компьютер 110 может также включать в себя другие съемные-несъемные энергозависимые-энергонезависимые компьютерные носители данных. Только в качестве примера фиг. 1В иллюстрирует дисковод 141 жесткого диска, который считывает с несъемного энергонезависимого магнитного носителя или записывает на него, дисковод 151 магнитного диска, который считывает со съемного энергонезависимого диска 152 или записывает на него, дисковод 155 оптического диска, который считывает со съемного энергонезависимого оптического диска, такого как CD ROM или иного оптического носителя, или записывает на него. Другие съемные-несъемные энергозависимые-энергонезависимые компьютерные носители данных, которые можно использовать в примерной операционной среде, включают в себя - но ограничиваются ими - кассеты магнитной ленты, миниатюрные карты флэш-памяти, многоцелевые цифровые диски, цифровые видеоленты, твердотельные ОЗУ, твердотельные ПЗУ и тому подобное. Дисковод 141 жесткого диска обычно соединяется с системной шиной 121 через интерфейс несъемной памяти, такой как интерфейс 140, а дисковод 151 магнитного диска и дисковод 155 оптического диска обычно соединяются с системной шиной 121 интерфейсом съемной памяти, таким как интерфейс 150.
Дисководы и связанные с ними компьютерные носители данных, упомянутые выше и проиллюстрированные на фиг. 1В, вводят в память компьютера считываемые команды, структуры данных, программные модули и другие данные для компьютера 110. На фиг. 1В, к примеру, дисковод 141 жесткого диска проиллюстрирован как хранящий операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Отметим, что эти составляющие могут быть либо теми же самыми, что и операционная система 134, прикладные программы 135, другие программные модули 136 и программные данные 137, либо отличными от них. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 здесь обозначены отличающимися ссылочными позициями для иллюстрации того, что они, как минимум, являются отличающимися копиями. Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода, такие как клавиатура 162 и координатное устройство 161, обычно называемое мышью, шаровым манипулятором или сенсорным планшетом. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровой планшет, антенну спутниковой связи, сканер или тому подобное. Эти и другие устройства ввода часто соединяются с блоком 120 обработки через пользовательский интерфейс ввода, который соединяется с системной шиной 121, но могут соединяться и с другими интерфейсными и шинными структурами, такими как параллельный порт, игровой порт или универсальная последовательная шина (УПШ) (USB). К системной шине 121 может быть также подключен графический интерфейс 182, такой как Northbridge. Northbridge представляет собой набор микросхем, который осуществляет связь с ЦП или главным блоком 120 обработки и обеспечивает информационный обмен для ускоренного графического порта (УГП). Один или более блоков 184 графической обработки (БГО) могут осуществлять связь с графическим интерфейсом 182. В этом отношении БГО 184 в общем случае включают в себя встроенную память, такую как регистровая память, и БГО 184 осуществляют связь с видеопамятью 186. БГО 184, однако являются не единственным примером сопроцессора, и поэтому множество сопроцессорных устройств могут быть включены в компьютер 110. Монитор 191 или устройство иного типа также подключается к системной шине 121 через интерфейс, такой как видеоинтерфейс 190, который, в свою очередь, может осуществлять связь с видеопамятью 186. В общем случае, именно эта часть вычислительного устройства является уязвимой, и, соответственно, настоящее изобретение обеспечивает защиту и конфиденциальность обрабатываемым или визуализируемым в ней данным. В дополнение к монитору 191 компьютеры могут содержать и другие периферийные выходные устройства, такие как громкоговорители 197 и принтер 196, которые могут подключаться через выходной периферийный интерфейс 195.
Компьютер 110 может рабо