III. Segurança em Grades Computacionais: O Problema


           Para podermos estudar fielmente o problema da segurança em grades computacionais, devemos iniciar estabelecendo um exemplo de quadro no qual a segurança mostra-se algo necessário porém debilitado. Assim, segue abaixo um exemplo do problema em questão, estando este também representado na “Figura 1”.

Figura 1


           Imaginemos um físico, membro de uma conjunção de instituições colaboradoras de cientistas, que receba um email envolvendo um novo conjunto de dados. Posto isto, o físico inicia um programa de análise, que por sua vez requisita os dados junto ao local remoto no qual estão armazenados (Local C). Uma vez iniciado, o programa de análise de dados determina que precisa executar uma simulação para comparar os resultados experimentais com os resultados preditos, contatando assim o servidor de recursos (Local D), a fim de alocar os recursos não utilizados para que possam ser usados na simulação. O servidor de recursos, por sua vez, inicia o processo em computadores distribuídos nos Locais E e G, que por sua vez acessam os valores dos parâmetros em um sistema de arquivos no Local F. Além disso, os computadores que processam a simulação se comunicam também entre si, com o servidor de recursos, com o repositório de dados (Local C) e com o usuário (Local A).
           Este exemplo ilustra muitas das características distintas de uma grade computacional. Podemos destacar alguma delas, como:
           • Os usuários são muitos e dinâmicos, posto que participantes da organização do exemplo incluem membros de muitas instituições e variam frequentemente,
           • Os recursos são dinâmicos e em grande quantidade, e como as instituições decidem quais recursos compartilhar e quando compartilhá-los, a quantidade e a localização dos mesmos podem mudar rapidamente,
           • Um processo pode requisitar, executar e liberar os recursos dinamicamente durante a sua execução, como no exemplo acima, no qual cinco locais diferentes tiveram seus recursos utilizados (sem incluir o usuário, que também se encontra na grade),
           • Os processos podem se comunicar por uma variedade de mecanismos, incluindo multicast e unicast. Apesar desses processos formarem uma única entidade lógica totalmente conectada, as comunicações de baixo nível, como os sockets TCP/IP, podem ser criados e “destruídos” dinamicamente durante a execução do programa,
           • Os recursos podem demandar diferentes mecanismos e políticas de autenticação e autorização, que comumentemente não podem ser modificados. O nosso exemplo é constituído por diferentes políticas de controle de acesso, como Kerberos, senhas (representados por plaintext na figura), SSL e SSH,
           • Um único usuário será associado a diferentes contas e credenciais nos diferentes locais, para o propósito de controle de acesso e controle de contas,
           • Os recursos e os usuários podem estar localizados nos mais distantes e variados lugares, como em diferentes países.

           Analisando o exemplo dado acima, podemos concluir que o problema pelo qual passamos é prover soluções de segurança que permitam a execução de processos, a conjunção de diversas políticas de controle de acesso e a operação segura em ambientes heterogêneos.