• Nenhum resultado encontrado

2.5 AGENTES DE SOFTWARE E CONFIANÇA

2.5.2 Confiança em agentes de software

A confiança aplicada a agentes de software pode resolver problemas de iterações dos usuários e a formação de comunidades virtuais com “afinidades” em comum, sendo estas atividades realizadas por sistemas de agentes em nome do usuário final ([3], [9]). Isto de uma forma ou de outra cria uma “sociedade” com afinidade similar, o que facilita a busca de informações e a interação na rede. O agente pode até mesmo agir em nome do usuário, seguindo ordens previamente estabelecidas, forçando em determinados casos a uma tomada de decisão por parte do componente de software, e se necessário extrapolar a sociedade formada ou se manter dentro dela.

Para se alcançar este nível de capacidade de decisão, os requisitos funcionais de um agente devem ser bem elaborados e possuir os “modelos mentais” que façam com que o agente, por si só, aprenda em seu ambiente. Considerando este aspecto de capacidade de aprendizagem, é possível inferir que existe um problema de segurança e de confiança ([3], [7]), porque em tais ambientes não é possível que o agente saiba que a informação recebida seja verdadeira, se não possuir mecanismos de como verificá-la. Isto implica que através de algum instrumento, o agente tenha a garantia de que a informação recebida não foi manipulada por uma entidade maliciosa. Ou até mesmo por uma entidade que estaria se passando por outra, com o intuito de prejudicar a comunicação ou a troca de informações no ambiente em si. Desta forma, um agente deve ser capaz de fazer interpretações para evitar que dados infundados sejam utilizados.

Partindo desse pressuposto, é necessária a definição de métricas capazes de assegurar uma comunicação com requisitos de segurança e de confirmação da informação em tais ambientes. E ainda de manter um registro histórico dos fatos ocorridos para auxiliar nas definições de confiança e de reputação em sistemas de agentes distribuídos, sem mencionar o sigilo da comunicação, que é útil em determinados casos.

Agentes de software são capazes de realizar tarefas dotadas de certa complexidade em redes de computadores [51]. Tais sistemas utilizam camadas de comunicação seguindo uma linguagem definida, uma base de conhecimento e uma rotina de execução de tarefas. É importante ressaltar que a automação de tarefas com uso de agentes de software envolve uma série de detalhamentos sobre o que é a “inteligência” do agente e o seu “limite” de conhecimento. Tais problemas são comumente assinalados e estudados na literatura voltados para requisitos de inteligência artificial ([46], [47], [48]), seguidos de modelos de comunicação ([49], [50]). Isto permite que agentes de software possam desempenhar um papel importante em sistemas distribuídos. Entretanto, é importante considerar que nestes ambientes, o modelo deve ser escalável, capaz de atender demandas heterogêneas com uma variedade de serviços, middleware, sistemas operacionais, entre outros, e sem um controle central.

Com o foco em segurança da informação através do uso de sistemas multi-agentes, Poggi et al. [17], apresentou um modelo embasado em certificação digital com o intuito de gerenciar as regras em relações de confiança em agentes de software. O modelo prevê o seu uso dentro de uma sociedade de agentes colaborativos, sob uma determinada infra-estrutura, e cita que a importância de um modelo de segurança que envolva agentes de software deve ser robusto e flexível, com a finalidade de auxiliar no desenvolvimento da confiança e das iterações entre os agentes.

Considerando aspectos de confiança, existe a necessidade de que os agentes de software sejam capazes de criar e analisar iterações entre si com o intuito de realizar um determinado serviço ou atender uma determinada solicitação do usuário, até mesmo porque isto auxilia nas definições de valores e métricas de confiança e reputação ([3], [17]).

No trabalho proposto por Zhang e Xu [52], foi desenvolvido o conceito de RADE (Role-based agent development framework) a fim de permitir o maior reuso de sistemas multi- agentes e aumentar a robustez destes sistemas. Além disso, de desenvolver de forma geral mecanismos de planejamento/agendamento e de colaboração/cooperação entre agentes. Tal modelo é novo e ainda não está incorporado em frameworks de agentes, necessitando um melhor estudo e detalhamento do tema. Até o momento da conclusão desta pesquisa, tal modelo não estava explicitamente disponível para ser testado.

Segundo Poggi et al. [53], aplicações baseadas em agentes requerem delegação de tarefas para alcançar determinados objetivos e requerem cooperação com entidades, muitas vezes necessitando de direitos de acesso, o que aponta para uma infra-estrutura de segurança distribuída. Em seu trabalho realizaram uma análise de princípios de gerencia de confiança e

de certificação digital através de agentes com a plataforma JADE [54], e como poderiam ser aplicados em sistemas multi-agente.

Vale ressaltar neste ponto que em ambientes em que a confiança é necessária ou está inserida, conforme já sinalizado anteriormente por ([3], [12], [13], [49]), a certificação digital trará auxílio na confidencialidade e na integridade da informação. Entretanto as questões que envolvem a identificação única em uma rede distribuída não podem ser mapeadas através de certificação digital, porque qualquer um pode gerar um par de chaves e assumir uma identidade, favorecendo claramente técnicas como o ataque sybil [12]. Além disso, conforme já citado, a certificação digital distribuída e cruzada não permite determinadas situações sob aspectos de escalabilidade e gerência ([13], [19]).

Para Ramchurn et al. [55], agentes autônomos que fazem parte de ambientes abertos podem quebrar contratos, indicando que a confiança tem um papel importante nestes modelos computacionais para a determinação de com quem interagir e como as iterações se conduziram. Seguindo esta linha de raciocínio, foi desenvolvido um modelo de confidência e reputação, usando conjuntos fuzzy, guiando agentes através de avaliações de iterações passadas e estabelecendo novos contratos de cooperação.

Questões que envolvem agentes de software e confiança também são áreas de estudo e de pesquisa de diversos autores em diversas áreas abrangendo os temas da confiança e da reputação, conforme a revisão de alguns trabalhos neste tópico. No capítulo 3 serão apontados e revisados modelos de confiança e reputação usados em sistemas distribuídos com o uso de agentes de software.

Documentos relacionados