РОССИЙСКАЯ ФЕДЕРАЦИЯ

ФЕДЕРАЛЬНАЯ СЛУЖБА
ПО ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ,
ПАТЕНТАМ И ТОВАРНЫМ ЗНАКАМ
(19)
RU
(11)
(13)
C2
(51) МПК
(12) ОПИСАНИЕ ИЗОБРЕТЕНИЯ К ПАТЕНТУ
Статус: не действует (последнее изменение статуса: 24.04.2023)
Пошлина: учтена за 15 год с 24.04.2017 по 23.04.2018. Патент перешел в общественное достояние.

(21)(22) Заявка: 2003111977/09, 23.04.2003

(24) Дата начала отсчета срока действия патента:
23.04.2003

(30) Конвенционный приоритет:;
24.04.2002 US 10/132,018

(43) Дата публикации заявки: 10.11.2004 Бюл. № 31

(45) Опубликовано: 27.05.2008 Бюл. № 15

(56) Список документов, цитированных в отчете о поиске: WO 98/39878 А1, 11.09.1998. US 6370250 В1, 09.04.2002. RU 2099779 С1, 20.12.1997. RU 2144695 С1, 20.01.2000. RU 2144269 С1, 10.01.2000. ЕР 1102430 А1, 23.05.2001.

Адрес для переписки:
129010, Москва, ул. Б. Спасская, 25, стр.3, ООО "Юридическая фирма Городисский и Партнеры", пат.пов. Ю.Д.Кузнецову, рег.№ 595

(72) Автор(ы):
УИЛЕР Грэхэм А. (US)

(73) Патентообладатель(и):
МАЙКРОСОФТ КОРПОРЕЙШН (US)

(54) СПОСОБЫ АУТЕНТИФИКАЦИИ ПОТЕНЦИАЛЬНЫХ ЧЛЕНОВ, ПРИГЛАШЕННЫХ ПРИСОЕДИНИТЬСЯ К ГРУППЕ

(57) Реферат:

Изобретение относится у устройствам аутентификации пользователей. Техническим результатом является обеспечение, при установлении доверительных отношений с приглашающим группы и получении от него приглашения присоединиться к группе, развития этих доверительных отношений для аутентификации аутентификатором его с целью присоединения к группе. Приглашающий, уже входящий в состав группы, совместно с приглашаемым используют секретный пароль. Приглашающий использует пароль для создания приглашения, после чего выдает приглашение приглашаемому и аутентификатору. Аутентификатор создает ключ запроса и значение запроса и посылает значение запроса приглашаемому. Используя пароль и информацию из приглашения, приглашаемый воссоздает ключ запроса, использует ключ запроса для вывода значения ответа из значения запроса и посылает значение ответа аутентификатору. Аутентификатор сравнивает значение ответа с ожидаемым значением и, в случае их совпадения, удостоверяется, что приглашаемый наверняка имеет возможность воссоздать ключ запроса. Аутентификатор удостоверяется, что приглашаемый это именно тот, которому приглашающий выдал приглашение, и допускает приглашаемого в группу. 6 н. и 37 з.п. ф-лы, 9 ил.


Область техники

Настоящее изобретение относится, в целом, к компьютерной связи, и в частности к аутентификации потенциальных членов, приглашенных присоединиться к сетевой группе.

Предшествующий уровень техники

В «специально подобранной» группе компьютеров, каждый компьютер непосредственно обращается к другим компьютерам группы и совместно с ними использует вычислительные ресурсы и службы. Группы такого типа обеспечивают коллективную вычислительную мощность всех членов на благо всей группы. Например, большой объем вычислений, для выполнения которого требуются значительные вычислительная мощность и ресурсы, можно распределить между несколькими членами группы, и члены группы могут непосредственно обращаться к результатам вычислений. Кроме того, группы такого типа допускают присоединение к группе новых членов, ранее в ней не состоявших.

Для администрирования и поддержки специально подобранной группы каждый компьютер выполняет одну из трех основных функций, отличающихся уровнем полномочий, определяющих характер взаимодействия заданным способом с другими членами группы. В соответствии с этими тремя основными функциями компьютер выступает как «владелец», «приглашающий» или «аутентификатор». Владелец формирует группу и уполномочен выполнять все действия, предусмотренные в группе, в том числе приглашать в группу нового члена, аутентифицировать нового члена и, таким образом, принимать нового члена в группу, изменять функцию члена и вносить изменения в информацию о группе. Приглашающий имеет те же полномочия, что и владелец, за исключением полномочия изменения информации группы. Аутентификатор может аутентифицировать потенциального нового члена группы, но не уполномочен приглашать нового члена присоединиться к группе.

Безопасность является одним из важнейших вопросов функционирования специально подобранной группы. В порядке обеспечения безопасности группы, новый потенциальный член, пытаясь присоединиться к группе, обменивается подтверждениями аутентификации с аутентификатором группы. Новый член группы повторяет этот процесс аутентификации с каждым членом группы, с которым новый член группы желает напрямую общаться. (Первый член группы может косвенно общаться со вторым членом, в отношении которого он не аутентифицирован, передавая информацию через третьего члена, в отношении которого аутентифицированы первый и второй члены. Такая опосредованная связь всегда возможна, но она не относится к предмету настоящего изобретения и далее рассматриваться не будет). В отличие от групп фиксированного состава в специально подобранной (рабочей) группе новые члены могут запрашивать присоединение к группе в любой момент. Аутентификатор группы практически не в состоянии поддерживать информацию аутентификации для всех потенциальных членов группы.

Еще одна проблема аутентификации в рабочей группе состоит в том, что новый потенциальный член может пожелать общаться с аутентификатором, который не уполномочен пригласить нового члена присоединиться к группе. Например, Алиса желает присоединиться к рабочей группе, чтобы общаться с аутентификатором Бобом. Трент является приглашающим группы. Алиса получает от Трента приглашение присоединиться к группе, но в данный момент хочет, чтобы ее аутентифицировал Боб, потому что желает общаться с ним. Хотя Трент доверяет Алисе (иначе он не пригласил бы ее присоединиться к группе), и хотя Боб доверяет Тренту и доверяет приглашению Трента, данное Алисе, Боб ничего не знает об Алисе и, следовательно, не доверяет ей. Прежде чем позволить Алисе присоединиться к группе, Бобу нужно "перенести" на Алису часть своего доверия к Тренту.

Аутентификатор группы нуждается в механизме безопасного переноса своих доверительных отношений с назначенным приглашающим группы на потенциального члена группы.

Сущность изобретения

Ввиду вышеизложенного, настоящее изобретение предусматривает способы, согласно которым компьютер (приглашаемый), установив доверительные отношения с приглашающим группы и получив от него приглашение присоединиться к группе, развивает эти доверительные отношения, чтобы аутентификатор аутентифицировал его для присоединения к группе.

Приглашающий и приглашаемый совместно пользуются секретным паролем, который не должен быть известен никому более. Приглашающий создает первую пару шифровальных ключей общего/личного пользования посредством определяющей функции, входом (аргументом) которой является совместно используемый секретный пароль. (Эта функция может иметь и другие входы (аргументы), а именно метку времени и идентификаторы приглашающего, приглашаемого и группы.) Затем приглашающий выдает приглашение приглашаемому. Приглашение содержит шифровальный ключ общего пользования из первой пары шифровальных ключей общего/личного пользования, а также другие аргументы определяющей функции, кроме совместно используемого секретного пароля. Используя стандартные криптографические приемы, приглашающий подписывает приглашение с помощью личного шифровального ключа приглашающего (примечание: личный шифровальный ключ приглашающего не имеет отношения к первой паре шифровальных ключей общего/личного пользования, которую приглашающий только что сгенерировал). Приглашение передается как приглашаемому, так и аутентификатору группы.

Чтобы удостовериться, что приглашение выдано приглашающим группы, аутентификатор, которому известны шифровальные ключи общего пользования всех приглашающих группы, проверяет подпись приглашающего. Удостоверившись в правомочности приглашения, аутентентификатор пытается аутентифицировать идентичность приглашаемого. Для этого аутентификатор создает вторую пару шифровальных ключей общего/личного пользования. Применяя общеизвестную теорию Диффи-Хеллмана (ДХ), аутентификатор создает совместно используемый шифровальный ключ запроса из шифровального ключа общего пользования первой пары шифровальных ключей общего/личного пользования и шифровального ключа личного пользования второй пары шифровальных ключей общего/личного пользования. Чтобы проверить, может ли приглашаемый воссоздать этот совместно используемый шифровальный ключ запроса, аутентификатор генерирует значение запроса и ожидаемое значение ответа на запрос. Значение запроса и ожидаемое значение ответа на запрос связаны друг с другом посредством операции, зависящей от реализации, с применением совместно используемого шифровального ключа запроса. Аутентификатор доставляет приглашаемому значение запроса совместно со вторым шифровальным ключом общего пользования.

Получив запрос, приглашаемый воспроизводит процедуру, выполненную приглашающим. Используя содержимое приглашения и зная секретный пароль, которым он пользуется совместно с приглашающим, приглашаемый воссоздает первый личный шифровальный ключ, созданный приглашающим. Затем, применяя теорию ДХ, приглашаемый воссоздает совместно используемый шифровальный ключ запроса из воссозданного шифровального ключа личного пользования первой пары шифровальных ключей общего/личного пользования и шифровального ключа общего пользования второй пары шифровальных ключей общего/личного пользования. Воссоздав совместно используемый шифровальный ключ запроса, приглашаемый использует совместно используемый шифровальный ключ запроса для осуществления операции, зависящей от реализации, над полученным значением запроса. Результат операции приглашаемый направляет аутентификатору в качестве значения ответа на запрос.

Аутентификатор сравнивает значение ответа на запрос, полученное от приглашаемого, с имеющимся у него ожидаемым значением ответа на запрос. Если они совпадают, то аутентификатор убеждается в том, что это именно тот приглашаемый, которому приглашающий выдал приглашение. Совместно используемый секретный пароль никому более не известен, поэтому никто более не может правильно воссоздать совместно используемый шифровальный ключ запроса и осуществить операцию, необходимую для вывода значения ответа на запрос из значения запроса. Затем аутентификатор принимает приглашаемого в группу.

Таким образом, доверительные отношения между приглашающим и приглашаемым, представленные их совместно используемым секретным паролем, становятся основой для установления доверительных отношений между приглашаемым и аутентификатором. В необязательном порядке аутентификатор аутентифицирует самого себя для приглашаемого, тем самым завершая процесс взаимной аутентификации.

Приглашаемый, став членом группы, может повторно использовать приглашение, чтобы аутентифицировать себя перед другими членами группы. (Приглашающий может ограничить возможность использования приглашения, пометив его как подлежащее однократному применению или установив предельный срок его применения.)

Краткое описание чертежей

Хотя признаки настоящего изобретения подробно изложены в прилагаемой формуле изобретения, чтобы лучше разобраться в изобретении, а также понять его задачи и преимущества, следует обратиться к нижеследующему подробному описанию, приведенному в сочетании с прилагаемыми чертежами, на которых:

фиг.1 - схема, иллюстрирующая рабочую группу, содержащую приглашающего и пару аутентификаторов, и приглашаемого и перехватчика вне группы;

фиг.2 - общая схема, иллюстрирующая компьютерную систему, позволяющую реализовать настоящее изобретение;

фиг.3а и 3b - схема последовательности действий, демонстрирующая передачу сообщений и операции, осуществляемые при принятии приглашаемого в рабочую группу, согласно одному аспекту настоящего изобретения;

фиг.4 - логическая блок-схема, иллюстрирующая способ выдачи приглашения приглашающим;

фиг.5 - схема структуры данных, демонстрирующая содержимое иллюстративного приглашения согласно одному аспекту настоящего изобретения;

фиг.6 - логическая блок-схема, иллюстрирующая способ проверки приглашения и выдачи вызова приглашаемому, осуществляемый аутентификатором;

фиг.7 - схема структуры данных, демонстрирующая содержимое иллюстративного вызова согласно одному аспекту настоящего изобретения; и

фиг.8 - логическая блок-схема, иллюстрирующая способ, согласно которому приглашаемый отвечает на вызов.

Подробное описание изобретения

На чертежах, где аналогичные элементы обозначены подобными позициями, проиллюстрирована реализация настоящего изобретения в подходящей вычислительной среде. Нижеследующее описание базируется на вариантах осуществления изобретения и не призвано ограничивать изобретение в отношении альтернативных вариантов осуществления, которые не описаны здесь в явном виде.

Нижеследующее описание настоящего изобретения приведено со ссылками на действия и символические представления операций, осуществляемые одним или несколькими вычислительными устройствами, если не указано обратное. Очевидно, что такие действия и операции, которые иногда называют исполняемыми компьютером, включают в себя обработку процессором вычислительного устройства электрических сигналов, представляющих данные в структурированном виде. Эта обработка обеспечивает преобразование данных или поддержание их в ячейках памяти вычислительного устройства, в результате чего происходит переконфигурирование или иное изменение работы устройства в соответствии со способом, известным специалистам в данной области. Структуры данных, где поддерживаются данные, представляют собой физические ячейки памяти, которые обладают теми или иными свойствами, в зависимости от формата данных. Однако, хотя изобретение описано в вышеозначенном контексте, оно, как очевидно специалистам в данной области, не предполагает, что различные описанные ниже действия и операции нельзя также реализовать аппаратными средствами.

Настоящее изобретение предусматривает способ аутентификации потенциальных членов, приглашенных присоединиться к рабочей группе вычислительных устройств. Согласно фиг.1, в число действительных членов рабочей группы 100 входят приглашающий 102 и аутентификаторы 104. Приглашающий 102 поддерживает связь с устройством, в данный момент не входящим в рабочую группу 100, а именно с вычислительным устройством 106 (приглашаемым). Приглашающий 102 и приглашаемый 106 находятся в доверительных отношениях друг с другом, что выражает секретный пароль, который они совместно используют. На основании этих доверительных отношений приглашающий 102 приглашает приглашаемого 106 присоединиться к группе 100. Однако, приглашаемый 106 желает присоединиться к группе 100 не для осуществления связи с приглашающим 102, а для связи с одним из аутентификаторов 104. Хотя аутентификатор 104 может аутентифицировать приглашаемого 106, поскольку приглашаемый 106 был приглашен присоединиться к группе 100, аутентификатор 104 не уполномочен пригласить приглашаемого 106 к присоединению. Аутентификатор 104 не имеет причины доверять приглашаемому. Настоящее изобретение предусматривает способ, в соответствии с которым доверие приглашающего 102 к приглашаемому 106 передается аутентификатору 104. В этом случае, доверяя приглашаемому 106, аутентификатор 104 допускает его в группу 100.

Злонамеренные перехватчики (устройства или операторы) нередко подключаются к каналам связи рабочих групп. Особенно подвержены перехвату группы, использующие технологии беспроводной связи. Перехватив информацию, передаваемую в процессе аутентификации приглашаемого 106, перехватчик 108 может воспользоваться этой информацией для получения допуска в рабочую группу 100. Способы, отвечающие настоящему изобретению, призваны обеспечивать защиту группы 100 даже в случае, когда вся информация аутентификации (единственно, за исключением секретного пароля, совместно используемого приглашающим 102 и приглашаемым 106) становится известна перехватчику 108. Способы также позволяют обеспечить защиту секретного пароля, поскольку аутентификатору 104 не требуется знать этот пароль.

Приглашающий 102, аутентификаторы 104 и приглашаемый 106, изображенные на фиг.1, могут иметь любую архитектуру. На фиг.2 представлена блок-схема, иллюстрирующая в общих чертах иллюстративную компьютерную систему, в которой можно реализовать настоящее изобретение. Компьютерная система, изображенная на фиг.2, является всего лишь примером подходящей среды и не предусматривает какого-либо ограничения объема использования или функций изобретения. Кроме того, вычислительное устройство 102 также не следует рассматривать как имеющую какую-нибудь зависимость или требование относительно любого компонента, изображенного на фиг.2, или их комбинации. Изобретение применимо к многочисленным вычислительным средам и конфигурациям общего и специального назначения. Примеры общеизвестных вычислительных системы, сред и/или конфигураций, в которых можно применять изобретение, включают в себя, но не только, персональные компьютеры, серверы, карманные или переносные устройства, многопроцессорные системы, системы на основе микропроцессора, приставки, программируемую бытовую электронику, сетевые ПК, миникомпьютеры, универсальные компьютеры и распределенные вычислительные среды, которые могут включать в себя любые из вышеперечисленных систем или устройств. В своей основной, базовой конфигурации, вычислительное устройство 102 обычно содержит по меньшей мере один процессор 200 и память 202. Память 202 может быть энергозависимой (например, ОЗУ) и энергонезависимой (например, ПЗУ или флэш-память) или представлять собой некоторую их комбинацию. Эта базовая конфигурация изображена на фиг.2 ограниченной пунктирной линией 204. Вычислительное устройство 102 может иметь дополнительные особенности и функции. Например, вычислительное устройство 102 может содержать дополнительное запоминающее устройство (сменное или стационарное), в том числе, но не только, магнитные и оптические диски и ленту. Это дополнительное запоминающее устройство показано на фиг.2 в виде сменного запоминающего устройства 206 и стационарного запоминающего устройства 208. Среды хранения компьютерных данных включают в себя энергозависимые и энергонезависимые, сменные и стационарные носители, предусматривающие самые разнообразные методы или технологии хранения информации, а именно компьютерно-считываемых команд, структур данных, программных модулей или иных данных. Память 202, сменное запоминающее устройство 206 и стационарное запоминающее устройство 208 являются примерами сред хранения компьютерных данных. Среды хранения компьютерных данных включают в себя, но не только, ОЗУ, ПЗУ, ЭППЗУ, флэш-память, другие средства памяти, CD-ROM, цифровые универсальные диски, другие оптические запоминающие устройства, магнитные кассеты, магнитную ленту, запоминающее устройство на основе магнитного диска, другие магнитные запоминающие устройства и любые другие среды, которые можно использовать для хранения необходимой информации, и к которым устройство 102 может осуществлять доступ. В состав устройства 102 могут входить любые подобные среды хранения компьютерной информации. Устройство 102 может также содержать каналы связи 210, позволяющие устройству связываться с другими устройствами. Каналы связи 210 являются примерами сред связи. Среды связи обычно осуществляют перенос компьютерно-исполняемых команд, структур данных, программных модулей или других данных посредством сигнала, модулированного данными, например, несущей волны или другого транспортного механизма, и включают в себя любые среды доставки информации. Термин «сигнал, модулированный данными» означает сигнал, в котором кодируют информацию, задавая или изменяя одну или несколько его характеристик. Для примера, но не в порядке ограничения, среды связи включают в себя проводные среды, например проводные сети и прямые проводные соединения, а также беспроводные среды, например акустические, РЧ, инфракрасные и другие беспроводные среды. Используемый здесь термин «компьютерно-считываемые среды» включает в себя как среды хранения, так и среды связи. Вычислительное устройство 102 может также содержать устройства ввода 212, например, клавиатуру, мышь, световое перо, устройство голосового ввода, устройство тактильного ввода и т.д. Оно также может содержать устройства вывода 214, например, дисплей, громкоговорители и принтер. Все эти устройства общеизвестны и не будут подробно рассматриваться.

На фиг.3а и 3b показаны передачи сообщений и операции, осуществляемые приглашающим 102, приглашаемым 106 и аутентификатором 104 в процессе аутентификации приглашаемого 106, согласно одному аспекту настоящего изобретения. На рассматриваемых двух чертежах представлен общий вид одного варианта осуществления изобретения. Дополнительные детали представлены ниже со ссылками на фиг.4-8. На фиг.3а и 3b ось времени направлена вниз и переходит от фигуры к фигуре.

Этот вариант осуществления настоящего изобретения начинается на этапе 300 с того, что приглашающий 102 и приглашаемый 106 совместно используют секретный пароль, который не должен быть известен никому другому. Как именно осуществляется совместное использование пароля лежит за пределами объема изобретения, мы же обратимся к проблеме безопасности использования этого пароля. Если перехватчику 108 станет известен совместно используемый секретный пароль, то безопасность рабочей группы 100 будет нарушена.

На этапе 302 приглашающий 102 создает приглашение для приглашаемого 106. Приглашающий 102 создает первую пару шифровальных ключей общего/личного пользования с использованием определяющей функции, аргументом (входным значением) которой является совместно используемый секретный пароль. Чтобы гарантировать своевременное использование приглашения, причем только надлежащими сторонами, можно использовать и другие аргументы (входные значения) определяющей функции, например, метку времени и идентификаторы приглашающего 102, приглашаемого 106 и рабочей группы 100. Затем приглашающий 102 создает приглашение, содержащее общий шифровальный ключ из первой пары шифровальных ключей общего/личного пользования, а также другие аргументы определяющей функции за исключением совместно используемого секретного пароля. Пользуясь стандартными криптографическими приемами, приглашающий 102 подписывает приглашение с помощью личного шифровального ключа приглашающего 102. (Примечание: личный (частный) шифровальный ключ приглашающего 102 не имеет отношения к первой паре шифровальных ключей общего/личного пользования, которую приглашающий 102 только что сгенерировал.) На этапе 304 приглашающий 102 передает приглашение как приглашаемому 106, так и аутентификатору 104.

На этапе 306 аутентификатор 104 пытается подтвердить, что приглашение выдано членом рабочей группы 100. Аутентификатор 104, зная шифровальные ключи общего пользования всех приглашающих группы 100, проверяет подпись приглашающего 102, содержащуюся в приглашении. Убедившись в правомочности приглашения, аутентентификатор 104 пытается аутентифицировать идентичность приглашаемого 106. Для этого аутентификатор 104 на этапе 308 создает вторую пару шифровальных ключей общего/личного пользования. Применяя общеизвестную теорию Диффи-Хеллмана (ДХ), аутентификатор 104 создает совместно используемый шифровальный ключ запроса из общего (открытого) шифровального ключа первой пары шифровальных ключей общего/личного пользования и личного шифровального ключа второй пары шифровальных ключей общего/личного пользования. Чтобы проверить, может ли приглашаемый 106 воссоздать этот совместно используемый шифровальный ключ запроса, аутентификатор 104 генерирует значение запроса и ожидаемое значение ответа на запрос.Значение запроса и ожидаемое значение ответа на запрос связаны друг с другом посредством операции, зависящей от реализации, с применением совместно используемого шифровального ключа запроса. Некоторые примеры этой операции рассмотрены ниже со ссылкой на фиг.6. На этапе 310, аутентификатор 104 доставляет приглашаемому 106 значение запроса совместно со вторым шифровальным ключом общего пользования (открытым ключом).

Получив запрос, приглашаемый 106 на этапе 312 воспроизводит процедуру, выполненную приглашающим 102 на этапе 302. Используя содержимое приглашения и зная секретный пароль, которым он пользуется совместно с приглашающим 102, приглашаемый 106 воссоздает первый шифровальный ключ личного пользования (частный ключ), созданный приглашающим 102. Затем, применяя теорию ДХ, приглашаемый 106 воссоздает совместно используемый шифровальный ключ запроса из воссозданного личного шифровального ключа первой пары шифровальных ключей общего/личного пользования и общего шифровального ключа второй пары шифровальных ключей общего/личного пользования. Воссоздав совместно используемый шифровальный ключ запроса, приглашаемый 106 использует совместно используемый шифровальный ключ запроса для осуществления операции, зависящей от реализации, над полученным значением запроса. На этапе 314 приглашаемый 106 направляет аутентификатору 104 результат операции в качестве значения ответа на запрос.

На этапе 316 аутентификатор 104 сравнивает значение ответа на запрос, полученное от приглашаемого 106, с ожидаемым значением ответа на запрос, сгенерированным аутентификатором 104 на этапе 308. Если они совпадают, то аутентификатор 104 убеждается в том, что это именно тот приглашаемый 106, которому приглашающий 102 выдал приглашение. Совместно используемый секретный пароль никому более не известен, поэтому никто более не может правильно воссоздать совместно используемый шифровальный ключ запроса и осуществить операцию, необходимую для извлечения значения ответа на запрос из значения запроса. Затем аутентификатор 104 принимает приглашаемого 106 в рабочую группу 100.

В качестве необязательного варианта аутентификатор 104 аутентифицирует самого себя по отношению к приглашаемому 106, тем самым завершая процесс взаимной аутентификации. Способ, представленный на фиг.3а и 3b, можно повторить, когда приглашаемый 106 пожелает аутентифицировать себя по отношению к другому аутентификатору 104 (если только не предусмотрено однократное использование приглашения или не истек срок его действия).

Операции, иллюстрируемые на фиг.4, более подробно иллюстрируют действия приглашающего 102 по созданию приглашения. На этапе 300, указанном на фиг.3а, приглашающий 102 и приглашаемый 106 совместно используют секретный пароль. На этапах 400-404, указанных на фиг.4, приглашающий 102 создает первую пару шифровальных ключей общего/личного пользования из совместно используемого секретного пароля. В частности, на этапе 400 приглашающий 102 передает совместно используемый секретный пароль определяющей функции f() в качестве аргумента (входного значения). В качестве функции f() можно использовать разнообразные функции, возвращающие большие значения, которые редко, если вообще когда-либо, совпадают для двух разных значений аргумента. Одной из возможных функций f(), удовлетворяющих этим двум критериям, является криптографическая хэш-функция.

Помимо совместно используемого секретного пароля, определяющая функция f() может иметь и другие аргументы (входные значения). Эти дополнительные аргументы позволяют получателям приглашения выяснить (1), надлежащей ли стороне выдано приглашение (информация «специфичности») и (2), не истек ли срок правомочности приглашения (информация «живучести»). Для решения задачи (1) в качестве аргументов можно использовать идентификаторы рабочей группы 100, приглашающего 102 и приглашаемого 106. Информация живучести обычно представляет собой метку времени, указывающую, когда было выдано приглашение, или период, в течение которого приглашение имеет силу (наподобие «использовать до...»).

В любом случае, значение, возвращаемое определяющей функцией f(), используется на этапе 402 для создания первого личного шифровального ключа. Согласно одному варианту осуществления используется следующее уравнение:

где

PrivateKey1 - первый личный шифровальный ключ,

f() - определяющая функция,

s - секретный пароль, совместно используемый приглашающим 102 и приглашаемым 106,

... - необязательные аргументы живучести и специфичности функции f() и

р - большое простое число (из соображений безопасности, предпочтительно 512 бит или более).

Затем на этапе 404 приглашающий 102 генерирует первый общий (открытый) шифровальный ключ, связанный с первым личным (частным) шифровальным ключом. Согласно одному варианту осуществления используется следующее общеизвестное уравнение:

где

PublicKey1 - первый общий шифровальный ключ, соответствующий первому личному шифровальному ключу PrivateKey1, и

g - генератор (порождающая функция) для большого простого числа р (т.е. для любого натурального числа х, меньшего р, существует такое число y, что gy по модулю p=x).

На этапе 406 приглашающий 102 формирует приглашение, включая в него первый общий шифровальный ключ и некоторую информацию, используемую для его создания. На фиг.5 представлено иллюстративное приглашение 500. Помимо поля 502 первого общего шифровального ключа, приглашение 500 содержит информацию специфичности, т.е. информацию о том, для кого предназначено приглашение. В данном случае приглашающий, идентифицируемый в поле 506, приглашает приглашаемого, идентифицируемого в поле 508, присоединиться к группе, идентифицируемой в поле 504. Чтобы гарантировать, что приглашение 500 можно использовать только когда оно новое, в приглашение 500 включают информацию живучести, в данном случае метку времени 510, указывающую время выдачи приглашения 500. Определяющая функция f() включена в поле 512. Заметим, что в иллюстративном приглашении 500 при создании первого личного шифровального ключа с помощью функции f(), аргументы (входные значения) функции f() включают в себя информацию специфичности (поля 504-508), информацию живучести (поле 510) и совместно используемый секретный пароль. Последний не входит в состав приглашения 500.

Прежде чем выдать приглашение 500, приглашающий 102 совершает еще одно действие. На этапе 408 приглашающий 102, применяя стандартные криптографические приемы, подписывает приглашение 500. Для этого, приглашающий 102 берет часть или всю информацию, содержащуюся в приглашении 500, обычно хэширует ее, после чего шифрует результат с помощью своего собственного личного шифровального ключа приглашающего 102. Зашифрованный результат представляет собой подпись, которую помещают в поле 514 приглашения. Личный шифровальный ключ приглашающего 102 никому более не известен. Заметим, что личный шифровальный ключ приглашающего 102 не имеет отношения к первой паре шифровальных ключей общего/личного пользования, генерированной на этапах 400-404.

На этапе 304 приглашающий 102 публикует приглашение 500, обеспечивая доступ к содержащейся в нем информации как приглашаемому 106, так и аутентификатору 104. Следует отметить, что не требуется, чтобы приглашение 500 имело вид дискретного сообщения. Информацию, содержащуюся в приглашении, можно публиковать многочисленными способами, например передавая сообщение, закладывая его в известную доступную ячейку памяти или заранее принимая соглашение о части информации. Последний случай можно проиллюстрировать на примере определяющей функции f() со связанными с ней простым числом и генератором, которые могут входить в состав общеизвестных стандартов рабочей группы 100 и, следовательно, не подлежат отдельной публикации. Заметим, что независимо от выбора того или иного средства публикации предполагается, что информация, содержащаяся в приглашении 500, доступна перехватчику 108. Способы, отвечающие настоящему изобретению, более подробно описанные ниже, призваны воспрепятствовать перехватчику 108 в использовании этой информации для получения допуска в группу 100 и, стало быть, нарушению ее безопасности.

Последовательность операций, изображенная на фиг.6, более подробно иллюстрирует действия аутентификатора 104 по выдаче запроса аутентификации в ответ на приглашение 500. Тем или иным способом аутентификатор 104 ознакомляется с приглашением 500: возможно, приглашаемый 106 или приглашающий 102 посылает приглашение 500 аутентификатору 104, или аутентификатор 104 проверяет доступную ячейку памяти, в которой, по договоренности, помещают приглашения. В любом случае аутентификатор 104, на этапе 306, проверяет приглашение 500. Эта проверка состоит из двух частей. Сначала аутентификатор 104 проверяет информацию специфичности и живучести, если таковая присутствует, содержащуюся в приглашении. В иллюстративном приглашении 500 аутентификатор 104 проверяет поле 504, чтобы убедиться, что приглашение 500 предъявлено для входа в надлежащую рабочую группу 100. Поле 506 должно содержать идентификатор приглашающего 102, про которого аутентификатору 104 известно, что тот уполномочен приглашать новых членов присоединяться к группе 100. Приглашение 500 должно быть предъявлено аутентификатору 104 приглашаемым 106, идентифицированным в поле 508. Наконец, аутентификатор 104 проверяет метку времени 510, чтобы определить правомочность приглашения 500 на данный момент.Если какое-либо из этих условий не удовлетворяется, аутентификатор 104 отменяет приглашение 500 и более не производит с ним никаких действий.

Осуществляя вторую часть проверки приглашения 500, аутентификатор 104 применяет стандартные криптографические приемы для проверки подписи 514. В частности, аутентификатор 104, которому известен общий шифровальный ключ каждого приглашающего рабочей группы 100, дешифрует подпись 514 с помощью общего (открытого) шифровального ключа приглашающего 102 (идентифицированного в поле 506 приглашения 500). (Заметим, опять же, что общий шифровальный ключ приглашающего 102 не имеет отношения к общему шифровальному ключу, содержащемуся в поле 502 приглашения 500.) Если подпись была непосредственно сформирована из другой информации приглашения 500, то аутентификатор 104 сравнивает расшифрованную подпись с этой информацией, содержащейся в полях приглашения 500. Если, что более вероятно, подпись 514 была сформирована путем хэширования информации приглашения 500, то аутентификатор 104 воссоздает результат хэширования из информации приглашения 500 и сравнивает полученный результат хэширования с расшифрованной подписью. В любом случае совпадение результатов позволяет аутентификатору 104 удостовериться, что приглашение 500 действительно было выдано приглашающим 102, идентифицированным в поле 506. Это следует из того, что никто кроме приглашающего 102 не знает личного шифровального ключа, соответствующего общему шифровальному ключу приглашающего 102, и поэтому никто не может создать подпись 514, которая выдержала бы проверку путем расшифровки с помощью общего шифровального ключа приглашающего 102. Если подпись 514 не выдерживает проверки, то аутентификатор 104 отменяет приглашение 500 и более не производит с ним никаких действий.

Удостоверившись в правомочности приглашения 500, аутентификатор 104 приступает на этапах 600-608, указанных на фиг.6, к проверке идентичности приглашаемого 106, иными словами, определяет, действительно ли сторона, называющая себя приглашаемым 106, является именно той стороной, которой приглашающий 102 выдал данное приглашение 500. Аутентификатор 104 начинает с этапа 600, создавая случайным образом второй личный шифровальный ключ. Соответствующий второй общий шифровальный ключ можно вывести с помощью общеизвестного уравнения:

PublicKey2=gPrivateKey2 modulo p,

где

PrivateKey2 - случайным образом сгенерированный второй личный шифровальный ключ,

PublicKey2 - второй общий шифровальный ключ, соответствующий второму личному шифровальному ключу PrivateKey2,

р - то же самое большое простое число, которое приглашающий 102 использует в вышеприведенном уравнении 1, и

g - тот же самый генератор (порождающая функция) для большого простого числа р, который приглашающий 102 использует в вышеприведенном уравнении 2.

На этапе 602 аутентификатор 104 применяет теорию ДХ к первому общему шифровальному ключу (включенному в приглашение 500 в качестве поля 502) и ко второму личному шифровальному ключу, сгенерированному на этапе 600, чтобы создать совместно используемый шифровальный ключ запроса. Уравнение таково:

где

ChallengeKey - совместно используемый шифровальный ключ запроса,

PublicKey1 - первый общий шифровальный ключ из поля 502 приглашения 500,

PrivateKey2 - второй личный шифровальный ключ, случайным образом генерированный на этапе 600, указанном на фиг.6, и

р - то же самое большое простое число, которое приглашающий 102 использует в вышеприведенном уравнении 1.

Затем аутентификатор 104 переходит к генерации значения запроса и ожидаемого значения ответа на запрос. Значение запроса и ожидаемое значение ответа на запрос связаны друг с другом операцией, зависящей от реализации, с применением совместно используемого шифровального ключа запроса. Таким образом, чтобы вывести ожидаемое значение запроса из значения запроса, устройству также должен быть известен совместно используемый шифровальный ключ запроса. Можно применять несколько разных операций. Согласно первому варианту осуществления, представленному на фиг.6, аутентификатор 104 на этапе 604 генерирует случайное число и присваивает его ожидаемому значению ответа на запрос. Необязательно, аутентификатор 104 логически комбинирует (например, с использованием функции побитового исключающего ИЛИ) случайное число с информацией специфичности, например, хэшем идентификаторов рабочей группы 100, аутентификатора 104 и приглашающего 106. Затем, на этапе 606, аутентификатор 104 создает значение запроса, шифруя случайное число, логически скомбинированное с информацией специфичности, выбранной аутентификатором 104, с использованием совместно используемого шифровального ключа запроса, сгенерированного на этапе 602, и шифра. Получив запрос, законный приглашаемый 106 воссоздает совместно используемый шифровальный ключ запроса, может использовать этот ключ для дешифрации значения запроса и возврата расшифрованного значения аутентификатору 104 (удалив информацию специфичности, если таковая имеется). (См. подробности в описании фиг.8.) Аутентификатор 104, обнаружив, что расшифрованное значение, полученное от приглашаемого 106, совпадает с его собственным ожидаемым значением ответа на запрос, допускает приглашаемого 106 в рабочую группу 100 (этап 316 фиг.3b).

Согласно второму варианту осуществления операции связывания запроса/ответа, где значение запроса представляет собой случайное число, генерируемое аутентификатором 104 на этапе 604, в необязательном порядке, скомбинированное с информацией специфичности. В этом случае, ожидаемое значение ответа на запрос представляет собой это значение запроса, зашифрованное с помощью совместно используемого шифровального ключа запроса. Как и в первом варианте осуществления, правильно вывести ожидаемое значение ответа на запрос из значения запроса способно только устройство, которое может воссоздать совместно используемый шифровальный ключ запроса.

На дополнительном этапе, который, необязательно, может быть объединен с любой операцией связывания запроса/ответа, приглашаемый 106, осуществив операцию над значением запроса, хэширует результат прежде, чем направить его в виде ответа на запрос аутентификатору 104. Конечно, ожидаемое аутентификатором 104 значение ответа на запрос, в этом случае, представляет собой значение хэширования того, что было бы в противном случае.

На этапе 608 аутентификатор 104 упаковывает разнообразную информацию, касающуюся запроса, чтобы создать запрос наподобие иллюстративного запроса 700, представленного на фиг.7. Запрос 700 содержит значение запроса, размещенное в поле 702, и информацию специфичности, размещенную в полях 704 (идентификатор рабочей группы 100), 706 (идентификатор аутентификатора 104) и 708 (идентификатор приглашаемого 106). Эту информацию специфичности приглашаемый 106 может использовать для проверки правомочности запроса 700 (см. описание соответствующих этапов 800 и 808, представленных на фиг.8). Второй общий шифровальный ключ, генерируемый на этапе 600, включен в поле 710, а шифр, используемый при шифровании на этапе 606, размещен в поле 712. (Возможны варианты осуществления, в которых, в отличие от показанного на фиг.6, поле 712 шифра не требуется.)

На этапе 310, аутентификатор 104 публикует запрос 700, чтобы приглашаемый 106 мог иметь доступ к нему. Заметим, что согласно рассмотренному выше в отношении приглашения 500 этот запрос 700 является логической записью и не нуждается в публикации в виде, показанном на фиг.7.

Последовательность операций, изображенная на фиг.8, более подробно иллюстрирует действия приглашаемого 106 по формированию ответа на запрос 700. Приглашаемый 106 на этапе 800 необязательно имеет возможность проверить правомочность запроса. Если к запросу 700 присоединена информация специфичности (поля 704-708), то приглашаемый 106 проверяет правильность этой информации и игнорирует запрос 700, если что-нибудь неправильно. Это важно для предотвращения нападений «посредника», при которых злонамеренное устройство перехватывает запрос 700, изменяет некоторые его поля и затем посылает приглашаемому 106 измененный запрос.

Убедившись в правильности вызова 700, приглашаемый 106 переходит к этапу 802, чтобы воссоздать первый личный шифровальный ключ. Он первоначально был создан приглашающим 102 на этапах 400 и 402, указанных на фиг.4. Для создания первого личного шифровального ключа применяют определяющую функцию f() согласно вышеприведенному уравнению 1. В качестве аргументов (входных значений) функции f() используют секретный пароль, совместно используемый приглашающим 102 и приглашаемым 106, а также могут использовать информацию специфичности (например, поля 504-508 приглашения 500) и информацию живучести (например, поле 510 приглашения 500). Приглашаемый 106 может применять уравнение 1, потому что (1) приглашаемому 106 известен совместно используемый секретный пароль, (2) из приглашения 500 можно извлечь информацию специфичности и живучести, если таковая используется, (3) функцию f() можно извлечь из приглашения 500, или она общеизвестна, и (4) большое простое число р общеизвестно. Заметим, что вся эта информация также доступна перехватчику 108, за исключением совместно используемого секретного пароля. Именно этот секретный пароль не позволяет никому, кроме приглашаемого 106 (точнее, кроме приглашаемого 106 и приглашающего 102) правильно ответить на запрос 700.

На этапе 804, приглашаемый 106 использует только что воссозданный первый личный шифровальный ключ для воссоздания совместно используемого шифровального ключа запроса, первоначально созданного аутентификатором 104 на этапе 602, указанном на фиг.6. Согласно теории ДХ совместно используемые шифровальные ключи подчиняются следующему уравнению:

где

ChallengeKey - совместно используемый шифровальный ключ запроса,

PublicKey1 - первый общий шифровальный ключ из поля 502 приглашения 500,

PrivateKey2 - второй личный шифровальный ключ, случайным образом сгенерированный аутентификатором 104 на этапе 600, указанном на фиг.6,

р - то же самое большое простое число, которое приглашающий 102 использовал в вышеприведенном уравнении 1,

PublicKey2 - второй общий шифровальный ключ из поля 710 запроса 700 и

PrivateKey1 - первый личный шифровальный ключ, воссозданный приглашаемым 106 на этапе 802, указанном на фиг.8.

Уравнение 4 обеспечивает два способа создания совместно используемого шифровального ключа запроса. Первый способ идентичен вышеприведенному уравнению 3 и является способом, используемым аутентификатором 104 для создания совместно используемого шифровального ключа запроса на этапе 602, представленном на фиг.6. Однако, приглашаемый 106 не может использовать этот способ, поскольку не имеет доступа ко второму личному шифровальному ключу и не может воссоздать его. Приглашаемый 106 располагает всей информацией, необходимой для применения второго способа, обеспечиваемого уравнением 4. Он делает это и, таким образом, воссоздает совместно используемый шифровальный ключ запроса.

Приглашаемый 106, на этапах 806 и 808, используя воссозданный совместно используемый шифровальный ключ запроса, применяет операцию связывания запроса/ответа, соответствующую данной реализации. Согласно варианту осуществления, представленному на фиг.8 (который можно применять совместно с вариантом осуществления аутентификатора 104, изображенным на фиг.6), приглашаемый 106 дешифрует значение запроса, содержащееся в поле 702 запроса 700, с использованием воссозданного совместно используемого шифровального ключа запроса и шифра, содержащегося в поле 712 запроса 700. Если аутентификатор 104 логически комбинирует информацию специфичности со случайным значением ответа на запрос на этапе 604, представленном на фиг.6, то приглашаемый 106 удаляет эту информацию специфичности на этапе 808. Заметим, что это второй аспект использования информации специфичности для предотвращения нападений посредников. Если злонамеренное устройство изменит значения в полях специфичности, то, удалив измененную информацию специфичности на этапе 808, приглашаемый 106 создаст неверное значение ответа на запрос. Таким образом, можно препятствовать приему приглашаемого 106 в рабочую группу 100 на основании измененного запроса 700. Если же запрос 700 не подвергся изменению, то на этапе 808 генерируется то же исходное значение, которое аутентификатор 104 случайным образом сгенерировал на этапе 604.

Согласно второму варианту осуществления операции связывания запроса/ответа, приглашающий 106 необязательно добавляет информацию специфичности к полученному значению запроса и шифрует результат с помощью воссозданного шифровального ключа ответа на запрос и шифра.

Согласно вышесказанному, после применения операции связывания запроса/ответа приглашаемый 106 может хэшировать результат прежде, чем отправить его в виде ответа на запрос аутентификатору 104. Конкретно используемая операция связывания запроса/ответа и опции, дополняющие ее использование, заранее известны аутентификатору 104 и приглашаемому 106, наиболее вероятно, в качестве вариантов реализации.

Конечные этапы рассмотрены выше со ссылкой на фиг.3b. На этапе 314 приглашаемый 106 посылает аутентификатору 104 значение ответа на запрос (и, согласно вышеупомянутому второму варианту осуществления, шифр, используемый при шифровании значения ответа на запрос). На этапе 316 аутентификатор 104 сравнивает значение запроса, возвращенное приглашаемым 106, со значением, которого он ожидает. Их совпадение позволяет аутентификатору 104 удостовериться в том, что приглашаемый 106 - это именно тот, кому приглашающий 102 выдал приглашение 500. В этом случае аутентификатор 104 принимает приглашаемого 106 в рабочую группу 100. При необходимости на этапе 318 аутентификатор 104 использует известные методы, чтобы аутентифицировать самого себя в отношении приглашаемого 106.

Хотя перехватчик 108 может иметь доступ к приглашению 500 и к запросу 700, ему не известен секретный пароль, совместно используемый приглашающим 102 и приглашаемым 106. Поэтому перехватчик 108 не может правильно воссоздать совместно используемый шифровальный ключ запроса и не может правильно ответить на запрос 700.

Ввиду большого количества возможных вариантов осуществления принципов настоящего изобретения, следует понимать, что варианты осуществления, описанные здесь со ссылкой на чертежи, служат исключительно иллюстративным целям и не призваны ограничивать объем изобретения. Например, специалистам в данной области очевидно, что проиллюстрированные варианты осуществления можно модифицировать в отношении компоновки и деталей, не отклоняясь от сущности изобретения. Хотя изобретение описано применительно к программным модулям или компонентам, специалистам в данной области очевидно, что их можно заметить эквивалентными аппаратными компонентами. Поэтому раскрытое здесь изобретение предусматривает все подобные варианты осуществления, охватываемые объемом нижеследующей формулы изобретения и ее эквивалентов.

Формула изобретения

1. Способ выдачи приглашающим приглашения приглашаемому присоединиться к группе ad hoc, применяемый в вычислительной среде с упомянутой группой ad hoc, где вычислительное устройство приглашающего и вычислительное устройство аутентификатора являются членами упомянутой группы, а вычислительное устройство приглашаемого не является членом упомянутой группы, в которой приглашающий и приглашаемый совместно используют секретный пароль, содержащий этапы, на которых

в вычислительном устройстве приглашающего

генерируют первый личный шифровальный ключ на основании упомянутого секретного совместно используемого пароля,

генерируют первый общий шифровальный ключ, связанный с первым личным шифровальным ключом,

создают приглашение, содержащее первый общий шифровальный ключ,

подписывают приглашение с использованием личного шифровального ключа приглашающего, и

обеспечивают приглашаемому и аутентификатору доступ к приглашению,

в аутентификаторе

формируют на основе упомянутого приглашения запрос аутентификации и ожидаемый ответ на этот запрос, и делают упомянутый запрос доступным вычислительному устройству приглашаемого, позволяют приглашаемому присоединиться к группе ad hoc на основе положительного результата сравнения ожидаемого ответа на запрос аутентификации и ответа на запрос аутентификации, полученного от вычислительного устройства приглашаемого.

2. Способ по п.1, отличающийся тем, что на этапе генерации первого личного шифровального ключа используют определяющую функцию и передают определяющей функции совместно используемый секретный пароль в качестве входного значения, причем определяющей является функция, выдающая для разных значений аргументов несовпадающие большие значения.

3. Способ по п.2, отличающийся тем, что на этапе генерации первого личного шифровального ключа дополнительно передают определяющей функции в качестве дополнительного входного значения информацию, выбранную из группы, состоящей из идентификатора группы ad hoc, идентификатора приглашающего, идентификатора приглашаемого, метки времени и периода правомочности приглашения.

4. Способ по п.3, отличающийся тем, что приглашение дополнительно содержит дополнительное входное значение, передаваемое определяющей функции.

5. Способ по п.2, отличающийся тем, что на этапе использования определяющей функции применяют криптографическую хэш-функцию к совместно используемому секретному паролю.

6. Способ по п.2, отличающийся тем, что на этапе генерации первого личного шифровального ключа дополнительно присваивают первому личному шифровальному ключу выходное значение, получаемое применением операции взятия по модулю простого числа к определяющей функции.

7. Способ по п.6, отличающийся тем, что на этапе генерации первого общего шифровального ключа присваивают значение порождающей функции для упомянутого простого числа, возведенной в степень первого личного шифровального ключа, взятой по модулю упомянутого простого числа, первому общему шифровальному ключу.

8. Способ по п.7, отличающийся тем, что приглашение дополнительно содержит упомянутое простое число и упомянутую порождающую функцию.

9. Способ по п.1, отличающийся тем, что на этапе генерации первого общего шифровального ключа, связанного с первым личным шифровальным ключом, генерируют первый общий шифровальный ключ так, чтобы значение, зашифрованное с помощью одного из этих двух ключей, можно было расшифровать с помощью другого.

10. Способ по п.1, отличающийся тем, что на этапе подписания применяют хэш-функцию к содержимому приглашения и шифруют результат хэш-функции с помощью личного шифровального ключа приглашающего.

11. Способ по п.1, отличающийся тем, что на этапе обеспечения доступа к приглашению используют операцию, выбранную из группы, состоящей из посылки сообщения, содержащего приглашение, размещение приглашения в месте, доступном приглашающему и аутентификатору, и фиксирование значений некоторых из элементов приглашения до создания приглашения.

12. Считываемая компьютером среда, содержащая команды для осуществления способа выдачи вычислительным устройством приглашающего приглашения к вычислительному устройству приглашаемого присоединиться к группе ad hoc, причем приглашающий и вычислительное устройство аутентификатора являются членами упомянутой группы, а приглашаемый не является членом упомянутой группы, согласно которому приглашающий совместно с приглашаемым использует секретный пароль, причем способ содержит этапы, на которых

в вычислительном устройстве приглашающего

генерируют первый личный шифровальный ключ на основании секретного совместно используемого пароля,

генерируют первый общий шифровальный ключ, связанный с первым личным шифровальным ключом,

создают приглашение, содержащее первый общий шифровальный ключ,

подписывают приглашение с использованием личного шифровального ключа приглашающего, и

делают приглашение доступным приглашаемому и аутентификатору,

в аутентификаторе

формируют на основе упомянутого приглашения запрос аутентификации и ожидаемый ответ на этот запрос, и делают упомянутый запрос доступным вычислительному устройству приглашаемого,

позволяют приглашаемому присоединиться к группе ad hoc на основе положительного результата сравнения ожидаемого ответа на запрос аутентификации и ответа на запрос аутентификации, полученного от вычислительного устройства приглашаемого.

13. Способ выдачи аутентификатором приглашаемому запроса аутентификации, применяемый в вычислительной среде с группой ad hoc, где вычислительное устройство приглашающего и вычислительное устройство аутентификатора являются членами упомянутой группы, а вычислительное устройство приглашаемого не является членом упомянутой группы, причем приглашающий выдает приглашаемому приглашение присоединиться к упомянутой группе, содержащий этапы, на которых

в аутентификаторе

осуществляют обращение к приглашению,

проверяют правомочность приглашения и

если приглашение правомочно, то

генерируют второй личный шифровальный ключ,

генерируют второй общий шифровальный ключ, связанный со вторым личным шифровальным ключом,

генерируют совместно используемый шифровальный ключ запроса из первого общего шифровального ключа, содержащегося в приглашении, и второго личного шифровального ключа,

генерируют значение запроса путем генерирования случайного числа,

создают запрос аутентификации, содержащий упомянутое значение запроса и второй общий шифровальный ключ, и

делают запрос аутентификации доступным для приглашаемого,

позволяют приглашаемому присоединиться к группе ad hoc на основе

положительного результата сравнения ожидаемого ответа на запрос аутентификации и ответа на запрос аутентификации, полученного от вычислительного устройства приглашаемого.

14. Способ по п.13, отличающийся тем, что на этапе обращения к приглашению используют операцию, выбранную из группы, содержащей прием сообщения, содержащего приглашение, и обращение к приглашению в месте, доступном приглашающему и аутентификатору.

15. Способ по п.13, отличающийся тем, что на этапе проверки правомочности приглашения проверяют информацию, содержащуюся в приглашении, причем информацию выбирают из группы, содержащей идентификатор группы ad hoc, идентификатор приглашающего, идентификатор приглашаемого, метку времени и период правомочности приглашения.

16. Способ по п.13, отличающийся тем, что на этапе проверки правомочности приглашения расшифровывают подпись приглашения с использованием общего шифровального ключа приглашающего, хэшируют содержимое приглашения и сравнивают значение хэш-функциии с расшифрованной подписью.

17. Способ по п.13, отличающийся тем, что на этапе генерации второго личного шифровального ключа присваивают случайным образом генерированное число второму личному шифровальному ключу.

18. Способ по п.13, отличающийся тем, что на этапе генерации второго общего шифровального ключа присваивают значение порождающей функции для простого числа, возведенной в степень второго личного шифровального ключа, взятой по модулю упомянутого простого числа, второму общему шифровальному ключу.

19. Способ по п.18, отличающийся тем, что на этапе генерации совместно используемого шифровального ключа запроса присваивают значение первого общего шифровального ключа, возведенного в степень второго личного шифровального ключа, взятое по модулю упомянутого простого числа, совместно используемому шифровальному ключу запроса.

20. Способ по п.13, отличающийся тем, что на этапе генерации второго общего шифровального ключа, связанного со вторым личным шифровальным ключом, генерируют второй общий шифровальный ключ так, чтобы значение, зашифрованное с помощью одного из этих двух ключей, можно было расшифровать с помощью другого.

21. Способ по п.13, отличающийся тем, что на этапе генерации значения запроса дополнительно

шифруют упомянутое случайное число с помощью совместно используемого шифровального ключа запроса и шифра и

присваивают зашифрованное случайное число значению запроса, при этом запрос аутентификации дополнительно содержит шифр.

22. Способ по п.13, отличающийся тем, что на этапе генерации значения запроса дополнительно объединяют упомянутое случайное число с хэшированной информацией специфичности, причем информация специфичности выбрана из группы, состоящей из идентификатора группы ad hoc, идентификатора аутентификатора и идентификатора приглашаемого.

23. Способ по п.22, отличающийся тем, что на этапе генерации значения запроса дополнительно

шифруют объединенные случайное число и значение хэш-функции информации специфичности с использованием совместно используемого шифровального ключа запроса и шифра, и

присваивают зашифрованные случайное число и значение хэш-функции информации специфичности значению запроса,

причем запрос аутентификации дополнительно содержит шифр.

24. Способ по п.13, отличающийся тем, что на этапе обеспечения доступности запроса аутентификации используют операцию, выбранную из группы, состоящей из посылки сообщения, содержащего запрос аутентификации, размещение запроса аутентификации в месте, доступном аутентификатору и приглашаемому, и фиксирование значений некоторых из элементов запроса аутентификации до создания запроса аутентификации.

25. Считываемая компьютером среда, содержащая команды для осуществления способа выдачи запроса аутентификации вычислительным устройством аутентификатора к вычислительному устройству приглашаемого, причем вычислительное устройство приглашающего и аутентификатор являются членами группы ad hoc, а приглашаемый не является членом упомянутой группы, при этом приглашающий выдает приглашение приглашаемому присоединиться к упомянутой группе, а способ содержит этапы, на которых

в аутентификаторе

осуществляют обращение к упомянутому приглашению,

проверяют правомочность приглашения и

если приглашение правомочно, то

генерируют второй личный шифровальный ключ,

генерируют второй общий шифровальный ключ, связанный со вторым личным шифровальным ключом,

генерируют совместно используемый шифровальный ключ запроса из первого общего шифровального ключа, содержащегося в приглашении, и второго личного шифровального ключа,

генерируют значение запроса путем генерирования случайного числа, создают запрос аутентификации, содержащий значение запроса и второй общий шифровальный ключ, и

делают запрос аутентификации доступным для приглашаемого,

позволяют приглашаемому присоединиться к группе ad hoc на основе положительного результата сравнения ожидаемого ответа на запрос аутентификации и ответа на запрос аутентификации, полученного от вычислительного устройства приглашаемого.

26. Способ выдачи приглашаемым ответа на запрос аутентификации, используемый в вычислительной среде с группой ad hoc, где вычислительное устройство приглашающего и вычислительное устройство аутентификатора являются членами упомянутой группы, а вычислительное устройство приглашаемого не является членом упомянутой группы, в которой приглашающий с приглашаемым совместно пользуются секретным паролем, приглашающий выдает приглашение приглашаемому присоединиться к упомянутой группе, аутентификатор формирует ожидаемый ответ на запрос и выдает приглашаемому запрос аутентификации, содержащий этапы, на которых

в вычислительном устройстве приглашаемого

обращаются к запросу аутентификации, принятого от аутентификатора,

генерируют первый личный шифровальный ключ на основании упомянутого секретного совместно используемого пароля,

генерируют совместно используемый шифровальный ключ запроса на основании сгенерированного первого личного шифровального ключа и второго общего шифровального ключа, содержащегося в запросе аутентификации,

генерируют значение ответа на запрос на основании значения запроса, содержащегося в запросе аутентификации,

создают ответ на запрос аутентификации, содержащий значение ответа на запрос, и

делают ответ на запрос аутентификации доступным для аутентификатора,

в аутентификаторе

позволяют приглашаемому присоединиться к группе ad hoc на основе положительного результата сравнения ожидаемого ответа на запрос и ответа, полученного от вычислительного устройства приглашаемого.

27. Способ по п.26, отличающийся тем, что на этапе обращения к запросу аутентификации используют операцию, выбираемую из группы, содержащей прием сообщения, содержащего запрос аутентификации, и обращение к запросу аутентификации в месте, доступном приглашаемому и аутентификатору.

28. Способ по п.26, отличающийся тем, что на этапе генерации первого личного шифровального ключа используют определяющую функцию и передают определяющей функции в качестве входного значения совместно используемый секретный пароль, причем определяющей является функция, выдающая большие значения, не совпадающие для разных значений аргументов.

29. Способ по п.28, отличающийся тем, что дополнительно содержит этап, на котором осуществляют доступ к приглашению, и на этапе генерации первого личного шифровального ключа дополнительно передают определяющей функции в качестве дополнительного входного значения информацию, содержащуюся в приглашении, причем информацию выбирают из группы, содержащей идентификатор группы ad hoc, идентификатор приглашающего, идентификатор приглашаемого, метку времени и период правомочности приглашения.

30. Способ по п.28, отличающийся тем, что на этапе использования определяющей функции применяют криптографическое хэширование к совместно используемому секретному паролю.

31. Способ по п.28, отличающийся тем, что на этапе генерации первого личного шифровального ключа дополнительно присваивают выходное значение определяющей функции, взятое по модулю простого числа, первому личному шифровальному ключу.

32. Способ по п.26, отличающийся тем, что на этапе генерации совместно используемого шифровального ключа запроса присваивают значение второго общего шифровального ключа, возведенное в степень сгенерированного первого личного шифровального ключа, взятое по модулю простого числа, совместно используемому шифровальному ключу запроса.

33. Способ по п.26, отличающийся тем, что на этапе генерации значения ответа на запрос шифруют значение запроса с помощью совместно используемого шифровального ключа запроса и шифра, при этом ответ на запрос аутентификации дополнительно содержит шифр.

34. Способ по п.33, отличающийся тем, что на этапе генерации значения ответа на запрос дополнительно присваивают значение хэш-функции зашифрованного значения запроса значению ответа на запрос.

35. Способ по п.26, отличающийся тем, что на этапе генерации значения ответа на запрос объединяют значение запроса со значением хэш-функции информации специфичности, причем информация специфичности выбирается из группы, содержащей идентификатор группы ad hoc, идентификатор аутентификатора и идентификатор приглашаемого.

36. Способ по п.35, отличающийся тем, что на этапе генерации значения ответа на запрос дополнительно шифруют объединенные значение запроса и значение хэш-функции информации специфичности с использованием совместно используемого шифровального ключа запроса и шифра, при этом ответ на запрос аутентификации дополнительно содержит шифр.

37. Способ по п.36, отличающийся тем, что на этапе генерации значения ответа на запрос дополнительно присваивают значению ответа на запрос значение хэш-функции зашифрованных объединенных значения запроса и хэшированной информации специфичности.

38. Способ по п.26, отличающийся тем, что на этапе генерации значения ответа на запрос дешифруют значение запроса с помощью совместно используемого шифровального ключа запроса и шифра, содержащегося в запросе аутентификации.

39. Способ по п.38, отличающийся тем, что на этапе генерации значения ответа на запрос дополнительно присваивают значение хэш-функции расшифрованного значения запроса значению ответа на запрос.

40. Способ по п.38, отличающийся тем, что на этапе генерации значения ответа на запрос дополнительно удаляют из расшифрованного значения запроса хэшированную информацию специфичности, причем информация специфичности выбрана из группы, состоящей из идентификатора группы ad hoc, идентификатора аутентификатора и идентификатора приглашаемого.

41. Способ по п.40, отличающийся тем, что на этапе генерации значения ответа на запрос дополнительно присваивают значению ответа на запрос значение хэш-функции расшифрованного значения запроса, из которого удалена хэшированная информация специфичности.

42. Способ по п.26, отличающийся тем, что на этапе обеспечения ответа на запрос аутентификации доступным используют операцию, выбранную из группы, состоящей из посылки сообщения, содержащего ответ на запрос аутентификации, и размещение ответа на запрос аутентификации в месте, доступном аутентификатору и приглашаемому.

43. Считываемая компьютером среда, содержащая команды для осуществления способа выдачи ответа вычислительным устройством приглашаемого на запрос аутентификации, причем вычислительное устройство приглашающего и вычислительное устройство аутентификатора являются членами группы ad hoc, а приглашаемый не является членом упомянутой группы, согласно которому приглашающий совместно с приглашаемым пользуется секретным паролем, приглашающий выдает приглашение приглашаемому присоединиться к упомянутой группе, а аутентификатор формирует ожидаемый ответ на запрос и выдает приглашаемому запрос аутентификации, причем способ содержит этапы, на которых

в вычислительном устройстве приглашаемого

обращаются к упомянутому запросу аутентификации,

генерируют первый личный шифровальный ключ на основании упомянутого секретного совместно используемого пароля,

генерируют совместно используемый шифровальный ключ запроса на основании сгенерированного первого личного шифровального ключа и второго общего шифровального ключа, содержащегося в запросе аутентификации,

генерируют значение ответа на запрос на основании значения запроса, содержащегося в запросе аутентификации,

создают ответ на запрос аутентификации, содержащий значение ответа на запрос, и

обеспечивают ответ на запрос аутентификации доступным для аутентификатора,

в аутентификаторе

позволяют приглашаемому присоединиться к группе ad hoc на основе положительного результата сравнения ожидаемого ответа на запрос аутентификации и ответа, полученного от вычислительного устройства приглашаемого.

ИЗВЕЩЕНИЯ

PC4A Государственная регистрация договора об отчуждении исключительного права

Дата и номер государственной регистрации договора: 06.03.2015 РД0168788

(73) Патентообладатель(и):
Майкрософт Текнолоджи Лайсенсинг, ЭлЭлСи (US)

Приобретатель исключительного права:
Майкрософт Текнолоджи Лайсенсинг, ЭлЭлСи (US)

Лицо(а), передающее(ие) исключительное право:
МАЙКРОСОФТ КОРПОРЕЙШН (US)

Адрес для переписки:
ООО "Юридическая фирма Городисский и партнеры", ул. Б.Спасская, 25, стр. 3, Москва, 129090

Дата внесения записи в Государственный реестр: 06.03.2015

Дата публикации: 27.03.2015


MM4A Досрочное прекращение действия патента из-за неуплаты в установленный срок пошлины за поддержание патента в силе

Дата прекращения действия патента: 24.04.2018

Дата внесения записи в Государственный реестр: 22.02.2019

Дата публикации и номер бюллетеня: 22.02.2019 Бюл. №6