Так работают смарткарты. Если вам нужна флешка, вы знаете, где ее найти.
Смарт-карты предназначены для безопасности. Они предназначены для защиты от взлома . Они предназначены для того, чтобы хранить секреты и совершать самоубийства, а не раскрывать свои секреты. Вы не можете (с разумными усилиями, за исключением недостатков реализации) извлечь данные из них или клонировать их.
Смарт-карты (должны быть) разработаны таким образом, что если вы попытаетесь обойти программный интерфейс и напрямую прочитать их память, вы не сможете. Единственными внешними интерфейсами являются силовые и последовательные линии. Все остальное находится внутри клетки Фарадея (для противодействия измерениям выбросов), которая защищена слоем агрессивных химикатов (я думаю, кислот), так что если вы попытаетесь проделать дыру в защитном слое, чип (особенно память) будет быть поврежденным до невозможности восстановления.
Чип спроектирован так, чтобы получать постоянную мощность, чтобы избежать утечки информации из-за энергопотребления . Это также разработано, чтобы позволить операциям занимать постоянное время. Таким образом, чипы смарт-карт не имеют аппаратных оптимизаций, таких как конвейеры команд или управление питанием, для уменьшения тепловыделения. Чипы смарт-карт часто содержат детали, которые фактически не служат какой-либо цели, чтобы сделать выбросы и потребляемую мощность более постоянными или более сложными для анализа, а также затруднить обратный инжиниринг.
Некоторые вещи делают смарт-карты медленнее, чем не чувствительные к безопасности чипы. Поскольку у смарт-карт нет собственного источника питания, им приходится довольно часто выполнять запись во флэш-память - они не могут позволить себе кэшировать данные в ОЗУ. В противном случае противник может отрезать власть в выгодные (для него) времена. Программное обеспечение должно использовать алгоритмы постоянного времени (чтобы избежать атак по времени ), а не самый быстрый алгоритм. Программное обеспечение должно быть написано с избыточностью, на случай, если противник направит лазер на карту, чтобы перевернуть несколько битов в памяти и привести программное обеспечение в состояние, которое не должно было быть достижимым (да, это настоящая атака).
Такие меры безопасности имеют свою стоимость. Кроме того, поскольку атаки продолжают улучшаться, дизайн чипов должен идти в ногу. Большинство типов чипов становятся все более и более мощными в соответствии с законом Мура, но при использовании смарт-карт технические усовершенствования в основном поглощаются необходимостью противостоять новым атакам.
Там являются карты , которые поддерживают 4k ключей RSA. Но они необычные. Несколько лет назад была выпущена Java Card 3 для поддержки почти всех функций языка Java; Я думаю, что карта, способная сделать это, будет способна подписывать с 4k RSA. Но на самом деле они этого не сделали, отчасти потому, что технические усовершенствования выполняются за счет усиления защиты, а отчасти потому, что многие инженерные усовершенствования были сделаны в бесконтактных картах, которые требуют меньшего энергопотребления и более быстрого времени отклика.
Но рынка 4К RSA не так много. Когда смарт-карты достигли этой точки, ECC стал широко доступным. Вы можете получить тот же уровень безопасности, что и 4k RSA, с гораздо меньшими ключами ECC. Единственным недостатком перехода с RSA на ECC является поддержка алгоритма во всей вашей инфраструктуре, но встраиваемые устройства, такие как смарт-карты, являются самой сложной частью: почти все, что на стороне сервера поддерживает ECC в наши дни.
Если вам действительно нужно что-то более мощное, существуют USB-ключи с «реальной» вычислительной мощностью, которые могут хранить криптографические ключи и выполнять криптографические операции с интерфейсом PKCS # 11. Эти ключи не имеют такого же физического сопротивления, как типичная PKCS # 11. Это компромисс между безопасностью и производительностью.
Дальнейшее чтение: