Universidade Federal de São Carlos
Programa de Pós-Graduação
Tópicos em Sistemas Distribuídos e
redes: Privacidade e Personalização
Acesso a Sistema Anônimo com Controle
de Acesso Baseado em Credenciais
Aluno: Thiago de Medeiros Gualberto
Professor: Sérgio Donizetti Zorzo
Agenda
 Introdução
 Modelos de Controle de Acesso
 Conceitos Básicos
 Discricionário
 Obrigatório
 Simple Distributed Security Infrastructure – SDSI
 Simple Public Key Infrastructure – SPKI
 SPKI/SDSI
 Name cert
 Auth cert
 Delegação de direitos x LCA’s
 Revogação de Direito
 Aplicação
 Conclusão
 Referências
Introdução
 A popularidade das tecnologias de redes sem fio,
aliado à evolução dos computadores e o crescente
número de dispositivos fixos e portáteis pertencentes
a um usuário, os quais compartilham recursos entre
si, introduziram novos conceitos e geraram novos
desafios na área de redes e segurança da informação;
 Em um sistema baseado em senhas, o usuário é
cadastrado juntamente com o registro de uma senha.
O cadastro do usuário e senha estabelece a relação
inicial de confiança entre o sistema e o usuário. O
mesmo ocorre em sistemas baseado em certificados,
quando um certificado é emitido para um usuário uma
relação de confiança é estabelecida e o parâmetro de
autenticação é definido;
Introdução
 Muitos conceitos de segurança já foram
estudados e aplicados em sistemas, como os
modelos controle de acesso obrigatório (MAC),
discricionário (DAC), baseado em papéis (RBAC),
assim como outros modelos de controle de
acesso.
 Conceitos como SSL e certificados digitais
também passaram a ser muito utilizados
principalmente para garantir a confidencialidade,
integridade e autenticidade das informações.
Mesmo assim, a aplicação destes conceitos nem
sempre impede que usuários do sistema efetuem
procedimentos abusivos ou até impróprios, caso
não existam políticas de segurança específicas
para este fim.
Introdução
 O processo de identificação em sistemas
computacionais consiste de um conjunto de
procedimentos e mecanismos que permitem que
agentes externos (usuários, dispositivos, etc)
sejam identificados como principais autorizados
segundo as políticas de segurança adotadas no
sistema;
 Autenticação e Autorização;
 Tarefa complexa;
 Serviços de nomes, comunicação, etc..
 Segundo Neuman (1994), um sistema é dito
escalável se ele puder tratar a adição de usuário
e recursos sem sofrer uma perda notável de
desempenho;
Modelos de Controle de Acesso
Conceitos Básicos
 Autenticação, Confidencialidade, Controle de Acesso,
Disponibilidade, Integridade;
 Limitar as ações ou operações que um usuário legítimo de
um sistema de computação pode desempenhar baseado em
autorizações verificadas no momento do acesso (SANDHU,
1994);
 Não pode ser visto com um serviço isolado, pois ele
interage com os outros serviços para prover segurança;
 Atua sobre confidencialidade quando permite que dados
sigilosos sejam acessíveis apenas a usuários autorizados.
 Protege a integridade dos dados quando não permite a sua
alteração não autorizada.
Modelos de Controle de Acesso
Conceitos Básicos
 Autenticação:
 Processo de identificação seguido de uma verificação de
identidade;
 Segundo JOSHI (2001) exerce uma função primordial no
controle de acesso;
 Identidade do requisitante pode ser garantida;
 Necessária para aplicação correta das regras de autorização.
Modelos de Controle de Acesso
Conceitos Básicos
 Autorização:
 Verificação da existência de uma permissão, ou ausência de
uma restrição, para um requisitante atuar sobre um objeto do
sistema;
 Conceder ou não o acesso para um requisitante;
 Regra de autorização incorretamente inserida pode acarretar
sérios danos ao sistema de segurança:
• Permitindo acesso não autorizado;
• Impedindo o acesso por uma entidade legítima.
 A administração das autorizações deve ser conduzida sobre o
requisito rígidos de segurança.
Modelos de Controle de Acesso
Conceitos Básicos
 Auditoria:
 Processo através do qual é possível rastrear uma ação no
sistema;
 Requer o registro (logging) de todas as requisições e atividades
realizadas para sua futura análise;
 Segundo Sandhu (1994), controle de auditoria pode ser útil tanto
para inibir a violação da segurança por entidades legítmas
quanto para analisar o comportamento das entidades e
descobrir possíveis violações;
 Auxiliar na determinação de possíveis falhas no sistema de
segurança.
Modelos de Controle de Acesso
Conceitos Básicos
 Componentes envolvidos no controle de acesso:
Veturini, 2006.
Modelos de Controle de Acesso
Modelo Discricionário (DAC)
 Devido a sua flexibilidade é um dos modelos mais
utilizados;
 Controla o acesso das entidades baseado na identidade do
requisitante e nas regras de autorização;
 (SANDHU, 1994) - Definidas para cada entidade, ou grupo
de entidades, sobre cada objeto do sistema que a entidade
tem acesso;
 Cada requisição de acesso do requisitante é verificada
sobre cada regra de autorização definida;
 Autorizações são definidas em listas de controle de acesso
(LCA), localizadas junto ao objeto protegido.
Modelos de Controle de Acesso
Modelo Discricionário (DAC)
 Segundo Joshi (2001), esse tipo de modelo considera que o
objeto protegido pertence a uma entidade do sistema, a
qual tem direito de definir ou revogar autorizações para
outras entidades, ou grupo de entidades;
 Suporta autorizações positivas ou negativas;
 Define permissões;
 Define bloqueios;
Modelos de Controle de Acesso
Modelo Discricionário (DAC)
 Modelo fechado ou aberto;
 Baseados em autorizações positivas explicitamente
especificadas, caso nenhuma autorização explicita seja
encontrada o acesso é bloqueado;
 Autorizações negativas explicitamente especificadas.
 Acesso liberado se nenhum bloqueio for especificado.
 Autorizações devem ser especificadas para cada entidade
(ou grupo) e para cada objeto do sistema;
 Combinação dos tipos de autorização permite a
especificação de permissão ou bloqueio;
Modelos de Controle de Acesso
Modelo Obrigatório (MAC)
 Origem na área militar e de segurança nacional;
 Controle de acesso baseado na classificação de
entidade e objetos no sistema;
 Um nível de segurança é atribuído a cada
entidade e objeto no sistema;
 Reflete a confiança de que a entidade não revelará
informações confidenciais a entidades não
autorizadas;
 Quão crítica é a segurança da informação mantida
pelo objeto;
 Tem como objetivo controlar o fluxo de
informações, de forma a garantir a
confidencialidade e integridade da informação.
Modelos de Controle de Acesso
Modelo Obrigatório (MAC)
Níveis de Segurança
Máxima (MA)
Média (ME)
Baixa (BA)
Sem Restrições (SR)
• Um NS domina seu
nível e todos os níveis
abaixo na hierarquia;
• Como é garantido a
confidencialidade?
Modelos de Controle de Acesso
Modelo Obrigatório (MAC)
 Mecanismo de segurança em multi-níveis - Bell-LaPadula;
 Utiliza regras de bloqueio de leitura para objetos com níveis de
segurança acima do nível do requisitante e bloqueio de escrita
para objetos com níveis de segurança abaixo do nível do
requisitante.
 Garantir que informações não fluam de um nível de
segurança mais alto para um nível de segurança mais
baixo;
 Se sobrescrever dados em objetos de nível mais elevado?
Modelos de Controle de Acesso
Modelo Obrigatório (MAC)
• Nível de segurança atribuído
ao objeto relativo à
integridade está associado
ao grau de confiança que
pode ser depositado na
informação armazenada, ou
de outra forma o potencial
dano que poderia ser
causado por uma
modificação não autorizada;
• Como garantir a
integridade?
Níveis de Integridade
Essencial (E)
Importante (I)
Desnecessária (D)
Modelos de Controle de Acesso
Modelo Obrigatório (MAC)
 Não é permitir o fluxo de informações de baixa garantia de
integridade para objetos que precisam de alta garantia de
integridade;
 Não proteger o sistema de atividades maliciosas executadas
por entidades autênticas, mas sim proteger o sistema de
atividades maliciosas que possam ser executados pelas
aplicações utilizadas por essas entidades;
Simple Distributed Security Infrastructure
 SDSI foi proposto em 1996 por Lampson e Rivest;
 Espaço de nomes descentralizados;
 proprietário de cada chave pública poderia criar um
espaço de nomes local relativo a esta chave;
 poderiam ser conectados de uma maneira flexível a
fim de possibilitar a criação de cadeias de
autorização e definir grupos de principals
autorizados;
Simple Public Key Infrastruture
 SPKI;
 Modelo de autorização simples e flexivel;
 Bem definido e de fácil implementação;
 Identificar keyholders através de uma chave
pública (ou hash desta chave) e então
vincular autorizações a ela;
 Uso de namespaces locais;
 Motivação para desenvolver SDSI e SPKI:
 complexidade e falta de flexibilidade da ICP
baseadas em hierarquias de nomes globais,
como o X.509;
SPKI/SDSI
 União do SDSI e SPKI em 1997 – SPKI/SDSI;
 Sistema de autenticação e autorização para
aplicações distribuídas;
 Principal é representado por uma chave pública e
não por um indivíduo;
 Chave pública é mais estável que um nome;
 Segundo Elien (1998) é extremamente
improvável devido a chaves de 1024 bit –
aproximadamente 309 dígitos;
 Na década de 90 foi formado na IETF o grupo de
trabalho SPKI;
 Organização que desenvolve padrões para
transferência de informação na internet – RFC
3160;
 Refinamento e evolução do SPKI;
SPKI/SDSI
 SPKI/SDSI utiliza-se um local name space
associado a cada chave pública;
 Nome local é um par composto por uma chave
pública e um identificador.
 Ex. kx Thiago
 Nomes locais em diferentes espaços de nomes
são independentes entre si, mesmo que utilizem
o mesmo identificador;
 Proprietário da chave pública é quem decide que
tipo de identificador ele deseja utilizar para
atribuir nomes no seu espaço local;
 nomes de pessoas, apelidos, números de telefones,
funções organizacionais ou nomes de grupos;
SPKI/SDSI
 Exemplo chaves públicas no SPKI/SDSI:
SPKI/SDSI – name certs
 Certificados de nome – name certs;
 Publicar nomes locais, permitindo assim que outros principais
possam chegar à chave pública do nome definido localmente;
 Pode associar um nome à uma chave pública, a outro nome
dentro do espaço de nomes local do próprio emissor, ou ainda, a
outro certificado de nome em um espaço de nomes de outro
principal, formando assim as correntes de certificados.
SPKI/SDSI – name certs
 Estrutura assinada pela chave privada do emissor e
representada por (I, N, S, V):
 Issuer (I): chave pública do emissor, que assina o
certificado com a respectiva chave privada.
 Name (N): identificador que justamente com a chave
do emissor define o nome local “ks Alice”, que
pertence ao espaço de nomes local da chave ks.
 Subject (S): é o sujeito (identificado por uma chave
ou um nome) representado pelo nome local “ks
Alice”.
 Validity dates (V): é a especificação de validade do
certificado na forma (T1, T2), representando que o
certificado é válido do tempo T1 até o tempo.
SPKI/SDSI – name certs
 Representação de um name cert:
Milanez, 2003.
SPKI/SDSI – name certs
 A divulgação de nomes no SPKI/SDSI pode ser
feita através de redes de confiança formadas por
certificados de nomes ligados por encadeamento
de referências. Para efeitos de autorização, estas
correntes de nomes devem ser reduzidas a uma
chave pública a qual representa o principal que
está sendo referenciado;
 “KeN -> S”, onde Ke é a chave do emissor “e”,
“N” é o nome que foi definido dentro do espaço
de nomes local de Ke, e “S” representa o sujeito,
o qual será referenciado pelo nome “N”;
SPKI/SDSI – auth cert
 Certificados de autorização – auth cert;
 Associar autorizações a um nome ou a uma chave.
 O emissor delega permissões de acesso a outros principais no
sistema.
 Estrutura da forma (I, S, D, A, V):
 Issuer (I): é a chave pública do emissor (issuer) que assina o
certificado. O emissor é quem concede a autorização.
 Subject (S): é um nome ou chave pública que representa o
sujeito beneficiário da autorização.
 Delegation (D): é o bit de delegação que quando assinalado
como verdadeiro garante ao sujeito permissão para delegar a
autorização que está recebendo.
 Authorization (A): é a especificação de autorização que define
as permissões que estão sendo concedidas pelo emissor para o
sujeito.
 Validity dates (V): é a especificação de validade do certificado
na forma (T1, T2), representando que o certificado é válido do
tempo T1 até o tempo T2.
SPKI/SDSI – auth cert
Representação de um auth cert:
Milanez, 2003.
SPKI/SDSI – auth cert
 Um certificado de autorização não invalida
outros, sendo, portanto o seu efeito cumulativo.
Como não existem certificados negativos, uma
permissão concedida permanece válida até que
os certificados envolvidos expirem ou tornem-se
inválidos.
 Em SPKI/SDSI os certificados de autorização e de
nomes se integram da seguinte maneira:
 enquanto os name certs são utilizados para vincular
nomes simbólicos às chaves públicas (ou outros
nomes), os auth certs são responsáveis por autorizar
operações a elas.
SPKI/SDSI – auth cert
 Uma das principais características da SPKI é a
possibilidade de delegação de autorizações
presente nos certificados de autorização.
 campo delegação é do tipo booleano e tem a
função de permitir que a autorização concedida
por um principal A para um principal B através de
um certificado possa ser repassada total ou
parcialmente a um principal C (assim como o
poder de delegação), desde que o certificado
emitido para B contenha o bit de delegação com
o valor verdadeiro.
 Caso um principal possua um certificado que lhe
conceda uma determinada autorização, mas com
o bit de delegação com valor falso, este não
poderá delegar a autorização recebida para outro
principal.
SPKI/SDSI – auth cert
 Representação de Delegação de autorização:
SPKI/SDSI – auth cert
 Threshold Subjects:
 Utilizado somente nos auth certs;
 Provê tolerância a faltas através do TS;
 Determina que K dentre N sujeitos devem assinar um pedido ou
uma delegação, para que o mesmo seja válido;
 Chave pública, nome, grupo;
 Número mínimo de sujeitos assinem uma delegação para que a
mesma seja considerada válida;
SPKI/SDSI – auth cert
 Três situações de uso do Threshold Subject:
Delegação de direitos x Lista de controle de acesso
 Sistema prático dirigido ao problema de
assegurar que um usuário esteja autorizado a
executar uma ação e não ao problema de
primeiro identificar o usuário;
 Permite maior flexibilidade no compartilhamento
de recursos através das delegações, indo em
contraste com os sistemas de autenticação
baseados em infra-estruturas convencionais de
chaves públicas juntamente com autorização
através de LCA convencionais, construídas a
partir de nomes de principais;
 Infra-estrutura convencional de chaves públicas;
Delegação de direitos x Lista de controle de acesso
 No SPKI não existe AC, e cada principal está apto a emitir
um certificado de autorização, podendo então o próprio
servidor S emitir um certificado de autorização para o
principal U e assim o uso da LCA torna-se desnecessário, já
que no momento do acesso U informa os certificados
delegados necessários que possui, e com isto basta ao
servidor verificar a autenticidade do pedido e os direitos
que este possui.
Revogação de Direitos
 Certificados SPKI/SDSI e as entradas nas LCA, possuem um
campo opcional que determina o período de validade dos
mesmo;
 Proporciona outros meios para garantir a validade dos
certificados/entrada através de “verificações on-line”;
 Lista de Certificados Revogados – LCR’s.
 LCR’s invalidam certificados antes de suas datas de
expiração;
 Comprometimento da chave, a qual o certificado faz referência;
Revogação de Direitos
 LCR’s não resolve por completo o problema a qual foram
designadas, pois o considerável e variável atraso entre o
emissor da LCR que deseja notificar a revogação de algum
certificado e seus clientes/servidores invalidariam o uso das
mesmas;
 Segundo Gerck (2000), TLS/SSL estão próximas do desuso
completo as LCR’s;
Que medida tomar para revogação de direitos?
Revogação de Direitos
 Segundo Rivest (1998), emissão de certificados SPKI/SDSI
com um curto período de vida;
Controle de Acesso Baseado em Credencial - Aplicação
 Controle de acesso baseado em credenciais para aplicações
em serviços web semânticos;
 Agarwal, Sprick e Wortmann;
 Ambiente aberto, distribuído, descentralizado, dinâmico e
interoperável;
 Garantia autônoma de direitos de acesso e tomadas de
decisão baseados em estruturas de confiança
independentes;
 DAML’S – Darpa Agent Markup Language;
 Linguagem para definição de ontologias;
Controle de Acesso Baseado em Credencial - Aplicação
SPKI/SDSI;
Infra-estrutura de chaves públicas
simples, com suporte a certificados de
delegação de autoridade e possibilidade de
utilizar um espaço de nomes
independentes (não global) para
certificados;
Modelo definido com o uso de ontologias;
Especificação formal de termos em um
domínio e as relações entre eles
(GRUBER,1993), estabelecendo uma
linguagem comum para a troca de
conhecimento;
Controle de Acesso Baseado em Credencial - Aplicação
Define uma ontologia para serviços,
credenciais e LCA’s, sendo que, uma LCA
está relacionada com credenciais através
de uma condição de controle de acesso;
Pré-condição para disparar o processo
para utilização de serviços;
Credenciais SPKI/SDSI são vinculadas à
chave pública e não à identidade,
permitindo a privacidade do usuário;
Servidores podem emitir credenciais e
definir sua estrutura de confiança de
forma independente;
Controle de Acesso Baseado em Credencial - Aplicação
 Baseado em autorização e não em autenticação;
 Posse da credencial e seus atributos é que define os direitos
de acesso, não a identidade do possuidor da credencial;
Conclusão
Referência
 Elien, J.-E. (1998). Certificate discovery using SPKI/SDSI 2.0
certificates. Master’s thesis, MIT;
 Gerck, E. (2000). Overview of certification systems: X.509, CA,
PGP and SPKI;
 GRUBER, T. R. – A Translation Approach to Portable Ontology
Specification. Thecnical Report KSL 92-71, 1993. Knowledge
System Laboratory, Computer Science Department Stanford
University, Stanford, California, USA, 1993;
 JOSHI, J. B. D.; AREF, W. G.; GHAFOOR, A. and SPAFFORD,
E. H. – Security Models for Web-based Applications.
Communications of the ACM, February 2001, vol. 44, No. 2;
 Milanez, Marcello H. T. Uso de Cadeias de autorização SPKI na
segurança de redes sem fio IEEE 802.11. Dissertação de Mestrado
da Universidade Católica do Paraná. Curitiba, 2003;
 Neuman, B. C. (1994). Readings in Distributed Computing
Systems, chapter Scale in distributed systems, pages 463–
489. IEEE Computer Society, Los Alamitos, CA;
Referência
 Rivest, R. L. (1998). Can We Eliminate Certificate
Revocations Lists? In Financial Cryptography, pages 178–
183;
 SANDHU, R., “Lattice-based access control models”. IEEE
Computer, 26(11) 9-19, 1994;
 Venturini, Yeda R. MOS – Modelo Ontológico de Segurança
para negociação de políticas de controle de acesso em
Multidomínios. Tese de Doutorado. Escola Politécnica da
Universidade de São paulo. São Paulo, 2006;
Bibliografia
 P.Nikander, L.Viljanen, "Storing and Retrieving Internet
Certificates", in: S.Knapskog, T.Brekne, Proceedings of the Third
Nordic Workshop on Secure IT Systems, Trondheim, 5-6
November, 1998,
http://www.tcm.hut.fi/~pnr/publications/Nordsec-98.pdf;
 Tuomas Aura, Carl Ellison, "Privacy and Accountability in
Certificate Systems", Research Report A61, Laboratory for
Theoretical Computer Science, Helsinki University of Technology,
Espoo, Finland, April 2000,
http://saturn.hut.fi/Publications/papers/aura/HUT-TCS-A61.pdf;
 Mello, Emerson R. “Um tutorial sobre SPKI/SDSI Simple Public
Key Infrastructure/Simple Distributed Security Infrastructure”,
Dep. De Automação e Sistemas, Universidade Federal de Santa
Catarina;
Download

PowerPoint Template