RU2408069C2 - Согласование полномочий - Google Patents

Согласование полномочий Download PDF

Info

Publication number
RU2408069C2
RU2408069C2 RU2005105756/08A RU2005105756A RU2408069C2 RU 2408069 C2 RU2408069 C2 RU 2408069C2 RU 2005105756/08 A RU2005105756/08 A RU 2005105756/08A RU 2005105756 A RU2005105756 A RU 2005105756A RU 2408069 C2 RU2408069 C2 RU 2408069C2
Authority
RU
Russia
Prior art keywords
remote
local
authority
credentials
computer
Prior art date
Application number
RU2005105756/08A
Other languages
English (en)
Other versions
RU2005105756A (ru
Inventor
Дэвид Б. КРОСС (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 RU2005105756A publication Critical patent/RU2005105756A/ru
Application granted granted Critical
Publication of RU2408069C2 publication Critical patent/RU2408069C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • EFIXED CONSTRUCTIONS
    • E03WATER SUPPLY; SEWERAGE
    • E03CDOMESTIC PLUMBING INSTALLATIONS FOR FRESH WATER OR WASTE WATER; SINKS
    • E03C1/00Domestic plumbing installations for fresh water or waste water; Sinks
    • E03C1/02Plumbing installations for fresh water
    • 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
    • EFIXED CONSTRUCTIONS
    • E03WATER SUPPLY; SEWERAGE
    • E03CDOMESTIC PLUMBING INSTALLATIONS FOR FRESH WATER OR WASTE WATER; SINKS
    • E03C2201/00Details, devices or methods not otherwise provided for
    • E03C2201/50Constructional features of escutcheons for domestic plumbing installations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Abstract

Изобретение относится к системе обеспечения возможности согласования полномочий среди множества различных вычислительных устройств. Техническим результатом является ускорение процесса логического входа в вычислительную среду. Система включат обработчик событий для приема уведомления о событии, такого как, например, логический вход на клиенте. Обработчик событий может активировать службу управления в ответ на прием уведомления о событии. Служба управления может включать в себя модуль синхронизации для синхронизации полномочий пользователя с удаленной службой каталогов, такой как, например, Active Directory, так чтобы полномочия пользователя были доступны из любого числа различных вычислительных устройств. Причем конфликт синхронизации разрешается исключением упомянутых одних или более из локальных либо удаленных полномочий, которые были изменены в более раннее время. 3 н. и 35 з.п. ф-лы, 10 ил.

Description

Родственные заявки
Данная заявка соответствует заявке того же правообладателя, находящейся на рассмотрении, имеющей серийный номер 10/365,878, авторы David B. Cross и др., поданной 13.02.2003 г. и озаглавленной «Digital Identity Management».
Область техники, к которой относится изобретение
Описанное изобретение относится к электронным вычислениям и, более конкретно, к системам и способам согласования (роуминга) полномочий в электронных вычислительных системах.
Предшествующий уровень техники
Различные типы схем шифрования широко используются для защиты данных (например, сообщения электронной почты или файла) для передачи в сети. Например, при симметричном шифровании и пользователю, который зашифровал данные, и пользователю, который расшифровывает данные, требуются копии одного и того же ключа шифрования. Асимметричное шифрование, также известное как шифрование с открытым ключом, использует пары ключей (например, открытый ключ и секретный ключ). В асимметричном шифровании открытые ключи могут быть совместно используемыми, но секретные ключи - нет.
Ключи шифрования могут храниться в компьютерной системе, например, как часть профиля пользователя или другого хранилища для пользовательских параметров настройки, полномочий и т.д. Ключи шифрования могут быть изменены или заменены через какое-то время для того, чтобы уменьшить вероятность того, что неуполномоченные (неавторизованные) пользователи смогут дешифровать схему шифрования. В любом случае пользователю предоставляют доступ к ключам шифрования после того, как пользователь будет аутентифицирован (будет установлена его подлинность) (например, во время логического входа) и профиль пользователя будет загружен в компьютерную систему.
Пользователю может, однако, потребоваться доступ к ключам шифрования в более чем одной компьютерной системе (например, персональном компьютере и одном или более мобильных устройствах). Хотя пользователь может передать ключи шифрования от одной компьютерной системы к другой (например, используя дискету или другой съемный носитель информации), этот способ является громоздким и отнимающим много времени. Также можно использовать смарт-карты (платы, содержащие микропроцессор и рассчитанные на активное взаимодействие с устройством считывания), но они дорогостоящи. Альтернативно, профиль пользователя может быть сохранен на сетевом сервере и может быть доступен с множества различных компьютерных систем каждый раз, когда пользователь соединяется с сетью. Однако профиль пользователя может быть большим (много мегабайтов), и загрузка параметра пользователя с сетевого сервера может замедлить процесс логического входа. Кроме того, пользователь может быть не способным подключиться и использовать компьютер без сохраненного локально профиля пользователя (когда сеть не доступна).
Сущность изобретения
Реализации описаны и заявляются здесь для разрешения обеспечения возможности согласования полномочий, например, среди множества различных вычислительных устройств. Примерная система может включать в себя обработчик событий, который принимает уведомления о событии, таком как, например, интерактивный или сетевой логический вход, от операционной системы. Обработчик событий может активировать службу управления в ответ на прием уведомления о событии. Служба управления может включать в себя модуль синхронизации для синхронизации полномочий пользователя (например, полномочий шифрования) с удаленным кэшем или службой каталогов. Соответственно, полномочия пользователя доступны с любого из множества различных вычислительных устройств.
В некоторых реализациях изделия представлены как компьютерные программные продукты. Одна реализация компьютерного программного продукта предоставляет носитель данных с компьютерной программой, читаемый компьютерной системой и кодирующий компьютерную программу для согласования полномочий. Другая реализация компьютерного программного продукта может быть предоставлена в сигнале компьютерных данных, воплощенном в несущей посредством вычислительной системы и кодирующем компьютерную программу для согласования полномочий.
Компьютерный программный продукт кодирует компьютерную программу для выполнения компьютерного процесса на компьютерной системе для перечисления локальных полномочий и удаленных полномочий в ответ на прием уведомления о событии и синхронизации локальных полномочий и удаленных полномочий.
В другой реализации предоставляется способ. Примерный способ включает в себя перечисление локальных полномочий и удаленных полномочий в ответ на прием уведомления о событии и синхронизацию локальных полномочий и удаленных полномочий.
В другой реализации предоставляется система. Примерная система включает в себя обработчик событий для приема уведомления о событии. Модуль синхронизации в рабочем состоянии связан с обработчиком событий. Модуль синхронизации синхронизирует локальные полномочия и удаленные полномочия, когда обработчик событий принимает уведомление о событии, если локальные и удаленные полномочия отличаются друг от друга.
Перечень чертежей
Фиг.1 - схематическая иллюстрация примерной компьютерной сети, которая может реализовать согласование полномочий;
Фиг.2 - функциональная блок-схема примерных модулей для реализации согласования полномочий;
Фиг.3 - другая функциональная блок-схема примерных модулей для реализации согласования полномочий;
Фиг.4a - иллюстрация примерного файла состояний;
Фиг.4b - иллюстрация примерного элемента состояния в файле состояний;
Фиг.5 - иллюстрация примерной матрицы арбитража, в котором (a) является менее строгой матрицей и (b) является более строгой матрицей;
Фиг.6 - блок-схема последовательности операций, иллюстрирующая примерные операции для реализации согласования полномочий; и
Фиг.7 - схематическая иллюстрация примерного компьютерного устройства, которое может использоваться для реализации согласования полномочий.
Подробное описание
Коротко говоря, согласование полномочий может быть реализовано для синхронизации локальных полномочий (ключей шифрования, сертификатов, маркеров и т.д.) на любом числе (n) вычислительных устройств. В целях иллюстрации пользователь может заменять, модифицировать, добавлять и/или удалять полномочия в его или ее портативном или настольном компьютере. Когда пользователь осуществляет логический выход на портативном или настольном компьютере, служба управления синхронизирует локальные полномочия с удаленным кэш-буфером (кэшем). Удаленный кэш может быть реализован как удаленная служба каталогов, такая как, например, Active Directory (Активный Каталог), доступная для операционной среды Microsoft Windows®. Альтернативно, служба управления может выполнять синхронизацию в ответ на другие события. Например, синхронизация в реальном масштабе времени может произойти в ответ на добавление, удаление и/или изменение одного или более полномочий.
Позднее пользователь может использовать свое персональное цифровое информационное устройство (PDA) или мобильный телефон для извлечения сообщений электронной почты. Когда пользователь осуществляет логический вход на мобильное устройство, полномочия пользователя синхронизируются с удаленной службой каталогов так, чтобы пользователь имел доступным текущий и полный набор полномочий, таких как, например, полномочия шифрования для отправления/приема сообщений электронной почты.
В примерных реализациях служба управления может быть автоматически активирована (например, в ответ на системное событие), и никакое подтверждающее действие даже не требуется от пользователя. Кроме того, профиль пользователя может быть сохранен локально, например, на настольном или портативном компьютере пользователя, все еще разрешая пользователю иметь доступ к текущему и полному набору полномочий в любом из множества различных вычислительных устройств. Примерные реализации могут также гарантировать, что старые или неиспользованные полномочия удаляются из системы пользователя, когда эти полномочия больше не нужны (например, обнаруживая и распространяя удаление или исследуя временные метки для полномочий).
Примерная система
Фиг.1 является схематической иллюстрацией примерной сетевой вычислительной системы 100 в которой согласование полномочий может быть реализовано. Сетевая компьютерная система 100 может включать в себя одну или более коммуникационных сетей 110 типа локальной сети (LAN) и/или глобальной сети (WAN). Один или более хостов (главных компьютеров) 120 и один или более клиентов 130a-c могут быть соединены с возможностью связи по коммуникационной сети(ям) 110.
Хост 120 и клиенты 130a-c (в дальнейшем обобщенно называемые как клиенты 130) могут соединяться с сетью через коммуникационное соединение, такое как, например, соединение Ethernet. Хотя нет никаких теоретических ограничений на число устройств, которые могут быть включены в сеть, такую как сетевая вычислительная система 100, число устройств ограниченно, прежде всего, возможностью соединения, реализуемой в коммуникационной сети.
Термины «хост» и «клиент» оба относятся к аппаратным средствам и программному обеспечению (полная компьютерная система), используемым для выполнения различных компьютерных служб. Например, хост может быть реализован как серверный компьютер, который специализирован для серверных приложений или который также исполняет другие приложения. Клиент может быть реализован как автономный настольный или портативный персональный компьютер (PC), рабочая станция, персональное цифровое информационное устройство (PDA) или любой из широкого разнообразия электронных приборов, из которых перечислены только несколько примеров.
Полномочия 140a-c (в дальнейшем в общем называемые как полномочия 140) могут быть представлены в одном или более клиентов 130. Полномочия могут быть предоставлены, например, для симметричного и/или асимметричного шифрования/дешифрования данных для защищенной связи по сети 110, применения цифровой подписи для содержимого или аутентификации для системы, при этом названы только несколько примеров. Любое число полномочий 140 может храниться в локальном кэше 135a-c (в дальнейшем обобщенно называемом как локальный кэш 135). Локальный кэш 135 может включать в себя профиль пользователя или другое хранилище (например, для пользовательских параметров настройки и полномочий), хотя другие реализации также рассматриваются.
Отметим, что полномочия 140 могут включать в себя любое из широкого разнообразия различных типов полномочий, таких как, например, симметричные ключи шифрования, асимметричные пары ключей шифрования, сертификаты X.509, лицензии XrML (расширяемого языка разметки прав), маркеры и полномочия аутентификации/авторизации, при этом названо только несколько примерных полномочий. Конечно, полномочия 140 не ограничены этими примерами и могут включать другие типы полномочий, которые известны сейчас или будут разработаны позже.
Полномочия 140 могут быть добавлены в локальный кэш 135, например, для шифрования/дешифрования различных типов данных. Кроме того, полномочия 140 могут быть изменены или заменены, например, для уменьшения вероятности того, что неавторизованные пользователи смогут дешифровать схему шифрования. Полномочия, которые больше не используются, могут быть удалены. Если одно или более полномочий 140 добавлены, изменены, заменены или удалены в любом из клиентов (например, 130a), это изменение может быть распространено на один или более других клиентов (например, 130b, 130c) так, чтобы пользователь имел доступным текущий и полный набор полномочий шифрования на любом количестве (n) различных клиентов, как описывается более подробно ниже.
В примерной реализации локальные полномочия 140 могут быть синхронизированы с удаленными полномочиями 150, представленными в удаленном кэше 125, например, на одном или более хостах 120 или в совместно используемом кэше на другом клиенте 130 в среде рабочей группы. Соответственно, пользователь имеет доступным текущий и полный набор полномочий, когда пользователь осуществляет логический вход на другие клиенты 130.
Удаленный кэш 125 может быть реализован как служба каталогов, такая как облегченный протокол доступа к каталогам (LDAP) или служба каталогов X.500. Служба каталогов может быть монолитной, или она может быть распределенной как реализация с множеством главных компонентов или реализация на основе отношения «главный-подчиненный». Удаленный кэш 125 может храниться в защищенном или зашифрованном состоянии так, чтобы удаленные полномочия 150 не были подвержены риску, украдены или использованы неавторизованными пользователями.
Примерной службой каталогов является Active Directory, доступная в операционной среде Microsoft WINDOWS®. Active Directory является службой каталогов, которая может быть развернута в распределенных вычислительных средах для обеспечения всесторонних служб каталогов. Active Directory служит точкой консолидации для изолирования, перемещения, центрального управления и сокращения числа каталогов, в которых нуждается предприятие. Active Directory также служит центральным доверенным органом (CA) для сетевой безопасности.
Отметим, однако, что удаленный кэш 125 может быть реализован любым подходящим способом и не ограничен примерами, показанными здесь.
Фиг.2 является функциональной блок-схемой примерных модулей для реализации согласования полномочий, например, с использованием службы уведомления. Служба 200 уведомления может быть реализована в виде машиночитаемого программного кода (например, в виде программного обеспечения и/или встроенного программного обеспечения), хранящегося в машиночитаемом хранилище или памяти и исполняемого процессором (или устройствами обработки данных) на одном или более клиентах (например, клиентах 130a-c на фиг.1). Служба 200 уведомления принимает уведомление о различных системных событиях и активирует службу 250 управления для синхронизации локальных и удаленных полномочий для пользователя. Соответственно, синхронизация может быть автоматической и прозрачной для пользователя.
Что касается фиг.2, служба 200 уведомления может включать в себя обработчик 210 событий. Обработчик 210 событий принимает уведомление о событиях 220a-c (в дальнейшем, обобщенно называемых как события 220). События 220 могут включать в качестве примера начальный запуск, завершение, логический вход, логический выход, блокирование, разблокирование, при этом названы только несколько примерных событий. Другие события могут также включать, но не в ограничительном смысле, события сеанса (например, модификацию политики, запуск процесса, сетевое соединение) и события таймера (например, каждые 8 часов, раз в месяц). Дополнительно, событие может также быть инициировано вручную, например, пользователем, запрашивающим синхронизацию полномочий.
Обработчик 210 событий может генерировать одно или более заданий 230, основанных, по меньшей мере, частично на событиях 220. Задания 230 могут включать в себя вызовы других служб. Например, задание 230 может вызывать службу 240 авторегистрации. Авторегистрация является службой, которая может использоваться для заполнения профиля пользователя полномочиями и т.д., и может быть активирована, когда пользователь является новым для системы (например, гость) для обеспечения ограниченных функциональных возможностей и осуществления доступа к основным ресурсам, не ставя под угрозу сетевую безопасность. Авторегистрация автоматически «зарегистрирует» пользователя посредством запросов/обновления полномочий для пользователя, например, основываясь на системных политиках для вычислительной среды. Задание 230 может также вызвать службу 250 управления для синхронизации полномочий шифрования с удаленным кэшем (например, удаленным кэшем 125 на фиг.1), как будет обсуждаться более подробно ниже.
Задания 230 могут быть переданы диспетчеру 260. Диспетчер 260 заданий может удалять задания 230 из очереди и обрабатывать задания 230 последовательным способом. Диспетчер 260 заданий определяет, какой программный код (или модули) загрузить для обработки задания и когда загружать программный код. Диспетчер 260 заданий может также выгрузить программный код, который больше не используется.
Служба 200 уведомления может также включать в себя логические средства для интеллектуального управления заданиями 230 для уменьшения ненужного потребления ресурсов. В примерной реализации диспетчер 260 заданий определяет, загружен ли уже программный код (или модули) для обработки задания 230. Кроме того, если очередь 270 заданий пуста (например, нет никаких незаконченных заданий 230), диспетчер 260 заданий высвобождает загруженный программный код (или модули).
В другой примерной реализации обработчик 210 событий может упорядочить задания 230, которые активируют службу 250 управления в очереди 270 перед заданиями 230, которые активируют службу 240 авторегистрации. Когда события 220 инициируют задания 230 для вызова и службы 240 авторегистрации, и службы 250 управления, задания 230, вызывающие службу 240 авторегистрации, могут быть удалены из очереди 270, если служба управления способна обеспечить полномочия для пользователя во время синхронизации.
В другой примерной реализации могут быть реализованы демпфирующие логические средства для уменьшения количества повторных вызовов службы 250 управления (например, когда событие 220 вызывает другие события). Например, диспетчер 260 может изучить очередь 270 заданий и отказаться от любых заданий 230, которые являются дубликатами или иным образом ненужными.
Перед тем как продолжить, отметим, что служба 200 уведомления не ограничена примерными модулями, показанными на фиг.2. Например, функциям не требуется быть воплощенными в отдельных модулях. В еще одной реализации также могут быть включены дополнительные функциональные компоненты. Независимо от реализации, служба уведомления может вызывать службу 250 управления для синхронизации локальных и удаленных полномочий.
Фиг.3 является функциональной блок-схемой примерных модулей для реализации согласования полномочий, например с использованием службы управления. Служба 300 управления может быть в рабочем состоянии ассоциирована со службой 310 уведомления (например, службой уведомления, описанной более подробно выше со ссылкой на фиг.2). Служба 310 уведомления может вызвать службу 300 управления в ответ на прием уведомления о событии. Служба управления 300 оценивает и сравнивает локальные полномочия и удаленные полномочия и, если они различны, синхронизирует локальные и удаленные полномочия так, чтобы пользователь имел доступными текущий и полный набор полномочий при использовании любого количества (n) различных клиентов.
Служба 300 управления может быть реализована в машиночитаемом программном коде (например, программном обеспечении и/или встроенном программном обеспечении), хранящемся в машиночитаемом хранилище или памяти и исполняемом процессором (или устройствами обработки данных) на одном или более клиентах (например, клиентах 130a-c на фиг.1). Служба 300 управления может включать в себя модуль 320 синхронизации для оценки полномочий, разрешения конфликта(ов) и обновления полномочий в локальных и удаленных кэшах.
Модуль 320 синхронизации может быть в рабочем состоянии связан с менеджером (средством управления) 330 локального хранилища и менеджером 340 удаленного хранилища. Менеджер 330 локального хранилища может быть в рабочем состоянии связан с одним или более локальными кэшами 350 для локальных полномочий 355. Кроме того, менеджер 330 локального хранилища может обобщать процедуры для загрузки/сохранения локальных полномочий 355 шифрования локально. Менеджер 340 удаленного хранилища может быть в рабочем состоянии связан с удаленным кэшем 360 (например, службой каталогов), предоставленным через один или более серверных компьютеров или хостов 370. Менеджер 340 удаленного хранилища может также защищенно связаться с хостом 370 для доступа к одному или более удаленным полномочиям 365 через удаленную службу 360 каталогов, например, во время синхронизации.
Перед тем как продолжить, отметим, что полномочия не ограничиваются тем, чтобы быть предоставленными хостом, например, через удаленную службу каталогов. В другой примерной реализации удаленный кэш может быть совместно используемым кэшем на другом клиенте, например, в среде рабочей группы. Соответственно, клиенты в одной или более рабочих группах могут синхронизировать совместно используемые полномочия среди клиентов в рабочей группе.
Менеджеры 330, 340 хранилищ могут перечислять полномочия 355, 365 (например, как список согласуемых полномочий) для модуля 320 синхронизации для оценки. Менеджеры 330, 340 хранилищ могут также предоставить информацию модулю 320 синхронизации, такую как, например, когда в последний раз совокупность полномочий 355, 365 была изменена так, чтобы модуль 320 синхронизации мог разрешить любой конфликт(ы).
Модуль 320 синхронизации может работать вместе с менеджером 330 локального хранилища и менеджером 340 удаленного хранилища для синхронизации локальных полномочий 355 шифрования и удаленных полномочий 365 шифрования. Для многих активаций может не быть никаких изменений ни в локальных, ни в удаленных полномочиях шифрования. Во время других обращений может потребоваться сделать изменения только в локальных полномочиях 355 или только в удаленных полномочиях 365. Однако также могут быть обстоятельства, когда может быть необходимо сделать это и для локальных полномочий 355, и для удаленных полномочий 365. Соответственно, модуль синхронизации может быть реализован для обработки каждого из этих сценариев.
Оценка локальных и удаленных полномочий шифрования может быть процессом, отнимающим много времени, особенно если есть несколько сотен или даже несколько тысяч полномочий шифрования. Соответственно, модуль 320 синхронизации может сначала отсортировать полномочия шифрования в массивы и затем сделать линейное сравнение отсортированных массивов. Конечно, также подразумеваются другие реализации, такие как, но не в ограничительном смысле, использование хэширования и временных меток для определения того, есть ли изменения.
Во время сравнения модуль 320 синхронизации может столкнуться с конфликтами, которые должны быть разрешены для того, чтобы синхронизировать локальные и удаленные полномочия 355, 365. Например, локальное полномочие (названное «старое полномочие» для целей иллюстрации) может измениться или быть удаленным из локального кэша 350, поскольку оно больше не нужно. Когда модуль 320 синхронизации сравнивает локальные и удаленные полномочия 355, 365, удаленные полномочия, однако, могут все еще включать старое полномочие. Модуль 320 синхронизации разрешает такой конфликт так, чтобы старое полномочие изменилось или было удалено из удаленного кэша 360 и не было перезаписано в локальный кэш 350.
В примерной реализации полномочия, которые изменились или были удалены, «помечаются» или иным образом идентифицируются в удаленном кэше. Соответственно, операция изменения или удаления может быть распространена на множество клиентов. Как пример, если старое полномочие удалено из первого клиента, модуль 320 синхронизации идентифицирует старое полномочие в удаленном кэше как удаленное. Когда второй клиент, также имеющий копию старого полномочия, синхронизируется с удаленным кэшем, старое полномочие удаляется из второго клиента и не перезаписывается в удаленный кэш. Как другой пример, если старое полномочие изменяется в первом клиенте, модуль 320 синхронизации идентифицирует старое полномочие в удаленном кэше как измененное. Когда второй клиент, также имеющий копию старого полномочия, синхронизируется с удаленным кэшем, старое полномочие изменяется во втором клиенте и не возвращается к его первоначальному состоянию в удаленном кэше.
В примерной реализации модуль 320 синхронизации поддерживает один или более файлов 395 состояний для разрешения конфликтов. Файл состояний является структурой данных, распространяемой на каждого пользователя (например, компьютерный файл, база данных, таблица памяти, файл журнала регистрации и т.д.), и может использоваться для хранения состояний локальных полномочий 350. Файл состояний может быть сохранен локально, например, в кэше 390, который в рабочем состоянии связан со службой 300 управления. В примерной реализации все поля могут быть сохранены в бинарной форме, с собственным порядком следования байтов, хотя другие реализации также подразумеваются.
Фиг.4a иллюстрирует примерный файл 400 состояний (например, структуру данных). Файл 400 состояния может включать в себя версию 410 файла и флажок 420. Флажок 420 может использоваться, например, для указания того, защищено ли полномочие пользователем, или можно ли им осуществлять обмен в сети. Альтернативно, флажок 420 (или другой флажок) может использоваться для указания того, должна ли использоваться более или менее строгая матрица для разрешения конфликтов.
Файл 400 состояний может также включать в себя одно или более состояний 430-432 полномочий. Например, файл 400 состояний может включать в себя следующие состояния: время последнего вызова модуля синхронизации (TS); время последнего изменения локального хранилища (TL), время последнего изменения удаленного кэша (TR). Файл состояний может также включать в себя элементы 440 состояний полномочий.
Фиг.4b иллюстрирует примерный элемент 450 состояния (например, структуру данных). Элемент 450 состояния может включать в себя список локальных состояний для каждого полномочия. Локальные состояния могут включать в себя идентификатор 460 полномочия, флажки 470, временную метку 480 и значение 490 хэш-функции.
Перед тем как продолжить, отметим, что временная метка не ограничена временем на основе часов (например, физическим или системным). Например, временная метка может включать в себя счетчики, такие как порядковый номер обновления, который изменяется для каждого сделанного обновления. Действительно, временная метка на основе часов может использоваться для локального кэша, а временная метка на основе порядкового номера обновления может использоваться для удаленного кэша.
В реализации, показанной на фиг.4, идентификатор 460 полномочия является «сжатым» путем к файлу полномочия шифрования. Идентификатор 460 полномочия может быть выражен как однобайтовая строка ASCII, хотя другие реализации также подразумеваются. Кроме того, любые подходящие флажки 470 могут быть определены и могут быть установлены (например, 1) или сброшены (например, 0). Например, флажок может указать, является ли полномочие шифрования согласуемым (может быть синхронизировано) или фиксированным (не должно быть синхронизировано).
Операции, которые могут быть осуществлены для разрешения конфликтов, используя файлы состояний, такие как файл 400 состояний, показанный на фиг.4, описываются более подробно ниже. Разрешение конфликтов может быть проиллюстрировано матрицами арбитража.
Фиг.5a и 5b иллюстрируют примерные матрицы арбитража, где матрица 500 является менее строгой, а матрица 550 - более строгой. В матрицах 500, 550 полномочия, допускающие экспортирование, обозначены символом «E», а защищенные (или не допускающие для экспортирования) полномочия обозначены символом «P», где «/E» и «/P» обозначают противоположности. Временные метки обоих сертификатов используются для определения того, какой сертификат является самым последним. Самый последний сертификат используется для перезаписи локального и удаленного кэша. Другой сертификат удаляется.
Необходимо отметить, что примерная реализация, обсужденная выше, предназначена для целей иллюстрации. Тем не менее, другие реализации также подразумеваются.
Примерные операции
Здесь описываются примерные способы для осуществления согласования полномочий кодирования. Способы, описанные здесь, могут быть воплощены как логические инструкции на одном или более машиночитаемых носителях информации. При выполнении на процессоре логические инструкции обуславливают программирование вычислительного устройства общего назначения как машины специального назначения, которые осуществляют описанные способы. В следующих примерных операциях, компоненты и соединения, изображенные на чертежах, могут использоваться для реализации согласования полномочий кодирования.
Фиг.6 является блок-схемой последовательности операций, иллюстрирующей примерные операции, которые могут быть осуществлены для согласования полномочий кодирования. В операции 610 клиент может принять уведомление о событии. Уведомления о событии могут включать в себя в качестве примера событие сеанса, событие логического входа, событие логического выхода, событие блокировки, событие разблокировки, событие таймера, событие приложения политики и/или событие обновления полномочий. В операции 620 локальные полномочия могут быть перечислены, а в операции 630 удаленные полномочия могут быть перечислены.
В операции 640 локальные полномочия и удаленные полномочия могут сравниваться для определения того, есть ли конфликт. Если нет никакого конфликта, процесс возвращается, как проиллюстрировано стрелкой 650, к операции 610. Альтернативно, конфликт может существовать, если одно или более из перечисленных локальных полномочий отличаются от перечисленных удаленных полномочий. Для целей иллюстрации, перечисленные локальные полномочия могут быть отличны от перечисленных удаленных полномочий, если полномочие было добавлено, изменено, или удалено из локального кэша полномочий и/или удаленного кэша полномочий.
Если конфликт существует, конфликт разрешается в операции 660, например, посредством определения того, какие полномочия нужно добавить/удалить в локальных и удаленных кэшах полномочий. В примерной реализации конфликт может быть разрешен, основываясь на временных метках, связанных с локальными и удаленными полномочиями. В операции 670 локальные и/или удаленные полномочия синхронизируются, например, так, чтобы и локальные, и удаленные кэши полномочий включали полный, модифицированный набор полномочий шифрования.
Для целей иллюстрации, операция 660 (разрешение конфликтов) и операция 670 (синхронизация) могут быть осуществлены следующим образом.
Когда согласование полномочий первый раз разрешается для клиента, клиент может уже иметь те же самые полномочия (например, через ручной ключ или импорт большого бинарного объекта (blob) PKCS #12), что и в удаленном кэше. Однако хранилище полномочий и детали компоновщика могут быть различными в зависимости от того, как полномочие было импортировано. Этот начальный конфликт может быть разрешен следующим образом.
Если удаленные полномочия уже были загружены, главные ключи (например, для осуществления доступа к секретным ключам) могут быть синхронизированы прежде, чем эти операции будут выполнены, так чтобы секретные ключи, которые нуждаются в главных ключах, были доступны.
Служба управления может тогда определить время создания удаленного кэша, например, через метаданные атрибута и назначает это время Tc. Если одна или обе временные метки для конфликтующих сертификатов являются более новыми, чем TC, по меньшей мере один из сертификатов изменялся после развертывания согласования полномочий, и используется самый последний кэш.
Иначе, и локальные, и удаленные кэши, возможно, были созданы перед развертыванием согласования полномочий. Информационные флажки для обоих сертификатов находят для определения того, защищено ли полномочие пользователем или оно является экспортируемым. Также может быть найден флажок политики, определяющий, должна ли менее строгая матрица (например, матрица 500 на фиг.5) или более строгая матрица (например, матрица 550 на фиг.5) использоваться для разрешения конфликта.
Примерная реализация алгоритма согласования полномочий описывается следующим образом. Согласно этой реализации TL представляет собой самое последнее время полного изменения локального кэша. TL основано на системном времени локальной машины и может быть сравнено с временем обновления локального кэша так, чтобы не было никакого искажения таймера. TR представляет собой время самого последнего изменения, сделанного в порядковом номере обновления (USN) всего удаленного кэша при последней синхронизации. TR может использовать USN из удаленного кэша и может быть сравнено с USN удаленного кэша так, чтобы не было никакого искажения таймера.
Вначале текущее время последнего изменения считывается из локального кэша и USN считывается из удаленного кэша. Затем TL и TR считываются из заголовка файла состояния. TL сравнивается с временем последнего изменения, только что прочитанного из локального кэша, и TR сравнивается с USN, прочитанным из удаленного кэша. Если они оба равны, делать ничего не требуется. В противном случае алгоритм может создать список CL локальных изменений и список CR удаленных изменений, оба из которых первоначально являются пустыми.
Если время, когда локальный кэш последний раз был изменен, позже чем TL, все локальные полномочия кэша считываются и сравниваются с соответствующим элементом в файле состояний. Если какие-либо из полномочий отличаются, может быть создан элемент в CL, записывающий полномочие или элемент файла состояний, самое недавнее время, когда полномочие было обновлено, и предложенное действие (например, добавить к удаленному/локальному кэшу, изменить соответствующий удаленный/локальный кэш полномочий, обновить соответствующий удаленный/локальный кэш полномочий, обновить элемент файла состояний и т.д.). Полномочия можно считать различными, если значение хэш-функции изменилось, если значение флажка изменилось (например, на DELETED (удаленный), UNWRITEABLE (незаписываемый), UNREADABLE (нечитаемый) или если локальный кэш имеет полномочие, по которому файл состояний не имеет записи, или файл состояния имеет элемент, для которого локальный кэш не имеет записи.
Если последний USN удаленного кэша отличен от TR, все полномочия удаленного кэша считываются и те же самые операции, как только что были описаны, выполняются. Список CR изменений может также быть обновлен.
CL и CR могут после этого быть оценены для определения того, были ли действия выполнены в отношении одного и того же полномочия в обоих списках. Если действия были выполнены в отношении одного и того же полномочия в обоих списках, эти действия могут быть оценены для определения того, есть ли какие-либо конфликты. Например, может быть конфликт, если CL включает в себя элемент для полномочия А «изменить удаленный», в то время как CR включает в себя элемент для того же самого полномочия как «изменить локальный». Конфликт может быть разрешен, основываясь на временах последних изменений локальных и удаленных полномочий. То есть элемент с более ранним временем изменения может быть удален из списка.
После разрешения конфликтов, если таковые вообще имеются, локальный и удаленный кэши обновляются, основываясь на объединении CL и CR. Флажок устанавливается для каждого элемента, который не удалось обновить даже после нескольких повторений.
Файл состояний может после этого быть обновлен. Например, флажки DELETED, которые были установлены на чрезмерно долгое время, могут быть идентифицированы и удалены. Заголовок и элементы файла состояний могут также быть модифицированы, основываясь на результирующих элементах CR и CL. Если файл состояний не удалось обновить даже после нескольких повторений, согласование полномочий может быть заблокировано, потому что искаженный файл состояний может генерировать непредсказуемые результаты.
Отметим, что элементы, описанные выше, могут быть оценены как значения хэш-функции. Значения хэш-функции обеспечивают защиту, например, такую, чтобы полномочия не дублировались в ненужных кэшах, и эффективность (сравнения значений хэш-функций обычно быстры). Однако отметим, что использование хэширования является только примером. Например, если файлы состояний сохраняют полномочие целиком, это может использоваться для бинарного или точного сравнения вместо хэширования.
Время TS последней синхронизации, поддерживаемое в файле состояний, может использоваться для определения того, как обрабатывать элемент локального кэша, который имеется в файле состояний, но не в удаленном кэше. Если время, прошедшее от TS до текущего момента, меньше, чем пороговое время, то удаленный кэш добавляет этот элемент. Иначе элемент может быть удален из локального кэша.
Состояния ошибки в синхронизации полномочий могут также привести к частично обновленным или искаженным полномочиям. Соответственно, обработка ошибок может быть обеспечена таким образом, чтобы неудача не распространялась, например, на удаленный кэш.
В любой примерной реализации «Write State» (состояние операции записи) возвращается для того, чтобы указать состояние завершения операции записи. Значения могут быть: NONE, PARTIAL и DONE, указывающие, что полномочие является (1) не измененным, (2) частично измененным или (3) успешно измененным соответственно. Если операция сохранения приводит к состоянию операции записи PARTIAL, элемент файла состояний помечается как UNWRITEABLE. Если операция удаления приводит к состоянию NONE или PARTIAL операции записи, то элемент файла состояний помечается как UNWRITEABLE. Для любой спорадической неудачи записи или удаления операции записи или удаления могут быть повторены и элемент файла состояний может быть помечен, когда все попытки для полномочия потерпели неудачу.
Синхронизация игнорирует локальное изменение, если оно помечено как UNWRITEABLE, и может повторить удаление локального полномочия, если оно помечено как UNWRITEABLE. Если полномочие успешно перезаписано, когда оно помечено как UNWRITEABLE, или если оно исчезло, когда файл состояний помечает его как UNWRITEABLE, флажок UNWRITEABLE может быть сброшен в элементе файла состояний.
Если файл состояний будет невозможно обновить (например, указывая потенциально искаженный файл состояний), согласование полномочий может быть заблокировано для сбойного клиента или для конкретного пользователя. Оно может быть вновь разблокировано вручную, если проблема будет позже устранена. Система может также произвести этапы автоматического восстановления для переопределения любых плохих данных, загружая заведомо хорошие данные из удаленного хранилища при следующем интервале активации.
Неудачи чтения из локального кэша также могут быть обработаны. Неудачи чтения могут быть обработаны менее строго, чем неудачи модификации, так чтобы неудача чтения согласуемого полномочия не затрагивала согласование для других полномочий.
В примерной реализации полномочие, имеющее неудачу чтения, появляется в наборе согласуемых полномочий, возвращаемом операцией GET ALL (получить все) так, чтобы синхронизация не обработала его как удаление. Чтения локального кэша могут быть повторены с задержкой, когда происходит какая-либо неудача. Если неудача все еще существует после некоторого количества повторений, согласуемое полномочие, тем не менее, генерируется с установленным битовым флажком UNREADABLE. Информационные события, предупреждения и/или ошибки могут быть отслежены или зарегистрированы для того, чтобы облегчить решение проблем/обслуживание.
Операции, показанные и описанные здесь, являются просто иллюстративными для примерной реализации согласования полномочий. Отметим, что операции не ограничиваются никаким особым образом. На фиг.6, например, операция 620 может быть выполнена прежде, после или одновременно с операцией 630. В другом примере операции 620-670 могут быть итерационными для отдельных полномочий шифрования, различных типов полномочий шифрования или других групп (или наборов) полномочий шифрования. Тем не менее, другие операции могут также быть реализованы для обеспечения возможности согласования полномочий.
Примерное компьютерное устройство
Фиг.7 является схематической иллюстрацией примерного вычислительного устройства 700, которое может использоваться для реализации согласования полномочий. Вычислительное устройство 700 включает в себя один или более процессоров или устройств 732 обработки данных, системную память 734 и шину 736, которая соединяет различные системные компоненты, включая системную память 734, с процессорами 732. Шина 736 представляет одну или более из нескольких типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину, ускоренный графический порт и процессорную или локальную шину, использующие любое из разнообразия шинных архитектур. Системная память 734 включает в себя постоянное запоминающее устройство 738 (ROM) и оперативное запоминающее устройство 740 (RAM). Базовая система 742 ввода-вывода (BIOS), содержащая основные процедуры, которые помогают передавать информацию между элементами компьютерного устройства 700, например, во время запуска, хранится в ROM 738.
Вычислительное устройство 700 дополнительно содержит в себе накопитель 744 на жестких магнитных дисках для чтения и записи на жесткий диск (не показанный здесь) и может включать в себя магнитный дисковод 746 для чтения и записи на сменный магнитный диск 748 и оптический дисковод 750 для чтения и записи на сменный оптический диск 752 типа CD-ROM или других оптических носителей. Накопитель 744 на жестких магнитных дисках, магнитный дисковод 746 и оптический дисковод 750 подсоединены к шине 736 соответствующими интерфейсами 754a, 754b и 754c. Дисководы и накопители и их соответствующие машиночитаемые носители обеспечивают энергонезависимое хранение машиночитаемых команд, структур данных, программных модулей и других данных для вычислительного устройства 700. Хотя примерная среда, описанная здесь использует жесткий диск, сменный магнитный диск 748 и сменный оптический диск 752, другие типы машиночитаемых носителей типа магнитных кассет, плат флэш-памяти, цифровых видеодисков, оперативных запоминающих устройств (RAM), постоянных запоминающих устройств (ROM) и т.п. могут также использоваться в примерной среде.
Множество программных модулей может храниться на жестком диске 744, магнитном диске 748, оптическом диске 752, в ROM 738 или RAM 740, включая операционную систему 758, одну или более прикладных программ 760, других программных модулей 762 и данных 764 программ. Пользователь может вводить команды и информацию в вычислительное устройство 700 через устройства ввода данных типа клавиатуры 766 и координатно-указательного устройства 768. Другие устройства ввода данных (не показанные здесь) могут включать микрофон, джойстик, игровую клавиатуру, спутниковую антенну, сканер или подобные им. Эти и другие устройства ввода данных связаны с процессором 732 через интерфейс 756, который присоединен к шине 736. Монитор 772 или другой тип устройства отображения также связан с шиной 736 через интерфейс типа видеоадаптера 774.
Вообще, процессоры данных вычислительного устройства 700 запрограммированы посредством инструкций, хранящихся в разное время в различных машиночитаемых носителях данных компьютера. Программы и операционные системы могут распространяться, например, на гибких дисках, CD-ROM или электронным образом и установлены или загружены во вторичную память компьютера. При исполнении программы загружаются, по меньшей мере частично, в первичную электронную память компьютера.
Вычислительное устройство 700 может работать в сетевой среде, используя логические соединения с одним или более удаленными компьютерами типа удаленного компьютера 776. Удаленный компьютер 776 может быть персональным компьютером, сервером, маршрутизатором, сетевым PC, одноранговым устройством или другим общим сетевым узлом и обычно включает в себя многие или все из элементов, описанные выше по отношению к вычислительному устройству 700. Логические соединения, изображенные на фиг.7, включают в себя локальную сеть (LAN) 780 и глобальную сеть (WAN) 782.
При использовании в сетевой среде LAN вычислительное устройство 700 подсоединяется к локальной сети 780 через сетевой интерфейс или адаптер 784. При использовании в сетевой среде WAN вычислительное устройство 700 обычно включает в себя модем 786 или другие средства для установления связи по глобальной сети 782, такой как сеть Интернет. Модем 786, который может быть внутренним или внешним, подсоединен к шине 736 через интерфейс 756 последовательного порта. В сетевой среде программные модули, изображенные по отношению к вычислительному устройству 700, или их части могут храниться в удаленном запоминающем устройстве. Следует понимать, что показанные сетевые соединения являются примерными и могут использоваться другие средства установления связи между компьютерами.
Хосты могут включать аппаратные средства адаптера хоста и программное обеспечение для обеспечения возможности подключения к коммуникационной сети. Подключение к коммуникационной сети может быть реализовано через оптическую связь или более обычный проводной кабель, в зависимости от требуемой пропускной способности. Адаптер хоста может быть реализован как сменная плата на вычислительном устройстве 700. Хосты могут реализовывать любое число адаптеров хоста для обеспечения такого количества соединений с коммуникационной сетью, какое поддерживают аппаратурные средства и программное обеспечение.
В дополнение к конкретным реализациям, явно сформулированным здесь, другие аспекты и реализации будут очевидны специалистам в данной области техники из рассмотрения описания, изложенного здесь. Важно, что описание и иллюстративные реализации рассматриваются только как примеры, при этом истинный объем и сущность определяются прилагаемой формулой изобретения.

Claims (38)

1. Компьютерно-реализуемый способ синхронизации полномочий, содержащий этапы, на которых
перечисляют локальные полномочия из локального кэш-буфера и удаленные полномочия из удаленного кэш-буфера в ответ на прием уведомления о событии;
сравнивают локальные полномочия и удаленные полномочия для определения того, являются ли какие-либо одни или более из локальных полномочий отличными от удаленных полномочий; и
по определению того, что какие-либо одни или более из локальных полномочий отличны от удаленных полномочий, определяют, были ли и упомянутые одни или более из локальных полномочий, и одни или более из соответствующих удаленных полномочий изменены с момента последней синхронизации, что привело к конфликту синхронизации, и синхронизируют локальные полномочия и удаленные полномочия, при этом конфликт синхронизации разрешается исключением упомянутых одних или более из локальных либо удаленных полномочий, которые были изменены в более раннее время.
2. Способ по п.1, в котором синхронизация локальных полномочий и удаленных полномочий основана на по меньшей мере одной временной метке, ассоциированной с локальными полномочиями, и по меньшей мере одной временной метке, ассоциированной с удаленными полномочиями.
3. Способ по п.1, в котором синхронизация локальных полномочий и удаленных полномочий основана на сравнении значений хэш-функции.
4. Способ по п.1, в котором при синхронизации выполняют обработку ошибок.
5. Способ по п.1, в котором при синхронизации записывают по меньшей мере одно из локальных полномочий в удаленный кэш-буфер полномочий.
6. Способ по п.1, в котором при синхронизации записывают по меньшей мере одно из удаленных полномочий в локальный кэш-буфер полномочий.
7. Способ по п.1, в котором при синхронизации исключают по меньшей мере одно из локальных полномочий из локального кэш-буфера полномочий.
8. Способ по п.1, в котором при синхронизации исключают по меньшей мере одно из удаленных полномочий из удаленного кэш-буфера полномочий.
9. Способ по п.1, в котором при синхронизации изменяют по меньшей мере одно из локальных полномочий в локальном кэш-буфере полномочий, основываясь на по меньшей мере одном из удаленных полномочий.
10. Способ по п.1, в котором при синхронизации изменяют по меньшей мере одно из удаленных полномочий в удаленном кэш-буфере полномочий, основываясь на по меньшей мере одном из локальных полномочий.
11. Способ по п.1, дополнительно содержащий этап, на котором обновляют список локальных полномочий.
12. Способ по п.1, дополнительно содержащий этап, на котором обновляют список удаленных полномочий.
13. Способ по п.1, дополнительно содержащий этап, на котором определяют состояние удаленных полномочий динамически.
14. Способ по п.1, дополнительно содержащий этап, на котором поддерживают файл состояний для удаленных полномочий.
15. Способ по п.1, дополнительно содержащий этап, на котором поддерживают файл состояний для локальных полномочий.
16. Машиночитаемый носитель, закодированный компьютерной программой для выполнения на компьютерной системе компьютерного процесса, содержащего
перечисление локальных полномочий из локального кэш-буфера и удаленных полномочий из удаленного кэш-буфера в ответ на прием уведомления о событии;
сравнение локальных полномочий и удаленных полномочий для определения того, являются ли какие-либо одни или более из локальных полномочий отличными от удаленных полномочий; и
выполнение, по определению того, что какие-либо одни или более из локальных полномочий отличны от удаленных полномочий,
определения того, были ли и упомянутые одни или более из локальных полномочий, и одни или более из соответствующих удаленных полномочий изменены с момента последней синхронизации, что привело к конфликту синхронизации, и
синхронизации локальных полномочий и удаленных полномочий, при этом конфликт синхронизации разрешается исключением упомянутых одних или более из локальных либо удаленных полномочий, которые были изменены в более раннее время.
17. Машиночитаемый носитель по п.16, в котором в компьютерном процессе синхронизация локальных полномочий и удаленных полномочий основывается на по меньшей мере одной временной метке, ассоциированной с локальными полномочиями, и по меньшей мере одной временной метке, ассоциированной с удаленными полномочиями.
18. Машиночитаемый носитель по п.16, в котором в компьютерном процессе синхронизация локальных полномочий и удаленных полномочий основывается на сравнении значений хэш-функции.
19. Машиночитаемый носитель по п.16, в котором компьютерный процесс дополнительно содержит запись по меньшей мере одного из локальных полномочий в удаленный кэш-буфер полномочий.
20. Машиночитаемый носитель по п.16, в котором компьютерный процесс дополнительно содержит запись по меньшей мере одного из удаленных полномочий в локальный кэш-буфер полномочий.
21. Машиночитаемый носитель по п.16, в котором компьютерный процесс дополнительно содержит исключение по меньшей мере одного из локальных полномочий из локального кэш-буфера полномочий.
22. Машиночитаемый носитель по п.16, в котором компьютерный процесс дополнительно содержит исключение по меньшей мере одного из удаленных полномочий из удаленного кэш-буфера полномочий.
23. Машиночитаемый носитель по п.16, в котором компьютерный процесс дополнительно содержит изменение по меньшей мере одного из локальных полномочий в локальном кэш-буфере полномочий.
24. Машиночитаемый носитель по п.16, в котором компьютерный процесс дополнительно содержит изменение по меньшей мере одного из удаленных полномочий в удаленном кэш-буфере полномочий.
25. Машиночитаемый носитель по п.16, в котором компьютерный процесс дополнительно содержит обновление списка локальных полномочий.
26. Машиночитаемый носитель по п.16, в котором компьютерный процесс дополнительно содержит обновление списка удаленных полномочий.
27. Машиночитаемый носитель по п.16, в котором компьютерный процесс дополнительно содержит поддержку состояния удаленных полномочий.
28. Машиночитаемый носитель по п.16, в котором компьютерный процесс дополнительно содержит определение состояния удаленных полномочий динамически.
29. Машиночитаемый носитель по п.16, в котором компьютерный процесс дополнительно содержит поддержку состояния локальных полномочий.
30. Машиночитаемый носитель по п.16, в котором компьютерный процесс дополнительно содержит обработку ошибок.
31. Компьютерная система для синхронизации полномочий, содержащая
обработчик событий для приема уведомления о событии;
средство управления локальным хранилищем для считывания локальных полномочий из локального кэш-буфера и удаленных полномочий из удаленного кэш-буфера в ответ на прием уведомления о событии; и
модуль синхронизации, функционально связанный с обработчиком событий и средством управления локальным хранилищем, причем модуль синхронизации выполнен с возможностью сравнивать локальные полномочия и удаленные полномочия для определения того, являются ли какие-либо одни или более из локальных полномочий отличными от удаленных полномочий, и
по определению того, что какие-либо одни или более из локальных полномочий отличны от удаленных полномочий, определять, были ли и упомянутые одни или более из локальных полномочий, и одни или более из соответствующих удаленных полномочий изменены с момента последней синхронизации, что привело к конфликту синхронизации, и синхронизировать локальные полномочия и удаленные полномочия, при этом конфликт синхронизации разрешается исключением упомянутых одних или более из локальных либо удаленных полномочий, которые были изменены в более раннее время.
32. Система по п.31, в которой уведомление о событии является по меньшей мере одним из следующих: событие сеанса, событие логического входа, событие логического выхода, событие блокировки, событие разблокировки, событие таймера, событие приложения политики и событие обновления полномочия.
33. Система по п.31, в которой полномочия включают в себя по меньшей мере одно из следующего: полномочие шифрования, маркер, пару асимметричных ключей, симметричный ключ, цифровой сертификат, лицензию XrML (расширяемого языка разметки прав), полномочие аутентификации, полномочие авторизации.
34. Система по п.31, в которой локальные полномочия хранятся в локальном кэш-буфере, обеспеченном на любом количестве (n) клиентов.
35. Система по п.31, в которой локальные полномочия зашифрованы с использованием главного ключа.
36. Система по п.31, в которой локальные полномочия хранятся в удаленном кэш-буфере, обеспеченном на любом количестве (n) хостов.
37. Система по п.31, в которой удаленные полномочия поддерживаются удаленной службой каталогов.
38. Система по п.31, в которой удаленные полномочия зашифрованы.
RU2005105756/08A 2004-04-09 2005-03-01 Согласование полномочий RU2408069C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/821,603 2004-04-09
US10/821,603 US7984488B2 (en) 2004-04-09 2004-04-09 Credential roaming in electronic computing systems

Publications (2)

Publication Number Publication Date
RU2005105756A RU2005105756A (ru) 2006-08-10
RU2408069C2 true RU2408069C2 (ru) 2010-12-27

Family

ID=34912736

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2005105756/08A RU2408069C2 (ru) 2004-04-09 2005-03-01 Согласование полномочий

Country Status (10)

Country Link
US (1) US7984488B2 (ru)
EP (1) EP1585286B1 (ru)
JP (1) JP2005303993A (ru)
KR (1) KR101143053B1 (ru)
CN (1) CN1681240B (ru)
AU (1) AU2005200561B8 (ru)
BR (1) BRPI0501004A (ru)
CA (1) CA2499932C (ru)
MX (1) MXPA05002659A (ru)
RU (1) RU2408069C2 (ru)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9509833B2 (en) 2014-05-26 2016-11-29 AO Kaspersky Lab System and method controlling access to applications on a mobile device
RU2612587C2 (ru) * 2014-06-24 2017-03-09 Сяоми Инк. Способ, устройство и система управления полномочиями
US9787685B2 (en) 2014-06-24 2017-10-10 Xiaomi Inc. Methods, devices and systems for managing authority
US9998887B2 (en) 2015-09-18 2018-06-12 Xiaomi Inc. Short message service reading method and device
US10021543B2 (en) 2015-09-18 2018-07-10 Xiaomi Inc. Short message service reading method and device
US10027629B2 (en) 2015-09-18 2018-07-17 Xiaomi Inc. Short message service reading method and device

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040068523A1 (en) * 2002-10-07 2004-04-08 Keith Robert Olan Method and system for full asynchronous master-to-master file synchronization
US9729321B2 (en) * 2015-04-29 2017-08-08 Citrix Systems, Inc. Autonomous private key recovery
ATE428235T1 (de) 2004-04-30 2009-04-15 Research In Motion Ltd System und verfahren zum erhalten des zertifikatstatus von subschlusseln
US8015596B2 (en) * 2004-06-28 2011-09-06 International Business Machines Corporation Shared credential store
US7506164B2 (en) * 2004-08-09 2009-03-17 Research In Motion Limited Automated key management system and method
US8284942B2 (en) * 2004-08-24 2012-10-09 Microsoft Corporation Persisting private/public key pairs in password-encrypted files for transportation to local cryptographic store
US7643818B2 (en) 2004-11-22 2010-01-05 Seven Networks, Inc. E-mail messaging to/from a mobile terminal
US20070168562A1 (en) * 2005-12-14 2007-07-19 Kimbrell Jacob W Participant-selective event synchronization for portable electronic devices
US20070143596A1 (en) * 2005-12-15 2007-06-21 International Business Machines Corporation Untrusted certificate store for secure e-mail
KR100791291B1 (ko) * 2006-02-10 2008-01-04 삼성전자주식회사 디바이스에서 drm 컨텐츠를 로밍하여 사용하는 방법 및장치
KR100703805B1 (ko) * 2006-02-15 2007-04-09 삼성전자주식회사 원격 도메인의 디바이스에서 drm 컨텐츠를 로밍하여사용하는 방법 및 장치
US8321523B1 (en) * 2006-04-24 2012-11-27 Centrify Corporation Method and apparatus for dynamically and incrementally modifying NIS maps
US20070255958A1 (en) * 2006-05-01 2007-11-01 Microsoft Corporation Claim transformations for trust relationships
US7841000B2 (en) 2006-10-16 2010-11-23 Lenovo (Singapore) Pte. Ltd. Authentication password storage method and generation method, user authentication method, and computer
US7882550B2 (en) * 2006-12-29 2011-02-01 International Business Machines Corporation Customized untrusted certificate replication
US20080168545A1 (en) * 2007-01-09 2008-07-10 Tadanobu Inoue Method for Performing Domain Logons to a Secure Computer Network
US8108918B2 (en) * 2007-02-27 2012-01-31 Red Hat, Inc. Zero knowledge attribute storage and retrieval
KR101467174B1 (ko) * 2007-08-16 2014-12-01 삼성전자주식회사 통신 수행 방법 및 그 장치와, 통신 수행 제어 방법 및 그장치
US20090183255A1 (en) * 2007-12-21 2009-07-16 Kiester W Scott Server services on client for disconnected authentication
US8166072B2 (en) 2009-04-17 2012-04-24 International Business Machines Corporation System and method for normalizing and merging credential stores
KR20120055772A (ko) * 2010-11-23 2012-06-01 한국전자통신연구원 서비스 에이전트 제공 시스템 및 방법
US20120158415A1 (en) * 2010-12-17 2012-06-21 Flexera Software Inc. method and system for license server synchronization
US9106645B1 (en) * 2011-01-26 2015-08-11 Symantec Corporation Automatic reset for time-based credentials on a mobile device
US8918853B2 (en) * 2011-06-29 2014-12-23 Sharp Laboratories Of America, Inc. Method and system for automatic recovery from lost security token on embedded device
US8989380B1 (en) * 2011-08-08 2015-03-24 Sprint Spectrum L.P. Controlling communication of a wireless communication device
US10798057B2 (en) * 2013-02-12 2020-10-06 Centrify Corporation Method and apparatus for providing secure internal directory service for hosted services
US9438598B2 (en) 2013-02-15 2016-09-06 Verizon Patent And Licensing Inc. Securely updating information identifying services accessible via keys
US9154482B2 (en) * 2013-02-15 2015-10-06 Verizon Patent And Licensing Inc. Secure access credential updating
US9712508B2 (en) * 2013-03-13 2017-07-18 Intel Corporation One-touch device personalization
KR101764838B1 (ko) 2013-10-25 2017-08-03 주식회사 엘지화학 적은 수의 절연소자를 사용하여 2차 보호 신호 및 진단 신호를 전송할 수 있는 배터리 관리 시스템
US20150150013A1 (en) * 2013-11-25 2015-05-28 International Business Machines Corporation Reducing job credentials management load
US9319430B2 (en) * 2014-06-17 2016-04-19 International Business Machines Corporation Managing software deployment
US9454773B2 (en) 2014-08-12 2016-09-27 Danal Inc. Aggregator system having a platform for engaging mobile device users
US10154082B2 (en) 2014-08-12 2018-12-11 Danal Inc. Providing customer information obtained from a carrier system to a client device
US9461983B2 (en) * 2014-08-12 2016-10-04 Danal Inc. Multi-dimensional framework for defining criteria that indicate when authentication should be revoked
EP3191949B1 (en) * 2014-09-08 2020-06-10 BlackBerry Limited Shared lock state
US9754100B1 (en) * 2014-12-22 2017-09-05 Amazon Technologies, Inc. Credential synchronization management
EP3329649B1 (en) 2015-07-31 2019-06-12 BlackBerry Limited Managing access to resources
DE102015014168A1 (de) 2015-11-03 2017-05-04 Secardeo Gmbh Verfahren zur Verteilung privater Schlüssel von Benutzern auf Mobilgeräte
WO2018175980A1 (en) * 2017-03-24 2018-09-27 Comet Enterprises, Inc. A credential management system for distributed authentication, and related systems and methods
US11443028B2 (en) * 2018-09-27 2022-09-13 Apple Inc. Digital credential revocation
US11611618B2 (en) 2020-12-31 2023-03-21 Nutanix, Inc. Orchestrating allocation of shared resources in a datacenter
US11734044B2 (en) * 2020-12-31 2023-08-22 Nutanix, Inc. Configuring virtualization system images for a computing cluster

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04271465A (ja) 1991-02-27 1992-09-28 Canon Inc 文書判定方式
JPH04271462A (ja) 1991-02-27 1992-09-28 Canon Inc 文書処理装置及び方法
JPH05324544A (ja) * 1992-05-15 1993-12-07 Hitachi Ltd バス制御方法
US5341426A (en) * 1992-12-15 1994-08-23 Motorola, Inc. Cryptographic key management apparatus and method
US5689706A (en) * 1993-06-18 1997-11-18 Lucent Technologies Inc. Distributed systems with replicated files
ATE152539T1 (de) 1994-02-08 1997-05-15 Belle Gate Invest Bv Datenauswechselsystem mit tragbaren datenverarbeitungseinheiten
IL111151A (en) 1994-10-03 1998-09-24 News Datacom Ltd Secure access systems
ES2171568T3 (es) 1994-09-09 2002-09-16 Titan Corp Sistema de acceso condicional.
US5838903A (en) * 1995-11-13 1998-11-17 International Business Machines Corporation Configurable password integrity servers for use in a shared resource environment
US5887065A (en) * 1996-03-22 1999-03-23 Activcard System and method for user authentication having clock synchronization
US5774545A (en) * 1996-03-28 1998-06-30 Lucent Technologies Inc. Method and apparatus for enhancing security in and discouraging theft of VLSI and ULSI devices
US5916307A (en) * 1996-06-05 1999-06-29 New Era Of Networks, Inc. Method and structure for balanced queue communication between nodes in a distributed computing application
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US5892828A (en) * 1996-10-23 1999-04-06 Novell, Inc. User presence verification with single password across applications
UA74766C2 (en) 1997-03-21 2006-02-15 Canal Plus Sa Television service system and facilities for accessing the system
US7631188B2 (en) * 1997-05-16 2009-12-08 Tvworks, Llc Hierarchical open security information delegation and acquisition
US6144959A (en) * 1997-08-18 2000-11-07 Novell, Inc. System and method for managing user accounts in a communication network
US6014669A (en) * 1997-10-01 2000-01-11 Sun Microsystems, Inc. Highly-available distributed cluster configuration database
US6978017B2 (en) * 1997-10-14 2005-12-20 Entrust Limited Method and system for providing updated encryption key pairs and digital signature key pairs in a public key system
US6490680B1 (en) 1997-12-04 2002-12-03 Tecsec Incorporated Access control and authorization system
JP3217032B2 (ja) 1998-06-25 2001-10-09 インターナショナル・ビジネス・マシーンズ・コーポレーション パスワード認証装置およびその方法
US6351468B1 (en) * 1998-07-02 2002-02-26 Gte Service Corporation Communications protocol in a wireless personal area network
US6732277B1 (en) * 1998-10-08 2004-05-04 Entrust Technologies Ltd. Method and apparatus for dynamically accessing security credentials and related information
US6460051B1 (en) * 1998-10-28 2002-10-01 Starfish Software, Inc. System and methods for synchronizing datasets in a communication environment having high-latency or other adverse characteristics
US6510522B1 (en) * 1998-11-20 2003-01-21 Compaq Information Technologies Group, L.P. Apparatus and method for providing access security to a device coupled upon a two-wire bidirectional bus
US6349338B1 (en) 1999-03-02 2002-02-19 International Business Machines Corporation Trust negotiation in a client/server data processing network using automatic incremental credential disclosure
US6529949B1 (en) 2000-02-07 2003-03-04 Interactual Technologies, Inc. System, method and article of manufacture for remote unlocking of local content located on a client device
JP2000305831A (ja) * 1999-04-22 2000-11-02 Tadamitsu Ryu 分散環境におけるファイル管理の方法、システム。
US6560655B1 (en) * 1999-06-22 2003-05-06 Microsoft Corporation Synchronization manager for standardized synchronization of separate programs
US6490666B1 (en) * 1999-08-20 2002-12-03 Microsoft Corporation Buffering data in a hierarchical data storage environment
JP3945088B2 (ja) 1999-10-07 2007-07-18 カシオ計算機株式会社 データ検索システム、携帯端末装置、及び記録媒体
CA2397740C (en) 2000-01-14 2015-06-30 Catavault Method and system for secure registration, storage, management and linkage of personal authentication credentials data over a network
US7010683B2 (en) * 2000-01-14 2006-03-07 Howlett-Packard Development Company, L.P. Public key validation service
US6993653B1 (en) * 2000-02-22 2006-01-31 International Business Machines Corporation Identity vectoring via chained mapping records
WO2001092993A2 (en) * 2000-06-02 2001-12-06 Vigilant Systems, Inc. System and method for licensing management
US7124203B2 (en) 2000-07-10 2006-10-17 Oracle International Corporation Selective cache flushing in identity and access management systems
US6986039B1 (en) * 2000-07-11 2006-01-10 International Business Machines Corporation Technique for synchronizing security credentials using a trusted authenticating domain
US7363325B2 (en) * 2000-08-10 2008-04-22 Nec Laboratories America, Inc. Synchronizable transactional database method and system
JP4552294B2 (ja) * 2000-08-31 2010-09-29 ソニー株式会社 コンテンツ配信システム、コンテンツ配信方法、および情報処理装置、並びにプログラム提供媒体
CA2324732C (en) 2000-10-30 2004-06-22 Ibm Canada Limited-Ibm Canada Limitee Web-based application for inbound message synchronization
US20020087883A1 (en) * 2000-11-06 2002-07-04 Curt Wohlgemuth Anti-piracy system for remotely served computer applications
US6918113B2 (en) * 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications
US7290133B1 (en) * 2000-11-17 2007-10-30 Entrust Limited Method and apparatus improving efficiency of end-user certificate validation
US7660902B2 (en) * 2000-11-20 2010-02-09 Rsa Security, Inc. Dynamic file access control and management
GB2372412A (en) * 2001-02-20 2002-08-21 Hewlett Packard Co Digital credential monitoring
CN1206595C (zh) 2001-02-28 2005-06-15 黎明网络有限公司 电子商务信息安全处理系统及其方法
US7325064B2 (en) * 2001-07-17 2008-01-29 International Business Machines Corporation Distributed locking protocol with asynchronous token prefetch and relinquish
US7222359B2 (en) * 2001-07-27 2007-05-22 Check Point Software Technologies, Inc. System methodology for automatic local network discovery and firewall reconfiguration for mobile computing devices
US20030163686A1 (en) * 2001-08-06 2003-08-28 Ward Jean Renard System and method for ad hoc management of credentials, trust relationships and trust history in computing environments
US7328344B2 (en) 2001-09-28 2008-02-05 Imagitas, Inc. Authority-neutral certification for multiple-authority PKI environments
US20030084171A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation User access control to distributed resources on a data communications network
US20030105957A1 (en) * 2001-12-05 2003-06-05 International Business Machines Corporation Kernel-based security implementation
US7175078B2 (en) * 2002-03-13 2007-02-13 Msystems Ltd. Personal portable storage medium
US20040123138A1 (en) * 2002-12-18 2004-06-24 Eric Le Saint Uniform security token authentication, authorization and accounting framework
US7251732B2 (en) * 2003-06-18 2007-07-31 Microsoft Corporation Password synchronization in a sign-on management system
US8131739B2 (en) * 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US7647256B2 (en) * 2004-01-29 2010-01-12 Novell, Inc. Techniques for establishing and managing a distributed credential store

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NOVELL (NOVELL SECURELOGIN) 31.10.2003, найдено в internet 17.02.2009, http://www.novell.com/documentation/securelogin30/pdfdoc/nsladm304/nsladm304.pdf. *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9509833B2 (en) 2014-05-26 2016-11-29 AO Kaspersky Lab System and method controlling access to applications on a mobile device
RU2654810C2 (ru) * 2014-05-26 2018-05-22 Закрытое акционерное общество "Лаборатория Касперского" Система и способ блокирования использования приложений на мобильном устройстве
RU2612587C2 (ru) * 2014-06-24 2017-03-09 Сяоми Инк. Способ, устройство и система управления полномочиями
US9787685B2 (en) 2014-06-24 2017-10-10 Xiaomi Inc. Methods, devices and systems for managing authority
US9998887B2 (en) 2015-09-18 2018-06-12 Xiaomi Inc. Short message service reading method and device
US10021543B2 (en) 2015-09-18 2018-07-10 Xiaomi Inc. Short message service reading method and device
US10027629B2 (en) 2015-09-18 2018-07-17 Xiaomi Inc. Short message service reading method and device

Also Published As

Publication number Publication date
JP2005303993A (ja) 2005-10-27
CA2499932C (en) 2014-01-14
CA2499932A1 (en) 2005-10-09
MXPA05002659A (es) 2005-10-12
CN1681240A (zh) 2005-10-12
EP1585286B1 (en) 2017-01-18
RU2005105756A (ru) 2006-08-10
KR101143053B1 (ko) 2012-05-11
EP1585286A3 (en) 2006-07-19
KR20060043510A (ko) 2006-05-15
CN1681240B (zh) 2012-03-14
US20050257072A1 (en) 2005-11-17
BRPI0501004A (pt) 2005-11-16
EP1585286A2 (en) 2005-10-12
AU2005200561A1 (en) 2005-10-27
US7984488B2 (en) 2011-07-19
AU2005200561B8 (en) 2010-12-16
AU2005200561B2 (en) 2010-08-26

Similar Documents

Publication Publication Date Title
RU2408069C2 (ru) Согласование полномочий
US11784823B2 (en) Object signing within a cloud-based architecture
US9639711B2 (en) Systems and methods for data verification and replay prevention
US20190050598A1 (en) Secure data storage
JP3640339B2 (ja) 電子データ・ファイルを検索するシステムおよびその維持方法
US10354068B2 (en) Anonymized application scanning for mobile devices
US8271790B2 (en) Method and system for securely identifying computer storage devices
US20090319786A1 (en) Electronic data security system and method
US20050123137A1 (en) Means for providing protecting for digital assets
US8805741B2 (en) Classification-based digital rights management
JP2005141746A (ja) 文書制御システムにおけるオフラインアクセス
US20160092690A1 (en) Secure copy and paste of mobile app data
US9612813B2 (en) Method of and apparatus for distributing software objects
JP3756397B2 (ja) アクセス制御方法およびアクセス制御装置および記録媒体
CN114546582A (zh) 针对备份相关操作的许可
Vijay Chaurasiya., et al
JP2023543773A (ja) 暗号化ファイル制御
CN117978400A (zh) 一种离线授权证书管理方法
Elhajj Deploying Microsoft Windows Server Update Services
Jeloka et al. Oracle Database Advanced Security Administrator's Guide 11g Release 1 (11.1) B28530-04
Jeloka et al. Oracle Database Advanced Security Administrator’s Guide 10g Release 2 (10.2) B14268-02

Legal Events

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

Effective date: 20150306

MM4A The patent is invalid due to non-payment of fees

Effective date: 20180302