Grid PKI and security training

Содержание

Слайд 2

Grid PKI and security training -- Protvino, 17.01.2005

Программа курса
Краткий обзор криптографических понятий.
Public

Grid PKI and security training -- Protvino, 17.01.2005 Программа курса Краткий обзор
Key Infrastructure и X.509-сертификаты.
Аутентификация и делегация полномочий в LCG-2.
Сервисы авторизации и отображения прав.
VOMS – Virtual Organisation Membership Service.
MyProxy – сервис обновления proxy-сертификатов.
Планируемые нововведения в LCG-2 и gLite.
Практическая часть.

Слайд 3

Grid PKI and security training -- Protvino, 17.01.2005

Некоторые криптографические понятия.

Алгоритм шифрования –

Grid PKI and security training -- Protvino, 17.01.2005 Некоторые криптографические понятия. Алгоритм
(известный) набор действий, необходимый для шифрования/расшифровки данных.
Ключ – параметр алгоритма шифрования.
Аутентификация – проверка подлинности сущности.
Авторизация – сопоставление объекта и набора привилегий.
Конфиденциальность – доступность передаваемых данных заранее предопределённому набору объектов.
Целостность – неизменность передаваемых данных.
Цифровая подпись – инструмент для идентификации источника данных.
Non-repudiation – невозможность отрицать принадлежность цифровой подписи.

Слайд 4

Grid PKI and security training -- Protvino, 17.01.2005

Алгоритмы шифрования

Симметричный алгоритм
(DES, IDEA, BlowFish)

Несимметричный

Grid PKI and security training -- Protvino, 17.01.2005 Алгоритмы шифрования Симметричный алгоритм
алгоритм
(RSA, DSA, Elliptic Curve)

Слайд 5

Grid PKI and security training -- Protvino, 17.01.2005

Несимметричные алгоритмы

Часто роли открытого и

Grid PKI and security training -- Protvino, 17.01.2005 Несимметричные алгоритмы Часто роли
закрытого ключа взаимозаменяемы.
Режим шифрования: открытый ключ – шифрование, закрытый ключ – расшифровка.
Режим цифровой подписи: закрытый ключ – шифрование, открытый ключ – расшифровка.
Цифровую подпись может создать только носитель закрытого ключа – non-repudiation при условии наличия закрытого ключа только у его настоящего владельца.
Восстановление закрытого ключа по открытому – сложная математическая проблема.
Безопастное хранение закрытого ключа – непростая техническая проблема.
Несимметричные алгоритмы гораздо медленнее симметричных (примерно в 1000 раз), поэтому для шифрования данных обычно применяют гибридные технологии: несимметричный алгоритм для начального согласования параметров шифрования и симметричный алгоритм для шифрования данных.

Слайд 6

Grid PKI and security training -- Protvino, 17.01.2005

X.509 сертификаты

Области использования: аутентификация, проверка

Grid PKI and security training -- Protvino, 17.01.2005 X.509 сертификаты Области использования:
целостности, цифровая подпись, non-repudiation.
Цифровая подпись – хэш (hash) данных, зашифрованный закрытым ключом.
Подпись может быть проверена с помощью открытого ключа.
Третья доверенная сторона (CA) удостоверяет принадлежность сертификата определённой сущности, определяемой DN.
Доверие сертификату строится на доверии третьей стороне, подписавшей этот сертификат.

Структура сертификата (RFC3280)

Distinguished Name (DN) – уникальное “имя” сертификата, оформленное в стиле X.500:
/C=RU/O=DataGrid/CN=DataGrid CA

Расширения сертификата

Слайд 7

Grid PKI and security training -- Protvino, 17.01.2005

PKI, Public Key Infrastructure

Certification Authority

Grid PKI and security training -- Protvino, 17.01.2005 PKI, Public Key Infrastructure
– выдаёт и отзывает сертификаты. Является третьей доверенной стороной.
Registration Authority – подтверждает право объекта на получение/отзыв сертификата.
Владелец сертификата – может использовать закрытый ключ и сертификат для шифрования и цифровой подписи.
Клиент – объект, использующий открытый ключ для шифрования данных, проверяющий цифровую подпись или аутентифицирующий владельца открытого ключа.
Хранилища – репозитории для действительных сертификатов и списка отозванных сертификатов или Certificate Revocation List, CRL.
Путь сертификации – цепочка от данного сертификата до (self-signed) сертификата источника доверия (CA).

Слайд 8

Grid PKI and security training -- Protvino, 17.01.2005

Challenge-response authentication

Алиса (А) хочет аутентифицировать

Grid PKI and security training -- Protvino, 17.01.2005 Challenge-response authentication Алиса (А)
Боба (Б).
Б посылает свой сертификат Алисе, она проверяет правильность сертификата и подпись (или цепочку подписей) CA.
А посылает Бобу произвольную фразу (challenge) с просьбой зашифровать её закрытым ключом Боба.
Б шифрует пришедшие данные и отсылает ответ (response) Алисе.
А расшифровывает ответ Боба с помощью переданного ранее открытого ключа и сравнивает результат с эталонной фразой.
Если сравнение успешно, то Боб действительно владеет закрытым ключом, сответствующим сертификату.

Слайд 9

Grid PKI and security training -- Protvino, 17.01.2005

Challenge-response authentication

Зашифровывать произвольные данные своим

Grid PKI and security training -- Protvino, 17.01.2005 Challenge-response authentication Зашифровывать произвольные
ключом глупо: Боб не должен доверять Алисе. Поэтому challenge должен получаться в результате совместных усилий Боба и Алисы.
При проверке присланного Бобом сертификата Алиса должна исходить из своих данных о пути сертификации, отозванных сертификатах и т.д.
Если Алиса аутентифицировала Боба и затем Боб хочет аутентифицировать Алису, то Алиса не обязана доверять Бобу в процессе аутентификации.
Самое неприятное: мы можем утверждать, что при успешной аутентификации перед нами действительно Боб. Перед нами кто-то, у кого есть закрытый ключ Боба – это не обязательно Боб.

Слайд 10

Grid PKI and security training -- Protvino, 17.01.2005

Single Sign-On

Система распределена: нужна аутентификация

Grid PKI and security training -- Protvino, 17.01.2005 Single Sign-On Система распределена:
и делегация привилегий без непосредственного вмешательства пользователя.
Принцип наименьших привилегий: необходима делегация только нужного набора привилегий.
LCG-2: аутентификация и делегация посредством proxy-сертификатов, нарушает стандарт PKIX.

Limited Proxy: не может быть делегирован далее, не аутентифицируется на gatekeeper.
Proxy-сертификат не может быть отозван, поэтому создание долгосрочного proxy очень нежелательно.
Начальный proxy не обязательно подписывается самим пользователем, это может быть CA – например Kerberos CA.

Слайд 11

Grid PKI and security training -- Protvino, 17.01.2005

Аутентификация и делегация

Процесс делегации:
Делегат создаёт

Grid PKI and security training -- Protvino, 17.01.2005 Аутентификация и делегация Процесс
пару ключей.
Открытый ключ отсылается делегирующему.
Подписанный открытый ключ (сертификат) возвращается делегату вместе со всей цепочкой сертификации.
GRAM, Replica Services, RB: GSI-аутентификация с помощью полного proxy + делегация proxy.
GridFTP: GSI/SSL-аутентификация с помощью (полного) proxy, делегации нет.
Web-сервисы: TLS-подобная аутентификация + делегация с использованием расширений G-HTTPS GET-PROXY-REQ и PUT-PROXY-CERT.
Java: аутентификация – Java Secure Sockets Extension + TrustManager. Планируется ‘G-HTTPS’-делегация.

Слайд 12

Grid PKI and security training -- Protvino, 17.01.2005

Виртуальные организации

«Динамическое собрание одиночек и

Grid PKI and security training -- Protvino, 17.01.2005 Виртуальные организации «Динамическое собрание
организаций, гибко, безопастно и координировано разделяющее ресурсы» -- LCG-2 User Guide.
VO с технической точки зрения: LDAP или HTTP (или VOMS) ресурс, перечисляющий Distinguished Names сертификатов пользователей конкретной VO.
LCG-2: файл /etc/grid-security/grid-mapfile, один сертификат – одна виртуальная организация, нет разделения пользовательских ролей внутри VO.
VOMS: призвана для управления ролью пользователя внутри VO и создания пользовательских групп. Вместо использования LDAP/HTTP для отображения пользователей будет использоваться VOMS-запросы. Внутренняя структура хранилища – Relational Database.

Слайд 13

Grid PKI and security training -- Protvino, 17.01.2005

Сервис авторизации LCAS

LCAS – набор

Grid PKI and security training -- Protvino, 17.01.2005 Сервис авторизации LCAS LCAS
подключаемых модулей для авторизации пользователя. Для успешной авторизации необходимо успешное завершение всех модулей (логическое AND).
userallow.mod – даёт пользователю доступ к ресурсу. Файл конфигурации – allowed_users.db. (grid-mapfile)
userban.mod – запрещает доступ к ресурсу отдельным пользователям, указанным в файле ban_users.db.
timeslots.mod – в файле timeslots.db описаны промежутки времени, в которые разрешён доступ.
voms.mod – авторизует пользователей на основе конфигурации VOMS. Понимает файлы в текстовом, GACL и XACML форматах. По-умолчанию выключен.
Каждому модулю передаётся RSL-ресурс, описывающий конкретный запрос пользователя.

Слайд 14

Grid PKI and security training -- Protvino, 17.01.2005

Credential Mapping Service

LCMAPS состоит из

Grid PKI and security training -- Protvino, 17.01.2005 Credential Mapping Service LCMAPS
множества подключаемых модулей и компонента Evaluation Manager.
Каждому из модулей доступен X.509 Proxy и описание задачи в RSL. Вдобавок модуль может запросить аттрибуты, установленные предыдущими модулями.
localaccount.mod – определяет локальную учётную запись. Модуль типа A – выбирает аттрибуты.
poolaccount.mod – определяет разделяемую учётную запись (poolaccount). Тип – A.
posix_enf.mod – устанавливает аттрибуты процесса используя POSIX-вызовы setreuid(), setregid() и setgroups(). Модуль типа E – устанавливает аттрибуты.
voms*.mod – определяет аттрибуты пользователя на основании VOMS-данных. Тип – A.

Слайд 15

Grid PKI and security training -- Protvino, 17.01.2005

LCMAPS Evaluation Manager

Порядок выполнения подключаемых

Grid PKI and security training -- Protvino, 17.01.2005 LCMAPS Evaluation Manager Порядок
модулей определяется компонентом Evaluation Manager на основе текстового файла описания политик lcmaps.db.
Политика – это правила, следуя которым вызываются модули. Политика является детерминированным конечным автоматом с парой элементарных состояний:
localaccount -> posix_enf | poolaccount
poolaccount -> bad_user
~bad_user -> posix_enf

Результат применения политики определяется кодом возврата последнего выполненного модуля.

Слайд 16

Grid PKI and security training -- Protvino, 17.01.2005

VOMS – VO Membership Service

Позволяет

Grid PKI and security training -- Protvino, 17.01.2005 VOMS – VO Membership
создать иерархическую групповую структуру с пользовательскими ролями и возможностями.
Позволяет избежать использования локального gridmap-файла снимая проблему его обновления.
На сегодня основывается на добавлении некритичных расширений к пользовательскому proxy-сертификату.
В один proxy-сертификат может быть включена информация от нескольких VOMS-серверов.
С точки зрения пользователя изменения состоят в использовании утилиты voms-proxy-init вместо grid-proxy-init.
Предусмотрена репликация VOMS-серверов – уменьшает вероятность отказа в обслуживании и распределяет нагрузку.

Слайд 17

Grid PKI and security training -- Protvino, 17.01.2005

Структура VOMS-информации

Примитивы VOMS: группа (group),

Grid PKI and security training -- Protvino, 17.01.2005 Структура VOMS-информации Примитивы VOMS:
роль (role) и возможность (capability). Их комбинация – аттрибут.
Структура аттрибута:
/VO[/group[/subgroup(s)]][/Role=role][/Capability=cap]
/grid.org/replicator/optimisation, /grid.org/Role=Admin,
/grid.org/production/Role=Tester/Capability=long_jobs
VOMS-сервер может возвращать информацию о членстве в группах или о роли в конкретной группе. В proxy может включаться только необходимая информация – принцип наименьших привилегий.
Аттрибут VO всегда присутствует – совместимость с механизмом gridmap.
Аттрибуты могут являться частью сертификата X.509, RFC 3281 Attrubute Certificate, GACL и XACML.

Слайд 18

Grid PKI and security training -- Protvino, 17.01.2005

VOMS migration plan

Grid PKI and security training -- Protvino, 17.01.2005 VOMS migration plan

Слайд 19

Grid PKI and security training -- Protvino, 17.01.2005

Сервис MyProxy

MyProxy (MP) обновляет (скоро

Grid PKI and security training -- Protvino, 17.01.2005 Сервис MyProxy MyProxy (MP)
истекающие) proxy-сертификаты без вмешательства пользователя.
myproxy-init создаёт долговременный proxy, который сохраняется на машине, предоставляющей сервис MP.
За своевременным обновлением локального proxy-сертификата следит Resource Broker.
MyProxy не должен содержать слишком много proxy-сертификатов – увеличивается вероятность атаки.
MP сам контролирует, какие пользователи могут пользоваться сервисом (accepted_credentials) и какие RB могут обновлять сертификаты (authorized_renewers).
Используя MyProxy пользователь целиком вверяет свои полномочия этому сервису на всё время действия долговременного сертификата (по-умолчанию 7 дней).

Слайд 20

Grid PKI and security training -- Protvino, 17.01.2005

Новое в gLite и LCG-2

Поддержка

Grid PKI and security training -- Protvino, 17.01.2005 Новое в gLite и
протокола OCSP вместо списка CRL.
Улучшение процессов аудита, в частности – введение самодостаточности журналов событий.
Разделение аутентификации (AuthN) и делегации полномочий. Текущая схема нарушает протокол TLS.
Поддержка Site Integrated Proxy Services (SIPS) – CA, которые могут выдавать proxy-сертификаты используя Kerberos, виртуальные смарт-карты и т.д. вместо X.509 сертификатов. Неясна политика доверия.
Изоляция пользовательских процессов.
WorkSpace Service, динамически создающий учётные записи с необходимыми характеристиками.
Виртуализация: JVM, Xen, VMWare, User-Mode Linux?
Сетевая изоляция: Dynamic Connectivity Service – только зарождается, в LCG-2 и gLite 1.0 реализована не будет.

Слайд 21

Grid PKI and security training -- Protvino, 17.01.2005

gLite: дизайн системы авторизации

Policy Information

Grid PKI and security training -- Protvino, 17.01.2005 gLite: дизайн системы авторизации
Point, PIP – получает и проверяет аттрибуты авторизуемого объекта.
Policy Decision Point, PDP – основываясь на результатах PIP, принимает решение о разрешении и запрете доступа или о дальнейшей проверке политик.
Policy Enforcement Point, PEP – вызывает цепочку из PDP и PIP, получая решение об авторизации.
Policy Administration Point, PAP – создатель политики или набора политик.

Слайд 22

Grid PKI and security training -- Protvino, 17.01.2005

gLite: политики и авторизация

Усложнение дизайна:

Grid PKI and security training -- Protvino, 17.01.2005 gLite: политики и авторизация
нужно обрабатывать локальные и глобальные политики и разрешать конфликты. Но приоритет должен отдаваться локальным политикам.
Усложнение дизайна: нужно использовать уже существующие системы авторизации – права доступа UNIX, VOMS, LCAS, LCMAPS, GACL и т.д.
Усложнение дизайна: существует много языков описания политик: XACML, PDL, PAM, SAML и т.д.
Введение необязательной взаимной авторизации: клиент может потребовать авторизации сервиса.
Авторизация в старых (legacy) сервисах будет поддерживаться на уровне необходимых изменений. Например, в GridFTP планируется добавление LCAS и LCMAPS интерфейсов.

Слайд 23

Grid PKI and security training -- Protvino, 17.01.2005

Доступ к данным: gLite I/O.

Только

Grid PKI and security training -- Protvino, 17.01.2005 Доступ к данным: gLite
Grid-доступ: самый простой способ – сервис gLite I/O работает на Storage Element с правами пользователя gstorage, которому принадлежат все файлы. Это и планируется как первый шаг.
Сервис принимает решения об авторизации, нет необходимости в делегации, обновлении proxy-сертификатов и Credential Mapping System – это хорошо.
НО: необходим очень качественный программный код.
Добавление локального доступа: требует отображения на локальные учётные записи, обновления proxy и делегации.
Политика доступа полностью контролируется локальным администратором.
Ведёт к несогласованности прав доступа в глобальном каталоге и в локальной файловой системе.
Имя файла: Grid-PKI-and-security-training.pptx
Количество просмотров: 120
Количество скачиваний: 0