ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
23 ноября
947555
Гудвин, волшебник (21.09.2019 15:41, просмотров: 11597)
Еще раз про актуальную для меня тему: Задача - мониторить местонахождение порядка 300..500 смартфонов, установленных в авто, и их состояние. Существующие системы мониторинга не устраивают, ибо необходим еще дополнительный функционал. Вернее, этот функционал основной, а мониторинг - вторичное. Отдельная подзадача - защищенные транзакции вполне решаема: на "другом конце" будут мои железки, телефон будет служить только переносчиком данных для транзакций. В железках ключ шифрования и проверка валидности, на VPS сервере, соответственно, тоже. Вот с организацией канала связи между сервером и телефонами есть проблемы. Прикидывал заюзать под это дело MQTT, но MQTT не совсем устраивает. Это TCP - со всем сопутствующим и безопасность тоже оставляет желать лучшего. Парольный доступ бесполезен, ибо пароль передается в открытом виде, а SSL чреват чудовищным геморроем с сертификатами при таком количестве клиентов. Чем то шифровать само тело сообщения смысла нет. Протокол "ширпотребный". Злоумышленник, получивший клиентский доступ к серверу, может тупо напихать спама брокеру MQTT и все накроется медным тазом. А ковырять содержимое телефонов заинтересованные лица, думаю, будут в той или иной мере. Посему возникла мысль использовать UDP протокол и пакеты, подписываемые некой электронной подписью. Допустим, MD5 хэш c шифрованием. Эти пакеты можно проверять на валидность сразу при приеме. Но в андроидах нет защищенного хранилища для хранения ключа. Имеются конечно готовые токены - SD карты. Но их цена сравнима с самими смартфонами. Может подскажете еще какие-нить приемлемые варианты?