• Nenhum resultado encontrado

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO

N/A
N/A
Protected

Academic year: 2021

Share "UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO"

Copied!
158
0
0

Texto

(1)

UNIVERSIDADE DO VALE DO ITAJAÍ

CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

SISTEMA DE GERENCIAMENTO DE IDENTIDADES PARA A

REDE CATARINENSE DE INFORMAÇÕES MUNICIPAIS

Emerson Souto

Michelle S. Wangham, Dra.

(2)

UNIVERSIDADE DO VALE DO ITAJAÍ

CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

SISTEMA DE GERENCIAMENTO DE IDENTIDADES PARA A

REDE CATARINENSE DE INFORMAÇÕES MUNICIPAIS

Emerson Souto

São José, Novembro / 2013

Orientadora: Michelle S. Wangham, Dra. Área de Concentração: Computação Aplicada Linha de Pesquisa: Sistemas Distribuídos

Palavras-chave: Segurança da Informação, Gestão de Identidades, Governo Eletrônico. Número de páginas: 156

(3)

DEDICATÓRIA

Este trabalho é dedicado aos meus pais, Osvaldo e Carmem. A minha querida esposa e minha filha, Vânia e Vitória.

(4)

AGRADECIMENTOS

Aos meus pais, Osvaldo de Souza Souto e Carmem Mary de Souza Souto, meus irmãos e toda a minha família pela educação e valores que me ensinaram, e todo o apoio que viabilizou alcançar meus objetivos.

A minha esposa e amiga Vânia, pelo apoio, ajuda, dedicação, compreensão e carinho no decorrer desta jornada.

E a todos amigos e colegas que de forma direta ou indireta contribuíram para que este sonho se realizasse.

Gostaria de agradecer a Federação Catarinense de Municípios e todo seu corpo técnico pelo apoio no desenvolvimento deste trabalho e especialmente ao colega Luiz Paulo Schlischting pela ajuda nas dificuldades de instalação do ambiente e na programação.

Um agradecimento especial a minha orientadora Michelle Wangham e a todos os professores que participaram da minha formação acadêmica.

(5)

RESUMO

As aplicações de Governo Eletrônico já são uma realidade nos municípios de Santa Catarina. Os agentes públicos municipais entendem que os serviços prestados via Internet podem trazer inúmeras vantagens, tanto para os cidadãos quanto para a própria administração pública. Para apoiar os municípios diante desta crescente demanda por soluções web, a Federação Catarinense de Municípios (FECAM) disponibiliza por meio da Rede Catarinense de Informações Municipais (RedeCIM) uma gama de sistemas, provendo serviços a um expressivo número de usuários das mais diversas áreas da administração pública municipal. Atualmente, a gestão destes usuários é realizada de forma isolada, ou seja, cada serviço possui um provedor de identidades e um processo diferente, o que dificulta e onera a instituição na manutenção das diversas bases de usuários. Por outro lado, estão os próprios usuários, que precisam guardar com segurança um número excessivo de senhas, pois cada sistema utiliza um mecanismo diferente de autenticação e autorização. Existem diversas soluções de gerenciamento de identidades que possibilitam prover a autenticação única (Single Sing-On - SSO) e que possuem implementações de código aberto que podem tornar a gestão de identidades da RedeCIM mais simples e segura. O objetivo deste trabalho é aprimorar o processo de gestão de identidades da Rede Catarinense de Informações Municipais, por meio do desenvolvimento de um sistema de gerenciamento de identidades. O sistema proposto segue o modelo centralizado de gestão de identidades, a autenticação única (SSO) e está alinhado as recomendações da arquitetura E-PING, Padrões de Interoperabilidade de Governo Eletrônico, do Brasil. O trabalho realizado envolveu (1) uma pesquisa bibliográfica sobre os modelos de gerenciamento de identidades e tecnologias existentes, (2) a definição de um provedor de identidades centralizado (IdP) baseado no padrão SAML, (3) o desenvolvimento de um protótipo de sistema de gerenciamento de identidades que faz uso do IdP proposto, e (4) avaliação do sistema de gerencimento de identidades por meio da aplicação de casos de testes para avaliar as funcionalidades do sistema e de uma pesquisa de satisfação aplicada em todos os perfis de usuários. Os resultados obtidos comprovam que é viável o desenvolvimento e a utilização de um sistema de gerenciamento de identidades centralizado que atenda as necessidades da RedeCIM. Comprovou-se também que a utilização da autenticação única (SSO) traz satisfação, tanto para os usuários dos serviços, quanto para os gestores de identidades das instituições relacionadas.

(6)

ABSTRACT

The applications of the Electronic Government are already a reality in the municipalities of Santa Catarina. The municipal agents understand that the services by Internet can bring a lot of advantages to both, citizens and public administration. To support the municipalities against the growing demand for web solutions, the Federação Catarinense de Municípios (FECAM) makes available by Rede Catarinense de Informações Municipais (RedeCIM) a gamma of systems, providing services to an expressive number of users from several areas of municipal government. Currently, the management of this users is taken in isolation, or, each service have an identity provider and a different process, which make more difficult and burdens the institution on the maintenance of the several users’ bases. On the other hand, are the own users, who need keep in secure an excessive number of passwords, because each system uses a different sign-on and authorization mechanism. There are a lot of solutions of identity management that make possible provide a single sign-on (SSO) and that have open source’s implementations that can make de Identity management of RedeCIM simpler and safer. The goal of this work is improve the identity management process of Rede Catarinense de Informações Municipais, through the development of identity management system. The system proposed follows the centralized model of identity management, the single sign-on and is aligned to the E-PING architecture recommendations, Interoperability Standards of the Electronic Government, from Brazil. This works involved a literature about the identity management models and existing technologies, the definition of a centralized identity provider (IdP), based on SAML standard, the development of a prototype of the system for identity management with the test cases to evaluate the functionalities of the system and a satisfaction survey applied to all users profiles. The results show that is viable the development and utilization of a centralized system of identity management that answer the necessities of RedeCIM. It is also demonstrated that the utilization of SSO bring satisfaction to both, users and managers identities from related institutions.

(7)

LISTA DE TABELAS E QUADROS

Tabela 1. Proporção de Usuários na Internet (2005-2011) ... ...15

Tabela 2. Resumo de comparação das ferramentas estudadas ... ..58

Tabela 3. Características dos principais sistemas da RedeCIM...65

Tabela 4. Tabela da descrição de atributos do IdP...70

Quadro 1. Caso de uso Gerenciar Serviços expandido...75

Quadro 2. Caso de uso Gerenciar Administrador da Instituição expandido... 76

Quadro 3. Caso de uso Configurar Mecanismo de Autenticação expandido...77

Quadro 4. Caso de uso Gerenciar Colaboradores expandido...77

Quadro 5. Caso de uso Autenticar Usuários expandido...78

Quadro 6. Caso de uso Atualizar Cadastro expandido...79

Quadro 7. Detalhamentos do caso de teste CT 01...87

Quadro 8. Detalhamentos do caso de teste CT 02...88

Quadro 9. Detalhamentos do caso de teste CT 03...89

Quadro 10. Detalhamentos do caso de teste CT 04...89

Quadro 11. Detalhamentos do caso de teste CT 05...90

Quadro 12. Detalhamentos do caso de teste CT 06...91

Quadro 13. Detalhamentos do caso de teste CT 07...91

Quadro 14. Detalhamentos do caso de teste CT 08...92

Quadro 15. Detalhamentos do caso de teste CT 09...93

Quadro 16. Detalhamentos do caso de teste CT 10...94

Quadro 17. Detalhamentos do caso de teste CT 11...94

Quadro 18. Detalhamentos do caso de teste CT 12...95

Quadro 19. Detalhamentos do caso de teste CT 13...96

(8)

LISTA DE ABREVIATURAS E SIGLAS

ACL Access Control List

API Application Programming Interface

AS Authentication Service

CAFe Comunidade Acadêmica Federada

CAS Central Authentication Service CGI.BR Comitê Gestor da Internet no Brasil

CoT Circles of trust

DIT Directory Information Tree

DNS Domain Name System

e-Gov Governo Eletrônico

e-PING Padrões de Interoperabilidade em Governo Eletrônico EGEM Escola de Gestão Pública Municipal

FECAM Federação Catarinense de Municípios

FTP File Transfer Protocol

GCIO Government ICT Directions and Priorities HTTP Hypertext Transfer Protocol

IDEA International Data encryption Algorithm

IdM Identity Management

IdP Identity Provider

IIA Institute of Internal Auditors

ISO International Organization for Standardization

JDBC Java Database Connectivity

KDC Key Distribution Centers

LDAP lightweight Directory Access Protocol MIT Massachusetts Institute of Technology

OASIS Organization for the Advancement of Structured Information Standards

OSI Open Systems Interconnection

RADIUS Remote Authentication Dial In User Service RAID Redundant Array of Independendet Disks RedeCIM Rede Catarinense de Informações Municipais REST Representational State Transfer

RNP Rede Nacional de Ensino e Pesquisa SAML Security Assertion Markup Language SASL Simples Authentication and Security Layer

SLO Single Log-Out

SOAP Simple Object Access Protocol

SP Service Provider

SSL Secure Socket Layer

SSO Single Sign-On

TCP Transmission Control Protocol

TIC Tecnologia da Informação e Comunicação

TGS Ticket-Granting Service

TLS Transport Layer Security

UML Unified Modeling Language

(9)

URL Uniform Resource Locator

XML eXtensible Markup Language

(10)

LISTA DE FIGURAS

Figura 1. Exemplo de uma identidade digital...26

Figura 2. Classificação dos modelos de gerenciamento de identidade...27

Figura 3. Exemplo de autenticação única...30

Figura 4. Processo de SSO que utiliza abordagem Baseada em Broker...31

Figura 5. Processo de SSO que utiliza abordagem Baseada em Agente...32

Figura 6. Processo de SSO que utiliza abordagem Baseada em Proxy Reverso...33

Figura 7. Processo de SSO que utiliza abordagem Baseada em API...34

Figura 8. Processo de SSO que utiliza abordagem Baseada em Serviços...34

Figura 9. Relação entre os componentes SAML...37

Figura 10. Estrutura de alto nível da asserção SAML...38

Figura 11. Protocolo OpenID Authentication 2.0………..………...……….……...43

Figura 12. Visão simplificada do protocolo OAuth...46

Figura 13. Troca de mensagens no Kerberos...49

Figura 14. Fluxo do protocolo CAS...52

Figura 15. Estrutura no estilo DNS...55

Figura 16. Visão geral do sistema de gestão de identidade...68

Figura 17. Casos de Uso do Administrador, Administrador de Instituição e Colaborador...74

Figura 18. Estrutura de diretório LDAP do sistema...80

Figura 19. Tela de autenticação do IdP...82

Figura 20: Configuração da fonte de autenticação...83

Figura 21: Metadado do IdP salm20-idp-hosted.php...83

Figura 22: Metadados fornecidos pelo IdP...84

Figura 23: Log de requisições na porta 443 (ssl)...97

Figura 24: Número de avaliadores conforme perfil do usuário no IdP...99

Figura 25: Número de avaliadores conforme a instituição pertencente...99

Figura 26: Distribuição dos avaliadores por área técnica...100

Figura 27: Número de sistemas que o avaliador é usuário...100

Figura 28: Tempo de atuação do avaliador no papel de usuário...100

Figura 29: Percentual de conhecimento sobre provedor de identidades...100

(11)

Figura 31: Percentual de conhecimento sobre autenticação centralizada...102

Figura 32: Percentual de conhecimento sobre autenticação Federada...103

Figura 33: Sistemas operacionais utilizados pelos avaliadores...104

Figura 34: Navegadores web utilizados pelos avaliadores...104

Figura 35: Execução do experimento...105

Figura 36: Necessidade de reinicio do experimento...105

Figura 37: Suficiência das mensagens de erro...106

Figura 38: Apresentação legível das informações...106

Figura 39: Rapidez dos serviços do IdP ...107

Figura 40: Não saber executar o experimento...107

Figura 41: Compreensão da funções do IdP ...108

Figura 42: Rapidez na gestão de usuários...108

Figura 43: Opinião sobre a flexibilidade no acesso aos serviços com a autenticação SSO...109

Figura 44: Opinião sobre a segurança do IdP...110

Figura 45: Opinião sobre a utilização do IdP nas instituições...111

Figura 46: Opinião sobre a utilização do IdP pelos colaboradores...111

(12)

SUMÁRIO

INTRODUÇÃO ... 14

1.1

PROBLEMA DE PESQUISA... 16

1.1.1

Solução Proposta ... 17

1.1.2

Delimitação de Escopo ... 18

1.1.3

Justificativa ... 18

1.2

OBJETIVOS ... 19

1.2.1

Objetivo Geral ... 19

1.2.2

Objetivos Específicos ... 19

1.3

METODOLOGIA ... 20

1.3.1

Metodologia da Pesquisa ... 20

1.3.2

Procedimentos Metodológicos ... 20

1.4

ESTRUTURA DO TRABALHO ... 21

2

FUNDAMENTAÇÃO TEÓRICA ... 22

2.1

SEGURANÇA DA INFORMAÇÃO ... 22

2.2

GESTÃO DE IDENTIDADES ... 24

2.2.1

Modelos de Gerenciamento de Identidades ... 26

2.2.2

Opções para Implantação da autenticação Single Sing-On (SSO) ... 29

2.3

SOLUÇÕES PARA IMPLANTAÇÃO DE AUTENTICAÇÃO SSO ... 35

2.3.1

SAML ... 35

2.3.2

OpenID ... 41

2.3.3

OAuth ... 44

2.3.4

Protocolo de Autenticação Kerberos ... 47

2.3.5

CAS ... 51

2.3.6

OpenLDAP ... 53

2.3.7

Outras Soluções ... 56

2.4

COMPARAÇÃO DAS SOLUÇÕES ... 58

2.5

E-PING ... 59

2.6

CONSIDERAÇÕES ... 61

3

TRABALHOS RELACIONADOS ... 62

3.1

COMUNIDADE ACADÊMICA FEDERADA (CAFE) ... 62

4

DESENVOLVIMENTO ... 64

4.1

ANÁLISE DOS PRINCIPAIS SISTEMAS DA REDECIM ... 64

4.2

VISÃO GERAL E ESPECIFICAÇÕES TÉCNICAS ... 66

4.3

ANÁLISE DE REQUISITOS ... 71

4.3.1

Requisitos Funcionais ... 71

4.3.2

Requisitos Não Funcionais ... 72

(13)

4.4

MODELAGEM DO SISTEMA ... 74

4.4.1

Casos de Uso ... 74

4.4.2

Estrutura de Diretório LDAP ... 80

4.5

DETALHAMENTO DO DESENVOLVIMENTO... 81

4.6

DESCRIÇÃO DO PROJETO DE EXPERIMENTOS ... 85

5

RESULTADOS E ANÁLISES ... 87

5.1

RESULTADOS OBTIDOS ... 87

5.1.1

Resultados do Primeiro Experimento: Casos de Teste ... 87

5.1.2

Resultados e Análise do Segundo Experimento: Pesquisa de Satisfação .. 98

6

CONCLUSÕES ... 115

6.1

TRABALHOS FUTUROS ... 116

REFERÊNCIA BIBLIOGRÁFICA ... 117

APÊNDICE 1 - METADADOS PROVEDOR DE SERVIÇOS ... 122

APÊNDICE 2 - TELAS DA APLICAÇÃO DOS TESTES ... 123

APÊNDICE 3 - ROTEIROS DA PESQUISA DE SATISFAÇÃO .... 143

APÊNDICE 4 - CORPO DO E-MAIL DA PESQUISA ... 149

(14)

INTRODUÇÃO

A Internet se torna cada vez mais indispensável para o acesso a informações e serviços públicos. A sociedade a cada dia exige um governo mais transparente e eficiente na prestação de serviços. Constata-se que a utilização da Internet e de web sites governamentais para a prestação de serviços on-line e para a disponibilização de informações acerca das atividades públicas representa um caminho para melhorar a eficácia e a qualidade dos serviços prestados ao cidadão (FERREIRA & ARAUJO, 2000).

Segundo Barbosa (2008), as relações entre governos e cidadão têm sido impactadas pelo uso cada vez maior das TICs (Tecnologias da Informação e Comunicação) pelos cidadãos e empresas, sobre tudo pela preferência por serviços transacionais online em ambientes virtuais, associadas à conveniência desses ambientes, e pela universalização da Internet.

A pesquisa coordenada pelo Comitê Gestor da Internet no Brasil (CGI.br) sobre o uso das tecnologias de informação e comunicação no Brasil - TIC Domicílios e Empresas, aponta o aumento expressivo do número de brasileiros que usam a Internet. O crescimento dos acessos nos domicílios e nas empresas contribui para evidenciar que as informações e a prestação de serviços por meio eletrônico estão mudando o cenário econômico e social no Brasil (CGI.BR, 2012). Cada vez mais, os governos, empresas e cidadãos interagem por meio da Internet. A Tabela 1 revela o crescimento de usuários da Internet nas diversas regiões do Brasil entre os anos de 2005 e 2011. Na Região Sul, por exemplo, observou-se uma taxa de crescimento de 19% no número de usuários em 2011, em relação ao número de usuários de 2010. Este aumento foi superior ao número total de usuários do Brasil, que cresceu 9,75% (CGI.BR, 2012).

Outro dado relevante na pesquisa TIC Domicílios e Empresas é que quase um terço dos brasileiros (31%), população acima de 16 anos, utilizou serviços de governo eletrônico (e-Gov) nos 12 meses anteriores a pesquisa. Enquanto 92% das empresas utilizaram a Internet para fazer consultas ou transações com instituições governamentais no mesmo período (CGI.BR, 2012).

(15)

Tabela 1: Proporção de Usuários na Internet (2005-2011) - Percentual sobre o total da população

Região

Área urbana Total Brasil (urbano + rural) 2005 2006 2007 2008 2009 2010 2011 2008 2009 2010 2011 Brasil 24 28 34 38 43 45 50 34 39 41 45 Norte 19 22 28 30 36 41 42 25 30 34 36 Nordeste 17 18 28 30 36 37 40 25 30 28 32 Sudeste 27 31 37 41 47 49 55 40 45 47 53 Sul 26 29 37 37 46 44 54 34 43 42 50 Centro-Oeste 28 34 38 44 48 53 53 41 45 50 51 Fonte: CGI.BR (2012).

Atualmente, o município é a esfera de governo com o relacionamento mais estreito com o cidadão, sendo que uma multiplicidade de serviços pode ser oferecida, ainda que em muitos casos em cooperação com os governos federal e estadual.

“(...) os municípios após as mudanças na estrutura governamental do Brasil com a Constituição Federal de 1988, não conquistaram apenas autonomia, mas também herdaram diversas atribuições e competências na execução das políticas públicas nas áreas de educação, saúde, agricultura, assistência social, segurança de trânsito, entre outras competências administrativas e tributárias.” (VEDANA, 2002).

Segundo Vedana (2002), os municípios herdaram diversas atribuições e responsabilidades, mas os recursos financeiros continuaram centralizados na União e nos Estados. Esta afirmação revela a dificuldade que os municípios, principalmente os de pequeno porte, possuem para implantar um governo eletrônico eficiente e adequado à demanda crescente da sociedade.

Neste cenário, a Federação Catarinense de Municípios (FECAM), a partir de 2005, criou a Rede Catarinense de Informações Municipais (RedeCIM), que integra diversas soluções tecnológicas de apoio à gestão pública municipal, promovendo o governo eletrônico nos municípios catarinenses. Estas soluções são compostas por sistemas que proveem serviços às entidades municipalistas catarinenses por meio de uma rede colaborativa interinstitucional. Esta rede integra instituições públicas como os municípios, os consórcios intermunicipais e as organizações privadas sem fins econômicos, como é o caso da FECAM, da Escola de Gestão Pública Municipal (EGEM) e das vinte e uma associações de municípios de Santa Catarina.

(16)

Os sistemas da RedeCIM foram desenvolvidos em diferentes plataformas computacionais, com diferentes políticas de segurança e mecanismos de segurança, ou seja, cada sistema possui a sua política de segurança e utiliza um método diferente de prover o acesso ao sistema. Em 2013, o número de usuários com acesso aos sistemas da RedeCIM é de aproximadamente dois mil, distribuídos entre os servidores públicos dos 295 municípios e dos colaboradores das instituições municipalistas (FECAM, 2013), o que demonstra a necessidade e importância do aprimoramento do método atual utilizado para garantir a segurança das informações.

Segundo Dias (2000), a gestão da segurança da informação é necessária para redução do impacto e diminuir a probabilidade de incidentes de segurança, protegendo as informações, sistemas e os recursos das manipulações não autorizadas.

Chadwick (2009 apud WANGHAM et at, 2010), afirma que o gerenciamento de identidades consiste em um conjunto de funções e habilidades como administração, descoberta e troca de informações usadas para garantir a identidade de uma entidade e as informações contidas nessa identidade (atributos, credenciais e certificados), permitindo assim que relações comerciais possam ocorrer de forma segura.

Dentro deste contexto, este trabalho procurou fazer uma contribuição para a RedeCIM, na área de gestão de identidades, visando subsidiar a FECAM na definição do modelo e das ferramentas tecnológicas e no desenvolvimento de um sistema de gestão de identidades para instituição.

1.1 PROBLEMA DE PESQUISA

O desenvolvimento de novas soluções tecnológicas de apoio aos municípios catarinenses foi avançando conforme a demanda de solicitações dos municípios e de acordo com os recursos disponíveis. No período de 2005 a 2013, a FECAM passou de uma simples provedora de informações, por meio do site institucional, para uma prestadora de serviços de Tecnologia da Informação aos municípios e instituições coligadas.

O crescimento na quantidade de sistemas resultou no expressivo aumento no número de usuários. Além disso, os sistemas foram desenvolvidos por vários fornecedores, resultando na adoção de diferentes mecanismos de autenticação e de autorização, além da implantação de políticas de gerenciamento de identidades distintas.

(17)

Atualmente, os usuários realizam diversos cadastros e possuem um número excessivo de senhas, ou seja, para cada sistema que o usuário possui acesso é necessário obter uma senha diferente. Esta forma dificulta o usuário na guarda segura das senhas e dificulta o processo de gestão de usuários por parte da organização, pois a mesma possui diversos provedores de identidades integrados nas diferentes aplicações. Outra dificuldade encontrada é a alta rotatividade dos servidores públicos municipais, que implica na necessidade constante de novos cadastros de usuários e da desativação dos usuários que não fazem mais parte da organização.

Os usuários no seu dia-a-dia precisam acessar diversos sistemas e a cada acesso realizar uma nova autenticação. Desta forma, aumentando a probabilidade de captura das credenciais dos usuários por invasores, durante a troca de informações do processo de autenticação. Visando minimizar este problema, Jøsang e Pope (2005) apresenta a autenticação single sing-on (SSO) como a possibilidade de um usuário autenticado em um prestador de serviços ser considerado autenticado por outros prestadores de serviços, normalmente utilizando uma entidade responsável pela atribuição de identificadores, por emitir credenciais e por autenticar o usuário.

Neste contexto, têm-se as seguintes questões de pesquisa :

1. Qual modelo de gestão de identidades é o mais adequado para o cenário da FECAM? 2. Como prover a autenticação única (Single Sing-On - SSO) nos serviços da RedeCIM? 3. Dentre as ferramentas e tecnologias disponíveis, quais atendem aos requisitos do

modelo selecionado e das aplicações/serviços existentes na RedeCIM?

4. Quais especificações técnicas precisam ser definidas para operação e uso do sistema de gerenciamento de identidades na FECAM?

5. Para os administradores de serviços da RedeCIM, quais as vantagens e desvantagens do uso de um novo sistema de gerenciamento de identidades?

1.1.1 Solução Proposta

O desenvolvimento de um sistema de gerenciamento de identidades visa auxiliar o processo de gestão de identidades dos provedores de serviço integrados à RedeCIM, buscando o aprimoramento de práticas e o aumento do conhecimento em torno do problema da pesquisa.

(18)

Este trabalho compreende a implementação de sistema de gerenciamento de identidades que utiliza a especificação SAML 2.0 (OASIS, 2008), como solução para troca de mensagens seguras com os provedores de serviços da RedeCIM e o provedor de identidades (IdP). Como a FECAM necessita de um modelo de gerenciamento de identidades que possibilite o controle efetivo dos usuários, optou-se pelo modelo centralizado, entretanto foi necessário considerar a interoperabilidade do sistema de gerenciamento de identidades com sistemas de outras entidades, conforme recomendado pela arquitetura e-PING, (Padrões de Interoperabilidade de Governo Eletrônico), arquitetura que define um conjunto mínimo de premissas, políticas e especificações técnicas que regulamentam a utilização da Tecnologia de Informação e Comunicação (TIC) no governo federal (GOV.BR, 2013).

Através do uso de tecnologias que possibilitem a autenticação única (Single Sign-On) os usuários terão a possibilidade de, por meio de uma única autenticação, acessar diversos serviços que compõem o círculo de confiança estabelecido pelo sistema de gerenciamento de identidades proposto.

1.1.2 Delimitação de Escopo

Considerando o cenário apresentado, este projeto está focado principalmente no desenvolvimento de um provedor de identidade para os sistemas disponibilizados pela FECAM, e operacionalizados pelos servidores públicos municipais e colaboradores das instituições coligadas. Neste sentido, não é considerado a gestão dos usuários finais, como exemplo o cidadão que acessa aos portais municipais.

Para garantir a troca de informações seguras na autenticação e autorização dos usuários foi escolhido o padrão SAML 2.0, também por esta ser uma tecnologia recomendada pela arquitetura e-PING e que possui boa documentação e suporte disponível. Observa-se ainda que este padrão também é utilizado na Comunidade Acadêmica Federada (CAFe) que possui uma infraestrutura de autenticação e autorização federada já implantada e consolidada (RNP, 2013).

1.1.3 Justificativa

Segundo Thibeau (2009), até pouco tempo atrás as tecnologias de identidades digitais eram confinadas a sistema fechados, ou seja, sistemas que só atendem a uma população definida de usuários conhecidos. Tais como redes corporativas ou sites individuais. A ascensão da Internet, interligando

(19)

milhões de sites e sistemas diferentes, demandou o desenvolvimento de novas soluções de identidades digitais, abrindo os sistemas fechados para usuários qualificados de qualquer lugar na Internet.

Nos municípios, a crescente demanda da sociedade por informações e por serviços eletrônicos promoveu o desenvolvimento dos mais variados provedores de serviços web, ocasionando a necessidade de aprimoramento no processo de gerenciamento de identidades digitais. Neste contexto, acredita-se que este trabalho possa contribuir com uma importante ferramenta para a gestão efetiva dos usuários que possuem acesso aos serviços disponibilizados na RedeCIM.

O impacto deste trabalho para a FECAM não está apenas nos benefícios tecnológicos, mas também no conhecimento adquirido sobre gestão de identidades, conhecimento que atualmente está centrado nas empresas que fornecem sistemas. Outro benefício importante está no aspecto cultural, pois o trabalho busca promover uma mudança tanto para os usuários das instituições que interagem com o sistema de IdM, quanto para as empresas que terão que se adaptar ao novo modelo de gestão de identidades e ao padrão SAML (Security Assertion Markup Language).

1.2 OBJETIVOS

Esta seção formaliza os objetivos do trabalho, conforme descrito a seguir.

1.2.1 Objetivo Geral

Aprimorar o processo de gestão de identidades na Rede Catarinense de Informações Municipais, por meio do desenvolvimento de um sistema de gerenciamento de identidades.

1.2.2 Objetivos Específicos

1. Analisar os modelos e as tecnologias empregadas para gerenciamento de identidades visando identificar quais podem ser empregados na solução proposta;

2. Conceber um sistema de gerenciamento de identidades com suporte a autenticação única (Single Sing-On – SSO) para RedeCIM;

3. Definir as especificações técnicas para operação e uso do sistema de gerenciamento de identidades da RedeCIM;

(20)

4. Avaliar a satisfação dos usuários ao fazer uso do protótipo desenvolvido (sistema proposto); e

5. Verificar o atendimento aos requisitos definidos no projeto por meio de testes de integração, usabilidade e de segurança.

1.3 METODOLOGIA

Segundo Gil (2008), a metodologia é um conjunto de procedimentos intelectuais e técnicos para que seus objetivos sejam atingidos, os métodos fornecem as bases lógicas para a investigação do objeto da pesquisa. A partir deste contexto, a metodologia se relaciona como ferramenta de auxilio para o alcance do objetivo da pesquisa.

1.3.1 Metodologia da Pesquisa

No desenvolvimento da pesquisa, foi aplicado o método hipotético-dedutivo. Conforme Gil (2008), quando o conhecimento é insuficiente para explicar um fenômeno, surge o problema, para expressar as dificuldades do problema são formuladas as hipóteses, das hipóteses deduzem-se conseqüências a serem testadas; enquanto o método dedutivo procura confirmar a hipótese.

A pesquisa buscou gerar conhecimentos para o desenvolvimento de uma solução de um problema específico, desta forma o presente trabalho pode ser caracterizado como uma pesquisa de natureza aplicada. Já na forma de abordagem do problema a pesquisa em parte é qualitativa, pois o objetivo é melhorar o processo de gerenciamento de identidades existente, ou seja, avaliar o cumprimento dos requisitos de segurança. A atividade de avaliação de satisfação dos usuários utilizou técnica estatística, logo pode ser classificada como quantitativa (GIL, 2008).

1.3.2 Procedimentos Metodológicos

Pesquisa bibliográfica: a pesquisa bibliográfica consistiu em pesquisar conceitos para a definição exata do problema. A pesquisa foi realizada sobre os modelos de gerenciamento de identidades, e sobre as ferramentas e tecnologias existentes para o desenvolvimento de sistemas de gestão de identidades;

Definição do Provedor de Identidade (IdP): a definição do provedor de identidade, compreendeu a apresentação de uma visão geral do sistema, a análise de requisitos

(21)

funcionais e não funcionais, as especificações técnicas e a modelagem dos casos de uso utilizando a linguagem UML (Unified Modeling Language);

Implementação do sistema: nesta etapa foram implementados os protótipos do provedor de identidades e do provedor de serviço; e

Avaliação do sistema proposto: esta etapa consistiu em verificar se o sistema IdP atendeu todos os requisitos funcionais e não funcionais por meio da execução de casos testes, e em avaliar a satisfação dos usuários no uso do protótipo desenvolvido por meio da pesquisa de satisfação aplicada nos três perfis de usuários da RedeCIM.

1.4 ESTRUTURA DO TRABALHO

A estrutura deste documento se divide em seis capítulos, sendo o Capítulo 1, denominado Introdução, que aborda a visão geral do trabalho, apresentando a problemática, a solução proposta e os objetivos a serem alcançados com o desenvolvimento do trabalho.

O Capítulo 2, Fundamentação Teórica, é apresentado o estudo bibliográfico sobre conceitos de segurança da informação e de modelos de gestão de identidades, além da análise de tecnologias para a autenticação Single Sing-On, como SAML, OpenID, Oauth, Kerberos, CAS, OpenLDAP e Arquitetura e-PING.

No Capitulo 3 é apresentado os trabalhos relacionados ao tema da pesquisa.

O Capítulo 4 apresenta o desenvolvimento do IdP, incluindo a análise dos serviços da RedeCIM, uma visão geral do sistema IdP, a descrição dos requisitos funcionais e não funcionais, as especificações técnicas, modelagem em UML e o detalhamento da implementação do protótipo desenvolvido.

No Capítulo 5, são apresentados os experimentos de avaliação realizados, bem como os resultados obtidos na aplicação de tais experimentos.

Concluindo, no Capítulo 6, apresenta-se as conclusões, no qual são abordados os resultados obtidos e as opções para o desenvolvimento de trabalhos futuros.

(22)

2 FUNDAMENTAÇÃO TEÓRICA

O embasamento teórico necessário para o desenvolvimento do sistema de gerenciamento de identidades da RedeCIM é apresentado neste capítulo. Os tópicos abordados são: Segurança da Informação, Gestão de Identidades, Autenticação Single Sing-On, SAML, OpenID, Oauth, Kerberos, CAS, OpenLDAP e Arquitetura e-PING.

2.1 SEGURANÇA DA INFORMAÇÃO

Segundo Dias (2000), segurança é proteger informações, sistemas, recursos e serviços contra erros, manipulações não autorizadas e desastres, para redução do impacto e diminuir a probabilidade de incidentes de segurança. Portanto é necessária a gestão da segurança da informação para resolver os problemas encontrados.

Stallings (2008) enfatiza que com a introdução do computador tornou-se evidente a necessidade de ferramentas automatizadas para proteger arquivos e outras informações armazenadas em um computador, especialmente no caso de um sistema compartilhado, e a necessidade é ainda mais presente para sistemas que podem ser acessados por meio de uma rede de dados ou a internet.

Segundo Stallings (2008) a arquitetura de segurança OSI (Open Systems Interconnection) oferece uma estrutura sistemática para definir ataques à segurança, mecanismos e serviços de segurança. Os ataques à segurança são classificados em ataques passivos e ataques ativos. Os ataques passivos monitoram as transmissões com o objetivo de obter informações durante a transmissão. Enquanto os ataques ativos envolvem alguma modificação do fluxo de dados ou a criação de um fluxo falso. Os ataques ativos são muito difíceis de impedir devido a variedade de vulnerabilidades, porém é possível detectar e recuperar qualquer interrupção causada. Por outro lado os ataques passivos são difíceis de detectar, entretanto existem medidas para impedir seu sucesso.

Stallings (2008) define os serviços de segurança X.800 como um serviço fornecido por uma camada de protocolo de comunicação de sistemas abertos, que garante a segurança adequada dos sistemas ou das transferências de dados. Os serviços de segurança definem as políticas, enquanto os mecanismos de segurança implementam as diretrizes definidas nas políticas. A X.800 divide os serviços de segurança em cinco categorias, apresentadas a seguir:

(23)

Autenticação: refere-se à garantia de que uma comunicação é autêntica. A função do serviço de autenticação é garantir ao destinatário que a mensagem é proveniente de onde ela afirma ter vindo;

Controle de acesso: é a capacidade de limitar e controlar o acesso aos sistemas e aplicações hospedeiras por meio de enlaces de comunicação. Para obter este controle cada entidade precisa ser identificada para ter o acesso, ou autenticada, de modo que os direitos de acesso possam ser ajustados ao indivíduo;

Confidencialidade dos dados: é o serviço de proteção dos dados transmitidos contra ataques passivos. Vários níveis de proteção podem ser identificados, o serviço mais amplo protege todos os dados transmitidos entre dois usuários por um período de tempo;

Integridade dos dados: a integridade pode se aplicar a um fluxo de mensagens, uma única mensagem ou campos selecionados dentro de uma mensagem. Este serviço garante que as mensagens são recebidas conforme enviadas, sem duplicação, inserção, modificação, reordenação ou repetição; e

Irretratabilidade: impede que o emissor ou receptor negue uma mensagem transmitida, assim pode-se provar quando uma mensagem foi enviada e também quando uma mensagem foi recebida.

Além dos cinco serviços de segurança apresentados anteriormente, as recomendações X.800 e RFC 28281, têm a disponibilidade como sendo a prioridade de um sistema, ou seja, o sistema deve estar acessível e utilizável quando uma entidade autorizada desejar (STALLINGS, 2008).

Os mecanismos de segurança são implementados e divididos em camadas específicas do protocolo ou do serviço de segurança. Stallings (2008) apresenta os seguintes mecanismos que podem ser incorporados à camada de protocolo apropriado a fim de oferecer alguns serviços de segurança OSI:

1

(24)

Cifragem: é o uso de algoritmos matemáticos para transformar os dados em um formato que não seja prontamente decifrável. A transformação e subsequente recuperação dos dados dependem de um algoritmo e chaves de criptografia;

Assinatura digital: são dados anexados a uma unidade de dados que permite que um destinatário da unidade de dados comprove a origem e a integridade de dados e proteja-se contra falsificação;

Controle de acesso: são mecanismos que impõem direitos de acesso aos recursos;

Integridade de dados: é uma série de mecanismos utilizados para garantir a integridade de uma unidade de dados ou fluxo de unidades de dados;

Troca de informações de autenticação: é o mecanismo que garante a identificação de uma entidade por meio da troca de informações;

Preenchimento de tráfego: é a inserção de bits nas lacunas de um fluxo de dados para frustrar as tentativas de análise de tráfego;

Controle de roteamento: permite a seleção de determinadas rotas fisicamente seguras para certos dados e permite mudanças de roteamento, especialmente quando existem brechas de segurança; e

Certificação: é o uso de uma terceira entidade confiável para garantir certas propriedades de uma troca de dados (STALLINGS, 2008).

2.2 GESTÃO DE IDENTIDADES

Os investimentos em Tecnologia da Informação da FECAM chegam a aproximadamente 45% do faturamento fixo mensal da entidade para aprimorar a gestão corporativa e principalmente para oferecer serviços no ambiente on-line aos municípios catarinenses. O uso destes ambientes requer segurança, portanto, é preciso possuir um sistema que possa autenticar e autorizar os usuários antes de fornecer esses serviços (REDDICK, 2009 apud BALDONI, 2010). Os sistemas que autenticam e autorizam os usuários a utilizar determinado serviço são conhecidos como sistema de Gerenciamento de Identidades (IdM – Identity Management).

(25)

Segundo Chadwick (2009 apud WANGHAM et al, 2010), o gerenciamento de identidades consiste em um conjunto de funções e habilidades como administração, descoberta e troca de informações usadas para garantir a identidade de uma entidade e as informações contidas nessa identidade, permitindo assim que relações comerciais possam ocorrer de forma segura.

O gerenciamento de identidades é definido por Santos (2007), como um conjunto de processos e tecnologias voltadas para o tratamento e manipulação de identidades de usuários desde o nascimento dos dados em sistemas de recursos humanos e cadastros de terceiros até as aplicações gerenciadas (sistemas operacionais, correios eletrônicos, acesso físico etc.).

“A aquisição de sistemas corporativos como ERP, CRM, sistemas operacionais, junto com diversos sistemas desenvolvidos internamente em uma corporação geram diversos repositórios de usuários para autenticação e autorização, exigindo uma administração descentralizada e suscetível a erros.” (SANTOS, 2007)

O controle dos usuários dos sistemas deve ser realizado durante o período em que o colaborador estiver ativo na entidade, e principalmente desativá-lo no momento do desligamento do mesmo. Os usuários que deveriam estar inativados em N sistemas, recursos ou aplicativos após serem demitidos podem continuar com o acesso ativo em uma aplicação, o que abriria oportunidades de fraude (SANTOS, 2007).

Conforme Bhargav-Spantzel et al. (2007), o sistema de gerenciamento de identidades possui os seguintes elementos:

 Usuário: cliente do serviço;

 Identidade: atributos que definem um usuário. Ex: nome, cpf, e-mail, etc.

Provedor de Identidades (Identity Provider - IdP): sistema reponsável por gerar as identidades dos usuários; e

Provedor de Serviços (Service Provider - SP): responsável por oferecer recursos a usuários que possuem uma identidade verdadeira e com os atributos corretos.

No sistema gerenciador de identidades, o provedor de identidades (Identity Provider - IdP) é um provedor de serviços de identidades. Sua responsabilidade é de manter a base de dados de usuários do domínio e validar as credenciais de usuários. O provedor de serviços (Service Provider - SP) é a

(26)

entidade mais próxima ao recurso do domínio em questão, sendo responsável por verificar a validade dos cookies de sessão e das permissões de acesso aos recursos por usuários autenticados (FELICIANO

et al., 2011).

Santos (2007) define uma identidade como a representação digital de uma pessoa. Esta representação digital normalmente é composta por um identificador único e outros dados (atributos) como documentos, nome, e-mail, etc. A identidade de uma pessoa é composta por uma grande quantidade de informações pessoais que caracterizam essa pessoa em diferentes contextos das quais ela faz parte.

Na Figura 1, tem-se um exemplo de identidade.

Figura 1: Exemplo de uma identidade digital Fonte: Santos (2007)

O usuário é a entidade que terá acesso aos serviços disponibilizados pelo provedor de serviços em um determinado domínio por meio de sua identidade cadastrada no sistema gerenciador de identidades. Por exemplo, um servidor público municipal é usuário dos serviços da Prefeitura que seus dados estão cadastrados.

2.2.1 Modelos de Gerenciamento de Identidades

Segundo Jøsang e Pope et al. (2005), existem quatro modelos de interação entre os elementos dos sistemas de gerenciamento de identidades, estes modelos são conhecidos como tradicional, centralizado, federado e centrado no usuário. A Figura 2 ilustra cada modelo de IdM, a saber:

(27)

Figura 2: Classificação dos modelos de gerenciamento de identidade Fonte: Wangham et al. (2010)

a) Modelo Tradicional: nesse modelo o provedor de identidade esta na própia aplicação do provedor de serviços;

b) Modelo Federado: esse modelo possibilita o usuário utilizar o provedor de identidades de sua escolha dentro de uma federação estabelece uma relação de confiança entre diversos provedores de identidades;

c) Modelo Centralizado: nesse modelo usuários de vários provedores de serviços se autenticam em um único provedor; e

d) Modelo Centrado no Usuário: nesse modelo o usuário possui total controle sobre as informações de sua identidade, sendo uma evolução dos modelos federado e centralizado.

(28)

Segundo Wangham et al., (2010), o modelo tradicional é amplamente utilizado nos sistemas atuais. Neste modelo, a autenticação é tratada de forma isolada e cabe ao usuário criar uma identidade em cada provedor de serviços, não havendo assim o compartilhamento de identidades desses usuários entre diferentes provedores de serviço. Para o provedor de serviços, isto representa um custo maior para gerenciar sua infraestrutura de IdM (WANGHAM et al., 2010). Uma desvantagem deste modelo é que o usuário precisa lembrar da identidade que possui em cada serviço que o usuário acessa (FELICIANO et al., 2011).

Conforme Feliciano et al. (2011) o modelo centralizado surgiu para amenizar os problemas existentes no modelo tradiconal. Neste modelo, há o conceito de provedor de identidades (IdP –

Identity Provider) e de provedores de serviços (SPs – Service Providers), no qual diversos provedores

de serviços delegam a autenticação de seus usuários a um único IdP.

Segundo Bhargav-Spantzel et al. (2007), o modelo centralizado, no qual o usuário se autentica uma única vez no provedor de identidades e utiliza diversos serviços de provedores parceiros, sem a necessidade de nova autenticação, é conhecido como SSO (Single Sing-On). Neste modelo, o usuário apresenta seu identificador e credenciais apenas uma vez no IdP parceiro do SP, outros serviços que utilizam o mesmo IdP podem confiar na autenticação prévia do usuário e disponibilizar recursos sem a necessidade de novo processo de autenticação (FELICIANO et al., 2011).

Segundo Maliki e Seigneur (2007), o ponto fraco do modelo centralizado é que o provedor de identidades possui controle absoluto sobre as informações de seus usuários, podendo assim usá-las da forma que bem entender. Este modelo além da questão da privacidade ainda oferece outras desvantagens, tais como, escalabilidade, segurança (o IdP é um ponto de falha) e o fato de que os SPs e IdP necessitam estar no mesmo domínio administrativo (FELICIANO et al., 2011).

O modelo de gerenciamento de identidades federadas busca otimizar a troca de informações relacionadas a uma identidade por meio de relações de confiança construídas na federação (CAMENISCH & PFITZMANN, 2007). Este modelo utiliza o conceito de autenticação única por meio de acordos estabelecidos entre provedores de identidades que asseguram que identidades emitidas em um domínio sejam reconhecidas por outros provedores de serviços. Um dominio administrativo pode representar uma empresa, uma universidade, uma prefeitura, etc. e é formado por usuários, diversos provedores de serviços e um único provedor de identidades. Neste modelo, os SPs e

(29)

o IdP podem estar em domínios administrativos diferentes sendo considerado uma evolução do modelo centralizado (FELICIANO et al., 2011).

Segundo Wangham et al. (2010), a vantagem no modelo federado para os usuários é não precisar lidar com diversas identidades e passar diversas vezes pelo processo de autenticação. Já para os provedores de serviços, o benefício é a manutenção de um número menor de usuários temporários.

Segundo Feliciano et al. (2011), o modelo centrado no usuário é uma evolução do modelo federado e tem como objetivo resolver uma das principais críticas relacionadas aos modelos anteriores, que é o controle sobre as informações da identidade do usuário. Este modelo objetiva dar ao usuário o total controle sobre suas identidades digitais, sendo possível a utilização dos modelos centralizado ou federado nas principais propostas de implementação. Na proposta de Josang e Pope (2005), a solução é deixar os identificadores de usuários e as credenciais de diferentes prestadores de serviços armazenados em um único dispositivo físico, que pode ser um cartão inteligente ou algum outro dispositivo portátil pessoal. O usuário autentica neste dispositivo físico e cabe a este liberar as informações do usuário para cada provedor de serviços que o usuário acessar.

As diferenças dos modelos apresentados estão basicamente na forma como as identidades dos usuários são armazenadas e disponibilizadas, sendo que em alguns modelos o compartilhamento da identidade entre provedores de serviços, aliado ao conceito de autenticação única trazem facilidades aos usuários (BHARGAV-SPANTZEL et al., 2007).

2.2.2 Opções para Implantação da autenticação Single Sing-On (SSO)

Jøsang e Pope (2005) abordam a autenticação single sing-on (SSO) como a possibilidade de um usuário autenticado em um prestador de serviços ser considerado autenticado por outros prestadores de serviços. Normalmente há uma entidade responsável pela atribuição de identificadores, por emitir credenciais e por autenticar o usuário.

Segundo Nogueira, Santos e Custódio (2012) o SSO em sua forma mais simples, significa um mecanismo onde o usuário pode acessar vários serviços por meio da realização de sua autenticação apenas uma vez. Geralmente utilizando um gerenciador central de informações cadastrais de usuários. Um ambiente tipico de SSO envolve provedores de serviços (SP) e provedores de identidade (IdP).

(30)

Peixoto (2012) apresenta na Figura 3, uma representação simplificada do ambiente SSO, no qual o usuário (user) com apenas um processo de autenticação consegue o acesso aos recursos dos serviços A, B e C.

Figura 3: Exemplo de autenticação única Fonte: Peixoto (2012)

Segundo Feliciano et al. (2011), uma questão importante no processo de implantação de sistemas de gerenciamento de identidades é a instalação de um middleware2 que ficará reponsável pelos serviços de identidade (autenticação, autorização, entre outros), principalmente se o SSO envolver diferentes domínios.

2 Middleware é o neologismo criado para designar camadas de software que não constituem diretamente aplicações, mas

que facilitam o uso de ambientes ricos em tecnologia da informação. A camada de middleware concentra serviços como identificação, autenticação, autorização, diretórios, certificados digitais e outras ferramentas para segurança. Disponível em: http://www.rnp.br/noticias/2006/not-060926.html

(31)

A seguir, algumas opções para implantação de SSO estão descritas (BERTINO & TAKAHASHI, 2011).

Baseada em Broker

Nesta abordagem, um servidor central é responsavel por autenticar os usuários e emitir uma credencial em forma de ticket. Através destes tickets, é possivel ao usuário obter acesso aos recursos protegidos. O Kerberos é um exemplo de implantação de SSO que utiliza a abordagem baseada em

broker. Esta abordagem está relacionada com o modelo centralizado de IdM.

A Figura 4 apresenta o processo de autenticação baseada em broker, aonde cliente acessa o Servidor Kerberos, comprova sua identidade por meio das suas credenciais e solicita um ticket de concessão (passo 1). Com ticket de concessão o cliente adquire um ticket de acesso no Servidor de

Tickets (passo 2), e com o ticket de acesso o cliente requisita o acesso ao Servidor de Aplicações

(passo 3).

Figura 4: Processo de SSO que utiliza abordagem Baseada em Broker Fonte: Feliciano et al. (2011).

Baseada em Agentes

Esta abordagem utiliza um filtro instalado em um servidor de aplicação Web. Este filtro intercepta todas as requisições que passam neste servidor (passo 1, da Figura 5) e, com base em regras

(32)

pré-estabelecidas, redireciona a requisição para um servidor de autenticação (provedor de identidades, passo 2). Após a autenticação bem sucedida (passo 3), o agente verifica se há alguma credencial válida e, se houver, libera o acesso ao recurso solicitado (passo 4).

Figura 5: Processo de SSO que utiliza abordagem Baseada em Agente. Fonte: Feliciano et al. (2011)

Baseada em Proxy Reverso

Esta abordagem utiliza um proxy localizado na borda da rede ou em uma zona desmilitarizada (DMZ). Através deste proxy, requisições de acesso a recursos (por exemplo, aplicações) são filtradas (com o uso de um agente, passo 1, da Figura 6) e o usuário é redirecionado para um servidor de autenticação (provedor de identidades, passo 2). Após a autenticação bem sucedida, o usuário é redirecionado de volta para o proxy (passo 3), que por sua vez estará apto a liberar o acesso redirecionando o usuário para o recurso protegido (passo 4). Nesta abordagem, é possível através do

proxy, o redirecionamento para qualquer domínio ao qual este tenha alcance. Um problema com esta

abordagem é que há uma perda de eficiência uma vez que todas as requisições passam pelo mesmo

proxy. Uma vantagem é que não é necessário instalar componentes adicionais nos servidores de

(33)

Figura 6: Processo de SSO que utiliza abordagem Baseada em Proxy Reverso. Fonte: Feliciano et al. (2011)

Baseada em API

Nesta abordagem há a inclusão de uma API relacionada com o middleware para IdM nas aplicações a serem protegidas. Este mecanismo é o mais intrusivo de todos, uma vez que cada aplicação necessita chamar as primitivas oferecidas pela API. Um fator positivo é que nesta abordagem é possível obter um nível de controle de acesso mais sofisticado se comparado com as demais abordagens. No passo 1, da Figura 7, a requisição para acessar a aplicação Web é interceptada pela API que está na própria aplicação. No passo 2, a API redireciona o browser para o provedor de identidades. No passo 3, após a autenticação bem sucedida, este provedor redireciona o browser do usuário para a API. No passo 4, a API informa à aplicação que o usuário está autenticado e a aplicação segue o seu fluxo de execução.

(34)

Figura 7: Processo de SSO que utiliza abordagem Baseada em API. Fonte: Feliciano et al. (2011)

Baseada em Serviços

Esta abordagem é parecida com a abordagem baseada em API. A diferença é que neste caso as chamadas são realizadas remotamente (passos 2 e 3, da Figura 8), pois são oferecidas diretamente pelo provedor de serviço de identidades.

Figura 8: Processo de SSO que utiliza abordagem Baseada em Serviços. Fonte: Feliciano et al. (2011)

(35)

2.3

SOLUÇÕES PARA IMPLANTAÇÃO DE AUTENTICAÇÃO SSO

Durante anos diversos sistemas de gerenciamento de identidades que possibilitam o SSO foram implementados, inclusive permitindo o compartilhamento de credenciais pelos provedores de identidades. Nesta seção, estão descritos alguns destes protocolos, padrões e ferramentas desenvolvidas para prover a autenticação SSO, tais como: OpenLDAP, especificação SAML, OpenID, Oauth, Kerberos e CAS.

2.3.1 SAML

O SAML (Security Assertion Markup Language) é um padrão que define uma estrutura baseada em XML para descrever e trocar informações de segurança entre os parceiros de negócios

on-line. Estas informações são expressas sob a forma de afirmações portáteis SAML. O padrão SAML

define a sintaxe e regras claras para a solicitação, a criação, a comunicação e a utilização das asserções SAML (OASIS, 2008).

A OASIS (Organization for the Advandement of Structured Informations Standards) desenvolve e mantém um framework SAML aberto, usado para comunicar a autenticação dos usuários, seus direitos e seus atributos, permitindo a geração de afirmações solicitadas pelos usuários ou organizações parceiras na troca de informações entre aplicativos coorporativos (OASIS, 2005).

Segundo OASIS (2005), a primeira versão do SAML V1.0 se tornou um padrão OASIS em 2002, seguido pela versão SAML V1.1 em 2003, que ganhou importância em serviços financeiros, de ensino superior, de governos e outros serviços do segmento industrial, alcançando significativo sucesso. Atualmente, a SAML está na versão 2.0 (lançada em 2005) e se transformou em um passo fundamental para a plena convergência dos padrões de identidade federada.

As aplicações da especificação SAML estão sendo utilizadas de diferentes maneiras, as mais relevantes estão descritas em (OASIS, 2005):

Web SSO: o SAML possibilita o SSO através da comunicação de uma asserção de

autenticação em um primeiro local para um segundo local que confia na origem da autenticação.

(36)

Autorização baseada em atributos: semelhante ao cenário de SSO, o SAML permite a

autorização baseada em atributos para comunicar informações de uma identidade entre diferentes Webs sites, possibilitando desta forma apoio em algumas transações.

Segurança em Serviços da Web: as asserções SAML podem ser usadas dentro das

mensagens SOAP, afim de realizar operações com segurança de informações e identidade entre agentes em um serviço web.

2.3.1.1 Componentes da especificação SAML

Segundo o Governo de Orientações e Prioridades de TIC (Government ICT Directions and

Priorities - GCIO) do Governo da Nova Zelândia, o SAML v2.0 em termos gerais é uma norma que

define as asserções SAML, protocolos, associações (ligação de mensagens para os protocolos de comunicação), e perfis SAML refletindo um caso de uso definido, juntamente com a assinatura XML aplicável e padrões de criptografia do W3C3 (GCIO, 2005). A Figura 9 apresenta a relação entre os componentes do SAML.

3 Consórcio World Wide Web (W3C) é um consórcio internacional que desenvolve os padrões para Web, disponível em: http://www.w3c.br/Sobre

(37)

Figura 9: Relação entre os componentes SAML Fonte: OASIS (2005)

OASIS (2005) fornece uma descrição alto nível dos componentes do SAML representados pela Figura 9:

Asserções (assertions)

Uma asserção é um pacote de informações que suprimem uma ou mais declarações feitas por uma autoridade SAML. O SAML define três tipos de asserções que podem ser criadas por uma autoridade SAML, que são:

 Autenticação: esse tipo de asserção é normalmente gerada por uma autoridade SAML chamada de provedor de identidade, que é responsável por autenticar os usuários e manter o controle de suas informações;

 Atributo: esta asserção associa os usuários aos seus atributos especificados;

 Decisão de autorização: asserção permitindo ou negando a autorização de serviços de uma solicitação específica de acesso.

(38)

Segundo OASIS (2005), a estrutura externa de uma asserção é genérica e fornece a informação que é comum a todas as declarações dentro dela. Os elementos existentes em uma asserção descrevem a autenticação, os atributos ou as especificações definidas pelo usuário. A Figura 10 ilustra a estrutura de alto nível de uma asserção de autenticação SAML.

Figura 10: Estrutura de alto nível da asserção SAML Fonte: OASIS (2005)

Protocolos (protocols)

Os protocolos do SAML definem como as asserções SAML são transportadas entre os participantes. As asserções podem ser geradas e trocadas entre os provedores de identidade e serviço, usando uma variedade de protocolos de solicitação-resposta. Estes protocolos são baseados em XML e são na forma de pares de solicitação-resposta, que detalham as informações ou a ação solicitada e como isso será respondido (GCIO, 2005).

Os protocolos definidos dentro da especificação SAML realizam as seguintes ações:

 Retornar uma ou mais asserções solicitadas. Isto é, em resposta a uma solicitação direta da asserção desejada, ou uma consulta por asserções que atendam a critérios específicos;

(39)

 Executar a autenticação mediante uma solicitação e retornar a asserção correspondente;

 Registrar um identificador de nome ou rescindir um registro de nome, mediante solicitação;

 Recuperar uma mensagem do protocolo que tenha sido solicitada por meio de um artefato;

 Solicitar simultaneamente a saída de uma coleção de asserções relacionadas, ou seja desconecta de tudo ao mesmo tempo, conhecido como “single logout”; e

 Fornecer um mecanismo de ligação ou mapeamento de nomes identificadores em sites federados.

Ligações (bindings)

O mapeamento do SAML para troca de mensagens de solicitação-resposta entre as partes participantes utilizando protocolos de comunicação é chamado de Ligações SAML. Segundo o GCIO (2005), há uma variedade de ligações definidas para o transporte de mensagens entre as partes participantes. As ligações SAML v2.0 são:

Ligação SOAP (SOAP Binding). As mensagens SAML podem ser transmitidas utilizando o

protocolo SOAP bem definido;

Ligação SOAP Reverso (Reverter Binding SOAP). As mensagens SAML também podem ser

trocadas via SOAP reverso;

Ligação Redirecionamento HTTP (HTTP Redirect Binding). Esta ligação fornece o padrão

SAML com um mecanismo para transmitir uma mensagem SAML dentro da URL de uma solicitação HTTP. Isso normalmente é necessário quando não há um caminho direto entre um provedor de identidade e um provedor de serviços, caso em que a mensagem SAML tem que ser transportado indiretamente, normalmente, via o navegador web do usuário final;

Ligação Mensagem HTTP (HTTP Post Binding). As mensagens SAML podem ser

transmitidas dentro do conteúdo de um formulário HTML postado em um provedor de serviços;

(40)

Ligação Artefato HTTP (HTTP Artifact Binding). O Artefato HTTP SAML é um

mecanismo que permite a comunicação através de um agente do usuário HTTP intermediário, esta ligação tem o objetivo de reduzir o fluxo de mensagens através do SAML; e

Ligação URI (URI Binding). Uma asserção SAML específica pode ser repassada em uma

HTTP URI.

Perfis (profiles)

Um perfil SAML é uma maneira de definir como as asserções, os protocolos e as ligações SAML são combinados para especificar um caso de uso particular. O objetivo de um perfil é remover algumas das ambiguidades na aplicação SAML que surge inevitavelmente em um padrão de uso geral. Um perfil pode ser usado para definir restrições e / ou extensões de SAML para melhorar a sua adequação para um uso ou aplicação particular. Por exemplo, o Web SSO especifica o perfil como federação de identidades habilitado para a sessão do navegador web do usuário, especificando a maneira pela qual as afirmações de autenticação SAML são comunicadas entre um Provedor de Identidade e um Provedor de Serviços.

Outro tipo de perfil SAML é o perfil baseado em atributos, que prevê regras específicas para interpretação de atributos em uma asserção SAML. Um exemplo é o Perfil X.500/LDAP, que descreve como utilizar atributos X.500/LDAP dentro de asserções SAML atributos (OASIS, 2005).

2.3.1.2 Benefícios da utilização da especificação SAML

Segundo OASIS (2005) os benefícios de utilização da especificação SAML para troca de informações de identidades digitais dos usuários e das organizações incluem os seguintes itens:

Neutralidade da plataforma: A segurança da especificação SAML é garantida independente da lógica da aplicação, que é um princípio importante da arquitetura orientada a serviços. Este benefício é garantido por abstrair da estrutura de segurança a arquitetura determinada;

Liberdade no acoplamento de diretórios: O SAML não requer que as informações do usuário sejam mantidas e sincronizadas entre os diretórios;

(41)

Melhora da experiência on-line dos usuários finais: SAML permite o SSO (single sign-on), permitindo aos usuários se autenticar em um provedor de identidade e, em seguida, acessar provedores de serviços sem a necessidade de nova autenticação. Além disso, possibilita a ligação de múltiplas identidades em uma federação de identidade. Desta forma o SAML promove a privacidade e melhora a experiência dos usuários na personalização em cada serviço;

Redução dos custos administrativos para os provedores de serviço: a reutilização de um único ato de autenticação possibilitado pelo uso do SAML pode reduzir os custos de manutenção da conta, desta forma transferindo os custos para o fornecedor das identidades; e

Transferência de risco: O SAML pode impulsionar a responsabilidade pela gestão das identidades para o provedor de identidade, que geralmente possui o modelo de negócio mais compatível do que um provedor de serviços.

2.3.2 OpenID

Segundo Thibeau (2009) o OpenID é um protocolo de autenticação SSO que permite que os usuários se registrem e se autentiquem em sites de terceiros que utilizam o OpenID, para exemplo, a maioria dos grandes portais da Web, como a AOL, Facebook, Google e Yahoo fornecem suporte para o OpenID.

“O OpenID é descentralizado, ou seja, nenhuma autoridade central deve aprovar ou registrar uma aplicação ou um provedor OpenID. O usuário poderá escolher qual provedor OpenID utilizar, e pode preservar seu identificador se mudar de provedor (NOGUEIRA, SANTOS e CUSTÓDIO, 2012).

O protocolo OpenID utiliza redirecionamentos HTTP (Hypertext Transfer Protocol) entre o usuário/aplicação e um provedor de identidades. Primeiramente o usuário deve se registrar em um provedor de identidades com suporte OpenID. O provedor de identidades utiliza o nome da conta do usuário para gerar a URL (Uniform Resource Locator) específica do usuário que será utilizada pelo

Referências

Documentos relacionados

Tanenbaum (2001) classifica a produção de software para máquinas paralelas em quatro metodologias: (i) acrescentando bibliotecas especiais para o tratamento de números

Voltar ao jogo, onde nada acontece e a tela do jogo é retornada, Diário de Bordo, onde o aluno deve preencher as características básicas dos planetas

O módulo Twitter Manager é responsável pelo gerenciamento de todo o fluxo de dados, incluindo persistência, comunicação com a interface, regras de negócios, definição

No módulo do sistema de nível 2, o telespectador recebe as tarefas e um ranking com as informações computadas até o momento de sua requisição, e ao fim de sua rodada além de

O ambiente desenvolvido é composto por: (i) um editor de textos destinado ao desenvolvimento de programas em linguagem Portugol; (ii) um compilador que traduz a linguagem

No entanto, é importante observar que uma falta não necessariamente induz a um erro, e um erro não necessariamente conduz a uma falha (WEBER, 2001, p. Conceitos de falha, falta

Para um melhor entendimento das regras de associação pode-se citar um exemplo como o utilizado na Tabela 4 (Pacheco et al, 1999 apud FREITAS & LAVINGTON, 1998), que mostra

Este trabalho objetiva a criação de um modelo de Data Mart (DM) para agilizar a busca por informações para área de Marketing de uma Operadora de Planos de