You are on page 1of 10

SILVA e CUNHA, 2005

ARQUITETURA DE SEGURANA EM APLICAES BASEADAS EM WEB


SERVICES
Reginaldo F. Silva1 e Jos A. Cunha2
1

Gerncia de Tecnologia da Informao CEFET-RN.


naldo_ds@yahoo.com.br
2
Professor da Gerncia de Tecnologia da Informao CEFET-RN.
jcunha@cefetrn.br

Recebido em outubro de 2005 e aceito em dezembro de 2005

RESUMO
Este artigo aborda conceitos e aspectos de segurana relativos aos Web Services, uma nova
arquitetura de sistemas que permite que programas ofertem suas funcionalidades a outros
programas atravs da Internet. O fato de todas as suas operaes estarem baseadas na Internet
torna os Web Services muito sensveis quanto segurana: agentes no-autorizados podem
interceptar e modificar dados em trfego pela rede, interromper o funcionamento de servios,
utilizar recursos sem permisso. Por esse motivo, conceitos, mecanismos e padres de
implementao de segurana devem ser aplicados, para que a arquitetura de Web Services seja
considerada confivel no que tange segurana da informao.
Palavras-chave: segurana, web services, sistemas distribudos.

Holos, Ano 21, dezembro 2005

15

SILVA e CUNHA, 2005

ARQUITETURA DE SEGURANA EM APLICAES BASEADAS EM WEB


SERVICES

INTRODUO
Informao vem se tornando cada dia mais importante e imprescindvel no cotidiano da
sociedade moderna em diversas reas e de inmeras maneiras. A quantidade de novas
informaes cresce constantemente, impulsionada pelos avanos tecnolgicos que causam o
barateamento e maior acessibilidade a novos meios de comunicao, fazendo com que pessoas
e empresas possam interagir entre si mais rpida e facilmente do que antes.
Os sistemas de software tambm vm se adequando a esse novo panorama de
interatividade global, proporcionando solues acessveis de qualquer parte do mundo a
qualquer instante, muitas vezes possuindo uma arquitetura distribuda, portvel, escalonvel e
ainda tendo capacidade de prover e requisitar servios, ou seja, troca de informaes entre
aplicaes.
Dentro desse novo cenrio surgiram tecnologias de computao que se propem ao
suporte de todos esses requisitos. Web Services uma dessas propostas. Mas esse panorama
tambm traz algumas novas preocupaes para os desenvolvedores de aplicaes. A principal
delas relativa segurana dos sistemas, pois toda a funcionalidade dos Web Services feita
on-line, e, portanto, sujeita a tentativas de ataques e outras prticas ilcitas do mundo virtual.

SEGURANA DA INFORMAO
A segurana da informao um dos mais vastos, complexos e recorrentes temas
dentro da tecnologia da informao por envolver diversos componentes e preocupaes
diferentes durante sua implantao e produo em um ambiente computacional (Moreira,
2001). Nessas fases desejvel a ocorrncia da menor quantidade possvel de vulnerabilidades
e imprescindvel o gerenciamento constante de como e por quem est sendo feito o acesso aos
recursos disponibilizados aos usurios que esto cobertos pelo sistema de segurana
(Nakamura, 2001).
Outro importante fator na aplicao da segurana da informao o prvio
conhecimento do que est sendo protegido e quanto custa proteg-lo. Se os gastos com
segurana forem maiores do que uma possvel perda dos recursos protegidos, talvez no seja
uma boa idia a adoo de medidas de segurana to rgidas ou custosas (Wadlow, 2000).
Basicamente, a segurana da informao est fundamentada em sete conceitos que
trabalham em conjunto para promover segurana a um sistema (ONeill, 2003):

Confidencialidade: garantia, atravs de criptografia, de que as informaes armazenadas


ou transmitidas no podero ser vistas ou interpretadas por qualquer outra entidade
diferente do usurio original e do destinatrio.

Holos, Ano 21, dezembro 2005

16

SILVA e CUNHA, 2005

Autenticao: validao das credenciais de um cliente junto a uma autoridade


certificadora.
Autorizao: verificao pelas autoridades certificadoras de que um cliente tem acesso ou
no a um recurso que est tentando utilizar aps j ter sido autenticado.
Integridade: certificao de que as informaes transmitidas no so alteradas acidental ou
maliciosamente em nenhum ponto de seu trajeto entre um emissor e um receptor.
No-repdio: garantia, atravs de criptografia, de que um emissor no pode negar que
enviou uma mensagem que foi recebida por um receptor.
Disponibilidade: garantia de que um servio estar disponvel aos usurios autorizados no
momento em que necessitarem dele.

WEB SERVICES
A arquitetura orientada a servios dos Web Services permite construir aplicaes
modulares e independentes que so distribudas facilmente em qualquer estrutura de redes
TCP/IP, atravs da criao de servidores e clientes que independem da linguagem de
programao e do sistema operacional em que so implementados. Os servidores descrevem
seus prprios servios atravs de uma linguagem pr-definida e, dessa forma, os clientes
podem facilmente obter informaes sobre estes servidores, tais como: estrutura, mtodos e
parmetros exigidos, e, assim, usar seus servios (Rosenberg, 2004).
A iniciativa para o desenvolvimento da lgica de Web Services um grande esforo
conjunto de gigantes da rea de informtica como IBM, Microsoft, Oracle, Sun, Novell, HP,
entre outros, que tenta resolver alguns problemas que tecnologias de sistemas distribudos
como CORBA e COM+ possuem, como passagem por firewalls, complexidade dos protocolos
e integrao entre plataformas heterogneas (Basiura, 2003).
Mas o grande poder existente na arquitetura dos Web Services que, com sua
implementao e infra-estrutura, possvel alavancar muitos dos recursos j existentes e
funcionais na Internet, como protocolos de segurana e de transporte de pacotes, evitando
assim a complexidade existente nos protocolos de outras tecnologias de sistemas distribudos
(Hartman, 2003).
XML
o padro utilizado para serializao e descrio dos dados enviados e recebidos pelos
Web Services em um formato de texto plano estruturado, que permite aos documentos no ter
a complexidade de um formato de codificao binria usado por CORBA e COM+, alm de
ser mais extensvel e legvel (Basiura, 2003).
SOAP
O protocolo SOAP foi criado como um meio de transmitir mensagens no formato
XML sobre protocolos-padro de transporte na Internet como HTTP e SMTP. A prpria
estrutura de uma mensagem SOAP definida com o uso de XML (Rosenberg, 2004).

Holos, Ano 21, dezembro 2005

17

SILVA e CUNHA, 2005

SOAP possui um envelope no qual a mensagem XML inserida. Este envelope


composto de duas partes: um cabealho que fornece informaes, algumas vezes opcionais,
sobre a mensagem SOAP, como, por exemplo, credenciais de segurana, e um corpo que
contm o payload da mensagem, que pode ser uma operao a ser executada pelo Web Service
e seus parmetros ou um contedo qualquer a ser transmitido. O protocolo SOAP foi projetado
de uma maneira que o torna extensvel a futuras necessidades, sendo que a maior rea livre a
extenses fica no cabealho do envelope (Rosenberg, 2004).
Por razes de segurana as mensagens SOAP devem ter seu contedo mantido secreto
dos intermedirios (se forem no-autorizados) at chegarem aos seus destinos, onde o
destinatrio de uma mensagem SOAP deve reconhecer quem est enviando os dados e o que o
emissor est autorizado a acessar (Rosenberg, 2004).
WSDL
o padro usado para descrever em formato XML a estrutura lgica e a sinttica de
um Web Service. Nessa descrio est exposto aos consumidores o que podem consumir desse
Web Service, como devem interagir com ele atravs de mensagens empacotadas no envelope
SOAP, e onde procurar e encontrar esse Web Service (Rosenberg, 2004). A utilizao de
XML como padro para troca de informaes e referncias para a localizao de servios
torna a WSDL mais flexvel e rica que a IDL usada em CORBA e COM+ (Scribner, 2001).
Por outro lado, WSDL pode ser o maior problema de segurana dentro de uma
arquitetura de Web Services, justamente porque expe ao mundo exterior a interface de um
Web Service. Devem ser aplicados mecanismos de segurana para bloquear o acesso de
agentes no-autorizados a WSDL, at mesmo para leitura (Rosenberg, 2004).
UDDI
um repositrio central de localizao conhecida baseado em XML, onde os Web
Services podem ser publicados, pesquisados em tempo de execuo e consumidos por clientes
interessados em seus servios. UDDI um componente opcional na implementao de uma
arquitetura de Web Services, pois o consumidor pode j conhecer a localizao do Web
Service desejado e no necessitar do servio de descoberta (Scribner, 2001).
Classe Proxy
A classe proxy, ou simplesmente proxy, permite estabelecer uma referncia a um Web
Service remoto e usar sua funcionalidade dentro de uma aplicao. A funo principal de um
proxy abstrair os detalhes de interao com o Web Service, como invocao, codificao,
empacotamento SOAP e transmisso, tornando mais natural a implementao da lgica Web
Service nas aplicaes. Tambm possuem a capacidade de interpretar WSDL e gerar
automaticamente o cdigo-fonte apropriado para chamar qualquer Web Service (Basiura,
2003).
A Figura 1 mostra a utilizao de todos os elementos bsicos apresentados acima
durante o ciclo de vida de um Web Service: o desenvolvedor cria, testa e disponibiliza um
Web Service (1), podendo opcionalmente public-lo em um catlogo UDDI (2), e ento um
consumidor de Web Services poder procurar o servio nesse catlogo (3). Aps obter a
localizao do Web Service, o consumidor requisita sua descrio WSDL (4). De posse da
Holos, Ano 21, dezembro 2005

18

SILVA e CUNHA, 2005

estrutura lgica e sinttica do Web Service, o consumidor pode criar um proxy e um cliente
para acessar a interface (5) e, finalmente, chamar algum mtodo do Web Service (6). Todas as
operaes so feitas utilizando o formato XML (Basiura, 2003).

Figura 1. Ciclo de vida de um Web Service.

SEGURANA DE WEB SERVICES


Como j descrito anteriormente, os Web Services expem suas funcionalidades atravs
de uma arquitetura orientada a servios que bem mais aberta em virtude de sua caracterstica
distribuda e de sua natureza heterognea quanto a plataformas de execuo. Por prover essas
facilidades de acesso e integrao, a arquitetura de Web Services frgil em relao
segurana, que deve ser ento considerada o foco principal durante o projeto de um sistema
baseado em Web Services. O desafio manter a eficincia dessas funcionalidades e ainda
proporcionar um ambiente seguro (Hartman, 2003).

Desafios da segurana de Web Services


1. Segurana baseada no usurio final de um Web Service Web Services foram criados
para serem consumidos por aplicaes e no diretamente por usurios finais, isto ,
humanos. Porm a permisso de acesso a um Web Service pode ser decida a partir de
informaes a respeito de um usurio final. O desafio, ento, como embutir de forma
segura as informaes credenciais do usurio final dentro das mensagens SOAP que
trafegam nas requisies a Web Services (ONeill, 2003).
2. Manuteno da segurana enquanto roteando entre mltiplos Web Services Dependendo
da infra-estrutura do sistema distribudo, uma mensagem SOAP pode rotear entre diversos
Web Services para atender a uma requisio de um cliente. Assim, por questes de
confidencialidade, a informao contida na mensagem no deve ser acessvel aos Web
Services intermedirios do roteiro, apenas ao Web Service que foi consumido pelo cliente
e pelo Web Service que atendeu a requisio encadeada (ONeill, 2003).

Holos, Ano 21, dezembro 2005

19

SILVA e CUNHA, 2005

3. Abstrair a segurana da rede subjacente A segurana aos Web Services no pode ser
fixada nos mecanismos de segurana Web existentes atualmente. Deve ser flexvel e
dinmica o bastante para se adaptar a qualquer novo protocolo de troca de mensagem que
venha a surgir (ONeill, 2003).
Como toda a comunicao com Web Services feita atravs do protocolo SOAP em
formato XML, suas mensagens so perfeitamente legveis. Alm disso SOAP no implementa
segurana por questes de manuteno da simplicidade e portabilidade do protocolo. Ento
para que a comunicao seja segura implementaes de segurana devem ser feitas ao nvel de
sistema (nas camadas de rede e de transporte) e ao nvel de aplicao (atravs de processos e
configuraes personalizadas e pela aplicao de padres de segurana em XML) (Scribner,
2001).
Segurana na camada de rede
A segurana nessa camada se reflete atravs dos mecanismos de comunicao e de
segregao das redes interna e externa de uma organizao (Ferreira, 2005).
1. Firewall Conseguem bloquear ou liberar acessos partindo de determinados
computadores ou aplicaes aos Web Services, mas no possuem capacidade de anlise da
integridade do contedo das mensagens SOAP (Ferreira, 2005).
2. VPN Permite proteger a confidencialidade e integridade dos dados trafegados e
estabelecer permetros que podem definir conjuntos de clientes confiveis que tm acesso
aos mtodos dos Web Services. Por outro lado, uma VPN no controla o consumo
inadvertido de Web Services por aplicaes disparadas de computadores de dentro de seu
domnio (Ferreira, 2005).
Segurana na camada de transporte
Dentro da camada de transporte a segurana de Web Services pode ser aplicada atravs da
implementao de protocolos e mecanismos de segurana j existentes (Ferreira, 2005).
1. Certificados digitais Validaes digitais atribudas por empresas certificadoras
independentes e confiveis a clientes web, sites ou usurios finais, atravs do uso de
chaves de criptografia, para que possam ser autenticados em outras entidades da Internet
(Basiura, 2003).
2. PKI uma implementao do conceito de criptografia assimtrica baseada em pares de
chaves, uma pblica, outra privada. A chave privada armazenada no lado servidor e a
chave pblica est disponvel no lado cliente. O servidor envia dados na forma codificada
usando sua chave privada e o cliente recebe os dados e os decodifica usando sua chave
pblica. Se algum entre o cliente e o servidor apanhar os dados, no conseguir decifrlos sem a chave pblica da chave privada codificada. Da mesma maneira, o cliente envia
os dados codificados usando a chave pblica e o servidor a decodifica usando sua chave
privada. Ningum no meio do caminho pode decodificar os dados sem a chave privada
(Basiura, 2003).
3. SSL Permite a transmisso de dados com garantia da proteo de sua integridade e
confidencialidade atravs de criptografia PKI e da autenticao de usurios e servidores
por meio de certificados digitais. Essa segurana obtida atravs da abertura de um canal
Holos, Ano 21, dezembro 2005

20

SILVA e CUNHA, 2005

de comunicao seguro pelo cliente que o utiliza para trocar mensagens SOAP. Mas o
grande problema existente em SSL que no fornece uma segurana fim-a-fim. Em
sistemas onde o servidor que armazena as informaes sigilosas diferente do servidor
onde esto os Web Services, a vulnerabilidade alta (Ferreira, 2005).
Segurana na camada de aplicao
Na camada de aplicao possvel levar a segurana ao nvel da anlise de integridade de
cada mensagem SOAP enviada ou recebida por um Web Service, alm do reconhecimento do
usurio responsvel por cada uma delas, atravs da autenticao de credenciais, certificados ou
outras informaes contidas nas mensagens (Ferreira, 2005).
1. Nativa em sistemas operacionais Atravs da poltica de segurana nativa de um sistema
operacional pode-se autorizar os privilgios de uma conta ou grupo de usurio em relao
a um Web Service ou a seu diretrio (Basiura, 2003).
2. IP e DNS Restries feitas sobre IP e DNS permitem ceder ou negar acesso requisitado
ao Web Service a partir de um endereo IP especfico e de nomes DNS simples ou
mltiplos (Basiura, 2003).
3. HTTP
a. Basic Authentication O cliente de um Web Service deve fornecer ao servidor web
as credenciais de um usurio autorizado. Os pontos positivos desse tipo de
autenticao so a facilidade de implementao, a compatibilidade com a maioria
dos servidores web e navegadores, a rapidez da autenticao e o suporte por todos
os proxies e firewalls. Os aspectos negativos so a forma no segura de envio das
credenciais, a necessidade de reenvio dessas credenciais a cada solicitao feita e a
impossibilidade do uso em conjunto com uma autorizadora certificadora
personalizada (Basiura, 2003).
b. Basic Authentication com SSL O problema do envio de nome e senha de usurio
em formato no seguro existente em Basic Authentication pode ser corrigido
atravs do uso de um canal seguro SSL (Basiura, 2003).
c. Digest Authentication Tem as mesmas caractersticas da Basic Authentication,
mas transmite as credenciais de uma maneira diferente e mais segura, atravs de
um processo chamado hashing de via nica. Nesse processo so acrescentadas
outras informaes a senha com a finalidade de impedir a captura e posterior
reutilizao da senha hash por um agente no autorizado. As vantagens so as
mesmas da Basic Authentication, alm do nome do usurio e da senha nunca serem
enviados como texto limpo. Porm s suportada pelo Windows 2000 com Active
Directory, IIS 5, Internet Explorer 4, Netscape 4 (e suas verses posteriores) e
tambm no pode ser usada com uma autorizadora certificadora personalizada
(Basiura, 2003).
d. Integrated Windows Authentication Similar a Digest Authentication, utiliza um
hashing mais sofisticado, atravs do suporte ao protocolo de autenticao Kerberos
V5 (se o Active Directory estiver instalado e o navegador for compatvel) ou do
protocolo challenge/response. Os pontos positivos so os mesmos da Basic e
Digest Authentication, com a vantagem da senha nunca ser enviada na mesma
mensagem. Porm s suportada pelo navegador Internet Explorer, no funciona
com servidores proxy, necessita da abertura de portas TCP adicionais no firewall e
Holos, Ano 21, dezembro 2005

21

SILVA e CUNHA, 2005

tambm no trabalha em conjunto com uma autorizadora certificadora


personalizada (Basiura, 2003).
e. Client Certification Authentication Os certificados de cliente so emitidos por
empresas certificadoras autorizadas com a finalidade de validar um cliente junto a
um servidor que tenha suporte a certificados. A grande vantagem do certificado de
cliente que existe a garantia de que o certificado vlido, pois as certificadoras
autorizadas verificam a identidade do usurio antes de emiti-lo (Basiura, 2003).
4. ASP.NET
a. Forms Authentication Atualmente a forma de autenticao mais utilizada por
permitir gerenciamento mais facilitado de um grande nmero de usurios e ser
totalmente personalizvel. Mas suas desvantagens so a necessidade de mais
memria e poder de processamento para tratamento das autoridades personalizadas,
e a obrigatoriedade de o usurio ter que aceitar cookies para poder se autenticar
(Basiura, 2003).
b. Passport Authentication uma proposta da Microsoft para um sistema
centralizado de login. semelhante a Forms Authentication, mas com a diferena
de que as credenciais ficam armazenadas em servidores prprios da Microsoft
(Hartman, 2003). O ponto forte a possibilidade de se manter apenas uma
credencial de usurio para autenticao em diversos sites que suportem Passport. A
desvantagem que muitos usurios no confiam no servio, por se tratar de um
sistema proprietrio centralizado que pode falhar e deixar todos sem condies de
autenticao (ONeill, 2003).
c. Controle de acesso O ASP.NET pode decidir se um usurio autenticado pode ou
no acessar determinado Web Service ou outro recurso atravs da configurao do
XML web.config (Basiura, 2003).
5. XML O protocolo SOAP no implementa nenhum mecanismo segurana, apenas
alavanca mecanismos j existentes na infra-estrutura de rede que desempenhem essa
funo. SSL o principal desses mecanismos, mas o fato de no prover segurana fim-afim, criptografia seletiva, autenticao, integridade de dados e no-rejeio, o torna noaplicvel a todas as situaes em que Web Services precisem ser seguros. Por essas razes
novas especificaes de segurana tm sido propostas com o intuito de promover
segurana especfica a Web Services. Mas falta ainda um acordo sobre qual desses
mecanismos devem ser adotados como padro (Ferreira, 2005).
a. XML Signature um padro aberto que permite especificar regras de
processamento para criao e representao de assinaturas digitais em pores
selecionadas de um documento XML, atravs de tags XML especficas e de
criptografia assimtrica, com o intuito de promover integridade e no-repdio a
uma mensagem SOAP (Potts, 2003).
b. XML Encryption Especifica um processo para criptografia de dados e sua
representao em formato XML. Os dados podem ser arbitrrios (incluindo um
documento XML completo), elementos XML, ou contedos de elementos XML.
Um documento XML que utiliza a XML Encryption pode ser visto por qualquer
utilizador, mas apenas o proprietrio da chave de decodificao conseguir
compreender o contedo do que foi criptografado (Potts, 2003).
c. SAML um padro emergente para a troca de informao sobre autenticao e
autorizao, solucionando um importante problema das aplicaes, que a
Holos, Ano 21, dezembro 2005

22

SILVA e CUNHA, 2005

possibilidade de consumidores transportarem seus direitos entre diferentes Web


Services. Isto importante para aplicaes que integrem um nmero de Web
Services para formar uma aplicao unificada (Ferreira, 2005).
d. XKMS Fornece um protocolo, baseado em SOAP, para gerenciamento de chaves
pblicas, incluindo funes para obteno de informaes sobre chaves, registro,
verificao e revogao de permisses. O XKMS tem a funo principal de
fornecer suporte ao gerenciamento de chaves para tecnologias como XML
Signature e XML Encryption, mas tambm pode ser utilizado para suportar outras
tecnologias de chaves pblicas (Potts, 2003).
e. WS-Security WS-Security prope um conjunto de extenses no cabealho do
envelope SOAP para inserir dados relativos a segurana atravs de especificaes
como XML Signature e XML Encryption, bem como os padres que surgirem
futuramente. O objetivo do WS-Security fornecer a estrutura de uma soluo de
segurana de Web Services completa, que possa ser instanciada s necessidades do
implementador (ONeill, 2003). Mas o maior valor que a especificao WSSecurity traz a organizao do cabealho SOAP, imprescindvel para o
estabelecimento de um padro que transforme a segurana de Web Services de uma
srie de solues personalizadas em um mtodo mais unificado de transferir
informaes com segurana por meio da Internet (Potts, 2003).

CONCLUSO
Em mecanismos de segurana nativos de sistemas operacionais, como permisses de
usurios e grupos e controle de acesso por IP e DNS, a soluo de segurana fica totalmente
dependente do sistema operacional e somente a autorizao de acesso para usurios pode ser
implementada.
Na segurana aplicada ao protocolo HTTP e sobre o ASP.NET existem problemas de
incompatibilidade com alguns servidores web, navegadores e sistemas operacionais, alm de
s permitirem a implementao de autenticao e autorizao.
Padres de segurana baseados na camada de transporte sobre protocolos j
estabelecidos, como SSL e PKI, fornecem confiabilidade na transmisso das mensagens,
atravs de segurana bsica ponto-a-ponto entre um cliente e um servidor, mas no garantem a
integridade de uma comunicao fim-a-fim, nem provm recursos para autenticao e
autorizao.
Nos padres baseados em XML no existe o problema de dependncia de plataforma,
servidores web ou navegadores, pois XML um padro aberto e totalmente compatvel com
os Web Services. Alm disso, os padres de segurana baseados em XML oferecem segurana
fim-a-fim, fornecendo mecanismos para confidencialidade e integridade do contedo das
mensagens e capacidade de autenticao e autorizao de usurios, o que possibilita uma
soluo completa para comunicao segura entre consumidor, intermedirios e provedor.

Holos, Ano 21, dezembro 2005

23

SILVA e CUNHA, 2005

REFERNCIAS
Basiura, Russ et al. Professional ASP.NET Web Services. 1. ed. So Paulo: Pearson
Education, 2003. 701p.
Ferreira, Lucas de Carvalho. Relatrio Tcnico Segurana de Web Services. 1. ed. Rio de
Janeiro: Cipher Segurana da Informao, 2005. 12p.
Hartman, Bret et al. Mastering Web Services Security. 1. ed. Indianapolis: Wiley, 2003. 436p.
Moreira, Nilton Stringasci. Segurana Mnima: uma viso corporativa da segurana de
informaes. 1. ed. Rio de Janeiro: Axcel, 2001. 211p.
Nakamura, Rodolfo Reijiro. E-commerce na Internet: fcil de entender. 1. ed. So Paulo:
rica, 2001. 240p.
ONeill, Mark et al. Web Services Security. 1. ed. Berkeley: McGraw-Hill, 2003. 312p.
Potts, Stephen et al. Aprenda em 24 horas Web Services. 1. ed. Rio de Janeiro: Campus, 2003.
367p.
Rosenberg, Jothy; REMY, David L. Securing Web Services with WS-Security. 1. ed.
Indianapolis: Sams, 2004. 408p.
Scribner, Kenn; STIVER, Mark C. Applied SOAP: implementing .NET XML Web Services.
1. ed. Indianapolis: Sams, 2001. 432p.
Wadlow, Thomas A. Segurana de Redes: projeto e gerenciamento de redes seguras. 1. ed.
Rio de Janeiro: Campus, 2000. 269p.

Holos, Ano 21, dezembro 2005

24

You might also like