Некоторые вопросы реализации «универсального кошелька аутентификационных данных» как носимого автономного устройства
Конференция: III Международная заочная научно-практическая конференция «Научный форум: технические и физико-математические науки»
Секция: Информатика, вычислительная техника и управление
III Международная заочная научно-практическая конференция «Научный форум: технические и физико-математические науки»
Некоторые вопросы реализации «универсального кошелька аутентификационных данных» как носимого автономного устройства
Some issues of implementation of the "universal wallet of authentication data" as a stand-alone portable device
Rudin Sergei
systems analyst, HOME CREDIT AND FINANCE BANK, Russia, Izhevsk
Аннотация. В настоящее время вопрос аутентификации пользователя в информационном пространстве становится всё более острым. Данные (логины-пароли, ключи, токены) являются разнородными и требовательными к надёжному хранению. В статье рассматриваются базовые требования к разработке устройства, позволяющего надёжно хранить указанные данные, предоставляя, при этом, удобство их использования и универсальность применения.
Abstract. Currently, the issue of user authentication in the information space is becoming more acute. The data (logins, passwords, keys, tokens) are heterogeneous and demanding secure storage. The article discusses the basic requirements for the development of the device, which allows securely store these data by providing, at the same time, ease of use and versatility.
Ключевые слова: аутентификация; шифрование; схемотехника; функциональные требования; вычислительная стойкость; надежность.
Keywords: authentication; encrypting; circuit design; functional requirements;
computer resistance; safety.
ВВЕДЕНИЕ
В настоящее время, время информационных технологий, уже недостаточно материальных удостоверений личности. Каждый (или почти каждый) человек в повседневной жизни использует от единиц до одного-двух десятков различных аккаунтов. Держать их в памяти всё сложнее (ведь все пароли должны быть разными, чтобы потеря одного не привела к компрометации остальных), но даже этого становится мало, так как преступники становятся всё изощреннее. Существует множество программных и аппаратных средств для хранения данных аутентификации (начиная от программ для смартфонов и заканчивая устройствами типа eToken) но, чаше всего, они достаточно узко специализированы и не могут использоваться в качестве универсальных средств аутентификации без привязки к определенной технологии. Кроме того, в случае использования смартфонов, не всегда можно гарантировать полную конфиденциальность и соблюдение приватности со стороны производителей устройств и их программного обеспечения.
В этом свете использование специализированных устройств, поддерживающих максимальное количество методов, аутентификации кажется наиболее востребованным решением.
Для достижения максимальной эффективности подобного устройства, в первую очередь, необходимо разработать на основе исследований перечень рекомендаций к реализуемому функционалу. Это достигается в ходе следующих работ: выбор метода аутентификации пользователя на основе сравнения возможных вариантов по ключевым показателям, исследование и выбор метода реализации генератора случайных чисел.
На основании выработанных рекомендаций предстоит подобрать наиболее подходящую элементную базу и схемотехнические решения - какова бы ни была теоретическая идея, успех во много зависит от её реализации в материале. Здесь во главу угла должны ставиться эргономичность, надёжность и практичность устройства.
1.1 Исследование требований и методов защищенного хранения данных
Исходя из функциональных требований к устройству, подсистема хранения должна обеспечивать надежное хранение данных и ограничение доступа к ним.
В случаях, не предусматривающих многопользовательские режимы работы и разграничение прав доступа, необходимым и достаточным является шифрование данных - оно позволяет ограничить доступ к данным непосредственно на устройстве (нет ключа - нет доступа), а так же защищает данные при попытке прямого доступа к носителю. С точки зрения адекватности и целесообразности следует остановиться на симметричном шифровании.
Существует 2 варианта: аппаратное и программное шифрование.
Для выбора варианта реализации проведено исследование возможностей продуктов, доступных на текущий момент на рынке. В качестве стендового образца использовался криптопроцессор Atmel AT97SC3204 (33МГц), реализующий алгоритм асимметричного криптопреобразования RSA и алгоритм вычисления хеш-функции SHA-1. Сравнительное исследование проводилось на алгоритме RSA. Программная реализация основана на свободно распространяемом исходном коде продукта OpenPGP. В качестве платформы для исполнения кода выступал ПЭВМ Toshiba Satteilite C-660 (CPU Intel Core i3-2330M 2,2ГГц, 4 ГБ ОЗУ) под управлением ОС Windows 7. Сравнение скорости преобразования проводилось на блоке случайных данных размером 5 кБайт. Производилось 3-кратное вычисление 1024-бит и 2048-бит подписи RSA каждым из методов. Результаты приведены в таблице 1.
Таблица 1.
Результаты стендовых сравнений времени криптопреобразования
|
Время вычисления 1024-бит RSA,t1024,мс |
Время вычисления 2048-бит RSA,t2048,мс |
Криптопроцессор Atmel AT97SC3204 |
43 |
194 |
|
39 |
205 |
|
41 |
200 |
Программная реализация |
2 |
11 |
|
8 |
15 |
|
5 |
18 |
Как показал опыт, среднее время вычисления в программной реализации существенно меньше, но если привести производительность стендов к общему модулю (2,2ГГц/33МГц = 66,7 крат), получаем среднее приведенное время для программной реализации tср прив 1024 = 333,5мс и tср прив 2048 = 978,3мс, что значительно превышает среднее время вычисления криптопроцессора. Кроме того, для программной реализации отмечено гораздо более значительное отклонение результатов от среднего значения, возникающее вследствие разделение ресурсов ЦП между различными задачами.
Используя результаты опыта, а так же другие показатели, получаем обобщенную сравнительную таблицу 2.
Таблица 2.
Сравнение показателей аппаратной и программной реализации шифрования
Параметр |
Аппаратная реализация |
Программная реализация |
Аппаратная часть |
Специальный криптопроцессор |
Разделяемый ЦП устройства, на котором выполняется шифрование |
Скорость шифрования |
Постоянно высокая (сравнительно с программным шифрованием) |
Зависит от вычислительной мощности устройства и текущей нагрузки |
Эффективность шифрования (реализуемые алгоритмы) |
Могут быть реализованы любые алгоритмы |
Могут быть реализованы любые алгоритмы |
Возможность обновления |
Криптопроцессор может поддерживать несколько алгоритмов; обновление невозможно |
Алгоритмы могут изменяться и добавляться средствами разработки. |
тоимость |
Стоимость разработки, изготовления, сертификации велика. |
Совокупная стоимость процессора общего назначения и разработки ПО ниже, чем в случае аппаратного шифрования |
Таким образом, основной выигрыш аппаратной реализации в скорости работы. Но хранимые аутентификационные данные обычно невелики по объему, то есть фактор скорости шифрования/дешифрования не столь значителен. В то же время, программная реализация обладает меньшей стоимостью, кроме того, она закладывает в устройство потенциал на расширение и обновление функционала за счет возможности перепрограммирования.
1.2. Исследование методов реализации генератора случайных чисел
В работе Клода Шеннона [2] определены требования к абсолютно стойким системам шифрования (некая модель шифра, в принципе не поддающегося вскрытию не зависимо от ресурсов атакующего):
· ключ генерируется для каждого сообщения (каждый ключ используется только один раз);
· ключ статистически надёжен (то есть вероятности появления каждого из возможных; символов равны, символы в ключевой последовательности независимы и случайны);
· длина ключа равна или больше длины сообщения.
Как правило, реализация всех принципов приводит к невозможности практического использования систем, поэтому на практике говорят о достаточной, или вычислительной, стойкости системы (шифр при этом теоретически вскрываем, но стоимость его вскрытия во временном и ресурсном выражении превышает стоимость исходных данных). При этом требования к абсолютно стойкой системе соблюдаются на столько, чтобы сохранялась практическая ценность криптосистемы.
В приложении к практике требования трактуются следующим образом:
· ключ необходимо менять на столько часто, на сколько это возможно при практическом использовании;
· при генерации ключей должны использоваться случайные (псевдослучайные) последовательности;
· стойкость криптосистемы тем выше, чем длиннее используется ключ (при прочих равных).
Так, используя метод атаки по сторонним каналам с доступом к системе, на которой выполнялось шифрование исходного текста (что, по сути не возможно в реальности и указывает лишь на концепт), Даг Арне Освик, Ади Шамир и Эран Трумер вскрыли ключ уже после 800 операций шифрования [5], что подтверждает постулат о необходимости частой смены и случайности ключа.
Для генерации случайных чисел в программировании используются генераторы псевдослучайных числе (ГСПЧ) представляющие собой алгоритмы, имеющие результатом своей работы последовательность чисел, элементы которой почти независимы друг от друга и подчиняются заданному распределению. Естественно, что результат любого детерминированного алгоритма не может являться абсолютно случайным. На текущий момент лучшие алгоритмы имеют длину цикла, в рамках которого числа не повторяются, порядка 2n, где n - битность внутреннего состояния генератора, что недостаточно для массового использования в качестве генератора ключей.
Для генерации абсолютно случайных последовательностей используются ГСПЧ с внешним источником энтропии, который служит для "раскрутки" генератора, и снятия его детерминированности. В качестве источника энтропии могут использоваться любые предположительно случайные процессы или характеристики. В частности, в PGP для данных целей используется движение мыши пользователем.
Одним из перспективных направлений является использование в качестве источника энтропии значения физических свойств объектов: температура микросхемы, шум звуковой карты, счетчик тактов процессора. С точки зрения использования в компактных устройствах наиболее подходит использование температуры микросхемы устройства, как наиболее случайного значения. В качестве алгоритма преобразования целесообразно использовать алгоритм на основе LFSR, как наиболее распространенный и зарекомендовавший себя как достаточно надежный.
1.3. Создание рекомендаций к устройству
Исходя из функционального назначения устройство должно удовлетворять следующим требованиям:
· устройство должно быть выполнено в универсальном форм-факторе и обладать распространенным интерфейсом подключения;
· устройство должно иметь возможность использования без доп. оборудования, то есть, на нем должны присутствовать элементы управления и отображения информации, а так же, источник питания; реализация данных требований позволит использовать устройство без привязки к определенным информационным системам - хранить можно будет и те данные, которые вводятся только вручную;
· устройство должно поддерживать стандартные протоколы обмена данными для минимизации необходимости использования дополнительного ПО;
· устройство должно обеспечивать надежное хранение ключевой информации (как простых пар логин-пароль, так и различных ключей, например, для реализации PGP кошелька), а так же иметь возможность использования в качестве аппаратного токена; это позволит обеспечить максимальную безопасность от неавторизованного доступа к данным;
· используемые программно-аппаратные средства должны позволять дорабатывать устройство под использование новых технологий, в том числе, реализовывать алгоритмы OTP (one time password) на основе стандартов (например, HOTP, TOTP), что позволит модернизировать устройство, постоянно наращивая его функциональность.
С целью достижения указанных функциональных требований, а так же учитывая настоящие изыскания, устройство должно соответствовать ряду параметров:
· реализация на мобильной энергоэффективной платформе (архитектура ARM);
· базовое ПО (операционная система) реального времени на основе продуктов с открытым исходным кодом;
· наличие дисплея и клавиш управления;
· реализация генератора случайных чисел с источником энтропии от температуры ЦП;
· реализация поточного шифрования симметричным шифром защищенных данных.
2.1 Исследование схемотехнических решений по реализации требований к устройству универсальной аутентификации
Исходя из выработанных в разделе I рекомендаций, устройство должно обладать распространенным форм-фактором и интерфейсом подключения. Нас сегодняшний день устройства подобного класса, как правило, представляют собой компактные брелоки. Часто конечный вид определяют реализованные интерфейсы. Существующие устройства условно можно разделить на требующие непосредственный физический контакт для передачи аутентификационных данных и использующие энергию электромагнитных полей (для простоты будем называть их проводные и беспроводные). В каждую из групп, в свою очередь, входят устройства с различными схемотехническими решениями. Наиболее распространенные из проводных это использующие RS-232 и USB порты. Среди без проводных наиболее распространены устройства, использующие технологии RFID (или подобную ей NFC) и Bluetooth. Данный выбор, в первую очередь, обусловлен жесткими требованиями к энергосбережению и автономности устройств. Проведем сравнение указанных интерфейсов по некоторым потребительским качествам.
Таблица 3.
Сравнительная характеристика распространенных интерфейсов устройств аутентификации
|
Распространенность |
Необходи-мость физичес-кого контакта |
Энерго-эффективность |
Защищенность |
Физическая стойкость |
RS-232 |
В массовой технике встречается редко, один из промышленных стандартов |
Да |
При подсоединении питается от ПК |
Не создает дополнительной угрозы перехвата данных |
Не переносит "горячего" отключения |
USB |
Повсеместно распространен |
Да |
При подсоединении питается от ПК |
Не создает дополнительной угрозы перехвата данных |
В зависимости от реализации обладает ресурсом от 1500 до 15000 циклов подключений |
RFID |
В ПК встречается крайне редко, требует специфичного приемника-передатчика |
Нет |
В зависимости от реализации использует энергию приёмника или собственный источник |
Имеют потенциальную уязвимость, посредством которой может быть получен несанкционированный доступ к данным [3] |
За счет деградации внутренних элементов выходит из строя в течении 3-5 лет |
Bluetooth |
Встречается повсеместно |
Нет |
Требует собственного источника энергии |
Надежнее, чем RFID, но имеет ряд уязвимостей[4] |
Достаточно надежен |
Таким образом, по совокупности показателей наиболее перспективным показывается себя USB интерфейс. Сам по себе USB имеет на текущий момент несколько версий спецификаций. Наиболее распространены в настоящее время версия 2.0 и 3.0. Они отличаются, в частности, максимальной пропускной способностью, максимальными токами и количеством проводников[7]. C точки зрения универсальности версия USB 2.0 является оптимальной, так как распространена во всех сегментах персональной вычислительной техники, кроме того, имеет более простую конструкцию и совместима с USB 3.0, что делает её ещё более универсальной.
Версия USB 2.0 содержит в себе типоразмеры USB-A, USB-B, mini-USB, micro-USB. Хотя от типо- размера к типоразмеру повышается миниатюрность и физическая стойкость[6], целесообразно выбрать USB-A, как самый распространенный на ПК в текущее время.
Для отображения информации в автономном режиме устройство должно обладать дисплеем. При этом, дисплей должен предоставлять возможность отображения произвольного изображения (например, дерево папок носителя информации и их наименования). На сегодняшний день миниатюрные дисплеи производятся по нескольким технологиям, объединяемые в группы LCD и OLED дисплеев. По компактности и энергоэффективности вторые существенно превосходят первые, а стоимость именно миниатюрных дисплеев этих технологий сопоставима. Соответственно, в качестве средства отображения информации следует выбрать OLED дисплей.
Так как, согласно разработанным требованиям, устройство должно основываться на рахитектуре ARM и работать под управлением свободно распространяемого ПО – оно должно представлять собой универсальный микрокомпьютер. Рассматривать конкурентные варианты не имеет смысла.
2.2 Разработка схемотехники устройства универсальной аутентификации
Согласно исследованиям, по состоянию на 2009 на процессоры ARM приходилось до 90 % всех встроенных процессоров[3]. В настоящее время их доля ещё увеличилась. Процессоры ARM широко используются в потребительской электронике — в том числе КПК, мобильных телефонах, цифровых носителях и плеерах, портативных игровых консолях, калькуляторах и компьютерных периферийных устройствах, таких как жесткие диски или маршрутизаторы. Эти процессоры имеют низкое энергопотребление, поэтому находят широкое применение во встраиваемых системах и преобладают на рынке мобильных устройств, для которых данный фактор немаловажен.
Для использования в миниатюрных устройствах ARM процессоры выпускаются в составе виде микроконтроллеров. Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ и ПЗУ. Использование в современном микроконтроллере достаточного мощного вычислительного устройства с широкими возможностями, построенного на одной микросхеме вместо целого набора, значительно снижает размеры, энергопотребление и стоимость построенных на его базе устройств.
Требования к реализуемому устройству универсальной аутентификации накладывают определенные ограничения. Среди поддерживаемых интерфейсов должны быть такие, которые позволяют реализовать управление дисплеем и управление USB. По комплексу показателей для реализации выбран микроконтроллер STM32F103T8. Он включает высокопроизводительный ARM Cortex ™ -M3 32-битный RISC процессор, работающий на частоте 72 МГц, высокоскоростное запоминающее устройство (флэш-память до 128 Кбайт и ОЗУ до 20 Кбайт), и расширенную поддержку устройств ввода-вывода. Кроме того, имеются два 12-битных АЦП, три 16-битных таймера общего назначения и один ШИМ таймер, а также стандартные и расширенные коммуникационные интерфейсы: I2Cs, SPI, USART, USB и CAN. Микроконтроллер рассчитан на работу при напряжении питания от 2,0 до 3,6 В и диапазоне температур от -40 до +85 С°.
Напряжение питания данного микроконтроллера хорошо согласуется с ЭДС химических элементов питания, но не совпадает с напряжением питания USB. Соответственно, устройство должно иметь в своем составе согласующий преобразователь (блок питания), который позволит питать устройство и заряжать его батарею при подключении к ПК.
Таким образом, устройство должно включать в себя микроконтроллер, дисплей, блок питания, клавиши управления и USB-A разъем версии 2.0.
ЗАКЛЮЧЕНИЕ
В ходе работы были исследованы методы обеспечения конфиденциальности данных, определена целесообразность реализации устройства на базе программной реализации алгоритмов и процессора общего назначения, в качестве варианта реализации генератора случайных чисел выбран генератор на основе алгоритма LFSR, определены базовые требования и рекомендации к реализации устройства.
На основании рекомендаций к реализации было проведено определение необходимости наличия в устройстве определенных средств вычислительной техники и проведено сравнение возможных вариантов реализации.