• Nenhum resultado encontrado

Sistemas Distribuídos: Conceitos e Projeto Controle de Acesso

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas Distribuídos: Conceitos e Projeto Controle de Acesso"

Copied!
22
0
0

Texto

(1)

Sistemas Distribu´ıdos: Conceitos e Projeto

Controle de Acesso

Francisco Jos´e da Silva e Silva

Laborat´orio de Sistemas Distribu´ıdos (LSD) Departamento de Inform´atica / UFMA

http://www.lsd.ufma.br

(2)

Introdu¸c˜

ao

Uma vez estabelecido um canal seguro de comunica¸c˜ao, um cliente

pode enviar uma requisi¸c˜ao ao servidor, o que normalmente envolve

uma chamada a um m´etodo espec´ıfico de um objeto;

A requisi¸c˜ao somente deve ser atendida caso o cliente possua o direito

de realizar esta invoca¸c˜ao;

Formalmente, a verifica¸c˜ao do direito de acesso ´e chamado controle

de acesso enquanto autoriza¸c˜ao refere-se `a atribui¸c˜ao dos direitos de acesso;

O controle de acesso envolve sujeitos que solicitam requisi¸c˜oes a um

objeto;

Um monitor de referˆencias armazena o que cada sujeito tem direito

de realizar e decide se a um dado sujeito ´e permitido realizar uma dada opera¸c˜ao.

(3)
(4)

Matriz de Controle de Acessos

Uma abordagem comum para modelar os direitos de acesso de sujeitos a objetos ´e atrav´es da matriz de controle de acessos; Cada sujeito ´e representado por uma linha na matriz e cada objeto

por uma coluna. Uma entrada M[s,o] lista as opera¸c˜oes que o sujeito

s pode realizar sobre o objeto o;

A matriz de controle de acessos n˜ao ´e implementada como uma

matriz, j´a que tipicamente ela ´e esparsa. Normalmente uma das

seguintes implementa¸c˜oes ´e utilizada:

1 Lista de Controle de Acesso (ACL): cada objeto mantˆem uma lista

de direitos de acesso dos sujeitos que podem acess´a-lo;

2 Capacidades: define o que um sujeito pode realizar em um dado

objeto. O portador da capacidade possui os direitos de acesso especificados na capacidade.

(5)

ACLs e Capacidades

(6)

Dom´ınios de Prote¸c˜

ao

Tanto listas de controle de acesso quanto listas de capacidades podem se tornar muito grandes;

Uma alternativa para a redu¸c˜ao de ACLs ´e o uso de dom´ınios de

prote¸c˜ao;

Um dom´ınio de prote¸c˜ao ´e um conjunto de pares (objeto, direitos

de acesso);

Cada requisi¸c˜ao ´e emitida no contexto de um dado dom´ınio;

Existem diversas abordagens para o uso de dom´ınios de prote¸c˜ao.

Uma delas ´e construir grupos de usu´arios. Os grupos podem ser mais

flex´ıveis caso possam ser hier´arquicos;

Toda vez que um usu´ario solicita o acesso a um objeto, o monitor de

referˆencia deve verificar a que grupo o usu´ario pertence e depois

(7)
(8)

Dom´ınios de Prote¸c˜

ao

Dom´ınios de prote¸c˜ao podem ainda ser implementados como pap´eis;

Neste caso, o usu´ario se registra no sistema com um papel espec´ıfico

que ´e normalmente associado `a fun¸c˜ao que o usu´ario exerce na organiza¸c˜ao;

(9)

Agrupamento Hier´

arquico de Objetos

Uma alternativa ao uso de dom´ınios de prote¸c˜ao ´e atrav´es do

agrupamento hier´arquico de objetos baseado nas opera¸c˜oes que eles

provˆeem, possivelmente utilizando um mecanismo de heran¸ca;

Quando um sujeito realizar uma requisi¸c˜ao a um objeto, o monitor de

referˆencias verifica a qual interface a opera¸c˜ao solicitada pertence (ao inv´es de procurar pelo objeto espec´ıfico) e se o sujeito possui o direito

(10)

Gerenciamento de Autoriza¸c˜

ao

Em sistemas centralizados, o gerenciamento de direitos de acesso ´e

facilitado pelo fato de todos os direitos de um novo usu´ario serem

relativos `a m´aquina local, podendo os mesmos serem especificados

pelo administrador do sistema;

Em um sistema distribu´ıdo, os recursos est˜ao espalhados em v´arias

m´aquinas e se a mesma abordagem fosse utilizada seria necess´ario

criar uma conta para cada usu´ario em todas as m´aquinas;

Esta quest˜ao pode ser simplificada atrav´es da cria¸c˜ao de uma ´unica conta em um servidor central que deve ser consultado toda vez que

(11)

Capacidades e Certificados de Atributos

Uma outra abordagem largamente empregada em sistemas distribu´ıdos ´e o uso de capacidades;

Uma capacidade ´e uma estrutura de dados para um recurso espec´ıfico que especifica os direitos de acesso de seu portador sobre o mesmo;

(12)

Capacidade em Amoeba

Server port corresponde a um identificador do objeto servidor do

recurso que ´e independente de m´aquina;

Object identifica o objeto no dado servidor. Os 72 bits relativos ao

server port e object formam o identificador ´unico de cada objeto

Amoeba;

Rights especificam os direitos de acesso do portador;

Check ´e utilizado para tornar a capacidade inesquec´ıvel,

(13)

Tornando a Capacidade Inesquec´ıvel

Quando um objeto ´e criado, o servidor escolhe um valor aleat´orio denominado check e o armazena tanto na capacidade quanto em suas tabelas internas;

Em uma nova capacidade, todos os bits dos direitos de acesso est˜ao

marcados como 1 e isto corresponde aos direitos do propriet´ario. Esta

capacidade ´e retornada ao cliente;

Para criar uma capacidade restrita, o cliente devolve a capacidade ao

servidor juntamente com uma m´ascara de bits contendo os novos

direitos;

O servidor recupera o check de suas tabelas, realiza um XOR do

mesmo com os novos direitos e executa uma fun¸c˜ao one-way ;

O servidor ent˜ao cria a nova capacidade colocando os bits de direito

enviados pelo cliente e o resultado da fun¸c˜ao no campo

(14)
(15)

Gera¸c˜

ao de capacide restrita no Amoeba

Quando o servidor receber de volta a capacidade restrita, ele

verificar´a atrav´es do campo de direitos que se trata de uma

capacidade restrita, realizar´a um XOR do check orginal (resgatado de

suas tabelas) com o campo de direito da capacidade e aplicar´a a

fun¸c˜ao one-way no valor resultante para verificar se o resultado da

fun¸c˜ao ´e o mesmo do campo check constante da capacidade;

Caso o usu´ario tente modificar o campo de direito da capacidade

(aumentando seus direitos), ele invalidar´a a capacidade, dado que o

(16)

Certificado de Atributos

Uma generaliza¸c˜ao de capacidades s˜ao os certificados de atributos

que listam pares (atributo, valor) para uma dada entidade;

Eles podem ser utilizados para controlar os direitos que o portador possui sobre o recurso identificado;

Assim como acontece com outros certificados, certificados de atributos s˜ao controlados por autoridades certificadoras de atributos.

(17)

Delega¸c˜

ao

Imagine a situa¸c˜ao: um usu´ario solicita a um servidor de impress˜ao

que um dado arquivo seja impresso `as 2 da manh˜a passando o nome

do arquivo a ser impresso;

O servidor de impress˜ao deve possuir direito de leitura sobre o arquivo;

O usu´ario deveria poder delegar temporariamente esse direito de

acesso ao arquivo;

Proxy no contexto de seguran¸ca ´e um token que permite ao portador operar com os mesmos (ou restritos) direitos e privil´egios que o sujeito que concedeu o token.

(18)

Delega¸c˜

ao: Primeira Abordagem

Alice deseja delegar direitos a Bob;

Ela constr´oi um certificado dizendo ”Bob possui direito R”, como

[A,B,R]A;

Se Bob desejar passar alguns de seus direitos `a Charlie, ele solicita ao mesmo que contate Alice solicitando um certificado apropriado; Neste caso, Alice deve conhecer todos.

(19)

Delega¸c˜

ao: Abordagem de Neuman

Outra abordagem:

Alice constr´oi um certificado contendo “o portador deste certificado

possui direito R”;

(20)

Delega¸c˜

ao: Abordagem de Neuman

O proxy possui duas partes: um certificado e uma parte secreta; Seja A o processo que criou o proxy;

A primeira parte do certificado ´e o conjunto C = {R,S

+ proxy},

consistindo do direito de acesso R delegado por A juntamente com a

parte p´ublica de um segredo que ´e utilizado para autenticar o

(21)
(22)

Delega¸c˜

ao: Abordagem de Neuman

Alice e Bob compartilham uma chave secreta KA,B;

Alice envia a Bob o certificado C = {R,S

+

proxy}, assinado com

sig(A,C), denotado por [R,Sproxy+ ]A. Esta mensagem n˜ao necessita

ser criptografada. Somente a parte secreta necessita de criptografia,

mostrada como KA,B(Sproxy− ) na mensagem 1;

Bob envia sua credencial ao servidor na forma do certificado assinado [R,S

+ proxy]A;

O servidor pode agora verificar que C n˜ao teve seus direitos de acesso

modificados j´a que foi assinado por Alice. No entanto, ele ainda n˜ao

sabe se Bob ´e o correto propriet´ario do certificado;

Para se assegurar disso, ele desafia Bob enviando N encriptado por Sproxy+ ;

Ao decriptar Sproxy+ (N) e retornar N, Bob prova que ele

Referências

Documentos relacionados

In: VI SEMINÁRIO NACIONAL DE PESQUISADORES DA HISTÓRIA DAS COMUNIDADES TEUTO-BRASILEIRAS (6: 2002: Santa Cruz do Sul).. BARROSO, Véra Lúcia

As relações hídricas das cultivares de amendoim foram significativamente influenciadas pela a deficiência hídrica, reduzindo o potencial hídrico foliar e o conteúdo relativo de

Técnicas de Esboço, Modelação 2D e 3D foram fundamentais na realização do estágio assim como noções de Ergonomia, noções de Projeto de Ambientes e

Promover medidas judiciais e administrativas visando responsabilizar os causadores de poluição ou degradação ambiental e aplicar as penalidades administrativas previstas em

A presente pesquisa tem potencial para ampliar os estudos sobre Literatura Brasileira na região Sul da Bahia, além de inovar o ensino da Literatura na Educação Básica, ao

• A carga das pilhas está baixa • Com a câmera ligada (lente para fora), troque as pilhas. Se a câmera estiver desligada, as luzes piscarão após

No código abaixo, foi atribuída a string “power” à variável do tipo string my_probe, que será usada como sonda para busca na string atribuída à variável my_string.. O

• Os municípios provavelmente não utilizam a análise dos dados para orientar o planejamento de suas ações;. • Há grande potencialidade na análise dos micro dados do Sisvan