Область техники
Настоящее изобретение относится к способу создания воспроизводимого безопасного кода, который может быть применен для аутентификации пользователя, подписания и кодирования/декодирования информации посредством программируемого пользовательского устройства. Изобретение также относится к соответствующему программируемому пользовательскому устройству.
Предпосылки создания изобретения
Во многих случаях, когда поставщики услуг предлагают различные услуги и передачу информации через электронные носители для широкого круга пользователей, возникает потребность в механизме, который предусматривает проверку идентификации человека, получающего эти услуги или обменивающегося информацией с поставщиком услуг. Традиционные схемы аутентификации используют имя и пароль пользователя для установления подлинности этого пользователя. Однако этот простой способ обеспечивает лишь минимальную безопасность. Чтобы достичь более высокой степени безопасности, все большее распространение получает использование так называемой двухфакторной аутентификации, или аутентификации по двум признакам. Такая двухфакторная аутентификация основана на компоненте "что вы знаете" (например, пароль) и компоненте "что вы имеете", примером которых является кредитная карточка (что вы имеете) и средство персональной идентификации, или пин-код (что вы знаете).
Если пароль нужно послать через общую сеть передачи данных или через компьютерную сеть, он может быть легко перехвачен несанкционированными лицами. Поэтому желательно использовать так называемые одноразовые пароли (динамические пароли) вместо фиксированных (статических) паролей (таких, как коды доступа типа пин-кода). С этой целью многие банки, например, используют оформленные в виде карточки полупроводниковые устройства (также называемые смарт-картами), которые вычисляют и отображают одноразовый пароль (т.е. изменяющееся со временем число) на небольшом экране. Вводя это число в систему для подтверждения подлинности (логин), клиент показывает, что он имеет необходимое устройство. Один пример такого полупроводникового устройства раскрыт в патенте США № 4599489. Чтобы увеличить безопасность, полупроводниковое устройство иногда само защищается кодом доступа типа пин-кода, который должен "открывать" устройство. В этом случае сначала должен быть введен пин-код и потом отображается правильный пароль.
Один недостаток полупроводниковых устройств состоит в значительной стоимости их приобретения и распределения. Другой недостаток состоит в том, что пользователь, который является зарегистрированным пользователем нескольких служб, таких как банковские службы различных учреждений, например, работающие через Интернет, должен в каждом случае использовать отдельное полупроводниковое устройство и хранить и работать с множеством различных устройств. Для пользователей было бы выгодно, когда множество поставщиков услуг используют одно и то же полупроводниковое устройство как общий или универсальный "многокодовый калькулятор" для множества служб.
С другой стороны, известны устройства, которые позволяют обеспечивать меры безопасности в электронном оборудовании различных типов. Например, программное обеспечение может храниться в терминале связи, который будет использоваться для безопасного обслуживания связи между пользователем и поставщиком услуг. Необходимое программное обеспечение может быть сохранено в виде независимых компьютерных программ в памяти терминала. В одном и том же терминале могут храниться приложения, которые поступают от различных поставщиков услуг для достижения множества целей.
Пользователь, который желает использовать служебную компьютерную программу для безопасной связи, как правило, должен зарегистрировать эту программу у поставщика услуг прежде, чем ему разрешат выполнять эту программу на компьютере для безопасной связи с данным поставщиком услуг. Как зарегистрированный пользователь, он может выполнить эту программу на любом компьютере, обычно введя имя пользователя и пароль, возможно, одноразовый код доступа, обеспечиваемый полупроводниковым устройством в виде карточки, например, как описано выше. Эта процедура удостоверяет, что пользователь обладает правильным именем пользователя и паролем или, в последнем случае, зарегистрированным полупроводниковым устройством и соответствующим кодом (если требуется).
Чтобы избежать проблем, связанных с наличием множества устройств типа смарт-карт, полученных от соответствующего множества поставщиков услуг, настоящее изобретение направлено на использование существующих и будущих устройств электронной информационной технологии, как правило, тех, которые обладают способностью связи с устройством безопасной проверки тождественности.
Изобретатели полагают, что для достижения этой цели вместо идентификации пользователя с помощью полупроводникового устройства типа смарт-карты, специально спроектированной и предназначенной для одной-единственной цели, было бы менее дорогостоящим и более гибким связать идентификатор пользователя с частью оборудования уже имеющегося у пользователя или приобретаемое позднее, прежде всего, для решения других, более широких задач, чем для идентификации пользователя.
Одна цель изобретения состоит в том, чтобы избежать необходимости в любой модификации или дополнении аппаратной конфигурации имеющихся пользовательских устройств, которые будут использоваться в системе согласно изобретению. Следовательно, электронные пользовательские устройства, адаптированные для конкретного использования, должны, как минимум, быть программируемыми и включать, по меньшей мере, один интерфейс ввода данных, средство обработки данных, средство хранения данных и средство вывода данных. Для того чтобы устройство могло работать в системе согласно изобретению средство хранения данных должно включать защищенную от несанкционированного доступа считываемую память, в которой хранится идентификатор оборудования, однозначно определяющий это индивидуальное устройство.
Для облегчения обмена информацией с выбранными поставщиками услуг оборудование должно предпочтительно предлагать пользователю подходящие функциональные возможности связи. Такая возможность связи может быть встроенной в устройство или быть добавлена как функциональное расширение системы.
Следовательно, в принципе для реализации изобретения может быть использовано множество электронных пользовательских устройств. Мобильные телефоны (сотовые телефоны), совместимые с GSM (глобальной системой связи с подвижными объектами), являются наиболее подходящими для достижения целей изобретения, поскольку каждый сотовый телефон GSM уже имеет уникальный идентификатор оборудования, хранящийся в памяти, защищенной от несанкционированного вскрытия, например международной идентификатор мобильного оборудования (IMEI), который является кодом с 15 цифрами и, в основном, используется для идентификации индивидуального мобильного телефона GSM для сети GSM или для связи с оператором. Наличие кода IMEI в мобильном телефоне GSM обычно является обязательным для телефона, работающего в сети GSM. Следовательно, удаление или изменение кода IMEI приводит к неоперабельности мобильного телефона в отношении его основной цели, а именно телекоммуникации.
В этой связи примеры использования кодов IMEI для проверки совместимости и для использования права использования/активации подвижной станции соответственно известны из патентов США № 6164547 и № 5956633. Кроме того, из патентных заявок США № 2003/0236981 и 2004/0030906 соответственно известно использование кода IMEI как ключа для декодирования индивидуального сообщения SMS (службы коротких сообщений) и для аутентификации таких сообщений через цифровую подпись, вычисленную с кодом IMEI в виде ключа.
Заявка WO 01/31840 А1 является еще одним примером прототипа, описывающего, как первый одноразовый пароль может быть создан на подвижной станции на основе личного идентификационного номера (кода), идентификатора подписчика (обычно 1MSI в сети GSM), идентификатора устройства (обычно IMEI в сети GSM) и времени (т.е. кода доступа с изменением времени) и затем используется в опознавательном сервере, обеспечивая телекоммуникационное подключение подвижной станции к вычислительной системе. Чтобы выполнить процедуру идентификации, опознавательный сервер использует идентификатор подписчика (IMSI), полученный от подвижной станции для поиска базы данных с кодом доступа по пин-коду и идентификатору устройства (IМEI), связанного с этим абонентом, и, когда этот код получен, все три объекта объединяются по времени, чтобы получить второй одноразовый пароль для сравнения с первым.
Этот подход обеспечивает аутентификацию для одной вычислительной системы или одного поставщика услуг, но не может использоваться более чем с одним поставщиком услуг, не ставя под угрозу безопасность связи. Если используется больше одного поставщика услуг, этот подход требует, чтобы те же самые идентификаторы (код, IMEI и IMSI) были бы выделены каждой вычислительной системе, таким образом ставя под угрозу безопасность для всех остальных участников. Кроме того, этот подход может использоваться только для аутентификации, но не для других функций безопасности, таких как подпись, декодирование и безопасное распределение.
Известный процесс идентификации, описанный в WO 01/31840 А1, является процессом, скрытым от пользователя и не требующим какого-либо взаимодействия с пользователем, и он представляет только слабую аутентификацию пользователя в момент опознавания. Кроме того, все необходимые идентификаторы в ходе процесса, включая пользовательский код, хранятся и памяти подвижной станции, и также в вычислительной системе соответствующих поставщиков услуг. Данный подход также ограничен использованием времени как единственного источника переменного входа для вычисления одноразового пароля, что также снижает гибкость способа.
В патенте US 5657388 описан способ аутентификации пользователя на основе маркера доступа путем сочетания секретного кода, который хранится в физическом маркере доступа, ввода пользователем информации (ПИН-кода) и переменного ввода (по времени или запросу) с целью получения непредсказуемого, одноразового пароля для доступа к информационным ресурсам хост-системы. Способ основан на подтверждении личности пользователя в хост-системе путем сопоставления одноразового пароля, полученного от пользователя, с одноразовым паролем, генерированным в хост-системе, при этом одноразовый пароль генерирован в хост-системе с копий секретного кода и вводимой пользователем информации, хранящейся в хост-системе. В US 5657388 описан способ подтверждения личности пользователя отдельной системы с использованием генерированного маркером доступа одноразового кода, но не предусмотрен механизм, посредством которого каждая из множества хост-систем генерирует уникальный и воспроизводимый код для идентификации пользователя на основании маркера доступа. Согласно US 5657388 в двух хост-системах, в которых используется один и тот же маркер доступа для аутентификации пользователя, хранится один и тот же секретный код, извлеченный из физического маркера, что подвергает опасности засекречивание маркера. Кроме того, способ по US 5657388 основан на хранении в хост-системе введенных пользователем данных и, следовательно, подвержен хорошо известным атакам нарушителей, которые копируют пин-код пользователя и/или секретный маркер из хост-системы. Помимо этого способ по US 5657388 ограничен подтверждением личности пользователя и не может быть использован для кодирования информации, передаваемой хост-системой пользователю, или для подписания данных пользователем, поскольку в способе не предложен уникальный и воспроизводимый код, который пользователь может использовать для идентификации своей личности в хост-системе.
В японском патенте JP № 2003410949 раскрыты система и способ, которые создают уникальные коды и отображают коды на мобильном терминале пользователя, например, в виде изображения. Пользователь использует изображение и "секретный код пользователя", чтобы подтвердить свою подлинность для поставщика услуг или вычислительной системы для получения услуги в виде снятия денежной суммы или оплаты счетов. Кроме требования дополнительного взаимодействия с пользователем этот способ имеет недостаток, заключающийся в том, что код может быть неумышленно раскрыт с дисплея. Этот способ не использует оконечные мобильные идентификаторы для создания данных аутентификации пользователя. Мобильный терминал используется только как терминал связи, а не как надежный фактор владения (нечто вам принадлежащего) при подтверждении подлинности по двум признакам.
В контексте настоящего изобретения код IMEI мобильного телефона может быть использован как уникальный идентификатор оборудования, требуемый для работы мобильного телефона согласно изобретению.
Механизмы безопасности, которые могут использоваться для обращения к нескольким различным поставщикам услуг, часто основаны на так называемых алгоритмах открытого ключа. В системе PKI должны быть надежно сохранены секретные ключи, идентифицирующие пользователя, тогда как открытые ключи могут быть опубликованы в каталогах или сертификатах, подписанных санкционированной третьей стороной. Чтобы удостовериться, что секретные ключи могут использоваться только при контроле одного пользователя, обычной практикой является хранение ключей в аппаратном ключевом контейнере типа смарт-карты или платы СИМ (модуль идентификации абонента). Основная проблема с такими системами - высокая стоимость изготовления и распределения аппаратных средств. В настоящем изобретении предложено менее сложное решение этой задачи создания контролируемого пользователем контейнера ключей с защитой от несанкционированного доступа. Таким образом, техническим результатом заявленного изобретения является обеспечение надежного хранения ключей при помощи более простых средств.
Настоящее изобретение позволяет разным поставщикам услуг принимать от универсального полупроводникового устройства уникальные коды для идентификации пользователя и, тем самым, обеспечивает альтернативу распределению секретных ключей в устройствах с защитой от несанкционированного доступа.
Раскрытие изобретения
Настоящее изобретение относится к созданию способа воспроизводимого безопасного кода для аутентификации пользователя, подписания и кодирования/декодирования информации посредством программируемого пользовательского устройства, содержащего, по меньшей мере, один интерфейс ввода данных, средство обработки данных и средство хранения данных, включая защищенную от несанкционированного доступа считываемую память, в которую предварительно вводится идентификатор оборудования, однозначно определяющий пользовательское устройство, при этом способ содержит следующие стадии:
- ввод персонального кода пользователя в пользовательское устройство через указанный входной интерфейс,
- извлечение идентификатора оборудования из средства хранения данных пользовательского устройства,
- ввод на пользовательское устройство кода поставщика услуг, представляющего поставщика услуг, у которого зарегистрирован пользователь, и имя пользователя,
- вычисление внутреннего для пользовательского устройства безопасного кода на основе комбинации идентификатора оборудования, персонального кода пользователя и указанного кода поставщика услуг и
- вывод вычисленного безопасного кода,
при этом вычисленный безопасный код представляет пользователя и пользовательское устройство по отношению к одному конкретному поставщику услуг.
Вводя код поставщика услуг, вычисляя безопасный код, можно получить различные безопасные коды для каждого поставщика услуг без необходимости изменения любого другого идентификатора (персонального кода пользователя и идентификатора оборудования). Способ по настоящему изобретению позволяет пользователю использовать то же самое устройство для идентификации пользователя по двум признакам при нескольких поставщиках услуг без разделения важных данных между поставщиками услуг.
Изобретение может быть применено для подтверждения пользователя пользовательского устройства, когда пользователь зарегистрирован в файле клиента поставщика услуг с именем пользователя, связанного с безопасным кодом, полученным способом согласно изобретению, включающим, например, следующие стадии:
- передачу имени пользователя поставщику услуг,
- поиск поставщиком услуг в файле клиента имени, названного пользователем, и, если оно найдено в файле клиента, посылку вызова пользователю,
- ввод в пользовательское устройство персонального кода пользователя,
- вычисление указанного безопасного кода пользовательского устройства,
- ввод на пользовательское устройство переменной, полученной от поставщика услуг в виде указанного вызова, и, используя криптографический алгоритм, вычисление одноразового пароля, внутреннего для пользовательского устройства и основанного на указанном безопасном коде и указанной переменной,
- передачу вычисленного одноразового пароля поставщику услуг,
- при получении поставщиком услуг безопасного кода регистрируется соответствующее имя пользователя, которое обозначено пользователем,
- при использовании одного и того же криптографического алгоритма пользовательское устройство вычисляет для поставщика услуг одноразовый пароль, основанный на безопасном коде, извлеченном из файла клиента и той же самой переменной, когда она возвращается пользователю и используется пользовательским устройством,
- поставщик услуг сравнивает вычисленный одноразовый пароль с паролем, полученным от пользователя, и, если одноразовые пароли совпадают, результат аутентификации является положительным, подтверждая, что пользователь, идентифицированный именем пользователя, обладает пользовательским устройством и соответствующим персональным кодом пользователя, в противном случае результат аутентификации является отрицательным.
Еще один вариант применения способа предназначен для подписания элементов информации, которыми будут обмениваться пользователь пользовательского устройства и поставщик услуг, которым пользователь зарегистрирован в файле клиента у поставщика услуг с именем пользователя и соответствующим безопасным кодом, полученным способом согласно изобретению, включающим, например, следующие стадии:
- передачу от поставщика услуг на пользовательское устройство элемента информации для подписания пользователем, если этот элемент информации не присутствует в пользовательском устройстве,
- ввод на пользовательское устройство персонального кода пользователя,
- вычисление указанного безопасного кода пользовательского устройства,
- использование криптографического алгоритма для вычисления внутренней для пользовательского устройства "подписи", основанной на указанном безопасном коде и информационном элементе, который должен быть подписан и передан поставщику услуг,
- передачу имени пользователя и "подписи" поставщику услуг, и, если элемент информации, который будет подписан пользователем, не имеется у поставщика услуг, этот элемент информации также передается поставщику услуг,
- извлечение поставщиком услуг из файла клиента безопасного кода, соответствующего имени пользователя, полученному от пользователя,
- используя тот же самый криптографический алгоритм, который используется пользовательским устройством, поставщик услуг вычисляет "подпись", основанную на безопасном коде, извлеченном из файла клиента, и информационном элементе,
- поставщик услуг сравнивает только что вычисленную "подпись" с подписью, полученной от пользователя, и
если "подписи" совпадают, подтверждая, что пользователь на пользовательском устройстве правомерно подписал элемент информации и что элемент информации не был изменен; в противном случае результат сравнения подписей является отрицательным.
В специальном варианте "подпись" может включить цифровую или электронную подпись или код аутентификации сообщения (MAC).
Еще один вариант применения изобретения предназначен для защиты элемента информации, который передается пользователем поставщику услуг способом согласно настоящему изобретению, включающим, например, следующие стадии:
- используя криптографический алгоритм и указанный безопасный код как ключ декодирования, кодируется внутренний для пользовательского устройства элемент информации, который должен быть передан поставщику услуг,
- передачу имени пользователя и кодированного элемента информации поставщику услуг,
- извлечение поставщиком услуг из файла клиента безопасного кода, соответствующего имени пользователя, полученному от пользователя, и
- используя тот же самый криптографический алгоритм, который используется пользовательским устройством, поставщик услуг декодирует элемент информации, используя безопасный код, извлеченный из файла клиента, в виде ключа декодирования.
Еще один вариант применения изобретения предназначен для защиты элемента, передаваемого от поставщика услуг пользователю пользовательского элемента способом согласно настоящему изобретению, который, например, содержит следующие стадии:
- извлечение поставщиком услуг из файла клиента безопасного кода пользователя, которому должен быть передан элемент информации,
- использование криптографического алгоритма и указанного безопасного кода как ключа кодирования для кодирования указанного элемента информации,
- передачу кодированного элемента информации пользователю,
- по получении пользовательским устройством указанного кодированного элемента информации осуществляется ввод в пользовательское устройство персонального кода пользователя,
- вычисление внутреннего для пользовательского устройства указанного безопасного кода, и,
- используя тот же самый криптографический алгоритм, который используется поставщиком услуг, кодированный элемент информации декодируется в пользовательском устройстве, используя безопасный код, вычисленный как ключ декодирования.
Этот вариант защиты элементов информации, которые будут переданы поставщиком услуг, может быть полезным как для посылки сообщений с защитой информации от прочтения другими пользователями, так и для посылки цифрового содержания с защитой от копирования (например, электронные билеты или другое цифровое информационное наполнение, которое будет защищено от незаконного копирования (музыка, видео, программное обеспечение и т.д.)).
Изобретение также относится к программируемым пользовательским устройствам, имеющим, по меньшей мере, один интерфейс для ввода данных, средство обработки данных, средство для хранения данных, включая защищенную от несанкционированного доступа считываемую память, в которую предварительно вводится идентификатор оборудования, однозначно определяющий пользовательское устройство, при этом программируемое пользовательское устройство программируется для выполнения процесса согласно способу изобретения.
Предпочтительно, идентификатор оборудования пользовательского устройства представляет собой серийный номер продукта, введенный в устройство до поставки пользователю; в случае мобильного телефона (сотовый телефон) идентификатор оборудования может быть международным идентификатором мобильного оборудования (в случае телефона GSM - код IMEI).
В целом, изобретение может позволить использование пользовательского устройства в виде универсального "калькулятора мультикода" для множества услуг, поставляемых множеством поставщиков услуг.
Краткое описание чертежей
Дальнейшие особенности пользовательского устройства и способа создания безопасного кода будут понятны из последующего описания примеров воплощения настоящего изобретения со ссылками на сопровождающие чертежи, на которых:
Фиг.1 - блок-схема, иллюстрирующая основные компоненты пользовательского устройства согласно изобретению.
Фиг.2 - блок-схема, иллюстрирующая процесс создания безопасного кода, представляющего пользователя, пользовательского устройства и само устройство конкретному поставщику услуг.
Фиг.3 - блок-схема, иллюстрирующая процесс передачи поставщиком услуг информации, кодируемой безопасным кодом пользователя.
Фиг.4 - блок-схема, иллюстрирующая процесс аутентификации пользователя в соответствии с одним вариантом изобретения.
Фиг.5 - блок-схема, иллюстрирующая процесс начальной регистрации пользователя поставщиком услуг.
Описание предпочтительных вариантов осуществления изобретения
Как показано на фиг.1, пользовательское устройство согласно изобретению содержит, по меньшей мере, один интерфейс ввода данных в виде цифровой клавиатуры, полной клавиатуры 1 или в виде другого средства сопряжения, средство обработки данных в виде контроллера микропроцессора 2 и средство хранения данных 3 в виде оперативной памяти, постоянной памяти и/или кэш-памяти, при этом устройство включает защищенную от несанкционированного доступа считываемую память 4, предпочтительно постоянную память (ROM). Эта конфигурация включает сохраненный в памяти идентификатор оборудования, однозначно определяющий устройство, средство вывода данных в виде окна на экране дисплея 5, монитор компьютера и т.д. и для некоторых из вариантов изобретения модуль связи 6 для односторонней или двусторонней связи с внешним оборудованием, таким как стандартные периферийные компьютерные устройства, компьютерные сети, возможно, включая приемопередатчик для любого типа частных или общественных телекоммуникационных служб.
Пользовательское устройство в настоящем изобретении является программируемым, т.е. оно способно выполнять компьютерные программы и считывать приложения из памяти его микропроцессора. Чтобы осуществить изобретение, пользовательское устройство также должно быть способно обмениваться информацией с поставщиком услуг, у которого пользователь зарегистрирован как клиент или абонент. Поэтому мобильные телефоны (сотовые телефоны) с технологией GSM являются особенно подходящими для целей изобретения. Однако также могут использоваться и другие компоненты персонального электронного оборудования в виде переносных компьютеров (ноутбуков) и карманных информационных устройств (персональный цифровой секретарь) или в виде настольных персональных компьютеров (PC) и будущих мобильных телефонов, конечно, при условии предоставления соответствующего идентификатора оборудования (расширительного интерфейса), используя их способом, подобным использованию мобильных телефонов GSM. Можно также предположить использование будущих карманных калькуляторов или специальных универсальных генераторов пароля.
Программное обеспечение для вычисления безопасного кода
Программное обеспечение, необходимое для вычисления безопасного кода, может постоянно храниться в памяти в пользовательском устройстве по настоящему изобретению. Например, оно может быть встроено в устройство во время его изготовления. Чтобы разрешить использование уже существующего устройства соответствующего типа, как перечислено выше, специальное приложение для этого устройства может быть поставлено в любой время через любой тип носителей данных, таких как гибкий диск, оптический компакт-диск (постоянная память на CD) и сменные средства хранения данных (флэш-память или плата памяти). Если устройство снабжено элементами связи, приложение может быть загружено продавцом программ через систему связи устройства для немедленного выполнения программы и/или в память для последующего использования.
Согласно изобретению программное обеспечение для вычисления безопасного кода представляет собой обычную компьютерную программу, не содержащую никаких секретов. Программа или приложение могут быть открытыми для общего пользования на любом подходящем пользовательском устройстве. В принципе, приложение может быть одним и тем же для любого пользовательского устройства, только принимая во внимание различия, связанные с компьютером при использовании различных операционных систем, языков программирования, компиляторов и т.д.
Эта особенность свободного распределения программного обеспечения для вычисления безопасного кода и возможность копирования программного обеспечения из одного устройства в другое, не ставя под угрозу безопасность данных, является главным преимуществом настоящего изобретения, особенно по сравнению с мерами безопасности, требующими секретности в самом пользовательском программном обеспечении.
Вычисление безопасного кода, выполненное программным обеспечением, обычно основано на использовании односторонних алгоритмов декодирования (например, алгоритм хеширования), чтобы получить безопасный код и двухсторонние алгоритмы декодирования для кодирования/декодирования элементов информации, но также можно использовать алгоритмы кодирования различных других типов. Используемый способ декодирования не имеет решающего значения для реализации изобретения. Однако безопасный код должен быть достаточно уникальным, и должно быть невозможно получить входные элементы его данных непосредственно из кода (т.е. одностороннее декодирование). Другая важная особенность программного обеспечения вычисления безопасного кода заключается в том, что оно разработано для считывания идентификатора оборудования, однозначно определяющего рассматриваемое устройство каждый раз, когда должен использоваться безопасный код, и в том, что вычисленный безопасный код никогда не сохраняется в памяти устройства.
Вычисление безопасного кода
Как показано на фиг.2, в одном варианте изобретения используется способ создания безопасного кода посредством программируемого пользовательского устройства согласно изобретению (см. фиг.1) и вышеописанное программное обеспечение пользователя, содержащие три основные стадии:
- пользователь, имеющий указанное устройство, вводит свой персональный код пользователя в устройство через интерфейс ввода данных (стадия S1),
- устройство выбирает идентификатор оборудования и код поставщика услуг из его собственного средства хранения данных 4 (стадия S2), и
- на основе комбинации выбранного идентификатора оборудования и кода поставщика услуг и введенного пользователем персонального кода пользовательское устройство вычисляет свой безопасный код (стадия S3).
Полученный таким образом безопасный код основан на двух факторах - «нечто, что вы знаете» и «нечто, что вы имеете». Следовательно, персональный код пользователя, основанный на двухфакторной схеме опознавания, включает компонент "нечто, что вы знаете", а компонент идентификатора оборудования и код поставщика услуг включает "нечто, что вы имеете". Безопасный код представляет собой уникальный идентификатор пользователя и устройства пользователя конкретному поставщику услуг, но оригинальные входные идентификаторы (персональный код пользователя и идентификатор оборудования) не могут быть повторно вычислены из безопасного кода. Способ согласно изобретению препятствует тому, чтобы входные идентификаторы были выставлены любой другой стороне и также является способом, в котором нет необходимости постоянно хранить в памяти персональный код пользователя.
В принципе, пользователь может свободно выбрать любой подходящий персональный код, который будет введен для получения безопасного кода. Персональный код может быть различным для различных целей. В данном случае безопасный код является представителем пользователя и пользовательского устройства. Далее, код может быть получен через средство вывода данных устройства и отображен в окне на экране дисплея 5 или передан через модуль связи 6 в некоторое внешнее местное или удаленное оборудование, в частности, через оборудование связи, расположенное на стороне поставщика услуг.
Как показано на фиг.2, вычисление безопасного кода для пользовательского устройства основано на вводе комбинации трех факторов, т.е. идентификатора оборудования, персонального кода пользователя и кода поставщика услуг, выбранного поставщиком услуг или непосредственно пользователем для определения поставщика услуг. Такой "трехфакторный" безопасный код сам по себе представляет пользователя и пользовательское устройство поставщику услуг или служит для получения определенной услуги, предлагаемой соответствующим поставщиком услуг. Такие коды поставщика услуг могут храниться в памяти средства хранения данных 3 пользовательского устройства для дальнейшего использования.
Способность способа по настоящему изобретению создавать определенные или различные безопасные коды для каждого поставщика услуг позволяет пользователю использовать одно и то же устройство для функций защиты информации при работе с более чем одним поставщиком услуг, не ставя под угрозу безопасность данных. Никакие поставщики услуг не должны совместно использовать один и тот же безопасный код, и никакой поставщик услуг не может повторно вычислить входные идентификаторы.
Следовательно, несколько поставщиков услуг могут доверять одному и тому же пин-коду пользователя и устройству пользователя для их аутентификации по двум признакам.
С развитием биометрических методик кодирования также предусмотрена возможность включения биометрических данных в безопасный код согласно изобретению. Следовательно, биометрический представитель данных пользователя может составить только один персональный код пользователя или его неотъемлемую часть, переходя, таким образом, от ситуации "нечто, что вы знаете" к ситуации "кем вы являетесь". В таком случае пользовательское устройство должно быть снабжено или соединено с соответствующим средством ввода, чтобы обеспечить сканирование биометрических атрибутов пользователя и их ввод в пользовательское устройство.
В любом случае вычисление безопасного кода может включать простую арифметическую операцию, или комплекс криптографических операций, или использование других методик шифрования. Однако операция должна быть такой, что ни один из входных элементов данных для вычисления не должен быть получен из кода и/или от знания его некоторых входных элементов.
Безопасный код, используемый для защищенной связи
В предпочтительном варианте пользовательское устройство снабжено функциональными возможностями связи, разрешающими одностороннюю и/или двухстороннюю связь по проводной или беспроводной сети.
В этом случае поставщик услуг может использовать безопасный код по настоящему изобретению для распределения конфиденциальной информации, при этом соответствующие коды безопасности пользователей хранятся в системе поставщика услуг. Такой процесс, в котором информация кодируется перед ее передачей, используя безопасный код как ключ кодирования (стадия S1 на фиг.3), может, как показано на фиг.3, содержать стадии, на которых кодированная информация, полученная от поставщика услуг, декодируется, используя вычисленный безопасный код устройства (стадии S4 и S5 на фиг.3).
В качестве альтернативы пользователь может применить безопасный код согласно изобретению для кодирования информации, предназначенной для передачи поставщику услуг.
В обоих случаях после использования декодированная информация предпочтительно удаляется по причинам безопасности, не оставляя следов и устройстве.
Безопасный код, используемый для аутентификации
Кроме того, безопасный код может также использоваться для проверки тождественности пользователя и пользовательского устройства, принадлежащего ему или ей.
В одном варианте изобретения пользовательское устройство включает модуль связи 6 (см. фиг.1). В контексте способа аутентификации согласно изобретению функциональные возможности связи, предоставленные таким образом, могут использоваться для обмена информацией с поставщиками услуг, предпочтительно в реальном масштабе времени, непосредственно через пользовательское устройство. В этом случае, как показано на фиг.4, при условии, что пользователь уже зарегистрирован в файле клиента у поставщика услуг с именем пользователя и соответствующим безопасным кодом согласно изобретению, способ опознавания пользователя пользовательского устройства может содержать следующие стадии:
- ввод в электронное устройство имени пользователя и передачу из устройства поставщику услуг введенного имени пользователя (стадия S2),
- поставщик услуг производит поиск в файле клиента, чтобы получить имя пользователя из электронного устройства, и, если оно имеется в файле, поставщик услуг передает вызов на электронное устройство (стадии S3 и S4),
- ввод персонального кода пользователя в электронное устройство и извлечение идентификатора оборудования устройства из средства хранения данных электронного устройства и кода поставщика услуг (стадия S5),
- вычисление внутреннего безопасного кода электронного устройства на основе указанного идентификатора оборудования и кода поставщика услуг и указанного пользовательского персонального кода (стадия S6),
- использование криптографического алгоритма для вычисления внутреннего одноразового пароля электронного устройства на основе указанного безопасного кода и переменной, полученной от поставщика услуг, как часть указанного вызова (стадия S7),
- передачу от электронного устройства поставщику услуг вычисленного одноразового пароля (стадия S7),
- извлечение поставщиком услуг из файла клиента безопасного кода, соответствующего имени пользователя, полученному от электронного устройства (стадия S8),
- используя тот же самый криптографический алгоритм, который использует пользовательское устройство, поставщик услуг вычисляет одноразовый пароль на основе безопасного кода, извлеченного из файла клиента, и той же самой переменной, переданной на электронное устройство, использованное этим устройством (стадия S9), и
- поставщик услуг сравнивает только что вычисленный одноразовый пароль с паролем, полученным от электронного устройства (стадия S10).
Если одноразовые пароли совпадают, результат аутентификации является положительным, подтверждая, что пользователь, идентифицированный именем пользователя, обладает электронным устройством и соответствующим персональным кодом пользователя, в противном случае результат аутентификации является отрицательным.
Если пользовательское устройство оборудовано модулем связи, настоящее изобретение может также использоваться для аутентификации сообщения путем вычисления цифровой подписи или MAC (код аутентификации сообщения) из всего сообщения или из части этого сообщения для установления связи между пользовательским устройством и поставщиком услуг или третьим лицом, при этом безопасный код согласно изобретению является одним из компонентов, принимающих участие в этом вычислении.
В другом варианте изобретения, в котором пользовательское устройство не включает модуль связи и, следовательно, никакой прямой обмен информацией с поставщиками услуг через это пользовательское устройство невозможен, или если неудобно посылать всю информацию через это устройство, пользователь может действовать как "посредник" между пользовательским устройством и поставщиком услуг. Чтобы связаться с поставщиком услуг, пользователь может использовать любые доступные средства связи, такие как персональный компьютер, подключенный к Интернету, когда главная задача обмена информацией между пользователем и поставщиком услуг состоит в использовании приемлемого способа, предпочтительно в режиме реального времени. Сообщение по линии или каналу общего пользования по соображениям безопасности может быть скремблировано или зашифровано любым известным способом.
В принципе, есть ли технические возможности для установления связи от оборудования к оборудованию или нет, способ аутентификации по настоящему изобретению может быть реализован, как показано на фиг.4, через оператора и некоторые другие элементы связи в виде "посредника", если пользовательское устройство не имеет телекоммуникационных функций.
Также предусмотрена возможность вместо получения переменной от поставщика услуг как части вызова (стадия S7 в фиг.4) переменной, которая используется для вычисления внутреннего для одноразового пароля пользовательского устройства и может быть сформирована самим пользовательским устройством. В этом случае должны быть сделаны изменения, при помощи которых поставщик услуг может использовать ту же самую переменную в вычислении на стороне одноразового пароля (стадия S9 на фиг.4) для сравнения с паролем от пользовательского устройства (стадия S10 на фиг.4). Такая модификация известна специалистам в данной области и может включать, например, механизмы синхронизации части изменяющихся во времени элементов или порядковый номер.
Начальная регистрация пользователя
Во многих предлагаемых службах клиент или пользователь такого сервиса должен зарегистрироваться у соответствующего поставщика услуг, чтобы получить доступ к интересующей его службе (например, в виде подписки на услуги). В контексте использования вариантов настоящего изобретения для таких служб это также имеет место. Следовательно, как показано на фиг.4 (стадия S1), это, например, означает, что пользователь зарегистрирован у поставщика услуг со своим именем и с соответствующим безопасным кодом, полученным способом по настоящему изобретению.
Один путь получения пользователем его/ее безопасного кода состоит в выполнении стадий способа, описанных выше в разделе "вычисление безопасного кода". Этот процесс, как показано на фиг.5, может включать следующие стадии:
- поставщик услуг посылает код поставщика услуг пользователю (стадия S1a) или предоставляет пользователю право выбирать код поставщика услуг (стадия S1b),
- на стороне пользователя код поставщика услуг вводится в пользовательское устройство (стадия S2),
- в электронное устройство вводится персональный код пользователя, как правило, с клавиатуры (стадия S3),
- извлечение из средства хранения данных электронного устройства идентификатора оборудования устройства (стадия S4),
- по желанию код поставщика услуг сохраняется в средстве хранения данных электронного устройства (стадия 5),
- вычисляется внутренний безопасный код электронного устройства на основе идентификатора оборудования, персонального кода пользователя и кода поставщика услуг (стадия S6),
- посылка поставщику услуг имени пользователя и вычисленного безопасного кода (стадия S7) и
- регистрация поставщиком услуг имени пользователя и соответствующего безопасного кода, полученного от пользователя (стадия S8).
В любом случае обмен информацией между пользователем и поставщиком услуг может быть достигнут любыми доступными средствами связи, например по почте, через факсимильную связь или даже через передачу речевых сообщений.
Хотя настоящее описание предпочтительных вариантов описано на основе изобретения, реализуемого через программное обеспечение, изобретение также может быть осуществлено посредством аппаратных компонентов, решающих в описанных вариантах те же задачи, что и программное обеспечение.
Изобретение относится к способу создания воспроизводимого безопасного кода, который может быть применен для аутентификации пользователя, а также к соответствующему программируемому пользовательскому устройству. Техническим результатом является повышение степени безопасности аутентификации пользователя, обеспечение приема разными поставщиками услуг от универсального полупроводникового устройства уникальных кодов для идентификации пользователя. Способ содержит стадии ввода через указанный интерфейс ввода данных персонального кода пользователя в пользовательское устройство, ввода в пользовательское устройство кода поставщика услуг, представляющего поставщика услуг, у которого пользователь зарегистрировал свое имя, извлечения идентификатора оборудования из средства хранения данных пользовательского устройства, вычисления в пользовательском устройстве безопасного кода на основе комбинации идентификатора оборудования, персонального кода пользователя и указанного кода поставщика услуг и вывода вычисленного безопасного кода, при этом вычисленный безопасный код представляет пользователя и пользовательское устройство для одного конкретного поставщика услуг. 3 н. и 9 з.п. ф-лы, 5 ил.
1. Способ создания воспроизводимого безопасного кода для аутентификации пользователя, подписания и кодирования/декодирования информации при помощи программируемого пользовательского устройства, включающего, по меньшей мере, один интерфейс ввода данных, средство обработки данных и средство хранения данных, включая защищенную от несанкционированного доступа считываемую память, в которую предварительно записывается идентификатор оборудования, однозначно определяющий пользовательское устройство, отличающийся тем, что он содержит следующие стадии:
ввод через указанный интерфейс ввода данных персонального кода пользователя в пользовательское устройство,
ввод в пользовательское устройство кода поставщика услуг, представляющего поставщика услуг, у которого пользователь зарегистрировал свое имя,
извлечение идентификатора оборудования из средства хранения данных пользовательского устройства,
вычисление в пользовательском устройстве безопасного кода на основе комбинации идентификатора оборудования, персонального кода пользователя и указанного кода поставщика услуг, и
вывод вычисленного безопасного кода, при этом вычисленный безопасный код представляет пользователя и пользовательское устройство для одного конкретного поставщика услуг.
2. Способ по п.1, в котором персональный код или часть персонального кода пользователя состоит из биометрических данных, характеризующих пользователя устройства.
3. Способ по п.1, в котором код поставщика услуг представляет набор услуг, предлагаемый поставщиком услуг.
4. Способ по пп.1 и 3, дополнительно содержащий стадию сохранения кода поставщика услуг в средстве хранения данных пользовательского устройства.
5. Применение способа по п.1, в котором вычисленный безопасный код, полученный упомянутым способом, зарегистрирован в клиентском файле у поставщика услуг под именем пользователя, к которому относится безопасный код.
6. Применение по п.5, в котором вводимые в клиентский файл данные используются для аутентификации пользователя пользовательского устройства у поставщика услуг, подписания элемента информации, которым обмениваются пользователь и поставщик услуг, и/или защиты элемента информации, передаваемого пользователем поставщику услуг или поставщиком услуг пользователю.
7. Применение по п.6, в котором указания пользователя поставщику услуг и ответные указания поставщика услуг пользователю передаются с помощью системы связи, позволяющей осуществлять обмен данными между пользователем и поставщиком услуг.
8. Применение по п.6 или 7, в котором пользовательское устройство имеет функциональные возможности для осуществления связи, позволяющие пользователю передавать указания поставщику услуг через интерфейс ввода данных устройства для передачи поставщику услуг и принимать ответные указания от поставщика услуг непосредственно в пользовательском устройстве.
9. Применение по п.7, в котором двухсторонняя система связи представляет собой сеть связи общего пользования или доступное пользователю средство вне пользовательского устройства.
10. Программируемое пользовательское устройство, содержащее, по меньшей мере, один интерфейс ввода данных, средство обработки данных, средство хранения данных, включая защищенную от несанкционированного доступа считываемую память, в которую предварительно введен идентификатор оборудования, однозначно определяющий пользовательское устройство, при этом пользовательское устройство отличается тем, что оно запрограммировано на выполнение процесса согласно способу по любому из предыдущих пунктов.
11. Пользовательское устройство по п.10, идентификатор оборудования которого может быть серийным номером продукта, введенным в устройство до поставки оборудования пользователю.
12. Пользовательское устройство по п.11, причем это устройство является мобильным телефоном (сотовым телефоном), идентификатор оборудования которого может быть международным идентификатором мобильного оборудования (кода IMEI в случае телефона GSM).
УСТРОЙСТВО ЗАЩИТЫ ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА К ИНФОРМАЦИИ, ХРАНИМОЙ В ПЕРСОНАЛЬНОЙ ЭВМ | 1995 |
|
RU2067313C1 |
УПРАВЛЕНИЕ ДОСТУПОМ С ИСПОЛЬЗОВАНИЕМ ПАРАМЕТРИЗИРОВАННОЙ ХЭШ-ФУНКЦИИ | 1996 |
|
RU2142674C1 |
US 5657388 A, 12.08.1997 | |||
МНОГОБАЛОЧНЫЙ АКСЕЛЕРОМЕТР - АНАЛИЗАТОР СПЕКТРА МЕХАНИЧЕСКИХ КОЛЕБАНИЙ НА ОСНОВЕ ТЕНЗОРЕЗИСТИВНЫХ ПРЕОБРАЗОВАТЕЛЕЙ | 2008 |
|
RU2387999C1 |
Печь для непрерывного получения сернистого натрия | 1921 |
|
SU1A1 |
Авторы
Даты
2011-03-27—Публикация
2006-01-11—Подача