msc presentation
TRANSCRIPT
![Page 1: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/1.jpg)
Segurança de aplicações empresariais
em arquitecturas de serviços
Miguel Filipe Leitão Pardal
Mestrado em Engenharia Informática e de Computadores
13 de Setembro de 2006
![Page 2: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/2.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Resumo
• Organizações em adaptação permanente
• Tecnologia de serviços– Web Services, Service-Oriented Architectures– Maior flexibilidade, reutilização e interoperabilidade
• Problema– Serviços com valor implicam segurança– Quais as capacidades de protecção da tecnologia disponível?
• Nesta tese fez-se uma avaliação da tecnologia– Caso de estudo “compra e venda de imóvel”
![Page 3: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/3.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Sumário
• Enquadramento
• Contributos
• Trabalho futuro e conclusão
![Page 4: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/4.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Sumário
• Enquadramento
• Contributos
• Trabalho futuro e conclusão
![Page 5: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/5.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Aplicações empresariais
• Características
– Complexidade e quantidade de dados
– Diversidade e quantidade de utilizadores
– Complexidade das regras de negócio
– Necessidades de integração
– Variedade e complexidade das ferramentas
![Page 6: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/6.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Serviços
• O serviço é a unidade de acesso a informação e funcionalidade
• Web Services – Tecnologia• Mensagens• Encapsulamento• Autonomia• Composição• Interoperabilidade
• SOA – Arquitectura• Visão global da organização• Orquestração e coreografia de serviços para suportar o
negócio• Papel fulcral da meta-informação (contratos)
![Page 7: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/7.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Vinculação por contratos(binding)
SOAPHandlers
ProcessadoresMensagens
SOAP
Extremidade do serviçoXSD
WS-Policy
Cliente
#3 Gerar
#4 Configurar
#5 Invocar
#6 Executar
#1 Publicar
#2 Descobrir
WSDLSOAPHandlers
Adaptadores para SOAP
Dados
Política
Funções
![Page 8: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/8.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Segurança de serviços
• Ênfase na integração de tecnologias existentes: X.509, Kerberos, etc.
– Autenticação– Autorização– Protecção das
mensagens– Flexibilidade de
configuração
![Page 9: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/9.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Sumário
• Enquadramento
• Contributos
• Trabalho futuro e conclusão
![Page 10: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/10.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Contributos da tese
1. Retrato das normas e implementações de serviços
2. Avaliação da tecnologia de segurança através de
ensaios e de protótipo de caso de estudo
3. Identificação dos mecanismos da plataforma de
serviços necessários para implementar segurança
![Page 11: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/11.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Contributo 1:Normas e implementações
![Page 12: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/12.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Normas
Interoperabilidade
Representação de dados
Descoberta
Contrato
Processos de negócio
Transacções
Transporte
Mensagem
Segurança
HTTPSMTPTCP-IPUDP... Message Queues
SOAPMTOM/XOPWS-AddressingWS-EnumerationWS-EventingWS-NotificationWS-Polling
WSDLWS-PolicyWS-TransferWS-Resource Framework
UDDIWS-InspectionWS-DiscoveryWS-Metadata Exchange
XML EncryptionXML SignatureSAMLWS-SecurityWS-SecurityPolicyWS-TrustWS-SecureConversationWS-FederationXACMLRELXAdESXKMS
WS-BPEL (BPEL4WS)WS-CDLASAPWS-RPWS-XL
WS-ManagementWS-DistributedManagementWS-Provisioning
XMLXML Schema
WS-I Basic ProfileWS-I Basic Security ProfileWS-Device Profile
WS-Coordination
WS-CompositeApplicationFramework
Gestão
WS-ReliableMessagingWS-Reliability
Mensagensfiáveis
?
??
?
![Page 13: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/13.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Implementações
• WSE 3 (Web Services Enhancements 3)
• WSS4J (Web Services Security for Java)
• XWSS (XML and Web Services Security)
WS-Security: Username, X.509SAML
XWSS: Java Web Services Developer Pack 2.0, XML and Web Services Security 2.0
Sun Microsystems
WS-Security: Username, X.509WS-PolicySAML
WSS4J: Apache Axis2, Rampart module of Web Services Security for Java (WSS4J)
Apache
WS-Security: Username, X.509, KerberosWS-Secure Conversation, WS-TrustSAML (asserções)
WSE 3: Dot Net Framework 2.0, Visual Studio 2005, Web Services Enhancements 3.0
Microsoft
Normas suportadasImplementaçãoFornecedor
![Page 14: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/14.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Contributo 2:Avaliação
• Caso de estudo– Real, complexo, familiar– “Compra e venda de imóvel”
• Processo de negócio– Cenários exemplificativos
• Protótipo
![Page 15: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/15.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Processo de negócio
• Levantamento de processos e entidades informacionais
PN.1 – Comprar e vender imóvel
PN.1.1 - Colocar imóvel à venda
PN.1.2 – Verificar estado legal do imóvel à venda
PN.1.3 – Pedir crédito ao Banco
PN.1.4 – Fazer contrato promessa de compra e venda
PN.1.5 – Proceder aos registos provisórios
PN.1.6 – Pagar o Imposto sobre Transmissões Onerosas de Imóveis (IMT)
PN.1.9 – Celebrar a escritura de compra e venda e de hipoteca
PN.1.7 – Efectuar seguro do imóvel
PN.1.8 – Efectuar seguro pessoal de vida
PN.1.10 - Pedir a isenção de Imposto Municipal sobre Imóveis (IMI)
PN.1.11 - Converter em definitivo os registos provisórios
PN.1.12 - Cancelar a hipoteca
EI 1 - Imóvel
EI 1.1 - Caderneta predial
EI 1.2 - Certidão de teor
EI 1.3 - Licença de utilização
EI 2 - Vendedor
EI 2.1 - Situação legal
EI 2.2 - Situação financeira
EI 3 - Comprador
EI 3.1 - Património e rendimentos
EI 3.2 - Testes médicos
EI 4 - Notário EI 5 - Mediador Imobiliário EI 6 - Banco EI 7 - Seguradora
EI 8 - Mediação imobiliária para venda
EI 9 - Empréstimo para compra de imóvel
EI 10 - Promessa de compra e venda de
imóvel
EI 11 - Escritura de imóvel
EI 12 - Hipoteca de compra e venda de
imóvel
EI 13 - Pagamento de Imposto sobre
Transmissões Onerosas de Imóveis (IMT)
EI 14 - Isenção de Imposto Municipal sobre
Imóveis (IMI)
EI 15 - Seguro de vida e de imóvel
![Page 16: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/16.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Cenários• Excertos do processo que exemplificam as interacções
Notário
Consulta de licença de habitação
Assinatura do contrato-promessa
Validação de documentos exigidos
para escritura
Vendedor
Comprador CâmaraMunicipal
Mediadorimobiliário
Finanças
4: firmarContrato()Vendedor (V) Notário (N)
2: submeterContrato()5: obterContrato()
Comprador (C)
1*: negociarContrato()
3: submeterContrato()6: obterContrato()
![Page 17: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/17.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Ensaios1. Utilização da biblioteca System.Security.Cryptography para cifra e
decifra de dados;2. Cliente e servidor Web Services simples, tipo HelloWorld;3. Cliente e servidor Web Service assíncronos;4. Cliente e servidor Web Service com invocação de método
unidireccional;5. Cliente de Web Service Java;6. Utilização do registo de mensagens SOAP;7. Utilização de MTOM para optimizar a transmissão de mensagens
com dados binários;8. Utilização de configuração declarativa de segurança WS-Security:9. Autenticação de servidor com certificado digital X.509;10. Autenticação de cliente com nome e senha;11. Autenticação de cliente com certificado digital X.509;12. Utilização de WS-SecureConversation para que o certificado do
cliente só fosse enviado na primeira mensagem da sessão;13. Autorização com base em conta de utilizador Windows;14. Selecção programática da configuração WS-Security a usar;15. Desenvolvimento de elemento de configuração à medida;16. Instalação do pacote de extensão SAML Security Token Service
QuickStart.
1. Programas de manipulação XML com a biblioteca AXIOM 1.0:2. Criação de novos documentos;3. Leitura e validação de documentos existentes;4. Desenvolvimento de serviços com a biblioteca Axis2 1.0:5. Com manipulação directa de XML; 6. Com classes Java vinculadas aos dados;7. Desenvolvimento de clientes com a biblioteca Axis2 1.0:8. Com manipulação directa de XML;9. Com classes de invocação geradas por ferramenta a partir da
definição WSDL;10. Invocações síncronas e assíncronas de serviços;11. Operações com políticas WS-Policy usando a biblioteca Commons
Policy 1.0:12. Normalização;13. Junção;14. Intersecção.15. Instalação do módulo de segurança WSS4J.
Vinculação de dados Java com XML através da biblioteca JAX-B 2:Geração de código Java a partir de XML Schema, para leitura e escrita de
documentos;Utilização do elemento de extensão Any do XML Schema;Assinatura digital XML com a biblioteca Java XML Digital Signature API
(xmldsig), nas variantes:‘Detached’, que assina dados que são externos à assinatura;‘Enveloping’, que assina dados contidos na estrutura da assinatura;‘Enveloped’, onde a assinatura está contida na estrutura que está a ser
assinada;Desenvolvimento de clientes e serviços JAX-WS 2:A partir de WSDL;A partir de classes Java;Em ambas as situações anteriores, utilização de JAX-WS Handlers para
interceptar as mensagens SOAP;Desenvolvimento de clientes e serviços JAX-WS 2 com segurança XWSS, nas
seguintes configurações:Autenticação e autorização com utilizador e senha;Colocação e verificação de marcas temporais;Assinatura de mensagens com chave privada e verificação com certificado
digital de chave pública X.509;Cifra de mensagens com chave privada e decifra com certificado digital de
chave pública X.509;Cifra e decifra de mensagem com chave simétrica partilhada;Configuração de segurança diferenciada por operação do serviço (cada
operação do serviço tem uma configuração de segurança própria);Utilização e verificação de asserções SAML de autenticação;Combinações das configurações anteriores;Invocação de serviço com segurança no transporte usando HTTPS com
certificado digital do servidor Tomcat:Autenticação do cliente com utilizador e senha;Autenticação do cliente com certificado digital.
WSE 3WSS4J
XWSS
![Page 18: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/18.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Protótipo
• Assinatura de contrato-promessa de compra e venda– Modelação dos serviços
• Incluíndo vinculação
– Distribuição de chaves
Vendedor (V) Notário (N)
3: ?wsdl
Comprador (C)
1: ?xsd2: ?wsdl
4: ?wsdl
3.1: ?xsd
XSD Contrato Compra-Venda
WSDL WSDL
4: firmarContrato()Vendedor (V) Notário (N)
2: submeterContrato()5: obterContrato()
Comprador (C)
1*: negociarContrato()
3: submeterContrato()6: obterContrato()
Finanças (F)
Registo Civil (RC)
2.1: autenticação
3.1: autenticação
Vendedor (V) Notário (N)
Comprador (C)
Finanças (F)
Registo Civil (RC)
KpubF
KpubRC
KprivRC
KpubN
KpubN
Kv
Kc
KprivF
Kc
Kv
KprivN
![Page 19: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/19.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Contributo 3:Mecanismos para segurança
• A plataforma tem que permitir:– Declaração de requisitos (política)– Especificação da configuração– Gestão de contextos de execução– Intercepção do processamento de mensagens– Intercepção do processamento de operações
![Page 20: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/20.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Sumário
• Enquadramento
• Contributos
• Trabalho futuro e conclusão
![Page 21: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/21.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Trabalho futuro
• Normas e implementações– Manter actualização– Avaliar extensões
• Mensagens fiáveis• Transacções distribuídas
• Metodologias– Dos requisitos, à especificação à implementação
• Ferramentas– Centradas nos contratos XML– Separar plataforma/segurança da aplicação/negócio
![Page 22: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/22.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Conclusão
• No presente, os serviços simplificam a integração Java - Dot Net e suportam os cenários de segurança mais comuns por configuração, mas apenas em tempo de instalação
• No futuro, o suporte para políticas vai ser melhorado, mas vai continuar a faltar a ligação do modelo de negócio ao modelo tecnológico
• Os mecanismos de segurança devem ser realizados pela plataforma, mas devem dar contexto às aplicações e delegar-lhes as decisões de confiança
![Page 23: MSc presentation](https://reader031.vdocuments.site/reader031/viewer/2022013115/557c90c3d8b42a6c788b4c5b/html5/thumbnails/23.jpg)
Segurança de aplicações empresariais em arquitecturas de serviços
Publicações
Pardal, M., Em construção: uma análise ao estado actual da plataforma de Serviços Web para negócio electrónico, XATA2006, XML: Aplicações e Tecnologias Associadas, 2006
Pardal M., Cunha A., Building multi-services in personal mobile devices based on partially trusted domains, Proc. of International IADIS Conference e-Society 2004
Guerra, M.; Pardal, M. & da Silva, M.M., An Integration Methodology based on the Enterprise Architecture, Proc. of the 2004 Conference of the UK Academy for Information Systems (UKAIS 2004), 2004
Artigos disponíveis em:http://mflpar.googlepages.com