Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

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

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

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

  • Стандарт PC/SC defacto для доступа к смарт-карте, реализованный в 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 - Стандарт формата стандартного криптографического токена

  • Руководство по смарт-карте

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

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

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

Ответ 2

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

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

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

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

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

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

Ответ 3

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

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

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

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

Ответ 4

Очень поздно дать ответ, но я хотел бы дать одно дополнение к ответу @bignum.

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

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

И вы также можете ссылаться или использовать проект API смарт-карты SEEK FOR ANDROID, размещенный в коде googlecode для из первых рук.