Безопасность смарт-карты обеспечивается при эффективном взаимодействии средств защиты следующих четырех компонентов:
корпус карты;
аппаратное обеспечение в виде чипа;
операционная система;
приложение.
В пластиковый корпус карты встраивается микроконтроллер [3]. Многие из элементов безопасности, применяемые для корпуса карты, читаются не только машиной, но и могут быть визуально проверены людьми. Методы, используемые для этих целей, характерны не только для смарт-карт, они применяются также для карт других типов. Остальные компоненты - аппаратное обеспечение в виде чипа, операционная система и приложение - защищают данные и программы в микроконтроллере смарт-карты. Безопасность смарт-карты гарантируется только тогда, когда правильно работают все эти компоненты и их защитные механизмы. Если любой из этих компонентов выходит из строя или если какой-либо один из них не удовлетворяет предъявляемым требованиям, смарт-карта теряет свою безопасность. Существуют различные подходы к систематизированной классификации атак на смарт-карты. Ниже будут рассмотрены схемы классификации атак на смарт-карты по наиболее существенным признакам.
Как определено стандартом ISO10202-1, для классификации возможных атак по времени их проведения могут быть использованы фазы жизненного цикла смарт-карты. Рассмотрим классификацию атак в трех основных фазах жизненного цикла смарт-карты: разработке смарт-карт; производстве смарт-карт; применении смарт-карт в приложениях.
Атаки в фазе разработки смарт-карты, связаны с этапами проектирования системы, разработки чипа, разработки операционной системы и генерации приложений. Безопасность, подобно качеству, должна браться в расчет с самого начала разработки проекта. Уже на этапе разработки аппаратного обеспечения микроконтроллера и программного обеспечения для операционных систем смарт-карт применяется ряд мер безопасности. Что касается атак на стадии разработки, то можно в целом утверждать, что доступ к разрабатываемым средствам очень труден, а требуемый уровень специальных знаний очень высок. Поэтому атаки в фазе разработки не привлекают злоумышленников с недостаточным уровнем знаний. Тем не менее, потенциальная опасность успешной атаки на этом этапе значительна, поскольку существуют очень широкие возможности для манипулирования аппаратным и программным обеспечением.
|
Атаки в фазе производства смарт-карт связаны со всеми производственными процессами, охватывая весь диапазон от производства полупроводниковых пластин до персонализации карт и их отправки конечным пользователям. Следует отметить, что атаки на этапе производства чипов и смарт-карт являются типичными атаками изнутри, поскольку среда, в которой происходят производственные процессы, закрыта. Доступ строго контролируется, и каждый вход регистрируется. Тем не менее, на стадии производства нельзя обходиться без мер безопасности, поскольку на этой стадии могут быть выполнены некоторые технически сложные и эффективные атаки. информационный безопасность смарт карта
Фаза применения смарт-карт в приложениях характеризуется активизацией атак на смарт-карты и прикладные системы, использующие смарт-карты. Действительно, доступ атакующего к компонентам смарт-карты после ее выпуска в обращение обычно намного легче, чем на предыдущих фазах ее жизненного цикла. Вот почему вероятность атаки становится относительно высокой, когда смарт-карта оказывается в обращении.
|
Атаки на смарт-карты можно разделить по уровню их проведения на три основных категории:
атаки на социальном уровне;
атаки на физическом уровне;
атаки на логическом уровне [4].
Атаки на социальном уровне в основном направлены против людей, которые работают со смарт-картами на разных фазах жизненного цикла карты. Объектами атаки могут быть разработчики чипов, разработчики программного обеспечения, работники полупроводниковых производств, держатели смарт-карт. Эти атаки могут быть частично отражены техническими мерами, но главным образом их нужно предотвращать с помощью организационных мер. Например, можно легко предотвратить перехват PIN-кода при подсматривании процесса его набора на клавиатуре, если установить непрозрачные экраны по обе стороны клавиатуры. Атаки на социальном уровне против программистов смарт-карты становятся бесполезными при разработке ими процедур, которые будут использоваться открыто, а также при привлечении третьей стороны для оценки программных кодов, разработанных этими программистами. В этом случае безопасность будет определяться только секретными ключами, а знания разработчиков программного обеспечения не смогут быть использованы атакующими. Атаки на смарт-карты на физическом уровне обычно требуют применения сложного технического оборудования, поскольку атакующему необходимо получить физический доступ к аппаратным средствам микроконтроллера смарт-карты. Эти атаки могут быть либо статическими, при которых к микроконтроллеру не подается никакое питание, либо динамическими, при работающем микроконтроллере. Статические атаки на физическом уровне не накладывают никаких временных ограничений на атакующего, который может выполнять свои действия в своем собственном ритме. Однако при динамической атаке требуются соответствующее измерительное оборудование и достаточно быстрая обработка данных.
|
На логическом уровне были осуществлены наиболее успешные атаки на смарт-карты. Эта категория атак включает классический криптоанализ, а также атаки, использующие известные неисправности в операционной системе смарт-карты и «троянских коней» в исполняемом коде приложений смарт-карты.
На практике могут осуществляться также атаки смешанного типа. Атака на физическом уровне может подготовить путь для последующей атаки на логическом уровне, в качестве которой может быть применен, например, дифференциальный анализ после намеренно введенной неисправности.
Атаки на смарт-карты на физическом уровне и логическом уровнях можно, в свою очередь, разделить на два типа: пассивные и активные. Например, при пассивной атаке атакующий может выполнить измерения на полупроводниковом устройстве либо анализировать шифртекст или криптографический протокол, не изменяя его. Напротив, при активной атаке атакующий вмешивается в работу микроконтроллера или передачу данных.
Физическая защита
Целью физической защиты является предотвращение попыток непосредственного извлечения либо модификации информации микропроцессора (МП) смарт-карты в обход предоставляемого интерфейса. Обычно задачей нарушителя является получение некоей ключевой информации, которая позволит осуществить доступ к ресурсам карты легальными методами.
Основные меры противодействия:
- Разработчики микрокомпьютеров должны сознательно обеспечивать невозможность анализа работы собственного изделия в обход стандартного программного интерфейса.
- Должны быть приняты меры по затруднению снятия информации с блоков памяти.
Для каждого вида доступа определяются атрибуты доступа, то есть условия, при которых доступ данного вида возможен. Обычно выделяют четыре атрибута доступа:
- Проверка наличия санкции владельца карты, производимая путем ввода владельцем пароля.
- Аутентификация внешнего окружения - той ответной части, которая взаимодействует с картой (центр авторизации, терминальное оборудование).
- Требование шифрования передаваемых сообщений.
- Требование снабжения передаваемых сообщений имитовставкой.
Атрибуты доступа должны быть независимы друг от друга, то есть разным видам доступа могут назначаться различные наборы атрибутов и разные наборы ключей. В противном случае выбор эффективных протоколов обмена будет сильно ограничен или невозможен [5].
Хорошим правилом считается использование общих атрибутов доступа и наборов ключей для целой директории, а также наследование их из объемлющей директории.
Серьезная система разграничения доступа должна предусматривать спецификацию ключей, то есть четкое определение, как, при каких обстоятельствах и в каких целях тот или иной ключ может использоваться. Специфицируются:
криптографический алгоритм;
операции допустимые с данным ключом;
порядок смены ключа;
условия блокирования/разблокирования ключа и др [6].
Ключи, используемые для аутентификации владельца карты и внешнего окружения, обычно блокируются после заданного числа идущих подряд неверных предъявлении. Это особенно актуально для аутентификации владельца, поскольку обычно длина таких ключей не превышает 4-6 знаков и становится реальным полный перебор вариантов.
Должна предусматриваться диверсификация ключей с целью получения уникальных сессионных ключей для каждой транзакции.