СПОСОБ И УСТРОЙСТВО ДЛЯ ПРОВЕРКИ ПОДЛИННОСТИ ИЛИ ПРАВА С ИСПОЛЬЗОВАНИЕМ РАЗОВЫХ КОДОВ ТРАНЗАКЦИЙ
METHOD AND APPARATUS FOR CHECKING AUTHENTICITY OR RIGHTS USING ONE-TIME TRANSACTION CODES

Область техники, к которой относится изобретение
Настоящее изобретение относится к способу и устройству для проверки подлинности субъекта или права субъекта, например, для осуществления доступа в помещения или для получения определенных услуг.
Уровень техники
Мошенничество с кредитными картами является насущной проблемой для розничных торговцев и, точно также, компаний, продающих товары по кредитным картам. Многие компании, продающие товары по кредитным картам, отреагировали на эту проблему введением технологий «интегральной схемы и личного идентификационного номера», но это не принимает меры по поводу проблемы мошенничества «карта не предъявлена», которая увеличивается, по мере того как больше людей производят интерактивные покупки по кредитным картам или покупают товары по телефону.
Более того, при широкой распространенности компьютерных вирусов и, в частности, троянских программ, которые фиксируют нажатия клавиш (в том числе, номеров кредитных карт и личных идентификационных номеров («PIN»)), отправка информации о кредитных картах и PIN не надежной второй стороне, по сути, не защищена.
Настоящее изобретение предлагает способ, посредством которого мошенничество может снижаться благодаря использованию «разовых» кодов транзакций, а также предусматривающий общее средство подтверждения действительности подлинности или права кого-либо.
Потенциальные применения включают в себя покупки по кредитным картам, системы входа в помещения и транспортные средства (в том числе, включение зажигания транспортного средства), проверку полномочий клиентов банка, проверку паспортов, восстановление паролей, или в любой другой ситуации, где требуется «право на обслуживание».
В US-B-6 246 769 раскрыта система для замены PIN разовым кодом транзакции, который пользователь определяет по матрице символов, обращаясь к персональному случайно выбранным шаблону и последовательности позиций матрицы, которые пользователь регистрирует в центральной базе данных наряду с персональными идентификационными данными/данными счета. Например, когда должна быть произведена транзакция, шаблон пользователя извлекается из базы данных, и специфичный код транзакции создается, а затем помещается в матрицу в позициях шаблона. Оставшиеся пространства заполняются символами, не используемыми в специфичном коде транзакции, чтобы скрыть код, до того как матрица отображается пользователю с требованием ввести символы, занимающие позиции персонального шаблона пользователя. Терминал затем устанавливает, что пользователь ввел правильный скрытый код перед обращением к авторизации транзакции.
Во многих ситуациях эта последовательность операций нежелательна по двум принципиальным причинам. Во-первых, она требует передачи сохраненного персонального шаблона пользователя из центральной базы данных на терминал пользователя (например, ATM (банкомат)), каковое является потенциально незащищенным, и, во-вторых, транзакция требует либо двух отдельных информационных вызовов в базу данных, либо одного непрерывного соединения в течение продолжительности транзакции. В любом случае это неприемлемо для транзакций магазинов и банков, так как это могло бы значительно увеличить себестоимость эксплуатации системы - такие транзакции, предпочтительно, влекут за собой только одно короткое сообщение для получения авторизации на транзакцию - наряду с возможным повышением риска нарушения безопасности транзакции, если бы последовательность операций авторизации требовала непрерывного соединения в течение продолжительности транзакции.
В дополнение, последовательность операций, раскрытая в US-B-6 246 679, не может использоваться для автономных платежных систем, поскольку она требует доступа к хранимому персональному шаблону пользователя.
Раскрытие изобретения
Настоящее изобретение предлагает способ проверки подлинности субъекта, содержащий сохранение персонального шаблона некоторого количества позиций в сетке в ассоциативной связи с персональными идентификационными данными и последующее использование шаблона в последовательности операций проверки, при этом последующая последовательность операций проверки содержит этапы:
(a) представления субъекту сетки опознавательного запроса из позиций, занятых псевдослучайным набором символов, и побуждения субъекта определять ответный набор символов, занимающих позиции в сетке опознавательного запроса, соответствующие хранимому персональному шаблону;
(b) приема ответного набора в устройстве проверки и формирование из сетки опознавательного запроса и хранимого шаблона проверочного набора символов, занимающих позиции в сетке опознавательного запроса, соответствующие хранимому персональному шаблону;
(c) сравнения ответного набора символов с проверочным набором символов; и
(d) подтверждения правильности подлинности субъекта, если ответный набор является таким же, как проверочный набор.
Предпочтительно, этап регистрации содержит, прежде всего, снабжение субъекта сеткой и приглашение субъекта выбрать персональный шаблон позиций. Приглашение может быть для выбора предопределенного количества позиций для формирования персонального шаблона или для выбора длины шаблона из одного или нескольких предопределенных количеств, например, 4, 5 или 6, или даже для выбора настолько многочисленных позиций, насколько субъект ощущает способность надежно запоминать при условии минимального количества.
В одном из аспектов изобретения способ содержит сообщение ответного набора в компьютер авторизации транзакций в месте, удаленном от субъекта, и проведение этапов с (b) по (d) в упомянутом компьютере авторизации.
Согласно одному из вариантов осуществления изобретения этап (a) содержит формирование сетки опознавательного запроса в терминале пользователя и передачу в компьютер авторизации ответного набора символов и сетки опознавательного запроса в компьютер авторизации, чтобы идентифицировать или обновить сетку опознавательного запроса. Предпочтительно, этот вариант осуществления содержит использование алгоритма в терминале пользователя для формирования псевдослучайной строки символов согласно дате и/или времени суток и данным подлинности для терминала и/или субъекта, чтобы создавать сетку поискового запроса, и передачу в компьютер авторизации по меньшей мере ответного набора символов и данных подлинности, компьютер авторизации использует тот же самый алгоритм и упомянутые данные подлинности и дату и/или время суток для формирования той же самой псевдослучайной строки символов, чтобы, тем самым, обновить сетку поискового запроса.
Дополнительная защита может достигаться в этом способе использованием второго алгоритма для формирования из ответного набора и дополнительного идентификатора, например, по меньшей мере одного фактора из:
(i) времени и/или даты транзакции;
(ii) персонального идентификатора или идентификатора счета;
(iii) идентификатора терминала;
(iv) открытого/секретного информационного ключа;
(v) суммы платежа, в случае платежной транзакции; и
(vi) всего или части номера счета получателя платежа;
лексемы, состоящей из строки символов, скрывающей ответный набор, и при этом этап (c) содержит использование восстановленной сетки опознавательного запроса для формирования проверочного набора, применение второго алгоритма, использующего фактор или факторы для формирования лексемы из проверочного набора, а этап (d) содержит сравнение принятой лексемы со сформированной лексемой.
Согласно другому варианту осуществления изобретения этап (a) содержит алгоритмический выбор на терминале пользователя одной из множества сеток опознавательного запроса, выданных ранее на упомянутый терминал пользователя основной частью авторизации транзакций или компьютером авторизации транзакций и сохраненных на терминале, и передачу в компьютер авторизации транзакций ответного набора и данных, идентифицирующих в отношении компьютера авторизации алгоритмически выбранную сетку.
В еще одном варианте осуществления изобретения этап (a) содержит алгоритмический выбор на терминале пользователя начальной опорной точки в большой матрице символов, выданных ранее на упомянутый терминал пользователя основной частью авторизации транзакций или компьютером авторизации транзакций и сохраненных на терминале, представление сетки опознавательного запроса, выведенной из большой матрицы с использованием начальной опорной точки, а затем передачу на компьютер авторизации ответного набора и начальной опорной точки.
В дополнительном варианте осуществления изобретения этап (a) содержит алгоритмический выбор на терминале пользователя предопределенного количества символов из большой матрицы символов, выданных ранее на упомянутый терминал пользователя основной частью авторизации транзакций или компьютером авторизации транзакций и сохраненных на терминале, представление сетки опознавательного запроса из упомянутых выбранных символов, а затем передачу на компьютер авторизации ответного набора, и при этом компьютер авторизации применяет тот же самый алгоритм для выбора из большой матрицы, выданной ранее, тех же самых символов для восстановления сетки опознавательного запроса.
В еще одном альтернативном варианте осуществления изобретения этап (a) содержит прием на терминале пользователя начальной опорной точки, переданной на него компьютером авторизации, начальная опорная точка указывает позицию в большой матрице символов, выданной ранее на упомянутый терминал пользователя основной частью авторизации или компьютером авторизации и сохраненной на терминале, представление сетки опознавательного запроса, выведенного из большой матрицы с использованием начальной опорной точки, а затем передачу на компьютер авторизации ответного набора.
В еще одном дополнительном варианте осуществления изобретения этап (a) содержит извлечение из базы данных сеток, независимой от компьютера авторизации, алгоритмически выбранной одной из множества сеток, хранимых в упомянутой базе данных, упомянутая сетка имеет уникальный идентификатор, и передачу на компьютер авторизации ответного набора и упомянутого идентификатора сетки, а этап (c) содержит передачу компьютером авторизации идентификатора в независимую базу данных для извлечения сетки опознавательного запроса.
Доступ к компьютеру или другому оборудованию мог бы контролироваться согласно способу по изобретению.
Сетка может быть предварительно напечатана множеством символов в соответственных позициях сетки.
В одном из вариантов осуществления изобретение содержит способ для проверки подлинности или «права обслуживания», который может (это не обязательно является требованием) использоваться в соединении с устройством для безопасной записи любых кодов или PIN, или тому подобного. В частности, настоящее изобретение может использоваться во взаимодействии с «сеткой Креймера», которая является объектом находящейся в процессе одновременного рассмотрения заявки на патент, № GB0517333.1.
Сетка Креймера является устройством для безопасного хранения информации и содержит первый элемент, имеющий первую поверхность, второй элемент, имеющий вторую поверхность, первый и второй элементы являются движимыми один относительно другого в выбранную позицию, первая поверхность имеет по меньшей мере одно окно на ней, так что части второй поверхности видимы через по меньшей мере одно окно, и первая и вторая поверхности снабжены маркировками сетки, в которые пользователь может записывать знаки, из условия чтобы предопределенные знаки на второй поверхности были видимы через по меньшей мере одно окно, только когда первый и второй элементы находятся в выбранной позиции. Устройство может быть в виде плоской обоймы, содержащей скользящий элемент, помеченный пустой сеткой делений, в которую пользователь может вводить один или более PIN-кодов или других защитных цифр, букв или тех и других. Когда это делается, пользователь может заполнять оставшиеся позиции сетки случайными цифрами, буквами и т.п. Когда пользователь желает использовать (скажем) конкретный PIN-код, он/она перемещает элемент внутрь обоймы до тех пор, пока требуемый код не появляется в окне. Только пользователь знает, какая это позиция. Пользователь может маркировать сетку безопасным способом, чтобы напоминать самому себе, какая «начальная позиция» должна давать пользователю возможность считывать надлежащий код.
Будет понятно, что использование термина «сетка» в материалах настоящей заявки охватывает не только правильные сетки, как описанные ниже со ссылкой на чертежи, но также и неправильные компоновки или позиции. Например, позиции в «сетке» могли бы быть представлены разными элементами изображения и интервалу одной позиции относительно любой другой не требуется быть равномерным и по расстоянию, и по направлению.
В качестве альтернативы изобретение может использовать виртуальные сетки, удерживаемые в микросхемах кредитной или дебетовой (или другой осуществляющей персональную идентификацию) карты, то есть виртуальная сетка представлена данными, которые могут отображаться пользователю в качестве сетки устройством считывания карты. Таковые могут считываться в EPOS (электронном пункте продаж) или специализированным считывателем карты, таким как мобильный телефон, который может быть оборудован считывателем карт или любым другим подходящим электронным устройством. Сетки, в качестве альтернативы, могут удерживаться (в качестве виртуальных сеток) в телефоне. EPOS может формировать свою собственную сетку. Выбранный шаблон пользователя, например, мог бы безопасно сохраняться в микросхеме карты.
В качестве альтернативы изобретение может использовать сетки, которые автоматически формируются аутентификатором, с проверкой, производимой сравнением ответа пользователя с предварительно зарегистрированным шаблоном, который аутентификатор закодировал безопасным образом на микросхеме кредитной/дебетовой карты пользователя или другом устройстве подлинности или доступа.
Способ по настоящему изобретению требует, чтобы участвующая сторона (аутентификатор), который желает произвести проверку (например, компания, продающая товары по кредитным/дебетовым картам), выдает опознавательный запрос пользователю (например, покупателю) для установки цифр (кода аутентификации) на основании сетки, которую формирует аутентификатор, или посредством «опорной точки сетки», заданной аутентификатором.
Пользователь затем использует сетку цифр, которая также известна аутентификатору (например, сетку Креймера или интерактивную сетку, представленную на экране, который был сформирован аутентификатором), и отбирает набор цифр согласно шаблону или «форме», известной только ему самому и аутентификатору, а затем передает эти цифры обратно в аутентификатор.
Поскольку аутентификатор также знает цифры сетки и известные пользователю последовательность и шаблон, он также может отыскивать такие же последовательность и шаблон и, если они совпадают, они получают положительную проверку.
Поскольку аутентификатор может запрашивать последовательность и шаблон цифр на основании случайной исходной позиции или опорной точки сетки, последующие транзакции вероятно должны требовать, чтобы пользователь начинал с разных опорных позиций сетки. Это может означать, что при последующих транзакциях потребуются другие коды аутентификации. (Эта ситуация типично будет возникать, когда пользователь является использующим скорее автономную, чем интерактивную сетку).
Будет понятно, что ссылки на «набор цифр» и тому подобное включают в себя символы, отличные от арабских цифр.
Устройство проверки может быть электронным устройством, носимым пользователем, например электронной микросхемой, включенной в транзакционную или идентификационную карту.
Согласно одному из аспектов изобретения устройство проверки будет компьютером контроля доступа, управляющим доступом в здание или другое местоположение, или деталью машин или транспортного средства.
Изобретение также предлагает устройство для использования при проверке подлинности субъекта, содержащее средство для приема и хранения данных идентификации для субъекта и связанного шаблона позиций в сетке, электронное средство в позиции субъекта для представления субъекту сетки опознавательного запроса и приглашения субъекту идентифицировать, в ответ на него, ответный набор символов, занимающих позиции в сетке опознавательного запроса, соответствующие хранимому персональному шаблону, и средство проверки для приема от субъекта ответного набора, средство проверки является выполненным с возможностью формировать из сетки опознавательного запроса и хранимого шаблона проверочный набор символов, занимающих позиции в сетке опознавательного запроса, соответствующие хранимому персональному шаблону, сравнивать ответный набор символов с проверочным набором символов и подтверждать идентичность субъекта, если ответный набор является таким же, как проверочный набор.
Средство проверки может содержать компьютер авторизации транзакций.
Электронное средство, соответственно, является терминалом пользователя, удаленным от компьютера авторизации транзакций.
В одном из вариантов осуществления изобретения терминал пользователя запрограммирован формировать сетку опознавательного запроса и выполнен с возможностью передавать в компьютер авторизации транзакций в удаленной от терминала пользователя позиции ответный набор и сетку поискового запроса или данные, дающие компьютеру авторизации транзакций возможность идентифицировать или восстанавливать сетку опознавательного запроса.
В еще одном варианте осуществления терминал пользователя запрограммирован использовать алгоритм для формирования псевдослучайной строки символов согласно дате и/или времени суток и данным подлинности для терминала и/или субъекта, чтобы создавать сетку поискового запроса и выполнен с возможностью передавать в компьютер авторизации транзакций по меньшей мере данные подлинности, и при этом компьютер авторизации транзакций запрограммирован использовать упомянутые данные подлинности и дату/время суток для формирования, с использованием того же самого алгоритма, той же самой псевдослучайной строки символов, чтобы, тем самым, восстанавливать сетку поискового запроса.
Терминал пользователя дополнительно может быть запрограммирован использовать второй алгоритм для формирования из ответного набора и дополнительного идентификатора, например, по меньшей мере одного фактора из:
(i) времени и/или даты транзакции;
(ii) персонального идентификатора или идентификатора счета;
(iii) идентификатора терминала;
(iv) открытого/секретного информационного ключа;
(v) суммы платежа, в случае платежной транзакции; и
(vi) всего или части номера счета получателя платежа;
лексемы, состоящей из строки символов, скрывающей ответный набор, и при этом компьютер авторизации транзакций запрограммирован использовать восстановленную сетку опознавательного запроса для формирования проверочного набора символов, применять второй алгоритм, использующий фактор или факторы для формирования лексемы из проверочного набора, а затем сравнение принятой лексемы со сформированной лексемой, чтобы устанавливать или отклонять подтверждение правильности.
В еще одном варианте осуществления терминал пользователя запрограммирован алгоритмически выбирать одну из множества сеток опознавательного запроса, выданных ранее на упомянутый терминал пользователя и сохраненных на нем, и выполнен с возможностью передавать на компьютер авторизации ответный набор и данные, идентифицирующие выбранную сетку.
В еще одном другом варианте осуществления терминал пользователя запрограммирован алгоритмически выбирать начальную опорную точку в большой матрице символов, выданных ранее в упомянутый терминал пользователя и сохраненных на нем, чтобы представлять сетку опознавательного запроса, выведенную из большой матрицы с использованием начальной опорной точки, и чтобы затем передавать в компьютер авторизации идентифицированные символы и начальную опорную точку.
В еще одном варианте осуществления, в котором терминал пользователя запрограммирован алгоритмически выбирать предопределенное количество символов из большой матрицы символов, выданных ранее на упомянутый терминал пользователя основной частью авторизации транзакций или компьютером авторизации транзакций и сохраненных на терминале, представлять сетку опознавательного запроса из упомянутых выбранных символов, а затем передавать на компьютер авторизации ответный набор, и при этом компьютер авторизации запрограммирован применять тот же самый алгоритм для выбора из большой матрицы, выданной ранее, тех же самых символов для восстановления сетки опознавательного запроса.
В дополнительном варианте осуществления терминал пользователя запрограммирован принимать начальную опорную точку, переданную на него компьютером проверки, начальная опорная точка указывает позицию в большой матрице символов, выданных ранее в упомянутый терминал пользователя и сохраненных в нем, представлять сетку опознавательного запроса, выведенную из большой матрицы с использованием начальной опорной точки, а затем передавать в компьютер авторизации транзакций в позиции, удаленной от терминала пользователя, идентифицированные символы.
В еще одном другом варианте осуществления терминал пользователя запрограммирован извлекать из базы данных сеток, независимой от компьютера авторизации транзакции и субъекта, алгоритмически выбранной одной из множества сеток, хранимых в упомянутой базе данных, упомянутая сетка имеет уникальный идентификатор, и передавать на компьютер авторизации транзакций в позиции, удаленном от терминала пользователя, идентифицированные символы и упомянутый идентификатор сетки, и при этом компьютер авторизации транзакций запрограммирован передавать идентификатор в независимую базу данных для извлечения сетки опознавательного запроса.
Терминал пользователя может быть автоматической кассовой машиной (ATM). В качестве альтернативы терминал пользователя является компьютером, допускающим присоединение к компьютеру авторизации через сетевое соединение, или портативным устройством, допускающим присоединение к компьютеру авторизации через беспроводное соединение.
В случае, где сетка опознавательного запроса рассчитывается алгоритмически, устройство пользователя может быть полностью отдельным от компьютера аутентификации. В этом случае, проверочные символы, например, могут устно передаваться оператору удаленных продаж третьей стороны, который завершает этап проверки, или с помощью программного обеспечения распознавания речи.
Преимущества изобретения включают в себя следующие:
Люди находят затруднительным запоминать PIN. Однако человеческий разум гораздо более хорош при запоминании образов и шаблонов. Этот способ устраняет необходимость запоминать PIN. Это обеспечивает более высокую степень безопасности, чем существует в настоящее время, наряду со снабжением пользователя более простым способом запоминания своего средства аутентификации.
Вследствие случайности сеточного опознавательного запроса, правильный код аутентификации будет изменяться в последующих транзакциях. Поэтому, в случае покупок по кредитным картам, если кто-либо видит пользователя, вводящего код транзакции и впоследствии похищает кредитную/дебетовую карту, то PIN/кредитная карта будут ему бесполезны, если он не знает выбранные пользователем «последовательность» и «шаблон».
Люди часто компрометируют безопасность своих кредитных/дебетовых карт записыванием своих PIN. Абстрактная природа шаблонов, предложенных в способе по этому изобретению, делает более затруднительным, чтобы шаблон записывался или «описывался».
Поскольку коды транзакций изменяются на потранзакционной основе, можно производить относительно безопасные интерактивные транзакции по сети Интернет или по телефону. Проверка транзакции также может производиться с использованием портативного электронного устройства, в частности устройства связи, такого как телефон «с развитой логикой», то есть мобильный телефон, оборудованный считывателем карт, или менее одаренный мобильный телефон, как будет описано позже в этом описании изобретения.
Большинство систем аутентификации запрашивают PIN в четыре цифры. Однако, поскольку люди находят шаблоны более легкими для запоминания, чем номера, можно вводить коды в 5, 6 или более цифр без ненормальных проблем для пользователя.
Способ потенциально мог бы использоваться без какой бы то ни было дополнительной аппаратной инфраструктуры в терминалах пунктов продаж, для интерактивных покупок через сеть или в ATM. Такие терминалы могут предусматриваться телефонами с развитой логикой, как описано позже. Предвидится, что существующие аппаратные средства «микросхемы и личного идентификационного номера» могли бы использоваться, хотя и с некоторым минимальным перепрограммированием программного обеспечения.
Для покупок по кредитной/дебетовой карте более чем одна кредитная/дебетовая карта могла бы регистрироваться для использования с сеткой чисел.
Последовательность операций легко изучается и не требует высокой степени изощренности от лица пользователя.
Системы брайлевской печати могли бы легко изготавливаться для людей с неполноценным зрением.
Для интерактивных или других электронных покупок никакие дополнительные аппаратные средства не требуются пользователю. Что касается других ситуаций, где требуются основанные на бумаге сетки, требуемые аппаратные средства пользователя недороги для изготовления и имеют небольшую или никакой ценности, если украдены.
Безопасность компрометируется, только если третья сторона знает «последовательность» и «шаблон». Случайный или даже недоброжелательный наблюдатель не мог бы легко выяснить их.
Важно, что система ни в каком состоянии не передает фактический персональный шаблон, и она не использует такой шаблон при создании сетки опознавательного запроса и значит избегается риск того, что таковой перехватывается и неправомерно используется третьей стороной. Более того, система дает авторизации на транзакцию, например, в машине ATM или POS (Point of Sale system - терминал для ведения розничной торговли), возможность получаться безопасным образом с одиночным коротким присоединением к компьютеру авторизации, сводя затраты на связь к минимуму и повышая безопасность для связи. Это особенно важно в тех случаях, когда связь выполняется с компьютером авторизации через модем или соединение по телефонной линии, каковое в настоящее время является стандартным способом. Каждый являющийся результатом телефонный вызов может приводить к затратам, заодно и отнимая время на установление соединения, и телефонные вызовы, к тому же, заносятся на счет согласно продолжительности звонка, таким образом, пребывание соединенным в течение продолжительности транзакции могло бы существенно увеличить затраты, особенно когда некоторые пользователи более медлительны в завершении транзакций, чем другие.
Несмотря на то, что изобретение важно для аутентификации индивидуумов в отношении организации, такой как банк, оно также предоставляет возможность предоставления банком или другой организацией аутентификации пользователю. Это могло бы быть важным для преодоления мошеннической техники, известной как «фишинг», где люди склоняются к раскрытию конфиденциальной информации о счете посредством поддельных банковских сайтов сети Интернет, эта информация затем используется для хищения денег с личного банковского счета. Для того чтобы продемонстрировать пользователю, что банковский сайт сети Интернет является подлинным, было бы возможным использовать две секретные порции информации, совместно используемой банком и пользователем, по способу изобретения, а именно, стандартный PIN и секретный шаблон пользователя. Перед раскрытием любых конфиденциальных данных (таких как пароль входа в систему) на банковском сайте сети Интернет пользователю необходимо подтверждение, что сайт является подлинным. Это обеспечивалось бы банковским сайтом, отображающим, скажем, в ответ на вводимое имя пользователя, сетки, полной случайных (или по меньшей мере псевдослучайных) чисел, за исключением того, что PIN пользователя отображается в позициях секретного шаблона пользователя. Пользователь может проверять, что они правильны, до продолжения обычного безопасного ввода для получения доступа к сайту.
Другие возможности предназначены для сетки со скрытым PIN, который должен выдаваться в печатную форму, например, аутентифицирующий письмо разовой рассылки, или в электронных средствах связи, таких как сообщение электронной почты, чтобы давать получателю возможность подтверждать, что отправитель является подлинным.
Краткое описание чертежей
Изобретение будет описано со ссылкой на прилагаемые чертежи, из которых:
Фиг. 1-3 иллюстрируют сетку и разные способы использования сетки в соответствии с изобретением;
Фиг. 4 иллюстрирует изменение в сетке;
Фиг. 5 иллюстрирует многообразие мозаик, которые могли бы использоваться для сетки;
Фиг. 6 - блок-схема последовательности операций способа для интерактивной проверки согласно одному из вариантов осуществления изобретения;
Фиг. 7 - блок-схема последовательности операций способа, иллюстрирующая интерактивную проверку с использованием внешней базы данных стандартных сеток опознавательного запроса;
Фиг. 8 - блок-схема последовательности операций способа, иллюстрирующая способ для проверки, где применяется одиночная большая сетка, пользователь направляется в конкретное местоположение в сетке в качестве начальной опорной точки;
Фиг. 9 - блок-схема последовательности операций способа для проверки с использованием сетки, сформированной локально независимым от времени алгоритмом;
Фиг. 10 иллюстрирует устройство для проверки транзакции согласно другому варианту осуществления изобретения;
Фиг. 11 иллюстрирует вариант устройства по Фиг. 10, использующего внешнюю базу данных стандартных сеток опознавательного запроса, например, в качестве способа, проиллюстрированного на Фиг. 7;
Фиг. 12 иллюстрирует вариант устройства по Фиг. 10, использующего сотовый телефон в качестве проверочного терминала пользователя;
Фиг. 13 - блок-схема последовательности операций способа, иллюстрирующая проверку согласно еще одному другому варианту осуществления изобретения;
Фиг. 14 - схемная иллюстрация устройства и способа для локальной проверки подлинности пользователя с использованием кредитной или другой информационной карты пользователя; и
Фиг. 15 иллюстрирует устройство, которое может использоваться при снабжении пользователя проверкой аутентичности организации транзакции.
Осуществление изобретения
В качестве помощи пониманию последующего описания используем следующие термины:
«Сетка» - табулированный набор символов, таких как числа или буквы, или сочетание обоих. Эта сетка может (но не обязательно должна) изображаться в «сетке Креймера», образующей предмет нашей, указанной выше, находящейся в процессе одновременного рассмотрения, заявки на патент.
«Шаблон» - цепочка позиций сетки, которые составляют «шаблон», который известен только пользователю сетки и аутентификатору (смотрите ниже). Шаблон не обязательно является естественно распознаваемой формой, такой как прямая линия, квадрат или треугольник. Конечно, ему предпочтительно не быть правильной формой.
«Последовательность» - порядок, в котором выбираются позиции сетки в «шаблоне».
«Аутентификатор» - лицо или организация, которые желают проверить идентичность или право кого-либо.
«Пользователь» - лицо или организация, которые являются использующими систему и нуждаются в проверке действительности его/ее собственной подлинности или мандата.
Работа способа
Способ в соответствии с изобретением содержит следующие составляющие стадии, которые зависимы от того, использует ли пользователь способ электронным образом (например, по телефону или в интерактивном режиме) или вручную (например, с использованием бумажной сетки, предоставленной пользователю).
1. Регистрация (включающая в себя следующие три действия):
A. Выдача ручных сеток (которая не обязательна для интерактивной аутентификации)
B. Регистрация ручной сетки (которая не обязательна для интерактивной аутентификации)
C. Регистрация последовательности и шаблона (которая требуется как для ручных сеток, так и интерактивной аутентификации)
2. Использование системы с ручной сеткой.
или
3. Использование системы с электронной сеткой (например, для интерактивных покупок или в ATM).
Различные стадии далее будут описаны более подробно.
1. Регистрация
a.
Выпуск сеток
При использовании ручного варианта способа, необходимо, чтобы предварительно отпечатанная сетка была выдана пользователю. Для крупномасштабного использования (например, компанией, продающей товары по кредитным/дебетовым картам) они могут предпочесть напечатать многие миллионы разных сеток, для того чтобы уменьшить шансы двух людей, имеющих одинаковую сетку. Необходимо, чтобы каждый субъект имел уникальную сетку; однако, чем больше вариантов сетки, тем больше повышается безопасность. Сеткам будет необходимо отображать идентификаторы строк и столбцов, например буквы для столбцов и числа для строк. Идентификаторы, в качестве альтернативы или дополнительно, могли бы быть символами, цветами или сочетаниями таковых.
Сетки имеют такой же размер и формат, как каждая другая, но компоновка символов (цифр, букв, и т.п.) будет меняться от одной сетки к другой. Однако для способа является возможным работать успешно и безопасно, если одинаковые символы печатаются в каждой сетке, так как каждый пользователь будет выбирать отличные шаблон и последовательность для своих собственных подлинности и права.
Каждая сетка будет нести идентификационный код, который будет уникально идентифицировать сетку. Этот ID (идентификатор) мог бы храниться в базе данных засекреченного компьютера наряду с подробностями о пользователе и электронной копией чисел сетки. Идентификационный номер не должен никаким способом выдавать какие бы то ни было секреты в отношении чисел в сетке.
b. Регистрация ручных сеток
Пользователям потребуется подтверждать, что они приняли сетку и регистрировать сетку в качестве принадлежащей им. Каждый эмитент карт (например, банк) будет иметь свой предпочтительный способ выдачи сеток и идентификации конечного пользователя в зависимости от своего требуемого уровня безопасности. Примеры того, каким образом это могло бы делаться, включают в себя личную регистрацию, интерактивную регистрацию или автоматическую телефонную регистрацию.
Ведомство выдачи карт могло бы быть доверенным ведомством аутентификации, у которого подписывались бы многочисленные организации. Например, доверенное ведомство могло бы представлять несколько компаний, работающих с кредитными картами.
Регистрация шаблона/последовательности
Как только идентичность пользователя известна аутентификатору, пользователю потребуется регистрировать свои собственные персональные «последовательность и шаблон». Это будет ключом или «совместно используемым секретом», который будут знать только пользователь и аутентификатор.
Характерный способ для регистрации шаблона в интерактивном режиме показан на Фиг. 1. Пользователь снабжается сеткой квадратов. Фиг. 1 показывает сетку 7x7, которая будет давать хорошую степень безопасности для таких вещей, как покупки по кредитной карте. Однако сетка могла бы делаться большей для большей безопасности или меньшей для меньшей безопасности, но большего удобства использования.
Центр сетки (A), Фиг. 1, известен как «исходная позиция» или «опорная точка сетки», вокруг которой пользователю будет необходимо выбирать свой шаблон. Сетка может помечаться цветом, чтобы сделать более легким для пользователя осуществлять навигацию по сетке, но цвета или штриховка и т.п. не обязательны.
Пользователь, обычно, запрашивался бы аутентификатором для создания шаблона из четырех позиций, то есть уровня безопасности, эквивалентного стандартному PIN. При условии, что эта последовательность операций проводится электронным образом, пользователь указывал бы щелчком по кнопке мыши надлежащие квадраты в последовательности. По мере того, как он поступает таким образом, выбранные квадраты могли бы иллюстрироваться, например, подсветкой, появлением самого символа или, может быть, единственного символа, такого как * в каждой позиции. (Пользователь может запрашиваться касательно большего или меньшего количества позиций в зависимости от требуемой степени безопасности).
Пример, показанный здесь, показывает, что выбранная последовательность шаблона находится (1) выше по диагонали слева от опорной точки сетки. Вторая позиция (2) находится слева от опорной точки, третья (3) находится слева от второй и четвертая (4) находится под второй. Конечно, будет критичным для аутентификации в большинстве применений, чтобы правильный шаблон описывался в верной последовательности. Это, конечно, не является отличным от требования, чтобы символы PIN вводились в надлежащей последовательности, иначе, неправильная последовательность будет отклоняться, даже если символы могут быть теми же самыми. Должно быть указано, однако, что применения с низкой безопасностью могли бы основываться на идентификации правильного шаблона безотносительно последовательности.
При выборе шаблона пользователь должен поощряться, чтобы быть настолько «отклоняющимся от прямого пути», насколько возможно, и должен отговариваться (и потенциально подвергаться запрету) от выбора прямых линий или других очевидных форм. Подобным образом, он не обязательно должен предполагать, что он должен использовать опорную точку сетки в своем выборе. Шаблон может быть где угодно в сетке, и отдельным элементам шаблона не обязательно быть примыкающими друг к другу, или даже в одной и той же области сетки. По существу, чем более неясен шаблон, тем более безопасен будет его шаблон. Нет никаких причин, почему квадрат не мог бы выбираться более чем однажды.
Однако с ракурса безопасности, маловероятно, чтобы аутентифицируемый пожелал бы предоставлять пользователю возможность выбирать одно и то же число, например, четыре раза.
Очевидно, в сетке 7x7 есть множество возможных шаблонов, которые пользователь может выбрать. Является информативным отметить, что есть приблизительно 5,7 миллионов шаблонов для 4-позиционного кода, с возрастанием до приблизительно 282,5 миллионов для 5-позиционного кода. Позициям сетки, выбранным пользователем, необязательно быть соприкасающимися, по сторонам или по углам.
Если пользователь регистрирует стандартную «сетку Креймера», ему дополнительно будет необходимо ввести свою выбранную «начальную позицию» и предпочтительную сторону карты (серую или черную). Это становится частью ключа или «совместно используемого секрета» между пользователем и аутентификатором.
Если система является используемой, например, в соединении с кредитной/дебетовой картой, аутентификатор на этой стадии может пожелать ассоциативно связывать карту с регистрацией субъекта. Это будет необходимо в случаях, где пользователь может пожелать произвести покупки «карта не предъявлена». Это могло бы делаться посредством кражи карты или выполнением стандартной аутентификации микросхемы и личного идентификационного номера для ассоциативного связывания номера карты с пользователем.
Так же, как «интерактивный» способ регистрации шаблона, к тому же, можно регистрироваться по телефону или устно, давая каждой позиции сетки число, скажем, от 1 до 49 (для сетки 7×7). Точный используемый способ будет зависимым от требуемого уровня безопасности. Например, банк может потребовать от субъекта использовать его возможностью банковских услуг через сеть Интернет, чтобы зарегистрировать последовательность и шаблон, или направить субъекта в филиал, чтобы ввести их.
Альтернативный подход в регистрации шаблона предполагал бы, чтобы аутентификатор заполнял сетку регистрации неповторяющимися символами, скомпонованными случайным образом. Например, для сетки 5×5, буквы от A до Y могли бы использоваться без повторений. Пользователь затем может указывать аутентификатору свой выбранный шаблон, вводя буквы в выбранные квадраты. Так как таковые не повторяются, аутентификатор может легко идентифицировать шаблон/последовательность.
2. Использование системы с ручной сеткой (например, сеткой Креймера)
Для использования сетки, необходимо, чтобы сетка была зарегистрирована на пользователя и чтобы пользователь зарегистрировал шаблон и (обычно) последовательность у ведомства регистрации (аутентификатора, компании, продающей товары по кредитным/дебетовым картам, и т. п.), как описано только что.
Чтобы проиллюстрировать последовательность операций, розничная покупка по кредитной карте будет использоваться в качестве примера, в котором происходят следующие этапы:
a) Покупатель выбирает некоторые товары и идет к кассе магазина, чтобы заплатить за них по кредитной/дебетовой карте, как обычно.
b) Он передает свою карту из рук в руки, как обычно, и она помещается в устройство «микросхемы и PIN».
c) Вместо запрашивания касательно PIN его просят ввести четыре цифры, соответствующие случайным образом выбранной опорной точке сетки (например, G4) в его зарегистрированной ранее сетке. Исходная позиция или опорная позиция сетки случайным образом или алгоритмически выбирается ведомством кредитных карт.
d) На Фиг. 4 показана типичная сетка, состоящая из столбцов, идентифицированных буквами от A до Q, и строк, идентифицированных числами от 1 до 12. Конечно, другие сочетания приемлемы в равной степени. Количество строк и/или столбцов может меняться согласно требуемому уровню безопасности. Позиция сетки, поэтому, может быть локализована уникальным сочетанием числа/буквы. Однако «сетка Креймера» могла бы давать более высокий уровень безопасности.
e) С использованием примера, приведенного выше, и примерного шаблона, показанного в течение последовательности операций регистрации (Фиг. 2), пользователь находил бы позицию G4 сетки (в этом случае, число 0) и использовал бы таковую в качестве своей опорной точки сетки.
f) Отыскав позицию G4 и вспомнив свою последовательность и шаблон, пользователь будет вводить четыре цифры, которые он считает ассоциативно связанными с его предварительно зарегистрированным шаблоном (Смотрите Фиг. 2). Значит, в этом примере числами будут «9846».
g) Затем он будет вводить такие четыре цифры на клавиатуре «микросхемы и личного идентификационного номера».
h) Компьютерная система компании, продающей товары по кредитным/дебетовым картам, затем будет сверять такие четыре цифры с сеткой, ассоциативно связанной с его кредитной картой и с предварительно выбранными последовательностью и шаблоном.
i) Если эти цифры совпадают, то пользователь подтверждается, а транзакция завершается.
В следующий раз, когда пользователь делает покупку, ведомство кредитных карт будет случайно или алгоритмически выбирать новую позицию «опорной точки сетки» и, поэтому, код из четырех цифр, требуемый для аутентификации транзакции, будет другим. Например, при следующей транзакции, у пользователя может запрашиваться число, соответствующее «K9», в таком случае, действительным кодом был бы «9047».
Совершенно не обязательно, чтобы субъект использовал свою собственную сетку для транзакции. Он мог бы использовать любую зарегистрированную сетку (например, сетку, зарегистрированную на владельца магазина или на приятеля). В этом случае, альтернативному ID сетки будет необходимо вводиться в момент продажи до того как пользователь вводит свой код транзакции. Этот вариант для последовательности операций означает, что пользователь может по-прежнему использовать систему без необходимости носить свою собственную карту. Это обладает конкретными преимуществами, например, если субъект полагает, что его кредитная карта и карта с сеткой украдены. В этой ситуации пользователь мог бы связаться по телефону с ведомством аутентификации и идентифицировать себя самого, например, по имени и адресу, а затем ведомство требует аутентификации посредством использования сетки третьей стороны.
Несмотря на то, что это не обеспечивает такого же высокого уровня безопасности, в отсутствие какой бы то ни было другой формы идентификации, это лучше, чем ничего. Поэтому, она могла бы использоваться соразмерно, например, в транзакциях «низкой стоимости», где есть небольшой риск.
Далее следует описание дополнительного примера того, каким образом изобретение может использоваться для приобретения товаров или услуг, например, билетов в театр, по телефону.
Пользователь будет обращаться к агенту по продаже билетов, который затем будет запрашивать номер кредитной карты. Агент затем будет подтверждать действительность кредитной карты, а затем, компания, продающая товары по кредитным картам, будет просить оператора попросить покупателя предоставить код транзакции на основании опорной точки сетки, которую задает компания, продающая товары по кредитным картам.
Агент затем будет запрашивать пользователя касательно кода транзакции по телефону, пользователь в таком случае будет находить числа кода транзакции с использованием своей сетки и зачитывать их агенту.
Агент затем будет вводить числа, а ведомство кредитных/дебетовых карт будет либо принимать, либо отклонять транзакцию.
Эта последовательность операций гораздо более безопасна, чем существует в настоящее время, так как она не требует от агента продажи билетов быть доверенным. Даже если агент запоминает код транзакции и номер кредитной карты, они не будут давать ему никакого полезного преимущества, если он пытается мошенническим путем произвести еще одну транзакцию, так как в следующий раз будет запрашиваться другой код транзакции.
Этот способ также будет полезным людям с ограниченными возможностями, которые имеют ухаживающего, например, пациенту после инсульта, который может иметь затруднения с разговором по телефону или с использованием клавиатуры микросхемы и PIN, но который мог бы использовать сетку. Таким образом, пользователь с ограниченными возможностями мог бы сообщать ухаживающему код транзакции, и таковой мог бы защищенным образом сообщаться в имеющую отношение компанию по телефону или печататься. Поскольку пользователь с ограниченными возможностями хранит свою сетку и шаблон защищенными, его транзакции безопасны.
3. Использование системы с электронной сеткой (например, для интерактивных покупок через сеть Интернет, в ATM или на терминале пункта продажи).
Для интерактивной аутентификации (например, интерактивных покупок) есть три варианта того, каким образом изобретение могло бы использоваться. Выбор способа очень сильно зависим от осознаваемого риска безопасности и требуемого уровня удобства.
Тремя способами являются:
Посредством использования зарегистрированной бумажной сетки, как проиллюстрировано в примере, приведенном выше.
Посредством использования «одноразовой» сетки в таком же виде, как показанный выше (Фиг. 4), или посредством использования электронной «сетки Креймера».
Посредством использования упрощенной «одноразовой» электронной сетки в виде, проиллюстрированном на Фиг. 3.
В таком случае, как этот, пользователю показывалась бы сетка в виде, показанном на Фиг. 3. Однако отображаемые числа будут формироваться алгоритмически системой аутентификации. Система аутентификации будет скрытно «помнить» числа сетки до тех пор, пока транзакция не завершена.
Пользователь затем будет выбирать свой шаблон чисел, указывая щелчком кнопки мыши на надлежащих квадратах, прикасаясь к сенсорному экрану или, предпочтительно, вводя ассоциативно связанные числа на клавиатуре, поскольку кто-нибудь, подсматривающий через его плечо, мог бы быть способным увидеть вводимый шаблон и, подобным образом, могло бы быть возможным для щелчков кнопкой мыши незаконно отслеживаться удаленным образом. Ввод чисел не выдает шаблон, так как одно и то же число будет представлять много разных шаблонов. Единственным моментом времени, когда кому-либо будет предоставляться возможность указывать нажатием кнопки мыши квадраты, связанные с шаблоном, является момент, когда он является регистрирующим шаблон, и ожидается, что пользователь будет делать это защищенным образом.
С использованием примера с Фиг. 2, кодом аутентификации в этом случае был бы «5178». Однажды зарегистрированный аутентификатор затем будет сверять введенные цифры со своими известными шаблоном и последовательностью и, если они соответствуют, пользователь аутентифицируется.
Есть различные преимущества в использовании электронной сетки в этом виде:
a. Всякий, перехватывающий нажатия клавиш на компьютере, будет видеть введенные цифры, но, поскольку код транзакции является «одноразовым», это не будет давать ему преимущество для любых дальнейших транзакций.
b. Даже если соглядатай может замечать числа на экране (каковое может быть очень затруднительным, если числа отображаются в виде графики), то он по-прежнему не может быть способным определять «последовательность и шаблон» пользователя, даже если соглядатай замечает нажатия клавиш. Поскольку, в этом примере, цифры «5178» появляются много раз в примерной сетке, соглядатаю потенциально понадобилось бы наблюдать несколько транзакций, для того чтобы получить достаточно «улик», посредством которых он может определить шаблон.
c. Ясно, что чем более отклоняющийся от прямого пути пользователь при выборе шаблона, тем труднее было бы для какого бы то ни было соглядатая определять шаблон.
Использование системы с мобильными телефонами
Настоящее изобретение может использоваться с мобильными телефонами в многообразии способов в зависимости от того, является или нет телефон снабженным возможностью считывания карт (то есть, «смартфоном»).
В тех случаях, когда телефон заключает в себе считыватель карт, по существу, он становится персональной системой EPOS сам по себе. Сначала, пользователь вставлял бы его/ее карту в телефон (в точности подобно терминалам EPOS в магазинах). Компьютер аутентификации затем отправлял бы сетку 7×7 (или, например 5×5) на экран телефона. Пользователь, с использованием системы шаблона и последовательности, центральной для настоящего изобретения, идентифицировал бы цифры, запрошенные компьютером аутентификации, чтобы ответить на его опознавательный запрос, и вводит их на кнопочной панели мобильного телефона, завершая аутентификацию транзакции.
Для менее способных мобильных телефонов на телефон записывалось бы и безопасно загружалось программное приложение (возможно, таким же образом, как тоны звонка), который мог бы сохранять некоторое количество виртуальных сеток чисел. Некоторым образом, подобным бумажной сетке, система аутентификации осуществляла бы опознавательный запрос опорной точкой сетки, но взамен чего-то, подобного «G4», она могла бы осуществлять опознавательный запрос с использованием номера сетки, например, «234». Пользователь будет печатать 234 на своем телефоне, а телефон затем отображал бы стандартную сетку типа, описанного со ссылкой на Фиг. 3, на ЖКИ-дисплее. Пользователь затем использовал бы это точно таким же образом, как интерактивная система. Компания-эмитент кредитных/дебетовых карт могла бы автоматически снабжать пользователя новым набором сеток через GPRS (общую службу пакетной радиопередачи) или SMS (службу коротких сообщений) на периодической основе, скажем, еженедельно или ежемесячно.
В качестве альтернативы, мобильный телефон мог бы формировать сетку опознавательного запроса алгоритмически, а потому независимо от компьютера аутентификации.
Здесь должно быть подчеркнуто, что предпочтительная в настоящее время форма системы по изобретению зависит от уникального сочетания шаблона и последовательности, дающего личный идентификационный шаблон, уникальный для отдельного пользователя.
Кроме того, также должно быть подчеркнуто, что использование сеток, содержащих в себе только квадраты или прямоугольники, как описанные до сих пор, не является единственным вариантом выбора. Фактически, могут использоваться любые мозаичные формы. Таким образом, правильный многоугольник имеет 3 или 4, либо 5 или больше сторон и углов, все равные. Правильная мозаика является мозаикой, составленной из конгруэнтных правильных многоугольников. Для всех практических целей только три правильных многоугольника составляют мозаику на евклидовой плоскости, а именно треугольники, квадраты и шестиугольники. Фиг. 5 показывает пример составленных в мозаику треугольников, квадратов и шестиугольников. Может быть легко видно из этих примеров, что квадраты выстроены в линию друг с другом, наряду с тем, что треугольники и шестиугольники - нет. К тому же, если шесть треугольников формируют шестиугольник, мозаичное размещение треугольников и мозаичное размещение шестиугольников подобны, и они не будут формироваться непосредственным выстраиванием в линию форм одна над другой - сползание (или соскальзывание) вовлечены. Будучи правильными формами, они могли бы без труда использоваться в качестве опорной сетки, чтобы пользователь выбирал его или ее уникальные шаблон и последовательность.
Есть схема именования, посредством которой идентифицируются мозаики. Таким образом, мозаика из квадратов названа «4.4.4.4». Это выводится посредством выбора вершины, а затем взгляда на один из многоугольников, который соприкасается с такой вершиной и определения, сколько сторон он имеет. Поскольку он является квадратом, он имеет четыре стороны, сводящиеся к первой «4». Повторение упражнения, прохождением вокруг вершины в любом направлении и нахождением количества сторон многоугольников до тех пор, пока не вернулись к многоугольнику, с которого начинали, приводит к подсчету количества подсчитываемых многоугольников. В случае квадратов, есть четыре многоугольника и каждый имеет четыре стороны. Поэтому заключительным «наименованием» является 4.4.4.4, как показано на Фиг. 5.
Идентификацией для мозаики правильных конгруэнтных шестиугольников является 6.6.6 и таковой для мозаики треугольников является 3.3.3.3.3.3, поскольку каждый треугольник содержит шесть многоугольников, окружающих вершину, и каждый имеет три стороны. Однако изобретение также предполагает использование полуправильных мозаик, которые состоят из формации правильных многоугольников с идентичной компоновкой правильных многоугольников в каждой вершине. Примеры полуправильных мозаик показаны на Фиг. 5 с использованием смеси квадратов и треугольников (3.3.3.4.4 или 3.3.4.3.4), квадратов, треугольников и шестиугольников (3.4.6.4); треугольников и шестиугольников (3.6.3.6); квадратов и восьмиугольников (4.8.8) и большего количества необычных комбинаций квадратов, восьмиугольников и двенадцатигранников (4.6.12).
Незначительное преимущество использования таких мозаик состоит в том, что каждый шаблон сетки затем может идентифицироваться с использованием уникальной схемы именования для мозаик до того, как собственные шаблон и последовательность пользователя подвергаются опознавательному запросу. Это добавляет еще один уровень безопасности системе, если требуется.
Соображения безопасности
1. Система, формирующая изобретение состоит из нескольких компонентов.
a. Сетка чисел, известная как пользователю, так и аутентификатору.
b. Если используется «сетка Креймера», то, в дополнение к числам, ориентация карты и «начальная позиция» должны быть известны как пользователю, так и аутентификатору.
c. «Последовательность» и «шаблон», которые должны быть известны ИСКЛЮЧИТЕЛЬНО пользователю и аутентификатору.
2. Если сетка похищена, то безопасность не компрометируется, так как шаблон и последовательность требуются оба, чтобы произвести успешную аутентификацию.
3. В случае покупок, если похищены как кредитная/дебетовая карта, так и сетка, то безопасность не компрометируется, так как последовательность и шаблон оба требуются, чтобы произвести успешную аутентификацию.
4. В случае бумажных сеток, таких как сетка Креймера, если шаблон узнан третьей стороной, то (в зависимости от требуемой степени безопасности) сетке также потребуется быть похищенной или скопированной. Аутентификатору будет необходимо принимать эту опасность в расчет, до того как он решает, предоставляет ли он возможность использоваться сетке третьей стороной.
5. В зависимости от требуемого уровня безопасности пользователю могла бы запрещаться регистрация легко распознаваемых шаблонов, например прямых линий. Аутентификатор мог бы приводить в исполнение программно реализованные правила, чтобы предоставлять возможность выбираться только «неясным» шаблонам.
6. Может считаться предпочтительным использовать буквы (A-Z) вместо того чтобы, или также как, числа, для того чтобы повышать «уникальность» кода транзакции. Однако должно приниматься во внимание, что, чем более уникально число, тем больше улик был бы должен иметь потенциальный соглядатай, чтобы определить шаблон. Для большей безопасности аутентификатор может принимать во внимание, что числовой код в пять или шесть цифр был бы более безопасным, чем, например, четырехсимвольный буквенно-цифровой код.
7. В любой транзакции (например, в магазине) пользователь не должен сообщать владельцу магазина код транзакции и «начальную опорную точку сетки» и показывать ему сетку, если он делает это, то для владельца магазина может быть возможным (хотя и не безусловно возможным) определять шаблон. Чем больше порций информации, которые пользователь может сохранять приватной, тем лучше.
8. Для электронных транзакций программное обеспечение должно быть написано, из условия того, чтобы числа сетки, ключ шаблона, начальная опорная точка сетки и персональная информация пользователя не передавались в одном наборе данных, так как это дало бы ценные улики в отношении шаблона пользователя. Взамен, должен отправляться минимальный объем данных. Например, квадраты сетки могли бы отображаться скорее в виде графики, чем в виде набора символов ASCII (Американского стандартного кода для обмена информацией).
9. Все электронные передачи, в идеале, должны шифроваться.
10. Данные аутентификации (например, код транзакции) должны передаваться только для аутентификации с неявным идентификатором, который идентифицирует продажу. Не должны передаваться никакие другие данные, которые могли бы дать улики в отношении чисел или шаблона сетки.
Различные характерные варианты осуществления способа и устройства по изобретению далее будут описаны со ссылкой на Фиг. с 6 по 12.
Сначала, со ссылкой на Фиг. 6, способ интерактивной идентификации согласно изобретению влечет за собой формирование сетки опознавательного запроса в терминале пользователя, который может быть ATM или компьютером пользователя, как в дальнейшем описано со ссылкой на Фиг. 10, или портативным электронным устройством пользователя, таким как основанная на сотовом телефоне система, описанная в дальнейшем со ссылкой на Фиг. 12.
Сетка может формироваться последовательностью операций алгоритмической или псевдослучайной генерации чисел. Такие системы широко известны и, поэтому, не требуют подробного описания. Генерация чисел не может быть чисто случайной, так как это теоретически дало бы рост вероятности сетки, заполняемой длинными строками одинаковых чисел, так что проверочная строка, в таком случае, могла бы быть полностью одинаковым числом. Если любое число появляется в сетке больше, чем среднее количество раз, оно более вероятно, чем другие, должно быть частью шаблона пользователя, и, поэтому, могло бы помогать похитителю в разгадке правильной последовательности чисел. Наряду с тем, что шансы правильной разгадки очень малы, опасность правильного разгадывания будет минимизироваться гарантированием, что все числа в матрице 5×5 появляются по меньшей мере дважды, но не более чем три раза. Может быть желательным использовать сетку, в которой все цифры могут появляться с одинаковой частотой. Например, сетка 5×6 содержит 30 ячеек, а потому каждая цифра может появляться ровно три раза, минимизируя вероятность разгадки кем-либо правильной строки цифр. Это может указываться ссылкой как сбалансированная сетка.
Поэтому, будет понятно, что ссылки в материалах настоящей заявки на «псевдослучайный», «алгоритм» и «алгоритмически» указывают последовательности операций, где явление случайности создается в результате, но результат не является чисто случайным, и последовательность операций может включать в себя правила кодирования, например, основанные на дополнительных данных. Одним из факторов, применяемых в алгоритме, например, мог бы быть открытый/частный информационный ключ.
Сформированная сетка опознавательного запроса удерживается в памяти на терминале, будучи отображаемой с опознавательным запросом пользователю вводить числа, занимающие позиции в сетке, соответствующие выбранному шаблону (и последовательности) пользователя. Ответ пользователя затем передается аутентификатору наряду с хранимой сеткой для сравнения с шаблоном пользователя, хранимым в базе данных аутентификации. Если проверочный набор чисел соответствует числам в переданной сетке опознавательного запроса, идентифицированного посредством обращения к хранимому шаблону пользователя, подтверждение принимается, иначе оно отклоняется.
Будет видно, что секретный персональный шаблон пользователя не передается вовне компьютера аутентификации. Однако, несмотря на то, что данные, передаваемые с терминала пользователя аутентификатору, зашифрованы, если взломщик кодов перехватывал бы и дешифровал его, он мог бы получить доступ к ключу персональному шаблону пользователя, относя строку к сетке. Способ, проиллюстрированный на Фиг. 7, дает один из способов избежания этого возможного недостатка. В начале транзакции терминал пользователя связывается с отдельной базой данных сеток, которая выдает на терминал сетку опознавательного запроса, алгоритмически выбранную из большого количества сеток, хранимых в базе данных. Сетка опознавательного запроса несет уникальный идентификационный код. Транзакция продолжается по существу таким же образом, как в способе, проиллюстрированном на Фиг. 6, за исключением того, что сетка опознавательного запроса не передается аутентификатору; взамен отправляется идентификационный код сетки и таковой используется аутентификатором для извлечения сетки из отдельной базы данных сеток для этапа сравнения.
В способе, проиллюстрированном посредством Фиг. 8, аутентификатор в начале выдает пользователю большую сетку чисел, сетка является существенно большей, чем сетка опознавательного запроса, используемая для транзакции (которая типично является сеткой 5×5 или сеткой 7×7). Выдача новой большой сетки может выполняться через равные промежутки времени, может быть автоматической, на терминал, и используемая сетка сохраняется аутентификатором в базе данных сеток для образца. В начале транзакции аутентификатор задает пользователю псевдослучайно сформированную опорную точку сетки, которая служит в качестве начальной точки, чтобы терминал извлекал из большей сетки сетку опознавательного запроса. Например, сетка 5×5 может извлекаться с использованием опорной точки сетки в качестве верхнего левого угла. Терминалу пользователя затем необходимо передавать аутентификатору числа, введенные пользователем в ответ на опознавательный запрос для проверочного сравнения, которое должно выполняться аутентификатором.
Будет понятно, что, несмотря на то, что каждый из этих способов описан со ссылкой на передачу только чисел, введенных пользователем, причем были необходимы другие идентификаторы сетки, таковые обязательно будут сопровождаться некоторым номером счета или другим персональным идентификатором, который должен проверяться.
В переделке способа, проиллюстрированной на Фиг. 8, терминал пользователя сам псевдослучайно выбирает начальную опорную точку сетки в начале транзакции, и таковая передается наряду с числами опознавательного запроса пользователя аутентификатору, который затем может находить сетку опознавательного запроса из хранимой сетки для терминала пользователя.
В другой переделке этого способа терминал пользователя применяет простой алгоритм для формирования из большой сетки, скажем, 1000 чисел, сетки опознавательного запроса, скажем, 25 чисел, которые не являются обособленным смежным подмножеством большой сетки. Этот способ обладает преимуществом, что алгоритму не требуется быть совершенно безопасным. Например, пользователь мог бы снабжаться виртуальной большой сеткой чисел один раз в месяц посредством аутентификатора. Поскольку аутентификатор знает и алгоритм, и виртуальную сетку, он может решать, какие числа ожидать. Если, однако, алгоритм становится известным, взломщик кодов не мог бы получить доступ к виртуальной сетке, которая была бы отличной для каждого субъекта и изменялась бы регулярно. Значит, несмотря на то, что, в худшем случае, взломщик кодов может узнать позиции сетки в виртуальной сетке, которая использовалась бы для формирования сетки опознавательного запроса, он не будет знать числа, занимающие конкретную виртуальную сетку, а потому не может формировать сетку опознавательного запроса.
В дополнительной переделке, вместо одной большой сетки, терминал пользователя снабжается аутентификатором множеством сеток опознавательного запроса таким же образом как для большой сетки, каждая сетка несет идентификатор. Аутентификатор, в таком случае, мог бы указывать терминалу пользователя в начале транзакции сетку, которая должна использоваться, передавая уместный идентификатор, или терминал пользователя мог бы алгоритмически выбирать одну из сеток и отправлять ее идентификатор наряду с числами, введенными в результате опознавательного запроса.
Фиг. 9 иллюстрирует еще один другой подход. Локальный терминал выполнен с возможностью выполнять алгоритм в начале транзакции, который использует дату и время суток, и идентификатор терминала и/или персональный идентификатор для формирования псевдослучайной строки чисел. Такие алгоритмы широко известны для использования с организующими защиту персональными компьютерами или персональными цифровыми секретарями (PDA), пользователь имеет ручное устройство электронного ключа, которое отображает номер ключа, который изменяется через равные промежутки времени. Устройство, которое должно быть защищено, выполняет такой же алгоритм с использованием таких же данных, чтобы формировать такие же числа внутри синхронно с устройством ключа. Пользователь вводит номер ключа, чтобы разблокировать компьютер или PDA. В настоящем изобретении такой тип алгоритма будет расширен, чтобы формировать, скажем, номер ключа в 25 цифр вместо номера в 5 или 6 цифр, используемого традиционно, и заполнять сетку опознавательного запроса этими числами. Алгоритм может использовать данные ключа, такие как идентификатор терминала, персональный идентификатор и номер счета, номер мобильного телефона, в тех случаях когда терминал является мобильным телефоном, или сочетания таковых. Аутентификатор использует такой же алгоритм для формирования строки в 25 цифр на основании тех же данных ключа и временной отметки транзакции. Этим способом проверка может выполняться без необходимости в какой бы то ни было информации о сетке, которая должна передаваться. В качестве альтернативы использованию временной отметки алгоритм может рассчитывать сетку на основании предшествующего времени, а также текущего времени, и использовать оба (или, конечно, несколько, в зависимости от интервала времени, разрешенного системой), чтобы определять, порождает ли какой-нибудь из них совпадение шаблона, для проверки подлинности.
Будет понятно, что могли бы использоваться смешанные способы между этим способом и другими описанными способами. Например, алгоритм генерации чисел мог бы использоваться для формирования кода, идентифицирующего сетку, которая должна выбираться из отдельной базы данных или из множества сеток, предварительно сохраненных на терминале, аутентификатор затем выполняет алгоритм с теми же «начальными числами» для формирования кода и в силу этого идентифицирует правильную сетку для целей сравнения.
Фиг. 10 иллюстрирует типичное устройство, используемое в интерактивной транзакции. Терминал пользователя, который, например, мог бы быть ATM или даже персональным компьютером содержит центральный процессор 100, присоединенный к дисплейному экрану 101, цифровую клавишную панель 102 и считыватель 103 карт. Сетевое соединение 104, например через сеть Интернет, изображенное у 105, подводит к удаленному процессору 106 аутентификации транзакций, связанному с базой 107 данных, которая хранит подробности о пользователе и ассоциативно связанный личный идентификационный шаблон (PIP). Чтобы начать транзакцию, пользователь вставляет персональную карту 108, например, дебетовую или кредитную карту, в считыватель 103. Номер счета пользователя считывается с карты, и терминал затем формирует сетку 109 опознавательного запроса, например, из 25 квадратов, содержащих псевдослучайно сформированных цифр от 0 до 9, и отображает ее на дисплейном экране 101 с приглашением пользователю ввести на клавишной панели 102 цифры, занимающие PIP пользователя в сетке. Терминал затем инициирует соединение с процессором 106 аутентификации транзакций для передачи зашифрованной формы номера счета пользователя, суммы транзакции, цифр, введенных пользователем, и сетки опознавательного запроса. При приеме этих данных процессор 106 аутентификации использует номер счета, чтобы извлекать из базы 107 данных данные PIP и кредита/счета пользователя. Затем выполняется проверка, как описано выше со ссылкой на Фиг. 6, и если идентичность подтверждена, и транзакция приемлема в других отношениях, процессор 106 аутентификации передает обратно на терминал код авторизации, так что терминал может завершать транзакцию.
Фиг. 11 иллюстрирует устройство, выполняющее вариант этой процедуры, как описано со ссылкой на Фиг. 7. Это добавляет отдельный процессор 110 сетки опознавательного запроса, имеющий в распоряжении базу 111 данных сеток опознавательного запроса, каждая имеет уникальный идентификатор, ассоциативно связанный с ней. Процессор 110 сетки может быть удаленным как от терминала пользователя, так и от процессора 106 аутентификации, а соединение между ними может быть через сетевую линию 112 связи, например, через сеть 105 Интернет.
Фиг. 12 иллюстрирует другой вариант осуществления, в котором мобильный или сотовый телефон 120 пользователя служит в качестве терминала пользователя. В этом случае телефон 120 также хранит персональные подробности и подробности о счете пользователя вместо таковых, хранимых в отдельной транзакционной карте. Последовательность операций может быть такой, как описанная со ссылкой на любую из Фиг. с 6 по 9, причем, передачи в и из процессора аутентификации выполняются беспроводным образом, например, с использованием любой из беспроводных сетей передачи данных, таких как GPRS.
Фиг. 13 - блок-схема последовательности операций еще одного другого способа, который является расширением способа, проиллюстрированного на Фиг. 9. После того как сетка формируется посредством алгоритма и пользователь вводит ответную строку, еще один алгоритм используется для формирования из ответной строки и одного или более идентификаторов, упомянутых в способе, описанном со ссылкой на Фиг. 9, «лексемы», например, в виде числа из десяти цифр (или, может быть, букв и чисел), которая скрывает ответ, но которая будет до некоторой степени распознаваемой для службы аутентификации, содержащей такие же идентификаторы, имеющиеся в распоряжении. Лексема затем передается в службу аутентификации вместе с по меньшей мере одним из идентификаторов.
Служба аутентификации временно сохраняет лексему наряду с использованием того же самого алгоритма и идентификатора(ов) для расчета той же самой строки в 25 цифр, чтобы восстанавливать сетку опознавательного запроса. Секретный шаблон пользователя извлекается из базы данных шаблонов и используется для выделения из сетки опознавательного запроса ожидаемого правильного ответа. На заключительном этапе, этот ожидаемый ответ (скажем, строка из 4 чисел) вводится в алгоритм лексемы с использованием обязательных идентификаторов, по меньшей мере один из которых передавался с лексемой от пользователя, чтобы рассчитывать лексему. Таковая затем может сравниваться с переданной лексемой. Если они одинаковы, идентичность подтверждается, иначе транзакция отклоняется.
Изменение этой последовательности операций может использоваться для защиты передачи сообщений электронной почты. Отправитель запускает на своем терминале электронной почты последовательность операций проверки, например, которая могла бы быть основана на идентификаторах, хранимых на этом терминале (например, персональном компьютере или портативном устройстве связи). Это формирует сетку опознавательного запроса с использованием алгоритма генерации чисел, как описано со ссылкой на Фиг. 9 и 13. Ответ затем преобразуется в лексему, как описано со ссылкой на Фиг. 13, лексема, к тому же, кодирует дату и время передачи. Лексема вставляется в сообщение электронной почты и передается получателю. Получатель затем запускает соответствующую последовательность операций проверки, которая использует вложенный ключ для подтверждения подлинности отправителя, согласно предварительно сохраненной информации. Дата и время передачи, которые указаны в сообщении электронной почты, используются последовательностью операций проверки для восстановления лексемы, которая выполняется образом, описанным со ссылкой на Фиг. 13, и если лексемы не совпадают, то это является признаком, что электронная почта была подделана или не отправлялась предполагаемым отправителем.
Фиг. 14 иллюстрирует способ и устройство для автономной или локальной проверки с использованием оконечного устройства и платежной карты. Это подобно тому, что используется в настоящее время в магазинах и ресторанах согласно «интегральной схемы и личного идентификационного номера», в которых PIN сверяется локально считывателем карт с кредитной или дебетовой картой; в этом случае нет необходимости в немедленном присоединении к удаленному компьютеру авторизации. В способе и устройстве по этому аспекту изобретения пользователь вставляет платежную карту в оконечное устройство, в случае типичной контактной карты, так что электрические соединения могут устанавливаться с электронной микросхемой, встроенной в карту. Однако будет приниматься во внимание, что подобный способ мог бы проводиться с бесконтактной картой, которая устанавливает свои соединения индуктивным или беспроводным образом. Машина терминала затем проверяет целостность карты, проверяя определенные основные характеристики карты. Когда эта стадия была успешно завершена, машина выдает свой опознавательный запрос, снабжая пользователя сеткой опознавательного запроса из чисел и приглашая пользователя ввести ответный код, состоящий из чисел в сетке, которые занимают позиции в персональном шаблоне и последовательности пользователя. Терминал отправляет ответ в микросхему карты, наряду с числами опознавательного запроса, для проверки.
Карта использует сетку опознавательного запроса, ответные числа и хранимый шаблон пользователя (хранимый только в микросхеме карты и не передаваемый вовне микросхемы) для определения, соответствует ли ответ правильному шаблону в сетке опознавательного запроса, а затем возвращает действительное или недействительное сообщение на терминал. Если сообщение, принятое на терминале, указывает действительный ответ, платеж принимается. Будет приниматься во внимание, что, в случае интерактивного терминала, например, ATM, получение действительного сообщения затем инициировало бы передачу на компьютер авторизации деталей счета и суммы транзакции с запросом на авторизацию.
Фиг. 15 показывает устройство, которое, по существу, является таким же, как на Фиг. 10, но сконфигурировано без считывателя карт для интерактивных транзакций и иллюстрирует еще один аспект изобретения, в котором пользователь может получать подтверждение аутентичности организации транзакции, такой как интерактивный банк, тем самым избегая риска стать жертвой «фишинга». Чтобы гарантировать, что интерактивная организация является подлинной организацией, у которой пользователь первоначально регистрировал персональные детали, часть последовательности операций регистрации будет включать в себя выбор пользователем персональных шаблона и последовательности позиций в сетке, и регистрацию этого персонального шаблона у организации. Личный идентификационный номер (PIN) также может регистрироваться на пользователя. Во время транзакции пользователь сначала будет идентифицировать самого или саму себя, например, просто по имени, с использованием клавиатуры 150. Процессор 106 аутентификации будет отыскивать персональный шаблон и PIN пользователя в базе 107 данных и заставлять формироваться сетку псевдослучайных чисел, в которой PIN пользователя встроен в позиции персонального шаблона пользователя. Сетка 151 затем отображается на дисплейном экране 101. На Фиг. 15, PIN 5946 пользователя, проставленный в персональном шаблоне пользователя, подсвечивается, будучи отображенным в перевернутом виде, но на практике, конечно, не было бы ничего, чтобы отличать его от окружающих псевдослучайных чисел. Пользователь затем мог бы подтверждать, что PIN действительно появляется в правильных позициях решетки, перед продолжением транзакции.