Измерение освещённости и передача данных с помощью двунаправленных свойств светодиодов (перевод)


5     iDropper

Для наглядной демонстрации работы в качестве мобильного хранилища данных или идентификации было собрано устройство, названное iDropper (Information Dropper - информационная пипетка). Подобно глазной пипетке iDropper может набирать небольшую порцию данных, сохранять её и выдавать по мере необходимости. В отличие от пипетки, iDropper может выдавать одни и те же данные неоднократно.

iDropper предполагается использовать для передачи данных между устройствами, не имеющими по каким-либо причинам удобного интерфейса пользователя. Редкость передачи данных, скажем, только для диагностики или начальной инициализации, может привести к отказу от дисплея и клавиатуры. Для переброски данных между таким устройством и аппаратурой, имеющей интерфейс пользователя, можно использовать iDropper.

Использование iDropper чем-то похоже на использование mediaBlocks [9]. Основное отличие заклюяается в том, что mediaBlocks не содержит в себе данных, а является только их признаком и передаётся по сети. iDropper сам хранит информацию и может служить в качестве части сетевой инфраструктуры.

iDropper состоит из небольшой печатной платы, кнопки (единственного входа управления), микроконтроллера PIC16LF628 фирмы Microchip, светодиода (используемого для приёма и передачи данных и в качестве индикатора), дисковой литиевой батарейки, конденсатора и двух резисторов. Собранное устройство компактнее, дешевле и содержит меньше деталей, чем большинство пультов управления автомобильной сигнализацией. При массовом производстве оно будет стоить менее чем на доллар дороже, чем брелок со светодиодным фонариком.

Прототип iDropper оснащён разъёмом для внутрисхемного программирования микроконтроллера и переходником на соединитель RJ-11 для подключения стандартного отладочного модуля фирмы Microchip. Пара iDropper показана на рисунке 12. К нижнему подключён отладочный переходник. Большая пластмассовая деталь на нижней стороне - держатель батареи - самый габаритный компонент. Чуть больше сантиметра на задней стороне печатной платы оставлено свободным, чтобы можно было просверлить отверстие и прицепить устройство к связке ключей.

 

Рисунок 12. Пара устройств iDropper, к одному из которых подключён переходник
Рисунок 12. Пара устройств iDropper

По умолчанию iDropper находится в состоянии переноса данных. Для закачки информации в брелок пользователь должен дважды нажать и удерживать в нажатом состоянии кнопку. Входной поток данных будет принят и сохранён. Переход iDropper в режим приёма и завершение записи различаются характером мигания. Отпускание кнопки раньше времени отменяет действие. Для выдачи данных пользователь нажимает и удерживает кнопку один раз. Данные передаются повторно каждую секунду. Глазу режим виден как простое свечение и iDropper можно использовать как маленький фонарик, как и задумывалось при разработке.

Используемая литиевая батарейка позволяет непрерывную работу усройства в течение более десяти часов. Если iDropper не занят передачей или приёмом данных, микроконтроллер переходит в режим сна. Это позволяет уменьшить общее потребление системы до уровня, меньшего тока саморазряда батареи, и довести срок нахождения в режиме ожидания до нескольких лет.


6     Использование iDropper в качестве интеллектуального ключа

Одной из целей создания iDropper являлось его использование в качестве интеллектуального программируемого ключа. Несмотря на то, что для решения этой задачи используется множество других технологий (RF и RFID, смарткарты и др.), LEDComm имеет перед ними заметные преимущества. Во-первых, в отличие от смарткарт ему не требуется физический контакт и механическая обвязка. Во-вторых, узкая направленность и короткое рабочее расстояние сильно отличает LEDComm от RF систем и позволяет избирательное воздействие на блокируемый объект, не опасаясь разблокировать ненужный, но близкорасположенный. В-третьих, двунаправленность интерфейса позволяет использовать запрос с подтвержением и шифрованные протоколы, сильно затрудняющие подделку или копирование ключа. В-четвёртых, видимость свечения светодиода позволяет организовать интерфейс пользователя. Как минимум, пользователь всегда может сказать работает ли устройство или батарейка разряжена. В-пятых, считыватель для LEDComm гораздо проще и дешевле, чем для смарткарт или RFID устройств. Это может быть существенно.

В-шестых, и это, возможно, самая интересная особенность: LEDComm можно использовать в одноранговых (peer-to-peer) сетях. Любое оборудование, оснащённое интерфейсом LEDComm, может передавать данные или информацию о полномочиях другому LEDComm-устройству (предполагается, что программное обеспечение это позволяет). В таком случае iDropper со стандартной программой сохранить/выдать может получить данные о правах доступа и передать её другим таким же приборам. Возможность передачи/размножения авторизующих данных уникальна и недоступна смарткартам и RFID меткам.

Для демонстрации такого использования к одному iDropper был добавлен внешний источник питания и реле, управляющее замком входной двери. Светодиод устройства расположили за стеклом окна вестибюля. Программное обеспечение изменили так, чтобы устройство не делало ничего до тех пор, пока не получит правильную (секретную) команду. Получив её iDropper активирует реле и разблокирует дверь на 5 секунд. Макет показан на рисунке 13.

 

Рисунок 13. iDropper в качестве замка (слева) и ключа (справа)
Рисунок 13. iDropper в качестве замка и ключа

Затем нужный код был запрограммирован в один iDropper, который, как и ожидалось, стал открывать дверь. Сетевые возможности LEDComm позволили перенести код ключа в несколько других устройств, которые также стали открывать замок.


7     iDropper, проверка подлинности и безопасность

В некоторых приложениях способность устройства передавать данные и полномочия соседям желательны. В других, таких как финансовые или защищённые транзакции, процесс авторизации так же важен, как собственно обмен данными, и бесконтрольное распространение полномочий недопустимо. К сожалению, программируемая основа iDropper не позволяет гарантировать, что другой экземпляр будет учитывать метку "не подлежит копированию", добавленную к данным. Проблемы нераспространения данных и неподделываемых "удостоверений личности" очень сложны и имеют множество тонкостей. Решения для строгих сценариев требуют аппаратных, программных и криптографических методик, выходящих за рамки данной статьи.

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

Идентификация без раскрытия конфиденциальных сведений и криптоалгоритмы с открытым ключём (ассиметричные)[6] могли бы позволить iDropper безопасно проходить проверку подлинности для общения с другими устройствами, которым известна публичная часть информации, без передачи секретных данных. К сожалению, все известные алгоритмы ассиметричной криптографии требуют интенсивных вычислений и обмена данными, которые не вызывают затруднений у мощной рабочей станции, но невозможны в очень ограниченном по ресурсам iDropper. Энергии литиевой батарейки хватает только на несколько часов работы 4 MHz микроконтроллера и вычисления, выполняемые персональным компьютером за секунды, полностью разрядят батарею брелка.

Одним из побочных эффектов низкой скорости передачи и ограниченной ёмкости батареи является тот факт, что общий объём данных, которые могут быть переданы за время жизни батареи (около 10^6 байт), можно держать в недорогой энергонезависимой памяти. Это позволяет использовать принцип "шифровального блокнота", обеспечивающего очень высокий уровень секретности при использовании очень слабого микроконтроллера.

ПредпросмотрAttachmentSize
merl_using_bidirectional_leds.zip1.63 МБ