PankovAlxndr
@PankovAlxndr
Fullstack web developer

Программирование NFC

Здравствуйте. Хочу реализовать такую штуку. Знаю, что это не целесообразно и никому не нужно - просто хочу узнать, возможно ли это вообще и если возможно, то как лучше?

Смысл в том, чтобы Компьютер, точнее ОС, при запуске просила пользователя не пароль ввести, а предоставить, например, его телефон, в котором есть NFC.
Итого имеем компьютер, имеем подключенный к нему NFC-Reader.
То есть необходимо написать приложение, которое до загрузки основной системы будет простить эдакую аутентификацию... (типо USB-ключ, но только телефон, который всегда с собой и не надо никуда ничего втыкать и вводить, NFC же).

Так вот как это должно происходить?
1) Возьмем например java (хотя в окне выбора пользователя наверно не получиться запустить java-приложение, или я не прав?). Так вот, отыскал я API. По моему java прекрасно работает со смарт-картами (вроде бы одно и тоже что и NFC). Когда пользователь кладет свой телефон на NFC-reader, срабатывает слушатель в программе обрабатывает событие и предоставляет пользователю доступ или привилегии, ну не суть важна.

2) NFC подрозумевает обмен данными. В чем главный вопрос? Телефон с NFC какие данные и как и может ли вообще оправлять на NFC-Reader, и возможно ли их потом оттуда считать? Например, с NFC метки телефон считывает, но не посылает данные на NFC-метку. Я же под данными подразумеваю хоть какая-нибудь маленькую строчку, например SN или MAC телефона, который однозначно идентифицирует владельца в системе компьютера. Например есть БД, полученная строка по NFC-каналу приложением отправлятся в БД, как-нибудь еще обрабатывается и приложение получает ответ с инструкциями что делать, пользователь видит результат на экране (пошел вон - добро пожаловать).

Заранее благодарен за ответ.
  • Вопрос задан
  • 7000 просмотров
Пригласить эксперта
Ответы на вопрос 2
Spetros
@Spetros
IT-шник
Реализация такой штуки возможна, вход в систему при помощи NFC по сути ничем не отличается входа по другим токенам. По ним информации в интернете предостаточно.

Отвечаю на ваш "главный вопрос", т.к. в заголовке затронута довольно обширная область знаний.
Для решения своей задачи вы планируете использовать два активных устройства: NFC-reader и телефон с модулем NFC, соответственно, между ними можно организовать связь point-to-point.
Это означает, что вы можете организовать двунаправленный обмен любыми данными и даже реализовать свой протокол аутентификации устройств.
Для этого потребуется написать два приложения: одно для ПК, второе для телефона. Как они будут взаимодействовать - это уже на ваше усмотрение.

PS По первому пункту поищите информацию о PC/SC - это более правильное направление.

PPS В случае, когда "с NFC метки телефон считывает" данные все равно отправляются т.к. может быть несколько меток и нужно выбрать одну из них или, например, для доступа к данным на метке требуется аутентификация(например, БСК на транспорте)
Ответ написан
@elsin16
nfc-tools.org/index.php?title=Pam_nfc
Вроде должно Вам помочь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы