Lista de Exercios I

Share Embed Donate


Short Description

Uploaded from Google Docs...

Description

Universidade Estadual de Feira de Santana Departamento de Tecnologia Disciplina: Sistemas Distribuídos Avançados Profa. Elisângela Oliveira Carneiro Semestre 2012.2 Exercícios

1. Cite tipos de recurso de hardware e recursos de dados ou softwares que possam ser compartilhados com sucesso. Dê exemplos práticos de seu compartilhamento em sistemas distribuídos. Recursos de software: Arquivos, banco de dados Recursos de hardware: Disco, impressoras, memória Exemplo: Compartilhamento de arquivos no google docs através da internet ou o compartilhamento de uma impressora entre vários computadores de um escritório.

2. Como os relógios de dois computadores ligados por uma rede local podem ser sincronizados sem referência a uma fonte de hora externa? Dois relógios ligados por uma rede local podem ser sincronizados sem uma fonte de hora externa, pois , sendo síncrono, é possível saber os limites da taxa de derivação dos relógios, o atraso máximo de transmissão de mensagens e o tempo que leva para executar cada etapa de um processo e a técnica que torna isso real chama-se relógios lógicos. Um processo envia o tempo t de seu relógio local para o outro em uma mensagem m, pois o receptor se programaria para configurar o seu com o tempo t + Tmin, onde Tmin é o tempo necessário para levar a mensagem m de um para o outro, ocorrendo sincronia perfeita entre eles. Entretanto Tmin pode sofrer uma variação desconhecida devido às variáveis que podem influenciar na queda do desempenho da rede(concorrencia pelo canal de comunicação, por exemplo), mesmo assim, Tmin pode ser estimado considerando o canal sempre acessível, ou seja, livre de congestionamentos.  Além do Tmin, também existe um limite máximo de tempo para a transmissão da mensagem. Sendo a incerteza igual a Tmax - Tmin, o receptor pode configurar o seu relógio no ponto médio da incerteza, ou seja, somar o tempo t que demorou com o Tmax e o Tmin, sendo o desvio de no máximo a incerteza dividida por dois. Quais fatores limitam a precisão do procedimento que você descreveu? O principal fator é a taxa de desvio do relógio ou também chamado de drift  dos computadores conectados na rede que são desvios dos relógios dos computadores que são calculados a partir de um modelo de relógio perfeito

Como os relógios de um grande número de computadores conectados pela Internet poderiam ser sincronizados? Discuta a precisão deste procedimento. Embora seja possível alcançar consenso é impossível obter sincronização através de sistemas assíncronos. 3. Faça as suas considerações sobre questões como: heterogeneidade, openess, transparência de distribuição e escalabilidade em sistemas distribuídos. Heterogeneidade: Está muito relacionada com a migração de código ou código móvel, pois a heterogeneidade está atrelada à execução de programas em quaisquer  plataformas como a linguaguem java, pois os programas em java são feitos para rodarem em máquinas virtuais java, e não para um conjunto de processadores e sistemas operacionais específicos. Portanto a heteregoneidade é a capacidade do sistema permite o acesso a serviços e executarem aplicativos de um conjunto de computadores e redes diferentes. Heterogeneidade: Usuários podem acessar serviços e executarem aplicativos de um conjunto de computadores e redes diferentes (heterogênios). Openness: Ou sistema aberto é quando um sistema computacional pode ser estendido e reimplementado de várias maneiras. Um sistema aberto é determinado principalmente pela capacidade de atrelar novos serviços e disponibilizá-los para mais clientes. Porém para alcançar esse tipo de característica, é necessário padronização como feitos pelos projetistas de protocolos Internet através de emissão de documentos chamados Request For Comments (RFC). Transparência de distribuição: Ocultação, para o usuário final ou para um programador de aplicativos, da separação dos componentes em um sistema distribuído de modo que o sistema seja percebido como um todo, em vez de uma coleção de componentes independentes. Existem vários tipos de transparencias, são elas: De acesso De localização De concorrencia De replicação De falhas De mobilidade De desempenho De escalabilidade ● ● ● ● ● ● ● ●

Escalabilidade: A escalabilidade é identificada se um sistema permanece eficiente quando há um aumento significativo no número de recursos e no número de usuários, sendo assim, o sistema seria capaz de manter a qualidade de serviço mesmo com um numero

maior de requisições, assim como, expandir facilmente a quantidade de servidores aumentar a capacidade de processamento da quantidade de requisições.        

 As duas transparência transparênciass que afetam afetam mais fortemente fortemente a utilização utilização de recursos recursos dos sistemas sistemas distribuídos, são a de acesso(exemplo, acesso remoto a arquivos) e a de localização(exemplo, URLs). Existe um termo muito utilizado que é a transparência de rede indicando quando a de acesso e a de localização estão presentes ao mesmo tempo em um sistema.           

Fornecer uma abstração de programação, assim como o mascaramento da heterogeneidade das redes, de sistemas operacionais e linguagens de programação subjacentes como a biblioteca RMI do Java.  -           

São basicamente três técnicas: Uso de dados replicados (Replicação) É amplamente usada e é o segredo da eficácia dos sistemas distribuídos, pois ela pode fornecer um melhor desempenho, alta disponibilidade e tolerância a falhas devido ao armazenamento de dados em vários servidores distintos como a cache dos navegadores e dos servidores proxy, pois são mantidas cópias uns dos outros. Associada a uso de cache (Ocultar latência de comunicação)  A ideia é reduzir comunicação global, passando parte da computação computação do servidor para o cliente que está requerendo o serviço. O código e o agente móvel podem ser utilizados para implementar essa técnica. Distribuição Essa técnica visa particionar o conjunto de objetos nos quais o serviço é baseado e os distribui ou então mantém cópias duplicadas deles em vários hospedeiros. A arquitetura peer-to-peer exemplifica muito bem esses dois aspectos da distribuição. ●





7. Os sistemas distribuídos mais dinâmicos surgem a partir de variações do modelo cliente-servidor. Cite exemplos dessas variações e descreva sistemas onde o uso destas variações são mais apropriados. Clientes leves Chamados de terminais burros, se referem a uma camada de software em um computador local, que oferece uma interface para que possa executar  aplicativos em um computador remoto, sendo assim, todo o código é executado ●











em um servidor com grande capacidade de processamento de várias tarefas simultâneas. A nossa biblioteca possui clientes leves para consulta de material disponível no acervo. Serviços fornecidos por vários servidores Os serviços podem ser implementados como vários processos servidores em diferentes computadores hospedeiros, interagindo conforme for necessário. Um cluster é uma forma bastante comum de implementação de sistemas web que necessitam oferecer um grande grau de escalabilidade e que se encaixa nessa variação. Servidores Proxies e cache  Assim como a cache de um processador, processador, a caches em sistemas distribuídos são utilizadas para guardar cópias de objetos em um local mais próximo, afim de melhorar o tempo de resposta do sistema, guardando objetos recentemente utilizados. Os navegadores implementam esse conceito de cache pois eles armazenam localmente, uma cache de páginas recentemente visitadas. Os servidores proxy fornecem uma cache compartilhada de recursos web para máquinas clientes de um ou vários sites, aumentando a disponibilidade e o desempenho do serviço, reduzindo a carga sobre a rede remota e sobre os servidores web. A universidade possui servidores proxy que acessam servidores web através de um firewall. Código móvel São códigos aplicativos que são baixados pela maquina cliente para posterior execução de forma local. Os Applets java são um exemplo bem claro de códigos aplicativos. Alguns jogos feitos em java através da applets são bastante usados pois, ao executar um código localmente, a resposta pode ser bem rápida, pois não sofre os atrasos, nem a variação da largura de banda associada à comunicação na rede. Vale ressaltar que o código móvel pode representar uma ameaça de segurança para o usuário então os navegadores limitam os recursos locais que podem ser utilizados pelos applets. Agentes móveis Um agente móvel é um programa em execução(código e dados) que passa de um computador para outro em um ambiente de rede, realizando uma tarefa em nome de alguém, como uma coleta de informações, e finalmente retornando com os resultados obtidos a esse alguém. Os web crawlers  acessam recursos em servidores web em toda a Internet e que funcionam com muito sucesso e são muito utilizados por sites de busca como o Google. No caso do agente móvel(assim como o código móvel), podem ser uma ameça em potencial à segurança e assim que um computador recebe um agente móvel, deve decidir, com base na identidade do usuário, quais recursos locais ele pode usar. Computadores de rede Os computadores em rede são compostos de sistema operacional e aplicativos necessários para o usuários, sendo carregados a partir de um servidor  remoto. O aplicativos são executados localmente mas os arquivos são gerenciados pelo servidor de arquivos remotos.



Dispositivos móveis e interoperabilidade espontânea São associações entre dispositivos que são rotineiramente criadas e destruídas. Isso ocorre devido ao aumento da quantidade de dispositivos móveis capazes de se comunicar através de rede sem fio e como esses dispositivos se movimentam, tem-se um grande problema de transparência de mobilidade atrelada.

8. Em sistemas distribuídos, existem três modelos que são considerados fundamentais. Quais são eles? Explique cada um deles. 1 Modelo de Interação: A computação é feita de processos que interagem por  mensagens resultantes gerando uma comunicação e coordenação entre estes processos. Ele deve refletir as falhas e atrasos que são gerados por elementos como falta de noção de um tempo único, assincronissidade da maioria das redes, ordenação de eventos. 2 Modelo de Falha: Define e classifica tipos de falhas com base na análise de seus efeitos potenciais, assim possibilitando uma busca por um tratamento de seus efeitos e falhas. As falhas podem ser por omissão, em Pepperlands, por omissão em canais, arbitrárias ou bizantinas, de temporização (ocorre apenas em sistemas sincronos), 3 Modelo de Segurança: Tem por objetivo tornar seguro os processos e canais de comunicação onde passam as transações do sistema que possui os recursos e objetos compartilhados de um usuário, que não quer que usuários não autorizados tenham acesso. As origens das ameaças são: Do invasor, que é capaz de ler, copiar, alterar e excluir uma mensagem ou informação.  Algumas técnicas permitem a implementação implementação de sistemas distribuidos distribuidos seguros, elas são, criptografia e segredos compartilhados, autenticação e utilização de canais seguros. Entretanto ainda se procura meios para solucionar os problemas de negação de serviço e código móvel. 9. Liste os três principais componentes de software que podem falhar quando um processo cliente invocar um método em um objeto servidor. Dê um exemplo de falhas para cada caso. Sugira a maneira como os componentes podem ser feitos para tolerar as falhas uns dos outros. 1 Reatividade (tempo de resposta): Os sistemas devem ter poucas camadas de software e minimizar transferência de dados entre o cliente-servidor. 2 Taxa de rendimento (Capacidade do sistema realizar o trabalho): Implantar  computadores que consigam dar conta das requisições e ter uma boa infraestrutura de rede. 3 Balancemento de carga (Aplicativos e processos de serviço executem concomitantemente): Deve-se evitar disputa do mesmo recurso e explorar as capacidades computacionais disponiveis, pode-se também usar migração de tarefas parcialmente concluidas.

10. Um serviço é implementado por vários servidores. Explique por que recursos poderiam ser transferidos entre eles. Seria satisfatório que os clientes fizessem uma difusão seletiva (multicast) de todos os pedidos para o grupo de servidores como uma maneira de se obter transparência de mobilidade? Recursos podem ser transferidos entre os varios servidores porque existe uma transparencia de quem possui o recurso, ou seja, o compartilhamento dos recursos acontece em um nível de abstração mais alto e é transparente ao usuário. É interessante o multicast dos usuários entre os varios servidores do sistema, caso esses de fato possuam o mesmo serviço (como por exemplo a redundância de dados) pois os servidores correm menos risco de ficarem sobrecarregados, além da tolerância à falhas caso algum dos servidores pare de funcionar por falha de rede ou de processo. 11. Descreva e ilustre a arquitetura cliente-servidor de um aplicativo importante de Internet (por exemplo, web, correio eletrônico, ...). Diga como os servidores cooperam no fornecimento de um serviço.

É um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores. Cada instância de um cliente pode enviar requisições de dado para algum dos servidores conectados e esperar pela resposta. um navegador da web é um programa cliente em execução no computador de um usuário que pode acessar informações armazenadas em um servidor web na Internet. Usuários de serviços bancários acessando do seu computador usam um cliente navegador da Web para enviar uma solicitação para um servidor web em um banco. Esse programa pode, por sua vez encaminhar o pedido para o seu próprio programa de banco de dados do cliente que envia uma solicitação para um servidor de banco de dados em outro computador do banco para recuperar as informações da conta. O saldo é devolvido ao cliente de banco de dados do banco, que por sua vez, serve-lhe de volta ao cliente navegador exibindo os resultados para o usuário. O modelo cliente-servidor, se tornou uma das ideias centrais de computação de rede. Muitos aplicativos de negócios a serem escrito hoje utilizam o modelo cliente-servidor. Em

marketing, o termo tem sido utilizado para distinguir a computação distribuída por  pequenas dispersas computadores da "computação" monolítica centralizada de computadores mainframe. Cada instância de software do cliente pode enviar requisições de dados a um ou mais servidores ligados. Por sua vez, os servidores podem aceitar esses pedidos, processá-los e retornar as informações solicitadas para o cliente. Embora este conceito possa ser  aplicado para uma variedade de razões para diversos tipos de aplicações, a arquitetura permanece fundamentalmente a mesma.

12. Frequentemente, os computadores usados nos sistemas peer-to-peer são computadores utilizados nos escritórios ou nas casas dos usuários. Quais são as implicações disso na disponibilidade e segurança dos objetos de dados compartilhados que eles contêm e até que ponto qualquer vulnerabilidade pode ser superada por meio da replicação? Quanto à disponibilidade, se nenhum usuário que possua certa parte do arquivo estiver conectado na rede nenhum outro usuário que esteja fazendo download desse arquivo conseguirá completar todas as partes. A centralização do serviço em um único computador não favorece aumento da escala do sistema. Quanto à segurança, nas redes peer-to-peer esse quesito não é predominante. Existem problemas de dados corrompidos, latência de transferencia, transferencia não confiável, etc., além do problema de negação de serviço. Pode-se utilizar autenticação e criptografia para amenizar os problemas de segurança.  A vulnerabilidade vulnerabilidade na disponibilidade disponibilidade pode ser solucionada solucionada utilizando a replicação de dados por servidores, transformando esses em seeds  e sendo utilizado por todos os usuários da rede. O problema nesse caso se resume à velocidade de transferência desses servidores para prover o serviço aos clientes da rede. 13. Dê exemplos de aplicações onde o uso de código móvel seja vantajoso. 1 Deixa que o cliente processe a parte pesada, economizando o processamento do servidor. 2 Internet Banks: 3 applets 14. Dê alguns exemplos de falhas no hardware e no software que possam/não possam ser toleradas pelo uso de redundância em um sistema distribuído. Até que ponto o uso de redundância nos casos apropriados torna um sistema tolerante à falhas. Uma falha de disco em um dos servidores pode ser solucionada utilizando a redundância de dados, onde o cliente poderá se conectar a outro servidor que contenha o mesmo dado que ele deseja ter acesso. Uma falha física na rede (cabo quebrado por exemplo) pode ser solucionada com a replicação de dados.  A redundância redundância de informações informações enviadas enviadas junto aos pacotes trafegados trafegados na rede distribuída é um caso de redundância para evitar falhas de software. Normalmente utiliza-

se bits de paridade ou checksums que servem para detectar erros simples nos dados transmitidos.  A redundância redundância aumenta a confiabilidade da rede, porém existem redes em que o custo para a utilização da redundância não vale a sua implementação, como por exemplo servidores que armazenam controle de tráfego aéreo, pois estes atualizam seus dados com grande frequência.

15. Considere um servidor simples que executa pedidos do cliente sem acessar outros servidores. Explique por que geralmente não é possível estabelecer um limite para o tempo gasto por tal servidor para responder ao pedido de um cliente. O que precisaria ser feito para tornar o servidor capaz de executar pedidos dentro de um tempo limitado? Essa é uma opção prática. É dificil estabelecer um tempo limite para a resposta do servidor ao cliente porque os sistemas distribuídos (internet, por exemplo) possuem uma latência de resposta muito diferente a depender de qual servidor está sendo solicitado o serviço. O que acontece é que as rotas utilizadas podem estar congestionadas, ou passando por vários roteadores, o que aumenta o tempo para a mensagem chegar ao destino e ser respondido. Além do mais, servidores que recebem muitas requisições demorarão mais tempo para processálas e enviar uma resposta ao usuário. Para solucionar o problema pode ser utilizado sistemas distribuidos síncronos, onde existe uma faixa de tempo para que o servidor responda a uma mensagem ou solicitação do usuário, além de que cada processo possui um relógio local onde a sua taxa de desvio de tempo é conhecida.  Além dos sistemas síncronos, síncronos, pode ser utilizado sistemas assíncronos, onde é preciso fazer um tratamento para amenizar a questão de atrasos e demoras nas respostas dos servidores na rede. O tempo esperado para a resposta do servidor é superior ao tempo utilizado pelo sistema síncrono. 16. Considere dois serviços de comunicação para uso em sistemas distribuídos assíncronos. No serviço A, as mensagens podem ser perdidas, duplicadas ou retardadas e somas de verificação se aplicam apenas aos cabeçalhos. No serviço B, as mensagens podem ser perdidas, retardadas ou entregues rápido demais para o destinatário manipulá-las, mas sempre chegam com o conteúdo correto. Descreva as classes de falhas exibidas para cada serviço. Classifique suas falhas de acordo com seu efeito sobre as propriedades de validade e integridade. O serviço B pode ser descrito como um serviço de comunicação confiável? Serviço A Este serviço fere o principio da integridade devido as mensagens poderem chegar duplicadas além de ferir também a validade devido a não garantia de entrega das mensagens. Serviço B Este serviço fere o principio da integridade devido as mensagens poderem chegar duplicadas, sendo assim o serviço B não é confiável. ●



17. Imagine um cenário no qual mensagens multicast enviadas por diferentes clientes são entregues em ordens diferentes em dois membros do grupo. Suponha que esteja em uso alguma forma de retransmissões de mensagem, mas que as mensagens que não são descartadas cheguem na ordem do remetente. Sugira o modo como os destinos poderiam remediar essa situação. Uma solução possível à situação seria cada destinatário entrega mensagens para a sua aplicação, na ordem de envio. Quando o destinatário recebe uma mensagem fora de ordem, ele a guarda até que tenha recebido a mensagem anterior que está sendo retransmitida. 18. Como processos e threads se relacionam? Quais são os benefícios de processos multithread? Um processo pode possuir várias threads, sendo que caso uma thread tenha que esperar  o recebimento de informação de uma entrada o processo não irá parar, já no caso inverso tanto a thread como o processo estarão bloqueados. Beneficios do processo MultiThread: Torna possivel o paralelismo em um sistema multiprocessador. Os processos MonoThreads fazem uma chamada bloqueadora do sistema, bloqueando o processo como um todo, o que não ocorre no multiThread. Pode agir como um conjunto de programas cooperativos, cada qual executado por  um processo separado. ● ●



19. Teria sentido limitar a quantidade de threads em um processo servidor? Sim. Threads requerem memória para sua própria pilha, assim havendo muitas Threads pode fazer o servidor não trabalhar corretamente. Outro ponto é que para o sistema operacional, threads independentes tendem a operar de forma caótica, dificultando o funcionamento estável do SO causando erros de E/S, erro de paginação, podendo levar a degradação do desempenho do sistema. 20. Descreva como ocorre a comunicação sem conexão entre um cliente e um servidor usando a interface sockets.  A comunicação entre processos processos se resume em transmitir transmitir uma mensagem entre entre o soquete de um processo e o soquete de outro processo. Para um processo receber uma mensagem, seu soquete deve estar vinculado a uma porta local e a um dos endereços IP do computador em que é executado, sendo assim, as mensagens enviadas para um endereço de IP e um número em particular só podem ser recebidas por um processo cujo soquete esteja associado a esse endereço e porta.  A comunicação comunicação sem conexão conexão é implementada implementada através do protocolo UDP( User Datagram  Protocol ) com a inserção de Datagramas em DatagramSockets  que por sua vez podem receber mensagens de forma bloqueante, ou seja, enquanto o processo não receber uma mensagem, o programa fica travado, porém o envio de mensagens não é bloqueante, não interferindo no andamento do processo.

21. Como se dá a comunicação entre processos em sistemas de comunicação síncrona e assíncrona? Síncronos: Cada mensagem transmitida em um canal é recebida dentro de um tempo limite conhecido, levando em consideração o desvio do relógio, atraso de mensagens e o tempo de execução de um processo. Assincrono: As mensagens enviadas são esperadas sem que estejam numa determinada faixa de tempo (às vezes é necessário estabelecer um prazo final). ●



22. Explique o modelo de falhas de comunicação do protocolo UDP e TCP. Compare-os. Uma comunicação é definida confiável em termos de duas propriedades: integridade e validade. Protocolo UDP Falhas por omissão: Pode ser que mensagens se percam devido a erros de soma de verificação ou inexistência de espaço disponível no buffer. A propriedade de integridade pode ser verificada através de uma soma de verificação no qual reduz para uma chance insignificante de que qualquer mensagen recebida esteja corrompida. Ordenamento: Ocasionalmente as mensagens podem ser entregues em uma ordem diferente da que foram emitidas. Os aplicativos que utilizam UDP podem efetuar seus próprios controles para atingir a qualidade de comunicação desejável. Protocolo TCP  A integridade integridade é satisfeita pois os fluxos TCP usam somas de verificação verificação para detectar e rejeitar pacotes corrompidos, assim como números de sequência para detectar e rejeitar pacotes duplicados. A validade é satisfeita pois os fluxos TCP usam timeout  e retransmissões para tratar com pacotes perdidos, porém há garantia de entrega de mensagens, mesmo quando alguns dos pacotes das camadas inferiores são perdidos. Se a perda de pacotes em uma conexão ultrapassar um limite, ou se a rede que está conectando dois processos for rompida ou se tornar seriamente congestionada, o TCP responsável pelo envio de mensagens não receberá nenhum tipo de confirmação e, após certo tempo, declarará que a conexão está desfeita. ●



23. A segurança em sistemas distribuídos podem ser divididos em duas partes. Identifique-as. Quais ameaças e ataques estão sujeitos os sistemas distribuídos?  As falhas podem ser falhas de rede e falhas de processo. processo. Estas podem ser  classificadas em falhas por omissão, falhas arbitrárias e falhas de temporização.  As falhas por omissão em processo são os casos onde um processo ou canal de comunicação deixa de executar as ações que deveria. Nas falhas de rede, o canal de comunicação realiza uma falha de omissão quando não entrega mensagem ao destino.  As falhas arbitrárias são as piores, pois são falhas que não se sabem onde ou quando vão acontecer.Nesse tipo de falha qualquer erro pode acontecer, o sistema pode

parar de processar ou de responder, ou fazer processamentos indesejados. No que diz respeito a falha na rede, as mensagens enviadas podem ser alteradas durante o trajeto na rede, através do sistema de comunicação, ou podem ser entregues mais de uma vez no destino ou mensagens inexistentes podem ser geradas.  As falhas de temporização temporização são aplicadas apenas aos sistemas síncronos, síncronos, que possuem restrição de tempo. No quesito falha de processo, pode acontecer falha de relógio, onde o relógio local do processo ultrapassa o limite de sua taxa de desvio em relação ao tempo físico, ou de desempenho quando o processo ultrapassa o tempo limite de processamento sem enviar uma resposta ao cliente. Em relação à rede, a transmissão de uma mensagem pode demorar mais que o tempo limite determinado.

24. Como podemos estabelecer transações eletrônicas seguras em sistemas distribuídos? Utilizando criptografia de dados, autenticação de usuário através de número de celular ou senhas seguras. Pode ser utilizado certificações dos web sites utilizados para as transações eletrônicas, confidencialidade das informações passadas pelo sistema. 25. É possível projetar sistemas distribuídos seguros? O que devemos levar em consideração durante o projeto? É possivel projetar sistemas distribuídos seguros. Devemos eliminar todas as brechas de segurança do sistema, sempre supondo o pior caso. De fato, é impossivel tratar todos os erros de segurança do sistema, mas pode-se provê um mínimo satisfatório de segurança para o usuário do sistema.  Após a implementação implementação do sistema deve-se fazer uma validação formal dos requisitos e dos protocolos de segurança. Para demonstrar validade dos mecanismos utilizados os projetistas devem construir uma lista de ameaças.  A gravação de logs do sistema também pode ser utilizado para prover segurança no projeto de sistemas distribuídos. 26. Qual o papel da criptografia em sistemas distribuídos? O papel da criptografia é codificar as mensagens que trafegam na rede a fim de que, caso estas sejam interceptadas, o seu conteúdo não tenha informação relevante alguma para o interceptador. 27. As trocas iniciais de chave pública são vulneráveis ao ataque do homem no meio. Descreva as defesas que podem ser aplicadas contra este ataque. Utilização de uma conexão segura no momento da troca de chaves pelos atores que conversarão na rede. Utilização de uma entidade segura que possa distribuir a chave para os atores que conversarão na rede (Key Distribution Centers). ●



28. Tem sentindo restringir a vida útil de uma chave de sessão? Caso a resposta seja positiva, dê um exemplo de como isso poderia ser estabelecido.

Sim. A chave de sessão deve ser trocada a cada nova conversação, a fim de dificultar o descobrimento da chave por atores maliciosos na rede. A troca de chaves garante que se uma mensagem for interceptada e o interceptador tentar utilizar essa mesma chave para estabelecer uma comunição, a mesma irá falhar por que a chave estará vencida.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF