• Nenhum resultado encontrado

Algoritmo 2 Verificação dos agrupamentos de um ADC.

4.3.5 Construção dos Security Service Providers (SISPs)

Alguns processos fornecidos pelo framework são computacionalmente custosos, e nem todos os dispositivos inteligentes presentes no SEP seriam capazes de realizá-los. Ainda, no ambiente das REI demanda-se soluções escaláveis, em função do constante crescimento e incorporação de novos dispositivos inteligentes bem como aplicações. A forma natural de tornar um processo escalável é descentralizá-lo, distribuindo seu pro- cessamento entre os elementos envolvidos. Assim, o SCP possui um componente res- ponsável por realizar a escolha dinâmica do papel que cada dispositivo irá desempenhar, determinando se ele irá atuar apenas como um cliente da infraestrutura de segurança ou, se irá participar ativamente no provimento dos serviços de segurança. A determinação de como cada dispositivo irá operar é definida através de um acordo mútuo entre estes. Para isso, métricas relativas às capacidades computacionais como processador, memória, largura de banda e taxa de utilização destes recursos são levadas em consideração.

O tipo de processamento a ser realizado pelos nós que atuam como SISP é dire- tamente relacionado as operações criptográficas, motivo pelo qual essas operações são testadas a fim de gerar uma métrica responsável por identificar as capacidades dos dis- positivos inteligentes. As operações utilizando algoritmos criptográficos com propriedades homomórficas são essenciais para agregação de dados, bem como algoritmos para gera- ção de hash, extensivamente utilizados para geração de filtros e comparação de valores destes. Os valores produzidos são compostos por elementos de 2 dígitos, variando de 01 a 99, para cada um dos elementos testados, sendo compostos da seguinte forma:

M ´etrica = CC ∗ 1000000 + M M ∗ 10000 + RR ∗ 100 + DD (4.1) Sendo, respectivamente os dois dígitos referentes a capacidade de CPU, memória, rede e disco. Todos os elementos são representados por um único número inteiro de 32 bits. Se necessário reconhecer quais os valores de cada um dos elementos, através da notação posicional os valores originais são facilmente extraídos.

Por questões de segurança, fazendo a proteção contra adulteração intencional das métricas em dispositivos autênticos, estas são definidas em tempo de cadastro do dispo- sitivo. Desta forma, as métricas são geradas junto com o par de chaves utilizado para todas as autenticações primárias do dispositivo. Assim, qualquer valor que apresente dis- crepâncias com o esperado poderá ser conferido pelo operador responsável por efetivar o cadastro do dispositivo, realizando o processo de geração do certificado digital a ele asso- ciado. Uma vez estabelecida a métrica, estas devem ser comparadas, entre os dispositivos pertencentes a um ADC. Os n dispositivos mais capazes, que atinjam a pontuação mínima estabelecida no ADP serão selecionados a integrar o conjunto de SISPs. O valor de n, da mesma forma, é determinado na especificação do ADP. A representação destas informa- ções no ADP estão sob o elemento SISP da especificação mostrada no quadro 4.1. A troca

de informações ocorre somente entre os candidatos viáveis, reduzindo assim a quantidade de mensagens trafegadas bem como o processamento necessário para realizá-la.

Desta forma, é realizado um processo de eleição entre os candidatos viáveis a tornar-se SISP. O algoritmo de eleição é executado utilizando-se a rede de sobreposição, tornando o processo redundante e escalável. O fluxograma base utilizado no processo de eleição é apresentado na figura 4.6. Neste trabalho o termo coordenadores e SISP são utilizados de forma intercambiável.

Figura 4.6 – Fluxograma algoritmo eleição.

Inicio

Envia MSG timeout Termina

Sim

Não

Enviar mensagem de Bloqueio de Eleição (sincronização) Obtêm lista coordenadores

Pode Iniciar A Eleição?

Gera Hash de eleição

Envia Mensagem Solicitando Métricas inicia monitoramento da

Hash de eleição

Espera Timeout

Ordena Lista de Métricas Recebidas Submete Lista ao Módulo

Supervisor

Fonte: Autor.

Todas as mensagens utilizadas pelo algoritmo de eleição têm sua autenticidade e integridade protegidas pelo uso de tags, utilizado hashes criptográficos, como HMAC, ou assinatura baseado em chave pública. No caso da eleição, somente dispositivos com maior capacidade computacional participam desta, assim pode-se optar pelo algoritmo utilizando-se assinatura digital mediante chave pública. Desta forma, há a propriedade de irretratabilidade.

sendo n o número de nós participantes da eleição, que no caso estão sob o mesmo ADC. As mensagens com métricas de dispositivo são verificadas com parâmetros históricos e de padrão, através do módulo de detecção de anomalias, no Módulo Supervisor (MS). Res- postas fora de padrões considerados válidos geradas intencionalmente ou em virtude de erros inserem o dispositivo em uma lista de monitoramento. A repetição de padrões inco- muns ou grandes discrepâncias ocorridas ainda que somente uma vez levam o dispositivo ao bloqueio.

Ataques de personificação não poderão tirar vantagem deste sistema em função da autenticação e assinatura digital utilizada nas mensagens.

Ataques de replicação também são evitados através da utilização de um número de uso único (nonce) utilizado junto das mensagens. A cada eleição um nonce diferente é utilizado. Mensagens com nonce diferente daquele utilizado na rodada são ignoradas e o comportamento notificado ao módulo de monitoramento.

Com o sistema de assinaturas e verificação de certificados elimina-se a possibili- dade de dispositivos externos interferirem no processo, no entanto ainda há o problema de interferência por dispositivos internos, autênticos, com credenciais válidas, que utilizam-se de informações falsas para, por exemplo, tornar-se SISP e possuir acessos além daqueles que deveriam, como por exemplo, obter a chave privada utilizada pelo sistema de garantia de anonimato. Para suprimir essa possibilidade, o processo de eleição de SISPs deve ser homologado por uma terceira parte confiável, o módulo supervisor (MS), que irá analisar o resultado gerado, comparando-o com fatores históricos, inclusive com as métricas utili- zadas no momento do cadastro de um dispositivo. Caso os parâmetros estejam de acordo após análise estocástica das métricas do dispositivo, este irá certificá-las, assinando o re- sultado com sua chave privada, além de acrescentar uma estampa de tempo. Com isso, a informação poderá ser publicada na forma de uma infohash, onde cada nó cliente poderá autenticar a informação utilizando-se da chave pública do MS e da verificação de tempo- ralidade da informação. Assume-se que todos os nós tenham um sincronia de tempo de baixa resolução para verificação se está sendo divulgada uma informação mais antiga que a última utilizada. Se uma informação mais antiga que a atual está sendo utilizada, pode indicar um ataque de replicação de mensagens.

A informação desta terceira parte confiável, no caso o MS, é publicada em uma rede de sobreposição, sob uma infohash, e assinada digitalmente pela CA. Essa é uma informação estática, somente haverá mudança se por alguma razão a terceira parte con- fiável for comprometida. O MS deverá ter alta disponibilidade, uma vez que deverá assinar o resultado sempre que uma nova eleição for disparada, já a CA não necessita alta dis- ponibilidade, de fato, nem necessita estar online. Na figura 4.7 é apresentada a interação entre as entidades responsáveis por garantir a autenticidade do resultado de uma eleição.

Figura 4.7 – Esquema de garantia de autenticidade de eleição do SISP e sua divulgação.

Fonte: Autor.