Seidor
mujer con el móvil

04 de janeiro de 2023

O que é SAML? Como funciona o SAML 2.0?

Você sabe por que cada vez mais empresas estão apostando no SAML? Porque é uma excelente solução completa para a gestão de identidade federada (FIM) que permite integrar o login único ou Single Sign-on (SSO). Além disso, seu processo de autenticação única possibilita o uso de várias aplicações ao mesmo tempo.

Os componentes individuais do SAML, entre os quais encontramos um banco de dados central de usuários e 6 protocolos diferentes, fornecem todas as funções relevantes para descrever e transferir características de segurança.

O que é SSO (Single Sign On)?

SAML permite integrar o início de sessão único (SSO), então começaremos explicando o que é.

O SSO permite que os usuários façam login com as mesmas credenciais em diferentes contas. Dessa forma, quando um trabalhador insere credenciais para fazer login em seu posto, ele também se autentica em seus aplicativos, recursos e outros softwares.

As suas vantagens são diversas:

  • Melhora a experiência do usuário. O usuário não precisará mais memorizar diferentes senhas nem gastar vários segundos em cada login.
  • Minimiza os ataques hackers. Senhas fracas são evitadas, pois ao existir apenas uma, ela tende a ser mais forte.
  • Protocolos como SAML tornam isso muito fácil de implementar.

Provedor de identidade e Provedor de serviço

SAML (Security Assertion Markup Language) é um padrão de código aberto baseado em XML que permite a troca de informações, tanto de autenticação quanto de autorização entre diferentes partes: um identity provider (provedor de identidade) e um service provider (provedor de serviços).

Por um lado, um provedor de serviços precisa da autenticação do provedor de identidade para conceder autorização ao usuário. O Salesforce costuma ser provedor de serviços, pois depende de um provedor de identidade para a autenticação do usuário. Clique aqui se quiser saber mais sobre o que é o Salesforce.

Por outro lado, um provedor de identidade realiza a autenticação de que o usuário final é quem diz ser e envia esses dados ao provedor do serviço junto com os direitos de acesso do usuário ao serviço.

Um exemplo é OKTA, um dos líderes no fornecimento de soluções de identidade.


Autenticação SAML

Assim, a autenticação SAML é o processo pelo qual se verifica a identidade e as credenciais do usuário (senha, autenticação de dois fatores, etc.). A autorização SAML é a que informa ao provedor de serviços qual acesso concede ao usuário autenticado.

Como funciona SAML?

SAML tem diversas utilidades. Uma de suas funções é fazer declarações sobre as propriedades e autorizações de um usuário para outros usuários ou empresas associadas, mas especialmente sobre aplicações, ou seja, para os «provedores de serviços». Isso é possível porque o identity provider, banco de dados central onde as informações correspondentes do usuário são armazenadas, utiliza asserções em um formato XML.

Mas também conta com outros componentes, como protocolos, links e perfis, que explicamos a seguir.

Afirmações

Uma asserção SAML é o documento XML criado pelo provedor de identidade que envia ao provedor de serviços, e pode conter uma ou mais declarações. De fato, existem três tipos diferentes de asserções SAML, que são especificadas em SAML 2.0: autenticação, atributo e decisão de autorização.

  • Declarações de autenticação: o provedor de identidade informa ao aplicativo que o usuário foi autenticado por meio de declarações de autenticação. Esse tipo de declaração também fornece informações em uma afirmação sobre quando a autenticação foi realizada e qual método foi utilizado.
  • Attribute statements: as declarações de atributos são atributos que estão vinculados ao usuário respectivo e podem ser comunicados ao aplicativo utilizando o token SAML correspondente.
  • Declarações de decisão de autorização: quando as declarações de decisão de autorização são incluídas em uma asserção SAML, o usuário recebeu acesso a recursos específicos ou foi negado o acesso a recursos específicos.

Cada uma das asserções também recebe uma assinatura digital, a qual deve ser verificada pelo provedor que acessa o serviço. Esta é a forma pela qual se garante a integridade e autenticidade do token SAML, que é o nome que a asserção recebe após ter sido assinada. Uma vez que a verificação correta tenha sido realizada, é o provedor de serviços quem analisa o conteúdo real, com a finalidade de decidir, se for o caso, o tipo de acesso que é concedido ao usuário.

Protocolos

A especificação SAML 2.0 define um conjunto de protocolos de consulta / resposta. Através deles, o aplicativo pode solicitar ou consultar uma asserção, ou solicitar que um usuário se autentique. Estes são os seguintes protocolos:

  • Authentication request protocol: o protocolo de solicitação de autenticação define mensagens do tipo <AuthnRequest> que são necessárias para consultar asserções com declarações de autenticação para um usuário selecionado. Com base neste protocolo, as informações são transferidas do banco de dados para o provedor de serviços, geralmente utilizando um «Perfil SSO do navegador web SAML 2.0».
  • Protocolo de consulta e solicitação de asserção: para consultas que podem ser usadas para recuperar asserções SAML em geral, o framework contém o protocolo de consulta e solicitação de asserção. As asserções podem ser consultadas com base em diversos parâmetros, como os tipos de declarações que contém.
  • Protocolo de logout único: o protocolo de logout único define consultas que iniciam um logout quase simultâneo de todas as sessões ativas de um usuário. O usuário, o provedor de identidade ou o provedor de serviços podem enviar este tipo de mensagens.
  • Protocolo de resolução de artefatos: se as mensagens SAML devem ser transportadas separadamente através de um canal seguro ou em um tamanho que economize recursos, é utilizado o protocolo de resolução de artefatos. Ele permite enviar referências a asserções, também chamadas de artefatos, que são muito menores que a mensagem real. O registro também permite resolver essas referências para receber a mensagem original.
  • Protocolo de gerenciamento de identificador de nome: este protocolo fornece meios para alterar o valor do nome ou o formato de uma identidade de usuário. A solicitação pode ser feita pelo provedor de serviços ou pelo provedor de identidade. Também é possível usar o protocolo de gerenciamento do identificador de nome para remover os vínculos entre os provedores de serviços e identidades que foram criados para autenticar a identidade do usuário original.
  • Name identifier mapping protocol: o protocolo de mapeamento de identificador de nome define mensagens de consulta e resposta para a comunicação entre dois provedores de serviços. De acordo com esse tipo de mensagem, um aplicativo pode consultar um identity provider para que um usuário acesse outro aplicativo.

Vinculações

As atribuições de mensagens SAML nos protocolos padrão de mensageria ou comunicação são chamadas de «vínculos de protocolo SAML» ou simplesmente «vínculos».

Por exemplo, o link SOAP define como as mensagens SAML podem ser trocadas dentro de ambientes SOAP, enquanto o link de redirecionamento HTTP define como as mensagens do protocolo SAML podem ser transportadas através do encaminhamento HTTP. Outros links que já estão predefinidos no SAML 2.0:

  • Ligação SOAP Reversa
  • Vinculação HTTP POST
  • Vinculação de Artefato HTTP
  • Vinculação de URI SAML

Perfil SSO de navegador web SAML 2.0 e outros perfis

Uma das principais qualidades do SAML é sua grande flexibilidade, que facilita seu uso para uma ampla variedade de propósitos. No entanto, é preciso ter em mente que essa flexibilidade pode ser a causa de algumas aplicações não o admitirem. Embora nesses casos exista uma solução que consiste em limitá-la. A forma de fazer isso é usar os chamados perfis.

Em geral, um perfil de SAML define restrições e / ou extensões em apoio ao uso de SAML para um aplicativo em particular; seu objetivo é melhorar a interoperabilidade ao eliminar parte da flexibilidade inevitável em um padrão de uso geral.

Perfil SSO de Navegador Web SAML 2.0, um dos perfis mais destacados, contém todos os componentes essenciais para definir a comunicação dos requisitos de autenticação SAML entre os provedores de identidade e serviços. Além disso, são oferecidos outros perfis muito interessantes, que podem ser de grande utilidade:

  • Perfil de Cliente e Proxy Aprimorado (ECP).
  • Perfil de Descoberta do Provedor de Identidade.
  • Perfil de Logout Único.
  • Perfil de Gestão de Identificador de Nome.
  • Perfil de Resolução de Artefatos.
  • Perfil de Consulta/Solicitação de Asserção.
  • Perfil de Mapeamento de Identificador de Nome.

Quais são as novidades do SAML 2.0?

SAML foi desenvolvido em 2001 pelos serviços de segurança do comitê técnico do consórcio OASIS (Organization for the Advancement of Structured Information Standards). Sua primeira versão, SAML v1.0, foi publicada em novembro de 2002. Em 2005, a partir de várias adaptações, surgiram as revisões chamadas SAML 2.0 e 2.1.

Com as últimas versões, foram aplicadas mudanças importantes e adicionadas novas características derivadas do marco da federação de identidade da aliança liberdade (ID-FF) 1.2 e da arquitetura shibboleth, como as que indicamos a seguir:

  • Eliminação de alguns elementos obsoletos como <AuthorityBinding> ou <RespondWith>
  • Implementação de assinatura XML e criptografia XML (segundo W3C)
  • Substituição do atributo AssertionID por um atributo de ID XML geral
  • Introdução da gestão de sessões para admitir o encerramento automático de todas as aplicações (por exemplo, durante ausências prolongadas).
  • Adaptação dos metadados para simplificar o uso de SAML (neste caso, o provedor de identidade e o provedor de serviços também passam a estar marcados nos metadados).
  • O uso de mecanismos que permitem aos fornecedores comunicar políticas e configurações de privacidade.
  • Suporte aprimorado para dispositivos móveis.
  • Implementação dos registros já enumerados (só existia o protocolo de consulta e solicitação de asserção em SAML 1.0 e 1.1)
  • Otimização de perfil (por exemplo, Fusão dos perfis «navegador / artefato» e «navegador / publicação» no «SAML 2.0 Web Browser SSO Profile«).

Para que é adequado o padrão SAML?

O padrão SAML é muito útil para implementar uma instância de autenticação central com base na linguagem de marcação. Uma de suas grandes vantagens é que oferece um elevado grau de eficiência e um alto padrão de segurança. Em particular, minimiza-se o número de possíveis vazamentos de segurança, graças ao fato de que os aplicativos individuais não precisam armazenar nem sincronizar nenhum dado do usuário. Dessa forma, alcança-se um dos objetivos principais, que é compatibilizar um alto grau de segurança com o melhor nível possível de facilidade de uso.

Seu uso é altamente recomendável em diferentes âmbitos, e pode ser utilizado tanto para os processos internos de solicitação da empresa quanto para vários serviços web, como os de banco online ou aplicativos móveis. Como cliente, você notará que está lidando com vários aplicativos diferentes quando usa esse tipo de serviço, já que, embora o usuário, na verdade, acesse mais de um sistema de fundo. SAML criará a ilusão de que você entrou em um único programa.


Conclusão

SAML é um dos protocolos usados pelos diferentes produtos da OKTA, uma das melhores soluções de autenticação moderna.

OKTA proporciona ferramentas que facilitam a identificação, autenticação e autorização mediante soluções Single Sign-On (SSO), Diretório Universal (UD), Autenticação Adaptativa Multifator (Adaptative MFA), Acesso Condicional, etc.

Talvez te interesse

01 de fevereiro de 2023

O que é um Middleware?

Talvez o nome middleware não te soe familiar. Mas se você conhece hardware ou software, poderá relacionar. O middleware é, de fato, um tipo de software. Ao contrário de outros programas de computador, este serve para interagir com outros elementos do computador, como pode ser o sistema operacional, o hardware ou aplicativos. Também, conosco, os próprios usuários.

SEIDOR
27 de janeiro de 2023

7 Vantagens (e 5 Desvantagens) de um CRM

A tecnologia CRM nos permite melhorar as relações com os clientes e facilita a tomada de decisões para obter melhores resultados no departamento de vendas.

22 de fevereiro de 2023

Inteligência artificial para falar? 6 exemplos reais

Os chatbots são canais personalizados de comunicação que as empresas utilizam para interagir com seus clientes sem a necessidade de um interlocutor real. A solução perfeita para encontrar informações ou realizar qualquer gestão simples.

SEIDOR