Четверг, 25 Апрель 2024

Ключи iButton для систем информационной безопасности

Журнал «Системы безопасности» №2 2003 г.
Е. Левин

    В 1991 году компания американская компания Dallas Semiconductor выпустила свои электронные ключи — идентификаторы серии DS199х. Первоначальный замысел сводился к созданию вынесенной из компьютера энергонезависимой памяти, которая могла бы использоваться как электронная метка или блокнот. Все идентификаторы, которые внешне выглядят как металлические дисковые батарейки, имеют внутри микросхему с уникальной для каждого ключа двоичной 48-разрядной кодовой комбинацией (идентификационным номером). Считывается эта комбинация при касании металлического корпуса ключа со считывателем, подключенным к порту контроллера или компьютера. Новый электронный ключ из Далласа стал популярным среди потребителей и последовали новые модели. Они имели существенно больше памяти, выполняли разнообразные дополнительные функции кроме хранения данных. Поэтому, в 1997 году Dallas присвоила всем своим идентификационным ключам этого типа название iButton (Information Button — «таблетка с информацией»).

    Сейчас приборы iButton широко применяются в качестве средства идентификации, а в последнее время и в температурных измерениях. Однако наиболее впечатляющими и массовыми проектами Dallas остаются те, где iButton является средством переноса платежных квитанций или электронным кошельком. Такие применения стали возможны, поскольку приборы обеспечивают адекватный задаче уровень защищенности хранящейся в них информации и аутентификацию владельца. Однако у русскоговорящей аудитории популярность приобрели в основном приборы DS1990 (серийный номер без памяти) и DS1992 (серийный номер с незащищенной памятью 1Кбит).
     Они, действительно, могут быть элементом безопасности любых информационных комплексов, хотя их популярность объясняется только удобством ношения и простотой подключения к компьютеру или контроллеру. Протокол этих устройств открыт и не защищен от эмуляции, а память прибора DS1992 не защищена от копирования или изменения. Вместе с тем в семействе iButton имеются действительно защищенные приборы, незаслуженно не открытые еще нашей аудиторией.

DS1991 — встроенный ключ с парольной защитой памяти

    Кроме обычного последовательного кода каждого прибора, iButton DS1991 обладает энергонезависимой статической памятью, разделенной на три нестандартных для iButton сегмента по 384 бита. Доступ к каждому сегменту памяти как для чтения, так и для записи требует предъявления 64-битного пароля страницы.
    DS1991 называют иногда мультиключом, поскольку все три его модуля памяти фактически могут использоваться автономно в различных приложениях. При неверном указании пароля чтение страницы выполняется без специальных признаков, однако сопровождается выдачей случайной цифровой последовательности. Запись страницы при неверном пароле невозможна. Предусмотрена процедура смены пароля, при выполнении которой текущие данные в соответствующей странице уничтожаются.

    Таким образом, прибор DS1991 обеспечивает защиту информации во встроенной энергонезависимой памяти от несанкционированного считывания или изменения, что является достаточным для целого ряда приложений, в которых электронный носитель применяется для хранения конфиденциальной информации, криптографических ключей, паролей доступа.

DS1963L — первый электронный кошелек в семействе iButton

    Прибор содержит встроенный аппаратный счетчик циклов записи в память, который иногда называют счетчиком транзакций. Каждый цикл записи этот счетчик автоматически инкрементируется. Счетчик транзакций представляет простой, но эффективный механизм выявления несанкционированных изменений содержимого памяти прибора. Так, если прибор обрабатывается всегда одним компьютером или контроллером, то не составляет труда при каждом считывании проверять значение счетчика транзакций и сравнивать его с хранящимся в хосте эталоном. При любой несанкционированной записи значение счетчика будет отличаться от ожидаемого. Если прибор может обрабатываться несколькими компьютерами (распределенная платежная система в режиме off-line), то значение эталонного счетчика транзакций можно хранить непосредственно в энергонезависимой памяти вместе с другими данными в зашифрованном виде. Расшифровав память, хост извлекает эталонное значение транзакции и сравнивает с аппаратным счетчиком. Если содержимое памяти в ходе транзакции изменяется, программный счетчик транзакций инкрементируется и вновь записывается в память.

DS1961/3S — электронный кошелек с усиленной аутентификацией

    Первейшей проблемой использования любых ключей является подделка основного секрета. Для электронных ключей iButton таким секретом долгое время оставался 64-битный код прибора, записанный в его ПЗУ. Поскольку все протоколы описаны, эмуляция кода, очевидно, не представляет проблемы. Секретность и защищенность определялась в основном тем, что ключ хранится кармане владельца. Однако прибор DS1963S в корне изменяет представление об iButton, как о незащищенных устройствах.

    Прибор имеет энергонезависимую память объемом 4096 бит с возможностью записи/чтения, организованную в виде 16-ти страниц по 256 бит каждая. Восемь из этих шестнадцати страниц памяти имеют индивидуальные ключи доступа в виде 64-битных секретных кодов и 32-битные «только для чтения» счетчики количества циклов записи. Регистры счетчиков циклов записи сами защищены и имеют собственные индивидуальные счетчики количества циклов записи. В прибор встроен 512-битный блок SHA-1, предназначенный для вычисления 160 битного кода аутентификации сообщения и генерации ключей доступа (секретных кодов) для страниц памяти.

    Прибор DS1963S может применяться в качестве носимого электронного ключа. В этом случае его энергонезависимая память выполняет функции локальной базы данных, которая может хранить как общедоступные, так и защищенные данные, принадлежащие пользователю устройства. Встроенный 512-битный блок SHA может быть задействован для вычисления 160-битного кода аутентификации на основе хранящихся в устройстве данных. При использовании файлового формата TMEX (предлагаемой DS модели операционной системы) один прибор DS1963S может поддерживать до четырех независимых приложений, таких как осуществление электронных платежей при расчетах за транспортные услуги, телефонные переговоры, парковку или прокат автомобилей.

    DS1963S также может работать в качестве сопроцессора для хост-компьютера, осуществляя вычисление кодов доступа, необходимых для модификации записей носимого пользователями устройства.