Помогите разобраться что к чему (Вопросы от чайника)
- Войдите на сайт для отправки комментариев
Приветствую!
Есть идея создания одного проекта, в котором не малую роль будут играть небольшие устройства считывания, пришёл к мысли, что использовать arduino для этих целей будет разумно.
Кратко о том, что из себя представляет устройство и что должно делать:
Некая коробка с NFC и дисплеем и парой кнопок, которая подсоединяется к компьютеру через USB. Важно отметить, что NFC модуль должен быть подключен к коробке через провод (Т.е. схема подключения: ПК -> Коробка с дисплеем и кнопкой -> NFC). Т.е. NFC в данном случае будет выглядеть примерно как пин-пад терминала оплаты картами, само устройство отдельно, пин-пад через провод отдельно:
Устройство должно уметь хранить пару открытый-закрытый ключ PGP (Которую можно загрузить через NFC, предварительно включив режим импорта на устройстве) и при обнаружении NFC метки (Телефон, планшет и т.п.) получать с неё некий текст, подписанный этим закрытым ключом и проверять его открытым ключом. Если подпись верна - передавать текст (Уже без подписи) дальше на ПК (Скорее всего через эмуляцию клавиатуры).
Также нужна возможность подписывать новые тексты, т.е. выбираем режим подписи на нашем устройстве, подносим NFC-устройство, с него получаем текст, подписываем закрытым ключом и отправляем обратно на устройство.
Вкратце всё, если непонятно или требуются уточнения - задавайте вопросы :)
В связи с вышеописанным и моим скудным знанием в данной области, возникло несколько вопросов:
1. Можно ли данную задумку реализовать с помощью Arduino nano (На сколько я понял, это самое простое устройство из всей линейки, соответственно самое дешёвое?), т.к. планируется серийный выпуск устройств, важна конечная цена устройства.
2. Можно ли выносной NFC-модуль сделать отсоединяемым и автономным (Наверно потребуется его делать как дополнительное устройство со своим контроллером, батареей и памятью), чтобы можно было его снять, считать текст с NFC-устройства, находящегося на отдалении, подсоединить обратно к устройству и проверить подпись.
3. Достаточно ли будет питания через USB от ПК, чтобы всё это дело работало? Или нужно добавлять какой-то аккумулятор и шнур питания?
4. Скорее всего не сюда, но может быть есть те, кто знает: как вообще происходит работа по NFC? Можно ли при обнаружении устройства отсылать ему какие-то данные и проверять, что он ответит, и после этого уже считывать текст?
5. Сколько примерно будет стоить разработка тестового образца устройства и какие дополнительные модули (Помимо дисплея и NFC) потребуется купить? Без отсоединяемого NFC-модуля.
6. Есть ли альтернативные варианты в вопросе железа? Отдельно покупать плату, процессор, модули и т.п. и собирать в устройство?
PS: сам хоть и знаком с программированием, разбираться и ваять что-то с arduino или чем-то подобным своими силами не планирую, думаю отдать разработку тем, кто в этом разбирается :)
Так пониже есть "Ищу исполнителя", лучше сразу туда переехать.
Я просто до конца не уверен, что конкретно надо просить и как всё это устроено, и для себя какое-то понимание хочется получить. Поэтому хотел сначала чуть больше разобраться в вопросе и определиться, что к чему, а потом уже туда с конкретными требованиями.
Просто проект больно специфичный для форума. Я бы на вашем месте, постарался сформулировать ТЗ и от него уже вести диалог в той ветке.
Ну может хотя бы на общие вопросы получу ответы :)
Также нужна возможность подписывать новые тексты, т.е. выбираем режим подписи на нашем устройстве, подносим NFC-устройство, с него получаем текст, подписываем закрытым ключом и отправляем обратно на устройство.
Вы в своем уме? Эта задачка не для каждого девайса с линуксом на борту будет, а вы ее к ардуине примериваете. Начинайте хотя бы с Raspbery Pi, уж не знаю есть ли для нее криптобиблиотеки или нет.
На самом деле pgp сейчас даже в браузере можно реализовать, а в линуксе gnupgp является стандартной библиотекой, так что думаю как раз с этим не будет больших проблем, реализация PGP должна быть и на C++, хотя проблем должно быть не мало. Вопрос скорее в железе, на сколько быстро сможет отработать процессор и хватит ли памяти.
Вопрос с PGP (На данный момент) можно и опустить, можно ли остальное реализовать?
И спасибо за комментарий, помогает быть ближе к истине :)