СПОСОБ И АППАРАТ ДЛЯ БЕЗОПАСНОГО СЕНСОРНОГО ВВОДА
METHOD AND DEVICE FOR SECURE SENSORY INPUT

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[1] Настоящее изобретение относится в общем случае к способу и аппарату для безопасного сенсорного ввода, а более конкретно, к способу и аппарату, которые обеспечивают защиту информации, вводимой через сенсорный экран.
УРОВЕНЬ ТЕХНИКИ
[2] С усовершенствованием технологий связи электронные устройства, имеющие блоки беспроводной связи, могут посылать и принимать информацию различного типа к и от множества серверов в сети Интернет. В частности, по многим причинам покупки через Интернет стали обычной частью жизни. Для покупки товара через Интернет может потребоваться, чтобы покупатель, использующий электронное устройство, выполнил процедуру электронной оплаты. Для электронной оплаты покупатель может посылать код личного идентификационного номера (PIN), соответствующий кредитной карте или счету в банке, на соответствующий сервер сети. В последние годы, поскольку увеличивающееся количество электронных устройств, включающих в себя сенсорные панели, которые предоставляют возможность простого ввода, пользователи все чаще вводят PIN-коды через сенсорные панели. Электронное устройство, выполняющее процедуру электронной оплаты, может отображать виртуальную клавиатуру для ввода PIN-кода на сенсорном экране.
[3] Воровство PIN-кодов другими людьми может наносить серьезный финансовый вред пользователям или покупателям. К сожалению, поскольку системы электронной оплаты стали популярными, количество попыток взлома PIN-кодов также увеличилось.
[4] В настоящее время программа взлома PIN-кода, работающая на электронном устройстве, может устанавливать PIN-код из расположения касаемых цифровых клавиш клавиатуры, отображаемой на сенсорной панели, из сенсорных сигналов, сгенерированных с помощью сенсорной панели, или из их комбинации.
[5] Для предотвращения такого взлома существует потребность в способе обеспечения безопасности по отношению к вводу PIN-кода через сенсорную панель.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Техническая проблема
[6] Настоящее изобретение направлено на решение, по меньшей мере, вышеописанных проблем и обеспечения, по меньшей мере, описанных ниже преимуществ. Соответственно, настоящее изобретение обеспечивает способ и аппарат обеспечения безопасности, которые предотвращают утечку информации, вводимой через сенсорную панель.
Решение проблемы
[7] В соответствии с вариантом осуществления настоящего изобретения обеспечен аппарат для безопасного сенсорного ввода. Аппарат включает в себя безопасный буфер наложения кадра для визуализации первого экрана; небезопасный буфер наложения кадра для визуализации второго экрана; блок отображения для вывода экрана безопасного ввода; и блок управления для управления блоком отображения для отображения первого экрана в качестве наложения сверху второго экрана для создания экрана безопасного ввода.
[8] В соответствии с другим вариантом осуществления настоящего изобретения обеспечен способ безопасного сенсорного ввода. Способ включает в себя визуализацию первого экрана в безопасном «мире»; визуализацию второго экрана в небезопасном «мире»; и вывод экрана безопасного ввода с помощью отображения первого экрана в качестве наложения сверху второго экрана.
[9] В соответствии с другим аспектом настоящего изобретения обеспечен аппарат для безопасного сенсорного ввода. Аппарат включает в себя сенсорный экран, имеющий сенсорную панель и блок отображения; безопасное запоминающее устройство для хранения модуля безопасности ввода кода личного идентификационного номера (PIN); небезопасное запоминающее устройство для хранения программы пользовательского интерфейса (UI) PIN и агента; и блок управления, управляющий сенсорным экраном, безопасным запоминающим устройством и небезопасным запоминающим устройством, в котором программа UI PIN посылает запрос безопасного ввода-вывода (I/O) к агенту в ответ на пользовательский ввод, агент инициирует модуль безопасности ввода PIN-кода в ответ на запрос безопасного I/O, и модуль безопасности ввода PIN-кода устанавливает атрибут безопасности сенсорной панели в «безопасно», предписывает безопасному буферу наложения кадра визуализировать экран клавиатуры, принимает сенсорный ввод от сенсорной панели, атрибут безопасности которой установлен в «безопасно», и направляет принятый сенсорный ввод к программе UI PIN или к устройству обработки сенсорного ввода.
ПОЛЕЗНЫЙ ЭФФЕКТ ИЗОБРЕТЕНИЯ
[10] Настоящее изобретение обеспечивает способ безопасности и аппарат, которые предотвращают утечку информации, вводимой через сенсорный экран.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[11] Особенности и преимущества настоящего изобретения будут более очевидными из последующего подробного описания вместе с сопроводительными чертежами, на которых:
[12] фиг. 1 - схема, показывающая мобильный терминал для обеспечения безопасности согласно варианту осуществления настоящего изобретения;
[13] фиг. 2A - структурная схема, показывающая архитектуру аппаратных средств для обеспечения безопасности в устройстве согласно варианту осуществления настоящего изобретения;
[14] фиг. 2B - структурная схема, показывающая мобильный терминал согласно варианту осуществления настоящего изобретения;
[15] фиг. 3 - последовательность операций, показывающая процедуру безопасного ввода через сенсорный экран согласно другому варианту осуществления настоящего изобретения;
[16] фиг. 4A - схема, показывающая архитектуру программных средств, поддерживающую процедуру на фиг. 3 согласно варианту осуществления настоящего изобретения;
[17] фиг. 4B - схема, показывающая другую архитектуру программных средств, поддерживающую процедуру на фиг. 3 согласно варианту осуществления настоящего изобретения;
[18] фиг. 5 - схема, показывающая экран сенсорного ввода согласно варианту осуществления настоящего изобретения; и
[19] фиг. 6 - схема, показывающая другой экран сенсорного ввода согласно варианту осуществления настоящего изобретения.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
[20] В дальнейшем варианты осуществления настоящего изобретения описаны подробно со ссылкой на сопроводительные чертежи. Одинаковые ссылочные символы могут использоваться по всем чертежам для ссылки к одинаковым или аналогичным частям. Подробные описания известных функций и структур, внедренных в данную работу, могут быть опущены, чтобы избежать затруднения понимания предмета настоящего изобретения.
[21] Безопасный «мир» и обычный (небезопасный) «мир» согласно вариантам осуществления настоящего изобретения описаны следующим образом.
[22] Варианты осуществления настоящего изобретения используют вычислительные ресурсы. Специалисту должно быть понятно, что вычислительные ресурсы охватывают широкое разнообразие объектов. Например, вычислительные ресурсы могут включать в себя (i) аппаратные средства в форме, например, процессоров, специализированных интегральных схем (ASIC), памяти/запоминающих блоков, периферийных устройств, линий прерывания, трактов сигнала, шин данных/адреса/управления и т.п.; (ii) программное обеспечение и/или встроенное программное обеспечение в форме, например, операционных систем, прикладных программ и т.п.; и (iii) другие ресурсы, такие как сохраненные данные и/или файлы.
[23] В описании и формуле изобретения настоящего описания «мир» относится к определенной среде/режиму/состоянию/области с использованием конкретного набора вычислительных ресурсов. Кроме того, «безопасный мир» и «небезопасный мир» относятся к соответствующим рабочим областям, отличающимся по уровню защиты, заданной вычислительным ресурсам, воплощающим эти рабочие области. В данном случае «защита» означает защиту от взлома (например, в форме несанкционированного доступа и/или модификации и/или незаконных действий с вычислительными ресурсами) с помощью одной или большего количества функций безопасности.
[24] Например, «безопасный мир» может относиться к рабочей области, которая состоит из конкретных вычислительных ресурсов, имеющих первый уровень защиты (например, по меньшей мере, некоторые из вычислительных ресурсов защищены с помощью одной или большего количества функций безопасности). С другой стороны «небезопасный мир» может относиться к рабочей области, которая состоит из определенных вычислительных ресурсов, имеющих второй уровень защиты (например, меньшее количество, или ни один из вычислительных ресурсов не защищен с помощью функций безопасности), причем первый уровень защиты выше второго уровня защиты.
[25] Специалисту должно быть понятно, что существует множество функций безопасности, которые могут использоваться для защиты вычислительных ресурсов от взлома, например, в форме несанкционированного доступа и/или модификации и/или незаконных действий с вычислительными ресурсами. Например, функции безопасности могут включать в себя: схемы шифрования, аутентификации и/или проверки подлинности; механизмы для изоляции (физически и/или логически) компонентов, используя аппаратные средства и/или программное обеспечение; хранение программного обеспечения и/или встроенного программного обеспечения и/или данных и/или файлов в областях защищенной памяти или неизменяемой памяти (такой как ПЗУ или однократно программируемая память); выполнение процессоров и других компонент в безопасном режиме; маскировка линий прерывания и другой межкомпонентной сигнализации; и т.п.
[26] Специалисту должно быть понятно, что различные вычислительные ресурсы могут использоваться в безопасном «мире» и небезопасном «мире», и что определенный вычислительный ресурс может использоваться и в безопасном «мире», и в небезопасном «мире», например, с помощью переключения между безопасным режимом и небезопасным режимом, или с помощью разделения определенного вычислительного ресурса (например, ресурса памяти или процессора) на безопасные и небезопасные части. Специалисту также должно быть понятно, что вся система может включать в себя одновременно и безопасный «мир», и небезопасный «мир».
[27] В безопасном «мире» (аналогично безопасному состоянию или безопасной области), безопасные прикладные программы выполняются поверх безопасной операционной системы. Безопасные прикладные программы получают доступ к безопасным данным. Безопасные прикладные программы хранятся в безопасном запоминающем блоке, изолированном с помощью аппаратных и программных механизмов. Поскольку емкость безопасного запоминающего блока ограничена разработкой систем, безопасная прикладная программа разработана так, чтобы она имела небольшой размер, так, чтобы она могла поддерживать только основные функции. Безопасные данные включают в себя информацию, хранящуюся в безопасном «мире», и безопасные сигналы, сгенерированные с помощью периферийных устройств.
[28] В небезопасном (обычном) «мире» обеспечивается небезопасная операционная система и небезопасные прикладные программы. Небезопасная операционная система является стандартной операционной системой, поддерживающей все операции мобильного терминала или другого устройства, и небезопасная прикладная программа является обычной прикладной программой. Небезопасной прикладной программе, работающей в небезопасном «мире», запрещено получать доступ к безопасным данным. В частности, когда программа взлома выполняется в небезопасном «мире», программа взлома не может получать доступ к безопасным данным или процессу, работающему в безопасном «мире». Согласно вариантам осуществления настоящего изобретения, поскольку сенсорный ввод обрабатывается в безопасном «мире», обеспечивается высокий уровень безопасности.
[29] Безопасный «мир» и небезопасный «мир» поддерживаются с помощью архитектуры безопасной обработки, основанной на технологии TrustZone компании ARM Holdings, но другие технологии могут использоваться в соответствии с вариантами осуществления настоящего изобретения. Согласно вариантам осуществления настоящего изобретения безопасность обеспечивается с использованием и безопасного «мира», и небезопасного «мира».
[30] Краткий обзор настоящего изобретения обеспечен со ссылкой на фиг. 1. Фиг. 1 - схема, показывающая мобильный терминал для обеспечения безопасности согласно варианту осуществления настоящего изобретения.
[31] Ссылаясь на фиг. 1, вариант осуществления настоящего изобретения включает в себя мобильный терминал 100, имеющий сенсорный экран 120, который включает в себя сенсорную панель. Мобильный терминал 100 является смартфоном согласно настоящему примеру, но может быть терминалом другого типа в соответствии с вариантами осуществления настоящего изобретения.
[32] Мобильный терминал 100 согласно варианту осуществления настоящего изобретения обеспечивает безопасность ввода информации через сенсорный экран 120, в котором по меньшей мере один из экрана ввода и сигнала сенсорного ввода является безопасным.
[33] В частности, когда мобильный терминал 100 выводит определенные экраны на сенсорном экране 120, он визуализирует в отдельных «мирах» (то есть в безопасном и в небезопасном «мирах») экраны, которые будут накладываться. В частности, мобильный терминал 100 визуализирует безопасный экран 10 в безопасном «мире» и визуализирует небезопасный экран 20 в небезопасном «мире». Мобильный терминал 100 отображает безопасный экран 10 на небезопасном экране 20 в форме наложения. В одном примере согласно варианту осуществления настоящего изобретения безопасный экран 10 является экраном, на котором отображается виртуальная клавиатура ввода. В данном случае клавиатура ввода может быть клавиатурой, имеющей алфавитно-цифровые и специальные клавиши, или площадкой для рисования линий и изображений.
[34] Следовательно, программа взлома, работающая в небезопасном «мире», не может получать доступ по меньшей мере к одному из информационного и сенсорного сигнала, отображаемого на безопасном экране 10. Для программы взлома трудно предсказать информацию, вводимую через сенсорный экран 120. В результате варианты осуществления настоящего изобретения могут способствовать предотвращению воровства информации, вводимой через сенсорный экран 120.
[35] Варианты осуществления настоящего изобретения могут воплощаться в связи с любыми прикладными программами, требующими PIN-кода, такими как программы электронной оплаты, программы блокирования для терминалов и программы блокирования доступа, используемые по отношению к определенным прикладным программ. Варианты осуществления настоящего изобретения могут также воплощаться в связи с любыми прикладными программами, требующими алфавитно-цифрового ввода, такими как программы обработки документов и программы обработки сообщений. Далее процесс ввода PIN-кода для электронной оплаты согласно варианту осуществления настоящего изобретения описан следующим образом.
[36] Мобильный терминал согласно варианту осуществления настоящего изобретения может быть любым электронным устройством, имеющим сенсорный экран и имеющим возможность поддержки безопасного «мира» и небезопасного «мира». Например, мобильный терминал может быть небольшим переносным устройством или электронным прибором, таким как сотовый телефон, переносной медиаплеер, цифровой бытовой радиоприемник, карманный персональный компьютер, аудиоплейер, такой как плеер экспертной группы по вопросам движущихся изображений (MPEG) аудио уровня 3 (MP3), переносная игровая приставка, планшетный компьютер, смартфон, автомобильная навигационная система, телевизор, холодильник, стиральная машина и т.д.
[37] Фиг. 2A - структурная схема, показывающая аппаратную конфигурацию согласно варианту осуществления настоящего изобретения.
[38] Ссылаясь на фиг. 2A, аппаратная конфигурация может включать в себя систему на чипе (SoC), основанную на архитектуре TrustZone ARM Holdings, и периферийные устройства, подключенные к SoC.
[39] SoC включает в себя основной процессор 210, безопасное постоянное запоминающее устройство (ПЗУ) 221, безопасную оперативную память (ОП) 223, криптографическое средство 225, TZASC (контроллер адресного пространства TrustZone) 231, контроллер 233 памяти, динамическую ОП (DRAM) 235, контроллер защиты TrustZone (TZPC) 241 и контроллер прерываний TrustZone (TZIC) 243. Компоненты SoC взаимосвязаны для осуществления связи через системную шину, такую как шина 245 усовершенствованного расширяемого интерфейса (AXI).
[40] Основной процессор 210 обеспечивает среду выполнения приложения, включающую в себя отдельные безопасный и небезопасный «миры». Для достижения этого, основной процессор 210 включает в себя безопасный основной процессор 211 и небезопасный основной процессор 213. В данном случае безопасный основной процессор 211, который является виртуальным процессором, обеспечивает безопасный «мир», а небезопасный основной процессор 213, который также является виртуальным процессором, обеспечивает небезопасный «мир».
[41] Безопасное ПЗУ 221 и безопасная ОП 223 изолированы с помощью аппаратных и программных механизмов. Безопасное ПЗУ 221 и безопасная ОП 223 хранят безопасную операционную систему и безопасные прикладные программы и связанные с ними безопасные данные.
[42] Криптографическое средство 225 выполняет криптографические задачи, основываясь на криптографических алгоритмах.
[43] TZASC 231 управляет областями памяти, которые включает в себя DRAM 235. TZASC 231 управляет безопасностью области памяти с конкретными адресами. Например, TZASC 231 может устанавливать атрибут безопасности заданной области памяти DRAM 235 в «безопасно». Позже, когда небезопасный основной процессор 213 пытается получить доступ к области памяти DRAM 235, чей атрибут безопасности установлен в «безопасно», TZASC 231 отклоняет попытку доступа. TZASC 231 предоставляет возможность безопасному основному процессору 211 получать доступ к области памяти, атрибут безопасности которой установлен в «безопасно».
[44] В одном примере согласно варианту осуществления настоящего изобретения DRAM 235 оборудована безопасным буфером наложения кадра и небезопасным буфером наложения кадра. Безопасный буфер наложения кадра имеет атрибут безопасности, установленный в «безопасно» с помощью TZASC 231 и доступный в безопасном «мире». Небезопасной прикладной программе не разрешают получать доступ к безопасному буферу наложения кадра. В настоящем примере согласно варианту осуществления настоящего изобретения небезопасная программа не может идентифицировать схему размещения или элементы безопасного экрана, который визуализируется в безопасном буфере наложения кадра. Следовательно, даже если произошла утечка информации, указывающей расположение сенсорных вводов, обеспечивается защита информации о размещении элементов по отношению к безопасному экрану. Обои, отображаемые позади безопасного экрана, могут визуализироваться в небезопасном буфере наложения кадра DRAM 235, чей атрибут безопасности не установлен.
[45] Контроллер 233 памяти выполняет перемещение данных в пределах DRAM 235.
[46] TZPC 241 устанавливает атрибут безопасности периферийных блоков для управления доступом основного процессора 210 к периферийным блокам. В частности, TZPC 241 может устанавливать атрибут безопасности сенсорного экрана 120 в «безопасно». Сенсорный экран 120, чей атрибут безопасности установлен в «безопасно», недоступен из небезопасного «мира». Это описано позже по отношению к мосту 250 AXI к расширенной периферийной шине (APB) (AXI2APB).
[47] TZIC 243 устанавливает атрибуты безопасности линий прерывания. В частности, TZIC 243 устанавливает атрибут безопасности линии прерывания, подключенной к сенсорной панели 123. Например, пользователь может вводить сенсорный ввод в сенсорную панель 123 для предоставления необходимой информации, рассматривая безопасный экран, выводимый на блоке 121 отображения. Когда ввод генерируется на сенсорной панели 123, TZIC 243 обеспечивает безопасность соответствующего сигнала прерывания. Затем безопасный сигнал прерывания может обрабатываться с помощью безопасного основного процессора 211. Следовательно, сигнал прерывания, соответствующий контакту с сенсорным экраном 120, безопасно обрабатывается с помощью TZIC 243, и принимается безопасным основным процессором 211, и информация, которую переносит сигнал прерывания, идентифицируется. Кроме того, TZIC 243 управляет источником (то есть сенсорной панелью 123) безопасного сигнала прерывания, который будет замаскирован от небезопасного контроллера прерывания. Когда сигнал прерывания, соответствующий пользовательскому вводу касания, сгенерирован на сенсорной панели 123, небезопасный контроллер прерывания не доставляет сигнал прерывания небезопасному основному процессору 213. Следовательно, небезопасный основной процессор 213 не знает информацию, вводимую пользователем, и вводимая информация не может использоваться программой взлома.
[48] Большинство периферийных блоков связано через APB. Сенсорный экран 120, включающий в себя блок 121 отображения и сенсорную панель 123, является примером периферийных блоков.
[49] Связь между SoC и периферийными блоками 260 выполняется через мост 250 AXI2APB. Мост 250 AXI2APB может осуществлять арбитраж доступа компонентов SoC на периферийные блоки 260. Мост 250 AXI2APB знает о периферийных блоках 260, чей атрибут безопасности установлен в «безопасно». Когда попытка доступа из небезопасного «мира» выполняется к периферийному блоку 260, чей атрибут безопасности установлен в «безопасно», мост 250 AXI2APB отклоняет попытку доступа. Например, TZPC 241 может устанавливать атрибут безопасности сенсорного экрана 120 в «безопасно». Небезопасный основной процессор 213, выполняющий программу взлома, может помещать запрос о доступе к сенсорному экрану 120 на шине AXI 245. В ответ на запрос о доступе к сенсорному экрану 120 от небезопасного основного процессора 213, мост 250 AXI2APB проверяет атрибут безопасности сенсорного экрана 120. Когда атрибут безопасности сенсорного экрана 120 установлен в «безопасно», мост 250 AXI2APB отклоняет запрос доступа. Следовательно, мост 250 AXI2APB препятствует тому, чтобы небезопасная программа получила доступ к сенсорному экрану 120 для похищения информации. Мост 250 AXI2APB может предоставлять возможность только безопасному основному процессору 211 помещать запрос об информации на сенсорном экране 120.
[50] Фиг. 2B - структурная схема, показывающая мобильный терминал согласно варианту осуществления настоящего изобретения.
[51] Ссылаясь на фиг. 2B, мобильный терминал 100 включает в себя блок 110 беспроводной связи, сенсорный экран 120, блок 140 хранения и блок 160 управления. Хотя не показано на фиг. 2B, мобильный терминал 100 может дополнительно включать в себя другие элементы, такие как блок клавишного ввода и звуковой процессор.
[52] Блок 110 беспроводной связи устанавливает каналы связи для голосового вызова, видео вызова и вызова передачи данных под управлением блока 160 управления. В частности, блок 110 беспроводной связи устанавливает канал передачи данных на сервер сети или другой мобильный терминал и посылает информацию ввода касания, такую как личная информация пользователя, через канал передачи данных.
[53] Сенсорный экран 120 включает в себя блок 121 отображения и сенсорную панель 123. Сенсорный экран 120 может конфигурироваться так, чтобы сенсорная панель 123 покрывала блок 121 отображения. Размер сенсорного экрана 120 может определяться размером сенсорной панели 123. Сенсорный экран 120 отображает экраны приложений в безопасном и небезопасном «мирах», и считывают касание с помощью объекта. В частности, сенсорный экран 120 отображает графический интерфейс пользователя (GUI) для сенсорного ввода, и получает сенсорный ввод, соответствующий касанию пользовательского объекта, и получает другую информацию через GUI.
[54] Блок 121 отображения отображает различные меню мобильного терминала 100, вводимую пользователем информацию и информацию, которая будет предоставляться пользователю. Блок 121 отображения выводит экраны выполнения различных функций пользователя в ходе использования мобильного терминала 100. Блок 121 отображения может реализовываться, используя устройство, такое как жидкокристаллическое устройство отображения (LCD) или устройство отображения на органических светоизлучающих диодах (OLED). Блок 121 отображения может размещаться над или под сенсорной панелью 123. В частности, блок 121 отображения поддерживает функцию отображения, в которой безопасный экран накладывается на небезопасный экран, так что безопасный экран визуализируется в безопасном буфере наложения кадра, а небезопасный экран визуализируется в небезопасном буфере наложения кадра. Блок 121 отображения отображает безопасный экран на небезопасном экране в форме наложения с помощью объединения содержимого безопасного буфера наложения кадра и небезопасного буфера наложения кадра.
[55] Сенсорную панель 123 размещают в нижней или верхней части блока 121 отображения. Датчики, которые включает в себя сенсорная панель 123, упорядочены в матричной форме. Сенсорная панель 123 генерирует сенсорный сигнал, соответствующий контакту или приближению объекта к сенсорной панели 123, и посылает данный сенсорный сигнал в блок 160 управления.
[56] В частности, атрибут безопасности сенсорной панели 123 устанавливается в «безопасно» с помощью блока 160 управления. Когда атрибут безопасности сенсорной панели 123 установлен в «безопасно», сенсорная панель 123 может использоваться только в безопасном «мире» и не может использоваться в небезопасном «мире». Следовательно, сенсорная панель 123, чей атрибут безопасности установлен в «безопасно», защищена от небезопасных программ, таких как программы взлома.
[57] Кроме того, атрибут безопасности линии прерывания, подключенной к сенсорной панели 123, можно изменять. Когда атрибут безопасности линии прерывания, подключенной к сенсорной панели 123, установлен в «безопасно», сигнал прерывания (то есть сигнал сенсорного ввода) от сенсорной панели 123 посылают в блок 160 управления в безопасном «мире». Следовательно, когда пользователь касается сенсорной панели 123 с помощью объекта для ввода информации, требующей безопасности, такой как личная информация или пароли, сенсорный ввод направляют к блоку 160 управления в безопасном «мире». Поскольку блок 160 управления, работающий в небезопасном «мире», не имеет возможности распознать такой сенсорный ввод, небезопасная программа не может идентифицировать такой сенсорный ввод. Варианты осуществления настоящего изобретения могут обеспечивать безопасность ввода информации через сенсорную панель 123 и линии прерывания, атрибут безопасности которых установлен в «безопасно».
[58] Блок 140 хранения хранит по меньшей мере одну прикладную программу, которая должна выполнять функции безопасного «мира» и функции небезопасного «мира» согласно вариантам осуществления настоящего изобретения, и также хранит пользовательские данные, такие как сообщения и данные прикладной программы. Блок 140 хранения включает в себя безопасное запоминающее устройство 142 и небезопасное запоминающее устройство 146.
[59] Безопасное запоминающее устройство 142 соответствует безопасному ПЗУ 221 и безопасной ОП 223 на фиг. 2A. Безопасное запоминающее устройство 142 установлено в мобильном терминале 100 таким образом, что безопасное запоминающее устройство 142 изолировано с помощью аппаратных и программных механизмов. Безопасное запоминающее устройство 142 хранит операционную систему для безопасного «мира» и информацию, относящуюся к безопасным прикладным программам. Доступ к безопасному запоминающему устройству 142 от блока 160 управления, работающего в небезопасном «мире», физически запрещен. Поскольку безопасное запоминающее устройство 142 имеет ограниченную емкость в соответствии с исполнением, безопасное запоминающее устройство 142 хранит безопасную прикладную программу, имеющую простую функцию, и связанные с ней данные. В частности, безопасное запоминающее устройство 142 дополнительно хранит модуль 144 безопасности сенсорного ввода. Безопасное запоминающее устройство 142 дополнительно хранит программу мониторинга для поддержания перехода между безопасным «миром» и небезопасным «миром».
[60] Модуль 144 безопасности сенсорного ввода включает в себя подпрограмму для отображения безопасного экрана сверху небезопасного экрана в качестве наложения и обеспечения безопасности сенсорных сигналов. Модуль 144 безопасности сенсорного ввода включает в себя подпрограмму для отображения безопасного экрана, содержащего виртуальную клавиатуру ввода. Модуль 144 безопасности сенсорного ввода включает в себя подпрограмму для установки атрибута безопасности периферийных блоков, относящихся к сенсорному вводу, и шины данных, подпрограмму для отображения экрана безопасного ввода с помощью визуализации безопасного экрана на безопасном запоминающем устройстве 142 и с помощью вывода безопасного экрана сверху небезопасного экрана в качестве наложения, и подпрограмму для приема и обработки безопасного сенсорного сигнала. В данном случае экран безопасного ввода относится к отображению безопасного экрана сверху небезопасного экрана в качестве наложения, и у безопасного экрана может быть виртуальная клавиатура ввода.
[61] Небезопасное запоминающее устройство 146 включает в себя область программы и область данных (не показаны).
[62] Область программы хранит операционную систему для загрузки на мобильный терминал 100 и работы ее отдельных компонент в небезопасном «мире», и небезопасные прикладные программы, которые загружаются или предварительно устанавливаются. В частности, область программы может хранить программу 148 пользовательского интерфейса (UI).
[63] Программа 148 UI инициирует режим безопасного ввода и визуализирует небезопасный экран среди экранов выполнения заданной прикладной программы в небезопасном «мире». В режиме безопасного ввода обеспечивается защита информации, вводимой через сенсорную панель 123. Согласно вариантам осуществления настоящего изобретения экран безопасного ввода отображается в режиме безопасного ввода. Программа 148 UI визуализирует ненакладывающийся экран среди экранов приложений в качестве небезопасного экрана, и визуализирует экран, который не содержит клавиатуру ввода среди накладывающихся экранов в качестве небезопасного экрана. Программа 148 UI может содержаться как часть в прикладной программе, требующей ввода PIN-кода, или содержаться в прикладной программе, требующей алфавитно-цифрового ввода, такой как программа обработки документов или сообщений. Прикладная программа, содержащая программу 148 UI, переходит, в ответ на запрос о вводе определенных сенсорных клавиш, сопоставленных с символами или цифрами, в режим безопасного ввода, и обеспечивает визуализацию в небезопасном «мире».
[64] Хотя это и не предназначено, область программы может хранить несанкционированную программу взлома. Программа взлома выполняется в небезопасном «мире». Следовательно, с помощью программы взлома может произойти утечка различной личной информации, расположенной в небезопасном «мире». Однако, согласно вариантам осуществления настоящего изобретения, поскольку аппарат для безопасного сенсорного ввода принимает и обрабатывает сенсорный сигнал в безопасном «мире», варианты осуществления настоящего изобретения могут защищать информацию, вводимую через сенсорную панель 123, от атаки, осуществленной программой взлома, работающей в небезопасном «мире».
[65] Область данных хранит данные, сгенерированные во время использования мобильного терминала 100. В частности, область данных хранит данные, которые используются или сгенерированы программой 148 UI во время выполнения. Например, область данных может буферизовать или хранить графический интерфейс пользователя (GUI), который будет отображаться во время выполнения программы 148 UI. Соответственно, область данных включает в себя буфер наложения кадра, атрибут безопасности которого является устанавливаемым.
[66] Атрибут безопасности самой области данных, а так же ее части, является устанавливаемым. Когда атрибут безопасности области данных установлен в «безопасно», блок 160 управления получает доступ только к области данных в безопасном «мире». Следовательно, небезопасная программа не может получать доступ к области данных, когда атрибут безопасности области данных установлен в «безопасно». В частности, часть области данных, используемая модулем 144 безопасности сенсорного ввода, может устанавливаться для обеспечения безопасности с помощью блока 160 управления.
[67] Блок 160 управления управляет всей работой мобильного терминала 100. В частности, блок 160 управления поддерживает безопасный «мир» и небезопасный «мир», отображает экран безопасного ввода, имеющий безопасный экран в качестве наложения, и обеспечивает безопасность сенсорных сигналов, таким образом предотвращая воровство информации, вводимой через сенсорную панель 123. Для предотвращения воровства информации блок 160 управления включает в себя контроллер 161 безопасного / обычного «мира» и средство 163 установки безопасности.
[68] Контроллер 161 безопасного / обычного «мира» включает в себя контроллер виртуального безопасного «мира», контроллер виртуального обычного «мира» и переключатель «мира» безопасности (не показан). Контроллер 161 безопасного/обычного «мира» соответствует основному процессору 210 на фиг. 2A. Контроллер виртуального безопасного «мира» выполняет безопасную программу поверх безопасной операционной системы в безопасном «мире».
[69] Согласно варианту осуществления настоящего изобретения контроллер виртуального безопасного «мира» выполняет модуль 144 безопасности сенсорного ввода. Следовательно, контроллер виртуального безопасного «мира» управляет блоком 121 отображения для отображения безопасного экрана сверху небезопасного экрана в качестве наложения, и принимает и обрабатывает сигналы безопасного сенсорного ввода в безопасном «мире».
[70] Контроллер виртуального обычного «мира» выполняет обычную небезопасную программу поверх небезопасной операционной системы. В частности, контроллер виртуального обычного «мира» выполняет программу 148 UI в небезопасном «мире». Следовательно, контроллер виртуального обычного «мира» инициирует режим безопасного ввода в ответ на запрос безопасного ввода.
[71] Переключатель безопасности «мира» выполняет программу мониторинга для планирования и управления переходами между ролями контроллера виртуального безопасного «мира» и контроллера виртуального обычного «мира» способом с квантованием по времени. Программа мониторинга хранится в безопасном запоминающем устройстве 142. Когда переход происходит между безопасным «миром» и небезопасным «миром», программа мониторинга сохраняет состояние предшествующего «мира». Для перехода между «мирами» программа мониторинга может брать на себя роль по меньшей мере частично с помощью очистки регистров, восстановления текущих контекстов и сохранения предыдущих контекстов. В частности, переключатель мира безопасности переходит в безопасный «мир» в ответ на запрос безопасного ввода в небезопасном «мире».
[72] Средство 163 установки безопасности устанавливает атрибут безопасности компонентов мобильного терминала 100. Когда средство 163 установки безопасности устанавливает атрибут безопасности одного компонента в «безопасно», компонент пригоден для использования только в безопасном «мире». Средство 163 установки безопасности соответствует TZIC 243, TZAC 231 и TZPC 241 на фиг. 2A. В частности, средство 163 установки безопасности устанавливает атрибут безопасности сенсорной панели 123, линии прерывания, подключенной к сенсорной панели 123, и части области данных, связанной с модулем 144 безопасности сенсорного ввода.
[73] Способ безопасного сенсорного ввода согласно варианту осуществления настоящего изобретения описан следующим образом.
[74] Фиг. 3 - последовательность операций, показывающая способ безопасного ввода через сенсорный экран согласно другому варианту осуществления настоящего изобретения.
[75] Ссылаясь на фиг. 3, способ начинается в небезопасном «мире». На этапе 310 блок 160 управления проверяет, принят или нет запрос безопасного ввода. Запрос безопасного ввода содержит в себе отображение экрана безопасного ввода. Когда запрос безопасного ввода принят, на этапе 320 блок 160 управления переходит в безопасный «мир». Когда принимается другой ввод, чем запрос безопасного ввода, на этапе 315 блок 160 управления выполняет операцию, соответствующую принятому вводу.
[76] После входа в безопасный «мир» блок 160 управления выполняет модуль 144 безопасности сенсорного ввода, хранящийся в безопасном запоминающем устройстве 142, чтобы таким образом выполнить операции режима безопасного ввода. Операции, выполненные в режиме безопасного ввода, соответствуют этапам 330-360.
[77] На этапе 330 блок 160 управления конфигурирует настройки безопасности для сенсорного ввода. Например, блок 160 управления может устанавливать атрибут безопасности области блока 140 хранения и сенсорного экрана 120, относящиеся к сенсорному вводу, в «безопасно». На этапе 340 блок 160 управления управляет блоком 121 отображения для вывода экрана безопасного ввода с помощью отображения безопасного экрана сверху небезопасного экрана в качестве наложения. В данном случае безопасный экран визуализируется в безопасном буфере наложения кадра, небезопасный экран визуализируется в небезопасном буфере наложения кадра, и безопасный экран отображается сверху небезопасного экрана в качестве наложения для формирования экрана безопасного ввода.
[78] На этапе 345 блок 160 управления проверяет, принят или нет сенсорный ввод в течение предварительно установленного промежутка времени. В данном случае блок 160 управления может принимать сенсорный ввод от сенсорной панели 123. Когда сенсорный ввод не принят в пределах предварительно установленного промежутка времени, на этапе 347 блок 160 управления проверяет, закончен или нет сенсорный ввод. Блок 160 управления может определять, закончен или нет сенсорный ввод, на основе истечения заданного промежутка времени или предварительно установленной клавиши завершения, нажатой пользователем. После определения, что сенсорный ввод не закончен, блок 160 управления возвращается на этап 340 и выводит экран безопасного ввода. После определения, что сенсорный ввод закончен, на этапе 370 блок 160 управления переходит назад в небезопасный «мир».
[79] Когда сенсорный ввод принят, на этапе 350 блок 160 управления обрабатывает сенсорный ввод в безопасном «мире». В данном случае, ссылаясь на слой (то есть на элементы) безопасного экрана, блок 160 управления идентифицирует элемент, в котором касание введено, и идентифицирует информацию, введенную пользователем в безопасном «мире». После этого на этапе 360 блок 160 управления проверяет, следует или нет закончить режим безопасного ввода. В данном случае блок 160 управления может определять, следует или нет закончить режим безопасного ввода, на основе предварительно установленного количества вводов или истечения заданной продолжительности. Когда режим безопасного ввода закончен, на этапе 370 блок 160 управления переходит назад в небезопасный «мир». Когда режим безопасного ввода не закончен, блок 160 управления возвращается на этап 347 и проверяет, закончен или нет сенсорный ввод.
[80] После перехода назад в небезопасный «мир» процедура безопасного сенсорного ввода заканчивается. Как описано выше, вариант осуществления настоящего изобретения поддерживает безопасный ввод, используя процедуру на фиг. 3.
[81] Способ безопасного сенсорного ввода может воплощаться, используя архитектуру программных средств, показанную на фиг. 4A или 4B.
[82] Фиг. 4A - схема, показывающая архитектуру программных средств, поддерживающую способ безопасного сенсорного ввода на фиг. 3 согласно варианту осуществления настоящего изобретения. В настоящем примере программная архитектура, как предполагается, поддерживает электронную оплату в смартфоне, использующем технологию TrustZone ARM Holdings, но другие технологии могут использоваться в соответствии с вариантами осуществления настоящего изобретения.
[83] Ссылаясь на фиг. 4A, программная архитектура включает в себя программу 148 UI PIN, агент 410 и модуль 144 безопасности ввода PIN-кода. TrustZone монитор 420 присутствует между безопасным «миром» и небезопасным (обычным) «миром». Программа 148 UI PIN хранится в небезопасном запоминающем устройстве 146 и принимает запрос ввода PIN-кода для электронной оплаты. Агент 410 работает в небезопасном «мире» и вызывает определенную программу в безопасном «мире». Модуль 144 безопасности ввода PIN-кода хранится в безопасном запоминающем устройстве 142 и отображает виртуальную клавиатуру и обрабатывает вводимый PIN-код.
[84] Взаимодействия между компонентами программной архитектуры согласно варианту осуществления настоящего изобретения описаны следующим образом.
[85] На этапе (1) выполняется программа 148 UI PIN. В ответ на пользовательский ввод на этапе (2) программа 148 UI PIN посылает к агенту 410 запрос безопасного I/O. Например, когда пользователь нажимает кнопку для электронной оплаты после завершения покупки через Интернет, программа 148 UI PIN посылает к агенту 410 запрос безопасного I/O. В свою очередь, на этапе (3) агент 410 вызывает безопасный внутренний интерфейс, таким образом инициируя модуль 144 безопасности ввода PIN-кода в безопасном «мире». Более конкретно, агент 410 запрашивает переход из небезопасного «мира» в безопасный «мир» с помощью использования вызова безопасного монитора (SMC). При применении SMC происходит переход из небезопасного «мира» в безопасный «мир», и выполняется TrustZone монитор 420. TrustZone монитор 420 сохраняет содержимое регистра небезопасного основного процессора 213 в заданном стеке. Это запоминающее устройство предоставляет возможность восстановления состояний небезопасного «мира» после перехода назад в небезопасный «мир». После сохранения содержимого регистра небезопасного основного процессора 213 TrustZone монитор 420 поддерживает выполнение модуля 144 безопасности ввода PIN-кода.
[86] В безопасном «мире» отображается безопасная клавиатура, и PIN-код принимается и обрабатывается на этапах (4)-(10). На этапе (4) модуль 144 безопасности ввода PIN-кода устанавливает атрибут безопасности (изменяет аппаратные настройки) сенсорной панели 123 в «безопасно» для приема сенсорного ввода в безопасном «мире». В данном случае модуль 144 безопасного ввода PIN-кода побуждает TZPC 241, TZIC 243 и TZASC 231 для изменения атрибутов безопасности сенсорной панели 123, линии прерывания, подключенной к сенсорной панели 123, и буфера наложения кадра. На этапе (5) модуль 144 безопасности ввода PIN-кода управляет работой для визуализации экрана клавиатуры для ввода PIN-кода в безопасном буфере наложения кадра, а не в небезопасном буфере наложения кадра.
[87] После вывода экрана клавиатуры, на этапе (6) пользователь касается клавиш, отображаемых на сенсорном экране 120, с помощью сенсорного объекта, для ввода PIN-кода. На этапе (7) модуль 144 безопасности ввода PIN-кода принимает безопасный сенсорный ввод и на этапе (8) выводит символ ‘*’ в качестве индикации клавиши, введенной пользователем. На этапе (9) модуль 144 безопасности ввода PIN-кода шифрует сенсорный ввод (то есть PIN-код).
[88] Этапы (6)-(9) повторяются до ввода предварительно установленного количества цифр, формирующих PIN-код. Этап (9) выполняется после ввода предварительно установленного количества цифр. Этап (8) может выполняться в небезопасном «мире».
[89] После ввода PIN-кода на этапе (10) модуль 144 безопасности ввода PIN-кода посылает зашифрованный PIN-код в программу 148 UI PIN. На этапе (11) программа 148 UI PIN направляет зашифрованный PIN-код в устройство обработки сенсорного ввода, такое как универсальная карта с интегральной схемы (UICC) или элемент безопасности (SE). В данном случае SE является комбинацией модуля идентификации абонента (SIM), содержащего информацию абонента, и UICC, и также упоминается как универсальный модуль идентификации абонента (USIM). На этапе (12) UICC или SE обрабатывает и проверяет правильность PIN-кода. В данном случае зашифрованный PIN-код может расшифровываться и сравниваться с предварительно сохраненным паролем.
[90] Согласно другому варианту осуществления настоящего изобретения, после ввода PIN-кода зашифрованный PIN-код можно посылать непосредственно в UICC или SE в безопасном «мире» (минуя небезопасный «мир»).
[91] Способ передачи зашифрованного PIN-кода непосредственно в UICC или SE описан следующим образом со ссылкой на фиг. 4B. Поскольку этапы (1)-(9) на фиг. 4B идентичны, соответственно, этапам (1)-(9) на фиг. 4A, их описание опущено для краткости.
[92] Ссылаясь на фиг. 4B, после ввода PIN-кода на этапе (10) модуль 144 безопасности ввода PIN-кода посылает зашифрованный PIN-код непосредственно в UICC или SE (то есть не через программу 148 UI PIN). В этом случае передача PIN-кода выполняется в безопасном «мире», обеспечивая более высокий уровень безопасности.
[93] На этапе (11) UICC или SE обрабатывает и проверяет правильность PIN-кода. Когда UICC или SE уведомляет модуль 144 безопасности ввода PIN-кода о результате обработки PIN-кода, на этапе (12) модуль 144 безопасности ввода PIN-кода направляет результат обработки PIN-кода к программе 148 UI PIN. Наконец, на этапе (13) программа 148 UI PIN побуждает отображать результат обработки PIN-кода на блоке 121 отображения. Следовательно, пользователю сообщают о результате ввода PIN-кода через программу 148 UI PIN.
[94] Как описано выше, варианты осуществления настоящего изобретения могут применяться к приложению электронной оплаты, основываясь на заданной программной архитектуре.
[95] Фиг. 5 - схема, показывающая экран сенсорного ввода, воплощенный с помощью мобильного терминала на основе программной архитектуры на фиг. 4A или 4B согласно варианту осуществления настоящего изобретения.
[96] Ссылаясь на фиг. 5, мобильный терминал 100 на фиг. 1, который использует архитектуру программных средств на фиг. 4A или 4B, выводит экран 505 безопасного ввода с помощью отображения безопасного экрана 501 клавиатуры сверху экрана 503 выполнения программы 148 UI PIN в качестве наложения. Кроме того, мобильный терминал 100 устанавливает атрибут безопасности линии прерывания, подключенной к сенсорной панели 123, в «безопасно».
[97] Как описано выше, согласно варианту осуществления настоящего изобретения, безопасный экран 501 клавиатуры отображается сверху экрана 503 приложения в качестве наложения, чтобы таким образом сформировать экран 505 безопасного ввода. Следовательно, обеспечена безопасность сенсорного ввода, и информация PIN-кода, вводимая через сенсорную панель 123, может быть защищена от воровства. В результате варианты осуществления настоящего изобретения могут сохранять существующие схемы ввода PIN-кода, защищая безопасность вводимой информации от программы взлома.
[98] В другом примере согласно варианту осуществления настоящего изобретения приложение электронной оплаты требует подпись вместо PIN-кода. В таком случае, как показано на фиг. 6, мобильный терминал 100 использует безопасный экран 603 площадки для рисования вместо безопасного экрана 501 клавиатуры.
[99] Фиг. 6 - схема, показывающая экран сенсорного ввода с использованием площадки для рисования согласно варианту осуществления настоящего изобретения.
[100] Ссылаясь на фиг. 6, мобильный терминал 100, использующий архитектуру программных средств на фиг. 4A или 4B, выводит экран 605 безопасного ввода, отображая безопасный экран 601 площадки для рисования сверху экрана 603 выполнения программы 148 UI PIN в качестве наложения. Мобильный терминал 100 может визуализировать безопасный экран 601 площадки для рисования в безопасном «мире». Когда визуализируют безопасный экран 601 площадки для рисования в безопасном «мире», мобильный терминал 100 защищает безопасность подписи (сенсорного сигнала), вводимой через сенсорную панель 123.
[101] Как описано выше, согласно вариантам осуществления настоящего изобретения, различные виртуальные клавиатуры ввода используются в безопасных экранах для прикладных программ различных типов. Например, режим безопасного ввода может поддерживаться прикладными программами электронной оплаты, прикладными программами, требующими ввода PIN-кода, такими как программа блокировки терминала и программа блокирования доступа от заданного приложения, и прикладными программами, требующими алфавитно-цифрового ввода, такими как программа написания документа и программа составления сообщения.
[102] Как описано выше, в способе и аппарате для безопасного сенсорного ввода согласно варианту осуществления настоящего изобретения экран безопасного ввода формируется с помощью отображения безопасного экрана в качестве наложения на небезопасном экране, и обеспечивается безопасность сенсорного ввода. Таким образом, предотвращается воровство с помощью программы взлома информации, вводимой через сенсорную панель 123.
[103] Варианты осуществления настоящего изобретения могут применяться не только к прикладным программам, требующим ввода PIN-кода, но также и к другим прикладным программам, требующим алфавитно-цифрового ввода. Когда пользователь вводит символы или цифры на сенсорном экране, варианты осуществления настоящего изобретения могут обеспечивать безопасность сенсорных сигналов, сгенерированных сенсорным экраном, и обеспечивать безопасность информации слоя ввода клавиатуры. Следовательно, варианты осуществления настоящего изобретения могут предотвращать воровство информации, вводимой через сенсорный экран.
[104] В одной из особенностей вариантов осуществления настоящего изобретения, когда должны вводиться уязвимые данные, способ и аппарат обеспечения безопасности могут выводить безопасный экран поверх обычного небезопасного экрана и обеспечивать безопасный сенсорный ввод для предотвращения воровства информации, которая вводится через сенсорный экран. Следовательно, личная информация, вводимая через сенсорный экран, может быть защищена от программы взлома.
[105] Хотя варианты осуществления настоящего изобретения описаны подробно выше, должно быть понятно, что множество разновидностей и модификаций основной изобретенной концепции, описанной в данной работе, будут все равно находиться в пределах объема и сущности настоящего изобретения, которые определены в прилагаемой формуле изобретения.