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.