Одноранговый обмен контактной информацией

Иллюстрации

Показать все

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

Реферат

Уровень техники

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

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

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

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

Чертежи

Фиг.1 иллюстрирует блок-схему вычислительной системы, которая может функционировать в соответствии с формулой изобретения;

Фиг.2 иллюстрирует обычную одноранговую сеть;

Фиг.3 иллюстрирует обычные сервер и службу каталогов;

Фиг.4 иллюстрирует распределенную хэш-таблицу;

Фиг.5 иллюстрирует запись, используемую в варианте осуществления формулы изобретения;

Фиг.6 иллюстрирует вариант осуществления процесса публикации;

Фиг.7 иллюстрирует вариант осуществления поискового процесса;

Фиг.8 иллюстрирует модифицированную запись, содержащую параметр продолжительности;

Фиг.9 иллюстрирует другой процесс подтверждения правильности с помощью параметра продолжительности;

Фиг.10 иллюстрирует модифицированную запись для выборочной публикации;

Фиг. 11 иллюстрирует вариант осуществления процесса публикации для выборочной публикации; и

Фиг.12 иллюстрирует вариант осуществления поискового процесса для выборочной публикации.

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

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

Следует также принимать во внимание, что, если термин не задан в явной форме в данном патенте с помощью предложения "При использовании в данном документе термин '____', заданный таким образом, чтобы означать ..." или аналогичного предложения, отсутствует намерение ограничивать значение данного термина, явно или косвенно, вне его очевидного или обычного значения, и этот термин не должен интерпретироваться ограниченно в области применения на основе любого утверждения, сделанного в любом разделе данного патента (за исключением формулировок формулы изобретения). В рамках, в которых на любой термин, приведенный в формуле изобретения в конце данного патента, ссылаются в данном патенте способом, согласованным с единственным значением, это осуществляется исключительно в целях ясности, с тем чтобы не вводить читателя в заблуждение, и нет намерения, чтобы данный термин формулы был ограничен, косвенно или иным образом, этим единственным значением. В заключение, если элемент формулы изобретения не определен перечислением слова "означает" и функционирует без изложения какой-либо структуры, не подразумевается, что рамки любого элемента формулы изобретения интерпретируются на основе применения 35 U.S.C. §112, шестой параграф.

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

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

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

Со ссылкой на фиг.1, примерная система для реализации этапов заявленного способа и устройства включает в себя вычислительное устройство общего назначения в виде компьютера 110. Компоненты компьютера 110 могут включать в себя, но не в качестве ограничения, центральный процессор 120, системную память 130 и системную шину 121, которая связывает различные компоненты системы, в том числе системную память, с центральным процессором 120. Системная шина 121 может быть любой из некоторых типов шинных структур, в том числе шиной памяти или контроллером памяти, периферийной шиной и локальной шиной, использующей любую из многообразия шинных архитектур. В качестве примера, но не ограничения, такие архитектуры включают в себя шину стандартной архитектуры для промышленного применения (ISA), шину микроканальной архитектуры (MCA), шину расширенной ISA (EISA), шину стандарта (VESA) локальной видеошины для ПК и шину соединения периферийных компонентов (PCI), также известную как мезонинная шина.

Компьютер 110 в типичном варианте включает в себя многообразие машиночитаемых носителей. Машиночитаемыми носителями могут быть любые имеющиеся в распоряжении носители, доступ к которым может быть осуществлен компьютером 110 и которые могут быть как энергозависимыми или энергонезависимыми, так и съемными или несъемными. В качестве примера, но не ограничения, машиночитаемые носители могут содержать компьютерные запоминающие носители и среду передачи данных. Компьютерный запоминающий носитель включает в себя как энергозависимые и энергонезависимые носители, так и съемные и несъемные носители, реализованные в рамках любого способа или технологии для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Носитель хранения данных компьютера включает в себя, но не в качестве ограничения, ОЗУ, ПЗУ (постоянное запоминающее устройство), ЭСППЗУ (электрически стираемое и программируемое ПЗУ), флэш-память или другую технологию памяти, диски CD-ROM (ПЗУ на компакт-диске), универсальные цифровые диски (DVD) или другое запоминающее устройство на оптическом диске, магнитные дискеты, магнитную ленту, запоминающее устройство на магнитном диске или другие магнитные устройства хранения или любые другие носители, которые могут быть использованы для сохранения желаемой информации и которые могут быть доступны посредством компьютера 110. Носитель передачи данных в типичном варианте реализует машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированных сигналах данных, таких как волновая несущая или другой механизм распространения, и включает в себя любые носители доставки информации. Термин "модулированный сигнал данных" означает сигнал, который имеет одну или более из его характеристик, установленных или изменяемых таким образом, чтобы кодировать информацию в сигнале. В качестве примера, но не в качестве ограничения, среда связи включает в себя проводную среду, такую как проводная сеть или непосредственное проводное соединение, и беспроводную среду, такую как акустическая среда, радиочастота, инфракрасное излучение и другая беспроводная среда. Сочетания любых из вышеперечисленных видов также следует включить в число компьютерных считываемых носителей.

Системная память 130 включает в себя компьютерные запоминающие носители в виде энергозависимой или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) 131 или оперативное запоминающее устройство (ОЗУ) 132. Базовая система 133 ввода-вывода (BIOS), содержащая базовые процедуры, которые помогают передавать информацию между элементами в пределах компьютера 110, к примеру, во время запуска, обычно хранится в ПЗУ 131. ОЗУ 132 обычно содержит данные и/или программные модули, которые являются непосредственно доступными и/или являются в текущий момент обрабатываемыми процессором 120. В качестве примера, но не ограничения, фиг.1 иллюстрирует операционную систему 134, прикладные программы 135, другие программные модули 136 и программные данные 137.

Компьютер 110 также может включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители хранения. Только в качестве примера фиг.1 иллюстрирует накопитель 140 на жестком диске, который считывает из или записывает на несъемный энергонезависимый магнитный носитель, накопитель 151 магнитных дисков, который считывает из или записывает на съемный энергонезависимый магнитный диск 152, и накопитель 155 оптических дисков, который считывает с или записывает на съемный энергонезависимый оптический диск 156, такой как CD-ROM, или другой оптический носитель. В качестве других сменных/стационарных, энергозависимых/энергонезависимых компьютерных носителей хранения, которые могут использоваться в примерном операционном окружении, могут выступать (но не только) кассеты на магнитных лентах, карты флэш-памяти, универсальные цифровые диски, цифровые видеоленты, полупроводниковое ОЗУ, полупроводниковое ПЗУ и т.п. Накопитель 141 на жестком диске в типичном варианте подключен к системной шине 121 через интерфейс несъемной памяти, такой как интерфейс 140, а привод 151 магнитного диска и привод 155 оптического диска в типичном варианте подключены к системной шине 121 посредством интерфейса съемной памяти, такого как интерфейс 150.

Накопители и ассоциативно связанный с ним носитель хранения вычислительной машины, обсужденные выше и проиллюстрированные на фиг.1, предоставляют хранение машиночитаемых инструкций, структур данных, программных модулей, и других данных для вычислительной машины 110. На фиг.1, например, накопитель 141 на жестких дисках проиллюстрирован в качестве сохраняющего операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Заметим, что эти компоненты могут либо быть такими же, как или отличными от операционной системы 134, прикладных программ 135, других программных модулей 136 и программных данных 137. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 даны в настоящем документе с разными номерами, чтобы проиллюстрировать, что, как минимум, они являются различными другими копиями. Пользователь может вводить команды и информацию в компьютер 20 через устройства ввода, например клавиатуру 162 и указательное устройство 161, обычно упоминаемое как мышь, шаровой манипулятор (трекбол) или сенсорную панель. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканер и т.п. Эти и другие устройства ввода часто подключены к процессору 120 через пользовательский интерфейс 160 ввода, который соединен с системной шиной, но могут быть подключены посредством других интерфейсов и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 191 или другой тип дисплейного устройства также подключен к системной шине 121 посредством такого интерфейса, как видеоинтерфейс 190. Помимо монитора компьютеры могут также включать в себя другие периферийные устройства вывода, например динамики 197 и принтер 196, которые могут быть подключены средствами периферийного интерфейса 190 вывода.

Компьютер 110 может работать в сетевом окружении, использующем логические соединения с одной или более удаленными компьютерами, такими как удаленный компьютер 180. Удаленным компьютером 180 может быть персональный компьютер, сервер, маршрутизатор, сетевой персональный компьютер, равноправное устройство или другой общий узел сети, и она в типичном варианте включает в себя многие или все элементы, описанные выше относительно компьютера 110, хотя на фиг.1 проиллюстрировано только запоминающее устройство 181 хранения. Логические соединения, показанные на фиг.1, включают в себя локальную вычислительную сеть (LAN) 171 и глобальную сеть (WAN) 173, но могут также включать в себя другие сети. Такие сетевые среды являются обычными в офисах, корпоративных компьютерных сетях, сетях интранет и Интернете.

Когда используется в сетевом LAN-окружении, компьютер 110 подключен к LAN 171 через сетевой интерфейс или адаптер 170. Когда используется в сетевом WAN-окружении, компьютер 110 в типичном варианте включает в себя модем 172 или другое средство для установления связи по WAN 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может быть подключен к системной шине 121 через интерфейс 160 пользовательского ввода или с использованием другого подходящего устройства. В объединенном в сеть окружении программные модули, изображенные относительно компьютера 110, или их части могут быть сохранены в удаленном запоминающем устройстве хранения. В качестве примера, а не ограничения, фиг.1 иллюстрирует удаленные прикладные программы 185 как находящиеся на запоминающем устройстве 181. Должно быть очевидно, что показанные сетевые соединения являются примерными и может быть использовано другое средство установления линии связи между компьютерами.

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

Фиг.2 иллюстрирует высокоуровневое изображение P2P-системы 200. Система 200 включает в себя набор равноправных объектов (202-212). Равноправные объекты (202-212) могут быть устройствами персональных компьютеров, которые связаны вместе через сеть или комбинацию сетей. Фиг.2 иллюстрирует пример, в котором каждый равноправный объект (202-212) соединен со всеми другими равноправными объектами (202-212). В других случаях один или более равноправных объектов (202-212) могут быть соединены с другими равноправными объектами (202-212) через одного или более промежуточных участников (202-212). Однако, чтобы обеспечить безопасную связь по одноранговой сети, сначала может быть необходимо установить безопасные соединения между равноправными узлами.

Безопасность соединения может быть основана на процессе шифрования на симметричном ключе, как может быть хорошо известно в данной области техники. Чтобы осуществить эту безопасность шифрования, однако, равноправным объектам может быть необходимо сначала обменяться сертификатами и/или открытыми ключами, которые разрешают изначально установить безопасное соединение. В некоторых существующих системах, таких как иллюстрированная на фиг.3, этот обмен может быть упрощен с помощью центрального сервера 300 каталогов, где пользователи 301, 302, 303 могут регистрировать свои сертификаты 304, 305, 306 и/или открытые ключи на сервере 300 каталогов. Служба 307 каталогов может быть таблицей базы данных, содержащей записи 308 о сертификатах и/или открытых ключах, индексированных по имени пользователя или другому идентификатору, используемому в качестве ключа 309. Пользователь, способный соединиться с сервером 300 каталогов и которому разрешен доступ к службе 307 каталогов, может искать намеченного пользователя с помощью идентификатора намеченного пользователя и получить соответствующий открытый ключ намеченного пользователя. Этот подход может требовать связанности с сервером 300, явной подписки на сервер 300 каталогов и доверия в сервере 300 каталогов. Кроме того, кто-то должен понести расходы по размещению, например, на сервер. Когда пользователь 303 соединяется из удаленного местоположения, может дополнительно потребоваться связанность 310 с Интернетом. Серверный процесс подписки может затрагивать учетные записи пользователей, которые используются, чтобы способствовать доверию на сервере 300 каталогов. Например, если какой-либо пользователь может обратиться к серверу 300, сервер 300 может рассматриваться как более чувствительный к компрометации, особенно если отправляется по почте и передается конфиденциальная информация, такая как открытые ключи. Кроме того, создание сервера каталогов для произвольно организующейся, временной сети может быть непрактичным из-за переменной природы этих сетей и трудности в установке сервера каталогов. Возможным обходным маневром для произвольно организующейся одноранговой сети может быть обмен открытыми ключами через электронную почту или через процесс вне сети, такой как физическая отправка или отправка по почте дискеты, содержащей сертификат/открытый ключ, намеченному партнеру. Это может позволить равноправным объектам установить не зависимые от сервера, безопасные линии связи. Однако это громоздко и подвержено ошибкам.

Вариант осуществления заявленного независимого от сервера процесса индексирования может использовать индексное хранилище без сервера, такое как распределенная хэш-таблица (DHT) 400, иллюстрированная на фиг.4. Эта распределенная хэш-таблица 400 может поддерживаться по группе равноправных объектов 401-404, которые формируют одноранговую сеть 405. Объекты в распределенной хэш-таблице могут быть логически разделены или группированы с помощью, например, хэш-функции. Хэш-функция может группировать записи вместе неким организованным образом, таким образом делая поиск более эффективным. DHT может иметь два основных свойства: 1) распределение таблицы (например, таблицы 400) по множеству узлов (например, узлы 401-404); и 2) механизм маршрутизации (не показан), который предоставляет способ публикации и поиска записей. Механизм маршрутизации и распределение могут управляться вышележащим протоколом, таким как Chord, PNRP, Pastry, Tapestry и т.д. В то время как DHT может использоваться, чтобы предоставлять индексное хранилище в соответствии с вариантом осуществления формулы изобретения, следует подчеркнуть, что может использоваться любое индексное хранилище, к которому может обращаться группа равноправных объектов, в том числе серверные указатели. В случае серверных указателей заявленная система может уменьшить уровень доверия, требуемого от сервера только потому, что заявленная система может предоставить необходимый уровень безопасности для незащищенного индексного хранилища.

Вариант осуществления заявленного независимого от сервера процесса индексирования может использовать конкретный формат записи, как иллюстрировано на фиг.5. Фиг.5 иллюстрирует, что издатель может отправить в индексное хранилище запись 500, содержащую контактную информацию 501, открытый ключ 502 издателя и подпись 503 контактной информации с помощью секретного ключа издателя. Альтернативно, подпись может быть для комбинации контактной информации и открытого ключа. Эта запись может быть индексирована по ключу 504 записи. В одном варианте осуществления ключ 504 записи может быть криптографически уникальным идентификатором (CUI). CUI может иметь два основных свойства: первое - CUI может быть статистически уникальным, и второе - CUI может соответствовать открытому ключу конкретного пользователя, такому как открытый ключ 502 издателя. Подобно обычным схемам индексирования базы данных, ключ записи должен быть уникальным, чтобы предотвратить дублирование записей об объектах. Соответственно, CUI может быть идентификатором, который получен так, что существует высокая вероятность того, что он уникален для отдельной ситуации или приложения. Например, в равноправной группе только из нескольких участников CUI может быть статистически уникальным, если вероятность того, что криптографически уникальный идентификатор может быть получен из открытого ключа одного и того же участника, маловероятна для размера группы.

CUI может быть получен из открытого ключа с помощью алгоритма, такого как алгоритм хэширования или шифрования. CUI может быть проверен на соответствие или совпадение со своим открытым ключом с помощью алгоритма. В одном варианте осуществления CUI может использоваться, чтобы представить более длинный идентификатор пользователя, такой как открытый ключ, в более короткой и более управляемой пользователем форме, такой как имена равноправных участников, используемые в P2P-системе, описанной в патентной заявке США № 10/882079, озаглавленной "Callsigns".

Запись на фиг.5 может использоваться, чтобы опубликовать контактную информацию в индексном хранилище, таком как DHT 400 на фиг.4. CUI-ключ 504 может использоваться, чтобы найти каждую запись 500 и найти контактную информацию 501 и открытый ключ 502. В этом варианте осуществления опубликованная информация может быть открытой, т.е. опубликованная информация может быть не зашифрована, кроме подписей. Однако другие варианты осуществления, описанные ниже, могут шифровать части опубликованной информации. Также, в то время как этот вариант осуществления иллюстрирует использование записи 500, чтобы облегчить обмен открытым ключом 502, подчеркивается, что система может использоваться в любом приложении, в котором может использоваться уникальная публикация сообщений. Например, вместо контактной информации 501 любое сообщение может быть отправлено по почте против пользовательского CUI 504.

Фиг.6 иллюстрирует обычный процесс публикации в соответствии с вариантом осуществления формулы изобретения. С помощью алгоритма, такого как хэш-функция, CUI может быть сформирован для открытого ключа 601 данного пользователя. Важно отметить, что какой бы алгоритм ни использовался, CUI может быть проверен на соответствие открытому ключу, который использовался, чтобы создать его. Запись о контактной информации или других данных сообщения и открытом ключе издателя может быть построена 602, и контактная информация и/или открытый ключ издателя может быть подписан секретным ключом 603 издателя (который может соответствовать открытому ключу). Запись, включающая в себя контактную информацию, открытый ключ и подпись, может быть вставлена 604 в открыто доступный индекс. Запись может быть индексирована по CUI, соответствующему открытому ключу издателя.

Фиг.7 иллюстрирует поисковый процесс в соответствии с вариантом осуществления формулы изобретения. Пользователь, желающий соединиться со вторым равноправным участником, может получить CUI второго равноправного участника 701. CUI может быть получен извне либо через электронную почту, либо через внесетевой процесс (например, отправка почтой, устное сообщение, бизнес-карта и т.д.). CUI может затем использоваться, чтобы отыскивать запись, поставленную в соответствие с CUI в индексном хранилище 702. Как обсуждалось выше, запись может включать в себя ключ, некоторую информацию сообщения (контактную информацию) и подпись.

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

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

Если запись/сообщение правильно подписана, проверка 706 формата сообщения и/или синтаксиса может затем быть выполнена по контактной информации записи. Это может быть использовано, например, для того, чтобы гарантировать, что сообщение не было взломано, чтобы соответствовать подписи. В то время как предоставление взломанного сообщения для совпадения с зашифрованной подписью может быть статистически трудным, это может не являться невозможным. Взлом, однако, может иметь в результате сообщение, которое не соответствует предназначенному или предполагаемому формату. Таким образом, может быть выполнена первая проверка сообщения, чтобы определить, согласуется ли формат сообщения с предполагаемым форматом. Например, когда передается контактная информация, контактная информация может требовать десятисимвольный формат. Если формат записи не обеспечивает этот десятисимвольный формат, тогда кто-то или что-то могли вмешаться в сообщение 711.

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

Если все процессы 704, 705, 706 подтверждения были успешно завершены, тогда запись может быть аутентичной и использоваться 707 впоследствии, например открытый ключ может использоваться, чтобы устанавливать линии связи. Если любой из этапов 704, 705, 706 подтверждения заканчивается неудачей, тогда кто-то или что-то могли исказить сообщение 711. В случае системы обмена открытыми ключами соединение может быть отвергнуто.

В другом варианте осуществления, иллюстрированном на фиг.8, параметр 801 продолжительности может быть включен в запись 800. Этот параметр 801 продолжительности может соответствовать уровню шифрования, используемому в описанном процессе аутентификации. Например, уровень шифрования может соответствовать стойкости шифрования, используемого, чтобы сформировать пары открытых/секретных ключей, используемых в заявленной системе. Если стойкость шифрования высока, тогда продолжительность может быть долгой и наоборот. Параметр 801 продолжительности может указывать продолжительность действительности записи. Таким образом, параметр 801 продолжительности может использоваться в процессе поиска, как иллюстрировано на фиг.9. Фиг.9 иллюстрирует тот же процесс, что и на фиг.7, с добавлением этапа 909, где продолжительность 901, указанная параметром 801 продолжительности, проверяется, чтобы определить, истекла ли продолжительность. Если параметр 801 продолжительности истек, тогда запись может быть скомпрометирована 911. Иначе запись может быть действительной 907.

Фиг.10-12 иллюстрируют другой вариант осуществления, где может использоваться выборочная публикация для того, чтобы предоставить возможность первому пользователю опубликовать данные, которые может найти только намеченный второй пользователь. В этом варианте осуществления выборочной публикации может использоваться запись 1001, которая иллюстрирована на фиг.10. Запись 1001 может включать в себя ключ 1002, который сформирован из комбинации двух CUI 1003, 1004. Первый CUI 1003 может быть ассоциативно связан с первым пользователем, в то время как второй CUI 1004 может быть ассоциативно связан со вторым пользователем. Комбинация может быть сформирована простым присоединением второго CUI к первому CUI. Эта запись может включать в себя часть 1005 сообщения и параметр 1006 продолжительности. Сообщение 1005 может содержать данные о контактной информации издателя, открытый ключ издателя и подпись.

Фиг.11 иллюстрирует процесс выборочной публикации с помощью записи 1001 по фиг.10. Издатель может получить свой CUI из открытого ключа 1101, получить CUI выбранного получателя 1102, создать сообщение 1103, подписать сообщение с помощью секретного ключа 1104 издателя и вставить сообщение в индекс на основе 1105 ключа 1101 CUI-комбинации. Дополнительно, сообщение может быть зашифровано 1106 с помощью открытого ключа предназначенного получателя.

Фиг.12 иллюстрирует поисковый процесс для процесса выборочной публикации, который похож на фиг.7 с добавлением этапов 1201, 1202, 1203. Получатель, желающий найти опубликованную запись, может сначала получить 1201 CUI издателя и затем найти 1202 запись в индексном хранилище по объединенному CUI-ключу. В дополнительном улучшенном варианте осуществления сообщение может быть зашифровано с помощью открытого ключа получателя. Таким образом, только получатель может дешифровать предназначенные данные. После того как получатель извлекает 1202 сообщение с помощью ключа CUI-комбинации, получатель может использовать свой секретный ключ, чтобы сначала дешифровать 1203 запись, после чего процесс подтверждения и проверки достоверности следует процессу на фиг.7. В этом варианте осуществления выборочной публикации открытый ключ получателя (используемый, чтобы шифровать запись) может быть определен из CUI получателя, который издатель использовал, чтобы создать ключ комбинации.

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

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

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

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