Emv smartcard reader как пользоваться

Обновлено: 07.07.2024

1) Информация, возможно, и не конфиденциальная, но персональная - соответственно, любая попытка ее машинной обработки попадает под соответствующий ФЗ, это Вы должны понимать для начала.
2) Вопрос, собственно, не в закрытости информации, а в закрытости интерфейсов карты. Я Вам уже писал, что обычно такая информация передается с заключением договора о нераспространении. В открытом доступе ее может просто не быть.
3) Вы уверены, что знание интерфейса Вам поможет? Там нет никакой криптозащиты?

PS. Чтобы не вводить никого в заблуждение - у меня нет такой информации.

Не знаю, может что-то изменилось, но с покон веков использовались CTAPI для чтения/записи чип-карт. На сколько я понял вам ето бля банковских карт? Вам нужна структура записей на карте. она стандартизированна(в большинстве случаев) ФИО. возраст, адресс, номер в открытой форме, остальная информация шифрованна и финкция для авторизации зашифроанна, для расшифровки и получения информации нужно подать команду на карту, получить запрос на пароль, вернуть пароль и читать данные. в общем все ето описанно в CTAPI(CT-API). и актуально для европы(стандартизация структуры данных и последовательность чтения) Большое спасибо AcerExtensa, по поводу банковских смарт карт действительно много информации, и общие данные считать без проблем, но мне необходимо считать информацию, как я уже писал выше с удостоверения личности и водительских прав, опять же повторюсь с данных документов мне не нужна какая то сверх секретная информация, которая является защищенной и приследуется за взлом по закону, вся это информация которую мне нужно получить ее можно без проблем прочитать глазами(такие данные как фио, адрес и.т.д). Но работа с данным видом смарт карт не похоже на банковские смарт карты. Друзья помогите:] Давай по очереди:
1. Ты можеш прочесть данные в бинарном виде с карты?
2. Ты не можеш их расшифровать, так сказать?

Уважаемый(-ая) AcerExtensa, у мя получилось:
1) инициализировать смард ридер (CI691)
2) инициализировать карту
3) я получил с нее кое- какие данные, вот они
__________________________________________________ _______________
SMART CARD INFO

ICC STATE
ATR STRING . 3B 77 18 00 00 4B 41 53 41 4B 49 44
ICC PRESENCE . 2
ICC INTERFACE STATUS . 255
ICC TYPE PER ATR . 1
CURRENT IO STATE . < no info >

PROTOCOL
DEFAULT DATA RATE . 10080
MAX DATA RATE . 312500
ASYNC PROTOCOL TYPES . 3
DEFAULT CLK . 3750
MAX CLK . 7500
MAX IFSD . 254
SYNC PROTOCOL TYPES . < no info >

IFD PROTOCOL
CURRENT PROTOCOL TYPE . 1
CURRENT CLK . 3750
CURRENT F . 372
CURRENT D . 12
CURRENT N . 0
CURRENT W . 10
CURRENT IFSC . 0
CURRENT IFSD . 254
CURRENT BWT . 0
CURRENT CWT . 0
CURRENT EBC ENCODING . 0
EXTENDED BWT . < no info >
__________________________________________________ __________
, но мне кажется это не то что нужно, скорее всего это информация о ПО смард ридера.
4) Теперь для получения данных в бинарном виде используются так называемые APDU (Application Protocol Data Unit) команды(5-ти байтовые), на которые ридер должен дать ответ, так вот я и застопорился на этих командах, я не знаю как правильно их посылать. Вот я и прошу скинуть ссылочку где можно будет об этом что нибдуь почитать более детально, я нашел много инфы, но она вся поверхностная.. Всем большое спасибо.

фрэймворк для работы с картами: opensc

выложи код, как ты пытаешся читать.

//. Э то основная процедура которая должна вернуть бинарник

procedure bt_SendClick(Sender: TObject);
begin
label2.caption := Bin2HexExt(pcsc.GetResponseFromCard(Hex2Bin(adpu_c omand)), true, true);
end;

//. Эта функция если правильно передать в нее APdu команду выдаст ответ.Функция SCardTransmit берется со стандартной библиотеки winscard.dll


//. Эта функция и должна дать мне бинарник, но поскольку GetResponseFromCard не дает правильного ответа, соответственно и преборозовать не чего не получаеться.

function Hex2Bin(input: string): string;
var
hex, output: string;
loop : integer;
begin
for loop := 1 to Length(input) do if Pos(input[loop], hexchars) > 0 then hex := hex + AnsiUpperCase(input[loop]);
loop := 1;
if Length(hex) > 0 then
repeat
output := output + Chr(StrToInt('$'+Copy(hex,loop,2)));
loop := loop + 2;
until loop > Length(hex);
Result := output;
end;
-------------------------------------------------
Пишу я на дельфи.

Краткое описание:
Программа для чтения и сохранения данных с пластиковых и бесконтактных NFC EMV платёжных карт MasterCard, Maestro, VISA.

NFC EMV Card Reader считывает и сохраняет данные и информацию с бесконтактных платежных карт (кредитных, дебетовых, предоплаченных и т.д.) на вашем устройстве на базе Android. С помощью этого приложения вы можете считывать данные со своей существующей пластиковой или цифровой платежной карты.

Возможности:
• Чтение, хранение и управление несколькими платежными картами.
• Просмотр доступных данных и записей приложения.
• Извлечение конфиденциальной информации о платежных картах.
• Просмотр данных «Дорожка 1» и «Дорожка 2» (которые наиболее активно используются при обработке платежных карт).
• Просмотр последних совершенных транзакций.

Дополнительная информация:
• POS/POP-терминалы по всему миру используют стандарт EMV для обработки бесконтактных транзакций. Используя это приложение, вы сможете увидеть пример связи между POS/POP-устройством и платежной картой, которую вы хотите прочитать.
• Важно - за использование этого приложения плата не взимается. Это также означает, что с платежных карт, которые вы читаете, НЕ будут списываться средства.
• Приложение можно использовать в основном для справок или анализа.
• Если вы собираетесь считывать данные цифровой платежной карты с другого устройства Android (например, из Google Pay, Android Pay или другого приложения для цифрового кошелька), перед началом работы необходимо отключить Android Beam на обоих устройствах.

Поддерживаемые в настоящее время платежные карты (с AID):
• Mastercard - Кредитная или дебетовая (глобальная) - A0000000041010
• Mastercard - Common (только для США) - A0000000042203
• Mastercard - Обычная - A0000000049999
• Maestro - Дебетовая - A0000000043060
• Maestro - Дебет (внутри Великобритании) - Maestro UK (Switch) / Solo (Switch) - A0000000050001 / A0000000050002
• Visa - Кредитная или дебетовая (международная) - A0000000031010
• Visa - Common (только для США) - A0000000980840
• Visa Electron - Кредитная или дебетовая (международная) - A0000000032010

Обновление 2.2 - поддерживаются все платежные карты с неопределенными идентификаторами AID и следующими идентификаторами RID:
A000000004, A000000005, A000000003.
Это означает, что принимаются почти все платежные карты Mastercard и Visa, выпущенные во всем мире.

Перед тем, как начать читать карты:
• Убедитесь, что платежные карты, которые вы хотите прочитать, являются бесконтактными (на них напечатан логотип RFID).
• Убедитесь, что в настоящее время это приложение поддерживает платежные карты.
• Включите NFC (связь ближнего поля) в настройках (если он не включен).

Примечания по безопасности:
• Приложение использует только разрешения «NFC» и «VIBRATE». Нет разрешения «ИНТЕРНЕТ». Это означает, что разработчик не отправляет и не хранит никаких данных.
• Данные платежных карт хранятся в частном порядке в базе данных на устройстве, используемом в качестве считывателя.
• В целях защиты конфиденциальности некоторые конфиденциальные данные скрыты до выполнения дополнительной разблокировки.

Техническая информация:
• Операционное устройство должно иметь оборудование NFC, необходимое для этого приложения.

Правовая оговорка:
• Это программное обеспечение должно использоваться только для чтения ваших собственных платежных карт, если это разрешено законом. Его нельзя использовать в незаконных целях.
• Это программное обеспечение предоставляется без каких-либо гарантий и вы используете его на свой страх и риск. Риск невелик, но ваши платежные карты могут прийти в негодность.

Считыватель для смарт-карт Рутокен SCR 3001 является устройством для чтения и записи смарт-карт.

Считыватель совместим с операционными системами: Windows, macOS и Linux.

Внешний вид считывателя представлен на иллюстрации:


Подключение считывателя к компьютеру

Подключите считыватель к USB-порту компьютера.

Подключение смарт-карты к считывателю

Вставьте смарт-карту в считыватель. Корректный способ представлен на иллюстрации:

Обратите внимание на положение чипа смарт-карты.


Значения индикаторов считывателя

Индикаторы работы считывателя и смарт-карты расположены на передней части корпуса считывателя:


Левый индикатор показывает текущее состояние считывателя, правый — смарт-карты.

Состояния индикаторов и их значения представлены в таблице:

  • не горит (считыватель не подключен к компьютеру)
  • мигает (проблема со считывателем)
  • горит (считыватель подключен к компьютеру)
  • не горит (смарт-карта не подключена к компьютеру)
  • мигает (происходит обмен данными со смарт-картой)
  • мигает с длинными интервалами (проблема со смарт-картой)
  • горит (смарт-карта подключена к компьютеру)

Работа со считывателем в ОС Windows

Проверка работы считывателя

Чтобы проверить работу считывателя:

Определение версии прошивки считывателя

Чтобы определить текущую версию прошивки считывателя:


  1. Откройте Диспетчер устройств.
  2. Рядом с пунктом Устройства чтения смарт-карт щелкните по галочке. Откроется список подключенных устройств.
  3. Два раза щелкните по верхней строке Устройство чтения смарт-карт Microsoft Usbccid (WUDF). Откроется окно со свойствами считывателя.
  4. Перейдите на вкладку Сведения.
  5. В раскрывающемся списке Свойство выберите пункт ИД оборудования.
    В поле Значение указана версия прошивки считывателя (на иллюстрации версия прошивки 5.11).

Работа со считывателем в ОС Linux

Проверка работы считывателя

Чтобы проверить работу считывателя, подключите его к компьютеру и введите команду:

Если в результате выполнения команды отобразится название модели считывателя Aktiv Rutoken SCR 3001 Reader, то значит он работает корректно.


Если в результате выполнения команды отобразились строки "Scanning present readers. Waiting for the first reader. ", то необходимо внести в конфигурационный файл info.plist запись о считывателе.

Для изменения файла info.plist необходимы права администратора.

Чтобы внести изменение в конфигурационный файл info.plist:


  1. Найдите этот файл на компьютере. Путь до файла:
    /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents
  2. Откройте файл info.plist в любом текстовом редакторе.
  3. Найдите массив <key>ifdVendorID</key> и добавьте в него строку <string>0x0A89</string>.
  4. Найдите массив <key>ifdProductID</key> и добавьте в него строку <string>0x0069</string>.
  5. Найдите массив <key>ifdFriendlyName</key> и добавьте в него строку <string>Aktiv Rutoken SCR 3001 Reader</string>.
  6. Сохраните изменения в файле info.plist.
  7. Отключите считыватель от компьютера.
  8. Перезагрузите систему.
  9. Подключите считыватель к компьютеру и снова проверьте работу считывателя.

Определение версии прошивки считывателя

Чтобы определить версию прошивки считывателя, подключите его к компьютеру и введите команду:

В результате в строке bcdDevice отобразится версия прошивки считывателя (на иллюстрации версия прошивки 5.11).


Работа со считывателем в macOS

Проверка работы считывателя

Чтобы проверить работу считывателя:


Определение версии прошивки считывателя

Чтобы определить версию прошивки считывателя:


  1. Подключите считыватель для смарт-карт к компьютеру.
  2. Откройте программу Lauchpad.
  3. В строке поиска введите слово "информация" ("information").
  4. Откройте программу Информация о системе (System Information).
  5. На боковой панели окна программы выберите пункт USB.
  6. Для считывателя в окне программы отобразится название модели считывателя и информация о нем.
    В поле Версия указана версия прошивки считывателя (на иллюстрации версия прошивки 5.11).

Нас попросили помочь с настройкой считывателя смарт-карт на компьютере под управлением Windows 7. Но, это заставило задуматься о том, что произойдет, если мы подключим устройство чтения карт к ноутбуку с Ubuntu и сможем ли мы считать содержание с Thai ID card.

Считыватель смарт-карт EZ100PU

Давайте сначала посмотрим на сам считыватель.





На другой стороне платы слот для смарт-карт.

Использование считывателя смарт-карт в Ubuntu 18.04

Давайте подключим считыватель к ноутбуку и вставим Thai ID card (контактная смарт-карта).


Смарт-карта ​​автоматически определяется как EMV Smartcard Reader.

[ 3024.839989 ] usb 3 - 2 : new full - speed USB device number 3 using xhci _ hcd [ 3025.020314 ] usb 3 - 2 : New USB device found , idVendor = 058f , idProduct = 9540 , bcdDevice = 1.20 [ 3025.020317 ] usb 3 - 2 : New USB device strings : Mfr = 1 , Product = 2 , SerialNumber = 0 [ 3025.020320 ] usb 3 - 2 : Product : EMV Smartcard Reader

Пришлось обратиться к Интернету, и мы нашли пост на Linuxmint, объясняющий, как это сделать, основываясь на более раннем посте об испанских идентификационных картах.

Необходимо установить несколько пакетов (примечание: не все могут понадобиться, но важными являются pcscd и pcsc-tools):

sudo apt install libccid pcscd pinentry - gtk2 pcsc - tools libpcsclite - dev libreadline - dev coolkey

Теперь запускаем сканирование на считывателе:

V 1.5.2 ( c ) 2001 - 2017 , Ludovic Rousseau & lt ; ludovic . rousseau @ free . fr > 250000 bits / s at 4 MHz , fMax for Fi = 5 MHz = > 312500 bits / s Possibly identified card ( using / usr / share / pcsc / smartcard_list . txt ) : Possibly identified card ( using / home / jaufranc / . cache / smartcard_list . txt ) :

Обнаружен Alcor Micro AU9560, и он обнаруживает тайский паспорт, возможно потому, что программа, использованная для создания карты, была неправильно настроена.

В smartcard_list.txt есть несколько других кодов специально для карт Thai ID. Вы можете проверить этот файл, чтобы увидеть все виды поддержки карт. Вот некоторые, для справки, с пометкой «Thai»:

Чтение и декодирование данных с ID Card

Получить доступ к оборудованию можно с помощью считывателя и получить тип карты. Это все хорошо, но было бы хорошо иметь возможность доступа и декодирования данных внутри Thai ID card. Пользователь Github Bouroo написал код для этого на Python и NodeJS.

Сделаем это с помощью скрипта Python. Сначала нам нужно установить некоторые зависимости:

Читайте также: