В рамках консорциума W3C двое сотрудников компании Google Райли Грант (Reilly Grant) и Кен Рокот (Ken Rockot) представили драфт версию созданного ими API — WebUSB. Проект должен помочь любым USB-девайсам, будь то мышь, камера, флешка или что-то еще, беспрепятственно общаться с веб-страницами. В теории это должно разрешить проблему  поиска и обновления драйверов и прошивок, однако безопасность такого решения вызывает много вопросов.

«Сегодня, подключая устройство к компьютеру, вы надеетесь, что оно само как-нибудь обнаружит правильный драйвер и Просто Заработает. Для многих устройств всё происходит именно так, потому что существуют стандартизированные драйверы для клавиатур, мышей, жестких дисков и веб-камер, которые входят в состав ОС, — рассказывают авторы API. — Но как быть с длинной чередой необычных устройств или с гаджетами нового поколения, которые пока не были стандартизированы?»

Грант и Рокон полагают, что они придумали ответ на этот вопрос. WebUSB должен решить проблему, разрешив USB-устройствам общаться с веб-серверами напрямую, а не полагаться на установленный софт. По замыслу разработчиков, сайты, к примеру, смогут устанавливать обновление прошивки и выполнять другие рутинные задачи. В целом это должно облегчить жизнь производителям USB-устройств, — девайсы смогут работать на любой платформе, и никакие особенные драйверы и SDK не понадобятся. В то же время производители смогут создавать кроссплатформенные JavaScript SDK для своих продуктов.

«Для веба это тоже будет хорошо, — пишут Грант и Рокон. — Не придется ждать, когда устройство наберет достаточную популярность, и браузеры наконец предоставят для него собственный API, инновационное железо будет изначально проектироваться для веба».

В теории звучит неплохо, однако сразу возникает вопрос – безопасно ли это? На примере интернета вещей можно убедиться, что идея оснащать подключением к интернету бытовую технику, выключатели, лампочки, будильники и всё подряд – не была самой удачной. Сообщения о небезопасности IoT-устройств поступают постоянно, давая понять, что производители техники думают о безопасности в последнюю очередь.

Инженеры Google уверяют, что о защите они позаботились. WebUSB API предлагает различные механизмы безопасности. К примеру, предлагается жестко ограничивать список доменов, к которым может обращаться устройство. Сами разработчики API проводят аналогию с механизмом CORS (cross origin resource sharing), который используют современные браузеры.

Пока WebUSB еще не одобрен W3C и является лишь проектом, но документация и исходные коды уже опубликованы.

Фото: Incase

3 комментария

  1. John Cramer

    13.04.2016 at 11:07

    Искал и не нашёл в документации: что мешает заменить в прошивке адрес сайта с обновлением на адрес сайта-ловушки?

    • flekst

      13.04.2016 at 12:57

      Документация общедоступна. Гугл — WebUSB API Unofficial Draft 22 March 2016
      А подменить ничего не мешает. ИМХО, идея изначально порочна.

  2. schoolboy

    13.04.2016 at 21:16

    Так и вижу устройство нового поколения. Вставляешь флешку в порт и она сама тебе прямо с командного сервера скачивает и ставит руткит. Отличная идея.

Оставить мнение