Хранение секретов    Сообщений 0    Оценка 10        Оценить   Хранение секретовГлава из книги “Практическая криптография”Авторы: Нильс Фергюсон Брюс ШнайерИсточник: Практическая криптографияМатериал предоставил: Издательство ''Вильямс''Опубликовано: 18.10.2006Версия текста: 1.022.1. Диск22.2. Человеческая память22.2.1. Солим и растягиваем22.3. Портативное хранилище22.4. Идентификатор безопасности22.5. Безопасный пользовательский интерфейс22.6. Биометрика22.7. Однократная регистрация22.8. Риск утраты22.9. Совместное владение секретом22.10. Уничтожение секретов22.10.1. Бумага22.10.2. Магнитное хранилище22.10.3. Полупроводниковые записывающие устройстваВ разделе 9.3 обсуждается хранение временных секретов, таких, как ключи сеанса. А где же хранить долгосрочные секреты — скажем, пароли или закрытые ключи? В контексте безопасности хранение секретов должно соответствовать двум прямо противоположным требованиям. Во-первых, секреты должны сохраняться в секрете. Во-вторых, риск полной потери секретов (т.е. невозможность найти собственноручно спрятанный секрет) должен быть минимальным. 22.1. Диск Пожалуй, наиболее очевидное решение — хранить секреты на жестком диске компьютера или другого постоянного хранилища данных. Это, однако, приносит пользу только в том случае, если компьютер находится в безопасности. Если пользователь А хранит на компьютере свои ключи (в незашифрованном виде), доступ к этим ключам смогут получить все, кто работает за этим компьютером. Большинство компьютеров хотя бы от случая к случаю используются другими людьми. Возможно, пользователь А не против, чтобы за его компьютером поработал кто-нибудь другой, но, конечно же, он не собирается предоставлять этому человеку доступ к своему банковскому счету! Еще одна проблема заключается в том, что пользователь А может работать с несколькими компьютерами. Если его ключи хранятся на домашнем компьютере, он не сможет использовать их на работе или во время путешествия. Да и вообще, где лучше хранить ключи — на домашнем настольном компьютере или в ноутбуке? Совсем не к чему хранить копии ключей в нескольких местах; это еще больше ослабляет систему. Гораздо лучше, если ключи пользователя А будут храниться в его карманном компьютере (КПК), который гораздо реже одалживают другим людям и, кроме того, всегда носят с собой. (В качестве альтернативы КПК можно было бы применять мобильный телефон или наручные часы, но использование их для хранения секретов потребовало бы обновления соответствующей инфраструктуры, что выходит за рамки наших возможностей.) Вам, вероятно, кажется, что шифрование секретов улучшило бы их безопасность. Разумеется, это так, но шифрование с помощью чего? Для шифрования секретов нужен главный ключ, который, в свою очередь, тоже должен где-то храниться. Хранение его вместе с зашифрованными секретами не принесло бы никакой пользы. Тем не менее шифрование секретных данных — действительно хороший метод сокращения их количества и размера, а потому оно широко используется в сочетании с другими методами. Например, закрытый ключ RSA может иметь несколько тысяч бит в длину. Применив к нему симметричное шифрование, мы можем значительно сократить объем пространства, необходимый для хранения этого ключа. 22.2. Человеческая память Следующая идея — хранить ключ в памяти самого пользователя А. Мы попросим его запомнить пароль, а затем зашифруем с помощью этого пароля все остальные ключи. Зашифрованные ключи могут быть помещены в любое удобное место, например на жесткий диск. Кроме того, ключи можно разместить на Web-сервере, чтобы пользователь А загружал их на любой компьютер, с которым работает в данный момент. Человечество славится своими никудышными способностями к запоминанию паролей. Если мы выберем очень простые пароли, то не получим никакой безопасности. Простых паролей слишком мало, чтобы они обеспечивали необходимую секретность: злоумышленник может просто их перебрать. Использование в качестве пароля, скажем, девичьей фамилии своей матери не обеспечит должной защиты; ее фамилия, скорее всего, известна многим. Впрочем, даже если это и не так, злоумышленнику будет достаточно перебрать несколько тысяч фамилий, чтобы отыскать нужную. Хороший пароль должен быть непредсказуем. Другими словами, он должен содержать большое количество энтропии. Обычные слова не обладают достаточной энтропией. Английский язык насчитывает около полумиллиона слов (и это включая все длинные и непонятные слова, внесенные в полный словарь языка), поэтому применение в качестве пароля одного слова из словаря обеспечит не более 19 бит энтропии. Оценки количества энтропии на один символ текста, написанного на английском языке, несколько отличаются, но в среднем составляют примерно 1,5(2 бит на один символ. Как вы помните, в наших системах для достижения 128-битового уровня безопасности использовались 256-битовые ключи. В большинстве случаев использование 256-битовых ключей лишь немного повышает общие расходы. Тем не менее в данной ситуации пользователь должен запомнить пароль (или ключ), а дополнительная стоимость ключей большого размера весьма высока. Использовать пароли с энтропией 256 бит слишком обременительно, поэтому ограничим количество энтропии, содержащейся в паролях, до 128 бит. ПРИМЕЧАНИЕДля математиков: это пароли, выбранные с помощью вероятностного распределения, обладающего энтропией в 128 бит. Исходя из оптимистической оценки в 2 бита энтропии на символ, для получения 128 бит энтропии нужны пароли в 64 символа длиной. Это неприемлемо. Пользователи просто откажутся запоминать пароли такого размера. Что, если мы пойдем на компромисс и согласимся с энтропией 64 бит? Это уже минимально допустимый уровень безопасности. Если на каждый символ пароля приходится по 2 бита энтропии, нужно, чтобы пароль содержал по крайней мере 32 символа. Даже подобное послабление окажется непосильной задачей для среднестатистического пользователя. Не забывайте — на практике длина большинства паролей составляет лишь 6(8 символов. Для решения этой проблемы пароли можно было бы назначать автоматически. Впрочем, вы когда-нибудь пытались работать с системой, которая радостно сообщает, что ваш пароль выглядит как “7193275827429946905186”? Или, скажем, “aoekjk3ncmakwe”? Обычный человек просто не в состоянии запомнить подобные вещи, поэтому данный ход не пройдет. (На практике пользователь, как правило, записывает свой пароль на бумажке, но об этом речь идет в следующем разделе.) Гораздо лучше использовать в качестве пароля какую-нибудь идентификационную фразу (passphrase). Идентификационная фраза — это практически то же самое, что и пароль. В действительности эти понятия настолько схожи, что мы предпочитаем не проводить между ними различий. По сути, различие лишь одно: идентификационная фраза намного длиннее однословного пароля. В качестве пароля пользователь А мог бы применять какую-нибудь фразу наподобие: “Розовые занавески порхают над океанами”. Это совершенно бессмысленная фраза, но запомнить ее нетрудно. Кроме того, данная фраза состоит из 38 символов, поэтому содержит примерно 57(76 бит энтропии. Если же пользователь А расширит эту фразу примерно до следующей: “Занавески в розовый горошек порхают над морями любви”, он получит 52 символа, которые могут применяться в качестве вполне неплохого ключа с энтропией 78(104 бит. Набрать на клавиатуре такую фразу можно всего за несколько секунд, что, разумеется, гораздо быстрее, нежели набирать строку случайных чисел. Мы исходим из факта, что запомнить идентификационную фразу намного проще, чем случайные числа. Большинство мнемонических приемов основаны на идее преобразования случайных данных в нечто похожее на наши идентификационные фразы. Некоторые пользователи не слишком любят стучать пальцами по клавиатуре, поэтому выбирают свои пароли по-другому. Возьмем, например, поистине замечательное слово “Длспус,иносивсссцмбпсн?”. Оно выглядит полнейшей абракадаброй, если не знать, что это первые буквы слов некоторого вполне осмысленного предложения. В данном случае мы воспользовались цитатой из шекспировского “Гамлета”: “Достойно ль смиряться под ударами судьбы, иль надо оказать сопротивленье и в смертной схватке с целым морем бед покончить с ними?” Разумеется, на практике использовать цитаты из классической литературы не следует. Литературные тексты слишком доступны злоумышленнику, а сколько подходящих фраз может содержаться в книгах, стоящих на полке у пользователя А? Поэтому пользователю А следует придумать что-нибудь оригинальное, чего никто не мог бы разгадать. По сравнению с полной идентификационной фразой для составления такого пароля требуется предложение, состоящее из большего количества слов. Тем не менее подобный прием позволяет обеспечить необходимый уровень безопасности путем ввода меньшего количества символов, так как первые буквы слов обладают большей случайностью, чем последовательные буквы предложения. К сожалению, мы не знаем ни одной оценки количества энтропии, которая приходится на каждый символ подобного слова. Возможно, впоследствии кому-нибудь удастся провести исследования и написать статью о различных способах выбора идентификационных фраз. Идентификационные фразы — это, безусловно, самый лучший способ сохранить секрет в человеческой памяти. К сожалению, многие пользователи все равно испытывают серьезные затруднения с их применением. Кроме того, даже используя идентификационные фразы, весьма сложно сохранить в человеческом мозгу сразу 128 бит энтропии. 22.2.1. Солим и растягиваем Чтобы выжать как можно больше безопасности из пароля или идентификационной фразы с ограниченным объемом энтропии, можно воспользоваться двумя любопытными приемами. Их названия наводят на мысль о средневековой камере пыток. Данные приемы настолько просты и очевидны, что должны применяться в каждой системе, работающей с паролями. Исключений из этого правила не существует. Первый прием состоит в том, чтобы добавить соли (salt). “Соль” — это случайное число, которое хранится вместе с данными, зашифрованными с помощью пароля. Если это возможно, используйте 256-битовую соль. Следующий шаг — это растягивание (stretching) пароля. По своей сути растягивание представляет собой очень длинный процесс вычисления. Пусть p — это пароль, а s — соль. Используя любую криптографически сильную функцию хэширования h, можно вычислить следующее: X0 := 0, Xi := h(Xi-1 || p || s) для i = 1, . . . , r, K := Xr. Полученное значение K применяется в качестве ключа для фактического шифрования данных. Параметр r — это количество итераций данного алгоритма, которое должно быть настолько большим, насколько это практически возможно. (Думаем, нам не нужно лишний раз подчеркивать, что значения Xi и K должны быть 256 бит длиной.) Рассмотрим описанный процесс с точки зрения злоумышленника. Зная соль s и некоторые данные, зашифрованные с помощью ключа K, мы пытаемся найти K, перебирая различные пароли. Для этого мы выберем некоторый пароль p, вычислим соответствующее значение K, расшифруем данные и посмотрим, имеет ли смысл полученный открытый текст. Если расшифрованный текст окажется бессмысленным, выбранный пароль p должен быть неправильным. Чтобы проверить одно значение p, необходимо выполнить r различных операций хэширования. Чем больше значение r, тем больше работы придется проделать злоумышленнику. В нормальных ситуациях растягивание пароля должно выполняться при каждом использовании последнего. Напомним, что это происходит в тот момент, когда пользователь только что ввел пароль. Обычно ввод пароля занимает несколько секунд, поэтому вполне допустимо потратить на его обработку, скажем, еще 200 мс. Вот наше правило выбора r: значение r должно быть таким, чтобы вычисление K(s, p) занимало от 200 до 1000 мс на оборудовании пользователя. С течением времени компьютеры работают все быстрее и быстрее, поэтому r должно постепенно увеличиваться. В идеале приемлемое значение r следует определять экспериментальным путем, когда пользователь впервые выбирает пароль, и хранить r вместе с s. (Обязательно убедитесь, что значение r не слишком мало и не слишком велико.) Какой выигрыш мы получили? Если r = 220 (это чуть больше миллиона), тогда злоумышленнику для проверки каждого варианта пароля придется проделать по 220 операции хэширования. Перебор 260 паролей требует выполнения 280 операций хэширования, поэтому использование r = 220 эквивалентно увеличению размера пароля на 20 бит. Чем больше значение r, тем больший выигрыш в размере пароля мы получаем. Теперь посмотрим на эту ситуацию с другой стороны. Параметр r не дает злоумышленнику извлечь пользу из появления высокоскоростных компьютеров, поскольку с увеличением мощности компьютеров возрастает и значение r. Это нечто наподобие компенсатора закона Мура (Moore’s law), но только в долгосрочной перспективе. Через 10 лет злоумышленник может воспользоваться технологией следующего десятилетия, чтобы взломать пароли, с которыми мы работаем сегодня. Поэтому нам все еще нужно обеспечивать приличный уровень безопасности и использовать пароли, которые содержат большое количество энтропии. Это, между прочим, еще один аргумент в пользу применения протокола согласования ключей с прямой безопасностью. Каким бы ни было наше приложение, вполне вероятно, что закрытые ключи пользователя А будут защищены паролем. Через 10 лет у злоумышленника появится возможность определить пароль пользователя А. Но если ключ, зашифрованный с помощью пароля, применялся только для запуска протокола согласования ключей с прямой безопасностью, тогда, даже взломав ключ, злоумышленник не узнает ничего ценного. К тому времени ключ пользователя А больше не будет действительным (он давным-давно устареет), а знание его старого закрытого ключа никак не поможет раскрыть ключи сеанса, которые применялись 10 лет назад. Наличие соли мешает злоумышленнику сэкономить свои усилия, когда он пытается одновременно взломать большое количество паролей. Предположим, что у системы есть миллион пользователей. Каждый из них хранит на диске файл со своими ключами, зашифрованный с помощью растянутого пароля соответствующего пользователя. Если бы мы не использовали соль, злоумышленник мог бы атаковать систему следующим образом: взять пароль p, вычислить растянутый ключ K и попытаться расшифровать каждый из этих файлов с помощью K. Для каждого пароля значение функции растягивания нужно подсчитать только один раз, а полученный ключ может быть использован злоумышленником, чтобы попытаться расшифровать сразу миллион файлов. Добавляя к функции растягивания соль, мы делаем описанную ситуацию невозможной. Все значения соли — случайные числа, поэтому каждый пользователь будет применять свою соль. Теперь злоумышленнику придется подсчитывать значение функции растягивания не для каждого пароля, а для каждой комбинации “пароль(файл”. Это потребует от него намного больше усилий, а для пользователей системы расходы окажутся незначительными. Какого размера должно быть значение соли? Мы не будем отвлекаться на подробный анализ этого вопроса. Возможно, вам хватит и 128-битового значения (если система не допускает проведения атак, в основе которых лежит парадокс задачи о днях рождения), но зачем экономить на таких мелочах? В наше время биты очень дешевы, и использование 256-битового значения соли удовлетворит любые потребности. Кстати, будьте очень внимательны, используя соль и растягивание. Однажды нам попалась система, в которой были замечательно реализованы оба этих приема. Затем, однако, какому-то программисту пришло в голову улучшить пользовательский интерфейс, предоставляя более быстрый ответ относительно того, правилен ли введенный пользователем пароль. Для этого программист сохранял контрольную сумму каждого пароля, что свело на нет всю процедуру применения соли и растягивания. Если время отклика системы оказывается недопустимо медленным, вы можете немного уменьшить значение r, но убедитесь, что злоумышленник сможет проверить правильность пароля, только выполнив по меньшей мере r операций хэширования. 22.3. Портативное хранилище Очередная идея — хранить ключи где-нибудь за пределами компьютера. Самая простая форма внешнего хранилища — это клочок бумаги, на котором записаны пароли. Многие заводят хранилища подобного рода даже для абсолютно не криптографических систем наподобие Web-узлов. Очень часто нам (в том числе и авторам этой книги) приходится помнить по меньшей мере полдюжины паролей, а это не очень-то легко, особенно если речь идет о системах, в которых пароль используется крайне редко. Чтобы запомнить пароли, пользователи просто их записывают. Ограничение этого решения состоит в том, что пароль все еще должен обрабатываться глазами, мозгом и пальцами пользователей при каждом его применении. Чтобы раздражение пользователя и совершаемые им при вводе ошибки не превышали разумных пределов, данный прием может применяться только к паролям и идентификационным фразам с относительно низкой степенью энтропии. Как разработчику, вам не придется предпринимать каких-либо действий для реализации данного метода хранения. Пользователи всегда будут записывать пароли на клочках бумаги, какие бы правила вы ни установили и как бы ни настроили систему паролей. Более совершенная форма хранилища представляет собой некоторую разновидность переносимой памяти. Это может быть карта флэш-памяти, дискета, пластиковая карта с магнитной полосой или любой другой вид цифрового хранилища. Системы цифрового хранения всегда обладают достаточной емкостью для хранения, как минимум, 256-битового секретного ключа, поэтому можно забыть об использовании паролей с низкой степенью энтропии. По сути, переносимая память сама превращается в ключ. Тот, у кого есть ключ, автоматически получает доступ к системе, поэтому переносимую память нужно хранить в безопасном месте. 22.4. Идентификатор безопасности Более удачное (и более дорогостоящее) решение — это использование устройства, названного идентификатором безопасности (secure token). Это маленький компьютер, который пользователь может носить с собой. Внешний вид идентификатора безопасности может варьироваться в широких пределах — от смарт-карты (которая выглядит в точности как кредитная карта) до приборов iButton, USB-устройств или карт формата PCMCIA. Главными особенностями такого устройства являются наличие энергонезависимой памяти (т.е. памяти, которая сохраняет свои данные после выключения компьютера) и центрального процессора. Идентификатор безопасности функционирует аналогично портативному хранилищу данных, однако имеет ряд улучшений в плане безопасности. В частности, доступ к ключам, хранящимся в таком устройстве, может быть ограничен паролем или каким-либо другим способом. Прежде чем идентификатор безопасности позволит вам применить ключ, вы должны предоставить ему правильный пароль. При этом идентификатор безопасности сам может защитить себя от злоумышленников, пытающихся подобрать пароль, блокируя доступ после трех или пяти неудачных попыток ввода. Разумеется, некоторые пользователи то и дело ошибаются при вводе пароля. Для восстановления доступа к системе таких горе-пользователей применяются специальные, гораздо более длинные ключи или идентификационные фразы с более высокой степенью энтропии. Как видите, подобные системы обеспечивают многоуровневую защиту данных. Прежде всего пользователь защищает идентификатор физически; например, он может хранить его в кошельке или на брелке. Чтобы добраться к данным, злоумышленник должен украсть сам идентификатор или по крайней мере получить к нему какой-нибудь доступ. Затем ему придется либо физически взломать идентификатор и извлечь из него данные, либо узнать пароль, чтобы разблокировать идентификатор. Для усложнения физической атаки подобные устройства часто делают устойчивыми к несанкционированному вмешательству. ПРИМЕЧАНИЕТакие идентификаторы устойчивы к несанкционированному вмешательству, но отнюдь не защищены от него полностью. Физический взлом устройств возможен всегда; вопрос лишь в том, во сколько он обойдется. На сегодняшний момент идентификаторы безопасности являются одним из лучших и самых практичных методов хранения секретных ключей. Они относительно недороги и имеют довольно небольшой размер, что позволяет носить их с собой. Одна из проблем практического применения идентификаторов безопасности — халатное поведение пользователей. Они то и дело оставляют свой идентификатор безопасности подключенным к компьютеру, когда уходят на обед или деловую встречу. Поскольку пользователям ужасно не хочется повторно вводить пароль, их система будет настроена таким образом, чтобы послушно предоставлять доступ к данным на протяжении многих часов с момента последнего ввода пароля. В подобной ситуации злоумышленнику достаточно подойти к компьютеру и воспользоваться секретными ключами, хранящимися в идентификаторе. Вы можете попробовать решить эту проблему путем обучения. Среди любимых средств воздействия на сознание пользователей можно назвать видеопрезентации “Корпоративная безопасность в офисе”, отвратительные и совсем не смешные плакаты “Возьмите свои смарт-карты с собой на обед”, а также лекции на тему “Если я еще когда-нибудь увижу смарт-карту вставленной в компьютер, хозяин которого ушел покурить, он прослушает эту лекцию еще 50 раз”. Впрочем, существуют и другие пути решения этой проблемы. Сделайте так, чтобы идентификатор безопасности был ключом не только к секретным данным, но и к дверям офиса. Теперь пользователь будет вынужден брать идентификатор с собой, чтобы попасть обратно в офис. Настройте автомат, продающий кофе, таким образом, чтобы он выдавал стаканчик с кофе только при наличии идентификатора безопасности. Это не позволит пользователям оставлять идентификаторы подключенными к компьютеру на время своего отсутствия. Иногда безопасность системы полностью обеспечивается подобными примитивными мерами, но они оказываются гораздо эффективнее многочисленных плакатов, правил и призывов. 22.5. Безопасный пользовательский интерфейс Несмотря на бесспорные достоинства, идентификатор безопасности имеет один существенный недостаток. Пароль, который используется для доступа к содержимому идентификатора, должен вводиться в компьютер или другое аналогичное устройство. Это не составит проблемы, если мы полностью доверяем своему компьютеру, однако, как известно, компьютеры не настолько хорошо защищены, чтобы можно было на них надеяться. Действительно, смысл хранения секретных ключей за пределами компьютера состоит именно в том, что мы не совсем ему доверяем. Можно достичь более высокого уровня безопасности, если сам идентификатор будет оснащен встроенным безопасным пользовательским интерфейсом. Теперь пароль (или, скорее всего, PIN-код) можно вводить прямо в идентификатор безопасности, не полагаясь на внешнее устройство. Наличие у идентификатора безопасности собственной клавиатуры защитит PIN-код от взлома. Разумеется, после введения PIN-кода компьютер все равно узнает ключ и может делать с этим ключом все, что ему вздумается. Таким образом, мы все еще ограничены безопасностью компьютера в целом. Чтобы предотвратить подобные проблемы, необходимо внедрить криптографические процессы, выполняемые при участии секретного ключа, в сам идентификатор безопасности. Это требует применения в идентификаторе специализированного кода, благодаря чему тот быстро превращается в полноценный компьютер. На сей раз, однако, это будет доверенный компьютер, который пользователь может носить с собой. Доверенный компьютер может реализовать компоненты каждого приложения, критические для безопасности, на самом идентификаторе безопасности. В подобной ситуации для идентификатора безопасности важно наличие дисплея, чтобы пользователь видел, какие действия он авторизует, вводя свой PIN-код. В типичной ситуации пользователь управляет приложением с помощью мыши и клавиатуры основного компьютера. Когда, например, пользователь должен авторизовать банковский платеж, компьютер отправляет соответствующие данные идентификатору безопасности. Последний отображает на своем дисплее сумму платежа и другие параметры транзакции, а пользователь авторизует платеж, введя свой PIN-код. Затем идентификатор подписывает параметры транзакции, а основной компьютер завершает ее выполнение. На практике идентификаторы с безопасным пользовательским интерфейсом слишком дороги для большинства приложений. Пожалуй, самой близкой альтернативой идентификатору безопасности является КПК (например, Palm). Тем не менее пользователи загружают на свои КПК многочисленные программы, а разработчики КПК не позиционировали их изначально как безопасные устройства, поэтому, на наш взгляд, КПК ненамного безопаснее обычных компьютеров. Описанная ситуация может служить хорошим примером конфликта между функциональностью и безопасностью. Для пользователей важно иметь возможность загружать программы и запускать их, когда они пожелают. Кроме того, им хотелось бы доверять своему компьютеру ценную информацию. Учитывая текущее положение дел в обеспечении безопасности операционных систем, мы просто не в состоянии совместить в одном и том же устройстве гибкость, которую предоставляет возможность загрузки программ, и уровень безопасности, который требуется системе. А если придется делать выбор между безопасностью и возможностью загрузки программы, которая отображает на экране танцующих свинок, пользователи, вне всяких сомнений, выберут последнее. 22.6. Биометрика Те, кто интересуется последними веяниями моды, могут добавить к своему арсеналу средств безопасности еще и биометрику. В идентификатор безопасности можно встроить что-нибудь наподобие сканера отпечатков пальцев или сетчатки глаза. В настоящее время биометрические устройства еще не получили широкого распространения. Сканеры отпечатков пальцев стоят не так уж и дорого, но безопасность, которую они обеспечивают, крайне сомнительна. В 2002 году криптограф Цутому Мацумото (Tsutomu Matsumoto) со своими тремя учениками показал, как обмануть все имеющиеся в продаже сканеры отпечатков пальцев, используя только подручные материалы [63]. Оказалось, что с созданием искусственного пальца по свежему отпечатку (как те, которые мы оставляем на гладкой поверхности) справится любой сообразительный старшеклассник. В действительности нас шокировало не то, что устройства считывания отпечатков пальцев можно обмануть, а то, как это просто. Что еще хуже, производители биометрических устройств постоянно рассказывали о том, какую высокую безопасность обеспечивает биометрическая идентификация. Они никогда не говорили, как легко подделать отпечатки пальцев. И вдруг на сцене появляется математик (даже не эксперт по биометрике!), который одним взмахом руки развенчивает все устоявшиеся мифы. У нас есть два предположения: либо производители биометрических устройств знали об этом и бесстыдно обманывали нас, либо они не знали об этом, а значит, совершенно некомпетентны в своей области. Нам нужно действительно хорошо подумать о том, насколько безопасны остальные биометрические системы. Тем не менее, даже несмотря на то что сканеры отпечатков пальцев легко обмануть, они все еще могут сослужить хорошую службу. Предположим, у нас есть идентификатор безопасности с небольшим дисплеем, небольшой клавиатурой и сканером отпечатков пальцев. Чтобы добраться к ключу, необходимо получить физический доступ к идентификатору безопасности, узнать PIN-код и подделать отпечаток пальца. Все это требует от злоумышленника намного больших усилий, чем любое из предыдущих решений. Это, пожалуй, самая лучшая из практических схем хранения кл babyliss 4 - . russia music awards longines nokia 6021 . knauf