MSc presentation

372 views
313 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
372
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

MSc presentation

  1. 1. Mestrado em Engenharia Informática e de ComputadoresSegurança de aplicações empresariais em arquitecturas de serviços Miguel Filipe Leitão Pardal 13 de Setembro de 2006
  2. 2. 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” Segurança de aplicações empresariais em arquitecturas de serviços
  3. 3. Sumário • Enquadramento • Contributos • Trabalho futuro e conclusão Segurança de aplicações empresariais em arquitecturas de serviços
  4. 4. Sumário • Enquadramento • Contributos • Trabalho futuro e conclusão Segurança de aplicações empresariais em arquitecturas de serviços
  5. 5. 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 Segurança de aplicações empresariais em arquitecturas de serviços
  6. 6. 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) Segurança de aplicações empresariais em arquitecturas de serviços
  7. 7. Vinculação por contratos(binding) #1 PublicarCliente Extremidade #2 Descobrir do serviço XSD Dados #3 Gerar SOAP Adaptadores para SOAP Handlers WSDL Funções #4 Configurar WS-Policy Política Processadores SOAP Mensagens Handlers SOAP #5 Invocar #6 Executar Segurança de aplicações empresariais em arquitecturas de serviços
  8. 8. 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 Segurança de aplicações empresariais em arquitecturas de serviços
  9. 9. Sumário • Enquadramento • Contributos • Trabalho futuro e conclusão Segurança de aplicações empresariais em arquitecturas de serviços
  10. 10. Contributos da tese1. Retrato das normas e implementações de serviços2. Avaliação da tecnologia de segurança através de ensaios e de protótipo de caso de estudo3. Identificação dos mecanismos da plataforma de serviços necessários para implementar segurança Segurança de aplicações empresariais em arquitecturas de serviços
  11. 11. Contributo 1:Normas e implementações Segurança de aplicações empresariais em arquitecturas de serviços
  12. 12. XML Encryption WS-BPEL (BPEL4WS) XML Signature WS-CDL SAML ASAP WS-Management WS-Security WS-RP WS-DistributedManagement WS-SecurityPolicy WS-XL WS-Provisioning WS-TrustNormas WS-SecureConversation WS-Federation XACML WS-Coordination WS-ReliableMessaging REL XAdES ? WS-Reliability WS-Composite ? XKMS ApplicationFramework Processos de negócio Mensagens Segurança Transacções fiáveis G Descoberta e s t Contrato ã o Mensagem Transporte Representação de dados Interoperabilidade HTTP XML WS-I Basic Profile SMTP XML Schema WS-I Basic Security Profile TCP-IP WS-Device Profile UDP ... Message Queues UDDI WS-Inspection WS-Discovery SOAP WS-Metadata Exchange MTOM/XOP WS-Addressing WS-Enumeration WSDL WS-Eventing WS-Notification ? WS-Policy WS-Polling ? WS-Transfer WS-Resource Framework Segurança de aplicações empresariais em arquitecturas de serviços
  13. 13. Implementações • WSE 3 (Web Services Enhancements 3) • WSS4J (Web Services Security for Java) • XWSS (XML and Web Services Security)Fornecedor Implementação Normas suportadasMicrosoft WSE 3: Dot Net Framework 2.0, Visual WS-Security: Username, X.509, Kerberos Studio 2005, Web Services WS-Secure Conversation, WS-Trust Enhancements 3.0 SAML (asserções)Apache WSS4J: Apache Axis2, Rampart module WS-Security: Username, X.509 of Web Services Security for Java WS-Policy (WSS4J) SAMLSun XWSS: Java Web Services Developer WS-Security: Username, X.509Microsystems Pack 2.0, XML and Web Services SAML Security 2.0 Segurança de aplicações empresariais em arquitecturas de serviços
  14. 14. 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 Segurança de aplicações empresariais em arquitecturas de serviços
  15. 15. Processo de negócio• Levantamento de processos e entidades informacionaisPN.1 – Comprar e vender imóvel EI 1 - Imóvel EI 2 - Vendedor EI 3 - Comprador EI 1.1 - EI 2.1 - EI 3.1 - PN.1.1 - Caderneta predial Situação legal Património e rendimentos Colocar imóvel à venda EI 2.2 - Situação EI 1.2 - Certidão de teor EI 3.2 - Testes médicos financeira PN.1.4 – Fazer contrato PN.1.2 – Verificar estado PN.1.3 – Pedir crédito ao promessa de compra e EI 1.3 - Licença de legal do imóvel à venda Banco utilização venda PN.1.6 – Pagar o Imposto EI 5 - Mediador PN.1.5 – Proceder aos sobre Transmissões EI 4 - Notário EI 6 - Banco EI 7 - Seguradora registos provisórios Onerosas de Imóveis (IMT) Imobiliário EI 10 - Promessa de PN.1.7 – Efectuar seguro PN.1.8 – Efectuar seguro EI 8 - Mediação EI 9 - Empréstimo EI 11 - Escritura de compra e venda de do imóvel pessoal de vida imobiliária para venda para compra de imóvel imóvel imóvel EI 12 - Hipoteca de EI 13 - Pagamento de EI 14 - Isenção de PN.1.9 – Celebrar a PN.1.10 - Pedir a isenção PN.1.11 - Converter em Imposto sobre EI 15 - Seguro de vida escritura de compra e de Imposto Municipal definitivo os registos compra e venda de Imposto Municipal sobre Transmissões Onerosas de Imóveis (IMI) e de imóvel venda e de hipoteca sobre Imóveis (IMI) provisórios imóvel Imóveis (IMT) PN.1.12 - Cancelar a hipoteca Segurança de aplicações empresariais em arquitecturas de serviços
  16. 16. Cenários • Excertos do processo que exemplificam as interacções Consulta de licença de habitaçãoComprador Câmara Municipal Assinatura do contrato-promessa Mediadorimobiliário Notário Validação de documentos exigidos para escrituraVendedor 2: submeterContrato() Finanças 5: obterContrato() Vendedor (V) Notário (N) 4: firmarContrato() 1*: negociarContrato() 3: submeterContrato() 6: obterContrato() Comprador (C) Segurança de aplicações empresariais em arquitecturas de serviços
  17. 17. 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; XWSS5. Cliente de Web Service Java;6. Utilização do registo de mensagens SOAP; Vinculação de dados Java com XML através da biblioteca JAX-B 2:7. Utilização de MTOM para optimizar a transmissão de mensagens Geração de código Java a partir de XML Schema, para leitura e escrita de com dados binários; documentos;8. Utilização de configuração declarativa de segurança WS-Security: Utilização do elemento de extensão Any do XML Schema;9. Autenticação de servidor com certificado digital X.509; Assinatura digital XML com a biblioteca Java XML Digital Signature API10. Autenticação de cliente com nome e senha; (xmldsig), nas variantes:11. Autenticação de cliente com certificado digital X.509; ‘Detached’, que assina dados que são externos à assinatura;12. Utilização de WS-SecureConversation para que o certificado do ‘Enveloping’, que assina dados contidos na estrutura da assinatura; cliente só fosse enviado na primeira mensagem da sessão; ‘Enveloped’, onde a assinatura está contida na estrutura que está a ser13. Autorização com base em conta de utilizador Windows; assinada;14. Selecção programática da configuração WS-Security a usar; Desenvolvimento de clientes e serviços JAX-WS 2:15. Desenvolvimento de elemento de configuração à medida; A partir de WSDL;16. Instalação do pacote de extensão SAML Security Token Service QuickStart. WSS4J A partir de classes Java; Em ambas as situações anteriores, utilização de JAX-WS Handlers para interceptar as mensagens SOAP; WSE 3 1. 2. 3. Programas de manipulação XML com a biblioteca AXIOM 1.0: Criação de novos documentos; Leitura e validação de documentos existentes; 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; 4. Desenvolvimento de serviços com a biblioteca Axis2 1.0: Colocação e verificação de marcas temporais; 5. Com manipulação directa de XML; Assinatura de mensagens com chave privada e verificação com certificado 6. Com classes Java vinculadas aos dados; digital de chave pública X.509; 7. Desenvolvimento de clientes com a biblioteca Axis2 1.0: Cifra de mensagens com chave privada e decifra com certificado digital de 8. Com manipulação directa de XML; chave pública X.509; 9. Com classes de invocação geradas por ferramenta a partir da Cifra e decifra de mensagem com chave simétrica partilhada; definição WSDL; Configuração de segurança diferenciada por operação do serviço (cada 10. Invocações síncronas e assíncronas de serviços; operação do serviço tem uma configuração de segurança própria); 11. Operações com políticas WS-Policy usando a biblioteca Commons Utilização e verificação de asserções SAML de autenticação; Policy 1.0: Combinações das configurações anteriores; 12. Normalização; Invocação de serviço com segurança no transporte usando HTTPS com 13. Junção; certificado digital do servidor Tomcat: 14. Intersecção. Autenticação do cliente com utilizador e senha; 15. Instalação do módulo de segurança WSS4J. Autenticação do cliente com certificado digital. Segurança de aplicações empresariais em arquitecturas de serviços
  18. 18. Protótipo • Assinatura de contrato-promessa de compra e venda – Modelação dos serviços • Incluíndo vinculação – Distribuição de chaves KprivRC Kv Registo Civil (RC) Registo Civil (RC) 2.1: autenticação KpubRC 2: submeterContrato() 5: obterContrato() Vendedor (V) Notário (N) 4: firmarContrato() Kv Vendedor (V) Notário (N) KprivN KpubN KpubF1*: negociarContrato() XSD Contrato Compra-Venda WSDL WSDL 3: submeterContrato() 6: obterContrato() 3: ?wsdl Comprador (C) Vendedor (V) Notário (N) Kc Comprador (C) 3.1: autenticação 3.1: ?xsd KpubN 1: ?xsd 2: ?wsdl Finanças (F) 4: ?wsdl Kc Finanças (F) Comprador (C) KprivF Segurança de aplicações empresariais em arquitecturas de serviços
  19. 19. 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 Segurança de aplicações empresariais em arquitecturas de serviços
  20. 20. Sumário • Enquadramento • Contributos • Trabalho futuro e conclusão Segurança de aplicações empresariais em arquitecturas de serviços
  21. 21. 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 Segurança de aplicações empresariais em arquitecturas de serviços
  22. 22. 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 Obrigado miguel.pardal@dei.ist.utl.pt Segurança de aplicações empresariais em arquitecturas de serviços
  23. 23. PublicaçõesPardal, 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, 2006Pardal M., Cunha A., Building multi-services in personal mobile devices based on partially trusted domains, Proc. of International IADIS Conference e-Society 2004Guerra, 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 Segurança de aplicações empresariais em arquitecturas de serviços

×