Segurança, Criptografia e Arquivos Distribuídos

Classificado em Computação

Escrito em em português com um tamanho de 9,08 KB

Criptografia e aplicações

Criptografia – 1° utilizada para esconder informações privadas no local do sistema, onde só pode ser descriptografada com a chave específica que corresponde à chave inversa.

2° Comunicação

Comunicação entre partes do sistema – o agente que descriptografa uma mensagem usando a chave inversa autentica a mensagem decodificada como sendo proveniente de um agente específico.

3° Assinatura digital

Assinatura digital – simula o papel das assinaturas convencionais, verificando se a mensagem é uma cópia inalterada da produzida pelo agente específico. A habilidade depende de existir alguma ação que o emissor faça e que outros não possam reproduzir.

4° Autenticação

Autenticação – faz com que a identidade de clientes e servidores seja estabelecida de maneira confiável. O usuário precisa estar de posse da senha (ou credencial adequada) para entrar.

Mecanismo de autenticação

Mecanismo de autenticação:

  • Deve possuir as funcionalidades de geração, armazenamento e distribuição de todas as chaves necessárias para o sistema.

Controle de acesso

Controle de acesso consiste em disponibilizar os recursos de informação e hardware apenas para os usuários autorizados, apoiando-se em informações criptografadas e na autenticação dos agentes que se comunicam.

Firewalls

Firewalls – uma tabela configurada manualmente pelo administrador do sistema que define quais pacotes devem passar. Ex.: pacotes UDP/IP só devem entrar se forem destinados à máquina cps.orfg nas portas 10 e 20.

Pacotes no nível das aplicações

Filtragem no nível das aplicações:

Filtragem mais fina; inspeciona o conteúdo de cada pacote e normalmente é instalada no firewall.

Serviço de segurança CORBA

Serviço de segurança CORBA – especificações completas de serviços de segurança.

Requisitos do CORBA

  • Confiabilidade – a informação só está disponível a quem deve acessá-la.
  • Integridade – apenas usuários autorizados podem alterar informações.
  • Responsabilidade – as informações sobre alterações feitas por usuários são armazenadas para possível verificação posterior.
  • Disponibilidade – usuários autorizados podem acessar o serviço quando necessário.

Ameaças à segurança

Ameaças à segurança – usuários que acessam recursos que não devem, passando-se por outro usuário (usurpação de identidade).

Funcionalidades de segurança

Funcionalidades incluem:

  • Identificação (de usuários, objetos etc.) e autenticação;
  • Autorização e controle de acesso;
  • Delegação;
  • Auditoria (armazenar registros de atividades) — definir quais registros devem ser mantidos.

Lista de controle de acesso

Lista de controle de acesso (ACL):

São associadas a cada arquivo e descrevem quem pode acessá-los e com quais permissões.

Serviços de arquivos

Serviços de arquivos – podem usar modelos de upload/download (transferência completa do arquivo) ou de acesso remoto (acesso a partes do arquivo).

Sistemas de Arquivos Distribuídos (DFS)

DFS — arquivos distribuídos:

Múltiplos usuários compartilham arquivos e recursos de armazenamento.

Objetivos do DFS

Objetivos – suportar o compartilhamento de arquivos que estão fisicamente dispersos.

Fundamentos

Serviço – entidade de software executada em uma ou mais máquinas que fornece alguma função para os clientes.

Cliente – é um processo que pode invocar um serviço.

Servidor – software que fornece o serviço.

Serviço de arquivos – serviços de arquivos no modelo cliente–servidor.

Interface cliente

Operações básicas (interface cliente):

  • Criar arquivos;
  • Excluir arquivos;
  • Ler arquivos;
  • Gravar arquivos.

O principal componente que um servidor de arquivos controla é um conjunto de dispositivos de armazenamento secundário.

Desempenho

Desempenho — a medida de um DFS é a quantidade de tempo necessária para satisfazer os vários pedidos de serviço.

Comparação (componentes de tempo)

  • Clientes convencionais: tempo de acesso ao disco + processamento de CPU.
  • DFS: tempo de acesso ao disco + processamento de CPU + acesso remoto.
  • AR (acesso remoto): envio do pedido ao servidor + tempo de resposta.

Unidade de componente

Unidade de componente é utilizada para nomear o menor conjunto de arquivos que pode ser armazenado em uma máquina.

Nomeação

Nomeação é um mapeamento entre objetos lógicos e físicos.

DFS transparente oculta o local na rede onde o arquivo se encontra.

Transparência e independência de posição

Transparência de posição — o nome de um arquivo não revela qualquer posição física do arquivo no armazenamento.

Independência de posição — o nome de um arquivo não precisa ser alterado quando muda a posição do arquivo no armazenamento físico.

Separação de dados e transparências

Separação de dados — abstração para os arquivos.

Transparência estática — forma conveniente de compartilhar dados.

Independência de posição: separa a hierarquia de dispositivos das estruturas de comunicação entre processos.

Esquemas de nomeação

Esquemas de nomeação — os arquivos são nomeados com alguma combinação de nome de host e nome local.

NFS anexa diretórios remotos a diretórios locais, dando a impressão de uma árvore de diretórios coerente.

Transparência de nomes

Transparência de nomes — o nome completo dos arquivos não tem nenhuma parte que indique onde o arquivo está fisicamente. O arquivo pode ser realocado sem que seja preciso alterar o nome; isto é independência de localização.

Nomes em dois níveis

Nomes em dois níveis — nomes simbólicos e nomes binários: os diretórios mapeiam os nomes simbólicos em binários. O mapeamento pode retornar mais de uma localização.

Implementação remota

A implementação de um serviço remoto normalmente é feita por chamadas de procedimento remoto (RPC).

Caching

Caching — garante um desempenho razoável no mecanismo de acesso remoto e reduz I/O de disco.

Semântica de compartilhamento de arquivos

Necessária quando mais de um usuário compartilha o mesmo arquivo. No UNIX, a leitura deve retornar o valor mais recente do arquivo. O uso de cache melhora o desempenho, mas dificulta a manutenção da semântica UNIX; é preciso propagar todas as mudanças de volta ao servidor.

Replicação

Replicação — arquivos que são mantidos em mais de um servidor; questões: confiabilidade, disponibilidade e eficiência. O modo de replicação define se o sistema é ou não transparente à replicação.

Modelos de replicação

  • Replicação explícita: o programador controla o processo de criação de cópias, com o cliente enviando mensagens para os servidores envolvidos.
  • Replicação preguiçosa: o cliente envia mensagens para um servidor mestre que, quando possível, envia atualizações para outros servidores.
  • Por grupos: as mensagens são enviadas para todos os servidores simultaneamente.

Técnica e objetivos

Técnica de replicação — fundamental: vários elementos de um sistema distribuído mantêm cópias de um objeto.

Objetivos: aumento da disponibilidade (tolerância a falhas e desconexões) e melhoria do desempenho (balanceamento de carga).

Replicação pessimista e otimista

Replicação pessimista: ilusão de que existe apenas uma cópia de cada objeto; leituras exigem um estado único da réplica e escritas exigem coordenação.

Replicação otimista: cada réplica pode ser modificada independentemente; várias réplicas podem ter estados diferentes e exigem mecanismos de reconciliação.

Réplica primária e secundária

Réplica primária: mantida em um servidor.

Réplica secundária: pode ser mantida no cliente — isto é o caching.

Entradas relacionadas: