для стартапов
и инвесторов
Изобретение относится к области защиты информации. Технический результат заключается в повышении скорости обмена данными токена с компьютером, планшетом или смартфоном без снижения уровня защиты информации. Токен включает модуль настройки туннелирования блоков данных и команд протокола прикладного уровня и/или блоков коммуникационного уровня, который инкапсулирует блоки данных таким образом, чтобы длина блока данных коммуникационного уровня, в который производится туннелирование, была кратной длине блоков данных прикладного и транспортного уровней, или чтобы длина блоков данных прикладного и транспортного уровней была кратной длине блока данных коммуникационного уровня, в который производится туннелирование, а также в зависимости от команды преобразования данных токеном выбирает протокол коммуникационного уровня, в который производится туннелирование, таким образом, чтобы при реализации в токене преобразований данных, получаемых из компьютера, планшета или смартфона, путем многократного выполнения одной и той же команды проверять только конечный результат выполнения всей последовательности команд, составляющих преобразование, по ее завершении без контролирования отдельно результатов каждого выполнения этой команды. 2 з.п. ф-лы, 4 ил.
1. Персональное устройство аутентификации и защиты данных (токен), включающее центральный процессор (CPU), оперативную память (RAM), энергонезависимую память (NVM), соединенные общей шиной, имеющей интерфейс для соединения с коннектором, служащим для подключения токена к компьютеру, планшету или смартфону по физическому или электромагнитному каналу, модуль настройки туннелирования блоков данных и команд протокола прикладного уровня и/или блоков коммуникационного уровня, выполненный с возможностью инкапсулировать блоки данных протокола таким образом, чтобы длина блока данных коммуникационного уровня, в который производится туннелирование, была кратной длине блоков данных прикладного и транспортного уровней, или таким образом, чтобы длина блоков данных прикладного и транспортного уровней была кратной длине блока данных коммуникационного уровня, в который производится туннелирование, а также выполненный с возможностью в зависимости от команды преобразования данных токеном выбора протокола коммуникационного уровня, в который производится туннелирование, таким образом, чтобы при реализации в токене преобразований данных, получаемых из компьютера, планшета или смартфона, путем многократного выполнения одной и той же команды проверять только конечный результат выполнения всей последовательности команд, составляющих преобразование, по ее завершении без контролирования отдельно результатов каждого выполнения этой команды. 2. Персональное устройство аутентификации и защиты данных по п. 1, отличающееся тем, что токеном является смарт-карта, а коннектором с компьютером, планшетом или смартфоном является считыватель смарт-карт, присоединяемый к компьютеру, планшету или смартфону через USB-считыватель по физическому или электромагнитному каналу или встроенный в него. 3. Персональное устройство аутентификации и защиты данных по п. 1, отличающееся тем, что токеном является микропроцессорное устройство с экраном для визуализации передаваемой на обработку информации, подключенное к компьютеру, планшету или смартфону через USB-разъем или по электромагнитному каналу.
Область техники, к которой относится изобретение Настоящее изобретение относится к области обеспечения безопасности информации в рамках компьютерных и телекоммуникационных систем и, в частности, при обмене электронными данными между провайдерами и пользователями интернет-услуг (сервисов). Уровень техники Для обеспечения надежной защиты передаваемых по каналам сети электронных данных, как правило, реализуются криптографические преобразования информации. К таким преобразованиям относятся шифрование/расшифрование данных, создание и проверка электронных подписей (ЭП) сторон под конкретными блоками (пакетами) данных или целыми файлами и документами, а также необходимые для реализации этих основных преобразований дополнительные процедуры хэширования (специального криптографически стойкого сжатия) данных, перед их подписыванием, а также генерация и хранение ключей для шифрования и электронной подписи. Использование электронной подписи для аутентификации электронных данных получает заметное расширение сферы применения и приобретает значительно более высокий уровень практической значимости, если заверенные с ее помощью электронные данные приобретают статус официальных (электронных) документов в рамках действующих законов и постановлений. Придание электронным данным статуса документов в рамках действующего законодательства предусматривает точное и безусловное выполнение всех требований действующих законов и других нормативных актов, в особенности, положений закона РФ «Об электронной подписи». В этом законе, в частности, предусматривается полная ответственность пользователя за надежное сохранение своего закрытого ключа создания электронной подписи в недоступности для посторонних. А также требуется обеспечение правильности выполнения криптографических преобразований - хэширования данных, создания и проверки ЭП, за что отвечает непосредственно производитель средств ЭП. Кроме того, статья 12 ФЗ-63 «Об электронной подписи» требует, чтобы именно конкретное средство ЭП визуализировало для пользователя информацию, которая аутентифицируется его электронной подписью. Поэтому разработчики современных средств ЭП предложили использовать для реализации технологии ЭП вместе с компьютером специализированные компактные электронные устройства с экраном для визуализации подписываемой информации (получившие у специалистов название «устройства типа Touch Screen»), обычно присоединяемые к компьютеру пользователя через USB-разъем. Простота и функциональная ограниченность самого такого устройства визуализации и его операционной системы служат определенной защитой от возможного заражения исполняемых на нем программ вредоносными программами через сеть, к которой подсоединен компьютер. Применение программ шифрования по любому из классических симметричных методов для защиты передаваемых по каналам связи данных также обеспечивает их гарантированную защиту от несанкционированного доступа и изменения только при условии сохранения в недоступности для злоумышленника закрытых параметров метода шифрования - ключей шифрования. Применение для шифрования больших массивов данных любого из известных на сегодня методов так называемого «асимметричного шифрования» (шифрования с открытым ключом), для которых ключ шифрования может быть открытым (общедоступным), не может конкурировать по скорости с симметричным шифрованием. Перечисленные выше требования действующих законов приводят к тому, что на практике пользователи во многих случаях применяют для выполнения криптографических преобразований не программы, исполняемые под управлением операционной системы компьютера, планшета или смартфона, а отдельные защищенные аппаратные устройства (модули), присоединяемые по физическому или электромагнитному каналу к их компьютерам, планшетам или смартфонам. Физически они могут быть выполнены как аппаратные токены, смарт-карты, таблетки Touch Memory и т.д. В дальнейшем для обозначения любого из таких внешних аппаратных устройств (модулей) используется единый термин - аппаратный токен или просто токен, если из контекста понятно, что речь идет именно об аппаратном модуле. Такие специализированные аппаратные модули (токены) обеспечивают более надежное, чем в программных модулях на компьютере, сохранение закрытых параметров криптографических преобразований - закрытых ключей. Однако при этом они значительно снижают скорость обработки защищаемой информации по сравнению с реализацией тех же самых криптографических преобразований при помощи прикладных или системных программных модулей на более мощном основном микропроцессорном устройстве пользователя - компьютере, планшете или смартфоне. Задачей настоящего изобретения является создание защищенного компактного персонального устройства (аппаратного модуля) аутентификации и защиты данных, присоединяемого по физическому или электромагнитному каналу к компьютеру, планшету или смартфону и позволяющего без снижения уровня защиты информации повысить скорость обмена данными токена с компьютером, планшетом или смартфоном, к которому он подключен. Сущность изобретения Техническим результатом изобретения является повышение скорости обмена данными токена с компьютером, планшетом или смартфоном, к которому он подключен, без снижения уровня защиты информации. Персональное устройство аутентификации и защиты данных (токен) включает центральный процессор (CPU), оперативную память (RAM), энергонезависимую память (NVM), соединенные общей шиной, имеющей интерфейс для соединения с коннектором, служащим для подключения токена к компьютеру, планшету или смартфону по физическому или электромагнитному каналу, модуль настройки туннелирования блоков данных и команд протокола прикладного уровня и/или блоков коммуникационного уровня. Модуль настройки туннелирования выполнен с возможностью инкапсулировать блоки данных таким образом, чтобы длина блока данных коммуникационного уровня, в который производится туннелирование, была кратной длине блоков данных прикладного и транспортного уровней, или таким образом, чтобы длина блоков данных прикладного и транспортного уровней была кратной длине блока данных коммуникационного уровня, в который производится туннелирование, а также выполнен с возможностью в зависимости от команды преобразования данных токеном выбора протокола коммуникационного уровня, в который производится туннелирование, таким образом, чтобы при реализации в токене преобразований данных, получаемых из компьютера, планшета или смартфона, путем многократного выполнения одной и той же команды проверять только конечный результат выполнения всей последовательности команд, составляющих преобразование, по ее завершении без контролирования отдельно результатов каждого выполнения этой команды. Краткое описание чертежей На фиг. 1 изображена схема взаимодействия сторон, иллюстрирующая пример сценария, в котором аппаратный токен используется для безопасного доступа по каналам сети к удаленному серверу провайдера дистанционных электронных услуг. На фиг. 2 изображена блок-схема архитектуры верхнего уровня безопасного аппаратного токена. На фиг. 3а изображены уровни протоколов обмена данными аппаратного токена и компьютера или планшета, к которому он подключен. На фиг. 3б изображены часто используемые протоколы аппаратного токена и компьютера или планшета, к которому он подключен. Подробное описание изобретения Согласно схеме взаимодействия сторон, приведенной на фиг. 1, пользователь 111 располагает электронным микропроцессорным устройством общего назначения 103 (в этом качестве может выступать: персональный компьютер, планшет, смартфон и т.п.). А также располагает подключаемым к нему по физическому или электромагнитному каналу 105 персональным аппаратным устройством (модулем) аутентификации и защиты данных 101 (токеном). С помощью последнего передаваемые по каналам сети 107, например, по каналам сети Интернет, данные защищаются от постороннего (несанкционированного) доступа и/или изменения. Пользователь 111 желает получить доступ к дистанционному электронному сервису 113, предоставляемому посредством удаленного сервера 109. Предположим для примера, что сервис 113 требует от пользователя 111 идентифицировать себя, предъявив имя (логин) и пароль. Если пользователь 111 не может доверять компьютеру, планшету или смартфону 103, полагая, что весьма велик риск того, что на последний могут быть установлены программы, способные перехватить имя и пароль пользователя 111 при их вводе с клавиатуры устройства (имеются в виду так называемые «вредоносные программы», установленные в оперативной памяти компьютера, планшета или смартфона), то он должен от этого защититься. Пусть пользователь уже записал свое имя и пароль в память токена 101 (или провайдер дистанционного сервиса сделал это за него). В этом случае пользователь 111 может скомандовать токену 101, передать имя и пароль непосредственно на удаленный сервис 113. Однако, это также небезопасно. Вредоносное ПО, установленное на компьютере 103 или где-то на пути между токеном 101 и удаленным сервисом 113 (например, на одном или нескольких промежуточных узлах сети интернет), может похитить имя и пароль пользователя, перехватывая передаваемые в сети данные. Надежные способы защиты передаваемых по каналам сети 107 данных от несанкционированного доступа или изменения в современных токенах 101 реализуются в виде криптографических преобразований хранимых и передаваемых данных. Общая схема аппаратного токена 101 представлена на фиг. 2. Его архитектура включает центральный процессор 201 (CPU), оперативную память 201 (RAM), энергонезависимую память 205 (NVM), соединенные общей шиной 207, имеющей интерфейс 209 для соединения с коннектором 105, служащим для подключения токена к компьютеру или планшету 103. При реализации криптографических преобразований на отдельном аппаратном компактном токене 101 приходится обеспечивать обмен данными между компьютером или планшетом пользователя 103 и подключенным токеном 101 по какому-то из принятых в отрасли информационных технологий протоколов. Как показано на фиг. 3а, выделены три основных уровня протоколов обмена данными между прикладными программами, исполняемыми на компьютере, планшете или смартфоне 103 и токеном 101: верхний (прикладной), средний (коммуникационный) и нижний (транспортный). Протокол обмена данными между компьютером 103 и токеном 101, в свою очередь, может быть разделен на протокол нижнего (транспортного) уровня 305 (для современных токенов это, как правило, протокол USB), протокол среднего (коммуникационного) уровня 303 (для современных токенов это, как правило, протоколы MSC или CCID) и протокол верхнего (прикладного) уровня 301 (фиг. 3б). При передаче данных от компьютера или планшета 103 в токен 101 преобразуют блоки информации протокола верхнего (прикладного) уровня 301 в блоки информации (пакеты) протокола среднего уровня 303 (например, в пакеты протокола CCID или пакеты протокола MSC), а затем последние преобразуют в блоки информации (пакеты) нижнего (транспортного) уровня (USB) 305 и передают последние в токен. В памяти токена 101 пакеты протокола нижнего уровня 305 преобразуют в пакеты протокола среднего уровня 303, а затем из них восстанавливают пакеты данных протокола верхнего уровня 301, которые уже передаются непосредственно на обработку программными модулями, реализованными в токене 101. При передаче данных от токена 101 в компьютер, планшет или смартфон 103 производят аналогичные последовательности преобразования данных. Все эти преобразования пакетов данных протокола верхнего (прикладного) уровня 301 в пакеты данных нижнего (транспортного) уровня 305, а затем обратные преобразования пакетов данных нижнего (транспортного) уровня 305 в пакеты данных верхнего (прикладного) уровня 301 вызывают такие задержки по времени в процессе обработки информации, которые могут снижать скорость получения данных от токена по сравнению со скоростью обработки информации токеном 101 в несколько раз. Например, если в качестве протокола нижнего (транспортного) уровня 305 используют протокол USB 1.1 или протокол USB 2.0 (full speed), то пакет данных нижнего уровня имеет длину 64 Байта. Если при этом в качестве протокола среднего уровня 303 используют широко распространенный протокол CCID, то его пакет данных состоит из 271 Байта, из которых ровно 255 Байт составляют собственно данные. В таком случае для передачи в токен одного блока информации из 255 Байт приходится формировать, передавать и ожидать подтверждения о правильности передачи каждого из пяти 64-Байтных пакетов по протоколу нижнего уровня USB 2.0 (full speed). Это вызывает заметное снижение реальной скорости получения данных токеном. Наглядно этот процесс можно изобразить следующим образом: Если в качестве протокола нижнего (транспортного) уровня 305 используют протокол USB 2.0 (high speed), пакеты которого содержат по 512 Байт, то при использовании в качестве протокола среднего уровня 303 протокола CCID с пакетом, содержащим 255 Байт данных и еще дополнительно 16 Байт служебной информации, приходится для передачи в токен 101 каждого блока данных из 255 Байт передавать по каналу целый пакет протокола нижнего уровня 305 USB 2.0 (high speed) из 512 Байт. Это также приводит практически к двукратной потере реальной скорости получения данных токеном 101. Наглядно этот процесс можно изобразить следующим образом: Еще одним существенным фактором, понижающим реальную скорость получения и обработки информации токеном 101, является то, что наиболее часто используемый в настоящее время при работе пользовательского устройства - компьютера, планшета или смартфона 103 - с токенами 101 протокол среднего уровня 303 - это известный протокол CCID. При его использовании после отправки компьютером каждого пакета компьютер, планшет или смартфон 103 ожидает от токена 101 подтверждения правильности приема и обработки этого пакета токеном 101. В таком случае оказывается, что мощность центрального процессора токена 201 используется весьма неэффективно, он вынужденно «простаивает» в ожидании завершения процесса получения очередного пакета данных. При некоторых криптографических преобразованиях информации, выполняемых токеном 101, можно без потери надежности обработки данных не ожидать реакции токена 101 на обработку каждого отдельного пакета среднего уровня 303. Можно проверять только правильность передачи и обработки токеном 101 всей последовательности пакетов данных протокола среднего уровня, реализующих передачу целого блока данных прикладного уровня (4КБ). Более того в некоторых случаях можно проверять правильность обработки токеном данных только по завершении обработки всех передаваемых с прикладного уровня данных целиком. Так, если ошибка при передаче или обработке очередного пакета автоматически повлечет ошибку при обработке каждого следующего пакета, то можно проверять правильность передачи всего массива информации и его обработки токеном 101 только по завершении всего процесса обработки массива данных токеном 101. Например, процесс хэширования данных токеном состоит в последовательном выполнении его центральным процессором 201 следующих APDU-команд: - hash.init - N*hash.update - hash.final при N-кратном повторении команды hash.update. Если количество блоков последовательно хэшируемых данных N велико, то многочисленные эмпирические проверки для токенов на базе распространенных современных микроконтроллеров показывают, что задержка на ожидание реакции токена на результат обработки каждого блока для токенов с типовыми современными микроконтроллерами в качестве их центрального процессора может составить около 30% - 40% от всего времени обработки последовательности блоков данных токеном. Поэтому при малой доле ошибочно передаваемых компьютером, планшетом или смартфоном 103 в токен 101 и обрабатываемых токеном 101 из общего числа переданных пакетов (блоков) верхнего или транспортного уровня 305 можно не проверять правильность выполнения каждой команды, но проверять правильность результата только по завершении всего преобразования (например, хэширования всего большого блока данных верхнего уровня) с целым пакетом среднего 303 и даже верхнего (прикладного) уровня 301. Это позволяет сократить общее время обработки всего массива данных токеном почти на все те 30-40%, которые в производимых и широко применяемых в настоящее время токенах затрачиваются на ожидание результата обработки токеном каждого отдельного пакета данных нижнего уровня. Этот процесс включения или «инкапсуляции» пакетов одного протокола в пакеты другого протокола того же или более высокого уровня называется в области протоколов взаимодействия открытых систем (OSI) туннелированием (см. ГОСТ Р ИСО/МЭК 7498-1-99. - «ВОС. Базовая эталонная модель. Часть 1. Базовая модель». - ОКС: 35.100.70. - Действует с 01.01.2000. - 62 с. [1]) и применяется обычно для повышения надежности передачи данных или для их защиты при помощи шифрования. Однако туннелирование возможно использовать и для различных протоколов одного и того же уровня, а также не для всех пакетов, передающих управляющие команды и данные, а только для тех команд протокола и данных, которые позволяют ускорять процесс обмена данными между компьютером и токеном с их обработкой на процессоре токена. Например, если инкапсулировать пакеты протокола среднего уровня CCID в пакеты другого протокола также среднего уровня MSC, а также команды PC_to_RDR_XfrBlock, RDR_to_PC_DataBlock, то процесс передачи в токен и обработки блока прикладного уровня размером 4КБ сведется путем инкапсуляции 17 блоков протокола CCID в 9 блоков протокола MSC, которые передаются и обрабатываются на процессоре токена на 30-40% быстрей, чем это производится без такого туннелирования команд и данных. Наглядно этот процесс можно изобразить следующим образом: При этом если аппаратная реализация токена настроена таким образом, что может принимать данные только по протоколу CCID, то модуль туннелирования деинкапсулирует полученные блоки данных протокола MSC в блоки протокола CCID. Также, при необходимости, модуль туннелирования деинкапсулирует полученные блоки данных из протокола прикладного уровня, в который производилось туннелирование, в протокол прикладного уровня, подходящий для токена. При выполнении таких криптографических преобразований как хэширование больших массивов данных (длинных строк) из N блоков по 4KB каждый этот процесс сокращения времени обмена данными между токеном и основным устройством (компьютером, планшетом или смартфоном) можно схематически изобразить таким образом: То есть при высокой надежности канала обмена данными между компьютером, планшетом или смартфоном и непосредственно подключенным к нему по физическому или электромагнитному каналу токеном, а он, как правило, в современных устройствах достаточно надежен, можно проверять правильность процесса хэширования только в самом его конце, что позволяет заметно сократить время обработки всей последовательности пакетов данных. Аналогичный прием можно применить при шифровании данных токеном в режиме гаммирования, гаммирования с обратной связью или режиме выработки имитовставки (согласно стандартов на шифрование данных ГОСТ 28147-89 и ГОСТ Р 34.12-2015). В этом случае также можно не проверять правильность выполнения токеном 101 каждой отдельной команды шифрования блока данных транспортного протокола 305, но контролировать только правильность передачи в токен и выполнения шифрования целого блока (пакета) протокола верхнего (прикладного) уровня 301 или целого блока (пакета) протокола среднего (коммуникационного) уровня 303. Таким образом, если для реализации криптографических преобразований информации при аутентификации пользователей и/или аутентификации отдельных блоков данных, а также при защите данных шифрованием использовать персональный внешний аппаратный модуль (токен) 101: - который соединен с компьютером, планшетом или смартфоном пользователя 103 по физическому или электромагнитному каналу 105 (это может быть физический USB-разъем, электромагнитные каналы NFC, Bluetooth и др.); - для которого протокол обмена данными с компьютером подразделяются на протокол верхнего (прикладного) уровня 301, протокол среднего (коммуникационного) уровня 303 и протокол нижнего (транспортного) уровня 305; - у которого пакеты верхнего (прикладного) уровня 301 или пакеты протокола среднего (коммуникационного) уровня 303 могут быть инкапсулированы в другой протокол того же уровня с длиной пакетов, кратной длине пакетов верхнего (прикладного) 301 и нижнего (транспортного) уровня 305; - у которого в качестве протокола среднего уровня обмена данными 303 с компьютером 103 используется протокол, который позволяет выполнять в токене 101 преобразования информации, предусматривающие многократное выполнение одной и той же команды, без ожидания результата выполнения каждой копии этой команды, а только результата выполнения всей последовательности команд, составляющих все преобразование, то без снижения уровня безопасности защищаемой шифрованием информации и без понижения надежности аутентификации пользователей и данных при помощи электронной подписи, скорость обработки данных с помощью такого токена будет заметно повышена по сравнению с аналогичным использованием производимых и применяемых в настоящее время аппаратных токенов. Например, пусть персональное устройство аутентификации и защиты данных (токен) 101 присоединено к персональному компьютеру пользователя 101 непосредственно через USB-разъем 105. Пусть прикладной программный модуль на компьютере 103 для управления обмена данными с токеном 101 обрабатывает данные таким образом, что данные в компьютере 103 с верхнего (прикладного) уровня 301 подаются в протокол среднего (коммуникационного) уровня 303 блоками по 4 Кбайт. Это весьма распространенный вариант преобразования и передачи данных на прикладном уровне в современных компьютерных сетях. Пусть в протоколе среднего (коммуникационного) уровня 303 пакеты инкапсулируются в пакеты широко применяемого в мире протокола MSC (Mass Storage Communications) с длиной блока данных 512 байт. В качестве протокола нижнего (транспортного) уровня 305 пусть используется распространенный протокол USB 2.0 (high speed) также с длиной блока данных 512 байт. Тогда максимальная согласованность длин блоков протоколов среднего 303 и нижнего 305 уровней означает их равенство. В качестве преобразования данных токеном, которое состоит в многократном выполнении одинаковой команды, выступает хэширование данных (согласно российским стандартам хэширования ГОСТ Р 34.11-94 или ГОСТ Р 34.11-2012 или международным стандартам SHA-1, SHA-256, SHA-3) с повторяющейся многократно командой hash.update, результат выполнения которой не контролируется протоколом среднего уровня 303. В качестве конкретного примера реализации предлагаемого технического решения можно рассмотреть следующее устройство (токен), присоединяемое по USB каналу к компьютеру или планшету. Персональное устройство аутентификации и защиты данных, выполненное в виде аппаратного токена, включающее центральный процессор (CPU), оперативную память (RAM), энергонезависимую память (NVM), соединенные общей шиной, имеющей интерфейс для соединения с коннектором, служащим для подключения токена к компьютеру, планшету или смартфону по физическому или электромагнитному каналу, в котором данные в компьютере с верхнего (прикладного) уровня подаются в протокол среднего (коммуникационного) уровня блоками по 4 Кбайт, пакеты протокола среднего уровня инкапсулируются (туннелируются) в пакеты протокола MSC (Mass Storage Communications) с длиной блока данных 512 байт, в качестве протокола нижнего (транспортного) уровня используется протокол USB 2.0 High Speed также с длиной блока данных 512 байт, а в качестве преобразования данных токеном, которое состоит в многократном выполнении одинаковой команды, выступает хэширование данных с повторяющейся многократно командой hash.update, результат выполнения которой не контролируется протоколом среднего уровня MSC (Mass Storage Communications) до завершения выполнения всей последовательности команд хэширования в процессе обработки всего блока данных верхнего уровня или даже всей последовательности блоков информации. Персональное устройство аутентификации и защиты данных может быть подключено к микропроцессорному устройству с экраном (устройство типа Touch Screen) для визуализации передаваемой на обработку информации через USB-разъем или по электромагнитному каналу. В качестве токена может использоваться смарт-карта, а коннектором с компьютером, планшетом или смартфоном является считыватель смарт-карт, присоединяемый к компьютеру, планшету или смартфону через USB-считыватель по физическому или электромагнитному каналу или встроенный в него. Также персональное устройство аутентификации и защиты данных, выполненное в виде смарт-карты, может быть подключено к микропроцессорному устройству с экраном для визуализации передаваемой на обработку информации, которое содержит также встроенный считыватель смарт-карт. В еще одном примере реализации персональное устройство аутентификации и защиты данных может быть выполнено в виде микропроцессорного устройства с экраном для визуализации передаваемой на обработку информации, подключенного к компьютеру, планшету или смартфону через USB-разъем или по электромагнитному каналу.