Наткнулся на сообщение 2012 года Предотвратить копирование сигнала чипа nfc, которое советует:
«Не рекомендуется использовать уникальный идентификатор тега в качестве функции безопасности».
Почему, помимо причин, указанных ниже, использование уникального идентификатора как части сообщения, которое генерирует код аутентификации сообщения (MAC), является проблемой безопасности?
Мое приложение заключается в использовании 8-байтового фиксированного уникального идентификатора транспондера RFID, части 100 байтов данных RFID и некоторых случайных данных * для получения MAC. Этот MAC-адрес будет использоваться для аутентификации сообщения тега.
Основная причина включения уникального идентификатора в MAC заключается в том, что он предотвращает простое копирование сообщения тега, а MAC для другого тега не дает законного MAC.
MAC должен быть достаточного размера, с идентификатором или без него. Целевой размер MAC: 512 бит (32 байта).
Известные проблемы:
Одна известная атака состоит в том, чтобы сделать прямую копию всех данных и идентификатора тега, а затем перенести их в симулятор тега, который может воссоздать идентификатор на другом теге. Так что использование ID не помогает.
Изменение MAC, которое зависит исключительно от изменения идентификатора (остальные данные одинаковы), может помочь взломать MAC. Для защиты от этой уязвимости MAC также должен зависеть от дополнительных случайных данных.
- 4 байта случайных данных для обеспечения того, чтобы в случае повторения содержимого данных изменение MAC-адреса зависело не только от уникального идентификатора — по сути, от расширения идентификатора.