Выбрать язык

Реализация Kerberos-токенов в распределённых вычислительных системах ИЯФ

Анализ реализации аутентификации на основе Kerberos-токенов в распределённых системах для физики высоких энергий в ИЯФ, включая архитектуру инструментария и развёртывание для нескольких экспериментов.
computingpowercoin.net | PDF Size: 0.5 MB
Оценка: 4.5/5
Ваша оценка
Вы уже оценили этот документ
Обложка PDF-документа - Реализация Kerberos-токенов в распределённых вычислительных системах ИЯФ

Содержание

3+

Поддерживаемых экспериментов

2-7

Дней действия токена

4

Основных компонента

1. Введение

Методы аутентификации на основе токенов становятся всё более распространёнными в распределённых вычислительных системах для исследований в области физики высоких энергий. Всемирная вычислительная сеть Большого адронного коллайдера (WLCG) обновила все службы для поддержки токенов WLCG, что отражает эту отраслевую тенденцию. В Институте физики высоких энергий (ИЯФ) в Китае Kerberos-токены были установлены в качестве основного механизма аутентификации в локальных вычислительных кластерах и в настоящее время расширяются на распределённые вычислительные среды.

2. Предпосылки и мотивация

ИЯФ разрабатывает распределённую вычислительную платформу для интеграции нескольких китайских исследовательских центров. Однако несколько давно существующих экспериментов в ИЯФ, в частности эксперимент BES, тесно связаны с локальными кластерными средами, включая системы баз данных, службы хранения и вычислительные ресурсы. Для решения этой проблемы ИЯФ реализовал подход «Расширения кластера», который прозрачно расширяет возможности локального кластера до распределённых вычислительных сред, позволяя заданиям BES мигрировать на удалённые площадки с минимальными нарушениями.

3. Технические проблемы

Основная проблема при реализации Kerberos-токенов — управление временем жизни токенов в распределённых средах. Kerberos-токены в ИЯФ обычно имеют срок действия 2 дня с ограничением продления до 7 дней. Продление токена должно быть гарантировано в трёх критических точках:

  • Фаза отправки задания
  • Период ожидания задания в очереди
  • Фаза выполнения задания

4. Архитектура системы

Экосистема Kerberos-токенов в ИЯФ состоит из четырёх взаимосвязанных компонентов, которые работают вместе для обеспечения бесперебойной аутентификации в распределённых вычислительных ресурсах.

4.1 Генератор токенов

Генератор токенов создаёт Kerberos-токены, когда пользователи входят в узлы-отправители, и публикует эти токены в хранилище токенов. Этот компонент обрабатывает первоначальное создание токенов с соответствующими параметрами действия и продления.

4.2 Хранилище токенов

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

4.3 Передача токенов

Механизм передачи безопасно перемещает файлы токенов из хранилища на рабочие узлы в распределённых площадках, обеспечивая доступность токенов там, где это необходимо для выполнения заданий.

4.4 Клиентский механизм токенов

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

5. Детали реализации

5.1 Математические основы

Аутентификация Kerberos основана на симметричной криптографии и проверке на основе временных меток. Действительность токена может быть представлена как:

$V(t) = \begin{cases} 1 & \text{если } t_{current} \leq t_{creation} + t_{valid} \\ 0 & \text{иначе} \end{cases}$

Где $t_{valid}$ представляет период действия (обычно 2 дня в ИЯФ), а продление разрешено до $t_{creation} + t_{renew}$ (обычно 7 дней).

5.2 Реализация кода

Служба продления токенов реализует следующую логику:

class TokenRenewalService:
    def renew_token_if_needed(self, token, current_time):
        """Обновить токен, если срок действия истекает"""
        if token.is_expiring_within(threshold=3600):  # Порог 1 час
            if current_time <= token.created_time + token.renewal_period:
                new_token = self.kinit_renew(token.principal)
                self.repository.update(token.principal, new_token)
                return new_token
        return token
    
    def kinit_renew(self, principal):
        """Выполнить команду обновления Kerberos"""
        import subprocess
        result = subprocess.run(['kinit', '-R', principal], 
                              capture_output=True, text=True)
        if result.returncode == 0:
            return self.extract_current_token(principal)
        else:
            raise TokenRenewalError(f"Не удалось обновить токен: {result.stderr}")

6. Результаты экспериментов

Система Kerberos-токенов была успешно развёрнута в распределённой вычислительной инфраструктуре ИЯФ. Три основных эксперимента в настоящее время используют эту структуру аутентификации:

  • LHAASO (Large High Altitude Air Shower Observatory)
  • BES (Beijing Spectrometer Experiment)
  • HERD (High Energy cosmic-Radiation Detection)

Эти эксперименты используют Kerberos-токены для удалённого доступа к данным, хранящимся в файловых системах EOS и Lustre, в распределённых площадках. Реализация продемонстрировала надёжную аутентификацию с минимальным количеством сбоев заданий из-за истечения срока действия токенов.

7. Анализ и обсуждение

Реализация Kerberos-токенов в распределённой вычислительной среде ИЯФ представляет собой значительный прогресс в механизмах аутентификации для исследований в области физики высоких энергий. Этот подход решает критические проблемы межсайтовой безопасности, сохраняя при этом совместимость с существующей инфраструктурой. По сравнению с традиционной аутентификацией на основе сертификатов, используемой во многих грид-средах (как задокументировано в технических отчётах WLCG), методы на основе токенов предлагают улучшенную удобство использования и снижение накладных расходов на управление.

Технический вклад работы ИЯФ заключается в комплексном инструментарии, который управляет всем жизненным циклом токенов в распределённых средах. Эта архитектура имеет сходство с управлением токенами OAuth 2.0 в веб-службах, но специально оптимизирована для научных вычислительных нагрузок. Способность системы автоматически обновлять токены решает фундаментальное ограничение Kerberos — его зависимость от непрерывного сетевого подключения к центрам распределения ключей (KDC).

Согласно оригинальной статье CycleGAN (Zhu et al., 2017), успешная адаптация домена требует устойчивого представления признаков в разных средах. Аналогично, система токенов ИЯФ обеспечивает безопасное представление идентичности в гетерогенных вычислительных площадках. Математическая основа Kerberos, основанная на вариациях протокола Нидхэма-Шрёдера, обеспечивает проверенную криптографическую безопасность, в то время как реализация добавляет практические аспекты разработки распределённых систем.

Развёртывание в трёх основных экспериментах демонстрирует масштабируемость и надёжность системы. Это достижение особенно примечательно, учитывая вычислительную интенсивность рабочих нагрузок физики высоких энергий, которые часто включают обработку петабайтов данных на тысячах вычислительных узлов. Успех в ИЯФ предполагает, что аналогичные подходы на основе токенов могут принести пользу другим научным вычислительным сообществам, сталкивающимся с проблемами распределённой аутентификации.

8. Перспективные приложения

Фреймворк Kerberos-токенов в ИЯФ имеет несколько перспективных направлений для будущего развития:

  • Федерация с международными гридами: Расширение взаимодействия токенов с WLCG и другими международными исследовательскими гридами.
  • Интеграция с облачными средами: Адаптация системы токенов для гибридных облачных сред и коммерческих облачных провайдеров.
  • Улучшение на основе блокчейна: Исследование управления токенами на основе блокчейна для улучшенной проверяемости и децентрализации.
  • Рабочие нагрузки машинного обучения: Расширение поддержки для распределённых фреймворков машинного обучения, требующих безопасной аутентификации.
  • Квантово-устойчивая криптография: Подготовка к постквантовым криптографическим алгоритмам в безопасности токенов.

9. Ссылки

  1. WLCG Technical Design Report, Worldwide LHC Computing Grid, 2021
  2. Neuman, B. C., & Ts'o, T. (1994). Kerberos: An Authentication Service for Computer Networks. IEEE Communications
  3. EOS Storage System Documentation, CERN, 2022
  4. XRootD Documentation, 2023
  5. LHAASO Collaboration. (2020). The Large High Altitude Air Shower Observatory
  6. BES III Collaboration. (2022). Beijing Spectrometer Experiment Technical Report
  7. HERD Collaboration. (2021). High Energy cosmic-Radiation Detection Mission Overview
  8. Lustre File System Documentation, 2023
  9. AFS Documentation, IBM, 2022
  10. XCache Documentation, 2023
  11. Zhu, J. Y., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. IEEE ICCV