2015-04-13 3 views
-3

Привет Я ищу информацию о работе ВЗАИМНАЯ АУТЕНТИФИКАЦИЯ с помощью SmartCards, интересно, можете ли вы мне помочь. Я работаю над командами апдура для обратного проектирования и хотел бы знать, как вычислить MAC. Например, у меня есть следующие:Смарт-карта ВЗАИМНАЯ АУТЕНТИФИКАЦИЯ

APPLET: A4 00 04 0C XX XX XX 
APDU: 00 84 00 00 08 C9 
TRX: 00 82 00 00 28 [seed bytes Transformed enc mac ...] 00 
TRX: B0 0C 0D 81 00 97 01 5D 8E 08 [MAC] 00 

Первые две команды я понимаю их прекрасно, но, начиная с третьего 00 82, где я хотел бы знать, как вычислить MAC и что следует, чтобы сделать показания Я хотел бы знать информацию и документы, чтобы прочитать и узнать больше о ВЗАИМНОЙ АУТЕНТИФИКАЦИИ

+1

Какую смарт-карту вы используете? С какой версией глобальной платформы она совместима? – Abraham

+0

Я не знаю, это исследование, но у карты есть апплет PKCS15. как можно было бы определить? –

+0

, если это помогает апплетам с помощью ВЗАИМНОГО АУТЕНТИФИКАЦИИ: A4 00 04 0C 07 A0 00 00 02 47 10 01 53 –

ответ

0

Краткий обзор взаимной аутентификации в целом (я согласен, ISO 7816-4 немного точен по смыслу, концентрируясь на интерфейсе :

  • Mutual Authenticate - это комбинация внутренней аутентификации и команды внешнего аутентификации.

  • Сначала приложение-хост запрашивает случайное число с карты.

  • Тогда это случайное число как-то шифруется с помощью секретного ключа, как правило, путем применения алгоритма MAC

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

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

  • Приложение-хозяин проверяет MAC с карты. Если результат верен, приложение-хозяин может быть уверенным, это «юридическая» карточка.

Две точек являются критическими:

  • как отделить и кодировать MAC и снаружи при условии случайного числа - например как структура TLV с использованием двух объектов данных
  • как идентифицировать как ключей, так как в P2 можно указать только один.
Смежные вопросы