Операции DirectoryBind и DirectoryUnbind, определенные в 8.1 и 8.2 соответственно, используются АПС в начале и конце конкретного периода обращения к справочнику.
8.1 Операция "связка" справочника
8.1.1 Синтаксис операции "связка"
Операция DirectoryBind используется в начале периода обращения к справочнику.
directoryBind OPERATION : : = { | ||||||||||||
ARGUMENT | directoryBindArgument | |||||||||||
RESULT | directoryBindResult | |||||||||||
ERROR | directoryBindError } | |||||||||||
DirectoryBindArgument | : : = SET { | |||||||||||
credentials | [0] | Credentials OPTIONAL, | ||||||||||
versions | [1] | Versione DEFAULT {v1}} | ||||||||||
Credentiale | : : = CHOICE { | |||||||||||
simple | [0] | SimpleCredentials, | ||||||||||
strong | [1] | StrongCredentials, | ||||||||||
externalProcedure | [2] | EXTERNAL } | ||||||||||
SimpleCredentiales | : : = | SEQUENCE { | ||||||||||
validity | [1] SET { | |||||||||||
time1 | [0] | UTCTime OPTIONAL, | ||||||||||
time2 | [1] | UTCTime OPTIONAL, | ||||||||||
random1 | [2] | BIT STRING OPTIONAL, | ||||||||||
random2 | [3] | BIT STRING OPTIONAL } OPTIONAL, | ||||||||||
password | [2] CHOICE { | |||||||||||
unprotected | OCTET STRING, | |||||||||||
StrongCredentials | : : = | SET { | ||||||||||
certification-path | [0] | CertificationPath OPTIONAL, | ||||||||||
bind-token | [1] | Token, | ||||||||||
name | [2] | DistinguishedName OPTIONAL } | ||||||||||
Token : : = | SIGNED { SEQUENCE { | |||||||||||
algorithm | [0] | Algorithmldentifier, | ||||||||||
name | [1] | DistinguishedName, | ||||||||||
time | [2] | UTCTime, | ||||||||||
random | [3] | BIT STRING }} | ||||||||||
Versions : : = BIT STRING {v1(0)} | ||||||||||||
DirectoryBindResult : : = | DirectoryBindArgument | |||||||||||
directoryBindError ERROR | : : = | { | ||||||||||
PARAMETER SET ( | ||||||||||||
versions | [0] | Versions DEFAULT (v1), | ||||||||||
error | CHOICE { | |||||||||||
serviceError | [1] | ServiceProblem, | ||||||||||
securityError | [2] | SecurityProblem }}} |
8.1.2 Аргументы операции "связка" справочника
Аргумент credentials в DirectoryBindArgument позволяет справочнику устанавливать идентичность пользователя. Удостоверения личности могут быть simple, strong или внешне определяемыми (externalProcedure), как описано в ГОСТ Р ИСО/МЭК 9594-8.
При использовании параметра simple он содержит name (всегда различительное имя объекта) и, факультативно, параметры validity и password. Он обеспечивает ограниченную степень защиты. Параметр password может быть unprotected или protected (либо Защита1, либо Защита2), как описано в разделе 5 ГОСТ Р ИСО/МЭК 9594-8. Параметр validity обеспечивает аргументы time1, time2, random1 и random2, которые принимают свои значения в соответствии с двусторонним соглашением и могут быть использованы для обнаружения повторов. В некоторых случаях защищенный пароль может быть проверен объектом, который узнает пароль только после локальной регенерации защиты своей собственной копии пароля и сравнения результата со значением в аргументе "связка" (password). В других случаях возможно непосредственное сравнение.
При использовании параметра strong он содержит bind-token и, факультативно, certification-path (сертификат и последовательность пересечений сертификатов и уполномоченных по сертификации, как определено в ГОСТ Р ИСО/МЭК 9594-8) и name запросчика. Это позволяет справочнику подтвердить идентичность запросчика, устанавливающего ассоциацию, и наоборот.
Аргументы полномочий связки используются следующим образом: algorithm - это идентификатор алгоритма, применяемого для подписания такой информации; name - это имя предполагаемого получателя. Параметр time содержит время существования полномочий. Число random должно быть различным для каждого полномочия, и может использоваться получателем для обнаружения повторов.
При использовании externalProcedure семантика, используемая схемой аутентификации, не входит в предмет рассмотрения настоящего стандарта.
Аргумент version в DirectoryBindArgument определяет версии услуг, в предоставлении которых АПС готов участвовать. Для настоящей версии протокола его значение должно быть равно v1(0).
Переход к будущим версиям справочника должен быть упрощен следующим:
а) любые элементы DirectoryBindArgument, отличные от определенных в настоящем стандарте, должны быть приняты и проигнорированы;
b) дополнительные факультативные функции для поименованных битов не определенного DirectoryBindArgument (например, версии) должны быть приняты и проигнорированы.
8.1.3 Результаты операции "связка"