запуск программирования смарт-карты

Как можно было начать с программированием смарт-карт? Я спрашиваю здесь обо всем инструментарии, в котором он нуждается для начала работы: книги, учебные руководства, аппаратные средства и т.д.

Я планирую в проигрывании вокруг с несколькими программистами смарт-карт, и я довольно плохо знаком с этим полем.

Править: Я главным образом интересуюсь программистами, которые играют по правилам с подобными Unix операционными системами. Кроме того, я не уверен, как это работает..., но я хотел бы программировать их в C/C++

20
задан Richard Everett 23 April 2010 в 15:22
поделиться

3 ответа

Всякий раз, когда мне нужно было получить доступ к смарт-картам для использования в приложениях безопасности, я использовал либо:

  • Microsoft CryptoAPI
  • , либо библиотеку PKCS # 11 для карта.

Для доступа к карте с помощью Microsoft CryptoAPI требуются поставщики криптографических служб (CSP) для конкретных карт. CSP находится под слоем CryptoAPI.

Однако, если вы разрабатываете под Unix / Linux с использованием «C / C ++», вам, вероятно, захочется взглянуть на стандарт PKCS # 11 от RSA. Стандарт определяет API C, называемый Cryptoki (интерфейс криптографических токенов), который дает общую абстракцию над всеми типами криптоустройств.Почти все поставщики смарт-карт предоставляют библиотеку PKCS # 11 для своих карт, против которой вы можете запрограммировать использование Cryptoki API.

Если вы хотите получить доступ к смарт-карте / считывателю на более низком уровне, вы можете использовать API, такие как PC / SC или CT-API.

  • Фактически стандарт PC / SC для доступа к смарт-картам, реализованный в Windows, Linux и Mac OS X

  • CT-API обеспечивает лишь очень минимальную функциональность; не очень подходит для современных приложений.

Если вы заинтересованы в написании Java-апплетов, работающих на смарт-картах, вы, вероятно, захотите посмотреть http://java.sun.com/javacard/

Ресурсы, которые могут быть полезны

  • OpenSC - это набор библиотек и инструментов для смарт-карт. Он предназначен для работы с картами поддержки PKCS # 11. OpenCT предоставляет драйверы для картридеров и токенов, которые состоят как из карты, так и из считывающего устройства (например, USB-токены и другие «полные» устройства).

  • http://www.linuxnet.com/ MUSCLE - Движение за использование смарт-карт в среде Linux

  • PKCS # 15 - Стандарт формата информации криптографических токенов

  • Справочник по смарт-картам

  • презентация PKCS # 11 , сделанная на конференции RSA в 2009 году.

  • PyKCS11 Python-оболочка вокруг PKCS # 11. Эти типы оболочек могут обеспечить более простой интерфейс более высокого уровня, чем работа непосредственно на уровне Cryptoki.

  • Альянс смарт-карт

21
ответ дан 30 November 2019 в 00:59
поделиться

Java начинает завоевывать рынок смарт-карт, движимый очень крупными игроками (такими как IBM).

Есть целые страны, где люди носят Java Card в кармане. Например, более 10 миллионов граждан Бельгии имеют (обязательно иметь с собой) национальную идентификационную карту - это карта Java, на которой работает «апплет» BELPIC.

Если я не ошибаюсь, вся бразильская система здравоохранения также основана на Java-картах.

Что касается SmartCard и Linux, вот руководство по Linux SmartCard (обратите внимание, что оно везде полно ключевого слова "Java"):

http://www.faqs.org/docs/Linux-HOWTO/Smart- Card-HOWTO.html

Затем есть .pdf под названием «Изучение смарт-карт» от июня 2008 года, в котором рассматривается большой беспорядок, который представляет собой мир «смарт-карт», и который в основном начинается с объяснения того, что: « SmartCard примерно так же описательна, как и слово «компьютер»: то есть не очень наглядно; )

3
ответ дан 30 November 2019 в 00:59
поделиться

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

Это также помогает понять криптографию (особенно криптографию с открытым ключом) и немного попрактиковаться в упаковке данных в действительно очень крошечные структуры.

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

Вероятно, наиболее часто используемые смарт-карты - это единицы, производимые Mifare, которые обычно изготавливаются как проездные, но также используются в качестве карт лояльности или даже разрешений на доступ.

0
ответ дан 30 November 2019 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: