СПОСОБ ПРЕДОСТАВЛЕНИЯ ДИНАМИЧЕСКОГО КОДА ЧЕРЕЗ ТЕЛЕФОН
METHOD OF PROVIDING DYNAMIC CODE VIA TELEPHONE

ОБЛАСТЬ ТЕХНИКИ
Изобретение касается способа генерирования, предоставления и контроля динамического кода. В способе динамический код пользователь получает, в частности, через мобильный или стационарный телефон. Динамический код можно использовать, например, для аутентификации пользователя на сервере онлайновой службы или для любого другого использования, требующего получения динамического кода.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
В области цифровой связи происходит интенсивное увеличение числа онлайновых услуг и приложений, и доступ к этим услугам, такой как подтверждение некоторых действий, требует либо аутентификации пользователей, либо цифрового подтверждения некоторых действий и даже цифровой подписи.
Применение этих способов аутентификации в рамках онлайновых служб или подтверждения подписи, часто требует использования пароля или динамического кода (называемого также “One Time Password” в англосаксонской терминологии), который проверяет напрямую или косвенно либо затребовавшая его служба (например, онлайновая служба), либо независимое третье лицо.
В частности, операторы онлайнового служб, например, таких как банки, все чаще выдвигают требования разработки более надежных методов аутентификации, в частности, повышения уровня защиты по отношению к атакам типа фишинга, которые состоят в несанкционированном получении статического пароля пользователя онлайновой службы. Повышение этого уровня защиты предполагает отказ от статических паролей и их замену динамическими паролями или методами многофакторной аутентификации, использующими одноразовые коды.
В настоящее время уже существуют различные способы генерирования и предоставления пользователю динамического кода, например, посредством:
- генерирования кода или пароля при помощи соответствующей утилиты, например, выпускаемой под товарным знаком “SecureID” компании RSA. Эта утилита позволяет вычислять и выводить на дисплей код, который меняется в зависимости от времени, например, каждые 60 секунд;
- генерирования динамического кода при помощи криптографических калькуляторов, использующих смарт-карты;
- передачи динамического кода при помощи SMS-сообщений (“Short Message Service” в англосаксонской терминологии) на мобильный телефон пользователя;
- генерирования динамического кода при помощи специальной прикладной программы, установленной в мобильном телефоне или в SIM-карте телефона; такое решение уже было описано во французской патентной заявке № FR 08/00440, поданной на имя заявителя.
Разумеется, большинство этих известных способов обеспечивают более высокий уровень защиты по сравнению с применением статических кодов, однако они имеют один или несколько недостатков, основным из которых часто является стоимость применения, поскольку либо сама утилита генерирования динамического кода является дорогой, либо стоимость доставки такого кода пользователю является высокой (например, стоимость SMS-сообщения для передачи каждого нового кода). К этому добавляется дополнительный недостаток, так как банки или другие организации, предоставляющие онлайновые услуги, не знают заранее, какое число одноразовых кодов потребуется и, следовательно, какой будет соответствующая стоимость, поскольку это число зависит только от количества случаев использования этих кодов.
КРАТКОЕ ИЗЛОЖЕНИЕ СУЩЕСТВА ИЗОБРЕТЕНИЯ
Таким образом, настоящее изобретение призвано предложить решение проблем, возникающих в системах предоставления и доставки одноразовых кодов, используемых до настоящего времени.
Изобретение призвано также предложить способ предоставления динамических кодов, позволяющий преодолеть проблему развертывания и стоимости, чтобы обеспечить массовое использование динамических кодов в рамках инфраструктур онлайновых служб.
Для обеспечения большей ясности нижеследующего описания изобретения следует дать несколько определений основных элементов, которые участвуют в осуществлении способа.
Онлайновая служба: речь идет о сервисе или приложении, доступном или предоставляемом в цифровом виде через цифровую сеть (типа Интернета или эквивалентной сети, телекоммуникационной сети и т.д.), которое требует от своих пользователей ввода динамического кода для подтверждения некоторых из своих действий (например, кода, называемого «логин», для обеспечения доступа к сервису, или передачи кода аутентификации в рамках способа многофакторной аутентификации, или для подтверждения транзакций или цифровой подписи и т.д.).
Сервер кодов: речь идет о компьютерном сервере, имеющем в своем распоряжении:
- возможности защищенных подключений к одной или нескольким онлайновыми службам,
- возможности управления и обработки данных,
- соединения с одной или несколькими сетями голосовой телефонии,
- доступ к большому числу вызывающих телефонных линий (предпочтительно несколько тысяч или десятков тысяч линий), называемых доступными линиями,
- программу или алгоритм, выполненные с возможностью осуществления, по запросу онлайновой службы, выбора номера линии (среди доступных линий), которая может ответить на упомянутый запрос, и с возможностью направления вызова по выбранной линии на номер телефона пользователя.
В рамках изобретения управление сервером кодов осуществляет онлайновая служба или независимое подразделение онлайновой службы.
Доступные линии: речь идет о телефонных линиях, каждая из которых имеет свой номер телефона, которые предоставлены в распоряжение (постоянно или временно) серверу кодов и через которые он может осуществлять связь с телефонами пользователей.
Вызывающая линия: линия, выбираемая сервером кодов в зависимости от параметров, указанных онлайновой службой в своем запросе динамического кода. Вызывающую линию выбирают среди доступных линий для осуществления вызова телефона пользователя, и ее номер должен высветиться на упомянутом телефоне или на любом эквивалентном устройстве, выполненном с возможностью приема телефонного вызова, например, на компьютере, оснащенном модемом.
Пользователь: лицо, имеющее в своем распоряжении, с одной стороны, сетевой терминал для получения доступа к онлайновым услугам и, с другой стороны, телефон для персонального пользования или любое устройство, выполненное с возможностью приема телефонного вызова и выведения на дисплей номера вызывающей линии. Пользователь имеет намерение получить доступ и/или использовать функциональные возможности онлайновой службы, которой он предварительно должен сообщить свой номер телефона.
Динамический код: речь идет о коде, который предназначен для прямого или косвенного использования только для одного действия или одной транзакции между пользователем и онлайновой службой и срок действия которого предпочтительно ограничен по времени (порядка нескольких минут).
Способ в соответствии с изобретением позволяет решить эти задачи. Для решения поставленной задачи изобретение по-новому применяет серверы кодов, используемые онлайновыми службами. Действительно, изобретение предусматривает генерирование динамических кодов, которые в дальнейшем сервер кодов передает пользователю посредством вызова телефона пользователя через вызывающую линию, выбранную сервером кодов. Этот выбор вызывающей линии определяют в зависимости от спецификации, передаваемой онлайновой службой.
Кроме того, динамический код содержится и передается непосредственно в номере вызывающей линии, который высвечивается на телефоне пользователя, что позволяет избежать повышения стоимости вызова или SMS-сообщения.
Таким образом, в рамках изобретения объект (код) и средство его передачи (номер вызывающей линии) совпадают: кодом является само средство передачи.
В частности, объектом изобретения является способ предоставления пользователю онлайновой службы динамического кода через телефон, согласно которому упомянутый пользователь передает, с одной стороны, идентификатор на компьютерный сервер, управляющий онлайновой службой, при помощи сетевого терминала, подключенного к упомянутому компьютерному серверу через цифровую сеть, и, с другой стороны, динамический код, предназначенный для использования в онлайновой службе, при этом упомянутый способ отличается тем, что динамический код представляет собой подгруппу цифр, составляющих номер вызывающей линии, выбранной сервером кодов среди доступных линий для вызова телефона пользователя, номер которой передает в онлайновую службу сервер кодов.
Предпочтительно номер вызывающей линии, содержащий динамический код, определяется алгоритмом, применяемым сервером кодов, в зависимости от совокупности параметров, включенных в запрос динамического кода, передаваемый онлайновой службой.
При конкретном выборе параметров, включаемых в запрос динамического кода, определение номера вызывающей линии можно осуществить посредством произвольного выбора номера вызывающей линии среди номеров линий, доступных для сервера кодов.
Предпочтительно динамический код определяют на основании номера вызывающей линии, используемой сервером кодов для вызова телефона пользователя, при помощи правила выделения динамического кода, в котором указаны цифры телефонного номера вызывающей линии, учитываемые для образования динамического кода.
Правило выделения динамического кода может быть фиксированным, однако оно может также меняться и может быть определено онлайновой службой при каждом запросе динамического кода.
Например, цифры, образующие динамический код, могут представлять собой 4, 5 или 6 последних цифр номера вызывающей линии. Это позволяет пользователю просто выбрать среди цифр номера вызывающей линии цифры, соответствующие динамическому коду, применяя правило выделения, переданное через его сетевой терминал.
В варианте динамический код может представлять собой положения определенной подгруппы цифр, взятой среди цифр, образующих упомянутый телефонный номер вызывающей линии, при этом положения цифр, учитываемые для динамического кода, указаны в сообщении, передаваемом онлайновой службой на сетевой терминал пользователя.
Существуют два режима выделения и использования динамического кода на основании номера вызывающей линии, а именно: ручной режим и более автоматизированный режим, применяющий специальное приложение, установленное на телефоне пользователя.
Так, в рамках ручного режима выделения пользователь может просто прочитать номер вызывающей линии, который высвечивается на дисплее его телефона, и вручную выделить из него цифры динамического кода при помощи правила извлечения, которое высвечивается на дисплее его сетевого терминала. После этого пользователь может ввести цифры динамического кода в свой сетевой терминал для передачи динамического кода на программные средства онлайновой службы, которые сравнивают его с контрольным динамическим кодом, полученным через сервер кодов.
В другом, более автоматизированном режиме использования, номер вызывающей линии может считать после вызова прикладная программа, установленная для этого на телефоне пользователя или на любом эквивалентном устройстве. Затем эта прикладная программа может выделить из номера вызывающей линии динамический код для выполнения задачи, для которой она предусмотрена, например, для создания другого кода, генерирования цифровой подписи и т.д. Выделение происходит либо в зависимости от правила выделения, заранее определенного в программе телефона пользователя, либо в зависимости от правила выделения, переданного онлайновой службой на телефон пользователя.
В частности, способ в соответствии с изобретением содержит следующие этапы:
- онлайновая служба передает на упомянутый сервер кодов запрос на отправку динамического кода данному пользователю онлайновой службы, а также совокупность параметров, определяющих динамический код;
- онлайновая служба передает уведомление о направленном вызове на сетевой терминал пользователя;
- после выбора сервером кодов телефонного номера вызывающей линии сервер кодов передает номер выбранной вызывающей линии в онлайновую службу и производит выделение динамического кода из номера вызывающей линии;
- сервер кодов коммутирует телефонный вызов на телефон пользователя, используя номер предварительно выбранной вызывающей линии;
- после получения телефонного вызова телефоном пользователя происходит ручное или автоматическое выделение динамического кода из номера вызывающей линии при помощи предварительно указанного правила выделения;
- пользователь передает выделенный таким образом динамический код на сервер онлайновой службы при помощи своего сетевого терминала;
- сервер онлайновой службы получает динамический код, сравнивает локально полученный динамический код и динамический код, переданный пользователем, и в случае совпадения двух динамических кодов подтверждает динамический код, переданный пользователем.
Согласно изобретению, для того чтобы пользователь знал, что он должен получить динамический код, на сетевой терминал пользователя поступает уведомление о вызове, с одной стороны, чтобы указать, что динамический код включен в номер вызывающей линии, используемой сервером кодов для вызова телефона пользователя, и, с другой стороны, чтобы передать правило извлечения динамического кода из номера вызывающей линии.
Предпочтительно уведомление, передаваемое на сетевой терминал пользователя, содержит инструкции, чтобы он не отвечал на вызов, поступающий из вызывающей линии. Это позволяет вывести на дисплей номер вызывающей линии, включающий в себя динамический код, без повышения стоимости связи.
В альтернативном варианте сервер кодов запрограммирован таким образом, чтобы прерывать телефонную связь между вызывающей линией и телефоном пользователя с момента первого звонка, что позволяет достичь такого же результата.
Предпочтительно номер вызывающей линии, выбранной среди доступных линий на основании параметров, переданных на сервер кодов, остается действующим только в течение ограниченного времени, как правило, порядка нескольких минут, чтобы повысить уровень защиты, связанный с использованием динамического кода.
Способ в соответствии с изобретением применяет специальный программный модуль, интегрированный в онлайновую службу и осуществляющий следующие этапы, на которых:
- принимают от терминала пользователя запрос на доступ к онлайновой службе, управляемой компьютерным сервером;
- составляют спецификацию динамического кода в виде ряда параметров в зависимости от пользователя и от предусмотренного использования динамического кода и составляют правило выделения динамического кода из номера вызывающей линии;
- передают запрос динамического кода, определенного совокупностью параметров, на сервер кодов;
- принимают номер вызывающей линии, передаваемый сервером кодов;
- производят локальное выделение динамического кода из номера вызывающей линии на уровне сервера онлайновой службы;
- принимают динамический код, передаваемый терминалом пользователя;
- сравнивают локально выделенный контрольный динамический код и динамический код, переданный терминалом пользователя, и в случае совпадения двух кодов онлайновая служба сообщает о подтверждении динамического кода пользователя и разрешает пользователю доступ к онлайновой службе; в противном случае программный модуль онлайновой службы формирует сообщение об ошибке для его выведения на дисплей сетевого терминала пользователя.
Способ в соответствии с изобретением применяет также другой программный модуль, интегрированный в онлайновую службу и осуществляющий следующие этапы, на которых:
- принимают запрос динамического кода и определяющие его параметры, передаваемые программой сервера, управляющего онлайновой службой;
- выбирают вызывающую линию среди доступных линий в зависимости от запроса динамического кода, переданного программой сервера, управляющего онлайновой службой, и от связанных с ним параметров;
- осуществляет телефонный вызов через вызывающую линию на номер телефона пользователя;
- передают номер вызывающей линии в программу онлайновой службы, после чего способ возвращается на начало в ожидании следующего запроса динамического кода.
Объектом изобретения является также система предоставления динамического кода пользователю онлайновой службы через телефон, в которой упомянутый пользователь передает, с одной стороны, идентификатор на компьютерный сервер, управляющий онлайновой службой, и, с другой стороны, динамический код, предназначенный для использования пользователем онлайновой службы, при этом упомянутая система содержит:
- сетевой терминал, подключенный к упомянутому компьютерному серверу через цифровую сеть;
- телефон пользователя, выполненный с возможностью высвечивания номера телефона вызывающей линии;
при этом упомянутая система отличается тем, что дополнительно содержит:
- компьютерный сервер, управляющий онлайновой службой;
- сервер кодов, связанный с упомянутым компьютерным сервером при помощи защищенной цифровой линии;
- при этом упомянутый компьютерный сервер содержит программный модуль, выполненный с возможностью формирования спецификации запроса динамического кода в виде ряда параметров в зависимости от пользователя и от использования динамического кода, с возможностью выработки правила выделения динамического кода и передачи такого запроса динамического кода на сервер кодов;
- при этом упомянутый сервер кодов содержит программный модуль, выполненный с возможностью выбора вызывающей линии среди совокупности доступных линий, номер которой удовлетворяет параметрам, включенным в запрос динамического кода, с возможностью вызова телефона пользователя через вызывающую линию и передачи номера вызывающей линии на упомянутый компьютерный сервер;
- при этом упомянутый программный модуль онлайновой службы выполнен также с возможностью сравнения динамического кода, выделенного из номера вызывающей линии, поступившего от сервера кодов, и динамического кода, поступившего от сетевого терминала пользователя.
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
В дальнейшем изобретение поясняется описанием предпочтительных вариантов воплощения со ссылками на сопроводительные чертежи, на которых:
фиг. 1 изображает принципиальную схему системы, выполненной с возможностью применения способа в соответствии с изобретением;
фиг. 2 изображает общую блок-схему способа в соответствии с изобретением, в которой указана совокупность элементов системы, осуществляющая различные этапы, в том числе сетевой терминал и телефон пользователя;
фиг. 3 изображает блок-схему последовательности этапов способа в соответствии с изобретением, осуществляемых онлайновой службой и сервером кодов.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ВОПЛОЩЕНИЯ
Нижеследующие описание способа в соответствии с изобретением представлено в рамках классического ручного использования динамического кода для обеспечения доступа к центру онлайновых служб, хотя эти рамки ни в коем случае не являются ограничительными. Разумеется, описанный способ можно применять и в других обстоятельствах, например, но не ограничительно:
- для осуществления аутентификации пользователей в случае доступа к цифровым услугам, при этом динамический код представляет собой один из факторов аутентификации;
- для подтверждения действия и аутентификации субъекта этого действия, как это происходит при подтверждении онлайновой банковской транзакции;
- для проверки какого-либо приложения, установленного на телефоне пользователя, например, приложения цифровой подписи.
Сначала рассмотрим фиг. 1. В рамках способа используют онлайновую службу, работу которой обеспечивают компьютерный сервер 1, сервер кодов 2, подключенный к компьютерному серверу 1 через защищенную цифровую линию 3, например, в рамках сети 4 типа Интернета. Компьютерный сервер 1 является сервером, каких существуют тысячи, но при этом он содержит специальное программное приложение, обозначенное 5, выполненное с возможностью осуществления вместе с другими компонентами системы способа в соответствии с изобретением, который будет описан ниже.
Аналогично, сервер кодов 2 содержит специальное программное приложение, обозначенное 6, выполненное с возможностью осуществления способа в соответствии с изобретением во взаимодействии с другими компонентами системы.
Следует отметить, что нет никаких ограничений для характера транзакций, выполняемых в рамках онлайновой службы, они могут быть коммерческими или нет, банковскими или другими, но при этом пользователь должен передать динамический код в онлайновую службу по ее запросу.
Кроме того, со стороны пользователя способ в соответствии с изобретением использует, с одной стороны, сетевой терминал 7 и, с другой стороны, телефон 8, который может быть классическим мобильным телефоном или стационарным телефоном, оборудованным дисплеем, или компьютерным устройством с модемной функцией.
Сетевой терминал 7 тоже подключен к компьютерному серверу 1 через цифровую сеть 4, чтобы пользователь мог вести диалог с онлайновой службой, в частности, чтобы передать ей свой идентификатор и свой пароль в виде динамического кода.
Для обеспечения возможности применения способа онлайновая служба может предварительно зарегистрировать номер телефона пользователя.
Далее со ссылкой на фиг. 2 следует более подробное описание способа предоставления динамического кода в соответствии с изобретением.
Предварительный этап (0): Передача пользователем своего идентификатора в онлайновую службу: когда пользователь намеревается подключиться к онлайновой службе, он вводит свой идентификатор на интерфейсе пользователя сетевого терминала 7, который передает его через сеть 4 на компьютерный сервер 1, управляющий онлайновой службой.
Этап 1а: по запросу онлайновой службы - определение параметров спецификации динамического кода и выработка правила выделения программным приложением 5 и передача запроса на отправку динамического кода в программное приложение 6, установленное на сервере кодов 2;
Запрос на отправку динамического кода может меняться в зависимости от потребностей приложения, установленного на сервере онлайновой службы.
В зависимости от дальнейшего использования динамического кода онлайновая служба определяет при помощи соответствующего алгоритма, применяемого ее прикладной программой, типа кода, который она собирается предоставить пользователю, задавая определенное число параметров, соответствующих такому же числу требований, которым должен удовлетворять динамический код.
Например, но не ограничительно, параметры, используемые для спецификации типа кода, предоставляемого пользователю, включают в себя следующие параметры:
Р0: этот параметр относится к идентификатору пользователя (если он зарегистрирован в сервере кодов) или к его номеру телефона.
Р1: этот параметр относится к числу N цифр, которые должен содержать динамический код, при этом, как правило, N составляет от 3 до 9;
Р2: этот параметр определяет тип выделения динамического кода из номера вызывающей линии. Это выделение может производить вручную пользователь на основании номера вызывающей линии, высветившегося на его телефоне, или его может осуществлять автоматически специальное приложение, установленное на телефоне пользователя.
Р3: этот параметр определяет, в случае необходимости, возможные задаваемые значения, то есть значения цифр, которые должны появиться в динамическом коде, если этого требует онлайновая служба. Это может быть всего одним задаваемым значением, например, первая цифра С1 динамического кода должна быть равна 0. Онлайновая служба может выдвигать требование по всем цифрам динамического кода, и в этом случае определяться должен полностью весь динамический код. Например, для кода из 4-х цифр N=4, и задаваемым динамическим кодом для данной транзакции является 1234.
Р4: этот параметр определяет необходимое правило выделения. Правило выделения определяет, в каком положении должна находиться каждая цифра Ci динамического кода в номере вызывающей линии Ci(j); i=1,N. Правило выделения может не быть обусловлено каким-либо требованием, если никакое значение Ci не указано.
В зависимости от потребностей онлайновой службы алгоритм онлайновой службы определяет тип кода для его передачи пользователю, и передает через защищенную связь этот запрос на сервер кодов, определяя необходимые параметры (Р0; Р1; Р2; Р3; Р4).
Пример 1: в наиболее простом случае онлайновая служба не выдвигает никакого требования для динамического кода. В этом случае, параметрами, указанными онлайновой службой серверу кодов, будут: Р0; Р1=неопределен; Р2=ручное; Р3=никакого; Р4=никакого. Программа сервера кодов в этом случае произведет случайный выбор номера вызывающей линии из доступных линий. Этот случай наиболее часто встречается при замене статического пароля на динамический код для «логина».
На примере 1 можно увидеть дополнительные преимущества способа, связанные с определением параметров запроса динамического кода онлайновой службой, а именно: онлайновая служба может применять динамический метод выделения, то есть при каждом запросе динамического кода определять число цифр, образующих динамический код, и правило выделения. Таким образом, повышают уровень защиты, связанный с использованием динамического кода, посредством введения дополнительных случайных элементов, не говоря уже о динамическом характере самого кода, в частности, длины динамического кода или метода его выделения.
Таким образом, алгоритм онлайновой службы разработан с возможностью определения при помощи описанных выше параметров как характеристик динамического кода, генерируемого сервером кодов, так и режима его выделения.
Этап 1b: по существу одновременно с запросом на отправку динамического кода на этапе 1а компьютерная программа онлайновой службы реагирует на прием идентификатора пользователя, направляя на сетевой терминал 7 пользователя выводимое на дисплей сообщение, предупреждающее о последующем вызове, на который не надо будет отвечать, и на последующие действия пользователя, которые он должен совершить после получения этого вызова от вызывающей линии, то есть, в частности, каким образом из номера вызывающей линии, который высветится на его телефоне, выделить те цифры номера, которые необходимо учитывать для формирования динамического кода.
Например, сообщение, передаваемое онлайновой службой на телефон пользователя, является следующим: «Сейчас вы получите телефонный вызов от номера, начинающегося с +331234……, не отвечайте на этот вызов и используйте в качестве пароля 5 последних цифр этого номера»; одновременно онлайновая служба направляет по защищенной связи 3 запрос динамического кода на сервер кодов 2, предоставляя ему набор параметров, которым должен удовлетворять динамический код.
Этап 2а: по получении запроса динамического кода специальная программа 6 сервера кодов 2 производит выбор вызывающей линии среди доступных линий. Этот выбор осуществляют в зависимости от параметров, указанных онлайновой службой.
Сервер кодов запускает свой алгоритм выбора вызывающей линии. Этот алгоритм анализирует различные требования, определенные параметрами Pi, и выявляет среди всех доступных линии те, которые могут удовлетворять упомянутым параметрам, затем производит выбор линии, которая и будет вызывающей линией.
Можно себе представить, что в некоторых случаях, когда число требований является слишком большим, алгоритм не может найти вызывающую линию. В этом случае сервер кодов сообщает онлайновой службе о невозможности удовлетворения этого конкретного запроса кода и предлагает, например, упростить требования. Вероятность возникновения такого случая будет тем ниже, чем больше число доступных линий.
В случае успешного результата сервер кодов выбирает вызывающую линии, направляет телефонный вызов через вызывающую линию на телефон пользователя и сообщает онлайновой службе через защищенную связь номер вызывающей линии.
В представленном выше упрощенном примере 1 алгоритм сервера кодов осуществляет случайный выбор линии среди доступных линий и направляет вызов на телефон пользователя через вызывающую линию.
Этап 2b: сервер кодов 2 передает номер вызывающей линии, выбранный на этапе 2а, в онлайновую службу, которая сообщает его специальной программе 5, чтобы она могла в дальнейшем проверить код, который введет пользователь в ответ на запрос от сервера кодов.
Этап 3: после этого специальная программа 6 сервера кодов 2 направляет телефонный вызов на телефон 8 пользователя, используя в качестве номера вызова ранее выбранный (этап 2а) номер вызывающей линии.
Предпочтительно, когда программа 6 сервера кодов 2 направляет вызов на телефон 8 пользователя чрез вызывающую линию (например, +33123456789), она прерывает этот вызов при первом же звонке, чтобы пользователь не смог на него ответить. Это позволяет высветить номер вызывающей линии (содержащий динамический код) на дисплее телефона 8 пользователя, не тратя для этого вызова условные единицы оплаты связи.
Этап 4: пользователь обнаруживает входящий вызов и номер вызывающей линии, высветившийся на его телефоне 8. После этого он выделяет из него динамический код. Он производит это выделение согласно указаниям, ранее направленным (этап 1b) вместе с запросом динамического кода, переданным онлайновой службой.
Таким образом, в данном примере пользователю достаточно считать 5 последних цифр высветившегося номера вызывающей линии. Разумеется, не выходя за рамки настоящего изобретения, можно предусмотреть и другие варианты «кодирования» динамического кода внутри номера вызывающей линии.
Располагая динамическим кодом после его выделения, пользователь вводит динамический код в область, предусмотренную для введения пароля на сетевом терминале 7. Таким образом, в выбранном примере пользователь вводит на своем сетевом терминале 7 пять последних цифр номера вызывающей линии, который высветился на его телефоне 8.
Разумеется, на этапе 4b сетевой терминал 7 передает динамический код в программу 5 онлайновой службы.
Этап 5: в конечном итоге программа 5 онлайновой службы сравнивает динамический код, полученный через терминал 7 пользователя, с кодом, выделенным из номера вызывающей линии, переданным ранее (этап 2b) сервером кодов для этого пользователя. Если между двумя кодами установлено тождество, программа 5 онлайновой службы разрешает пользователю доступ к онлайновой службе, в противном случае она выводит на дисплей сообщение, указывающее пользователю, что его попытка идентификации или подтверждения не увенчалась успехом.
На основании базовой схемы описанного выше способа можно предусмотреть различные версии. Так, онлайновая служба может располагать своим собственным сервером кодов, предназначенным для генерирования динамических кодов, чтобы не устанавливать связь с удаленным и независимым сервером кодов.
Далее рассмотрим фиг. 3, на которой представлена упрощенная функциональная блок-схема специальных программ 5 и 6, устанавливаемых соответственно на компьютерном сервере 1, управляющим онлайновой службой, и на сервере кодов 2, для осуществления способа в соответствии с настоящим изобретением онлайновой службой.
В левой части фиг. 3 показана блок-схема 10 программы 5, которую должен исполнять сервер 1 онлайновой службы. Эта программа содержит следующие этапы, на которых:
(11) получают от терминала 7 пользователя запрос на доступ к онлайновой службе, управляемой компьютерным сервером 1;
(12) вырабатывают спецификацию (в виде ряда параметров) динамического кода в зависимости от пользователя и от дальнейшего использования динамического кода и определяют правило выделения из номера вызывающей линии;
(13) передают запрос динамического кода с предоставлением совокупности параметров, которым должен удовлетворять упомянутый код, в программу 6 сервера кодов 2;
(14) получают номер вызывающей линии от программы 6 сервера кодов;
(15) локально выделяют динамический код из номера вызывающей линии;
(16) получают динамический код, переданный терминалом 7 пользователя;
(17) сравнивают локально выделенный динамический код с динамическим кодом, переданным пользователем через его сетевой терминал 7. В случае равенства двух кодов динамический код пользователя подтверждают и разрешают доступ пользователя к онлайновой службе; в противном случае программа 5 формирует сообщение об ошибке и передает его в онлайновую службу для выведения на дисплей на сетевом терминале пользователя.
В правой части фиг. 3 показана блок-схема 20 программы 6, которую должен исполнять сервер кодов 2. Эта программа содержит следующее этапы, на которых:
После начала 21:
(22) получают запрос динамического кода и определяющих его параметров, переданных программой 5 сервера, управляющего онлайновой службой;
(23) выбирают вызывающую линию среди доступных линий в зависимости от параметров, определенных в запросе динамического кода онлайновой службой;
(24) передают телефонный вызов через вызывающую линию на номер телефона пользователя;
(25) передают номер вызывающей линии в программу 5 онлайновой службы, затем возвращаются на начало (21) в ожидании следующего запроса динамического кода.
Программа сервера кодов применяет алгоритм определения номера вызывающей линии из доступных линий в зависимости от параметров запроса кода, принятого онлайновой службой.
Чтобы избежать повышения стоимости связи при передаче динамического кода пользователю, в первом альтернативном варианте онлайновая служба передает уведомление о вызове, в котором просит пользователя не отвечать на вызов вызывающей линии, как было описано выше. В варианте или дополнительно предпочтительно предусмотрено, чтобы сервер кодов сам прерывал вызов, передаваемый им через вызывающую линию, после первого же звонка, чтобы избежать ответа пользователя, учитывая, что номер вызова в любом случае высветился на дисплее телефона пользователя.
Во всех вариантах осуществления способа в соответствии с изобретением предпочтительно для динамического кода предусматривают срок действия. Этот срок может быть зафиксирован в несколько минут.
Предпочтительно также, чтобы линии сервера кодов имели общую часть своего номера, например +33999------.
За счет этого улучшается эргономика способа, так как, когда пользователь привыкнет к этому способу, он быстро начнет распознавать вызов от сервера кодов и не будет пытаться на него ответить.
В другом варианте выполнения приложение, установленное на телефоне пользователя, будет автоматически считывать и использовать динамический код, включенный в номер вызывающей линии.
Этот вариант выполнения представляет особый интерес в ситуации, когда на телефоне пользователя установлено приложение и когда его использование требует предоставления динамического кода. В этом случае само приложение выполнено с возможностью автоматического определения динамического кода, включенного в номер вызывающей линии.
Например, это может соответствовать ситуации пользователя онлайнового банка, от которого центр онлайнового банка затребует цифровую подпись транзакции при помощи его приложения подписи, предварительно установленного на его телефоне и требующего введения динамического кода.
Способ идентичен уже описанному способу до этапа выделения пользователем. В параметрах спецификации динамического кода онлайновая служба указывает вариант автоматического использования на Р2 и уточняет параметры Р3 и Р4 таким образом, чтобы приложение, установленное на телефоне пользователя, могло выделить динамический код. На этом этапе пользователь запускает на своем телефоне приложение, которое будет использовать динамический код. При этом приложение либо проверяет реестр входящих вызовов и выбирает последний номер (то есть номер вызывающей линии), либо запрашивает пользователя, какой входящий номер вызова оно должно учитывать. После этого выбора приложение автоматически выделяет динамический код из номера вызывающей линии и выполняет задачи, для которых оно предусмотрено.
ПРЕИМУЩЕСТВА ИЗОБРЕТЕНИЯ
Способ в соответствии с изобретением позволяет решать поставленные задачи и имеет целый ряд преимуществ по сравнению с известными способами генерирования и предоставления одноразовых кодов.
В отличие от известных способов генерирование динамического кода происходит не в самом мобильном телефоне, поскольку это требует наличия в нем специальной программы, предназначенной для выполнения этой функции.
Динамический код не генерируется также сервером онлайновой службы для его последующей передачи пользователю при помощи классического голосового вызова или SMS-сообщения, так как это повышает стоимость связи для онлайновой службы или для пользователя, тогда как задачей изобретения является понижение этой стоимости. В рамках способа в соответствии с изобретением отправка динамического кода пользователю не приводит к повышению стоимости, так как вызов, осуществляемый онлайновой службой, не требует ответа.
Кроме того, этот способ работает со всеми существующими мобильными телефонами без исключения и даже со стационарными телефонами, которые имеют дисплей, или с компьютерными системами, оснащенными модемом и эмулирующими работу телефона. Следовательно, этот новый способ может быть использован максимальным числом абонентов телефонной службы. На практике в большинстве предусматриваемых случаев динамический код поступает к пользователю через его мобильный телефон, что позволяет использовать уже существующую огромную базу мобильных телефонов.