ПЕРИФЕРИЙНОЕ УСТРОЙСТВО С ИНТЕГРИРОВАННОЙ СИСТЕМОЙ БЕЗОПАСНОСТИ С ПРИМЕНЕНИЕМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА
PERIPHERAL DEVICE WITH INTEGRATED SAFETY SYSTEM USING ARTIFICIAL INTELLIGENCE

ОБЛАСТЬ ТЕХНИКИ
[001] Данное изобретение относится к области вычислительной техники, а, в частности, к периферийному портативному устройству, которое может взаимодействовать с основным вычислительным устройством.
УРОВЕНЬ ТЕХНИКИ
[002] В настоящее время вычислительные устройства становятся все более портативными. В частности, появляется все больше и больше портативных периферийных устройств, которые выполнены с возможностью связи с главным вычислительным устройством (например, настольным компьютером, ноутбуком или персональным цифровым помощником), чтобы обеспечить достижение определенных функциональных возможностей. Эти портативные периферийные устройства могут иметь различные физические формы (например, карты PCMCIA, смарт-карты, компакт-диски) и могут выполнять целый ряд функций (например, хранение, связь, шифрование и т.д.).
[003] Хотя переносные вычисления предоставляют ряд преимуществ, они имеют существенный недостаток в том, что вычислительная среда (включая переносные периферийные устройства и любые другие вычислительные устройства, которые обмениваются данными с этими устройствами) более подвержены нарушениям безопасности, т.е. несанкционированному доступу или изменению программ и/или данных, находящихся в данной среде. Следовательно, могут быть разработаны криптографические устройства и способы их применения для использования в таких вычислительных средах (а также в других вычислительных средах), чтобы обеспечить повышение уровня безопасности среды.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[004] Данное техническое решение направлено на устранение недостатков, известных из уровня техники.
[005] Технической задачей или технической проблемой, решаемой в данном техническом решении, является осуществление периферийного устройства с интегрированной системой безопасности с применением искусственного интеллекта.
[006] Техническим результатом является повышение безопасности работы периферийного устройства, который осуществляется за счет применения искусственного интеллекта, который контролирует доступ к различным разделам периферийного устройства на основании аутентификации пользователя.
[007] Указанный технический результат достигается посредством осуществления периферийного устройства с интегрированной системой безопасности с применением искусственного интеллекта, содержащее корпус, в котором расположены по меньшей мере одно средство защиты для обеспечения возможности выполнения одной или нескольких операций безопасности над данными; по меньшей мере одно средство для обеспечения взаимодействия периферийного устройства с главным вычислительным устройством; средство для оперативного соединения средства защиты с главным вычислительным устройством в ответ на инструкцию от главного вычислительного устройства; и средство для передачи данных между главным вычислительным устройством и периферийным средством, так что передаваемые данные должны сначала проходить через средство защиты; модуль искусственного интеллекта, выполненный с возможностью изменения уровня конфиденциальности пользователя на основании распознавания данных, загруженных на периферийном устройстве пользователя, при этом пользователь ограничен от доступа к содержимому до тех пор, пока компонент искусственного интеллекта не изменит уровень конфиденциальности пользователя на основании его аутентификации.
[008] В некоторых вариантах реализации периферийное устройство дополнительно содержит средство для энергонезависимого хранения данных. [009] В некоторых вариантах реализации периферийное устройство дополнительно содержит средство для обеспечения связи между главным вычислительным устройством и удаленным устройством.
[0010] В некоторых вариантах реализации периферийное устройство дополнительно содержит биометрическое устройство.
[0011] В некоторых вариантах реализации периферийное устройство дополнительно содержит средство для связи со смарт-картой.
[0012] В некоторых вариантах реализации средство для энергонезависимого хранения данных дополнительно содержит твердотельное дисковое устройство хранения.
[0013] В некоторых вариантах реализации твердотельное дисковое устройство хранения содержит флэш-диск формата АТА.
[0014] В некоторых вариантах реализации периферийное устройство дополнительно содержит средство для обеспечения связи между главным вычислительным устройством и удаленным устройством.
[0015] В некоторых вариантах реализации средство для обеспечения связи между главным вычислительным устройством и удаленным устройством дополнительно содержит средство беспроводной связи.
[0016] В некоторых вариантах реализации средство беспроводной связи содержит беспроводной модем.
[0017] В некоторых вариантах реализации средство беспроводной связи содержит приемопередатчик беспроводной локальной сети.
[0018] В некоторых вариантах реализации биометрическое устройство содержит устройство сканирования отпечатков пальцев.
[0019] В некоторых вариантах реализации биометрическое устройство содержит сканирующее устройство сетчатки.
[0020] В некоторых вариантах реализации модуль искусственного интеллекта выдает рекомендации по изменению уровня конфиденциальности пользователя.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0021] Признаки и преимущества настоящего технического решения станут очевидными из приведенного ниже подробного описания и прилагаемых чертежей, на которых:
[0022] На Фиг. 1 показана блок-схема реализации технического решения в соответствии с изобретением.
[0023] На Фиг. 2 показан вид в перспективе физической реализации системы по Фиг. 1 согласно одному варианту осуществления изобретения.
[0024] На Фиг. 3 показана блок-схема периферийного устройства в соответствии с вариантом осуществления изобретения.
[0025] На Фиг. 4 показана блок-схема последовательности операций способа в соответствии с вариантом осуществления изобретения для инициирования использования системы в соответствии с изобретением.
[0026] На Фиг. 5 показана блок-схема системы в соответствии с вариантом осуществления изобретения, иллюстрирующая работу системы во время способа в соответствии с изобретением, как на Фиг. 4.
[0027] На Фиг. 6 показана блок-схема последовательности операций способа в соответствии с вариантом осуществления изобретения для использования периферийного устройства в соответствии с изобретением.
[0028] На Фиг. 7 показана блок-схема периферийного устройства в соответствии с другим вариантом осуществления изобретения.
[0029] На Фиг. 8 показана блок-схема, иллюстрирующая поток данных через устройство управления интерфейсом по Фиг. 7.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0030] Ниже будут подробно рассмотрены термины и их определения, используемые в описании данного технического решения.
[0031] В данном изобретении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций), централизованные и распределенные базы данных, смарт-контракты.
[0032] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы), или подобное. Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.
[0033] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.
[0034] Сервер (англ. server) - электронное устройство, выполняющее сервисные функции по запросу клиента, предоставляя ему доступ к определенным ресурсам. В целях настоящего описания рассматривается сервер, имеющий постоянное подключение к объединенной сети, которая может передавать данные на клиентское устройство. Сервер может обрабатывать эти данные и передавать результат обработки обратно на клиентское устройство.
[0035] Модуль обмена данных - это модуль сервера, который может представлять приемник входящих сигналов, и преобразователь их для последующей обработки, и транслятор для дальнейшей отправки.
[0036] Вычислительный модуль - это модуль сервера, который представляет собой микропроцессор, специально приспособленный для сложной обработки сигналов.
[0037] Периферийное устройство (англ. peripheral) - аппаратура, которая позволяет вводить информацию в компьютер или выводить ее из него. Периферийные устройства являются не обязательными для работы системы и могут быть отключены от компьютера.
[0038] На Фиг. 1 показана блок-схема системы 100 согласно изобретению. Система 100 включает в себя главное вычислительное устройство 101 и периферийное устройство 102, которые обмениваются данными через интерфейс 103 связи. Здесь термин «периферийное устройство» может относиться к любому устройству, которое работает за пределами главного вычислительного устройства и которое подключено к главному вычислительному устройству. Периферийное устройство 102 включает в себя механизм 102а безопасности, который позволяет выполнять операции безопасности (примеры которых более подробно описаны ниже) над данными, которые хранятся в главном вычислительном устройстве 101, данными, которые передаются из главного вычислительного устройства 101 в периферийное устройство 102 или данными, которые передаются от периферийного устройства 102 к главному вычислительному устройству 101. Как более подробно будет объяснено ниже, периферийное устройство 102 также предоставляет дополнительную функциональность (называемую здесь «целевой функциональностью») системе 100 такую как, например, возможность хранить данные в твердотельном дисковом запоминающем устройстве, возможность активировать обмен данными от вычислительного устройства 101 к другому устройству, возможность принимать биометрический ввод для обеспечения аутентификации пользователя на устройство 101 и возможность принимать и считывать смарт-карту, вставленную в периферийное устройство 102.
[0039] В некоторых вариантах реализации интерфейс 103 связи может быть любым реализованным интерфейсом из множества интерфейсов связи, таких как интерфейс беспроводной связи, интерфейс PCMCIA, интерфейс смарт-карты, последовательный интерфейс (такой как интерфейс RS-232), интерфейс SCSI или интерфейс IDE и т.д. Каждый вариант осуществления интерфейса 103 связи включает в себя аппаратное обеспечение, присутствующее в каждом главном вычислительном устройстве 101 и периферийном устройстве 102, которое работает в соответствии с протоколом связи (который может быть реализован, например, с помощью программного обеспечения, хранящегося в запоминающем устройстве, и/или встроенного программного обеспечения, которое присутствует в главном вычислительном устройстве 101 и/или периферийном устройстве 102), подходящим для этого типа интерфейса связи, как очевидно любому специалисту в данной области техники. Каждый вариант осуществления интерфейса 103 связи также включает в себя механизмы для обеспечения физического взаимодействия, если оно есть, между главным вычислительным устройством 101 и периферийным устройством 102.
[0040] В некоторых вариантах реализации механизм 102а безопасности может быть сконфигурирован для выполнения любой электронной операции защиты данных (в данном документе называемой просто «операцией безопасности»), включая, например, операции, которые обеспечивают одну или несколько основных криптографических функций, таких как конфиденциальность данных, проверка целостности данных, аутентификация пользователя и отказ от доступа пользователю. Конкретные операции безопасности, которые могут быть реализованы в периферийном устройстве в соответствии с изобретением, более подробно описаны ниже. Данные операции осуществляются с использованием машинного обучения.
[0041] В некоторых вариантах реализации устройство дополнительно содержит модуль искусственного интеллекта. В другом варианте осуществления, подключение периферийного устройства дополнительно побуждает главное вычислительное устройство сформировать набор тестовых последовательностей из поднабора научных исследований по безопасности и способов шифрования с использованием модуля искусственного интеллекта. Модуль искусственного интеллекта (AI) может быть, например, экспертной системой и/или нейронной сетью.
[0042] Термин «интеллект» относится к способности рассуждений или заключений, например, заключений о текущем или будущем состоянии системы, на основе существующей информации о системе. Искусственный интеллект можно использовать для идентификации специфичного контекста или действия, или для генерирования распределения вероятности специфичных состояний системы без вмешательства человека. Искусственный интеллект основан на применении передовых математических алгоритмов, например, деревьев принятия решения, нейронных сетей, регрессионного анализа, кластерного анализа, генетического алгоритма и подкрепленного обучения для установки доступных данных (информации) о системе. В частности, модуль искусственного интеллекта позволяет использовать одну из множества методологий для обучения на основе данных, с последующим выводом на основе моделей, построенных таким образом, например, скрытых моделей Маркова (НММ) и родственных моделей зависимостей, составляющих прототип более общих вероятностных графических моделей, таких как Байесовские сети, например, сформированные по результатам поиска структуры, используя оценку или аппроксимацию Байесовской модели, линейные классификаторы, такие как поддерживающие векторные машины (SVM), нелинейные классификаторы, такие как методы, называемые методологиями "нейронной сети", методологии нечеткой логики и другие подходы, которые выполняют объединение данных, и т.д.), в соответствии с воплощением различных автоматизированных аспектов, описанных ниже.
[0043] Модуль искусственного интеллекта в некоторых вариантах реализации применяется для изменения уровня конфиденциальности пользователя на основании распознавания данных, загруженных на периферийном устройстве пользователя.
[0044] В некоторых вариантах реализации модуль искусственного интеллекта периферийного устройства автоматически изменяет уровень конфиденциальности пользователя для обеспечения возможности пользователю доступа к содержимому периферийного устройства, при этом пользователь ограничен от доступа к содержиму до тех пор, пока компонент искусственного интеллекта не изменит уровень конфиденциальности пользователя на основании его аутентификации.
[0045] В некоторых вариантах реализации модуль искусственного интеллекта выдает рекомендации по изменению уровня конфиденциальности пользователя.
[0046] Данное техническое решение упрощает одновременный обмен данными в конфиденциальном и общедоступном контексте (к примеру, нечастный или с минимальной частностью) в соответствии с аспектом настоящего изобретения, реализации периферийного устройства. Данные могут разграничиваться на вебсайте для каждого конкретного периферийного устройства, например, по его уникальному идентификатору. Это может осуществляться частично посредством загрузки содержимого пользователя, чтобы сделать его доступным онлайновому сообществу в соответствии с различными ограничениями при работе периферийного устройства. Например, один или более уровней конфиденциальности может быть назначен содержимому. Уровни конфиденциальности могут включать в себя частный или общедоступный и/или степени конфиденциальности. Пользователь может назначать соответствующий уровень конфиденциальности содержимому, или альтернативно система или способ может распознавать контекст содержимого и автоматически назначать соответствующий уровень конфиденциальности на основании работы модуля искусственного интеллекта. Во втором случае определенные виды содержимого могут "помещаться" в разделы периферийного устройства только с соответствующим уровнем конфиденциальности. Например, система или способ может быть обучен, чтобы распознавать медицинскую или связанную с медициной информацию, содержащуюся на периферийном устройстве, и автоматически назначать наивысший уровень конфиденциальности. Как результат, эта информация может быть помещена в соответствующий раздел.
[0047] Пользователь может назначать уровни конфиденциальности или предоставлять права доступа людям в различные разделы периферийного устройства. Например, всем может быть предоставлен доступ к "общедоступному" содержимому пользователя. Этот общедоступный доступ может предоставляться по умолчанию или явно пользователем. Другим пользователям, которые известны пользователю, может быть назначен один или более уровней конфиденциальности, которые соответствуют уровням конфиденциальности, назначенным содержимому пользователя.
[0048] В некоторых вариантах реализации регистрационные данные человека могут быть приняты, и уровень(и) конфиденциальности человека может быть идентифицирован на этапе аутентификации посредством биометрического средства. Доступ к соответствующему содержимому пользователя может быть получен на основе уровня конфиденциальности человека. Аутентификация идентификационных данных и уровней конфиденциальности человека может быть повторена для каждого человека, регистрирующегося в периферийном устройстве. Любой пользователь может обмениваться данными или иным образом взаимодействовать с одним или более людьми на различных уровнях конфиденциальности одновременно.
[0049] В частности, по меньшей мере, первому человеку может быть назначен первый уровень конфиденциальности, а, по меньшей мере, второму человеку назначен второй уровень конфиденциальности, который отличается от первого уровня конфиденциальности. Например, при условии уровней конфиденциальности 0-2, где 0 - наименее частный (к примеру, публичный), а 2 - наиболее частный для этого конкретного пользователя, первый уровень конфиденциальности может быть 0, а второй уровень конфиденциальности может быть 2. Содержимое разделов для первого и второго уровней конфиденциальности может быть отображено первому и второму человеку, соответственно.
[0050] Далее пользователь (владелец или совладелец содержимого раздела) может взаимодействовать или иным образом общаться с первым и вторым человеком одновременно на двух различных уровнях конфиденциальности. Следует принимать во внимание, что связь между пользователем и любым человеком может начаться в любое время, например, посредством IM (мгновенного обмена сообщениями), электронной почты, программы беседы в чате и/или ведения блога; тем не менее, доступ к разделам периферийного устройства пользователя может быть предоставлен после того, как установлен соответствующий уровень конфиденциальности для каждого человека.
[0051] Защитный механизм 102а может быть, например, реализован в качестве маркера безопасности. В данном документе «маркер безопасности» относится к устройству, которое выполняет операции безопасности и которое включает в себя один или несколько механизмов (таких как, например, как использование аппаратного генератора случайных чисел и/или защищенной памяти) для обеспечения безопасности содержимого этих операций.
[0052] Фиг. 2 представляет собой вид в перспективе физической реализации системы 100 по Фиг. 1, согласно одному варианту осуществления изобретения. На Фиг. 2, периферийное устройство 102 выполнено в виде смарт-карты 112, которая может быть вставлена в соответствующий слот 113, сформированный в портативном компьютере 111, который на Фиг. 2, воплощает главное вычислительное устройство 101. Часто периферийное устройство в соответствии с изобретением представляет собой портативное устройство, такое как карта 112, показанная на Фиг. 2. Здесь «портативное устройство» может относиться, в общем, к любому устройству, которое можно легко переносить вручную.
[0053] На Фиг. 3 показана блок-схема периферийного устройства 300 в соответствии с вариантом осуществления изобретения. Периферийное устройство 300 включает в себя функциональность 301 безопасности, целевую функциональность 302 и главный интерфейс 303, которые сформированы вместе как часть одного физического устройства. Например, функциональные возможности 301 безопасности и целевые функциональные возможности 302 могут быть заключены в один корпус, подобный смарт-карте (обозначен на Фиг. 3 цифрой 304), соответствующий, например, стандарту PCMCIA или стандарту смарт-карт.
[0054] Периферийное устройство 300 может иметь ряд преимущественных характеристик. Периферийное устройство 300 может быть реализовано способом, который позволяет операциям защиты функциональности 301 безопасности выполняться способом, который является известным для главного вычислительного устройства системы согласно изобретению, так что главное вычислительное устройство (и, возможно, пользователь) знает только о наличии целевой функциональности 302. Кроме того, периферийное устройство 300 может быть реализовано таким образом, чтобы операции безопасности выполнялись «in-line», то есть операции безопасности выполнялись между передачей данных на хост-компьютер или с него и выполнением целевой функциональности, обеспечиваемой периферийным устройством. Кроме того, периферийное устройство 300 позволяет легко предоставлять широкий спектр функциональных возможностей защищенной цели вычислительному устройству.
[0055] Фиг. 4 является блок-схемой последовательности операций способа 400, согласно варианту осуществления изобретения, для инициирования использования системы в соответствии с изобретением. Способ 400 обеспечивает аспект изобретения, в котором присутствие функциональных возможностей безопасности в качестве части периферийного устройства не обнаруживается главным вычислительным устройством, таким образом делая функциональные возможности безопасности прозрачными для главного вычислительного устройства.
[0056] Фиг. 5 является блок-схемой системы 500 согласно варианту осуществления изобретения, иллюстрирующей работу системы 500 во время способа согласно изобретению по способу 400 на Фиг. 4. Система 500 включает в себя главное вычислительное устройство 501 и периферийное устройство 502. Главное вычислительное устройство 501 включает в себя устройство 503а отображения (например, монитор обычного компьютерного дисплея) и устройство 503b пользовательского ввода (например, клавиатуру, мышь, трекбол, джойстик или другое соответствующее устройство), далее совместно именуемые устройством 503 пользовательского интерфейса. Главное вычислительное устройство 501 также включает в себя, установленное в корпусе 504 устройство 505 обработки, устройство 506 памяти, устройство 507 ввода / вывода (I / О) для обеспечения связи с устройством 503 пользовательского интерфейса и устройство 508 ввода/вывода (I / О) для обеспечения связи с периферийным устройством 502. Каждое из устройств 505, 506, 507 и 508 может быть реализовано обычными такими устройствами и может связываться друг с другом через обычную компьютерную шину 509, как это хорошо известно и понятно из уровня техники. Периферийное устройство 502 включает в себя функциональность 511 безопасности, устройство 512 памяти, устройство 513 ввода / вывода (I / О) для обеспечения возможности связи с главным вычислительным устройством 501 и целевой функцией 514. Функциональность 511 безопасности, устройство 512 памяти, устройство 513 ввода / вывода (I / О) и целевые функциональные возможности 514, каждый по отдельности или вместе, могут быть реализованы обычными устройствами и могут связываться друг с другом через обычную компьютерную шину 515, что хорошо известно и понятно. Главное вычислительное устройство 501 и периферийное устройство 502 показаны в упрощенной форме на Фиг. 5 для облегчения ясности при иллюстрации этого аспекта изобретения. Как описано более подробно ниже и как понятно специалистам в данной области техники, вычислительное устройство 501 и периферийное устройство 502 могут включать в себя другие устройства, не показанные на Фиг. 5.
[0057] Возвращаясь к Фиг. 4, использование системы согласно изобретению начинается, когда, как показано на этапе 401, пользователь системы подключает периферийное устройство согласно изобретению к главному вычислительному устройству. Такое соединение может происходить любым способом, который позволяет периферийному устройству обмениваться данными с главным вычислительным устройством. Часто это происходит в результате физического подключения периферийного устройства к главному вычислительному устройству. (В общем, такое физическое соединение может происходить либо до, либо после того, как главное вычислительное устройство начинает работать; однако в первом случае последующие этапы способа 400 - за исключением, в зависимости от реализации периферийного устройства, этапа 403, который не может быть выполнен до тех пор, пока главное вычислительное устройство не начнет работать.) Например, периферийное устройство может быть воплощено в карту или диск (например, карту, соответствующую форм-фактору PCMCIA, как установлено соответствующим стандартом), которое вставляется в соответствующий разъем, сформированный в главном вычислительном устройстве. Или периферийное устройство может быть выполнено в корпусе, из которого проходит шнур, причем вилка шнура вставляется в ответную розетку, сформированную в главном вычислительном устройстве. Однако такое физическое соединение не обязательно должно происходить. Периферийное устройство также может быть подключено к главному вычислительному устройству посредством любого типа беспроводной связи, для которой главное вычислительное устройство содержит соответствующий интерфейс.
[0058] Как только соединение между периферийным устройством и главным вычислительным устройством установлено, главное вычислительное устройство обнаруживает присутствие периферийного устройства, как показано на этапе 402. Такое обнаружение присутствия периферийного устройства обычно разрешается в качестве стандартного аспекта программного обеспечения операционной системы главного вычислительного устройства.
[0059] Как правило, как только присутствие нового периферийного устройства обнаруживается программным обеспечением операционной системы главного вычислительного устройства, программное обеспечение операционной системы (или сопутствующая программа) также идентифицирует тип периферийного устройства. Это может быть выполнено, например, стандартным программным драйвером устройства (в дальнейшем «драйвер хоста») для устройств того типа, которые используют интерфейс главного вычислительного устройства, который используется периферийным устройством 502. На Фиг. 5 показано, что драйвер вычислительного устройства хранится в секции 506а памяти 506 главного компьютера 501. Однако в способе 400, прежде чем программное обеспечение операционной системы сможет выполнить такую идентификацию, периферийное устройство в соответствии с изобретением приостанавливает работу этого аспекта программного обеспечения операционной системы, так что периферийное устройство может установить свою идентичность, как показано на этапе 403 и поясняется ниже. Как будет понятно из этого объяснения, выполнение этапа 403 преимущественно позволяет периферийному устройству принимать идентичность целевой функциональности, которая является частью периферийного устройства. Поскольку, как описано в другом месте в данном документе ниже, периферийное устройство в соответствии с изобретением может включать в себя множество типов целевых функциональных возможностей, периферийное устройство может принимать различные идентификаторы.
[0060] Конкретный способ приостановки работы программного обеспечения операционной системы, чтобы периферийное устройство могло установить свою идентичность, может зависеть от характеристик программного обеспечения операционной системы и/или интерфейса устройства. Однако для многих комбинаций программного обеспечения операционной системы и интерфейса устройства программное обеспечение операционной системы ожидает подтверждения того, что устройство, подключенное к интерфейсу устройства, готово к дальнейшему взаимодействию с программным обеспечением операционной системы, прежде чем программное обеспечение операционной системы попытается идентифицировать тип устройства, подключенного к интерфейсу (например, стандарт для интерфейсов PCMCIA определяет такую операцию). В таких случаях периферийное устройство может быть сконфигурировано для задержки информирования программного обеспечения операционной системы о том, что периферийное устройство готово к дальнейшему взаимодействию, пока периферийное устройство не установит свою идентичность.
[0061] Последующее описание одного способа, которым может быть реализован этап 403, может быть лучше понято со ссылкой на систему 500, показанную на Фиг. 5. Один из способов, с помощью которого программное обеспечение операционной системы главного вычислительного устройства может идентифицировать тип периферийного устройства, заключается в доступе к известному разделу памяти устройства памяти периферийного устройства, как установлено стандартом интерфейса, разработанным для этого типа периферийного устройства, которое хранит данные, представляющие тип периферийного устройства. Это справедливо для различных типов периферийных устройств, таких как, например, периферийные устройства, которые соответствуют стандарту PCMCIA. Стандарт PCMCIA, например, включает в себя спецификацию, называемую информационная структура карты, которая определяет, среди прочего, местоположение в части памяти карты PCMCIA, обозначенной как «память атрибутов», в которой хранятся данные, идентифицирующие тип карты PCMCIA. В системе 500 периферийное устройство 502 является таким устройством. Блок памяти устройства 512 памяти периферийного устройства 502, к которому главное вычислительное устройство 501 стремится получить доступ, показан на Фиг. 5 в качестве секции 512а памяти, и данные, хранящиеся в ней, упоминаются здесь как «идентификационные данные периферийного устройства».
[0062] Периферийное устройство 502 может быть реализовано так, что периферийное устройство 502 предполагает идентичность целевой функциональности 514 (независимо от того, используется ли также функциональность безопасности периферийного устройства). Это позволяет главному вычислительному устройству 501 взаимодействовать с периферийным устройством 502, как если бы периферийное устройство 502 было устройством типа целевой функциональности 514, не признавая, что присутствует функциональность 511 безопасности, которая может выполнять операции безопасности. Таким образом, необходимость модифицировать аспекты работы главного вычислительного устройства (например, драйвера устройства) для обеспечения возможности выполнения операций безопасности снижается или устраняется, делая реализацию и использование системы защиты данных, включающей в себя периферийное устройство 502, проще и надежнее. Поскольку использование системы защиты данных проще (например, пользователю не требуется вводить данные, чтобы драйвер вычислительного устройства был соответствующим образом настроен для обеспечения желаемого взаимодействия с устройством безопасности), вероятность того, что пользователь будет использовать систему неправильно (например, не применять операции безопасности для взаимодействия с главным вычислительным устройством, или применять операции безопасности неправильно или не полностью) уменьшается.
[0063] Хотя, как показано на Фиг. 5, периферийное устройство 502 включает в себя функциональность 511 безопасности и целевую функциональность 514, система 500 может работать так, что используется только функциональность 511 безопасности. Периферийное устройство 502 и драйвер периферийного устройства (обсуждаемые ниже) могут быть реализованы таким образом, чтобы, когда периферийное устройство 502 функционировало таким образом, чтобы идентификационные данные периферийного устройства, хранящиеся в ячейке 512а памяти, идентифицировали периферийное устройство 502 как защитное устройство.
[0064] Возвращаясь к Фиг. 4, после того как периферийное устройство установило свою идентичность, главное вычислительное устройство идентифицирует периферийное устройство, как показано на этапе 404. Это может быть реализовано как часть драйвера вычислительного устройства, как указано выше.
[0065] Как только главное вычислительное устройство идентифицировало периферийное устройство (и другие операции программного обеспечения операционной системы главного вычислительного устройства, завершенные, если применимо), пользователь может начать использовать периферийное устройство (в частности, функции безопасности периферийного устройства), как показано на этапе 505 способа 500. Такое использование может быть разрешено одной или несколькими программами (далее вместе именуемыми «драйвером периферийного устройства, условно называемые «приложениями»), которые выполняются главным вычислительным устройством.
[0066] Использование отдельного драйвера для управления и взаимодействия с функциями безопасности периферийного устройства в соответствии с изобретением может быть эффективным, поскольку оно уменьшает или устраняет необходимость в модификации драйвера хоста. С практической точки зрения такая модификация драйвера, вероятно, может быть достигнута только путем требования пользователя взаимодействовать со стандартным драйвером хоста для соответствующей модификации стандартного драйвера хоста. Это нежелательно, потому что пользователь может забыть изменить драйвер или изменить драйвер неправильно или не полностью.
[0067] Драйвер периферийного устройства может быть предварительно установлен на устройстве хранения данных (например, на жестком диске) главного вычислительного устройства (на Фиг. 5 драйвер периферийного устройства показан сохраненным в секции 506b памяти устройства 506 памяти главного вычислительного устройства 501) или может быть сделан доступным для главного вычислительного устройства через соответствующий интерфейс (такой как дисковод гибких дисков, дисковод CD-ROM или сетевое соединение) в то время, когда пользователь желает инициировать взаимодействие между главным вычислительным устройством и периферийным устройством. Кроме того, когда периферийное устройство в соответствии с изобретением используется с главным вычислительным устройством, которое использует программное обеспечение операционной системы, которое поддерживает функцию, неофициально называемую «включай и работай» (англ. plug and play), также возможно сохранить драйвер периферийного устройства в устройстве памяти периферийного устройства и сконфигурировать периферийное устройство таким образом, чтобы, когда периферийное устройство впервые подключается к главному вычислительному устройству, главное вычислительное устройство автоматически предоставляет пользователю возможность дать команду главному вычислительному устройству вызвать драйвер периферийного устройства для передачи с периферийного устройства на главное вычислительное устройство.
[0068] На Фиг. 6 показана блок-схема последовательности операций способа 600 в соответствии с вариантом осуществления изобретения для использования периферийного устройства в соответствии с изобретением. Следует понимать, что способ 600, показанный на Фиг. 6 не является единственным способом реализации аспектов использования периферийного устройства согласно изобретению, которые проиллюстрированы на Фиг. 6. Специалистам в данной области техники легко понять, что такие аспекты могут быть реализованы с использованием любого из множества других подходящих способов. Кроме того, использование периферийного устройства согласно изобретению может включать в себя аспекты, не показанные на Фиг. 6. Способ 600 по Фиг. 6 показан только для того, чтобы помочь в иллюстрации определенных аспектов изобретения, и его не следует интерпретировать как ограничение способа, которым может использоваться периферийное устройство согласно изобретению.
[0069] Чтобы начать использовать периферийное устройство в соответствии с изобретением, пользователь инструктирует главное вычислительное устройство начать выполнение драйвера периферийного устройства, как показано на этапе 601 способа 600, при этом пользователь получил должен знать соответствующую команду, чтобы начать выполнение драйвера периферийного устройства любым подходящим способом (например, из руководства пользователя, прилагаемого к драйверу периферийного устройства и/или периферийному устройству). В общем, этапы способа 600 происходят в результате работы драйвера периферийного устройства, однако работа драйвера главного устройства может быть необходимой или желательной для работы некоторых аспектов способа 600 (например, выполнение транзакции, как показано на этапах 608, 612 и 615).
[0070] Как указано выше, периферийное устройство в соответствии с изобретением может быть реализовано так, что драйвер выч. устройства не может обнаружить наличие функциональных возможностей безопасности периферийного устройства. В таком случае драйвер периферийного устройства позволяет обнаруживать функциональные возможности безопасности, как показано на шаге 602 способа 600. Это может быть достигнуто путем включения инструкций в качестве части драйвера периферийного устройства, когда драйвер периферийного устройства впервые начинает выполняться, он обращается к предопределенному местоположению устройства памяти периферийного устройства (на Фиг. 5 секции 512b памяти) для данных, которые идентифицируют, является ли периферийное устройство устройством, имеющим функциональные возможности безопасности, которые совместимы с драйвером периферийного устройства. Если периферийное устройство является таким устройством, то драйвер периферийного устройства может позволить пользователю использовать функциональные возможности безопасности периферийного устройства. Кроме того, драйвер периферийного устройства может быть реализован, как показано на Фиг. 6 так, что если надлежащая функциональность безопасности не обнаружена, выполнение драйвера периферийного устройства прекращается, предотвращая использование периферийного устройства. Альтернативно, драйвер периферийного устройства может быть реализован так, что если надлежащие функциональные возможности безопасности не обнаружены, целевые функциональные возможности периферийного устройства могут использоваться без функциональных возможностей безопасности периферийного устройства.
[0071] Периферийное устройство согласно изобретению, как правило, может работать в одном из трех режимов:
1) режим, в котором используются только функции безопасности,
2) режим, в котором используются как функции безопасности, так и целевые функции, и
3) режим, в котором используется только целевая функциональность.
[0072] Пользователь может получить возможность с помощью драйвера периферийного устройства выбрать любой из трех режимов работы. Однако в некоторых приложениях могут запретить работу в одном или двух режимах. В частности, может быть желательно предотвратить работу периферийного устройства в последнем из вышеперечисленных режимов, то есть в режиме, в котором функциональные возможности безопасности не используются, если требуется гарантировать, что использование целевой функциональной возможности может происходить только с применением одной или нескольких операций безопасности. Это может быть достигнуто путем реализации драйвера периферийного устройства, так что опция для работы в этом режиме не представляется пользователю, или периферийное устройство может быть сконфигурировано во время изготовления, чтобы запретить работу в этом режиме. Например, если целевая функциональность реализована в виде устройства связи или устройства памяти, может быть желательно обеспечить, чтобы незашифрованные данные не могли быть переданы через устройство связи или сохранены в устройстве памяти, независимо от того, были ли они выполнены непреднамеренно или специально.
[0073] В способе 600 все три из перечисленных выше режимов доступны для использования. На этапе 603 способа 600 делается определение относительно того, должны ли использоваться функции безопасности. Как отмечалось выше, такое использование может потребоваться. Если да, периферийное устройство работает в одном из первых двух указанных выше режимов (только функции безопасности или функции безопасности плюс целевые функции). Если нет, используется третий режим (только целевые функции).
[0074] Драйвер периферийного устройства может быть реализован так, что пользователь должен успешно ввести приемлемый код доступа (например, пароль или PIN-код, или например применить распознавание лица), прежде чем пользователю будет разрешено использовать периферийное устройство. В частности, могут потребовать код доступа перед тем, как дать пользователю возможность использовать функциональные возможности безопасности, таким образом устанавливая уровень безопасности, который защищает целостность самих операций безопасности. В способе 600, как показано на этапе 604, приемлемый код доступа должен быть введен пользователем, прежде чем можно будет использовать функциональные возможности защиты периферийного устройства. Код доступа может быть введен, например, путем ввода кода доступа обычным способом с использованием устройства пользовательского интерфейса (например, клавиатуры) главного вычислительного устройства или посредством любого доступа способа биометрии. Или код доступа может быть введен с использованием конкретных вариантов осуществления целевой функциональности (например, биометрического устройства, более подробно обсуждаемого ниже), которое является частью периферийного устройства в соответствии с изобретением.
[0075] Преимущественно, код доступа может использоваться не только для управления доступом к функциям безопасности (или другим) периферийного устройства, но также для идентификации «личности» пользователя. Каждая личность (пользователь) представлена данными, которые устанавливают определенные характеристики работы периферийного устройства, такие как, например, ограничения на работу периферийного устройства (например, ограничения на типы операций безопасности, которые могут быть выполнены) или спецификация рабочих параметров или характеристики (например, криптографические ключи или спецификация конкретного воплощения типа алгоритма безопасности, такого как конкретный алгоритм шифрования). Данные, представляющие личности и соответствующие коды доступа пользователя, могут храниться в запоминающем устройстве периферийного устройства.
[0076] После получения приемлемого кода доступа драйвер периферийного устройства управляет главным вычислительным устройством, чтобы предоставить пользовательский интерфейс, который позволяет пользователю осуществлять желаемое управление периферийным устройством и, в частности, использовать периферийное устройство для выполнения операций безопасности, как описано ниже. Если коды доступа также используются для идентификации личностей, то после получения приемлемого кода доступа драйвер периферийного устройства может также получать доступ и извлекать данные, представляющие соответствующую личность, чтобы можно было соответствующим образом управлять работой периферийного устройства. Пользовательский интерфейс для обеспечения возможности пользователю управлять периферийным устройством может быть реализован любым из множества хорошо известных способов (например, в виде графического пользовательского интерфейса) с использованием способов и устройств, которые хорошо известны специалистам в данной области техники. Обычно пользовательский интерфейс позволяет пользователю выполнять любые функциональные возможности, которые предоставляются периферийным устройством, как описано более подробно в другом месте в данном документе.
[0077] Как указано выше, периферийное устройство согласно изобретению может работать в любом из трех режимов. Как только приемлемый код доступа введен, драйвер периферийного устройства может позволить пользователю выбрать один из трех режимов, как показано на этапе 605 способа 600. В качестве альтернативы, как упомянуто выше, может быть желательно представить пользователю только возможность выбора режима «только функциональные возможности безопасности» или «функциональные возможности безопасности плюс режим целевых функций», чтобы исключить возможность того, что пользователь будет осуществлять незащищенное использование целевой функции. Если используется режим «только функциональные возможности безопасности» или «функциональные возможности безопасности плюс режим целевой функциональности», то пользовательский интерфейс (и базовый драйвер периферийного устройства) позволяет пользователю вводить все требуемые инструкции, касающиеся операций безопасности, которые должны быть выполнены для конкретной «транзакции» (например, хранение данных в устройстве памяти, передача данных устройством связи или обмен данными с устройством чтения смарт-карт), как показано на этапах 606 и 610 способа 600. Например, пользовательский интерфейс может позволить пользователю выбирать данные, для которых должны выполняться операции безопасности, указать применение конкретных операций безопасности к данным или указывать параметры или другую информацию, требуемую для конкретной операции безопасности. Если выбран режим безопасности плюс режим целевых функций или режим только целевых функций, то пользовательский интерфейс и драйвер периферийного устройства позволяют пользователю вводить все требуемые инструкции, касающиеся использования целевой функциональности для транзакции, как показано на этапах 607 и 611 способа 600. Например, если целевая функциональность реализована как устройство памяти, пользовательский интерфейс может позволить пользователю указать имя для сохраненных данных. Или, например, если целевая функциональность реализована в виде устройства связи, пользовательский интерфейс может позволить пользователю указать пункт назначения (например, адрес электронной почты) для передачи данных.
[0078] Как только пользователь предоставил инструкции на этапах 606 и 607, на этапе 610 или на этапе 611 выполняется транзакция, как показано на этапе 608 или этапе 612 способа 600. После выполнения транзакции пользователю может быть разрешено выполнить дополнительные транзакции, как показано на этапе 609 способа 600. Пользователь также может начать использовать другую личность (путем ввода соответствующего кода доступа), как показано на этапе 609 способа 600. В конце концов, использование периферийного устройства заканчивается, как показано на этапе 618 способа 600.
[0079] Периферийное устройство и связанный драйвер периферийного устройства могут быть реализованы таким образом, чтобы можно было использовать только функциональные возможности безопасности периферийного устройства. Таким образом, периферийное устройство может использоваться, например, для шифрования или дешифрования данных, хранящихся на главном вычислительном устройстве, путем получения данных от главного вычислительного устройства, шифрования или дешифрования данных в зависимости от ситуации, а затем возврата зашифрованных или дешифрованных данных в главное вычислительное устройство.
[0080] Как указано выше, периферийное устройство и связанный драйвер периферийного устройства могут быть реализованы так, чтобы можно было использовать только целевую функциональность периферийного устройства, даже без ввода соответствующего кода доступа. В способе 600 такая операция показана этапами 614, 615 и 616, которые функционируют так же, как этапы 611, 612 и 609, описанные выше. Использование периферийного устройства таким способом может быть полезным, например, когда целевая функциональность реализована как биометрическое устройство, как описано далее ниже, которое используется для выполнения аутентификации пользователя. В частности, если биометрическое устройство должно использоваться в качестве механизма для ввода кода доступа на этапе 604, может потребоваться работа в этом режиме (в зависимости от возможностей биометрического устройства), чтобы разрешить такое использование биометрического устройства. Конечно, в этом случае функциональность безопасности, то есть аутентификация пользователя, используется как часть этапа 615. Этап 617 может также позволить начать использование функции безопасности, вызывая запрос на соответствующий код доступа (шаг 604). В конце концов, использование периферийного устройства заканчивается (этап 618).
[0081] Как описано выше, периферийное устройство в соответствии с изобретением, которое включает в себя функциональные возможности безопасности и целевые функциональные возможности, может быть реализовано так, чтобы главное вычислительное устройство не было осведомлено о наличии функциональных возможностей безопасности. Также могут защитить пользователя от знания наличия функциональных возможностей безопасности и заставить автоматически выполняться заданные операции безопасности. Это может быть необходимо для того, чтобы, например, пользователю не было необходимости предоставлять ввод, касающийся выполнения операций безопасности, таким образом исключая возможность того, что пользователь будет пренебрегать предоставлением такого ввода, или будет вводить ввод неправильно или не полностью. Или может быть необходимо сделать прозрачные операции безопасности для пользователей, чтобы повысить безопасность этих операций, поскольку, если выполнение таких операций неизвестно, не будет предпринята попытка нанести ущерб безопасности, обеспечиваемой этими операциями. Если это так, то драйвер периферийного устройства может быть реализован так, что периферийное устройство может работать только в режиме безопасности плюс режим целевых функций (этапы 610, 611, 612, 614, 615, 616 и 617 способа 600 не могут быть выполнены), и поэтому не указывается (например, представление отображения пользовательского интерфейса, которое позволяет вводить инструкции относительно выполнения операций безопасности, как на этапе 606 способа 600) о наличии функциональных возможностей безопасности периферийного устройства. Скорее, пользователю просто будут представлены варианты, относящиеся к работе целевой функциональности (этап 607 способа 600). В такой реализации драйвер периферийного устройства может быть реализован так, чтобы автоматически вызывать выполнение одной или нескольких заданных операций безопасности на основе указанного пользователем взаимодействия с целевой функциональностью, или периферийное устройство может быть сконфигурировано так, чтобы такие операции безопасности выполнялись каждый раз, когда происходит указанное взаимодействие с целевой функциональностью.
[0082] Существенным преимуществом периферийного устройства согласно изобретению является то, что периферийное устройство может быть реализовано так, что любой из множества типов целевых функциональных возможностей может быть включен в качестве части периферийного устройства. В частности, как описано более подробно ниже, периферийное устройство включает в себя устройство управления интерфейсом, которое включает и управляет связью между главным вычислительным устройством и между ним, устройство криптографической обработки, которое является частью периферийного устройства, и целевую функциональность, которая также является частью периферийного устройства. Устройство управления интерфейсом может быть приспособлено для обеспечения соответствующего интерфейса для каждого типа целевой функции. Таким образом, в общем, любая желаемая целевая функциональность может использоваться с периферийным устройством согласно изобретению, при условии, что целевая функциональность реализована так, чтобы обеспечить связь с интерфейсом представленного типа. Специалисты в области передачи данных могут легко понять, как реализовать такую связь с целевыми функциями с учетом подробного описания ниже (см. Фиг. 7, 8А и 8В) варианта осуществления периферийного устройства согласно изобретению, и, в частности, устройство управления интерфейсом такого периферийного устройства.
[0083] Например, целевая функциональность периферийного устройства в соответствии с изобретением может быть реализована как устройство памяти, выполненное с возможностью обеспечения энергонезависимого хранения данных. В общем случае, любое такое запоминающее устройство может использоваться для воплощения такой целевой функции. Более конкретно, можно использовать твердотельное дисковое устройство хранения (например, устройство флэш-памяти). В качестве примера реализации, запоминающее устройство, которое может использоваться для воплощения целевой функциональности в периферийном устройстве в соответствии с изобретением, может представлять собой компактное устройство флэш-памяти. Можно использовать другие твердотельные дисковые устройства хранения, такие как диски SCSI, SSD и диски IDE, не ограничиваясь. Специалисты в данной области техники хорошо понимают конструкцию и работу запоминающих устройств в целом, а также тех, которые определены, в частности, выше, так что вместе с пониманием требуемых возможностей связи между целевой функциональностью и устройством управления интерфейсом, запоминающее устройство для использования с изобретением может быть легко сконструировано и эксплуатироваться. Периферийное устройство согласно изобретению, которое включает в себя запоминающее устройство, которое воплощает целевую функциональность, может использоваться, например, для безопасного хранения данных таким образом, который позволяет пользователю данных легко переносить данные с собой, куда бы они ни направлялись.
[0084] Целевая функциональность периферийного устройства согласно изобретению также может быть реализована как устройство связи, выполненное с возможностью обеспечения связи между главным вычислительным устройством и удаленным устройством. В общем случае, любое такое устройство связи может использоваться для воплощения целевой функциональности. Устройство связи, которое может использоваться для воплощения целевой функциональности в периферийном устройстве в соответствии с изобретением, может включать в себя, например, модем передачи данных (такой как, например, обычный модем телефонной линии, модем ISDN, кабельный модем, или беспроводной модем) или приемопередатчик ЛВС (проводной или беспроводной и, в последнем случае, работающий, например, в инфракрасном или радиочастотном спектре). Специалисты в данной области техники хорошо понимают конструкцию и работу устройств связи в целом, а также тех, которые определены, в частности, выше, так что вместе с пониманием требуемых возможностей связи между целевой функциональностью и устройством управления интерфейсом, устройство связи для использования с изобретением может быть легко сконструировано и эксплуатироваться. Периферийное устройство согласно изобретению, которое включает в себя устройство связи, которое воплощает целевые функциональные возможности, может использоваться, например, для шифрования электронной почты перед передачей адресату. Или такое периферийное устройство может использоваться, например, для шифрования файлов данных, которые человек желает безопасно передать между вычислительным устройством по месту работы человека и вычислительным устройством в доме человека. [0085] Целевая функциональность периферийного устройства в соответствии с изобретением также может быть реализована как биометрическое устройство, которое определено здесь как любое устройство, которое приспособлено для приема входных данных, касающихся физических характеристик человека, на основе физического взаимодействия человека с устройством. В общем случае, любое такое биометрическое устройство может использоваться для воплощения целевой функции. Биометрические устройства, которые можно использовать в периферийном устройстве согласно изобретению, могут включать в себя, например, устройство сканирования отпечатков пальцев, устройство сканирования сетчатки или устройство сканирования отпечатков пальцев.
[0086] В дополнение к обычным вычислительным устройствам для хранения и/или манипулирования цифровыми данными, биометрическое устройство включает в себя датчик для определения физической характеристики и аналого-цифровой преобразователь для преобразования аналоговых данных, представляющих измеренную характеристику, в цифровые данные. Например, устройство сканирования отпечатков пальцев включает в себя датчик, на который человек может положить палец, датчик, распознающий отпечаток пальца, после чего содержимое обнаруженного отпечатка пальца преобразуется устройством в цифровые данные. Аналогичным образом, сканирующее устройство для сетчатки глаза включает в себя датчик, который может быть расположен вблизи глаза человека, датчик, воспринимающий характеристики глаза, такие как рисунок кровеносного сосуда или радужная оболочка, устройство, преобразующее содержимое обнаруженных характеристик в цифровые данные. Специалисты в данной области техники хорошо понимают конструкцию и работу биометрических устройств в целом, а также тех, которые определены, в частности, выше, так что вместе с пониманием требуемой возможности связи между целевой функциональностью и устройством управления интерфейсом, биометрическое устройство для использования с изобретением может быть легко сконструировано и эксплуатироваться. Устройства сканирования отпечатков пальцев и устройства сканирования сетчатки, которые могут быть легко модифицированы для использования с изобретением, то есть для связи с устройством управления интерфейсом согласно изобретению, известны специалистам в данной области техники.
[0087] Периферийное устройство в соответствии с изобретением, которое включает в себя биометрическое устройство, которое воплощает целевую функциональность, может использоваться, например, для обеспечения возможности аутентификации пользователя на главном вычислительном устройстве перед предоставлением доступа к конкретным данным, хранящимся на главном вычислительном устройстве. Такая аутентификация пользователя может быть выполнена с использованием биометрического устройства для получения биометрических данных от пользователя и сравнения биометрических данных с соответствующей библиотекой биометрических данных, представляющих заранее определенную группу людей (например, авторизованных пользователей). Библиотека данных может храниться в запоминающем устройстве периферийного устройства.
[0088] Когда периферийное устройство, включающее в себя устройство сканирования отпечатков пальцев, выполнено в виде карты, приспособленной для вставки в слот главного вычислительного устройства (например, слот, соответствующий стандарту PCMCIA), может оказаться полезным сделать периферийное устройство относительно длинным, так чтобы часть карты, на которой расположен датчик, могла выходить из слота главного вычислительного устройства, что позволяет сканировать отпечатки пальцев, пока периферийное устройство вставлено в главное вычислительное устройство.
[0089] Биометрическое устройство может использоваться различными способами с системой согласно изобретению в зависимости от возможностей биометрического устройства. Используя известные устройство и способы, «интеллектуальное» биометрическое устройство может быть реализовано с возможностью обнаруживать наличие входного сигнала для датчика и, после такого обнаружения, инициировать получение биометрических данных и характеристик периферийным устройством соответствующего сравнение данных. Такое биометрическое устройство может использоваться для выполнения аутентификации пользователя, как на этапе 604 способа 600 выше. Альтернативно, биометрическое устройство может требовать, чтобы пользователь инициировал процесс сбора данных и аутентификации. Такое биометрическое устройство может использоваться для выполнения аутентификации пользователя в периферийном устройстве, которое позволяет работать без ввода правильного кода доступа, как на этапах 614 и 615 способа 600.
[0090] Целевая функциональность периферийного устройства в соответствии с изобретением также может быть реализована как устройство считывания смарт-карт, предназначенное для связи со смарт-картой, такой как, например, смарт-карта, соответствующая стандарту ISO 7816. Такое устройство может быть реализовано путем адаптации обычного устройства чтения смарт-карт, конструкция и работа которого хорошо известны специалистам в данной области техники, для обеспечения интерфейса связи, который позволяет устройству чтения смарт-карт обмениваться данными с устройством управления интерфейсом. Периферийное устройство в соответствии с изобретением, которое включает в себя устройство для считывания смарт-карт, может использоваться для обеспечения функций безопасности для считывателя смарт-карт или для добавления к существующим функциям безопасности считывателя смарт-карт.
[0091] Следует понимать, что приведенные выше примеры являются просто иллюстративными, а не исчерпывающими способами использования периферийного устройства согласно изобретению. Существует много других возможностей.
[0092] На Фиг. 7 показана блок-схема периферийного устройства 700 в соответствии с другим вариантом осуществления изобретения. Периферийное устройство 700 включает в себя устройство 701 криптографической обработки, устройство 702 управления интерфейсом, первое устройство 703 памяти, второе устройство 704 памяти, часы 705 реального времени, интерфейс 706 ввода / вывода главного вычислительного устройства и целевая функциональность 707.
[0093] Интерфейс 706 ввода-вывода главного вычислительного устройства обеспечивает связь между периферийным устройством 700 и главным вычислительным устройством. Электрические и механические характеристики интерфейса 706 ввода / вывода, а также протокол, используемый для обеспечения связи через интерфейс 706, устанавливаются любым способом, который соответствует отраслевым стандартным спецификациям для интерфейса такого типа. Например, периферийное устройство согласно изобретению может быть адаптировано для вставки в слот PCMCIA главного вычислительного устройства. В таком периферийном устройстве электрические и механические характеристики и протокол связи для интерфейса 706 ввода/ вывода главного вычислительного устройства устанавливаются в соответствии с соответствующими стандартами PCMCIA.
[0094] Устройство 701 криптографической обработки может быть приспособлено для выполнения операций безопасности. Обычно устройство 701 криптографической обработки может быть реализовано любым процессором, способным выполнять криптографические операции, которые должны быть предоставлены периферийным устройством 700. В одном варианте осуществления периферийного устройства 700 устройство 701 криптографической обработки является встроенным процессором специального назначения, реализованный на единой интегрированной микросхеме, обозначенный как MYK-82 (также называемый именем Capstone), который включает в себя процессорное ядро ARM6 ™ и несколько элементов криптографической обработки специального назначения. Конструкция и функционирование чипа Capstone известны специалистам в области криптографической обработки.
[0095] Первое запоминающее устройство 703 может быть энергонезависимым устройством хранения данных, которое может использоваться для хранения компьютерных программ и постоянных данных. Первое запоминающее устройство 703 может быть реализовано любым подходящим таким устройством, таким как, например, обычное устройство флэш-памяти.
[0096] Второе запоминающее устройство 704 может быть энергозависимым устройством хранения данных, которое также может быть быстро доступным устройством хранения данных, в котором часто используемые данные и программные инструкции могут храниться во время работы периферийного устройства 700. Второе запоминающее устройство 704 также может быть реализовано с помощью любого подходящего такого устройства, такого как, например, обычное устройство оперативной памяти (RAM).
[0097] В периферийном устройстве 700 устройство 702 управления интерфейсом осуществляет взаимодействие между главным вычислительным устройством, целевой функциональностью 707 и устройством 701 криптографической обработки. В одном варианте осуществления периферийного устройства 700 устройство 702 управления интерфейсом является обычным устройством, которым может быть программируемая вентильная матрица (FPGA), которая запрограммирована для выполнения функций. Устройство 702 управления интерфейсом под управлением устройства 701 криптографической обработки может быть приспособлено для предоставления возможности периферийному устройству 700 принимать идентичность целевой функции 707, как обсуждалось выше. Устройство 702 управления интерфейсом также обеспечивает возможность встроенной криптографии согласно изобретению, поскольку устройство 702 управления интерфейсом управляет потоком данных между главным вычислительным устройством и целевой функциональностью 707.
[0098] Фиг. 8А представляет собой блок-схему, иллюстрирующую поток данных через устройство 702 управления интерфейсом по Фиг. 7. Данные, передаваемые из главного вычислительного устройства, поступают в периферийное устройство 700 (не обозначенное на Фиг. 8А) через интерфейс 706 ввода-вывода главного вычислительного устройства. Устройство 702 управления интерфейсом представляет данные в интерфейс 708 устройства криптографической обработки (не показано на Фиг. 7). В зависимости от конфигурации устройства 702 управления интерфейсом, определяемой работой драйвера периферийного устройства и/или настройками, установленными во время изготовления периферийного устройства 700, данные могут обрабатываться или не обрабатываться устройством 701 криптографической обработки (Фиг. 7). Как правило (или, в некоторых случаях, обязательно), как обсуждено более подробно выше, происходит криптографическая обработка. Устройство 702 управления интерфейсом затем вызывает передачу данных в целевую функциональность 707. Данные, передаваемые из целевой функциональности 707 в главное вычислительное устройство, следуют аналогичному пути в обратном направлении. Когда целевая функциональность 707 отсутствует или не используется, данные, передаваемые из главного вычислительного устройства, после их представления интерфейсу 708 устройства криптографической обработки и обработки устройством 701 криптографической обработки, принудительно передаются обратно в интерфейс 8 706 ввода-вывода главного вычислительного устройства (и оттуда к главному вычислительному устройству) посредством устройства 702 управления интерфейсом.
[0099] Набор регистров конфигурации поддерживается для интерфейса ввода-вывода главного вычислительного устройства, интерфейса устройства криптографической обработки и интерфейса целевой функциональности. В частности, содержимое регистров конфигурации интерфейса ввода-вывода главного вычислительного устройства таково, что взаимодействие главного вычислительного устройства с периферийным устройством осуществляется также, как если бы функциональность безопасности отсутствовала. Содержимое регистров интерфейса целевой функциональности отражает наличие функциональности безопасности. Регистры интерфейса устройства криптографической обработки перекрывают разрыв между двумя другими наборами регистров.
[00100] В общем случае, функциональность безопасности периферийного устройства согласно изобретению может быть сконфигурирована для выполнения любой криптографической операции, а также других связанных математических операций. Конфигурация функциональных возможностей безопасности, которая обеспечивает возможность конкретной криптографической или математической операции, может быть произведена, например, с использованием соответствующего существующего криптографического программного обеспечения, аппаратного обеспечения для конкретного приложения или их комбинации, как известно специалистам в области создания криптографических устройств. Ниже приведено описание примерных криптографических и математических операций, которые могут быть реализованы как часть функциональных возможностей защиты периферийного устройства согласно изобретению. Эти криптографические и математические операции хорошо известны и могут быть легко реализованы в периферийном устройстве согласно изобретению специалистом в области криптографии.
[00101] Например, периферийное устройство согласно изобретению может реализовывать одну или несколько операций криптографического обмена ключами. Может быть реализована любая операция обмена ключами, такая как, например, как RSA, Diffie-Hellman и алгоритмы обмена ключами Х9.42 (ANSI Banking Standard).
[00102] Периферийное устройство согласно изобретению также может реализовывать одну или несколько операций хеширования. Может быть реализована любая операция хеширования, такая как, например, как алгоритмы FIPS 180-1 (SHA-1), Message Digest 2 (RSA) и Message Digest 5 (RSA).
[00103] Периферийное устройство согласно изобретению также может реализовывать одну или несколько операций цифровой подписи. Может быть реализована любая операция цифровой подписи, такая как, например, как алгоритмы FIPS 186 (DSA - 512, 1024) и RSA Signature (512, 768, 1024, 2048).
[00104] Периферийное устройство согласно изобретению также может реализовывать одну или несколько симметричных операций шифрования. Может быть реализована любая операция симметричного шифрования, такая как, например, FIPS 185 (реализована полностью в аппаратном обеспечении), DES (включая 3DES, EDE3, СВС и ЕСВ), алгоритмы RC-2 и RC-4.
[00105] Хотя настоящее изобретение было конкретно показано и описано со ссылкой на его примерные варианты осуществления, следует понимать, что изобретение не ограничено раскрытыми примерными вариантами осуществления.
[00106] Все компоненты данного технического решения могут быть соединены шиной. В некоторых примерах информационная шина включает в себя одну или более информационных шин. Информационная шина может быть реализована в соответствии с протоколом шины локальной сети контроллеров (CAN), который определен Международной организацией стандартизации (ISO) 11898-1, протоколом шины передачи данных мультимедийных систем (MOST), протоколом гибкой информационной CAN-шины (CAN-FD) (ISO 11898-7) и/или протоколом шины K-line (ISO 9141 и ISO 14230-1) и/или протоколом Ethernet™-шины IEEE 802.3 (2002 г. и далее), и т.д.
[00107] Элементы заявляемого технического решения находятся в функциональной взаимосвязи, а их совместное использование приводит к созданию нового и уникального технического решения. Таким образом, все блоки функционально связаны.
[00108] Компоненты заявленного устройства могут быть связаны системной шиной, которая может быть любого из нескольких типов структур(ы) шин, в том числе шины памяти или контроллера памяти, периферийной шины или внешней шины и/или локальной шины, используя любую из множества архитектур шин, в том числе (но не только) 11-битную шину, шину архитектуры промышленного стандарта (Industrial Standard Architecture (ISA)), микроканальной архитектуры (Micro-Channel Architecture (MCA)), расширенную ISA (Extended ISA (EISA)), интеллектуальных электронных схем возбуждения (Intelligent Drive Electronics (IDE)), локальную шину Ассоциации производителей средств видеоэлектроники (VESA Local Bus (VLB)), соединения периферийных компонентов (Peripheral Component Interconnect (PCI)), универсальную последовательную шину (Universal Serial Bus (USB)), улучшенного графического порта (Advanced Graphics Port (AGP)), шину международной ассоциации производителей плат памяти для персональных компьютеров (Personal Computer Memory Card International Association (PCMCIA)) и интерфейс малых вычислительных систем (Small Computer Systems Interface (SCSI)).
[00109] Все блоки, используемые в системе, могут быть реализованы с помощью электронных компонент, используемых для создания цифровых интегральных схем, что очевидно для специалиста в данном уровне техники. Не ограничиваюсь, могут быть использоваться микросхемы, логика работы которых определяется при изготовлении, или программируемые логические интегральные схемы (ПЛИС), логика работы которых задается посредством программирования. Для программирования используются программаторы и отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры: Verilog, VHDL, AHDL и др. Альтернативой ПЛИС могут быть программируемые логические контроллеры (ПЛК), базовые матричные кристаллы (БМК), требующие заводского производственного процесса для программирования; ASIC - специализированные заказные большие интегральные схемы (БИС), которые при мелкосерийном и единичном производстве существенно дороже.
[00110] Обычно, сама микросхема ПЛИС состоит из следующих компонент:
• конфигурируемых логических блоков, реализующих требуемую логическую функцию;
• программируемых электронных связей между конфигурируемыми логическими блоками;
• программируемых блоков ввода/вывода, обеспечивающих связь внешнего вывода микросхемы с внутренней логикой.
[00111] Также блоки могут быть реализованы с помощью постоянных запоминающих устройств.
[00112] Таким образом, реализация всех используемых блоков достигается стандартными средствами, базирующимися на классических принципах реализации основ вычислительной техники.
[00113] Как будет понятно специалисту в данной области техники, аспекты настоящего технического решения могут быть выполнены в виде системы, способа или компьютерного программного продукта. Соответственно, различные аспекты настоящего технического решения могут быть реализованы исключительно как аппаратное обеспечение, как программное обеспечение (включая прикладное программное обеспечение и так далее) или как вариант осуществления, сочетающий в себе программные и аппаратные аспекты, которые в общем случае могут упоминаться как «модуль», «система» или «архитектура». Кроме того, аспекты настоящего технического решения могут принимать форму компьютерного программного продукта, реализованного на одном или нескольких машиночитаемых носителях, имеющих машиночитаемый программный код, который на них реализован.
[00114] Также может быть использована любая комбинация одного или нескольких машиночитаемых носителей. Машиночитаемый носитель хранилища может представлять собой, без ограничений, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему, аппарат, устройство или любую подходящую их комбинацию. Конкретнее, примеры (неисчерпывающий список) машиночитаемого носителя хранилища включают в себя: электрическое соединение с помощью одного или нескольких проводов, портативную компьютерную дискету; жесткий диск, оперативную память (ОЗУ), постоянную память (ПЗУ), стираемую программируемую постоянную память (EPROM или Flash-память), оптоволоконное соединение, постоянную память на компакт-диске (CD-ROM), оптическое устройство хранения, магнитное устройство хранения или любую комбинацию вышеперечисленного. В контексте настоящего описания, машиночитаемый носитель хранилища может представлять собой любой гибкий носитель данных, который может содержать или хранить программу для использования самой системой, устройством, аппаратом или в соединении с ними.
[00115] Программный код, встроенный в машиночитаемый носитель, может быть передан с помощью любого носителя, включая, без ограничений, беспроводную, проводную, оптоволоконную, инфракрасную и любую другую подходящую сеть или комбинацию вышеперечисленного.
[00116] Компьютерный программный код для выполнения операций для шагов настоящего технического решения может быть написан на любом языке программирования или комбинаций языков программирования, включая объектно-ориентированный язык программирования, например Java, Smalltalk, С++ и так далее, и обычные процедурные языки программирования, например язык программирования «С» или аналогичные языки программирования. Программный код может выполняться на компьютере пользователя полностью, частично, или же как отдельный пакет программного обеспечения, частично на компьютере пользователя и частично на удаленном компьютере, или же полностью на удаленном компьютере. В последнем случае, удаленный компьютер может быть соединен с компьютером пользователя через сеть любого типа, включая локальную сеть (LAN), глобальную сеть (WAN) или соединение с внешним компьютером (например, через Интернет с помощью Интернет-провайдеров).
[00117] Аспекты настоящего технического решения были описаны подробно со ссылкой на блок-схемы, принципиальные схемы и/или диаграммы способов, устройств (систем) и компьютерных программных продуктов в соответствии с вариантами осуществления настоящего технического решения. Следует иметь в виду, что каждый блок из блок-схемы и/или диаграмм, а также комбинации блоков из блок-схемы и/или диаграмм, могут быть реализованы компьютерными программными инструкциями. Эти компьютерные программные инструкции могут быть предоставлены процессору компьютера общего назначения, компьютера специального назначения или другому устройству обработки данных для создания процедуры, таким образом, чтобы инструкции, выполняемые процессором компьютера или другим программируемым устройством обработки данных, создавали средства для реализации функций/действий, указанных в блоке или блоках блок-схемы и/или диаграммы.
[00118] Эти компьютерные программные инструкции также могут храниться на машиночитаемом носителе, который может управлять компьютером, отличным от программируемого устройства обработки данных или отличным от устройств, которые функционируют конкретным образом, таким образом, что инструкции, хранящиеся на машиночитаемом носителе, создают устройство, включающее инструкции, которые осуществляют функции/действия, указанные в блоке блок-схемы и/или диаграммы.
[00119] Приведенное выше описание включает в себя примеры одного или более аспектов. Конечно, нет возможности описать каждую возможную комбинацию компонентов или методологий с целью представления описанных выше аспектов, но для специалиста в данной области техники будет понятно, что возможно множество дополнительных комбинаций и перестановок различных аспектов. В соответствии с этим описанные аспекты предназначены для охвата всех таких изменений, модификаций и вариантов, которые находятся в пределах сущности и объема приложенной формулы изобретения. Кроме того, в той степени, что термин "включает в себя" используется либо в подробном описании изобретения, или в формуле изобретения предполагается, что такой термин имеет включительный смысл, аналогично термину "содержащий", как термин "содержащий" интерпретируется, когда его используют как переходное слово в формуле изобретения.
[00120]