Распространение криптографического секретного ключа
Иллюстрации
Показать всеИзобретение относится к распространению криптографического секретного ключа между передающей и принимающей сторонами. Технический результат заключается в возможности автоматического регулирования защиты и времени ожидания генерации криптографического секретного ключа за счет установки числа итераций, на основании которого управляют числом сообщений, обмен которыми должен быть выполнен в течение генерации криптографического секретного ключа. Устройство для приема и передачи данных защищенным образом содержит контроллер генерации ключа и блок предоставления числа итераций. 4 н. и 7 з.п. ф-лы, 17 ил.
Реферат
Область техники
Настоящее изобретение относится к распространению криптографического секретного ключа между передающей стороной и принимающей стороной.
Уровень техники
В документе WO 2007/031089 раскрыт способ защищенной связи в системе беспроводной связи. В режиме генерации ключа точка доступа, снабженная антенной ESPAR, формирует диаграмму направленности и передает пакет для измерения. Терминал принимает этот пакет с всенаправленной диаграммой направленности и после усреднения получает значение Индикации Интенсивности Принятого Сигнала (RSSI), чтобы выровнять влияние шума. Далее, пакет для измерения с использованием всенаправленной диаграммы передается обычным пользователем. Точка доступа принимает этот пакет посредством диаграммы, которая идентична исходной диаграмме, и получает значение RSSI после усреднения. K разных значений RSSI получаются посредством повторения измерения RSSI K раз и изменения диаграммы направленности точки доступа. Итерация K просто устанавливается в соответствии с длиной ключа. Далее, для значения RSSI из K элементов устанавливается пороговое значение, и оно становится равным 1, если оно выше порогового значения, и 0 - если оно ниже порогового значения. После преобразования в двоичную форму такой же ключ генерируется в точке доступа и у обычного пользователя, и достигается согласование ключа.
В системах беспроводной связи криптография с секретным ключом используется, поскольку ее скорость обработки достаточна для обработки больших массивов данных. Криптография с секретным ключом иногда обозначается как симметричная криптография. Это традиционная форма криптографии, в которой один ключ может использоваться для шифрования и дешифрования сообщения. Криптография с секретным ключом выполняет функцию не только шифрования, но и аутентификации. Один из таких способов называется Кодом Аутентификации Сообщения (MAC). Ключ шифрования тривиально связан с ключом дешифрования, что выражается в их идентичности или в простой трансформации для преобразования одного из этих ключей в другой. Эти ключи, по существу, представляют совместно используемый секрет между двумя или более сторонами, который может быть использован для поддержания частной информационной линии. Преимущество криптографии с секретным ключом заключается в том, что она обычно обеспечивает более скоростную работу, чем криптография с открытым ключом.
Шифрование с симметричным ключом также называют шифрованием с секретным ключом, шифрованием с одним ключом, шифрованием с совместно используемым ключом, шифрованием с единым ключом и шифрованием с частным ключом. Тем не менее, использование последнего термина конфликтует с термином «частный ключ» в криптографии с открытым ключом.
Основной задачей криптосистем с секретным ключом является обеспечение согласования секретного ключа между отправителем и получателем без его раскрытия кому-либо еще. Для этого требуется способ, по которому две стороны могут осуществлять связь, не опасаясь подслушивания. Соответственно, важным вопросом является то, как достичь начального обмена ключом.
Одним из подходов является применение двунаправленных измерений LQI/RSSI (Индикатора Качества Линии/Индикатора Интенсивности Принятого Сигнала), чтобы оценить вариации затуханий тракта сигнала между двумя приемопередатчиками, чтобы создать между двумя узлами совместно используемый секрет. Благодаря теореме взаимности распространения радиоволны между двумя осуществляющими связь сторонами, можно вычислить для них общую информацию посредством использования характеристик флуктуации каналов. Этот подход может предоставить схему согласования секретного ключа без каких-либо процессов распространения ключа. Поскольку эта схема может при необходимости предоставить одноразовый ключ, она является отличным способом для решения проблем распространения ключа и управления ключом.
Второй подход заключается в отправке набора произвольных чисел, необязательно на малой мощности передачи, и комбинируя (например, по алгоритму XOR) их вместе, чтобы сгенерировать "ключ". Маловероятно, что атакующий корректно подслушает их все.
Первый подход имеет необязательный вариант, в котором созданный совместно используемый секрет используется, чтобы защитить 128-битный случайный ключ, сгенерированный одним из устройств. Это помогает обеспечить защиту против будущих атак, основанных на величине "случайности" в затухании сигнала. Вдобавок, первый подход осложняет задачу атакующего, поскольку приемник атакующего будет иметь затухание тракта между ним и каждой из целей, которое будет отличаться от затухания между этими двумя целями. По существу, цифровые значения качества линии (LQI, обычно оцениваемый как индикация интенсивности принятого сигнала, RSSI), оцененные в каждом направлении между двумя узлами, будут иметь сильную корреляцию, тогда как LQI/RSSI к третьему узлу обычно будут иметь очень слабую корреляцию.
Второй подход осложняет задачу атакующего, поскольку ему потребуется устройство радиоприемника, расположенное очень близко к цели и специально сконфигурированное для подслушивания правильного канала во время установки. Тем не менее, один из рисков второго подхода (комбинирования множества ключей) заключается в том, что атакующие могут оставить подслушивающее устройство, которое работает все время и которое снабжено, вероятно, высококачественным приемником. Впоследствии, они могут проанализировать файлы журнала, и при определенной доле везения они могут получить всю информацию ключей. Это, необязательно, может быть смягчено посредством выполнения передач на низкой мощности передачи, которая будет приемлема для производителей внедряемых продуктов, в надежде на снижение риска атак.
Тем не менее, оба подхода имеют недостаток, заключающийся в том, что требуется много транзакций для генерации ключа, который достаточно силен для применения во всех случаях. Например, первый подход может потребовать обмена 300 сообщениями, чтобы обеспечить 128-битную защиту. Для многих приложений это излишне. Конкретным примером приложения, где это будет неуместно, является устройство сбора энергии. Для устройств, таких как переключатели света, становится возможной генерация достаточного количества энергии за счет действия нажатия переключателя, чтобы обеспечить работу их приемопередатчика и микропроцессора в течение короткого интервала. Этого интервала, вероятно, будет недостаточно для обмена десятками или сотнями сообщений.
Время ожидания также является важным фактором. Если пользователь нажимает клавишу и в течение, например, 3 секунд ничего не происходит, то он может нажать другую кнопку. Вероятно, это будет более важно для устройств, которым требуется часто присоединяться к сети, например, приложения в точках продаж.
В отличие от этого, более высокие требования безопасности требуют отправки большего числа сообщений, чтобы снизить вероятность успешной атаки. Противоречащие требования усиленной защиты и низкой рабочей мощности/времени ожидания не могут быть адекватно удовлетворены доступными системами.
Сущность изобретения
Целью настоящего изобретения является предоставление усовершенствованной схемы распространения криптографического секретного ключа, которая предоставляет гибкость в отношении вышеупомянутых противоречащих требований. Изобретение определяется посредством независимых пунктов формулы изобретения. Зависимые пункты определяют предпочтительные варианты осуществления. Изобретение предоставляет систему для передачи или приема зашифрованных данных с использованием криптографического секретного ключа, в которой число итераций либо принимается с другой стороны передачи, либо локально генерируется и передается на другую сторону; и число сообщений, обмен которыми должен быть выполнен с другой стороной в течение генерации криптографического секретного ключа, регулируется на основании упомянутого числа итераций. Таким образом, может быть обеспечено, что обе стороны передачи используют одинаковое число сообщений для генерации ключа.
Соответственно, один или оба из узлов, устройств, сторон передачи или концов передачи могут варьировать, определять или влиять на число сообщений, передаваемых в течение генерации криптографического секретного ключа. Благодаря этому настоящее изобретение гораздо более адаптируемо к требованиям приложений, чем решение предшествующего уровня техники (WO 2007/031089), согласно которому итерация просто устанавливается согласно длине ключа.
В настоящем изобретении, термин "блок предоставления числа итераций" должен пониматься в рамках контекста текста заявки. Это означает, что этот блок может представлять собой любой блок или функцию, которая эффективно предоставляет число итераций. Он может быть реализован разными способами, например, посредством автономного предоставления числа итераций (например, посредством генерации числа (например, (псевдо)случайного числа) в конкретном диапазоне), посредством считывания предопределенного числа и/или посредством предоставления числа итераций на основании внешнего ввода (например, посредством приема числа итераций из другого устройства).
Согласно первой реализации число итераций может быть предоставлено или сгенерировано в ответ на инициацию создания ключа. Так, может быть обеспечена быстрая инициация процесса генерации ключа.
Согласно второй реализации, которая может быть комбинирована с первой реализацией, число итераций может быть сгенерировано на основании операции ввода, предоставленной на устройстве генерации ключа. Этот вариант предоставляет гибкость для пользователя, что выражается в возможности индивидуального регулирования защиты и времени ожидания, например, на основании требований приложения.
Согласно третьей реализации, которая может быть комбинирована с, по меньшей мере, одной из первой и второй реализаций, число итераций может быть сгенерировано на основании типа зашифрованных данных. Таким образом, защита и/или время ожидания могут автоматически регулироваться на основании требований конкретного типа зашифрованных данных.
Согласно четвертой реализации, которая может быть комбинирована с, по меньшей мере, одной из реализаций с первой по третью, может быть предоставлена память для хранения числа итераций. Это обеспечивает, что число итераций остается доступным и не теряется после приема.
Согласно пятой реализации, которая может быть комбинирована с, по меньшей мере, одной из реализаций с первой по четвертую, может быть предоставлен счетчик для подсчета числа сообщений, обмен которыми должен быть выполнен в течение генерации криптографического секретного ключа.
Согласно шестой реализации, которая может быть комбинирована с, по меньшей мере, одной из реализаций с первой по пятую, криптографический секретный ключ может быть сгенерирован на основании записанных значений индикатора интенсивности принятого сигнала, полученных из числа сообщений, обмен которыми должен быть выполнен.
Согласно седьмой реализации, которая может быть комбинирована с, по меньшей мере, одной из реализаций с первой по шестую, криптографический секретный ключ может быть сгенерирован на основании комбинации случайных чисел, полученных из упомянутого числа сообщений, обмен которыми должен быть выполнен. Согласно конкретному примеру этой реализации, комбинация может быть выполнена по схеме исключающего ИЛИ (XOR).
Согласно восьмой реализации, которая может быть комбинирована с, по меньшей мере, одной из реализаций с первой по седьмую, криптографический секретный ключ может быть сгенерирован на основании передачи последующих криптографических секретных ключей, защищенных посредством предыдущего криптографического секретного ключа, и при этом предыдущий криптографический секретный ключ и последующие криптографические секретные ключи передаются посредством использования упомянутого числа сообщений, обмен которыми должен быть выполнен. В предпочтительной модификации восьмой реализации криптографические секретные ключи могут быть переданы на более чем одном канале передачи, чтобы, тем самым, дополнительно усилить защиту обмена ключом.
Согласно девятой реализации, которая может быть комбинирована с, по меньшей мере, одной из реализаций с первой по восьмую, устройство может быть скомпоновано так, чтобы объединять некоторое число битов криптографического секретного ключа в группы, чтобы сравнивать каждую группу с набором символов выборки, чтобы классифицировать группы согласно символу выборки с наивысшей степенью совпадения, и чтобы отбрасывать группы, которые не могут быть классифицированы с уверенностью выше предопределенного порогового значения. Таким образом, можно избежать небольшого числа битовых ошибок, обусловленных шумом, и совместно используемый секрет может быть более эффективно извлечен из наборов совместно используемых данных.
Эти и другие аспекты настоящего изобретения будут очевидны и истолкованы из следующего описания вариантов осуществления.
Краткое описание чертежей
Фиг.1 показывает схему сигнализации при генерации случайного числа на основе RSSI согласно первому варианту осуществления;
Фиг.2 показывает схематическую диаграмму, указывающую типовые значения RSSI, принятые на разных сторонах передачи;
Фиг.3 показывает схему сигнализации при передаче множества ключей с последующим комбинированием согласно второму варианту осуществления;
Фиг.4 показывает схему сигнализации при передаче ключей, защищенных посредством предыдущего ключа на более чем одном канале, согласно третьему варианту осуществления;
Фиг.5 показывает структурную схему телевизионного (TV) устройства в системе распространения ключа, в которой могут быть реализованы варианты осуществления настоящего изобретения;
Фиг.6 показывает структурную схему устройства дистанционного управления в системе распространения ключа, в которой могут быть реализованы варианты осуществления настоящего изобретения;
Фиг.7 показывает структурную схему аппаратной реализации на обоих концах передачи системы генерации случайного числа на основе RSSI согласно четвертному варианту осуществления настоящего изобретения;
Фиг.8 показывает схему последовательности операций для процедуры распространения ключа на стороне дистанционного управления в системе генерации случайного числа на основе RSSI согласно пятому варианту осуществления;
Фиг.9 показывает схему последовательности операций для процедуры распространения ключа на стороне телевизора в системе генерации случайного числа на основе RSSI согласно пятому варианту осуществления;
Фиг.10 показывает структурную схему аппаратной реализации на стороне дистанционного управления в системе комбинирования множества ключей согласно шестому варианту осуществления настоящего изобретения;
Фиг.11 показывает структурную схему аппаратной реализации на стороне телевизора в системе комбинирования множества ключей согласно шестому варианту осуществления настоящего изобретения;
Фиг.12 показывает схему последовательности операций для процедуры распространения ключа на стороне дистанционного управления в системе комбинирования множества ключей согласно седьмому варианту осуществления настоящего изобретения;
Фиг.13 показывает схему последовательности операций для процедуры распространения ключа на стороне телевизора в системе комбинирования множества ключей согласно седьмому варианту осуществления настоящего изобретения;
Фиг.14 показывает структурную схему аппаратной реализации на стороне дистанционного управления в системе защищенной передачи с множеством каналов и множеством ключей согласно восьмому варианту осуществления настоящего изобретения;
Фиг.15 показывает структурную схему аппаратной реализации на стороне телевизора в системе защищенной передачи с множеством каналов и множеством ключей согласно восьмому варианту осуществления настоящего изобретения;
Фиг.16 показывает схему последовательности операций для процедуры распространения ключа на стороне дистанционного управления в системе защищенной передачи с множеством каналов и множеством ключей согласно девятому варианту осуществления настоящего изобретения; и
Фиг.17 показывает схему последовательности операций для процедуры распространения ключа на стороне телевизора в системе защищенной передачи с множеством каналов и множеством ключей согласно девятому варианту осуществления настоящего изобретения.
Подробное описание вариантов осуществления
Ниже приведено описание разных вариантов осуществления настоящего изобретения на основе распространения ключа между устройством дистанционного управления и устройством телевизора.
Эти варианты осуществления направлены на модификацию одного или обоих вышеописанных подходов (и/или их вариантов), чтобы предоставить возможность одному или обоим участвующим узлам менять число передаваемых сообщений. Тем не менее, настоящее изобретение не ограничивается этими подходами, и оно может быть применено к любому механизму распространения ключа.
В качестве примера реализации рассматривается пульт дистанционного управления телевизора, который питается за счет небольшой солнечной панели и который может обеспечить обмен максимум, например, 5 сообщениями в течение создания ключа. Это обеспечит более слабую защиту, чем в типовом устройстве, однако этот обмен будет завершен до израсходования энергии.
В качестве дополнительного примера, телевизор и DVD-проигрыватель, устанавливающие защищенное соединение, могут обмениваться, например, 1000 сообщениями, поскольку энергоэффективность менее важна, а устойчивость к компрометации может быть более важна.
Реализация, основанная на беспроводном протоколе, может определять диапазон действительных значений для числа N передаваемых сообщений. Типовые значения для N могут лежать в диапазоне от 0 до 1000.
Для вышеупомянутого первого подхода, основанного на RSSI, установка N=0 приведет к нулевому "совместно используемому секрету". Использование этого совместно используемого секрета для передачи 128-битного ключа будет эквивалентно отправке ключа в незашифрованном виде.
Для второго подхода, основанного на логике XOR, установка N=1 также будет функционально эквивалентна отправке ключа в незашифрованном виде.
Первый вариант осуществления направлен на реализацию с использованием генерации совместно используемого секрета на основе RSSI.
Фиг.1 показывает схему сигнализации механизма создания ключа на основе RSSI согласно первому варианту осуществления. Первый узел или устройство A (например, пульт дистанционного управления) инициирует связь со вторым узлом или устройством B (например, телевизором). Каждому устройству позволяется выполнять протокол обмена ключом через некоторое взаимодействие пользователя. Например, пользователь нажимает кнопку на втором устройстве B и после этого - на первом устройстве A, либо наоборот. На первом этапе первое устройство A отправляет сообщение INI инициализации, включающее в себя индикацию числа N сообщений для обмена. Далее, на втором этапе второе устройство B отправляет подтверждение Ack приема, и на третьем этапе первое устройство A отправляет сообщение T_rssi теста RSSI, не содержащее полезной нагрузки. На четвертом этапе второе устройство B записывает RSSI сообщения T_rssi теста RSSI, принятого из первого устройства A, и отправляет подтверждение Ack приема. На пятом этапе второе устройство B отправляет сообщение T_rssi теста RSSI, которое не содержит полезной нагрузки. На шестом этапе первое устройство A записывает RSSI сообщения T_rssi теста RSSI и отправляет подтверждение Ack приема. Далее, после короткой задержки D, этапы с третьего по шестой повторяются до тех пор, пока каждый узел не отправит и не примет N сообщений.
Показания выше предопределенного порогового значения T классифицируются как "1", а показания ниже предопределенного порогового значения T классифицируются как "0". Далее, идентифицируются "граничные" показания RSSI, и создается битовое поле граничных битов. На седьмом этапе первое устройство A формирует и отправляет сообщение MR граничных показаний, которое содержит битовое поле граничных битов. На восьмом этапе второе устройство B отправляет подтверждение Ack приема. Далее, на девятом этапе второе устройство B формирует и отправляет сообщение MR граничных показаний, которое содержит битовое поле граничных битов. На последнем десятом этапе первое устройство A отправляет подтверждение Ack приема.
Так, оба устройства A и B комбинируют два битовых поля граничных битов, например, посредством логического комбинирования ИЛИ (OR), и все выборки RSSI, которые рассматриваются как граничные, отбрасываются одним из двух устройств. Остальные, неграничные биты объединяются в совместно используемый секрет. Необязательно, этот совместно используемый секрет может быть использован для передачи случайного числа из первого устройства A во второе устройство B. Этот ключ может быть верифицирован так же, как и в других алгоритмах обмена ключом.
Если сообщения не принимаются так, как ожидается, то на сторонах передачи может истечь срок ожидания, и они могут прервать процесс, причем пользователю может потребоваться предпринять повторную попытку позже.
Возможные форматы кадра для вышеупомянутых сообщений обмена могут быть скомпонованы следующим образом:
Формат сообщения INI инициации:
Байты: переменное число | 2 | 2 |
Информация заголовка | N | Контрольная сумма |
Формат сообщения подтверждения Ack приема:
Байты: переменное число | 2 |
Информация заголовка | Контрольная сумма |
Формат сообщения T_rssi теста RSSI:
Байты: переменное число | 2 |
Информация заголовка | Контрольная сумма |
Формат сообщения граничных битов:
Байты: переменное число | Переменное число | 2 |
Информация заголовка | Граничные биты | Контрольная сумма |
После небольшой задержки D оба устройства A и B имеют набор значений RSSI. Эти два набора коррелируются, но обычно они не идентичны, как проиллюстрировано ниже.
Фиг.2 показывает схематическую диаграмму, указывающую типовые значения RSSI, принятые на разных сторонах передачи, например, в устройствах A и B. Каждая выборка RSSI классифицируется как "1" (если выше порогового значения T) или как "0" (если ниже порогового значения T). Выборки в граничной области MR отмечаются флагом "граничные". Эти отмеченные флагом выборки RSSI отображены как заштрихованные круги, тогда как черные круги обозначают выборки RSSI, принятые во втором устройстве B, а белые круги обозначают выборки RSSI, принятые в первом устройстве A. Протокол отклоняет все выборки, помеченные как граничные, посредством одного из устройств A и B. В вышеприведенном примере с Фиг.2 оба устройства A и B согласовывают все неотклоненные выборки и имеют совместно используемый секрет со значением "0b110".
Следует отметить, что для извлечения совместно используемого секрета из двух коррелированных наборов данных могут использоваться различные другие алгоритмы. Вышеописанный алгоритм приведен в качестве простого примера.
Еще одним примером может быть использование вариации сигнала, например, 1 = становится сильнее, 0 = становится слабее. Некоторые алгоритмы могут извлечь больше одного бита данных из каждого обмениваемого сообщения, например, посредством использования трех пороговых линий между самым верхним, верхним, нижним и самым нижним уровнями. Еще один алгоритм, который может быть применен, заключается в объединении некоторого числа битов в группы и сравнении каждой группы с набором "символов" выборки. Группы могут быть классифицированы согласно символу выборки с наиболее близким совпадением. Группы с граничными классификациями (то есть, группы, которые не могут быть с уверенностью классифицированы выше предопределенного порогового значения) на какой-либо стороне, отклоняются обеими сторонами аналогично алгоритму классификаций битов. Это помогает избежать небольшого числа битовых ошибок, вызываемых шумом, и позволяет более эффективно извлекать совместно используемый секрет из наборов совместно используемых данных.
Для этих и других алгоритмов также выгодна способность вариации числа N обмениваемых сообщений.
Фиг.3 показывает схему сигнализации при передаче множества ключей с последующим комбинированием (например, XOR) согласно второму варианту осуществления. Во втором варианте осуществления первое устройство A (например, пульт дистанционного управления) инициирует связь со вторым устройством B (например, телевизором). Каждому устройству позволяется выполнять протокол обмена ключом через некоторое пользовательское взаимодействие, например, когда пользователь нажимает кнопку на втором устройстве B, и после этого - первом устройстве A, либо наоборот.
На первом этапе первое устройство A отправляет сообщение INI инициализации, включающее в себя индикацию числа N сообщений для обмена. Далее, на втором этапе второе устройство B отправляет подтверждение Ack приема. На третьем этапе первое устройство A генерирует случайное 128-битное число, формирует сообщение KM материала ключа, содержащее это число, и отправляет сообщение KM материала ключа во второе устройство B, необязательно используя пониженную мощность передачи. На четвертом этапе второе устройство B записывает случайное число в сообщении, принятом из первого устройства A, и отправляет подтверждение Ack приема. Третий и четвертый этапы повторяются до тех пор, пока первое устройство A не отправит N сообщений.
Далее, оба устройства A и B комбинируют число "0" по логической схеме XOR с каждым случайным числом, отправленным и принятым по очереди. Так, два устройства A и B совместно используют совместно используемый секрет. Полученный ключ может быть верифицирован так же, как и в других алгоритмах обмена ключами.
Если устройству не удается принять подтверждение Ack приема на заданный кадр, то оно может предпринять повторную попытку, например, согласно протоколу Управления Доступом к Среде (Media Access Control, MAC). Если все повторные попытки какого-либо кадра завершаются неуспешно, то передатчик может остановить процесс, в результате чего в приемнике также истечет время ожидания, и он также остановит процесс. Пользователь может предпринять повторную попытку позже.
Возможные форматы кадра для вышеупомянутых сообщений обмена могут быть скомпонованы следующим образом:
Форма сообщения INI инициации:
Байты: переменное число | 2 | 2 |
Информация заголовка | N | Контрольная сумма |
Формат сообщения подтверждения Ack приема:
Байты: переменное число | 2 |
Информация заголовка | Контрольная сумма |
Формат сообщения KM материала ключа:
Байты: переменное число | 16(=128 битов) | 2 |
Информация заголовка | Материал ключа | Контрольная сумма |
Вышеприведенная процедура второго варианта осуществления может быть модифицирована так, чтобы исходный ключ отправлялся в чистом виде и, после этого, следующий ключ отправлялся защищенным посредством предыдущего ключа. Это повторяется фиксированное или переменное число раз. Атакующий, который пропустит хотя бы одно сообщение, не получит финального ключа.
Как дополнительная модификация, канал может быть изменен между передачами отдельных ключей. Это осложняет задачу атакующего в части захвата всех требуемых ключей, если он имеет только простое устройство радиоподслушивания, поскольку такие устройства, как правило, работают на одном канале.
Фиг.4 показывает схему сигнализации при передаче ключей, защищенных посредством предыдущего ключа на более чем одном канале, согласно третьему варианту осуществления. Первое устройство A (например, пульт дистанционного управления) инициирует связь со вторым устройством B (например, телевизором). Каждому из устройств A и B позволяется выполнять протокол обмена ключом через некоторое пользовательское взаимодействие, например, когда пользователь нажимает кнопку на втором устройстве B, и после этого - на первом устройстве A, либо наоборот.
На первом этапе первое устройство A отправляет сообщение INI инициализации, включающее в себя индикацию числа N сообщений для обмена. Далее, на втором этапе второе устройство B отправляет подтверждение Ack приема. На третьем этапе первое устройство A генерирует 128-битный случайный ключ kn, произвольным образом выбирает новый канал, формирует сообщение KM передачи ключа, содержащее ключ kn и номер ch1 нового канала, и отправляет сообщение во второе устройство B, необязательно используя пониженную мощность передачи. Далее, оно ожидает получения подтверждения Ack приема и переключается на новый канал.
На четвертом этапе второе устройство B записывает ключ в сообщении, принятом из первого устройства A, отправляет подтверждение Ack приема и переключается на новый канал. На пятом этапе первое устройство A генерирует еще один 128-битный случайный ключ, произвольным образом выбирает другой новый канал, формирует сообщение KM передачи ключа, содержащее ключ и номер ch2 нового канала, защищает это сообщение посредством ранее переданного ключа и отправляет сообщение во второе устройство B, необязательно используя пониженную мощность передачи. Далее, оно ожидает получения подтверждения Ack приема и переключается на новый канал.
На шестом этапе второе устройство B отправляет подтверждение Ack приема и далее проверяет, была ли должным образом защищена принятая команда. Если она была должным образом защищена, то устройство удаляет защиту с сообщения и далее извлекает новый ключ из сообщения и записывает его. После этого устройство переключается на новый канал.
Пятый и шестой этапы повторяются до тех пор, пока первое устройство A не отправит N сообщений. Текущий ключ может быть верифицирован так же, как и в других алгоритмах обмена ключом, и он может использоваться для последующих сообщений. Если устройству не удается принять подтверждение Ack приема на заданный кадр, то оно может предпринять повторную попытку согласно протоколу MAC. Если все повторные попытки какого-либо кадра завершаются неуспешно, то передатчик может остановить процесс, в результате чего в приемнике также истечет время ожидания, и он также остановит процесс. Пользователь может предпринять повторную попытку позже.
Возможные форматы кадра для вышеупомянутых сообщений обмена могут быть скомпонованы следующим образом:
Форма сообщения INI инициации:
Байты: переменное число | 2 | 2 |
Информация заголовка | N | Контрольная сумма |
Формат сообщения подтверждения Ack приема:
Байты: переменное число | 2 |
Информация заголовка | Контрольная сумма |
Формат сообщения KM материала ключа:
Байты: переменное число | Переменное число | 16 (=128 битов) | 1 | Переменное число | 2 |
Информация заголовка | Верхний колонтитул защиты (необязательно) | Новый ключ | Новый канал | Нижний колонтитул защиты (необязательно) | Контрольная сумма |
Возможны различные варианты реализации. Например, канал может быть сменен согласно некоторому предварительно скомпонованному расписанию, такому как смена последовательных каналов или псевдослучайная последовательность.
Дополнительно, верификация ключа может быть выполнена посредством отправки сообщений, защищенных посредством этого ключа, между двумя устройствами A и B, и посредством выполнения проверки при получении, для подтверждения, что сообщение из другого устройства было корректно защищено.
Фиг.5 показывает структурную схему устройства телевизора системы распространения ключа, в которой могут быть реализованы варианты осуществления настоящего изобретения. Устройство телевизора содержит экран или дисплей 10 (например, жидкокристаллический дисплей (LCD) и т.п.), драйвер 11 дисплея, клавиатуру 12 передней панели с кнопками управления, другие аудио и видео входы 14, тюнер 15, источник 16 питания, энергозависимую память 17 (например, оперативную память (RAM)), энергонезависимую память 18 (например, флэш-память), центральный процессор (CPU) 19 и приемопередатчик 20, с которым соединена антенна 21. Соединения между различными вышеупомянутыми компонентами реализуются посредством линии 13 связи (например, системной шины).
При работе мультимедийные данные входят через тюнер 15 и другие аудио/видео входы 14. Эти мультимедийные данные выводятся на дисплей 10 через драйвер 11 дисплея. Интерфейс между дисплеем 10 и драйвером 11 дисплея также может быть использован для управления и конфигурации настроек телевизора. CPU 19 выполняет управляющее программное обеспечение, и он может предоставлять механизмы вариантов осуществления настоящего изобретения. Приемопередатчик 20 может выполнять, например, MAC-протокол стандарта IEEE 802.15.4. Он также может реализовывать протокол физического уровня стандарта IEEE 802.15.4. Клавиатура 12 передней панели может содержать кнопку для инициации создания ключа. Памяти 17 и 18 могут использоваться для сохранения управляющего программного обеспечения, а также для реализации стека протоколов IEEE 802.15.4.
Фиг.6 показывает структурную схему устройства дистанционного управления системы распространения ключа, в которой могут быть реализованы варианты осуществления настоящего изобретения.
Устройство дистанционного управления содержит клавиатуру 22 с кнопками управления, источник 24 питания, энергозависимую память 25 (например, RAM), энергонезависимую память 26 (например, флэш-память), центральный процессор 27 и приемопередатчик 28, с которым соединена антенна 29. Соединения между различными вышеупомянутыми компонентами реализуются посредством линии 23 связи (например, системной шины).
Клавиатура 22 представляет кнопки, которые может нажать пользователь. Она может включать в себя кнопку для инициации создания ключа, как описано в вариантах осуществления настоящего изобретения. CPU 27 выполняет управляющее программное обеспечение, и он может предоставлять механизмы вариантов осуществления настоящего изобретения. Приемопередатчик 28 может выполнять MAC-протокол стандарта IEEE 802.15.4. Он также может реализовывать протокол физического уровня стандарта IEEE 802.15.4. Памяти 25 и 26 могут использоваться для управляющего программного обеспечения, а также для реализации стека протоколов IEEE 802.15.4.
Фиг.7 показывает структурную схему аппаратной реализации на обоих концах передачи системы генерации случайного числа на основе RSSI согласно четвертному варианту осуществления настоящего изобретения. Показанные на Фиг.7 блоки могут быть реализованы как дискретные аппаратные схемы, которые реализованы в модуле, скомпонованном на печатной плате, или интегрированы в устройстве с одним или множеством чипов. Логика (CTRL) 33 управления, которая может быть реализована как CPU под управлением программного обеспечения или дискретная логическая схема, имеет доступ к счетчику (C) 30 и памяти (MEM) 31, и она может управляться посредством кнопки (IB) 32 инициации. Логика 33 управления сохраняет переданное значение числа N допустимых итераций в памяти 31 и управляет счетчиком 30, чтобы подсчитать число принятых и переданных сообщений в течение создания ключа. На основании сравнения значения счетчика 30 и значения числа N, сохраненного в памяти 31, логика 33 управления может определить достижение разрешенного числа итераций. Дополнительно, логика 33 управления управляет схемой или блоком (RSSI-C) 34 классификации RSSI, и схемой или блоком (KG) 35 генерации ключа, который принимает информацию из блока 34 классификации RSSI. Входные/выходные сигналы принимаются/передаются через приемопередатчик (TRX) 36 и антенну 38. Схема или блок (RSSI-M) 37 измерения RSSI прин