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

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

Реферат

Область техники, к которой относится изобретение

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

Уровень техники

Использование сетевых электронных устройств становится все более и более распространенным. В области домашних сетей для устройств бытовой электроники (CE) в сетях UPnP (универсальных типа "подключи и работай") обеспечены интерфейсы удаленного пользователя. Интерфейсы удаленного пользователя обеспечивают возможность пользователю удаленно управлять приложениями на других устройствах UPnP через домашнюю сеть UPnP, а также взаимодействовать со службами сети Internet с использованием устройств CE, которые подключены к сети Internet. Примером такой службы сети Internet является служба, из которой пользователь может загрузить информацию содержимого, например, кинофильмы. За более подробной предварительной информацией по UPnP обращайтесь, например, к WO 2005/002139.

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

Одним таким стандартом является CEA-2014 (также известный как Web4CE), стандарт Ассоциации бытовой электроники (CEA). См., например, "Web4CE: Accessing Web-based Applications on Consumer Devices", W. Dees and P. Shrubsole, WWW 2007/Poster Paper, Topic: Systems, pp.1303-1304. Стандарт описывает web-протокол и формат содержимого на основе XHTML, называемый CE-HTML, для интерфейсов удаленного пользователя в сетях UPnP и сети Internet. CE-HTML основан на распространенных открытых языках сети Internet, например, Javascript 1.5, XHTML 1.0 и CSS TV Profile 1.0. CE-HTML описывает формат содержимого и семантику написания сценария для интерактивных услуг и определяет среду браузера, в которой размещаются и визуализируются эти услуги. Стандартизацию текущей версии CE-HTML, в основном, разрабатывают в двух организациях по стандартизации, а именно, в Ассоциации бытовой электроники (CEA) и в Открытом Форуме IPTV (Open IPTV Forum, OIPF). CEA-2014 имеет два основных применения: во-первых, он обеспечивает возможность потребителям удаленно управлять приложениями на других устройствах UPnP через домашнюю сеть UPnP. Во-вторых, он обеспечивает возможность потребителям взаимодействовать со Службами сети Internet или с web-приложениями с использованием бытовых устройств, которые соединены с сетью Internet. Взаимодействие пользователя может осуществляться с использованием только дистанционного пульта, клавиш или сенсорного экрана устройства, содержащего браузер, совместимый с CEA-2014, например, Мультимедийный адаптер, телевизор или мобильный телефон.

Как правило, web-браузер используется для визуализации электронного документа в формате HTML, но разработано много специализированных языков программирования для управления работой браузера через исполнимое содержимое, встроенное в документ HTML. Исполнимое содержимое добавляет, например, интерактивность и автоматизацию в браузер. Примерами этих специализированных языков программирования являются: ECMAScript, универсальный процедурный язык сценариев, внешне похожий на Java, язык Каскадные таблицы стилей (CSS), который обеспечивает возможность абстрагировать метаданные стиля от содержимого, XML, который может использоваться для содержимого вместе с метаданными стиля, в качестве альтернативы HTML, и XSLT, язык представления, который преобразует содержимое XML в новую форму. Разработаны способы, которые включают в себя написания сценария на комбинации языков JavaScript и XML для улучшения субъективного впечатления пользователя от быстроты реакции. Стандарт Объектная модель документов обеспечивает то, что все браузеры реагируют предсказуемым образом на идентичный JavaScript (Источник: Wikipedia). Кроме того, среда браузера может быть расширена дополнительным программным модулем для отображения внешнего содержимого и/или взаимодействия с ним, например, Adobe Flash. Внешнее содержимое может быть видимым или невидимым и может предлагать API для написания сценария, который может быть использован машиной обработки сценариев. Соответственно, web-браузер обеспечивает среду исполнения на стороне клиента для web-приложений и для исполнения сценариев, встроенных в электронный документ, например, загруженный из сервера. За более подробной предварительной информацией по написанию сценариев обращайтесь, например, к WO 2006/106414.

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

В статье "Secure Web scripting", V. Anupam and A. Mayer, Internet Computing IEEE Vol.2, issue 6, Nov/Dec 1998, pp. 46-55 рассматривается подробная модель механизма защиты. Предложенная модель была осуществлена для JavaScript в исходном коде браузера Mozilla. Она реализована "безопасным" интерпретатором и на основе трех основных стандартных блоков: управление доступом, независимость контекстов и доверительное управление. Управление доступом регулирует то, к каким данным сценарий может иметь доступ на машине пользователя, и в каком режиме. Независимость контекстов обеспечивает то, что два сценария, исполняющиеся в разных контекстах (например, одновременно в разных окнах браузера или последовательно в одном окне браузера) не могут иметь доступ к данным друг друга произвольно. Доверительное управление регулирует то, как устанавливается и прекращается доверие между сценариями, исполняющимися одновременно в разных контекстах. Разные пользователи требуют разной степени конфиденциальности и безопасности, которые преобразуются в разную степень гибкости при взаимодействии с Web-сервером. Эти различия могут быть выражены в разных, выбираемых пользователем, политиках безопасности. Выбранная политика безопасности предусматривает «войлочные» ячейки для сценариев. Посредством разделения пространства имен на недоступные, только для чтения и перезаписываемые элементы, управление доступом обеспечивает то, что сценарии имеют доступ только к тем частям данных, относящихся к окну и браузеру, которые не компрометируют конфиденциальность пользователя во время просмотра (браузинга). Политика безопасности также регулирует доступ к внешним интерфейсам. Кроме того, независимость контекстов обеспечивает то, что не существует "скрытых каналов" между сценариями в разных контекстах. Например, если перезаписываемый элемент продолжает существовать при всех изменениях контекста (как в настоящее время имеет место в JavaScript), то он может использоваться как невидимые для пользователя (хотя и непостоянные) данные типа "cookie", доступные для работающих совместно Web-сайтов. Данные, обеспеченные пользователем в первом контексте определенного окна (например, при заполнении формы в документе HTML этого контекста), доступны для сценариев во втором контексте, только если второй контекст находится в списке управления доступом (ACL) первого контекста. Сценарии в любом другом контексте, однако, не могут осуществить доступ к этим данным.

В документе WO2006/106414, упомянутом выше, рассматривается безопасность домена с объектами сценария. В этой публикации раскрыт способ обеспечения безопасности домена с объектами сценария. Способ включает в себя формирование исключительной ситуации, когда первый объект сценария с первым владельцем пытается получить доступ ко второму объекту сценария со вторым владельцем с формированием диалога со вторым владельцем, запрашивающим предоставление прав доступа ко второму объекту сценария, и выполняющим команды, предоставлены ли права доступа к первому объекту сценария второму объекту сценария (или нет). Причем упомянутые команды отвечают сформированному диалогу со вторым владельцем. Относительно термина "владелец": владельцем электронного документа является домен, который выпустил этот документ. Владельцем любого объекта, который представляет локальный ресурс, например, файл или базу данных клиента, является локальный пользователь. Как известно, исключительной ситуацией в этом контексте является возникновение условия, которое изменяет обычный поток исполнения программных команд. Машинный код, предназначенный для обработки исключительных ситуаций, называется "обработчик исключительных ситуаций".

Документ WO 2005/031568 относится к представлению удаленных и локальных услуг и информации в одном интерфейсе пользователя посредством web-браузера. Web-браузер содержит машину ECMAScript. Эта машина расширена модулем расширения ECMAScript (стандартизированная версия базового языка JavaScript), который обменивается информацией с "родной" средой устройства через библиотеку расширения ECMAScript. Это обеспечивает возможность среде ECMAScript быть расширенной новыми классами и методами, реализованными в собственном коде (довольно похожем на интерфейс Java Native Interface, JNI в Java). Машина ECMAScript и модуль расширения ECMAScript могут быть условно откомпилированы в сборку web-браузера на потенциально любой программной платформе. После создания сборки web-браузера с доступными функциональными возможностями расширения ECMAScript, среда ECMAScript может быть расширена посредством размещения специально написанной библиотеки расширения ECMAScript в определенном каталоге на электронном устройстве вместе с файлом полномочий, который задает то, какие Web-страницы имеют доступ к расширениям. Упомянутый файл также является важным по соображениям безопасности.

Сущность изобретения

Компании CE, операторы сети и провайдеры услуг в настоящее время разрабатывают стандарт для осуществления IPTV (Телевидение по IP-протоколу) и интерактивных web-услуг для подключенного телевизора. В этом контексте авторы изобретения рассматривают планы действий, в которых услуги, оказываемые провайдерами услуг в сети Internet, обеспечивают возможность фактически управлять устройствами UPnP в домашней сети. Авторы изобретения специально рассматривают вопросы конфиденциальности.

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

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

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

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

Более конкретно, один вариант осуществления изобретения относится к системе обработки данных, например, домашней сети, содержащей среду исполнения со средством машины обработки сценариев для исполнения сценария. Среда исполнения содержит, например, браузер, виртуальную машину Java, операционную систему и т.д. Средство машины обработки сценариев осуществляет общедоступную машину обработки сценариев и частную машину обработки сценариев. Среда исполнения сконфигурирована для исполнения сценария общедоступной машиной обработки сценариев, если сценарий не требует доступа к предварительно определенному ресурсу в системе, и частной машиной обработки сценариев, если сценарий требует доступа к этому предварительно определенному ресурсу. Предварительно определенный ресурс содержит, например, данные на накопителе на жестких дисках или в другой оперативной памяти системы обработки данных, которая находится за пределами обычной «песочницы» браузера или домашней сети UPnP. Только частная машина обработки сценариев имеет интерфейс (например, интерфейс прикладного программирования или API для написания сценариев) для предоставления возможности сценарию осуществить доступ к предварительно определенному ресурсу. Средство машины обработки сценариев сконфигурировано для предотвращения передачи данных частной машиной обработки сценариев в общедоступную машину обработки сценариев или на сервер, внешний по отношению к системе обработки данных, если такая передача информации не была подтверждена, или вообще передача информации на сервер не была подтверждена. Не существует распространения событий из одной машины обработки сценариев в другую.

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

В варианте осуществления изобретения средство машины обработки сценариев осуществляет общедоступную и частную машины обработки сценариев посредством наличия двух доступных машин обработки сценариев, причем каждая с соответствующими свойствами, перечисленными выше. Например, частная машина обработки сценариев может быть осуществлена как дополнительный программный модуль, например, к браузеру, который поддерживает XHTML и CSS, и специальный частный экземпляр машины ECMAScript, в котором отсутствуют какие-либо интерфейсы для передачи данных на неподтвержденные внешние серверы, в совместно используемое запоминающее устройство или общедоступную машину обработки сценариев. Машина ECMAScript браузера может функционировать как общедоступная машина обработки сценариев. Как известно, дополнительный программный модуль может использоваться для добавления API к существующему программному обеспечению. В качестве альтернативы, средство машины обработки сценариев содержит машину обработки сценариев, которая выборочно конфигурируется для одного из двух рабочих режимов: для общедоступного режима или для частного режима. В общедоступном режиме, машина обработки сценариев работает как общедоступная машина обработки сценариев, а в частном режиме машина обработки сценариев работает как частная машина обработки сценариев.

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

В первом способе сценарий имеет расширение имени файла, которое указывает на то, исполнять ли его на частной машине обработки сценариев. Расширение имени файла интерпретируется средой исполнения, которая после этого определяет то, какая из частной и общедоступной машин обработки сценариев должна быть активизирована. Например, в файле HTML на сценарий ссылаются посредством пути к нему, который включает в себя расширение имени файла сценария. Если сценарием является Javascript, то он может иметь расширение имени файла ".js" или ".xjs", в зависимости от контекста, в котором должен быть исполнен этот сценарий. Если расширением имени файла является ".js", то среда исполнения интерпретирует это как то, что исполнять этот сценарий должна общедоступная машина обработки сценариев. Если расширением имени файла является ".xjs", то среда исполнения интерпретирует это как то, что исполнять сценарий должна частная машина обработки сценариев.

Во втором способе сценарий встроен в другой исполняемый файл, или на него ссылаются из другого исполняемого файла, в котором существует явный оператор, задающий то, что для исполнения сценария должна быть активизирована частная машина обработки сценариев. Явный оператор может содержать оператор описания, например, элемент сценария XHTML с атрибутом типа, задающим то, какая машина обработки сценариев должна использоваться для интерпретации сценария, или специализированный процедурный оператор, например, "switchToPrivateModeO" или "privateScript.run(сценарий)" внутри сценария.

В третьем способе сценарий встроен в оператор, или на него ссылаются посредством оператора, в другом исполняемом файле, который неявно требует активизации частной машины обработки сценариев для исполнения встроенного сценария или сценария, на который ссылаются. Этот оператор может быть, например, элементом <object> HTML, задающим тип MIME, который ассоциируется с предварительно определенным ресурсом. Например, с предположением того, что дополнительный программный модуль среды исполнения, ассоциированный с управлением домашней сетью UPnP, идентифицирован типом MIME "application/upnpcontrol", исполняемый файл, включающий в себя элемент object HTML этого типа MIME, неявно задает то, что встроенный сценарий или сценарий, на который ссылаются, должен исполняться в частной машине обработки сценариев. Другой тип оператора, который неявно задает необходимость активизации частной машины обработки сценариев, содержит вызов функции или метода, которые поддерживаются только в контексте частной машины обработки сценариев. Например, с предположением того, что "readHDDContents()" поддерживается на предварительно определенном ресурсе только частной машиной, вхождение оператора "readHDDContents" в файл неявно сигнализирует о необходимости выполнения дальнейшего исполнения этого файла в частной машине.

Вышеупомянутые варианты осуществления изобретения относятся к системе обработки данных. Эти варианты осуществления имеют коммерческое отношение к производителям телевизионных приемников, производителям PC, производителям телевизионных приставок и т.д.

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

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

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

Краткое описание чертежа

Более подробно изобретение поясняется на примере и со ссылкой на прилагаемый чертеж, в котором фиг.l - блок-схема системы согласно изобретению.

Подробные варианты осуществления

Как правило, web-браузер используется для визуализации электронного документа в формате HTML, но разработано много специализированных языков программирования для управления работой браузера через исполнимое содержимое, встроенное в страницу HTML. Исполнимое содержимое добавляет, например, интерактивность и автоматизацию в браузер. Примерами этих специализированных языков программирования являются: ECMAScript, универсальный процедурный язык сценариев, внешне похожий на Java, язык Каскадные таблицы стилей (CSS), который обеспечивает возможность абстрагировать метаданные стиля от содержимого, XML, который может использоваться для содержимого вместе с метаданными стиля, в качестве альтернативы HTML, и XSLT, язык представления, который преобразует содержимое XML в новую форму. Разработаны способы, которые включают в себя написание сценария на комбинации языков JavaScript и XML для улучшения субъективного впечатления пользователя от быстроты реакции. Стандарт Объектная модель документов обеспечивает то, что все браузеры реагируют предсказуемым образом на идентичный JavaScript (Источник: Wikipedia). Соответственно, web-браузер обеспечивает среду на стороне клиента для web-приложений и для исполнения сценариев, встроенных в электронный документ, например, загруженный из сервера. За более подробной предварительной информацией по написанию сценариев обращайтесь, например, к вышеупомянутому документу WO 2006/106414.

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

Фиг.l является блок-схемой системы 100 согласно изобретению. Система 100 содержит систему 102 обработки данных, в этом описании также называемую клиентом 102, с сетевым интерфейсом 104 для обмена данными с сервером 106 через сеть 108 данных. Клиент 102 является, например, персональным компьютером, телевизионной приставкой, домашней сетью и т.д. Клиент 102 содержит среду 110 исполнения, например, браузер, операционную систему или виртуальную машину Java. В среде исполнения 110 существует средство машины обработки сценариев для исполнения сценария. Например, среда 110 исполнения содержит браузер, и сценарий принимается в электронном документе HTML, например, поставляемом сервером 106, или поставляемом через USB-драйв или через PC. Средство машины обработки сценариев осуществляет общедоступную машину 112 обработки сценариев и частную машину 114 обработки сценариев. Среда 110 исполнения сконфигурирована для исполнения сценария общедоступной машиной 112 обработки сценариев, если сценарий не требует доступа к предварительно определенному ресурсу в клиенте 102, например, к данным за пределами обычной «песочницы» (браузера) на накопителе на жестких дисках (HDD) 124 или в домашней сети 126 UPnP. Среда 110 исполнения сконфигурирована для исполнения сценария частной машиной 114 обработки сценариев, если сценарий требует доступа к предварительно определенному ресурсу 124 или 126. Есть несколько способов осуществления этого выборочного выполнения, что также обсуждается ниже, но на этот раз с предположением того, что среда 110 исполнения соответственно сконфигурирована.

Если сценарий не требует доступа к данным на HDD 124 за пределами обычной «песочницы» (браузера) или в домашней сети 126 UPnP, то сценарий исполняется машиной 112 обработки сценариев. Например, сценарий, задающий анимацию web-ресурса на web-странице, визуализированной в браузере, не требует доступа к HDD 124 или домашней сети 126 UPnP с этой целью.

Если сценарий требует доступа к данным на HDD 124 за пределами обычной «песочницы» (браузера) или к данным в домашней сети 126 UPnP, то сценарий исполняется частной машиной 114 обработки сценариев. Например, сценарий сканирует содержимое мультимедиа и управляет этим содержимым, которое хранится на UPnP MediaServer в домашней сети.

Общедоступная машина 112 обработки сценариев не имеет интерфейса, например, интерфейса прикладного программирования (API) для написания сценариев, с приложением 122, которое взаимодействует с данными за пределами обычной «песочницы» браузера на HDD 124, или с точкой 128 управления UPnP, которая взаимодействует с домашней сетью 126 UPnP. Частная машина обработки сценариев 114, с другой стороны, имеет API 120 для написания сценариев с приложением 122, которое может иметь доступ к HDD 124, и API 130 для написания сценариев, который может иметь доступ к домашней сети 126 UPnP. Частная машина 114 обработки сценариев предотвращает обмен данными с сервером 106, если этот обмен информацией с сервером 106 не был подтвержден, тогда как общедоступная машина обработки сценариев имеет интерфейс для обмена информацией (не изображен), который не делает этого различия.

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

Схема по фиг.1 иллюстрирует план действий, в котором общедоступная машина 112 обработки сценариев и частная машина 114 обработки сценариев осуществлены как отдельные машины обработки сценариев. Например, частная машина 114 обработки сценариев осуществлена как дополнительный программный модуль, например, к браузеру, который поддерживает XHTML и CSS, и специальный частный экземпляр машины ECMAScript, предотвращающий неподтвержденную передачу данных на внешний сервер 106, и в котором отсутствуют какие-либо интерфейсы для передачи данных в совместно используемое запоминающее устройство, например, данные типа "cookie", или в общедоступную машину 112 обработки сценариев. Машина ECMAScript браузера может функционировать как общедоступная машина 112 обработки сценариев. Как известно, дополнительный программный модуль может использоваться для добавления API к существующему программному обеспечению. Для полноты, данные типа "cookie" рассматриваются как постоянное совместно используемое запоминающее устройство внутри «песочницы» (браузера) для услуг, которые происходят из идентичного домена.

В одном варианте осуществления изобретения, сценарий, который принимается средой 110 исполнения, направляется по умолчанию в общедоступную машину 112 обработки сценариев для исполнения, за исключением случая, когда среда исполнения может определить, например, посредством расширения имени файла сценария или анализа сценария, соответствующую одну из машин 112 и 114 обработки сценариев, которая должна быть использована для исполнения сценария. Общедоступная машина 112 обработки сценариев сконфигурирована для условной пересылки сценария в частную машину 114 обработки сценариев, если, например, сценарий включает в себя явный оператор с запросом исполнения в частной машине 114 обработки сценариев. Среда 110 исполнения интерпретирует расширение имени файла и определяет на его основе то, в какой из машин 112 и 114 обработки сценариев должен быть исполнен этот сценарий.

Например, в файле HTML на сценарий ссылаются посредством пути к нему, который включает в себя расширение имени файла сценария. Если сценарием является Javascript, то он может иметь расширение имени файла ".js" или ".xjs". Если расширением имени файла является ".js", то среда 110 исполнения определяет то, что исполнять этот сценарий должна общедоступная машина 112 обработки сценариев. Если расширением имени файла является ".xjs", то среда 110 исполнения интерпретирует это как то, что сценарий должна исполнять частная машина 114 обработки сценариев, и пересылает сценарий в частную машину 114 обработки сценариев для исполнения. Среда 110 исполнения может использовать это как триггер для переключения режимов так, чтобы все сценарии, которые включены в файл HTML, и/или на которые он ссылается (в том числе файлы.js, которые были ранее загружены), исполнялись в частной машине 114 обработки сценариев, вместо общедоступной машины 112 обработки сценариев.

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

В качестве еще одного примера, объект (в контексте объектно-ориентированного программирования), представляющий сценарий, задается его типом или классом. Тип, объявленный в сценарии, указывает на то, использует ли он HDD 124 или домашнюю сеть 126 UPnP. Если тип указывает на то, что сценарий является приложением, которое выполняется в домашней сети 126 UPnP или использует API 130 с домашней сетью 126 UPnP, то общедоступная машина 112 обработки сценариев пересылает, через односторонний интерфейс, сценарий в частную машину 114 обработки сценариев для исполнения этого сценария. Это происходит потому, что тип или класс предопределены или предварительно сконфигурированы уязвимыми в отношении конфиденциальности и, следовательно, неявно требуют активизации частной машины 114 обработки сценариев для исполнения встроенного сценария или сценария, на который ссылаются. Этот оператор может быть, например, элементом object HTML, задающим тип MIME, который ассоциируется с предварительно определенным ресурсом. Например, с предположением того, что дополнительный программный модуль среды исполнения, ассоциированный с управлением домашней сетью UPnP, идентифицирован типом MIME "application/upnpcontrol", исполняемый файл, включающий в себя элемент <object> HTML этого типа MIME, неявно задает то, что встроенный сценарий или сценарий, на который ссылаются, должен исполняться в частной машине 114 обработки сценариев. Другой тип оператора, который неявно задает необходимость активизации частной машины 114 обработки сценариев, содержит вызов функции или метода, которые поддерживаются только в контексте частной машины обработки сценариев 114. Например, с предположением того, что "readHDDContents()" поддерживается на предварительно определенном ресурсе только частной машиной 114, вхождение оператора "readHDDContents" в файл неявно сигнализирует о необходимости выполнения дальнейшего исполнения этого файла в частной машине 114 обработки сценариев.

Соответственно, вследствие особенности возможностей передачи данных машин 112 и 114 обработки сценариев, если такая передача не была одобрена, то уязвимые в отношении конфиденциальности данные, находящиеся в ресурсах 124 или 126 клиента 102, не могут стать доступными серверу 106 через сценарий, обеспечиваемый внешним поставщиком, например, в электронном документе html, извлеченном из сервера 106 и визуализированном в браузере 110. Если сценарий исполняется машиной 112, то не существует доступа к предварительно определенным ресурсам 124 и 126. Если сценарий исполняется машиной 114, то он имеет доступ к предварительно определенным ресурсам 124 и 126. Однако не существует способа передачи данных, извлеченных из ресурсов 124 и 126, на сервер 106, если такая передача не была подтверждена, вследствие того, что интерфейс для этой цели допускает пер