• Nenhum resultado encontrado

6.3 Vis˜ ao de Requisitos e Vis˜ ao de An´ alise

6.3.2 Vis˜ ao de An´ alise

Esta se¸c˜ao mostra como os elementos de modelagem das estruturas conceituais inter- agem para realizar as fun¸c˜oes representadas pelos casos de uso. Foram apresentados os seguintes casos de uso: Configurar perfil, Selecionar algoritmo de criptografia, Gerenciar autentica¸c˜ao e Distribuir t´ıquete. O modelo conceitual apresentado nessa vis˜ao de an´alise ´e composto de diagrama de atividades, de sequˆencia e de classes, como mostram as figuras:

Figura 6.3,Figura 6.4, Figura 6.5, Figura 6.6 e Figura 6.7.

Figura 6.4: Diagrama de Atividades (DA) do caso de uso Configurar perfil.

O diagrama de atividades ´e usado para representar o comportamento do caso de uso. A Figura 6.4 mostra o fluxo principal do caso de uso Configurar perfil, onde foram representados os pap´eis dos usu´arios (propriet´ario do dispositivo e sistema). Do lado propriet´ario do dispositivo os pap´eis s˜ao: Selecionar o agente, definir chave, permitir acesso ao espa¸co compartilhado, definir comportamentos. Do lado sistema, os pap´eis s˜ao: exibir tela, carregar a¸c˜oes e gravar no reposit´orio de perfis. O Configurar perfil proporciona o servi¸co de controle de acesso e a garantia da privacidade do usu´ario.

6.3 Vis˜ao de Requisitos e Vis˜ao de An´alisedo SecMobileAgent 102

Figura 6.5: Diagrama de Atividades (DA) do caso de uso Selecionar Algoritmo.

O caso de uso Selecionar Algoritmo de Criptografia proporciona o servi¸co de confi- dencialidade: o usu´ario pode selecionar junto com o motor de criptografia (implementado pelas classes Blowfish e CriptoDes) um algoritmo para criptografar a migra¸c˜ao l´ogica de um objeto do seu dispositivo para um dispositivo remoto, ou criptografar a comunica¸c˜ao entre dispositivos. Foram implementados dois algoritmos de criptografia com chave var- iando de 32 a 448 bits (Blowfish e DES), considerados bom para ambientes m´oveis. A Figura 6.4 ilustra o fluxo do caso de uso Selecionar Algoritmo de Criptografia. Os pa- p´eis do sistema s˜ao: Exibir tela, Habilitar campos e Carregar na mem´oria. Os pap´eis do usu´ario s˜ao: Selecionar modo de prote¸c˜ao, selecionar algoritmo e fornecer a chave de criptografia.

Os casos de uso Gerenciar autentica¸c˜ao e Distribuir t´ıquete s˜ao ilustrados na Figura 6.6. Os diferentes pap´eis s˜ao: Exibir tela, solicitar conex˜ao, salvar no buffer uma c´opia da solicita¸c˜ao, autenticar ID, gerar t´ıquete, salvar uma copia do t´ıquete, criptografar tiquete e entregar t´ıquete criptografado ao usu´ario. Caso, o ID do usu´ario n˜ao for autenticado, uma mensagem de erro ´e emitida. O t´ıquete gerado ´e formado do ID, uma chave e um prazo de validade. O Gerenciar autentica¸c˜ao garante a autenticidade da comunica¸c˜ao, assegurando que as partes emissoras e receptoras s˜ao autˆenticas e que um intruso n˜ao est´a se passando por uma das partes leg´ıtimas. O Distribuir t´ıquete permite uma gest˜ao de identidades virtuais, ocultando a identidade do usu´ario. Quando o usu´ario acessa v´arios servi¸cos sob a mesma identidade, ´e poss´ıvel estabelecer uma rela¸c˜ao com seus acessos, expondo assim a sua privacidade. Nesse caso, ´e recomend´avel ter m´ultiplas identidades virtuais para acessar os servi¸cos. Na nossa abordagem, os tiques ocultam a identidade do usu´ario. Um usu´ario pode ter mais de um t´ıquete, ou seja, m´ultiplas identidades, o que permite ao usu´ario deixar o m´ınimo poss´ıvel de rastro.A Figura 6.7 apresenta o diagrama de atividade do caso de Gest˜ao de identidades.

6.3 Vis˜ao de Requisitos e Vis˜ao de An´alisedo SecMobileAgent 104

Figura 6.6: Diagrama de Atividades (DA) dos casos de uso Gerenciar autentica¸c˜ao e Distribuir t´ıquete.

Figura 6.7: Diagrama de Atividades (DA) dos casos de uso Gerenciar Identidades.

Nesta vis˜ao de an´alise, foram apresentados os diagramas de atividades e de sequˆencia dos principais casos de uso. A an´alise completa pode ser encontrada na documenta¸c˜ao a

6.3 Vis˜ao de Requisitos e Vis˜ao de An´alisedo SecMobileAgent 106

ser anexada.

Figura 6.8: Diagrama de Seq¨uˆencia (DS) do caso de uso Configur perfil.

A Figura 6.7 mostra com clareza a sequˆencia (ordem temporal) das mensagens tro- cadas entre os objetos do Configurar perfil, um caso de uso importante que permite ao usu´ario configurar e controlar o acesso ao seu dispositivo m´ovel. A figura pode ser lida da seguinte forma:

1 O usu´ario envia uma mensagem para uma instˆancia da classe SecMobileAgent.

1.1 O objeto SecMobileAgent envia a mensagem getPerfil para uma instˆancia da classe LocalAgent.

1.1.1 O objeto LocalAgent envia a mensagem getAcoes para um objeto da PerfilTable. Os objetos destinat´arios retornam, respectivamente, os resultados das mensagens a seus respectivos remetentes.

O usu´ario fornece a chave de identifica¸c˜ao, permite ou n˜ao o acesso ao espa¸co de tuple do seu dispositivo (HTS) e define o comportamento desejado do agente.

2 O usu´ario envia uma mensagem para uma instˆancia do SecMobileAgent.

2.1 O objeto SecMobileAgent envia a mensagem getPerfil para uma instˆancia da classe LocalAgent.

2.1.1 O objeto LocalAgent envia a mensagem addProfile para uma instˆancia da Per- filTable. Os objetos destinat´arios retornam, respectivamente, os resultados das mensagens a seus respectivos remetentes, finalizando a configura¸c˜ao do perfil.

O Diagrama de Classes (DC) da Figura 6.8 ´e composto da classe MobileAgentSec que fornece uma interface gr´afica (UI) e de duas classes PerfilTable e LocalAgentSec que re- spectivamente criam e configuram o perfil do agente m´ovel. O DC Criptografia apresenta duas classes Blowfish e CriptoDes que definem os algoritmos de criptografia com chave de criptografia sim´etrica de 32 a 448 bits a serem utilizados conforme a necessidade do usu´ario. Essas classes modelam e implementam um conjunto de objetos de seguran¸ca que apresentam caracter´ısticas em comum, representadas por um conjunto de estados e com- portamentos. Os estados s˜ao os atributos ou vari´aveis de seguran¸ca, e os comportamentos s˜ao os m´etodos ou fun¸c˜oes de seguran¸ca. Por exemplos, na classe CryptoDes temos os atributos: texto e chave com tipo de valor Object, temos tamb´em os m´etodos getChave() e setChave(); eles permitem configurar a chave de criptografia. Os m´etodos encrypt() e decrypt() permitem, respectivamente, criptografar e decriptografar uma mensagem do tipo String. Os diagramas de classes apresentadas nessa vis˜ao de an´alise mostram algumas das fun¸c˜oes implementadas nesse framework de gerˆencia de seguran¸ca.

Os diagramas de classes da Figura 6.8 e Figura 6.9 mostram com detalhe, as fun¸c˜oes usadas para implementar a funcionalidade dos casos de uso: Configurar Perfil e Selecionar Algoritmo de Criptografia. Esses m´etodos, definem o comportamento dos agentes de segu- ran¸ca do LocalSecAgent. Nesta se¸c˜ao foram especificados o escopo, definindo a miss˜ao, os limites e benef´ıcios esperados do modelo de seguran¸ca proposto. Foram tamb´em descritos os elementos de modelagem, as estruturas conceituais, mostrando como esses elementos interagem para realizar as fun¸c˜oes do modelo, obedecendo assim os requisitos estipulados

6.3 Vis˜ao de Requisitos e Vis˜ao de An´alisedo SecMobileAgent 108

Figura 6.9: Diagrama de classe do LocalMobileAgent.