RU2352986C2 - Динамическая подстановка данных usb для оперативного шифрования/расшифровки - Google Patents

Динамическая подстановка данных usb для оперативного шифрования/расшифровки Download PDF

Info

Publication number
RU2352986C2
RU2352986C2 RU2004113565/09A RU2004113565A RU2352986C2 RU 2352986 C2 RU2352986 C2 RU 2352986C2 RU 2004113565/09 A RU2004113565/09 A RU 2004113565/09A RU 2004113565 A RU2004113565 A RU 2004113565A RU 2352986 C2 RU2352986 C2 RU 2352986C2
Authority
RU
Russia
Prior art keywords
data
usb
protected component
signal
protection unit
Prior art date
Application number
RU2004113565/09A
Other languages
English (en)
Other versions
RU2004113565A (ru
Inventor
Кеннет РЭЙ (US)
Кеннет РЭЙ
Теодор КЕЛ (US)
Теодор КЕЛ
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2004113565A publication Critical patent/RU2004113565A/ru
Application granted granted Critical
Publication of RU2352986C2 publication Critical patent/RU2352986C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • G06F21/725Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Abstract

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

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Изобретение относится к способам и системам для защиты цифровых данных и, в частности, к способам и системам для защиты цифровых данных, передаваемых с использованием протокола и архитектуры универсальной последовательной шины (USB) или аналогичных протокола и архитектуры.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
В вычислительной системе периферийные и другие устройства могут быть подсоединены к вычислительной системе посредством шины, например шины USB. Вычислительная система, использующая шину USB, должна содержать уровень программного обеспечения USB, который будет взаимодействовать с приложениями и служить для передачи данных из центрального главного вычислительного устройства в периферийные устройства и получения данных из них.
Уровень программного обеспечения USB поддерживает базовые аппаратные средства USB. Уровень программного обеспечения USB является комплексным и гибким для поддержания обмена данными по USB. Уровень программного обеспечения USB, предпочтительно, поддерживает драйверы нескольких независимых производителей аппаратных средств и должен оставаться сменным. Следовательно, уровень программного обеспечения USB может часто изменяться для соответствия требованиям, например изменениям в аппаратных средствах, или другим обновлениям. Дополнительно существует большое количество различных доступных аппаратных элементов USB, и уровень программного обеспечения USB, предпочтительно, может поддерживать эту множественность опций.
Так как данные по шине USB передаются через уровень незащищенного программного обеспечения USB и эти данные доступны также для любого устройства на шине, защита представляет существенный интерес. Например, вычислительная модель может содержать защищенный компонент, программный или аппаратный, которому требуется передать данные по шине USB. Однако для простоты, гибкости и возможности усовершенствования предпочтительно, чтобы уровень программного обеспечения USB не являлся частью этого защищенного программного компонента. Однако если уровень программного обеспечения USB не является частью защищенного программного компонента, то защита, реализуемая в защищенном программном компоненте, подвергается опасности.
Программная или аппаратная атака (попытка проникновения в защищенную систему) может сделать систему уязвимой. Например, атакующий может фальсифицировать входные данные устройства из аппаратного устройства, чтобы информация, набираемая пользователем на клавиатуре, не передавалась приложению, для которого она предназначена. Атакующий также может получить информацию о входных данных устройства, например, запоминая нажатые пользователем клавиши для захвата пароля или другой информации о данных. При атаках в компьютере также возможны запись, изменение или воспроизведение входных данных.
Если в вычислительной системе работает защищенное программное обеспечение, то связь с устройствами USB должна проходить через шину и незащищенное программное обеспечение USB. Такие устройства часто необходимы для отображения данных для пользователя и ввода данных пользователем. Следовательно, для того чтобы защищенное программное обеспечение было защищенным, также должны быть защищены входные данные и выходные данные защищенного программного обеспечения. Если для защищенного программного обеспечения не существует защищенного маршрута к пользователю, то защищенное программное обеспечение не может получить информацию о том, что действие, которое оно предпринимает, фактически осуществляется от имени пользователя. Во-первых, атакующий мог сфабриковать входные данные пользователя (входные данные, исходящие не от пользователя и, следовательно, не отражающие намерения пользователя), обманным путем вводя защищенное программное обеспечение в режим, который не был предусмотрен законным пользователем. Во-вторых, если выходные данные высоконадежного программного обеспечения не проходят к пользователю непосредственно через защищенный маршрут, то законный пользователь не имеет никакой гарантии, что он фактически видит реальные выходные данные защищенного программного обеспечения. Однако протокол USB является стандартом промышленности средств вычислительной техники, и модификация архитектуры или протокола USB для обеспечения защиты ликвидировала бы преимущества использования широко доступной и широко реализуемой архитектуры.
Следовательно, существует потребность в способе, обеспечивающем преимущества связи USB и совместимости с существующими устройствами и системами USB, при этом обеспечивая более совершенную защиту.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение обеспечивает средство шифрования/расшифровки в блоке защиты, который обеспечивается для устройства USB. В частности, настоящее изобретение обеспечивает связь между устройством и защищенным компонентом, такую как передача команд, запрашивающих данные из устройства, передача данных, возвращаемых указанным устройством обратно в систему, и передача команд установки для конфигурирования устройства для осуществления защищенной обработки даже там, где указанные команды и данные для достижения защищенного компонента проходят через незащищенные аппаратные средства и/или программное обеспечение.
Шифрование/расшифровка может быть обеспечено в физически отдельном устройстве, например, в аппаратном элементе ("защитной заглушке"), размещенном в соединительном проводе между устройством USB и главным вычислительным устройством, или в аппаратных средствах, через которые подключается устройство USB, или в виде отдельного устройства, через которое подключается немодифицированное устройство USB. В виде варианта средства шифрования/расшифровки могут быть встроены в устройство, например клавиатура с встроенным аппаратным шифрованием/расшифровкой, или интегрированы в функциональные возможности концентратора восходящего потока данных.
Устройство может иметь несколько конечных точек, соответствующих различным функциональным частям устройства. Вследствие этого в одном варианте осуществления защитная заглушка управляет защитой для всех интерфейсов и всех конечных точек устройства.
Согласно одному варианту осуществления изобретения, когда устройство USB принимает полезную нагрузку для передачи к защищенному компоненту, например пакет HID (драйвера интерфейса с пользователем), такой как обусловленный нажатием клавиши или нажатием кнопки мыши, полезная нагрузка передается из восходящего потока данных устройства в защитную заглушку в нешифрованном виде, шифруется в защитной заглушке и в шифрованном виде передается в главное вычислительное устройство. Подстановка шифрованной полезной нагрузки прозрачна для главного контроллера USB и для устройства.
Дополнительно, для обеспечения указанной прозрачности, защитная заглушка предотвращает все несанкционированные пакеты установки SETUP из системы в устройство. До разрешения защитной заглушкой передачи устройству какой-либо команды установки SETUP защищенное программное обеспечение передает в защитную заглушку "подписанную" команду разрешения ALLOW. И только после приема защитной заглушкой команды разрешения ALLOW, она разрешает только заданную конкретную команду установки SETUP. Следовательно, когда требуется выполнить команду установки SETUP, передается предварительная команда разрешения ALLOW с данными, содержащими данные команды установки и шифрованной версией данных команды установки. Когда данные проверены (например, при подтверждении подписи команды разрешения ALLOW защищенным программным обеспечением, в одном варианте осуществления посредством добавления результата хэширования с использованием секретной информации, используемой совместно защитной заглушкой и защищенным программным обеспечением), защитная заглушка разрешает команду установки SETUP, адресованную конечной точке, с соответствующими данными команды, которые должны быть переданы к конечной точке и выполнены в ней.
Когда защищенному приложению требуется запросить данные из защищенной конечной точки, защищенное приложение для передачи запроса к конкретной конечной точке использует стандартным способом системное программное обеспечение USB. Однако защитная заглушка изменяет способ прохождения маркера этого запроса к конечной точке и способ возвращения данных к главному системному программному обеспечению следующим образом: когда системное программное обеспечение USB передает маркер конечной точке, маркер перехватывается блоком защиты. Блок защиты передает маркер в устройство, но в главное вычислительное устройство передает NAK (сигнал отсутствия подтверждения приема данных). Когда устройство отвечает на опрос данными, блок защиты сохраняет эти данные и шифрует их. Когда блок защиты обнаруживает повторный опрос для устройства и конечной точки, блок защиты «уничтожает» запрос. («Уничтожение» является термином, который в отношении функционирования USB означает, что данные передаются так, чтобы указывать ошибку при передаче.) В виде ответа на второй опрос блок защиты передает шифрованные данные и когда главное вычислительное устройство подтверждает прием данных посредством сигнала ACK (сигнала подтверждения приема данных), оно проходит через блок защиты в устройство.
Когда защищенному варианту осуществления требуется передать данные в защищенное устройство, сначала он передает запрос непосредственно в блок защиты. В блок защиты передается маркер разрешения ALLOW. Как часть этого пакета, передается команда (такая как команда установки SETUP, которая содержит команду для устройства USB) в качестве данных маркера разрешения ALLOW. Блок защиты проверяет команду разрешения ALLOW для определения того, что она поступила от защищенного программного обеспечения и сохраняет эти данные. Затем когда в блок защиты передается новый маркер команды, если этот маркер команды соответствует маркеру команды, переданной в виде данных в команде разрешения ALLOW, то в устройство передается команда установки. Остальная часть протокола установки SETUP продолжается на шине USB нормальным образом. Если команда установки SETUP не соответствует ранее полученной команде разрешения ALLOW, то защитная заглушка уничтожает команду установки SETUP до ее завершения.
Ниже описаны другие аспекты настоящего изобретения.
ПЕРЕЧЕНЬ ФИГУР ЧЕРТЕЖЕЙ
Далее описан блок защиты в соответствии с настоящим изобретением согласно приложенным чертежам.
Фиг.1 - структурная схема, представляющая вычислительную систему, в которой может быть реализовано настоящее изобретение.
Фиг.2 - структурная схема, представляющая вычислительную систему, содержащую компьютер и другие устройства, присоединенные посредством USB, в которой может быть реализовано настоящее изобретение.
Фиг.3(А) - структурная схема, представляющая вычислительную систему, содержащую защитную заглушку и интегрированный блок защиты, согласно одному варианту осуществления изобретения.
Фиг.3(B) - структурная схема, представляющая вычислительную систему, содержащую защитную заглушку и интегрированный блок защиты, согласно другому варианту осуществления изобретения.
Фиг.4 - блок-схема последовательности операций, иллюстрирующая транзакцию ввода IN, согласно одному варианту осуществления изобретения.
Фиг.5 - блок-схема последовательности операций, иллюстрирующая транзакцию установки SETUP, согласно одному варианту осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЛЛЮСТРАТИВНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Иллюстративная вычислительная среда
Фиг.1 иллюстрирует возможный вариант соответствующей среды 100 вычислительной системы, в которой может быть реализовано изобретение. Среда 100 вычислительной системы является только одним возможным вариантом соответствующей вычислительной среды и не предназначена для наложения каких-либо ограничений на область использования или функциональные возможности изобретения. Также вычислительная среда 100 не должна интерпретироваться, как зависимая от любого компонента или комбинации компонентов, иллюстрируемых возможной средой 100.
Для знающих технику очевидно, что компьютер или другое устройство-клиент или устройство-сервер может использоваться как часть вычислительной сети или в распределенной вычислительной среде. В этом отношении настоящее изобретение относится к любой вычислительной системе, имеющей любое количество модулей памяти или запоминающих устройств и любое количество приложений и процессов, осуществляемых по любому количеству запоминающих устройств или томов, которые могут использоваться в связи с настоящим изобретением. Настоящее изобретение может быть применено к среде с компьютерами-серверами и компьютерами-клиентами, развернутыми в сетевой среде или распределенной вычислительной среде, имеющей удаленное или локальное запоминающее устройство. Настоящее изобретение также может быть применено к автономным вычислительным устройствам, имеющим возможности интерпретации, выполнения и функциональности языка программирования для формирования, приема и передачи информации при соединении с удаленными или локальными службами.
Изобретение может использоваться в отношении некоторых других конфигураций и сред вычислительных систем общего и специального назначения. Возможные варианты широко известных вычислительных систем, сред и/или конфигураций, которые могут быть использованы в связи с настоящим изобретением, включают в себя, например, персональные компьютеры, компьютеры-серверы, портативные или переносные вычислительные устройства, многопроцессорные системы, системы, основанные на микропроцессорах, компьютерные приставки, программируемую бытовую электронику, сетевые персональные компьютеры (PC), миникомпьютеры, универсальные компьютеры (мейнфреймы), распределенные вычислительные среды, содержащие любые из указанных систем или устройств и т.д.
Изобретение может быть описано в основном контексте машиноисполняемых инструкций, таких как программные модули, выполняемые компьютером. По существу, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., выполняющие конкретные задачи или реализующие определенные абстрактные типы данных. Изобретение может быть осуществлено практически также в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки данных, связанными через сеть связи или другую среду передачи информации. В распределенной вычислительной среде программные модули и другие данные могут быть размещены в носителях информации локальных и удаленных компьютеров, включая запоминающие устройства. Распределенные вычислительные средства совместно используют вычислительные ресурсы и услуги посредством непосредственного обмена между вычислительными устройствами и системами. Эти ресурсы и услуги включают в себя обмен информацией, кэш и накопитель на дисках для файлов. Распределенная обработка данных обладает преимуществом связности узлов в сети, обеспечивающей клиентам возможность усиливать их общую мощность для общего выигрыша. В этом отношении многие устройства могут иметь приложения, объекты или ресурсы, которые могут использовать устройство и способ, обеспечиваемые настоящим изобретением.
Согласно фиг.1 возможная система для реализации изобретения содержит универсальное вычислительное устройство в виде компьютера 110. Компоненты компьютера 110 могут содержать, в частности, процессор 120, системную память 130 и системную шину 121, соединяющую различные компоненты системы, включая системную память, с процессором 120. Системная шина 121 может относиться к любому из нескольких типов структур шины, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, используя любую из многих архитектур шины. В качестве примера, но не ограничения, такие архитектуры включают шину архитектуры, соответствующей промышленному стандарту (ISA), шину микроканальной архитектуры (MCA), расширенную шину ISA (EISA), локальную шину Ассоциации по стандартам в области видеоэлектроники (VESA) и шину межсоединения периферийных компонентов (PCI) (также известную как мезонинная шина) и т.д.
Компьютер 110 обычно содержит несколько машиночитаемых носителей информации. Машиночитаемый носитель информации может быть любым доступным носителем информации, к которому может осуществить доступ компьютер 110, и включает в себя энергозависимый и энергонезависимый носитель информации, съемный и несъемный носитель информации. В качестве примера, но не ограничения, машиночитаемый носитель информации может включать носитель информации компьютера и среду передачи данных. Носитель информации компьютера включает в себя энергозависимый и энергонезависимый, съемный и несъемный носитель информации, реализованный любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Носитель информации компьютера включает в себя, в частности, оперативное запоминающее устройство (RAM, ОЗУ), постоянное запоминающее устройство (ROM, ПЗУ), электрически-стираемое программируемое ПЗУ (EEPROM), флэш-память или память другой технологии, ПЗУ на компакт-диске (CD-ROM), универсальные цифровые диски (DVD) или другой оптический дисковый накопитель на дисках, магнитные кассеты, магнитную ленту, магнитный дисковый накопитель или другие магнитные запоминающие устройства, либо любой другой носитель, который может использоваться для хранения необходимой информации и к которому может осуществить доступ компьютер 110. Среда передачи данных обычно воплощает машиночитаемые инструкции, структуры данных, программные модули или другие данные в сигнале, модулированном данными, например, сигнала несущей или другом механизме переноса информации, и включает в себя любую среду доставки информации. Термин «сигнал модулированный данными» означает сигнал, который имеет одну или большее количество из его характеристик, установленных или измененных таким образом, чтобы обеспечить кодирование информации в сигнале. В качестве примера, но не ограничения, среда передачи данных включает в себя проводную среду, такую как проводная сеть или прямое кабельное соединение, и беспроводную среду, такую как акустическая, радиочастотная, инфракрасная и другая беспроводная среда и т.д. Комбинации любых упомянутых выше сред также должны быть включены в контекст машиночитаемых носителей информации.
Системная память 130 включает в себя носитель информации компьютера в виде энергозависимой и/или энергонезависимой памяти, например постоянное запоминающее устройство (ПЗУ) 131 и оперативное запоминающее устройство (ОЗУ) 132. Базовая система 133 ввода/вывода (BIOS), содержащая базовые процедуры, способствующие передаче информации между элементами внутри компьютера 110, например, используемые при запуске, в основном, хранится в ПЗУ 131. ОЗУ 132, в основном, содержит данные и/или программные модули, к которым можно осуществить доступ немедленно и/или которыми в текущее время оперирует процессор 120. В качестве примера, но не ограничения, фиг.1 изображает операционную систему 134, прикладные программы 135, другие программные модули 136 и данные 137 программ.
Компьютер 110 также может содержать другие съемные/несъемные, энергозависимые/энергонезависимые носители информации компьютера. Исключительно в качестве примера фиг.1 изображает накопитель 141 на жестких магнитных дисках, осуществляющий считывание с несъемного, энергонезависимого магнитного носителя информации или запись на него, дисковой 151 для магнитного диска, который осуществляет считывание со съемного энергонезависимого магнитного диска 152 или запись на него, и дисковой 155 для оптического диска, который осуществляет считывание со съемного энергонезависимого оптического диска 156, например компакт-диска или другого оптического носителя информации, или запись на него. Другие съемные/несъемные, энергозависимые/энергонезависимые носители информации компьютера, которые могут быть использованы в возможной операционной среде, включают в себя кассеты на магнитной ленте, карточки флэш-памяти, универсальные цифровые диски, цифровую видеомагнитофонную ленту, твердотельное ОЗУ, твердотельное ПЗУ и т.д. Накопитель 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 посредством интерфейса 160 пользовательского ввода данных, подсоединенного к системной шине, но они могут быть соединены с процессором посредством другого интерфейса и других структур шины, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Также к системной шине 121 посредством интерфейса, такого как видеоинтерфейс 190, может быть подсоединен монитор 191 или другой тип устройства отображения. В дополнение к монитору 191 компьютеры могут также содержать другие периферийные устройства вывода, например громкоговорители 197 и принтер 196, которые могут быть подсоединены посредством периферийного интерфейса 195 для вывода.
Компьютер 110 может функционировать в среде с сетевой структурой, используя логические соединения с одним или большим количеством удаленных компьютеров, например удаленным компьютером 180. Удаленный компьютер 180 может быть персональным компьютером, сервером, маршрутизатором, сетевым PC, одноранговым устройством или другим узлом общей сети и обычно содержит многие или все элементы, описанные выше в отношении компьютера 110, хотя фиг.1 изображает только запоминающее устройство 181. Логические соединения, иллюстрируемые фиг.1, включают в себя локальную сеть связи (LAN, ЛС) 171 и глобальную сеть связи (WAN, ГС) 173, но могут также включать в себя другие сети связи. Такие сетевые среды часто используются в офисах, вычислительных сетях масштаба предприятия, сетях интранет (корпоративных локальных сетях повышенной надежности с ограниченным доступом) и в сети Интернет.
При использовании в сетевой среде ЛС компьютер 110 соединяется с ЛС 171 посредством сетевого интерфейса или адаптера 170. При использовании в сетевой среде ГС компьютер 110 обычно содержит модем 172 или другое средство для установления связи через ГС 173, такую как Интернет. Модем 172, который может быть внутренним или внешним, может быть подсоединен к системной шине 121 посредством пользовательского интерфейса 160 для ввода данных или другого соответствующего механизма. В среде с сетевой структурой программные модули, указанные в отношении компьютера 110, или их части, могут храниться в удаленном запоминающем устройстве. В качестве примера, но не ограничения, фиг.1 изображает удаленные прикладные программы 185, как размещенные на запоминающем устройстве 181. Ясно, что изображенные сетевые соединения являются возможным вариантом и могут быть использованы другие средства установления линии связи между компьютерами.
Протокол USB
Архитектура USB обеспечивает способ соединения и взаимодействия устройств с главным вычислительным устройством. Например, согласно фиг.2, универсальная последовательная шина (USB) может использоваться для подсоединения к компьютеру 110 мыши 161, клавиатуры 162, графического планшета 163, громкоговорителей 197, микрофона 164, телефона 165 и монитора 191. Архитектура USB обеспечивает возможность соединений между одним или большим количеством устройств USB и одним главным вычислительным устройством USB. По существу, при такой конфигурации компьютер 110 является главным вычислительным устройством USB.
Используемая физическая схема соединения имеет звездообразную топологию. На звездообразную топологию для предотвращения зацикливаний накладывается поярусный порядок. В результате получается древовидная топология, изображенная на фиг.2. Концентратор находится в центре каждой звезды. Главное вычислительное устройство USB является одним концентратором. Устройства USB, обладающие соответствующими функциональными возможностями, также могут быть концентраторами. Например, на фиг.2, клавиатура 162 и монитор 191 являются устройствами, каждое из которых также функционирует как концентратор. В топологии USB также возможны концентраторы без каких-либо отдельных функциональных возможностей.
Дополнительно несколько функций могут быть объединены вместе в том, что фигурирует как отдельное физическое устройство. Например, клавиатура и указательное устройство (например, шаровой манипулятор) могут быть скомбинированы вместе в одном комплекте. Когда в отдельном комплекте несколько функций объединяется с концентратором, они определяются как составное устройство. Концентратору и каждой присоединенной к нему функции внутри составного устройства назначен собственный адрес устройства. Например, в клавиатуре 162 концентратор и функциональные возможности клавиатуры будут иметь отдельные адреса устройства.
Главное вычислительное устройство содержит интерфейс USB к главной вычислительной системе, известный как главный контроллер 167. Главный контроллер 167 и системное программное обеспечение USB обеспечивают интерфейс в сети USB и главном персональном компьютере между устройством и специальным программным обеспечением, управляющим этим устройством. Главный контроллер 167 управляет всеми доступами к ресурсам USB для передачи и приема всех пакетов в эти устройства и от них. Системное программное обеспечение совместно с корневым концентратором и любыми дополнительными концентраторами USB отслеживает топологию шины и управляет всей адресацией устройств и маршрутизацией данных из клиентского программного обеспечения, использующего устройство, и непосредственно устройством. Когда клиентскому программному обеспечению на главном вычислительном устройстве требуется связаться с некоторым устройством USB, оно это делает посредством взаимодействия с системным программным обеспечением USB. Системное программное обеспечение USB взаимодействует с главным контроллером 167. Главный контроллер 167 через шину USB передает и принимает сигналы к устройству USB и конечным точкам в устройстве, а также от них. Между главным контроллером 167 и устройством USB может находиться один или большее количество концентраторов. В устройстве USB сигналы принимает уровень интерфейса USB. Этот уровень передает сформированные данные в устройство, которое направляет данные к различным конечным точкам в устройстве и от них. Интерфейсы, которые состоят из конечных точек, обеспечивают функциональные возможности. В некоторых случаях указанные интерфейсы группируются совместно в «функции», например функция громкоговорителя у громкоговорителя 197 или функция клавиатуры у клавиатуры 162 или две функции единого устройства, содержащего клавиатуру и мышь.
Все устройства USB представляют стандартный интерфейс USB в терминах охвата ими протокола USB, их реакции на стандартные операции USB и их описательной информации стандартных возможностей. Эти интерфейсы в основном определены органом Стандартизации Рабочей Группы по устройствам USB, хотя также могут быть определены специализированные интерфейсы конкретного производителя.
Шина, изображенная на фиг.2 в виде линий, соединяющих объекты, является шиной с последовательным опросом. Компьютер 110, через главный контроллер 167, инициирует все передачи данных. Одним таким видом передачи является передача прерывания. Передача прерывания используется для небольшого объема данных, непериодических, низкочастотных и с ограниченным временем ожидания (латентностью). Передачи прерывания обеспечивают гарантированный максимальный период обслуживания для соединения и повторяют попытку передачи в следующем периоде. Например, с использованием этого вида передачи USB реализуется опрос клавиатуры на предмет нажатий клавиш.
Транзакция USB начинается, когда приложение в главном вычислительном устройстве запрашивает у главного контроллера 167 передачу к устройству или из устройства. Главный контроллер 167 посылает пакет USB, описывающий вид и направление транзакции, адрес устройства USB и номер конечной точки. Указанный пакет является «пакетом-маркером». Каждое устройство USB определено адресом USB, который назначается при присоединении устройства к главному контроллеру 167 и осуществляемой при этом нумерации. Каждое устройство USB использует информацию адреса, включенную в маркер, для определения того, является ли оно адресатом маркера, переданного главным вычислительным устройством. Номер конечной точки определяет конечную точку и, следовательно, интерфейс, в котором постоянно размещена указанная конечная точка (или, другими словами, функцию) устройства USB, к которому направлена передача.
Затем, в фазе пакета данных, данные передаются из конечной точки в главное вычислительное устройство или из главного вычислительного устройства в конечную точку в соответствии с инструкциями в маркерном пакете. Если маркер является маркером ввода IN, то главное вычислительное устройство запрашивает информацию из конечной точки. Если маркер является маркером вывода OUT, то главное вычислительное устройство указывает, что оно будет передавать информацию к конечной точке.
Если маркер является маркером ввода IN, но еще отсутствуют данные для передачи из адресованного устройства, то вместо данных конечной точкой передается пакет NAK. Например, если опрашивается клавиатура 162, но не происходили нажатия клавиш, то передается NAK (отсутствие подтверждения приема данных). Если произошел останов конечной точки, то передается останов STALL. Если имеются данные для передачи, то осуществляется передача этих данных. В ответ, при приеме данных, главное вычислительное устройство должно передать квитирование установления связи ACK.
Там, где был передан маркер вывода OUT и из главного вычислительного устройства в конечную точку были переданы данные, конечная точка при успешном приеме данных должна передать пакет ACK для подтверждения о приеме данных. Квитирование установления связи STALL может быть передано в случае, если произошел останов конечной точки и она не могла принимать данные. Если конечная точка не принимает данные, то передается NAK.
Команда установки SETUP является видом транзакции вывода, которая вызывает выполнение команды (передается на фазе данных) в конечной точке.
Полное описание протокола USB содержится в спецификации USB, которая является документом, открытым для доступа. Документ доступен на узле web-сайте Форума средств реализации USB, www.USB.org.
Динамическая подстановка данных USB
Способы и системы, соответствующие изобретению, реализуют защиту в соединениях через сеть между защищенным компонентом и устройством, таким как устройство USB. Блок защиты согласно изобретению может быть размещен внутри устройства USB и будет описан в основном в отношении системы USB, однако предполагается, что любое действующее соединение между главным вычислительным устройством и устройством может быть реализовано согласно изобретению. Например, изобретение может быть использовано любым соединением, содержащим одну или большее количество локальных шин, сеть (например, локальную сеть (ЛС) или другую сеть) и шину USB.
В системе, изображенной фиг.3(A), согласно изобретению связи между защищенным компонентом в компьютере 110 и мышью 361 и между защищенным компонентом и графическим планшетом 163 защищены. Мышь 361 содержит интегрированный блок 300 защиты, и связь с защищенным компонентом осуществляется опосредованно через блок защиты. В системе по фиг.3(A) для защиты связи с графическим планшетом 163 защитная заглушка 310, физически отдельная от графического планшета 163, является посредником в соединениях между графическим планшетом 163 и защищенным компонентом. Блок защиты содержится в защитной заглушке 310. Блок защиты может быть реализован в любом месте системы USB. Связь на восходящем потоке данных сети USB (к главному вычислительному устройству) блока защиты или защитной заглушки защищена, но связь на нисходящем потоке данных (из главного вычислительного устройства) блока защиты или защитной заглушки может быть уязвимой.
Физический уровень системы обеспечивает всем связям между главным вычислительным устройством и устройством защиту при проходе через блок защиты. В альтернативных вариантах осуществления блок защиты может быть интегрирован в защитную заглушку, концентратор восходящего потока данных или непосредственно в защищаемое устройство. В основном для защиты системы полезна любая схема шифрования, формирующая нечитаемые или проверяемые данные. В одном варианте осуществления предусмотрена система с парой ключей с наличием информации о ключах в защищенном компоненте, связанном с устройством, и в блоке защиты. Согласно одному варианту осуществления для инициализации возможностей шифрования/расшифровки защищенный компонент и блок защиты совместно используют ключ партнерства. Одним способом совместного использования ключа партнерства между двумя устройствами является защищенное отображение защищенным компонентом информации о ключах и затем получение блоком защиты входных данных с клавиатуры нисходящего потока данных или другого устройства ввода данных для установки ключа партнерства. Например, защищенный компонент может отобразить ключ партнерства на защищенном мониторе или на другом устройстве вывода данных. Затем если блок защиты присоединен к клавиатуре или является встроенным в нее, то клавиатура может использоваться для ввода ключа партнерства. В других вариантах осуществления совместно используемый ключ партнерства может быть также закодирован аппаратно в устройстве и в защищенном компоненте, может быть зашит в устройстве и установлен в программное обеспечение защищенного компонента при инсталляции на заводе (или при первой начальной загрузке после создания) или может быть отображен блоком защиты и введен в защищенный компонент посредством кнопок, размещенных на экране случайным образом, которые будут выбраны пользователем мышью, вследствие этого предотвращая подслушивание информации неуполномоченными лицами. В одном варианте осуществления ключ партнерства используется как ключ для шифрования и расшифровки данных, а также для подтверждения правильности команд из защищенного компонента в блок защиты.
В одном варианте осуществления изобретения главное вычислительное устройство (компьютер 110) содержит защищенное программное обеспечение в качестве защищенного компонента, который должен выдавать команды устройству. В этом варианте осуществления защищенное программное обеспечение не управляет напрямую рассматриваемым устройством, но должно сообщаться с этим устройством через незащищенную шину и, возможно, незащищенные области главного вычислительного устройства. Например, если главное вычислительное устройство разрешает защищенные процессы, то защищенное программное обеспечение может выполняться как защищенный процесс на главном вычислительном устройстве. Команды, выдаваемые из защищенного программного обеспечения должны быть шифрованы или подписаны перед передачей команды в незащищенные области главного вычислительного устройства и через незащищенную шину. Следовательно, защита обеспечивается даже в то время, когда данные передаются через возможно уязвимые области главного вычислительного устройства или шины.
В системе, изображенной на фиг.3(В), согласно изобретению защищенным компонентом является защищенный сервер 350, доверенный компьютер, выполняющий программное обеспечение, которое требует защищенной связи с пользователем посредством мыши 361 и графического планшета 163. Недоверенный компьютер 360, который содержит главный контроллер 167, может быть уязвимым для атак, которые могут осуществляться на соединения между недоверенным компьютером 360 и защищенным сервером 350, недоверенным компьютером 360 и монитором 191, монитором 191 и клавиатурой 162 и между клавиатурой 162 и защитной заглушкой 310. Однако, так как информация, передаваемая между защищенным сервером 350 и мышью 361 и между защищенным сервером 350 и графическим планшетом 163 защищена, согласно изобретению уязвимость этих соединений и промежуточных звеньев не делает незащищенной связь между защищенным сервером 350 и этими устройствами.
Для выполнения расшифровки/шифрования в другом варианте осуществления формируются сеансовые ключи для каждого сеанса между защищенным компонентом и блоком защиты. Это обеспечивает возможность повышенной защиты и является защитой от атак повторного воспроизведения ранее перехваченного сообщения. Хотя шифрованные данные могут быть записаны и воспроизведены, если значение сеансового ключа изменено, то шифрованные данные идентифицируются как несанкционированные. Сеанс устанавливается между защищенным компонентом и устройством или блоком защиты. Защищенный компонент и блок защиты обмениваются данными, известными как информация на данное время. Каждый из защищенного компонента и блока защиты вычисляет хэш-функцию на основе этих двух информаций на данное время с определенным ключом партнерства, которая становится сеансовым ключом, используемым для шифрования/расшифровки. В одном варианте осуществления корректная инициализация подтверждается посредством обмена шифрованной информацией.
Хотя настоящее изобретение описано в отношении протокола USB, очевидно, что изобретение имеет более широкую применимость и может быть осуществлено практически в отношении любого протокола, подобного USB, как подробно описано ниже. Например, оно может использоваться для устройств, адресация которых осуществляется с использованием стандарта IEEE-1394.
Передача сигнала для оперативного шифрования
Согласно изобретению, когда защищенный компонент выдает через главное вычислительное устройство и шину маркер ввода IN, адресованный к конечной точке, которая находится вне блока защиты, блок защиты осуществляет проверку для определения того, защищены или «охвачены» ли адрес USB и конечная точка, к которой адресован маркер ввода IN. Если адрес и конечная точка не охвачены, то блок защиты просто пропускает любую информацию из главного вычислительного устройства в конечную точку и любую информацию из конечной точки в главное вычислительное устройство (так же, как концентратор USB повторяет данные из порта восходящего потока данных в порт нисходящего потока данных и наоборот). Однако если конечная точка охвачена, то блок защиты будет посредником между защищенным компонентом и конечной точкой, как видно из фиг.4.
Как изображено на фиг.4, на этапе 410 блок защиты принимает из защищенного компонента запрос на данные. Даже если адрес и конечная точка, к которым направлен запрос на данные, охвачены, то на этапе 420 к охваченной конечной точке передается маркер ввода IN. Затем, на этапе 430, блок защиты перехватывает запрошенные данные, возвращенные конечной точкой. Вместо передачи этих данных на шину блок защиты на этапе 440 передает в главное вычислительное устройство сигнал, указывающий, что данные не доступны (используя стандартный пакет NAK) и ожидает приема от защищенного компонента второго запроса на данные на этапе 450. Тем временем блок защиты на этапе 460 шифрует запрошенные данные. Как и со всеми конечными точками прерываний на USB, главная система впоследствии повторяет команду ввода IN. Когда шифрование завершено и принят второй запрос на данные, блок защиты на этапе 470 передает в защищенный компонент шифрованные данные в виде ответа на второй запрос на данные. Второй запрос на данные не передается по рассматриваемому адресу устройства неповрежденным. Так как устройство защиты должно продолжать ретрансляцию битов по мере приема этих битов, устройство защиты не может определить, что следующий маркер ввода IN передается по охваченному адресу, если эти биты уже не были ретранслированы на рассматриваемые адрес и конечную точку. Следовательно, при обнаружении защитной заглушкой такого условия устройство защиты должно разрушить остальную часть пакета или привести к ее «уничтожению». Следовательно, конечная точка USB не будет возвращать новый пакет, так как она не приняла правильный маркер ввода IN, вместо этого защитная заглушка ответит за устройство шифрованным пакетом для главного вычислительного устройства. На этапе 480 при приеме от защищенного компонента подтверждения приема данных это подтверждение приема данных проходит к конечной точке.
Там, где такое оперативное шифрование выполняется на главном вычислительном устройстве с защищенными и незащищенными областями, информация, используемая для шифрования или подписи данных, должна храниться главным вычислительным устройством в защищенной области, и блок защиты должен содержать информацию, необходимую для расшифровки или проверки данных. Там, где совместно используемый ключ партнерства используется в виде информации шифрования и в виде информации проверки, указанный ключ партнерства хранится главным вычислительным устройством в защищенной области и в блоке защиты.
Для реализации этого в системе USB запросом на данные должен быть маркер ввода IN, сигналом, указывающим, что данные не доступны, должен быть сигнал NAK и подтверждением приема данных должен быть сигнал ACK.
Если на этапе 430 блок защиты принимает сигнал, указывающий, что конечная точка находится в состоянии ошибки (например, в USB сигнал останова STALL), то этот сигнал передается на шину.
Передача сигнала для оперативной расшифровки
В одном варианте осуществления, описанном выше, все команды установки в защищенное устройство (посредством блока защиты) не разрешены и уничтожаются, как описано выше. Это представляет проблему при необходимости передачи компонентом защиты в устройство легальной команды установки. По этой причине должен быть создан механизм для разрешения определенной команды установки через блок защиты в устройство.
Согласно изобретению сначала защищенным компонентом в команде «разрешения» передается в блок защиты действительная инструкция установки для передачи команды в защищенную конечную точку. Действительность этой команды будет подтверждена таким же способом, что и для всех других команд, передаваемых из доверенного программного обеспечения в блок защиты. Согласно фиг.5, на этапе 510 блок защиты принимает команду разрешения из защищенного компонента. Это сопровождается, на этапе 520, приемом блоком защиты данных команды разрешения, переданных из защищенного компонента, содержащих шифрованную команду установки. На этапе 530 осуществляется попытка проверки шифрованной команды установки.
В другом варианте осуществления проверка включает в себя расшифровку команды установки с созданием локально расшифрованной версии команды установки. В одном варианте осуществления данные команды разрешения, принятые блоком защиты, содержат нешифрованную версию команды установки. Блок защиты, для осуществления проверки, сравнивает эту нешифрованную версию с локально расшифрованной версией.
В еще одном варианте осуществления шифрованная команда установки является подписанной версией команды установки, и при проверке осуществляется проверка подписи, чтобы удостовериться в том, что команда установки была подписана совместно используемым ключом.
Если проверка не является успешной, то команда установки не будет передана конечной точке. Если же проверка успешна, то блок защиты ожидает получения команды установки из защищенного компонента на этапе 540. Если команда установки совпадает с предварительно проверенной командой установки (этап 550), то на этапе 570 команда передается конечной точке вместе с следующей фазой данных. Если команда установки не совпадает, то она не передается. Вместо этого блок защиты ожидает соответствующую команду установки.
Заключение
Следовательно, продолжая использовать протокол USB, можно передавать шифрованные данные и команды из защищенного компонента в конечную точку и из конечной точки в защищенный компонент, поддерживая защиту устройства от других видов перепрограммирования или реконфигурирования.
Как упомянуто выше, хотя возможные варианты осуществления настоящего изобретения были описаны в отношении различных вычислительных устройств и архитектур сети, основные концепции могут быть применены к любому вычислительному устройству или системе, в которых требуется выполнить шифрование/расшифровку USB или подобной связи. Следовательно, способы, соответствующие настоящему изобретению, могут быть применены к разным приложениям и устройствам.
Разные способы, описанные здесь, могут быть реализованы аппаратными или программными средствами либо в виде их комбинации, где это является целесообразным. Следовательно, способы и устройство, соответствующие настоящему изобретению, или их некоторые аспекты или части могут иметь вид программного кода (то есть инструкций), реализованного на материальных носителях информации, например гибких дисках, компакт-дисках (CD-ROM), накопителях на жестких магнитных дисках или на любом другом машиночитаемом носителе информации, причем, при загрузке и выполнении программного кода в устройстве, таком как компьютер, устройство становится устройством для практического осуществления изобретения. В случае выполнения программного кода на программируемых компьютерах вычислительное устройство, в основном, будет содержать процессор, машиночитаемый носитель информации (включая энергозависимую и энергонезависимую память и/или запоминающие элементы), по меньшей мере одно устройство ввода данных и по меньшей мере одно устройство вывода данных. Одна или большее количество программ, которые могут использовать услуги обработки сигналов согласно настоящему изобретению, например, посредством интерфейсов прикладного программирования (API) обработки данных или аналогичной обработки, предпочтительно, реализуются на объектно-ориентированном языке программирования или процедурном языке программирования высокого уровня для осуществления связи с вычислительной системой. Однако, если это необходимо, программа(ы) может быть выполнена на ассемблере или на машинном языке. В любом случае язык может быть компилируемым или интерпретируемым языком и комбинироваться с аппаратными реализациями.
Способы и устройство, соответствующие настоящему изобретению, могут быть осуществлены на практике также посредством связи, воплощенной в виде программного кода, передаваемого через некоторую среду передачи информации, например, через электропроводку или кабельную проводку, через волоконно-оптический кабель или через любой другой вид передачи, причем, при получении, загрузке и выполнении программного кода устройством, таким как стираемое ПЗУ (EPROM), вентильная матрица, программируемое логическое устройство (PLD), компьютер-клиент, видеомагнитофон и т.д., или принимающее устройство, обладающее возможностями обработки сигналов, как описано выше в возможных вариантах осуществления, устройство становится устройством для практического осуществления изобретения. При реализации на процессоре общего назначения программный код комбинируется с процессором для обеспечения уникального устройства, которое функционирует для активизации функциональных возможностей настоящего изобретения. Дополнительно любые способы хранения информации, используемые в отношении настоящего изобретения, без исключений, могут быть комбинацией аппаратных средств и программного обеспечения.
Хотя настоящее изобретение было описано в отношении предпочтительных вариантов осуществления, представленных на различных чертежах, очевидно, что, не отклоняясь от настоящего изобретения, могут быть использованы другие подобные варианты осуществления или могут быть сделаны изменения в описанных вариантах осуществления и добавления к ним для реализации той же функции. Например, хотя иллюстративные сетевые среды, соответствующие изобретению, описаны в контексте среды с сетевой структурой, такой как одноранговая сеть, для знающих технику очевидно, что настоящее изобретение не ограничено только такими средами и что способы, описанные в настоящей заявке, могут быть применены к любому проводному или беспроводному вычислительному устройству или среде, такой как игровая консоль, переносной компьютер, портативный компьютер и т.д., и могут быть применены к любому количеству таких вычислительных устройств, соединенных посредством сети связи и взаимодействующих через эту сеть. Дополнительно следует отметить, что предусматривается несколько вычислительных платформ, включая операционные системы переносных устройств и другие операционные системы, зависящие от варианта применения, особенно с развитием и увеличением количества беспроводных сетевых устройств. Также настоящее изобретение может быть реализовано в нескольких устройствах или микросхемах обработки данных или по нескольким устройствам или микросхемам обработки данных, и хранение информации, аналогично, может осуществляться по нескольким устройствам. Следовательно, настоящее изобретение не ограничено каким-либо одним вариантом осуществления, но скорее должно рассматриваться во всей широте объема, соответствующего формуле изобретения.

Claims (32)

1. Способ опосредованной передачи данных между устройством и защищенным компонентом, включающий в себя этапы, на которых
принимают в блоке защиты первый и второй запросы на данные от защищенного компонента,
после приема в блоке защиты первого запроса на данные передают первый запрос на данные в упомянутое устройство,
в ответ на первый запрос на данные принимают в блоке защиты данные из упомянутого устройства,
после приема в блоке защиты первого запроса на данные передают в защищенный компонент намеренно ложный первый сигнал, указывающий, что данные недоступны,
после приема упомянутых данных из упомянутого устройства шифруют упомянутые данные в блоке защиты,
перехватывают в блоке защиты второй запрос на данные из защищенного компонента в упомянутое устройство и
после перехвата второго запроса на данные передают упомянутые шифрованные данные в защищенный компонент и передают в упомянутое устройство второй сигнал, намеренно искаженный для указания ошибки.
2. Способ по п.1, в котором упомянутое шифрование выполняют с использованием ключа и защищенный компонент содержит защищенную часть, содержащую копию упомянутого ключа для расшифровки.
3. Способ по п.1, в котором упомянутое устройство является устройством универсальной последовательной шины (USB), защищенный компонент функционально соединен с главным вычислительным устройством USB, упомянутый запрос на данные является маркером ввода IN USB, упомянутые данные являются данными USB и упомянутый сигнал в защищенный компонент, указывающий, что данные недоступны, является сигналом отсутствия подтверждения приема данных (NAK).
4. Способ по п.1, дополнительно включающий в себя этапы, на которых после упомянутой передачи из блока защиты упомянутых шифрованных данных в защищенный компонент принимают подтверждение приема данных из защищенного компонента,
после упомянутого приема в блоке защиты упомянутого подтверждения приема данных из защищенного компонента передают упомянутое подтверждение приема данных в упомянутое устройство.
5. Способ по п.4, в котором упомянутое устройство является устройством USB, защищенный компонент функционально соединен с главным вычислительным устройством USB и упомянутое подтверждение приема данных является сигналом подтверждения приема данных (АСК).
6. Способ по п.1, в котором упомянутые данные, принятые из упомянутого устройства, содержат сигнал, указывающий, что упомянутое устройство находится в состоянии ошибки, при этом после приема из упомянутого устройства данных, указывающих, что упомянутое устройство находится в состоянии ошибки, упомянутой передачей в защищенный компонент сигнала, указывающего, что данные не доступны, является сигнал, указывающий, что упомянутое устройство находится в состоянии ошибки.
7. Способ по п.6, в котором упомянутое устройство является устройством USB, защищенный компонент функционально соединен с главным вычислительным устройством USB и упомянутый сигнал, указывающий, что упомянутое устройство находится в состоянии ошибки, является сигналом останова STALL.
8. Способ опосредованной передачи данных между устройством USB и защищенным компонентом, функционально соединенным с главным вычислительным устройством универсальной последовательности шины (USB), включающий в себя этапы, на которых
перехватывают в блоке защиты данные из устройства USB в ответ на первый маркер ввода IN из защищенного компонента,
передают из блока защиты на защищенный компонент намеренно ложный первый сигнал, указывающий, что данные недоступны,
шифруют упомянутые данные в блоке защиты,
перехватывают второй маркер ввода IN, переданный защищенным компонентом для устройства USB, и
в ответ на перехват второго маркера ввода IN передают упомянутые шифрованные данные в защищенный компонент и передают в устройство USB второй сигнал, намеренно искаженный для указания ошибки.
9. Способ по п.8, дополнительно включающий в себя этап, на котором после перехвата упомянутых данных из устройства USB передают сигнал отсутствия подтверждения приема данных (NAK) в защищенный компонент.
10. Блок защиты для опосредованной передачи данных между устройством и защищенным компонентом, содержащий
средство для приема в блоке защиты первого и второго запросов на данные,
средство для передачи первого запроса на данные в упомянутое устройство после приема первого запроса на данные,
средство для приема в блоке защиты данных из упомянутого устройства после передачи первого запроса на данные в упомянутое устройство,
средство для передачи от блока защиты в защищенный компонент намеренно ложного первого сигнала, указывающего, что данные недоступны, после приема первого запроса на данные,
средство для шифрования упомянутых данных в блоке защиты после приема упомянутых данных из упомянутого устройства,
средство для перехвата в блоке защиты второго запроса на данные из защищенного компонента в упомянутое устройство и
средство для передачи из блока защиты упомянутых шифрованных данных в защищенный компонент и передачи в упомянутое устройство второго сигнала, намеренно искаженного для указания ошибки, после второго запроса на данные.
11. Блок защиты по п.10, который содержится в упомянутом устройстве.
12. Блок защиты по п.10, который содержит концентратор.
13. Блок защиты по п.10, который содержится в отдельном устройстве, которое функционально соединено с защищенным компонентом.
14. Блок защиты по п.10, в котором упомянутое шифрование выполняется с использованием ключа, при этом блок защиты содержит средство для хранения упомянутого ключа и защищенный компонент содержит защищенную часть, содержащую копию упомянутого ключа для расшифровки.
15. Блок защиты по п.10, в котором упомянутое устройство является устройством универсальной последовательной шины (USB), защищенный компонент функционально соединен с главным вычислительным устройством USB, упомянутый запрос на данные является маркером ввода IN USB, упомянутые данные являются данными USB и упомянутый сигнал в защищенный компонент, указывающий, что данные недоступны, является сигналом отсутствия подтверждения приема данных (NAK).
16. Блок защиты по п.10, дополнительно содержащий
средство для приема подтверждения приема данных из защищенного компонента после упомянутой передачи упомянутых шифрованных данных в защищенный компонент,
средство для передачи упомянутого подтверждения приема данных в упомянутое устройство после упомянутого приема упомянутого подтверждения приема данных из защищенного компонента.
17. Блок защиты по п.16, в котором упомянутое устройство является устройством USB, защищенный компонент функционально соединен с главным вычислительным устройством USB и упомянутое подтверждение приема данных является сигналом подтверждения приема данных (АСК).
18. Блок защиты по п.10, в котором упомянутые данные, принятые из упомянутого устройства, содержат сигнал, указывающий, что упомянутое устройство находится в состоянии ошибки, и после приема из упомянутого устройства данных, указывающих, что упомянутое устройство находится в состоянии ошибки, упомянутая передача в защищенный компонент сигнала, указывающего, что данные недоступны, является сигналом, указывающим, что упомянутое устройство находится в состоянии ошибки.
19. Блок защиты по п.18, в котором упомянутое устройство является устройством USB, защищенный компонент функционально соединен с главным вычислительным устройством USB и упомянутый сигнал, указывающий, что упомянутое устройство находится в состоянии ошибки, является сигналом останова STALL.
20. Блок защиты по п.10, в котором защищенный компонент размещен в первой вычислительной системе, упомянутое устройство размещено во второй вычислительной системе, причем упомянутые первая и вторая вычислительные системы функционально соединены и упомянутое функциональное соединение относится к по меньшей мере одному из сети, локальной шины и шины USB.
21. Блок защиты по п.10, в котором защищенный компонент содержит защищенный программный компонент, выполняющий по меньшей мере один защищенный процесс, и упомянутая передача данных происходит между одним из упомянутых по меньшей мере одного защищенного процесса и упомянутым устройством.
22. Блок защиты для опосредованной передачи данных между устройством универсальной последовательной шины (USB) и защищенным компонентом, функционально соединенным с главным вычислительным устройством USB, содержащий
средство для перехвата в блоке защиты данных из устройства USB в ответ на первый маркер ввода IN из защищенного компонента,
средство для передачи на защищенный компонент намеренно ложного первого сигнала, указывающего, что данные недоступны,
средство для шифрования упомянутых данных в блоке защиты,
средство для перехвата в блоке защиты второго маркера ввода IN, переданного защищенным компонентом для устройства USB, и
средство для передачи из блока защиты в защищенный компонент упомянутых шифрованных данных и передачи в устройство USB второго сигнала, намеренно искаженного для указания ошибки.
23. Блок защиты по п.22, дополнительно содержащий
средство для передачи сигнала отсутствия подтверждения приема данных (NAK) в защищенный компонент после перехвата упомянутых данных из устройства USB.
24. Материальный машиночитаемый носитель информации для опосредованной передачи данных между устройством и защищенным компонентом, содержащий машиночитаемые инструкции, которые при исполнении одним или большим количеством процессоров реализуют этапы, включающие в себя
прием в блоке защиты первого и второго запросов на данные,
передачу в упомянутое устройство первого запроса на данные после приема первого запроса на данные,
прием в блоке защиты данных из упомянутого устройства после передачи в упомянутое устройство первого запроса на данные,
передачу из блока защиты в защищенный компонент намеренно ложного первого сигнала, указывающего, что данные недоступны, после приема первого запроса на данные,
шифрование упомянутых данных в блоке защиты после приема упомянутых данных из упомянутого устройства,
перехват в блоке защиты второго запроса на данные из защищенного компонента в упомянутое устройство и
передачу упомянутых шифрованных данных в защищенный компонент и передачу в упомянутое устройство второго сигнала, намеренно искаженного для указания ошибки, после второго запроса на данные.
25. Машиночитаемый носитель информации по п.24, в котором упомянутое шифрование выполняется с использованием ключа и защищенный компонент содержит защищенную часть, содержащую копию упомянутого ключа для расшифровки.
26. Машиночитаемый носитель информации по п.24, в котором упомянутое устройство является устройством универсальной последовательной шины (USB), защищенный компонент функционально соединен с главным вычислительным устройством USB, упомянутый запрос на данные является маркером ввода IN USB, упомянутые данные являются данными USB и упомянутый сигнал в защищенный компонент, указывающий, что данные недоступны, является сигналом отсутствия подтверждения приема данных (NAK).
27. Машиночитаемый носитель информации по п.24, в котором упомянутые этапы дополнительно включают в себя
прием подтверждения приема данных из защищенного компонента после упомянутой передачи упомянутых шифрованных данных в защищенный компонент,
передачу упомянутого подтверждения приема данных в упомянутое устройство после упомянутого приема упомянутого подтверждения приема данных из защищенного компонента.
28. Машиночитаемый носитель информации по п.27, в котором упомянутое устройство является устройством USB, защищенный компонент функционально соединен с главным вычислительным устройством USB, и упомянутое подтверждение приема данных является сигналом подтверждения приема данных (АСК).
29. Машиночитаемый носитель информации по п.24, в котором упомянутые данные, принятые из упомянутого устройства, содержат сигнал, указывающий, что упомянутое устройство находится в состоянии ошибки, и после приема из упомянутого устройства данных, указывающих, что упомянутое устройство находится в состоянии ошибки, упомянутая передача в защищенный компонент сигнала, указывающего, что данные не доступны, является сигналом, указывающим, что упомянутое устройство находится в состоянии ошибки.
30. Машиночитаемый носитель информации по п.29, в котором упомянутое устройство является устройством USB, защищенный компонент функционально соединен с главным вычислительным устройством USB, и упомянутый сигнал, указывающий, что упомянутое устройство находится в состоянии ошибки, является сигналом останова STALL.
31. Материальный машиночитаемый носитель информации для опосредованной передачи данных между устройством универсальной последовательной шины (USB) и защищенным компонентом, функционально соединенным с главным вычислительным устройством USB, содержащий машиночитаемые инструкции, которые при исполнении одним или большим количеством процессоров, реализуют этапы, включающие в себя
перехват в блоке защиты данных из устройства USB в ответ на первый маркер ввода IN из защищенного компонента,
шифрование упомянутых данных в блоке защиты,
передачу на защищенный компонент намеренно ложного первого сигнала, указывающего, что данные недоступны,
перехват в блоке защиты второго маркера ввода IN, переданного защищенным компонентом для устройства USB, и
передачу из блока защиты шифрованных данных в защищенный компонент и передачу в устройство USB второго сигнала, намеренно искаженного для указания ошибки.
32. Машиночитаемый носитель информации по п.31, в котором упомянутые этапы дополнительно включают в себя
передачу в защищенный компонент сигнала отсутствия подтверждения приема (NAK) после перехвата упомянутых данных из устройства USB.
RU2004113565/09A 2003-05-02 2004-04-30 Динамическая подстановка данных usb для оперативного шифрования/расшифровки RU2352986C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/428,251 US7469343B2 (en) 2003-05-02 2003-05-02 Dynamic substitution of USB data for on-the-fly encryption/decryption
US10/428,251 2003-05-02

Publications (2)

Publication Number Publication Date
RU2004113565A RU2004113565A (ru) 2005-10-27
RU2352986C2 true RU2352986C2 (ru) 2009-04-20

Family

ID=32990472

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2004113565/09A RU2352986C2 (ru) 2003-05-02 2004-04-30 Динамическая подстановка данных usb для оперативного шифрования/расшифровки

Country Status (10)

Country Link
US (1) US7469343B2 (ru)
EP (1) EP1473617A3 (ru)
JP (1) JP2004362552A (ru)
KR (1) KR20040094377A (ru)
CN (1) CN1551003A (ru)
AU (1) AU2004201804A1 (ru)
BR (1) BRPI0401686A (ru)
CA (1) CA2465246A1 (ru)
MX (1) MXPA04004143A (ru)
RU (1) RU2352986C2 (ru)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295358A (ja) * 2003-03-26 2004-10-21 Internatl Business Mach Corp <Ibm> 情報処理装置、その暗号処理システム及び外部記憶装置の制御方法
JP3632695B2 (ja) * 2003-05-06 2005-03-23 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
US7712131B1 (en) 2005-02-09 2010-05-04 David Lethe Method and apparatus for storage and use of diagnostic software using removeable secure solid-state memory
US20060200612A1 (en) * 2005-03-02 2006-09-07 Laurence Hamid Method and protocol for transmitting extended commands to USB devices
US7886353B2 (en) * 2005-03-25 2011-02-08 Microsoft Corporation Accessing a USB host controller security extension using a HCD proxy
US7761618B2 (en) * 2005-03-25 2010-07-20 Microsoft Corporation Using a USB host controller security extension for controlling changes in and auditing USB topology
US7760908B2 (en) * 2005-03-31 2010-07-20 Honeywell International Inc. Event packaged video sequence
US7461246B2 (en) * 2005-05-02 2008-12-02 Nokia Corporation First-time startup device warranty user interface notification
US7945788B2 (en) * 2005-05-03 2011-05-17 Strong Bear L.L.C. Removable drive with data encryption
US20070071404A1 (en) * 2005-09-29 2007-03-29 Honeywell International Inc. Controlled video event presentation
US8135958B2 (en) 2005-11-22 2012-03-13 International Business Machines Corporation Method, system, and apparatus for dynamically validating a data encryption operation
DE102005061212A1 (de) * 2005-12-21 2007-07-05 Siemens Ag Verfahren zum Betrieb eines Automatisierungssystems
US9172918B2 (en) * 2007-02-02 2015-10-27 Honeywell International Inc. Systems and methods for managing live video data
US8296240B2 (en) 2007-03-22 2012-10-23 Sony Corporation Digital rights management dongle
JP2008244558A (ja) * 2007-03-26 2008-10-09 Sharp Corp 電力線通信システムおよび電力線通信装置
US20090049307A1 (en) * 2007-08-13 2009-02-19 Authennex, Inc. System and Method for Providing a Multifunction Computer Security USB Token Device
EP2338244B1 (en) * 2008-09-12 2021-06-16 Assa Abloy Ab Use of a secure element for writing to and reading from machine readable credentials
JP5628831B2 (ja) * 2008-12-24 2014-11-19 ザ コモンウェルス オブ オーストラリア デジタルビデオガード
WO2010099575A1 (en) 2009-03-04 2010-09-10 Honeywell International Inc. Systems and methods for managing video data
US9032058B2 (en) 2009-03-13 2015-05-12 Assa Abloy Ab Use of SNMP for management of small footprint devices
US8474026B2 (en) 2009-03-13 2013-06-25 Assa Abloy Ab Realization of access control conditions as boolean expressions in credential authentications
EP2406749B1 (en) 2009-03-13 2018-06-13 Assa Abloy Ab Transfer device for sensitive material such as a cryptographic key
US8275961B2 (en) * 2009-05-28 2012-09-25 Hewlett-Packard Development Company, L.P. Secure delivery of digital media via flash device
US8806190B1 (en) 2010-04-19 2014-08-12 Amaani Munshi Method of transmission of encrypted documents from an email application
CN101894087A (zh) * 2010-07-08 2010-11-24 东南大学 具有usb接口的移动可信计算模块
KR101064143B1 (ko) * 2010-08-20 2011-09-15 주식회사 파수닷컴 Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
WO2012087258A1 (en) * 2010-12-22 2012-06-28 Tamara Elektronik Muhendislik Insaat Musavirlik Sanayi Ve Ticaret Limited Sirketi Usb memory encryption device
US8566934B2 (en) * 2011-01-21 2013-10-22 Gigavation, Inc. Apparatus and method for enhancing security of data on a host computing device and a peripheral device
US20120237024A1 (en) * 2011-03-18 2012-09-20 Wei-Ti Liu Security System Using Physical Key for Cryptographic Processes
DE112012003293T5 (de) 2011-08-10 2014-05-08 Gita Srivastava Vorrichtung und Verfahren zur Verbesserung der Datensicherheit in einer Host-Computer-Vorrichtung und einer Peripherie-Vorrichtung
DE102012003009A1 (de) * 2012-02-15 2013-08-22 Giesecke & Devrient Gmbh Übertragen von Datenströmen zu und von einem Sicherheitsmodul
US9654604B2 (en) * 2012-11-22 2017-05-16 Intel Corporation Apparatus, system and method of controlling data flow over a communication network using a transfer response
US9232176B2 (en) 2013-03-04 2016-01-05 Janus Technologies, Inc. Method and apparatus for securing computer video and audio subsystems
US9363836B2 (en) * 2013-04-01 2016-06-07 Silver Spring Networks, Inc. Secure management of radio transmissions in an endpoint device of a network
US9076003B2 (en) 2013-08-20 2015-07-07 Janus Technologies, Inc. Method and apparatus for transparently encrypting and decrypting computer interface data
US11210432B2 (en) 2013-08-20 2021-12-28 Janus Technologies, Inc. Method and apparatus for selectively snooping and capturing data for secure computer interfaces
US9215250B2 (en) 2013-08-20 2015-12-15 Janus Technologies, Inc. System and method for remotely managing security and configuration of compute devices
US9424443B2 (en) 2013-08-20 2016-08-23 Janus Technologies, Inc. Method and apparatus for securing computer mass storage data
US9684805B2 (en) 2013-08-20 2017-06-20 Janus Technologies, Inc. Method and apparatus for securing computer interfaces
US9231921B2 (en) 2013-08-20 2016-01-05 Janus Technologies, Inc. System and architecture for secure computer devices
US9384150B2 (en) 2013-08-20 2016-07-05 Janus Technologies, Inc. Method and apparatus for performing transparent mass storage backups and snapshots
US10140457B2 (en) * 2015-07-31 2018-11-27 Intel Corporation Secure input/output device management
TW201917594A (zh) * 2017-10-18 2019-05-01 華東科技股份有限公司 一種資料交換之導引裝置及方法
EP3502941B1 (en) 2017-12-19 2021-01-20 Riddle & Code GmbH Dongles and method for providing a digital signature
CN111222183B (zh) * 2019-11-18 2023-07-28 天津津航计算技术研究所 一种基于usb接口的加密方法
US11809611B2 (en) * 2020-02-24 2023-11-07 Microsoft Technology Licensing, Llc Protecting device detachment with bus encryption
CN112416829B (zh) * 2020-11-25 2021-06-29 福州富昌维控电子科技有限公司 数据传输到hmi的方法以及usb hid设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596718A (en) * 1992-07-10 1997-01-21 Secure Computing Corporation Secure computer network using trusted path subsystem which encrypts/decrypts and communicates with user through local workstation user I/O devices without utilizing workstation processor
JPH10260903A (ja) * 1997-03-19 1998-09-29 Hitachi Ltd グループ暗号方法、及びファイル暗号システム
US6094486A (en) * 1997-06-19 2000-07-25 Marchant; Brian E. Security apparatus for data transmission with dynamic random encryption
US6061794A (en) * 1997-09-30 2000-05-09 Compaq Computer Corp. System and method for performing secure device communications in a peer-to-peer bus architecture
US6971048B1 (en) * 1998-06-15 2005-11-29 Sun Microsystems, Inc. Testing device driver hardening
US6389029B1 (en) * 1998-11-10 2002-05-14 Nortel Networks Limited Local area network incorporating universal serial bus protocol
US6763467B1 (en) * 1999-02-03 2004-07-13 Cybersoft, Inc. Network traffic intercepting method and system
JP4356178B2 (ja) * 1999-03-09 2009-11-04 ソニー株式会社 再生装置
AU2248001A (en) 1999-10-22 2001-05-08 Aerwire Corporation Wireless universal serial bus system
JP2002288041A (ja) * 2001-03-23 2002-10-04 Sony Corp 情報処理装置および方法、プログラム格納媒体、並びにプログラム
JP2003087239A (ja) * 2001-09-06 2003-03-20 Sony Corp 通信システム、通信装置および方法、記録媒体、並びにプログラム
JP2005504393A (ja) * 2001-09-27 2005-02-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ バス・システムおよびバス・インターフェース

Also Published As

Publication number Publication date
BRPI0401686A (pt) 2005-01-18
RU2004113565A (ru) 2005-10-27
EP1473617A3 (en) 2006-05-03
EP1473617A2 (en) 2004-11-03
CN1551003A (zh) 2004-12-01
US7469343B2 (en) 2008-12-23
JP2004362552A (ja) 2004-12-24
MXPA04004143A (es) 2005-06-08
CA2465246A1 (en) 2004-11-02
AU2004201804A1 (en) 2004-11-18
US20040250087A1 (en) 2004-12-09
KR20040094377A (ko) 2004-11-09

Similar Documents

Publication Publication Date Title
RU2352986C2 (ru) Динамическая подстановка данных usb для оперативного шифрования/расшифровки
CN109361668B (zh) 一种数据可信传输方法
JP4579969B2 (ja) ネットワーク・ドメインのネットワークエンドポイントにおける組込みエージェントの間で暗号化キーを共有するための方法、装置及びコンピュータプログラム製品
JP4907895B2 (ja) プライベートデータを露出せずに通信ネットワークを介してパスワードで保護されたプライベートデータを回復する方法およびシステム
US7299364B2 (en) Method and system to maintain application data secure and authentication token for use therein
JP5060652B2 (ja) 呼び出しプログラムについての秘密の封印解除方法
JP4689945B2 (ja) リソースアクセス方法
JP5231230B2 (ja) 安全なデータ伝送を提供するためのシステム及び方法
US6836888B1 (en) System for reverse sandboxing
JP4898328B2 (ja) トラステッド・コンピューティング・プラットフォームにおいて動的に生成された裏書き鍵に対する仮想裏書きクレデンシャルを設定するための方法、装置、およびコンピュータ・プログラム
JP4278327B2 (ja) コンピュータ・プラットフォームおよびその運用方法
US8670568B2 (en) Methods and systems for utilizing cryptographic functions of a cryptographic co-processor
RU2297037C2 (ru) Управление защищенной линией связи в динамических сетях
KR100879907B1 (ko) 컴퓨팅 디바이스의 보안을 위한 방법 및 시스템
US6754826B1 (en) Data processing system and method including a network access connector for limiting access to the network
US7085385B2 (en) Method and apparatus for initiating strong encryption using existing SSL connection for secure key exchange
JP2003506921A (ja) 保護機能を有するアダプタおよびそれを用いたコンピュータ保護システム
US7047562B2 (en) Conditioning of the execution of an executable program upon satisfaction of criteria
WO2006012341A1 (en) System and method for secure inter-platform and intra-platform communications
JP2008524886A (ja) スマート・キー・デバイスとしてコンパクト・ディスクを使用するための方法およびシステム
JP2003510713A (ja) データの使用を制限するトラステッドコンピューティングプラットフォーム
JP2003330365A (ja) コンテンツ配布/受信方法
JP3905170B2 (ja) 処理システムおよびクライアント装置
US20040019806A1 (en) Securing a remote command call using a security protocol
CN111628972A (zh) 一种数据加解密装置、方法、系统及存储介质

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20130501