NFC-аутентификация

Я получаю uid тега NFC, отправляя и получая APDU с карты. Хранение их в базе данных. Во время входа в систему я сравниваю идентификатор вошедшего в систему пользовательского тега с базой данных для аутентификации. Это работает, но правильный ли это способ аутентификации NFC в соответствии со стандартной политикой безопасности? Я немного сбит с толку, поскольку PKI включает в себя обработку сертификатов и привязку пользователей с открытыми ключами.


person san    schedule 29.11.2018    source источник


Ответы (1)


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

Есть много альтернатив, таких как эти две довольно упрощенные:

  • Используйте один из стандартных защищенных каналов (SCP02, SCP03) для выполнения взаимной аутентификации кард-ридера, а затем отправьте идентификатор. Каждая карта должна быть снабжена набором симметричных ключей (3DES или AES в приведенных выше случаях), а считыватель должен иметь средства для их получения из некоторого уникального идентификатора карты.

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

Возможно, вы сможете найти гораздо лучшие идеи, осмотревшись вокруг. Удачи!

person mictter    schedule 30.11.2018