Почему вычислительная мощность и память в смарт-картах так ограничены? [закрыто]

8

Почему общие смарт-карты, такие как SLE5528, почти всегда ограничены объемом доступной памяти <16 КБ и очень медленным 8-битным процессором? Что является ограничивающим фактором, который делает технологически / экономически невозможным повышение этих ограничений?

РЕДАКТИРОВАТЬ: Может быть, я должен дать некоторые дополнительные сведения о том, почему я задаю этот вопрос. Для работающего клиента мы должны были интегрировать модуль смарт-карт, который в основном действовал как хранилище ключей (аналогично тому, которое вы можете использовать в библиотеках программирования высокого уровня, таких как PKCS11). Мы постоянно выходили за пределы этого устройства (не можем сохранить больше нескольких ключей, не можем сохранить ни один ключ размером больше 1 КБ, нужно подождать не менее 5 секунд перед получением списка ключей и т. Д.). Единственный человек в конце нашего поставщика, которого я мог найти, был продавец, который дал мне ответ «Вот так работают смарт-карты». Не похоже, что на рынке нет реального рынка для хранения ключей RSA размером> 4K. Я хотел бы знать реальную причину этого.

JDoe
источник
Вполне возможно, что рынок карт с большим объемом ресурсов невелик и недостаточно прибылен для производителя. Если вы не спросите производителя, этот вопрос оставляет много для спекуляций.
Ник Алексеев
Разделение функциональности - смарт-карта не предназначена для выполнения каких-либо задач, кроме идентификации конкретных задач. Люди предлагали такие хаки, как запуск Android на SIM-карте, но это не совсем подходящее место для общего дизайна продукта.
Крис Страттон
Да, мне всегда было интересно, почему они не работают на пятиминутных ядрах ...
PlasmaHH
«Ограниченный» - по сравнению с чем. Зачем это нужно иметь больше?
Энди ака
@ChrisStratton Я могу это понять, но даже в области аутентификации и учета это не удается. Хорошим примером этого являются карты OpenPGP, размер ключа которых очень ограничен, что в итоге заставило людей использовать USB-флешки для целей подписи PGP вместо смарт-карт.
JDoe

Ответы:

11

Почему общие смарт-карты, такие как SLE5528, почти всегда ограничены объемом доступной памяти <16 КБ и очень медленным 8-битным процессором? Что является ограничивающим фактором, который делает технологически / экономически невозможным повышение этих ограничений?

Это дополнительная цена, вызванная функциями безопасности, которые повышают цену. Технически вы не можете сравнить энергонезависимую память смарт-карт с обычной флэш-памятью или памятью EEPROM. Например, можно открыть обычную флэш-память, прикрепить провода к матрице и прочитать содержимое памяти. Со смарт-картами это не должно быть возможным (или более реалистично: оно должно быть настолько сложным и дорогим, что оно того не стоит).

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

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

Тем не менее, смарт-карты с большим объемом памяти доступны. Вы можете купить их с объемом памяти более 100 КБ. Они дорогие, хотя.

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

Нильс Пипенбринк
источник
6

Так работают смарткарты. Если вам нужна флешка, вы знаете, где ее найти.

Смарт-карты предназначены для безопасности. Они предназначены для защиты от взлома . Они предназначены для того, чтобы хранить секреты и совершать самоубийства, а не раскрывать свои секреты. Вы не можете (с разумными усилиями, за исключением недостатков реализации) извлечь данные из них или клонировать их.

Смарт-карты (должны быть) разработаны таким образом, что если вы попытаетесь обойти программный интерфейс и напрямую прочитать их память, вы не сможете. Единственными внешними интерфейсами являются силовые и последовательные линии. Все остальное находится внутри клетки Фарадея (для противодействия измерениям выбросов), которая защищена слоем агрессивных химикатов (я думаю, кислот), так что если вы попытаетесь проделать дыру в защитном слое, чип (особенно память) будет быть поврежденным до невозможности восстановления.

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

Некоторые вещи делают смарт-карты медленнее, чем не чувствительные к безопасности чипы. Поскольку у смарт-карт нет собственного источника питания, им приходится довольно часто выполнять запись во флэш-память - они не могут позволить себе кэшировать данные в ОЗУ. В противном случае противник может отрезать власть в выгодные (для него) времена. Программное обеспечение должно использовать алгоритмы постоянного времени (чтобы избежать атак по времени ), а не самый быстрый алгоритм. Программное обеспечение должно быть написано с избыточностью, на случай, если противник направит лазер на карту, чтобы перевернуть несколько битов в памяти и привести программное обеспечение в состояние, которое не должно было быть достижимым (да, это настоящая атака).

Такие меры безопасности имеют свою стоимость. Кроме того, поскольку атаки продолжают улучшаться, дизайн чипов должен идти в ногу. Большинство типов чипов становятся все более и более мощными в соответствии с законом Мура, но при использовании смарт-карт технические усовершенствования в основном поглощаются необходимостью противостоять новым атакам.

Там являются карты , которые поддерживают 4k ключей RSA. Но они необычные. Несколько лет назад была выпущена Java Card 3 для поддержки почти всех функций языка Java; Я думаю, что карта, способная сделать это, будет способна подписывать с 4k RSA. Но на самом деле они этого не сделали, отчасти потому, что технические усовершенствования выполняются за счет усиления защиты, а отчасти потому, что многие инженерные усовершенствования были сделаны в бесконтактных картах, которые требуют меньшего энергопотребления и более быстрого времени отклика.

Но рынка 4К RSA не так много. Когда смарт-карты достигли этой точки, ECC стал широко доступным. Вы можете получить тот же уровень безопасности, что и 4k RSA, с гораздо меньшими ключами ECC. Единственным недостатком перехода с RSA на ECC является поддержка алгоритма во всей вашей инфраструктуре, но встраиваемые устройства, такие как смарт-карты, являются самой сложной частью: почти все, что на стороне сервера поддерживает ECC в наши дни.

Если вам действительно нужно что-то более мощное, существуют USB-ключи с «реальной» вычислительной мощностью, которые могут хранить криптографические ключи и выполнять криптографические операции с интерфейсом PKCS # 11. Эти ключи не имеют такого же физического сопротивления, как типичная PKCS # 11. Это компромисс между безопасностью и производительностью.

Дальнейшее чтение:

Жиль "ТАК - перестань быть злым"
источник