Уровень техники
Развитие Интернета в последние годы выявило тот факт, что заслуживающая доверия идентификация является основой для надежных сетевых служб. Так как просто предоставление идентичности, такой как номер клиента или имя пользователя, не является достаточным с точки зрения безопасности, должно быть добавлено дополнительное средство аутентификации, чтобы гарантировать, что идентичности не используются неправильно или распространяются неконтролируемым образом. Традиционные способы доставки имени пользователя и секретного пароля, известные как статическая аутентификация, в настоящее время известны как слишком неубедительный способ аутентификации удаленного пользователя, так как способ является просто "статическим". Подслушивающие и другие средства перехвата пары "имя пользователя-пароль" непосредственно получают доступ к службе, и нет реального способа определить, что идентичность была скомпрометирована. Самое обычное средство, чтобы заставить пользователя открыть свою пару "имя пользователя-пароль", которое известно как "выуживание", где на вид подлинное сообщение от владельца службы просит пользователя предоставить свое имя пользователя и пароль фиктивному сайту, является необычайно эффективным. Другим средством "социальной инженерии" и обычной реальности является то, что пары "имя пользователя/пароль" с высокой степенью уверенности могут быть угаданы или взломаны способами "грубой силы".
Чтобы урегулировать вопросы со статической аутентификацией, были разработаны несколько схем динамической аутентификации, включающих в себя несколько средств, требующих внешний "аппаратный ключ", например небольшую переносную карту, ключ-брелок или другое устройство, которое способно формировать "пароли", которые изменяются каждый раз, когда они используются, т.е. заменяющих статическую схему динамической.
Также сегодня существует общее соглашение, признающее, что то, что известно как "двухфакторная аутентификация", является эффективным способом увеличить устойчивость к взлому процесса идентификации, так как пользователь должен иметь что-то физическое и также знать секрет, чтобы провести транзакцию. Требование наличия физического устройства добавляет другое измерение безопасности, так как сингулярность идентичности может быть более легко приведена в жизнь. Если физическое устройство потеряно, пользователь признает это и может запросить полномочия для аннулирования своего текущего устройства.
Несколько средств идентификации и аутентификации на основе аппаратного ключа вводились на рынок несколько лет, при этом большинство известных средств, вероятно, является "смарт-картой". Посредством внедрения криптографического процессора и криптографического ключа в карту двунаправленный процесс, известный как вызов-ответ, может использоваться там, где пароль в тривиальном описании выполнен динамическим образом в схеме, известной только поставщику службы. Эта схема эффективно препятствует традиционным средствам перехвата статического пароля и его последующего воспроизведения. Так как начальный вызов выдается поставщиком службы и "шифруется" криптографическим процессором в аппаратном ключе пользователя, запись ответа не имеет смысла, так как он не будет работать для последующих вызовов.
Хотя смарт-карта на первый взгляд выглядит, вероятно, идеальным решением для удаленной идентификации, следует отметить, что ее довольно трудно и дорого осуществить на практике. Кроме стоимости фактических аппаратных средств и их развертывания, вопросы интеграции, встающие на стороне клиента, зачастую являются более проблемными. Хотя существует определенный уровень согласованности в операционных системах и компьютерных аппаратных средствах в среднем контингенте пользователей, число перестановок и видимых различий между разными системами и версиями аппаратных средств и программного обеспечения очень велико. Кроме того, интеграция и взаимодействие между службой и веб-браузером пользователя или клиентским прикладным программным обеспечением являются отчасти открытыми для нестандартных реализаций. Еще дополнительно обычно требуются более или менее сложные процедуры установки программных драйверов, которые некоторым образом ограничивают пользователей от их установки и из-за своего неудобства ограничивают привлекательность с точки зрения пользователя. С точки зрения расходов на развертывание и стоимости владения, в значительной степени неизвестная и сомнительная стоимость и затраты по поддержке зачастую отпугивают владельцев службы от этого решения, привлекательного в других отношениях.
Вышеописанные недостатки и неудобство развертывания смарт-карт создали рынок для устройств аутентификации, работающих автономно. Не требуя прямого соединения с клиентским компьютером, проблемы несовместимости могут в значительной степени быть обойдены за счет большего пользовательского взаимодействия и менее автоматизированной схемы вызов-ответ. Хотя существует несколько разных разновидностей, они, как правило, способны создавать только динамический пароль с или без предыдущего запроса, который необходимо ввести в устройство. Так как этот процесс по своей природе является ручным, число взаимодействий с устройством должно поддерживаться на минимальном уровне. Кроме того, так как необходимо вводить цифры по отдельности, количество цифр, используемых в процессе, также необходимо сохранять минимальным, что, в свою очередь, требует более сложных процессов для использования, чтобы уменьшить риск криптоанализа перехваченных отправленных кодов. Эта схема в типичном варианте требует изменяющегося во времени кода, который необходимо сохранять посредством устройства, и серверу необходимо синхронизировать это в каждом случае аутентификации. Это, в свою очередь, определяет некоторые требования по устойчивости временной базы устройства и дополнительно требует, что устройство должно иметь батарею, чтобы сохранять временную базу. Излишне говорить, это добавляет дополнительные проблемы и потенциальные источники ошибок.
Использование биометрии, такой как сканирование отпечатка пальца, в последние годы было признано как удобный и безопасный способ идентификации и аутентификации. Однако, так как сканированные биометрические данные сами по себе не являются идентификацией, в типичном варианте необходимо доставлять дополнительный код идентификации, так что биометрические данные могут совпадать с предварительно сохраненным биометрическим образцом, парно соединенным с этим кодом идентификации. Тогда можно утверждать, что статическая природа биометрических данных будет делать их не более безопасными, чем статический пароль. Кроме того, существует общая забота о персональной целостности при доставке биометрического образца, так как биометрические данные не могут быть отменены и, следовательно, будут иметь неограниченный срок существования. В установках, где проверка соответствия биометрических данных выполняется полностью в устройстве и существует только один или несколько пользователей для этого устройства, эта проблема может быть обойдена. На практике это использовалось, чтобы получить доступ к персональным изделиям, таким как настольные компьютеры и т.п. С точки зрения удобства и безопасности это является довольно привлекательным решением, так как не нужно доставлять идентификацию и биометрические данные сохраняются, сканируются и сопоставляются в самом устройстве. Это, в свою очередь, отменяет необходимость распространять биометрический образец, и сохраненный образец может быть удален в любое время.
В общих словах, желательно иметь систему, которая предоставляет более удобный компромисс между простотой схемы имя пользователя-пароль, безопасностью схемы со смарт-картой и переносимостью схемы с автономным аппаратным ключом, при этом удерживая общую низкую стоимость. Кроме того, в определенных окружениях желательно иметь удобство и скорость доставки простого отпечатка пальца без передачи биометрического образца.
Описание изобретения
Настоящее изобретение относится к устройству для идентификации и аутентификации удаленного пользователя, подключающегося к службе по сети, содержащему криптографический процессор и, по меньшей мере, один криптографический ключ и средство хранения, дополнительное средство обработки и интерфейсное средство, чтобы сформировать и передать статическую часть идентификации в соединении с динамической частью посредством эмуляции через стандартное средство ввода клиентского терминала по точной команде владельца устройства.
Все типичные Интернет-службы имеют, по меньшей мере, общий знаменатель относительно клавиатурного ввода, задаваемого кодами нажатия буквенно-цифровых клавиш, отправляемых в открытом тексте, клавиша за клавишей, через порт клавиатуры. Сегодняшние компьютеры в типичном варианте имеют традиционный порт PS/2 и/или современный USB-порт, к которому может быть подключена внешняя клавиатура. Хотя традиционный порт клавиатуры PS/2 является отчасти ограниченным определенными компьютерными аппаратными средствами, он, как правило, поддерживается большинством операционных систем. В последние годы клавиатуры были согласованы с интерфейсом универсальной последовательной шины (USB), где используется простой протокол покнопочного ввода, известный как устройство общения с человеком (HID). Эта согласованность вместе с общей встроенной поддержкой (технология "подключай и работай" («Plug-and-Play»)) для таких устройств без необходимости дополнительных драйверов и/или привилегий в типичном варианте делает подключение внешней клавиатуры очень простой и безболезненной процедурой с высокой вероятностью успеха. И PS/2-, и USB-порты подают электропитание, которое позволяет присоединенному устройству питаться от компьютера, что позволяет устройству работать без необходимости наличия дополнительной батареи или другого источника электропитания.
В своей обычной реализации настоящее изобретение показывает устройство, подключаемое к стандартному порту клавиатуры, которое с точки зрения терминала действует так, как если бы оно было внешней клавиатурой, т.е. устройство вполне эмулирует клавиатуру и имеет встроенные признаки для отправки эмулированных кодов клавиш. По команде пользователя устройство может формировать уникальную последовательность эмулированных нажатий клавиш, которые отправляются как поток терминалу, к которому оно подключено.
Чтобы защитить устройство от использования неавторизованным лицом, необходимо предоставить средство двухфакторной аутентификации или другое средство, чтобы ограничить использование только законным пользователем. Современный подход должен представить устройство со средством для пользователя для того, чтобы доставлять персональную и/или конфиденциальную части аутентификационной информации, например клавиатуру для ввода персонального идентификационного номера (PIN), джойстик для ввода уникального кодового шаблона, считыватель отпечатков пальцев, средство распознавания голоса или другое средство биометрического сканирования. Доставленные данные персональной аутентификации затем сопоставляются в устройстве с предварительно сохраненным шаблоном. Если доставленная информация совпадает, устройство рассматривается как находящееся в руках законного пользователя, и формируется идентификационная и аутентификационная последовательность. Если совпадения не существует, процесс завершается, и информация не покидает устройство.
Чтобы дополнительно упростить аппаратные средства устройства и сохранить совместимость с существующими системами "имя пользователя-пароль", вышеописанная клавиатура может быть опущена. Вводя действующие имя пользователя и пароль в соответствующие поля, последовательность выполняется посредством нажатия одной клавиши активации в устройстве. Статическое имя пользователя и пароль, таким образом, присоединяются к динамическому коду, сформированному устройством. Хотя эта схема будет отчасти компромиссом с точки зрения безопасности, так как троянская программа может перехватить введенную пару "имя пользователя и пароль", требование физического устройства и дополнительное требование, что активация должна быть выполнена вручную, сделают перехваченную пару "имя пользователя-пароль" менее полезной.
При условии, что вышеописанная упрощенная схема будет принята с точки зрения безопасности, еще более упрощенное (и, таким образом, даже менее дорогостоящее) устройство может быть предоставлено без какой-либо кнопки активации вовсе. Активация тогда будет выполняться посредством использования средства вывода, предоставленного интерфейсом клавиатуры. Чтобы сделать этот подход портативным, насколько возможно, будут использоваться стандартизированные выходные сообщения, предоставленные драйвером клавиатуры, которые в типичном варианте будут ограничены осуществлением, таким, чтобы использовать любой из доступных кодов индикатора состояний Caps Lock (фиксация верхнего регистра букв), Num Lock (фиксация числового регистра) и/или Scroll Lock (блокировка прокрутки), которые доступны на большинстве стандартных клавиатур. Ввод простой последовательности активации, которая должна быть выбрана, должен использоваться только в целях активации, так как эти клавиши зарезервированы для других целей. Простая схема, например, может применять два последовательных нажатия на клавишу Scroll Lock. Это, в свою очередь, отправит обновление индикатора на все присоединенные клавиатуры. Эта последовательность с включенным Scroll Lock и выключенным Scroll Lock будет распознана устройством аутентификации (которое опять же идентифицировано компьютером как клавиатура) и заставит устройство выдать кодовую последовательность аутентификации. Альтернативно, последовательность клавиш запуска может быть секретной комбинацией клавиш, которая используется вместо PIN-кода. Устройство аутентификации затем перехватывает принятую последовательность кодов обновления индикатора и ожидает предполагаемую последовательность, известную только владельцу устройства, перед выдачей кодовой последовательности аутентификации.
Кодовая последовательность аутентификации начинается с уникального идентификатора, который идентифицирует пользователя и за которым следует код аутентификации в форме зашифрованного одного длинного числа одноразового использования, которое набрано в определенных полях. Код аутентификации спроектирован односторонним, т.е. только аппаратный ключ может сформировать его и только принимающий узел может декодировать его и определить, является ли код подлинным.
Чтобы помешать попыткам выуживания и взломам защиты путем подмены оригинала, код аутентификации включает в себя различные поля, которые изменяются каждый раз, когда формируется код. Там, где одноразовые коды часто более или менее чувствительны к атакам-выуживаниям, сущность изобретения должна включать в себя энергонезависимый линейный счетчик (NVC), который увеличивается на единицу первый раз, когда устройство используется после включения питания, при этом в то же время значение энергозависимого таймера (VT) инициируется в нулевое значение, и третий энергозависимый счетчик (VC) инициируется в нулевое значение. После включения питания таймер считает с довольно стабильной частотой около 5 Гц.
Каждый раз, когда новый код аутентификации выдается устройством, текущие значения NVC и VT захватываются и сцепляются с VC после того, как VC увеличился на один. Эти три поля вместе создают гарантированное уникальное значение, которое также имеет такую характеристику, что самый последний код всегда выше, чем более старый, что, по существу, предоставляет критерий против взломов защиты путем подмены оригинала.
Кроме того, в сеансе каждый принятый код аутентификации будет следовать предсказуемой схеме.
Первый выданный код аутентификации всегда имеет значения VT и VC, установленные в ноль. Кроме того, значение NVC должно быть как предварительно записанное значение плюс один. Когда этот код принимается, отметка времени должна быть захвачена из источника системных часов реального времени в значение VS.
Второй выданный код аутентификации должен иметь свое значение NVC, соответствующее единице в начале сеанса. Значение VC должно быть единицей. При условии, что VT считает с частотой около 5 Гц (значение которого, по существу, не критично), значение VT должно быть достаточно известно из сохраненного значения VS. Соотношение между VS и VT даст указывающее средство фактической частотности между абсолютным временем и менее точным временем, сформированным посредством VT.
Третий выданный код аутентификации может иметь свое значение NVC, соответствующее единице в начале сеанса, а значение VC будет установлено в два. Значение VT теперь должно быть даже более известным данным VT-(T-2) и VT(T-1).
Четвертый выпущенный код затем следует вышеописанному шаблону и т.д.
Очевидно, так как схема, описанная выше, полагается на тот факт, что каждый принятый код аутентификации сравнивается с информацией из предыдущего, она отчасти чувствительна к единичным нечаянно потерянным кодам. При условии, что пользователь нечаянно выдает код, когда не находится в сеансе, значение VT не будет нулевым, как ожидается, когда используется в первый раз. В таком случае служба проверки должна информировать пользователя, что схема не синхронизирована и понимает ли пользователь, что может быть потенциально мошенническая ситуация, или понимает ли он или она, что существует правдоподобное объяснение для расхождения.
Помимо вышеуказанного исключения, другая проблема может возникнуть, если пользователь "совершает махинации" с устройством время от времени, таким образом, влияя на значение NVC между "реальными" сеансами. Так как может возникнуть "дыра" либо в значении NVC, либо в значении VC в результате обманной операции, это состояние важно рассмотреть. Опять же, наиболее честным подходом является информирование пользователя о том, что существует различие. Если существует сомнение, что мошенник/подменяющий пользователь обманным образом использует идентичность, поставщик службы может всегда запустить "операцию повторной синхронизации", где у пользователя запрашиваются ответы на определенные вопросы в течение случайного периода времени. Если пользователю не удается правильно ответить на эту "схему повторной синхронизации", учетная запись пользователя может быть заблокирована поставщиком службы.
Помимо динамических кодов, описанных выше, код дополнительно включает в себя фиксированный секретный код, который известен только службе. Чтобы сохранить стоимость устройства низкой, не должно быть отдельного требования по наличию батарейной поддержки и хранения значения времени, сохраненного в энергонезависимом средстве. Кроме того, с точки зрения стоимости, не должно быть требований по наличию отдельной абсолютной точности энергозависимого средства хранения времени, позволяя производить устройство как устройство с одной микросхемой без необходимости внешнего кварцевого кристалла, что, в свою очередь, позволяет интегрировать его в стандартную кредитную карту.
Все поля затем сцепляются вместе (и заполняются фиксированными или случайными битами, если желательно сделать криптоанализ даже более трудным) и затем шифруются с помощью фиксированного симметричного ключа шифрования.
Типичный сценарий использования, независимый от ввода с клавиатуры, тогда будет следующим.
A1). Пользователь вводит URL страницы регистрации Интернет-службы, где фокус ввода по умолчанию находится в поле имени пользователя. За полем имени пользователя должно следовать поле пароля. В предлагаемом сценарии одна и та же страница и основная логика уровня техники могут использоваться для (законных) пользователей, которые регистрируются только с помощью статического имени пользователя и пароля.
A2). Посредством ввода правильного PIN на клавиатуре устройства или джойстике (или, в случае биометрического варианта, просто помещения пальца на сканер отпечатков пальцев в устройстве) устройство отправляет эмулированную последовательность нажатий клавиш предварительно сохраненного имени пользователя, скажем "Alex_2285".
A3). Сразу после этого эмулированное нажатие клавиши TAB отправляется устройством, которое переводит фокус ввода на экране на поле пароля.
A4). Все сцепленные поля шифруются и преобразуются в буквенно-цифровое представление (предпочтительно MIME-код/BASE 64 7-битный ASCII-код или что-то подобное). Полный 128-битный зашифрованный пакет затем сформирует 128/6=22 буквенно-цифровых символа, которые все отправляются устройством в качестве эмулированного потока кодов нажатий клавиш, скажем "ks9Af48auzPmcAuLhjf298".
A5). Затем необязательно следует ввод с помощью нажатия клавиши "ENTER", отправляемого устройством, что затем будет применено к кнопке по умолчанию на странице "Регистрация", которая, в свою очередь, утверждает введенную информацию об имени пользователя и пароле тем же образом, что был бы сделан в типичном процессе ручной регистрации.
A6). Принятое имя пользователя используется, чтобы найти пользователя в базе данных, где сохраняются фиксированный секретный код пользователя, ожидаемое значение линейного счетчика и ключи шифрования.
A7). Если пользователь найден в базе данных, принятый пароль дешифруется с помощью симметричного ключа. После дешифрации принятый секретный код пользователя проверяется с помощью значения, сохраненного в базе данных. Если он не совпадает, данные были не зашифрованы с помощью правильного ключа, и, следовательно, транзакция отменяется.
A8). Кроме того, сохраненный секретный код пользователя, значения NVC, VC и VT также проверяются. При условии, что счетчики NVC и VC равны предполагаемым значениям, сохраненные значения обновляются, что затем отражается на следующих ожидаемых значениях счетчиков.
A9). Если какое-либо из принятых значений счетчика ниже, чем ожидаемое значение, регистрация отменяется, так как это может быть попыткой замены кода. Если, однако, какое-либо из принятых значений счетчика выше, чем ожидаемое, пользователь мог сформировать коды, которые не достигли цели, или просто развлекаясь. Если это так, пользователь может быть проинформирован (и потенциально предупрежден) о таком случае и может быть опрошен, воспринимает ли он или она это как обычную ситуацию (может быть правдоподобный случай) или существует причина, чтобы подозревать, что идентичность стала объектом злоупотребления. При условии, что коды были извлечены из устройства потенциальным хакером, эти коды, однако, будут автоматически сделаны недействительными, так как линейный счетчик увеличился.
A10). Когда данные персональной аутентификации (PIN и/или биометрические данные) вводятся и подтверждаются и NVC увеличивается на один, VC и VT оба инициируются в нулевое значение. VT затем дополнительно считает приблизительно с частотой 5 Гц, что позволяет новому и абсолютно уникальному коду сформироваться в любое время без какого-либо риска конфликта.
A11). Служба может теперь в любое время попросить пользователя повторно идентифицировать себя, при этом персональная идентификация опять должна быть предоставлена, где формируется NVC. Однако, чтобы сохранить высокий уровень безопасности целостности сеанса без его усложнения для пользователя, предусмотрена специальная процедура для периодических "повторных аутентификаций". Всякий раз, когда необходимо (это может быть справедливо на каждой странице), служба может регистрировать страницы, где фокус ввода установлен в поле кода аутентификации. После успешной аутентификации пользователя (PIN-код или биометрические данные) посредством только нажатия кнопки на устройстве новый код аутентификации формируется и передается в потоковом режиме как эмулированные нажатия клавиш, за которыми следует клавиша ENTER. Таким образом, дополнительные действия (нажатие ENTER на устройстве, скорее, на клавиатуре обычного компьютера) не нужны, чтобы получить значительное увеличение безопасности сеанса. Хотя сценарий использования выше относится к устройству с PIN-кодом или джойстику, чтобы предоставить секретный код персональной идентификации, несколько преимуществ могут быть получены устройством со средством биометрического ввода, таким как небольшой встроенный сканер отпечатков пальцев. Традиционные недостатки биометрической аутентификации могут здесь быть обойдены, так как образец отпечатка пальца будет сканироваться устройством, сохраняться в устройстве и сравниваться в устройстве, все объединено без какой-либо возможности найти или изменить сохраненный образец. Так как отпечаток пальца используется только на одном единственном устройстве, может быть выполнено точное сопоставление, так как не нужно выполнять коррекцию для разных считывателей.
Кроме того, можно обойти традиционный скептицизм по отношению к биометрии с точки зрения персональной целостности. Если устройство потеряно или учетная запись аннулирована, не должно быть страха, что кто-то может неправильно употребить или распространить биометрический образец владельца устройства.
Кроме того, развитие в недавние годы датчиков сканирования отпечатков пальцев с низкой стоимостью может сделать это эффективное по стоимости решение также хорошим.
Основные этапы в сценарии с отпечатком пальца тогда будут следующими (упрощено из ввода на основе PIN-кода, описанного выше).
B1). Пользователь помещает фокус ввода в поле имени пользователя.
B2). Пользователь кладет или перемещает свой палец по сканеру отпечатков пальцев брелка, вставленного в USB-порт.
B3). Отсканированный отпечаток пальца сравнивается с сохраненным образцом. Если образцы совпадают, имя пользователя и сформированные одноразовые коды отправляются посредством эмулированного нажатия клавиш. В общих словах, вышеописанный биометрический сценарий может рассматриваться как способ сделать биометрические данные "уникальными на основе каждой службы, динамическими и отменяемыми".
В упрощенных условиях устройство может быть выполнено так, чтобы включать в себя только одну кнопку. Сценарий использования может быть следующим.
C1). Пользователь вручную вводит свое имя пользователя в поле имени пользователя.
C2). Пользователь вводит свой пароль в поле пароля.
C3). Пользователь нажимает кнопку на устройстве и, таким образом, производит динамический пароль, который присоединяется к ранее введенному паролю.
В еще даже более упрощенном сценарии устройство может быть сделано не имеющим какую-либо кнопку вовсе. Сценарий использования тогда может быть следующим.
D1). Пользователь помещает фокус ввода в поле имени пользователя.
D2). Пользователь вводит секретную ключевую последовательность на клавиатуре по умолчанию с помощью кнопок, управляющих индикаторами вывода Caps Lock, Num Lock и Scroll Lock, в этом примере, скажем, Caps-Num-Caps-Scroll.
D3). Если введенная последовательность совпадает с контрольной последовательностью, сохраненное имя пользователя устройства и динамический код доступа выдаются устройством.
D4). Устройство отправляет соответствующие скан-коды для кнопок Num Lock и Scroll Lock, чтобы восстановить их в предыдущее состояние перед тем, как была введена последовательность. Устройство может с точки зрения удобства и лояльности клиента предоставить средство для автоматической передачи URL, предварительно сохраненного в устройстве, в качестве потока эмулированных нажатий клавиш. Пользователю тогда будет нужно только запустить свой браузер и нажать кнопку "соединение", что затем передаст URL и нажатие клавиши ENTER. Альтернативно, это может быть сделано, чтобы также объединить этап первоначальной идентификации и аутентификации. В таком окружении коды первоначальной идентификации и аутентификации будут отправлены в качестве параметров по первоначальному URL, например http://www.acmc.com/login. htmi?id=Alcx 2285?auth=ks9Af48auzPmcAu Lhjf298.
Растущая в последние годы популярность брелоков USB-устройств карт памяти ведет к тому, что дополнительные полезные характеристики могут дополнительно также объединять банк памяти. Устройство тогда действует как "сложное" устройство, и как эмулирующее устройство массовой памяти, и как клавиатурное устройство. При условии, что устройство имеет клавиатуру, одну кнопку или биометрический сканер, они могут использоваться, чтобы разблокировать в обычном состоянии отключенную память. В зависимости от предоставленного кода доступа защита от чтения и/или записи может быть заблокирована или разблокирована по команде владельца устройства.
В определенных окружениях может быть полезно предоставить устройство, которое может использоваться для идентификации и аутентификации в более чем одной службе. В таком окружении устройство может быть снабжено разными именами пользователей, кодами и ключами для всех намеченных разных служб. В зависимости от того, какие данные персональной идентификации были указаны, устройство определяет, какую службу использовать. В случае устройства с биометрическим сканированием может использоваться набор клавиш, чтобы выбрать службу, в которой пользователь хочет идентифицировать и аутентифицировать себя. Такое устройство может быть предварительно запрограммировано третьим доверенным источником, чтобы хранить, скажем, десять разных имен пользователей, ключей и кодов для десяти разных служб. Такие устройства, имеющие предварительно напечатанный код издателя устройства (который может быть URL), напечатанный на них, могут тогда продаваться за наличные деньги пользователям, которые сами подписываются на службы, которые они хотят использовать. Как часть регистрационной службы, пользователь вводит напечатанный код издателя в поле регистрационной формы и перемещается в поле имени пользователя и пароля, выбирает номер имеющейся в виду службы и вводит PIN-код (или биометрические данные). Служба тогда может использовать код издателя, чтобы автоматически найти соответствующий секретный код и ключ шифрования для выбранного номера службы.
Кроме того, ключевые аспекты настоящего изобретения могут использоваться, чтобы передавать любой тип односторонней информации из устройства, которым владеет пользователь, в централизованную службу по сети, например интеллектуальная фармацевтическая упаковка, которая описана в патентной заявке США 6,244,422. В таком окружении дополнительные собранные данные могут быть преобразованы в поток символов и отправлены как эмулированные нажатия клавиш, таким образом, позволяя такому устройству использоваться с любым компьютером независимо от марки или установленного браузера и без дополнительных каких-либо требований установить какое-либо клиентское программное обеспечение.
Так как изобретение основано на чистой односторонней передаче через эмуляцию клавиатуры, дополнительная батарея и дисплей позволяют устройству использоваться в сценариях, где порт клавиатуры недоступен, где информация тогда будет считываться с экрана и передаваться в терминал (или через телефон) "ручными или вербальными средствами". Однако в таком окружении устройство, возможно, не может обеспечивать полную безопасность, так как число цифр, которые нужно считать с дисплея, может быть очень ограниченным с практической точки зрения.
Дополнительным преимуществом для определенных типов служб будет требование повтора взаимодействия с человеком, где "роботы", т.е. компьютеры, действуют как люди в сетевых службах. С практической точки зрения, тогда как ввод ключа на терминале A или B является небольшим затруднением с точки зрения реального человека, "робот" может, очевидно, физически не нажимать кнопки на внешнем устройстве. Для сайтов групповых игр, таких как покер, это может быть реальным преимуществом, так как помимо неизбежных проблем с безопасностью "роботы" представляют собой другую угрозу, которая может быть устранена с помощью признаков настоящего изобретения.
Хотя это и не является сутью в настоящем изобретении, персонализация изготовленных устройств будет ключевой проблемой в общей реализуемости и итоговой стоимости развертывания системы. На стадии персонализации открытая (id пользователя) и секретная информация (ключ шифрования и секретный id пользователя) передается устройству перед развертыванием пользователю. Типичным подходом будет вставка устройства в USB-порт и запись данных в безопасном и ограниченном окружении. Однако это может потребовать трудоемкого и медленного ручного процесса, и при условии, что устройства могут быть запакованы в оберточный материал или другую форму упаковки, другим вариантом будет наличие интерфейса телеметрии с малым радиусом действия, причем информация будет обмениваться между устройствами из сервисной программы конфигурирования. Потенциально подходящим способом может быть оснащение устройств антенной радиочастотной идентификации (RFID), чтобы позволить им конфигурироваться большими партиями с помощью самого современного оборудования. Такой подход принесет дополнительное преимущество в том, что устройства могут использоваться также как RFID-метки, подходящие для применений типа управления доступом и т.д.
Однако всегда важно сохранить процесс инициализации в ограниченном и безопасном окружении, так как секретная информация передается открытым текстом посредством этого одного шага. Предпочтительно ключ и формирование кода должны быть сформированы в той же системе, что и используемая система для проверки кода доступа. По соображениям безопасности предпочтительно "закрытое применение", т.е. устройство не может управляться или опрашиваться извне.
С точки зрения международного использования широкое разнообразие национальных раскладок клавиатур ставит проблему с точки зрения развертывания. С учетом того, что предполагается устройство аутентификации, чтобы передать MIME/Base64-закодированное сообщение, USB-клавиатура по своей природе передает, скорее, "скан-коды", чем символы. Если, например, устройство, сконфигурированное с раскладкой клавиатуры США, будет использоваться на компьютере в Германии, определенные переданные коды нажатий клавиш будут интерпретированы неправильно, таким образом, давая непонятный код. Однако могут быть приняты несколько критериев, чтобы устранить эту проблему.
E1). Схема кодирования может быть изменена, чтобы использовать символы, которые являются общими для большинства раскладок клавиатур. Там, где схема с шестнадцатеричным кодом выдаст символы 0…9 и a…f, модифицированная схема может использовать символы "bdefghijklnrtuv" и один дополнительный символ вместо 0…f.
E2). Когда отправляется префикс к динамическому паролю, устройство может отправить последовательности скан-кодов. Принимающее приложение может затем исследовать эти принятые "контрольные коды", чтобы определить, какая текущая раскладка клавиатуры используется.
E3). Более сложное хост-приложение может реализовать схему "предположения", при этом код, который отбрасывается, может быть проверен с помощью одного из нескольких известных и общих ключевых соответствий. Устройство аутентификации, производящее символы согласно схеме клавиатуры США, может французским сайтом быть переведено посредством "предположения", при этом список известных сопоставлений клавиатур испытывается посредством перевода, если первоначальная проверка заканчивается неудачей.
При условии, что схема аутентификации полагается на тот факт, что меняющийся набор кодов необходимо проверять по центральной базе данных, схема ограничивает себя практическим смыслом, чтобы быть соотношением только один к одному, т.е. несколько разных сайтов не могут независимо проверить принятый код аутентификации. Вводя централизованную схему разрешения конфликтов, которая хранит значения NVC, VC и VT, так же как и асимметричный ключ, схема также может быть расширена до соотношения один-ко-многим. Центральная схема разрешения конфликтов тогда может хранить данные отслеживания отдельных идентичностей и ключей и делать соответствующие переводы для запрашивающих служб. В предпочтительном окружении каждый сайт может выполнить преобразование один-к-одному между традиционной парой "имя пользователя и пароль" и сформированного кода аутентификации. Схема разрешения конфликтов может тогда выполнить соответствующий перевод между проверенным кодом аутентификации и традиционным именем пользователем и паролем запрашивающего сайта.
Протокол между запрашивающим сайтом и схемой разрешения конфликтов затем использует PKI-схемы, чтобы зашифровать и подписать передаваемые запросы.
В окружениях, где устройство также используется вместе с известным приложением клиентского компьютера в известном IT-окружении, устройство может дополнительно быть сконструировано так, чтобы позволить запуск и извлечение кода аутентификации драйвера программного обеспечения. Преимущество в такой обстановке заключается в том, что операция аутентификации может быть выполнена по непосредственной и автоматической команде самого приложения. Однако важным является то, что такое окружение создано для того, чтобы предотвратить мошенническое извлечение троянской программой кодов аутентификации из устройства. Одним способом защиты устройства в таком окружении может быть использование PIN-кода, чтобы получить доступ к устройству тем же образом, что выполняется с традиционными смарт-картами. Устройство аутентификации с клавиатурой, одной кнопкой или биометрическим сканером может использовать эти средства, чтобы заставить пользователя "утвердить" запрошенную операцию.
Устройство может дополнительно быть предназначено для того, чтобы реализовать двустороннюю схему, такую как вызов-ответ. Выданный сервером вызов затем перемещается через клиентское приложение и через драйвер к устройству, которое, в свою очередь, создает ответ на основе вызова, который затем отправляется обратно серверному приложению.
Хотя эта схема может быть упомянута как известная сама по себе, это необязательное расширение для настоящего изобретения может позволить устройству аутентификации использоваться в более широком множестве окружений.
Используя стандартный HID-протокол посредством характерных отчетов, также может использоваться признак эмуляции клавиатуры, и специальный резидентный драйвер клиента не нужно устанавливать на компьютере.
В общих словах, настоящее изобретение описывает устройство и способ, чтобы традиционно и безопасно идентифицировать и аутентифицировать пользователя для службы в сети с очень низкими расходами, даже с точки зрения итоговых расходов по владению. Предоставляя уникально сформированные зашифрованные коды, может быть получен более высокий уровень безопасности для всех самых современных компьютеров, независимо от марки, операционной системы или Интернет-браузера, без необходимости устанавливать какие-либо драйверы на клиентском компьютере или другие компоненты программного обеспечения. Дополнительный уровень безопасности предоставляется посредством возможности быстро и автоматически предоставить новые коды аутентификации посредством нажатий клавиш. Следовательно, службы могут увеличить число раз, когда потребуется аутентификация, без добавления любого значимого препятствия для пользователя.
Краткое описание чертежей
Фиг.1 является примером возможного варианта осуществления устройства согласно изобретению.
Описание предпочтительного варианта осуществления
Предпочтительный вариант осуществления описывает идентификационную карту с возможностями аутентификации по размеру и форме кредитной карты, имеющую интегрированную клавиатуру, такую как описанная в патентной заявке США 6,616,035.
Упомянутая карта предназначена для того, чтобы использоваться вместе со считывателем карт с возможностью подключения к стандартному компьютеру и выполнять эмулирование, чтобы действовать как внешняя клавиатура с точки зрения упомянутого компьютера. Упомянутый считыватель может либо предоставить средство эмуляции стандартной PS/2- либо USB-клавиатуры, либо обоих. Этот подход предоставляет возможность считывателю подключаться почти к любому существующему сегодня компьютеру независимо от марки, операционной системы или Интернет-браузера.
Кроме того, упомянутая карта имеет функциональность для того, чтобы формировать уникальный код аутентификации по команде владельца карты вместе с именем пользователя в открытом тексте, упомянутое имя пользователя и код аутентификации используются в процедуре идентификации и аутентификации в службе по сети.
Код аутентификации включает в себя следующие поля
(размеры предоставленных полей в битах приведены только в иллюстративных целях):
a. Счетчик идентификаций сеанса (16 бит)
Это поле содержит линейный счетчик, который увеличивается, когда выдается первый код аутентификации после включения питания.
b. Счетчик сеансов (8 бит)
Счетчик сеансов является энергозависимым значением, которое инициализируется в нулевое значение при первом использовании после включения питания. Каждый раз, когда производится новый код аутентификации, это значение увеличивается на единицу.
c. Временная отметка (24 бита)
Временная отметка является линейным счетчиком, который инициируется в нулевое значение, когда увеличивается идентификатор сеанса. Счетчик увеличивается с фиксированной частотой приблизительно в 5 Гц, чтобы предоставить возможность формирования уникальных кодов в любое время.
d. Секретная идентичность пользователя (48 бит)
Это просто фиксированное значение, которое вместе с ключом шифрования дает окончательную уникальность каждого кода аутентификации. Альтернативно, это поле может быть заменено фиксированным числом, которое не является уникальным для каждого устройства. Аутентификация тогда основывается только на стойкости шифрования.
e. Случайное число (16 бит)
Это дополнительное "средство случайности" добавляет некоторые дополнительные критерии против криптоанализа, которые альтернативно могут быть осуществлены посредством хэш-функции вышеуказанных полей, если случайный источник недоступен.
f. Контрольная сумма (16 бит)
Этот код выдает контрольную сумму вышеуказанных кодов. Если какие-либо данные являются неправильными или используется неправильный ключ шифрования, эта контрольная сумма не совпадет. Контрольная сумма не должна быть криптографически надежной, так как она является для службы только средством проверки того, является ли принятая и дешифрованная информация правильной. Кроме того, вместе с переменными по времени вышеуказанными кодами это также добавляет некоторое дополнительное "средство случайности".
Поля идентификатора сеанса и временной отметки гарантируют, что все сформированные коды являются абсолютно уникальными для данной секретной идентичности пользователя. Предпочтительно принимающая служба должна хранить данные отслеживания этих двух значений, чтобы помешать любой попытке подмены и/или выуживания.
Сцепленные поля в итоге дают 128 бит. Перед отправкой 128-битный пакет шифруется с помощью сохраненного 128-битного симметричного ключа шифрования и затем преобразуется в буквенно-цифровой формат, чтобы позволить передачу в виде открытого текста, принимаемого всеми системами. Хорошим кандидатом является широко используемая схема кодирования MIME или Base64, где 6 бит данных упакованы в 7-битные ASCII-символы. 128-битный зашифрованный текст затем может быть преобразован в 128/6=22 буквенно-цифровых символа.
Альтернативно, чтобы сделать схему более интернациональной, может использоваться схема шестнадцатеричного кодирования. Каждое 8-битное значение преобразуется в два кода нажатия клавиш и вместо традиционного кодирования 0…9 и a…f, шестнадцать комбинаций для каждого полубайта переводятся в коды нажатия клавиш, которые являются более или менее общими для всех раскладок клавиатур. Такими клавишами являются "bdefghijklnrtuv", где необходим дополнительный универсальный символ.
Хотя настоящее изобретение не полагается ни на отдельную схему шифрования, ни на длину ключа или точное расположение и длину отдельных полей, хорошим вариантом для использования является 128-битный открытый текст, зашифрованный с помощью 128-битного улучшенного стандарта шифрования (AES), из-за его признанной прочности, высокой скорости обработки и небольшого объема занимаемой оперативной памяти. Более короткая длина ключа или более длинные поля могут быть легко осуществлены посредством наличия схемы блочного шифра.
Предназначенное устройство используется, когда надежный поставщик выдает устройства пользователям (которые по определению являются ненадежными). Однако в сценарии, где существует обоюдный уровень недоверия и может возникнуть проблема невозможности отказа от авторства как следствие симметричной схемы, используемой выше, может использоваться асимметричное шифрование. В таком случае устройство должно иметь возможность формировать пару ключей самостоятельно и дополнительно иметь средство, чтобы защитить секретный ключ от извлечения из устройства в любом формате. В таком асимметричном осуществлении для поставщика службы должно быть средство, чтобы найти открытый ключ, и, следовательно, конфликт невозможности отказа от авторства всегда может быть решен в суде.
Устройство может быть приспособлено так, чтобы позволять PIN-коду изменяться в любое время, при этом общий способ потребует от пользователя предоставить старый PIN-код и затем ввести новый и окончательно подтвердить его. Так как устройство не включает в себя какой-либо визуальной обратной связи, практическим способом может быть то, что информация о ходе работы отображается открытым текстом посредством отправки эмулированных нажатий клавиш. Типичная процедура может быть следующей.
F1). Пользователь нажимает OK и удерживает клавишу в течение трех секунд.
F2). Устройство отправляет текст "Изменение PIN-кода - предоставьте старый PIN-код" открытым тестом посредством эмулированных нажатий клавиш.
F3). Когда пользователь вводит PIN-код в устройстве, устройство отправляет '*' в открытом тексте.
F4). Если предоставленный PIN-код правильный, отправляется текст "Предоставьте новый PIN-код".
F5). После ввода отправляется текст "Подтвердите новый PIN-код".
F6). Когда новый PIN-код был введен и подтвержден, новый PIN-код сохраняется, чтобы заменить старый.
Должно быть очевидно, что предпочтительный вариант осуществления не ограничивает фактическую реализацию, конструкцию или физический внешний вид описанного устройства идентификации и аутентификации. В применениях с очень низкой стоимостью, например, желательно объединить функциональность вышеописанной карты с функциональностью вышеописанного считывателя в одном устройстве. Оцененный и широко распространенный форм-фактор - это то, что вмещается в брелок. Такое устройство может физически иметь внешний вид обычно доступного "брелока" или "USB-карты памяти", т.е. небольшого устройства, которое вставляется непосредственно в USB-порт компьютера. В случаях, где USB-порт компьютера расположен неудобно, может быть предусмотрен внешний удлинительный шнур. Хотя этот отдельный вариант осуществления устройства может быть снабжен клавиатурой для ввода PIN-кода, может быть более практичным встроить небольшой джойстик или подобное, при этом пользователь может ввести секретный код, щелкая по заданному шаблону, известному только пользователю.
Другим вариантом конструкции брелока может быть интегрирование небольшого сканера отпечатков пальцев, интегрированного в устройство (что может быть менее практичным для использования в варианте осуществления с картой). В таком окружении ввод PIN-кода заменяется тем, что пользователь просто помещает свой палец на (или проводит своим пальцем по) сканер отпечатков пальцев. Отсканированное изображение отпечатка пальца затем сопоставляется с предварительно сохраненным образцом отпечатка пальца, который сохранен в брелоке. Чтобы сохранять персональную идентичность пользователя, устройство должно быть спроектировано так, чтобы иметь одностороннюю функцию, т.е. образец отпечатка пальца может быть только определен и никогда не извлекаться из устройства. В специальной последовательности устройство может быть спарено с новым образцом отпечатка пальца, где активируется скрытый переключатель (сверху ручки, например). Пользователь затем должен поместить свой палец на сканер, чтобы извлечь несколько сканированных изображений. Если новый образец принят, все предыдущие коды и ключи удаляются.
Независимо от внешнего вида предпочтительный вариант осуществления может включать в себя способ выбора между множеством предварительно сохраненных имен пользователей службы, секретных кодов и ключей шифрования. В таком окружении устройство может быть предоставлено от доверенной стороны, на чью бизнес-модель полагаются предоставляемые устройства идентификации и аутентификации с рядом предварительно сохраненных в них кодов и ключей. Во время изготовления не будет известно, для каких служб существующее устройство должно использоваться. Пользователь затем приобретает устройство, и для каждой службы, на которую подписывается пользователь, оно предоставляет код и пароль открытым текстом (один для каждой службы), сопровождающие устройство, поставщику службы. Поставщик службы может затем потребовать от доверенной стороны предоставить секретный ключ и коды идентификации пользователя.
В другом варианте осуществления могут использоваться традиционная смарт-карта и считыватель, где считыватель смарт-карт будет иметь, скорее, интерфейс с клавиатурой, чем традиционную реализацию протокола ISO 7826. Для повышенной безопасности и поддержки двухфакторной аутентификации смарт-карта должна иметь клавиатуру. Опять же, при присоединении в качестве периферийного устройства к компьютеру компьютер обнаружит считыватель как обычную клавиатуру (хотя это считыватель смарт-карт). Когда карта вставляется и вводится PIN-код, считыватель смарт-карт затем передает эмулированные нажатия клавиш компьютеру.
Наоборот, в других ситуациях может быть более удобным иметь радиосвязь небольшого радиуса действия между устройством и радиоприемником, подсоединенным к главному компьютеру, аналогично беспроводным клавиатурам. Такие линии радиосвязи небольшого радиуса действия могут быть осуществлены с очень низкими расходами из-за широкой доступности беспроводных клавиатур и мышей. Кроме того, предполагается более широкое признание при принятии инициатив, таких как "беспроводная USB". Однако такое устройство аутентификации потребует батарею, так как электропитание не предоставляется эффективно через такие линии радиосвязи.
Альтернативно, беспроводное окружение может быть осуществлено с помощью телеметрического решения, питающегося от главного компьютера, такого как RFID, где сильное радиочастотное (RF) поле излучается приемопередатчиком. Переносное устройство тогда может питаться посредством приемопередатчика без какой-либо необходимости в батарее в устройстве. Это, однако, ограничит используемый радиус действия между приемопередатчиком и переносным устройством.
Изобретение относится к средствам идентификации и аутентификации пользователя преимущественно электронных платежных средств. Технический результат - обеспечение надежной защиты от несанкционированного использования средств. Устройство для идентификации и аутентификации удаленного пользователя, подключающегося к службе по сети, включает в себя криптографический процессор и, по меньшей мере, один криптографический ключ и средство хранения, дополнительное средство обработки и интерфейсное средство, чтобы сформировать и передать уникальный код аутентификации как эмулированные нажатия клавиш через стандартное средство ввода клиентского терминала. Код может быть передан только по точной команде пользователя. 25 з.п. ф-лы, 1 ил.
1. Устройство для идентификации и аутентификации удаленного владельца устройства, присоединяющегося к службе по сети, при этом устройство содержит криптографический процессор и, по меньшей мере, один криптографический ключ и средство хранения, средство эмуляции, чтобы формировать и передавать меняющийся и уникальный код аутентификации как последовательность эмулированных нажатий клавиш через клавиатурный ввод клиентского терминала, причем упомянутый код передается только по точной команде владельца устройства.
2. Устройство по п.1, в котором упомянутый код аутентификации шифруется с помощью криптографического ключа перед отправкой, причем упомянутый криптографический ключ хранится в устройстве таким способом, что он не может быть извлечен извне.
3. Устройство по п.1 или 2, в котором упомянутый код аутентификации отправляется вместе со статическим идентификационным кодом, уникально идентифицирующим владельца устройства.
4. Устройство по п.3, в котором дополнительные данные, хранящиеся в устройстве, передаются вместе с упомянутым кодом аутентификации.
5. Устройство по п.1, в котором устройство содержит средство ввода, чтобы принимать код команды от владельца устройства, а контрольный код команды хранится в устройстве, при этом при выполнении ввода упомянутого кода команды упомянутый код команды сравнивается с упомянутым сохраненным контрольным кодом команды, и если найдено равенство, устройству разрешается передавать упомянутый код аутентификации.
6. Устройство по п.5, в котором упомянутое средство ввода содержит только один ключ запуска, причем упомянутый ключ является неотъемлемой частью устройства.
7. Устройство по п.5, в котором упомянутое средство ввода содержит биометрический сканер, способный записывать биометрические данные владельца устройства.
8. Устройство по п.5, в котором упомянутое устройство содержит клавиатуру, а код команды содержит персональный идентификационный номер (PIN).
9. Устройство по п.5, в котором упомянутое средство ввода содержит множество чувствительных к ориентации переключателей, и упомянутый код команды содержит двигательное воздействие на упомянутые переключатели, известное только владельцу устройства.
10. Устройство по п.5, в котором упомянутое средство ввода содержит определенные нажатия клавиш, введенные на клавиатуре по умолчанию, при этом упомянутые нажатия клавиш формируют выходные сообщения, которые могут быть интерпретированы устройством.
11. Устройство по п.7, в котором упомянутое средство ввода содержит хранение контрольного биометрического образца, причем упомянутый контрольный биометрический образец используется, чтобы определить, является ли пользователь истинным.
12. Устройство по п.1, в котором упомянутый код содержит поле энергонезависимого линейного счетчика, который увеличивается каждый раз, когда инициируется процесс идентификации.
13. Устройство по п.1, в котором упомянутый код аутентификации содержит поле автономного счетчика времени, который захватывается и передается как часть упомянутого кода аутентификации.
14. Устройство по п.5, при этом устройство сделано интегрированной частью периферийной клавиатуры.
15. Устройство по п.5, при этом устройство сделано интегрированной частью периферийного указывающего устройства.
16. Устройство по п.5, при этом устройство дополнительно содержит энергонезависимую память, которая эмулирует традиционный сменный маркер памяти, при этом доступ к упомянутой памяти отключен до тех пор, пока не будет введена правильная команда.
17. Устройство по п.5, при этом устройство содержит банк энергонезависимой памяти, который идентифицируется главным компьютером как периферийное запоминающее устройство, известное как устройство массовой памяти.
18. Устройство по п.17, в котором доступ к упомянутому запоминающему устройству ограничен и управляется упомянутым средством ввода.
19. Устройство по п.5, при этом устройство содержит бесконтактный интерфейс, который используется, чтобы сконфигурировать устройство перед использованием владельцем устройства.
20. Устройство по п.19, при этом устройство содержит интерфейс радиочастотной идентификации (RFID), причем упомянутый интерфейс используется, чтобы идентифицировать упомянутое устройство в RFID-инфраструктуре.
21. Устройство по п.5, при этом устройство предварительно программируется, чтобы предоставить возможность подключения к множеству независимых служб.
22. Устройство по п.21, при этом устройство содержит средство, чтобы формировать код аутентификации по команде программного обеспечения, отправленной по сети из компьютера, к которому оно подключено.
23. Устройство по п.1, при этом упомянутое устройство дополнительно содержит средство, чтобы выполнить, по меньшей мере, одну криптографическую операцию по данным, которые отправлены устройству, при этом результат упомянутой криптографической операции может быть считан обратно.
24. Устройство по п.1, при этом устройство разделено на две отдельные части, при этом одна часть содержит считыватель карт, а вторая часть - карту с интегрированной клавиатурой.
25. Устройство по п.24, при этом связь между упомянутыми двумя частями выполняется с помощью радиочастотной (RF) телеметрии.
26. Устройство по п.24, при этом упомянутая первая часть является периферийным считывателем, эмулирующим клавиатуру, а вторая часть - смарт-картой, совместимой с любым из стандартов ISO 7816 или ISO 14443.
WO 00/42491 A1, 20.07.2000 | |||
Способ и приспособление для нагревания хлебопекарных камер | 1923 |
|
SU2003A1 |
US 6374145 B1, 16.04.2002 | |||
RU 94009615 A1, 20.08.1996. |
Авторы
Даты
2012-12-10—Публикация
2007-04-23—Подача