RU2439692C2 - Управляемое политиками делегирование учетных данных для единой регистрации в сети и защищенного доступа к сетевым ресурсам - Google Patents

Управляемое политиками делегирование учетных данных для единой регистрации в сети и защищенного доступа к сетевым ресурсам Download PDF

Info

Publication number
RU2439692C2
RU2439692C2 RU2008146517/08A RU2008146517A RU2439692C2 RU 2439692 C2 RU2439692 C2 RU 2439692C2 RU 2008146517/08 A RU2008146517/08 A RU 2008146517/08A RU 2008146517 A RU2008146517 A RU 2008146517A RU 2439692 C2 RU2439692 C2 RU 2439692C2
Authority
RU
Russia
Prior art keywords
server
client
credentials
authentication
policy
Prior art date
Application number
RU2008146517/08A
Other languages
English (en)
Other versions
RU2008146517A (ru
Inventor
Геннадий МЕДВИНСКИЙ (US)
Геннадий МЕДВИНСКИЙ
Кристиан ИЛАК (US)
Кристиан ИЛАК
Костин ХАГИУ (US)
Костин ХАГИУ
Джон Э. ПАРСОНЗ (US)
Джон Э. ПАРСОНЗ
Мохамед Эмад Эль Дин ФАТХАЛЛА (US)
Мохамед Эмад Эль Дин ФАТХАЛЛА
Пол Дж. ЛИЧ (US)
Пол Дж. ЛИЧ
Тарек Бухаа Эль-Дин Махмуд КАМЕЛЬ (US)
Тарек Бухаа Эль-Дин Махмуд КАМЕЛЬ
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2008146517A publication Critical patent/RU2008146517A/ru
Application granted granted Critical
Publication of RU2439692C2 publication Critical patent/RU2439692C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

Изобретение относится к вычислительной технике, а именно к управляемому политиками делегированию учетных данных для единой регистрации в сети и защищенного доступа к приложениям, ресурсам и/или услугам в сетевом вычислительном окружении. Техническим результатом является обеспечение безопасности учетных данных, что позволяет любому приложению защищенно делегировать учетные данные пользователя от клиента, посредством программного обеспечения поставщика услуг по обеспечению безопасности (SSP) на стороне клиента, целевому серверу, посредством программного обеспечения SSP на стороне сервера. Компьютерная система для делегирования учетных данных пользователя от клиента серверу в сетевом вычислительном окружении как часть единой регистрации для доступа к ресурсам сервера, при этом система содержит, по меньшей мере, один процессор и память, подключенную к этому, по меньшей мере, одному процессору с возможностью обмена данными и содержащая инструкции, которыми при их исполнении упомянутым, по меньшей мере, одним процессором осуществляется способ делегирования учетных данных пользователя от клиента серверу. 3 н. и 16 з.п. ф-лы, 9 ил., 3 табл.

Description

Область техники, к которой относится изобретение
Настоящее изобретение относится к управляемому политиками делегированию учетных данных (мандата) для единой регистрации в сети и защищенного доступа к приложениям, ресурсам и/или услугам в сетевом вычислительном окружении.
Уровень техники
Иногда серверное приложение, к которому осуществляется доступ посредством клиента, требует, чтобы учетные данные пользователя делегировались серверу для того, чтобы поддерживать сценарии, разрешенные посредством серверного приложения. В этой ситуации делегирования пароль пользователя удаленного терминала требуется на стороне сервера, чтобы серверные приложения эмулировали функциональность, которая доступна, когда пользователь просто зарегистрировался в сети как локальный пользователь серверных приложений.
Тем не менее, современные системы для делегирования учетных данных от клиента серверному приложению для доступа к возможностям серверного приложения не являются в достаточной степени защищенными, т.е. имеется недостаточная защита при делегировании/передаче учетных данных пользователя от клиента серверу, оставляя учетные данные пользователя уязвимыми для определенных форм атаки. В настоящее время, например, вызывающее приложение на стороне сервера или клиента иногда имеет доступ к учетным данным пользователя в формате открытого текста, и тем самым учетные данные пользователя в некоторой степени ненадежны. Помимо этого в настоящее время нет управляемого политиками способа контролировать и разграничивать делегирование учетных данных пользователя от сервера клиенту, который применяется к любому типу учетных данных пользователя, т.е. имя пользователя/пароль, PIN-код смарт-карты, одноразовые секретные коды (OTP) и т.д.
Как подробнее описано ниже в отношении изобретения, должно быть желательным усовершенствовать эти и другие недостатки предшествующего уровня техники.
Сущность изобретения
В свете вышеизложенного настоящее изобретение предоставляет поставщика услуг по обеспечению безопасности учетных данных (Cred SSP), который позволяет любому приложению защищенно делегировать учетные данные пользователя от клиента, посредством программного обеспечения поставщика услуг по обеспечению безопасности (SSP) на стороне клиента, в целевой сервер, посредством программного обеспечения SSP на стороне сервера, в сетевом вычислительном окружении. В одном варианте осуществления Cred SSP доступен пользователю посредством программного обеспечения интерфейса поставщика услуг по обеспечению безопасности (SSPI), которое может быть включено как часть операционной системы клиента. Cred SSP согласно изобретению предоставляет защищенное решение, которое частично базируется на наборе политик, в том числе политике по умолчанию, которая является защищенной от широкого диапазона атак, которые используются для того, чтобы контролировать и ограничивать делегирование учетных данных пользователя от клиента серверу. Политики могут быть предназначены для любого типа учетных данных пользователя, и различные политики разрабатываются так, чтобы подавлять широкий диапазон атак, с тем чтобы надлежащее делегирование могло выполняться для данных обстоятельств делегирования, состояний сети, уровней доверия и т.д. Дополнительно, только доверенная подсистема, к примеру доверенная подсистема локального центра обеспечения безопасности (LSA), имеет доступ к учетным данным в формате открытого текста, так чтобы ни вызывающее приложение SSPI API, использующих Cred SSP на стороне сервера, ни вызывающее приложение SSPI API, использующих Cred SSP на стороне клиента, не имело доступа к учетным данным в формате открытого текста.
Другие признаки настоящего изобретения описываются ниже.
Краткое описание чертежей
Далее описывается управляемое политиками делегирование учетных данных для единой регистрации в сети и защищенного доступа к ресурсам в сетевом окружении со ссылкой на прилагаемые чертежи, на которых:
фиг.1 - это блок-схема, иллюстрирующая общее представление архитектуры поставщика услуг по обеспечению безопасности учетных данных согласно изобретению, которая предоставляет защищенное делегирование учетных данных от клиента серверу;
фиг.2A и 2B иллюстрируют примерную неограничивающую реализацию архитектуры поставщика услуг по обеспечению безопасности учетных данных для делегирования учетных данных терминальному серверу;
фиг.3 - это блок-схема последовательности операций работы примерного неограничивающего протокола, используемого посредством архитектуры поставщика услуг по обеспечению безопасности учетных данных согласно изобретению;
фиг.4 - это блок-схема последовательности операций работы примерной неограничивающей реализации протокола, используемого посредством архитектуры поставщика услуг по обеспечению безопасности учетных данных согласно изобретению;
фиг.5 - это блок-схема, иллюстрирующая общее представление архитектуры поставщика услуг по обеспечению безопасности учетных данных согласно изобретению, которая предоставляет защищенное делегирование учетных данных от клиента серверу на основе групповой политики в соответствии с изобретением;
фиг.6 - это блок-схема, иллюстрирующая общее представление трех различных типов учетных данных, которые могут рассматриваться на уровне политик согласно угрозе атаки в соответствии с настоящим изобретением;
фиг.7A - это блок-схема, представляющая примерное сетевое окружение, в котором может быть реализовано настоящее изобретение; и
фиг.7B - это блок-схема, представляющая примерное неограничивающее окружение вычислительной системы, в котором может быть реализовано настоящее изобретение.
Подробное описание изобретения
Обзор
Как упоминалось в разделе уровня техники, имеются определенные клиент-серверные приложения, которые требуют, чтобы учетные данные пользователя делегировались серверу для того, чтобы поддерживать серверные сценарии. Terminal Server - это один такой пример, когда иногда пароль пользователя используется на стороне сервера для того, чтобы эмулировать его функциональность на стороне клиента. Тем не менее, как упоминалось, методики делегирования предшествующего уровня техники не предоставляют достаточной защиты учетных данных пользователя, когда отправляются на сервер.
Cred SSP согласно изобретению - это новый "поставщик услуг по обеспечению безопасности", иногда также упоминаемый как "поставщик услуг безопасности", который может быть доступен посредством существующей инфраструктуры интерфейса поставщика услуг по обеспечению безопасности (SSPI) операционной системы клиента. Cred SSP согласно изобретению дает возможность приложению делегировать учетные данные пользователя от клиента, к примеру, посредством программного обеспечения SSP на стороне клиента, в целевой сервер, к примеру, посредством программного обеспечения SSP на стороне сервера. В примерном неограничивающем варианте осуществления Cred SSP согласно изобретению может быть включен в Terminal Server. Тем не менее, Cred SSP согласно изобретению может быть использован посредством других приложений и может быть доступен любому внутреннему или стороннему приложению с помощью SSPI применимой операционной системы.
Решение Cred SSP является более защищенным решением, которое предоставляет набор политик, которые могут быть использованы для того, чтобы управлять и разграничивать делегирование учетных данных пользователя от клиента серверу. Политики разрабатываются таким образом, чтобы реагировать на широкий диапазон атак, включая вредоносные программы, запущенные на машине клиента. Cred SSP согласно изобретению включает в себя "защищенную по умолчанию" политику, которая является специальной конфигурацией через настройки политики, которая позволяет клиентской машине, по умолчанию, подавлять широкий диапазон атак. Набор политик согласно изобретению применим к защите любого типа учетных данных пользователя, включая, но не только, имя пользователя/пароль, PIN-код смарт-карты, одноразовые секретные коды (OTP) и т.д. Cred SSP согласно изобретению защищает учетные данные пользователя таким образом, что вызывающее приложение (Cred SSP API) на стороне сервера или клиента не должно иметь доступ к учетным данным в формате открытого текста, поскольку только доверенная подсистема имеет доступ к учетным данным в формате открытого текста.
Microsoft Terminal Server (TS), например, является примером клиент-серверного продукта, который иногда требует от пользователя предоставлять учетные данные регистрации в сети на терминале/клиенте и делегировать эти учетные данные регистрации в сети на сервер, чтобы авторизовать обслуживание приложений и приемы работы "в стиле рабочего стола" продуктов операционной системы Microsoft Windows в терминале/клиенте. TS, в общем, может рассматриваться как включающий в себя три основные части: многопользовательский базовый сервер, протокол Remote Desktop Protocol (RDP), который позволяет отправлять интерфейс рабочего стола Windows в терминалы посредством сервера, и клиентское программное обеспечение, которое приводится в исполнение на каждом терминале. В одном неограничивающем варианте осуществления изобретения протоколы поставщика услуг по обеспечению безопасности учетных данных согласно изобретению могут быть реализованы в связи с программным обеспечением терминального сервера.
Дополнительный контекст
Некоторые из различных вариантов осуществления изобретения описываются в данном документе со ссылкой на термины, которые, как правило, понятны специалистам в области техники аутентификации и делегирования учетных данных. Хотя этот раздел не предназначен для того, чтобы замещать знания специалистов в данной области техники, и должен рассматриваться как неисчерпывающее общее представление, тем не менее, данный раздел, как предполагается, предоставляет к выгоде некоторый дополнительный контекст и исходные данные для определенных терминов, которые используются в контексте работы различных вариантов осуществления изобретения, как подробнее описано ниже.
Дополнительный контекст и исходные данные для следующих терминов, в общем, известных специалистам в данной области техники, таким образом, предоставляются в данном документе: Kerberos, Windows NT Local Area Network (LAN) Manager (NTLM), простой и защищенный механизм согласования интерфейса прикладного программирования для служб безопасности (GSSAPI) (вкратце SPNEGO), локальный центр обеспечения безопасности (LSA), интерфейс поставщика услуг по обеспечению безопасности (SSPI) и протокол защищенных сокетов (SSL), а также примерная инфраструктура аутентификации в Windows.
Kerberos
Kerberos - это защищенный способ аутентификации запроса на обслуживание в вычислительной сети. Позаимствовав свое название от мифологического трехголового пса, который охраняет вход в Аид, Kerberos позволяет пользователю запрашивать зашифрованный "мандат" от процесса аутентификации, который затем может быть использован для того, чтобы запрашивать конкретную услугу от сервера так, чтобы пароль пользователя не должен был проходить через сеть. Kerberos включает в себя программное обеспечение на стороне сервера и клиента, которое разрешает доступ к серверу, включая запрос регистрационного имени в клиенте, посредством пользователя. Сервер, тем не менее, требует мандат Kerberos, прежде чем он принимает на обработку запрос на доступ к своим приложениям, ресурсам и/или услугам. Чтобы получить правильный мандат Kerberos, запрос аутентификации выполняется клиентом серверу аутентификации (AS). AS создает "сеансовый ключ", который также является ключом шифрования, базируя сеансовый ключ на пароле пользователя, полученном из имени пользователя, и случайном значении, которое представляет запрашиваемую услугу. В этом смысле сеансовый ключ фактически является "мандатом выдачи мандата".
Далее полученный мандат выдачи мандата передается на сервер выдачи мандатов (TGS). TGS может быть физически тем же сервером, что и AS, но функционально выполняет другую услугу. TGS возвращает мандат, который может быть отправлен на сервер для запрашиваемой услуги. Сервер либо отклоняет мандат, если мандат является недействительным, либо принимает мандат как действительный мандат и выполняет услугу. Поскольку мандат, принимаемый от TGS, имеет временную метку, мандат разрешает дополнительные запросы с помощью этого же мандата в течение определенного периода времени без необходимости повторно аутентифицировать использование пользователем услуги сервера. С другой стороны, задание мандата действительным на ограниченный период времени уменьшает вероятность того, что кто-то другой, помимо авторизованного пользователя, сможет снова использовать мандат. Специалисты в данной области техники могут принимать во внимание, что подробности процесса аутентификации Kerberos на уровне интерфейсов, протоколов, рабочих данных и драйверов могут быть гораздо более сложными и что пользовательская процедура может в некоторой степени варьироваться согласно реализации.
Windows NT LAN Manager (NTLM)
Альтернатива Kerberos, NTLM - это протокол аутентификации, используемый в различных реализациях сетевых протоколов Microsoft, поддерживаемых посредством поставщика услуг по обеспечению безопасности NTLM (NTLMSSP). Первоначально используясь для аутентификации и согласования защищенной связи в режиме распределенного вычислительного окружения (DCE)/удаленного вызова процедур (RPC), NTLM также используется в качестве интегрированного механизма единой регистрации в сети.
NTLM использует механизм оклика-отзыва для аутентификации, при котором клиенты могут подтвердить свои идентификационные данные без отправки пароля на сервер. Механизм оклика-отзыва включает в себя три сообщения, в общем, упоминаемых как тип 1 (согласование), тип 2 (оклик) и тип 3 (аутентификация). На верхнем уровне с помощью NTLM клиент сначала отправляет на сервер сообщение типа 1, включающее в себя перечень признаков, поддерживаемых клиентом и запрашиваемых сервером. Сервер отвечает сообщением типа 2 клиенту, включающим в себя перечень признаков, поддерживаемых и согласованных посредством сервера, и оклик, сформированный сервером. Клиент отвечает на оклик сообщением типа 3 с несколькими фрагментами информации о клиенте, включающими в себя домен и имя пользователя для пользователя клиента и один или более отзывов на оклик типа 2. Отзыв(ы) в сообщении типа 3 являются важными фрагментами, поскольку они подтверждают для сервера то, что пользователь клиента знает пароль учетной записи.
Защищенный канал (Schannel)
Защищенный канал, также известный как Schannel, является поставщиком услуг по обеспечению безопасности (SSP), содержащим набор протоколов безопасности, которые обеспечивают аутентификацию идентификационных данных и улучшенную защиту связи за счет шифрования. Schannel главным образом используется для Интернет-приложений, которые требуют улучшенной безопасности для обмена данными по протоколу передачи гипертекста (HTTP). Серверная аутентификация, когда сервер предоставляет подтверждение своих учетных данных клиенту, требуется посредством протоколов безопасности Schannel. Таким образом, протоколы Schannel используют учетные данные Schannel, которые могут быть использованы для того, чтобы аутентифицировать серверы и, необязательно, клиенты. Клиентская аутентификация может быть запрошена сервером в любое время. Учетными данными Schannel являются сертификаты X.509. Информация открытых и закрытых ключей из сертификатов используется для того, чтобы аутентифицировать сервер и, необязательно, клиент. Эти ключи также используются для того, чтобы обеспечивать целостность сообщений, пока клиент и сервер обмениваются информацией, требуемой для того, чтобы формировать и обмениваться сеансовыми ключами. Schannel реализует протоколы SSL и TLS, подробнее описываемые ниже.
Простой и защищенный механизм согласования GSSAPI (SPNEGO)
SPNEGO - это стандартный псевдомеханизм интерфейса прикладного программирования для служб безопасности (GSSAPI) для равноправных узлов, чтобы определять то, какие механизмы GSSAPI совместно используются, выбирать один и затем устанавливать контекст безопасности с помощью совместно используемого механизма GSSAPI. Спецификацию SPNEGO можно найти в Рабочих предложениях Инженерной группы по развитию Интернета RFC 2478, озаглавленных "GSS-API Negotiation Mechanism", датированных декабрем 1998 года.
Применение SPNEGO можно найти, например, в расширении "HTTP Negotiate", которое является расширением аутентификации, которое первоначально реализовано в приложении обозревателя Internet Explorer и которое предоставило возможности единой регистрации в сети, известные как интегрированная аутентификация Windows. Согласуемые вспомогательные механизмы SPNEGO включают в себя NTLM и Kerberos, оба из которых могут использовать Active Directory.
GSSAPI предоставляет общий интерфейс, который может быть разделен на уровни поверх различных механизмов безопасности так, что если обменивающиеся данными равноправные узлы запрашивают учетные данные GSSAPI для одного механизма безопасности, то контекст безопасности может быть установлен между ними. Тем не менее, GSSAPI не предписывает способ, посредством которого равноправные узлы GSSAPI могут устанавливать то, имеют ли они общий механизм безопасности.
SPNEGO позволяет равноправным узлам GSSAPI внутренне определять то, используют ли совместно их учетные данные общий механизм(ы) безопасности GSSAPI, и если да, активировать установление обычного контекста безопасности для выбранного общего механизма безопасности, обеспечивая возможность согласования различных механизмов безопасности, различных вариантов в рамках данного механизма обеспечения безопасности или различных вариантов из нескольких механизмов обеспечения безопасности. Это наиболее полезно для приложений, которые основаны на реализациях GSSAPI, которые поддерживают несколько механизмов безопасности. После того как общий механизм безопасности идентифицирован, механизм безопасности также может согласовывать конкретные для механизма варианты в ходе установления контекста.
При SPNEGO данные согласования инкапсулируются в маркеры контекстного уровня. Таким образом, приложения, вызывающие GSSAPI, не обязательно должны знать о наличии маркеров согласования, а только знать о псевдомеханизме безопасности.
Модель согласования SPNEGO работает следующим образом: инициатор предлагает один механизм безопасности или упорядоченный список механизмов безопасности, и исполнитель либо принимает предложенный механизм безопасности, либо выбирает один из предложенного набора, либо отклоняет предложенное значение(я). После этого исполнитель сообщает инициатору о своем выборе.
В своей базовой форме протокол требует дополнительной передачи и подтверждения приема. Установление сетевого соединения является критической характеристикой производительности любой сетевой инфраструктуры, и дополнительные передачи и подтверждения приема по линиям связи WAN, сетям пакетной радиосвязи и т.д. реально могут составлять разницу. Чтобы избежать этой дополнительной передачи и подтверждения приема, начальный маркер безопасности предпочтительного механизма для инициатора может быть осуществлен в первоначальном маркере. Если предпочитаемый исполнителем механизм совпадает с предпочитаемым инициатором механизмом, дополнительных передач и подтверждений приема не возникает вследствие использования протокола согласования.
SPNEGO также предоставляет методику для того, чтобы защищать согласование, когда базовый механизм, выбранный исполнителем, допускает защиту целостности. Когда все механизмы, предложенные инициатором, поддерживают защиту целостности или когда выбранный механизм поддерживает защиту целостности, то механизм согласования становится защищенным, поскольку это гарантирует, что корректный механизм, поддерживаемый посредством обоих равноправных узлов, выбран.
Локальный центр обеспечения безопасности (LSA)
Хотя и обобщенное понятие, LSA является ключевым компонентом процесса регистрации в сети для технологий операционных систем Microsoft Windows, отвечающих за проверку достоверности пользователей при локальной и удаленной регистрации в сети. LSA также содержит локальную политику безопасности.
В ходе локальной, интерактивной, регистрации в системе на машине человек вводит свое имя и пароль в диалоговом окне регистрации в системе. Эта информация передается в LSA, который затем вызывает соответствующий пакет аутентификации. Пакет отправляется в формате нереверсивного секретного ключа с помощью функции одностороннего хэширования. После этого LSA опрашивает базу данных менеджера учетных записей в системе безопасности (SAM) на предмет информации учетной записи пользователя. Если предоставленный ключ совпадает с ключом в SAM, SAM возвращает пользовательский идентификатор безопасности (SID) и SID всех групп, которым принадлежит пользователь. LSA затем использует эти SID для того, чтобы формировать маркер(ы) доступа через систему безопасности. Это описание применяется в случае наличия у пользователя локальной учетной записи, в отличие от доменной учетной записи, когда мандат службы Kerberos получается для того, чтобы аутентифицировать пользователя на машине.
Интерфейс поставщика услуг по обеспечению безопасности (SSPI)
SSPI задает механизмы аутентификации пользователя, т.е. проверки того, что пользователь - это тот, кем он себя объявляет, либо, самое меньшее, того, что пользователь знает секрет, к примеру пароль, ассоциативно связанный с конкретной пользовательской учетной записью.
Учетными данными, используемыми для этого аутентифицированного соединения, могут быть: (1) учетные данные для существующей аутентифицированной линии связи между клиентской и серверной машинами (к примеру, существующего назначения диска), (2) учетные данные для пользовательской учетной записи клиента, если сервер распознает SID, ассоциативно связанный с этой учетной записью; это подразумевает, что клиент и сервер должны доверять одному домену и что пользовательская учетная запись принадлежит этому домену, (3) необработанные учетные данные (к примеру, имя и пароль) для локальной учетной записи на сервере, если они совпадают с именем и паролем пользователя клиента (в этом случае пользовательская учетная запись клиента и учетная запись, которую он использует на сервере, различаются), и (4) учетные данные (к примеру, имя и пароль), которые явно передаются пользователем. SSPI работает посредством запрашивания вызывающих приложений (клиентских и серверных процессов) передавать блоки данных туда и обратно до тех пор, пока базовый поставщик услуг безопасности не будет удовлетворен.
После загрузки динамически подключаемой библиотеки (DLL) системы безопасности и выбора пакета (другой термин для поставщика услуг безопасности, такого как NTLM, Kerberos и т.д.) клиент инициализирует локальный или клиентский SSPI и извлекает первый набор данных, чтобы отправить на сервер. Между тем, сервер инициализировал серверный SSPI, и после приема первого набора данных сервер предоставляет его в серверный SSPI, который обрабатывает первый набор данных, получая в результате второй набор данных. В ответ сервер выполняет проверку на соответствие результирующего второго набора данных, и если данные больше 0, сервер отправляет второй набор данных клиенту, который, в свою очередь, предоставляет их в клиентский SSPI. Далее клиентский SSPI либо запрашивает, чтобы третий набор данных был отправлен на сервер, либо сообщает приложению, что аутентификация завершена. Это продолжается до тех пор, пока клиентский и серверный SSPI не будут удовлетворены данными, принятыми друг от друга.
В этот момент сервер содержит дескриптор контекста, который (помимо прочего) может опрашиваться на предмет имени пользователя клиента. В зависимости от вариантов, используемых клиентом, серверу также может быть разрешено использовать контекст для того, чтобы персонифицировать клиента, подписать или зашифровать сообщения и т.п. Имеется еще один, необязательный, этап, который может быть выполнен. Чтобы завершить цикл отправки-приема, некоторые поставщики услуг безопасности могут запросить предварительно заданный конечный этап, называемый CompleteAuthToken(CAT).
Протоколы защищенных сокетов (SSL) и безопасности транспортного уровня (TLS)
Протокол защищенных сокетов (SSL) и протокол безопасности транспортного уровня (TLS), его преемник, оба реализованные посредством Schannel, являются криптографическими протоколами, которые предоставляют защищенную связь по Интернету. Имеются незначительные различия между SSL 3.0 и TLS 1.0, но протокол остается практически таким же. Термин "SSL" иногда ссылается на оба протокола, если контекстом не внесены пояснения.
Протоколы SSL/TLS предоставляют аутентификацию конечной точки и конфиденциальность связи по Интернету с помощью криптографии. При типичном применении сервер аутентифицируется (т.е. удостоверяются его идентификационные данные), тогда как клиент остается неаутентифицированным, хотя взаимная аутентификация может быть выполнена посредством развертывания инфраструктуры открытого ключа (PKI) на клиентах. Протоколы позволяют клиент-серверным приложениям обмениваться данными способом, выполненным с возможностью исключать перехват, вмешательство и подделку сообщений.
Примерная неограничивающая инфраструктура аутентификации в Windows
Одна примерная неограничивающая инфраструктура аутентификации предоставляется посредством технологий операционных систем Windows, которые поддерживают различные способы аутентификации, через программное обеспечение поставщика услуг по обеспечению безопасности (SSP).
В одной реализации Windows поддерживает три основных SSP, описанных выше: Kerberos, оклик/отзыв NTLM и протоколы безопасности Schannel. Хотя Kerberos является способом аутентификации по умолчанию в Windows 2000, другие способы могут быть использованы посредством интерфейса поставщика услуг по обеспечению безопасности, или SSPI. Помимо этого, например, Windows может использовать следующие сетевые SSP для того, чтобы предоставлять услуги аутентификации с помощью цифровых сертификатов: распределенная аутентификация паролей (DPA) - протокол аутентификации по Интернету, расширяемый протокол аутентификации (EAP) - расширение к протоколу "точка-точка" (PPP) и основанным на открытом ключе протоколам, включая SSL, TLS и технологию закрытой связи.
Управляемое политиками делегирование учетных данных для единой регистрации в сети и защищенного доступа к сетевым ресурсам
Как упоминалось, изобретение предоставляет усовершенствованное программное обеспечение поставщика услуг по обеспечению безопасности учетных данных (Cred SSP), которое дает возможность приложению делегировать учетные данные пользователя от клиента, к примеру, посредством программного обеспечения SSP на стороне клиента, в целевой сервер, к примеру, посредством программного обеспечения SSP на стороне сервера. Cred SSP согласно изобретению может быть использован посредством любого собственного приложения операционной системы или стороннего приложения с помощью применимого SSPI, к примеру SSPI, интегрированного с платформой приложений операционной системы.
Фиг.1 - это блок-схема, иллюстрирующая общее представление архитектуры Cred SSP согласно изобретению, которая предоставляет защищенное делегирование учетных данных от клиента серверу, без раскрытия учетных данных в формате открытого текста вызывающему приложению(ям). В одном варианте осуществления Cred SSP реализован как набор из двух пакетов: пакета CredSSP на стороне клиента (или приложений) Client-side_CredSSP и пакета CredSSP на стороне LSA LSA_CredSSP для устройства D, для клиентского вычислительного устройства или серверного вычислительного устройства.
Пакет на стороне клиента Client-side_CredSSP - это программное обеспечение поставщика услуг по обеспечению безопасности на стороне клиента, которое открыто для вызывающих приложений интерфейса I1 поставщика услуг по обеспечению безопасности на стороне клиента Client-side_CredSSP, предоставляет согласование Schannel и предоставляет функциональность пакета Schannel, а также обмен данными с пакетом на стороне LSA LSA_CredSSP через интерфейс I2 на стороне LSA CredSSP. В соответствии с изобретением обработка согласования и функциональности Schannel в пользовательском процессе способствует более быстрым операциям encryptMessage и decryptMessage в сравнении с производительностью посредством LSA.
В соответствии с изобретением LSA-пакет LSA_CredSSP предоставляет согласование SPNEGO, шифрование/расшифровку учетных данных и переадресацию учетных данных, а также выполняет проверку политик на соответствие политикам, заданным в вышеописанном наборе политик согласно изобретению.
Как упоминалось и как показано на фиг.2A и 2B в примерном неограничивающем варианте осуществления, изобретение реализовано в связи с клиентом 200 терминального сервера, делегирующим учетные данные терминальному серверу 250.
Как показано на фиг.2A, реализация клиента 200 терминального сервера взаимодействует с процессом 225 LSA-сервера посредством библиотеки 205 защищенной аутентификации, использующей локальный вызов 215 процедуры (LPC), который включает в себя передачу данных через границу 220 процесса. Функции 210 приводятся в исполнение в библиотеке 205 защищенной аутентификации и могут включать в себя функцию CredSSP Initialize Security Context (CredSSP.ISC), которая включает в себя функцию Secure Sockets Layer/Initialize Security Context (SSL.ISC) и функцию Secure Sockets Layer/Encrypt Message (SSL.EM). Функции 230 приводятся в исполнение в процессе 225 LSA-сервера и могут включать в себя функцию CredSSP Initialize Security Context (CredSSP.ISC), которая включает в себя функцию SPNEGO/Initialize Security Context (SPNEGO.ISC) и функцию SPNEGO/Encrypt Message (SPNEGO.EM).
Как показано на фиг.2B, реализация терминального сервера 250 взаимодействует с процессом 275 LSA-сервера посредством библиотеки 255 защищенной аутентификации, использующей локальный вызов 265 процедуры (LPC), который включает в себя пересечение границы 270 процесса. Функции 260 приводятся в исполнение в процессе 205 защищенной аутентификации и могут включать в себя функцию CredSSP Accept Security Context (CredSSP.ASC), которая включает в себя функцию Secure Sockets Layer/Accept Security Context (SSL.ASC) и функцию Secure Sockets Layer/Decrypt Message (SSL.DM). Функции 280 приводятся в исполнение в процессе 275 LSA-сервера и могут включать в себя функцию CredSSP Accept Security Context (CredSSP.ASC), которая включает в себя функцию SPNEGO/Accept Security Context (SPNEGO.ASC) и функцию SPNEGO/Decrypt Message (SPNEGO.DM).
Примерный неограничивающий протокол, используемый посредством Cred SSP согласно изобретению, примерно показан на блок-схеме последовательности операций способа по фиг.3. На этапе 300 начальное подтверждение связи SSL/TLS выполняется между клиентом и сервером. На этапе 305 осуществляется согласование SPNEGO, чтобы выбрать механизм аутентификации (к примеру, Kerberos, или NTLM, или другой подходящий механизм согласования, понимаемый посредством клиента и сервера). На этапах 310 и 315, используя согласованный механизм аутентификации, сервер аутентифицируется для клиента, а клиент аутентифицируется для сервера.
Если на этапе 320 надлежащая аутентификация достигнута между клиентом и сервером согласно этапам 310 и/или 315, то совместно используемый секрет (к примеру, совместно используемый ключ) устанавливается для всего остального трафика на этапе 330. Тем не менее, преимущественно, если на этапе 320 надлежащая аутентификация не установлена между клиентом и сервером, то сеанс не создается на этапе 325, и значительные вычислительные затраты и трафик исключаются. Ранее, к примеру, в прошлых реализациях терминального сервера аутентификация выполнялась с большими затратами, поскольку попытка выполнить аутентификацию начиналась после того, как создан сеанс. В отличие от этого, в соответствии с протоколом Cred SSP согласно изобретению, сеанс между клиентом и сервером не создается до тех пор, пока аутентификация клиента и сервера согласно выбранному механизму аутентификации SPNEGO не осуществлена.
Таким образом, предполагая на этапе 320, что соответствующая аутентификация выполнена с помощью выбранного механизма аутентификации, совместно используемый ключ устанавливается для всего последующего трафика между клиентом и сервером на этапе 330. Тем не менее, только то, что возник порог аутентификации, еще не означает, что сервер обязательно является доверенным посредством клиента. Таким образом, в этой точке, хотя сеанс создан между сервером и клиентом, клиент может считаться доверенным и недоверенным. Соответственно, используя групповую политику 335 по изобретению, LSA Cred SSP на клиентской машине выполняет проверку на соответствие политике на этапе 340, чтобы определить то, следует ли делегировать учетные данные пользователя. Если серверу не следует доверять, то на этапе 345 учетные данные не делегируются. Если взаимосвязь с сервером не является доверенной вследствие проверки на соответствие политике на этапе 340, то на этапе 350 открытый ключ сервера аутентифицируется, чтобы помочь исключить атаки "с человеком в середине", когда объект мошеннического программного обеспечения моделирует режим работы и открытый ключ сервера. Таким образом, если открытый ключ сервера не аутентифицирован на этапе 350, то учетные данные не делегируются согласно риску атаки "с человеком в середине" на этапе 355. На этапе 360 формат шифрования применяется к учетным данным, которые понимаются только посредством доверенной подсистемы LSA. На этапе 465 зашифрованные учетные данные делегируются от клиента серверу. Посредством понимания формата шифрования только посредством доверенной подсистемы LSA, преимущественно, вызывающие приложения на клиенте и сервере в LSA и Cred SSP согласно изобретению не имеют несанкционированного доступа к учетным данным в формате открытого текста.
Фиг.4 иллюстрирует более подробную реализацию протокола делегирования учетных данных по изобретению как примерную неограничивающую блок-схему последовательности операций способа. На этапе 400 подтверждение связи SSL/TLS выполняется между клиентом и сервером, и ключ шифрования SSL/TLS KSSL/TLS устанавливается между клиентом и сервером. Kpub - это открытый ключ в сертификате сервера. Далее на этапе 410 по зашифрованному каналу SSL/TLS взаимная аутентификация клиента и сервера выполняется с помощью пакета SPNEGO. В зависимости от взаимосвязи доверия клиент/сервер пакет Kerberos или NTLM согласуется и используется. Следует отметить, что в случае если согласован NTLM, сервер подтверждает знание пароля клиенту, но другие серверы в этом домене имеют доступ к паролю. Kspnego - это либо субсеансовый ключ Kerberos, либо сеансовый ключ NTLM, совместно используемый обеими сторонами при завершении обмена SPNEGO.
На этапе 420 LSA Cred SSP на клиентской машине выполняет проверку на соответствие политике на основе имени участника-службы (SPN) сервера, информации аутентификации сервера (PKI/KRB в сравнении с NTLM) и настроек групповой политики, чтобы определять то, следует ли делегировать учетные данные пользователя серверу. Затем на этапе 430 проверяется, что KSSL/TLS принадлежит целевому серверу, а не "человеку в середине", посредством выполнения следующего примерного обмена для аутентификации:
C->S: { { Kpub}Kspnego} KSSL/TLS,
S -> C: { { Kpub + 1 }Kspnego } KSSL/TLS.
Следует отметить, что KSSL/TLS используется для того, чтобы шифровать всю клиент-серверную связь. Более того, этот этап аутентификации сервера может быть основан на Kerberos или NTLM, если нет основанного на PKI доверия. Защищенная привязка SSL/TLS-аутентифицированного канала к Kerberos-аутентификации, как описано, может выполняться поверх SSL/TLS. Говоря по-иному, изобретение может защищенно использовать основанные на Kerberos учетные данные, чтобы аутентифицировать SSL/TLS-согласованный главный/сеансовый ключ, что может быть особенно полезно, если нет доверия PKI между SSL/TLS-клиентом и SSL/TLS-сервером.
Наконец, на этапе 440 учетные данные пользователя (к примеру, пароль) могут быть делегированы серверу таким образом, который исключает анализ учетных данных в формате открытого текста посредством доверенной LSA-подсистемы согласно изобретению в соответствии со следующим символьным обменом данными:
C->S: { { Password }Kspnego} KSSL/TLS.
Как описано выше, например, на этапах 340 (и групповой политики 335) и 420 по фиг.3 и 4 соответственно, политики используются для того, чтобы контролировать и разграничивать делегирование учетных данных клиента в соответствии с изобретением, чтобы подавлять широкий диапазон атак. Как упоминалось, LSA-пакет согласно изобретению предоставляет SPNEGO-согласование, шифрование/расшифровку учетных данных и переадресацию учетных данных. LSA-пакет согласно изобретению также выполняет проверку политик на соответствие политикам, заданным в соответствии с изобретением. Назначение настроек групповой политики согласно изобретению заключается в том, чтобы обеспечить то, что учетные данные не делегируются неавторизованному серверу, к примеру машине под административным управлением мошенника или подчиняющейся злоумышленнику. Следует отметить, что хотя доверие может существовать для того, чтобы упрощать аутентификацию между клиентом и сервером, к примеру, на основе аутентификации PKI, Kerberos или NTLM, это доверие не означает, что целевой сервер является доверенным с помощью учетных данных пользователя. Таким образом, изобретение включает в себя опрос политики, чтобы обеспечить то, что целевой сервер может быть доверенным с помощью делегированных учетных данных.
Фиг.5 - это примерная неограничивающая блок-схема архитектуры Cred SSP согласно изобретению, которая предоставляет защищенное делегирование учетных данных от клиента серверу, без раскрытия учетных данных в формате открытого текста вызывающему приложению(ям). Аналогично фиг.1, Cred SSP реализуется как набор из двух пакетов на клиенте C и сервере S: пакет на клиентской стороне и пакет на стороне LSA. На клиенте C это преобразуется в CredSSP на клиентской стороне и CredSSP на стороне LSA. На сервере S это преобразуется в CredSSP' на клиентской стороне и CredSSP' на стороне LSA. Фиг.5 иллюстрирует, что в соответствии с изобретением учетные данные пользователя в формате открытого текста никогда не сохраняются или доступны вызывающему приложению CA клиента 500, запрашивающему ARS серверного приложения, ресурса или службы сервера 510. Пунктирная линия, сегментирующая часть доверенной подсистемы LSA, показывает, что только часть доверенной подсистемы LSA имеет доступ к учетным данным пользователя в формате открытого текста, т.е. возможность расшифровывать/шифровать. Помимо этого фиг.5 иллюстрирует, что CredSSP на стороне LSA на клиентской машине опрашивает групповые политики GP по изобретению, как подробнее описано ниже.
В этом смысле настройки групповых политик, показанные ниже в таблице III, задают то, какие серверы являются доверенными с помощью учетных данных пользователя, причем каждая настройка является списком имен участников-служб (SPN); в одном варианте осуществления разрешены подстановочные знаки. Специалисты в области техники строкового распознавания могут принимать во внимание, что "подстановочные" означают символы, такие как '*', которые могут означать любой символ или строку, разрешенную в алфавите SPN. Таким образом, согласно изобретению Cred SSP (клиентская сторона) делегирует учетные данные пользователя только в том случае, если сервер аутентифицирован для клиента, и SPN сервер проходит проверку на соответствие политике, к примеру, как задано посредством настроек групповой политики (GP), показанных в таблице III ниже.
Настройки политик для делегирования учетных данных пользователя, заданные ниже в таблице III, разработаны таким образом, чтобы подавлять множество атак, в том числе, но не только, атаки, перечисленные в таблице I:
Таблица I
Типы атак, которые подавляют настройки политик
1 Троян или вредоносная программа может быть запущена на клиентской машине, к примеру, в режиме ограниченного пользовательского доступа (LUA), не администрирования.
2 Настройки GP по умолчанию в сравнении с другими значениями GP, которые могут конфигурироваться администратором (включая ненадлежащее использование подстановочных знаков).
3 Заражение службы доменных имен (DNS). Когда клиент преобразует имя хоста, он может обмениваться данными с мошенническим сервером.
4 Атаки типа "отказ в обслуживании" на центр распределения ключей (KDC) Kerberos.
Решение, сделанное в отношении того, какие из политик, заданных в соответствии с изобретением (заданных примерным неограничивающим образом в таблице III ниже), применяются к данной ситуации, зависит от протокола аутентификации, согласованного между клиентом и сервером, как описано выше в связи с фиг.3-5, и типа учетных данных. Фиг.6 показывает три примерных типа учетных данных, на которых может основываться политика в соответствии с изобретением, включая свежие учетные данные, учетные данные по умолчанию и сохраненные учетные данные. Свежие учетные данные - это учетные данные, которые вводятся в реальном времени посредством пользовательского интерфейса учетных данных, такого как CredUI 610. Сохраненные учетные данные - это учетные данные, которые введены ранее как свежие учетные данные и которые сохранены для дополнительного повторного использования посредством менеджера учетных данных, такого как CredMan 600, к примеру, на ограниченный период времени. Сохраненные учетные данные считаются более слабыми с точки зрения безопасности, чем свежие учетные данные. Еще менее защищенными являются учетные данные по умолчанию, которые, как явствует из имени, являются учетными данными, которые предназначены для использования посредством LSA 620 в отсутствие других инструкций использовать другие учетные данные. Например, учетные данные по умолчанию могут включать в себя учетные данные, введенные во время регистрации в сети. Учетные данные по умолчанию могут быть достаточными при определенных случаях, которые не требуют повышенной безопасности, такие как учетные данные определенных веб-узлов. Помимо этого, хотя и менее защищенные, учетные данные по умолчанию имеют преимущество немедленной доступности для LSA 620. Таким образом, имеется три типа учетных данных, которые могут быть использованы в связи с запросом посредством клиента терминального сервера TSC, как показано на фиг.6. Таблица II демонстрирует три типа учетных данных, рассмотренных в этом примерном неограничивающем варианте осуществления: свежие, сохраненные и по умолчанию.
Таблица II
Типы учетных данных
Свежие учетные данные Учетные данные пользователя, собранные посредством пользовательского интерфейса, такого как CredUI, и переданные непосредственно в SSPI (к примеру, переданные в вызов AcquireCredentialsHandle).
Учетные данные по умолчанию Учетные данные, которые первоначально предоставлены посредством пользователя, когда пользователь первый раз зарегистрировался в системе (доступны для SSP).
Сохраненные учетные данные Учетные данные для конкретного целевого сервера, которые пользователь выбрал сохранить в менеджере учетных данных (к примеру, CredMan).
Как упоминалось выше, таблица III включает в себя примерный неограничивающий набор настроек групповой политики (GP) для контролирования/разграничения делегирования учетных данных пользователя посредством клиента серверу в соответствии с изобретением. Специалисты в области техники работы вычислительных сетей могут принимать во внимание, что Termsrv/* означает набор SPN, где служба - это Termsrv, а машиной-хостом, указанной после прямого слеша "/", может быть любой целевой сервер, совпадающий с подстановочным знаком *.
Таблица III
Настройки групповой политики для контролирования/разграничения делегирования учетных данных пользователя
# Настройка GP (список SPN) Значение по умолчанию Комментарии
1 AllowDefCredentials
Значение: Пароль может быть передан перечисленным целям при аутентификации с помощью учетных данных по умолчанию.
NULL Настройка по умолчанию:
По умолчанию, делегирование учетных данных по умолчанию (введенных, когда пользователь первый раз регистрировался в системе) не разрешено на любой машине. Это означает, что вредоносные программы, запущенные на машине клиента (в режиме LUA mode), не смогут делегировать учетные данные по умолчанию посредством вызова в Cred SSP (вне зависимости от всех остальных фактов, т.е. схемы аутентификации), поскольку проверка на соответствие политике завершится отказом.
2 AllowSavedCredentials
Значение: Пароль может быть передан перечисленным целям при аутентификации с помощью сохраненных учетных данных.
Termsrv/* Настройка по умолчанию:
Значение по умолчанию разрешает делегирование сохраненных учетных данных пользователя терминальной службе, запущенной на любой машине. Следует отметить, что это применимо к серверам, на которых пользователь ранее входил в систему и выбрал сохранить свои учетные данные в CredMan (Имя целевого сервера сохраняется вместе с учетными данными пользователя в CredMan).
3 AllowFreshCredentials
Значение: Пароль может быть передан перечисленным целям при аутентификации с помощью свежих учетных данных.
Termsrv/* Посредством сравнения с вышеуказанными настройками, в случае с AllowFreshCredentials отсутствует возможность у вредоносных программ, выполняющих скрытую регистрацию в системе (без первоначального запрашивания пользователя, при условии, что настройки политики AllowSavedCredentials и AllowDefCredentials не активированы).
4 DenyDefCredentials
Значение: Пароль не может быть передан перечисленным целям при аутентификации с помощью учетных данных по умолчанию.
NULL Эта настройка используется для того, чтобы дополнительно разграничить, каким серверам учетные данные по умолчанию пользователя могут делегироваться, и сама по себе не предоставляет возможности для того, чтобы воспользоваться.
Однако администратор все еще должен проявлять осторожность при проектировании политики для учетных данных по умолчанию через комбинирование настроек DenyDefCredentials и AllowDefCredentials.
Если AllowDefCredentials покрывает большой набор серверов, список исключений, выраженный через DenyDefCredentials, может не полностью покрывать все недоверенные серверы в данном окружении. Это может стать частичным несоответствием со временем, когда подключатся новые серверы.
Дополнительно, вредоносная программа с административными привилегиями может удалить недоверенные серверы из списка DenyDefCredentials. Однако вредоносная программа с административными привилегиями является состоянием "игра окончена", поскольку есть ряд способов получить пароль пользователя в этом случае.
5 DenySavedCredentials
Значение: Пароль не может быть передан перечисленным целям при аутентификации с помощью сохраненных учетных данных.
NULL Эта настройка используется для того, чтобы дополнительно разграничить, каким серверам сохраненные учетные данные пользователя могут делегироваться, и сама по себе не предоставляет возможности для того, чтобы воспользоваться.
6 DenyFreshCredentials
Значение: Пароль не может быть передан перечисленным целям при аутентификации с помощью свежих учетных данных.
NULL Эта настройка используется для того, чтобы дополнительно разграничить, каким серверам свежие учетные данные пользователя могут делегироваться, и сама по себе не предоставляет возможности для того, чтобы воспользоваться.
7 AllowDefCredentialsWhenNTLMOnly
Значение: Если единственным пакетом аутентификации является NTLM, и пользователь аутентифицируется с учетными данными по умолчанию, разрешает паролю быть переданным перечисленным целевым объектам.
NULL По умолчанию эта настройка отключена, поскольку Kerberos и доверие на основе PKI предлагает более строгую методологию аутентификации, чем NTLM.
8 AllowSavedCredentialsWhenNTLMOnly
Значение: Если единственным пакетом аутентификации является NTLM, и пользователь аутентифицируется с сохраненными учетными данными, разрешает паролю быть переданным перечисленным целевым объектам.
Termsrv/* (непри-соединенный), NULL (присое-диненный) Чтобы справиться с внутренней слабостью протокола NTLM, делегирование учетных данных пользователя разрешено по умолчанию только для неприсоединенных к домену машин (в этом случае гарантированно серверная аутентификация выполняется посредством целевой автономной машины).
По умолчанию, для случая присоединения к домену NTLM, сам по себе, не разрешен (серверная аутентификация основана на Kerberos или PKI).
9 AllowFreshCredentialsWhenNTLMOnly
Значение: Если единственным пакетом аутентификации является NTLM, и пользователь аутентифицируется со свежими учетными данными, разрешает паролю быть переданным перечисленным целевым объектам.
Termsrv/*
Обобщая, решение Cred SSP согласно изобретению предоставляет более защищенное решение, чем ранее, посредством предоставления набора политик, которые могут быть использованы для того, чтобы контролировать и разграничивать делегирование учетных данных пользователя от клиента серверу. Как иллюстрирует примерный неограничивающий набор политик по таблице III, политики разрабатываются таким образом, чтобы реагировать на широкий диапазон атак, включая вредоносные программы, запущенные на машине клиента. Дополнительно, Cred SSP согласно изобретению включает в себя "защищенную по умолчанию" политику, которая является специальной конфигурацией через настройки политики, которая позволяет клиентской машине, по умолчанию, подавлять широкий диапазон атак. Более того, набор политик согласно изобретению применим к защите любого типа учетных данных пользователя, включая, но не только, имя пользователя/пароль, PIN-код смарт-карты, одноразовые секретные коды (OTP) и т.д. Cred SSP согласно изобретению предоставляет дополнительную защиту учетных данных пользователя, поскольку вызывающему приложению (Cred SSP API) на стороне сервера или клиента никогда не предоставляется доступ к учетным данным пользователя в формате открытого текста, потому что только доверенная подсистема LSA имеет доступ к учетным данным в формате открытого текста.
Примерные сетевые и распределенные окружения
Специалисты в данной области техники могут принимать во внимание, что изобретение может быть реализовано в связи с любым компьютером либо другим клиентским или серверным устройством, которое может быть развернуто как часть вычислительной сети или в распределенном вычислительном окружении. В этом отношении настоящее изобретение относится к любой вычислительной системе или окружению, имеющему любое число блоков памяти и хранения и любое число приложений и процессов, выполняющихся в любом числе блоков и томов хранения, которые могут быть использованы в связи с процессами делегирования учетных данных от клиента серверу в соответствии с настоящим изобретением. Настоящее изобретение может применяться к окружению с серверными компьютерами и клиентскими компьютерами, развернутыми в сетевом окружении или распределенном вычислительном окружении, имеющем удаленное или локальное хранилище. Настоящее изобретение также может применяться к автономным вычислительным устройствам, имеющим функциональность языка программирования, возможности интерпретации и приведения в исполнение для формирования, приема и передачи информации в связи с удаленными или локальными службами и процессами.
Распределенные вычислительные системы предоставляют совместное использование вычислительных ресурсов и служб посредством обмена между вычислительными устройствами и системами. Эти ресурсы и службы включают в себя обмен информацией, кэш-хранение и дисковое хранение для объектов, таких как файлы. Распределенные вычислительные системы используют преимущества возможностей сетевых подключений, давая возможность клиентам использовать общую мощь, чтобы предоставлять выгоду для всей организации. В этом отношении множество устройств могут иметь приложения, объекты и ресурсы, которые могут включать в себя системы и способы делегирования учетных данных от клиента серверу согласно изобретению.
Фиг.7A предоставляет схематичное представление примерного сетевого или распределенного вычислительного окружения. Распределенное вычислительное окружение содержит вычислительные объекты 10a, 10b и т.д. и вычислительные объекты или устройства 110a, 110b, 110c и т.д. Эти объекты могут содержать программы, способы, хранилища данных, программируемую логику и т.д. Объекты могут содержать части одинаковых или различных устройств, таких как PDA, аудио/видеоустройства, MP3-проигрыватели, персональные компьютеры и т.д. Каждый объект может обмениваться данными с другим объектом посредством сети 14 связи. Эта сеть может содержать другие вычислительные объекты и вычислительные устройства, которые предоставляют услуги системе по фиг.7A, и может представлять несколько соединенных сетей. В соответствии с аспектом изобретения каждый объект 10a, 10b и т.д. или 110a, 110b, 110c и т.д. может содержать приложение, которое может использовать API или другой объект, программное обеспечение, микропрограммное обеспечение и/или аппаратное обеспечение, подходящее для использования с системами и способами делегирования учетных данных от клиента серверу согласно изобретению.
Следует также принимать во внимание, что объект, такой как 110c, может размещаться на другом вычислительном устройстве 10a, 10b и т.д. или 110a, 110b и т.д. Таким образом, хотя изображенное физическое окружение может показывать подключенные устройства как компьютеры, эта иллюстрация является просто примерной, и альтернативно может быть изображено или описано физическое окружение, содержащее различные цифровые устройства, например PDA, телевизионные приемники, MP3-проигрыватели и т.д., программные объекты, такие как интерфейсы, COM-объекты и т.п.
Существует множество систем, компонентов и сетевых конфигураций, которые поддерживают распределенные вычислительные окружения. Например, вычислительные системы могут быть соединены между собой посредством проводных или беспроводных систем, посредством локальных сетей или глобальных распределенных сетей. В настоящее время многие сети подключены к Интернету, который предоставляет инфраструктуру для глобальных распределенных вычислительных систем и включает в себя множество различных сетей. Любая из инфраструктур может быть использована для примерной связи, характерной при делегировании учетных данных от клиента серверу согласно настоящему изобретению.
В домашних сетевых окружениях предусмотрено, по меньшей мере, четыре различные по своей сути сетевые транспортные среды, каждая из которых может поддерживать уникальный протокол, к примеру сеть электроснабжения, среда передачи данных (беспроводная и проводная), среда передачи речи (к примеру, телефон) и мультимедийная среда. Большинство домашних управляющих устройств, таких как переключатели освещения и приборы, могут использовать сети электроснабжения для возможностей подключения. Услуги передачи данных могут поступать в дома по широкополосным каналам (к примеру, DSL-модем или кабельный модем) и быть доступными внутри дома с помощью возможностей беспроводного (к примеру, HomeRF или 802.11B) или проводного (к примеру, Home PNA, кабельная система категории 5, Ethernet, даже сеть электроснабжения) подключения. Речевой трафик может поступать в дома как проводной (к примеру, кабельная система категории 3) или беспроводной (к примеру, сотовые телефоны) и может распространяться в доме с помощью кабельной разводки категории 3. Мультимедийная среда, или другие графические данные, может поступать в дома через спутник либо через кабель и типично распространяется в домах с помощью коаксиального кабеля. IEEE 1394 и DVI также являются цифровыми межкомпонентными соединениями для кластеров мультимедийных устройств. Все эти и другие сетевые окружения могут появляться или уже появились, поскольку стандарты протоколов могут взаимодействовать между собой, чтобы формировать сеть, к примеру сеть интранет, которая может быть подключена к внешнему миру посредством глобальной вычислительной сети, такой как Интернет. Вкратце, имеется множество различных по своей сути источников для хранения и передачи данных, и, следовательно, по мере развития вычислительным устройствам потребуются способы совместного использования данных, таких как доступные или используемые данные, присущие программным объектам, к примеру, в ходе делегирования учетных данных от клиента серверу в соответствии с настоящим изобретением.
Интернет, в общем, означает набор сетей и шлюзов, которые используют набор протоколов типа протокола управления передачей/Интернет-протокола (TCP/IP), которые общеизвестны в области техники организации вычислительных сетей. Интернет может быть описан как система географически распределенных удаленных вычислительных сетей, соединенных между собой посредством компьютеров, приводящих в исполнение протоколы организации сетей, которые позволяют пользователям взаимодействовать и совместно использовать информацию по сети(ям). Вследствие общераспространенного совместного использования информации удаленные сети, такие как Интернет, к настоящему времени эволюционировали, в общем, в открытую систему, с помощью которой разработчики могут создавать программные приложения для выполнения специализированных операций и услуг, в сущности, без ограничений.
Таким образом, сетевая инфраструктура предоставляет множество сетевых топологий, таких как клиент/сервер, равноправная или гибридная архитектура. "Клиент" - это член класса или группы, который использует службы другого класса или группы, к которой он не относится. Таким образом, в вычислительных системах клиентом является процесс, т.е., упрощая, набор инструкций или задач, который запрашивает службу, предоставляемую другой программой. Клиентский процесс использует запрошенную службу без необходимости "знать" какие-либо подробности о работе другой программы или самой службы. В клиент/серверной архитектуре, в частности в сетевой системе, клиентом обычно является компьютер, который осуществляет доступ к общим сетевым ресурсам, предоставляемым другим компьютером, к примеру сервером. В иллюстрации на фиг.7A, в качестве примера, компьютеры 110a, 110b и т.д. могут считаться клиентами, а компьютеры 10a, 10b и т.д. могут считаться серверами, при этом серверы 10a, 10b и т.д. содержат данные, которые затем тиражируются на клиентских компьютерах 110a, 110b и т.д., хотя любой компьютер может считаться клиентом, сервером или и тем, и другим, в зависимости от обстоятельств. Любые из этих вычислительных устройств могут обрабатывать данные или запрашивать службы либо задачи, которые могут включать в себя делегирование учетных данных от клиента серверу согласно изобретению.
Сервером типично является удаленный компьютер, доступный по удаленной или локальной сети, такой как Интернет. Клиентский процесс может быть активен в первом компьютере, а серверный процесс может быть активен во втором компьютере, которые обмениваются данными друг с другом по среде связи, тем самым предоставляя распределенную функциональность и позволяя нескольким клиентам использовать преимущество возможностей сервера по сбору информации. Любые программно-реализованные объекты в соответствии с методиками делегирования учетных данных от клиента серверу согласно изобретению могут быть распределены по нескольким вычислительным устройствам или объектам.
Клиенты и серверы обмениваются данными друг с другом, используя функциональность, предоставляемую уровнем протоколов. Например, протокол передачи гипертекста (HTTP) является стандартным протоколом, который используется в связи с всемирной паутиной (WWW) или "веб-сетью". Типично сетевой адрес компьютера, такой как адрес Интернет-протокола (IP), или другая ссылка, такая как унифицированный указатель информационного ресурса (URL), может быть использована, чтобы идентифицировать серверные или клиентские компьютеры друг для друга. Сетевой адрес может упоминаться как URL-адрес. Обмен данными может предоставляться по среде связи, к примеру клиенты и серверы могут быть соединены друг с другом посредством подключений по TCP/IP для высокоскоростной связи.
Таким образом, фиг.7A иллюстрирует примерное сетевое или распределенное окружение с серверами, обменивающимися данными с клиентскими компьютерами посредством сети/шины, в котором может быть использовано настоящее изобретение. Более подробно, ряд серверов 10a, 10b и т.д. соединяются по сети/шине 14 связи, которой может быть LAN, WAN, сеть интранет, Интернет и т.д., с рядом клиентов или удаленных вычислительных устройств 110a, 110b, 110c, 110d, 110e и т.д., таких как портативный компьютер, карманный компьютер, тонкий клиент, подключенный к сети прибор или другое устройство, такое как VCR, TV, микроволновая печь, осветительный прибор, нагревательный прибор и т.п., в соответствии с настоящим изобретением. Таким образом, предполагается, что настоящее изобретение может применяться к любому вычислительному устройству, при соединении с которым желательно делегировать учетные данные пользователей серверу.
В сетевом окружении, в котором сетью/шиной 14 связи является Интернет, например, серверы 10a, 10b и т.д. могут быть веб-серверами, с которыми клиенты 110a, 110b, 110c, 110d, 110e и т.д. обмениваются данными через любой из ряда известных протоколов, например HTTP. Серверы 10a, 10b и т.д. также могут выступать в качестве клиентов 110a, 110b, 110c, 110d, 110e и т.д. в соответствии с характеристикой распределенного вычислительного окружения.
Как упоминалось, связь может быть проводная, или беспроводная, или комбинация вышеозначенного, как требуется. Клиентские устройства 110a, 110b, 110c, 110d, 110e и т.д. могут обмениваться или не обмениваться данными по сети/шине 14 связи и могут иметь независимую связь, ассоциативно связанную с ними. Например, в случае TV или VCR может иметься или отсутствовать сетевой аспект в их управлении. Каждый клиентский компьютер 110a, 110b, 110c, 110d, 110e и т.д. и серверный компьютер 10a, 10b и т.д. может быть оснащен различными прикладными программными модулями или объектами 135a, 135b, 135c и т.д., а также подключениями или доступом к различным типам элементов или объектов хранения, в которых файлы или потоки данных могут быть сохранены или на которые части файлов или потоков данных могут быть загружены, переданы или перемещены. Любые из этих одного или более компьютеров 10a, 10b, 110a, 110b и т.д. могут отвечать за хранение и обновление базы 20 данных или другого элемента хранения, такого как база данных или память 20 для хранения данных, обработанных или сохраненных согласно изобретению. Таким образом, настоящее изобретение может быть использовано в вычислительном сетевом окружении, имеющем клиентские компьютеры 110a, 110b и т.д., которые могут осуществлять доступ и взаимодействовать с вычислительной сетью/шиной 14, и серверные компьютеры 10a, 10b и т.д., которые могут взаимодействовать с клиентскими компьютерами 110a, 110b и т.д. и другими аналогичными устройствами и базами 20 данных.
Примерное вычислительное устройство
Как упоминалось, изобретение применяется к любому устройству, на котором может быть желательным защитить первичное приложение от вмешательства со стороны вторичных приложений устройства. Поэтому необходимо понимать, что карманные, портативные и другие вычислительные устройства и вычислительные объекты любого типа рассматриваются для использования в связи с настоящим изобретением, т.е. в любом месте, где устройство может захотеть делегировать учетные данные серверу (к примеру, GSM-сеть через портативное устройство, такое как мобильный телефон). Соответственно, удаленный компьютер общего назначения, описанный ниже на фиг.7B, является всего одним примером, и настоящее изобретение может быть реализовано с помощью любого клиента, имеющего поддержку взаимодействия по сети/шине. Таким образом, настоящее изобретение может быть реализовано в окружении сетевых размещаемых служб, в которых содержится немного или минимум клиентских ресурсов, к примеру, в сетевом окружении, в котором клиентское устройство выступает просто как интерфейс для сети/шины, такой как объект, находящийся в приборе.
Хотя и необязательно, изобретение частично может быть реализовано посредством операционной системы для использования разработчиком услуг для устройства или объекта и/или включено в прикладное программное обеспечение, которое работает в применении к компоненту(ам) изобретения. Программное обеспечение может быть описано в общем контексте машиноисполняемых инструкций, таких как программные модули, приводимые в исполнение посредством одного или более компьютеров, таких как клиентские рабочие станции, серверы или другие устройства. Специалисты в данной области техники должны принять во внимание, что изобретение может быть использовано на практике с другими конфигурациями и протоколами вычислительных систем.
Фиг.7B, таким образом, иллюстрирует примерное подходящее вычислительное системное окружение 100а, в котором может быть реализовано изобретение, хотя как было прояснено выше, вычислительное системное окружение 100а является только одним примером подходящего вычислительного окружения для устройства и не предназначено, чтобы налагать какое-либо ограничение на область использования или функциональность изобретения. Также вычислительное окружение 100a не должно быть интерпретировано как имеющее какую бы то ни было зависимость или обязательное условие, относящееся к любому одному или сочетанию из компонентов, проиллюстрированных в примерном операционном окружении 100a.
Со ссылкой на фиг.7B, примерное удаленное устройство для реализации изобретения включает в себя вычислительное устройство общего назначения в виде компьютера 110a. Компоненты компьютера 110a могут включать в себя, но не только, блок 120a обработки, системную память 130a и системную шину 121a, которая соединяет различные компоненты системы, включая системную память, с блоком 120a обработки. Системная шина 121a может быть любой из нескольких типов шинных структур, включающих в себя шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из множества шинных архитектур.
Компьютер 110а типично включает в себя множество машиночитаемых носителей. Машиночитаемыми носителями могут быть любые доступные носители, к которым можно осуществлять доступ посредством компьютера 110a. В качестве примеров, но не ограничения, машиночитаемые носители могут содержать компьютерные носители хранения и среду связи. Компьютерные носители хранения включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные носители хранения включают в себя (но не только) память по технологии RAM, ROM, EEPROM, флэш-память или другой технологии памяти, CD-ROM, универсальные цифровые диски (DVD) или другие оптические диски, магнитные кассеты, магнитные ленты, магнитные диски или другие магнитные устройства хранения либо любой другой носитель, который может быть использован для того, чтобы хранить нужную информацию и к которому может осуществлять доступ компьютер 110a. Среда связи типично содержит машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая волна или другой механизм распространения, и включает в себя любой носитель для доставки информации.
Системная память 130a может включать в себя компьютерные носители хранения в виде энергозависимой и/или энергонезависимой памяти, такие как постоянное запоминающее устройство (ROM) и оперативное запоминающее устройство (RAM). Базовая система ввода-вывода (BIOS), содержащая базовые подпрограммы, которые помогают передавать информацию между элементами в компьютере 110a, к примеру, в ходе загрузки, может быть сохранена в памяти 130a. Память 130a также типично содержит данные и/или программные модули, которые немедленно доступны и/или являются выполняемыми в данный момент блоком 120a обработки. В качестве примера, но не ограничения, память 130a также может включать в себя операционную систему, прикладные программы, другие программные модули и программные данные.
Компьютер 110a также может включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители хранения. Например, компьютер 110a может включать в себя накопитель на жестких дисках, который считывает или записывает на несъемные энергонезависимые магнитные носители, накопитель на магнитных дисках, который считывает с или записывает на съемный энергонезависимый магнитный диск, и/или накопитель на оптических дисках, который считывает с или записывает на съемный энергонезависимый оптический диск, такой как CD-ROM или другой оптический носитель. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители хранения, которые могут быть использованы в примерном операционном окружении, включают в себя, но не только, кассеты с магнитной лентой, карты флэш-памяти, цифровые универсальные диски, цифровую видеоленту, твердотельное RAM, твердотельное ROM и т.п. Накопитель на жестких дисках типично подключен к системной шине 121a через интерфейс несъемной памяти, такой как интерфейс, а накопитель на магнитных дисках и накопитель на оптических дисках типично подключены к системной шине 121a через интерфейс съемной памяти, такой как интерфейс.
Пользователь может вводить команды и информацию в компьютер 110a посредством устройств ввода, например клавиатуры и указательного устройства, обычно называемого мышью, шарового манипулятора или сенсорной панели. Другие устройства ввода могут включать в себя микрофон, джойстик, игровой планшет, спутниковую антенну, сканер и т.п. Эти и другие устройства ввода часто подключены к блоку 120a обработки через пользовательский ввод 140a и ассоциативно связанный интерфейс, который подключен к системной шине 121a, но может быть подключен через другой интерфейс и шинные структуры, такие как параллельный порт, игровой порт или универсальная последовательная шина (USB). Графическая подсистема также может быть подключена к системной шине 121a. Монитор или другой тип дисплейного устройства также подключен к системной шине 121a через такой интерфейс, как интерфейс 150a вывода, который, в свою очередь, может обмениваться данными с видеопамятью. Помимо монитора, компьютеры также могут включать в себя другие периферийные устройства вывода, например динамики и принтер, которые могут быть подключены через интерфейс 150a вывода.
Компьютер 110a может работать в сетевом или распределенном окружении, использующем логические соединения с одним или более удаленных компьютеров, таких как удаленный компьютер 170a, который, в свою очередь, может иметь возможности, такие как мультимедийные возможности, отличные от устройства 110a. Удаленным компьютером 170a может быть персональный компьютер, сервер, маршрутизатор, сетевой PC, одноранговое устройство или другой общий сетевой узел либо другое удаленное устройство потребления или передачи мультимедиа и может включать в себя любые или все элементы, описанные выше относительно компьютера 110a. Логические соединения, показанные на фиг.7B, включают в себя сеть 171a, такую как локальная сеть или глобальная сеть, но также могут включать в себя другие сети/шины. Такие сетевые окружения широко распространены в домах, офисах, корпоративных вычислительных сетях, сетях интранет и в Интернете.
При использовании в сетевом окружении LAN, компьютер 110a подключен к LAN 171a посредством сетевого интерфейса или адаптера. При использовании в сетевом окружении WAN, компьютер 110a типично включает сетевой компонент (сетевую карту, модем и т.д.) или другое средство для установления связи по WAN, такой как Интернет. Средство подключения к сети, которое может быть внутренним или внешним, может подключаться к системной шине 121a по пользовательскому интерфейсу 140a ввода или с использованием другого подходящего механизма. В сетевом окружении программные модули, показанные относительно компьютера 110a, или их части могут быть сохранены на удаленном запоминающем устройстве. Следует принимать во внимание, что показанные и описанные сетевые соединения являются типичными, и другие средства установления линии связи между компьютерами могут быть использованы.
Примерные распределенные вычислительные инфраструктуры или архитектуры
Различные распределенные вычислительные инфраструктуры разработаны и продолжают разрабатываться в свете сближения персональных вычислительных систем и Интернета. Частным, а также корпоративным пользователям предоставляется обладающий широкими возможностями взаимодействия веб-интерфейс для приложений и вычислительных устройств, делающий вычислительные операции все более ориентированными на веб-обозреватель или сеть.
Например, платформа управляемого кода MICROSOFT®, т.е. .NET, включает в себя серверы, блочно-наращиваемые услуги, такие как веб-ориентированное хранение данных и загружаемое программное обеспечение устройств. Вообще говоря, платформа .NET предоставляет (1) возможность всему диапазону вычислительных устройств работать совместно и иметь пользовательскую информацию автоматически обновляемой и синхронизируемой на всех из них, (2) расширенные интерактивные возможности для веб-страниц с поддержкой все большего применения XML вместо HTML, (3) онлайновые услуги, которые содержат персонифицированный доступ и доставку продуктов и услуг пользователю из центрального отправного пункта для управления различными приложениями, таких как, к примеру, электронная почта, или программного обеспечения, такого как Office .NET, (4) централизованное хранение данных, которое повышает эффективность и простоту доступа к информации, а также синхронизации информации между пользователями и устройствами, (5) возможность интегрировать различные среды связи, такие как электронная почта, факсы и телефоны, (6) для разработчиков, возможность создавать многократно используемые модули, тем самым повышая производительность и снижая число ошибок программирования, и (7) также множество других признаков межплатформенной и межъязыковой интеграции.
Хотя некоторые примерные варианты осуществления в данном документе описываются в связи с программным обеспечением, таким как интерфейс прикладного программирования (API), размещающийся на вычислительном устройстве, одна или более частей изобретения также могут быть реализованы посредством операционной системы или объекта "человек в середине", управляющего объекта, аппаратных средств, микропрограммного обеспечения, промежуточных языковых инструкций или объектов и т.д. так, чтобы способы делегирования учетных данных от клиента серверу в соответствии с изобретением могли быть включены, поддерживаться в или быть доступными посредством всех языков и услуг, предоставляемых посредством управляемого кода, такого как .NET-код, как и в других распределенных вычислительных инфраструктурах.
Имеется несколько способов реализации настоящего изобретения, к примеру, посредством соответствующего API, комплекта инструментальных средств, кода драйверов, операционной системы, элемента управления, автономного или загружаемого программно-реализованного объекта и т.д., которые позволяют приложениям и услугам использовать системы и способы для делегирования учетных данных от клиента серверу согласно изобретению. Изобретение предполагает использование изобретения с точки зрения API (или другого программно-реализованного объекта), а также с точки зрения программного или аппаратного объекта, который принимает загруженную программу в соответствии с изобретением. Таким образом, различные реализации изобретения, описанные в данном документе, могут иметь аспекты, которые полностью находятся в аппаратных средствах, частично в аппаратных средствах и частично в программном обеспечении, а также в программном обеспечении.
Как упоминалось выше, хотя примерные варианты осуществления настоящего изобретения описаны в связи с различными вычислительными устройствами и сетевыми архитектурами, базовые концепции могут быть применены к любому вычислительному устройству или системе, в которой желательно делегировать учетные данные от клиента серверу. Например, алгоритм(ы) и аппаратные реализации изобретения могут быть применены к операционной системе вычислительного устройства, предоставлены как отдельный объект в устройстве, как часть другого объекта, как элемент управления многократного использования, как загружаемый объект с сервера, как "человек в середине" между устройством или объектом и сетью, как распределенный объект, как аппаратные средства, в памяти, как комбинация любого из вышеупомянутого и т.д. Хотя примерные языки программирования, имена и примеры выбираются в данном документе как представляющие различные варианты выбора, эти языки, имена и примеры не предназначены для того, чтобы быть ограничивающими. Специалисты в данной области техники должны принимать во внимание, что имеется множество способов предоставления объектного кода и спецификаций, которые достигают такой же, аналогичной или эквивалентной функциональности, достигаемой посредством различных вариантов осуществления изобретения.
Как упоминалось, описанные в данном документе различные методики могут быть реализованы в связи с аппаратными средствами или программным обеспечением или, если необходимо, с их комбинацией. Таким образом, способы и устройства настоящего изобретения либо его определенных аспектов или частей могут принимать форму программного кода (т.е. инструкций), осуществленного на материальных носителях, таких как гибкие диски, диски CD-ROM, жесткие диски или любой другой машиночитаемый носитель хранения, при этом, когда программный код загружен и приведен в исполнение машиной, например компьютером, машина становится устройством для использования изобретения на практике. В случае приведения в исполнение программного кода на программируемых компьютерах вычислительное устройство, в общем, включает в себя процессор, носитель хранения, читаемый процессором (включая энергозависимую и энергонезависимую память и/или элементы хранения), по меньшей мере, одно устройство ввода и, по меньшей мере, одно устройство вывода. Одна или более программ, которые могут реализовывать или использовать способы делегирования учетных данных от клиента серверу согласно настоящему изобретению, к примеру, посредством использования API-интерфейса обработки данных, элементов управления многократного использования и т.п., предпочтительно реализованы на высокоуровневом или объектно-ориентированном языке программирования, чтобы обмениваться данными с вычислительной системой. Тем не менее, при необходимости программы могут быть реализованы на языке ассемблера или машины. В любом случае, язык может быть компилируемым или интерпретируемым языком и может объединяться с реализациями в аппаратных средствах.
Способы и устройства настоящего изобретения также могут быть использованы на практике через взаимодействие, осуществляемое в форме программного кода, который передается посредством определенной среды передачи, например посредством электропроводки или кабелей, с помощью оптоволокна или посредством любой другой формы передачи, причем когда программный код принят и загружен и приводится в исполнение посредством машины, такой как EPROM, логическая матрица, программируемое логическое устройство (PLD), клиентский компьютер и т.д., машина становится устройством практического применения изобретения. Когда реализован на процессоре общего назначения, программный код комбинируется с процессором, чтобы предоставлять уникальное устройство, которое выполнено с возможностью активировать функциональность настоящего изобретения. Дополнительно, любые методики хранения, используемые в связи с настоящим изобретением, без исключений могут быть комбинацией аппаратных средств и программного обеспечения.
Хотя настоящее изобретение описано в связи с предпочтительными вариантами осуществления различных чертежей, следует понимать, что аналогичные другие варианты осуществления могут быть использованы или модификации и дополнения могут быть сделаны в описанные варианты осуществления для выполнения той же функции настоящего изобретения без отклонения от нее. Например, хотя примерные сетевые окружения по изобретению описаны в контексте объединенного в сеть окружения, такого как объединенное в сеть окружение равноправных узлов, специалисты в данной области техники должны принимать во внимание, что настоящее изобретение не ограничено таким образом и что способы, описанные в настоящей заявке, могут применяться к любому вычислительному устройству или окружению, такому как игровая консоль, карманный компьютер, портативный компьютер и т.д., будь то проводное или беспроводное, и могут быть применены к любому числу таких вычислительных устройств, соединенных через сеть связи и взаимодействующих по сети. Кроме того, следует подчеркнуть, что множество вычислительных платформ, включая операционные системы карманных устройств и другие специализированные операционные системы, допускается, особенно по мере того, как число беспроводных сетевых устройств продолжает быстро увеличиваться.
Хотя примерные варианты осуществления ссылаются на использование настоящего изобретения в контексте конкретных конструкций языка программирования, изобретение не ограничено таким образом и вместо этого может быть реализовано на любом языке для того, чтобы предоставлять способы делегирования учетных данных от клиента серверу. Дополнительно, настоящее изобретение может быть реализовано на множестве микросхем или устройств обработки, и хранение также может осуществляться на множестве устройств. Поэтому настоящее изобретение не должно быть ограничено одним вариантом осуществления, а вместо этого должно быть истолковано в области применения и объеме охраны в соответствии с прилагаемой формулой изобретения.

Claims (19)

1. Способ делегирования учетных данных пользователя от клиента серверу в сетевом вычислительном окружении, содержащий этапы, на которых:
посылают с клиента запрос на, по меньшей мере, одно из приложения, услуги и ресурса сервера в сетевом вычислительном окружении, причем запрос включает делегирование учетных данных от клиента серверу;
инициируют подтверждение связи между клиентом и сервером, включая прием посредством клиента открытого ключа (Kpub) сервера;
выполняют согласование с сервером для выбора пакета аутентификации, совместно используемого клиентом и сервером, чтобы использовать в качестве механизма аутентификации для аутентификации связи между клиентом и сервером;
аутентифицируют сервер, используя выбранный пакет аутентификации в качестве механизма аутентификации;
определяют, произошла ли аутентификация согласно упомянутому этапу аутентификации, и только если аутентификация произошла, устанавливают сеанс между клиентом и сервером, включая установление совместно используемого секрета для шифрования сообщений, передаваемых между клиентом и сервером;
принимают на клиенте указание классификации для сервера;
до передачи учетных данных пользователя для запроса выполняют проверку политики согласно, по меньшей мере, одной предопределенной политике, определенной для учетных данных пользователя, чтобы определить, может ли сервер быть доверенным в отношении учетных данных пользователя, причем эта предопределенная политика основывается на принятой классификации сервера;
аутентифицируют Kpub сервера посредством того, что:
шифруют Kpub с помощью совместно используемого секрета,
посылают зашифрованный Kpub на сервер,
принимают от сервера ответ и
удостоверяются в том, что ответ включает в себя (Kpub+1), зашифрованный с помощью совместно используемого секрета; и
если сервер может быть доверенным в соответствии с предопределенной политикой и ответ удостоверен, передают учетные данные пользователя на сервер, чтобы получить доступ к запрошенному, по меньшей мере, одному из приложения, услуги и ресурса сервера с клиента.
2. Способ по п.1, в котором, по меньшей мере, одна предопределенная политика - это множество политик, используемых для того, чтобы управлять и разграничивать делегирование учетных данных пользователя от клиента серверу.
3. Способ по п.2, в котором множество политик адресованы на подавление широкого диапазона атак, включая, по меньшей мере, одно из трояна или вредоносной программы, запущенной на клиенте, настроек групповой политики по умолчанию и значений групповой политики, конфигурируемых администратором клиента, заражения службы доменных имен (DNS), чтобы исключить разрешения на мошеннический сервер и атаки типа "отказ в обслуживании".
4. Способ по п.2, в котором множество политик включают в себя политики, которые, по меньшей мере, разрешают или запрещают делегирование на основе списка имен участников-служб (SPN) сервера.
5. Способ по п.1, в котором при упомянутом выполнении выполняют проверку политики согласно, по меньшей мере, одной предопределенной политике на основе типа учетных данных пользователя.
6. Способ по п.1, в котором при упомянутом выполнении выполняют проверку политики согласно, по меньшей мере, одной предопределенной политике на основе того, являются ли учетные данные пользователя свежими учетными данными, сохраненными учетными данными или учетными данными по умолчанию.
7. Способ по п.1, в котором при упомянутой передаче учетных данных пользователя учетные данные пользователя передают в таком формате, что только доверенная подсистема локальной системы безопасности имеет доступ к учетным данным пользователя в формате открытого текста.
8. Способ по п.7, в котором выполнение проверки политики выполняется посредством локального центра обеспечения безопасности (LSA), а доверенная подсистема является доверенной подсистемой LSA.
9. Способ по п.1, дополнительно содержащий этап, на котором после установления сеанса между клиентом и сервером аутентифицируют открытый ключ сервера.
10. Способ по п.1, в котором упомянутые этапы выполняются через компонент поставщика услуг по обеспечению безопасности учетных данных, доступный пользователю, делающему запрос через интерфейс поставщика услуг по обеспечению безопасности (SSPI).
11. Способ по п.1, в котором начальное подтверждение связи - это подтверждение связи согласно протоколу защищенных сокетов (SSL) или безопасности транспортного уровня (TLS).
12. Способ по п.1, в котором при упомянутом согласовании выполняют согласование с помощью простого и защищенного механизма согласования интерфейса (GSSAPI) прикладного программирования для служб безопасности (SPNEGO).
13. Способ по п.1, в котором выбранный пакет аутентификации - это любое из Kerberos или NT Local Area Network (LAN) Manager (NTLM).
14. Способ по п.1, в котором упомянутым совместно используемым секретом является совместно используемый сеансовый ключ.
15. Вычислительное устройство-клиент, содержащее компонент поставщика услуг по обеспечению безопасности учетных данных для обработки запроса от вычислительного устройства-клиента на, по меньшей мере, одно из приложения, услуги и ресурса сервера в сетевом вычислительном окружении, при этом запрос включает делегирование учетных данных от вычислительного устройства-клиента серверу, при этом компонент поставщика услуг по обеспечению безопасности учетных данных:
инициирует подтверждение связи между клиентом и сервером, при этом клиентом принимается открытый ключ (Kpub) сервера;
согласует выбор поставщика услуг по обеспечению безопасности учетных данных, совместно используемого клиентом и сервером, чтобы использовать пакет аутентификации для аутентификации связи между клиентом и сервером;
выполняет этапы, чтобы аутентифицировать сервер и клиент, используя пакет аутентификации;
при этом только после того, как аутентификация произошла, компонент поставщика услуг по обеспечению безопасности учетных данных:
устанавливает сеанс между клиентом и сервером и совместно используемый секрет для шифрования сообщений, передаваемых между клиентом и сервером согласно сеансу, и по приему указания классификации для сервера выполняет проверку политики согласно, по меньшей мере, одной предопределенной политике, используемой для того, чтобы управлять и разграничивать делегирование учетных данных пользователя от вычислительного устройства-клиента серверу, причем проверка политики основывается на принятой классификации сервера;
аутентифицирует Kpub сервера посредством:
шифрования Kpub с помощью совместно используемого секрета,
отправки зашифрованного Kpub на сервер,
приема от сервера ответа и
удостоверения в том, что ответ включает в себя (Kpub+1), зашифрованный с помощью совместно используемого секрета; и
передает учетные данные пользователя на сервер, чтобы получить доступ к запрошенному, по меньшей мере, одному из приложения, услуги и ресурса сервера с клиента, только если проверка политики пройдена и ответ удостоверен.
16. Вычислительное устройство-клиент по п.15, в котором компонент поставщика услуг по обеспечению безопасности учетных данных передает учетные данные пользователя в формате, который доверенная подсистема локального центра обеспечения безопасности (LSA) может декодировать в формат открытого текста.
17. Вычислительное устройство-клиент по п.15, в котором, по меньшей мере, одна предопределенная политика адресована на подавление одной или более из широкого диапазона атак, включая троян или вредоносную программу, запущенную на клиенте, настройки групповой политики по умолчанию и значения групповой политики, конфигурируемые администратором клиента, заражение службы доменных имен (DNS), чтобы исключить разрешение на мошеннический сервер и атаки типа "отказ в обслуживании".
18. Вычислительное устройство-клиент по п.15, в котором, по меньшей мере, одна предопределенная политика включает в себя политику делегирования на основе того, являются ли учетные данные пользователя свежими учетными данными, сохраненными учетными данными или учетными данными по умолчанию.
19. Компьютерная система для делегирования учетных данных пользователя от клиента серверу в сетевом вычислительном окружении как часть единой регистрации для доступа к ресурсам сервера, при этом система содержит, по меньшей мере, один процессор и память, подключенную к этому, по меньшей мере, одному процессору с возможностью обмена данными и содержащая инструкции, которыми при их исполнении упомянутым, по меньшей мере, одним процессором осуществляется способ, включающий в себя этапы, на которых:
посылают с клиента запрос на, по меньшей мере, одно из приложения, услуги и ресурса сервера в сетевом вычислительном окружении, причем запрос включает в себя делегирование учетных данных от клиента серверу;
инициируют подтверждение связи между клиентом и сервером, включая прием посредством клиента открытого ключа (Kpub) сервера;
выполняют согласование с сервером для выбора пакета аутентификации, совместно используемого клиентом и сервером, чтобы использовать в качестве механизма аутентификации для аутентификации связи между клиентом и сервером;
аутентифицируют сервер, используя выбранный пакет аутентификации в качестве механизма аутентификации;
определяют, произошла ли аутентификация согласно упомянутому этапу аутентификации, и только если аутентификация произошла, устанавливают сеанс между клиентом и сервером, включая установление совместно используемого секрета для шифрования сообщений, передаваемых между клиентом и сервером;
принимают на клиенте указание классификации для сервера;
до передачи учетных данных пользователя для запроса выполняют проверку политики согласно, по меньшей мере, одной предопределенной политике, определенной для учетных данных пользователя, чтобы определить, может ли сервер быть доверенным в отношении учетных данных пользователя, причем эта предопределенная политика основывается на принятой классификации сервера;
аутентифицируют Kpub сервера посредством того, что:
шифруют Kpub с помощью совместно используемого секрета,
посылают зашифрованный Kpub на сервер,
принимают от сервера ответ и
удостоверяются в том, что ответ включает в себя (Kpub+1), зашифрованный с помощью совместно используемого секрета; и
если сервер может быть доверенным в соответствии с предопределенной политикой и ответ удостоверен, передают учетные данные пользователя на сервер, чтобы получить доступ к запрошенному, по меньшей мере, одному из приложения, услуги и ресурса сервера с клиента.
RU2008146517/08A 2006-05-26 2007-05-25 Управляемое политиками делегирование учетных данных для единой регистрации в сети и защищенного доступа к сетевым ресурсам RU2439692C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/441,588 US7913084B2 (en) 2006-05-26 2006-05-26 Policy driven, credential delegation for single sign on and secure access to network resources
US11/441,588 2006-05-26

Publications (2)

Publication Number Publication Date
RU2008146517A RU2008146517A (ru) 2010-05-27
RU2439692C2 true RU2439692C2 (ru) 2012-01-10

Family

ID=38750973

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008146517/08A RU2439692C2 (ru) 2006-05-26 2007-05-25 Управляемое политиками делегирование учетных данных для единой регистрации в сети и защищенного доступа к сетевым ресурсам

Country Status (17)

Country Link
US (1) US7913084B2 (ru)
EP (1) EP2021938B1 (ru)
JP (1) JP5139423B2 (ru)
KR (1) KR101414312B1 (ru)
CN (1) CN101449257B (ru)
AU (1) AU2007267836B2 (ru)
BR (1) BRPI0711702A2 (ru)
CA (1) CA2654381C (ru)
CL (1) CL2007001510A1 (ru)
IL (1) IL194962A (ru)
MX (1) MX2008014855A (ru)
MY (1) MY148801A (ru)
NO (1) NO20084500L (ru)
RU (1) RU2439692C2 (ru)
TW (1) TWI439103B (ru)
WO (1) WO2007139944A2 (ru)
ZA (1) ZA200809318B (ru)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2628323C1 (ru) * 2015-03-13 2017-08-15 Сяоми Инк. Способы и аппаратура для привязки к устройству
RU2658894C1 (ru) * 2017-07-26 2018-06-25 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ управления доступом к данным с защитой учетных записей пользователей
RU2685975C2 (ru) * 2014-06-19 2019-04-23 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Обеспечение безопасности связи с расширенными мультимедийными платформами

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10181953B1 (en) 2013-09-16 2019-01-15 Amazon Technologies, Inc. Trusted data verification
JP4386732B2 (ja) 2002-01-08 2009-12-16 セブン ネットワークス, インコーポレイテッド モバイルネットワークの接続アーキテクチャ
US7742582B2 (en) 2005-02-17 2010-06-22 Core Systems (Ni) Limited Offender message delivery system
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US8028325B2 (en) * 2005-08-08 2011-09-27 AOL, Inc. Invocation of a third party's service
US7792792B2 (en) * 2006-05-22 2010-09-07 Microsoft Corporation Synchronizing structured web site contents
JP2008052578A (ja) * 2006-08-25 2008-03-06 Seiko Epson Corp アクセス制御装置、画像表示装置及びプログラム
US8467527B2 (en) 2008-12-03 2013-06-18 Intel Corporation Efficient key derivation for end-to-end network security with traffic visibility
US8528058B2 (en) * 2007-05-31 2013-09-03 Microsoft Corporation Native use of web service protocols and claims in server authentication
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8291481B2 (en) * 2007-09-18 2012-10-16 Microsoft Corporation Sessionless redirection in terminal services
US8387130B2 (en) * 2007-12-10 2013-02-26 Emc Corporation Authenticated service virtualization
US8539568B1 (en) 2007-10-03 2013-09-17 Courion Corporation Identity map creation
WO2009076447A1 (en) * 2007-12-10 2009-06-18 Courion Corporaton Policy enforcement using esso
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8434149B1 (en) * 2007-12-21 2013-04-30 Symantec Corporation Method and apparatus for identifying web attacks
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US9218469B2 (en) * 2008-04-25 2015-12-22 Hewlett Packard Enterprise Development Lp System and method for installing authentication credentials on a network device
US8943560B2 (en) * 2008-05-28 2015-01-27 Microsoft Corporation Techniques to provision and manage a digital telephone to authenticate with a network
US8799630B2 (en) * 2008-06-26 2014-08-05 Microsoft Corporation Advanced security negotiation protocol
TW201011587A (en) * 2008-09-03 2010-03-16 Wayi Internat Digital Entertainment Co Ltd Computer tied-in system and its method
US7941549B2 (en) * 2008-09-16 2011-05-10 Microsoft Corporation Protocol exchange and policy enforcement for a terminal server session
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8413210B2 (en) * 2008-12-09 2013-04-02 Microsoft Corporation Credential sharing between multiple client applications
US20100175113A1 (en) * 2009-01-05 2010-07-08 International Business Machine Corporation Secure System Access Without Password Sharing
US8844040B2 (en) * 2009-03-20 2014-09-23 Citrix Systems, Inc. Systems and methods for using end point auditing in connection with traffic management
US8458732B2 (en) * 2009-08-19 2013-06-04 Core Systems (Ni) Limited Inmate information center for correctional facility processing
US8555054B2 (en) 2009-10-12 2013-10-08 Palo Alto Research Center Incorporated Apparatus and methods for protecting network resources
US8156546B2 (en) * 2009-10-29 2012-04-10 Satyam Computer Services Limited Of Mayfair Centre System and method for flying squad re authentication of enterprise users
TW201126371A (en) * 2010-01-27 2011-08-01 Hui Lin Online gaming authentication framework and method
US20110231670A1 (en) * 2010-03-16 2011-09-22 Shevchenko Oleksiy Yu Secure access device for cloud computing
KR101102855B1 (ko) * 2010-04-26 2012-01-10 엔에이치엔(주) 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
US9160738B2 (en) 2010-05-27 2015-10-13 Microsoft Corporation Delegation-based authorization
US8688994B2 (en) 2010-06-25 2014-04-01 Microsoft Corporation Federation among services for supporting virtual-network overlays
US20120017274A1 (en) * 2010-07-15 2012-01-19 Mcafee, Inc. Web scanning site map annotation
EP2599003B1 (en) 2010-07-26 2018-07-11 Seven Networks, LLC Mobile network traffic coordination across multiple applications
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
US8505083B2 (en) 2010-09-30 2013-08-06 Microsoft Corporation Remote resources single sign on
JP5620781B2 (ja) * 2010-10-14 2014-11-05 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8903954B2 (en) 2010-11-22 2014-12-02 Seven Networks, Inc. Optimization of resource polling intervals to satisfy mobile device requests
AU2010246354B1 (en) * 2010-11-22 2011-11-03 Microsoft Technology Licensing, Llc Back-end constrained delegation model
US9237155B1 (en) 2010-12-06 2016-01-12 Amazon Technologies, Inc. Distributed policy enforcement with optimizing policy transformations
US9258312B1 (en) 2010-12-06 2016-02-09 Amazon Technologies, Inc. Distributed policy enforcement with verification mode
EP2659395A2 (en) * 2010-12-28 2013-11-06 Citrix Systems, Inc. Systems and methods for database proxy request switching
EP2661697B1 (en) 2011-01-07 2018-11-21 Seven Networks, LLC System and method for reduction of mobile network traffic used for domain name system (dns) queries
US20120254972A1 (en) * 2011-04-04 2012-10-04 International Business Machines Corporation Trust system
EP2700020A4 (en) 2011-04-19 2015-01-07 Seven Networks Inc SHARING DEVICE RESOURCES FOR NETWORK RESOURCE CONSERVATION
US8621075B2 (en) 2011-04-27 2013-12-31 Seven Metworks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
GB2496537B (en) 2011-04-27 2014-10-15 Seven Networks Inc System and method for making requests on behalf of a mobile device based on atmoic processes for mobile network traffic relief
US8769642B1 (en) 2011-05-31 2014-07-01 Amazon Technologies, Inc. Techniques for delegation of access privileges
US8973108B1 (en) 2011-05-31 2015-03-03 Amazon Technologies, Inc. Use of metadata for computing resource access
DE102011077218B4 (de) 2011-06-08 2023-12-14 Servicenow, Inc. Zugriff auf in einer Cloud gespeicherte Daten
US8719571B2 (en) * 2011-08-25 2014-05-06 Netapp, Inc. Systems and methods for providing secure multicast intra-cluster communication
US9178701B2 (en) 2011-09-29 2015-11-03 Amazon Technologies, Inc. Parameter based key derivation
US9203613B2 (en) 2011-09-29 2015-12-01 Amazon Technologies, Inc. Techniques for client constructed sessions
US9197409B2 (en) 2011-09-29 2015-11-24 Amazon Technologies, Inc. Key derivation techniques
US9038155B2 (en) * 2011-12-02 2015-05-19 University Of Tulsa Auditable multiclaim security token
US8918503B2 (en) 2011-12-06 2014-12-23 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof
WO2013086214A1 (en) 2011-12-06 2013-06-13 Seven Networks, Inc. A system of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US9208123B2 (en) 2011-12-07 2015-12-08 Seven Networks, Llc Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
WO2013090212A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
WO2013090821A1 (en) * 2011-12-14 2013-06-20 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
US8909202B2 (en) 2012-01-05 2014-12-09 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
US8739308B1 (en) 2012-03-27 2014-05-27 Amazon Technologies, Inc. Source identification for unauthorized copies of content
US9215076B1 (en) 2012-03-27 2015-12-15 Amazon Technologies, Inc. Key generation for hierarchical data access
US8892865B1 (en) 2012-03-27 2014-11-18 Amazon Technologies, Inc. Multiple authority key derivation
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US10263899B2 (en) 2012-04-10 2019-04-16 Seven Networks, Llc Enhanced customer service for mobile carriers using real-time and historical mobile application and traffic or optimization data associated with mobile devices in a mobile network
US9258118B1 (en) 2012-06-25 2016-02-09 Amazon Technologies, Inc. Decentralized verification in a distributed system
US9660972B1 (en) 2012-06-25 2017-05-23 Amazon Technologies, Inc. Protection from data security threats
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9176838B2 (en) * 2012-10-19 2015-11-03 Intel Corporation Encrypted data inspection in a network environment
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
CN105164970B (zh) * 2013-05-30 2019-12-17 英特尔公司 自适应认证系统和方法
US9407440B2 (en) 2013-06-20 2016-08-02 Amazon Technologies, Inc. Multiple authority data security and access
US9521000B1 (en) 2013-07-17 2016-12-13 Amazon Technologies, Inc. Complete forward access sessions
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
CN104468074A (zh) * 2013-09-18 2015-03-25 北京三星通信技术研究有限公司 应用程序之间认证的方法及设备
US9237019B2 (en) 2013-09-25 2016-01-12 Amazon Technologies, Inc. Resource locators with keys
US9311500B2 (en) 2013-09-25 2016-04-12 Amazon Technologies, Inc. Data security using request-supplied keys
US9112846B2 (en) * 2013-10-11 2015-08-18 Centrify Corporation Method and apparatus for transmitting additional authorization data via GSSAPI
US10243945B1 (en) 2013-10-28 2019-03-26 Amazon Technologies, Inc. Managed identity federation
US10575347B2 (en) 2013-11-04 2020-02-25 Microsoft Technology Licensing, Llc Delivery of shared WiFi credentials
US9420007B1 (en) 2013-12-04 2016-08-16 Amazon Technologies, Inc. Access control using impersonization
US9374368B1 (en) 2014-01-07 2016-06-21 Amazon Technologies, Inc. Distributed passcode verification system
US9369461B1 (en) 2014-01-07 2016-06-14 Amazon Technologies, Inc. Passcode verification using hardware secrets
US9292711B1 (en) 2014-01-07 2016-03-22 Amazon Technologies, Inc. Hardware secret usage limits
US9262642B1 (en) 2014-01-13 2016-02-16 Amazon Technologies, Inc. Adaptive client-aware session security as a service
US9467441B2 (en) * 2014-02-25 2016-10-11 Dell Products, L.P. Secure service delegator
US10771255B1 (en) 2014-03-25 2020-09-08 Amazon Technologies, Inc. Authenticated storage operations
US9258117B1 (en) 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
US10326597B1 (en) 2014-06-27 2019-06-18 Amazon Technologies, Inc. Dynamic response signing capability in a distributed system
US11275861B2 (en) * 2014-07-25 2022-03-15 Fisher-Rosemount Systems, Inc. Process control software security architecture based on least privileges
US9942229B2 (en) * 2014-10-03 2018-04-10 Gopro, Inc. Authenticating a limited input device via an authenticated application
US10225245B2 (en) * 2014-11-18 2019-03-05 Auth0, Inc. Identity infrastructure as a service
TW201619866A (zh) 2014-11-20 2016-06-01 萬國商業機器公司 客製化資訊設備的方法
CN104660583B (zh) * 2014-12-29 2018-05-29 国家电网公司 一种基于Web加密服务的加密服务方法
TWI563412B (en) * 2015-04-30 2016-12-21 Taiwan Ca Inc System for using trust token to make application obtain digital certificate signature from another application on device and method thereof
US10122692B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Handshake offload
US10122689B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Load balancing with handshake offload
WO2017079980A1 (zh) * 2015-11-13 2017-05-18 华为技术有限公司 一种计费欺诈的检测方法及装置
US10075424B2 (en) * 2016-03-28 2018-09-11 Airwatch Llc Application authentication wrapper
CN106101054A (zh) * 2016-04-29 2016-11-09 乐视控股(北京)有限公司 一种多系统的单点登录方法和集中管控系统
US10372484B2 (en) * 2016-06-27 2019-08-06 Microsoft Technology Licensing, Llc Secured computing system
US10116440B1 (en) 2016-08-09 2018-10-30 Amazon Technologies, Inc. Cryptographic key management for imported cryptographic keys
US10387681B2 (en) * 2017-03-20 2019-08-20 Huawei Technologies Co., Ltd. Methods and apparatus for controlling access to secure computing resources
CN107451477A (zh) * 2017-07-28 2017-12-08 腾讯科技(深圳)有限公司 一种恶意程序检测的方法、相关装置及系统
US11032287B1 (en) * 2018-07-02 2021-06-08 Amazon Technologies, Inc. Delegated administrator with defined permission boundaries in a permission boundary policy attachment for web services and resources
CN110971576A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 一种安全认证的方法和相关装置
WO2020073267A1 (en) * 2018-10-11 2020-04-16 Entit Software Llc Asymmetric-man-in-the-middle capture based application sharing protocol traffic recordation
US11470121B1 (en) * 2018-10-16 2022-10-11 Styra, Inc. Deducing policies for authorizing an API
US11038881B2 (en) * 2018-11-01 2021-06-15 Cisco Technology, Inc. Anonymously generating an encrypted session for a client device in a wireless network
US11258756B2 (en) * 2018-11-14 2022-02-22 Citrix Systems, Inc. Authenticating to a hybrid cloud using intranet connectivity as silent authentication factor
TWI746920B (zh) * 2019-01-04 2021-11-21 臺灣網路認證股份有限公司 透過入口伺服器跨網域使用憑證進行認證之系統及方法
US11323480B2 (en) * 2019-05-07 2022-05-03 Cisco Technology, Inc. Policy enforcement and introspection on an authentication system
TWI791144B (zh) * 2020-03-17 2023-02-01 林金源 具會員身分等級之帳號管理系統
CN112887359B (zh) * 2020-12-31 2022-12-02 北京思特奇信息技术股份有限公司 一种跨域session共享方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228291B2 (en) * 2000-03-07 2007-06-05 International Business Machines Corporation Automated trust negotiation
US20020150253A1 (en) * 2001-04-12 2002-10-17 Brezak John E. Methods and arrangements for protecting information in forwarded authentication messages
US7243370B2 (en) * 2001-06-14 2007-07-10 Microsoft Corporation Method and system for integrating security mechanisms into session initiation protocol request messages for client-proxy authentication
CN1400779A (zh) * 2001-08-06 2003-03-05 平实数位股份有限公司 具有安全性的网络交易方法
KR20030033630A (ko) * 2001-10-24 2003-05-01 주식회사 오앤이시스템 커버로스 기반의 인증에이전트를 이용한 단일인증 시스템
US7644275B2 (en) 2003-04-15 2010-01-05 Microsoft Corporation Pass-thru for client authentication
JP2005123996A (ja) * 2003-10-17 2005-05-12 National Institute Of Information & Communication Technology デバイス間において認証用情報を委譲する情報処理方法及び情報処理システム
US8140054B2 (en) * 2003-10-31 2012-03-20 Electronics And Telecommunications Research Institute Method for authenticating subscriber station, method for configuring protocol thereof, and apparatus thereof in wireless portable internet system
CN1635738A (zh) * 2003-12-26 2005-07-06 鸿富锦精密工业(深圳)有限公司 通用认证授权服务系统及方法
US7181761B2 (en) * 2004-03-26 2007-02-20 Micosoft Corporation Rights management inter-entity message policies and enforcement
US20090055642A1 (en) * 2004-06-21 2009-02-26 Steven Myers Method, system and computer program for protecting user credentials against security attacks
IL165416A0 (en) * 2004-11-28 2006-01-15 Objective data regarding network resources

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2685975C2 (ru) * 2014-06-19 2019-04-23 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Обеспечение безопасности связи с расширенными мультимедийными платформами
RU2628323C1 (ru) * 2015-03-13 2017-08-15 Сяоми Инк. Способы и аппаратура для привязки к устройству
US10178214B2 (en) 2015-03-13 2019-01-08 Xiaomi Inc. Methods and apparatuses for binding with device
RU2658894C1 (ru) * 2017-07-26 2018-06-25 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ управления доступом к данным с защитой учетных записей пользователей

Also Published As

Publication number Publication date
JP5139423B2 (ja) 2013-02-06
EP2021938A4 (en) 2012-04-04
IL194962A0 (en) 2009-08-03
ZA200809318B (en) 2010-02-24
CL2007001510A1 (es) 2008-01-25
EP2021938B1 (en) 2014-01-01
CN101449257A (zh) 2009-06-03
AU2007267836B2 (en) 2011-08-25
AU2007267836A1 (en) 2007-12-06
MX2008014855A (es) 2008-12-01
TWI439103B (zh) 2014-05-21
NO20084500L (no) 2008-11-26
CA2654381A1 (en) 2007-12-06
WO2007139944A3 (en) 2008-02-14
MY148801A (en) 2013-05-31
BRPI0711702A2 (pt) 2011-11-29
JP2009538478A (ja) 2009-11-05
EP2021938A2 (en) 2009-02-11
CA2654381C (en) 2016-11-01
RU2008146517A (ru) 2010-05-27
US20070277231A1 (en) 2007-11-29
US7913084B2 (en) 2011-03-22
TW200810488A (en) 2008-02-16
IL194962A (en) 2014-03-31
CN101449257B (zh) 2011-05-11
KR20090012244A (ko) 2009-02-02
WO2007139944A2 (en) 2007-12-06
KR101414312B1 (ko) 2014-07-04

Similar Documents

Publication Publication Date Title
RU2439692C2 (ru) Управляемое политиками делегирование учетных данных для единой регистрации в сети и защищенного доступа к сетевым ресурсам
JP6656157B2 (ja) ネットワーク接続自動化
JP4965558B2 (ja) ピアツーピア認証及び権限付与
JP5038531B2 (ja) 信頼できる機器に限定した認証
US8532620B2 (en) Trusted mobile device based security
US6804777B2 (en) System and method for application-level virtual private network
CA2407482C (en) Security link management in dynamic networks
US20060206616A1 (en) Decentralized secure network login
WO2012051006A1 (en) Methods and systems for providing and controlling cryptographically secure communications across unsecured networks between a secure virtual terminal and a remote system
WO2004107646A1 (en) System and method for application-level virtual private network
EP2979420B1 (en) Network system comprising a security management server and a home network, and method for including a device in the network system
US11611541B2 (en) Secure method to replicate on-premise secrets in a cloud environment
Sobh et al. Performance improvements on the network security protocols
Prasetijo et al. Firewalling a Secure Shell Service
Ogala & Mughele, SE (2022)

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150306