Уровень техники
Сертификат - это документ, подписанный цифровым способом, который содержит информацию об объекте и открытом ключе объекта. Квитирование - это диалог между двумя объектами, например пользователем и компьютером, компьютером и компьютером или программой и другой программой), используемый для идентификации и аутентификации объектов относительно друг друга. Установление соответствия между сертификатом и учетной записью пользователя или участником безопасности согласно квитированию часто не удается, если сертификат не предоставляет достаточной информации для идентификации личности или области деятельности пользователя.
Примером службы, которая использует сертификаты и квитирования, является защищенный канал. Защищенный канал, также известный как Schannel, является названием провайдера поддержки защиты (SSP) согласно интерфейсу провайдера службы защиты (SSPI), который реализует протоколы SSL/TSL (уровень защищенных гнезд/защита транспортного уровня). SSPI содержит ряд реализаций протоколов защиты. SSP Schanel подключается согласно SSPI. Также SSP Kerberos подключается согласно SSPI. Schannel в первую очередь используют для приложений Internet, которые требуют усовершенствованной защиты для передач протокола передачи гипертекста (HTTP), например, через SSL или TLS. Протоколы Schannel, такие как TLS и SSL, например, требуют “верительных данных”, чтобы аутентифицировать службы и, выборочно, клиентов. Аутентификация сервера, когда сервер предоставляет доказательство своей идентичности клиенту, требуется протоколами защиты Schanel. Аутентификация клиента может быть запрошена сервером в любое время.
“Верительные данные” Schannel могут быть сертификатами Х.509. Информацию об открытом и секретном ключе из сертификатов используют, чтобы аутентифицировать сервер и, выборочно, клиента. Эти ключи также используют, чтобы обеспечить целостность сообщения, в то время как клиент и сервер обмениваются информацией, необходимой для того, чтобы сгенерировать ключи сеанса и обменяться ими.
Schannel является модулем, который реализует SSL и TLS, протокол клиент/сервер, который используют, чтобы установить аутентификацию пользователя в сервере. Эта аутентификация имеет результатом маркер, который может быть использован сервером для исполнения роли клиента. Schannel использует сертификаты, чтобы аутентифицировать пользователя (установление соответствия сертификата и учетной записи пользователя).
Когда пользователь (клиент) идентифицирует себя в сервере, сервер должен определить полномочия (для учетной записи пользователя). Это обычно выполняют посредством использования расширения имени участника-пользователя (UPN) в сертификате Х.509. Однако, если UPN отсутствует или, если UPN не предоставляет достаточной информации для идентификации области деятельности пользователя (в сценарии через совокупность деревьев), установление соответствия между сертификатом и учетной записью пользователя (например, учетной записью пользователя активной директории) не удастся.
Подобная проблема существует при установлении соответствия между сертификатом и пользовательскими записями с помощью Kerberos с использованием S4U.
Сущность изобретения
Информацию об установлении соответствия (сопоставления) пользователя (например, в виде “подсказки”) предоставляют в протоколах аутентификации. Например, клиент предоставляет информацию об установлении соответствия пользователя в сервер во время аутентификации. Подсказку используют для того, чтобы помочь идентифицировать, где находится учетная запись пользователя, таким образом, предоставляют возможность установить соответствия между сертификатом и учетной записью в пользователя.
Например, формат данных (например, формат передачи по проводам) может быть изменен для протокола TLS для посылки информации об имени домена и имени пользователя). Например, подсказку (например, в виде механизма расширения TLS) используют, чтобы послать информацию об имени домена/пользователя, чтобы помочь серверу в установлении соответствия между сертификатом пользователя и учетной записью. Механизм расширения TLS обеспечивает целостность и достоверность данных установления соответствия, посланных с помощью клиента.
На стороне сервера информацию из уровня протокола извлекают и преобразуют, и используют для того, чтобы установить соответствие между сертификатом пользователя и учетной записью и сгенерировать маркер защиты (исполнения роли) пользователя.
Подобным образом расширение для протокола Kerberos позволяет использовать подсказку установления соответствия и сертификат и позволяет получать маркер пользователя.
Краткое описание чертежей
Фиг.1 - блок-схема последовательности этапов примерного способа установления соответствия.
Фиг.2 - схема примерной системы установления соответствия клиент-сервер с помощью квитирования.
Фиг.3 - блок-схема последовательности этапов другого примерного способа установления соответствия.
Фиг.4 - блок-схема, изображающая примерную вычислительную среду, посредством которой могут быть реализованы аспекты изобретения.
Подробное описание иллюстративных вариантов
осуществления изобретения
Подсказку, содержащую информацию об установлении соответствия пользователя, предоставляют в сообщениях, которыми можно обмениваться, в качестве части этапа аутентификации клиент/сервер и обмена ключами. Например, клиент может предоставить информацию об установлении соответствия пользователя в сервер во время аутентификации. Подсказка (например, в виде механизма расширения TLS) может быть использована для того, чтобы послать информацию об имени домена/пользователя клиента, чтобы помочь серверу в установлении соответствия сертификата пользователя учетной записи. Механизм расширения обеспечивает целостность и достоверность данных установления соответствия, посланных с помощью клиента. Пользователь предоставляет подсказку относительно того, где найти правильную учетную запись или контроллер домена (который указывает на правильную учетную запись или, иначе, поддерживает правильную учетную запись). На основании подсказки и другой информации в сертификате пользователю сопоставляется учетная запись. Подсказка может быть предоставлена пользователем, когда он регистрируется в системе.
Таким образом, сертификат преобразуют в идентификационные данные, чтобы аутентифицировать пользователя. Подсказку посылают вместе с информацией сертификата, чтобы выполнить привязку. Существующие протоколы могут быть расширены, чтобы передавать дополнительную информацию установления соответствия (подсказку), чтобы выполнить привязку.
Фиг.1 - блок-схема последовательности этапов примерного способа установления соответствия. На этапе 10 клиент посылает данные или сигнал в сервер, чтобы указать, что используется расширение установления соответствия (например, содержащее информацию об установлении соответствия или подсказку). Сервер подтвердит, что он может или не может обработать расширение, на этапе 15. Расширение установления соответствия посылают в сервер на этапе 20, как данные об установлении соответствия пользователя, например, как случайные данные. Если сервер может обработать расширение, сервер использует данные расширения установления соответствия (подсказку) на этапе 25, чтобы определить, с кем разговаривать. Затем обе стороны получают данные приложения на этапе 30.
Функциональные возможности провайдера (например, Schannel) желательно расширяют, чтобы послать информацию об установлении соответствия, содержащую имя участника пользователя (UPN) и домен, чтобы помочь стороне сервера выполнить установление соответствия между сертификатом и учетной записью пользователя. В частности, это полезно в случаях, когда (UPN) находится не в самом сертификате, а в размещениях с множеством активных директорий. Информация об установлении соответствия также может быть, например, обычным именем или именем учетной записи.
Пример квитирования SSL, описанный относительно системы установления соответствия клиент/сервер фиг.2, поддерживает взаимную аутентификацию на основании сертификатов Х.509 клиента и сервера и предусматривает последующую конфиденциальность и целостность канала связи клиент/сервер посредством ключа сеанса, который получают из главного секретного кода.
UPN и имя домена (где находится учетная запись пользователя) желательно определяют и посылают во время квитирования. После того как квитирование закончено, информацию верифицируют как защищенную с помощью обеих сторон, чтобы гарантировать, что никакой посредник не тронул информацию.
Для аутентификации стороны клиента провайдер поддержки или протокола защиты (например, Schannel) может послать сертификат и соответствующую подпись пользователя в сообщениях “сертификат” и ”проверка сертификата” соответственно. После окончания квитирования сторона сервера может пытаться установить соответствие между сертификатом и учетной записью пользователя, для того чтобы сгенерировать маркер олицетворения.
Фиг.2 иллюстрирует, как информация об установлении соответствия пользователя может быть интегрирована в квитирование, такое как квитирование TLS. Несмотря на то, что описано квитирование TLS, предполагается, что изобретение может быть использовано относительно любых протоколов, включающих в себя квитирования, сертификаты и/или аутентификацию. При обмене начальным приветственным сообщением клиент 101 и сервер 130 согласовывают, поддерживается ли расширение установления соответствия (например, посредством нового типа расширения, который может быть добавлен к части расширения приветствий клиента и сервера). Данные об установлении соответствия пользователя (например, имя участника и домена) желательно посылают в новом сообщении (например, “user_mapping_data”), которое следует за сообщением сертификата пользователя.
Как упомянуто выше относительно сообщений TLS, передача информации об установлении соответствия пользователя от клиента в сервер может использовать расширения TLS. Новое расширение (например, user_mapping) может быть установлено и послано в приветствии клиента. Если сервер поместил то же самое расширение (user_mapping) в приветствии сервера, это будет означать для клиента, что сервер понимает это расширение. Если сервер не понимает расширение, он ответит с помощью нерасширенного приветствия сервера, и клиент будет продолжать как обычно, игнорируя расширение.
Если новое расширение понято, клиент выдаст новое сообщение квитирования до сообщения сертификата клиента. Размещение этого сообщения дает возможность серверу принять информацию об установлении соответствия до того, как он должен проверить достоверность (и сопоставить) сертификат. Затем сервер проанализирует это сообщение, извлекая домен клиента, и запомнит его в контексте, предназначенном для использования при сопоставлении сертификата.
“Обработка сервера” полностью содержится в функциях сопоставления/привязки. На данном этапе, если информация о расширении находится там, ее используют, иначе обработка продолжается как обычно. Желательно, чтобы не было ошибки в отсутствии расширения.
Так как клиент является инициатором этого расширения, определяют, когда клиент пошлет информацию об установлении соответствия пользователя. Несмотря на то, что эта информация всегда могла бы быть посланной, может быть нежелательным осуществлять широковещательную передачу этой информации почти в каждый сервер в любой момент, так как она раскроет инфраструктуру сети, которую используют клиент и сервер. С другой стороны, когда информация раскрыта, не может быть сделана никакая попытка скрыть ее.
Чтобы исключить избыточность посылки информации об установлении соответствия пользователя, могут быть использованы различные способы, чтобы препятствовать ее распространению, такие как (1) клиент только пошлет расширение, если он договорится об этом при обмене приветственным сообщением, таким образом, препятствуя посылке информации в сервер, который не понимает расширение установления соответствия пользователя, и (2) клиент только пошлет информацию об установлении соответствия пользователя, если сервер находится в списке “надежных” доменов, в которые можно посылать. Например, этот список может быть создан в системном реестре.
Таким образом, как изображено на фиг.3, способ может включать в себя этап, на котором посылают сертификат и подпись от пользователя (например, клиента) получателю (например, в сервер) на этапе 200. Затем могут определить на этапе 210, должна ли быть послана подсказка или информация об установлении соответствия получателю, или нет. Если должна быть послана, тогда на этапе 220 посылают подсказку или информацию об установлении соответствия получателю и устанавливают соответствие между сертификатом и учетной записью пользователя с использованием подсказки или информации об установлении соответствия. Если получателю не должна быть послана подсказка или информация об установлении соответствия, пытаются установить соответствие сертификата пользовательской учетной записи, не используя подсказку, на этапе 230.
Сбором посылаемой информации об установлении соответствия пользователя можно управлять либо программным способом, либо интерактивным способом. Например, чтобы установить “верительные данные” для использования в Schannel, пользователь (например, программа клиента, действующая от имени конечного пользователя) может создать структуру SCANNEL_CRED и передать ее в AcquireCredentialsHandle(). Структура SCANNEL_CRED дает возможность пользователю применить сертификат (CERT_CONTEXT), который ACH() затем используют, чтобы создать “верительные данные” (которые, в свою очередь, присоединяют к сертификату клиента). В качестве альтернативы, пользователь может не задавать сертификат и предоставить Schannel выбрать сертификат пользователя по умолчанию.
В качестве примера того, как может быть реализована подсказка, чтобы извлечь UPN и имя домена DNS, GetUserNameEx() может быть вызван дважды с использованием EXTENDED_NAME_FORMAT NameUserPrincipal и NameDnsDomain. Оба они могут быть присоединены к структуре PSPCredentialGroup. Пример подсказки для имени пользователя был бы предоставлен в сообщении, как UNICODE_STRING UserPrincipalName. Пример подсказки для имени домена мог бы быть предоставлен в сообщении, как UNICODE _STRING DomainName.
В качестве примера, InitializeSecurityContext() принимает как один из своих параметров цель контекста (то есть имя сервера, с которым он устанавливает связь). InitializeSecurityContext() вызовет CheckUserMappingTarget() и установит следующий флаг структуры PSPC в результат:
BOOL fSendMappingExtention.
По умолчанию этот флаг будет не установлен таким образом, чтобы клиент не послал расширение. Файл регистрации отладки укажет решение установить или не указывать флаг.
В качестве дополнительного примера, если расширение установления соответствия пользователя было успешно согласовано, UPN и домен желательно будут помещены в структуре PSPCContext. Эта информация будет использована в начале процесса установления соответствия и передана в вариант сертификата на основании LsaLogonUser()(S4U2Self).
Аспекты приведенных выше примеров были адресованы протоколу, включающему в себя SSL и TLS. Аспекты изобретения также могут быть осуществлены в протоколах, таких как Kerberos. Расширение Kerberos может поставлять сертификат и, необязательно, имя пользователя, которому сопоставляют сертификат. KDS (центр распределения ключей) может выполнить сопоставление учетной записи и проверку достоверности и может послать обратно данные авторизации, которые могут быть использованы клиентом, например, чтобы создать маркер, используемый для авторизации.
Более конкретно, например, вызов LsaLogonUser() может включать в себя подсказку. Подсказки имен передают в LsaLogonUser(). Например, в сообщении, UNICODE_STRING DomainName//OPTIONAL, если предоставлено, используют, чтобы определить местоположение совокупности деревьев; и UNICODE_STRING UserName,//OPTIONAL, если предоставлено, используют, чтобы определить местоположение учетной записи. Имя домена сообщает клиенту (например, локальной машине, в которой пользователь регистрируется), причем этот домен содержит сопоставляемую учетную запись пользователя.
Вызывающей стороне разрешено предоставлять имя пользователя, чтобы дать возможность установить соответствие сертификата множеству учетных записей пользователя. Если имя пользователя предоставлено, KDS использует его, чтобы определить учетную запись пользователя и проверить, что сертификат сопоставляется с этой учетной записью.
Если подсказка имени пользователя не предоставлена, а имя домена предоставлено, имя домена используется клиентом Kerberos, чтобы определить местоположение KDS для аутентификации, и KDS сопоставляет сертификат с учетной записью пользователя. Желательно поддерживать сертификаты клиента, которые не содержат расширение subjectAltName. Такие сертификаты могут быть сопоставлены учетным записям активной директории. Общее и расширяемое решение предоставлено для проблемы сопоставления сертификата с учетной записью.
Если сертификат содержит расширение subjectAltName/UPN, KDS использует его, чтобы сопоставить клиента. В этом случае сертификат клиента желательно удовлетворяет стратегии NT_AUTH. Если объект пользователя не найден на основании UPN, аутентификация должна не удаться.
Если в сертификате нет UPN, KDS создает имя AltSecID “X509:<I><S>” для поиска. В этом случае сертификат клиента не должен удовлетворять стратегии NT_AUTH.
Если в сертификате нет UPN и не найден объект пользователя на этапах, упомянутых выше, учетная запись клиента может быть найдена на основании отличительного имени субъекта, KDS создает имя AltSecID “X509:<S>” для поиска. В этом случае сертификат клиента желательно удовлетворяет стратегии NT_AUTH.
Если в сертификате нет UPN и не найден объект пользователя на этапах, упомянутых выше, KDS использует субъекта и последовательный номер, чтобы создать имя AltSecID “X509:<I><SR>” для поиска. В этом случае сертификат клиента не должен удовлетворять стратегии NT_AUTH.
Если в сертификате нет UPN, не найден объект пользователя и сертификат клиента содержит SKI, KDS создает имя AltSecID “X509:<SKI>” для поиска. В этом случае сертификат клиента не должен удовлетворять стратегии NT_AUTH.
Если в сертификате нет UPN и не найден объект пользователя на этапах, упомянутых выше, KDS создает величину AltSecID “X509:<SHA1-PUKEY>” для поиска. В этом случае сертификат клиента не должен удовлетворять стратегии NT_AUTH.
Если в сертификате нет UPN и не найден объект пользователя на этапах, упомянутых выше, учетную запись клиента ищут на основании имени SAN/822, KDS создает AltSecID “X509:<RFC822>” для поиска. В этом случае сертификат клиента желательно удовлетворяет стратегии NT_AUTH.
Следует заметить, что упомянутые выше этапы и критерии могут быть использованы отдельно или в любой комбинации или последовательности. Также могут быть использованы дополнительные этапы и критерии. Желательно, чтобы первый этап или критерий, который успешно определяет учетную запись, успешно завершился и поиск остановился. Но может быть ошибка конфигурации, если имеются два способа установления соответствия, которые сопоставляют один и тот же сертификат разным учетным записям пользователя.
Следует, заметить, что, если сертификат клиента не имеет UPN, а DN клиента в сертификате совпадает с DN учетной записи пользователя, но эта учетная запись пользователя не сопоставлена, тогда аутентификация должна не удаться.
Примерная вычислительная среда
Фиг.4 иллюстрирует пример подходящей вычислительной системной среды 800, посредством которой может быть осуществлено изобретение. Вычислительная системная среда 800 является только одним примером подходящей вычислительной среды и не предназначена, чтобы предложить какое-либо ограничение относительно объема использования функциональных возможностей изобретения. Также вычислительная среда 800 не должна быть интерпретирована как имеющая зависимость и требование, относящиеся к любому одному или комбинации компонентов, проиллюстрированных в примерной операционной среде 800.
Изобретение работает посредством многочисленных других вычислительных сред или конфигураций общего назначения или специального назначения. Примеры широко известных вычислительных систем, сред и/или конфигураций, которые могут быть подходящими для осуществления изобретения, включают в себя, персональные компьютеры, компьютеры серверов, карманные или портативные переносные устройства, мультипроцессорные системы, системы на основе микропроцессоров, телеприставки, программируемые пользовательские электронные устройства, сетевые РС, миникомпьютеры, универсальные компьютеры, распределенные вычислительные среды, которые включают в себя любые из упомянутых выше систем или устройств, и тому подобные, но не ограничены ими.
Изобретение может быть описано в обычном контексте инструкций, доступных для выполнения с помощью компьютера, таких как программные модули, выполняемые с помощью компьютера. Обычно программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задания или осуществляют конкретные абстрактные типы данных. Изобретение также может быть осуществлено в распределенных вычислительных средах, в которых задания выполняют с помощью удаленных устройств обработки, которые связаны посредством сети связи или другой среды передачи данных. В распределенной вычислительной среде программные модули и другие данные могут быть расположены как в локальной, так и в удаленной компьютерной запоминающей среде, включающей в себя устройства памяти.
Со ссылкой на фиг.4, примерная система, предназначенная для осуществления изобретения, включает в себя вычислительное устройство общего назначения в виде компьютера 810. Компоненты компьютера 810 могут включать в себя устройство 820 обработки, системную память 830 и системную шину 821, которая соединяет различные компоненты системы, включая системную память, с устройством 820 обработки, но не ограничены ими. Системная шина 821 может быть одним из нескольких типов структур шин, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, использующих любую из множества архитектур шин. В качестве примера, а не ограничения, такие архитектуры включают в себя шину промышленной стандартной архитектуры (ISA), шину микроканальной архитектуры (MCA), шину расширенной промышленной стандартной архитектуры (EISA), локальную шину Ассоциации по стандартам видеоэлектроники (VESA), шину межсоединения периферийных компонентов (PCI) (также известную как шина второго уровня).
Компьютер 810 обычно включает в себя множество доступных для чтения с помощью компьютера сред. Доступная для чтения с помощью компьютера среда может быть любой доступной средой, доступ к которой может быть осуществлен с помощью компьютера 810, и которая включает в себя как энергозависимую, так и энергонезависимую среду, сменную и несменную среду. В качестве примера, а не ограничения, доступная для чтения с помощью компьютера среда может включать в себя компьютерную запоминающую среду и среду связи. Компьютерная запоминающая среда включает в себя как энергозависимую, так и энергонезависимую, сменную и несменную среду, осуществленную с помощью любого способа или технологии для запоминания информации, такой как доступные для чтения с помощью компьютера инструкции, структуры данных, программные модули или другие данные. Компьютерная запоминающая среда включает в себя RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, цифровые универсальные диски (DVD) или другое устройство памяти на оптическом диске, магнитные кассеты, магнитную ленту, устройство памяти на магнитном диске или другие магнитные устройства памяти, или любые другие среды, которые могут быть использованы, чтобы запоминать желаемую информацию, и доступ к которым может быть осуществлен с помощью компьютера 810, но не ограничена ими. Среда связи обычно воплощает доступные для чтения с помощью компьютера инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущий сигнал или другой механизм переноса, и включает в себя любую среду доставки информации. Понятие “модулированный сигнал данных” означает сигнал, который имеет одну или более своих характеристик, установленными или измененными таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среда связи включает в себя проводную среду, такую как проводная сеть или прямое проводное соединение, и беспроводную среду, такую как акустическая, RF, инфракрасная и другие беспроводные среды. Комбинации любых из упомянутых выше сред также должны быть включены в рамки объема доступной для чтения с помощью компьютера среды.
Системная память 830 включает в себя компьютерную запоминающую среду в виде энергозависимой и/или энергонезависимой памяти, такой как ROM 831 и RAM 832. Базовая система 833 ввода/вывода (BIOS), содержащая базовые подпрограммы, которые помогают передавать информацию между элементами в компьютере 810, например, во время запуска, обычно запоминают в ROM 831. RAM 832 обычно содержит данные и/или программные модули, которые являются мгновенно доступными с помощью устройства 820 обработки, и/или являющиеся выполняемыми в текущий момент в устройстве 820 обработки. В качестве примера, а не ограничения, фиг.4 иллюстрирует операционную систему 834, прикладные программы 835, другие программные модули 836 и программные данные 837.
Компьютер 810 также может включать в себя другие сменные/несменные, энергозависимые/энергонезависимые компьютерные запоминающие среды. Только в качестве примера, фиг.4 иллюстрирует накопитель 840 на жестком диске, который считывает с несменной, энергонезависимой магнитной среды и записывает на нее, накопитель 851 на магнитном диске, который считывает со сменного, энергонезависимого магнитного диска 852 и записывает на него, и накопитель 855 на оптическом диске, который считывает со сменного, энергонезависимого оптического диска 856 и записывает на него, такое как CD-ROM или другие оптические среды. Другие сменные/несменные, энергозависимые/энергонезависимые компьютерные запоминающие среды, которые могут быть использованы в примерной операционной среде, включают в себя кассеты магнитной ленты, карты флэш-памяти, цифровые универсальные диски, цифровые видеоленты, твердотельную RAM, твердотельную ROM и тому подобные, но не ограничены ими. Накопитель 841 на жестком диске обычно соединен с системной шиной 821 через интерфейс несменной памяти, такой как интерфейс 840, а накопитель 851 на магнитном диске и накопитель 855 на оптическом диске обычно соединены с системной шиной 821 с помощью интерфейса сменной памяти, такого как интерфейс 850.
Накопители и связанные с ними компьютерные запоминающие среды обеспечивают хранилище доступных для чтения с помощью компьютера инструкций, структур данных, программных модулей и других данных для компьютера 810. Например, на фиг.4 накопитель на жестком диске проиллюстрирован как запоминающий операционную систему 844, прикладные программы 845, другие программные модули 846 и программные данные 847. Следует заметить, что эти компоненты могут быть теми же самыми, что и операционная система 834, прикладные программы 845, другие программные модули 846 и программные данные 847 или отличными от них. Операционной системе 834, прикладным программам 845, другим программным модулям 846 и программным данным 847 на чертеже даны другие номера, чтобы проиллюстрировать, что, как минимум, они являются другим экземплярами. Пользователь может вводить команды и информацию в компьютер 810 посредством устройств ввода, таких как клавиатура 862 и указательное устройство 861, обычно упоминаемое как мышь, трекбол или сенсорная панель. Другие устройства ввода (не изображены) могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканер и тому подобные. Эти и другие устройства ввода часто соединены с устройством 820 обработки через пользовательский входной интерфейс 860, который соединен с системной шиной, но могут быть соединены с помощью другого интерфейса и структур шины, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 891 или другой тип устройства отображения также соединен с системной шиной 821 через интерфейс, такой как видеоинтерфейс 890. Кроме монитора компьютеры также могут включать в себя другие периферийные устройства вывода, такие как громкоговоритель 897 и принтер 896, которые могут быть соединены через выходной периферийный интерфейс 895.
Компьютер 810 может работать в сетевой среде с использованием логических соединений с одним или более удаленными компьютерами, такими как удаленный компьютер 880. Удаленный компьютер 880 может быть персональным компьютером, сервером, маршрутизатором, сетевым PC, узловым устройством или другим обычным сетевым узлом и обычно включает в себя многие или все из элементов, описанных выше относительно компьютера 819, несмотря на то, что на фиг.4 проиллюстрировано только устройство 881 памяти. Изображенные логические соединения включают в себя LAN (локальная сеть) 871 WAN (глобальная сеть) 873, но также могут включать в себя другие сети. Такие среды организации сетей являются обычными в офисах, глобальных компьютерных сетях предприятий, интрасетях и интерсетях.
При использовании среды организации сети LAN компьютер 810 соединен с LAN 871 через сетевой интерфейс или адаптер 870. При использовании среды организации сети WAN компьютер 810 обычно включает в себя модем 872 или другое средство, предназначенное для устанавливания связи через WAN 873, такую как Интернет. Модем 872, который может быть внутренним или внешним, может быть соединен с системной шиной 821 через пользовательский входной интерфейс 860 или другой подходящий механизм. В сетевой среде программные модули, изображенные относительно компьютера 810 или его компонентов, могут быть сохранены в удаленном устройстве памяти. В качестве примера, а не ограничения, фиг.4 иллюстрирует удаленные прикладные программы 885, как расположенные в устройстве 881 памяти. Будет понятно, что изображенные сетевые соединения являются примерными, и могут быть использованы другие средства установления связи между компьютерами.
Как упомянуто выше, несмотря на то, что примерные варианты осуществления настоящего изобретения описаны в связи с различными вычислительными устройствами, основные концепции могут быть применены к любому вычислительному устройству или системе.
Различные способы, описанные в настоящей заявке, могут быть осуществлены аппаратным обеспечением или программным обеспечением, когда уместно, или комбинацией программного и аппаратного обеспечения. Таким образом, способы и устройства настоящего изобретения или его определенные аспекты или части могут принимать вид программного кода (т.е. инструкций), осуществленных в вещественной среде, такой как гибкие дискеты, CD-ROM, жесткие диски или любые другие доступные для чтения с помощью машины среды, в которых, когда в них загружают программный код и выполняют с помощью машины, такой как компьютер, машина становится устройством, предназначенным для осуществления изобретения. В случае выполнения программного кода в программируемых компьютерах вычислительное устройство обычно будет включать в себя процессор, запоминающую среду, доступную для чтения с помощью процессора (включающую в себя энергозависимую и энергонезависимую память и/или элементы памяти), по меньшей мере, одно устройство ввода и, по меньшей мере, одно устройство вывода. Программа (программы) могут быть осуществлены в ассемблировании или на машинном языке, если необходимо. В любом случае язык может быть компилируемым или интерпретируемым языком, и может быть объединен с осуществлениями аппаратного обеспечения.
Способы и устройства настоящего изобретения также могут быть осуществлены посредством связи, осуществленной в виде программного кода, который передают через некоторую среду передачи, например через электрическую проводную систему или кабельную систему, через оптико-волоконную систему или посредством любого другого вида передачи, причем, когда программный код принимают, загружают и выполняют с помощью машины, такой как EPROM, вентильная матрица, программируемое логическое устройство (PLD), клиентский компьютер или тому подобное, машина становится устройством, предназначенным для осуществления изобретения. Когда способ осуществлен в процессоре общего назначения, программный код объединяется с процессором таким образом, чтобы предоставить уникальное устройство, которое работает таким образом, чтобы вызывать функции настоящего изобретения. Кроме того, любые способы запоминания, используемые в связи с настоящим изобретением, могут быть постоянно комбинацией аппаратного обеспечения и программного обеспечения.
Несмотря на то, что настоящее изобретение описано в связи с предпочтительными вариантами осуществления различных фигур, следует понимать, что могут быть использованы другие подобные варианты осуществления или могут быть сделаны модификации или добавления к описанным вариантам осуществления для выполнения той же функции настоящего изобретения, не отклоняясь от него. Вследствие этого, настоящее изобретение не должно быть ограничено никаким одним вариантом осуществления, а вместо этого должно быть истолковано в рамках широты и объема в соответствии с прилагаемой формулой изобретения.
название | год | авторы | номер документа |
---|---|---|---|
ИНФРАСТРУКТУРА ВЕРИФИКАЦИИ БИОМЕТРИЧЕСКИХ УЧЕТНЫХ ДАННЫХ | 2007 |
|
RU2434340C2 |
УПРАВЛЯЕМОЕ ПОЛИТИКАМИ ДЕЛЕГИРОВАНИЕ УЧЕТНЫХ ДАННЫХ ДЛЯ ЕДИНОЙ РЕГИСТРАЦИИ В СЕТИ И ЗАЩИЩЕННОГО ДОСТУПА К СЕТЕВЫМ РЕСУРСАМ | 2007 |
|
RU2439692C2 |
ОДНОРАНГОВАЯ АУТЕНТИФИКАЦИЯ И АВТОРИЗАЦИЯ | 2005 |
|
RU2390945C2 |
ПРОГРАММНАЯ ПЕРЕДАЧА ПРИЛОЖЕНИЙ МЕЖДУ ТЕЛЕФОННЫМИ ТРУБКАМИ НА ОСНОВЕ ЛИЦЕНЗИОННОЙ ИНФОРМАЦИИ | 2007 |
|
RU2439690C2 |
ТЕЛЕКОММУНИКАЦИОННАЯ ЧИП-КАРТА | 2013 |
|
RU2628492C2 |
СИСТЕМА И СПОСОБ ОБЕСПЕЧЕНИЯ ПРЕЕМСТВЕННОСТИ МЕЖДУ КЛИЕНТАМИ ОБМЕНА СООБЩЕНИЯМИ | 2002 |
|
RU2302033C2 |
СПОСОБЫ АУТЕНТИФИКАЦИИ, ШИФРОВАНИЯ И ДЕКОДИРОВАНИЯ ИДЕНТИФИКАТОРА КЛИЕНТСКОГО ТЕРМИНАЛА И УСТРОЙСТВА ДЛЯ ИХ РЕАЛИЗАЦИИ | 2007 |
|
RU2451398C2 |
ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ СВЯЗИ С РАСШИРЕННЫМИ МУЛЬТИМЕДИЙНЫМИ ПЛАТФОРМАМИ | 2015 |
|
RU2685975C2 |
КОНТЕКСТ УСТОЙЧИВОЙ АВТОРИЗАЦИИ НА ОСНОВЕ ВНЕШНЕЙ АУТЕНТИФИКАЦИИ | 2008 |
|
RU2390838C2 |
ВЗАИМОДЕЙСТВУЮЩИЕ МОДУЛЬНЫЕ СРЕДСТВА СБОРА УДОСТОВЕРЕНИЙ И ДОСТУПА | 2004 |
|
RU2369025C2 |
Изобретение относится к области сетей передачи данных. Технический результат заключается в обеспечении возможности аутентификации при отсутствии расширения имени участника-пользователя. Сущность изобретения заключается в том, что подсказку, содержащую информацию сопоставления пользователя, предоставляют в сообщениях, которыми могут обмениваться во время квитирования аутентификации. Например, клиент может предоставить информацию сопоставления пользователя в сервер во время аутентификации. Подсказка (например, в виде механизма расширения TLS) может быть использована для того, чтобы посылать информацию об имени домена/пользователя клиента, чтобы помочь серверу в установлении соответствия между сертификатом пользователя и учетной записью. Механизм расширения обеспечивает целостность и аутентичность данных сопоставления, посылаемых клиентом. Пользователь предоставляет подсказку относительно того, где найти правильную учетную запись или контроллер домена (который указывает на правильную учетную запись или иначе поддерживает учетную запись). На основании подсказки и другой информации в сертификате пользователя сопоставляют учетную запись. Подсказка может быть предоставлена пользователем, когда он регистрируется в системе. 11 з.п. ф-лы, 4 ил.
1. Способ аутентификации для аутентификации первого вычислительного устройства во втором вычислительном устройстве, причем согласно этому способу первое вычислительное устройство посылает второму вычислительному устройству сертификат, идентифицирующий первое вычислительное устройство для второго вычислительного устройства, и второе вычислительное устройство по меньшей мере пытается сопоставить упомянутый сертификат с учетной записью первого вычислительного устройства на сервере аутентификации, содержащий этапы, на которых
посылают указатель расширения сопоставления из первого вычислительного устройства во второе вычислительное устройство отдельно от посылки упомянутого сертификата, причем указатель расширения сопоставления указывает, что первое вычислительное устройство может послать второму вычислительному устройству информацию сопоставления, чтобы помочь второму вычислительному устройству в определении местоположения учетной записи первого вычислительного устройства на сервере аутентификации;
направляют подтверждение от второго вычислительного устройства первому вычислительному устройству, что второе вычислительное устройство может принять эту информацию сопоставления, отдельно от посланного сертификата, соответствующего принятому указателю расширения сопоставления;
посылают информацию сопоставления из первого вычислительного устройства во второе вычислительное устройство отдельно от посылки упомянутого сертификата; и
определяют посредством второго вычислительного устройства местоположение учетной записи первого вычислительного устройства в сервере аутентификации на основании посланной информации сопоставления.
2. Способ по п.1, в котором сервер аутентификации содержит контроллер домена.
3. Способ по п.1, дополнительно содержащий этапы, на которых получают данные приложения после определения местоположения учетной записи или сервера аутентификации и проверяют данные приложения.
4. Способ по п.1, дополнительно содержащий этап, на котором посылают сертификат из первого вычислительного устройства во второе вычислительное устройство.
5. Способ по п.4, дополнительно содержащий этап, на котором устанавливают соответствие пользователя учетной записи на основании информации сопоставления и сертификата.
6. Способ по п.4, дополнительно содержащий этап, на котором устанавливают соответствие между сертификатом и учетной записью пользователя с использованием информации сопоставления.
7. Способ по п.1, дополнительно содержащий этапы, на которых определяют, поддерживает ли второе вычислительное устройство информацию сопоставления, и, если поддерживает, подтверждают, что второе вычислительное устройство может принять информацию сопоставления, и посылают информацию сопоставления во второе вычислительное устройство.
8. Способ по п.1, в котором информация сопоставления содержит подсказку имени домена или подсказку имени пользователя.
9. Способ по п.1, в котором информации сопоставления находится в виде механизма расширения протокола.
10. Способ по п.1, дополнительно содержащий этап, на котором аутентифицируют пользователя на основании информации сопоставления и сертификата.
11. Способ по п.1, дополнительно содержащий этап, на котором определяют, поддерживает ли второе вычислительное устройство информацию сопоставления, до того как посылают информацию сопоставления во второе вычислительное устройство.
12. Способ по п.11, дополнительно содержащий этап, на котором посылают подтверждение в первое вычислительное устройство, что второе вычислительное устройство может принять информацию сопоставления.
US 2003144107 А1, 03.10.2002 | |||
RU 2005100851 А, 10.06.2005 | |||
US 2003009662 А1, 09.01.2003 | |||
Двухкомпонентная форсунка | 1980 |
|
SU932109A2 |
US 6854056 В1, 08.02.2005. |
Авторы
Даты
2011-02-10—Публикация
2006-07-12—Подача