Настоящее изобретение относится к области аутентификации пользователя и, в частности, к верификации на базе PIN-кода. Изобретение подходит для использования в ситуациях, когда пользователю требуется ввести код, такой как персональный идентификационный номер (PIN; personal identification number), который проверяется перед завершением операции. Операция может представлять собой операцию любого типа.
Аутентификация является способом, который используется во множестве ситуаций, где требуется идентификация и/или авторизация пользователя, прежде чем разрешить выполнить действие или предоставить доступ к контролируемому или управляемому ресурсу, такому как устройство, здание, вычислительная система, финансовый счет, сервис и т.д.
Одним из распространенных способов аутентификации является запись предварительно выбранного идентификатора (такого как код или комбинация символов), который затем хранится в безопасном месте и доступен только уполномоченным сторонам. Этот идентификатор хранится применительно к конкретному пользователю или группе пользователей и иногда может храниться и/или использоваться совместно с другим заранее заданным идентификатором, например таким как имя пользователя. Идентификатор часто выбирается пользователем самостоятельно, но иногда его может определять администратор или владелец ресурса. Во многих случаях пользователь имеет возможность изменить предварительно выбранный идентификатор. Часто идентификатор выбирается, когда пользователь первый раз присоединяется к организации, например, когда он приступает к работе в компании или регистрируется у провайдера для получения сервиса. После того как идентификатор выбран и назначен уполномоченному лицу, пользователю необходимо предъявлять этот установленный идентификатор каждый раз, когда он запрашивает разрешение на выполнение контролируемого действия или получение доступа к ресурсу или сервису. Введенный пользователем идентификатор сравнивается с его хранящейся версией. Если пользователь способен предоставить правильный идентификатор, то считается, что его подлинность проверена, и доступ предоставляется. С другой стороны, если правильный идентификатор не предоставлен, то доступ запрещается.
В настоящем описании такой идентификатор называется персональный идентификационный код (PIC; personal identification code).
Общеизвестным примером PIC является числовой код из 4 цифр, который обычно называют персональным идентификационным номером (PIN; personal identification number). Термин PIC включает в себя PIN. Кроме того, могут использоваться другие коды с различной длиной, включающие символы различных типов. Настоящее изобретение не ограничивает длину символов используемого идентификатора или тип символов, который он включает. Например, идентификатор может включать цифры, буквы, изображения, знаки препинания или символы другого типа, а также их комбинацию. В дальнейшем термин PIC или PIN может использоваться для ссылки на идентификатор пользователя для удобства, но не должен истолковываться в качестве какого-либо ограничения на длину, тип или формат идентификатора.
Системы верификации на базе PIN-кода обычно включают кнопочную панель, которая позволяет пользователю вводить свой заранее выбранный PIN-код. Вид типовой кнопочной панели, известной в существующем уровне техники, представлен на фиг. 14А. Клавиатура представляет собой набор кнопок или "клавиш", размещенных в блоке или "панели". Клавиши размещены в сетке рядом друг с другом так, чтобы сформировать панель. Клавиши имеют обозначения (идентификаторы), которые напечатаны, выгравированы, вытиснены или нанесены другим способом. Обозначение на клавише обычно включает один символ, например "6", но может включать более одного символа, например "АВ". Обозначения на клавишах обычно располагаются по порядку, как последовательный ряд. Например, цифры как правило располагаются в порядке возрастания. В настоящем описании термин "кнопочная панель" используется наравне с термином "клавиатура" и "панель для ввода PIN-кода".
Кнопочные панели часто находятся на алфавитно-цифровых клавиатурах, связанных с вычислительными устройствами. Другие устройства, такие как калькуляторы, кнопочные телефоны, кодовые замки и цифровые дверные замки, также включают кнопочную панель. Появление портативных телекоммуникационных и вычислительных устройств также привело к внедрению кнопочных панелей в мобильные устройства, такие как мобильные (сотовые) телефоны, планшеты, КПК и т.п.
В настоящее время множество электронных устройств имеют возможности компьютерной обработки данных и интерфейс с сенсорным экраном, позволяющий отображать кнопочную панель. Такие устройства могут использоваться для множества целей, включая разрешение для пользователя разблокировать устройство путем ввода кода доступа, включающего комбинацию заранее выбранных символов, или ввод телефонного номера, чтобы позвонить. Терминалы считывания карт, используемые для финансовых операций, также оснащаются кнопочными панелями, чтобы позволить пользователю ввести PIN-код с кнопочной панели.
Каждый тип смартфона (например, марка и/или модель) имеет особый стиль клавиатуры, связанный с ним как его клавиатура "по умолчанию". Например, клавиши могут иметь особый формат или расположение, или для обозначения может использоваться особый шрифт. Поэтому пользователь электронного устройства может быть знаком с конкретным "оформлением внешнего вида" в отношении клавиатуры на устройстве. Пример типовой клавиатуры, генерируемой и отображаемой на широко известных смартфонах, представлен на фиг. 14В. Клавиатура "по умолчанию" генерируется путем исполнения вызова процедуры в телефоне.
В отличие от стандартных клавиатур, которые имеют нажимные (физически подвижные) клавиши, сенсорный экран может использоваться для отображения изображения клавиатуры с пронумерованными или другим способом обозначенными "активными участками", соответствующими физическим клавишам стандартной клавиатуры. Пользователь касается активных участков, соответствующих клавишам, по своему выбору, вместо нажатия подвижных клавиш. Датчики, размещенные под поверхностью сенсорного экрана, воспринимают область (области), которая была выбрана пользователем, таким образом считывая данные, вводимые пользователем.
Вероятно наиболее распространенным способом использования клавиатур совместно с технологией на базе PIN-кода являются финансовые операции, например через банковские автоматы или банкоматы (ATM; automated teller machines) и кассовые терминалы для банковских карт (т.е. платежных карт и кредитных карт).
До внедрения аутентификации на базе PIN-кода, если клиент хотел купить товары или услуги, он должен был предоставить подпись, которая сравнивалась с подписью на обороте карты. Однако подпись можно сравнительно легко подделать.
Для решения этой проблемы во многих странах была внедрена технология смарт-карт для кредитных, платежных и карт ATM. Такая система оплаты (иногда называют как система "chip and pin" (карта с микропроцессором и авторизацией по PIN-коду)) базируется на международном стандарте, известном как стандарт EMV. Согласно этой технологии, кредитные и платежные карты оснащаются встроенной микросхемой. Когда клиент хочет оплатить товары с использованием этой системы, карта помещается в "кассовый терминал" или видоизмененное устройство чтения контактных карт, которое осуществляет доступ к микросхеме карты. После проверки подлинности карты клиент вводит PIN-код из 4 цифр, который передается на микросхему смарт-карты, и если коды совпадают, микросхема сообщает терминалу, что PIN-код правильный, в противном случае - что неправильный. Введенный PIN-код совпадает с хранящимся PIN-кодом, если каждый вводимый символ обнаруживается в сохраненной версии в таком же порядке и с тем же значением.
В некоторых случаях финансовые операции могут быть выполнены посредством проведения магнитной полосой карты по считывающему устройству для считывания данных карты, или путем ручного ввода информации о карте, вместо того, чтобы вставлять карту в специализированное устройство считывания карт.
Следует отметить, что поскольку PIN-код передается на сетевой компьютер для проверки, становятся важными аспекты безопасности из-за того, что PIN-код может быть перехвачен в процессе передачи.
С момента внедрения верификации на базе PIN-кода резко снизилось мошенничество, являющееся результатом транзакций при непосредственном взаимодействии (когда карта и клиент физически присутствуют в месте продажи, где эта транзакция происходит), поскольку угадать или получить PIN-код обманным путем значительно сложнее, чем подделать подпись.
Кроме того, до появления аутентификации на базе PIN-кода, если подпись клиента была подделана, поставщик карты обычно признавался юридически ответственным за последующее мошенничество и был вынужден возместить клиенту потери. Однако с введением технологии смарт-карт ответственность главным образом перешла к клиенту, который должен доказать, что он действовал с "разумной осторожностью", чтобы защитить свой PIN-код, вместо того, чтобы требовать от поставщика карты доказать, что подпись, предоставленная во время транзакции, соответствовала подписи на карте. Переход ответственности обеспечивает значительные финансовые преимущества для поставщиков карт.
Другой недостаток верификации по подписи состоит в том, что такой способ не позволяет провести транзакции, когда карта (и клиент) не присутствуют в помещении продавца при проведении транзакции, например транзакции, производимые по телефону или Интернету. Такие транзакции обычно называют транзакциями без участия карты (CNP; card not present).
Транзакции CNP в настоящее время являются обычным явлением в розничной торговле с множеством клиентов, которые выбирают проведение финансовых операций, не находясь в месте продажи. Однако, тогда как технология на базе PIN-кода обеспечивает относительно безопасный механизм аутентификации для транзакций при прямом взаимодействии и "присутствии карты", мошенничество при транзакциях CNP возрастает.
Кроме того технология мобильной (сотовой) связи открыла новые возможности, в равной мере для продавцов и потребителей. Так называемые смартфоны, включающие мощные вычислительные возможности, стали чрезвычайно популярными, поскольку предложили пользовательские средства, такие как возможность веб-навигации и просмотр веб-сайтов продавцов. Клиенты и продавцы часто не привязаны к одному географическому местонахождению, а находятся в движении. Например, клиент может сделать покупку через веб-сайт, просматриваемый на мобильном телефоне во время ожидания на автобусной остановке, или парковщик может получить плату от водителя на автостоянке. В таких случаях специализированные кассовые терминалы не доступны для использования.
Однако, несмотря на огромную популярность мобильной компьютерной технологии, в особенности телефонов, ее использование в отношении транзакций CNP ограничено из-за проблем безопасности, поскольку данные (такие как PIN-код пользователя) могут быть перехвачены в процессе передачи с устройства на сервер поставщика карты /обратной передачи, или при хранении во внутренней памяти телефона.
Была разработана связанная с PIN-кодом технология для мобильного доступа, и она является известной в существующем уровне техники.
Например, CardEase Mobile® представляет собой мобильное платежное приложение, которое совместно с мобильным картридером позволяет продавцу получить от клиента мобильные платежи с использованием карты, имеющей микросхему и PIN-код. Продавец вводит сумму покупки в приложение, загруженное и установленное на его мобильном телефоне (или планшете). Затем продавец передает устройство считывания карт покупателю, который проводит платежной/кредитной картой в считывателе или вставляет карту в считыватель и вводит свой PIN-код через клавиатуру считывающего устройства. Считыватель затем соединяется по каналу Bluetooth с приложением на мобильном устройстве продавца, которое затем подключается к провайдеру услуг через телефонное Интернет-соединение для авторизации платежа. После подтверждения платежа покупатель извлекает свою карту из считывателя, и продавец посылает клиенту подтверждение через электронную почту или сообщение.
Однако этот общеизвестный способ требует использования картридера. По сути, мобильный телефон здесь используется в качестве кассового терминала, который обычно находится на складе / в магазине. Продавец, принимающий оплату, все еще должен находиться в том же самом месте, что и покупатель, осуществляющий платеж, поскольку он должен передать картридер покупателю для использования его кредитной или платежной карты. Эта система не избавляет от необходимости использования специализированного (т.е. специально изготовленного) устройства считывания карт.
Другой пример существующего уровня техники раскрывается в заявке WO/2012/004395 А1 (iZettle). Средства iZettle включают портативное устройство считывания карт для считывания смарт-карты, портативное устройство считывания и платежный сервер. Цель раскрываемого способа стоит в том, чтобы устранить небезопасную клавиатуру мобильного телефона, используемую для введения PIN-кода, и вместо этого использовать отдельное устройство ввода PIN-кода, которое удовлетворяет характеристикам уровня EMV. По существу, в раскрываемом способе используется внешняя клавиатура для ввода PIN-кода, которая оснащена всеми необходимыми микросхемами и компонентами защиты и просто осуществляет связь с мобильным телефоном через соединение Bluetooth. Таким образом, в связи с вышесказанным, способ iZettle не решает проблему использования небезопасных мобильных устройств для ввода PIN-кода, он просто обходит их посредством использования отдельного устройства ввода PIN-кода.
Действительно, в описании iZettle указано (строки 6-19), что:
"Более практичное решение состояло бы в том, чтобы платеж по кредитной карте проводился через хорошо известное, компактное и широко используемое устройство, такое как мобильный телефон. Однако обычный мобильный телефон не имеет встроенного картридера, в котором пользователь мог бы провести своей кредитной картой, и даже если эта конкретная проблема была бы преодолена, все еще остается вопрос относительно уровня безопасности, который обеспечивает мобильный телефон. Хорошо известно, что например шпионская программа может проникнуть в мобильный телефон и перехватить информацию о кредитной карте и информацию идентификации, такую как PIN-код, вводимый в мобильный телефон через клавиатуру телефона при проведении платежа по кредитной карте, причем пользователь даже не узнает об этом. В свете вышесказанного стандартный мобильный телефон обычно не считается безопасным устройством и таким образом не подходит для выполнения платежей с использованием кредитной карты. Таким образом нахождение способа совершения безопасных платежей по кредитным картам с мобильного телефона является высоко востребованным."
Другой известный способ (также от заявителя WO/2012/004395 А1) включает устройство (защитный ключ) со связанной с ним программой, которое вставляется в зарядный порт смартфона. Когда требуется совершить транзакцию, карта покупателя вставляется в защитный ключ. Затем покупателю предлагается приложить палец к сенсорному экрану телефона для авторизации транзакции. При таком способе пользователю не требуется вводить PIN-код. Следовательно, проблема ввода PIN-кода на небезопасном портативном устройстве устраняется, а не решается.
Еще один известный способ раскрывается в заявке WO 2011/093998 А1. В раскрываемом способе также используется картридер на базе защитного ключа, который вставляется в устройство. Данный способ не обеспечивает безопасного способа авторизации на базе PIN-кода.
В документе GB 2416058 А раскрывается способ верификации запроса на доступ к серверу. В ответ на запрос доступа "генератором комбинаций" на защищенном сервере генерируется строка случайных символов. Затем эта случайная строка используется для генерирования "данных изображения", которые передаются от сервера на компьютер пользователя. Клавиатура на компьютере пользователя модифицируется в соответствии с этими данными. Затем пользователь вводит свой PIN-код, используя модифицированную клавиатуру, отображаемую на компьютере. Данные о позициях относительно выбора пользователя в пределах сетки клавиш (например, первый ряд - первый столбец) сохраняются в качестве записи PIN-кода пользователя. Данные о позициях затем преобразовываются компьютером пользователя в символьные данные, такие как строка цифр, для формирования закодированного PIN-кода, который затем посылается на сервер для верификации. Однако закодированный PIN-код может быть декодирован, если известны данные изображения - строки 22, 23 на странице 10. Следовательно, поскольку данные изображения хранятся на компьютере пользователя, то если безопасность компьютера пользователя нарушена (например, он взломан или инфицирован вредоносной программой), может быть получен доступ к данным изображения, что позволяет третьей стороне декодировать PIN-код пользователя.
Таким образом, желательно обеспечить способ аутентификации, в котором не будет передаваться PIN-код, уязвимый для несанкционированного доступа в процессе передачи между устройствами, или когда он временно хранится на электронном устройстве в процессе верификации.
Идеальным был бы способ аутентификации на базе PIN-кода, который позволил бы пользователю совершить транзакцию CNP с использованием PIN-кода для аутентификации безопасным способом. В идеальном варианте такой способ:
- мог бы осуществляться на портативном электронном устройстве, таком как мобильный телефон, планшетный компьютер, ноутбук, КПК и т.д., настольный компьютер или стационарное устройство;
- обеспечил бы осуществление аутентификации на базе PIN-кода на любом подходящем устройстве, имеющем вычислительные возможности;
- требовал от пользователя вводить PIN-код, используя те же цифры, как в сохраненном PIN-коде и в таком же порядке (вместо того, чтобы требовать от пользователя вводить закодированную или другим способом замаскированную/трансформированную версию своего PIN-кода);
- позволял легкое и интуитивное использование;
- не требовал, чтобы компьютер пользователя имел доступ к "реальному" PIN-коду или информацию о том, как его вычислить;
- не должен выполнять какой-либо алгоритм преобразования или кодирования (который требует дополнительного времени и обработки данных и может быть использован для распознавания PIN-кода пользователя).
Теперь такое улучшенное решение разработано и обеспечивает по меньшей мере эти преимущества.
Таким образом, согласно настоящему изобретению предлагаются способ и система, рассматриваемые в настоящем описании в различных вариантах осуществления.
В соответствии с первым аспектом настоящего изобретения предлагается осуществляемый компьютером способ верификации, который включает следующий шаг:
предоставление возможности пользователю ввести идентификатор в электронное устройство, оснащенное:
i) экраном и
ii) клавиатурой, работающей на экране в зоне клавиатуры;
посредством использования по меньшей мере одной клавиши клавиатуры на изображении по меньшей мере части скремблированной клавиатуры, которая отображается по меньшей мере частично в пределах зоны клавиатуры.
Термин "изображение" может использоваться вместо "изображение скремблированной клавиатуры" для краткости.
Клавиатура работает так, что имеет функциональные возможности, ожидаемые от нее специалистом в данной области техники. Специалист понимает, что под термином "клавиатура" подразумевается электронная или механическая решетка из клавиш, каждая из которых имеет по меньшей мере одно связанное с ней обозначение и при выборе пользователем вызывает ввод связанного с ней обозначения в устройство или систему для сохранения и/или обработки. С точки зрения настоящего изобретения клавиатура представляет собой электронную версию клавиатуры. Ее можно рассматривать как виртуальную клавиатуру, поскольку она представляет собой программную эмуляцию механической клавиатуры. Она обеспечивает все функции механической клавиатуры, включая снабженные обозначениями клавиши, которые пользователь может выбирать, чтобы ввести данные в компьютеризованную систему.
Клавиатура может генерироваться на электронном устройстве или электронным устройством. Она может генерироваться посредством вызова соответствующей процедуры. Процедура может обеспечиваться библиотекой, поставляемой производителем устройства.
В отличие от этого, изображение скремблированной клавиатуры является представлением клавиатуры. Такое представление может включать представление целой клавиатуры или по меньшей мере части клавиатуры. Оно может отображать (представлять, изображать) одну или более клавиш. Изображение формируется в электронном виде. Оно может представлять собой графическое изображение, оптическое изображение, видео или другую форму визуального представления. Оно может быть сформировано или сохранено в цифровом формате в электронном файле.
В результате преимущество состоит в том, что расположение "клавиш" на этом представлении не может быть прочитано неавторизованной стороной, которая может перехватить это представление в процессе передачи или когда оно отображается на электронном устройстве.
Изображение скремблированной клавиатуры не является клавиатурой как таковой, поскольку оно не имеет функциональных возможностей. Это просто представление решетки клавиш. Касание, щелчок или выбор другим способом "клавиши" на изображении не оказывает эффекта и не генерирует ввод данных.
Следует отметить, что изображение скремблированной клавиатуры может иногда именоваться как "клавиатура", "скремблированная клавиатура" или "накладная клавиатура" исключительно для удобства, поскольку при использовании оно функционирует как клавиатура. Области изображения могут именоваться "клавишами" также только для удобства, поскольку это то, что пользователь видит и использует. Однако следует помнить, что фактически это не так, и что изображение не является клавиатурой в действительности.
Настоящее изобретение обеспечивает пользователю возможность ввода идентификатора через тот же компонент устройства, который используется для отображения изображения скремблированной клавиатуры (экран). Другими словами, экран может служить как устройством вывода (дисплеем) для изображения скремблированной клавиатуры, так и устройством ввода, через которое может быть введен идентификатор пользователя. Это отличается от известного уровня техники, где клавиатура отображается на одном компоненте устройства (например, экране), а ввод данных пользователя принимается через другой компонент устройства (например, клавиатуру).
Преимущество такого подхода состоит в том, что он позволяет данные, введенные пользователем через изображение, отобразить на электронную клавиатуру, которая скрыта от пользователя по меньшей мере частично, так что данные пользователя автоматически кодируются после ввода пользователем. Ввод данных автоматически кодируется в том смысле, что электронному устройству не нужно преобразовывать, кодировать или другим способом обрабатывать данные, введенные пользователем. Рабочая клавиатура генерируется путем вызова процедуры, исполняемой на электронном устройстве. Рабочая электронная клавиатура может именоваться "базовой" или "нижней" клавиатурой для краткости.
В предпочтительном варианте нажатие пользователем клавиши клавиатуры на изображении генерирует закодированную версию исходных данных пользователя. В предпочтительном варианте изображение отображается в пределах зоны клавиатуры так, что когда пользователь касается, щелкает или другим способом указывает место на изображении, клавиша рабочей клавиатуры в этом месте активируется и обеспечивает закодированную версию данных пользователя.
Таким образом, идентификатор пользователя вводится через изображение. Пользователь выбирает часть изображения, чтобы ввести идентификатор. Часть изображения напоминает или изображает клавишу клавиатуры. Таким образом, пользователь может управлять клавиатурой через изображение.
В предпочтительном варианте изображение функционирует как маска или накладка, помещенная на клавиатуру, так что когда пользователь касается, щелкает или другим способом указывает место в пределах изображения, он использует или активирует клавишу клавиатуры, находящуюся в этом месте в пределах зоны клавиатуры.
В предпочтительном варианте область клавиатуры и/или изображение остается на экране в фиксированном положении в процессе ввода пользователем идентификатора. Это отличает настоящее изобретение от тех известных систем, где клавиши или клавиатура целиком перемещаются по экрану в процессе верификации. Поскольку в настоящем изобретении изображение остается в фиксированном положении, обеспечивается решение, которое является более простым в использовании и требует меньшей обработки электронным устройством.
Таким образом, в некотором смысле настоящее изобретение может рассматриваться как обеспечение наложения изображения скремблированной клавиатуры на "основную" клавиатуру так, что когда пользователь вводит данные через наложенное изображение скремблированной клавиатуры, данные кодируются в соответствии с раскладкой основной (предпочтительно невидимой) клавиатуры.
Основную клавиатуру можно рассматривать как объект, генерируемый и размещаемый в энергозависимой памяти во время выполнения программы для обеспечения модели стандартной механической клавиатуры.
Таким образом, настоящее изобретение обеспечивает преимущество, состоящее в том, что подлинный идентификатор пользователя не сохраняется в устройстве и не передается по сети для верификации. Поэтому идентификатор пользователя не может быть вычислен потенциальным перехватчиком без информации о соответствии между наложенным изображением и основной функциональной клавиатурой.
В предпочтительном варианте соответствие между наложенным изображением и основной клавиатурой не сохраняется в электронном устройстве и не вычисляется электронным устройством. Соответствие (или взаимосвязь) между позициями двух наборов "клавиш" хранится на сервере, который удален от электронного устройства.
В предпочтительном варианте изображение скремблированной клавиатуры пересылается от удаленного компьютеризованного ресурса в электронное устройство. Такой ресурс может представлять собой сервер. Таким образом, изображение скремблированной клавиатуры не генерируется в электронном устройстве. Версия изображения скремблированной клавиатуры хранится на сервере. Версия может представлять собой запись порядка следования символов ("клавиш") на изображении скремблированной клавиатуры.
Зона клавиатуры представляет собой определенную область или часть экрана. Таким образом, зона клавиатуры может занимать весь экран или часть экрана. Изображение скремблированной клавиатуры может отображаться так, что будет закрывать зону клавиатуры полностью точно по размеру или частично. В предпочтительном варианте основная клавиатура скрыта, по меньшей мере частично, от взгляда, так что пользователь не может видеть по меньшей мере несколько клавиш клавиатуры.
Идентификатор может представлять собой персональный идентификационный код. Это может быть персональный идентификационный номер (PIN; personal identification number). Номер может включать любое число символов или обозначений любого типа, или их комбинацию (как указано выше). Идентификатор выбирается пользователем заранее, до осуществления данного способа. Идентификатор хранится удаленно от электронного устройства, например на сервере. Изображение скремблированной клавиатуры и/или клавиатура может включать цифры, буквы, знаки препинания, символы или другие знаки, а также их комбинацию. С каждой клавишей может быть связан один или более символов.
В предпочтительном варианте пользователь способен выбрать множество "клавиш" на изображении скремблированной клавиатуры для ввода идентификатора, включающего более одного символа.
Изображение скремблированной клавиатуры может быть скремблировано относительно базовой клавиатуры. На изображении клавиатуры может быть нарисован блок или сетка, включающая множество смежных клавиш. Оно "скремблировано" в том смысле, что символы на "клавишах" идут не по порядку и/или не в том порядке, который ожидается в отношении базовой клавиатуры. Скремблирование производится в соответствии с процессом генерирования случайных значений или процессом, приближающимся к случайному процессу. Базовая клавиатура представляет собой клавиатуру, работающую в зоне клавиатуры, или клавиатуру по умолчанию, связанную со стандартной формой, моделью, типом электронного устройства.
Таким образом, одинаковые обозначения могут присутствовать на обеих клавиатурах, на основной и на изображении скремблированной клавиатуры, но они находятся на разных позициях. Другими словами, порядок клавиш на базовой клавиатуре отличается от изображения скремблированной клавиатуры. Изображение скремблированной клавиатуры может иметь такой же вид и функции, как клавиатура по умолчанию, связанная с электронным устройством, только "клавиши" расположены на иных позициях.
Соответствующие позиции одной, нескольких или всех "клавиш" на изображении скремблированной клавиатуры могут отличаться от позиций тех же клавиш на основной клавиатуре.
Пользователь управляет клавишами основной клавиатуры через изображение скремблированной клавиатуры посредством взаимодействия с "клавишами", отображаемыми на экране. Например, данные могут быть введены пользователем путем касания экрана (пальцем или другим объектом) или посредством выбора нужной "клавиши" (клавиш) указательным устройством, таким как мышь или шаровой манипулятор. Также могут использоваться другие способы для получения аналогичного эффекта, что находится в пределах объема настоящего изобретения.
Расположение и/или размеры зоны клавиатуры указываются при вызове процедуры или способа.
В предпочтительном варианте зона клавиатуры включает множество подзон или "активных точек". Положение по меньшей мере одной "клавиши" на изображении скремблированной клавиатуры и/или клавиатуре соответствует положению подзоны так, что существует соответствие между "клавишами" скремблированной клавиатуры и клавишами клавиатуры и/или множеством подзон. Желательно, чтобы это соответствие не могло быть получено из электронного устройства или электронным устройством. Активные точки находятся под клавишами изображения скремблированной клавиатуры.
Клавиатура (основная) может скремблироваться после каждого выбора пользователем клавиши. Таким образом при каждом нажатии клавиши пользователем может использоваться по-разному скремблированная основная клавиатура.
В предпочтительном варианте изображение скремблированной клавиатуры принимается электронным устройством от компьютеризованного ресурса (например, сервера), расположенного удаленно относительно электронного устройства. Изображение передается в электронное устройство от сервера в ответ на запрос изображения, этот запрос передается от устройства на сервер. Изображение скремблированной клавиатуры генерируется сервером.
В предпочтительном варианте изображение скремблированной клавиатуры генерируется заранее. В одном варианте осуществления это означает, что оно генерируется до запроса (а не в ответ на запрос) от электронного устройства. Изображение генерируется до выполнения этого способа верификации.
Закодированная версия введенных пользователем данных (идентификатор) пересылается от электронного устройства на удаленный компьютеризованный ресурс. Такой ресурс может представлять собой сервер. В предпочтительном варианте сервер принимает закодированную версию данных пользователя и обрабатывает ее. В результате обработки обеспечивается декодированная версия введенного пользователем идентификатора.
Таким образом "реальный" идентификатор пользователя не передается. Передается только закодированная версия, которая не имеет смысла для неавторизованной стороны, которой не известно соответствие между "клавишами" на изображении скремблированной клавиатуры и клавишами на основной клавиатуре.
Декодирование производится на базе сохраненной версии или формы изображения скремблированной клавиатуры. Сохраненная версия или форма конфигурации клавиш может представлять собой имя файла. На шаге декодирования обеспечивается декодированная версия введенных пользователем данных. Таким образом "реальный" идентификатор пользователя генерируется посредством преобразования каждого символа в закодированной версии в соответствующий элемент изображения скремблированной клавиатуры.
Декодированные данные пользователя сравниваются с сохраненной версией идентификатора. Считают, что введенные пользователем данные правильные, если ввод соответствует сохраненному идентификатору.
В предпочтительном варианте данный способ включает также следующие шаги:
генерирование множества изображений скремблированных клавиатур;
выбор изображения скремблированной клавиатуры из этого множества;
передача копии выбранного изображения скремблированной клавиатуры в электронное устройство.
Данный способ также включает следующий шаг:
удаление по меньшей мере одного изображения скремблированной клавиатуры из множества изображений до осуществления выбора.
Данный способ также включает следующий шаг:
удаление выбранного изображения скремблированной клавиатуры из множества изображений после передачи его копии в электронное устройство.
Данный способ также включает следующий шаг:
удаление из множества изображений изображения скремблированной клавиатуры, которое имеет по меньшей мере одну клавишу, расположенную на той же позиции, что и аналогичная клавиша на базовой клавиатуре.
В предпочтительном варианте позиции клавиш на изображении скремблированной клавиатуры остаются неизменными относительно друг друга в процессе ввода идентификатора пользователя. Это отличается от решений существующего уровня техники, где позиции и/или порядок клавиш, отображаемых для пользователя, переставляют, переупорядочивают или перемещают на экране после каждого выбора клавиши пользователем и/или после каждого сеанса верификации.
В предпочтительном варианте символ по меньшей мере на одной клавише на изображении скремблированной клавиатуры маскируется или затеняется по меньшей мере частично, но остается читаемым для пользователя. Это дает преимущества создания образа, который трудно прочитать посредством программ оптического распознавания. В результате увеличивается безопасность системы и способа.
Электронное устройство может представлять собой мобильный телефон, персональный компьютер, планшет, ноутбук, карманный компьютер, терминал считывания карт или другое электронное устройство, оснащенное экраном. Электронное устройство способно поддерживать протокол связи, такой как TCP/IP, по беспроводной или проводной линии, а также может поддерживать другие протоколы, такие как Bluetooth, RS232 и другие.
Связь между устройством (например, мобильным телефоном) и компьютеризованным ресурсом (например, сервером) может осуществляться через наземную линию связи или через мобильное соединение, wifi и т.д. - фактически может использоваться любое устройство на базе протокола IP.
Изображение скремблированной клавиатуры может отображаться через веб-браузер, встроенное в браузер приложение, отдельное приложение и/или приложение, обеспечивающее графический интерфейс пользователя, чтобы обеспечить пользователю возможность взаимодействовать с изображением скремблированной клавиатуры.
Предпочтительно, чтобы соответствие между обозначениями на изображении скремблированной клавиатуры и основной клавиатуры хранилось удаленно от устройства, обычно на компьютеризованном ресурсе, удаленном от устройства.
Для повышения безопасности изображение скремблированной клавиатуры может быть переименовано и/или зашифровано прежде, чем оно будет пересылаться в электронное устройство. Это обеспечивает преимущество в том, что предотвращается или по меньшей мере затрудняется перехват и декодирование идентификатора третьими сторонами (например, вредоносной программой).
Данный способ также включает шаг доставки индикатора пользователю для подтверждения того, что изображение скремблированной клавиатуры предоставлено законным источником. Индикатор может представлять собой "водяной знак". Индикатор может представлять собой текстовое сообщение, изображение, видеоизображение, звук, вибрацию или другой тактильное указание. Индикатор может выбираться пользователем.
В предпочтительном варианте изображение скремблированной клавиатуры стирается из электронного устройства после введения данных пользователем или после заданного периода времени.
Если пользователь при вводе идентификатора делает ошибку, в электронное устройство может быть отправлено новое (т.е. другое) изображение скремблированной клавиатуры.
Кроме того, в соответствии с настоящим изобретением предлагается осуществляемый компьютером способ верификации предварительно сохраненного персонального идентификационного кода (PIC; personal identification code), причем данный способ включает следующие шаги:
генерирование изображения клавиатуры, при этом позиция по меньшей мере одного обозначения на изображении отличается от позиции соответствующего обозначения на клавиатуре;
передача изображения на удаленное устройство для отображения пользователю, чтобы предоставить ему возможность ввести PIC код через это изображение;
прием закодированной версии введенного PIC кода от удаленного устройства;
декодирование закодированной версии для получения декодированной версии введенного PIC кода;
сравнение декодированной версии введенного PIC с заранее сохраненным PIC кодом.
В соответствии со вторым аспектом предлагается осуществляемый компьютером способ верификации предварительно сохраненного персонального идентификационного кода (PIC; personal identification code), причем данный способ включает следующие шаги:
- прием изображения клавиатуры от удаленно расположенного компьютеризованного ресурса, при этом позиция по меньшей мере одного обозначения на изображении отличается от позиции соответствующего обозначения на клавиатуре;
- предоставление изображения пользователю для обеспечения возможности ввода PIC кода через это изображение;
- генерирование закодированной версии введенного PIC кода;
- передачу закодированной версии введенного PIC кода на компьютеризованный ресурс для декодирования с тем, чтобы сравнить декодированную версию введенного PIC кода с предварительно сохраненным PIC кодом.
В соответствии со следующим аспектом предлагается осуществляемый компьютером способ верификации предварительно сохраненного персонального идентификационного кода (PIC; personal identification code), причем данный способ включает следующие шаги:
- использование компьютеризованного ресурса для генерирования изображения клавиатуры, при этом позиция по меньшей мере одного обозначения на изображении отличается от позиции соответствующего обозначения на клавиатуре;
- передачу изображения на удаленное устройство;
- предоставление изображения пользователю через удаленное устройство для обеспечения пользователю возможности ввода PIC кода через это изображение;
- передачу закодированной версии введенного PIC кода от удаленного устройства на компьютеризованный ресурс;
- использование компьютеризованного ресурса для декодирования закодированной версии с целью получения декодированной версии введенного PIC кода и ее сравнения с предварительно сохраненным PIC кодом.
В соответствии со следующим аспектом настоящего изобретения предлагается осуществляемый компьютером способ верификации, включающий следующий шаг:
обеспечение пользователю возможности ввода идентификатора посредством выбора по меньшей мере одной клавиши через скремблированную клавиатуру, предоставляемую пользователю в пределах зоны клавиатуры на экране, связанном с электронным устройством.
В соответствии со следующим аспектом настоящего изобретения предлагается компьютерная система, выполненная и сконфигурированная для реализации любого варианта осуществления описанного выше способа.
Преимущества настоящего изобретения включают:
- снижение вероятности мошенничества при проведении транзакций CNP;
- значительное сокращение затрат, связанных с таким мошенничеством;
- переход ответственности от эмитента банковских карт к пользователю в отношении мошеннического использования карты;
- удобство для пользователя благодаря безопасности транзакций CNP.
Эти и другие аспекты настоящего изобретения будут очевидными из иллюстративных вариантов осуществления, которые поясняются в настоящем описании.
Вариант осуществления настоящего изобретения далее описывается исключительно для примера со ссылкой на чертежи.
На фиг. 1-4 показаны примеры клавиатур различного типа, которые могут генерироваться в соответствии с настоящим изобретением.
На фиг. 5 показан процесс создания изображения скремблированной клавиатуры в соответствии с вариантом осуществления настоящего изобретения.
На фиг. 6 показан процесс регистрации в соответствии с настоящим изобретением.
На фиг. 7 показан пример базы данных пользовательских клавиатур, которая создается для зарегистрированного устройства.
На фиг. 8 показан пример процесса транзакции в соответствии с настоящим изобретением.
На фиг. 9 и 10 показан пример процесса применения безопасной транзакции в соответствии с вариантом осуществления настоящего изобретения.
На фиг. 11 показана "стандартная" клавиатура в соответствии с вариантом осуществления настоящего изобретения.
На фиг. 12а, 12b и 12с показаны примеры изображений скремблированных клавиатур, которые подходят для наложения поверх стандартной клавиатуры, представленной на фиг. 11.
На фиг. 13 показано наложение изображения скремблированной клавиатуры поверх стандартной (базовой) клавиатуры устройства.
На фиг. 14а показана стандартная цифровая клавиатура, известная в существующем уровне техники.
На фиг. 14b показана цифровая клавиатура на мобильном телефоне, известная в существующем уровне техники.
На фиг. 15а показано заранее сгенерированное изображение клавиатуры до применения водяного знака.
На фиг. 15b показано изображение клавиатуры фиг. 15а с наложенным водяным знаком в нижнем левом углу зоны клавиатуры.
На фиг. 15с показано изображение клавиатуры как на фиг. 15b, но с водяным знаком в другой позиции (в нижнем левом углу).
На фиг. 15d показано изображение клавиатуры фиг. 15а с фотографическим изображением, используемым как водяной знак в качестве фона.
На фиг. 16а-16е показаны другие скремблированные изображения клавиатуры, сгенерированные из 4-х различных цифровых последовательностей.
На фиг. 17 показано изображение скремблированной клавиатуры, включающей комбинацию буквенных и цифровых клавишей.
На фиг. 18 показаны три неполных изображения, которые при повторяющемся показе в быстрой последовательности формируют кажущееся статическим распознаваемое изображение.
На фиг. 19 показан пример осуществления настоящего изобретения в системе обработки финансовых операций.
Далее на базе чертежей описывается вариант осуществления настоящего изобретения для использования с мобильным телефоном. Однако настоящее изобретение может использоваться для выполнения верификации PIN-кода в множестве устройств различных типов при условии, что устройство имеет вычислительные возможности, а также экран для отображения клавиатуры.
Данный вариант осуществления относится также к использованию при проведении финансовых операций. Одним из применений, для которого подходит настоящее изобретение, является дистанционное банковское обслуживание. Однако специалист без труда поймет, что настоящее изобретение может использоваться с другими параметрами и для целей, отличающихся от финансовой сферы. Изобретение не ограничивается применениями в бизнесе или коммерции.
Важно отметить, что настоящее изобретение может использоваться в любой ситуации, когда требуется идентификация личности, прежде чем разрешить лицу доступ к контролируемому ресурсу. Контролируемый ресурс может представлять собой ресурс любого типа. Это могут быть денежные средства на финансовом счете. Также это может быть здание, компьютерная система, медицинская карта пациента, услуга и т.д. Например, изобретение может использоваться для верификации кода доступа к дверному замку, чтобы выполнить аутентификацию перед тем, как разрешить вход в здание.
Важно также отметить, что приложение, ориентированное на финансы, которое описывается ниже, является только одной из областей, где настоящее изобретение может применяться. Эта область была выбрана в качестве примера, поскольку верификация на базе карты с чипом и PIN-кодом является наиболее широко известным использованием верификации по коду и поэтому с наибольшей легкостью будет воспринята читателями данного описания. Однако специалисту будет понятно, что настоящее изобретение не ограничивается в отношении окружающих условий или ситуации, в которых настоящее изобретение может быть внедрено.
Также необходимо отметить, что настоящее изобретение не представляет собой средство для осуществления транзакции непосредственно. Изобретение является средством верификации, используемым для аутентификации личности того, кто запрашивает доступ к контролируемому ресурсу. Изобретение не определяет, как осуществляется доступ после успешной авторизации, и также не определяет, как проводится любая другая операция или возможная транзакция после успешной верификации.
Вариант осуществления, описываемый ниже, по существу работает посредством создания изображения скремблированной версии клавиатуры (которую иначе можно назвать панелью для ввода PIN-кода). Изображение скремблированной клавиатуры пересылается для предоставления или отображения на целевом электронном устройстве 1, чтобы пользователь мог его видеть. В данном примере целевым устройством является мобильный телефон 1, как показано на фиг. 6.
Изображение скремблированной клавиатуры формируется так, чтобы оно имело сходство со стандартной клавиатурой по умолчанию для данного устройства. Каждая марка и/или модель устройства как правило имеет свой собственный стиль клавиатуры по умолчанию, которая может отличаться формой, символами, размером, цветом и т.д. от клавиатур по умолчанию на других устройствах. Клавиатура по умолчанию обычно генерируется и отображается на мобильном телефоне посредством вызова процедуры, которая определяет формат клавиатуры для данного устройства и место на экране, где она должна отображаться. Клавиатура по умолчанию представляет собой сетку, которая занимает определенную область на экране, т.е. отображается в заданном месте. Это место представляет собой заданную область или часть (здесь называется как "зона клавиатуры") в пределах экрана телефона. Зона клавиатуры разделена на подзоны, при этом каждая подзона представляет собой клавишу клавиатуры по умолчанию. Другими словами каждая подзона связана с конкретным символом. Символ для каждой клавиши отображается так, чтобы пользователь видел его на экране в пределах местоположения соответствующей ему подзоны. Следовательно, если пользователь выбирает (например касается или щелкает) область, связанную с конкретной подзоной, то записывается символ связанной с ним клавиши. Таким образом, такая клавиатура служит виртуальной версией механической клавиатуры, генерируется электронным способом посредством программы, распознает место, указанное пользователем в пределах определенной области экрана, и использует его для генерирования входных данных вместо использования физических нажимных клавиш.
В таких виртуальных клавиатурах каждая подзона по существу является "активной точкой" на экране, и множество смежных активных точек объединяются друг с другом для образования клавиатуры. В данном примере в телефоне клавиатура 2 по умолчанию сформирована в виде сетки клавиш 3×4. Каждая клавиша 4 имеет связанный с ней символ. В данном случае символами являются цифры. Каждая клавиша 4 является активной точкой экрана, при этом каждая активная точка связана с символом на виртуальной клавиатуре.
Пример известного стиля клавиатуры 2 по умолчанию, используемой в смартфонах, показан на фиг. 11. Клавиатура 2 по умолчанию генерируется на самом целевом устройстве 1, она не пересылается в устройство 1 с удаленного сервера.
Затем поверх этой стандартной клавиатуры 2 накладывается изображение 3 скремблированной клавиатуры, которое пересылается на телефон и отображается на экране в зоне клавиатуры. Такое наложение достигается посредством отображения изображения скремблированной клавиатуры в зоне показа клавиатуры так, чтобы позиции скремблированных "клавиш" соответствовали позициям активных точек на клавиатуре по умолчанию. Расположение обеих клавиатур является таким, что пользователю видно только изображение скремблированной клавиатуры, а нижняя рабочая клавиатура скрыта под этим изображением по меньшей мере частично, а в предпочтительном варианте полностью. Поэтому для пользователя существует только одна клавиатура, которая выглядит точно так, как пользователь ожидает увидеть, за исключением клавиш, которые находятся на других позициях относительно друг друга.
Поскольку клавиатура по умолчанию для мобильного телефона является стандартом, к которому привязывается скремблированная клавиатура, то клавиатура по умолчанию может именоваться как "базовая клавиатура".
На фиг. 12а, 12b и 12с показаны примеры изображений 3 клавиатуры, которые подходят для наложения поверх стандартной клавиатуры 2 на фиг. 11.
Скремблированная клавиатура пересылается на телефон в виде изображения. В другом варианте она может пересылаться в виде видео файла, что рассматривается более подробно далее. Такие рисунок, видео или изображение 3 называются "представление", поскольку в некотором смысле они представляют физическую (нажимную) клавиатуру.
Изображение 3 скремблированной клавиатуры генерируется заранее (т.е. до инициализации процесса верификации). Изображение выбирается случайным образом из набора предварительно сгенерированных образов скремблированных клавиатур и затем пересылается на телефон 1 (мобильный телефон) по сети связи. Изображение скремблированной клавиатуры на фиг. 3 является представлением клавиатуры 2 по умолчанию. Различие между клавиатурой 2 по умолчанию и изображением 3 скремблированной клавиатуры состоит в том, что аналогичные клавиши 4 расположены в разном порядке. Другими словами, одинаковые цифры присутствуют на каждой клавиатуре, но по меньшей мере две цифры находятся на разных позициях в пределах сетки клавиатуры.
«Представление» 3 клавиатуры генерируется точно с такими же размерами, как и клавиатура по умолчанию, чтобы оно мог полностью закрыть ее. Таким образом, пользователь мобильного телефона (клиент) видит только одну бесшовную клавиатуру. Пользователь не знает, что есть нижняя клавиатура 2, которая сгенерирована на заднем плане под первой клавиатурой, которую он видит и использует для ввода данных. Изображение пересылается на устройство пользователя вместе с одной или более командами, чтобы активизировать или вызвать необходимую процедуру для генерирования нижней клавиатуры.
Случайно выбранное изображение 3 скремблированной клавиатуры помещается поверх клавиатуры 2 по умолчанию на телефоне так, что когда пользователь вводит свой PIN-код, на устройстве генерируется результат, отличающийся от того, который пользователь намеревался ввести, или по меньшей мере думал, что вводит. Это достигается в результате связи (соответствия) между разным расположением клавиш 4 на клавиатурах 2 и 3. Пользователь касается экрана в конкретном месте для ввода цифры, отображаемой на верхнем изображении 3 скремблированной клавиатуры, но эта цифра интерпретируется как цифра на нижней клавиатуре 2 в данной подзоне. Поскольку пользователь вводит данные последовательно, то соответствующий нижний символ связывается с предыдущим, чтобы полностью сформировать PIN-код.
Таким образом, закодированная версия PIN-кода пользователя формируется в зависимости от позиции скрытых клавиш 4, которые пользователь выбирает через представление 3 скремблированной клавиатуры. Если пользователь делает ошибку, на устройство 1 пересылается новое (другое) представление 3 скремблированной клавиатуры.
В результате PIN-код, который пользователь думает, что вводит, отличается от PIN-кода, который записывает программа, работающая на телефоне пользователя. "Реальный" PIN-код пользователя никогда не сохраняется на небезопасном телефоне 1 и не передается по (небезопасной) сети связи. Сохраняется и передается только закодированная версия. Закодированная версия PIN-кода может быть зашифрована перед передачей для усиления защиты. Таким образом, перехватчик не сможет декодировать, угадать или восстановить реальный PIN-код, не имея информации о расположении клавиш относительно друг друга в каждой клавиатуре.
В настоящем изобретении процесс декодирования производится компонентом изобретения, который "знает" раскладку клавиш в обеих клавиатурах и поэтому способен сопоставить закодированные цифры с оригинальными символами, возвращая таким образом данные, введенные пользователем. Этот декодированный PIN-код затем сравнивается с предварительно сохраненным PIN-кодом пользователя для выполнения верификации.
В варианте осуществления изображение 3 скремблированной клавиатуры шифруется перед пересылкой в телефон 1. После прибытия в телефон 1 оно загружается в безопасную или защищенную область памяти в устройстве 1 (или, по меньшей мере, защищенную насколько возможно). Другими словами настоящим изобретением используются все обычные средства защиты, как будто был введен реальный PIN-код клиента (а не преобразованная версия). Это обеспечивает еще один уровень безопасности и защиты.
Эти аспекты настоящего изобретения далее рассматриваются более подробно для одного способа, посредством которого настоящее изобретение может быть внедрено.
Создание панели для ввода PIN-кода
"Программа создания панели для ввода PIN-кода" 6 отвечает за генерирование всех изображений 3 скремблированной клавиатуры, которые используются в данной системе. Общее представление этого аспекта изобретения показано на фиг. 5.
Если просто используются случайным образом скремблированные клавиатуры, то существует риск, что одна или более клавиш может быть не переставлена. Это может привести к тому, что позиции одной или более клавиш введенного PIN-кода пользователя будут одинаковыми для нормального и закодированного PIN-кода. Это не является идеальным.
Поэтому в процессе генерирования клавиатуры (изображения) для ввода PIN-кода отбрасываются изображения скремблированной клавиатуры, на которых позиции одной или нескольких клавиш соответствуют стандартной клавиатуре. Поэтому в предпочтительном варианте создание клавиатуры для ввода PIN-кода не является чисто случайным процессом, а подвергается процессу выбора с целью отбора/отсева в соответствии с определенным критерием.
Генерирование клавиатуры (изображения) для ввода PIN-кода производится в безопасной среде, как правило соответствующей стандарту защиты информации в индустрии платежных карт.
Выходная разрешающая способность и тип файла устанавливается первоначально до использования в конкретном целевом устройстве 1 (в данном случае - типе мобильного телефона). Это гарантирует, что изображения на выходе генерируются с оптимальным разрешением для данного устройства, например 256×184.
Затем выбирается основное "фоновое изображение" 7, которое соответствует разрешению, как указано выше, и "файл перестановок" 5, включающий все необходимые перестановки цифр (клавиш) для заключительных изображений клавиатуры. В варианте осуществления этот файл 5 должен представлять собой текстовый файл с разделением запятой и началом каждой перестановки с новой строки. Однако может быть создано множество других осуществлений с таким же эффектом. Например, каждая перестановка отделяется символом # или *.
Затем "файл перестановок" 5 объединяется с "фоновым изображением" 7 и добавляется выбор пользователя относительно типа, размера и цвета шрифта для формирования завершенного изображения 3 клавиатуры. Завершенное изображение 3 клавиатуры затем оптимизируется и уменьшается в размере, насколько возможно, для оптимальной скорости передачи.
Кроме того стандартные монохромные клавиатуры, как показано на фиг. 1, 5, 9, 11, 12, 13, и фоновое изображение 7 могут быть обработаны. Например, цвет фона и/или тип шрифта по умолчанию, размер и цвет могут быть изменены с тем, чтобы могла быть сгенерирована неограниченная база данных клавиатур для любого типа экрана и устройства.
В вариантах осуществления в предоставляемые изображения могут добавляться рекламные объявления, образовательная информация и другой контент.
В изображениях клавиатуры может использоваться специальный шрифт или цвет, чтобы обеспечить специальные региональные символы, например, может использоваться арабский язык, а также для гарантии того, что эти изображения не смогут прочитать посредством неавторизованных программ оптического распознавания символов (что увеличивает безопасность).
Каждому созданному изображению клавиатуры присваивается уникальное имя файла, при этом создается главный индексный указатель для всех изображений клавиатуры, которые были сгенерированы. Когда изображение скремблированной клавиатуры пересылается в устройство, копия имени файла этого изображения временно сохраняется. Это имя файла включает порядок клавиш на изображении клавиатуры. Это позволяет сохранить соответствие между изображением скремблированной клавиатуры и базовой клавиатурой.
С целью безопасности изображение 3 скремблированной клавиатуры переименовывается перед шифрованием и пересылкой в удаленное устройство 1, что предотвращает возможный перехват и декодирование PIN-кода вредоносными программами или неавторизованными лицами.
На фиг. 1-4 показаны примеры внешнего вида, который могут иметь изображения 3 скремблированной клавиатуры в соответствии с настоящим изобретением.
В качестве примера на фиг. 2 показано изображение 3 скремблированной клавиатуры на фоне осенних листьев. Это может использоваться продавцом для сезонных вариаций или в рекламных целях.
На фиг. 3 показано черно-белое изображение, искаженное так, что его невозможно прочитать программами оптического распознавания символов. Квалифицированный специалист знает, что для правильного отображения таких изображений требуются экраны с высоким разрешением.
На фиг. 4 показано монохромное изображение клавиатуры, которое модифицировано для использования арабского алфавита. Квалифицированному специалисту понятно, что региональные различия в символах могут быть объединены с другими способами формирования изображений, представленными на фиг. 2 и 3.
На устройствах с соответствующей вычислительной мощностью может использоваться наложение видео вместо статического изображения для дополнительного уменьшения потенциальной угрозы использования программ оптического распознавания данных для считывания клавиатуры. Эта функция также может быть использована в рекламных целях.
Важным является то, что для обеспечения необходимого уровня безопасности вредоносные программы и неавторизованные лица должны быть неспособны прочитать данные, содержащиеся в изображении скремблированной клавиатуры, отображаемой для пользователя. Как указано выше, в настоящем изобретении это достигается путем предоставления скремблированной клавиатуры в единственном формате изображения. Тогда как на микрокомпьютере возможно оптическое распознавание изображений, мобильные телефоны не имеют возможностей, чтобы сделать это, и для скрытой вредоносной программы практически невозможно обладать требуемым уровнем функциональности, не обнаружив себя.
Эта проблема может быть решена по меньшей мере частично использованием случайных фоновых изображений и шрифтов, которые не могут распознать технологии оптического распознавания символов. Эта проблема может быть также решена посредством формирования изображения клавиатуры в форме видеофайла. Однако, тогда как видео файлы невозможно прочитать технологиями оптического распознавания, для третьего лица технически возможно "захватить" один экран из видеофайла и прочитать его.
Одним из решений, которое может применяться в различных вариантах осуществления настоящего изобретения, является комбинирование двух указанных выше систем в одну. Тогда изображение скремблированной клавиатуры предоставляется пользователю в простом формате (т.е. не используются специальные шрифты, а фон является стандартным), но сам файл представляет собой малый видео файл и при воспроизведении обманывает глаз так, что заставляет думать, что изображение является цельным и статическим. На самом деле ни один кадр не включает достаточно информации для обратного преобразования в понятные данные, которые можно использовать.
Эту систему можно реализовать всего лишь в 3-х кадрах, воспроизводимых быстро и последовательно, так что появляется статическое изображение. Пример показан на фиг. 18. При объединении в видеофайл отображается слово "Licentia", но отдельные изображения невозможно прочитать программой оптического распознавания.
Процесс регистрации
Этот аспект изобретения показан на фиг. 6.
В некоторых вариантах осуществления устройство 1 должно зарегистрироваться прежде, чем оно сможет использоваться совместно с системой настоящего изобретения и небольшим приложением 8, загруженным в целевое устройство 1. Если используемое устройство является мобильным телефоном 1, то процесс обновления происходит автоматически "по воздуху"; если устройство представляет собой стационарный терминал, то программа 8 загружается по фиксированной линии, или в другом варианте программа может быть встроена в устройство на этапе производства и просто обновляется, если требуется.
Чтобы зарегистрировать мобильный телефон 1 в системе пользователю требуется пройти процесс регистрации, включающий следующие шаги:
1. Войти в службу 9 регистрации через веб-интерфейс 10 (например, веб-сайт).
2. Ввести свои персональные данные, например имя, адрес, индекс, модель телефона, адрес электронной почты, номер мобильного телефона. Содержание и тип данных обуславливаются оператором системы и могут отличаться для разных стран в зависимости от приложения, с которым используется система. Регистрационные данные могут уже храниться у оператора, поскольку пользователь может уже являться клиентом, и следовательно остается только загрузить приложение в устройство.
3. Затем на мобильный телефон 1 пересылается ссылка, чтобы пользователь перешел по ней, или приложение 8 просто загружается в телефон. При первом запуске приложение 8 настраивает устройство 1 и загружает дополнительные данные, если необходимо, такие как ключи шифрования. На сервере создается клиентская база данных изображений клавиатуры для зарегистрированного устройства (как показано на фиг. 7).
Чтобы зарегистрировать в системе стационарное устройство, пользователь должен выполнить аналогичный процесс, включающий следующие шаги:
1. Войти в службу 9 регистрации через веб-интерфейс 10.
2. Ввести свои персональные данные, например имя, адрес, почтовый индекс, модель телефона, адрес электронной почты. Также как для мобильного телефона, требуемые данные определяет оператор системы.
3. Затем устройство подключается к серверу через проводную или беспроводную линию связи и при необходимости обновляет внутреннее приложение. Если требуется, загружаются дополнительные данные, такие как ключи шифрования. На сервере также создается клиентская база данных изображений клавиатуры для зарегистрированного устройства (см. фиг. 7).
Рассмотрим фиг. 7. В обоих сценариях, указанных выше, для каждого устройства, зарегистрированного в системе, создается клиентская база (13) данных (или индексный указатель) изображений клавиатуры из главной базы (11) данных. Главная база данных включает изображения клавиатуры, которые сгенерированы специально для зарегистрированной пользователем модели устройства, чтобы обеспечить оптимальное отображение. Затем эта база данных (или индексный указатель) 11 перемешивается 12 случайным образом, чтобы никакие два устройства не имели одинаковый порядок изображений скремблированной клавиатуры, т.е. клавиатура с именем AXF015689.gif может быть в позиции 65894 для одного устройства, но для другого устройства - в позиции 125948. Это также увеличивает безопасность.
Необходимо отметить, что в отдельных вариантах осуществления регистрация пользователя не является обязательной. Это может быть случай, когда программное обеспечение интегрировано в приложение третьей стороны. В таких вариантах осуществления способ регистрации может быть реализован третьей стороной.
Процесс транзакции
Этот аспект изобретения представлен на фиг. 8.
После успешной регистрации пользователя и устройства можно производить транзакции. Аутентификация (запрос PIN-кода) может быть инициирована несколькими способами в зависимости от формы, в которой данная система интегрирована в приложения третьей стороны.
Обычно интегрирование осуществляется третьими лицами, которые:
а) производят устройства для считывания чипа или проведения картой, которые подключаются к мобильному устройству;
b) присылают финансовую информацию и последующий запрос платежа на телефон, например приложения для оплаты платных дорог;
c) предоставляют веб-сайты, которые требуют безопасного ввода PIN-кода для получения доступа к информации при использовании в приложениях, таких как доступ к дистанционному банковскому обслуживанию.
Однако настоящее изобретение не огранивается в этом отношении, и характер обслуживания и ресурсов, предоставляемых третьей стороной, не является ограничивающим признаком настоящего изобретения.
Во всех указанных выше случаях существует общая процедура запуска приложения для ввода PIN-кода, чтобы загрузить и выполнить последующий процесс ввода PIN-кода.
Как только сервером (может называться "компьютеризованный ресурс") получен запрос на изображение, входящее устройство 1 идентифицируется и проходит аутентификацию. В случае успешного выполнения следующее изображение клавиатуры из "Индекса" 13 устройства зашифровывается и передается в устройство 1. Изображения клавиатуры пересылаются последовательно в соответствии с "Индексом 2" устройств, как показано в блоке 13 на фиг. 7 (по порядку сверху вниз), и повторно не используются.
Как только изображение 3 скремблированной клавиатуры получено устройством 1, оно расшифровывается и передается в приложение "Безопасный терминал".
Приложение Безопасный терминал
Этот аспект настоящего изобретения показан на фиг. 9 и 10.
Приложение Безопасный терминал представляет собой программу, которая работает на целевом устройстве/телефоне 1 или стационарном терминале и отвечает за безопасный ввод и передачу введенного пользователем PIN-кода обратно на сервер.
Как указано выше, клавиатура 2 создается в устройстве в виде сетке 3×4. Каждой активной точке присваивается цифровой символ. Затем приложение "закрывает" базовую клавиатуру 2 этим случайным представлением 3 клавиатуры, которое было предварительно сгенерировано и передано в телефон 1. Представление 3 скремблированной клавиатуры генерируется точно по размерам нижней клавиатуры 2 и полностью ее закрывает, как указано выше.
Так, когда пользователь вводит PIN-код 14 с использованием скремблированного представления 3, генерируется другой, закодированный выходной сигнал. В примере ниже, если PIN-код пользователя "6725", то выходом после клавиатуры является "0476". Именно выходной сигнал клавиатуры "0476" шифруется и пересылается обратно в "средство декодирования"сервера.
После того как клавиатура была нажата 4 раза, изображение 3 скремблированной клавиатуры надежно стирается с использованием алгоритма безопасного удаления из защищенной памяти, где оно размещается.
Средство декодирования
Как только центральный сервер ("компьютеризованный ресурс") принимает входящий кодированный и зашифрованный PIN-код от телефона 1, он должен быть преобразован обратно в оригинальный PIN-код пользователя.
Это производится "средством декодирования", которое хранится на отдельном защищенном сервере, предназначенном исключительно для этой цели. Как описывается выше, когда устройство 1 идентифицируется на сервере и запрашивает изображение 3 клавиатуры, то временно сохраняется уникальное имя файла для изображения клавиатуры, которое пересылается в устройство 1. Это имя файла включает порядок клавиш на клавиатуре, например, для изображения клавиатуры, показанного на фиг. 9, имя файла будет "0347152986". Это позволяет записать соответствие между изображением скремблированной клавиатуры и базовой клавиатурой. По причине безопасности изображение 3 скремблированной клавиатуры переименовывается, прежде чем оно будет зашифровано и отправлено в удаленное устройство 1.
Когда зашифрованный PIN-код поступает, это сообщение сначала расшифровывается на базе общего ключа, используемого для данного телефона/устройства (это может быть шифр Triple DES или открытый/личный ключ или любой шифр, который считается подходящим при разработке, в соответствии с телефоном).
После дешифрования сообщения должен быть декодирован кодированный PIN-код, который был сгенерирован при вводе пользователем. Чтобы это осуществить, имя файла изображения клавиатуры, которое было отправлено, копируется во временный массив данных, и затем каждая цифра, которая была сгенерирована при вводе пользователем, заменяется в соответствующей позиции массива, в результате чего выводится фактический PIN-код пользователя.
Для примера, данного выше, где PIN-код пользователя 6725, телефон генерирует и пересылает закодированный PIN-код 0476.
Затем, когда имя файла скремблированной клавиатуры, которая была отправлена, копируется в массив "0347152986", получается:
Для каждой цифры в сгенерированном PIN-коде определяется "позиция массива" и соответствующий "символ имени файла" заменяется.
Первая цифра PIN=0 (GOTO array position 0); первая цифра PIN-кода пользователя = 6.
Вторая цифра PIN=4 (GOTO array position 4); вторая цифра PIN-кода пользователя = 7.
Третья цифра PIN=7 (GOTO array position 7); третья цифра PIN-кода пользователя = 2.
Четвертая цифра PIN=6 (GOTO array position 6); третья цифра PIN-кода пользователя = 5.
После того как процесс декодирования завершен, выводятся "реальные" данные 6725, введенные пользователем. Этот PIN-код затем кодируется с использованием стандартного банковского шифрования и пересылается получателю или банковскому партнеру для обработки. Необходимо отметить, что только в вариантах осуществления, относящихся к финансовой операции, производится дальнейшее шифрование и пересылка получателю.
Данные в дальнейшем могут шифроваться или нет, в зависимости от их характера, и для этого требуется специальное приложение.
Затем для обеспечения безопасности массив данных надежно стирается совместно с другими временными данными.
Необходимо отметить, что в альтернативных вариантах осуществления могут обеспечиваться 12 более мелких рисунков клавиш (один для каждой цифры или активной точки). Телефон или другое устройство конфигурируют для выбора случайной цифры и организации отдельных рисунков в массив 3×4 (таким образом формируя виртуальную клавиатуру по требованию). Но в таких вариантах осуществления существуют потенциальные лазейки в защите, и может быть несколько точек доступа для вредоносной программы, которая может получить PIN-код пользователя (поскольку телефон/устройство должно пересылать случайный номер и порядок цифр клавиатуры назад на сервер). Поэтому такие варианты осуществления подходят для применений, где требуемые уровни безопасности несколько ослаблены.
Следует отметить, что хотя настоящее изобретение описывается для мобильного телефона с сенсорным экраном, другие варианты осуществления могут включать другой тип устройства. Например, в другом варианте осуществления устройство может представлять собой персональный компьютер, ноутбук или планшет. Такой вариант осуществления будет функционировать практически так же, как описывается выше, за исключением того, что поскольку универсальные вычислительные устройства, такие как ПК, как правило не включают вызов стандартной процедуры для генерирования клавиатуры, как мобильные телефоны, зона клавиатуры и активные точки определяются специализированным программным компонентом, работающим в устройстве. Такая программа указывает часть экрана, где создается зона клавиатуры, места для подзон (клавиш) и связанные с ними символы в пределах зоны клавиатуры. Изображение скремблированной клавиатуры отображается в указанном месте так, чтобы обеспечивать способ наложения, как сказано выше. Нижняя клавиатура генерируется на базе такого же (или практически такого же) вызова процедуры, какой используется при реализации смартфонов.
В другом варианте осуществления может предоставляться терминал, сходный с известными терминалами считывания карт, которые используются в сфере розничной торговли. Такой терминал включает сенсорный экран и внутренние компоненты, аналогичные компонентам мобильного телефона. Таким образом, терминал может принимать и передавать данные аналогично телефону, и такой терминал может функционировать в соответствии с настоящим изобретением, как описывается выше для целевого устройства, представляющего собой мобильный телефон.
Таким образом, настоящее изобретение может быть сконфигурировано для использования с множеством компьютеризованных устройств с одинаковым эффектом.
Кроме того настоящее изобретение может быть сконфигурировано так, чтобы включать различные функциональные возможности, которые еще больше повышают безопасность данных пользователя.
Использование водяных знаков
Например, известной проблемой является так называемая "атака через посредника". В настоящем изобретении она может быть решена путем использования функции "водяной знак", чтобы показать пользователю (т.е. продавцу или возможно конечному клиенту), что устройство ввода осуществляет связь с законной стороной (т.е. с соответствующим банком), и что изображение скремблированной клавиатуры передано законной стороной, а не злоумышленником.
Такая функция может быть осуществлена множеством способов. Например, когда продавец регистрируется для использования системы, то он выбирает и сохраняет секретный признак (слово, фраза, номер, имя, изображение и т.д.), который знает только он и доверенная сторона. Затем, когда требуется транзакция, выполняется следующий процесс:
1. Считывается карта клиента
2. Вводится сумма транзакции
3. На терминале отображается экран для ввода PIN-кода.
Когда отображается экран для ввода PIN-кода, коммерсант должен физически проверить, что заранее выбранное секретное слово и т.д., которое он зарегистрировал, отображается на экране прежде, чем передать терминал клиенту для ввода PIN-кода. Это практически тот же принцип, что используется в технологии ssl, когда нужно найти маленький желтый значок замка как подтверждение законности сайта.
При этом ответственность за то, что устройство безопасно связывается с законной стороной, возлагается на коммерсанта. Если отображается признак (водяной знак), отличающийся от того, который ожидает увидеть коммерсант, или признак вообще не отображается, можно предположить, что операция подвергается опасности.
Водяной знак может оставаться на экране, пока пользователь вводит PIN-код. Но предпочтительнее, чтобы он отображался только в течение короткого периода времени (например, в районе нескольких секунд) и затем исчезал, прежде чем его сможет увидеть другой человек, такой как клиент. Если водяной знак видно другому человеку, это позволяет выполнить атаку через посредника. На фиг. 15а показано предварительно сгенерированное изображение панели для ввода PIN-кода, которое является чистым. Система создает новое изображение панели для ввода PIN-кода так, чтобы оно включало секретное слово пользователя "jellybean", затем изображение кодируется и пересылается в устройство. Это показано на фиг. 15b.
При регистрации пользователь может выбрать, где должен отображаться водяной знак, например справа, слева, в центре, вверху, внизу и т.д. Изображение панели с водяным знаком, находящимся в нижнем левом углу, показано на фиг. 15с. В других вариантах может также меняться цвет текста, тип или размер шрифта.
Помимо этого водяной знак не обязательно должен быть в форме текста. В некоторых вариантах осуществления пользователь может загрузить фотографию или другой файл (например, семейное фото или фото магазина и т.д.) с тем, чтобы это фото отображалось в виде фона. Это показано на фиг. 15d.
Функция создания водяных знаков подходит для использования со всеми вариантами осуществления настоящего изобретения, независимо от ситуации, в которой используется настоящее изобретение, или от типа устройства, которое используется для отображения клавиатуры (например, по сети через браузер, через терминал, сконфигурированный для использования с настоящим изобретением, мобильный телефон и т.д.).
Дополнительное шифрование панели для ввода PIN-кода
С целью дальнейшего повышения безопасности системы в настоящем изобретении может применяться один или более способов для того, чтобы усложнить неавторизованной стороне задачу разгадать, распознать или вычислить соответствие между изображением клавиатуры (т.е. панели, которую пользователь использует для ввода PIN-кода), и нижней клавиатурой.
Например, если пользователь выбрал PIN-код, который включает более одной одинаковой цифры (например, 1223), то это может облегчить вычисление взаимосвязи между вводом данных и "нижней" клавиатурой.
Одним из возможных способов преодоления этого является создание более одной нижней клавиатуры. Например, виртуальную клавиатуру можно генерировать для каждого нажатия клавиши. Пример рассматривается ниже.
На фиг. 16а показано изображение скремблированной клавиатуры, а на фиг. 16b показана "нижняя" клавиатура. Если PIN-код пользователя 1111, тогда закодированный PIN-код, пересылаемый обратно на сервер, будет 9999. Это предоставляет потенциальному взломщику исходную точку для попытки вычислить или угадать PIN-код пользователя.
Однако, если вместо одной "нижней" клавиатуры использовать 4 разных нижних клавиатуры, то эта проблема решается. Тогда на целевое устройство (например, терминал, телефон, ПК) пересылается последовательность цифр, и эта последовательность используется целевым устройством для формирования клавиатуры. Для клавиатуры на фиг. 16b, последовательность будет 3156790482. При таком подходе можно генерировать новую клавиатуру для каждого следующего нажатия клавиши.
Таким образом верхняя панель для ввода PIN-кода, как на фиг. 16а, пересылается в целевое устройство в качестве изображения, как описывается выше. Затем 4 цифровые последовательности пересылаются для создания нижней клавиатуры, например, 3156790482, 0746189352, 0347156289, 2581673904. В результате формируются клавиатуры, как показано на фиг. 16b-16е.
Предположим теперь, что пользователь вводит 1111. Тогда вместо 9999 формируется код 9857 и пересылается обратно на сервер для декодирования. Сервер знает, какое изображение скремблированной клавиатуры было передано, а также последовательность цифр, и результирующий закодированный PIN-код оказывается намного более неопределенным, и, следовательно, перехватчику гораздо труднее декодировать его. Процесс декодирования на стороне сервера остается таким же, как изложено выше.
Кроме того, для дальнейшего повышения безопасности при генерировании клавиатуры можно использовать комбинации из символов разного типа, а не одинакового. Например, пересылается последовательность Jg6KrBjoJ6. При этом генерируется нижняя клавиатура, как показано на фиг. 17.
В таком варианте осуществления использование сгенерированных случайным образом строк символов в нижней клавиатуре снижает необходимость "фильтровать" нижние клавиатуры (как описывается выше), чтобы удалить потенциально непригодные клавиатуры, которые могут предоставить злоумышленнику возможные исходные точки для взлома.
Однако в предпочтительном варианте осуществления используются только 1,6m изображений скремблированной (верхней) клавиатуры вместо возможных 3,6m, и по-прежнему выполняется проверка, чтобы гарантировать, что отсутствует совпадение, т.е. один к одному, между наложенной и нижней клавиатурами.
Архитектура уровней системы
На фиг. 19 показан способ, на базе которого настоящее изобретение может быть осуществлено в системе обработки транзакций.
На фиг. 19 представлены следующие компоненты системы или модули:
Device арр: приложение, запущенное на терминале или мобильном телефоне для управления взаимодействием пользователя и потока операций, включая инициирование платежа, взаимодействие со считывателем карт, запрос панели oPinPad (т.е. изображения скремблированной клавиатуры), шифрование введенного кода oPin и пересылку транзакции по сети для авторизации.
Модуль управления OPinPad: модуль автономного приложения, запущенный в защищенном центре сбора данных на выделенном сервере. Он хранит базу данных всех изображений oPinPad TIF и управляет распределением изображений oPinPad TIF по требованию.
Auth Client: модуль автономного приложения, запущенный в защищенном центре сбора данных, возможно на том же сервере, где и модуль управления OPinPad (или в некоторых вариантах осуществления на отдельном выделенном сервере). Он принимает сообщение от устройства и обрабатывает его, чтобы переслать в центр платежей для авторизации.
HPSAM: модуль автономного приложения, запущенный в защищенном центре сбора данных на выделенном сервере. В некоторых вариантах осуществления этот сервер может иметь усиленную защиту по безопасности.
На фиг. 19 используются следующая терминология:
- устройство: платежный терминал или мобильный телефон в месте проведения платежной операции;
- oPin: "скрытый PIN-код" - закодированный PIN-код, который генерируется клавишами нижней клавиатуры устройства; не является фактическим PIN-кодом владельца карты;
- realPin: фактический PIN-код, связанный с картой владельца, который был "заменен" на код oPin до проверки эмитентом карты;
- oPinPad: скремблированная панель для ввода PIN-кода (т.е. изображение скремблированной клавиатуры) - изображение формата TIF, которое предоставляется владельцу карты для ввода PIN-кода, где "клавиши" находятся на перемещенных позициях относительно нижней клавиатуры устройства;
- Массив oPinPad: массив данных, который используется для установления соответствия кода oPin с кодом RealPin, как описывается выше;
- HPSAM: внешний модуль доступа к безопасным платежам;
- HSM: аппаратный модуль системы безопасности;
- картридер: терминал / мобильное устройство, которое включает считыватель карт или соединяется с ним и загружает данные платежной карты клиента;
- Tag: уникальный идентификационный номер, связанный с панелью oPinPad для облегчения последующей обработки;
- ZMK: главный ключ зоны.
С использованием цифровых обозначений на фиг. 19 последовательность операций в рассматриваемой системе выглядит следующим образом:
Необходимо отметить, что рассмотренные выше варианты осуществления поясняют, но не ограничивают настоящее изобретение, и специалист в данной области способен разработать множество других вариантов осуществления в пределах объема изобретения, изложенного в прилагаемой формуле изобретения. В формуле любые ссылочные знаки, помещенные в круглые скобки, не должны истолковываться в качестве ограничения. Слова "включающий" и "включает", а также аналогичные не исключают наличие элементов или шагов, отличающихся от указанных в каком-либо пункте или описании в целом. В настоящем описании "включает" означает содержит или состоит, и "включающий" означает содержащий и состоящий. Ссылка на элемент в единственном числе не исключает ссылку на множество таких элементов и наоборот. Простой факт того, что определенные меры перечислены в различных зависимых пунктах, не указывает, что комбинация этих мер не может быть использована для получения преимуществ.
Изобретение относится к компьютерной безопасности. Технический результат заключается в повышении безопасности во время аутентификации пользователя. Осуществляемый компьютером способ верификации включает предоставление пользователю возможности ввода идентификатора в электронное устройство, включающее экран и рабочую клавиатуру, работающую в пределах зоны клавиатуры на экране, генерируемую во время выполнения программы и включающую множество клавиш, каждая из которых имеет по меньшей мере одно связанное с ней обозначение, а при нажатии пользователем обеспечивает ввод связанного обозначения в упомянутое устройство, путем нажатия по меньшей мере одной клавиши клавиатуры через изображение по меньшей мере части скремблированной клавиатуры, которое отображается по меньшей мере частично в пределах зоны клавиатуры, и которое функционирует как накладка, расположенная поверх клавиатуры так, что, когда пользователь указывает место на изображении, он приводит в действие клавишу клавиатуры, размещенную в этом месте в зоне клавиатуры, для обеспечения закодированной версии данных, введенных пользователем. 9 н. и 45 з.п. ф-лы, 29 ил.
1. Осуществляемый компьютером способ верификации, включающий предоставление пользователю возможности ввода идентификатора в электронное устройство, включающее:
i) экран и
ii) рабочую клавиатуру, работающую в пределах зоны клавиатуры на экране, генерируемую во время выполнения программы и включающую множество клавиш, каждая из которых имеет по меньшей мере одно связанное с ней обозначение, а при нажатии пользователем обеспечивает ввод связанного обозначения в упомянутое устройство,
путем нажатия по меньшей мере одной клавиши клавиатуры через изображение по меньшей мере части скремблированной клавиатуры, которое отображается по меньшей мере частично в пределах зоны клавиатуры, и которое функционирует как накладка, расположенная поверх клавиатуры так, что, когда пользователь указывает место на изображении, он приводит в действие клавишу клавиатуры, размещенную в этом месте в зоне клавиатуры, для обеспечения закодированной версии данных, введенных пользователем.
2. Способ по п. 1, в котором изображение создают электронным способом, включая графическое изображение, оптическое изображение, видео или другую форму визуального представления.
3. Способ по п. 1 или 2, в котором зона клавиатуры представляет собой заданную область или часть экрана, которая занимает весь экран или часть экрана.
4. Способ по п. 1 или 2, включающий также пересылку изображения в упомянутое электронное устройство от удаленно расположенного компьютеризованного ресурса.
5. Способ по п. 4, включающий также пересылку по меньшей мере одной команды в электронное устройство, при этом по меньшей мере одна команда конфигурирована так, чтобы при ее исполнении в устройстве генерировать рабочую клавиатуру.
6. Способ по п. 1 или 2, в котором идентификатор, введенный в устройство, пересылают из электронного устройства на удаленный компьютеризованный ресурс.
7. Способ по п. 6, в котором удаленный компьютеризованный ресурс принимает идентификатор пользователя и обрабатывает его.
8. Способ по п. 1 или 2, в котором изображение скремблированной клавиатуры, отображаемое на устройстве, выбирают из множества изображений скремблированных клавиатур, причем изображения этого множества предпочтительно фильтруют, отбирают или отсеивают некоторым путем перед выбором изображения, например фильтруют это множество так, чтобы гарантировать, что ни одно изображение из этого множества не включает клавиш, которые располагаются на тех же позициях, что и соответствующие клавиши на клавиатуре.
9. Способ по п. 1 или 2, который включает также:
генерирование множества изображений скремблированных клавиатур;
выбор одного изображения из множества; и
пересылку копии выбранного изображения в электронное устройство.
10. Способ по п. 9, включающий также:
удаление из упомянутого множества любого изображения, которое представляет собой скремблированную клавиатуру, имеющую по меньшей мере одну клавишу на той же позиции, что и соответствующая клавиша на базовой клавиатуре.
11. Способ по п. 1 или 2, в котором изображение скремблированной клавиатуры принимается электронным устройством от компьютеризованного ресурса, расположенного удаленно от электронного устройства.
12. Осуществляемый компьютером способ верификации, включающий:
обеспечение электронным устройством рабочей клавиатуры в пределах зоны клавиатуры электронного устройства;
генерирование множества изображений скремблированных клавиатур удаленным компьютерным ресурсом;
удаление из упомянутого множества любого изображения, которое представляет собой скремблированную клавиатуру, имеющую по меньшей мере одну клавишу на той же позиции, что и соответствующая клавиша на рабочей клавиатуре;
выбор изображения скремблированной клавиатуры из упомянутого множества;
пересылку копии выбранного изображения в электронное устройство;
предоставление пользователю возможности ввода идентификатора путем нажатия по меньшей мере одной клавиши рабочей клавиатуры через изображение скремблированной клавиатуры, которое отображается по меньшей мере частично в пределах зоны клавиатуры;
пересылка идентификатора, введенного в электронное устройство, от электронного устройства в удаленный компьютерный ресурс для обработки и сравнения обработанного идентификатора с сохраненной версией идентификатора пользователя.
13. Способ по п. 12, в котором при нажатии пользователем клавиши рабочей клавиатуры через изображение скремблированной клавиатуры генерируют закодированную версию данных, введенных пользователем.
14. Способ по п. 12 или 13, в котором изображения скремблированной клавиатуры создают электронным способом, включая графическое изображение, оптическое изображение, видео или другую форму визуального представления.
15. Способ по п. 12 или 13, в котором зона клавиатуры представляет собой заданную область или часть экрана, которая занимает весь экран или часть экрана.
16. Способ по п. 12 или 13, в котором изображение скремблированной клавиатуры отображают в пределах зоны клавиатуры так, что, когда пользователь касается, щелкает или другим способом указывает место на изображении скремблированной клавиатуры, клавишу рабочей клавиатуры в этом месте активируют, чтобы обеспечить закодированную версию данных, введенных пользователем.
17. Способ по п. 12 или 13, в котором изображение скремблированной клавиатуры отображают так, что оно занимает точно зону клавиатуры, полностью или частично.
18. Способ по п. 12 или 13, в котором изображение скремблированной клавиатуры отображают так, что пользователю кажется, что изображение скремблированной клавиатуры является рабочей клавиатурой с клавишами, расположенными в измененном порядке или измененной конфигурации относительно рабочей клавиатуры электронного устройства.
19. Способ по п. 12 или 13, в котором изображение скремблированной клавиатуры функционирует как маска или накладка, расположенная поверх рабочей клавиатуры так, что, когда пользователь касается, щелкает или другим способом указывает место на изображении скремблированной клавиатуры, он приводит в действие клавишу рабочей клавиатуры, размещенную в этом месте в зоне клавиатуры.
20. Способ по п. 12 или 13, в котором зона клавиатуры является частью экрана, которая назначена в качестве области отображения клавиатуры прежде, чем пользователь вводит идентификатор.
21. Способ по п. 12 или 13, в котором зона клавиатуры и/или изображение скремблированной клавиатуры остается в фиксированном положении на экране во время ввода идентификатора пользователя.
22. Способ по п. 12 или 13, в котором идентификатор является персональным идентификационным кодом или персональным идентификационным номером.
23. Способ по п. 12 или 13, в котором изображение скремблированной клавиатуры представляет собой или изображает скремблированную клавиатуру, имеющую по меньшей мере одну клавишу, позиция или конфигурация которой изменена относительно расположения клавиш базовой клавиатуры.
24. Способ по п. 23, в котором все клавиши, показанные на изображении скремблированной клавиатуры, имеют измененные позиции или измененный порядок относительно клавиш рабочей клавиатуры.
25. Способ по п. 12 или 13, в котором пользователю обеспечивают возможность ввести идентификатор путем взаимодействия с экраном, например путем касания части экрана и/или выбора области экрана, с использованием указательного устройства, такого как мышь или трекбол.
26. Способ по п. 12 или 13, в котором зона клавиатуры включает множество подзон или "активных точек", где каждая подзона соответствует клавише рабочей клавиатуры.
27. Способ по п. 26, в котором изображение скремблированной клавиатуры предоставляют пользователю так, что позиция по меньшей мере одной клавиши на изображении скремблированной клавиатуры соответствует позиции подзоны, в результате чего обеспечивается соответствие между клавишами скремблированной клавиатуры на изображении и множеством подзон.
28. Способ по п. 12 или 13, в котором конфигурацию или порядок клавиш на клавиатуре изменяют после того, как была введена по меньшей мере часть идентификатора пользователя.
29. Способ по п. 12 или 13, в котором в электронном устройстве формируют закодированную версию идентификатора пользователя из множества нажатий клавиш, активированных на рабочей клавиатуре в ответ на щелчок, касание или другое указание, сделанное пользователем в отношении изображения скремблированной клавиатуры на экране.
30. Способ по п. 12 или 13, в котором идентификатор обрабатывают на базе сохраненной формы или версии конфигурации клавиш на изображении скремблированной клавиатуры.
31. Способ по п. 30, в котором сохраненная форма или версия конфигурации клавиш представляет собой имя файла.
32. Способ по 31, в котором обработка включает использование сохраненной формы или версии конфигурации клавиш, чтобы получить декодированную версию идентификатора, введенного пользователем.
33. Способ по п. 30, в котором считают, что данные пользователя верифицированы, если обработанный идентификатор соответствует сохраненной версии идентификатора.
34. Способ по п. 12 или 13, включающий также:
удаление по меньшей мере одного изображения из множества до выполнения выбора.
35. Способ по п. 12 или 13, включающий также:
удаление выбранного изображения из упомянутого множества после пересылки его копии в электронное устройство.
36. Способ по п. 12 или 13, в котором позиции всех клавиш на изображении скремблированной клавиатуры остаются неизменными относительно друг друга во время ввода идентификатора пользователя.
37. Способ по п. 12 или 13, в котором символ по меньшей мере на одной клавише изображения скремблированной клавиатуры затенен или замаскирован, по крайней мере частично, но остается читаемым для пользователя.
38. Способ по п. 12 или 13, в котором электронное устройство представляет собой мобильный телефон, ПК, планшет, ноутбук, КПК, терминал считывания карт или мобильный телефон в таком корпусе, что он сходен с устройством считывания карт, устройство ePOS или другое электронное устройство с функциями осуществления связи.
39. Способ по п. 12 или 13, в котором изображение скремблированной клавиатуры отображают через веб-браузер или приложение, встроенное в браузер, или автономное программное приложение и/или приложение, обеспечивающее графический интерфейс пользователя, чтобы предоставить пользователю возможность взаимодействовать с экраном.
40. Способ по п. 12 или 13, включающий также:
доставку пользователю индикатора для подтверждения того, что изображение скремблированной клавиатуры предоставлено законным источником.
41. Способ по п. 40, в котором индикатор представляет собой звуковую индикацию, визуальную индикацию, текстовое сообщение, изображение, видео, звук, водяной знак, вибрацию или другую тактильную информацию.
42. Способ по п. 40, в котором индикатор выбран пользователем.
43. Способ по п. 12 или 13, в котором позицию зоны клавиатуры на экране и/или ее размеры задают посредством вызова процедуры или способа.
44. Способ по п. 12 или 13, в котором упомянутое изображение скремблированной клавиатуры и/или упомянутая рабочая клавиатура включает цифры, буквы, символы или другие обозначения, или их комбинацию.
45. Способ по п. 12 или 13, в котором изображение скремблированной клавиатуры стирают из электронного устройства после ввода данных пользователем или после заданного периода времени.
46. Способ по п. 12 или 13, в котором введенный пользователем идентификатор проверяют, чтобы управлять доступом к ресурсу, такому как финансовый ресурс, устройство, здание, электронный ресурс, медицинский ресурс, источник информации или данных или компьютеризованный ресурс.
47. Способ по п. 12 или 13, включающий также:
пересылку по меньшей мере одной команды в электронное устройство, при этом по меньшей мере одна команда конфигурирована так, чтобы при ее исполнении в устройстве генерировать рабочую клавиатуру.
48. Осуществляемый компьютером способ верификации заранее сохраненного персонального идентификационного кода (PIC), при этом данный способ включает:
- генерирование множества представлений клавиатуры;
- пересылку выбранного представления клавиатуры в удаленное устройство для представления пользователю, чтобы обеспечить пользователю возможность ввести код PIC с использованием этого представления;
- прием закодированной версии введенного кода PIC от удаленного устройства;
- декодирование закодированной версии для получения декодированной версии введенного кода PIC;
- сравнение декодированной версии введенного кода PIC с заранее сохраненным кодом PIC; и
при этом представление клавиатуры выбирают из упомянутого множества представлений после его фильтрации отбора или отсева в соответствии с по меньшей мере одни критерием, например фильтрация множества так, чтобы гарантировать, что ни одно представление из множества не включает клавиш, которые находятся в той же позиции, что и соответствующая клавиша на рабочей клавиатуре.
49. Осуществляемый компьютером способ верификации заранее сохраненного персонального идентификационного кода (PIC), при этом данный способ включает:
- прием представления клавиатуры от удаленно расположенного компьютеризованного ресурса;
- отображение представления клавиатуры для пользователя, чтобы обеспечить пользователю возможность ввести код PIC с использованием этого представления;
- генерирование закодированной версии введенного кода PIC;
- пересылку закодированной версии введенного кода PIC на компьютеризованный ресурс для декодирования, чтобы сравнить декодированную версию введенного кода PIC с заранее сохраненным кодом PIC;
при этом представление клавиатуры выбирают из упомянутого множества представлений после его фильтрации отбора или отсева в соответствии с по меньшей мере одни критерием, например фильтрация множества так, чтобы гарантировать, что ни одно представление из множества не включает клавиш, которые находятся в той же позиции, что и соответствующая клавиша на рабочей клавиатуре.
50. Осуществляемый компьютером способ верификации заранее сохраненного персонального идентификационного кода (PIC), при этом данный способ включает:
- использование компьютеризованного ресурса для генерирования множества представлений клавиатуры;
- пересылку выбранного представления в удаленное устройство;
- отображение представления для пользователя посредством удаленного устройства так, чтобы обеспечить пользователю возможность ввести код PIC с использованием этого представления;
- пересылку закодированной версии введенного кода PIC из удаленного устройства на компьютеризованный ресурс;
- использование компьютеризованного ресурса для декодирования закодированной версии, чтобы получить декодированную версию введенного кода PIC и сравнить ее с заранее сохраненным кодом PIC;
при этом представление клавиатуры выбирают из упомянутого множества представлений после его фильтрации отбора или отсева в соответствии с по меньшей мере одним критерием, например фильтрация множества так, чтобы гарантировать, что ни одно представление из множества не включает клавиш, которые находятся в той же позиции, что и соответствующая клавиша на рабочей клавиатуре.
51. Осуществляемый компьютером способ верификации заранее сохраненного персонального идентификационного кода (PIC), при этом данный способ включает:
- генерирование изображения клавиатуры, при этом позиция по меньшей мере одного обозначения на изображении отличается от позиции соответствующего обозначения на рабочей клавиатуре;
- пересылку упомянутого изображения в удаленное устройство для представления пользователю, чтобы обеспечить пользователю возможность ввести код PIC путем нажатия по меньшей мере одной клавиши рабочей клавиатуры через упомянутое изображение, при этом:
клавиатура генерируется удаленным устройством во время выполнения программы и включает множество клавиш, каждая из которых имеет по меньшей мере одно обозначение, связанное с ней, а при выборе обеспечивает ввод связанного обозначения в электронное устройство; и
изображение функционирует как накладка, расположенная поверх клавиатуры так, что, когда пользователь указывает место на изображении, он приводит в действие клавишу клавиатуры, размещенную в этом месте в зоне клавиатуры, для обеспечения закодированной версии данных, введенных пользователем;
- прием закодированной версии введенного кода PIC от удаленного устройства;
- декодирование закодированной версии для получения декодированной версии введенного кода PIC;
- сравнение декодированной версии введенного кода PIC с заранее сохраненным кодом PIC.
52. Осуществляемый компьютером способ верификации заранее сохраненного персонального идентификационного кода (PIC), при этом данный способ включает:
- генерирование рабочей клавиатуры электронным устройством во время выполнения программы, при этом упомянутая клавиатура включает множество клавиш, каждая из которых имеет по меньшей мере одно связанное с ней обозначение, а при выборе обеспечивает ввод связанного обозначения в упомянутое устройство;
- прием изображения клавиатуры от удаленно расположенного компьютеризованного ресурса, при этом позиция по меньшей мере одного обозначения на этом изображении отличается от позиции соответствующего обозначения на клавиатуре;
- отображение изображения клавиатуры для пользователя, чтобы обеспечить пользователю возможность ввести код PIC в электронное устройство путем нажатия по меньшей мере одной клавиши клавиатуры через изображение; при этом:
изображение функционирует как накладка, расположенная поверх клавиатуры так, что, когда пользователь указывает место на изображении, он приводит в действие клавишу клавиатуры, размещенную в этом месте в зоне клавиатуры, для обеспечения закодированной версии данных, введенных пользователем;
- генерирование закодированной версии введенного кода PIC;
- пересылку закодированной версии введенного кода PIC в компьютерный ресурс для декодирования для обеспечения возможности сравнения декодированной версии введенного кода PIC с заранее сохраненным кодом PIC.
53. Осуществляемый компьютером способ верификации заранее сохраненного персонального идентификационного кода (PIC), при этом данный способ включает:
- генерирование рабочей клавиатуры электронным устройством во время выполнения программы, при этом упомянутая клавиатура включает множество клавиш, каждая из которых имеет по меньшей мере одно связанное с ней обозначение, а при выборе обеспечивает ввод связанного обозначения в упомянутое устройство;
- использование компьютеризованного ресурса для генерации изображения клавиатуры, при этом позиция по меньшей мере одного обозначения на изображении отличается от позиции соответствующего обозначения на клавиатуре;
- пересылку упомянутого изображения в электронное устройство;
- отображение упомянутого изображения для пользователя электронным устройством, чтобы обеспечить пользователю возможность ввести код PIC с использованием упомянутого изображения; при этом:
изображение функционирует как накладка, расположенная поверх клавиатуры так, что, когда пользователь указывает место на изображении, он приводит в действие клавишу клавиатуры, размещенную в этом месте в зоне клавиатуры, для обеспечения закодированной версии данных, введенных пользователем;
- пересылку закодированной версии введенного кода PIC от электронного устройства в компьютерный ресурс;
- использование компьютерного ресурса для декодирования закодированной версии для предоставления декодированной версии введенного кода PIC и для сравнения декодированной версии введенного кода PIC с заранее сохраненным кодом PIC.
54. Компьютерная система, выполненная и сконфигурированная для осуществления способа по любому из предыдущих пунктов.
Авторы
Даты
2017-12-21—Публикация
2013-07-17—Подача