Identity and Access Management, muito além das passwords
As passwords são uma solução antiga para um problema muito complexo. Atualmente, são elas o fator que confere mais vulnerabilidade às aplicações, aos sistemas e à Internet em geral.
Gerir e controlar as contas de utilizadores – as suas passwords, os seus direitos de acesso aos sistemas ou as permissões das aplicações a dados personalizados - pode parecer fácil, mas não é.
Num mundo em transformação, no qual o acesso aos dados dos utilizadores por entidades externas é cada vez mais facilitado, as soluções de Identity Management (IdM) são uma das peças fundamentais para garantir a segurança dos dados e dos utilizadores.
Identity and Access Management (IAM)
A gestão de identidade e acessos corresponde a uma framework de políticas, processos e tecnologias que visam assegurar que apenas as pessoas, aplicações e dispositivos apropriados, dentro ou fora das organizações, são autorizados a aceder aos recursos, sejam estes dados, sistemas, aplicações ou redes.
Tipicamente, uma solução IAM trata de autenticar os utilizadores e/ou as aplicações e de determinar se lhes é permitido aceder a determinado recurso.
Estas são as duas funções principais de IAM - autenticação e autorização – mas não são as únicas.
Autenticação
Estas funcionalidades tratam da verificação das credenciais do utilizador – normalmente um nome de utilizador e uma password – procurando uma experiência suave e o menos intrusiva possível, mas com todas as garantias de segurança.
• Single sign-on (SSO): visa reduzir o número de vezes que as credenciais são solicitadas ao utilizador durante a sua sessão, permitindo-lhe aceder a várias aplicações.
Nas aplicações Web é usualmente implementado através de um cookie de sessão partilhado entre as várias aplicações.
• Multi-factor Authentication (MFA): visa aumentar a segurança, reduzindo as possibilidades de roubo de identidade, através da solicitação de duas ou mais evidências da sua identidade durante o processo de autenticação.
Normalmente, é implementado através da combinação de uma password com um código enviado por SMS para o telefone do utilizador ou de um código produzido por uma aplicação instalada no telefone do utilizador (authenticator app).
Autorização
A autorização lida com a atribuição das permissões corretas ao utilizador e/ou à aplicação que acede aos recursos em seu nome.
Para o efeito são definidos perfis – de acordo com as políticas de IdM estabelecidas – e associados os respetivos direitos de acesso aos recursos.
A lógica de autorização é, ao contrário da lógica de autenticação, muitas vezes específica a cada aplicação.
Por este motivo, a maioria dos protocolos de IdM apenas definem abstrações dos conceitos fundamentais – roles e claims – e requerem depois a sua verificação e aplicação por cada uma das aplicações.
Gestão de Utilizadores
Na base de qualquer sistema IdM está, obviamente, um repositório dos utilizadores reconhecidos, assim como das suas informações, perfis e permissões.
Estas funcionalidades incluem:
• Onboarding (ou provisioning): o processo de registo de um utilizador novo.
• Self-service: para permitir ao utilizador gerir a sua conta de utilizador, bem como os consentimentos que deu a aplicações externas.
• Offboarding: o processo contrário ao onboarding, quando um utilizador deixa de utilizar a aplicação e, consequentemente, todas as suas permissões devem ser revogadas.
Identity Management na Cloud
A implementação de IdM associada à execução das aplicações na cloud, desde que as melhores práticas sejam asseguradas, pode trazer benefícios significativos para as organizações.
A abertura dos sistemas internos das organizações aos seus clientes, fornecedores e, claro, aos seus colaboradores é cada vez mais procurada, uma vez que aumenta a eficiência e pode reduzir os custos operacionais.
Os fabricantes de software dedicam-se a este tema há muitos anos e de formas semelhantes, ainda que muitas vezes com tecnologias diversas e/ou proprietárias - o que não facilita a integração dos sistemas e cria barreiras à transformação digital dos processos de negócio, prejudicando a experiência dos utilizadores.
Na última década temos vindo a testemunhar uma movimentação das soluções de IdM no sentido da implementação de standards também nesta área.
Ainda que não exista apenas um, as frameworks OAuth e OpenID Connect têm ganho muita adesão e caminham no sentido de se tornarem "standards de facto".
OAuth (Open Authorization)
O OAuth é um protocolo que suporta a autorização de acesso – "auth” refere-se a "authorization”, não a "authentication” – de aplicações externas, limitado a um recurso disponível na Web, sejam aplicações Web, desktop ou mobile.
A primeira versão do protocolo foi lançada em 2007 para proteger a API do Twitter. Em 2010, foi publicado o OAuth 2.0 pela Internet Engineering Task Force (IETF).
Como já acontecia com a primeira versão, o OAuth 2.0 permite a um utilizador autorizar uma aplicação de terceiros a aceder a um recurso na Web, sem nunca partilhar passwords.
O protocolo evoluiu nessa altura para suportar novos fluxos de autorização para cenários específicos e ainda melhorias em vários aspetos, como a simplificação de assinaturas ou o tempo de vida dos tokens e das autorizações.
OpenID Connect (OIDC)
O OIDC é um layer de identidade do utilizador sobre OAuth 2.0 que permite às aplicações verificar a identidade do utilizador final no processo de autenticação.
Na prática este protocolo adiciona ao OAuth 2.0 a capacidade de validar as credenciais do utilizador e de obter um "ID Token” que contém informação básica sobre o utilizador, como o seu identificador, nome, endereço de email, etc.
Novas tendências
À medida que cresce o número de utilizadores que usam mais e mais aplicações na Internet, no trabalho e em casa, numa experiência digital contínua entre diversos dispositivos diferentes, os desafios para a IdM são cada vez maiores.
As regulamentações tornam-se mais restritivas em termos de segurança. Os escândalos de abuso da confiança dos utilizadores e as quebras de segurança têm repercussões cada vez maiores.
Como acontece em todas as variantes do software, existem várias tendências que indicam sinais de evolução do software de IdM.
Neste momento, a mais importante é: O fim das passwords!
O fim das passwords?
Uma solução antiga para um problema complexo, as passwords não chegam para assegurar a segurança de acesso às aplicações, aos sistemas e à Internet em geral.
São inúmeros os exemplos de técnicas e de tecnologias que se focam neste problema, desde o comum multi-factor authentication (MFA) até tecnologias proprietárias mais recentes como o Face ID da Apple, que utiliza as propriedades biométricas do utilizador.
Esta será obviamente uma área que continuará a ser o principal objeto de evolução das aplicações de IdM.
Identity as a Service
À medida que as aplicações transitam para a cloud, será também natural assistir a esta transição das soluções IdM, deslocando-se do perímetro das organizações, com soluções proprietárias, para soluções generalistas na cloud.
Vários providers cloud já oferecem ferramentas de IdM integradas na sua oferta e há vários outros players especializados nesta área (Auth0, Okta, etc.).
Identidades não-humanas
Espera-se que, em 2022, existam mais de 20 mil milhões de dispositivos conectados à Internet. Atualmente, a questão da IdM já não é apenas a gestão da identidade dos utilizadores, mas também da identidade das aplicações, micro serviços, dispositivos móveis e dispositivos IoT.
Esta miríade de dispositivos levará certamente ao aparecimento de novas soluções ou até de novos protocolos de segurança.
Identidade descentralizada
A conceção de ferramentas de IdM tem sido sempre feita até aqui através de arquiteturas centralizadas – no fim existe sempre um repositório central com a identidade de todos os utilizadores, aplicações, etc.
Esta abordagem tem dois defeitos importantes:
• O primeiro prende-se com o risco de ter um único ponto de falha. Temos assistido a dezenas de exemplos do que pode significar um pequeno defeito nesse repositório, expondo imediatamente os dados de milhares ou milhões de utilizadores.
• O segundo resulta da reação ao poder que deriva de uma única companhia possuir tanta informação, tão valiosa, e as implicações que isso tem para a privacidade dos utilizadores e dos negócios.
As evoluções dos últimos anos nas tecnologias blockchain, por exemplo, têm sido também objeto de estudo no campo da identidade.
É expetável vermos as primeiras soluções de IdM descentralizadas com aceitação comercial nos próximos anos.
Transformação Digital
O futuro do mundo e dos negócios, particularmente no que diz respeito à economia, está intimamente ligado à indústria do software e à digitalização das relações entre as empresas, entre estas e os consumidores e entre os próprios utilizadores.
No trabalho e em casa, cada vez mais tempo é despendido em aplicações de software, estando também a impressão digital de cada um a transitar para a cloud.
Por isso, precisará cada vez mais de ser devidamente protegida e gerida, figurando-se a área da IdM fundamental nesta transformação.