Система и способ для передачи сокращенной информации из сертификата для выполнения операций шифрования
Иллюстрации
Показать всеИзобретение относится к системам защиты информации. Техническим результатом является сокращение объема памяти и ресурсов процессора для выполнения шифрования на основе сертификата, а также снижение требования по ширине полосы между сервером сертификатов и клиентским устройством-источником. Результат достигается тем, что в механизме шифрования на основе сертификата клиентский компьютер-источник не получает доступ ко всему сертификату, соответствующему клиентскому компьютеру-получателю, при шифровании электронного сообщения, которое должно быть передано к клиентскому компьютеру-получателю. Вместо этого, клиентский компьютер-источник запрашивает от сервера сертификатов только часть сертификата. Эта часть включает в себя информацию шифрования, но может не включать в себя некоторую или даже всю информацию самопроверки в сертификате. Сервер сертификатов предпочтительно выполняет любую проверку достоверности сертификата перед передачей информации шифрования к клиентскому компьютеру-источнику, что позволяет не проверять отдельно достоверность сертификата клиентским компьютером-источником, особенно если сервер сертификатов проверен на доверие клиентским компьютером-источником. 5 н. и 31 з.п. ф-лы, 8 ил.
Реферат
Предпосылки изобретения
1. Ссылки на связанные заявки
Настоящий заявитель заявляет приоритет предварительной патентной заявки США 60/428,080 от 20 ноября 2002 на «Систему и способ для передачи сокращенной информации из сертификата для выполнения операций шифрования».
2. Область техники
Настоящее изобретение относится к защищенной связи. Более конкретно, настоящее изобретение относится к использованию сертификатов для шифрования передач.
3. Предшествующий уровень техники
Компьютерная и сетевая технология трансформировала методы работы людей и методы игр. Сети стали настолько эффективными, что простая компьютерная система с сетевыми возможностями может осуществлять связь с любой из миллиона других компьютерных систем, распространенных по всему миру в конгломерате сетей, часто определяемом понятием «Интернет». Такие компьютерные системы могут включать в себя настольный, портативный или планшетный персональные компьютеры; персональные цифровые помощники (карманные компьютеры - PDA), телефоны или любой другой компьютер или устройство, имеющее возможность осуществлять связь через цифровую сеть.
Чтобы осуществлять связь в сети, одна компьютерная система (определяемая здесь как компьютерная система-источник» или «клиентский компьютер-источник») создает или получает доступ иным образом к электронному сообщению и передает электронное сообщение по сети к другой компьютерной системе (определяемой здесь как «компьютерная система-получатель» или «клиентский компьютер-получатель»). Электронное сообщение может быть считано пользователем, как в случае, когда электронное сообщение является сообщением электронной почты или сообщением диалогового обмена сообщениями, или оно может быть считано приложением, исполняемым в принимающей компьютерной системе. Электронное сообщение может быть создано приложением, исполняемым в передающей компьютерной системе, при возможной помощи пользователя.
Хотя такой обмен электронными сообщениями предпочтительным образом позволяет вычислительным системам обмениваться информацией и при этом обслуживать связанных с ними пользователей способами, которые прежде были неизвестны, электронные сообщения подвержены перехвату. В зависимости от чувствительности информационного содержания электронного сообщения, это может нанести вред и даже иметь катастрофические последствия в некоторых случаях. Чтобы защитить электронные сообщения от перехвата, они часто шифруются, чтобы только те, кто имеет определенную двоичную последовательность (называемую «ключом»), могли дешифрировать электронное сообщение, чтобы получить доступ к информации, представленной в электронном сообщении. Прилагаются усилия, чтобы только принимающая компьютерная система имела доступ к ключу, требуемому для дешифрирования электронного сообщения. Соответственно, любой посторонний перехватчик, не прилагая экстраординарных чрезвычайных усилий, мог бы иметь доступ только к зашифрованной форме электронного сообщения.
При симметричном шифровании тот же самый ключ, который используется для шифрования электронного сообщения, может быть использован для дешифрирования электронного сообщения. При асимметричном шифровании «открытый ключ» и «секретный ключ» связаны с конкретной компьютерной системой. Открытый ключ известен для широкого круга компьютерных систем, в то время как секретный ключ не распространяется. Секретный ключ может быть использован для дешифрирования любых сообщений, которые зашифрованы с использованием открытого ключа. Секретный ключ является более чувствительным, чем открытый ключ, поскольку принимающая компьютерная система должна быть единственной компьютерной системой, имеющей возможность дешифрирования электронных сообщений, предназначенных для данной компьютерной системы.
Чтобы облегчить шифрование, передающая компьютерная система часто получает доступ к сертификату, связанному с принимающей компьютерной системой. На фиг. 8 показана структура данных сертификата 800, соответствующего предшествующему уровню техники. Сертификат 800 включает в себя информацию 803 проверки достоверности. Информация 803 проверки достоверности позволяет передающей компьютерной системе подтверждать достоверность того, что сертификат на самом деле соответствует принимающей компьютерной системе, и что сертификат не был отменен. Сертификат Х.509 является одним из типов сертификата, который широко используется в настоящее время. Информация подтверждения достоверности сертификата Х.509 может включать в себя, например, URL (унифицированный указатель информационного ресурса), к которому можно получить доступ, чтобы проверить, соответствует ли сертификат компьютерной системе-получателю. Информация подтверждения достоверности сертификата Х.509 может также включать в себя перечень отмены сертификата для указания на то, был ли сертификат отменен или нет.
Сертификат 800 также включает в себя информацию 802 идентификации сертификата, которая позволяет передающей компьютерной системе идентифицировать сертификат. Например, сертификат Х.509 может включать в себя, например, идентификатор ключа или, возможно, комбинацию идентификатора запрашивающей стороны и порядковый номер.
Сертификат 800 также включает в себя информацию 801 шифрования (например, открытый ключ в сертификате Х.509). Информация шифрования позволяет передающей компьютерной системе шифровать электронное сообщение таким образом, чтобы оно могло быть дешифрировано компьютерной системой-получателем в соответствии с сертификатом. Например, если передающая компьютерная система шифрует электронное сообщение с использованием открытого ключа, соответствующего компьютерной системе-получателю, то компьютерная система-получатель будет в идеальном случае единственной компьютерной системой, имеющей соответствующий секретный ключ, необходимый для дешифрирования электронного сообщения.
Имеются важные случаи, когда сертификат используется в пункте шифрования. Например, обычно при шифровании электронной почты, которая использует стандарт S/MIME, сертификат для принимающей компьютерной системы используется в самой передающей компьютерной системе, чтобы способствовать выполнению шифрования в передающей компьютерной системе. MIME (многоцелевые расширения электронной почты в сети Интернет) представляет собой спецификацию для форматирования сообщений в коде, отличном от ASCII (Американский стандартный код для обмена информацией), чтобы они могли передаваться по сети Интернет. Многие клиентские компьютеры с возможностями электронной почты поддерживают в настоящее время спецификацию MIME, что позволяет им передавать и принимать графические, аудио- и видеофайлы через почтовую систему Интернет. Спецификация MIME была определена в 1992 году Проблемной группой проектирования Интернет (IETF). S/MIME представляет собой стандарт, который определяет метод шифрования и кодирования информационного содержания сообщений электронной почты, которые совместимы со стандартом MIME. Стандарт S/MIME основан на технологии шифрования с использованием открытого ключа, описанной выше. Ожидается, что стандарт S/MIME будет широко распространен, что обеспечит возможность пользователя посылать секретные сообщения электронной почты друг другу, даже если они используют различающиеся приложения электронной почты.
Имеется ряд потенциальных недостатков, препятствующих широкому принятию и использованию технологии шифрования, основанной на сертификате, такой как технология, определенная стандартом S/MIME, в частности, в мобильных устройствах с ограниченной памятью. В настоящее время для шифрования сообщения в соответствии с технологией шифрования на основе сертификата, необходимо получить доступ ко всему сертификату. Сертификат Х.509 часто может иметь объем намного более 1 килобайта для каждого сертификата. Сертификат обычно используется для каждого потенциального получателя сообщения. Некоторые сообщения могут иметь многочисленных получателей, тем самым увеличивая объем памяти, требуемый для хранения сертификатов. Это могло бы значительно снизить характеристики в условиях работы в мобильном устройстве, которое в типовом случае имеет ограниченную память и ограниченные возможности процессора.
Кроме того, передающая компьютерная система часто получает сертификаты от другой компьютерной системы через соединения со значительным временем ожидания и/или узкой шириной полосы (например, кодовый вызов или беспроводное соединение). В частности, сертификаты часто сохраняются в централизованных хранилищах (репозитариях) или каталогах для доступа пользователями электронной почты. Размер сертификата существенно влияет на пользователей электронной почты, которые соединяются с этими хранилищами посредством медленно действующих сетевых соединений. Таким образом, предпочтительной была бы такая технология шифрования на основе сертификата, которая уменьшила бы требования к памяти, процессору и ширине полосы.
Сущность изобретения
Вышеописанные проблемы, свойственные предшествующему уровню техники, преодолеваются за счет принципов настоящего изобретения, направленных на механизм шифрования на основе сертификата, в котором полный сертификат не используется в пункте шифрования, тем самым обеспечивая экономию памяти и ресурсов процессора в пункте шифрования. Кроме того, когда пункт шифрования уже не имеет доступа к сертификату, меньшая его часть, а не весь сертификат передается в пункт шифрования, тем самым обеспечивая сбережение ширины полосы (и памяти) в сравнении с передачей (и сохранением) всего сертификата.
Принципы настоящего изобретения могут быть реализованы в сетевой среде, в которой клиентский компьютер-источник является пунктом шифрования для электронного сообщения, которое должно быть передано к одному или нескольким клиентским компьютерам-получателям. К сертификату может быть обеспечен доступ с сервера сертификатов, который обеспечивает соответствующие сертификаты по меньшей мере для некоторых из потенциальных клиентских компьютеров-получателей для электронного сообщения. Сертификат включает в себя информацию шифрования, которая позволяет, имея доступ к сертификату, зашифровывать электронное сообщение таким образом, чтобы оно могло быть дешифрировано объектом, соответствующим сертификату. Сертификат также включает в себя информацию самопроверки, которая позволяет, имея доступ к сертификату, проверить, что сертификат является действительным, что сертификация принадлежит соответствующему объекту, и что сертификат не был отменен.
Клиентский компьютер-источник получает доступ к электронному сообщению, которое должно передаваться к клиентскому компьютеру-получателю, и затем определяет, что электронное сообщение должно быть зашифровано. Клиентский компьютер-источник генерирует запрос для доступа только к части сертификата, соответствующего клиентскому компьютеру-получателю. Эта часть включает в себя информацию шифрования, но в ней может отсутствовать некоторая или даже вся информация самопроверки. Клиентский компьютер-источник затем передает запрос на сервер сертификатов, который принимает запрос и в ответ возвращает только запрошенную часть сертификата.
Возвращенная часть сертификата может быть намного меньшей, чем сертификат в целом. Соответственно, возврат только запрошенной части значительно сокращает ширину полосы, требуемую между сервером сертификатов и клиентским компьютером-источником. Когда клиентский компьютер-источник получает ответ, информация шифрования используется для шифрования электронного сообщения таким образом, чтобы оно могло дешифрироваться на клиентском компьютере-получателе.
Процесс шифрования может включать в себя использование открытого ключа для прямого шифрования содержимого электронного сообщения. Альтернативно, если сообщение должно приниматься множеством клиентских компьютеров-получателей, то информационное содержание электронного сообщения может быть зашифровано другим ключом (например, сеансовым ключом). Электронное сообщение может также включать в себя, для каждого клиентского компьютера-получателя, сеансовый ключ, зашифрованный его открытым ключом.
Соответственно, поскольку для шифрования передается и используется меньше чем весь сертификат, то память и ресурсы обработки в клиентском компьютере-источнике экономятся. Это особенно важно, если клиентский компьютер-источник является мобильным устройством, которое уже имеет ограниченные ресурсы процессора и памяти и часто имеет ограниченное по ширине полосы соединение с другими сетями. Настоящее изобретение в особенности полезно, если важна синхронизация, а также защищенность электронного сообщения.
Заметим, что некоторая информация самопроверки сертификата может не включаться в запрошенную часть сертификата. Для того, чтобы сохранить защищенность, связанную с возможностью проверки подлинности сертификата, проверка достоверности сертификата может выполняться сервером сертификатов. Предпочтительно, сервер сертификатов уже проверен на доверие клиентским компьютером-источником в той степени, что если сервер сертификатов выполняет такую проверку достоверности, то клиентский компьютер-источник должен считать, что сертификат действителен без независимой проверки достоверности сертификата.
Дополнительные признаки и преимущества изобретения поясняются в последующем описании и частично могут быть очевидны из описания или могут быть изучены при реализации изобретения. Признаки и преимущества изобретения могут быть реализованы и получены с помощью инструментов и комбинаций, в частности, указанных в пунктах формулы изобретения. Эти и другие признаки настоящего изобретения будут более понятны из последующего описания и формулы изобретения или могут быть изучены в процессе реализации изобретения, как изложено ниже.
Краткое описание чертежей
Для того чтобы описать способ, которым могут быть получены вышеописанные и другие преимущества и признаки, более конкретное описание изобретения, кратко описанное выше, будет проиллюстрировано ссылками на конкретные варианты осуществления, которые иллюстрируются прилагаемыми чертежами. Исходя из того, что эти чертежи изображают только типовые варианты осуществления изобретения и поэтому не должны рассматриваться как ограничивающие его объем, изобретение будет описано и пояснено с дополнительной конкретизацией и деталями с использованием иллюстрирующих чертежей, на которых показано следующее:
Фиг. 1 - подходящее беспроводное устройство, в котором могут быть реализованы признаки настоящего изобретения;
Фиг. 2 - подходящая сетевая среда, в которой могут быть использованы принципы настоящего изобретения, включая клиентский компьютер-источник, использующий информацию от сервера сертификатов для шифрования электронных сообщений, подлежащих передаче клиентским компьютерам-получателям;
Фиг. 3 - блок-схема способа, используемого клиентским устройством-источником для шифрования электронного сообщения, подлежащего передаче на одно или несколько клиентских устройств-получателей, и сервером сертификатов, обеспечивающим указанное, в соответствии с принципами настоящего изобретения;
Фиг. 4 - структура данных запроса сертификата в соответствии с принципами настоящего изобретения;
Фиг. 5 - структура данных ответа на запрос в соответствии с принципами настоящего изобретения;
Фиг. 6 - структура данных электронного сообщения, зашифрованного с использованием сертификата (или его части) в соответствии с принципами настоящего изобретения;
Фиг. 7 - структура данных частичного сертификата без информации самопроверки в соответствии с принципами настоящего изобретения и
Фиг. 8 - структура данных полного сертификата с информацией самопроверки в соответствии с предшествующим уровнем техники.
Детальное описание предпочтительных вариантов осуществления изобретения
Принципы настоящего изобретения относятся к механизму шифрования на основе сертификата, в котором клиентское устройство-источник не получает доступ ко всему сертификату, соответствующему клиентскому устройству-получателю, при шифровании электронного сообщения, подлежащего передаче клиентскому устройству-получателю. Вместо этого клиентское устройство-источник только запрашивает часть сертификата от сервера сертификатов. Эта часть включает в себя информацию шифрования, но может не иметь некоторой или даже всей информации самопроверки в сертификате. Если реализуется проверка достоверности, то сервер сертификатов выполняет любую проверку достоверности сертификата до передачи информации шифрования к клиентскому устройству-источнику. Не требуется отдельной проверки подлинности сертификата клиентским устройством-источником, особенно если сервер сертификатов уже проверен на доверие клиентским устройством-источником.
Клиентское устройство-источник использует более ограниченные части сертификата (что может быть определено как «мини-сертификат» или как «частичный сертификат»), чтобы шифровать сообщение. Поскольку частичный сертификат намного меньше, чем полный сертификат, это сокращает память и ресурсы процессора, используемые для выполнения шифрования на основе сертификата, а также снижает требования по ширине полосы между сервером сертификатов и клиентским устройством-источником.
Варианты осуществления настоящего изобретения могут включать в себя специализированное или универсальное компьютерное устройство, включая различные компьютерные аппаратные средства, как описано более подробно ниже. Варианты осуществления, входящие в объем настоящего изобретения, также включают в себя считываемые компьютером носители для переноса или хранения считываемых компьютером инструкций или структур данных, сохраненных на них. Такие считываемые компьютером носители могут представлять собой любые доступные носители, к которым может иметь доступ универсальный или специализированный компьютер. Например, но не в качестве ограничения, такие считываемые компьютером носители могут включать в себя физические носители для хранения данных, такие как RAM (ОЗУ), ROM (ПЗУ), EEPROM (электронно-стираемое программируемое ПЗУ - ЭСППЗУ), CD-ROM (ПЗУ на компакт-дисках) или другие устройства памяти на оптических дисках, на магнитных дисках, или магнитные ЗУ, или любые другие носители записи, которые могут использоваться для переноса или хранения желательных средств программного кода в форме исполняемых компьютером инструкций или структур данных, и доступ к которым может быть осуществлен универсальным или специализированным компьютером. Считываемые компьютером носители данных могут представлять собой постоянную память, или память исполняемой программы, или их комбинацию.
Фиг. 1 и последующее описание предназначены для того, чтобы обеспечить краткое обобщенное описание соответствующей компьютерной среды, в которой может быть реализовано изобретение. Хотя это не является обязательным, изобретение будет описано в общем контексте исполняемых компьютером инструкций, таких как программные модули, исполняемые компьютерными устройствами. В принципе, программные модули включают в себя стандартные программы (подпрограммы), программы, объекты, компоненты, структуры данных и тому подобные средства, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных.
Как показано на фиг. 1, соответствующая операционная среда, подходящая для реализации принципов настоящего изобретения, включает в себя универсальное вычислительное устройство в форме беспроводного устройства 100. Хотя беспроводное устройство 100 имеет вид беспроводного телефона, самые разнообразные устройства имеют возможность в настоящее время осуществлять связь по беспроводной сети и могут иметь выгоду от использования принципов настоящего изобретения. Например, в настоящее время доступны портативные компьютеры, планшетные ПК, персональные цифровые помощники и другие беспроводные устройства. Другие формы беспроводных устройств могут быть разработаны в будущем. Принципы настоящего изобретения не ограничены конкретной формой беспроводного устройства.
Беспроводное устройство 100 включает в себя пользовательский интерфейс 101 для обеспечения пользователю возможности ввода информации через пользовательский интерфейс 103 ввода. Пользователь просматривает информацию, представляемую посредством пользовательского интерфейса 102 вывода. Пользовательский интерфейс будет в значительной степени варьироваться в зависимости от конструктивных характеристик беспроводного устройства. В показанном варианте осуществления, в котором беспроводное устройство 100 является портативным компьютером, пользовательский интерфейс 102 вывода включает в себя громкоговоритель для представления аудиоинформации пользователю, а также дисплей 105 для представления визуальной информации пользователю.
Пользовательский интерфейс 103 ввода может включать в себя микрофон 106 для воспроизведения аудиоинформации в электронной форме. Дополнительно, пользовательский интерфейс 103 ввода включает в себя средства управления 107 набором номера и средства управления 108 навигацией, которые позволяют пользователю вводить информацию в беспроводное устройство 100.
Средство программного кода, содержащее один или более программных модулей, может быть сохранено в памяти 112. Один или несколько программных модулей могут включать в себя операционную систему 113, одну или несколько прикладных программ 114, другие программные модули 115 и программные данные 116. Один или несколько программных модулей могут быть реализованы в виде экземпляра в памяти (энергозависимой) или загружены из памяти (энергонезависимой) и затем могут обрабатываться с использованием процессора 111. Средство программного кода может включать в себя энергонезависимую и энергозависимую память, и ее форма может варьироваться в значительной степени в зависимости от типа беспроводного устройства.
Хотя фиг. 1 представляет подходящую операционную среду для настоящего изобретения, принципы настоящего изобретения могут быть использованы в любом беспроводном устройстве, которое может осуществлять связь в беспроводной сети. Беспроводное устройство, показанное на фиг. 1, является всего лишь иллюстративным, и ни в коей мере не представляет даже малую часть широкого разнообразия сред, в которых могут быть реализованы принципы настоящего изобретения.
На фиг. 2 представлена сетевая среда 200, в которой могут быть использованы принципы настоящего изобретения. Сетевая среда 200 включает в себя клиентскую компьютерную систему-источник 210. В данном описании и в формуле изобретения термин «компьютерная система» означает любой компонент аппаратных средств или комбинацию компонентов аппаратных средств, которые имеют возможность исполнять программное обеспечение с использованием одного или нескольких процессоров. Компьютерная система может представлять собой систему или устройство, которое имеет средства обработки. Компьютерная система может представлять собой, например, портативный компьютер, настольный компьютер, планшетный компьютер, карманный компьютер, мобильный телефон или любую другую систему или устройство обработки как существующее, так и то, которое будет разработано в будущем.
В данном описании и в формуле изобретения термин «клиентская компьютерная система» или «клиентский компьютер» («клиент») означает любую компьютерную систему, которая получает услуги от другой компьютерной системы, независимо от того, обеспечивает ли также данная клиентская компьютерная система услуги для других компьютерных систем. Например, клиентский компьютер-источник 210 получает услуги сервера 220 сертификатов, который действует для обеспечения сертификатов (или их частей) клиентскому компьютеру-источнику 210 по мере необходимости. В данном примере клиентский компьютер-источник 210 получает доступ к электронному сообщению (независимо от того, создал ли он, или нет, это электронное сообщение), которое должно быть переслано к одному или нескольким клиентским компьютерам-получателям 230, включая любой из клиентских компьютеров-получателей 231, 232, 233, 234, среди потенциально возможного большего их числа, как представлено вертикальными символами 235. Клиентский компьютер-источник 210 и клиентские компьютеры-получатели 231, 232, 233 и 234 могут быть конфигурированы, как описано выше для беспроводного устройства 100 или могут иметь любую другую форму, которая соответствует определению компьютерной системы, изложенному выше.
Фиг. 3 иллюстрирует способ 300 шифрования клиентской компьютерной системой-источником сообщения, которое должно быть послано по меньшей мере одному из клиентских компьютеров-получателей с помощью сервера сертификатов в соответствии с принципами настоящего изобретения. Некоторые действия и этапы способа 300 могут быть выполнены клиентским компьютером-источником 210, как представлено левым столбцом на фиг. 3 под заголовком «Клиентский компьютер-источник». Другие действия способа 300 выполняются сервером 220 сертификатов, как представлено в правом столбце на фиг. 3 под заголовком «Сервер сертификатов».
Клиентский компьютер-источник 210 сначала получает доступ к электронному сообщению, которое должно передаваться по меньшей мере к одному клиентскому компьютеру-получателю (действие 301). Электронное сообщение может быть получено из локальной памяти или, возможно, получено от другой компьютерной системы для доставки к компьютерной системе-получателю. Кроме того, электронное сообщение может представлять собой предварительную версию окончательной версии электронного сообщения, которое должно предаваться к клиентскому компьютеру-получателю.
Клиентский компьютер-источник 210 затем определяет, что электронное сообщение должно быть зашифровано перед передачей к клиентскому компьютеру-источнику (действие 302). Это определение может быть сделано в ответ на установку конфигурации, конкретную установку, связанную с клиентским компьютером-получателем или группой клиентских компьютеров, к которой относится данный клиентский компьютер-получатель, или, возможно, в ответ на запрос от пользователя клиентского компьютера-источника.
Клиентский компьютер-источник 210 затем выполняет функциональный, ориентированный на результат этап шифрования для выполнения шифрования на основе сертификата для клиентского компьютера-источника, не требуя локального доступа к полному сертификату, соответствующему клиентскому компьютеру-получателю (этап 303). Этот ориентированный на результат этап включает любые соответствующие действия для достижения этого результата. Однако в иллюстрируемом варианте осуществления этап 303 включает соответствующие действия 304, 305 и 309.
Более конкретно, клиентский компьютер-источник 210 генерирует запрос для доступа только к части сертификата, соответствующего клиентскому компьютеру-получателю. Эта часть может представлять собой сертификат, показанный на фиг. 7 как частичный сертификат 700. Частичный сертификат 700 включает в себя информацию 701, необходимую для шифрования электронного сообщения таким образом, чтобы оно могло дешифрироваться клиентским компьютером-получателем. Информация 701 шифрования частичного сертификата 700 может быть подобной информации 801 шифрования полного сертификата. Например, если полный сертификат 800 представлял собой сертификат Х.509, информация 701 шифрования может представлять собой открытый ключ, который соответствует секретному ключу, принадлежащему клиентскому компьютеру-получателю.
Частичный сертификат 700 может также включать в себя информацию 702 идентификации сертификата, которая идентифицирует полный сертификат 800, соответствующий частичному сертификату 700. Информация 702 идентификации сертификата может включать в себя, например, по меньшей мере часть информации 802 идентификации сертификата, относящейся к полному сертификату. Например, если полный сертификат 800 представлял собой сертификат Х.509, то информация 702 идентификации сертификата может включать в себя идентификатор ключа или, альтернативно или в дополнение, комбинацию идентификатора запрашивающей стороны и серийного номера сертификата. Хотя часть информации 803 проверки достоверности может также включаться в частичный сертификат 700, никакая информация 803 проверки достоверности не показана как содержащаяся в составе частичного сертификата. Поскольку частичный сертификат 700 не содержит большей части информации полного сертификата 800, размер частичного сертификата 700 будет намного меньше, чем размер полного сертификата.
После того как клиентский компьютер-источник 210 сформирует запрос на доступ к части сертификата (действие 304), клиентский компьютер-источник 210 передает запрос к серверу 220 сертификатов (действие 305). Эта передача представлена на фиг. 2 запросом 211, передаваемым от клиентского компьютера-источника 210 к серверу 220 сертификатов, как представлено стрелкой 211А.
На фиг. 4 схематично представлена структура данных запроса 211 в соответствии с настоящим изобретением. Запрос 211 включает в себя информацию 401 заголовка. Эта информация 401 заголовка может включать в себя любую информацию, используемую протоколом передачи. Например, если электронное сообщение представляет собой запрос протокола передачи гипертекста (НТТР) (например, запрос НТТР POST), то запрос 211А будет включать в себя информацию заголовка НТТР. Использование протокола НТТР для передачи запроса полезно в случаях, когда сервер сертификатов 220 не находится в одной локальной сети с клиентским компьютером-источником 210, а доступен только через Интернет.
Запрос 211 также включает в себя идентификацию клиентского компьютера-получателя 402. Эта идентификация может быть в форме, например, унифицированного указателя информационного ресурса (URL), адреса протокола Интернет (IP), или адреса электронной почты, связанного с клиентским(и) компьютером(ами)-получателем(ями). Если идентификация была в форме неразрешенного имени индивидуального клиентского компьютера-получателя, сервер 220 сертификатов может также осуществить разрешение для имени конкретного клиентского компьютера-получателя и предоставить результат этого разрешения клиентскому компьютеру-источнику 210 в то же время, когда запрошенный частичный или полный сертификат предоставляется сервером сертификатов клиентскому компьютеру-источнику. Если идентификация была в форме неразрешенного имени или списка распределения, то сервер сертификатов может расширить список распределения и затем возвратить клиентскому компьютеру-источнику 210 либо частичный, либо полный сертификат для каждого из клиентских компьютеров-получателей в соответствии со списком распределения. Записи в списке распределения включают в себя индивидуализированные объекты, а также потенциально один или более других дочерних списков распределения. Расширение списка распределения означает идентификацию каждого индивидуализированного объекта, включенного в список распределения путем, во-первых, включения любого индивидуализированного объекта, непосредственно идентифицированного в списке распределения, а затем рекурсивного выполнения того же расширения для любого одного или нескольких из других дочерних списков распределения. Посредством такого рекурсивного процесса все индивидуализированные объекты в списке распределения идентифицируются, даже если эти индивидуализированные объекты идентифицированы только в дочернем или другом производном списке распределения. Альтернативно, такое разрешение имен адреса может выполняться отдельно сервером 220 сертификатов или некоторым другим сервером разрешения (не показан) и/или посредством механизма разрешения, внутреннего для клиентского компьютера-источника 210.
Запрос 211 также включает в себя запрос 403 сертификата, который содержит указание на то, запрошена ли полная версия сертификата (как представлено полем 404 полной версии) или частичная версия сертификата (как представлено полем 405 частичной версии). Если имеется более одного клиентского компьютера-получателя соответственно запросу сертификата, то запрос может определять, что для всех клиентских компьютеров-получателей желательна полная версия сертификата, или что для всех клиентских компьютеров-получателей желательна частичная версия сертификата. Альтернативно, запрос может определять, что частичный сертификат должен быть возвращен только для указанной группы клиентских компьютеров-получателей и что полный сертификат должен быть возвращен для других. Кроме того, запрос может определять, что полный сертификат может быть возвращен только для указанной группы клиентских компьютеров-получателей и что частичный сертификат должен быть возвращен для других. Ниже описан пример конкретного запроса сертификата в форме запроса "getcert" (получить сертификат).
Команда "getcert" может находиться в составе запроса HTTP POST и включать в себя текст "cmd=getcert", чтобы тем самым идентифицировать, что данный запрос предназначается для запроса сертификата.
Адресное поле "addrs=[ADDRESS] может указывать список одного или нескольких адресов одного или нескольких клиентских компьютеров-получателей, сертификаты которых требуются. Если заглавные буквы заключены в квадратные скобки, то это означает, что действительное значение типа, описанного заглавными буквами, будет заменять квадратные скобки и их содержимое в сообщении. Например, [ADDRESS] будет заменено действительным адресом клиентского компьютера-получателя, или неразрешенное имя будет разрешено сервером сертификатов в виде адреса. По команде "getcert" данные разрешения не возвращаются назад к клиентскому компьютеру-источнику, а возвращается только сертификат для разрешенного адреса.
Факультативное поле "minicert=[t/f]", если оно установлено на «истинно», обуславливает возврат сервером 220 сертификатов частичного сертификата, а не полного сертификата. В противном случае, если оно установлено на «ложно» или если поле minicert отсутствует, то будет возвращен полный сертификат. Поле minicert может соответствовать конкретному клиентскому компьютеру-получателю, представленному полем addrs или может представлять некоторые или все клиентские компьютеры-получатели, представленные полем addrs в запросе.
Сервер 220 сертификатов принимает запрос от клиентского компьютера-источника 210 (действие 306), определяет, что запрашивается только частичный сертификат (действие 307), и затем отвечает возвратом только частичного сертификата для клиентского компьютера-получателя (действие 308). В соответствии с фиг. 2, сервер 220 сертификатов возвращает ответ 212 клиентскому компьютеру-источнику 210, как представлено стрелкой 212А.
На фиг. 5 показана приведенная для примера структура данных ответа 212. Ответ включает в себя информацию 501 заголовка. Например, если запрос 211 представлял собой запрос протокола НТТР, ответ 212 может быть ответом протокола НТТР, и в этом случае информация заголовка должна быть информацией заголовка ответа протокола НТТР. Ответ также включает в себя сертификат 503 для каждого из клиентских компьютеров-получателей электронного сообщения. Сертификат может представлять собой полный сертификат, как представлено элементом 504, или может быть частичным сертификатом, как представлено элементом 505. Однако в соответствии с принципами настоящего изобретения, частичный сертификат возвращается по меньшей мере для одного из клиентских компьютеров-получателей, чтобы принять электронное сообщение.
Ниже представлена возможная схема для ответа, содержащегося в ответе HTTP POST (номера строк добавлены для ясности)
1. | <a:response mlns:a="http://schemas.microsoft.com/exchange/webmail"> |
2. | <a:cert>[CERTIFICATE]</a:cert> |
3. | </a:response> |
Строки 1-3 представляют элемент на языке XML (XML-элемент) «ответа». Атрибут "xmlns" представляет пространство имен, соответствующее XML-элементу, которое может быть использовано для синтаксического анализа и интерпретации и определения значения XML-элемента.
Строка 2 представляет X