Você está na página 1de 12

Universidade Estadual de Feira de Santana

Departamento de Tecnologia
Disciplina: Sistemas Distribudos Avanados
Profa. Elisngela Oliveira Carneiro
Semestre 2012.2

Exerccios

1. Cite tipos de recurso de hardware e recursos de dados ou softwares que possam
ser compartilhados com sucesso. D exemplos prticos de seu compartilhamento
em sistemas distribudos.

Recursos de software: Arquivos, banco de dados
Recursos de hardware: Disco, impressoras, memria
Exemplo: Compartilhamento de arquivos no google docs atravs da internet ou o
compartilhamento de uma impressora entre vrios computadores de um escritrio.

2. Como os relgios de dois computadores ligados por uma rede local podem ser
sincronizados sem referncia a uma fonte de hora externa?
Dois relgios ligados por uma rede local podem ser sincronizados sem uma fonte
de hora externa, pois , sendo sncrono, possvel saber os limites da taxa de derivao
dos relgios, o atraso mximo de transmisso de mensagens e o tempo que leva para
executar cada etapa de um processo e a tcnica que torna isso real chama-se relgios
lgicos.
Um processo envia o tempo t de seu relgio 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 necessrio para levar a mensagem m de um para o outro, ocorrendo sincronia
perfeita entre eles.
Entretanto Tmin pode sofrer uma variao desconhecida devido s variveis que
podem influenciar na queda do desempenho da rede(concorrencia pelo canal de
comunicao, por exemplo), mesmo assim, Tmin pode ser estimado considerando o canal
sempre acessvel, ou seja, livre de congestionamentos.
Alm do Tmin, tambm existe um limite mximo de tempo para a transmisso da
mensagem. Sendo a incerteza igual a Tmax - Tmin, o receptor pode configurar o seu
relgio no ponto mdio da incerteza, ou seja, somar o tempo t que demorou com o Tmax
e o Tmin, sendo o desvio de no mximo a incerteza dividida por dois.

Quais fatores limitam a preciso do procedimento que voc descreveu?
O principal fator a taxa de desvio do relgio ou tambm chamado de drift dos
computadores conectados na rede que so desvios dos relgios dos computadores que
so calculados a partir de um modelo de relgio perfeito


Como os relgios de um grande nmero de computadores conectados pela Internet
poderiam ser sincronizados? Discuta a preciso deste procedimento.
Embora seja possvel alcanar consenso impossvel obter sincronizao atravs de
sistemas assncronos.


3. Faa as suas consideraes sobre questes como: heterogeneidade, openess,
transparncia de distribuio e escalabilidade em sistemas distribudos.

Heterogeneidade: Est muito relacionada com a migrao de cdigo ou cdigo mvel,
pois a heterogeneidade est atrelada execuo de programas em quaisquer
plataformas como a linguaguem java, pois os programas em java so feitos para rodarem
em mquinas virtuais java, e no para um conjunto de processadores e sistemas
operacionais especficos. Portanto a heteregoneidade a capacidade do sistema permite
o acesso a servios e executarem aplicativos de um conjunto de computadores e redes
diferentes.

Heterogeneidade: Usurios podem acessar servios e executarem aplicativos de um
conjunto de computadores e redes diferentes (heterognios).

Openness: Ou sistema aberto quando um sistema computacional pode ser estendido e
reimplementado de vrias maneiras. Um sistema aberto determinado principalmente
pela capacidade de atrelar novos servios e disponibiliz-los para mais clientes. Porm
para alcanar esse tipo de caracterstica, necessrio padronizao como feitos pelos
projetistas de protocolos Internet atravs de emisso de documentos chamados Request
For Comments (RFC).

Transparncia de distribuio: Ocultao, para o usurio final ou para um programador de
aplicativos, da separao dos componentes em um sistema distribudo de modo que o
sistema seja percebido como um todo, em vez de uma coleo de componentes
independentes. Existem vrios tipos de transparencias, so elas:
De acesso
De localizao
De concorrencia
De replicao
De falhas
De mobilidade
De desempenho
De escalabilidade

Escalabilidade: A escalabilidade identificada se um sistema permanece eficiente quando
h um aumento significativo no nmero de recursos e no nmero de usurios, sendo
assim, o sistema seria capaz de manter a qualidade de servio mesmo com um numero
maior de requisies, assim como, expandir facilmente a quantidade de servidores
aumentar a capacidade de processamento da quantidade de requisies.

4. Comente as transparncias desejveis em Sistemas Distribudos.
As duas transparncias que afetam mais fortemente a utilizao de recursos dos sistemas
distribudos, so a de acesso(exemplo, acesso remoto a arquivos) e a de
localizao(exemplo, URLs). Existe um termo muito utilizado que a transparncia de
rede indicando quando a de acesso e a de localizao esto presentes ao mesmo tempo
em um sistema.

5. QuaI o papeI do middIeware em um Sistema Distribudo?
Fornecer uma abstrao de programao, assim como o mascaramento da
heterogeneidade das redes, de sistemas operacionais e linguagens de programao
subjacentes como a biblioteca RMI do Java.

6. Pode-se conseguir escaIabiIidade peIa apIicao de diferentes tcnicas. Quais
so essas tcnicas?
So basicamente trs tcnicas:
Uso de dados replicados (Replicao)
amplamente usada e o segredo da eficcia dos sistemas distribudos,
pois ela pode fornecer um melhor desempenho, alta disponibilidade e tolerncia a
falhas devido ao armazenamento de dados em vrios servidores distintos como a
cache dos navegadores e dos servidores proxy, pois so mantidas cpias uns dos
outros.
Associada a uso de cache (Ocultar latncia de comunicao)
A ideia reduzir comunicao global, passando parte da computao do
servidor para o cliente que est requerendo o servio. O cdigo e o agente mvel
podem ser utilizados para implementar essa tcnica.
Distribuio
Essa tcnica visa particionar o conjunto de objetos nos quais o servio
baseado e os distribui ou ento mantm cpias duplicadas deles em vrios
hospedeiros. A arquitetura peer-to-peer exemplifica muito bem esses dois
aspectos da distribuio.




7. Os sistemas distribudos mais dinmicos surgem a partir de variaes do modelo
cliente-servidor. Cite exemplos dessas variaes e descreva sistemas onde o uso
destas variaes so 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 cdigo executado
em um servidor com grande capacidade de processamento de vrias tarefas
simultneas. A nossa biblioteca possui clientes leves para consulta de material
disponvel no acervo.
Servios fornecidos por vrios servidores
Os servios podem ser implementados como vrios processos servidores
em diferentes computadores hospedeiros, interagindo conforme for necessrio.
Um cluster uma forma bastante comum de implementao de sistemas web que
necessitam oferecer um grande grau de escalabilidade e que se encaixa nessa
variao.
Servidores Proxies e cache
Assim como a cache de um processador, a caches em sistemas
distribudos so utilizadas para guardar cpias de objetos em um local mais
prximo, 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 pginas recentemente visitadas.
Os servidores proxy fornecem uma cache compartilhada de recursos web para
mquinas clientes de um ou vrios sites, aumentando a disponibilidade e o
desempenho do servio, reduzindo a carga sobre a rede remota e sobre os
servidores web. A universidade possui servidores proxy que acessam servidores
web atravs de um firewall.
Cdigo mvel
So cdigos aplicativos que so baixados pela maquina cliente para
posterior execuo de forma local. Os Applets java so um exemplo bem claro de
cdigos aplicativos. Alguns jogos feitos em java atravs da applets so bastante
usados pois, ao executar um cdigo localmente, a resposta pode ser bem rpida,
pois no sofre os atrasos, nem a variao da largura de banda associada
comunicao na rede. Vale ressaltar que o cdigo mvel pode representar uma
ameaa de segurana para o usurio ento os navegadores limitam os recursos
locais que podem ser utilizados pelos applets.
Agentes mveis
Um agente mvel um programa em execuo(cdigo e dados) que passa
de um computador para outro em um ambiente de rede, realizando uma tarefa em
nome de algum, como uma coleta de informaes, e finalmente retornando com
os resultados obtidos a esse algum. Os web crawlers acessam recursos em
servidores web em toda a Internet e que funcionam com muito sucesso e so
muito utilizados por sites de busca como o Google. No caso do agente
mvel(assim como o cdigo mvel), podem ser uma amea em potencial
segurana e assim que um computador recebe um agente mvel, deve decidir,
com base na identidade do usurio, quais recursos locais ele pode usar.
Computadores de rede
Os computadores em rede so compostos de sistema operacional e
aplicativos necessrios para o usurios, sendo carregados a partir de um servidor
remoto. O aplicativos so executados localmente mas os arquivos so
gerenciados pelo servidor de arquivos remotos.
Dispositivos mveis e interoperabilidade espontnea
So associaes entre dispositivos que so rotineiramente criadas e
destrudas. Isso ocorre devido ao aumento da quantidade de dispositivos mveis
capazes de se comunicar atravs de rede sem fio e como esses dispositivos se
movimentam, tem-se um grande problema de transparncia de mobilidade
atrelada.

8. Em sistemas distribudos, existem trs modelos que so considerados
fundamentais. Quais so eles? Explique cada um deles.
1 Modelo de Interao: A computao feita de processos que interagem por
mensagens resultantes gerando uma comunicao e coordenao entre estes
processos. Ele deve refletir as falhas e atrasos que so gerados por elementos
como falta de noo de um tempo nico, assincronissidade da maioria das redes,
ordenao de eventos.
2 Modelo de Falha: Define e classifica tipos de falhas com base na anlise de seus
efeitos potenciais, assim possibilitando uma busca por um tratamento de seus
efeitos e falhas. As falhas podem ser por omisso, em Pepperlands, por omisso
em canais, arbitrrias ou bizantinas, de temporizao (ocorre apenas em sistemas
sincronos),
3 Modelo de Segurana: Tem por objetivo tornar seguro os processos e canais de
comunicao onde passam as transaes do sistema que possui os recursos e
objetos compartilhados de um usurio, que no quer que usurios no autorizados
tenham acesso. As origens das ameaas so: Do invasor, que capaz de ler,
copiar, alterar e excluir uma mensagem ou informao.
Algumas tcnicas permitem a implementao de sistemas distribuidos
seguros, elas so, criptografia e segredos compartilhados, autenticao e
utilizao de canais seguros. Entretanto ainda se procura meios para solucionar os
problemas de negao de servio e cdigo mvel.

9. Liste os trs principais componentes de software que podem falhar quando um
processo cliente invocar um mtodo 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 transferncia de dados entre o cliente-servidor.
2 Taxa de rendimento (Capacidade do sistema realizar o trabalho): Implantar
computadores que consigam dar conta das requisies e ter uma boa infra-
estrutura de rede.
3 Balancemento de carga (Aplicativos e processos de servio executem
concomitantemente): Deve-se evitar disputa do mesmo recurso e explorar as
capacidades computacionais disponiveis, pode-se tambm usar migrao de
tarefas parcialmente concluidas.

10. Um servio implementado por vrios servidores. Explique por que recursos
poderiam ser transferidos entre eles. Seria satisfatrio que os clientes fizessem
uma difuso seletiva (multicast) de todos os pedidos para o grupo de servidores
como uma maneira de se obter transparncia 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 nvel de abstrao mais alto e transparente ao usurio.
interessante o multicast dos usurios entre os varios servidores do sistema, caso
esses de fato possuam o mesmo servio (como por exemplo a redundncia de dados)
pois os servidores correm menos risco de ficarem sobrecarregados, alm da tolerncia
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 eletrnico, ...). Diga como os servidores
cooperam no fornecimento de um servio.

um modelo computacional que separa clientes e servidores, sendo interligados entre si
geralmente utilizando-se uma rede de computadores. Cada instncia de um cliente pode
enviar requisies de dado para algum dos servidores conectados e esperar pela
resposta.
um navegador da web um programa cliente em execuo no computador de um usurio
que pode acessar informaes armazenadas em um servidor web na Internet. Usurios
de servios bancrios acessando do seu computador usam um cliente navegador da Web
para enviar uma solicitao para um servidor web em um banco. Esse programa pode,
por sua vez encaminhar o pedido para o seu prprio programa de banco de dados do
cliente que envia uma solicitao para um servidor de banco de dados em outro
computador do banco para recuperar as informaes 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 usurio.
O modelo cliente-servidor, se tornou uma das ideias centrais de computao de rede.
Muitos aplicativos de negcios a serem escrito hoje utilizam o modelo cliente-servidor. Em
marketing, o termo tem sido utilizado para distinguir a computao distribuda por
pequenas dispersas computadores da "computao" monoltica centralizada de
computadores mainframe.
Cada instncia de software do cliente pode enviar requisies de dados a um ou mais
servidores ligados. Por sua vez, os servidores podem aceitar esses pedidos, process-los
e retornar as informaes solicitadas para o cliente. Embora este conceito possa ser
aplicado para uma variedade de razes para diversos tipos de aplicaes, a arquitetura
permanece fundamentalmente a mesma.

12. Frequentemente, os computadores usados nos sistemas peer-to-peer so
computadores utilizados nos escritrios ou nas casas dos usurios. Quais so as
implicaes disso na disponibilidade e segurana dos objetos de dados
compartilhados que eles contm e at que ponto qualquer vulnerabilidade pode ser
superada por meio da replicao?
Quanto disponibilidade, se nenhum usurio que possua certa parte do arquivo
estiver conectado na rede nenhum outro usurio que esteja fazendo download desse
arquivo conseguir completar todas as partes. A centralizao do servio em um nico
computador no favorece aumento da escala do sistema.
Quanto segurana, nas redes peer-to-peer esse quesito no predominante.
Existem problemas de dados corrompidos, latncia de transferencia, transferencia no
confivel, etc., alm do problema de negao de servio. Pode-se utilizar autenticao e
criptografia para amenizar os problemas de segurana.
A vulnerabilidade na disponibilidade pode ser solucionada utilizando a replicao
de dados por servidores, transformando esses em seeds e sendo utilizado por todos os
usurios da rede. O problema nesse caso se resume velocidade de transferncia
desses servidores para prover o servio aos clientes da rede.

13. D exemplos de aplicaes onde o uso de cdigo mvel 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/no
possam ser toleradas pelo uso de redundncia em um sistema distribudo. At que
ponto o uso de redundncia nos casos apropriados torna um sistema tolerante
falhas.
Uma falha de disco em um dos servidores pode ser solucionada utilizando a
redundncia de dados, onde o cliente poder se conectar a outro servidor que contenha o
mesmo dado que ele deseja ter acesso.
Uma falha fsica na rede (cabo quebrado por exemplo) pode ser solucionada com
a replicao de dados.
A redundncia de informaes enviadas junto aos pacotes trafegados na rede
distribuda um caso de redundncia para evitar falhas de software. Normalmente utiliza-
se bits de paridade ou checksums que servem para detectar erros simples nos dados
transmitidos.
A redundncia aumenta a confiabilidade da rede, porm existem redes em que o
custo para a utilizao da redundncia no vale a sua implementao, como por exemplo
servidores que armazenam controle de trfego areo, pois estes atualizam seus dados
com grande frequncia.

15. Considere um servidor simples que executa pedidos do cliente sem acessar
outros servidores. Explique por que geralmente no possvel 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 opo prtica.
dificil estabelecer um tempo limite para a resposta do servidor ao cliente porque
os sistemas distribudos (internet, por exemplo) possuem uma latncia de resposta muito
diferente a depender de qual servidor est sendo solicitado o servio. O que acontece
que as rotas utilizadas podem estar congestionadas, ou passando por vrios roteadores,
o que aumenta o tempo para a mensagem chegar ao destino e ser respondido. Alm do
mais, servidores que recebem muitas requisies demoraro mais tempo para process-
las e enviar uma resposta ao usurio.
Para solucionar o problema pode ser utilizado sistemas distribuidos sncronos,
onde existe uma faixa de tempo para que o servidor responda a uma mensagem ou
solicitao do usurio, alm de que cada processo possui um relgio local onde a sua
taxa de desvio de tempo conhecida.
Alm dos sistemas sncronos, pode ser utilizado sistemas assncronos, onde
preciso fazer um tratamento para amenizar a questo de atrasos e demoras nas
respostas dos servidores na rede. O tempo esperado para a resposta do servidor
superior ao tempo utilizado pelo sistema sncrono.

16. Considere dois servios de comunicao para uso em sistemas distribudos
assncronos. No servio A, as mensagens podem ser perdidas, duplicadas ou
retardadas e somas de verificao se aplicam apenas aos cabealhos. No servio B,
as mensagens podem ser perdidas, retardadas ou entregues rpido demais para o
destinatrio manipul-las, mas sempre chegam com o contedo correto. Descreva
as classes de falhas exibidas para cada servio. Classifique suas falhas de acordo
com seu efeito sobre as propriedades de validade e integridade. O servio B pode
ser descrito como um servio de comunicao confivel?
Servio A
Este servio fere o principio da integridade devido as mensagens poderem
chegar duplicadas alm de ferir tambm a validade devido a no garantia de
entrega das mensagens.
Servio B
Este servio fere o principio da integridade devido as mensagens poderem
chegar duplicadas, sendo assim o servio B no confivel.

17. Imagine um cenrio no qual mensagens multicast enviadas por diferentes
clientes so entregues em ordens diferentes em dois membros do grupo. Suponha
que esteja em uso alguma forma de retransmisses de mensagem, mas que as
mensagens que no so descartadas cheguem na ordem do remetente. Sugira o
modo como os destinos poderiam remediar essa situao.
Uma soluo possvel situao seria cada destinatrio entrega mensagens para a sua
aplicao, na ordem de envio. Quando o destinatrio recebe uma mensagem fora de
ordem, ele a guarda at que tenha recebido a mensagem anterior que est sendo re-
transmitida.

18. Como processos e threads se relacionam? Quais so os benefcios de
processos multithread?
Um processo pode possuir vrias threads, sendo que caso uma thread tenha que esperar
o recebimento de informao de uma entrada o processo no ir parar, j no caso inverso
tanto a thread como o processo estaro 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 no 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 memria para sua prpria pilha, assim havendo muitas Threads
pode fazer o servidor no trabalhar corretamente. Outro ponto que para o sistema
operacional, threads independentes tendem a operar de forma catica, dificultando o
funcionamento estvel do SO causando erros de E/S, erro de paginao, podendo levar a
degradao do desempenho do sistema.

20. Descreva como ocorre a comunicao sem conexo entre um cliente e um
servidor usando a interface sockets.
A comunicao entre processos se resume em transmitir uma mensagem 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 endereos IP
do computador em que executado, sendo assim, as mensagens enviadas para um
endereo de IP e um nmero em particular s podem ser recebidas por um processo cujo
soquete esteja associado a esse endereo e porta.
A comunicao sem conexo implementada atravs do protocolo UDP(User Datagram
Protocol) com a insero de Datagramas em DatagramSockets que por sua vez podem
receber mensagens de forma bloqueante, ou seja, enquanto o processo no receber uma
mensagem, o programa fica travado, porm o envio de mensagens no bloqueante, no
interferindo no andamento do processo.

21. Como se d a comunicao entre processos em sistemas de comunicao
sncrona e assncrona?
Sncronos: Cada mensagem transmitida em um canal recebida dentro de um
tempo limite conhecido, levando em considerao o desvio do relgio, atraso de
mensagens e o tempo de execuo de um processo.
Assincrono: As mensagens enviadas so esperadas sem que estejam numa
determinada faixa de tempo (s vezes necessrio estabelecer um prazo final).

22. Explique o modelo de falhas de comunicao do protocolo UDP e TCP.
Compare-os.
Uma comunicao definida confivel em termos de duas propriedades: integridade e
validade.
Protocolo UDP
Falhas por omisso: Pode ser que mensagens se percam devido a erros de
soma de verificao ou inexistncia de espao disponvel no buffer. A propriedade
de integridade pode ser verificada atravs de uma soma de verificao 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 prprios controles
para atingir a qualidade de comunicao desejvel.
Protocolo TCP
A integridade satisfeita pois os fluxos TCP usam somas de verificao
para detectar e rejeitar pacotes corrompidos, assim como nmeros de sequncia
para detectar e rejeitar pacotes duplicados. A validade satisfeita pois os fluxos
TCP usam timeout e retransmisses para tratar com pacotes perdidos, porm h
garantia de entrega de mensagens, mesmo quando alguns dos pacotes das
camadas inferiores so perdidos.
Se a perda de pacotes em uma conexo ultrapassar um limite, ou se a rede
que est conectando dois processos for rompida ou se tornar seriamente
congestionada, o TCP responsvel pelo envio de mensagens no receber
nenhum tipo de confirmao e, aps certo tempo, declarar que a conexo est
desfeita.

23. A segurana em sistemas distribudos podem ser divididos em duas partes.
Identifique-as. Quais ameaas e ataques esto sujeitos os sistemas distribudos?
As falhas podem ser falhas de rede e falhas de processo. Estas podem ser
classificadas em falhas por omisso, falhas arbitrrias e falhas de temporizao.
As falhas por omisso em processo so os casos onde um processo ou canal de
comunicao deixa de executar as aes que deveria. Nas falhas de rede, o canal de
comunicao realiza uma falha de omisso quando no entrega mensagem ao destino.
As falhas arbitrrias so as piores, pois so falhas que no se sabem onde ou
quando vo 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, atravs do sistema de comunicao, ou podem ser entregues mais de uma vez
no destino ou mensagens inexistentes podem ser geradas.
As falhas de temporizao so aplicadas apenas aos sistemas sncronos, que
possuem restrio de tempo. No quesito falha de processo, pode acontecer falha de
relgio, onde o relgio local do processo ultrapassa o limite de sua taxa de desvio em
relao ao tempo fsico, ou de desempenho quando o processo ultrapassa o tempo limite
de processamento sem enviar uma resposta ao cliente. Em relao rede, a transmisso
de uma mensagem pode demorar mais que o tempo limite determinado.

24. Como podemos estabelecer transaes eletrnicas seguras em sistemas
distribudos?
Utilizando criptografia de dados, autenticao de usurio atravs de nmero de
celular ou senhas seguras. Pode ser utilizado certificaes dos web sites utilizados para
as transaes eletrnicas, confidencialidade das informaes passadas pelo sistema.

25. possvel projetar sistemas distribudos seguros? O que devemos levar em
considerao durante o projeto?
possivel projetar sistemas distribudos seguros. Devemos eliminar todas as
brechas de segurana do sistema, sempre supondo o pior caso. De fato, impossivel
tratar todos os erros de segurana do sistema, mas pode-se prov um mnimo satisfatrio
de segurana para o usurio do sistema.
Aps a implementao do sistema deve-se fazer uma validao formal dos
requisitos e dos protocolos de segurana. Para demonstrar validade dos mecanismos
utilizados os projetistas devem construir uma lista de ameaas. A gravao de logs do
sistema tambm pode ser utilizado para prover segurana no projeto de sistemas
distribudos.

26. Qual o papel da criptografia em sistemas distribudos?
O papel da criptografia codificar as mensagens que trafegam na rede a fim de
que, caso estas sejam interceptadas, o seu contedo no tenha informao relevante
alguma para o interceptador.

27. As trocas iniciais de chave pblica so vulnerveis ao ataque do homem no
meio. Descreva as defesas que podem ser aplicadas contra este ataque.
Utilizao de uma conexo segura no momento da troca de chaves pelos atores
que conversaro na rede.
Utilizao de uma entidade segura que possa distribuir a chave para os atores que
conversaro na rede (Key Distribution Centers).

28. Tem sentindo restringir a vida til de uma chave de sesso? Caso a resposta
seja positiva, d um exemplo de como isso poderia ser estabelecido.
Sim. A chave de sesso deve ser trocada a cada nova conversao, 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 comunio, a mesma ir falhar por que a chave
estar vencida.