Уровень техники
[0001] Все большее число организаций использует приложения и ресурсы облачных служб в противоположность исключительно локальным приложениям и ресурсам (где «локальный» означает находящийся под управлением организации, безотносительно к какому-либо физическому местоположению, в отличие от облачного). Как и с локальными приложениями и ресурсами, пользователям необходимы мандаты для осуществления доступа к существующим облачным службам. Отметим, что некоторые (обычно очень небольшие) организации используют облако исключительно для своей инфраструктуры идентификации на основании мандатов и приложений и, таким образом, используют облако, чтобы управлять аутентификацией на основании мандатов.
[0002] Очень большие организации используют службу каталогов локально (примером которой является Active Directory® корпорации Microsoft, включающая в себя свои серверы контроллеров домена), чтобы аутентифицировать пользователей, и чтобы приложения обнаруживали учетные записи пользователей и отношения между учетными записями. Среди прочего, это позволяет таким организациям сохранять полный контроль над своими связанными с мандатом данными в целях безопасности вместо ввода данных в облако. Большие организации используют то, что (например, в сценарии Active Directory®) может называться федерацией/службой федерации, которая содержит механизмы для того, чтобы отдельные пользователи эффективно использовали свои локальные мандаты для доступа к ресурсам в облаке. Мандаты не синхронизированы; вместо этого, облако направляет запросы входа в систему и т.п. локальной инфраструктуре идентификации для аутентификации, позволяя пользователю регистрировать вход в систему только один раз.
[0003] Однако, федерация является относительно очень дорогостоящей для установки и поддержки, и, таким образом, тенденция заключается в том, что только большие организации используют федерацию. Множество более мелких организаций хотят использовать одно и то же имя пользователя и пароль для доступа к локальным ресурсам и приложениям, а также к облачным ресурсам и приложениям. Без федерации, однако, необходим некоторый способ, чтобы управлять локальными мандатами и облачными мандатами.
[0004] Одним решением является перехват незашифрованного пароля пользователя для передачи целевой службе каталогов. Незашифрованный пароль пользователя может быть реплицирован на все серверы/базы данных в инфраструктуре идентификации. Однако, это может быть небезопасно, особенно, когда целью является облачная служба каталогов. Более того, программное обеспечение необходимо сконфигурировать на каждом сервере в целевой службе каталогов, чтобы захватывать все события изменения пароля пользователя. Среди других недостатков, это решение является неэффективным и неудобным для поддержки.
[0005] Многие компании не хотят выпускать локальные мандаты в облако по причинам безопасности, что создает проблему аутентификации. Одним решением является выдача одного набора мандатов для пользователей для доступа к облачным приложением и другого набора мандатов для пользователей для доступа к локальным приложениям. Это решение также является неэффективным и неудобным для поддержки.
Раскрытие изобретения
[0006] Данное раскрытие приведено для того, чтобы в упрощенной форме представить набор примерных идей, которые дополнительно описаны ниже в подробном описании. Это раскрытие не предназначено для того, чтобы идентифицировать ключевые признаки или существенные признаки заявляемого объекта изобретения, а также не предназначено для того, чтобы использоваться в плане ограничения объема заявляемого объекта изобретения.
[0007] Вкратце, различные аспекты объекта изобретения, описанного в данном документе, направлены на безопасную синхронизацию паролей, которые изменяются в исходном местоположении, с целевым местоположением, так что один и тот же мандат может быть использован в исходном и целевом местоположении. В одном аспекте принимается хэш-значение, которое вычислено на основании незашифрованного пароля, при этом хэш-значение было вычислено в ответ на событие изменения пароля в исходной службе. Данные, которые соответствуют хэш-значению, экспортируются в целевую службу, чтобы синхронизировать новый пароль с целевой службой для использования в аутентификации идентификатора. Данные, которые соответствуют хэш-значению, могут быть вторично хэшированы в защищенный большой бинарный объект пароля с помощью алгоритма вторичного хэширования.
[0008] В одном аспекте основной процесс синхронизации связан с доменной сетью. Основной процесс синхронизации выполнен с возможностью синхронизации изменений пароля, принятых в доменной сети, с целевой службой каталогов, внешней по отношению к сети (например, облачной службой каталогов). Основной процесс синхронизации получает хэш-значение, представляющее незашифрованный пароль, из доменной сети, обрабатывает хэш-значение в защищенный секретом большой бинарный объект по меньшей мере через один алгоритм вторичного хэширования, экспортирует защищенный секретом большой бинарный объект в целевую службу каталогов. Основной процесс синхронизации может быть связан с и получает хэш-значение от компонента сети или связан с сетью, в которой компонент выполнен с возможностью приема реплицированных данных об изменении пароля, соответствующих изменению пароля, выполненному на каком-либо контроллере домена сети.
[0009] В одном аспекте поддерживается множество наборов данных, содержащих защищенные большие бинарные объекты, соответствующие незашифрованным паролям. Каждый большой бинарный объект ассоциирован с идентификатором, при этом большие бинарные объекты вычисляются из незашифрованного пароля посредством по меньшей мере двух алгоритмов хэширования. Другой большой бинарный объект, который вычисляется с помощью другого алгоритма хэширования, ассоциирован с идентификатором, включая замену большого бинарного объекта другим большим бинарным объектом. Это может быть выполнено посредством вычисления большого бинарного объекта с помощью другого алгоритма хэширования для каждого идентификатора, включая каждый идентификатор, хэширующий большой бинарный объект, ассоциированный с этим идентификатором, в другой большой бинарный объект для этого идентификатора. Это также может быть выполнено посредством приема другого большого бинарного объекта от компонента локальной службы каталогов и приема информации, которая идентифицирует информацию, соответствующую другому алгоритму хэширования.
[0010] Другие преимущества могут стать очевидными из последующего подробного описания при его рассмотрении вместе с чертежами.
Краткое описание чертежей
[0011] Настоящее изобретение проиллюстрировано в качестве примера, но не ограничения, на прилагаемых чертежах, на которых аналогичные ссылочные позиции обозначают аналогичные элементы и на которых:
[0012] Фиг. 1 - это блок-схема, представляющая примерные компоненты, выполненные с возможностью синхронизации изменений пароля, выполненных в локальной службе каталогов, с облачной службой каталогов, согласно одной примерной реализации.
[0013] Фиг. 2 - это блок-схема, представляющая примерные этапы, которые могут быть предприняты в безопасной синхронизации изменения пароля в исходной службе каталогов с целевой службой каталогов согласно одной примерной реализации.
[0014] Фиг. 3 - это блок-схема, представляющая примерные компоненты, выполненные с возможностью синхронизации изменений пароля локальной службы каталогов, выполненных на каком-либо контроллере домена, с облачной службой каталогов через единый компонент, согласно одной примерной реализации.
[0015] Фиг. 4 - это блок-схема, представляющая примерные этапы, которые могут быть предприняты, чтобы полностью защищать операцию синхронизации пароля, согласно одной примерной реализации.
[0016] Фиг. 5 - это блок-схема, представляющая примерные этапы, которые могут быть предприняты, чтобы аутентифицировать пользователя во время попытки входа в систему с помощью безопасно синхронизированных связанных с паролем данных, согласно одной примерной реализации.
[0017] Фиг. 6 - это блок-схема, представляющая примерные этапы, которые могут быть предприняты, чтобы изменять алгоритм вторичного хэширования и связанные с паролями данные, хранимые для множества пользователей, согласно одной примерной реализации.
[0018] Фиг. 7 - это блок-схема, представляющая примерные неограничивающие сетевые окружения, в которых различные варианты осуществления, описанные в данном документе, могут быть реализованы.
[0019] Фиг. 8 - это блок-схема, представляющая примерную неограничивающую вычислительную систему или операционную среду, в которой один или более аспектов различных вариантов осуществления, описанных в данном документе, может быть реализован.
Осуществление изобретения
[0020] Различные аспекты технологии, описанной в данном документе, относятся в общем к технологии синхронизации паролей, которая позволяет использовать один набор мандатов как для доступа к локальному ресурсу, так и для доступа к облачному ресурсу. Как будет понятно, технология обеспечивает решение, которое является относительно несложным для установки и поддержки локально, в то же время являясь безопасным.
[0021] В одном аспекте агент синхронизации выполняет операции синхронизации из локальной службы каталогов с облачной службой каталогов. В одной реализации агент синхронизации может быть добавлен в сеть контроллеров домена как единственный компонент (например, работающий на единственной машине, присоединенной к домену) в противоположность работе на каждом контроллере домена в доменной сети.
[0022] В одном аспекте мандат, поддерживаемый в локальной службе каталогов, синхронизируется с облачной службой каталогов посредством сначала использования одного или более алгоритмов хэширования, чтобы хэшировать пароли. Первичный хэш используется и может быть использован в комбинации по меньшей мере с одним вторичным хэшем. Незашифрованные пароли никогда не отправляются в облако.
[0023] В одном аспекте технология поддерживает необходимость для локальной системы переключаться на новый алгоритм первичного хэширования, без необходимости для пользователей изменять свои существующие пароли или иначе повторно захватывать незашифрованные пароли пользователей. Кроме того, если алгоритм вторичного хэширования скомпрометирован, или более защищенный алгоритм вторичного хэширования в ином случае становится желательным для использования, алгоритм вторичного хэширования может быть изменен без необходимости для пользователей изменять свои существующие пароли или иначе повторно захватывать незашифрованные пароли пользователей.
[0024] Следует понимать, что любые из примеров в данном документе являются неограничивающими. Например, множество примеров в данном документе, в целом, описаны в среде службы каталогов, такой как Active Directory®; однако, любая аналогичная инфраструктура/среда идентификации могут извлекать пользу из технологии, описанной в данном документе. Кроме того, в то время как примеры направлены на безопасную синхронизацию мандатов, другие типы данных, которые необходимо безопасно синхронизировать, могут извлекать пользу из технологии, описанной в данном документе. По существу, настоящее изобретение не ограничено какими-либо конкретными вариантами осуществления, аспектами, концепциями, структурами, функциональными возможностями или примерами, описанными в данном документе. Скорее, любые из вариантов осуществления, аспектов, концепций, структур, функциональных возможностей или примеров, описанных в данном документе, являются неограничивающими, и настоящее изобретение может быть использовано различными способами, которые обеспечивают пользу и преимущества в синхронизации данных, защите данных и/или облачных службах в целом.
[0025] Фиг. 1 - это блок-схема, показывающая примерные компоненты, которые могут быть использованы для безопасной синхронизации данных, включающих в себя мандаты из локальных компонентов, с облачной службой 102 каталогов. Локальные компоненты 104 включают в себя основной процесс 106 синхронизации (например, механизм синхронизации менеджера идентификационной информации), который включает в себя агента 108 синхронизации паролей. В целом, основной процесс 106 синхронизации содержит процесс, который активно управляет извлечением и экспортом мандатов из исходной службы 110 каталогов.
[0026] В одной реализации синхронизация выполняется через агента 108 синхронизации паролей, который вызывает локальную (местную) службу 108 каталогов (исходный каталог) через подходящий интерфейс 112, чтобы получать связанные с мандатом данные, которые, как описано ниже, содержат хэшированные пароли. Для того, чтобы получать только измененные хэшированные пароли (дельты) после последнего момента синхронизации, вызов может обеспечивать временную метку синхронизации. Например, Active Directory® имеет публично задокументированный API (IDL_DRSGetNCChanges), который, когда вызывается, извлекает и возвращает список изменений после предусмотренной временной метки, которая является последним моментом синхронизации, выданным агентом 108 синхронизации паролей. В сценарии, в котором данные об изменении содержат более чем связанные с паролем данные, агент 108 синхронизации анализирует/фильтрует возвращенные данные, чтобы определять набор обновленных мандатов с последнего момента синхронизации.
[0027] Набор измененных мандатов возвращается агенту 18 синхронизации паролей в качестве набора хэшированных мандатов. В одной реализации, эти хэши не сохраняются посредством основного процесса 106 синхронизации или агента 108 синхронизации паролей и лишь временно используются в попытке синхронизировать хэш мандатов с целевой службой каталогов, например, облачной службой 102 каталогов на фиг. 1. В одной реализации локальные хэши паролей вторично хэшируются с помощью случайным образом сгенерированного (соль) значения и множества итераций перед отправкой целевой (облачной) службе 102 каталогов.
[0028] В одной реализации агент 108 синхронизации паролей пытается синхронизировать только мандаты идентификаторов в области действия (где область действия - это хорошо известная концепция в инфраструктурах идентификации) с целевой службой 102 каталогов. Мандаты, которые принадлежат идентификаторам за областью действия, не синхронизируются с целевой службой 102 каталогов. Кроме того, мандаты, которые принадлежат идентификаторам, которые не были предусмотрены для целевой службы 102 каталогов, также не синхронизируются; вместо этого они могут быть синхронизированы в более позднее время, когда этот идентификатор будет успешно предусмотрен в целевой службе 102 каталогов.
[0029] На фиг. 1 присоединяющий компонент целевого каталога, представленный как облачный агент 114 управления, отвечает за обработку экспорта хэшированных мандатов в облако 116. Для этого облачный компонент 118 первичной обработки данных (например, фронтальный сервер синхронизации службы каталогов) принимает запрос на обновление мандата и затем пытается сохранять хэшированный мандат в системе 120 хранения целевой службы каталогов через (например, приватный) программный интерфейс 122. Если хэш мандатов успешно сохранен в целевой службе каталогов, состояние успешности возвращается фронтальному компоненту 118 и фронтальный компонент 118 возвращает состояние успешности основному процессу 106 синхронизации. При приеме «успешного» ответа, основной процесс 106 синхронизации считает мандат успешно синхронизированным с целевой службой 102 каталогов. Если встречается неудачный ответ, экспорт может быть поставлен в очередь для повторной попытки в более позднее время.
[0030] Фиг. 2 показывает вышеописанную операцию как набор примерных этапов. Некоторые из этапов показаны для одного мандата, однако, как может быть легко понято, синхронизация мандатов может быть пакетной, и/или некоторые или все из этапов могут быть выполнены параллельно.
[0031] На этапе 202 агент 108 синхронизации паролей (фиг. 1) запрашивает и принимает изменения (после данной временной метки) от исходной службы 110 каталогов. Запрос выполняется во время синхронизации, которое может быть периодическим или иным. Как описано выше, пароли хэшируются с помощью функции первичного хэширования, например Ha(пароль), такой как MD4(пароль).
[0032] При приеме изменений, как представлено посредством этапа 204, агент 108 синхронизации пароля анализирует изменения, чтобы определять, какие изменения должны быть синхронизированы, например, изменения паролей предусмотренных в области действия идентификаторов. Как упомянуто выше, считается, что только один мандат выдаются в это время.
[0033] Этап 206 представляет вторичное хэширование хэшированного пароля, например, H1(Ha(пароль)), такое как SHA256(MD4(пароль)). Вторичное хэширование дополнительно описывается ниже.
[0034] Этап 208 экспортирует хэшированный мандат в целевую службу 102 каталогов, которая пытается сохранить их. Этап 210 принимает результат запроса на экспорт в качестве возвращаемого состояния; если успех принимается как оценено на этапе 212, мандат был успешно синхронизирован с целевой службой каталогов (этап 214), и процесс заканчивается. Если неудача обнаруживается на этапе 212, экспорт ставится в очередь для повторной попытки в более позднее время, как представлено этапом 216.
[0035] Как в общем представлено на фиг. 3, локальная доменная сеть 330 содержит домен 1 (имеющий контролер 1 домена 1 - контроллер j домена 1) по домен n (имеющий контроллер 1 домена n - контроллер k домена n). В одном аспекте сеть может добавлять (например, может быть присоединена посредством или иначе соединена с) компонент, работающий на машине или т.п., которая работает в качестве службы 332 локатора контроллера домена службы каталогов. Как известно, изменения паролей выполняются на одном контроллере домена (например, ближайшем к пользователю, хотя другие схемы возможны) и реплицируются на другие контроллеры домена для домена. Как описано в данном документе, измененные пароли, хэшированные с помощью первичного хэша, реплицируются вместо незашифрованных паролей.
[0036] Основной процесс 106 синхронизации контактирует со службой 332 локатора контроллера домена службы каталогов, чтобы определять экземпляр контроллера домена, с которого необходимо извлекать данные об изменении мандата. Например, может быть один контроллер домена, идентифицированный в каждом домене для обеспечения изменений основному процессу 106 синхронизации. Таким образом, существующая схема репликации сети может быть привлечена, чтобы выполнять синхронизацию изменения паролей с облачной службой; (отметим, что это противоположно существующим системам, в которых компоненты/DLL расширения кода необходимо регистрировать со всеми машинами, ассоциированными с исходным каталогом/сетью, для того, чтобы гарантировать, что все изменения мандата захвачены и синхронизированы с целевым каталогом).
[0037] Фиг. 4 суммирует примерные этапы, относящиеся к реализации на фиг. 3 и операциям контроллера домена, в целом. Этап 402 представляет прием изменения пароля в незашифрованном виде, который обычно происходит на контроллере домена, ближайшем к пользователю (хотя другие схемы, такие как основанные на балансировке нагрузки, возможны). Этап 404 представляет пароль, хэшируемый на этом контроллере домена с помощью первичного хэша, например, Ha(пароль). Этап 406 представляет репликацию хэшированного пароля на другие контроллеры домена.
[0038] Этап 408 представляет основной процесс 106 синхронизации, связывающийся со службой 332 локатора контроллера домена службы каталогов, чтобы определять, с каким контроллером(ами) домена контактировать на предмет данных об изменении. В целом, один контроллер домена из каждого домена идентифицируется посредством службы 332 локатора контроллера домена для основного процесса 106 синхронизации.
[0039] Этап 410 представляет агента синхронизации паролей, извлекающего измененные хэши паролей из контроллера домена службы каталогов. Отметим, что в качестве альтернативы изменения могут быть продвинуты в агент синхронизации паролей для синхронизации по запросу или по некоторому другому расписанию. Возможно, чтобы основной процесс синхронизации работал на той же машине, что и служба 332 локатора контроллера домена службы каталогов, хотя, как описано выше, основной процесс синхронизации не сохраняет хэшированные пароли, отличные от необходимых для выполнения синхронизации с целевой службой.
[0040] Хотя возможно, чтобы цель была синхронизирована и хранила хэшированный пароль, наличие вторичного хэширования обеспечивает ряд преимуществ, как описано в данном документе. Этап 412 представляет вторичное хэширование, например, H1(Ha(пароль)). В одном аспекте вторичное хэширование формирует защищенный большой бинарный объект пароля, который включает в себя название и версию алгоритма хэширования, плюс случайную соль, счетчик итераций плюс краткое изложение. Результат этого вторичного хэширования синхронизируется с (этап 414) и сохраняется (этап 416) в целевой службе каталогов. Отметим, что облако также может выполнять такое вторичное хэширование, такое как хэширование в очередной раз перед сохранением.
[0041] Обращаясь к аспектам входа в систему, когда идентификатор пытается осуществить доступ к службе или программному обеспечению, ассоциированному с целевой службой каталогов, например, через фронтальный сервер 124 AuthN (фиг.1), если мандат помечен как «синхронизированный с исходным каталогом» в платформе аутентификации целевой службы каталогов, платформа аутентификации предполагает выполнение соответствующей процедуры подтверждения входа в систему и сравнивает мандат, представленный идентификатором, с хэшем мандата, синхронизированным из исходного каталога.
[0042] Целевой платформе аутентификации инструктируется использовать алгоритм, чтобы соответствовать локальному алгоритму хэширования, но это может быть любой один алгоритм или набор алгоритмов. Это обеспечивает ряд сценариев, включающих в себя криптографическую адаптивность. В целом, криптографическая адаптивность позволяет использовать множество алгоритмов хэширования и/или комбинаций алгоритмов хэширования. В результате, алгоритм первичного хэширования может изменяться со временем, алгоритм вторичного хэширования может изменяться со временем, могут быть использованы алгоритмы различных служб (например, третьих сторон), и т.д.
[0043] Фиг. 5 показывает некоторые примерные этапы, относящиеся с операциями входа в систему в облачной службе, начиная с этапа 502, когда принята попытка входа в систему с мандатом. Если на этапе 504 мандат не помечен как «синхронизированный из исходного каталога» или т.п., тогда, например, к облаку осуществляет доступ пользователь, который не является частью локальной службы каталогов, такой как пользователь очень небольшой организации, который использует облако исключительно для аутентификации и доступа к ресурсу. Также, пользователи могут быть частью локальной службы каталогов, но не использующими технологию, описанную в данном документе, и, таким образом, мандат не помечается как синхронизированный. Если так, этап 506 обрабатывает этот запрос иначе, например, через традиционный вход в систему облака.
[0044] Если вместо этого этап 504 обнаруживает, что мандат маркирован как «синхронизированный из исходного каталога», этап 508 ищет, какой алгоритм хэширования/данные следует использовать, например, на основании идентификатора пользователя. Этап 510 определяет параметры для этого хэша, например, соль и итерации. Отметим, что в сценарии, в котором существует только один алгоритм хэширования, этапы 508 и 510 не нужны, но как может быть легко понято, эти этапы обеспечивают криптографическую адаптивность.
[0045] Этап 512 преобразуют данные пароля для входа в систему в защищенный большой бинарный объект пароля, который этап 514 сравнивает с большим бинарным объектом, сохраненным в базе данных целевой службы. Если имеет место совпадение (этап 516), доступ разрешается через этап 518, иначе доступ запрещается через этап 520.
[0046] Отметим, что криптографическая адаптивность поддерживает новый локальный (первичный) алгоритм хэширования (Ha) без воздействия на службу и без необходимости повторно захватывать незашифрованный пароль пользователя. Например, предположим, что локальная система переключается с Ha на Hb (например, следующая версия службы каталогов исключает MD4 в пользу чего-то более современного). Любые новые пароли/измененные пароли будут вычислены и синхронизированы как (H1(Hb(пароль))). Во время входа в систему, когда пользователь набирает свое имя пользователя и (незашифрованный) пароль, система определяет, присутствует ли (H1(Ha)) или (H1(Hb)) в базе данных, и применяет соответствующее к незашифрованному паролю для сравнения.
[0047] Дополнительно, платформа аутентификации может выполнять дополнительно хэширование сохраненных хэшей по желанию. Это обеспечивает устойчивую по времени защиту данных хранимых паролей с криптографической адаптивностью. В качестве примера, предположим, что алгоритм (H1) вторичного хэширования скомпрометирован, т.е., больше не считается достаточно безопасным. Алгоритм H1-хэширования может быть эффективно заменен, без необходимости повторно захватывать незашифрованный пользовательский пароль.
[0048] В качестве примера, предположим, что вычисленный в настоящий момент и сохраненный большой бинарный объект данных является H1(Ha(пароль)). Для надежности, вводится новый алгоритм (H2) вторичного хэширования. Как представлено на этапах 602, 604 и 606 на фиг. 6, для каждого пользователя, целевая система анализирует всю базу данных, вычисляет (H2(H1(Ha(пароль))) и сохраняет новое значение. Когда анализ завершен, как оценено посредством этапа 608, система удаляет (H1(Ha(пароль))) для всех пользователей на этапе 610 и переключается на использование алгоритма (H2(H1)). Таким образом, целевая система больше не хранит содержащийся хэш в состоянии покоя. Отметим, что возможно заменять существующий большой бинарный объект на этапе 606, однако, если процесс анализа продолжительный, пользователям может быть запрещено входить в систему до тех пор, пока процесс анализа не завершится.
[0049] Во время входа в систему все работает так же, как и прежде, с точки зрения пользователя. Когда пользователь входит в систему, цель определяет, что (H2(H1(Ha))) является алгоритмом хэширования, для вычисления хэш-значения для введенного пароля и сравнения хэш-значения с тем, что сохранено.
[0050] Целевая система также может переключаться на другую хэш-функцию для новых паролей. Например, предположим, что разработан другой алгоритм H3 хэширования, который считается превосходящим некоторым образом по отношению к существующему алгоритму, например, H3 гораздо лучше и/или быстрее, чем H1. В этом примере изменение не является проблемой безопасности, и, таким образом, (H1(Ha(пароль))) является безопасным, и остается нетронутым. Основной процесс синхронизации (и целевая служба) обновляется, чтобы поддерживать (H3) для любых новых пользователей/измененных паролей. Пользователи, которые изменяют свой пароль, таким образом, синхронизируются с помощью (H3(Ha(пароль))). Пользователи, которые не изменили свои пароли, продолжают аутентифицироваться через алгоритм (H1(Ha(пароль))).
[0051] История паролей может сохраняться в облачной службе и использоваться во время входа в систему, чтобы избегать блокировки пользователей. Например, рассмотрим пользователя, который изменил его или ее пароль на одном устройстве, получая в результате синхронизацию большого бинарного объекта с облачной службой, но не изменил пароль на другом устройстве. Другое устройство может регулярно связываться со службой входа в систему с предыдущим паролем, что может вызывать проблемы. Чтобы избегать этой проблемы, введенный пользователем незашифрованный пароль может быть сравнен с существующим(и) большим(и) бинарным(и) объектом(ами), сохраненными как «текущий пароль», и если нет совпадения, сравнен с большим(и) бинарным(и) объектом(ами), сохраненными как «предыдущий пароль». Может сохраняться любое желаемое число предыдущих наборов одного или более больших бинарных объект ов паролей, например также могут работать текущий пароль плюс по меньшей мере два пароля, и т.д.
[0052] Дополнительно, ограничения истории паролей могут быть принудительно применены с хэшированием в состоянии покоя, например, для пользователей, которые не изменяют свои пароли локально. Например, рассмотрим политику, когда пользователям не разрешено повторно использовать какой-либо из их пяти предыдущих паролей. Облачная служба хранит самый последний большой бинарный объект пароля, такой как (H3(Ha(текущий_пароль))), также как и историю паролей, такую как (H3(Ha(предыдущий_пароль))); (H1(Ha(предыдущий_пароль2))); (H2((H1(Ha(предыдущий_пароль3))) и т.д. вплоть до предела политики. Отметим, что эти большие бинарные объекты не должны быть сформированы с помощью одинакового алгоритма хэширования. Действительно, некоторые из них могли быть повторно хэшированы, если оригинальный хэш был признан небезопасным или был иначе изменен.
[0053] Во время изменения пароля, когда новый пароль получен, служба просматривает список алгоритмов в поле истории паролей, вычисляет соответствующие хэши и сравнивает их с сохраненными краткими изложениями, чтобы определять, разрешено ли изменение.
Примерные сетевые и распределенные окружения
[0054] Обычный специалист в области техники может оценить, что различные варианты осуществления и способы, описанные в данном документе, могут быть реализованы в связи с любым компьютером или другим клиентским или серверным устройством, которое может быть применено как часть компьютерной сети или в распределенном вычислительном окружении и может быть соединено с любым видом хранилища или хранилищ данных. В этом отношении, различные варианты осуществления, описанные в данном документе, могут быть реализованы в любой компьютерной системе или окружении, имеющем любое число запоминающих устройств или устройств хранения и любое число приложений и процессов, происходящих между любым числом устройств хранения. Это включает в себя, но не только, окружение с серверными компьютерами и клиентскими компьютерами, развернутыми в сетевом окружении или распределенном вычислительном окружении, имеющими удаленное или локальное хранилище.
[0055] Распределенные вычисления обеспечивают совместное использование компьютерных ресурсов и служб посредством обмена данными связи между вычислительными устройствами и системами. Эти ресурсы и службы включают в себя обмен информацией, кэш-память и дисковое запоминающее устройство для объектов, таких как файлы. Эти ресурсы и службы также включают в себя совместное использование вычислительной мощности между множеством процессоров для балансировки нагрузки, расширения ресурсов, специализации обработки и т.п. Распределенные вычисления используют преимущества возможностей сетевых подключений, давая возможность клиентам использовать общую мощность, чтобы обеспенчивать выгоду для всей организации. В этом отношении, множество устройств могут иметь приложения, объекты или ресурсы, которые могут участвовать в механизмах управления ресурсами, как описано для различных вариантов осуществления представленного на рассмотрение открытия.
[0056] Фиг. 7 обеспечивает схематичный чертеж примерного сетевого или распределенного вычислительного окружения. Распределенное вычислительное окружение содержит вычислительные объекты 710, 712 и т.д. и вычислительные объекты или устройства 720, 722, 724, 726, 728 и т.д., которые могут включать в себя программы, способы, хранилища данных, программируемую логику и т.д., как представлено посредством примерных приложений 730, 732, 734, 736, 738. Может быть понятно, что вычислительные объекты 710, 712 и т.д. и вычислительные объекты или устройства 720, 722, 724, 726, 728 и т.д. могут содержать различные устройства, такие как персональные цифровые помощники (PDA), аудио/видеоустройства, мобильные телефоны, MP3-проигрыватели, персональные компьютеры, портативные компьютеры и т.д.
[0057] Каждый вычислительный объект 710, 712 и т.д. и вычислительные объекты или устройства 720, 722, 724, 726, 728 и т.д. могут связываться с одним или более другими вычислительными объектами 710, 712 и т.д. и вычислительными объектами или устройствами 720, 722, 724, 726, 728 и т.д. посредством сети 740 передачи данных, либо непосредственно, либо опосредованно. Даже если иллюстрирована как единственный элемент на фиг. 7, сеть 740 передачи данных может содержать другие вычислительные объекты и вычислительные устройства, которые обеспечивают службы системе на фиг. 7, и/или может представлять множество взаимосвязанных сетей, которые не показаны. Каждый вычислительный объект 710, 712 и т.д. или вычислительный объект или устройство 720, 722, 724, 726, 728 и т.д. может также содержать приложение, такое как приложения 730, 732, 734, 736, 738, которые могут использовать API, или другой объект, программное обеспечение, программно-аппаратные и/или аппаратные средства, подходящие для связи с приложением, предусмотренным в соответствии с различными вариантами осуществления рассматриваемого изобретения, или его реализации.
[0058] Предусмотрено множество систем, компонентов и сетевых конфигураций, которые поддерживают распределенные вычислительные окружения. Например, вычислительные системы могут быть соединены вместе проводными или беспроводными системами, локальными сетями или глобальными распределенными сетями. В настоящее время множество сетей соединены с Интернетом, который обеспечивает инфраструктуру для широко распространенного вычисления и охватывает множество различных сетей, хотя любая сетевая инфраструктура может быть использована для примерных выполняемых передач данных, свойственных системам, которые описаны в различных вариантах осуществления.
[0059] Таким образом, масса сетевых топологий и сетевых инфраструктур, таких как клиент/серверная, одноранговая или гибридная архитектуры, могут быть использованы. «Клиент» является членом класса или группы, которая использует службы другого класса или группы, к которой он не относится. Клиент может быть процессом, например, грубо набором инструкций или задач, которые требуют службы, обеспечиваемой другой программой или процессом. Клиентский процесс использует запрошенную службу без необходимости «знать» какие-либо подробности о работе другой программы или самой службы.
[0060] В клиент/серверной архитектуре, в частности, в сетевой системе клиентом обычно является компьютер, который осуществляет доступ к общим сетевым ресурсам, обеспечиваемым другим компьютером, к примеру, сервером. В иллюстрации на фиг. 7, в качестве неограничивающего примера, вычислительные объекты или устройства 720, 722, 724, 726, 728 и т.д. могут быть задуманы как клиенты, а вычислительные объекты 710, 712 и т.д. могут быть задуманы как серверы, где вычислительные объекты 710, 712 и т.д., действующие в качестве серверов, обеспечивают службы данных, такие как прием данных от клиентских вычислительных объектов или устройств 720, 722, 724, 726, 728 и т.д., сохранение данных, обработка данных, передача данных клиентским вычислительным объектам или устройствам 720, 722, 724, 726, 728 и т.д., хотя любой компьютер может считаться клиентом, сервером или обоими в зависимости от обстоятельств.
[0061] Сервер обычно является удаленной компьютерной системой, доступной через удаленную или локальную сеть, такую как Интернет или беспроводные сетевые инфраструктуры. Клиентский процесс может быть активным в первой компьютерной системе, а серверный процесс может быть активным во второй компьютерной системе, связывающимися друг с другом по среде передачи данных, таким образом, обеспечивая распределенную функциональность и позволяя множественным клиентам получать преимущества от возможностей сервера по сбору информации.
[0062] В сетевом окружении, в котором сеть 740 передачи данных или шина является Интернетом, например, вычислительные объекты 710, 712 и т.д. могут быть веб-серверами, с которыми другие вычислительные объекты или устройства 720, 722, 724, 726, 728 и т.д. связываются через любое число известных протоколов, таких как протокол передачи гипертекста (HTTP). Вычислительные объекты 710, 712 и т.д., действующие в качестве серверов, могут также служить в качестве клиентов, например, вычислительных объектов или устройств 720, 722, 724, 726, 728 и т.д., которые могут быть характерны для распределенного вычислительного окружения.
Примерное вычислительное устройство
[0063] Как упомянуто, преимущественно, технологии, описанные в данном документе, могут быть применены к любому устройству. Может быть понятно, поэтому, что карманные, портативные и другие вычислительные устройства и вычислительные объекты всех видов рассматриваются для использования в соединении с различными вариантами осуществления. Соответственно, ниже удаленный компьютер общего назначения, описанный ниже на фиг. 8, является лишь одним примером вычислительного устройства.
[0064] Варианты осуществления могут частично быть реализованы через операционную систему, для использования разработчиком служб для устройства или объекта, и/или включены в прикладное программное обеспечение, которое работает, чтобы выполнять один или более функциональных аспектов различных вариантов осуществления, описанных в данном документе. Программное обеспечение может быть описано в общем контексте машиноисполняемых инструкций, таких как программные модули, приводимые в исполнение посредством одного или более компьютеров, таких как клиентские рабочие станции, серверы или другие устройства. Специалисты в области техники признают, что компьютерные системы имеют множество конфигураций и протоколов, которые могут быть использованы для обмена данными, и, таким образом, конкретная конфигурация или протокол не считается ограничивающей.
[0065] Фиг. 8, таким образом, иллюстрирует пример подходящего окружения 800 вычислительной системы, в котором один или более аспектов вариантов осуществления, описанных в данном документе, могут быть реализованы, хотя, как выяснено выше, окружение 800 вычислительной системы является лишь одним примером подходящего вычислительного окружения и не предназначено, чтобы предлагать какое-либо ограничение на рамки использования или функциональность. Кроме того, окружение 800 вычислительной системы не предназначено, чтобы интерпретироваться как имеющее какую-либо зависимость, связанную с каким-либо одним или комбинацией компонентов, иллюстрированных в примерном окружении 800 вычислительной системы.
[0066] Со ссылкой на фиг. 8, примерное удаленное устройство для реализации одного или более вариантов осуществления включает в себя вычислительное устройство общего назначения в форме компьютера 810. Компоненты компьютера могут включать в себя, но не только, процессор 820, системную память 830 и системную шину 822, которая соединяет различные компоненты системы, включающие в себя системную память, с процессором 820.
[0067] Компьютер 810 в общем случае включает в себя множество машиночитаемых носителей, и могут быть любые доступные носители, к которым можно осуществлять доступ посредством компьютера 810. Системная память 830 может включать в себя компьютерные носители хранения информации в форме энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ROM) и/или оперативное запоминающее устройство (RAM). В качестве примера, а не ограничения, системная память 830 может также включать в себя операционную систему, прикладные программы, другие программные модули и программные данные.
[0068] Пользователь может вводить команды и информацию в компьютер 810 через устройства 840 ввода. Монитор или другой тип устройства отображения также соединен с системной шиной 822 через интерфейс, такой как интерфейс 850 вывода. В дополнение к монитору компьютеры могут также включать в себя другие периферийные устройства вывода, такие как динамики и принтер, которые могут быть соединены через интерфейс 850 вывода.
[0069] Компьютер 810 может работать в сетевом или распределенном окружении, использующем логические соединения с одним или более другими удаленными компьютерами, такими как удаленный компьютер 870. Удаленный компьютер 870 может быть персональным компьютером, сервером, маршрутизатором, сетевым ПК, одноранговым устройством или другим общим узлом сети, или любым другим удаленным устройством для потребления или передачи носителей, и может включать в себя какой-либо или все элементы, описанные выше относительно компьютера 810. Логические соединения, изображенные на фиг. 8, включают в себя сеть 872, такую как локальная вычислительная сеть (LAN) или глобальная вычислительная сеть (WAN), но могут также включать в себя другие сети/шины. Такие сетевые окружения широко распространены в домах, офисах, корпоративных вычислительных сетях, интрасетях и в Интернете.
[0070] Как упомянуто выше, в то время как примерные варианты осуществления были описаны в связи с различными вычислительными устройствами и сетевыми архитектурами, лежащие в основе концепции могут быть применены к любой сетевой системе и любому вычислительному устройству или системе, в которой желательно улучшать эффективность использования ресурсов.
[0071] Также, существует множество способов реализации такой же или аналогичной функциональности, например, соответствующий API, набор инструментальных средств, код драйвера, операционная система, управление, автономный или загружаемый объект программного обеспечения, и т.д., которые позволяют приложениям и службам воспользоваться преимуществом технологий, представленных в данном документе. Таким образом, варианты осуществления в данном документе рассматриваются с точки зрения API (или другого объекта программного обеспечения), также как с точки зрения объекта программного обеспечения или аппаратных средств, который реализует один или более вариантов осуществления, которые описаны в данном документе. Таким образом, различные варианты осуществления, описанные в данном документе, могут иметь аспекты, которые целиком существуют в аппаратных средствах, частично в аппаратных средствах и частично в программном обеспечении, также как и в программном обеспечении.
[0072] Слово «примерный» используется в данном документе в значении «служащий в качестве примера, экземпляра или иллюстрации». Во избежание недоразумений, объект изобретения, раскрытый в данном документе, не ограничен такими примерами. Кроме того, любой аспект или конструкция, описанные в данном документе как «примерные», не обязательно должны рассматриваться как предпочтительные или преимущественные по отношению к другим аспектам или конструкциям, а также подразумевает исключение заранее эквивалентных примерных структур и технологий, известных обычным специалистам в области техники. Кроме того, до той степени, до которой используются термины «включает в себя», «имеет», «содержит» и другие аналогичные слова, во избежание недоразумений, подразумевается, что такие термины являются включающими, аналогично термину «содержащий», в качестве открытого переходного слова без исключения заранее каких-либо дополнительных или других элементов, когда они применяются в формуле изобретения.
[0073] Как упомянуто, различные технологии, описанные в данном документе, могут быть реализованы в связи с аппаратными средствами или программным обеспечением или, если необходимо, с сочетанием и того, и другого. При использовании в данном документе выражений «компонент», «модуль», «система» и т.п. подразумевается, что они означают связанный с компьютером объект, либо аппаратные средства, сочетание аппаратных средств и программного обеспечения, программное обеспечение, либо программное обеспечение при исполнении. Например, компонент может быть, не ограничиваясь, процессом, выполняемым в процессоре, процессором, объектом, исполняемым файлом, потоком исполнения, программой и/или компьютером. В качестве иллюстрации, компонентом могут быть как приложение, работающее на компьютере, так и компьютер. Один или более компонентов могут храниться внутри процесса и/или потока исполнения, и компонент может быть локализован на компьютере или распределен между двумя и более компьютерами.
[0074] Вышеупомянутые системы были описаны относительно взаимодействия между несколькими компонентами. Может быть принято во внимание, что такие системы и компоненты могут включать в себя такие компоненты или указанные субкомпоненты, некоторые из указанных компонентов или субкомпонентов, и/или дополнительные компоненты, и согласно различным преобразованиям и комбинациям вышеупомянутого. Субкомпоненты также могут быть реализованы в качестве компонентов, функционально соединенных с другими компонентами, отличными от включенных в родительские компоненты (иерархически). Дополнительно, следует отметить, что один или более компонентов могут быть комбинированы в один компонент, представляющий обобщающую функциональность, или разделены на несколько отдельных субкомпонентов, и могут быть предусмотрены один или более промежуточных уровней, к примеру, уровень управления для соединения при функционировании с этими субкомпонентами, чтобы обеспечить интегрированную функциональность. Любые компоненты, описанные в данном документе, также могут взаимодействовать с одним или более других компонентов, не описанных конкретно в данном документе, но общеизвестных специалистами в данной области техники.
[0075] Принимая во внимание примерные системы, описанные в данном документе, способы, которые могут быть реализованы в соответствии с описанным объектом изобретения, могут также быть рассмотрены со ссылкой на блок-схемы различных чертежей. В то время как в целях упрощения пояснения, способы показаны и описаны в виде последовательности этапов, необходимо понимать и принимать во внимание, что различные варианты осуществления не ограничены порядком этапов, поскольку некоторые этапы могут происходить в других порядках и/или одновременно с другими этапами, чем то, что показано и описано в данном документе. Когда непоследовательный или разветвляющийся процесс иллюстрируется блок-схемой, может быть понятно, что могут быть реализованы различные другие ветви, пути процесса и порядки этапов, которые достигают такого же или аналогичного результата. Кроме того, некоторые иллюстрированные этапы являются необязательными в реализации способов, описанных в данном документе ниже.
Заключение
[0076] Хотя изобретение допускает различные модификации и альтернативные конструкции, его конкретные проиллюстрированные варианты осуществления показаны на чертежах и подробно описаны выше. Однако следует понимать, что изобретение не подразумевается ограниченным конкретными раскрытыми формами, а наоборот подразумевается, что оно охватывает все модификации, альтернативные конструкции и эквиваленты, находящиеся в пределах сущности и объема изобретения.
[0077] В дополнение к различным вариантам осуществления, описанным в данном документе, следует понимать, что другие аналогичные варианты осуществления могут быть использованы, или модификации и дополнения могут быть выполнены в описанном варианте(ах) осуществления для выполнения той же или эквивалентной функции соответствующего варианта(ов) осуществления без отклонения от них. Кроме того, множество обрабатывающих интегральных схем или множество устройств могут совместно использовать действие одной или более функций, описанных в данном документе, и аналогично, хранилище может быть осуществлено среди множества устройств. Соответственно, изобретение не ограничено каким-либо одним вариантом осуществления, а скорее должно истолковываться широко, в соответствии с сущностью и объемом согласно приложенной формуле изобретения.
название | год | авторы | номер документа |
---|---|---|---|
УПРАВЛЯЕМОЕ ПОЛИТИКАМИ ДЕЛЕГИРОВАНИЕ УЧЕТНЫХ ДАННЫХ ДЛЯ ЕДИНОЙ РЕГИСТРАЦИИ В СЕТИ И ЗАЩИЩЕННОГО ДОСТУПА К СЕТЕВЫМ РЕСУРСАМ | 2007 |
|
RU2439692C2 |
ТЕХНОЛОГИИ ДЛЯ ОБЕСПЕЧЕНИЯ СЕТЕВОЙ БЕЗОПАСНОСТИ ЧЕРЕЗ ДИНАМИЧЕСКИ ВЫДЕЛЯЕМЫЕ УЧЕТНЫЕ ЗАПИСИ | 2015 |
|
RU2691211C2 |
БРОКЕР И ПРОКСИ ОБЕСПЕЧЕНИЯ БЕЗОПАСТНОСТИ ОБЛАЧНЫХ УСЛУГ | 2014 |
|
RU2679549C2 |
СОГЛАСОВАНИЕ ПОЛНОМОЧИЙ | 2005 |
|
RU2408069C2 |
ЗАЩИЩЕННОЕ И КОНФИДЕНЦИАЛЬНОЕ ХРАНЕНИЕ И ОБРАБОТКА РЕЗЕРВНЫХ КОПИЙ ДЛЯ ДОВЕРЕННЫХ СЕРВИСОВ ВЫЧИСЛЕНИЯ И ДАННЫХ | 2010 |
|
RU2531569C2 |
СИСТЕМА И СПОСОБ ПРЕДОСТАВЛЕНИЯ ПРАВ ДОСТУПА ПРИЛОЖЕНИЯМ К ФАЙЛАМ КОМПЬЮТЕРА | 2013 |
|
RU2546585C2 |
СПОСОБ И СИСТЕМА ОБМЕНА ИНФОРМАЦИЕЙ МЕЖДУ УСТРОЙСТВАМИ | 2022 |
|
RU2783261C1 |
СИСТЕМА ТЕЛЕМЕТРИИ ДЛЯ ОБЛАЧНОЙ СИСТЕМЫ СИНХРОНИЗАЦИИ | 2013 |
|
RU2648608C2 |
ЗАЩИЩЕННОЕ УПРАВЛЕНИЕ КЛЮЧАМИ | 2017 |
|
RU2750095C2 |
Система и способ предоставления контента пользователю | 2021 |
|
RU2786353C1 |
Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении безопасности передачи данных. Способ содержит этапы, на которых: обеспечивают посредством процессора временную метку синхронизации, которая соответствует последней синхронизации мандатов паролей между исходной службой и целевой службой; принимают хешированный набор измененных мандатов паролей, причем хешированный набор измененных мандатов паролей включает в себя только изменения, сделанные в отношении набора мандатов паролей в исходной службе с упомянутой последней синхронизации мандатов паролей; и экспортируют хешированный набор измененных мандатов паролей в целевую службу для использования при аутентификации идентификационной информации. 2 н. и 11 з.п. ф-лы, 8 ил.
1. Осуществляемый в вычислительном окружении способ синхронизации набора мандатов паролей между исходной службой и целевой службой, каковой набор мандатов паролей обеспечивает доступ к каждой из исходной службы и целевой службы, при этом способ содержит этапы, на которых: обеспечивают посредством процессора временную метку синхронизации, которая соответствует последней синхронизации мандатов паролей между исходной службой и целевой службой; принимают хешированный набор измененных мандатов паролей, причем хешированный набор измененных мандатов паролей включает в себя только изменения, сделанные в отношении набора мандатов паролей с упомянутой последней синхронизации мандатов паролей; и экспортируют хешированный набор измененных мандатов паролей в целевую службу для использования при аутентификации идентификационной информации.
2. Способ по п. 1, в котором хешированный набор измененных мандатов паролей вычисляется с помощью алгоритма первичного хеширования, при этом способ дополнительно содержит этап, на котором вторично хешируют хешированный набор измененных мандатов паролей в защищенные с помощью секрета данные с помощью алгоритма вторичного хеширования, который соответствует хешированному набору измененных мандатов паролей, для экспорта в целевую службу.
3. Способ по п. 2, в котором вторичное хеширование хешированного набора измененных мандатов паролей в защищенные с помощью секрета данные содержит этап, на котором используют случайную соль и множество итераций.
4. Способ по п. 1, в котором прием хешированного набора измененных мандатов паролей содержит этап, на котором запрашивают данные об изменениях из службы каталогов.
5. Способ по п. 4, дополнительно содержащий этап, на котором анализируют данные об изменениях с получением данных об изменениях паролей, содержащих хешированный набор измененных мандатов паролей.
6. Способ по п. 1, дополнительно содержащий этап, на котором принимают значение состояния в качестве реакции на экспорт хешированного набора измененных мандатов паролей, и если значение состояния не показывает успех, ставят хешированный набор измененных мандатов паролей в очередь для последующей попытки экспорта.
7. Способ по п. 1, дополнительно содержащий этап, на котором принимают хешированный набор измененных мандатов паролей в целевой службе, включая прием информации, которая идентифицирует, какие один или более алгоритмов вторичного хеширования использовать при аутентификации идентификационной информации, соответствующей хешированному набору измененных мандатов паролей.
8. Способ по п. 1, дополнительно содержащий этапы, на которых: принимают, посредством целевой службы, хешированный набор измененных мандатов паролей; и дополнительно хешируют хешированный набор измененных мандатов паролей с помощью по меньшей мере одной дополнительной хеш-функции в целевой службе для сохранения защищенных с помощью секрета данных.
9. Машиночитаемый носитель информации, имеющий машиноисполняемые инструкции, которые при их исполнении одним или более процессорами предписывают одному или более процессорам выполнять операции, содержащие: хранение в целевой службе множества наборов данных, содержащих защищенные данные паролей, соответствующие незашифрованным паролям, причем защищенные данные паролей ассоциированы с соответственной идентификационной информацией, при этом защищенные данные паролей вычисляются из незашифрованного пароля посредством комбинирования по меньшей мере двух алгоритмов хеширования и синхронизируются с целевой службой; прием в целевой службе попытки логического входа, включающей в себя мандат, соответствующий идентификационной информации и паролю; вычисление первого значения на основе выполнения по меньшей мере одного алгоритма хеширования в отношении пароля; и сравнение первого значения с защищенными данными паролей, ассоциированными с идентификационной информацией, для аутентификации идентификационной информации.
10. Машиночитаемый носитель информации по п. 9, имеющий дополнительные машиноисполняемые инструкции, которые при их исполнении одним или более процессорами предписывают одному или более процессорам выполнять операцию, содержащую замену данных, ассоциированных с идентификационной информацией, другими данными, вычисленными исходя из по меньшей мере одного другого алгоритма хеширования.
11. Машиночитаемый носитель информации по п. 9, имеющий дополнительные машиноисполняемые инструкции, которые при их исполнении одним или более процессорами предписывают одному или более процессорам выполнять операцию, содержащую добавление новых данных в привязке к идентификационной информации, причем эти новые данные вычисляются исходя из по меньшей мере одного другого алгоритма хеширования.
12. Машиночитаемый носитель информации по п. 9, имеющий дополнительные машиноисполняемые инструкции, которые при их исполнении одним или более процессорами предписывают одному или более процессорам выполнять операцию, содержащую хранение текущих данных и истории, содержащей по меньшей мере один предыдущий набор данных, в привязке к идентификационной информации, при этом сравнение первого значения с защищенными данными паролей, ассоциированными с идентификационной информацией, для аутентификации идентификационной информацией содержит использование истории.
13. Машиночитаемый носитель информации по п. 9, имеющий дополнительные машиноисполняемые инструкции, которые при их исполнении одним или более процессорами предписывают одному или более процессорам выполнять операцию, содержащую прием в целевой службе указания того, что локальная служба каталогов использует другой алгоритм первичного хеширования.
Способ приготовления мыла | 1923 |
|
SU2004A1 |
Устройство для гидравлической защиты погружного маслозаполненного электродвигателя | 1987 |
|
SU1429228A1 |
US 6986038 B1, 10.01.2006. |
Авторы
Даты
2018-10-29—Публикация
2014-04-30—Подача