Информационная безопасность должна гарантировать конфиденциальность (разумное ограничение доступа), целостность и достоверность информации, а также обеспечить учет и анализ всех событий, в ходе которых информация создается, модифицируется и распространяется по сети.
Общая концепция безопасности
Общая концепция IBM при формировании архитектуры безопасности построена на основе определений стандарта ISO 7498-2, в которых представлены следующие базовые механизмы обеспечения безопасности:
идентификация и аутентификация (проверка подлинности) пользователей и взаимодействующих объектов;
управление доступом, понимаемое как избирательное разрешение или отклонение запросов авторизованных пользователей (объектов) на доступ к ресурсам;
конфиденциальность данных, гарантирующая их раскрытие только теми людьми (объектами), которым они предназначены;
целостность данных, гарантирующая устойчивость к неавторизованной модификации содержания хранимых или передаваемых данных;
доступность как способность обеспечивать беспрепятственный контроль выполнения транзакций.
При этом достижение концептуальных целей реализации названных механизмов в подходе IBM предусматривается на трех уровнях:
Платформенном (или операционных систем), на котором главным образом решаются задачи идентификации и аутентификации пользователей, управления доступом и целостности системного кода. Типичным примером этого в z/OS является использование средства системной авторизации SAF (System Authorization Facility) и внешнего менеджера безопасности RACF (Resource Access Control Facility) - широко известном средстве управления доступом к ресурсам, разработанном компанией IBM.
Сетевом, расширяющем возможности реализации политики безопасности SP (Security Policy) на случай сетевых технологий вычислений и манипуляции с данными, включая функции обеспечения конфиденциальности и целостности. Примерами реализации этих механизмов в Z/OS являются технологии межсетевых экранов (брандмауэров) и сервиса обнаружения вторжений IDS (Intrusion Detection Services). Первые из них реализуют набор правил, определяющих условия прохождения протокольных блоков данных через межсетевые границы. Сервисы IDS идентифицируют, документируют и анализируют подозрительные с точки зрения угроз безопасности события, а также извещают о них операторов.
Обмена данными (транзакций). Этот уровень подразумевает предоставление приложениям дополнительных сервисов, позволяющих осуществлять защиту поверх базовых средств обеспечения безопасности. Примером такой реализации механизмов безопасности является протокол уровня защищенных сокетов SSL (Secure Socket Layer), разработанный компанией Netscape Communications Corporation. Этот протокол создает защищенное сквозное соединение виртуальной сети, обеспечивая взаимную аутентификацию абонентов, а также конфиденциальность, подлинность и целостность циркулирующей по соединению информации.
Как отмечено выше, в основе реализации механизмов безопасности первого уровня лежит использование средства SAF, являющегося частью операционной системы и обеспечивающего интерфейс между источниками запросов на доступ к ресурсам системы и структурой обеспечения безопасности, которая традиционно представляется в форме RACF. SAF и RACF работают совместно (рис. 4.16.) при определении возможности доступа к ресурсу. В качестве защищаемых ресурсов выступают наборы данных, мини-диски, терминалы, транзакции, ресурсы, описанные при установке пользователями и др.
(рис 4.16) Реализация механизмов безопасности средствами SAF и RACFОсновываясь на первичном запросе пользователя, менеджер ресурса формирует свой запрос и передает его SAF. В зависимости от типа запроса SAF или создает ответ или транслирует запрос RACF. При этом не требуется обращение к базе данных RACF, если ответ может быть оформлен с учетом данных, хранящихся в памяти профилей.
Примерами менеджеров ресурсов являются:
CICS (Customer Information Control System) при входе в диалоговую систему и авторизации транзакций CICS;
z/OS Unix - ядро доступа к файлам, авторизации и др.,
DFSMS (Data Facility Storage Management Subsystem) для доступа к наборам данных и представления полномочий.
IBM реализовала продукт SAF, используя макрос, называемый RACROUTE [4.12], который обеспечивает выполнение подфункций для каждого выводимого макроса безопасности. Например, собранной программе нужно определить лишь RACROUTE REQUEST=VERIFY для верификации пользовательского идентификатора и RACROUTE REQUEST= AUTH для проверки авторизации.
Представленная концепция позволяет настраивать систему безопасности на использование различных продуктов безопасности. По мере появления усовершенствованных продуктов (например, модификации RACF) компания IBM обеспечивает включение дополнительных функций безопасности в SAF. Так, в течение нескольких последних лет SAF был адаптирован к обработке в среде Unix на мэйнфреймах с использованием вызываемых сервисов для интерпретации широкого спектра приложений, таких как Java. Основными функциями SAF являются:
обеспечение и поддержание безопасной среды для всех работ;
корректное распространение информации, связанной с безопасностью. В частности, SAF выполняет раннюю верификацию и авторизацию такого рода информации (идентификаторов пользователей и паролей) даже если RACF отсутствует или неактивно;
создание и обслуживание идентификаторов защиты (токенов защиты), понимаемых как группа атрибутов защиты и существующих в форме перемещаемых структур данных. Токены позволяют ассоциировать среду безопасности с состоянием (активно, неактивно) исполняемых задач. Для генерации и обслуживания токенов SAF использует сервисы RACROUTE.
Сервер защиты z/OS Security Server (RACF)
Сервер защиты z/OS Security Server представляет собой пакет программ под операционной системой z/OS и включает четыре основных компонента:
RACF;
DCE Security Server;
OS/390 Firewall Technologies;
LDAP (Lightweight Directory Access Protocol).
В пакет включены многие другие продукты, например, средство криптографии OCEP (Open Cryptographic Enhanced Plugin), сервер ключей (IKE демон) для автоматической инсталляции распределенных ключей защиты между конечными точками виртуальной частной сети VPN (Virtual Private Network), NAS (Network Authentication Service), Kerberos и др. Для эффективного поддержания механизмов управления доступа к наборам данных и ресурсам системы Z/OS Security Server обеспечивает:
идентификацию пользователя, совершающего попытку получить доступ к защищенной системе;
определение и подтверждение подлинности и полномочий пользователя при его входе в систему;
разрешение доступа к защищенному ресурсу только авторизованным пользователям, имеющим полномочия доступа соответствующего уровня;
предоставление удобного способа выполнять административные функции защиты;
регистрацию и отчет попыток неавторизованного доступа к защищенным ресурсам;
создание списка защищенных паролем ресурсов и уровня защиты, заданного для каждого ресурса.
RACF имеет специального пользователя, называемого администратором защиты, который наделен полномочиями определять пользователей и ресурсы для RACF. Администратор защиты может авторизовать и других пользователей для выполнения задач администрирования.
RACF заносит информацию о пользователях, ресурсах и авторизациях доступа в профили своей базы данных и обращается к ней (или к памяти профилей) при анализе полномочий каждого пользователя по доступу к защищенным системным ресурсам. В качестве защищаемых RACF компонентов выступают:
наборы данных, хранимых в DASD (Direct Access Storage Devices) и на магнитных лентах;
общие классы ресурсов, такие как загрузочные модули, терминалы, приложения и др., представленные в табл. 4.3.
Защищаемые RACF общие ресурсы
| Классы ресурсов |
Примечание |
| Тома Памяти |
DASD; на магнитных лентах |
| Загрузочные модули (программы) |
|
| IMS (Information Management System) |
транзакции; группы транзакций; группы приложений |
| Векторные операции |
|
| OPC/A (Operations Planning and Control/Advanced) |
|
| TSO |
Logon процедуры; учетные номера; атрибуты пользователей; группы заданной производительности |
| CICS |
Транзакции; запущенные транзакции; блоки описания спланированных программ; файлы; журналы; программы; маршруты пересылки данных; описания временной памяти |
| DFSMS |
Класс управления; класс памяти |
| Приложения |
Net View; MQM (Message Queue Manager); DB2; RSF (Remote Sharing Facility) и др. |
| Ресурсы, описанные установкой (Installation - defined resources) |
|
RACF обеспечивает дополнительную поддержку функций защиты и ведения единого репозитория, взаимодействуя с такими продуктами, как APPC, LAN File Service, Tivoli Management, Environment и др.
RACF различает классы ресурсов, функционально подобные друг другу. Например, том на магнитной ленте, независимо от его содержания или физического размещения, представляет специфичный способ хранения данных (тома на магнитных лентах - ресурсный класс). Терминалы также представляют класс ресурсов, так как вне зависимости от различий в физических атрибутах, они выполняют похожие операции ввода/вывода. Управляющая информация по классам ресурсов представлена в таблице описания классов (Class Descriptor Table) и включает имя класса, синтаксические правила для имен внутри класса, местоположение флагов класса (аудит, статистика).
RACF поддерживает информацию о пользователях, ресурсах и авторизации доступа в профилях RACF, хранимых в базе данных, и обращается к ним в случаях определения прав пользователей на доступ к защищаемым ресурсам.
Пользовательские профили (таблица 4.4) создаются для каждого из них, определенного в RACF. Атрибуты пользователя определяют ответственность, полномочия и ограничения, которыми обладает определенный пользователь (выполнение административных задач, модификация RACF профилей, выполнение задач аудита, задач оператора, технической поддержки и пр.). Категории защиты данных (Security Classification) определяют способность пользователей иметь доступ к защищенным ресурсам.
Структура пользовательского интерфейса
| Идентификатор пользователя (User ID) |
Пароль (Password) |
Атрибуты пользователя (User attributes) |
Классификатор безопасности (Security classification) |
Данные регистрации в системе разделения времени (TSO login data) |
Другие данные (Other data) |
|
В шифрованном виде |
|
Пользователи могут быть объединены в группы с групповым идентификатором GID (Groups Identifier), как совокупность пользователей, имеющих одинаковые системные атрибуты.
В таблице 4.5 показаны главные поля профиля общих ресурсов. В поле <Полномочия по доступу> определяются по запросу пользователей возможности чтения, обновления или модификации данных. Существует три типа профилей ресурсов (для наборов данных и общих ресурсов): дискретные, общие и групповые. Дискретные профили имеют соотношение с ресурсом <один-к-одному>, т.е. один профиль для каждого ресурса. Обычно используются для доступа к секретным ресурсам.
Структура профиля общих ресурсов
| Имя ресурса (Resource name) |
Владелец профиля (Profile Owner) |
Полномочия по доступу (Universal access authority) |
Список пользователей или групп уполномоченных (Access list of authorized users or groups) |
Класс безопасности (Security classification) |
Опция аудита (Auditing option) |
Опция предупреждения (Warning option) |
Опция уведомления (Notification option) |
Общие профили реализуют соотношение <один-ко-многим>, т.е. один профиль управляет доступом к одному или многим ресурсам. Они содержат список авторизованных пользователей и полномочия по доступу для каждого из них. Один общий профиль может защищать множество наборов данных, имеющих сходную структуру именования (например, в форме уровневых префиксов). Поэтому главным преимуществом общих профилей является возможность существенной экономии объема БД RACF и времени на обработку запросов.
В случае групповых профилей множество ресурсных имен ассоциируется с одним RACF-профилем, который содержит имена объединяемых ресурсов.
Определение и проверка полномочий пользователей (идентификация и аутентификация)
RACF использует идентификатор пользователя ID для определения личности пользователя, пытающегося получить доступ к системе, и пароль для подтверждения подлинности идентификатора [4.13].
При верификации определений пользователей и персональном учете RACF предполагает, что только одному пользователю известна его особая комбинация пароль-идентификатор.
В ходе определений и проверки RACF определяет:
имеется ли описание пользователя в RACF;
имеет ли пользователь действующий пароль (или альтернативное средство) и групповое имя;
правильность UID или GID в системе z/OS Unix System Services;
не находится ли UID в статусе REVOKE (отмены полномочия), который вообще предотвращает вход в систему пользователя или определенных групп;
может ли пользователь работать в системе в этот день или время дня (ограничение накладывается при инсталляции);
разрешен ли доступ пользователя к терминалу;
разрешен ли пользовательский доступ к приложению.
После завершения этих процедур RACF определяет область полномочий пользователя для текущей терминальной сессии или выполнения пакетного задания.
Альтернативы применения паролей
В среде z/OS RACF допускает ряд альтернативных возможностей использования паролей:
предоставляет рабочим станциям и клиентским машинам в среде клиент-сервер возможность задействовать <билет передачи> (Pass Ticket) вместо пароля. Pass Ticket может быть сгенерирован RACF или другой авторизованной функцией и применяться только один раз на данной компьютерной системе в пределах десяти минут после порождения;
использование карты описания оператора (OIDCARD) вместо или помимо пароля в течение терминальной сессии. Требование от пользователя не только знания пароля, но и предоставления OIDCARD дает дополнительную гарантию того, что идентификатор пользователя был введен истинным пользователем;
в среде z/OS Unix System Services, где пользователи идентифицируются с помощью числовых идентификаторов UID и групповыми идентификаторами GID, последние также могут использоваться RACF для управления доступом к системным ресурсам. В отличие от имен пользователей и групповых имен, эти числовые идентификаторы могут использоваться несколькими пользователями или группами одновременно, хотя такое совместное применение не рекомендуется;
в среде клиент-сервер RACF может отображать цифровые сертификаты клиентов на пользовательские идентификаторы. Цифровые сертификаты или цифровые ID, выдаваемые администратором сертификатов (Certificate Authority) содержат информацию, которая, подобно паспортной системе, уникально идентифицирует клиента.
Например, IBM HTTP Server for z/OS отождествляет клиентов, используя клиентские сертификаты, на защищенной SSL-сессии. При этом НТТР-сервер передает клиентский цифровой сертификат системе z/OS Unix System Services для подтверждения, которая далее передает сертификат RACF для поиска пользовательского IP из профиля отображений в БД RACF. Таким образом, доступ к защищенным Web-страницам или другим ресурсам осуществляется без ID и пароля пользователя.
Авторизация пользователя для получения доступа к ресурсам
После идентификации и проверки полномочий пользователя RACF осуществляет контроль взаимодействия между пользователем и системными ресурсами. RACF по запросу менеджеров ресурсов определяет не только то, какие пользователи могут получить доступ, но и уровень доступа, например, READ (для чтения, отображения или копирования ресурса) или UPDATE (для записи, модификации или передачи ресурса). Уровни доступа организованы в RACF иерархически. Так, UPDATE включает READ и т.д.
Для выполнения задач авторизации RACF использует макрос RACROUTE=AUTH. Пользователь получает доступ к ресурсу после выполнения следующих действий:
Контроля профилей на предмет наличия у пользователя соответствующих прав. Наборы данных z/OS защищены профилями класса DATASET.
Проверки категорий (классов) защиты, установленных для пользователей, и данных. Сначала RACF сравнивает уровень защиты пользователя и профилей защиты. При этом если ресурс имеет более высокий уровень защиты, чем пользователь, то RACF отклоняет запрос. Затем RACF сравнивает список категорий доступа в профиле пользователя со списком категорий в профиле ресурса. Если последний содержит категорию, которой нет в профиле пользователя, запрос также отклоняется.
Предоставляет пользователю доступ к ресурсу, если удовлетворяется любое из условий:ресурс является набором данных и префикс высшего уровня соответствует идентификатору пользователя;
идентификатор пользователя имеется в списке доступа с достаточными правами;
достаточный уровень полномочия по доступу (universal access authority).
Регистрация и составление отчетов
Идентифицировав и проверив полномочия пользователя и установив затем ограничения на доступ к ресурсам, RACF производит регистрацию попыток пользователей получить доступ к системе и защищенным ресурсам, ввода команд RACF, а также составляет отчеты с информацией обо всех попытках получения доступа к защищенным ресурсам. RACF регистрирует эти события главным инструментом z/OS - SMF (System Management Facility) 80-го типа записей.
Управление защитой
Требования к защите изменяются в зависимости от потребностей конкретной системы обработки данных. RACF позволяет удовлетворить требования к защите для каждой отдельной системы обработки данных, предоставляя возможность выбрать конкретный способ управления защитой из ряда возможностей: гибкое управление доступом к защищенным ресурсам; защита ресурсов, описанных при инсталляции; возможность сохранять информацию для других программных продуктов; выбор централизованного или децентрализованного управления профилями; простые в применении панели ввода RACF-команд ISPF (Interactive System Productivity Facility); прозрачность для конечных пользователей, которые не обязаны знать о том, что RACF защищает их данные; возможность использования программ выхода, написанных для каждой конкретной инсталляции; текущий контроль защиты данных; составление отчетов RACF.
Гибкое управление
RACF позволяет системе обработки данных устанавливать собственные правила для осуществления контроля доступа к ресурсам. Она может определять, что является защищенным, на каком уровне и кто имеет право получить доступ к защищенным ресурсам. Благодаря гибкой структуре RACF любая информационная система может настроить RACF на взаимодействие со своей операционной средой. Благодаря возможности настройки управления защитой при инсталляции каждая информационная система может адаптировать средства RACF под свои потребности защиты.
Защита ресурсов, описанных при инсталляции
Кроме предварительно определенных ресурсов, таких как наборы данных, мини-диски, терминалы и транзакции, определенные для IMS/ESA и CICS/ESA, RACF позволяет вычислительной системе защищать свои ресурсы, описанные при инсталляции. Наличие такой возможности существенно увеличивает гибкость управления ресурсами, которые могут быть защищены в вычислительной системе.
В среде с системно-управляемой памятью RACF позволяет администратору памяти управлять использованием классов данных и памятью, а также дает возможность передавать информацию другим программным продуктам.
RACF обеспечивает сохранение информации, необходимой для других продуктов, если эта информация относится к тем пользователям или ресурсам, с которыми взаимодействует такой продукт. Например, RACF может сохранять информацию в профилях:
пользователя для последующего применения ее TSO/E;
наборов данных, групп и пользователей для применения ее DFSMS;
общих ресурсов для использования информации средством Hyperbatch;
общих ресурсов для использования ее VTAM (Virtual Telecommunications Access Method).
Дополнительным свойством является способность администратора защиты возлагать ответственность за обслуживание этой информации на других администраторов в системе. Например, информация, используемая DFSMS, может быть передана в управление администратору памяти.
Прозрачность для пользователей
Обычно пользователи систем обработки данных не хотят, чтобы их данные могли быть прочитаны или изменены другими субъектами, кроме тех случаев, когда это специально подразумевается. К сожалению, пользователи всех типов часто не решаются принимать меры для обеспечения защиты своих данных, так как во многих случаях проще проигнорировать процедуру защиты, чем использовать ее.
При наличии RACF конечный пользователь может даже не осознавать, что его данные защищены. Используя административные возможности RACF, вычислительная система способна сделать работу RACF незаметной для большинства пользователей.
Использование программ выхода
RACF позволяет написать собственные программы выхода для каждой конкретной системы обработки данных для удовлетворения уникальных потребностей защиты. Эти программы выхода могут быть связаны с командами RACF, либо могут обрабатывать проверку авторизации или пароли пользователей.
Текущий контроль защиты данных
Монитор защиты данных RACF DSMON (Data Security Monitor) позволяет авторизованному пользователю получать отчеты о состоянии среды защиты в системе, особенно о ресурсах, управляемых RACF. Отчеты DSMON можно использовать для сравнения действительного уровня защиты, обеспечиваемого в вычислительной системе, с запланированным уровнем защиты.
Примерами информации, которую можно получить из отчетов монитора защиты данных, являются список всех пользователей с атрибутами SPECIAL, OPERATIONS и AUDITOR, список программ выхода RACF, написанных для конкретной вычислительной системы, и список программ в таблице программ, авторизованных для вызова RACF.
Программа записи отчетов RACF
Программа записи отчетов RACF позволяет аудиторам или администраторам защиты получать доступ к средствам RACF и использовать защищаемые ими ресурсы. Программа записи отчетов RACF обеспечивает широкий набор видов отчетов, которые позволяют производить текущий контроль и проверку правильности использования системы и ресурсов.
Программа записи отчетов RACF составляет список содержимого записей средства управления системой (SMF) в удобном для чтения формате.
Программа записи отчетов RACF тоже может генерировать отчеты на основе информации, содержащейся в записях SMF, такие как:
отчеты, описывающие попытки получения доступа к отдельным защищаемым с помощью RACF ресурсам в виде идентификаторов пользователей, количества и типа удачных попыток получения доступа и количества и типов попыток нарушения защиты;
отчеты, описывающие деятельность пользователей и групп;
отчеты, отражающие итоги использования системы и ресурсов.
Обслуживающая программа разгрузки данных SMF
Обслуживающая программа разгрузки данных SMF, как и программа записи отчетов RACF, обрабатывает записи SMF. При этом она позволяет выполнить более комплексную проверку, чем программа записи отчетов RACF.
Выходная информация обслуживающей программы разгрузки данных SMF может быть: непосредственно просмотрена, использована в качестве входных данных для программ, написанных для конкретной вычислительной установки; обработана обслуживающей программой слияния/сортировки; передана программе управления базой данных, такой как DB2.
Программа управления базой данных может составить как справочные, так и общие отчеты на базе выходной информации от программы разгрузки данных SMF. Эти отчеты могут пригодиться при обработке подозрительных попыток доступа авторизованных пользователей, которые могут оказаться пропущенными при работе программы, предназначенной для составления отчетов о неавторизованных попытках доступа. Поскольку данные чаще ошибочно портятся авторизованными пользователями, чем умышленно копируются неавторизованными, такие отчеты для защиты особенно важны.
z/OS Unix System Services
Функции безопасности Unix System Services реализованы в RACF частично как расширение существующих RACF-функций, частично как новые функции RACF. Эти функции включают аутентификацию пользователей, контроль доступа к файлам и привилегированных пользователей. Пользователи Unix System Services определены командами RACF.
Класс операционных систем Unix включает множество предложений поставщиков, таких как AIX компании IBM, HP-UX компании Hewlett-Packard, Solaris (Sun). Некоторые системы ряда распространяются свободно (Linux, Free BCD). Общей характеристикой этих операционных систем является то, что решение задач обеспечения безопасности осуществляется средствами пользовательских идентификаторов (UID и GID), битов разрешения и списков управления доступом ACLs (Access Control Lists).
В Unix-архитектуре каждый пользователь системы имеет имя пользователя и идентификатор UID (число, обычно из диапазона 0 - 231-1). Подобным же образом идентифицируются группы. В некоторых Unix-системах пользователь может одновременно быть включенным только в одну группу. В других, как, например, в AIX - в несколько, подобно функции RACF <список групп>.
Каждый объект (файл или каталог) файловой системы HFS (Hierarchical File System) имеет девять битов разрешения (permission bits), разделенных в три группы по три бита. Три бита в каждой из групп обозначают, соответственно, разрешение чтения, записи и исполнения. Разрешение чтения в каталоге позволяет распечатку файлов и поддиректорий. Разрешение записи в директории позволяет создавать, обновлять или удалять объект каталога, разрешение исполнения - осуществлять операции поиска.
В z/OS каждый пользователь системы имеет идентификатор UID. Для каждого UID в БД RACF определен пользовательский профиль в классе USER, содержащий всю информацию о пользователе. В продукте z/OS Unix System Services поддерживается два уровня безопасности:
Unix-уровень, традиционный для Unix, и z/OS Unix-уровень с дополнительными функциями безопасности. Второй из них (рекомендуемый) уровень безопасности реализуется, если определен по крайней мере один из профилей BPX.DAEMON или BPX.SERVER в классе FACILITY. В этом случае существенно усиливается общая безопасность системы, в особенности в плане управления процедур смены параметров идентичности работой суперпользователей. В частности, одной из целей инсталляции систем безопасности является сокращение числа суперпользователей до абсолютного минимума, что достигается использованием функции структурирования суперпользователя (superuser granularity).
В целом использование концепции RACF позволяет обеспечить такие исключительные свойства для усиления безопасности Unix, как:
степень детализации процессов аудита и генерации отчетов, обеспечивающая исчерпывающую проверку многочисленных событий с записью этой информации в SMF, которая недоступна даже для суперпользователей;
защита программ-демонов от модификаций и неправильного использования;
включение функции управления структурой суперпользователей, позволяющей снизить число необходимых системных суперпользователей;
защита TCP/IP стека, портов, сетевых адресов от использования их неавторизованными пользователями;
возможность присваивания различных идентификаторов не только для процессов, но и для цепочки подпроцессов внутри них, позволяет осуществлять управление доступом в z/OS Unix на более структурированной основе;
структура ключей памяти, аппаратно реализованная в z900 в совокупности с концепцией адресации, принятой в z/OS, изолирует приложения друг от друга и от операционной системы.
Общая архитектура и средства криптографии
Компания IBM имеет давние традиции разработки и внедрения аппаратных решений в области криптографии. Так, первыми широко известными практическими реализациями итерационного блочного шифра были разработанные сотрудниками фирмы Х. Фейстелем, Д. Копперсмитом и др. криптоалгоритмы Lucifer и созданный на его основе в 1974 г. в качестве стандарта шифрования данных в государственных и частных организациях DES (Data Encryption Standard). В дальнейшем был реализован ряд новых предложений, направленных на усовершенствование DES. Наиболее известное из них заключается в трехкратном применении алгоритма (Triple DES). За долгие годы применения этого самого распространенного криптоалгоритма в мире не было найдено методов вскрытия данного шифра, существенно отличающихся по эффективности от полного перебора по ключевому пространству. В конкурсе на новый стандарт криптозащиты AES, объявленном в 1997 г. национальным институтом стандартов и технологий США (NIST - National Institute of Standards and Technology), компания представила алгоритм MARS.
Общая архитектура криптографии CCA (Common Cryptographic Architecture) компании IBM определяет набор криптографических функций, внешних интерфейсов и набор правил управления ключами, относящимися к технологиям реализации симметричных (на базе DES) и асимметричных (PKA, Public Key Algorithm) алгоритмов шифрования данных. Функции ССА определяют сервисы для:
управления ключами, которое включает генерацию и безопасный обмен ключами по сети и между приложениями;
обеспечения целостности путем использования MAC-кода (Message Authentical Code) или цифровой подписи;
обеспечение конфиденциальности данных путем использования возможностей шифрования и дешифрации, доступных на всех уровнях сетевого стека протоколов;
персональной идентификации на основе генерации, верификации и преобразования личного идентификационного номера PIN (Personal Identification Number).
Управление ключами в IBM ССА включает концепцию основных и временных ключей. Основные ключи применяются в течение относительно долгого периода времени, а временные генерируются в рамках одного защищенного соединения. Основные ключи (Master Key) закрепляются за пользователями и серверами сети и обеспечивают аутентификацию сторон, а также криптозащиту распределяемых временных ключей. После аутентификации сторон и безопасного распределения временных ключей криптозащита трафика осуществляется на основе временных ключей.
Для симметричных (на основе DES) криптосистем характерна сложность и ненадежность распределения основных ключей шифрования. Кроме того, при использовании в качестве основных ключей симметричного шифрования невозможно реализовать протоколы защищенного взаимодействия не доверяющих друг другу сторон, так как общий секретный ключ любая из обладающих им сторон может разгласить.
Более высокая эффективность распределения основных криптографических ключей достигается при использовании асимметричных криптосистем, когда распределению подлежат только открытые ключи. В этом случае закрытые (private) ключи должны находиться у того, кто их сгенерировал. Распределение открытых ключей, в отличие от закрытых ключей симметричного шифрования, не требует поддержания их конфиденциальности. Необходимо лишь обеспечить их подлинность и целостность, что достигается использованием цифровых сертификатов. Такой сертификат включает имя центра сертификации CA (Certificate Authority), описание владельца сертификата, его открытый ключ, период действия сертификата, а также дополнительные параметры. Цифровая подпись центра сертификации, сформированная под содержимым каждого сертификата, обеспечивает подлинность и целостность указанной в нем информации, включая описание владельца и его открытый ключ. Общепринятым стандартом здесь является стандарт Х.509.
Аппаратные средства поддержки криптографических систем реализованы, начиная с ранних моделей IBM 9672 управляемых OS/390. Серверы zSeries во многом наследуют характеристики этих встраиваемых устройств, вместе с тем реализуют расширенный список инструкций и наделены дополнительной функциональностью.
Так, криптографические средства z990 включают функции синхронной и асинхронной обработки сообщений. В первом случае для функций с открытыми ключами аппаратные решения ориентированы на выполнение алгоритмов:
шифрования/дешифрования данных (DES, double-length Key DES, triple lengths-key DES);
безопасного хэша SHA-1 (Secure Hash Algorithm v.1).
Второму случаю (с защищенными ключами) соответствуют функции:
реализации алгоритмов DES;
генерации и распределения ключей DES;
генерации, верификации и преобразования PIN;
генерации псевдослучайных чисел;
создания МАС-кода - криптографической вставки на основе передаваемого сообщения и др.
В z990 имеются три типа средств аппаратной криптографии, каждое из которых может использоваться только после активации в системе компании IBM.
CP Assist for Cryptographic Function (CPACF)
Каждый из центральных процессоров имеет спецпроцессор поддержки криптографии, обеспечивающий функции высокопроизводительного шифрования/дешифрации. В моделях z800 и z900 таких сопроцессоров может быть не более двух на систему. Для поддержки специальных функций криптографии в систему команд CPACF z990 включены пять новых инструкций:
KMAC (Compute Message Authentic Code) - вычисление МАС-кода;
KM (Cipher Message) - шифрование сообщений;
KMC (Cipher Message with chaining) - шифрование сообщений со сцеплением;
KIMD (Compute Intermediate Message Digest) - вычисление промежуточных хэш-кодов;
KLDM (Compute Last Message Digest) - вычисление последнего хэш-кода.
Хэш-код (или профиль сообщения) представляет собой короткую цифровую строку (обычно 128 или 160 битов), формируемую из более длинного сообщения (message) с использованием специального алгоритма. Обычно используемыми алгоритмами являются MD5 (описан в RFC 1321), SHA-1 (описан в стандарте FIPS PUB 180-1), SHA-256 и SHA-512 (разработаны национальным агентством по безопасности правительства США). Алгоритм MD5 для входных сообщений произвольной длины генерирует на выходе 128-битовый алгоритм SHA-1 и, соответственно, 160-битовый хэш-код. Поскольку защита от атак хэш-алгоритма SHA-1 обеспечивается 80 битами, разработаны усовершенствованные алгоритмы SHA-256 и SHA-512, генерирующие строки, соответственно, в 256 и 512 бит, в большей степени отвечающие условиям применения нового стандарта шифрования AES (с предусматриваемыми длинами ключей до 256 бит). Для предотвращения подделок передаваемых сообщений хэш-код шифруется обычно по принципам асимметричного шифрования. Получаемая при этом информационная структура обозначается как МАС-код (Message Authentication Code) и является основой цифровой подписи (Digital Signature), обеспечивающей решение задач целостности документов (сообщений) и идентификации их отправителей.
Рис. 4.17 иллюстрируют процессы создания и верификации цифровой подписи. Сначала отправитель и получатель должны договориться об алгоритме шифрования общим ключом, создать пары общих/частных ключей и обменяться общими ключами. Им также нужно прийти к согласию в выборе алгоритма хэширования (например, MD5).
(рис 4.17) Реализация процессов создания и верификации цифровой подписиПеречисленные инструкции сопроцессора ориентированы на использование нового метода формирования МАС-кода НМАС (Keyed Hashing for Message Authentication Code), изобретенного сотрудниками IBM Г. Кравчиком и Р. Канетти (описан в REC 2104 как предлагаемый Internet-стандарт). НМАС устраняет такие недостатки алгоритма MD5 как возможность преобразования различающихся сообщений в одинаковый хэш-код.
Базовые возможности CPACF представлены выбором криптографических функций, повышающих производительность операций шифрования/дешифрации для приложений протоколов SSL и VPN, не требующих безопасности уровня 4 по классификатору FIPS 140-2. Архитектурное решение при этом включает шифрование и дешифрацию по алгоритмам DES, Triple-DES, авторизацию на основе МАС-кода и алгоритм хэширования SHA-1. Эти функции непосредственно доступны приложениям.
Криптографический сопроцессор PCIXCC
Опционально поставляемый сопроцессор PCIXCC (Peripheral Component Interconnect Extended Cryptographic Coprocessor - расширенный криптографический сопроцессор с шиной PCI) обеспечивает высокопроизводительную криптографическую среду с дополнительными функциями. Он, по сути, консолидирует функциональные возможности аппаратных средств CCF (Cryptographic Coprocessor Feature) и PCICC (Peripheral Component Interconnect Cryptographic Coprocessor), включаемых в архитектуру z900 (Turbo model), начиная с 1994 года. CCF обеспечивает шифрование по стандарту DES, выполняет функции формирования цифровой подписи и распределения ключей по алгоритму RSA (Rivest, Shamir, Adleman), которые становятся все более важными для технологий SSL, реализуемых в среде z/OS.
PCICC-плата имеет операционную систему и соответствующую среду программирования для разработки и внедрения новых функций безопасности. Устройство обеспечивает высокую скорость выполнения RSA-алгоритма, в особенности при операциях с частными ключами, которые используются на этапе установления SSL-сессий. Одна плата может выполнить 135 процедур <рукопожатия> в секунду в сравнении с 75 для CCF.
Процедура <рукопожатия> отрабатывается перед непосредственной защитой информационного блока по протоколу начального приветствия (Handshake Protocol), входящему в состав протокола SSL. Обе рассмотренные возможности в z990 недоступны. Сопроцессор PCIXCC осуществляет только асинхронные функции и предусматривает выполнение пользователем следующих действий:
шифрование/дешифрация данных с использованием симметричных алгоритмов (DES, Double DES, Triple DES);
безопасная генерация, инсталляция и распределение ключей при использовании симметричных и асимметричных методов криптографии;
генерация, верификация и передача кодов PIN;
обеспечение целостности данных за счет организации цифровой подписи на основе MAC-кодов, алгоритмов хэширования и асимметричного алгоритма RSA.
Криптографический акселератор PCICA
Акселератор PCICA (Peripheral Component Interconnect Cryptographic Accelerator) является в z990 заказным устройством. Он представляет собой дополнение к средствам CPACF и PCIXCC и имеет сокращенные функциональные характеристики. Обычно предназначается для ускорения операций модульной арифметики, в частности характерных для сложных RSA-преобразований, используемых в SSL-протоколе, представляющем сейчас значительный интерес с точки зрения защищенных приложений электронной коммерции. При этом максимальное количество SSL-транзакций с секунду в любой комбинации из CPACF и PCICA ограничивается только реализацией циклов программной составляющей транзакций. Например, в модели B16 IBM 2084 с 16 активными процессорами и шестью акселераторами, разработанной для условий высокоскоростной безопасной обработки Web-транзакций, достигается производительность в 11000 SSL <рукопожатий> в секунду.
Поскольку устройства PCICA участвуют только в операциях, связанных с обработкой открытых ключей, они не имеют защищенного конструктивного исполнения, как это принято в PCIXCC. В конфигурацию систем zSeries может быть включено максимум шесть акселераторов (по два на один конструктив ввода/вывода) вместе с четырьмя PCIXCC. При этом суммарное количество устройств этих типов в z990 не должно превышать восьми. В этих пределах допускается любое сочетание используемых PCICA и PCIXCC, что позволяет клиентам (заказчикам систем) гибко масштабировать структуру обеспечения защищенного электронного бизнеса.
Каждое устройство PCICA имеет до двух плат акселераторов, встраиваемых в модуль адаптера, и может быть распределено на любой логический раздел, определенный в системе (табл. 4.6).
PCI-криптографические адаптеры в системе z990
| Тип адаптера |
Максимальное число устройств на сервер |
Число криптографических сопроцессоров в устройстве |
Максимальное число криптографических сопроцессоров на сервер |
Число криптографических доменов на сопроцессор |
Число логических разделов на сервер (определенных/активных) |
| PCICA |
6 |
2 |
12 |
16 |
30/30 |
| PCIXCC |
4 |
1 |
4 |
16 |
30/30 |
В таблице 4.7. приведены данные, позволяющие оценить основные функциональные возможности криптографических устройств системы z990.
Сравнительные характеристики криптографических устройств z990
| Функция, атрибут |
CPACF |
PCIXCC |
PCICA |
| Поддержка z/OS приложений с использованием ICSF |
+ |
+ |
+ |
| Шифрование/дешифрация с использованием алгоритма секретного ключа |
|
+ |
|
| Высокоскоростное установление SSL-сессии |
|
|
+ |
| Выполнение высокоскоростного симметричного шифрования (открытый ключ) |
+ |
|
|
| Выполнение высокоскоростного асимметричного шифрования (открытый ключ) |
|
|
+ |
| Физически включен в состав центрального процессора (ЦП) |
+ |
|
|
| Требует активации CPACF |
+ |
+ |
+ |
| Требует активного состояния ICSF |
|
+ |
+ |
| Участие в обеспечении конфиденциальности данных (шифрование/дешифрация) |
+ |
+ |
|
| Участие в обеспечении целостности данных (хэширование, аутентификация сообщений) |
+ |
+ |
|
| Требует загрузки системных мастер-ключей |
|
+ |
|
| Поддержка функций протокола SSL |
+ |
+ |
+ |
Все рассматриваемые устройства имеют специфические системные требования, которые представлены в таблице 4.8.
Системные требования к поддержке криптографических фунеций
| Операционная система |
CPACF |
PCIXCC |
PCICA |
| z/OS v.1. и выше |
+ |
+ |
+ |
| z/OS v.1.3 |
+ |
+ |
+ |
| z/OS v.1.2 |
+ |
+ |
+ |
| OS/390 v.2.10 |
+ |
+ |
+ |
| z/VM v.4.2 и выше |
+ |
|
|
| z/VM v.4.2 и выше (только для Linux Guests) |
|
|
+ |
| z/VM v.3.1 |
+ |
|
|
| Linux 2.4.7 для Zseries |
|
|
+ |
| VSE/ESA v.2.7 и |
|
|
|
| IBM TCP/IP для VSE/ESA v.1.5 |
|
|
+ |
Система базовых криптографических сервисов z/OS обеспечивает доступ приложений к аппаратным средствам криптографии тремя путями с использованием продуктов (рис. 4.18):
(рис 4.18) Возможности доступа приложений к аппаратным средствам криптографииICSF (Integrated Cryptographic Service Facility), интегрированного в z/OS. ICSF для своей инициализации требует активности хотя бы одного криптографического процессора.
OCSF (Open Cryptographic Service Facility), предоставляющего реализацию в z/OS API-интерфейса прикладного программирования CDSA (Common Data Security Architecture) компании Intel. Этот API включает набор криптографических функций, которые могут быть выполнены аппаратными средствами посредством запросов ICSF.
API, используемым клиентом или сервером, взаимодействующими по TCP/IP сокетами на основе протокола SSL. Если сервисы ICSF недоступны, система SSL использует собственные криптографические сервисы.
Потребителями ресурсов и возможностей PCI-сопроцессоров являются многие программные продукты IBM. Причем они могут использовать собственные программные криптографические сервисы, если система ICSF не активизирована или ограничена по функциональности. В частности, потребителями по направлению z/OS System SSL являются:
IBM HTTP server;
CICS Transaction System;
TN 3270 server;
FTP server (client);
LDAP server (client);
Web Sphere Application Server.
Примерами обращений к криптографическим сервисам посредством OCSF являются компонент ISAKMP (Internet Security Association Key Management Protocol) продукта z/OS Firewall Technologies, компонент OCEP (Open Cryptography Enhanced Plug-in) системы RACF и др. Прямой доступ к аппаратным криптографическим ресурсам характерен для протокола туннелирования IPSec (Internet Protocol Security) как компонента z/OS Firewall Technologies, z/OS DCE, z/OS Network Authentication Service (Kerberos), Web Sphere Payment Manager при реализации протокола безопасных функций SET (Secure Electronic Transactions). В этих случаях приложения обращаются непосредственно к ICSF.
Помимо организации интерфейса доступа приложений к аппаратным средствам криптографии ICSF реализует несколько вариантов решений для ввода мастер-ключей. В частности, для предприятий, требующих повышенной степени безопасности, z990 как опцию предлагает рабочую станцию TKE (Trusted Key Entry). Эта станция осуществляет защищенное управление PCIXCC, включая загрузку мастер-ключей (DES и РКА мастер-ключей). Физически эти ключи могут храниться в наборах данных VSAM, управляемых ICSF отдельно для симметричных (в шифрованной форме) и асимметричных ключей. Для ускорения доступа к симметричным криптографическим ключам они дублируются к кэш ICSF.
Криптосистема zSeries в действительности имеет 16 физических наборов регистров хранения мастер-ключей, каждый набор принадлежит домену. Домен размещен в логическом разделе через определение раздела в профиле ее копии. Тот же домен должен быть размещен в экземпляре ICSF, исполняемом в логическом разделе. Каждый логический раздел или каждая копия ICSF имеет свои уникальные значения мастер-ключей и может шифровать собственный набор пользовательских ключей на основе уникальных мастер-ключей, таким образом обеспечивая надежную изоляцию друг от друга пользователей разделяемых криптопроцессоров.
Защита TCP/IP-сетей
Вопросам защиты сетей, основанных на использовании стека протоколов TCP/IP, посвящена обширная литература, например, [4.13, 4.14, 4.15]. Безопасность информационного взаимодействия корпоративных компьютерных сетей и отдельных компьютеров через незащищенные сети, например, через Internet, требует решения задач защиты сетевых компонентов от несанкционированных действий со стороны внешней среды и защиты информации в процессе ее передачи по каналам связи.
Решение первой задачи основано на использовании межсетевых экранов Firewalls, поддерживающих безопасность взаимодействия путем фильтрации двустороннего трафика сообщений, а также выполнения функций посредничества при обмене информацией.
Защита информации в процессе передачи по открытым каналам связи обеспечивается выполнением функций:
аутентификации сторон;
шифрования передаваемых данных;
подтверждения подлинности и целостности доставленной информации;
обнаружения и исследования событий, связанных с отрицанием фактов отправления и приема сообщений.
Защита информации в процессе ее передачи по открытым каналам связи основана на построении защищенных каналов связи, называемых криптозащищенными туннелями или туннелями VPN (Virtual Private Network). Для независимости от прикладных протоколов и приложений защищенные VPN формируются на нижних уровнях стека TCP/IP (рис. 4.19). Уровню сетевых интерфейсов соответствуют такие протоколы реализации VPN, как PPTP (Point-to-Point Tunneling Protokol), L2F (Layer-2 Forwading) и L2TP (Layer-2 Tunneling Protocol) как объединение первых двух протоколов. Уровню межсетевого взаимодействия соответствует IPSec (Internet Protocol Security). Для управления криптографическими ключами на этом уровне используются протоколы SKIP (Simple Key Management for Internet Protocols) и ISAKMP.
(рис 4.19) Протоколы обеспечения безопасности, ассоциированные с уровнями стека TCP/IPТранспортному уровню отвечают протоколы SSL/TLS (Secur Sockets Layer/Transport Layer Security) и SOCKS, стандартизирующий процедуры взаимодействия клиент-серверных приложений TCP/IP через сервер-посредник (Firewall, брандмауэр). Протокол позволяет реализовать функцию трансляции IP-адресов (NAT-Network Address Translation), состоящую в замене для исходящих пакетов внутренних IP-адресов отправителей одним IP-адресом шлюза, что усложняет задачу несанкционированного доступа.
Нужно отметить, что имеются протоколы для реализации защищенного взаимодействия и на прикладном уровне. Эти протоколы, как правило, являются дополнениями к различным протоколам прикладного уровня. Например, протокол Secure MIME (S/MIME) является дополнением по защитным функциям к протоколу электронной почты.
Протокол удаленного доступа PPP (Point-to-Point Protokol) предусматривает, что в процессе установления соединения любая из взаимодействующих систем может потребовать использования одного из двух стандартных протоколов аутентификации - PAP (Password Authentication Protocol) или CHAP (Challenge Handshake Authentication Protocol). Некоторые фирменные протоколы представляют модификации PAP и СНАР. Например, служба RAS операционной системы Windows NT использует вариант протокола СНАР с хэш-функцией алгоритма MD4, называемый MS-CHAP.
К наиболее популярным протоколам централизованного контроля удаленного доступа относятся протоколы Kerberos, RADIUS (Remote Authentication Dial-In User Service) и др.
Названный продукт IBM z/OS Firewall Technologies представляет собой популярное решение в классе брандмауэров. Для управления взаимодействием между intranet и Internet, включая одновременное разрешение авторизованных транзакций, он обеспечивает три ключевых технологии:
Сетевые серверы.
Фильтрация и трансляция адресов.
Виртуальные частные сети.
К группе сетевых серверов относятся:
ISAKMP-сервер, обеспечивающий согласование параметров и управление ключами при формировании общего защищенного канала на базе протокола IKE (Internet Key Exchange); стороны, вовлеченные в процесс согласования, могут идентифицировать друг друга и инициировать защищенное соединение, используя цифровой сертификат, асимметричный и симметричный алгоритмы шифрования;
Configuration server - сервер конфигурирования выполняет функции конфигурирования графического интерфейса пользователя к брандмауэру со стороны клиентов AIX, Windows NT и др.;
SOCKS-сервер для исходящих сессий (от защищенного клиента к незащищенному серверу);
FTP proxy-сервер;
DNS-сервер предотвращает попытки внешних пользователей опознать адреса защищенных хостов, в то же время обеспечивая разрешение адресов хостов в незащищенной сети.
Следует также отметить, что система RACF обладает средствами защиты TCP/IP-портов и сокетов TCP и UDP, основанными на использовании профилей из класса SERVAUTH [4.16]. Например, доступ к локальным TCP или UDP портам может быть определен в профиле EZB.PORTACCESS.sysname.tcpname.SAFkeyword.
Информационная безопасность должна гарантировать конфиденциальность (разумное ограничение доступа), целостность и достоверность информации, а также обеспечить учет и анализ всех событий, в ходе которых информация создается, модифицируется и распространяется по сети.
Общая концепция безопасности
Общая концепция IBM при формировании архитектуры безопасности построена на основе определений стандарта ISO 7498-2, в которых представлены следующие базовые механизмы обеспечения безопасности:
идентификация и аутентификация (проверка подлинности) пользователей и взаимодействующих объектов;
управление доступом, понимаемое как избирательное разрешение или отклонение запросов авторизованных пользователей (объектов) на доступ к ресурсам;
конфиденциальность данных, гарантирующая их раскрытие только теми людьми (объектами), которым они предназначены;
целостность данных, гарантирующая устойчивость к неавторизованной модификации содержания хранимых или передаваемых данных;
доступность как способность обеспечивать беспрепятственный контроль выполнения транзакций.
При этом достижение концептуальных целей реализации названных механизмов в подходе IBM предусматривается на трех уровнях:
Платформенном (или операционных систем), на котором главным образом решаются задачи идентификации и аутентификации пользователей, управления доступом и целостности системного кода. Типичным примером этого в z/OS является использование средства системной авторизации SAF (System Authorization Facility) и внешнего менеджера безопасности RACF (Resource Access Control Facility) - широко известном средстве управления доступом к ресурсам, разработанном компанией IBM.
Сетевом, расширяющем возможности реализации политики безопасности SP (Security Policy) на случай сетевых технологий вычислений и манипуляции с данными, включая функции обеспечения конфиденциальности и целостности. Примерами реализации этих механизмов в Z/OS являются технологии межсетевых экранов (брандмауэров) и сервиса обнаружения вторжений IDS (Intrusion Detection Services). Первые из них реализуют набор правил, определяющих условия прохождения протокольных блоков данных через межсетевые границы. Сервисы IDS идентифицируют, документируют и анализируют подозрительные с точки зрения угроз безопасности события, а также извещают о них операторов.
Обмена данными (транзакций). Этот уровень подразумевает предоставление приложениям дополнительных сервисов, позволяющих осуществлять защиту поверх базовых средств обеспечения безопасности. Примером такой реализации механизмов безопасности является протокол уровня защищенных сокетов SSL (Secure Socket Layer), разработанный компанией Netscape Communications Corporation. Этот протокол создает защищенное сквозное соединение виртуальной сети, обеспечивая взаимную аутентификацию абонентов, а также конфиденциальность, подлинность и целостность циркулирующей по соединению информации.
Как отмечено выше, в основе реализации механизмов безопасности первого уровня лежит использование средства SAF, являющегося частью операционной системы и обеспечивающего интерфейс между источниками запросов на доступ к ресурсам системы и структурой обеспечения безопасности, которая традиционно представляется в форме RACF. SAF и RACF работают совместно (рис. 4.16.) при определении возможности доступа к ресурсу. В качестве защищаемых ресурсов выступают наборы данных, мини-диски, терминалы, транзакции, ресурсы, описанные при установке пользователями и др.
(рис 4.16) Реализация механизмов безопасности средствами SAF и RACFОсновываясь на первичном запросе пользователя, менеджер ресурса формирует свой запрос и передает его SAF. В зависимости от типа запроса SAF или создает ответ или транслирует запрос RACF. При этом не требуется обращение к базе данных RACF, если ответ может быть оформлен с учетом данных, хранящихся в памяти профилей.
Примерами менеджеров ресурсов являются:
CICS (Customer Information Control System) при входе в диалоговую систему и авторизации транзакций CICS;
z/OS Unix - ядро доступа к файлам, авторизации и др.,
DFSMS (Data Facility Storage Management Subsystem) для доступа к наборам данных и представления полномочий.
IBM реализовала продукт SAF, используя макрос, называемый RACROUTE [4.12], который обеспечивает выполнение подфункций для каждого выводимого макроса безопасности. Например, собранной программе нужно определить лишь RACROUTE REQUEST=VERIFY для верификации пользовательского идентификатора и RACROUTE REQUEST= AUTH для проверки авторизации.
Представленная концепция позволяет настраивать систему безопасности на использование различных продуктов безопасности. По мере появления усовершенствованных продуктов (например, модификации RACF) компания IBM обеспечивает включение дополнительных функций безопасности в SAF. Так, в течение нескольких последних лет SAF был адаптирован к обработке в среде Unix на мэйнфреймах с использованием вызываемых сервисов для интерпретации широкого спектра приложений, таких как Java. Основными функциями SAF являются:
обеспечение и поддержание безопасной среды для всех работ;
корректное распространение информации, связанной с безопасностью. В частности, SAF выполняет раннюю верификацию и авторизацию такого рода информации (идентификаторов пользователей и паролей) даже если RACF отсутствует или неактивно;
создание и обслуживание идентификаторов защиты (токенов защиты), понимаемых как группа атрибутов защиты и существующих в форме перемещаемых структур данных. Токены позволяют ассоциировать среду безопасности с состоянием (активно, неактивно) исполняемых задач. Для генерации и обслуживания токенов SAF использует сервисы RACROUTE.
Сервер защиты z/OS Security Server (RACF)
Сервер защиты z/OS Security Server представляет собой пакет программ под операционной системой z/OS и включает четыре основных компонента:
RACF;
DCE Security Server;
OS/390 Firewall Technologies;
LDAP (Lightweight Directory Access Protocol).
В пакет включены многие другие продукты, например, средство криптографии OCEP (Open Cryptographic Enhanced Plugin), сервер ключей (IKE демон) для автоматической инсталляции распределенных ключей защиты между конечными точками виртуальной частной сети VPN (Virtual Private Network), NAS (Network Authentication Service), Kerberos и др. Для эффективного поддержания механизмов управления доступа к наборам данных и ресурсам системы Z/OS Security Server обеспечивает:
идентификацию пользователя, совершающего попытку получить доступ к защищенной системе;
определение и подтверждение подлинности и полномочий пользователя при его входе в систему;
разрешение доступа к защищенному ресурсу только авторизованным пользователям, имеющим полномочия доступа соответствующего уровня;
предоставление удобного способа выполнять административные функции защиты;
регистрацию и отчет попыток неавторизованного доступа к защищенным ресурсам;
создание списка защищенных паролем ресурсов и уровня защиты, заданного для каждого ресурса.
RACF имеет специального пользователя, называемого администратором защиты, который наделен полномочиями определять пользователей и ресурсы для RACF. Администратор защиты может авторизовать и других пользователей для выполнения задач администрирования.
RACF заносит информацию о пользователях, ресурсах и авторизациях доступа в профили своей базы данных и обращается к ней (или к памяти профилей) при анализе полномочий каждого пользователя по доступу к защищенным системным ресурсам. В качестве защищаемых RACF компонентов выступают:
наборы данных, хранимых в DASD (Direct Access Storage Devices) и на магнитных лентах;
общие классы ресурсов, такие как загрузочные модули, терминалы, приложения и др., представленные в табл. 4.3.
Защищаемые RACF общие ресурсы
| Классы ресурсов |
Примечание |
| Тома Памяти |
DASD; на магнитных лентах |
| Загрузочные модули (программы) |
|
| IMS (Information Management System) |
транзакции; группы транзакций; группы приложений |
| Векторные операции |
|
| OPC/A (Operations Planning and Control/Advanced) |
|
| TSO |
Logon процедуры; учетные номера; атрибуты пользователей; группы заданной производительности |
| CICS |
Транзакции; запущенные транзакции; блоки описания спланированных программ; файлы; журналы; программы; маршруты пересылки данных; описания временной памяти |
| DFSMS |
Класс управления; класс памяти |
| Приложения |
Net View; MQM (Message Queue Manager); DB2; RSF (Remote Sharing Facility) и др. |
| Ресурсы, описанные установкой (Installation - defined resources) |
|
RACF обеспечивает дополнительную поддержку функций защиты и ведения единого репозитория, взаимодействуя с такими продуктами, как APPC, LAN File Service, Tivoli Management, Environment и др.
RACF различает классы ресурсов, функционально подобные друг другу. Например, том на магнитной ленте, независимо от его содержания или физического размещения, представляет специфичный способ хранения данных (тома на магнитных лентах - ресурсный класс). Терминалы также представляют класс ресурсов, так как вне зависимости от различий в физических атрибутах, они выполняют похожие операции ввода/вывода. Управляющая информация по классам ресурсов представлена в таблице описания классов (Class Descriptor Table) и включает имя класса, синтаксические правила для имен внутри класса, местоположение флагов класса (аудит, статистика).
RACF поддерживает информацию о пользователях, ресурсах и авторизации доступа в профилях RACF, хранимых в базе данных, и обращается к ним в случаях определения прав пользователей на доступ к защищаемым ресурсам.
Пользовательские профили (таблица 4.4) создаются для каждого из них, определенного в RACF. Атрибуты пользователя определяют ответственность, полномочия и ограничения, которыми обладает определенный пользователь (выполнение административных задач, модификация RACF профилей, выполнение задач аудита, задач оператора, технической поддержки и пр.). Категории защиты данных (Security Classification) определяют способность пользователей иметь доступ к защищенным ресурсам.
Структура пользовательского интерфейса
| Идентификатор пользователя (User ID) |
Пароль (Password) |
Атрибуты пользователя (User attributes) |
Классификатор безопасности (Security classification) |
Данные регистрации в системе разделения времени (TSO login data) |
Другие данные (Other data) |
|
В шифрованном виде |
|
Пользователи могут быть объединены в группы с групповым идентификатором GID (Groups Identifier), как совокупность пользователей, имеющих одинаковые системные атрибуты.
В таблице 4.5 показаны главные поля профиля общих ресурсов. В поле <Полномочия по доступу> определяются по запросу пользователей возможности чтения, обновления или модификации данных. Существует три типа профилей ресурсов (для наборов данных и общих ресурсов): дискретные, общие и групповые. Дискретные профили имеют соотношение с ресурсом <один-к-одному>, т.е. один профиль для каждого ресурса. Обычно используются для доступа к секретным ресурсам.
Структура профиля общих ресурсов
| Имя ресурса (Resource name) |
Владелец профиля (Profile Owner) |
Полномочия по доступу (Universal access authority) |
Список пользователей или групп уполномоченных (Access list of authorized users or groups) |
Класс безопасности (Security classification) |
Опция аудита (Auditing option) |
Опция предупреждения (Warning option) |
Опция уведомления (Notification option) |
Общие профили реализуют соотношение <один-ко-многим>, т.е. один профиль управляет доступом к одному или многим ресурсам. Они содержат список авторизованных пользователей и полномочия по доступу для каждого из них. Один общий профиль может защищать множество наборов данных, имеющих сходную структуру именования (например, в форме уровневых префиксов). Поэтому главным преимуществом общих профилей является возможность существенной экономии объема БД RACF и времени на обработку запросов.
В случае групповых профилей множество ресурсных имен ассоциируется с одним RACF-профилем, который содержит имена объединяемых ресурсов.
Определение и проверка полномочий пользователей (идентификация и аутентификация)
RACF использует идентификатор пользователя ID для определения личности пользователя, пытающегося получить доступ к системе, и пароль для подтверждения подлинности идентификатора [4.13].
При верификации определений пользователей и персональном учете RACF предполагает, что только одному пользователю известна его особая комбинация пароль-идентификатор.
В ходе определений и проверки RACF определяет:
имеется ли описание пользователя в RACF;
имеет ли пользователь действующий пароль (или альтернативное средство) и групповое имя;
правильность UID или GID в системе z/OS Unix System Services;
не находится ли UID в статусе REVOKE (отмены полномочия), который вообще предотвращает вход в систему пользователя или определенных групп;
может ли пользователь работать в системе в этот день или время дня (ограничение накладывается при инсталляции);
разрешен ли доступ пользователя к терминалу;
разрешен ли пользовательский доступ к приложению.
После завершения этих процедур RACF определяет область полномочий пользователя для текущей терминальной сессии или выполнения пакетного задания.
Альтернативы применения паролей
В среде z/OS RACF допускает ряд альтернативных возможностей использования паролей:
предоставляет рабочим станциям и клиентским машинам в среде клиент-сервер возможность задействовать <билет передачи> (Pass Ticket) вместо пароля. Pass Ticket может быть сгенерирован RACF или другой авторизованной функцией и применяться только один раз на данной компьютерной системе в пределах десяти минут после порождения;
использование карты описания оператора (OIDCARD) вместо или помимо пароля в течение терминальной сессии. Требование от пользователя не только знания пароля, но и предоставления OIDCARD дает дополнительную гарантию того, что идентификатор пользователя был введен истинным пользователем;
в среде z/OS Unix System Services, где пользователи идентифицируются с помощью числовых идентификаторов UID и групповыми идентификаторами GID, последние также могут использоваться RACF для управления доступом к системным ресурсам. В отличие от имен пользователей и групповых имен, эти числовые идентификаторы могут использоваться несколькими пользователями или группами одновременно, хотя такое совместное применение не рекомендуется;
в среде клиент-сервер RACF может отображать цифровые сертификаты клиентов на пользовательские идентификаторы. Цифровые сертификаты или цифровые ID, выдаваемые администратором сертификатов (Certificate Authority) содержат информацию, которая, подобно паспортной системе, уникально идентифицирует клиента.
Например, IBM HTTP Server for z/OS отождествляет клиентов, используя клиентские сертификаты, на защищенной SSL-сессии. При этом НТТР-сервер передает клиентский цифровой сертификат системе z/OS Unix System Services для подтверждения, которая далее передает сертификат RACF для поиска пользовательского IP из профиля отображений в БД RACF. Таким образом, доступ к защищенным Web-страницам или другим ресурсам осуществляется без ID и пароля пользователя.
Авторизация пользователя для получения доступа к ресурсам
После идентификации и проверки полномочий пользователя RACF осуществляет контроль взаимодействия между пользователем и системными ресурсами. RACF по запросу менеджеров ресурсов определяет не только то, какие пользователи могут получить доступ, но и уровень доступа, например, READ (для чтения, отображения или копирования ресурса) или UPDATE (для записи, модификации или передачи ресурса). Уровни доступа организованы в RACF иерархически. Так, UPDATE включает READ и т.д.
Для выполнения задач авторизации RACF использует макрос RACROUTE=AUTH. Пользователь получает доступ к ресурсу после выполнения следующих действий:
Контроля профилей на предмет наличия у пользователя соответствующих прав. Наборы данных z/OS защищены профилями класса DATASET.
Проверки категорий (классов) защиты, установленных для пользователей, и данных. Сначала RACF сравнивает уровень защиты пользователя и профилей защиты. При этом если ресурс имеет более высокий уровень защиты, чем пользователь, то RACF отклоняет запрос. Затем RACF сравнивает список категорий доступа в профиле пользователя со списком категорий в профиле ресурса. Если последний содержит категорию, которой нет в профиле пользователя, запрос также отклоняется.
Предоставляет пользователю доступ к ресурсу, если удовлетворяется любое из условий:ресурс является набором данных и префикс высшего уровня соответствует идентификатору пользователя;
идентификатор пользователя имеется в списке доступа с достаточными правами;
достаточный уровень полномочия по доступу (universal access authority).
Регистрация и составление отчетов
Идентифицировав и проверив полномочия пользователя и установив затем ограничения на доступ к ресурсам, RACF производит регистрацию попыток пользователей получить доступ к системе и защищенным ресурсам, ввода команд RACF, а также составляет отчеты с информацией обо всех попытках получения доступа к защищенным ресурсам. RACF регистрирует эти события главным инструментом z/OS - SMF (System Management Facility) 80-го типа записей.
Управление защитой
Требования к защите изменяются в зависимости от потребностей конкретной системы обработки данных. RACF позволяет удовлетворить требования к защите для каждой отдельной системы обработки данных, предоставляя возможность выбрать конкретный способ управления защитой из ряда возможностей: гибкое управление доступом к защищенным ресурсам; защита ресурсов, описанных при инсталляции; возможность сохранять информацию для других программных продуктов; выбор централизованного или децентрализованного управления профилями; простые в применении панели ввода RACF-команд ISPF (Interactive System Productivity Facility); прозрачность для конечных пользователей, которые не обязаны знать о том, что RACF защищает их данные; возможность использования программ выхода, написанных для каждой конкретной инсталляции; текущий контроль защиты данных; составление отчетов RACF.
Гибкое управление
RACF позволяет системе обработки данных устанавливать собственные правила для осуществления контроля доступа к ресурсам. Она может определять, что является защищенным, на каком уровне и кто имеет право получить доступ к защищенным ресурсам. Благодаря гибкой структуре RACF любая информационная система может настроить RACF на взаимодействие со своей операционной средой. Благодаря возможности настройки управления защитой при инсталляции каждая информационная система может адаптировать средства RACF под свои потребности защиты.
Защита ресурсов, описанных при инсталляции
Кроме предварительно определенных ресурсов, таких как наборы данных, мини-диски, терминалы и транзакции, определенные для IMS/ESA и CICS/ESA, RACF позволяет вычислительной системе защищать свои ресурсы, описанные при инсталляции. Наличие такой возможности существенно увеличивает гибкость управления ресурсами, которые могут быть защищены в вычислительной системе.
В среде с системно-управляемой памятью RACF позволяет администратору памяти управлять использованием классов данных и памятью, а также дает возможность передавать информацию другим программным продуктам.
RACF обеспечивает сохранение информации, необходимой для других продуктов, если эта информация относится к тем пользователям или ресурсам, с которыми взаимодействует такой продукт. Например, RACF может сохранять информацию в профилях:
пользователя для последующего применения ее TSO/E;
наборов данных, групп и пользователей для применения ее DFSMS;
общих ресурсов для использования информации средством Hyperbatch;
общих ресурсов для использования ее VTAM (Virtual Telecommunications Access Method).
Дополнительным свойством является способность администратора защиты возлагать ответственность за обслуживание этой информации на других администраторов в системе. Например, информация, используемая DFSMS, может быть передана в управление администратору памяти.
Прозрачность для пользователей
Обычно пользователи систем обработки данных не хотят, чтобы их данные могли быть прочитаны или изменены другими субъектами, кроме тех случаев, когда это специально подразумевается. К сожалению, пользователи всех типов часто не решаются принимать меры для обеспечения защиты своих данных, так как во многих случаях проще проигнорировать процедуру защиты, чем использовать ее.
При наличии RACF конечный пользователь может даже не осознавать, что его данные защищены. Используя административные возможности RACF, вычислительная система способна сделать работу RACF незаметной для большинства пользователей.
Использование программ выхода
RACF позволяет написать собственные программы выхода для каждой конкретной системы обработки данных для удовлетворения уникальных потребностей защиты. Эти программы выхода могут быть связаны с командами RACF, либо могут обрабатывать проверку авторизации или пароли пользователей.
Текущий контроль защиты данных
Монитор защиты данных RACF DSMON (Data Security Monitor) позволяет авторизованному пользователю получать отчеты о состоянии среды защиты в системе, особенно о ресурсах, управляемых RACF. Отчеты DSMON можно использовать для сравнения действительного уровня защиты, обеспечиваемого в вычислительной системе, с запланированным уровнем защиты.
Примерами информации, которую можно получить из отчетов монитора защиты данных, являются список всех пользователей с атрибутами SPECIAL, OPERATIONS и AUDITOR, список программ выхода RACF, написанных для конкретной вычислительной системы, и список программ в таблице программ, авторизованных для вызова RACF.
Программа записи отчетов RACF
Программа записи отчетов RACF позволяет аудиторам или администраторам защиты получать доступ к средствам RACF и использовать защищаемые ими ресурсы. Программа записи отчетов RACF обеспечивает широкий набор видов отчетов, которые позволяют производить текущий контроль и проверку правильности использования системы и ресурсов.
Программа записи отчетов RACF составляет список содержимого записей средства управления системой (SMF) в удобном для чтения формате.
Программа записи отчетов RACF тоже может генерировать отчеты на основе информации, содержащейся в записях SMF, такие как:
отчеты, описывающие попытки получения доступа к отдельным защищаемым с помощью RACF ресурсам в виде идентификаторов пользователей, количества и типа удачных попыток получения доступа и количества и типов попыток нарушения защиты;
отчеты, описывающие деятельность пользователей и групп;
отчеты, отражающие итоги использования системы и ресурсов.
Обслуживающая программа разгрузки данных SMF
Обслуживающая программа разгрузки данных SMF, как и программа записи отчетов RACF, обрабатывает записи SMF. При этом она позволяет выполнить более комплексную проверку, чем программа записи отчетов RACF.
Выходная информация обслуживающей программы разгрузки данных SMF может быть: непосредственно просмотрена, использована в качестве входных данных для программ, написанных для конкретной вычислительной установки; обработана обслуживающей программой слияния/сортировки; передана программе управления базой данных, такой как DB2.
Программа управления базой данных может составить как справочные, так и общие отчеты на базе выходной информации от программы разгрузки данных SMF. Эти отчеты могут пригодиться при обработке подозрительных попыток доступа авторизованных пользователей, которые могут оказаться пропущенными при работе программы, предназначенной для составления отчетов о неавторизованных попытках доступа. Поскольку данные чаще ошибочно портятся авторизованными пользователями, чем умышленно копируются неавторизованными, такие отчеты для защиты особенно важны.
z/OS Unix System Services
Функции безопасности Unix System Services реализованы в RACF частично как расширение существующих RACF-функций, частично как новые функции RACF. Эти функции включают аутентификацию пользователей, контроль доступа к файлам и привилегированных пользователей. Пользователи Unix System Services определены командами RACF.
Класс операционных систем Unix включает множество предложений поставщиков, таких как AIX компании IBM, HP-UX компании Hewlett-Packard, Solaris (Sun). Некоторые системы ряда распространяются свободно (Linux, Free BCD). Общей характеристикой этих операционных систем является то, что решение задач обеспечения безопасности осуществляется средствами пользовательских идентификаторов (UID и GID), битов разрешения и списков управления доступом ACLs (Access Control Lists).
В Unix-архитектуре каждый пользователь системы имеет имя пользователя и идентификатор UID (число, обычно из диапазона 0 - 231-1). Подобным же образом идентифицируются группы. В некоторых Unix-системах пользователь может одновременно быть включенным только в одну группу. В других, как, например, в AIX - в несколько, подобно функции RACF <список групп>.
Каждый объект (файл или каталог) файловой системы HFS (Hierarchical File System) имеет девять битов разрешения (permission bits), разделенных в три группы по три бита. Три бита в каждой из групп обозначают, соответственно, разрешение чтения, записи и исполнения. Разрешение чтения в каталоге позволяет распечатку файлов и поддиректорий. Разрешение записи в директории позволяет создавать, обновлять или удалять объект каталога, разрешение исполнения - осуществлять операции поиска.
В z/OS каждый пользователь системы имеет идентификатор UID. Для каждого UID в БД RACF определен пользовательский профиль в классе USER, содержащий всю информацию о пользователе. В продукте z/OS Unix System Services поддерживается два уровня безопасности:
Unix-уровень, традиционный для Unix, и z/OS Unix-уровень с дополнительными функциями безопасности. Второй из них (рекомендуемый) уровень безопасности реализуется, если определен по крайней мере один из профилей BPX.DAEMON или BPX.SERVER в классе FACILITY. В этом случае существенно усиливается общая безопасность системы, в особенности в плане управления процедур смены параметров идентичности работой суперпользователей. В частности, одной из целей инсталляции систем безопасности является сокращение числа суперпользователей до абсолютного минимума, что достигается использованием функции структурирования суперпользователя (superuser granularity).
В целом использование концепции RACF позволяет обеспечить такие исключительные свойства для усиления безопасности Unix, как:
степень детализации процессов аудита и генерации отчетов, обеспечивающая исчерпывающую проверку многочисленных событий с записью этой информации в SMF, которая недоступна даже для суперпользователей;
защита программ-демонов от модификаций и неправильного использования;
включение функции управления структурой суперпользователей, позволяющей снизить число необходимых системных суперпользователей;
защита TCP/IP стека, портов, сетевых адресов от использования их неавторизованными пользователями;
возможность присваивания различных идентификаторов не только для процессов, но и для цепочки подпроцессов внутри них, позволяет осуществлять управление доступом в z/OS Unix на более структурированной основе;
структура ключей памяти, аппаратно реализованная в z900 в совокупности с концепцией адресации, принятой в z/OS, изолирует приложения друг от друга и от операционной системы.
Общая архитектура и средства криптографии
Компания IBM имеет давние традиции разработки и внедрения аппаратных решений в области криптографии. Так, первыми широко известными практическими реализациями итерационного блочного шифра были разработанные сотрудниками фирмы Х. Фейстелем, Д. Копперсмитом и др. криптоалгоритмы Lucifer и созданный на его основе в 1974 г. в качестве стандарта шифрования данных в государственных и частных организациях DES (Data Encryption Standard). В дальнейшем был реализован ряд новых предложений, направленных на усовершенствование DES. Наиболее известное из них заключается в трехкратном применении алгоритма (Triple DES). За долгие годы применения этого самого распространенного криптоалгоритма в мире не было найдено методов вскрытия данного шифра, существенно отличающихся по эффективности от полного перебора по ключевому пространству. В конкурсе на новый стандарт криптозащиты AES, объявленном в 1997 г. национальным институтом стандартов и технологий США (NIST - National Institute of Standards and Technology), компания представила алгоритм MARS.
Общая архитектура криптографии CCA (Common Cryptographic Architecture) компании IBM определяет набор криптографических функций, внешних интерфейсов и набор правил управления ключами, относящимися к технологиям реализации симметричных (на базе DES) и асимметричных (PKA, Public Key Algorithm) алгоритмов шифрования данных. Функции ССА определяют сервисы для:
управления ключами, которое включает генерацию и безопасный обмен ключами по сети и между приложениями;
обеспечения целостности путем использования MAC-кода (Message Authentical Code) или цифровой подписи;
обеспечение конфиденциальности данных путем использования возможностей шифрования и дешифрации, доступных на всех уровнях сетевого стека протоколов;
персональной идентификации на основе генерации, верификации и преобразования личного идентификационного номера PIN (Personal Identification Number).
Управление ключами в IBM ССА включает концепцию основных и временных ключей. Основные ключи применяются в течение относительно долгого периода времени, а временные генерируются в рамках одного защищенного соединения. Основные ключи (Master Key) закрепляются за пользователями и серверами сети и обеспечивают аутентификацию сторон, а также криптозащиту распределяемых временных ключей. После аутентификации сторон и безопасного распределения временных ключей криптозащита трафика осуществляется на основе временных ключей.
Для симметричных (на основе DES) криптосистем характерна сложность и ненадежность распределения основных ключей шифрования. Кроме того, при использовании в качестве основных ключей симметричного шифрования невозможно реализовать протоколы защищенного взаимодействия не доверяющих друг другу сторон, так как общий секретный ключ любая из обладающих им сторон может разгласить.
Более высокая эффективность распределения основных криптографических ключей достигается при использовании асимметричных криптосистем, когда распределению подлежат только открытые ключи. В этом случае закрытые (private) ключи должны находиться у того, кто их сгенерировал. Распределение открытых ключей, в отличие от закрытых ключей симметричного шифрования, не требует поддержания их конфиденциальности. Необходимо лишь обеспечить их подлинность и целостность, что достигается использованием цифровых сертификатов. Такой сертификат включает имя центра сертификации CA (Certificate Authority), описание владельца сертификата, его открытый ключ, период действия сертификата, а также дополнительные параметры. Цифровая подпись центра сертификации, сформированная под содержимым каждого сертификата, обеспечивает подлинность и целостность указанной в нем информации, включая описание владельца и его открытый ключ. Общепринятым стандартом здесь является стандарт Х.509.
Аппаратные средства поддержки криптографических систем реализованы, начиная с ранних моделей IBM 9672 управляемых OS/390. Серверы zSeries во многом наследуют характеристики этих встраиваемых устройств, вместе с тем реализуют расширенный список инструкций и наделены дополнительной функциональностью.
Так, криптографические средства z990 включают функции синхронной и асинхронной обработки сообщений. В первом случае для функций с открытыми ключами аппаратные решения ориентированы на выполнение алгоритмов:
шифрования/дешифрования данных (DES, double-length Key DES, triple lengths-key DES);
безопасного хэша SHA-1 (Secure Hash Algorithm v.1).
Второму случаю (с защищенными ключами) соответствуют функции:
реализации алгоритмов DES;
генерации и распределения ключей DES;
генерации, верификации и преобразования PIN;
генерации псевдослучайных чисел;
создания МАС-кода - криптографической вставки на основе передаваемого сообщения и др.
В z990 имеются три типа средств аппаратной криптографии, каждое из которых может использоваться только после активации в системе компании IBM.
CP Assist for Cryptographic Function (CPACF)
Каждый из центральных процессоров имеет спецпроцессор поддержки криптографии, обеспечивающий функции высокопроизводительного шифрования/дешифрации. В моделях z800 и z900 таких сопроцессоров может быть не более двух на систему. Для поддержки специальных функций криптографии в систему команд CPACF z990 включены пять новых инструкций:
KMAC (Compute Message Authentic Code) - вычисление МАС-кода;
KM (Cipher Message) - шифрование сообщений;
KMC (Cipher Message with chaining) - шифрование сообщений со сцеплением;
KIMD (Compute Intermediate Message Digest) - вычисление промежуточных хэш-кодов;
KLDM (Compute Last Message Digest) - вычисление последнего хэш-кода.
Хэш-код (или профиль сообщения) представляет собой короткую цифровую строку (обычно 128 или 160 битов), формируемую из более длинного сообщения (message) с использованием специального алгоритма. Обычно используемыми алгоритмами являются MD5 (описан в RFC 1321), SHA-1 (описан в стандарте FIPS PUB 180-1), SHA-256 и SHA-512 (разработаны национальным агентством по безопасности правительства США). Алгоритм MD5 для входных сообщений произвольной длины генерирует на выходе 128-битовый алгоритм SHA-1 и, соответственно, 160-битовый хэш-код. Поскольку защита от атак хэш-алгоритма SHA-1 обеспечивается 80 битами, разработаны усовершенствованные алгоритмы SHA-256 и SHA-512, генерирующие строки, соответственно, в 256 и 512 бит, в большей степени отвечающие условиям применения нового стандарта шифрования AES (с предусматриваемыми длинами ключей до 256 бит). Для предотвращения подделок передаваемых сообщений хэш-код шифруется обычно по принципам асимметричного шифрования. Получаемая при этом информационная структура обозначается как МАС-код (Message Authentication Code) и является основой цифровой подписи (Digital Signature), обеспечивающей решение задач целостности документов (сообщений) и идентификации их отправителей.
Рис. 4.17 иллюстрируют процессы создания и верификации цифровой подписи. Сначала отправитель и получатель должны договориться об алгоритме шифрования общим ключом, создать пары общих/частных ключей и обменяться общими ключами. Им также нужно прийти к согласию в выборе алгоритма хэширования (например, MD5).
(рис 4.17) Реализация процессов создания и верификации цифровой подписиПеречисленные инструкции сопроцессора ориентированы на использование нового метода формирования МАС-кода НМАС (Keyed Hashing for Message Authentication Code), изобретенного сотрудниками IBM Г. Кравчиком и Р. Канетти (описан в REC 2104 как предлагаемый Internet-стандарт). НМАС устраняет такие недостатки алгоритма MD5 как возможность преобразования различающихся сообщений в одинаковый хэш-код.
Базовые возможности CPACF представлены выбором криптографических функций, повышающих производительность операций шифрования/дешифрации для приложений протоколов SSL и VPN, не требующих безопасности уровня 4 по классификатору FIPS 140-2. Архитектурное решение при этом включает шифрование и дешифрацию по алгоритмам DES, Triple-DES, авторизацию на основе МАС-кода и алгоритм хэширования SHA-1. Эти функции непосредственно доступны приложениям.
Криптографический сопроцессор PCIXCC
Опционально поставляемый сопроцессор PCIXCC (Peripheral Component Interconnect Extended Cryptographic Coprocessor - расширенный криптографический сопроцессор с шиной PCI) обеспечивает высокопроизводительную криптографическую среду с дополнительными функциями. Он, по сути, консолидирует функциональные возможности аппаратных средств CCF (Cryptographic Coprocessor Feature) и PCICC (Peripheral Component Interconnect Cryptographic Coprocessor), включаемых в архитектуру z900 (Turbo model), начиная с 1994 года. CCF обеспечивает шифрование по стандарту DES, выполняет функции формирования цифровой подписи и распределения ключей по алгоритму RSA (Rivest, Shamir, Adleman), которые становятся все более важными для технологий SSL, реализуемых в среде z/OS.
PCICC-плата имеет операционную систему и соответствующую среду программирования для разработки и внедрения новых функций безопасности. Устройство обеспечивает высокую скорость выполнения RSA-алгоритма, в особенности при операциях с частными ключами, которые используются на этапе установления SSL-сессий. Одна плата может выполнить 135 процедур <рукопожатия> в секунду в сравнении с 75 для CCF.
Процедура <рукопожатия> отрабатывается перед непосредственной защитой информационного блока по протоколу начального приветствия (Handshake Protocol), входящему в состав протокола SSL. Обе рассмотренные возможности в z990 недоступны. Сопроцессор PCIXCC осуществляет только асинхронные функции и предусматривает выполнение пользователем следующих действий:
шифрование/дешифрация данных с использованием симметричных алгоритмов (DES, Double DES, Triple DES);
безопасная генерация, инсталляция и распределение ключей при использовании симметричных и асимметричных методов криптографии;
генерация, верификация и передача кодов PIN;
обеспечение целостности данных за счет организации цифровой подписи на основе MAC-кодов, алгоритмов хэширования и асимметричного алгоритма RSA.
Криптографический акселератор PCICA
Акселератор PCICA (Peripheral Component Interconnect Cryptographic Accelerator) является в z990 заказным устройством. Он представляет собой дополнение к средствам CPACF и PCIXCC и имеет сокращенные функциональные характеристики. Обычно предназначается для ускорения операций модульной арифметики, в частности характерных для сложных RSA-преобразований, используемых в SSL-протоколе, представляющем сейчас значительный интерес с точки зрения защищенных приложений электронной коммерции. При этом максимальное количество SSL-транзакций с секунду в любой комбинации из CPACF и PCICA ограничивается только реализацией циклов программной составляющей транзакций. Например, в модели B16 IBM 2084 с 16 активными процессорами и шестью акселераторами, разработанной для условий высокоскоростной безопасной обработки Web-транзакций, достигается производительность в 11000 SSL <рукопожатий> в секунду.
Поскольку устройства PCICA участвуют только в операциях, связанных с обработкой открытых ключей, они не имеют защищенного конструктивного исполнения, как это принято в PCIXCC. В конфигурацию систем zSeries может быть включено максимум шесть акселераторов (по два на один конструктив ввода/вывода) вместе с четырьмя PCIXCC. При этом суммарное количество устройств этих типов в z990 не должно превышать восьми. В этих пределах допускается любое сочетание используемых PCICA и PCIXCC, что позволяет клиентам (заказчикам систем) гибко масштабировать структуру обеспечения защищенного электронного бизнеса.
Каждое устройство PCICA имеет до двух плат акселераторов, встраиваемых в модуль адаптера, и может быть распределено на любой логический раздел, определенный в системе (табл. 4.6).
PCI-криптографические адаптеры в системе z990
| Тип адаптера |
Максимальное число устройств на сервер |
Число криптографических сопроцессоров в устройстве |
Максимальное число криптографических сопроцессоров на сервер |
Число криптографических доменов на сопроцессор |
Число логических разделов на сервер (определенных/активных) |
| PCICA |
6 |
2 |
12 |
16 |
30/30 |
| PCIXCC |
4 |
1 |
4 |
16 |
30/30 |
В таблице 4.7. приведены данные, позволяющие оценить основные функциональные возможности криптографических устройств системы z990.
Сравнительные характеристики криптографических устройств z990
| Функция, атрибут |
CPACF |
PCIXCC |
PCICA |
| Поддержка z/OS приложений с использованием ICSF |
+ |
+ |
+ |
| Шифрование/дешифрация с использованием алгоритма секретного ключа |
|
+ |
|
| Высокоскоростное установление SSL-сессии |
|
|
+ |
| Выполнение высокоскоростного симметричного шифрования (открытый ключ) |
+ |
|
|
| Выполнение высокоскоростного асимметричного шифрования (открытый ключ) |
|
|
+ |
| Физически включен в состав центрального процессора (ЦП) |
+ |
|
|
| Требует активации CPACF |
+ |
+ |
+ |
| Требует активного состояния ICSF |
|
+ |
+ |
| Участие в обеспечении конфиденциальности данных (шифрование/дешифрация) |
+ |
+ |
|
| Участие в обеспечении целостности данных (хэширование, аутентификация сообщений) |
+ |
+ |
|
| Требует загрузки системных мастер-ключей |
|
+ |
|
| Поддержка функций протокола SSL |
+ |
+ |
+ |
Все рассматриваемые устройства имеют специфические системные требования, которые представлены в таблице 4.8.
Системные требования к поддержке криптографических фунеций
| Операционная система |
CPACF |
PCIXCC |
PCICA |
| z/OS v.1. и выше |
+ |
+ |
+ |
| z/OS v.1.3 |
+ |
+ |
+ |
| z/OS v.1.2 |
+ |
+ |
+ |
| OS/390 v.2.10 |
+ |
+ |
+ |
| z/VM v.4.2 и выше |
+ |
|
|
| z/VM v.4.2 и выше (только для Linux Guests) |
|
|
+ |
| z/VM v.3.1 |
+ |
|
|
| Linux 2.4.7 для Zseries |
|
|
+ |
| VSE/ESA v.2.7 и |
|
|
|
| IBM TCP/IP для VSE/ESA v.1.5 |
|
|
+ |
Система базовых криптографических сервисов z/OS обеспечивает доступ приложений к аппаратным средствам криптографии тремя путями с использованием продуктов (рис. 4.18):
(рис 4.18) Возможности доступа приложений к аппаратным средствам криптографииICSF (Integrated Cryptographic Service Facility), интегрированного в z/OS. ICSF для своей инициализации требует активности хотя бы одного криптографического процессора.
OCSF (Open Cryptographic Service Facility), предоставляющего реализацию в z/OS API-интерфейса прикладного программирования CDSA (Common Data Security Architecture) компании Intel. Этот API включает набор криптографических функций, которые могут быть выполнены аппаратными средствами посредством запросов ICSF.
API, используемым клиентом или сервером, взаимодействующими по TCP/IP сокетами на основе протокола SSL. Если сервисы ICSF недоступны, система SSL использует собственные криптографические сервисы.
Потребителями ресурсов и возможностей PCI-сопроцессоров являются многие программные продукты IBM. Причем они могут использовать собственные программные криптографические сервисы, если система ICSF не активизирована или ограничена по функциональности. В частности, потребителями по направлению z/OS System SSL являются:
IBM HTTP server;
CICS Transaction System;
TN 3270 server;
FTP server (client);
LDAP server (client);
Web Sphere Application Server.
Примерами обращений к криптографическим сервисам посредством OCSF являются компонент ISAKMP (Internet Security Association Key Management Protocol) продукта z/OS Firewall Technologies, компонент OCEP (Open Cryptography Enhanced Plug-in) системы RACF и др. Прямой доступ к аппаратным криптографическим ресурсам характерен для протокола туннелирования IPSec (Internet Protocol Security) как компонента z/OS Firewall Technologies, z/OS DCE, z/OS Network Authentication Service (Kerberos), Web Sphere Payment Manager при реализации протокола безопасных функций SET (Secure Electronic Transactions). В этих случаях приложения обращаются непосредственно к ICSF.
Помимо организации интерфейса доступа приложений к аппаратным средствам криптографии ICSF реализует несколько вариантов решений для ввода мастер-ключей. В частности, для предприятий, требующих повышенной степени безопасности, z990 как опцию предлагает рабочую станцию TKE (Trusted Key Entry). Эта станция осуществляет защищенное управление PCIXCC, включая загрузку мастер-ключей (DES и РКА мастер-ключей). Физически эти ключи могут храниться в наборах данных VSAM, управляемых ICSF отдельно для симметричных (в шифрованной форме) и асимметричных ключей. Для ускорения доступа к симметричным криптографическим ключам они дублируются к кэш ICSF.
Криптосистема zSeries в действительности имеет 16 физических наборов регистров хранения мастер-ключей, каждый набор принадлежит домену. Домен размещен в логическом разделе через определение раздела в профиле ее копии. Тот же домен должен быть размещен в экземпляре ICSF, исполняемом в логическом разделе. Каждый логический раздел или каждая копия ICSF имеет свои уникальные значения мастер-ключей и может шифровать собственный набор пользовательских ключей на основе уникальных мастер-ключей, таким образом обеспечивая надежную изоляцию друг от друга пользователей разделяемых криптопроцессоров.
Защита TCP/IP-сетей
Вопросам защиты сетей, основанных на использовании стека протоколов TCP/IP, посвящена обширная литература, например, [4.13, 4.14, 4.15]. Безопасность информационного взаимодействия корпоративных компьютерных сетей и отдельных компьютеров через незащищенные сети, например, через Internet, требует решения задач защиты сетевых компонентов от несанкционированных действий со стороны внешней среды и защиты информации в процессе ее передачи по каналам связи.
Решение первой задачи основано на использовании межсетевых экранов Firewalls, поддерживающих безопасность взаимодействия путем фильтрации двустороннего трафика сообщений, а также выполнения функций посредничества при обмене информацией.
Защита информации в процессе передачи по открытым каналам связи обеспечивается выполнением функций:
аутентификации сторон;
шифрования передаваемых данных;
подтверждения подлинности и целостности доставленной информации;
обнаружения и исследования событий, связанных с отрицанием фактов отправления и приема сообщений.
Защита информации в процессе ее передачи по открытым каналам связи основана на построении защищенных каналов связи, называемых криптозащищенными туннелями или туннелями VPN (Virtual Private Network). Для независимости от прикладных протоколов и приложений защищенные VPN формируются на нижних уровнях стека TCP/IP (рис. 4.19). Уровню сетевых интерфейсов соответствуют такие протоколы реализации VPN, как PPTP (Point-to-Point Tunneling Protokol), L2F (Layer-2 Forwading) и L2TP (Layer-2 Tunneling Protocol) как объединение первых двух протоколов. Уровню межсетевого взаимодействия соответствует IPSec (Internet Protocol Security). Для управления криптографическими ключами на этом уровне используются протоколы SKIP (Simple Key Management for Internet Protocols) и ISAKMP.
(рис 4.19) Протоколы обеспечения безопасности, ассоциированные с уровнями стека TCP/IPТранспортному уровню отвечают протоколы SSL/TLS (Secur Sockets Layer/Transport Layer Security) и SOCKS, стандартизирующий процедуры взаимодействия клиент-серверных приложений TCP/IP через сервер-посредник (Firewall, брандмауэр). Протокол позволяет реализовать функцию трансляции IP-адресов (NAT-Network Address Translation), состоящую в замене для исходящих пакетов внутренних IP-адресов отправителей одним IP-адресом шлюза, что усложняет задачу несанкционированного доступа.
Нужно отметить, что имеются протоколы для реализации защищенного взаимодействия и на прикладном уровне. Эти протоколы, как правило, являются дополнениями к различным протоколам прикладного уровня. Например, протокол Secure MIME (S/MIME) является дополнением по защитным функциям к протоколу электронной почты.
Протокол удаленного доступа PPP (Point-to-Point Protokol) предусматривает, что в процессе установления соединения любая из взаимодействующих систем может потребовать использования одного из двух стандартных протоколов аутентификации - PAP (Password Authentication Protocol) или CHAP (Challenge Handshake Authentication Protocol). Некоторые фирменные протоколы представляют модификации PAP и СНАР. Например, служба RAS операционной системы Windows NT использует вариант протокола СНАР с хэш-функцией алгоритма MD4, называемый MS-CHAP.
К наиболее популярным протоколам централизованного контроля удаленного доступа относятся протоколы Kerberos, RADIUS (Remote Authentication Dial-In User Service) и др.
Названный продукт IBM z/OS Firewall Technologies представляет собой популярное решение в классе брандмауэров. Для управления взаимодействием между intranet и Internet, включая одновременное разрешение авторизованных транзакций, он обеспечивает три ключевых технологии:
Сетевые серверы.
Фильтрация и трансляция адресов.
Виртуальные частные сети.
К группе сетевых серверов относятся:
ISAKMP-сервер, обеспечивающий согласование параметров и управление ключами при формировании общего защищенного канала на базе протокола IKE (Internet Key Exchange); стороны, вовлеченные в процесс согласования, могут идентифицировать друг друга и инициировать защищенное соединение, используя цифровой сертификат, асимметричный и симметричный алгоритмы шифрования;
Configuration server - сервер конфигурирования выполняет функции конфигурирования графического интерфейса пользователя к брандмауэру со стороны клиентов AIX, Windows NT и др.;
SOCKS-сервер для исходящих сессий (от защищенного клиента к незащищенному серверу);
FTP proxy-сервер;
DNS-сервер предотвращает попытки внешних пользователей опознать адреса защищенных хостов, в то же время обеспечивая разрешение адресов хостов в незащищенной сети.
Следует также отметить, что система RACF обладает средствами защиты TCP/IP-портов и сокетов TCP и UDP, основанными на использовании профилей из класса SERVAUTH [4.16]. Например, доступ к локальным TCP или UDP портам может быть определен в профиле EZB.PORTACCESS.sysname.tcpname.SAFkeyword.