Устанавливает: - понятие баз данных SCQL (SCQL - язык структурированных запросов для карты, основанный на SQL; - соответствующие межотраслевые расширенные команды.
Идентичен ISO/IEC 7816-7:1999
1 Область применения
2 Нормативные ссылки
3 Термины и определения
4 Обозначения и сокращения
5 Понятие баз данных SCQL
5.1 База данных SCQL
5.2 Таблицы SCQL
5.3 Представления SCQL
5.4 Системные таблицы SCQL и словари
5.5 SCQL профили пользователя
6 Команды, связанные с SCQL
6.1 Общие положения
6.2 Группирование и кодирование команд
6.3 Система обозначений и специальное кодирование
6.4 Байты состояния
6.5 Кодирование идентификаторов
6.6 Атрибуты секретности таблиц, представлений и пользователей
6.7 Соединение идентификаторов пользователей с операциями INSERT и UPDATE
7 Операции с базами данных
7.1 СОЗДАТЬ ТАБЛИЦУ (CREATE TABLE)
7.2 СОЗДАТЬ ПРЕДСТАВЛЕНИЕ (CREATE VIEW)
7.3 СОЗДАТЬ СЛОВАРЬ (CREATE DICTIONARY)
7.4 УДАЛИТЬ ТАБЛИЦУ (DROP TABLE)
7.5 УДАЛИТЬ ПРЕДСТАВЛЕНИЕ (DROP VIEW)
7.6 НАЗНАЧИТЬ ПРИВИЛЕГИЮ (GRANT)
7.7 ОТМЕНИТЬ ПРИВИЛЕГИЮ (REVOKE)
7.8 ОБЪЯВИТЬ КУРСОР (DECLARE CURSOR)
7.9 ОТКРЫТЬ (OPEN)
7.10 ПЕРЕМЕЩЕНИЕ (NEXT)
7.11 ВЫБОРКА (FETCH)
7.12 ВЫБОРКА СЛЕДУЮЩЕЙ СТРОКИ (FETCH NEXT)
7.13 ВСТАВИТЬ (INSERT)
7.14 ОБНОВИТЬ (UPDATE)
7.15 УДАЛИТЬ (DELETE)
8 Управление транзакциями
8.1 Общие понятия
8.2 Операции транзакции
9 Управление пользователями
9.1 Основные понятия
9.2 Пользовательские операции
Приложение А (справочное) Использование SCQL операций
Приложение ДА (справочное) Сведения о соответствии ссылочных международных стандартов ссылочным национальным стандартам Российской Федерации
39 страниц
Дата введения | 01.01.2013 |
---|---|
Добавлен в базу | 01.10.2014 |
Актуализация | 01.01.2021 |
13.12.2011 | Утвержден | Федеральное агентство по техническому регулированию и метрологии | 1010-ст |
---|---|---|---|
Разработан | ФГУП ВНИИНМАШ | ||
Издан | Стандартинформ | 2013 г. |
Чтобы бесплатно скачать этот документ в формате PDF, поддержите наш сайт и нажмите кнопку:
НАЦИОНАЛЬНЫМ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ |
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ
ГОСТ Р исо/мэк 7816-7 —
Часть 7
ISO/IEC 7816-7:1999 Identification cards — Integrated circuit(s) cards with contacts —
Part 7:
Interindustry commands for Structured Card Query Language (SCQL)
Москва
(IDT)
Стандартинформ
2013
Цели и принципы стандартизации в Российской Федерации установлены Федеральным законом от 27 декабря 2002 г. № 184-ФЗ «О техническом регулировании», а правила применения национальных стандартов Российской Федерации — ГОСТ Р1.0—2004 «Стандартизация в Российской Федерации. Основные положения»
1 ПОДГОТОВЛЕН Федеральным государственным унитарным предприятием «Всероссийский научно-исследовательский институт стандартизации и сертификации в машиностроении» (ВНИИНМАШ) и Техническим комитетом по стандартизации ТК 22 «Информационные технологии» на основе собственного аутентичного перевода на русский язык стандарта, указанного в пункте 4
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 22 «Информационные технологии»
3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 13 декабря 2011 г. № 1010-ст
4 Настоящий стандарт идентичен международному стандарту ИСО/МЭК 7816-7:1999 «Карты идентификационные. Карты на интегральных схемах с контактами. Часть 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)»).
При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты Российской Федерации, сведения о которых приведены в дополнительном приложении ДА
5 ВВЕДЕН ВПЕРВЫЕ
6 Некоторые положения международного стандарта, указанного в пункте 4, могут являться объектом патентных прав. Международная организация по стандартизации (ИСО) и Международная электротехническая комиссия (МЭК) не несут ответственности за идентификацию подобных патентных прав
Информация об изменениях к настоящему стандарту публикуется в ежегодно издаваемом информационном указателе «Национальные стандарты», а текст изменений и поправок — в ежемесячно издаваемом информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячно издаваемом информационном указателе «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет
©Стандартинформ, 2013
Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен в качестве официального издания без разрешения Федерального агентства по техническому регулированию и метрологии
SCQL профили пользователя характеризуются специальными полномочиями. Профиль пользователя приписывается идентификатору пользователя, находящемуся в таблице, описывающей пользователя. В таблице 1 показаны профили и приписываемые полномочия.
Таблица 1 — SCQL профили пользователя и приписываемые полномочия | |||||||||||||||
|
6 Команды, связанные с SCQL
Язык структурированных запросов для карты (SCQL) базируется на функциональных возможностях стандартизированного языка структурированных запросов (SQL). Операторы SQL отображаются на операции SCQL внутри команды PERFORM SCQL OPERATION (ВЫПОЛНИТЬ SCQL ОПЕРАЦИЮ) (см. рисунок 9 и таблицу 2).
7
SQL |
SQL |
SQL |
SQL |
SQL | |
оператор |
атрибут |
СЛОВО |
атрибут |
слово |
Тег операции
| ||||||||||||||||||||
‘10’ = ВЫПОЛНИТЬ SCQL ОПЕРАЦИЮ Lc |
Примечания
1 Схема кодирования для поля данных является упрощенной TLV структурой.
В силу того, что значение и позиция информационных объектов фиксированы, теги не нужны и вследствие этого не представлены в кодировании.
2 SQL слова не кодируют в попе данных.
3 Если несколько элементов группируются, то размер должен быть представлен до их группирования.
Рисунок 9 — Принцип отображения оператора SQL на SCQL операции
Обязательные параметры команды находятся всегда в последовательности, определенной в соответствующей командной таблице. Поэтому их тег не определен. Необязательные параметры представляют (если не указано иначе) в формате TLV.
Как и команда PERFORM SCQL OPERATION, две другие команды принадлежат к среде SCQL, но могут быть использованы также вне среды SCQL:
- команда PERFORM TRANSACTION OPERATION (ВЫПОЛНИТЬ ОПЕРАЦИЮ ТРАНЗАКЦИИ) (см. рисунок 10)и
- команда PERFORM USER OPERATION (ВЫПОЛНИТЬ ПОЛЬЗОВАТЕЛЬСКУЮ ОПЕРАЦИЮ) (см.
рисунок 10).
Команды в SCQL могут быть сгруппированы, как показано на рисунке 10.
8
CREATE TABLE BEGIN PRESENT USER
CREATE VIEW COMMIT CREATE USER
DROP TABLE ROLLBACK DELETE USER
DROP VIEW
CREATE DICTIONARY
GRANT
REVOKE
DECLARE CURSOR
OPEN
NEXT
FETCH
FETCH NEXT
INSERT
UPDATE
DELETE
Рисунок 10 — Команды в SCQL
Для команд, определенных в настоящем стандарте, коды команд и кодирование соответствующих операций показаны в таблице 2.
Таблица 2 — Коды команд и операций | ||||||||
|
Примеры использования и кодирования этих команд показаны в приложении А.
В следующих подразделах нижеприведенная система обозначений используется для описания операторов SQL:
- слова, написанные заглавными буквами, являются SQL словами (постоянные выражения языка
SQL);
- [ ] — необязательный;
-<...> — строка атрибута;
- ::= — состоит из;
-1 — или;
- * — все.
Для кодирования параметров используется следующая система обозначений:
- Lp — длина (кодированная в одном байте) последующего параметра;
-<...> — строка параметра, состоящая из байтов с длиной Lp и смысловым значением, данным в <...>.
Для кодирования размера D (например, число столбцов или число условий) применяются следующие правила:
D ::= N,
где N — число последующих элементов, закодированное в одном байте,
9
или
D ::= Ln<N>, где 1_п = ‘01' (N закодировано в одном байте).
Элемент состоит из одного или нескольких последовательных параметров. Размер ноль кодируется в одном байте, установленном на ‘00’. Смысловое значение нулевого размера — это или ‘все столбцы’, или ‘нет условий’, в зависимости от команды.
Кодирование операторов сравнения в условиях поиска осуществляется согласно таблице 3.
Таблица 3 — Кодирование операторов сравнения | |||||||||||||||||||||
|
Байты состояния SW1-SW2 ответа означают состояние обработки в карте. В таблице 4 показано общее смысловое содержание значений SW1-SW2, определенных в настоящем стандарте. Для каждой команды или выполняемой операции соответствующий пункт предусматривает более детальное содержание.
Для целей настоящего стандарта даны более точные определения значений байтов состояния, установленных в ИСО/МЭК 7816-4.
Таблица 4 — Байты состояния | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Окончание таблицы 4 | ||||||||||||||||||
|
Приняты следующие соглашения по кодированию идентификаторов:
<идентификатор> ::= «заглавная буква> [«заглавная буква> | «одноразрядное число> | <_>] «заглавная буква> ::= A|B|C|D|E|F|G|H|l|J|K|L|M|N|0|P|Q|R|S|T|U|V|W|X|Y|Z «одноразрядное число> ::= 0| 112|3|4|5|6|7|8|9 «имя таблицы> ::= «идентификатор, максимум 8 байтов»
«имя представления» ::= «идентификатор, максимум 8 байтов >
«имя словаря» ::= «задаваемая часть имени словаря><_><0|11|Р>
«имя столбца» ::= «идентификатор, максимум 8 байтов >
< задаваемая часть имени словаря» ::= «идентификатор, максимум 8 байтов» | SYSTAB
«user id1*» ::=
«individual id1 2> |
«group id3> «разделитель» «individual id» |
«group id» «разделитель» «subgroup id4>
«разделитель» < individual id» |
< group id > «разделитель» «звездочка» |
< group id» «разделитель» < subgroup id»
«разделитель» «звездочка» |
< group id > «разделитель» «звездочка»
«разделитель» «звездочка»
< group id» ::= «идентификатор, максимум 8 байтов»
< subgroup id» ::= «идентификатор, максимум 8 байтов»
< individual id>::= «идентификатор, максимум 8 байтов» | «special user id5 >
«разделитель» ::=.
«звездочка» ::= *
«special user id» ::= «держатель карты» | «любой пользователь»
«держатель карты» ::= CHOLDER «любой пользователь» ::= PUBLIC
CHOLDER — это общий идентификатор (пользователя) держателя карты. PUBLIC — это общий идентификатор пользователя для базового пользователя базой данных (см. таблицу 1).
Смысловое значение звездочки — «безразличное состояние», т. е. кодирование данной части не подвергается сравнению.
Для проверки идентификатора пользователя различают следующие случаи:
- если идентификатор пользователя индивидуальный, то он должен быть идентичен зарегистрированному идентификатору пользователя;
- если идентификатор пользователя состоит из идентификатора группы в комбинации с индивидуальным, то должны быть выполнены следующие шаги:
1) проверить, зарегистрирован ли полный идентификатор пользователя;
2) если нет, проверить, зарегистрирован ли < group id >.*;
- если идентификатор пользователя состоит из идентификатора группы в комбинации с идентификатором подгруппы и индивидуальным, то должны быть выполнены следующие шаги:
a) проверить, зарегистрирован ли полный идентификатор пользователя;
b) если нет, проверить, зарегистрирован ли <group id >.<subgroup id>.*;
c) если нет, проверить, зарегистрирован ли < group id >.*.*.
Верификация идентификатора пользователя выполняется, если выполняется операция PRESENT USER, а также в ситуации, когда требуется управление доступом к таблицам, представлениям и словарям (см. DECLARE CURSOR и INSERT).
Примечание — Механизм создания группы пользователей не является частью языка SQL.
Для атрибутов секретности приняты следующие соглашения:
«атрибуты секретности> ::= «информационный объект, связанный с защитой, как определено в других стандартах серии ИСО/МЭК 7816, например, для аутентификации или управления доступом»
Атрибуты секретности, связанные с таблицами и представлениями, могут относиться к процедурам аутентификации, предваряющим доступ, или описывать применяемые механизмы безопасного обмена сообщениями, если выполняются операции манипулирования данными (например, считывание и запись в конфиденциальном режиме).
Атрибуты секретности, закрепленные за пользователем, относятся к аутентификации пользователя.
Если последний столбец таблицы называется USER (ПОЛЬЗОВАТЕЛЬ), то карта будет поддерживать регистрацию пользователя, производящего последнее изменение в таблице. Операция соединения состоит из вставки текущего идентификатора пользователя, установленного с помощью операции PRESENT USER, в столбец USER во время выполнения операции INSERT. Если выполняется операция UPDATE, то карта переписывает существующий идентификатор пользователя в столбце USER на текущий идентификатор пользователя.
SCQL операция CREATE TABLE задает таблицу со своими столбцами и, возможно, с атрибутами секретности. Определение таблицы добавляется в таблицу, описывающую объекты.
Таблица может быть создана только пользователями с профилями DB_0 и DBOO.
Данная SCQL операция относится к следующему SQL оператору:
CREATE TABLE «имя таблицы» «список элементов таблицы» [«атрибут секретности»,...]
«имя таблицы» ::= «идентификатор, см. 6.5»
«список элементов таблицы» ::= («определение столбца > [, < определение столбца >...] [«столбец USER»])
< атрибут секретности» ::= «DO, связанный с защитой, см. 6.6»
«определение столбца > ::= «имя столбца >
[<разделитель»«наложение ограничения по уникальности»]
[«разделитель ><тип данных»]
«имя столбца > ::= «идентификатор, см. 6.5»
< столбец USER, см. 6.7» ::= USER
< наложение ограничения по уникальности > ::= U «разделитель» ::=.
<тип данных> ::= «символ переменной (длина)>
«символ переменной (длина)> ::= У«длина>
<длина> ::= «двоично-кодированная длина в 1 байт>
Если наложение ограничения по уникальности используется и картой поддерживается, то карта должна обеспечить, чтобы все значения в соответствующем столбце были уникальными.
Если представлен и картой поддерживается индикатор переменной длины (т. е. максимальная длина), то карта должна проверить, не превышает ли предъявленная длина столбца указанную максимальную длину.
Таблица 5 — Командный APDU команды PERFORM SCQL OPERATION на операцию CREATE TABLE | ||||||||||||||
|
Таблица 6 — Ответный APDU команды PERFORM SCQL OPERATION на операцию CREATE TABLE | ||||
|
Могут возникать следующие специфические состояния ошибки:
- если байт SW1 = ‘69’, а байт SW2 =
‘82’: Состояние защиты неудовлетворительное;
- если байт SW1 = ‘6А’, а байт SW2 =
‘80’: Некорректный(ые) параметр(ы) в поле данных;
‘84’: Области памяти недостаточно;
‘89’: Объект уже существует.
SCQL операция CREATE VIEW задает представление на таблицу. Определение представления добавляется в таблицу, описывающую объекты.
Представление может быть создано только владельцем ссылочной таблицы.
Данная SCQL операция относится к следующему SQL оператору:
CREATE VIEW «имя представления> AS «определение представления> [«атрибут секретности >,...] «имя представления> ::= «идентификатор, см. 6.5>
«определение представления» ::= SELECT < список выбора > FROM «имя объекта» [WHERE «условие поиска» [AND < условие поиска >, ...]]
13
«атрибут секретности > ::= <DO, связанный с защитой, см. 6.6>
< список выбора > ::= *| «имя столбца > [, < имя столбца >]
«имя объекта> ::= «имя таблицы>
«условие поиска> ::= «имя столбца > «оператор сравнения> <строка>
«оператор сравнения> ::= = | < | > | < | > | ф «строка > ::= ‘«последовательность байтов»’
* = все столбцы
Таблица 7 — Командный APDU команды PERFORM SCQL OPERATION на операцию CREATE VIEW | ||||||||||||||
| ||||||||||||||
Примечание — Если представлено несколько условий, то они неявным образом объединяются логической операцией И. |
7.2.4 Ответное сообщение
Таблица 8 — Ответный APDU команды PERFORM SCQL OPERATION на операцию CREATE VIEW | ||||
|
7.2.5 Состояния после обработки
Могут возникать следующие специфические состояния ошибки:
- если байт SW1 = ‘69’, а байт SW2 =
‘82’: Состояние защиты неудовлетворительное;
- если байт SW1 = ‘6А’, а байт SW2 =
‘80’: Некорректный(ые) параметр(ы) в поле данных;
‘84’: Области памяти недостаточно;
‘88’: Ссылочный объект не найден;
‘89’: Объект уже существует.
7.3 СОЗДАТЬ СЛОВАРЬ (CREATE DICTIONARY)
7.3.1 Определение и область применения
SCQL операция CREATE DICTIONARY задает представление на системные таблицы *0, *U и *Р. Определения фиксированного представления добавляются картой в таблицу, описывающую объекты (см. таблицы 10 и 11). Какие строки системных таблиц могут быть считаны, зависит от профиля пользователя.
Примечание — У данной команды нет эквивалента в языке SQL.
ГОСТ Р ИСО/МЭК 7816-7—2011
7.3.2 Условия использования и защиты
Словарь может быть создан только DB O или DBOO.
7.3.3 Командное сообщение
Данная SCQL операция относится к следующему оператору расширения SQL:
CREATE DICTIONARY «задаваемая часть имени словаря>
«задаваемая часть имени словаря> ::= «идентификатор, максимум 6 байтов, см. 6.5> | SYSTAB
Примечание — Задаваемая часть имени словаря заканчивается картой с добавлением _0 для представления таблицы, описывающей объекты, U для представления таблицы, описывающей пользователей, и _Р для представления таблицы, описывающей привилегии. Если необходимо, SYSTAB должно использоваться в качестве общего имени словарей.
Таблица 9 — Командный APDU команды PERFORM SCQL OPERATION на операцию CREATE DICTIONARY | ||||||||||||||
|
Таблица 10 — Вводимые строки, если пользователем является DB_0 | ||||||||||||||||||||
| ||||||||||||||||||||
Примечание — Поскольку столбец OBJOPT пуст, то в таблице 10 он не показан. |
Таблица 11 — Вводимые строки, если пользователем является DBOO | ||||||||||||||||||||
| ||||||||||||||||||||
Примечание — Поскольку столбец OBJOPT пуст, то в таблице 11 он не показан. |
ГОСТ Р ИСО/МЭК 7816-7—2011
7.3.4 Ответное сообщение
Таблица 12 — Ответный APDU команды PERFORM SCQL OPERATION на операцию CREATE DICTIONARY | ||||
|
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 Командное сообщение
Данная SCQL операция относится к следующему SQL оператору:
DROP TABLE <имя таблицы>
Таблица 13 — Командный APDU команды PERFORM SCQL OPERATION на операцию DROP TABLE | ||||||||||||||
|
7.4.4 Ответное сообщение
Таблица 14 — Ответный APDU команды PERFORM SCQL OPERATION на операцию DROP TABLE | ||||
|
7.4.5 Состояния после обработки
Могут возникать следующие специфические состояния ошибки:
- если байт SW1 = ‘69’, а байт SW2 =
‘82’: Состояние защиты неудовлетворительное;
- если байт SW1 = ‘6А’, а байт SW2 =
‘80’: Некоррекгный(ые) параметр(ы) в поле данных;
‘88’: Ссылочный объект не найден.
16
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
С помощью SCQL операции DROP VIEW может быть удалено представление.
Представление может быть удалено только его владельцем. Привилегии, связанные с представлением, должны быть удалены автоматически.
Данная SCQL операция относится к следующему SQL оператору:
DROP VIEW <имя представления или имя словаря>
Таблица 15 — Командный APDU команды PERFORM SCQL OPERATION на операцию DROP VIEW | ||||||||||||||
| ||||||||||||||
7.5.4 Ответное сообщение |
Таблица 16 — Ответный APDU команды PERFORM SCQL OPERATION на операцию DROP VIEW | ||||
|
Могут возникать следующие специфические состояния ошибки:
- если байт SW1 = ‘69’, а байт SW2 =
‘82’: Состояние защиты неудовлетворительное;
- если байт SW1 = ‘6А’, а байт SW2 =
‘80’: Некорректный(ые) параметр(ы) в поле данных;
‘88’: Ссылочный объект не найден.
SCQL операция GRANT позволяет предоставлять привилегии одиночному пользователю, группе пользователей или всем пользователям.
Могут быть предоставлены следующие привилегии:
a) привилегии для доступа к таблице:
-SELECT (ВЫБРАТЬ);
-INSERT (ВСТАВИТЬ);
-UPDATE (ОБНОВИТЬ);
- DELETE (УДАЛИТЬ);
b) привилегии для доступа к представлению:
- SELECT;
- UPDATE;
c) привилегии для доступа к словарю:
- SELECT.
Примечание — Если для получения доступа в дополнение к привилегии от держателя карты требуется прохождение процедуры авторизации (т.е. предоставление пароля) до того, как может быть выполнено соответствующее действие, то авторизация доступа должна быть определена в атрибутах секретности, установленных для соответствующей таблицы или представления.
17
Настоящий стандарт — один из серии стандартов, описывающих параметры карт на интегральных схемах с контактами и их применение в рамках обмена информацией.
Данные идентификационные карты предназначены для обмена информацией, основанного на согласованиях между внешним источником и интегральной схемой карты. В результате такого обмена карта поставляет информацию (результаты вычислений, хранимые данные) и (или) изменяет свое содержимое (память данных, память событий).
ИСО/МЭК 7816-7:1999 был подготовлен подкомитетом № 17 «Карты и идентификация личности» совместного Технического комитета № 1 ИСО/МЭК «Информационные технологии».
Во время подготовки настоящего стандарта была собрана информация относительно соответствующих патентов, от которых могло зависеть применение данного стандарта. Соответствующие патенты были идентифицированы во Франции. Обладателем патента является Gemplus. Однако ИСО не может дать официальную или полную информацию о данных, действительности или области применения патента или об аналогичных правах.
Обладатель данного патента заявил о предоставлении лицензии в приемлемые сроки, чтобы допустить применение настоящего стандарта на взаимовыгодных условиях.
Информацию можно получить по адресу:
GEMPLUS
В.Р. 100
13881 GEMENOS CEDEX
FRANCE
IV
Identification cards. Integrated circuit(s) cards with contacts. Part 7.
Interindustry commands for Structured Card Query Language (SCQL)
Дата введения 2013 — 01 — 01
Настоящий стандарт устанавливает:
-понятие баз данных SCQL (SCQL — язык структурированных запросов для карты, основанный на SQL, см. ИСО 9075);
- соответствующие межотраслевые расширенные команды.
В настоящем стандарте использованы нормативные ссылки на следующие стандарты1*:
ИСО/МЭК 9075:19926 Информационные технологии. Языки баз данных. SQL2 (язык структурированных запросов) (ISO/IEC 9075:1992, Information technology — Database languages — SQL2)
ИСО/МЭК 7816-4:19953) Карты идентификационные. Карты на интегральных схемах с контактами. Часть 4. Межотраслевые команды для обмена (ISO/IEC 7816-4:1995, Information technology — Identification cards — Integrated circuit(s) cards with contacts — Part 4: Interindustry commands for interchange)
ИСО/МЭК 7816-6:19964* Карты идентификационные. Карты на интегральных схемах с контактами. Часть 6. Элементы данных для межотраслевого обмена (ISO/IEC 7816-6:1996, Identification cards— Integrated circuit(s) cards with contacts — Part 6: Interindustry data elements)
В настоящем стандарте применены следующие термины с соответствующими определениями:
3.1 базовый пользователь базой данных (database basic user): SCQL пользователь без присущих прав.
3.2 файл базы данных (database file): Структурированная совокупность объектов базы данных (таблицы, представления, словари), представляющая содержимое базы данных.
3.3 владелец объекта базы данных (database object owner): Пользователь SCQL со специальным правом создавать и удалять объекты и управлять привилегиями на эти объекты.
3.4 владелец базы данных (database owner): Первичный пользователь SCQL, который управляет объектами и пользователями базы данных.
3.5 словарь (dictionary): Представление на системную таблицу.
^ Для соблюдения требований настоящего стандарта, выраженных в датированных ссылках, рекомендуется использовать только указанные ссылочные стандарты.
2> Отменен. Действуют ИСО/МЭК 9075-1:2008, ИСО/МЭК 9075-2:2008, ИСО/МЭК 9075-3:2008, ИСО/МЭК 9075-4:2008, ИСО/МЭК 9075-9:2008, ИСО/МЭК 9075-10:2008, ИСО/МЭК 9075-11:2008, ИСО/МЭК 9075-13:2008, ИСО/МЭК 9075-14:2008.
3> Отменен. Действует ИСО/МЭК 7816-4:2013.
4> Отменен. Действует ИСО/МЭК 7816-6:2004.
Издание официальное
3.6 системная таблица (system table): Таблица, обслуживаемая картой, для управления структурой базы данных и доступом к базе данных.
3.7 таблица (table): Объект базы данных с уникальным именем и структурированный в столбцы и строки.
3.8 представление (view): Логическое подмножество таблицы.
В настоящем стандарте применяют следующие сокращения:
APDU —блок данных прикладного протокола (Application protocol data unit);
API — интерфейс программирования приложений (Application programming interface);
DB — база данных (Database);
DB_0 — владелец базы данных (Database owner);
DBBU — базовый пользователь базой данных (Database basic user);
DBF — файл базы данных (Database file);
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).
База данных в карте согласно настоящему стандарту называется базой данных SCQL, так как команды для реализации доступа базируются на функциональных возможностях SQL (см. ИСО 9075) и кодируются в зависимости от принципов межотраслевых команд, как определено в ИСО/МЭК 7816-4. Сама база данных является структурированной совокупностью объектов базы данных, называемой файлом базы данных DBF. Ниже назначенного файла DF должно быть не более одного файла базы данных DBF, который становится доступным после выбора соответствующего назначенного файла DF. База данных также может быть непосредственно прикреплена к главному файлу MF.
На рисунке 1 показан пример реализации базы данных в карте. 6
Рисунок 1 — Приложение с базой данных в мультиприкпадной карте (пример) |
ГОСТ Р ИСО/МЭК 7816-7—2011
Система приложений может взаимодействовать с базой данных SQL так же, как и с базой данных SCQL, используя тот же SQL-API (API — Application programming interface, интерфейс программирования приложений). Таким образом, карта, поддерживающая базу данных SCQL, может быть представлена частью среды распределенной базы данных SQL. На рисунке 2 показана типичная SQL конфигурация с картой, интегрированной в системное проектирование.
Система приложений SQL-API
SQL-
база
данных
SQL- SQL-
команды команды
SCQL-
команды
SCQL-
база
данных
IFD/ICC
интерфейс
Рисунок 2 — База данных SCQL как часть среды распределенной базы данных SQL (пример)
5.2 Таблицы SCQL
База данных SCQL содержит объекты, называемые таблицами, представлениями и словарями. Каждый объект для ссылки на него может быть снабжен уникальным идентификатором.
Таблица является структурированным информационным объектом с уникальным именем внутри базы данных. Она состоит из поименованных столбцов и строк. Количество строк может быть концептуально безграничным (т. е. ограничивается только доступным пространством памяти на карте) или ограниченным. Пример таблицы и ее главных характеристик показан на рисунке 3.
Имя таблицы | ||
Имя столбца 1 |
Имя столбца 2 |
Имя столбца 3 |
Строка 1 Строка 2 Строка 3 Характеристики:
- Имя таблицы: уникальное, максимум 8 символов;
- Число таблиц: стандартом не регламентировано;
- Имя столбца в таблице: уникальное, максимум 8 символов;
- Число столбцов внутри таблицы: 1-15;
- Максимальное количество строк: не определено или фиксированное;
- Размер столбца: 0 - 254 байта, если не указан;
-Тип данных столбца: строка.
Рисунок 3 — Таблица SCQL (пример) и ее главные характеристики
3
После создания таблицы ее структура постоянна, т. е. ни один из существующих столбцов не может быть удален, а также новые столбцы не могут быть вставлены. С таблицами разрешены следующие действия:
-чтение (выделение);
- вставка;
-обновление;
-удаление.
Представление является логическим подмножеством таблицы, которое определяет доступную часть таблицы. Различают два типа представлений:
- представление (см. рисунок 4), которое по определению фиксирует доступные столбцы, называется в данном контексте статическим представлением и
- представление (см. рисунок 5), которое ограничивает доступ к тем строкам, содержание которых совпадает с определенными условиями (например, к строкам, значение которых больше «20»), называется в данном контексте динамическим представлением.
Рисунок 4 — Статическое представление SCQL (пример) |
4
Рисунок 5 — Динамическое представление SCQL (пример) |
Возможны также комбинации статического и динамического представлений в одном и том же определении представления.
Так же, как и таблица, представление имеет уникальное имя в базе данных SCQL. Несколько представлений могут быть определены для одной и той же таблицы.
С представлениями могут быть разрешены следующие действия:
-чтение (выделение);
-обновление.
Системные таблицы поддерживаются картой и содержат информацию, необходимую для управления структурой базы данных и доступом. Системных таблиц три:
- таблица, описывающая объекты (имя *0);
- таблица, описывающая пользователей (имя *11);
- таблица, описывающая привилегии (имя *Р).
Таблица, описывающая объекты, содержит информацию о таблицах и представлениях, хранящихся в базе данных.
Таблица, описывающая пользователей, содержит информацию о пользователях, которые имеют доступ к базе данных.
Таблица, описывающая привилегии, содержит информацию о привилегиях над таблицами и представлениями в базе данных. Привилегии описывают, какие таблицы и какие представления могут быть доступны тем или иным пользователям и какие действия могут быть разрешены этим пользователям с соответствующей таблицей или представлением.
На рисунках 6—8 показаны системные таблицы с их обязательными столбцами.
Для доступа к информации, содержащейся в системных таблицах, могут быть созданы представления на эти системные таблицы. Представление на системную таблицу называется словарем SCQL. Единственное действие со словарем, которое разрешено пользователю, — это чтение (выделение).
5
1 OBJNAM |
OBJOWN |
OBJTYP |
OBJDES |
OBJOPT 1 | |
1 I |
I |
. / | |||
1 Имя объекта (имя таблицы или представ-I пения,уникальное) |
1 Владелец объекта (идентификатор пользователя) |
| Тип объекта (Т - таблица, V - представление) |
1 Дескриптор объекта (имена столбцов в случае |
1 Опции объекта (информационные объекты, связанные с защитой, например для аутентификации) 1 |
таблицы, определение представления в случае представления)
Примечание - Данная системная таблица может содержать дополнительные столбцы, связанные с реализацией.
Рисунок 6 — Таблица, описывающая объекты
*U (таблица, описывающая пользователей)
USERID |
|
Идентифи- Профиль
катор поль- пользователя:
зоватепя DB_0 = владелец DB
(уникальный) DBOO = владелец объекта DB
DBBU = базовый пользователь DB
Идентификатор (пользователя) впадепьца-пользова-тепя (лицо, которое присваивает идентификатор пользователя)
Опции пользователя (информационные объекты, связанные с защитой)
Примечание - Данная системная таблица может содержать дополнительные столбцы, связанные с реализацией.
Рисунок 7 — Таблица, описывающая пользователей | ||||||||||||||||
| ||||||||||||||||
Примечание - Данная системная таблица может содержать дополнительные столбцы, связанные с реализацией. |
Рисунок 8 — Таблица, описывающая привилегии
1
^ Идентификатор пользователя.
2
) Индивидуальный идентификатор.
3
) Идентификатор группы.
4
) Идентификатор подгруппы.
5
) Специальный идентификатор пользователя.
11
6