Защита бесконтактных карт от считывания – 3 способа защиты бесконтактных банковских карт

RFID-защита применительно к бумажникам

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

Что такое RFID?

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

Что такое RFID-кража?

RFID-кражами (часто их называют «скимминг»), называют кражи с использованием сканера для чтения и дублирования личной информации от чьего-либо RFID-предмета без ведома владельца. Не смотря на то, что пока на улице это происходит крайне редко, исследователи безопасности продемонстрировали успешные "атаки" (способы кражи информации из некоторых устройств c RFID-поддержкой) и незаконное использование таких атак может привести к мошенничеству с кредитными картами или краже личных данных.

Как работает бумажник с RFID-защитой?

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

Защищены ли карты когда кошелек открыт?

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

Насколько опасна ситуация, при которой вы покупаете не-RFID защищенный бумажник?

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

Как узнать есть ли в вашем паспорте или карте RFID-технология?

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

Относительно паспортов, вы заметите небольшую иконку чипа на обложке.

Если у вас возникли сомнения, уточните этот момент у банка-эмтитента карты или в отделении ФМС, где вам выдавали паспорт.

Почему бренды выпускают кошельки с RFID-защитой?

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

Стоят ли RFID-защищенные кошельки дороже?

В общем случае RFID-защищенные модели стоят, как правило, больше, чем обычные, так как при добавлении RFID-защитного материала увеличивается стоимость производства.

Могу ли я добавить защиту RFID в мой текущий бумажник?

Вы можете купить маленький кусок RFID-защищенной ткани, в который можете обернуть свои карты.

 

www.bagandwallet.ru

RFID защита банковской карты - кошельнки и бумажники с RFID защитой от сканирования

Термин RFID — аббревиатура слов «radiofrequency ID», по-русски «радиочастотная идентификация». Эта технология применяется в бесконтактных системах опознавания и передачи информации, например, при платежах с использованием смартфона, оснащённого радиомодулем RFID (при установке соответствующей программы). Аналогичная система коммуникации встроена в современные удостоверения личности — биометрические паспорта, и в бесконтактные банковские карты. Современная RFID защита банковских карт, находящихся в бумажнике или кошельке, предотвращает несанкционированный доступ и считывание данных злоумышенниками

Для дистанционной связи сканера с устройством используются две технологии, основанные на одном и том же принципе:

  • RFID-технология, позволяющая связываться на относительно большом расстоянии
  • NFC –технология ближнего поля (near field communication), при использовании которой необходимо поднести устройство к сканеру вплотную

Бесконтактный платёж банковскими картами со встроенными чипами радиочастотной идентификации производится по технологии NFC. Но с точки зрения владельца карты, разница между NFC и RFID несущественна. Одинаковые принципы действия подразумевают и одинаковые принципы защиты информации от считывания. Защита, ориентированная на блокировку несанкционированного доступа к устройству RFID, так же надёжно защитит и устройство NFC.

Зачем нужны бумажники с RFID-защитой

Уязвимым местом технологии бесконтактной идентификации является радиоканал между чипом устройства и сканером. Используя фальшивый сканер, злоумышленник может отправить несанкционированный запрос, беспрепятственно считать информацию с банковской карты или смартфона, и изготовить дубликат чипа. Для этого ему достаточно незаметно приблизиться к интересующему его человеку вплотную, например, в толпе при распродажах, в очереди к кассе, на массовом мероприятии. В лаборатории установлено, что устройства, изготовленные по технологии ближнего поля, откликаются при запросе с расстояния до 50 сантиметров, а радиочастотные ещё дальше.

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

Бумажники с защитой от сканирования RFID – принципы работы

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

Преимущества бумажников и кошельков с защитой RFID

Кошельки и бумажникис RFID-защитой получили широкое распространение благодаря ряду преимуществ:

  • Бумажник или кошелёк с функцией экранирования эффективно защищает документы и карты от попыток украсть информацию, постоянно готов к работе.
  • Не требуется применять дополнительные меры, достаточно поместить карту в экранированное портмоне после использования, и она уже будет надёжно защищена.
  • Дополнительное неожиданное преимущество — карта при хранении в таком бумажнике никогда не размагнитится.

Как узнать используется ли на карте RFID-технология

Банковская карта со встроенным чипом удалённой идентификации, биометрический паспорт, изготовленный по аналогичной технологии, смартфон с модулем RFID или любое другое устройство будет маркировано специальным значком. Узнать, какого типа устройство используется для дистанционной идентификации, можно по технологическому логотипу.

  • Логотип NFC на банковских картах, обозначен красной стрелкой
  • Варианты логотипа RFID, обязательно присутствует аббревиатура
  • Логотип на паспорте, обозначающий наличие чипа

Отсутствие этих изображений на устройстве говорит о том, что технологии RFID или NFC на банковской карте не используются.

Как сделать RFID защиту банковских карт своими руками

Поскольку принцип RFID защиты банковской карты основан на экранировании радиоволн, методы самодельной защиты сводятся к изготовлению своими руками подобия металлического контейнера или конверта.

  • Самый простой метод изготовления экрана — обернуть карту в фольгу, например, от шоколада.
  • Взяв полоску фольги по формату отделения для карт в портмоне, и аккуратно обложив фольгой это отделение, можно сделать подобие защищённого бумажника, и закрыть одновременно несколько карт. Отделение превратится в металлизированный пакет, карты надо вкладывать так, чтобы фольга защищала их с обеих сторон.
  • В продаже имеется специальная ткань с радиопоглощающими свойствами, которой можно обшить изнутри карманы одежды, где предполагается хранить паспорт и карты. Или пошить из этой ткани мешочек – вкладыш для отделения сумки, рюкзака, клатча. Или изготовить подобие большого носового платка, и обёртывать им RFID-устройства.
  • Если в доме вдруг нашёлся металлический портсигар прошлого века, то можно использовать его как контейнер для банковских карт. Стильно и винтажно.
  • Неплохим изолирующим чехлом для банковских карт курильщиков послужит сигаретная пачка, в которой имеется внутренний слой из фольги.

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

Защитные RFID чехлы для кредитных карт и бумажников

Для желающих сэкономить средства, производители предлагают недорогие чехлы для банковских карт с RFID-защитой. Они так же надёжны, как и бумажники, но не настолько удобны в эксплуатации. Достоинство - низкая цена

На рынке представлены мужские и женские крупноразмерные защитные чехлы и портмоне с RFID защитой от сканирования, выполненные в виде сумочек. В них помещается и бумажник, и кошелек, и смартфон. Для любителей спортивного стиля одежды разработаны защищённые рюкзаки.

На всех защищённых от сканирования чехлах, бумажниках, сумочках или рюкзаках, обязательно нанесён логотип «RFID Protected», говорящий о дополнительной функциональности и безопасности этих аксессуаров. Аксессуар, на котором нет такого логотипа, не гарантирует защиту данных.

braslet-service.ru

Защита карт от бесконтактного считывания от 39 руб -11. Аксессуары

* Сбор заказов до 18/03. Минимальная партия 150 шт.
* После СТОП, подтвержденные заказы не отменяются.
* Если оплата не поступает - ставлю минусы в рейтинг!
* Участникам с отрицательным рейтингом могу отказать в участие.
* Будьте готовы, что ваш заказ может не прийти, в таком случае я произвожу возврат на карту сразу после раздачи товара.
* Если есть вопросы по товару или покупке-пожалуйста, кидайте ссылку на артикул, чтобы мы смогли оперативно ответить .
* Если даны замеры-они даны поставщиком по изделию, просьба это учитывать при выборе размера!!!!
* Все новости я размещаю в закупке.
* Цвет товара может отличаться от фото, могут быть замены по цвету. Если Вам товар не подошел, не сел или не понравился-это НЕ является основанием для возврата! Под гарантию размера не попадает: незначительные отклонения от замеров поставщика, несоответствие размера, указанного на изделии, с заказанным, если оно соответствует той размерной сетке, которая представлена организатором. Прошу учесть, что цвет товара может отличаться по цветовой гамме и насыщенности цвета в зависимости от настроек контрастности и цветовых схем ваших мониторов.
* Организатор не обязан информировать каждого участника лично о сроках проведения закупки, сдачи денег и разбора заказов. Вся необходимая информация публикуется в новостях и участники обязаны сами следить за ходом закупки и осуществлять все необходимые действия в указанные сроки.
* Товар, не имеющий заводского брака, возврату не подлежит. Некоторые вещи из Китая приходят без этикеток . Вещи не проходят предпродажную подготовку, могут быть лишние нитки.
* В случае обнаружения брака претензии принимаются в течении 10-х дней с момента поступления товара в Пункт выдачи, возврат денег в течении 7 дней.

ДОПОЛНИТЕЛЬНЫЕ УСЛОВИЯ:
1. Как показывает практика, товар может не прийти (даже если он подтвержден и оплачен, по причинам, которые от нас НЕ зависят), прийти в деформированных коробках, либо в бракованном виде.
2. Если по вашему заказу недопоставка, вы получите сообщение не позднее 7 дней с даты раздачи. Собранные товары отмечаются в Вашем заказе зеленой галочкой.

ПРАВИЛА РАБОТЫ С БРАКОМ!
1. Участник должен сообщить Организатору о браке ТОВАРА или другой информации о заказе(недопоставке, если Вы не получили от меня сообщение) не позднее 10 дней с момента доставки товара на точку и вернуть данную вещь организатору в тот пункт выдачи, в котором получил заказ не позднее 10 дней с даты согласования с организатором обмена/возврата товара. Если информация о браке или возврат были произведены организатору позднее, он не обязан решать.
2. Информация о браке (фото, претензия) отправляется после запроса либо на электронную почту, либо на вотсапп, в течение 7 дней после того, как организатор выслал в сообщении электронный адрес. Если фото и описание претензии не было предоставлено в срок, Организатор не обязан решать данный вопрос.
2. Брак возвращается на точку после согласования с организатором, после того, как Вы сделали возврат-ОБЯЗАТЕЛЬНО отписаться в личку. Обращаю ваше внимание-не выкидывать стикер, пока не проверите товар на соответствие заказу и браку!

ВОЗВРАТЫ ДЕНЕЖНЫХ СРЕДСТВ ЗА НЕДОПОСТАВКУ!
1. По возвратам и срокам возвратов ДЕНЕЖНЫХ СРЕДСТВ ЗА НЕДОПОСТАВКУ- обычно возврат занимает 7 рабочих дней, жду сверки и возвратов от поставщика, как получаю-делаю перевод и отписываюсь о возврате, максимально возврат занимает 10 рабочих дней

www.100sp.ru

Что записано внутри бесконтактных карт Киевского метрополитена? / Habr

Бесконтактные карты в киевском метро начали вводить в 2007 году (информация на сайте метро, укр), но широкое распространение и внедрение они получили только к концу 2008 года. На сегодняшний день существуют два основных типа проездных билетов: проездные со сроком действия, и проездные на количеств поездок. В проездных используются бесконтактные карты MIFARE Classic 1K.


Фото — Metromuseum.net

Об уязвимостях чипов MIFARE Classic стало известно в 2007 году. Подробную историю открытия уязвимостей можно почитать в статье. Статья хоть и 2008 года, но до сих пор актуальна, и в ней перечислены основные этапы нахождения уязвимостей. Совместив эти знания можно посмотреть, что же записывается в карты киевского метро на примере проездного на количество поездок.

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

Настраиваем рабочее место

Для считывания бесконтактных карт, мы будем использовать:
  • ридер — SCL3711;
  • открытую библиотеку для работы с бесконтактными картами — libnfc;
  • утилиту для получения ключей — mfoc из комплекта nfc-tools.

Ридер


Так, как мы будем использовать libnfc, ридер необходимо выбирать из тех, с которыми библиотека лучше всего совместима. Выбираем на странице совместимости подходящий и покупаем. Я остановился на ридере SCL3711 с чипом PN533 v2.7 (на фото, покупал на eBay за 35$).

Библиотека libnfc

Я буду описывать процедуру сборки libnfc для Ubuntu 12.04, для других платформ подробная инструкция по установке есть на сайте .

Устанавливаем зависимости необходимые для сборки пакетов и работы с SVN (для тех, у кого не установлены):

sudo apt-get install subversion dpkg-dev debhelper dh-autoreconf libtool

Устанавливаем пакеты, которые необходимы для сборки libnfc:
sudo apt-get install libuсsb-dev libpcsclite-dev

Скачиваем и распаковываем последнюю версию библиотеки (1.6.0-rc1), из репозитория загружаем файлы, необходимые для сборки deb пакета:
wget http://libnfc.googlecode.com/files/libnfc-1.6.0-rc1.tar.gz
tar -xvzf libnfc-1.6.0-rc1.tar.gz
cd libnfc-1.6.0-rc1/
svn checkout http://libnfc.googlecode.com/svn/tags/libnfc-1.6.0-rc1/debian

Я рекомендую убрать вывод отладочных сообщений. Для этого в файле debian/rules надо убрать ключ --enable-debug в строке dh_auto_configure.

Собираем пакеты:

dpkg-buildpackage -b -us -uc

Устанавливаем зависимости и пакеты:
sudo apt-get install libusb-0.1-4 libpcsclite1 libccid pcscd
sudo dpkg -i ../libnfc*.deb

Для проверки ридер должен быть подключен и рядом с ним (в радиусе его действия) лежать карточка. Проверяем работоспособность командой nfc-list, которая выводит список ридеров и карт, в поле ридера:
$ nfc-list
nfc-list uses libnfc 1.6.0-rc1 (rexported)
NFC device: SCM Micro / SCL3711-NFC&RW — PN533 v2.7 (0x07) opened
    ATQA (SENS_RES): 00 04
       UID (NFCID1): 5b b8 5f 28
      SAK (SEL_RES): 08

Если вы увидели что-то подобное — значит все работатет. У меня сначала выдавало ошибку "libnfc.driver.pn53x_usb Unable to set USB configuration (Device or resource busy)". Дело в том, что В Ubuntu 12.04 по-умолчанию установлены какие-то драйвера для чипа PN533, и libnfc не может получить доступ к устройству. Лечится отключением встроенного драйвера "sudo modprobe -r pn533".
Утилита mfoc

Будем использовать утилиту mfoc из последней версии nfc-tools из репозитория. Проблем возникнуть не должно:
svn checkout http://nfc-tools.googlecode.com/svn/trunk/mfoc/ mfoc
cd mfoc
dpkg-buildpackage -b -us -uc
sudo dpkg -i mfoc_0.10.2pre3.1-0_amd64.deb
Заглядываем внутрь

Теоретическая часть

Карты MIFARE Classic 1K имеют 1 Кбайт памяти, которая разбита на 16 секторов. Каждый сектор состоит из 4 блоков по 16 байт. Каждый сектор защищен двумя 48-битными ключами A и B (которые хранятся в 4 блоке).

Для операции с конкретным сектором ридер должен авторизоваться с помощью одного из ключей (A или B) для этого сектора. Каждому ключу могут быть присвоены независимые права на чтение и записи. Уязвимость которую использует mfoc состоит в том, что если известен ключ хотя-бы к одному сектору, то после авторизации для этого сектора, mfoc пытается аутентифицироваться для другого сектора, и эта попытка раскрывает 32 бита ключа для нового сектора. Более подробно и корректно можно прочитать в статье Wirelessly Pickpocketing a Mifare Classic Card.

Практическая часть

Получаем ключи к карте с помощью утилиты mfoc:
mfoc -O keys.mfd

Где-то через минуту, вы получите ответ "Auth with all sectors succeeded, dumping keys to a file!". После этого в файл keys.mfd лежат ключи к карте. Ключи для всех карт одинаковы, и к слову довольно давно выложены в интернет (очевидно, одним из сотрудников) .

Для анализа сливаем дамп карты:

nfc-mfclassic r a new00-04-11.mfd keys.mfd

Повторяем процедуру после каждой поездки на метро или пополнения счета, и получаем достаточный набор дампов для анализа.
Анализ

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

Заголовок карточки — два идентичных блока по адресам 0x2D0 и 0x2E0. Каждый блок содержит информацию о порядковом номере операции с карточкой, оставшемся количестве поездок и дате и времени последней операции. Дата и время записаны странно: побитово, и секунды зачем-то разделены на 2 (см. коде ниже).

Блоки, содержащие историю последних шести операций, находятся по адресам 0xC0, 0xD0, 0xE0, 0x100, 0x110, 0x120. Каждая запись содержит:

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

Номер терминала должен зависеть от станции метро, но я не до конца уверен. Дата и время записаны в другом, но таком же чудном формате, как и в заголовке.
Пример

Программа на питоне, которая читает данные из дампа полученного с помощью nfc-mfclassic:
#!/usr/bin/env python
import sys
from struct import unpack 
from datetime import datetime
 
def get_crc(block):
    """XOR all bytes in block"""
    return reduce(lambda x, y: x ^ ord(y), block, 0)
 
def get_bits(i, s, l):
    """ Get l bits starting at s"""
    mask = (1 << (l)) - 1 
    return int((i >> s) & mask)
 
def print_info(data):
    # card number
    number = unpack('<4H', data[0x46:0x4E])
    print "Card #:tt{3:04X} {2:04X} {1:04X} {0:04X}".format(*number)
 
    # card header blocks
    header_block = data[0x2D0:0x2E0]
    crc_2d = get_crc(header_block)
    crc_2e = get_crc(data[0x2E0:0x2F0])
    print "nHeader: t" + ("ok" if crc_2d == crc_2e else "err")
    print "Block 0x2D CRC:t{:#x}".format(crc_2d)
    print "Block 0x2E CRC:t{:#x}".format(crc_2e)
 
    # last activity
    activity_number, activity2, activity1 = unpack('>HLH', data[0x2E2:0x2EA])
    activity = activity1 + (activity2 << 16)
    activity_count = get_bits(activity, 38, 10)
    y = get_bits(activity, 6, 5) + 2000
    M = get_bits(activity, 11, 4)
    d = get_bits(activity, 15, 5)
    h = get_bits(activity, 20, 5)
    m = get_bits(activity, 25, 6)
    s = get_bits(activity, 31, 5) * 2
    activity_date = datetime(y, M, d, h, m, s)
    activity_position, = unpack('>H', data[0x147:0x149])
    activity_index = (activity_position / 0x40) - 32
    print  "nLast activity #t{}".format(activity_number)
    print  "Positiont{:#x} ({})".format(activity_position, activity_index)
    print  "Date:tt" + activity_date.isoformat()
    print  "Counter:t{}".format(activity_count)
 
    # last activities positions
    positions = [0xC0, 0xD0, 0xE0, 0x100, 0x110, 0x120]
    print "n{:^20}{:^5}{:^20}{:^12}".format("Date", "unk", "Terminal", "Operation")
    print "{:>31}{:>5}{:>4}{:>10}{:>7}".format("ID", "Type", "Cnt", "Type", "Cnt")
 
    # get correct order
    i = 5 if activity_index > 5 else activity_index
    positions_ordered = positions[(i+1):] + positions[:(i+1)]
    for pos in positions_ordered:
        block = data[pos:pos+0x10]
        # if undefined or empty block
        if (get_crc(block) <> 0) or (ord(block[0]) == 0):
            continue
        date_i, unk = unpack('>LH', block[1:7])
        term_id, term_type, term_cnt = unpack('>BBH', block[7:11])
        op_type, op_cnt_i  = unpack('>HH', block[11:15])
        op_cnt = op_cnt_i / 0x40
        h = get_bits(date_i, 2, 5)
        m = get_bits(date_i, 7, 6)
        s = get_bits(date_i, 13, 5) * 2
        y = 2000 + get_bits(date_i, 18, 5)
        M = get_bits(date_i, 23, 4)
        d = get_bits(date_i, 27, 5)
        date = datetime(y, M, d, h, m, s)
        print "{}{:>#5x}{:>#7x}{:>#5x}{:>#7x}{:>#9x}{:>4}
        ".format(date.isoformat(), unk, term_id, term_type, term_cnt, op_type, op_cnt)
 
def main(filename):
    with open(filename, "rb") as f:
        data = f.read(1024)
        print_info(data)
 
if __name__ == "__main__":
    main(sys.argv[1])

Пример работы программы:

Как можно использовать

Запись о последних 6 поездках можно использовать для просмотра перемещений. Даже, если не видно станцию, то видно точную дату и время поездки.

С другой стороны, можно собирать статистику по метрополитену. Так, как каждый турникет записывает свой номер транзакции на карточку, можно смотреть, сколько прошло людей через турникет. Например, на дампе сверху видно, что через турникет на Политехническом институте (Номер терминала 0x14) за сутки прошло приблизительно 1000 человек.

habr.com

alexxlab

*

*

Top