XML Security: Standard Que Permite Encriptar E/Ou Assinar Documentos Em XML

XML Security: Standard Que Permite Encriptar E/Ou Assinar Documentos Em XML

Sistemas de Gestão de Identidade Capítulo IV José Rogado [email protected] Universidade Lusófona Mestrado Eng.ª Informática e Sistemas de Informação 2015/16 Tecnologias de Suporte à Federação . Os requisitos de segurança dos ambientes federativos são mais complexos do que os dos ambiente Cliente/Servidor tradicionalmente usados em computação distribuída e na Web . A implementação de um determinado serviço pode ser realizada por várias entidades através de múltiplas interacções • A segurança deve persistir através das várias mensagens • A identificação do end-user pode (ou não) ser propagada até ao destinatário • Cada entidade deve poder introduzir ou retirar as suas credenciais específicas utilizadas na comunicação com os seus parceiros directos . Assim são necessárias tecnologias que permitam às diversas entidades envolvidas gerir de forma flexível a propagação dos contextos de confiança estabelecidos entre elas 2015/16 Gestão de Identidade e Aplicações 2 Federativas Contexto de Segurança Composto Contexto de Segurança Ponto-a-Ponto Contexto de Segurança 1 Contexto de Segurança 2 SOAP Web Web Service Browser Platform SSL/HTTPS Server Appl. Data Server Domínio A Domínio B O contexto de segurança entre um utilizador e um Service Provider pode ser composto por múltiplos sub-contextos intermédios 2015/16 Gestão de Identidade e Aplicações 3 Federativas Emergência de Novos Paradigmas . Assistimos hoje em dia a uma enorme expansão dos domínio de abrangência da Gestão de Identidade • Big Data • Internet of Things • Fog Computing . www.cisco.com/c/en/us/solutions/internet-of-things/iot-fog-computing.html . Os modelos distribuídos clássicos não conseguem escalar • Cliente Servidor introduz pontos únicos de falha . Evolução dos modelos Peer-to-Peer • Conceito de swarm (enxame): nós de computação colaborativos que implementam colectivamente serviços complexos . Exemplos • Namecoin (cf. Bitcoin): https://namecoin.info • NameID: https://nameid.org • Interplanetary File System: https://ipfs.io 2015/16 Gestão de Identidade e Aplicações 4 Federativas Standards de Federação . Emergência de standards suportados pela W3C, OASIS e fornecedores de plataformas de middleware • Para permitir a gestão de múltiplos contextos de segurança embebidos na estrutura dos dados e das mensagens . XML Security: standard que permite encriptar e/ou assinar documentos em XML . WS-Security: standard que permite encriptar e assinar as mensagens SOAP (headers e body), ou transmitir credenciais. • Para permitir trocar informações sobre a autenticação e autorização de utilizadores entre Identity e Service Providers . SAML (Security Assertion Markup Language): standard que permite propagar condições de autenticação e autorização entre entidades federadas . Outros standards propostos por organizações e software houses para criar ambientes de autenticação federados • Liberty Alliance (Boeing, SUN, HP, Nokia, ...) . Agora designada por Kantara Initiative (https://kantarainitiative.org) • WS-* (IBM-Microsoft) 2015/16 Gestão de Identidade e Aplicações 5 Federativas XML Security . Standard utilizado maioritariamente para permitir a interoperabilidade e propagação de credenciais de segurança entre os vários intervenientes em Federações e Web Services. • Segurança ponto a ponto • Segurança entre intermediários • O facto do SOAP ser baseado em XML permite a generalização desta tecnologia . XML Encryption • Recomendação de 2002 da W3C (www.w3.org/Encryption) • Permite a encriptação de todo ou parte de um documento XML . XML Signature • Recomendação de 2008 da W3C (www.w3.org/Signature) • Permite a assinatura digital de um documento em XML 2015/16 Gestão de Identidade e Aplicações 6 Federativas XML Encryption - estrutura O tipo de dados encriptados pode ser de diferentes tipos, incluindo estruturas XML O algoritmo de encriptação utilizado, geralmente de chave simétrica Informação opcional sobre a chave de encriptação utilizada, que pode ser enviada encriptada ou obtida por referência Os dados encriptados podem ser incluídos na estrutura ou referenciados Informações adicionais sobre a encriptação podem ser incluídas (timestamp, encryption device, ...) Especificação W3C: www.w3.org/TR/xmlenc-core 2015/16 Gestão de Identidade e Aplicações 7 Federativas XML Encryption - exemplo Dados a encriptar: um elemento XML 2015/16 Gestão de Identidade e Aplicações 8 Federativas XML Encryption – exemplo 1 Dados Encriptados: um elemento XML substituído pelo seu valor encriptado 2015/16 Gestão de Identidade e Aplicações 9 Federativas XML Encryption – exemplo 2 Dados Encriptados: Conteúdo de um elemento específico da estrutura XML A encriptação XML permite proteger selectivamente partes específicas de um documento ou mensagem 2015/16 Gestão de Identidade e Aplicações 10 Federativas XML Signature - estrutura Especificação W3C: www.w3.org/TR/xmldsig-core 2015/16 Gestão de Identidade e Aplicações 11 Federativas XML Signature - exemplo 1 Informação sobre o método de assinatura Neste caso os dados assinados estão contidos no documento XML (enveloped) 2015/16 Gestão de Identidade e Aplicações 12 Federativas XML Signature - exemplo 2 Informação sobre o método de assinatura Certificado X509 identifica o assinante A assinatura refere-se a um documento através do seu URI (detached) 2015/16 Gestão de Identidade e Aplicações 13 Federativas WS-Security . Web Services Security: especificação desenvolvida pela IBM, Microsoft e VeriSign • msdn2.microsoft.com/en-us/library/ms977312.aspx . Agora suportada pelo OASIS Web Services Security (WSS) Technical Committee. • www.oasis-open.org/committees/wss . Define extensões de segurança ao SOAP para assegurar integridade de dados e confidencialidade das mensagens • Utilizando XML signature e XML encryption . Inserção de Security Headers na mensagem, permitindo: • Envio de Security Tokens . Certificados X.509 . Tickets Kerberos . Assertions SAML • Encriptação e Assinatura de partes seleccionadas do message body . Com base nos artefactos contidos nos Security Tokens 2015/16 Gestão de Identidade e Aplicações 14 Federativas WS-Security - exemplo Security Token Security Header 2015/16 Gestão de Identidade e Aplicações 15 Federativas Standards de Federação – SAML . SAML - Security Assertions Markup Language • Definida pelo OASIS SSTC (IBM, SUN, AOL, Boeing, Nokia, ...) . A versão 1.0 aprovado como Standard em Novembro de 2002. • Utilizada com enorme sucesso em inúmeros plataformas de SSO, autenticação e standards de segurança (WS-Security, Liberty, ...) . A versão SAML 2.0 (Março 2005) introduz funcionalidades essenciais para a federação: • Definição de novos perfis (Identity Provider, Service Provider, ...) • Utilização de pseudónimos dinâmicos para designar as identidades • Gestão de fim de sessão (single-logout) • Federação avançada, com suporte de: . IdP Discovery . Gestão de Atributos . Esta versão permite a convergência com outros standards de federação (i.e.: Liberty Alliance). 2015/16 Gestão de Identidade e Aplicações 16 Federativas Componentes SAML . O SAML é constituído por um conjunto de componentes que em conjunto permitem transferir identidade, autenticação, atributos e autorização entre entidades que estabeleceram uma relação de confiança Source: SAML V2.0 Technical Overview - OASIS 2015/16 Gestão de Identidade e Aplicações 17 Federativas Assertions . Uma Assertion é um documento XML com uma estrutura própria, que pode ser veículada por HTTP ou SOAP . As assertions permitem veicular declarações (statements) sobre sujeitos, que podem ser de vários tipos: • <AuthnStatement> declaração sobre a autenticação realizada por um sujeito • <AttributeStatement> declaração sobre os atributos de um sujeito • <AuthzDecisionStatement> declaração sobre decisões relacionadas com possíveis acções que o sujeito pode realizar . As assertions podem ser assinadas e ser parcial ou totalmente encriptadas . Utilizando XML Signature e XML Encryption . Pode conter uma ou várias chaves ou certificados digitais 2015/16 Gestão de Identidade e Aplicações 18 Federativas Estrutura Genérica de uma Asserção Identificador da Asserção Identificador do IdP Validade da Asserção Restrições Características e instante da autenticação Correspondência entre os perfis no IdP e no SP Assinatura da Asserção com a CP do issuer 2015/16 Gestão de Identidade e Aplicações 19 Federativas Exemplo Source: SAML V2.0 Basics – Eve Maler (SUN) 2015/16 Gestão de Identidade e Aplicações 20 Federativas Protocolos SAML . Conjunto de protocolos de tipo Request/Response que governam as interacções entre as várias entidades SAML • Authentication Request Protocol Conjunto de interacções que permitem obter declarações de identidade e opcionalmente declarações de atributos • Assertion Query and Request Protocol . Protocolo para obtenção de asserções • Artifact Resolution Protocol . Mecanismo para passar mensagens através de referências, designadas por artifacts . Por exemplo, uma forma de obter uma assertion com base numa referência • Name Identifier Mapping Protocol . Permite mapear dois identicadores SAML entre domínios distintos • Name Identifier Management Protocol . Permite mudar os valores e formatos dos identificadores associados aos sujeitos • Single Logout Protocol . Define um mecanismo para permitir terminar de forma simultânea todas as sessões associadas com um determinado sujeito 2015/16 Gestão de Identidade e Aplicações 21 Federativas Bindings . Os bindings determinam a forma como as mensagens dos protocolos SAML são veiculadas pelos protocolos de transporte • HTTP Redirect Binding: . Utilização da directiva

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    28 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us