База ГОСТовallgosts.ru » 35. ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ. МАШИНЫ КОНТОРСКИЕ » 35.240. Применение информационных технологий

ГОСТ Р ИСО/МЭК 7816-7-2011 Карты идентификационные. Карты на интегральных схемах с контактами. Часть 7. Межотраслевые команды языка структурированных запросов для карт (SCQL)

Обозначение: ГОСТ Р ИСО/МЭК 7816-7-2011
Наименование: Карты идентификационные. Карты на интегральных схемах с контактами. Часть 7. Межотраслевые команды языка структурированных запросов для карт (SCQL)
Статус: Действует
Дата введения: 01/01/2013
Дата отмены: -
Заменен на: -
Код ОКС: 35.240.15
Скачать PDF: ГОСТ Р ИСО/МЭК 7816-7-2011 Карты идентификационные. Карты на интегральных схемах с контактами. Часть 7. Межотраслевые команды языка структурированных запросов для карт (SCQL).pdf
Скачать Word:ГОСТ Р ИСО/МЭК 7816-7-2011 Карты идентификационные. Карты на интегральных схемах с контактами. Часть 7. Межотраслевые команды языка структурированных запросов для карт (SCQL).doc

Текст ГОСТ Р ИСО/МЭК 7816-7-2011 Карты идентификационные. Карты на интегральных схемах с контактами. Часть 7. Межотраслевые команды языка структурированных запросов для карт (SCQL)



ФЕДЕРАЛЬНОЕ АГЕНТСТВО

ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ

НАЦИОНАЛЬНЫЙ

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ

ГОСТ Р исо/мэк

7816-7 —

2011

Карты идентификационные

КАРТЫ НА ИНТЕГРАЛЬНЫХ СХЕМАХ

С КОНТАКТАМИ

Часть 7

Межотраслевые команды языка структурированных

запросов для карт (SCQL)

ISO/IEC 7816-7:1999

Identification cards — Integrated circuit(s) cards with contacts —

Part 7:

Interindustry commands for Structured Card Query Language (SCQL)

(IDT)

ГОСТ Р ИСО/МЭК 7816-7—2011

Предисловие

Цели и принципы стандартизации в Российской Федерации установлены Федеральным законом от 27 декабря 2002 г. N9184-ФЗ «О техническом регулировании», а правила применения национальных стандартов Российской Федерации — ГОСТ Р1.0—2004 «Стандартизация в Российской Федерации. Основные положения»

Сведения о стандарте

1    ПОДГОТОВЛЕН Федеральным государственным унитарным предприятием «всероссийский научно-исследовательский институт стандартизации и сертификации в машиностроении» (ВНИИНМАШ) и Техническим комитетом по стандартизации ТК 22 «Информационные технологии» на основе собственногоаутен-тичного перевода на русский язык стандарта, указанного в пункте 4

2    ВНЕСЕН Техническим комитетом по стандартизации ТК 22 «Информационные технологии»

ЗУТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 13 декабря 2011 г. Nq 1010-ст

4    Настоящий стандарт идентичен международному стандарту ИСО/МЭК 7816-7:1999 «Карты идентификационные. Карты на интегральных схемах с контактами. Часть 7. Межотраслевые команды языка структурированных запросов для карт ;SCQL)» (ISO/IEC 7816-7:1999 «Identification cards — Integrated circuit(s) cards with contacts— Part 7: Interirdustry commands for Structured Card Query Language (SCQL)»).

При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты Российской Федерации, сведения о которых приведены в дополнительном приложении ДА

5    ВВЕДЕН ВПЕРВЫЕ

6    Некоторые положения международного стандарта, указанного в пункте 4. могут являться объектом патентных прав. Международная организация по стандартизации (ИСО) и Международная электротехническая комиссия (МЭК) не несут ответственности за идентификацию подобных патентных прав

Информация об изменениях* настоящему стандарту публикуется е ежегодно издаваемом информационном указателе «Национальные стандарты». а текст изменений и поправок — в ежемесячно издаваемом информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячно издаваемом информационном указателе «Национальные стандарты». Соответствующая информация. уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет

© Стандартинформ. 2013

Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен в качестве официальногоиздания без разрешения Федерального агентства по техническому регулированию и метрологии

ГОСТ Р ИСО/МЭК 7816-7—2011

Содержание

1    Область применения....................................... 1

2    Нормативные ссылки....................................... 1

3    Термины и определения...................................... 1

4    Обозначения и сокращения.................................... 2

5    Понятие баз данных SCQL.................................... 2

5.1    База данных SCQL...................................... 2

5.2    Таблицы SCQL......................................... 3

5.3    Представления SCQL.................................... 4

5.4    Системные таблицы SCQL и словари.............................. 5

5.5    SCQL профили пользователя.................................. 7

6    Команды, связанные с SCQL................................... 7

6.1    Общие положения...................................... 7

6.2    Группирование и кодирование команд............................. 8

6.3    Система обозначений и специальное кодирование....................... 9

6.4    Байты состояния........................................ 10

6.5    Кодирование идентификаторов................................. 11

6.6    Атрибуты секретности таблиц, представлений и пользователей................. 12

6.7    Соединение идентификаторов пользователей с операциями INSERT и UPDATE........ 12

7    Операции с базами данных.................................... 12

7.1    СОЗДАТЬ ТАБЛИЦУ (CREATE TABLE)............................. 12

7.2    СОЗДАТЬ ПРЕДСТАВЛЕНИЕ (CREATE VIEW)......................... 13

7.3    СОЗДАТЬ СЛОВАРЬ (CREATE DICTIONARY)......................... 14

7.4    УДАЛИТЬ ТАБЛИЦУ (DROP TABLE).............................. 16

7.5    УДАЛИТЬ ПРЕДСТАВЛЕНИЕ (DROP VIEW).......................... 17

7.6    НАЗНАЧИТЬ ПРИВИЛЕГИЮ (GRANT)............................. 17

7.7    ОТМЕНИТЬ ПРИВИЛЕГИЮ (REVOKE)............................. 18

7.8    ОБЪЯВИТЬ КУРСОР (DECLARE CURSOR).......................... 19

7.9    ОТКРЫТЬ (OPEN)....................................... 20

7.10    ПЕРЕМЕЩЕНИЕ (NEXT)................................... 21

7.11    ВЫБОРКА (FETCH)..................................... 22

7.12    ВЫБОРКА СЛЕДУЮЩЕЙ СТРОКИ (FETCH NEXT)...................... 22

7.13    ВСТАВИТЬ (INSERT)..................................... 23

7.14    ОБНОВИТЬ (UPDATE).................................... 24

7.15    УДАЛИТЬ (DELETE)..................................... 25

8    Управление транзакциями..................................... 25

8.1    Общие понятия........................................ 25

8.2    Операции транзакции..................................... 26

9    Управление пользователями................................... 27

9.1    Основные понятия....................................... 27

9.2    Пользовательские операции.................................. 28

Приложение А (справочное) Использование SCQL операций..................... 31

Приложение ДА (справочное) Сведения о соответствии ссылочных международных стандартов

ссылочным национальным стандартам Российской Федерации ....    33

ill

ГОСТ Р ИСО/МЭК 7816-7—2011

Введение

Настоящий стандарт — одш из серии стандартов, описывающих параметры карт на интегральных схемах с контактами и их применение в рамках обмена информацией.

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

ИСО/МЭК 7816-7:1999 был подготовлен подкомитетом № 17 «Карты и идентификация личности» совместного Технического комитета Ns 1 ИСО/МЭК «Информационные технологии».

Во время подготовки настоящего стандарта была собрана информация относительно соответствующих патентов, от которых могло зависеть применение данного стандарта. Соответствующие патенты были идентифицированы во Франции. Обладателем патента является Gemplus. Однако ИСО не может дать официальную или полную информацию о данных, действительности или области применения патента или об аналогичных правах.

Обладатель данного патента заявил о предоставлении лицензии в приемлемые сроки, чтобы допустить применение настоящего стандарта на взаимовыгодных условиях.

Информацию можно получить по адресу:

GEMPLUS

В.Р. 100

13881 GEMENOS CEDEX

FRANCE

IV

ГОСТ Р ИСО/МЭК 7816-7—2011

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Карты идентификационные КАРТЫ НА ИНТЕГРАЛЬНЫХ СХЕМАХ С КОНТАКТАМИ

Часть 7

Межотраслевые команды языка структурированных запросов для карт (SCQL)

Identification cards. Integrated circuits) cards with contacts. Part 7.

Interindustry commands for Structured Card Query Language (SCQL)

Дата введения 2013 — 01—01

1    Область применения

Настоящий стандарт устанавливает:

•    понятие баз данных SCQL (SCQL — язык структурированных запросов для карты, основанный на SQL. см. ИСО 9075);

•    соответствующие межотраслевые расширенные команды.

2    Нормативные ссылки

В настоящем стандарте использованы нормативные ссылки на следующие стандарты1’;

ИСО/МЭК 9075:1992*’ Информационные технологии. Языки баз данных. SQL2 (язык структурированных запросов) (ISO/IEC 9075:1992. Information technology — Database languages — SQL2)

ИСО/МЭК 78f6-4:199531 Карты идентификационные. Карты на интегральных схемахс контактами. Часть 4. Межотраслевые команды для обмена (ISO/IEC 7816-4:1995. Information technology — Identification cards — Integrated ctrcuit(s) cards with contacts — Part 4: Interindustry commands for interchange)

ИСО/МЭК 7816-6:1996'" Каргы идентификационные. Карты на интегральных схемахсконтактами. Частьб. Элементы данных для межотраслевого обмена (ISO/IEC 7816-6:1996, Identification cards—Integrated circuits) cards with contacts — Part 6: Interindustry data elements)

3    Термины и определения

В настоящем стандарте применены следующие термины с соответствующими определениями:

3.1    базовый пользователь базой данных (database basic user): SCQL пользователь без присущих прав.

3.2    файл базы данных (database file): Структурированная совокупность объектов базы данных (таблицы. представления, словари), представляющая содержимое базы данных.

3.3    владелец объекта базы данных (database object owner): Пользователь SCQL со специальным правом создавать и удалять объекты и управлять привилегиями на эти объекты.

3.4    владелец базы данных (database owner): Первичный пользователь SCQL. который управляет объектами и пользователями базыданных.

3.5    словарь (dictionary): Представление на системную таблицу.

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

31 Отменен. Действуют ИСО/МЭК 9075-1:2008. ИСО/МЭК 9075-2:2006. ИСО/МЭК 9075-3:2008. ИСО/МЭК 9075-4:2008. ИСО/МЭК 9075-9:2008; ИСО/МЭК 9075-10:2008. ИСО/МЭК 9075-11:2008. ИСО/МЭК9075-13:2008. ИСО/МЭК 9075-14:2008.

31 Отменен. Действует ИСО/МЗК 7816-4:2013.

41 Отменен. Действует ИСО/МЗК 7816-6:2004.

Издание официальное

1

ГОСТ Р ИСО/МЭК 7816-7—2011

3.6    системная таблица {system table): Таблица, обслуживаемая картой, для управления структурой базы данных и доступом к базе данных.

3.7    таблица (table): Объект базы данных с уникальным именем и структурированный в столбцы и строки.

3.8    представление (view): Логическое подмножество таблицы.

4    Обозначения и сокращения

В настоящем стандарте применяют следующие сокращения:

APDU — блок данных прикладного протокола (Application protocol data unit);

API — интерфейс программирования приложений (Application programming interface);

DB — база данных (Database);

DB_0 — владелец базы данных (Database owner):

DBBU—базовый пользователь базой данных (Database basic user);

DBF—файл базы данных (Database tile);

DBOO — владелец объекта базы данных (Database object owner);

DF — назначенный файл (Dedicated file);

DO—информационный объект (Data object);

ICC — карта на интегральной(ых) схеме(ах) (Integrated circuit(s)card);

IFD—интерфейс (устройство сопряжения) (Interface device);

MF — главный файл (Masterfile);

RFU—зарезервировано для будущего использования (Reserved for future use);

SCOL — язык структурированных запросов для карты (Structured card query language);

SOL — язык структурированных запросов (Structured query language);

TLV — тег. длина, значение (Tag. length, value).

5    Понятие баз данных SCQL

5.1 База данных SCQL

База данных в карте согласно настоящему стандарту называется базой данных SCQL. так как команды для реализации доступа базируются на функциональных возможностях SQL (см. ИСО 9075) и кодируются в зависимости от принципов межотраслевых команд, как определено в ИСО/МЭК 7816-4. Сама база данных является структурированной совокупностью объектов базы данных, называемой файлом базы данных DBF. Ниже назначенного файла DF должно быть не более одного файла базы данных DBF. который становится доступным после выбора соответствующего назначенного файла DF. База данных также может Сы I ь мй1 шсриди I венни < |ри кры и яма к i > швииму фа Ai ty MF.

На рисунке 1 показан пример реализации базы данных в карте.

Рисунок 1 — Приложение с базой данных в мультиприкладной карте (пример)

2

ГОСТ Р ИСО/МЭК 7816-7—2011

Система приложений может взаимодействовать с базой данных SQL так же. как и с базой данных SCQL. используй тот же SQL-API (4PI — Application programming interface, интерфейс программирования приложений). Таким образом, карта, поддерживающая базу данных SCQL, может быть представлена час-тъю среды распределенной базы данных SQL. На рисунке 2 показана типичная SQL конфигурация с картой. интегрированной в системное проектирование.

Рисунок 2 — База данных SCQL как часть среды распределенной базы данных SQL (пример)

5.2 Таблицы SCQL

База данных SCQL содержит объекты, называемые таблицами, представлениями и словарями. Каждый объект для ссылки на него может быть снабжен уникальным идентификатором.

Таблица является структурированным информационным объектом с уникальным именем внутри базы данных. Она состоит из поименованных столбцов и строк. Количество строк может быть концептуально безграничным (т. е. ограничивается только доступным пространством памяти на карте) или ограниченным. Пример таблицы и ее главных характеристик показан на рисунке 3.

Строке 1 Строе 2 Строка 8 Харжтерислам:

•    Ишглвмца: умжальнод матаум в еииаопш;

•    Числе таблиц; стандартом не рвта (актировано;

•    Ишстглбцаатабгааакуииапшаа, мосмиумВсишолоас

•    Числе столб*» внутри таблицы: 1-16;

•    Маюашпьк» ест настав строе на определи» или фтшауоашюи; - Реяор стола*; О-Лбавмтт, вагина уймам;

♦ТИп данных cronOt*: триад.

ИНЯТНвПАМ

Иня столбца 1

Имя столбца 2

Имя столбце 3

Рисунок 3 — "аблица SCQL (пример) и ее главные характеристики

3

ГОСТ Р ИСО/МЭК 7816-7—2011

После создания таблицы ее структура постоянна, т. е. ни один из существующих столбцов не может быть удален, а также новые столбцы не могут быть вставлены. С таблицами разрешены следующие действия:

•    чтение (выделение);

•    вставка;

-    обновление:

-    удаление.

5.3 Представления SCQL

Представление является логическим подмножеством таблицы, которое определяет доступную часть таблицы. Различают два типа представлений:

•    представление (см. рисунок 4), которое по определению фиксирует доступные столбцы, называется в данном контексте статическим представлением и

•    представление (см. рисунок 5). которое ограничивает доступ к тем строкам, содержание которых совпадает с определенными условиями (например, к строкам, значение которых больше «20»), называется в данном контексте динамическим представлением.

Рисунок 4 — Статическое представление SCQL (пример)

4

ГОСТ Р ИСО/МЭК 7816-7—2011

Рисунок 5 — Динамическое представление SCQL (пример)

Возможны также комбинации статического и динамического представлений в одном и том же определении представления.

Так же. как и таблица, представление имеет уникальное имя в базе данных SCQL. Несколько представлений могут быть определены для одной и той же таблицы.

С представлениями могут бьть разрешены следующие действия:

•    чтение (выделение);

•    обновление.

5.4 Системные таблицы SCQL и словари

Системные таблицы поддерживаются картой и содержат информацию, необходимую для управления структурой базы данных и доступом. Системных таблиц три:

•    таблица, описывающая объекты (имя *0):

•    таблица, описывающая пользователей (имя *U);

- таблица, описывающая приэилегии (имя *Р).

Таблица, описывающая объекты, содержит информацию о таблицах и представлениях, хранящихся в базе данных.

Таблица, описывающая пользователей, содержит информацию о пользователях, которые имеют доступ к базе данных.

Таблица, описывающая привилегии, содержит информацию о привилегиях над таблицами и представлениями в базе данных. Привилегии описывают, какие таблицы и какие представления могут быть доступны тем или иным пользователям и какие действия могут быть разрешены этим пользователям с соответствующей таблицей или представлением.

На рисунках 6—8 показаны системные таблицы с их обязательными столбцами.

Для доступа к информации, содержащейся в системных таблицах, могут быть созданы представления на эти системные таблицы. Представление на системную таблицу называется словарем SCOL. Единственное действие со словарем, которое разрешено пользователю, — это чтение (выделение).

5

ГОСТ Р ИСО/МЭК 7816-7—2011

*0 (пвлш|», опмеышиячвя обгеггы)

OBJ НАМ

OBJOWN

ОВЛУР

06JDE8

саюрт

Ими объекта (иштаблиин

ИЛМЛрВАСШ»*

ланицуиишаг

«0

Владелец ТНп    Доссриттор Огня* объекте

обмят    вбъжтя    объест    (информационные

(идектфк- (Т-таблиц*, (т*ш    объекты, вмаанньав

пгерполы-    V-rpapcrae-    ошлвци    езищ1ггеА,нагфижф

шмя)    ланш)    • случае    Я» «утнтфыации)

тоблщы,

ОГффДОМ»

прайолштант

•случае

гфоастшлеию)

Примечание • Данная а«памкитаФ№К1кжягауиф1а1ъ

долопнитотшм столбцы, свювмныее рвшшмцмаа.

Рисунок 6 — Таблица, описывающая объекты

*U (таблица, оливывягаиют польэомпелай)

USB6D

USRPRO

U8ROWN

U8R0PT

1

Идентификатор ПОТЪ-жматаля

Уникальный)

|

Г^мфипь

папьаомгпт:

Ов_0 ■ владелец D6

DBOO ■ яадвлец объекта DB

06 BU «бажшмй поль*и*т«ш 06

идатшршеггор (полмоастя) епадмыуталмои* теля {лицо, шторов Приамы миг мдактыфнкятф польэоеиталн)

1

Опции

помоввпля

(информационные

объекты,

вакимкмв

еааиртаа)

Применение-Данная аклмммалтаббицаъаввтоодеракп»

дополнительны» столбцы, таюенныее реилииженэй.

Рисунок 7 — Таблица, описывающая пользователей

вР{т0пиц|' елмамшиомря лрияшшми)

OBJ НАМ

0BJU8R

USftFW

OBJOWN

1

Имя таблицы, имя представления ипншвютоакря

щвнтификвтор (полиюавтат) пол моашапя обмятом 5лтф, которому федэстшлеиа право)

Гфмшямгаи

Идентфшятср

(птмояяталл)

ВГ¥ЧЧЙПЫ|В

обмята (лиед, предоставляет» лраав)

П риыечаииа - Дания* системная таблице ыааагоздоипъ-допогаеггалыты» столбцы, сяюанндес ретичнай.

Рисунок 8 — Таблица, описывающая привилегии

б

ГОСТ Р ИСО/МЭК 7816-7—2011

5.5 SCQL профили пользователя

SCQL профили пользователя характеризуются специальными полномочиями. Профиль пользователя приписывается идентификатору пользователя, находящемуся в таблице, описывающей пользователя. В таблице 1 показаны профили и приписываемые полномочия.

Таблица 1 — SCQL профили пользователя и приписываемые полномочия

Профиль

пользователя

Пользователь

Полномочие

DB.O

Владелец базы данных

Добавлять/удалять пользователей с профилем DBOO или DBBU.

Соэдание/удаление объектов (таблиц/пред-ставпвний).

Предоставление/огмена привилегий на собственные объекты.

Создание/удаление словарей с доступом ко всем строкам в системной таблице.

Доступ к объектам других владельцев согласно предоставленным привилегиям

DBOO

Владелец объекта базы данных

Добавлять/удалять пользователей с профилем DBBU.

Создание/удаление объектов (таблиц/пред-ставпвний).

Предостаеление/отмена привилегий на собственные объекты.

Создание/удаление словарей с доступом к строкам, в которых DBOO зарегистрирован как OBJOWN в ‘О. USROWN в *U или OBJOWN в *Р.

Доступ к объектам других владельцев согласно предоставленным привилегиям

DBBU

Базовый пользователь базой данных оо специальным идентификатором пользователя или обшим идентификатором пользователя PUBLIC

Доступ к объектам согласно предоставленным привилегиям

Примечание — Пользователь с профилем DB_0 может быть включен в таблицу, описывающую пользователя, только при инсталляции базы данных SCQL.

б Команды, связанные с SCQL

6.1 Общие положения

Язык структурированных запросов для карты (SCOL) базируется на функциональных возможностях стандартизированного языка структурированных запросов (SQL). Операторы SQL отображаются на операции SCQL внутри команды PERFORM SCOL OPERATION (ВЫПОЛНИТЬ SCQL ОПЕРАЦИЮ) (см. рисунок 9 и таблицу 2).

7

ГОСТ Р ИСО/МЭК 7816-7—2011

SQL оператор ->SCQ|_ операция

SQL

80.

SQL

80.

SQL

onaprrep

атрибут

<ПЖ

атрибут

стам

1* операции

CLA

INS

PI

P2

U

Ц»

Fwwrwter

Lp

I

Ц*

Lp

8С0ИЭЛЕИ<Ц»0

U

П|

1    C3MW ШЩуЦЧУ'ДШПОГИДИИаОГ.ШЯШСТуПрОМИЧВЙНУ сгр»суроД.

В сипу того, что анкете* и диицхя ниформнаюнимх объектов фиипуоинм. гаи нещины и кпвоствив злого не проостшлвны а садиромнм.

2    9QL слове не вяррфгст а псп* данных

3    Ест иесхагьео алевритов пушияотся. го рвжворясгаднбыть грвдсгвитон до их фупмфммм.

Рисунок 9 — Принцип отображения оператора SQL на SCQL операции

Обязательные параметры команды находятся всегда в последовательности, определенной в соответствующей командной таблице. Поэтому их тег не определен. Необязательные параметры представляют (если не указано иначе) в формате TLV.

Как и команда PERFORM S2QL OPERATION, две другие команды принадлежат к среде SCQL. но могут быть использованы также вне среды SCQL:

-    команда PERFORM TRANSACTION OPERATION (ВЫПОЛНИТЬ ОПЕРАЦИЮ ТРАНЗАКЦИИ) (см. рисунок 10) и

-    команда PERFORM USER OPERATION (ВЫПОЛНИТЬ ПОЛЬЗОВАТЕЛЬСКУЮ ОПЕРАЦИЮ) (см. рисунок 10).

6.2 Группирование и кодирование команд

Команды в SCQL могут быть сгруппированы, как показано на рисунке 10.

сядоетявиЕ    всем    PREBBtruaeR

CREATE VIEW    ССЯШПГ    CREATE USER

ЖОРЖЕ    ROLLBACK    DELETE USER

DROP VIEW

CREATE DICTIGNWW

GRANT

REVOKE

DECLARE CURSOR

OPEN

NEXT

FETCH

FETCH NEXT

INSERT

UPDATE

DELETE

Рисунок 10 — Команды в SCQL

8

ГОСТ Р ИСО/МЭК 7816-7—2011

Для команд, определенных в настоящем стандарте, коды команд и кодирование соответствующих операций показаны в таблице 2.

Таблица 2 — Коды команд и операций

INS-код

Смыслове* значение

■ю*

ВЫПОЛНИТЬ SCQL ОПЕРАЦИЮ Кодирование и смысловое значение Р2:

•ВО- = CREATE TABLE (СОЗДАТЬ ТАБЛИЦУ)

•8Г = CREATE VIEW (СОЗДАТЬ ПРЕДСТАВЛЕНИЕ)

•82' = CREATE DICTIONARY (СОЗДАТЬ СЛОВАРЬ)

’83' = DROP TABLE (УДАЛИТЬ ТАБЛИЦУ)

•84' = DROP VIEW (УДАЛИТЬ ПРЕДСТАВЛЕНИЕ)

•85' = GRANT (НАЗНАЧИТЬ ПРИВИЛЕГИЮ)

’86‘ = REVOKE (ОТМЕНИТЬ ПРИВИЛЕГИЮ)

•87' = DECLARE CURSOR (ОБЪЯВИТЬ КУРСОР)

88' = OPEN (ОТКРЫТЬ)

'89' = NEXT (ПЕРЕМЕЩЕНИЕ)

•8А = FETCH (ВЫБОРКА)

'8В' = FETCH NEXT (ВЫБОРКА СЛЕДУЮЩЕЙ СТРОКИ) ВС = INSERT (ВСТАВИТЬ)

80' = UPDATE (ОБНОВИТЬ)

•8Е' = DELETE (УДАЛИТЬ)

■12*

ВЫПОЛНИТЬ ОПЕРАЦИЮ ТРАНЗАКЦИИ Кодирование и смысловое значение Р2: •80' = BEGIN (НАЧАТЬ ТРАНЗАКЦИЮ)

"81= COMMIT (ЗАВЕРШИТЬ ТРАНЗАКЦИЮ) •82' = ROLLBACK (ОТКАТ ТРАНЗАКЦИИ)

•14'

ВЫПОЛНИТЬ ПОЛЬЗОВАТЕЛЬСКУЮ ОПЕРАЦИЮ Кодирование и смысловое значение Р2:

80' = PRESENT USER (ПРЕДСТАВИТЬ ПОЛЬЗОВАТЕЛЯ) •8V = CREATE USER (СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ)

•82' = DELETE USER (УДАЛИТЬ ПОЛЬЗОВАТЕЛЯ)

примеры использования и кодирования этих команд показаны в приложении А.

6.3 Система обозначений н специальное кодирование

В следующих подразделах нижеприведенная система обозначений используется для описания операторов SQL:

-    слова, написанные заглавными буквами, являются SQL словами (постоянные выражения языка

SQL);

•    П — необязательный;

-<...> — строка атрибута;

-    ::= — состоит из;

-1 — или;

•    * — все.

Для кодирования параметров используется следующая система обозначений:

. Lp — длина (кодированная в одном байте) последующего параметра;

•    строка параметра, состоящая из байтов с длиной Lp и смысловым значением, данным в <...>.

Для кодирования размера D (например, число столбцов или число условий) применяются следующие правила:

О ::= N.

где N — число последующих элементов, закодированное в одном байте.

9

ГОСТ Р ИСО/МЭК 7816-7—2011

или

D ::= Ln<N>.

где Ln = 01' (N закодировано в одном байте).

Элемент состоит из одного или нескольких последовательных параметров. Размер ноль кодируется в одном байте, установленном на 00'. Смысловое значение нулевого размера—это или все столбцы’, или ‘нет условий', в зависимости от команды.

Кодирование операторов сравнения в условиях поиска осуществляется согласно таблице 3.

Таблица 3 — Кодирование операторов сравнения

Оператор

сравнения

Кодирование

Значение

S

'3D'

Равно

<

•з С

Меньше

>

'ЗЕ‘

Больше

S

•4С

Меньше или равно

а

•47‘

Больше или равно

*

•23'

Не равно

6.4 байты состояния

Байты состояния SW1-SW2 ответа означают состояние обработки в карте. В таблице 4 показано общее смысловое содержание значзний SW1-SW2. определенных в настоящем стандарте. Для каждой команды или выполняемой операции соответствующий пункт предусматривает более детальное содержание.

Для целей настоящего стандарта даны более точные определения значений байтов состояния, установленных в ИСО/МЭК 7816-4.

Таблица 4 — Байты состояния

SW1-SW2

Определено е стандарте серии

ИСО/МЭК 7816 (часть)

Смысловое значение

Нормальная обработка

9000'

4

Команда выполнена успешно

eixx'

Л

Команда выполнено успешно, хм кодирует ниоло байтов

данных, которые должны быть получены с помощью команды GET

RESPONSE

Обработка с предупреждением

6202'

А

Достигнут конец таблицы

Ошибки выполнения

•6500'

4

Информация не предоставлена

'6581'

4

Отказ памяти (например, искаженная информация)

Ошибки, выявленные контролем

•6700'

4

Неправильная длина

Команда на разрешена

■6900'

4

Информация не предоставлена

'6982'

4

Состояние защиты неудовлетворительное

-6985'

4

Необходимые команды или операции ранее не выполнены

/Неправильные параметры

"6А00’

4

Информация не предоставлена

'6А80'

4

Некорректный(ые) параметр(ы) в поле данных

6А8Г

4

Операция не поддерживается

10

ГОСТ Р ИСО/МЭК 7816-7—2011

Окончание таблицы 4

SW1-SW2

Определено е стандарте серии

ИСО/МЭК 7816 (часть)

Смысловое значение

'6А84'

4

Области памяти не достаточно

'6А88'

7

Ссылочный объект не найден

6А89'

4

Объект уже существует

’вСхх*

4

Неправильная длина Le: SW2 указывает точную длину

6D00'

4

Не поддерживается код команды

6.5 Кодирование идентификаторов

Приняты следующие соглашения по кодированию идентификаторов:

«идентификатор» «заглавная буква» [«заглавная буква» | «одноразрядное число» | < >) «заглавная буква»A[B|C|D|E|F|G|H|l|J!K!L|M|N|0|P|Q|R!S|T1U|V[Wp<|Y|Z «одноразрядное число» ::=0|112|3(4|5|6|7|8|9 «имя таблицы» ::= «идентификатор, максимум 8 байтов»

«имя представления»«идентификатор, максимум 8 байтов »

«имя словаря» ::= «задаваемая часть имени слоеаря»«_»«0|11|Р»

«имя столбца» ::= «идентификатор, максимум 8 байтов »

« задаваемая часть имени словаря» ::= «идентификатор, максимум 8 байтов» | SYSTAB «user id"»

«individual id31» |

«group id3>» «разделитель» «individual id» |

«group id» «разделитель» «subgroup id* 41»

«разделитель» «indivdual id» |

<    group id » «разделитель» «звездочка» |

« group id» «разделитель» < subgroup id»

«разделитель» «звездочка» |

<    group id » «разделитель» «звездочка»

«разделитель» «звездочка»

<    group id» «идентификатор, максимум 8 байтоо>

« subgroup id»«идентификатор, максимум 8 байтов»

<    individual id»::= «идентификатор, максимум 8 байтов» | «special user idSl»

«разделитель» .

«звездочка» ::= *

«special user id»«держатель карты» | «любой пользователь»

«держатель карты»CHOLOER «любой пользователь» PUBLIC

CHOLOER—это общий идентификатор (пользователя) держателя карты. PUBLIC — это общий идентификатор пользователя для базоеого пользователя базой данных (см. таблицу 1).

Смысловое значение эвездсчки — «безразличное состояние», т. е. кодирование данной части не подвергается сравнению.

Для проверки идентификатора пользователя различают следующие случаи:

• если идентификатор пользователя индивидуальный, то он должен быть идентичен зарегистрированному идентификатору пользователе

’> Идентификатор пользователя.

31 Индивидуальный идентификатор.

31 Идентификатор группы.

41 Идентификатор подгруппы.

61 Специальный идентификатор пользователя.

11

ГОСТ Р ИСО/МЭК 7816-7—2011

•    если идентификатор пользователя состоит из идентификатора группы в комбинации с индивидуальным. то должны быть выполнены следующие шаги:

1)    проверить, зарегистрирован ли полный идентификатор пользователя;

2)    если нет. проверить, зарегистрирован пи < group id >.*;

•    если идентификатор пользователя состоит из идентификатора группы в комбинации с идентификатором подгруппы и индивидуальным, то должны быть выполнены следующие шаги:

a)    проверить, зарегистрирован ли полный идентификатор пользователя;

b)    если нет. проверить, зарегистрирован ли <group id >.«subgroup id».*:

c)    если нет. проверить, зарегистрирован ли < group id ».*.*.

Верификация идентификатора пользователя выполняется, если выполняется операция PRESENT USER, а также в ситуации, когда требуется управление доступом ктаблицам. представлениям и словарям (см. DECLARE CURSOR и INSERT).

Примечание — Механизм создания группы пользователей не является частью языка SQL.

6.6    Атрибуты секретности таблиц, представлений и пользователей Для атрибутов секретности приняты следующие соглашения:

«атрибуты секретности» :;= «информационный объект, связанный с защитой, как определено в других стандартах серии ИСО/МЭК 7816. например, для аутентификации или управления доступом»

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

Атрибуты секретности, закрепленные за пользователем, относятся к аутентификации пользователя.

6.7    Соединение идентификаторов пользователей с операциями INSERT и UPDATE

Если последний столбец таблицы называется USER (ПОЛЬЗОВАТЕЛЬ), то карта будет поддерживать регистрацию пользователя, производящего последнее изменение в таблице. Операция соединения состоит из вставки текущего идентификатора пользователя, установленного с помощью операции PRESENT USER, в столбец USER во время выполнения операции INSERT. Если выполняется операция UPDATE, то карта переписывает существующий идентификатор пользователя в столбце USER на текущий идентификатор пользователя.

7 Операции с базами данных

7.1    СОЗДАТЬ ТАБЛИЦУ (CREATE TABLE)

7.1.1    Определение и область применения

SCOL операция CREATE TABLE задает таблицу со своими столбцами и. возможно, с атрибутами секретности. Определение таблицы добавляется в таблицу, описывающую объекты.

7.1.2    Условия использования и защиты

Таблица может быть создана только пользователями с профилями DB_0 и DBOO.

7.1.3    Командное сообщение

Данная SCQL операция относится кследующему SQL оператору:

CREATE TABLE «имя таблицы» «список элементов таблицы» («атрибут секретности»,...]

«имя таблицы» :;= «идентификатор, см. 6.5»

«список элементов таблицы»    («определение столбца »[. «определение столбца »...] («столбец

USER»))

<    атрибут секретности» <DO. связанный с защитой, см. 6.6»

«определение столбца > ::=<имя столбца »

(<разделитель»«наложениеограничения по уникальности»)

(«разделитель »«тип данных»)

«имя столбца »;:= «идентификатор, см. 6.5»

<    столбец USER. см. 6.7» ::= USER

« наложение ограничения по уникальности »;:= U «разделитель» .

12

ГОСТ Р ИСО/МЭК 7816-7—2011

«тип данных* ::= <символ пеэеменной (длина)>

«символ переменной (длина)> У<длина>

«длина» ::= «двоично-кодированная длина в 1 байт>

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

Если представлен и картой поддерживается индикатор переменной длины (т. е. максимальная длина), то карта должна проверить, не превышает ли предъявленная длина столбца указанную максимальную длину.

Таблица 5 — Командный APDU команды PERFORM SCQL OPERATION на операцию CREATE TABLE

CLA

Как огределено в ИСОГМЭК 7616-4

INS

•10' («PERFORM SCQL OPERATION)

Р1

'00'. другие значения RFU

Р2

•80' = CREATE TABLE

Поле Lc

Длина последующего поля данных

Поле данных

Lp «имя таблицы, см. 6.5»

D. фиксирование N (столбцы)

N элементов:

Lp «определение столбца»

Необязательные параметры:

Lp «максимальное число строк, двоично-кодированное в 1 байте » Lp «атрибут секретности» («атрибут секретности >....]

Поле Le

Пустое

7.1.4 Ответное сообщение

Таблица 6 — Ответный APOU команды PERFORM SCQL OPERATION i-a операцию CREATE TABLE

Поле данных

Пустое

SW1-SW2

Байты состояния

7.1.5 Состояния поело обработки

Могут возникать следующие специфические состояния ошибки:

•    если байт SW1 = ‘69'. а байт SW2 =

'82': Состояние защиты неудовлетворительное;

•    если байт SW1 = ‘6А’. а байт SW2 =

'80': Некорректный(ые) параметр(ы) в поле данных:

‘84’: Области памяти недостаточно:

89': Объект уже существует.

7.2 СОЗДАТЬ ПРЕДСТАВЛЕНИЕ (CREATE VIEW)

7.2.1    Определение и область применения

SCQL операция CREATE VIEW задает представление на таблицу. Определение представления добавляется в таблицу, описывающуо объекты.

7.2.2    Условия использования и защиты

Представление может быть создано только владельцем ссылочной таблицы.

7.2.3    Командное сообщение

Данная SCQL операция относится к следующему SQL оператору:

CREATE VIEW «имя представления» AS «определение представления» («атрибутсекретности »....] «имя представления»«идентификатор, см. 6.5»

«определение представления» ::= SELECT < список выбора » FROM «имя объекта» [WHERE «условие поиска» (AND < условие поиска ». ...Q

13

ГОСТ Р ИСО/МЭК 7816-7—2011

«атрибут секретности > ::= <DO. связанный с защитой, см. 6.6>

< список выбора > ::= *| «имя столбца > [. < имя столбца >]

«имя объекта» ::= «имя таблицы»

«условие поиска» ::= «имя столбца » «оператор сравнения» «строка»

«оператор сравнения» ::= - \ « j > I £ I £ | *

«строка »::= '«последовательность байтов»'

* - все столбцы

Таблице 7 — Командный APDU команды PERFORM SCOL OPERATION на операцию CREATE VIEW

С LA

Как определено в ИСО/МЭК 7816-4

INS

'10' («PERFORM SCQL OPERATION )

P1

'00' другие значения RFU

Р2

'81= CREATE VIEW

Поле Lc

Дгена последующего поля данных

Поле данных

Lp <имя представления, см. 6.5»

Lp <имя таблицы»

D. сжксировзние N ( столбцы)

N элементов:

Lp «имя столбца»

D. фиксирование N (условия)

N элементов, состоящих из 3 параметров:

Lp «имя столбца»

Lp «оператор сравнения»

Lp «строка»

Необязательные параметры:

Lp «атрибут секретности > («атрибут секретности >,...]

Поле Le

Пустое

Примечание — Если представлено несколько условий, то они неявным образом объединяются логической операцией И.

7.2.4 Ответное сообщение

Таблица 6 — Ответный APDU команды PERFORM SCQL OPERATION на операцию CREATE VIEW

Поле данних

Пустое

SW1-SW2

Байты оосгояния

7.2.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

-    если байт SW1 = '69’. а байт SW2 =

'62': Состояние защиты неудовлетворительное;

-    если байт SW1 = '6А', а байт SW2 =

'80': Некоррекгный(ые) лараиетр(ы) в поле данных:

'64': Области памяти недостаточно;

'88': Ссылочный объект не найден;

89’: Объект уже существует

7.3 СОЗДАТЬ СЛОВАРЬ {CREATE DICTIONARY)

7.3.1 Определение и область применения

SCQL операция CREATE DICTIONARY задает представление на системные таблицы ‘О. *11 и *Р. Определения фиксированного представления добавляются картой в таблицу, описывающую объекты (см. таблицы 10 и 11). Какие строки системных таблиц могут быть считаны, зависит от профиля пользователя.

Примечание — У денной команды нет эквивалента в языке SQL.

14

ГОСТ Р ИСО/МЭК 7816-7—2011

7.3.2    Условия использования и защиты Словарь может быть создан только DB_0 или DBOO.

7.3.3    Командное сообщение

Данная SCQL операция относится к следующему оператору расширения SQL:

CREATE DICTIONARY <задаваемая часть имени словаря»

«задаваемая часть имени словаря» «идентификатор, максимум 6 байтов, см. 6.5» | SYSTAB

Примечание — Задаваемая часть имени словаря заканчивается картой с добавлением _0 для представления таблицы, описывающей объекты. _U для представления таблицы, описывающей пользователей, и _Р для представления таблицы, огисывающей привилегии. Если необходимо. SYSTAB должно использоваться в качестве общего имени словарей.

Таблица 9 — Командный APDU команды PERFORM SCQL OPERATION на операцию CREATE DICTIONARY

CLA

Как определено 8 ИСО/МЭК 7816-4

INS

•10' i=PERFORM SCQL OPERATION)

Р1

'00', другие значения RFU

Р2

•82' * CREATE DICTIONARY

Поле Lc

Длина последующего поля данных

Поле данных

Lp «задаваемая часть имени словаря, см. 6.5 >

Поле Le

Пустое

Таблица 10 — Вводимые строки если пользователем является 0В_О

*0 (таблица, описывающая объекты)

OBJNAM

OBJOWN

OBJTYP

OBJDES

«задаваемое имя словаря» _0

«user id DB_0»

V

ALL или имена столбцов

«задаваемое имя словаря» _U

«user id DB_0»

V

ALL или имена столбцов

«задаваемое имя словаря» _Р

«user id DB_0»

V

ALL или имена столбцов

Примечание — Поскольку столбец OBJOPT пуст, то в таблице 10 он не показан.

Таблица 11 — Вводимые строки если пользователем является ОВОО

*0 (таблица, описывающая объекты)

OBJNAM

OBJOWN

OBJTYP

OBJDES

«задаваемое имя словаря» _0

«user id DBOO»

V

ALL или имена столбцов; условие:

OBJOWN = < user id DBOO»

«задаваемое имя словаря» _U

«user id DBOO>

V

ALL или имена столбцов; условие:

USROWN = < user id DBOO»

«задаваемое имя словаря» _Р

«user id DBOO»

V

ALL или имена столбцов: условие:

OBJOWN = < user id DBOO»

Примечание — Поскольку столбец OBJOPT пуст, то в таблице 11 он не показан

15

ГОСТ Р ИСО/МЭК 7816-7—2011

7.3.4 Ответное сообщение

Таблица 12 — Ответим APDU команды PERFORM SCQL OPERATION на операцию CREATE DICTIONARY

Поле данных

Пустое

SW1-SW2

Байты состояния

7.3.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

♦    если байт SW1 = '69'. а байт SW2 =

'82': Состояние защиты неудовлетворительное:

•    если байт SW1 = '6А' с SW2 =

'80’: Нвкорректный(ые) параиетр(ы) в поле данных:

'84': Области памяти недостаточно:

'89': Объект уже существует

7.4 УДАЛИТЬ ТАБЛИЦУ (DROP TABLE)

7.4.1    Определение и область применения

С помощью SCQL операции DROP TABLE таблица может быть удалена.

7.4.2    Условия использования и защиты

Таблица может быть удалена только ее владельцем. Привилегии, связанные с таблицей, должны быть удалены автоматически.

7.4.3    Командное сообщение

Данная SCOL операция относится к следующему SQL оператору:

DROP TABLE «имя таблицы»

Таблица 13 — Командный APOU команды PERFORM SCOL OPERATION на операцию DROP TABLE

CLA

Как определено в ИСО/МЭК 7816-4

INS

•10' (=PERFORM SCQL OPERATION)

Р1

'00' другие значения RFU

Р2

'83' = DROP TABLE

Поле Lc

Дт-ке t iuoj юдукдцеч и пили денных

Поле данных

Lp <имя таблицы >

Поле Le

Пустое

7.4.4 Ответное сообщение

Таблица 14 — Ответный APDU команды PERFORM SCOL OPERATION на операцию DROP TABLE

Поле дайнах

Пустое

SW1-SW2

Байты состояния

7.4.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

- если байт SW1 = '69'. а байт SW2 -

'82': Состояние защиты неудовлетворительное:

• если байт SW1 = ‘6А\ а байт SW2 -

'80': Некорректный(ые) лараиетр(ы) в поле данных:

'88': Ссылочный объект не найден.

16

ГОСТ Р ИСО/МЭК 7816-7—2011

7.5 УДАЛИТЬ ПРЕДСТАВЛЕНИЕ {DROP VIEW)

7.5.1    Определение и область применения

С помощью SCOL операции DROP VIEW может быть удалено представление.

7.5.2    Условия использования и защиты

Представление может быть удалено только его владельцем. Привилегии, связанные спредставлвни-ем. должны быть удалены автоматически.

7.5.3    Командное сообщение

Данная SCQL операция относится к следующему SQL оператору:

DROP VIEW <имя представления или имя словаря»

Таблица 15 — Командный APDU команды PERFORM SCQL OPERATION на операцию DROP VIEW

CLA

Как определено в ИСО/МЭК 7816-4

INS

'10' i«PERFORM SCQL OPERATION)

Р1

'00'. другие значения RFU

Р2

'84' * DROP VIEW

Поле 1с

Длина последующего поля данных

Поле данных

Lp <имя представления или имя словаря >

Поле Le

Пусгое

7.5.4 Ответное сообщение

Таблица 16 — Ответный APDU команды PERFORM SCQL OPERATION ка операцию DROP VIEW

Поле данных

Пустое

SW1-SW2

Байты состояния

7.5.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

•    если байт SW1 = '69’. а байт SW2 =

'82': Состояние защиты меудселетворительное;

•    если байт SW1 - '6А'. а байт SW2 -

'80': Некорретый(ые}параметр(ы) в поле данных;

'ДО': Ссылочный объект не найден.

7.6 НАЗНАЧИТЬ ПРИВИЛЕГИЮ (GRANT)

7.6.1 Определения и область применения

SCQL операция GRANT позволяет предоставлять привилегии одиночному пользователю, группе пользователей или всем пользователям.

Могут быть предоставлены следующие привилегии:

a)    привилегии для доступа к таблице:

-SELECT (ВЫБРАТЬ);

-INSERT (ВСТАВИТЬ);

-UPDATE (ОБНОВИТЬ);

-DELETE (УДАЛИТЬ);

b)    привилегии для доступа к представлению;

-    SELECT;

-UPDATE;

c)    привилегии для доступа к словарю;

-    SELECT.

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

17

ГОСТ Р ИСО/МЭК 7816-7—2011

7.6.2    Условия использования и защиты

Только владелец таблицы мсжет предоставлять или отменять привилегии.

7.6.3    Командное сообщение

Данная SCOL операция относится к следующему SQL оператору:

GRANT «привилегии» ON «имя объекта» ТО < получатель >

«привилегии» ::= «действие» (,«действие» ... ] | ALL «действие» ::= SELECT | INSERT | UPDATE | DELETE «имя объекта»«имя таблицы» | «имя представления» | «имя словаря»

«получатель» «user id. см. 6.5» Г * - все пользователи

Таблица 17 — Командный APOU команды PERFORM SCOL OPERATION на операцию GRANT

CLA

Как определено в ИСО/МЭК 7816-4

INS

•10' (-PERFORM SCQL OPERATION)

Р1

'00' другие значения RFU

Р2

'85 = GRANT

Поле Lc

Дпкка последующего поля данных

Поле данных

Lp «привилегии, кодирование см. в таблице 18»

Lp «имя таблицы, имя представления или имя словаря > Lp < user id (см. 6.5) или *>

Поле Le

Пустое

Таблица 18 — Кодирование привилегий

Привилегия

Кодирование в SCQL

INSERT

•4 Г

SELECT

•42'

UPDATE

44'

OELETE

•48'

ALL (все)

•4F'

7.6.4 Ответное сообщение

Таблица 19 — Ответный APDU команды PERFORM SCOL OPERATION на операцию GRANT

Поле данных

Пустое

SW1-SW2

Байты состояния

7.6.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

•    если байт SW1 = ’69'. а байт SW2 =

'62': Состояние защиты неудовлетворительное:

•    если байт SW1 = '6А', а байт SW2 -

'60': Некорректный(ые) лараиетр(ы) в поле данных:

'64': Области памяти недостаточно:

'68': Ссылочный объект не найден.

7.7 ОТМЕНИТЬ ПРИВИЛЕГИЮ (REVOKE)

7.7.1    Определение и область применения

SCQL операция REVOKE позволяет отменить привилегии, предоставленные ранее (см. 7.6).

7.7.2    Условия использования и защиты

Только владелец таблицы ип\ представления может отменять привилегии.

18

ГОСТ Р ИСО/МЭК 7816-7—2011

7.7.3 Командное сообщение

Данная SCQL операция относится к следующему SQL оператору:

REVOKE «привилегии» ON «имя объекта» FROM «получатель»

«привилегии»«действие» |, «действие» ...] | ALL

«действие» ::* {SELECT | INSERT | UPDATE | DELETE

«имя объекта» ::= «имя таблицы» | «имя представления» | «имя словаря»

«получатель» «userid» {*

* - все пользователи

Таблица 20 — Командный APDU команды PERFORM SCQL OPERATION на операцию REVOKE

CLA

Как определено а ИСО/МЭК 7816-4

INS

•10' i=PERFORM SCQL OPERATION)

Р1

’00'. другие значения RFU

Р2

’86' * REVOKE

Поле Lc

Длина последующего поля данных

Поле данных

Lp «привилегии, кодирование см. в таблице 18»

Lp «имя таблицы, имя представления или имя словаря > Lp «User id или *>

Поле Le

Пусюе

7.7.4 Ответное сообщение

Таблице 21 — Ответный APDU команды PERFORM SCQL OPERATION i-a операцию REVOKE

Поле данных

Пустое

SW1-SW2

Байты состояния

7.7.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

• если байт SW1 = 69’. а байт SW2 =

'82': Состояние защиты неудовлетворительное;

- если бейт SW1 • ‘6А\ о бейт SW2 ■

’80': Некорректный(ые) параметр(ы) в поле данных;

'88': Ссылочный объект не найден.

7.8 ОБЪЯВИТЬ КУРСОР (DECLARE CURSOR)

7.8.1    Определение и область применения

Курсор используется для указания строк в таблице или словаре. SCQL операция DECLARE CURSOR используется для объявления курсора.

7.8.2    Условия использования и защиты

Объявление курсора допускается только, если действующий пользователь авторизироеан для доступа к ссылочной таблице, предстает ению или словарю. Пользователь должен быть владельцем ссылочного объекта или по крайней мере иметь одну привилегию для доступа к ссылочному объекту (о сравнении текущего идентификатора пользователя с идентификатором пользователя, находящимся в системной таблице *Р. см. 6.5).

В каждый данный момент времени может существовать только один курсор, т. е. если объявляется новый курсор, то предыдущий бол»ше не действителен.

7.8.3    Командное сообщение

Данная SCQL операция относится к следующему SQL оператору:

DECLARE CURSOR FOR «вьбор»

«выбор» ::= SELECT < список выбора » FROM «имя объекта» [WHERE «условие поиска» [AND < условие поиска »....]]

19

ГОСТ Р ИСО/МЭК 7816-7—2011

< список выбора > ::= *| «имя столбца» (. < имя столбца»]

«имя объекта»:: = <имя таблицы» | <имя представления» | «имя словаря»

« условие поиска >:: = <имястолбца» «оператор сравнения» «строка»

«строка »'«последовательность байтов»'

* - все столбцы

Примечание — Посколыу одновременно возможен только один курсор, имя курсора не используется.

Таблица 22 — Командный APDU команды PERFORM SCQL OPERATION на операцию REVOKE

CLA

Как определено в ИСО/МЭК 7816-4

INS

'10'(“PERFORM SCQL OPERATION)

Р1

’00' другие значения RFU

Р2

’8Г = DECLARE CURSOR

Поле Lc

Длгна последующего поля данных

Поле данных

|_р <имя таблицы, имя представления или имя словаря» О. фиксирование N (столбцы)

N элементов:

Lp «имя столбца»

Если условия представлены:

О. фиксирование N (условия)

N элементов, состоящих из 3 параметров:

Lp «имя столбца»

Lp «оператор сравнения»

Lp «строка»

Поле Le

Пустое

Примечание — Если представлено несколько условий, то они неявно объединяются с помощью логической операции И.

7.8.4 Ответное сообщение

Таблица 23 — Ответньм APDU команды PERFORM SCQL OPERATION ча операцию DECLARE CURSOR

Поле данных

Пустое

SW1-SW2

Байты состояния

7.8.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

- если байт SW1 = '69'. а байт SW2 =

'82': Состояние защиты неудовлетворительное:

• если байт SW1 - '6А'. а байт SW2 -

'80': Некорректный(ые) лараиетр(ы) в поле данных:

'88': Ссылочный объект не найден.

7.9 ОТКРЫТЬ (OPEN)

7.9.1    Определение и область применения

SCQL операция OPEN открывает курсор, т. е. курсор позиционируется на первую строку, которая соответствует выбору, определенному ранее с помощью операции DECLARE CURSOR.

7.9.2    Условия использования и защиты Курсор должен быть объявлен заранее.

20

ГОСТ Р ИСО/МЭК 7816-7—2011

7.9.3 Командное сообщение

Данная SCQL операция относится к следующему SQL оператору: OPEN

Таблица 24 — Командный APDU команды PERFORM SCQL OPERATION на операцию OPEN

CLA

Как определено а ИСО/МЭК 7816-4

INS

•10' i=PERFORM SCQL OPERATION)

P1

'00'. другие значения RFU

P2

'88' * OPEN

Поле Lc

Пусюе

Поле данных

Пустое

Поле Le

Пусюе

7.9.4 Ответное сообщение

Таблица 25 — Ответный APDU команды PERFORM SCQL OPERATION на операцию OPEN

Поле данных

Пустое

SW1-SW2

Байты состояния

7.9.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

- если байт SW1 = '62\ а байт с SW2 =

'82': Достигнут конец таблиць;

♦ если байт SW1 = '69'. а байт SW2 =

'85': Необходимые команды или операции не выполнены ранее (не определен курсор).

7.10 ПЕРЕМЕЩЕНИЕ (NEXT)

7.10.1    Определение и область применения

SCQL операция NEXT устанавливает курсор на следующую строку согласно спецификации курсора.

7.10.2    Условия использования и защиты Курсор должен быть предварительно открыт.

7.10.3    Командное сообщение

Данная SCQL операция относится к следующему SQL оператору:

NEXT

Таблица 26 — Командный APDU команды PERFORM SCQL OPERATION на операцию NEXT

CLA

Как определено в ИСО/МЭК 7816-4

INS

•10' i=PERFORM SCQL OPERATION)

Р1

'00'. другие значения RFU

Р2

'89' = NEXT

Поле Lc

Пусюе

Поле данных

Пусюе

Поле Le

Пусюе

7.10.4 Ответное сообщение

Таблица 27 — Ответный APDU команды PERFORM SCQL OPERATION i-a операцию NEXT

Поле данных

Пустое

SW1-SW2

Байты состояния

21

ГОСТ Р ИСО/МЭК 7816-7—2011

7.10.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

♦ если байт SW1 - ‘62’. а байт SW2 =

’82': Достигнут конец таблицы;

- если байт SW1 = ‘69’. а байт SW2 =

’85': Необходимые команды или операции не выполнены ранее (не определен курсор).

7.11 ВЫБОРКА (FETCH)

7.11.1    Определение и область применения

SCQL операция FETCH позволяет вызвать строку или ее часть. Курсор должен указать на строку, которая должна быть выбрана.

7.11.2    Условия использования и защиты

Операция может быть выполнена только владельцем объекта или пользователем с привилегией SELECT. Курсор должен быть предварительно открыт.

7.11.3    Командное сообщение

Данная SCOL операция относится к следующему SQL оператору:

FETCH

Таблица 28 — Командный APDU команды PERFORM SCOL OPERATION на операцию FETCH

CLA

Как определено в ИСО/МЭК 7816-4

INS

•10' («PERFORM SCQL OPERATION)

Р1

'00' другие значения RFU

Р2

'8А' = FETCH

Поле Lc

Пустое

Поле данных

Пустое

Поле Le

Максимальная длина ожидаемых данных

7.11.4 Ответное сообщение

Таблица 29 — Ответный APDU команды PERFORM SCQL OPERATION ча операцию FETCH

Поле данных

D. фиксирование N (столбцы)

N элементов:

1_р чы|мма>

SW1-SW2

Байты состояния

Примечание — Если используется протокол передачи Т - 0. длина выбранных данных указывается в байтах состояния (SW1-SW2 = ’6Схх‘. где хх означает число доступных байтов данных). Данные допжны извлекаться с помощью повторной подачи той же команды со значением поля Le. указанным в SW2.

Если используется протокол передачи Т = 1. данные передаются в ответном APDU на операцию FETCH.

7.11.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

• если байт SW1 = ’69'. а байт SW2 =

82': Состояние защиты неудовлетворительное;

85': Необходимые команды или операции не выполнены ранее (курсор не определен)

7.12 ВЫБОРКА СЛЕДУЮЩЕЙ СТРОКИ (FETCH NEXT)

7.12.1    Определение и область применения

SCQL операция FETCH NEXT должна использоваться для чтения логически следующей строки из позиции курсора. Курсор устанавливается на выбранную строку.

7.12.2    Условия использования и защиты

Операция может выполняться только владельцем объекта или пользователем с привилегией SELECT. Курсор должен быть предварительно открыт.

22

ГОСТ Р ИСО/МЭК 7816-7—2011

7.12.3 Командное сообщение

Данная SCQL операция относится к следующему SQL оператору:

FETCH NEXT

Таблица 30 — Командный APDU команды PERFORM SCQL OPERATION на операцию FETCH NEXT

CLA

Как определено в ИСО/МЭК 7816-4

INS

•10’ i=PERFORM SCQL OPERATION)

P1

’00‘. другие значения RFU

P2

’8В = FETCH NEXT

Поле Lc

Пусюе

Поле данных

Пусгое

Поле Le

Максимальная длина ожидаемых данных

7.12.4 Ответное сообщение

Таблице 31 — Ответный APDU команды PERFORM SCQL OPERATION ка операцию FETCH NEXT

Поле данных

D. фиксирование N (столбцы)

N элементов:

Lp «строка»

SW1-SW2

Байты состояния

См. примечание к таблице 29.

7.12.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

- если байт SW1 = '62\ а байт SW2 -'82': Достигнут конец таблиць:

• если байт SW1 = '69’. а байт SW2 =

'82': Состояние защиты неудселетворительное:

'85': Необходимые команды или операции не выполнены ранее (не определен курсор).

7.13 ВСТАВИТЬ (INSERT)

7.13.1    Определение и область применения

SCQL операция INSERT используется для вставки строки в таблицу. Новая строка всегда добавляется о конец таблицы. Курсор остается на сооей позиции.

7.13.2    Условия использования и защиты

Команда может выполняться только владельцем таблицы или пользователем с привилегией INSERT. Значение для специального столбца USER (если он представлен) карта вставляет в этот столбец (см. 6.7).

7.13.3    Командное сообщение

Данная SCQL операция относится к следующему SQL оператору:

INSERT (INTO] «имя таблицы» VALUES («строка» [. <строка» ...])

«строка» ::= ‘«последовательность байтов»’

Таблица 32 — Командный APDU команды PERFORM SCQL OPERATION на операцию INSERT

CLA

Как определено в ИСО/МЭК 7816-4

INS

■Iff i=PERFORM SCQL OPERATION)

Р1

’00'. другие значения RFU

Р2

•8С = INSERT

Поле Lc

Длина последующего поля данных

Поле данных

Lp <ммя таблицы >

D. фиксирование N (столбцы) N глементое:

Lp «строка»

Поле Le

Пусюе

23

ГОСТ Р ИСО/МЭК 7816-7—2011

7.13.4 Ответное сообщение

Таблица 33 — Ответный APDU команды PERFORM SCQL OPERATION ча операцию INSERT

Попе данных

Пустое

SW1-SW2

Байты состояния

7.13.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

•    если байт SW1 - '62’. а байт SW2 =

'82': Достигнут конец таблицы;

•    если байт SW1 = '67'. а байт SW2 -'00': Неправильная длина;

•    если байт SW1 = '69', а байт SW2 =

'82': Состояние защиты неудовлетворительное:

•    если байт SW1 = '6А', а байт SW2 =

'80': Некоррекгный(ые) параиетр(ы) в поле данных:

'84‘: Области памяти недостаточно:

'86': Ссылочный объект не найден;

'69': Объект уже существует (значение в столбце не уникально).

7.14 ОБНОВИТЬ (UPDATE)

7.14.1    Определение и область применения

SCQL операция UPDATE обновляет одно или более полей строки, на которую указывает курсор, в таблице или представлении.

7.14.2    Условия использования и защиты

Команда может выполняться только владельцем таблицы или пользователем с привилегией UPDATE. Курсор должен быть предварительно открыт.

Значение для специального столбца USER (если он представлен) карта использует для замены (см. 6.7).

7.14.3    Командное сообщение

Данная SCOL операция относится к следующему SQL оператору:

UPDATE SET « список (изменений) предложения SET >

< список (изменений) предложения SET » <имя столбца» = «строка» [.«имя столбца» = «строка»...]

«строка»'< поел вдова те гъность байтов»'.

Таблица 34 — Командный APDU команды PERFORM SCQL OPERATION на операцию UPDATE

CLA

Как определено в ИСО/МЭК 7816-4

INS

'10'(=PERFORM SCQL OPERATION)

Р1

'00' другие значения RFU

Р2

•8D = UPDATE

Поле Lc

Длина последующего поля данных

Поле данных

D. фиксирование N (столбцы)

N элементов, состоящих из 2 параметров:

1р «имя столбца»

Lp «строка»

Поле Le

Пустое

7.14.4 Ответное сообщение

Таблица 35 — Ответный APDU команды PERFORM SCQL OPERATION ча операцию UPDATE

Попе данных

Пустое

SW1-SW2

Байты состояния

24

ГОСТ Р ИСО/МЭК 7816-7—2011

7.14.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

♦    если байт SW1 = '67'. а байт SW2 =

'00': Неправильная длина;

♦    если байт SW1 - '69', а байт SW2 -

82': Состояние защиты неудовлетворительное;

'85': Необходимые команды или операции не выполнены ранее (не определен курсор);

♦    если байт SW1 = '6A. а байт SW2 =

80': Некорректный(ые) параметр(ы) в поле данных;

'84': Области памяти недостаточно:

69': Объект уже существует [значение в столбце не уникально).

7.15 УДАЛИТЬ (DELETE)

7.15.1    Определение и область применения

С помощью SQL операции DELETE из таблицы может быть удалена строка, на которую указывает курсор. Курсор перемещается на логически следующую строку.

7.15.2    Условия использования и защиты

Команда может выполнятьсятолько владельцем объекта или пользователем с привилегией DELETE для ссылочном таблицы.

7.15.3    Командное сообщение

Данная SCQL операция относится к следующему SQL оператору:

DELETE

Таблица 36 — Командный APDU команды PERFORM SCQL OPERATION на операцию DELETE

CLA

Как определено в ИСО/МЭК 7816-4

INS

•10' .«PERFORM SCQL OPERATION)

Р1

'00'. другие значения RFU

Р2

•8Е' = DELETE

Попе Lc

Пустое

Поле данных

Пустое

Поле Le

Пустое

7.15.4 Ответное сообщение

Таблица 37 — Ответный APDU команды PERFORM SCQL OPERATION ча операцию DELETE

Поле данных

Пустое

SW1-SW2

Байты состояния

7.15.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

•    если байт SW1 = '62'. а байт SW2 =

'82': Достигнут конец таблиць:

•    если байт SW1 = '69'. а байт SW2 =

'82': Состояние защиты неудовлетворительное;

'85': Необходимые команды или операции не выполнены ранее (не определен курсор).

8 Управление транзакциями

8.1 Общие понятия

Транзакция в данном контексте — это процесс изменения в базе данных. Изменением может быть обновление или вставка одной или нескольких строк.

25

ГОСТ Р ИСО/МЭК 7816-7—2011

Команда PERFORM TRANSACTION OPERATION обеспечивает операции, необходимые для подтверждения или отмены транзакций.

Если эта команда не используется или не поддерживается. SCQL операция всегда выполняется как завершение транзакции, т. е. изменение, обусловленное операцией, немедленно вступает в силу.

8.2 Операции транзакции

8.2.1    BEGIN (НАЧАТЬ ТРАНЗАКЦИЮ)

8.2.1.1    Определение и область применения

Операция транзакции BEGIN выделяет область для копии содержимого памяти, например строки.

8.2.1.2    Условия использования и защиты

Область памяти, которая предоставляется, зависит от реализации. Рекомендуется, чтобы выделяемая область памяти была достаточной для буферизации по крайней мере одной строки.

8.2.1.3    Командное сообщение

Таблица 38 — Командный APDU команды PERFORM TRANSACTION OPERATION на операцию BEGIN

CLA

Как определено в ИСО/МЭК 7618-4

INS

•12'(=PERFORM TRANSACTION OPERATION)

P1

’00' другие значения RFU

P2

'80 = BEGIN

Поле Lc

Пустое

Поле данных

Пустое

Поле Le

Пустое

8.2.1.4 Ответное сообщение

Таблица 39 — Ответный APOU команды PERFORM TRANSACTION OPERATION на операцию BEGIN

Поле дакних

Пустое

SW1-SW2

Байты состояния

8.2.1.S Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

- если байт SW1 = '6А'. а байт SW2 =

'84': Области памяти недостаточно.

8.2.2 COMMIT (ЗАВЕРШИТЬ ТРАНЗАКЦИЮ)

8.2.2.1    Определение и область применения

Операция транзакции COMMIT утверждает все изменения, сделанные с того момента, как операция BEGIN была выполнена.

8.2.2.2    Условия использования и защиты

Операция транзакции BEGIN должна быть выполнена предварительно.

8.2.2.3    Командное сообщение

Таблица 40 — Командный APDU команды PERFORM TRANSACTION OPERATION на операцию COMMIT

CLA

Как определено в ИСО/МЭК 7618-4

INS

’12{=PERFORM TRANSACTION OPERATION)

Р1

'00' другие значения RFU

Р2

’81= COMMIT

Поле Lc

Пустое

Поле данных

Пустое

Поле Le

Пустое

26

ГОСТ Р ИСО/МЭК 7816-7—2011

8.2.2 4 Ответное сообщение

Таблица 41 — Ответный APOU команды PERFORM TRANSACTION! OPERATION на операцию COMMIT

Поле данных

Пустое

SW1-SW2

Байты состояния

8.2.2.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

* если байт SW1 * '69'. а байт SW2 =

85': Необходимые команды или операции не выполнены ранее (нет транзакции BEGIN).

8.2.3 ОТКАТ ТРАНЗАКЦИИ (ROLLBACK)

8.2.3.1    Определение и область применения

Операция транзакции ROLLBACK восстанавливает контекст, как было до выполнения операции транзакции BEGIN.

8.2.3.2    Условия использования и защиты

Операция транзакции BEGIN должна быть выполнена предварительно.

8.2.3.3    Командное сообщение

Таблица 42 — Комачдный APDU команды PERFORM TRANSACTION OPERATION на операцию ROLLBACK

CLA

Как определено в ИСО/МЭК 7816-4

INS

•12' {«PERFORM TRANSACTION OPERATION)

Р1

'00'. другие значения RFU

Р2

'82' * ROLLBACK

Поле Lc

Пусюе

Поле данных

Пусюе

Поле Le

Пустое

8.2.3.4 Ответное сообщение

Таблица 43 — ответный ahuu команды кькьикм TRANSACTION OPERATION на операцию ROLLBACK

Поле данных

Пустое

SW1-SW2

Байты состояния

8.2.3.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

•    если байт SW1 - '69'. а байт SW2 =

•    '85': Необходимые команды или операции не выполнены ранее (нет транзакции BEGIN).

9 Управление пользователями

9.1 Основные понятия

Управление пользователями относится к:

-    идентификации пользователя:

•    аутентификации пользователя;

•    авторизации пользователя:

-    регисграции/отмеме регистрации пользователя.

27

ГОСТ Р ИСО/МЭК 7816-7—2011

Для идентификации пользователя используется идентификатор пользователя, который может быть структурирован, как изложено в 65.

Если есть необходимость подтверждения, что представленный идентификатор пользователя принадлежит данному пользователю, то должна быть выполнена процедура аутентификации. Соответствующий механизм для аутентификации пользователя — это. например:

•    механизм верификации по паролю:

•    механизм биометрической верификации;

-    криптографический механизм, базирующийся, например, на симметричном алгоритме или на системе с открытым ключом в комбинации с сертификатами.

В сертификате может быть представлен идентификатор пользователя, применимый для идентификации пользователя.

Авторизация пользователя имеет дело с правами пользователя на выполнение определенных операций или действий, в среде SCOL авторизация пользователя связана с:

•    профилем пользователя (D6_0. ОВОО или OBBU);

•    привилегиями пользователя (см. табл. 18) и. необязательно, с

•    ролью пользователя в соответствии с группой пользователей (см 6.5.7.6.7.7 и 9.2.1}.

Регистрация пользователя о<ватывает регистрацию пользователя с его идентификатором (пользователя). профилем (пользователя) v, возможно, с его атрибутами секретности (см. 6.6). Отмена регистрации пользователя выполняется удалением регистрации.

Вданном разделе определены следующие операции для идентификации пользователя, основанные на команде PERFORM USER OPERATION:

-PRESENT USER;

-CREATE USER:

•    DELETE USER.

Команды и операции, относящиеся к процедуре аутентификации, не описываются в настоящем стандарте. Однако при создании попьэователяс его идентификатором (пользователя) и с его профилем (пользователя) атрибуты секретности могут быть установлены и представлены соответствующими DO. связанными с защитой, определенными в других стандартах серии ИСО/МЭК 7816.

9.2 Пользовательские операции

9.2.1    PRESENT USER (ПРЕДСТАВИТЬ ПОЛЬЗОВАТЕЛЯ)

9.2.1.1    Определение и область применения

С помощью операции PRESENT USER проверяется регистрация представленного идентификатора пользователя. Идентификатор пользователя должен быть представлен в соответствии с соглашениями, определенными в 6.5, или с 00 с именем держателя карты, представленном в сертификате держателя карты. Если идентификатор пользователя зарегистрирован в системной таблице *U. то пользователь, характеризующийся своим идентификатором пользователя, устанавливается как текущий пользователь.

Примечание — Сертификат, содержащий DO с именем держателя карты, может принадлежать, например, профессионалу, использующему свою профессиональную карту, или поставщику услуг.

9.2.1.2    Условия использования и защиты

Может существовать толькоодин текущий пользователь единовременно водном логическом канале.

Следующими могут идти команды аутентификации, например:

-    VERIFY (ВЕРИФИЦИРОВАТЬ):

-    GET CHALLENGE (СДЕЛАТЬ ЗАПРОС) и EXTERNAL AUTHENTICATE (ВЫПОЛНИТЬ ВНЕШНЮЮ АУТЕНТИФИКАЦИЮ).

9.2.1.3    Командное сообщение

Операция PRESENT USER относится к следующему оператору расширения SQL:

PRESENT USER «user id. см.6.5> | <DO «сертификат держателя карты»»

<D0 «сертификат держателя карты»» ::= <тег 7F21'» «длина> <D0 «имя держателя карты»» «дополнительные DO>

«DO «имя держателя карты*» ::= «тег ‘5F20'»

«длина» < user id. см.6.5»

28

ГОСТ Р ИСО/МЭК 7816-7—2011

Таблица 44 — Командный APDU команды PERFORM USER OPERATION на операцию PRESENT USER

CLA

Как определено в ИСО/МЭК 7816-4

INS

’14’ i=PERFORM USER OPERATION)

P1

’00'. другие значения RFU

P2

’80' * PRESENT USER

Попе Lc

Длина последующего поля данных

Попе данных

< user id. см. 6.5 > или «DO «сертификат держателя карты», тег 7F21*. см. ИСО/МЭК 7816-6»

Попе Le

Пустое

S.2.1.4 Ответное сообщение

Таблица 45 — Ответный APDU команды PERFORM USER OPERATION на операцию PRESENT USER

Поле данных

Пустое

SW1-SW2

Байты состояния

S.2.1.5 Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

• если байт SW1 = '6A. а байт SW2 =

80': Некорректные параметры в поле данных:

'88': Ссылочный объект (userid) не найден.

S.2.2 СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ (CREATE USER)

9.2.2.1    Определение и область применения

Операция CREATE USER инициирует регистрацию пользователя. В среде SCQL строку в таблицу, описывающую пользователей, вставляет карта.

Если требуется авторизация,когда пользователь хочет получить доступ к базе данных или защищенным таблицам или представлениям, должна быть добавлена информация, касающаяся аутентификации (см. 6.6). В данном случае за операцией CREATE USER может следовать команда, например, для инсталляции пароля. Требования катим командам выходят за рамки настоящего стандарта.

3.2.2.2    Условия использования и защиты

Команда CREATE USER может быть выполнена только пользователем с профилем DB_0 или DBOO с полномочиями, описанными в табгмце 1. Идентификатор пользователя должен быть уникальным.

9.2.2.3    Командное сообщение

Операция CREATE USER относится к следующему оператору расширения SQL:

CREATE USER <user id> <профиль пользователя» («атрибутсекретности»....]

«профиль пользователя» ::= «владелец объекта базы данных» | «базовый пользователь базой данных»

« владелец объекта базы дачных »::= DBOO « базовый пользователь баээй данных > ::= DBBU « атрибут секретности > ::= <DO. связанный с защитой, см. 6.6»

Таблица 46 — Командный APDU команды PERFORM USER OPERATION на операцию CREATE USER

CLA

Как определено в ИСО/МЭК 7816-4

INS

’14’ .«PERFORM USER OPERATION)

Р1

’00'. другие значения RFU

Р2

’81' * CREATE USER

Поле Lc

Длина последующего поля данных

Поле данных

Lp -Ajser id. см. 6.5 >

Lp «профиль пользователя: DBOO или DBBU> Необязательные параметры:

Lp «атрибут секретности, см. 6.6>

Поле Le

Пустое

29

ГОСТ Р ИСО/МЭК 7816-7—2011

Примечание — Пользователь с профилем 0В_О может быть вставлен в таблицу, описывающую пользователей, только во время фазы установки базы данных SCOL.

9 2.2.4 Ответное сообщение

Таблица 47 — Ответный APDU команды PERFORM USER OPERATION ча операцию CREATE USER

Поле данных

Пустое

SW1-SW2

Байты состояния

9.2.2.S Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

•    если байт SW1 = '69'. а байт SW2 =

'82‘: Состояние защиты неудовлетворительное:

•    если байт SW1 = '6A. а байт SW2 =

80': Некорректный(ые) лараиетр(ы) в поле данных:

'89': Объект (user id) уже существует.

9.2.3 УДАЛИТЬ ПОЛЬЗОВАТЕЛЯ (DELETE USER)

9.2.3.1    Определение и область применения

С помощью операции DELETE USER может быть удален идентификатор пользователя. Соответствующая строка в таблице, описывающей пользователей, стирается.

9.2.3.2    Условия использования и защиты

Операция DELETE USER макет быть выполнена только владельцем-пользоеателем.

В целях обеспечения целостности базы данных привилегии, связанные с пользователем, должны быть автоматически удалены.

Примечание — Звездочка в идентификаторе пользователя, представленном с помощью операции DELETE USER (см. 6.5). 8 этом случае не имеет специального смыслового значения, т. е. удаляется тольхо строка в 'U. где представленный идентификатор пользователя идентичен зарегистрированному идентификатору пользователя.

9.2.3.3    Командное сообщение

Операция DELETE USER относится к следующему оператору расширения SOL:

DELETE USER <userid>

Таблица 48 — Командный APDU команды PERFORM USER OPERATION на операцию DELETE USER

CLA

Как определено о ИСО/МЭК 7618 4

INS

'14' («PERFORM USER OPERATION)

Р1

'00' другие значения RFU

Р2

'82' = DELETE USER

Поле Lc

Длкна последующего поля данных

Поле данных

Lp <userid>

Поле Le

Пустое

9.2.3.4 Ответное сообщение

Таблица 49 — Ответный APDU команды PERFORM USER OPERATION на операцию DELETE USER

Поле данных

Пустое

SW1-SW2

Байты состояния

9.2.3.S Состояния после обработки

Могут возникать следующие специфические состояния ошибки:

-    если байт SW1 - '69'. а байт SW2 =

’82': Состояние защиты неудовлетворительное:

-    если байт SW1 = '6А, а байт SW2 =

80': Некоррекгный(ые) лараиетр(ы) в поле данных:

'88': Ссылочный объект (id пользователя) не найден.

30

ГОСТ Р ИСО/МЭК 7816-7—2011

Приложение А (справочное)

Использование SCQL операций

В данном приложении приведены примеры использования и кодирования операции PRESENT USER и некоторых SCQL операций, когда кодирование размера D происходит в одном байге.

Используются следующие сокращения:

СН — заголовок команды (conmand header) (= CLA INS P1 P2);

col — имя столбца (column name):

coldef — определение столбце (column definition);

comp — оператор сравнения (comparison operator);

tab — имя таблицы (table name);

view — имя представления (view name):

x — шестнадцатеричный (hexadecimal).

ПРЕДСТАВИТЬ ПОЛЬЗОВАТЕЛЯ:

PRESENT USER COMPANY .DIY.SMITH'

CH

Lc

user id

xOO140080

x11

COfctf»ANY.DIV.SMITH

СОЗДАТЬ ТАБЛИЦУ:

CREATE TABLE FLY (DEP\ ARR'. F.NO.U', TIME-. ‘PRICE’)

CH

Lc

Lp

tab

N

Lp

col

Lp

col

Lp

coldef

Lp

col

Lp

col

X00100080

x1F

x03

FLY

x05

x03

DEP

x03

ARR

x06

F_NO.U

x04

TIME

x05

PRICE

Примечание — F_NO.U означает, что значение в столбце F_NO должно быть уникальным. СОЗДАТЬ ПРЕДСТАВЛЕНИЕ:

CREATE VIEW FLY_A AS SELECT (DEP\ ARR'. -F_NO\ TIME ) FROM FLY

CH

Lc

Lp

view

Lp

tab

N

Lp

col

Lp

col

Lp

col

Lp

col

xOO100081

xIO

xOS

FLY.A

x03

FLY

x04

x03

DEP

x03

ARR

x04

F_NO

x04

TIME

НАЗНАЧИТЬ ПРИВИЛЕГИЮ (SELECT): GRANT SELECT ON FLY A-TO*

CH

Lc

Lp

Priv

Lp

view

Lp

user id

X00100085

xOA

x01

x42

x05

FLY.A

01

a

ВСТАВИТЬ:

INSERT INTO -FLY- VALUES ( FRA'. 'COG'. LH471V. 0115_10:20'. '54DDM)

CH

Lc

Lp

tab

N

Lp

DEP

Lp

ARR

Lp

F.NO

Lp

TIE

Lp

PRICE

Х0010008С

x2S

x03

FLY

xOS

x03

FRA

x03

CDG

x06

LH4711

xOA

0115.10:20

x05

540DM

31

ГОСТ Р ИСО/МЭК 7816-7—2011

ОБЪЯВИТЬ КУРСОР:

DECLARE CURSOR FOR SELECT * FROM 'FLY- WHERE ARR- = CDG-

сн

Lc

Lp

tab

N

N

Lp

col

Lp

comp

Lp

Строка

хОО100087

х10

хОЗ

FLY

хОО

x01

хОЗ

ARR

x01

x3D

хОЗ

COG

Примечание — Опера гср сравнения *3D‘ означает «равно».

32

ГОСТ Р ИСО/МЭК 7816-7—2011

Приложение ДА (справочное)

Сведения о соответствии ссылочных международных стандартов ссылочным национальным стандартам Российской Федерации

Таблица ДА.1

Обозначение ссылочного международного стандарта

Степень

соответствия

Обозначение и наименование соответствующего национального стандарта Российской Федерации

ИСО/МЭК 9075

ЮТ

ГОСТ Р ИСО/МЭК 9075—93 «Информационная технология. Язык баз данных SOL с расширением целостности*

ИСО/МЭК 7816-4

ЮТ

ГОСТ Р ИСО/МЭК 7816-4—2004 «Информационная технология. Карты идентификационные. Карты на интегральных схемах с контактами. Часть 4. Межотраслевые команды для обмена»

ИСО/МЭК 7816-6

ЮТ

ГОСТ Р ИСО/МЭК 7816-6—2003 «Карты идентификационные. Карты на интегральных схемах с контактами. Часть 6. Элементы данных для межотраслевого обмена»

Примечание — В настоящей таблице использовано следующее условное обозначение степени соответствия стандартов:

- ЮТ — идентичные стандарты.

33

ГОСТ Р ИСО/МЭК 7816-7—2011

УДК 336.77:002:006.354    ОКС 35.240.15    ОКП40 8470

Ключевые слова: обработка данных, обмен информацией, идентификационные карты. IC—карты, сообщения. язык структурированных запросов, способы защиты, аутентификация

34

Редактор Н. Н. Кузьмина Технический редактор В Н. Прусакова Корректор Л. Я. Митрофанова Компьютерная верстка Т. Ф. Кузнецовой

Слано а набор 25.07.2013. Подписано а печать 28.08.2013. Формат 60x64%. Бумага офсетная. Гармятура Ариал. Печать офсетная Уел. леч. л. 4.6S. Уч.-иад. л. 3.70. Тираж SI so. За*. 1033.

ФГУП «СТЛНДАРТИНФОРМ». 123935 Москва. Гранатный пер.. 4. vxw1v.90st1nfo.ru    <

Набрано и отпечатано а Калужской типографии стандартов. 243021 Калуга, ул. Московская. 256.