СПОСОБ И УСТРОЙСТВО ПЕРЕДАЧИ ДАННЫХ, И СПОСОБ И УСТРОЙСТВО ОБМЕНА ДАННЫМИ
METHOD AND APPARATUS FOR DATA TRANSMISSION AND METHOD AND APPARATUS FOR DATA COMMUNICATION

Область техники, к которой относится изобретение
Данное изобретение относится к способу и устройству передачи данных и к способу и устройству обмена данными, которые можно применять, например, для дистанционного управления электронным оборудованием по радио.
Уровень техники
Для пультов дистанционного управления, которые управляют электронным оборудованием, таким как телевизионный приемник, диапазон ISM (промышленного, научного и медицинского использования), составляющий 2,4 ГГц, предлагает преимущество, состоящее в том, что использование радиочастотных волн уменьшает взаимные помехи блокирующего объекта по сравнению с инфракрасным режимом и также расширяет дальность действия. В последнее время, в том, что касается пульта дистанционного управления в режиме обмена данных на радиочастотах (называется режимом RF в соответствующих случаях), разрабатывают стандарт (называемый стандартом RF4CE, в соответствующих случаях) на основе соглашения, достигнутого между Zigbee (зарегистрированный товарный знак) и консорциумом RF4CE (радиочастота для бытовых электронных устройств: RF технология для продуктов бытовых электронных устройств).
Поскольку радиоволны распространяются во всех направлениях, пульт дистанционного управления в режиме RF подвержен риску тому, что другое лицо, присутствующее рядом, будет считывать (выполнять скимминг) передаваемых данных, или выполнять операции с электронным оборудованием, используя фальшивый пульт дистанционного управления, как если бы это был действительный пульт (выдача себя за другое устройство). В частности, в последнее время все чаше возникают случаи, когда телевизионные приемники соединяют с Интернет, для выполнения транзакций с банками или для покупок, используя обмен информацией о наличности или кредитных картах. Необходимость в повышении безопасности таким образом увеличивается.
В PTL 1 описано, что в пульте дистанционного управления в режиме RF должен содержаться общий ключ для шифрования как на передающей стороне, так и на приемной стороне, для улучшения безопасности.
Список литературы
Патентная литература
PTL 1: Публикация находящейся на экспертизе заявки №2009-049916 на японский патент
"Обзор системы передачи данных пульта дистанционного управления"
Ниже будет описан стандарт RF4CE, в основном, в отношении безопасности. Как показано на фиг.1, модуль 101 передачи устройства передачи, например, пульта 100 дистанционного управления и модуль 201 приема, предусмотренный в устройстве приема, например в телевизионном приемнике 200, выполняют RF радиосвязь. Передающая антенна обозначена как 102 и приемная антенна обозначена как 202. Радиоволна, передаваемая из передающей антенны 102 в приемную антенну 202, будет называться RF сигналом пульта дистанционного управления. В случае двусторонней связи дополнительно добавляют еще один набор модуля передачи и модуля приема.
Сигнал, соответствующий операции, выполняемой с кнопочной матрицей 104 пульта 100 дистанционного управления, передают в блок 103 управления передачей, и код, генерируемый блоком 103 управления, подают в модуль 101 передачи. Модуль 201 приема принимает передаваемый сигнал через модуль 101 передачи, антенну 102 и приемную антенну 202. Модуль 201 приема подает код в блоке 203 управления приемом. Блок 203 управления приемом управляет операцией электронного оборудования на стороне приема, например, в телевизионном приемнике 200, в соответствии с принятым кодом. В некоторых фактических вариантах осуществления существуют конфигурации, в которых модуль 101 передачи и блок 103 управления передачей интегрированы вместе, и модуль 201 приема и блок 203 управления приемом интегрированы вместе.
Пульт 100 дистанционного управления и телевизионный приемник 200 выполняют двустороннюю связь в заданном режиме радиосвязи. В качестве режима связи в соответствии со стандартом RF4CE используется, например, IEEE (Институт инженеров по электронике и радиотехнике) 802.15.4. IEEE 802.15.4 представляет собой название для спецификации беспроводной сети, работающей на коротком расстоянии, называемой PAN (персональная вычислительная сеть) или W (беспроводная) PAN.
Скорость передачи данных изменяется от нескольких десятков кбит/с до нескольких сотен кбит/с, и расстояние связи изменяется от нескольких десятков метров до нескольких сотен метров. Кроме того, радиосвязь выполняют на основе фрейма. Размер одного фрейма составляет максимум 133 байтов, включающий в себя полезную нагрузку (от 0 до 127 байтов) плюс заголовок (6 байтов).
Такая система дистанционного управления, основанная на стандарте RF4CE, имеет проблему, состоящую в том, что система непреднамеренно управляет оборудованием, таким, которое установлено в соседней комнате или в соседнем доме. В соответствии с этим, когда телевизионный приемник вновь куплен и установлен, необходимо установить взаимно однозначное соответствие (называемое составлением пары) для обеспечения возможности управления телевизионным приемником с помощью пульта дистанционного управления. Составление пары означает, что пульт дистанционного управления и электронное оборудование, которым требуется управлять, оба выполняют обмен своими ID (информация идентификации). Даже когда составление пары будет установлено, существуют такие риски, что управление собственным оборудованием будет выполнять злоумышленная третья сторона, и RF сигнал будет перехвачен, и секретная информация, такая как персональная информация, будет украдена.
В стандарте RF4CE, в качестве меры против скимминга, в результате которого принимают RF сигнал дистанционного управления, и информацию воруют, содержание кода делают непонятным, даже при мониторинге RF сигнала дистанционного управления. В качестве способа достижения этого шифруют часть полезной нагрузки, которая содержит код. Значение счетчика фреймов, которое никогда не принимает одно и то же значение дважды, используют как ключ для шифрования для части полезной нагрузки, предотвращая таким образом возможность использования того же ключа на основе фрейма. Счетчик фрейма постепенно увеличивают при каждой передаче.
Кроме того, даже когда фрейм RF сигнала дистанционного управления захватывают, и этот фрейм снова передают, такой фрейм не будет принят. Таким образом, фрейм со значением, которое является тем же или меньшим, чем величина подсчета счетчика фреймов (называется величиной подсчета фреймов), принятый в прошлом, не будет принят. Благодаря такой обработке, становится возможным предотвратить прием дважды одного и того же фрейма. Кроме того, даже когда фрейм будет захвачен, и этот фрейм с установленным большим значением величины подсчета фрейма будет передан, зашифрованная часть не может быть дешифрована, поскольку ключ дешифрования для части полезной нагрузки не соответствует.
"Режим передачи"
Как показано на фиг.2, код, который должен быть передан (данные полезной нагрузки), передают в модуль 101 передачи из блока 103 управления передачей, и блок 105 приема данных полезной нагрузки принимает этот код. Счетчик 106 фреймов выполняет последовательное увеличение сигнала подсчета, который генерируют каждый раз, когда блок 105 приема данных полезной нагрузки принимает данные полезной нагрузки. Значение величины подсчета фрейма, генерируемое счетчиком 106 подсчета фреймов, содержат в энергонезависимом запоминающем устройстве. Величину подсчета фрейма подают в схему 107 "ИСКЛЮЧАЮЩЕЕ ИЛИ" (называемую шлюзом X-OR) вместе с данными ключа, содержащимися в блоке 108 содержания ключей, и ключ шифрования генерируют из шлюза 107 ИСКЛЮЧАЮЩЕЕ ИЛИ.
Данные полезной нагрузки из блока 105 приема данных полезной нагрузки подают в блок 109 шифрования AES (Усовершенствованный стандарт шифрования). В блоке 109 шифрования AES данные полезной нагрузки шифруют, используя ключ шифрования из шлюза 107 ИСКЛЮЧАЮЩЕЕ ИЛИ. Зашифрованные данные полезной нагрузки из блока 109 шифрования AES передают в блок ПО формирования фреймов. В блоке ПО формирования фреймов формируют данные, отформатированные, как описано ниже.
Выход блока ПО формирования фрейма передают в блок 111 формирования пакета и преобразуют в структуру пакета. Выходные данные блока 111 формирования пакета подают в блок 112 модуляции. В блоке 112 модуляции выполняют процесс модуляции, такой как QPSK (квадратурная манипуляция с фазовым сдвигом) или модуляции расширения. Хотя это не показано, RF сигнал дистанционного управления передают в модуль 201 приема через передающую антенну и приемную антенну. Величину подсчета счетчика 106 фреймов последовательно увеличивают, когда заканчивается передача фреймов.
"Модуль приема"
Как показано на фиг.3, в модуле 201 приема, RF сигнал дистанционного управления принимают из модуля 101 передачи через передающую антенну и приемную антенну, хотя они не показаны. Принятый сигнал дистанционного управления подают в блок 204 демодуляции, где выполняют для него процесс демодуляции. Демодулированный выходной сигнал блока 204 демодуляции подают в блок 205 сортировки пакета, и пакеты сортируют. И в качестве противоположной функции для блока 111 формирования пакетов модуля 101 передачи блок 205 сортировки пакетов выполняет процесс разборки пакетов.
Отсортированные пакеты подают в блок 206 анализа фрейма. И, наоборот, для модуля ПО формирования фреймов модуля 101 передачи блок 206 анализа фрейма выполняет процесс разборки фреймов. Значение подсчета фрейма, отделенное блоком 206 анализа фрейма, подают в блок 207 проверки значения подсчета фрейма. Значение подсчета фрейма, полученное в блоке сохранения значения 208 подсчета фрейма, подают в блок 207 проверки значения подсчета фрейма.
Блок 208 сохранения значения подсчета фрейма формируют на основе энергонезависимого запоминающего устройства. В блоке 207 проверки значения подсчета фрейма определяют, является ли или нет принятое значение подсчета фрейма приемлемым значением. Таким образом, значение подсчета фрейма принятого фрейма и содержащееся значение подсчета фрейма на стороне приема сравнивают друг с другом. Если принятое значение подсчета фрейма больше, чем содержащееся значение подсчета фрейма, принятое значение подсчета фрейма определяют как приемлемое значение и зашифрованную полезную нагрузку передают в блок 211 дешифрования AES. В противном случае, принятое значение подсчета фрейма определяют как неприемлемое, так, что весь принятый фрейм отбрасывают и вводят состояние, в котором ожидают приема следующего фрейма.
Значение подсчета фрейма, определенное как приемлемое значение в блоке 207 проверки значения подсчета фрейма подают в логический элемент 209 ИСКЛЮЧАЮЩЕЕ ИЛИ. Данные ключа, содержащиеся в блоке 210 содержания ключа, подают в логический элемент 209 ИСКЛЮЧАЮЩЕЕ ИЛИ, и ключ дешифрования выводят из логического элемента 209 ИСКЛЮЧАЮЩЕЕ ИЛИ. Зашифрованные данные полезной нагрузки, отделенные в блоке 206 анализа фрейма, и ключ дешифрования подают в блок 211 дешифрования AES, и данные полезной нагрузки дешифруют и выводят. Дешифрованные данные полезной нагрузки подают в блок 212 передачи данных полезной нагрузки и передают в блок 203 управления приемом. В момент времени, когда дешифрование соответствующим образом будет закончено и будет выведена полезная нагрузка, значение подсчета фрейма для принятого фрейма содержится в блоке 208 сохранения значения подсчета фрейма.
Количество битов счетчика 302 фреймов определяют как 4 байта в соответствии со стандартом RF4CE. Значение подсчета фрейма последовательно увеличивают от значения "1" при каждой передаче фрейма после установления пары. Поскольку количество битов составляет 4 байта, значение подсчета не становится полным при нормальном использовании пульта дистанционного управления, поэтому значение, которое использовалось однажды, никогда не используется снова. Логическая операции ИСКЛЮЧАЮЩЕЕ ИЛИ, выполняемая для ключа, обмен которым выполняют во время формирования пары, и значения подсчета счетчика фреймов находят, и выход функции ИСКЛЮЧАЮЩЕЕ ИЛИ используют в качестве фактического ключа шифрования. В соответствии с этим шифрование с использованием того же значения ключа, не возникает во всех фреймах.
"Структура данных и процесс шифрования/дешифрования одного фрейма"
Формат одного фрейма сигнала RF пульта дистанционного управления, передаваемого между модулем 101 передачи и модулем 201 приема, является таким, как показано на фиг.4А. Часть заголовка расположена в начале одного фрейма, счетчик фреймов (4 байта) вставлен следующим, и, кроме того, размещен код (зашифрованные данные полезной нагрузки) такой, как команда. Для части заголовка формат, предписанный в IEEE 802.15.4, используется так, как он есть. В части заголовка описаны адрес назначения (pan_id, короткий адрес) и адрес источника (pan_id, короткий адрес).
Для выполнения обмена данными заранее выполняют формирование пары во взаимно однозначном соответствии и выполняют обмен адресами обеих сторон и ключами в одно время. Стороны, формирующие пару, выполняют обмен ключами с одинаковыми значениями, сгенерированными по случайному числу непосредственно после формирования пары, и каждый содержит ключ другого, и использует этот ключ для шифрования/дешифрования полезной нагрузки при последующем обмене данными. Зашифрованные данные полезной нагрузки шифруют с использованием ключа шифрования, формируемого из значения подсчета фрейма, и ключа, обмен которым был выполнен ранее. CRC (цикличный избыточный код) для детектирования ошибок вставляют в конце одного фрейма. Систему RF идентифицируют по заголовку. В качестве алгоритма шифрования, как один пример, используется AES.
Выполняют обмен данными, при котором передают один фрейм, во время передачи данных от одного к другому, при котором источник и место назначения каждое уникально ограничено до одного. Этим управляют с помощью адресов в части заголовка, и если другой адрес источника/адрес назначения будет записан в части заголовка, соответствующий фрейм не будет принят.
Шифрование/дешифрование выполняют так, как показано на фиг.4В. Ключи 301 и 310, обмен которыми выполняют во время формирования пары, содержатся в соответствующих энергонезависимых запоминающих устройствах модуля 101 передачи и модуля 201 приема. Ключи 301 и 310 имеют одинаковые значение. На фиг.2 и фиг.3 части данных ключа, сохраненные в блоке 108 сохранения ключа и в блоке 210 сохранения ключа, соответственно, соответствуют ключам 301 и 310.
Счетчик 302 фреймов (счетчик 106 фреймов на фиг.2) модуля 101 передачи последовательно увеличивают каждый раз, когда блок 303 формирования фреймов/передачи передает один фрейм. Ключ шифрования генерируют с использованием логического элемента 304 ИСКЛЮЧАЮЩЕЕ ИЛИ (логический элемент 107 ИСКЛЮЧАЮЩЕЕ ИЛИ на фиг.2) из величины подсчета фрейма для счетчика 302 фреймов и данных 301 ключа, и данные полезной нагрузки шифруют с использованием ключа шифрования в блоке 305 шифрования.
Данные, имеющие формат передачи, показанный на фиг.4А, передают из блока 303b формирования фрейма/передачи в модуль 201 приема. Блок 311 приема/определения определяет, является ли величина подсчета принятого фрейма приемлемой величиной. Для выполнения такого определения используется значение подсчета фрейма, содержащееся в блоке 312 сохранения значения подсчета фрейма (4 байта). Когда принятое значение подсчета фрейма больше, чем сохраненное значение подсчета фрейма, принятое значение подсчета фрейма определяют, как приемлемое значение, и зашифрованную полезную нагрузку передают в блок 211 дешифрования AES. В противном случае, принятое значение подсчета фрейма определяют как неприемлемое таким образом, что весь принятый фрейм будет отброшен и будет выполнен переход в состояние, в котором ожидается прием следующего фрейма.
Зашифрованные данные полезной нагрузки фрейма, значение подсчета фрейма которого определяют как приемлемое значение в блоке 311 приема/определения фрейма, подают в блок 313 дешифрования, и дешифруют зашифрованные данные полезной нагрузки. Ключ дешифрования генерируют путем подачи ключа 310, обмен которым был выполнен во время формирования пары, и значения величины подсчета фрейма, содержащегося в блоке 312 сохранения значения подсчета фрейма (4 байта), в логический элемент 314 ИСКЛЮЧАЮЩЕЕ ИЛИ.
Поток обработки, выполняемый в соответствии с конфигурацией, показанной на фиг.4, будет описан со ссылкой на фиг.5. В модуле 101 передачи, на этапе ST1 выполняют передачу данных. Передаваемые данные имеют описанный выше формат фрейма. На этапе ST2 значение подсчета фрейма получают из счетчика 302 фреймов (энергонезависимое запоминающее устройство). На этапе ST3 генерируют ключ шифрования на основе значения подсчета фрейма и данных ключа, обмен которыми был выполнен во время формирования пары. На этапе ST4 данные (полезную нагрузку) шифруют с помощью блока 305 шифрования.
Зашифрованные данные преобразуют в данные, структурированные в формате фрейма (этап ST5). На этапе ST6 передают данные в формате фрейма. На этапе ST7 значение подсчета счетчика 302 фреймов (энергонезависимое запоминающее устройство) последовательно увеличивают. Процесс передачи данных заканчивается последовательностью обработки, описанной выше.
В модуле 201 приема данные (RF сигнал дистанционного управления), переданные из модуля 101 передачи, принимают (этап ST11). Значение подсчета фрейма в пределах принятого фрейма сравнивают со значением подсчета, содержащимся в блоке 31 сохранения значения подсчета фрейма (энергонезависимое запоминающее устройство) (этап ST12). На этапе ST12 выполняют процесс в блоке 311 приема/определения фрейма.
Когда принятое значение подсчета фрейма больше, чем содержащееся значение подсчета фрейма, определяют, что принятый фрейм является приемлемым. В случае приемлемого фрейма, принятую зашифрованную полезную нагрузку передают в блок 313 дешифрования, и ключ дешифрования генерируют из значения подсчета фрейма и данных ключа, обмен которым был выполнен во время формирования пары (этап ST13). На этапе ST14 зашифрованные данные дешифруют с помощью блока 313 дешифрования. Дешифрованные данные выводят в блок управления приемом. В то время, когда дешифрование соответствующим образом закончено, и выводят полезную нагрузку, значение подсчета фрейма принятого фрейма содержат в блоке 312 сохранения значения подсчета фрейма.
В случае, когда условие, что принятое значение подсчета фрейма должно быть больше, чем содержащееся значение подсчета фрейма, не удовлетворяется, определяют, что принятый фрейм является неприемлемым. Когда его определяют как неприемлемый, весь принятый фрейм отбрасывают и ожидают приема следующего фрейма. Процесс приема данных заканчивается последовательностью процессов, упомянутых выше.
Сущность изобретения
Техническая задача
Как описано выше, для выполнения стандарта RF4CE значение счетчика фреймов должно быть сохранено в соответствующих энергонезависимых запоминающих устройствах как на стороне передачи, так и на стороне приема. Энергонезависимое запоминающее устройство представляет собой счетчик 106 (302) фреймов модуля 101 передачи и блок 208 (312) сохранения значения подсчета фрейма модуля 201 приема. Если значение подсчета фреймов будет потеряно и происходит возврат к исходному значению (=1) в одном из модуля 101 передачи и модуля 201 приема, возникает проблема, состоящая в том, что становится невозможным либо выполнить обмен данными, или поддерживать безопасность.
"Проблемы, возникающие при использовании энергонезависимого запоминающего устройства"
Как известно, энергонезависимое запоминающее устройство имеет следующие характерные особенности.
1. Количество стираний после записи ограничено.
2. Подвержено ограничениям напряжения источника питания во время записи/стирания.
3. Выход из под контроля, происходящий во время записи, может привести к разрушению программы в некоторых случаях.
4. Существует срок содержания информации после записи при практическом использовании.
Энергонезависимое запоминающее устройство, имеющее эти характерные особенности, использовали для содержания данных программы, которые не подвергают частой перезаписи. Энергонезависимое запоминающее устройство непригодно для вариантов использования, в которых, как в системах пульта дистанционного управления, часто выполняют операции с пультом дистанционного управления и значение подсчета фрейма часто перезаписывают. Кроме того, для пультов дистанционного управления обычно используют батарею в качестве источника питания, и использование источника питания в виде батареи создает проблемы. Проблемы, ассоциированные с использованием энергонезависимого запоминающего устройства, будут подробно описаны ниже.
Вначале будет описана проблема 1, возникающая из особенности "Количество стираний после записи ограничено". В пульте дистанционного управления (сторона передачи) счетчик фреймов обновляют каждый раз, когда нажимают на кнопку. Когда постоянно нажимают на кнопку, необходимо обновлять счетчик фреймов и передавать обновленный результат через каждые 50 мс. Например, когда пользователь нажимает на кнопку непрерывно в течение 1 секунды, счетчик фреймов обновляется 20 раз.
Если обновленное значение содержится только в RAM, когда источник питания прекращает работу из-за отказа контакта батареи, который происходит резко, или когда возникает отказ при выполнении операции из-за электростатических шумов, значение в RAM невозможно содержать. Даже когда кнопку нажимают после восстановления подачи питания, становится невозможным узнать, сколько раз счетчик фреймов изменял свое значение, что означает, что значение подсчета, переданное в прошлом, требуется передать снова, что не может быть принято на стороне приема. В результате, возникает ситуация, в которой операция с использованием пульта дистанционного управления не работает.
То же относится к значению подсчета фрейма на стороне приема. Если только самое большое принятое значение подсчета будет просто сохранено в RAM, содержащееся значение может быть стерто, например, путем преднамеренного отключения источника питания. До тех пор, пока значение подсчета фрейма не будет сохранено в энергонезависимом запоминающем устройстве, невозможно обеспечить безопасность и обмен данными.
В используемых фактически системах как модуль передачи, так и модуль приема воплощены в микрокомпьютере на одной микросхеме, используемой для управления. Для сохранения значения подсчета фрейма в энергонезависимом запоминающем устройстве используется функция запоминающего устройства типа флэш, включенного в микрокомпьютерную микросхему. В микрокомпьютерах, в которых не используется запоминающее устройство типа флэш, внешне предоставляют микросхему, специально выполняющую функцию энергонезависимого запоминающего устройства (EEPROM (электрическое стираемое программируемое ROM) и т.п.).
Для обновления данных в запоминающем устройстве типа флэш, все данные в пределах блока, которому принадлежат данные, предназначенные для обновления, должны быть когда-нибудь удалены. В соответствии с этим, все данные, находящиеся в блоке, в который включены данные, предназначенные для обновления, временно сохраняют в RAM, которое представляет собой энергозависимое запоминающее устройство. Обновление данных выполняют в RAM. С другой стороны, блок в запоминающем устройстве типа флэш стирают, и обновленные данные записывают в уже удаленный блок. Как запоминающее устройство типа флэш, так и EEPROM обеспечивают ограниченное количество записей/стираний, и данные в них могут быть записаны/удалены всего лишь от нескольких сотен раз, вплоть до нескольких десятков тысяч раз, самое большее, прежде, чем будет достигнут конец его срока службы.
При условии, что процесс записи будет выполнен только для одной области, каждый раз, при обновлении значения подсчета счетчика фреймов, конец срока службы быстро достигается. Например, в случае, когда гарантировано 100 записей/стираний, конец срока службы наступит через 5 секунд, и в случае, когда гарантированы 10000 записей/стираний, конец срока службы достигается через 500 секунд (всего лишь, через 8 минут).
В качестве облегчающей это положение меры стандарт RF4CE устанавливает такую меру, что операции работают без проблем, если запись/стирание выполняют один раз через каждые 1024 раза. В соответствии с этой спецификацией, если сторона передачи забывает значение подсчета, содержащееся в RAM, которое предусматривает рабочую область, фрейм передают в следующий раз путем добавления значения подсчета 1024 к значению, содержащемуся в энергонезависимом запоминающем устройстве. Ситуация, когда забывают значение подсчета, возникает, когда, например, применяют сброс в микрокомпьютере. Таким образом, операция работает без проблемы, даже если запись будет выполнена один раз через каждые 1024 раза. Такая облегчающая мера продлевает срок службы приблизительно в 1000 раз. Однако даже этот продленный срок службы гораздо короче срока службы, требуемого для бытового оборудования.
Срок службы энергонезависимого запоминающего устройства представляет не количество записей, а количество стираний на основе блока стирания. Для увеличения количества записей, когда размер данных, предназначенных для записи, является малым относительно блока стирания (например, приблизительно 1/10 или меньше), стираемый блок разделяют по размеру данных. Например, один блок стираемого модуля устанавливают как 1 килобайт, и 1 килобайт разделяют на модули по 4 байта. Затем, каждый раз, когда происходит запись, запись выполняют по одному модулю одновременно. Способ увеличения количества записей по сравнению с количеством стираний таким образом был предложен. С помощью такого способа, если размер блока стирания в 1000 раз больше размера данных, предназначенных для записи, срок службы может быть расширен приблизительно до 1000 раз, поскольку 1000 частей данных могут быть записаны в один блок. Этот способ требует 1 килобайта области энергонезависимого запоминающего устройства для значения подсчета (4 байта).
Кроме того, также был предложен способ использования множества блоков стирания и выполнения записей в распределенном виде, уменьшая таким образом количество стираний на один блок стирания. В таком способе, для получения в 10 раз большего срока службы, требуется в 10 раз большее запоминающее устройство блока стирания. Изготовители, пытающиеся поставлять микрокомпьютеры с одной микросхемой для стандарта RF4CE, предлагают увеличивать количество записей путем использования области в пределах одного блока стирания множество раз и путем использования множества блоков стирания. Однако для некоторых из них требуются всего 4 килобайта области энергонезависимого запоминающего устройства для величины подсчета (4 байта). Как описано выше, способ уменьшения количества стираний представляет собой проблему, состоящую в том, что используются большие емкости запоминающего устройства.
Проблема 2, возникающая из особенности "2. Подвержено ограничениям напряжения источника питания во время записи/стирания", будет описана ниже. В пульте (блоке) дистанционного управления часто используют батарею в качестве источника питания. Короткий срок службы батареи означает затраты на использование и больше проблем при замене батареи для пользователя. Таким образом, для сведения к минимуму замены батареи требуется продлить срок службы батареи.
Срок службы батареи может быть улучшен двумя способами: подавляют ток и устанавливают низким напряжение, при котором батарея становится не рабочей и разряженной. Однако, в случаях, когда запоминающее устройство типа флэш используется как функции микрокомпьютера на одной микросхеме, в большинстве случаев спецификация составлена так, что напряжение во время записи/стирания запоминающего устройства типа флэш является более высоким, чем рабочее напряжение микрокомпьютера.
В качестве примера, заданный микрокомпьютер требует источника питания с рабочим напряжением до 2,0 В или выше и требует источника питания 2,7 В во время операции записи/стирания запоминающего устройства типа флэш. Поэтому в случаях, когда происходит запись/стирание в энергонезависимом запоминающем устройства во время нормального использования, как в стандарте RF4CE, когда напряжение на батарее становится равным или ниже, чем напряжение записи/стирания для запоминающего устройства типа флэш, батарея достигает своего конца срока службы, и требуется замена батареи.
Проблема 3, возникающая из свойства "3. Выход из под контроля, происходящий во время записи, может привести к разрушению программы в некоторых случаях ", будет описана ниже. Для пульта дистанционного управления обычно используют батарею. Необходимо рассмотреть случаи, когда во время использования, напряжение не поступает в цепь из-за плохого контакта и т.п., в результате чего программа микрокомпьютера не может правильно работать. Кроме того, необходимо учесть случаи, когда цепь или программа микрокомпьютера отказываются правильно работать из-за статического электричества и т.п. Хотя пульт дистанционного управления становится неработоспособным в любом из этих случаев, в случае простого выхода из под контроля программы микрокомпьютера, это восстанавливается путем перезагрузки батареи.
Однако когда возникает программный выход из под контроля, в то время как энергонезависимое запоминающее устройство записывает/стирает, если программа микрокомпьютера будет записана в запоминающем устройстве типа флэш, становится не только невозможно записывать данные, но и сама программа может быть разрушена в некоторых случаях. Когда разрушается программа, ее невозможно восстановить путем сброса батареи, и требуется заменить сам пульт дистанционного управления.
Проблема 4, возникающая из особенности "4. Существует срок содержания информации после записи при практическом использовании", будет описана ниже. Существует общий способ увеличения количества записей в энергонезависимом запоминающем устройстве. В соответствии с этим способом, во время стирания/записи, время записи уменьшают, чтобы таким образом ненадежно записать информацию. Однако время содержания данных становится коротким при использовании такого способа записи. Также возможно достичь оптимизации путем составления баланса между количеством записей и сроком содержания данных. Однако такой способ не пригоден для случаев, когда существуют длительные периоды неиспользования, как в пульте дистанционного управления.
"Проблемы, возникающие при работе компьютера"
Счетчик фреймов определен как 4 байта в стандарте RF4CE. В соответствии с этим счетчик фреймов может подсчитывать вплоть до 4294967295 (приблизительно 4,2 миллиарда) этапов, причем эта сумма эквивалентна приблизительно 6,8 годам, даже когда подсчет увеличивается на 1 каждые 50 мс, если предположить, что на кнопку пульта дистанционного управления непрерывно нажимают. Таким образом, полная величина подсчета не достигается при нормальном использовании.
Однако предположим, что человек со злоумышленными намерениями перехватил фрейм сигнала RF пульта дистанционного управления и передал на сторону приема фрейм, значение счетчика фреймов которого было изменено так, чтобы оно было близко к значению полного подсчета. В этом случае, значение счетчика на стороне приема резко увеличивается, создавая такие проблемы, как неработоспособность авторизованного пульта дистанционного управления и уменьшение количества возможных приемов на стороне приема.
В соответствии с этим, цель настоящего изобретения состоит в том, чтобы обеспечить способ передачи данных и устройство, и способ обмена данными и устройство, которые позволяют решить проблемы, связанные с энергонезависимым запоминающим устройством, и проблемы, ассоциированные со счетчиком фреймов, как описано выше.
Решение проблемы
Для решения описанных выше проблем настоящее изобретение относится к способу передачи данных, включающему в себя:
этап запроса, на котором выполняют запрос в устройство приема, когда значение подсчета является недействительным, принимают первое случайное число, генерируемое в устройстве приема, и сохраняют значение n подсчета, которое было первым сгенерировано из первого случайного числа в энергозависимом запоминающем устройстве;
этап шифрования, состоящий в шифровании данных, предназначенных для передачи по значению n подсчета;
этап передачи, состоящий в передаче данных в формате фрейма, включающем в себя значение n подсчета и зашифрованные данные; и
этап изменения значения подсчета, состоящий в изменении значения подсчета, сохраненного в энергозависимом запоминающем устройстве, каждый раз при передаче данных,
в котором, когда измененное значение превышает установленный диапазон, подают запрос в устройство приема, принимают второе случайное число, отличающееся от первого случайного числа, сгенерированного в устройстве приема, и значение n'(≠n) подсчета, которое было вначале сгенерировано из второго случайного числа, сохраняют в энергозависимом запоминающем устройстве, и
этап шифрования, этап передачи и этап изменения значения подсчета повторяют путем использования значения n' подсчета.
Данное изобретение относится к устройству передачи данных, включающему в себя:
средство запроса, предназначенное для запроса в устройство приема, когда значение подсчета недействительно, приема первого случайного числа, генерируемого в устройстве приема, и сохранения значения n подсчета, которое было первым сгенерировано из первого случайного числа в энергозависимом запоминающем устройстве;
средство шифрования, предназначенное для шифрования данных, предназначенных для передачи по значению  подсчета;
средство передачи, предназначенное для передачи данных в формате фрейма, включающего в себя значение n подсчета и зашифрованные данные; и
средство изменения значения подсчета, предназначенное для изменения значения подсчета, сохраненного в энергозависимом запоминающем устройстве, каждый раз, когда передают данные,
в котором, когда измененное значение превышает установленный диапазон, выполняют запрос в устройство приема, принимают второе случайное число, отличающееся от первого случайного числа, сгенерированного в устройстве приема, и значение n'(≠n) подсчета, которое было первым сгенерировано из второго случайного числа, сохраняют в энергозависимом запоминающем устройстве, и
процесс шифрования с помощью средства шифрования, процесс передачи с помощью средства передачи и процесс изменения значения подсчета с помощью средства изменения значения подсчета повторяют, используя значения n' подсчета.
Данное изобретение относится к способу обмена данных, с помощью которого выполняют обмен данными через радиоканал, выполненный с возможностью двустороннего обмена данными между устройством передачи и устройством приема, в котором:
способ передачи данных включает в себя
этап запроса, состоящий в подаче запроса в устройство приема, когда значение подсчета недействительно, прием первого случайного числа, сгенерированного в устройстве приема, и сохранение значение n подсчета, которое было первым сгенерировано из первого случайного числа, в энергозависимое запоминающее устройство,
этап шифрования, состоящий в шифровании данных, предназначенных для передачи, по значению n подсчета,
этап передачи данных передачи в формате фрейма, включающем в себя значение n подсчета и зашифрованные данные, и
этап изменения значения подсчета, состоящий в изменении значения подсчета, сохраненного в энергозависимом запоминающем устройстве, каждый раз, когда передают данные,
в котором, когда измененное значение превышает установленный диапазон, запрос подают в устройство приема, принимают второе случайное число, отличающееся от первого случайного числа, сгенерированного в устройстве приема, и значение n'(≠n) подсчета, которое было первым сгенерировано из второго случайного числа, сохраняют в энергозависимом запоминающем устройстве, и
этап шифрования, этап передачи и этап изменения значения подсчета повторяют, используя значения n' подсчета; и
способ приема данных включает в себя
этап отклика на запрос, состоящий в приеме запроса и передаче первого случайного числа в устройство приема,
этап приема, состоящий в приеме данных в формате фрейма, передаваемых на этапе передачи,
этап определения, состоящий в определении, было ли или нет увеличено или уменьшено принятое значение подсчета по сравнению с сохраненным значением и попадает ли оно в пределы установленного  диапазона, этап дешифрования, состоящий в том, что
генерируют ключ дешифрования путем использования принятого значения подсчета, когда определяют на этапе определения, что принятое значение подсчета соответствует содержащемуся значению подсчета, и дешифруют зашифрованные данные в принятом фрейме с помощью сгенерированного ключа дешифрования, и
отбрасывают принятый фрейм, когда определяют, что принятое значение подсчета не соответствует содержащемуся значению подсчета, и
этап изменения значения подсчета, состоящий в изменении содержащегося значения, когда зашифрованные данные во фрейме дешифруют.
Данное изобретение относится к устройству обмена данными, которое выполняет обмен данными по радиоканалу, доступному для двустороннего обмена данными между устройством передачи и устройством приема, в котором:
устройство передачи данных включает в себя
средство запроса, предназначенное для подачи запроса в устройство приема, когда значение подсчета является недействительным, прием первого случайного числа, генерируемого в устройстве приема, и сохранение значения n подсчета, которое было первым сгенерировано из первого случайного числа в энергозависимом запоминающем устройстве;
средство шифрования, предназначенное для шифрования данных, предназначенных для передачи, по значению n подсчета;
средство передачи, предназначенное для передачи данных в формате фрейма, включающем в себя значение n подсчета и зашифрованные данные; и
средство изменения значения подсчета, предназначенное для изменения значения подсчета, сохраненного в энергозависимом запоминающем устройстве, каждый раз, когда передают данные,
в котором, когда измененное значение превышает установленный диапазон, подают запрос в устройство приема, принимают второе случайное число, отличающееся от первого случайного числа, сгенерированного в устройстве приема, и значение n'(≠n) подсчета, которое было первым сгенерировано из второго случайного числа, сохраняют в энергозависимом запоминающем устройстве, и
процесс шифрования, выполняемый средством шифрования, процесс передачи, выполняемым средством передачи, и процесс изменения значения подсчета, выполняемый средством изменения значения подсчета, повторяют при использовании значения n' подсчета; и
устройство приема данных включает в себя
средство отклика на запрос, предназначенное для приема запроса и передачи первого случайного числа в устройство приема,
средство приема, предназначенное для приема данных в формате фрейма, переданном средством передачи,
средство определения, предназначенное для определения, было или нет принятое значение подсчета увеличено или уменьшено по сравнению с содержащимся значением, и попадает ли оно в установленный диапазон,
средство дешифрования, предназначенное для
генерирования ключа дешифрования путем использования принятого значения подсчета, когда средство определения определило, что принятое значение подсчета соответствует содержащемуся значению подсчета, и дешифруют зашифрованные данные в принятом фрейме с использованием сгенерированного ключа дешифрования, и
отбрасывают принятый фрейм, когда определяют, что принятое значение подсчета не соответствует содержащемуся значению подсчета, и
средство изменения значения подсчета, предназначенное для изменения содержащегося значения, когда зашифрованные данные во фрейме дешифруют.
Предпочтительные эффекты изобретения
В соответствии с данным изобретением, поскольку ни для стороны передачи, ни для стороны приема не требуется сохранять значение величины подсчета фрейма в энергонезависимом запоминающем устройстве, существует преимущество, состоящее в том, что описанные выше проблемы, ассоциированные с энергонезависимым запоминающим устройством, не возникают. В данном изобретении, даже когда значение подсчета фрейма изменяется на значение, близкое к полному значению подсчета, полученный в результате эффект может быть уменьшен.
Краткое описание чертежей
На фиг.1 показана блок-схема, представляющая общую конфигурацию устройства передачи данных, в котором может быть применено это изобретение.
На фиг.2 показана блок-схема примера устройства передачи, в котором может быть применено это изобретение.
На фиг.3 показана блок-схема примера устройства приема, в котором может быть применено это изобретение.
На фиг.4 показана схема, представляющая формат фрейма в соответствии со справочным примером, используемым для пояснения данного изобретения, и представляющая собой схему для пояснения обработки.
На фиг.5 показана схема последовательности, представляющая поток обработки в соответствии со справочным примером.
На фиг.6 показана схема последовательности, представляющая поток обработки в соответствии с данным изобретением.
На фиг.7 показана схема последовательности, представляющая поток обработки в соответствии с данным изобретением.
На фиг.8 показана блок-схема, используемая для пояснения стороны передачи (пульт дистанционного управления) в соответствии с первым вариантом осуществления данного изобретения.
На фиг.9 показана блок-схема, используемая для пояснения стороны приема в соответствии с первым вариантом осуществления данного изобретения.
На фиг.10 показана блок-схема последовательности операций, представляющая поток обработки на стороне передачи в соответствии с первым вариантом осуществления данного изобретения.
На фиг.11 показана блок-схема последовательности операций, представляющая поток обработки на стороне приема в соответствии с первым вариантом осуществления данного изобретения.
На фиг.12 показана блок-схема последовательности операций, представляющая поток обработки на стороне приема в соответствии с первым вариантом осуществления данного изобретения
Подробное описание изобретения
Ниже будут описаны варианты осуществления данного изобретения. Следует отметить, что описание будет представлено в следующем порядке.
<1. Справочный пример>
<2. Первый вариант осуществления>
<3. Модификации>
Следует отметить, что варианты осуществления, описанные ниже, представляют собой предпочтительные конкретные примеры данного изобретения, и хотя здесь представлены различные технически предпочтительные ограничения, объем изобретения не следует ограничивать этими вариантами осуществления, если только в следующем описании не будет конкретно указано, что такие варианты осуществления ограничивают данное изобретение.
<1. Справочный пример>
Для того чтобы способствовать пониманию данного изобретения, будет описан справочный пример со ссылкой на фиг.6. В модуле 101 передачи выполняется передача данных на этапе ST1. Передаваемые данные имеют формат передачи, как описано со ссылкой на фиг.4А. Когда выполняется передача данных, выполняют запрос в модуль 201 приема значения подсчета фрейма (этап ST21).
После приема запроса модуль 201 приема генерирует случайное число с помощью аппаратного или программного генератора случайного числа. Случайное число содержится в энергозависимом запоминающем устройстве, например в RAM, в модуле приема, и модуль 101 передачи уведомляют о случайном числе, как значении подсчета фрейма (этап ST23). Ограниченные пунктирной линией этап ST21 запроса значения подсчета фрейма, этап ST22 генерирования значения подсчета фрейма и этап ST23 уведомления о значения подсчета фрейма представляют собой добавленные процессы.
Путем использования значения подсчета фрейма, принятого на этапе ST23, генерируют ключ шифрования (этап ST3), данные (полезную нагрузку) шифруют (этап ST4), и зашифрованные данные преобразуют в данные, представленные в формате фрейма (этап ST5). На этапе ST6 передают данные в формате фрейма. Процесс передачи данных заканчивается последовательностью упомянутых выше процессов. При этом не требуется использовать энергонезависимое запоминающее устройство для сохранения значения подсчета фрейма.
В модуле 201 приема принимают данные, переданные из модуля 101 передачи (этап ST11). Значение подсчета фрейма в принятом фрейме сравнивают со значением подсчета, содержащимся в блоке сохранения значения подсчета фрейма (энергозависимое запоминающее устройство, например RAM) (этап ST24). Таким образом, определяют, соответствуют ли друг другу значение подсчета фрейма в принятом фрейме и содержащееся значение подсчета фрейма.
Когда принятое значение подсчета фрейма соответствует содержащемуся значению подсчета фрейма, определяют, что принятый фрейм является приемлемым. В случае приемлемого фрейма ключ дешифрования генерируют из значения подсчета фрейма и данных ключа, переданных во время установки пары (этап ST13). На этапе ST14 дешифруют зашифрованные данные.
Если условие, в соответствии с которым принятое значение подсчета фрейма должно соответствовать содержащемуся значению подсчета фрейма, не удовлетворяется, определяют, что принятый фрейм является неприемлемым. Когда определяют как неприемлемый, весь принятый фрейм отбрасывают и ожидают приема следующего фрейма. Процесс приема данных заканчивается последовательностью процессов, упомянутых выше.
В описанном выше справочном примере, после установления пары, даже если значение подсчета фреймов не содержится в энергонезависимом запоминающем устройстве, при передаче и приеме фреймов, может быть эквивалентный уровень безопасности. Хотя представленное описание было представлено путем определения стороны передачи и стороны приема как стандарта для физического уровня, используемого в стандарте RF4CE, используется IEEE 802.15.4. Этот стандарт включает в себя функцию двустороннего обмена данными. В соответствии с этим, сторона приема также выполнена с возможностью двусторонней передачи данных для передачи данных на сторону передачи.
В справочном примере значение подсчета фрейма генерируют по случайному числу на стороне приема, и сторона передачи запрашивает значение, и возвращенное значение используют как значение подсчета фрейма. Таким образом, на стороне передачи, даже в случае потери значения подсчета, достаточно просто сделать запрос на сторону приема таким образом, что нет необходимости сохранять значение подсчета в энергонезависимом запоминающем устройстве. С другой стороны, на стороне приема также генерируют случайное число после прихода запроса со стороны передачи, значение возвращают на сторону передачи, и возвращенное значение устанавливают как следующее предназначенное для приема значение таким образом, что нет необходимости обеспечивать энергонезависимое сохранение значения подсчета.
При выполнении запроса для счетчика фреймов
отсутствует какая-либо конкретная необходимость в шифровании. Даже если это значение будет украдено в результате перехвата, если авторизованный блок передачи немедленно выполняет передачу, используя это значение, такое значение становится неприменимым после этого, и таким образом возможно поддерживать безопасность.
<2. Первый вариант осуществления>
"Обзор варианта осуществления в соответствии с данным изобретением"
В справочном примере, после каждой передачи фрейма, сторона передачи должна запрашивать на стороне приема значения подсчета фрейма. В соответствии с этим, "этап запроса счетчика фреймов" и "этап уведомления значения подсчета фрейма" добавляют к тому, что первоначально представляло собой только передачу фрейма, что может снизить эффективность передачи фрейма или уменьшить скорость отклика, из-за времени, необходимого для процесса генерирования случайного числа.
В варианте осуществления данного изобретения, когда однажды выполняют запрос значения подсчета фрейма, на основе полученного значения подсчета сторона приема принимает фреймы, до тех пор, пока не будет достигнуто заданное установленное значение подсчета, делая таким образом возможным уменьшить количество раз, которое следует выполнить "этап запроса счетчика фреймов".
Как показано на фиг.7, в состоянии, когда действительное значение подсчета фрейма не содержится, выполняют запрос значения подсчета фрейма (этап ST21). На стороне приема генерируют случайное число n (этап ST22). Случайное число n передают со стороны приема на сторону передачи (этап ST23).
После возникновения первого запроса ТО на передачу данных, данные шифруют со значением n подсчета фрейма, причем фрейм включает в себя значение n подсчета фрейма, и зашифрованные данные передают, и фрейм принимают (прием R0 данных). Значение подсчета фрейма на стороне приема установлено в (+1). В результате, значение нижнего предела приемлемого диапазона последовательно увеличивают на 1, и значение, не меньшее чем (n+1) и не больше чем (n+m-1), устанавливают как приемлемый диапазон.
Затем, когда происходит запрос Т1 на передачу данных, значение подсчета фрейма устанавливают как (n+1) и передают. После приема R1 данных, поскольку значение подсчета фрейма соответствует содержащемуся значению подсчета фрейма, принятые данные таким образом определяют как приемлемые данные и дешифруют. Значение подсчета фрейма на стороне приема устанавливают как (n+1). В результате, нижнее предельное значение приемлемого диапазона последовательно увеличивают на 1, и диапазон не меньше чем (n+2) и не больше чем (n+m-1) устанавливают как приемлемый диапазон.
Таким образом, при каждом запросе на передачу данных, значение подсчета фрейма на стороне передачи последовательно увеличивают. На стороне приема значение подсчета фрейма последовательно увеличивают при каждом приеме данных. Значение после последовательного увеличения содержат в RAM (энергозависимое запоминающее устройство) до тех пор, пока не будет в следующий раз выполнен "этап запроса счетчика фреймов". После генерирования случайного числа n в ответ на "этап запроса счетчика фреймов", приемная сторона устанавливает диапазон приемлемых значений счетчика фреймов, предназначенных для передачи, рядом с диапазоном, который не меньше чем n и не больше чем (n+m-1). Что касается значения m, система устанавливает фиксированное значение, или заранее выполняют его обмен между стороной передачи и стороной приема. Например, значение m может быть передано из стороны приема вместе со случайным числом n.
Приемная сторона принимает в качестве приемлемых данных только фреймы, имеющие значения подсчета фрейма, которые попадают в пределы диапазона от значения n подсчета фрейма, выработанного самой стороной приема (n+m-1), и является большим, чем уже принятые значения. Например, что касается запроса Т3 передачи данных на фиг.7, поскольку значения подсчета фрейма не меньше чем (n+3) и не больше чем (n+m-1), попадают в приемлемый диапазон, фреймы со значениями подсчета фрейма не больше чем (n+2), определяются как не приемлемые данные. Например, когда после запроса Т4 передачи данных передают фрейм, значение подсчета фрейма которого попадает за пределы диапазона (от n до n+m-1), этот фрейм отбрасывают как не приемлемые данные на стороне приема.
Когда после передачи фреймов m раз сторона передачи передает фрейм, имеющий значение подсчета фрейма (n+m) в (m+1)-й момент времени, сторона передачи знает, что сторона приема не будет принимать этот фрейм. В соответствии с этим, снова заранее выполняют запрос значения подсчета фрейма, и случайное число n', отличающееся от n, получают как значение подсчета фрейма.
Значение диапазона m от значений подсчета фрейма, обозначающих приемлемые данные, может быть установлено произвольно. Однако малое значение m увеличивает количество раз, которое выполняют "этап запроса счетчика фреймов", в результате чего понижается эффективность передачи. Большое значение m усугубляет эффект, проявляющийся, когда злоумышленная третья сторона перехватывает RF сигнал дистанционного управления и передает фрейм, значение подсчета фрейма которого было изменено до значения, близкого к значению полного подсчета. В этом случае, значение подсчета фрейма резко увеличивается, что делает невозможной работу авторизованного пульта дистанционного управления.
Соответствующее значение m составляет, например, приблизительно 1024. При таком значении, если фрейм, значение подсчета фрейма которого было изменено до значения, близкого к значению полного подсчета, будет передан, можно просто непрерывно нажимать на кнопку пульта дистанционного управления. Поскольку фрейм появляется через каждые 50 мс, например, "этап запроса счетчика фреймов" происходит снова приблизительно через несколько секунд, обеспечивая таким образом возможность восстановления. Кроме того, поскольку счетчик фреймов генерируют по случайному числу, строго говоря, существует опасность того, что одно и то же значение будет использовано дважды. Однако в случае 4 байтов, могут быть сгенерированы приблизительно 4,2 миллиарда случайных чисел, поэтому вероятность совпадения одного случайного числа, возникающего в течение периода использования, является чрезвычайно низкой.
Количество битов счетчика фреймов не ограничено 4 байтами, но может быть установлено на соответствующую длину, в зависимости от требуемого уровня защиты. Кроме того, все 4 байта счетчика фреймов установлены как случайное число. В качестве альтернативы, например, если m установлено, как 1024 (10-ая степень 2), 22 бита из 4 байтов (32 бита) могут быть назначены как случайное число, и 10 битов младшей значащей стороны могут быть назначены как значение подсчета, которое последовательно увеличивают.
"Конфигурация и работа стороны передачи"
Со ссылкой на фиг.8, будет представлено описание конфигурации модуля передачи (пульта дистанционного управления) в соответствии с вариантом осуществления данного изобретения. Общая конфигурация системы в соответствии с вариантом осуществления данного изобретения является такой же, что была описана со ссылкой на фиг.1. В пульте 100 дистанционного управления предусмотрен блок 103 управления стороной передачи, и команду (код) для пульта дистанционного управления генерируют, когда пользователь выполняет операции с кнопочной матрицей. Кроме того, в пульте 100 дистанционного управления используется батарея в качестве источника питания.
Код, который должен быть передан (данные полезной нагрузки) из блока управления, передачей подают в интерфейс 401 данных. Данные полезной нагрузки шифруют в блоке 402 шифрования данных, например, используя AES. Зашифрованные данные полезной нагрузки из блока 402 шифрования подают в блок 403 генерирования фрейма. В блоке 403 генерирования фрейма строят данные, отформатированные, как показано на фиг.4А. Данные из блока 403 генерирования фрейма подают в блок 404 передачи фрейма, и выходные данные блока 404 передачи фрейма передают в модуль приема.
В блоке 404 передачи фрейма выполняют такие процессы, как форматирование пакетов данных передачи, модуляция и т.п. Хотя это не показано, RF сигнал дистанционного управления передают в модуль приема через передающую антенну и приемную антенну. Когда передача фрейма заканчивается, инструкция на последовательное увеличение поступает в блок 410 управления счетчиком фреймов.
В интерфейсе 401 данных генерируют уведомление о возникновении данных для уведомления о возникновении передаваемых данных, и уведомление о возникновении данных передают в блок 405 проверки удержания значения подсчета фрейма. Блок 405 проверки удержания значение подсчета фрейма определяет, содержится или нет действительное значение подсчета фрейма в счетчике 407 фреймов. Счетчик 407 фреймов имеет, например, 4 байта в длину. Счетчик 407 фреймов выполняет последовательное приращение по инструкции последовательного приращения из блока 410 управления счетчиком фреймов, и его содержание устанавливают как недействительное значение по инструкции недостоверности из блока 410 управления счетчиком фреймов.
Значение подсчета фрейма не является недостоверным (является недостоверным), когда значение подсчета фрейма равно 0, максимальному подсчитываемому значению, или заданному значению, которое не используется. Случаи, когда значение подсчета фрейма принимает любое из этих значений, определены как недействительные. В соответствии с этим, когда значение подсчета фрейма для счетчика 407 фреймов принимает любое одно из этих значений, блок 405 проверки удержания значения подсчета фрейма определяет, что значение подсчета фрейма является недействительным.
После определения, что значение подсчета фрейма счетчика 407 фреймов является недействительным, блок 405 проверки удержания значения подсчета фрейма передает инструкцию в блок 406 запроса/получения значения подсчета фрейма для подачи запроса. По такой инструкции выполняют запрос на получение значения подсчета фрейма и принимают уведомление о значении подсчета фрейма. Полученное значение подсчета фрейма устанавливают в счетчике 407 фреймов. Двустороннюю передачу данных для подачи запроса на значения подсчета фрейма и уведомление о значении подсчета фрейма выполняют, используя тот же обмен данными, который используется для данных полезной нагрузки. Однако шифрование, обработка с использованием значения подсчета фрейма и т.п. не выполняются. Следует, однако, отметить, что процесс шифрования или другая обработка с использованием значения подсчета фрейма могут быть выполнены отдельно от обмена данными, относящегося к данным полезной нагрузки.
Значение подсчета счетчика 407 фреймов подают в блок 408 генерирования ключа шифрования. В блоке 408 генерирования ключа шифрования генерируют ключ шифрования, используя операцию ИСКЛЮЧАЮЩЕЕ ИЛИ для значения подсчета фрейма и данных ключа, содержащихся в блоке сохранения ключа. Ключ шифрования подают в блок 402 шифрования данных, и данные полезной нагрузки шифруют. Кроме того, сгенерированное значение подсчета фрейма подают в блок 403 генерирования фрейма и вставляют в данные передачи одного фрейма.
Блок 410 управления счетчиком фреймов генерирует сигнал для последовательного приращения счетчика 407 фреймов, и количество последовательных приращений удерживают в блоке 409 удержания значения подсчета последовательного приращения, сформированного энергозависимым запоминающим устройством, например RAM микросхемы микрокомпьютера. Когда количество последовательных приращений достигает m, блок 410 управления счетчиком фреймов передает инструкцию недействительности в счетчик 407 фреймов, в результате чего значение счетчика 407 фреймов становится недействительным.
Обработка, выполняемая в модуле передачи, будет описана со ссылкой на блок-схему последовательности операций, показанную на фиг.10. Эту обработку выполняют с помощью компонентов (аппаратных и/или программных), показанных на фиг.8. На этапе ST31 возникают данные передачи. Когда данные передачи подают в интерфейс 401 данных, с помощью блока 405 проверки удержания значения подсчета фрейма определяют, содержится или нет действительное значение подсчета фрейма (этап ST32).
Если определяют, что действительное значение подсчета фрейма содержится, обработка переходит на этап ST34. Если действительное значение подсчета фрейма не содержится, на этапе ST33, подают запрос значения подсчета фрейма. Значение подсчета фрейма передают в виде уведомления при обработке на ST50 на стороне приема и получают значение подсчета фрейма. Этап ST33 представляет собой процесс, выполняемый блоком 406 запроса/получения значения подсчета фрейма.
На этапе ST34, генерируют ключ шифрования с помощью блока 408 генерирования ключа шифрования, на основе действительного значения подсчета фрейма или полученного значения подсчета фрейма. На этапе ST35, данные (данные полезной нагрузки) шифруют с помощью ключа шифрования в блоке 402 шифрования данных. Одни данные фрейма генерируют из зашифрованной полезной нагрузки, значения подсчета фрейма, части заголовка и т.п. в блоке 43 генерирования фрейма (этап ST36).
Сгенерированные данные в структуре фрейма подают в блок 44 передачи фрейма, и на этапе ST37 RF сигнал дистанционного управления передают в блок 404 передачи фрейма. На стороне приема выполняют процесс ST60 приема переданного RF сигнала дистанционного управления. Хотя этап ST37 для передачи фрейма не требует двустороннего обмена данными, двусторонний обмен данными выполняют в случае, когда инструкция сделать недействительным счетчик фреймов, должна быть передана со стороны приема на сторону передачи.
Когда передача фрейма заканчивается, на этапе ST38, значение подсчета фрейма последовательно увеличивают с помощью блока 410 управления счетчиком фреймов. На этапе ST39, определяют с помощью блока 410 управления счетчиком фреймов, равно или больше число последовательных приращений счетчика фрейма значению m. Если определяют, что количество последовательных приращений не больше чем m, передача данных заканчивается (этап ST41). Затем вводят состояние, в котором ожидают возникновения передачи данных в ответ на нажатие пользователем кнопки. Если на этапе ST39 определяют, что количество последовательных приращений равно m или больше, поскольку верхнее предельное значение было достигнуто, на этапе ST40, значение подсчета фреймов делают недействительным. Затем процесс передачи данных заканчивается (этап ST41).
"Конфигурация и операция на стороне приема"
Со ссылкой на фиг.9, будет представлено описание конфигурации модуля приема (предусмотренного в электронном оборудовании, таком как телевизионный приемник), в соответствии с вариантом осуществления данного изобретения. Запрос значения подсчета фреймов из модуля передачи принимают в блоке 501 приема запроса значения подсчета. В ответ на прием запроса, блок 501 приема запроса значения подсчета подает инструкцию для генерирования случайного числа в блок 502 генерирования случайного числа. Сгенерированное случайное число используется как исходное значение (представленное как n) значения подсчета фрейма. Это случайное число подают в блок 503 уведомления значения подсчета и передают уведомление, содержащее исходное значение для значения подсчета в модуль передачи.
Исходное значение n значения подсчета подают в блок 505 удержания нижнего предельного значения счетчика. Пусть m (0, 1…, m-1) представляет диапазон изменений установленного значения подсчета фрейма, значение (n+m-1), равное исходному значению подсчета плюс (m-1), представляет собой верхнее предельное значение действительного значения подсчета. Верхнее предельное значение счетчика содержится в блоке 504 содержания верхнего предельного значения счетчика. Блок 504 содержания верхнего предельного значения счетчика и блок 505 содержания нижнего предельного значения счетчика каждый сформирован, например, как энергозависимое запоминающее устройство, например RAM в микрокомпьютерной микросхеме.
Каждый раз, когда принимают фрейм, обновляют значение подсчета фрейма, содержащееся в блоке 505 содержания нижнего предельного значения счетчика, до значения, полученного путем добавления 1 к принятому значению подсчета фрейма. Что касается добавляемого значения, установленное значение (другое значение, кроме 1) может быть добавлено каждый раз, когда принимают фрейм. В этом случае, значение подсчета фрейма изменяется аналогично на стороне передачи.
Хотя это и не показано, RF сигнал дистанционного управления подают в блок 507 приема фрейма из модуля передачи через приемную антенну. В блоке 507 приема фрейма выполняют процессы, такие как демодуляция принятых данных, разборка пакета и разборка фрейма. В блоке 506 сравнения значения подсчета фрейма определяют, попадает ли или нет значение подсчета фрейма (представленное, как у) в принятом фрейме, в приемлемый диапазон.
Нижнее предельное значение (n+x) (х=0, 1, 2…) значения подсчета и верхнее предельное значение (n+m-1) значения подсчета подают в блок 506 сравнения значения подсчета фрейма. В случае, когда удовлетворяется взаимосвязь (n+x)≤у≤(n+m-1), блок 506 сравнения значения подсчета фрейма определяет, что принятое значение у подсчета фрейма попадает в приемлемый диапазон. В противном случае, принятое значение у подсчета фрейма определяют, как неприемлемое значение. Если, в результате, его определяют как приемлемое, значение у подсчета фрейма подают в блок 508 генерирования ключа дешифрования, и принятые данные полезной нагрузки подают в блок 509 дешифрования данных. Если, в результате, его определяют как неприемлемое, данные принятого фрейма отбрасывают, и весь приемлемый диапазон делают недействительным.
В блоке 508 генерирования ключа дешифрования ключ дешифрования генерируют с помощью операции ИСКЛЮЧАЮЩЕЕ ИЛИ для значения у подсчета фрейма и данных ключа, содержащихся в блоке сохранения ключа. Ключ дешифрования подают в блок 509 шифрования данных, и выполняют дешифрование данных полезной нагрузки. Кроме того, возникает инструкция, обеспечивающая последовательное приращение (+1) блока 505 содержания нижнего предельного значения счетчика. Дешифрованные данные подают в блок 203 управления стороной приема (см. фиг.1) и электронным оборудованием управляют дистанционно.
Следует отметить, что непосредственно после инициализации (сброса) на стороне приема содержащиеся значения счетчика (верхнее предельное значение и нижнее предельное значение) становятся недействительными, пока действительное значение подсчета не будет установлено на "этапе запроса счетчика фреймов" и т.п. на стороне передачи. Когда содержащиеся значения счетчика (верхнее предельное значение и нижнее предельное значение) являются недействительными, для стороны приема невозможно определить, является ли правильным передаваемое значение счетчика фреймов. В результате, становится невозможным принять фрейм.
В этом случае, если сторона передачи содержит данные передачи, до тех пор пока значение подсчета фрейма не станет полным подсчетом, происходит "этап запроса счетчика фреймов", новое значение подсчета фрейма устанавливают на каждой из стороны передачи и стороны приема, обеспечивая таким образом восстановление. Однако если значение m является большим, требуется длительное время, до тех пор, пока значение подсчета фрейма на стороне передачи не станет полным подсчетом, и произойдет "этап запроса счетчика фреймов".
В качестве меры против такой проблемы задержанного восстановления, в случае, когда сторона приема принимает данные фрейма, когда значения счетчика, содержащиеся на стороне приема, являются недействительными, сигнал, представляющий инструкцию, делающую недействительным значение счетчика фреймов на стороне передачи, передают на сторону передачи. В соответствии с этим сигналом, который содержит инструкцию на то, чтобы сделать недействительным, сторона приема немедленно делает недействительным счетчик фреймов на стороне передачи и на "этапе запроса значения подсчета фрейма". В таком процессе время, требуемое для восстановления, может быть сокращено.
В качестве другого способа, в случае, когда значения счетчика, содержащиеся на стороне приема, являются недействительными, сторона приема устанавливает значения счетчика, которые должны содержаться на стороне приема таким образом, что значения в диапазоне от значения подсчета фрейма первого принятого фрейма до значения, полученного путем добавления m к этому значению, являются действительными, и после этого выполняют обработку, считая содержащиеся значения подсчета действительными. В ходе этого процесса, данные фрейма, которые становятся недействительными непосредственно после этого, удаляют, и начинается этап запроса значения счетчика фреймов в конце передачи, в то время как определенное значение подсчета будет принято, обеспечивая таким образом возможность восстановления в течение короткого времени.
Обработка в модуле приема будет описана со ссылкой на блок-схемы последовательности операций, показанные на фиг.11 и фиг.12. Эту обработку выполняют с помощью компонентов (аппаратных и/или программных), показанных на фиг.9. На фиг.11 показаны детали обработки (процесс ST50 по фиг.10, выполняемый в отношении запроса значения подсчета фрейма из модуля передачи).
На этапе ST51, блок 501 приема запроса значения подсчета принимает запрос значения подсчета фрейма. На этапе ST52, инструкцию генерирования случайных чисел подают в блок 502 генерирования случайного числа, и генерируют случайное число. Случайное число используется как исходное значение n для значения подсчета фрейма.
На этапе ST53, сторону передачи уведомляют о сгенерированном случайном числе (исходное значение n значения подсчета фрейма) с помощью блока 503 уведомления о значении подсчета. На этапе ST54, исходное значение n значения подсчета устанавливают в блоке 505 содержания нижнего предельного значения счетчика и устанавливают верхнее предельное значение счетчика (n+m-1) в блоке 504 содержания предельного верхнего значения счетчика. В результате выполнения описанных выше процессов, обработка, выполняемая в отношении запроса значения подсчета фрейма, заканчивается (этап ST55).
На фиг.12 показаны детали процесса приема (процесса ST60 по фиг.10) в случае, когда RF сигнал дистанционного управления будет принят из модуля передачи. На этапе ST61, блок 507 приема фрейма принимает RF сигнал дистанционного управления.
На этапе ST62, с помощью блока 506 сравнения значения подсчета фрейма определяют, попадает или нет принятое значение у подсчета фрейма в пределы приемлемого диапазона. В случае, когда удовлетворяется взаимосвязь (n+x)≤y≤(n+m-l), принятое значение у подсчета фрейма определяют как попадающее в приемлемый диапазон. В противном случае, принятое значение у подсчета фрейма определяют как неприемлемое значение.
Если на этапе ST62 определяют, что принятое значение подсчета фрейма не попадает в пределы приемлемого диапазона, данные фрейма отбрасывают, и на этапе ST66 приемлемый диапазон (содержащееся нижнее предельное значение и верхнее предельное значение) делают недействительным. Затем обработка приема данных заканчивается.
Если на этапе ST62 определяют, что принятое значение подсчета фрейма попадает в пределы приемлемого диапазона, на этапе ST63, генерируют ключ дешифрования с помощью блока 508 генерирования ключа дешифрования на основе принятого значения подсчета фрейма. На этапе ST64, дешифруют данные полезной нагрузки с помощью блока 509 дешифрования данных. На этапе ST65, значение, полученное путем добавления 1 к принятому значению подсчета фрейма, устанавливают в блоке 505 значении содержания нижнего предельного значения счетчика, в качестве следующего нижнего предельного значения приемлемого диапазона. Используя описанную выше обработку, обработка приема данных заканчивается (этап ST67).
<3. Модификации>
Данное изобретение не ограничено описанными выше вариантами осуществления, но возможны различные модификации на основе технической идеи настоящего изобретения. Например, случайное число генерируют после "этапа ST51 приема запроса значения подсчета фрейма (фиг.11)" на стороне приема. Однако путем генерирования случайного числа при подготовке к следующему запросу после этапа ST55, на котором заканчивается обработка в отношении запроса значения подсчета фрейма и содержания сгенерированного случайного числа, становится возможным сделать отклик более быстрым.
Кроме того, в то время как представленное выше описание направлено на случай, когда значение подсчета фрейма изменяется, так, что оно увеличивается, значение подсчета фрейма может изменяться так, что оно будет уменьшаться. В этом случае, нижнее предельное значение фиксируют и верхнее предельное значение постепенно уменьшают при каждой передаче. Настоящее изобретению также можно применять, например, для случая обеспечения передачи данных из электронного оборудования в пульт дистанционного управления.
Список номеров ссылочных позиций
100 пульт дистанционного управления
101 модуль передачи
103 блок управления передачей
104 кнопочная матрица
200 телевизионный приемник
201 модуль приема
203 блок управления приемом
402 блок шифрования данных
403 блок генерирования фрейма
405 блок проверки содержания значения подсчета фрейма
406 блок запроса/получения значения подсчета фрейма
407 блок содержания величины последовательного приращения для подсчета
408 блок управления счетчиком фреймов
501 блок приема запроса значения подсчета
502 блок генерирования случайного числа
503 блок уведомления о значении подсчета
504 блок содержания верхнего предельного значения счетчика
505 блок содержания нижнего предельного значения счетчика
506 блок сравнения значения подсчета фрейма