Область техники, к которой относится изобретение
Настоящее изобретение относится в общем случае к системам обработки данных и конкретно к способам и устройствам обеспечения защиты в системе обработки данных.
Предшествующий уровень техники
Обеспечение защиты в информационных системах и системах обработки данных, в том числе в системах связи, способствует идентифицируемости, равнодоступности, безошибочности, конфиденциальности, работоспособности, так же, как и множеству других критериев. Шифрование, или общая область криптографии, применяется в электронной коммерции, беспроводной связи, при широковещательной передаче, и имеет очень широкую область применения. В электронной коммерции шифрование применяется для предотвращения мошенничества и верификации финансовых транзакций. В системах обработки данных шифрование применяется для верификации подлинности участников. Шифрование также применяется для предотвращения взлома, защиты Web-страниц и предотвращения доступа к конфиденциальным документам, а также и при осуществлении ряда других мер обеспечения безопасности.
Системы, использующие криптографию, часто называемые криптосистемами, могут быть разделены на симметричные криптосистемы и асимметричные криптосистемы. Системы с симметричным шифрованием используют одинаковый ключ (т.е. секретный ключ) для шифрования и дешифрования сообщения. В то же время асимметричные системы шифрования используют первый ключ (т.е. открытый ключ) для шифрования сообщения и используют второй, отличающийся ключ (т.е. секретный ключ) для дешифрования сообщения. Асимметричные криптосистемы часто называются криптосистемами с открытым ключом. В симметричных криптосистемах существует проблема защищенной передачи секретного ключа от источника к приемнику. Помимо этого в симметричных криптосистемах существует проблема при частом обновлении ключей или других механизмов шифрования. В системах обработки данных способы безопасного обновления ключей имеют следствием увеличение времени обработки, объемов памяти и другие накладные расходы при обработке. В беспроводных системах связи обновление ключей занимает ценные ресурсы полосы пропускания, которые в противном случае могли бы быть доступны для передачи.
Предшествующим уровнем техники не предоставляется способ обновления ключей в больших группах мобильных станций для обеспечения возможности их доступа к шифрованной широковещательной передаче. Таким образом, существует потребность в защищенном и эффективном способе обновления ключей в системе обработки данных. Помимо этого существует потребность в защищенном и эффективном способе обновления ключей в беспроводной системе связи.
Сущность изобретения
Варианты осуществления изобретения, раскрытые в настоящем описании, направлены на удовлетворение описанных выше потребностей, предлагая способ обеспечения защиты в системах обработки данных. В одном из аспектов, способ защищенной передачи включает в себя определение краткосрочного ключа для передаваемого сообщения, причем краткосрочный ключ имеет идентификатор краткосрочного ключа; определение ключа доступа для данного сообщения, причем ключ доступа имеет идентификатор ключа доступа; шифрование сообщения с помощью ключа доступа; формирование заголовка Интернет-протокола, содержащего идентификатор краткосрочного ключа, и передачу зашифрованного сообщения с заголовком Интернет-протокола.
В другом аспекте, в системе беспроводной связи, поддерживающей услугу широковещания, элемент инфраструктуры включает в себя схему приема, модуль идентификации пользователя, выполняющий восстановление краткосрочного ключа для дешифрования широковещательного сообщения, и блок оборудования мобильной связи, выполненный с возможностью использования краткосрочного ключа для дешифрования широковещательного сообщения. Модуль идентификации пользователя включает в себя блок обработки, выполняющий дешифрование информации о ключе. Блок оборудования мобильной связи включает в себя запоминающее устройство для хранения набора краткосрочных ключей и идентификаторов краткосрочных ключей.
В еще одном аспекте устройство хранения цифровых сигналов включает в себя первый набор инструкций для приема идентификатора краткосрочного ключа, специфичного для передачи, причем идентификатор краткосрочного ключа соответствует краткосрочному ключу, второй набор инструкций для определения ключа доступа, основываясь на идентификаторе краткосрочного ключа, третий набор инструкций для шифрования идентификатора краткосрочного ключа с помощью ключа доступа для восстановления краткосрочного ключа, и четвертый набор инструкций для дешифрования передачи, используя краткосрочный ключ.
Перечень чертежей
Фиг.1А - схема криптосистемы.
Фиг.1В - схема симметричной криптосистемы.
Фиг.1С - схема асимметричной криптосистемы.
Фиг.1D - схема системы шифрования PGP.
Фиг.1Е - схема системы дешифрования PGP.
Фиг.2 - схема системы связи с расширенным спектром, поддерживающей некоторое количество пользователей.
Фиг.3 - блок-схема системы связи, поддерживающей широковещательные передачи.
Фиг.4 - блок-схема мобильной станции в беспроводной системе связи.
Фиг.5А и 5В - иллюстрации моделей, описывающих обновление ключей в мобильной станции, используемого для управления доступом к широковещанию.
Фиг.6 - модель, описывающая криптографические операции в МИП.
Фиг.7А-7D - иллюстрация способа реализации защищенного шифрования в беспроводной системе связи, поддерживающей широковещательные передачи.
Фиг.7Е - временная диаграмма периодов обновления ключей опции защиты в беспроводной системе связи, поддерживающей широковещательные передачи.
Фиг.8А-8D - иллюстрации применения способа защищенного шифрования в беспроводной системе связи, поддерживающей широковещательные передачи.
Фиг.9А - иллюстрация формата пакета IPSec для передачи по Интернет-протоколу.
Фиг.9В - иллюстрация идентификатора ассоциации защиты или SPI, применимого в пакете IPSec.
Фиг.9С - иллюстрация запоминающего устройства для хранения информации SPI в мобильной станции.
Фиг.9D - иллюстрация запоминающего устройства для хранения Ключей Доступа к Широковещанию (КДШ, ВАК) в мобильной станции.
Фиг.10 и 11 - иллюстрация способа обеспечения защиты широковещательного сообщения в беспроводной системе связи.
Фиг.12А - иллюстрация идентификатора ассоциации защиты или SPI, применимого в пакете IPSec.
Фиг.12В - иллюстрация запоминающего устройства для хранения информации SPI в мобильной станции.
Фиг.13 и 14 - иллюстрация способа обеспечения защиты широковещательного сообщения в беспроводной системе связи.
Подробное описание
Слово "иллюстративный" в настоящем описании применяется исключительно для обозначения "служащий для примера, демонстрации, или иллюстрации". Любой вариант осуществления, изложенный в настоящем описании как "иллюстративный", не должен рассматриваться как предпочтительный или имеющий преимущество перед другими вариантами осуществления.
Беспроводные системы связи широко используются для обеспечения различных типов связи, таких как передача речи, данных и т.п. Такие системы могут быть основаны на множественном доступе с кодовым разделением каналов (МДКР, СДМА), множественном доступе с временным разделением каналов (МДВР, IDMA) или других способах модуляции. Системы МДКР обеспечивают определенные преимущества перед системами других типов, включая увеличенную производительность системы.
Система может быть спроектирована для поддержки одного или более стандартов, таких как стандарт "TIA/EIA/IS-95-B Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System", который в настоящем описании упоминается как стандарт IS-95, стандарт, предложенный консорциумом "3rd Generation Partnership Project" (проект партнерства в области систем связи 3-его поколения), который в настоящем описании упоминается как стандарт 3GPP, и стандарт, реализованный в наборе документов, включающем в себя документы №№ 3G TS 25.211, 3G TS 25.212, 3G TS и 25.213, 3G TS 25.214, 3G TS 25.302, который в настоящем описании упоминается как стандарт W-CDMA, стандарт, предложенный консорциумом "3rd Generation Partnership Project 2" (проект 2 партнерства в области систем связи 3-его поколения), который в настоящем описании упоминается как стандарт 3GPP2, и стандарт TR-45.4, который в настоящем описании упоминается как стандарт cdma2000, первоначально называвшийся IS-2000 MC. Стандарты, приведенные выше, включены в настоящее описание во всей своей полноте посредством ссылки.
Каждый стандарт специфически определяет обработку данных для передачи от базовой станции к мобильной станции и наоборот. Последующее обсуждение рассматривает в качестве иллюстративного варианта осуществления изобретения систему связи с расширенным спектром, совместимую с системами стандарта cdma2000. Альтернативные варианты осуществления изобретения могут включать в себя другие стандарты/системы. Другие варианты осуществления изобретения могут применять способы защиты, изложенные в настоящем описании, в других типах систем обработки данных, использующих криптосистемы.
Криптосистема представляет собой способ сокрытия сообщения, позволяющий определенной группе пользователей извлечь указанное сообщение. Фиг.1А иллюстрирует базовую криптосистему 10. Криптография является областью техники, связанной с созданием и применением криптосистем. Криптоанализ является областью техники, связанной с взломом криптосистем, т.е. приемом и распознаванием сообщений, при условии, что вы не входите в состав определенной группы пользователей, которой разрешен доступ к сообщению. Исходное сообщение называется сообщением в виде открытого текста, или открытым текстом. Зашифрованное сообщение называется шифротекстом, причем шифрование включает в себя любое средство преобразования открытого текста в шифротекст. Дешифрование включает в себя любые средства преобразования шифротекста в открытый текст, например, восстановление исходного сообщения. Как иллюстрируется на Фиг.1А, сообщение в виде открытого текста шифруется, образуя шифротекст. Затем шифротекст принимается и дешифруется для восстановления открытого текста. Хотя термины "открытый текст" и "шифротекст" в общем случае относятся к данным, концепция шифрования может применяться к любой цифровой информации, в том числе к аудио- и видеоданным, представленным в цифровой форме. Хотя в изобретении, изложенном в настоящем описании, термины "открытый текст" и "шифротекст" используются соответственно области техники, относящейся к криптографии, эти термины не исключают другие формы цифровой связи.
Криптосистема основывается на секретах (числовых значениях, известных действительным участникам криптосистемы, но не известных остальным). Группа объектов совместно использует секрет, если объект вне этой группы не может получить этот секрет, не обладая очень существенными ресурсами.
Криптосистема может представлять собой набор алгоритмов, причем каждый алгоритм имеет метку, и метки называются ключами. Симметричная система шифрования, часто называемая криптосистемой, использует один и тот же ключ (например, секретный ключ) для шифрования и дешифрования сообщения. Симметричная система 20 шифрования проиллюстрирована на Фиг.1В, причем при шифровании и дешифровании применяется одинаковый секретный ключ.
Напротив, асимметричная система шифрования применяет первый ключ (например, открытый ключ) для шифрования сообщения и применяет другой ключ (например, секретный ключ) для его дешифрования. Фиг.1С иллюстрирует асимметричную систему 30 шифрования, в которой один ключ предусмотрен для шифрования и второй ключ для дешифрования. Асимметричные криптосистемы также называются криптосистемами с открытым ключом. Открытый ключ выпускается в открытое обращение и становится доступен для шифрования любого сообщения, однако только секретный ключ может применяться при дешифровании сообщения, зашифрованного с помощью открытого ключа.
В симметричных криптосистемах существует проблема защищенного предоставления секретного ключа от источника приемнику. В одном из решений, для предоставления информации может использоваться курьер, либо более эффективным и надежным решением может быть использование криптосистемы с открытым ключом, такой как криптосистема с открытым ключом, разработанная Rivert, Shamir, и Adelman (RSA), обсуждаемая ниже. Система RSA используется в популярном инструментальном средстве защиты, называемом Pretty Good Privacy (PGP), более подробно описанным ниже. Например, изначально записанная криптосистема заменяет буквы в открытом тексте, сдвигая каждую букву на n в алфавите, где n является заранее определенной целой постоянной величиной. В такой схеме "А" заменяется на "D" и т.д., причем данная схема шифрования может включать в себя несколько значений n. В этой схеме шифрования "n" является ключом. Предусмотренным получателем предоставляется схема шифрования перед приемом шифротекста. В этом случае только знающие ключ должны иметь возможность дешифровать шифротекст для получения открытого текста. Однако, вычислив ключ при известном шифровании, непредусмотренные стороны могут получить возможность перехватывать и дешифровать шифротекст, создавая проблему защиты.
Более сложные и изощренные криптосистемы используют стратегические ключи, устойчивые к перехвату и дешифрованию непредусмотренными сторонами. Классическая криптосистема использует функции шифрования Е и функции дешифрования D, такие как:
D_K(E_K(P))=P, для любого открытого текста Р. (1)
В криптосистемах с открытым ключом Е_К легко вычисляется на основе известного "открытого ключа" Y, который в свою очередь вычисляется на основе К. Открытый ключ Y выпускается в открытое обращение, так что всякий может зашифровать сообщения. Функция дешифрования D_K вычисляется на основе открытого ключа Y, но только зная секретный ключ К. Без секретного ключа непредусмотренный получатель не сможет дешифровать шифротекст, сгенерированный таким образом. В этом случае, только получатель, который сгенерировал К, может дешифровать сообщения.
RSA представляет собой криптосистему с открытым ключом, разработанную Rivert, Shamir и Adelman, в которой, например, открытый текст рассматривается как положительные целые до 2512. Ключами являются четверки (p,q,e,d), с р в виде 256-битного простого числа, q в виде 258-битного простого числа, и d и е в виде больших чисел, с (de-1) делящимся на (p-1)(q-1). Далее, определим функцию шифрования как:
E_K(P)=Pemod(pq), D_K(C)=Cdmod(pq). (2)
В то время как Е_К легко вычисляется из пары (pq,e), не существует простого способа вычисления D_K из пары (pq,e). Следовательно, получатель, сгенерировавший К, может выпустить в открытое обращение (pq,e). Является возможным послать защищенное сообщение получателю, и только он имеет возможность прочесть указанное сообщение.
PGP сочетает признаки симметричного и асимметричного шифрования. Фиг.1D и 1Е иллюстрируют криптосистему 50 PGP, в которой сообщение в виде открытого текста шифруется и восстанавливается. На Фиг.1D сообщение в виде открытого текста сжимается для экономии времени передачи модема и дискового пространства. Сжатие усиливает криптографическую защиту, добавляя еще один уровень преобразования к обработке при шифровании и дешифровании. Большинство способов криптоанализа для взлома шифра используют комбинации, найденные в открытом тексте. Сжатие уменьшает количество таких комбинаций в открытом тексте, тем самым, усиливая устойчивость к криптоанализу. Необходимо заметить, что один из вариантов осуществления изобретения не производит сжатия: открытый текст или другое сообщение, слишком короткое для сжатия, или не очень хорошо поддающееся сжатию.
Затем PGP создает сеансовый ключ, представляющий собой одноразовый секретный ключ. Этот ключ представляет собой случайное число, которое может быть сгенерировано любым случайным событием (событиями), таким как случайные перемещения компьютерной мыши и/или нажатия на клавиши при печати. Сеансовый ключ применяется с алгоритмом защищенного шифрования для шифрования открытого текста, получая в результате шифротекст. После шифрования данных сеансовый ключ шифруется с помощью открытого ключа получателя. Сеансовый ключ, зашифрованный с помощью открытого ключа, передается получателю вместе с шифротекстом.
Для дешифрования, как иллюстрируется на Фиг.1Е, экземпляр PGP получателя использует секретный ключ для восстановления временного сеансового ключа, который PGP затем применяет для дешифрования обычным образом зашифрованного шифротекста. Сочетание способов шифрования дает преимущества удобства шифрования с открытым ключом и скорость симметричного шифрования. Симметричное шифрование в общем случае является гораздо более быстрым, чем шифрование с открытым ключом. Шифрование с открытым ключом в свою очередь предоставляет решение проблем распространения ключа и передачи данных. В сочетании производительность и распространение ключа улучшаются без какого-либо ущерба защищенности.
Ключ представляет собой величину, используемую в криптографическом алгоритме для получения определенного шифротекста. Обычно ключи являются очень большими числами. Размер ключа измеряется в битах. В криптографии с открытым ключом защищенность возрастает с размером ключа, однако, размер открытого ключа и размер секретного ключа симметричного шифрования в общем случае не связаны. Несмотря на то что открытый и секретный ключи математически связаны, возникает проблема при определении секретного ключа при единственно известном открытом ключе. Определение секретного ключа возможно при наличии достаточного времени и вычислительной мощности, что делает выбор размера ключа важной проблемой при обеспечении защиты. Оптимальной целью является максимизация размера ключа с точки зрения обеспечения защиты и минимизация размера ключа с точки зрения обеспечения быстрой обработки. Более длинные ключи являются криптографически безопасными в течение большего периода времени. Дополнительным соображением является предполагаемый перехватчик, более конкретно: 1) какова важность сообщения для третьей стороны; и 2) сколько ресурсов имеется в распоряжении третьей стороны для дешифрования сообщения.
Необходимо отметить, что ключи хранятся в зашифрованной форме. Конкретно, PGP хранит ключи в двух файлах: один для открытых ключей, другой для секретных ключей. Эти файлы называются 'кольца для ключей'. В применении, система шифрования PGP добавляет открытые ключи целевого получателя в кольцо для открытых ключей отправителя. Секретные ключи отправителя хранятся в кольце для секретных ключей отправителя.
Как обсуждалось в примерах, приводимых выше, способ распространения ключей, используемых для шифрования и дешифрования, может быть сложным. "Проблема обмена ключами" включает в себя, во-первых, обеспечение гарантии того, что обмен ключами происходит таким образом, что как отправитель, так и получатель могут выполнить шифрование и дешифрование, соответственно, и, для двунаправленной связи, что как отправитель, так и получатель могут шифровать и дешифровать сообщения. Помимо этого требуется, чтобы обмен ключами происходил таким образом, чтобы предотвратить перехват третьей и непредусмотренной сторонами.
Наконец, отдельным предметом рассмотрения является аутентификация (установление подлинности), гарантирующая получателю, что сообщение было зашифровано предусмотренным отправителем, а не третьей стороной. В системе обмена секретными ключами, обмен ключами происходит защищенно, обеспечивая улучшенную защищенность при успешном обмене ключами и верной аутентификации. Необходимо отметить, что схема шифрования с секретными ключами неявно обеспечивает аутентификацию. Базовое допущение в криптосистеме с секретным ключом заключается в том, что только предусмотренный отправитель имеет ключ, способный зашифровать сообщение, доставленное предусмотренному получателю. Хотя криптографические методы с открытым ключом решают критический аспект 'проблемы обмена ключами', в особенности их устойчивости к анализу даже при наличии пассивного подслушивания в процессе обмена ключами, они все же не решают все проблемы, связанные с обменом ключами. Более конкретно, поскольку ключи рассматриваются как 'открытая информация' (особенно в случае RSA), для обеспечения аутентификации требуется некий другой механизм. Желательно, чтобы для аутентификации было достаточно только обладание ключами, и хотя этого достаточно для шифрования сообщений, это не является гарантией уникальной подлинности отправителя, а обладание соответствующим ключом расшифровки само по себе не является достаточным для установления подлинности получателя.
Одним из решений является разработка механизма распространения ключей, гарантирующего, что ключи в списке в действительности являются принадлежащими заданным объектам, иногда называемого доверенным органом, сертифицирующим органом или депозитарием третьей стороны. Обычно орган не генерирует ключей сам, но гарантирует, что списки ключей и связанные идентификационные данные, хранимые и афишируемые для сведения отправителей и получателей, являются верными и не дискредитированными. Другой способ основан на том, что пользователи распространяют и отслеживают ключи друг друга и доверяют неформальному распределенному способу организации. В случае RSA, если пользователь желает послать свидетельство их подлинности дополнительно к зашифрованному сообщению, подпись шифруется с помощью секретного ключа. Получатель может использовать алгоритм RSA обращенным образом, чтобы убедиться в том, что информация расшифровывается, поскольку только отправитель мог зашифровать открытый текст, используя секретный ключ. Обычно зашифрованная 'подпись' представляет собой 'дайджест сообщения', содержащий уникальное математическое 'резюме' секретного сообщения (если бы подпись была постоянной для множества сообщений, то, зная предыдущее, получатели могли бы использовать его некорректно). Таким образом, теоретически, только отправитель сообщения может сгенерировать верную подпись для этого сообщения, тем самым, аутентифицируя его для получателя.
Дайджест сообщения часто вычисляется, используя криптографическую хэш-функцию. Криптографическая хэш-функция вычисляет значение (с фиксированным количеством битов) из любой входной величины, независимо от длины входной величины. Одним из свойств криптографической хэш-функции является следующее: для данной выходной величины трудно путем вычисления определить входную величину, давшую указанную выходную величину. Примером криптографической хэш-функции является SHA-1, описанная в "Secure Hash Standard", FIPS PUB 180-1, опубликованной Federal Information Processing Standards Publications (FIPS PUBS) и выпущенной National Institute of Standards and Technology.
На Фиг.2 представлен пример системы 100 связи, поддерживающей некоторое количество пользователей и способной реализовать, по меньшей мере, некоторые аспекты и варианты осуществления настоящего изобретения. Для организации передачи в системе 100 может быть использован любой из множества алгоритмов и способов. Система 100 обеспечивает связь для ряда сотовых ячеек с 102А по 102G, каждая из которых обслуживается соответствующей базовой станцией с 104А по 104G, соответственно. В иллюстративном варианте осуществления изобретения некоторые из базовых станций 104 имеют множество приемных антенн, а другие имеют только одну приемную антенну. Аналогично, некоторые из базовых станций 104 имеют множество передающих антенн, а другие имеют одну передающую антенну. Не существует ограничений на комбинации передающих антенн и приемных антенн. Таким образом, возможно, что базовая станция 104 имеет множество передающих антенн и одну приемную антенну, или имеет множество приемных антенн и одну передающую антенну, или имеет как одну, так и множество передающих антенн и приемных антенн.
Терминалы 106 в зоне покрытия могут быть фиксированными (т.е. стационарными) или мобильными. Как показано на Фиг.2, по системе распределены различные терминалы 106. Каждый терминал 106 в любой заданный момент времени осуществляет связь, по меньшей мере, с одной, а возможно, и с большим количеством базовых станций 104, по восходящей линии связи и нисходящей линии связи, что зависит от того, например, используется ли мягкий режим эстафетной передачи обслуживания или спроектирован ли терминал для (одновременного или последовательного) приема множества передач от множества базовых станций, и работает ли он в этом режиме. Мягкий режим эстафетной передачи обслуживания в системах связи МДКР широко известен в настоящей области техники и детально описан в патенте США № 5,101,501 озаглавленном "Method and system for providing a Soft Handoff in CDMA Cellular Telephone System", права на который принадлежат правообладателю настоящего изобретения.
Под нисходящей линией связи подразумевается передача от базовой станции на терминал, и под восходящей линией связи подразумевается передача от терминала на базовую станцию. В иллюстративном варианте осуществления изобретения некоторые из терминалов 106 имеют множество приемных антенн, а другие имеют одну приемную антенну. На Фиг.2 базовая станция 104А передает данные на терминалы 106А и 106J, базовая станция 104С передает данные на терминал 106С и т.д.
Возрастающая потребность в беспроводной передаче данных и расширение числа услуг, доступных посредством технологии беспроводной связи, привело к созданию специфических услуг по передаче данных. Одна из таких услуг называется высокоскоростной передачей данных (ВПД, HDR). Пример услуги ВПД предложен в спецификации "EIA/TIA-IS856 cdma2000 High Rate Packet Data Air Interface Specification", называемой "спецификация ВПД" ("HDE Specification"). Услуга ВПД является в общем случае более всеобъемлющей по отношению к речевым системам связи, что обеспечивает эффективный способ передачи пакетов данных в системе беспроводной связи. При увеличении объема передаваемых данных и количества каналов передачи, ограниченная полоса пропускания, доступная для радиопередач, становится критическим ресурсом. Следовательно, существует потребность в эффективном и четком способе организации передач в системах связи, оптимизирующем использование доступной полосы пропускания. В иллюстративном варианте осуществления изобретения система 100, показанная на Фиг.2, является совместимой с типом системы МДКР, имеющей услугу ВПД.
Согласно иллюстративному варианту осуществления изобретения, система 100 поддерживает услугу высокоскоростного мультимедийного широковещания, называемую услугой высокоскоростного широковещания (УВСШ, HSBS). Примеры применений УВСШ могут включать в себя формирование видеопотоков фильмов, спортивных новостей и т.д. Услуга УВСШ является услугой пакетной передачи данных, основанной на Интернет-протоколе (IP). Согласно иллюстративному варианту осуществления изобретения, провайдер услуги оповещает пользователей о доступности такой услуги высокоскоростного широковещания. Пользователи, желающие воспользоваться услугой УВСШ, подписываются на получение услуги и могут ознакомиться с программой услуги широковещания при помощи рекламы, службы коротких сообщений (SMS), протокола беспроводных приложений (WAP) и т.п. Мобильные пользователи именуются Мобильными Станциями (МС, MS). Базовые станции (БС) передают параметры, относящиеся к УВСШ в служебных сообщениях. Если МС желает принять сеанс широковещания, МС считывает служебные сообщения и определяет подходящие конфигурации. Затем МС настраивается на частоту, содержащую канал УВСШ, и принимает контент услуги широковещания.
Рассматриваемая услуга представляет собой услугу высокоскоростного мультимедийного широковещания. Эта услуга в настоящем документе называется услугой высокоскоростного широковещания (УВСШ). Одним из примеров является формирование видеопотоков фильмов, спортивных новостей и т.д. Данная услуга, вероятно, является услугой пакетной передачи данных, основанной на Интернет-протоколе (IP).
Провайдер услуги оповещает пользователей о доступности такой услуги высокоскоростного широковещания. Пользователи мобильных станций, желающие воспользоваться такой услугой, подписываются на получение услуги и могут ознакомиться с программой услуги широковещания при помощи рекламы, SMS, WAP и т.п. Базовые станции передают параметры, относящиеся к услуге широковещания в служебных сообщениях. Мобильные станции, желающие прослушать сеанс широковещания, считывают служебные сообщения и определяют подходящие конфигурации, настраиваются на частоту, содержащую высокоскоростной широковещательный канал и начинают прием контента услуги широковещания.
Для услуги УВСШ существует несколько возможных моделей подписки/оплаты, которые включают в себя свободный доступ контролируемый доступ, и частично контролируемый доступ. Для свободного доступа не требуется подписки для получения услуги. БС производит широковещательную передачу контента без шифрования, и заинтересованные мобильные устройства могут принимать этот контент. При этом провайдер услуги может получать доход при помощи размещения рекламы, которая также может передаваться по широковещательному каналу. Например, могут передаваться клипы выпускаемых в ближайшее время фильмов, за что студии платят провайдеру.
В случае контролируемого доступа, для того чтобы принимать услугу широковещания, пользователь МС подписывается на эту услугу и оплачивает соответствующую сумму. Неподписавшийся пользователь не будет иметь возможности принимать услугу УВСШ. Контролируемый доступ может быть осуществлен путем шифрования передачи/контента УВСШ таким образом, что только подписавшиеся пользователи смогут дешифровать этот контент. При этом могут использоваться процедуры обмена ключами шифрования по радиоинтерфейсу. Эта схема обеспечивает высокий уровень защиты и предотвращает кражу услуги.
Гибридная схема доступа, называемая частично контролируемым доступом, предоставляет услугу УВСШ, как основанную на подписке услугу, которая является шифруемой с перемежающимися незашифрованными рекламными передачами. Такая реклама может быть предназначена для того, чтобы подтолкнуть к подписке на зашифрованную услугу УВСШ. Расписание таких незашифрованных сегментов может быть известно МС через сторонние средства.
На Фиг.3 представлена система 200 беспроводной связи, в которой видео- и аудиоинформация предоставляется в сеть обслуживания передачи пакетных данных (PDSN) 202 сервером контента (СК, CS) 201. Источником видео- и аудиоинформации может быть телепрограмма и радиопередача. Информация предоставляется в виде пакетированных данных, например, в виде IP-пакетов. PDSN 202 обрабатывает IP-пакеты для распространения в сети доступа (СД, AN). Как показано, СД определена как часть системы, включающей в себя БС 204, осуществляющую связь с множеством МС 206. PDSN 202 связана с БС 204. Для услуги УВСШ, БС 204 передает поток информации от PDSN 202 и предоставляет информацию на определенном канале абонентам в системе 200. Для управления доступом, контент шифруется СК 201 перед предоставлением в PDSN 202. Подписавшиеся пользователи снабжаются ключами дешифрования, позволяющими дешифровать IP-пакеты.
На Фиг.4 подробно показана МС 300, подобная МС 206 по Фиг.3. МС 300 имеет антенну 302, соединенную со схемой 304 приема. МС 300 принимает передачи от БС (не показана), подобной БС 204 по Фиг.3. МС 300 включает в себя модуль идентификации пользователя (МИП, UIM) 308 и оборудование мобильной связи (ОМС, МЕ) 306. Схема 304 приема связана с МИП 308 и ОМС 306. МИП 308 применяет процедуры верификации для защиты передачи УВСШ и предоставляет различные ключи в ОМС 306. ОМС 306 может быть связано с блоком 312 обработки. ОМС 306 выполняет основную обработку, включающую в себя, но не в ограничительном смысле, дешифрованием потоков контента УВСШ. ОМС 306 включает в себя запоминающее устройство, ЗУ 310. В иллюстративном варианте осуществления изобретения, к данным в блоке обработки ОМС 306 (не показан) и данным в запоминающем устройстве ОМС, ЗУ 310, может легко осуществить доступ не подписчик при использовании ограниченных ресурсов, и поэтому говорят, что ОМС 306 является незащищенным. Любая информация, попадающая в ОМС 306 или обрабатываемая в ОМС 306, остается защищенной и секретной только в течение короткого промежутка времени. Поэтому требуется, чтобы любая секретная информация, такая как ключ(ключи), используемая совместно с ОМС 306, часто менялась.
МИП 308 является доверенным для хранения и обработки секретной информации (такой как ключи шифрования), которая должна оставаться защищенной в течение длительного времени. Поскольку МИП 308 является защищенным блоком, для секретов, хранящихся в нем, необязательно, чтобы система часто меняла секретную информацию. МИП 308 включает в себя блок обработки, называемый защищенным блоком обработки МИП (ЗБОМ, SUPU) 316 и запоминающее устройство, называемое защищенным запоминающим устройством МИП (ЗЗУМ, SUMU) 314, которые являются доверенными для обеспечения защиты. Внутри МИП 308, ЗЗУМ 314 хранит секретную информацию таким образом, чтобы препятствовать несанкционированному доступу к информации. Если секретная информация получена из МИП 308, то для доступа должен требоваться сравнительно большой объем ресурсов. Также внутри МИП 308, ЗБОМ 316 выполняет вычисления над величинами, которые могут быть внешними относительно МИП 308 и/или внутренними относительно МИП 308. Результаты вычислений могут быть сохранены в ЗЗУМ 314 или переданы в ОМС 306. Вычисления, выполняемые ЗБОМ 316, могут быть получены из МИП 308 только объектом, обладающим значительным объемом ресурсов. Аналогично, выходные данные ЗБОМ 316, предназначенные для сохранения в ЗЗУМ 314 (но не для выдачи на ОМС 306), выполнены таким образом, что несанкционированный перехват требует значительного объема ресурсов. В одном из вариантов осуществления, МИП 308 представляет собой постоянный блок внутри МС 300. Необходимо отметить, что в дополнение к защищенной памяти и обработке в МИП 308, МИП 308 может также включать в себя незащищенную память и обработку данных (не показана) для хранения информации, включающей в себя телефонные номера, информацию об адресах электронной почты, информацию об адресах Web-страниц или унифицированных указателях информационных ресурсов (URL), и/или функции органайзера, и т.п.
Альтернативные варианты осуществления могут предлагать сменный и/или перепрограммируемый МИП. В иллюстративном варианте осуществления ЗБОМ 316 не обладает значительной вычислительной мощностью для выполнения функций помимо процедур, связанных с защитой и ключами, причем защита и ключи обычно могут быть использованы для предоставления возможности шифрования контента широковещания УВСШ. Альтернативные варианты осуществления могут реализовывать МИП с большей вычислительной мощностью.
МИП 308 связан с конкретным пользователем и применяется главным образом для верификации того, что МС 300 имеет право пользоваться привилегиями, предоставленными данному пользователю, такими как доступ к мобильной телефонной сети. Таким образом, пользователь скорее связан с МИП 308, а не с МС 300. Один и тот же пользователь может быть связан со множеством МИП 308.
Услуга широковещания сталкивается с проблемой определения способа распространения ключей подписавшимся пользователям. Для дешифрования контента широковещания в определенное время, ОМС должно знать текущий ключ дешифрования. Во избежание кражи услуги, ключ дешифрования должен часто меняться, например одна услуга обновляет ключ раз в минуту. Такие ключи дешифрования называются краткосрочными ключами (КК, SK). КК применяется для дешифрования контента широковещания в течение короткого промежутка времени, следовательно, данный КК можно рассматривать как имеющий для пользователя некую ценность в денежном выражении. Например, ценность в денежном выражении может быть частью стоимости регистрации. Предположим, что для не подписчика стоимость получения КК из запоминающего устройства ЗУ 310 подписчика превышает ценность в денежном выражении КК. То есть стоимость нелегитимного получения КК превышает вознаграждение, что дает в результате отсутствие чистой прибыли. Следовательно, потребность в защите КК в запоминающем устройстве ЗУ 310 уменьшается. Тем не менее, если секретный ключ имеет время существования, превышающее время жизни КК, стоимость нелегитимного получения КК реально может быть меньшей, чем вознаграждение. В такой ситуации имеется чистая прибыль при нелегитимном получении КК из запоминающего устройства ЗУ 310. Отсюда, в идеальном случае, запоминающее устройство ЗУ 310 не хранит секретов с временем жизни, превышающим время жизни КК.
Предполагается, что каналы, используемые СК (не показан) для распространения КК на различные устройства подписчиков, являются незащищенными. Другими словами, в оптимальном проекте каналы должны полагаться незащищенными, и КК должен быть спроектирован соответственно. Таким образом, при распространении данного КК, СК требует использования способов, скрывающих значение КК от неподписавшихся пользователей. Кроме этого СК распространяет КК каждому из потенциально большого количества подписчиков для обработки в соответствующем ОМС за относительно короткий промежуток времени. Известные защищенные способы передачи ключа являются традиционно медленными и требуют передачи большого количества ключей. Способы передачи ключа в общем случае не являются подходящими для требуемого сочетания критериев защищенности и эффективности. Иллюстративный вариант осуществления изобретения является подходящим способом распространения ключей дешифрования среди большого множества подписчиков за короткий промежуток времени таким способом, что не подписчики не могут получить ключи дешифрования.
Иллюстративный вариант осуществления изобретения описан как передающий информацию в пакетах, совместимых с Интернет-протоколом, таких как описываемые ниже пакеты "IPSec" (протокола защиты трафика на уровне IP), и, таким образом, нижеследующее описание предоставляет краткое введение в терминологию, используемую в связи с IPSec. Указанная терминология полезна при описании иллюстративных вариантов осуществления изобретения, но использование этой терминологии не означает ограничения иллюстративных вариантов осуществления изобретения связью с применением IPSec.
Основные положения IPSec описаны в RFC 1825, озаглавленном "Security Architecture for Internet Protocol", R. Atkinson, август 1995, RFC 1826 озаглавленном "IP Autentification Header", R. Atkinson, август 1995, и RFC 1827 озаглавленном "IP Encapsulating Security Payload (ESP)", R. Atkinson, август 1995. Заголовок аутентификации представляет собой механизм, обеспечивающий целостность IP-дейтаграмм, причем IP-дейтаграммы в общем случае являются коллекцией полезной информации, называемой полезной нагрузкой, в сочетании с сетевой управляющей информацией и заголовком IP. Сетевые маршрутизаторы используют заголовки IP для направления пакетов в требуемый узел сети. В некоторых ситуациях, заголовок аутентификации может также обеспечивать аутентификацию IP-дейтаграмм. Инкапсуляция полезной нагрузки IP-пакета в целях защиты (ESP) представляет собой механизм, обеспечивающий конфиденциальность и целостность IP-дейтаграмм, и может применяться в сочетании с заголовком аутентификации. IPSec использует "ассоциации защиты" (структуры данных, ассоциированные с защищенной передачей и определяющие ее параметры защиты) для описания параметров, таких как ключ шифрования и алгоритм шифрования, применяемых при шифровании и/или аутентификации связи между группой объектов. Необходимо отметить, что концепция ассоциации защиты также применима к криптосистемам, не основанным на IPSec.
Пакет IPSec включает в себя 32-битный параметр, называемый индексом параметров защиты (SPI), который используется совместно с адресом назначения для идентификации ассоциации защиты, используемой для шифрования и/или аутентификации содержимого IP-дейтаграмм. Любой объект может сохранить ассоциации защиты в базе данных ассоциаций защиты и индексировать ассоциации защиты согласно адресу назначения и SPI. Зашифрованное содержимое пакетов IPSec часто называют полезной нагрузкой.
В иллюстративном варианте осуществления изобретения, МС 300 поддерживает УВСШ в беспроводной системе связи. Для получения доступа к УВСШ пользователь должен зарегистрироваться и затем подписаться на услугу. После подписки различные ключи обновляются по необходимости. В процессе регистрации СК и МИП 308 согласовывают ассоциацию защиты и приходят к соглашению о регистрационном ключе (РК, RK) и других параметрах, требуемых для ассоциации защиты между пользователем и СК. Затем СК может посылать на МИП 308 дополнительную секретную информацию, зашифрованную с помощью РК. РК хранится в качестве секрета в МИП 308, тогда как другие параметры могут храниться в ОМС 306. РК является уникальным для данного МИП 308, т.е. каждому пользователю назначается отдельный РК. Сам по себе процесс регистрации не дает пользователю доступа к УВСШ.
Как указывалось выше, после регистрации пользователь подписывается на услугу. В процессе подписки СК посылает МИП 308 значение общего ключа доступа к широковещанию (КДШ, ВАК). Необходимо отметить, что в то время как РК является специфическим для МИП 308, КДШ применяется для шифрования широковещательной передачи для множества пользователей. СК посылает МС 300, а более точно, МИП 308, значение КДШ, шифрованное с применением РК, уникального для МИП 308. МИП 308 имеет возможность восстановить значение исходного КДШ из зашифрованной версии, используя РК. КДШ, совместно с другими параметрами образует ассоциацию защиты между СК и группой подписавшихся пользователей. КДШ хранится в качестве секрета в МИП 308, тогда как другие параметры ассоциации защиты могут храниться в ОМС 306. Затем СК передает данные, называемые информацией о краткосрочном ключе (ИКК, SKI), которые объединяются с КДШ в МИП 308 для получения КК. Затем МИП 308 передает КК в ОМС 306. В этом случае СК может эффективно распространять новые значения КК в ОМС подписавшихся пользователей. Ниже приведены несколько примеров получения КК из ИКК, и форм ИКК. Подробно обсуждаются процессы регистрации и подписки, после чего описываются ИКК и КК.
Что касается регистрации, при регистрации пользователя с помощью данного СК, МИП 308 и СК (не показан) устанавливают ассоциацию защиты. То есть МИП 308 и СК приходят к соглашению о секретном регистрационном ключе РК. РК является уникальным для каждого МИП 308, хотя если пользователь имеет множество МИП, то эти МИП могут совместно обладать одним и тем же РК, в зависимости от политики СК. Регистрация может происходить при подписке пользователя на широковещательный канал, предлагаемый СК, или может происходить перед подпиской. Один СК может предлагать множество широковещательных каналов. СК может выбрать ассоциирование пользователя с одним и тем же РК для всех каналов или требовать регистрации пользователя для каждого канала и ассоциировать одного пользователя с разными РК для разных каналов. Множество СК могут выбрать применение одних и тех же регистрационных ключей или требовать регистрации пользователя и получения им отличающегося РК для каждого СК.
Три общих сценария для установления ассоциации защиты включают в себя: 1) способ Соглашение об Аутентифицированных Ключах (AKA), применяемый в системах 3GPP; 2) способ Обмена Ключами в Интернет (IKE), применяемый в IPSec; и 3) предоставление услуги через эфир (OTASP). В любом случае запоминающее устройство МИП, ЗЗУМ 314, содержит секретный ключ, называемый в настоящем описании А-ключ. Например, при использовании способа AKA, А-ключ является секретом, известным только МИП и Доверенной Третьей Стороне (ДТС, ТТР), причем ДТС может включать в себя несколько объектов. Обычно ДТС является провайдером мобильных услуг, у которого зарегистрировался пользователь. Любая связь между СК и ДТС является защищенной, и СК полагает, что ДТС не способствует несанкционированному доступу к услуге широковещания. При регистрации пользователя СК информирует ДТС, что пользователь желает зарегистрироваться для получения услуги, и обеспечивает верификацию запроса пользователя. ДТС использует функцию, подобную криптографической хэш-функции, для вычисления РК на основе А-ключа и дополнительных данных, называемых Информацией о Регистрационном Ключе (ИРК, RKI). ДТС передает РК и/или ИРК в СК по защищенному каналу вместе с другими данными. СК посылает ИРК в МС 300. Схема 304 приема передает ИРК в МИП 308 и может передавать ИРК в ОМС 306. МИП 308 вычисляет РК на основе ИРК и А-ключа, хранящегося в запоминающем устройстве МИП, ЗЗУМ 314. РК сохраняется в запоминающем устройстве МИП, ЗЗУМ 314 и не предоставляется непосредственно в ОМС 306. Альтернативные варианты осуществления могут использовать сценарий IKE, или какие-либо другие способы установления РК. Также должны быть согласованы другие параметры ассоциации защиты между СК и МИП 308. РК хранится в качестве секрета в МИП 308, тогда как другие параметры ассоциации защиты могут храниться в ОМС 306. В иллюстративном варианте осуществления, в котором КДШ посылается в МИП 308 как пакет IPSec, зашифрованный с использованием РК, СК и МС 300 согласовывают значение SPI, используемом для индексирования ассоциации защиты и этот SPI обозначается SPI_RK.
В способе AKA, РК является секретом, совместно используемым между СК, МИП и ДТС. Тем самым, как это принимается в настоящем описании, способ AKA подразумевает, что любая ассоциация защиты между СК и МИП неявно включает в себя ДТС. Включение ДТС в любую ассоциацию защиты не рассматривается как брешь в защите, поскольку СК доверяет в том плане, что ДТС не содействует несанкционированному доступу к широковещательному каналу. Как указывалось выше, если ключ используется совместно с ОМС 306, то требуется его частая замена. Это происходит вследствие риска, что не подписчик получит доступ к информации, хранящейся в запоминающем устройстве ЗУ 310, и, таким образом, получит доступ к услуге с контролируемым или частично контролируемым доступом. ОМС 306 хранит КК, т.е. информацию о ключе, используемом при дешифровании контента широковещания, в запоминающем устройстве ЗУ 310. СК посылает подписавшимся пользователям необходимую для вычисления КК информацию. Если ОМС 306 подписавшегося пользователя может вычислить КК на основе этой информации, то дополнительная информация, требуемая для вычисления КК, не может быть секретной. В этом случае, допустим, что ОМС 306 неподписавшегося пользователя также может вычислить КК на основе этой информации. Следовательно, значение КК должно вычисляться в ЗБОМ 316, используя секретный ключ, совместно используемый СК и ЗЗУМ 314. СК и ЗЗУМ 314 совместно используют значение РК, однако каждый пользователь имеет уникальное значение РК. СК требуется незначительное время для шифрования КК с помощью каждого значения РК и передачи этих зашифрованных значений каждому подписавшемуся пользователю.
Что касается подписки, для гарантии эффективного распространения защищенной информации о КК, СК периодически распространяет общий ключ доступа к широковещанию (КДШ) на каждый МИП 308 подписчика. Для каждого подписчика СК шифрует КДШ, используя соответствующий РК, для получения значения, называемого Информацией о КДШ (ИКДШ, BAKI). СК посылает соответствующую ИКДШ в МС 300 подписавшегося пользователя. Например, КДШ может передаваться в виде IP-пакета, зашифрованного с использованием РК, соответствующего каждой МС. В иллюстративном варианте осуществления, ИКДШ представляет собой пакет, содержащий КДШ, зашифрованный с использованием РК в качестве ключа. Поскольку РК является персональным ключом для каждого пользователя, СК должен посылать КДШ каждому подписчику персонально; таким образом, КДШ не рассылается через широковещательный канал. МС 300 передает ИКДШ в МИП 308. ЗБОМ 316 вычисляет КДШ, используя значение РК, хранящееся в ЗЗУМ 314, и значение ИКДШ. Затем значение КДШ сохраняется в ЗЗУМ. В иллюстративном варианте осуществления, ИКДШ содержит значение SPI, обозначаемое SPI_RK, которое соответствует ассоциации защиты, содержащей РК. МС 300 знает, что МИП 308 может расшифровать полезную нагрузку, если пакет IPSec зашифрован согласно упомянутой ассоциации защиты. Следовательно, если МС 300 принимает пакет IPSec, зашифрованный согласно упомянутой ассоциации защиты, МС 300 передает ИКДШ в МИП 308 для использования РК при дешифровании полезной нагрузки.
Желательно, чтобы период обновления КДШ был достаточным для того, чтобы обеспечить СК возможность послать КДШ каждому подписчику персонально, без значительного объема служебных сообщений. Поскольку ОМС 306 не является доверенным для хранения секретов в течение длительного времени, МИП 308 не предоставляет КДШ в ОМС 306. Также должны быть согласованы другие параметры ассоциации защиты между СК и группой подписчиков. В одном из вариантов осуществления, указанные параметры являются фиксированными, тогда как в другом варианте осуществления, указанные параметры могут посылаться СК как часть ИКДШ. Тогда как КДШ хранится в качестве секрета в МИП 308, другие параметры ассоциации защиты могут храниться в ОМС 306. В одном из вариантов осуществления, в котором КК посылается в МС 300 в виде пакета IPSec, зашифрованного с использованием КДШ, СК предоставляет подписчикам SPI, используемый для индексирования ассоциации защиты, и указанный SPI обозначается SPI_BAK.
В следующем параграфе обсуждается, как после успешного процесса регистрации происходит обновление КК. В пределах каждого периода обновления КДШ, предусматривается короткий интервал, в течение которого КК распространяется в широковещательном канале. СК использует криптографическую функцию для определения двух значений, КК и ИКК (информация о КК), таким образом, что KK может быть определен на основе КДШ и ИКК. Например, ИКК может представлять собой КК, зашифрованный с использованием КДШ в качестве ключа. В одном из иллюстративных вариантов осуществления ИКК представляет собой пакет IPSec, в котором полезная нагрузка содержит значения КК, шифрованные с использованием КДШ в качестве ключа. В качестве альтернативы, КК может представлять собой результат применения криптографической хэш-функции к последовательному объединению (конкатенации) блоков ИКК и КДШ. В идеальном случае, СК гарантирует, что значения КК не могут быть предсказаны заранее. Если КК может быть предсказан заранее, тогда атакующая сторона, т.е. объект, осуществляющий нелегитимный доступ, может посылать предсказанные значения КК неподписавшимся пользователям.
В качестве примера, допустим, что за период 24 часа должны использоваться N значений КК. Если КК предсказуем с точностью 100%, то атакующей стороне требуется только запросить МИП вычислить N ключей. Затем атакующая сторона делает N ключей доступными неподписавшимся пользователям. Неподписавшиеся пользователи могут загружать ключи в начале каждого дня и получать доступ к услуге УВСШ с малыми затратами или неудобствами. Если атакующая сторона способна предсказывать КК только с точностью 50%, то атакующей стороне требуется разослать примерно 2N ключей. При уменьшении точности предсказания требуемое количество генерируемых ключей возрастает. Атакующая сторона может быть лишена интереса к распространению КК, будучи убежденной, что стоимость генерации, хранения и распространения предсказаний превышает прибыль от предоставления нелегитимного доступа. Атакующая сторона может быть лишена интереса, будучи убежденной, что точность любого предсказания, сделанного атакующей стороной, является относительно малой, тем самым, увеличивая количество ключей, которое атакующая сторона должна сгенерировать, до уровня, при котором стоимость предоставления нелегитимного доступа превышает прибыль. Следовательно, в идеальном случае, любая схема генерации КК гарантирует, что наилучшие предсказания атакующей стороны имеют достаточно малую точность. Таким образом, вычисление КК должно включать в себя некоторое случайное значение, которое может быть заранее предсказано только с малой точностью.
В иллюстративном варианте осуществления, в котором КК находится в зашифрованном виде, СК может выбрать КК, используя случайную или псевдослучайную функцию. В альтернативных вариантах осуществления, в которых КК получается в результате применения криптографической функции к ИКК и КДШ, СК при формировании ИКК вводит непредсказуемые значения. Некоторая часть ИКК может быть предсказуемой. Например, часть ИКК может быть производной от системного времени, в течение которого ИКК остается действительной. Эта часть, называемая SKI_PREDICT, может не передаваться в МС 300 как часть услуги широковещания. Остаток ИКК, SKI_RANDOM, может быть непредсказуемым. То есть SKI_RANDOM предсказуем с малой точностью. SKI_RANDOM передается в МС 300 как часть услуги широковещания. МС 300 восстанавливает ИКК из SKI_PREDICT и SKI_RANDOM и предоставляет ИКК в МИП 308. ИКК может восстанавливаться в МИП 308. Значение ИКК меняется для каждого нового КК. Таким образом, SKI_PREDICT и/или SKI_RANDOM изменяются при вычислении каждого нового КК.
СК посылает SKI_RANDOM на БС для широковещательной передачи. БС производит широковещательную передачу SKI_RANDOM, который принимается антенной 302 и передается в схему 304 приема. Схема 304 приема предоставляет SKI_RANDOM в МС 300, и МС 300 восстанавливает ИКК. МС 300 предоставляет ИКК в МИП 308, и МИП 308 получает КК, используя КДШ, хранящийся в ЗЗУМ 314. Затем МИП 308 предоставляет КК в ОМС 306. ОМС 306 сохраняет КК в запоминающем устройстве, ЗУ 310. ОМС 306 использует КК для дешифрования широковещательных передач, принимаемых от СК.
СК и БС приходят к соглашению относительно некоторых критериев, при которых SKI_RANDOM должен передаваться. СК может потребовать снижения собственной ценности КК в денежном выражении путем частого изменения КК. В такой ситуации требование изменения данных SKI_RANDOM уравновешивается требованием оптимизации доступной полосы пропускания. В некоторых иллюстративных вариантах осуществления, SKI_RANDOM посылается с зашифрованным контентом. Это позволяет МС 300 генерировать КК и начать дешифрование немедленно. Во многих ситуациях это является ненужной загрузкой полосы пропускания. Исключением является схема, в которой SKI_RANDOM посылается в качестве параметров связи. Например, значение SPI в IPSec может меняться, и может использоваться для включения значения SKI_RANDOM, как это более подробно описано ниже.
В другом варианте осуществления, SKI_RANDOM посылается отдельно от зашифрованного контента. SKI_RANDOM даже может передаваться по каналу, отличному от широковещательного канала. Когда пользователь "настраивается" на широковещательный канал, схема 304 приема получает информацию о положении широковещательного канала из "канала управления". Может оказаться желательным обеспечить быстрый доступ при "настройке" пользователя на широковещательный канал. При этом от ОМС 306 требуется получать ИКК в течение короткого промежутка времени. ОМС 306 может уже знать SKI_RANDOM, тем не менее, БС предоставляет SKI_RANDOM в ОМС 306 в течение короткого промежутка времени. Например, БС может часто передавать SKI_RANDOM по каналу управления вместе с информацией о положении широковещательного канала, или часто передавать SKI_RANDOM по широковещательному каналу. Чем чаще БС "обновляет" значение SKI_RANDOM, тем быстрее МС 300 может получить доступ к широковещательному сообщению. Требование обновления SKI_RANDOM уравновешивается требованием оптимизации доступной полосы пропускания, поскольку слишком частая передача данных SKI_RANDOM может занимать неприемлемый объем ресурсов полосы пропускания в канале управления или широковещательном канале.
В некоторых ситуациях СК может выбрать использование значений SKI_PREDICT и SKI_RANDOM, меняющихся для каждого получаемого значения КК. В других ситуациях СК может потребовать уменьшения количества раз изменения SKI_RANDOM, для того, чтобы МС не требовалось получать SKI_RANDOM так часто. Например, если пользователь часто меняет каналы УВСШ в их множестве, тогда будет лучше, если значение SKI_RANDOM с большой вероятностью не будет меняться в течение пяти минут, за которые пользователь переключится на другой канал. Если SKI_RANDOM изменится, то пользователь будет вынужден ждать широковещательной передачи нового значения SKI_RANDOM, что указывает на то, что схема будет более "дружественной к пользователю", если SKI_RANDOM остается постоянным как можно дольше. СК может пожелать использовать множество значений КК в течение времени существования значения SKI_RANDOM, используя значение SKI_PREDICT, которое меняется, если СК желает изменить КК. В одном из примеров используется системное время; однако, использование системного времени создает дополнительные проблемы, связанные с синхронизацией.
Что касается шифрования и передачи контента широковещания, СК шифрует контент широковещания, используя текущий КК. Иллюстративный вариант осуществления использует алгоритм шифрования, такой как алгоритм шифрования Усовершенствованного Стандарта Шифрования (AES). В иллюстративном варианте осуществления зашифрованный контент затем передается в пакетах IPSec согласно режиму транспортировки при инкапсуляции полезной нагрузки IP-пакета в целях защиты (ESP), обсуждаемому ниже. Пакет IPSec также содержит значение SPI, предписывающее ОМС 306 использовать текущий КК для дешифрования принимаемого контента широковещания. Зашифрованный контент посылается через широковещательный канал.
Схема 304 приема предоставляет ИРК и ИКДШ непосредственно в МИП 308. Помимо этого, если СК вычисляет КК на основе SKI_RANDOM и SKI_PREDICT, тогда схема 304 приема предоставляет SKI_RANDOM в соответствующую часть МС 300, где он объединяется с SKI_PREDICT для получения ИКК. В одном из вариантов осуществления, ИКК присоединяется к зашифрованному сообщению и извлекается ОМС 306. ИКК предоставляется в МИП 308 соответствующей частью МС 300. МИП 308 вычисляет РК на основе ИРК и А-ключа, дешифрует ИКДШ, используя РК, для получения КДШ, и вычисляет КК, используя ИКК и КДШ, для генерации КК с целью применения в ОМС 306. ОМС 306 дешифрует контент широковещания, используя КК. МИП 308 иллюстративного варианта осуществления может не обладать достаточной мощностью для дешифрования контента широковещания в реальном масштабе времени, и поэтому КК передается в ОМС 306 для дешифрования широковещательной передачи.
Фиг.5В иллюстрирует передачу и обработку ключей, в том числе РК, КДШ и КК, согласно иллюстративному варианту осуществления. Как показано, при регистрации МС 300 принимает информацию о РК (ИРК) и передает ее в МИП 308, причем ЗБОМ 316 вычисляет РК, используя ИРК и А-ключ, и сохраняет РК в запоминающем устройстве МИП, ЗЗУМ 314. МС 300 периодически принимает информацию о КДШ (ИКДШ), содержащую КДШ, зашифрованный с использованием значения РК, специфичного для МИП 308. Зашифрованная ИКДШ дешифруется в ЗБОМ 316 для восстановления КДШ, который сохраняется в запоминающем устройстве МИП, ЗЗУМ 314. Кроме этого, МС 300 периодически принимает ИКК. В некоторых иллюстративных вариантах осуществления, МС 300 принимает SKI_RANDOM, который она объединяет с SKI_PREDICT, формируя ИКК. ЗБОМ 316 вычисляет КК на основе ИКК и КДШ. КК предоставляется в ОМС 306 для дешифрования контента широковещания.
В иллюстративном варианте осуществления ключи СК не обязательно должны зашифровываться и передаваться в МС; СК может использовать альтернативный способ. Информация о ключе, генерируемая СК для передачи каждой МС, предоставляет МС достаточно информации для вычисления ключа. Как иллюстрировано в системе 350 по Фиг.6, РК генерируется СК, но в МС передается информация о РК (ИРК). СК посылает информацию, достаточную для МИП, чтобы получить РК, причем для получения РК из переданной СК информации используется заранее определенная функция. ИРК содержит достаточную информацию для МС, чтобы определить исходный РК на основе А-ключа и других значений, таких как системное время, используя заранее определенную открытую функцию, обозначенную d1, причем:
РК=d1(А-ключ,ИРК). (3)
В иллюстративном варианте осуществления, функция d1 определяет функцию криптографического типа. Согласно одному из вариантов осуществления, РК определяется как:
РК=SHA'(А-ключ||ИРК), (4)
где "||" обозначает последовательное объединение (конкатенацию) блоков, содержащих А-ключ и ИРК, SHA'(Х) обозначает последние 128 битов выходных данных безопасного алгоритма хэширования SHA-1, имеющего на входе Х. В альтернативном варианте осуществления, РК определяется как:
РК=AES(А-ключ,ИРК), (5)
где AES(X,Y) обозначает шифрование 128-битного блока ИРК, используя 128-битный А-ключ. В другом варианте осуществления, основанном на протоколе AKA, РК определяется как выходные данные функции f3 генерации ключей в 3GPP, причем ИРК содержит величину RAND и подходящие величины AMF и SQN, как определено этим стандартом.
КДШ обрабатывается другим способом, поскольку множество пользователей, имеющих различные значения РК, должны вычислить одно и тоже значение КДШ. СК может использовать любой способ для определения КДШ. Однако, значение ИКДШ, связанное с конкретным МИП 308, должно представлять собой КДШ, зашифрованный при уникальном РК, связанном с указанным МИП 308. ЗБОМ 316 дешифрует ИКДШ, используя РК, хранящийся в ЗЗУМ 314, согласно функции, обозначаемой d2, как:
КДШ = d2(ИКДШ,РК). (6)
В альтернативном варианте осуществления, СК может вычислять ИКДШ, применяя к КДШ процесс дешифрования, использующий РК, и ЗБОМ 316 получает КДШ, применяя к ИКДШ процесс шифрования, использующий РК. Это считается эквивалентом шифрованию КДШ в СК и дешифрованию ИКДШ в ЗБОМ 316. Альтернативные варианты осуществления могут использовать любое количество комбинаций ключей в дополнение или вместо показанных на Фиг.6.
КК обрабатывается аналогично РК. В некоторых вариантах осуществления, ИКК сначала определяется на основе SKI_PREDICT и SKI_RANDOM, причем SKI_RANDOM представляет собой информацию, переданную из СК в МС. Затем используется заранее определенная функция, обозначенная d3, для определения КК из ИКК и КДШ (хранящегося в ЗЗУМ 314), как:
КК=d3(КДШ,ИКК). (7)
В одном из вариантов осуществления функция d3 является функцией криптографического типа. В иллюстративном варианте осуществления, КК вычисляется как:
КК=SHA(КДШ||ИКК), (8)
тогда как в другом варианте осуществления КК вычисляется как
КК=AES(КДШ,ИКК). (9)
На Фиг.7А-7D показан способ обеспечения защиты широковещательного сообщения. Фиг.7А иллюстрирует процесс 400 регистрации, в котором подписчик согласовывает регистрацию с СК на этапе 402. На этапе 404 регистрация предоставляет МИП уникальный РК. На этапе 406 МИП сохраняет РК в защищенном запоминающем устройстве (ЗЗУМ). Фиг.7В иллюстрирует обработку 420 в СК и МС в процессе подписки. На этапе 422 СК генерирует КДШ для временного периода Т1. КДШ является действительным в течение временного периода Т1 для КДШ, причем КДШ периодически обновляется. На этапе 424 СК санкционирует для МИП доступ к контенту широковещания (КШ, ВС) в течение временного периода Т1 для КДШ. На этапе 426 СК шифрует КДШ, используя отдельный РК для каждого подписчика. Зашифрованный КДШ называется ИКДШ. Затем, на этапе 428, СК передает ИКДШ в МИП. На этапе 430 МИП принимает ИКДШ и выполняет дешифрование, используя РК. Дешифрованная ИКДШ дает в результате сгенерированный изначально КДШ. МИП сохраняет КДШ в ЗЗУМ на этапе 432.
Если пользователь подписывается на услугу широковещания на конкретный период обновления КДШ, то СК посылает соответствующую информацию ИКДШ, причем ИКДШ соответствует КДШ, зашифрованному с помощью РК. Обычно это происходит перед началом периода обновления этого КДШ, или когда МС первый раз настраивается на широковещательный канал в течение периода обновления этого КДШ. Это может быть инициировано МС или СК согласно множеству критериев. Одновременно могут передаваться и дешифровываться множество ИКДШ.
Необходимо отметить, что если окончание периода обновления КДШ является близким, то МС может запросить обновленный КДШ у СК, если МС имеет подписку на следующий период обновления КДШ. В альтернативном варианте осуществления первый таймер t1 используется в СК, причем после истечения таймера, т.е. удовлетворения требованиям в отношении периода обновления КДШ, СК передает КДШ. СК может изменить значение КДШ раньше, чем предполагалось изначально. Это может потребоваться, если, например, текущее значение КДШ раскрыто.
Необходимо отметить, что для пользователя является возможным прием КДШ в течение периода обновления КДШ, в котором, например, подписчик начал использовать услугу в середине месяца тогда, как обновления КДШ выполняются ежемесячно. Дополнительно, периоды времени обновления КДШ и КК могут быть синхронизованы таким образом, что обновления для всех подписчиков выполняются в установленное время.
Фиг.8А иллюстрирует процесс регистрации в беспроводной системе 500 связи согласно иллюстративному варианту осуществления изобретения. СК 502 согласовывают с каждым подписчиком, т.е. МС 512, генерацию РК, специфического для каждого подписчика. РК предоставляется в устройство ЗЗУМ в МИП каждой МС. Как показано, СК 502 генерирует РК1, который сохраняется в ЗЗУМ1 510 в МИП1 512. Аналогично СК 502 генерирует РК2 и РКN, которые сохраняются в ЗЗУМ2 520 в МИП2 522 и ЗЗУМN 530 в МИПN 532, соответственно.
Фиг.8В иллюстрирует процесс подписки в системе 500. СК 502 дополнительно включает в себя множество кодеров 504. Каждый из кодеров 504 принимает один из уникальных ключей РК и значение БАК, сгенерированные в СК 502. Выходные данные каждого кодера 504 представляют собой ИКДШ, зашифрованную специфически для подписчика. ИКДШ принимается в МИП из состава каждой МС, такой как МИП1 512. Каждый МИП включает в себя ЗБОМ и ЗЗУМ, такие как ЗБОМ1 514 и ЗЗУМ1 510 в МИП1 512. ЗБОМ включает в себя декодер, такой как декодер 516, который восстанавливает КДШ, используя РК данного МИП. Этот процесс повторяется для каждого подписчика.
Фиг.8D иллюстрирует обработку КШ после регистрации и подписки. СК 502 включает в себя кодер 560, который кодирует КШ, используя текущий КК для генерации шифрованного контента широковещания (ШКШ, ЕВС). ШКШ затем передается подписчикам. Каждая МС включает в себя декодер, такой как декодер 544, который извлекает КШ из ШКШ, используя КК.
Следующее ниже описание рассматривает четыре иллюстративных варианта осуществления, которые могут применяться для обновления КК и широковещательной передачи контента. В первом иллюстративном варианте осуществления КК вычисляется на основе КДШ и значения SPI в заголовке пакетов IPSec, содержащих контент широковещания. Во втором иллюстративном варианте осуществления КК вычисляется на основе КДШ, передаваемого широковещательным образом случайного значения, обозначаемого RAND, и значения SPI в заголовке пакетов IPSec, содержащих контент широковещания. В третьем иллюстративном варианте осуществления КК вычисляется на основе КДШ, системного времени и передаваемого широковещательным образом случайного значения, обозначаемого SK_RAND. В четвертом иллюстративном варианте осуществления КК посылается в виде пакета IPSec, зашифрованного с использованием КДШ. Другие варианты осуществления могут предоставлять КК как комбинацию перечисленных выше вариантов осуществления, или используя другой механизм для предоставления КК в МС с достаточной частотой для потери интереса к несанкционированному доступу к услуге широковещания.
Поскольку краткосрочный ключ (КК) используется для шифрования и дешифрования контента широковещания и хранится в памяти, которая может быть подвержена несанкционированному доступу, то обычно КК часто меняется. Проблема заключается в том, каким образом часто менять КК, в то же время соблюдая баланс со следующими четырьмя задачами: 1) минимизация времени ожидания обновления КК, или периода полного отключения, для мобильной станции, которая недавно настроилась на широковещательную передачу; 2) минимизация объема полосы пропускания, используемого для обновления значения КК; 3) повышение уровня защищенности; и 4) упрощение интегрирования КК в IPSec. Частые обновления могут уменьшить период полного отключения, но ценой требования большей доли полосы пропускания для посылки частых обновлений.
Одно из решений предоставляет способ для предоставления достаточной информации для выполнения обновлений КК в каждом пакете контента широковещания без использования дополнительной полосы пропускания. Тем самым, период полного отключения может быть минимизирован без необходимости в дополнительной полосе пропускания. Изложенные в настоящем описании четыре иллюстративных варианта осуществления выполнения обновления КК имеют различные достоинства и недостатки. Все четыре варианта осуществления предоставляют способы, которые являются в значительной степени защищенными. Первый вариант осуществления устраняет период полного отключения и не использует дополнительной полосы пропускания для обновления значения КК. Другие варианты осуществления могут допускать появление периода полного отключения в периоды интенсивного использования. Первый вариант осуществления также легко интегрируется с IPSec.
Согласно первому варианту осуществления выполнения обновления КК, упомянутые выше проблемы решаются путем определения КК, который шифрует заданный пакет IPSec, как функцию ключа доступа к широковещанию (КДШ) и SPI в заголовке ESP. В этом случае, вместо того, чтобы предоставлять КК в отдельном потоке, КК вычисляется из потока контента. Допуская, что МС уже приняла КДШ, как описывалось выше, МС имеет возможность немедленно вычислить КК для каждого пакета контента без необходимости ожидания какой-либо дополнительной информации об обновлении КК. Это эффективно устраняет любое время ожидания обновления КК для новой принимающей стороны широковещания. Как только МС принимает пакет контента, МС может немедленно определить КК и дешифровать контент.
Информация, достаточная для вычисления КК в МС, предоставляется в пакете IPSec. Пакет IPSec использует инкапсуляцию полезной нагрузки IP-пакета в целях защиты (ESP) и описан в RFC 1827, озаглавленном "IP Encapsulating Security Payload (ESP)", R.Atkinson, август 1995 г., как упоминалось выше. ESP представляет собой механизм, обеспечивающий целостность и конфиденциальность IP-дейтаграмм. При некоторых обстоятельствах он также может обеспечить аутентификацию IP-дейтаграмм. Фиг.9А иллюстрирует пакет 600 IPSec, включающий в себя заголовок 602 IP, заголовок 604 ESP и полезную нагрузку 606, согласно одному из вариантов осуществления. Инкапсуляция полезной нагрузки IP-пакета с целью защиты (ESP) может находиться в любом месте после заголовка IP и перед завершающим заголовком протокола транспортного уровня. В общем случае ESP содержит незашифрованный заголовок, за которым следуют зашифрованные данные.
Поле 604 заголовка ESP включает в себя идентификатор ассоциации защиты, называемый SPI. Согласно первому варианту осуществления, изложенному выше, пакеты IPSec, содержащие контент широковещания, включают в себя SPI, относящийся к КК, обозначаемый SPI_SK. Фиг.9В иллюстрирует формат соответствующего 32-битного SPI_SK 610. SPI_SK 610 разделен на две части: SPI_RAND 612 и BAK_ID 614. SPI_RAND 612 представляет собой случайное число, являющееся статистически случайным, и также используется для вычисления КК, который используется для шифрования и дешифрования соответствующего контента широковещания или полезной нагрузки. Параметр SPI_RAND позволяет серверу контента (СК) часто изменять эффективное значение КК для контента путем изменения значения SPI_RAND, тем самым предоставляя МС параметр, требуемый для немедленного вычисления значения КК. Помимо этого SPI_RAND выполняет роль SKI_RANDOM, обсуждавшегося выше. Случайность SPI_RAND гарантирует, что атакующая сторона не сможет предсказать значения КК с высокой точностью. Поскольку SPI уже является стандартным параметром в шифрованных пакетах IPSec, т.е. является заданным для ESP, настоящий вариант осуществления не требует дополнительной полосы пропускания, обычно связанной с передачей КК в виде отдельного потока. BAK_ID указывает, какое значение КДШ использовать для вычисления значения КК. В одном из вариантов осуществления BAK_ID представляет собой 4-х битный дескриптор, причем каждый дескриптор связан со значением КДШ. Когда МС выполняет процедуру подписки, МС сохраняет каждый полученный BAK_ID и соответствующее значение КДШ в запоминающем устройстве. Согласно одному из вариантов осуществления МС включает в себя таблицу соответствия (ТС, LUT) для хранения значения (значений) КДШ, идентифицированных соответствующими BAK_ID. ТС КДШ размещается в защищенной памяти в МИП.
Фиг.9D иллюстрирует ТС 630 КДШ. Каждый элемент в ТС 630 идентифицирует BAK_ID, соответствующее значение КДШ и время истечения действительности данной комбинации. Время истечения вводится вследствие малого количества значений BAK_ID. Альтернативные варианты осуществления могут не использовать значения времени истечения в ТС КДШ. В одном из вариантов осуществления используются только 16 значений BAK_ID. Если новый КДШ выпускается каждый месяц, тогда значение BAK_ID должно повторяться по истечении 16 месяцев. В этот момент может возникнуть путаница относительно того, какое значение КДШ является действительным. Время истечения обеспечивает период задержки (тайм-аут), после которого новая запись замещает просроченную запись. ТС КДШ может требоваться сохранить несколько значений КДШ. Одной из причин этого является то, что СК может решить послать значения КДШ в МС перед тем, как они станут действительными. Дополнительно, СК может решить иметь множество значений КДШ, которые являются действительными в одно и то же время, причем разные значения КДШ могут использоваться для вычисления разных значений КК. Если ТС КДШ не содержит текущего КДШ, соответствующего BAK_ID, тогда МС может произвести процедуру подписки для получения действительного КДШ.
После извлечения SPI_RAND и BAK_ID из SPI_SK и восстановления КДШ, соответствующего BAK_ID, МИП вычисляет значение КК на основе КДШ и SPI_RAND, используя криптографическую функцию g:
КК=g(BAK,SPI_RAND). (10)
В одном из вариантов осуществления функция g(BAK,SPI_RAND) соответствует шифрованному значению SPI_RAND, дополненному до 128 битов нулями, используя алгоритм шифрования AES с КДШ в качестве ключа:
КК=AES(BAK,SPI_RAND). (11)
В другом варианте осуществления функция g(BAK,SPI_RAND) соответствует вычислению 128-ми самых младших битов выходных данных SHA-1, примененного к последовательному объединению (конкатенации) КДШ и SPI_RAND:
КК=SHA(BAK,SPI_RAND). (12)
В этом случае от МИП не требуется вычислять значения КК для каждого пакета, принимаемого МС. МС сохраняет каждое из значений SPI_SK с соответствующими значениями КК в запоминающем устройстве, таком как таблица соответствия (ТС). МС может сохранять значения SPI_SK и КК в качестве ассоциации защиты в базе данных ассоциаций защиты (БАЗ, SAD): ТС, в которой МС сохраняет обычные ассоциации защиты, требуется для других приложений. Ассоциации защиты индексируются согласно адресу назначения и SPI. Когда новый КК генерируется из нового значения SPI_SK, старая ассоциация защиты замещается новой ассоциацией защиты, содержащей новые значения SPI_SK и КК. В качестве альтернативы, МС может сохранять значения SPI_SK и КК в ТС КК (SK_LUT), с одной ТС КК, выделенной для каждого широковещательного канала. Фиг.9С иллюстрирует ТС 620 КК. Каждый элемент в ТС 620 идентифицирует SPI_SK и соответствующее значение КК. Когда МС принимает пакет контента широковещания, ОМС сначала проверяет БАЗ или ТС КК для того, чтобы определить, содержит ли таблица значения SPI_SK, совпадающее с SPI принятого пакета. Если таблица содержит такое значение, то ОМС использует это значение, в противном случае МИП вычисляет новое значение КК. СК также может иметь ТС КДШ, БАЗ или ТС КК.
Фиг.10 и 11 иллюстрируют один из вариантов осуществления выполнения обновления КК. Фиг.10 иллюстрирует способ 700 выполнения операций в СК. На этапе 702 для каждого IP-пакета СК определяет КДШ, который будет использован при определении КК, и определяет BAK_ID, соответствующий КДШ. BAK_ID может быть идентификатором любого типа, который позволяет различать значения КДШ в их множестве. СК посылает КДШ и BAK_ID отдельным пользователям при выполнении процедуры подписки на этапе 706. Пользователи могут выполнять процедуру подписки в различные моменты времени до и во время периода подписки. Этапы 702 и 706 могут происходить до начала периода подписки. На этапе 710 СК выбирает случайное значение в качестве значения SPI_RAND. Если BAK_ID представлен с использованием b битов, тогда SPI_RAND представлен с использованием (32-b) битов. Значение SPI_RAND не должно повторяться в течение времени существования одного КДШ. После того как SPI_RAND и BAK_ID становятся известными, СК объединяет их (т.е. присоединяет BAK_ID к SPI_RAND), формируя SPI_SK на этапе 712. На этапе 714 СК формирует КК, используя криптографическую функцию для объединения SPI_RAND с КДШ, соответствующим BAK_ID, формируя КК. Затем на этапе 716 СК шифрует широковещательное сообщение или часть сообщения с помощью КК, и посылает зашифрованное сообщение на этапе 718. Необходимо отметить, что зашифрованное широковещательное сообщение является частью IP-пакета, который включает в себя заголовок IP и заголовок ESP. Заголовок ESP включает в себя SPI_SK. На этапе 720 СК принимает решение, менять ли КК. Если СК решит не менять КК, тогда СК переходит к этапу 716. Если СК решает изменить КК, тогда СК переходит к этапу 724, где СК принимает решение, менять ли КДШ. Если СК решает не менять КДШ, тогда СК переходит к этапу 710. Если СК решает изменить КДШ, тогда СК переходит к этапу 702.
Фиг.11 иллюстрирует соответствующие операции в приемнике, таком как МС. Способ 750 стартует, когда приемник принимает IP-пакет, включающий в себя SPI_SK в заголовке ESP на этапе 752. Необходимо отметить, что приемник извлекает информацию SPI_SK из IP-пакета. Приняв SPI_SK, приемник сначала проверяет, хранится ли в запоминающем устройстве КК, соответствующий принятому значению SPI_SK.
В одном из вариантов осуществления SPI_SK хранится в ТС КК, расположенной в блоке ОМС 306 по Фиг.4, а в другом варианте осуществления SPI_SK хранится в базе данных ассоциаций защиты: обе эти таблицы обозначены на этой Фиг.11 как таблица SPI. На этапе 754 выполняется проверка таблицы SPI. Если значение КК хранится в запоминающем устройстве приемника, то приемник имеет возможность на этапе 756 дешифровать полезную нагрузку пакета контента, используя хранящееся значение КК. Если приемник не имеет значения КК, хранящегося в запоминающем устройстве, то приемник извлекает BAK_ID и SPI_RAND из SPI_SK на этапе 758. Затем, на этапе 760, приемник проверяет, имеет ли ТС КДШ элемент действительного КДШ, соответствующего BAK_ID. Если ТС КДШ имеет действительный КДШ, соответствующий BAK_ID, то приемник выбирает это значение и переходит к этапу 764. Если ТС КДШ не имеет действительного КДШ, соответствующего BAK_ID, например, как в случае, когда пользователь желает подписаться на этот период, то приемник выполняет процедуру подписки для получения действительного КДШ, как показано на этапе 762. Новый КДШ сохраняется вместе с BAK_ID в ТС КДШ, и приемник переходит к этапу 764. Приемник объединяет КДШ соответствующий значению BAK_ID, т.е. BAK_ID в принятом SPI_SK, и значение SPI_RAND (также содержащееся в принятом SPI_SK) для вычисления нового КК на этапе 764. Затем приемник использует новое значение КК для дешифрования полезной нагрузки пакета контента на этапе 766. Приемник также сохраняет это значение КК, индексированное соответствующим SPI_SK, и, возможно, адрес назначения пакетов IPSec.
КК вычисляется непосредственно на основе данных о КДШ и значения SPI_SK в пакете контента. КДШ меняется менее часто, чем КК, например, КДШ может меняться раз в месяц. Таким образом, приемник имеет возможность немедленно определить значение КК из пакетов контента без дополнительной задержки и не требуя большей полосы пропускания для посылки обновления КК.
Согласно одному из вариантов осуществления, вычисление КК происходит следующим образом:
КК=f(SPI_SK,КДШ), (13)
причем функция определена как шифрование SPI_SK с использованием КДШ. Поскольку SPI_SK состоит из SPI_RAND и BAK_ID, уравнение (13) также может быть представлено в виде:
КК=f(SPI_RAND,BAK_ID). (14)
Второй иллюстративный вариант осуществления выполнения обновления КК вводит дополнительный аспект случайности в вычисление КК, причем КК определяется как функция КДШ, SPI_RAND и дополнительного параметра RAND. Параметр RAND остается постоянным для нескольких значений КК. RAND позволяет вычислять больше различных значений КК из одного значения КДШ посредством изменения как SPI_RAND, так и RAND. Если не использовать RAND, тогда существует самое большее 232 значений КК, которые могут быть вычислены из одного КДШ при помощи изменения SPI. Однако если используется 96-битный RAND, тогда существует до 2218 значений КК, которые могут быть вычислены из одного КДШ при помощи изменения как SPI_RAND, так и RAND. (Эти числа не учитывают биты SPI, которые используются для представления BAK_ID.) Теперь, помимо того, что SPI_SK идентифицирует только КДШ, SPI_SK должен также содержать информацию, идентифицирующую RAND. Для того чтобы получить значение RAND, SPI_SK образуется из трех частей: 1) BAK_ID, идентифицирующего значение КДШ; 2) RAND_ID, идентифицирующего значение RAND; и 3) значения SPI_RAND, обеспечивающего часто изменяемого случайного характера SPI_SK.
Фиг.12А иллюстрирует соответствующую SPI_SK 800 часть IP-пакета, включающую в себя SPI_RAND 802, BAK_ID 804 и RAND_ID 806. SPI_RAND 802 и BAK_ID 804 аналогичны описанным выше. Для поддержания SPI_SK с заранее определенной или заданной битовой длиной, SPI_RAND 802 может использовать меньшее количество битов, чем SPI_RAND 612 по Фиг.9В, оставляя биты для RAND_ID 806. RAND_ID 806 соответствует значению RAND, используемому для вычисления КК, и может представлять собой 4-битный дескриптор или другой идентификатор. RAND_ID и соответствующее значение (значения) RAND хранятся в ТС в приемнике. Фиг.12В иллюстрирует ТС 820 RAND. ТС 820 RAND включает в себя элемент для каждого значения RAND, содержащий RAND_ID и время истечения, связанное со значением RAND.
Фиг.13 иллюстрирует функционирование СК. Для каждого IP-пакета передатчик на этапе 902 определяет КДШ, который будет использоваться для вычисления КК, и определяет BAK_ID, соответствующий КДШ. BAK_ID может быть идентификатором любого типа, который позволяет различать значения КДШ среди их множества. СК посылает КДШ и BAK_ID отдельным пользователям при выполнении процедуры подписки на этапе 904. Пользователи могут выполнять процедуру подписки в различные моменты времени до и во время периода подписки. Этапы 902 и 904 могут происходить до начала периода подписки. На этапе 906 передатчик выбирает значение RAND и определяет соответствующий RAND_ID. СК может посылать RAND и RAND_ID в МС на индивидуальной основе или посылать RAND и RAND_ID, подлежащие широковещательной передаче по широковещательному каналу. Не требуется, чтобы значение RAND было секретным, поэтому оно не шифруется. Если RAND и RAND_ID передаются широковещательно, не должно быть большого промежутка времени между повторными передачами, так чтобы МС не требовалось ожидать в течение длительного времени перед получением значения RAND. Во время широковещательной передачи RAND и RAND_ID используется большая доля полосы пропускания. Однако если на канал настроено большое количество пользователей, тогда большая доля полосы пропускания потребуется для передачи RAND каждому пользователю на индивидуальной основе. Следовательно, RAND и RAND_ID должны передаваться широковещательно, если только на канал настроено большое количество пользователей. На этапе 910 СК выбирает случайное значение SPI_RAND.
После определения SPI_RAND, BAK_ID и RAND_ID передатчик объединяет их (например, последовательно объединяет BAK_ID и RAND_ID с SPI_RAND), формируя SPI_SK на этапе 912. СК использует криптографическую функцию для объединения SPI_RAND, КДШ (идентифицируемого BAK_ID) и RAND (идентифицируемого RAND_ID), формируя КК. Затем СК шифрует широковещательное сообщение или часть широковещательного сообщения на этапе 916 и передает зашифрованное сообщение на этапе 918. Необходимо отметить, что зашифрованное широковещательное сообщение является частью IP-пакета, который включает в себя заголовок IP и заголовок ESP. Заголовок ESP включает в себя SPI_SK. На этапе 920 СК принимает решение, менять ли КК. Если СК решает не менять КК, тогда СК переходит к этапу 916. Если СК решает изменить КК, тогда СК переходит к этапу 922, на котором СК принимает решение, менять ли RAND. Если СК решает не менять RAND, тогда СК переходит к этапу 910. Если СК решает изменить RAND, тогда СК переходит к этапу 924, на котором СК решает, менять ли КДШ. Если СК решает не менять КДШ, тогда СК переходит к этапу 906. Если СК решает изменить КДШ, тогда СК переходит к этапу 902.
Фиг.14 иллюстрирует соответствующие операции в приемнике, таком как МС. Способ 950 стартует, когда приемник принимает IP-пакет, включающий в себя SPI_SK в заголовке ESP на этапе 952. Необходимо отметить, что приемник извлекает информацию SPI_SK из IP-пакета. После приема SPI_SK, на этапе 952 приемник сначала проверяет, хранится ли в запоминающем устройстве КК, соответствующий принятому значению SPI_SK. В одном из вариантов осуществления SPI_SK хранится в ТС КК, расположенной в блоке ОМС 306 по Фиг.4, а в другом варианте осуществления SPI_SK хранится в базе данных ассоциаций защиты: обе эти таблицы обозначены на Фиг.14 как таблица SPI. На этапе 954 выполняется проверка ТС КК. Если значение КК хранится в запоминающем устройстве приемника, то приемник имеет возможность на этапе 956 дешифровать полезную нагрузку пакета контента, используя хранящееся значение КК. Если приемник не имеет значения КК, хранящегося в запоминающем устройстве, то приемник извлекает BAK_ID и SPI_RAND из SPI_SK на этапе 958. Затем, на этапе 960, приемник проверяет, имеет ли ТС КДШ элемент действительного КДШ, соответствующего BAK_ID. Если ТС КДШ имеет действительный КДШ, соответствующий BAK_ID, тогда приемник выбирает это значение и переходит к этапу 964. Если ТС КДШ не имеет действительного КДШ, соответствующего BAK_ID, тогда (допуская, что пользователь желает подписаться на этот период) приемник выполняет процедуру подписки для получения действительного КДШ, как показано на этапе 962. Новый КДШ сохраняется вместе с BAK_ID в ТС КДШ, и приемник переходит к этапу 964. Затем, на этапе 964, приемник проверяет, имеет ли ТС RAND элемент действительного RAND, соответствующего RAND_ID. Если ТС RAND имеет действительное RAND, соответствующее RAND_ID, тогда приемник выбирает это значение и переходит к этапу 964. Если ТС RAND не имеет действительного RAND, соответствующего RAND_ID, тогда приемник получает RAND и RAND_ID, либо посредством запроса этого значения у СК, либо из широковещательной передачи, как показано на этапе 966. Новое RAND сохраняется вместе с RAND_ID в ТС RAND, и приемник переходит к этапу 968. Приемник объединяет КДШ, соответствующий значению BAK_ID (т.е. BAK_ID в принятом SPI_SK), RAND, соответствующий RAND_ID (т.е. RAND_ID в принятом SPI_SK), и значение SPI_RAND (также содержащееся в принятом SPI_SK) для вычисления нового КК на этапе 968. Затем приемник использует новое значение КК для дешифрования полезной нагрузки пакета контента на этапе 970. Приемник также сохраняет это значение КК, индексированное соответствующим SPI_SK, и, возможно, адрес назначения пакетов IPSec.
RAND изменяется менее часто, чем SPI_RAND. Значение RAND является общим для всех мобильных станций, прослушивающих широковещательную передачу. Таким образом, значение RAND может передаваться широковещательно на все мобильные станции, и не требуется его шифрование персонально для каждого приемника. Таким образом, если имеется достаточное количество мобильных станций, прослушивающих широковещательный поток, в случае радиоинтерфейса является более эффективной широковещательная передача значения RAND несколько раз для всех указанных мобильных станций, а не требование, чтобы каждая мобильная станция отдельно запрашивала значение RAND у СК.
Согласно одному из вариантов осуществления вычисление КК происходит следующим образом:
КК=f(SPI_SK,КДШ,RAND), (15)
причем функция определена как шифрование SPI_SK с использованием КДШ. Поскольку SPI_SK состоит из SPI_RAND, BAK_ID и RAND_ID, уравнение (15) также может быть представлено в виде:
КК=f(SPI_RAND,BAK_ID,RAND_ID,RAND). (16)
Необходимо отметить, что использование значения RAND может привести к появлению некоторых "периодов полного отключения", поскольку приемнику требуется принять значение RAND для замены. Однако эти периоды являются менее частыми, чем при обновлении КК через отдельный поток и ожидании приемником периодических обновлений. RAND предусмотрено для менее частой замены, чем значение КК, и таким образом обновления RAND не передаются так часто. Для СК также может оказаться желательным уменьшение вероятности "полного отключения" в результате прекращения МС прослушивания канала вследствие потери сигнала, настройки на другой канал, или ответа на прерывание, например, телефонный вызов. Полное отключение, наиболее вероятно, происходит в начале периода времени существования в значении RAND. Учитывая это, СК может проводить повторную широковещательную передачу нового RAND более часто в окрестности момента времени, когда новое значение RAND становится действительным. В конце периода времени существования RAND может оказаться необходимым выполнить широковещательную передачу как значения текущего RAND, так и значения последующего RAND. Значения RAND не должны быть предсказуемыми, и СК должен начать передачу RAND только за небольшое время перед тем, как RAND становится действительным.
Как обсуждалось выше, согласно третьему иллюстративному варианту осуществления КК вычисляется на основе КДШ, системного времени и передаваемого широковещательным образом случайного значения, обозначаемого SK_RAND. Фиг.7С иллюстрирует способ обновления ключей для защищенного шифрования в беспроводной системе связи, поддерживающей услугу широковещания. Способ 440 реализует временные периоды как показано на Фиг.7Е. КДШ обновляется периодически через временной интервал Т1. Таймер t1 запускается при генерации каждого КК и истекает через время Т1. Переменная, используемая для вычисления КК, называется SK_RAND и обновляется периодически через временной интервал Т2. Таймер t2 запускается, когда генерируется SK_RAND, и истекает через Т2. В одном из вариантов осуществления КК дополнительно периодически обновляется через временной интервал Т3. Таймер t3 запускается при генерации каждого КК и истекает через время Т3. SK_RAND генерируется в СК и периодически предоставляется в МС. МС и СК используют SK_RAND для генерации КК, как более подробно описывается ниже.
Первый таймер t1 перезапускается при обновлении применяемого значения КДШ. Длина промежутка времени между двумя обновлениями КДШ представляет собой период обновления КДШ. В иллюстративном варианте осуществления период обновления КДШ составляет месяц, однако альтернативные варианты осуществления могут использовать любой временной интервал, требуемый для оптимальной работы системы, или для удовлетворения разнообразных критериев системы.
Далее по Фиг.7С способ 440 запускает таймер t2 на этапе 442, давая начало временному интервалу Т2 SK_RAND. СК генерирует SK_RAND и предоставляет это значение в схему передачи для передачи по системе на этапе 444. Таймер t3 запускается на этапе 446, давая начало временному интервалу Т3 КК. Затем, на этапе 448, СК шифрует КШ, используя текущий КК. Зашифрованный результат представляет собой ШКШ, причем СК предоставляет ШКШ в схему передачи для передачи по системе. Если таймер t2 на этапе 450 уже истек, то процесс возвращается на этап 442. Поскольку t2 не превышает Т2, если таймер t3 уже истек на этапе 452, то обработка возвращается на этап 446, в противном случае обработка возвращается к этапу 450.
Фиг.7D иллюстрирует работу МС, осуществляющей доступ к услуге широковещания. Способ 460 сначала на этапе 462 синхронизирует таймеры t2 и t3 со значениями в СК. МИП в МС принимает SK_RAND, генерируемый в СК на этапе 464. На этапе 466 МИП генерирует КК, используя SK_RAND, КДШ и результат измерения времени. МИП передает КК в ОМС данной МС. Затем МИП дешифрует принятый ШКШ, используя КК для извлечения исходного КШ на этапе 468. Если таймер t2 истекает на этапе 470, то обработка возвращается к этапу 462. Поскольку таймер t2 не превышает Т2, если таймер t3 истекает на этапе 472, то таймер t3 инициализируется на этапе 474, и обработка возвращается к этапу 466.
На Фиг.8С показано управление ключами и их обновление, причем СК применяет функциональное средство 508 для генерации значения SK_RAND, которое представляет собой промежуточное значение, используемое СК и МС для вычисления КК. Более точно, функциональное средство (F) 508 использует значение КДШ, SK_RAND и временной фактор. Хотя вариант осуществления, иллюстрированный на Фиг.8С, использует таймер для определения момента обновления КК, альтернативные варианты осуществления могут использовать альтернативные меры для обеспечения периодических обновлений, например, появление ошибки или другое событие. СК предоставляет значение SK_RAND каждому подписчику, причем функциональное средство (F) 518, постоянно находящееся в каждом МИП, реализует такую же функцию, что и функциональное средство 508 в СК. Функциональное средство 518 выполняет операции с SK_RAND, КДШ и значением таймера, генерируя КК, который сохраняется в памяти ОМС, например, ЗУ1 542 в ОМС1 540.
Как обсуждалось выше, согласно четвертому варианту осуществления, КК шифруется с использованием КДШ для формирования ИКК, и ИКК передается в МС. В одном из иллюстративных вариантов осуществления КК передается в пакете IPSec, зашифрованном с использованием КДШ. СК также может осуществлять широковещательную передачу соответствующего SPI, который может быть использован для идентификации данных, зашифрованных с использованием КК. Указанный вариант осуществления не требует более подробного обсуждения.
В иллюстративных вариантах, представленных выше, СК может выбирать обновление КК по своему усмотрению. Чем более часто меняется КК, тем в большей степени СК может снизить интерес атакующей стороны к распространению значений КК. Существуют моменты времени, когда атакующая сторона решает, что прибыль от распространения значений КК должна быть выше, чем в другие моменты времени. Главным образом это происходит вследствие сущности контента широковещания. Например, если происходит важное событие, неподписавшиеся пользователи будут более заинтересованы в получении новостей по УВСШ и, следовательно, будут готовы платить больше за нелегитимный доступ, чем в другие моменты времени. В эти моменты времени СК может увеличить стоимость и создать большее неудобство атакующей стороне и неподписавшимся пользователям, изменяя КК более часто, чем обычно. Однако СК должен учитывать пределы вычислительной мощности МИП. Если СК изменяет КК слишком часто, тогда МИП будет не в состоянии вычислять значения КК в реальном масштабе времени, и таким образом пользователи не будут иметь возможности дешифровывать контент в реальном масштабе времени.
Специалисты в данной области техники должны понимать, что информация и сигналы могут быть представлены при помощи любой из множества известных технологий и способов. Например, данные, инструкции, команды, информация, сигналы, биты, символы, и чипы (символы псевдошумовой последовательности), которые могли упоминаться в вышеизложенном описании, могут быть представлены напряжениями, токами, электромагнитными волнами, магнитными полями или частицами, оптическими полями или частицами, или любой их комбинацией.
Для специалистов в данной области техники также должно быть понятно, что различные иллюстративные логические блоки, модули, схемы и этапы алгоритмов, описанные в связи с вариантами осуществления изобретения, раскрытыми в настоящем описании, могут быть реализованы как электронное аппаратное обеспечение, компьютерное программное обеспечение или их комбинация. С целью ясной иллюстрации такой взаимозаменяемости аппаратного обеспечения и программного обеспечения различные иллюстративные компоненты, блоки, модули, схемы и этапы были описаны выше в общих терминах, отражающих их функциональность. Будет ли эта функциональность реализована как аппаратное обеспечение или программное обеспечение зависит от конкретного приложения и конструкционных ограничений, налагаемых на всю систему. Специалисты в данной области техники могу реализовать описанную функциональность различными способами в каждом конкретном варианте применения, но такие конструкторские решения не могут рассматриваться как отклонение от объема настоящего изобретения.
Различные иллюстративные логические блоки, модули и схемы, описанные в связи с вариантами осуществления изобретения, раскрытыми в настоящем описании, могут быть реализованы или выполнены при помощи процессора общего назначения, процессора цифровых сигналов (DSP), специализированной интегральной схемы (ASIC), программируемой пользователем матрицы логических элементов (FPGA) или другого программируемого логического устройства, дискретных логических элементов или транзисторной логики, дискретных аппаратных компонентов или любой их комбинации, разработанной для выполнения функций, изложенных в настоящем описании. Процессор общего назначения может представлять собой микропроцессор, но, в качестве альтернативы, процессор может представлять собой любой обычный процессор, контроллер, микроконтроллер или конечный автомат. Процессор также может быть реализован как комбинация вычислительных устройств, например, комбинация DSP и микропроцессора, множество микропроцессоров, один или более микропроцессоров в сочетании с ядром DSP, или любая подобная конфигурация.
Этапы способа или алгоритма, описанные в связи с вариантами осуществления изобретения, раскрытыми в настоящем описании, могут быть осуществлены непосредственно в виде аппаратного обеспечения, в виде программного модуля, выполняемого процессором, или их комбинации. Программный модуль может располагаться в ОЗУ, флэш-памяти, ПЗУ, стираемом программируемом ПЗУ (EPROM), электрически стираемом программируемом ПЗУ (EEPROM), регистрах, на жестком диске, на сменном диске, на CD-ROM, или на любых видах носителей информации, известных в данной области техники. Иллюстративный носитель информации связан с процессором таким образом, что процессор может считывать информацию с носителя информации и записывать информацию на носитель информации. В качестве альтернативы, носитель информации может быть интегрирован в процессор. Процессор и носитель информации могут быть расположены в ASIC. ASIC может быть расположена в пользовательском терминале. В качестве альтернативы, процессор и носитель информации могут быть расположены в пользовательском терминале в виде дискретных компонентов.
Предыдущее описание раскрытых вариантов осуществления изобретения предназначено для предоставления возможности любому специалисту в данной области техники создать или использовать настоящее изобретение. Различные модификации этих вариантов осуществления изобретения будут очевидны для специалистов данной области техники и общие принципы, определенные в настоящем описании, могут быть применены в других вариантах осуществления изобретения без отступления от сущности и объема настоящего изобретения. Таким образом, настоящее изобретение не ограничивается вариантами осуществления, приведенными в настоящем описании, но должно рассматриваться согласно самому широкому объему, совместимому с принципами и новыми признаками, изложенными в настоящем описании.
Изобретение относится к системам обработки данных и, в частности, к способам и устройствам обеспечения криптографической защиты в системе обработки данных. Техническим результатом является создание защищенного и эффективного способа обновления ключей в системе обработки данных, достигаемое тем, что каждому пользователю предоставляется регистрационный ключ. Обновляемый через большие промежутки времени ключ широковещания шифруется с использованием регистрационного ключа и периодически предоставляется пользователю. Ключ с малым временем обновления шифруется с использованием ключа широковещания. Краткосрочный ключ является доступным с каждым широковещательным сообщением, причем информация, достаточная для вычисления краткосрочного ключа, предоставляется в заголовке Интернет-протокола, предшествующем контенту широковещания. Широковещательные сообщения затем шифруются с использованием краткосрочного ключа, причем пользователь дешифрует широковещательное сообщение, используя этот краткосрочный ключ. 4 н. и 20 з.п. ф-лы, 14 ил.
WILLIAN STALLINGS, Cryptography & Network security, Prentice-Hall, New Jersey, 1995 | |||
РУЧКА С РЕЗЕРВУАРОМ ДЛЯ ЧЕРНИЛ | 1922 |
|
SU402A1 |
ИСПОЛЬЗОВАНИЕ ШИФРОВАЛЬНОГО СЕРВЕРА ДЛЯ ШИФРОВАНИЯ СООБЩЕНИЙ | 1997 |
|
RU2147792C1 |
СПОСОБ ЭФИРНОЙ ПЕРЕНАСТРОЙКИ ПО КЛЮЧУ МНОЖЕСТВА ГРУПП СВЯЗИ | 1995 |
|
RU2115249C1 |
US 6044154 А, 28.03,2000 | |||
JP 2001177513 A1, 29.06.2001 | |||
US 5481613 A, 02.01.1996 | |||
US 6073122 A1, 06.06.2000 | |||
US 5956404 A, 21.09.1999 | |||
Рука манипулятора | 1983 |
|
SU1117204A1 |
ЕР 0636963 А1, 01.02.1995. |
Авторы
Даты
2008-09-10—Публикация
2002-10-08—Подача