Índice
3+
Experiências Suportadas
2-7
Dias de Validade do Token
4
Componentes Principais
1. Introdução
Os métodos de autenticação baseados em tokens são cada vez mais prevalentes em sistemas de computação distribuída para pesquisa em física de alta energia. A Worldwide LHC Computing Grid (WLCG) atualizou todos os serviços para suportar tokens WLCG, refletindo esta tendência da indústria. No Instituto de Física de Alta Energia (IHEP) na China, os tokens Kerberos foram estabelecidos como o mecanismo principal de autenticação dentro dos clusters de computação locais e estão agora a ser estendidos para ambientes de computação distribuída.
2. Contexto e Motivação
O IHEP está a desenvolver uma plataforma de computação distribuída para integrar múltiplos locais de pesquisa chineses. No entanto, várias experiências de longa duração no IHEP, particularmente a experiência BES, estão fortemente acopladas a ambientes de cluster locais, incluindo sistemas de base de dados, serviços de armazenamento e recursos de computação. Para enfrentar este desafio, o IHEP implementou uma abordagem de "Expansão de Cluster" que estende de forma transparente as capacidades do cluster local para ambientes de computação distribuída, permitindo que os trabalhos do BES migrem para locais remotos com perturbação mínima.
3. Desafios Técnicos
O principal desafio na implementação de tokens Kerberos é gerir o tempo de vida dos tokens em ambientes distribuídos. Os tokens Kerberos no IHEP têm tipicamente um período de validade de 2 dias com um limite de renovação de 7 dias. A renovação do token deve ser garantida em três pontos críticos:
- Fase de submissão do trabalho
- Período de espera na fila do trabalho
- Fase de execução do trabalho
4. Arquitetura do Sistema
O ecossistema de tokens Kerberos no IHEP compreende quatro componentes interligados que trabalham em conjunto para fornecer autenticação perfeita em recursos de computação distribuída.
4.1 Produtor de Tokens
O produtor de tokens gera tokens Kerberos quando os utilizadores iniciam sessão nos nós submetedores e publica estes tokens no repositório de tokens. Este componente trata da criação inicial de tokens com parâmetros apropriados de validade e renovação.
4.2 Repositório de Tokens
Este sistema de armazenamento centralizado mantém todos os ficheiros de tokens atuais e inclui um serviço de atualização que renova periodicamente os tempos de vida dos tokens para evitar a expiração durante trabalhos computacionais de longa duração.
4.3 Transferência de Tokens
O mecanismo de transferência move de forma segura os ficheiros de tokens do repositório para os nós de trabalho em vários locais distribuídos, garantindo que os tokens estão disponíveis onde são necessários para a execução de trabalhos.
4.4 Motor do Cliente de Tokens
Este componente inicializa o ambiente de token nos nós de trabalho e gere a renovação do tempo de vida do token durante a execução do trabalho, fornecendo capacidade de autenticação contínua.
5. Detalhes de Implementação
5.1 Fundamentação Matemática
A autenticação Kerberos baseia-se em criptografia de chave simétrica e validação baseada em carimbo de data/hora. A validade do token pode ser representada como:
$V(t) = \begin{cases} 1 & \text{se } t_{atual} \leq t_{criação} + t_{válido} \\ 0 & \text{caso contrário} \end{cases}$
Onde $t_{válido}$ representa o período de validade (tipicamente 2 dias no IHEP) e a renovação é permitida até $t_{criação} + t_{renovação}$ (tipicamente 7 dias).
5.2 Implementação de Código
O serviço de renovação de tokens implementa a seguinte lógica:
class ServiçoRenovaçãoToken:
def renovar_token_se_necessário(self, token, tempo_atual):
"""Renova o token se estiver a aproximar-se da expiração"""
if token.está_prestes_a_expirar_dentro_de(limiar=3600): # limiar de 1 hora
if tempo_atual <= token.tempo_criação + token.período_renovação:
novo_token = self.kinit_renovar(token.principal)
self.repositório.atualizar(token.principal, novo_token)
return novo_token
return token
def kinit_renovar(self, principal):
"""Executa o comando de renovação Kerberos"""
import subprocess
resultado = subprocess.run(['kinit', '-R', principal],
capture_output=True, text=True)
if resultado.returncode == 0:
return self.extrair_token_atual(principal)
else:
raise ErroRenovaçãoToken(f"Falha ao renovar token: {resultado.stderr}")
6. Resultados Experimentais
O sistema de tokens Kerberos foi implementado com sucesso na infraestrutura de computação distribuída do IHEP. Três experiências principais utilizam atualmente esta estrutura de autenticação:
- LHAASO (Large High Altitude Air Shower Observatory)
- BES (Beijing Spectrometer Experiment)
- HERD (High Energy cosmic-Radiation Detection)
Estas experiências utilizam tokens Kerberos para aceder remotamente a dados armazenados em sistemas de ficheiros EOS e Lustre em vários locais distribuídos. A implementação demonstrou autenticação fiável com falhas mínimas de trabalhos devido à expiração de tokens.
7. Análise e Discussão
A implementação de tokens Kerberos no ambiente de computação distribuída do IHEP representa um avanço significativo nos mecanismos de autenticação para pesquisa em física de alta energia. Esta abordagem aborda desafios críticos em segurança entre locais, mantendo a compatibilidade com a infraestrutura existente. Comparado com a autenticação tradicional baseada em certificados utilizada em muitos ambientes de computação em grid (como documentado nos relatórios técnicos da WLCG), os métodos baseados em tokens oferecem melhor usabilidade e redução da sobrecarga de gestão.
A contribuição técnica do trabalho do IHEP reside no toolkit abrangente que gere todo o ciclo de vida do token em ambientes distribuídos. Esta arquitetura partilha semelhanças com a gestão de tokens OAuth 2.0 em serviços web, mas está especificamente otimizada para cargas de trabalho de computação científica. A capacidade do sistema para renovar automaticamente os tokens aborda uma limitação fundamental no Kerberos—a sua dependência de conectividade de rede contínua para os Centros de Distribuição de Chaves (KDCs).
De acordo com o artigo original do CycleGAN de Zhu et al. (2017), a adaptação de domínio bem-sucedida requer representação de características robusta entre ambientes. Da mesma forma, o sistema de tokens do IHEP permite representação de identidade segura em vários locais de computação heterogéneos. A fundamentação matemática do Kerberos, baseada em variações do protocolo Needham-Schroeder, fornece segurança criptográfica comprovada, enquanto a implementação adiciona engenharia prática de sistemas distribuídos.
A implantação em três experiências principais demonstra a escalabilidade e fiabilidade do sistema. Esta conquista é particularmente notável dada a intensidade computacional das cargas de trabalho de física de alta energia, que frequentemente envolvem o processamento de petabytes de dados em milhares de nós de computação. O sucesso no IHEP sugere que abordagens semelhantes baseadas em tokens poderiam beneficiar outras comunidades de computação científica que enfrentam desafios de autenticação distribuída.
8. Aplicações Futuras
A estrutura de tokens Kerberos no IHEP tem várias direções promissoras para desenvolvimento futuro:
- Federação com Grids Internacionais: Estender a interoperabilidade de tokens com a WLCG e outras grids de pesquisa internacionais
- Integração na Cloud: Adaptar o sistema de tokens para ambientes de cloud híbrida e fornecedores de cloud comerciais
- Melhoria com Blockchain: Explorar a gestão de tokens baseada em blockchain para melhor auditabilidade e descentralização
- Cargas de Trabalho de Aprendizagem Automática: Estender o suporte para estruturas de aprendizagem automática distribuída que requerem autenticação segura
- Criptografia Resistente à Computação Quântica: Preparar para algoritmos criptográficos pós-quânticos na segurança de tokens
9. Referências
- Relatório de Desenho Técnico da WLCG, Worldwide LHC Computing Grid, 2021
- Neuman, B. C., & Ts'o, T. (1994). Kerberos: An Authentication Service for Computer Networks. IEEE Communications
- Documentação do Sistema de Armazenamento EOS, CERN, 2022
- Documentação XRootD, 2023
- Colaboração LHAASO. (2020). The Large High Altitude Air Shower Observatory
- Colaboração BES III. (2022). Relatório Técnico do Beijing Spectrometer Experiment
- Colaboração HERD. (2021). Visão Geral da Missão High Energy cosmic-Radiation Detection
- Documentação do Sistema de Ficheiros Lustre, 2023
- Documentação AFS, IBM, 2022
- Documentação XCache, 2023
- Zhu, J. Y., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. IEEE ICCV