SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Mestrado em Engenharia Informática e de Computadores




Segurança de aplicações empresariais
    em arquitecturas de serviços




                        Miguel Filipe Leitão Pardal

                                 13 de Setembro de 2006
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
Sumário


    • Enquadramento

    • Contributos

    • Trabalho futuro e conclusão




          Segurança de aplicações empresariais em arquitecturas de serviços
Sumário


    • Enquadramento

    • Contributos

    • Trabalho futuro e conclusão




          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



             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)
                Segurança de aplicações empresariais em arquitecturas de serviços
Vinculação por contratos
(binding)
                                                                 #1 Publicar
Cliente                                                                             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
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
Sumário


    • Enquadramento

    • Contributos

    • Trabalho futuro e conclusão




          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



            Segurança de aplicações empresariais em arquitecturas de serviços
Contributo 1:
Normas e implementações




       Segurança de aplicações empresariais em arquitecturas de serviços
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-Trust



Normas
                                             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
Implementações
               • WSE 3 (Web Services Enhancements 3)
               • WSS4J (Web Services Security for Java)
               • XWSS (XML and Web Services Security)

Fornecedor     Implementação                              Normas suportadas
Microsoft      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)                                    SAML

Sun            XWSS: Java Web Services Developer          WS-Security: Username, X.509
Microsystems   Pack 2.0, XML and Web Services             SAML
               Security 2.0

                   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



           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                                                                                     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
Cenários
   • Excertos do processo que exemplificam as interacções
              Consulta de licença
                 de habitação


Comprador                                        Câmara
                                                Municipal


                 Assinatura do
               contrato-promessa


 Mediador
imobiliário                                      Notário

                  Validação de
              documentos exigidos
                 para escritura


Vendedor                                                                    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
Ensaios
1.    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;
                                                                                                                XWSS
5.    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 API
10.   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 ser
13.   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
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
                                                                                                                                                                                                               KpubF
1*: 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
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
Sumário


    • Enquadramento

    • Contributos

    • Trabalho futuro e conclusão




          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
             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

                                                                                     Obrigado
                                                                     miguel.pardal@dei.ist.utl.pt
                 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

                  Segurança de aplicações empresariais em arquitecturas de serviços

Más contenido relacionado

Similar a MSc presentation

Apresentação NetSecurity 2011
Apresentação NetSecurity 2011Apresentação NetSecurity 2011
Apresentação NetSecurity 2011Renato Sobral
 
Interop day wcf_presentation
Interop day wcf_presentationInterop day wcf_presentation
Interop day wcf_presentationAndre_Bonfante
 
Microservices Architecture Workshop
Microservices Architecture WorkshopMicroservices Architecture Workshop
Microservices Architecture WorkshopClaudio Acquaviva
 
Sistemas de Informação da Administração Pública - 4
Sistemas de Informação da Administração Pública - 4Sistemas de Informação da Administração Pública - 4
Sistemas de Informação da Administração Pública - 4Luis Vidigal
 
Apresentação netconsulting nov12
Apresentação netconsulting nov12Apresentação netconsulting nov12
Apresentação netconsulting nov12Evandro Alves
 
Navita | Webinar: Aplicativos Corporativos Mobile
Navita | Webinar: Aplicativos Corporativos MobileNavita | Webinar: Aplicativos Corporativos Mobile
Navita | Webinar: Aplicativos Corporativos MobileNavita BR
 
Service Oriented Architecture - SOA
Service Oriented Architecture - SOAService Oriented Architecture - SOA
Service Oriented Architecture - SOAThuan Saraiva
 
Apresentação Staff Consulting
Apresentação Staff ConsultingApresentação Staff Consulting
Apresentação Staff ConsultingStaff Consulting
 
SEC4YOU: Watchguard UTM & NGFW
SEC4YOU: Watchguard UTM & NGFWSEC4YOU: Watchguard UTM & NGFW
SEC4YOU: Watchguard UTM & NGFWSEC4YOU Consulting
 
Histórico e Fundamentos das Redes de Nova Geração (NGN)
Histórico e Fundamentos das Redes de Nova Geração (NGN)Histórico e Fundamentos das Redes de Nova Geração (NGN)
Histórico e Fundamentos das Redes de Nova Geração (NGN)Frederico Madeira
 
08 - Otavio Pecego - Arquitetura e nuvem: o que muda?
08 - Otavio Pecego - Arquitetura e nuvem: o que muda?08 - Otavio Pecego - Arquitetura e nuvem: o que muda?
08 - Otavio Pecego - Arquitetura e nuvem: o que muda?DNAD
 
Apresentação Cloud Privada
Apresentação Cloud PrivadaApresentação Cloud Privada
Apresentação Cloud PrivadaCarlos Miranda
 
Virtualização de Servidores
Virtualização de ServidoresVirtualização de Servidores
Virtualização de ServidoresISH Tecnologia
 
Cloud Computing - Conceitos e Riscos
Cloud Computing - Conceitos e RiscosCloud Computing - Conceitos e Riscos
Cloud Computing - Conceitos e RiscosAnchises Moraes
 

Similar a MSc presentation (20)

Apresentação NetSecurity 2011
Apresentação NetSecurity 2011Apresentação NetSecurity 2011
Apresentação NetSecurity 2011
 
Interop day wcf_presentation
Interop day wcf_presentationInterop day wcf_presentation
Interop day wcf_presentation
 
Microservices Architecture Workshop
Microservices Architecture WorkshopMicroservices Architecture Workshop
Microservices Architecture Workshop
 
Sistemas de Informação da Administração Pública - 4
Sistemas de Informação da Administração Pública - 4Sistemas de Informação da Administração Pública - 4
Sistemas de Informação da Administração Pública - 4
 
Apresentação Excelência Tecnologia - Empresas, Comércios e Profissionais Libe...
Apresentação Excelência Tecnologia - Empresas, Comércios e Profissionais Libe...Apresentação Excelência Tecnologia - Empresas, Comércios e Profissionais Libe...
Apresentação Excelência Tecnologia - Empresas, Comércios e Profissionais Libe...
 
Solid presentation
Solid presentationSolid presentation
Solid presentation
 
Apresentação netconsulting nov12
Apresentação netconsulting nov12Apresentação netconsulting nov12
Apresentação netconsulting nov12
 
institucional
institucionalinstitucional
institucional
 
Navita | Webinar: Aplicativos Corporativos Mobile
Navita | Webinar: Aplicativos Corporativos MobileNavita | Webinar: Aplicativos Corporativos Mobile
Navita | Webinar: Aplicativos Corporativos Mobile
 
SOA - Fatos e Mitos
SOA - Fatos e MitosSOA - Fatos e Mitos
SOA - Fatos e Mitos
 
Service Oriented Architecture - SOA
Service Oriented Architecture - SOAService Oriented Architecture - SOA
Service Oriented Architecture - SOA
 
Apresentação Staff Consulting
Apresentação Staff ConsultingApresentação Staff Consulting
Apresentação Staff Consulting
 
SEC4YOU: Watchguard UTM & NGFW
SEC4YOU: Watchguard UTM & NGFWSEC4YOU: Watchguard UTM & NGFW
SEC4YOU: Watchguard UTM & NGFW
 
Histórico e Fundamentos das Redes de Nova Geração (NGN)
Histórico e Fundamentos das Redes de Nova Geração (NGN)Histórico e Fundamentos das Redes de Nova Geração (NGN)
Histórico e Fundamentos das Redes de Nova Geração (NGN)
 
08 - Otavio Pecego - Arquitetura e nuvem: o que muda?
08 - Otavio Pecego - Arquitetura e nuvem: o que muda?08 - Otavio Pecego - Arquitetura e nuvem: o que muda?
08 - Otavio Pecego - Arquitetura e nuvem: o que muda?
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
RCE
RCERCE
RCE
 
Apresentação Cloud Privada
Apresentação Cloud PrivadaApresentação Cloud Privada
Apresentação Cloud Privada
 
Virtualização de Servidores
Virtualização de ServidoresVirtualização de Servidores
Virtualização de Servidores
 
Cloud Computing - Conceitos e Riscos
Cloud Computing - Conceitos e RiscosCloud Computing - Conceitos e Riscos
Cloud Computing - Conceitos e Riscos
 

Más de Miguel Pardal

Master Beginners Workshop - Feb 2023
Master Beginners Workshop - Feb 2023Master Beginners Workshop - Feb 2023
Master Beginners Workshop - Feb 2023Miguel Pardal
 
Master Beginners Workshop - September 2019
Master Beginners Workshop - September 2019Master Beginners Workshop - September 2019
Master Beginners Workshop - September 2019Miguel Pardal
 
SafeCloud Secure Communication solutions (WP1 overview)
SafeCloud Secure Communication solutions (WP1 overview)SafeCloud Secure Communication solutions (WP1 overview)
SafeCloud Secure Communication solutions (WP1 overview)Miguel Pardal
 
Master Beginners' Workshop September 2018
Master Beginners' Workshop September 2018Master Beginners' Workshop September 2018
Master Beginners' Workshop September 2018Miguel Pardal
 
IoT Middleware for Precision Agriculture: workforce monitoring in olive fields
IoT Middleware for Precision Agriculture: workforce monitoring in olive fieldsIoT Middleware for Precision Agriculture: workforce monitoring in olive fields
IoT Middleware for Precision Agriculture: workforce monitoring in olive fieldsMiguel Pardal
 
Rastreabilidade na Internet das (muitas) Coisas
Rastreabilidade na Internet das (muitas) CoisasRastreabilidade na Internet das (muitas) Coisas
Rastreabilidade na Internet das (muitas) CoisasMiguel Pardal
 
Vulnerability-tolerant Transport Layer Security
Vulnerability-tolerant Transport Layer SecurityVulnerability-tolerant Transport Layer Security
Vulnerability-tolerant Transport Layer SecurityMiguel Pardal
 
Precision Agriculture with Sensors and Technologies from the Internet of Things
Precision Agriculture with Sensors and Technologies from the Internet of ThingsPrecision Agriculture with Sensors and Technologies from the Internet of Things
Precision Agriculture with Sensors and Technologies from the Internet of ThingsMiguel Pardal
 
LaTeX workshop (JEQ)
LaTeX workshop (JEQ)LaTeX workshop (JEQ)
LaTeX workshop (JEQ)Miguel Pardal
 
Thesis for beginners
Thesis for beginnersThesis for beginners
Thesis for beginnersMiguel Pardal
 
Scalable and secure RFID data discovery
Scalable and secure RFID data discoveryScalable and secure RFID data discovery
Scalable and secure RFID data discoveryMiguel Pardal
 
Breve introdução à investigação
Breve introdução à investigaçãoBreve introdução à investigação
Breve introdução à investigaçãoMiguel Pardal
 
Eclipse workshop presentation
Eclipse workshop presentationEclipse workshop presentation
Eclipse workshop presentationMiguel Pardal
 
BEST Lisboa 2013 - The Internet of Things class
BEST Lisboa 2013 - The Internet of Things classBEST Lisboa 2013 - The Internet of Things class
BEST Lisboa 2013 - The Internet of Things classMiguel Pardal
 
Expressive RFID data access policies for the Pharmaceuticals supply chain
Expressive RFID data access policies for the Pharmaceuticals supply chainExpressive RFID data access policies for the Pharmaceuticals supply chain
Expressive RFID data access policies for the Pharmaceuticals supply chainMiguel Pardal
 
Performance Assessment of XACML Authorizations for Supply Chain Traceability ...
Performance Assessment of XACML Authorizations for Supply Chain Traceability ...Performance Assessment of XACML Authorizations for Supply Chain Traceability ...
Performance Assessment of XACML Authorizations for Supply Chain Traceability ...Miguel Pardal
 
An introduction to RFID
An introduction to RFIDAn introduction to RFID
An introduction to RFIDMiguel Pardal
 
Cost model for RFID-based traceability information systems
Cost model for RFID-based traceability information systemsCost model for RFID-based traceability information systems
Cost model for RFID-based traceability information systemsMiguel Pardal
 
A caminho da internet of things
A caminho da internet of thingsA caminho da internet of things
A caminho da internet of thingsMiguel Pardal
 

Más de Miguel Pardal (20)

Master Beginners Workshop - Feb 2023
Master Beginners Workshop - Feb 2023Master Beginners Workshop - Feb 2023
Master Beginners Workshop - Feb 2023
 
Master Beginners Workshop - September 2019
Master Beginners Workshop - September 2019Master Beginners Workshop - September 2019
Master Beginners Workshop - September 2019
 
SafeCloud Secure Communication solutions (WP1 overview)
SafeCloud Secure Communication solutions (WP1 overview)SafeCloud Secure Communication solutions (WP1 overview)
SafeCloud Secure Communication solutions (WP1 overview)
 
Master Beginners' Workshop September 2018
Master Beginners' Workshop September 2018Master Beginners' Workshop September 2018
Master Beginners' Workshop September 2018
 
IoT Middleware for Precision Agriculture: workforce monitoring in olive fields
IoT Middleware for Precision Agriculture: workforce monitoring in olive fieldsIoT Middleware for Precision Agriculture: workforce monitoring in olive fields
IoT Middleware for Precision Agriculture: workforce monitoring in olive fields
 
Rastreabilidade na Internet das (muitas) Coisas
Rastreabilidade na Internet das (muitas) CoisasRastreabilidade na Internet das (muitas) Coisas
Rastreabilidade na Internet das (muitas) Coisas
 
Vulnerability-tolerant Transport Layer Security
Vulnerability-tolerant Transport Layer SecurityVulnerability-tolerant Transport Layer Security
Vulnerability-tolerant Transport Layer Security
 
Master Beginners
Master BeginnersMaster Beginners
Master Beginners
 
Precision Agriculture with Sensors and Technologies from the Internet of Things
Precision Agriculture with Sensors and Technologies from the Internet of ThingsPrecision Agriculture with Sensors and Technologies from the Internet of Things
Precision Agriculture with Sensors and Technologies from the Internet of Things
 
LaTeX workshop (JEQ)
LaTeX workshop (JEQ)LaTeX workshop (JEQ)
LaTeX workshop (JEQ)
 
Thesis for beginners
Thesis for beginnersThesis for beginners
Thesis for beginners
 
Scalable and secure RFID data discovery
Scalable and secure RFID data discoveryScalable and secure RFID data discovery
Scalable and secure RFID data discovery
 
Breve introdução à investigação
Breve introdução à investigaçãoBreve introdução à investigação
Breve introdução à investigação
 
Eclipse workshop presentation
Eclipse workshop presentationEclipse workshop presentation
Eclipse workshop presentation
 
BEST Lisboa 2013 - The Internet of Things class
BEST Lisboa 2013 - The Internet of Things classBEST Lisboa 2013 - The Internet of Things class
BEST Lisboa 2013 - The Internet of Things class
 
Expressive RFID data access policies for the Pharmaceuticals supply chain
Expressive RFID data access policies for the Pharmaceuticals supply chainExpressive RFID data access policies for the Pharmaceuticals supply chain
Expressive RFID data access policies for the Pharmaceuticals supply chain
 
Performance Assessment of XACML Authorizations for Supply Chain Traceability ...
Performance Assessment of XACML Authorizations for Supply Chain Traceability ...Performance Assessment of XACML Authorizations for Supply Chain Traceability ...
Performance Assessment of XACML Authorizations for Supply Chain Traceability ...
 
An introduction to RFID
An introduction to RFIDAn introduction to RFID
An introduction to RFID
 
Cost model for RFID-based traceability information systems
Cost model for RFID-based traceability information systemsCost model for RFID-based traceability information systems
Cost model for RFID-based traceability information systems
 
A caminho da internet of things
A caminho da internet of thingsA caminho da internet of things
A caminho da internet of things
 

MSc presentation

  • 1. Mestrado em Engenharia Informática e de Computadores Segurança de aplicações empresariais em arquitecturas de serviços Miguel Filipe Leitão Pardal 13 de Setembro de 2006
  • 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. Sumário • Enquadramento • Contributos • Trabalho futuro e conclusão Segurança de aplicações empresariais em arquitecturas de serviços
  • 4. Sumário • Enquadramento • Contributos • Trabalho futuro e conclusão Segurança de aplicações empresariais em arquitecturas de serviços
  • 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. 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. Vinculação por contratos (binding) #1 Publicar Cliente 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. 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. Sumário • Enquadramento • Contributos • Trabalho futuro e conclusão Segurança de aplicações empresariais em arquitecturas de serviços
  • 10. 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 Segurança de aplicações empresariais em arquitecturas de serviços
  • 11. Contributo 1: Normas e implementações Segurança de aplicações empresariais em arquitecturas de serviços
  • 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-Trust Normas 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. Implementações • WSE 3 (Web Services Enhancements 3) • WSS4J (Web Services Security for Java) • XWSS (XML and Web Services Security) Fornecedor Implementação Normas suportadas Microsoft 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) SAML Sun XWSS: Java Web Services Developer WS-Security: Username, X.509 Microsystems Pack 2.0, XML and Web Services SAML Security 2.0 Segurança de aplicações empresariais em arquitecturas de serviços
  • 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. Processo de negócio • Levantamento de processos e entidades informacionais PN.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. Cenários • Excertos do processo que exemplificam as interacções Consulta de licença de habitação Comprador Câmara Municipal Assinatura do contrato-promessa Mediador imobiliário Notário Validação de documentos exigidos para escritura Vendedor 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. Ensaios 1. 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; XWSS 5. 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 API 10. 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 ser 13. 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. 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 KpubF 1*: 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. 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. Sumário • Enquadramento • Contributos • Trabalho futuro e conclusão Segurança de aplicações empresariais em arquitecturas de serviços
  • 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. 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. 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 Segurança de aplicações empresariais em arquitecturas de serviços