Можно ли работать в автономном режиме с Eddystone-EID?
Маяки Eddystone-EID передают эфемерные идентификаторы, которые будут обрабатываться Google Proximity Beacon API. Это означает, что невозможно определить маяк Eddystone-EID без активного подключения к Интернету. Подход довольно новый, поэтому в интернете мало информации.
Генерация эфемерного идентификатора и механизм разрешения описаны в этой статье, предоставленной исследователями Google. Вот краткое описание процедуры: маяки Eddystone-EID шифруют значение из встроенных счетчиков времени с помощью AES-128, используя свой ключ, в то время как ключ является уникальным идентификатором для каждого маяка. Результатом является эфемерный идентификатор, который будет передаваться. Как каждые 512 секунд, маяки пересчитывают свои эфемерные идентификаторы. Когда эфемерный идентификатор получен на стороне получателя, распознаватель пытается найти ключ, который обеспечивает правильное дешифрование среди известных предопределенных ключей. Найденный ключ соответствует идентификации маяка.
Мне интересно, возможно ли реализовать автономную процедуру разрешения / дешифрования в соответствии с данной статьей, которая работает с Eddystone-EID на рынке. Вместо того, чтобы использовать глобальный распознаватель в облаке, можем ли мы разработать локальный распознаватель, который работает с гораздо меньшим количеством маяков?
Если да, есть ли какие-либо предыдущие попытки или реализации и т.д.?
Что вы думаете по этой теме?
1 ответ
Да, теоретически возможно реализовать распознаватель EID в коде Android или iOS, который выполняет вычисления, чтобы увидеть, происходит ли передача EID от известного передатчика маяка.
Реализация мобильного устройства должна будет использовать совместимые библиотеки шифрования AES-128 и каким-то образом хранить копии ключей, необходимых для разрешения каждого маяка.
При создании реализации распознавателя на стороне сервера для целей тестирования я подумал о создании такой библиотеки. Я также узнал, что очень сложно все сделать правильно. Многие библиотеки AES предоставляют только частичную функциональность, поэтому их невозможно использовать.
Также важно отметить, что американские ограничения на экспорт программного обеспечения для шифрования затруднят размещение приложений, которые делают это в Apple AppStore и Google Play Store.