birmaga.ru
добавить свой файл

1
Приложение 7

АСС: Форматы контроля доступа
(норматив)

Настоящий стандарт определяет и регистрирует определения формата контроля доступа, приведенные ниже и присваивает следующие идентификаторы объектов:
prompt-1 {Z39-50-accessControl 1}

des-1 {Z39-50-accessControl 2}

krb 1 {Z39 50 accessControl 3}
Форматы контроля доступа определены для использования в числе параметров “требования к безопасности” (securityChallenge) и “ответ на требования к безопасности” (securityChallengeResponse) запроса на управление доступом (AccessControlRequest) и ответ на [запрос] на управление доступом (AccessControlResponse) APDU, а также идентификатор аутентичности (idAuthentication) запроса на инициализацию APDU.
AccessControlFormat-prompt-1 (Формат-контроля-доступа вызов 1)

{Z39-50-accessControl prompt-1 (1)} DEFINITIONS ::=

BEGIN

IMPORTS InternationalString, DiagRec FROM Z39-50-APDU-1995;

--

PromptObject ::= CHOICE{

challenge [1] IMPLICIT Challenge,

response [2] IMPLICIT Response}
Challenge ::= SEQUENCE OF SEQUENCE {

promptId [1] PromptId,

-- Target supplies a number (for an enumerated prompt) or string (for a non

-- -enumerated prompt), for each prompt, and the origin returns it in response, for

-- this prompt, so target may correlate the prompt response with the prompt.
В каждом случае адресат обеспечивает номер (для номерованных вызовов ) или строку (для не номерованных вызовов), и источник возвращает их в ответ на данный вызов таким образом адресат может обеспечить корреляцию вызова и ответа на вызов.
defaultResponse [2] IMPLICIT InternationalString OPTIONAL,

promptInfo [3] CHOICE{

character [1] IMPLICIT InternationalString,

encrypted [2] IMPLICIT Encryption} OPTIONAL,

-- Information corresponding to an enumerated prompt. For example if 'type', within


-- PromptId, is 'copyright', then promptInfo may contain a copyright statement.

Информация соответствует номерованному вызову. Например, если “тип” в пределах идентификатора вызова (promptInfo)   “копирайт”, информация о вызове - сведения о копирайте.
regExpr [4] IMPLICIT InternationalString OPTIONAL,

   A regular expression that promptResponse should match. See IEEE 1003.2

-- Volume 1, Section 2.8 "Regular Expression Notation." For example if promptId

-- is "Year of publication," regExpr might be "19[89][0 9]|20[0 9][0 9]".

   Формула (regular expression), которой должен соответствовать ответ на вызов (promptResponse). См. IEEE 1003.2 Том 1, раздел 2.8 обозначение формул”. Например, если идентификатор действия “год публикации”, то формула может быть "19[89][0 9]|20[0 9][0 9]".
responseRequired [5] IMPLICIT NULL OPTIONAL,

allowedValues [6] IMPLICIT SEQUENCE OF InternationalString OPTIONAL,

   e.g. promptId="Desired color"; allowed = 'red', 'blue','Green'.

shouldSave [7] IMPLICIT NULL OPTIONAL,

   Target recommends that origin save the data that it prompts from the

-- user corresponding to this prompt, because it is likely to be requested again (so

-- origin might not have to prompt the user next time).

   Адресат рекомендует чтобы источник сохранил данные, которые он затребовал у пользователя в соответствии с данным вызовом, так как они скорее всего потребуются снова (таким образом источник может в следующий раз не давать запрос пользователю).

dataType [8] IMPLICIT INTEGER{

integer (1),

date (2),

float (3),

alphaNumeric (4),

url-urn (5),

boolean (6)} OPTIONAL,

-- Target telling origin type of data it wants. E.g., if "date" is specified,


-- presumably the origin will try to prompt something "date like" from the user.

Адресат сообщает источнику тип данных, которые он требует. Например, если указана дата, то можно предположить, что источник попытается затребовать что-либо “подобное дате” у пользователя.

diagnostic [9] IMPLICIT EXTERNAL OPTIONAL

   Intended for repeat requests when there is an error the origin

-- should report to the user from previous attempt.

}

Предназначено для повторения запросов в тех случаях, когда имеется ошибка, о которой источник должен доложить пользователю после предыдущей попытки.
Response ::= SEQUENCE OF SEQUENCE {

promptId [1] PromptId,

-- Corresponds to a prompt in the challenge, or may be unprompted, for

-- example "newPassword." If unprompted, should be "enumerated."

-- If this responds to a non-enumerated prompt, then nonEnumeratedPrompt

-- should contain the prompt string from the challenge.
Идентификатор запроса должен соответствовать запросу в вызове , или же может быть не запрошенным, например, “новый пароль”. В случае если запроса нет, [идентификатор] должен быть “номерованным”. Если это соответствует не номерованному вызову, то в обращении должна содержаться строка запроса.
promptResponse [2] CHOICE{

string [1] IMPLICIT InternationalString,

accept [2] IMPLICIT BOOLEAN,

acknowledge [3] IMPLICIT NULL,

diagnostic [4] DiagRec,

encrypted [5] IMPLICIT Encryption}}

PromptId ::= CHOICE{

enummeratedPrompt [1] IMPLICIT SEQUENCE{

type [1] IMPLICIT INTEGER{

groupId (0),

userId (1),

password (2),

newPassword (3),

copyright (4),
-- When type on Challenge is 'copyright', promptInfo has text of

-- copyright message to be displayed verbatim to the user. If


-- promptResponse indicates 'acceptance', this indicates the user has been

-- shown, and accepted, the terms of the copyright. This is not intended

-- to be legally binding, but provides a good-faith attempt on

-- the part of the target to inform the user of the copyright.
Когда типом вызова является “копирайт”, информация о вызове (promptInfo) содержит текст сведений о копирайте, который может быть словесно представлен пользователю. Ответ на вызов (promptResponse) [содержащий выражение] “принято” указывает на то, что информация просмотрена пользователем и принята им как сведения о копирайте. Этот [ответ] не является официальной установкой, однако это попытка адресата с весьма вероятным успехом проинформировать пользоваетля о копирайте.
sessionId (5)},

suggestedString [2] IMPLICIT InternationalString OPTIONAL},

nonEnumeratedPrompt [2] IMPLICIT InternationalString}
Encryption ::= SEQUENCE{

cryptType [1] IMPLICIT OCTET STRING OPTIONAL,

credential [2] IMPLICIT OCTET STRING OPTIONAL,

  random number, SALT, or other factor

data [3] IMPLICIT OCTET STRING}
END
AccessControlFormat-des-1

{Z39-50-accessControlFormat des-1 (2)} DEFINITIONS ::=

BEGIN

DES-RN-Object ::= CHOICE {

challenge [1] IMPLICIT DRNType,

response [2] IMPLICIT DRNType}

DRNType ::= SEQUENCE{

userId [1] IMPLICIT OCTET STRING OPTIONAL,

salt [2] IMPLICIT OCTET STRING OPTIONAL,

randomNumber [3] IMPLICIT OCTET STRING}

END
AccessControlFormat krb 1

{Z39 50 accessControlFormat krb 1 (3)} DEFINITIONS ::=

BEGIN

IMPORTS InternationalString FROM Z39-50-APDU-1995;
KRBObject ::= CHOICE {

challenge [1] IMPLICIT KRBRequest,


response [2] IMPLICIT KRBResponse}

KRBRequest ::= SEQUENCE{

service [1] IMPLICIT InternationalString,

instance [2] IMPLICIT InternationalString OPTIONAL,

realm [3] IMPLICIT InternationalString OPTIONAL}

   target requests a ticket for the given service, instance, and realm

   источник запрашивает разрешение для данного сервиса, случая и области

KRBResponse ::= SEQUENCE{

userid [1] IMPLICIT InternationalString OPTIONAL,

ticket [2] IMPLICIT OCTET STRING}

   origin responds with a ticket for the requested service

END