Apesar de não ser o objetivo do presente trabalho, faz-se necessária a modelagem das funcionalidades de autenticação e acesso federado de um serviço/aplicação, especial- mente para validar a proposta do autenticador apresentada.
Não se trata, contudo, de especificar e modelar os recursos providos por serviços ou aplicações, tendo em vista que estes podem ser os mais diversos possíveis. O que se busca é estabelecer um conjunto mínimo de requisitos suficientes para permitir a criação ou integração de aplicações com os mecanismos SAML de autenticação federada.
Tendo esse foco em mente, é estabelecido o conjunto de casos de uso voltados ao de- senvolvimento ou adaptação de aplicações e serviços ao contexto de identidade federada e deperimetrizada, conforme mostrado na figura 3.3b.
32 CAPÍTULO 3. MODELA GEM DO A UTENTICADOR ICP/SAML
(a) Provedor de Identidade (IdP). (b) Aplicação (SP).
3.2. IDENTIFICAÇÃO E MODELAGEM DOS CASOS DE USO 33 Tabela 3.1: Caso de Uso: Gerar Assertiva SAML.
Caso de Uso: Gerar Assertiva SAML
Atores: Navegador
Descrição: Entrega ao navegador a assertiva SAML após o logon. Pré-Condições: As mesmas do caso de uso extendido (Autenticar Usuário). Fluxo de Evento
Primário: As mesmas do caso de uso extendido (Autenticar Usuário). Fluxo de Evento
Secundário:
Caso o usuário já tenha efetuado logon com sucesso há me- nos de 6h, o sistema dispensará o processo de logon e en- tregará a assertiva SAML armazenada em cache.
Pós-Condições Redirecionamento do navegador ao provedor de serviço so- licitante, carregando a assertiva SAML.
Pontos de Extensão Casos de Uso Incluídos:
Tabela 3.2: Caso de Uso: Autenticar Usuário.
Caso de Uso: Autenticar Usuário
Atores: Navegador
Descrição: Realizar a autenticação do usuário
Pré-Condições: A solicitação de autenticação deve surgir a partir de um “re-direct” de uma aplicação (SP) compatível com SAML. Fluxo de Evento
Primário:
• Uma tela de apresentação do sistema é exibida. • Caso de uso Solicitar Certificado Digital e PIN.
• O navegador é notificado sobre o status da autenticação. Fluxo de Evento
Secundário:
Pós-Condições Resultado da autenticação. Pontos de Extensão Gerar Assertiva SAML. Casos de Uso
34 CAPÍTULO 3. MODELAGEM DO AUTENTICADOR ICP/SAML Tabela 3.3: Caso de Uso: Solicitar Certificado Digital e PIN.
Caso de Uso: Solicitar Certificado Digital e PIN
Atores: Usuário e Navegador Descrição:
Realiza as tarefas de ICP, solicitando e validando o certifi- cado do usuário e realizando a verificação da posse da chave privada do certificado.
Pré-Condições: Chamada a partir do caso de uso ’Autenticar Usuário’.
Fluxo de Evento Primário:
• O sistema solicita ao usuário a inserção do cartão inteli- gente.
• Após a inserção, é apresentada uma caixa de seleção onde são listados os certificados presentes na mídia.
• O sistema realiza a validação do certificado selecionado. • O sistema gera um desafio com base na chave pública do
certificado.
• O navegador solicita ao usuário que digite o PIN do cer- tificado para liberar o funcionamento da chave privada • O navegador solicita à API do cartão inteligente que re-
solva o desafio.
• O navegador retorna ao caso de uso Autenticar Usuário.
Fluxo de Evento Secundário:
Cartão sem certificados válidos:
• Solicita ao usuário que insira um cartão com certificados válidos.
PIN incorreto:
• Informa ao usuário que o PIN digitado está incorreto. • Solicita ao usuário que digite novamente o PIN do certi-
ficado selecionado.
Pós-Condições Retorna ao caso de uso Autenticar Usuário, com o certifi- cado digital e o PIN do usuário
Pontos de Extensão Casos de Uso Incluídos:
3.2. IDENTIFICAÇÃO E MODELAGEM DOS CASOS DE USO 35 Tabela 3.4: Caso de Uso: Acessar Aplicação.
Caso de Uso: Acessar Aplicação
Atores: Usuário
Descrição: Permite ao usuário acessar a aplicação Pré-Condições:
Fluxo de Evento Primário:
• A aplicação valida o Token SSO. • O acesso à aplicação é concedido. Fluxo de Evento
Secundário:
Caso o usuário não possua um Token SSO válido, o caso de uso Solicitar Assertiva SAML entra em ação.
Pós-Condições Acesso à aplicação ou acionamento do caso de uso Solicitar Assertiva SAML
Pontos de Extensão Solicitar Assertiva SAML Casos de Uso
Incluídos:
Tabela 3.5: Caso de Uso: Solicitar Assertiva SAML.
Caso de Uso: Solicitar Assertiva SAML
Atores: Navegador
Descrição: Carrega o navegador com os parâmetros do SP e redireciona para o IdP.
Pré-Condições: Tentativa de acesso à aplicação sem o Token SSO Fluxo de Evento
Primário:
Aplicação carrega o navegador com os parâmetros SAML e o redireciona para o IdP.
Fluxo de Evento Secundário:
Pós-Condições Redirecionamento do navegador para o IdP Pontos de Extensão
Casos de Uso Incluídos:
36 CAPÍTULO 3. MODELAGEM DO AUTENTICADOR ICP/SAML Tabela 3.6: Caso de Uso: Consumir Assertiva SAML.
Caso de Uso: Consumir Assertiva SAML
Atores: Navegador
Descrição: Processa a assertiva SAML carregada pelo navegador. Pré-Condições: Navegador com carga de assertiva SAML recebida pelo IdP. Fluxo de Evento
Primário:
• O sistema recebe a assertiva SAML e efetua a validação. • O sistema retorna a confirmação de assertiva consumida. Fluxo de Evento
Secundário:
Pós-Condições Assertiva consumida Pontos de Extensão
Casos de Uso Incluídos:
Tabela 3.7: Caso de Uso: Gerar Token SSO.
Caso de Uso: Gerar Token SSO
Atores: Navegador
Descrição: Entrega ao navegador o Token SSO para acesso à aplicação. Pré-Condições: Navegador retorna do IdP com assertiva SAML.
Fluxo de Evento Primário:
• Navegador entrega ao sistema a assertiva SAML.
• Sistema inicia o caso de uso Consumir Assertiva SAML para efetuar a validação.
• Sistema entrega ao navegador o Token SSO. Fluxo de Evento
Secundário:
Pós-Condições Navegador com Token SSO para acesso à aplicação Pontos de Extensão
Casos de Uso